第一章计算机系统结构的基础知识1、计算机体系结构:计算机体系结构是程序员所看到的计算机属性,即概念性结构与功能特性。
2、透明性:对本来是存在的事物或属性,但从某种角度看又好像不存在的概念称为透明性。
在一个计算机系统中,低层机器的属性对高层机器的程序员往往是透明的,如传统机器级的概念性结构和功能特性,对高级语言程序员来说是透明的。
3、计算机系统结构、计算机组成、计算机实现之间的关系:计算机系统结构指的是计算机系统的软、硬件的界面,即机器语言程序员所看到的传统机器级所具有的属性。
计算机组成:指的是计算机系统结构的逻辑实现,包含物理机器级中的数据流和控制流的组成以及逻辑设计等。
它着眼于物理机器级内各事件的排序方式与控制方式、各部件的功能以及各部件之间的关系。
计算机的实现:指的是计算机组成的物理实现,包括处理机、主存等部件的物理结构,器件的集成度和速度,模块、插件、底板的划分与连接,信号传输,电源、冷却及整机装配技术等。
它着眼于器件技术和微组装技术,其中器件技术在实现技术中起主导作用。
4、计算机系统的分类:1)Flynn(单/多指令流单/多数据流四种)2)冯氏分类法:最大并行速度。
5、程序的局部性:时间局部性(程序即将用到的信息很可能就是目前正在使用的信息)空间局部性(程序即将用到的信息很可能与目前正在使用的信息在空间上相邻或者邻近)。
6、计算机系统设计原理:由上往下设计、由下往上设计、从中间开始设计。
从中间设计的优点:“中间”指层次结构中的软硬件的交界面,目前一般是在传统机器语言机器级与操作系统机器级之间。
好处:采用这种方法时,首先要进行软硬件功能分配,确定好这个界面。
然后从这个界面开始,软件设计者往上设计操作系统、汇编、编译系统等,硬件设计者往下设计传统机器级、微程序机器级等。
软件和硬件并行设计可以缩短设计周期,设计过程中可以交流协调,是一种交互式的、很好的设计方法。
7、存储程序计算机(冯·诺依曼结构):采用存储程序原理,将程序和数据存放在同一存储器中。
指令在存储器中按其执行顺序存储,由指令计数器指明每条指令所在的单元地址。
存储程序原理的基本点是指令驱动。
主要特点:·计算机以运算器为中心。
输入/输出设备与存储器之间的数据传送都经过运算器;存储器、输入/输出设备的操作以及它们之间的联系都由控制器集中控制。
·在存储器中,指令和数据同等对待。
指令和数据一样可以进行运算,即由指令组成饿程序是可以修改的。
·存储器是按地址访问、按顺序线性编址的一维结构,每个单元的位数是固定的。
·指令的执行是顺序的,即一般是按照指令在存储器中存放的顺序执行。
程序的分支由转移指令实现。
由程序计数器PC指明当前正在执行的指令在存储器中的地址。
·指令由操作码和地址码组成。
操作码指明本指令的操作类型,地址码指明操作数地址和存放运算结果的地址。
操作数的类型由操作码决定,操作数本身不能判定是何种数据类型。
·指令和数据均以二进制编码表示,采用二进制运算。
8、计算机五大部件:控制器、运算器、存储器、输入输出设备。
9、一条指令由那两部分组成:操作码、地址码。
10、软件兼容:同一个软件可以不加修改第运行于体系结构相同的各档及其,而且它们所获得的结果一样,差别只在于运行时间不同。
11、系列机的软件兼容方式:软件兼容有(向上兼容)和(向下兼容)之分,又有(向前兼容)和(向后兼容)之分。
系列机软件必须保证(向后兼容),力争(向上兼容)。
兼容机:不同制造商生产的具有相同系统结构的计算机。
系列机:在一个厂家内生产的具有相同的体系结构,但具有不同组织和实现的一系列不同型号的机器。
12、并行性的概念:指计算机系统在同一时刻或者同一时间间隔内进行多种运算或操作。
只要在时间上相互重叠,就存在并行性。
他是同时性和并发性两种含义。
同时性:两个或两个以上的事件在同一时刻发生。
并发性:两个或两个以上的事件在同一时间间隔内发生。
从处理数据的角度并行性从低到高分为:a 、字串位串:每次只对一个字的一位进行处理。
这是最基本的串行处理方式,不存在并行性 b 、字串位并:同时对一个字的全部位进行处理,不同字之间是串行的。
已开始出现并行性。
c 、字并位串:同时对许多字的同一位进行处理,这种方式具有较高的并行性。
d 、全并行:同时对许多字的全部位或部分位进行处理,这是最高一级的并行。
从执行角度来看,并行性从低到高依次分为:a 、指令内部并行:单条指令中各微操作之间的并行。
b 、指令级并行:并行执行两条或两条以上的指令。
c 、线程级并行:并行执行两个或两个以上的线程,通常是以一个进程内派生的多个线程为调度单位。
d 、任务级或过程级并行:并行执行两个或两个以上的过程或任务,以子程序或进程为调度单元。
e 、作业或程序级并行:并行执行两个或两个以上的作业或程序。
13、提高并行性的技术途径:(1)时间重叠:多个处理过程在时间上相互错开,轮流重叠地使用同一套硬件设备的各个部分,以加快硬件周转而赢得速度。
(2)资源重复:通过重复设置资源,尤其是硬件资源,大幅度提高计算机系统的性能。
(3)资源共享:是一种软件方法,它使多个任务按一定时间顺序轮流使用同一套硬件设备。
14、多机系统的耦合度分类:(1)最低耦合:除通过某种中间存储介质之外,各计算机之间没有物理连接,也无共享的联机硬件资源。
(2)松散耦合:通过通道或通信线路实现计算机间互连,共享某些外围设备,机间的相互作用是在文件或数据集一级进行。
(3)紧密耦合:机间物理连接的频带较高,往往通过总线或高速开关实现互连,可以共享主存。
第二章 指令系统的设计1、计算题:Amdahl 定律:加快某部件执行速度所能获得的系统性能加速比,受限于该部件的执行时间占系统中总执行时间的百分比(P7页)。
向上(下)兼容:按某档机器编制的程序,不加修改就能运行于比它高(低)档的机器。
向前(后)兼容:按某个时期投入市场的某种型号机器编制的程序,不加修改地就能运行于在它之前(后)投入市场的机器。
向后兼容是系列机的根本特征。
兼容机:由不同公司厂家生产的具有相同系统结构的计算机 。
时间机器档次高 低向上兼容 向下兼容向前兼容 向后兼容当前机器2、计算题:哈夫曼树哈弗曼编码方法的计算(1)码长表示法(2)码点表示法1)码长表示法:2—4—6(有三种长度,两位的、四位的、六位的)2)码点表示法:3/6/4(最短的有三条,最长的有四条,中间长度对应为6条)3)2—4最多码点数:13解释:2可以有00、01、10、11四种,但是必须是2-4扩展至少有一个为两位,其他的可以在前面扩展两位,每个可以对应四种例如对于01可以变成:0001、0101、1001、1101,所以总共加起来最多只能是3*4+1=13种4)以下四种编码中:不是2-4扩展的是(D)A:1/2 B:2/8 C:3/4 D:4/8大题:有一台模型机,有以下七种不同的指令,使用频率表示如下:T1: 20% T2: 12% T3:11% T4: 15% T5: 8%T6:3% T7: 2% T8:18% T9: 10% T10: 1%(1)上图为哈夫曼编码图:平均长度为2*20%+3*(10%+11%+12%+15%+18%)+4*8%+5*3%+6*(1%+2%)=3.03可以表示成:00、010、011、100、101、110、1110、11110、111110、111111(2)若用定长操作码表示至少需要多少位?答:至少需要4位(3)用扩展操作码(只有两位)可以有多种方式表示,要求平均长度不能大于 3.2,给出最合理的编码方式,并求出平均编码长度?①采用扩展操作码可以用2—4扩展操作码的码点1/9表示:求得平均长度为:1*(20%)+4(80%)=3.4>3.2不符合②3—4的6/4编码方式:平均长度为3*(10+11+12+15+18+20)%+4*(1+2+3+8)% =3.14<3.2符合条件③4—5编码6/4方式:4*(10+11+12+15+18+20)%+5*(1+2+3+8)%>3.2④2—5编码中的3/7方式:2*(15+18+20)%+5*(1+2+3+8+10+11+12)%=3.41>3.2不符合3、数据表示:硬件能够直接识别、指令集可以直接调用的数据类型。
第三章流水线技术1、流水线技术是指:将一个重复的时序过程分解成为若干个子过程,而每个子过程都可有效地在其专用功能段上与其他子过程同时执行。
2、从不同的角度和观点,把流水线分成多种不同的种类。
(1)按照流水线所完成的功能来分类单功能流水线:只能完成一种固定功能的流水线。
多功能流水线:流水线的各段可以进行不同的连接,从而使流水线在不同的时间,或者在同一时间完成不同的功能。
(2)按照同一时间内各段之间的连接方式对多功能流水线做进一步的分类静态流水线:在同一时间内,流水线的各段只能按同一种功能的连接方式工作。
动态流水线:在同一时间内,当某些段正在实现某种运算时,另一些段却在实现另一种运算。
(3)按照流水的级别来进行分类部件级流水线(运算操作流水线):把处理机的算术逻辑部件分段,以便为各种数据类型进行流水操作。
处理机级流水线(指令流水线):把解释指令的过程按照流水方式处理。
处理机间流水线(宏流水线):由两个以上的处理机串行地对同一数据流进行处理,每个处理机完成一项任务。
(4)按照流水线中是否有反馈回路来进行分类线性流水线:各段串行连接、没有反馈回路的流水线。
非线性流水线:各段除了有串行连接外,还有反馈回路的流水线。
(5)根据任务流入和流出的顺序是否相同来进行分类顺序流水线:流水线输出端任务流出的顺序与输入端任务流入的顺序完全相同。
每一个任务在流水线的各段中是一个跟着一个顺序流动的。
乱序流水线:流水线输出端任务流出的顺序与输入端任务流入的顺序可以不同,允许后进入流水线的任务先完成(从输出端流出)。
又称为无序流水线、错序流水线、异步流水线。
3、流水线指标:吞吐率、加速比、效率A吞吐率是指单位时间内流水线所完成的任务数或输出结果的数量。
最大吞吐率是指流水线在连续流动达到稳定状态后所得到的吞吐率。
第一种情况:各段时间相等(设为△t0)假设流水线由 m 段组成,完成 n 个任务。
完成 n 个任务所需的时间第二种情况:各段时间不等B加速比是指流水线的速度与等功能非流水线的速度之比。
S=T非流水/T流水若流水线为 m 段,且各段时间相等,均为△t0 ,则: T非流水=n m△t0T流水=m△t0+(n-1)△t0 (公式自己代入)C (1)若各段时间相等,则各段的效率ei相等,即e1=e2 =e3=、、、=em=n△t0/T流水整个流水线的效率为:E=n△t0/T流水=n/(n+m-1)(2)从时-空图上看,效率实际上就是 n 个任务所占的时空区与 m 个段总的时空区之比,即:n 个任务占用的时空区E =━━━━━━━━━━━━━m 个段总的时空区实例分析:性能分析(分析法, 时空图法).例1. 四段流水线, △t1=△t3=△t4=△t, △t2=3△t,4个任务、10个任务时TP,η、SP 。