Dreaming Deve1oper

CPU의 구조/구성 (Day 1) 본문

컴퓨터 구조

CPU의 구조/구성 (Day 1)

주현테크 2022. 3. 2. 22:09

 

 

CPU

- CPU는 Central Processing Unit의 줄임말으로 중앙처리장치, 산술논리연산 및 제어를 수행하는 부품이다.

- 컴퓨터 시스템에서 가장 중요한 부품이다.

  1. ALU: 산술논리연산을 수행하는 장치이다.
  2. Register Set: 레지스터를 모아놓은 곳. 메모리에서 가지고 온 데이터를 임시로 보관한다. 
  3. Control Unit: 필요한 데이터를 가져올 때 CPU에서 Main memory에 해당 데이터를 읽고 싶다는 신호를 보내게되는데, 이때 제어신호가 필요하다. 그 제어신호를 만드는 역할을 수행한다.

 

Internal Bus

- ALU, Register Set, Control Unit의 데이터가 이동하는 경로.

- System Bus와 연결되어 있지 않으며 CPU 내부의 ALU, Register Set, Control (= Sub block)을 연결하는 경로.

 

Main Memory 

- 데이터를 저장하기 위한 장치이다.

- RAM (Random Acess Memory)이라고도 부른다.

 

 

SSD (Secondary Storage Device)

- 보조저장장치이다.

- 하드디스크, CD-ROM등이 있다.

- I/O의 일부로 구분되기도 한다.

 

I/O (Input/Output)

- Input Device: 키보드, 마우스 등...

- Output Device: 모니터, 프린터 등...

 

 

System Bus

- CPU, Main Memory, SSD, I/O를 묶어주는 역할을 하는 것

 


 

 

ALU

- AU: +, -, *, % 

- LU (논리연산): OR, NOT, EX-OR 등...

 

※ %는 나누기가 아니라 나머지를 구하는 연산

 

 

Register Set

- 레지스터 간 여러 Path 존재.

- 일반 목적 레지스터: Shift Register, Status Register 

- 특수 목적 레지스터: ACC, SP, PC, MAR, IR, MBR

  1. ACC: 현재 처리되어야할 데이터를 저장해놓는 역할을 수행한다.
  2. SP: - 추후설명
  3. PC (Program Counter): 현재 수행되어야할 프로그램이 저장되어있는 메모리의 주소가 저장된다.
  4. MAR (Memory Address Register): 메모리 데이터를 가져오기 위한 주소가 최종적으로 위치하는 레지스터.
  5. IR (Instruction Register): 메모리 버퍼로 들어오는 데이터는 프로그램일수도있고 숫자 데이터일수도 있다. 숫자 데이터일 경우 이 레지스터로 이동된다. (= Instruction을 저장하는 레지스터)
  6. MBR (Memory Buffer Register): MAR의 주소를 통해 얻은 데이터를 저장하는 레지스터.

※ MAR과 MBR은 항상 쌍으로 움직인다. 메모리의 데이터를 가져오려면 어느 주소에 있는 데이터를 가져올지 정해야한다. 

 

 

Control Unit

ID (Instriction Decoder): 사람이 작성한 프로그래밍 언어를 기계가 이해할 수 있도록 변환해주는 것.

CAR (Control Address Register): 메모리의 주소가 저장.

CM (Control Memory): CAR에 저장된 주소에 의해 메모리로 찾아가 데이터를 가지고 옴. 외부로 보내야할 데이터가 저장되어 있음. 

CBR (Control Buffer Register): CM으로 가져온 데이터를 저장.

 

 

Address Bus [단방향/ 메모리에서 CPU로 주소를 전송하는 일은 없기 때문]: CPU에서 메모리에 있는 데이터를 가져오기 위해 해당 메모리의 데이터를 전송하는 역할을 수행함.

Data Bus [양방향/]: 

Control Bus: CPU에서 메모리로 임의의 주소를 읽거나 사용한다는 명령을 보내줘야함. 

 

 

Muchine Instruction: 사람이 짠 프로그램을 기계어로 바꾼 것. 

Micro Instruction: 기계어로 바뀐 프로그램이 메모리에 있는 명령어를 지정하게 되는데, 그 과정을 통해 나온 명령어.

 

 

펌웨어 (F/W): 실제로 생긴것은 소프트웨어지만 하드웨어를 구동시키는 역할을 하게된다. 

 

 

Comments