중앙처리장치/제어장치: Difference between revisions

From IT Wiki
No edit summary
No edit summary
 
(3 intermediate revisions by one other user not shown)
Line 1: Line 1:
[[분류:컴퓨터구조]][[분류:정보처리기사]]
[[분류:컴퓨터 구조]][[분류:정보처리기사]]
;중앙처리장치의 구성 요소로, 주기억장치에서 읽어 들인 명령어를 해독하여 해당하는 장치에게 제어 신호 송신
;중앙처리장치의 구성 요소로, 주기억장치에서 읽어 들인 명령어를 해독하여 해당하는 장치에게 제어 신호 송신


Line 13: Line 13:
** aka '명령 해독기'
** aka '명령 해독기'
** 명령 레지스터에 있는 명령어를 해독
** 명령 레지스터에 있는 명령어를 해독
* '''메모리 버퍼 레지스터(MBR)'''
** 기억장치에 입출력되는 데이터의 주소 번지를 기억
* '''제어 주소 레지스터(CAR)'''
* '''제어 주소 레지스터(CAR)'''
** 다음에 실행할 마이크로 명령어 주소를 저장
** 다음에 실행할 마이크로 명령어 주소를 저장
Line 20: Line 22:
* '''제어 기억장치'''
* '''제어 기억장치'''
** 마이크로 프로그램을 저장
** 마이크로 프로그램을 저장
* '''프로그램 카운터(PC)'''
** 다음번에 실행할 명령어의 번지를 기억
* '''순서 제어 모듈'''
* '''순서 제어 모듈'''
** 마이크로 명령어의 실행 순서를 결정
** 마이크로 명령어의 실행 순서를 결정
* '''순차 카운터(Sequence Counter)'''
* '''순차 카운터(Sequence Counter)'''
** 디코더에 의해 선택된 번호에 해당하는 타이밍 신호를 샌성
** 디코더에 의해 선택된 번호에 해당하는 타이밍 신호를 생성


== 제어장치 입력값 ==
== 제어장치 입력값 ==
;일반적인 제어 장치 모델에서 제어 장치로 입력되는 항목
* 명령 레지스터
* 명령 레지스터
* 플래그
* 플래그

Latest revision as of 00:47, 9 May 2019

중앙처리장치의 구성 요소로, 주기억장치에서 읽어 들인 명령어를 해독하여 해당하는 장치에게 제어 신호 송신

구성 및 역할[edit | edit source]

  • 명령 레지스터(IR)
    • 현재 실행중인 명령어를 기억
  • 인코더(Encoder)
    • aka '제어신호 발생기', '부호기'
    • 해독된 명령에 따라 각 장치로 보낼 제어 신호를 생성
  • 디코더(Decoder)
    • aka '명령 해독기'
    • 명령 레지스터에 있는 명령어를 해독
  • 메모리 버퍼 레지스터(MBR)
    • 기억장치에 입출력되는 데이터의 주소 번지를 기억
  • 제어 주소 레지스터(CAR)
    • 다음에 실행할 마이크로 명령어 주소를 저장
    • Mapping 결과값, 주소 필드, 서브루틴 레지스터 내용 적재
  • 제어 버퍼 레지스터(CBR)
    • 제어 기억장치로부터 읽혀진 마이크로 명령어 비트들을 일시적으로 저장
  • 제어 기억장치
    • 마이크로 프로그램을 저장
  • 프로그램 카운터(PC)
    • 다음번에 실행할 명령어의 번지를 기억
  • 순서 제어 모듈
    • 마이크로 명령어의 실행 순서를 결정
  • 순차 카운터(Sequence Counter)
    • 디코더에 의해 선택된 번호에 해당하는 타이밍 신호를 생성

제어장치 입력값[edit | edit source]

일반적인 제어 장치 모델에서 제어 장치로 입력되는 항목
  • 명령 레지스터
  • 플래그
  • 클록

제어 방식[edit | edit source]

고정배선 방식[edit | edit source]

하드 와이어드 제어장치
  • 회로도가 복잡하고 구현 비용이 많이 들어간다.
  • 제어 메모리가 필요 없으며 속도가 빠르다.
  • 명령어 교체를 위해 하드웨어를 교체해야 함
  • 너무 복잡해서 거의 사용되지 않는다.

마이크로 프로그래밍 방식[edit | edit source]

  • 회로가 단순하고 구현 비용이 저렴하다.
  • 마이크로 프로그램이 저장된 별도의 제어 메모리를 필요로 한다.
  • 속도가 상대적으로 느리다
  • 융통성이 높아 많이 사용된다.