Rpsxwhu$Ufklwhfwxuhdqg 2Shudwlqj6/Vwhpv: 'Dwdwudqvihuehwzhhqwkhfhqwudo Frpsxwhudqg, 2ghylfh
Rpsxwhu$Ufklwhfwxuhdqg 2Shudwlqj6/Vwhpv: 'Dwdwudqvihuehwzhhqwkhfhqwudo Frpsxwhudqg, 2ghylfh
FRPSXWHUDQG,2GHYLFH
&RPSXWHU$UFKLWHFWXUHDQG
2SHUDWLQJ6\VWHPV
Lecture 07
CYH-07 EIE273 Computer Architecture and Operating Systems 1 CYH-07 EIE273 Computer Architecture and Operating Systems 2
8OWLPDWHVRXUFHDQG
GHVWLQDWLRQ 0RGHRIWUDQVIHU
&38KROGWKHGDWDWHPSRUDULO\WKH 'DWDWUDQVIHUXQGHUSURJUDPFRQWURO
XOWLPDWHVRXUFHRUGHVWLQDWLRQLVWKH ,QWHUUXSWLQLWLDWHGGDWDWUDQVIHU
PDLQPHPRU\ 'LUHFWPHPRU\DFFHVVWUDQVIHU
'DWDWUDQVIHUEHWZHHQWKHFHQWUDO
7UDQVIHUWKURXJKDQ,2SURFHVVRU
FRPSXWHUDQG,2GHYLFHVPD\EH 1RWGLVFXVVHGLQWKLVOHFWXUH
KDQGOHGLQDYDULHW\RIPRGHV
CYH-07 EIE273 Computer Architecture and Operating Systems 3 CYH-07 EIE273 Computer Architecture and Operating Systems 4
'DWDWUDQVIHUXQGHUSURJUDP
FRQWURO
&38VWD\VLQDSURJUDPORRSFDOOHGD
EXV\ZDLWORRSXQWLOWKH,2XQLW
3URJUDPPHG,2 LQGLFDWHVWKDWLWLVUHDG\IRUGDWD
WUDQVIHUWKLVPHWKRGDOVRFDOOHG3ROOLQJ
7KLVLVDWLPHFRQVXPLQJSURFHVVVLQFH
LWNHHSVWKHSURFHVVRUEXV\QHHGOHVVO\
CYH-07 EIE273 Computer Architecture and Operating Systems 5 CYH-07 EIE273 Computer Architecture and Operating Systems 6
=0
Flag
=1
O peration
No
com plete?
Yes
Flow chart for
Data Transfer from I/O Device to CPU CPU Program to Input Data Continute
program
CYH-07 EIE273 Computer Architecture and Operating Systems 7 CYH-07 EIE273 Computer Architecture and Operating Systems 8
,QWHUUXSW,2
time
I/O operation
CYH-07 EIE273 Computer Architecture and Operating Systems 9 CYH-07 EIE273 Computer Architecture and Operating Systems 10
,QWHUUXSW,QLWLDWHG7UDQVIHU ,QWHUUXSW,QLWLDWHG7UDQVIHU
7KHWLPHFRQVXPLQJORRSLQ3ROOLQJFDQ :KLOHWKH&38UXQQLQJDSURJUDPLW
EHDYRLGHGE\XVLQJLQWHUUXSW GRHVQRWFKHFNWKHIODJ:KHQWKHIODJ
WHFKQLTXH LQWKHLQWHUIDFHLVVHWWKHLQWHUIDFHZLOO
+RZHYHU,QWHUUXSWIDFLOLW\DQGVSHFLDO LQLWLDWHDQLQWHUUXSWDQGWKH&38ZLOO
FRPPDQGVDUHUHTXLUHG GURSVZKDWLWLVGRLQJDQGGRWKH,2
7KHLQWHUIDFHZLOOLQIRUPWKHFRPSXWHU WUDQVIHU8QWLOWKH,2WUDQVIHULVGRQH
ZKHQWKH,2GHYLFHLVUHDG\WRWUDQVIHU LWUHWXUQVWRZKDWLWZDVGRLQJ
GDWDLQVWHDG&38NHHSDVNLQJ
CYH-07 EIE273 Computer Architecture and Operating Systems 11 CYH-07 EIE273 Computer Architecture and Operating Systems 12
,QWHUUXSWYHFWRUDQG,QWHUUXSW
,QWHUUXSW,QLWLDWHG7UDQVIHU URXWLQH
,QRUGHUWRDFKLHYH,QWHUUXSWVHUYLFH ,QWHUUXSWYHFWRUVSHFLILHVWKHVWDUWLQJ
,QWHUUXSWYHFWRUDQG,QWHUUXSW DGGUHVVRIWKH,QWHUUXSWVHUYLFHURXWLQH
VXEURXWLQHRU,QWHUUXSWVHUYLFHURXWLQH ,QWHUUXSWVHUYLFHURXWLQHLVWKHSURJUDP
DUHUHTXLUHG RUURXWLQHMREWKDW&38ZLOOGRDIWHU
EHLQJLQWHUUXSWHG
CYH-07 EIE273 Computer Architecture and Operating Systems 13 CYH-07 EIE273 Computer Architecture and Operating Systems 14
6WHSVRI,QWHUUXSW,QLWLDWHG
7UDQVIHU 5HDO([DPSOHLQUHDOPRGH
,2GHYLFHLQLWLDWHVLQWHUUXSWWR&38 ,2GHYLFH
± LQLWLDWHVLQWHUUXSWWR&38
&38VDYHVLWVFXUUHQWMREDQGUHWXUQLQWHUUXSW
DFNQRZOHGJHWRWKH,2GHYLFH &38
± FRPSOHWHVH[HFXWLQJWKHFXUUHQWLQVWUXFWLRQ
,2GHYLFHSODFHVWKH,QWHUUXSWYHFWRULQWKHGDWD
± 6ROYHVWKHSULRULW\RIWKHLQWHUUXSW
EXVOHW&38WRJHWLW
± SXVKWKHFRQWHQWVRIWKHIODJUHJLVWHURQWRVWDFN
&38UXQVWKHLQWHUUXSWVHUYLFHURXWLQHDFFRUGLQJWR
± FOHDU,) 7)WRGLVDEOHWKH,175SLQDQGWKHWUDSIHDWXUH
WKH,QWHUUXSWYHFWRU
± SXVKWKHFRQWHQWVRI&6DQG,3RQWRWKHVWDFN
,IWKH,2WUDQVIHUILQLVKHG&38UHWXUQVIURPWKH ± UHWXUQLQWHUUXSWDFNQRZOHGJHWRWKH,2GHYLFH
LQWHUUXSWURXWLQHDQGFRQWLQXHVWKHMREVWKDWLWZDV
GRLQJ
CYH-07 EIE273 Computer Architecture and Operating Systems 15 CYH-07 EIE273 Computer Architecture and Operating Systems 16
([DPSOH
LQWHUUXSW
5HDO([DPSOH&RQW
,2GHYLFH
± SODFHVWKH,QWHUUXSWYHFWRULQWKHGDWDEXV
&38
± IHWFKHVWKH,QWHUUXSWYHFWRUDQG
± GHWHUPLQHWKHVWDUWLQJDGGUHVVRIWKHLQWHUUXSWVHUYLFH
URXWLQH XSGDWHV&6 ,3DFFRUGLQJO\
± UXQVWKHLQWHUUXSWVHUYLFHURXWLQH
± SRSRULJLQDO,3 RULJLQDO&6IURPWKHVWDFN
± SRSRULJLQDOFRQWHQWVRIWKHIODJUHJLVWHUIURPWKHVWDFN
± UHVXPHVWKHMREWKDWLWZDVGRLQJ
CYH-07 EIE273 Computer Architecture and Operating Systems 17 CYH-07 EIE273 Computer Architecture and Operating Systems 18
CYH-07 EIE273 Computer Architecture and Operating Systems 19 CYH-07 EIE273 Computer Architecture and Operating Systems 20
+DYHWRVHUYH"
:KHQWKH&38LVGRLQJVRPHWKLQJYHU\
VHULRXVLWFDQLJQRUHLQWHUUXSWUHTXHVWV
IURPVRPHGHYLFHVE\PDVNLQJWKHP
6RPHHYHQWVVXFKDVKDUGZDUHUHVHW
DUHVRFULWLFDOWKDWWKHLULQWHUUXSW
UHTXHVWDUHQRQPDVNDEOH
0DVNDEOHDQGQRQPDVNDEOHLQWHUUXSW
UHTXHVWVDUHKDQGOHGGLIIHUHQWO\
CYH-07 EIE273 Computer Architecture and Operating Systems 21 CYH-07 EIE273 Computer Architecture and Operating Systems 22
3ULRULW\,QWHUUXSW 'DLV\&KDLQ3ULRULW\
,QUHDOV\VWHPWKHUHDUHQXPEHURI
GHYLFHVDWWDFKHGWRWKH&38VRVHUYH
ZKLFKRQHILUVWLIWKHUHDUHUHTXHVWVDW
WKHVDPHWLPH"
:HXVH3ULRULW\WRVROYHWKHSUREOHP
'DLV\&KDLQ3ULRULW\
3DUDOOHO3ULRULW\
2WKHUV
CYH-07 EIE273 Computer Architecture and Operating Systems 23 CYH-07 EIE273 Computer Architecture and Operating Systems 24
'DLV\&KDLQ3ULRULW\
INT vec No.
(VAD)
C haracteristic Table of the C C 6LQFH,QWHUUXSW,QLWLDWHG7UDQVIHU
8
EN
Latch PI IR Q EN PO UHTXLUHV,QWHUUXSWYHFWRUDQGLQWHUUXSW
0
0
0
1
0
0
0 (N o to ke n )
0 (N o to ke n )
YHFWRULVLQLWLDWHGE\,2GHYLFHVDIWHU
ACK
D evice 1 0 0 1 (N o re qu e st) LQWHUUXSWDFNQRZOHGJHPHQW
1 1 1 0 (re qu e st + to ke n )
IRQ 'DLV\&KDLQ3ULRULW\PDGHXVHRI
,QWHUUXSWDFNQRZOHGJHPHQWDQG
PI C ontrol circuit PO
,QWHUUXSWYHFWRUWRFUHDWHSULRULW\
CYH-07 EIE273 Computer Architecture and Operating Systems 25 CYH-07 EIE273 Computer Architecture and Operating Systems 26
3DUDOOHO3ULRULW\ 3DUDOOHO3ULRULW\
input output
3ULRULW\LVHVWDEOLVKHGDFFRUGLQJWRWKH
D3 D2 D1 D0 A0 A1 V
1 x x x 0 0 1
0 1 x x 0 1 1
SRVLWLRQRIWKHELWVLQWKHUHJLVWHU
0 0 1 x 1 0 1
0 0 0 1 1 1 1
0 0 0 0 x x 0
0DVNUHJLVWHUFRQWUROVWKHVWDWXVRI
HDFKLQWHUUXSWUHTXHVW
CYH-07 EIE273 Computer Architecture and Operating Systems 27 CYH-07 EIE273 Computer Architecture and Operating Systems 28
3DUDOOHO3ULRULW\
7KH9$',QWHUUXSWYHFWRUZLOOFRPELQH
ZLWKWKHSUHIL[DGGUHVVLQWKLVFDVHLV
ELQDU\6RILQDOO\ZHPD\KDYH 'LUHFW0HPRU\$FFHVV
YHFWRUDGGUHVVOLNH
«:KLFKDUHLQGHFLPDO
CYH-07 EIE273 Computer Architecture and Operating Systems 29 CYH-07 EIE273 Computer Architecture and Operating Systems 30
'LUHFW0HPRU\$FFHVV
,QRUGLQDU\DSSURDFKRIGDWDWUDQVIHU
EHWZHHQ,2GHYLFHVDQGPHPRU\WKH 7KHPLFURSURFHVVRU¶VFRQWUROWRWKH
GDWDPXVWSDVVWKURXJK&38 EXVHVLVWHPSRUDULO\GLVDEOHGGXULQJ
7KLVGRHVQRWPDNHVHQVH '0$
'0$OHWWKH,2GHYLFHVPDQDJHWKH 7KHWUDQVIHUXQLWLVXVXDOO\LQEORFN
PHPRU\EXVHVDQGGLUHFWO\WUDQVIHU
GDWDIURPRUWRPHPRU\
CYH-07 EIE273 Computer Architecture and Operating Systems 31 CYH-07 EIE273 Computer Architecture and Operating Systems 32
+RZLWZRUNV
$'0$FRQWUROOHUWHPSRUDULO\ERUURZV 7ZRFRQWUROVLJQDOVDUHXVHGWRUHTXHVW
WKHDGGUHVVEXVGDWDEXVDQGFRQWURO DQGDFNQRZOHGJHD'0$WUDQVIHULQWKH
EXVIURPWKHPLFURSURFHVVRUDQG PLFURSURFHVVRUEDVHGV\VWHP
WUDQVIHUVWKHGDWDE\WHVGLUHFWO\ ,QV\VWHP+2/' +/'$DUH
EHWZHHQDQ,2SRUWDQGDVHULHVRI XVHGIRUWKHVHSXUSRVHV
PHPRU\ORFDWLRQV
CYH-07 EIE273 Computer Architecture and Operating Systems 33 CYH-07 EIE273 Computer Architecture and Operating Systems 34
+RZ'0$ZRUNV
7KH+2/'VLJQDOLVDEXVUHTXHVWVLJQDO
ZKLFKDVNVWKH&38WRUHOHDVHFRQWURORI
WKHEXVHVDIWHUWKHFXUUHQWEXVF\FOH
7KH+/'$VLJQDOLVDEXVJUDQWVLJQDO
ZKLFKLQGLFDWHVWKDWWKH&38KDVLQGHHG
UHOHDVHGFRQWURORILWVEXVHVE\SODFLQJ
WKHEXVHVDWWKHLUKLJKLPSHGDQFH
VWDWHV When DMA operates
CYH-07 EIE273 Computer Architecture and Operating Systems 35 CYH-07 EIE273 Computer Architecture and Operating Systems 36
([DPSOHPHPRU\WRGHYLFHWUDQVIHU
DMA Stage 1:
Gain control from CPU
CYH-07 EIE273 Computer Architecture and Operating Systems 37 CYH-07 EIE273 Computer Architecture and Operating Systems 38
CYH-07 EIE273 Computer Architecture and Operating Systems 39 CYH-07 EIE273 Computer Architecture and Operating Systems 40
'0$&RQWUROOHULQLWLDOL]HGE\
'0$&RQWUROOHU &38
7KHVWDUWLQJDGGUHVVRIWKHPHPRU\EORFNLQ
ZKLFKGDWDLVDYDLODEOHIRUUHDGLQJRUGDWDLV
WREHVWRUHGIRUZULWLQJ
7KHZRUGFRXQWZKLFKLVWKHQXPEHURI
ZRUGVLQWKHPHPRU\EORFN
$FRQWUROELWWRVSHFLI\WKHPRGHRIWUDQVIHU
VXFKDVUHDGRUZULWH
$FRQWUROELWWRVWDUWWKH'0$WUDQVIHU
CYH-07 EIE273 Computer Architecture and Operating Systems 41 CYH-07 EIE273 Computer Architecture and Operating Systems 42
/HDUQPRUH :KDW\RX¶UHH[SHFWHGWRNQRZ
/RJLFDQG&RPSXWHU'HVLJQ)XQGDPHQWDOV 7KHPRGHVRIGDWDWUDQVIHU
&KDSWHU 3URJUDPPHG,2
$3URJUDPPDEOH,QWHUUXSW&RQWUROOHU ± :KDW¶VLW"
'DWDVKHHW
KWWSVXSSRUWLQWHOFRPVXSSRUWFRQWUROOHUVSHULSKHUDO ± +RZLWZRUNV"
KWP ± $GYDQWDJHVGLVDGYDQWDJHV
± %DVLFVWUXFWXUHRIDSROOLQJSURJUDP
CYH-07 EIE273 Computer Architecture and Operating Systems 43 CYH-07 EIE273 Computer Architecture and Operating Systems 44
:KDW\RX¶UHH[SHFWHGWRNQRZ :KDW\RX¶UHH[SHFWHGWRNQRZ
,QWHUUXSW ,QWHUUXSW&RQW
± :KDW¶VLW" ± +RZWRPDVNDQLQWHUUXSW"
± +RZLWZRUNV" ± +RZWRKDQGOHWKHSULRULW\RIFRPLQJ
± $GYDQWDJHVDJDLQVWQRQLQWHUUXSW,2 LQWHUUXSWUHTXHVWVZLWKSROOLQJGDLV\FKDLQ
± 'LVDGYDQWDJHVDJDLQVWQRQLQWHUUXSW,2
DQGWKHSDUDOOHOSULRULW\DSSURDFK"
± 3URFHGXUHV
± :KDW¶VDQLQWHUUXSWYHFWRU"
± :KDW¶VDQLQWHUUXSWURXWLQH"
CYH-07 EIE273 Computer Architecture and Operating Systems 45 CYH-07 EIE273 Computer Architecture and Operating Systems 46
:KDW\RX¶UHH[SHFWHGWRNQRZ
'0$
± :KDW¶VLW"
± +RZLWZRUNV"
± $GYDQWDJHVDJDLQVWRUGLQDU\,2DSSURDFK
± :K\EORFNWUDQVIHULVXVXDOO\XVHG"
± 3URFHGXUHV
± ,QLWLDOL]DWLRQRI'0$FRQWUROOHU