DevGang
[CA-13] 명령 실행과 제어 본문
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)
- 주기억 장치의 지정 장소로부터 명령을 읽어서 중앙처리장치에 가지고 오는 단계
인터럽트를 처리한 후 다음으로 전환해야 될 메이저 스테이트
- 인터럽트 단계(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