OS

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

noahkim_ 2024. 1. 11. 23:39

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

 

1. 컴퓨터의 기본 구성

하드웨어 구성

구성 요소 설명 특징
CPU (중앙 처리 장치) 명령어를 해석하여 실행하는 장치
외부에서 정보를 입력받고, 기억하고, 연산하고, 출력
Memory (주기억장치) 작업에 필요한 프로그램과 데이터를 저장 
바이트 단위로 분할되며, 분할 공간마다 주소로 구분됨
I/O Device (입출력 장치) 외부 세계와의 데이터 전송 담당 CPU가 직접 제어하지 않고, 컨트롤러/드라이버를 통해 접근
Main Board (메인보드) 컴퓨터의 PCB 주변 장치를 연결하는 인터페이스 제공

 

종류) I/O Device

더보기
  • 자성 저장장치: 플로피 디스켓, 하드디스크
  • 레이저 저장장치: CD, DVD, Blu-ray Disc
  • 메모리 저장장치: USB flash drive, SD Card, SSD

 

폰 노이만 구조

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

 

2. CPU와 메모리

CPU 구성

출처 : Rubisco's Programming Note

구성 요소 정의 주요 역할
ALU 산술·논리 연산을 수행하는 장치
- 덧셈, 뺄셈, AND, OR 같은 연산 수행
- 레지스터에 저장된 데이터를 이용함
Control Unit 컴퓨터의 작업 흐름을 제어하는 장치
- 메모리에서 명령어를 가져와 해독 후
- 각 장치에 제어 신호를 보내 실행 지시
Register CPU 내부의 고속 임시 저장 공간
- 연산에 필요한 데이터 및 결과를 임시 저장
- 메모리 접근을 최소화하여 성능 향상
System Bus CPU, 메모리, I/O 장치를 연결하는 물리적 통신 경로
- 데이터, 주소, 제어 신호 전달
- CPU와 외부 장치 간 통신 담당

 

표) 레지스터 종류

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

 

표) 시스템 버스 종류

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

 

 

CPU 통신

개념 설명
시스템 버스
메모리, 주변장치를 연결하는 물리적 버스
내부 버스
CPU 내부 간 데이터를 교환하는 버스 (Register, ALU, Cache)

 

 

예시) CPU가 메모리에서 데이터를 읽으려는 경우

더보기
  1. 주소 버스를 통해 CPU는 읽고자 하는 메모리 주소를 메모리로 보냅니다.
  2. 제어 버스는 "읽기" 명령을 메모리로 전달하여 메모리가 데이터를 준비하도록 합니다.
  3. 데이터 버스를 통해 메모리는 데이터를 CPU로 전송합니다.

 

예시) CPU가 외부 장치에 데이터를 전송하려는 경우

더보기

예: 프린터

  1. 주소 버스를 통해 CPU는 프린터의 주소를 지정합니다.
  2. 제어 버스는 "쓰기" 명령을 프린터로 보내어 프린터가 데이터를 받을 준비를 하도록 합니다.
  3. 데이터 버스를 통해 CPU는 데이터를 프린터로 전송합니다.

 

CPU 동작

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

 

 

출처