728x90
- CPU의 구성 요소
- 레지스터 : 중간 데이터 저장
- general register : 범용으로 사용하는 레지스터
- special register : 특정 목적을 갖는 레지스터
- ALU : Microoperation 수행
- 컨트롤 유닛 : 동작 관리
- 레지스터 : 중간 데이터 저장
- general register organization
- R1 = R2 + R3
- 연산 시 사용하는 레지스터를 각 selector가 적절히 선택
Stack Organization
- 스택 : 정보가 '쌓이는' 자료구조
- 가장 마지막에 들어온 정보가 가장 먼저 출력됨
- LIFO, Last In First Out
- 스택 포인터는 스택의 가장 위(최근 들어온) 아이템을 가리킴
- push : Stack pointer를 증가(아이템 입력)
- pop : Stack pointer를 감소(아이템 출력)
- register stack
- FULL, EMPTY, SP, DR로 구성된 스택
- FULL, EMPTY : 스택이 꽉 찬(빈) 여부를 저장
- SP : Stack Pointer
- DR : 스택에 들어가거나 스택에서 나온 데이터를 저장
- EMPTY=1일때 POP하거나, FULL=1일 때 PUSH 시 error
- 스택의 UPPER/LOWER limit을 초과 시 오버/언더플로우 발생
- POP시 SP를 1 감소, PUSH시 1 증가
- stack의 동작 예 : 후위 표기법
- 후위 표기법 : 연산자가 맨 뒤로 오게 됨
- 기존 식 : (4+5*6) / (4-2)
- 후위 표기 : 4 5 6 * + 4 2 - /
- 연산자는 스택 내의 숫자 2개를 pop한 후 연산 결과를 다시 push함
Instruction format
- CPU 명령어의 종류
- 레지스터 하나만을 사용
- ADD X : AC < AC + M[EA]
- 다수 레지스터(general register) 사용
- ADD R1, R2, R3 : R1 < R2 + R3
- ADD R1, R2 : R1 < R1 + R2
- ADD R1, EA : R1 < R1 + M[EA]
- 주소 사용 없음(stack organization)
- PUSH X
- 레지스터 하나만을 사용
Addressing mode
- 명령어의 주소 필드를 해석하는 방법
- addressing mode의 목적
- 프로그램의 다양성
- 명령어의 address field 크기를 줄이기 위해
- address field가 필요 없는 mode
- implied mode : Accumulator를 사용하는 연산 명령어
- immediate mode : 명령어 필드가 주소 필드와 동일한 명령어
- Register mode : 주소 필드가 프로세서 주소를 가리키는 경우
- register mode : 명령어가 레지스터 내에 있는 경우
- register indirect mode : 주소 필드에 내용이 저장된 레지스터 주소를 나타내는 경우
- autoincrement/autodecrement mode : register indirect와 동일하나 메모리 접속 이후 register이 증가/감소 (table 접근 시 사용)
- relative addressing mode
- effective address가 PC 내용 + 명령어의 주소 필드, branch 명령에 주로 사용
- indexed addressing mode : effective address가 index register + 주소 필드 , table 접근 시 사용
- base register addressing mode : effective address가 base register + 주소 필드, multiprogramming에 사용
Data Transfer and Manipulation
- 명령어의 종류
- Data transfer : 데이터를 변경 없이 이동시키는것
- memory - register
- register - I/O
- register - register
- Data Manipulation : 산술, 논리, shift 연산
- Program Control : branch 등 컴퓨터에 의해 프로그램 진행이 바뀌는 것
728x90