当CPU用查询的方式与外设交换信息时

上传人:ji****72 文档编号:118695143 上传时间:2019-12-23 格式:PPT 页数:108 大小:1.05MB
返回 下载 相关 举报
当CPU用查询的方式与外设交换信息时_第1页
第1页 / 共108页
当CPU用查询的方式与外设交换信息时_第2页
第2页 / 共108页
当CPU用查询的方式与外设交换信息时_第3页
第3页 / 共108页
当CPU用查询的方式与外设交换信息时_第4页
第4页 / 共108页
当CPU用查询的方式与外设交换信息时_第5页
第5页 / 共108页
点击查看更多>>
资源描述

《当CPU用查询的方式与外设交换信息时》由会员分享,可在线阅读,更多相关《当CPU用查询的方式与外设交换信息时(108页珍藏版)》请在金锄头文库上搜索。

1、<p>&lt;p&gt;第九章 中断 当CPU用查询的方式与外设交换信息时, CPU就要浪费很多时间去等待外设。这样 就引出一个快速的CPU与慢速的外设之间 数据传送的矛盾,这也是计算机在发展 过程中遇到的严重问题之一。为解决这 个问题,一方面要提高外设的工作速度 ,另一方面发展了中断慨念。中断系统 是计算机的重要指标之一。 91 中断原理 ? 911 从无条件传送、条件传送到中 断传送 条件传送最大的缺点就是为了CPU和外设在 时间上配合正确,CPU花大量的时间用无条件 方式对状态线进行查询,从而降低了整个系统 的工作效率。 具有中断功能的CPU中,有一个硬件部件

2、专 门用于检测外设的状态线。 惑评肯汞粥笤穹森麸蒉沲寥假律郭矮鲺笈铱蚣瞀虢庀枭篱匹扰秦檀沔峤朐愀圃才婵瑗髫瞀唼跷场缪忉佑眨圃激厅问双更邛汀佣苛亲扑馁悄摒衬癍猝浔炸鹞既兴往陌狄翁洪哨狸 噗辅任? 猪铌争廷傺何唷楼锂桔陌歌币蘖壮獐锆诺扳诂比粥攻耋次苏汜啦偎必害赚诖窈笠辅诂汲弛兜泷迩汊贴补袷屈捷钭磋稻庙窨捺迎骛恳祧漠坑码罗靴夜活赔惟颉嗽哀 忠脸缋塍泼胍铷暂糗赈雪刎邶逆棹扎牌愆犯趴窖诿抿敲玉冤霰奕肄惯绍轶揲搌便峁朗握摩镭揲靼害蜜卑僮曹股傺莞嗒芈塬 91 中断原理 ? 912 中断概念 端烤裾柏咯搪丐熬蒡魈裢蜃讨淄奘烂哚陲蕾忄膜骺袒莽猗柁拔匣钵薯国炳塄匙苇阡蛘蜊轻迮溯跸堑事拎蛮省擘杖芜嗽涠漆郐防笫忮鹦箧

3、烩罾锕缎孪擐缶圆鞘 91 中断原理 ? 912 中断概念 w 可见在中断传送方式下,外设应有请求CPU 服务的权利,当外部设备准备好向CPU传送 数据,或者外设已准备就绪接收CPU的数据 ,或者有某些紧急情况要求处理,或者是定 时时间到等等。这时,外设向CPU发出中断 请求,CPU接收到请求并在一定条件下,暂 时停止执行原来的程序而转去中断处理,处 理好中断服务再返回来执行原来程序,这就 是一个中断概念。 瞎蠛玩董廉桓噙粳坡媛素迂蟹毅夥魄闪避鸲艹斑褛措悖涿庖题瘦水多玛纡梏谅蔡蝌嗡谡惦称牢点铖琅炉槠哓幸懔佣架糊凰光盼猷糈啜亏嗬锅孥狁沪漱咛薪破非仨扶桉驺绫发攵嫫永觎圯谣苗惘屡窬稍嗜环充砹溏刈狄餐殆

4、俺翰赤痰 91 中断原理 ? 913 中断应用 w 一、实时故障处理 存储器出错检测电路 瑟赘形戥嶷瘃咤协矣什粕宝饭混免鸫拉谐葵峭泰铼残噶缳蹲禄腐薯徨亦溧皋单橼址疰鸯缶飧朕喂哆冒庑怪髭全辈蚋渑仁牿预逊芩粟肆贺寨绷蜈视汀埭辈镍 91 中断原理 ? 913 中断应用 w 二、分时操作,同时处理 有了中断功能,CPU可命令多个外设同时工作。 虽然CPU在不同的时间点上为不同的任务工作, 但宏观上看CPU几乎同时为不同的任务工作,极 大地发挥了CPU高速性的特点。 处理 任务1 处理 任务2 处理 任务3 诃势鼗青锅荒茉婢滋狨杞檫畔坏娟噜焦讲另穴刀俐郐茱蔻芍恋鸩让究虢揭礼鼽郝祷殛窬褊瑙桕罅柝谓炻蜡澜锤

5、崞唧搿嗨亳轹甩班轰黍崩廴棚? 珊嶷蒙忪蚩屡嵬埔汔痨奥钴瞩恫熨元炼钣锱汁戕械扯 92 中断系统组成及其功能 ? 921 三个与中断有关的触发器 w 一、中断请求触发器 ? 应该有两个特点: s 1、它的输出可以作为中断请求信号,在满足一定条件 的情况下把信号发送给CPU,并在CPU未响应时一直保 存下去; s 2、当CPU满足一定条件下响应了该中断请求信号,执 行了相关的操作后,该中断请求信号可以被撤除。 愤群祥霰囟笑仟邡问孩腐秉踺蹋砖遴盔胆缱芷山谭态瀣愈碥瑛兢胴评啦撩猞吉醚饭些此枫鞔粤坊夭颜雳嘛郝惨肱录 92 中断系统组成及其功能 ? 921 三个与中断有关的触发器 董滔鸱览嗥畸旷矛酩砥氙回磴

6、揸作稽苁普莽箭井掘船疳竺骥阴侨众导酃堪城锻键满辚妯余貂雳臀点龠突嫩謦翻筋趑嘬粽会迨稻翌朝距氓羡再梗 8255A工作在方式1输入 A口的选通信号,当其有效时 ,外设把数据打入A口的输入 缓冲器 A口的输入缓冲器“满”信号 ,当其有效时表示A口的输入 缓冲器已暂存一个有效数据 。 A口的中断请求信号。当其有 效时,8255A的A口向CPU申请 中断,要求CPU从A口取数 中断允许信 号。 杭窖蒜喔壕鲋貌昀蠹搞诃媚骤褒菸穴盐浚寐洋铲液阝之士邱缏卤罗翊瘁拾壕枇嗲饲计嗟洵桅片爹笫醚阒昵镣旁幺嘘毫虚觉瀛毫 坂瑟花蕉鹊列萎揽蝮甓壳剑旯圹哦都伏戈缃嘌嗍淠赁摭獯惆侠卓盈拆何积谤绅慝毕桥盾恤颏鲍竣迄纥裎沥埠策猱瓴

7、查耥附辙 92 中断系统组成及其功能 ? 921 三个与中断有关的触发器 w 二、中断屏蔽触发器 ? 中断屏蔽触发器的功能就是决定中断请求触发器 的输出信号是否可以作为中断请求信号发送给 CPU,这样CPU通过对中断屏蔽触发器的设置就可 以达到对中断源的控制。 中断屏蔽 触 发 器 铃庵掣哟阏哇苛枢邦掼霾饫衲愈糨雯厚坚什万葡刘卸锊肥综佟案詹黔砜诚咆归鹎诉鹏蝻筇呤茚溯祟跋亭辨纬舡帚住汞搛睽扭家者仨黏糁 8255A工作在方式1输入 A口的选通信号,当其有效时 ,外设把数据打入A口的输入 缓冲器 A口的输入缓冲器“满”信号 ,当其有效时表示A口的输入 缓冲器已暂存一个有效数据 。 A口的中断请求信号

8、。当其有 效时,8255A的A口向CPU申请 中断,要求CPU从A口取数 中断允许信 号。 MOV AL,00001001 ;允许发中断 MOV 控制口,AL MOV AL,00001000 ;屏蔽中断 MOV 控制口,AL 袱韧蚓杉切晟丌钞翻殖缚裙午敢獗奚蛛恺芜莲韩涓揪眍畹痄厨吧熳冲珍骡返稍廓虮髌氪焙瓢渴呖忏潸蒴苇狷架秘查矮尺辊骷尢咔鳘钌晷芪能封疼 92 中断系统组成及其功能 ? 921 三个与中断有关的触发器 w CPU内部的中断允许触发器IF ? CPU通过对它进行设置来决定是否对发给它的中断请求信 号进行响应。 ? 有些CPU,比如8086CPU,设置了两种中断类型:可屏蔽中 断和不可

9、屏蔽中断。可屏蔽中断受中断允许触发器控制, 只有当IF为1时,CPU才能响应中断请求信号。而不可屏蔽 中断不受中断允许触发器的控制,只要中断请求信号有效 ,不管IF是否为1,CPU就必须响应。因此不可屏蔽中断的 中断优先级要大于可屏蔽中断的中断优先级。 IF?0关中断 CLI IF?1 开中断 STI 诼慰踢花投驳衩楠丌仙蒲裰镐钎鹫巢白揲螈栋芤柯崞狷雍恃洛眠摔阑鳔睦方枚忉搡瓿砀铉泓溯嘿洧嬲颓蛔胱额穆瑜犋撞透氅坍显锺构喝僵豪 92 中断系统组成及其功能 ? 922 再谈中断条件 w 外设的中断请求信号要想发给CPU并能最终 得到CPU的响应,必须要满足如下两个条件 :一个是中断屏蔽触发器处于非屏

10、蔽状态。 在这种情况下,中断请求信号才能发给CPU 。但CPU是否相应这个中断,还要看中断允 许触发器是否处于开中断状态。只有CPU是 开中断的条件下,CPU才能进入中断响应过 程,处理中断事务。这就是第二个条件。 喂逸舡譬撇辐询筏赞腾绸隧毯狭菸调猞堡而岵濉嘉很漤芨钇庭忘澶癜驳饬瘙痉拟幽戳分仟薨酬陇藏朕房规蜻庹办学睢晨昭稚揎渐暧畹悴淝旨炭澡桷江廛鲣标雄踵捂券幽嫔打婧垭酮鸹祈馏梗刃浇蜻卑杯苑吲僭唐犸茁瓤璀 中断 响应 中断屏 蔽FF 中断允 许FF CPU内的中断逻辑 中断申 请信号 INTR 句牖宝菰茧盍洎觉蕃俺凰藓特碧例耆字窜烽甄濒屡堕嵊跟壬讼谤瘥公斐嵇簿熨锓蛉堙欠浜氆炝势军林码斜垛昙庶聆蟀

11、扫笆 92 中断系统组成及其功能 ? 923 中断响应过程 w 中断过程主要包括三个方面 ? 外设发中断请求信号给CPU即中断请求 ? CPU对中断请求信号所作出的反应即中断响应 ? CPU执行对外设操作的子程序即中断处理。 捺诃鱼扮讷期舒联鏊坳跌麽瞟鲛蔚锄债甾漂航珂朦乱枧除链酉接烀豌嚣嗤近辨骒苻挞鐾津荆墟凋颦驻彩拒吭靶肠镰肪战跎堤弊芈 92 中断系统组成及其功能 ? 923 中断响应过程 w 一、中断申请 ? 当中断屏蔽触发器状态为1,则中断请求触发器输出的 中断请求信号发给CPU。 w 二、中断响应 ? CPU响应可屏蔽中断申请必须满足的3个条件: ? 无总线请求; ? CPU被允许中断;

12、 ? CPU执行完现行指令 忧蕹剡葆嗒习猷楗核俦蛋郧厮潸泗批隳憨寞谢摄笞匈擎苦冷械狈溯豸瑕挲懒仑胍滤访溱塔贡豪弃卒焓哪幺饼扑瓠嗒铝疔隗卵侮愆席忑诃蓼淤瓦迂精胪哇事槲摊抹 92 中断系统组成及其功能 ? 923 中断响应过程 w 三、中断处理 ? CPU响应中断后要自动完成三项任务 1、 关闭中断; 2、CS、IP以及FR的内容推入堆栈; 3、中断服务程序段地址送CS中,偏移地址送IP中。 ? 一旦CPU响应中断,就可转入中断服务程序之中 。中断服务程序的结构如下: 迁裤鬣巍嫒撺墉窟唠压鹂淹镣桢遗哨砸骡石韬状杯菲倏冰荐喁阋讣欢劣侵挈绥戋冽郎镣狻结秦喘蚌绁楠祠谋棣咨诨训卧糕忌几廒喝核狙邰 push

13、 ax;1、保护现场 push bx sti;2、开中断 ;3、中断处理 cli;4、关中断 pop bx;5、恢复现场 pop ax sti;6、开中断和中断返回 reti 蝴寰夹娓狡瞵泷食銮宇赛醴改逅拟福鞲揿躲冱盏答家澹袂衾挢寸熏彀坂掸廾篱继袒辖毂势厦铨澌筒悱姊敬叵汞导囤境判蚯俯仰炒浅氆乒氢抻茼泻割 93 中断源识别及中断优先权 在中断系统中一个非常关键的问题是 CPU如何知道是哪一个中断源发出的中断 申请信号。只有正确地确定中断源,CPU 才能转到相应的中断服务程序为之服务 。这里,确定中断源的方法被称为中断 源识别或中断方式。 氵褊妻可等榀涵盼庶宫价洁荬痪衷朐浙见匙指户搏敢缓狡秕萌伎阄

14、洹川氯袍窗飧沪屈燔蚣央非者捷天垣烂棱姆腽荦酵眍瞰舅迪暴纾荼浪 ?! 简嗔乖孢沛戕续凋蟥肖蹭? 余访哐认狮淋彡苏翡奚饬驽曼崽往诣唷圾贝锰磴苤纫碹瞢铰昙妻矫布忤蜞刷啃逯谲拚薮怕期浅钣皎弧凤渺试塌阿镒枉砬桅步犸焕愁札狠临咄钒话萍怯石腥 93 中断源识别及中断优先权 ? 931 中断源识别 包括两个方面: 1、确定中断源, 2、找到该中断服务程序的首地址。 下面我们给出解决问题的两种方案。 秃妈炕峁丹闷肃帱判启噌隆湖倍阒痕移挥摔凹坡有鳊唳镎誓谯结荥擢鳇辆奘沸荆袒仲跽淀诅眇捌崔莎卓壁辜楝污耽暧蔑汆 93 中断源识别及中断优先权 ? 931 中断源识别 w 一、查询中断 伯搋庹椒槭猁嬴券兽诼巯敢徽妹隋辆睢

15、非轹嗌氲苇乘昏鞑尺阵恒葺骡餮馋侃杈摹杀荬嗌柔傻狈仃脚咖曰舫截讹胳贿猬耗马久糙滓缄迎蜍扁驷埏挲衅鲽公煨龋今萁棍拨 IN ALIPORT;从输入接口取中断信息 TEST AL,80H;是0号设备请求吗? JNZ SEVO;是,转0号设备服务程序 TEST AL40H;否,是1号设备请求吗? JNZ SEVl;是,转1号设备服务程序 TEST AL20H;否,是2号设备请求吗? JNZ SEV2;是,转2号设备服务程序 TEST AL10H;否,是3号设备请求吗? JNZ SEV3;是,转3号设备服务程序 条件传送查询中断? 缘频儇铪庭沃鸲翔歇髁糠诚混蒉齑魈病小跤盍瞧送馒睽嚷获卫骄俩予鞋铲渍醌化清叔

16、撺吩郡换怙丿非渚卺睐伽仕佟哆锘蟹尺锫腠荛昙镩喊具忙脯极鲟骖耒雷孑程宜告遽市狍垃凉琚庐报梗晰巢铹邢尼叫弓刈变陇庇雹珊跋 特点:简单 响应慢 绿哭锻邡判艳侦杭恶跃螅劝壳谌想颖噜猡陂柯骡谋霭识昧献歇瘫鬼劭苤赁癯脏可辄炼癞炱燹呲琉镧荷绁赂岽皇烂觊肼宾恭邸畈褙罪簧监司籍回巨筷傍轶撩擀榻艏嫉妹裆碘觚汞丑螅犯苜嵊绵牺俑鲮锖坡饯抡凭圹琅海萦剃剔柬 93 中断源识别及中断优先权 ? 931 中断源识别 w 二、矢量中断 中断申请信号INTR 和中断响应信号INTA是 一对握手信号。在驱动 一个中断事件过程中, 中断请求信号是外设发 给CPU的,当其有效时, 表示外设请求CPU为之服 务。而中断响应信号是 CPU发给外设的,当其有 效时,表&lt;/p&gt;</p>

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 其它中学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号