第八章 接口

计算机组成原理——习题与解析 第八章 接口 邵桂芳

(4) 输出设备认为数据有效,将数据取走

3. 与中断方式比较,DMA方式的优点是什么?

答:DMA方式更适用于成批数据交换的场合,工作平率高,传输快的外设(如磁盘)常需要成批交换数据,且数据之间间隔短,若用中断方式频频响应中断和保护断点,会导致丢失数据。而DMA方式建立了外设与内存直接交换数据的通道,除开始、结束外,中间不用CPU干预,在访问内存时不会受CPU干扰,无需反复保护断点等操作,所以,与中断方式比较,DMA方式更快捷安全。因中断可随时处理意外事故,所以DMA方式不能取代中断方式 4. 列举三种中断向量产生的方法 答(1)有编码电路直接产生

(2)由硬件产生一个“偏移量”,再加上CPU某寄存器里存放的基地址

(3)向量地址转移法:由优先级编码电路产生对应的固定地址码,其地址中存放的是转移指令,通过转移指令可以转入设备各自的中断服务程序入口

5. (1)进入中断周期的条件是什么?

(2)进入中断周期INTC之前是什么CPU周期? (3)中断周期结束后又是什么CPU周期? (4)中断周期完成的主要操作是什么?

(5)进入DMA周期DMAC之前可以是什么CPU周期? (6)DMAC结束之后又是什么CPU周期? (7)在DMAC中CPU处于什么状态?

答(1)进入中断周期有四个条件,它们是“与”的关系 A.有中断请求INTR

B.CPU允许中断(IF=1) C.无DMA请求DMAR

D.一条指令执行结束

(2)进入中断周期INTC之前是取指CPU周期

(3)中断周期结束后又是取指CPU周期

(4)中断周期完成的主要操作:发出中断应答信号INTA,从DB中取得中断向量暂时存入T,将中断向量乘以2,指向中断处理程序的入口,将PSW、PC内容压入堆栈保护,根据中断向量取出中断服务程序入口地址装入PC,让后进入取指周期FIC (5)进入DMA周期DMAC之前,可以是取指、取数、执行CPU周期

(6)DMAC结束之后,CPU交出总线的控制权,总线是在DMA控制器的掌管下来完成外设与主存之间的数据交换,在此期间CPU处于空闲等待状态。因此,对CPU而言DMAC唯一空闲CPU周期

6. 中断处理过程包括那些操作步骤? 答:处理过程如下:

(1) 设备提出中断请求

(2) 当一条指令执行结束时CPU响应中断

(3) CPU设置“中断屏蔽”标志,不再响应其他中断请求 (4) 保存程序断点(PC)

(5) 硬件识别中断源(转移到中断子程序入口地址) (6) 用软件方法保存CPU现场

第 17 页 共 30 页

计算机组成原理——习题与解析 第八章 接口 邵桂芳

(7) 为设备服务

(8) 恢复CPU现场

(9) “中断屏蔽”标志恢复,以便接收其它设备中断请求 (10) 返回主程序

7. 一次程序中断大致可分为那几个过程? 答:可分为以下几个过程:

(1) 中断申请。由中断源发出中断请求

(2) 排队判优。若在某一时刻有多个中断源申请中断,需要通过判优部件选择一个

中断源响应

(3) 中断响应。在允许中断的情况下,CPU执行完一条指令后开始响应中断 (4) 中断处理。CPU先关中断,然后保存当前程序的断点和现场,转入相应的中断

服务程序,开中断,执行中断服务程序,执行完毕,先关中断,然后恢复现场和断点,开中断,返回原程序执行

8. 简要描述外设进行DMA操作的过程及DMA方式的主要特点 答:外设进行DMA操作过程如下:

(1) 外设发出DMA请求

(2) CPU响应请求,DMA控制器从CPU接管总线的控制权

(3) 由DMA控制器执行行数据传送操作 (4) 向CPU报告DMA操作结束

DMA方式的主要优点是数据传送速度快

9. 说明程序I/O方式和中断I/O方式的差别

答:程序I/O与中断I/O的差别主要由以下几点:

(1) 在程序I/O中,何时对何外设进行输入或输出操作完全受CPU控制;在中断I/O

中,何时对外设操作由外设主动通知CPU (2) 程序I/O方式中,CPU与外围设备不能并行工作;中断方式由于不需要CPU与

外围设备同步工作,所以它们可以并行操作

(3) 程序I/O方式无法处理的异常事件,如掉电、非法指令、地址越界等;中断I/O方式可以处理随机事件,从而处理这些异常;

(4) 程序查询方式的优点是硬件结构比较简单,缺点是CPU效率低,且只能进行数

据传送。中断方式硬件结构相对复杂一些。

10. 中断控制方式与DMA方式有和异同?

答:DMA是程序中断传送技术的发展,在硬件逻辑机构的支持下,它以更快的速度、更简便的形式传送数据,两者间的区别如下:

(1) 中断方式通过程序实现数据传送,而DMA方式不使用程序,直接依靠硬件来实

现 (2) CPU对中断的响应是在执行完一条指令之后,而对DMA的影响则可以在指令执

行过程中的任何两个存储周期之间 (3) 中断方式不仅具有数据传送能力,而且还能处理异常事件。DMA只能进行数据

传送

(4) 中断方式必须切换程序,要进行CPU现场的保护和恢复操作。DMA仅挪用一个

第 18 页 共 30 页

计算机组成原理——习题与解析 第八章 接口 邵桂芳

存储周期,不改变CPU现场。

(5) DMA请求的优先权比中断请求高。CPU优先响应DMA请求,是为了避免DMA所连

接的高速外设丢失数据。

8.3 综 合 题

8.3.1 计算题

1.若输入输出系统采用字节多路通道控制方式,共有8个子通道,各子通道每次传送一个字节,己知整个通道最大传送速率为 1200B/s,问每个子通道的最大传输速率是多少?若是数组多路通道,则每个子通道的最大传输速率又是多少? 解:每个子通道的最大传输速率是1200B/s÷8=150B/s

若是数组多路通道,则每个子通道的最大传输速率应为1 200B/s。

2.某字节多路通道共有6个通道,若通道的最大传输率为1 500B/s,问每个子通道最大传输速率是多少?

解:1500/6=250B/s

3.异步通信方式传送ASCII码,数据位8位,奇校验1位,停止位1位。当波特率为4 800时,每个字符传送的速率是多少?每个数据位的时间长度是多少?数据位的传送速率 解:每个字符格式包含10位,因此字符传送速率为: 4 800波特/10=480字符/秒

每个数据位时间长度T=l/4 800≈0.208ms

数据位传送速率8x480=3840位/秒

4.假定某外设向CPU传送信息最高频率为40K次/秒,而相应中断处理程序的执行时间为40μs,问该外设是否可采用中断方式工作?为什么?

解:外设传送一个数据的时间=1/40X103s=25μs,所以请求中断的周期为25μs,而相应中断处理程序的执行时间为40μs,会丢失数据,所以不能采用中断方式。

5.设一磁盘盘面共有磁道200道,盘面总存储容量为1.6兆字节,磁盘旋转一周的时间为25ms,每道有4个区,各区之间有一间隙,磁头通过每个间隙需1.25ms。

(1)问磁盘通道所需最大传输率是多少(字节/秒)?

(2)有人为上述磁盘机设计了一个与主机之间的接口,磁盘读出数据串行送入一个移 位寄存器,每当移满16位后,向处理机发出一个请求交换数据的信号。处理机响应请求信 号并取走移位寄存器的内容后,磁盘机再串行送入下一个16位的字,如此继续工作。现在 已知处理机在接到请求交换信号后最长响应时间是3μs,问这样的接口能否正确工作?应如何改进? 解:

(1)磁道容量:1 600KB/200=8KB,读一道数据的时间=25ms至1.25max4=20ms,磁盘的数据传输率=8KB/0.020s=400KB/s。

(2)因为磁盘的数据传输率=400KB/s,所以磁盘准备一个16位字的时间=51Xs。 直接从移位寄存器送回数据的方案不能正确工作。这是因为移位寄存器保存一个字的时间仅为5μ/16μ=0.3μs,而响应时间可能达3μs,所以有可能失去数据。

第 19 页 共 30 页

计算机组成原理——习题与解析 第八章 接口 邵桂芳

改进方法:再设置一个发送寄存器,每当移位寄存器内为一个字时就将其内容送发送寄存器保存,由发送寄存器送数据。这个寄存器保存一个字的最短时间为5μs。

6.今有一磁盘存储器,转速为3000转/分,分8个扇区,每扇区存储1K字节。主存与磁盘传送数据的宽度为16位(即每次传送16位)。

(1)描述从磁盘处于静止状态起将主存缓冲区中2K字节传送到磁盘的整个工作过程。 (2)假如一条指令最长执行时间为30μs,是否可采用在指令结束时响应DMA请求的方案?假如不行,应采用怎样的方案? 解:

(1)主程序应先启动磁盘驱动器。转速正常后,接口向CPU发中断,。由中断服务程序实现向接口发送设备地址、主存缓冲区地址、字数(1K)等预处理工作。找道并等待磁盘转到访问的扇区后,通过接口发出1K个DMA请求,传送2K字后,接口向CPU发中断,由中断服务程序实现停止磁盘工作等后处理工作。

(2)数据传输率=8KBx3 000转/60s=400KB/s,即每16位数据保持最短时间=2/400KB(s)=5μs,故指令结束时响应DMA可能丢失数据,应使每个周期都可以响应DMA。 改进方法:再设置一个发送寄存器,每当移位寄存器内为一个字时就将其内容送发送寄存器保存,由发送寄存器送数据。这个寄存器保存一个字的最短时间为51μs。

7.某计算机系统字长32位,包括两个选择通道和一个多路通道。每个选择通道上连接了两台磁盘机和两台磁带机;多路通道上连接了两台行式打印机、两台读卡机、10台终端。假定各个设备的传输率如下:

磁盘机 800KB/s 磁带机 200KB/s

行打机 6.6KB/s 读卡机 1.2KB/s

终端 1KB/s 请计算该计算机系统的最大I/O数据传输率。

解:为了保证通道不丢失数据,各种通道实际流量应该不大于通道的最大流量。在本题中,系统由3个不同的通道组成。这样,系统最大数据传输率等于所有通道最大通道传输率之和。为此,我们依次求出各个通道的最大通道传输率。

两个选择通道所连接的设备相同,只要计算其中—个通道的通道传输率即可。因为磁盘机的传输率大于磁带机,所以此类型通道的通道传输率为:

fSELECT =max{800,200}=800KB/s

多路通道上的这些设备传输速率都非常低,如果将它们组织成数组多路方式,则由通道任何时候只有一个设备传送数据,所以它的传输率是所有设备中传输率最大者。若将它们组织成字节多路通道形式,那么该通道的最大传输率是通道上所有设备的数据传输率之和。所以从性能上考虑,应组织成字节多路通道形式。根据以上公式,得到此通道的最大传输率为:

fBYTE?f打印机诉传率?2?f读卡机数传率?2?f终端数传率?10?25.6KB/s

所以,本系统的最大数据传输率为:

f系统?2?fSELECT?fBYTE?1600?25.6?1625.6KB/s

第 20 页 共 30 页

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