포털:고등학교/정보·통신 계열 전문 교과(2015)/컴퓨터 구조/제어 장치의 구성

제어장치(CU)란?

편집
모든 장치가 유기적으로 동작할 수 있도록 하고, 주기억 장치에서 명령어를 가져와 해독하여 결과에 따라 제어 신호를 컴퓨터 시스템 내의 각 부분으로 전달 하는 장치
  • 프로세서의 조작을 지시하는 컴퓨터 중앙 처리 장치(CPU)의 한 부품이다.
  • 모든 컴퓨터 자원들은 제어 장치에 관리를 받는다.
  • CU는 control unit의 약자이다.

제어장치의 역할

편집
  1. 입력장치에서 입력된 데이터를 기억장소에 저장한다.
  2. 기억 장치에 있는 데이터를 연산 장치로 이동시킨다.
  3. 연산 장치에서 연산이 완료되면 그 결과를 다시 기억 장치로 이동시킨다.
  4. 기억 장치에 저장된 데이터를 출력 장치로 이동시켜 출력시킨다.
  5. 입출력 장치 간 통신 및 조율을 제어한다.
  6. 명령어들을 읽고 해석하며 데이터 처리를 위한 시퀀스를 결정한다.
  7. 중앙 처리 장치와 다른 장치들 사이의 데이터 흐름을 제어한다.

제어장치의 구성요소

편집

레지스터란?

편집
cpu가 요청을 처리하는데 필요한 데이터를 일시적으로 저장하는 기억장치

주소 레지스터(MAR)

편집
  • 주기억 장치에 명령이나 자료가 기억되어 있는 주소를 보관 하는 레지스터이다.
  • MAR은 Memory Address Register의 약자이다.

기억 레지스터(MBR)

편집
  • 명령어 계수기가 지정하는 주기억 장치의 내용을 임시 보관하는 레지스터이다.
  • MBR은 Memory Buffer Register의 약자이다.

제어 주소 레지스터(CAR)

편집
  • 다음에 실행할 마이크로명령어의 주소를 저장하는 레지스터이다.
  • Mapping의 결과값, 주소 필드, 서브루틴 레지스터의 내용들이 적재되어 있다.
  • CAR은 Control Address Register의 약자이다.

제어 버퍼 레지스터(CBR)

편집
  • 제어 기억장치로부터 읽혀진 마이크로명령어 비트들을 일시적으로 저장하는 레지스터이다.
  • CBR은 Control Buffer Register의 약자이다.

명령어 레지스터(IR)

편집
  • 현재 실행 중인 명령을 기억하는 레지스터로, 연산 코드와 주소부로 구성된다.
  • 단순한 프로세서에서 실행될 각 명령은 명령 레지스터로 적재된다.
  • 명령어는 기억장치 → MBR → IR 순서로 진행된다.
  • IR은 Instruction Register의 약자이다.

명령어 계수기(PC)

편집
  • 분기, 서브루틴 호출 등의 제어 명령을 제외하고 명령어가 기억장치에서 IR로 적재될 때 기억장치 워드의 크기에 따라 일정한 값만큼씩 증가한다.
  • 다음에 실행할 명령어가 기억되어 있는 주기억 장치의 주소를 기억한다.
  • PC는 Program Counter의 약자이다.

명령어 해독기

편집
  • 명령어 레지스터의 명령 코드를 해독하여 필요한 실행 신호를 발생시킨다.
  • 명령어의 연산코드는 명령어 해독기로 보내져 해석된다.
  • 해석 결과를 제어신호 발생기에 전달한다.
  • 영어로는 Decoder라고 한다.

주소 처리기

편집
  • 피연산자를 인출할 경우 그 주소를 계산하거나 수행될 명령 순서가 바뀔 때 다음에 수행할 명령의 주소를 계산한다
  • 영어로는 Address Processor라고 한다.

제어신호 발생기

편집
  • 해독된 명령에 따라 각 장치로 보낼 제어 신호를 생성하는 회로이다.
  • 영어로는 Encoder라고 한다.

순서기

편집
  • 정해진 순서에 따라 동작 순서를 제어한다.
  • 영어로는 Sequencer라고 한다.

순차카운터

편집
  • 디코더에 의해 선택된 번호에 해당하는 타이밍신호를 생성한다.
  • 영어로는 Sequence counter라고 한다.

명령어 코드

편집
  • 보통 기계 어에서 연산을 가리키는 코드이다.
  • op code 라고 하며 operation code의 약자이다.

제어장치의 명령어 수행 과정

편집
  1. 명령어 주소 전송을 위해 명령어 계수기(PC)에 기억된 주소를 MAR으로 보낸다.
  2. 주기억 장치의 내용을 임시 보관하고 있는 MBR에서 읽어온 명령어를 명령어 레지스터(IR)에 저장하고, 명령어 계수기를 1 증가시킨다.
  3. 명령어 코드(op Code) 필드와 주소 필드를 각각 해독기와 주소 처리기로 보낸다.
  4. 주소 처리기는 연산 자료를 인출할 때 피연산자의 주소를 계산하며, 수행될 명령어의 순서가 바뀔 때에는 다음에 수행될 명령어 주소를 계산하여 명령어 계수기에 기억시킨다.
  5. 제어 신호 발생기가 연산자를 해독하여 명령어 수행을 위한 제어 신호를 발생하며, 수행 순서를 변경할 때에는 주소 처리기를 동작시켜 수행될 명령어 주소를 계산한다.
  6. 다음 명령의 수행을 위하여 위 과정을 다시 시작한다. 현재 명령어 레지스터 에 있는 명령어의 수행이 끝나면 증가 된 명령어 계수기의 값을 MAR에 보내 다음 명령어를 실행한다.