分享
组成原理知识点第7章2.pdf
下载文档

ID:3327213

大小:2.71MB

页数:13页

格式:PDF

时间:2024-03-02

收藏 分享赚钱
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
组成 原理 知识点
2018/8/22王道考研/1王道考研组成原理WWW.CSKAOYAN.COM第七章 输入/输出系统本节内容王道考研/CSKAOYAN.COM输入/输出系统I/O方式1程序查询方式王道考研/CSKAOYAN.COM本章总览本章总览王道考研/CSKAOYAN.COMI/O方式简介方式简介存取周期结束存取周期结束CPU 执行现行程序执行现行程序CPU 执行现行程序执行现行程序DMA请求请求启动启动I/OI/O准备准备I/O准备准备一个存取周期一个存取周期实现实现I/O与主存与主存之间的传送之间的传送CPU 执行执行现行程序现行程序CPU查询等待并传输查询等待并传输I/O数据数据CPU 执行执行现行程序现行程序启动启动I/OI/O 准备及传送准备及传送指令执行周期结束指令执行周期结束CPU 执行现行程序执行现行程序CPU 执行现行程序执行现行程序启动启动I/O中断请求中断请求I/O准备准备I/O准备准备CPU 处理中断服务程序,实现处理中断服务程序,实现I/O 与主机之间的传送与主机之间的传送间间断断启动启动I/O启动启动I/OI/O准备准备中断请求中断请求启动启动I/OI/O准备准备一个存取周期一个存取周期DMA请求请求程序程序查询查询方式方式程序程序中断中断方式方式DMA 方式方式I/O 准备及传送准备及传送2018/8/22王道考研/2王道考研/CSKAOYAN.COMI/O方式简介方式简介存取周期结束存取周期结束CPU 执行现行程序执行现行程序CPU 执行现行程序执行现行程序DMA请求请求启动启动I/OI/O准备准备I/O准备准备一个存取周期一个存取周期实现实现I/O与主存与主存之间的传送之间的传送CPU 执行执行现行程序现行程序CPU查询等待查询等待CPU 执行执行现行程序现行程序启动启动I/O指令执行周期结束指令执行周期结束CPU 执行现行程序执行现行程序CPU 执行现行程序执行现行程序启动启动I/O中断请求中断请求I/O准备准备I/O准备准备CPU 处理中断服务程序,实现处理中断服务程序,实现I/O 与主机之间的传送与主机之间的传送间间断断启动启动I/O启动启动I/OI/O准备准备中断请求中断请求启动启动I/OI/O准备准备一个存取周期一个存取周期DMA请求请求程序程序查询查询方式方式程序程序中断中断方式方式DMA 方式方式I/O 准备准备数据传送数据传送CPU控制控制数据传送数据传送王道考研/CSKAOYAN.COM程序查询流程程序查询流程检查状态标记检查状态标记交换数据交换数据准备就绪准备就绪?是是否否测测试试指指令令转转移移指指令令传传送送指指令令检查状态标记检查状态标记1处理设备处理设备N设备设备1准备就绪准备就绪?是是否否处理设备处理设备1检查状态标记检查状态标记N设备设备N准备就绪准备就绪?否否是是单个设备多个设备王道考研/CSKAOYAN.COM程序查询方式流程图程序查询方式流程图CPU执行初始化程序,并预置传送参数:设置计数器、设置数据首地址向I/O接口发送命令字,启动I/O设备CPU从接口读取设备状态信息CPU不断查询I/O设备状态,直到外设准备就绪CPU一旦启动I/O,必须停止现行程序的运行,并在现行程序中插入一段程序。主要特点:CPU有“踏步”等待现象,CPU与I/O串行串行工作。修改地址和计数器参数一般为一个字判断传送是否结束(一般计数器为0时结束)优点:接口设计简单、设备量少。优点:接口设计简单、设备量少。缺点:缺点:CPU在信息传送过程中要花费很多在信息传送过程中要花费很多时间用于查询和等待,而且在一段时间内时间用于查询和等待,而且在一段时间内只能和一台外设交换信息,效率大大降低。只能和一台外设交换信息,效率大大降低。王道考研/CSKAOYAN.COM程序查询方式接口结构程序查询方式接口结构设备选择设备选择电路电路设备状态设备状态寄存器寄存器数据缓冲数据缓冲寄存器寄存器DBRI/O接口接口外设外设数据线数据线命令命令状态状态数据线数据线命令线命令线状态线状态线CPU地址线地址线CU寄存器寄存器外设数据外设数据动作开始动作开始动作结束动作结束2018/8/22王道考研/3王道考研/CSKAOYAN.COM程序查询方式程序查询方式-例题例题在程序查询方式的输入/输出系统中,假设不考虑处理时间,每一个查询操作需要100个时钟周期,CPU的时钟频率为50MHz。现有鼠标和硬盘两个设备,而且CPU必须每秒对鼠标进行30次查询,硬盘以32位字长为单位传输数据,即每32位被CPU查询一次,传输率为2220B/s。求CPU对这两个设备查询所花费的时间比率,由此可得出什么结论?时间的角度:时间的角度:一个时钟周期为一个时钟周期为1/50MHz=20ns一个查询操作耗时一个查询操作耗时100 20ns=2000ns1)鼠标鼠标每秒查询鼠标耗时每秒查询鼠标耗时30 2000ns=60000ns查询鼠标所花费的时间比率查询鼠标所花费的时间比率=60000ns/1s=0.006%对鼠标的查询基本不影响对鼠标的查询基本不影响CPU的性能的性能2)硬盘硬盘每每32位需要查询一次,每秒传送位需要查询一次,每秒传送2220B每秒需要查询每秒需要查询(2220B)/32=219次次查询硬盘耗时查询硬盘耗时219 2000ns=512 1024 2000ns 1.05109 ns查询硬盘所花费的时间比率查询硬盘所花费的时间比率=(1.05109 ns)/1s=105%CPU将全部时间都用于对硬盘的查询也不能满足磁将全部时间都用于对硬盘的查询也不能满足磁盘传输的要求盘传输的要求频率的角度:频率的角度:CPU的时钟频率为的时钟频率为50MHz,即每秒,即每秒50106个时钟周期个时钟周期1)鼠标鼠标每秒查询鼠标占用的时钟周期数每秒查询鼠标占用的时钟周期数30 100=3000查询鼠标所花费的时间比率查询鼠标所花费的时间比率=3000/(50106)=0.006%对鼠标的查询基本不影响对鼠标的查询基本不影响CPU的性能的性能2)硬盘硬盘每秒需要查询每秒需要查询(2220B)/32=219次次每秒查询硬盘占用的时钟周期数每秒查询硬盘占用的时钟周期数219 100 5.24107查询硬盘所花费的时间比率查询硬盘所花费的时间比率=(5.24107)/(50106)105%CPU将全部时间都用于对硬盘的查询也不能满足磁盘将全部时间都用于对硬盘的查询也不能满足磁盘传输的要求传输的要求王道考研/CSKAOYAN.COM本节回顾本节回顾CPU 执行执行现行程序现行程序CPU查询等待查询等待CPU 执行执行现行程序现行程序启动启动I/O启动启动I/O程序程序查询查询方式方式I/O 准备准备数据传送数据传送CPU控制控制数据传送数据传送CPU一旦启动I/O,必须停止现行程序的运行,并在现行程序中插入一段程序。主要特点:CPU有“踏步”等待现象,CPU与I/O串行工作。优点:接口设计简单、设备量少。缺点:CPU在信息传送过程中要花费很多时间用于查询和等待,而且在一段时间内只能和一台外设交换信息,效率大大降低。本节内容王道考研/CSKAOYAN.COM输入/输出系统I/O方式2程序中断方式王道考研/CSKAOYAN.COM本节总览本节总览2018/8/22王道考研/4王道考研/CSKAOYAN.COM中断的基本概念中断的基本概念程序中断是指在计算机执行现行程序的过程中,出现某些急需处理的异常情况或特殊请求,CPU暂时中止现行程序,而转去对这些异常情况或特殊请求进行处理,在处理完毕后CPU又自动返回到现行程序的断点处,继续执行原程序。工作流程:1.中断请求中断源向CPU发送中断请求信号。2.中断响应响应中断的条件。中断判优:多个中断源同时提出请求时通过中断判优逻辑响应一个中断源。3.中断处理中断隐指令。中断服务程序。王道考研/CSKAOYAN.COM中断请求的分类中断请求的分类非屏蔽中断:关中断(中断标志位IF=0)时也会被响应可屏蔽中断:关中断时不会被响应15 14 13 12 11 109876543210OF DFIFTF SF ZFAFPFCFIF:Interrupt Flag,存在PSW中,8088芯片的PSW如下王道考研/CSKAOYAN.COM中断请求的分类中断请求的分类非屏蔽中断:关中断(中断标志位IF=0)时也会被响应可屏蔽中断:关中断时不会被响应15 14 13 12 11 109876543210OF DFIFTF SF ZFAFPFCFIF:Interrupt Flag,存在PSW中,8088芯片的PSW如下王道考研/CSKAOYAN.COM中断请求标记中断请求标记000101掉电过热阶上溢非法除法光电输入机打印输出机INTR1INTR2INTR3INTR4INTRn-1INTRn每个中断源向CPU发出中断请求的时间是随机的。为了记录中断事件并区分不同的中断源,中断系统需对每个中断源设置中断请求标记触发器中断请求标记触发器INTR,当其状态为“1”时,表示中断源有请求。这些触发器可组成中断请求标记寄存器,该寄存器可集中在CPU中,也可分散在各个中断源中。对于外中断外中断,CPU是在统一的时刻即每条指令执行阶段结束前每条指令执行阶段结束前向接口发出中断查询信号发出中断查询信号,以获取I/O的中断请求,也就是说,CPU响应中断的时间响应中断的时间是在每条指令执行阶段的结束时刻指令执行阶段的结束时刻。CPU响应中断必须满足以下3个条件:中断源有中断请求。CPU允许中断即开中断。一条指令执行完毕,且没有更紧迫的任务。对于执行时间很长的指令,可在执行过程中设置若干个“查询断点”2018/8/22王道考研/5王道考研/CSKAOYAN.COM中断判优中断判优-实现实现000101掉电过热阶上溢非法除法光电输入打印输出INTR1INTR2INTR3INTR4INTRn-1INTRn中断判优中断判优既可以用硬件实现,也可用软件实现:硬件实现是通过硬件排队器硬件排队器实现的,它既可以设置在CPU中,也可以分散在各个中断源中;软件实现是通过查询程序查询程序实现的。硬硬件件排排队队器器查查询询程程序序1 1 1 1010 0 0 1 1 10 0 0王道考研/CSKAOYAN.COM中断判优中断判优-优先级设置优先级设置非屏蔽中断:关中断(中断标志位IF=0)时也会被响应可屏蔽中断:关中断时不会被响应1.硬件故障中断属于最高级,其次是软件中断;2.非屏蔽中断优于可屏蔽中断;3.DMA请求优于I/O设备传送的中断请求;4.高速设备优于低速设备;5.输入设备优于输出设备;6.实时设备优于普通设备。王道考研/CSKAOYAN.COM中断处理过程中断处理过程当前指令执行结束后,PC内容为K+1进入中断服务程序的方法是把该程序第一条指令的地址放入PC回到主程序的方法是把K+1放入PC软件无法完成保存PC的任务,应由硬件实现:中断隐指令中断隐指令王道考研/CSKAOYAN.COM中断处理过程中断处理过程-中断隐指令中断隐指令中断隐指令的主要任务:关中断关中断。在中断服务程序中,为了保护中断现场(即CPU主要寄存器中的内容)期间不被新的中断所打断,必须关中断,从而保证被中断的程序在中断服务程序执行完毕之后能接着正确地执行下去。保存断点保存断点。为了保证在中断服务程序执行完毕后能正确地返回到原来的程序,必须将原来程序的断点(即程序计数器(PC)的内容)保存起来。可以存入堆栈,也可以存入指定单元。引出中断服务程序引出中断服务程序。引出中断服务程序的实质就是取出中断服务程序的入口地址并传送给程序计数器(PC)。软件查询法硬件向量法2018/8/22王道考研/6王道考研/CSKAOYAN.COM中断处理过程中断处理过程-硬件向量法硬件向量法中断隐指令的主要任务:关中断关中断。在中断服务程序中,为了保护中断现场(即CPU主要寄存器中的内容)期间不被新的中断所打断,必须关中断,从而保证被中断的程序在中断服务程序执行完毕之后能接着正确地执行下去。保存断点保存断点。为了保证在中断服务程序执行完毕后能正确地返回到原来的程序,必须将原来程序的断点(即程序计数器(PC)的内容)保存起来。可以存入堆栈,也可以存入指定单元。引出中断服务程序引出中断服务程序。引出中断服务程序的实质就是取出中断服务程序的入口地址并传送给程序计数器(PC)。软件查询法硬件向量法向量地址向量地址排队器输出排队器输出中断向量地址中断向量地址形成部件形成部件1 0 0 000010010由由 硬件硬件 产生产生 向量地址向量地址再由再由 向量地址向量地址 找到找到 入口地址入口地址(中断类型号中断类型号)中断向量王道考研/CSKAOYAN.COM中断处理过程中断处理过程-硬件向量法硬件向量法中断隐指令的主要任务:关中断关中断。在中断服务程序中,为了保护中断现场(即CPU主要寄存器中的内容)期间不被新的中断所打断,必须关中断,从而保证被中断的程序在中断服务程序执行完毕之后能接着正确地执行下去。保存断点保存断点。为了保证在中断服务程序执行完毕后能正确地返回到原来的程序,必须将原来程序的断点(即程序计数器(PC)的内容)保存起来。可以存入堆栈,也可以存入指定单元。引出中断服务程序引出中断服务程序。引出中断服务程序的实质就是取出中断服务程序的入口地址并传送给程序计数器(PC)。软件查询法硬件向量法向量地址向量地址排队器输出排队器输出中断向量地址中断向量地址形成部件形成部件0 1 0 000010011由由 硬件硬件 产生产生 向量地址向量地址再由再由 向量地址向量地址 找到找到 入口地址入口地址(中断类型号中断类型号)中断向量王道考研/CSKAOYAN.COM中断处理过程中断处理过程-中断服务程序中断服务程序中断服务程序的主要任务:保护现场保护现场一是保存程序断点(PC),已由中断隐指令完成;二是保存通用寄存器和状态寄存器的内容,由中断服务程序完成。可以使用堆栈,也可以使用特定存储单元。中断服务中断服务(设备服务设备服务)主体部分,如通过程序控制需打印的字符代码送入打印机的缓冲存储器中。恢复现场恢复现场通过出栈指令或取数指令把之前保存的信息送回寄存器中。中断返回中断返回通过中断返回指令回到原程序断点处。王道考研/CSKAOYAN.COM中断处理过程中断处理过程中断隐指令中中断断处处理理过过程程中中断断服服务务程程序序单重中断:执行中断服务程序时不响应新的中断请求。单重中断:执行中断服务程序时不响应新的中断请求。多重中断:又称中断嵌套,执行中断服务程序时可响多重中断:又称中断嵌套,执行中断服务程序时可响应新的中断请求。应新的中断请求。2018/8/22王道考研/7王道考研/CSKAOYAN.COM单重中断与多重中断单重中断与多重中断单重中断多重中断单重中断多重中断中断隐指令关中断关中断保存断点(PC)保存断点(PC)送中断向量送中断向量中断服务程序保护现场保护现场和屏蔽字-开中断执行中断服务程序执行中断服务程序-关中断恢复现场恢复现场和屏蔽字开中断开中断中断返回中断返回王道考研/CSKAOYAN.COM中断屏蔽技术中断屏蔽技术中断屏蔽技术主要用于多重中断,CPU要具备多重中断的功能,须满足下列条件。在中断服务程序中提前设置开中断指令。优先级别高的中断源有权中断优先级别低的中断源。每个中断源都有一个屏蔽触发器,1表示屏蔽该中断源的请求,0表示可以正常申请,所有屏蔽触发器组合在一起,便构成一个屏蔽字寄存器,屏蔽字寄存器的内容称为屏蔽字。硬硬件件排排队队器器增增加加中中断断屏屏蔽蔽功功能能收到多个中断请求时,只响应其中一个收到多个中断请求时,只响应其中一个固定优先级固定优先级调整多重中断的优先级调整多重中断的优先级比如屏蔽字:1 1 1 10 0 0 01 1 1 10 0 0 0王道考研/CSKAOYAN.COM中断屏蔽技术中断屏蔽技术中断屏蔽技术主要用于多重中断,CPU要具备多重中断的功能,须满足下列条件。在中断服务程序中提前设置开中断指令。优先级别高的中断源有权中断优先级别低的中断源。每个中断源都有一个屏蔽触发器,1表示屏蔽该中断源的请求,0表示可以正常申请,所有屏蔽触发器组合在一起,便构成一个屏蔽字寄存器,屏蔽字寄存器的内容称为屏蔽字。增增加加中中断断屏屏蔽蔽功功能能调整多重中断的优先级调整多重中断的优先级比如屏蔽字:1 1 1 10 0 0 01 1 1 10 0 0 0屏蔽字设置的规律:1.一般用1表示屏蔽,0表示正常申请。2.每个中断源对应一个屏蔽字(在处理该中断源的中断服务程序时,屏蔽寄存器中的内容为该中断源对应的屏蔽字)。3.屏蔽字中1越多,优先级越高。每个屏蔽字中至少有一个1(至少要能屏蔽自身的中断)。王道考研/CSKAOYAN.COM中断屏蔽技术中断屏蔽技术设某机有4个中断源A、B、C、D,其硬件排队优先次序为ABCD,现要求将中断处理次序改为DACB。1)写出每个中断源对应的屏蔽字。2)按下图所示的时间轴给出的4个中断源的请求时刻,画出CPU执行程序的轨迹。设每个中断源的中断服务程序时间均为20us。中 断 源屏 蔽 字ABCDABCD1110中断源A的屏蔽字为11101000中断源B的屏蔽字为01001010中断源C的屏蔽字为01101111中断源D的屏蔽字为11111)2)ABCDDBD完成ABA完成CBC完成B完成2018/8/22王道考研/8王道考研/CSKAOYAN.COM中断系统小结中断系统小结本节内容王道考研/CSKAOYAN.COM输入/输出系统I/O方式2程序中断方式续王道考研/CSKAOYAN.COM中断系统小结中断系统小结王道考研/CSKAOYAN.COM中断系统小结中断系统小结程序中断的作用如下:实现CPU与I/O设备的并行工作。处理硬件故障和软件错误。实现人机交互,用户干预机器需要用到中断系统。实现多道程序、分时操作,多道程序的切换需借助于中断系统。实时处理需要借助中断系统来实现快速响应。实现应用程序和操作系统(管态程序)的切换,称为“软中断”。多处理器系统中各处理器之间的信息交流和任务切换。2018/8/22王道考研/9王道考研/CSKAOYAN.COM程序中断方式程序中断方式遇到I/O指令KK+1中断隐指令:1.关中断2.保存断点(PC)3.引出中断服务程序保护现场中断服务程序控制数据传送外设准备下一个数据CPU继续现行程序中断服务程序恢复现场王道考研/CSKAOYAN.COM程序中断方式程序中断方式假定CPU主频为50MHz,CPI为4。设备D采用异步串行通信方式向主机传送7位ASCII字符,通信规程中有1位奇校验位和1位停止位,从D接收启动命令到字符送入I/O端口需要0.5ms。请回答下列问题,要求说明理由。1)每传送一个字符,在异步串行通信线上共需传输多少位?在设备D持续工作过程中,每秒钟最多可向I/O端口送入多少个字符?2)设备D采用中断方式进行输入/输出,示意图如下:I/O端口每收到一个字符申请一次中断,中断响应需10个时钟周期,中断服务程序共有20条指令,其中第15条指令启动D工作。若CPU需从D读取1000个字符,则完成这一任务所需时间大约是多少个时钟周期?CPU用于完成这一任务的时间大约是多少个时钟周期?在中断响应阶段CPU进行了哪些操作?王道考研/CSKAOYAN.COM程序中断方式程序中断方式假定CPU主频为50MHz,CPI为4。设备D采用异步串行通信方式向主机传送7位ASCII字符,通信规程中有1位奇校验位和1位停止位,从D接收启动命令到字符送入I/O端口需要0.5ms。请回答下列问题,要求说明理由。1)每传送一个字符,在异步串行通信线上共需传输多少位?在设备D持续工作过程中,每秒钟最多可向I/O端口送入多少个字符?起起始始位位校校验验位位停停止止位位数据位数据位D0 D1 D2 D3 D4 D5 D6至少包含1位起始位和1位停止位,停止位可能有多位。每传送一个字符需要传送1位起始位、7位数据位、1位校验位、1位停止位,共需传送10位。每0.5ms可送入1个字符每秒可送入1s/0.5ms=2000 个字符王道考研/CSKAOYAN.COM程序中断方式程序中断方式假定CPU主频为50MHz,CPI为4。设备D采用异步串行通信方式向主机传送7位ASCII字符,通信规程中有1位奇校验位和1位停止位,从D接收启动命令到字符送入I/O端口需要0.5ms。请回答下列问题,要求说明理由。2)设备D采用中断方式进行输入/输出,示意图如下:I/O端口每收到一个字符申请一次中断,中断响应需10个时钟周期,中断服务程序共有20条指令,其中第15条指令启动D工作。若CPU需从D读取1000个字符,则完成这一任务所需时间大约是多少个时钟周期?CPU用于完成这一任务的时间大约是多少个时钟周期?在中断响应阶段CPU进行了哪些操作?0.5ms10cycle20155主频50MHz,时钟周期为1/50MHz=20ns0.5ms对应时钟周期数为0.5ms/20ns=25000传送1个字符需要的时钟周期数为25000+10+154=25070传送1000个字符需要的时钟周期数为250701000=25070000CPU用于该任务的时间大约为1000(10+204)=9104 个时钟周期中断隐指令:1.关中断2.保存断点(PC)3.引出中断服务程序2018/8/22王道考研/10王道考研/CSKAOYAN.COM本节回顾本节回顾本节内容王道考研/CSKAOYAN.COM输入/输出系统I/O方式3DMA方式王道考研/CSKAOYAN.COM本节总览本节总览王道考研/CSKAOYAN.COMDMA控制器控制器每准备好一个数据都要中断CPU,由CPU运行中断服务程序来完成一次传送磁盘机、磁带机等高速设备需要大批量的数据传送 CPU大量时间用于中断服务由硬件实现控制大批量的数据传送 DMA控制器在DMA方式中,当I/O设备需要进行数据传送时,通过DMA控制器(DMA接口)向CPU提出DMA传送请求,CPU响应之后将让出系统总线,由DMA控制器接管总线进行数据传送。其主要功能有:1)接受外设发出的DMA请求,并向CPU发出总线请求。2)CPU响应此总线请求,发出总线响应信号,接管总线控制权,进入DMA操作周期。3)确定传送数据的主存单元地址及长度,并能自动修改主存地址计数和传送长度计数。4)规定数据在主存和外设间的传送方向,发出读写等控制信号,执行数据传送操作。5)向CPU报告DMA操作的结束。传送前传送时传送后2018/8/22王道考研/11王道考研/CSKAOYAN.COMDMA控制器控制器由控制和时序电路及状态标志组成,用于指定传送方向,修改传送参数,并对DMA请求信号和CPU响应信号进行协调和同步。每当I/O设备准备好数据后给出一个控制信号,使DMA请求触发器置位。简称AR,存放要交换数据的主存地址。简称WC,用来记录传送数据的长度,计数溢出时,数据即传送完毕,自动发中断请求信号。用于暂存每次传送的数据。当一个数据块传送完毕后触发中断机构,向CPU提出中断请求。注:在DMA传送过程中,DMA控制器将接管CPU的地址总线、数据总线和控制总线,CPU的主存控制信号被禁止使用。而当DMA传送结束后,将恢复CPU的一切权利并开始执行其操作。王道考研/CSKAOYAN.COMDMA传送过程传送过程DAR以数据输入为例设备将数据写入DR写满后向DMA控制器发送DMA请求请求DMA控制器向总线发送总线请求CPU将总线控制权交给DMA控制器DMA控制器接管总线DMA控制器完成一次数据传送修改参数传送结束发出中断王道考研/CSKAOYAN.COMDMA传送过程传送过程DAR以数据输入为例设备将数据写入DR写满后向DMA控制器发送DMA请求请求DMA控制器向总线发送总线请求CPU将总线控制权交给DMA控制器DMA控制器接管总线DMA控制器完成一次数据传送修改参数传送结束发出中断王道考研/CSKAOYAN.COMDMA传送过程传送过程CPU和DMA控制器访问主存可能产生冲突2018/8/22王道考研/12王道考研/CSKAOYAN.COMDMA传送方式传送方式主存和DMA控制器之间有一条数据通路,因此主存和I/O设备之间交换信息时,不通过CPU。但当I/O设备和CPU同时访问主存时,可能发生冲突,为了有效地使用主存,DMA控制器与CPU通常采用以下3种方法使用主存。(1)停止CPU访问主存(2)DMA与CPU交替访存(3)周期挪用(周期窃取)控制简单控制简单CPU 处于不工作状态或保持状态处于不工作状态或保持状态未充分发挥未充分发挥CPU 对主存的利用率对主存的利用率一个CPU周期,分为C1和C2两个周期C1和专供DMA访存C2专供CPU访存不需要总线使用权的申请、建立和归还过程不需要总线使用权的申请、建立和归还过程硬件逻辑更为复杂硬件逻辑更为复杂DMA 访问主存有三种可能:CPU 此时不访存(不冲突)此时不访存(不冲突)CPU 正在访存(存取周期结束让出总线)正在访存(存取周期结束让出总线)CPU 与与DMA 同时请求访存(同时请求访存(I/O访存优先访存优先)存取周期王道考研/CSKAOYAN.COMDMA方式的特点方式的特点主存和DMA接口之间有一条直接数据通路。由于DMA方式传送数据不需要经过CPU,因此不必中断现行程序,I/O与主机并行工作,程序和传送并行与主机并行工作,程序和传送并行工作工作。DMA方式具有下列特点:它使主存与CPU的固定联系脱钩,主存既可被CPU访问,又可被外设访问。在数据块传送时,主存地址的确定、传送数据的计数等都由硬件电路直接实现。主存中要开辟专用缓冲区,及时供给和接收外设的数据。DMA传送速度快,CPU和外设并行工作,提高了系统效率。DMA在传送开始前要通过程序进行预处理,结束后要通过中断方式进行后处理。I/O接口I/O接口I/O接口王道考研/CSKAOYAN.COMDMA方式与中断方式方式与中断方式中断DMA数据传送程序控制程序的切换保存和恢复现场硬件控制CPU只需进行预处理和后处理中断请求传送数据后处理响应指令执行周期结束后响应中断每个机器周期结束均可,总线空闲时即可响应DMA请求场景CPU控制,低速设备DMA控制器控制,高速设备优先级优先级低于DMA优先级高于中断异常处理能处理异常事件仅传送数据王道考研/CSKAOYAN.COMCPU占用情况占用情况某计算机的CPU主频为500MHz,CPI为5(即执行每条指令平均需5个时钟周期)。假定某外设的数据传输率为0.5MB/s,采用中断方式与主机进行数据传送,以32位为传输单位,对应的中断服务程序包含18条指令,中断服务的其他开销相当于2条指令的执行时间。请回答下列问题,要求给出计算过程。1)在中断方式下,CPU用于该外设I/O的时间占整个CPU时间的百分比是多少?2)当该外设的数据传输率达到5MB/s时,改用DMA方式传送数据。假定每次DMA传送块大小为5000B,且DMA预处理和后处理的总开销为500个时钟周期,则CPU用于该外设I/O的时间占整个CPU时间的百分比是多少?(假设DMA与CPU之间没有访存冲突)2018/8/22王道考研/13王道考研/CSKAOYAN.COMCPU占用情况占用情况某计算机的CPU主频为500MHz,CPI为5(即执行每条指令平均需5个时钟周期)。假定某外设的数据传输率为0.5MB/s,采用中断方式与主机进行数据传送,以32位为传输单位,对应的中断服务程序包含18条指令,中断服务的其他开销相当于2条指令的执行时间。请回答下列问题,要求给出计算过程。1)在中断方式下,CPU用于该外设I/O的时间占整个CPU时间的百分比是多少?每传送一次数据,占用CPU的时间为(18+2)5=100 个时钟周期外设准备32位的数据需要的时间为32bit0.5MB/s=8 10?s每秒可准备的数据个数为1s 8 10?s=125000 个即每秒需中断的次数为125000 次则1s内用于处理中断的时钟周期数(开销)为125000100=12.5M个故CPU用于外设I/O的时间占整个CPU时间的百分比为12.5M500M=2.5%若外设速度达到5MB/s,则故CPU用于外设I/O的时间占整个CPU时间的百分比为25%每秒传送次数=外设数据传输率传输单位王道考研/CSKAOYAN.COMCPU占用情况占用情况某计算机的CPU主频为500MHz,CPI为5(即执行每条指令平均需5个时钟周期)。假定某外设的数据传输率为0.5MB/s,采用中断方式与主机进行数据传送,以32位为传输单位,对应的中断服务程序包含18条指令,中断服务的其他开销相当于2条指令的执行时间。请回答下列问题,要求给出计算过程。2)当该外设的数据传输率达到5MB/s时,改用DMA方式传送数据。假定每次DMA传送块大小为5000B,且DMA预处理和后处理的总开销为500个时钟周期,则CPU用于该外设I/O的时间占整个CPU时间的百分比是多少?(假设DMA与CPU之间没有访存冲突)当外设数据传输率提高到5MB/s时改用DMA方式传送,每次DMA传送一个数据块,大小为5000B,则1s内需产生的DMA次数为5MB5000B=1000 次CPU用于DMA处理的总开销为1000500=0.5M 个时钟周期CPU用于外设I/O的时间占整个CPU时间的百分比为0.5M500M=0.1%采用中断方式时,若外设速度达到5MB/s,则故CPU用于外设I/O的时间占整个CPU时间的百分比为25%王道考研/CSKAOYAN.COM本节回顾本节回顾

此文档下载收益归作者所有

下载文档
收起
展开