๐ŸฟCPU์˜ ๊ตฌ์กฐ

Yoonseopยท2023๋…„ 3์›” 20์ผ
0

์ปดํ“จํ„ฐ ๊ตฌ์กฐ

๋ชฉ๋ก ๋ณด๊ธฐ
2/5
post-thumbnail

โญ ์„œ๋ก 

์•ž์„œ ์šฐ๋ฆฌ๋Š” ํ˜„๋Œ€ ์ปดํ“จํ„ฐ ๊ตฌ์กฐ๋กœ, ํฐ ๋…ธ์ด๋งŒ ๊ตฌ์กฐ์™€ ํ•˜๋ฒ„๋“œ ๊ตฌ์กฐ๋ฅผ ์•Œ์•„๋ณด์•˜๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ํฐ ๋…ธ์ด๋งŒ ๊ตฌ์กฐ๊ฐ€ ๊ฐ–๋Š” ์˜์˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ๋” ์ด์ƒ ํ•˜๋“œ์›จ์–ด์˜ ๊ฐœ๋…์ด ์•„๋‹Œ ์ปดํ“จํ„ฐ ๋‚ด๋ถ€์˜ ๋ฉ”๋ชจ๋ฆฌ์— ๋ช…๋ น์–ด ํ˜•ํƒœ์˜ 2์ง„ ์ฝ”๋“œ(๋””์ง€ํ„ธ ์‹ ํ˜ธ)๋กœ ์ €์žฅ๋œ ์†Œํ”„ํŠธ์›จ์–ด์˜ ๊ฐœ๋…์œผ๋กœ ์ „ํ™˜ํ–ˆ๋‹ค๋Š” ๊ฒƒ๊ณผ ์ด๋Ÿฌํ•œ ํ”„๋กœ๊ทธ๋žจ ๋ช…๋ น์–ด 2์ง„ ์ฝ”๋“œ ์‹ ํ˜ธ๋“ค๊ณผ ํ˜ธํ™˜๋˜๋Š” ์„ค๊ณ„์˜ ํ•˜๋“œ์›จ์–ด์ธ CPU์˜ ๋„์ž…์„ ์ดˆ๋ž˜ํ–ˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ์•˜์„ ๊ฒƒ์ด๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ์ด๋Ÿฌํ•œ ํ˜„๋Œ€ ์ปดํ“จํ„ฐ ๊ตฌ์กฐ์—์„œ CPU๋Š” ์–ด๋–ป๊ฒŒ ํ”„๋กœ๊ทธ๋žจ, ์ฆ‰ ๋ช…๋ น์–ด๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ์ผ๊นŒ? ์ด๋ฅผ ์•Œ๊ธฐ ์œ„ํ•ด์„  ์šฐ์„  CPU์˜ ํ•˜๋“œ์›จ์–ด ์ฐจ์›์˜ ๊ตฌ์กฐ๋ฅผ ์ดํ•ดํ•  ํ•„์š”๊ฐ€ ์žˆ๋‹ค. ๊ทธ๋ž˜์•ผ๋งŒ ๋ช…๋ น์–ด์˜ ์ฒ˜๋ฆฌ ๋ฐฉ์‹์ด ์‹ค์ œ์ ์œผ๋กœ ์–ด๋–ป๊ฒŒ ์ด๋ฃจ์–ด์ง€๋Š” ์•Œ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

โญ ์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ

CPU์˜ ์ฒ˜๋ฆฌ ์†๋„์— ๋น„ํ•ด ์ฃผ๊ธฐ์–ต์žฅ์น˜์˜ ์ฒ˜๋ฆฌ ์†๋„๋Š” ๋งŽ์ด ๋Š๋ฆฌ๋‹ค. ์‹ค์ œ๋กœ ram์—์„œ cpu ๋ ˆ์ง€์Šคํ„ฐ ๊ฐ„์˜ ๋ฐ์ดํ„ฐ ์ด๋™์ด ์ œ์ผ ๋Š๋ฆฌ๋‹ค. ์ด๋กœ ์ธํ•œ ๋ณ‘๋ชฉ ํ˜„์ƒ์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด cpu ๋‚ด๋ถ€์— ์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์žฅ์ฐฉํ•˜์—ฌ cpu์˜ ์ฒ˜๋ฆฌ ์†๋„์™€ ์ฃผ๊ธฐ์–ต์žฅ์น˜์˜ ์ฒ˜๋ฆฌ ์†๋„ ๊ฐ„์˜ ์ฐจ์ด๋ฅผ ์ค„์ธ๋‹ค. ์บ์‹œ๋ฉ”๋ชจ๋ฆฌ์— ๊ด€ํ•ด์„  ๋ฉ”๋ชจ๋ฆฌ ์žฅ์น˜์—์„œ ๋” ์ž์„ธํžˆ ์•Œ์•„๋ณด๋„๋ก ํ•˜๊ฒ ๋‹ค.
๋ฉ”๋ชจ๋ฆฌ ์žฅ์น˜ post

โญ CPU ์ฝ”์–ด

CPU ์•ˆ์—๋Š” ๊ธฐ์–ต์žฅ์น˜์— ํ•ด๋‹นํ•˜๋Š” ์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ๋“ค๊ณผ ํ•จ๊ป˜ ์‹ค์ œ ์—ฐ์‚ฐ๊ณผ ์ œ์–ด๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ์ฝ”์–ด๋“ค์ด ๋‚ด์žฅ๋˜์–ด์žˆ๋‹ค. ๋ฉ€ํ‹ฐ์ฝ”์–ด CPU๋Š” ์ฝ”์–ด๊ฐ€ 2๊ฐœ์ธ CPU, ์ฟผ๋“œ์ฝ”์–ด CPU๋Š” ์ฝ”์–ด๊ฐ€ 4๊ฐœ์ธ CPU๋ผ๊ณ  ํ•œ๋‹ค. ์ตœ๊ทผ์—๋Š” ์ฝ”์–ด๊ฐ€ 16๊ฐœ์ธ ํ—ฅ์‚ฌ์ฝ”์–ด CPU๊นŒ์ง€ ์ถœ์‹œ๋˜์–ด PC์— ์‚ฌ์šฉ๋œ๋‹ค. CPU ์ฝ”์–ด๋Š” ๋ ˆ์ง€์Šคํ„ฐ, ์‚ฐ์ˆ /๋…ผ๋ฆฌ ์—ฐ์‚ฐ ์žฅ์น˜, ์ œ์–ด ์žฅ์น˜, ๋‚ด๋ถ€ ๋ฒ„์Šค๋กœ ์ด๋ฃจ์–ด์ ธ์žˆ๋‹ค. ์šด์˜์ฒด์ œ์—์„œ ์ด์•ผ๊ธฐ ํ•˜๊ฒ ์ง€๋งŒ CPU ์ฝ”์–ด ํ•˜๋‚˜๋งˆ๋‹ค ๋‹ค์ค‘ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐฉ์‹์œผ๋กœ ๋ช…๋ น์–ด๋ฅผ ์ฒ˜๋ฆฌํ•œ๋‹ค.

โšก๋ฉ€ํ‹ฐ์ฝ”์–ด? ๋ฉ€ํ‹ฐ์“ฐ๋ ˆ๋“œ? ํ•˜์ดํผ์“ฐ๋ ˆ๋“œ? ํ•˜๋“œ์›จ์–ด ์“ฐ๋ ˆ๋“œ? ์†Œํ”„ํŠธ์›จ์–ด ์“ฐ๋ ˆ๋“œ? ๊ทธ๊ฒŒ ๋ญ”๋ฐ?

์ปดํ“จํ„ฐ ๋ถ€ํ’ˆ๋“ค ์ค‘ CPU๋ฅผ ๊ตฌ์ž…ํ•˜๊ธฐ ์œ„ํ•ด ์‹œ์ค‘์˜ CPU ์ƒํ’ˆ๋“ค์˜ ์‚ฌ์–‘๋“ค์„ ์‚ดํŽด๋ณธ ๊ฒฝํ—˜์ด ์žˆ๋‹ค๋ฉด CPU์˜ ์‚ฌ์–‘๋“ค ์ค‘ ๊ฐ€์žฅ CPU์˜ ๋Šฅ๋ ฅ์น˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์ง€ํ‘œ๋กœ ์—ฌ๊ฒจ์ง€๋Š” ๊ฒƒ์ด CPU์˜ ์ฝ”์–ด ์ˆ˜์™€ ์Šค๋ ˆ๋“œ ์ˆ˜์ด๋‹ค. ์ฝ”์–ด๋Š” ์œ„์—์„œ ์„ค๋ช…ํ•œ ๋ฐ”์™€ ๊ฐ™์ด ์‹ค์ œ์ ์œผ๋กœ ์—ฐ์‚ฐ๊ณผ ์ œ์–ด๊ฐ€ ์ด๋ฃจ์–ด์ง€๋Š” ํ•˜๋“œ์›จ์–ด ๋‹จ์œ„๋ผ ํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ, ์‚ฌ์‹ค ์›๋ž˜๋Š” ํ•˜๋‚˜์˜ ์ฝ”์–ด ๋‹น ํ•˜๋‚˜์˜ ํ”„๋กœ๊ทธ๋žจ์ด ์‹คํ–‰๋˜๊ณ  ๋‹ค์ค‘ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐฉ์‹์œผ๋กœ ๋งˆ์น˜ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ”„๋กœ๊ทธ๋žจ์ด ๋™์‹œ์— ์ˆ˜ํ–‰๋˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ด๋Š” ๊ฒƒ์ด์—ˆ์œผ๋‚˜ ํ•˜์ดํผ ์“ฐ๋ ˆ๋“œ๋ผ๋Š” ํ•˜๋“œ์›จ์–ด ์“ฐ๋ ˆ๋“œ ๊ธฐ์ˆ ์„ ๋„์ž…ํ•จ์œผ๋กœ์จ ์‹ค์ œ๋กœ ์ฝ”์–ด ํ•˜๋‚˜๋‹น 2๊ฐœ์˜ ํ”„๋กœ๊ทธ๋žจ์ด ๋™์‹œ์— ์ˆ˜ํ–‰๋  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์–ด CPU์˜ ์Šค๋ ˆ๋“œ ์ˆ˜๊ฐ€ ์ฝ”์–ด ์ˆ˜์˜ 2๊ฐœ๊ฐ€ ๋˜๊ฒŒ ๋˜์—ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ํ•˜์ดํผ ์“ฐ๋ ˆ๋“œ๋ž€ ๊ฒƒ์€ ์šฐ๋ฆฌ๊ฐ€ ํ”ํžˆ ์•Œ๊ณ  ์žˆ๋Š” ์†Œํ”„ํŠธ์›จ์–ด ์ธก๋ฉด์˜ ์“ฐ๋ ˆ๋“œ์™€๋Š” ๋‹ค๋ฅธ ๊ฒƒ์œผ๋กœ ์šด์˜์ฒด์ œ๋ฅผ ๋‹ค๋ฃฐ ๋•Œ ์ด์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์•Œ์•„๋ณด๋„๋ก ํ•˜์ž.

โญ ๋ ˆ์ง€์Šคํ„ฐ

๋ ˆ์ง€์Šคํ„ฐ๋Š” ์ฝ”์–ด๊ฐ€ ์ฃผ๊ธฐ์–ต์žฅ์น˜๋กœ๋ถ€ํ„ฐ ์ฝ์–ด ์˜จ ๋ช…๋ น์–ด์™€ ์ž๋ฃŒ๋ฅผ ์ €์žฅํ•  ์ž„์‹œ ์ €์žฅ ์žฅ์†Œ, ์‚ฐ์ˆ /๋…ผ๋ฆฌ ์—ฐ์‚ฐ ์žฅ์น˜์—์„œ ์ฒ˜๋ฆฌํ•œ ๊ฒฐ๊ณผ๋ฅผ ์ €์žฅํ•  ์ž„์‹œ ์ €์žฅ ์žฅ์†Œ, core์˜ ์ƒํƒœ๋ฅผ ์ €์žฅํ•  ์ €์žฅ ์žฅ์†Œ, ๋‹ค์Œ์— ์‹คํ–‰ํ•  ๋ช…๋ น์–ด์˜ ์ฃผ์†Œ๊ฐ’์„ ์ €์žฅํ•  ์ €์žฅ ์žฅ์†Œ ๋“ฑ ๊ทธ ๋ชฉ์ ์— ๋”ฐ๋ผ ์ข…๋ฅ˜๊ฐ€ ์—ฌ๋Ÿฌ ๊ฐ€์ง€์ด๋‹ค. ๋ ˆ์ง€์Šคํ„ฐ๋Š” ์ข…๋ฅ˜์— ์ƒ๊ด€์—†์ด ๊ณตํ†ต์ ์œผ๋กœ ๋‚ด๋ถ€ ์ฒ˜๋ฆฌ ์—ฐ์‚ฐ์„ ์œ„ํ•œ ์ž„์‹œ ์ €์žฅ ์žฅ์†Œ ์šฉ๋„๋กœ ์‚ฌ์šฉ๋œ๋‹ค.

  • PC(ํ”„๋กœ๊ทธ๋žจ ์นด์šดํ„ฐ): ๋‹ค์Œ์— ์‹คํ–‰ํ•  ๋ช…๋ น์–ด์˜ ์ฃผ์†Œ๋ฅผ ๊ธฐ์–ตํ•˜๋Š” ๋ ˆ์ง€์Šคํ„ฐ์ด๋‹ค. ๋ถ„๊ธฐ(branch) ๋ช…๋ น์–ด๊ฐ€ ์‹คํ–‰๋˜๋Š” ๊ฒฝ์šฐ PC๊ฐ€ ๋ถ„๊ธฐ์˜ ๋ชฉ์ ์ง€ ์ฃผ์†Œ๋กœ ๊ฐฑ์‹ ๋œ๋‹ค.

  • IR(๋ช…๋ น์–ด ๋ ˆ์ง€์Šคํ„ฐ): ํ˜„์žฌ ์‹คํ–‰ ์ค‘์ธ ๋ช…๋ น์–ด๋ฅผ ๊ธฐ์–ตํ•˜๋Š” ๋ ˆ์ง€์Šคํ„ฐ์ด๋‹ค.

  • MAR(๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ ๋ ˆ์ง€์Šคํ„ฐ): ๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ์— ์ฝ๊ธฐ/์“ฐ๊ธฐ๋ฅผ ํ•˜๋Š” ์ฃผ์†Œ๋ฅผ ์ €์žฅํ•˜๋Š” ๋ ˆ์ง€์Šคํ„ฐ์ด๋‹ค.

  • MBR(๋ฉ”๋ชจ๋ฆฌ ๋ฒ„ํผ ๋ ˆ์ง€์Šคํ„ฐ): ๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ์— ์ฝ๊ธฐ/์“ฐ๊ธฐ๋ฅผ ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ๋ ˆ์ง€์Šคํ„ฐ์ด๋‹ค.

  • AC(๋ˆ„์‚ฐ๊ธฐ ๋ ˆ์ง€์Šคํ„ฐ): ์—ฐ์‚ฐ ๊ฒฐ๊ณผ๋ฅผ ์ผ์‹œ์ ์œผ๋กœ ์ €์žฅํ•˜๋Š” ๋ ˆ์ง€์Šคํ„ฐ์ด๋‹ค.

  • Status register(์ƒํƒœ ๋ ˆ์ง€์Šคํ„ฐ): ์ฝ”์–ด ๋‚ด๋ถ€์˜ ์ƒํƒœ๋ฅผ ์ €์žฅํ•˜๋Š” ๋ ˆ์ง€์Šคํ„ฐ(์˜ค๋ฒ„ํ”Œ๋กœ์šฐ, ์–ธ๋”ํ”Œ๋กœ์šฐ, ์บ๋ฆฌ, zero, ์Œ์ˆ˜ ๋“ฑ์˜ ์ƒํƒœ๋ฅผ ์ €์žฅ)๋กœ์จ ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ์ œ์–ด์™€ ๋ฐ€์ ‘ํ•œ ๊ด€๋ จ์ด ์žˆ๋‹ค. Flag register๋ผ๊ณ ๋„ ํ•œ๋‹ค.

  • Base register(๋ฒ ์ด์Šค ๋ ˆ์ง€์Šคํ„ฐ): ๊ฐ„์ ‘ ์ฃผ์†Œ ์ง€์ • ๋ฐฉ์‹์—์„œ ์ฃผ์†Œ์˜ ์‹œ์ž‘ ๋ฒˆ์ง€๋ฅผ ๊ธฐ์–ตํ•˜๋Š” ๋ ˆ์ง€์Šคํ„ฐ์ด๋‹ค.

  • Index register(์ธ๋ฑ์Šค ๋ ˆ์ง€์Šคํ„ฐ): ํ”„๋กœ๊ทธ๋žจ์—์„œ ๋ฐ˜๋ณต ์—ฐ์‚ฐ์˜ ํšŸ์ˆ˜๋‚˜ ์ธ๋ฑ์‹ฑ์„ ์œ„ํ•ด์„œ ์‚ฌ์šฉ๋˜๋Š” ๋ ˆ์ง€์Šคํ„ฐ์ด๋‹ค.

  • Shift register(์‰ฌํ”„ํŠธ ๋ ˆ์ง€์Šคํ„ฐ): ์ €์žฅ๋œ ๊ฐ’์„ ์™ผ์ชฝ/์˜ค๋ฅธ์ชฝ์œผ๋กœ 1๋น„ํŠธ์”ฉ ์ž๋ฆฌ๋ฅผ ์ด๋™ํ•˜๋Š” ๋ ˆ์ง€์Šคํ„ฐ: ์‰ฌํ”„ํŠธ ์—ฐ์‚ฐ์— ์‚ฌ์šฉ๋œ๋‹ค.

โญ ์‚ฐ์ˆ /๋…ผ๋ฆฌ ์—ฐ์‚ฐ ์žฅ์น˜์™€ ์ œ์–ด ์žฅ์น˜

์‚ฐ์ˆ /๋…ผ๋ฆฌ ์—ฐ์‚ฐ ์žฅ์น˜(ALU)๋Š” ์‚ฐ์ˆ ์—ฐ์‚ฐ(๋”ํ•˜๊ธฐ, ๋นผ๊ธฐ, ๊ณฑํ•˜๊ธฐ, ๋‚˜๋ˆ„๊ธฐ ๋“ฑ)์„ ์ˆ˜ํ–‰ํ•˜๋Š” ์‚ฐ์ˆ ์—ฐ์‚ฐ ๋ชจ๋“ˆ๊ณผ ๋…ผ๋ฆฌ์—ฐ์‚ฐ(AND, OR, NOT, XOR ๋“ฑ)์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋…ผ๋ฆฌ์—ฐ์‚ฐ ๋ชจ๋“ˆ๋กœ ๊ตฌ์„ฑ๋œ ํšŒ๋กœ์ด๋‹ค. ์‚ฐ์ˆ ์—ฐ์‚ฐ ๋ชจ๋“ˆ๊ณผ ๋…ผ๋ฆฌ์—ฐ์‚ฐ ๋ชจ๋“ˆ์˜ ํšŒ๋กœ ์„ค๊ณ„ ๊ตฌ์กฐ๋Š” ์ˆœ์ฐจ ๋…ผ๋ฆฌ ํšŒ๋กœ์™€ ์กฐํ•ฉ ๋…ผ๋ฆฌ ํšŒ๋กœ ๋“ฑ์˜ ๋””์ง€ํ„ธ ๋…ผ๋ฆฌ ํšŒ๋กœ๋ฅผ ํ•™์Šตํ•œ ๋‹ค์Œ ์ดํ•ดํ•˜๋„๋ก ํ•˜์ž.

์ œ์–ด์žฅ์น˜๋Š” ์ฒ˜๋ฆฌํ•ด์•ผ ํ•  ๋ช…๋ น์–ด๋“ค์„ ํ•ด์„ํ•˜๊ณ , ์ด ๋ช…๋ น์–ด ์ˆ˜ํ–‰์— ํ•„์š”ํ•œ ์ œ์–ด ์‹ ํ˜ธ๋ฅผ ์ƒ์„ฑํ•ด์„œ ์ ์ ˆํ•œ ๋ชจ๋“ˆ์—๊ฒŒ ์‹ ํ˜ธ๋ฅผ ๋ณด๋‚ธ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ALU์—๊ฒŒ ํŠน์ • ์—ฐ์‚ฐ์„ ๋ช…๋ นํ•˜๊ฑฐ๋‚˜, ๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ์—๊ฒŒ ์ฝ๊ธฐ/์“ฐ๊ธฐ ๋“ฑ์˜ ์ œ์–ด ๋ช…๋ น์„ ๋‚ด๋ฆฌ๊ฑฐ๋‚˜, CORE ๋‚ด๋ถ€์˜ ๋‹ค๋ฅธ ๋ชจ๋“ˆ์ด๋‚˜ CORE ์™ธ๋ถ€์˜ ์žฅ์น˜(์ž…๋ ฅ ์žฅ์น˜, ์ถœ๋ ฅ ์žฅ์น˜, ๋ฉ”๋ชจ๋ฆฌ)๋“ค์˜ ์ œ์–ด๋ฅผ ๋‹ด๋‹นํ•˜๋Š” ์ปจํŠธ๋กค ํƒ€์›Œ ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.

์‚ฐ์ˆ /๋…ผ๋ฆฌ ์—ฐ์‚ฐ ์ด์™ธ์˜ ๋ช…๋ น์–ด(LOAD, STORE ์—ฐ์‚ฐ ๋“ฑ)๋“ค์€ CORE๊ฐ€ ๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ์—๊ฒŒ ์–ด๋–ค ๋ช…๋ น์„ ์ „๋‹ฌํ•˜๋Š” ์ผ์ด๋‹ค. ์ด๋Ÿฐ ์ผ์„ ์ œ์–ด ์žฅ์น˜๊ฐ€ ๋ช…๋ นํ•œ๋‹ค. ์ œ์–ด ์žฅ์น˜๋Š” ๋ช…๋ น์–ด๋ฅผ ํ•ด๋…ํ•˜์—ฌ ์ ์ ˆํ•œ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ์‹ ํ˜ธ๋ฅผ ์œ„ํ•œ ์ œ์–ด ์‹ ํ˜ธ๋ฅผ ๋ฐœ์ƒ์‹œํ‚ค๋Š” ์žฅ์น˜๋กœ, ๋ช…๋ น์–ด์™€ CPU ์ƒํƒœ ์‹ ํ˜ธ์™€ ํด๋Ÿญ์„ ์ž…๋ ฅ์œผ๋กœ ๋ฐ›์•„๋“ค์ธ๋‹ค.

์ œ์–ด ์žฅ์น˜์˜ ๊ตฌํ˜„ ๋ฐฉ๋ฒ•์€ ํฌ๊ฒŒ ํ•˜๋“œ์™€์ด์–ด ์ œ์–ด ๋ฐฉ์‹๊ณผ ๋งˆ์ดํฌ๋กœ ํ”„๋กœ๊ทธ๋žจ ๊ธฐ๋ฐ˜ ์ œ์–ด ๋ฐฉ์‹์ด ์žˆ๋Š”๋ฐ ๋งˆ์ดํฌ๋กœ ํ”„๋กœ๊ทธ๋žจ ๊ธฐ๋ฐ˜ ์ œ์–ด ๋ฐฉ์‹์— ๋Œ€ํ•ด์„œ๋งŒ ์•Œ์•„๋ณด์ž. ๋งˆ์ดํฌ๋กœ ํ”„๋กœ๊ทธ๋žจ ๊ธฐ๋ฐ˜ ์ œ์–ด ๋ฐฉ์‹์€ Programmable ROM์„ ์ด์šฉํ•˜์—ฌ ํ•„์š”ํ•œ ์ œ์–ด ์‹ ํ˜ธ๋ฅผ ํ”„๋กœ๊ทธ๋ž˜๋ฐํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค. ๋งˆ์ดํฌ๋กœ ํ”„๋กœ๊ทธ๋žจ์ด๋ž€ ์ œ์–ด ๋ฉ”๋ชจ๋ฆฌ, ์ œ์–ด ๊ธฐ์–ต์žฅ์น˜(control memory) ๋‚ด๋ถ€์— ์žˆ๋Š” ๋งˆ์ดํฌ๋กœ ๋ช…๋ น์–ด๋“ค์˜ ์ง‘ํ•ฉ์œผ๋กœ์จ, ํ•˜๋‚˜์˜ ๊ธฐ๊ณ„์–ด(add ๊ฐ™์€ ๊ฒƒ)๋ฅผ ์‹คํ–‰ํ•  ๋•Œ ํ•„์š”ํ•œ ์ผ๋ จ์˜ ์ œ์–ด ์‹ ํ˜ธ๋“ค์˜ ๋ฌถ์Œ์ด๋ผ๊ณ  ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ๋‹ค. ๋งˆ์ดํฌ๋กœ ํ”„๋กœ๊ทธ๋žจ ๊ธฐ๋ฐ˜ ์ œ์–ด ๋ฐฉ์‹์€ ๊ธฐ๊ณ„์–ด๊ฐ€ ๋” ์ž‘์€ ๋‹จ์œ„๋กœ ๋‚˜๋‰˜์–ด์„œ ์‹คํ–‰๋  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๋งˆ์ดํฌ๋กœ ํ”„๋กœ๊ทธ๋žจ์„ PROM์— ํ”„๋กœ๊ทธ๋ž˜๋ฐํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค.

  • ๋ช…๋ น์–ด ํ•ด๋…๊ธฐ(instruction decoder): ๋ช…๋ น์–ด ๋ ˆ์ง€์Šคํ„ฐ(instruction register)์— ์žˆ๋Š” ๋ช…๋ น์–ด์˜ ์—ฐ์‚ฐ ์ฝ”๋“œ(operation code)๋ฅผ ํ•ด๋…ํ•˜์—ฌ ํ•ด๋‹น ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ๋ฃจํ‹ด์˜ ์‹œ์ž‘ ์ฃผ์†Œ๋ฅผ ๊ฒฐ์ •ํ•œ๋‹ค.์ด ๋•Œ ๋งคํ•‘์„ ์ด์šฉํ•œ๋‹ค(๋งคํ•‘์€ ํŒŒ์‹ฑ๊ณผ๋Š” ๋‹ค๋ฅด์ง€๋งŒ ์ธ์ฝ”๋”ฉ์„ ํ†ตํ•ด ๋‚˜์˜จ ๋ฐ์ดํ„ฐ๋ฅผ ํŒŒ์‹ฑํ•˜๋ฏ€๋กœ ๊ทธ ๋‘˜์€ ๊ด€๋ จ์ด ์žˆ์œผ๋ฉฐ ๋งคํ•‘๊ณผ ์ธ์ฝ”๋”ฉ์€ ๊ทธ ์„ฑ์งˆ์ด ๋น„์Šทํ•˜๋‹ค. ์ธ์ฝ”๋”ฉ์˜ ๊ณผ์ • ์ค‘ ๋งคํ•‘์ด ์ผ์–ด๋‚œ๋‹ค. ๋งˆ์ดํฌ๋กœ ํ”„๋กœ๊ทธ๋žจ์„ ์„ค๋ช…ํ•  ๋•Œ ๋‹ค์‹œ ์ž์„ธํžˆ ๋‹ค๋ฃจ๋„๋ก ํ•˜๊ฒ ๋‹ค.)

  • ์ œ์–ด ์ฃผ์†Œ ๋ ˆ์ง€์Šคํ„ฐ(control address register): ๋‹ค์Œ์— ์‹คํ–‰ํ•  ๋งˆ์ดํฌ๋กœ ๋ช…๋ น์–ด์˜ ์ฃผ์†Œ๋ฅผ ์ €์žฅํ•˜๋Š” ๋ ˆ์ง€์Šคํ„ฐ๋กœ, ์ด ์ฃผ์†Œ๋Š” ์ œ์–ด๊ธฐ์–ต์žฅ์น˜์˜ ํŠน์ • ์œ„์น˜๋ฅผ ๊ฐ€๋ฆฌํ‚จ๋‹ค.

  • ์ œ์–ด ๊ธฐ์–ต์žฅ์น˜(control memory): ๋งˆ์ดํฌ๋กœ ๋ช…๋ น์–ด๋“ค๋กœ ์ด๋ฃจ์–ด์ง„ ๋งˆ์ดํฌ๋กœ ํ”„๋กœ๊ทธ๋žจ์„ ์ €์žฅํ•˜๋Š” ๋‚ด๋ถ€ ๊ธฐ์–ต์žฅ์น˜

  • ์ œ์–ด ๋ฒ„ํผ ๋ ˆ์ง€์Šคํ„ฐ(control buffer register): ์ œ์–ด ๊ธฐ์–ต์žฅ์น˜๋กœ๋ถ€ํ„ฐ ์ฝํ˜€์ง„ ๋งˆ์ดํฌ๋กœ ๋ช…๋ น์–ด ๋น„ํŠธ๋“ค์„ ์ผ์‹œ์ ์œผ๋กœ ์ €์žฅํ•˜๋Š” ๋ ˆ์ง€์Šคํ„ฐ

  • ๋””์ฝ”๋”(decoder): ๋ช…๋ น์–ด์˜ ํ•ด๋… ๊ฒฐ๊ณผ๋กœ ์ƒ์„ฑ๋œ ๋งˆ์ดํฌ๋กœ ๋ช…๋ น์–ด์— ๋”ฐ๋ผ์„œ ๊ฐ ์žฅ์น˜๋กœ ๋ณด๋‚ผ ์ œ์–ด ์‹ ํ˜ธ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ํšŒ๋กœ

  • ์ˆœ์„œ ์ œ์–ด ๋ชจ๋“ˆ: ๋งˆ์ดํฌ๋กœ ๋ช…๋ น์–ด์˜ ์‹คํ–‰ ์ˆœ์„œ๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ํšŒ๋กœ๋“ค์˜ ์ง‘ํ•ฉ.

โญ ๋‚ด๋ถ€ ๋ฒ„์Šค

cpu core ๋‚ด๋ถ€์—๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์ „๋‹ฌ๋˜๋Š” ๊ฒฝ๋กœ์ธ ์ž๋ฃŒ ๋ฒ„์Šค์™€ ์ œ์–ด ์‹ ํ˜ธ๊ฐ€ ์ „๋‹ฌ๋˜๋Š” ๊ฒฝ๋กœ์ธ ์ œ์–ด ๋ฒ„์Šค, ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๊ฑฐ๋‚˜ ์“ฐ๊ธฐ ์œ„ํ•œ ์ฃผ์†Œ๊ฐ€ ์ „๋‹ฌ๋˜๋Š” ๊ฒฝ๋กœ์ธ ์ฃผ์†Œ ๋ฒ„์Šค๊ฐ€ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋‹ค. ์ž๋ฃŒ ๋ฒ„์Šค๋Š” ์—ฐ์‚ฐ ์žฅ์น˜์™€ ๋ ˆ์ง€์Šคํ„ฐ ๊ฐ„์˜ ์—ฐ๊ฒฐ ๊ฒฝ๋กœ์ด๋ฉฐ ์ œ์–ด ๋ฒ„์Šค๋Š” ์—ฐ์‚ฐ์žฅ์น˜์™€ ๋ ˆ์ง€์Šคํ„ฐ์— ์—ฌ๋Ÿฌ ์ข…๋ฅ˜์˜ ์ œ์–ด์‹ ํ˜ธ๋ฅผ ์ „๋‹ฌํ•˜๋Š” ๊ฒฝ๋กœ์ด๋‹ค. cpu core์˜ ๋‚ด๋ถ€ ๋ฒ„์Šค๋Š” cpu core ์™ธ๋ถ€์˜ ์‹œ์Šคํ…œ ๋ฒ„์Šค์™€ ์ง์ ‘ ์—ฐ๊ฒฐ๋˜์ง€ ์•Š๋Š”๋‹ค. ๋ฐ˜๋“œ์‹œ ๋ฉ”๋ชจ๋ฆฌ ๋ฒ„ํผ ๋ ˆ์ง€์Šคํ„ฐ๋‚˜ ์‹œ์Šคํ…œ ๋ฒ„์Šค ์ธํ„ฐํŽ˜์ด์Šค ํšŒ๋กœ๋ฅผ ํ†ตํ•ด ์‹œ์Šคํ…œ ๋ฒ„์Šค์™€ ์ ‘์†ํ•œ๋‹ค.

profile
๊ถ๊ธˆ์ฆ ํ•ด์†Œ ์ฆํ›„๊ตฐ ๐Ÿค”

0๊ฐœ์˜ ๋Œ“๊ธ€

๊ด€๋ จ ์ฑ„์šฉ ์ •๋ณด