๐ŸŽ„ ์„ฑ์žฅ์ผ์ง€ 3.1

์ฑ… ํ–‰๋ณตํ•œ ์ด๊ธฐ์ฃผ์˜์ž(์›จ์ธ ๋‹ค์ด์–ด)์˜ ๋‚ด์šฉ์— ์ž๊ทน๋ฐ›์•„ ์‹œ์ž‘ํ•˜๋Š” ์†Œ๋ฐ•ํ•œ ์„ฑ์žฅ๊ธฐ๋ก

์‚ด์•„์žˆ๋Š” ๊ฝƒ๊ณผ ์ฃฝ์€ ๊ฝƒ์€ ์–ด๋–ป๊ฒŒ ๊ตฌ๋ณ„ํ•˜๋Š”๊ฐ€?
์„ฑ์žฅํ•˜๊ณ  ์žˆ๋Š” ๊ฒƒ์ด ์‚ด์•„ ์žˆ๋Š” ๊ฒƒ์ด๋‹ค.
์ƒ๋ช…์˜ ์œ ์ผํ•œ ์ฆ๊ฑฐ๋Š” ์„ฑ์žฅ์ด๋‹ค!

๐ŸŒณ ํ‚ค์›Œ๋“œ (1.0)
์ตœ๋Œ€ํ•œ ๊ฐ„๋‹จํ•˜๊ฒŒ ์ •๋ฆฌ, ์ถ”ํ›„์— ๋ณด๋ฉด์„œ ์Šค์Šค๋กœ ์„ค๋ช…
๐Ÿ‰ ๊ฒฝํ—˜ ์œ„์ฃผ๋กœ (2.0)
๋‹จ์ˆœ ์ •๋ณด๋ฅผ ์ „๋‹ฌํ•˜๊ธฐ๋ณด๋‹ค ๋ฌด์—‡์„ ๋ฐฐ์› ๊ณ  ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐํ–ˆ๋Š”์ง€ ์งง๊ณ  ๊ฐ„๋‹จํ•˜๊ฒŒ ์ž‘์„ฑ
โ„๏ธ ์ •ํ•ด์ง„ ํ…œํ”Œ๋ฆฟ์— ๋งž์ถฐ์„œ (3.0)
ํ‚ค์›Œ๋“œ, ๊ฒฝํ—˜ ๋ชจ๋‘ ์ข‹๋‹ค. ๋‹ค๋งŒ ๋งค์ผ ์ž‘์„ฑํ•˜๊ธฐ๋กœ ๋งˆ์Œ ๋จน์€๋งŒํผ ํ•ต์‹ฌ๋งŒ ๊ฐ„๊ฒฐํ•˜๊ฒŒ ์ •๋ฆฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ…œํ”Œ๋ฆฟ์„ ์ž‘์„ฑ (3.1) 230102๋ถ€ํ„ฐ ์‹œ์ž‘๋˜๋Š” ํ•™์Šต์— ๊ด€ํ•œ ๋‚ด์šฉ ์ถ”๊ฐ€

๐Ÿ”‘ ์˜ค๋Š˜์˜ ํ‚ค์›Œ๋“œ

๊ธฐ์–ต์žฅ์น˜

๊ธฐ์–ต์žฅ์น˜๋Š” ํฌ๊ฒŒ SSD(Storage), RAM(Memory), CPU(CACHE, REGISTER)๋กœ ๋‚˜๋ˆ ์ง€๋ฉฐ ๋’ค๋กœ ๊ฐˆ์ˆ˜๋ก ์†๋„๊ฐ€ ๋น ๋ฅด๊ณ  ๊ฐ€๊ฒฉ์ด ๋น„์‹ธ๋‹ค. ์ฆ‰, SSD์— ํ”„๋กœ๊ทธ๋žจ๋“ค์ด ์ €์žฅ๋˜์–ด์žˆ๊ณ  ์ด ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰์‹œํ‚ค๋ฉด RAM์— ์˜ฌ๋ผ๊ฐ€๊ฒŒ ๋œ๋‹ค. ์ด ๋•Œ, ํ”„๋กœ๊ทธ๋žจ์˜ ์—ฌ๋Ÿฌ ๋ช…๋ น์–ด๋“ค์ด CPU๋กœ ์ „๋‹ฌ๋˜์–ด ์ฒ˜๋ฆฌ๋œ๋‹ค.

์šฐ๋ฆฌ๊ฐ€ ์ž‘์„ฑํ•œ ์ฝ”๋“œ ---(์ปดํŒŒ์ผ๋Ÿฌ)---> ์–ด์…ˆ๋ธ”๋ฆฌ ์–ธ์–ด ---(์–ด์…ˆ๋ธ”๋Ÿฌ)---> ๊ธฐ๊ณ„์–ด(0,1)

์–ด์…ˆ๋ธ”๋ฆฌ ์–ธ์–ด

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

<!-- EAX๊ฐ€ Destination, EBX๊ฐ€ Source๊ฐ€ ๋œ๋‹ค. -->
<!-- ์ฆ‰, EBX๋ฅผ EAX์— ๋”ํ•˜๋ผ๋Š” ์˜๋ฏธ์ด๋‹ค. -->
ADD EAX EBX

์ถ”๊ฐ€) ์–ด์…ˆ๋ธ”๋ฆฌ ์–ธ์–ด์—์„œ LOAD์™€ STORE๋ฅผ ๊ธฐ์–ตํ•˜์ž

  • LOAD: Memory์—์„œ CPU(์˜ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ)๋กœ ๊ฐ’์„ ๊ฐ€์ ธ์˜จ๋‹ค.
  • STORE: CPU(์˜ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ)์—์„œ ์—ฐ์‚ฐ์ด ๋๋‚œ ๊ฐ’์„ Memory๋กœ ๋ณด๋‚ธ๋‹ค.

ADD, SUB ๋“ฑ์˜ ์—ฐ์‚ฐ ๊ณผ์ •์€ Memory์˜ ์ฃผ์†Ÿ๊ฐ’์œผ๋กœ ํ•  ์ˆ˜ ์—†๋‹ค. ์ฆ‰, ๊ทธ ๊ฐ’์„ ์ง์ ‘ ๊ฐ€์ ธ์™€์„œ ํ•ด์•ผํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์œ„์™€ ๊ฐ™์ด LOAD์™€ STORE์˜ ๊ณผ์ •์„ ๊ฑฐ์นœ๋‹ค.

๋ ˆ์ง€์Šคํ„ฐ

  • CPU์˜ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐ์ดํ„ฐ์˜ ์ž„์‹œ๊ณต๊ฐ„.(CPU์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๋ณ€์ˆ˜๋ผ๊ณ  ์ƒ๊ฐํ•˜์ž.)
  • ๊ณต๊ฐ„ ์ž์ฒด๊ฐ€ ์ž‘๊ณ  ๊ฐ€๊ฒฉ์€ ๋น„์‹ธ์ง€๋งŒ, CPU์— ์ง์ ‘ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์–ด ์—ฐ์‚ฐ ์†๋„๊ฐ€ ๋งค์šฐ ๋น ๋ฅด๋‹ค.(RAM๋ณด๋‹ค ํ›จ์”ฌ ๋” ๋น ๋ฅด๋‹ค.)
  • CPU๋Š” ์ž์ฒด์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์—†๋‹ค.
  • ๊ทธ๋Ÿฌ๋ฏ€๋กœ ๋ ˆ์ง€์Šคํ„ฐ๋ฅผ ์ด์šฉํ•˜์—ฌ ์—ฐ์‚ฐ์ฒ˜๋ฆฌ์™€ ๋ฒˆ์ง€์ง€์ •์„ ํ•œ๋‹ค.
์ฐธ๊ณ  ์ž๋ฃŒ

CPU๋Š” ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ• ๊นŒ? ์–ด์…ˆ๋ธ”๋ฆฌ์–ด ๊ธฐ์ดˆ ์‚ฌ์šฉ๋ฒ•

๐Ÿ“ ์š”์•ฝ ๋ฐ ํ•˜๋ฃจ ๊ฐ„๋‹จ ํšŒ๊ณ 

CS๊ฐ€ ์ฒ˜์Œ ๋ณผ ๋•Œ๋Š” ์ •๋ง ๋‹จ์–ด๋„ ํ•˜๋‚˜ํ•˜๋‚˜ ์ดํ•ด๊ฐ€ ์•ˆ๋˜๊ณ  ๋ง‰๋ง‰ํ•˜๋‹ค. ๊ทธ๋ ‡์ง€๋งŒ ํ‚ค์›Œ๋“œ๋ถ€ํ„ฐ ๋”ฐ๋ผ๊ฐ€๋ฉด์„œ ๋ญ”๊ฐ€ ๊ทธ ์—ฐ๊ฒฐ์ง€์ ์—์„œ ํ•ด์†Œ๋˜๋Š” ๋ฌด์–ธ๊ฐ€๊ฐ€ ์พŒ๊ฐ์ด ์žˆ๋‹ค. ๋˜, ์•„์ง์€ ์ž‘์€ ๋ถ€๋ถ„๋“ค์ด์ง€๋งŒ ์ปดํ“จํ„ฐ์˜ ๊ตฌ์กฐ์— ๋Œ€ํ•ด์„œ ์•Œ๊ฒŒ ๋˜๋ฉด์„œ ๋‚ด๊ฐ€ ์ž‘์„ฑํ•˜๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด๊ฐ€ ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌ๋˜์–ด ์ปดํ“จํ„ฐ๊ฐ€ ๋ช…๋ น์–ด๋“ค์„ ์‹คํ–‰์‹œํ‚ค๋Š”์ง€ ์กฐ๊ธˆ์ด๋‚˜๋งˆ ์•Œ ๊ฒƒ ๊ฐ™๋‹ค. ๋ง‰์—ฐํ•˜๊ฒŒ ์•Œ๊ณ  ์žˆ๋˜ Storage, Memory, CPU ๊ทธ๋ฆฌ๊ณ  CACHE, REGISTER ๋“ฑ๋„ ๊ทธ ์ž‘๋™ ํ๋ฆ„์„ ์•Œ๊ฒŒ ๋˜๋‹ˆ ์†์ด ์‹œ์›ํ•˜๋‹ค. ์ •๋ง์ •๋ง ๋ฐฐ์šธ์ˆ˜๋ก ๋ฐฐ์šธ ๊ฒŒ ๋งŽ์ง€๋งŒ ์ฒœ์ฒœํžˆ ๋ฐฐ์šฐ๋ฉด์„œ ๋‚˜์•„๊ฐ€๋Š” ์žฌ๋ฏธ๊ฐ€ ์žˆ๋‹ค. ๋‚ด์ผ์€ ๋˜ ์–ด๋–ป๊ฒŒ ์กฐ๊ธˆ์”ฉ ์„ฑ์žฅํ• ์ง€ ๊ธฐ๋Œ€๋œ๋‹ค!