[H/W] 중앙처리장치(CPU)란 무엇인가? CPU의 구조 총정리

 중앙처리장치란? 

중앙처리장치(CPU: Central Processing Unit)는 사람의 두뇌와 같이 컴퓨터 시스템에 부착된 모든 장치의 동작을 제어하고 명령을 실행하는 장치입니다. 중앙 처리장치는 제어장치, 연산장치, 레지스터 그리고 이들을 연결하여 데이터를 전달하는 버스로 구성되어 있습니다.

중앙처리장치 구조

 중앙처리장치의 대표적인 구성장치 

제어장치

제어장치(Control Unit)는 컴퓨터에 있는 모든 장치들의 동작을 지시하고 제어하는 장치입니다. 제어장치는 명령 레지스터에서 읽어들인 명령어를 해독하여 해당하는 장치에게 제어 신호를 보내 정확하게 수행하도록 지시합니다.

 

제어장치의 구성요소

  • 명령 레지스터 : 현재 실행중인 명령어의 내용을 기억하고 있습니다.
  • 명령 해독기(Decoder) : 명령 레지스터에 있는 명령어를 해독하는 회로입니다.
  • 제어신호 발생기, 부호기(Encoder) : 해독된 명령에 따라 각 장치로 보낼 제어 신호를 생성하는 회로입니다.
  • 제어 주소 레지스터(CAR) : 다음에 실행할 마이크로명령어의 주소를 저장하는 레지스터로, Mapping의 결과값, 주소 필드, 서브루틴 레지스터의 내용들이 적재되어 있습니다.
  • 제어 버퍼 레지스터(CBR) : 제어 기억장치로부터 읽혀진 마이크로명령어 비트들을 일시적으로 저장하는 레지스터입니다.
  • 제어 기억장치 : 마이크로 명령어들로 이루어진 마이크로명령어 비트들을 일시적으로 저장하는 레지스터입니다.
  • 순서 제어 모듈 : 마이크로명령어의 실행 순서를 결정하는 회로들의 집합입니다.
  • 순차카운터(Sequence counter) : 디코더에 의해 선택된 번호에 해당하는 타이밍신호를 생성합니다.

 

연산장치

연산장치(ALU, Artihmetic)는 제어장치의 명령에 따라 실제로 연산을 수행하는 장치입니다. 연산장치가 수행하는 연산에는 산술연산, 논리연산, 관계연산, 이동등이 있으며 연산장치는 가산기, 누산기, 보수기, 데이터 레지스터, 오버플로 검출기, 시프트레지스터등으로 구성되어 있습니다.

 

레지스터

레지스터(Register)는 CPU 내부에서 처리할 명령어나 연산의 중간 결과값 등을 일시적으로 기억하는 임시 기억장소입니다.

 

레지스터의 특징

  • 레지스터는 플립플롭이나 래치들을 병렬로 연결하여 구성합니다.
  • 레지스터는 메모리 중에서 속도가 가장 빠릅니다.
  • 레지스터의 크기는 워드를 구성하는 비트 개수만큼의 플립플롭을 구성되며, 여러개의 플립플롭은 공통 클록의 입력에 의해 동시에 여러 비트의 자료가 저장됩니다. 
  • 레지스터를 구성하는 플립플롭은 저장하는 값을 임의로 설정하기 위해 별도의 입력 단자를 추가할 수 있으며, 저장값을 0으로 하는 것을 설정해제(CLR)이라 합니다.

 

버스

버스는  CPU, 메모리, I/O 장치 등과 상호 필요한 정보를 교환하기 위해 연결된 공동의 전송선입니다.

컴퓨터 내부 회로에서 버스선(Bus Lines)을 사용하는 목적은 결선수를 줄이기 위해서입니다.

메모리나 입 출력 장치가 제대로 동작하려면 버스를 통해 전달되는 제어 신호 어드레스 신호 및 데이터 신호의 상호 시간적 관계가 잘 유지되어야 합니다.

 

전송하는 정보에 따른 분류

  • 번지 버스(Address Bus) : CPU가 메모리나 입 출력기기의 번지를 지정할 때 사용하는 단방향 전송선
  • 자료 버스(Data Bus) : CPU와 메모리 또는 입 출력 기기 사이에서 데이터를 전송하는 양방향 전송선
  • 제어 버스(Control Bus) : CPU의 현재 상태나 상태 변경을 메모리 또는 입출력장치에 알리는 제어신호를 전송하는데 사용하는 양방향 전송선

 

버스 위치에 따른 분류

  • 내부버스 : CPU 및 메모리 내에 구성된 Bus
  • 외부버스 : 주변 입출력 장치에 구성된 Bus

 

댓글

Designed by JB FACTORY