计算机组成原理(唐朔飞版)第五章课后习题

计算机组成原理(唐朔飞版)第五章课后习题

5.1 I/O 设备有哪些编址方式,各有何特点?

1.独立编址(专用的 I/O 端口编址)----存储器和 I/O 端口在两个独立的地址空间中
(1)优点:I/O 端口的地址码较短,译码电路简单,存储器同 I/O 端口的操作指令不同,程序比较清晰;存储器和 I/O 端口的控制结构相互独立,可以分别设计
(2)缺点:需要有专用的 I/O 指令,程序设计的灵活性较差
2**.统一编址**(存储器映像编址)----存储器和 I/O 端口共用统一的地址空间,当一个地址空间分配给 I/O 端口以后,存储器就不能再占有这一部分的地址空间
(1)优点:不需要专用的 I/O 指令,任何对存储器数据进行操作的指令都可用于 I/O 端口的 数据操作,程序设计比较灵活;由于 I/O 端口的地址空间是内存空间的一部分,这样,I/O 端口的地址空间可大可小,从而使外设的数量几乎不受限制
(2)缺点:I/O 端口占用了内存空间的一部分,影响了系统的内存容量;访问 I/O 端口也要同访问内存一样,由于内存地址较长,导致执行时间增加!

5.2 简要说明CPU与I/O设备之间传递信息可采用哪几种联络方式,它们分别用于什么场合。

CPU 和 I/O 之间的联络方式有三种。
(1)立即响应方式。对于一些工作速度十分缓慢的 I/O 设备,如指示灯的亮与灭、开关的通与断、A/D 转换器缓变信号的输入等,当它们与 CPU 发生联系时,通常都已使其处于某 种等待状态,因此,只要 CPU 的 I/O 指令一到,它们便立即响应,故这种设备无须特殊联 络信号,称为立即响应方式;
(2)异步方式。对于一些慢速或中速的外设,由于与主机工作速度不匹配,且本身又在不 规则实际间隔下操作,则大多采用异步方式。即交换信息前,I/O 与 CPU 各自完成自身的 任务,仅当出现联络信号时,彼此才交换信息。联络时采用应答方式,如“Ready”和“Strobe” 可分别用来表示“准备就绪”和“响应”含义;
(3)同步方式。同步工作要求 I/O 设备与 CPU 的工作速度完全同步。例如,在数据采集过程中,若外部数据以 2400 bps 的速率传送至接口,则 CPU 也必须以 1/2400 s 的速率接收每一位数。这 种联络互相之间还得配有专用电路,用以产生同步时标来控制同步工作。

5.3I/O 设备与主机交换信息时,共有哪几种控制方式?简述它们的特点。

有程序查询方式、程序中断方式、DMA 方式、通道方式和 I/O 处理机的方式。 其特点分别如下: (1)程序查询方式:主机和 I/O 串行工作,如果 I/O 忙,那么 CPU 踏步等待。这种效率很低。
(2) 程序中断方式: 主机和 I/O 并行工作。这种方式消除了 CPU 踏步等待的现象,提高了 CPU 的工作效率。
(3) DMA 方式: 主机和 I/O 并行工作。主存和 I/O 之间有一条直接数据通路,CPU 不参与 I/O 和主存间的信息交换,故不必中段现行程序,CPU 效率更高。
(4)通道方式:通道是一个具有特殊功能的处理器,CPU 把部分权利下方给通道,由它实现对外围设备的统一管理和外围设备与主存间的数据交换,大大提高了 CPU 的效率,但他是以花费更多的硬件为代价的。
(5)I/O 处理机方式:他是通道方式的进一步发展,CPU 将 I/O 操作及外围设备的管理权全 部 交给 I/O 处理机,其实质就是多机系统,因而效率有更大的提高。

5.4 试比较程序查询方式、程序中断方式和 DMA 方式对 CP U 工作效率的影响

1)程序查询方式要求 CPU 时刻查询 I/O,直到 I/O 准备好为止,这种方式 CPU 工作效率很低。 (2)程序中断方式比程序中断方式提高了 CPU 的工作效率,消除了“踏步”现象,CPU 工作效率得到提高。
(3)DMA 方式中 CPU 的工作效率是这三种之中最高的一个。 CPU 启动 I/O 后,不必查询 I/O 是否准备好,当 I/O 准备就绪后,发出 DMA 请求,此时 CPU 不直接参与 I/O 和主存间的信息 交换,只是把外部总线的使用权暂时交付 DMA,仍然可以完成自身内部的操作,所以不必中断现行程序,只需暂停一个存取周期访存,CPU 效率更高。

5.5 图形显示和图像显示有何区别?

图形一般指用计算机绘制的画面,如直线、圆、圆弧、任意曲线和图表等;图像则是指由输 入设备捕捉的实际场景画面或以数字化形式存储的任意画面。 图像都是由一些排成行列的像素组成的,一般数据量都较大。而图形文件中只记录生成图的 算法和图上的某些特征点,也称矢量图。相对于位图的大数据量来说,它占用的存储空间较小。

5.6 字符显示器的接口电路中配有缓冲存储器和只读存储器,各有何作用?

字符显示器的接口电路中,缓冲存储器由 RAM 组成,用来存放计算机准备显示的字符编码。 缓存的每一地址分别对应 CRT 显示屏上的不同位置,缓存每一单元的内容即为欲显示字符的 ASCI 码。
字符显示器接口电路中的只读存储器是用来存放每一个 ASCII 码对应的光点代码的,如果 荧光屏上的字符是以5X7光点组成,则ROM可视为将ASCI码变为一组5×7光点矩阵的部件, 又称为字符发生器

5.7 试比较针式打印机、激光打印机和喷墨打印机的特点。

三种打印机都配有一个字符发生器,它们的共同点是都能将字符编码信息变为点阵信息,不 同的是这些点阵信息的控制对象不同。

点阵针式打印机的字符点阵用于控制打印针的驱动电路;
激光打印机的字符点阵脉冲信号用于控制激光束;
喷墨打印机的字符点阵信息控制墨滴的运动轨迹。
此外, 点阵针式打印机属于击打式的打印机,可以逐字打印,也可以逐行打印;
喷墨打印机只能逐字打印;
激光打印机属于页式输出设备。
后两种都属于非击打式打印机。

5.8 某计算机的 I/O 设备采用异步串行传送方式传送字符信息。字符信息的格式为 1 位起始 位、7 位数据位、1 位检验位和 1 位停止位。若要求每秒钟传送 480 个字符,那么该设备的数据传送速率为多少?

480 * 10 = 4800b/s

5.9 什么是多媒体技术?简要说明研制多媒体技术的关键

多媒体技术是一种利用计算机系统处理和整合多种不同信息类型的科技,这些信息类型包括文本、图像、音频、视频和动画。
数据压缩与解压缩:
1.多媒体数据通常体积庞大,因此高效的压缩算法对于减少存储空间需求和加快传输速度至关重要。例如,视频和音频文件使用不同的编码标准(如H.264、H.265、AAC等)来压缩数据,同时保持可接受的质量。
大容量存储:
2.高密度存储技术,如硬盘驱动器(HDD)、固态驱动器(SSD)和光盘(如CD-ROM、DVD和Blu-ray),对于存储大量的多媒体数据至关重要。

5.10 什么是 I/O 接口,它与端口有何区别?为什么要设置 I/O 接口?I/O 接口如何分类?

I/O接口通常是指主机与IO设备之间设置的一个硬件电路及其相应的软件控制
端口是指接口电路中的一些寄存器,这些寄存器用来存放数据细腻,控制信息,和状态信息。

设置I/O端口的理由:
1.通过I/O端口可实现I/O设备的选择
2.通过I/O端口可以实现数据的缓冲,达到的数据的匹配
3.实现串并的转换
4.电平转换
5.通过接口可传送控制命令
6.通过接口可监设的工作状态

按数据的传送方式有:并行和串行
按功能选择的灵活性: 可编程和不可编程
按通用性分类:有通用接口和专用接口
按数据传输控制方式分类,有程序性接口和DMA接口

5.11 简述 I/O 接口的功能和基本组成。

1)选址功能,这种功能可通过接口内的设备选择电路实现
2)传送命令功能:通常由接口内的存放命令的寄存器以及命令译码器实现
3)传送数据的功能:接口中通常设有数据缓冲寄存器,它用来暂存I/O设备与主机准备交换的信息

5.12结合程序查询方式的接口电路,说明其工作过程。

在这里插入图片描述
图中设备选择电路用以识别本设备地址,当地地址线上的设备号与本设备号相符时,SEL有效,可以接收命令;数据缓冲寄存器用于存放欲传送的数据;D是完成触发器,B是工作触发器。
以输入设备为例,该接口的工作过程如下:
①当CPU通过I/O指令启动输入设备时,指令的设备码字段通过地址线送至设备选择电路。
②若该接口的设备码与地址线上的代码吻合,其输出SEL有效。
③I/O指令的启动命令经过“与非”门将工作触发器B置“1”,将完成触发器D置“0”。
④由B触发器启动设备工作。
⑤ 输入设备将数据送至数据缓冲寄存器。
⑥由设备发设备工作结束信号,将D置“1”,B 置“0”,表示外设准备就绪。
⑦D触发器以“准备就绪”状态通知 CPU,表示“数据缓冲满”。
⑧CPU执行输入指令,将数据缓冲寄存器中的数据送至CPU的通用寄存器,再存入主存相关单元。

5.13 说明中断向量地址和入口地址的区别和联系。

区别
向量地址是硬件电路(向量编码器)产生的中断源的内存地址编号,中断入口地址是中断服务程序首址。
联系
中断向量地址可理解为中断服务程序入口地址指示器(入口地址的地址),通过它访存可获得中断服务程序入口地址

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

I/O设备向CPU提出中断请求的条件是:I/O接口中的设备工作完成状态为1(D=1),中断屏蔽码为0(MASK=0)

5.15什么是中断允许触发器?它有何作用?

中断允许触发器是 CPU 中断系统中的一个部件,他起着开关中断的作用(即中断总开关,则中断屏蔽触发器可视为中断的分开关)。在 CPU 中断系统中,一个中断源的请求要得到响应,必须满足一定的条件。如果某一个中断被开放,且中断请求符合响应条件,CPU 会及时响应该中断请求,并置相应的中断允许触发器状态为 1.

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

CPU响应I/O中断请求的条件是:允许中断触发器是“1”状态(即开中断);I/O本身有请求又未被屏蔽;经排队后又被选中。
一条指令执行完毕:CPU通常在完成当前指令的执行周期后响应中断请求。这是因为指令的执行必须保持完整性和一致性,不能在中间被打断。

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

答:
N个数据所需的处理时间=P×N+Q秒
平均每个数据所需处理时间= (P×N+Q)/N 秒;
求倒数得:
该系统跟踪到的每秒中断请求数=N/(P×N+Q)次。
(主程序对数据的处理不是中断处理,因此Q秒不能算在中断次数内。)

5.18试以键盘设备为例,结合中断接口电路,说明其工作过程。

1)CPU 发启动键盘命令,将键盘接口中的工作状态触发器 B 置为“1” ,完成触发器 D 置为“0” 。
2)接口启动键盘开始工作。
3)键盘按下一个键,将按键的 ASCII 码送入键盘接口的数据缓冲寄存器。
4)键盘向接口发“设备结束工作”信号,将 D 置为“1” 置为“0” ,B ,标志键盘准备就绪。
5)当键盘准备就绪 D=1,且键盘未被屏蔽(MASK=0)时,在指令执行阶段的结束时刻,由 CPU 发 出中断查询信号。
6)键盘中断请求触发器 INTR 被置为“1” ,标志键盘向 CPU 提出中断请求。同时将 INTR 送至排队器, 进行中断判优。
7)若 CPU 允许中断(EINT=1) ,设备又被排队选中,即进入中断响应阶段。由 INTA 将排队器的输出送至编码器形成键盘的向量地址。
8)键盘的中断向量地址送至 PC,作为下条指令的地址。
9)由键盘向量地址转至键盘中断服务程序入口地址,并开始执行中断服务程序,进去中断服务阶段。将键盘缓冲区的按键 ASCII 码送入 CPU 的通用 寄存器。
10)中断服务程序结束,由中断返回原程序间断处继续执行。(中断返回)(此时就完成了一个完整的程序中断过程)

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

不需要圆盘的中断优先级没有打印机的高,由于磁盘中断的优先权高于打印机,因此应该将打印机停下来,等磁盘操作结束后,打印机输出才能继续进行,因为打印机的速度比磁盘输入输出的速度慢并且暂停打印不会造成数据丢失。

5.20试比较单重中断和多重中断服务程序的处理流程,说明它们不同的原因。

计算机在处理中断的过程中,有可能出现新的中断请求,此时如果CPU暂停现行的中断服务程序,转去处理新的中断请求,这种现象称为中断嵌套,或多重中断。倘若CPU在执行中断服务程序时,对新的中断请求不予理睬,这种中断称为单重中断。这两种处理方式的中服务程序略有区别。
在这里插入图片描述
在中断服务程序中,开中断指令安排的位置不同。
单重中断的开中断指令安排在“恢复现场”之后,中断返回之前;
多重中断的开中断指令安排在“保护现场”之后。
由于CPU一旦响应了中断会自动关中断,因此单重中断在恢复现场之前,CPU不可能再次响应任何新的中断请求。
而多重中断在保护现场之后立即“开中断”,因此在此后CPU便可以再次响应级别更高的中断源请求,实现多重中断。

5.21中断向量通过什么总线送至什么地方?为什么?

答:
中断向量通过数据线送至CPU中的PC,中断向量代表了中断服务程序的入口地址,在中断响应阶段根据这个入口地址访问处理程序。

5.22程序查询方式和程序中断方式都是通过“程序”传送数据,两者的区别是什么?

程序查询方式是用户在程序中安排一段输入输出程序,它由I/O 指令、测试指令和转移指令等组成。CPU一旦启动 I/O 后,就进入这段程序,时刻查询 I/O 准备的情况,若未准备就绪就踏步等待;若准备就绪就实现传送。在输入输出的全部过程中,CPU 停止自身操作。
程序中断方式虽也要用程序实现外部设备的输入输出,但它只是以中断服务程序的形式插入到用户现行程序中。即 CPU 启动 I/O 后,继续自身的工作,不必查询 I/O 的状态。而 I/O 被启动后,便进入自身的准备阶段,当其准备就绪时,向 CPU 提出中断请求,此时若满足条件,CPU 暂停现行程序,转入该设备的中断服务程序,在服务程序中实现数据的传送

5.23调用中断服务程序和调用子程序有何区别?

答:
(1)子程序的执行是程序员事先安排好的(由调用子程序的指令转入);中断服务程序的执行一般由随机的中断事件引发
(2)子程序的执行受到主程序或上层子程序的控制;中断服务程序一般与被中断的现行程序无关。
(3)不存在同时调用多个子程序的情况,因此子程序不需要进行优先级排队;而不同中断源则可能同时向CPU 提出服务请求,因此需要中断仲裁及优先级排队。
(4)子程序是由调用指令给出目标地址,中断是通过隐指令获得中断服务程序的入口地址。

5.24试分析图 5.33 所示对多个设备的查询流程,说明这种处理方式存在的问题以及如何改进。

在这里插入图片描述
这种处理方式一旦发现某个设备需要服务,控制方向就转到与这个设备有关的服务程序,服务结束后,控制方向就转到主程序,不再继续检查其他任何设备是否准备就绪。因此,只有排在前面的设备才能经常检查,排在后面的设备却始终得不到服务。
在这里插入图片描述
用这种处理方法,**进入查询子程序后,一旦发现有某一设备请求服务,就把控制方向转至该设备的服务程序,且当这个服务程序结束时,控制方向又转回查询子程序,并由返回点开始继续检查排在刚处理完设备后面的其他设备。**可见这种方法每转入查询子程序一次,查询序列就通过一次,只有所有的设备都已查询一遍,控制方向才转向主程序。因此没有哪一个设备会长时间的等待

5.25根据以下要求设计一个产生3个设备向量地址的电路。

(1)3个设备的优先级按A→B→C降序排列。
(2)A、B、C的向量地址分别为110100、010100、000110。
(3)排队器采用链式排队电路。
(4)当CPU发来中断响应信号INTA时,可将向量地址取至CPU。
答:
在这里插入图片描述

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

多重中断是指:当CPU执行某个中断服务程序的过程中,发生了更高级、更紧迫的事件,CPU暂停现行中断服务程序的执行,转去处理该事件的中断,处理完返回现行中断服务程序继续执行的过程。
实现多重中断的必要条件是:在现行中断服务期间,中断允许触发器为1,即开中断。

5.27 DMA方式有何特点?什么样的I/O 设备与主机交换信息时采用DMA方式,举例说明。

DMA 方式的特点是主机与设备并行工作;设备通过 DMA 接口与主存有一条直接数据通路;当设备和主存交换信息时,不中断现行程序:采用周期窃取方式(此时 CPU 只需将总显得控制权转让给 DMA 使用,暂停一个存取周期访存)。
比如数据传输率很高的 I/O 设备实现成组数据的传送时采用 DMA 方式。

5.28CPU对DMA请求和中断请求的响应时间是否相同?为什么?

不同 cpu对中断请求时间是每个指令结束之后。
cpu对DMA请求的响应时间是指令周期内任一个存取周期结束时响应

5.29 结合DMA接口电路说明其工作过程。

在这里插入图片描述
数据传送阶段:
1)当DMA的数据缓冲寄存器满的时候,发出选通信号
2)于此同时设备向DMA接口发请求(DREQ)
3)DMA接口向CPU申请总线控制权(HRQ)
4)CPU同意则发回HLDA信号
5)将DMA主存地址寄存器中的主存地址送给地址总线
6) 通知设备已经授予一个DMA周期,并为交换下个字做准备
7)将DMA数据缓冲寄存器的内容送至数据总线
8)主存将数据总线上的信息写至地址总线指定的存储单元中
9)修改主存地址和字计数器
10)判断数据块是否传送结束,若结束则向cpu申请程序中断,标志数据块传送结束
在这里插入图片描述

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

停止cpu访问主存,把数据准备间隔时间浪费了~

在这里插入图片描述

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

该设备向CPU传送信息的时间间隔= 1 / 40000 = 0.025 × 1 0 − 3 = 25 μ s =1/40000=0.025×10^{-3}=25μs=1/40000=0.025×10
−3
=25μs
则:该外设不能用程序中断方式与主机交换信息,因为其中断处理程序的执行速度比该外设的交换速度慢。

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

为了解决这个问题,我们需要计算磁盘完成一次完整的数据传输所需的最短时间,并将其与指令执行时间进行比较,看是否能在一条指令执行完毕前完成磁盘的数据传输。
先算出碰盘传送速度,然后和指令执行速度进行比较得出结论。
16位=2B,道容量=1KB×8÷2B=4K字;
数据传输率=4K字x3000转/分=200K字/秒;
一个字传送时间=1÷200K字/秒=5μs;
5μs<<25μs
由于一个字的传输时间(5𝜇𝑠)远远小于执行指令的时间(25𝜇𝑠),这意味着在CPU完成一次指令执行前,可能已经有多次DMA请求发生。
在这种情况下,如果等待CPU执行完一条指令再响应DMA请求,那么磁盘数据的传输将受到CPU指令执行速度的限制,从而降低整体系统的性能。因此,为了保证DMA操作的高效性,需要采取更频繁的查询及响应机制,例如在每个CPU机器周期末查询及响应DMA请求,这样可以确保DMA操作能够及时进行,不受CPU指令执行速度的影响。
通常安排CPU机器周期=主存存取周期

指令周期和机器周期的关系
指令周期与主存存取周期之间的关系取决于指令集架构(ISA)和具体硬件的设计。在指令周期中,取指令阶段和访存阶段都需要访问主存,这两个阶段的时间长度通常由主存存取周期决定。
时钟周期和机器周期的关系
简单来说,时钟周期是CPU内部操作的最小时间单位,而机器周期则是CPU完成一个外部可见操作的时间单位,
5.33试从下面7个方面比较程序查询、程序中断和DMA三种方式的综合性能。

5.33试从下面7个方面比较程序查询、程序中断和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 交换;
在这里插入图片描述

5.34解释周期挪用,分析周期挪用可能会出现的几种情况。

(1)I/O 设备有 DMA 请求时,CPU 正在进行自身的操作,并不需要访存,即 I/O 的 DMA 访存和 CPU 访存没有冲突,故不存在周期挪用。
(2)I/O 设备要求访存时,CPU 也要求访存,此时发生冲突。在这种情况下,I/O 的 DMA 请求优先,即出现了周期挪用,CPU 延缓一个存取周期访存。
(3)I/O 设备有 DMA 请求时,存储器本身正处于“忙”状态,此时必须等待存取周期结束后才能进行访存。

5.35试从5个方面比较程序中断方式和DMA方式的区别。

数据传送看,程序中断方式靠程序传送,DMA方式靠硬件传送;
CPU响应时间看,程序中断方式在一条指令执行结束时响应,而DMA方式在存取周期结束时CPU才能响应,即将总线控制权让给DMA传送;
程序中断方式有处理异常事件的能力,DMA方式没有这种能力;
程序中断方式需要中断现行程序,故需保护现场,DMA方式不必中断现行程序,无需保护现场;
DMA的优先级比程序中断高。

  • 11
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值