《计算机系统结构》电子教案(清华2版)_第1页
《计算机系统结构》电子教案(清华2版)_第2页
《计算机系统结构》电子教案(清华2版)_第3页
《计算机系统结构》电子教案(清华2版)_第4页
《计算机系统结构》电子教案(清华2版)_第5页
已阅读5页,还剩165页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机系统结构

主讲:华中科技大学计算机学院林安

教学计划

・.

•教材:・4/0

“1

.杼4

《计算机系统结构》(第二版)身

."与2

身P$:4

郑纬民等.普

升3

清华大学出版社身

.氧

"A4140

.4-f

4r75普

.4:杼6

•参考书:.6普2

4A1-

身J

《计算机系统结构.A第

4n76

身n

.,

复习与考试指导》8客2

.A-心

郑纬民等A-

身9

>Oe2

高等教育出版社"1早•

2001.9.1计算机系统结构2

第一章基本概念(P1)

本章介绍计算机系统结构的一些基本知识。包括定性知识和定量知

识两大组内容。为了便于学习,本章各节重新编号,与教材编号不同。

定性知识:本课程经常使用的一些名词概念,以及对计算机的定性

认识、分析方法。

定量知识:对计算机性能进行定量评价的几个重要公式。

2001.9.1计算机系统结构3

1.1定性知识几个基本概念

1.、什么是计算机系统结构?(P4)

英文名称:ComputerArchitectrue

计算机系统结构(也叫“计算机体系结构”):传授计算机整机

(硬软件统一条件下)设计的重大技术知识。

Architectrue的英文原义是“建筑学”。

“计算机系统结构”作为事物名称:使用者必须了解的机器外部特性

知识(广义定义)。在本课程中“使用者”目前特指最低级语言的程序员

,“外部特性”特指整个硬件的外部特性(狭义定义)。

透明性概念:使用者可以不了解的知识。

2001.9.1计算机系统结构4

“计算机系统结构”狭义定义包含的内容(P4)

1.数据表示(硬件能够直接识别和处理的数据类型和格式等);

2.寻址方式(包括最小寻址单位、寻址方式的种类、表示和地址计算等);

3.寄存器组织(包括各种寄存器的配置数目和功能定义);

4.指令系统(包括机器指令的操作类型和格式、指令间的排序方式和控制机构等)

*

9

5.存储系统(包括编址方式、存储容量、最大编址空间等);

6.中断机构(中断源的分类管理和中断服务功能设计);

7.机器工作状态(如管态、目态等)的定义和切换;

8.输入/输出子系统结构与管理;

9.信息保护手段及其实现。

2001.9.1计算机系统结构5

1.1.2计算机系统的多级层次模型(P3)

第5级「专用应用语言机器—特定应用用户(使用特定应用语言)

I(经应L程序翻译成高级语言)

第4级I通用高级语言MiA高级语言程序员(使用通用高级语言)

I(经编并程序翻译成汇编语言)

第3级I汇编语言机汇编语言程序员(使用汇编语言)

I(经汇的程序翻译成机器语言、操作系统原语)

第2级I操作系统语言操作系统用户(使用操作系统原语)

।I(装耳语解释子程序翻译成机器语言)

第1级I传统机器语为丽一传统机器程序员(使用二进制机器语言)

।I(由微逑序解释成微指令序列)

第0级I微指令串后机而一微指令程序员(使用微指令语言)

(由硬件译码器解释成控制信号序列)

图L1计算机系统的多级层次模型

2001.9.1计算机系统结构6

1.1.3其他重要名词概念(自学)

[计管机组成]计算机系统结构的逻辑实现。(P5)

[计算机实现]计算机组成的物理实现。(P5)

[计算机系统设计的3种主要方法“由下往上”、“由上往下”、“由

中间开始”。(P14)

[系列机](P23)

[兼容性](P24)

[模拟](P24)

[仿真](P24)

[虚拟机](P24)

[宿主机](P24)

[并行性]求解一个问题的若干操作在时间安排上的可重叠性。

2001.9.1计算机系统结构7

1.1.4冯.诺依曼(VonNeumann)型机器的特点(P22)

传统计算机又称为冯.诺依M型机器,它由运算器、控制器、存储器、输

入设备和输出设备5部分组成,并具有如下特点:

1.以运算器为数据流动中枢,以控制器为控制命令中枢;

2.存储程序并且执行,程序象数据一样可以修改;

3.存储器按地址访问,线性顺序编址;

4.程序顺序执行;

5.指令由操作码与操作数两部分组成;

6.数据用二进制编码;

7.机器由硬件与软件组成,硬件功能不能改变。

2001.9.1计算机系统结构8

1.1.5现代计算机系统的分类(Flynn分类法,P6)

按照指令流和数据流的多倍性状况把计算机分为:

1.单指令流单数据流(SISD--SingleInstructionStreamSingleData

Stream)

2.单指令流多数据流(SIMDSingleInstructionStreamMultiple

DataStream)

3.多指令流单数据流(MISDMultipleInstructionStreamSingle

DataStream)

4.多指令流多数据流(MIMD--MultipleInstructionStreamMultiple

DataStream)

例题:P32,题7,题8,题9。

2001.9.1计算机系统结构9

1.2定量知识3个性能公式

1.2.1Amdahl定律(加快经常性事件原理,P9)

T1

S——=----------------

nTF

n(1-^)+-7

Se

其中:Sn全局加速比;

To原执行时间(old);

Tn新执行时间(new);

Se被改进部分的局部加速比;

Fe被改进部分原执行时间占原来总时间的百分比。

2001.9.1计算机系统结构10

Amdah1定律的推导

改进之前程序运行总时间可写为:T=T(1-Fe+Fe),

改进之后由于其中部分操作加快,总时间降为:

F

Tn=Tova-Fe+上c,)

Je

根据加速比定义,有:s.=〃=-----1—―

。(1-T---

2001.9.1计算机系统结构11

Amdahl定律的图形

从图1.2可以看出,增大Se和Fe对Sn都有提升作用;但当Fe固定时

,一味增大Se对Sn的作用会越来越不显著。

图1.2Amdahl定律的图形

2001.9.1计算机系统结构12

1.2.2CPI与程序执行时间Te(Pll)

CPI是衡量CPU执行指令效率的重要指标。让我们先考虑一个标准测

速程序的全部执行时间Te和其中所有第i种指令的累计时间Ti,易知

T=ICxCPIxCYCLE

T=lCixCPLxCYCLE

1n

其中:CYCLE=—,IC=£lC]

fZ=1

另一方面,我们又可以写

nnn

Te=£Ti=£gXCPLXCYCLE}=^(/CxCP/)XCYCLE

i=\z=li=\_

比较上面第一式与最后一式,可以得到CPI与CPIi的关系

n

ICXCPI=XCP/)

Z=1

或者写为CPI=Z(—Lxcm,它表明CP/为所有C/V,.的加权平均值。

Z=1ic1

2001.9.1计算机系统结构13

1.2.3每秒百万指令数MIPS与每秒百万浮点数MFLOPS

(P11)

ICf

MIPS=—xl0-6=----------------x10-6=,二x10-6,主要用于标量计算机;

TeICxCPIxCYCLECPI

MIPS

MFLOPS=,主要用于向量计算机。

每次浮点运算所需指令条数

例题:P10,例1.1〜例1.5。

P33,题12,题13,题14o

2001.9.1计算机系统结构14

例题选讲(1)

・例1.1(P10)

Amdahl定律公式,已知:Fe=0.4,Se=10,求Sn。

它说明局部(40%)的大幅度改进(10倍)对全局的作用要小得

多(1.56倍)。

•例1.2(P10)

Amdahl定律公式,已知方案1:Fei=0.2,Sei=10,求Sm;

已知方案2:Fe2=0.5,Se2=2,求S112。

它说明大范围的小幅度改进(方案2)效果可能更好。

2001.9.1计算机系统结构15

例题选讲(2)

・例1.3(P11)

CPI公式,注意该公式中的指令数百分比不同于Amdahl定律

中的时间百分比Fe,避免用错。

已知:ICFP/IC=25%,IC非FP/IC=75%;

ICFPSQR/IC=2%,IC非FPSQR/IC=98%。

改进前:CPIFP=4.0,CPI非FP=1.33;

CPIFPSQR=20,CPI非FPSQR=?

改进后:CPIFP=2.0,CPI非FP=老值;

CPIFPSQR=2.0,CPI非FPSQR=老值。

求:两种方案改进后的CPI。

分析:方案2缺一个条件CPI非FPSQR,但改进前用两种方法算出

的CPI应该是相同的,所以由

CPI老=CPIFPXICFP/IC+CPI非FPXIC非FP/IC

=CPIFPSQRxICFPSQR/IC+CPI非FPSQRXIC非FPSQR/IC

2001.9.1计算机系统结构16

例题选讲(3)

解出CPI非FPSQR=80/49

现在分别用两种方案改进后的参数代入公式,算出新的CPI为

1.64和1.5,显然CPI值较小的方案2较好。

教材的解法中有两个小公式值得注意,一个是:

IC

CPI..-=CPI.-(CPI.-CPI)

新老丁「r',老I新,

IC

它的实质就是

时钟周期数总改变量=(GP/浙一C7VQ/C=(C7V,新一C7V-)/£

另一个公式较容易理解:

2001.9.1计算机系统结构17

例题选讲(4)

•例1.4(P12)

Te公式,其中CPI用相应的公式代换

nic

q=汇(CP//xi-ICXCYCLE

z=lIC

对A机器,已知CPI转=2,IC转/ICA=20%,CPI非转=1,IC非转/ICA=80%,

Te_A=l.2XICAxCYCLEA;

对B机器,从题义可知,IC比转=IC转,ICB=ICAX80%,CYCLEB

义比转比转转/

=1.25CYCLEA,CPI=2,所以IC/ICB=IC(ICAX80%)

=25%,CPI非比转=1,IC非比转/ICB=75%,

Te_B=1.25XICBxCYCLEB

=1.25X80%XICAX1.25XCYCLEA

=1.25XICAXCYCLEA>Te_A

显然A机器快一些。

2001.9.1计算机系统结构18

例题选讲(5)

♦例1.5(P12)

Te公式,改动上题中CYCLEB=1.1XCYCLEA,则最后

Te_B=1.25XICBxCYCLEB

=1.25X80%XICAX1.1XCYCLEA

=1.1XICAxCYCLEA<Te_A

这时B机器快一些。

Sn.

•题12(P33)20------------------------

zI

Amdahl定律公式,代入已知量/\

✓/{

Se=20变成一元函数10.5/

Z/

Sn=20/(20-19Fe)/1/]

用三点作图法作出关系曲线。L8/'J:

1------------1_

00.51Fe

2001.9.1计算机系统结构19

例题选讲(6)

・题13(P33)

Amdahl定律公式,代入已知量Se=20,Sn=2,解出Fe=10/19

•题14(P33)

Amdahl定律公式,代入已知量Se=20,Sn=10,解出Fe=18/19

2001.9.1计算机系统结构20

本章小结

本章从定性知识和定量知识两个方面介绍计算机系统结构的基本概

念。有关重点如下:

(1)计算机系统结构的广义定义与狭义定义(9项内容),计算机系统结

构与计算机组成的主要分工;

(2)计算机系统的多级层次模型(6级),以及基于该模型的透明性判断

方法;

(3)计算机实现、计算机系统设计的主要思路、模拟、仿真、虚拟机、

宿主机、系列机、兼容性、并行性等重要名词的含义;

(4)冯.诺依曼型机器的7个特点;

(5)现代计算机系统分类的Flynn法(4类);

(6)Amdahl定律;

(7)平均周期数CPI公式,程序执行时间Te公式;

(8)每秒百万指令数MIPS公式,每秒百万浮点数MFLOPS公式。

习题:P33,题15,题19;P392,题10,题11,题12。

2001.9.1计算机系统结构21

第二章指令系统(P36)

本章介绍指令系统设计中2个最基本的内容:数据表示、操作码优

化。

2.1数据表示

[数据表示]就是计算机硬件能够直接辨认与处理的数据类型。

人们通常使用的数据类型有整数、实数、逻辑数(布尔数)、字符串、

队列、堆栈、链表、文件等,它们的运算方法各不相同。

所谓“硬件能够直接辨认与处理”,指的是对该数据类型的各种运

算操作都有相应的实现硬件电路。

硬件不能直接辨认与处理的数据类型就要根据数据结构的知识编制

软件转化为硬件能处理的数据类型。

下面介绍通用型计算机数据表示集合中的一个基本成员——浮点

数据的分析与设计。

2001.9.1计算机系统结构22

2.1.1浮点数据表示(P38,P39)

浮点数据就是高级语言课程中所说的“实型数”。

2.1.1.1浮点数的组成

浮点数的组成与人们通常所说的“科学记数法”非常相似,唯一不同的是各部分

均为有限位数,如下所示

N=mxr^

它的主要参数有8个:

m——尾数,一般为纯小数,符合规格化原则(即最高位的绝对值不为0),

用泵码或补码表示;

e——阶码,整数,常用移口表示(见下文解释);

rm——尾数的基值,简称尾基,常见的有2进制、8进制、16进制、10进制等,

选定以后不变;

re——阶码的基值,简称阶基,目前都采用2,也是选定以后不变;

P—尾数的位数,未将符号位计入;

q—阶码的位数,未将符号位计入。

mf——尾数的符号,表示数的正负,简称数符;

ef——阶码的符号,表示阶码的正负,简称阶符。但对移码表示来说,这仅仅

是额外的1位2进制数,不决定正负。

2001.9.1计算机系统结构23

移码(P41)

移码是一种2进制记数方法,它的真值等•「相同编码的无符号数加1

危d。例如,同样是2进制编码000000〜111111,看作6位无符号数时的取值范围是0

〜63,而看作6位移-10码的取值范围就是-10〜53O如下图所示。

图2.1移码与无符号数的比较实例

移码是一种有符号数,但它的最高位通常不决定数的正负,不应称为符号位。它的

独特之处在于其最小取值的2进制编码是全0,这给机器零的判断和处理电路设计带来

很大方便。

2001.9.1计算机系统结构24

2.1.1.2浮点数的机内格式(P39)

一种浮点数中每个数据的尾基:、阶基心都是相同的,在设计运

算电路已经作为默认值来使用,各个具体数据在存储时只需要存入

如下参数即可:

各字段位数:1位1位阶码q位尾数P位

e

mff®q-1.........e0••m[•••««•nip

对应位的权:....r°4%一1.........r-p

VzDe1111m11

隐含小数点

图2.2浮点数的机内格式

2001.9.1计算机系统结构25

2.1.1.3浮点数的性能(P38)

浮点数的性能主要用表数范围、表数精度和表数效率来刻画,下面分别进行分析。

(1)表数范围(P39)

表数范围由这样一些参数构成:最小负数、最大负数、最小正数、最大正数、

最小绝对值|用品、o它们几何意义可以在数轴上表示,如下图。

最小负数最大负数0最小正数最大正数

图2.3数轴上的表数范围示意图

图中阴影部分为浮点数的表数范围。

根据浮点数的组成表达式可知,图2.3中4个边界值分别由尾数小阶码e各自的

边界值两两组合而成,如下所示。

最大支数一最大正尾数/最大阶码;

最小正数----最小正尾数/最小阶码;

最大负数一最大负尾数/最小阶码;

最小负数一最小负尾数/最大阶码。

2001.9.1计算机系统结构26

•例2.1

对规格化浮点数,尾数为原码,阶码为移-琮码,写出表数范围。(P40)

解:由于原码在数轴的零点两边对称分布,即最大正数与最小负数的绝对值相

等、最小正数与最大负数的绝对值相等,所以可以用最小、最大绝对值来描述

它的分布。

首先根据图2.2和式2.1以及移码的基本定义,可以确定绝对值的极值表达式:

又•储=(1一北p),e=2r^-1-d,/.\N\=(1_%.).琮

maxm1THXeIImaxmm

写在一起就是:

]dp2re

rm.r~m<N<v(\—rm~)-rm

再用阶码的偏移量代换式中的-d得:

1•L

mmII、m7m

2001.9.1计算机系统结构27

可以代入具体数字来帮助理解:

设心=10,2=4,r=10,q=3。

按此题约定,-d=-IO',于是有:

m=101,e.=—d=—103,=101-1010,如下图所示。

minmnIlimn

1位1位阶码3位尾数4位

X0000..1000

m=(l-10-4),e=2-103-l-6Z=2-103-l-103=103-l,

irax/m3*

N=(1-10—4).如下图所示。

max

1位1位阶码3位尾数4位

X1999..9999

2001.9.1计算机系统结构28

(2)表数精度(P42)

表数精度用最大表数误差表示(指数轴

相对误差);—I---------------•---------------1——I

最大绝对误差是真实值与可表示值Nk真实值xNk+i

之间的可能最大距离,也就是相邻两

个可表示值间距的1/2,如图2.4所示

0根据浮点数的组成式有其定义:图2.4最大绝对误差示意图

5——(N1,,—TV,)=—(m,,,—m,)xr£=—xr~pxre

1mxCvk+14/C'k+\mCmm

显然它随着阶码e增大而增大,不是一个定数。

2001.9.1计算机系统结构29

最大相对误差与阶码e无关,但与尾数m的值有关。它的定义是

xr

5m11

__maxxr

几X=

klmX琮2Xm

上式中,当分母加取最小值时分式值达到最大。

1

由于二小巾,所以最大相对误差上限为口,"产。

2001.9.1计算机系统结构30

(3)表数效率(P45)

定义:

,、其中规格化浮点数个数2.(r-l).rf-1-2-^+1r-l1

77(r)=----------------------------------=------7---------------------------、m---=1

m

可以生成的浮点数个数2・r:2-r;rmr

此式说明效率之所以低于100%,是因为规格化的尾数最高位叫只能有

%T种取值的缘故。可以看出,〃的极小值与极大值分别是

2-1

7(2)=——=50%,lim77(%)=100%

[隐藏位技术]是一种提高表数效率的方法,但仅适用于r:2的情况:

尾数最高位叫在二进制条件下只有0和1两种可能,按照规格化要求,

叫可由其它位推出,。“隐藏”了叫之后,尾数只存储后面pT位,

它们中的任一位都有1m种取值,所以表数效率几=100%。

2001.9.1计算机系统结构31

2.3指令格式的优化(P90)

2.3.2操作码优化

目前常用的编码方法有3种:定长编码,Huffman编码,扩展编码。

2.3.2.1定长编码就是所有指令使用相同的代码位数,其最小码长等于

L=L=[Log2n]

式中了是平均码长,/,是第i种指令的码长,n是指令总数。

•例2.2

已知n=15,求定长编码的最小平均码长。

解:_

L=[Log215~]=4

2001.9.1计算机系统结构32

2.2.1.1Huffman压缩编码(P91)

(1)Huffman压缩概念(最佳编码定理):当用n个长度不等的代码分别代表n种

发生概率不等的事件时,按照短代码给高概率事件、把长代码给低概率事

件的原则分配,可使平均码长达到最低。

(2)Huffman编码方法

这种编码方法由两个过程组成。

频度合并:将全部n个事件(在此即为n条指令)的频度值排序,选取

其中最小的2个频度合并,然后将剩下的nT个频度再次排序,再合并最小

的2个频度,如此重复,直至剩下1个频度为止。记录所有的合并关系,形

成一棵二叉树----Huffman树,所有原始频度值充当树叶,而最后剩下的

总频度1为树根;

码元分配:从树根开始,对每个中间结点的左右2个分支边各赋予一

位代码“0”和“1”(“0”在哪一侧不限)。读出从根结点到任一片树叶

的路径上依次出现的代码位就排成了这个事件(即指令)的完整编码。由

于频度高的事件较晚被合并,它的编码位数也就较少,符合Huffman压缩原

则。

上面所说的频度值就是各事件实际出现次数的百分比,它是理论出现概率

的dfi似值。计算机系统结构33

(3)编码方法性能指标(P91-P93)

信息量:根据信息论的基本知识,在n种可能发生的事件集合中,报告第i

种事件发生的消息中包含的信息量为

4T0ga(')=-10ga4

其中Pi是第i种事件发生的先验概率,a是编码基值。信息量的单位是表示位

数(最少所需位数)。

这个定义式表明事件的发生概率越低,关于它的消息中的信息量越大

O

•嫡(entropy)----平均信息量:一个消息源对n种事件发布的消息的信息

量平均值,记为

nn

■=—♦,)=—汇[4・bg〃(4)]

i=li=l

2001.9.1计算机系统结构34

・平均码长:各事件编码长度的数学期望。

Z=£(K)

Z=1

•信息冗余昌:它表明消息编码中“无用成分”所占的百分比。

L-H

RxlOO%

L

从减少存储与传输量的角度看,编码方法的平均码长越短越好。但是平

均码长不可能无限制缩短,它的下限就是嫡(即R二0时)。如果短于燧就一

定会丢失有用信息(即混淆不同指令),这是不允许的。

2001.9.1计算机系统结构35

2.2.1.2扩展编码方法(等长扩展法,P93)

•用码长表示:例如4-8-12法。这并不能说明具体编码方法,例如

下面两种编码方法都是4-8-12法。

•用码点数表示:例如15/15/15法,8/64/512法

-15/15/15法,每一种码长都有4位可编码位(前头可以有相同

的扩展标识前缀),可产生16个码点(即编码组合),但是

至多只能使用其中15个来表示事件,留下1个或多个码点组合

作为更长代码的扩展标识前缀。已经用来表示事件的码点组

合不能再作为其它更长代码的前导部分,否则接收者会混淆。

这就是“非前缀原则”。

-8/64/512法,每一种码长按4位分段,每一段中至少要留下1

位或多位作为扩展标识。各段剩下的可编码位一起编码,所

产生的码点用来对应被编码事件。每一段中的标识位指出后

面还有没有后续段。

2001.9.1计算机系统结构36

•例2.3

已知频度序列为0.00.1,0,15,0.15,0.2,0.3,求Huffman编码、等

长扩展3/3/3码、定长编码、三者的平均码长、信息冗余量以及嫡。

解:

燧H=

-(2X0.1Xlog20.1+2X0.15Xlog20.15+0.2Xlog20.2+0.3Xlog20.3)

=2.47

根据Huffman编码方法作Huffman树如图2.5所示,三种编码方法的结果列于

表2.1中。

2001.9.1计算机系统结构37

表2.1Huffman编码、等长扩展3/3/3码及定长编码

指令14:5

I1121316

频度0.1。10.15。15。20.3

Huffman码0000011001010111

平均码长£=2.5,信息冗余量R—1.2%

3/3/3码111011011100100100

平均码长/=2.7,信息冗余量R—7.5%

定长编码000001010011100101

平均码长£=3.0,信息冗余量RQ17.7%

2001.9.1计算机系统结构38

2.2.2操作数优化寻址方式比较(P95)

指令中操作数占用的位数由操作数的个数与寻址方式决定。

按操作数的个数划分,有零操作数指令、一操作数指令、二操作

数指令、三操作数指令共四种形式。应该按机器用途来选择(P99,

表2.20)o

缩短操作数长度的常用方法是间址和变址(P99页末)。

2001.9.1计算机系统结构39

本章小结

本章主要内容有数据表小和操作码优化两个部分。具体细节如下:

(1)浮点数的表数范围(在数轴上的4个端点)、表数精度3、表数效率中

(2)Huffinan编码方法;

(3)等长扩展编码方法(15/15/15法,8/64/512法);

(4)编码方法性能指标(嫡H,平均码长匚,信息冗余量R)。

习题:P124,题3(忽略P124倒1行〜P125第8行文字),题13。

2001.9.1计算机系统结构40

第三章存储系统(P130)

长期存在的问题:在合理的总价格限制下,单纯性主存设备的速

度跟不上CPU的发展,容量不能满足软件尺寸扩大。

本章学习两种提高主存系统性能/价格比的结构化方法:

器与存储层次技术。后者为主。

2001.9.1计算机系统结构41

3.1并行存储器(P136)

并行存储器技术可以提高主存系统的整体等效速度,实际应用中,

常将它与存储层次技术组合使用,可以互为补充,获得很高的性能。

并行存储器技术的基本思想是用多个独立的存储部件组成土存系

统,让它们并行工作,在一个存储周期内可以访问到多个数据,从

而实现较高的存取流3。

并行存储器包括多种类型,我们仅介绍提高访问速度效果最显著

的低位交叉访问这一种。

2001.9.1计算机系统结构42

低位交叉访问并行存储器的结构:

它由n个存储体组成(一般n为2的整次塞),每个体均有独立的地址译

码器和数据缓冲器,以主存地址低位字段(最低的logm位)作为体选译

码信号,而剩下的高位字段则是体内地址。如图所示(设n=4)o

地址总线

数据总线

2001.9.1计算机系统结构43

主存地址与结构参数的换算(P139):

求主存地址:A=nxj+k

求结构参数:j=一,k=Amodn

其中:n——存储体个数,A——主存地址,

j---体内地址,k-----体序号(k=0,1,2,n-1)

•例3.1

已知n=4,问主存地址13是在几号体的几号单元?

解:

由于n=4,体选译码信号使用主存地址的最低log2n=2位,所以地

址13(其二进制为1101B)对应的体号k=1(即01B)、体内地址j=3(

即11B),也就是说,地址13位于1号体的3号单元(参看前一页插图)。

根据上式,所有k值(即体号)相同的地址之间均相差n的整倍数

,称之为“模n同余”。

2001.9.1计算机系统结构44

低位交叉访问并行存储器的加速机理:

我们衡量存储器件速度的常用指标是存储周期Tm,它是同一存储单元连续两

次启动的最小时间间隔,数值越小表明存储器件速度越快。

传统存储系统只有一套地址译码器和数据缓冲器,所以各单元必须串行工作

,也就是说每个Tm周期内至多只能完成一次访问。

由多个存储体构成的并行存储器中,各个存储体都有独立的地址译码器和数

据缓冲器,它们可以并行工作,使得一个Tm周期内可完成多次访问,相当于加

速了多倍。最好情况下一个Tm周期内可完成n次访问。

当前Tm周期中只要发现有一个新的访问地址与前面地址属于同一个存储体,

该地址及其后面的地址就会被阻塞(称为访存冲突),留到下一个Tm周期访问。

机器地址序列常常具有顺序性,按照低位交叉的规律分配地址可使相继出现

的地址落在相同存储体的概率降到最低(参见上图)。

考虑到地址总线与数据总线的拥挤问题,一个Tm周期里发送的多个访问请求

最好彼此错开Tm/n时间,如P140图3.11所示,否则实现的复杂度会增加。

2001.9.1计算机系统结构45

计算平均加速倍数(P141):

1.只考虑取指地址序列(假设地址顺序

递增,直至出现一条转移指令):

冗J二(1二g)一(n41倒数第一行)

g

其中g是指令序列中出现转移指令的概

率。此公式在右图中用绿线表示。

2.只考虑取数地址序列(假设地址完全

随机)

K—」nx/r/2—0.28

此公式在右图中用表示。

2001.9.1计算机系统结构46

例题:P203,题5

解:已知冗=匕支出,其中g=0.1,依题意有

g

——l-(l-g)z?+1——1—(1—g)"

K「—-―2—>K+0.2=―-—―+0.2

九十1n

gg

得0.9”>0.2,角星出〃〈思《15.28

1g0.9

向下取整,得15。取〃+1=16也对(文字理解差异)。

2001.9.1计算机系统结构47

3.2存储层次原理及性能指标

3.2.1基本原理

•定义:(参见P131第二段)

由2种或多种存储部件构成的复合存储系统,通

过内部管理机构的自动更换机制,能够不断将大容r

量低速存储部件中的活跃内容复制到小容量高速存

储部件中(后者作为前者的局部副本)。

它既能满足CPU的快速存取需要,又有很大的存

储容量,平均单位价格也很低,等效于同时满足3

方面要求的理想单一存储部件。

Mn

•依据:程序访问的局部化原理(时间局部化,空

图3.3存储层次模型

间局部化)。

•模型:如右图所示,存储层次由n层组成,

满足3个不等式:Ti<Ti+1,Si<Si+1,Ci>ci+1o

2001.9.1计算机系统结构48

3.2.2性能指标(P132-P134)

(1)容量:s=s2(理论上)

(2)单价:(美分/bit)

5

,G+

G•S]+•S2S

c=------------------=―:2

S[+邑

S?

它的最小值是lim。=02

色一。

S]

2001.9.1计算机系统结构49

(3)速度:表现访问速度的参数很多

•命中率:反映被访问数据事先已在此的发生概率

H=-----1—,O<H<1

N'+N?

•等效访问时间:命中时的访问时间为不命中时的访问时间为丁2,等效

访问时间则是它们的概率均值

T=H・T]+Q_H)T2

lim7=不

“fl00%

2001.9.1计算机系统结构50

•访问效率:这是一个相对值,便于不同系统之间的比较。

e=一

T

1

1

r+(l-r)-7f

H和r对e的作用

(厂是邻级速度比)。

其中04e<Lr^>1

T\

访问效率e受H和r的影响(参见右图):

rT->eO

2001.9.1计算机系统结构51

•Cache预取技术对命中率的提高作用(P134):

这里所说的“预取”技术,并不是根据对程序执行的未来趋势进行

猜测以提前调入数据,而仅仅是在发生不命中情况时把调入1个数据

字改为调入1个数据块的策略。根据程序的局部化原理,在当前使用

数据周围的其它数据未来被使用的几率大于远处数据,所以该数据块

中被提前调入的邻近数据很可能成为未来的命中点,从而提高命中率

O

采用这种预取技术后新的命中率为

其中:H——原命中率(即按照不命中时取入1字的策略);

出——新命中率(即按照不命中时取入1块的策略);

n——每块数据平均被访问次数。

2001.9.1计算机系统结构52

H,的推导:

N.

按照定义,原不命中率1—H=——--,新不命中率

N、+N2

N,

T—H'=-----------,并且有No

Ni'+N:1212

由于预取使得每块数据中的不命中次数由n次降低到1次,所以有

入丁N.1-H

N2——N20此式可改写为n=-----=---------

nN:\—H'

整理得H,=Ho

n

2001.9.1计算机系统结构53

•加速比(P193)

Cache-主存层次的主要作用是提高访问速度,系统的等效速度应

高于主存(即M2)的原有速度,两个速度之比称为加速比。

§—等效速度—时间%

P~河2速度一等效时间一T

H工"一切工

1

Q—H)+H/r

2001.9.1计算机系统结构54

•增加中间层对e的影响

•例3.2

有一个109字节的程序被装

入右图所示的M3准备运行。

假定指令字长二1字节,程序

中无转移指令和内存读/写指

令。

(b)

(1)按图(a)求T和e;

⑵按图(b)推导三层体系的T公式;

(3)按图(b)求T和e;

(4)比较(1)(3)结果,有何结论?

2001.9.1计算机系统结构55

解:

103-11

(1)=——,\-H=-

IO3YIO3

T=HM+Q-H)TB3

1O3-11103+102-l

=---------------xlOOzzs1=-----------usx(1+10%)-7]

103103103

Ty

T

Q)T=H\T[+Q-H\).T2

T?—H2,TB2+(1—H〉TB3

由上面2式有

T=H-7]+(1——H2)•图3〕

=H]11+Q_H)H2.TB2+Q_H)Q_H2)・TB3

2001.9.1计算机系统结构56

103-11

(3)H=——1-H=

210392103

103-11-103-11

T=------xljUS+—rXxlO/ZS,H------x100//5

103103io3103

106+104-103+102-10

跖。(i+i%)N

106

♦99%

T

(4)结论:插入中间层后,层间速度差减少,访问效率提高。

习题:P202,题3。

2001.9.1计算机系统结构57

存储层次的管理方式(P148)

根据程序的局部化性质,存储层次机构对用户文件的管

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论