2019. 6. 25. 00:12ㆍReversing
제어장치란?
: 제어 장치는 모든 장치가 유기적으로 동작할 수 있도록 하고,
주기억 장치에서 명령어를 가져와 해독하여 결과에 따라 제어 신호를
컴퓨터 시스템 내의 각 부분으로 전달하는 장치다.
제어 장치의 역할
1) 입력 장치에서 입력된 데이터를 기억 장소에 저장한다.
2) 기억 장치에 있는 데이터를 연산 장치로 이동시킨다.
3) 연산 장치에서 연산이 완료되면 그 결과를 다시 기억 장치로 이동시킨다.
4) 기억 장치에 저장된 데이터를 출력 장치로 이동시켜 출력시킨다.
제어 장치의 구성 요소
주소 레지스터(MAR: Memory Address Register)
: 주기억 장치에 명령이나 자료가 기억되어 있는 주소를 보관한다.
기억 레지스터(MBR: Memory Buffer Register)
: 명령어 계수기(PC)가 지정하는 주기억 장치의 내용을 임시 보관
명령어 레지스터(IR: Instruction Register)
: 현재 실행 중인 명령을 기억하는 레지스터로, 연산 코드와 주소부로 구성
명령어 계수기(PC: Program Counter)
: 다음에 실행할 명령어가 기억되어 있는 주기억 장치의 주소를 기억
명령어 해독기(Decoder)
: 명령어 레지스터의 명령 코드를 해독하여 필요한 실행 신호를 발생시킴.
주소 처리기(Address Processor)
: 피연산자를 인출할 경우 그 주소를 계산하거나 수행될 명령 순서가 바뀔 때
다음 수행할 명령의 주소를 계산함.
순서기(Sequencer)
: 정해진 순성 따라 동작 순서를 제어
1.
: 명령어 주소 전송을 위해 명령어 계수기(pc)에 기억된 주소를 MAR으로 보낸다.
2.
: 주기억 장치의 내용을 임시 보관하고 있는 MBR에서 읽어온 명령어를
명령어 레지스터(IR)에 저장하고, 명령어 계수기(PC)를 1 증가시킨다.
3.
: 명령어 코드(OP CODE) 필드와 주소 필드를 각각 해독기와 주소 처리기로 보낸다.
3-1.
: 주소 처리기는 연산 자료를 인출할 때 피연산자의 주소를 계산하며, 수행될
명령어의 순서가 바뀔 때에는 다음에 수행될 명령어 주소를 계산하여 명령어 계수기에 기억 시킨다.
3-2.
: 제어 신호 발생기가 연산자를 해독하여 명령어 수행을 위한 제어 신호를 발생하며,
수행 순서를 변경할 때에는 주소 처리기를 동작시켜 수행될 명령어 주소를 계산한다.
4.
: 다음 명령의 수행을 위하여 위 과정을 다시 시작한다.
현재 명령어 레지스터에 있는 명령어의 수행이 끝나면 증가된 명령어
계수기의 값을 MAR에 보내 다음 명령을 실행한다.
명령어(Instruction)
: 컴퓨터에게 어떤 일을 어떻게 수행해야 하는지를 나타내는 비트들의 집합으로 일정한 형식을 가지고 있다.
명령어의 목적은 컴퓨터가 실행해야할 작업을 표시하고, 이 작업에 필요한 일련의 동작이나 자료들을 나타내는 것이다.
데이터 처리 명령어
: 산술 연산과 논리 연산, 비트 처리 명령 및 워드의 비트를 이동시키는 시프트 명령 등이 있다.
데이터 전송 명령어
: 내용의 변경 없이 한 장소에서 다른 장소로 데이터를 이동시킬 때 사용하는 명령
프로그램 제어 명령어
: 프로그램 카운터의 값을 변경할 수 있는 제어 기능을 가진 명령으로 분기, 서브 루틴 명령 등이 있다.
'Reversing' 카테고리의 다른 글
abex'crack 1 분석 (0) | 2019.10.03 |
---|---|
IA-32 Register 설명 (0) | 2019.09.10 |
컴퓨터 메모리&레지스터 구조 (0) | 2019.06.19 |