- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机组织及结构(雷建军)6
6.3.4 中断判优逻辑 1.软件查寻法 由软件来安排各中断源的优先级别。 CPU 查询的顺序就是各中断源的优先级。 硬件电路简单,优先权安排灵活,但软件判优所花时间较长。 2.菊花链法 链式判优:将所有的中断源构成一个链,各中断源在链中的前后顺序是根据中断源优先级别的高低来排列。 外设的中断优先权由其在链中的位置决定,处于菊花链前端的比处于链条后端的优先权高。` 6.3.5 中断的嵌套 当一次中断还没有处理完毕,又有了新的优先级更高的中断请求,CPU 能再次中断当前的中断处理程序,转而处理新的中断请求,这样的机制称为中断嵌套。 要能保存多个断点 先发生的中断请求的断点,先保存后恢复; 后发生的中断请求的断点,后保存先恢复。 P1 P3 P2 6.4 DMA方式 6.4.1 DMA的工作方式 1. DMA方式具有下列特点: 1)它使主存与CPU的固定联系脱钩,主存既可被CPU访问,又可被外设访问; 2)在数据块传送时,主存地址的确定、传送数据的计数等都由硬件电路直接实现; 3)主存中要开辟专用缓冲区,及时供给和接收外设的数据; 4) CPU和外设并行工作, 提高了系统的效率; 5)DMA在传送开始前要通过程序进行预处理,结束后要通过中断方式进行后处理。 2. DMA和中断的主要区别: 1)中断方式是程序切换,需要保护和恢复现场;而DMA方式除了开始和结束之外,不占用CPU的任何资源。 2)中断请求的响应只能发生在每条指令执行完毕时;而DMA请求的响应可以发生在每个机器周期结束时。 3)中断传送过程需要CPU的干预;而DMA传送过程不需要CPU的干预,数据传输速率非常高,适合于高速外设的成组数据传送。 4)DMA请求的优先级高于中断请求。 5)中断方式具有对异常事件的处理能力,而DMA方式仅限于完成数据块传送操作。 3.DMA与主存信息的交换方法 DMA控制器与CPU通常采用以下3种方法共同使用主存。 1)CPU停止访问主存法 2)存储器分时法 3)周期挪用法 1)CPU停止访问主存法 DMA 请求信号迫使CPU 让出总线控制权。 CPU 在现行机器周期执行完成之后,使其数据、地址总线处于高阻态。 在DMA 操作期间,CPU 处于保持状态,仅能进行一些与总线无关的内部操作。 DMA 控制器获得总线控制权以后,连续占用若干个存取周期(总线周期)进行成组连续的数据传送,直至批量传送结束,DMA 控制器才把总线控制权交回CPU。 2)存储器分时法 把原来的一个存取周期分成两个时间片,一片分给CPU,一片分给DMA,CPU 和DMA 交替地访问主存。 DMA无须申请和归还总线,总线控制权的转移几乎不需要什么时间,DMA 传送效率很高。 主存在一个存取周期内为两个部件服务,如果要维持CPU 的访存速度不变,就要求主存的工作速度提高一倍。 缺点:大多数外设的速度都不能与CPU 相匹配,所以供DMA 使用的时间片可能成为空操作。 3)周期挪用法 当外设没有DMA 请求时,CPU 按程序要求访问主存;一旦外设有DMA 请求并获得CPU 批准后,CPU 让出一个周期的总线控制权,由DMA 控制器控制系统总线,挪用一个存取周期进行一次数据传送。 如果在同一时刻,发生CPU 与DMA 的访存冲突,那么优先保证DMA 工作,而CPU 等待一个存取周期。 当主存工作速度高出外设较多时,这种方法可以提高主存的利用率,对CPU 的影响较小。 6.4.2 DMA接口组成 1)内存地址计数器:用来存放待交换数据的主存地址。 2)字计数器:用来记录传送数据块的长度(自动减1或加1)。 3)数据缓冲寄存器:用来暂存每次传送的数据。 4)DMA请求标志:外设准备好数据后发出一个控制信号,使DMA请求触发器置位。 5)控制/状态逻辑:用于指定传送方向,修改传送参数,并对DMA 请求信号和CPU 响应信号进行协调和同步。 6)中断机构:数据块传送完后,向CPU 提出中断请求,CPU 将进行DMA 传送的后处理。 7)DMA 控制器与CPU 之间的联络信号线(HOLD和HLDA)。 DMA的工作过程 DMA的数据传送过程分预处理、数据传送和后处理三个阶段。 1)预处理 (1)向DMA控制逻辑设置数据传输方向(输入/输出); (2)向DMA设备地址寄存器送入设备号,并启动设备; (3)向DMA主存地址寄存器写入交换数据的起始地址; (4)向DMA字计数器写入交换数据的字数。 2)数据传送(如:周期挪用、外设给主存传数据) (1)从设备读一个字节到DMA的数据缓冲寄存器; (2)设备向DMA接口发请求; (3)DMA接口向CPU申请总线控制权(HOLD); (4)CPU发回响应信号HLDA,表示允许将总线控制器交给
文档评论(0)