조성호 님의 "쉽게 배우는 운영체제" 책을 정리한 포스팅 입니다.
1. 컴퓨터의 기본 구성
하드웨어의 구성
CPU (중앙 처리 장치)
- 명령어를 해석하여 실행하는 장치입니다.
- 외부에서 정보를 입력받고, 기억하고, 명령어를 해석하여 연산하고, 외부로 출력합니다.
Memory (주기억장치)
- 작업에 필요한 프로그램과 데이터를 저장하는 장치입니다.
- 바이트 단위로 분할되어 있으며, 분할 공간마다 주소로 구분됩니다.
I/O Device
- 외부 세계간의 데이터 전송을 담당하는 장치입니다.
- 보조기억장치
- 자성 : 플로피 디스켓, 하드디스크
- 레이저 : CD, DVD, Blu-ray disc
- 메모리 : USB flash drive, SD Card, SSD
Main Board
- 시스템을 작동시키는 핵심 부품을 장착할 수 있는 슬롯과 주변 장치를 연결할 수 있는 인터페이스를 제공하는 PCB를 의미합니다.
폰 노이만 구조
내장 메모리 순차 처리 방식
- 메모리에서 명령어를 순차적으로 하나씩 가져와서 처리합니다.
통합된 메모리 구조
- 프로그램과 데이터가 동일한 메모리 공간에 저장됩니다.
- 데이터와 명령어 사이의 구분이 없으므로 보안상의 취약점이 될 수 있습니다.
단일 버스 구조
- CPU, 메모리, 입출력 장치들이 하나의 버스를 통해 서로 연결됩니다.
- 버스를 통해 데이터와 명령어가 전송됩니다.
하드웨어 사양관련 용어
Clock
- 신호 발생기
- 정해진 주파수로 pulse를 생성합니다.
- Clock 속도가 높을수록 Pulse를 많이 생산합니다.
- Pulse를 많이 생성할수록 더 많은 작업을 더 빠르게 처리할 수 있습니다.
Pulse
- 전기적 신호의 변화를 의미합니다.
- 논리 상태 1과 0, H와 L이 주기적으로 변화합니다.
- 컴퓨터의 다양한 구성 요소들이 동기화되어 작업을 수행하도록 하는 데 사용됩니다.
Tick
- Pulse의 한 주기를 나타냅니다.
- 신호가 한 번 변화하는데 걸리는 시간을 나타냅니다.
- 모든 명령어는 여러개의 Tick에 걸쳐 실행됩니다.
Hz
- Tick이 발생하는 속도를 나타내는 단위입니다.
- 초당 발생하는 Tick을 나타내는 주파수 단위입니다.
시스템 버스
- CPU, 메모리와 주변장치를 연결하는 물리적인 연결 입니다.
- 데이터 버스: 데이터 전송 담당
- 주소 버스: 데이터가 어디로 가야하는지를 지정
- 제어 버스: 데이터 흐름과 작업 조정 담당
내부 버스
- CPU 내부에 있는 장치를 연결하는 버스 입니다.
- 데이터 교환을 담당합니다.
- CPU 내부 (Register, ALU, Cache) 간 통신
2. CPU와 메모리
CPU 구성
ALU
- 논리연산 수행 장치 입니다.
- 레지스터에 저장된 값을 가지고 산술논리 연산을 수행합니다.
Control Unit
- 작업을 지시하는 장치 입니다.
- 주기억장치에서 프로그램 명령어를 꺼내 해독합니다.
- 해독한 결과에 따른 제어 신호를 Memory, CPU, I/O Device로 전송합니다.
- 구성 : IR, MBR, PC
Register
- 데이터를 임시로 보관하는 곳 입니다.
- Data Register : 메모리에서 가져온 데이터를 임시로 보관합니다.
- IR : 현재 실행중인 명령어를 저장합니다.
- MBR : 메모리에서 가져온 데이터나 메모리로 옮겨갈 데이터를 임시로 저장합니다.
- AC : 연산 결과를 임시로 저장합니다.
- Address Register : 데이터 또는 명령어가 저장된 메모리의 주소를 임시로 보관합니다.
- PC : 다음에 실행할 명령어의 주소를 가리킵니다.
- MAR : 메모리에서 데이터를 읽거나 쓸 때 사용되는 주소를 임시로 저장합니다.
System bus
- Control Bus
- 시스템 내 각종 요소들의 동작 제어 신호가 오고갑니다. (Memory, I/O Device, Interrupt, Bus Control)
- Control Unit과 연결되어 있습니다.
- 양방향 통신
- 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 |