3 분 소요


▶ 제어 장치

▷ 기능

  • IR에 있는 명령어를 받아 해석
  • 명령어 실행에 필요한 제어 신호들의 발생
  • 회로가 아닌 마이크로프로그래밍으로 구현한다!
    • 제어 신호들의 종류와 발생 시간은 명령어마다 서로 다름 → 명령어의 수가 많아질수록 제어 유닛의 내부 회로가 복잡해지기 때문


  • 프로그램의 입장에서 볼 때 제어장치는 해석장치
  • ⭐데이터 입장에서의 제어장치는 데이터를 각 장치에 이리저리 보내주는 역할 (데이터 흐름 제어) => 즉, 명령어 해석 장치 뿐만 아니라, 내가 필요한 레지스터로 옮겨갈 수 있는 신호들을 발생시켜준다!


  • 마이크로 명령어

▷ 구조

  • 명령어 해독기(Instruction Decoder)

    • 명령어 레지스터(IR)로부터 들어오는 명령어의 연산코드를 해석하여 해당 연산을 수행하기 위한 루틴의 시작 주소를 결정
  • 제어 주소 레지스터(CAR, Control Address Register)

    • 마이크로 명령어의 주소를 저장하는 레지스터
      • 이 주소는 제어 기억장치의 특정 위치를 지칭
  • 제어 기억장치(Control Memory)

    • 마이크로 명령어들로 이루어진 마이크로프로그램을 저장하는 내부 기억장치 (보통 ROM으로 구성)

    → 만약 LOAD 명령이 들어 온다면 LOAD 명령은 루틴이 시작되는 시작번지로 온다. 그 후, CAR을 통해서 제어 기억장치로 간 후 세부적인 연산이 수행되는 것이다!


  • 제어 버퍼 레지스터(CBR, Control Buffer Register)
    • 마이크로 명령어 비트들을 일시적으로 저장하는 레지스터
  • 서브루틴 레지스터(SBR, Subroutine Register)

    • 마이크로프로그램에서 서브루틴이 호출되는 경우에 현재의 CAR 내용을 일시적으로 저장하는 레지스터
  • 순서 제어 모듈(Sequencing Module)
    • 마이크로 명령어의 실행 순서를 결정하는 회로들의 집합
    • 순서 제어 모듈의 구성은 설계와 회로에 따라 다르다.


▷ 설계

① 고정 배선 제어 (Hardwired control)

  • 특징
    • 하드웨어적인 방식으로 구현하는 것
    • 회로에 선들을 박아버려 순서적으로 진행!할 수 있도록 한다.
    • 순서적으로 진행이 되는데, 시간 조절을 위해 지연 소자나 순차 카운터들로 구현한다.
  • 장점
    • 속도가 빠르다
  • 단점
    • 변경이 어렵다.


② 마이크로프로그램 제어

  • 특징
    • H/W 회로들이 복잡해져서 S/W 방식인 마이크로프로그램을 사용하게 되었다.
    • 제어용 타이밍 신호를 제어용 ROM에서 얻는 방식이다.
    • IR에 갖고 있는 명령어 값과 상태 플리플롭의 값에 따라서 다음 주소가 결정이 된다.


H/W와 S/W의 장ㆍ단점으로 생각하면 된다!

  • 장점
    • ROM의 프로그램에 의존하므로 설계가 용이하다.
    • 매우 구조적(well structured)이다.
      • 마이크로프로그램 제어 방식은 ROM 내의 프로그램에 의하므로 매우 구조적
    • 에뮬레이션이 능률적이다.
      • 에뮬레이션 : H/W로 구성되어 수행되는 작업을 S/W로 구현한 것
    • 융통성이 있다
      • 변경이 용이하다.
      • 개발비가 적게든다.
      • 프로그램 형태이므로 자기진단 기능을 갖출 수 있다.
  • 단점
    • 속도가 느리다.


▷ CISC와 RISC⭐⭐

  CISC 방식 RISC 방식
개념 복잡하고 기능이 많은 명령어로 구성된 컴퓨터이다. CPU의 명령어 개수를 줄어 H/W 구조를 단순하게 설계한 컴퓨터이다.
제어 장치 구성 마이크로 프로그래밍 방식 고정 배선 제어 방식
목적 최소의 프로그램 길이로 최대의 동작 → 하나의 명령어당 최대한 많은 작업 프로그램 길이는 길어도 실행 시간의 최소화 → 명령어 하나당 하나의 연산
장점 명령어가 S/W적이므로 컴파일 과정이 쉽고, 호환성이 좋다. 좀 더 빠른 속도로 동작할 수 있다.
단점 ① 복잡한 명령어로 속도가 느리고 CPU 내부 회로가 복잡하다.
② 가격이 비싸다.
① 실행하는데 많은 명렁어가 필요하다.
② 저장공간을 많이 차지한다.
명령어 형식 가변길이 고정길이
주소지정 방식 다양 적음
파이프 라인 여러 클럭에 걸쳐 명령어를 수행하기 때문에 비효율적이다. 1클럭 내외로 명령어를 수행하기 때문에 효율적이다.


논문을 참고해서 자세히 알아보기!!!!!⭐⭐⭐⭐ RISC와 CISC 혼합 방식에 대해서도 자세히 알아야한다.




▶ 마이크로 명령어

▷ 종류

  • 프로그램 실행의 계층적 표현

데이터 입장에서의 제어장치는 데이터를 각 장치에 이리저리 보내주는 역할이라는 것을 항상 생각하고 있기!!(데이터 흐름 제어)

F가 연산장치, R이 레지스터 일 때,

  • F(R) → R 마이크로 오퍼레이션
    • 첫 번째 레지스터에 있는 값을 연산 장치로 두 번째 레지스터로 이동하는 오퍼레이션을 진행한다.
  • F(R, R) → R 마이크로 오퍼레이션 두 개의 레지스터에서 한 개의 레지스터로 이동할 수 있다.


▷ 형식

  • 각 필드의 비트수는 늘어날수도, 줄어들수도 있다.
  • 조건 필드와 분기 필드를 같이 봐야한다.

  • 조건 필드

    • 두 비트로 구성되며, 분기의 조건으로 사용
  • 분기 필드
    • 두 비트로 구성되며, 분기 동작을 지정


▷ 제어 신호 발생 방법

마이크로 명령어 내 연산 필드의 비트들로 제어 신호를 발생한다.


① 수직적 마이크로프로그래밍

  • 특징
    • 마이크로 명령어의 연산 필드에 적은 수의 코드화된 비트들을 포함시키고, 해독기를 이용하여 그 비트들을 필요한 수만큼의 제어 신호들로 확장하는 방식
  • 예시
    • 3개 비트를 받아 8개로 확장
  • 장점
    • 마이크로 명령어의 길이(비트 수) 최소화 (해독기들로 확장할 수 있기 때문에 적은 비트수로 표현 가능) → 제어 기억장치 용량 감소
  • 단점
    • 해독 동작에 걸리는 만큼의 지연 시간 발생


② 수평적 마이크로프로그래밍

  • 특징
    • 연산 필드의 각 비트와 제어 신호를 1:1로 대응시키는 방식
    • 필요한 제어 신호 수만큼의 비트들로 이루어진 연산 필드 비트들이 마이크로 명령어에 포함되어야 한다.
    • 연산 필드에서 받는 필드 그대로 제어 신호 발생!


  • 예시
    • 8비트의 연산 비트를 가지고 있을 때, 그대로8개의 제어 신호가 발생한다.


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


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




📎참조

  • 『 성결대학교 김자원 교수님 』 - 컴퓨터 구조 (2023)
  • 『 컴퓨터구조(제5판) 』 - 복두 출판사
  • https://m.blog.naver.com/webserver3315/221389714502

댓글남기기