版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第5章 存储系统和结构,1,学习研究,存储系统是由几个容量、速度和价格各不相同的存储器构成的系统,设计一个容量大、速度快、成本低的存储系统是计算机发展的一个重要课题。 本章重点讨论主存储器的工作原理、组成方式以及运用半导体存储芯片组成主存储器的一般原则和方法,此外还介绍了高速缓冲存储器和虚拟存储器的基本原理,2,学习研究,本章学习内容,5.1 存储系统的组成 5.2 主存储器的组织 5.3 半导体随机存储器和只读存储器 5.4 主存储器的连接与控制 5.5 提高主存读写速度的技术 5.6 多体交叉存储技术 5.7 高速缓冲存储器 5.8 虚拟存储器,3,学习研究,本章学习要求,了解:存储器的分
2、类方法和存储系统的层次 理解:主存储器的基本结构、存储单元和主存储器的主要技术指标 掌握:数据在主存中的存放方法 了解:半导体随机存储器(静态RAM和动态RAM)的基本存储原理 理解:动态RAM的刷新 了解: RAM芯片的基本结构 理解:各种不同类型的ROM 掌握:主存储器容量的各种扩展方法 理解:主存储器和CPU的软连接 了解:Cache存储系统和虚拟存储器的概念,4,学习研究,5.1 存储系统的组成,5.1.1 存储器分类 1.按存储器在计算机系统中的作用分类 高速缓冲存储器 用来存放正在执行的程序段和数据,以便CPU高速地使用它们。 主存储器 用来存放计算机运行期间所需要的程序和数据,C
3、PU可直接随机地进行读写访问。 辅助存储器 用来存放当前暂不参与运行的程序和数据,以及一些需要永久性保存的信息。CPU不能直接访问它,5,学习研究,2.按存取方式分类 随机存取存储器RAM CPU可以对RAM单元的内容随机地访问。CPU对任何一个存储单元的存取时间是相同的。 只读存储器ROM ROM存储器的内容只能随机读出而不能写入。 顺序存取存储器SAM 只能按某种顺序存取,存取时间与信息存放的物理位置有关。 直接存取存储器DAM 当要存取所需的信息时,先指向整个存储器中的某个小区域(如磁盘上的磁道),然后在小区域内顺序检索直至找到目的地后再进行访问,5.1 存储系统的组成,6,学习研究,3
4、.按存储介质分类 磁芯存储器 利用两种不同的剩磁状态表示“1”或“0”。它的读出是破坏性读出。 半导体存储器 采用半导体器件制造的存储器,主要有双极型存储器和MOS型存储器两大类。 磁表面存储器 在金属或塑料基体上涂一层磁性材料,用磁层存储信息,常见的有磁盘、磁带等。 光存储器 采用激光技术控制访问的存储器,5.1 存储系统的组成,7,学习研究,4.按信息的可保存性分类 断电后,存储信息即消失的存储器,称易失性存储器。断电后信息仍然保存的存储器,称非易失性存储器。 如果某个存储单元所存储的信息被读出时,原存信息将被破坏,则称破坏性读出。具有破坏性读出的存储器,每当一次读出操作之后,必须紧接一个
5、重写的操作,以便恢复被破坏的信息,5.1 存储系统的组成,8,学习研究,5.1.2 存储系统层次结构 为了解决容量、速度和价格之间的矛盾,出现了多层次的存储系统,把各种不同存储容量,不同存取速度的存储器,按一定的体系结构组织起来,使所存放的程序和数据按层次分布在各存储器中,形成一个统一整体的存储系统,5.1 存储系统的组成,9,学习研究,由高速缓冲存储器、主存储器、辅助存储器构成的三级存储系统可以分为两个层次。 1.Cache主存层次 在CPU和主存之间设置了一级容量不大,但速度很高的高速缓冲存储器(Cache),简称高速缓存或快存。 CPU在某一小段时间内所要访问的程序和数据被事先从主存中调
6、入Cache中,当CPU需要这些程序和数据时,就直接去Cache中读取,5.1 存储系统的组成,10,学习研究,Cache主存层次的存取速度接近于Cache的存取速度,但容量是主存的。因此,解决了高速度和低成本之间的矛盾。这个层次完全由硬件实现,5.1 存储系统的组成,11,学习研究,2.主辅存层次 辅助存储器是主存的补充,用来存放暂时不用的程序和数据,当需要时,再调到主存中去。 主辅存层次通过附加的硬件及存储管理软件来控制。 主辅存层次的存取速度接近于主存的存取速度,容量是辅存的容量,从而解决了大容量和低成本间的矛盾,5.1 存储系统的组成,12,学习研究,三级存储系统的总的效果是:存取速度
7、接近于Cache水平,存储容量非常之大,整个价格也比较合理,5.1 存储系统的组成,13,学习研究,5.2 主存储器的组织,5.2.1主存储器的基本结构 主存储器通常由存储体、地址译码驱动电路、I/O和读写电路组成,14,学习研究,存储体是存储单元的集合体,存放程序和数据。 地址译码驱动电路包含译码器和驱动器两部分。 译码器将地址总线输入的地址码转换成与之对应的译码输出线上的有效电平,以表示选中了某一单元; 驱动器提供驱动电流去驱动相应的读、写电路对被选中单元进行读、写操作。 I/O和读写电路完成被选中存储单元中各位的读出和写入操作,5.2 主存储器的组织,读/写操作是在控制器的控制下进行的,
8、15,学习研究,5.2.2 主存储器的存储单元 位是存储器存储信息的最小单位。 当一个由若干位组成的二进制数作为一个整体存入或取出时,这个数称为存储字。 存放存储字或存储字节的主存空间称为存储单元或主存单元,大量存储单元的集合构成一个存储体,程序和数据都存放在存储体中,它是存储器的核心,5.2 主存储器的组织,16,学习研究,一个存储单元可能存放一个字,也可能存放一个字节,这是由计算机的结构确定的。 对于字节编址的计算机,最小寻址单位是一个字节,相邻的存储单元地址指向相邻的字节 对于字编址的计算机,最小寻址单位是一个字,相邻的存储单元地址指向相邻的存储字。 存储单元是CPU对主存可访问操作的最
9、小存储单位,5.2 主存储器的组织,17,学习研究,地址安排方案: 大端方案:IBM 370机是字长为32位的计算机,主存按字节编址,则每一个存储字包含4个单独编址的存储字节,字地址即是该字高位字节的地址,其字地址总是等于4的整数倍,正好用地址码的最末两位来区分同一个字的四个字节,5.2 主存储器的组织,不是所有计算机字长都等于存储字长,18,学习研究,5.2 主存储器的组织,小端方案:PDP-11机是字长为16位的计算机,主存也按字节编址,则每一个存储字包含2个单独编址的存储字节,它的字地址总是2的整数倍,但却是用低位字节地址作为字地址,并用地址码的最末1位来区分同一个字的两个字节,19,学
10、习研究,5.2.3 主存储器的主要技术指标 1.存储容量 存储容量是指主存所能容纳的二进制信息总量。对于字节编址的计算机,以字节数来表示容量;对于字编址的计算机,以字数与其字长的乘积来表示容量。 如某计算机的容量为64K16,表示它有64K个字,每个字的字长为16位,若用字节数表示,则可记为128K字节(128KB,5.2 主存储器的组织,20,学习研究,2.存取速度 存取时间Ta 存取时间指从启动一次存储器操作到完成该操作所经历的时间。 存取周期Tm 又可称作读写周期、访内周期,指存储器进行一次完整的读写操作到下一次访问存储器操作之间所需要的最短时间。 一般情况下,TmTa 。因为在读写操作
11、之后,要有一段恢复内部状态的复原时间。 主存带宽(每秒从主存进出信息的最大数量,5.2.3 主存储器的主要技术指标,21,学习研究,3.可靠性 可靠性是指在规定的时间内,存储器无故障的概率。 4.功耗 功耗反映了存储器件耗电的多少,同时也反映了其发热的程度,5.2.3 主存储器的主要技术指标,22,学习研究,5.2.4 数据在主存中的存放 在采用字节编址的情况下,数据在主存储器中有三种不同存放方法。假设,存储字为64位(8个字节),机器字长为32,读/写的数据有四种不同长度,它们分别是字节(8位)、半字(16位)、单字(32位)和双字(64位,字节,半字,单字,双字,5.2 主存储器的组织,2
12、3,学习研究,现有一批数据,它们依次为:字节、半字、双字、单字、半字、单字、字节、单字。在存储器中存放的方法有三种形式。 不浪费存储器资源的存放方法 数据一个紧接着一个存放。优点:不浪费宝贵的主存资源;缺点:访问的数据要跨越两个存储单元时,存储器的工作速度降低了一倍,且读写控制比较复杂,5.2 主存储器的组织,24,学习研究,从存储字的起始位置开始存放的方法。 无论要存放的是字节、半字、单字或双字,都必须从存储字的起始位置开始存放。优点:数据基本都可以在一个存储周期内完成,读写数据的控制比较简单。缺点:浪费了宝贵的存储器资源,5.2 主存储器的组织,25,学习研究,折中方法 双字地址的最末三个
13、二进制位必须为000,单字地址的最末两位必须为00,半字地址的最末一位必须为0。特点:数据都在一个存取周期内完成,存储器资源仍然有浪费,但比第2种方法少得多,5.2 主存储器的组织,26,学习研究,例:某机字长32位,主存储器按字节编址,现有4种不同长度的数据(字节、半字、单字、双字),请采用一种既节省存储空间,又能保证任何长度的数据都在单个存取周期内完成读写的方法,将一批数据顺序地存入主存,画出主存中数据的存放示意图。 这批数据一共有10个,它们依次为字节、半字、双字、单字、字节、单字、双字、半字、单字、字节,5.2 主存储器的组织,27,学习研究,解:根据题干可以知道4种长度的数据分别为:
14、字节数据8位,半字数据16位,单字数据32位,双字数据64位。因为要保证任何长度的数据都在单个存取周期内完成读写,所以该机的存储字长应为64位。要特别注意的是,在本例中数据字长(32位)和存储字长(64位)是不同的。 题目要求采用一种既节省存储空间,又能保证任何长度的数据都在单个存取周期内完成读写的方法来存入一批数据,所以只能选用边界对齐的存放方法,双字数据从字节地址为8的整倍数的地方开始存放,单字数据从字节地址为4的整倍数的地方开始存放,半字地址从字节地址为2的整倍数的地方开始存放。主存中数据的存放示意图如下,5.2 主存储器的组织,28,学习研究,5.2 主存储器的组织,29,学习研究,5
15、.3 半导体随机存储器和只读存储器,5.3.1 RAM记忆单元电路 我们把存放一个二进制位的物理器件称为记忆单元,它是存储器的最基本构件,可以由各种材料制成,但必须满足以下要求: 有两种稳定状态。 在外部信息的激励下,两种稳定状态可被无限次写入。 在外部信号的激励下,能读出两种稳定状态,30,学习研究,MOS型存储器根据记忆单元的结构又可分为静态RAM和动态RAM两种。 静态RAM,即SRAM(Static RAM),其存储电路以双稳态触发器为基础; 动态RAM,即DRAM(Dynamic RAM),其存储电路以电容为基础,5.3 半导体随机存储器和只读存储器,31,学习研究,1.六管静态MO
16、S记忆单元电路,1)组成,T1、T5:MOS反相器,Vcc,触发器,T2、T6:MOS反相器,T3、T4:控制门管,字线,字线:选择存储单元,I/O,I/O、I/O:位线,完成读/写操作,2)单元状态,0”:T1导通,T2截止,1”:T1截止,T2导通,静态RAM是利用双稳态触发器来记忆信息的,32,学习研究,1.六管静态MOS记忆单元电路 T5、T6是T1、T2管的负载管。在字线为低电平时,由Vcc不断向T1、T2供电。 SRAM的存取速度快,但集成度低,功耗也较大,所以一般用来组成高速缓冲存储器和小容量主存系统,字线,读,写,读1,读0,写1,写0,1,0,0,1,33,学习研究,2.四管
17、动态MOS记忆单元电路,1)组成,T1、T2:记忆管,C1、C2:柵极电容,T3、T4:控制门管,2)定义,0”:T1导通,T2截止,1”:T1截止,T2导通,C1有电荷,C2无电荷,C1无电荷,C2有电荷,I/O、I/O:位线,34,学习研究,3)读: 两条位线都先预充电至高电平,断开充电回路,再根据W、W上有无负脉冲来读1/0。 (4)保持单元里的内容 当字线加低电平,T3、T4截止,该单元未选中,保持原状态。 需定期向电容补充电荷(动态刷新),称动态RAM。 四管单元是非破坏性读出,读出过程即实现刷新,字线,读1,读0,读,35,学习研究,3.单管动态记忆单元电路 单管动态记忆单元由一个
18、MOS管T1和一个存储电容C构成。 单管动态记忆单元是破坏性读出,即当读操作完毕,存储电容C上的电荷已被泄放完,必须采取重写(再生)的措施,字线,5.3 半导体随机存储器和只读存储器,36,学习研究,5.3.2 动态RAM的刷新 一.刷新间隔 为了维持MOS型动态记忆单元的存储信息,每隔一定时间必须对存储体中的所有记忆单元的栅极电容补充电荷,即进行刷新。 一般选定MOS型动态存储器的最大刷新间隔为2ms,即在2ms内需将全部存储体刷新一遍。 刷新是定时的,即使许多记忆单元长期未被访问,若不及时补充电荷的话,信息也会丢失。 重写一般是按存储单元进行的,而刷新通常以存储体矩阵中的一行为单位进行的,
19、37,学习研究,二.刷新方式 常见的刷新方式有集中式、分散式和异步式三种,38,学习研究,例如,对具有1024个记忆单元(排列成3232矩阵)的存储芯片进行刷新,刷新是按行进行的,且每刷新一行占用一个存取周期,存取周期为500ns(0.5s,39,学习研究,1.集中刷新方式 在允许的最大刷新间隔内,按照存储芯片容量的大小集中安排若干个刷新周期,刷新时停止读写操作。 刷新时间=存储体矩阵行数刷新周期 这里刷新周期是指刷新一行所需要的时间,由于刷新过程就是“假读”的过程,所以刷新周期就等于存取周期,40,学习研究,在最大刷新间隔2ms内共可以安排4000个存取周期,从03967个周期内进行读/写操
20、作或保持,而从39683999这最后32个周期集中安排刷新操作,优点:读/写操作时不受刷新工作的影响,系统的存取速度比较高。 缺点:在集中刷新期间必须停止读/写,这一段时间称为“死区”,而且存储容量越大,死区就越长,41,学习研究,2.分散刷新方式 分散刷新是指把刷新操作分散到每个存取周期内进行,此时系统的存取周期被分为两部分,前一部分时间进行读/写操作,后一部分时间进行刷新操作。一个系统存取周期内刷新存储矩阵中的一行,优点:没有死区。 缺点:加长了系统的存取周期,降低整机的速度;刷新过于频繁,当存储容量比较小时,没有充分利用所允许的最大刷新间隔(2ms,42,学习研究,3.异步刷新方式 异步
21、刷新方式可以看成前述两种方式的结合,它充分利用了最大刷新间隔时间,把刷新操作平均分配到整个最大刷新间隔时间内进行,故有: 相邻两行的刷新间隔=最大刷新间隔时间/行数 对于3232矩阵,在2ms内需要将32行刷新一遍,所以相邻两行的刷新时间间隔=2ms/32=62.5 s,即每隔62.5 s安排一个刷新周期,在刷新时封锁读/写,43,学习研究,异步刷新方式虽然也有死区,但比集中刷新方式的死区小得多,仅为0.5s。这样可以避免使CPU连续等待过长的时间,而且减少了刷新次数,是比较实用的一种刷新方式,5.3 半导体随机存储器和只读存储器,44,学习研究,3.刷新控制 当刷新请求和访存请求同时发生时,
22、应优先进行刷新操作。 MOS型动态RAM的刷新要注意几个问题: 刷新对CPU是透明的。 刷新通常是一行一行地进行的,每一行中各记忆单元同时被刷新,故刷新操作时仅需要行地址,不需要列地址,45,学习研究,刷新操作类似于读出操作。 因为所有芯片同时被刷新,所以在考虑刷新问题时,应当从单个芯片的存储容量着手,而不是从整个存储器的容量着手,46,学习研究,5.3.3 RAM芯片分析 1.RAM芯片 存储芯片通过地址线、数据线和控制线与外部连接。 地址线是单向输入的,其数目与芯片容量有关。如容量为10244时,地址线有10根;容量为64K1时,地址线有16根。 数据线是双向的,其数目与数据位数有关。如1
23、0244的芯片,数据线有4根;64K1的芯片,数据线只有1根 控制线主要有读/写控制线(或写允许线)和片选线两种,读/写控制线是用来决定芯片是进行读操作还是写操作的,片选线是用来决定该芯片是否被选中的,5.3 半导体随机存储器和只读存储器,47,学习研究,2.地址译码方式 电路能把地址线送来的地址信号翻译成对应存储单元的选择信号,地址译码方式有: 单译码方式 单译码方式又称字选法,它所对应的存储器结构是字结构的,容量为M个字的存储器(每字b位),排列成M行b列的矩阵,矩阵的每一行对应一个字,有一条公用的选择线wi(字线)。字线选中某一行时,同一行中的各位就都被选中,由读写电路对被选中的各位实施
24、读出或写入操作,48,学习研究,32 8的芯片:字结构、单译码方式RAM,图5-12 字结构、单译码方式RAM,优点:结构简单。 缺点:使用的外围电路多,成本昂贵。且当字数大大超过位数时,存储器会形成纵向很长而横向很窄的不合理结构,所以这种方式只适用于容量不大的存储器,49,学习研究,双译码方式 双译码方式又称为重合法: 把K位地址码分成接近相等的两段,一段用于水平方向作X地址线,供X地址译码器译码;一段用于垂直方向作Y地址线,供Y地址译码器译码。 X和Y两个方向的选择线在存储体内部的一个记忆单元上交叉,以选择相应的记忆单元,50,学习研究,双译码方式对应的存储芯片结构可以是位结构的,则在Z方
25、向上重叠b个芯片。 也可以是字段结构的,51,学习研究,位结构、双译码方式RAM,图5-13 位结构、双译码方式RAM,52,学习研究,对于字段结构的存储芯片,行选择线位M/s根,列选择线为s,K位地址线也要划分为两部分:Kxlog2M/s,Kylog2s。 双译码方式与单译码方式相比,减少了选择线数目和驱动器数目。存储容量越大,这两种方式的差异越明显,53,学习研究,SRAM读写时序 读周期表示对该芯片进行两次连续读操作的最小间隔时间。在此期间,地址输入信息不允许改变,片选信号 在地址有效之后变为有效,使芯片被选中,最后在数据线上得到读出的信号。写允许信号 在读周期中保持高电平。 图5-14
26、(a) 静态RAM的读时序,3.RAM的读写时序,54,学习研究,写周期与读周期相似,但除了要加地址和片选信号外,还要加一个低电平有效的写入脉冲 ,并提供写入数据。 图5-14(b) 静态RAM的写时序,3.RAM的读写时序(续,55,学习研究,DRAM读写时序 在读周期中,行地址必须在 有效之前有效,列地址也必须在 有效之前有效,且在 到来之前, 必须为高电平,并保持到 脉冲结束之后。 在写周期中,当 有效之后,输入的数据必须保持到 变为低电平之后。在 、 和 全部有效时,数据被写入存储器,3.RAM的读写时序(续,56,学习研究,动态RAM的读写时序图,图5-15 动态RAM的读写时序图,
27、57,学习研究,5.4 主存储器的连接与控制,主存储器是整个存储系统的核心,通常分为RAM和ROM两大部分。 5.4.1 主存储器容量的扩展 一个存储体是由一定数量的芯片构成的,根据存储器所要求的容量和我们选定的存储芯片的容量,就可以计算出总的芯片数。即,当单个存储芯片的容量不能满足系统要求时,需多片组合起来以扩展字长(位扩展)或字数(字扩展,58,学习研究,1.位扩展 位扩展指只在位数方向扩展(加大字长),而芯片的字数和存储器的字数是一致的。 位扩展的连接方式:将各存储芯片的地址线、片选线和读/写线相应地并联起来,而将各芯片的数据线单独列出。 如用64K1的SRAM芯片组成64k8的存储器,
28、需要8个芯片,容量 地址 数据 存储器 64K8 16 8 存储芯片 64K1 16 1,59,学习研究,60,学习研究,当CPU访问该存储器时,其发出的地址和控制信号同时传给8个芯片,选中每个芯片的同一单元,其单元的内容被同时读至数据总线的相应位,或将数据总线上的内容分别同时写入相应单元,D0,D6,D7,D7 D0,CS,A15 A0,WE,64K 1,64K 1,64K 1,61,学习研究,2.字扩展 字扩展是指仅在字数方向扩展,而位数不变。字扩展将芯片的地址线、数据线、读/写线并联,由片选信号来区分各个芯片。 如用16K8的SRAM组成64K8的存储器,需要4个芯片,容量 地址 数据
29、存储器 64K8 16 8 存储芯片 16K8 14 8,62,学习研究,4根片选信号CSi,63,学习研究,5.4 主存储器的连接与控制,64,学习研究,在同一时间内四个芯片中只能有一个芯片被选中。四个芯片的地址分配如下: 第一片 最低地址 0000H 最高地址 3FFFH 第二片 最低地址 4000H 最高地址 7FFFH 第三片 最低地址 8000H 最高地址 BFFFH 第四片 最低地址 C000H 最高地址 FFFFH,5.4 主存储器的连接与控制,65,学习研究,3.字和位同时扩展 当构成一个容量较大的存储器时,往往需要在字数方向和位数方向上同时扩展,这将是前两种扩展的组合,实现起
30、来也是很容易的。 如用16K4的SRAM组成64K8的存储器,需要8个芯片,容量 地址 数据 存储器 64K8 16 8 存储芯片 16K4 14 4,5.4 主存储器的连接与控制,66,学习研究,5.4 主存储器的连接与控制,67,学习研究,4.2 存储芯片的地址分配和片选 CPU要实现对存储单元的访问,首先要选择存储芯片,即进行片选; 然后再从选中的芯片中依地址码选择出相应的存储单元,以进行数据的存取,这称为字选。 片内的字选是由CPU送出的N条低位地址线完成的(N由片内存储容量2N 决定) ,地址线直接接到所有存储芯片的地址输入端;而片选信号则是通过高位地址得到的。 实现片选的方法可分为
31、三种:即线选法、全译码法和部分译码法,68,学习研究,1.线选法 线选法就是用除片内寻址外的高位地址线(片选线)分别接至各个存储芯片的片选端,且有多少芯片就有多少根片选线。当某地址线信息为“0”时,就选中与之对应的存储芯片,芯片 A19A15 A14A11 A10A0 地址范围 0# 未用 1 1 1 0 000 07000 111 077FFH 1# 未用 1 1 0 1 000 06800 111 06FFFH 2# 未用 1 0 1 1 000 05800 111 05FFFH 3# 未用 0 1 1 1 000 03800 111 03FFFH,优点:不需要地址译码器,线路简单 缺点:
32、仅适用于连接存储芯片较少的场合,且地址不连续,69,学习研究,2.全译码法 全译码法将片内寻址外的全部高位地址线作为地址译码器的输入,把经译码器译码后的输出作为各芯片的片选信号,将它们分别接到存储芯片的片选端,以实现对存储芯片的选择。 优点:每片(或组)芯片的地址范围是唯一确定的,而且是连续的,也便于扩展,不会产生地址重叠的存储区 缺点:对译码电路要求较高,70,学习研究,芯片 A19A13 A12 A11 A10A0 地址范围 0# 0 0 0 0 000 00000 111 007FFH 1# 0 0 0 1 000 00800 111 00FFFH 2# 0 0 1 0 000 0100
33、0 111 017FFH 3# 0 0 1 1 000 01800 111 01FFFH,71,学习研究,3.部分译码 所谓部分译码即用片内寻址外的高位地址的一部分来译码产生片选信号。 如用4片2K8的存储芯片组成8K8存储器,需要四个片选信号,因此只要用两位地址线来译码产生。 例:设地址总线有20位(A19A0),则寻址8K8存储器时,无论A19 A13 取何值,片选信号都取决于A12和A11 的值。也就是说,8K RAM中的任一个存储单元,都对应有2(20-13) =27 个地址,这种一个存储单元出现多个地址的现象称地址重叠,72,学习研究,从地址分布来看,这8KB存储器实际上占用了CPU
34、全部的空间(1MB)。 令未用到的高位地址全为0,这样确定的存储器地址称为基本地址,本例中8K8存储器的基本地址即00000H01FFFH。部分译码法较全译码法简单,但存在地址重叠区,73,学习研究,5.4.3 主存储器和CPU的连接 1.主存和CPU之间的硬连接 主存与CPU的硬连接有三组连线:地址总线(AB)、数据总线(DB)和控制总线(CB)。 中存中的存储器地址寄存器(MAR)和存储器数据寄存器(MDR)是主存和CPU间的接口 MAR可以接受来自程序计数器的指令地址或来自运算器的操作数地址,以确定要访问的单元。 MDR是向主存写入数据或从主存读出数据的缓冲部件,74,学习研究,5.4
35、主存储器的连接与控制,主存工作完成信号,75,学习研究,2.CPU对主存的基本操作 CPU向主存发出的读或写命令,才是两个部件之间有效工作的关键。 CPU对主存进行读/写操作时,首先CPU在地址总线上给出地址信号,然后发出相应的读或写命令,并在数据总线上交换信息,76,学习研究,读 读操作是指从CPU送来的地址所指定的存储单元中取出信息,再送给CPU,其操作过程是: 地址MARAB CPU将地址信号送至地址总线 Read CPU发读命令 Wait for MFC 等待存储器工作完成信号 (MAR)DBMDR 读出信息经数据总线送至CPU,77,学习研究,78,学习研究,写 写操作是指将要写入的
36、信息存入CPU所指定的存储单元中,其操作过程是: 地址MARAB CPU将地址信号送至地址总线 数据MDRDB CPU将要写入的数据送至数据总线 Write CPU发写命令 Wait for MFC 等待存储器工作完成信号,5.4 主存储器的连接与控制,79,学习研究,5.4 主存储器的连接与控制,80,学习研究,由于CPU和主存的速度存在着差距,要让两者之间的速度匹配,通常有两种匹配方式:同步存储器读取和异步存储器读取。 异步存储器读取:上面给出的读/写基本操作是以异步存储器读取来考虑的,CPU和主存间没有统一的时钟,存储器工作完成后发信号(MFC)通知CPU。 同步存储器读取:CPU放慢速
37、度来配合主存的速度。在这种存储器中,不需要存储器工作完成信号,5.4 主存储器的连接与控制,81,学习研究,除去通过寻找高速元件来提高访问速度外,也可以采用多个存储器并行工作,并且用交叉访问技术来提高存储器的访问速度,5.6 多体交叉存储技术,如何提高存储器访问速度,82,学习研究,在高速的计算机中,普遍采用并行主存系统,即在一个存取周期内可以并行读出多个字。 多个并行工作的存储器共用一套地址寄存器和译码电路,按同一地址并行地访问各自的对应单元。 例如:CPU送出地址A,则n个存储器中的所有A单元同时被选中。假设每个存储器的字长为w位,则同时访问nw位称为单体多字系统,5.6.1 并行访问存储
38、器,83,学习研究,单体多字并行存储系统,图5-25 单体多字并行存储系统,84,学习研究,交叉访问存储器中有多个容量相同的存储模块(存储体),而且各存储模块具有各自独立的地址寄存器、读写电路和数据寄存器,这就是多体系统。各个存储体能并行工作,又能交叉工作。 存储器地址寄存器的低位部分经过译码选择不同的存储体,而高位部分则指向存储体内的存储字,5.6.2 交叉访问存储器,85,学习研究,4个分体组成的多体交叉访问存储器,图5-26 多体交叉访问存储器,86,学习研究,模4交叉编址,横向编址,87,学习研究,主存速度的提高始终跟不上CPU的发展。由SRAM组成的高速缓冲存储器的运行速度则接近甚至
39、等于CPU的速度。缺点:容量太小,5.7 高速缓冲存储器,应该放什么内容在cache中,88,学习研究,程序的局部性:时间局部性和空间局部性。 时间局部性是指如果一个存储单元被访问,则可能该单元会很快被再次访问。这是因为程序存在着循环。 空间局部性是指如果一个存储单元被访问,则该单元邻近的单元也可能很快被访问。这是因为程序中大部分指令是顺序存储、执行的,数据一般也是簇聚地存储在一起的,1.程序的局部性原理,89,学习研究,高速缓冲技术就是把程序中正在使用的部分存放在一个高速的容量较小的Cache中,使CPU的访存操作大多数针对Cache进行,从而使程序的执行速度大大提高,90,学习研究,Cac
40、he和主存都被分成若干个大小相等的块,每块由若干字节组成。 Cache中保存的信息只是主存中最急需执行的若干块的副本。 若需要访问的块在cache中,称为cache命中。命中率越高越好,2.Cache的基本结构,91,学习研究,1.Cache的读操作 当CPU发出读请求时,如果Cache命中,就直接对Cache进行读操作,与主存无关;如果Cache不命中,则仍需访问主存,并把该块信息一次从主存调入Cache内。 若此时Cache已满,则须根据某种替换算法,用这个块替换掉Cache中原来的某块信息,5.7.2 Cache的读写操作,92,学习研究,由于Cache中保存的只是主存的部分副本,因此要
41、保证这些副本与主存中的内容保持一致。 当CPU发出写请求时: 如果Cache命中,有可能会遇到Cache与主存中的内容不一致的问题。处理的方法有:写直达法和写回法。 如果写Cache不命中,就直接把信息写入主存,2.Cache的写操作,93,学习研究,主存中程序如何装入Cache中? 1.全相联映像 主存中任何一个块均可以映像装入到Cache中任何一个块的位置上。 特点:灵活,Cache的块冲突概率最低、空间利用率最高,但是地址变换速度慢,而且成本高,实现起来比较困难,5.7.3 地址映象,94,学习研究,全相联映像,图5-29(a) 全相联映像,95,学习研究,主存中的每一个块只能被放置到C
42、ache中惟一的一个指定位置,若这个位置已有内容,则原来的块将无条件地被替换出去。 优点:最简单的地址映象方式,成本低,易实现,地址变换速度快,没有替换的问题 缺点:不够灵活,Cache的块冲突概率最高、空间利用率最低,2.直接映像,96,学习研究,直接映像,图5-29(b) 直接映像,97,学习研究,将主存空间按Cache大小等分成区后,再将Cache空间和主存空间中的每一区都等分成大小相同的组。组间采取直接映像,而组内采取全相联映像。 组相联映像实际上是全相联映像和直接映像的折衷方案,所以其优点和缺点介于全相联和直接映像方式的优缺点之间,3.组相联映像,98,学习研究,组相联映像,图5-2
43、9(c) 组相联映像,99,学习研究,1.随机算法 完全不管Cache块过去、现在及将来的使用情况,简单地根据一个随机数,选择一块替换掉。 2.先进先出(FIFO)算法 按调入Cache的先后决定淘汰的顺序。这种方法要求为每块做一记录,记下它们进入Cache的先后次序。 优点:容易实现,而且系统开销小。 缺点:可能会把一些需要经常使用的程序块替换掉,5.7.4 替换算法,100,学习研究,3.近期最少使用(LRU)算法 把CPU近期最少使用的块作为被替换的块。这种替换方法需要随时记录Cache中各块的使用情况,以便确定哪个块是近期最少使用的块。 LRU算法相对合理,但实现起来比较复杂,系统开销较大。通常需要对每一块设置一个称为“年龄计数器”的硬件或软件计数器,用以记录其被使用的情况,101,学习研究,虚拟存储器由主存储器和联机工作的辅助存储器(通常为磁盘存储器)共同组成,这两个存储器在硬件和系统软件的共同管理下工作,对于应用程序员,可以把它们看作是一个单一的存储器,5.8 虚拟存储器,102,学习研究,虚拟存储器将主存或辅存的地址
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年北海c1客运从业资格证考试
- 2024年二手房产交易合同样式
- 2024年西安客运从业资格证考试题库APP
- 2024年安康客运从业资格证模拟考试题库
- 交通基础设施改善土地承包
- 2024年医药零售项目立项申请报告模范
- 仓储物流火灾应急预案
- 临床问题转化为研究问题:行业视角
- 产品质量问题整改措施
- 2024年地铁隧道盾构工程承包协议
- 公务员2024年国考申论真题(地市级)及参考答案
- 2024年河南省信阳市招才引智绿色通道招聘市直事业单位人员183人高频难、易错点500题模拟试题附带答案详解
- 民用无人机操控员执照(CAAC)考试复习重点题及答案
- 2024年中国南水北调集团水网水务投资限公司及下属单位社会招聘高频难、易错点500题模拟试题附带答案详解
- 广西南宁市第十四中学2023-2024学年七年级上学期期中地理试题
- 2024-2030年中国应急产业市场发展分析及竞争形势与投资机会研究报告
- 2024年中国电动鼻毛器市场调查研究报告
- 2025年高考语文复习备考复习策略讲座
- 2024年中国具身智能行业研究:知行合一拥抱AI新范式-19正式版
- 数字中国发展报告(2023年)
- 缺乳(乳汁淤积)产妇的中医护理
评论
0/150
提交评论