1、第一章 计算机体系结构基础概念1、20世纪50年代,大家认为在银行里用计算机来完成现金存取业务想法三荒唐可笑。2、填空题:计算机发展一直受到 制造技术 和 计算机体系结构技术 双重影响。3、现在广泛使用存放程序计算机完整概念就是在这个时期产生,大家通常称之为冯.诺依曼计算机结构。3、微处理器出现以后,计算机系统设计、计算机市场和计算机应用全部出现了较大改变。首先,计算机用户是最直接收益者。第二,对于市场而言,微处理器大批量生产促成了计算机产品批量化、标准化、和市场化,这种改变也促进了计算机设计、生产和应用良性发展。第三、大量兼容微处理器、标准化接口、高度兼容计算机系统出现,避免了系统程序和应用
2、程序反复开发。4、经典相关“计算机体系结构”定义三1964年C.M.Amdahl在介绍IBM360系统时提出,其具体描叙为“计算机体系结构是程序员所看到计算机属性,即概念性结构和功效特征”。5、Amdahi提出体系结构是指机器语言程序级程序员所看见计算机属性。6、经典计算机体系结构概念实际是计算机系统中软、硬件界面确实定,也就是指令集设计,该界面之上由软件功效实现,界面之下由硬件和固定功效来实现。7、系列机软件兼容还有向上兼容、向下兼容、向前兼容、向后兼容之分。8、现代计算机实现技术基础关键是以晶体管为基础单元平面集成电路。9、集成电路密度大约每两年翻一番。10、集成电路制造中关键技术指标之一
3、是特征尺寸,在现有集成电路制造工艺中,它是指集成电路上一个晶体管尺寸或x和y两个维度上最大制造线宽。11、用户关心是响应时间:从事件开始到结束之间时间,也称为实施时间。管理员关心是怎样提升流量:在单位时间内所能完成工作量。 它们相同点是全部认为能够以最短时间完成指定任务计算机就是最快;这二者之间不一样点是响应时间通常针对单任务,而流量往往针对多任务。12、Amdahl定律指出:加紧某部件实施速度所取得系统性能加速比,受限于该部件在系统中所占关键性。13、名词解析:程序局部性原理:程序局部性原理是指程序总是趋向于使用最近使用过数据和指令,也就是说程序实施时所访问存放器地址分布不是随机,而是相正确
4、簇聚;这种簇聚包含指令和数据两部分。程序局部性包含程序时间局部性和程序空间局部性。程序时间局部性是指程序立即用到信息很可能就是现在正在使用信息。程序空间局部性是指程序立即用到信息很可能和现在正在使用信息在空间上相邻或邻近。14、程序实施过程中所处理指令数,记为IC。这么能够取得一个和计算机体系结构相关参数,即指令时钟数(Cycles Per Instruction,CPI),其计算公式为: CPI=总时钟周期数/IC15、所谓并行性(parallelism)是指在同一时刻或是同一时间间隔内完成两种或两种以上性质相同或不相同工作。只要时间上相互重合,就存在并行性。严格来讲,把两个或多个事件在同一
5、时刻发生并行性叫做同时性(simultaneity);而把两个或多个事件在同一时间间隔内发生并行性叫做并发性(concurrency)。36页16、计算机系统中并行性有不一样等级。从实施程度角度看,并行性等级从低到高可分为:1)指令内部并行;2)指令级并行性;3)线程级并行;4)任务级并行;5)作业或程序级并行。从处理数据角度,并行性等级从低到高能够分为:0) 字串位串;1) 字串位并;2) 字并位串;3) 字并行。17、计算机系统中提升并行性方法多个多样,单就其思想而言,全部可归纳下列3种路径: 1)时间重合; 2)资源反复; 3)资源共享。第二章 计算机指令集结构设计1、 通常来说,能够从
6、以下5个原因考虑对计算机指令集结构进行分类:1) CPU中操作数存放方法。2) 指令中显示表示操作数个数。3) 操作数寻址方法。4) 指令集所提供操作类型。5)操作数类型和大小。2、填空题:早期大多数机器全部是采取堆栈型或累加器型指令集结构。不过自1980年以来大多数机器均采取是通用寄存器型指令集结构。这关键有两个方面原因,一是寄存器和CPU内部其它存放单元一样,要比存放器快;其次是对编译器而言,能够更轻易、有效地分配和使用寄存器。3、 通用寄存器型指令集结构深入细分为3种类型,即寄存器-寄存器型(Register-Register,R-R)、寄存器-存放器型(Register-Memory,
7、R-M)和存放器-存放器型(Memory-Memory,M-M)。4、 常见3种通用寄存器型指令集结构优缺点:46页1)指令集结构类型:寄存器-寄存器型(0,3)优点:简单,指令字长固定,是一个简单代码生成模型,多种指令实施时钟周期数相近。缺点:和ALU指令中含存放器操作数指令集结构相比,指令条数多,所以其目标代码量大。2)指令集结构类型:寄存器-存放器型(1,2)优点:能够直接对存放器操作数进行访问,轻易对指令进行编码,且其目标代码量较小。缺点:指令中操作数类型不一样。在一条指令中同时对一个寄存器操作数和存放器操作数进行编码,将限制指令所能够表示寄存器个数。因为指令操作数能够存放在不一样类型
8、存放器单元,所以每条指令实施时钟周期数也不尽相同。3)指令集结构类型:存放器-存放器型(3,3)优点:是一个最紧密编码方法,无需“浪费”寄存器保留变量。缺点:指令字长多个多样。每条指令实施时钟周期数也大不一样,对存放器频繁访问将造成存放器访问瓶颈问题。注:表中(m,n)表示指令n个操作数中有m个存放器操作数。5、 我们把由程序计数器决定寻址方法,叫做“PC相对寻址”(PC relative),它关键用来在控制转移指令中指定目标指令地址。6、 名词解析:一个方向是强化指令功效,实现软件功效向硬件功效转移,基于这种指令集结构而设计实现计算机系统称为复杂指令集计算机(CISC)。另一个方向是20世纪
9、80年代发展起来精简指令集计算机(RISC),其目标是尽可能地降低指令集结构复杂性,以达成简化实现、提升性能目标,这也是当今指令集结构功效设计一个关键趋势。7、 CISC指令集结构存在着以下缺点:1)在CISC指令集结构指令系统中,多种指令使用频率相差悬殊。2)CISC指令集结构复杂性带来了计算机体系结构复杂性,这不仅增加了研制时间和成本,而且还轻易造成设计错误。3)CISC指令集结构复杂性给VLSI设计带来了很大负担,不利于单片集成。4)在CISC指令集结构中,很多复杂指令需要很复杂操作,所以运行速度慢。5)在CISC指令集结构中,因为各条指令功效不均衡,不利于采取优异体系结构技术(如流水线
10、技术)来提升系统性能。8、 进行RISC指令集结构功效设计时,必需遵照以下标准:1)选择使用频率最高指令,并补充部分最有用指令。2)每条指令功效应尽可能简单,并在一个机器周期内完成。3)全部指令长度均相同。4)只有LOAD和STORE操作指令才访问存放器,其它指令操作均在寄存器之间进行。5)以简单有效方法支持高级语言。9、 填空题:当控制指令为无条件改变控制流时,称之为“跳转”;而当控制指令是有条件改变控制流时,称之为“分支”。10、 填空题:通常来说,操作数类型关键有整数(定点)、浮点、十进制、字符、字符串、向量、堆栈等。11、 DLX是一个多元未饱和型指令集结构。12、 多种机器指令集结构
11、设计思想全部和DLX指令集结构设计思想十分相同,她们全部强调:含有一个简单LOAD/STORE指令集;重视指令流水效率;简化指令译码;高效支持编译器。第三章 流水线技术1、 流水线能够分为以下多个类型:1)单功效流水线和多功效流水线;2)静态流水线和动态流水线;3)部分级、处理机级及处理机间流水线;4)标准流水线处理机和向量流水处理机;5)线性流水线和非线性流水线。2、吞吐率(throughput rate):吞吐率是衡量流水线速度关键指标。它是指在单位时间内流水线所完成任务数或输出结果数量。3、最大吞吐率TPmax:这是指流水线在连续流动达成稳定状态后所得到吞吐率。80页4、最大吞吐率取决于
12、流水线中最慢一段所需时间。5、流水线中相关关键分为以下3种类型:1)结构相关:当指令在重合实施过程中,硬件资源满足不了指令重合实施要求,发生资源冲突时将产生“结构相关”。2)数据相关:当一条指令需要用到前面指令实施结果,而这些指令均在流水线中重合实施时,就可能引发“数据相关”。3)控制相关:当流水线碰到分支指令和其它会改变PC值指令时就会发生“控制相关”。6、填空题:数据相关分类: 1)写后读相关; 2)写后写相关; 3)读后写相关; 值得注意是,在读后读情况下,不存在数据相关问题。7、在DLX流水线上实施分支指令时,PC值有两种可能改变情况。一个是PC值发生改变(为分支转移目标地址);一个是
13、PC值保持正常(等于其目前值加4)8、降低流水线处理分支指令时暂停时钟周期数有以下两种路径: 1)在流水线中尽早判定出分支转移是否成功。 2)尽早计算出分支转移成功时PC值(即分支目标地址)。第四章 指令级并行1、填空题:要确保流水线效率,必需保持流水线长时间处于被充满状态。经过开发无关指令系列,使她们重合实施,能够使流水线长时间地充满。2、填空题:程序中相关关键有以下3种:数据相关、名相关和控制相关。第五章 存放层次1、从用户角度来看,存放器3个关键指标是容量、速度和价格(本书中,“价格”均指每位价格)2、要实现多级存放层次目标,必需做到:存放器若越靠近CPU,则CPU对它访问频度越高,而且
14、大多数访问全部能在M1完成。任何一层存放器中数据通常全部是其下一层(离CPU更远一层)存放器中数据子集。174页3、命中率H:命中率为CPU访问存放系统时,在M1中找到所需信息概率。4、“Cache-主存”和“主存-铺存”层次区分:176页 1)存放层次:“Cache-主存”层次 比较项目: 目标:为了填补主存速度不足; 存放管理实现:关键由专用硬件实现; 访问速度比值(第一级比第二级):几比一; 经典块(页)大小:几十个字节; CPU对第二级访问方法:可直接访问; 失效时CPU是否切换:不切换。 2)存放层次:“主存-铺存”层次 目标:为了填补主存容量不足; 存放管理实现:关键由软件实现;
15、访问速度比值(第一级比第二级):几万比一; 经典块(页)大小:几百到几千个字节; CPU对第二级访问方法:均经过第一级; 失效时CPU是否切换:切换到其它进程。5、映象规则有以下3种:178页 1)全相联映象:全相联是指主存中任一块能够被放置到Cache中任意一个位置方法。 2)直接映象:直接映象是指主存中每一个只能被放置到Cache中唯一一个位置。 3)组相联映象:组相联是指主存中每一个块能够被放置到Cache中唯一一个组中任何一个位置(Cache被分为若干组,每组由若干个块组成)。6、不管是直接映象还是组相联,查找时只需比较标识,索引无需参与比较。7、在全相联情况下,索引位数为0,块地址全部作为标识。8、填空题:关键替换算法有以下3种:1)随机法;2)优异先出法;3)最近最少使使用方法。9、解释题:写策略关键有两种: 1)写直达法:也称为存直达法,它是指在实施“写”操作时,不仅把信息写入Cache中对应块,而且也写入下一级存放中对应块。 2)写回法:也称为拷回法,它只把信息写入Cache中对应块。该块只有在被替换时,才被写回主存。10、降低Cache失效率方法: 1)强制性失效; 2)容量失效; 3)冲突失效。