《计算机组成原理课后答案(第二版)-唐朔飞-第五章.ppt》由会员分享,可在线阅读,更多相关《计算机组成原理课后答案(第二版)-唐朔飞-第五章.ppt(50页珍藏版)》请在三一办公上搜索。
1、输入输出系统,第 五章,补充题:一、某CRT显示器可显示64种ASCII字符,每帧可显示72字24排;每个字符字形采用78点阵,即横向7点,字间间隔1点,纵向8点,排间间隔6点;帧频50Hz,采取逐行扫描方式。假设不考虑屏幕四边的失真问题,且行回扫和帧回扫均占扫描时间的20%,问:1)显存容量至少有多大?2)字符发生器(ROM)容量至少有多大?3)显存中存放的是那种信息?4)显存地址与屏幕显示位置如何对应?,5)设置哪些计数器以控制显存访问与屏幕扫描之间的同步?它们的模各是多少?6)点时钟频率为多少?解:1)显存最小容量=72248=1728B 2)ROM最小容量=648行8列=512B(含字
2、间隔1点,或5127位)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 00
3、0Hz=15.12MHz,讨论:1、VRAM、ROM容量应以字或字节为单位;2、字模点阵在ROM中按行存放,一行占一个存储单元;3、显存中存放的是ASCII码而不是像素点;4、计算计数器的模及点频时应考虑回扫时间。,二、有一编码键盘,其键阵列为8行16列,分别对应128种ASCII码字符,采用硬件扫描方式确认按键信号,问:1)扫描计数器应为多少位?2)ROM容量为多大?3)若行、列号均从0开始编排,则当第5行第7列的键表示字母“F”时,CPU从键盘读入的二进制编码应为多少(设采用奇校验)?4)参考教材图5.15,画出该键盘的原理性逻辑框图;5)如果不考虑校验技术,此时ROM是否可省?,解:1)
4、扫描计数器=7位(与键的个数有关)2)ROM容量=128 8=128B(与字符集大小有关)3)CPU从键盘读入的应为字符“F”的ASCII码=01000110(46H),其中最高位为奇校验位(注:不是位置码)。4)该键盘的原理性逻辑框图见下页,与教材图5.15类似,主要需标明参数。5)如果不考虑校验技术,并按ASCII码位序设计键阵列(注意),则ROM编码表可省,此时7位计数器输出值(扫描码或键位置码)即为ASCII码。,8X16键盘矩阵,该键盘的原理性逻辑框图如下:,七位计数器,时钟发生器,ROM128B,CPU,列译码器4:16,行译码器3:8,中断触发器,单稳,延迟,-RD,-CS,地址
5、译码输入,1.I/O有哪些编址方式?各有何特点?解:常用的I/O编址方式有两种:I/O与内存统一编址和I/O独立编址;特点:I/O与内存统一编址方式的I/O地址采用与主存单元地址完全一样的格式,I/O设备和主存占用同一个地址空间,CPU可像访问主存一样访问I/O设备,不需要安排专门的I/O指令。I/O独立编址方式时机器为I/O设备专门安排一套完全不同于主存地址格式的地址编码,此时I/O地址与主存地址是两个独立的空间,CPU需要通过专门的I/O指令来访问I/O地址空间。,6,讨论:I/O编址方式的意义:I/O编址方式的选择主要影响到指令系统设计时I/O指令的安排,因此描述其特点时一定要说明此种I
6、/O编址方式对应的I/O指令设置情况。I/O与内存统一编址方式将I/O地址看成是存储地址的一部分,占用主存空间;问题:确切地讲,I/O与内存统一编址的空间为总线空间,I/O所占用的是内存的扩展空间。,2.简要说明CPU与I/O之间传递信息可采用哪几种联络方式?它们分别用于什么场合?答:CPU与I/O之间传递信息常采用三种联络方式:直接控制(立即响应)、同步、异步。适用场合分别为:直接控制适用于结构极简单、速度极慢的I/O设备,CPU直接控制外设处于某种状态而无须联络信号。同步方式采用统一的时标进行联络,适用于CPU与I/O速度差不大,近距离传送的场合。异步方式采用应答机制进行联络,适用于CPU
7、与I/O速度差较大、远距离传送的场合。,讨论:注意I/O交换方式、I/O传送分类方式与I/O联络方式的区别:串行、并行I/O传送方式常用于描述I/O传送宽度的类型;I/O交换方式主要讨论传送过程的控制方法;I/O联络方式主要解决传送时CPU与I/O之间如何取得通信联系以建立起操作上的同步配合关系。,6.字符显示器的接口电路中配有缓冲存储器和只读存储器,各有何作用?解:显示缓冲存储器中存放着一屏要显示的字符ASCII码信息,它的作用是支持屏幕扫描时的反复刷新;只读存储器中存放着字符集中所有字符的点阵信息,作为字符发生器使用,他起着将字符的ASCII码转换为字形点阵信息的作用。,8.某计算机的I/
8、O设备采用异步串行传送方式传送字符信息。字符信息的格式为一位起始位、七位数据位、一位校验位和一位停止位。若要求每秒钟传送480个字符,那么该设备的数据传送速率为多少?解:48010=4800位/秒=4800波特;波特是数据传送速率波特率的单位。注:题意中给出的是字符传送速率,即:字符/秒。要求的是数据传送速率,串行传送时一般用波特率表示。两者的区别:字符传送率是数据的“纯”有效传送率,不含数据格式信息;波特率是“毛”传送率,含数据格式信息。,10.什么是I/O接口?它与端口有何区别?为什么要设置I/O接口?I/O接口如何分类?解:I/O接口一般指CPU和I/O设备间的连接部件;I/O端口一般指
9、I/O接口中的各种寄存器。为了便于程序对这些寄存器进行访问,通常给每个寄存器分配一个地址编号,这种编号被称为I/O端口地址,相应的寄存器也叫作I/O端口。I/O接口和I/O端口是两个不同的概念。一个接口中往往包含若干个端口,因此接口地址往往包含有若干个端口地址。,由于I/O设备的物理结构和工作速率一般与主机差异很大,无法直接相连,因此通常通过I/O接口进行连接。I/O接口分类方法很多,主要有:按数据传送方式分,有并行接口和串行接口两种;按数据传送的控制方式分,有程序控制接口、程序中断接口、DMA接口三种。,12.结合程序查询方式的接口电路,说明其工作过程。解:程序查询接口工作过程如下(以输入为
10、例):1)CPU发I/O地址地址总线接口设备选择器译码选中,发SEL信号开命令接收门;2)CPU发启动命令 D置0,B置1 接口向设备发启动命令设备开始工作;3)CPU等待,输入设备读出数据 DBR;4)外设工作完成,完成信号接口 B置0,D置1;5)准备就绪信号控制总线 CPU;6)输入:CPU通过输入指令(IN)将DBR中的数据取走;,若为输出,除数据传送方向相反以外,其他操作与输入类似。工作过程如下:1)CPU发I/O地址地址总线接口设备选择器译码选中,发SEL信号开命令接收门;2)输出:CPU通过输出指令(OUT)将数据放入接口DBR中;3)CPU发启动命令 D置0,B置1 接口向设备
11、发启动命令设备开始工作;4)CPU等待,输出设备将数据从 DBR取走;5)外设工作完成,完成信号接口 B置0,D置1;6)准备就绪信号控制总线 CPU,CPU可通过指令再次向接口DBR输出数据,进行第二次传送。,13.说明中断向量地址和入口地址的区别和联系。解:中断向量地址和入口地址的区别:向量地址是硬件电路(向量编码器)产生的中断源的内存中断向量表表项地址编号,中断入口地址是中断服务程序首址。中断向量地址和入口地址的联系:中断向量地址可理解为中断服务程序入口地址指示器(入口地址的地址),通过它访存可获得中断服务程序入口地址。(两种方法:在向量地址所指单元内放一条JMP指令;主存中设向量地址表
12、。参考),讨论:硬件向量法的实质:当响应中断时,为了更快、更可靠的进入对应的中断服务程序执行,希望由硬件直接提供中断服务程序入口地址。但在内存地址字较长时这是不可能的。因此由硬件先提供中断源编号、再由编号间接地获得中断服务程序入口地址。这种中断源的编号即向量地址。由于一台计算机系统可带的中断源数量很有限,因此向量地址比内存地址短得多,用编码器类逻辑部件实现很方便。,14.在什么条件下,I/O设备可以向CPU提出中断请求?解:I/O设备向CPU提出中断请求的条件是:I/O接口中的设备工作完成状态为1(D=1),中断屏蔽码为0(MASK=0),且CPU查询中断时,中断请求触发器状态为1(INTR=
13、1)。15.什么是中断允许触发器?它有何作用?解:中断允许触发器是CPU中断系统中的一个部件,他起着开关中断的作用(即中断总开关,则中断屏蔽触发器可视为中断的分开关)。,16.在什么条件和什么时间,CPU可以响应I/O的中断请求?解:CPU响应I/O中断请求的条件和时间是:当中断允许状态为1(EINT=1),且至少有一个中断请求被查到,则在一条指令执行完时,响应中断。,8,17.某系统对输入数据进行取样处理,每抽取一个输入数据,CPU就要中断处理一次,将取样的数据存至存储器的缓冲区中,该中断处理需P秒。此外,缓冲区内每存储N个数据,主程序就要将其取出进行处理,这个处理需Q秒。试问该系统可以跟踪
14、到每秒多少次中断请求?,解:这是一道求中断饱和度的题,要注意主程序对数据的处理不是中断处理,因此Q秒不能算在中断次数内。N个数据所需的处理时间=PN+Q秒 平均每个数据所需处理时间=(PN+Q)/N 秒;求倒数得:该系统跟踪到的每秒中断请求数=N/(PN+Q)次。,19.在程序中断方式中,磁盘申请中断的优先权高于打印机。当打印机正在进行打印时,磁盘申请中断请求。试问是否要将打印机输出停下来,等磁盘操作结束后,打印机输出才能继续进行?为什么?解:这是一道多重中断的题,由于磁盘中断的优先权高于打印机,因此应将打印机输出停下来,等磁盘操作结束后,打印机输出才能继续进行。因为打印机的速度比磁盘输入输出
15、的速度慢,并且暂停打印不会造成数据丢失。,22.程序查询方式和程序中断方式都是通过“程序”传送数据,两者的区别是什么?答:程序查询方式通过“程序”传送数据时,程序对I/O的控制包括了I/O准备和I/O传送两段时间。由于I/O的工作速度比CPU低得多,因此程序中要反复询问I/O的状态,造成“踏步等待”,严重浪费了CPU的工作时间。而程序中断方式虽然也是通过“程序”传送数据,但程序仅对I/O传送阶段进行控制,I/O准备阶段不需要CPU查询。故CPU此时照样可以运行现行程序,与I/O并行工作,大大提高了CPU的工作效率。,25.根据以下要求设计一个产生3个设备向量地址的电路。(1)3个设备的优先级按
16、ABC降序排列。(2)A、B、C的向量地址分别为110 100、010 100、000 110。(3)排队器采用链式排队电路。(4)当CPU发来中断响应信号INTA时,可将向量地址取至CPU。解:此题与教材例5.2类似,可参考设计。该设备向量地址的电路如下:,INTRA,1,1,&,&,/INTRA,来自高一级的排队器,INTRB,&,INTRC,&,1,&,/INTRB,&,/INTRB,至低一级的排队器,设备编码器,INTPA,INTPB,INTPC,数据总线,110100,010100,000110,INTA,26.什么是多重中断?实现多重中断的必要条件是什么?解:多重中断是指:当CPU
17、执行某个中断服务程序的过程中,发生了更高级、更紧迫的事件,CPU暂停现行中断服务程序的执行,转去处理该事件的中断,处理完返回现行中断服务程序继续执行的过程。实现多重中断的必要条件是:在现行中断服务期间,中断允许触发器为1,即开中断。,28.CPU对DMA请求和中断请求的响应时间是否相同?为什么?解:CPU对DMA请求和中断请求的响应时间不相同,因为两种方式的交换速度相差很大,因此CPU必须以更短的时间间隔查询并响应DMA请求(一个存取周期末)。,30.在DMA的工作方式中,CPU暂停方式和周期挪用方式的数据传送流程有何不同?画图说明。解:两种DMA方式的工作流程见下页,其主要区别在于传送阶段,
18、现行程序是否完全停止访存。,停止CPU访存方式的DMA工作流程如下:现行程序 CPU DMAC I/O,DMA预处理:向DMAC送MM缓冲区 首址;I/O设备 地址;交换个数;启动I/O,现行程序,开始工作,启动,I/O准备,就绪,DMA请求,I/O数据送BR或(BR)送I/O,总线请求,现行程序,数据传送:响应,停止CPU访存,准备下个数据,(AR)送MM(MAR);(AR)+1;R/W(BR)送MDR;WC减1;,就绪,DMA请求,现行程序等待,B,I/O数据送BR或(BR)送I/O,C,让出总线,CPU DMAC I/O B C D,准备下个数据,(AR)送(MAR);(AR)+1;R/
19、W(BR)送MDR;WC减1;,现行程序,响应中断,后处理:中断服务程序:校验、错误检测、停止外设或再启动及初始化。,现行程序,I/O停止,WC=0,现行程序等待,周期窃取方式的DMA工作流程如下:现行程序 CPU DMAC I/O,DMA预处理:向DMAC送MM缓冲区 首址;I/O设备 地址;交换个数;启动I/O,现行程序,开始工作,启动,I/O准备,就绪,DMA请求,I/O数据送BR或(BR)送I/O,总线请求,现行程序,数据传送:响应,让出一个MM周期,准备下个数据,(AR)送MM(MAR);(AR)+1;R/W(BR)送MDR;WC减1;,就绪,DMA请求,现行程序,总线请求,I/O数
20、据送BR或(BR)送I/O,C,CPU DMAC I/O B C D,数据传送:响应,让出一个MM周期,准备下个数据,(AR)送(MAR);(AR)+1;R/W(BR)送MDR;WC减1;,现行程序,响应中断,后处理:中断服务程序:校验、错误检测、停止外设或再启动及初始化。,现行程序,I/O停止,WC=0,31.假设某设备向CPU传送信息的最高频率是40 000次/秒,而相应的中断处理程序其执行时间为40s,试问该外设是否可用程序中断方式与主机交换信息,为什么?解:该设备向CPU传送信息的时间间隔=1/40K=0.025103=25s 40s 则:该外设不能用程序中断方式与主机交换信息,因为其
21、中断处理程序的执行速度比该外设的交换速度慢。,举例说明:(输入)假设初始CPU空闲,则当I/O将第一个数据放在接口的数据缓冲寄存器中后,向CPU发第一个中断请求,CPU立即响应;I/O设备匀速运行,25s后,第二个中断请求到来,CPU正在执行中断程序接收第一个数据,40s时响应;50s后,第三个中断请求到来,CPU正在执行中断程序接收第二个数据,要到80s时响应;75s后,第四个中断请求到来,但此时第三个中断请求还没有响应,则放在数据缓冲寄存器中的第三个数据来不及接收,被第四个数据冲掉;,32.设磁盘存储器转速为3000转/分,分8个扇区,每扇区存储1K字节,主存与磁盘存储器数据传送的宽度为1
22、6位(即每次传送16位)。假设一条指令最长执行时间是25s,是否可采用一条指令执行结束时响应DMA请求的方案,为什么?若不行,应采取什么方案?,解:先算出磁盘传送速度,然后和指令执行速度进行比较得出结论。道容量=1KB816=1K 8 8 16=1K 4=4K字数传率=4K字3000转/分=4K字50转/秒=200K字/秒一个字的传送时间=1/200K字/秒5s 注:在此1K=1024,来自数据块单位缩写。由上计算知:5 s25 s,所以不能采用一条指令执行结束响应DMA请求的方案,应采取每个CPU机器周期末查询及响应DMA请求的方案(通常安排CPU机器周期=MM存取周期)。,讨论:扇面、扇段
23、和扇区:扇面指磁盘分区后形成的扇形区域;扇段指扇面上一个磁道所对应的弧形区域;扇区通常用来泛指扇面或扇段。由于磁盘是沿柱面存取而不是沿扇面存取,因此习惯上扇区即指扇段,不用特别说明也不会引起误会。问题:是否磁盘转一圈读完所有扇区上的磁道?答:应为:磁盘转一圈读完一个磁道上的所有扇区,然后转到下一盘面的同一位置磁道接着读(如果文件未读完的话)。,33.试从下面七个方面比较程序查询、程序中断和DMA三种方式的综合性能。(1)数据传送依赖软件还是硬件;(2)传送数据的基本单位;(3)并行性;(4)主动性;(5)传输速度;(6)经济性;(7)应用对象。解:比较如下:(1)程序查询、程序中断方式的数据传
24、送主要依赖软件,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方式基本由硬件实
25、现传送,因此速度最快;注意:程序中断方式虽然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的操作方式看。
26、,补充题:一、某CRT显示器可显示64种ASCII字符,每帧可显示72字24排;每个字符字形采用78点阵,即横向7点,字间间隔1点,纵向8点,排间间隔6点;帧频50Hz,采取逐行扫描方式。假设不考虑屏幕四边的失真问题,且行回扫和帧回扫均占扫描时间的20%,问:1)显存容量至少有多大?2)字符发生器(ROM)容量至少有多大?3)显存中存放的是那种信息?4)显存地址与屏幕显示位置如何对应?,5)设置哪些计数器以控制显存访问与屏幕扫描之间的同步?它们的模各是多少?6)点时钟频率为多少?,二、有一编码键盘,其键阵列为8行16列,分别对应128种ASCII码字符,采用硬件扫描方式确认按键信号,问:1)扫
27、描计数器应为多少位?2)ROM容量为多大?3)若行、列号均从0开始编排,则当第5行第7列的键表示字母“F”时,CPU从键盘读入的二进制编码应为多少(设采用奇校验)?4)参考教材图5.15,画出该键盘的原理性逻辑框图;5)如果不考虑校验技术,此时ROM是否可省?,三、一针式打印机采用79点阵打印字符,每行可打印132个字符,共有96种可打印字符,用带偶校验位的ASCII码表示。问:1)打印缓存容量至少有多大?2)字符发生器容量至少有多大?3)列计数器应有多少位?4)缓存地址计数器应有多少位?解:1)打印缓存最小容量=1328=132B(考虑偶校验位)2)ROM最小容量=967列9行=6729位,3)列计数器=3位(7列向上取2的幂)4)缓存地址计数器=8位(132向上取2的幂)讨论:1、由于针打是按列打印,所以ROM一个存储单元中存一列的9个点,则容量为6729位;2、列计数器是对列号进行计数,所以模=7,3位(模不等于位数);3、同样缓存地址计数器模=132,8位。,返回目录,