北京工业大学 计算机系统结构 复习.docx
《北京工业大学 计算机系统结构 复习.docx》由会员分享,可在线阅读,更多相关《北京工业大学 计算机系统结构 复习.docx(10页珍藏版)》请在冰豆网上搜索。
北京工业大学计算机系统结构复习
计算机系统结构概念点,不含计算方法,仅有部分提示,整理内容仅供参考
计算机系统结构:
指机器语言程序的设计者或是编译程序设计者所看到的计算机系统的概念性结构与功能特性。
透明性:
一种本来存在,有差异的事物和属性,从某种角度上看又好像不存在的现象,被称为是“透明性”(例如,高级程序员看不到各种不同类型机器的差异性,就是一个明显的例证。
)
计算机系统结构:
数据表示;寄存器定义;指令系统;中断系统;存储系统;输入输出结构;机器工作状态;信息保护
计算机组成:
数据通路的宽度;专用部件的设置;各功能部件;控制机构的组成方式;缓冲技术;可靠性技术的采用和方式的选择
计算机实现:
逻辑设计的物理实现
FLYNN分类法:
单指令流单数据流(SISD),传统顺序处理计算机
单指令流、多数据流(SIMD)结构,阵列处理机、并行处理机
多指令流、单数据流(MISD)结构,如RISC机、向量机
多指令流、多数据流(MIMD)结构,多处理机系统
计算机系统的设计原则:
1.加速那些使用频率高的部件——提高整个计算机性能;2.Amdahl定律;3.程序访问局部性原理
Amdahl定律:
系统中某一部件由于采用某种改进的执行方式后,整个系统的性能提高了,其衡量指标为加速比。
Amdahl定律可表示为:
加速比Sp=Te/T0
改进后时间T0=
整理得
CPU性能指标:
=指令总数*执行每条指令所需平均周期数*时钟周期
CPI
MIPS
MFLOPS=
计算机系统的层次结构(会排序,注意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.分开的存取指令数据,引入多级Cache4.面向寄存器堆的结构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系统的加速比等效的访问周期为T
Tc:
Cache的访问周期Tm:
主存储器的访问周期;Hc:
Cache命中率
存储系统的访问效率:
指高一级存储器的访问速度(容量小速度高的一级)与系统等效的访问速度之比。
存储保护:
1.加界保护法:
在CPU中设置了多个界限寄存器,由系统软件经特权指令指定,禁止越界。
(当程序运行过程中,每当访问主存时,首先将访问地址与上下界寄存器进行比较,如果在此区域之内,则允许访问;如果不在此区域之内,即小于上界,大于下界,即说明出现了错误,称为越界错。
这种保护方式是对存储区的保护、运用于段式管理.)2.键保护方式:
每次访问主存,首先进行键号比较,如果键号相等才允许访问。
如同一把钥匙开一把锁。
存放键与程序键键号的分配,由操作系统完成3.环保护方式:
将系统程序和各用户程序按其功能的性质和要求分为几个级别,分别授予不同的权限,如系统程序对安全的要求比较高,授权级别就比较高,用户程序的级别就可以低些
流水线的基本结构中的三大部分:
锁存器、时钟、功能段(站)
流水线特点:
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:
指令流水线的段数;∆t0:
各段经过的时间;n:
指令条数。
效率ή=
加速比Sp
对一个周期能发射多条指令计算机有超标量、超流水、超长指令字计算机,此外还有数据流计算机也属于多发射结构。
向量的处理方法:
水平;垂直(适用于流水);分组纵横
向量处理机的结构:
由向量数据表示和流水线技术相结合构成的向量流水处理机。
并行性概念:
在数值计算,数据处理,信息处理或人工智能求解过程中,可能存在某些能同时进行运算或操作的部分。
在同一时刻或同一时间间隔内完成多个性质相同或不同的任务。
并行性的开发还可以按程序大小划分不同粒度的开发方式。
并行粒度或颗粒规模----衡量软件进程所含计算量的尺度。
测量方法是数一下颗粒(程序段)中的指令数目。
一般用细、中、粗来描述,决定并行处理的基本程序段。
并行性粒度:
每次并行处理的规模大小。
用字母G表示G=TW/TCTW:
所有处理器进行计算的时间总和;TC:
所有处理器进行通信的时间总和。
(设系统共有P个处理器);当TC较大时,通信量大,则G较小处理粒度较细。
反之对于粗粒度的并行,通信量较小。
粒度小结:
1.细粒度并行性常在指令级或循环级上借助于并行化或向量化编译器来进行开发的。
2.任务或作业步骤(过程级)中粒度并行性开发需要程序员和编译器的共同作用。
3.开发程序作业级的粗粒度并行性主要取决于高效的操作系统和所用算法的效率。
4.共享变量通信常用于支持中、细粒度计算。
消息传递型多计算机用于中粒度和粗粒度的计算。
通常情况下,粒度越细,并行性潜力越大,通信和调度的开销也越大。
细粒度能提供较高的并行度,但与粗粒度计算相比,其通信开销也较大。
大规模并行性通常是在细粒度级上开发。
如:
SIMD或MIMD计算机上开发的数据并行性。
阵列处理机分类根据存贮器采用的组成方式不同分成两种基本构成。
(1)分布存贮的阵列处理机:
各个处理单元设有局部存贮器存放分布式数据,只能被本处理单元直接访问。
此种局部存贮器称为处理单元存贮器PEM。
在控制部件CU内设有一个用来存放程序的主存贮器CUM。
整个系统在CU统一控制下运行系统程序的用户程序。
执行主存中的用户程序指令播送给各个PE,控制PE并行地执行。
特点:
处理器阵列一般是通过CU接到一台管理处理机SC上,SC一般是一种通用计算机,用于管理整个系统的全部资源,完成系统维护、输入输出、用户程序的汇编及向量化编译、作业调度、存贮分配、设备管理、文件管理等操作系统的功能。
(2)集中式共享存贮的阵列处理机:
特点,每个PE没有局部存储器,存储模块以集中形式为所有PE共享,互连网络ICN受CU控制。
恒等置换I(Xn-1Xn-2…X1X0)=Xn-1Xn-2…X1X0直连
交换置换E(Xn-1Xn-2…X1X0)=Xn-1Xn-2…X1X0第0位取反
方体置换
为二进制第k位取反
均匀洗牌置换σ二进制左移一位
逆均匀洗牌σ-1二进制右移一位
蝶式置换(Butterfly)二进制首尾互换
子蝶式(subbutterfly)β(k)置换二进制0位与k位互换
超蝶式置换β(k):
二进制最高位与第k位互换
移数置换:
将输入端数组循环移动一定的位置向输出端传输。
其函数表达式:
a(X)=(X+k)modN,0≤X≤N,k为常数,指移动的位置值
加减2i(PM2I)置换:
实际上是一种移数置换包含2n个互连函数,其表达式为PM2+i(j)=j+2i(modN);PM2-i(j)=j-2i(modN)
式中,0≤j≤N-1,0≤i≤n-1,n=log2N
互联网络设计的四个特征
多处理机结构分类:
共享存储型(紧耦合系统),点对点型/分布型(松耦合多处理机系统)
多处理机互连结构(总线、交叉开关、多端口存储器、多级互联网)总线结构:
把所有功能模块(或部件、或计算机)连接到一条公共通信通路上,又称为分时或公共总线.
交叉开关网络:
包含一组纵横开关阵列,把纵向的处理机P及I/O通道与横向的存储器模块M连接起来,使每个处理器都有有它单独可用的通路与存储器模块相连,这样可以加大频带宽度,每个交叉点都有开关、多路控制转换及仲裁部件。
多端口存储器互连方式:
每个存贮器模块有多个存取端口,将分布在交叉开关矩阵中的控制,转换和优先级仲裁逻辑分别移到相应存贮器模块的接口中,构成多端口存贮器的结构。
多级互连网:
MIMD和SIMD计算机都使用多级网络。
每一级都用了多个a×b开关,相邻各级开关之间都有固定的级间连接。
为了在输入和输出之间建立所需的连接,可用动态设置开关的状态来实现。
总线仲裁算法:
1.静态优先级算法--为每个连到总线上的处理机(或计算机模块)分配一个唯一的固定优先级。
优点:
算法简单,易实现.缺点:
优先级低的处理机将很少有机会使用总线2.平等算法:
以轮转方式将总线按固定大小的时间片依次供各处理机使用,常用于同步总线。
优点:
算法较简单且能保证各处理机有均等机会使用总线。
缺点:
平均等待时间较长3.动态优先级算法:
根据总线使用情况和相应规则,能动态地改变连接到总线上的多处理机的优先级。
优点:
兼顾了前两种算法的优点,即有较短的平均等待时间,并可使系统中的各处理机有均等机会使用总线。
缺点:
控制逻辑较为复杂。
4.先来先服务算法:
不是按优先级选择主控器。
优点:
具有最好的均等性,该算法是性能最好的仲裁算法。
缺点:
实现困难。
该算法的作用只提供一种标准以衡量其他算法好坏。
导致多处理机系统中cache内容不一致的因素有三个:
(1)可写数据的共享。
(2)输入输出活动。
(3)进程迁移。
解决多处理机CACHE一致性的方法:
1.监视cache协议法(优点:
实现简单;缺点:
只适用于总线结构的多处理机系统。
)2.三种目录表法(又分为全幅目录表,有限目录表,链接目录表)3.以软件为基础的办法(特征:
靠软件的作用来限制一些公用的可写数据存放到cache中;在编译时,通过编译程序分析,把数据分为能用cache的(cacheable)和不能用cache的(noncacheable)两部分,不能用cache的数据只能存在主存中;比较简单,实际是避开了在CACHE中实现可写数据的共享问题,影响系统性能。
)
多处理机操作系统分类:
主从型,各自独立型,浮动型(适合于紧耦合多处理机系统)