본문 바로가기
공부

컴퓨터 개론 - 제어 유니트 (2025 / 10 / 03)

by 라이티아 2025. 11. 3.

1. 제어 유니트의 기능

  • 명령어 코드의 해독
  • 명령어 실행에 필요한 제어 신호들의 발생

마이크로 명령어 = micro instruction

명령어 사이클의 각 주기에서 실행되는 각 마이크로 연산을 지정해주는 2진 비트들로서, 제어 단어라고도 함

 

마이크로 프로그램 = 마이크로 명령어의 집합

 

루틴 = routine

CPU의 특정 기능을 수행하기 위한 마이크로 명령어들의 그룹

 

2. 제어 유니트의 구조

구성요소들

  • 명령어 해독기 = instruction decoder
    명령어 레지스터로부터 들어오는 명령어의 연산 코드를 해독하여 해당 연산을 수행하기 위한 루틴의 시작 주소를 결정
  • 제어 주소 레지스터 = control address register : CAR
    다음에 실행할 마이크로명령어의 주소를 저장하는 레지스터 -> 이 주소는 제어 기억장치의 특정 위치를 지칭
  • 제어 기억장치 = control memory
    마이크로명령어들로 이루어진 마이크로 프로그램을 저장하는 내부 기억장치
  • 제어 버퍼 레지스터 = control buffer register : CBR
    제어 기억장치로부터 읽혀진 마이크로 명령어 비트들을 일시적으로 저장하는 레지스터
  • 서브루틴 레지스터 = subroutine register : SBR
    마이크로 프로그램에서 서브루틴이 호출되는 경우에 현재의 CAR내용을 일시적으로 저장하는 레지스터
  • 순서제어 모듈 = sequencing module
    마이크로 명령어의 실행 순서를 결정하는 회로들의 집합

명령어 해독

명령어의 연산 코드가 지정하는 연산을 위한 실행 사이클 루틴의 시작 주소를결정하는 동작

 

사상 = mapping을 이용한 해독방법

  • 명령어의 연산 코드를 특정 비트 패턴과 조합

예) 16비트 길이 명령어가 4비트 연산코드 / 1비트 간접 주소 지정 / 11비트 주소 구성인 경우

사상 함수가 1XXXX00인 경우

연산 코드 0001 -> 실행 사이클 루틴 시작주소 = 1000100
연산 코드 0110 -> 1011000

 

3. 마이크로 명령어의 형식

  • 연산 필드가 두 개이면, 두 개의 마이크로 연산들을 동시에 수행 가능
  • 조건 = CD필드는 분기에 사용될 조건 플레그를 지정
  • 분기 = BR필드는 분기 종류와 다음에 실행할 마이크로명령어의 주소를 결정하는 방법을 명시
  • 주소 필드 = ADF의 내용은 분기가 발생하는 경우에 목적지 마이크로명령어의 주소로 사용

조건 필드의 코드 지정

U : 무조건 분기

I : 만약 I =1일시, 간접 사이클 루틴을 호출

S : 누산기에 저장된 데이터의 부호가 1이면, 분기

Z : 누산기에 저장된 데이터가 0(Z = 1)이라면, 분기

 

분기 필드의 코드 지정

분기 필드 = 두 비트로 구성되며, 분기 동작을 지정

  • 조건 필드의 조건이 만족되면, ADF 필드의 내용을 CAR로 적재 -> 그 주소로 분기 = JUMP, CALL
  • RET = 서브루틴으로부터 복귀
  • MAP = 사상 방식에 의하여 분기 목적기 주소 결정
코드 기호 설명
00 JMP 조건 = 1, CAR <- ADF
조건 = 0, CAR <- CAR +1
01 CALL 조건 = 1, SBR <- CAR + 1, CAR <- ADF
조건 = 0, CAR <- CAR +1
10 RET CAR <- SBR
11 MAP CAR(1)  <- 1, CAR(2-5) <- IR(op(opcode)),
CAR(6, 7) <- 0

 

4. 마이크로 프로그래밍

01 인출 사이클 루틴의 마이크로 명령어 루틴

만약 CD, BR이 00, 00일시 무조건 분기가 됨

 

02 간접 사이클 루틴

 

지금 잘 모르겠는것

u-ops는 정확하게 무엇인가?

 

03 실행 사이클 루틴

사상 방식을 이용하여 각 연산 코드에 대한 실행 사이클 루틴의 시작 주소를 결정하고, 각 명령어 실행을 위한 루틴을 작성

 

5. 마이크로 프로그램의 순서제어

순서제어 = sequencing

다음에 실행할 마이크로 명령어의 주소 결정

 

CAR 초기값 = 0(인출 사이클 루틴의 첫 번째 마이크로 명령어의 주소)

 

MUX1 : 다음에 실행할 마이크로명령어의 주소 선택

MUX2 : 조건 플래그를 선택하여 주소 선택회로로 전송

 

MUX = 조합 논리 회로

제어 기억장치를 가지고 활동을함

CAR을 통해 접근

CAR에 4가지 주소가 들어감

이때 선택신호 필요 = 주소 선택 회로가 선택함

주소 선택 회로에는 BR과 C가 들어감

이때 C는 MUX2 = 조건 선택 회로에 따라 한 비트를 보냄

 

제어 신호의 생성

제어 기억장치로부터 인출된 마이크로명령어 내 연산필드의 비트들이 제어 유니트의 외부로 출력되어, 각각 제어 신호로 사용됨

 

01 수직적 마이크로프로그래밍 Vertical microprograming

마이크로 명령어의 연산 필드에 적은 수의 코드화된 비트들을 포함시키고, 해독기를 이용하여 그 비트들을 필요한 수 만큼의 제어 신호들로 확장하는 방식

 

장점 = 마이크로 길이 최소화 -> 제어 기억장치 용량 감소

단점 = 해독 동작에 걸리는 만큼 지연시간 발행

 

02 수평적 마이크로프로그래밍 Horizontal microprograming

연산 필드의 각 비트와 제어 신호를 1:1로 대응시키는 방식

필요한 제어 신호 수 만큼의 비트들로 이루어진 연산필드 비트들이 마이크로 명령어에 포함되어야 함

 

장점 = 하드웨어가 간단하고, 해독에 따른 지연 시간이 없음

단점 = 마이크로 명령어의 비트수가 길어지기 때문에 제어 기억장치의 용량이 증가

'공부' 카테고리의 다른 글

QA - Testing  (0) 2025.11.08
컴퓨터 구조 - 기억장치 (2025 11 04)  (0) 2025.11.04
컴퓨터 개론 06 인공지능과 딥러닝  (0) 2025.04.13
컴퓨터 개론 05 운영체제와 활용  (0) 2025.04.13
컴퓨터 개론 04 컴퓨터 구조  (0) 2025.04.13