๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿš— Major Study (Bachelor)/๐ŸŸฉ Computer Architecture

I/O Device, Synchronous & Asynchronous Bus

by UKHYUN22 2021. 12. 15.
728x90

Advantage of Buses

 


Versatility
์ƒˆ๋กœ์šด ์žฅ์น˜๋ฅผ ๊ผฝ์„ ์ˆ˜ ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๊ทธ๋ž˜ํ”ฝ ์นด๋“œ๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋Š” ์‚ฌ๋ก€๋‚˜ USB๋ฅผ ๋ผ๋Š” ๊ฒƒ๋“ฑ์ด ๋œ๋‹ค.
Bus์— ์ƒˆ๋กญ๊ฒŒ ์—ฐ๊ฒฐ์‹œํ‚ค๋Š” ๊ณผ์ •์ด๋‹ค.
Low Cost
: ์ค‘์š”ํ•œ ์žฅ์ , ๊ฐ€๊ฒฉ์ด ์‹ธ๋‹ค. ๋ฒ„์Šค๋ณด๋‹ค ๋น ๋ฅธ Connection์ด ์žˆ์Œ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  Bus๊ฐ€ ์“ฐ์ด๋Š” ์ด์œ ๋Š” ๊ฐ€๊ฒฉ์ด ์ €๋ ดํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

 

 


Disadvantage of Buses
communication bottlenect
ํ•˜๋‚˜์˜ Processor๊ฐ€ ์‚ฌ์šฉ์ค‘์ด๋ฉด ๋‹ค๋ฅธ ๊ฒƒ๋“ค์ด ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค. 
bandwidth๊ฐ€ ์„ฑ๋Šฅ์„ ์žก์•„๋จน๊ฒŒ ๋œ๋‹ค.
์†๋„๋ฅผ ์ œํ•œํ•˜๋Š” ์š”์†Œ
bus length / Device์˜ ์š”์†Œ์˜ ๊ฐœ์ˆ˜ / ์—ฌ๋Ÿฌ ๊ฐœ์˜ range ๋ฅผ ์ง€์›ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•˜๋Š”๋ฐ ์•„๋ฌด๋ž˜๋„ ๊ฐ€์žฅ ๋Š๋ฆฐ ๊ฒƒ์— ๋งž์ถœ ์ˆ˜ ๋ฐ–์— ์—†๋‹ค.

 


Bus Basic
Bus๋Š” Control LIne ๊ณผ Data Line ์ด ์žˆ๋‹ค.
A์™€ B๊ฐ€ bus๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋Š”๋ฐ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ผ์ธ์œผ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค๋ผ๋Š” ๊ฒƒ.
Address , Data ๊ฐ€ Data line์œผ๋กœ ์ด๋™ํ•œ๋‹ค. ๊ทธ ์ด์™ธ์—๋„ Control line ๋„ ํ•„์š”ํ•˜๋‹ค.
์ด๊ฒƒ์€ Signal requests ์™€ acknowledgement๋ฅผ ๋ณด๋‚ด๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•˜๋‹ค. data line์ด ์–ด๋–ค ๊ฒƒ์— ํ•ด๋‹นํ•˜๋Š” control์ธ์ง€ ์‹ ํ˜ธ๋ฅผ ๋ณด๋‚ด์ค˜์•ผ ํ•œ๋‹ค.
Transaction
ํ•˜๋‚˜์˜ ์ •๋ณด๋ฅผ ๋ณด๋‚ธ๋‹ค๊ณ  ํ•˜๋ฉด ์—ฌ๋Ÿฌ ๊ฐœ์˜ Sequence์™€ Request, Response ๋“ค๋กœ ์ด๋ฃจ์–ด์ ธ์žˆ๋‹ค.
์—ฌ๋Ÿฌ ๊ฐœ์˜ Bus Operation์œผ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค.
์ฃผ์†Œ๋ฅผ ๋ณด๋‚ด๋Š” ํŒŒํŠธ์™€ Data๋ฅผ ๋ฐ›๊ณ  ๋ณด๋‚ด ๋ถ€๋ถ„์œผ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค.

 

 


Synchronous
: clock์ด ํฌํ•จ. acknowledge๊ฐ€ ์—†๋‹ค. ๋น ๋ฅด๋‹ค. Bus์— ์žˆ๋Š” ๋ชจ๋“  device๊ฐ€ ๊ฐ™์€ clock rate๋กœ ์›€์ง์ธ๋‹ค๋ผ๋Š” ์ œ์•ฝ์ด ์žˆ๋‹ค. clock์— ๊ฐ€๊นŒ์šด device์— ๋„์ฐฉํ•˜๋Š” ์‹œ๊ฐ„๊ณผ ๋ฉ€๋ฆฌ์žˆ๋Š” ๊ณณ์— ๋„์ฐฉํ•˜๋Š” ์‹œ๊ฐ„์ด ๋‹ค๋ฅธ๋ฐ ๊ทธ๊ฒƒ์œผ๋กœ๋ถ€ํ„ฐ ์˜ค๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค.
Asynchronous 
: clock์ด ์—†์Œ, ์ข€ ๋” ๋งŽ์€ range์˜ ์žฅ์น˜๋ฅผ ๋‹ฌ ์ˆ˜ ์žˆ๋‹ค. clock skew๋ฅผ ์ƒ๊ฐํ•˜์ง€ ์•Š๊ณ  ๊ธธ์ด๋ฅผ ๋Š˜์ผ ์ˆ˜ ์žˆ๋‹ค.
handshaking์„ ํ•˜๊ธฐ ์œ„ํ•ด์„œ request์™€ acknowledge๊ฐ€ ํ•„์š”ํ•˜๋‹ค.

 


1. IO ์žฅ์น˜๊ฐ€ request๋ฅผ ๋ณด๋‚ด๊ณ 
2. Memory์—์„œ ๋ณด๊ณ  "๋‚˜ ๊ทธ๊ฑฐ ์ธ์‹ํ–ˆ์–ด" acknowledge ๋ฅผ 1๋กœ ๋ฐ”๊ฟ”์ค€๋‹ค
3. IO device๋Š” acknowledge๋ฅผ ์•Œ์•„์ฑ„๊ณ  ๋‹ค์‹œ request๋ฅผ 0์œผ๋กœ ๋ฐ”๊ฟ”์ค€๋‹ค.
4. IO ์žฅ์น˜๊ฐ€ request๋ฅผ ๋ณด๋ƒ„๊ณผ ๋™์‹œ์— ์ด address๋ฅผ ์ฝ์„๋ž˜ ํ•˜๊ณ , ์ฃผ์†Œ๊ฐ’์„ ์œ ์ง€ํ•˜๋ฉฐ Ack ์ด ๋˜์—ˆ์Œ์„ ๋ณด๊ณ address๋ฅผ ๋‚ด๋ฆฐ๋‹ค.
5. request๊ฐ€ 1์—์„œ 0์œผ๋กœ ๋‚ด๋ ค๊ฐ„ ๊ฒƒ์„ ๋ณด๊ณ  acknowledge๋ฅผ ๋‚ด๋ฆฐ๋‹ค. 
6. data๋ฅผ ์˜ฌ๋ฆผ๊ณผ ๋™์‹œ์— Memory๊ฐ€ ์ค€๋น„๋๋‹ค๊ณ  1๋กœ ๋ฐ”๊ฟ”์ฃผ๊ณ  
7. ๋‹ค์‹œ acknowledge๊ฐ€ ์˜ฌ๋ผ๊ฐ€๊ณ  data๋ฅผ ๋ฐ›๊ธฐ ์‹œ์ž‘ํ•œ๋‹ค.
8. IO๊ฐ€ ack ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ผ์ • ์‹œ๊ฐ„ ๋™์•ˆ data๋ฅผ ์œ ์ง€ํ•  ํ•„์š”์—†์ด ๋‚ด๋ฆฌ๊ณ  ack๋„ ๋‚ด๋ฆฐ๋‹ค.