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

上传人:小飞机 文档编号:1741747 上传时间:2022-12-16 格式:DOCX 页数:51 大小:894.96KB
返回 下载 相关 举报
考研计算机冲刺班组成原理讲义-杨楠.docx_第1页
第1页 / 共51页
考研计算机冲刺班组成原理讲义-杨楠.docx_第2页
第2页 / 共51页
考研计算机冲刺班组成原理讲义-杨楠.docx_第3页
第3页 / 共51页
考研计算机冲刺班组成原理讲义-杨楠.docx_第4页
第4页 / 共51页
考研计算机冲刺班组成原理讲义-杨楠.docx_第5页
第5页 / 共51页
点击查看更多>>
资源描述

《考研计算机冲刺班组成原理讲义-杨楠.docx》由会员分享,可在线阅读,更多相关《考研计算机冲刺班组成原理讲义-杨楠.docx(51页珍藏版)》请在三一办公上搜索。

1、计算机组成原理部分【考查目标】1. 理解单处理器计算机系统中各部件的内部工作原理、组成结构以及相互连接方式,具有完整的计算机系统的整机概念。2. 理解计算机系统层次化结构概念,熟悉硬件与软件之间的界面,掌握指令集体系结构的基本知识和基本实现方法。3. 能够运用计算机组成的基本原理和基本方法,对有关计算机硬件系统中的理论和实际问题进行计算、分析,并能对一些基本部件进行简单设计。一、 计算机系统概述 本章属于计算机组成原理概述部分,内容比较简单,也容易掌握,在考研中没有太难的题目。下面就本章内容,主要部分作以下归纳:(一)计算机的类型 电子计算机分为两大类:电子模拟计算机和电子数字计算机。 电子数

2、字计算机的主要特点是:按位运算。 数字计算机又可分为专用计算机和通用计算机。 通用计算机又分巨型机、大型机、中型机、小型机、微型机和单片机。 它们的区别在于体积、简易性、功率损耗、性能指标、数据存储容量、指令系统规模和机器价格等。 计算机的应用范围:社会的各个领域。(二)计算机发展历程 计算机系统的发展历史如下: 第1代计算机(1946年1957年):电子管时代; 第2代计算机(1958年1964年):晶体管时代; 第3代计算机(1965年1971年):中小规模集成电路时代; 第4代计算机(1972年1985年):超大规模集成电路时代; 第5代计算机(1986年至今):巨大规模集成电路时代。(

3、三)计算机系统层次结构1. 计算机硬件的基本组成硬件分为5大部分:控制器、运算器、存储器、输入设备和输出设备。 早期运算器和控制器构成计算机的CPU,现在一般还加上CPU内部的Cache共同构 成CPU,加入的是第一级Cache,也是存储器中速度最快,容量最小的存储器。 对冯诺依曼计算机体系结构的特点要有深刻的理解:使用二进制(为何用二进制?) 存储程序,并且按照地址顺序执行。存储程序并按照地址顺序执行是冯诺依曼计算机设计的关键思想。2. 计算机软件的分类计算机软件按照面向对象的不同可分两类:系统软件和应用软件。系统软件:用于管理整个计算机系统,合理分配系统资源,确保计算机正常高效地运行,这类

4、软件面向系统。应用软件:是面向用户根据用户的特殊要求编制的应用程序,这类软件通常实现用户的某类要求。3. 计算机的工作过程 冯诺依曼计算机特点基本上指出了计算机的工作过程。冯诺依曼体系结构的基本思想是:存储程址顺序自动执行。首先将指令和数据存储到计算机中,计算机启动后,就能够序取出指令并依次执行,直到程序执行完毕,得到计算结果为止。 冯诺依曼体系结构计算机包含5个基本部件:输入设备、运算器、控制器和输出设备。运算器进行数据运算和数据变换;控制器为计算机的工作提供统一的时钟,对程序的各基本操作进行时序分相应的控制信号,驱动计算机的各部件有序地完成程序规定的操作内容; 存储器用来存放程序、数据和运

5、算结果;输入瑜出设备则完成相应的输入输出转换。4计算机系统的层次结构(1)层次结构。计算机系统是一个复杂的软、硬件结合体,它包含硬件系统和软件系统两部分。它通常由5个不同的级组成,在每一级都能够进行程序设计。由微程序设计级、一般机器级、操作系统级、汇编语言级和高级语言级组成,如图所示:(2)软件和硬件逻辑上的等价性,任何操作可以由软件来实现也可以由硬件来实现。早期主要由软件来实现较复杂的逻辑(硬件软化),现在存在软件硬化的趋势。 尤其注意计算机是一个软件和硬件结合的整体系统。固件:把软件刻入ROM,使软件固化,这样得到的一个实体就是固件。(3)兼容性。兼容性的设计思想实际上就是系列机的概念。在

6、系列机中,新机型要求支持老机型上开发的软件;而且还有硬件上的兼容要求。兼容要求软件和硬件设备能够直接在不同的机型上使用。计算机系统的层次结构(四)计算机性能指标(1)基本字长。基本字长是指参与运算的数的基本长度,它由加法器、寄存器和数据总线的位数决定。字长标志着精度,字长越长,运算精度越高。(2)主存容量。计算机主存储器所能够存储的信息的全部总量,称为主存容量。以字节数来表示存储容量的计算机称为字节编码计算机;而以字为单位编址的计算机,存储容量等于字数乘以字长。(3)主频。每台计算机的内部,都有一个不断地产生固定频率时钟脉冲的装置,称为主时钟。主时钟的频率通常是机器的主频率,主频率是衡量一台,

7、-c,蹲机速度的重要参数。(4)运算速度。运算速度通常反映计算机运算的快慢。对运算速度的衡量有以下几种方法:根据不同类型指令在计算过程中出现的频率乘上不同的系数,求得统计平均值,这时所指的运算速度是平均运算速度。直接给出每条指令的实际执行时间。以MIPS和MFLOPS作为计量单位来衡量运算速度。MIPS表示每秒百万条指令,MFLOPS表示每秒百万次浮点运算。1. 吞吐量、响应时间(1) 吞吐量:单位时间内可执行程序的个数。(2) 响应时间:从事件开始到事件结束的时间,也称执行时间。2. CPU时钟周期、主频、CPI、CPU执行时间(1) CPU时钟周期:机器主频的倒数,Tc(2)主频:CPU工

8、作主时钟的频率,机器主频Rc(3)CPI:执行一条指令所需要的平均时钟周期(4)CPU执行时间:TCPU=InCPITCIn执行程序中指令的总数,CPI执行每条指令所需的平均时钟周期数,TC时钟周期时间的长度。3. MIPS、MFLOPS(1)MIPS(Million Instructions Per Second) MIPS = In/(Te106) = In/(InCPITc106) = Rc/(CPI106)Te:执行该程序的总时间,In:执行该程序的总指令数,Rc:时钟周期Tc的到数 MIPS只适合评价标量机,不适合评价向量机。标量机执行一条指令,得到一个运行结果。而向量机执行一条指令

9、,可以得到多个运算结果。(2) MFLOPS(Million Floating Point Operations Per Second) MFLOPS=Ifn/(Te106)Ifn:程序中浮点数的运算次数 MFLOPS测量单位比较适合于衡量向量机的性能。一般而言,同一程序运行在不同的计算机上时往往会执行不同数量的指令数,但所执行的浮点数个数常常是相同的。二、 数据的表示和运算(一) 数制与编码 1. 进位计数制及其相互转换 (1)进位计数制进位计数制是指按照进位制的方法表示数,不同的数制均涉及两个基本概念:基数和权。任意一个R进制数X,设整数部分为n位,小数部分为m位,则X可表示为:Xan-1

10、rn-1 + an-2rn-2 + + a0r0 + a-1r-1 + a-2r-2 + + a-mr-m(X)r = (2)不同数制间的数据转换1)二、八、十六进制数转换成十进制数利用上面讲到的公式: (N)2=Di2i 、(N)8=Di8i、 (N)16=Di16i、进行计算。2)十进制数转换成二进制数对整数部分,一般采用除2取余数法,对小数部分,一般用乘2取整数法。3)二进制数、八进制数和十六进制数之间的转换3位二进制数组成1位八进制数,4位二进制数组成1位十六进制数。对于一个兼有整数和小数部分的数以小数点为界,小数点前后的数分别分组进行处理,不足的位数用0补足。对整数部分将0补在数的左

11、侧,对小数部分将0补在数的右侧。这样数值不会发生差错。2. 真值和机器数 真值:数据的数值通常以正(+)负(-)号后跟绝对值来表示,称之为“真值”。机器数:在计算机中正负号也需要数字化,一般用0表示正号,1表示负号。把符号数字化的数成为机器数。3. BCD码 在计算机中采用4位二进制码对每个十进制数位进行编码。4位二进制码有16种不同的组合,从中选出10种来表示十进制数位的09,用0000,0001,1001分别表示0,1,9,每个数位内部满足二进制规则,而数位之间满足十进制规则,故称这种编码为“以二进制编码的十进制(binary coded decima1,简称BCD)码”。加法运算的修正规

12、则是: 如果两个一位BCD码相加之和小于或等于(1001)2,即(9)10,不需要修正; 如相加之和大于或等于(1010)2,或者产生进位,要进行加6修正,如果有进位,要向高位进位。4. 字符与字符串 在计算机中要对字符进行识别和处理,必须通过编码的方法,按照一定的规则将字符用一组二进制数编码表示。字符的编码方式有多种,常见的编码有ASCII码、EBCDIC码等。1)ASCII码ASCII码用7位二进制表示一个字符,总共128个字符元素,包括10个十进制数字(0-9)、52个英文字母(A-Z和a-z)、34专用符号和32控制符号。2)EBCDIC码为Extended Binary Coded

13、Decimal Interchange Code的简称,它采用8位来表示一个字符。3)字符串的存放向量存储法:字符串存储时,字符串中的所有元素在物理上是邻接的。串表存储法:字符串的每个字符代码后面设置一个链接字,用于指出下一个字符的存储单元的地址。5. 校验码 码距: 码距根据任意两个合法码之间至少有几个二进制位不相同而确定的,仅有一位不同,称其码距为1。(1)奇偶校验码它的实现原理,是使码距由1增加到2。若编码中有1位二进制数出错了,即由1变成0,或者由0变成1。这样出错的编码就成为非法编码,就可以知道出现了错误。在原有的编码之上再增加一位校验位,原编码n位,形成新的编码为n+1 位。增加的

14、方法有2种: 奇校验:增加位的0或1要保证整个编码中1的个数为奇数个。 偶校验:增加位的0或1要保证整个编码中1的个数为偶数个。 (2)海明校验码它的实现原理,是在数据中加入几个校验位,并把数据的每一个二进制位分配在几个奇偶校验组中。当某一位出错就会引起有关的几个校验组的值发生变化,这不但可以发现出错,还能指出是哪一位出错,为自动纠错提供了依据。 假设校验位的个数为r,则它能表示2r个信息,用其中的一个信息指出“没有错误”,其余2r-1个信息指出错误发生在哪一位。然而错误也可能发生在校验位,因此只有k=2r-1-r个信息能用于纠正被传送数据的位数,也就是说要满足关系:2r=k+r+1 (3)C

15、RC校验码CRC校验码一般是指k位信息之后拼接r位校验码。关键问题是如何从k位信息方便地得到r位校验码,以如何从位k+r信息码判断是否出错。 将带编码的k位有效信息位组表达为多项式: M(x)=Ck-1xk-1+ Ck-2xk-2 + + Cixi + C1x + C0式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位上,就构成了C

16、RC码,这个码的可用多项式表达为: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+1-1。(2)带符号数的表示带符号数是指在计算机中将数的符号数码化。在计算机中,一般规定二进制的最高位为

17、符号位,最高位为“0”表示该数为正,为“1”表示该数为负。这种在机器中使用符号位也被数码化的数称为机器数。根据符号位和数值位的编码方法不同,机器数分为原码、补码和反码。1)原码表示法机器数的最高位为符号位,0表示正数,1表示负数,数值跟随其后,并以绝对值形式给出。这是与真值最接近的一种表示形式。2)补码表示法机器数的最高位为符号位,0表示正数,1表示负数,其定义如下:3)反码表示法 机器数的最高位为符号,0表示正数,1表示负数。反码的定义:4)原码、补码和反码的说明数表示的范围,原码为:-1x-0,+0x1;0有-0(1.00)和+0(0.00)两种表示形式补码为:-1x-0,+0x1;0只有

18、一种表示方式,x最小可以等于-1反码为:-1x-0,+0x1;0有-0(1.11)和+0(0.00)两种表示形式2. 定点数的运算 (1)定点数的位移运算左移,绝对值扩大;右移,绝对值缩小。算术移位规则:符号位不变算术移位和逻辑移位的区别:算术移位:带符号数移位;逻辑移位:无符号数移位;(2)原码定点数的加/减运算对原码表示的两个操作数进行加减运算时,计算机的实际操作是加还是减,不仅取决指令中的操作码,还取决于两个操作数的符号。而且运算结果的符号判断也较复杂。例如,加法指令指示做(A)(B)由于一操作数为负,实际操作是做减法(A)-(+B),结果符号与绝对值大的符号相同。同理,在减法指令中指示

19、做(A)(B)实际操作做加法(A)(B),结果与被减数符号相同。由于原码加减法比较繁琐,相应地需要由复杂的硬件逻辑才能实现,因此在计算机中很少被采用。(3)补码定点数的加/减运算1) 加法 整数 A补 + B补= A+B补(mod 2n+1)小数 A补 + B补= A+B补(mod 2)2) 减法 整数 A补 - B补= A+(-B)补=A补 + -B补(mod 2n+1)小数 A补 - B补= A+(-B)补=A补 + -B补(mod 2)无需符号判定,连同符号位一起相加,符号位产生的进位自然丢掉(4)定点数的乘/除运算1)乘法原码一位乘法 两个原码数相乘,其乘积的符号为相乘两数的异或值,数

20、值两数绝对值之积。定点补码一位乘法有的机器为方便加减法运算,数据以补码形式存放。乘法直接用补码进行,以减少转换次数。具体规则如下: xy补=X补(-y0 + 0. y1 y2 yn )布斯法布斯公式:在乘数Yn后添加Yn+1=0。按照Yn+1 ,Yn相邻两位的三种情况,其运算规则如下:(1) Yn+1 ,Yn =0( Yn+1 Yn =00或11),部分积加0,右移1位;(2) Yn+1 ,Yn =1( Yn+1 Yn =10) ,部分积加X补,右移1位;(3) Yn+1 ,Yn =-1( Yn+1 Yn =01) ,部分积加X补,右移1位最后一步不移位。原码两位乘法,因此实际操作用Yi-1、

21、Yi、C三位来控制。Yi-1 Yi C操作 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 +0, 右移2位 0C +X, 右移2位 0C +X, 右移2位 0C +2X,右移2位 0C +2X,右移2位 0C -X, 右移2位 1C -X, 右移2位 1C +0, 右移2位 1C 补码两位乘法,根据前述的布斯算法,将两步合并成一步,即可推导出补码两位乘的公式。Yi-1 Yi C操作 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 +0, 右移2位 0C +X, 右移2位 0C +X, 右移2位 0

22、C +2X,右移2位 0C +2X,右移2位 0C -X, 右移2位 1C -X, 右移2位 1C +0, 右移2位 1C 2)除法定点原码一位除法1恢复余数法被除数(余数)减去除数,如果为0或者为正值时,上商为1,不恢复余数;如果结果为负,上商为0,再将除数加到余数中,恢复余数。余数左移1位。2加减交替法当余数为正时,商上1,求下一位商的办法,余数左移一位,再减去除数;当余数为负时,商上0,求下一位商的办法,余数左移一位,再加上除数。定点补码一位除法(加减交替法)1如果被除数与除数同号,用被除数减去除数;若两数异号,被除数加上除数。如果所得余数与除数同号商上1,否则,商上0,该商为结果的符号

23、位。2求商的数值部分。如果上次商上1,将除数左移一位后减去除数;如果上次商上0,将余数左移一位后加除数。然后判断本次操作后的余数,如果余数与除数同号商上1,如果余数与除数异号商上0。如此重复执行n-1次(设数值部分n位)。3商的最后一位一般采用恒置1的办法,并省略了最低+1的操作。此时最大的误差为2-n。(5)溢出概念和判别方法当运算结果超出机器数所能表示的范围时,称为溢出。显然,两个异号数相加或两个同号数相减,其结果是不会溢出的。仅当两个同号数相加或者两个异号数相减时,才有可能发溢出的情况,一旦溢出,运算结果就不正确了,因此必须将溢出的情况检查出来。判别方法有三种:1)当符号相同的两数相加时

24、,如果结果的符号与加数(或被加数)不相同,则为溢出。2)当任意符号两数相加时,如果C=Cf,运算结果正确,其中C为数值最高位的进位,Cf为符号位的进位。如果CCf ,则为溢出,所以溢出条件=CCf 。3)采用双符号fs2fs1,正数的双符号位为00,负数的双符号位为11。符号位参与运算,当结果的两个符号位甲和乙不相同时为溢出。所以溢出条件= fs2fs1 。(三) 浮点数的表示和运算 1. 浮点数的表示(1)浮点数的表示范围浮点数是指小数点位置可浮动的数据,通常以下式表示: N=MRE其中,N为浮点数,M为尾数,E为阶码,R称为“阶的基数(底)”,而且R为一常数,一般为2、8或16。在一台计算

25、机中,所有数据的R都是相同的,于是不需要在每个数据中表示出来。因此,浮点数的机内表示一般采用以下形式:浮点数的机内表示一般采用以下形式:MsEM 1位 n+1位 m位Ms是尾数的符号位,设置在最高位上。E为阶码,有n+1位,一般为整数,其中有一位符号位,设置在E的最高位上,用来表正阶或负阶。M为尾数,有m位,由Ms和M组成一个定点小数。Ms=0,表示正号,Ms=1,表示负。为了保证数据精度属数通常用规格化形式表示:当R2,且尾数值不为0时,其绝对值大于或等于(0.5)10。对非规格化浮点数,通过将尾数左移或右移,并修改阶码值使之满足规格化要求。(2)IEEE754标准根据IEEE 754国际标

26、准,常用的浮点数有两种格式:(1)单精度浮点数(32位),阶码8位,尾数24位(内含:位符号位)。(2)双精度浮点数(64位),阶码11位,尾数53位(内含:位符号位)。单精度格式32位,阶码为8位,尾数为23位。另有一位符号位S,处在最高位。由于IEEE754标准约定在小数点左部有一位隐含位,从而实际有效位数为24位。这样使得尾数的有效值变为1.M 。例如,最小为x1.00,,最大为x1.11。规格化表示。故小数点左边的位横为1,可省去。 阶码部分采用移码表示,移码值127,1到254经移码为-126到+127。S(1位) E(8位) M(23位) N(共32位) 符号位 0 0 0 符号位

27、 0 不等于0 (-1)S2-126(0.M) 为非规格化数 符号位 1到254之间 - (-1)S2E-127(1.M) 为规格化数 符号位 255不等于0 NaN(非数值) 符号位 2550 无穷大 0 有了精确的表示,无穷大也明确表示。对于绝对值较小的数,可以采用非规格化数表示,减少下溢精度损失。非规格化数的隐含位是0,不是1。2. 浮点数的加/减运算加减法执行下述五步完成运算:(1)“对阶”操作 比较两浮点数阶码的大小,求出其差E,保留其大值E,E=max(Ex, Ey)。当E0时,将阶码小的尾数右移E位,并将其阶码加上E,使两数的阶码值相等。(2)尾数加减运算执行对阶之后,两尾数进行

28、加减操作。(3)规格化操作 规格化的目的是使得尾数部分的绝对值尽可能以最大值的形式出现。(4)舍入 在执行右规或者对阶时,尾数的低位会被移掉,使数值的精度受到影响,常用“0”舍“1”入法。当移掉的部分最高位为1时,在尾数的末尾加1,如果加1后又使得尾数溢出,则要再进行一次右规。(5)检查阶码是否溢出 阶码溢出表示浮点数溢出。在规格化和舍入时都可能发生溢出,若阶码正常,加/减运算正常结束。若阶码下溢,则设置机器运算结果为机器零,若上溢,则设置溢出标志。(四) 算术逻辑单元ALU1. 串行加法器和并行加法器(1)串行进位加法器并行加法器可以同时对数据的各位进行相加,一般用n个全加器来实现2个操作数

29、的各位同时向加。其操作数的各位是同时提供的,由于进位是逐位形成,低位运算所产生的进位会影响高位的运算结果。串行进位(也称波形进位)加法器,逻辑电路比较简单,但是最高位的加法运算,一定要等到所有低位的加法完成之后才能进行,低位的进位要逐步的传递到高位,逐级产生进位,因此运算速度比较慢。串行进位加法器(2)并行进位加法器为了提高运算速度,减少延迟时间,可以采用并行进位法,也叫提前进位或先行进位。全加器中,输入Ai 、Bi、Ci-1,输出:Si = Ai Bi Ci-1+Ai Bi Ci-1+Ai Bi Ci-1+Ai Bi Ci-1Ci = Ai Bi Ci-1+Ai Bi Ci-1+Ai Bi

30、Ci-1+Ai Bi Ci-1 = Ai Bi + (Ai+Bi)Ci-1进位产生函数:Gi = Ai Bi进位传递函数:Pi = Ai+BiCi = Gi + Pi Ci-1C4 = G4 + P4G3 + P4P3G2 + P4P3P2G1 + P4P3P2P1C0并行进位加法器的运算速度很快,形成最高进位输出的延迟时间很短,但是以增加硬件逻辑线路为代价。对于长字长的加法器,往往将加法器分成若干组,在组内采用并行进位,组间则采用串行进位或并行进位,由此形成多种进位结构。(1)单级先行进位单级先行进位方式将n位字长分为若干组,每组内采用并行进位方式,组与组之间册采用串行进位方式。(2)多级先

31、行进位多级先行进位在组内和组间都采用先行进位方式。16位单级先行进位加法器2. 算术逻辑单元ALU的功能和机构ALU部件是运算器中的主要组成部分,又称为多功能函数发生器,主要用于完成各种算术运算和逻辑运算。ALU的算术运算部件包含加法器、减法器、乘法器、除法器、增量器(+1)、减量器(-1)、BCD码运算器等组件。ALU的主要工作是根据CPU的指令要求执行各种指定的运算,如加法、减法、乘法、除法、比较、逻辑移位等操作。通用寄存器组是一组存取速度最快的存储器,用于保存参加运算的操作数和中间结果。访问寄存器无需高速缓存,也不需要运行总线周期,因此指令的执行速度很快。几乎所有的指令都要将寄存器指定为

32、一个操作数,有些指令还要求将操作数存放在专用的寄存器中。专用寄存器通常用于表示CPU所处于某种系统状态,ALU中有两个重要的状态寄存器:指令指针寄存器IP(即程序计数器PC)和标志寄存器FLAGS。三、 存储器层次机构(一) 存储器的分类 1. 按存储介质分类 分为半导体存储器、磁表面存储器、磁芯存储器和光盘存储器2. 按存取方式分类 分为随机存储器、只读存储器和串行访问存储器3. 按在计算机中的作用分类存储器主存闪速存储器(Flash Memory)辅存缓存(Cache)只读存储器(ROM)静态RAM动态RAM随机存储器(RAM)MROMPROMEPROMEEPROM磁盘磁带光盘(二) 存储

33、器的层次化结构 存储器有3个重要的指标:速度、容量和每位价格,一般来说,速度越快,位价越高;容量越大,位价越低,容量大,速度就越低。上述三者的关系用下图表示:存储系统层次结构(三) 半导体随机存取存储器1. SRAM存储器的工作原理1)静态存储单元SRAM静态存储单元的每个存储位需要四到六个晶体管组成。比较典型的是六管存储单元,即一个存储单元存储一位信息“0”或“1”。静态存储单元保存的信息比较稳定,信息为非破坏性读出,故不需要重写或者刷新操作;另一方面,其结构简单、可靠性高、速度较快,但其占用元件较多,占硅片面积大,且功耗大,所以集成度不高。静态随机存储单元一个典型的SRAM结构图静态存储器

34、的结构。SRAM普遍采用全地址线方式,即芯片地址管脚安排了内部必要的全部行地址和列地址。芯片采用片选信号CS。SRAM存储器由存储体、读写电路、地址译码器和控制电路等组成。一个典型的SRAM结构如图所示。2. DRAM存储器的工作原理1)动态存储单元常见的动态RAM存储单元有三管式和单管式两种,它们的共特点是靠电容存储电荷的原理来寄存信息。若电容上存有足够的电荷表示“”,电容上无电荷表示“0”。电容上的电荷一般只能维持1-2ms,因此即使电源不掉电,电容上的电荷会自动消失。因此,为保证信息的不丢失,必须在2ms之内就要对存储单元进行一次恢复操作,这个过程称为再生或者刷新。与静态RAM相比,动态

35、RAM具有集成度更高、功耗更低等特点,目前被各类计算机广泛使用。三管动态RAM基本单元 单管动态RAM基本单元2)DRAM存储单元的刷新刷新方式刷新方法特点集中式在整个刷新间隔内,前一段时间重复进行读写周期或维持周期,等到需要进行刷新操作时,便暂停读写或维持周期,而逐行刷新整个存储器集中时间刷新。有死时间存在逐行刷新。适合于高速存储器分散式把一个存储系统周期丸分为两半,周期前半段时间tm用来读写操作或维持信息,周期后半段时间丸作为刷新操作时间。这样,每经过n个系统周期时间,整个存储器便全部刷新一遍逐行刷新。没有死时间。浪费比较大,因为刷新时间比允许的短许多异步式保证在一个刷新周期内将存储芯片内

36、的所有行刷新一遍,可能等时间一间距,也可能不等结合了以上两者的优点,实际应用比较有优势3)DRAM的扩展特殊性DRAM地址的特殊性问题:行地址和列地址复用,行地址和列地址的定时和选通之间的问题。需要将CPU全地址分为行地址和列地址,以及产生行选通信号RAS和列选通信号CAS。(四) 只读存储器前面介绍的DRAM和SRAM均为可任意读写的随机存储器,当掉电时,所存储的内容消失,所以是易失性存储器。只读存储器,即使停电,所存储的内容也不丢失。根据半导体制造工艺的不同,可分为ROM,PROM,EPROM,E2ROM和Flash Memory1. 只读存储器(ROM) 掩模式ROM由芯片制造商在制造时

37、写入内容,以后只能读而不能再写入。其基本存储原理是以元件的“有无”来表示该存储单元的信息(“1”或“0”),可以用二极管或晶体管作为元件,显而易见,其存储内容是不会改变的。2. 可编程序的只读存储器(PROM) PROM可由用户根据自己的需要来确定ROM中的内容,常见的熔丝式PROM是以熔丝的通和断开来表示所存的信息为“1”或“0”。刚出厂的产品,其熔丝是全部接通的。根据需要断开某些单元的熔丝(写入)。显而易见,断开后的熔丝是不能再接通了,因而一次性写入的存储器。掉电后不会影响其所存储的内容。3. 可擦可编程序的只读存储器(EPROM)为了能修改ROM中的内容,出现了EPROM。利用浮动栅MO

38、S电路保存信息,信息的改写用紫外线照射即可擦除。4. 可电擦可编程序只读存储器(E2PROM) E2PROM的编程序原理与EPROM相同,但擦除原理完全不同,重复改写的次数有限制(因氧化层被磨损),一般为10万次。 其读写操作可按每个位或每个字节进行,类似SRAM,但每字节的写入周期要几毫秒,比SRAM长得多。E2PROM每个存储单元采则2个晶体管。其栅极氧化层比EPROM薄,因此具有电擦除功能。 5. 快除读写存储器(Flash Memory) F1ash Memory是在EPROM与E2PROM基础上发展起来的,其读写过程和E2PROM不同,F1ash Memory的读写操作一般是以块为单

39、位。(五) 主存储器与CPU的连接1个存储器的芯片的容量是有限的,它在字数或字长方面与实际存储器的要求都有很大差距,所以需要在字向和位向进行扩充才能满足需要。根据存储器所需的存储容量和所提供的芯片的实际容量,可以计算出总的芯片数。一个存储器的容量为MN位,若使用LK位存储器芯片,那么,这个存储器共需要M/LN/K存储器芯片。1位扩展 位扩展指的是用多个存储器器件对字长进行扩充。位扩展的连接方式是将多片存储器的地址、片选己、读写控制端R/W可相应并联,数据端分别引出。1K4的SRAM存储芯片构造1K8的存储器(位扩展)1K8 S RAM存储芯片构成4K8的存储器(字扩展)2字扩展 字扩展指的是增

40、加存储器中字的数量。静态存储器进行字扩展时,将各芯片的地址线、数据线、读写控制线相应并联,而由片选信号来区分各芯片的地址范围。 下图是1 K 8 S RAM存储芯片构成4K 8的存储。3字位扩展 实际存储器往往需要字向和位向同时扩充。基本思路可参照位扩展和字扩展。1K4SRAM存储芯片构成16K8的存储器(六) 双口RAM和多模块存储器1.双端口存储器双端口存储器是一种具有两个单独的读/写端口及控制电路的存储器,通过增加一个读/写端口,双端口存储器扩展了存储器的的信息交换能力。双端口存储器存在冲突的读写控制问题,当两端口同时访问存储器统一单元时,便发生读写冲突。为解决此问题,设置标志。读写某个

41、单元之前,检查标记,访问单元时,标记置低;读写完毕,恢复标记高。2.多模块存储器(1)存储器的模块化组织一个由若干个模块组成的主存储器是线性编址的。这些地址在各模块中有两种安排方式,分别是:顺序方式和交叉方式,如表所示。地址高位地址低位工作方式优点缺点顺序方式选择模块选择字模块单独工作,串行存储器结构,连续地址位于同一模块中扩容方便,模块间故障隔离带宽受限交叉方式选择字选择模块模块同时并行工作,并行存储器结构;连续地址分配在不同的模块中提高了带宽,提高了机器运行速度故障不能隔离,一个模块出错,程序就出错(七) 高速缓冲存储器(Cache)1. 程序访问的局部性从大量的统计中得到的一个规律是,程

42、序中对于存储空间90%的访问局限于存储空间的10%的区域中,而另外10%的访问则分布在存储空间的其余90%的区域中。这就是通常说的局部性原理。访存的局部性规律包括两个方面:时间局部性:如果一个存储项被访问,则可能该项会很快被再次访问。 空间局部性:如果一个存储项被访问,则该项及其邻近的项也可能很快被访问。2. Cache的基本工作原理Cache通常由两部分组成,块表和快速存储器。其工作原理是:处理机按主存地址访问存储器,存储器地址的高段通过主存-Cache地址映象机构借助查表判定该地址的存储单元是否在Cache中,如果在,则Cache命中,按Cache地址访问Cache。否则,Cache不命中

43、,则需要访问主存,并从主存中调入相应数据块到Cache中,若Cache中已写满,则要按某种算法将Cache中的某一块替换出去,并修改有关的地址映象关系。从这个工作原理我们可以看出,它已经涉及到了两个问题。首先是定位、然后是替换的问题。Cache的存在对程序员是透明的。其地址变换和数据块的替换算法均由硬件实现。通常Cache被集成到CPU内以提高访问速度。下图是Cache的基本结构。3. Cache和主存之间的映射方式因为处理机访问都是按主存地址访问的,而Cache的空间远小于主存,如何知道这一次的访问内容是不是在Cache中,在Cache中的哪一个位置呢? 这就需要地址映象,即把主存中的地址映

44、射成Cache中的地址。让Cache中一个存储块(空间)与主存中若干块相对应,如此,访问一个主存地址时,就可以对应地知道在cache中哪一个地址了。地址映象的方法有三种:直接映象、全相联映象和组相联映象。 (1)直接映像直接映象就是将主存地址映象到Cache中的一个指定地址。任何时候,主存中存储单元的数据只能调入到Cache中的一个位置,这是固定的,若这个位置已有数据,则产生冲突,原来的块将无条件地被替换出去。每个主存块只与一个Cache块对应,映射关系:i = j mod C 或者 i = j mod 2c其中,i为cache块号,j为主存块号。主存标记字段为t=m-c直接映射直接映像的缺点是不够灵活,每个主存块只能固定映射到Cache的某个块上,即使存在空闲的块,也不能使用,Cache空间得不到充分利用。(2)全相联映象全相联映象就是

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号