Thư viện tri thức trực tuyến
Kho tài liệu với 50,000+ tài liệu học thuật
© 2023 Siêu thị PDF - Kho tài liệu học thuật hàng đầu Việt Nam

Vi xử lý máy vi tính - Chương 7 docx
Nội dung xem thử
Mô tả chi tiết
CHÆÅNG 7
NGÀÕT VAÌ XÆÍ LYÏ NGÀÕT TRONG HÃÛ 8088
1. Sæû cáön thiãút phaíi ngàõt CPU
Trong caïch täø chæïc trao âäøi dæî liãûu thäng qua viãûc thàm doì traûng thaïi sàôn saìng
cuía thiãút bë ngoaûi vi nhæ âaî âæåüc trçnh baìy åí chæång træåïc, træåïc khi tiãún haình báút kyì
mäüt cuäüc trao âäøi dæî liãûu naìo CPU phaíi âãø toaìn bäü thåìi gian vaìo viãûc xaïc âënh traûng
thaïi sàôn saìng laìm viãûc cuía thiãút bë ngoaûi vi. Trong hãû thäúng vi xæí lyï våïi caïch laìm viãûc
nhæ váûy, thäng thæåìng CPU âæåüc thiãút kãú chuí yãúu chè laì âãø phuûc vuû cho viãûc vaìo/ra dæî
liãûu vaì thæûc hiãûn caïc xæí lyï liãn quan.
Trong thæûc tãú ngæåìi ta ráút muäún táûn duûng khaí nàng cuía CPU âãø laìm thãm âæåüc
nhiãöu cäng viãûc khaïc næîa, chè khi naìo coï yãu cáöu trao âäøi dæî liãûu thç måïi yãu cáöi CPU
taûm dæìng cäng viãûc hiãûn taûi âãø phuûc vuû viãûc trao âäøi dæî liãûu. Sau khi hoaìn thaình viãûc
trao âäøi dæîliãûu thç CPU laûi phaíi quay vãö âãø laìm tiãúp cäng viãûc hiãûn âang bë giaïn âoaûn.
Caïch laìm viãûc theo kiãøu naìy goüi laì ngàõt CPU (giaïn âoaûn hoaût âäüng cuía CPU) âãø trao
âäøi dæî liãûu. Mäüt hãû thäúng våïi caïch hoaût âäüng theo kiãøu naìy coï thãø âaïp æïng ráút nhanh
våïi caïc yãu cáöu trao âäøi dæî liãûu trong khi váùn coï thãø laìm âæåüc caïc cäng viãûc khaïc.
Muäún âaût âæåüc âiãöu naìy ta phaíi coï caïch täø chæïc hãû thäúng ao cho coï thãø táûn duûng âæåüc
khaí nàng thæûc hiãûn caïc chæång trçnh phuûc vuû ngàõt taûi caïc âëa chè xaïc âënh cuía CPU.
Khi nghiãn cæïu caïc tên hiãûu cuía CPU 8088, chuïng ta âaî tháúy vi maûch naìy coï caïc chán
tên hiãûu cho caïc yãu cáöu ngàõt che âæåüc INTR vaì khäng che âæåüc NMI, chênh caïc chán
naìy seî âæåüc sæí duûng vaìo viãûc âæa caïc yãu cáöu ngàõt tæì bãn ngoaìi âãún CPU.
2. Ngàõt trong hãû vi xæí lyï 8088
2.1. Caïc loaûi ngàõt trong hãû 8088
Trong hãû vi xæí lyï 8088 coï thãø xãúp caïc nguyãn nhán gáy ra ngàõt CPU vaìo 3
nhoïm nhæ sau:
+ Nhoïm caïc ngàõt cæïng : âoï laì caïc yãu cáöu ngàõt CPU do caïc tên hiãûu âãún tæì caïc
chán INTR vaì NMI.
Ngàõt cæïng INTR laì yãu cáöu ngàõt che âæåüc. Caïc lãûnh CLI vaì STI coï aính hæåíng
træûc tiãúp tåïi traûng thaïi cuía cåì IF trong bäü vi xæí lyï, tæïc laì aính hæåíng tåïi viãûc CPU coï
nháûn biãút yãu cáöu ngàõt taûi chán naìy hay khäng. Yãu cáöu ngàõt taûi chán INTR coï thãø coï
kiãøu ngàõt N nàòm trong khoaíng 0-FFH. Kiãøu ngàõt naìy phaíi âæåüc âæa vaìo bus dæî liãûu âãø
CPU coï thãø âoüc âæåüc khi coï xung INTA trong chu kyì traí låìi cháúp nháûn ngàõt.
Biãøu âäö thåìi gian cuía caïc xung liãn quan âãún quaï trçnh trãn âæåüc mä taí trãn
hçnh 7.1.
+ Nhoïm caïc ngàõt mãöm: khi CPU thæûc hiãûn caïc lãûnh ngàõt daûng INT N, trong âoï
N laì säú hiãûu (kiãøu) ngàõt nàòm trong khoaíng 00-FFH (0-255).
+ Nhoïm caïc hiãûn tæåüng ngoaûi lãû: âoï laì caïc ngàõt do caïc läùi naíy sinh trong quaï
trçnh hoaût âäüng cuía CPU nhæ pheïp chia cho 0, xaíy ra traìn khi tênh toaïn.
Yãu cáöu ngàõt seî âæåüc CPU kiãøm tra thæåìng xuyãn taûi chu kyì âäöng häö cuäúi cuìng
cuía mäùi lãûnh.
Trãn hçnh 7.2 trçnh baìy mäüt caïch âån giaín âãø âæa âæåüc säú hiãûu ngàõt N vaìo bus
dæî liãûu trong khi cuîng taûo ra yãu cáöu ngàõt âæa vaìo chán INTR cuía bäü vi xæí lyï 8088.
Giaí thiãút trong mäüt thåìi âiãøm nháút âënh chè coï mäüt yãu cáöu ngàõt IRi âæåüc taïc
âäüng vaì khi âoï åí âáöu ra cuía maûch NAND seî coï xung yãu cáöu ngàõt âãún CPU. Tên hiãûu
IRi âæåüc âäöng thåìi âæa qua maûch khuãúch âaûi âãûm âãø taûo ra säú hiãûu ngàõt tæång æïng, säú
hiãûu ngàõt naìy seî âæåüc CPU âoüc vaìo khi noï âæa ra tên hiãûu traí låìi INTA .
Baíng 7.1. Cho ta quan hãû giæîa IRi vaì säú hiãûu ngàõt N tæång æïng.
AD7 IR6 IR5 IR4 IR3 IR2 IR1 IR0 N
1 1 1 1 1 1 1 0 FEH (254)
1 1 1 1 1 1 0 1 FDH (253)
1 1 1 1 1 0 1 1 FBH (251)
1 1 1 1 0 1 1 1 F7H (247)
1 1 1 0 1 1 1 1 EFH (239)
1 1 0 1 1 1 1 1 DFH (223)
1 0 1 1 1 1 1 1 BFH (191)
Ta seî coìn âãö cáûp âãún viãûc xæí lyï træåìng håüp coï 2 yãu cáöu ngàõt IRi cuìng mäüt luïc
vaì caïch âæa caïc giaï trë N cuía INTN vaìo bus dæî liãûu mäüt caïch tãû âäüng bàòng maûch âiãöu
khiãøn ngàõt PIC åí pháön sau.
2.2. Âaïp æïng cuía CPU khi coï yãu cáöu ngàõt
Khi coï yãu cáöu ngàõt kiãøu N âãún chán CPU vaì nãúu yãu cáöu âoï âæåüc pheïp, CPU
thæûc hiãûn caïc cäng viãûc sau:
1. SP ← SP-2, {SP} ← FR, trong âoï {SP} laì ä nhåï do SP chè ra.
(chè ra âènh måïi cuía ngàõn xãúp, cáút thanh ghi cåì vaìo âènh ngàn xãúp)
2. IF ← 0, TF ← 0.
(cáúm caïc ngàõt khaïc taïc âäüng vaìo CPU, cho CPU chaûy åí chãú âäü bçnh
thæåìng)
3. SP ← SP-2, {SP} ← CS.
(chè ra âènh måïi cuía ngàn xãúp, cáút pháön âëa chè âoaûn cuía âëa chè tråí
vãö vaìo âènh ngàn xãúp)
4. SP ← SP-2, {SP} ← IP
(chè ra âènh måïi cuía ngàn xãúp, cáút pháön âëa chè lãûch cuía âëa chè tråì vãö
vaìo âènh ngàn xãúp)
5. {N*4} → IP, {N*4+2} → CS