728x90
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๋ฅผ ์คํํ๋ค.
DMA(Direct Memory Access)
- I/O๊ฐ ํ๋ก์ธ์์ ๊ฐ์ญ์์ด ์ง์ ๋ฉ๋ชจ๋ฆฌ๋ก ์ ์ถ๋ ฅ ํ ์ ์๋ค.
- DMA์ ์ด๊ธฐ๊ฐ ํ๋ก์ธ์์ ํต์ ํ๊ณ I/O๋ฅผ ์ํํ๋๋ก ํ๋ค.
I/O ๋ฐ์ดํฐ์ ์์ง์
ํ์ดํ๋ฅผ ์ฃผ์ํด์ ๋ณด์!
ํ๋ก์ธ์
- ์ ๋ ฅ : input ์ฅ์น ↔ ํ๋ก์ธ์ ๋ ์ง์คํฐ ↔ ๋ฉ๋ชจ๋ฆฌ
- ์ถ๋ ฅ : ๋ฉ๋ชจ๋ฆฌ → ํ๋ก์ธ์ ๋ ์ง์คํฐ → output ์ฅ์น
DMA
- ์ ๋ ฅ : input ์ฅ์น → ๋ฐ์ดํฐ๋ฒ์ค → ๋ฉ๋ชจ๋ฆฌ
- ์ถ๋ ฅ : ๋ฉ๋ชจ๋ฆฌ → ๋ฐ์ดํฐ๋ฒ์ค → output ์ฅ์น
I/O Device Addressing
I/O์ฅ์น๋ ์ฃผ์๋ฅผ ๊ฐ์ง๊ณ ์ ๊ทผํ๋ค.
addressing๋ฐฉ๋ฒ์ I/O mapped I/O์ Memory mapped I/O ๋๊ฐ์ง๋ก ๋๋ ์ ์๋ค.
I/O mapped I/O
- I/O๋ฅผ ์ํ ๋ณ๋์ I/O์ฃผ์๋ฅผ ๊ฐ์ง๋ค.
- I/O์ฃผ์๋ 000-FFF ์ด๋ค.
- ์ ์ถ๋ ฅ ๋ช ๋ น์ด๋ฅผ ๋ณ๋๋ก ๊ฐ์ง๋ค.
- Intel 8086/88์ด I/O mapped I/O ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ค.
Memory mapped I/O
- ๋ฉ๋ชจ๋ฆฌ์ ์ฃผ์๊ณต๊ฐ ์ผ๋ถ๋ฅผ ์ฌ์ฉํ๋ค.
- ์ผ๋ฐ์ ์ผ๋ก ์์ ์ฃผ์ ๊ณต๊ฐ์ด๋ค.
- 'MOVE' ๋ช ๋ น์ด๋ก ์ ์ถ๋ ฅ ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ๋ค.
- AMR ํ๋ก์ธ์๊ฐ Memory mapped I/O ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ค.
728x90
'CS ๐ป > ์ปดํจํฐ๊ตฌ์กฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ARM ์ํคํ ์ฒ (1) (2) | 2024.03.18 |
---|---|
ํ์ดํ๋ผ์ธ (2) | 2024.03.17 |