计算机组成原理作业1-10章答案(唐朔飞)1

中?发SEL信号; 2)CPU发启动命令 DBR?开命令接收门; ? D置0,B置1 ? 接口向设备发启动命令;3)CPU等待,输入设备读出数据;4)外设工作完成,B置0,D置1;5)准备就绪信号?接口?完成信号?控制总线? CPU;6)输入:CPU通过输入指令(IN)将DBR中的数据取走。

若为输出,除数据传送方向相反以外,其他操作与输入类似。工作过程如下: 开命令接收门;?选中,发SEL信号?设备选择器译码?接口?地址总线?1)CPU发I/O地址 2)输出: CPU通过输出指令(OUT)将数据放入接口DBR中;设备开始工作;?接口向设备发启动命令? D置0,B置1 ? 3)CPU发启动命令 4)CPU等待,输出设备将数据从 DBR取走; B置0,D置1;?接口? 5)外设工作完成,完成信号 CPU,CPU可通过指令再次向接口DBR输出数据,进行第二次传送。?控制总线?6)准备就绪信号。

13. 说明中断向量地址和入口地址的区别和联系。 解:中断向量地址和入口地址的区别:

向量地址是硬件电路(向量编码器)产生的中断源的内存地址编号,中断入口地址是中断服务程序首址。

中断向量地址和入口地址的联系:

中断向量地址可理解为中断服务程序入口地址指示器(入口地址的地址),通过它访存可获得中断服务程序入口地址。 (两种方法:在向量地址所指单元内放一条JMP指令;主存中设向量地址表。参考8.4.3)

14. 在什么条件下,I/O设备可以向CPU提出中断请求?

解:I/O设备向CPU提出中断请求的条件是:I/O接口中的设备工作完成状态为1(D=1),中断屏蔽码为0 (MASK=0),且CPU查询中断时,中断请求触发器状态为1(INTR=1)。

15. 什么是中断允许触发器?它有何作用? 解:中断允许触发器是CPU中断系统中的一个部件,他起着开关中断的作用(即中断总开关,则中断屏蔽触发器可视为中断的分开关)。

16. 在什么条件和什么时间,CPU可以响应I/O的中断请求?

解:CPU响应I/O中断请求的条件和时间是:当中断允许状态为1(EINT=1),且至少有一个中断请求被查到,则在一条指令执行完时,响应中断。

17. 某系统对输入数据进行取样处理,每抽取一个输入数据,CPU就要中断处理一次,将取样的数据存至存储器的缓冲区中,该中断处理需P秒。此外,缓冲区内每存储N个数据,主程序就要将其取出进行处理,这个处理需Q秒。试问该系统可以跟踪到每秒多少次中断请求?

解:这是一道求中断饱和度的题,要注意主程序对数据的处理不是中断处理,因此Q秒不能算在中断次数内。 N个数据所需的处理时间=P×N+Q秒 平均每个数据所需处理时间= (P×N+Q)/N秒

求倒数得:该系统跟踪到的每秒中断请求数=N/(P×N+Q)次。

19. 在程序中断方式中,磁盘申请中断的优先权高于打印机。当打印机正在进行打印时,磁盘申请中断请求。试问是否要将打印机输出停下来,等磁盘操作结束后,打印机输出才能继续进行?为什么?

解:这是一道多重中断的题,由于磁盘中断的优先权高于打印机,因此应将打印机输出停下来,等磁盘操作结束后,打印机输出才能继续进行。因为打印机的速度比磁盘输入输出的速度慢,并且暂停打印不会造成数据丢失。

26. 什么是多重中断?实现多重中断的必要条件是什么?

解:多重中断是指:当CPU执行某个中断服务程序的过程中,发生了更高级、更紧迫的事件,CPU暂停现行中断服务程序的执行,转去处理该事件的中断,处理完返回现行中断服务程序继续执行的过程。

实现多重中断的必要条件是:在现行中断服务期间,中断允许触发器为1,即开中断。

28. CPU对DMA请求和中断请求的响应时间是否一样?为什么?

解: CPU对DMA请求和中断请求的响应时间不一样,因为两种方式的交换速度相差很大,因此CPU必须以更短的时间间隔查询并响应DMA请求。响应中断请求是在每条指令执行周期结束的时刻,而响应DMA请求是在存取周期结束的时刻。

中断方式是程序切换,而程序又是由指令组成,所以必须在一条指令执行完毕才能响应中断请求,而且CPU只有在每条指令执行周期结束的时刻才发出查询信号,以获取中断请求信号,若此时条件满足,便能响应中断请求。

DMA请求是由DMA接口根据设备的工作状态向CPU申请占用总线,此时只要总线未被CPU占用,即可立即响应DMA请求;若总线正被CPU占用,则必须等待该存取周期结束时,CPU才交出总线的使用权。

30. DMA的工作方式中,CPU暂停方式和周期挪用方式的数据传送流程有何不同?画图说明。

解:两种DMA方式的工作流程见如下,其主要区别在于传送阶段,现行程序是否完全停止访存。

停止CPU访存方式的DMA工作流程如下:

现行程序 CPU DMAC I/O CPU DMAC I/O

B C D 周期窃取方式的DMA工作流程如下:

现行程序 CPU DMAC I/O CPU DMAC I/O

B C D

31. 假设某设备向CPU传送信息的最高频率是40 000次/秒,而相应的中断处理程序其执行时间为40?s,试问该外设是否可用程序中断方式与主机交换信息,为什么?

解:该设备向CPU传送信息的时间间隔 =1/40000=0.025×10-3=25 ? s < 40?s 则:该外设不能用程序中断方式与主机交换信息,因为其中断处理程序的执

行速度比该外设的交换速度慢。

32. 设磁盘存储器转速为3000转/分,分8个扇区,每扇区存储1K字节,主存与磁盘存储器数据传送的宽度为16位(即每次传送16位)。假设一条指令最长执行时间是25?s,是否可采用一条指令执行结束时响应DMA请求的方案,为什么?若不行,应采取什么方案?

解:先算出磁盘传送速度,然后和指令执行速度进行比较得出结论。

道容量= 1K ×8 ×8 位= 8KB = 4K字 数传率=4K字×3000转/分=4K字×50转/秒 =200K字/秒

一个字的传送时间=1/200K秒? 5?s (注:在此1K=1024,来自数据块单位缩写。)

因为5 ?s<<25?s,所以不能采用一条指令执行结束响应DMA请求的方案,应采取每个CPU机器周期末查询及响应DMA请求的方案(通常安排CPU机器周期=MM存取周期)。

33. 试从下面七个方面比较程序查询、程序中断和DMA三种方式的综合性能。 (1)数据传送依赖软件还是硬件。 (2)传送数据的基本单位。 (3)并行性。 (4)主动性。 (5)传输速度。 (6)经济性。 (7)应用对象。 解:比较如下:

(1)程序查询、程序中断方式的数据传送主要依赖软件,DMA主要依赖硬件。 (注意:这里指主要的趋势)

(2)程序查询、程序中断传送数据的基本单位为字或字节,DMA为数据块。 (3)程序查询方式传送时,CPU与I/O设备串行工作;程序中断方式时,CPU与I/O设备并行工作,现行程序与I/O传送串行进行;DMA方式时,CPU与I/O设备并行工作,现行程序与I/O传送并行进行。

(4)程序查询方式时,CPU主动查询I/O设备状态;程序中断及DMA方式时,CPU被动接受I/O中断请求或DMA请求。

(5)程序中断方式由于软件额外开销时间比较大,因此传输速度最慢;程序查询方式软件额外开销时间基本没有,因此传输速度比中断快;DMA方式基本由硬件实现传送,因此速度最快;

注意:程序中断方式虽然CPU运行效率比程序查询高,但传输速度却比程序查询慢。

(6)程序查询接口硬件结构最简单,因此最经济;程序中断接口硬件结构稍微复杂一些,因此较经济;DMA控制器硬件结构最复杂,因此成本最高; (7)程序中断方式适用于中、低速设备的I/O交换;程序查询方式适用于中、低速实时处理过程;DMA方式适用于高速设备的I/O交换; 讨论:

问题1:这里的传送速度指I/O设备与主存间,还是I/O与CPU之间? 答:视具体传送方式而定,程序查询、程序中断为I/O与CPU之间交换,DMA

为I/O与主存间交换。

问题2:主动性应以CPU的操作方式看,而不是以I/O的操作方式看。 补充题:

一、某CRT显示器可显示64种ASCII字符,每帧可显示72字×24排;每个字符字形采用7×8点阵,即横向7点,字间间隔1点,纵向8点,排间间隔6点;帧频50Hz,采取逐行扫描方式。假设不考虑屏幕四边的失真问题,且行回扫和帧回扫均占扫描时间的20%,问: 1)显存容量至少有多大?

2)字符发生器(ROM)容量至少有多大? 3)显存中存放的是那种信息?

4)显存地址与屏幕显示位置如何对应? 5)设置哪些计数器以控制显存访问与屏幕扫描之间的同步?它们的模各是多少?

6)点时钟频率为多少? 解:1)显存最小容量=72×24×8 =1728B

2)ROM最小容量=64×8行×8列= 512B(含字间隔1点) 3)显存中存放的是ASCII码信息。

4)显存每个地址对应一个字符显示位置,显示位置自左至右,从上到下,分别对应缓存地址由低到高。

5)设置点计数器、字计数器、行计数器、排计数器控制显存访问与屏幕扫描之间的同步。

它们的模计算如下: 点计数器模 = 7+1 = 8 行计数器模 = 8 + 6 = 14

字、排计数器的模不仅与扫描正程时间有关,而且与扫描逆程时间有关,因此计算较为复杂。

列方程: (72+x)× 0.8 = 72

(24+y)× 0.8 = 24

解方程得:x = 18,y = 6,则: 字计数器模 = 72 + 18 = 90 排计数器模 = 24 + 6 = 30 6)点频 = 50Hz × 30排 × 14行 × 90字 × 8点 = 15 120 000Hz= 15.12MHz

二、有一编码键盘,其键阵列为8行×16列,分别对应128种ASCII码字符,采用硬件扫描方式确认按键信号,问: 1)扫描计数器应为多少位? 2)ROM容量为多大? 3)若行、列号均从0开始编排,则当第5行第7列的键表示字母“F”时,CPU从键盘读入的二进制编码应为多少(设采用奇校验)? 4)参考教材图5.15,画出该键盘的原理性逻辑框图; 5)如果不考虑校验技术,此时ROM是否可省? 解:1)扫描计数器 = 7位(与键的个数有关)

2)ROM容量 = 128 × 8 = 128B(与字符集大小有关)

联系客服:779662525#qq.com(#替换为@)