๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
  • ์žฅ์›์ต ๊ธฐ์ˆ ๋ธ”๋กœ๊ทธ
๐Ÿ’ป Computer Science/- Operating System

[์šด์˜์ฒด์ œ] 2. ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์˜ ๋™์ž‘

by Wonit 2019. 12. 7.

์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์˜ ๋™์ž‘

์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์œผ๋กœ ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•  ๋•Œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ˆœ์„œ๋กœ ์ด๋ฃจ์–ด์ง€๋Š”๋ฐ

  1. ์ž…๋ ฅ์žฅ์น˜๋กœ ์ •๋ณด๋ฅผ ์ž…๋ ฅ๋ฐ›์•„ ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅ
  2. ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅํ•œ ์ •๋ณด๋ฅผ ํ”„๋กœ๊ทธ๋žจ ์ œ์–ด์— ๋”ฐ๋ผ ์ธ์ถœ ํ›„ ์—ฐ์‚ฐ์žฅ์น˜์—์„œ ์ฒ˜๋ฆฌ
  3. ์ฒ˜๋ฆฌํ•œ ์ •๋ณด๋ฅผ ์ถœ๋ ฅ ๋˜๋Š” ๋ณด์กฐ๊ธฐ์–ต์žฅ์น˜์— ์ €์žฅ

์ž…๋ ฅ์žฅ์น˜๋กœ๋ถ€ํ„ฐ ์œ ์ž…๋˜๋Š” ์ •๋ณด๋Š” ๋ฐ์ดํ„ฐ์™€ ๋ช…๋ น์–ด๋กœ ๋ถ„๋ฅ˜๋œ๋‹ค.

๋ช…๋ น์–ด : ์‹คํ–‰ํ•  ์‚ฐ์ˆ , ๋…ผ๋ฆฌ ์—ฐ์‚ฐ์˜ ๋™์ž‘์„ ๋ช…์‹œํ•˜๋Š” ๋ฌธ์žฅ์œผ๋กœ ๋ช…๋ น์–ด์˜ ์ง‘ํ•ฉ์€ ํ”„๋กœ๊ทธ๋žจ์ด ๋œ๋‹ค.

๋ช…๋ น์–ด์˜ ๊ตฌ์กฐ

๋ช…๋ น์–ด๋Š” ํ”„๋กœ์„ธ์„œ๊ฐ€ ์‹คํ–‰ํ•  ์—ฐ์‚ฐ์ธ ์—ฐ์‚ฐ ๋ถ€ํ˜ธ์™€ ๋ช…๋ น์–ด๊ฐ€ ์ฒ˜๋ฆฌํ•  ๋ฐ์ดํ„ฐ, ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•œ ๋ ˆ์ง€์Šคํ„ฐ๋‚˜ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ์ธ ํ”ผ์—ฐ์‚ฐ์ž๋กœ ๊ตฌ๋ถ„๋œ๋‹ค.

๋ช…๋ น์–ด ๊ธฐ๋ณธ ๊ตฌ์กฐ

  • ๋ช…์—ฐ์‚ฐ ๋ถ€ํ˜ธ (Operation Code): ์—ฐ์‚ฐ์„ ์ง€์ •ํ•˜๋ฉฐ ์‚ฐ์ˆ ์—ฐ์‚ฐ, ๋…ผ๋ฆฌ์—ฐ์‚ฐ, ์‹œํ”„ํŠธ, ๋ณด์ˆ˜ ๋“ฑ์„ ์ˆ˜ํ–‰
  • ํ”ผ์—ฐ์‚ฐ์ž (Operand): ์—ฐ์‚ฐํ•  ๋ฐ์ดํ„ฐ์˜ ์ •๋ณด๋ฅผ ์ €์žฅ. Operrand์˜ ๊ฐฏ์ˆ˜์— ๋”ฐ๋ผ 1์ฃผ์†Œ, 2์ฃผ์†Œ, 3์ฃผ์†Œ ๋ช…๋ น์–ด๋กœ ๋‚˜๋‰œ๋‹ค.

 

๋ช…๋ น์–ด์— ํ”ผ์—ฐ์‚ฐ์ž์˜ ์œ„์น˜๋ฅผ ๋ช…์‹œํ•˜๋Š” ๋ฐฉ๋ฒ•์—๋Š” ์—ฌ๋Ÿฌ๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค.

 

์ฆ‰์‹œ ์ฃผ์†Œ ์ง€์ • ๋ฐฉ์‹(Immediate Addressing Mode)

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

๋ ˆ์ง€์Šคํ„ฐ ์ฃผ์†Œ ์ง€์ • ๋ฐฉ์‹(Register Addressing Mode)

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

์ง์ ‘ ์ฃผ์†Œ ์ง€์ • ๋ฐฉ์‹(Direct Addressing Mode)

์ฃผ์†Œํ•„๋“œ๊ฐ€ ์˜คํผ๋žœ๋“œ์˜ ์‹ค์ œ์ ์ธ ์ฃผ์†Œ๋ฅผ ํฌํ•จํ•˜๊ณ  ์˜คํผ๋žœ๋“œ๊ฐ€ ์ง์ ‘ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ์ฃผ์†Œ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.
์žฅ์ : ๋ช…๋ น์–ด ํ˜•์‹์ด ๊ฐ„๋‹จํ•˜๋‹ค
๋‹จ์ : ์ œํ•œ๋œ ์ฃผ์†Œ ๊ณต๊ฐ„์„ ์ œ๊ณตํ•˜๋ฏ€๋กœ ํšจ์œจ์„ฑ์ด ์—†๋‹ค.

 
๊ณ„์‚ฐ์— ์˜ํ•œ ์ฃผ์†Œ ์ง€์ •

 

  • ๋ ˆ์ง€์Šคํ„ฐ ๊ฐ„์ ‘ ์ฃผ์†Œ ์ง€์ • ๋ฐฉ์‹
  • ์ธ๋ฑ์Šค ์ฃผ์†Œ ์ง€์ • ๋ฐฉ์‹
  • ๋ฒ ์ด์Šค ๋ ˆ์ง€์Šคํ„ฐ ์ฃผ์†Œ ์ง€์ • ๋ฐฉ์‹ ์ถ”๊ฐ€ ์š”๋ง
  • ์ƒ๋Œ€ ์ฃผ์†Œ ์ง€์ • ๋ฐฉ์‹
 
๊ฐ„์ ‘ ์ฃผ์†Œ ์ง€์ • ๋ฐฉ์‹(Indirect Addressing Mode)

๋ช…๋ น์–ด์˜ ์‹คํ–‰

 

๋ช…๋ น์–ด๋Š” ๋ช…๋ น์–ด ์ธ์ถœ -> ๋ช…๋ น์–ด ํ•ด์„ -> ํ”ผ์—ฐ์‚ฐ์ž ์ธ์ถœ -> ๋ช…๋ น์–ด ์‹คํ–‰ -> ๊ฒฐ๊ณผ ์ €์žฅ์˜ ๊ณผ์ •์„ ๊ฑฐ์นœ๋‹ค.

ํ”„๋กœ์„ธ์„œ์˜ ์ œ์–ด์žฅ์น˜๊ฐ€ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜๋ฉฐ ์ด ๊ณผ์ •์„ ๋ช…๋ น์–ด ์ธ์ถœ-ํ•ด์„-์‹คํ–‰์‚ฌ์ดํด์ด๋ผ๊ณ  ํ•œ๋‹ค.

 

๊ฐ ์‚ฌ์ดํด์„ ๋ณด์ž

 

์ธ์ถœ ์‚ฌ์ดํด

๋ฉ”๋ชจ๋ฆฌ๋กœ๋ถ€ํ„ฐ ๋ช…๋ น์–ด๋ฅผ ์ฝ์–ด ๋ ˆ์ง€์Šคํ„ฐ์— ์ €์žฅ -> ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•ด PC๊ฐ’ ์ฆ๊ฐ€

  • 1: PC -> MAR

    PC์— ์ €์žฅ๋œ ์ฃผ์†Œ๋ฅผ ํ”„๋กœ์„ธ์„œ ๋‚ด๋ถ€ ๋ฒ„์Šค๋ฅผ ํ†ตํ•˜์—ฌ MAR์— ์ „๋‹ฌ.

  • 2: Memory^MAR^ -> MBR

    MAR์— ์ €์žฅ๋œ ์ฃผ์†Œ์— ํ•ด๋‹นํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ์œ„์น˜์—์„œ ๋ช…๋ น์–ด๋ฅผ ์ธ์ถœํ•œ ์ˆ˜ MBR์— ์ €์žฅ

  • 3: PC + 1 -> PC

    ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์ธ์ถœํ•˜๊ธฐ ์œ„ํ•ด PC๊ฐ’ ์ฆ๊ฐ€

  • 4: MBR -> IR

    MBR์— ์ €์žฅ๋œ ๋‚ด์šฉ์„ IR์— ์ €์žฅ

 

๊ฐ„์ ‘ ์‚ฌ์ดํด

์œ„์˜ ์ธ์ถœ ์‚ฌ์ดํด 4๋ฒˆ์— ํ•ด๋‹นํ•˜๋Š” MBR -> IR์—์„œ ์ธ์ถœํ•œ ๋ช…๋ น์–ด๋ฅผ ํ•ด๋…ํ•˜๊ณ  ๊ทธ ๊ฒฐ๊ณผ์— ๋”ฐ๋ผ ์ œ์–ด์‹ ํ˜ธ๋ฐœ์ƒ
์ง์ ‘ ์ฃผ์†Œ ์ง€์ • ๋ฐฉ์‹์—์„œ๋Š” ์‹คํ–‰์‚ฌ์ดํด์˜ ๋ช…๋ น์–ด๋ฅผ ์ฆ‰์‹œ ์‹คํ–‰ํ•˜์ง€๋งŒ ๊ฐ„์ ‘ ์ฃผ์†Œ ์ง€์ • ๋ช…๋ น์–ด ์—์„œ๋Š” ๋ช…๋ น์–ด๋ฅผ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์ „์— ์‹ค์ œ ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ๋œ ์œ ํšจ ์ฃผ์†Œ๋ฅผ ํ•œ ๋ฒˆ ๋” ์ฝ์–ด ์˜จ๋‹ค

  • 1: IR^addr^ -> MAR

    IR์— ์ €์žฅ๋œ ๋ช…๋ น์–ด์˜ ์ฃผ์†Œ๋ถ€(ํ”ผ์—ฐ์‚ฐ์ž)๋ฅผ MAR์— ์ „๋‹ฌ.

  • 2: Memory^MAR^ -> MBR

    MAR์— ์ €์žฅ๋œ ์ฃผ์†Œ์— ํ•ด๋‹นํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ์œ„์น˜์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ธ์ถœํ•œ ํ›„ ๋ฐ์ดํ„ฐ๋ฅผ MBR์— ์ €์žฅ, ์ œ์–ด์žฅ์น˜๋Š” ๋ฉ”๋ชจ๋ฆฌ์— ์ œ์–ด์‹ ํ˜ธ ๋ฐœ์ƒ

  • 3: MBR -> IR^addr^

    MBR์— ์ €์žฅ๋œ ๋‚ด์šฉ์„ IR์— ์ „๋‹ฌ.

 

์‹คํ–‰ ์‚ฌ์ดํด

๋ช…๋ น์–ด๋ฅผ ํ•ด๋…ํ•˜๊ณ  ๊ทธ ๊ฒฐ๊ณผ์— ๋”ฐ๋ผ ์ œ์–ด์‹ ํ˜ธ๋ฅผ ๋ฐœ์ƒํ•œ๋‹ค.

 

์ธํ„ฐ๋ŸฝํŠธ ์‚ฌ์ดํด

์ธํ„ฐ๋ŸฝํŠธ๋ž€? ํ”„๋กœ์„ธ์„œ๊ฐ€ ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•˜๋Š” ๋™์•ˆ ์ปดํ“จํ„ฐ ์‹œ์Šคํƒฌ ๋‚ด๋ถ€, ์™ธ๋ถ€์—์„œ ๋ฐœ์ƒํ•˜๋Š” ์˜ˆ๊ธฐ์น˜ ๋ชป ํ•œ ์‚ฌ๊ฑด์„ ์˜๋ฏธํ•œ๋‹ค.

ํ”„๋กœ์„ธ์„œ๋Š” ์‹คํ–‰ ์‚ฌ์ดํด์ด ์™„๋ฃŒ๋œ๋‹ค๋ฉด ์ธํ„ฐ๋ŸฝํŠธ์˜ ์š”๊ตฌ๊ฐ€ ์žˆ๋Š”์ง€ ๊ฒ€์‚ฌํ•˜๊ณ  ์š”๊ตฌ๊ฐ€ ์—†์œผ๋ฉด ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์ธ์ถœํ•˜๋ฉฐ ์š”๊ตฌ๊ฐ€ ์žˆ์œผ๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ณผ์ •์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.

  • 1: PC -> MBR\

    PC์— ์ €์žฅ๋œ ๋‚ด์šฉ์„ MBR์— ์ €์žฅํ•œ๋‹ค.

  • 2: IntRoutine_Address -> PC

    ์ธํ„ฐ๋ŸฝํŠธ ๋ฃจํ‹ด ์ฃผ์†Œ๋ฅผ PC์— ์ €์žฅํ•œ๋‹ค.

  • 3: Save_Address -> MAR

    PC์— ์ €์žฅ๋œ ์ธํ„ฐ๋ŸฝํŠธ ๋ฃจํ‹ด ์ฃผ์†Œ๋ฅผ MAR์— ์ €์žฅ

  • 4: MBR -> Memory^MAR^

    MBR์˜ ์ฃผ์†Œ์— ์žˆ๋Š” ๋‚ด์šฉ์„ ์ง€์‹œ๋œ ๋ฉ”๋ชจ๋ฆฌ ์…€๋กœ ์ด๋™ํ•œ๋‹ค.

 

์ธํ„ฐ๋ŸฝํŠธ ๋ช…๋ น์–ด

์ธํ„ฐ๋ŸฝํŠธ ์‹คํ–‰ ์‚ฌ์ดํด์—์„œ ์ธํ„ฐ๋ŸฝํŠธ ๋ช…๋ น์–ด์˜ ์š”์ฒญ์ด ์žˆ๋Š”์ง€๋ฅผ ํ™•์ธํ•˜๋Š” ๋‹จ๊ณ„์—์„œ ์ธํ„ฐ๋ŸฝํŠธ ๋ช…๋ น์–ด๋ฅผ ํ™•์ธํ•˜๊ณ  ๊ทธ ์ธํ„ฐ๋ŸฝํŠธ ์‚ฌ์ดํด์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.

 

์ธํ„ฐ๋ŸฝํŠธ๋Š” ์‹œ์Šคํ…œ์˜ ์ฒ˜๋ฆฌ ํšจ์œจ์„ ํ–ฅ์ƒ์‹œํ‚ค๋ฉฐ ๋‹ค์ค‘ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•œ๋‹ค.

 

ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ธํ„ฐ๋ŸฝํŠธ๋ฅผ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด์„œ ๊ฐ ์žฅ์น˜๋“ค์˜ ์ƒํƒœ๋ฅผ ํŒŒ์•…ํ•ด์•ผ ํ•˜๋Š”๋ฐ, ์ด ์ƒํƒœ๋ฅผ ๋น„ํŠธ๋กœ ํ‘œํ˜„ํ•˜๊ณ  ํด๋ง(Polling)์œผ๋กœ ๊ฐ ์žฅ์น˜์˜ ์ƒํƒœ ๋น„ํŠธ๋ฅผ ๊ฒ€์‚ฌํ•œ๋‹ค.

 

์ƒํƒœ ๋น„ํŠธ๋ฅผ ๊ฒ€์‚ฌํ•˜๊ณ ๋‚œ ๋’ค ์ž…์ถœ๋ ฅ์žฅ์น˜๊ฐ€ ์ค€๋น„ ์ƒํƒœ๊ฐ€ ๋˜์—ˆ์„ ๋•Œ ํ”„๋กœ์„ธ์„œ์— ์ธํ„ฐ๋ŸฝํŠธ ์‹ ํ˜ธ๋ฅผ ๋ณด๋‚ธ๋‹ค.

 

์ธํ„ฐ๋ŸฝํŠธ ์š”์ฒญ ํšŒ์„ (IRQ: Interrupte ReQeuset line)

์ธํ„ฐ๋ŸฝํŠธ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š”๋ฐ ์“ฐ์ด๋Š” ๋ฒ„์Šค์˜ ์ผ์ข…์œผ๋กœ ์ธํ„ฐ๋ŸฝํŠธ์˜ ์‹ ํ˜ธ๊ฐ€ ์™”๋‹ค๊ฐ”๋‹ค ํ•œ๋‹ค.
IRQ๋Š” ๋‹จ์ผ ํšŒ์„ ๊ณผ ๋‹ค์ค‘ ํšŒ์„ ์œผ๋กœ ๋‚˜๋‰œ๋‹ค.

  • ๋‹จ์ผ ํšŒ์„  : ์ธํ„ฐ๋ŸฝํŠธ ์š”์ฒญ์ด ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ์žฅ์น˜๋ฅผ ๊ณตํ†ต์˜ ๋‹จ์ผ ํšŒ์„ ์œผ๋กœ ํ”„๋กœ์„ธ์„œ์— ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•.

  • ๋‹ค์ค‘ ํšŒ์„  : ๋ชจ๋“  ์žฅ์น˜๋ฅผ ์„œ๋กœ ๋‹ค๋ฅธ ๊ณ ์œ  ํšŒ์„ ์œผ๋กœ ํ”„๋กœ์„ธ์„œ์™€ ์—ฐ๊ฒฐ

 

์ธํ„ฐ๋ŸฝํŠธ ์š”์ฒญ ์‹ ํ˜ธ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ๋Œ€๋ถ€๋ถ„์˜ ์ปดํ“จํ„ฐ๋Š” ์ •๋ณด๋ฅผ ๋‹จ์ผ ๋ช…๋ น์–ด๋กœ ์ €์žฅํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์‹คํ–‰์ค‘์ธ ํ”„๋กœ๊ทธ๋žจ์„ ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅํ•˜๊ณ  ์ธํ„ฐ๋ŸฝํŠธ ์ฒ˜๋ฆฌ ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ๋ถ„๊ธฐํ•œ๋‹ค.

 

๊ทธ๋ฆฌ๊ณ  ์ฒ˜๋ฆฌ๋ฅผ ์™„๋ฃŒํ•˜๋ฉด ์ธํ„ฐ๋ŸฝํŠธ๋ฅผ ๋ฐœ์ƒ์‹œํ‚จ ํ”„๋กœ๊ทธ๋žจ์— ์ œ์–ด๋ฅผ ๋„˜๊ฒจ์ค€๋‹ค.

๋Œ“๊ธ€