๋ ˆ์ง€์Šคํ„ฐ ๋ฉ”๋ชจ๋ฆฌ

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

๋ ˆ์ง€์Šคํ„ฐ์—๋Š” ์•ฝ 32๋น„ํŠธ์—์„œ 64๋น„ํŠธ์˜ ์†Œ๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ๋ฉ๋‹ˆ๋‹ค. CPU ์†๋„๋Š” CPU์— ๋‚ด์žฅ๋œ ๋ ˆ์ง€์Šคํ„ฐ์˜ ์ˆ˜์™€ ํฌ๊ธฐ(๋น„ํŠธ ์ˆ˜)์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง‘๋‹ˆ๋‹ค. ๋ ˆ์ง€์Šคํ„ฐ๋Š” ์šฉ๋„์— ๋”ฐ๋ผ ๋‹ค์–‘ํ•œ ์œ ํ˜•์ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋ ˆ์ง€์Šคํ„ฐ ๋ฉ”๋ชจ๋ฆฌ์˜ ๊ตฌ์กฐ

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

๋ฉ”๋ชจ๋ฆฌ ๋“ฑ๋ก

CPU์˜ ๋ ˆ์ง€์Šคํ„ฐ ์ˆ˜๋Š” ์ ๊ณ  ํฌ๊ธฐ๋„ ์ž‘์Šต๋‹ˆ๋‹ค. ๋ ˆ์ง€์Šคํ„ฐ์˜ ํฌ๊ธฐ๋Š” 64๋น„ํŠธ ๋ฏธ๋งŒ์ž…๋‹ˆ๋‹ค. ๋””์Šคํฌ ๋ฉ”๋ชจ๋ฆฌ ๋ฐ ๊ธฐ๋ณธ ๋ฉ”๋ชจ๋ฆฌ์— ๋น„ํ•ด ๋น ๋ฆ…๋‹ˆ๋‹ค. ๋ฒ”์šฉ ๋ ˆ์ง€์Šคํ„ฐ์˜ ํฌ๊ธฐ๋Š” ๋‹จ์–ด ํฌ๊ธฐ์— ์˜ํ–ฅ์„ ๋ฏธ์นฉ๋‹ˆ๋‹ค.

์ปดํ“จํ„ฐ ๋ ˆ์ง€์Šคํ„ฐ์˜ ์ข…๋ฅ˜

DR (Data Register)

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

PC (Program Counter)

  • ํ˜„์žฌ ๋ช…๋ น์ด ์™„๋ฃŒ๋œ ํ›„ ๊ฐ€์ ธ์˜ฌ(fetch) ๋‹ค์Œ ๋ช…๋ น์–ด์˜ ๋ฉ”๋ชจ๋ฆฌ ์œ„์น˜ ์ฃผ์†Œ๋ฅผ ๋ณด์œ ํ•ฉ๋‹ˆ๋‹ค.
  • ์„œ๋กœ ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋žจ์˜ ์‹คํ–‰ ๊ฒฝ๋กœ๋ฅผ ์œ ์ง€ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋ฏ€๋กœ ์ด์ „ ๋ช…๋ น์–ด๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด ํ”„๋กœ๊ทธ๋žจ์„ ํ•˜๋‚˜์”ฉ(one by one) ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.
  • ๋‹ค์Œ์— ์‹คํ–‰๋  ๋ช…๋ น์–ด์˜ ์ฃผ์†Œ๋ฅผ ๊ฐ€๋ฆฌํ‚ค๊ณ  ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ํ๋ฆ„์„ ์ œ์–ดํ•˜๋Š” ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค.
  • ๋ช…๋ น์–ด๊ฐ€ ์‹คํ–‰๋  ๋•Œ๋งˆ๋‹ค PC๋Š” ์ž๋™์œผ๋กœ ์ฆ๊ฐ€ํ•˜์—ฌ ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ๊ฐ€๋ฆฌํ‚ต๋‹ˆ๋‹ค.

IR (Instruction Register)

  • ๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ์—์„œ ๊ฐ€์ ธ์˜จ ๋ช…๋ น์–ด๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.
  • ์‹คํ–‰ํ•  ๋ช…๋ น์–ด ์ฝ”๋“œ๋ฅผ ๋ณด๊ด€ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
  • ์ œ์–ด ์žฅ์น˜๋Š” Instruction Register์—์„œ ๋ช…๋ น์–ด๋ฅผ ๊ฐ€์ ธ์˜จ ๋‹ค์Œ ์ด๋ฅผ ํ•ด๋…(Decode)ํ•˜์—ฌ ์‹คํ–‰(execute)ํ•ฉ๋‹ˆ๋‹ค.
  • ํ˜„์žฌ ์‹คํ–‰ ์ค‘์ธ ๋ช…๋ น์–ด๋ฅผ ์ €์žฅํ•˜๋Š” ๋ ˆ์ง€์Šคํ„ฐ์ž…๋‹ˆ๋‹ค.
  • CPU๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์—์„œ ๋ช…๋ น์–ด๋ฅผ ๊ฐ€์ ธ์˜ค๋ฉด, ์ด ๋ช…๋ น์–ด๋Š” IR์— ์ €์žฅ๋˜๊ณ  ํ•ด์„๋ฉ๋‹ˆ๋‹ค.

Accumulator Register

  • ๋ˆ„์‚ฐ๊ธฐ ๋ ˆ์ง€์Šคํ„ฐ.
  • ์‹œ์Šคํ…œ์—์„œ ์ƒ์„ฑ๋œ ๊ฒฐ๊ณผ๋ฅผ ์ €์žฅํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
  • ์˜ˆ๋ฅผ ๋“ค์–ด, ์ฒ˜๋ฆฌ ํ›„ CPU์—์„œ ์ƒ์„ฑ๋œ ๊ฒฐ๊ณผ๋Š” AC ๋ ˆ์ง€์Šคํ„ฐ์— ์ €์žฅ๋ฉ๋‹ˆ๋‹ค.

AR (Address Register)

  • ๋ช…๋ น์–ด ๋˜๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅ๋˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ์œ„์น˜์˜ ์ฃผ์†Œ๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.
  • ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ๋ฅผ ์ €์žฅํ•˜๋Š” ๋ ˆ์ง€์Šคํ„ฐ์ž…๋‹ˆ๋‹ค.
  • ๋ช…๋ น์–ด๋‚˜ ๋ฐ์ดํ„ฐ์˜ ์œ„์น˜๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋ฉฐ, ๋ฉ”๋ชจ๋ฆฌ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๊ฑฐ๋‚˜ ์“ฐ๋Š” ๊ณผ์ •์—์„œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

I/O Address Register

  • I/O ์ฃผ์†Œ ๋ ˆ์ง€์Šคํ„ฐ.
  • ํŠน์ • I/O ์žฅ์น˜์˜ ์ฃผ์†Œ๋ฅผ ์ง€์ •ํ•˜๋Š” ๊ฒƒ์ด ์—…๋ฌด์ž…๋‹ˆ๋‹ค.

I/O Buffer Register

  • I/O ๋ฒ„ํผ ๋ ˆ์ง€์Šคํ„ฐ.
  • I/O ๋ชจ๋“ˆ๊ณผ CPU ๊ฐ„์— ๋ฐ์ดํ„ฐ๋ฅผ ๊ตํ™˜ํ•˜๋Š” ๊ฒƒ์ด ์—…๋ฌด์ž…๋‹ˆ๋‹ค.

์ด ๋ ˆ์ง€์Šคํ„ฐ๋“ค์€ CPU ๋‚ด๋ถ€์—์„œ ๋ช…๋ น์–ด๋ฅผ ๊ฐ€์ ธ์˜ค๊ณ , ํ•ด์„ํ•˜๊ณ , ์‹คํ–‰ํ•˜๋Š” ๊ณผ์ •์—์„œ ํ•ต์‹ฌ์ ์ธ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค.


๊ต์œก์šฉ ๋ชจ๋ธ (with. Computer System Architecture - Morris Mano)

ํ˜„์žฌ ๋Œ€ํ•™ ์ˆ˜์—…๋•Œ ๋ฐฐ์šฐ๋Š” ์ฑ…์ธ Computer System Architecture(์ €์ž Morris Mano) ์—์„œ๋Š” 16bit ์ปดํ“จํ„ฐ์ด๋ฉด์„œ 2^12 = 4096๊ฐœ์˜ ๋ฉ”๋ชจ๋ฆฌ ์œ„์น˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๊ต์œก์šฉ ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•ด์„œ ์ปดํ“จํ„ฐ๋ฅผ ๋””์ž์ธํ•œ๋‹ค. ๋‹ค์Œ ํฌ์ŠคํŒ…์—์„œ ๊ต์œก์šฉ ๋ชจ๋ธ์„ ํ†ตํ•ด ๋ฐฐ์šด ๋‚ด์šฉ์„ ์ž‘์„ฑํ•ด๋ณผ ์˜ˆ์ •์ด๋‹ค.

์ฐธ๊ณ  ์ •๋ณด

DR (Data Register)

  • 16 ๋น„ํŠธ ๋ ˆ์ง€์Šคํ„ฐ

IR (Instruction Register)

  • 16 ๋น„ํŠธ ๋ ˆ์ง€์Šคํ„ฐ

Accumulator Register

  • 16๋น„ํŠธ ๋ ˆ์ง€์Šคํ„ฐ

AR (Address Register)

  • 12๋น„ํŠธ ๋ ˆ์ง€์Šคํ„ฐ

PC (Program Counter)

  • 12๋น„ํŠธ ๋ ˆ์ง€์Šคํ„ฐ. ํ”„๋กœ๊ทธ๋žจ ๋ช…๋ น์ด ๋๋‚œ ํ›„ ์‹คํ–‰ํ•  ๋‹ค์Œ ์ฃผ์†Œ๋ฅผ ๋‚˜ํƒ€๋‚ด๊ธฐ ๋•Œ๋ฌธ์— Adress Regist์™€ ํฌ๊ธฐ๊ฐ€ ๊ฐ™๋‹ค.

Reference

  • https://www.javatpoint.com/register-memory

  • https://www.ibm.com/docs/en/hla-and-tf/1.6?topic=set-register-initialization