2022-01-13 · 2

[해킹] 전용 레지스터

securityreversing

이 글은 작성된 지 2년이 넘었어요. 내용이 오래됐을 수 있어요.

전용레지스터

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


원문: tistory — 2022-01-13 발행, 이 블로그로 이전됨.

댓글

댓글을 삭제할까요?

관련 글

[해킹] 전용 레지스터 · 나봄하랑