전용레지스터
Accumulaotr(누산기 AC)
- 데이터를 일시 정장하는 레지스터이다. 기억장치로부터의 읽어온 데이터와 누산기에 적재되어 있던 데이터가 지정된 연산을 수행한 후 그 결과 값을 다시 누산기에 적재한다. 누산기 내용을 넌부 지워 0으로 만들 수 있으며, 왼쪽이나 오른쪽으로 몇 자리씩 움직일 수도 있다. 누산기의 비트 수는 CPU가 한 번에 처리할 수 있는 데이터 비트 수의 word의 길이와 같다.
데이터 일시저장, AC := AC의 현재값 + 메모리로부터 읽어온 값
Program Counter(프로그램 카운터 PC) : address of next instruction to execute.
- 다음에 수행될 명령어의 주소를 가지고 있는 레지스터. PC 값은 word의 크기에 따라 1 또는 명령어 길이(바이트 수)만큼 씩 증가되어 기억장치에 저장되어 있는 명령어를 연속적으로 수행한다. 그러나 만일 분기 명령어가 실행되는 경우에는 그 목적지 주소로 갱신된다.
다음에 수행될 명령어 주소, 인터럽트, cpu 명령어 처리 순서
Instruction Register(명령어 레지스터 IR)
- 현재 실행 중인 명령어를 기억하고 있는 레지스터
Memory Address Register(기억장치주소 레지스터 MAR) : address of instruction or data.
- 다음에 수행 될 명령어를 인출하기 위해 현재 PC(프로그램 카운터)에 들어있는 내용(주소)이 시스템 주소버스로 출력되기 전에 일시적으로 저장되는 주소레지스터
주소버스, PC -> MAR
Memory Buffer Register(기억장치 버퍼 레지스터 MBR) : contents of a specific memory address.
- 기억장치로 쓰여 질 데이터나 기억장치로부터 읽어온 데이터를 임시로 저장하는 레지스터
(데이터버스), MAR의 실제 콘텐츠 (data, instruction), memory와 cpu의 인터페이스
Status Register(상태 레지스터 PSR) : execution information
- 프로그램이 수행되는 순간마다 프로그램의 수행 상태와 프로세서 상태를 나타냄
Data Register(데이터 레지스터 DR)
- 함수 연산에 필요한 데이터를 저장한다.
Address Register(주소 레지스터 AR)
- 주소나 유효 주소를 계산하는 데 필요한 주소의 일부분을 저장한다.
● 기준 주소 레지스터
● 인덱스 레지스터
● 스택 포인터 레지스터
사용자 가시 레지스터 : DR, AR
사용자 불가시 레지스터 : AC, PC, IR, MAR, MBR
'해킹 > 리버싱' 카테고리의 다른 글
[리버싱] 스택프레임이란..? (0) | 2021.11.07 |
---|---|
[리버싱] rev-basic-4~6 write up (0) | 2021.07.14 |
[리버싱] rev-basic-0~3 write up (0) | 2021.07.14 |
[해킹] 레지스터 (0) | 2021.07.10 |
[해킹] 리버싱 시작 (0) | 2021.07.10 |