๐Ÿ–ฅ์ปดํ“จํ„ฐ ๊ตฌ์กฐ

์ฑ„์˜ยท2022๋…„ 8์›” 24์ผ
1

CS

๋ชฉ๋ก ๋ณด๊ธฐ
1/1

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

  • ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ : ํ•˜๋“œ์›จ์–ด + ์†Œํ”„ํŠธ์›จ์–ด ๊ตฌ์„ฑ

  • ์†Œํ”„ํŠธ์›จ์–ด : ์šด์˜์ฒด์ œ(Linux, MacOS, Windows), ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ(์šด์˜ ์ฒด์ œ๋กœ ๋Œ์•„๊ฐ€๋Š” ํ”„๋กœ๊ทธ๋žจ๋“ค)

  • 4๋Œ€ ํ•˜๋“œ์›จ์–ด : CPU(์ค‘์•™์ฒ˜๋ฆฌ์žฅ์น˜), Memory, Storage(SSD/HDD(ํ•˜๋“œ๋””์Šคํฌ) ์ €์žฅ๋งค์ฒด), Network

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

๐Ÿ“Œ

ํฐ๋…ธ์ด๋งŒ ๊ตฌ์กฐ(=ํ˜„ ์ปดํ“จํ„ฐ ๊ตฌ์กฐ)

  • ํฐ๋…ธ์ด๋งŒ์ด ์ œ์•ˆํ•œ ๊ตฌ์กฐ, Memory์— ํ”„๋กœ๊ทธ๋žจ๊ณผ ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ
  • โ†’ ์ด ์ดํ›„๋Š” ์†Œํ”„ํŠธ์›จ์–ด๋งŒ ๊ต์ฒดํ•˜๋ฉด ok
  • ๋ช…๋ น์ฝ”๋“œ๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์— ์ˆœ์ฐจ์ ์œผ๋กœ ์˜ฌ๋ ค๋†“์Œ โ†’ CPU๊ฐ€ ๊ทธ ์ฝ”๋“œ๋ฅผ ์ฝ์–ด์„œ(controller unit) ์ฝ”๋“œ์— ์“ฐ์—ฌ์ ธ ์žˆ๋Š” ๋ช…๋ น ๋Œ€๋กœ ์‹คํ–‰ โ†’ ๋ฉ”๋ชจ๋ฆฌ์— ์žˆ๋Š” ์ฝ”๋“œ๋„ ํ”„๋กœ๊ทธ๋žจ์— ๋”ฐ๋ผ ๋ฐ”๊ฟ”์ฃผ๋ฉด โ†’ CPU๋ผ๋Š” ํ•˜๋“œ์›จ์–ด ํ•˜๋‚˜, ๋ฉ”๋ชจ๋ฆฌ ํ•˜๋‚˜์— ์—ฌ๋Ÿฌ๊ฐ€์ง€ ํ”„๋กœ๊ทธ๋žจ์„ ๋Œ๋ฆด ์ˆ˜ ์žˆ๋‹ค๋Š” ์ œ์•ˆ์„ ํ•จ
  • ๋ชจ๋“  ์ปดํ“จํ„ฐ์— CPU, memory, ์ €์žฅ๋งค์ฒด ; ์‹คํ–‰์„ ์‹œํ‚ค๋ ค๋ฉด ๋ฐ˜๋“œ์‹œ์— ํ•ด๋‹น ์ฝ”๋“œ๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ ค๋‘๊ณ  CPU๊ฐ€ ํ•˜๋‚˜์”ฉ ์ฝ์„ ์ˆ˜ ์žˆ๋„๋ก ํ•ด์•ผ ํ•จ
  • ๊ตฌ์กฐ ; CPU, memory, ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ๊ตฌ์„ฑ

๐Ÿ“Œ

์ปดํ“จํ„ฐ ์ฃผ์š” ๊ตฌ์„ฑ์š”์†Œ

  • CPU(Central Processor Unit) :
  1. ์—ฐ์‚ฐ ALU (Arithmetic Logic Unit)

    • ์‚ฐ์ˆ ์—ฐ์‚ฐ(๊ณ„์‚ฐ) : Arithmetic Operation , 1+1
    • ๋…ผ๋ฆฌ์—ฐ์‚ฐ(์กฐ๊ฑด) : Logic Operation, ์กฐ๊ฑด๋ฌธ
  2. ์ œ์–ด Control Device - I/O Device(์ž…์ถœ๋ ฅ์žฅ์น˜), ๋ฉ”๋ชจ๋ฆฌ, ALU ๋™์ž‘ ์ œ์–ด

  • Memory(์ฝ”๋“œ์™€ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ์žฅ์น˜) :

ํ”„๋กœ๊ทธ๋žจ, ํ”„๋กœ๊ทธ๋žจ ์ˆ˜ํ–‰์— ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅ (์ „์ฒด ๋ฐ์ดํ„ฐ ์ €์žฅ)

  1. ๋‚ด๋ถ€๊ธฐ์–ต์žฅ์น˜(์ฃผ๊ธฐ์–ต์žฅ์น˜) :

    • CPU ์•ˆ์— ๋ ˆ์ง€์Šคํ„ฐ(์ž‘์€ ์ €์žฅ๊ณต๊ฐ„, ๋ณ€์ˆ˜ ์„ ์–ธ ๋“ฑ์˜ ์ž„์‹œ์ €์žฅ)
    • ์บ์‰ฌ(์ผ์ • ๊ธฐ๊ฐ„ ์•ˆ์— ์‚ฌ์šฉํ–ˆ๋˜ ๊ธฐ์กด ๋ฐ์ดํ„ฐ๋ฅผ ๋„ฃ๋Š” ๊ณณ์œผ๋กœ ๋ฉ”๋ชจ๋ฆฌ๋ณด๋‹ค ๊ฐ€๊นŒ์šด ๊ณณ, ์—ฌ๊ธฐ์„œ ๋ฐ์ดํ„ฐ ๊ฐ€์ ธ์˜ด)
    • DRAM๋“ฑ ๋ฉ”๋ชจ๋ฆฌ (๋žจ, RAM, DDR4) (์ž„์‹œ์ ์œผ๋กœ ์ €์žฅํ•˜๋Š” ) == ์†๋„๊ฐ€ ๋น ๋ฅด๊ณ , ์ปดํ“จํ„ฐ๊ฐ€ ๊บผ์ง€๋ฉด ๋‹ค ๋‚ ๋ผ๊ฐ
  2. ์™ธ๋ถ€๊ธฐ์–ต์žฅ์น˜(๋ณด์กฐ๊ธฐ์–ต์žฅ์น˜) :

    • SSD, HDD ; ๊บผ์ ธ๋„ ๋‚จ์•„์žˆ์ง€๋งŒ, ์ฃผ๊ธฐ์–ต ์žฅ์น˜๋ณด๋‹ค๋Š” ์†๋„๊ฐ€ ๋Š๋ฆผ
  • I(intput)O(output) Devices(์ž…์ถœ๋ ฅ ์žฅ์น˜) :
  1. ์ž…๋ ฅ ์žฅ์น˜ : ๋งˆ์šฐ์Šค, ํ‚ค๋ณด๋“œ, ํ„ฐ์น˜ํŒจ๋“œ โ†’์‹ ํ˜ธ๋ฅผ ์ปดํ“จํ„ฐ์— ์คŒ
  2. ์ถœ๋ ฅ ์žฅ์น˜ : ๋ชจ๋‹ˆํ„ฐ, ํ”„๋ฆฐํ„ฐ, ์Šคํ”ผ์ปค ๋“ฑ โ†’ ์ปดํ“จํ„ฐ๊ฐ€ ์ถœ๋ ฅํ•œ ๋‚ด์šฉ์„ ๋ณด์—ฌ์คŒ
  • ๋ฒ„์Šค(Bus) :
    ์„ธ ๊ฐ€์ง€ ํ•ต์‹ฌ์„ ์—ฐ๊ฒฐํ•ด์ฃผ๋Š” ๊ธฐ๋Šฅ
    • CPU, Memory, I/O Devices๋ฅผ ์—ฐ๊ฒฐํ•ด ํ†ต์‹ ์ด ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๋Š” ์žฅ์น˜, ๊ฐœ๋ณ„์ ์ธ I/O Devices๋“ค์„ ์—ฐ๊ฒฐํ•ด์ฃผ๊ณ  ๋ฐ์ดํ„ฐ๋ฅผ ์†ก์ˆ˜์‹ ํ•ด์ฃผ๋Š” ์žฅ์น˜

๐Ÿ“Œ

๋น„ํŠธ ํ‘œํ˜„ ์ดํ•ด

0๊ณผ 1๋กœ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜, ์ˆซ์ž ํ‘œํ˜„ ๊ฐ€๋Šฅ, ๋ฌธ์ž ํ‘œํ˜„ ๊ฐ€๋Šฅ, ์—ฐ์‚ฐ ๊ฐ€๋Šฅ

๋น„ํŠธ : 0 or 1 ๋กœ ํ”„๋กœ๊ทธ๋žจ์ด ๋™์ž‘

  • ๋…ผ๋ฆฌ์—ฐ์‚ฐ Gate

and (์ง๋ ฌ)/ or(๋ณ‘๋ ฌ) ๋…ผ๋ฆฌ ์—ฐ์‚ฐ (์กฐ๊ฑด๋ฌธ)

โ†”ย nand / nor

โ†’0๊ณผ1๋กœ ๋น„ํŠธ๋ฅผ ์—ฎ์–ด์„œ ๋ฌธ์ž, ์ˆซ์ž ์˜๋ฏธ ๋ถ€์—ฌ ๊ฐ€๋Šฅ

์ธํ’‹์— ๋”ฐ๋ผ ์•„์›ƒํ’‹์ด ํšŒ๋กœ๋ฅผ ๋”ฐ๋ผ์„œ ๋…ผ๋ฆฌ์ ์œผ๋กœ ๋™์ž‘ = ๋…ผ๋ฆฌ์—ฐ์‚ฐ ๊ตฌ์„ฑ ๊ฐ€๋Šฅ โ†’ ๋…ผ๋ฆฌ ์—ฐ์‚ฐ ๊ฐ€๋Šฅํ•œ ํšŒ๋กœ ๊ตฌ์„ฑ ๊ฐ€๋Šฅ

๋ถ€์šธ ๋Œ€์ˆ˜์‹ : ํ•˜๋“œ์›จ์–ด๋ฅผ ๊ตฌ์„ฑํ•ด์„œ ์ข€ ๋” ๋ณต์žกํ•œ ๊ตฌ์„ฑ์„ ํ•˜๋ ค๋ฉด ๋งŽ์€ ๊ฒŒ์ดํŠธ๋“ค์ด ํ•„์š”ํ•œ๋ฐ, ์ด๊ฑธ ๋” ๊ฐ„๋‹จํ•œ ํ˜•์‹์œผ๋กœ ํ‘œํ˜„ํ•œ ๊ฒƒ

(์ด์ง„์ˆ˜์˜ ๋ง์…ˆ)

0 + 0 = 0

0 + 1 = 1

1 + 0 = 1 // ๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ด or ์—ฐ์‚ฐ๊ณผ ๋™์ผ

1 + 1 = 0 โ†’ ํ•˜์ง€๋งŒ ๋‹ค์Œ ์ž๋ฆฟ์ˆ˜๋ฅผ 1์„ ๋”ํ•ด์•ผ ํ•จ (carry ๋น„ํŠธ) โ†’ 10

  • ๋ฐ˜๊ฐ€์‚ฐ๊ธฐ (half adder) : ๋‘ bit๋ฅผ ๋ง์…ˆํ•˜๋Š” ๊ฐ€์‚ฐ๊ธฐ๋ฅผ ์˜๋ฏธ โ†”ย ์ „๊ฐ€์‚ฐ๊ธฐ : ๋‘ bit ์™ธ, carry๊นŒ์ง€ ๊ณ„์‚ฐํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ€์‚ฐ๊ธฐ๋ฅผ ์˜๋ฏธ
  • ๊ฐ๊ฐ ํ•˜๋‚˜์˜ bit์ธ A์™€ B๋ฅผ ๋”ํ•ด์„œ, ํ•ฉ S์™€ ์ž๋ฆฌ์˜ฌ๋ฆผ(carry) C๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ์กฐํ•ฉ๋…ผ๋ฆฌํšŒ๋กœ
  • ์ „๊ฐ€์‚ฐ๊ธฐ (full adder) : A bit, B bit, carry bit ๊ฐ’์„ ์ž…๋ ฅ์œผ๋กœ ๋ฐ›์•„์„œ, sum๊ณผ carry ๊ฐ’์„ ์ถœ๋ ฅํ•ด์คŒ

๐Ÿ“Œ

Oscillator

, Output ๊ฐ’์ด 0๊ณผ 1๋ฅผ ๋ฐ˜๋ณตํ•˜๋Š” ํšŒ๋กœ

์ „์›์„ ๋ฐ›์•˜์„ ๋•Œ๋งˆ๋‹ค CPU๊ฐ€ ๋ชจ๋“  ๋™์ž‘์„ ํ•œ ๋ฒˆ์— ์ˆ˜ํ–‰ํ•จ

  • ํด๋Ÿญ(0๊ณผ1๋กœ ์ผ์ •ํ•˜๊ฒŒ ์™”๋‹ค๊ฐ”๋‹ค โ†’ 1์‹ธ์ดํด, ์ฃผ๊ธฐ)์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Œ
  • 1GHz = 1,000MHz=1,000,000,000Hz
  • CPU : 2.5GHz * 1,000,000,000Hz ๋งŒํผ์˜ ์‚ฌ์ดํด์ด ์ƒ๊น€, ๊ฐ๊ฐ ์‚ฌ์ดํด ๋งˆ๋‹ค CPU๊ฐ€ ๋ช…๋ น ๋™์ž‘ ์ˆ˜ํ–‰
  • ์˜ค๋ฒ„ํด๋Ÿญ : ์ž‘๋™์„ ์ข€ ๋” ๋น ๋ฅด๊ฒŒ, ์›๋ž˜๋Š” 2.5GHz ๋งŒํผ ๋™์ž‘ํ•˜๋Š” ํด๋Ÿญ์˜ ์ฃผ๊ธฐ๋ฅผ ๋” ๋†’์ธ ๊ฒƒ โ†’ ๋” ๋น ๋ฅด๊ฒŒ ์›€์ง์ด๋‹ˆ๊นŒ ์—ด์ด ๐Ÿ”ฅ

๐Ÿ“Œ

ํ”Œ๋ฆฝํ”Œ๋กญ(flip-flop)

๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ์กฐํ•ฉ ๋…ผ๋ฆฌ ํšŒ๋กœ โ€”> ์ด๋ฅผ ํ†ตํ•ด ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ตฌ์„ฑ

์Šค์œ„์น˜๋ฅผ ์ผœ๊ณ  ๋„๊ธฐ๋ฅผ ์ €์žฅ ๊ฐ€๋Šฅ โ†’ ์ด์ „์— ์ „๊ธฐ๋ฅผ ์ผœ๊ณ  ๋„๊ธฐ๋ผ๋Š” ์‚ฌ์‹ค์„ ํšŒ๋กœ๊ฐ€ ๊ธฐ์–ตํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•จ

๐Ÿ’ก on - ์ตœ๊ทผ์— ์ฒซ ๋ฒˆ์งธ๊ฐ€ ์ผœ์กŒ์—ˆ์Œ

๐Ÿ’ก off - ์ตœ๊ทผ์— ๋‘ ๋ฒˆ์งธ๊ฐ€ ๊บผ์กŒ์—ˆ์Œ

R-S(Rset-Set) flip-flop, NOR Gate

Q = output

Q{\over Q} = Q์˜ ๋ฐ˜๋Œ€๊ฐ’

S์™€ R์ด ๋™์‹œ์— 1์ธ ๊ฑด ๋…ผ๋ฆฌ์ ์œผ๋กœ ๋ง์ด ์•ˆ ๋จ

Level-triggered flip-flop

  • Hold that bit(=ํด๋Ÿญ), reset๊ณผ set โ†’ AND ๊ฒŒ์ดํŠธ๋กœ

D-type flip-flop, ๋‘ ๊ฐœ์˜ input(RS)์„ ํ•˜๋‚˜์˜ input(Data)์œผ๋กœ ๋ฐ”๊ฟˆ, 1์ด ๋˜๋ฉด ํ™€๋“œ๋Œ“ ๋น„ํŠธ๊ฐ€ ํด๋Ÿญ์ด 1์ด ๋˜๋Š” ์ˆœ๊ฐ„ ์ €์žฅ์ด ๋จ, ํ•˜๋‚˜์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์žˆ์Œ(์ „๊ฐ€์‚ฐ๊ธฐ์™€ ๋น„์Šท)

Level-triggered(Hold that Bit๊ฐ€ 1์ผ ๋•Œ๋งŒ=ํŠน์ •ํ•œ ์ผ์ •ํ•œ ํด๋Ÿญ, ๋ ˆ๋ฒจ์ด ํŠˆ ๋•Œ๋งŒ)D-type(๋ฐ์ดํ„ฐ ์ €์žฅ) flip-flop ,

๋ ˆ๋ฒจ์— ๋งž์ถฐ ํ”Œ๋ฆฝํ”Œ๋กญ์ด ๋™์ž‘ํ•  ์ˆ˜ ์žˆ๊ฒŒ๋” ๋…ผ๋ฆฌ ํšŒ๋กœ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค โ†’ ์ด๋Ÿฌํ•œ ๋…ผ๋ฆฌ ํšŒ๋กœ๋ฅผ ์ด์šฉํ•ด ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ตฌ์„ฑํ•จ

  • 1 bit latch = Level-triggered D-type flip-flop ,(write = ํด๋Ÿญ)
  • 8 bit latch 8 bit ์ €์žฅ (= 2์˜ 8์Šน = 256) โ†’ latch 8๊ฐœ๋ฅผ ์—ฐ๊ฒฐ write๊ฐ€ 1์ผ ๋•Œ 8bit data inputs๊ฐ€ 8bit data outputs์— ์ €์žฅ, ๊ฐ’์ด ์œ ์ง€๋จ
  • 8-to-selector (๋ถ€ํ’ˆ), 8๋น„ํŠธ ๋ฐ์ดํ„ฐ์—์„œ ํŠน์ • ๋น„ํŠธ ๊ฐ’๋งŒ ์ถœ๋ ฅ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋ฉด ์–ด๋Š ์œ„์น˜์— ์ €์žฅํ–ˆ๋Š”์ง€, ์ €์žฅํ•œ ๋ฐ์ดํ„ฐ ์ค‘์— ๊ฐ€์ง€๊ณ  ์˜ค๊ณ  ์‹ถ์€ ๋ฐ์ดํ„ฐ๊ฐ€ ์–ด๋Š ์œ„์น˜์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ์ธ์ง€ ์„ ํƒํ•ด์ค„ ํ•„์š”๊ฐ€ ์žˆ์Œ โ†’ ๋ฐ์ดํ„ฐ์˜ ํŠน์ • ์ฃผ์†Œ๊ฐ€ ํ•„์š” 8๊ฐœ์˜ ์‹ ํ˜ธ๋ฅผ ๋ฐ์ดํ„ฐ์— ์—ฐ๊ฒฐ โ†’ ํŠน์ • ๋ฐ์ดํ„ฐ๋งŒ ์„ ํƒ ๊ฐ€๋Šฅ
  • 3-to-8 decoder 8๊ฐœ์˜ ๊ณต๊ฐ„ ์ค‘ ํ•œ ๊ณต๊ฐ„์„ ์„ ํƒํ•˜๊ณ  ์„ ํƒํ•œ ๊ณต๊ฐ„์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉ
  • ์˜จ์ „ํ•œ 8 bit latch = RAM(Random Access Memory), 8๊ฐœ ์ค‘ ํ•˜๋‚˜์˜ ๋น„ํŠธ๋ฅผ ์„ ํƒํ•ด์„œ ์“ฐ๊ฑฐ๋‚˜ ์ฝ์„ ์ˆ˜ ์žˆ์Œ

RAM array (8x1 Ram์„ ํ•˜๋‚˜์”ฉ ์ถ”๊ฐ€โ†’8x2, 16x1 = ๋žจ์„ ์—ฌ๋Ÿฌ ๊ฐœ ์ถ”๊ฐ€ = m * n RAM array)

  1. 8 x 2 RAM array (16๊ฐœX ๋‘ ๊ฐœ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ํ•œ ๋ฒˆ์— ์“ฐ๊ณ  ํ•œ ๋ฒˆ์— ์ฝ์Œ)

    ๋ฐ์ดํ„ฐ 8๊ฐœ ์ €์žฅ, ์ฝ์Œ โ†’ ๊ฐ ๋ฐ์ดํ„ฐ 2bits

  2. 16 x 1 RAM array = 8 x 2 RAM array๊ตฌ์กฐ + select, 1-to2 decoder/ 2-to-1 selector ์ถ”๊ฐ€

    ๋ฐ์ดํ„ฐ 16๊ฐœ ์ €์žฅ, ์ฝ์Œโ†’ ๊ฐ ๋ฐ์ดํ„ฐ 1bits (๋ฐ์ดํ„ฐ ๊ณต๊ฐ„ 16๊ฐœ ์ค‘์— ํ•˜๋‚˜)

  • ๋žจ์„ ์—ฌ๋Ÿฌ๊ฐœ ์—ฐ๊ฒฐ, ์—ฌ๋Ÿฌ ๊ฐœ์˜ select๋กœ decoder/selector๋ฅผ ๊ตฌ์„ฑํ•ด ๋งŽ์€ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๊ณ  ์ €์žฅํ•จ

64K RAM

2์˜ 16์Šน(์ฃผ์†Œ) X 8 bits(๋ฐ์ดํ„ฐ) โ†’ 65,536๊ฐœ์˜ ๋ฐ์ดํ„ฐ ์ €์žฅ ๋ฐ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ฉ”๋ชจ๋ฆฌ

  • ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„๋“ค์€ ์ฃผ์†Œ(์ด์ง„์ˆ˜๋กœ ํ‘œํ˜„๋œ)๊ฐ€ ์žˆ๋‹ค !

๐Ÿ“Œ

Accumulator (๊ฐ€์‚ฐ๊ธฐ)

CPU ์•ˆ ๋ง์…ˆ ๊ธฐ๊ธฐ โ†’ ๋ฐ์ดํ„ฐ๋ฅผ ํ•œ ๋ฒˆ์— ๋„ฃ์–ด์„œ ๊ณ„์‚ฐํ•˜๋Š” ๊ฒŒ ์•„๋‹ˆ๋ผ ํ•˜๋‚˜์”ฉ ๋„ฃ์–ด์„œ ์ถ•์ 

clear(๊ณ„์‚ฐ์„ ์œ„ํ•œ ์ถ”๊ฐ€ ์Šค์œ„์น˜) = 1 โ†’ Q output = 0 ; f-f ๊ฐ’์„ ์‚ญ์ œ

CPU ์•ˆ, ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•œ ์ž„์‹œ ์ €์žฅ๊ณต๊ฐ„ = Register ์ €์žฅ ๊ณต๊ฐ„ (1 cycle),

๋ฉ”๋ชจ๋ฆฌ๊นŒ์ง€ ๋‹ฟ๊ธฐ ์œ„ํ•ด ์ƒ๋Œ€์ ์œผ๋กœ ๋งŽ์€ ์‹ธ์ดํด ํ•„์š”

โ†’ ํด๋Ÿญ์ด ๊ณ„์† ํŠ•๊ธฐ์ง€๋งŒ ์ค‘๊ฐ„์— ๋‹ค๋ฅธ ๊ณ„์‚ฐ ์ˆ˜ํ–‰์ด ๋”๋ŽŒ์ง(๋ฐ์ดํ„ฐ๊ฐ€ ์™€์•ผ ์ฒ˜๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ˆ๊นŒ)

โ†’ ๋ฉ”๋ชจ๋ฆฌ ๋ฐ์ดํ„ฐ๋ฅผ ๋ ˆ์ง€์Šคํ„ฐ, ์บ์‰ฌ์—๋„ ์ €์žฅ (CPU๋ž‘ ๊ฐ€๊น์ง€๋งŒ ๊ณต๊ฐ„์€ ์ž‘์Œ)

โ†’ ๋‹จ๊ณ„๋ณ„๋กœ CPU๊ฐ€ ํ™•์ธ

*SSD(10us), HDD(10ms) - ๋‹จ์œ„๊ฐ€ ๋‹ค๋ฅธ ์ €์žฅ๋งค์ฒด์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๊ฑด ์‹œ๊ฐ„ ์˜ค์ง€๊ฒŒ ๊ฑธ๋ฆผ

*์–ด์…ˆ๋ธ”๋ฆฌ์–ด(Assembly์–ธ์–ด), CPU์— ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด, ์œ ์‚ฌํ•œ ๊ธฐ๊ณ„์–ด. ์™„์ „ํžˆ CPU๊ฐ€ ๋™์ž‘ํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๊ตฌ์„ฑ

๐Ÿ“Œ

PC

ํด๋Ÿญ์ด ํŠ•๊ธธ ๋•Œ๋งˆ๋‹ค 1์”ฉ ์ฆ๊ฐ€ํ•˜๋Š” ๊ธฐ๋Šฅ์˜ ๋ ˆ์ง€์Šคํ„ฐ

Control Panel;

(Takeover ์Šค์œ„์น˜ = 1) ์ˆœ์ฐจ์ ์œผ๋กœ ํŠน์ • ์ˆซ์ž๋ฅผ ์จ๋„ฃ์Œ โ†’

(Takeover ์Šค์œ„์น˜ = 0) = ์ปจํŠธ๋กค ํŒจ๋„์—์„œ๋Š” ๋”์ด์ƒ ๋žจ ์•ˆ์— ์žˆ๋Š” ๋‚ด๋ถ€ ๋ถ€ํ’ˆ์„ ์ œ์–ดํ•˜์ง€ ์•Š์Œ โ†’

PC์˜ clear ์Šค์œ„์น˜(= ์ดˆ๊ธฐํ™” ์Šค์œ„์น˜)๊ฐ€ 0์ด ๋˜๋ฉด(=pc๊ฐ’ ์ดˆ๊ธฐํ™”ํ•˜๊ณ  ์ฃผ์†Œ๊ฐ’์„ accumulator์— ๋„ฃ์–ด์ฃผ๋ฉด ์ฃผ์†Œ๊ฐ’์— ์ˆซ์ž๊ฐ€ ๋“ค์–ด๊ฐ โ†’

๋‹ค์Œ ํด๋Ÿญ ํŠ•๊น€ โ†’

pc๊ฐ’ 1 ์ฆ๊ฐ€ โ†’

ํ•ด๋‹น ์ฃผ์†Œ๊ฐ’์„ ์ฐพ์•„์„œ ๋‹ค์Œ ์ˆซ์ž๊ฐ€ ๋“ค์–ด๊ฐ โ†’

์–ดํ๋ฎฌ๋ ˆ์ดํ„ฐ์—์„œ ํ•ด๋‹น ์ˆซ์ž๋ฅผ ๋”ํ•จ

๋‚ด๊ฐ€ ์›ํ•˜๋Š” ์œ„์น˜์— ์ˆœ์ฐจ์ ์œผ๋กœ ๋”ํ•˜๊ณ  ์‹ถ์€ ์ˆซ์ž๋ฅผ ๋„ฃ์œผ๋ฉด ํšŒ๋กœ ๋ณ€๊ฒฝ ์—†์ด ์›ํ•˜๋Š” ๊ณ„์‚ฐ(accumulator)์„ ํ•  ์ˆ˜ ์žˆ๋‹ค !

*ํšŒ๋กœ ๋ณ€๊ฒฝ ์—†์ด ์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์— ์ˆœ์ฐจ์ ์œผ๋กœ ๊ธฐ์žฌํ•˜๋ฉด ๋œ๋‹ค. (์ฝ”๋“œ๋Š” ์œ„์—์„œ๋ถ€ํ„ฐ ๋ฐ‘์œผ๋กœ ์‹คํ–‰๋จ)

๐Ÿ“Œ

Programing

๋ช…๋ น์„ ๋ฉ”๋ชจ๋ฆฌ์— ๋„ฃ๊ณ  CPU๊ฐ€ ํ•˜๋‚˜์”ฉ ๊ทธ ๋ช…๋ น์„ ์ˆ˜ํ–‰ํ•˜๊ฒŒ๋”๋งŒ ํ•˜๋ฉด ํšŒ๋กœ๋Š” ๊ทธ๋Œ€๋กœ ๋‘๊ณ  ์šฐ๋ฆฌ๋Š” ๋ช…๋ น๋งŒ ๋‹ค๋ฅด๊ฒŒ ์งœ์„œ ์›ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•˜๊ฒŒ๋” ํ•œ๋‹ค.

  • Data , Code
  1. ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„ ๋ถ„๋ฆฌ (pc ์ฃผ์†Œ๊ฐ’) - code ๋ฉ”๋ชจ๋ฆฌ, data ๋ฉ”๋ชจ๋ฆฌ(์ฃผ์†Œ๊ฐ’) โ†’ ๋™์ผํ•œ ์ฃผ์†Œ๊ฐ’์— ์ ‘๊ทผํ•˜๊ฒŒ ํ•˜๋Š” ๋ช…๋ น ์ž‘์„ฑ โ†’ ํ•ด๋‹น ๋ช…๋ น cpu๊ฐ€ ์ฝ์Œ

Ram ๋ถ„๋ฆฌ โ†’ ๋ช…๋ น ์˜๋ฏธ ๊ฐ’ ์ˆœ์ฐจ์ ์œผ๋กœ โ†’ ์ฝ”๋“œ ์‹คํ–‰ ๊ฐ€๋Šฅ

Load, Add, Store โ†’ cpuํ•œํ…Œ ๋ช…๋ น ๋‚ด๋ฆผ โ†’ ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ์˜๋ฏธ ๊ฐ’์ด ํ•„์š” (๋ช…๋ น ์˜๋ฏธ ์ˆซ์ž๋ฅผ ๋งŒ๋“ค๊ณ , ์ฃผ์†Œ์— ๋งž๋Š” ์ฝ”๋“œ๋ฅผ ๋„ฃ์Œ)

๋ช…๋ น ์ˆซ์ž : Instruction Code, Operation Code โ†’ ๋˜๋Š” โ€˜opcodeโ€™

ํšŒ๋กœ๋ฅผ ์ถ”๊ฐ€ํ•ด ๊ฐ๊ฐ์˜ ๋ช…๋ น ๋Œ€๋กœ ๋™์ž‘ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๊ตฌ์„ฑํ•œ CPU = intel CPU, ARM CPU ๋“ฑ = opcode ์ œ๊ณต

์ด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์–ด์…ˆ๋ธ”๋ฆฌ์–ด๋กœ ํ•ด๋‹น CPU์—์„œ ๋ช…๋ น ๋™์ž‘์„ ํ•˜๊ฒŒ๋” ํ”„๋กœ๊ทธ๋ž˜๋ฐ โ†’ ๋ณต์žก ์ฝ”๋“œ ์ž‘์„ฑ ์–ด๋ ค์›€

๐Ÿ’ก ๊ทธ๋ž˜์„œ ! 
	๋‚ด๋ถ€์ ์œผ๋กœ ์ปดํŒŒ์ผ์„ ํ†ตํ•ด opcode๋กœ ๋ณ€ํ™˜, CPU์—๊ฒŒ ๋ช…๋ น 
    โ†’ ์šฐ๋ฆฌ๋Š” opcode๋ฅผ ๋ชฐ๋ผ๋„ ํ”„๋กœ๊ทธ๋žจ์„ ์งค ์ˆ˜ ์žˆ๋‹ค.  
    = ํ˜„์žฌ์˜ Programing !!

๐Ÿ“Œ

Instruction Set, ์ฝ”๋“œ(๋ช…๋ น์–ด+๋ฐ์ดํ„ฐ)

  • ๊ณ ๊ธ‰์–ธ์–ด : ์ปดํŒŒ์ผ๋Ÿฌ ํ•„์š”, C์–ธ์–ด Java ๋“ฑ
  • ์ €๊ธ‰์–ธ์–ด : ์ธํ„ฐํ”„๋ฆฌํ„ฐ, ์ฝ”๋“œ ์ž์ฒด ์‹คํ–‰

*CPU ๊ธฐ๋ณธ ์‹คํ–‰ ๊ตฌ์กฐ ; ๋ฉ”๋ชจ๋ฆฌ์— ์ฃผ์†Œ ๋˜๋Š” ์ธ์ž๋“ค ํฌํ•จ ๋ช…๋ น๋“ค์„ ์ฃผ์†Œ๋งˆ๋‹ค ์ €์žฅํ•˜๊ณ , PC๋ฅผ ํ•ด๋‹น ์ฃผ์†Œ๋ฅผ ๊ฐ€๋ฆฌํ‚ค๊ฒŒ ํ•˜์—ฌ ํ•ด๋‹น ๊ณผ์ •์„ ๊ฑฐ์น˜๋ฉด์„œ ๋ช…๋ น์–ด๋กœ ์‹คํ–‰ํ•จ

  1. Instruction Fetch, ๋ฉ”๋ชจ๋ฆฌ์—์„œ ์ฝ์€ ๋ช…๋ น์–ด๋ฅผ CPU๋กœ ๊ฐ€์ ธ์˜ด

    PC๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๋Š” ์ฃผ์†Œ๋ฅผ MAR์— ๋ณด๋ƒ„ โ†’ ๊ทธ ์ฃผ์†Œ๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์—์„œ ์ฝ๊ณ  MBR์— ๋ณด๋ƒ„ โ†’ ๋‹ค์‹œ ๊ทธ๊ฑธ IR์— ์ €์žฅ โ†’ ๋‹ค์Œ ๋ช…๋ น ๊ฐ€๋ฆฌํ‚ค๋„๋ก PC ์ฃผ์†Œ๊ฐ’ ์ฆ๊ฐ€

  2. Instruction Decode, IR์—์„œ ์ธ์ถœํ•œ ๋ช…๋ น์–ด์˜ ํ•ด๋‹น ๋ฐ์ดํ„ฐ ๊ฐ€์ ธ์˜ค๊ณ , ํ•ด๋…(OP ์ฝ”๋“œ ํ•ด์„)

  3. Instruction Execution, ๋ช…๋ น์–ด ์‹คํ–‰ MAR ACC(๊ฐ€์‚ฐ๊ธฐ)์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์—ฐ์‚ฐ โ†’ ACC์— ๋ฐ์ดํ„ฐ ์ €์žฅ

  4. Write Back, ์ถœ๋ ฅ๋œ ์‹คํ–‰ ๊ฒฐ๊ณผ ๋ฉ”๋ชจ๋ฆฌ ๋“ฑ์— ์ €์žฅ

๐Ÿ“Œ

ํŒŒ์ดํ”„ ๋ผ์ธ

ํ•˜๋‚˜์˜ ์ž‘์—…์— ํ•„์š”ํ•œ ์ผ์„ ์„ธ๋ถ€์ ์œผ๋กœ ๋‚˜๋ˆ„์–ด์„œ ๋™์‹œ์— ๋‹ค๋ฅธ ์„ธ๋ถ€์ž‘์—…์„ ์‹คํ–‰ํ•˜๋Š” ๊ธฐ๋ฒ•
ํŒŒ์ดํ”„ ๋ผ์ธ

** ์‚ฌ์ดํด : ํด๋Ÿญ์ด ํ•œ ๋ฒˆ ํŠˆ ๋•Œ, 5cycle = 5๋‹จ๊ณ„ 16cycle = 16๋‹จ๊ณ„

๐Ÿ“Œ

ARM, Intel

  • ARM - RISC, ๊ฐ„๋‹จ ๋ช…๋ น์–ด ์กฐํ•ฉ ์‹คํ–‰ โ†’ ์ฝ”๋“œ๊ฐ€ ๊ธธ์–ด์ง (Phone) -RISC ; ๋ช…๋ น์–ด ํฌ๋งท๊ณผ ๊ธธ์ด ๊ณ ์ •, ํ•˜๋‚˜์˜ ์‚ฌ์ดํด๋กœ ์‹คํ–‰, ์‹œ๊ฐ„ ์˜ˆ์ธก ๊ฐ€๋Šฅ, ์ž„๋ฒ ๋””๋“œ ARM์Šค๋งˆํŠธํฐ IoT ๊ธฐ๊ธฐ
  • Intel - CISC, ๋ณตํ•ฉ ๋ช…๋ น์–ด โ†’ CPU ๋กœ์ง ๋ณต์žก๋„ ์ฆ๊ฐ€, ์‹คํ–‰ ์‹œ๊ฐ„ ์ฆ๊ฐ€ (PC) -CISC ; ๋ช…๋ น์–ด ํฌ๋งท๊ณผ ๊ธธ์ด ๊ณ ์ • x, ํ•˜๋‚˜ ์ด์ƒ์˜ ์‚ฌ์ดํด, ์ „์ฒด ๋ช…๋ น์ด ์–ผ๋งˆ๋‚˜ ๊ฑธ๋ฆด์ง€ ์‹œ๊ฐ„ ์˜ˆ์ธก ์–ด๋ ค์›€, ์ธํ…” CPU

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