第一章
计算机系统结构:程序员所看到的计算机的属性,即概念性结构与功能特性。
计算机组成:计算机系统的逻辑实现。
计算机实现:计算机系统的物理实现。
4个定量原理
1.以经常性事件为重点:对于大概率事件(最常见的事件),赋予它优先的处理权和资源使用权,以获得全局的最优结果。
2.系统的加速比:对系统中的某些部件进行改进,改进后的系统性能与改进前的系统性能之比。
3.※Amdahl定律:加快某部件执行速度所获得的系统性能加速比,受限于该部件在系统中所占的重要性。
4.CPU性能公式:程序执行的CPU时间= CPI IC / 时钟频率
计算机系统的性能评测
1.执行时间和吞吐率
并行性的概念
同时性:两个或多个事件在同一时刻发生的并行性。
并发性:两个或多个事件在同一时间间隔内发生的并行性。
提高并行性的技术途径
时间重叠:多个处理过程在时间上相互错开,轮流使用同一套硬件设备的各个部分,以加快硬件周转而赢得速度。
资源重复:通过重复设置资源,尤其是硬件资源,大幅度提高计算机系统的性能。
资源共享:是一种软件方法,它使多个任务按一定时间顺序轮流使用同一套硬件设备。
习题1.9
1.9 假设某应用程序中有4类操作,通过改进,各操作获得不同的性能提高。具体数据如下表所示:
操作类型 | 程序中的数量 (百万条指令) | 改进前的执行时间 (周期) | 改进后的执行时间 (周期) |
操作1 | 10 | 2 | 1 |
操作2 | 30 | 20 | 15 |
操作3 | 35 | 10 | 3 |
操作4 | 15 | 4 | 1 |
(1)改进后,各类操作的加速比分别是多少?
(2)各类操作单独改进后,程序获得的加速比分别是多少?
(3)4类操作均改进后,整个程序的加速比是多少?
解:根据Amdahl定律可得
操作类型 | 各类操作的指令条数在程序中所占的比例Fi | 各类操作的加速比Si | 各类操作单独改进后,程序获得的加速比 |
操作1 | 11.1% | 2 | 1.06 |
操作2 | 33.3% | 1.33 | 1.09 |
操作3 | 38.9% | 3.33 | 1.37 |
操作4 | 16.7% | 4 | 1.14 |
4类操作均改进后,整个程序的加速比:
第二章
CISC:复杂指令集计算机。
RISC:精简指令集计算机。
数据表示是指计算机硬件可以直接识别,指令可以直接调用的数据类型
第三章
流水线技术:将一个重复的时序过程分解成为若干个子过程,而每一个子过程都可有效地在其专用功能段上与其他子过程同时执行。
流水线的分类:(5种)
单功能流水线:只能完成一种固定功能的流水线。
多功能流水线:流水线的各段可以进行不同的连接,从而使流水线在不同的时间,或者在同一时间完成不同的功能。
静态流水线:在同一时间内,流水线的各段只能按同一种功能的连接方式工作。
动态流水线:在同一时间内,当某些段正在实现某种运算时,另一些段却在实现另一种运算。
部件级流水线(运算操作流水线):把处理机的算术逻辑部件分段,以便为各种数据类型进行流水操作。
处理机级流水线(指令流水线):把解释指令的过程按照流水方式处理。
处理机间流水线(宏流水线):由两个以上的处理机串行地对同一数据流进行处理,每个处理机完成一项任务。
线性流水线:流水线的各段串行连接,没有反馈回路。
非线性流水线:流水线中除有串行连接的通路外,还有反馈回路。
顺序流水线:流水线输出端任务流出的顺序与输入端任务流入的顺序完全相同。每一个任务在流水线的各段中是一个跟着一个顺序流动的。
乱序流水线:流水线输出端任务流出的顺序与输入端任务流入的顺序可以不同,允许后进入流水线的任务先完成(从输出端流出)。又称为无序流水线、错序流水线、异步流水线。
流水线的性能指标:吞吐率,加速比,效率
解决流水线瓶颈问题的常用方法:细分瓶颈段,重复设置瓶颈段
流水线设计中的若干问题:瓶颈问题,流水线的额外开销,冲突问题
流水线的相关与冲突
经典的5段流水线:IF(取指令周期),ID(译码周期),EX(执行周期),MEM(访问周期),WB(写回周期)
相关:数据相关,名相关,控制相关
流水线冲突:指对于具体的流水线来说,由于相关的存在,使得指令流中的下一条指令不能在指定的时钟周期执行。
结构冲突:因硬件资源满足不了指令重叠执行的要求而发生的冲突。
结构冲突的解决:消除结构冲突而引入的停顿将英雄流水线的性能。消除该结构冲突的另
一种方法是在流水线处理集中设置相互独立的指令存储器和数据存储器,或者将统一的cache分成独立的只能cache跟数据cache
允许结构冲突的原因:减少成本,小概率事件
1.数据冲突:当相关的指令靠得足够近时,它们在流水线中的重叠执行或者重新排序会改变指令读/写操作数的顺序,使之不同于它们非流水实现时的顺序,则发生了数据冲突。
写后读冲突(RAW):
考虑流水线中的两条指令i 和j,且i在j之前进入流水线中,j的执行要用到i的计算结果,当它们在流水线中重叠执行时,j可能在i写入其计算结果之前就先行对保存该结果的寄存器进行读操作,从而得到错误的值。
写后写冲突(WAW)
考虑流水线中的两条指令i 和j,且i在j之前进入流水线中,j和i的目的寄存器相同,当它们在流水线中重叠执行时,j可能在i写入其计算结果之前就先行对该结果寄存器进行写操作,从而导致写入顺序错误,在目的寄存器中留下的是i写入的值,而不是j写入的值。
读后写冲突(WAR)
考虑流水线中的两条指令i 和j,且i在j之前进入流水线中,j可能在i读取某个源寄存器的内容之前就先对该寄存器进行写操作,导致i后来读取到的值是错误的。
2.通过定向技术解决数据冲突:
当流水线中出现数据冲突时,可以将计算结果从其产生的地方直接送到其他指令中需要它的地方,或所有需要它的功能单元,避免暂停。
3.需要停顿的数据冲突:图3.32
4.依靠编译器解决数据冲突
控制冲突:流水线遇到分支指令和其他会改变PC值的指令所引起的冲突。
※处理分支指令的简单方法:排空/冻结流水线,预测分支成功/失败,延迟槽
书82页 图※3.36
向量处理机:为了充分发挥流水线的效率,实现高性能计算,有的流水线处理机设置了向量数据表示和相应的向量指令。这种处理机称为向量处理机。
第四章
略
第五章
※平均访存时间 TA= 命中时间 + 失效率 × 失效开销
※存储层次的四个问题:映像规则,查算法,替换算法,写策略
第六章
※书悼念袁隆平的句子223~224页,例6.1 6.2
第七章
互联网络的基本概念:互连网络
一种由开关元件按照一定的拓扑结构和控制方式构成的网络,用来实现计算机系统中结点之间的相互连接。这些结点可以是处理器、存储模块或其他设备。
※互联函数:
实现二进制地址编码中第k位互反的输入端与输出端之间的连接。其表达式为
PM2I函数
一种移数函数,它是将各输入端都循环移动一定的位置连到输出端。其函数为
PM2+i (x) = x+2i mod N
PM2-i(x) 空调漏水是什么原因怎么解决= x-2i mod N
其中,0≤x≤N-1重阳节是农历几月几日,0≤i≤n-1,n=log2N,N为结点数。
均匀洗牌函数
将输入端分成数目相等的两半,前一半和后一半按类似均匀混洗扑克牌的方式交叉地连接到输出端(输出端相当于混洗的结果)。其函数关系可表示为
即把输入端的二进制编号循环左移一位。
超立方体※书259
一种二元n立方体结构。一般说来,一个n立方体由N=2n 个结点组成,它们分布在n维上,每维有两个结点。
P265 7.3 设E为交换函数,S为均匀洗牌函数,B为蝶式函数,PM2I为移数函数,函数的自变量是十进制数表示的处理机编号。现有32台处理机,其编号为0,1,2,…,31。
(1)分别计算下列互连函数
E2(12) S(8) B(9) PM2I+3(28) E0(S(4)) S(E0(18))
(2)用E0和S构成均匀洗牌交换网(每步只能使用E0和S一次),网络直径是多少?从5号处理机发送数据到7号处理机,最短路径要经过几步?请列出经过的处理机编号。
(3)采用移数网络构成互连网,网络直径是多少?结点度是多少?与2号处理机距离最远的是几号处理机?
解:(1)共有32个处理机,表示处理机号的二进制地址应为5位。
E2(12)=E2(01100)=01000(8)
S(8)=S(01000)=10000(16)
B(9)=B(一家十一口打一字01001)=11000(24)
PM2I+3(28)=28+23 mod32 =4
E0(S(4))=E0(S(00100))=01001(9)
S(E0(18))=S(E0(10010))=S(10011)=00111(7)
(2)2n个结点的均匀洗牌交换网的网络直径为2n-1,32个结点的均匀洗牌交换网的网络直径为9。
从5号处理机发送数据到7号处理机,最短路径要经过云南虫谷 剧照6步:
00101→00100→01000→01001→10010→10011→00111
(3)网络直径是3,结点度是9,与2号处理机距离最远的是13、15、21、23号处理机。
第八章
并行处理面临的挑战:一个是程序中的并行性有限,另一个是比较高的通信开销
第九章
略
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论