์ œ์–ด์žฅ์น˜

์ œ์–ด์žฅ์น˜

๊ฐœ์š”

์ œ์–ด์žฅ์น˜(Control Unit)๋Š” CPU์˜ ํ•ต์‹ฌ ๊ตฌ์„ฑ์š”์†Œ๋กœ, ๋ช…๋ น์–ด๋ฅผ ํ•ด๋…ํ•˜๊ณ  ์ ์ ˆํ•œ ์ œ์–ด ์‹ ํ˜ธ๋ฅผ ์ƒ์„ฑํ•˜์—ฌ CPU ๋‚ด์˜ ๋ชจ๋“  ๊ตฌ์„ฑ์š”์†Œ๋ฅผ ์กฐ์œจํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ ˆ์Šจ์—์„œ๋Š” ์ œ์–ด์žฅ์น˜์˜ ์—ญํ• , ํ•˜๋“œ์™€์ด์–ด๋“œ ์ œ์–ด์™€ ๋งˆ์ดํฌ๋กœํ”„๋กœ๊ทธ๋žจ ์ œ์–ด์˜ ๋‘ ๊ฐ€์ง€ ๊ตฌํ˜„ ๋ฐฉ์‹, ๊ทธ๋ฆฌ๊ณ  ๋งˆ์ดํฌ๋กœ๋ช…๋ น์–ด์˜ ๊ตฌ์กฐ์— ๋Œ€ํ•ด ํ•™์Šตํ•ฉ๋‹ˆ๋‹ค.

๋‚œ์ด๋„: โญโญโญ

์„ ์ˆ˜ ์ง€์‹: CPU ๊ตฌ์กฐ ๊ธฐ์ดˆ, ๋…ผ๋ฆฌ ํšŒ๋กœ, ์ƒํƒœ ๊ธฐ๊ณ„


๋ชฉ์ฐจ

  1. ์ œ์–ด์žฅ์น˜์˜ ์—ญํ• 
  2. ํ•˜๋“œ์™€์ด์–ด๋“œ ์ œ์–ด
  3. ๋งˆ์ดํฌ๋กœํ”„๋กœ๊ทธ๋žจ ์ œ์–ด
  4. ์ œ์–ด ์‹ ํ˜ธ ์ƒ์„ฑ
  5. ๋งˆ์ดํฌ๋กœ๋ช…๋ น์–ด
  6. ์—ฐ์Šต ๋ฌธ์ œ

1. ์ œ์–ด์žฅ์น˜์˜ ์—ญํ• 

1.1 ์ œ์–ด์žฅ์น˜์˜ ๊ธฐ๋ณธ ๊ธฐ๋Šฅ

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                         ์ œ์–ด์žฅ์น˜์˜ ์—ญํ•                                โ”‚
โ”‚                                                                      โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”    โ”‚
โ”‚  โ”‚                    ์ž…๋ ฅ (Inputs)                             โ”‚    โ”‚
โ”‚  โ”‚                                                             โ”‚    โ”‚
โ”‚  โ”‚    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”‚    โ”‚
โ”‚  โ”‚    โ”‚  ๋ช…๋ น์–ด IR  โ”‚    โ”‚   ํด๋Ÿญ      โ”‚    โ”‚  ์ƒํƒœ ์‹ ํ˜ธ  โ”‚   โ”‚    โ”‚
โ”‚  โ”‚    โ”‚  (Opcode,   โ”‚    โ”‚  (Clock)    โ”‚    โ”‚  (Flags,    โ”‚   โ”‚    โ”‚
โ”‚  โ”‚    โ”‚   Funct)    โ”‚    โ”‚             โ”‚    โ”‚   Ready)    โ”‚   โ”‚    โ”‚
โ”‚  โ”‚    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”˜    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”˜    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ”‚    โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜    โ”‚
โ”‚              โ”‚                  โ”‚                  โ”‚                 โ”‚
โ”‚              โ–ผ                  โ–ผ                  โ–ผ                 โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”    โ”‚
โ”‚  โ”‚                      ์ œ์–ด ์žฅ์น˜                               โ”‚    โ”‚
โ”‚  โ”‚         (Control Unit)                                      โ”‚    โ”‚
โ”‚  โ”‚                                                             โ”‚    โ”‚
โ”‚  โ”‚    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”      โ”‚    โ”‚
โ”‚  โ”‚    โ”‚           ์ œ์–ด ๋กœ์ง / ๋งˆ์ดํฌ๋กœํ”„๋กœ๊ทธ๋žจ          โ”‚      โ”‚    โ”‚
โ”‚  โ”‚    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜      โ”‚    โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜    โ”‚
โ”‚              โ”‚                  โ”‚                  โ”‚                 โ”‚
โ”‚              โ–ผ                  โ–ผ                  โ–ผ                 โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”    โ”‚
โ”‚  โ”‚                   ์ถœ๋ ฅ (Outputs) - ์ œ์–ด ์‹ ํ˜ธ                 โ”‚    โ”‚
โ”‚  โ”‚                                                             โ”‚    โ”‚
โ”‚  โ”‚    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚    โ”‚
โ”‚  โ”‚    โ”‚ RegWriteโ”‚ โ”‚ ALUOp   โ”‚ โ”‚ MemRead โ”‚ โ”‚ MemWrite        โ”‚ โ”‚    โ”‚
โ”‚  โ”‚    โ”‚ ALUSrc  โ”‚ โ”‚ Branch  โ”‚ โ”‚ MemtoRegโ”‚ โ”‚ PCSrc           โ”‚ โ”‚    โ”‚
โ”‚  โ”‚    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚    โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜    โ”‚
โ”‚                                                                      โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

1.2 ์ œ์–ด์žฅ์น˜์˜ ์ฃผ์š” ์ž‘์—…

์ž‘์—… ์„ค๋ช…
๋ช…๋ น์–ด ํ•ด๋… IR์˜ opcode์™€ function ํ•„๋“œ๋ฅผ ๋ถ„์„ํ•˜์—ฌ ๋ช…๋ น์–ด ์ข…๋ฅ˜ ํŒŒ์•…
ํƒ€์ด๋ฐ ์ƒ์„ฑ ๊ฐ ์ž‘์—…์˜ ์‹คํ–‰ ์ˆœ์„œ์™€ ์‹œ์  ๊ฒฐ์ •
์ œ์–ด ์‹ ํ˜ธ ์ƒ์„ฑ ๋ฐ์ดํ„ฐํŒจ์Šค์˜ ๊ฐ ๊ตฌ์„ฑ์š”์†Œ๋ฅผ ์ œ์–ดํ•˜๋Š” ์‹ ํ˜ธ ์ถœ๋ ฅ
์ƒํƒœ ๊ด€๋ฆฌ ํ˜„์žฌ ์‹คํ–‰ ์ƒํƒœ ์ถ”์  ๋ฐ ๋‹ค์Œ ์ƒํƒœ ๊ฒฐ์ •
์˜ˆ์™ธ ์ฒ˜๋ฆฌ ์ธํ„ฐ๋ŸฝํŠธ, ์˜ค๋ฅ˜ ๋“ฑ ์˜ˆ์™ธ ์ƒํ™ฉ ๊ฐ์ง€ ๋ฐ ์ฒ˜๋ฆฌ

1.3 ์ œ์–ด ์‹ ํ˜ธ์™€ ๋ฐ์ดํ„ฐํŒจ์Šค

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                    ์ œ์–ด ์‹ ํ˜ธ์™€ ๋ฐ์ดํ„ฐํŒจ์Šค์˜ ๊ด€๊ณ„                           โ”‚
โ”‚                                                                           โ”‚
โ”‚                          โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”                               โ”‚
โ”‚                          โ”‚   ์ œ์–ด ์žฅ์น˜    โ”‚                               โ”‚
โ”‚                          โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜                               โ”‚
โ”‚                                  โ”‚                                        โ”‚
โ”‚           โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”                 โ”‚
โ”‚           โ”‚                      โ”‚                      โ”‚                 โ”‚
โ”‚           โ–ผ                      โ–ผ                      โ–ผ                 โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”           โ”‚
โ”‚  โ”‚  ๋ ˆ์ง€์Šคํ„ฐ ์ œ์–ด   โ”‚  โ”‚    ALU ์ œ์–ด     โ”‚  โ”‚   ๋ฉ”๋ชจ๋ฆฌ ์ œ์–ด   โ”‚           โ”‚
โ”‚  โ”‚                 โ”‚  โ”‚                 โ”‚  โ”‚                 โ”‚           โ”‚
โ”‚  โ”‚  - RegWrite     โ”‚  โ”‚  - ALUOp        โ”‚  โ”‚  - MemRead      โ”‚           โ”‚
โ”‚  โ”‚  - RegDst       โ”‚  โ”‚  - ALUSrc       โ”‚  โ”‚  - MemWrite     โ”‚           โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜           โ”‚
โ”‚           โ”‚                    โ”‚                    โ”‚                     โ”‚
โ”‚           โ–ผ                    โ–ผ                    โ–ผ                     โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”         โ”‚
โ”‚  โ”‚                       ๋ฐ์ดํ„ฐํŒจ์Šค                             โ”‚         โ”‚
โ”‚  โ”‚                                                             โ”‚         โ”‚
โ”‚  โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”     โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”     โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”    โ”‚         โ”‚
โ”‚  โ”‚  โ”‚ ๋ ˆ์ง€์Šคํ„ฐ โ”‚โ”€โ”€โ”€โ”€โ–บโ”‚   ALU    โ”‚โ”€โ”€โ”€โ”€โ–บโ”‚     ๋ฉ”๋ชจ๋ฆฌ       โ”‚    โ”‚         โ”‚
โ”‚  โ”‚  โ”‚   ํŒŒ์ผ   โ”‚     โ”‚          โ”‚     โ”‚                  โ”‚    โ”‚         โ”‚
โ”‚  โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜     โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜     โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜    โ”‚         โ”‚
โ”‚  โ”‚       โ–ฒ                                     โ”‚              โ”‚         โ”‚
โ”‚  โ”‚       โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜              โ”‚         โ”‚
โ”‚  โ”‚                    (Write Back)                            โ”‚         โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜         โ”‚
โ”‚                                                                           โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

2. ํ•˜๋“œ์™€์ด์–ด๋“œ ์ œ์–ด

2.1 ํ•˜๋“œ์™€์ด์–ด๋“œ ์ œ์–ด ๊ฐœ๋…

ํ•˜๋“œ์™€์ด์–ด๋“œ(Hardwired) ์ œ์–ด๋Š” ์ œ์–ด ๋…ผ๋ฆฌ๋ฅผ ์กฐํ•ฉ ๋…ผ๋ฆฌ ํšŒ๋กœ์™€ ์ˆœ์ฐจ ๋…ผ๋ฆฌ ํšŒ๋กœ๋กœ ์ง์ ‘ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                     ํ•˜๋“œ์™€์ด์–ด๋“œ ์ œ์–ด์žฅ์น˜                            โ”‚
โ”‚                                                                     โ”‚
โ”‚    IR [31:26]        โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”‚
โ”‚    (Opcode)   โ”€โ”€โ”€โ”€โ”€โ”€โ–บโ”‚                                         โ”‚   โ”‚
โ”‚                      โ”‚        ์กฐํ•ฉ ๋…ผ๋ฆฌ ํšŒ๋กœ                    โ”‚   โ”‚
โ”‚    IR [5:0]          โ”‚     (Combinational Logic)               โ”‚   โ”‚
โ”‚    (Funct)    โ”€โ”€โ”€โ”€โ”€โ”€โ–บโ”‚                                         โ”‚โ”€โ”€โ–บ ์ œ์–ด ์‹ ํ˜ธ
โ”‚                      โ”‚     - ๋””์ฝ”๋”                            โ”‚   โ”‚
โ”‚    ์ƒํƒœ ํ”Œ๋ž˜๊ทธ       โ”‚     - ๋…ผ๋ฆฌ ๊ฒŒ์ดํŠธ (AND, OR)             โ”‚   โ”‚
โ”‚    (Flags)    โ”€โ”€โ”€โ”€โ”€โ”€โ–บโ”‚     - ๋ฉ€ํ‹ฐํ”Œ๋ ‰์„œ                        โ”‚   โ”‚
โ”‚                      โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ”‚
โ”‚                                    โ–ฒ                               โ”‚
โ”‚                                    โ”‚                               โ”‚
โ”‚                      โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”                 โ”‚
โ”‚                      โ”‚                           โ”‚                 โ”‚
โ”‚    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”    โ”‚
โ”‚    โ”‚                    ํƒ€์ด๋ฐ/์‹œํ€€์„œ                         โ”‚    โ”‚
โ”‚    โ”‚         (์ƒํƒœ ๋ ˆ์ง€์Šคํ„ฐ, ์นด์šดํ„ฐ, ๋””์ฝ”๋”)                 โ”‚    โ”‚
โ”‚    โ”‚                                                         โ”‚    โ”‚
โ”‚    โ”‚    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”              โ”‚    โ”‚
โ”‚    โ”‚    โ”‚ ์ƒํƒœ   โ”‚โ”€โ”€โ”€โ–บโ”‚ ์ƒํƒœ   โ”‚โ”€โ”€โ”€โ–บโ”‚ ํƒ€์ด๋ฐ โ”‚              โ”‚    โ”‚
โ”‚    โ”‚    โ”‚๋ ˆ์ง€์Šคํ„ฐโ”‚    โ”‚๋””์ฝ”๋”  โ”‚    โ”‚  ์‹ ํ˜ธ  โ”‚              โ”‚    โ”‚
โ”‚    โ”‚    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜              โ”‚    โ”‚
โ”‚    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜    โ”‚
โ”‚                      โ–ฒ                                             โ”‚
โ”‚    ํด๋Ÿญ โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜                                             โ”‚
โ”‚                                                                     โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

2.2 MIPS ๋‹จ์ผ ์‚ฌ์ดํด ์ œ์–ด์žฅ์น˜

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                MIPS ๋‹จ์ผ ์‚ฌ์ดํด ์ œ์–ด (๊ฐ„๋žตํ™”)                        โ”‚
โ”‚                                                                     โ”‚
โ”‚    Opcode [5:0]                                                     โ”‚
โ”‚        โ”‚                                                            โ”‚
โ”‚        โ–ผ                                                            โ”‚
โ”‚    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”‚
โ”‚    โ”‚                      Main Decoder                          โ”‚   โ”‚
โ”‚    โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค   โ”‚
โ”‚    โ”‚  Opcode  โ”‚ RegDst โ”‚ ALUSrc โ”‚ MemtoReg โ”‚ RegWrite โ”‚ ...    โ”‚   โ”‚
โ”‚    โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค   โ”‚
โ”‚    โ”‚ R-type   โ”‚   1    โ”‚   0    โ”‚    0     โ”‚    1     โ”‚        โ”‚   โ”‚
โ”‚    โ”‚ (000000) โ”‚        โ”‚        โ”‚          โ”‚          โ”‚        โ”‚   โ”‚
โ”‚    โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค   โ”‚
โ”‚    โ”‚   lw     โ”‚   0    โ”‚   1    โ”‚    1     โ”‚    1     โ”‚        โ”‚   โ”‚
โ”‚    โ”‚ (100011) โ”‚        โ”‚        โ”‚          โ”‚          โ”‚        โ”‚   โ”‚
โ”‚    โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค   โ”‚
โ”‚    โ”‚   sw     โ”‚   x    โ”‚   1    โ”‚    x     โ”‚    0     โ”‚        โ”‚   โ”‚
โ”‚    โ”‚ (101011) โ”‚        โ”‚        โ”‚          โ”‚          โ”‚        โ”‚   โ”‚
โ”‚    โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค   โ”‚
โ”‚    โ”‚   beq    โ”‚   x    โ”‚   0    โ”‚    x     โ”‚    0     โ”‚        โ”‚   โ”‚
โ”‚    โ”‚ (000100) โ”‚        โ”‚        โ”‚          โ”‚          โ”‚        โ”‚   โ”‚
โ”‚    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ”‚
โ”‚                                                                     โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

2.3 ALU ์ œ์–ด ์œ ๋‹›

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                        ALU ์ œ์–ด ์œ ๋‹›                                 โ”‚
โ”‚                                                                     โ”‚
โ”‚    ALUOp (2๋น„ํŠธ)      Funct (6๋น„ํŠธ)                                 โ”‚
โ”‚        โ”‚                  โ”‚                                         โ”‚
โ”‚        โ”‚                  โ”‚                                         โ”‚
โ”‚        โ–ผ                  โ–ผ                                         โ”‚
โ”‚    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”                    โ”‚
โ”‚    โ”‚            ALU Control Unit              โ”‚                    โ”‚
โ”‚    โ”‚                                          โ”‚                    โ”‚
โ”‚    โ”‚    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚                    โ”‚
โ”‚    โ”‚    โ”‚ ALUOp  โ”‚ Funct  โ”‚ ALU Operation  โ”‚ โ”‚                    โ”‚
โ”‚    โ”‚    โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค โ”‚                    โ”‚
โ”‚    โ”‚    โ”‚  00    โ”‚xxxxxx  โ”‚ Add (lw/sw)    โ”‚ โ”‚                    โ”‚
โ”‚    โ”‚    โ”‚  01    โ”‚xxxxxx  โ”‚ Sub (beq)      โ”‚ โ”‚                    โ”‚
โ”‚    โ”‚    โ”‚  10    โ”‚100000  โ”‚ Add            โ”‚ โ”‚                    โ”‚
โ”‚    โ”‚    โ”‚  10    โ”‚100010  โ”‚ Sub            โ”‚ โ”‚                    โ”‚
โ”‚    โ”‚    โ”‚  10    โ”‚100100  โ”‚ And            โ”‚ โ”‚                    โ”‚
โ”‚    โ”‚    โ”‚  10    โ”‚100101  โ”‚ Or             โ”‚ โ”‚                    โ”‚
โ”‚    โ”‚    โ”‚  10    โ”‚101010  โ”‚ Slt            โ”‚ โ”‚                    โ”‚
โ”‚    โ”‚    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚                    โ”‚
โ”‚    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜                    โ”‚
โ”‚                    โ”‚                                                โ”‚
โ”‚                    โ–ผ                                                โ”‚
โ”‚            ALU Control (4๋น„ํŠธ)                                      โ”‚
โ”‚                                                                     โ”‚
โ”‚    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”       โ”‚
โ”‚    โ”‚  ALU Control โ”‚     Operation      โ”‚                   โ”‚       โ”‚
โ”‚    โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค                   โ”‚       โ”‚
โ”‚    โ”‚     0000     โ”‚       AND          โ”‚                   โ”‚       โ”‚
โ”‚    โ”‚     0001     โ”‚       OR           โ”‚                   โ”‚       โ”‚
โ”‚    โ”‚     0010     โ”‚       Add          โ”‚                   โ”‚       โ”‚
โ”‚    โ”‚     0110     โ”‚       Sub          โ”‚                   โ”‚       โ”‚
โ”‚    โ”‚     0111     โ”‚       Slt          โ”‚                   โ”‚       โ”‚
โ”‚    โ”‚     1100     โ”‚       NOR          โ”‚                   โ”‚       โ”‚
โ”‚    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜                   โ”‚       โ”‚
โ”‚                                                                     โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

2.4 ๋‹ค์ค‘ ์‚ฌ์ดํด ํ•˜๋“œ์™€์ด์–ด๋“œ ์ œ์–ด

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚               ๋‹ค์ค‘ ์‚ฌ์ดํด ์ œ์–ด: ์œ ํ•œ ์ƒํƒœ ๊ธฐ๊ณ„ (FSM)                 โ”‚
โ”‚                                                                     โ”‚
โ”‚                          โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”                               โ”‚
โ”‚                     โ”Œโ”€โ”€โ”€โ–บโ”‚  State 0 โ”‚โ—„โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”             โ”‚
โ”‚                     โ”‚    โ”‚  (IF)    โ”‚                 โ”‚             โ”‚
โ”‚                     โ”‚    โ””โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”˜                 โ”‚             โ”‚
โ”‚                     โ”‚         โ”‚                       โ”‚             โ”‚
โ”‚                     โ”‚         โ–ผ                       โ”‚             โ”‚
โ”‚                     โ”‚    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”                 โ”‚             โ”‚
โ”‚                     โ”‚    โ”‚  State 1 โ”‚                 โ”‚             โ”‚
โ”‚                     โ”‚    โ”‚  (ID)    โ”‚                 โ”‚             โ”‚
โ”‚                     โ”‚    โ””โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”˜                 โ”‚             โ”‚
โ”‚                     โ”‚         โ”‚                       โ”‚             โ”‚
โ”‚            โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค             โ”‚
โ”‚            โ”‚                  โ”‚         โ”‚             โ”‚             โ”‚
โ”‚            โ–ผ                  โ–ผ         โ–ผ             โ”‚             โ”‚
โ”‚       โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”      โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”    โ”‚             โ”‚
โ”‚       โ”‚  State 2 โ”‚      โ”‚  State 6 โ”‚ โ”‚  State 8 โ”‚    โ”‚             โ”‚
โ”‚       โ”‚ (MemAddr)โ”‚      โ”‚  (R-EX)  โ”‚ โ”‚  (BEQ)   โ”‚โ”€โ”€โ”€โ”€โ”˜             โ”‚
โ”‚       โ””โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”˜      โ””โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜                   โ”‚
โ”‚            โ”‚                 โ”‚                                       โ”‚
โ”‚       โ”Œโ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”            โ”‚                                       โ”‚
โ”‚       โ”‚         โ”‚            โ”‚                                       โ”‚
โ”‚       โ–ผ         โ–ผ            โ–ผ                                       โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”                             โ”‚
โ”‚  โ”‚  State 3 โ”‚ โ”‚  State 5 โ”‚ โ”‚  State 7 โ”‚                             โ”‚
โ”‚  โ”‚ (MemRead)โ”‚ โ”‚(MemWrite)โ”‚ โ”‚  (R-WB)  โ”‚                             โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”˜                             โ”‚
โ”‚       โ”‚            โ”‚            โ”‚                                    โ”‚
โ”‚       โ–ผ            โ”‚            โ”‚                                    โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”      โ”‚            โ”‚                                    โ”‚
โ”‚  โ”‚  State 4 โ”‚      โ”‚            โ”‚                                    โ”‚
โ”‚  โ”‚  (LW-WB) โ”‚      โ”‚            โ”‚                                    โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”˜      โ”‚            โ”‚                                    โ”‚
โ”‚       โ”‚            โ”‚            โ”‚                                    โ”‚
โ”‚       โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–บ(State 0)   โ”‚
โ”‚                                                                     โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

2.5 ์ƒํƒœ๋ณ„ ์ œ์–ด ์‹ ํ˜ธ

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                       ์ƒํƒœ๋ณ„ ์ œ์–ด ์‹ ํ˜ธ ํ…Œ์ด๋ธ”                                โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ State โ”‚ PCWriteโ”‚IRWriteโ”‚RegWriteโ”‚ALUSrcAโ”‚ALUSrcBโ”‚ALUOp โ”‚MemReadโ”‚ ์„ค๋ช…      โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚   0   โ”‚   1   โ”‚   1   โ”‚   0   โ”‚   0   โ”‚  01   โ”‚  00   โ”‚   1   โ”‚ IF         โ”‚
โ”‚  (IF) โ”‚       โ”‚       โ”‚       โ”‚       โ”‚       โ”‚       โ”‚       โ”‚๋ช…๋ น์–ด ์ธ์ถœ โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚   1   โ”‚   0   โ”‚   0   โ”‚   0   โ”‚   0   โ”‚  11   โ”‚  00   โ”‚   0   โ”‚ ID         โ”‚
โ”‚  (ID) โ”‚       โ”‚       โ”‚       โ”‚       โ”‚       โ”‚       โ”‚       โ”‚๋ช…๋ น์–ด ํ•ด๋… โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚   2   โ”‚   0   โ”‚   0   โ”‚   0   โ”‚   1   โ”‚  10   โ”‚  00   โ”‚   0   โ”‚ MemAddr    โ”‚
โ”‚       โ”‚       โ”‚       โ”‚       โ”‚       โ”‚       โ”‚       โ”‚       โ”‚์ฃผ์†Œ ๊ณ„์‚ฐ   โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚   3   โ”‚   0   โ”‚   0   โ”‚   0   โ”‚   0   โ”‚  00   โ”‚  00   โ”‚   1   โ”‚ MemRead    โ”‚
โ”‚       โ”‚       โ”‚       โ”‚       โ”‚       โ”‚       โ”‚       โ”‚       โ”‚๋ฉ”๋ชจ๋ฆฌ ์ฝ๊ธฐ โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚   4   โ”‚   0   โ”‚   0   โ”‚   1   โ”‚   0   โ”‚  00   โ”‚  00   โ”‚   0   โ”‚ LW WB      โ”‚
โ”‚       โ”‚       โ”‚       โ”‚       โ”‚       โ”‚       โ”‚       โ”‚       โ”‚Load ์“ฐ๊ธฐ   โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚   6   โ”‚   0   โ”‚   0   โ”‚   0   โ”‚   1   โ”‚  00   โ”‚  10   โ”‚   0   โ”‚ R-type EX  โ”‚
โ”‚       โ”‚       โ”‚       โ”‚       โ”‚       โ”‚       โ”‚       โ”‚       โ”‚R-type ์‹คํ–‰ โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚   7   โ”‚   0   โ”‚   0   โ”‚   1   โ”‚   0   โ”‚  00   โ”‚  00   โ”‚   0   โ”‚ R-type WB  โ”‚
โ”‚       โ”‚       โ”‚       โ”‚       โ”‚       โ”‚       โ”‚       โ”‚       โ”‚R-type ์“ฐ๊ธฐ โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

2.6 ํ•˜๋“œ์™€์ด์–ด๋“œ ์ œ์–ด์˜ ์žฅ๋‹จ์ 

์žฅ์  ๋‹จ์ 
๋น ๋ฅธ ์†๋„ (์ „ํŒŒ ์ง€์—ฐ๋งŒ ์กด์žฌ) ์„ค๊ณ„ ๋ณต์žก๋„ ๋†’์Œ
์ตœ์ ํ™” ๊ฐ€๋Šฅ ์ˆ˜์ •/ํ™•์žฅ ์–ด๋ ค์›€
๋ฉด์  ํšจ์œจ์  (๋‹จ์ˆœ ๋ช…๋ น์–ด ์ง‘ํ•ฉ) ๋””๋ฒ„๊น… ์–ด๋ ค์›€
RISC ํ”„๋กœ์„ธ์„œ์— ์ ํ•ฉ ์ƒˆ ๋ช…๋ น์–ด ์ถ”๊ฐ€ ์‹œ ํšŒ๋กœ ์žฌ์„ค๊ณ„ ํ•„์š”

3. ๋งˆ์ดํฌ๋กœํ”„๋กœ๊ทธ๋žจ ์ œ์–ด

3.1 ๋งˆ์ดํฌ๋กœํ”„๋กœ๊ทธ๋žจ ์ œ์–ด ๊ฐœ๋…

๋งˆ์ดํฌ๋กœํ”„๋กœ๊ทธ๋žจ ์ œ์–ด๋Š” ์ œ์–ด ์‹ ํ˜ธ๋ฅผ ๋งˆ์ดํฌ๋กœํ”„๋กœ๊ทธ๋žจ(ํŽŒ์›จ์–ด)์œผ๋กœ ์ €์žฅํ•˜๊ณ , ์ด๋ฅผ ์ˆœ์ฐจ์ ์œผ๋กœ ์‹คํ–‰ํ•˜์—ฌ ์ œ์–ด ์‹ ํ˜ธ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                      ๋งˆ์ดํฌ๋กœํ”„๋กœ๊ทธ๋žจ ์ œ์–ด์žฅ์น˜                           โ”‚
โ”‚                                                                         โ”‚
โ”‚    IR (Opcode)                                                          โ”‚
โ”‚        โ”‚                                                                โ”‚
โ”‚        โ–ผ                                                                โ”‚
โ”‚    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”                                                โ”‚
โ”‚    โ”‚   Mapping ROM    โ”‚                                                โ”‚
โ”‚    โ”‚  (์ฃผ์†Œ ๋งคํ•‘)     โ”‚                                                โ”‚
โ”‚    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜                                                โ”‚
โ”‚             โ”‚ ์‹œ์ž‘ ์ฃผ์†Œ                                                 โ”‚
โ”‚             โ–ผ                                                           โ”‚
โ”‚    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”      โ”‚
โ”‚    โ”‚                                                            โ”‚      โ”‚
โ”‚    โ”‚    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”                                        โ”‚      โ”‚
โ”‚    โ”‚    โ”‚  MicroPC    โ”‚โ—„โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”         โ”‚      โ”‚
โ”‚    โ”‚    โ”‚ (๋งˆ์ดํฌ๋กœ   โ”‚                              โ”‚         โ”‚      โ”‚
โ”‚    โ”‚    โ”‚  ํ”„๋กœ๊ทธ๋žจ   โ”‚                              โ”‚         โ”‚      โ”‚
โ”‚    โ”‚    โ”‚  ์นด์šดํ„ฐ)    โ”‚                              โ”‚         โ”‚      โ”‚
โ”‚    โ”‚    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”˜                              โ”‚         โ”‚      โ”‚
โ”‚    โ”‚           โ”‚                                      โ”‚         โ”‚      โ”‚
โ”‚    โ”‚           โ–ผ                                      โ”‚         โ”‚      โ”‚
โ”‚    โ”‚    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”      โ”‚         โ”‚      โ”‚
โ”‚    โ”‚    โ”‚      Control Store (ROM)           โ”‚      โ”‚         โ”‚      โ”‚
โ”‚    โ”‚    โ”‚   (๋งˆ์ดํฌ๋กœํ”„๋กœ๊ทธ๋žจ ์ €์žฅ์†Œ)          โ”‚      โ”‚         โ”‚      โ”‚
โ”‚    โ”‚    โ”‚                                    โ”‚      โ”‚         โ”‚      โ”‚
โ”‚    โ”‚    โ”‚    ์ฃผ์†Œ    ๋งˆ์ดํฌ๋กœ๋ช…๋ น์–ด            โ”‚      โ”‚         โ”‚      โ”‚
โ”‚    โ”‚    โ”‚    0x00    [์ œ์–ด์‹ ํ˜ธ๋“ค | ๋‹ค์Œ์ฃผ์†Œ]   โ”‚      โ”‚         โ”‚      โ”‚
โ”‚    โ”‚    โ”‚    0x01    [์ œ์–ด์‹ ํ˜ธ๋“ค | ๋‹ค์Œ์ฃผ์†Œ]   โ”‚      โ”‚         โ”‚      โ”‚
โ”‚    โ”‚    โ”‚    0x02    [์ œ์–ด์‹ ํ˜ธ๋“ค | ๋‹ค์Œ์ฃผ์†Œ]   โ”‚      โ”‚         โ”‚      โ”‚
โ”‚    โ”‚    โ”‚     ...                            โ”‚      โ”‚         โ”‚      โ”‚
โ”‚    โ”‚    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜      โ”‚         โ”‚      โ”‚
โ”‚    โ”‚                    โ”‚                            โ”‚         โ”‚      โ”‚
โ”‚    โ”‚    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”           โ”‚         โ”‚      โ”‚
โ”‚    โ”‚    โ”‚                               โ”‚           โ”‚         โ”‚      โ”‚
โ”‚    โ”‚    โ–ผ                               โ–ผ           โ”‚         โ”‚      โ”‚
โ”‚    โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”           โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚         โ”‚      โ”‚
โ”‚    โ”‚  โ”‚ ์ œ์–ด ์‹ ํ˜ธ   โ”‚           โ”‚ Sequencer      โ”‚โ”€โ”€โ”˜         โ”‚      โ”‚
โ”‚    โ”‚  โ”‚ (์ถœ๋ ฅ)      โ”‚           โ”‚ (๋‹ค์Œ ์ฃผ์†Œ)     โ”‚            โ”‚      โ”‚
โ”‚    โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜           โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜            โ”‚      โ”‚
โ”‚    โ”‚                                                            โ”‚      โ”‚
โ”‚    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜      โ”‚
โ”‚                                                                         โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

3.2 Control Store ๊ตฌ์กฐ

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                        Control Store (ROM)                               โ”‚
โ”‚                                                                         โ”‚
โ”‚    ์ฃผ์†Œ      ๋งˆ์ดํฌ๋กœ๋ช…๋ น์–ด (์˜ˆ: 32๋น„ํŠธ)                                 โ”‚
โ”‚    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”‚
โ”‚    โ”‚      โ”‚ ALU โ”‚Reg โ”‚Mem โ”‚Mem โ”‚ALU โ”‚Reg โ”‚PC  โ”‚ IR โ”‚๋‹ค์Œโ”‚์‹œํ€€์Šค     โ”‚   โ”‚
โ”‚    โ”‚ Addr โ”‚ Op  โ”‚Dst โ”‚Readโ”‚Wrt โ”‚Src โ”‚Wrt โ”‚Src โ”‚Wrt โ”‚์ฃผ์†Œโ”‚  ์ œ์–ด     โ”‚   โ”‚
โ”‚    โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค   โ”‚
โ”‚    โ”‚ 0x00 โ”‚ 00  โ”‚ x  โ”‚ 1  โ”‚ 0  โ”‚ 0  โ”‚ 0  โ”‚ 0  โ”‚ 1  โ”‚0x01โ”‚ SEQ       โ”‚   โ”‚
โ”‚    โ”‚      โ”‚     โ”‚    โ”‚    โ”‚    โ”‚    โ”‚    โ”‚    โ”‚    โ”‚    โ”‚ (์ˆœ์ฐจ)    โ”‚   โ”‚
โ”‚    โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค   โ”‚
โ”‚    โ”‚ 0x01 โ”‚ 00  โ”‚ x  โ”‚ 0  โ”‚ 0  โ”‚ 0  โ”‚ 0  โ”‚ x  โ”‚ 0  โ”‚DISPโ”‚ DISPATCH  โ”‚   โ”‚
โ”‚    โ”‚      โ”‚     โ”‚    โ”‚    โ”‚    โ”‚    โ”‚    โ”‚    โ”‚    โ”‚    โ”‚ (๋ถ„๊ธฐ)    โ”‚   โ”‚
โ”‚    โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค   โ”‚
โ”‚    โ”‚ 0x02 โ”‚ 00  โ”‚ 0  โ”‚ 0  โ”‚ 0  โ”‚ 1  โ”‚ 0  โ”‚ x  โ”‚ 0  โ”‚0x03โ”‚ SEQ       โ”‚   โ”‚
โ”‚    โ”‚      โ”‚     โ”‚    โ”‚    โ”‚    โ”‚    โ”‚    โ”‚    โ”‚    โ”‚    โ”‚ (lw/sw)   โ”‚   โ”‚
โ”‚    โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค   โ”‚
โ”‚    โ”‚ 0x03 โ”‚ xx  โ”‚ x  โ”‚ 1  โ”‚ 0  โ”‚ x  โ”‚ 0  โ”‚ x  โ”‚ 0  โ”‚0x04โ”‚ SEQ       โ”‚   โ”‚
โ”‚    โ”‚      โ”‚     โ”‚    โ”‚    โ”‚    โ”‚    โ”‚    โ”‚    โ”‚    โ”‚    โ”‚ (lw mem)  โ”‚   โ”‚
โ”‚    โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค   โ”‚
โ”‚    โ”‚ 0x04 โ”‚ xx  โ”‚ 0  โ”‚ 0  โ”‚ 0  โ”‚ x  โ”‚ 1  โ”‚ x  โ”‚ 0  โ”‚0x00โ”‚ FETCH     โ”‚   โ”‚
โ”‚    โ”‚      โ”‚     โ”‚    โ”‚    โ”‚    โ”‚    โ”‚    โ”‚    โ”‚    โ”‚    โ”‚ (lw wb)   โ”‚   โ”‚
โ”‚    โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค   โ”‚
โ”‚    โ”‚ ...  โ”‚     โ”‚    โ”‚    โ”‚    โ”‚    โ”‚    โ”‚    โ”‚    โ”‚    โ”‚           โ”‚   โ”‚
โ”‚    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ”‚
โ”‚                                                                         โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

3.3 ์‹œํ€€์„œ ๋™์ž‘

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                         ์‹œํ€€์„œ (Sequencer)                               โ”‚
โ”‚                                                                         โ”‚
โ”‚    ํ˜„์žฌ ๋งˆ์ดํฌ๋กœ๋ช…๋ น์–ด์˜ ์‹œํ€€์Šค ์ œ์–ด ํ•„๋“œ์— ๋”ฐ๋ผ ๋‹ค์Œ ์ฃผ์†Œ ๊ฒฐ์ •          โ”‚
โ”‚                                                                         โ”‚
โ”‚    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”       โ”‚
โ”‚    โ”‚  ์‹œํ€€์Šค ์ œ์–ด  โ”‚              ๋‹ค์Œ ์ฃผ์†Œ ๊ฒฐ์ •                 โ”‚       โ”‚
โ”‚    โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค       โ”‚
โ”‚    โ”‚    SEQ       โ”‚  MicroPC โ† MicroPC + 1                     โ”‚       โ”‚
โ”‚    โ”‚   (์ˆœ์ฐจ)     โ”‚  ๋‹ค์Œ ๋งˆ์ดํฌ๋กœ๋ช…๋ น์–ด๋กœ ์ง„ํ–‰                  โ”‚       โ”‚
โ”‚    โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค       โ”‚
โ”‚    โ”‚   BRANCH     โ”‚  MicroPC โ† ๋งˆ์ดํฌ๋กœ๋ช…๋ น์–ด์˜ ๋‹ค์Œ์ฃผ์†Œ ํ•„๋“œ   โ”‚       โ”‚
โ”‚    โ”‚   (๋ถ„๊ธฐ)     โ”‚  ์กฐ๊ฑด ์—†์ด ์ง€์ •๋œ ์ฃผ์†Œ๋กœ ์ ํ”„               โ”‚       โ”‚
โ”‚    โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค       โ”‚
โ”‚    โ”‚   DISPATCH   โ”‚  MicroPC โ† Mapping ROM[IR.Opcode]          โ”‚       โ”‚
โ”‚    โ”‚   (๋””์ŠคํŒจ์น˜) โ”‚  ๋ช…๋ น์–ด ์ข…๋ฅ˜์— ๋”ฐ๋ผ ํ•ด๋‹น ๋ฃจํ‹ด์œผ๋กœ ๋ถ„๊ธฐ       โ”‚       โ”‚
โ”‚    โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค       โ”‚
โ”‚    โ”‚   FETCH      โ”‚  MicroPC โ† 0 (IF ์ƒํƒœ๋กœ ๋ณต๊ท€)              โ”‚       โ”‚
โ”‚    โ”‚   (ํŽ˜์น˜)     โ”‚  ๋‹ค์Œ ๋ช…๋ น์–ด ์ธ์ถœ ์‹œ์ž‘                      โ”‚       โ”‚
โ”‚    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜       โ”‚
โ”‚                                                                         โ”‚
โ”‚    MUX๋ฅผ ํ†ตํ•œ ๋‹ค์Œ ์ฃผ์†Œ ์„ ํƒ:                                           โ”‚
โ”‚                                                                         โ”‚
โ”‚    MicroPC+1 โ”€โ”€โ”€โ”€โ–บโ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”                                            โ”‚
โ”‚    Branch Addr โ”€โ”€โ–บโ”‚  MUX  โ”‚โ”€โ”€โ”€โ”€โ–บ ๋‹ค์Œ MicroPC                          โ”‚
โ”‚    Dispatch Addrโ”€โ–บโ”‚       โ”‚                                            โ”‚
โ”‚    0 (Fetch) โ”€โ”€โ”€โ”€โ–บโ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜                                            โ”‚
โ”‚                      โ–ฒ                                                  โ”‚
โ”‚                      โ”‚                                                  โ”‚
โ”‚              ์‹œํ€€์Šค ์ œ์–ด ์‹ ํ˜ธ                                            โ”‚
โ”‚                                                                         โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

3.4 ๋งˆ์ดํฌ๋กœํ”„๋กœ๊ทธ๋žจ ์ œ์–ด์˜ ์žฅ๋‹จ์ 

์žฅ์  ๋‹จ์ 
์œ ์—ฐํ•œ ์„ค๊ณ„ (ROM๋งŒ ์ˆ˜์ •) ํ•˜๋“œ์™€์ด์–ด๋“œ๋ณด๋‹ค ๋А๋ฆผ
๋ณต์žกํ•œ ๋ช…๋ น์–ด ๊ตฌํ˜„ ์šฉ์ด ROM ์ ‘๊ทผ ์ง€์—ฐ
๋””๋ฒ„๊น… ์šฉ์ด ์ถ”๊ฐ€ ํ•˜๋“œ์›จ์–ด(Control Store) ํ•„์š”
CISC ํ”„๋กœ์„ธ์„œ์— ์ ํ•ฉ ์ „๋ ฅ ์†Œ๋ชจ ์ฆ๊ฐ€
๋งˆ์ดํฌ๋กœ์ฝ”๋“œ ์—…๋ฐ์ดํŠธ ๊ฐ€๋Šฅ ๋ฉด์  ์ฆ๊ฐ€

3.5 ์‹ค์ œ ์‚ฌ์šฉ ์˜ˆ

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                    ์‹ค์ œ ํ”„๋กœ์„ธ์„œ์˜ ๋งˆ์ดํฌ๋กœ์ฝ”๋“œ ์‚ฌ์šฉ                      โ”‚
โ”‚                                                                         โ”‚
โ”‚    Intel x86 ๊ณ„์—ด:                                                      โ”‚
โ”‚    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”‚
โ”‚    โ”‚  - ๋ณต์žกํ•œ CISC ๋ช…๋ น์–ด๋ฅผ ๋งˆ์ดํฌ๋กœ์ฝ”๋“œ๋กœ ๊ตฌํ˜„                    โ”‚   โ”‚
โ”‚    โ”‚  - ๋‹จ์ˆœ ๋ช…๋ น์–ด๋Š” ํ•˜๋“œ์™€์ด์–ด๋“œ๋กœ ๋น ๋ฅด๊ฒŒ ์ฒ˜๋ฆฌ                    โ”‚   โ”‚
โ”‚    โ”‚  - ๋งˆ์ดํฌ๋กœ์ฝ”๋“œ ์—…๋ฐ์ดํŠธ๋กœ ๋ณด์•ˆ ํŒจ์น˜ ์ ์šฉ (์˜ˆ: Spectre/Meltdown)โ”‚   โ”‚
โ”‚    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ”‚
โ”‚                                                                         โ”‚
โ”‚    AMD ํ”„๋กœ์„ธ์„œ:                                                        โ”‚
โ”‚    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”‚
โ”‚    โ”‚  - ์œ ์‚ฌํ•˜๊ฒŒ ๋ณต์žกํ•œ ๋ช…๋ น์–ด๋ฅผ ๋งˆ์ดํฌ๋กœ์ฝ”๋“œ๋กœ ์ฒ˜๋ฆฌ                 โ”‚   โ”‚
โ”‚    โ”‚  - BIOS/UEFI๋ฅผ ํ†ตํ•ด ๋งˆ์ดํฌ๋กœ์ฝ”๋“œ ์—…๋ฐ์ดํŠธ                      โ”‚   โ”‚
โ”‚    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ”‚
โ”‚                                                                         โ”‚
โ”‚    ํ˜ผํ•ฉ ๋ฐฉ์‹ (๋Œ€๋ถ€๋ถ„์˜ ํ˜„๋Œ€ ํ”„๋กœ์„ธ์„œ):                                   โ”‚
โ”‚    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”‚
โ”‚    โ”‚  - ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ๋ช…๋ น์–ด: ํ•˜๋“œ์™€์ด์–ด๋“œ (๊ณ ์†)                    โ”‚   โ”‚
โ”‚    โ”‚  - ๋ณต์žกํ•œ ๋ช…๋ น์–ด: ๋งˆ์ดํฌ๋กœ์ฝ”๋“œ (์œ ์—ฐ์„ฑ)                        โ”‚   โ”‚
โ”‚    โ”‚  - ์˜ˆ: x86์˜ ADD๋Š” ํ•˜๋“œ์™€์ด์–ด๋“œ, REP MOVS๋Š” ๋งˆ์ดํฌ๋กœ์ฝ”๋“œ        โ”‚   โ”‚
โ”‚    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ”‚
โ”‚                                                                         โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

4. ์ œ์–ด ์‹ ํ˜ธ ์ƒ์„ฑ

4.1 ์ฃผ์š” ์ œ์–ด ์‹ ํ˜ธ ๋ชฉ๋ก

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                         ์ฃผ์š” ์ œ์–ด ์‹ ํ˜ธ                                   โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚   ์ œ์–ด ์‹ ํ˜ธ   โ”‚                        ๊ธฐ๋Šฅ                              โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚   RegDst     โ”‚ ์“ฐ๊ธฐ ๋ ˆ์ง€์Šคํ„ฐ ์„ ํƒ (rt=0, rd=1)                          โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚   RegWrite   โ”‚ ๋ ˆ์ง€์Šคํ„ฐ ํŒŒ์ผ์— ์“ฐ๊ธฐ ํ—ˆ์šฉ                                 โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚   ALUSrc     โ”‚ ALU ๋‘ ๋ฒˆ์งธ ์ž…๋ ฅ ์„ ํƒ (Register=0, Immediate=1)          โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚   ALUOp      โ”‚ ALU ์—ฐ์‚ฐ ์ข…๋ฅ˜ ์ง€์ • (00=add, 01=sub, 10=R-type)           โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚   MemRead    โ”‚ ๋ฉ”๋ชจ๋ฆฌ ์ฝ๊ธฐ ํ™œ์„ฑํ™”                                        โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚   MemWrite   โ”‚ ๋ฉ”๋ชจ๋ฆฌ ์“ฐ๊ธฐ ํ™œ์„ฑํ™”                                        โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚   MemtoReg   โ”‚ ๋ ˆ์ง€์Šคํ„ฐ์— ์“ธ ๋ฐ์ดํ„ฐ ์„ ํƒ (ALU=0, Memory=1)              โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚   PCSrc      โ”‚ PC ๊ฐ’ ์„ ํƒ (PC+4=0, Branch target=1)                     โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚   Branch     โ”‚ ์กฐ๊ฑด ๋ถ„๊ธฐ ๋ช…๋ น์–ด ์—ฌ๋ถ€                                     โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚   Jump       โ”‚ ๋ฌด์กฐ๊ฑด ์ ํ”„ ๋ช…๋ น์–ด ์—ฌ๋ถ€                                   โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

4.2 ๋ช…๋ น์–ด๋ณ„ ์ œ์–ด ์‹ ํ˜ธ ๊ฐ’

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                          ๋ช…๋ น์–ด๋ณ„ ์ œ์–ด ์‹ ํ˜ธ ์ง„๋ฆฌํ‘œ                               โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ ๋ช…๋ น์–ด   โ”‚RegDst โ”‚ALUSrc  โ”‚MemtoRegโ”‚RegWriteโ”‚MemReadโ”‚MemWrite โ”‚Branch  โ”‚ALUOp   โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚ R-type   โ”‚   1   โ”‚   0    โ”‚   0   โ”‚   1   โ”‚   0    โ”‚    0    โ”‚   0    โ”‚  10    โ”‚
โ”‚ (add,sub)โ”‚       โ”‚        โ”‚       โ”‚       โ”‚        โ”‚         โ”‚        โ”‚        โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚   lw     โ”‚   0   โ”‚   1    โ”‚   1   โ”‚   1   โ”‚   1    โ”‚    0    โ”‚   0    โ”‚  00    โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚   sw     โ”‚   x   โ”‚   1    โ”‚   x   โ”‚   0   โ”‚   0    โ”‚    1    โ”‚   0    โ”‚  00    โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚   beq    โ”‚   x   โ”‚   0    โ”‚   x   โ”‚   0   โ”‚   0    โ”‚    0    โ”‚   1    โ”‚  01    โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚  addi    โ”‚   0   โ”‚   1    โ”‚   0   โ”‚   1   โ”‚   0    โ”‚    0    โ”‚   0    โ”‚  00    โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚    j     โ”‚   x   โ”‚   x    โ”‚   x   โ”‚   0   โ”‚   0    โ”‚    0    โ”‚   x    โ”‚  xx    โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

x = don't care (์–ด๋–ค ๊ฐ’์ด๋“  ์ƒ๊ด€์—†์Œ)

4.3 ์ œ์–ด ์‹ ํ˜ธ ์ƒ์„ฑ ๋…ผ๋ฆฌ ํšŒ๋กœ

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                      ์ œ์–ด ์‹ ํ˜ธ ์ƒ์„ฑ ๋…ผ๋ฆฌ ํšŒ๋กœ                            โ”‚
โ”‚                                                                         โ”‚
โ”‚    Opcode [5:0]                                                         โ”‚
โ”‚       โ”‚                                                                 โ”‚
โ”‚       โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”‚
โ”‚       โ”‚                                                             โ”‚   โ”‚
โ”‚       โ”‚   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”   โ”‚   โ”‚
โ”‚       โ”‚   โ”‚                    ๋””์ฝ”๋”                            โ”‚   โ”‚   โ”‚
โ”‚       โ”‚   โ”‚                                                     โ”‚   โ”‚   โ”‚
โ”‚       โ”‚   โ”‚   Opcode    R-type  lw   sw   beq   addi   j       โ”‚   โ”‚   โ”‚
โ”‚       โ”‚   โ”‚   000000  โ”€โ”€โ”€โ”€โ”€โ–บ                                    โ”‚   โ”‚   โ”‚
โ”‚       โ”‚   โ”‚   100011  โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–บ                                โ”‚   โ”‚   โ”‚
โ”‚       โ”‚   โ”‚   101011  โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–บ                           โ”‚   โ”‚   โ”‚
โ”‚       โ”‚   โ”‚   000100  โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–บ                      โ”‚   โ”‚   โ”‚
โ”‚       โ”‚   โ”‚   001000  โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–บ                 โ”‚   โ”‚   โ”‚
โ”‚       โ”‚   โ”‚   000010  โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–บ            โ”‚   โ”‚   โ”‚
โ”‚       โ”‚   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ”‚   โ”‚
โ”‚       โ”‚           โ”‚       โ”‚      โ”‚      โ”‚       โ”‚       โ”‚           โ”‚   โ”‚
โ”‚       โ”‚           โ–ผ       โ–ผ      โ–ผ      โ–ผ       โ–ผ       โ–ผ           โ”‚   โ”‚
โ”‚       โ”‚                                                             โ”‚   โ”‚
โ”‚       โ”‚   RegDst  = R-type                                          โ”‚   โ”‚
โ”‚       โ”‚   ALUSrc  = lw | sw | addi                                  โ”‚   โ”‚
โ”‚       โ”‚   MemtoReg = lw                                             โ”‚   โ”‚
โ”‚       โ”‚   RegWrite = R-type | lw | addi                             โ”‚   โ”‚
โ”‚       โ”‚   MemRead  = lw                                             โ”‚   โ”‚
โ”‚       โ”‚   MemWrite = sw                                             โ”‚   โ”‚
โ”‚       โ”‚   Branch   = beq                                            โ”‚   โ”‚
โ”‚       โ”‚   ALUOp[1] = R-type                                         โ”‚   โ”‚
โ”‚       โ”‚   ALUOp[0] = beq                                            โ”‚   โ”‚
โ”‚       โ”‚   Jump     = j                                              โ”‚   โ”‚
โ”‚       โ”‚                                                             โ”‚   โ”‚
โ”‚       โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ”‚
โ”‚                                                                         โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

4.4 ํƒ€์ด๋ฐ ๋‹ค์ด์–ด๊ทธ๋žจ

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                    LW ๋ช…๋ น์–ด ์‹คํ–‰ ํƒ€์ด๋ฐ (๋‹จ์ผ ์‚ฌ์ดํด)                    โ”‚
โ”‚                                                                         โ”‚
โ”‚   CLK    โ”€โ”€โ”€โ”€โ”     โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”     โ”Œโ”€โ”€โ”€โ”€โ”€          โ”‚
โ”‚              โ”‚     โ”‚                             โ”‚     โ”‚               โ”‚
โ”‚              โ””โ”€โ”€โ”€โ”€โ”€โ”˜                             โ””โ”€โ”€โ”€โ”€โ”€โ”˜               โ”‚
โ”‚                                                                         โ”‚
โ”‚   PC     โ•โ•โ•โ•โ•ชโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•ชโ•โ•โ•            โ”‚
โ”‚          0x04โ”‚                                         โ”‚0x08           โ”‚
โ”‚                                                                         โ”‚
โ”‚   IR     โ”€โ”€โ”€โ”€โ•ชโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•ชโ”€โ”€โ”€            โ”‚
โ”‚              โ”‚          lw $t0, 4($s0)                 โ”‚               โ”‚
โ”‚                                                                         โ”‚
โ”‚   RegRead โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€          โ”‚
โ”‚              โ”‚    โ–ผ $s0 ๊ฐ’ ์ฝ๊ธฐ                                         โ”‚
โ”‚                                                                         โ”‚
โ”‚   ALU    โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€          โ”‚
โ”‚                      โ”‚    โ–ผ $s0 + 4 ๊ณ„์‚ฐ                                โ”‚
โ”‚                                                                         โ”‚
โ”‚   MemRead โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€          โ”‚
โ”‚                              โ”‚    โ–ผ Memory[$s0+4] ์ฝ๊ธฐ                  โ”‚
โ”‚                                                                         โ”‚
โ”‚   RegWrite โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€          โ”‚
โ”‚                                      โ”‚    โ–ผ $t0์— ์“ฐ๊ธฐ                  โ”‚
โ”‚                                                                         โ”‚
โ”‚          โ”œโ”€โ”€โ”€IFโ”€โ”€โ”€โ”ผโ”€โ”€โ”€IDโ”€โ”€โ”€โ”ผโ”€โ”€โ”€EXโ”€โ”€โ”€โ”ผโ”€โ”€โ”€MEMโ”€โ”€โ”ผโ”€โ”€โ”€WBโ”€โ”€โ”€โ”ค                โ”‚
โ”‚                                                                         โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

5. ๋งˆ์ดํฌ๋กœ๋ช…๋ น์–ด

5.1 ๋งˆ์ดํฌ๋กœ๋ช…๋ น์–ด ํ˜•์‹

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                        ๋งˆ์ดํฌ๋กœ๋ช…๋ น์–ด ํ˜•์‹                               โ”‚
โ”‚                                                                         โ”‚
โ”‚    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚
โ”‚    โ”‚                    ์ˆ˜ํ‰ ๋งˆ์ดํฌ๋กœ๋ช…๋ น์–ด                          โ”‚  โ”‚
โ”‚    โ”‚              (Horizontal Microinstruction)                     โ”‚  โ”‚
โ”‚    โ”‚                                                                โ”‚  โ”‚
โ”‚    โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚  โ”‚
โ”‚    โ”‚  โ”‚ALU โ”‚Reg โ”‚Reg โ”‚Mem โ”‚Mem โ”‚ALU โ”‚ALU โ”‚PC  โ”‚ IR โ”‚Seq โ”‚ Next   โ”‚ โ”‚  โ”‚
โ”‚    โ”‚  โ”‚Op  โ”‚Dst โ”‚Wrt โ”‚Rd  โ”‚Wrt โ”‚SrcAโ”‚SrcBโ”‚Wrt โ”‚Wrt โ”‚Ctl โ”‚ Addr   โ”‚ โ”‚  โ”‚
โ”‚    โ”‚  โ”‚4bitโ”‚1bitโ”‚1bitโ”‚1bitโ”‚1bitโ”‚1bitโ”‚2bitโ”‚1bitโ”‚1bitโ”‚2bitโ”‚ 6bit   โ”‚ โ”‚  โ”‚
โ”‚    โ”‚  โ””โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚  โ”‚
โ”‚    โ”‚                                                                โ”‚  โ”‚
โ”‚    โ”‚  ํŠน์ง•: ๋ชจ๋“  ์ œ์–ด ์‹ ํ˜ธ๊ฐ€ ๋ช…์‹œ์ ์œผ๋กœ ์ธ์ฝ”๋”ฉ                       โ”‚  โ”‚
โ”‚    โ”‚       - ๋น ๋ฅธ ๋””์ฝ”๋”ฉ                                            โ”‚  โ”‚
โ”‚    โ”‚       - ๋„“์€ ๋น„ํŠธ ํญ (๋งŽ์€ ROM ํ•„์š”)                           โ”‚  โ”‚
โ”‚    โ”‚       - ๋ณ‘๋ ฌ ์—ฐ์‚ฐ ๊ฐ€๋Šฅ                                         โ”‚  โ”‚
โ”‚    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚
โ”‚                                                                         โ”‚
โ”‚    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚
โ”‚    โ”‚                    ์ˆ˜์ง ๋งˆ์ดํฌ๋กœ๋ช…๋ น์–ด                          โ”‚  โ”‚
โ”‚    โ”‚               (Vertical Microinstruction)                      โ”‚  โ”‚
โ”‚    โ”‚                                                                โ”‚  โ”‚
โ”‚    โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚  โ”‚
โ”‚    โ”‚  โ”‚  Operation โ”‚  Source    โ”‚Destination โ”‚  Next Address    โ”‚  โ”‚  โ”‚
โ”‚    โ”‚  โ”‚   (op)     โ”‚  (src)     โ”‚   (dst)    โ”‚                  โ”‚  โ”‚  โ”‚
โ”‚    โ”‚  โ”‚   4bit     โ”‚   4bit     โ”‚   4bit     โ”‚     6bit         โ”‚  โ”‚  โ”‚
โ”‚    โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚  โ”‚
โ”‚    โ”‚                                                                โ”‚  โ”‚
โ”‚    โ”‚  ํŠน์ง•: ์ธ์ฝ”๋”ฉ๋œ ํ˜•์‹์œผ๋กœ ์ œ์–ด ์‹ ํ˜ธ ํ‘œํ˜„                        โ”‚  โ”‚
โ”‚    โ”‚       - ์ข์€ ๋น„ํŠธ ํญ (์ ์€ ROM)                               โ”‚  โ”‚
โ”‚    โ”‚       - ์ถ”๊ฐ€ ๋””์ฝ”๋”ฉ ํ•„์š” (๋А๋ฆผ)                               โ”‚  โ”‚
โ”‚    โ”‚       - ํ•œ ๋ฒˆ์— ํ•˜๋‚˜์˜ ์—ฐ์‚ฐ                                   โ”‚  โ”‚
โ”‚    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚
โ”‚                                                                         โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

5.2 ๋งˆ์ดํฌ๋กœ๋ช…๋ น์–ด ์˜ˆ์‹œ (LW ๋ช…๋ น์–ด)

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                    LW $t0, offset($s0) ๋งˆ์ดํฌ๋กœํ”„๋กœ๊ทธ๋žจ                  โ”‚
โ”‚                                                                         โ”‚
โ”‚    ์ฃผ์†Œ    ๋งˆ์ดํฌ๋กœ๋ช…๋ น์–ด                        ์„ค๋ช…                    โ”‚
โ”‚    โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€     โ”‚
โ”‚                                                                         โ”‚
โ”‚    0x00:  PCWrite=1, IRWrite=1, ALUSrcA=0,     // ๋ช…๋ น์–ด ์ธ์ถœ (IF)     โ”‚
โ”‚           ALUSrcB=01, ALUOp=00, MemRead=1,                              โ”‚
โ”‚           NextAddr=0x01, SeqCtl=SEQ                                     โ”‚
โ”‚                                                                         โ”‚
โ”‚    0x01:  ALUSrcA=0, ALUSrcB=11, ALUOp=00,     // ๋ช…๋ น์–ด ํ•ด๋… (ID)     โ”‚
โ”‚           NextAddr=DISPATCH, SeqCtl=DISPATCH                            โ”‚
โ”‚                                                                         โ”‚
โ”‚    --- lw ๋ช…๋ น์–ด ๋””์ŠคํŒจ์น˜ โ†’                                             โ”‚
โ”‚                                                                         โ”‚
โ”‚    0x10:  ALUSrcA=1, ALUSrcB=10, ALUOp=00      // ์ฃผ์†Œ ๊ณ„์‚ฐ           โ”‚
โ”‚           NextAddr=0x11, SeqCtl=SEQ            // A = $s0 + offset     โ”‚
โ”‚                                                                         โ”‚
โ”‚    0x11:  MemRead=1                             // ๋ฉ”๋ชจ๋ฆฌ ์ฝ๊ธฐ          โ”‚
โ”‚           NextAddr=0x12, SeqCtl=SEQ            // MDR โ† Mem[A]         โ”‚
โ”‚                                                                         โ”‚
โ”‚    0x12:  RegDst=0, RegWrite=1, MemtoReg=1     // ์“ฐ๊ธฐ (WB)            โ”‚
โ”‚           NextAddr=0x00, SeqCtl=FETCH          // $t0 โ† MDR            โ”‚
โ”‚                                                                         โ”‚
โ”‚    ๋งˆ์ดํฌ๋กœ์—ฐ์‚ฐ ์ˆœ์„œ:                                                    โ”‚
โ”‚    1. MAR โ† PC; IR โ† Mem[MAR]; PC โ† PC + 4                             โ”‚
โ”‚    2. A โ† Regs[$s0]                                                     โ”‚
โ”‚    3. ALUOut โ† A + sign_extend(offset)                                 โ”‚
โ”‚    4. MDR โ† Mem[ALUOut]                                                โ”‚
โ”‚    5. Regs[$t0] โ† MDR                                                  โ”‚
โ”‚                                                                         โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

5.3 ๋งˆ์ดํฌ๋กœ๋ช…๋ น์–ด ์‹œํ€€์‹ฑ

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                      ๋งˆ์ดํฌ๋กœ๋ช…๋ น์–ด ์‹œํ€€์‹ฑ ์˜ˆ์‹œ                          โ”‚
โ”‚                                                                         โ”‚
โ”‚    ์‹œ์ž‘                                                                 โ”‚
โ”‚      โ”‚                                                                  โ”‚
โ”‚      โ–ผ                                                                  โ”‚
โ”‚    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”                                                          โ”‚
โ”‚    โ”‚ 0x00   โ”‚  IF: ๋ช…๋ น์–ด ์ธ์ถœ                                         โ”‚
โ”‚    โ”‚ (IF)   โ”‚  MARโ†PC, IRโ†Mem[MAR], PCโ†PC+4                            โ”‚
โ”‚    โ””โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”˜                                                          โ”‚
โ”‚        โ”‚ SEQ                                                           โ”‚
โ”‚        โ–ผ                                                                โ”‚
โ”‚    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”                                                          โ”‚
โ”‚    โ”‚ 0x01   โ”‚  ID: ๋ช…๋ น์–ด ํ•ด๋…, ๋ ˆ์ง€์Šคํ„ฐ ์ฝ๊ธฐ                           โ”‚
โ”‚    โ”‚ (ID)   โ”‚  Aโ†Regs[rs], Bโ†Regs[rt]                                  โ”‚
โ”‚    โ””โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”˜                                                          โ”‚
โ”‚        โ”‚ DISPATCH (opcode์— ๋”ฐ๋ผ)                                      โ”‚
โ”‚        โ”‚                                                                โ”‚
โ”‚   โ”Œโ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”                  โ”‚
โ”‚   โ”‚         โ”‚            โ”‚            โ”‚            โ”‚                   โ”‚
โ”‚   โ–ผ         โ–ผ            โ–ผ            โ–ผ            โ–ผ                   โ”‚
โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”                 โ”‚
โ”‚ โ”‚ 0x10 โ”‚ โ”‚ 0x20 โ”‚    โ”‚ 0x30 โ”‚    โ”‚ 0x40 โ”‚    โ”‚ 0x50 โ”‚                 โ”‚
โ”‚ โ”‚ lw   โ”‚ โ”‚ sw   โ”‚    โ”‚R-typeโ”‚    โ”‚ beq  โ”‚    โ”‚  j   โ”‚                 โ”‚
โ”‚ โ””โ”€โ”€โ”ฌโ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”ฌโ”€โ”€โ”€โ”˜    โ””โ”€โ”€โ”ฌโ”€โ”€โ”€โ”˜    โ””โ”€โ”€โ”ฌโ”€โ”€โ”€โ”˜    โ””โ”€โ”€โ”ฌโ”€โ”€โ”€โ”˜                 โ”‚
โ”‚    โ”‚        โ”‚           โ”‚           โ”‚           โ”‚                      โ”‚
โ”‚    โ–ผ        โ–ผ           โ–ผ           โ”‚           โ”‚                      โ”‚
โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”      โ”‚           โ”‚                      โ”‚
โ”‚ โ”‚ 0x11 โ”‚ โ”‚ 0x21 โ”‚    โ”‚ 0x31 โ”‚      โ”‚           โ”‚                      โ”‚
โ”‚ โ”‚MemRd โ”‚ โ”‚MemWr โ”‚    โ”‚ R-WB โ”‚      โ”‚           โ”‚                      โ”‚
โ”‚ โ””โ”€โ”€โ”ฌโ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”ฌโ”€โ”€โ”€โ”˜    โ””โ”€โ”€โ”ฌโ”€โ”€โ”€โ”˜      โ”‚           โ”‚                      โ”‚
โ”‚    โ”‚        โ”‚           โ”‚           โ”‚           โ”‚                      โ”‚
โ”‚    โ–ผ        โ”‚           โ”‚           โ”‚           โ”‚                      โ”‚
โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”    โ”‚           โ”‚           โ”‚           โ”‚                      โ”‚
โ”‚ โ”‚ 0x12 โ”‚    โ”‚           โ”‚           โ”‚           โ”‚                      โ”‚
โ”‚ โ”‚ LW-WBโ”‚    โ”‚           โ”‚           โ”‚           โ”‚                      โ”‚
โ”‚ โ””โ”€โ”€โ”ฌโ”€โ”€โ”€โ”˜    โ”‚           โ”‚           โ”‚           โ”‚                      โ”‚
โ”‚    โ”‚        โ”‚           โ”‚           โ”‚           โ”‚                      โ”‚
โ”‚    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ–บ(0x00 IF๋กœ ๋ณต๊ท€)  โ”‚
โ”‚                          FETCH                                          โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

5.4 ์ˆ˜ํ‰ vs ์ˆ˜์ง ๋งˆ์ดํฌ๋กœ๋ช…๋ น์–ด ๋น„๊ต

ํŠน์„ฑ ์ˆ˜ํ‰ (Horizontal) ์ˆ˜์ง (Vertical)
๋น„ํŠธ ํญ ๋„“์Œ (50-100๋น„ํŠธ) ์ข์Œ (16-32๋น„ํŠธ)
๋””์ฝ”๋”ฉ ๋ถˆํ•„์š”/์ตœ์†Œ ์ถ”๊ฐ€ ๋””์ฝ”๋”ฉ ํ•„์š”
์†๋„ ๋น ๋ฆ„ ๋А๋ฆผ
๋ณ‘๋ ฌ์„ฑ ๋†’์Œ (๋™์‹œ ์ œ์–ด) ๋‚ฎ์Œ (์ˆœ์ฐจ์ )
ROM ํฌ๊ธฐ ํผ ์ž‘์Œ
์œ ์—ฐ์„ฑ ๋†’์Œ ์ค‘๊ฐ„

5.5 ๋‚˜๋…ธํ”„๋กœ๊ทธ๋ž˜๋ฐ

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                       ๋‚˜๋…ธํ”„๋กœ๊ทธ๋ž˜๋ฐ (Nanoprogramming)                   โ”‚
โ”‚                                                                         โ”‚
โ”‚    2๋‹จ๊ณ„ ์ œ์–ด ์ €์žฅ์†Œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Control Store ํฌ๊ธฐ ์ตœ์ ํ™”                โ”‚
โ”‚                                                                         โ”‚
โ”‚    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚
โ”‚    โ”‚                                                                 โ”‚ โ”‚
โ”‚    โ”‚   MicroPC โ”€โ”€โ”€โ–บโ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”                          โ”‚ โ”‚
โ”‚    โ”‚               โ”‚   Control Store     โ”‚                          โ”‚ โ”‚
โ”‚    โ”‚               โ”‚   (๋งˆ์ดํฌ๋กœ ROM)     โ”‚                          โ”‚ โ”‚
โ”‚    โ”‚               โ”‚                     โ”‚                          โ”‚ โ”‚
โ”‚    โ”‚               โ”‚   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚                          โ”‚ โ”‚
โ”‚    โ”‚               โ”‚   โ”‚NanoPCโ”‚NextAddrโ”‚ โ”‚โ”€โ”€โ–บ ์‹œํ€€์Šค ์ œ์–ด           โ”‚ โ”‚
โ”‚    โ”‚               โ”‚   โ””โ”€โ”€โ”ฌโ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚                          โ”‚ โ”‚
โ”‚    โ”‚               โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜                          โ”‚ โ”‚
โ”‚    โ”‚                      โ”‚                                          โ”‚ โ”‚
โ”‚    โ”‚                      โ–ผ                                          โ”‚ โ”‚
โ”‚    โ”‚               โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”                          โ”‚ โ”‚
โ”‚    โ”‚               โ”‚   Nano Store        โ”‚                          โ”‚ โ”‚
โ”‚    โ”‚               โ”‚   (๋‚˜๋…ธ ROM)         โ”‚                          โ”‚ โ”‚
โ”‚    โ”‚               โ”‚                     โ”‚                          โ”‚ โ”‚
โ”‚    โ”‚               โ”‚   ์‹ค์ œ ์ œ์–ด ์‹ ํ˜ธ    โ”‚โ”€โ”€โ–บ ์ œ์–ด ์‹ ํ˜ธ ์ถœ๋ ฅ         โ”‚ โ”‚
โ”‚    โ”‚               โ”‚   ์ธ์ฝ”๋”ฉ            โ”‚                          โ”‚ โ”‚
โ”‚    โ”‚               โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜                          โ”‚ โ”‚
โ”‚    โ”‚                                                                 โ”‚ โ”‚
โ”‚    โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚
โ”‚                                                                         โ”‚
โ”‚    ์žฅ์ : ๋ฐ˜๋ณต๋˜๋Š” ์ œ์–ด ์‹ ํ˜ธ ํŒจํ„ด์„ ๊ณต์œ ํ•˜์—ฌ ROM ์ ˆ์•ฝ                     โ”‚
โ”‚    ๋‹จ์ : ์ถ”๊ฐ€ ์ ‘๊ทผ ์ง€์—ฐ                                                 โ”‚
โ”‚                                                                         โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

6. ์—ฐ์Šต ๋ฌธ์ œ

๊ธฐ์ดˆ ๋ฌธ์ œ

  1. ์ œ์–ด์žฅ์น˜์˜ ์ฃผ์š” ์—ญํ•  3๊ฐ€์ง€๋ฅผ ์„ค๋ช…ํ•˜์‹œ์˜ค.

  2. ํ•˜๋“œ์™€์ด์–ด๋“œ ์ œ์–ด์™€ ๋งˆ์ดํฌ๋กœํ”„๋กœ๊ทธ๋žจ ์ œ์–ด์˜ ์ฐจ์ด์ ์„ ๋น„๊ตํ•˜์‹œ์˜ค.

  3. ๋‹ค์Œ ์ œ์–ด ์‹ ํ˜ธ์˜ ์—ญํ• ์„ ์„ค๋ช…ํ•˜์‹œ์˜ค:

  4. (a) RegWrite
  5. (b) ALUSrc
  6. (c) MemtoReg

์ œ์–ด ์‹ ํ˜ธ ๋ถ„์„ ๋ฌธ์ œ

  1. ๋‹ค์Œ MIPS ๋ช…๋ น์–ด ์‹คํ–‰ ์‹œ ๊ฐ ์ œ์–ด ์‹ ํ˜ธ์˜ ๊ฐ’์„ ๊ฒฐ์ •ํ•˜์‹œ์˜ค:

ADD $t0, $t1, $t2

  • RegDst = ?
  • ALUSrc = ?
  • MemtoReg = ?
  • RegWrite = ?
  • MemRead = ?
  • MemWrite = ?
  • Branch = ?
  • ALUOp = ?

  • SW $t0, 100($s0) ๋ช…๋ น์–ด์˜ ์ œ์–ด ์‹ ํ˜ธ๋ฅผ ๋ชจ๋‘ ๊ฒฐ์ •ํ•˜์‹œ์˜ค.

๋งˆ์ดํฌ๋กœํ”„๋กœ๊ทธ๋žจ ๋ฌธ์ œ

  1. ๋งˆ์ดํฌ๋กœํ”„๋กœ๊ทธ๋žจ ์ œ์–ด์—์„œ ์‹œํ€€์„œ์˜ ์—ญํ• ์„ ์„ค๋ช…ํ•˜์‹œ์˜ค.

  2. ์ˆ˜ํ‰ ๋งˆ์ดํฌ๋กœ๋ช…๋ น์–ด์™€ ์ˆ˜์ง ๋งˆ์ดํฌ๋กœ๋ช…๋ น์–ด์˜ ์žฅ๋‹จ์ ์„ ๋น„๊ตํ•˜์‹œ์˜ค.

  3. BEQ $t0, $t1, label ๋ช…๋ น์–ด์˜ ๋งˆ์ดํฌ๋กœ๋ช…๋ น์–ด ์‹œํ€€์Šค๋ฅผ ์ž‘์„ฑํ•˜์‹œ์˜ค.

์‹ฌํ™” ๋ฌธ์ œ

  1. ๋‹ค์Œ ์ƒํ™ฉ์—์„œ ์–ด๋–ค ์ œ์–ด ๋ฐฉ์‹(ํ•˜๋“œ์™€์ด์–ด๋“œ/๋งˆ์ดํฌ๋กœํ”„๋กœ๊ทธ๋žจ)์ด ๋” ์ ํ•ฉํ•œ์ง€ ์„ค๋ช…ํ•˜์‹œ์˜ค:
  2. (a) ๋‹จ์ˆœํ•œ RISC ํ”„๋กœ์„ธ์„œ ์„ค๊ณ„
  3. (b) ๋ณต์žกํ•œ CISC ํ”„๋กœ์„ธ์„œ ์„ค๊ณ„
  4. (c) ๋งˆ์ดํฌ๋กœ์ฝ”๋“œ ์—…๋ฐ์ดํŠธ๊ฐ€ ํ•„์š”ํ•œ ๊ฒฝ์šฐ

  5. ๋‹ค์ค‘ ์‚ฌ์ดํด CPU์˜ FSM(์œ ํ•œ ์ƒํƒœ ๊ธฐ๊ณ„)์—์„œ lw ๋ช…๋ น์–ด๊ฐ€ ๊ฑฐ์น˜๋Š” ๋ชจ๋“  ์ƒํƒœ๋ฅผ ๋‚˜์—ดํ•˜๊ณ , ๊ฐ ์ƒํƒœ์—์„œ ํ™œ์„ฑํ™”๋˜๋Š” ์ œ์–ด ์‹ ํ˜ธ๋ฅผ ์„ค๋ช…ํ•˜์‹œ์˜ค.

์ •๋‹ต 1. ์ œ์–ด์žฅ์น˜์˜ ์ฃผ์š” ์—ญํ• : - ๋ช…๋ น์–ด ํ•ด๋…: IR์˜ opcode๋ฅผ ๋ถ„์„ํ•˜์—ฌ ๋ช…๋ น์–ด ์ข…๋ฅ˜ ํŒŒ์•… - ํƒ€์ด๋ฐ ์ƒ์„ฑ: ๊ฐ ์ž‘์—…์˜ ์‹คํ–‰ ์ˆœ์„œ์™€ ์‹œ์  ๊ฒฐ์ • - ์ œ์–ด ์‹ ํ˜ธ ์ƒ์„ฑ: ๋ฐ์ดํ„ฐํŒจ์Šค์˜ ๊ฐ ๊ตฌ์„ฑ์š”์†Œ๋ฅผ ์ œ์–ดํ•˜๋Š” ์‹ ํ˜ธ ์ถœ๋ ฅ 2. ๋น„๊ต: - ํ•˜๋“œ์™€์ด์–ด๋“œ: ๋…ผ๋ฆฌ ํšŒ๋กœ๋กœ ์ง์ ‘ ๊ตฌํ˜„, ๋น ๋ฅด์ง€๋งŒ ์ˆ˜์ • ์–ด๋ ค์›€ - ๋งˆ์ดํฌ๋กœํ”„๋กœ๊ทธ๋žจ: ROM์— ์ €์žฅ๋œ ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰, ์œ ์—ฐํ•˜์ง€๋งŒ ๋А๋ฆผ 3. ์ œ์–ด ์‹ ํ˜ธ ์—ญํ• : - (a) RegWrite: ๋ ˆ์ง€์Šคํ„ฐ ํŒŒ์ผ์— ๋ฐ์ดํ„ฐ ์“ฐ๊ธฐ ํ—ˆ์šฉ - (b) ALUSrc: ALU์˜ ๋‘ ๋ฒˆ์งธ ์ž…๋ ฅ ์†Œ์Šค ์„ ํƒ (0=๋ ˆ์ง€์Šคํ„ฐ, 1=์ฆ‰์‹œ๊ฐ’) - (c) MemtoReg: ๋ ˆ์ง€์Šคํ„ฐ์— ์“ธ ๋ฐ์ดํ„ฐ ์„ ํƒ (0=ALU, 1=๋ฉ”๋ชจ๋ฆฌ) 4. ADD ๋ช…๋ น์–ด ์ œ์–ด ์‹ ํ˜ธ: - RegDst = 1 (rd ์‚ฌ์šฉ) - ALUSrc = 0 (๋ ˆ์ง€์Šคํ„ฐ) - MemtoReg = 0 (ALU ๊ฒฐ๊ณผ) - RegWrite = 1 - MemRead = 0 - MemWrite = 0 - Branch = 0 - ALUOp = 10 (R-type) 5. SW ๋ช…๋ น์–ด ์ œ์–ด ์‹ ํ˜ธ: - RegDst = x (don't care) - ALUSrc = 1 (์ฆ‰์‹œ๊ฐ’ 100) - MemtoReg = x - RegWrite = 0 - MemRead = 0 - MemWrite = 1 - Branch = 0 - ALUOp = 00 (add) 6. ์‹œํ€€์„œ ์—ญํ• : - ํ˜„์žฌ ๋งˆ์ดํฌ๋กœ๋ช…๋ น์–ด์˜ ์‹œํ€€์Šค ์ œ์–ด ํ•„๋“œ๋ฅผ ํ•ด์„ - ๋‹ค์Œ ๋งˆ์ดํฌ๋กœ๋ช…๋ น์–ด ์ฃผ์†Œ ๊ฒฐ์ • (์ˆœ์ฐจ, ๋ถ„๊ธฐ, ๋””์ŠคํŒจ์น˜, ํŽ˜์น˜) - MicroPC ๊ฐ’ ์—…๋ฐ์ดํŠธ 7. ์ˆ˜ํ‰ vs ์ˆ˜์ง: - ์ˆ˜ํ‰: ๋น ๋ฅธ ์‹คํ–‰, ๋ณ‘๋ ฌ ์ œ์–ด ๊ฐ€๋Šฅ, ๋„“์€ ๋น„ํŠธํญ, ํฐ ROM - ์ˆ˜์ง: ์ข์€ ๋น„ํŠธํญ, ์ž‘์€ ROM, ์ถ”๊ฐ€ ๋””์ฝ”๋”ฉ ํ•„์š”, ๋А๋ฆผ 8. BEQ ๋งˆ์ดํฌ๋กœ๋ช…๋ น์–ด: - IF: MARโ†PC, IRโ†Mem[MAR], PCโ†PC+4 - ID: Aโ†Regs[$t0], Bโ†Regs[$t1], ALUOutโ†PC+(offset<<2) - EX: if (A==B) PCโ†ALUOut โ†’ 0x00 (IF๋กœ ๋ณต๊ท€) 9. - (a) RISC: ํ•˜๋“œ์™€์ด์–ด๋“œ (๋ช…๋ น์–ด๊ฐ€ ๋‹จ์ˆœํ•˜๊ณ  ์†๋„ ์ค‘์š”) - (b) CISC: ๋งˆ์ดํฌ๋กœํ”„๋กœ๊ทธ๋žจ (๋ณต์žกํ•œ ๋ช…๋ น์–ด ๊ตฌํ˜„ ์šฉ์ด) - (c) ์—…๋ฐ์ดํŠธ ํ•„์š”: ๋งˆ์ดํฌ๋กœํ”„๋กœ๊ทธ๋žจ (ROM๋งŒ ์ˆ˜์ •) 10. lw ๋ช…๋ น์–ด ์ƒํƒœ: - State 0 (IF): MemRead=1, IRWrite=1, PCWrite=1 - State 1 (ID): (๋ ˆ์ง€์Šคํ„ฐ ์ฝ๊ธฐ) - State 2 (MemAddr): ALUSrcA=1, ALUSrcB=10, ALUOp=00 - State 3 (MemRead): MemRead=1 - State 4 (LW-WB): RegDst=0, MemtoReg=1, RegWrite=1

๋‹ค์Œ ๋‹จ๊ณ„


์ฐธ๊ณ  ์ž๋ฃŒ

  • Computer Organization and Design (Patterson & Hennessy)
  • Computer Architecture: A Quantitative Approach (Hennessy & Patterson)
  • MIPS Control Unit Implementation
  • Digital Design and Computer Architecture (Harris & Harris)
to navigate between lessons