1、1 1计算机是一种能自动地、高速地对各种数字化信息进行运算处理的电子设备。1 2冯诺依曼计算机体系结构的基本思想是存储程序,也就是将用指令序列描述的解题程 序与原始数据一起存储到计算机中。计算机只要一启动,就能自动地取出一条条指令并执行之,直至程序执行完毕,得到计算结果为止。按此思想设计的计算机硬件系统包含:运算器、控制器、存储器、输入设备和输出设备。各部分的作用见教材:P10P121 3计算机的发展经历了四代。第一代:见教材 P1 第二代:见教材 P2 第三代:见教材 P2 第四代:见教材 P21 4 系统软件定义见教材:P1213,应用软件定义见教材:P121 5 见教材:P14151 6
2、 见教材:P111 7 见教材:P681 8 硬件定义见教材:P9 软件定义见教材:P12固件定义见教材:P131 91) 听觉、文字、图像、音频、视频2) 图像、声音、压缩、解压、DSP1 10 处理程度按从易到难是:文本图形图像 音频视频2.1 各数的原码、反码、补码和移码见下表:十进制数真值 二进制数真值 原码表示 反码表示 补码表示 移码表示1) -35/64 -0.1000110 1.10001101.01110011.0111010 0.01110102) 23/128 0.0010111 0.00101110.00101110.0010111 1.00101113) -127 -
3、01111111 11111111 10000000 10000001 000000014) 小数表示1 -1.0000000 1.0000000 0.0000000整数表示1 -00000001 10000001 11111110 11111111 011111112227/64=00011011/01000000=0.0110110=0.110112-1 规格化浮点表示为:27/64 原 101,01101100027/64反 110,01101100027/64补 111,011011000同理:-27/64=- 0.110112-1 规格化浮点表示为:27/64 原 101,11101
4、100027/64反 110,10010011127/64补 111,10010100023 模为: 29=100000000024 不对,8421 码是十进制的编码25 浮点数的正负看尾数的符号位是 1 还是 0浮点数能表示的数值范围取决于阶码的大小。浮点数数值的精确度取决于尾数的长度。261)不一定有 N1N2 2)正确27 最大的正数:0111 01111111 十进制数:(12 7 )2 7最小的正数:1001 00000001 十进制数:2 7 27最大的负数:1001 11111111 十进制数:-2 7 27最小的负数:0111 10000001 十进制数:-(12 7 )2 7
5、281)x 补 =00.1101 y补 =11.0010x+y补 x 补 +y补 =11.1111 无溢出x+y= 0.0001x补 =00.1101 -y补 =00.1110xy 补 x 补 +-y补 =01.1011 正向溢出 2)x 补 =11.0101 y补 =00.1111x+y补 x 补 +y补 =00.0100 无溢出x+y= 0.0100x补 =11.0101 -y补 =11.0001xy 补 x 补 +-y补 =10.0110 负向溢出 3) x补 =11.0001 y补 =11.0100x+y补 x补 +y补 =10.0101 负向溢出x补 =11.0001 -y补 =00
6、.1100xy 补 x 补 +-y补 =11.1101 无溢出 Xy=0.0011291)原码一位乘法 |x|=00.1111 |y|=0.1110部分积 乘数 yn00.0000 0.1110+00.0000 00.000000.00000 0.111+00.1111 00.1111000.011110 0.11+00.1111 01.011010 00.1011010 0.1+00.1111 01.1010010 00.11010010Pf=xfy f=1 |p|=|x|y|=0.11010010所以xy 原 =1.11010010补码一位乘法 x补 =11.0001 y补 =0.1110
7、 -x补 =11.0001部分积 yn yn+100.0000 0.1110000.00000 0.1110+00.1111 00.1111000.011110 0.11100.0011110 0.1100.00011110 0.1+11.0001 11.00101110xy补 =11.001011102)原码一位乘法 |x|=00.110 |y|=0.010部分积 乘数 yn00.000 0.010+00.000 00.00000.0000 0.01+00.110 00.110000.01100 0.0+00.000 00.01100 000.001100Pf=xfy f=0 |p|=|x|
8、y|=0.001100所以xy 原 =0.001100补码一位乘法 x补 =11.010 y补 =1.110 -x补 =00.110部分积 yn yn+100.000 1.110000.0000 1.110+00.110 00.110000.01100 1.1100.001100 1.1所以xy 补 =0.0011002101)原码两位乘法 |x|=000.1011 |y|=00.0001 2|x|=001.0110部分积 乘数 c000.0000 00.00010+000.1011 000.1011000.001011 0.000000.00001011 00.0Pf=xfy f=1 |p|
9、=|x|y|=0.00001011所以xy 原 =1.00001011补码两位乘法 x补 =000.1011 y补 =11.1111 -x补 =111.0101部分积 乘数 yn+1000.0000 11.11110+111.0101 111.0101111.110101 11.111111.11110101 11.1所以xy 补 =111.11110101 xy=-0.000010112)原码两位乘法 |x|=000.101 |y|=0.111 2|x|=001.010 -|x| 补 =111.011部分积 乘数 c000.000 0.1110+111.011 111.011111.1101
10、1 0.11+001.010 001.00011000.100011 Pf=xy f=0 |p|=|x|y|=0.100011所以xy 原 =0.100011补码两位乘法 x补 =111.011 y补 =1.001 -x补 =000.101 2-x补 =001.010部分积 乘数 yn+1000.000 1.0010+111.011 111.011111.111011 1.00+001.010 001.00011 000.100011所以xy 补 =0.100011 2.111) 原码不恢复余数法 |x|=00.1010 |y|=00.1101 -|y| 补 =11.0011部分积 商数 00
11、.1010 +11.0011 1101101 011.1010 +00.1101 00.0111 0.100.1110 +11.0011 00.0001 0.11 00.0010+11.0011 11.0101 0.11001.1010 +00.1101 11.0111 0.1100+00.1101 00.0100所以x/y 原 =0.1100 余数r 原 =0.010024补码不恢复余数法 x补 =00.1010 y补 =00.1101 -y补 =11.0011部分积 商数 00.1010 +11.0011 11.1101 011.1010 +00.1101 00.0111 0.100.11
12、10 +11.0011 00.0001 0.11 00.0010+11.0011 11.0101 0.11010.1010 +00.1101 11.0111 0.1100+00.1101 00.0100所以x/y 补 =0.1100 余数r 补 =0.0100242)原码不恢复余数法 |x|=00.101 |y|=00.110 -|y| 补 =11.010部分积 商数 00.101 +11.010 11.111 011.110 +00.110 00.100 0.101.000 +11.010 00.010 0.11 00.100+11.010 11.110 0.110+00.110 00. 1
13、00所以x/y 原 =1.110 余数r 原 =1.10023补码不恢复余数法 x补 =11.011 y补 =00.110 -y补 =11.010部分积 商数 11.011 +00.110 00.001 100.010 +11.010 11.100 1.011.000 +00.110 11.110 1.00 11.100+00.110 00.010 1.001+11.010 11.100所以x/y 补 =1.001+23=1.010 余数r 补 =1.100232121) x补 =2110100.100100 y补 =2111011.100110小阶向大阶看齐: x补 =2111000.010
14、010 求和:x+y 补= 21110(00.01001011.100110)2 111011.111000x-y补= 21110(00.01001000.011010)2 111000.101100规格化:x+y 补= 2101111.000000 浮点表示:1011,11.000000规格化:x-y 补 =2111000.101100 浮点表示:1110,0.1011002)x 补 =2010111.011110 y补 =2010000.010110小阶向大阶看齐:y 补 =2010100.001011 求和:x+y 补= 20101(11.01111000.001011)2 010111
15、.101001x-y补= 20101(11.01111011.110101)2 010100.010011规格化:x+y 补= 2101011.010010 浮点表示:1010,11. 010010规格化:x-y 补 =2101000.100110 浮点表示:1010,00.100110213见教材:P702141)1.00010112 62)0.110111*2 -62 151) 串行进位方式C1=G1+P1C0 G1=A1B1, P1=A1B 1C2=G2+P2C1 G2=A2B2, P2=A2B 2C3=G3+P3C2 G3=A3B3, P3=A3B 3C4=G4+P4C3 G4=A4B
16、4, P4=A4B 42) 并行进位方式C1=G1+P1C0C2=G2+P2G1+P2P1C0C3=G3+P3G2+P3P2G1+P3P2P1C0C4= G4+P4G3+P4P3G2+P4P3P2G1+P4P3P2P1C02 16参考教材 P62 32 位两重进位方式的 ALU 和 32 位三重进位方式的 ALU217F3 F2 F1 F0Cn+4 Cn74LS181 4 位 ALUMS3S0 A3 B3 A2 B2 A1 B1 A0 B0-“1”Cn+4 “1”A3 B3 A2 B2 A1 B1 A0 B0-3.1 见教材:P7932 见教材:P8333 与 SRAM 相比,DRAM 在电路
17、组成上有以下不同之处:1) 地址线的引脚一般只有一半,因此,增加了两根控制线 RAS、CAS,分别控制接受行地址和列地址。2) 没有 CS 引脚,在存储器扩展时用 RAS 来代替由于引脚的限制,要分开接收行地址和列地址。34 见教材:P8835 1) (2 2016)/(2 1716) =23=8 2) (128k16)/(16k8) =82163)168=128 ,CPU 通过译码与片选方式选择模块板。D0D15CSCS F3 F2 F1 F0 74LS181 4 位 ALU CnA14A15A16A0A13A17A18A19CPUY0 Y1 Y6 Y7 3:8 译码器3:8译码器16k82
18、同左3.6 (1)芯片 1K4 位,片内地址线 10 位(A 9-A0 ) ,数据线 4 位。芯片总数为:(16K16)/(1K4)=16464 片 (2)存储器容量为 16K,故地址线总数为 14 位(A13 A0) ,其中 A13A12A11A10通过 4:16 译码器产生片选信号 CS0CS 15 。(3)刷新信号周期为:2ms/64=31.3us 。(4)若用集中式刷新,则刷新一遍用 64 个读/写周期。死时间率为:640.1/2 1000=0.32%。(1) 0000H3FFFH4000H5FFFH6000HFFFFH(2)CPU 与芯片连接如图所示:ROM:16K空:8KRAM:4
19、0K381)可采用多体交叉存储器或高速缓冲存储器来实现。2)可参考 P109 图 320391) 虚拟地址格式:29 12 11 0页面号(18 位) 页内地址(12 位)虚拟地址 30 位2) 物理地址格式:21 12 11 0页号(10 位) 页内地址(12 位)物理地址 22 位3)页表的长度为:1GB/4KB=256K3101) 程序运行的时间不相等,第一种情况的运行时间要大于第二种情况的运行时间。2) 假设运行一条指令的时间为 4T在四体交叉存储器中第一次取 6 条指令的时间=4T+5T=9T,以后均为 8T。重复执行 80次的时间=79 8+9T=641T在四体交叉存储器中第一次取
20、 8 条指令的时间=4T+7T=11T,以后均为 8T。重复执行 60次的时间=59 8+11T=483T311M(x)=x 1+x0=0011M(x)x 3=x4+x3=0011000G(x)= x 3+x +1=1011M(x)x 3/ G(x)=0011000/1011=0011+101/1011M(x)x 3+ R(x)=0011000+101=0011101海明码是:01000114.1. 见书 P133. 见书 P134. 见书 P136. 见书 P136. 见书 P137. 见书 P149. 见书 P141. 见书 P142. 见书 P147. 见书 P1544.2 . 寄存器直
21、接. 寄存器间接. 立即数. 直接. 相对、基址、变址4.3 寻址方式分为:指令寻址方式和操作数寻址方式操作数寻址方式可分为:(1) 隐含寻址(2) 立即寻址 Data=D(3) 寄存器寻址 Data=(R)(4) 寄存器直接寻址 EA=R(5) 存储器直接寻址 EA=A(6) 寄存器间接寻址 EA=(R)(7) 存储器间接寻址 EA=(D)(8) 相对寻址 EA=(PC)+D(9) 基址寻址 EA=(R)基址+D(10) 变址寻址 EA=(R)变址+D(11) 复合寻址方式 相对间接寻址 EA=(RC)+D ) 间接相对寻址 EA=(PC)+(D) 变址间接寻址 EA=(R)+D ) 间接变
22、址寻址 EA=(R)+ (D) 基址+变址寻址 EA=(R)基址+(R)变址 +D4.4 参见书 P154。4.5 不合理。因为浪费了存储空间。4.6 256-K-L 条4.7 双操作数最多可拥有的指令数为 255 条,单操作数最多可拥有的指令数为63 条,无操作数最多可拥有的指令数为 64 条。4.8 变址寻址方式的访存有效地址是:02B0H+001FH=02CFH变址寻址方式的访存有效地址是:3A00H+001FH=3A1FH4.9 参见书 P156。4.10 指令格式及寻址方式的特点为:(1) 操作码字段为 4 位,可指定 16 种操作,即 16 条指令;(2) 单字长(16 位)两地址
23、指令;(3) 操作数存放于两个寄存器中,是 RR 型指令,这种指令结构执行速度快;(4) 每个操作数可以指定 8 种寻址方式;(5) 该指令格式的寻址方式可以是寄存器直接寻址和寄存器间接寻址。4.11 参见书 P157。4.12 某计算机字长为 16 位,主存容量为 640K 字,采用单字长单地址指令,共有 80 条指令。试用直接、间接、变址、相对四种寻址方式设计指令格式。解:80 条指令需占用操作码字段(OP)7 位,寻址模式(X )2 位,形式地址(D)7 位。其指令格式如下:15 9 8 7 6 0OP X D寻址模式模式定义如下:X=00 直接寻址 有效地址为: EA=D(2 7)X=
24、01 间接寻址 有效地址为: EA=(D) (64K)X=10 变址寻址 有效地址为: EA=(R)+ D(2 7)X=11 相对寻址 有效地址为: EA=(PC )+D(2 7)其中 R 为变址寄存器(16 位) ,PC 为程序计数器(16 位) ,在变址和相对寻址时,可采用交错相加的方式来产生有效地址。其最大的寻址空间可达 216+7=2232 20640K,故满足题目要求。4.13 操作码的第 0 位和第 1 位组成 4 种不同的编码,分别代表不同字长的指令:00 代表字长为 1 字节的指令;01 代表字长为 2 字节的指令;10 代表字长为 3 字节的指令;11 代表字长为 4 字节的
25、指令。每取出一个字(32 位)时,根据该字的第 0 位和第 1 位可判断出这个字中的第一条指令包含多少字节,假如它包含 n 个字节。然后看第 n+1 个字节的前两位,得出这个字中第二条指令包含多少字节,以此类推,可知这个字中包含的指令条数。4.14 RS 型指令中,64 种操作需占用操作码字段(OP)6 位,16 个通用寄存器 需占用 4 位,剩余地址码部分 22 位,故 RS 型指令的最大存储空间是 32+22=54 位。4.15 清除 R2 可采用下面任意一条指令:指令 功能说明 (1)ADD R0,R0,R2 R2 (R0)+(R0)(2)SUB R2,R2,R2 R2 (R2)-(R2
26、)(3)ADD R0,imm(0) ,R2 imm(0)为立即数 0,R2 (R0)+04.16. 对。. 错。选用使用频度高的一些简单指令以及很有用但不复杂的指令。. 错。只是相对 CISC机要简单一些。. 错。有乘、除指令和浮点运算指令。4.17 参见书 P159。5.1. 见书 P166. 见书 P169. 见书 P169. 见书 P169. 见书 P169. 见书 P171. 见书 P171. 见书 P171. 见书 P191. 见书 P1915.2. 控制器. 栈顶指示器. 指令寄存器. 指令计数器. 水平、垂直. 水平、垂直. 控制存储器 EPROM. 同步控制. 组合逻辑控制器.
27、 200ns 延长机器周期或局部控制5.3. 通用寄存器. AX 或 AL. 状态寄存器中的 ZF. 状态寄存器中的 OF. CX. IP. SP. IR. 指令译码器. AC5.4 参见书 P1651685.5 参见书 P1895.6 数据通路如下图所示。其中, PC 为程序计数器,本身具有加 1 的功能。各部件可通过单总线相互连接起来,数据传送方向由箭头表示。5.7 指令周期流程图如下所示:5.8 节拍脉冲 T1,T2,T3 的宽度实际上等于时钟脉冲的周期或是它的倍数。由此,T1=T3=20ns,T2=40ns,所以主脉冲源的频率应为 f=1/T1=50MHZ.根据时序信号关系,T1,T2
28、,T3 三个节拍脉冲的逻辑表达式如下:T1=C1C2 T2=C2 T3=C1T1 用与门实现,T2 和 T3 则用 C2 的 Q 端和 C1 的 Q 端加非门实现,其目的在于保持信号输出延迟时间的一致性并与环形脉冲发生器隔离。时序产生器逻辑图如下图所示:5.9 采用循环移位寄存器形式。当总清信号 CLR 使触发器 C4 置“1”时,门3 打开。第一个正脉冲 通过 3 使触发器 C1-C3 清“0” 。由于时钟源输出 10MHz(脉冲宽度 100ns) ,经过半个主脉冲周期(50ns)的延迟,触发器 C4 由“1”状态翻到“0”状态,再经过半个主脉冲周期的延迟,第二正脉冲的上升沿作移位信号,使触
29、发器 C1-C3 变为“100”状态,此后第二个 ,第三个 连续通过门 2 成移位信号,相继变为“110” , “111”状态。当 C3 变为“1”状态时(对应第 4 个正脉冲) ,其状态反映到 C4 的 D端,因而在第 4 个正脉冲下沿将 C4 置“1” ,门 3 复又打开,第 5 个正脉冲通过门 3 又形成清“0”脉冲,将 C1C3 清零,于是下一个循环再度开始。T1T4 是四个输出节拍脉冲。根据已知条件,其译码逻辑表达式为:T1=C1C2 T2=C2C3 T3=C3 T4=C1这四个脉冲是等间隔宽度的脉冲,每个脉冲宽度为 16.7ns。时序产生器逻辑图如下图所示:5.10 (1)主频为
30、66MHz,所以,主频周期=1/66MHz=0.015us,故一条指令执行时间=0.015us22=0.061us,故每秒执行的指令条数=1/0.061us=16.4MIPS。(2)由题意,一条指令执行时间=0.015us2(2+2)=0.12us ,故每秒执行的指令条数=1/0.12us=8.3MIPS。5.11 参见书 P203、P 1925.12 微指令所占的单元总数=(8011+1 )32=88132,所以控制存储器容量可选 1K32。5.13 (1)假设判别测试字段中每一位作为一判别标志,那么由于有 4 个转移 条件,故该字段为 2 位。因为控制存储器为 512 单元,所以下一地址字
31、段为 9 位。故微命令字段=48-2-9=37 位。(2)逻辑框图见书 P203 图 5.27。5.14 将一个微指令周期中的互斥性微指令信号组合在一个小组中,进行分组译 码。经分析, (e,f,h)和(b,i,j)可分别组成两个小组或两个字段,然后进行译码,可得六个微命令信号,剩下的 a,c ,d,g 四个微命令信号可进行直接控制,其整个控制字段组成如下图所式:0 1 e 0 1 b1 0 f 1 0 ia c d g 1 1 h 1 1 j 4 位 2 位 2 位5.15. 软件子程序调用是通过软件的方法调用乘法子程序来实现乘法运算的操作;硬布线控制逻辑是通过硬布线控制器所产生的控制信号来
32、实现乘法运算;微程序控制是通过微程序控制器所产生的控制信号来实现乘法运算。. 速度最快的是硬布线控制逻辑,其次是微程序控制,速度最慢的是软件子程序调用。. 软件子程序调用不需要特殊的硬件部件;硬布线控制逻辑需要硬布线控制器;微程序控制需要微程序控制器。5.16 参见书 P211。5.17. 流水线的操作周期应按各步操作的最大时间来考虑,即流水线的时钟周期=100ns。. 若相邻两条指令发生数据相关,就停顿第 2 条指令的执行,直到前面的指令结果已经产生,因此至少要推迟 2 个时钟周期。. 若对硬件加以改进,如采用专用的通路技术,那么第 2 条指令的执行不会被推迟。5.18 略。5.19 参见书
33、 P229。6.1 采用总线结构的计算机系统中,主存与外设的编制方法有两种,一种是统一编址的方法,一种是单独编址的方法. 在单总线系统中,设备的寻址采用统一编址的方法,即所有的主存单元以及外设设备接口寄存器的地址一起构成一个统一的地址空间,因此,访内存指令与I/O 指令在形式上完全相同,区别仅在于地址的数值不一样.而在双总线系统中,采用单独编址的方法,cpu 对内存总线和系统总线必须有不同的指令系统,内存地址和 I/O 设备的地址是分开的,当访问内存时,由存储读,存储写两条控制线控制;当访问 I/O 设备时,由 I/o 读,I/O 写两条控制线控制.6.2 根据总线控制部件的位置,判别总线使用
34、权有限级别可分为集中式和分散式控制.集中式控制分为链式查询,计数器查询,和独立请求方式.1. 链式查询方式的主要特征是总线同意信号 BG 的传送方式; 它串行地从一个 I/O 接口传送到另一个 I/O 接口.显然, 在查询链中离总线控制器最近的设备具与最高优先权,离总线最远,优先权最低.2. 计数器定时方式:总线上的任一设备要求使用总线时,都通过 BR 线发出总线请求.总线控制器接到请求信号后,在 BS 线为“0“ 的情况下让计数器开始计数 ,计数值通过一组地址线发向各设备.每个设备接口都有一个地址判别电路,当地质线上的计数值与请求总线的接口的地址相一致时,该设备后的总线使用权.每次计数值可以
35、从“0“开始,也可以从终止点开始计数,如果从 “0“开始,则各设备的优先次序与链式查询相同.如果从中止点开始,则各设备的优先级都相同.3. 独立请求方式 :每一个共享总线的设备均有一对总线请求和总线同意线.总线控制部件中有一个排队电路,根据一定的优先次序决定首先响应哪一个设备,并对该设备发出同意信号.独立请求方式的优点是响应时间快,并且对优先次序的控制也很灵活.6.3 单总线采用统一编址方法,省去了 I/O 指令,简化了指令系统。单总线结构简单,使用灵活,易扩充。然而,由于主存的部分地址空间要用于外部设备接口寄存器寻址,故主存实际空间要小于地址空间。此外,所有的部件均通过一条总线进行通信,分时
36、使用总线,因此,通信速度比较慢。通常,单总线结构适用于小型或微型计算机的系统总线。双总线结构保持了单总线系统简单、易扩充的优点,但又在 CPU 和内存之间专门设置了一组高速的存储总线,使 CPU 可通过专用总线和存储器交换信息,并减轻了系统总线的负担,同时内存仍可通过系统总线直接与外设之间实现 DMA 操作,而不必经过 CPU。这种双总线系统以增加硬件为代价。当前高档微型机中广泛采用这种总线结构。三总线结构是在双总线系统的基础上增加 I/O 总线形成的。其中系统总线是CPU、内存和通道(IOP)进行数据传送的公共通路,而 I/O 总线是多个外部设备与通道之间进行数据传送的公共通路,再 DMA
37、方式中,外设与存储器直接交换数据而不经过 CPU,从而减轻 CPU 对数据 I/O 的控制,而“通道”方式进一步提高了 CPU 的效率。由于增加了 IOP,整个系统的效率将大大提高,然而这是以增加更多的硬件为代价换来的。三总线系统通常用于中、大型计算机中。6.4 答 :同步通信 :总线上的部件通过总线进行信息传送时,用一个公共的时钟信号来实现同步定时,这种方式称为同步通信(无应答通信). 同步通信具有较高的传输速率 ,使用于总线长度较短,各部件存取时间比较接近的情况.异步通信:异步通信允许总线上的各部件有各自的时钟,在部件之间进行通信时没有公共的时间标准,而是靠发送信息时同时发出本设备的时间标
38、志信号,用“应答方式“ 来进行通信.异步方式分为单向方式和双向方式两种.单向方式不能判别数据是否正确传送到对方,因而大多数采用双向方式,即应答式异步通信.由于异步通信采用应答式全互锁方式,因而,它使用于存取周期不同的部件之间的通信,对总线长度也没有严格的要求.6.5因为总线是公共的,为多个部件所共享,要有一个控制机构来仲裁总线使用权。每当总线上的一个部件要与另外一个部件进行通信时,就应该发出请求信号。在统一时刻,可能有多个部件要求使用总线,这时总线控制部件将根据一定的判决原则来决定首先同意哪个部件使用总线。根据总线控制部件的位置,控制方式可分为集中式和分散式。集中式特点是总线控制逻辑基本集中在
39、一处。分散式的特点是总线控制逻辑分散在总线各部件中。集中式控制是三总线,双总线和单总线结构机器中常用的方式。6.6A 设备 B 设备此外 ,CPU 不再向程序直接控制方式下那样被仪态外设独占,它可以同时与多台设备进行数据传送,与程序查询方式相同的实在信息传送阶段,CPU 仍要执行一段控制程序,还没有完全摆脱 I/O 操作的具体管理.7.3 通道方式利用了 DMA 技术,再加上软件,形成一种新的控制方式.通道是一种简单的处理机,它有指令系统,能执行程序,它的独立工作的能力比 DMA 强,能对多台不同类型的设备统一管理,对多个设备同时传送信息.而外微处理机的结构更接近于一般的处理机,它可完成 I/
40、O通道所要完成的 I/O 控制,还可完成马之变幻 ,格式处理,数据块的检错,纠错等操作,因而可以说外微处理机结构就是一般的小型计算机.7.4 外设有两种编址方法,一种是统一编址,一种是单独编址.所谓统一编址法,就是将 I/O 设备中的控制寄存器,数据据寄存器等也和内存单元一样看待,将它们和内存单元一起编排地址,它的特点就是访问内存单元的指令就可以访问 I/O 设备的米也寄存器,不需要专门的 I/O 指令组.而在单独编址的方法中,内存单元与 I/O 设备的地址是分开的,访问内存单元与访问 I/O设备的指令是不同的,有两套指令系统.7.5 外设采用程序中断方式传送数据时分为以下 10 个步骤:1.
41、程序启动外设,将该外设接口的“忙“ 标志 BS 置“1“,“准备就绪“ 标志 RD 清“0“; 2.接口向外设发出启动信号;3.数据又外设传送到街都的缓存寄存器;4.当外设动作结束或缓冲寄存器数据填满时,设备向接口送出以控制信号,将数据“准备就绪“ 标志 RD 置“1“;5.当允许中断标志 EI 为“1“ 时,借口向 CPU 发出中断请求信号 ;6.在一条指令执行末尾 CUP 检查中断请求线,将中断请求显得请求信号送到中断请求触发器 IR;7.如果中断屏蔽触发器 IM 为“0“,则 CPU 在一条指令结束后受理外设的中断请求,向外设发出相应中断信号并关闭中断;8.然后转向该设备的中断服务程序入
42、口;9.中断服务程序用输入指令拔节口中数据缓冲寄存器的数据读至 CPU 中的累加器或寄存器中;10.最后 CPU 发出控制信号 C 将接口中的 BS 和 RD 标识复位,一次数据传送结束.采用程序中断方式的接口应由准备就绪标志触发器,允许中断触发器,忙标志触发器,数据缓冲寄存器,中断向量逻辑,和设备选择等组成.其程序中断控制方式中的接口的示意图见 p291 的图 7.15.7.6 所谓中断判优就是判别中断条件,确定中断源,并转入相应的中断服务程序入口,这也是中断处理首先要解决的问题.大致有三种不同的方法.1.查询法:这是最简单的实现方法 ,在这种查询方式下,CPU 首先转向固定的中断查询程序入
43、口,执行爱程序,可以确定相应的中断请求,查询的顺序决定了设备中断优先权.这种软件查询方法是用于低速和中速设备.它的优点是中断条件标志的优先级可用程序任意改变,灵活性好,缺点是设备多时速度慢.2.串行排队链发与向量中断:该方法是由硬件实现的具有公共请求线的判优选择方式.向量中断方式是为每一个中断源设置一个中断向量的方式,中断向量包括了该中断源的中断服务程序入口地址.它完全由硬件直接产生中断响应信号,经过中断排队和编码逻辑,又被选中的设备直接送回中断向量.3.独立请求法:改判优方法中具有较高优先权的中断请求自动分所比它优先权地的所有中断请求,该方法速度库开,但连线多,逻辑电路复杂.7.7中断请求、
44、中断允许、禁止和中断的响应都是由硬件实现的。中断处理过程中,关中断、保存断点一般由硬件实现,判别中断条件所用的串行排队连法也由硬件实现。执行中断服务程序由软件完成。保存现场可以由硬件完成,也可以由软件完成。7.8DMA 方式中的中断称为简单中断,在 DMA 方式的 I/O 过程中,主机响应中断后不要执行服务程序,而是让出一个或几个存取周期供 I/O 设备与主存直接交换数据,此时,CPU 可以暂停运行,也可以执行非访问内存储器操作.DMA 传送与中断传送相比有一下不同点:1.中断传送需要保存 CPU 现场并执行中断服务程序,时间开销较大,而 DMA 由硬件实现,不需要保存 CPU 现场,时间开销
45、较小;2.中断传送只能在一个指令周期结束后进行,而 DMA 传送则可以在两个及其周期之间进行.7.9 采用 DMA 方式传送一批数据需要程序中断。因为在 DMA 方式中,当数据传送完毕时,DMA 控制器向 CPU 报告 DMA 操作结束,CPU 会以中断方式响应 DMA 结束请求,并由 CPU 在中断程序中进行结束后的处理工作。DMA 接口由以下几个部分组成:(1)内存地址计数器。保存内存数据缓冲的首地址。(2)字计数器。每完成一个字或字节的传送后,该计数器减 1,计数器为 0 时,传送结束,发一个信号到中断机构。(3)中断机构。可向 CPU 提出中断请求。(4)控制/状态逻辑。(5)数据缓冲寄存器。(6)DMA 请求标志。7.10 当 CPU 对设备 B 的中断请求进行服务时,如果设备 A 提出请求,CPU不能响应。因为在同一中断级中,执行某一中断源的中断服务程序不允许其它中断源打断,即使是优先权高的中断源也不允许打断它。要使设