3사이클 마이크로 연산 명령
이번에는 정보처리기사 필기 과목인 전자계산기 구조의 3사이클 마이크로 연산 명령을 살펴보아요.
AND
누산기(Accumulator)와 메모리의 내용을 논리곱하여 결과를 누산기에 저장하는 연산 명령
AC ← AC ∧ M[AD]
현재 플래그 레지스터는 F=1, R=0 인 실행 사이클
MBR에는 Fetch 사이클에서 읽어온 명령어가 있는 상태
MAR ← MBR[AD] 메모리 버퍼 레지스터(MBR)의 명령어의 주소를 메모리 주소 레지스터(MAR)에 전송
MBR ← M[MAR] 메모리에서 MAR이 지정한 위치의 값을 MBR에 전송
AC ← AC ∧ MBR 누산기의 값과 MBR의 값을 AND 연산하여 누산기에 전송
ADD
누산기와 메모리의 내용을 더하여 결과를 누산기에 저장하는 연산 명령
AC ← AC + M[AD]
MAR ← MBR[AD] 메모리 버퍼 레지스터(MBR)의 명령어의 주소를 메모리 주소 레지스터(MAR)에 전송
MBR ← M[MAR] 메모리에서 MAR이 지정한 위치의 값을 MBR에 전송
AC ← AC + MBR 누산기의 값과 MBR의 값을 더하여 누산기에 전송
LDA
메모리의 내용을 누산기로 로딩하는 연산 명령
AC ← M[AD]
MAR ← MBR[AD] 메모리 버퍼 레지스터(MBR)의 명령어의 주소를 메모리 주소 레지스터(MAR)에 전송
MBR ← M[MAR] 메모리에서 MAR이 지정한 위치의 값을 MBR에 전송
AC ← 0 누산기를 0으로 초기화
AC ← AC + MBR 누산기의 값과 MBR의 값을 더하여 누산기에 전송
STA
누산기의 값을 메모리에 저장하는 연산 명령
M[AD] ← AC
MAR ← MBR[AD] 메모리 버퍼 레지스터(MBR)의 명령어의 주소를 메모리 주소 레지스터(MAR)에 전송
MBR ← AC 누산기의 값을 메모리 버퍼 레지스터에 전송
M[MAR] ← MBR 메모리 버퍼 레지스터의 값을 메모리 주소 레지스터에 있는 주소로 전송
BUN
PC(프로그램 카운터)에 특정 주소를 전송하는 연산 명령, 무조건 분기 연산 명령
PC ← MBR[AD] 메모리 버퍼 레지스터(MBR)의 명령어의 주소를 프로그램 카운터에 전송
BSA
복귀 주소를 저장한 후에 부 프로그램을 호출하는 연산 명령
MAR ← MBR[AD] 메모리 버퍼 레지스터(MBR)의 명령어의 주소를 메모리 주소 레지스터(MAR)에 전송
MBR ← PC 프로그램 카운터의 값을 MBR에 전송
PC ← MBR[AD] 메모리 버퍼 레지스터의 명령어 주소를 프로그램 카운터에 전송
M[MAR] ← MBR 메모리 버퍼 레지스터의 값을 메모리 주소 레지스터의 주소에 전송
PC ← PC+1 프로그램 카운터 값을 1 증가
ISZ
메모리 값을 1 증가한 후에 0이면 현재 명령을 SKIP하는 연산 명령
MAR ← MBR[AD] 메모리 버퍼 레지스터(MBR)의 명령어의 주소를 메모리 주소 레지스터(MAR)에 전송
MBR ← M[MAR] 메모리에서 MAR이 지정한 위치의 값을 MBR에 전송
MBR ← MBR+1 메모리 버퍼 레지스터의 값을 1 증가
M[MAR] ← MBR 메모리 버퍼 레지스터의 값을 메모리 주소 레지스터의 주소에 전송
IF(MBR=0) THEN PC ← PC+1 MBR 값이 0이면 PC 값을 1 증가
너와 나의 연결고리 "공감"
'프로그래밍 기술 > 정보처리기사필기' 카테고리의 다른 글
[계산기 구조] 입출력 제어 (0) | 2016.04.13 |
---|---|
[계산기 구조] 입출력 장치 (0) | 2016.04.13 |
[계산기 구조] 인터럽트 우선순위(Priority) (0) | 2016.04.13 |
[계산기 구조] 인터럽트(Interrupt) (0) | 2016.04.13 |
[계산기 구조] 제어 데이터 (0) | 2016.04.13 |
[계산기 구조] 마이크로 연산(Micro Operation) (0) | 2016.04.13 |
[계산기 구조] 명령어 방식 (0) | 2016.04.13 |
[계산기 구조] 명령어 주소 결정 방식 (0) | 2016.04.13 |
[계산기 구조] 연산자(Operation) (0) | 2016.04.13 |
[계산기 구조] 컴퓨터 명령어(Instruction) (0) | 2016.04.13 |