์šด์˜์ฒด์ œ

[์šด์˜์ฒด์ œ] ์ปดํ“จํ„ฐ์˜ ์š”์†Œ

soowitty 2024. 1. 24. 17:30
๐Ÿ’ก ๋ณธ ๊ธ€์€ ๋ฉด์ ‘์„ ์œ„ํ•œ CS ์ „๊ณต์ง€์‹ ๋…ธํŠธ ๋„์„œ๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ ์ •๋ฆฌํ•˜์˜€์Šต๋‹ˆ๋‹ค.

 

INTRO

์ปดํ“จํ„ฐ๋Š” CPU, DMA ์ปจํŠธ๋กค๋Ÿฌ, ๋ฉ”๋ชจ๋ฆฌ, ํƒ€์ด๋จธ, ๋””๋ฐ”์ด์Šค ์ปจํŠธ๋กค๋Ÿฌ ๋“ฑ์œผ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค. ๊ฐ๊ฐ์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์•Œ์•„๋ณด์ž.

 

 

CPU 

 

 

CPU(Central Processing Unit)๋Š” ์ปดํ“จํ„ฐ์—์„œ ๊ฐ€์žฅ ํ•ต์‹ฌ์ ์ธ ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ถ€๋ถ„์œผ๋กœ, ์ธ๊ฐ„์˜ ๋‘๋‡Œ์— ๋น„์œ ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ œ์–ด ์žฅ์น˜, ๋ ˆ์ง€์Šคํ„ฐ, ์—ฐ์‚ฐ ์žฅ์น˜๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค.

 

์ธํ„ฐ๋ŸฝํŠธ์— ์˜ํ•ด ๋‹จ์ˆœํžˆ ๋ฉ”๋ชจ๋ฆฌ์— ์กด์žฌํ•˜๋Š” ๋ช…๋ น์–ด๋ฅผ ํ•ด์„ํ•ด์„œ ์‹คํ–‰ํ•˜๋Š” ์ผ๊พผ์ด๋‹ค.

 

์šด์˜์ฒด์ œ์˜ ์ปค๋„(๊ด€๋ฆฌ์ž ์—ญํ• )์ด ํ”„๋กœ๊ทธ๋žจ์„ ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ ค ํ”„๋กœ์„ธ์Šค๋กœ ๋งŒ๋“ค๋ฉด, CPU(์ผ๊พผ)๊ฐ€ ์ด๋ฅผ ์ฒ˜๋ฆฌ

 

์ œ์–ด ์žฅ์น˜

์ œ์–ด ์žฅ์น˜(CU, Control Unit)๋Š” ํ”„๋กœ์„ธ์Šค ์กฐ์ž‘์„ ์ง€์‹œํ•˜๋Š” CPU์˜ ๋ถ€ํ’ˆ์ด๋‹ค. ์ฆ‰, ์ปดํ“จํ„ฐ์˜ ๋ชจ๋“  ๋™์ž‘์„ ์ œ์–ดํ•˜๋Š” CPU์˜ ํ•ต์‹ฌ ๋ถ€๋ถ„์ด๋‹ค. ์ œ์–ด์žฅ์น˜์˜ ์—ญํ• ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

  • ํ”„๋กœ์„ธ์Šค ์กฐ์ž‘์„ ์ง€์‹œํ•œ๋‹ค.
  • ์ž…์ถœ๋ ฅ์žฅ์น˜ ๊ฐ„ ํ†ต์‹  ์ œ์–ดํ•œ๋‹ค.
  • ๋ช…๋ น์–ด๋ฅผ ์ฝ๊ณ  ํ•ด์„ํ•œ๋‹ค.
  • ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•œ ์ˆœ์„œ๋ฅผ ๊ฒฐ์ •ํ•œ๋‹ค.

 

๐Ÿ’ก ํ”„๋กœ์„ธ์Šค
ํ”„๋กœ์„ธ์Šค(process)๋ž€ ์‹คํ–‰์ค‘์— ์žˆ๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์˜๋ฏธํ•œ๋‹ค. ํ”„ ๋กœ์„ธ์Šค๋Š” ์šด์˜์ฒด์ œ์— ์˜ํ•ด ๊ด€๋ฆฌ๋˜๋ฉฐ, ๋…๋ฆฝ์ ์œผ๋กœ ์‹คํ–‰๋˜๊ณ  ์ž์›์„ ํ• ๋‹น ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ๋‹จ์œ„์ด๋‹ค. 

 

๋ ˆ์ง€์Šคํ„ฐ

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

 

์‚ฐ์ˆ  ๋…ผ๋ฆฌ ์—ฐ์‚ฐ ์žฅ์น˜

์‚ฐ์ˆ  ๋…ผ๋ฆฌ ์—ฐ์‚ฐ ์žฅ์น˜(ALU, Arithmetic Logic Unit)๋Š” ๋‘ ์ˆซ์ž์˜ ์‚ฐ์ˆ  ์—ฐ์‚ฐ(ex. ๋ง์…ˆ, ๋บ„์…ˆ ๋“ฑ)๊ณผ ๋…ผ๋ฆฌ ์—ฐ์‚ฐ(ex. ๋ฐฐํƒ€์  ๋…ผ๋ฆฌํ•ฉ, ๋…ผ๋ฆฌ๊ณฑ)์„ ๊ณ„์‚ฐํ•˜๋Š” ๋””์ง€ํ„ธ ํšŒ๋กœ์ด๋‹ค.

 

 

CPU์˜ ์—ฐ์‚ฐ ์ฒ˜๋ฆฌ

CPU์˜ ์—ฐ์‚ฐ ์ฒ˜๋ฆฌ ๋ฐฉ์‹์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

1) ์ œ์–ด์žฅ์น˜๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์™€ ๋ ˆ์ง€์Šคํ„ฐ์— ๊ณ„์‚ฐํ•  ๊ฐ’์„ ๋กœ๋“œํ•œ๋‹ค.

2) ์ œ์–ด์žฅ์น˜๊ฐ€ ์‚ฐ์ˆ ๋…ผ๋ฆฌ์—ฐ์‚ฐ์žฅ์น˜์—๊ฒŒ ๋ ˆ์ง€์Šคํ„ฐ์— ์žˆ๋Š” ๊ฐ’์„ ๊ณ„์‚ฐํ•˜๋ผ๊ณ  ๋ช…๋ นํ•œ๋‹ค.

3) ์ œ์–ด์žฅ์น˜๊ฐ€ ๊ณ„์‚ฐ๋œ ๊ฐ’์„ ๋ ˆ์ง€์Šคํ„ฐ์—์„œ ๋ฉ”๋ชจ๋ฆฌ๋กœ ์ €์žฅํ•œ๋‹ค. (์ œ์–ด์žฅ์น˜ -> ๋ ˆ์ง€์Šคํ„ฐ -> ๋ฉ”๋ชจ๋ฆฌ)

 

์ธํ„ฐ๋ŸฝํŠธ

์ธํ„ฐ๋ŸฝํŠธ๋Š” ์–ด๋–ค ์‹ ํ˜ธ๊ฐ€ ๋“ค์–ด์™”์„ ๋•Œ CPU๋ฅผ ์ž ๊น ์ •์ง€์‹œํ‚ค๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค.

ex)
- IO ๋””๋ฐ”์ด์Šค(ex. ํ‚ค๋ณด๋“œ, ๋งˆ์šฐ์Šค ๋“ฑ)๋กœ ์ธํ•œ ์ธํ„ฐ๋ŸฝํŠธ
- 0์œผ๋กœ ์†Ÿ์ž๋ฅผ๋‚˜๋ˆ„๋Š” ์‚ฐ์ˆ ์—ฐ์‚ฐ์—์„œ์˜ ์ธํ„ฐ๋ŸฝํŠธ
- ํ”„๋กœ์„ธ์Šค ์˜ค๋ฅ˜

 

๊ตฌ์ฒด์ ์œผ๋กœ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. CPU๊ฐ€ ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•˜๊ณ  ์žˆ์„ ๋•Œ, I/O ํ•˜๋“œ์›จ์–ด ๋“ฑ์˜ ์žฅ์น˜์— ์˜ˆ์™ธ ์ƒํ™ฉ์ด ๋ฐœ์ƒํ•˜์—ฌ ์ฒ˜๋ฆฌ๊ฐ€ ํ•„์š”ํ•œ ๊ฒฝ์šฐ๊ฐ€ ์ƒ๊ธธ ์ˆ˜ ์žˆ๋‹ค. ์ด๋•Œ ํ˜„์žฌ ์‹คํ–‰ ์ค‘์ธ ์ž‘์—…์„ ์ฆ‰์‹œ ์ค‘๋‹จํ•˜๊ณ  ๋ฐœ์ƒํ•œ ์ƒํ™ฉ์— ๋Œ€ํ•ด ์šฐ์„ ์ฒ˜๋ฆฌ๊ฐ€ ํ•„์š”ํ•˜๋‹ค๊ณ  CPU์—๊ฒŒ ์•Œ๋ฆฌ๋Š” ๊ฒƒ์ด๋‹ค.

 

์ธํ„ฐ๋ŸฝํŠธ๊ฐ€ ๋ฐœ์ƒ๋˜๋ฉด ์ธํ„ฐ๋ŸฝํŠธ ํ•ธ๋“ค๋Ÿฌ ํ•จ์ˆ˜๊ฐ€ ๋ชจ์—ฌ ์žˆ๋Š” ์ธํ„ฐ๋ŸฝํŠธ ๋ฒกํ„ฐ๋กœ ์ด๋™ํ•ด์„œ ์ธํ„ฐ๋ŸฝํŠธ ํ•ธ๋“ค๋Ÿฌ ํ•จ์ˆ˜๊ฐ€ ์‹คํ–‰๋œ๋‹ค.

 

์ธํ„ฐ๋ŸฝํŠธ ๊ฐ„์—๋Š” ์šฐ์„ ์ˆœ์œ„๊ฐ€ ์žˆ๊ณ , ๊ทธ ์šฐ์„ ์ˆœ์œ„์— ๋”ฐ๋ผ ์‹คํ–‰๋œ๋‹ค.

 

ํ•˜๋“œ์›จ์–ด ์ธํ„ฐ๋ŸฝํŠธ

ํ•˜๋“œ์›จ์–ด ์ธํ„ฐ๋ŸฝํŠธ๋Š” IO ๋””๋ฐ”์ด์Šค์—์„œ ๋ฐœ์ƒํ•˜๋Š” ์ธํ„ฐ๋ŸฝํŠธ๋ฅผ ๋งํ•œ๋‹ค. (ex. ํ‚ค๋ณด๋“œ ์—ฐ๊ฒฐ, ๋งˆ์šฐ์Šค ์—ฐ๊ฒฐ ๋“ฑ)

 

์‹คํ–‰๊ณผ์ •์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

  • ์ธํ„ฐ๋ŸฝํŠธ ๋ผ์ธ์ด ์„ค๊ณ„๋œ ์ดํ›„ ์ˆœ์ฐจ์ ์ธ ์ธํ„ฐ๋ŸฝํŠธ ์‹คํ–‰์„ ์ค‘์ง€
  • ์šด์˜์ฒด์ œ์— ์‹œ์Šคํ…œ์ฝœ ์š”์ฒญ
  • ์›ํ•˜๋Š” ๋””๋ฐ”์ด์Šค๋กœ ํ–ฅํ•จ
  • ๋””๋ฐ”์ด์Šค์— ์žˆ๋Š” ์ž‘์€ ๋กœ์ปฌ ๋ฒ„ํผ์— ์ ‘๊ทผํ•˜์—ฌ ์ผ์„ ์ˆ˜ํ–‰

 

์†Œํ”„ํŠธ์›จ์–ด ์ธํ„ฐ๋ŸฝํŠธ

์†Œํ”„ํŠธ์›จ์–ด ์ธํ„ฐ๋ŸฝํŠธ๋Š” trap(ํŠธ๋žฉ)์ด๋ผ๊ณ ๋„ ํ•œ๋‹ค. ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‹œ์Šคํ…œ์ฝœ์„ ํ˜ธ์ถœํ•  ๋•Œ ๋ฐœ๋™ํ•œ๋‹ค. (ex. ํ”„๋กœ์„ธ์Šค ์˜ค๋ฅ˜ ๋“ฑ)

DMA ์ปจํŠธ๋กค๋Ÿฌ

DAM ์ปจํŠธ๋กค๋Ÿฌ๋Š” I/O ๋””๋ฐ”์ด์Šค๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์— ์ง์ ‘ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ํ•˜๋“œ์›จ์–ด ์žฅ์น˜์ด๋‹ค. CPU์˜ ๋ถ€ํ•˜๋ฅผ ๋ง‰์•„์ฃผ๊ณ  CPU์˜ ์ผ์„ ๋ถ€๋‹ดํ•˜๋Š” ๋ณด์กฐ์ผ๊พผ์ด๋ฉฐ๋‹ค. ๋˜ํ•œ, ํ•˜๋‚˜์˜ ์ž‘์—…์„ CPU์™€ DMA ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ๋™์‹œ์— ํ•˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•œ๋‹ค.

 

๋ฉ”๋ชจ๋ฆฌ

์ „์žํšŒ๋กœ์—์„œ ๋ฐ์ดํ„ฐ or ์ƒํƒœ or ๋ช…๋ น์–ด ๋“ฑ์„ ๊ธฐ๋กํ•˜๋Š” ์žฅ์น˜์ด๋‹ค. RAM(Random Access Memory)์„ ์ผ์ปฌ์–ด ๋ฉ”๋ชจ๋ฆฌ๋ผ๊ณ ๋„ ํ•œ๋‹ค.

 

CPU : ๊ณ„์‚ฐ ๋‹ด๋‹น, ๋ฉ”๋ชจ๋ฆฌ : ๊ธฐ์–ต ๋‹ด๋‹น

 

๊ณต์žฅ์— ๋น„์œ ํ•  ์ˆ˜ ์žˆ๋‹ค. CPU๊ฐ€ ์ผ๊พผ, ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ์ž‘์—…์žฅ, ์ž‘์—…์žฅ์˜ ํฌ๊ธฐ๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์˜ ํฌ๊ธฐ์™€ ๊ฐ™๋‹ค. ์ด๋•Œ, ์ž‘์—…์žฅ์˜ ํฌ๊ธฐ๊ฐ€ ํด์ˆ˜๋ก ์ผ๊พผ๋“ค์ด ๋งŽ์€ ์ผ์„ ํ•  ์ˆ˜ ์žˆ๋“ฏ์ด, ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ํด์ˆ˜๋ก CPU๊ฐ€ ๋งŽ์€ ์ผ์„ ๋™์‹œ์— ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

ํƒ€์ด๋จธ

ํŠน์ • ํ”„๋กœ๊ทธ๋žจ์— ์‹œ๊ฐ„ ์ œํ•œ์„ ๋‹ค๋Š” ์—ญํ• ์„ ํ•œ๋‹ค. ์‹œ๊ฐ„์ด ๋งŽ์ด ๊ฑธ๋ฆฌ๋Š” ํ”„๋กœ๊ทธ๋žจ์ด ์ž‘๋™ํ•  ๋•Œ ์ œํ•œ์„ ๊ฑธ๊ธฐ ์œ„ํ•ด ์กด์žฌํ•œ๋‹ค.

 

๋””๋ฐ”์ด์Šค ์ปจํŠธ๋กค๋Ÿฌ

์ปดํ“จํ„ฐ์™€ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋Š” IO ๋””๋ฐ”์ด์Šค๋“ค์˜ ์ž‘์€ CPU์ด๋‹ค.

 

๋กœ์ปฌ ๋ฒ„ํผ

  • ๋””๋ฐ”์ด์Šค ์ปจํŠธ๋กค๋Ÿฌ ์˜†์— ๋ถ™์–ด ์žˆ๋Š” ๊ฒƒ
  • ๊ฐ ๋””๋ฐ”์ด์Šค์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ž„์‹œ๋กœ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•œ ์ž‘์€ ๋ฉ”๋ชจ๋ฆฌ