티스토리 뷰

방송대/컴퓨터구조

제어장치

피클s 2022. 9. 20. 22:05

 

제어장치의 개요

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

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

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

- 명령어의 실행은 이러한 마이크로 연산의 연속적인 반복으로 이루어짐.

결국 제어장치는 요구되는 마이크로연산을 연속적으로 수행하게 하는 신호를 보내어 명령어를 수행하게 하는 역할이다.

 

* 제어장치와 처리장치와의 관계

제어장치의 구성

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

 

명령어 수행과정

1. 프로그램카운터에 저장된 주소로 기억장치에 접근한다.

2. 기억장치에서 명령어를 읽어와 명령어 레지스터(IR)에 저장하고, 프로그램 카운터를 1 증가시킨다.

3. 읽어온 명령어에서 연산코드는 명령어 해독기로, 오퍼랜드는 주소처리기로 보낸다.

4. 주소처리기는 명령어 수행에 필요한 오퍼랜드의 주소 또는 다음 명령어의 주소를 계산한다.

5. 제어신호 발생기에서 연산코드를 해독하여 명령어 수행을 위한 제어신호를 발생한다.

제어장치의 구현방법

제어장치의 유형

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

- 제어단어와 같은 제어정보를 특별한 게억장치에 기억시킨 구조

- 프로그램에 의한 제어방식

- 장점 ㅣ 제어신호를 수정하고자 할때 융통성이 뛰어남

- 단점 : 기억장치에서 명령을 인출하는 별도의 시간 때문에 속도가 느림

고밀도 집적회로(VLSI)가 가능하여 대부분의 컴퓨터에서 사용한다.

 

하드웨어에 의한 제어장치

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

- 장점: 순서회로도 구성되기 때문에 고속 동작이 가능

- 단점 : 회로의 동작방법이 바뀌면 다시 설계해야 함.

특수 컴퓨터에서 사용

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

제어방식 : 제어변수 값들을 여러 개의 단어로 결합하여 표현하고, 그것을 연속적으로 읽어서 제어논리회로에 공급하여 동작시키는 방식

제어장치의 역할 

- 일련의 마이크로 연산을 순차적으로 수행하도록 제어.

- 이러한 제어를 위해 제어변수로서 제어단어를 사용

 

제어단어

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

- 각 제어단어에는 마이크로명령어가 포함 : 마이크로명령어는 하나 혹은 다수의 마이크로 연산을 나타낸다.

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

제어기억장치 : 모든 제어정보를 항상 저장하고 있는 기억장치

- 저장된 마이크로 명령어는 하나 또는 다수의 마이크로 연산을 나타내는 제어단어르르 포함하고 있다.

- 마이크로 명령어가 모두 수행되고 나면, 다음에 수행될 마이크로 명령어의 주소를 결정해야 한다.

- 다음 마이크로 명령어의 주소를 결정하기 위해서는 주소 정보가 현재의 마이크로 명령어 내에 한 비트 혹은 여러 비트로 있어야 한다.

 

제어주소레지스터 : 제어기억장치에 있는 마이크로 명령어의 주소를 나타낸다.

 

다음주소생성기 : 다음에 수행될 마이크로명령어의 주소를 만들어 낸다.

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

1. CAR의 1증가

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

3. 외부로부터 온 주소를 CAR에 적재

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

 

제어데이터 레지스터 : 제어기억장치에서 읽어온 현재 마이크로 명령어를 저장하고 있다.

 

 

 

1. 제어주소레지스터에 새로운 주소가 들어오면, 이 주소에 있는 26비트의 마이크로 명령어를 제어기억장치로부터 인출.

2. 마이크로 명령어의 제어단어는 제어주소레지스터의 다음 동작을 결졍

3. 처리장치에서 해당하는 상태비트를 새로운 값으로 갱신하며, 다음 주소를 제어주소레지스터로 전송

4. 제어주소레지스터의 새로운 주소는 제어기억장치의 다음 마이크로 명령어를 지정

5. 이러한 과정을 각 클럭의 천이 때마다 반복.

 

 

마이크로명령어 형식

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

마이크로명령어의 구성내역

ex) 26비트의 예

16비트 : 처리장치의 레지스터를 선택하는 제어단어

10비트 : 제어장치에서 사용하는 필드

 

마이크로프로그램의 개념

마이크로프로그램의 작성

마이크로 프로그램이란?

제어기억장치에 저장된 일련의 마이크로명령어들의 집합(마이크로프로그램 루틴)

이러한 마이크로 프로그램을 이용하여 제어장치를 구현(마이크로 프로그램에 의한 제어장치)

 

예)

원하는 동작

1. 레지스터 R1의 내용에서 R2의 내용을 빼서 그 결과를 R3에 저장한다.

2. 또한 R1과 R2의 내용 중에서 작은 수를 R4에 더하고, 만약 R1과 R2의 내용이 같으면 R4를 1증가시킨다.

3. R4의 내용을 처리장치의 출력단자로 보낸다.

 

순서적인 표현

1. R3 <- R1-R2 (이때 C와 Z에 새로운 값이 들어간다.)

2. a. R1<R2 이면 (C=0), R4 <- R4+R1

    b. R1>R2이면(C=1, Z=0), R4<-R4+R2

    c. R1=R2 이면(Z=1), R4<-R4+1

3. Output <- R4, 외부주소로 분기한다.

 

레지스터 전송문(20번지에서 시작하여 외부번지로 분기한다고 가정)

주소 마이크로 연산과 분기조건
20 R3<-R1-R2, CAR<-CAR+1
21 if(C=1) then (CAR<-23) else (CAR<-CAR+1)
22 R4<-R4+R1, CAR<-26
23 if(Z=0) then (CAR<-25) else(CAR<-CAR+1)
24 R4<-R4+1, CAR<-26
25 R4<-R4+R2, CAR<-CAR+1
26 출력<-R4, CAR<-외부주소

 

기호마이크로프로그램

주소 A B D F H MUX1 MUX2 다음주소
20 R1 R2 R3 SUB NSH - NEXT -
21 - - NONE TSF NSH INT LC 23
22 R4 R1 R4 ADD NSH INT LAD 26
23 - - NONE TSF NSH INT LNZ 25
24 R4 - R4 INC NSH INT LAD 26
25 R4 R2 R4 ADD NSH - NEXT -
26 R4 - NONE TSF NSH EXT LAD -

 

2진 마이크로프로그램

주소 A B D F H MUX1 MUX2 다음주소
010100 001 010 011 0101 000 0 000 000000
010101 000 000 000 0000 000 0 010 010111
010110 100 001 100 0010 000 0 001 011010
010011 - - 000 0000 000 0 101 011001
011000 100 000 100 0001 000 0 001 011010
011001 100 010 100 0010 000 0 000 000000
011010 100 - 000 0000 000 1 001 000000

 

마이크로프로그램의 개념

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

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

- 이러한 이유로 펌웨어라고도 함

 

 

하드웨어에 의한 제어

하드웨어에 의한 제어장치

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

 

제어장치의 설계

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

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

결국 제어장치의 설계는 순서회로의 설계이다.

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

 

구현방법

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

결정논리가 제어장치가 된다.

외부 입력에 의한 결정논리에서 출력 C0, C1, C2의 상태가 결정되며, 이들은 순서적으로 한개 상태씩 동작된다.

 

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

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

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

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

2비트로 된 레지스터와 2x4 디코더를 이용한 네 가지 상태의 순서제어논리

- 순서레지스터는 2개의 플립플롭을 가지며, 레지스터의 다음 상태는 현재 상태와 외부입력에 의해 결정되고, 제어 출력신호는 디코더의 출력이 된다.

 

 

 

 

 

'방송대 > 컴퓨터구조' 카테고리의 다른 글

4장 처리장치  (0) 2022.08.26
3장 컴퓨터명령어  (0) 2022.08.19
2장 컴퓨터와 디지털 논리회로  (0) 2022.08.18
1장 컴퓨터 시스템의 개요  (0) 2022.08.17
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
글 보관함