elenalee 2023. 10. 28. 09:46

1. 제어장치 

- 컴퓨터시스템의 모든 장치들을 유기적으로 제어하는 장치

- 요구되는 마이크로 연산을 연속적으로 수행하도록 신호를 보내어 명령어를 수행하게 함 

- 기억장치에 저장된 프로그램으로부터 명령어를 순차적으로 읽어 연산코드부분을 해독,

   시스템의 각 요소를 동작시키는 제어신호를 발생시켜 명령어 수행

- 하나의 명령어는 한 클럭동안 수행되는 마이크로 연산의 집합,

   명령의 실행은 마이크로 연산의 연속적인 반복 

 

 

(1) 제어장치 구성요소

명령어 레지스터, 명령어 해독기, 순서제어기, 주소처리기

 

제어장치의 동작(명령어 수행과정)

(2) 제어장치의 유형 

▷ 마이크로프로그램에 의한 제어장치 (일반 컴퓨터)

- 프로그램에 의한 제어방식(제어단어와 같은 제어정보를 특별한 기억장치에 기억시킨 구조)

- 융통성이 뛰어남 (제어신호를 수정하고자 할때), 속도 느림(기억장치에서 명령인출시에 시간소요) 

 

▷ 하드웨어에 의한 제어장치 (특수 컴퓨터)

- 순서회로와 같은 게이트와 플립플롭으로 구성

- 고속 동작(순서회로로 구성)가능, 회로의 동작방법이 바뀌면 재설계 

 

2. 마이크로프로그램에 의한 제어 

- 제어변수 값들을 여러개의 단어로 결합하여 표현, 연속적으로 읽어 제어논리회로에 공급하여 동작

- 일련의 마이크로 연산을 순차적으로 수행하도록 제어, 제어변수로서 제어단어를 사용 

 

(1)  제어단어

- 0과 1의 스트링으로 표현

- 각 제어단어는 마이크로명령어(microinstruction)포함, 마이크로 명령어는 하나 혹은 다수의 마이크로 연산

- 제어단어로서 처리장치의 구성요소들이 특정시점에서 연산을 시작하도록 프로그래밍 가능 

 

(2)  구성요소의 동작원리 

 

제어기억장치 

- 마이크로 명령어(하나 혹은 다수 마이크로 연산을 나타내는 제어단어포함)저장

- 마이크로 명령어 수행한 뒤 이후 수행할 마이크로 명령어의 주소를 결정 

- 주소를 결정하기 위해 주소 정보가 마이크로 명령어의 한비트/여러비트로 존재

 

▷ 다음주소 생성기(순서기)

다음에 수행될 마이크로 명령어의 주소가 생성되면

클럭펄스가 입력될때 CAR로 이동되어

ROM으로부터 다음 마이크로 명령어를 읽어내는데,

이 명령어는 처리장치의 마이크로 연산을 실행시키는 제어비트

실행될 마이크로 명령어의 순서를 정하는 비트포함 

 

다음 마이크로 명령어의 주소는 순서기 입력에 따라 다양한 방법으로 결정

- CAR의 1증가 

- 제어기억장치의 주소를 CAR로 적재

- 외부로부터 온 주소를 CAR로 적재

- 제어동작을 시작하는 초기주소 적재

 

 제어주소레지스터 (CAR)

다음에 읽을 마이크로명령어의 주소를 제어하는 레지스터(다음주소 저장) 

 

 제어데이터레지스터 (생략가)

다음주소가 계산되어 명령어가 제어기억장치로부터 읽혀질때까지 현재 명령어 저장

 

(2)  구성요소의 동작

제어기억장치에 보관된 마이크로명령어(제어단어포함)에 의해 동작

 

▷ 마이크로 명령어의 내역(제어신호) : 모두 26비트 구성

- 처리장치 제어를 위한 16비트(제어단어)

- 다음주소 선택을 위한 10비트

 

▷ 제어신호 16비트의 구체적인 내역

16비트(1~16) : 처리장치 제어를 위한 제어단어

1비트(17) : MUX1에서 외부입력 주소 혹은 내부마이크로명령어주소 중 택1

3비트(18~20): MUX2의 8개 입력중 하나를 선택 (상태 레지스터)

6비트(21~26): ROM의 64단어를 선택하기 위한 주소비트 

 

▷ 제어장치의 동작 (아래의 과정을 각 클럭의 천이때마다 반복)

CAR에 새로운 주소가 들어오면, 26비트 마이크로 명령어를 제어기억장치에서 인출

→ 마이크로명령어의 제어단어는 CAR의 다음 동작을 결정

→ 처리장치에서 해당 상태비트를 새로운 값으로 갱신, 다음주소를 CAR에 전송

    (MUX2에서 CAR값을 그대로 두어 현재주소로 할지 +1증가로 다음주소로 할지 결정)

 

3. 마이크로프로그램

마이크로명령어 (제어신호)

마이크로프로그램에 의한 제어방식에서 제어기억장치에 있는 제어단어의 내역 

 

마이크로 명령어의 구성의 예 (26비트)

MUX2 명령선택

마이크로 명령어 구체화

 

(1)마이크로 프로그램

제어기억장치에 저장된 일련의 마이크로명령어의 집합

≫ 마이크로 프로그램 루틴 (micoprogram routine)

 

마이크로 프로그램을 이용한 제어장치 구현 

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

 

 

▷ 마이크로 프로그램의 개념

- 제어장치 설계를 위한 시스템적인 접근과정

- 마이크로명령어 형식을 설정하면 마이크로프로그램의 작성과정은 컴퓨터프로그램작성과정과 유사

- 이러한 이유로 펌웨어(firmware)라고 함 (소프트웨어와 하드웨어의 중간이라는 의미, 전원이 껴져도 저장되는 프로그램)

 

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

하드웨어에 의한 제어장치

주어진 시간에 처리장치에서 수행할 마이크로 연산을 결정해주는 제어상태를 갖는 순서회로 '

 제어장치의 설계

- 입력신호들에 따라 출력신호를 발생하도록 내부논리설계

- 각 제어신호에 대한 부울표현식이 입력함수로 구현

- 제어장치의 설계는 순서회로의 설계

- 일반적으로 제어순서의 상태도를 이용하여 설계

 

 제어장치의 구현방법

- 상태 플립플롭을 이용한 제어방식

- 순차레지스터와 디코더를 이용한 제어방식

 

(1)상태 플립플롭을 이용한 제어방식 

 

(2) 순서레지스터와 디코더를 이용한 제어

레지스터 : 제어상태의 순서를 정하는데 사용

디코더 : 각 상태마다 하나씩의 출력만이 나오도록 사용

n-비트 순서레지스터 : n개의 플립플롭과 게이트로 구성

 

 

(3) 특징

▷ 장점 : 순서논리회로를 사용함으로써 부품의 수는 최소화, 동작속도 극대화

▷ 단점 : 시스템이 복잡해지면 설계가 어렵고, 한번 구성되면 바꾸기 어려움

≫ RISC 방식에 사용