南信大 计算机组成原理期末练习题 下载本文

计算机组成原理 薛胜军 题库

第1章 概述

一、选择题

o 冯·诺依曼(Von Neumann)机工作方式的基本特点是 。

A.指令流单数据流 B.按地址访问并顺序执行指令 C.堆栈操作 D.存储器按内容选择地址

o 下列描述中 是正确的。

A.控制器能够识别、解释和执行所有的指令及存储结果

B.计算机主要由输入输出单元、控制器、存储器和算术逻辑单元构成 C.所有的数据运算都在控制器中完成 D.以上三者都正确

o 计算机系统中的存储器系统是指 。

A.RAM存储器; B.ROM存储器;

C.主存储器; D.主存储器和外存储器。

o 计算机科技文献中,英文缩写CAI代表 。

A.计算机辅助制造 B.计算机辅助教学 C.计算机辅助设计 D.计算机辅助管理

o 能够被计算机硬件直接识别的语言是 。

A.汇编语言 B.高级语言 C.机器语言 D.应用语言

o 计算机软件分为两大类,他们是 。

A.操作系统与应用软件 B.操作系统与系统软件 C.操作系统与CAD软件 D.系统软件与应用软件

o 完整的计算机系统是由 组成的。

A.主机与外设 B.CPU与存储

C.ALU与控制器 D.硬件系统与软件系统

o 高级语言源程序不能直接在计算机上运行,需要有相应的语言处理程序翻译

成 程序后才能运行。

A.C语言 B.汇编语言 C.机器语言 D.宏汇编语言

o 当前设计高性能计算机的重要技术途径是___。

A.提高CPU主频 B.扩大主存容量 C.采用非冯·诺依曼结构 D.采用并行处理技术

o 下列体系结构中,最适合多个任务并行执行的体系结构是___。

A.流水线向量机结构 B.堆栈处理机结构

C.共享存储多处理机结构 D.分布存储多计算机结构 二、填空题

o 电子计算机从诞生至今,按其工艺和器件特点,大致经历了四代。第一代

o o o o o o o

从 A 年开始,采用 B ;第二代从 C 年开始,采用 D ;第三代从 E 年开始,采用 F ;第四代从 G 年开始,采用 H 。

计算机的硬件是指 A ,软件是指 B 。

计算机将部分软件存储在只读存储器中,称之为 A 。 将许多电子元件集成在一块芯片上称为 A 。

系统软件是 A ,应用软件是 B ,操作系统是 C 。 数据库是 A ,数据库管理系统是 B 。

计算机系统结构的发展和演变看,早期的计算机是以 A 为中心的系统结构,而近代的计算机是以 B 为中心的系统结构。 在下列常用术语后面,写出相应的中文名称:

VLSI__ A ___MPP___ B___RISC____ C__DMA___ D__

o 在由n台计算机构成的并行计算机中,其运行程序的加速比一般都小于n,其主

要原因是___ A__和__ B____。

o 在计算机系统当中,根据应用条件和硬件资源的不同,数据传输方式可以采

用 A___传送、 B __传送和 C___传送三种方式。

o 为了使计算机能够直接处理十进制形式的数据,采用 A___形式和 B___形

式两种表示形式。前者主要用在 C___计算的应用领域。

o 字符信息是_ A_ _数据,属于处理 B___领域的问题。国际上采用的字符系

统是七单位的 C___码。 三、问答题

o 冯·诺依曼计算机体系的基本思想是什么?按此思想设计的计算机硬件系统应o o o o o

由哪些部件组成?

计算机的系统软件和应用软件的作用是什么? 试说明冯·诺依曼计算机结构的特点。 计算机一般有哪些分类方法? 试说明计算机的层次结构。 简述计算机的工作特点。

练习题题解

一、选择题

1. B 2. B 3.D 4. B 5. C 6. A 7. D 8. C 9.D 10.D

二、填空题

o A. 1946 B. 电子管、声汞延迟线、磁鼓C.

1955 D. 分立晶体管、铁淦氧磁芯、磁盘 E. 1965 F. SSI电路和MSI电路 G.

1971 H. LSI电路和VLSI电路、半导体存储器

o A. 计算机中的电子线路和物理装置B. 描述解决问题的方法、思想和过程的程

序和数据

o A. 固件 o A. 集成电路

o A. 用于实现计算机系统的管理、调度、监视和服务等功能的程序,其目的是方

便用户,提高计算机使用效率,扩充系统的功能B. 用户为解决某种应用问题而编制的一些程序 C. 为提高计算机利用率,方便用户使用计算机以及提高计算机响应时间而配备的一种软件

o A. 计算机存储设备上存放的相互关联的数据的集合B. 操作和管理数据库的一

种软件

o A. 运算器B. 主存储器

o A. Very Large Scale Integration 超大规模集成电路B.

Massively Parallel Processing大规模并行处理机 C.

Reduced Instruction Set Computing简化指令系统计算机 D. Direct Memory Access直接存储器访问

o A. 程序中有不能并行的串行计算部分 o 存在通信开销

10.A.并行 B.串行 C.复用 11. A.字符串 B.压缩的十进制数 C.非数值 12. A.符号 B.非数值 C.ASCII

三、问答题

o 根据冯·诺依曼计算机体系结构来设计的计算机具有共同的基本配置,

即具有五大部件:输入设备、存储器(主存储器)、运算器、控制器和输

出设备。运算器与控制器合称为中央处理器(CPU)。CPU和存储器通常组装在一个主板上,合称为主机。输入设备和输出设备统称输入/输出设备,有时也称为外部设备或外围设备。

o 系统软件用于实现计算机系统的管理、调度、监视和服务等功能,其目

的是方便用户,提高计算机使用效率,扩充系统的功能。通常将系统软件分为以下六类: 操作系统、语言处理程序、标准库程序、服务性程序、数据库管理系统和计算机网络软件。

应用软件是用户为解决某种应用问题而编制的程序,如科学计算程序、自动控制程序、工程设计程序、数据处理程序、情报检索程序等。随着计算机的广泛应用,应用软件的种类及数量将越来越多、越来越庞大。

o 近年来,计算机系统的结构和制造技术发生了极大的变化。但是,就计

算机最基本的原理而言,大都沿用冯·诺依曼结构。冯·诺依曼结构的主要特点是主要特点是二进制和存储程序原理。

o 按信息的表示形式和处理方式分类,可分为数字计算机、模拟计算机和

混合计算机。按用途分类,可分为通用计算机和专用计算机。按规模分类,可分为巨型机、大型机、中型机、小型机、微型机和单片机等。按使用方式分类,可分为工作站和服务器。

o 现代计算机系统可分为五个层次级别:

第一级是微程序设计级。这是一个实在的硬件级,它由机器硬件直接执行微指令。

第二级是一般机器级,也称为机器语言级。由微程序解释机器指令系统。属硬件级。

第三级是操作系统级,它由操作系统程序实现。这一级也称为混合级。 第四级是汇编语言级。这一级由汇编程序支持和执行。

第五级是高级语言级。这是面向用户的,这一级由各种高级语言编译程序支持。

层次结构的特点是上层是下层功能的扩展,下层是上层的基础。另外,站在不同的层次观察计算机系统,会得到不同的概念。 层次的划分不是绝对的。机器指令系统级与操作系统级的界面,又称硬、软件交界面,常常是分不清的,它随着软件硬化和硬件软化而动态变化。操作系统和其他系统软件的界面,也不是很清楚的,例如,数据库软件也部分地起到了操作系统的作用。此外,某些常用的带有应用性质的程序,既可以划归为应用程序层,也可以划归为系统软件层。

o 计算机的工作特点为:运算速度快、运算精度高、记忆功能强、通用性

广、自动运算。

第2章 运算方法与运算器

练习题

一、选择题

o 在机器数 中,零的表示形式是唯一的。

A. 原码 B. 补码 C. 补码和反码 D. 原码和反码

o 若浮点数格式为1位阶符、6位阶码、1位数符、8位尾数,则浮点数所能表示

的数的范围是 。

说明:负数用2的补码表示,尾数部分没有规格化的情况也在考虑范围之内。

o 若浮点数用补码表示,则判断运算结果是否为规格化数的方法

是 。

A. 阶符与数符相同为规格化数 B. 阶符与数符相异为规格化数

C. 数符与尾数小数点后第1位数字相异为规格化数 D. 数符与尾数小数点后第1位数字相同为规格化数

o 原码加减法是指 。

A. 操作数用原码表示,连同符号位直接相加减

B. 操作数用原码表示,尾数直接相加减,符号位单独处理

C. 操作数用原码表示,根据两数符号决定实际操作,符号位单独处理 D. 操作数取绝对值,直接相加减,符号位单独处理

o 补码加减法是指 。

A. 操作数用补码表示,两数尾数相加减,符号位单独处理,减法用加法代替 B. 操作数用补码表示,符号位与尾数一起参加运算,结果的符号与加减相同 C. 操作数用补码表示,连同符号位直接相加减,减某数用加负某数的补码代替,结果的符号在运算中形成

D.操作数用补码表示,由数符决定两尾数的操作,符号位单独处理

o 若一个数的编码是10000111,它的真值为+7,则该编码是 。

A.原码 B.反码 C.补码 D.移码

o n+1位定点整数补码的范围为 。

o 运算器的主要功能是进行 。

A. 逻辑运算 B. 算术运算

C. 逻辑运算与算术运算 D. 初等函数运算

o 运算器由许多部件组成,其核心部分是 。

A. 数据总线

B. 算术逻辑运算单元 C. 多路开关 D. 累加寄存器

o 在定点二进制运算器中,减法运算一般通过 来实现。

A. 原码运算的二进制减法器 B. 补码运算的二进制减法器 C. 补码运算的十进制加法器 D. 补码运算的二进制加法器

o 计算机内进行加/减法运算时常采用 。

A.ASCII码 B.原码 C.反码 D.补码

o 计算机内常采用 作为字符编码。

A.ASCII码 B.原码 C.反码 D.补码

o 补码运算的特点是符号位 。

A.与数值位分别进行运算 B.与数值位一起参与运算 C.要舍去 D.表示溢出

o 原码一位乘法中符号位 。

A.与数值位分别进行运算 B.与数值位一起参与运算 C.表示进位 D.表示溢出

o 在原码加减交替除法中,当余数为负时的算法为 。

A.商1,余数左移一位,加除数 B.商1,余数左移一位,减除数

C.商0,余数左移一位,加除数 D.商0,余数左移一位,减除数

o 采用原码一位乘法运算时,结果的符号可由两数的符号位进行 得

到。

A.逻辑加 B.逻辑乘 C.异或 D.与非运算

o 有关算术右移中,说法正确的是 。

A.数据右移1位,最高位用0补充 B.数据右移1位,最高位用1补充

C.数据右移1位,最高位用原最低位补充 D.数据右移1位,最高位用原最高位补充

o 有关逻辑右移中,说法正确的是 。

A.数据右移1位,最高位用0补充 B.数据右移1位,最高位用1补充

C.数据右移1位,最高位用原最低位补充 D.数据右移1位,最高位用原最高位补充

o 加/减法器做减法运算使用的方法是 。

A.用减法器实现被减数减去减数 B.从被减数中减去减数后求反 C.将减法转化为补码的加法运算

D.根据减数形式选择一种适当的方法

o 关于浮点数加减法以下论述正确的是 。

A.对阶时较小的数进行左移 B.对阶时小阶向大阶对齐 C.对阶时大阶向小阶对齐 D.对阶时较大的数进行左移

o 若寄存器中存放的是数据的 ,则经过一次算术右移操作后,结

果相当于原来的数除以2。

A.原码 B.反码 C.补码 D.无符号数 二、填空题

o 8位补码定点整数所能表示的绝对值最大的负数(即最负的数)为 A 。 o 8位二进制补码表示的最小值为 A ,最大值为 B 。

o 二进制数X的真值为-0.1101B,其原码表示为 A ,补码表示位 B ,反

码表示为 C 。

o 补码一位乘法运算法则通过判断乘数最未位和补充位

的值决定下一步操,再右移一位,当

作,当= A 时,执行部分积加

o o

o

o o o o o o o

o o

o

o o o o o

= B 时,执行部分积加,再右移一位。

在浮点加法运算中,主要的操作内容及步骤

是 A 、 B 、 C 。

完成浮点加法或减法时,需要进行对阶、求和、规格化和舍入等步骤,在对阶时,使 A 阶向 B 阶看齐,使小阶的尾数向 C 移位,每 D 移一位,其阶码加1,直到两数的阶码相等为止。

两个用n+1位(包括符号位)原码表示的数,在机器中作一位乘法运算时,需要重复进行 A 次 B 操作和 C 操作,才能得到最后乘积,而符号位需要D 。

浮点数的编码表示通常由 A 和 B 两部分组成。 浮点数中尾数用补码表示时,其规格化的特征是 A 。 ASCII码用 A 个二进制位表示,共有 B 种字符。 变形补码判断溢出的条件是 A 。

运算器的基本功能是实现 A 和 B 运算。 运算器组成除了加法器外,还应

有 A 、 B 、 C 、 D 和 E 。 现代计算机的运算器一般通过总线结构来组织。按其总线数不同,大体

有 A 、 B 和 C 三种形式。其中 D 操作速度慢, E 操作速度最快。

内部总线是指 A 内部连接各逻辑部件的一组 B ,它用 C 或 D 来实现。

浮点运算器由 A 和 B 组成,它们都是 C 运算

器。 D 只要求能执行 E 运算,而 F 要求能进行 G 运算。

采用双符号位的方法进行溢出检测时,若运算结果中两个符号位 A 则表明发生了溢出。若结果的符号位为 B 时,表示发生正溢出;为 C 时,表示发生负溢出。

在减法运算中,正数减 A 数可能产生溢出,此时的溢出为 B 溢出;负数减 C 数可能产生溢出,此时的溢出为 D 溢出。

原码一位乘法中,符号位与数值位 A ,运算结果的符号位等于 B 。 原码加减交替除法的算法中,当余数为正时,商为 A ,余数 B 一位, C 除数。

机器码1.0000在原码表示法中表示为 A ,在反码表示法中表示为 B ;在补码表示法中,表示为 C 。

十六进制数(3A.4)的二进制形式为 A ,八进制形式为 B ,十进制形式为 C 。

o 变形补码形式中,判断是否溢出的条件是 A 。

o 移码表示法的主要用途是:表示_ A _ _数的阶码E,以便于比较两个_ B_ _

的大小和_ _ C _操作。

四、问答题

o “8421码就是二进制数”。这种说法对吗?为什么?

o 如何识别浮点数的正负? 浮点数能表示的数值范围和数值的精确度取o o o o o o o o o o o

决于什么?

何为定点溢出?给出判别定点溢出的两种方法。 计算机中为什么使用二进制来表示数据? 试述加/减法器如何实现减法运算。 补码运算的特点是什么?

简述采用双符号位检测溢出的方法。 简述浮点运算中溢出的处理方法。

为什么说并行加法器的进位信号是同时产生的? 浮点数的阶码选用移码表示有何优点?

浮点数表示中的隐藏位技术作用是什么?在什么时刻完成对隐藏位的处理?

浮点数表示中,当尾数选用补码表示时,如何表示十进制的 —0.5,才满足规格化表示的要求。

回答奇偶校验码的用途是什么?写出下面几个二进制数的奇/偶校验码的值: 01010111 11010100

练习题题解

一、选择题

1. B 2. B 3. C 4. C 5. C 6.D 7. A 8. C 9. B 10.D

11. D 12. A 13.B 14. A 15. C 16. C 17. D 18. A 19.C 20.B 21. C 二、填空题

o A. -128

o A. -128(或10000000) B. 127(或01111111) o A. 1.1101 B. 1.0011 C. 1.0010 o A. 10 B. 01

o A. 对阶 B.求和 C.规格化

o A. 小 B. 大 C. 右 D. 右 o A. n B. 加法 C. 右移 D. 单独处理 o A. 阶码 B. 尾数 o A. 符号位与尾数最高位相反 o A. 7 B. 128

o A. 结果的两个符号位不同 o A. 算术 B. 逻辑

o A. 数据寄存器 B. 移位器 C. 条件码寄o o o

o o o o o o

o

o

o o

存器 D. 数据选择器 E. 数据总线

A. 单总线结构 B. 双总线结构 C. 三总线结构 D. 单总线 E.三总线

A. CPU B. 数据传输线 C. 三态缓冲门 D. 多路开关

A. 阶码运算器 B. 尾数运算器 C. 定点 D. 阶码运算器 E. 加、减法 F. 尾数运算器 G. 加、减、乘、除 A.不相同 B. 01 C. 10

A.负 B. 正 C.正 D. 负

A.分开运算 B. 被乘数与乘数的符号位异或 A. 1 B. 左移 C. 加 A.负0 B. -0.1111 C. 负1

A. 00111010.0100 B. 072.2 C. 58.25 23. A.看两符号位是否相异

24. A.浮点 B.指数 C.对阶

四、问答题

8421码是用四位二进制代码表示一位十进制数字,其中有六种组合不允许出现。即不允许出现1010~1111六种组合。

8421码与十进制数之间的转换是以四位对应一位,直接进行变换。一个n位十进制数对应的8421码一定是4n位。

因此8421码不是二进制数,而是用二进制编码的十进制数。

浮点数的正负是通过尾数的符号来确定的。数的范围通过阶码有效地确定,阶码E指明小数点的位置,而数的精度则是通过尾数的数值确定的。利用浮点数可以扩大数据的表示范围。

上溢和下溢统称为溢出。上溢是数据的绝对值太大,超出了数据表示的能力范围;而下溢则是数据的绝对值太小,使得数据无法有效表示。 判别溢出的两种方法:方法一,定点数是否在数据能够表示的范围内;方法二,设置两位符号位,即采用变形码表示,当符号位为01或10时,即发生了溢出。

o 计算机中采用二进制的数据表示方式,因为二进制数能方便的用

数字电路的逻辑电平表示,易于实现。

o 加/减法器的核心部件是全加器。当进行减法运算时,由于[X-Y]

补 =[X]补 +[-Y]补 ,因此可利用全加器将Y取反后的结果(同时置进位Ci =1)与X相加即可。对Y求反的过程由Y与1异或(取反)获得。

o 补码运算的特点是符号位作为数的一部分一起参加运算,且运算

要在模2的意义下进行。

o 采用双符号位检测溢出时是采用两位二进制位表示符号,即正数

的符号位为00,负数的符号位为11。在进行运算时,符号位均

o

o o o

o o

o o

参与运算,计算结果中如果两个符号位不同,则表示有溢出产生。若结果的符号位为01,则表时运算结果大于允许取值范围内的最大正数,一般称为正溢出;若结果的符号位为10,则表时运算结果是负数,其值小于允许取值范围内的最小负数,一般称为负溢出。两个符号为中的高位仍为正确的符号。

所谓溢出就是超出了机器数所能表示的数据范围,浮点数范围是由阶码决定的。当运算阶码大于最大阶码时,属溢出(依尾数正、负决定是正溢出还是负溢出);当运算阶码小于最小负阶码时,计算机按0处理。 分两种情况:

采用串行进位。此时进位信号从低位向高位逐步传递,因而不是同时产生的。

采用并行进位。根据并行进位链表达式,各进位信号的输入只依赖于相加数的各位,与低位进位信号无关,并且它们均是简单的与或表达式,都是两级门延时。所以进位信号是同时产生的。 浮点数的阶码用移码表示有利于表示和处理浮点数的机器零(或有利于简化机器中的判0线路)。

浮点数表示中的隐藏位,是指可以把规格化浮点数的尾数最高位的值(原码时为1,补码时与符号位相反)省去,以便提高一位二进制尾数的表示精度。这一处理应出现在保存浮点数到存储器之前(隐藏起来),或从存储器读浮点数到运算器中(恢复回来)的时刻来进行。

十进制的 -0.5应表示为 -1*2-1的形式。

奇偶校验码是一种能发现数据编码中一位错或奇数个位出错的一种编码,常用于存储器读写检查或ASCII字符及其它类型信息传送过程中的出错检查.

o 数据01010111的奇校验码为001010111,

偶校验码为101010111

o 数据11010100的奇校验码为111010100,

偶校验码为011010100

第3章 存储器及存储系统

练习题 一、选择题

o 存储器是计算机系统中的记忆设备,它主要用来 。

A. 存放数据 B. 存放程序 C. 存放数据和程序 D. 存放微程序

o 存储周期是指 。

A. 存储器的读出时间 B. 存储器的写入时间

C. 存储器进行连续读和写操作所允许的最短时间间隔 D. 存储器进行连续写操作所允许的最短时间间隔

o 和外存储器相比,内存储器的特点是 。

A. 容量大,速度快,成本低 B. 容量大,速度慢,成本高

C. 容量小,速度快,成本高 D. 容量小,速度快,成本低

o EPROM是指 。

A. 随机读写存储器 B. 只读存储器 C. 可编程的只读存储器 D. 可擦可编程的只读存储器

o 和动态MOS存储器比较,双极型半导体存储器的性能是 。

A. 集成度低,存取周期快,位平均功耗大 B. 集成度低,存取周期慢,位平均功耗小 C. 集成度高,存取周期快,位平均功耗小 D. 集成度高,存取周期慢,位平均功耗大

o 有关高速缓冲存储器Cache的说法正确的是 。 o 只能在CPU以外 o CPU内外都可以设置Cache o 只能在CPU以内

o 若存在Cache,CPU就不能再访问内存 o 采用虚拟存储器的主要目的是 。

A. 提高主存储器的存取速度

B. 扩大主存储器的存储空间,并能进行自动管理调度 C. 提高外存储器的存取速度 D. 扩大外存储器的存储空间

o 常用的虚拟存储系统由 两级存储器组成,其中辅存是大容量的磁表面存储器。

A. 主存 — 辅存 B. Cache — 辅存 C. 主存 — Cache D. 通用寄存器 — 主存。

o 动态半导体存储器 。

A.DRAM B.PROM C.SRAM D.ROM

o 需要刷新的存储器是 。

A. Cache B.ROM C.静态存储器 D.动态存储器

o 若存储器中有1K个存储单元,采用双译码方式是需要译码输出线为 。

A.1024 B.10 C.32 D.64

o CPU不能直接访问的是 。

A.DRAM B.ROM C.磁盘 D.SRAM

o 断电后会丢失信息的是 。

A.ROM B.RAM C.PROM D.快闪存储器

o 下面叙述不正确的是 。

o 随机存储器可随时存取信息,掉电后信息丢失 o 在访问随机存储器时,访问时间与单元的物理位置无关 o 内存储器中存储的信息均是不可改变的 o 随机存储器和只读存储器可以统一编址

二、填空题

o 有如下六种存储器:主存、快存、通用寄存器、磁带存储器、活动头磁盘存储

器、固定头磁盘存储器。请在图3.15中按存取时间和存储容量两项指标依次排

列的顺序填入适当的存储器名称。

o 三级存储系统是由 A 、 B 和 C 组成。二级存储系

统则由 A 和 B 组成。分级的目的是C 。

o RAM的速度指标一般用 A 表示,而磁盘存储器的速度指标一般需分

为 B 、C 和 D 三项。

o 动态半导体存储器的刷新一般有 A 、 B 和 C 三种

方式,之所以刷新是因为 D 。

o 使用高速缓冲存储器是为了解决 A 问题,存储管理主要

o

o o o o o o o o o

o o o

o o o o o

由 B 实现。使用虚拟存储器是为了解决 C 问题,存储管理主要由 D 实现。在后一种情况下,CPU E 访问第二级存储器。 虚拟存储器通常由 A 和 B 两级存储系统组成。为了在一台特定的机器上执行程序,必须把 C 映射到这台机器主存储器的 D 空间上,这个过程称为 E。

计算机中存储器是用来存放 A 的,随机访问存储器的访问速度与 B 无关。

半导体存储器分为 A 、 B 、只读存储器(ROM)和相联存储器等。 双译码方式采用 A 个地址译码器,分别产生 B 和 C 信号。 静态存储单元是由晶体管构成的 A ,保证记忆单元始终处于稳定状态,存储的信息不需要 B 。

一个2M×8位的ROM,其地址线有 A 根,数据线有 B 根。 常用的地址映象方法有 A 、 B 、组相联映象三种。 构成32M的存储器,需要1M×4位的芯片 A 片。

已知某计算机存储器容量为4M字节,用1M×1动态RAM芯片构成该存储器,共需要这种类型的RAM A 片,每片RAM上有 B 根地址引线。 用M264静态RAM芯片(8K×8)构成48K字节的存储器需

要 A 片,芯片上的地址引线有 B 根,CPU要访问该存储器,应该发出 C 位地址。

要组成一个32K×8位的存储器,当分别选用1K×4位,16K×1位,2K×8位的三种不同规格的存储芯片时,各需 A 、 B 和 C 片。 在多级存储体系中,Cache存储器的主要功能是___A___,虚拟存储器的主要功能是__B___。

由于闪速存储器具有高性能,低功率,高可靠性,以及_ A_ _能力,并且给现有的_ B_ _体系结构带来了巨大的变化,因此其作为_ C __常被用于便携式电脑当中。

双端口存储器和多模块交叉存储器都属于 A___存储器结构。但是前者采用 B___技术,而后者采用 C___技术。

相联存储器不是按地址而是按_ A__访问的存储器,其在cache中存放_ B__在虚拟存储器中存放_ C__。

Cache是一种__ A _存储器,它是为了解决CPU和主存间速度不匹配而采用的一项重要的硬件技术。现发展为_ B_ _体系;__ C _分设体系。

虚拟存储器只是一个容量非常大的存储器__ A _模型,而不是任何实际的_ B_ _存储器。

与存储有关的物理过程其本身有时是不稳定的,因此,其所存放的数据信息在一段时间后有可能会发生数据丢失的现象。在通常情况下,有三种破坏信息的重要存储特性,它们分别是: A ___, B___, C___。

三、分析题

o 使用16K×1位的静态RAM存储器芯片,外围电路用ECL电路,构成128K×16

位的Cache存储器。试回答:

o 需要多少存储芯片?

o 存储器地址码位数是多少? o 单个芯片的地址码位数是多少?

o

o

o o o o o

负载端数。

o 若每个ECL门带8个负载,需要多少ECL门? 设有一个具有14位地址和8位字长的存储器。问:

o 该存储器能存储多少字节的信息?

o 如果存储器由1K×1位的RAM芯片组成,需要多少片? o 需要地址多少位作芯片选择?

外围电路用TTL电路,使用64K×4位的DRAM存储器芯片构成1M×64位的主存储器。试回答:

o 需要多少存储芯片?

o 存储芯片地址引脚个数是多少?

o 存储器地址码位数是多少?作为片选译码的地址码位数是多

少?

o 假定一个TTL门电路驱动8个端。计算存储器的端需要多

少TTL门电路驱动?

有一个16K×16位的存储器,由1K×4位的动态RAM芯片构成(芯片内是64×64结构),问:

总共需要多少RAM芯片? 存储体的组成框图。

采用异步方式,如单元刷新间隔不超过2 ms,则刷新信号周期是多少? 如采用集中式刷新方式,存储器刷新一遍最少用多少读/写周期?

o 计算写使能端的

5. 用定量分析方法证明多模块交叉存储器带宽大于顺序存储器带宽。

四、设计题

o 用4K×4位的EPROM存储器片组成一个16K×8位的半导体只读存储器,试问:

o 数据寄存器多少位? o 地址寄存器多少位? o 共需要多少个这样的存储器? o 画出此存储器的组成框图?

o 某8位机采用单总线结构,地址总线16根(A15~A0,A0为低位),数据总线

8根(D7~D0),控制总线中与主存有关的有MREQ(允许访存,低电平有效),R / W(高电平为读命令,低电平为写命令)。

主存地址空间分配如下:0~ 8191为系统程序区,由只读存储器芯片组成。8192 ~32767为用户程序区;最后(最大地址)2K字节地址空间为系统程序工作区。上述地址为十进制,按字节编址。现有如下存储器芯片: ROM:8K×8位(控制端仅有 )

RAM(静态):16K×1位,2K×8位,4K×8位,8K×8位

请从上述芯片中选择适当芯片设计该计算机主存储器,画出主存储器逻辑框图。注意画

选片逻辑(可选用门电路及3︰8译码器74LS138)与CPU的连接,说明选哪些存储器芯片,选多少片?

o 设 CPU 共有 16 根地址线, 8 根数据线,并用 IO/ M 作访存控制信号,用 R/W

作读写命令信号,现有下列存储芯片及 138 译码器和各种门电路(自定)。

RAM 2K × 8 位, 4K × 4 位, 8K × 8 位 ROM 2K × 8 位, 4K × 8 位, 8K × 8 位 画出 CPU 与存储器的连接图,要求 :

(1)最小 8K 地址空间为系统程序区,与其相邻的 4K 地址空间为用户程序区; (2)合理选用上述存储芯片,并写出每片存储芯片的地址范围; 详细画出存储芯片的片选逻辑。

o 设主存容量为 1MB , Cache 容量为 16KB ,每字块有 16 个字,每字 32 位。

(1)若Cache采用直接相联映像,求出主存地址字段中各段的位数。 (2)若Cache采用四路组相联映像,求出主存地址字段中各段的位数。

5. 设存储器容量为32字,字长64位,模块数m = 4,分别用顺序方式和交叉方式进行组织.若存储周期T = 200ns,数据总线宽度为64位,总线传送周期τ= 50ns, 问:顺序存储器和交叉存储器带宽各是多少?

6. 已知cache命中率H=0.98,主存比cache慢4倍,已知主存存取周期为200ns,求cahce/主存系统的效率和平均访问时间。

7. 已知cache/主存系统效率为85%,平均访问时间为60 ns,cache比主存快4倍,求主存存储器周期是多少?cache 命中率是多少?

8. 刷新存储器的重要性能指标是它的带宽。实现显示适配器的几个功能部分要争用刷新存储器的带宽。假设总带宽的而50%用于刷新屏幕,保留50%带宽用于其他非刷新功能。那么:

o 若显示工作方式采用分辨率为1024×768,颜色深度为3B,刷新频率为72Hz,

计算刷新存储器的总带宽?

o 为达到这样高的带宽,应该采取什么样的技术措施? 五 、问答题

o 存储器的作用是什么?

o 动态存储器的刷新方式有哪几种?各有什么特点? o 说明采用多级结构的存储器系统的目的?说明每一层存储器所

用的存储介质的种类。

o 使用多体结构的主存储器的目的是什么?什么是低位地址交叉,

其优点何在?

o 在计算机中,为什么要采用多级结构的存储器系统?它的应用是

建立在程序的什么特性之上的?

o 多级结构的存储器是由哪三级存储器组成的?每一级存储器使

用什么类型的存储器介质?这些介质的主要特性是什么?在多级结构的存储器系统中,何谓信息的一致性原则和包含性原则?

o 比较DRAM和SRAM芯片的主要特性。

o 为什么当前的计算机系统中,多选用DRAM芯片组成主存储器? o 多体结构的主存储器的作用是什么?什么是多体交叉编址技术

(低地址交叉)?作用是什么?

o 高速缓冲存储器在计算机系统中的主要作用是什么?用什么类

型的存储器芯片实现,为什么?高速缓存与主存在读写原理方面有何区别?

o 高速缓冲存储器有哪三种主要的映像方式?从地址映射和地址

变换比较它们各自的组成特点。 练习题题解 一、选择题

1. C 2. C 3. C 4. D 5. A 6.B 7. B 8. A 9. A

10.D 11.D 12.D 13.B 14.C 二、填空题

o A. 通用寄存器 B. 快存

C. 主存 D. 固定头磁盘存储器

E. 活动头磁盘存储器 F. 磁带存储器

o A. 快存 B. 主存 C. 辅

存 D. 主存 E. 辅存

F. 解决容量、速度、价格之间的矛盾

o A. 存取周期 B. 找道(定位)时

间 C. 平均等待时间

o A. 集中式 B. 分散式

C. 异步式 D. 有电荷泄漏,需定期补充

o A. CPU和主存的速度匹配,提高主存速度 B. 硬件

C. 扩大主存容量和地址分配 D. 软件 E. 不能直接

o A. 主存 B. 辅存 C. 逻辑地址 D.

物理地址 E. 地址映射 o A. 程序和数据 B. 存储位置

o A. 静态存储器(SRAM) B. 动态存储器(DRAM) o A. 两 B. 行选通 C. 列选通

o A. 双稳态电路 B. 刷新(或恢复) o A. 21 B. 8

o A. 直接映象 B. 全相联映象 o A. 64

o A.32 B.20

o A.6 B.13 C.16 o A.64 B.16 C.16

o A. 匹配CPU和主存之间的速度 B.匹配主存和辅存o o o o o o

之间的速度

A.瞬间启动 B.存储器 C.固态盘 A.并行 B.空间并行 C.时间并行

A.内容 B.行地址表 C.段表、页表和快表 A.高速缓冲 B.多级cache C.指令cache和数据cache

A.逻辑 B.物理

A.破坏性读出 B.动态存储 C.断电后信息丢失

三、分析题

o (1) 使用16K×1位的SRAM存储器芯片构成128K×16位的

Cache存储器需要(128K×16)/(16K×1)=8×16=128片。

(2)存储器容量为128K×16位,则存储器有128K=217个存储单元,故存储器的地址码为17位。

(3)单个芯片的容量为16K×1位,则单个芯片有16K=214个存储单元,故单个芯片的地址码为14位。

(4)由于存储体需要128个SRAM芯片,故存储器

负载有128个。

(5)因为每个ECL电路可驱动8个端:128/8=16,大于8,故需第

2级驱动。16/8=2。所以共需用6+2=18个门电路驱动。

o (1)存储单元数为214 ×8位= 16K×8位= 16348 B,故其能

存储16348个字节的信息。

(2)由于存储容量为16KB(8位字长),每1KB(位并联方式)需要8片,故所需芯片总数为16×8 = 128片。

(3)地址总线低10位可直接接到芯片的A0~A9端,而地址总线的高4位(A13,A12,A11,A10)需通过4︰16译码器进行芯片选择,存储器组成方案为位并联与地址串联相结合的方式。

3. (1)使用64K×4位的DRAM存储器芯片构成1M×16位的存储器需要(1024K×16)/(64K×4)=16×4=64片。

(2)单个芯片的容量为64K×4位,则单个芯片有64K=216个存储单元,故单个芯片的地址码为16位。

(3)存储器容量为1M×16位,则存储器有1M=220个存储单元,故存储器的地址码为20位。片选位数为1024/64=16位,译码时需要4位参

加。

(4)由于存储体需要64个DRAM芯片,故存储器负载有64个。 因为每个TTL电路可驱动8个端:64/8=8,大于8,故需第2级驱动。8/8=1。所以共需8+1=9个门电路驱动。

4. (1)存储器的总容量为16K×16位,所用RAM芯片为4K×1位,故芯片总数为(16K×16)/(4K×1) = 4×16=64片 (2)由于存储单元数为16K=214,故地址长度为14位(设A13~ A0)。芯片单元数为1K,则占用地址长度为10位(A9~ A0)。每一组16位(4片),共16组,组与组之间译码使用4︰16译码。其组成框图如图3.16所示。

o 采用异步方式,如单元刷新间隔不超过2 ms,则刷新信号周期=

2/64=0.031 ms

o 由于是按行刷新,故存储器刷新一遍需要64个读/写周期。 5. 假设(1)存储器模块字长等于数据总线宽度;(2)模块存取一个字的存储周期等于T;(3)总线传送周期为τ;(4)交叉存储器的交叉模块数为m。

那么,交叉存储器为了实现流水线方式存储,即每经过τ时间延迟后启动下一模快,应满足T = mτ,交叉存储器要求其模快数≥m,以保证启动某模快后经过mτ时间后再次启动该模快时,它的上次存取操作已经完成。这样连续读取m个字所需要时间为t1 = T + (m – 1)τ= mτ+ mτ–τ= (2m – 1) τ故存储器带宽为W1 = 1/t1 = 1/(2m-1)τ而顺序方式存储器连续读取m个字所需时间为 t2 = mT = m2×τ存储器带宽为W2 = 1/t2 = 1/m2×τ 比较(3)和(5)式可知,交叉存储器带宽W1 应大于顺序存储器带宽W2。 四、设计题

o

o 数据寄存器8位。

o 地址寄存器14位。 o 共需要8片EPROM。

o 存储器的组成框图如图3.17所示。

图3.17 存储器组成框图

2. 解:主存地址空间分布如右图所示。

根据给定条件,选用ROM:8K×8位芯片1片,RAM:8K×8位芯片3片,2K×8位芯片1片,使用3︰8译码器,仅使用、、、和输出端,对最后的2K×8位选片还需加门电路译码。主存储器的逻辑框图如图3.18所示。

图3.18 主存储器的逻辑框图 3.

A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 A15 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4KX8 ROM 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 两片 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 4KX4 RAM 0 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 两片

图3.19 主存储器结构图

图3.20 CPU与主存储器连接图

4. (1)若 Cache 采用直接相联映像: 字块中含 64 个字节,字块的位数为 b=6 。 Cache 中含有 256 个字块,所以字块地址位数 c=8 。 主存容量为 1M 字节,总位数为 20 。 主存字块标记位数 t=6 。 (2)若 Cache 采用四路组相联映像, 字块中含 64 个字节,字块的位数为 b=6 。 每组含有四个字块,每组含 256 个字节。 Cache 中含有 64 个字块,所以组地址位数 q=6 。 主存容量为 1M 字节,总位数为 20 。 主存字块标记位数 t=8 。

5. 存储器和交叉存储器连续读出m=4个字的信息总量都是 q = 64位 × 4 =256位

顺序存储器和交叉存储器连续读出4个字所需的时间分别是 t2 = mT = 4 × 200ns =800ns = 8 × 10 -7 (S)

t1 = T + (m–1)t =200ns + 3×50ns = 350ns = 3.5 × 10-7 (S) 顺序存储器带宽 W2 = q/t2 = 256 / (8×10-7 ) = 32 × 107 (位

/S)

交叉存储器带宽 W1 = q/t1 = 256 / (3.5×10-7 ) = 73 × 107 (位/S)

6. ∵ r = t m/t c = 4 ∴ t c = t m /4 = 50ns e = 1/[r+(1-r)h] = 1/[4+(1-4)×0.98]

t a = t c /e = t c ×[4-3×0.98] = 50×1.06 = 53ns。

7. 因为 Ta=Tc/e 所以 Tc=Ta×e =60×0.85=510ns (cache存取周期);

r=4, Tm=Tc×r =510×4 =204ns (主存存取周期); 因为 e =1/[r+(1-r)H] 所以H= 2 .4/2.55 = 0.94;

8. (1)因为刷新所需带宽 = 分辨率×每个像素点颜色深度×刷新速率;

所以 1024×768×3B×72/S = 165888 KB/S = 162 MB/S; 刷新总带宽应为162MB/S × 100/50 = 324MB/S;

o 为达到这样高的刷存带宽,可采取如下技术措施:

使用高速DRAM芯片组成刷存; 刷存采用多体交叉结构;

刷存至显示控制器的内部总线宽度由32位提高到64位,甚至128位;

刷存采用双端口存储器,将刷新端口与更新端口分开。

五、问答题答案:

1. 存储器是组成计算机的五大部件之一,是计算机的记忆设备。在以存储器为核心的计算机中,输入设备在CPU的控制下将程序和数据送入存储器,CPU从存储器中提取程序,按程序的指令控制计算机的执行,对存储器中的数据进行相应的处理,输出设备在CPU的控制下将存储器中的数据提取出来进行打印或显示。由此可以看出,存储器是计算机的记忆核心,是程序和数据的收发集散地。可以给存储器下这样的定义:它是计算机中必不可少的用于存放程序和数据的设备。

2.常用的刷新方式有三种,一种是集中式,另一种是分散式,第三种是异步式。

集中式刷新方式。在整个刷新间隔内,前一段时间重复进行读/写周期或维持周期(在维持周期内,不进行读/写,存储单元保持原有存储内容),等到需要进行刷新操作时,便暂停读/写周期或维持周期,而逐行进行刷新。这种方式的主要缺点是在集中刷新的这一段时间内不能进行存取访问,称之为死时间。采用这种方式的整个存储器的平均读/写周期,与单个存储器片的读/写工作所需的周期相差不多,所以这种刷新方式比较适用于高速存储器。

分散式刷新方式。把一个存储系统周期ts分为两半,前半段时间用来进行读/写操作或维持,后半段时间作为刷新时间。这种方式下,整个系统的速度降低了,因刷新过于频繁。但它不存在死时间。这种方式不适合于高速存储器。

异步式刷新方式。是以上两种方式结合的起来,既充分利用了时间,又

能保持系统的高速性。

3. (1)采用多级结构的存储器系统的目的,是通过把读写速度高,但容量较小,存储的单位成本最高的高速缓冲存储器,与读写速度略慢、但容量可以更大,价格适中的主存储器,和读写速度最慢、但容量可以极大,存储价格最低的高速磁盘空间(虚拟存储器),组织成统一管理与调度的一体化的存储器系统,以便达到高速度、大容量、低价格的目的,即得到具有更高的运行性能/价格比的存储器系统。

(2)高速缓冲存储器用静态存储器芯片实现,主存储器用动态存储器芯片实现,虚拟存储器使用的是高速磁盘上的部分存储空间。

4.(1) 使用多体结构的主存储器,是为了使用可以独立读写的多个存储器,以提高对它们并行读写,快速得到多个数据的能力,缓解单个主存储器读写速度慢的矛盾。

(2) 在多体结构的主存储器中,通常多选用把相邻的存储字存放在不同的存储体中,这被称为低位地址交叉的组织形式,它更符合程序运行的局部性原理,有利于同时(或时间上有覆盖)地读写地址相邻的几个存储字。

5. 为了缓解主存储器读写速度慢,不能满足CPU运行速度需要的矛盾,和解决主存储器容量小,存不下更多的程序和数据的难题,当前计算机系统中,广泛采用了多级结构的存储器系统。它的应用是建立在程序运行的局部性原理之上的。

6. 多级结构的存储器是由高速缓冲存储器、主存储器和虚拟存储器三级结构组成的。

每一级存储器使用的存储器介质及特性如下: 存储器

介质

特性

速度特快、成本高 不需要刷新、容量较小

速度较慢、成本较低 需要刷新、容量较大 速度慢、成本低、容量极大

高速缓冲存静态存储器储器 (SRAM) 主存储器

动态存储器

(DRAM)

虚拟存储器 磁盘

信息的一致性原则是:同一个信息会同时存放在几个级别的存储器中,此时,这一信息

在几个级别的存储器中必须保持一致。

信息的包含性原则是:处在内层(更靠近CPU)存储器中的信息一定被包含在各外层的存储器中。

7. 静态和动态存储器芯片特性比较 特性 存储信息 破坏性读出

SRAM 触发器 非

DRAM 电容 是

需要刷新 送行列地址 运行速度 集成度 发热量 存储成本

不要 同时送 快 低 大 高

需要 分两次送 慢 高 小 低

o 因为DRAM芯片生产成本低、集成度高,可组成较大容量的存储

器。

o 使用多体结构的主存储器,是为了使用可以独立读写的多个存储

器,以提高对它们并行读写,快速得到多个数据的能力,缓解单个主存储器读写速度慢的矛盾。在多体结构的主存储器中,通常多选用把相邻的存储字放在不同的存储体中,这被称为多体交叉编址技术(或称为低地址交叉)。它更符合程序运行的局部性原理,有利于同时(或时间上有覆盖)地读写地址相邻的几个存储字。

o 高速缓冲存储器(Cache)的使用是为了缓解主存储器读写速度

慢,不能满足CPU运行速度需要的矛盾。高速缓冲存储器是用静态存储器(SRAM)的存储器芯片实现的。因为静态存储器(SRAM)的存储器芯片不需要刷新,速度快。主存储器读写原理是:必须在指令中给出主存的存储单元地址,通过译码电路选中主存的一个单元,再执行读写操作。高速缓冲存储器(Cache)的容量很小,无法用主存地址去选择Cache的一个单元,所以Cache的每个存储单元有三部分组成: 有效位 标志字段 数据字段 1或0 主存地址信息 主存单元复制过来的数据

数据字段:当CPU第一次读出主存某一单元内容时,顺便写进Cache的某一个单元;

有效位:“1”表示数据字段内容有效;“0” 表示数据字段内容无效; 标志字段:保存相应主存储单元的地址信息。当程序中的一条指令要用一个内存地址读主存的某一个单元时,就用这一地址来与Cache中的各个标志字段的内容相比较,若有相同者,则该Cache单元的数据字段内容就是需要的数据。

o 高速缓冲存储器有三种主要的映像方式:全相联映像方式、直接

映像方式和多路组相联映像方式。从地址映射和地址变换比较它们各自的组成特点如下:

全相联映像方式:就是主存的一个字(或字块)可以映像到整个Cache的任何一个字(或字块)中。标志字段存放了主存地址的一部分,实现Cache标志字段的比较操作要访问到每一个Cache单元,所以电路过多过复杂,实现成本太高。

直接映像方式:就是主存的一个字(或字块)只能映像到整个Cache的一个准确确定的字(或字块)中。二者的对应关系是完全确定的,没有任何选择余地。在Cache标志字段仅写入主存地址的区段号。比较时仅用主存地址的区段号与Cache标志字段比较即可。

多路组相联映像方式:是全相联与直接映像方式的折衷方案。把Cache分为若干组,每组包含几个区段,主存也分为组间采用全相联映像方式,而组内采用直接映像方式。

第4章 指令系统

练习题

一、选择题

1. 指令系统中采用不同寻址方式的目的主要是 。 A. 实现存储程序的程序控制

B. 缩短指令长度,扩大寻址空间,提高编程灵活性 C. 可以直接访问外存

D. 提供扩展操作码的可能并降低指令译码难度

2. 用于对某个寄存器中操作数的寻址方式称为 寻址。 A. 直接 B. 间接 C. 寄存器直接 D. 寄存器间接 3. 寄存器间接寻址方式中,操作数处在 。 A. 通用寄存器 B. 主存单元 C. 程序计数器 D. 堆栈

4. 变址寻址方式中,操作数的有效地址等于 。 A. 基值寄存器内容加上形式地址(位移量) B. 堆栈指示器内容加上形式地址 C. 变址寄存器内容加上形式地址 D. 程序计数器内容加上形式地址

5. 指令的寻址方式有顺序和跳跃两种方式。采用跳跃寻址方式,可以实现 。 A. 堆栈寻址

B. 程序的条件转移 C. 程序的无条件转移

D. 程序的条件转移或无条件转移

6. 扩展操作码是 。 A. 操作码字段外辅助操作字段的代码 B. 操作码字段中用来进行指令分类的代码 C. 指令格式中不同字段设置的操作码

D. 一种指令优化技术,即让操作码的长度随地址数的减少而增加,不同地址数指令可以具有不同的操作码长度

7. 隐含寻址的指令中没有给出操作数的地址,该操作数来自 。

A. 立即数和堆栈 B. 暂存器

C. 堆栈的栈顶和次栈顶 D. 累加器或堆栈

8. 采用基址寻址可以扩大寻址范围,且 。 A. 基址寄存器的内容由用户确定,在程序执行过程中不能改变 B. 基址寄存器的内容由操作系统确定,在程序执行过程中不能改变 C. 基址寄存器的内容由用户确定,在程序执行过程中可以改变 D. 基址寄存器的内容由操作系统确定,在程序执行过程中或以改变 9. 采用变址寻址可以扩大寻址范围,且 。 A. 变址寄存器的内容由用户确定,在程序执行过程中不能改变 B. 变址寄存器的内容由操作系统确定,在和谐执行过程中不能改变 C. 变址寄存器的内容由用户确定,在程序执行过程中可以改变 D. 变址寄存器的内容由操作系统确定,在程序执行过程中或以改变

10. 变址寻址和基址寻址的有效地址形成方式类似,但 。 A. 变址寄存器的内容在程序执行过程中是不能改变的 B. 基址寄存器的内容在程序执行过程中是可以改变的

C. 在程序执行过程中,变址寄存器的内容不能改变而基址寄存器的内容可变 D. 在程序执行过程中,基址寄存器的内容不能改变而变址寄存器的内容可变 11. 在指令格式中,采用扩展操作码设计方案的目的是 。 A. 减少指令字长度 B. 增加指令字长度

C. 保持指令字长度不变而增加指令操作的数量 D. 保持指令字长度不变而增加寻址空间

二、填空题

o 指令格式中,地址码字段是通过 A 来体现的,因为通过某种方式的o o

o

o o o

变换,可以给出 B 地址。常用的指令格式有 C 、 D 和 E 三种。

寄存器直接寻址是 A ,寄存器间接寻址是 B ,所以指令执行的速度前者比后者C 。

变址寻址和基址寻址的区别是:基址寻址中基址寄存器提供 A ,指令提供 B ,后者位数 C 。而变址寻址中变址寄存器提供 D ,指令提供 E ,后者位数 F 。

指令字长度等于机器字长度的指令称为 A ;指令长度等于半个机器字长度的指令称为 B ;指令字长度等于两个机器字长度的指令称为 C 。

数据传送类指令的功能是实现 A 和 B 之间,或 C 和 D 之间的数据传送。

指令编码中,操作码用来指定 A ,n位操作码最多可以表示 B 条指令。 地址码表示 A 。以其数量为依据,可以将指令分为 B 、 C 、 D 、 E 。

o 寻址就是寻找 A 的有效地址。

o 寄存器寻址方式中指令的地址码部分给出 A ,而操作数在 B 。 o 采用立即寻址时,操作数由 A 给出;而采用直接寻址时,指令中除了操o

o o o o

o

o

o o o o

作码以外,还要给出 B 。

堆栈存取方式是 A ,在自底向上生成方式工作的堆栈中,入栈时,堆栈指针作何调整? B (加/减),出栈时作何调整? C (加/减)。入栈时调整指针和存入数据的次序是:先 D ,后 E 。 指令系统的完整性通常是指 A 和 B 。

确定计算机指令系统应满足的基本要求是 A 、 B 和 C 。 隐含寻址的指令中不明确给出 A ,而是隐含指定的,通常以 B 作为隐含地址。

变址寻址和基址寻址的区别是:基址寻址中基址寄存器提供 A ,指令的地址码字段提供 B 。而变址寻址中变址寄存器提供 C ,指令的地址码字段提供 D 。

设指令字长和存储字长相同,均为32位。若指令系统可完成100种操作,具有直接、一次间接、变址、基址、相对和立即寻址方式。如果要获得尽可能大的寻址空间,则指令字中操作码 A 位;寻址特征位 B 位;形式地址占 C 位;可直接寻址的范围为 D ;一次间址的寻址范围是 E 。 RISC指令系统选取使用频率最高的一些 A 指令和有用但不复杂的指令直接由硬件实现,其指令长度 B ,指令格式种类 C ,寻址方式 D ,只有取/存数指令才允许访存,其余指令的操作都在寄存器间进行,且大都在 E 时间内完成。

从计算机组成的层次结构看,计算机的指令可分为 A 、 B 、 C 三种。 堆栈是一种特殊的数据寻址方式,它是采用 A___原理。其可安结构不同,分为 B___堆栈和__ C _堆栈两种。

RISC指令系统的最大的特点是:_ A__,_ B __固定,_ C __种类少。 一个比较完善的指令系统应包含数据传送类指令、 A___类指令、 B___类指令、程序控制类指令、I/O指令、字符串类指令和 C___类指令。

三、分析题

o 一种单地址指令的结构如下所示:

操作码 间址特征 寻址模式 形式地址 OP I X D 其中,X、D组成该指令的操作数有效地址E。设R为变址寄存器,PC为程序计数器,请在表5.2中第一列位置填入适当的寻址方式名称。 表5.2 寻址方式 寻址方式名称 ① ② I 0 0 X 00 01 有效地址E E = D E = PC + D ③ ④ ⑤ ⑥ ⑦ ⑧ 0 0 1 1 1 1 10 11 00 01 10 11 E = R + D E = R + D,D = 0 E = (D) E = (PC + D) E = (R + D) E = (R + D),D = 0 o

四、设计题

o 假设某计算机的指令长度为20位,具有双操作数、单操作数和无操作数三类指

o o o o o

令形式,每个操作数地址规定用6位表示。

o 若操纵码字段固定为8位,现已给出m条双操作数指令,n条无操作数

指令。在此情况下,这台计算机最多可以设计出多少条单操作数指令? o 当双操作数指令条数取最大值,且在此基础上单操作数指令条数也取最

大值时,试计算这三类指令最大容许具有的指令条数各是多少?

某台计算机字长为16位,主存容量为64K字,采用单字长单地址指令,共有64条指令。试采用四种寻址方式(直接、间接、变址、相对)设计指令格式。 某机字长为16位,内存容量为64K,指令为单字长指令。有50种操纵码,采用页面寻址、直接、间接寻址方式。CPU中有一个AC、PC、IR、MAR、MBR。问: 指令格式如何安排?

存储器能划分成多少页面?每页多少单元? 能否增加其他寻址方式?

4. 某计算机字长为16位,其主存容量为64K字,若采用单字长、单地址指令,其共有64条指令。试采用四种寻址方式(直接、间接、变址、相对)设计其指令格式,并给出各寻址模式的有效地址表达式。

5.有一种二地址RR型,RS型指令结构如下图所示:

6位 4位 4位 1位 2位 16位 OP 源寄存器 目标寄存器 I X D(偏移量) 其中,源寄存器、目标寄存器都是通用寄存器,I为间接寻址标志位,X为寻址模式字段。 D为偏移量字段.通过I,X,D的组合,可构成一个操作数的寻址方式,其有效地址E的算法及有关说明列于下表所示: 寻址方式 (1) (2) (3) (4) (5) (6) I 0 0 0 1 1 0 X 00 10 11 00 11 有效地址E算法 E=D E=(Rx)+D E=(R) E=(D) E=(Rb)+D 说明 D为偏移量 Rx为变址寄存器 R为通用寄存器 Rb为基址寄存器 01 指令地址=(PC)+D PC为程序计数器 请写出表中6种寻址方式的名称,并说明其在主存中操作数的位置。 6. 一台处理机具有如下指令格式:

2位 6位 3位 3位 X OP 源寄存器 目标寄存器 地 址 格式表明有8位通用寄存器(长度16位),X指定寻址模式,主存的实际容量为256k字。问:

o 假设不用通用寄存器也能直接访问主存中的每一个单元,并假设操作码域OP=6

位,请问地址码域应分配多少位?指令字长度应有多少位?

o 假设X=11时,指定的那个通用寄存器用做基值寄存器,请提出一个硬件设计规

划,使得被指定的通用寄存器能访问1M主存空间中的每一个单元。 7. 某机的16位单字长访内指令格式如下所示: 4 2 1 1 8 OP M I X D 其中D为形式地址,补码表示(其中一位符号位);I为直接/间接寻址方式:

I=1为间接寻址方式,I=0为直接寻址方式; M为寻址模式:0为绝对地址,1为基地址寻址,2为相对寻址,3为立即寻址; X为变址寻址。设PC,Rx,Rb分别为指令计数器,变址寄存器,基地址寄存器,E为有效地址,请问:

o 该指令格式能定义多少种不同的操作?立即寻址操作数的范围是多少? o 在非间接寻址情况下,写出各计算有效地址的表达式;

o 设基址寄存器为14位,在非变址直接基地址寻址时,确定存储器可寻址的地

址范围;

o 间接寻址时,寻址范围是多少? o 指出间接寻址的缺点。

8. 某16位机器所使用的指令格式和寻址方式如下所示,该机有2个20位基址寄存器,4个16位变址寄存器,16个16位通用寄存器,指令汇编格式中的S(源),D(目标)都是通用寄存器,m是主存的一个单元,三种指令的操作码分别是MOV(OP) =(A)H,

STA(OP)=(1B)H, LDA(OP)=(3C)H, MOV是传送指令,STA为写数指令,LDA为读数指令。

问:(1)分析三种指令的指令格式和寻址方式特点。

(2)处理机完成哪一种操作所花时间最短?那一种最长?第二种指令的执行时间有时会等于第三种指令的执行时间吗?

(3)下列情况下每个十六进制指令字分别代表什么操作?其中有编码不正确时,如何改正才能成为合法指令?

① (F0F1)H (3CD2)H ② (2856)H ③ (6FD6)H ④ (1C2)H

9. 指令格式如下所示。其中,OP为操作码字段,试分析指令格式特点。 15 10 7 3 2 0 OP 源寄存器 基值寄存器 偏移量(16位) 10. 某微机的指令格式如下所示: 15 10 9 8 7 0 操作码 X D D:位移量

X:寻址特征位 X=00:直接寻址;

X=01:用变址寄存器X1进行变址;

X=10:用变址寄存器X2进行变址; X=11:相对寻址

设(PC)= 1234H,(X1)= 0037H,(X2)= 1122H,请确定下列指令的有效地址。 ①4420H ②2244H ③1322H ④3521H ⑤6723H 11. 一台处理机具有如下指令字格式:

其中,每个指令字中专门分出3位来指明选用哪一个通用寄存器(12位),最高位用来指明它所选定的那个通用寄存器将用作变址寄存器(X=1时),主存容量最大为16384字.

o 假如我们不用通用寄存器也能直接访问主存中的每一个操作数,同时假设有用

的操作码位数至少有7位,试问:在此情况下,“地址”码域应分配多少位?“OP”码域应分配多少位?指令字应有多少位?

o 假设条件位X=0,且指令中也指明要使用某个通用寄存器,此种情况表明指定的

那个通用寄存器将用作基值寄存器.请提出一个硬件设计规则,使得被指定的通用寄存器能访问主存中的每一个位置。 (3)假设主存容量扩充到32768字,且假定硬件结构已经确定不变,问采用什么实际方法可解决这个问题? 五、问答题

o 计算机指令的基本成分?各有何作用?常用指令格式有哪些? o 简述确定指令系统的基本要求,一般的指令系统应该包含哪些基本的指o o o o o o o

o

令类型?

CISC结构计算机的缺点有哪些?RISC结构计算机的设计有些什么原则?

什么叫寻址技术?在计算机中为什么要设置多种寻址方式?通常有哪些基本的寻址方式?

程序控制指令有什么功能?它主要包括哪些指令? 何谓变址寻址和基址寻址?两者有何异同点?

举例说明计算机中寄存器寻址、寄存器间接寻址、变址寻址、堆栈寻址从形式地址到得到操作数的寻址处理过程。

一条指令通常由哪两部分组成?指令的操作码一般有哪几种组织方式?各自应用在什么场合?各自的优缺点是什么?

什么是形式地址?简述对变址寻址、相对寻址、基地址寻址应在指令中给出些什么信息?如何得到相应的实际(有效)地址?各自有什么样的主要用法?

从概念上讲,有哪几种指令会通过给出一个新的指令地址来改变指令顺序执行的情况?它们通常都可以采用什么样的方案在指令字中给出这一新的指令地址(至少说出3种)和其他有关信息?

练习题题解

一、选择题

1. B 2. C 3. B 4. C 5. D 6. D 7.D 8.B 9.C 10.D 11.C

二、填空题

o A. 寻址方式 B. 操作数有效

C. 零地址指令 D. 单地址指令 E. 二地址指令

o A. 操作数在通用寄存器中,操作数地址是通用寄存器的编号

B. 操作数在主存单元中,通用寄存器中的内容作为操作数地址 C. 快

o A. 基准量 B. 位移

量 C. 较短

D. 修改量. E. 基准量 F. 足以表示整个存储空间

o A. 单字长指令 B. 半字长指令 C.

双字长指令

o A. 主存储器 B. 寄存器 C. 寄存器 D. 寄存器

o A. 操作的类型 B. 2n

o A.操作数的地址 B.一地址指令 C. 二地址指令

D.三地址指令 E.零地址指令

o A.操作数

o A.寄存器号 B.该寄存器中

o A.地址码 B.操作数在存储器中的地址

o A.面向栈顶操作的先进后出的存取方式 B.加 C.减D.调整指针 E.存入数据

o A.完备性 B.有效性

o A.完备性 B.有效性 C.规整性 o A.操作数地址 B.堆栈栈顶

o A.基准量 B.偏移量 C.偏移量 D.基准量

o A.7 B.3 C.22 D.2 22个单元 E.2 24单元

o A.简单 B.固定 C.少 D.少 E.一个时o o o o

钟周期

A.微指令 B.机器指令 C.宏指令 A.先进后出 B.寄存器 C.存储器

A.指令条数少 B.指令长度 C.指令格式和寻址方式 A.算术运算 B.逻辑运算 C.系统控制

三、分析题

o ① 直接寻址 ② 相对寻址 ③变址寻址

④ 寄存器直接寻址 ⑤ 间接寻址 ⑥ 相对间接寻址 ⑦ 变址间接寻址 ⑧ 寄存器间接寻址

o (1) 一个机器字,该机器字即为指令字,它本身包含操作数D(只有8位)。

(2) 256个机器字,此时为直接寻址,E = D。 (3) 64K机器字,此时为间接寻址,E =(D)。 (4) 64K机器字,此时为变址寻址,E = R1 + D。

o 指令格式及寻址方式特点如下:

(1) 单字长二地址指令,可指定16种操作。

(2) 使用通用寄存器寻址方式。无论是源操作数还是目标操作数,可采用8种寻址方式来确定,可使用8个寄存器。

(3) 这种指令结构可以是RR型指令,或者是RS型指令,也可以是SS型指令。 四、设计题

1. 双操作数指令地址字段占去12位,操纵码字段为8位。由于设定全部指令采用8位固定的OP字段,故这台计算机最多的指令条数为28 = 256条。因此最多还可以设计出(256 – m – n)条单操作数指令。

双操作数指令条数最大值为28条。

单操作数指令条数最大值为(212 – 28)条。

无操作数指令条数最大值为(220 – 212 – 28)条。

2. 64条指令需占用操作码字段(OP)6位,这样指令字下余长度为10位。为了覆盖主存64K字的地址空间,设寻址模式位(X)2位。形式地址(D)8位,其指令格式如下:

15 10 9 8 7 0 OP X D 寻址模式X定义如下:

X = 00 直接寻址 有效地址 E = D(256单元) X = 01 间接寻址 有效地址 E =(D)(64K)

X = 10 变址寻址 有效地址 E = (R)+(D)(64K) X = 11 相对寻址 有效地址 E =(PC)+(D)(64K)

其中R为变址寄存器(16位),PC为程序计数器(16位)。在变址和相对寻址时,位移量D可正可负。

3. 根据题意,有50种操作码,故OP字段占6位。页面寻址可用PC高8位(PCH)与形式地址D(8位)拼接成有效地址。设寻址模式X占2位,故指令格式如下: 15 10 9 8 7 0 OP X D 寻址模式定义如下:

X = 00 直接寻址 有效地址 E = D

X = 01 页面寻址 有效地址 E = PCH -(D) X = 10 间接寻址 有效地址 E =(D) X = 11 无操作

o 按照上述指令格式,PC高8位占主存256个页面,每个页面有256个单元。 o 按照上述指令格式,寻址模式X = 11尚未使用,故可增加一种寻址方式。由于

CPU中给定的寄存器中尚可使用PC,故可以增加相对寻址方式,其有效地址E = PC + D。如不用相对寻址,还可使用立即寻址方式,此时形式地址D为8位的操作数。

当位移量(形式地址)D变成7位时,寻址模式位可变成3位,原则上可以使用更多的寻址方式,但是现在由于CPU没有其他更多的寄存器,因此不能增加其他方式的寻址。 4. 64条指令占用操作码字段(OP)6位,寻址模式位(X)2位,形式地址位(D)8位。则指令格式如下:

15 109 87 0 OP X D 寻址模式X定义如下:

X=00 直接寻址 有效地址 E=D (256单元) X=01 间接寻址 有效地址 E=(D) (64K) X=10 变址寻址 有效地址 E=(R)+(D) (64K) X=11 相对寻址 有效地址 E=(PC)+(D) (64K)

其中R为变址寄存器(16位),PC为程序寄存器(16位),在变址和相对寻址时,位移量D可正可负。

5. (1).直接寻址,操作数在有效地址E=D的存储单元中。 (2).相对寻址。

(3).变址寻址,操作数在E=(RX) + D的存储单元中。

(4).寄存器间接寻址,通用寄存器的内容指明操作数在主存中的地址。

(5).间接寻址,用偏移量做地址访主存得到操作数的地址指示器,再按地址指示器访主存的操作数,因此间接寻址需两次访问主存。

(6).基值寻址,操作数在E=(Rb) + D 的存储单元中。

6. (1)因为218=256K,所以地址码域=18位, 操作码域=6位,指令长度=18 + 3 + 3 + 6 + 2 = 32位

(2)此时指定的通用寄存器用作基值寄存器(16位),但16位长度不足以覆盖1M字地址空间,为此将通用寄存器左移,4位低位补0形成20位基地址。然后与指令字形式地址相加得有效地址,可访问主存1M地址空间中任何单元。

7. (1) 该指令格式可定义16种不同的操作,立即寻址操作数的范围是 –128 ~+127 (2) 绝对寻址(直接寻址) E = A 基值寻址 E = (R b)+A 相对寻址 E = (PC)+A 立即寻址 D = A

变址寻址 E = (R X)+A

(3) 由于E = (R b)+A,R b=14位,故存储器可寻址的地址范围为(16383+127)~(16383-128)。

(4) 间接寻址时,寻址范围为64K,因为此时从主存读出的数作为有效地址(16位)。 (5)间接寻址至少两次访问内存才能取出数据,延缓了指令执行速度。

8. (1)第一种指令是单字长二地址指令,RR型;第二种指令是双字长二地址

指 令RS型,其中S采用基址寻址或变址寻址,R由源寄存器决定;第三种也是双字二地址指令,RS型,其中R由目标寄存器决定,S由20位地址(直接寻址)决定。

(2)处理器完成第一种指令所花的时间最短,因为是RR型指令,不需要访问存储器。第二种指令所花的时间最长,因为是RS型指令,需要访问存储器,同时要进行寻址方式的变换运算(基址或变址),这也要时间。第二种指令的执行时间不会等于第三种指令,因为第三种指令虽也访问存储器,但节省了求有效地址运算的时间开销。 (3)根据已知条件:MOV(OP) = 0010101 STA(OP) = 011011 LDA(OP) = 111100, 将指令的十六进制格式转换成二进制代码且比较后可知:

①(F0F1)H(3CD2)H 指令代表LDA指令,编码正确,其含义是把主存 (13CD2)H地址单元的内容取至15号寄存器。

②(2856)H代表MOV指令,编码正确,含义是把6号源寄存器的内容传送至5号目标寄存器。

③ (6FD6)H是单字长指令,一定是MOV指令,但编码错误,可改正为(28D6)H ④(1C2)H是编码错误,可改正为(28C2)H,代表MOV指令。 9. (1)操作码字段OP为16位,可指定26 = 64 (2)双字长(32位)二地址指令,用于访问存储器。

(3)一个操作数在源寄存器(共32个),另一个操作数在存储器中(由基值寄存器和偏移量决定)。所以是RS型指令。

10. ①X = 00,D = 20H,有效地址EA = 20H;

②X = 10,D = 44H,有效地址EA = 1122H + 44H = 1166H; ③X = 11,D = 22H,有效地址EA = 1234H + 22H = 1256H; ④X = 01,D = 21H,有效地址EA = 0037H + 21H = 0058H; ⑤X = 11,D = 23H,有效地址EA = 1234H + 23H = 1257H。

11. (1)地址码域=14位, 214=16384 操作码域=7位

指令字长度=14+7+3=24位

(2)此时指定的通用寄存器用作基值寄存器(12位),但12位长度不足以覆盖16K地址空间,为此可将通用寄存器内容(12位)左移2位低位补0形成14位基地址,然后与形式地址相加得一地址,该地址可访问主存16K地址空间中的任一单元。

(3)可采用间接寻址方式来解决这一问题,因为不允许改变硬件结构。

五、问答题

o 计算机指令由操作码和地址码构成,操作码通常使用编码方式表明该指

令完成的操作;而地址码指明指令所操作的操作数的地址,分为源操作数地址码和目的操作数地址码。操作码由基本操作码和扩展操作码组成,操作是必需的。地址码按数量可分为零地址、一地址、二地址、三地址和多地址。常用的指令格式有单字长指令和多字长指令;固定字长指令和可变字长指令;固定长度操作码指令和可变长度操作码指令等。 o 指令系统的性能如何,决定了计算机的基本功能,因而指令系统的设计

是计算机系统设计中的一个核心问题,它不仅与计算机的硬件结构紧密相关,而且直接关系到用户的使用需要。一个完善的指令系统应满足如下一些基本要求:

完备性:指令系统的完备性是指在一个有限可用的存储空间,对于任何可解的问题,编制计算机程序时,指令系统所提供的指令足够使用。 有效性:利用该指令所编写的程序能够高效率地运行。强调有效性,一直是计算机系统设计的重要原则之一,也是传统的复杂指令系统计算机的出发点。

规整性:包括指令系统的对称性、匀齐性、指令格式和数据格式的一致性。

兼容性:系列机各机种之间具有相同的基本结构和共同的基本指令系统,因而它们的指令系统是兼容的。

基本的指令系统应包含以下四大类型的指令:(1)数据处理:算术运算和逻辑运算指令;(2)数据存储:存储器指令;(3)数据移动:I/O指令;(4)程序控制:测

试和转移指令。从指令的功能来考虑,一个较完善的指令系统应包括以下7类:数据传送指令,算术运算指令,逻辑运算指令,数据转换指令,输入输出指令,系统控制指令和程序控制指令。指令集中指令由这些基本类型的指令构成。

o CISI存在的主要问题:复杂指令并不能有效地得到利用;复杂指令系统

会降低整个机器的执行速度;复杂指令带来了计算机组成及实现上的复杂性,不便于用VLSI实现;CISC的设计时间长,且由于系统复杂,可能包含更多的设计错误;CISC的设计思想是把硬件资源主要用于提高指

令系统的功能和规模,使指令系统设计得尽可能接近高级语言,而没有最大限度地利用这些资源来提高性能。

RISC以尽可能地提高处理机的有效速度为依据来确定指令系统,这种指令系统简单、紧凑,便于流水处理,硬件实现容易,而且能有效地支持优化编译。具体地,RISC指令系统具有以下主要特点:

o 选取使用频度最高的一些指令,指令功能简单,指令条数少。 o 定长、简单的指令格式,典型的位4个字节。

o 寻址方式简单,数量少,一般不超过五种,不采用存储器间接寻址技术。 o 只有LOAD/STORE指令能访问主存,一条指令中操作数访存寻址不超过一o o o o o

次。

运算类指令多采用三地址寄存器寻址格式,不直接访存。 大量的寄存器,指令操作大多都在寄存器之间进行。

对于有 浮点处理部件的计算机,使用大量的浮点寄存器。

大部分指令在一个周期内完成(流水方式),但是其性能的发挥强烈地依赖于编译器的优化。

寻址技术是确定操作数地址的技术,有些文献称之为编址技术,它是计算机设计中,硬件技术对软件最早提供支持的技术。

寻址技术出现,是因为希望能够灵活地访问到存储器,而存储器的范围较大,这就需要较长的地址,但是指令字中地址域 的位 数有限,对于虚拟存储器这个问题更加突出。另外,高级语言和很多种数据结构,如循环语句和数组结构中的地址变化,需要有效的地址变换以提高访问数据的灵活性的有效性。指令系统具有寻址方式的种类,是指令系统设计的关键问题之一,它影响到计算机系统的寻址能力,同时也影响到地址计算复杂度和计算速度。

基本寻址方式包括:直接数寻址、直接寻址、间接寻址、寄存器寻址、寄存器间接寻址、偏移寻址、堆栈寻址等。

o 程序控制指令用来改变程序原来的执行顺序。程序中需要改变执行顺序

的原因主要有:循环反复执行一段程序;程序涉及决策问题,在不同条件的情况下做不同的事情;模块化程序执行时要靠程序控制指令来控制这些模块的执行顺序。

程序控制指令主要包括:转移指令、跳越指令和子程序调用与返回指令。 在形式上以及计算操作数的有效地址的方法上,变址寻址和基址寻址中是相似的,都是把个寄存器的内容加上指令字中的形式地址而形成操作数有有效地址。实际上,两者有着不同的用途。首先,在采用了基址寻址的计算机系统中,基址是不变的,程序中的所有地址都是相对于基地址来变化的。而对于变址寻址来说则相反,指令中的地址字段的形式地址给出的是一个存储器地址基准,变址寄存器X中存放的是相对于该基准地址的偏移量。不同的变址寄存器给出的不同的单元。第二,在基址寻址中,偏移量位数较短,而在变址寻址中,偏移量位数足以表示整个

存储空间。第三,基址寻址主要是解决程序逻辑空间与存储器物理空间的无关性,而变址寻址主要是为了可以编写出高效访问一片存储空间的程序。

7. (1)寄存器寻址,形式地址为寄存器名(或编号),寄存器中的内容为操作数;

(2)寄存器间接寻址,形式地址为寄存器名(或编号),寄存器中的内容为操作数的地址,再读一次内存得到操作数;

(3)变址寻址,形式地址为变址寄存器名(或编号)和变址偏移值,把变址寄存器中的内容与变址偏移值相加得到操作数的地址,再读一次内存得到操作数;

(4)堆栈寻址,通常形式地址为将写入堆栈的、或接收堆栈读出内容的寄存器名(或编号),指令中不直接给出内存地址,而是选用默认的堆栈指针寄存器中的内容为内存地址,读写堆栈总伴有修改堆栈指针的操作。

8. 一条指令由操作码和操作数地址码两部分组成。对操作码的组织与编码有以下三种:

(1)定长的操作码的组织方案

优点:计算机的硬件设计简单,指令译码和执行速度快。

缺点:当指令数量增多、指令字单独为操作码划分出固定的多位后,留给表示操作数地址的位数就会严重不足。

适用于字长较长的计算机系统,如32位或32位以上。 (2)变长的操作码的组织方案

优点:在比较短的指令字中,既能表示出比较多的指令条数又能尽量满足操作数地址的要求。

缺点:计算机的硬件设计复杂,指令译码和执行速度较慢。 适用于字长较短的计算机系统,如16位或16位以下。 (3)操作码字段与操作数地址有所交叉的方案

优点:在比较短的指令字中,既能表示出比较多的指令条数又能尽量满足操作数地址的要求。操作码不再集中在指令字的最高位,而是与表示操作数地址的字段有所交叉。

缺点:计算机的硬件设计复杂,指令译码和执行速度较慢。 这种方案不很常用。

9. 表示在指令中的操作数地址称为形式地址。

(1)变址寻址:应在指令中给出一个数值(称为变址偏移量)及一个寄存器(称为变址寄存器)的编号。实际地址(又称有效地址)=变址寄存器的内容+变址偏移量主要用于处理数组型数据。

(2)相对寻址:应在指令中给出一个数值(称为相对寻址偏移量)。实际地址(又称有效地址)=程序计数器PC的内容+相对寻址偏移量主要用于相对转移指令。

(3)基地址寻址:应在指令中给出一个寄存器(称为基址寄存器)的编号。实际地址(又称有效地址)=程序中的地址+基址寄存器主要用于多道程序或浮动地址程序定位存储器空间。

10. (1)无条件转移指令,条件转移指令,中断返回指令等都可以改变指令执行的次序使其不再是顺序执行的指令;(2)在指令字中,可

以通过给出寄存器编号,把该寄存器的内容作为新的指令地址;可以例如用指令的第二个字直接给出一个新的指令地址;也可以通过给出一个偏移值(可以为正或负值)与当前指令地址相加求得新指令的地址(相对转移)。对条件转移指令,还应该在指令字中给出依据什么条件判定是否应该转移的信息,仅在条件成立时才转移,否则顺序执行下一条相邻指令。

o 变址寻址和基址寻址都是偏移寻址的一种,基址寻址中基址寄存器提供

基准量,指令的地址码字段提供偏 移量。变址寻址中变址寄存器提供偏移量,指令的地址码字段提供基准量。

第5章 中央处理器

练习题

一、填空题

o 中央处理器CPU的功能是

o 固件是 ,一般用 实现。 o 微命令编码,就是对微指令中的操作控制字段采用的表示方式,通常有以下三

o o

o o

o o o o

o

种方

式: 、 、 。 微指令格式的基本类型为 和 。 控制部件通过控制线向执行部件发出各种控制命令,通常把这种控制命令叫做 ,而执行部件执行此控制命令后所进行的操作叫做 。

在微程序控制器中,一条机器指令对应一个 。 微程序控制器主要

由 、 、 三大部分组成,其核心部件 是由 组成,用来存放 。

实现机器指令的微程序一般存放在 中,而用户程序存放在 中,前者的速度比后者 。 中央处理器(CPU)的四个主要功能

是: 、 、 和 。 各种计算机的CPU可能有这样或那样的不同,但是在CPU中至少有六个主要寄存器,它们是: 、 、 、 、 、和 。 在CPU中,指令寄存器的作用是 ,程序计数器的作用是 ,程序状态字寄存器PSW的作用是 ,地址寄存器的作用是 。

CPU从主存取出一条指令并执行该指令的时间叫做 ,它常常用若干个 表示,而后者又包含有若干个 。

o 在程序执行的过程中,控制器控制计算机的运行总是处于 、分析o o o o o o o o o

指令和 的循环之中。

顺序执行时PC的值 ,遇到转移和调用指令时,后继指令的地址(即PC的内容)是从指令寄存器中的 取得的。

状态寄存器是由各种 拼成的寄存器,如进位标志、溢出标志等。 微指令的三种编码方式分别为: 表示法、 表示法及混合表示法。

微指令执行时产生后继微地址的方法主要有 、 和结合法。

一条转移指令的操作过程包

括 、 及 三部分。 任何指令周期的第一个CPU周期必定是 周期。

一条微指令可划分为 字段和 字段;微指令的基本格式可分为 和 。

从广义上讲,计算机中引入并行性有三种基本途径,分别是 、 、 。

多媒体CPU是一种带有__ _技术的处理器,它是一种_______技术,其特别适用于___处理当中。

二、选择题

o 中央处理器(CPU)是指

A. 运算器 B. 控制器

C. 运算器和控制器

D. 运算器、控制器和主存储器

o 在CPU中跟踪指令后继地址的寄存器是 。

A. 主存地址寄存器 B. 程序计数器 C. 指令寄存器 D. 状态条件寄存器

o 操作控制器的功能是 。

A. 产生时序信号

B. 从主存取出一条指令 C. 完成指令操作码译码

D. 从主存取出指令,完成指令操作码译码,并产生有关的操作控制信号,以解释执行该指令

o 指令周期是指 。

A. CPU从主存取出一条指令的时间 B. CPU执行一条指令的时间

C. CPU从主存取出一条指令加上执行这条指令的时间 D. 时钟周期时间

o 同步控制是 。

A. 只适用于CPU控制的方式

B. 只适用于外围设备控制的方式 C. 由统一时序信号控制的方式 D. 所有指令执行时间都相同的方式

o 异步控制常用于 作为其主要控制方式。

A. 在单总线结构计算机中访问主存与外围设备时 B. 微型机的CPU控制中 C. 组合逻辑控制的CPU中 D. 微程序控制器中

7. 微操作在执行部件中是最基本的操作。由于数据通路的关系,微操作可分为相容性和相斥性微操作。请在以下叙述中选出一个正确描述的句子。 A. 同一个CPU周期中,可以并行执行的微操作叫相容性微操作 B. 同一个CPU周期中,不可以并行执行的微操作叫相容性微操作 C. 同一个CPU周期中,可以并行执行的微操作叫相斥性微操作 D. 同一个时钟周期中,不可以并行执行的微操作叫相斥性微操作

8. 用PLA器件设计的操作控制器称为PLA控制器。从技术实现的途径来说,PLA控制器是一种 。

A. 用存储逻辑技术设计的控制器 B. 用组合逻辑技术设计的控制器 C. 用微程序技术设计的控制器

D. 用组合逻辑技术和存储逻辑技术结合设计的控制器 三、名词解释

o 指令流 o 数据流 o 指令周期 o 异步控制方式 o 同步控制方式 o 节拍 o 节拍电位

四、简答题

o 试述控制器基本功能。

o 控制器有哪几种控制方式?各有何特点? o 试述指令周期、时钟周期、存储周期三者的关系。 o 指令周期内节拍划分的原则是什么? o 试述取指周期和执行周期各执行哪些操作? o 什么是微命令和微操作?它们有什么关系?

o 在微程序的控制器中,通常有哪5种得到下一条微指令地址的方式。 o 简要说明组合逻辑控制器中的节拍发生器的作用是什么?简述它的工作原理。 o 简要说明条件转移指令和无条件转移指令的相同点和不同点?子程序调用指令

与转移指令的区别是什么?

o 简述计算机的控制器的功能和基本组成,微程序的控制器和组合逻辑的控制器

在组成和运行原理方面的相同、不同之处表现在哪里?

o 一般情况下,怎样区分从内存中取出的机器字是数据字还是指令字?

o 计算题

o 假设某机器有86条指令,平均每条指令由12条微指令组成,其

中一条是取指微指令。取指指令是公用的,已知微指令字长48 位。请问控制存储器的容量需多大?

o CPU执行一段程序时,cache完成存取的次数为1900次,主存完

成存取的次数为100次,已知cache存取周期为50ns,主存存取周期为250ns。求:(1)cache/主存系统的效率 。 (2)平均访问时间。

o 分析题

1.已知某机采用微程序控制方式,其控制存储器容量为512×48位。微程序可在整个控制存储器中实现转移,可控制微程序转移的条件共有4个,采用水平型格式,后继微指令地址采用断定方式,如下图所示: 微指令字段 判别测试字段 下地址字段 操作控制 顺序控制

o 微指令中的三个字段分别应为多少位?

o 画出围绕这种微指令格式的微程序控制器逻辑框图。

2.某机有8条微指令I1~I8,每条微指令所包含的微命令控制信号如表5.3所示。 表5.3 微命令控制信号 微命令 微 命 令 信 号 a b c d e f g h i j I1 I2 I3 I4 I5 I6 I7 I8 √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ √ A~j分别对应10种不同性质的微命令信号,假设一条微指令的控制字段为8位,请安排微指令的控制字段格式。

3. 请在下表中第二列、第三列填写简要文字对CISC和RISC的主要特征进行对比。

比 较 内 容 CISC RISC

o 指令系统 o 指令数目 o 指令格式 o 寻址方式 o 指令字长 o 可访存指令 o 各种指令使用频率 o 各种指令执行时间 o 优化编译实现 o 程序源代码长度 o 控制器实现方式 o 软件系统开发时间

o 设计题

o 时序产生器需要在一个CPU 周期中产生三个节拍脉冲信号:Tl

(200ns),T2(400ns),T3(200ns),请设计时序逻辑电路(不考虑启停控制)。

o 某假想机主要部件如图5.14所示。其中:

M——主存储器 MBR——主存数据寄存器 IR——指令寄存器, MAR——主存地址寄存器 PC一—程序计数器 R0- R3——通用寄存器 C,D——暂存器

(1)请补充各部件之间的主要联结线,并注明数据流动方向。

(2)拟出“ADD(R1),(R2)+”指令的执行流程(含取指过程与确定后继指令地址)。该指令的含义是进行求和操作,源操作数地址在寄存器R1中,目的操作数寻址方式为自增型寄存器间址方式(先取地址后加1)。

图5.14 某假想机主要部件

3.运算器结构如图5.15所示,IR为指令寄存器,R1—R3是三个通用寄存器,其中任何一个可作为源寄存器或目标寄存器,A和B是三选一多路开关,通路的选择分别由AS0,ASl和BS0,BSl控制(如BS0BSl=01时选择Rl,10时选择R2,11时选择R3)S1S2是ALU的操作性质控制端,功能如下:

S1S2=00时,ALU输出B S1S2=0l时,ALU输出A+B S1S2=10时,ALU输出A-B S1S2=11时,ALU输出B 假设有如下四条机器指令,其操作码OP和功能如表5.4所示,要求: (1)如机器字长8位,请设计四条指令的指令格式。

(2)如限定微指令字长不超过14位,请设计微指令格式(只考虑运算器数据通路的控制),假设控存CM容量仅16个单元。

(3)假定取指微指令完成从主存M取指令到IR,画出四条指令的微程序流程图.标 注微地址和测试标志。

(4)假定用节拍脉冲T4修改微地址寄存器,用T1脉冲做为CM读出信号的打入信号,试画出微地址转移逻辑图。

图5.15 运算器结构

表5.4 操作码OP和功能

4. 现在要设计一个新处理机,但机器字长尚悬而未决,有两种方案等待选择:一种是指令字长16位,另一种指令字长24位。该处理机的硬件特色是:①有两个基值寄存器(20位)。②有两个通用寄存器组,每组包括16个寄存器。请问:

(1)16位字长的指令和20位字长的指令各有什么优缺点?哪种方案较好? (2)若选用24位的指令字长,基地址寄存器还有保留的必要吗? 5. CPU的结构如下图所示,其中AC为累加器,AR为主存地址寄存器,DR为主存数据寄存器,DR(OP)为DR的操作码字段,DR(ADR)为DR的地址码字段,IR为指令寄存器,PC为程序计数器,M为主存储器,表(1)列出CPU控制信号,表(2)列出指令组助记符及其功能,并给出每条指令的操作码。

请设计:1)满足所给条件的微指令格式(直接控制法)。

2)设计表(2)中6条指令的微程序流程图,标明每条微指令在控存中的地址。

表 (1)

表(2)

练习题题解

o 填空题

o 从主存取出指令,分析指令并产生有关的操作控制信号 o 微程序,ROM

o 直接控制编码表示法,分段直接编码,分段间接编码 o 垂直型微指令,水平型微指令 o 微命令,微操作

o 微程序

o 控制存储器,控存地址寄存器,控制存储器,ROM,微程o o o o

o o o o o o o o o o o

o 选择题

控制存储器,主存储器,快

指令控制,操作控制,时间控制,数据加工

指令寄存器,程序计数器,地址寄存器,缓冲寄存器,累加器,状态条件寄存器

保存当前正在执行的一条指令,跟踪后继指令的地址,保存处理器的状态信息和中断优先级,保存当前CPU所访问的主存单元的地址

指令周期,机器周期,时钟周期 取指令,执行指令 自动加1, 地址字段 状态标志位 直接,编码

计数器方式,断定方式

取指令,指令译码,计算地址 取指

微操作控制,微地址,垂直型微指令,水平型微指令 时间重叠,资源重复,资源共享 MMX,多媒体扩展结构,图象数据

1. C 2. B 3. D 4. C 5. C 6. A 7. A 8. D

o 名词解释

o 指令流:计算机执行的指令序列。

o 数据流:根据指令要求依次访问的数据序列。 o 指令周期:一条指令的执行时间,即从取指开始到指令结o o o o

o 简答题

o 控制器基本功能:取指令字、解释指令字、组织计算机各

束的全过程所需的时间。

异步控制方式:系统各个部件之间没有统一的时钟,各部件有自己的时钟。

同步控制方式:机器有统一的时钟信号,所有的微操作信号都与时钟信号同步。

节拍:将CPU周期划分为若干个相等的时间段,每个时间段称为一个节拍。

节拍电位:节拍一般用具有一定宽度的电位信号表示。

个部件操作的信号序列,以完成指令的执行,确定下一条指令的地址。

o CPU常用的控制方式有三种:同步控制方式、异步控制方

式和联合控制方式。

同步控制方式,是指在任何情况下给定的指令在执行时所需的机器周期数和时钟周期数都是固定不变的控制方式。

异步控制方式中,每条指令的指令周期既可由数量不等的机器周期数组成,也可由执行部件完成CPU要求的操作后发回控制器的“回答”信号决定。亦即CPU访问的每个操作控制信号的时间根据其需要占用的时间来决定。显然,用这种方式形成的操作控制序列没有固定的CPU周期数(节拍电位)和严格的时钟周期(节拍脉冲)与之同步,所以称为不同步即异步方式。

联合控制方式,就是指同步控制和异步控制相结合的方式。是目前计算机控制器设计中采用最多的、主要的控制方式。在控制器的设计中,集中控制部分一般采用同步控制方式,而分布控制部分一般采用异步控制方式。

o 现代计算机系统指令周期为离CPU最近的存储器系统的

o

o

o

o

存储周期的整数倍;系统时钟周期与节拍宽度相等,故指令周期和存储周期是时钟周期的整数倍。

(1)存储周期是节拍周期的整数倍;(2)相关指令的顺序保证;(3)互斥微操作不能安排在同一节拍内;(4)相容微操作可安排在相同节拍或不同节拍中;(5)除访存等微操作外,大多数微操作在一个节拍内完成。 取指周期完成的操作:取指、指令译码、PC+1、送操作数地址;执行周期:取操作数、完成操作、结果回写、AC送存储器。

微命令是构成控制信号序列的最小单位,微命令由控制部件通过控制线向执行部件发出;微操作是执行部件接收微命令后所进行的最基本的操作。微命令是微操作的控制信号,而微操作是微命令控制的操作过程,在计算机内部实质上是同一信号。对控制部件为微命令,对执行部件为微操作。

(1)微程序顺序执行时,下地址为本条微指令地址加1。

(2)在微程序必定转向某一微地址时,可以在微指令字中的相关字段中给出该地址值。

(3)按微指令(上一条或本条)的某一执行结果的状态,选择顺序执行或转向某一地址。

(4)从微堆栈中取出从微子程序返回到微主程序断点的返回地址,用于微子程序返回处理。

(5)依条件判断转向多条微指令地址中的某一地址的控制。

8. (1)其作用是提供执行每一条指令的步骤(时序)标记信号和时序脉冲信号。 (2)它是用时序逻辑方式运行的,依据当前的时序状态信息,指令的操作码信息以及指令执行状态信息,产生下一条指令的时序脉冲信号。

9. (1)二者相同点是都必须在指令中给出转移地址,不同点在于条件转移指令还必须在指令中给出判断是否执行转移所依据的条件。

(2)子程序调用指令与转移指令的区别,子程序调用指令转移后要保存当前地址,以备子程序执行完后返回,而一般的转移指令,由于不返回所以不需要保存当前地址。 10. 控制器的功能是自动连续地执行指令序列,并依据当前正在执行的指令和它所的执行步骤,提供出在这一时刻整机各部件要用到的控制信号。

控制器的基本组成包括: (1)程序计数器(PC) (2)指令寄存器(IR)

(3)脉冲源、启停控制逻辑、微操作控制器 (4)全部时序控制信号产生部件

微程序的控制器和组合逻辑的控制器在组成同类型的控制器,其共同点是: 基本功能都是提供计算机各个部件协同运行所需要的控制信号,都分成几个执行步骤完成每一条指令的具体功能;不同点主要表现在:处理指令执行步骤的办法,提供控制信号的方案不一样。组合逻辑控制器是用节拍发生器指明指令执行步骤,用组合逻辑电路直接给出应提供的控制信号,其优点是运行速度明显地快,缺点是设计与实现复杂些,但随着大规模可编程集成电路的出现,该缺点已得到很大缓解;微程序控制器是通过微指令来细分指令执行步骤,所提供的控制信号是从控制存储器中读出来的,并经过一个微指令寄存器送到被控制部件的,其缺点是运行速度要慢一些,优点是设计与实现简单些,易于用于实现系列产品的控制器,理论上可实现动态微程序设计.

11. 一般来讲,取指周期中从内存中读出的信息流是指令流,它流向控制器;而执行周期中从内存读出的或送入内存的信息流是数据流,它由内存流向运算器或由运算器流向内存。

o 计算题

o 共有微指令(12-1)×86+1=947条,控存的容量为

947×48 位。

o (1)命中率H = Nc / (Nc + Nm) = 1900 / (1900 + 100)

= 0.95

主存慢于cache的倍率 r = tm / tc = 250ns / 50ns = 5 访问效率 e = 1 / [r+(1-r)H] = 1 / [5+(1-5)]×0.95 = 83.3% (2)平均访问时间 ta = tc / e = 50ns / 0.833 = 60 ns

o 分析题

o (1) 假设判别测试字段中每一位作为一个判别标志,那么由于有4个转移条件,

故该字段为4位(如采用字段译码只需3位)。下地址字段为9位,因为控存

容量为512单元。微指令字段则是(48 – 4 – 9) = 35位。

(2) 对应上述微指令格式的微程序控制器逻辑框图如图5.9所示。其中微地址寄存器对应下地址字段,S字段即为判别测试字段,控制字段即为微指令字段,后两部分组成微指令寄存器。地址转移逻辑输入是指令寄存器的OP码、各种状态条件以及判别测试字段所给的判别标志(某一位为1),其输出修改微地址寄存器的适当位数,从而实现微程序的分支转移。就是说,此处微指令的后继地址采用断定方式。

o 为了压缩控制字段的长度,必须设法把一个微指令周期中互斥性微命令信号组

合在一个小组中进行分组译码。

经分析,(e,f,h)和(b,i,j)可分别组成两个小组或两个字段,然后进行译码,可得六个微命令信号,剩下的a,c,d,g四个微命令信号可进行直接控制,其整个控制字段组成如下所示。

直接控制 01e 01b 10f 10i

a c d g 11g 11j ×× ×× × × × × 4位 2位 2位 3. 解:

比 较 内 容 CISC RISC ⑴指令系统 复杂、庞大 简单、精简 ⑵指令数目 一般大于200 一般小于100 ⑶指令格式 一般大于4 一般小于4 ⑷寻址方式 一般大于4 一般小于4 ⑸指令字长 不固定 等长

⑹可访存指令 不加限制 只有LOAD/STORE指令 ⑺各种指令使用频率 相差很大 相差不大

⑻各种指令执行时间 相差很大 绝大多数在一个周期内完成

⑼优化编译实现 很难 较容易 ⑽程序源代码长度 较短 较长

⑾控制器实现方式 绝大多数为微程序控制 绝大多数为硬布线控制 ⑿软件系统开发时间 较短 较长

o 设计题

1. 解:节拍脉冲Tl,T2,T3的宽度实际上等于时钟脉冲的周期或是它的倍数。此处Tl=T3=200ns,T2=400ns,所以主脉冲源的频率应为f=1/T=5MHz*

为了消除节拍脉冲上的毛刺,环形脉冲发生器采用移位寄存器形式。图5.16画出了题目要求的逻辑电路图与时序信号关系图。根据时序信号关系,Tl,T2,T3三个节拍脉冲的逻辑表达式如下:

Tl=Cl·C2 T2=C2 T3=T1

Tl用与门实现,T2和T3则用C2的Q端和C1的Q端加非门实现,其目的在于保持信号输出时延迟时间的一致性并与环形脉冲发生器隔离。