- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
响应 中断I/O方式 基本思想: 当外设准备好(ready)时,便向CPU发中断请求,CPU响应后,中止现行程序的执行,转入“中断服务程序”进行输入/出操作,以实现主机和外设接口之间的数据传送,并启动外设工作。 “中断服务程序”执行完后,返回原被中止的程序断点处继续执行。此时,外设和CPU并行工作。 外设 CPU 启动 完成 启动 完成 工作 工作 工作 请求 启动 请求 响应 sys_write系统调用服务例程 返回 上述哪段时间CPU和外设并行工作? 程序切换(响应中断)由硬件完成,即执行“中断隐指令”,时间为 中断服务程序 P 被阻塞,调其他进程Q执行 Q Q Q P 中断I/O方式 copy_string_to_kernel ( strbuf, kernelbuf, n);// 将字符串复制到内核缓冲区 enable_interrupts ( ); // 开中断,允许外设发出中断请求 while ( printer_status != READY); // 等待直到打印机状态为“就绪” *printer_data_port=kernbuf[i]; // 向数据端口输出第一个字符 *printer_control_port=START; // 发送“启动打印”命令 scheduler ( ); // 阻塞用户进程P,调度其他进程执行 if (n==0) { // 若字符串打印完,则 unblock_user ( ); // 用户进程P解除阻塞,P进就绪队列 } else { *printer_data_port=kernelbuf[i]; // 向数据端口输出一个字符 *printer_control_port=START; // 发送“启动打印”命令 n = n-1; // 未打印字符数减1 i = i+1; // 下一个打印字符指针加1 } acknowledge_interrupt(); // 中断回答(清除中断请求) return_from_interrupt(); // 中断返回 例子:采用中断方式进行字符串打印 sys_write进行字符串打印的程序段: “字符打印”中断服务程序: sys_write是如何调出来的? 系统调用! 中断服务程序是如何调出来的? 外设完成任务! 中断控制器的基本结构 屏蔽寄存器 中断请求寄存器 …… 判 优 线 路 中断类型号形成线路 中断类型:32+i 中断请求信号INT INTR CPU发出中断查询请求信号 …… CPU 中断类型号送到什么线上? 数据线上!为什么? 中断查询信号何时发出? 每条指令最后一个控制信号启动采样! 何时采样中断请求信号? 中断查询信号发出后固定时间内读取 CPU采样到INT信号有效,则进入“中断响应周期”! 中断控制器 IRQ0、… 、IRQi 、 … 来自不同外设,如IRQ0为键盘中断 来自CPU,通过OUT指令设置 中断响应过程中,也称为中断回答信号 中断优先权编码器 中 断 类 型 号 编码器 并行判优线路 中断 查询 中断类型号形成线路 中断I/O方式 中断过程 中断检测(硬件实现) 中断响应(硬件实现) 中断处理(软件实现) 中断响应 中断响应是指主机发现外部中断请求,中止现行程序的执行,到调出中断服务程序这一过程。 中断响应的条件 ① CPU处于开中断状态 ② 在一条指令执行完 至少要有一个未被屏蔽的中断请求 中断处理 中断响应 问题:中断响应的时点与异常处理的时点是否相同?为什么? 通常在指令执行结束时查询有无中断请求,有则立即响应; 而异常发生在指令执行过程中,一旦发现则马上处理。 中断处理过程 中断响应的结果就是调出相应的中断服务程序 中断处理是指执行相应中断服务程序的过程 不同的中断源其对应的中断服务程序不同。 典型的多重中断处理(中断服务程序)分为三个阶段: 先行段(准备阶段) 保护现场及旧屏蔽字 查明原因(软件识别中断时) 设置新屏蔽字 开中断 本体段(具体的中断处理阶段) 结束段(恢复阶段) 关中断 恢复现场及旧屏蔽字 清“中断请求” 开中断 中断返回 处在“关中断”状态, 不允许被打断 处在“禁止中断”状态,不允许被打断 处在“开中断”状态,可被新的处理优先级更高的中断打断 单重中断不允许在中断处理时被新的中断打断,因而直到中断返回前才会开中断。单重中断系统无需设置中断屏蔽字。 多重中断的概念 多重中断和中断处理优先权的动态分配 多重中断的概念: 在一个中断处理(即执行中断
您可能关注的文档
最近下载
- 劳动教育自制贺卡.pptx
- ENTERFACE2010ProjectProposal.doc VIP
- 居家养老服务承诺书-居家承诺书.docx VIP
- DB3205_T1078-2023_人才公寓运营管理与服务规范_苏州市 .docx VIP
- ProjectProposal项目建议书英文模板.docx VIP
- 新媒体写作与运营PPT完整全套教学课件.pptx VIP
- ProjectProposal项目建议书英文模板.pdf VIP
- 城镇燃气工程分部、分项工程划分[1].docx VIP
- 网络教学效果调查与数据分析.docx VIP
- 工程量清单及招标控制价编制服务采购服务质量承诺及保障措施.docx VIP
有哪些信誉好的足球投注网站
文档评论(0)