마이크로 오퍼레이션이란 하나의 명령을 처리하기 위해 짧은시간에 처리되는 명령이다
레지스터에 저장된 데이터에 의해 이루어지며 클록펄스에 기준을 두고 실행됨
명령어가 실행되는 과정을 크게 인출단계, 간접단계, 실행단계, 인터럽트 단계로 나눌수 있다.
각 단계에서 실행되는 마이크로 오퍼레이션에 대해 알아보자
1. 인출 단계 (Fetch Cycle)
- 주기억 장치에서 명령을 불러오는 단계
- MAR <- PC
: 하나의 마이크로 오퍼레이션이 실행될때 가장 먼저 실행되는 명령
- MBR <- M[MAR]
: 메모리 주소 레지스터 값을 읽어 메모리 버퍼 레지스터로 전송하여 프로그램 카운터 값을 1 증가 시킴
- IR <- MBR, I <- MBR[I]
: 메모리 버퍼 레지스터 값을 명령어 레지스터로 전송
2. 간접 단계 (Indirect Cycle)
- 인트스럭션 수행 시 유효 주소를 구하기 위한 메이저 상태로 Fet단계에서 해적된 명령이 간접주소인 경우 수행
- 간접 단계 동안 기억장치로부터 데이터의 번지를 인출
3. 실행 단계 (Execute Cycle)
- 실제로 명령을 수행하는 단계
- AND : AC <- AC + MBR
- LDA(Load to C) : AC <- 0
: 주기억장치(메모리)의 내용을 AC로 가져오는 명령
- STA(Store AC) : ( M <- MBR)
: AC의 내용을 메모리에 저장하는 명령
- ISZ(Increment and Skip if Zero) : THEN (PC<- PC+1)
: 메모리의 값을 읽고 그 값을 1증가시킨 후 음수에서 시작한 값이 0이면 현재 명령을 건너 띄고 다음 명령으로 이동
4. 인터럽트 단계 (Interrupt Cycle)
- 예기치 못한 상황에 서브루틴을 호출하여 복귀주소로 복귀
- IEN(Interrupt Enable) <- 0
: 현재 인터럽트를 처리중이니 다른 인터럽트를 받지 않겠다는 뜻
PC <- 0
끝.
'서버' 카테고리의 다른 글
인터럽트 발생 시 동작 순서 (0) | 2020.08.26 |
---|---|
CPU 수행 순서 메이저 스테이트 (Major State) 동작 과정 (0) | 2020.08.08 |
컴퓨터 CPU 명령어 형식 CISC RISC EISC (0) | 2020.08.06 |
프로세스 메모리 주소 영역 (Address Space) (0) | 2020.08.05 |
[AIX] 계정 보안 설정 방법 및 내용 (0) | 2020.01.08 |
댓글