프로그래머 모델
프로그래머가 어셈블리 언어로 프로그램을 작성할 때 알고 있어야 할 수준으로 컴퓨터 구조를 표현한 것
ToyCOM 특징
- 16비트 프로그램 카운터(PC) : 다음에 실행할 명령어의 주소를 저장한다.
- 16비트 스택 포인터(SP) : 스택의 탑(top)을 가리킨다.
- 16비트 명령어 레지스터(IR) : 모든 명령어는 크기가 16비트이다.
- 8비트 상태 레지스터(SR) : 연산기의 연산 결과를 반영하여 상태 레지스터 안에 배치된 플래그의 값이 결정된다.
- Z(제로 플래그) : 연산기의 연산 결과가 0일 때 1이다.
- S(부호 플래그) : 연산기의 연산 결과값의 부호 비트로 설정된다.
- C(자리올림수) : 연산기에서 산술 연산을 수행할 때 발생하는 자리올림수를 저장한다.
- V(오버플로우) : 연산기에서 산술 연산을 수행할 때 발생하는 오버플로우를 저장한다.
- IR(인터럽트 요청 플래그) : 중앙처리장치 외부 혹은 내부에서 인터럽트 요청이 발생하였음을 표시한다.
- IE(인터럽트 기능 플래그) : 중앙처리장치가 인터럽트를 요청을 허용할지 결정한다.
- 8개의 8비트 범용 레지스터 : 데이터 처리 명령어가 처리할 데이터를 저장한다.
- 16비트 기억장치 주소 레지스터(MAR) : 중앙처리장치가 기억장치를 액세스할 때 기억장치의 주소를 저장한다.
- 8비트 기억장치 버퍼 레지스터(MBR) : 중앙처리장치가 기억장치를 액세스할 때 임시로 데이터를 저장한다.
- 버스
- 내부 버스(internal bus) : 중앙처리 장치 내부에서 레지스터간 데이터를 전송한다.
- 연산 버스(ALU bus) : 연산기는 HBus와 LBus에 실린 데이터를 연산한다. 연산 결과는 범용 레지스터 중 하나로 적재될 수 있으며, 연산 상태는 상태 레지스터(SR)의 플래그에 저장한다.
- 외부 버스 : 중앙처리장치와 외부를 연결한다. 기억장치를 연겨하는 주소 버스, 데이터 버스, 그리고 제어 버스로 구분되어 있다.
명령어 형식
주소지정 정책 (RISC의 특징)
- 데이터 처리 명령어는 레지스터에 대하여 동작한다.
- 데이터 전달 명령어인 적재와 저장 명령어만 기억장치의 데이터를 액세스한다.
- 기억장치를 액세스할 때는 레지스터 간접 주소지정방식을 사용한다.
- 프로그램 제어 명령어는 상대 주소지정방식으로 분기 목적지를 표현한다.
명령어 설계
데이터 전달 명령어
데이터 처리 명령어
비교 및 플래그 설정 명령어
분기 명령어
서브루틴 호출 및 인터럽트 명령어
시스템 관리 명령어
명령어 사이클
마이크로오퍼레이션
'컴퓨터구조' 카테고리의 다른 글
컴퓨터구조_09.기억장치 (0) | 2021.12.15 |
---|---|
컴퓨터구조_08.제어장치 (0) | 2021.12.15 |
컴퓨터구조_05.연산기 (0) | 2021.10.06 |
컴퓨터구조_04.중앙처리장치 (1) | 2021.10.05 |