Front End

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

๐Ÿ–ฅ๏ธ

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

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

์ปดํ“จํ„ฐ์˜ ๊ธฐ๋ณธ ๊ตฌ์„ฑ ์š”์†Œ

์ปดํ“จํ„ฐ๋Š” ์ž…๋ ฅ์žฅ์น˜(Input), ์ถœ๋ ฅ์žฅ์น˜(Output)๊ฐ€ ๊ฐ–์ถฐ์ ธ ์žˆ๊ณ  ๋‚ด๋ถ€์—๋Š” ์—ฐ์‚ฐ์„ ์œ„ํ•œ ์ค‘์•™์ฒ˜๋ฆฌ์žฅ์น˜(CPU), ์ €์žฅ์„ ํ•˜๊ธฐ ์œ„ํ•œ ์ฃผ ๊ธฐ์–ต์žฅ์น˜์™€ ๋ณด์กฐ ๊ธฐ์–ต์žฅ์น˜๋ฅผ ๊ฐ€์ง„๋‹ค.

  • ์ž…๋ ฅ์žฅ์น˜

    ์ปดํ“จํ„ฐ๊ฐ€ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ํ˜•ํƒœ๋กœ ๋ฐ์ดํ„ฐ์™€ ๋ช…๋ น์„ ๋ฐ›์•„๋“ค์ด๋Š” ๋ฌผ๋ฆฌ์ ์ธ ์žฅ์น˜. โ†’ ex. ํ‚ค๋ณด๋“œ, ๋งˆ์šฐ์Šค, ์บ , ๋งˆ์ดํฌ, ์Šค์บ๋„ˆ, ํƒ€๋ธ”๋ ›, ์กฐ์ด์Šคํ‹ฑ ๋“ฑ

  • ์ถœ๋ ฅ์žฅ์น˜

    ์ฒ˜๋ฆฌ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ๋žŒ์ด ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ํ˜•ํƒœ๋กœ ์ถœ๋ ฅํ•˜๋Š” ๋ฌผ๋ฆฌ์ ์ธ ์žฅ์น˜. โ†’ ex. ๋ชจ๋‹ˆํ„ฐ, ์Šคํ”ผ์ปค, ํ”„๋ฆฐํ„ฐ ๋“ฑ

  • ์ค‘์•™์ฒ˜๋ฆฌ์žฅ์น˜(CPU)

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

  • ์ €์žฅ์žฅ์น˜

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

CPU

์ค‘์•™์ฒ˜๋ฆฌ์žฅ์น˜(CPU)๋Š” ๊ฐ์ข… ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๊ณ  ๊ธฐ์–ต์žฅ์น˜์— ๊ธฐ์–ต๋˜์–ด ์žˆ๋Š” ๋ช…๋ น์–ด๋“ค์„ ์ˆ˜ํ–‰ํ•˜๋Š” ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์˜ ํ•ต์‹ฌ ๋ถ€ํ’ˆ์ด๋‹ค.

CPU์˜ ๊ตฌ์กฐ

CPU๋Š” ํฌ๊ฒŒ ์‚ฐ์ˆ /๋…ผ๋ฆฌ ์—ฐ์‚ฐ ์žฅ์น˜(ALU)์™€ ์ œ์–ด ์žฅ์น˜, ๋ ˆ์ง€์Šคํ„ฐ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค.

  • ์‚ฐ์ˆ /๋…ผ๋ฆฌ ์—ฐ์‚ฐ ์žฅ์น˜(Arithmetic Logic Unit, ALU)

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

  • ๋ ˆ์ง€์Šคํ„ฐ(Register)

    CPU ๋‚ด๋ถ€์— ์žˆ๋Š” ๊ธฐ์–ต์žฅ์น˜๋กœ, ์ฃผ๋กœ ์‚ฐ์ˆ /์—ฐ์‚ฐ ๋…ผ๋ฆฌ์žฅ์น˜์— ์˜ํ•ด ์‚ฌ์šฉ๋˜๋Š” ๋ฒ”์šฉ ๋ ˆ์ง€์Šคํ„ฐ(General-Purpose Register)์™€ PC ๋“ฑ ํŠน์ˆ˜ ๋ชฉ์ ์— ์‚ฌ์šฉ๋˜๋Š” ์ „์šฉ ๋ ˆ์ง€์Šคํ„ฐ(Dedicated-Purpose Register)๋กœ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ ˆ์ง€์Šคํ„ฐ์˜ ์ข…๋ฅ˜๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

    • IR (Instruction Register) : ํ˜„์žฌ ์ˆ˜ํ–‰ ์ค‘์— ์žˆ๋Š” ๋ช…๋ น์–ด ๋ถ€ํ˜ธ๋ฅผ ์ €์žฅํ•˜๊ณ  ์žˆ๋Š” ๋ ˆ์ง€์Šคํ„ฐ
    • PC (Program Counter) : ๋ช…๋ น์ด ์ €์žฅ๋œ ๋ฉ”๋ชจ๋ฆฌ์˜ ์ฃผ์†Œ๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ๋ ˆ์ง€์Šคํ„ฐ
    • AC (Accumulator) : ์‚ฐ์ˆ  ๋ฐ ๋…ผ๋ฆฌ ์—ฐ์‚ฐ์˜ ๊ฒฐ๊ณผ๋ฅผ ์ž„์‹œ๋กœ ๊ธฐ์–ตํ•˜๋Š” ๋ ˆ์ง€์Šคํ„ฐ
  • ์ œ์–ด์žฅ์น˜(Control Unit, CU)

    ์ œ์–ด์žฅ์น˜๋Š” CPU๊ฐ€ ์ž์‹  ๋ฐ ์ฃผ๋ณ€๊ธฐ๊ธฐ๋ฅผ ์ปจํŠธ๋กคํ•˜๋Š” ์žฅ์น˜๋กœ, ํ”„๋กœ๊ทธ๋žจ์˜ ์ˆ˜ํ–‰ ์ˆœ์„œ๋ฅผ ์ œ์–ดํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ ๊ณ„์ˆ˜๊ธฐ(program counter), ํ˜„์žฌ ์ˆ˜ํ–‰์ค‘์ธ ๋ช…๋ น์–ด์˜ ๋‚ด์šฉ์„ ์ž„์‹œ ๊ธฐ์–ตํ•˜๋Š” ๋ช…๋ น ๋ ˆ์ง€์Šคํ„ฐ(instruction register), ๋ช…๋ น ๋ ˆ์ง€์Šคํ„ฐ์— ์ˆ˜๋ก๋œ ๋ช…๋ น์„ ํ•ด๋…ํ•˜์—ฌ ์ˆ˜ํ–‰๋  ์žฅ์น˜์— ์ œ์–ด์‹ ํ˜ธ๋ฅผ ๋ณด๋‚ด๋Š” ๋ช…๋ น ํ•ด๋…๊ธฐ(instruction decoder)๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค. ์ œ์–ด ์žฅ์น˜์˜ ๊ตฌํ˜„ ๋ฐฉ์‹์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

    Hardwired (๊ณ ์ • ๋ฐฐ์„  ์ œ์–ด)Micro Program
    ์ œ์–ด์‹ ํ˜ธ๊ฐ€ Hardwired Circuit ์— ์˜ํ•ด์„œ ์ƒ์„ฑ ๋˜๋„๋ก ํ•˜๋“œ์›จ์–ด ๊ตฌ์„ฑํ•˜๋ฉฐ ์ƒํƒœ๊ณ„์ˆ˜๊ธฐ์™€ PLA(Programmable Logic Array ) ํšŒ๋กœ๋กœ ๊ตฌ์„ฑ๋ฐœ์ƒ ๊ฐ€๋Šฅํ•œ ์ œ์–ด ์‹ ํ˜ธ๋“ค์˜ ์กฐํ•ฉ์„ ๋ฏธ๋ฆฌ ๊ตฌ์„ฑํ•˜์—ฌ ROM ์— ์ €์žฅํ–ˆ๋‹ค๊ฐ€ ํ•„์š” ์‹œ ์‹ ํ˜ธ๋ฅผ ๋ฐœ์ƒ์‹œํ‚ค๋Š” Software ๋ฐฉ์‹
    ๊ณ ์† ์ฒ˜๋ฆฌ, ๊ณ ๊ฐ€ํ•˜๋“œ์›จ์–ด ๋ฐฉ์‹์— ๋น„ํ•ด ์†๋„๋„ ๋‚ฎ๊ณ  ๊ฐ€๊ฒฉ๋„ ์ €๋ ด
    RISC ์‹œ์Šคํ…œ์— ์ ์šฉCISC ์— ์ ์šฉ

CPU์˜ ๊ธฐ๋Šฅ

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

  • ๋ช…๋ น์–ด

    ๋ช…๋ น์–ด๋Š” ์‹œ์Šคํ…œ์ด ํŠน์ • ๋™์ž‘์„ ์ˆ˜ํ–‰์‹œํ‚ค๋Š” ์ž‘์€ ๋‹จ์œ„์ด๋‹ค. ์ฝ”๋“œ๋กœ ๋˜์–ด ์žˆ์œผ๋ฉฐ, ๋™์ž‘์ฝ”๋“œ(Op-code : Operational Code)์™€ ์˜คํผ๋žœ๋“œ(Operand)๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค.

    • ๋™์ž‘ ์ฝ”๋“œ(Op-code): ๊ฐ ๋ช…๋ น์–ด์˜ ์‹คํ–‰ ๋™์ž‘์„ ๊ตฌ๋ถ„ํ•˜์—ฌ ํ‘œํ˜„ํ•œ๋‹ค.
    • ์˜คํผ๋žœ๋“œ(Operand): ๋ช…๋ น์–ด์˜ ์‹คํ–‰์— ํ•„์š”ํ•œ ์ž๋ฃŒ๋‚˜ ์‹ค์ œ ์ž๋ฃŒ์˜ ์ €์žฅ ์œ„์น˜๋ฅผ ์˜๋ฏธํ•œ๋‹ค.
  • ๋ช…๋ น์–ด ์ˆ˜ํ–‰ ๊ณผ์ •

    CPU๊ฐ€ ํ•˜๋‚˜์˜ ๋ช…๋ น(Operation)์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ณผ์ •์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

    • ์ฝ๊ธฐ(Fetch Instruction, FI): ๋ฉ”๋ชจ๋ฆฌ์—์„œ ๋ช…๋ น์„ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.
    • ํ•ด์„(Decode Instruction, DI): ๋ช…๋ น์„ ํ•ด์„ํ•ฉ๋‹ˆ๋‹ค.
    • ์‹คํ–‰(Execute Instruction, EI): ๋ช…๋ น์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
    • ๊ธฐ๋ก(Write Back, WB): ์ˆ˜ํ–‰ํ•œ ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค.
  • ๋ช…๋ น์–ด ์ฒ˜๋ฆฌ ๋ฐฉ์‹

    ๋ช…๋ ์–ด ์ฒ˜๋ฆฌ ๋ฐฉ์‹์—๋Š” RISC์™€ CISC๊ฐ€ ์žˆ๋‹ค. RISC(Reduced Instruction Set Computer)๋Š” ์ปดํ“จํ„ฐ ๋‚ด๋ถ€์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๋ช…๋ น์–ด ์„ธํŠธ๋ฅผ ๋‹จ์ˆœํ™”์‹œ์ผœ ์ฒ˜๋ฆฌํ•˜๋Š” ํ˜•ํƒœ์˜ ๊ตฌ์กฐ๋กœ ๋‹จ์ˆœํ•œ ๋ช…๋ น์„ ์กฐํ•ฉํ•ด ํ•˜๋‚˜์˜ ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค. CISC(Complex Instruction Set Computer)๋Š” ํ•˜๋‚˜์˜ ๊ธฐ๋Šฅ์— ํ•ด๋‹นํ•˜๋Š” ํ•˜๋‚˜์˜ ๋ช…๋ น์ด ์žˆ๋Š” ๊ฐœ๋…์ด๋‹ค.

    CISCRISC
    ์—ฌ๋Ÿฌ ์‚ฌ์ดํด๋กœ ๋ช…๋ น์–ด๋ฅผ ์ฒ˜๋ฆฌํ•˜๋‚˜์˜ ์‚ฌ์ดํด๋กœ ๋ช…๋ น์–ด๋ฅผ ์ฒ˜๋ฆฌ
    ๋งŽ์€ ๋ช…๋ น์–ด๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ฐธ์กฐํ•˜๋Š” ์ฒ˜๋ฆฌ ๋ฐฉ์‹๋ฉ”๋ชจ๋ฆฌ Load / Store ๋ช…๋ น๋งŒ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹
    ํŒŒ์ดํ”„๋ผ์ด๋‹์˜ ์‚ฌ์šฉ์ด ์–ด๋ ค์›€ํŒŒ์ดํ”„๋ผ์ด๋‹, ์Šˆํผ์Šค์นผ๋ผ์˜ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅ
    ๋ณต์žกํ•œ ๋งˆ์ดํฌ๋กœ ํ”„๋กœ๊ทธ๋žจ ๊ตฌ์กฐ๋ณต์žกํ•œ ์ปดํŒŒ์ผ๋Ÿฌ ๊ตฌ์กฐ

Memory

์ปดํ“จํ„ฐ์—์„œ ๋งํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ๋Š” ๊ธฐ์–ต์†Œ์ž, ์ฆ‰ ๋ฐ˜๋„์ฒด๋ฅผ ์˜๋ฏธํ•œ๋‹ค. ๋ฐ˜๋„์ฒด๋Š” ํŠน์„ฑ ์ƒ ์ „๋ฅ˜๋ฅผ ํ๋ฅด๊ฒŒ๋„ ํ•˜๊ณ  ํ๋ฅด์ง€ ์•Š๊ฒŒ๋„ ํ•˜๋Š” ํŠน์ง•์ด ์žˆ์–ด ์ด๋ฅผ ์ด์šฉํ•ด ์ž„์‹œ์ ์ธ ๋‚ด์šฉ๋“ค์„ ๊ธฐ์–ตํ•˜๊ฒŒ ํ•œ๋‹ค.

๋ฉ”๋ชจ๋ฆฌ ๋ถ„๋ฅ˜๋ณ„ ํŠน์„ฑ

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

๋ฉ”๋ชจ๋ฆฌ ์„ฑ๋Šฅ

๋ฉ”๋ชจ๋ฆฌ์˜ ์†๋„๋Š” ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ CPU์™€ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›๋Š” ์‹œ๊ฐ„์„ ์˜๋ฏธํ•œ๋‹ค. ์ด๋ฅผ ์•ก์„ธ์Šค๋ผ ๋ถ€๋ฅด๋ฉฐ ๋‹จ์œ„๋Š” ns(nano-second, 10์–ต๋ถ„์˜ 1์ดˆ)๋กœ ๋ฉ”๋ชจ๋ฆฌ ์†๋„์˜ ๊ธฐ์ค€์ด ๋œ๋‹ค. ๋ฉ”๋ชจ๋ฆฌ์˜ ์„ฑ๋Šฅ์€ ์†๋„๊ฐ€ ๋น ๋ฅผ ์ˆ˜๋ก ์„ฑ๋Šฅ์ด ์ข‹๋‹ค๊ณ  ๋งํ•  ์ˆ˜ ์žˆ๋‹ค.

  • ๋ฆฌํ”„๋ ˆ์‹œ ์‹œ๊ฐ„

    ๋ฉ”๋ชจ๋ฆฌ๋Š” ์ผ์ • ์‹œ๊ฐ„๋งˆ๋‹ค ์žฌ์ถฉ์ „ ํ•ด์ฃผ์ง€ ์•Š์œผ๋ฉด ์ •๋ณด๊ฐ€ ์‚ฌ๋ผ์ง€๊ฒŒ ๋œ๋‹ค. ์ด ์ผ์ •๊ธฐ๊ฐ„์„ ๋ฆฌํ”„๋ ˆ์‹œ ์‹œ๊ฐ„์ด๋ผ ํ•˜๋ฉฐ, ์ด๋Š” ๋ฉ”๋ชจ๋ฆฌ์—์„œ ํ•œ ๋ฒˆ ์ฝ๊ณ  ๋‚˜์„œ ๋‹ค์‹œ ์ฝ์„ ์ˆ˜ ์žˆ๋Š” ์‚ฌ์ด ์‹œ๊ฐ„์„ ๋งํ•œ๋‹ค.

  • ๋ฉ”๋ชจ๋ฆฌ ์•ก์„ธ์Šค ์‹œ๊ฐ„

    ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์–ด์˜ค๋Š” ๋ช…๋ น์„ ๋ฐ›๊ณ  ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๊ธฐ ์‹œ์ž‘ํ•˜๊ธฐ๊นŒ์ง€์˜ ์‹œ๊ฐ„์„ ์˜๋ฏธํ•œ๋‹ค. CPU์—์„œ ๋ช…๋ น์–ด๋ฅผ ์ฒ˜๋ฆฌํ•  ๋•Œ ๋ช…๋ น์–ด๊ฐ€ ๊ฐ–๋Š” ์ฃผ์†Œ๋ฅผ ๋ณด๋‚ด๋Š”๋ฐ, ์ด ๋•Œ CPU์— ๊ทธ ์ฃผ์†Œ์— ํ•ด๋‹นํ•˜๋Š” ๊ฐ’์„ ๊ฐ€์ ธ์˜ค๋Š”๋ฐ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์ด ์•ก์„ธ์Šค ์‹œ๊ฐ„์ด๋‹ค.

  • ์‚ฌ์ดํด ์‹œ๊ฐ„(๋ฆฌํ”„๋ ˆ์‹œ ์‹œ๊ฐ„ + ๋ฉ”๋ชจ๋ฆฌ ์•ก์„ธ์Šค ์‹œ๊ฐ„)

    ์‚ฌ์ดํด ์‹œ๊ฐ„์€ ๋ฉ”๋ชจ๋ฆฌ ์ž‘์—…์ด ์™„๋ฃŒ์™€ ๋™์‹œ์— ๋Œ€๊ธฐ ์‹ ํ˜ธ๋ฅผ ๋‚ด๋†“์€ ํ›„ ๋‹ค์Œ ์‹ ํ˜ธ๋ฅผ ๋ฐ›์„ ์ค€๋น„๊ฐ€ ๋˜์—ˆ๋‹ค๋Š” ์‹ ํ˜ธ๋ฅผ ์ฃผ๊ธฐ๊นŒ์ง€์˜ ์‹œ๊ฐ„์„ ์˜๋ฏธํ•œ๋‹ค. ์ฆ‰, ๋ฆฌํ”„๋ ˆ์‹œ ์‹œ๊ฐ„๊ณผ ๋ฉ”๋ชจ๋ฆฌ ์•ก์„ธ์Šค ์‹œ๊ฐ„์„ ๋”ํ•œ ๊ฒƒ์ด๋‹ค.

๋ฉ”๋ชจ๋ฆฌ ์ข…๋ฅ˜

  • ์ฃผ ๊ธฐ์–ต ์žฅ์น˜
    • RAM(Random Access Memory)

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

    • ROM(Read Only Memory)

      ๋Œ€๋ถ€๋ถ„ ์ฝ์„ ์ˆ˜๋งŒ ์žˆ๋Š” ์žฅ์น˜๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์œผ๋ฉฐ ์ „์›์ด ๋Š๊ฒจ๋„ ๋‚ด์šฉ์ด ๋ณด์กด๋œ๋‹ค.

  • ๋ณด์กฐ ๊ธฐ์–ต ์žฅ์น˜
    • ์ž๊ธฐ ๋””์Šคํฌ

      ์›ํŒ ํ‘œ๋ฉด์˜ ์ฒ  ์ž…์ž ๋ฐฉํ–ฅ(N/S๊ทน)์œผ๋กœ 0๊ณผ 1์„ ํ‘œํ˜„ํ•˜๋ฉฐ, ๋””์Šคํฌ ๋“œ๋ผ์ด๋ธŒ๋Š” ์ž๊ธฐ ๋””์Šคํฌ๋กœ๋ถ€ํ„ฐ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๋Š” ์ฃผ๋ณ€ ์žฅ์น˜๋ฅผ ์˜๋ฏธํ•œ๋‹ค. ํ”Œ๋กœํ”ผ ๋””์Šคํฌ(FDD)์™€ ํ•˜๋“œ ๋””์Šคํฌ(HDD)๊ฐ€ ์กด์žฌํ•œ๋‹ค.

    • ๊ด‘ ๋””์Šคํฌ(optical disc, OD)

      ๋น›์˜ ๋ฐ˜์‚ฌ๋ฅผ ์ด์šฉํ•ด ์ž๋ฃŒ๋ฅผ ์ฝ์–ด๋‚ด๋Š” ์ €์žฅ ๋งค์ฒด์ด๋‹ค. 1์„ธ๋Œ€์ธ CD๋กœ ์‹œ์ž‘ํ•ด 2์„ธ๋Œ€์ธ DVD๋ฅผ ๊ฑฐ์ณ 3์„ธ๋Œ€์ธ BD(๋ธ”๋ฃจ๋ ˆ์ด ๋””์Šคํฌ)๊นŒ์ง€ ์กด์žฌํ•œ๋‹ค. ์ฐจ์„ธ๋Œ€๋กœ๋Š” ํ…Œ๋ผ ๋””์Šคํฌ๋‚˜ HVD๊ฐ€ ์กด์žฌํ•œ๋‹ค.

    • ํ”Œ๋ž˜์‹œ ๋ฉ”๋ชจ๋ฆฌ

      ์ „์ž์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ง€์šฐ๊ณ  ์“ธ ์ˆ˜ ์žˆ๋Š” ๋น„ํœ˜๋ฐœ์„ฑ ๋ฉ”๋ชจ๋ฆฌ๋กœ ์ถฉ๊ฒฉ์— ๊ฐ•ํ•˜์—ฌ ํœด๋Œ€์šฉ ๊ธฐ๊ธฐ์— ๋„๋ฆฌ ์“ฐ์ธ๋‹ค. USB์™€ SSD๊ฐ€ ์žˆ์œผ๋ฉฐ ํŠนํžˆ SSD๋Š” HDD์™€ ๋‹ฌ๋ฆฌ ๋””์Šคํฌ, ํ—ค๋”์™€ ๊ฐ™์€ ๊ธฐ๊ณ„์  ์žฅ์น˜๊ฐ€ ๋น ์ง€๊ณ  ์ €์ „๋ ฅ, ์ €์†Œ์Œ, ์ €์ค‘๋Ÿ‰์ด๋ผ๋Š” ํŠน์ง•์ด ์žˆ๋‹ค.

    ์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ(Cache Memory)

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

    ํŠนํžˆ ๋น ๋ฅธ CPU์˜ ์ฒ˜๋ฆฌ ์†๋„์™€ ์ƒ๋Œ€์ ์œผ๋กœ ๋Š๋ฆฐ ๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ์—์„œ์˜ ์†๋„ ์ฐจ์ด๋ฅผ ๊ทน๋ณตํ•˜๋Š” ์™„์ถฉ ์—ญํ• ์„ ํ•œ๋‹ค.

    • ์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ์˜ ์„ฑ๋Šฅ ๊ฒฐ์ • ์š”์†Œ

      ์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ๋Š” ๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ์˜ ์ผ์ • ๋ธ”๋ก ์‚ฌ์ด์ฆˆ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ด์•„ ๋‘์—ˆ๋‹ค๊ฐ€ CPU์— ์›Œ๋“œ ์‚ฌ์ด์ฆˆ ๋งŒํผ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•œ๋‹ค. ์ด๋•Œ ์ด ์‚ฌ์ด์ฆˆ๋“ค์ด ์บ์‹œ์˜ ์„ฑ๋Šฅ์— ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š”๋ฐ, ๋ธ”๋ก ์‚ฌ์ด์ฆˆ๋‚˜ ์›Œ๋“œ ์‚ฌ์ด์ฆˆ๊ฐ€ ์ƒ๋Œ€์ ์œผ๋กœ ํฌ๋‹ค๋ฉด ๊ทธ๋งŒํผ Cache์˜ Hit Ratio์œจ์ด ๋†’์•„์ง€๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

      CPU์— ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ Cache Memory ๋‚ด์— ๋“ค์–ด์™€ ์žˆ์œผ๋ฉด Cache Hit์ด๋ผ ํ•˜๊ณ  ์ ‘๊ทผํ•˜๊ณ ์ž ํ•˜๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์—†์„ ๊ฒฝ์šฐ Cache Miss๋ผ ํ•œ๋‹ค. ์ด๋ ‡๊ฒŒ ์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ์„ ์ˆ˜๋„, ์—†์„ ์ˆ˜๋„ ์žˆ๋Š”๋ฐ ์ด ๋•Œ ์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ Cache์— ์žˆ์„ ํ™•๋ฅ ์„ Hit Ratio๋ผ ํ•œ๋‹ค.

      ์š”์†Œ๋‚ด์šฉ
      Cache ํฌ๊ธฐCache Memory์˜ Size์˜ ํฌ๊ธฐ๊ฐ€ ํฌ๋ฉด Hit Ratio์œจ๊ณผ ๋ฐ˜๋น„๋ก€ ๊ด€๊ณ„
      ์ธ์ถœ ๋ฐฉ์‹ (Fetch Algorithm)์š”๊ตฌ ์ธ์ถœ(Demand Fetch): ํ•„์š” ์‹œ ์š”๊ตฌํ•˜์—ฌ ์ธ์ถœํ•˜๋Š” ๋ฐฉ์‹ ์„  ์ธ์ถœ(Pre-Fetch): ์˜ˆ์ƒ๋˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋ฏธ๋ฆฌ ์ธ์ถœํ•˜๋Š” ๋ฐฉ์‹
      ์“ฐ๊ธฐ ์ •์ฑ… (Write Policy)Write-Through: ์ฃผ๊ธฐ์–ต ์žฅ์น˜์™€ ์บ์‹œ์— ๋™์‹œ์— ์“ฐ๋Š” ๋ฐฉ์‹. Cache์™€ ๋ฉ”๋ชจ๋ฆฌ์˜ ๋‚ด์šฉ์ด ํ•ญ์ƒ ์ผ์น˜ํ•˜๋ฉฐ ๊ตฌ์„ฑ ๋ฐฉ๋ฒ•์ด ๋‹จ์ˆœํ•˜๋‹ค. Write-Back: ๋ฐ์ดํ„ฐ ๋ณ€๊ฒฝ๋งŒ ์บ์‹œ์— ๊ธฐ๋กํ•˜๋Š” ๋ฐฉ์‹. ๊ตฌ์„ฑ๋ฐฉ๋ฒ•์ด ๋ณต์žกํ•˜๋‹ค.
      ๊ต์ฒด(Replace) ์•Œ๊ณ ๋ฆฌ์ฆ˜Cache Miss ๋ฐœ์ƒ์‹œ ๊ธฐ์กด ๋ฉ”๋ชจ๋ฆฌ์™€ ๊ต์ฒดํ•˜๋Š” ๋ฐฉ์‹. FIFO, LRU, LFU, Random, Optimal Beladyโ€™s MIN(ํ–ฅํ›„ ๊ฐ€์žฅ ์ฐธ์กฐ ๋˜์ง€ ์•Š์„ ๋ธ”๋ก์„ ๊ต์ฒด) ๋“ฑ์ด ์žˆ๋‹ค.
      ์‚ฌ์ƒ(Mapping) ๊ธฐ๋ฒ•์ฃผ๊ธฐ์–ต์žฅ์น˜์˜ ๋ธ”๋ก์„ ์ ์žฌํ•  ์บ์‹œ ๋‚ด์˜ ์œ„์น˜๋ฅผ ์ง€์ •ํ•˜๋Š” ๋ฐฉ๋ฒ• ์ง์ ‘ ๋งคํ•‘(direct mapping), ์–ด์†Œ์‹œ์—์ดํ‹ฐ๋ธŒ ๋งคํ•‘(associative mapping), ์…‹ ์–ด์†Œ์‹œ์—์ดํ‹ฐ๋ธŒ ๋งคํ•‘(set associative mapping) ๋“ฑ์ด ์žˆ๋‹ค.

Uploaded by N2T