考研计算机冲刺班组成原理讲义-杨楠_第1页
考研计算机冲刺班组成原理讲义-杨楠_第2页
考研计算机冲刺班组成原理讲义-杨楠_第3页
考研计算机冲刺班组成原理讲义-杨楠_第4页
考研计算机冲刺班组成原理讲义-杨楠_第5页
已阅读5页,还剩84页未读 继续免费阅读

下载本文档

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

文档简介

考研计算机冲刺班组成原理讲义.杨楠

【考查目标】

1.明白得单处理器运算机系统中各部件的内部工作原理、

组成结构以及相互连接方式,具有完整的运算机系统的整机概

念。

2.明白得运算机系统层次化结构概念,熟悉硬件与软件之

间的界面,把握指令集体系结构的差不多知识和差不多实现方

法。

3.能够运用运算机组成的差不多原理和差不多方法,对有

关运算机硬件系统中的理论和实际咨询题进行运算、分析,并

能对一些差不多部件进行简单设计。

一、运算机系统概述

本章属于运算机组成原理概述部分,内容比较简单,

也容易把握,在考研中没有太难的题目。下面就本章内容,要

紧部分作以下归纳:

(一)运算机的类型

电子运算机分为两大类:电子模拟运算机和电子数字

运算机。

电子数字运算机的要紧特点是:按位运算。

数字运算机又可分为专用运算机和通用运算机。

通用运算机又分巨型机、大型机、中型机、小型机、

微型机和单片机。

它们的区不在于体积、简易性、功率损耗、性能指标、

数据储备容量、指令系统规模和机器价格等。

运算机的应用范畴:社会的各个领域。

(二)运算机进展历程

运算机系统的进展历史如下:

第1代运算机(1946年一1957年):电子管时代;

第2代运算机(1958年一1964年):晶体管时代;

第3代运算机(1965年一1971年):中小规模集成电

路时代;

第4代运算机(1972年一1985年):超大规模集成电

路时代;

第5代运算机(1986年一至今):庞大规模集成电路

时代。

(三)运算机系统层次结构

1.运算机硬件的差不多组成

硬件分为5大部分:操纵器、运算器、储备器、输入设备

和输出设备。

早期运算器和操纵器构成运算机的CPU,现在一样还

加上CPU内部的Cache共同构成CPU,加入的是第一级Ca

che,也是储备器中速度最快,容量最小的储备器。

对冯•诺依曼运算机体系结构的特点要有深刻的明白

得:使用二进制(为何用二进制?)

储备程序,同时按照地址顺序执行。储备程序并按照

地址顺序执行是冯•诺依曼运算机设计的关键思想。

2.运算机软件的分类

运算机软件按照面向对象的不同可分两类:系统软件和应

用软件。

系统软件:用于治理整个运算机系统,合理分配系统资源,

确保运算机正常高效地运行,这类软件面向系统。

应用软件:是面向用户按照用户的专门要求编制的应用程

序,这类软件通常实现用户的某类要求。

3.运算机的工作过程

冯•诺依曼运算机特点差不多上指出了运算机的工作过程。

冯•诺依曼体系结构的差不多思想是:储备程址顺序自动执行。

第一将指令和数据储备到运算机中,运算机启动后,就能够序

取出指令并依次执行,直到程序执行完毕,得到运算结果为止。

冯•诺依曼体系结构运算机包含5个差不多部件:输

入设备、运算器、操纵器和输出设备。运算器进行数据运算和

数据变换;操纵器为运算机的工作提供统一的时钟,对程序的

各差不多操作进行时序分相应的操纵信号,驱动运算机的各部

件有序地完成程序规定的操作内容;储备器用来存放程序、

数据和运算结果;输入瑜出设备则完成相应的输入输出转换。

4.运算机系统的层次结构

(1)层次结构。运算机系统是一个复杂的软、硬件结合体,

它包含硬件系统和软件系统两部分。它通常由5个不同的级组

成,在每一级都能够进行程序设计。由微程序设计级、一样机

器级、操作系统级、汇编语言级和高级语言级组成,如图所示:

(2)软件和硬件逻辑上的等价性,任何操作能够由软件来

实现也能够由硬件来实现。早期要紧由软件来实现较复杂的逻

辑(硬件软化),现在存在软件硬化的趋势。专门注意运算

机是一个软件和硬件结合的整体系统。固件:把软件刻入RO

M,使软件固化,如此得到的一个实体确实是固件。

(3)兼容性。兼容性的设计思想实际上确实是系列机的概

念。在系列机中,新机型要求支持老机型上开发的软件;而且

还有硬件上的兼容要求。兼容要求软件和硬件设备能够直截了

当在不同的机型上使用。

运算机系统的层次结构

(四)运算机性能指标

(1)差不多字长。差不多字长是指参与运算的数的差不多

长度,它由加法器、寄存器和数据总线的位数决定。字长标志

着精度,字长越长,运算精度越高。

(2)主存容量。运算机主储备器所能够储备的信息的全部

总量,称为主存容量。以字节数来表示储备容量的运算机称为

字节编码运算机;而以字为单位编址的运算机,储备容量等于

字数乘以字长。

(3)主频。每台运算机的内部,都有一个持续地产生固定

频率时钟脉冲的装置,称为主时钟。主时钟的频率通常是机器

的主频率,主频率是衡量一台,-c,蹲机速度的重要参数。

(4)运算速度。运算速度通常反映运算机运算的快慢。对

运算速度的衡量有以下几种方法:

按照不同类型指令在运算过程中显现的频率乘上不同的系

数,求得统计平均值,这时所指的运算速度是平均运算速度。

直截了当给出每条指令的实际执行时刻。

以MIPS和MFLOPS作为计量单位来衡量运算速度。MIP

S表示每秒百万条指令,MFLOPS表示每秒百万次浮点运算。

1.吞吐量、响应时刻

(1)吞吐量:单位时刻内可执行程序的个数。

(2)响应时刻:从事件开始到事件终止的时刻,也称执行

时刻。

2.CPU时钟周期、主频、CPLCPU执行时刻

(1)CPU时钟周期:机器主频的倒数,Tc

(2)主频:CPU工作主时钟的频率,机器主频Rc

(3)CPI:执行一条指令所需要的平均时钟周期

(4)CPU执行时刻:TCPU=InXCPIXTC

In执行程序中指令的总数,CPI执行每条指令所需的平均

时钟周期数,TC时钟周期时刻的长度。

3.MIPS、MFLOPS

(1)MIPS(MillionInstructionsPerSecond)

MIPS=In/(TeX106)

=In/(InXCPIXTcX106)

=Rc/(CPIX106)

Te:执行该程序的总时刻,In:执行该程序的总指令数,R

c:时钟周期Tc的到数

MIPS只适合评判标量机,不适合评判向量机。标量机

执行一条指令,得到一个运行结果。而向量机执行一条指令,

能够得到多个运算结果。

(2)MFLOPS(MillionFloatingPointOperationsPerSec

ond)

MFLOPS=Ifn/(TeX106)

Ifn:程序中浮点数的运算次数

MFLOPS测量单位比较适合于衡量向量机的性能。一

样而言,同一程序运行在不同的运算机上时往往会执行不同数

量的指令数,但所执行的浮点数个数常常是相同的。

二、数据的表示和运算

(一)数制与编码

1.进位计数制及其相互转换

(1)进位计数制

进位计数制是指按照进位制的方法表示数,不同的数制均

涉及两个差不多概念:基数和权。

任意一个R进制数X,设整数部分为n位,小数部分为m

位,则X可表示为:

X=an-lrn-l+an-2rn-2+—+aOrO+a-lr-1+a-2r-2+

--+a-mr-m

一,n

(X)r=

i=n-\

(2)不同数制间的数据转换

1)二、八、十六进制数转换成十进制数

利用上面讲到的公式:(N)2=LDi«2i、(N)8=XDi・8i、

(N)16=12Di*16i、进行运算。

2)十进制数转换成二进制数

对整数部分,一样采纳除2取余数法,对小数部分,一样

用乘2取整数法。

3)二进制数、八进制数和十六进制数之间的转换

3位二进制数组成1位八进制数,4位二进制数组成1位十

六进制数。

关于一个兼有整数和小数部分的数以小数点为界,小数点

前后的数分不分组进行处理,不足的位数用0补足。对整数部

分将0补在数的左侧,对小数部分将0补在数的右侧。如此数

值可不能发生差错。

2.真值和机器数

真值:数据的数值通常以正(+)负(-)号后跟绝对值来表示,

称之为“真值”。

机器数:在运算机中正负号也需要数字化,一样用0表示

正号,1表示负号。把符号数字化的数成为机器数。

3.BCD码

在运算机中采纳4位二进制码对每个十进制数位进行编

码。4位二进制码有16种不同的组合,从中选出10种来表示

十进制数位的0〜9,用0000,0001,1001分不表示0,1,

9,每个数位内部满足二进制规则,而数位之间满足十进制规则,

故称这种编码为“以二进制编码的十进制(binarycodeddec

imal,简称BCD)码”。

加法运算的修正规则是:

如果两个一位BCD码相加之和小于或等于(1001)2,即

(9)10,不需要修正;

如相加之和大于或等于(1010)2,或者产生进位,要进行

加6修正,如果有进位,要向高位进位。

4.字符与字符串

在运算机中要对字符进行识不和处理,必须通过编码的方

法,按照一定的规则将字符用一组二进制数编码表示。字符的

编码方式有多种,常见的编码有ASCII码、EBCDIC码等。

1)ASCH码

ASCII码用7位二进制表示一个字符,总共128个字符元

素,包括10个十进制数字(0-9)、52个英文字母(A-Z和a-z)、

34专用符号和32操纵符号。

2)EBCDIC码为ExtendedBinaryCodedDecimalInterch

angeCode的简称,它采纳8位来表示一个字符。

3)字符串的存放

向量储备法:字符串储备时,字符串中的所有元素在物理

上是邻接的。

串表储备法:字符串的每个字符代码后面设置一个链接字,

用于指出下一个字符的储备单元的地址。

5.校验码

码距:码距按照任意两个合法码之间至少有几个二进制位

不相同而确定的,仅有一位不同,称其码距为1。

(1)奇偶校验码

它的实现原理,是使码距由1增加到2。若编码中有1位

二进制数出错了,即由1变成0,或者由0变成1。如此出错的

编码就成为非法编码,就能够明白显现了错误。在原有的编码

之上再增加一位校验位,原编码n位,形成新的编码为n+1位。

增加的方法有2种:

奇校验:增加位的0或1要保证整个编码中1的个数为

奇数个。

偶校验:增加位的0或1要保证整个编码中1的个数为

偶数个。

(2)海明校验码

它的实现原理,是在数据中加入几个校验位,并把数据的

每一个二进制位分配在几个奇偶校验组中。当某一位出错就会

引起有关的几个校验组的值发生变化,这不但能够发觉出错,

还能指出是哪一位出错,为自动纠错提供了依据。

假设校验位的个数为r,则它能表示2i•个信息,用其中

的一个信息指出“没有错误”,其余2r-l个信息指出错误发生

在哪一位。然而错误也可能发生在校验位,因此只有k=2r-l-r

个信息能用于纠正被传送数据的位数,也确实是讲要满足关系:

2r>=k+r+1

(3)CRC校验码

CRC校验码一样是指k位信息之后拼接r位校验码。关键

咨询题是如何从k位信息方便地得到r位校验码,以如何从位k

+r信息码判定是否出错。

将带编码的k位有效信息位组表达为多项式:

M(x)=Ck-lxk-l+Ck-2xk-2+—+Cixi+Clx+CO

式Ci中为0或1.

若将信息位左移r位,则可表示为多项式M(x).xr。如此

就能够空出r位,以便拼接r位校验位。

CRC码是用多项式M(x).xr除以生成多项式G(x)所得的

余数作为校验码的。为了得到r位余数,G(x)必须是r+1位。

设所得的余数表达式为R(x),商为Q(x)。将余数拼接在信

息位组左移r位空出的r位上,就构成了CRC码,那个码的可

用多项式表达为:

M(x)•xr+R(x)=[Q(x)•G(x)+R(x)]+R(x)

二[Q(x)・G(x)]+[R(x)+R(x)]

=Q(x)・G(x)

因此,所得CRC码可被G(x)表示的数码除尽。

将收到的CRC码用约定的生成多项式G(x)去除,如果无

错,余数应为0,有某一位出错,余数不为0。

(二)定点数的表示和运算

1.定点数的表示

(1)无符号数的表示

无符号数确实是指正整数,机器字长的全部位数均用

来表示数值的大小,相当于数的绝对值。关于字长为n+1位的

无符号数的表示范畴为:0—2n+l-l。

(2)带符号数的表示

带符号数是指在运算机中将数的符号数码化。在运算机中,

一样规定二进制的最高位为符号位,最高位为“0”表示该数为

正,为“1”表示该数为负。这种在机器中使用符号位也被数码

化的数称为机器数。按照符号位和数值位的编码方法不同,机

器数分为原码、补码和反码。

1)原码表示法

机器数的最高位为符号位,0表示正数,1表示负数,数值

跟随其后,并以绝对值形式给出。这是与真值最接近的一种表

示形式。

Hfx;o<x<1

[x源=4

[l-X=l+|X|;-l<X<0

2)补码表示法

机器数的最高位为符号位,0表示正数,1表示负数,其定

义如下:

X;O<X<1

[X]#=«

2++XA=2Z--||AX||;;-1-Sl<AX<0U

3)反码表示法

机器数的最高位为符号,0表示正数,1表示负数。

以一'/L[X;o<x<1

,的定义:[乂]反=,

2-2-n+X;-l<X<0

4)原码、补码和反码的讲明

数表示的范畴,

原码为:-l<x^-O,+OWx<l;0有-0(1.00-)和+0(0.0

。…)两种表示形式

补码为:-lWx<-0,+OWx<l;0只有一种表示方式,x最

小能够等于-1

反码为:-l<x^-O,+OWx<l;0有-0(1.11-)和+0(0.0

。…)两种表示形式

2.定点数的运算

(1)定点数的位移运算

左移,绝对值扩大;右移,绝对值缩小。算术移位规则:

符号位不变

算术移位和逻辑移位的区不:算术移位:带符号数移位;

逻辑移位:无符号数移位;

(2)原码定点数的加/减运算

对原码表示的两个操作数进行加减运算时,运算机的实际

操作是加依旧减,不仅取决指令中的操作码,还取决于两个操

作数的符号。而且运算结果的符号判定也较复杂。

例如,加法指令指示做(+A)+(―B)由于一操作数为

负,实际操作是做减法(+A)-(+B),结果符号与绝对值大

的符号相同。同理,在减法指令中指示做(+A)-(-B)实

际操作做加法(+A)+(+B),结果与被减数符号相同。由

于原码加减法比较繁琐,相应地需要由复杂的硬件逻辑才能实

现,因此在运算机中专门少被采纳。

(3)补码定点数的加/减运算

1)加法

整数[A]补+[B]#=[A+B]补(mod2n+l)

小数[A]补+[B]#=[A+B]补(mod2)

2)减法

整数[A]#-[B]#=[A+(-B)]补=[A]补+[-B]补(mod2

n+1)

小数[A]>-[B]#=[A+(-B)%、=[A]补+[-B]#(mod

2)

无需符号判定,连同符号位一起相加,符号位产生的进位

自然丢掉

(4)定点数的乘/除运算

1)乘法

<1>原码一位乘法

两个原码数相乘,其乘积的符号为相乘两数的异或值,数

值两数绝对值之积。

<2>定点补码一位乘法

有的机器为方便加减法运算,数据以补码形式存放。乘法

直截了当用补码进行,以减少转换次数。具体规则如下:

[xXy%、=[X]补(-yO+0.yly2…yn)

<3>布斯法

布斯公式:在乘数Yn后添加Yn+l=0。按照Yn+1,Yn

相邻两位的三种情形,其运算规则如下:

(1)Yn+1,丫n=0(Yn+1Yn=00或11),部分积加

0,右移1位;

(2)Yn+1,Yn=1(Yn+1Yn=10),部分积加[X]

补,右移1位;

(3)Yn+1,Yn=-1(Yn+1Yn=01),部分积加[一

X]补,右移1位

最后一步不移位。

<4>原码两位乘法,因此实际操作用Yi-1、Yi、C三位来操

纵。

Yi-1Yic操作

000+0,右移2位0-C

001+x,右移2位0-C

010+x,右移2位0-C

011+2X,右移2位0-C

100+2X,右移2位o->c

101-X,右移2位1-C

110-X,右移2位IfC

111+0,右移2位1-C

<5>补码两位乘法,按照前述的布斯算法,将两步合并成一

步,即可推导出补码两位乘的公式。

Yi-1Yic操作

000+0,右移2位0-C

001+x,右移2位0->C

010+x,右移2位0-C

011+2X,右移2位0-C

100+2X,右移2位OfC

101-X,右移2位l-C

110-X,右移2位Ifc

111+0,右移2位l-C

2)除法

<1>定点原码一位除法

1>复原余数法

被除数(余数)减去除数,如果为0或者为正值时,上商

为1,不复原余数;如果结果为负,上商为0,再将除数加到余

数中,复原余数。余数左移1位。

2>加减交替法

当余数为正时,商上1,求下一位商的方法,余数左移一

位,再减去除数;当余数为负时,商上0,求下一位商的方法,

余数左移一位,再加上除数。

<2>定点补码一位除法(加减交替法)

1〉如果被除数与除数同号,用被除数减去除数;若两数异

号,被除数加上除数。如果所得余数与除数同号商上1,否则,

商上0,该商为结果的符号位。

2〉求商的数值部分。如果上次商上1,将除数左移一位后

减去除数;如果上次商上0,将余数左移一位后加除数。然后

判定此次操作后的余数,如果余数与除数同号商上1,如果余

数与除数异号商上0o如此重复执行n-1次(设数值部分n位)。

3)商的最后一位一样采纳恒置1的方法,并省略了最低+

1的操作。现在最大的误差为2-n。

(5)溢出概念和判不方法

当运算结果超出机器数所能表示的范畴时,称为溢出。明

显,两个异号数相加或两个同号数相减,其结果是可不能溢出

的。仅当两个同号数相加或者两个异号数相减时,才有可能发

溢出的情形,一旦溢出,运算结果就不正确了,因此必须将溢

出的情形检查出来。判不方法有三种:

1)当符号相同的两数相加时,如果结果的符号与加数(或

被加数)不相同,则为溢出。

2)当任意符号两数相加时,如果C=Cf,运算结果正确,

其中C为数值最高位的进位,Cf为符号位的进位。如果CNCf

,则为溢出,因此溢出条件=C3Cfo

3)采纳双符号fs2fsl,正数的双符号位为00,负数的双符

号位为11。符号位参与运算,当结果的两个符号位甲和乙不相

同时为溢出。因此溢出条件=fs2®fslo

(三)浮点数的表示和运算

1.浮点数的表示

(1)浮点数的表示范畴

浮点数是指小数点位置可浮动的数据,通常以下式表示:

N=M•RE

其中,N为浮点数,M为尾数,E为阶码,R称为”阶的

基数(底)”,而且R为一常数,一样为2、8或16。在一台运

算机中,所有数据的R差不多上相同的,因此不需要在每个数

据中表示出来。因此,浮点数的机内表示一样采纳以下形式:

浮点数的机内表示一样采纳以下形式:

MsEM

1位n+1位m位

Ms是尾数的符号位,设置在最高位上。

E为阶码,有n+1位,一样为整数,其中有一位符号位,

设置在E的最高位上,用来表正阶或负阶。

M为尾数,有m位,由Ms和M组成一个定点小数。Ms

=0,表示正号,Ms=l,表示负。为了保证数据精度属数通常用

规格化形式表示:当R=2,且尾数值不为。时,其绝对值大于

或等于(0.5)10。对非规格化浮点数,通过将尾数左移或右移,

并修改阶码值使之满足规格化要求。

(2)IEEE754标准

按照IEEE754国际标准,常用的浮点数有两种格式:

(1)单精度浮点数(32位),阶码8位,尾数24位(内

含:位符号位)。

(2)双精度浮点数(64位),阶码11位,尾数53位(内

含:位符号位)。

单精度格式32位,阶码为8位,尾数为23位。另有一位

符号位S,处在最高位。

由于IEEE754标准约定在小数点左部有一位隐含位,从而

实际有效位数为24位。如此使得尾数的有效值变为l.Mo

例如,最小为xl.O…0,,最大为xl.l…1。规格化表示。故

小数点左边的位横为1,可省去。

阶码部分采纳移码表示,移码值127,1到254经移码为-

126到+127。

S(1位)E(8位)M(23位)N(共32位)

符号位000

符号位0不等于0(-l)S-2-126(0.M)为非规格化数

符号位1到254之间-(-1)S-2E-127-(1.M)为规格化数

符号位255不等于0NaN(非数值)

符号位2550无穷大

0有了精确的表示,无穷大也明确表示。关于绝对值较小

的数,能够采纳非规格化数表示,减少下溢精度缺失。非规格

化数的隐含位是0,不是1。

2.浮点数的加/减运算

加减法执行下述五步完成运算:

(1)“对阶”操作

比较两浮点数阶码的大小,求出其差AE,保留其大值E,

E=max(Ex,Ey)o当AEWO时,将阶码小的尾数右移AE位,

并将其阶码加上AE,使两数的阶码值相等。

(2)尾数加减运算

执行对阶之后,两尾数进行加减操作。

(3)规格化操作

规格化的目的是使得尾数部分的绝对值尽可能以最大值

的形式显现。

(4)舍入

在执行右规或者对阶时,尾数的低位会被移掉,使数值

的精度受到阻碍,常用“0”舍“1”入法。当移掉的部分最高

位为1时,在尾数的末尾加1,如果加1后又使得尾数溢出,

则要再进行一次右规。

(5)检查阶码是否溢出

阶码溢出表示浮点数溢出。在规格化和舍入时都可能发

生溢出,若阶码正常,力口/减运算正常终止。若阶码下溢,则设

置机器运算结果为机器零,若上溢,则设置溢出标志。

(四)算术逻辑单元ALU

1.串行加法器和并行加法器

(1)串行进位加法器

并行加法器能够同时对数据的各位进行相加,一样用n个

全加器来实现2个操作数的各位同时向加。其操作数的各位是

同时提供的,由于进位是逐位形成,低位运算所产生的进位会

阻碍高位的运算结果。

串行进位(也称波形进位)加法器,逻辑电路比较简单,然

而最高位的加法运算,一定要等到所有低位的加法完成之后才

能进行,低位的进位要逐步的传递到高位,逐级产生进位,因

此运算速度比较慢。

串行进位加法器

(2)并行进位加法器

为了提升运算速度,减少延迟时刻,能够采纳并行进位法,

也叫提早进位或先行进位。全加器中,输入Ai、Bi、Ci-1,输

出:

Si=AiBiCi-l+AiBiCi-l+AiBiCi-l+AiBiCi-1

Ci=AiBiCi-l+AiBiCi-l+AiBiCi-l+AiBiCi-1=

AiBi+(Ai+Bi)Ci-l

进位产生函数:Gi=AiBi

进位传递函数:Pi=Ai+Bi

Ci=Gi+PiCi-1

C4=G4+P4G3+P4P3G2+P4P3P2G1+P4P3P2P1C

0

并行进位加法器的运算速度专门快,形成最高进位输出的

延迟时刻专门短,然而以增加硬件逻辑线路为代价。关于长字

长的加法器,往往将加法器分成若干组,在组内采纳并行进位,

组间则采纳串行进位或并行进位,由此形成多种进位结构。

A16~12Bl6~12All-8Bll~8A7-4B7〜4A3〜。&

16位单级先行进位加法器

2.算术逻辑单元ALU的功能和机构

ALU部件是运算器中的要紧组成部分,又称为多功能函数

发生器,要紧用于完成各种算术运算和逻辑运算。ALU的算术

运算部件包含加法器、减法器、乘法器、除法器、增量器(+1)、

减量器(-1)、BCD码运算器等组件。ALU的要紧工作是按照

CPU的指令要求执行各种指定的运算,如加法、减法、乘法、

除法、比较、逻辑移位等操作。

通用寄存器组是一组存取速度最快的储备器,用于储存参

加运算的操作数和中间结果。访咨询寄存器无需高速缓存,也

不需要运行总线周期,因此指令的执行速度专门快。几乎所有

的指令都要将寄存器指定为一个操作数,有些指令还要求将操

作数存放在专用的寄存器中。

专用寄存器通常用于表示CPU所处于某种系统状态,AL

U中有两个重要的状态寄存器:指令指针寄存器IP(即程序计

数器PC)和标志寄存器FLAGS。

三、储备器层次机构

(一)储备器的分声随机储备器(MM)静态RAM

动态

1.按储再介雁辕可RAM

MROM

分为半导体储差%薪勰版胤磁提蟠器和光

盘储备器J、闪Wes)EPROM

EEPROM

2.储擦籍取方式分类

磁盘

分为随枇读储备器和串行访咨询储备器

3.7

缓存(Cache)

(二)储备器的层次化结构

储备器有3个重要的指标:速度、容量和每位价格,一样来

MagneticTapeOpticalDisk

三级存储结构:Cache+主存+辅助存储器

讲,速度越快,位价越高;容量越大,位价越低,容量大,速

度就越低。上述三者的关系用下图表示:

储备系统层次结构

(三)半导体随机存取储备器

1.SRAM储备器的工作原理

1)静态储备单元

SRAM静态储备单元的每个储备位需要四到六个晶体管组

成。比较典型的是六管储备单元,即一个储备单元储备一位信

1

X64X64=4096

译存储矩阵

码驱

(器

6)

读/写片选A6A7All

息“0”或“1”。静态储备单元储存的信息比较稳固,信息为非

破坏性读出,故不需要重写或者刷新操作;另一方面,其结构

简单、可靠性高、速度较快,但其占用元件较多,占硅片面积

大,且功耗大,因此集成度不高。

静态随机储备单元

一个典型的SRAM结构图

静态储备器的结构。SRAM普遍采纳全地址线方式,即芯

片地址管脚安排了内部必要的全部行地址和列地址。芯片采纳

片选信号CS。SRAM储备器由储备体、读写电路、地址译码器

和操纵电路等组成。一个典型的SRAM结构如图所示。

2.DRAM储备器的工作原理

1)动态储备单元

常见的动态RAM储备单元有三管式和单管式两种,它们的

共特点是靠电容储备电荷的原理来寄存信息。若电容上存有足

够的电荷表示“”,电容上无电荷表示“0”。电容上的电荷一样

只能坚持l-2ms,因此即使电源不掉电,电容上的电荷会自动

消逝。因此,为保证信息的不丢失,必须在2ms之内就要对储

备单元进行一次复原操作,那个过程称为再生或者刷新。与静

态RAM相比,动态RAM具有集成度更高、功耗更低等特点,

目前被各类运算机广泛使用。

三管动态RAM差不多单元单

管动态RAM差不多单元

2)DRAM储备单元的刷新

刷新方刷新方法特点

集中式在整个刷新间隔内,前一段时刻重复进集中时刻刷新。有死时刻存在

行读/写周期或坚持周期,等到需要进逐行刷新。适合于高速储备器

行刷新操作时,便暂停读/写或坚持周

期,而逐行刷新整个储备器

分散式把一个储备系统周期丸分为两半,周期逐行刷新。没有死时刻。白费

前半段时刻tm用来读/写操作或坚持比较大,因为刷新时刻比承诺

信息,周期后半段时刻丸作为刷新操作的短许多

时刻。如此,每通过n个系统周期时刻,

整个储备器便全部刷新一遍

异步式保证在一个刷新周期内将储备芯片内的结合了以上两者的优点,实际

所有行应用比较有优势

刷新一遍,可能等时刻一间距,也可能

不等

集中式刷新周期

CPUCPUICPUCPUCPU刷新第刷新第刷新最

访内1

访内访内访内访内1行2行后1行

------------------分布式新周期

CPU刷新第CPU刷新第CPU刷新第CPU刷新最

访内1

1行访内2行访内3行访内后1行

异步(分布)式刷新周期

CPUcpq刷新第CPUCPUCPU刷新第CPU刷新量

访a

访内1行访内访内访内2行访内后1行

3)DRAM的扩展专门性

DRAM地址的专门性咨询题:行地址和列地址复用,行地

址和列地址的定时和选通之间的咨询题。需要将CPU全地址分

为行地址和列地址,以及产生行选通信号RAS和列选通信号C

ASo

(四)只读储备器

前面介绍的DRAM和SRAM均为可任意读/写的随机储

备器,当掉电时,所储备的内容消逝,因此是易失性储备器。

只读储备器,即使停电,所储备的内容也不丢失。按照半导体

制造工艺的不同,可分为ROM,PROM,EPROM,E2ROM和

FlashMemory

1.只读储备器(ROM)

掩模式ROM由芯片制造商在制造时写入内容,以后

只能读而不能再写入。其差不多储备原理是以元件的“有/无”

来表示该储备单元的信息(“1”或"0”),能够用二极管或晶体

管作为元件,显而易见,其储备内容是可不能改变的。

2.可编程序的只读储备器(PROM)

PROM可由用户按照自己的需要来确定ROM中的内

容,常见的熔丝式PROM是以熔丝的通和断开来表示所存的信

息为“1”或“0”。刚出厂的产品,其熔丝是全部接通的。按照

需要断开某些单元的熔丝(写入)。显而易见,断开后的熔丝是

不能再接通了,因而一次性写入的储备器。掉电后可不能阻碍

其所储备的内容。

3.可擦可编程序的只读储备器(EPROM)

为了能修改ROM中的内容,显现了EPROMo利用浮动栅

MOS电路储存信息,信息的改写用紫外线照耀即可擦除。

4.可电擦可编程序只读储备器(E2PROM)

E2PROM的编程序原理与EPROM相同,但擦除原

理完全不同,重复改写的次数有限制(因氧化层被磨损),一样

为10万次。

其读写操作可按每个位或每个字节进行,类似SRA

M,但每字节的写入周期要几毫秒,比SRAM长得多。E2PRO

M每个储备单元采则2个晶体管。其栅极氧化层比EPROM薄,

因此具有电擦除功能。

5.快除读写储备器(FlashMemory)

FlashMemory是在EPROM与E2PROM基础上进展

起来的,其读写过程和E2PROM不同,FlashMemory的读写

操作一样是以块为单位。

(五)主储备器与CPU的连接

1个储备器的芯片的容量是有限的,它在字数或字长方面

与实际储备器的要求都有专门大差距,因此需要在字向和位向

进行扩充才能满足需要。按照储备器所需的储备容量和所提供

的芯片的实际容量,能够运算出总的芯片数。一个储备器的容

量为MXN位,若使用LXK位储备器芯片,那么,那个储备

器共需要M/LXN/K储备器芯片。

1•位扩展

位扩展指的是用多个储备器器件对字长进行扩充。位扩

展的连接方式是将多片储备器的地址、片选己、读写操纵端R/

W可相应并联,数据端分不引出。

1KX4的SRAM储备芯片构造1KX8的储备器(位扩展)

&

8

N

DB4

B

uD2

sD1

D0

MMM

D0A0D0

M

A1D1A1D1D1

D2A2D2

A2A2D2

A3D3A3D3D3

D4A4D4A3

A4A4D4

A5D5A5MD5

MA5MD5

D6D6C€

D-7A7D7D7

ArMA7

A8A8WE

A9A9

it忙

*忙

*忙

*

AddreuBut

1KX8SRAM储备芯片构成4K义8的储备器(字扩展)

2.字扩展

字扩展指的是增加储备器中字的数量。静态储备器进

行字扩展时,将各芯片的地址线、数据线、读写操纵线相应并

联,而由片选信号来区分各芯片的地址范畴。下图是1KX8

SRAM储备芯片构成4KX8的储备。

3.字位扩展

实际储备器往往需要字向和位向同时扩充。差不多思

路可参照位扩展和字扩展。

1KX4SRAM储备芯片构成16KX8的储备器

(六)双口RAM和多模块储备器

1.双端口储备器

双端口储备器是一种具有两个单独的读/写端口及操纵电

路的储备器,通过增加一个读/写端口,双端口储备器扩展了储

备器的的信息交换能力。双端口储备器存在冲突的读写操纵咨

询题,当两端口同时访咨询储备器统一单元时,便发生读写冲

突。为解决此咨询题,设置标志。读写某个单元之前,检查标

记,访咨询单元时,标记置低;读写完毕,复原标记高。

2.多模块储备器

(1)储备器的模块化组织

一个由若干个模块组成的主储备器是线性编址的。这些地

址在各模块中有两种安排方式,分不是:顺序方式和交叉方式,

如表所示。

地址高地址低工作方式优点缺点

位位

顺序方选择模选择字模块单独工作,串行扩容方便,模带宽受

式块储备器结构,连续地块间故障隔离限

址位于同一模块中

交叉方选择字选择模模块同时并行工作,提升了带宽,故障不

式块并行储备器结构;连提升了机器运能隔离,

续地址分配在不同的行速度一个模

模块中块出错,

程序就

出错

(七)高速缓冲储备器(Cache)

1.程序访咨询的局部性

从大量的统计中得到的一个规律是,程序中关于储备空间

90%的访咨询局限于储备空间的10%的区域中,而另外10%的

访咨询则分布在储备空间的其余90%的区域中。这确实是通常

讲的局部性原理。访存的局部性规律包括两个方面:

时刻局部性:如果一个储备项被访咨询,则可能该项会专

门快被再次访咨询。

空间局部性:如果一个储备项被访咨询,则该项及其邻近

的项也可能专门快被访咨询。

2.Cache的差不多工作原理

Cache通常由两部分组成,块表和快速储备器。其工作原

理是:处理机按主存地址访咨询储备器,储备器地址的高段通

过主存-Cache地址映象机构借助查表判定该地址的储备单元是

否在Cache中,如果在,则Cache命中,按Cache地址访咨询

Cacheo否则,Cache不命中,则需要访咨询主存,并从主存中

调入相应数据块到Cache中,若Cache中已写满,则要按某种

算法将Cache中的某一块替换出去,并修改有关的地址映象关

系。

从那个工作原理我们能够看出,它差不多涉及到了两个咨

询题。第一是定位、然后是替换的咨询题。

Cache的存在对程序员是透亮的。其地址变换和数据块的替

|Tag

Block

TagBlock

TagBlock

TagBlock

换算法均由硬件实现。通常Cache被集成到CPU内以提升访咨

询速度。下图是Cache的差不多结构。

3.Cache和主存之间的映射方式

因为处理机访咨询差不多上按主存地址访咨询的,而Cach

e的空间远小于主存,如何明白这一次的访咨询内容是不是在C

ache中,在Cache中的哪一个位置呢?这就需要地址映象,即

把主存中的地址映射成Cache中的地址。让Cache中一个储备

块(空间)与主存中若干块相对应,如此,访咨询一个主存地址

时,就能够对应地明白在cache中哪一个地址了。地址映象的

方法有三种:直截了当映象、全相联映象和组相联映象。

(1)直截了当映像

直截了当映象确实是将主存地址映象到Cache中的一个指

定地址。任何时候,主存中储备单元的数据只能调入到Cache

中的一个位置,这是固定的,若那个位置已有数据,则产生冲

突,原先的块将无条件地被替换出去。

每个主存块只与一个Cache块对应,映射关系:

i=jmodC或者i=jmod2c

其中,i为cache块号,j为主存块号。主存标记字段为t=m

直截了当映射

直截了当映像的缺点是不够灵活,每个主存块只能固定映

射到Cache的某个块上,即使存在闲暇的块,也不能使用,Ca

che空间得不到充分利用。

(2)全相联映象

全相联映象确实是任何主存块可映象到任何Cache块的方

式。在这种方式下,主存中储备单元的数据可调入到Cache中

的任意位置。只有在Cache中的块全部装满后才会显现块冲突。

和直截了当映像方式相比,主存的块标记从t增加到t+c位,使

得Cache标记的位数增多,而且访咨询Cache时主存块标记需

要和Cache的全部标记位进行比较,才能判定出所访咨询主存

地址的内容是否已在Cache内。这种比较通常采纳“按内容寻

址”的相联储备器来完成。

位b位

全相连映射

(3)组相联映象

组相联映象是直截了当映射和全相连映射的折中。把Cach

e分为Q组,每组R块,并有以下关系:

i=jmodQ

其中,i为Cache的组号,j为主存的块号。是将储备空间

的页面分成若干组,各组之间的直截了当映象,而组内各块之

间则是全相联映象。下图中,Cache分成2q个组,q=c-r,每组

包含2c个块。主存标记字段为s=t+r位。

组Cache(r=l)主存

0

1

组相联映射

4.Cache中主存块的替换算法

在直截了当映象方式下,不存在块替换的算法,因为每一

块的位置映象是固定的,需要哪一块数据就可直截了当确定地

将该块数据调入上层确定位置。而其他两种映象就存在替换策

略的咨询题,确实是要选择替换到哪一个Cache块。即替换算

法。

思想优点缺点

随机算用软的或硬的随机数产生器简单、易于实现没有利用上层储备器使用的”

法RAND产生上层中要被替换的页号历史信息”,没有反映等程序局部

性,命中率低。

先进先选择最早装入上层的页作为实现方便,利用了主存历不能正确反映程序局部性原

出FIFO被替换的页史的信息理,命中率不高,可能显现一种

专门现象。

近期最选择近期最少访咨询的页作比较正确反映程序局部实现较复杂

少使用法为被替换的页性,利用访存的历史信息”

LRU命中率较高

优化替将以后近期不用的页换出去命中率最高,可作为衡量不现实,只是-•种理想算法

换算法其他替换算法的标准

OPT

5.Cache写策略

对Cache的写操作,情形比读操作要复杂一些。由于写入

Cache时,并没有写入主存,因此就显现Cache和主存数据不

一致的情形。

如何处理Cache和主存不一致的方法就称为更新策略。

更新策略思想优点缺点

写回法是指在CPU执行写操作时,信息只写入有利于省去许多需设修改位增加

Cache中,仅当需要替换时,才将改写过的将中间结果写入主Cache的复杂性

Cache块先送回主存(写回),然后再调块(设存的无谓开销。

置dirty位)

全写法(写在写操作时,将数据同时写入Cache和主存实现开销小、简单为了写中间结果白

直达法)费了许多时刻

另外,当写不命中时(也确实是写Cache块时,这块早被人

替换出去而在Cache中找不到时)是不是要把这块再取回Cache

中,有两个解决方法:

不按写分配法,确实是直截了当写到主存里,不再把该地

址对应的块调回Cache中。

按写分配法,确实是写到主存,而且把这一块从主存中调

入到Cacheo

一样写回法用按写分配法,全写法则采纳不按写分配。

(八)虚拟储备器

1.虚拟储备器的差不多概念

虚拟储备器是主存的扩展,虚拟储备器的空间大小取决于

运算机的访存能力而不是实际外存的大小,实际储备空间能够

小于虚拟地址空间。从程序员的角度看,外存被看作逻辑储备

空间,访咨询的地址是一个逻辑地址(虚地址),虚拟储备器使

储备系统既具有相当于外存的容量又有接近于主存的访咨询速

度。

虚拟储备器的访咨询也涉及到虚地址与实地址的映象、替

换算法等,这与Cache中的类似,前面我们讲的地址映象以块

为单位,而在虚拟储备器中,地址映象以页为单位。设计虚拟

储备系统需考虑的指标是主存空间利用率和主存的命中率。

虚拟储备器与Cache储备器的治理方法有许多相同之处,

它们都需要地址映象表和地址变换机构。然而二者也是不同的。

虚拟储备器的三种不同治理方式:按储备映象算法,分为

段式、页式和段页式等,这些治理方式的差不多原理是类似的。

2.页式虚拟储备器

页式治理是把虚拟储备空间和实际空间等分成固定大小的

温馨提示

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

评论

0/150

提交评论