๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Computer Science

์ฒ˜๋ฆฌ์žฅ์น˜ - ์ œ์–ด๋‹จ์–ด์˜ ์ดํ•ด์™€ ๋งˆ์ดํฌ๋กœ ์—ฐ์‚ฐ์˜ ์ œ์–ด๋‹จ์–ด ๋ณ€ํ™˜

by Leica 2019. 11. 9.
๋ฐ˜์‘ํ˜•

์ œ์–ด๋‹จ์–ด์™€ ์„ ํƒ์‹ ํ˜ธ

์ œ์–ด๋‹จ์–ด

- ์„ ํƒ์‹ ํ˜ธ(์ œ์–ด๋ณ€์ˆ˜)์˜ ๋ฌถ์Œ

- ์ œ์–ด๋‹จ์–ด๋Š” ์ฒ˜๋ฆฌ์žฅ์น˜๋กœ๋ถ€ํ„ฐ ์ „๋‹ฌ๋ฐ›์€ ์ƒํƒœ๋น„ํŠธ๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ ์ œ์–ด์žฅ์น˜๊ฐ€ ๋งŒ๋“ค๊ฒŒ ๋จ

 

์„ ํƒ์‹ ํ˜ธ(์ œ์–ด๋ณ€์ˆ˜)

- ์ฒ˜๋ฆฌ์žฅ์น˜ ๋‚ด์—์„œ ์ˆ˜ํ–‰๋˜๋Š” ๋งˆ์ดํฌ๋กœ ์—ฐ์‚ฐ์„ ์„ ํƒํ•˜๋Š” ๋ณ€์ˆ˜

- ์ฒ˜๋ฆฌ์žฅ์น˜์˜ ๋ฒ„์Šค, ALU, ์‹œํ”„ํ„ฐ, ๋„์ฐฉ ๋ ˆ์ง€์Šคํ„ฐ ๋“ฑ์„ ์ œ์–ด

 

์ฒ˜๋ฆฌ์žฅ์น˜์™€ ์ œ์–ด๋‹จ์–ด

์•„๋ž˜์™€ ๊ฐ™์€ ๊ตฌ์กฐ์˜ ์ฒ˜๋ฆฌ์žฅ์น˜๊ฐ€ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜์ž.

์ฒ˜๋ฆฌ์žฅ์น˜ ๋ธ”๋ก๋„

๋ ˆ์ง€์Šคํ„ฐ ์„ธํŠธ๋Š” R1~R7์˜ 7๊ฐœ์˜ ๋ ˆ์ง€์Šคํ„ฐ๋กœ ๊ตฌ์„ฑ๋˜์—ˆ๋‹ค. 7๊ฐœ์˜ ๋ ˆ์ง€์Šคํ„ฐ ์ถœ๋ ฅ๊ณผ ์™ธ๋ถ€๊ธฐ์–ต์žฅ์น˜๋กœ๋ถ€ํ„ฐ์˜ ์ž…๋ ฅ์€ ๋‘ ์„ธํŠธ์˜ ๋ฉ€ํ‹ฐํ”Œ๋ ‰์„œ๊ฐ€ ์„ ํƒํ•˜์—ฌ ALU์˜ ์ž…๋ ฅ์œผ๋กœ ์—ฐ๊ฒฐ๋œ๋‹ค. ALU์˜ ์ถœ๋ ฅ์€ ์‹œํ”„ํ„ฐ๋ฅผ ํ†ตํ•ด ์ถœ๋ ฅ๋ฒ„์Šค๋กœ ์—ฐ๊ฒฐ๋˜์–ด ๋„์ฐฉ ๋ ˆ์ง€์Šคํ„ฐ๋‚˜ ์™ธ๋ถ€๋กœ ์ „์†ก๋œ๋‹ค. ์ด๋Ÿฌํ•œ ๊ตฌ์กฐ์˜ ์ฒ˜๋ฆฌ์žฅ์น˜์—๋Š” ๋ชจ๋‘ 16๊ฐœ์˜ 2์ง„ ์ œ์–ด๋ณ€์ˆ˜๊ฐ€ ์žˆ๊ณ (์ฒ˜๋ฆฌ์žฅ์น˜ ๊ตฌ์กฐ์— ๋”ฐ๋ผ ์ œ์–ด๋ณ€์ˆ˜์˜ ๊ฐœ์ˆ˜๊ฐ€ ๋ฐ”๋€๋‹ค) ์ด๊ฒƒ์ด ๋ฌถ์—ฌ ํ•˜๋‚˜์˜ ์ œ์–ด๋‹จ์–ด๋ฅผ ๊ตฌ์„ฑํ•œ๋‹ค. 16๋น„ํŠธ ์ œ์–ด๋‹จ์–ด๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๊ฐ ํ•„๋“œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

 

ํ•„๋“œ ์„ค๋ช… ๋น„ํŠธ
A ALU๋กœ ์ž…๋ ฅ๋˜๋Š” A๋ฒ„์Šค ์„ ํƒ = ์ถœ๋ฐœ ๋ ˆ์ง€์Šคํ„ฐ ์„ ํƒ 3๋น„ํŠธ
B ALU๋กœ ์ž…๋ ฅ๋˜๋Š” B๋ฒ„์Šค ์„ ํƒ = ์ถœ๋ฐœ ๋ ˆ์ง€์Šคํ„ฐ ์„ ํƒ 3๋น„ํŠธ
D ๋„์ฐฉ ๋ ˆ์ง€์Šคํ„ฐ ์„ ํƒ 3๋น„ํŠธ
F ALU์˜ ์—ฐ์‚ฐ ์„ ํƒ 4๋น„ํŠธ
H ์‹œํ”„ํ„ฐ์˜ ์—ฐ์‚ฐ ์„ ํƒ 3๋น„ํŠธ

 

์ด๋ ‡๊ฒŒ 16๋น„ํŠธ๋กœ ๊ตฌ์„ฑ๋œ ์ œ์–ด๋‹จ์–ด๋ฅผ ์ฒ˜๋ฆฌ์žฅ์น˜์˜ ๊ฐ ๊ตฌ์„ฑ์š”์†Œ์— ์„ ํƒ์‹ ํ˜ธ๋กœ ๋ณด๋‚ด๋ฉด ํ•ด๋‹น ๋งˆ์ดํฌ๋กœ ์—ฐ์‚ฐ์ด ์ˆ˜ํ–‰๋œ๋‹ค. ๋‹ค์Œ ํ‘œ๋Š” ์ฒ˜๋ฆฌ์žฅ์น˜์˜ ์ œ์–ด๋‹จ์–ด ๋‚ด์—ญ์œผ๋กœ ์ œ์–ด๋ณ€์ˆ˜์— ์˜ํ•ด ์ˆ˜ํ–‰๋˜๋Š” ๊ธฐ๋Šฅ์„ ๋‚˜ํƒ€๋‚ธ๋‹ค.

 

2์ง„ ์ฝ”๋“œ A B D F H
Cin=0 Cin=1
000 ์™ธ๋ถ€์ž…๋ ฅ ์™ธ๋ถ€์ž…๋ ฅ ์—†์Œ F=A F=A+1 ์‹œํ”„ํŠธ ์—†์Œ
001 R1 R1 R1 F=A+B F=A+B+1 SHR
010 R2 R2 R2 F=A+B(โ”€) F=A-B SHL
011 R3 R3 R3 F=A-1 F=A bus=0
100 R4 R4 R4 F=AB - -
101 R5 R5 R5 F=AB - ROR
110 R6 R6 R6 F=A⊕B - ROL
111 R7 R7 R7 F=A(โ”€) - -

โ€ป ์ฐธ๊ณ 

  • Cin : ์บ๋ฆฌ ์—ฌ๋ถ€
  • ใ…ก : ๋ถ€์ •(NOT)
  • : ๋…ผ๋ฆฌ๊ณฑ(AND)
  • : ๋…ผ๋ฆฌํ•ฉ(OR)
  • SHR : Shift right
  • SHL : Shift left
  • bus=0 : ๋ชจ๋“  ์ถœ๋ ฅ๋น„ํŠธ์— 0์„ ์ „์†ก
  • ROR : Rotate right
  • ROL : Rotate left
  • F=A : F=A ์—ฐ์‚ฐ์„ ์‹คํ–‰ํ•  ์‹œ์ ์˜ Cin๊ฐ’์„ ์•Œ์•„์•ผ 000 ๋˜๋Š” 011์„ ์„ ํƒํ•  ์ˆ˜ ์žˆ๋‹ค.

 

๋งˆ์ดํฌ๋กœ ์—ฐ์‚ฐ์„ ์ œ์–ด๋‹จ์–ด๋กœ ๋ณ€ํ™˜ํ•˜๊ธฐ

R1 ← R2 - R3

R2๊ฐ’์—์„œ R3๋ฅผ ๋นผ์„œ R1์— ์ ์žฌํ•˜๋Š” ๊ฐ์‚ฐ ๋งˆ์ดํฌ๋กœ ์—ฐ์‚ฐ์ด๋‹ค. ์ด ๋ฌธ์žฅ์„ ์œ„ํ•œ ์ œ์–ด๋‹จ์–ด์˜ ๊ฐ ํ•„๋“œ์˜ ๋‚ด์šฉ๊ณผ ๋ณ€ํ™˜ ๊ฒฐ๊ณผ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

 

ํ•„๋“œ ๋‚ด์šฉ ๊ธฐํ˜ธ
2์ง„ ์ฝ”๋“œ
A ALU์˜ A๋ฒ„์Šค ์ž…๋ ฅ์œผ๋กœ R2์˜ ๋‚ด์šฉ์„ ๋ณด๋‚ธ๋‹ค. R2 010
B ALU์˜ B๋ฒ„์Šค ์ž…๋ ฅ์œผ๋กœ R3์˜ ๋‚ด์šฉ์„ ๋ณด๋‚ธ๋‹ค. R3 011
D ์—ฐ์‚ฐ ๊ฒฐ๊ณผ๋ฅผ ๋„์ฐฉ ๋ ˆ์ง€์Šคํ„ฐ R1์œผ๋กœ ๋ณด๋‚ธ๋‹ค. R1 001
F ALU์—์„œ ๊ฐ์‚ฐ์—ฐ์‚ฐ(F=A-B)์„ ์ˆ˜ํ–‰ํ•œ๋‹ค. F=A-B 0101
H ์‹œํ”„ํ„ฐ์—์„œ ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜์ง€ ์•Š๋Š”๋‹ค. ์‹œํ”„ํŠธ ์—†์Œ 000

2์ง„ ์ œ์–ด๋‹จ์–ด : 010 011 001 0101 000

 

์œ„ ๋‚ด์šฉ์„ ์ฐธ๊ณ ํ•˜์—ฌ ์•„๋ž˜ ๋งˆ์ดํฌ๋กœ ์—ฐ์‚ฐ์„ 2์ง„ ์ œ์–ด๋‹จ์–ด๋กœ ๋ณ€ํ™˜ํ•ด๋ณด์ž. ์ œ์–ด๋‹จ์–ด์˜ A, B, D, F, H ํ•„๋“œ ๋ณ„๋กœ ๊ธฐํ˜ธ๋กœ ํ‘œํ˜„ํ•œ ๋’ค 2์ง„ ์ฝ”๋“œ๋กœ ๋ฐ”๊พธ๋ฉด ๋” ์‰ฝ๊ฒŒ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

  1. R1 ← R2 - R3
  2. R4 ← shr(R5 + R6)
  3. R7 ← R7 + 1
  4. R1 ← R2
  5. output ← R3
  6. R4 ← rol R4
  7. R5 ← 0

 

์ •๋‹ต โ–ผ

๋”๋ณด๊ธฐ
๋ฒˆํ˜ธ ๊ธฐํ˜ธํ‘œ์‹œ 2์ง„ ์ œ์–ด๋‹จ์–ด
A B D F H A B D F H
1 R2 R3 R1 F=A-B - 010 011 001 0101 000
2 R5 R6 R4 F=A+B SHR 101 110 100 0010 001
3 R7 - R7 F=A+1 - 111 000 111 0001 000
4 R2 - R1 F=A - 010 000 001 0000 000
5 R3 - NONE F=A - 011 000 000 0000 000
6 R4 - R4 F=A ROL 100 000 100 0000 110
7 - - R5 - bus=0 000 000 101 0000 011

 

์ฐธ๊ณ  ์„œ์ 

์ปดํ“จํ„ฐ๊ตฌ์กฐ(๊น€ํ˜•๊ทผ·์†์ง„๊ณค, ํ•œ๊ตญ๋ฐฉ์†กํ†ต์‹ ๋Œ€ํ•™๊ต์ถœํŒ๋ฌธํ™”์›)

 

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€