计算机体系结构复习提纲汇2.docx
《计算机体系结构复习提纲汇2.docx》由会员分享,可在线阅读,更多相关《计算机体系结构复习提纲汇2.docx(26页珍藏版)》请在冰豆网上搜索。
计算机体系结构复习提纲汇2
计算机系统结构考试复习提纲
(考试时间:
120分钟)
-.题目类型:
1.判断题(15道15分)
2.不定项选择题(20道,20分)
3.填空题(10道,20分)
4.简答题(2道,15分)
5.应用题(3道,30分)
二.考试总的大致范围:
1.计算机系统结构和计算机组成以及计算机实现三者的定义以及相互的关系如何?
定义一:
程序员所看到的计算机系统的属性。
即概念性结构和功能特性。
定义二:
计算机系统结构主要研究软硬件功能分配和对软硬件界面的确定。
计算机组成是指计算机系统结构的逻辑实现
计算机实现是指计算机组成的物理实现。
计算机系统结构、组成和实现三者互不相同,但又互相影响。
计算机系统结构、计算机组成和计算机实现是三个不同的概念,随着技术、器件和应用的发展,三者之间的界限越来越模糊
2.计算机系统结构和计算机组成以及计算机实现分别研究的范围是什么?
或者说他们的透明性情况。
1.指令系统-----系统结构
2.指令的实现,如取指令、指令操作码译码、计算操作数的地址、取数、运算、送结果等操作安排和排序-----组成
3.实现这些指令功能的具体电路、器件的设计及装配技术-----实现
1.确定指令系统中是否要设置乘法指令-----系统结构
2.乘法指令是用专门的高速乘法器实现还是靠用加法器和移位器经一串时序信号控制其相加和右移来实现等操作安排和排序-----组成
3.乘法器加法-移位器的物理实现-----实现
1.主存的容量与编址方式(按位、按字节还是按字访问)的确定属于-----系统结构
2.为了达到性能价格的要求,主存速度、逻辑结构是否采用多体交叉属于-----组成
主存器件的选定、逻辑设计、微组装技术的使用属于-----实现
1.机器/汇编指令系统、数据表示、是否采用通道方式输入输出的确定属于-----系统结构
2.指令采用顺序、重叠、流水还是其他方式解释;以及数据通路宽度的确定;以及通道采用结合型还是独立型的均属于-----
组成
3.系列机思想是什么?
具有相同的系统结构,不同组成和实现的一系列计算机系统。
在系统结构基本不变的基础上,根据不同性能的要求和当时的器件发展情况,设计出各种性能、价格不同的计算机系统。
一种系统结构可以有多种组成,一种组成可以有多种物理实现
4.软件兼容的种类,以及和它们的重要关系的比较。
向后,向前,向上,向下兼容
&向后兼容最重要,必须做到
&向上兼容尽量做到
&向前兼容和向下兼容,可以不考虑
✓向后兼容 在某一时间生产的机器上运行的目标软件能够直接运行于更晚生产的机器上。
✓向前兼容
✓向上兼容 在低档机器上运行的目标软件能够直接运行于高档机器上。
✓向下兼容
5.模拟与仿真的概念分别是什么?
在一台现有的计算机上实现另一台计算机的指令系统。
模拟:
全部用软件实现
仿真:
用硬件、固件或软件、硬件、固件混合实现
6.并行性概念以及包含含义和并行性开发的途径是什么?
并行性:
只要在同一时刻或是同一时间间隔内完成两种或两种以上的性质相同或不同的工作,它们在时间上能相互重叠,都体现了并行性。
所以并行性实际上包括了同时性和并发性。
同时性:
(Simultaneity)-指的是两个或多个事件在同一时刻发生。
并发性:
(Concurrency)-指的是两个或多个事件在同一时间间隔内发生。
开发途径:
1.时间重叠:
(TimeInterleaving)
在并行性概念中引入时间因素
让多个处理过程在时间上相互错开,轮流重叠地使用同一套硬件设备地各个部分,以加快硬件周转而赢得速度。
2.资源重复(ResourceReplication):
在并行性概念中引入空间因素
通过重复设置硬件资源来提高可靠性或性能。
双工系统就是利用资源重复,通过使用两台完全相同的计算机完成同样的任务来提高可靠性。
也可以用一个控制器控制,控制器每执行一条指令就可以同时让各个处理单元对各自分配的数据完成同一种运算或操作。
3.资源共享(ResourceSharing):
就是利用软件的方法,让多个用户按一定时间顺序轮流地使用同一套资源,以提高整个系统地性能。
7.弗林分类法中的数据流指的是什么?
多倍性指的是什么,以及具体的分类。
按照指令流和数据流的多倍性特征对计算机系统进行分类
指令流:
机器执行的指令序列
数据流:
由指令流调用的数据序列,包括输入数据和中间结果
多倍性(multiplicity):
在系统性能瓶颈部件上同时处于同一执行阶段的指令或数据的最大可能个数
四种类型
单指令流单数据流SISD(SingleInstructionSingleDatastream);单指令流多数据流SIMD(SingleInstructionMultipleDatastream);多指令流单数据流MISD(MultipleInstructionSingleDatastream);多指令流多数据流MIMS(MultipleInstructionMultipleDatastream)
8.库克分类法和冯泽云分类法的具体的所分类别是什么?
库克:
按指令流和执行流分类
四种类型
(1)单指令流单执行流SISE(SingleInstructionSingleExecutionstream);典型的单处理机
(2)单指令流多执行流SIME(SingleInstructionMultipleExecutionstream);多功能部件处理机、相联处理机、向量处理机、流水线处理机、超流水线处理机、超标量处理机、SIMD并行处理机
(3)多指令流单执行流MISE(MultipleInstructionSingleExecutionstream);多道程序系统
(4)多指令流多执行流MIME(MultipleInstructionMultipleExecutionstream);典型的多处理机
冯泽云:
用最大并行度来对计算机系统进行分类
(1)字串位串WSBS(WordSerialandBitSerial)
串行计算机;
(2)字并位串WPBS(WordParallelandBitSerial)
并行计算机、MPP、相联计算机;m=1,n>1;
(3)字串位并WSBP(WordSerialandBitParallel)
传统的单处理机;m>1,n=1;
(4)字并位并WPBP(WordParallelandBitParallel)
全并行计算机;m>1,n>1;
10.浮点数的一般形式以及在浮点数表示中,阶码的位数影响什么?
尾数的位数影响什么?
以及随着尾数基值选取进制的不同,而出现的几条规律。
尾数:
多数机器采用原码、小数表示。
采用原码制表示:
加减法比补码表示复杂,乘除法比补码简单,表示非常直观。
采用小数表示能简化运算,特别是乘除法运算。
阶码:
一般机器都采用整数、移码表示。
采用移码表示的主要原因是:
浮点0与机器0一致。
阶码进行加减运算时,移码的加减法运算要比补码复杂
浮点数的表示方式一般格式:
P39页
由阶码部分和尾数部分组成
阶码部分包含了阶符和阶值
阶码部分p+1位,阶值占p位,阶符占1位。
阶码的位数p将会影响到:
可表示数的范围大小。
尾数的尾数m将会影响到表示数的精度。
当p一定,m一定时,尾数采用什么进制也会影响到数的可表示范围。
当p,m一定时,随着rm的增大:
(1)可表示数的范围
(2)可表示数的个数。
(3)数在数轴上的分布。
(4)可表示的精度
(5)运算中的精度损失。
(6)运算速度
11.逻辑地址和物理地址的定义以及区别,
逻辑地址是程序员编程用的地址
主存物理地址是程序在主存中的实际地址
12.基址寻址法和动态再定位法指的是什么?
动态定位:
在程序执行过程中,当访问到相应的指令或数据时才进行地址变换,确定指令和数据的主存物理地址的称为动态定位方式。
基址寻址法:
增加相应的基址寄存器和地址加法器硬件。
在程序不作变换直接装入主存的同时,将装入主存的起始地址a存入对应该道程序使用的基址寄存器中,程序执行时,只要通过地址加法器将逻辑地址加上基址寄存器的程序基址形成物理(有效)地址后去访存即可。
13.信息在存贮器中按整数边界存贮的概念是什么?
按整数边界存储:
为了让任何时候所需的信息都只用一个存储周期访问到,就要求信息在主存中存放的首地址必须是该信息宽度(字节数)的整数倍。
否则,可能发生信息跨主存边界存放,此时应被认为地址有错,不予访问。
(XX)
14.哈夫曼压缩概念的基本思想是什么?
当各种事件发生的概率不均等时,采用优化技术,对发生概率最高的事件用最短的位数(时间)来表示(处理),而对出现概率较低的事件允许用较长的位数(时间)来表示(处理),就会使表示(处理)的平均位数(时间)缩短
15.定长二进制编码和全哈夫曼编码以及扩展操作码编码三者的区别和比较。
Huffman操作码的主要缺点:
操作码长度很不规整,硬件译码困难
与地址码共同组成固定长的指令比较困难
扩展编码法:
由固定长操作码与Huffman编码法相结合形成
16.所谓的重叠寄存器窗口技术指的什么?
原因:
RISC中,子程序比CISC中多因传送参数而访问存储器的信息量很大;美国加洲大学伯克利分校的F.Baskett提出
实现方法:
设置一个数量比较大的寄存器堆,并把它划分成很多个窗口。
在每个过程使用的几个窗口中有一个窗口是与前一个过程共用,还有个窗口是与下一个过程共用
17.延迟转移的思想是什么?
以及其对用户程序和系统程序的编译程序设计者的透明性。
所谓延迟转移的思想的方法是:
将转移指令与其前面的一条(或多条)指令对换位置,让成功转移总是在紧跟的指令被执行之后发生,从而使预期的指令不作废,就可省了一个机器周期。
对用户程序员来说是透明的,但是对系统程序的编译程序设计者却是不透明的。
18.数据宽度同数据通路宽度的区别
数据宽度:
是I/O设备取得I/O总线后所传送数据的总量。
数据宽度:
单字(单字节)、定长块、可变长块、单字加定长块和单字加可变长块。
数据通路宽度:
数据总线的物理宽度,即一个时钟周期所传送的信息量。
19.中断响应的次序的设置方法。
中断响应的次序是用硬件---排队器---来实现的。
20.管态指令和目态指令的定义。
管态指令:
中央处理机用来控制外部设备操作作用的输入/输出指令
目态指令:
也称访管指令,是可以在目态下执行的指令。
21.通道的工作原理
通道完成一次数据输入输出的过程需三步
(1)在用户程序中使用访管指令进入管理程序,由CPU通过管理程序组织一个通道程序,并启动通道
(2)通道处理机执行通道程序,完成指定的数据输入输出工作
(3)通道程序结束后第二次调用管理程序对输入输出请求进行处理书p101
22.通道数据传送期中信息传送的3种类型。
1、字节多路通道
为多台低速或中速的外围设备服务
字节多路通道包含有多个子通道,每个子通道连接一个设备控制器
2、选择通道
选择通道为高速外围设备服务
每个选择通道只有一个以成组方式工作的子通道,逐个为多台高速外围设备服务
3、数组多路通道
数组多路通道:
把字节多路通道和选择通道的特性结合起来
每次为一台高速设备传送一个数据块,并轮流为多台外围设备服务
数组多路通道可以被看作是以成组方式工作的高速多路通道
从磁盘存储器读出一个文件的的过程分为三步:
定位、找扇区、读出数据
23.不同的通道传送都是什么数据类型?
字节通道是单字节
数组通道是定长块
选择通道是不定长块
24.什么多体单字交叉存取的存贮器,请描述一下其具体的工作原理。
明白两种交叉(低端交叉和高端交叉的目的各是什么)
多体单字
CPU字在主存中可按模m交叉编址。
根据应用特点,这种交叉又分为高位交叉和低位交叉.
高位交叉访问存储器
主要目的:
扩大存储器容量
实现方法:
用地址码的高位区分存储体号
参数计算方法:
l:
每个存储体的容量
m:
总共的存储体个数
i:
存储体的体内地址,i=0,1,2,…,l-1
j:
存储体的体号,j=0,1,2,…,m-1
存储器的地址:
A=j×l+i
存储器的体内地址:
Ai=Amodl
存储器的体号:
Aj=向下取整(A/l)
低位交叉访问存储器
主要目的:
提高存储器访问速度
实现方法:
用地址码的低位区分存储体
参数计算方法:
存储器地址A的计算公式为:
A=m⨯i+j
存储器的体内地址:
Ai=向下取整(A/m)
存储器的体号:
Aj=Amodm
地址是编码方法:
由8个存储体构成的主存储器的低位交叉编址方式
25.虚拟存储器和Cache存贮器体系分别对系统程序员和应用程序员的透明性问题。
虚拟存储器:
对系统程序员不透明,对应用程序员透明
Cache存贮器:
信息在Cache与主存之间的传送就只能全部用辅助硬件实现,均透明;
26.存贮体系的主要性能参数(TA,Tm,Bm,是什么?
分别是如何定义的
访问时间TA:
是从存储器从接收访存读申请至信息被读到数据总线上的时间。
这是处理机启动访存后必须等待的时间,它是确定处理机与存储器时间关系的一个重要参数。
存储时间TM:
连续启动一个存储体所需要的间隔时间,它一般比TA大。
频宽(带宽)Bm:
是存储器可提供的数据传送速率,用每秒传送的信息位数或字节数来衡量。
最大频宽:
是存储器连续访问时的频宽。
实际频宽:
由于存储器不一定能满负荷工作。
因此实际频宽往往低于最大频宽。
27.段式管理,页式管理和段页式管理的地址映象和地址变换的过程分别是怎样的(书p115-120)
(1.)段式虚拟存储器
地址映象方法:
根据程序的模块性,每个程序段都是一个单独的程序段。
每个程序段都从0地址开始编址,长度可长可短,可以在程序执行过程中动态改变程序段的长度。
主存按段分配的存储管理方式称为段式管理方式。
为了进行段式管理,每道程序在系统中都有一个段表(映射表)。
用以存放该道程序段装入主存的状况信息。
段表中的每一项(对应表中的每一行)用来描述该道程序的一个程序段的基本信息。
假设一个系统中最多可同时有N道程序在主存中,为此可以设置N个段表基址寄存器,对应于每道程序,由基号指明使用哪个段表基址寄存器
段表基址寄存器中的段表基址字段指向该道程序的段表在主存中的起始地址。
段表长度字段指明该道程序所用段表的行数,即程序段的段数。
段式虚拟存储器地址变换方法:
由用户号找到基址寄存器
从基址寄存器中读出段表的起始地址
把起始地址与多用户虚地址中段号相加得到段表地址
把段表中给出的起始地址与段内偏移D相加就能得到主存实地址
(2)页式存储器工作原理
把主存储器、磁盘存储器和程序空间都机械等分成固定大小的页(页面大小随机器而异)。
实页:
主存储器的页称为实页。
一个主存地址np由两部分组成,实页号nv和页内偏移nr
虚页:
虚拟存储器中的页称为虚页。
一个虚地址Ns由三部分组成,用户号U、虚页号N’v和页内偏移Nr。
系统设置相应的页表(映射)表,保存虚页装入实页时的页面对应关系,就可以由给顶的程序(虚)地址查页表变换成相应的实(主)存地址,而访问主存。
由于虚存和实(存)的页面大小一样,所以页表中只需记录虚页号N’v和实(主)存页号nv的对应关系即可,不用保存页内位移。
由虚地址查页表
变换成实地址的过程中,页式管理只需要将主存实页号与页内位移拼装在一起,跟段式管理方式相比,可以大大加快地址变换的速度,也利于提高形成实地址的可靠性。
(3)段页式虚拟存储器
用户按照程序段来编写程序,每个程序段分成几个固定大小的页。
地址变换方法:
(1)先查段表,得到该程序段的页表起始地址和页表长度,
(2)再查页表找到要访问的主存实页号,
(3)最后把实页号p与页内偏移d拼接得到主存的实地址。
28.(请以页式虚拟存储器为例)地址映象和地址变换的定义分别指的什么。
地址映像:
将每个虚存单元按什么规则(算法)装入(定位于)实(主)存,建立起多用户虚地址Ns与实(主)存地址np之间的对应关系。
对页式管理而言,就是指多用户虚页为Nv的页面可以装入主存中的哪些页面位置,建立起Nv和nv的对应关系
地址变换:
当程序已经装入到Cache之后,在实际运行过程中,把主存地址变换成Cache地址
29.主存页面表和页表的主要区别
两者相同点:
都是存储于主存。
区别:
(1)目的不同:
主存页面表是操作系统为了实现主存管理而设置
的,其中每一行用来记录主存中各页的使用状况的。
而页表是用来存储映象关系和实现地址变换的。
(2)对象不同
主存页面表是对主存而言的,整个主存只有一个。
而页表是对用户程序空间而言的,每道程序都有一个。
30.以及页面替换发生的条件。
当发生页面失效时,要从磁盘中调入一页到主存。
如果主存所有页面都已经被占用,必须从主存储器中淘汰掉一个不常使用的页面,以便腾出主存空间来存放新调入的页面。
31.FIFO,LRU,OPT页面替换算法的特点及其区别?
先进先出算法(FIFOFirst-InFirst-Outalgorithm):
比较容易实现,利用了历史信息,没有反映程序的局部性。
最先调入主存的页面,很可能也是经常要使用的页面。
最久没有使用算法(LRULeastRecentlyUsedalgorithm):
把LRU算法中的“多”与“少”简化成“有”与“无”,实现起来比较容易。
最优替换算法(OPTOPTimalreplacemantalgorithm):
是一种理想化的算法。
用来作为评价其它页面替换算法好坏的标准。
在虚拟存储器中,实际上有可能采用只有FIFO和LRU两种算法。
32.为缩短内部地址变化所需要的时间,采用“快表”方法来解决,请说说快表和慢表的定义和区别以
快表TLB(TranslationLookasideBuffer):
小容量(几~几十个字),高速硬件实现,采用相联方式访问
慢表:
当快表中查不到时,从存放在主存储器中的慢表中查找
按地址访问,用软件实现。
快表与慢表也构成了一个两级存储系统。
33.什么是相联目录表法。
基本思想:
用一个小容量高速存储器存放页表。
把页表压缩成只存放已装入主存的那些虚页(用基号b和N’v与实页位置(nv)的对应关系。
地址变换过程:
把多用户虚地址中b与Nv’拼接起来,相联访问目录表。
读出主存实页号nv,把nv与多用户虚地址中的Nr拼接得到主存实地址。
如果相联访问失败,发出页面失效请求。
34.全相联映象定义,及其冲突率的高低
主存中任意一块都可映像装入到Cache中任意一块位置
块冲突率最低,查表速度慢
35.Cache的四种映射方式及其冲突率的高低
全相联:
块冲突概率最低
直接映像:
块冲突概率最高
组相联:
块的冲突概率比较低
段向联:
较低
36.Cache更新算法的是什么以及两者的优缺点比较么?
(1)写直达法(写通过法),Write-throughCPU在执行写操作时,把数据同时写入Cache和主存。
(2)写回法(抵触修改法)Write-Back
CPU数据只写入Cache,不写入主存,仅当替换时,才把修改过的Cache块写回到主存
写回法与写直达法的优缺点比较:
(1)可靠性,写直达法优于写回法
(2)与主存的通信量,WB少于WT
例如WB法与主存的通信量要比WT法少10多倍。
(3)控制的复杂性,写直达法比写回法简单
(4)硬件实现的代价,写回法要比写直达法好
37.流水和一次重叠的区别:
一次重叠执行方式
一种最简单的流水线方式
如果两个过程的时间相等,则执行n条指令的时间为:
T=(1+2n)t
38.线形流水与非线性流水的区别是什么?
线性流水线与非线性流水线
流水线的各个流水段之间是否有反馈信号
线性流水线(LinearPipelining)
每个流水段都流过一次,且仅流过一次
非线性流水线(NonlinearPipelining)
在流水线的某些流水段之间有反馈回路或前馈回路
线性流水线能够用流水线连接图唯一表示
非线性流水线必须用流水线连接图流水线预约表等共同表示
39.动态流水线和静态流水线的区别:
静态流水线:
同一段时间内,多功能流水线中的各个功能段只能按照一种固定的方式连接,实现一种固定的功能。
只有连续出现同一种运算时,流水线的效率才能得到充分的发挥。
动态流水线:
在同一段时间内,多功能流水线中的各段可以按照不同的方式连接,同时执行多种功能。
40.流水的最大吞吐率指的是什么?
吞吐率(ThoughPut)
求流水线吞吐率的最基本公式:
TP=n/Tk
n为任务数,Tk为完成n个任务所用时间
各段执行时间相等,输入连续任务情况下完成n个连续任务需要的总时间为:
Tk=(k+n-1)∆t
k为流水线的段数,∆t为时钟周期
41.衡量流水线处理机性能的指标主要是什么?
它们又是如何定义的?
(吞吐率,加速比,效率)
加速比(Speedup)
计算流水线加速比的基本公式:
S=顺序执行时间T0/流水线执行时间Tk
各段执行时间相等,输入连续任务情况下
加速比为:
最大加速比为:
计算流水线效率的一般公式:
各流水段执行时间相等,输入n个连续任务
流水线的效率为:
流水线的最高效率为:
各流水段执行时间不等,输入n个连续任务
流水线的效率为:
基址寻址法、数据通路宽度,相联目录表法:
流水的最大吞吐率……….等
(2)选择题
――――――――――――――――
.
1.计算机结构和计算机组成的各自的属性。
书p3
2.在计算机系统结构设计中,实现软件移植的几个基本技术
方法1:
统一高级语言
方法:
采用同一种不依赖于任何具体机器的高级语言编写系统软件和应用软件
方法2:
系列机方法
系列机定义:
具有相同的系统结构,不同组成和实现的一系列计算机系统
在系统结构基本不变的基础上,根据不同性能
的要求和当时的器件发展情况,设计出各种性
能、价格不同的计算机系统。
一种系统结构可
以有多种组成,一种组成可以有多种物理实现。
模拟与仿真SimulationEmulation
定义:
在一台现有的计算机上实现另一台计算机的指令系统。
模拟的实现方法:
在A计算机上通过解释方法实现B计算机的指令系统,即B机器的每一第指令用一段A机器的程序进行解释执行。
A机器称为宿主机,B机器称为虚拟机。
仿真的实现方法:
直接用A机器的一段微程序解释执行B机器的每条指令。
A机器称为宿主机,B机称为目标机。
3.并行性开发的途径为
时间重叠:
(TimeInterleaving)
资源重复(ResourceReplication)
资源共享(ResourceSharing)
4.弗林分类法――计算机系统分成:
单指令流单数据流SISD(SingleInstructionSingleDatastream);单指令流多数据流SIMD(SingleInstructionMultipleD