四川大学计算机体系结构知识点.docx

上传人:b****6 文档编号:7951988 上传时间:2023-01-27 格式:DOCX 页数:20 大小:139.12KB
下载 相关 举报
四川大学计算机体系结构知识点.docx_第1页
第1页 / 共20页
四川大学计算机体系结构知识点.docx_第2页
第2页 / 共20页
四川大学计算机体系结构知识点.docx_第3页
第3页 / 共20页
四川大学计算机体系结构知识点.docx_第4页
第4页 / 共20页
四川大学计算机体系结构知识点.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

四川大学计算机体系结构知识点.docx

《四川大学计算机体系结构知识点.docx》由会员分享,可在线阅读,更多相关《四川大学计算机体系结构知识点.docx(20页珍藏版)》请在冰豆网上搜索。

四川大学计算机体系结构知识点.docx

四川大学计算机体系结构知识点

第一章

1.计算机系统的多级层次结构

虚拟机:

由软件实现的机器

翻译:

先把N+1级程序全部转换成N级程序后,再去执行新产生的N级程序,在执行过程中N+1级程序不再被访问。

解释:

每当一条N+1级指令被译码后,就直接去执行一串等效的N级指令,然后再去取下一条N+1级的指令,依此重复进行。

 

2.①计算机系统结构:

指的是计算机传统的软硬件的界面,即机器语言程序员所看到的计算机的属性,即概念性结构与功能特性。

②计算机组成:

指的是计算机系统结构的逻辑实现,包含物理机器级中的数据流和控制流的组成以及逻辑设计等。

③计算机实现:

指的是计算机组成的物理实现,包括处理机、主存等部件的物理结构,器件的集成度和速度,模块、插件、底板的划分与连接,信号传输,电源、冷却及整机装配技术等。

④关系:

同一种系统结构可以用不同组成来实现。

Flynn分类法把计算机系统的结构分为以下4类:

⑴单指令流单数据流(SISD):

以同步方式在同一时间内执行不同的指令,

eg.传统的顺序处理计算机

⑵单指令流多数据流(SIMD):

以同步方式在同一时间内执行相同的指令

eg.阵列处理机,Illiac-IV

⑶多指令流单数据流(MISD):

以异步方式在同一时间内执行不同的指令

⑷多指令流多数据流(MIMD):

以异步方式在同一时间内执行相同的指令

Eg.多处理机

4.4个定量原理

①以经常性事件为重点:

对于大概率事件(最常见的事件),赋予它优先的处理权和资源使用权,以获得全局的最优结果。

②※Amdahl定律:

加快某部件执行速度所获得的系统性能加速比,受限于该部件的执行时间占系统总执行时间的百分比。

系统的加速比:

对系统中的某些部件进行改进,改进后的系统性能与改进前的系统性能之比

③CPU性能公式:

程序执行的CPU时间=CPIIC时钟周期时间

CPI=执行程序所需的时钟周期数/所执行的指令条数

CPI表示执行每条指令所需的平均时钟周期数,主要取决于计算机的组成和体系结构,包括指令系统的设计、指令执行过程的安排等(RISC)。

MIPS(每秒百万次指令):

④程序的局部性原理:

程序执行时所访问的存储器地址分布不是随机的,而是相对地簇聚。

△时间局部性:

程序即将用到的信息很可能就是目前正在使用的信息。

△空间局部性:

程序即将用到的信息很可能与目前正在使用的信息在空间上相邻或者临近。

5.SPEC基准测试程序(目前最成功和最常见的测试程序套件):

SPEC是由若干个工作站生产商发起成立的标准性能评估联合体的简称,是基准程序测试方面影响最大的一个组织。

对于测试结果的处理可以分为两个方面:

1)对每个测试程序的运行结果给出一个衡量标准。

2)对全部测量结果给出一个总体评价。

6.冯·诺依曼结构的特点:

①以运算器为中心。

②在存储器中,指令和数据同等对待。

③存储器是按地址访问、按顺序线性编址的一维结构,每个单元的位数是固定的。

④指令的执行是顺序的。

⑤指令由操作码和地址码组成。

⑥指令和数据均以二进制编码表示,采用二进制运算。

7.软件的可移植性:

一个软件可以不经修改或者只需少量修改就可以由一台计算机移植到另一台计算机上正确地运行,差别只是执行时间的不同。

实现可移植性的常用方法:

系列机,模拟与仿真,统一高级语言。

8.系列机:

系列机是指由一个厂家或公司按照同一种系统结构而生产的一系列计算机。

它们具有相同的系统结构,但其组成和实现可能不同,性能参数和档次也会有所不同。

△系列机的4种软件兼容方式:

向上兼容、向下兼容、向前兼容、向后兼容

△向后兼容是一定要保证的,它是系列机的根本特征。

9.模拟:

指用软件的方法在一台现有的计算机A(称为宿主机)上实现另一台计算机B(称为虚拟机)的指令集。

仿真:

指用一台现有计算机A(称为宿主机)上的微程序去解释实现另一台计算机B(称为目标机)的指令集。

10.并行性:

计算机系统在同一时刻或者同一时间间隔内进行多种运算或操作。

只要在时间上相互重叠,就存在并行性。

1)同时性:

两个或两个以上的事件在同一时刻发生。

2)并发性:

两个或两个以上的事件在同一时间间隔内发生。

并行性的实现途径:

①引入时间因素,让多个处理过程在时间上相互错开,轮流重叠地使用同一套硬件设备的各个部分,以加快硬件周转而赢得速度。

例子:

流水线技术

②资源重复:

引入空间因素,以数量取胜。

通过重复设置硬件资源,大幅度地提高计算机系统的性能。

例子:

多处理机系统

③资源共享:

是一种软件方法,它使多个任务按一定时间顺序轮流使用同一套硬件设备。

例子:

多道程序、分时系统

课堂练习:

1.计算机系统结构研究的内容不包括()

A)指令系统的定义B)软硬件界面的定义

C)加法器的结构D)计算机系统性能的评价

2.(   )属于MIMD系统结构。

A)各处理单元同时受同一个控制单元的管理   

B)各处理单元同时接受同一个控制单元送来的指令   

C)多处理机和多计算机系统               

D)阵列处理机

3.以下正确的是:

()

A)机箱是计算机的外特性,属系统结构的研究范围

B)集成电路芯片的设计是计算机组成原理的研究范围

C)加法器的设计是计算机实现的研究内容

D)计算机性能评价是计算机系统结构的研究范围

4.在单指令流多数据流计算机中各处理单元必须()。

A)以同步方式在同一时间内执行不同的指令

B)以同步方式在同一时间内执行相同的指令

C)以异步方式在同一时间内执行相同的指令

D)以异步方式在同一时间内执行不同的指令

5.依据MichaelJ.Flynn提出的按指令流和数据流的多倍性对计算机系统分类,Illiac-IV计算机属于()

A)SISDB)SIMDC)MISDD)MIMD

习题3.一个存储系统采用的结构使其每次可以存取一个字,每次读写需要4个时钟周期。

换用另一种存储芯片后,第一个字读写仍要4个时钟周期,但后续3个字每个都只需1个时钟即可完成。

根据局部性原理,假定80%的机会都需要连续访问4个字。

请计算改进后的存储系统的加速比。

解:

Se=(4×4)/(4+3×1)=2.3

Fe=80%

代入加速比公式,得:

Sn=1.82

1.C2.C3.D4.B5.B

第二章

1.CISC:

复杂指令集计算机。

RISC:

精简指令集计算机。

数据表示是指计算机硬件可以直接识别,指令可以直接调用的数据类型

典型的RISC指令集结构:

MIPS(P43)

●MIPS指令集结构:

①寄存器

32个64位通用寄存器(GPRs):

也被称为整数寄存器,寄存器R0的值永远为0。

32个64位浮点数寄存器(FPRs)

②数据表示

整数:

字节(8位)、半字(16位)、字(32位)、双字(64位)

浮点数:

单精度浮点数(32位)、双精度浮点数(64位)字节、半字或者字在装入64位寄存器时,用零扩展或者用符号位扩展来填充该寄存器的剩余部分。

装入以后,对它们将按照64位整数的方式进行运算。

指令格式

所有的指令都是32位的,操作码占6位,寻址方式编码到操作码中

●MIPS三类指令:

①I类指令

load指令

访存有效地址:

Regs[rs]+immediate

从存储器取来的数据放入寄存器rt

store指令

访存有效地址:

Regs[rs]+immediate

要存入存储器的数据放在寄存器rt中

立即数指令

Regs[rt]←Regs[rs]opimmediate

分支指令

转移目标地址:

Regs[rs]+immediate,rt无用

寄存器跳转、寄存器跳转并链接

转移目标地址为Regs[rs]

②R类指令

ALU指令

Regs[rd]←Regs[rs]funcRegs[rt]

func为具体的运算操作编码

shamt存放移位的位数,也就是指令中的立即数

J类指令

包括跳转指令、跳转并链接指令、自陷指令、异常返回指令。

在这类指令中,指令字的低26位是偏移量,它与PC值相加形成跳转的地址。

第三章

1.①一次重叠执行方式:

执行第K条指令与取第K+1条指令同时进行

②二次重叠执行方式:

取第K+1条指令与分析第K条指令同时进行,分析第K+1条指令与执行第K条指令同时进行

 

Eg.顺序执行、一次重叠、二次重叠、先行控制区别(假设分三个过程,每一级分别需要dt,2dt和3dt)

 

2.先行控制技术的工作原理:

缓冲技术和指令预处理技术的结合,保证了指令分析和指令的执行都能全速地运行。

先行控制技术功能:

解决了重叠执行产生的主存访问冲突问题

缓冲技术:

在工作速度不固定的两个功能部件之间设置缓冲器,用以平滑它们的工作。

预处理技术:

是指预取指令、对指令进行加工以及预取操作数等。

3.流水线技术:

把一个重复的过程分解为若干个子过程,每个子过程由专门的功能部件来实现。

把多个处理过程在时间上错开,依次通过各功能段,这样,每个子过程就可以与其他的子过程并行进行。

流水线:

每个子过程及其功能部件称为流水线的级或段,段与段相互连接形成流水线。

流水线的段数称为流水线的深度。

流水线结构:

 

4.流水线的分类:

(5种)

①A.单功能流水线:

只能完成一种固定功能的流水线。

B.多功能流水线:

流水线的各段可以进行不同的连接,从而使流水线在不同的时间,或者在同一时间完成不同的功能。

A.静态流水线:

在同一时间内,流水线的各段只能按同一种功能的连接方式工作。

B.动态流水线:

在同一时间内,当某些段正在实现某种运算时,另一些段却在实现另一种运算。

(动态流水线只能是多功能流水线,不能是单功能流水线)

A.部件级流水线(运算操作流水线):

把处理机的算术逻辑部件分段,以便为各种数据类型进行流水操作。

B.处理机级流水线(指令流水线):

把解释指令的过程按照流水方式处理。

C.处理机间流水线(宏流水线):

由两个以上的处理机串行地对同一数据流进行处理,每个处理机完成一项任务。

A.线性流水线:

流水线的各段串行连接,没有反馈回路。

B.非线性流水线:

流水线中除有串行连接的通路外,还有反馈回路。

(常用于递归或组成多功能流水线)

A.顺序流水线:

流水线输出端任务流出的顺序与输入端任务流入的顺序完全相同。

每一个任务在流水线的各段中是一个跟着一个顺序流动的。

B.乱序流水线:

流水线输出端任务流出的顺序与输入端任务流入的顺序可以不同,允许后进入流水线的任务先完成(从输出端流出)。

5.流水线的性能指标:

吞吐率,加速比,效率

①吞吐率:

把流水线在单位时间内完成的任务量

②加速比:

处理同一批任务,不用流水线与采用流水线时所花费的时间之比

③效率:

6.解决流水线瓶颈问题的常用方法:

细分瓶颈段,重复设置瓶颈段

7.经典的5段流水线:

IF(取指令周期),ID(译码周期),EX(执行周期),MEM(访问周期),WB(写回周期)

8.相关:

两条指令之间存在着某种依赖关系

①数据相关:

指令i和指令j,j使用i产生的结果

②名相关(寄存器或者存储单元的名),两条指令使用相同的名,但是它们之间并没有数据流动

A.反相关:

指令j写的名与指令i读的名相同

B.输出相关:

指令j和指令i写相同的名

③控制相关:

是由分支指令引起的相关

9.流水线冲突:

又称冒险指对于具体的流水线来说,由于相关的存在,使得指令流中的下一条指令不能在指定的时钟周期执行。

流水线冲突的3种类型:

10.结构冲突:

因硬件资源满足不了指令重叠执行的要求而发生的冲突。

即多条指令进入流水线后,在同一时间争用同一功能部件,从而发生冲突。

△解决:

暂停一拍

△允许结构冲突的原因:

减少成本,小概率事件

11.数据冲突:

指由于流水线中各指令重叠执行,使得原来对操作数的访问顺序发生变化,从而引起的一种数据冲突。

①写后读冲突(RAW):

指令j用到指令i的计算结果,j在i将计算结果写入寄存器之前就去读该寄存器,得到的是旧值。

②写后写冲突(WAW):

指令j和指令i的结果单元相同,j在i写入其计算结果之前就先行对该结果寄存器进行写操作,从而导致写入顺序错误,在目的寄存器中留下的是i写入的值,而不是j写入的值。

③读后写冲突(WAR):

指令i在j之前进入流水线中,j可能在i读取某个源寄存器的内容之前就先对该寄存器进行写操作,导致i后来读取到的值是错误的。

△解决:

①定向传送

当流水线中出现数据冲突时,可以将计算结果从其产生的地方直接送到其他指令中需要它的地方,或所有需要它的功能单元,避免暂停。

但是,定向技术并不能解决所有RAW冲突。

②定向与停顿结合

③依靠编译器解决数据冲突:

在编译时让编译器重新组织指令顺序来消除冲突,这种技术叫做”指令调度“。

12.控制冲突:

流水线遇到分支指令和其他会改变PC值的指令所引起的冲突。

●减少分支延迟的3种方式:

①预测分支失败②预测分支成功③延迟分支

●共同特点是:

它们对分支的处理方法在程序的执行过程中始终是不变的,是静态的。

(即都是通过编译器来实现)

●调度分支指令的3种方法①从前调度②从目标处调度③从失败处调度

●延迟转移技术:

将转移指令与其前面的一条或多条指令对换位置,使预取的指令不作废以节省时间。

13.向量处理机:

为了充分发挥流水线的效率,实现高性能计算,有的流水线处理机设置了向量数据表示和相应的向量指令。

这种处理机称为向量处理机。

※向量运算三种处理方式:

横向处理方式、纵向处理方式、纵横处理方式

14.CRAY-1机基本结构(P98)

4种向量指令:

1)Vk←ViopVj2)Vk←SiopVj

3)Vk←主存4)主存←Vi

15.提高向量处理机的性能:

①设置多个功能部件,使它们并行工作。

②采用链接技术,加快一串向量指令的执行。

③采用循环开采技术,加快循环的处理。

④采用多处理机系统,进一步提高性能。

●链接:

具有先写后读相关的两条指令,在不出现功能部件冲突和源向量冲突的情况下,可以把功能部件链接起来进行流水处理,以达到加快执行的目的(链接条件P102)

●分段开采:

当向量的长度大于向量寄存器的长度时,必须把长向量分成长度固定的段,然后循环分段处理,每一次循环只处理一个向量段。

●编队:

把几条能在同一个时钟周期内一起开始执行的向量指令集合称为一个编队。

16.向量处理机的峰值性能R∞,R∞表示当向量长度为无穷大时,向量处理机的最高性能,也称为峰值性能。

17.半性能向量长度n1/2:

指向量处理机的运行性能达到其峰值性能的一半时所必须满足的向量长度。

18.向量长度临界值nv:

指对于某一计算任务而言,向量方式的处理速度优于标量串行方式处理速度时所需的最小向量长度。

课堂练习:

1.在流水线冲突处理中,采用()会产生“写-写”冲突和“写超前于读”冲突。

A)猜测法B)顺序流动C)非按序流动D)相关专用通路

2.非线性流水线是指()

A)存在分叉连接的流水线B)存在反向连接的流水线

C)一个任务使用多个功能段的流水线D)动态连接的流水线

3.相关专用通路能够()

A)解除数据相关B)减少数据相关引起的流水线停顿

C)解除控制冲突D)不能缓解流水线的冲突问题

4.先行控制技术采用的两个根本的措施是指令预处理技术和技术。

5.消除流水线瓶颈主要有两种方法,即:

,重复设置瓶颈部件。

6.在向量机中,利用向量指令间存在的数据相关性来加快向量指令序列执行速度的技术称为。

7.延迟转移技术是()。

A.延长转移指令的执行时间以提高流水效率B.提前形成条件码以加快转移指令的执行

C.将转移指令与其前面的一条或多条指令对换位置,使预取的指令不作废以节省时间

D.加强转移指令的功能以减少执行时间

8.有关半性能向量长度,下面哪种说法正确?

()

A.该值是最大性能的一半B.该值越大说明向量计算机性能越好

C.该值是为达到一半最大性能所需要的向量长度D.该值必须是整数,计算的时候应该向下取整

答案:

1.C 2.B3.B4.缓冲5.分割瓶颈部件的工作(或瓶颈段细分)6.链接7.C8.C

eg.一个具有5个功能级的流水线,每级运行所需时间都为Dt。

在运行一个基准测试程序中,平均每运行20条指令就会发生一次数据相关事件,每次数据相关使流水线平均等待2Dt;平均每运行50条指令就会碰到一次条件转移指令,每次转移成功将使流水线延迟3Dt,统计转移成功率为40%。

假设测试程序总共有10万条指令。

请计算:

1)这条流水线的最高吞吐率和最高效率为多少?

2)运行该测试程序时的实际吞吐率和效率各为多少?

3)上面的测试计算是否说明该流水线在所有情况下的吞吐率和效率?

为什么?

 

eg.设在某一程序中,条件转移指令在程序中所占的比例为25%,其中转移成功的概率为2/3。

试计算执行一条指令的平均时钟周期数。

解:

设执行一条指令的平均时钟周期数为Pi,则

Pi=(1-25%)×1+25%×(3+1)

=1.75

对于上例:

假设采用预测分支失败,则

执行一条指令的平均时钟周期数为Pi为:

Pi=(1-25%)×1+25%×1/3×1+25%×2/3×(1+1)

≈1.17

 

第四章

1.指令并行级:

几乎所有的处理机都利用流水线来使指令重叠并行执行,以达到提高性能的目的。

这种指令之间存在的潜在并行性称为指令级并行。

2.①静态调度:

A.依靠编译器对代码进行静态调度,以减少相关和冲突。

B.它不是在程序执行的过程中,而是在编译期间进行代码调度和优化。

C.通过把相关的指令拉开距离来减少可能产生的停顿。

②动态调度:

在程序的执行过程中,依靠专门硬件对代码进行调度,减少数据相关导致的停顿。

优缺点:

3.Tomasulo算法核心思想:

记录和检测指令相关,操作数一旦就绪就立即执行,把发生RAW冲突的可能性减少到最小;通过寄存器换名来消除WAR冲突和WAW冲突。

●如何消除WAR冲突和WAW冲突:

在Tomasulo算法中,寄存器换名是通过保留站和流出逻辑来共同完成的。

当指令流出时,如果其操作数还没有计算出来,则将该指令中相应的寄存器号换名为将产生这个操作数的保留站的标识。

指令流出到保留站后,其操作数寄存器号或者换成了数据本身(如果该数据已经就绪),或者换成了保留站的标识,不再与寄存器有关系。

这样后面指令对该寄存器的写入操作就不可能产生WAR冲突了。

另外,指令流出到保留站后,还要完成对目标寄存器的预约工作,由于指令是按程序顺序流出的,出现多条指令写同一个结果寄存器时,最后留下的预约结果肯定是最后一条指令的,由此消除了WAW冲突。

4.前瞻执行的基本思想:

对分支指令的结果进行猜测,并假设这个猜测总是对的,然后按这个猜测结果继续取、流出和执行后续的指令。

只是执行指令的结果不是写回到寄存器或存储器,而是放到ROB(ReOrderBuffer)缓冲器中。

等到相应的指令得到“确认”(即确实是应该执行的)之后,才将结果写入寄存器或存储器。

●实现前瞻的关键思想:

允许指令乱序执行,但必须顺序确认

●在前瞻执行机制中,Tomasulo算法保留站的换名功能是由ROB来完成的。

●由于前瞻执行通过ROB实现了指令的顺序完成,所以它不仅能够进行前瞻执行,而且能够实现精确异常。

●精确异常:

当执行指令发生异常时,处理机的现场跟严格按程序顺序执行时的现场相同。

5.多流出处理机的两种基本风格:

超标量、超长指令字

※多流出流水线的3种工作方式:

①顺序发射顺序完成

②顺序发射乱序完成

③乱序发射乱序完成

静态调度的超标量处理机一般采用按序执行,而动态调度的处理机一般采用乱序执行。

6.超流水线处理机:

在一个时钟周期内能够分时发射多条指令的处理机。

7.超标量处理机:

把一个时钟周期内能够同时发射多条指令的处理机称为超标量处理机

第五章

1.存储系统由两部分构成:

①存放程序和数据的存储器②控制存储器工作的存储控制部件

存储器的3个主要指标:

速度T、容量S、和价格C

2.存储器的层次结构

①“Cache—主存”层次目的:

弥补主存速度的不足

②“主存—辅存”层次目的:

弥补主存容量的不足

3.①地址映象:

是指把主存储器地址空间映象到Cache地址空间

②地址变换:

是指当程序已经装入到Cache中之后,在实际运行过程中,将主存储器地址转换为Cache地址的过程。

4.3种映像规则:

①全相联

优点:

块冲突小,控制简单,Cache的利用率高。

缺点:

需相联存储器。

②直接映像

优点:

硬件实现简单,不需相联存储器,并且只需比较区号,速度较快。

缺点:

块的冲突率较高。

③组相连映像

优点:

块的冲突率大大降低,块的利用率大大提高,并且实现比全相联方式容易。

5.替换算法:

①随机法:

随机数产生器产生一个随机数,以此确定要被替换的块。

②先进先出法(FIFO):

不管已调入块的使用频率如何,选择最早调入的块作为替换的对象。

③最近最少使用法(LRU):

选择近期最久没有被访问的块作为被替换的块.。

6.写策略:

⑴写回法(Write-back):

只把信息写入Cache中相应的块,该块只有在被替换时,才被写回主存。

⑵写直通法(Write-through):

当CPU进行写操作时,在写Cache的同时也将内容写入到相应的主存单元中

7.改进Cache性能

平均访存时间=命中时间+不命中率×不命中开销

1)降低不命中率2)减少不命中开销3)减少命中时间

CPU时间=(CPU执行周期数+存储器停顿周期数)×时钟周期时间

8.降低Cache不命中率

①增加Cache块大小:

适当增加块的大小,但不能增大到使不命中率上升的程度;

但是,增加块大小同时也会增加不命中开销。

②提高相联度:

相联度越高(即n值越大),Cache空间的利用率就越高,块冲突概率就越低,因而Cache的不命中率就越低;但是,提高相联度则可能以增加命中时间为代价。

③增加Cache容量:

Cache的容量越大,命中率也就越高;但命中率达到一定值后,随着Cache容量的增加,命中率提高的速度渐渐放慢。

9.主存的主要性能指标:

延迟和带宽

10.虚拟存储器是对物理主存的扩展,由软件来实现。

从程序员的角度来看,存储空间扩大了。

在虚拟存储结构方式下,程序员编制程序时所使用的地址与主存地址是不同的。

通常,把程序使用的地址称为虚拟地址,或称为逻辑地址,这些地址的集合称为虚存空间;实际主存的地址称为实地址,或物理地址。

所有实地址的集合称为存储空间,其范围就是整个主存的容量。

11.虚拟存储器根据地址映象方式的不同分为段式、页式和段页式虚拟存储器。

●段式虚拟存储器和页式虚拟存储器优缺点比较

段式优点:

1 适宜于编制相对独立的模块化程序

2 便于实现程序和数据的共享

3 程序的动态链接和调度比较容易

4 便于实现信息保护

段式缺点:

1 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1