DevGang

[CA-13] 명령 실행과 제어 본문

정보처리/CA

[CA-13] 명령 실행과 제어

별천랑 2021. 2. 6. 16:35

1. 명령 실행과 제어

- 마이크로 오퍼레이션(Micro Operation)

  • 명령을 수행하기 위해 CPU 내의 레지스터와 플래그의 상태 변환을 일으키는 작업
  • 제어신호 : 마이크로 오퍼레이션을 순차적으로 일어나게 하는데 필요한 신호. 
  • 마이크로 오퍼레이션은 Clock 펄스에 기준을 두고 실행
  • 기억장치로부터 명령어를 인출하여 해독하고, 해독된 명령어를 실행하기 위해 제어 신호를 발생시키는 각 단계의 
    세부 동작을 말함
  • 동기 디지털 시스템에 내장되어 있는 모든 레지스터의 타이밍은 마스트 클록 발생기에 의하여 제어됨

- 마이크로 사이클 타임(Micro Cycle Time)

  • 마이크로 오퍼레이션 수행에 필요한 시간을 마이크로 사이클 타임이라 함

- 마이크로 사이클 타임 부여 방식

  • 동기 고정식(Synchronous Fixed) : 수행 시간이 가장 긴 것을 정의한 방식, 처리속도의 길이가 비슷할 때 사용
  • 동기 가변식(Synchronous Variable) : 수행 시간을 다르게 하는 것(CPU를 효율적 사용 가능)
  • 비동기식(Asynchronous) : 서로 다른 마이크로 사이클 타임을 정의, 제어기가 복잡해 실제로는 거의 사용되지 않음. 

2. 메이저 스테이트( 메이저 상태, Major State)

  • 정의 : CPU가 무엇을 하고 있는가를 나타내는 것으로서 기억 장치의 사이클을 단위로 하여 해당 사이클 동안
    에 무엇을 위해 기억 장치를 접근하는가를 나타내 주는 것

- 간접 단계(Indirect Cycle)

  • 인스트럭션의 수행 시 유효 주소를 구하기 위한 메이저 상태
  • 간접 단계(Indirect cycle) 동안에 기억 장치로부터 오퍼랜드(데이터)의 번지(Address)를 인출

- 실행 단계(Execute Cycle)

  • 실제로 명령을 이행하는 단계

- 인출 단계(Fetch Cycle)

  • 주기억 장치의 지정 장소로부터 명령을 읽어서 중앙처리장치에 가지고 오는 단계
    인터럽트를 처리한 후 다음으로 전환해야 될 메이저 스테이트

인출 단계(Fetch Cycle)에서 일어나는 마이크로 오퍼레이션

- 인터럽트 단계(Interrupt Cycle)

  • 하드웨어로 실현되는 서브루틴의 호출이라고 볼 수 있음
  • Interrupt Cycle에서 일어나는 마이크로 오퍼레이션

인터럽트 단계에서 일어나는 마이크로 오퍼레이션

3. 주요 명령의 마이크로 오퍼레이션

- AND

  • AC(누산기) 내용과 메모리 내용을 AND(논리곱) 연산하여 결과를 AC에 저장하는 연산 명령

- ADD

  • AC와 메모리의 내용을 더하여 결과를 AC에 저장하는 연산 명령

- LDA(Load to AC)

  • 메모리의 내용을 AC로 가져오는 명령

- STA(Store AC)

  • AC의 내용을 메모리에 저장하는 명령

- BUN(Branch UNconditionally)

  • PC에 특정한 주소를 전송하여 실행 명령의 위치를 변경하는 무조건 분기 명령

- BSA(Branch and Save Return Address)

  • 복귀 주소를 저장하고 부 프로그램을 호출하는 명령

- ISZ(Increment and Skip if Zero)

  • 메모리의 값을 읽고 그 값을 1 증가시킨 후 음수에서 시작한 그 값이 0이면 현재 명령을 건너 띄고 다음 명령으로 이동

4. 제어장치와 마이크로 프로그램

- 제어 데이터의 종류

  • 각 메이저 스테이트 사이의 변천을 제어하는 제어 데이터
  • 중앙처리장치의 제어점을 제어하는데 필요한 제어 데이터
  • 인스트럭션의 수행 순서를 결정하는데 필요한 제어 데이터

- 제어 데이터가 될 수 있는 것

  • 연산자의 종류, 인스트럭션의 주소 지정방식, 연산 결과에 대한 상태 플래그 내용

- 제어장치(제어기)의 구현

  • 고정 배선 방식 : 속도가 빠르지만, 마이크로 프로그램 방식에 비해 가격이 비쌈
  • 마이크로 프로그램 방식 : 고정 배선 방식에 비해 속도가 느림

5. 마이크로 프로그램(Microprogram)

  • 명령을 수행할 수 있도록 된 일련의 제어 워드가 특수한 기억 장치 속에 저장된 것으로 각종 제어신호를 발생시킴
  • 마이크로 명령으로 형성되어 있음
  • 전자계산기의 제작 단계에서 컨트롤 스토레이지 속에 저장됨
  • 제어기를 구성하는 방법으로 마이크로 프로그램이 이용될 수 있음
  • 마이크로 프로그램이 저장되는 제어 메모리는 ROM에 주로 사용되고 사용자가 변경시킬 수 없음
  • 별도의 번역과 RAM으로 접근이 필요하지 않기 때문에 일반적인 소프트웨어와 구별하여 펌웨어(Firmware)라고도 함

6. 마이크로 프로그래밍 (Micro Programming)

- 수직적 마이크로 프로그래밍 (Vertical microprogramming)

  • 마이크로 명령어의 연산 필드에 적은 수의 코드화 된 비트들을 포함시킴으로써 제어 기억 장치의 용량을 줄이고, 해독기를 이용하여 그 코드를 필요한 수만큼 제어 신호들로 확장하는 방식
  • 장점 : 마이크로 명령어의 비트수가 감소
  • 단점 : 해독 시간만큼의 지연 시간이 발생

- 수평적 마이크로 프로그래밍 (Horizontal microprogramming)

  • 연산 필드의 각 비트와 제어 신호를 1:1로 대응시켜, 그 수만큼의 비트들로 이루어진 마이크로 명령어를 사용하는 방식
  • 장점 : 하드웨어가 간단하고, 해독에 따른 지연시간이 없음
  • 단점 : 마이크로 명령어 비트수가 길기 때문에 더 큰 용량의 제어 기억장치가 필요

'정보처리 > CA' 카테고리의 다른 글

[CA-15] 특수 기억장치  (0) 2021.02.06
[CA-14] 기억장치  (0) 2021.02.06
[CA-12] 연산(Operation)  (0) 2021.02.06
[CA-11] 주소 지정방식  (0) 2021.02.06
[CA-10] 기타 요약정리  (0) 2021.02.06
Comments