1、1第9章 输入输出系统作业南京大学计算机系多媒体技术研究所袁春风南京大学计算机系 多媒体技术研究所 袁春风2第一次作业(1)解释下列名词: 独立编址方式 统一编址方式 存储器映射I/O方式 中断向量 向量中断 中断响应优先级 中断处理优先级 中断服务程序 可屏蔽中断 多重中断 中断嵌套(1)习题3(2)习题4(3)习题6(4)习题7(5)习题9(6)习题10南京大学计算机系 多媒体技术研究所 袁春风3第二次作业(1)习题11(2) 习题14(3) 习题16(4) 习题17(5) 习题19南京大学计算机系 多媒体技术研究所 袁春风4第一次作业解答(1) 解释下列名词:参考答案(略)(2) CPU
2、如何进行设备寻址?I/O端口的编址方式有哪两种?各有何优缺点?参考答案(略)(3)什么是程序查询方式?说明其工作原理。参考答案(略)(4) 什么是矢量中断?说明在矢量中断方式下形成中断向量的基本方法。参考答案(略)(5)对于矢量中断,为什么I/O模块把中断向量放在总线的数据线上而不是放在地址线上。参考答案:对于矢量中断,中断响应会引起一次总线操作,要求从总线上取得中断向量。中断向量是由I/O模块送往CPU的一种特殊的数据信息。因而不能在单向输出的地址线上传输。(6)习题9参考答案(略)南京大学计算机系 多媒体技术研究所 袁春风5第一次作业解答(7) 习题10 某一计算机带有20个终端同时工作,
3、在运行用户程序的同时,能接受来自任意 一个终端输入的字符信息,并将字符回送显示(或打印)。每一个终端的键盘输入部分有一个数码缓冲寄存器RDBRi(i=120),当在键盘上按下某一个键时,相应的字符代码即进入RDBRi,并使它的“完成”状态标志Donei (i=120)置1,要等处理器把该字符代码取走后, Donei标志才置0。每个终端显示(或打印)输出部分也有一个数码缓冲寄存器TDBRi(i=120),并有一个Readyi (i=120)状态标志,该状态标志为1时,表示相应的TDBRi是空着的,准备接收新的输出字符代码,当TDBRi接收了一个字符代码后, Readyi标志才置0,并送到终端显示
4、(或打印),为了接收终端的输入信息,处理器为每个终端设计了一个指针PTRi (i=120)指向为该终端保留的主存输入缓冲区。 处理器采用下列两种方案输入键盘代码,同时回送显示(或打印)。 每隔一固定时间T转入一个状态检查程序DEVCHC,顺序地检查全部终端是否有任何键盘信息要输入,如果有,则顺序完成之。 允许任何有键盘信息输入的终端向处理器发出中断请求。全部终端采用共同的向量地址,利用它使处理器在响应中断后,转入一个中断服务程序DEVINT,由后者询问各终端状态标志,并为最先遇到的请求中断的终端服务,然后转向用户程序。要求画出两个程序的流程图。南京大学计算机系 多媒体技术研究所 袁春风6第一次
5、作业解答参考答案: 程序DEVCHCT计时到T计时到DEVCHC主程序开始1 = iDonei=1(RDBRi)=(PTRi)Readyi=1(PTRi)=TDBRi,启动i+1 = i i 20yyyNNN结束自动复位Done标志自动复位Ready标志南京大学计算机系 多媒体技术研究所 袁春风7第一次作业解答 程序DEVINT终端设备中断DEVINT主程序保护现场等准备工作1 = iDonei=1(RDBRi)=(PTRi)Readyi=1(PTRi)=TDBRi,启动i+1 = i i 20yyyNNN出错终端设备中断恢复现场等结束工作,返回南京大学计算机系 多媒体技术研究所 袁春风8第二
6、次作业解答(1) 习题11 若机器有5级中断,中断响应优先级为1-2-3-4-5,而中断处理优先级为1-4-5-2-3。要求: 设计各级中断处理程序的中断屏蔽位(令1为屏蔽,0为开放); 若在运行主程序时,同时出现第4、2级中断请求,而在处理第2级中断过程中,又同时出现1、5、3级中断请求,试画出此程序运行过程示意图。南京大学计算机系 多媒体技术研究所 袁春风9第二次作业(2001/4/9)解答参考答案:南京大学计算机系 多媒体技术研究所 袁春风10第二次作业(2001/4/9)解答参考答案:南京大学计算机系 多媒体技术研究所 袁春风11第二次作业解答(2)CPU响应中断请求和DMA请求有什么
7、区别?为什么通常使DMA请求的优先权比中断请求高?答:CPU响应中断请求的结果是让出处理器时间,调出相应的中断服务程序来执行,而响应DMA请求的结果是让出总线控制权。(3)习题16 设有一磁盘面共有磁道200道,盘面总存储容量为1.6兆字节,磁盘旋转一周时间25ms, 每道有4个区,每两个区之间有一个间隙,磁头通过每个间隙需1.25ms。问:该磁盘通道所需最大数据传输率是多少(字节/秒)?假如有人为上述磁盘机设计了一个与小型计算机之间的接口,如图所示,磁盘读出串行送入一个移位寄存器,每当移满16位后向处理器发出一个请求交换数据的信号。处理器响应请求交换的信号。并取走寄存器的内容后,磁盘机读出再
8、串行送入下一个16位的字,如此继续工作,如果现在已知处理器在接到请求交换的信号以后,最长响应时间是3微妙,这样的接口设计能否正确工作?应如何改进?南京大学计算机系 多媒体技术研究所 袁春风12第二次作业解答参考答案:每个磁道的存储容量:1.6x106/200字节区容量:1.6x106/(4x200)字节= ?区时间: (25-1.25x4)/4 ms=?最大数据传输率: 4x105字节/秒 (3.81字节/秒)送1位时间为:106 /8x4x105 =0.31微妙 3微妙而送一个字(16位)需2x1/4x105 =5微妙3微妙应增加一个16位数据缓冲器(4)习题17 假定某计算机字长16位,主
9、存周期为500毫微妙,运算器一次定点加法时间等于1.5微妙,配置的磁盘旋转速度为每分钟3000转,盘组数据面的每一磁道存两个数据块,每一块8000字符,同一磁道两个数据块之间相隔间隙的越过时间为2毫秒。问: (1)磁盘机在一个磁道上读出的最大字符率是多少?(2) 当磁盘机按最大字符率与主机交换数据时,主存频带空闲百分比是多少?南京大学计算机系 多媒体技术研究所 袁春风13第二次作业解答(3)设有一条直接寻址的“存储器-存储器”SS型加法指令,在无I/O操作打扰时的执行时间等于多少?当磁盘I/O操作与一连串这种SS型加法指令同时进行时,问平均的有效加法指令执行时间是多少?参考答案:(1) 转一圈
10、的时间为:60 x1000/3000=20ms 区间隙时间为:(20-2x2)/2=8ms 最大字符传输率为:8000/8=1000字符/毫秒(2) 当16位/字符时,则每一个字符产生一个DMA请求,即每隔106/1000=1000ns产生一个DMA请求; 50%75%当8位/字符时,则每2个字符产生一个DMA请求,即每隔2000ns产生一个DMA请求;主存周期主存周期南京大学计算机系 多媒体技术研究所 袁春风14第二次作业解答(3) 无I/O打扰时,执行一条指令的时间为: 取指500ns+取源500ns+取目500ns+执行1500ns+存结果500 =3.5 s假定16位/字符,则每隔10
11、6/1000=1000ns产生一个DMA请求;假定8位/字符,则每隔2000ns产生一个DMA请求;5 s4 s南京大学计算机系 多媒体技术研究所 袁春风15第二次作业解答(5)习题19 某终端通过RS-232串行通信接口与主机相连,采用起止式异步通信方式,若传输速率为1200波特,传输数据为8位代码、无校验位、停止位为1位。则传送一个字节所需时间约为多少?若传输速度为2400波特,停止位为2位,其他不变,则传输一个字节的时间为多少?参考答案: (a) 一个字符共占:1+8+1=10位所以一个字符所需时间约为:10 x(1/1200)=8.3毫秒(b) 一个字符共占:1+8+2=11位所以一个
12、字符所需时间约为:11x(1/2400)=4.6毫秒南京大学计算机系 多媒体技术研究所 袁春风16补充题目(1)思考题(书中第六章习题8) A Computer consist of a CPU and an I/O device D connected to main memory M via a 1-word shared bus.The CPU can execute a maximum of 105 instructions per second.An average instruction requires five machine cycles,three of which use
13、 the memory bus.A memory read or write operation uses one machine cycle.Suppose that the CPU is continuously executing “background”programs that require 95% of its instrution execution rate but not any I/O instrutions.Now the I/O device is to be used to transfer very large blocks of data to and from
14、 main memory M. (a)If prigrammed I/O is used and each 1-word I/O transfer requires the CPU to execute two instructions,estimate the maximum I/O data transfer rate Rmax possible through D.(b)Estimate Rmax if DMA is used.南京大学计算机系 多媒体技术研究所 袁春风17补充题目参考答案:(a)The CPU can only devote 5% of its time to I/O.
15、Thus the maximum I/O instrution execution rate is 105x0.05 =5000 instructions/sec. The I/O transfer rate is therefore 2500 words/sec.(b)The number of matching cycles available for DMA control is 105(0.05x5+0.95x2)=2.15x105 If we assume that the DMA module can use all of theses cycles,and ignore any setup or status-checking time,then this value is the maximum I/O transfer rate.