M(x)·x4/G(x) =110 0000/11011=100+1100/11011 R(x) =1100 M(x)·x4+R(x) =110 0000+1100=110 1100 =CRC码 (7,3)码
注:此题的G(x)选得不太好,当最高位和最低位出错时,余数相同,均为0001。此时只能检错,无法纠错
第 五 章
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地址空间。 讨论:I/O编址方式的意义:
I/O编址方式的选择主要影响到指令系统设计时I/O指令的安排,因此描述其特点时一定要说明此种I/O编址方式对应的I/O指令设置情况。
? I/O与内存统一编址方式将I/O地址看成是存储地址的一部分,占用主存空间;
问题:确切地讲, I/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与I/O速度差较大、远距离传送的场合。 讨论:注意I/O交换方式、I/O传送分类方式与I/O联络方式的区别: 串行、并行I/O传送方式常用于描述I/O传送宽度的类型; I/O交换方式主要讨论传送过程的控制方法;
I/O联络方式主要解决传送时CPU与I/O之间如何取得通信联系以建立起操作上的同步配合关系。
? 同步方式适用于CPU与I/O工作速度完全同步的场合。
问题: I/O 要达到与CPU工作速度完全同步一般是不可能的。同步方式的实质是“就慢不就快”,如采用同步方式一般CPU达不到满负荷工作。
5.3 .I/O设备与主机交换信息时,共有哪鸡枞控制方式?简述它们的特点。
(1)程序直接控制方式:也称查询方式,采用该方式,数据在CPU和外设间的传送完全靠计算机程序控制,CPU的操作和外围设备操作同步,硬件结构简单,但由于外部设备动作慢,浪费CPU时间多,系统效率低。
(2)程序中断方式:外设备准备就绪后中断方式猪肚通知CPU,在CPU相应I/O设备的中断请求后,在暂停现行程序的执行,转为I/O设备服务科明显提高CPU的利用率,在一定程度上实现了主机和I/O设备的并行工作,但硬件结构负载,服务开销时间大、
(3)DMA方式与中断方式一样,实现了主机和I/O设备的并行工作,由于DMA方式直接依靠硬件实现贮存与I/O设备之间的数据传送,传送期间不需要CPU程序干预,CPU可继续执行原来的程序,因此CPU利用率和系统效率比中断方式更高,但DMA方式的硬件结构更为复杂。 I/O通道方式、I/O处理机方式。
6. 字符显示器的接口电路中配有缓冲存储器和只读存储器,各有何作用?
解:显示缓冲存储器的作用是支持屏幕扫描时的反复刷新;只读存储器作为字符发生器使用,他起着将字符的ASCII码转换为字形点阵信息的作用。
8. 某计算机的I/O设备采用异步串行传送方式传送字符信息。字符信息的格式为一位起始位、七位数据位、一位校验位和一位停止位。若要求每秒钟传送480个字符,那么该设备的数据传送速率为多少?
解:480×10=4800位/秒=4800波特; 波特——是数据传送速率波特率的单位。
注:题意中给出的是字符传送速率,即:字符/秒。要求的是数据传送速率,串行传送时一般用波特率表示。
两者的区别:字符传送率是数据的“纯”有效传送率,不含数据格式信息;波特率是“毛”传送率,含数据格式信息。
10. 什么是I/O接口?为什么要设置I/O接口?I/O接口如何分类? 解: I/O接口一般指CPU和I/O设备间的连接部件; I/O接口分类方法很多,主要有:
按数据传送方式分有并行接口和 串行接口两种;
按数据传送的控制方式分有程序控制接口、程序中断接口、DMA接口三种。
5.12 结合程序查询方式的接口电路,说明其工作过程。
解:程序查询接口工作过程如下(以输入为例):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 ?接口向设备发启动命令?设备开始工作;4)CPU等待,输出设备将数据从 DBR取走;5)外设工作完成,完成信号?接口? B置0,D置1;6)准备就绪信号?控制总线? CPU,CPU可通过指令再次向接口DBR输出数据,进行第二次传送。
13. 说明中断向量地址和入口地址的区别和联系。 解:
中断向量地址和入口地址的区别:
向量地址是硬件电路(向量编码器)产生的中断源的内存地址编号,中断入口地址是中断服务程序首址。 中断向量地址和入口地址的联系:
中断向量地址可理解为中断服务程序入口地址指示器(入口地址的地址),通过它访存可获得中断服务程序入口地址。 (两种方法:在向量地址所指单元内放一条JUM指令;主存中设向量地址表。参考8.4.3)
讨论:
硬件向量法的实质:
当响应中断时,为了更快、更可靠的进入对应的中断服务程序执行,希望由硬件直接提供中断服务程序入口地址。但在内存地址字较长时这是不可能的。因此由硬件先提供中断源编号、再由编号间接地获得中断服务程序入口地址。这种中断源的编号即向量地址。
由于一台计算机系统可带的中断源数量很有限,因此向量地址比内存地址短得多,用编码器类逻辑部件实现很方便。
14. 在什么条件下,I/O设备可以向CPU提出中断请求? 解:I/O设备向CPU提出中断请求的条件是:I/O接口中的设备工作完成状态为1(D=1),中断屏蔽码为0 (MASK=0),且CPU
查询中断时,中断请求触发器状态为1(INTR=1)。
15. 什么是中断允许触发器?它有何作用?
解:中断允许触发器是CPU中断系统中的一个部件,他起着开关中断的作用(即中断总开关,则中断屏蔽触发器可视为中断的分开关)。
16. 在什么条件和什么时间,CPU可以响应I/O的中断请求? 解:CPU响应I/O中断请求的条件和时间是:当中断允许状态为1(EINT=1),且至少有一个中断请求被查到,则在一条指令执行完时,响应中断。
17. 某系统对输入数据进行取样处理,每抽取一个输入数据,CPU就要中断处理一次,将取样的数据存至存储器的缓冲区中,该中断处理需P秒。此外,缓冲区内每存储N个数据,主程序就要将其取出进行处理,这个处理需Q秒。试问该系统可以跟踪到每秒多少次中断请求?
解:这是一道求中断饱和度的题,要注意主程序对数据的处理不是中断处理,因此Q秒不能算在中断次数内。 N个数据所需的处理时间=P×N+Q秒
平均每个数据所需处理时间= (P×N+Q) /N秒; 求倒数得:
该系统跟踪到的每秒中断请求数=N/(P×N+Q)次。
19. 在程序中断方式中,磁盘申请中断的优先权高于打印机。当打印机正在进行打印时,磁盘申请中断请求。试问是否要将打印机输出停下来,等磁盘操作结束后,打印机输出才能继续进行?为什么? 解:这是一道多重中断的题,由于磁盘中断的优先权高于打印机,因此应将打印机输出停下来,等磁盘操作结束后,打印机输出才能继续进行。因为打印机的速度比磁盘输入输出的速度慢,并且暂停打印不会造成数据丢失。
讨论:
? 打印机不停,理由有如下几种: 打印内容已存入打印机缓存;? 问题:1)如果打印机无缓存呢?
2)如果打印机有缓存,还需要用程序中断方式交换吗?(应用DMA) 由于在指令执行末查中断,因此执行打印指令时不会响应磁盘中断。? 问题:打印中断处理程序=打印指令?
采用字节交叉传送方式,当两者同时请求中断时,先响应盘,再响应打印机,交叉服务。? 问题:这是程序中断方式吗?
由于打印机速度比CPU慢得多,CPU将数据发送给打印机后,就去为磁盘服务,而这时打印机可自己慢慢打印。?
问题:停止打印机传送=停止打印机动作? 我有打印机,感觉上打印机工作是连贯的;? 问题:人的感觉速度=计算机工作速度?
28. CPU对DMA请求和中断请求的响应时间是否一样?为什么?
解: CPU对DMA请求和中断请求的响应时间不一样,因为两种方式的交换速度相差很大,因此CPU必须以更短的时间间隔查询并响应DMA请求(一个存取周期末)。 讨论:
CPU对DMA的响应是即时的;? 随时都能响应?
CPU响应DMA的时间更短;? ? DMA比中断速度高; 短、高或不一样的具体程度?
? 不一样。因为DMA与CPU共享主存,会出现两者争用主存的冲突,CPU必须将总线让给