조성호 님의 "쉽게 배우는 운영체제" 책을 정리한 포스팅 입니다.
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가 메모리에서 데이터를 읽으려는 경우
- 주소 버스를 통해 CPU는 읽고자 하는 메모리 주소를 메모리로 보냅니다.
- 제어 버스는 "읽기" 명령을 메모리로 전달하여 메모리가 데이터를 준비하도록 합니다.
- 데이터 버스를 통해 메모리는 데이터를 CPU로 전송합니다.
- CPU가 외부 장치에 데이터를 전송하려는 경우 (예: 프린터)
- 주소 버스를 통해 CPU는 프린터의 주소를 지정합니다.
- 제어 버스는 "쓰기" 명령을 프린터로 보내어 프린터가 데이터를 받을 준비를 하도록 합니다.
- 데이터 버스를 통해 CPU는 데이터를 프린터로 전송합니다.
2. CPU와 메모리
CPU 구성
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에 실어다 주는 역할을 맡습니다. | 양방향 통신 |
출처
- Wiki - 중앙 처리 장치
- Wiki - 메인 보드
- Wiki - 폰 노이만 구조
- Rubisco's Programming Note - 명령어 사이클과 인터럽트
- Wiki - System bus
'OS' 카테고리의 다른 글
[쉽게 배우는 운영체제] 4-2. CPU 스케줄링: 인터럽트 처리 (0) | 2024.12.12 |
---|---|
[쉽게 배우는 운영체제] 4-1. CPU 스케줄링: 스케줄링 (0) | 2024.12.12 |
[쉽게 배우는 운영체제] 3-2. 프로세스와 스레드: 스레드 (0) | 2024.12.12 |
[쉽게 배우는 운영체제] 3-1. 프로세스와 스레드: 프로세스 (0) | 2024.12.11 |
[쉽게 배우는 운영체제] 1. 운영체제 개요 (1) | 2023.12.26 |