OS

[쉽게 배우는 운영체제] 2. 컴퓨터의 구조와 성능 향상

noahkim_ 2024. 1. 11. 23:39

조성호 님의 "쉽게 배우는 운영체제" 책을 정리한 포스팅 입니다.

 

1. 컴퓨터의 기본 구성

하드웨어 구성

구성 요소 설명
CPU (중앙 처리 장치)
- 명령어를 해석하여 실행하는 장치
- 외부에서 정보를 입력받고, 기억하고, 연산하고, 출력
Memory (주기억장치)
- 작업에 필요한 프로그램과 데이터를 저장
- 바이트 단위로 분할되며, 분할 공간마다 주소로 구분됨
I/O Device (입출력 장치) - 외부 세계와의 데이터 전송 담당
- 보조기억장치
  - 자성 저장장치: 플로피 디스켓, 하드디스크
  - 레이저 저장장치: CD, DVD, Blu-ray Disc
  - 메모리 저장장치: USB flash drive, SD Card, SSD
Main Board (메인보드)
- 컴퓨터의 PCB
- 시스템의 핵심 부품을 장착할 수 있는 슬롯 제공
- 주변 장치를 연결하는 인터페이스 제공

 

 

폰 노이만 구조

구성 요소 설명
내장 메모리 순차 처리 방식
- 메모리에서 명령어를 순차적으로 하나씩 가져와 처리
통합된 메모리 구조
- 프로그램과 데이터가 동일한 메모리 공간에 저장
- 데이터와 명령어의 구분이 없어 보안 취약 가능성 존재
단일 버스 구조
- CPU, 메모리, 입출력 장치가 하나의 버스를 통해 연결
- 데이터와 명령어가 동일한 버스를 통해 전송

 

하드웨어 사양관련 용어

CPU 동작

개념 설명
Clock (클럭)
신호 발생기. 정해진 주파수로 Pulse를 생성
Pulse (펄스)
전기적 신호의 변화 (1과 0, H와 L이 주기적으로 변화)
Tick (틱)
Pulse의 한 주기, 신호가 한 번 변화하는 데 걸리는 시간
Hz (헤르츠)
Tick이 발생하는 속도를 나타내는 단위 (초당 발생하는 Tick)

 

 

CPU 통신
개념 설명
시스템 버스
메모리, 주변장치를 연결하는 물리적 버스
→ 데이터 버스 데이터를 전송하고 수신하는 역할을 합니다.
→ 주소 버스 데이터가 이동할 목적지 주소를 지정
→ 제어 버스 어떤 작업언제 해야 하는지 명령을 전송하고, 장치식별합니다.
내부 버스
CPU 내부 간 데이터를 교환하는 버스 (Register, ALU, Cache)

 

example
  • CPU가 메모리에서 데이터를 읽으려는 경우
    1. 주소 버스를 통해 CPU는 읽고자 하는 메모리 주소를 메모리로 보냅니다.
    2. 제어 버스는 "읽기" 명령을 메모리로 전달하여 메모리가 데이터를 준비하도록 합니다.
    3. 데이터 버스를 통해 메모리는 데이터를 CPU로 전송합니다.
  • CPU가 외부 장치에 데이터를 전송하려는 경우 (예: 프린터)
    1. 주소 버스를 통해 CPU는 프린터의 주소를 지정합니다.
    2. 제어 버스는 "쓰기" 명령을 프린터로 보내어 프린터가 데이터를 받을 준비를 하도록 합니다.
    3. 데이터 버스를 통해 CPU는 데이터를 프린터로 전송합니다.

 

2. CPU와 메모리

CPU 구성

출처 : Rubisco's Programming Note

ALU
  • 논리연산 수행 장치 입니다.
  • 레지스터에 저장된 값을 가지고 산술 논리 연산을 수행합니다.

 

Control Unit
  • 작업을 지시하는 장치 입니다.
    • 주기억장치에서 프로그램 명령어를 꺼내 해독합니다.
    • 해독한 결과에 따른 제어 신호를 Memory, CPU, I/O Device로 전송합니다.

 

Register
  • 데이터를 임시로 보관하는 곳 입니다.
구성 요소 설명
Data Register
메모리에서 가져온 데이터를 임시로 보관
-> IR (Instruction Register) 현재 실행 중인 명령어를 저장.
-> MBR (Memory Buffer Register)
메모리에서 가져온 데이터나 메모리로 옮겨갈 데이터를 임시로 저장.
-> AC (Accumulator) 연산 결과를 임시로 저장.
Address Register
데이터나 명령어가 저장된 메모리 주소를 임시로 보관.
-> PC (Program Counter) 다음에 실행할 명령어의 주소를 가리킴.
-> MAR (Memory Address Register)
메모리에서 데이터를 읽거나 쓸 때 사용되는 주소를 임시로 저장.

 

System bus

  • 메모리, 주변장치를 연결하는 물리적 버스
버스 설명 통신 방향
Control Bus 시스템 내 각종 요소들의 동작 제어 신호가 오고갑니다. 
Control Unit과 연결됩니다.
(Memory, I/O Device, Interrupt, Bus Control)
양방향 통신
Address Bus 데이터가 저장된 주소를 지정하는 통신 경로
MAR과 연결되어 있습니다.
단방향 통신
Data Bus Control Bus, Address Bus의 응답을 MBR에 실어다 주는 역할을 맡습니다. 양방향 통신
    •  

 

 

 

출처