์ปดํ“จํ„ฐ ๊ตฌ์กฐ - ์ธํ„ฐ๋ŸฝํŠธ ์‚ฌ์ดํด

2020. 9. 9. 19:21ใ†์ „๊ณต ๊ณผ๋ชฉ/์ปดํ“จํ„ฐ ๊ตฌ์กฐ

์ปดํ“จํ„ฐ ๊ตฌ์กฐ - ์ธํ„ฐ๋ŸฝํŠธ ์‚ฌ์ดํด

 

 

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

ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ์ค‘ CPU์˜ ํ˜„์žฌ ์ฒ˜๋ฆฌ ์ˆœ์„œ๋ฅผ ์ค‘๋‹จ ์‹œํ‚ค๊ณ  ๋‹ค๋ฅธ ๋™์ž‘์„ ์ˆ˜ํ–‰ํ•˜๋„๋ก ํ•˜๋Š” ์‚ฌ์ดํด

 

 

์ธํ„ฐ๋ŸฝํŠธ ์„œ๋น„์Šค ๋ฃจํ‹ด(Interrupt Service Routine : ISR) 

์ธํ„ฐ๋ŸฝํŠธ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ์ˆ˜ํ–‰๋˜๋Š” ํ”„๋กœ๊ทธ๋žจ ๋ฃจํ‹ด

 

 

CPU์—๋Š” ์ธ์ถœ์‚ฌ์ดํด๊ณผ ์‹คํ–‰์‚ฌ์ดํด์ด ์กด์žฌํ•œ๋‹ค๊ณ  ํ–ˆ๋‹ค. ํ•˜์ง€๋งŒ ๊ทธ ์™ธ์— ์ธํ„ฐ๋ŸฝํŠธ ์‚ฌ์ดํด์ด๋ผ๋Š” ๊ฒƒ๋„ ์กด์žฌํ•œ๋‹ค.

์ด๋Š” ์ธํ„ฐ๋ŸฝํŠธ(๋ฐฉํ•ดํ•˜๋‹ค) ๋ง ๊ทธ๋Œ€๋กœ ํ˜„์žฌ์˜ ์ˆœ์„œ๋ฅผ ๋ฐฉํ•ดํ•˜๊ณ  ๋‹ค๋ฅธ ์‚ฌ์ดํด์„ ๊ฐ€์ ธ์˜ค๋Š” ๊ฒƒ์ด๋‹ค.

 

 

์ธํ„ฐ๋ŸฝํŠธ๊ฐ€ ๋“ค์–ด์™”์„ ๋•Œ CPU๋Š” ์–ด๋–ค ์žฅ์น˜๊ฐ€ ์ธํ„ฐ๋ŸฝํŠธ๋ฅผ ์š”๊ตฌํ–ˆ๋Š”์ง€ ํ™•์ธํ•˜๊ณ , ํ•ด๋‹นํ•˜๋Š” ISR์„ ํ˜ธ์ถœํ•œ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ๊ทธ ์‚ฌ์ดํด์ด ์ข…๋ฃŒ๋˜๋ฉด ์›๋ž˜ ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ๋Œ์•„์™€ ์ˆ˜ํ–‰์ด ๊ณ„์†๋œ๋‹ค.'

 

 

์„ธ๋ถ€์ ์ธ ์ ˆ์ฐจ๋Š” ์ด๋ ‡๋‹ค.

 

t0 : MBR <-PC

t1 : MAR <- SP, PC <- ISR์˜ ์‹œ์ž‘์ฃผ์†Œ

t2 : M[MAR] <- MBR

 

์ •๋ฆฌํ•˜๋ฉด ์ด๋ ‡๋‹ค.

 

๋จผ์ € i๋ฒˆ์งธ์— ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜๋‹ˆ ์ธํ„ฐ๋ŸฝํŠธ๊ฐ€ ๋“ค์–ด์˜ค๊ณ , CPU์˜ PC์— ๋‹ด๊ธด ๋ช…๋ น์–ด๋ฅผ MBR์— ์ €์žฅํ•œ๋‹ค. ๊ทธ ํ›„ ์Šคํƒ์˜ ์ฃผ์†Œ๋ฅผ MAR์ด ์ฐธ์กฐํ•˜๋„๋ก ํ•œ๋‹ค. ์ด์™€ ๋™์‹œ์— PC์— ISR์˜ ์‹œ์ž‘์ฃผ์†Œ๋ฅผ ๋„ฃ๋Š”๋‹ค(์‹œ์ž‘์ฃผ์†Œ๋ฅผ ๋„ฃ์–ด์•ผ ์ธํ„ฐ๋ŸฝํŠธ ์„œ๋น„์Šค ๋ฃจํ‹ด์ด ์ฒ˜์Œ๋ถ€ํ„ฐ ๋๊นŒ์ง€ ์‹คํ–‰๋˜๊ธฐ ๋•Œ๋ฌธ). ๋งˆ์ง€๋ง‰์œผ๋กœ MBR์— ์ €์žฅ๋˜์–ด์žˆ๋˜ ์›๋ž˜ PC๊ฐ’์„ MAR์ด ์ฐธ์กฐํ•˜๋Š” ๊ณณ(์Šคํƒ)์— ์ €์žฅ์‹œํ‚จ๋‹ค. ์ธํ„ฐ๋ŸฝํŠธ๊ฐ€ ์ข…๋ฃŒ๊ฐ€ ๋œ ํ›„์—๋Š” ์Šคํƒ์—์„œ popํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•ด ๋‹ค์‹œ PC์— ๋„ฃ์œผ๋ฉด ๋œ๋‹ค.(STACK, POP์€ ์ž๋ฃŒ๊ตฌ์กฐ ์šฉ์–ด)