.

독학사2단계_컴퓨터시스템구조_6장 제어장치

by 담배맛구마

6장 제어장치

가. 제어장치의 기능

명령어를 해독하고 해독한 결과에 따라 명령어 실행에 필요한 제어신호들을 발생하는 장치


각 명령어 사이클 마다 마이크로 연산(Micro Operation)이 수행된다.

※ 마이크로 연산 :: 1개의 클록 펄스 동안 레지스터의 데이터가 실행하는 것으로 명령어 수행의 기본 동작이다.


CPU의 1 Clock 마다 마이크로 연산이 수행된다.

마이크로 연산은 2진수로 표현되며 마이크로 명령어(Micro Instruction) 또는 제어 단어(Control Word)라고 부른다.

이러한 마이크로 연산의 집합을 마이크로프로그램(Micro Program)이라 한다.




나. 제어장치의 구조

명령어 해독기(Instruction Decoder)

MBR을 통해 IR로 들어온 명령어의 OP-Code를 해독하고 해독한 OP-Code의 연산을 위해 시작 주소를 결정


제어 주소 레지스터(CAR; Control Address Register)

항상 다음에 실행할 마이크로 명령어의 주소를 저장(PC와 비슷해)


제어 버퍼 레지스터(CBR; Control Buffer Register)

제어 메모리에서 읽은 마이크로 명령어를 일시적으로 기억하는 레지스터


제어 메모리(Control Rom; Control Memory)

소자는 ROM이며 마이크로 프로그램이 저장된 내부기억장치이다.


서브 루틴 레지스터(SBR; SuB routine Register)

마이크로 프로그램에서 서브 루틴이 발생한 경우에 현재의 CAR의 내용을 일시적으로 저장하는 레지스터

서브 루틴이 끝나면 다시 복구된다.


(http://jade314.tistory.com/entry/7-%EC%A0%9C%EC%96%B4%EC%9E%A5%EC%B9%98-micro-programming)


다. 명령어 사이클에서의 제어신호

메이저 상태(Major State) 

CPU가 무엇을 하고 있는지를 나타내는 상태로써 계속 상호 반복된다.


인출 사이클(Fetch Cycle)

명령어를 주기억장치에서 CPU의 IR로 가져와 해독하는 단계


MAR ← PC

MBR ← M[MAR], PC ← PC + 1

IR ← MBR


실행 사이클(Execute Cycle)

인출 사이클에서 해독된 명령어를 실행하는 단계

인터럽트가 발생하지 않으면 다시 인출 사이클로 변환된다.


실행 사이클의 과정은 마이크로 명령어마다 다르다.(각 연산코드마다 별도의 마이크로 순서가 있다.)

ADD X

MBR ← M[X]

AC ← AC + MBR


LDA X        X번지의 내용을 AC에 저장

MBR ← M[X]

AC ← MBR


STA X        AC의 내용을 X번지에 저장

M[X] ← AC


간접 사이클(Direct Cycle)

명령어가 간접주소지정방식일 때 다시 주기억장치를 읽는다.


MAR ← IR(addr)

MBR ← M[MAR]

IR(addr) ← MBR


인터럽트 사이클(Interrupt Cycle)

명령어를 실행하는 도중에 인터럽트가 발생하면 해당 인터럽트 처리를 수행한다.


MBR ← PC

MAR ← SP, PC ← ISR(Interrupt Service Rootine)의 시작 주소; 인터럽트의 시작주소

M[MAR] ← MBR



라. 마이크로 프로그램 제어방식

  제어 장치의 구현 방식 中 하나이다. 하드와이어드 방법보다는 느리나 제어 메모리에 기억된 제어정보를 이용하여 마이크로 연산을 순차적으로 처리하기 떄문에 CPU 구조가 변경되어도 제어 메모리의 마이크로 프로그램만 교체하면 되기에 경제적이다.


1) 마이크로 명령어의 형식

마이크로 연산에 필요한 제어 신호를 제어 메모리에 저장하고 마이크로프로그램을 순차적으로 실행한다.


마이크로 명령어와 구분을 위해 일반 명령어를 매크로 명령어이라고도 한다.





각 연산필드마다 총 7개의 동작을 한다.(000은 None으로 아무동작X 그저 시간만 지연시킴)

연산필드가 총 3개 이므로 총 3개의 마이크로 연산이 동시에 수행될수 있다.

각 각 필드마다 정해진 값과 연산이 정해져있다. 자세한건 구글링


2) 마이크로 프로그래밍


3) 마이크로 프로그램 실행


마. 하드와이어드(Hardwired) 제어

제어 장치의 구현 방식 中 하나이다. 하드와이어드 제어장치는 OP Code를 해석하고 마이크로 연산의 실행 순서를 제어, 실행하고 ALU의 사애검사 등의 모든 과정을 회로로 구성해야 하기에 명령어가 복잡하다면 구현하기가 어렵다. 따라서 명령어 세트가 간단한 컴퓨터를 제외하고는 잘 사용하지 않는다.


반응형

블로그의 정보

정윤상이다.

담배맛구마

활동하기