CS ๐Ÿ’ป/์ปดํ“จํ„ฐ๊ตฌ์กฐ

ARM ์˜ ๊ฐœ์š” RISC ๋จธ์‹  ๊ธฐ๋ฐ˜์ด๋‹ค.( 32๋น„ํŠธ์˜ RISC ์•„ํ‚คํ…์ฒ˜) ๋‹จ์ˆœํ•œ ๋””์ž์ธ, ์ ์€ ๋ช…๋ น์–ด ์„ธํŠธ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ์ „๋ ฅ์„ ์ ๊ฒŒ ์“ฐ๊ณ  ๊ฐ€๊ฒฉ๋„ ์‹ธ๋‹ค. ๋Œ€์šฉ๋Ÿ‰ ๋ฒ”์šฉ ๋ ˆ์ง€์Šคํ„ฐ ํŒŒ์ผ์„ ๊ฐ€์ง„๋‹ค. load/store ์•„ํ‚คํ…์ฒ˜๋‹ค. load/ store ๋ช…๋ น์–ด๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์˜ฎ๊ธฐ๋Š” ๋ช…๋ น์–ด๋‹ค. ๋ ˆ์ง€์Šคํ„ฐ์˜ ๊ฐ’๋งŒ ์ด์šฉํ•˜์—ฌ ํ”„๋กœ์„ธ์‹ฑํ•œ๋‹ค. ๋ช…๋ น์–ด์˜ ๊ธธ์ด๋Š” 32๋น„ํŠธ๋กœ ๊ณ ์ •๋˜์–ด์žˆ๋‹ค. ARM์—์„œ byte๋Š” 8bit, halfword๋Š” 16bit, word๋Š” 32bit์˜ ํฌ๊ธฐ๋ฅผ ๊ฐ€์ง„๋‹ค. ARM์—์„œ ๋ช…๋ น์–ด๋Š” 32๋น„ํŠธ์˜ ARM ๋ช…๋ น์–ด ์„ธํŠธ๋‚˜ 16๋น„ํŠธ์˜ Thumb ๋ช…๋ น์–ด ์„ธํŠธ๋ฅผ ๊ตฌํ˜„ํ•œ๋‹ค. Jazelle ์ฝ”์–ด๋“ค์€ ์ž๋ฐ” ๋ฐ”์ดํŠธ ์ฝ”๋“œ๋ฅผ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค. ARM์—์„œ์˜ ๋ ˆ์ง€์Šคํ„ฐ ์ฝ”์–ด์˜ 37๊ฐœ ๋ ˆ์ง€์Šคํ„ฐ 1๊ฐœ์˜ PC 1๊ฐœ์˜ CPSR(Current ..
์ปดํ“จํ„ฐ์˜ ๊ธฐ๋ณธ ์‚ฌ์ดํด์€ Fetch - Decode - Excute - Write back ์ด๋‹ค. ์˜ˆ์‹œ๋กœ ๋ฉ”๋ชจ๋ฆฌ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์“ฐ๊ฑฐ๋‚˜ ์ฝ์„๋•Œ(Write back ์ž‘์—…) 100 ์‹ธ์ดํด์ด ๊ฑธ๋ฆฌ๊ณ  ๋‚˜๋จธ์ง€ ์ž‘์—…ํ• ๋•Œ 1 ์‹ธ์ดํด์”ฉ ๊ฑธ๋ฆฐ๋‹ค๋ฉด, 10๊ฐœ์˜ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜๋Š”๋ฐ ๊ฑธ๋ฆฌ๋Š” ์ด ์‹ธ์ดํด ์ˆ˜๋Š” 10 * (1+1+1+1000) = 1030 ์‹ธ์ดํด ์ด๋‹ค. ํŒŒ์ดํ”„๋ผ์ธ ๋ชฉ์  ์ฒ˜๋ฆฌ์†๋„ ํ–ฅ์ƒ ๋ฐฉ๋ฒ• ๊ฐ ์‹ธ์ดํด๋งˆ๋‹ค ๊ฐ™์€ ํด๋ฝ์•ˆ์—์„œ ์ž‘๋™ํ•œ๋‹ค. ๊ฐ™์€ ์ž์›(๋ฆฌ์†Œ์Šค)๋ฅผ ๋™์‹œ์— ์‚ฌ์šฉํ•˜์ง€ ์•Š์•„์•ผ ํ•œ๋‹ค. ์ž์›์—๋Š” IM, Reg, DM, ALU๊ฐ€ ์žˆ๋‹ค. ๊ธด ์ ‘๊ทผ์‹œ๊ฐ„์„ ์งง๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. ํŠนํžˆ ๋ฉ”๋ชจ๋ฆฌ์˜ ์ ‘๊ทผ์‹œ๊ฐ„์„ ์งง๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. ์บ์‹œ ๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ์™€ ํ”„๋กœ์„ธ์„œ ์‚ฌ์ด์˜ ์ž‘์€ ๊ณ ์† ๋ฉ”๋ชจ๋ฆฌ ์žฅ์น˜๋‹ค. ํ”„๋กœ์„ธ์„œ์˜ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚จ๋‹ค. ํ•œ๋ฒˆ ์‚ฌ์šฉ๋œ ์ฝ”๋“œ๋Š” ์žฌ..
I/O๊ธฐ์ˆ  I/O ๊ธฐ์ˆ (์ž…์ถœ๋ ฅ ๋ฐฉ๋ฒ•)์€ Programmed I/O, Interrupt I/O, DMA(Direct Memory Access)๋กœ ๋‚˜๋‰  ์ˆ˜ ์žˆ๋‹ค. Programmed I/O ํ”„๋กœ์„ธ์„œ๊ฐ€ I/O๋™์ž‘์„ ์œ„ํ•œ ์ œ์–ด ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•œ๋‹ค. ํ”„๋กœ๊ทธ๋žจ์ด I/O์žฅ์น˜ ์ƒํƒœ๋ฅผ ์ œ์–ด์‹ ํ˜ธ๋กœ ์ฒดํฌํ•œ๋‹ค. I/O๊ฐ€ ์ค€๋น„๋˜๋ฉด I/O๋ฅผ ์ˆ˜ํ–‰ํ•œ๋‹ค. ์ด๋•Œ ์ค€๋น„์™€ ์ˆ˜ํ–‰์€ ์ œ์–ด์‹ ํ˜ธ๋กœ ์ฒดํฌํ•œ๋‹ค. (๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๋Š” ์ž‘์—…, ์“ฐ๋Š” ์ž‘์—…์„ ํ• ๋•Œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค๊ณ  ๋‚ด๋ณด๋‚ด๋Š”๊ฑด ์ œ์–ด์‹ ํ˜ธ๊ฐ€ ํ•„์š”ํ•˜๋‹ค.) ํ”„๋กœ์„ธ์„œ๊ฐ€ I/O๋ณด๋‹ค ์†๋„๊ฐ€ ๋น ๋ฅด๊ธฐ๋•Œ๋ฌธ์— ํ”„๋กœ์„ธ์„œ์˜ ์‹œ๊ฐ„๋‚ญ๋น„๋กœ ์ด์–ด์งˆ ์ˆ˜ ์žˆ๋‹ค. Interrupt I/O I/O์žฅ์น˜๊ฐ€ ์ค€๋น„๋˜๋ฉด ํ”„๋กœ์„ธ์„œ์—๊ฒŒ interrupt ์‹ ํ˜ธ๋ฅผ ์ค˜์„œ ์•Œ๋ฆฐ๋‹ค.(์ œ์–ด์‹ ํ˜ธ ์ฒดํฌ) ํ”„๋กœ์„ธ์„œ๋Š” ์ˆ˜ํ–‰ํ•˜๊ณ ์žˆ๋˜ ์ž‘์—…์„ ์ค‘๋‹จํ•˜๊ณ  I/O๋ฅผ ์‹คํ–‰ํ•œ..
๋•ก๋•ก๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป
'CS ๐Ÿ’ป/์ปดํ“จํ„ฐ๊ตฌ์กฐ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก