计算机组成与结构 复习要点详细解答.ppt

  1. 1、本文档共215页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机组成与结构复习要点详细解答ppt整理

DMA传送与中断传送比较 DMA传送比中断传送的速度快。DMA传送一个字节只占用CPU的一个总线周期,而中断方式传送是由CPU通过程序来实现的,每次执行中断服务程序,CPU要保护断点,在中断服务程序中,需要保护现场和恢复现场,需要执行若干条指令才能传送一个字节。 DMA响应比中断响应的速度快。中断方式在CPU的当前指令(一条指令需要执行若干个总线周期)执行完才能响应中断请求,而DMA方式是在CPU当前指令的一个总线周期执行完就响应DMA请求。 中断请求分为外部中断(由外部硬件产生的)和内部中断(由执行指令产生的),DMA请求也由两种方式:可以由硬件发出,也可以由软件发出。 例1 某计算机的CPU主频为500MHz,CPI为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之间没有访存冲突)。 (1)每秒钟中断的次数: 0.5MB÷32bits(4B)=0.125M(次) 每次中断的开销:18+2=20(条指令) 每秒钟用在中断处理上的开销:0.125M*20=2.5M(条指令),即2.5MIPS 每秒钟CPU执行的指令条数:500M÷5=100MIPS 所以:2.5MIPS÷100MIPS×100%=2.5% (2)外设传送5000B所花费时间(即CPU处理完成5000B的延续时间):5000B÷5MB=1ms 外设传送5000B的时间内,CPU花费在预处理和后处理上的时间是:500×Tclk=500÷500M(s)=1μs 传送5000B到内存的操作并不占用CPU时间。 所以: 1μs÷1ms×100 %= 0.1% 【例2】 一个DMA接口可采用周期窃取方式把字符传送到存储器,它支持的最大批量为400个字节。若存取周期为100ns,每处理一次中断需5μs,现有的字符设备的传输率为9600bit/s。假设字符之间的传输是无间隙的,若忽略预处理所需的时间,试问采用DMA方式每秒因数据传输需占用处理器多少时间?如果完全采用中断方式,又需占用处理器多少时间? DMA:每秒因数据传输需占用处理器15μs 字符设备每秒钟传送字符数:9600÷8=1200个字符/s;而CPU在1s内必须进行的DMA操作的次数:1200÷400=3次;每次DMA操作CPU花在预处理和后处理上的时间为5μs,则1s内三次DMA,则CPU花费了3×5=15μs。 中断:每秒因数据传输占用处理器6000μs 字符设备每秒钟传送字符数:9600÷8=1200个字符/s;每个字符都要中断一次,所以1200×5=6000μs 无用的条件 【例3】 假定磁盘传输数据以32位的字为单位,传输速率为1MB/s。CPU的时钟频率为50MHz。 (1)程序查询的输入输出方式,一个查询操作需要100个时钟周期,求CPU为I/O查询所花费的时间比率,假定进行足够的查询以避免数据丢失。 (2)用中断方式进行控制,每次传输的开销(包括中断处理)为100个时钟周期。求CPU为传输磁盘数据花费的时间比率。 (3)采用DMA控制进行输入输出操作,假定DMA的启动操作需要1000个时钟周期,DMA完成时处理中断需要500个时钟周期,如果平均传输的数据长度为4KB,问在磁盘工作时处理器将用多少时间比率进行输入输出操作,忽略DMA申请使用总线的影响。 假定磁盘传输数据以32位的字为单位,传输速率为1MB/s。CPU的时钟频率为50MHz。 (1)程序查询的输入输出方式,一个查询操作需要100个时钟周期,求CPU为I/O查询所花费的时间比率,假定进行足够的查询以避免数据丢失。 (1) 磁盘每秒钟传输的数据个数为:1MB÷4B=0.25M个 每个数据需要查询操作一次,则每秒钟花在查询的时间为0.25M×100×T=0.25M×100÷50M=0.5s 所以比率=50% 假定磁盘传输数据以32位的字为单位,传输速率为1MB/s。CPU的时钟频率为50MHz。 (2)用中断方式进行控制,每次传输的开销(包括中断处理)为100个时钟周期。求CPU为传输磁盘数据花费的时间比率。 (2)每个数据需要中断一次,所以同样:0.25M×100×T=0.5s。 所以比率=50% ×T - ÷50MHz

文档评论(0)

zyzsaa + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档