일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- MacOS
- DS
- web
- while
- DoM
- react
- function
- javascript
- Java
- python
- html
- DB
- php
- MIPS
- mysql
- Algorithm
- XML
- control
- for
- CSS
- data structure
- instruction
- Pipelining
- Class
- github
- architecture
- computer
- Linux
- system
- DATAPATH
- Today
- Total
YYYEJI
[CS] Exercise for Addressing Modes 본문
Addreesing mode에 대해서 먼저 공부를 하고 문제를 풀어보세요!
🅠) Assume LD instruction is at Address 0
LD 5
①. Direct mode
②. Indirect mode
③. Register mode
④. Register indirect mode
⑤. Immediate addressing mode
↓↓↓ Solution ↓↓↓
첫 번째 단계는 memory에서 instruction을 fetch 해온다.
CPU ← LD 5
① - 5번지에서 값을 가져온다.
② - 5번지는 가져올 값의 주소가 들어있기 때문에 5번지에서 10번지로 간다.
③ - register에 들어있는 값을 가져온다.
④ - register는 가져올 값의 주소가 들어있기 때문에 register에서 9번지로 간다.
⑤ - immediate는 값 자체를 의미하기 때문에 LD 5에서 5가 값이다.
↓↓↓ Answer ↓↓↓
① EA: 5 AC = 10
② EA: 10 AC = 20
③ EA: 5 or ? AC = 9
④ EA: 9 AC = 25
⑤ EA: 0 AC = 5
🅠) What is ther Effective Address and the Operand Value for each address mode ?
Instruction format
Opcode | Mode | Address |
①. Direct
②. Immediate
③. Indirect
④. Relative
⑤. Register
⑥. Register indirect
↓↓↓ Solution ↓↓↓
첫 번째 단계는 memory에서 instruction을 fetch 해온다.
① - 500번지에서 값을 가져온다.
② - immediate는 값 자체를 의미하기 때문에 201번지에 있는 500이 값이다.
③ - 500번지는 가져올 값의 주소가 들어있기 때문에 500번지에서 800번지로 간다.
④ - Address + PC 의 주소로 간다. 즉, 500 + 202 = 702번지이다.
⑤ - register에 들어있는 값을 가져온다.
⑥ - register는 가져올 값의 주소가 들어있기 때문에 register에서 400번지로 간다.
↓↓↓ Answer ↓↓↓
① EA: 500 AC: 800
② EA: 201 AC: 500
③ EA: 800 AC: 300
④ EA: 702 AC: 325
⑤ EA: 500 or ? AC: 400
⑥ EA: 400 AC: 700
◡̈
'Computer architectures' 카테고리의 다른 글
[CS] Instruction Set Completeness (0) | 2022.09.22 |
---|---|
[CS] CISC vs RISC (0) | 2022.09.22 |
[CS] Addressing Modes (0) | 2022.09.21 |
[CS] Example for Operand (0) | 2022.09.19 |
[CS] Number of Operands (0) | 2022.09.19 |