计算机系统结构概念点,不含计算方法,仅有部分提示,整理内容仅供参考计算机系统结构:指机器语言程序的设计者或是编译程序设计者所看到的计算机系统的概念性结构与功能特性。
透明性:一种本来存在,有差异的事物和属性,从某种角度上看又好像不存在的现象,被称为是“透明性”(例如,高级程序员看不到各种不同类型机器的差异性,就是一个明显的例证。
)计算机系统结构:数据表示;寄存器定义;指令系统;中断系统;存储系统;输入输出结构;机器工作状态;信息保护计算机组成:数据通路的宽度;专用部件的设置;各功能部件;控制机构的组成方式;缓冲技术;可靠性技术的采用和方式的选择计算机实现:逻辑设计的物理实现FLYNN分类法:单指令流单数据流( SISD ),传统顺序处理计算机单指令流、多数据流(SIMD )结构,阵列处理机、并行处理机多指令流、单数据流( MISD )结构,如RISC机、向量机多指令流、多数据流( MIMD )结构,多处理机系统计算机系统的设计原则:1.加速那些使用频率高的部件——提高整个计算机性能; 2.Amdahl定律; 3.程序访问局部性原理Amdahl定律:系统中某一部件由于采用某种改进的执行方式后,整个系统的性能提高了,其衡量指标为加速比。
Amdahl定律可表示为:加速比Sp = T e / T0改进后时间T0= Te(1 –可改进部分占比fe + f e性能提高倍数 r e ⁄)整理得Sp=1(1−fe)+fe/reCPU性能指标:T CPU=I N∗CPI∗T c=指令总数*执行每条指令所需平均周期数*时钟周期CPI=∑CPI i∗I iI N MIPS=I NT e∗106=时钟频率R cCPI∗106MFLOPS=程序中的浮点操作次数I FN执行时间T e∗106计算机系统的层次结构(会排序,注意23级)性能评价结果数据的处理方法:算术性能平均法;几何..;调和..;软件兼容性要求:继承软件资产,保证软件向后兼容和向上兼容数据类型:基本数据类型(二进制数位及位串、整数及自然数、实数(浮点数)、逻辑数、十进制数、字符等。
二进制数位是信息存储的最基本单位,0和1,长度为8时,构成字节。
);结构数据类型(一组由相互有关的数据元素复合而成的数据类型,这些数据元素可以是基本数据类型中的元素,也可以是结构化数据类型本身中的元素如向量、数组、字符串、堆栈、队列等。
结构化的数据类型除了可由用户定义外,还有一种是系统数据类型,它们通常是在操作系统中被使用的,如堆栈、队列等。
);抽象数据类型;访问指针.数据表示:指在计算机中能由硬件直接辩认,指令系统可以直接调用的数据类型。
(实质上是一个软硬件取舍的问题)自定义数据表示:由数据本身来表明数据类型,使计算机内的数据具有自定义能力。
分类:带标志符的数据表示,数据描述符优点1.简化了指令系统2.容易检出程序编制中的错误3.简化了编译程序4.支持数据库系统5.简化了程序设计6.便于软件测试,支持应用软件开发缺点1.数据字长增加2.降低了指令的微观执行速度3.与其他计算机的兼容性差,硬件复杂程序定位方式:直接;静态;动态(优点:在程序执行时由硬件形成主存物理地址,主存利用率高,多个用户可以共享同一个程序段,支持虚拟存储器实现。
缺点:需要硬件支持,实现的算法比较复杂。
)RISC设计思想的起源1.20%-80%定律2.系统设计中硬件和软件之间折衷3.VLSI工艺技术发展主要技术:1.流水线结构和指令调度2.寄存器窗口3.优化编译技术复杂指令集计算机CISC特点:1.指令的控制执行是采用微程序控制技术,有专用的寄存器。
2.控制器十分复杂,占用了大量CPU芯片面积,有些复杂指令用的很少,难以用优化编译生成高效目标代码。
3.处理器的执行效率不高。
4.指令系统与软件之间语义差别越来越大,软件设计任务十分繁重,整个设计风格不是十分经济有效的。
RISC特点1.指令格式简单化、规整化(寄存器-寄存器型)2.基本是单周期操作(指令功能和执行周期权衡选择)3.分开的存取指令数据,引入多级Cache 4.面向寄存器堆的结构5.充分提高流水线效率(用各种技术减少相关阻塞)6.采用硬逻辑控制方式(少数采用微程序设计)7.采用优化编译技术,很好地支持高级语言存储系统的三个特性:局部性;一致性(在容量大的存储器中,一定能找到上层存储信息的副本);包含性(副本修改,以保持同一信息的一致性);计算机存储系统三个基本参数:存储容量S(以字节数表示,单位为B、KB、MB、GB、TB等);存储器速度T(存储器访问周期,与命中率有关);存储器价格C(表示单位容量的平均价值单位为$C/bit或$C/KB)存储层次结构解决频带平衡的三种方法:1.多个存储器并行工作,并用并行访问和交叉访问等方法2.设置各种缓冲存储器3.采用Cache存储系统。
引入CACHE的目的:提高CPU对存储器的访问速度特点:容量比较小但速度比主存高很多,接近于CPU的速度。
地址映像是指某一数据在主存中的地址与在缓存中的地址两者之间的关系。
CACHE写操作的更新策略全写法:Cache及主存与内容同时更新CACHE命中率的影响因素:CACHE容量,CACHE块大小,地址映像方式LRU 最近最少使用法:是依据各块使用的情况,总是选择那个最近最少使用的块被替换。
这种方法比较好的反映了程序局部性规律。
因为最近最少使用的块,很可能在将来的近期也很少使用,所以LRU 法的命中率比较高。
缺点:实现起来比较困难,它不但要记录每块使用次数的多少,而且要反映出近期使用的次数。
Cache 系统的加速比 等效的访问周期为TTc:Cache 的访问周期Tm:主存储器的访问周期;Hc:Cache 命中率 存储系统的访问效率:指高一级存储器的访问速度(容量小速度高的一级)与系统等效的访问速度之比。
存储保护:1.加界保护法:在CPU 中设置了多个界限寄存器,由系统软件经特权指令指定,禁止越界。
(当程序运行过程中,每当访问主存时,首先将访问地址与上下界寄存器进行比较,如果在此区域之内,则允许访问;如果不在此区域之内,即小于上界,大于下界,即说明出现了错误,称为越界错。
这种保护方式是对存储区的保护、运用于段式管理.) 2. 键保护方式: 每次访问主存,首先进行键号比较,如果键号相等才允许访问。
如同一把钥匙开一把锁。
存放键与程序键键号的分配,由操作系统完成 3. 环保护方式:将系统程序和各用户程序按其功能的性质和要求分为几个级别,分别授予不同的权限,m c c c T H T H T )1(-+=)1(1)1(c mc c m c c c m m p H T T H T H T H T T T S -+=-+==c m c c c T T H H T T e )1(1-+==如系统程序对安全的要求比较高,授权级别就比较高,用户程序的级别就可以低些流水线的基本结构中的三大部分:锁存器、时钟、功能段(站)流水线特点:1)流水一定重叠,比重叠更苛刻。
2)一条流水线通常由多个流水段组成。
3)每段有专用功能部件,各部件顺序连接,不断流.4)流水线有建立时间、满载时间、排空时间.5)各段时间尽量短、一致,不一致时最慢子过程为瓶颈。
6)给出的最大吞吐率等指标,为满负载最佳指标。
流水线的分级:1.按处理的级别分级(操作部件级--将复杂的算逻运算组成流水工作方式;指令级--把一条指令解释过程分成多个子过程;处理机级或宏流水线级--由两个以上处理机串行地对同一数据流进行处理,每个处理机完成某一专门任务,各个处理机所得到的结果需存放在与下一个处理机所共享的存储器中.) 2.按功能分类(单功能流水线--只能实现一种固定的专门功能的流水线;多功能流水线--通过各站间的不同连接方式可以同时或不同时地实现多种功能的流水线) 3.按工作方式分类(静态流水线--在同一时间内各功能段只能按一种运算(功能)的连接方式工作;动态流水线--在同一时间内各功能段允许按多种不同运算(功能)的连接方式工作。
) (静态流水线仅当指令都是同一类型时才能连续不断地执行。
当从一种功能方式变为另一种功能方式时,必须先排空流水线,然后再切换成另一种功能进行流水处理。
) 4. 按连接方式(流水线中是否有反馈回路)分类(线性流水线--从输入到输出,每个功能段只允许经过一次,不存在反馈回路;非线性流水线--存在反馈回路,从输入到输出过程中,某些功能段将数次通过流水线,这种流水线常用于进行递归运算) 流水线性能指标:吞吐率Tp,加速比Sp,效率最大吞吐率:流水线达到稳定状态后可获得的吞吐率。
(1)TPmax=1/∆t (理想情况)(2)TPmax=1/ max{∆t1,∆t2,∆t3,∆t4}流水线实际吞吐率m :指令流水线的段数;∆t 0: 各段经过的时间; n :指令条数。
效率ή=n 个任务实际占用的时空区m 个段总得时空区 加速比Sp =T 非流水T 流水对一个周期能发射多条指令计算机有超标量、超流水、超长指令字计算机,此外还有数据流计算机也属于多发射结构。
向量的处理方法:水平;垂直(适用于流水);分组纵横n m TP n m t t n t m n TP 11max )11(1)1(000-+=-+∆=∆-+∆=向量处理机的结构:由向量数据表示和流水线技术相结合构成的向量流水处理机。
并行性概念:在数值计算,数据处理,信息处理或人工智能求解过程中,可能存在某些能同时进行运算或操作的部分。
在同一时刻或同一时间间隔内完成多个性质相同或不同的任务。
并行性的开发还可以按程序大小划分不同粒度的开发方式。
并行粒度或颗粒规模---- 衡量软件进程所含计算量的尺度。
测量方法是数一下颗粒(程序段)中的指令数目。
一般用细、中、粗来描述,决定并行处理的基本程序段。
并行性粒度:每次并行处理的规模大小。
用字母G表示G=T W/T C T W:所有处理器进行计算的时间总和;T C:所有处理器进行通信的时间总和。
(设系统共有P个处理器);当T C较大时,通信量大,则G较小处理粒度较细。
反之对于粗粒度的并行,通信量较小。
粒度小结:1.细粒度并行性常在指令级或循环级上借助于并行化或向量化编译器来进行开发的。
2.任务或作业步骤(过程级)中粒度并行性开发需要程序员和编译器的共同作用。
3.开发程序作业级的粗粒度并行性主要取决于高效的操作系统和所用算法的效率。
4.共享变量通信常用于支持中、细粒度计算。
消息传递型多计算机用于中粒度和粗粒度的计算。
通常情况下,粒度越细,并行性潜力越大,通信和调度的开销也越大。
细粒度能提供较高的并行度,但与粗粒度计算相比,其通信开销也较大。
大规模并行性通常是在细粒度级上开发。
如:SIMD或MIMD计算机上开发的数据并行性。