0% found this document useful (0 votes)
71 views12 pages

Rpsxwhu$Ufklwhfwxuhdqg 2Shudwlqj6/Vwhpv: 'Dwdwudqvihuehwzhhqwkhfhqwudo Frpsxwhudqg, 2ghylfh

This document discusses different modes of data transfer between the central processing unit (CPU) and input/output (I/O) devices in a computer system. It describes three main modes: 1) programmed I/O under program control, where the CPU continuously polls the I/O device in a busy-wait loop; 2) interrupt-initiated transfer, where the I/O device triggers an interrupt to the CPU when data is ready to avoid CPU idling; and 3) direct memory access transfer, where the I/O device can access main memory directly without involving the CPU. Interrupt vectors and interrupt service routines are also introduced to facilitate interrupt-initiated transfers.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
71 views12 pages

Rpsxwhu$Ufklwhfwxuhdqg 2Shudwlqj6/Vwhpv: 'Dwdwudqvihuehwzhhqwkhfhqwudo Frpsxwhudqg, 2ghylfh

This document discusses different modes of data transfer between the central processing unit (CPU) and input/output (I/O) devices in a computer system. It describes three main modes: 1) programmed I/O under program control, where the CPU continuously polls the I/O device in a busy-wait loop; 2) interrupt-initiated transfer, where the I/O device triggers an interrupt to the CPU when data is ready to avoid CPU idling; and 3) direct memory access transfer, where the I/O device can access main memory directly without involving the CPU. Interrupt vectors and interrupt service routines are also introduced to facilitate interrupt-initiated transfers.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 12

'DWDWUDQVIHUEHWZHHQWKHFHQWUDO

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

'DWDWUDQVIHUXQGHUSURJUDP Read status register

FRQWURO Check flag bit

=0
Flag

=1

Read data register

Transfer data to m em ory

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

Polling, CPU time wasted

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
VXEURXWLQH RU,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$' ,QWHUUXSWYHFWRU ZLOOFRPELQH
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

DMA Stage 2: DMA Stage 3: CPU controls buses


Data transfer (step 4-7) Return control to CPU again
(step 8-9)

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
ZKLFKGDWDLVDYDLODEOH IRUUHDGLQJ RUGDWDLV
WREHVWRUHG IRUZULWLQJ
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

CYH-07 EIE273 Computer Architecture and Operating Systems 47

You might also like