第一部分:数据表示、运算和运算器部件
数据进制转换和二进制数据运算
1. 把下面给出的几个十进制的数化成二进制的数(无法精确表示时,小数点后
取3位)、八进制的数、十六进制的数:
7+3/4, -23/64, 5.47
2. 把下面给出的几种不同进制(以下标形式给出在右括号之后)的数化成十进
制的数:
- (1010.0101)2, (23.47)8, - (1A3C.D)16
3. 完成下面几个二进制的数的算术运算:
1010.111+0101.101, 1010.111-0101.101, 1110*0101, 10111101/1101
数据的原、反、补码表示和计算
1. 写出下面两组数的原、反、补码表示,并用补码计算每组数的和、差。双符号位的作用是什么?它只出现在什么电路之处? (1) X= 0.1101 Y= -0.0111 (2) X= 10111101 Y= -00101011
2. 仿照计算机的计算过程,用原码计算在11题的第(1)小题给出的两个定点小数的乘积。
3. 仿照计算机的计算过程,用原码计算在11题的第(1)小题给出的两个小数Y/X的商和正确的余数。 数据校验码,浮点数表示和计算
1. 海明校验码具有怎样的检错纠错能力?为实现对8位数据的海明校验,应安排几个校验位?设计这一海明校验码的编码逻辑表达式、译码逻辑表达式。 2. IEEE规定用哪三种字长的浮点数,用哪两编码分别表示浮点数阶码和尾数?这种表示 的优点何在?
3. 如何计算格式已定的浮点数的表示范围?怎样估算浮点数的表示精度? 4. 假定 X = 0.0110011*211, Y = 0.1101101*2-10 (此处的数均为二进制) ,
(1). 浮点数阶码用4位移码、尾数用8位原码表示(含符号位),写出该浮
点数能表示的绝对值最大、最小的(正数和负数)数值;(不使用隐藏位技术)
(2). 写出X、Y的正确的浮点数表示(注意,此处预设了个小陷阱); (3). 计算X + Y , (4). 计算X * Y 。 运算器部件
1. 解释定点运算器的功能和组成逻辑部件?以Am2901芯片为实例,来介绍定
点运算器的有关知识,你的认可程度如何?
2. 运算器内累加器数目的多少对计算机性能有什么影响?乘商寄存器的主要
功能是什么?它与运算器内的通用寄存器在使用方面的差异表现在哪里? 3. 以教学计算机为例,说明应如何控制与操作运算器完成指定的数据运算、传
送功能,为什么必须在Am2901芯片之外解决向运算器提供最低位的进位输入信号,最低、最高位的移位输入信号,以及状态位的接收与记忆问题。设计完成如下操作功能的操作步骤和必须提供的信号: 把100送入R0,R0的内容送入R1,完成R0-R1并存入R0,
R1的内容减1,R1的内容送入Q ,R1和Q与C联合右移一位。
第二部分:指令、指令系统和控制器部件
指令格式与寻址方式
1. 一条指令通常由哪两个部分组成?指令的操作码一般有那几种组织方式?
各自应用在什么场合?各自的优缺点是什么?
2. 什么是形式地址?简述对变址寻址、相对寻址、基地址寻址应在指令中给出
些什么信息?如何得到相应的实际(有效)地址?各自有什么样的主要用法?
3. 为读写输入/输出设备,通常有哪几种常用的方式用以指定被读写设备? 4. CISC(复杂指令系统计算机)和 RISC(精简指令系统计算机)计算机的指
令系统的区别表现在哪里?它们各自追求的主要目标是什么? 控制器组成
1. 简述计算机的控制器的功能和基本组成,微程序的控制器和组合逻辑的控制
器在组成和运行原理方面的相同、不同之处表现在哪里?
2. 微程序的下一条微指令地址通常有哪些来源?从微程序设计的角度,指出可
能需要支持哪些微程序执行流程结构?为此又应有什么样的硬件线路支持?你对芯片Am2910的内部组成和所提供的功能留有什么好的和不好的印象?
3. 节拍发生器的功能是什么?它属于那种类型的线路?确定节拍状态编码时
要注意些什么问题? 控制器设计
1. 在16位的教学计算机上有选择地扩展出如下几条指令,包括确定指令格式
和具体内容,指令执行步骤,每一步的操作功能和控制信号等,最后再在教学计算机上真正实现出来,调试正确并应用在程序中,要求不能破坏无关的通用寄存器的内容。
(1) ADC指令,即实现带进位加的运算
(2) CALR指令,子程序入口地址在一个寄存器中
(3) LDRX和STRX指令,即选用变址寻址方式实现内存读写操作的指令 2. 8位字长的教学计算机比起16位字长的教学计算机,在指令格式、可以使用
的累加器数目、指令执行步骤划分等方面差异表现在什么地方?为什么会是这样?
第三部分:多级结构的存储器系统
多级结构概述和内存储器部分
1. 在计算机中,为什么要采用多级结构的存储器系统?它的应用是建立在程序
的什么特性之上的? 何谓信息的一致性原则和包含性原则?
2. 比较DRAM和SRAM芯片存储信息的原理,主要特性和使用场合等方面的区别。
3. 在所用主存储器芯片已确定的情况下,还要进一步大幅度提高主存储器系统
的读写速度的办法是什么?低位地址的多体交叉是何含义?优点何在? 4. 假定需要把教学计算机的控制存储器也能变成贮存的一部分,希望能用监控
程序的E命令修改它的内容,应该怎样来实现,请设计出可行方案。 高速缓冲存储器部分
1. 高速缓冲存储器在计算机系统中的主要作用是什么,用什么类型的存储器芯片实现,为什么?高速缓存与主存在读写原理方面有何区别?
2. 高速缓冲存储器有哪3种主要的映像方式?从地址映射和抵制变换比较它们们各自的组成特点。
3. 说明影响高速缓存命中率的因素都有哪一些,并简单解释一下是如何影响的。 虚拟存储器部分
1. 是个什么概念。它的存储介质是什么,虚拟存储器要解决的是什么问题。 2. 虚拟存储器要求有什么硬件与软件支持,段式存储管理与页式存储管理的区
别表现在哪些方面,段式存储为什么会形成“碎块”。
3. 为什么要采用磁盘阵列技术?何为逻辑盘,何为物理盘?作为一个逻辑盘使
用的多个物理盘需要在转速和所用扇区等方面严格的同步吗?为什么?阵列盘中的RAID0,RAID1,RAID4和RAID5指的是什么类型的容错处理? 综合习题 Problem 1
某计算机的存储器系统配置如下所示:
存储器类型 Cache1 Cache2
容量 16KB
价格($/B)
10-3 10-5
访问时间 命中率 10ns 20ns
99% 99.99%
256KB
32MB 8GB
Main Memory Disk Memory
10-6 10
-9
100ns 99.9999% 10ms
100%
(a). 求该计算机存储器系统的平均访问时间和平均访问价格;
(b). 如果由于成本原因,去掉二级缓存,则平均访问时间和平均价格又是多少?
Problem 2
The diagram above illustrates a blocked, direct-mapped cache for a computer that uses 32-bit data words and 32-bit byte addresses.
A. What is the maximum number words of data from main memory that can be stored in the cache at any one time?
B. How many bits of the address are used to select which line of the cache is accessed?
C. How many bits wide is the tag field?
D. Briefly explain the purpose of the one-bit V field associated with each cache line.
E. Assume that memory location 0x2045C was present in the cache. Using the row and column labels from the figure, in what cache location(s) could we find the data from that memory location? What would the value(s) of the tag field(s) have to be for the cache row (s) in which the data appears?
F. Can data from locations 0x12368 and 0x322FF8 be present in the cache