计算机系统结构解析.docx
《计算机系统结构解析.docx》由会员分享,可在线阅读,更多相关《计算机系统结构解析.docx(18页珍藏版)》请在冰豆网上搜索。
计算机系统结构解析
选择&填空
1.关于计算机系统结构下列描述不正确的是(B)
A.计算机系统结构是指程序设计者所看到的计算机系统属性。
B.同一计算机系统对于所有的计算机程序设计者来说系统结构是相同的。
C.计算机系统结构对不同层次的用户来说具有透明性。
D.计算机系统结构涉及到软硬件功能分配及其界面的确定。
2.下列属于SIMD的是(D)
A.标量处理机B.向量处理机C.计算机网络D.超标量处理机
3.关于数组多路通道,其设备所需求的实际最大流量应为(A)
A.所连接设备的字节传送速率之最大者。
B.所连接设备的字节传送速率之最小者。
C.所连接设备的字节传送速率之和。
D.所连接设备的字节传送速率之平均值。
4.下列不是堆栈型算法的是(D)
A.最有替换算法。
B.近期最少使用算法。
C.近期最久没有使用算法。
D.先进先出算法。
5.关于软件的兼容性下面说法不正确的事(C)
A.软件的兼容性是指一个软件可不经修改或只需少量修改便可以由一台机器移植到另一台机器上去运行。
B.实现软件兼容性的方法有系列机法,模拟和仿真,采用统一的高级语言。
C.系列机能够实现软件兼容,而兼容机不能实现软件兼容。
D.模拟是用软件方法实现兼容,而仿真则是通过软硬件结合的方法。
6.在下列Cache中不需要替换算法的是(B)
A.全相联CacheB.直接映射Cache
C.组相联CacheD.段相联Cache
7.关于超标量处理机,下列说法不正确的是(B)
A.一个基本时钟周期内能够同时发射多条指令。
B.只需增加少量硬件,通过各部分硬件的充分重叠工作来提高处理机性能。
C.重复设置多个操作部件同时工作来提高指令的执行速度。
D.超标量处理机利用空间的并行性来提高指令执行速度。
8.在基本输入输出方式中,数据不通过CPU的方式是(C)
A.程序控制方式B.中断方式
C.DMA方式D.都不通过CPU
9.计算机更新换代的标志主要是计算机的器件和系统结构的特点。
10.计算机系统指令系统的两种典型设计方案是复杂指令集系统CISC和精简指令集系统RISC。
11.一台计算机的浮点操作由软件实现,它占整个程序执行时间的20%,为使计算机的性能提高到原来的1.2倍,浮点操作改由硬件实现,浮点操作的加速比是6。
12.模拟是指由一台机器的指令系统解释另一台机器的指令系统,仿真是指由一台机器的微指令解释另一台机器的指令系统。
13.从计算机系统结构的发展和演变来看,早期的冯诺依曼计算机是以运算器为中心的系统结构,而近代的计算机是以存储器为中心的系统结构。
14.在指令取消技术中,向后转移不成功取消下一条指令,向前转移不成功是执行下条指令。
15.在先行控制技术中相关性可分为数据相关和控制相关。
16.在各功能段执行时间不同的流水线中,确定流水线最大吞吐率高低的因素是流水线中执行时间最长的功能段,有两种解决办法是将瓶颈功能段再次细分或采用多个瓶颈功能段并行工作。
17.向量处理机的关键问题是存储器系统能够满足运算部件带宽要求,采用的办法有存储器—存储器结构和寄存器—寄存器结构。
18.互联网由16个处理机采用单级Clube3连接,10号处理机与2号处理机连接。
判断题:
对应的知识点:
P164,138,239,131,93,329,349
1.尽管硬件的速度一般高于软件,但硬件实现的性能不一定优于软件。
2.地址码低位交叉在提高存储系统的访问速度的同时也增大了其容量。
3.字节多路通道是一种简单共享通道,适合连接低速或中速的外围设备。
有两种不同的工作方式,子节交叉方式和成组方式。
选择通道适合连接磁盘存储器等高速外围设备。
4.虚拟存储其用来提高容量,而Cache用来提高速度。
5.超标量处理机开发的是处理机内部的空间并行性。
分析题:
1.什么是软件的向上兼容和向下兼容?
哪一种兼容比较容易做到?
(P24)
向上兼容是指按某种档机器编制的程序,不加修改就能运行于比它高档的机器。
向下兼容是指按某种档机器编制的程序不加修改就能运行于比它低档的机器。
软件的向下兼容比较容易做到。
向前兼容是指按某个时期投入市场的某种型号机器编制的程序,不加修改就能运行于在它之前投入市场的机器;向后兼容是指按某个时期投入市场的某种型号机器编制的程序,不加修改就能运行于在它之后投入市场的机器。
向后兼容一定要做到。
2.简述Amdahl定律及其在系统结构设计中的应用。
(P9)
Amdahl定律表明系统中某一部件采用更快的执行方式后整个系统的性能提高与这种执行方式的使用频率或占用总执行时间的比例有关。
定义了由于采用特殊的方法所获得的加速比的大小:
3.简述先行控制技术的主要思想(P253)
先行控制技术的关键是缓冲技术个预处理技术,以及两者的结合。
通过对指令流和数据流的预处理和缓冲,能够尽量使指令分析器和指令执行部件独立地工作,并始终处于忙碌状态。
4.简述控制相关和数据相关及其避免方法(P263)
相关是指在一段程序的相近指令之间有某种关系,这种关系可能影响指令的重叠执行。
相关分为两大类,控制相关和数据相关。
控制相关是指由条件分支指令、转子程序指令、中断等引起的相关。
数据相关是指在本条指令执行的过程中,如果用到的指令、操作数、变址偏移量等正好是前面指令的执行结果,则必须等待前面指令执行完成,并把结果写到贮存或通用寄存器中之后,本条指令猜能开始执行,这种相关是数据相关。
解决数据相关的方法有两种:
推后分析法,设置专用路径
控制相关避免方法有:
软件”猜测法”,硬件”猜测法”,延迟转移技术,指令取消技术。
计算题:
1.Huffman编码,设计指令格式。
例题2.14(P127)
2.线性静态(动态)流水线时空图,实际吞吐率,加速比,效率。
3.非线性流水线禁止向量,冲突向量,调度流水线状态图,最佳调度策略,最小相等间隔,平均间隔拍数,各功能段连接图。
4.页式虚拟存储器按地址编址,最多128个用户,每个用户最多要用2048页,每页4K字节,主存容量为64M字节,快表按地址访问,共32个存储字,快表地址经散列变换得到,为减少散列冲突,快表分为两组,有两组独立的比较电路。
1>.写出用户虚地址和主存地址的格式,并标出各字段的长度。
2>.计算散列变换的输入和输出位数。
3>.每个相等比较电路的位数是多少?
4>.快表每个存储字的总长度、各字段的长度为多少?
5>.画出多用户虚地址换成实地址的逻辑示意图。
重点复习:
第一章基本概念
1.计算机系统结构定义:
由程序设计者所看到的的计算机系统的属性,即概念性结构和功能特性。
这里的程序设计者是指汇编语言、机器语言、编译系统、操作系统。
2.计算机系统结构主要研究软硬件功能分配和对软硬件界面的确定。
3.计算机系统由软件、硬件、固件共同组成。
它们在功能上是等同的,即硬件和软件在功能上是等效的,但在性能和价格上是不等效的。
4.计算机组成与实现的区别:
系统结构是计算机系统的软硬件界面;计算机组成是计算机系统结构的逻辑实现(包括机器内部的数据流和控制流的组成以及逻辑设计等);计算机实现是计算机组成的物理实现(包括处理机、主存等部件的物理结构等)。
5.透明性概念:
在计算机技术中一种本是存在的事物或属性,但从某种角度看似乎是不存在的。
6.计算机系统结构分类方法:
Flynn分类法,冯氏分类法,Handler分类法
1>.Flynn分类法:
4种SISD:
单指令流单数据流(传统的顺序处理机)SIMD:
单指令流多数据流(阵列处理机或并行处理机)MISD:
多指令流单数据流(可代表任何计算机)MIMD:
多指令流多数据流(多处理机)
2>.冯氏分类法:
4种WSBS:
字串位串WPBS:
字并位串WSBP:
字串位并WPBP:
……
7.计算机系统设计技术:
1>.加快经常性事件的速度。
2>.Amdahl定律
3>.CPU性能公式
4>.访问的局部性原理:
程序往往反复使用它刚刚使用过的数据和指令。
8.计算机系统设计者的主要任务:
1>.确定用户对计算机系统的功能、价格和性能要求。
2>.软硬件的平衡
3>.设计出符合今后发展方向的系统结构。
9.计算机系统结构设计方法:
1>.由下往上设计:
根据硬件条件设计(专用计算机,早期计算机)
2>.由上往下设计:
容易使软件和硬件脱节,整体效率较低。
3>.由中间开始设计:
适用于系列机,从某两级的界面开始(传统机器级与操作系统机器级)
10.系统结构的评价标准:
性能和指标(P15)
CPU性能取决于三个要素(CPU时间=IC*CPI*时钟周期)
性能主要标准:
MIPS,MFLOPS,基准测试程序,综合基准测试程序。
11.软件对计算机系统结构的影响:
解决软件的可移植性问题的方法:
1>.采用系列机:
指在一个厂家内生产的具有相同的系统结构,但具有不同的组成和实现的一系列不同型号的机器。
2>.采用模拟与仿真方法:
模拟是指用软件方法在一台机器上实现另一台机器的指令系统,模拟程序放在主存中;仿真则是指用硬件、软件、固件混合的方法实现,仿真微程序在控存中。
3>.采用统一的高级语言方法:
可以解决结构相同或者完全不同的机器上的软件移植。
习题:
P33:
1.121.171.191.21
第二章
1.浮点数的表示方法、性质、运算规则(P38)
1>.浮点数表示方式主要研究的内容是:
数据字长与这种数据表示方式的表数范围、表数精度和表数效率之间的关系。
目的是:
用尽量短的字长实现尽可能大的表数范围和尽可能高的表数精度。
主要研究对象:
尾数基值rm,阶码字长q,尾数字长p。
2>.浮点数的表数范围:
两个数值:
m:
尾数的值,包括尾数的数制(小数或整数)和码制(原码或补码)
e:
阶码的值,整数,一般采用移码(补码的符号位取反)
两个基值:
rm:
尾数基值,2、4、8、16和10进制等
re:
阶码的基值,通常为2进制
两个字长:
p:
尾数长度,当rm=16时,每4个二进制位表示一位
q:
阶码长度,阶码部分的二进制位数
p和q均不包括符号位
二进制数的字长:
L=p+q+1+1(1,1分别为尾数和阶码的符号位)
尾数为原码、小数,阶码用移码、整数时,规格化浮点数N的表数范围:
尾数为补码、小数,阶码用移码、整数是:
正区间相同。
浮点数阶码的字长q每增加一位,所能表示的阶码最大值就大一倍,当尾数的基值从2增加到时,所能表示的阶码最大值就增加倍。
3>.表数精度:
又称表数误差,误差产生的直接原因有两个:
(1)两个浮点数都在浮点集内,而运算结果却可能不在这个浮点集内
(2)数据从十进制转化为2、4、8、16进制,产生误差。
(3)绝对误差:
δ=|M-N|相对误差:
δ=|(M-N)/N|(M:
近似值N:
真实值)
表数精度:
(4)总结:
当浮点数的尾数长度相同时,尾数的基值取2具有最高的表数精度。
4>.表数效率:
rm=2最低
(1)定义:
简化表示:
提高的倍数:
T=η(rm)/η(rm)
5>.结论:
在浮点数的字长确定之后,尾数基值取2或4具有最大的表数范围和最高的表数精度。
采用隐藏位表数方法(rm=2时,规格化尾数的最高位一定为1,若尾数采用补码形式,则尾数的最高位一定与尾数的符号位相反,所以最高位不表示出来,只在计算是恢复隐藏位,或用某种方法对计算结果进行修正)
2.浮点数的设计方法
3.浮点数的舍入方法和警戒位位数的设置
1>.舍入方法的性能标准:
本身的误差小,积累的误差小,容易实现
2>.恒舍法:
又称截断法,无论多余的尾数是什么都全部舍掉。
实现容易误差大。
恒置法:
无论多余的尾数是多少,把p的最低位恒置为r/2(rm=16时—>8)。
表数精度比较低,实现比较容易,积累误差比较小,正负区误差平衡。
上舍下入法:
以多出来的g位代码中间值为准,大于则入,小于则舍。
精度高,积累误差小,正负区误差完全平衡,实现比较困难。
R*舍入法:
没有积累误差,精度非常高,实现非常困难。
查表法:
主要通过修改ROM或PLA中的内容使积累误差达到平衡。
3>.警戒位的设置:
不需要增加浮点数的长度,只须要增加一个累加器的长度,而其他数据寄存器和存储器的长度,运算器的长度等都不用增加。
用处:
用于左规格化时移入尾数的有效字长内;用于舍入。
来源:
做加减法时因对阶而从有效字长内移出去的部分;做乘法时双倍字长乘积的低字长部分;做除法时因没有除尽而多上商的几位;右规格化时移出有效字长的那部分;从十进制转换成二进制,尾数超出有效字长的那部分。
4.自定义数据表示方法的原理:
5.指令格式的优化设计(Huffman编码,操作码扩展编码等)
6.RISC思想:
(只保留功能简单的指令,功能较复杂的指令由子程序来实现)
减少指令平均执行周期数是RISC思想的精华
1>.大多数指令在单周期内完成。
2>.采用LOAD/STORE结构。
3>.硬布线控制逻辑。
4>.减少指令和寻址方式的种类
5>.固定的指令格式
6>.注重译码优化。
7.RISC关键技术
1>.延时转移技术:
在转移指令后插入一条不相关的有效指令,而转移指令被延时,从而使指令流水线不断流。
限制条件:
一定不能改变原来程序的数据相关关系;被移动的指令不要破坏机器的条件码,至少不要影响后面的条件码测试指令所要求的条件码。
2>.指令取消技术:
向后转移(循环程序)在转移成功时执行下条指令,否则取消下条指令;向前转移(IFTHEN)在转移成功时取消下条指令,否则执行下条指令。
3>.重叠寄存器窗口技术:
每个过程使用的相邻的几个窗口中,有一个窗口与前一个过程共用,有一个窗口与后一个过程共用。
4>.指令流调整技术:
调整指令序列消除数据相关,提高流水线的工作效率。
5>.硬件为主固件为辅
习题:
P127:
2.132.142.192.20
第三章
1.半导体存储器工作原理及主存储器构成方法
2.存储系统的定义及主要性能计算。
1>.定义:
两个或两个以上速度、容量和价格各不相同的存储器用硬件、软件、或软件与硬件相结合的方法连接起来成为一个存储系统。
这个系统对应用程序员透明,并且,从应用程序员看,它是一个存储器,这个存储器的速度接近速度最快的那个存储器,存储容量与容量最大的那个存储器相等,单位容量的价格接近最便宜的那个存储器。
2>.在一般计算机系统中,主要有两种存储系统:
Cache存储系统:
由Cache和主存储器构成主要目的:
提高存储器速度
虚拟存储系统:
由主存储器和磁盘存储器构成主要目的:
扩大存储器容量
3>.访问周期T,命中率H,访问效率e,预处理技术(提高命中率).
4>.提高存储系统速度的方法:
提高命中率,减小两存储器之间的速度差。
5>.解决存储器频带平衡的方法:
多个存储器并行工作,设置各种缓冲存储器,采用存储系统。
3.并行存储器的工作原理。
P136
1>.高位交叉访问存储器:
A=m*k+j(纵向)扩大存储器容量
2>.低位交叉访问存储器:
A=n*j+k(横向)提高存储器访问速度
低位交叉能有效解决访问冲突问题。
访问冲突的原因:
数据的随机性(影响大),程序中有转移指令。
解决办法:
同一列中的相邻元素要错开两个存储体存放,同一行中的各个元素仍然要按顺序存放在该行中,但要按5取模。
(会浪费存储体)
4.虚拟存储系统的工作原理。
1>.虚拟存储器:
由主存储器和联机工作的外部存储器共同组成。
2>.工作原理:
一个用户程序访问虚拟存储器时,必须给出多用户虚拟地址Av,在操作系统和有关硬件的共同管理下,首先进行内部地址变换。
如果命中,则得到主存实页号p,而多用户虚拟地址中的页内偏移量D可直接作为主存实地址中的页内偏移量d,这样就可以得道主存实地址A。
如果没有命中,就要进行外部地址变换将在磁盘存储器中的数据所在的实页调入主存或者运用某种算法替换原在主存中的某一页。
3>.地址映像:
把虚拟地址空间映像到主存地址空间
地址变换:
在程序被装入住存储器之后,在实际运行时,把多用户虚地址变换成主存实地址或磁盘存储器地址。
4>.类型:
页式虚拟存储器,段式虚拟存储器,段页式虚拟存储器。
5>.段式虚拟存储器:
(段表基本字段:
段号,段长,起始地址)
地址映象方法:
每个程序段都从0地址开始编址,长度可长可短,可以在程序执行过程中动态改变程序段的长度。
地址变换方法:
由用户号找到基址寄存器
从基址寄存器中读出段表的起始地址
把起始地址与多用户虚地址中段号相加得到段表地址
把段表中的起始地址与段内偏移D相加就能得到主存实地址。
优点:
程序的模块化性能好,便于程序和数据的共享,程序的动态链接和调度比较容易,便于实现信息保护。
缺点:
地址变换所花费的时间比较长,做两次加法运算,主存储器的利用率往往比较低,对辅存(磁盘存储器)的管理比较困难。
6>.页式虚拟存储器:
把虚拟地址空间划分为一个个固定大小的块,每块称为一页(虚页),把主存储器的地址空间也分为同样大小的页,称为实页。
只需要进行虚页到实页的映射
用户号找到基址寄存器,从中读出页表的起始地址,将其与圩堤之中的虚页号相加的到页表地址,将该地址所对应的主存页号与虚地址中的偏移量直接连接起来即可得到主存实地址A。
优点:
主存储器的利用率比较高,页表相对比较简单,地址变换的速度比较快,对磁盘的管理比较容易
缺点:
程序的模块化性能不好页表很长,需要占用很大的存储空间
7>.段页式虚拟存储器:
用户按照段来编写程序,每个段分为几个固定大小的页
地址映像方法:
每个程序段在段表占一行,段表给出该程序段的页表长度和页表起始地址,页表给出这个程序段的每一页对应在主存中的实页号
地址变换方法:
先查段表,得到该程序段的页表起始地址和页表长度,
再查页表找到要访问的主存实页号,
最后把实页号p与页内偏移d拼接得到主存的实地址。
5.虚拟存储器中加快地址变换的方法。
1>.虚拟存储器速度降低的原因:
访问主存储器必须先查段表或页表,可能要采用多级页表。
2>.目录表:
思想:
用一个小容量的高速存储器来存放页表
地址变换过程:
把多用户虚地址中U与P拼接,相联访问目录表。
读出主存实页号p,把p与多用户虚地址中的D拼接得到主存实地址。
如果相联访问失败,发出页面失效请求。
优点:
比存放在主存中查找速度快。
缺点:
可扩展性差。
3>.快慢表:
快表:
采用高速硬件实现,相联方式访问。
慢表:
当快表中查不到是,在主存中去查找慢表,用软件实现,按地址方式访问。
4>.散列函数:
目的:
将相联访问方式变为按地址访问方式,扩展快表容量。
6.虚拟存储系统的页面替换算法。
1>.RAND随机算法:
利用随机数确定被替换的页面。
易于实现,命中率低。
2>.FIFO先进先出算法:
易于实现,利用历史信息,但没有反映程序的局部性。
3>.LFU近期最少使用算法:
既充分利用了历史信息,又反映了程序的局部性,实现起来非常困难。
4>.LRU最久没有使用算法:
把LRU算法中的“多”与“少”简化成“有”与“无”,实现比较容易。
5>.OPT最优替换算法:
是一种理想算法,仅用作评价其它页面替换算法好坏的标准,在虚拟存储器中,实际上可能采用的只有FIFO和LRU两种算法。
7.Cache存储系统的地址映象及变换方法。
P174
1>.全相联映像及其变换:
主存中的任意一块都可以映象到
Cache中的任意一块。
用硬件实现非常复杂,在虚拟存储器中,全部用,软件实现
2>.直接映射及其地址变换:
主存中一块只能映象到Cache的一个特定的块中。
3>.组相联映像及其变换:
主存和Cache按同样大小划分成块,还按同样大小划分成组。
从主存的组到Cache的组之间采用直接映象方式。
在两个对应的组内部采用全相联映象方式。
地址变换过程:
用主存地址中的组号G按地址访问块表存储器。
把读出来的一组区号和块号与主存地址中的区号和块号进行相联比较。
如果有相等的,表示Cache命中。
如果没有相等的,表示Cache没有命中。
把块表存储器中一个相联比较的组按块方向展开存放。
用多个相等比较器来代替相联访问,加块查表的速度。
4>.位选择组相联映像及其变换
5>.段相联映像及其变换
8.Cache存储系统的块替换算法。
1>.轮换法:
被装入或被替换的块,它所属的计数器被清“0”,同组其他块的计数器的值加“1”,替换时替换计数器值最大的块。
2>.LRU算法:
被装入或被替换的块对应的计数器清“0”,同组其他的计数器加“1”,命中的块计数器清“0”,同组其他的计数器中凡是计数器值小于命中块原来的值的都加“1”,其余不变。
替换时选择同组计数器值最大的替换掉
3>.比较对法:
4>.堆栈法:
优点:
块失效率比较低,因为它采用了LRU算法。
硬件实现相对比较简单;缺点:
速度比较低,因为它需要进行相联比较。
习题:
P2053.23.73.123.143.20//3.21
第四章
1.三种基本输入输出方式的工作原理
1>.特点:
异步性,实时性,与设备无关性。
2>.基本输入输出方式:
程序控制方式输入输出方式,中断输入输出方式,直接存储器访问方式。
3>.程序控制方式:
特点:
(1)何时对何设备进行输入或输出操作完全受CPU控制
(2)CPU要通过指令对设备进行测试才能知道设备的工作状态设备空闲、准备就绪、正在忙碌等
(3)数据的输入和输出都要经过CPU
(4)用于连接低速外围设备,如终端、打印机等
优点:
灵活性很好可以很容易地改变各台外围设备的优先级
缺点:
实现处理机与外围设备并行工作困难
处理机的工作周期全部被I/O占用
4>.中断方式:
特点:
CPU与外围设备能够并行工作,能够处理例外事件例如,电源掉电、非法指令、地址越界、数据溢出、数据校验错、页面失效等
数据的输入和输出都要经过CPU,灵活性好,用于连接低速外围设备
5>.直接存储器访问方式
外围设备访问请求直接发往主存储器
不需要CPU做保存现场和恢复现场等工作
在DMA控制器中,需要设置数据寄存器、设备状态或控制寄存器、主存地址寄存器、设备地址寄存器和数据交换个数计数器
在DMA方式开始和结束时,需要处理机进行管理
在DMA方式中,数据的传送过程不需要CPU的干预
2.通道中的数据传送过程及流量分析
1>.字节多路通道:
实际流量是连接在这个通道上的所有设备的数据流量之和。
2>.选择多路通道和数组多路通道:
实际流量是连接在这个设备上的所有设备中数据流量最大的那一个。
习题:
P2514.74.9
第五章(都是重点)
习题:
P3425.85.95.115.125.15
第六章
1.向量的表示方法
2.向量运算中的数据相关
3.向量链接技术与递归技术
习题:
P3916.66.8