๐ŸŒ CS:APP | PC์™€ ALU

์ด์ˆœ๊ฐ„ยท2025๋…„ 3์›” 18์ผ

CS:APP

๋ชฉ๋ก ๋ณด๊ธฐ
1/23
post-thumbnail

๐Ÿงฉ CS:APP | PC์™€ ALU์˜ ์—ญํ•  ์ •๋ฆฌ

โœจ 1. PC (Program Counter)

๋‹ค์Œ ๋ช…๋ น์–ด์˜ ์ฃผ์†Œ๋ฅผ ์ €์žฅํ•˜๋Š” ๋ ˆ์ง€์Šคํ„ฐ

  • CPU๊ฐ€ ๋‹ค์Œ์œผ๋กœ ์‹คํ–‰ํ•  ๋ช…๋ น์–ด์˜ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ๋ฅผ ์ €์žฅ
  • ํ•˜๋‚˜์˜ ๋ช…๋ น์–ด ์‹คํ–‰ ํ›„, ์ž๋™์œผ๋กœ ๋‹ค์Œ ๋ช…๋ น์–ด์˜ ์ฃผ์†Œ๋กœ ์—…๋ฐ์ดํŠธ
  • ๋ถ„๊ธฐ(branch), ์ ํ”„(jump), ํ•จ์ˆ˜ ํ˜ธ์ถœ(call) ์‹œ์—๋„ ์—…๋ฐ์ดํŠธ๋˜์–ด ํ”„๋กœ๊ทธ๋žจ ํ๋ฆ„ ์ œ์–ด๋ฅผ ๋‹ด๋‹น
  • ํ”„๋กœ์„ธ์„œ์˜ ๋ช…๋ น์–ด ํ๋ฆ„์„ ์ œ์–ดํ•˜๋Š” ํ•ต์‹ฌ ์—ญํ• 

โš™๏ธ 2. ALU (Arithmetic Logic Unit)

์‚ฐ์ˆ  ๋ฐ ๋…ผ๋ฆฌ ์—ฐ์‚ฐ์„ ๋‹ด๋‹นํ•˜๋Š” ์—ฐ์‚ฐ ์žฅ์น˜

  • CPU ๋‚ด๋ถ€์—์„œ ์‹ค์ œ ๊ณ„์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ํ•˜๋“œ์›จ์–ด ๋ชจ๋“ˆ
  • ๋ง์…ˆ(+), ๋บ„์…ˆ(-), ๋…ผ๋ฆฌ๊ณฑ(AND), ๋…ผ๋ฆฌํ•ฉ(OR), ๋ถ€์ •(NOT) ๋“ฑ ์‚ฐ์ˆ  ๋ฐ ๋…ผ๋ฆฌ ์—ฐ์‚ฐ ์ฒ˜๋ฆฌ
  • ALU๋Š” CPU๊ฐ€ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•  ๋•Œ, ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ณ  ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜
  • ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ์ค‘ ๋ฐœ์ƒํ•˜๋Š” ๋ชจ๋“  ๊ณ„์‚ฐ ์ž‘์—…์˜ ์ค‘์‹ฌ

๐Ÿ“ 3. ํ•œ ์ค„ ์ •๋ฆฌ

  • PC โ†’ ๋ช…๋ น์–ด์˜ ํ๋ฆ„์„ ์ œ์–ดํ•˜๋Š” ์žฅ์น˜
  • ALU โ†’ ๋ช…๋ น์–ด์˜ ์‹ค์ œ ์—ฐ์‚ฐ์„ ๋‹ด๋‹นํ•˜๋Š” ์žฅ์น˜

๐Ÿ’ก 4. ์ถ”๊ฐ€ ์ฐธ๊ณ 

  • ์ด ๋‘ ๊ตฌ์„ฑ ์š”์†Œ๋Š” CPU์˜ ๋ช…๋ น์–ด ์‚ฌ์ดํด(Fetch-Decode-Execute) ๊ณผ์ •์—์„œ ๊ธด๋ฐ€ํžˆ ํ˜‘๋ ฅ
  • PC๋Š” Fetch ๋‹จ๊ณ„์—์„œ ๋™์ž‘ํ•˜๊ณ , ALU๋Š” Execute ๋‹จ๊ณ„์—์„œ ์ฃผ๋กœ ๋™์ž‘ํ•จ

๐Ÿ”– Tip
๋ช…๋ น์–ด๋ฅผ ์–ด๋””์„œ ๊ฐ€์ ธ์˜ฌ์ง€ ์ •ํ•˜๋Š” ์นœ๊ตฌ(PC)์™€, ์‹ค์ œ๋กœ ๊ณ„์‚ฐํ•˜๋Š” ์นœ๊ตฌ(ALU)

profile
์„œํˆด์ง€์–ธ์ • ๋Š˜ ํ–‰๋™์ด ๋จผ์ €์ด๊ธฐ๋ฅผ

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