์ปดํ“จํ„ฐ ๊ตฌ์กฐ - CPU์— ๋Œ€ํ•ด์„œ

2020. 9. 9. 00:09ใ†์ „๊ณต ๊ณผ๋ชฉ/์ปดํ“จํ„ฐ ๊ตฌ์กฐ

์ปดํ“จํ„ฐ ๊ตฌ์กฐ - CPU์— ๋Œ€ํ•ด์„œ

 

์ปดํ“จํ„ฐ ๋ถ€ํ’ˆ์„ ์‚ด ๋•Œ ๊ฐ€์žฅ ์ค‘์š”์‹œ ์—ฌ๊ฒจ์ง€๋Š” ๋ถ€ํ’ˆ CPU

์˜ค๋Š˜์€ ์ด CPU์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณผ ๊ฒƒ์ด๋‹ค.

 

CPU์˜ ๊ธฐ๋Šฅ

  • ๋ช…๋ น์–ด ์ธ์ถœ - ๊ธฐ์–ต์žฅ์น˜๋กœ๋ถ€ํ„ฐ ๋ช…๋ น์–ด๋ฅผ ์ฝ์–ด์˜จ๋‹ค.
  • ๋ช…๋ น์–ด ํ•ด๋… : ๋ช…๋ น์–ด๋ฅผ ํ•ด๋…ํ•œ๋‹ค.

CPU๋ฅผ ์•„๋Š” ๊ฒƒ์€ ๋ช…๋ น์–ด ์ธ์ถœ๊ณผ ๋ช…๋ น์–ด ํ•ด๋…์— ๋Œ€ํ•ด ์•„๋Š” ๊ฒƒ๊ณผ ๊ฐ™๋‹ค.

 

๊ทธ ๋’ค๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ธ์ถœ(๊ฐ€์ ธ์˜ค๊ธฐ)ํ•  ์ˆ˜๋„ ์žˆ๊ณ  ์ฒ˜๋ฆฌ(์—ฐ์‚ฐ)๋„ ๊ฐ€๋Šฅํ•˜๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ˆ˜ํ–‰ํ•œ ๊ฐ’์„ ์ €์žฅํ•  ์ˆ˜๋„ ์žˆ๋‹ค.

 

 

 

CPU์˜ ๋‚ด๋ถ€ ๊ตฌ์„ฑ์š”์†Œ

 

๋‚ด๋ถ€ ๊ตฌ์„ฑ์š”์†Œ๋Š” ํฌ๊ฒŒ 4๊ฐœ๋กœ ๋ถ„๋ฅ˜ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

1. ALU

  • ์—ฐ์‚ฐ์„ ํ•˜๋Š” ๊ณณ(์‚ฐ์ˆ , ๋…ผ๋ฆฌ ๋“ฑ)

2. ๋ ˆ์ง€์Šคํ„ฐ

  • ์—‘์„ธ์Šค ์†๋„๊ฐ€ ๊ฐ€์žฅ ๋น ๋ฅธ ๊ธฐ์–ต์žฅ์น˜
  • CPU ๋‚ด๋ถ€์˜ ๋ ˆ์ง€์Šคํ„ฐ์˜ ์ˆ˜๋Š” ์ œํ•œ ๋จ

3. ์ œ์–ด ์œ ๋‹ˆํŠธ

  • ์ œ์–ด ์‹ ํ˜ธ๋ฅผ ๋ฐœ์ƒํ•˜๋Š” ํ•˜๋“œ์›จ์–ด ๋ชจ๋“ˆ

4. CPU ๋‚ด๋ถ€ ๋ฒ„์Šค

  • ๋ฐ์ดํ„ฐ ์ด๋™์„ ์œ„ํ•œ ์ œ์–ด ์‹ ํ˜ธ ์„ ๋“ค
  • ์™ธ๋ถ€ ์‹œ์Šคํ…œ๊ณผ ์ง์ ‘ ์—ฐ๊ฒฐ x, ๋ฒ„ํผ ๋ ˆ์ง€์Šคํ„ฐ or ์‹œ์Šคํ…œ ๋ฒ„์Šค ์ธํ„ฐํŽ˜์ด์Šค ํšŒ๋กœ๋ฅผ ํ†ตํ•˜์—ฌ ์ ‘์†

 

 

๋ช…๋ น์–ด ์‚ฌ์ดํด

- CPU๊ฐ€ ํ•œ ๊ฐœ์˜ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ์ „์ฒด ์ฒ˜๋ฆฌ ๊ณผ์ •.

 

์ด ๋ช…๋ น์–ด ์‚ฌ์ดํด์€ ๋‘๊ฐœ์˜ ๋ถ€ ์‚ฌ์ดํด๋กœ ๋ถ„๋ฆฌ๋œ๋‹ค.

  • ์ธ์ถœ ์‚ฌ์ดํด : CPU๊ฐ€ ๊ธฐ์–ต์žฅ์น˜๋กœ๋ถ€ํ„ฐ ๋ช…๋ น์–ด๋ฅผ ์ฝ์–ด์˜ค๋Š” ๋‹จ๊ณ„
  • ์‹คํ–‰ ์‚ฌ์ดํด: ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๋‹จ๊ณ„

 

 

๋ช…๋ น์–ด ์‹คํ–‰์— ํ•„์š”ํ•œ CPU ๋‚ด๋ถ€ ๋ ˆ์ง€์Šคํ„ฐ๋“ค

 

CPU ๋‚ด๋ถ€์˜ ๋ ˆ์ง€์Šคํ„ฐ๋“ค์€ ์—ฌ๋Ÿฌ๊ฐ€์ง€๊ฐ€ ์žˆ๋Š”๋ฐ ์ด๋“ค์€ ์–ด๋–ค ์—ญํ• ์„ ํ•˜๋Š”์ง€ ์•Œ์•„๋ณด์ž.

 

1. ํ”„๋กœ๊ทธ๋žจ ์นด์šดํ„ฐ(PC)

  • ๋‹ค์Œ์— ์ธ์ถœํ•œ ๋ช…๋ น์–ด์˜ ์ฃผ์†Œ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๋ ˆ์ง€์Šคํ„ฐ
  • ์ธ์ถœ๋œ ํ›„์—๋Š” ์ž๋™์ ์œผ๋กœ ์ผ์ • ํฌ๊ธฐ๋งŒํผ ์ฆ๊ฐ€

2. ๋ˆ„์‚ฐ๊ธฐ(AC)

  • ๋ฐ์ดํ„ฐ๋ฅผ ์ผ์‹œ์ ์œผ๋กœ ์ €์žฅํ•˜๋Š” ๋ ˆ์ง€์Šคํ„ฐ
  • ๋ ˆ์ง€์Šคํ„ฐ์˜ ๊ธธ์ด๋Š” CPU๊ฐ€ ํ•œ ๋ฒˆ์— ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐ์ดํ„ฐ ๋น„ํŠธ ์ˆ˜(๋‹จ์–ด ๊ธธ์ด)์™€ ๋™์ผ

3. ๋ช…๋ น์–ด ๋ ˆ์ง€์Šคํ„ฐ(IR)

  • ๊ฐ€์žฅ ์ตœ๊ทผ์— ์ธ์ถœ๋œ ๋ช…๋ น์–ด ์ฝ”๋“œ๊ฐ€ ์ €์žฅ๋˜์–ด ์žˆ๋Š” ๋ ˆ์ง€์Šคํ„ฐ

4. ๊ธฐ์–ต์žฅ์น˜ ์ฃผ์†Œ ๋ ˆ์ง€์Šคํ„ฐ(MAR)

  • PC ->์‹œ์Šคํ…œ ์ฃผ์†Œ ๋ฒ„์Šค๋กœ ๊ฐ€๊ธฐ์ „์— ์ผ์‹œ์ ์œผ๋กœ ์ €์žฅ๋˜๋Š” ์ฃผ์†Œ ๋ ˆ์ง€์Šคํ„ฐ

5. ๊ธฐ์–ต์žฅ์น˜ ๋ฒ„ํผ ๋ ˆ์ง€์Šคํ„ฐ(MBR)

  • ๊ธฐ์–ต์žฅ์น˜๋กœ๋ถ€ํ„ฐ ์ฝํ˜€์ง„ ๋ฐ์ดํ„ฐ๋ฅผ ์ผ์‹œ์ ์œผ๋กœ ์ €์žฅํ•˜๋Š” ๋ ˆ์ง€์Šคํ„ฐ

CPU ๋‚ด๋ถ€ ๋ ˆ์ง€์Šคํ„ฐ์— ๋ฌด์—‡์ด ์žˆ๋Š”์ง€ ์•Œ์•„๋ณด์•˜๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ์ด๋“ค์€ ์–ด๋–ป๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ณ  ์—ฐ์‚ฐํ•˜๊ณ  ์ €์žฅ์„ ํ• ๊นŒ?

 

๋จผ์ € ์ธ์ถœ ์‚ฌ์ดํด๊ณผ ์‹คํ–‰ ์‚ฌ์ดํด์„ ์•Œ์•„์•ผ ํ•œ๋‹ค.

 

์ธ์ถœ ์‚ฌ์ดํด

-->์ธ์ถœ ์‚ฌ์ดํด์˜ ๋ชฉ์ ์€ PC์— ์žˆ๋Š” ์ฃผ์†Œ๋ฅผ ํ†ตํ•ด ๊ทธ ์ฃผ์†Œ์˜ ๊ฐ’์„ ๊ฐ€์ ธ์™€์„œ IR์— ๋‹ด๋Š” ๊ฒƒ์ด๋‹ค.

     ์ด๋Ÿฌํ•œ ๊ณผ์ •์ด ์ธ์ถœ ๊ณผ์ •์ด๋‹ค.

 

์ด ๊ณผ์ •์„ 3๋ถ„ํ• ๋กœ ๋‚˜๋ˆ„๋ฉด ์ด๋ ‡๋‹ค.

 

t0 : MAR <- PC

t1 : MBR <-M[MAR], PC <-PC +1

t2 : IR <-MBR 

 

t0 : PC์— ์žˆ๋Š” ์ฃผ์†Œ๋ฅผ MAR๋กœ ์ „์†ก

t1 : MAR์— ์žˆ๋Š” ๋ช…๋ น์–ด ์ฃผ์†Œ๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๋Š” "๊ฐ’"์„ MBR์— ์ „์†ก, PC๊ฐ€ 1์ฆ๊ฐ€ํ•ด ๋‹ค๋ฅธ ์ฃผ์†Œ๊ฐ’์„ ๋‹ด๊ฒŒ ๋จ (ex 100-> 101)

t2 : MBR์— ์žˆ๋Š” ๊ฐ’์„ IR์— ์ €์žฅ

 

์œ„ ์„ธ ํƒ€์ž„์˜ ๊ณผ์ •์ด ๋ชจ์—ฌ ์ƒˆ๋กœ์šด ๋ช…๋ น์–ด๊ฐ€ IR์— ๋“ค์–ด๊ฐ€๋Š” ๊ฒƒ์ด๋‹ค. 

๊ฐ์ด ์•ˆ ์˜ฌ ์ˆ˜๋„ ์žˆ์œผ๋‹ˆ ํ•„์ž๊ฐ€ ๊ทธ๋ฆผ์„ ๊ทธ๋ ค๋ดค๋‹ค.(์ž˜ ๋ชป ๊ทธ๋ฆฌ๋‹ˆ ์ดํ•ดํ•ด์ฃผ์ž..)

 

๋ช…๋ น์–ด ์ธ์ถœ๊ณผ์ •

 

์ด์ œ ์‹คํ–‰ ์‚ฌ์ดํด์„ ์•Œ์•„๋ณด์ž.

 

์‹คํ–‰ ์‚ฌ์ดํด์˜ ๊ธฐ๋ณธ์ ์ธ ๋ช…๋ น์–ด ํ˜•์‹์€ ์ด๋ ‡๋‹ค.

์—ฐ์‚ฐ ์ฝ”๋“œ ์˜คํผ๋žœ๋“œ(addr)

 

์—ฐ์‚ฐ ์ฝ”๋“œ๋Š” CPU๊ฐ€ ์ˆ˜ํ–‰ํ•  ์—ฐ์‚ฐ์„ ์ง€์ •ํ•˜๊ณ , ex) ADD, LOAD, STR

 

์˜คํผ๋žœ๋“œ๋Š” ๋ช…๋ น์–ด ์‹คํ–‰์— ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ๋œ ์ฃผ์†Œ๊ฑฐ๋‚˜ ๋ฐ์ดํ„ฐ์ด๋‹ค.

 

์ฐธ๊ณ ๋กœ ์—ฐ์‚ฐ ์ฝ”๋“œ๋Š” ์šฐ๋ฆฌ๊ฐ€ ์•ž์„œ ๋ฐฐ์› ๋˜ ์–ด์…ˆ๋ธ”๋ฆฌ ์–ธ์–ด์ด๋ฉฐ ์ด๋ฅผ "๋‹ˆ๋ชจ๋‹‰์Šค"๋ผ๊ณ  ๋ถ€๋ฅด๊ธฐ๋„ ํ•œ๋‹ค.

 

๋จผ์ € ์ฐจ๋ก€๋กœ ์ด ๋‹ˆ๋ชจ๋‹‰์Šค๋ฅผ ์•Œ์•„๋ณด์ž.

 

 

1)LOAD addr ๋ช…๋ น์–ด

  • ๊ธฐ์–ต์žฅ์น˜์— ์ €์žฅ๋˜์–ด ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ CPU ๋‚ด๋ถ€ ๋ ˆ์ง€์Šคํ„ฐ์ธ AC๋กœ ์ด๋™ํ•˜๋Š” ๋ช…๋ น์–ด

t0 : MAR <-IR(addr) 

t1 : MBR <- M(MAR)

t2 : AC <- MBR

 

์˜ˆ๋ฅผ๋“ค์–ด LOAD๋ฅผ 1 STA๋ฅผ 2 ADD๋ฅผ 3์ด๋ผ๊ณ  ํ•ด๋ณด์ž.

 

๊ทธ๋ ‡๋‹ค๋ฉด IR์—๋Š” 1340๊ณผ ๊ฐ™์€ ์ˆซ์ž๊ฐ€ ์ ํ˜€์žˆ์„ ๊ฒƒ์ธ๋ฐ, ์ด๋•Œ 1์€ ์—ฐ์‚ฐ ์ฝ”๋“œ๋ฅผ ์˜๋ฏธํ•˜๊ณ  340์€ ์˜คํผ๋žœ๋“œ๋ฅผ ์˜๋ฏธํ•œ๋‹ค.

 

์ฆ‰ 340๋ฒˆ ์ฃผ์†Œ์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ๊ฐ’์„ 1๋ฒˆ(LOAD)ํ•œ๋‹ค ๋ผ๋Š” ์˜๋ฏธ์™€ ์ผ๋งฅ์ƒํ†ตํ•œ๋‹ค.

 

์œ„์˜ LOAD ๊ณผ์ •์„ ์‚ดํŽด๋ณด๋ฉด,

IR์— ์žˆ๋Š” ๊ฐ’(์˜ˆ์‹œ์— ์žˆ๋Š” 1340๊ณผ ๊ฐ™์ด)์ด MAR๋กœ ๋“ค์–ด๊ฐ„๋‹ค. ๊ทธ ํ›„ MAR์— ์žˆ๋Š” ์ฃผ์†Œ๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๋Š” ๊ฐ’์„ MBR์— ๋„ฃ๊ณ  MBR์—์„œ AC๋กœ ๊ฐ„๋‹ค. ์ด ๊ณผ์ •์€ ์ฃผ ๊ธฐ์–ต์žฅ์น˜์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ CPU๋‚ด๋ถ€์˜ AC ๋ ˆ์ง€์Šคํ„ฐ๋กœ ๊ฐ”๋‹ค๋Š” ์ ์—์„œ ํฐ ์˜๋ฏธ๊ฐ€ ์žˆ๋‹ค.

 

2)STA addr ๋ช…๋ น์–ด

  • LOAD์™€ ๋ฐ˜๋Œ€ --> AC ๋ ˆ์ง€์Šคํ„ฐ์—์„œ ์ฃผ ๊ธฐ์–ต์žฅ์น˜๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์˜ฎ๊ธด๋‹ค.

t0 : MAR <-IR(addr)

t1 : MBR <- AC

t2: : M[MAR] <- MBR

 

1๋ฒˆ๊ณผ์ •์€ ์œ„์˜ LOAD์™€ ๊ฐ™๊ณ , ๋‚˜๋จธ์ง€ 2, 3๋ฒˆ๊ณผ์ •์€ AC์— ์žˆ๋Š” ๊ฐ’์„ MBR๋กœ, MBR์˜ ๊ฐ’์„ MAR์˜ ์ฃผ์†Œ๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๋Š” ๊ฐ’์— ๋„ฃ์œผ๋ฉด ๋œ๋‹ค.

 

3)ADD addr ๋ช…๋ น์–ด

  • ๊ธฐ์–ต์žฅ์น˜์— ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๋ฅผ AC์˜ ๋‚ด์šฉ๊ณผ ๋”ํ•˜๊ณ  ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๋‹ค์‹œ AC์— ์ €์žฅํ•˜๋Š” ๋ช…๋ น์–ด

t0 : MAR <- IR(addr)

t1 : MBR <- M[MAR]

t2 : AC <- AC + MBR

 

๋งˆ์ฐฌ๊ฐ€์ง€๋กœ 1๋ฒˆ๊ณผ์ •์€ ๋ช…๋ น์–ด๋ฅผ ๋ถˆ๋Ÿฌ ์ผ์œผํ‚ค๊ณ  2๋ฒˆ ๊ณผ์ •์€ MBR์— ๊ฐ’์„ ๋„ฃ๊ณ  3๋ฒˆ์€ ๊ทธ MBR๊ณผ AC์— ์žˆ๋Š” ๊ฐ’์„ ๋”ํ•œ๋‹ค.

๊ตฌ์ฒด์ ์œผ๋กœ๋Š” ALU๋ผ๋Š” ์—ฐ์‚ฐ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ ˆ์ง€์Šคํ„ฐ๊ฐ€ ์กด์žฌํ•˜๋Š”๋ฐ ์ด ๋ ˆ์ง€์Šคํ„ฐ์— ๋‘ ๊ฐ’์„ ๋„ฃ์–ด ์—ฐ์‚ฐํ•œ ํ›„์— AC์— ์ €์žฅํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

 

๋ฒˆ์™ธ๋กœ JUMP ๋ช…๋ น์–ด๋„ ์•Œ์•„๋ณด์ž.

JUMP ๋ช…๋ น์–ด๋Š” ์˜คํผ๋žœ๋“œ(addr)๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๋Š” ์œ„์น˜์˜ ๋ช…๋ น์–ด๋กœ ์‹คํ–‰ ์ˆœ์„œ๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” ๋ช…๋ น์–ด์ด๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด 9๋ฒˆ์ด JUMP ๋ช…๋ น์–ด๋ผ๊ณ  ์น˜๊ณ  9240์ด๋ผ๋Š” ๋ช…๋ น์–ด ์ฃผ์†Œ๊ฐ€ ๋“ค์–ด์™”๋‹ค๊ณ  ํ•ด๋ณด์ž.

๊ทธ๋ ‡๋‹ค๋ฉด ์œ„์˜ ๋œป์€ ์ด๋ ‡๊ฒŒ ๋œ๋‹ค. 240๋ฒˆ์œผ๋กœ ์ด๋™ํ•œ๋‹ค --> PC์˜ ๊ฐ’์„ 240์œผ๋กœ ๋ฐ”๊พผ๋‹ค์™€ ๊ฐ™๋‹ค.

 

ํ•ญ์ƒ ์ˆœ์ฐจ์ ์ธ ๋ช…๋ น๋งŒ ๋‚ด๋ฆด์ˆ˜๋Š” ์—†๋‹ค. ๋ช…๋ น์„ ๋„์–ด์„œ ํ˜ธ์ถœํ•  ๋•Œ๋„ ์žˆ์–ด์•ผ ํ•˜๋ฏ€๋กœ ์ด JUMP๋ช…๋ น์–ด๊ฐ€ ์“ฐ์ธ๋‹ค.