1、 计算机组成原理考研指定教材 习题解答 李淑芝 欧阳城添 江西理工大学 计算机科学与技术教研室 2013.9 目 录 第 1章 计算机系统概论 . .1 第 2章 计算机的发展及应用 . .6 第 3章 系统总线 . .8 第 4章 存储器 . 13 第 5章 输入输出系统 . 32 第 6章 计算机的运算方法 . 44 第 7章 指令系统 . 65 第 8 章 CPU的结构和功能 . 70 第 9章 控制单元的功能 . 78 第 10章 控制单元的设计 85 第 1 章 计算机系统概论 1.1 什么是计算机系统、计算机硬件和计算机软件?硬件和软件哪个更重要? 解: 计算机系统由硬件和软件两大
2、部分组成。 硬件即指计算机的实体部分,它由看得见摸 得 着的各种电子元器件 , 各类光 、 电、机设备的实物组成,如主机、外设等。软件 是看不见摸不着的,由人 们事先编制成具有各类特殊功能的信息组成,用来充分发挥硬件功能,提高机器工作效率,便于人们使用机器,指挥整个计算机硬件系统工作的程序 、资料、数据 集合。 硬件和软件在计算机系统中相互依存,缺一不可,因此同样重要。 1.2 如何理解计算机系统的层次结构? 解: ( 1) 第一级:实际机器 M1 (机器语言机器 ),机器语言程序直接在 M1 上执行;( 2)第二级:虚拟机器 M2(汇编语言机器),将汇编语言程序先翻译成机器语言程序,再在 M
3、1 -上执行;( 3)第三级:虚拟机器 M3(高级语言机器 ),将高级语言程序先翻译成汇编语言程序,再在 M2、 M1(或直接到 M1)上执行;( 4)第零级:微程序机器 M0(微 指 令系统),由硬件直接执行微指令。( 5)实际上,实际机器 M1 和虚拟机器 M2 之间还有一级虚拟机,它是由操作系统软件构成,该级虚拟机用机器语言解释操作系统。( 6)虚拟机器 M3 还可以向上延伸,构成应用语言虚拟系统。 1.3 说明高级语言、汇编语言和机器语言的差别及联系。 解:机器语言由 0、 1 代码组成,是机器能识别的一种语言。用机器语言编写程序时要求程序员对他们所使用的计算机硬件及其指令系统十分熟悉
4、,编写程序难度很大,操作过程也极易出错。 汇编语言是 符号式的程序设计语言,汇编语言是面向机器的语言,它由一些特殊的符号表示指令。用汇编语言编写的汇编语言程序必须先被翻译成机器语言程序,才能被机器接受并自动运行。汇编语言的每一条语句都与机器语言的某一条语句( 0、 1 代码)一一对应。 高级语言是面向用户的语言,与具体的计算机指令系统无关、对问题的描述更接近于人们习惯,且易于掌握和书写。它具有较强的通 用 性,程序员完全不必了解、掌握实际机器 M1 的机型、内部的具体组成及其指令系统,只要掌握这类高级语言的语法和语义,便可直接用这种高级语言来编程,给程序员带来了极大的方便。 但是,用高级语言编
5、写的高级语言程序必须先被翻译成汇编语言程序,然后再将其翻译成机器语言程序或者将高级语言程序直接翻译成机器语言程序才能被机器接受并自动运行。 1.4 如何理解计算机组成和计算机体系结构? 解:计算机组成是指如何实现计算机体系结构所体现的属性,它包含了许多对程序员来说是透明的硬件细节。 计算机体系结构是指那些能够被程序员所见到的计算机系统的属性,即概念性的结构与功能特性,通常是指用机器语言编程的程序员所看到的传统机器的属性,包括指令集、数据类型、存储器寻址技术、 I/O 机理等等,大都属于抽象的属 性。 1.5 冯诺依曼计算机的特点是什么? 解:冯 诺依曼计算机的特点是: ( 1)计算机由运算器、
6、控制器、存储器、输入设备、输出设备五大部件组成; ( 2)指令和数据以同等地位存放于存储器内,并可以按地址访问; ( 3)指令和数据均用二进制表示; ( 4)指令由操作码、地址码两大部分组成,操作码用来表示操作的性质,地址码用来表示操作数在存储器中的位置; ( 5)指令在存储器中顺序存放,通常自动顺序取出执行; ( 6)机器以运算器为中心( 典型的 冯 诺依曼机)。 1.6 画出计算机硬件组成框图,说明各部件的作用及计算机 硬件的主要技术指标。 解: 现代的 计算机组成框图如图 1.1 所示: 输 入 设 备控 制 器运 算 器输 出 设 备存 储 器控 制 线反 馈 线数 据 线计 算 结
7、果计 算 步 骤 和原 始 数 据图 1.1 以存储器为中心的计算机结构框图 各部件的作用: (1)运算器用来完成算术运算和逻辑运算,并将运算的中间结果暂存在运算器内; (2)存储器用来存放数据和程序 ; (3)控制器用来控制、指挥程序和数据的输入 , 运行以及处理运算结果。 (4)输入设备用来将人们熟悉的信息形式转换为机器能识别的信息形式,常见有键盘、鼠标等。 (5)输出设备可以将机器运算结果转换为人们熟悉的信息形式,如打 印机输出,显示器输出。 硬件的主要技术指标: (1) 机器字长:指 CPU 一次能处理数据的位数,通常与 CPU 的寄存器位数有关。 (2) 存储容量:包括主存容量和辅存
8、容量,存放二进制代码的总数存储单元个数存储字长。 (3) 运算速度:主频、 Gibson 法、 MIPS 每秒执行百万条指令、 CPI 执行一条指令所需时钟周期数、 FLOPS 每秒浮点运算次数。 1.7 解释概念:主机、 CPU、主存、存储单元、存储元件、存储基元、存储元、存储字、存储字长、存储容量、机器字长、指令字长。 解:主机:是计算机硬件的主体部分,由 CPU 和主存储器 MM 合成为主机。 CPU:中央处理器,是计算机硬件的核心部件,由运算器和控制器组成(早期的运算器和控制器不在同一芯片上,现在的 CPU 内除含有运算器和控制器外还集成了 CACHE)。 主存:计算机中存放正在运行的
9、程序和数据的存储器,为计算机的主要工作存储器,可随机存取;由存储体、各种逻辑部件及控制电路组成。 存储单元:可存放一个机器字并具有特定存储地址的存储单位。 存储元件:存储一位二进制信息的物理元件,是存储器中最小的存储单位,又叫存储基元或存储元,不能单独存取。 存储字:一个存储单元所存二进制 代码的逻辑单位。 存储字长:一个存储单元所存二进制代码的位数。 存储容量:存储器中可存二进制代码的总量(通常主、辅存容量分开描述)。 机器字长:指 CPU 一次能处理的二进制数据的位数,通常与 CPU 的寄存器位数有关。 指令字长:一条指令的二进制代码位数。 1.8 解释英文代号: CPU、 PC、 IR、
10、 CU、 ALU、 ACC、 MQ、 X、 MAR、 MDR、I/O、 MIPS、 CPI、 FLOPS 解:全面的回答应分英文全称、中文名、功能三部分。 CPU: Central Processing Unit,中央处理机(器),是计算机 硬件的核心部件,主要由运算器和控制器组成。 PC: Program Counter,程序计数器,其功能是存放当前欲执行指令的地址,并可自动计数形成下一条指令地址。 IR: Instruction Register,指令寄存器,其功能是存放当前正在执行的指令。 CU: Control Unit,控制单元(部件),为控制器的核心部件,其功能是产生微操作命令序列
11、。 ALU: Arithmetic Logic Unit,算术逻辑运算单元,为运算器的核心部件,其功能是进行算术、逻辑运算。 ACC: Accumulator,累加 器,是运算器中既能存放运算前的操作数,又能存放运算结果的寄存器。 MQ: Multiplier-Quotient Register,乘商寄存器,乘法运算时存放乘数、除法时存放商的寄存器。 X:此字母没有专指的缩写含义,可以用作任一部件名,在此表示操作数寄存器,即运算器中工作寄存器之一,用来存放操作数; MAR: Memory Address Register,存储器地址寄存器,在主存中用来存放欲访问的存储单元的地址。 MDR: M
12、emory Data Register,存储器数据缓冲寄存器,在主存中用来存放从某单 元读出、或要写入某存储单元的数据。 I/O: Input/Output equipment,输入 /输出设备,为输入设备和输出设备的总称,用于计算机内部和外界信息的转换与传送。 MIPS: Million Instruction Per Second,每秒执行百万条指令数,为计算机运算速度指标的一种计量单位。 1.9 画出主机框图,分别以存数指令 “STA M”和加法指令 “ADD M”( M 均为主存地址)为例,在图中按序标出完成该指令(包括取指令阶段)的信息流程。假设主存容量为 256M*32 位,在指令
13、字长、存储字长、 机器字长相等的条件下,指出图中各寄存器的位数。 解:主机框图如图 1.2 所示(省略了在图中标出信息流程) 。 I / O 设 备A C CN QA L UC UI RP C存 储体 MM A RM D R运 算 器控 制 器主 存储 器图 1.2 细化的计算机组成框图 ( 1) STA M 指令: PC MAR, MAR M, M MDR, MDR IR, OP(IR) CU, PC+1 PC,Ad(IR) MAR, ACC MDR, MDR M, WR ( 2) ADD M 指令: PC MAR, MAR M, M MDR, MDR IR, OP(IR) CU, PC+1
14、 PC ,Ad(IR) MAR, RD, M MDR, MDR X, +, ALUACC, ACC MDR, WR 假设主存容量 256M*32 位,在指令字长、存储字长、机器字长相等的条件下, ACC、X、 IR、 MDR 寄存器均为 32 位, PC 和 MAR 寄存器均为 28 位。 1.10 根据迭代公式 x =1/2(yn+x/yn), 初始态 y0=1,要求精度为 ,试编制求 x 的解题程序(指令系统自定),并结合所编程序简述计算机的解题过程。 解: X 代表操作数寄存器, x 代表欲求平方根的数值。 解题过程 主要有以下步骤 : (1) 取 x 到 ACC (2) 加 1 存于
15、ACC (3) 除 2 存于 MQ, 又 MQ 主存单元 m (4) 取 x 到 ACC (5) 将 y1 从 m 中取出 , 执行 mX , ACCXMQ , 得 x/ yn (6) MQACC , 执行 yn x/ yn, 即 ACC XACC (7) 除 2 得结果于 MQ, 又 MQACC , MQm (8) ACC XACC , 然后判断 ACC与 的大小 , 若 |ACC| 则到 (9), 否则返回(5) (9) 打印 m (10) 停机 1.11 指令和数据都存于存储器中,计 算机如何区分它们? 解:计算机区分指令和数据有以下 2 种方法: ( 1)通过不同的时间段来区分指令和数
16、据,即在取指令阶段(或取指微程序)取出的为指令,在执行指令阶段(或相应微程序)取出的即为数据。 ( 2)通过地址来源区分,由 PC 提供存储单元地址的取出的是指令,由指令地址码部分提供存储单元地址的取出的是操作数。 1.12 什么是指令?什么是程序? 解 :指令: 指令是指示计算机执行某种操作的命令,它由一串二进制数码组成,告诉计算机从事某一特殊运算的代码 。一条指令通常由操作码和地址码两部分组成。 程序 : 程序是为实现特定 目标或解决特定问题而用计算机语言编写的命令序列的集合。为实现预期目的而进行操作的一系列语句和指令。 第 2 章 计算机的发展及应用 2.1 通常,计算机的更新换代以什么
17、为依据? 解 :早期的计算机的更新换代主要以组成计算机基本电路的元器件为依据,如电子管、晶体管、集成电路 等。 进入 20 世纪 70 年代后 ,通常人们以微处理器为标志来划分微型计算机,如 286 机、386 机、 486 机、 pentium 机。 2.2 举例说明专用计算机和通用计算机的区别。 解 :按照计算机的效率、速度、价格和运行的经济性和实用 性可以将计算机划分为通用计算机和专用计算机。通用计算机适应性强,但牺牲了效率、速度和经济性,而专用计算机是最有效、最经济和最快的计算机,但适应性很差。例如个人电脑和计算器。 2.3 什么是摩尔定律?该定律是否永远生效?为什么? 解 : Gor
18、don Moore 提出的“微芯片上集成的晶体管的数目每 3 年翻两番”的规律,这就是人们常称的 Moore(摩尔)定律。 该定律不能永远生效。原因 有 :其一,硅芯片的集成度 要受 其物理极限的制约,集成度不可能永无止境地提高;其二由于芯片集成度提高时,其制作成本也在不断提高;其三,随着 集成度的提高,微处理器内部的功耗、散热、线延迟等一系列的问题将难以解决。所以该定律不能永久生效。 2.4 举 3 个实例,说明网络技术的应用。 解 :例 1:电子商务。电子商务的应用中,任何一个组织结构可利用 Internet 来改变他们与客户、供应商、业务伙伴和内部员工的交流,也可以认为是消费者、销售者和
19、结算部门之间利用 Internet 完成商品采购和支付的过程。 例 2:网络教育。通过网络教育的应用,学生受教育可以不受时间、空间和地域的限制,通过网络延伸到全球的每个角落,建立真正意义上的开放式虚拟学校,每个学生可以在任意时刻、任意地点通过网络自由地学习。 例 3:敏捷制造。敏捷制造的应用中,当出现某种市场机遇时,由于敏捷制造基础结构所形成的虚拟企业通过网络上联络若干个具有核心组织者,他们以各自的资金、技术、厂房、设备等优势,通过国家的法律和彼此的合同,组建成一个虚拟企业。该企业不必有集中的办公场地和固定的组织机构,完全通过网络实现产品的技术设计、制造、网上销售和网上服务,充分发挥各自的优势
20、,以最优化的组合、最低的成本获取最大的利润。 2.5 举例说明人工智能方面的应用有哪些? 答:模式识别应用领域:图像处理技术,图像识别技 术等。文字、语音识别、语言翻译应用领域:手写体的计算机输入系统,语音录入计算机的软件,文字、语言翻译机等。专家系统应用领域:远程虚拟治疗,虚拟课堂,虚拟考试等。机器人应用领域:海底探测,智能机器人等。 2.6 举例说明哪些计算机的应用需采用多媒体技术。 解 : ( 1)通信 : 例如视频会议技术 ; ( 2)产品展示 : 其实就是广告行业 ; ( 3)军事 : 飞行仿真训练系统、视景仿真 ; ( 4)办公自动化 : 移动多媒体办公自动化系统 ; ( 5) 创
21、作 : 主要应用在影视作品中 ,如合成音乐、电子动画 ; ( 6)教育 : 远程教育,虚拟演播室。 2.7 设想一下计算机的未来。 解 : 计算机技术是世界上发展最快的科学技术之一,产品不断升级换代。当前计算机正朝着巨型化、微型化、智能化、网络化等方向发展,计算机本身的性能越来越优越,应用范围也越来越广泛 。 21 世纪除了人们继续追求超级智能计算机的问世外,更引人注目的是价格低廉、使用方便、体积更小、外形多变、具有人性化的计算机的研究和应用。在普及型的计算机发展同时,大型系统也将获得巨大发展,将来由低价、通用的多处理机组成的群机系统来代替单一的大型系统。 计算机技术的发展主要有多极化 、 智
22、能化 、 网络化 、 多媒体 化的 特点 。 未来计算机 发展方向有 量子计算机 , 神经网络计算机 , 化学、生物计算机 和 光计算机 等。 第 3 章 系统总线 3.1 什么是总线?总线传输有何特点?为了减轻总线负载,总线上的部件应具备什么特点? 解 :总线是连接多个部件的信息传输线,是各部件共享的传输介质。 总线传输的特点是:某一时刻,只允许有一个部件向总线发送信息,而多个部件可以同时从总线上接受相同的信息。 为了减轻总线负载,总线上的部件应通过三态驱动缓冲电路与总线连通。 3.2 总线如何分类?什么是系统总线?系统总线又分几类 ? 它们各有何作用 ?是单向 的还是双向的 ?它 们与机器
23、字长、存储字长、存储单元有何关系? 解 :总线的分类: ( 1) 按数据传送方式分:并行传输总线和串行传输总线; ( 2) 按总线的使用范围分:计算机总线、测控总线、网络通信总线等; ( 3) 按连接部件分:片内总线、系统总线和通信总线。 系统总线是指 CPU、主存、 I/O 设备(通过 I/O 接口)各大部件之间的信息传输 线,又叫板级总线和板间总线。 按系统总线传输信息不同,可分为 3 类:数据总线、地址总线和控制总线。 ( 1) 数据总线:数据总线是用来传输 各 功能部件之间的数据信息,它是双向传输总线,其位数与机 器字长、存储字长有关,一般为 8 位、 16 位或 32 位。 ( 2)
24、 地址总线:地址总线主要是用来指出数据总线上的源数据或目的数据在主存单元的地址 。 地址总线上的代码是用来指明 CPU 欲访问的存储单元或 I/O 端口的地址,由 CPU输出,是单向的,地址线的位数与存储单元的个数有关,如地址线有 20 根,则对应的存储单元个数为 220。 ( 3) 控制总线:控制总线是用来发出各种控制信号的传输线, 使各部件能在不同时刻占有总线使用权 ,控制总线还起到监视各部件状态的作用 。对任一控制线而言, 其传输是单向的 ,但对于控制总线总体来说,可认为是双向的 。 3.3 常用的总线结构有几种?不同的总线结构对计算机的性能有什么影响?举例说明。 解 :总线结构通常有单总线结构和多总线结构。 ( 1) 单总线结构是将 CPU、主存、 I/O 设备 (通过 I/O 接口) 都挂在一组总线上,允许 I/O 设备之间、 I/O 设备与 CPU 之间或 I/O 设备与主存之间直接交换信息。这种结构简单,也便于扩充,但是所有的传送都通过这组共享总线,易形成瓶颈。 这类总线多数为小型机或微型机所采用。 ( 2) 多总线结构又分为双总线结构、三总线结构和四总线结构。 将速率不同的 I/O 设备进行分类,然后将它们连接在不同的通 道(具有特殊功能的处理器)上,那么计算机系统的利用率将会更高,由此发展成多总线结构。