Professional Documents
Culture Documents
Thiet Bi Ngoai Vi & Ghep NoiCh03
Thiet Bi Ngoai Vi & Ghep NoiCh03
• Polling - Th¨m dß
• Interrupt - ng¾t &
• DMA - truy nhËp
trùc tiÕp mem - IO
Device #2 Y Device #2
Request ? Service Routine
Device #n Y Device #n
Request ? Service Routine
Quit
• Kh¸i niÖm,
• Ph©n lo¹i vµ
• ‘Case studies’
a. Software Interrupt:
• Là việc gọi 1 ctc (Subroutine) được xây dựng riêng mà ctc
này còn có thể được gọi bởi thiết bị ngoại vi.
• Các lệnh gọi như INT n; (Intel x86) hay SWI n; (Moto).
• Tuy nhiên, việc thực hiện lệnh ngắt mềm giống như gọi
thủ tục, và đôi khi được hiểu là TRAP,
• Ngắt mềm không phải là ngắt
b. Z80 system:
• Z80-CPU, 3 modes ng¾t: C¸c
lÖnh ReStart (nh− Intel 8085),
NMI vµ Daisy Chain. KiÓu Daisy
Chain:
• GhÐp nèi víi c¸c Z80-Ports:
Z80-PIO, Z80-SIO, Z80-CTC...
• IRQs tõ c¸c ports lµ Open Drain,
• Khi CPU: M1 & IO Request =>
INTA ®Õn port1,
• NÕu Port1 Resq, sÏ ph¸t m∙
‘Addr’ lªn data bus, nÕu kh«ng
• ChuyÓn INTA ®Õn Port 2...
• ¦u tiªn cè ®Þnh/ jumper.
Software Interrupt:
lÖnh Int n, n=0..FFh, n - vector type
M« t¶ lÖnh:
Tr−íc khi thùc hiÖn lÖnh, ph¶i cã chtr khëi t¹o ng¾t
(Intr house-keeping): ®Þnh vÞ ISR vµ ®æi vector ng¾t,
Khi gÆp lÖnh Int n, CPU sÏ cÊt 6 byte Flag Reg, CS vµ
IP vµo Stack mem,
(n x 4) lµ ®Þa chØ IVT, ®äc 4 byte n¹p vµo IP vµ CS
t−¬ng øng => ISR b¾t ®Çu ®−îc thùc hiÖn.
Khi gÆp lÖnh IRET, CPU kh«i phôc l¹i tõ Stack Mem IP,
CS vµ Flag Reg (LIFO!).
P&I Ch3: Methodes 16
3.2. Interrupt: 3.2.3. Case study: x86 & pc, Hardware Int
CLI
STI
LIDT EA ; Load IDT từ Effct Addr
SIDT EA
INT n
IRET
INT O ; ( INT 4)
HLT ; Wait for Ext IRQ or Reset
WAIT ; Wait for -Busy => inactive
IOR