728x90
반응형
명령어 종류
IR에 보내진 명령어 코드를 제어 유닛에서 해독 한 후, 그 결과에 따라 필요한 연산들을 수행
이 과정에서 실행되는 마이크로 오퍼레이션들은 명령어의 종류에 따라 다른 과정으로 수행
데이터 전송명령 | 레지스터와 레지스터, 레지스터와 기억장치, 기억장치와 기억장치 간에 데이터를 이동시키는 명령 |
산술 연산명령 | 2의 보수 및 부동소수점 수에 관한 산술 연산명령 |
논리 연산명령 | 데이터의 각 비트들 간에 대한 논리 연산명령 |
입출력(I/O)명령 | CPU와 외부I/O 장치들 간의 데이터를 이동시키는 명령 |
프로그램 제어명령 | 각 명령어의 실행 순서를 변경하는 분기(Branch), 서브루틴 호출(Subroutine Call)및 리턴 명령 |
반응형
명령어 실행 사이클(LOAD)
인출 사이클의 마이크로 연산(micro-operation)
- t3: MAR <- IR(addr)
- IR에 있는 명령어의 오퍼랜드(addr) 값을 MAR로 전송
- t4: MDR <- M[MAR]
- 주소 값이 지정하는 기억장치 주소로부터 읽혀진 데이터를 데이터 버스를 통하여 MDR에 저장
- t5: AC <- MDR
- MDR에 있는 명령어가 AC에 저장
- tn은 클럭 주기
명령어 실행 사이클(STORE)
STORE: ALU에서 연산된 결과를 메모리로 보내는 과정
인출 사이클의 마이크로 연산(micro-operation)
- t3: MAR <- IR(addr)
- IR에 있는 명령어의 오퍼랜드(addr) 값을 MAR로 전송
- t4: MDR <- AC
- 저장할 데이터 저장된 AC로부터 버퍼 레지스터인 MDR로 전송
- T5: M[MAR] <- MDR
- MDR내용을 MAR이 지정하는 주기억장치 주소에 저장
- tn은 클럭 주기
명령어 실행 사이클(ADD)
ADD: 주기억장치로부터 가져온 데이터를 AC의 내용과 덧셈 연산 후, 그 결과를 다시 AC에 저장하는 명령어
인출 사이클의 마이크로 연산(micro-operation)
- t3: MAR <- IR(addr)
- IR에 있는 명령어의 오퍼랜드(addr) 값을 MAR로 전송
- t4: MDR <- M[MAR]
- 주소값이 지정하는 기억장치 주소로부터 읽혀진 데이터를 데이터 버스를 통해 MDR에 저장
- T5: AC <- MDR
- MDR내용을 AC의 내용을 덧셈후(ALU) 그결과를 다시 AC에 저장
- tn은 클럭 주기
명령어 실행 사이클(JUMP)
JUMP: PC의 내용을 바꾸는 것(IR의 오퍼랜드(addr)가 지시하는 주소의 명령어로 프로그램 실행 순서를 변경하는 분기(Branch)명령어)
인출 사이클의 마이크로 연산(micro-operation)
- t3: MAR <- IR(addr)
- 명령어의 오퍼랜드(분기할 목적지 주소)가 PC에 저장됨으로써 다음 명령어를 인출하는 사이클에서 변경된 주소의 명령어가 인출되므로 결과적으로 프로그램 실행 순서를 변경(분기)하는 것
- tn은 클럭 주기
728x90
반응형
'컴퓨터과학 > 0 +컴퓨터 구조' 카테고리의 다른 글
[컴퓨터 구조] 5-3) 간접 사이클(indirect cycle)과 명령어 실행 사이클 예제 (0) | 2021.10.03 |
---|---|
[컴퓨터 구조] 5-1) 컴퓨터 처리 작업(Computer Processing) (0) | 2021.10.03 |
[컴퓨터 구조] 4-4) 명령어 주소지정 방식(Addressing Mode) (0) | 2021.09.12 |
[컴퓨터 구조] 4-3) CPU 명령어의 종류와 형식 (0) | 2021.09.11 |
[컴퓨터 구조] 4-2) CPU 명령어 세트 (0) | 2021.09.11 |