宝玛科技网
您的当前位置:首页计算机组成原理第5章习题指导

计算机组成原理第5章习题指导

来源:宝玛科技网
计算机组成原理第5章习题 章习题  第5章   输入输出系统 例5.1 在程序查询方式的输入输出系统中,假设不考虑处理时间,每一个查询操作需要100个时钟周期,CPU的时钟频率为50MHz。现有鼠标和硬盘两个设备,而且CPU必须每秒对鼠标进行30次查询,硬盘以32位字长为单位传输数据,即每32位被CPU查询一次,传输率为2MBps。求CPU对这两个设备查询所花费的时间比率,由此可得出什么结论? 个设备查询所花费的时间比率,由此可得出什么结论? 解: (1)CPU每秒对鼠标进行30次查询,所需的时钟周期数为 100 × 30 = 3000  根据CPU的时钟频率为50MHz,即每秒50×106个时钟周期,故对鼠标的查询占用CPU的时间比率为 [ 3000 /(50×106)] × 100% = 0.006 % 可见,对鼠标的查询基本不影响CPU的性能。 (2)对于硬盘,每32位被CPU查询一次,故每秒查询 2MB/4B = 512 K 次 则每秒查询的时钟周期数为 100 × 512 × 1024 = 52.4 ×106 故对磁盘的查询占用CPU的时间比率为 [(52.4×106)/(50×106)] × 100% = 105 % 可见,即使CPU将全部时间都用于对硬盘的查询也不能满足磁盘传输的要求,因此CPU一般不采用程序查询方式与磁盘交换信息。 用程序查询方式与磁盘交换信息。 A、B、C,它们的优先级按降序排列。此三个设备的向量地址分别是001010、例5.2  现有三个设备001011、001100。设计一个链式排队线路和产生三个向量地址的设备编码器。 解: = A、B、C)为中断请求信号,有请求时链式排队线路和设备编码器如图5.1所示。图中INTRi(i = A、B、C)为排队器输出,INTA为中断响应信号。虚线框内为设INTRi = 1(即INTRi= 0)。INTPi(i 备编码器。当中断响应信号INTA有效时,被选中的排队信号INTPi通过设备编码器形成的向量地址,可通过数据总线送至CPU。 1 计算机组成原理第5章习题 章习题 

 

001100

据总线

001010001011

设备编码器

INTPA

INTPBINTPC

&

INTA

INTRA

&&

INTRBINTRC

来自高一级排队器

1

1

1

至低一级的排队器

INTRAINTRBINTRC

 

图5.1 例5.2电路图

 

例5.3  一个DMA接口可采用周期窃取方式把字符传送到存储器,它支持的最大批量为400个字节。若存取周期为100ns,每处理一次中断需5μs,现有的字符设备的传输率为9600bps。假设字符之间的传输是无间隙的,若忽略预处理所需的时间,试问采用DMA方式每秒因数据传输需占用处理器多少时间?如果完全采用中断方式,又需占处理器多少时间? 

解:

根据字符设备的传输率为9600bps,得每秒能传输 

9600/8 = 1200B,即1200个字符 

若采用DMA方式,传送1200个字符共需1200个存取周期,考虑到每传400个字符需中断处理一次,因此DMA方式每秒因数据传输占用处理器的时间是 方式每秒因数据传输占用处理器的时间是 

0.1μ0.1μs × 1200 + 5μs × 1200 + 5μs ×(1200 / 400) = 135μ1200 / 400) = 135μs

若采用中断方式,每传送一个字符要申请一次中断请求,每秒因数据传输占用处理器的时间是 

5μs × 1200 = 6000 μs × 1200 = 6000 μs

例5.4 假设磁盘采用DMA方式与主机交换信息,其传输速率为2MBps,而且DMA的预处理需1000个时钟周期,DMA完成传送后处理中断需500个时钟周期。如果平均传输的数据长度为4KB,试问在硬盘工作时,50MHz的处理器需用多少时间比率进行DMA辅助操作(预处理和后处理)。 

解:

DMA传送过程包括预处理、数据传送和后处理三个阶段。传送4KB的数据长度需 

(4KB)/(2MBps) = 0.002s  

2

计算机组成原理第5章习题 章习题 

 

如果磁盘不断进行传输,每秒所需DMA辅助操作的时钟周期数为 辅助操作的时钟周期数为 

(1000 + 500)/0.002 = 750000

故DMA辅助操作占用CPU的时间比率为 

[750000 /(50 × 106)] ×100% = 1.5 %

例5.5 解释接口(interface)和端口(port)的概念。 )的概念。 

解:图5.2是一个简单的基本外设接口。图的中间部分是I/O接口,它位于CPU和外设之间,是一个连接部件。它一边通过地址线、数据线和控制线与CPU连接,另一边通过数据信息,控制信息和状态信息与外设连接。CPU就是通过I/O接口与设备进行这三种信息的传送。 接口与设备进行这三种信息的传送。 

数据线

I/O接口

数据信息

数据口

CPU

地址线

状态口

控制线

状态信息

外设

控制信息

控制口

 

图5.2 例5.5简单的外设接口 

数据信息可以是数据量、模拟量和开关量三种。其中模拟量必须先经过接口电路中的“模/数”转换器(图中未画)转换为数字量后,才能输入CPU进行处理。状态信息表示外设当前所处的工作状态,如用READY(就绪信号)表示输入设备已准备好,用BUSY(忙信号)表示输出设备是否能接收。控制信息是由CPU发出的,用于控制外设接口工作方式,以及启动和停止外设。 

数据信息、状态信息和控制信息(如设置外设接口工作方式)通常以数据形式通过CPU的数据线进行传送。而且这些信息分别放在外设接口(interface)的不同寄存器中。这些寄存器被称作端口(port),如图5.2所示的数据口、状态口和控制口,它们分别存放数据信息、状态信息和控制信息。CPU可对这些端口(寄存器)进行“读”或“写”操作,因此每个端口都有一个“地址”对应。CPU对这些端口是可编程的。 可编程的。 

图中的地址线来自CPU,用以指明每个端口的地址。控制线包括RD(读)或WR(写)等,一般与I/O接口电路中的读/写控制逻辑(图中未标)相连,以控制设备的读写。 写控制逻辑(图中未标)相连,以控制设备的读写。 

例5.6 以键盘设备为例,说明其如何采用中断方式向CPU输入键盘信息。 输入键盘信息。 

解:键盘是一种常用的输入设备,它需识别哪一个键按下,并将此键对应的ASCII码送入计算机中。如果采用硬件的办法确认哪个键按下,其原理图如图5.3所示。 所示。 

 

3

计算机组成原理第5章习题 章习题 

 

 六位 六位 

 

计数器 计数器 时钟 时钟 发生器 发生器 

译   码   器 

  8×8 键盘 键盘 

ROM

CPU

CS

RD

地址 地址 

译码 译码 输入 输入 

 码 器

延迟

单稳

中断触发器

 

图5.3 例5.6带只读存储器的编码键盘原理图 

图中用六位计数器对键盘扫描,若键未按下,计数器循环计数,一旦扫描发现某键按下,通过单稳电路产生一个脉冲信号,该信号一方面使计数器停止计数,另一方面置“1”中断触发器,向CPU发中断请求。图中的ROM是一个核心部件,ROM中存放的是个键对应的ASCII码。当有键按下计数器停止计数时,其输出作为ROM的地址线,而该地址所对应的存储单元中存放的就是此键的ASCII码。当CPU收到中断请求信号并响应时,通过中断服务程序,由键盘接口电路(图中未画)给出地址译码信号,该信号一方面使ROM片选有效,将ROM中的ASCII码读至CPU中;另一方面经延迟线路将中断触发器清0,再次启动时钟发生器又开始计数,对键盘扫描,继续判断是否有键按下。 

例5.7 假设有一个数据采集系统,当输入数据准备好后发出Ready就绪信号,可向CPU送出8位数据。试设计一个中断方式的输入接口电路。要求画出逻辑框图并说明数据输入过程。 

解:输入接口电路如图5.4所示。 所示。  

4

计算机组成原理第5章习题 章习题 

 

三态门8位寄存器

RDM/IOCPU

地址译码

INTR

Q中断请求

时钟

≥1&

数据采集系统

Ready

 

图5.4 例5.7输入接口电路

图中8位寄存器是数据端口,用来存放数据采集系统准备好的数据,时钟信号为寄存器的打入信号。寄存器的输出经三态门至CPU的数据线。图中的中断请求触发器是D触发器,其数据端受Ready控制。图中的地址译码可对接口电路中数据端口(8位寄存器)的地址进行译码,用于控制读数据(三态门控制端有效)和清“0”中断请求触发器。 ”中断请求触发器。 

数据输入过程如下: 数据输入过程如下: 

当数据采集系统已将数据送至8位寄存器时,发出Ready信号,该信号使中断请求触发器置“1”,并向CPU发中断请求INTR。CPU在每条指令执行阶段结束前查询到此信号。如果响应中断,在每条指令执行阶段结束前查询到此信号。如果响应中断,便执行中如果响应中断,便执行中断服务程序,通过输入指令,在地址译码输出(低)、RD(低)、M/IO(低)的条件下,与门输出低,打开三态门,将8位数据读入CPU,同时将中断请求触发器复位。 ,同时将中断请求触发器复位。 

例5.8 说明调用中断服务程序和调用子程序的区别。 说明调用中断服务程序和调用子程序的区别。 解:调用中断服务程序和调用子程序的区别是: 调用中断服务程序和调用子程序的区别是: 

(1)中断服务程序与中断时CPU正在运行的程序是相互的,它们之间没有确定的关系。子程序调用时转入的子程序与CPU正在执行的程序段是同一程序的两部分。 正在执行的程序段是同一程序的两部分。 

(2)除了软中断,通常中断产生都是随机的,而子程序调用是由CALL指令(子程序调用指令)引起的。 引起的。 

(3)中断服务程序的入口地址可以通过硬件向量法产生向量地址,再由向量地址找到入口地址。子程序调用的子程序入口地址是由CALL指令中的地址码给出的。 指令中的地址码给出的。 

(4)调用中断服务程序和子程序都需保护程序断点,前者由中断隐指令完成,后者由CALL指令本身完成。 本身完成。 

(5)处理中断服务程序时,对多个同时发生的中断需进行裁决,而调用子程序时一般没有这种操作。 作。 

5

计算机组成原理第5章习题 章习题 

 

(6)在中断服务程序和所调用的子程序中都有保护寄存器内容的操作。 

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

= 50 r/s 50 r/s 解: 磁盘的转速为 3000/60 = 50

50 = 400 KB信息 则磁盘每秒可传送 1KB × 8 × 信息 

根据主存与磁盘存储器的数据传送宽度为16位,若采用DMA方式,每秒需有方式,每秒需有200K (400KB/2B)25μs)响应DMA次DMA请求,即每隔5μs (1/200K )有一次DMA请求。如果按指令执行周期结束(25μ请求,必然会造成数据丢失,因此必须按每个存取周期结束响应DMA请求的方案。 请求的方案。 

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

解:打印机的打印动作只受打印机本身控制,与CPU无关,因此打印机正在打印时,虽然有优先级别更高的磁盘请求中断,打印机也不会停止打印。而如果CPU正在执行打印机的中断服务程序,即打印机正在接收数据,此时若磁盘请求中断,CPU就要中断正在运行的打印机中断服务程序。 就要中断正在运行的打印机中断服务程序。 

6

因篇幅问题不能全部显示,请点此查看更多更全内容