附录各章习题参考答案 第1章习题参考答案 答:微处理器MPU也常称为微处理机,它是微型计算机的核心部件,微处理器的发展过程就是微型计 算机的发展过程。以 Intel公司的微处理器为例,微处理器的发展历程经历了以下六代。 )第一代微处理器 1971~1973年为4位或低档8位微处理器和微型计算机的时代这一时期的典型产品是 Intel4004和 Intel 8008。第一代微处理器的基本特点是:采用PMOS工艺,集成度低(1200~2000晶体管/片,系统结构和指 令都比较简单,仅能进行串行十进制运算,且速度慢,基本指令执行时间为10-20μs,它采用机器语言编程, 主要用于家用电器和简单控制场合。 2)第二代微处理器 1974~1977年为8位中档微处理器和微型计算机时代。这一时期的典型CPU产品有 Intel8080、 Intel8085。 第二代微处理器的显著特点是:采用了NMOS工艺,集成度提高约4倍(5000~900晶体管/片),时钟频 率为2~4MHz,平均指令执行时间为1~2s,速度提高了1015倍,基本指令执行时间为1~2s,指令系统较 为完善。这一时期推出的微型计算机在系统结构上已具有典型的计算机体系结构以及中断、DMA等控制功 能,软件方面除汇编语言外,还可使用如 Basic、 Fortran等高级语言,在系统设计上考虑了机器兼容性、接 口标志化和通用性,且外围配套电路种类齐全、功能完善,因此这种系统广泛应用于电子仪器、现金出纳机 和打印机等设备中。 3)第三代微处理器 1978~1984年为16位微处理器和微型计算机时代。这一时期的CPU产品有Inte8086、 Intel8088。第 三代微处理器的主要特点是:采用了HMOS工艺,时钟频率为540MHz,集成度达20000~70000晶体管/ 片,基本指令执行时间为05s,比8位微处理器提高了一个数量级,数据总线宽度为16位,地址线为20 位,最大可寻址空间为IMB,具有丰富的指令系统,且CPU的内部结构有很大改进,体系结构与指令更为 完善利丰富,采用了多级中断、多种寻址方式、段式寄存器等结构 4)第四代微处理器 1985~到1992年为32位微处理器和微型计算机时代。这一时期的典型CPU产品是 Intel80386、 Intel 80486。第四代微处理器的主要特点是:大多采用了HMOS或CMOS工艺,集成度每个芯片高达100万个 晶体管,基本指令执行速度一般在25Mips,为微型计算机带来了小型机的性能。拥有32条地址线,内存寻 址范围为4GB,使用二级存储器管理方式,支持带有存储器保护的虚拟存储机制,虚拟存储空间高达264GB Intel80386时钟主频在16MHz以上,80486工作主频提高到了50MHz以上。 5)第五代微处理器 这一时期的CPU产品有1993年 Intel公司推出的 Pentium微处理器,使微处理器的技术发展到了一个崭 新的阶段,标志着微处理器完成从CISC向RISC时代的过渡, Pentium采用亚微米(0.8m)CMOS工艺技 术,集成度为33万个晶体管片,内部采用4级超标量结构,数据线64位,地址线36位。工作频率为 60/6MHz,处理速度达110Mips。在194年3月, Intel推出了第二代 Pentium,它采用0.6m工艺和3.3V 电源,功耗仅为4W,而且可在不需要时自动关闭浮点单元,散热问题基本得以解决,它的主时钟频率为 100MHz和90MHz两种
附录 各章习题参考答案 第 1 章 习题参考答案 1. 答:微处理器 MPU 也常称为微处理机,它是微型计算机的核心部件,微处理器的发展过程就是微型计 算机的发展过程。以 Intel 公司的微处理器为例,微处理器的发展历程经历了以下六代。 1) 第一代微处理器 1971~1973年为 4 位或低档 8 位微处理器和微型计算机的时代。这一时期的典型产品是 Intel 4004 和 Intel 8008。第一代微处理器的基本特点是:采用 PMOS 工艺,集成度低(1200~2000 晶体管/片),系统结构和指 令都比较简单,仅能进行串行十进制运算,且速度慢,基本指令执行时间为 10~20µs,它采用机器语言编程, 主要用于家用电器和简单控制场合。 2) 第二代微处理器 1974~1977年为8位中档微处理器和微型计算机时代。这一时期的典型CPU产品有Intel 8080、Intel 8085。 第二代微处理器的显著特点是:采用了 NMOS 工艺,集成度提高约 4 倍(5000~9000 晶体管/片),时钟频 率为 2~4MHz,平均指令执行时间为 1~2s,速度提高了 10~15 倍,基本指令执行时间为 1~2µs,指令系统较 为完善。这一时期推出的微型计算机在系统结构上已具有典型的计算机体系结构以及中断、DMA 等控制功 能,软件方面除汇编语言外,还可使用如 Basic、Fortran 等高级语言,在系统设计上考虑了机器兼容性、接 口标志化和通用性,且外围配套电路种类齐全、功能完善,因此这种系统广泛应用于电子仪器、现金出纳机 和打印机等设备中。 3) 第三代微处理器 1978~1984 年为 16 位微处理器和微型计算机时代。这一时期的 CPU 产品有 Intel 8086、Intel 8088。第 三代微处理器的主要特点是:采用了 HMOS 工艺,时钟频率为 5~40MHz,集成度达 20 000~70 000 晶体管/ 片,基本指令执行时间为 0.5µs,比 8 位微处理器提高了一个数量级,数据总线宽度为 16 位,地址线为 20 位,最大可寻址空间为 1MB,具有丰富的指令系统,且 CPU 的内部结构有很大改进,体系结构与指令更为 完善利丰富,采用了多级中断、多种寻址方式、段式寄存器等结构。 4) 第四代微处理器 1985~到 1992 年为 32 位微处理器和微型计算机时代。这一时期的典型 CPU 产品是 Intel 80386、Intel 80486。第四代微处理器的主要特点是:大多采用了 HMOS 或 CMOS 工艺,集成度每个芯片高达 100 万个 晶体管,基本指令执行速度一般在 25Mips,为微型计算机带来了小型机的性能。拥有 32 条地址线,内存寻 址范围为 4GB,使用二级存储器管理方式,支持带有存储器保护的虚拟存储机制,虚拟存储空间高达 264GB。 Intel 80386 时钟主频在 16MHz 以上,80486 工作主频提高到了 50MHz 以上。 5) 第五代微处理器 这一时期的 CPU 产品有 1993 年 Intel 公司推出的 Pentium 微处理器,使微处理器的技术发展到了一个崭 新的阶段,标志着微处理器完成从 CISC 向 RISC 时代的过渡, Pentium 采用亚微米(0.8µm)CMOS 工艺技 术,集成度为 330 万个晶体管/片,内部采用 4 级超标量结构,数据线 64 位,地址线 36 位。工作频率为 60/66MHz,处理速度达 110Mips。在 1994 年 3 月,Intel 推出了第二代 Pentium,它采用 0.6µm 工艺和 3.3V 电源,功耗仅为 4W,而且可在不需要时自动关闭浮点单元,散热问题基本得以解决,它的主时钟频率为 100MHz 和 90MHz 两种
计算机组成原理(第二版) 6)第六代微处理器 1995年, Intel公司正式公布的 Pentium pro是一种64位CPU。该处理器采用0.35m工艺,集成度是 550万个晶体管,地址线为36位,寻址范围为64GB,其主频提高到133MHLz以上,具有两倍 Pentium的 性能。其余典型产品有称为“具有MMX技术的 Pentium和 Pentium pro”,其型号分别为P55C和 PentiumⅢ, 64位的 PentiumⅢ, Pentium4系列、 Pentium d处理器系列、 Pentium双核处理器系列和 Pentium处理器至 尊版系列。 2.答:利用大规模集成电路工艺将微型计算机的CPU、内存和IO接口电路集成在一片硅片上,这就是单 片机( Single-Chip Computer)。若将微型计算机的CPU、内存、IO接口电路安装在一块印制电路板上 就组成了单板机。 3.答:微型计算机的硬件主要由运算器、存储器、控制器、输入设备和输出设备5部分组成。运算器是 完成二进制数据的算术或逻辑运算的部件,由累加器、暂存寄存器和算术逻辑单元(ALU, Arithmetic Logic Unit)组成,核心是算术逻辑单元。存储器是用来存放程序和数据的,是计算机的各种信息的存 储和交流中心。计算杋中的存储器包括内存储器、外存储器和只读存储器等。控制器主要用来实现微 型计算机本身运行过程的自动化,即实现程序的自动执行。在控制器控制下,从输入设备输入程序和 数据,并自动存放在存储器中,然后由控制器指挥各部件协同工作以执行程序,最后将结果打印输出 输入设备用来输入原始数据和处理这些数据的程序,输入的信息包括数字、字母和控制符号等,这些 信息由译码电路产生相应的ASCI码再由控制器控制进行各种操作。输入设备目前主要是CRT终端 键盘、鼠标、扫描仪等。输出设备用来输出计算机的处理结果,这些结果可以是数字、字母、图形和 表格等。最常用的输出设备有显示器、打印机、绘图仪等,当数据和程序通过键盘输入终端后,经计 算机处理后的结果可显示在屏幕上。 4.答:微型计算机的系统软件的主要特点是简化计算杋操作,支持应用软件的运行并提供服务,通常包 括操作系统、程序设计语言、编译和解释程序,还包括机器的监控管理程序、调试程序、故障检査和 诊断程序 5.答:数制是人们用来表示数据的科学方法。常用的数制有十进制、二进制、八进制和十六进制。十进 制数采用09共10个数字及其进位来表示数的大小,基数是10,其计数原则是“逢十进一”。二进 制数采用0-2共2个数字及其进位来表示数的大小,基数是2,其计数原则是“逢二进一”。八进制 数采用07共8个数字及其进位来表示数的大小,基数是8,其计数原则是“逢八进一”。十六进制 数采用0~F共16个数字及其进位来表示数的大小,基数是16,其计数原则是“逢十六进 (97)10=(1100001)2=(141)8=(61)16 (128)10=(10000000=(200)8=(80)6 (350)0=(10101111=(5368=(l5E)6 1024)0=(100000000=(20008=(400)16 (0.125)10=(0.001)2=(0.1)s=(0.2)e (24.25)0=(1100001)=(302)8=(184)6 (101100)2=(44)10=(54)8=(2C)6 (1101001)2=(105)0=(151)8=(69)6 (1101.1011)2=(13.6875)0=(1554)8=(DB)6 10010011.10101)2=(14765625)0=(223.52)8=(93A8 8.解: (30)16=(1100002=(48)0=(60) (0D)16=(1101)2=(13)0=(15)
• 2 • 计算机组成原理(第二版) 6) 第六代微处理器 1995 年,Intel 公司正式公布的 Pentium Pro 是一种 64 位 CPU。该处理器采用 0.35µm 工艺,集成度是 550 万个晶体管/片,地址线为 36 位,寻址范围为 64GB,其主频提高到 133MHz 以上,具有两倍 Pentium 的 性能。其余典型产品有称为“具有 MMX 技术的 Pentium 和 Pentium Pro”,其型号分别为 P55C 和 Pentium Ⅱ, 64 位的 Pentium III,Pentium 4 系列、Pentium D 处理器系列、Pentium 双核处理器系列和 Pentium 处理器至 尊版系列。 2. 答:利用大规模集成电路工艺将微型计算机的 CPU、内存和I/O 接口电路集成在一片硅片上,这就是单 片机(Single-Chip Computer)。若将微型计算机的 CPU、内存、I/O 接口电路安装在一块印制电路板上 就组成了单板机。 3. 答:微型计算机的硬件主要由运算器、存储器、控制器、输入设备和输出设备 5 部分组成。运算器是 完成二进制数据的算术或逻辑运算的部件,由累加器、暂存寄存器和算术逻辑单元(ALU,Arithmetic Logic Unit)组成,核心是算术逻辑单元。存储器是用来存放程序和数据的,是计算机的各种信息的存 储和交流中心。计算机中的存储器包括内存储器、外存储器和只读存储器等。控制器主要用来实现微 型计算机本身运行过程的自动化,即实现程序的自动执行。在控制器控制下,从输入设备输入程序和 数据,并自动存放在存储器中,然后由控制器指挥各部件协同工作以执行程序,最后将结果打印输出。 输入设备用来输入原始数据和处理这些数据的程序,输入的信息包括数字、字母和控制符号等,这些 信息由译码电路产生相应的 ASCII 码再由控制器控制进行各种操作。输入设备目前主要是 CRT 终端、 键盘、鼠标、扫描仪等。输出设备用来输出计算机的处理结果,这些结果可以是数字、字母、图形和 表格等。最常用的输出设备有显示器、打印机、绘图仪等,当数据和程序通过键盘输入终端后,经计 算机处理后的结果可显示在屏幕上。 4. 答:微型计算机的系统软件的主要特点是简化计算机操作,支持应用软件的运行并提供服务,通常包 括操作系统、程序设计语言、编译和解释程序,还包括机器的监控管理程序、调试程序、故障检查和 诊断程序。 5. 答:数制是人们用来表示数据的科学方法。常用的数制有十进制、二进制、八进制和十六进制。十进 制数采用 0~9 共 10 个数字及其进位来表示数的大小,基数是 10,其计数原则是“逢十进一”。二进 制数采用 0~2 共 2 个数字及其进位来表示数的大小,基数是 2,其计数原则是“逢二进一”。八进制 数采用 0~7 共 8 个数字及其进位来表示数的大小,基数是 8,其计数原则是“逢八进一”。十六进制 数采用 0~F 共 16 个数字及其进位来表示数的大小,基数是 16,其计数原则是“逢十六进一”。 6. 解: (97)10 = (1100001)2 = (141)8 = (61)16 (128)10 = (10000000)2 = (200)8 = (80)16 (350)10 = (101011110)2 = (536)8 = (15E)16 (1024)10 = (10000000000)2 = (2000)8 = (400)16 (0.125)10 = (0.001)2 = (0.1)8 = (0.2)16 (24.25)10 = (11000.01)2 = (30.2)8 = (18.4)16 7. 解: (101100)2 = (44)10 = (54)8 = (2C)16 (1101001)2 = (105)10 = (151)8 = (69)16 (1101.1011)2 = (13.6875)10 = (15.54)8 = (D.B)16 (10010011.10101)2 = (147.65625)10 = (223.52)8 = (93.A8)16 8. 解: (30)16 = (110000)2 = (48)10 = (60)8 (0D)16 = (1101)2 = (13)10 = (15)8
附录各章习题参考答案 (24.5)6=(001001000101)2=(36.3125)0=(4424)8 (9B.2F)16=(1001011.0010111)=(15518359375)0=(233136)8 9.答:带符号数的表示方法有3种:原码、反码和补码。原码是一种简单的机器数表示方法,即符号和数 值表示法,规定正数的符号位为0,负数的符号位为1。对于一个带符号的数来说,正数的反码与其原 码相同,负数的反码为其原码除符号位外的各位按位取反,反码通常用做求补码过程中的中间形式。正 数的补码与其原码相同,负数的补码为其反码在最低位加l,引入补码的目的在于将加、减法运算简化 为单纯的加法运算 10.解 48]=00110000[48]反=0011000048]=00110000 64]=01000000164]反=0100000064]=01000000 -31]k=10011l1-31]反=1110000-31]补=111004 127]=1llll -127反=1000000 -127=1000000 由于X+Y补=[X]补+[Y]补,先求[X1、[Y]补 X=(-9)=-0001001,则[X]=11110111 Y=(-2)=-000000,则[Y]=11110 l110111[x]补 )l10Y 1110101[X1]*+[Yl]补 所以,[X+Y补=[1110101] 由于X]=11000000]=0100100,[2]=00110010, 所以-X1=010000-¥]=10111000-2]=1100110 [X-Y]=[X]+[-Y]=110000101100010111000产生溢出,结果出错。 [X-Z]=(X]补+[Z]h=110000100110=100011,无溢出,结果正确。 13.答: ASCII编码通常用7位二进制数表示,A、a、0、CR、LF的ASCI码依次为65、97、48、13 10 8609的压缩8424BCD码为10000110001001 5254的压缩8424BCD码为0101001001010100 2730的压缩8424-BCD码为001001110011000 2008的压缩8424-BCD码为001000000001000 第2章习题参考答案 1.答:8088/8086CPU由两个独立的功能部件构成:指令执行部件EU( Execution Unit)和总线接口部件 BIU( Bus Interface Unit),两者可并行操作。 指令执行部件(EU)中包含1个16位的算术逻辑单元ALU,8个16位的通用寄存器,1个16位的状 态标志寄存器FR,1个数据暂存寄存器和执行部件的控制电路。EU主要功能是:从BIU的指令队列中取出 指令代码,经指令译码器译码后执行指令规定的全部功能。执行结果或执行指令所需的数据,都由EU向 BIU发出命令,对存储器或LO接口进行读/写操作。EU中的各个部件通过16位的ALU总线连接在一起, 在内部实现快速数据传榆。EU从BIU的指令队列中获得指令,当指令要求访问存储器单元或外部设备时
附录 各章习题参考答案 • 3 • (24.5)16 = (00100100.0101)2 = (36.3125)10 = (44.24)8 (9B.2F)16 = (10011011.00101111)2 = (155.18359375)10 = (233.136)8 9. 答:带符号数的表示方法有 3 种:原码、反码和补码。原码是一种简单的机器数表示方法,即符号和数 值表示法,规定正数的符号位为 0,负数的符号位为 1。对于一个带符号的数来说,正数的反码与其原 码相同,负数的反码为其原码除符号位外的各位按位取反,反码通常用做求补码过程中的中间形式。正 数的补码与其原码相同,负数的补码为其反码在最低位加 l,引入补码的目的在于将加、减法运算简化 为单纯的加法运算。 10. 解: [48]原 = 00110000 [48]反 = 00110000 [48]补 = 00110000 [64]原 = 01000000 [64]反 = 01000000 [64]补 = 01000000 [-31]原 = 10011111 [-31]反 = 11100000 [-31]补 = 11100001 [-127]原 = 11111111 [-127]反 = 10000000 [-127]补 = 10000001 11. 解: 由于[X + Y]补 = [X]补 + [Y]补,先求[X]补 、 [Y]补。 X = (-9) = -0001001,则[X]补 = 11110111 Y = (-2) = -0000010,则[Y]补 = 11111110 11110111 [X]补 +) 11111110 [Y]补 11110101 [X1]补+[Y1]补 所以,[X + Y]补 = [11110101]补 12. 解: 由于[X]补=11000000,[Y]补=01001000,[Z]补=00110010, 所以[-X]补 = 01000000,[-Y]补 =10111000,[-Z]补 = 11001110 [X-Y]补 = [X]补 + [-Y]补 = 11000000 + 10111000 = 101111000,产生溢出,结果出错。 [X-Z]补 = [X]补 + [-Z]补 = 11000000 + 11001110 = 10001110,无溢出,结果正确。 13. 答:ASCII 编码通常用 7 位二进制数表示,A、a、0、CR、LF 的 ASCII 码依次为 65、97、48、13、 10。 14. 解: 8609 的压缩 8424-BCD 码为 1000011000001001 5254 的压缩 8424-BCD 码为 0101001001010100 2730 的压缩 8424-BCD 码为 0010011100110000 2008 的压缩 8424-BCD 码为 0010000000001000 第 2 章 习题参考答案 1. 答:8088/8086 CPU 由两个独立的功能部件构成:指令执行部件 EU(Execution Unit)和总线接口部件 BIU(Bus Interface Unit),两者可并行操作。 指令执行部件(EU)中包含 1 个 16 位的算术逻辑单元 ALU,8 个 16 位的通用寄存器,1 个 16 位的状 态标志寄存器 FR,1 个数据暂存寄存器和执行部件的控制电路。EU 主要功能是:从 BIU 的指令队列中取出 指令代码,经指令译码器译码后执行指令规定的全部功能。执行结果或执行指令所需的数据,都由 EU 向 BIU 发出命令,对存储器或 I/O 接口进行读/写操作。EU 中的各个部件通过 16 位的 ALU 总线连接在一起, 在内部实现快速数据传榆。EU 从 BIU 的指令队列中获得指令,当指令要求访问存储器单元或外部设备时
计算机组成原理(第二版) EU就向BU发出操作请求,并提供访问的数据和地址,由BIU完成相应的操作。 BU内部设有4个16位段地址寄存器,即代码段寄存器CS、数据段寄存器DS、堆栈段寄存器SS和附 加段寄存器ES;1个16位指令指针寄存器IP;1个6字节指令队列缓冲器;以及20位地址加法器和总线控 制电路。BIU的主要功能是:根据EU的请求,完成CPU与存储器或I/O设备之间的数据传送。BIU提供从 存储器的指定单元取出指令,送至指令队列中或直接传送给EU去执行;从存储器的指定单元和外设端口中 取出指令规定的操作数传送给EU,或者把EU的操作结果传送到指定的存储单元和外设端口中。 8086具有16位的内部数据总线和16位的外部数据总线,而8088却具有16位的内部总线和8位的外 部数据总线,因而称为准16位机 2.答:8088/8086内部有14个16位寄存器,按功能可分为3大类:第一类是通用寄存器8个,第二类是 段寄存器4个,第三类是控制寄存器2个。通用寄存器中的数据寄存器用来存放操作数或中间结果:指 针和变址寄存器用来存放地址的偏移量。段寄存器用来存放每一个逻辑段的段起始地址,其中代码段寄 存器CS用来给出当前的代码段起始地址,存放CPU可以执行的指令,CPU执行的指令将从代码段取 得;数据段寄存器DS指向程序当前使用的数据段,用来存放数据,包括参加运算的操作数和中间结果 堆栈段寄存器SS给出程序当前所使用的堆栈段,即在存储器中开辟的堆栈区,堆栈操作的执行地址就 在该段;附加段寄存器ES指出程序当前所使用的附加段,通常也用来存放数据,典型用法是存放处理 以后的数据。控制寄存器中的指令指针寄存器IP存放EU要执行的下一条指令的偏移地址,用以控制 程序中指令的执行顺序;标志寄存器FLAG共9个标志,其中6个用做状态标志,3个用做控制标志 状态标志位用来反映EU执行算术或逻辑运算的结果特征,这些标志常用作条件转移类指令的测试条件, 控制程序的执行流程,控制标志位用来控制CPU的工作方式或工作状态 3.答:当访问存储器中某个字节时:指令中的地址码经变换后得到20位的物理地址。如果是偶地址(A=0, BHE=1),这时可由A选定偶地址存储体,Ay~A1从偶地址存储体中选定某个字节地址,并启动该存 储体,读/写该地址中一个字节的信息,通过数据总线的低8位传送数据:如果是奇地址(A0=1),则 偶地址存储体不会被选中,系统将自动产生BHE=0,作为奇地址存储体的选择信号,与A~A1一起选 定奇地址存储体中某个字节地址,并读/写该地址中一个字节的信息,通过数据总线的高8位传送数据。 当访问存储体中某个字时:一种情况是需要访问从偶地址开始的一个字(即高字节在奇地址中,低字节 在偶地址中),可一次访问存储器读写一个字信息,这时A=0,BHE=0。另一种情况是需要访问从 奇地址开始的一个字(即高字节在偶地址中,低字节在奇地址中),这时需要访问两次存储器才能读 写这个字的信息,第一次访问存储器读/写奇地址中的字节,第二次访问存储器读/写偶地址中的字节 显然,为了加快程序的运行速度,希望访问存储器的字地址为偶地址。 段地址 偏移地址 物理地址 (1)2314H:0035H 0035H 23175H (2)IFDOH: 00AOH IFDOH 00AOH IFDAOH (3)3FBOH:0053H 3FBOH 0053H 3FB53H (4)0000H:0100H 0000H 0100H 00100H (5)1000H:0l1OH 1000H 0l10H 0110H (6)2A00H:2010H 2AOOH COoh 5.解:根据公式 物理地址=段基址*16+偏移地址,得 该程序段的第一个字的物理地址是OD430H。 6.答:状态标志位用来反映EU执行算术或逻辑运算的结果特征,这些标志常用作条件转移类指令的测试 条件,控制程序的执行流程,控制标志位用来控制CPU的工作方式或工作状态,它一般由程序设置或 由程序清除。对于状态标志,CPU在进行算术逻辑运算时根据操作结果自动将状态标志位置位(等于1)
• 4 • 计算机组成原理(第二版) EU 就向 BIU 发出操作请求,并提供访问的数据和地址,由 BIU 完成相应的操作。 BIU 内部设有 4 个 16 位段地址寄存器,即代码段寄存器 CS、数据段寄存器 DS、堆栈段寄存器 SS 和附 加段寄存器 ES;1 个 16 位指令指针寄存器IP;1 个 6 字节指令队列缓冲器;以及 20 位地址加法器和总线控 制电路。BIU 的主要功能是:根据EU 的请求,完成 CPU 与存储器或 I/O 设备之间的数据传送。BIU 提供从 存储器的指定单元取出指令,送至指令队列中或直接传送给 EU 去执行;从存储器的指定单元和外设端口中 取出指令规定的操作数传送给 EU,或者把 EU 的操作结果传送到指定的存储单元和外设端口中。 8086 具有 16 位的内部数据总线和 16 位的外部数据总线,而 8088 却具有 16 位的内部总线和 8 位的外 部数据总线,因而称为准 16 位机。 2. 答:8088/8086 内部有 14 个 16 位寄存器,按功能可分为 3 大类:第一类是通用寄存器 8 个,第二类是 段寄存器 4 个,第三类是控制寄存器 2 个。通用寄存器中的数据寄存器用来存放操作数或中间结果;指 针和变址寄存器用来存放地址的偏移量。段寄存器用来存放每一个逻辑段的段起始地址,其中代码段寄 存器 CS 用来给出当前的代码段起始地址,存放 CPU 可以执行的指令,CPU 执行的指令将从代码段取 得;数据段寄存器 DS 指向程序当前使用的数据段,用来存放数据,包括参加运算的操作数和中间结果; 堆栈段寄存器 SS 给出程序当前所使用的堆栈段,即在存储器中开辟的堆栈区,堆栈操作的执行地址就 在该段;附加段寄存器 ES指出程序当前所使用的附加段,通常也用来存放数据,典型用法是存放处理 以后的数据。控制寄存器中的指令指针寄存器 IP 存放 EU 要执行的下一条指令的偏移地址,用以控制 程序中指令的执行顺序;标志寄存器FLAG 共 9 个标志,其中 6 个用做状态标志,3 个用做控制标志, 状态标志位用来反映EU执行算术或逻辑运算的结果特征,这些标志常用作条件转移类指令的测试条件, 控制程序的执行流程,控制标志位用来控制 CPU 的工作方式或工作状态。 3. 答:当访问存储器中某个字节时:指令中的地址码经变换后得到 20 位的物理地址。如果是偶地址(A0=0, BHE=1),这时可由 A0 选定偶地址存储体,A19~A1 从偶地址存储体中选定某个字节地址,并启动该存 储体,读/写该地址中一个字节的信息,通过数据总线的低 8 位传送数据;如果是奇地址(A0=1),则 偶地址存储体不会被选中,系统将自动产生 BHE =0,作为奇地址存储体的选择信号,与 A19~A1一起选 定奇地址存储体中某个字节地址,并读/写该地址中一个字节的信息,通过数据总线的高 8 位传送数据。 当访问存储体中某个字时:一种情况是需要访问从偶地址开始的一个字(即高字节在奇地址中,低字节 在偶地址中),可一次访问存储器读/写一个字信息,这时 A0=0,BHE =0。另一种情况是需要访问从 奇地址开始的一个字(即高字节在偶地址中,低字节在奇地址中),这时需要访问两次存储器才能读/ 写这个字的信息,第—次访问存储器读/写奇地址中的字节,第二次访问存储器读/写偶地址中的字节。 显然,为了加快程序的运行速度,希望访问存储器的字地址为偶地址。 4. 解: 段地址 偏移地址 物理地址 (1)2314H: 0035H 2314H 0035H 23175H (2)lFD0H: 00A0H lFD0H 00A0H 1FDA0H (3)3FB0H: 0053H 3FB0H 0053H 3FB53H (4)0000H: 0100H 0000H 0100H 00100H (5)1000H: 0110H 1000H 0110H 10110H (6)2A00H: 2010H 2A00H 2010H 2C010H 5. 解:根据公式 物理地址 = 段基址*16 + 偏移地址,得 该程序段的第一个字的物理地址是 0D430H。 6. 答:状态标志位用来反映 EU 执行算术或逻辑运算的结果特征,这些标志常用作条件转移类指令的测试 条件,控制程序的执行流程,控制标志位用来控制 CPU 的工作方式或工作状态,它一般由程序设置或 由程序清除。对于状态标志,CPU 在进行算术逻辑运算时根据操作结果自动将状态标志位置位(等于 1)
附录各章习题参考答案 或复位(等于0):对于控制标志,实现用指令设置,在程序执行时,检测这些标志,用于控制程序的 转向。808688的状态标志有CF、PF、AF、ZF、SF、OF,控制标志有TF、I、DF 7.答:SP和BP用于堆栈段操作,入栈(PUSH)和出栈(POP)指令由SP给出栈顶偏移地址,称为堆栈 指针寄存器:BP存放位于堆栈段中数据区基址的偏移地址,称做基址指针寄存器。SI和DI用来存放 当前数据段的偏移地址,源操作数的偏移地址存放SI中,称其为“源变址寄存器”,目的操作数的偏 移地址存放于DI中,称其为“目的变址寄存器”。 答:8086有两种工作模式:最小模式和最大模式。最小模式是指系统中只有一个微处理器(8086) 在这种系统中,8086直接产生所有的总线控制信号,系统所需的外加总线控制逻辑部件最少。最大模 式是指系统中含有两个或多个微处理器,其中一个为主处理器8086,其它的处理器称为协处理器,是 协助主处理器工作的。在最大模式工作时,控制信号是通过8288总线控制器提供的。目前常用的是最 大模式。在不同模式下工作时,8086的部分引脚(第21~24引脚)会有不同的功能 9.答:总线周期是指CPU从存储器或MO端口存取一个字节(或一个字)所需要的时间。8086的最基 本的总线周期由4个时钟周期组成,每个时钟周期称为T状态,用T1、T2、T3和T4表示。如一个CPU 的时钟频率为24MHz,那么,它的一个时钟周期为1/24s即0.042s,一个基本总线周期为1/6s。若 CPU时钟频率为15MHZ,则其时钟周期为1/15s即0.067s,一个基本总线周期为4/5s。 10.答:8086和8088采用分时的多路转换方法来实现对地址线和数据线的复用,作为复用引脚,在总线 周期的T1状态用来输出要访问的存储器或IO端口地址,在其它状态则用来传送数据。ALE在任何 总线周期的T1状态输出有效电平,以表示当前在地址/数据复用总线上输出的是地址信息,地址锁存 器将ALE作为锁存信号,对地址进行锁存 11.答: RESET信号来到后,808688系统的CS设置为OFFH,P清0。第一条指令的物理地址为 FFFFOE, 存放着一条无条件转移指令的代码 第7章习题参考答案 1.答:所谓“中断”是指CPU在正常执行程序的过程中,由于内部/外部事件或由程序的预先安排,引 起CPU暂时中断当前程序的运行而转去执行为内部外部事件或预先安排的事件服务的子程序,待中 断服务子程序执行完毕后,CPU再返回到暂停处(断点)继续执行原来的程序,这一过程称为中断 根据中断源是来自CP的内部还是外部,8086的中断源可分为两大类:内部中断源和外部中断源, 对应的中断称为内部中断和外部中断。 2.答:在现代微机系统中采用中断技术后,可以带来以下优点:并行操作、实时处理、故障处理和分时 操作。(详细内容请参见教材) 3.答:8086可以处理256种中断向量,每种中断都指定一个中断类型号代码(0~255),每一个中断类 型号都可以与一个中断服务程序相对应。中断向量表是存放中断服务程序入口地址的表格,它存放在 存储器的最低地址区,每4个字节存放一个中断服务程序的入口地址,由于要存放256个中断服务程 序的人口地址,所以要占用1024个字节,地址号为000004-0003FH。较高地址的两个字节存放中断 程序入口的段基值CS,较低地址的两个字节放入口地址的段内偏移量IP,这4个单元的最低地址称 为向量地址 4.解:根据“中断类型号*4”即可计算出某个中断类型的中断向量在整个中断向量表中的位置,所以30H 号中断的中断服务程序地址存放在8086中断向量表的0000400C0H-0000:00C3H 5.答:通常,确定中断的优先级的方法有以下几种 1)软件查询确定中断优先级。其缺点是在中断源较多的情况下,由询问到转至相应的中断服务程序 的入口时间较长
附录 各章习题参考答案 • 5 • 或复位(等于 0);对于控制标志,实现用指令设置,在程序执行时,检测这些标志,用于控制程序的 转向。8086/88 的状态标志有 CF、PF、AF、ZF、SF、OF,控制标志有 TF、IF、DF。 7. 答:SP 和 BP 用于堆栈段操作,入栈(PUSH)和出栈(POP)指令由 SP 给出栈顶偏移地址,称为堆栈 指针寄存器;BP 存放位于堆栈段中数据区基址的偏移地址,称做基址指针寄存器。SI 和 DI 用来存放 当前数据段的偏移地址,源操作数的偏移地址存放 SI 中,称其为“源变址寄存器”,目的操作数的偏 移地址存放于 DI 中,称其为“目的变址寄存器”。 8. 答:8086 有两种工作模式:最小模式和最大模式。最小模式是指系统中只有一个微处理器(8086)。 在这种系统中,8086 直接产生所有的总线控制信号,系统所需的外加总线控制逻辑部件最少。最大模 式是指系统中含有两个或多个微处理器,其中一个为主处理器 8086,其它的处理器称为协处理器,是 协助主处理器工作的。在最大模式工作时,控制信号是通过 8288 总线控制器提供的。目前常用的是最 大模式。在不同模式下工作时,8086 的部分引脚(第 21~24 引脚)会有不同的功能。 9. 答:总线周期是指 CPU 从存储器或 I/O 端口存取一个字节(或一个字)所需要的时间。8086 的最基 本的总线周期由 4 个时钟周期组成,每个时钟周期称为 T 状态,用 T1、T2、T3 和 T4 表示。如一个 CPU 的时钟频率为 24MHz,那么,它的一个时钟周期为 1/24µs 即 0.042µs,一个基本总线周期为 1/6µs。若 CPU 时钟频率为 15MHZ,则其时钟周期为 1/15µs 即 0.067µs,一个基本总线周期为 4/15µs。 10. 答:8086 和 8088 采用分时的多路转换方法来实现对地址线和数据线的复用,作为复用引脚,在总线 周期的 T1 状态用来输出要访问的存储器或 I/O 端口地址,在其它状态则用来传送数据。ALE 在任何 总线周期的 T1 状态输出有效电平,以表示当前在地址/数据复用总线上输出的是地址信息,地址锁存 器将 ALE 作为锁存信号,对地址进行锁存。 11. 答:RESET 信号来到后,8086/88 系统的 CS 设置为 0FFFFH,IP 清 0。第一条指令的物理地址为 FFFF0H, 存放着一条无条件转移指令的代码。 第 7 章 习题参考答案 1. 答:所谓“中断”是指 CPU 在正常执行程序的过程中,由于内部/外部事件或由程序的预先安排,引 起 CPU 暂时中断当前程序的运行而转去执行为内部/外部事件或预先安排的事件服务的子程序,待中 断服务子程序执行完毕后,CPU 再返回到暂停处(断点)继续执行原来的程序,这一过程称为中断。 根据中断源是来自 CPU 的内部还是外部,8086 的中断源可分为两大类:内部中断源和外部中断源, 对应的中断称为内部中断和外部中断。 2. 答:在现代微机系统中采用中断技术后,可以带来以下优点:并行操作、实时处理、故障处理和分时 操作。(详细内容请参见教材) 3. 答:8086 可以处理 256 种中断向量,每种中断都指定一个中断类型号代码(0~255),每一个中断类 型号都可以与一个中断服务程序相对应。中断向量表是存放中断服务程序入口地址的表格,它存放在 存储器的最低地址区,每 4 个字节存放一个中断服务程序的入口地址,由于要存放 256 个中断服务程 序的人口地址,所以要占用 1024 个字节,地址号为 00000H~0003FFH。较高地址的两个字节存放中断 程序入口的段基值 CS,较低地址的两个字节放入口地址的段内偏移量 IP,这 4 个单元的最低地址称 为向量地址。 4. 解:根据“中断类型号*4”即可计算出某个中断类型的中断向量在整个中断向量表中的位置,所以 30H 号中断的中断服务程序地址存放在 8086 中断向量表的 0000:00C0H~0000:00C3H。 5. 答:通常,确定中断的优先级的方法有以下几种: 1) 软件查询确定中断优先级。其缺点是在中断源较多的情况下,由询问到转至相应的中断服务程序 的入口时间较长
计算机组成原理(第二版) 2)链式优先级排队电路。(缺点略) 3)中断优先级编码电路。(缺点略) 6.略,参见图7-7 7.答:8259A的基本功能有 1)采用NMOS制造工艺,只需要一组+5V电源 2)有8个外部中断请求输入引脚,具有8级中断优先级控制,并且在不增加任何其它电路情况下 可以用9片8259A通过级联扩展至64级优先级控制。 3)每一级中断都可以通过初始设置为允许或屏蔽状态 4)在中断相应周期,8259A可提供相应的中断向量,从而能迅速地转至中断服务程序 5)8259A的工作方式可以通过编程设置,使用非常灵活。 8.答:按照对中断优先级的管理,8259A工作方式有全嵌套方式、特殊全嵌套方式、优先级自动循环方 式和优先级特殊循环方式 9.答: ICW1=1BH=0001101B ICW2=30H=00110000B ICW4=0lH=00000001B 根据各初始化命令字各位的功能得,该8259A单片工作,电平触发方式,必须输出ICW4,8级中断 的中断类型码为30H37H,系统中的CPU为8088/8086,非缓冲方式,非自动中断结束方式,中断优 先级采用普通全嵌套方式。 10.解:硬件接线图如下所示。其中,主片的ICW=00101000B=28H,从片1的ICW3=0001BF=03H, 从片2的ICW3=00000101B=05H 地址总线(16位) 控制总线 数据总线(8位) A。 Dr-Do INTA D CASoK CASo 8259A从片1CAS1 8259A从片2CAS1 CAS 8259A主片 CAS SP/en IRy-IRo INT SP/EN IRr-IR. INT SPEN76543210 11.答:1)在缓冲方式下,主片的ICW1的SNGL=0,ICW3指出从片连接情况,若相应引脚接有从片 则相应位置1,lCW4的MS=1,BUF=1:从片的ICW1的SNGL=0,lCW3指出连接到主片的哪个引脚, ICW4的MS=0,BUF=1。2)在非缓冲方式下,主片和从片的ICW4的BUF=0,其余设置同缓冲方式 12.解:由OCW2的各位设置知,它是优先级设置命令,IR3发出中断请求,CPU响应之后,由于8259A 工作于优先级自动循环方式,则其优先权排队顺序自动变为IR4、Rs、IR6、IR7、R1、IR2、IR
• 6 • 计算机组成原理(第二版) 2) 链式优先级排队电路。(缺点略) 3) 中断优先级编码电路。(缺点略) 6. 略,参见图 7-7 7. 答:8259A 的基本功能有: 1) 采用 NMOS 制造工艺,只需要一组+5V 电源。 2) 有 8 个外部中断请求输入引脚,具有 8 级中断优先级控制,并且在不增加任何其它电路情况下, 可以用 9 片 8259A 通过级联扩展至 64 级优先级控制。 3) 每一级中断都可以通过初始设置为允许或屏蔽状态。 4) 在中断相应周期,8259A 可提供相应的中断向量,从而能迅速地转至中断服务程序。 5) 8259A 的工作方式可以通过编程设置,使用非常灵活。 8. 答:按照对中断优先级的管理,8259A 工作方式有全嵌套方式、特殊全嵌套方式、优先级自动循环方 式和优先级特殊循环方式。 9. 答: ICW1 = 1BH = 00011011B ICW2 = 30H = 00110000B ICW4 = 01H = 00000001B 根据各初始化命令字各位的功能得,该 8259A 单片工作,电平触发方式,必须输出 ICW4,8 级中断 的中断类型码为 30H~37H,系统中的 CPU 为 8088/8086,非缓冲方式,非自动中断结束方式,中断优 先级采用普通全嵌套方式。 10. 解:硬件接线图如下所示。其中,主片的 ICW3=00101000B=28H,从片 1 的 ICW3=00000011B=03H, 从片 2 的 ICW3=00000101B=05H。 CS A0 D7~D0 INTA CAS0 8259A从片1 CAS1 CAS2 SP/EN IR7~IR0 INT 地址总线(16位) 控制总线 数据总线(8位) CS A0 D7~D0 INTA CAS0 8259A从片2 CAS1 CAS2 SP/EN IR7~IR0 INT CS A0 D7~D0 INTA INT CAS0 CAS1 8259A主片 CAS2 SP/EN 7 6 5 4 3 2 1 0 VCC 11. 答:1)在缓冲方式下,主片的 ICW1 的 SNGL=0,ICW3 指出从片连接情况,若相应引脚接有从片, 则相应位置 1,ICW4 的 M/S=1,BUF=1;从片的 ICW1 的 SNGL=0,ICW3 指出连接到主片的哪个引脚, ICW4 的 M/S=0,BUF=1。2)在非缓冲方式下,主片和从片的ICW4 的 BUF=0,其余设置同缓冲方式。 12. 解:由 OCW2 的各位设置知,它是优先级设置命令,IR3发出中断请求,CPU 响应之后,由于 8259A 工作于优先级自动循环方式,则其优先权排队顺序自动变为 IR4、IR5、IR6、IR7、IR1、IR2 、IR3
附录各章习题参考答案 第8章习题参考答案 第9章习题参考答案 第10章习题参考答案 第11章习题参考答案 第12章习题参考答案
附录 各章习题参考答案 • 7 • 第 8 章 习题参考答案 第 9 章 习题参考答案 第 10 章 习题参考答案 第 11 章 习题参考答案 第 12 章 习题参考答案