计算机组成原理与系统结构复习.docx
《计算机组成原理与系统结构复习.docx》由会员分享,可在线阅读,更多相关《计算机组成原理与系统结构复习.docx(31页珍藏版)》请在冰点文库上搜索。
![计算机组成原理与系统结构复习.docx](https://file1.bingdoc.com/fileroot1/2023-7/7/fb2a3a3b-f2fc-48c2-a944-3b814b91e246/fb2a3a3b-f2fc-48c2-a944-3b814b91e2461.gif)
计算机组成原理与系统结构复习
计算机组成原理及系统结构复习
考题类型
1.选择(20分)
2.填空(30分)
3.简答(20分)
4.分析(10分)
6.设计(20分)
例题
1.CRT的分辨率为1024×1024像素,像素的颜色数为256,则刷新存储器的容量为( B)。
A 512KB B 1MB C 256KB D 2MB
2.在计算机术语中,将ALU、控制器和( 运算器)存储器合在一起称为( 主机)。
3反映主存速度指标的三个术语是存取时间、(存储周期 )和( 存储器带宽)。
4形成指令地址的方法称为指令寻址,通常是( 顺序)寻址,遇到转移指令时(跳跃 )寻址。
5.集中式总线仲裁方式有:
链式查询方式、计数器定时查询方式、独立请求方式。
其中,优先级固定的是(链式查询方式)
6.对活动头磁盘组,磁盘地址包括(记录面号)、(磁道号)、(扇区号)
7.利用串行方式传送字符,每秒钟传送的比特(bit)位数常称为波特率。
假设数据传送速率是120个字符/秒,每一个字符格式规定包含10个比特位(起始位、停止位、8个数据位),则传送的波特率是(1200波特),每个比特位占用的时间是(0.833ms)
8.计算机系统的层次结构从下至上可分为五级,即微程序设计级(或逻辑电路级)、一般机器级、操作系统级、(汇编语言 )级、( 高级语言)级。
9.按IEEE754标准,一个32位浮点数由符号位S(1位)、阶码E(8位)、尾数M(23位)三个域组成。
其中阶码E的值等于指数的真值( e)加上一个固定的偏移值(127 )。
10.一个较完善的指令系统,应当有数据传送、算术运算、( 逻辑运算)、( 控制传送)四大类指令。
知识点:
第1章计算机系统概论(常识、应得分)
(一)计算机发展历程
一.计算机的五代变化
第一代为1946—1957年,电子管计算机:
数据处理
第二代为1958—1964年,晶体管计算机:
工业控制
第三代为1965—1971年,中小规模集成电路计算机:
小型计算机
第四代为1972—1990年,大规模和超大规模集成电路计算机:
微型计算机
第五代为1991年开始,巨大规模集成电路计算机:
单片机
(二)计算机系统层次结构
1、计算机硬件的基本组成
运算器,控制器,存储器,输入设备,输出设备
2、计算机软件的分类
系统软件及应用程序软件
3、计算机的工作过程
通过输入设备(键盘或鼠标等)输入用户的操作命令或数据,计算机的处理单元(微处理器)接受到输入命令后,进行处理并将结果在计算机的输出设备(显示器或打印机等)上输出,也可以将结果保存在计算机的存储器(硬盘或软盘)上。
4.计算机层次结构
一,微程序设计
二,机器语言级
三,操作系统级
四,汇编语言级
五,高级语言级
(三)计算机性能指标
吞吐量:
表征一台计算机在某一时间间隔内能够处理的信息量。
响应时间:
表征从输入有效到系统产生响应之间的时间度量,用时间单位来度量。
主频:
CPU的工作节拍受主时钟控制,主时钟不断产生固定频率的时钟,主时钟的频率叫CPU的主频。
CPU时钟周期:
主频的倒数
CPI:
表示每条指令周期数,即执行一条指令所需的平均时钟周期。
CPU执行时间:
表示CPU执行一段程序所占用的CPU时间。
CPU执行时间=CPU时钟周期数*CPU时钟周期长
MIPS:
每秒百万指令数,即单位时间内执行的指令数。
MIPS=指令条数/(程序执行时间*)
MFLOPS:
每秒百万次浮点操作次数,用来衡量机器浮点操作的性能。
MFLOPS=程序中的浮点操作次数/(程序执行时间*)
(四)定量定理
1.冯·诺依曼结构及思想
冯·诺依曼计算机中指令和数据均以二进制形式存放在存储器中,CPU区分它们的依据是。
控制器完全可以区分开哪些是指令字,哪些是数据字。
一般来讲,取指周期中从内存读出的信息流是指令流,它流向控制器;而在执行器周期中从内存读出的信息流是数据流,它由内存流向运算器。
2.计算机系统设计的定量原理
程序局部性分(时间上局部性)和(空间上局部性)
Amdahl定律:
对系统中某一部件进行改进后,所能获得的整个系统性能的提高(程度),取决于该部件的执行时间占总执行时间的百分比。
CPU性能公式
CPU的性能取决于三个要素:
①时钟频率f(或时钟周期t);
②每条指令所花的时钟周期数CPI;
③指令条数IC
一个程序所花的CPU时间(T)可以用两种方式来表示:
每条指令的平均时钟周期数:
3.软件及硬件逻辑等价性
任何操作(或功能)可以由软件来实现也可以有硬件来实现
4.系列机的概念
由同一厂家生产的具有相同系统结构、但具有不同组成和实现的一系列不同型号的计算机
5.计算机系统的层次结构从下至上可分为五级,即微程序设计级(或逻辑电路级)、一般机器级、操作系统级、汇编语言级、高级语音级。
6.计算机飞速发展、性能不断提高得益于(计算机制造技术的发展)和(计算机系统结构的创新)
7.汉字的表示方法
输入码,汉字内码,汉字字模码
8.计算机系统结构、计算机组成和实现的关系
计算机组织是计算机结构的逻辑实现;而计算机实现是计算机组织的物理实现。
一种结构可有多种组织实现;一种组织也可有多种物理实现。
9.计算机系统的概念(软件、硬件)
计算机的硬件是由有形的电子器件等构成的,包括运算器、存储器、控制器、适配器、输入\输出设备。
计算机的软件是计算机系统结构的重要组成部分,也是计算机不同于一般电子设备的本质所在。
计算机软件一般分为系统程序和应用程序两大类。
第2章运算方法和运算器(考点很多、需谨慎)
(一)数制及编码
1、进位计数制及其相互转换
2、真值:
一般书写的数
机器码:
机器中表示的数,要解决在计算机内部数的正、负符号和小数点运算问题。
原码机器中有“+0”、“-0”之分。
3、BCD码
压缩十进制数串形式(P21)
4、字符及字符串
字符表示方法ASCII:
用一个字节来表示,低7位用来编码(128),最高位为校验位,参见教材P26表2.2
5、校验码
是在有效信息中加入一些冗余信息(校验位)
(二)定点数的表示和运算
1、定点数的表示(P18)
无符号数的表示;有符号数的表示。
2、定点数的运算(P29)
定点数的位移运算;原码定点数的加/减运算;
补码定点数的加/减运算;定点数的乘/除运算;溢出概念和判别方法。
(三)浮点数的表示和运算
1、浮点数的表示
浮点数的表示范围;IEEE754标准。
IEEE754标准:
基数R=2,基数固定,采用隐含方式来表示它。
32位的浮点数:
S数的符号位,1位,在最高位,“0”表示正数,“1”表示负数。
M是尾数,23位,在低位部分,采用纯小数表示
E是阶码,8位,采用移码表示。
移码比较大小方便。
规格化:
若不对浮点数的表示作出明确规定,同一个浮点数的表示就不是惟一的。
尾数域最左位(最高有效位)总是1,故这一位经常不予存储,而认为隐藏在小数点的左边。
采用这种方式时,将浮点数的指数真值e变成阶码E时,应将指数e加上一个固定的偏移值127(01111111),即E=e+127。
例1若浮点数x的754标准存储格式为(41360000)16,求其浮点数的十进制数值。
解:
将16进制数展开后,可得二制数格式为
01000001001101100000000000000000
S阶码(8位)尾数(23位)
指数e=阶码-127=10000010-01111111=00000011=(3)10
包括隐藏位1的尾数
1.M=1.01101100000000000000000=1.011011
于是有x=(-1)S×1.M×2e=+(1.011011)×23=+1011.011=(11.375)10
例2将数(20.59375)10转换成754标准的32位浮点数的二进制存储格式。
解:
首先分别将整数和分数部分转换成二进制数:
20.59375=10100.10011
然后移动小数点,使其在第1,2位之间
10100.10011=1.010010011×24
e=4于是得到:
S=0,E=4+127=131,M=010010011
最后得到32位浮点数的二进制存储格式为:
01000001101001001100000000000000=(41A4C000)16
2、浮点数的加/减运算(P53)
(四)算法逻辑单元ALU
1、串行加法器和并行加法器
2、算法逻辑单元ALU的功能和机构
1.定点数表示(数制转换、BCD、字符串、校验等)
分类及运算、溢出概念和判别
2.机器数表示及特点
在机器数中,零的表示形式是唯一的,范围等。
3.按IEEE754标准,一个32位浮点数由符号位S(1位)、阶码E(8位)、尾数M(23位)三个域组成。
其中阶码E的值等于指数的真值加上一个固定的偏移值(127 )。
格式比较大小。
4.设机器字长16位,定点表示,尾数15位,数符1位,问:
(1)定点原码整数表示时,最大正数是多少?
最小负数是多少?
(2)定点原码小数表示时,最大正数是多少?
最小负数是多少?
(1)定点原码整数表示
最大正数值=(215-1)10=(+32767)10
最小负数值=-(215-1)10=(-32767)10
(2)定点原码小数表示
最大正数值=(1-2-15)10=(+0.111...11)2
最小负数值=-(1-2-15)10=(-0.111..11)2
5.浮点数运算(定点数运算)
运算过程
6.运算器设计(掌握ALU的功能及结构)
第3章内部存储器(重点、考点、易得分)
(一)存储器的分类
按存储介质分类:
磁表面/半导体存储器
按存取方式分类:
随机/顺序存取(磁带)
按读写功能分类:
ROM,RAM
RAM:
双极型/MOS
ROM:
MROM/PROM/EPROM/EEPROM
按信息的可保存性分类:
永久性和非永久性的
按存储器系统中的作用分类:
主/辅/缓/控
(二)存储器的层次化结构
高速缓冲存储器简称cache,它是计算机系统中的一个高速小容量半导体存储器。
主存储器简称主存,是计算机系统的主要存储器,用来存放计算机运行期间的大量程序和数据。
外存储器简称外存,它是大容量辅助存储器。
(三)半导体随机存取存储器
1、SRAM存储器的工作原理(P68)
2、DRAM存储器的工作原理(P71)
(四)只读存储器
它工作时只能读出,不能写入。
其中存储的原始数据,必须在它工作以前写入。
只读存储器由于工作可靠,保密性强,在计算机系统中得到广泛的应用。
(五)主存储器及CPU的连接
(六)双口RAM和多模块存储器
(七)高速缓冲存储器(Cache)
1、程序访问的局部性
从CPU来看,增加一个cache的目的,就是在性能上使主存的平均读出时间尽可能接近cache的读出时间。
为了达到这个目的,在所有的存储器访问中由cache满足CPU需要的部分应占很高的比例,即cache的命中率应接近于1。
2、Cache的基本工作原理
CPU及Cache之间的数据传送是以字为单位
主存及Cache之间的数据传送是以块为单位
CPU读主存时,便把地址同时送给Cache和主存,Cache控制逻辑依据地址判断此字是否在Cache中,若在此字立即传送给CPU,否则,则用主存读周期把此字从主存读出送到CPU,及此同时,把含有这个字的整个数据块从主存读出送到cache中(一般可“猝发”式读)。
cache是介于CPU和主存M2之间的小容量存储器,但存取速度比主存快。
主存容量配置几百MB的情况下,cache的典型值是几百KB。
cache能高速地向CPU提供指令和数据,从而加快了程序的执行速度。
从功能上看,它是主存的缓冲存储器,由高速的SRAM组成。
为追求高速,包括管理在内的全部功能由硬件实现,因而对程序员是透明的。
Cache的设计依据:
CPU这次访问过的数据,下次有很大的可能也是访问附近的数据。
3、Cache和主存之间的映射方式
(1)全相联映射
全相联:
主存中的任一块可以被放置到Cache中的任意一个位置。
对比:
阅览室位置──随便坐
特点:
空间利用率最高,冲突概率最低,实现最复杂。
(需要一个访问速度很快、价格很高的相联存储器及多个比较器)
应用场合:
适用于小容量的Cache
(2)直接映射
直接映象:
主存中的每一块只能被放置到Cache中唯一的一个位置。
对比:
阅览室位置──只有一个位置可以坐
特点:
空间利用率最低,冲突概率最高,(抖动);实现最简单。
应用场合:
适合大容量Cache对于主存的第i块,若它映象到Cache的第j块,则j=imod(M)(M为Cache的块数)设M=2m,则当表示为二进制数时,j实际上就是i的低m位:
(3)组相联映射
组相联:
主存中的每一块可以被放置到Cache中唯一的一个组中的任何一个位置。
举例
组相联是直接映射和全相联映射的一种折中
Cache分组,“内存中的块到Cache组”采用直接映射方式,组内采用全相联的映射方式
4、Cache中主存块的替换算法
(1)随机法
优点:
实现简单,缺点:
命中率低
(2)先进先出法(FIFO)优点:
实现简单,缺点:
受限
(3)最近最少使用法LRU
LFU(leastfrequentlyused最不经常使用):
被访问的行计数器增加1,替换值小的行,不能反映近期cache的访问情况,
LRU(leastrecentlyused近期最少使用):
被访问的行计数器置0,其他的计数器增加1,替换值大的行,符合cache的工作原理。
5、Cache写策略
“写”访问有可能导致Cache和主存内容的不一致
两种写策略
写策略是区分不同Cache设计方案的一个重要标志。
写直达法(全写法)
执行“写”操作时,不仅写入Cache,而且也写入下一级存储器。
写回法(也称为拷回法)
执行“写”操作时,只写入Cache。
仅当Cache中相应的块被替换时,才写回主存。
(设置“修改位”)
(八)虚拟存储器(略)
1、虚拟存储器的基本概念
2、页式虚拟存储器
3、段式虚拟存储器
4、段页式虚拟存储器
5、TLB(快表)
1.存储器分类
不同存储器间的比较,SRAM及DRAM的结构及工作原理。
1.存贮器扩展,寻址范围。
2.双端口存储器及应用。
3.存储层次(重点“四个问题”)
(1)“Cache-主存”和“主存-辅存”层次
“Cache-主存”层次:
弥补主存速度的不足
“主存-辅存”层次:
弥补主存容量的不足
(2)四个问题
1)当把一个块(页)调入高一层(靠近CPU)存储器时,可以放在哪些位置上?
(映射规则)
2)当所要访问的块(页)在高一层存储器中时,如何找到该块?
(查找算法)
3)当发生不命中时,应替换哪一块?
(替换算法)
4)当进行写访问时,应进行哪些操作?
(写策略)
A.主存及高速缓存的主要映射方式及其特点。
全相联:
主存中的任一块可以被放置到Cache中的任意一个位置。
特点:
空间利用率最高,冲突概率最低,实现最复杂。
(需要一个访问速度很快、价格很高的相联存储器及多个比较器)
应用场合:
适用于小容量的Cache
直接映象:
主存中的每一块只能被放置到Cache中唯一的一个位置。
特点:
空间利用率最低,冲突概率最高,
(抖动);实现最简单。
应用场合:
适合大容量Cache
组相联:
主存中的每一块可以被放置到Cache中唯一的一个组中的任何一个位置
●n路组相联:
每组中有n个块(n=M/G)。
n称为相联度。
●绝大多数计算机的Cache:
n≤4
想一想:
相联度一定是越大越好?
在组相联和全相联Cache中,则有多个块供选择。
B.主要的替换算法有三种
(1)随机法
优点:
实现简单,缺点:
命中率低
(2)先进先出法(FIFO)优点:
实现简单,缺点:
受限
(3)最近最少使用法LRU
LRU(leastrecentlyused近期最少使用):
被访问的行计数器置0,其他的计数器增加1,替换值大的行,符合cache的工作原理
C.两种写策略
●写直达法(全写法)
●执行“写”操作时,不仅写入Cache,而且也写入下一级存储器。
●写回法(也称为拷回法)
●执行“写”操作时,只写入Cache。
仅当Cache中相应的块被替换时,才写回主存。
4.反映主存速度指标的三个术语是存取时间、(存储周期)和(存储器带宽)。
5.堆栈是一块按特定顺序进行数据存取的存储区,这种特定的顺序可以归结为:
“后进先出”(LIFO)或“先进后出”(FILO)
6.依据堆栈的生长方式可将堆栈划分为:
递增堆栈(ascendingstack),
递减堆栈(descendingstack)。
7.根据堆栈指针指向的数据位置的不同,可将堆栈划分为:
满堆栈(FullStack),
空堆栈(EmptyStack)。
堆栈的两种生长方式
堆栈指针指向的数据位置
满递增:
压栈操作,存储器地址增大(向上增长),SP指向存储有效数据的最高地址或者指向第一个要读出的数据的位置。
空递增:
压栈操作,存储器地址增大(向上增长),SP指向存储有效数据的最高地址的上一个空位置或者是指向将要读出的第一个数据位置的上一个空位置。
满递减:
压栈操作,存储器地址减小(向下增长),SP指向存储有效数据的最低地址或者是指向第一个要读出的数据的位置。
空递减:
压栈操作,存储器地址减小(向下增长),SP指向最后压入堆栈的数据的下一个空位置或者指向将要读出的第一个数据位置的下一个空位置。
8.在以字节为单位寻址的存储器中,“字存储”模式有:
有“小端”和“大端”两种方式存储字,这两种方式是根据最低有效字节及相邻较高有效字节相比是存放在较低的还是较高的地址来划分的,两种存储方式如图所示。
9.CPU执行一段程序时,cache完成存取的次数为1900次,主存完成存取的次数为100次,已知cache存取周期为50ns,主存存取周期为250ns,求cache/主存系统的效率和平均访问时间。
●h=Nc/(Nc+Nm)=1900/(1900+100)=0.95
●r=tm/tc=250ns/50ns=5
●e=1/(r+(1-r)h)=1/(5+(1-5)×0.95=83.3%
●ta=tc/e=50ns/0.833=60ns
10.设某机主存容量为4MB,Cache的容量为16KB。
每字块有8个字,每字32位。
设计一个四路组相
联映射的Cache组织。
(1)画出主存地址字段中各段的位数。
(2)说明主存中编号为128的块怎样映射到Cache中?
(设组号、块号从0开始编排)
(3)设Cache的初态为空,CPU依次从主存第0,1,2,…89号单元读出90个字(主存一次读出一个字),并重复此次序读8次,问命中率是多少?
(4)若Cache的速度是主存速度的6倍,试问有Cache和无Cache相比,速度提高多少倍?
(1)因为每字块有8个字,每字32位,所以每字块有32字节,得出w=5,因为Cache的容量为16KB=214B,所以Cache共有214/25=29块,(得出c=9),又因为是四路组相联映射,(得出r=2,因此d=9-2=7位),故29块Cache可化分为29/22=27组,故组号7位,根据主存容量为4MB=222B,得出主存字块标记为s-d=22-7-5=10位。
(2)因为Cache共有27组,每组含有4个字块,所以主存中编号为128的块映射到Cache中的组为i=128mod128=0(?
27),因此主存中编号为128的块可以映射到CacheL0行中的(C0、C1、C2、C3)4个块中的任何一块。
(3)由于每个字块有8个字,Cache的初态为空,因此CPU读0号单元时,未命中,必须访问主存,同时将该字所在的主存块调入到Cache第0行中的任一块内,接着CPU读1~7号单元时均命中。
同理,CPU读8,16,…,88号单元时均未命中。
可见CPU第一遍读90个字时,共有12次未命中,其余全命中,后7遍全命中。
命中率为:
(90×8-12)/720=0.983
(4)设Cache的存取周期为t,主存的存取周期为6t,没有Cache的访问时间为720×6t,有Cache的访问时间为(720-12)×t+12×6t,则有Cache和没有Cache相比,速度提高的倍数为:
(720×6t)/[(720-12)×t+12×6t]-1=5.54
11.存储器扩展
12.虚拟存储器(操作系统课解决)
虚拟地址和物理地址的转换问题,如何查段表和页表;TLB的原理和作用;平均访问时间的计算
第4章指令系统(常考点、易得分)
(一)指令格式
1、指令的基本格式
操作码和操作数地址码
2、定长操作码指令格式
让操作码的长度固定且集中的放在指令字的一个字段中。
3、扩展操作码指令格式
操作码的长度可变,且分散地放在不同的字段中。
(二)指令的寻址方式
1、有效地址的概念
有效地址EA是一16位无符号数,表示操作数所在单元到段首的距离即逻辑地址的偏移地址.
指令中地址码字段给出的地址A就是操作数的有效地址EA(EffectiveAddress),即EA=A。
2、数据寻址和指令寻址
形成操作数地址的方式,称为数据寻址方式。
形成指令地址的方式,称为指令寻址方式。
3、常见的寻址方式
1、隐含寻址:
指令中隐含着操作数的地址
2、立即寻址:
立即寻址是一种特殊的寻址方式,指令中在操作码字段后面的部分不是通常意义上的操作数地址,而是操作数本身,也就是说数据就包含在指令中,只要取出指令,就取出了可以立即使用的操作数,因此,这样的操作数被称为立即数。
3、直接寻址:
操作数地址是不能修改的,及程序本身所在的位置无关,所以又叫做绝对寻址方式
4、间接寻址:
间接寻址意味着指令的地址码部分给出的地址A不是操作数的地址,而是存放操作数地址的主存单元的地址,简称操作数地址的地址。
5、寄存器寻址:
在指令的地址码部分给出CPU内某一通用寄存器的编号,指令的操作数存放在相应的寄存器中。
6、寄存器间接寻址 :
为了克服间接寻址中多次访存的缺点,可采用寄存器间接寻址,即将操作数放在主存储器中,而操作数的地址放在某一通用寄存器中,然后在指令的地址码部分给出该通用寄存器的编号。
7、相对寻址:
由程序计数器PC提供基准地址,而指令的地址码部分给出相对的位移量D,两者相加后作为操作数的有效地址,即:
EA=(PC)+D。
8、基址寻址:
在基址寻址方式中,指令的地址码部分给出偏移量D,而基准地址放在基址寄存器Rb中,最后操作数的有效地址仍然是由基准地址A及偏移量D相加而成,即:
EA=(Rb)+D。
9、变址寻址:
变址寻址就是将指令的地址码部分给出的基准地址A及CPU内某特定的变址寄存器Rx中的内容相加,以形成操作数的有效地址,即:
EA=A+(Rx)。
10、段寻址方式:
这种寻址方式的实质还是基址寻址。
(三)CISC和RISC的基本概念
复杂指令系统计算机,简称CISC。