1、第一章1、计算机体系结构:计算机体系结构是程序员所看到计算机属性,即概念性结构和功效特征。(Amdahl提出系统结构实际上指传统机器语言级程序员所能看到计算机属性。) 2、透明性:原来是存在事物或属性,但从某种角度看又仿佛不存在概念称为透明性(transparency),在一个计算机系统中,低层机器属性对高层机器程序员往往是透明,如传统机器级概念性结构和功效特征,对高级语言程序员来说是透明。3、计算机系统结构、计算机组成、计算机实现之间关系:计算机系统结构指是计算机系统软、硬件界面,即机器语言程序员所看到传统机器级所含有属性。计算机组成:指是计算机系统结构逻辑实现,包含物理机器级中数据流和控制
2、流组成和逻辑设计等。它着眼于物理机器级内各事件排序方法和控制方法、各部件功效和各部件之间关系。计算机实现:指是计算机组成物理实现,包含处理机、主存等部件物理结构,器件集成度和速度,模块、插件、底板划分和连接,信号传输,电源、冷却及整机装配技术等。它着眼于器件技术和微组装技术,其中器件技术在实现技术中起主导作用。4、系列机软件兼容方法:软件兼容有(向上兼容)和(向下兼容)之分,又有(向前兼容)和(向后兼容)之分。系列机软件必需确保(向后兼容),努力争取(向上兼容)。兼容机:不一样制造商生产含有相同系统结构计算机。系列机:在一个厂家内生产含有相同体系结构,但含有不一样组织和实现一系列不一样型号机器
3、。5.软件兼容:同一个软件能够不加修改第运行于体系结构相同各档及其,而且它们所取得结果一样,差异只在于运行时间不一样。6、并行性概念:指计算机系统在同一时刻或同一时间间隔内进行多个运算或操作。只要在时间上相互重合,就存在并行性。她是同时性和并发性两种含义。同时性:两个或两个以上事件在同一时刻发生。并发性:两个或两个以上事件在同一时间间隔内发生。从处理数据角度并行性从低到高分为:a、字串位串:每次只对一个字一位进行处理。这是最基础串行处理方法,不存在并行性 b、字串位并:同时对一个字全部位进行处理,不一样字之间是串行。已开始出现并行性。 c、字并位串:同时对很多字同一位进行处理,这种方法含有较高
4、并行性。 d、全并行:同时对很多字全部位或部分位进行处理,这是最高一级并行。从实施角度来看,并行性从低到高依次分为:a、指令内部并行:单条指令中各微操作之间并行。b、指令级并行:并行实施两条或两条以上指令。c、线程级并行:并行实施两个或两个以上线程,通常是以一个进程内派生多个线程为调度单位。d、任务级或过程级并行:并行实施两个或两个以上过程或任务,以子程序或进程为调度单元。e、作业或程序级并行:并行实施两个或两个以上作业或程序。7、提升并行性技术路径:(1)时间重合:多个处理过程在时间上相互错开,轮番重合地使用同一套硬件设备各个部分,以加紧硬件周转而赢得速度。(2)资源反复:经过反复设置资源,
5、尤其是硬件资源,大幅度提升计算机系统性能。(3)资源共享:是一个软件方法,它使多个任务按一定时间次序轮番使用同一套硬件设备。8、多机系统耦合度分类:(1)最低耦合:除经过某种中间存放介质之外,各计算机之间没有物理连接,也无共享联机硬件资源。(2)松散耦合:经过通道或通信线路实现计算机间互连,共享一些外围设备,机间相互作用是在文件或数据集一级进行。(3)紧密耦合:机间物理连接频带较高,往往经过总线或高速开关实现互连,能够共享主存。计算题:哈夫曼1、码长表示法:246(有三种长度,两位、四位、六位)2、码点表示法:3/6/4(最短有三条,最长有四条,中间长度对应为6条)3、24最多码点数:13解释
6、: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
7、*8%+5*3%+6*(1%+2%)=3.03能够表示成:00、010、011、100、101、110、1110、11110、111110、111111(2)若用定长操作码表示最少需要多少位?答:最少需要4位(3)用扩展操作码(只有两位)能够有多个方法表示,要求平均长度不能大于3.2,给出最合理编码方法,并求出平均编码长度?采取扩展操作码能够用24扩展操作码码点1/9表示:求得平均长度为:1*(20%)+4(80%)=3.43.2不符合346/4编码方法:平均长度为3*(10+11+12+15+18+20)%+4*(1+2+3+8)% =3.143.225编码中3/7方法:2*(15+18+2
8、0)%+5*(1+2+3+8+10+11+12)%=3.413.2不符合第二章1. CISC结构存在缺点(1) 在CISC结构指令系统中,多种指令使用频率相差悬殊。(2) CISC结构指令系统复杂性带来了计算机体系结构复杂性,这不仅增加了研制时间和成本,而且还轻易造成设计错误。(3) CISC结构指令系统复杂性给VLSI设计增加了很大负担,不利于单片集成。(4) CISC结构指令系统中,很多复杂指令需要很复杂操作,所以运行速度慢。(5) 在CISC结构指令系统中,因为各条指令功效不均衡性,不利于采取优异计算机体系结构技术(如流水技术)来提升系统性能。2设计RISC标准(1)选择使用频率最高指令
9、,并补充部分最有用指令;(2)每条指令功效应尽可能简单,并在一个机器周期内完成;(3)全部指令长度均相同;(4)只有Load和Store操作指令才访问存放器;(5)其它指令操作均在寄存器之间进行;(6)以简单有效方法支持高级语言。数据表示:硬件能够直接识别、指令集能够直接调用数据类型。MIPS寄存器有32个64位通用寄存器,提供了单精度和双精度(32位和64位)操作指令;寻址方法:a.立即数寻址b.偏移量寻址c.寄存器间接寻址(0作偏移量)d.16位绝对寻址(R0作基址寄存器);指令格式:I类、R类、J类指令第三章1、流水技术是指:将一个反复时序过程分解成为若干个子过程,而每个子过程全部可有效
10、地在其专用功效段上和其它子过程同时实施。流水线实现五步:取指令、指令编译或寄存器读取、实施或有效地址计算、存放器访问或分支完成、写回2、指令流水线特点:(1) 流水线把一个处理过程分解成若干个子过程,每个子过程由专用功效段实现;(2) 各个功效段所需时间应尽可能相等,不然,时间长功效段将成为流水线瓶颈,会造成流水线“堵塞”和“断流”。(3) 流水线每个功效部件后面全部有一个缓冲寄存器(4) 流水技术适合于大量反复时序过程,只有输入端能连续地提供任务,流水线效率才能充足发挥。(5) 流水线需要有经过时间和排空时间3、流水线中相关是指相邻或相近两条指令因存在某种关联相关分类:(1)数据相关(2)名
11、相关,包含反相关和输出相关(输出相关用换名技术来消除)(3)控制冲突流水线冲突分类及对策:(1)结构冲突(2)数据冲突,包含写后读冲突、写后写冲突和读后写冲突,对策有定向技术、停顿(气泡法)和编译器处理(3)控制冲突,最简单方法冻结或排空4、流水线分类(1)功效上;单功效流水线;多功效流水线(2)同一时段各段之间联络(对多功效来说):静态流水线、动态流水线;(3)等级上:部件级流水线、处理机级流水线、处理机间流水线;(4)按是否有反馈回路:线性流水线、非线性流水线;(5)按任务流入和流出次序是否相同:次序流水线、乱序流水线;5、流水线指标:吞吐率、加速比、效率第一个情况:各段时间相等(设为t0
12、) 假设流水线由 m 段组成,完成 n 个任务。完成 n 个任务所需时间 TP T流水nmt0+(n-)t0n(1+ )t0 m-11TPmaxn 1+nm-1第二种情况:各段时间不等TP ti(n1)tjmi=1nB加速比是指流水线速度和等功效非流水线速度之比。ST非流水T流水若流水线为 m 段,且各段时间相等,均为t0 ,则: T非流水n mt0 T流水mt0(n1)t0 (公式自己代入)C (1)若各段时间相等,则各段效率ei相等,即e1e2 e3、emnt0T流水 整个流水线效率为:E=nt0/T流水=n/(n+m-1)(2)从时空图上看,效率实际上就是 n 个任务所占时空区和 m 个
13、段总时空区之比,即: n 个任务占用时空区E m 个段总时空区实例分析:性能分析(分析法, 时空图法).例1. 四段流水线, t1=t3=t4=t, t2=3t,4个任务、10个任务时TP,、SP 。(1)分析法: 各段时间不等=Sp=n *timi=1ti+(N-1)*tjmI=110*6 t(6+3*9) t=2011=1.8n=10,=6*10t4*6t+9*3*4t=6024+108= 115TP=106*t+3*9* t =1033*t 45% (2) 时空图法:时间12343111223234123123123444443t3t空间Tp=4/(6+3*3) t)=4/(15t)=0
14、.267(1/t)h=24 t /(4*15t)=2/5=40%Sp=4*6 t /15t=8/5=1.6n=4时;n=10时;同上.比较说明:NM流水性能才发挥得愈加好第五章存放层次1、cache降低失效率多个方法 增加块大小、提升相联度、victim cache、伪相联 cache、硬件预存、编译器控制预存、编译器优化2、子块放置技术:把Cache块深入划分为更小块(子块),并给每个子块给予一位有效位,用于指明该子块中数据是否有效。Cache和下一级存放器之间以子块为单位传送数据。但标识仍以块为单位4、降低失效开销技术让读失效优先于写子块放置技术请求字处理技术非阻塞Cache技术采取两级C
15、ache5、请求字优先:调块时,从请求字所在位置读起。这么,第一个读出字便是请求字。将之立即发送给CPU6、设有一道程序,有1至5共五页,实施时页地址流(即实施时依次用到程序页页号)为: 2,3,2,1,5,2,4,5,3,2,5,2若分配给该道程序主存有3页,分别采取FIFO和LRU替换算法表示这3页使用和替换过程说明: (1)FIFO算法:替换最早装入主存页; (2)LRU算法:依据各块使用情况,选择最近最少使用块替换。时间t 1 2 3 4 5 6 7 8 9 10 11 12页地址流 2 3 2 1 5 2 4 5 3 2 5 2调进调进调进命中替换替换替换替换命中命中替换替换2233
16、22313*1551*25*24245*2*43342*34*53*52命中命中命中命中3次近期最少使用LRU2调进23调进232命中23*1调进2*15替换51*2命中25*4替换2*45命中54*3替换35*2替换3*25命中523*命中命中命中命中命中命中命中5次2优异先出 FIFO对于一个容量为3个块全相联Cache,假定访问地址块号序列为 1,2,3,4,1,2,3,4,分别用FIFO算法和LRU算法,写出其队列改变情况,并得出结论。结论:产生颠簸现象,说明命中率和页地址流相关。对于一个全相联Cache,假定访问地址块号序列为 1,2,3,4,1,2,5,1,2,3,4,5,在优异先出替换方法下,分别写出分配给程序主存页面是3页和4页情况下,其队列改变情况,并得出结论。结论:FIFO算法不是堆栈型算法,主存页数增,命中率反而下降。