最新计算机体系结构复习.docx
《最新计算机体系结构复习.docx》由会员分享,可在线阅读,更多相关《最新计算机体系结构复习.docx(13页珍藏版)》请在冰豆网上搜索。
![最新计算机体系结构复习.docx](https://file1.bdocx.com/fileroot1/2022-10/9/e8b74b4c-93bb-4478-a280-dc8616c07b61/e8b74b4c-93bb-4478-a280-dc8616c07b611.gif)
最新计算机体系结构复习
一.计算机系统结构的基础知识
计算机系统结构含义,分类(FLYNN)
系统结构:
从程序设计者的角度所看到的系统的属性,即概念性结构和功能特性。
计算机系统结构:
指机器语言程序的设计者或是编译程序设计者所看到的计算机系统的概念性结构与功能特性。
弗林(FLYNN)分类法:
单指令流、单数据流(SISD)结构
单指令流、多数据流(SIMD)结构
多指令流、单数据流(MISD)结构
多指令流、多数据流(MIMD)结构
计算机系统设计的原则(三条),阿姆达尔(Amdahl)定律
(一)加速那些使用频率高的部件——提高整个计算机性能
(二)Amdahl定律
(三)程序访问局部性原理
Amdahl定律可表示为:
Sp=Te/T0
T0=Te(1–fe+fe/re)
Sp:
加速比;
Te:
采用改进措施前执行某任务系统所用的时间;
T0:
采用改进措施后所需的时间;
fe:
可改进部分在原系统计算时间中所占的比例,总是小于1;
re:
:
性能提高的倍数(T部件改进前/T部件改进后),总是大于1。
计算机性能指标参数(CPI、MIPS、吞吐率,加速比)MIPS=
冯·诺依曼机器特点,计算机系统结构发展
1、以运算器为中心,除了完成运算以外,机器内部的数据传送都经过运算器,控制器集中控制。
2、存储器是字长固定的、顺序线性编址的一维结构。
3、程序存储,指令和数据都存放在存储器中。
4、指令在存储器中按其执行顺序存放,由一个顺序控制器指定即将被执行的指令地址。
5、指令由操作码和地址码组成。
6、数据以二进制表示。
软件对系统结构的影响
二.并行主存与存储体系
存储系统三个特性(局部性、一致性、包含性)
包含性:
在容量大的存储器中,一定能找到上层存储信息的副本。
一致性:
副本修改,以保持同一信息的一致性。
存储层次结构概念和性能参数(T,S,C)
通用寄存器M1,高速缓冲存储器M2,主存储器M3,辅助存储器M4,脱机大容量存储器M5
存储容量S,存储器速度T,存储器价格C
CACHE引入目的、特点(和虚拟存储器比)、需解决的问题
目的:
提高CPU对存储器的访问速度。
虚拟存储器与高速缓冲存储器区别
CACHE-主存地址映象变换概念?
几种主要方式(全相联、直接、组相联)特点计算
地址映像是指某一数据在主存中的地址与在缓存中的地址两者之间的关系。
全相联的地址映像规则:
1)主存与缓存分成相同大小的数据块。
2)主存的某一数据块可以装入缓存的任意一块的空间中。
优点:
命中率较高,Cache的存储空间利用率高;
缺点:
线路复杂,成本高,速度低。
直接相联的地址映像规则:
1.主存与缓存分成同样大小的块;
2.主存容量应是缓存容量的整数倍,将主存空间按缓存的容量分成区,主存中每一区的块数与缓存的总块数相等;
3.主存中某区的一块存入缓存时只能存入缓存中块号相同的位置。
优点:
简单;
缺点:
命中率低。
组相联的映像规则:
1.主存与缓存分成相同大小的块;
2.主存与缓存分成相同大小的组;
3.主存容量是缓存容量的整数倍,将主存空间按缓存的大小分成区,主存中每一区的组数与缓存的组数相同。
4.组间直接相联;组内全相联。
优点:
速度快,命中率高;
几种替换算法分类;简述LRU替换算法
随机法:
(Random,RAND法)
先进先出法(First-InFirst-Out,FIFO法)
近期最少使用法(LeastRecentlyUsed,LRU法)
最久没有使用法(LeastFrequentlyUsed,LFU法)
LRU法是依据各块使用的情况,总是选择那个最近最少使用的块被替换。
这种方法比较好的反映了程序局部性规律。
因为最近最少使用的块,很可能在将来的近期也很少使用,所以LRU法的命中率比较高。
缺点:
实现起来比较困难,它不但要记录每块使用次数的多少,而且要反映出近期使用的次数。
CACHE写操作的更新策略,CACHE的性能(命中率,加速比,平均访问时间)
(1)全写法,亦称写直达法(WT法——Writethrough):
在对Cache进行写操作的同时,也对主存该内容进行写入。
(2)写回法(WB法——Writeback):
在CPU执行写操作时,只写入Cache,不写入主存;需要替换时,把修改过的块写回主存。
(一)Cache的容量对命中率的影响
容量越大则命中率越高。
当容量由很小开始增加时命中率增加的比较明显当容量达到一定程度,容量增加命中率改善的并不大。
(二)Cache块的大小对命中率的影响
当块的容量加大命中率明显的增加,但增加到一定值后反而出现块增加命中率下降的现象。
这是因为块容量大到一定程度,进入块内的数据,已不符合程序局部性规律了;块越大在一定量的Cache中包含的块数就越小,则命中率就降低了。
(三).地址映像方式对命中率的影响
(1)直接相联法命中率比较低。
(2)全相联方式命中率比较高,但难以实现。
(3)组相联方式中,主要是分组的数目对命中率的影响比较明显。
由于主存与Cache的组之间是直接相联方式,当组数分的越多,则命中率就要下降,当组数比较少时这种影响不明显,当组数大到一定程度,则影响就很大。
(3)Cache系统的加速比:
Sp=
Tc:
Cache的访问周期;
Tm:
主存储器的访问周期;
Hc:
Cache的命中率
存储保护
原因:
(1)为了防止由于一个用户程序出错而破坏主存中其他用户的程序或系统软件;
(2)防止一个用户程序不合法地访问不是分配给它的主存区域,即使不会引起破坏。
(一)加界保护方式
(二)键保护方式:
锁:
将主存的每一页都设置一个存储键,给予一个键号,此键号存放在快表的表目中,相当于一把“锁”。
所有页的存储键在主存相应的快速寄存器内,每个用户的各实页的存储键都相同。
钥匙:
访问键。
由操作系统给定,存在程序状态字中。
过程:
每次访问主存,首先进行键号比较,如果键号相等才允许访问。
如同一把钥匙开一把锁。
存放键与程序键键号的分配,由操作系统完成。
(3)环保护方式
访问方式的保护:
对内存的信息可以有三种访问操作,即读、写、执行访问方式
(1)可读,可写,可以执行
(2)可读,可执行,不可写
(3)只可读,不可写,不可执行
(4)只可读,可写,不可执行,例如数据
(5)只能执行不可读写,例如专用程序
提高存储器频带宽度方法
多个存储器并行工作,并用并行访问和交叉访问等方法
三.数据表示、寻址方式与指令系统
数据类型和数据表示
数据类型:
指一组数据值的集合,还定义了可作用于这个集合上的操作集。
分类:
基本数据类型,结构数据类型,抽象数据类型和访问指针。
数据表示:
指在计算机中能由硬件直接辩认,指令系统可以直接调用的数据类型。
自定义数据表示定义、分类及优,缺点
自定义数据表示:
由数据本身来表明数据类型,使计算机内的数据具有自定义能力。
分类:
(1)带标志符的数据表示
(2)数据描述符
优点:
(1)简化了指令系统。
(2)容易检出程序编制中的错误。
(3)简化了编译程序。
(4)支持数据库系统。
(5)简化了程序设计。
(6)便于软件测试,支持应用软件开发。
缺点:
(1)数据字长增加。
(2)降低了指令的微观执行速度。
(3)与其他计算机的兼容性差,硬件复杂。
哈夫曼概念及在计算机中应用,操作码编码法
指令系统编码方法,指令系统设计功能要求
(一)指令系统中指令编码方法:
(1)正交法
指令中的每个分段(包括操作码、操作数地址等)相互独立,操作数地址的编码同操作码无关,反之亦然。
(2)整体法
指令中各个分段在译码时相互有关,操作码同操作数地址的分界线并不清楚。
(3)混合法
这种方法把上两种方法的优点结合起来。
指令系统设计和优化
指令格式优化的目的:
如何用最短的位数表示指令的操作信息和地址信息,用最短的时间处理频度高的指令,使二者之间有最佳配合以减少指令字中冗余信息以及用最少信息位来表示所需的操作信息和地址信息。
两种指令系统风格,特点(RISC、CISC)
(一)复杂指令集计算机(CISC)
1、指令的控制执行是采用微程序控制技术,有专用的寄存器。
2、控制器十分复杂,占用了大量CPU芯片面积,有些复杂指令用的很少,难以用优化编译生成高效目标代码。
3、处理器的执行效率不高。
4、指令系统与软件之间语义差别越来越大,软件设计任务十分繁重,整个设计风格不是十分经济有效的。
缺点:
指令系统庞大、硬件复杂、执行速度低、编译程序复杂、长、部分指令使用效率低。
(二)精简指令系统计算机(RISC)
基本思想:
通过减少指令总数和简化指令的功能来降低硬件设计的复杂程度,提高指令执行速度,使指令简单,有效可行。
1、指令格式简单化、规整化(寄存器-寄存器型)
2、基本是单周期操作(指令功能和执行周期权衡选择)
3、分开的存取指令数据,引入多级Cache
4、面向寄存器堆的结构
5、充分提高流水线效率(用各种技术减少相关阻塞)
6、采用硬逻辑控制方式(少数采用微程序设计)
7、采用优化编译技术,很好地支持高级语言
简述RISC的设计思想起源和主要技术
(一)RISC设计思想的起源
20%-80%定律
系统设计中硬件和软件之间折衷
VLSI工艺技术发展
(一)流水线结构和指令调度
(二)寄存器窗口
(三)优化编译技术
四.重叠、流水和向量流水处理机
流水概念,分级,分类,特点
流水线技术:
将一个重复的时序过程分成若干个子过程,每个子过程都可有效的在其专用功能段上和其它子过程同时执行的一种技术。
1、流水线的分级:
(按处理的级别分级)
操作部件级(arithmeticpipelining):
将复杂的算逻运算组成流水工作方式;
指令级(instructionpipelining):
把一条指令解释过程分成多个子过程;
处理机级或宏流水线级(macropipelining):
由两个以上处理机串行地对同一数据流进行处理,每个处理机完成某一专门任务,各个处理机所得到的结果需存放在与下一个处理机所共享的存储器中。
2、流水线的分类:
按功能分类:
单功能流水线、多功能流水线
单功能流水线(unifunctionpipelining):
只能实现一种固定的专门功能的流水线(如CRAY-1)。
多功能流水线(multifunctionpipelining):
通过各站间的不同连接方式可以同时或不同时地实现多种功能的流水线(如TI-ASC)。
按工作方式分类:
静态流水线、动态流水线
静态流水线(staticpipelining):
在同一时间内各功能段只能按一种运算(功能)的连接方式工作。
动态流水线(dynamicpipelining):
在同一时间内各功能段允许按多种不同运算(功能)的连接方式工作。
特点:
静态流水线仅当指令都是同一类型时才能连续不断地执行。
当从一种功能方式变为另一种功能方式时,必须先排空流水线,然后再切换成另一种功能进行流水处理。
静态流水线的功能不能频繁地变换,否则它的效率将很低。
动态流水线可以提高流水线的吞吐率和设备的利用率。
按连接方式(流水线中是否有反馈回路)分类:
线性流水线、非线性流水线。
线性流水线(linearpipelining):
从输入到输出,每个功能段只允许经过一次,不存在反馈回路。
一般的流水线均属于这一类。
非线性流水线(non-linearpipelining):
存在反馈回路,从输入到输出过程