计算机系统结构考试重点_第1页
计算机系统结构考试重点_第2页
计算机系统结构考试重点_第3页
计算机系统结构考试重点_第4页
计算机系统结构考试重点_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

冯诺依曼的5个架构:控制器、运算器、存储器、输入设备、输出设备。Cpu的发展趋势:1、 多核技术出现的原因因为:“处理器功耗正比于电流X电压x电压x主频”,“IPC正比于电流”,所以:“处理器功耗正比于IPC“。由单核处理器增加到双核处理器,如果主频不变的话,IPC理论上可以提高一倍,功耗理论上也就最多提高一倍,因为功耗的增加是线性的。而实际情况是,双核处理器性能达到单核处理器同等性能的时候,前者的主频可以更低,因此功耗的下降也是指数方(三次方)下降的。反映到产品中就是双核处理器的起跳主频可以比单核处理器更低,性能更好。由此可见,将来处理器发展的趋势是:为了达到更高的性能,在采用相同微架构的情况下,可以增加处理器的内核数量同时维持较低的主频。这样设计的效果是,更多的并行提高IPC,较低的主频有效地控制了功耗的上升。2、 2个1G的多核和2G的单核处理器单核CPU也有高频率的,双核CPU也有低频率的。内存则有DDRDDR2和DDR3之分。型号频率不同,自然效果也不同。如果是同时运行多个任务,双核自然是占有优势。在上网,做工作时,高频率的内存则可以加快存取传输的速度如果内存是同一个型号,那么自然是1G内存+双核快一些,内存的大小不直接关系到存取的速度。3、 编程模型:SIMDVSMIMD?(应用场景、架构优缺点)单指令流多数据流计算机SIMD计算机有n个相同的处理器,每个都有其自己的本地存储器,可以存储数据。一个由中央控制单元发出的单指令流控制所有处理器的工作。有N个数据流,每1个处理器操作1个数据。所有处理器是同步操作的,在每一步中,处理器对于不同的数据元素执行相同的指令。SIMD计算机比MISD更通用。许多应用问题可以通过SIMD计算机并行算法求解。另一个有趣的特点是,这些计算机算法比较容易设计,分析和实现。局限是只有可被细分为一组相同子问题的那些计算才可以被处理。有很多的计算,不适合这种模式:这种问题通常使用下面的MIMD计算机解决。多指令流多数据流计算机MIMD并行计算机是最通用和最强大的。有n个处理器,指令流和数据流。每个处理器拥有其控制单元和其本地存储器,使得它们比SIMD计算机更强大。每个处理器在控制单元发出的指令流控制下运行,执行不同的指令和操作不同的数据流。并行计算的MIMD模型是最普遍和最强大的,但异步算法很难设计,分析和实现。所以在实践上通常用来作为SIMD模式的补充。4、 虚拟化技术的意义?在计算机中,虚拟化(英语:Virtualization)是一种资源管理技术,是将计算机的各种实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以比原本的组态更好的方式来应用这些资源。这些资源的新虚拟部份是不受现有资源的架设方式,地域或物理组态所限制。一般所指的虚拟化资源包括计算能力和资料存储。在实际的生产环境中,虚拟化技术主要用来解决高性能的物理硬件产能过剩和老的旧的硬件产能过低的重组重用,透明化底层物理硬件,从而最大化的利用物理硬件。主频障碍(1)过去主频的提高一半靠摩尔定律,一半靠结构优化(如P3是10级流水线,P4是20级流水线;流水线很难再细分)(2) 随着晶体管尺寸的缩小,连线延迟成为主要延迟(局部线延迟不变(变短了,但也变细了)全局的连线延迟还会不断变长(芯片面积不变))(3) 高主频的复杂设计正在终结(强调:局部化、流水化、异步、自定时)复杂度障碍(1) 晶体管数目的指数增加与设计队伍的增加形成剪刀差(设计能力、验证能力)(2) 晶体管越来越难用(串扰问题、片上漂移、可制造性设计)(3) 处理器结构经历了简单、复杂、简单、复杂的螺旋上升过程,最早期的处理器结构由于工艺技术的限制,不可能做得很复杂,一般都是串行执行随着流水线、动态调度、CACHE、向量机技术等技术的发展,处理器结构变得复杂,如IBM360系列的机器以及Cray的向量机RISC技术的提出使处理器结构得到一次较大的简化随着多发射乱序执行技术的实现,RISC结构越来越复杂,Intel和HP研制的EPIC结构没有从根本上对处理器结构进行简化未来可能会流行的CPU结构多核+向量处理典型:Larrabee(16wayALU/512bit)向量的位宽:64/128/256/512/1024„„众核:同构的基于分片的多核(tilebased)典型:Tile64处理器核的个数:64/128a512/ 1024带有协处理器的异构多核典型:CELL通用处理器+专用的协处理器(GPU、流处理器)摩尔定律发展过程中碰到的“墙”1980's:存储墙CPU变快,内存只变大不变快80%的晶体管用于片内高速缓存等2000's:功耗墙一Intel放弃4GHz的PentiumIV为标志,终止复杂的高主频设计多核设计成为主流未来还有可能碰到的“墙”带宽墙:“茶壶里倒饺子”(性能和带宽1-2FLOPS:1BPS的关系)成本墙:太贵了做不起(目前只剩Intel、IBM、TSMC三家)或用不起(10nm以后单片成本反而增加)应用墙:16核以上的CPU卖给谁?量大面广的应用需要多少核?如果克服不了上述“墙”,通用CPU的摩尔定律到2015年即告终止带宽障碍摩尔定律的新定义片内处理器核的个数指数增长封装引脚增加缓慢每个核使用的引脚数指数下降茶壶里倒饺子高速信号传输缓解带宽瓶颈目前引脚上的信号频率已经达到GHz很快会出现板上频率高于片内频率的现象5、 影响CPU性能的因素性能的最本质定义完成一个任务(如后天的天气预报)所需的时间以指令为基本单位一Secon―ds— -In—structio n―4Cycles Secon―dS—CPUTim e= = x x P—rogram P—rogram In—structio n Cycle 6、 Flynn's分类:Flynn分类方法是根据指令流、数据流、和多倍性三方面进行分类的。简单介绍下相关概念:(1) 指令流:机器执行的指令序列(2) 数据流:指由指令流调用的数据序列,包括输入数据和中间结果,但不包括输出数据。(3) 多倍性:指在系统性能瓶颈部件上同时处于同一执行阶段的指令或数据的最大可能个数。单指令流单数据流(SISD):结构:控制部分一个,处理器一个,主存模块一个。典型代表:单处理器系统单指令流多数据流(SIMD):结构:控制部分一个,处理器多个,主存模块多个。关键特性:各处理器以一步的方式形式处理同一条指令。典型代表:单处理器系统。多指令流单数据流(MISD)结构:控制部分多个,处理器多个,主存模块多个。关键特性:被证明不切实际。典型代表:没有模型多指令流多数据流(MIMD)结构:控制部分多个,处理器多个,主存模块多个。关键特性:能够实现作业任务指令等各级全方面进行。典型代表:多处理系统多计算机。7、 技术趋势:集成电路技术:晶体管密度、晶片尺寸、晶体管数目DRAM容量、闪存容量、磁盘技术、带宽、网络和存储技术(网络技术、速度、存储接口)第二章内存层次设计8、存储基础局部性原理:时间局部性:如果一个存储项被访问,则可能很快会再次被访问。空间局不性:如果一个存储项被访问,则其邻近的项也可能很快被访问。存储器层次结构:SRAM、DRAM、DISK、FLASHMEMORY存储系统:容量相当于最大的那层存储器,速度相当于最快的那层存储器。CACHE基本原理Cache的工作原理是基于程序访问的局部性(通俗说就是把经常用到的数据放在一个高速的cache里面)。根据程序的局部性原理,可以在主存和CPU通用寄存器之间设置一个高速的容量相对较小的存储器,把正在执行的指令地址附近的一部分指令或数据从主存调入这个存储器,供CPU在一段时间内使用。这对提高程序的运行速度有很大的作用。这个介于主存和CPU之间的高速小容量存储器称作高速缓冲存储器(Cache)。问题:(1)如果要访问的数据不在CACHE中怎么办?如果要访问的数据不在CACHE中,那么它一定在内存中,cpu访问内存,并把这部分的数据从内存调入CACHE(可能先要把CACHE中部分数据调出以便腾出空间),访问结束。(要访问的数据开始不在CACHE中;访问数据导致缺失;缺失则将需要的数据装入CACHE)(2)从主存中装入数据时装到CACHE中的什么位置?全相联映射是指主存中任一块都可以映射到Cache中任一块的方式,也就是说,当主存中的一块需调入Cache时,可根据当时Cache的块占用或分配情况,选择一个块给主存块存储,所选的Cache块可以是Cache中的任意一块直接映射是只能出现在唯一的位置,映射方法通常是(块地址)MOD(Cache中的组数)组相联映射是一个块被严格的放到Cache中某组位置里。一个块首先被映射到一个组中,然后它可以被放置到组中的任何一个块中。组通常利用位选择方式确定。每个块有n个位置可放的cache称为n路组相联cache;(3)从主存中装入数据时一次装入多少数据?从cache到处理器:以字为单位;从主存到cache:以块为单位;块大小与缺失率有关(4) 如何判断CACHE中对应的位置是否为有效的数据?有效位设置时表示一个块是有效的(5) 如果CACHE装满了怎么办?9、替换块的选择:随机替换策略;为了均匀分布,候选块将被随机选择。一些系统产生伪随机数块号,以获得可重复的行为,当调试硬件时,这种方式及其有用。最近最少使用替换策略:为了减少替换那些可能不久就要用到信息的概率,需要记录块的访问次数。利用历史信息来预测未来使用情况,被替换的块将是最长时间内没有被访问的Cache块。LRU使用了一个局部性原理的推论:如果一个最近被使用过的块很可能会被再次访问,那么最好替换最近最少使用的块。先进先出替换策略:由于计算LRU比较复杂,该替换策略将最早进入Cache的块作为替换块。(6) 写CACHE时会有什么问题?举例1:假设指令cache的缺失率为2%,数据cache的缺失率为4%,处理器的CPI为2(没有存储器阻塞),且每次缺失的代价为100个时钟周期,那么配置一个从不发生缺失的理想的cache,处理器的速度快多少?假定全部LOAD和STORE的频率为36%.■指令缺失时钟周期=1*2%*100=2-01■数据缺失时钟周期=1*36%*4%*100=1.441■总的存储器阻塞时钟周期=2-01+1.441=3-441■总的CPI=2+3.44=5.44■配置理想CACHE后的性能是原来的5-44/2=2-72倍举例2:处理器时钟周期的时间1ns,缺失代价是20个时钟周期,缺失率为每条指令0.05次缺失,cache的访问时间(包括命中判断)为1个时钟周期。假设读操作和写操作的缺失代价相同并且忽略其它写阻塞。请计算AMAT。■毎衆扌旨令的平均存储器访冋时间为,■AMAT=命中日寸冋h■缶夬失率沃缶夬失代^介=1+0-05*20=N个时钟周其月举例3:假定处理器基本的CPI为1.0,时钟频率为4GHz。假定主存访问时间为100ns,其中包括缺失处理时间。设一级cache中每条指令缺失率为2%。如果增加一个二级cache,命中或缺失访问的时间都是5ns,而且容量大到必须使访问主存的缺失率减少到0.5%,这时的处理器速率能提高多少?主存的缺失代价:100ns/(0.25ns/时钟周期)=400个时钟周期只有一级cache时:总的CPI=1.0+2%*400=9对于两级cache:二级cache的缺失代价:5ns/(0.25ns/时钟周期)=20个时钟周期总的CPI=1+2%*20+0.5%*400=3.4有二级cache的处理器性能是没有二级cache性能的9.0/3.4=2.6倍10、 层次化存储优化方法■ 6种基本的CACHE优化方法:更大的块强制缺失减少;容量和冲突缺失增加,缺失代价增加;更大的CACHE容量缺失率降低;命中时间,功耗增加;更高的相联度冲突缺失减少;命中时间增加,功耗增加;更多级CACHE内存访问时间减少;读缺失优先级更高缺失代价降低;缓存索引避免地址转换减少命中时间;第三章指令级并行11、 Load指令的5个阶段:IF取指、ID取操作数和译码、EX执行、MEM存储器访问、WB写回12、 流水线的3种冲突/冒险:Hazards:指流水线遇到无法正确执行后续指令或执行了不该执行的指令Structuralhazards(hardwareresourceconflicts):现象:同一个部件同时被不同指令所使用一个部件每条指令只能使用1次,且只能在特定周期使用设置多个部件,以避免冲突。如指令存储器IM和数据存储器DM分开Datahazards(datadependencies):现象:后面指令用到前面指令结果时,前面指令结果还没产生采用转发(Forwarding/Bypassing)技术Load-use冒险需要一次阻塞(stall)编译程序优化指令顺序Control(Branch)hazards(changesinprogramflow):现象:转移或异常改变执行流程,顺序执行指令在目标地址产生前已被取出采用静态或动态分支预测编译程序优化指令顺序(实行分支延迟)13、 数据冒险的解决方法:方法1:硬件阻塞(stall)方法2:软件插入“N0P”指令方法3:编译优化:调整指令顺序方法4:合理实现寄存器堆的读/写操作前半时钟周期写,后半时钟周期读。若同一个时钟内前面指令写入的数据正好是后面指令所读数据,则不会发生数据冒险方法5:转发(Forwarding或Bypassing旁路)技术,能解决所有数据冒险吗?若相关数据是ALU结果,则如何?可通过转发解决若相关数据是上条指令DM读出内容,则如何?不能通过转发解决,随后指令需被阻塞一个时钟或加NOP指令。称为Load-usa数据冒险14、动态分支预测方法:简单的静态分支预测方法的预测成功率不高,应考虑动态预测动态预测基本思想:•利用最近转移发生的情况,来预测下一次可能发生的转移•预测后,在实际发生时验证并调整预测•转移发生的历史情况记录在BHT中(有多个不同的名称)-分支历史记录表BHT(BranchHistoryTable)-分支预测缓冲BPB(BranchPredictionBuffer)-分支目标缓冲BTB(BranchTargetBuffer)•每个表项由分支指令地址的低位索引,故在IF阶段就可以取到预测位-低位地址相同的分支指令共享一个表项,所以,可能取的是其他分支指令的预测位。会不会有问题?-由于仅用于预测,所以不影响执行结果状态图15、Tomasulo's算法■三步骤:■发射■从指令队列中获得指令,果RS可用,则发射指令到RS;■如果操作数可用,则发送数据至RS;■如果操作数不可用,则指令停顿;■发射级完成了重命名。■执行■若有一个或几个操作数未就绪,等待该操作数,并同时监控CDB;■当操作数可用,则存储至保留站;当所有的操作数可用,则执行指令■执行级检查了是否存在RAW竞争。■写结果■将结果写入CDB,并从CDB写入目的寄存器及等待此结果的保留站;■连续写同一寄存器时,只有最后一次才能写入;■消除了WAW竞争。16、多线程的好处:(1)创建一个线程比创建一个进程的代价小。(2)线程的切换比进程间切换的代价小。(3)充分利用多处理器。(4)数据共享。(5)快速响应特性17、为什么多核?单槎的局限性取檢的优第垃靠主箱巫动由主鑽和每附钟周期所性龍执行的拒普救期宾观主频證过NGH王旳平勢性供写功耗功冠趙过10OW豹装和测试占总威*的我核共卓封裝和1/004JS本25-1心通常占詞艄感本下降片面积的1行一宕Q%七第四章数据集并行18、SIMDSIMD发掘数据级并行:矩阵运算;图像和声音处理;SIMD比MIMD能耗效率高:数据操作只需要取一条指令;对PMD具有吸引力;SIMD编程者对并行思维要求较低。SIMD并行向量体系结构;SIMD扩展;图形处理单元(GPUs)x86处理器:假定每两年增加2个核心;SIMD每四年宽度翻一番;由SIMD并行获得的潜在加速比为MIMD的两倍!第五章多处理器与线程级并行19、 单CPU上常见的提高性能的方法和并行计算提高单个处理器的工作频率;Locality:L1/L2/L3Cache;多级流水线(提高CPU频率的利器);超标量执行(多条流水线并同时发送多条指令);乱序执行(指令重排);单指令流多数据流SIMD;超长指令字处理器(依赖于编译器分析)等20、 存储访问模型UMA(UniformMemoryAccess)模型物理存储器被所有节点共享;所有节点访问任意存储单元的访问时间相同;发生访存竞争时,仲裁策略平等对待每个节点,即每个节点机会均等;各节点的CPU可带有局部私有高速缓存;外围I/O设备也可以共享,且每个节点有平等的访问权利。NUMA(Non-UniformMemoryAccess)模型物理存储器被所有节点共享,任意节点可以直接访问任意内存模块;节点访问内存模块的速度不同,访问本地存储模块的速度一般是访问其他节点内存模块的3倍以上发生访存竞争时,仲裁策略对节点可能是不平等的;各节点的CPU可带有局部私有高速缓存cache;外围I/O设备也可以共享,但对各节点是不平等的。21、MESIProtocols■MESI协议包含了描述多核共享数据的状态。每个Cacheline有4个状态,可用2个bit表示状态描述MfModined)这行数抵有效,数抿被修改了』和内存中的数据不一致,数据只存在于本匚孔氓中。Ei;Exclu引ive)这行数据有效,数据和内存中的数据一致,数据只存在于本C日⑷已中。S(Shared)这行数据有效,数据和内存中的数据一致,数据存在于很參C日ch已中。l(lnvalid)这行数据无效。

ExcluftivoModifiodSharedRemoteRoadM(Modified)和E(Exclusive)状态的Cacheline,ExcluftivoModifiodSharedRemoteRoadM(Modified)和E(Exclusive)状态的Cacheline,数据是独有的,不同点在于M状态的数据是dirty的(和内存的不一致),E状态的数据是clean的(和内存的一致)。在MESI协议中,每个Cache的Cache控制器不仅知道自己的读写操作,也监听(snoop)其它Cache的读写操作每个Cacheline所处的状态根据本核和其它核的读写操作在4个状态间进行迁移。LocalReadLocalWrilcRemoteWiitaS:m£CachcTT仃站汀監聊的杼悌22、Amdahl定律23、基准程序衡量一个系统,可通过运行一个或一组真实应用-应用程序要有代表性,覆盖现实世界中常见的情况—应用程序负载(workload)也要有代表性,与实际情况比较吻合好的基准程序可以加速计算机的发展-改进基准程序的性能应该对大多数程序有益好基准程序可以加速计算机的发展进程—是有益于运行真实程序,还是销售机器/发表论文?创造真正有益于真实程序的基准程序,而不是有益于基准程序的基准程序不同类别基准程序(玩具Toy)基准程序 —10-100行例如:sieve,puzzle,quicksort合成(Synthetic)基准程序-试图匹配真实工作负载的平均频度—列如,Whetstone,Dhrystone内核(Kernels)程序—寸间密集(Timecriticalexcerpts)—例如,Livermoreloops,FFT,treesearch真实程序(Actualworkloads)—例如,gcc,spice成功的基准程序:SPEC基准测试程序:TPC事务处理性能委员会(TransactionProcessing

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论