一.单项选择题(每个空格只有一个正确答案,35分,每题5分)
1. C 是 G 周期中从内存流向 B 的信息流; E 是 H 周期中从内存流向运算
器的信息流。
A. 存储器
B. 控制器
C. 指令流
D. 控制流
E. 数据流
F. 缓冲
G. 取指
H. 执行
2. G 存储器是一种高速工作的存储器,指同一个存储器具有两组相互 B 的 C 控
制线路,可以对存储器中 E 位置上的数据进行 B 的存取操作。
A. 依赖
B. 独立
C. 读写
D. 刷新
E. 任何
F. 指定
G. 双端口
H. 三端口
3.cache是介于CPU和 E 之间的 H 容量存储器,能高速地向CPU提供 A 和数据,
从而加快程序的执行速度。
cache由高速的 F 组成,全部功能都由 C 实现,因而对程序员是透明的。
A. 指令
B. DRAM
C. 硬件
D. 软件
E. 主存
F. SRAM
G. 大
H. 小
4.虚拟存储器只是一个容量非常大的存储器的 C 模型,不是任何实际的 D 存储器。
有了虚拟存储器,用户无需考虑所编程序在 H 中是否放得下或放在什么位置等问题。
虚拟地址由 E 生成,但虚拟地址空间的大小实际上受到 G 容量的限制。
A. 操作系统
B. CPU地址引脚
C. 逻辑
D. 物理
E. 编译程序
F. 用户程序
G. 辅存
H. 主存
5.指令的 G 寻址方式,是指下条指令的地址码不是由 A 给出,而是由 C 给出。
因此, A 的内容也必须相应改变,以便及时跟踪新的指令 H 。
A. 程序计数器
B. 堆栈指示器
C. 本条指令
D. 下条指令
E. 顺序
F. 堆栈
G. 跳跃
H. 地址
6.通常用 F 读取一条指令字的 C 时间来规定CPU周期。
取出和 H 任何一条指令
所需的 C 时间为 B 个CPU周期。
A. 1
B. 2
C. 最短
D. 最长
E. 外存
F. 内存
G. 译码
H. 执行
7.RISC的三个基本要素是:(1)一个有限的 E 的 C ;(2)CPU配备大量的 B ;(3)
强调对指令 G 的 D 。
A. 专用寄存器
B. 通用寄存器
C. 指令集
D. 优化
E. 简单
F. 复杂
G. 流水线
H. 超标量
二.简答题(30分,每题5分)
1.计算机体系结构、计算机组成、计算机实现三个术语的物理概念是什么?彼此间有什么关系?
【解】
计算机体系结构:机器语言程序员所看到的传统机器级所具有的属性,其实质是确定计算机系统中软硬件的界面。
计算机组成:计算机体系结构的逻辑实现,包括物理机器级内的数据流和控制流的组成以及逻辑设计等。
计算机实现:计算机组成的物理实现,着眼于器件技术和微组装技术。
具有相同计算机体系结构的计算机,可以采用不同的计算机组成。
一种计算机组成可以采用多种不同的计算机实现。
2.请简述存储器扩展的3种方法。
【解】
存储器芯片的容量是有限的,需要在字向和位向两方面进行扩充才能满足实际存储器的容量要求。
通常采用位扩展法、字扩展法、字位同时扩展法。
位扩展法:只加大字长,而存储器的字数与存储器芯片字数一致,对片子没有选片要求。
字扩展法:仅在字向扩充,而位数不变,由片选信号来区分各片地址。
字位同时扩展法:在字向和位向同时进行扩展。
3.请简述cache的基本工作原理。
【解】
当CPU读取主存中一个字时,便发出此字的内存地址到cache和主存。
此时cache控制逻辑依据地址判断此字当前是否在 cache中:若是,此字立即传送给CPU;若非,则用主存读周期把此字从主存读出送到CPU,与此同时,把含有这个字的整个数据块从主存读出送到cache中。
4.cache存储器中为什么会产生替换?请列举3种常用的替换算法。
【解】
cache工作原理要求它尽量保存最新数据,当一个新的主存块需要拷贝到cache,而允许存放此块的行位置都被其他主存块占满时,就要产生替换。
常用替换算法包括:最不经常使用(LFU)算法、近期最少使用(LRU)算法、随机替换。
5.什么是指令周期、CPU周期、时钟周期?它们之间有什么关系?
【解】
指令周期是取出并执行一条指令的时间。
CPU周期是内存读取一条指令字的最短时间。
时钟周期是处理操作的最基本单位。
指令周期常常用若干个CPU周期数来表示。
一个CPU周期时间包含有若干个时钟周期。
6.多处理机系统与机群系统有什么差别?
【解】
多处理机系统由若干台独立的计算机组成,每台计算机能够独立执行自己的程序,彼此之间通过互连网络连接,实现程序之间的数据交换和同步。
机群系统是一组完整的计算机互连,它们作为一个统一的计算资源一起工作,并能产生一台机器的印象。
三.将十进制数-0.421875转换成IEEE-754标准的32位浮点规格化数,要求给出具体过程。
(7分)
【解】:
首先分别将十进制数转换成二进制数:
(-0.421875)10=-0.011011
然后移动小数点,使其在第1,2位之间
-0.011011=-1.1011×2-2 e=-2
于是得到:
S=1,E=-2+127=125,M=1011
最后得到32位浮点数的二进制存储格式为:
1 011 1110 1 101 1000 0000 0000 0000 0000 = (BED80000)16
四.已知下表中左面一栏有5个字节的数据。
请分别用奇校验和偶校验进行编码,填在中间一栏和右面一栏。
假定校验编码的最低1位为校验位,其余高8位为数据位。
(请把表格画到答题纸上,在答题纸上答题)。
(7分)
五.CPU执行一段程序时,cache完成存取的次数为2000次,主存完成存取的次数为180次,已知cache存储周期为40ns,主存存储周期为250ns,求cache的命中率、cache/主存系统的效率和平均访问时间。
(7分)
【解】
Nc = 2000,Nm = 180
tc = 40 ns,tm = 250 ns
∴命中率h = Nc/(Nc+Nm) = 2000/(2000+180) = 0.917 = 91.7%
平均访问时间ta = h*tc+(1-h)tm = 0.917*40+(1-0.917)*250 = 57.43 ns
效率e = tc/ta = 40/57.43 = 0.6965 = 69.65%
六.指令流水线有取指(IF)、译码(ID)、执行(EX)、访存(MEM)、写回寄存器堆(WB) 5个过程段,共有15条指令连续输入此流水线。
(1)画出流水处理的时空图,假设时钟周期为100ns。
(2)求流水线的实际吞吐率(单位时间里执行完毕的指令数)。
(7分)
【解】
(1)
S
WB
EX
ID
IF
(2)
若T取15个周期,输入15条指令,输出11条指令,
则吞吐率= 11 / (15*100ns) = 11 / (15*100*10-9 s) =7.3*106 条指令/秒= 7.3 MIPS
若T取19个周期,输入19条指令,输出15条指令,
则吞吐率= 15 / (19*100ns) = 15 / (19*100*10-9 s) =7.9*106 条指令/秒= 7.9 MIPS
七.利用串行方式传送字符,每秒钟传送的比特(bit)位数常称为波特率。
假设数据传送速率是是180个字符/秒,每一个字符格式规定包含11个数据位(1个起始位、1个停止位、1个校验位、8个数据位),问传送的波特率是多少?每个比特位占用的时间是多少?(7分)
【解】:
波特率为:
11位×180/秒 = 1980波特
每个比特位占用的时间Td是波特率的倒数:
Td = 1/1980 = 0.505×10-3s = 0.505ms。