Santos의 개발블로그

제어장치 본문

CS(Computer science)/컴퓨터 구조&운영체제

제어장치

Santos 2020. 1. 14. 12:00

제어장치

- 기억장치에 저장된 명령어를 순차적으로 하나씩 읽어 와서 연산코드부분을 해독하고, 그 결과에 따라 컴퓨터 시스템 내의 각 요소에 제어신호를 발생시켜 명령을 수행한다.

- 특정한 데이터 연산을 실행할 수 있도록 처리장치에 마이크로 연산을 구동시키는 여러가지 제어신호를 제공한다. 

 

제어장치 구성

1. 제어장치와 처리장치의 관계 

 - 제어장치는 외부 입력신호인 컴퓨터 명령어를 받아들여 이 신호에 해당하는 마이크로연산을 처리장치로 내보낸다. 

 - 처리장치에서는 마이크로연산에 의해 입력 데이터를 받아들여 데이터를 처리한 후, 그 결과를 출력으로 내보낸다. 

 - 처리장치에서 제어장치로 보내지는 상태신호는 처리장치에서의 연산결과로 나타낸 상태인데, 분기나 조건판단 등을 위한 판단기준을 제공해 주는 신호이다. 

 

2. 제어장치 도식화

- 제어장치의 구성 -

명령어 레지스터(IR): 기억장치에서 읽어 온 명령어를 기억하는 레지스터로서, 읽어 온 명령어의 연산코드는 명령어 해독기로 보내져 해석되며, 오퍼랜드 필드의 주소는 주소처리기로 보내져 다음 명령어 주소가 계산된다. 
메모리 버퍼레지스터(MBR): 기억장치에서 읽어 온 명령어를 임시 저장하는 공간
메모리 주소레지스터(MAR): 주소처리기에서 계산된 기억장치주소를 임시로 저정하는 공간
명령어 해독기: 명령어 레지스터로부터 연산코드를 받아서 해석하고 그 결과를 제어신호 발생기에 전달한다.
순서 제어기: 마이크로연산을 순차적으로 수행될 수 있도록 도와주는 장치
프로그램 카운터: 다음에 실행될 명령어의 주소를 기억하는 레지스터

3. 제어장치의 동작

 (1) PC에 저장된 주소를 메모리 주소 레지스터(MAR)로 보낸다. 

 (2) MAR에 저장된 주소에 있는 기억장치의 명령어를 메모리 버퍼 레지스터(MBR)로 읽어오고, PC를 1 증가시킨다. 그 후 읽어 온 명령을 명령어 레지스터(IR)에 저장한다. 

 (3) 연산코드는 명령어 해독기로 보내고, 오퍼랜드는 주소처리기로 보낸다. 

 (4) 주소처리기는 메모리 주소 레지스터(MAR)를 통해 명령어 수행에 필요한 오퍼랜드의 주소 또는 다음 명령어의 주소를 계산한 후 MAR에 저장한다. 

 (5) 제어신호 발생기에서는 (1)~(4) 과정에서 필요한 제어신호와 연산코드를 해독하여 명령수행을 위한 제어신호를 발생시킨다. 이때 만약 명령어가 점프 명령어와 같이 기억장치의 주소를 참조하는 명령어라면 제어신호 발생기는 주소처리기를 동작시켜 다음에 수행될 명령어의 주소를 계산하게 된다. 

 (6) 명령어 레지스터(IR)에 있는 명령어의 수행이 끝나면 증가된 PC의 내용은 다음에 수행할 명령어의 주소를 지정하거나, 점프 명령어와 같이 분기가 필요한 경우는 해당 명령어의 주소를 지정하는데 이것은 다시 (1)부터의 과정을 반복하며 실행된다. 


제어장치의 유형

1. 마이크로프로그램에 의한 제어장치

프로그램에 의한 제어방식으로서 제어단어와 같은 제어 정보를 특별한 기억장치에 0과 1로 기억시킨 구조 

 가. 특징

- 컴퓨터 시스템에서 제어장치가 해야 할 일은 일련의 마이크로연산을 순차적으로 수행하도록 돕는 것이다.

- 이러한 제어를 위해서 상태신호는 제어단어라 부르는 0과 1의 스트링으로 표현되는데, 이때 제어단어를 이용하여 처리장치의 여러 구성요소가 특정 시점에서 연산을 시작하도록 프로그램화할 수 있음.

- 2진 제어변수를 기억장치에 저장하여 구현한 제어 장치를 마이크로프로그램으로 구현한 제어장치라고 한다. 

- 마이크로프로그램으로 만들어지 제어장치는 일반적으로 제어기억장치라 불리우며 ROM에 저장된다.

 

 나. 구조

    1) 간단한 구성도

- 마이크로프로그램에 의한 제어장치의 구성도 -

제어 기억장치: 모든 제어정보를 항상 저장하고 있는 공간
제어주소 레지스터(CAR): 제어기억장치에 있는 마이크로명령어의 주소를 저장하는 공간 
제어데이터 레지스터(CDR): 제어기억장치에서 읽어 온 마이크로 명령어를 저장하는 공간 (필수요소는 아님)
다음 주소 생성기(순서기): 다음에 수행될 마이크로명령어의 주소르르 만들어 내는 장치 

   가) 동작 순서  

  (1) 제어기억장치에 저장된 마이크로 명령어가 모두 수행되고 나면, 다음에 수행될 마이크로명령어의 주소를 다음 주소생성기에서 가지고 와야함.

  (2) 다음 주소 생성기는 다음에 수행 될 마이크로명령어의 주소를 만들고, 제어기억장치에서 제어단어를 읽어내는 순서를 결정한다. 

  (3) CDR은 다음 주소가 계산되어 다음 마이크로명령어가 제어기억장치로부터 읽혀질 때까지 현재의 마이크로명령어를 저장한다. 

  (4) (1) ~ (3) 순서가 계속 반복된다.

 

 2) 세부적인 구성도

* 그리기가 너무 어려워 세부적인 구성도 이미지는 발췌했습니다.

가) 동작 순서  

  (1) 임의의 클럭 펄스가 변할 때, 제어주소 레지스터(CAR)에서는 새로운 주소가 들어온다. 

  (2) 이 주소에 있는 26비트에 마이크로 명령어를 제어기억장치로부터 인출한다. 

  (3) 처리장치와 다음 주소 생성기(MUX1, MUX2)의 마이크로연산을 지정하는 제어단어는 제어주소 레지스터(CAR)의 다음 동작을 결정한다. 

  (4) 제어단의 제어신호는 ALU, 시프터, 멀티플레서, 디코더와 같은 처리장치의 조합회로로 전달되며, 다음 클록의 천이가 일어날 때까지 진행된다. 

  (5) 클록의 다음 천이가 일어나면, 해당하는 상태비트를 새로운 값으로 갱신하며, 다음 주소를 CAR로 전송한다. 

  (6) CAR의 새로운 주소는 제어기억장치에서 인출할 다음 마이크로명령어를 지정하며, 다음 클록의 천이가 일어났을 때 수행되도록 한다.  

  (5) (1) ~ (6) 순서가 각 클록의 천이 때마다 계속 반복된다.

 

다. 장점

   1) 하드웨어 구성이 한번 만들어지면, 더 이상의 하드웨어나 연결 형태를 변화시킬 필요가 없다.

   2) 제어신호를 수정하고자 할 때는 기억장치의 프로그램을 바꾸기만 하면 되므로 융통성이 뛰어나다는 장점을 가지고 있다.

 

 라. 단점

   1) 마이프로명령어를 인출하는 별도의 시간 때문에 속도가 느리다.  


2. 하드웨어에 의한 제어장치 

 순서회로와 같은 게이트와 플립플롭으로 이루어진 구조

 가. 특징

  - 디지털 시스템이 간단하고, 많은 마이크로연산이나 제어 결정이 필요하지 않을 때 사용된다. 

  - 대규모로 직접화하는 것은 경제적이지 않아 특수한 컴퓨터를 제외하고는 사용하지 않는다. 

 

 나. 장점

  1) 순서회로로 구성되기 때문에 고속동작이 가능하다.

 

 다. 단점

  1) 한번 만들어진 회로의 동작방법이 바뀌면 회로를 변경할 수 없으며 다시 설계해야 한다. 


< 참고자료 >

 

https://www.youtube.com/watch?v=EdTtGv9w2sA&list=PLBrGAFAIyf5rby7QylRc6JxU5lzQ9c4

[도서] 컴퓨터구조  - 김형근, 손진곤 지음 -

 

<Computer structures> chapter 13 제어장치 end>

 


 

'CS(Computer science) > 컴퓨터 구조&운영체제' 카테고리의 다른 글

가상기억장치  (0) 2020.01.17
기억장치  (0) 2020.01.14
처리장치  (0) 2020.01.13
파이프라이닝  (0) 2020.01.11
중앙처리장치(CPU)  (0) 2020.01.11
Comments