정보처리기사 필기 - 2과목 전자계산기 구조


4장 명령 실행과 제어


1. 마이크로 오퍼레이션


· 한 개의 Clock 펄스 동안 실행되는 기본 동작

· 한 단계씩 이루어지는 동작

· 명령을 수행하기 위해 CPU 내의 레지스터와 플래그의 상태 변환을 일으키는 작업

· 제어신호 : 마이크로 오퍼레이션의 순서를 결정하기 위하여 제어 장치가 발생하는 신호

· 종류

- 수평 마이크로 명령(각 비트가 각 제어신호에 대응), 수직 마이크로 명령, 나노 명령

· 마이크로 프로그램 : 어떤 명령을 수행할 수 있도록 된 일련의 제어 워드가 특수한 기억장치 속에 저장된 것

- ROM에 저장되고 경제적이며 하드와이어드 방식보다 느림

· 마이크로 오퍼레이션중에 인덱스 레지스터는 플그램으로 레지스터의 내용 변경 가능

 마이크로 프로그램을 이용한 제어방식

 고정배선제어방식(하드웨어방식, 하드와이어 제어 방식)

 구조적이고 임의적인 설계 가능 / 유지보수 용이

 복잡

 경제적, 설계비용 감소

 비쌈

 느림

 빠름

· 마이크로 프로그램 제어기가 다음에 수행할 마이크로 인스트럭션의 주소를 결정하는데 사용하는 정보

- 인스트럭션 레지스터(IR), CPU의 상태 레지스터, 마이크로 인스트럭션에 나타난 주소


· Micro Cycle Time 부여 방식

- 동기 고정식

= 동작 시간이 모두 같음

= 가장 긴 마이크로 오퍼레이션의 동작을 마이크로 사이크 타임으로 정함

= 동작시간이 비슷할 때 유리(시간 지연X)

= 클록 사이클 = 가장 긴 시간 + 지연 시간

- 동기 가변식

= 동작 시간이 그룹별로 다름

= 각 그룹 간 서로 다른 사이클 타임의 동기를 맞추기 위해 그룹 간의 마이크로 사이클 타임을 정수배가 되게함

- 비동기식 : 동작시간이 모두 다름


· data flow machine : 프로그램 내의 모든 인스트럭션들이 그들의 수행에 필요한 피연산자들이 모두 준비되었을 때 그 인스트럭션을 수행하는 것으로 데이터 추진(data driven) 방식이라 할 수 있는 것


※ 하나의 명령을 처리하는 과정

① 인스트럭션 패치

② 인스트럭션 디코딩

③ 오퍼랜드 패치

④ 실행

⑤ 인터럽트 조사



2. 메이저 스테이트

· 메이저 스테이트 : 현재 CPU가 무엇을 하고 있는지를 나타내는 상태


※ PC(프로그램 카운터) : 다음에 실행할 명령어의 버지를 기억

MBR : 기억장치에 출입하는 데이터가 일시적으로 저장

MAR : 기억장치에  출입하는 데이터의 주소 기억


· 인출단계(Fetch Cycle)

- 명령어를 주기억장치에서 중앙처리장치의 명령 레지스터로 셋 시켜 가져와 해독

- 명령어 종류 판별

- 명령어를 가져오기 위해 기억장치에 접근

- 중앙처리장치가 fetch 상태인 경우에 명령어가 제어점을 제어

① MAR ← PC

② MBR ← M[MAR], PC ←PC+1

③ IR ← MBR[OP]


· 간접단계(Indirect Cycle)

- 주소부가 간접주소인 경우에만 수행

- 오퍼랜드의 주소를 읽어내는 단계(기억장치로부터 주소 인출)

- 유효주소를 계산하기 위한 단계

① MAR ← MBR[AD]

② MBR ← M[MAR]


· 실행단계(Execute Cycle)

- 실행상태에서 interrupt 요청이 발생되면 interrupt로 가고 아니면 fetch 상태로 감

- ADD

① MAR ← MBR[AD]

② MBR ← M[MAR]

③ AC ← AC+MBR

 - LDA(load to AC)

① MAR ← MBR[AD]

② MBR ← M[MAR], AC ← 0

③ AC ← AC+MBR

 - STA(store to AC)

① MAR ← MBR[AD]

② MBR ← AC

③ M(MAR) ← MBR

 -BSA(Branch and Save Return Address)

① MAR ← MBR[AD], MBR[AD] ← PC, PC ← MBR[AD]

② M[MAR] ← MBR[AD]

③ PC ← PC+1


· 인터럽트단계(Interrupt Cycle)

- 서브루틴의 호출

- 인터럽트가 끝나면 항상 fetch 상태로 무조건 감

 MBR[AD] ← PC, PC ← 0

② MAR ← PC, PC ← PC+1

③ M[MAR] ← MBR, IEN ← 0

인터럽트가 진행되면 다른 인터럽트를 배제하기 위해 IEN 플래그에 0을 셋 시킴

'정보처리기사 > 전자계산기 구조' 카테고리의 다른 글

6장 기억장치  (0) 2017.02.22
5장 입력 및 출력  (0) 2017.02.22
3장 프로세서  (0) 2017.02.21
2장 자료의 표현  (0) 2017.02.21
1장 논리 회로  (0) 2017.02.21

+ Recent posts