티스토리 뷰
※ 반효경 교수님의 운영체제와 정보기술의 원리를 기반으로 작성하였습니다.
컴퓨터 시스템의 구조
CPU
중앙처리장치로 Central Processing Unit의 줄임말이다. 컴퓨터를 제어하고 연산을 수행하는 기능을 한다. CPU는 크게 데이터 가져오기(Fetch), 디코딩(Decoding), 실행(Execute)의 세 단계로 나누어진다. 이진수로 된 데이터를 RAM으로부터 가져오는 것을 fetch라고 한다. 명령은 명령 해독기라는 회로를 통해서 이동하고, 작동을 위해 전달되는 신호로 변환되는데 이것을 디코딩이라고 한다. 마지막으로 실행단계에서 명령문은 CPU안에 관련된 부분으로 전달되어 연산을 수행하고 그 결과는 레지스터에 저장된다.
Modebit
모드빗은 CPU내부에 존재하며, CPU의 상태를 나타내는 것으로 모드 변환을 통해 접근할 수 있는 instruction을 제한한다. 이는 사용자 프로그램이 다른 프로그램의 메모리를 침범하는 등의 현상을 막아 하드웨어상의 보안을 유지하기 위해 사용된다. 모드빗에는 두 가지 모드가 있는데 0(모니터 모드)과 1(사용자 모드, 커널 모드)이다. 사용자 프로그램이 실행되고 있으면 모드빗이 사용자 모드로 설정되고, 사용자 프로그램이 인터럽트를 통해 I/O요청 등을 하게 되면 CPU 할당이 OS로 옮겨가며 모드빗도 모니터 모드가 된다.
Register
레지스터는 매우 빠른 속도의 메모리로, CPU와 바로 연결되어 사용된다. 일반적으로 말하는 32-bit, 64-bit 컴퓨터는 레지스터의 크기가 32-bit, 64-bit인 것을 말한다고 한다. 레지스터에는 다양한 종류가 있고, 보통 하나의 레지스터가 하나의 역할을 수행해서 컴퓨터 안에 여러 레지스터가 존재한다.(PC-Program counter, MDR-memory data register,AC-accumulator 등등)
(아래 이미지처럼 버스에 연결되서 레지스터 간 연결이 이루어진다고 한다.)
Memory
크게 주기억장치(Primary memory)와 보조기억장치(Secondary memory)로 나눌 수 있다. 주기억장치는 주로 휘발성 장치이며 속도가 빠르다. 레지스터, 캐시 메모리, 메인 메모리 등이 있으며 순서대로 속도가 느려진다. 보조기억장치는 CPU와 직접 연결되지는 않고 외부 장치로써 연결된다. 비휘발성 장치이며 흔히 하드 디스크를 말한다.
I/O Controller
입출력 컨트롤러는 입출력 장치에 붙어있는 일종의 작은 CPU이다. 하드웨어를 제어하는 역할을 한다.
Local buffer
입출력 장치에 달려있는 일종의 레지스터이다. 하드웨어를 들어오고 나가는 데이터를 임시로 저장하는 작은 저장소이다.
DMA Controller
메모리는 원칙적으로 CPU와만 연결되어 신호를 주고받는다. 따라서 입출력 디바이스에서 요청이 들어오게 되면 CPU가 로컬 버퍼와 메모리 사이의 데이터를 옮기는 역할을 하게 된다. 하지만 이렇게 될 경우 입출력 인터럽트가 올 때마다(예를 들면 키보드를 한 번 누를 때마다) CPU에 인터럽트가 걸리게 되고 너무 많은 인터럽트로 CPU의 효율성이 떨어지게 된다. 이를 막기 위해 DMA(Direct Memory Access)가 존재한다. DMA는 메모리와 연결되어 로컬 버퍼에 있는 데이터를 읽어와 메모리에 복사하는 역할을 대행한다. 읽어올 때는 byte단위가 아니라 block단위의 큰 덩어리를 읽어오고, 이 작업이 완료되면 CPU에 인터럽트를 발생시켜 알려준다.
Timer
타이머는 하나의 프로그램이 너무 오랜시간 CPU를 사용하고 있으면 강제로 중단시키는 하드웨어이다. 프로그램이 CPU를 사용한 지 일정 시간이 지나면 인터럽트를 발생시켜 CPU를 OS에 다시 할당한다. 시분할 시스템을 구현에 사용하는 요소이기도 하다.
'OS' 카테고리의 다른 글
5장. 프로세스 관리 (0) | 2023.02.18 |
---|---|
4장. 프로그램 구조와 실행 (0) | 2023.01.27 |
동기식과 비동기식 입출력 (0) | 2023.01.08 |
2장. 운영체제 개요 (0) | 2023.01.05 |
- 디지털신호처리
- depthmap
- 딥러닝
- TRACKING
- Depth estimation
- Generative Model
- machine learning
- conditional GAN
- 3d object detection
- mode collapse
- ML Pipeline
- design pattern
- AI
- MLOps
- Raspberry Pi
- Deep learning
- depth
- image
- controllable GAN
- feature
- pcb
- 운영체제
- Gan
- Operating System
- DSP
- 신호처리
- Building Basic GAN
- OS
- deeplearning
- ML
- Total
- Today
- Yesterday
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |