版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机组成原理第三章内部存储器
存储器是信息存放的载体,是计算机系统的重要组成部分。有了它,计算机才能有记忆功能,才能把要计算和处理的数据以及程序存入计算机,使计算机能脱离人的直接干预,自动地工作。教学内容半导体存储器(主存)高速缓冲存储器(CACHE)辅助存储器(辅存)几种新型存储器3.1存储器概述
存储器是计算机存储信息的地方。程序运行所需要的数据、程序执行的结果以及程序本身均保存在存储器中。存储器是由许多存储单元组成的,每一个单元有一个编号,这个编号称为存储单元的地址,一般用二进制或十六进制数表示,每一个存储单元的地址是唯一的。其逻辑结构图如下图所示
地址译码器地址内容0001020304FF00单元01单元02单元03单元FF单元11010011101000100010011010011101::11100001ABDB控制CB存储系统的分类按存储介质分:磁表面存储器:磁性材料做成的,如磁带、磁盘。光盘存储器:用光敏或磁光介质材料制成,记录密度大,容量大,信息保存寿命长。半导体存储器:用半导体器件组成,速度快。按存取方式分:随机存取存储器:存储器中的任何存储单元的内容后能被随机存取,且存取时间和存取单元的物理位置无关。顺序存储器:存储器只能按某种顺序来存取,存取时间和存储单元的物理位置有关。如磁带存储器。
存储系统的分类按读写功能分:随机读写存储器(RAM):既可以读也可以写的半导体存储器。只读存储器(ROM):只能读不能写。按信息的可保存性分:永久记忆的存储器:断电后仍能保存信息。如磁性材料存储器等。非永久记忆的存储器:断电后信息就消失。如半导体读写存储器。按在计算机系统中的作用分:
主存储器、辅助存储器、高速缓冲存储器、控制存储器等。
P66表3.1存储系统的分级结构
计算机系统对存储器的要求是容量大、速度快、成本低,但要兼顾三方面是困难的。为解决这一矛盾,目前在计算机系统中,通常采用高速缓存、主存和辅存三级存储结构。如教材P66图3.1所示。磁带光盘磁盘
磁盘cache主存
cacheCPU寄存器高速缓存:简称cache,由高速小容量的双极型半导体存储器组成,和主存比其存取速度快、容量小,主要用来高速存取指令和数据。主存:计算机的主要存储器,用来存放计算机运行期间的大量程序和数据。它能和cache交换数据和指令,一般由MOS型半导体存储器组成。辅存:又称外存。它是大容量存储器,其特点是位成本低,通常用来存储系统程序和大型数据文件及数据库。存储系统的分级结构●能被CPU直接访问的高速缓冲存储器和主存储器统称为内存储器。●微机接口是指微机系统中各部件之间的联系。是以CPU为核心,是CPU与外界的联系。则站在CPU的角度,内存储器和其他设备一样,也是一种外部设备。所以在CPU与内存储器之间同样存在接口问题。●内存储器与CPU间接口比较简单,但同样具有一般接口的任务,即完成三大总线的连接,确保CPU与内存储器之间迅速无误地进行信息交换。主存—辅存层次:主要解决容量问题。大容量的信息存放在辅存中,当需要时借助辅助软硬件成批调入内存中。cache--主存层次:主要解决速度问题。cache速度快,接近于CPU的速度,但容量较小。通过辅助硬件,把主存和cache构成统一整体(内存),使它具有cache的速度、主存的容量。存储系统的分级结构主存的主要技术指标存储容量:指存储器可以容纳的二进制信息量。两种表示方法:字数*字长,例512*32位;或字节数,如128MB(Byte)。常用到的:1K=210,1M=220,1G=230,1T=240存取时间:又称存储器访问时间,指启动一次存储器操作到完成该操作所经历的的时间。存储周期:指连续启动两次读操作所需的最小间隔。通常存储周期略大于存取时间。(ns级)存储器带宽:单位时间里存储器所存取的信息量,单位为位/秒或字节/秒。带宽是衡量数据传输速率的重要技术指标。3.2半导体存储器
半导体存储器的分类半导体存储器主要技术指标各种存储元件存储器芯片存储器扩展技术一、半导体存储器概述除采用磁、光原理的辅存外,其它存储器主要都是采用半导体存储器。本章介绍采用半导体存储器及其组成主存的方法。CPUCACHE主存(内存)辅存(外存)半导体存储器芯片的结构地址寄存器地址译码器存储体控制电路AB数据寄存器读写电路DBOEWECS①存储体存储器芯片的主要部分,用来存储信息。②地址译码电路根据输入的地址编码来选中芯片内某个特定的存储单元。③片选和读写控制逻辑选中存储芯片,控制读写操作。①存储体每个存储单元具有一个唯一的地址,可存储1位(位片结构)或多位(字片结构)二进制数据存储容量与地址、数据线个数有关:芯片的存储容量 =存储单元数×存储单元的位数=2M×NM:芯片的地址线根数N:芯片的数据线根数译码器A5A4A3A2A1A06301存储单元64个单元行译码A2A1A0710列译码A3A4A501764个单元单译码双译码②地址译码电路单译码结构双译码结构双译码可简化芯片设计主要采用的译码结构③片选和读写控制逻辑片选端CS*或CE*有效时,可以对该芯片进行读写操作。输出OE*控制读操作。有效时,芯片内数据输出。该控制端对应系统的读控制线。写WE*控制写操作。有效时,数据进入芯片中。该控制端对应系统的写控制线。●特点:体积小、速度快、耗电少、价格低。
半导体存储器种类很多,性能和用途各不相同,因此在进行存储器及其接口设计时,必须首先了解各类存储器件的性能及结构特征。二、半导体存储器的分类按制造工艺双极型:速度快、集成度低、功耗大MOS型:速度慢、集成度高、功耗低按使用属性随机存取存储器RAM:可读可写、断电丢失只读存储器ROM:正常只读、断电不丢失详细分类,请看图示半导体存储器的分类图半导体存储器只读存储器(ROM)随机存取存储器(RAM)静态RAM(SRAM)动态RAM(DRAM)非易失RAM(NVRAM)掩膜式ROM一次性可编程ROM(PROM)紫外线擦除可编程ROM(EPROM)电擦除可编程ROM(EEPROM)详细展开,注意对比
半导体存储器从使用功能上来分,可分为:读写存储器RAM(RandomAccessMemory)又称为随机存取存储器;只读存储器ROM(ReadOnlyMemory)两类。RAM主要用来存放各种现场的输入、输出数据,中间计算结果,与外存交换的信息和作堆栈用。它的存储单元的内容按需要既可以读出,也可以写入或改写。而ROM的信息在使用时是不能改变的,也即只能读出,不能写入,故一般用来存放固定的程序,如微机的管理、监控程序,汇编程序等,以及存放各种常数、函数表等。读写存储器RAM组成单元速度集成度应用SRAM触发器快低小容量系统DRAM极间电容慢高大容量系统NVRAM带微型电池慢低小容量非易失静态RAMSRAM的基本存储单元是触发器电路。每个基本存储单元存储二进制数一位。许多个基本存储单元形成行列存储矩阵。SRAM一般采用“字结构”存储矩阵:每个存储单元存放多位(4、8、16等)每个存储单元具有一个地址SRAM2114SRAM6264动态RAMDRAM的基本存储单元是单个场效应管及其极间电容。必须配备“读出再生放大电路”进行刷新。每次同时对一行的存储单元进行刷新。每个基本存储单元存储二进制数一位。许多个基本存储单元形成行列存储矩阵。DRAM一般采用“位结构”存储体:每个存储单元存放一位需要8个存储芯片构成一个字节单元每个字节存储单元具有一个地址只读存储器ROM掩膜ROM:信息制作在芯片中,不可更改。PROM:允许一次编程,此后不可更改。EPROM:用紫外光擦除,擦除后可编程;并允许用户多次擦除和编程。EEPROM(E2PROM):采用加电方法在线进行擦除和编程,也可多次擦写。FlashMemory(闪存):能够快速擦写的EEPROM,但只能按块(Block)擦除。EPROM顶部开有一个圆形的石英窗口,用于紫外线透过擦除原有信息。一般使用专门的编程器(烧写器)编程。编程后,应该贴上不透光封条。出厂未编程前,每个基本存储单元都是信息“1”。编程就是将某些单元写入信息0。EPROM2716EPROM2764RAM存储器——存储元件
六管静态存储元件单管动态存储元件刷新操作:DRAM存储元中,由于存储电荷终究会泄露,时间长了,就会丢失信息,因此需要外界按一定的规律和一定的时间间隔给栅极电容充电,这就是所谓的“刷新”或“再生”。对存储元执行一遍读操作,就能自动刷新正确的存储信息
RAM存储器——存储器芯片(1)SRAM芯片的组成结构(P68图3.2)SRAM存储器一般由存储体(存储矩阵)、地址译码电路、读写电路和控制电路等组成。存储体:存储元的集合,按照一定的规则排列成矩阵的形式。如4096*1位可排列成64行*64列的矩阵。地址译码器:接收来自CPU的地址信号,译码输出产生行、列选择信号,以选中所要访问的存储单元。地址译码有两种方式:
单译码方式:只有一个地址译码器,译码器输出产生字选择线。如2n个字的容量,译码器输出2n根信号。双译码方式:有行地址译码器和列地址译码器。如2n个字的容量,行列地址译码输入信号均为n/2,每个译码器都输出2n/2根信号,二者交叉可选中2n个单元,但译码输出线只有2*2n/2根,节省了驱动电路。特别是存储容量大时,效果很明显。
RAM存储器——存储器芯片片选与读/写控制电路:每个芯片都设有片选信号,当片选信号有效时,地址译码器才能正常译码,芯片才能进行输入/输出操作。读/写控制电路控制信息的流动方向。
驱动器:在大容量存储器中,采用双译码结构,其每一根译码输出信号线都需带很多负载,因此需加驱动器。
I/O电路:控制选中单元的读出或写入,并具有放大信息的作用。(P68图3.3)读写周期图3.4
RAM存储器——存储器芯片(2)DRAM芯片的组成结构动态RAM存储器与静态RAM类似,也包含存储矩阵、行列地址译码和读写电路、控制电路,另外又增加了行、列地址锁存器。这是由于DRAM集成度高,每个芯片容量大,所需地址引线较多,难以封装,因此采用分时复用技术,将地址分两次输入,可以减少一半地址引线。(P72图3.7)128*128的DRAM的结构框图如下图所示。
RAM存储器——存储器芯片
动态存储器组成结构框图128*128的DARM的结构框图RAM存储器——DRAM的刷新及控制(1)刷新周期:上次对整个存储器刷新结束到下一次刷新一遍为止的这段时间间隔称为刷新周期。一般为2ms,4ms,8ms。(2)几种刷新方式:集中刷新:在刷新过程中,不能对存储器进行读写操作。采用集中刷新方式的存储器的平均读/写周期,与单个存储器片的读/写工作所需的周期相差不多,把一个存储系统周期分为两半,前半周期进行读写或维持,后半周期用于刷新,所以这种刷新方式较适用于高速存储器。分散刷新:如2ms内分散地把128行刷新一遍。缺点是整个系统的速度降低。(P71图3.6)RAM存储器——DRAM的刷新及控制刷新方式比较RAM存储器——存储器的扩展
存储器芯片的容量总是有限的,容量越大,工艺越难,价格越高。因此总是利用一些芯片组合构成大容量存储器,这称为扩展。扩展有位、字扩展、字位扩展。(1)位扩展用N*M位的芯片组成N*L位的存储器,其中L/M为整数,称为位扩展。需L/M个芯片。连接方法:控制线均分别并联(片选、读写控制信号等),地址信号线也分别并联,每个芯片的数据信号线分别与相应的数据总线相连。如图3.9所示。2114(1)A9~A0I/O4~I/O1片选D3~D0D7~D4A9~A02114(2)A9~A0I/O4~I/O1CECE多个位扩充的存储芯片的数据线连接于系统数据总线的不同位数。其它连接都一样。这些芯片应被看作是一个整体。常被称为“芯片组”。位扩展演示
是指将芯片上所有存储元排列成不同的存储单元,每个单元一位,即将所有存储元排列成不同字的同一位。相当于存储器的芯片容量的字数与存储容量的字数相同,而字长不相同时,需采作位扩充结构方式。具体方法:把这一组内所有芯片的地址线、片选信号线和读/写控制线各自全并联在一起,而各自芯片的数据线分别引出,连到存储器不同位的数据总线上。
例:用1K×1位的存储芯片组成1K×8的存储器。RAM存储器——存储器的扩展(2)字扩展用N*M位的芯片组成K*M位的存储器,其中K/N为整数,称为字扩展。需K/N个芯片。连接方法:读写控制信号均与系统总线的读写信号相连,数据信号线分别并联与相应的数据总线相连,片内寻址的地址信号线分别并联,高位地址信号译码产生每个芯片的片选信号。如图3.10所示。存储系统常需利用多个存储芯片扩充容量,也就是扩充了主存储器地址范围。这种扩充简称为“地址扩充”或“字扩充”。进行“地址扩充”,需要利用存储芯片的片选端对多个存储芯片(组)进行寻址。这个寻址方法,主要通过将存储芯片的片选端与系统的高位地址线相关联来实现。地址扩充(字扩充)片选端D7~D0A19~A10A9~A0A9~A0D7~D0CE1K×8(1)A9~A0D7~D0CE译码器000000000100000000001K×8(2)演示
是指将芯片上所有存储元排列成不同的存储单元,每个单元一个,每个单元的各位在同一芯片内。即当构成存储器的芯片容量的字数与存储器容量的字数不相同,但字长相同。此时需进行字扩充结构方式。具体方法:将N个芯片的地址线、数据线、读/写控制线分别并联在一起,而片选信号单独连接。
例:用Intel2716(16K×8位)去构成64K×8位的存储器。(4片2716)
RAM存储器——存储器的扩展
(3)字、位扩展用N*M位的芯片组成K*L位的存储器,其中K/N、L/M均为整数,称为字、位扩展。需(K/N)*(L/M)个芯片。连接方法:将L/M个芯片进行位扩展成为一组,对K/N组位扩展后的芯片组进行字扩展,组中芯片的片选信号并接,组间分别与译码输出连接。
是前两种方式的结合,即当构成存储器的芯片容量的字数与存储器容量的字数不相同,且字长也不相同时,采用字位扩展。具体方法是先进行位扩展,确定几个芯片一组;再进行字扩展,确定共几组。例:利用Intel2114(1K×4)去构成一个4K×8位的存储器。◆先位扩展:8/4=2(片)◆再字扩展:4K/1K=4(组)字位结构方式(字位扩展)RAM存储器——存储器的扩展举例【例】CPU的地址总线16根(A15—A0,A0为低位),双向数据总线8根(D7—D0),控制总线与主存有关的信号有MERQ(低电平有效),R/W(高电平为读命令)。主存地址空间分配如下:0~8191为系统程序区,由只读存储器芯片组成,8192~32767为用户程序区;最后(最大地址)2K地址空间为系统程序工作区。存储器按字节编址。现有存储器芯片:EPROM:8K×8位(控制端仅有CS)SRAM:16K×1位,2K×8位,4K×8位,8K×8位请从上述芯片中选择适当芯片设计该计算机主存储器,画出主存储器逻辑框图,注意画出片选逻辑(可选用门电路及3—8译码器74LS138)与CPU的连接,说明选哪些存储芯片,选多少片。解:主存地址空间分布如下
根据给定条件,选用:8K*8位EPROM芯片1片,8K*8位SRAM芯片3片,2K*8位SRAM芯片1片。采用3--8译码器译码产生各芯片的片选信号。这里要讲一下产生片选信号的设计过程:先列出地址分配表:存储器的连接:【例】试用4片4K×4位的芯片和3片8K×8位的芯片扩展32KB主存储器。若系统的地址总线16条A15…A0,双向数据总线8条(D7…D0)。存储器的连接:存储器的地址译码是任何存储系统的核心,目的是保证CPU能对所有存储单元实现正确寻址。●地址译码片选控制译码(两部分)片内地址译码片内地址译码是存储芯片上的地址线与系统地址总线的低位相连后,用于对片内存储单元的寻址。片选控制译码电路对高位地址进行译码后产生存储芯片的片选信号。存储器地址译码方法1、片选控制译码方法
①线选法当存储容量不大,所用存储芯片数量不多,而CPU寻址空间远远大于存储器容量时,可用高位地址线直接作为存储芯片的片选信号,每一根地址线选通一芯片,这种方法叫线选法。例:某微机系统的存储容量为4KB,CPU寻址空间为64KB(地址线为16位),所用芯片容量为1KB。则可用线选法从高6位地址中任选4位作为对4片存储芯片的片选信号。(低10位用于芯片内部单元寻址)端口地址:0400H~07FFH端口地址:0800H~0BFFH端口地址:1000H~13FFH端口地址:2000H~23FFH●优点:
连线简单,片选控制无需专门的译码电路。●缺点:
一是当存在空闲地址线时,由于空闲地址线可随意取值0/1,故将导致地址重叠。二是整个存储器地址分布不连续,使可寻址范围减少。②全译码法
为克服采用线选法所产生的地址重叠现象,除将低位地址总线直接与各芯片的地址线相连接之外,其余的高位地址总线全部经译码后作为各芯片的片选信号,此方法叫全译码法。例:CPU地址总线为16位,存储芯片容量为8KB。采用全译码方式寻址64KB容量存储器。端口地址:0000H~1FFFH端口地址:2000H~3FFFH端口地址:E000H~FFFFH●从上可见,全译码法可以提供对全部存储空间的寻址能力,并且存储器的地址是连续的和唯一的,无地址间断和地址重叠现象。③部分译码法
部分译码法是将高位地址线中的一部分进行译码,产生片选信号。该方法常用于不需要全部地址空间的寻址能力,但线选法地址线又不够用的情况。
例:CPU地址总线为16位,存储器由4片容量为8KB的芯片构成,采用部分译码法。●存在地址重叠;可由不同的高位地址译码,则对应不同的地址空间。④混合译码法
混合译码法是将线选法和部分译码法相结合的一种方法。该方法将用于片选控制的高位地址分为两组,其中一组的地址(较低位)采用部分译码法,经译码后的每一个输出作为一块芯片的片选信号;另一组地址(较高位)则采用线选法,每一根地址线作为一块芯片的片选信号。例:CPU的地址总线为16位,存储器由10片容量为2K的芯片构成,采用混合译码法实现片选控制。●混合译码法同样存在地址重叠和地址不连续。片选端译码小结存储芯片的片选控制端可以被看作是一根最高位地址线。在系统中,主要与地址发生联系:包括地址空间的选择(例如接系统的IO/M*信号)和高位地址的译码选择(与系统的高位地址线相关联)。对一些存储芯片通过片选无效可关闭内部的输出驱动机制,起到降低功耗的作用。
存储器地址译码电路的设计一般遵循以下规则:①据系统中实际存储器容量,确定存储器在整个寻址空间中的位置。②据所选用存储芯片的容量,画出地址分配图或列出地址分配表。③据地址分配图/表确定译码方法并画出相应的地址位图。④选用合适器件,画出译码电路图。2、地址译码电路的设计例1:某微机系统地址总线为16位,实际存储器容量为16KB,ROM区和RAM区各占8KB。其中,ROM区采用容量为2KB的EPROM芯片,RAM区采用1KB的静态RAM芯片。试设计该存储器的地址译码电路。①该系统的寻址空间最大为64KB,假设实际存储器占用最低16KB的存储空间,即地址范围为0000H~3FFFH。其中0000H~1FFFH为ROM区,2000H~3FFFH为RAM区。②据采用存储芯片容量,地址分配图和地址分配表如下:芯片号类型与容量地址范围(1)ROM2KB0000H-07FFH(2)ROM2KB0800H-0FFFH(3)ROM2KB1000H-17FFH(4)ROM2KB1800H-1FFFH(5)RAM1KB2000H-23FFH(6)RAM1KB2400H-27FFH(7)RAM1KB2800H-2BFFH(8)RAM1KB2C00H-2FFFH(9)RAM1KB3000H-33FFH(10)RAM1KB3400H-37FFH(11)RAM1KB3800H-3BFFH(12)RAM1KB3C00H-3FFFH③确定译码方法并画出相应的地址位图。地址分配图和分配表给出了实际存储器的地址空间及存储芯片的地址范围。由于EPROM芯片与RAM芯片在存储容量不同,所以使用片内寻址的地址位数也不同。(两种方法)一是用各自的译码电路分别译码产生各自的片选信号;二是采用两次译码,即先按芯片容量大的进行一次译码,将一部分输出作为大容量芯片的片选信号,另外一部分则与其他相关地址一起进行二次译码,产生小容量芯片的片选信号。如下图④据地址位图,用3-8译码器完成一次译码,和逻辑门完成二次译码。去4片EPROM去8片RAM3、几种高性能存储器——CDRAM
(1)CDRAM芯片:增强型DRAM芯片。在DRAM芯片上集成一小容量的高速SRAM,形成高速缓冲器(cache)。结构框图如P76图3.13所示。猝发式读取:如果连续读取单元的高11位是相同的,那么可以依次从SRAM中读出数据,大大提高了读取速度。原因:当行选通信号有效时,地址的高11位作为行地址保存在行锁存器和最后读出行地址锁存器中,且DRAM阵列中该行的数据(512*4位)被读取到SRAM中保存。当列选通信号有效时,列地址译码器输出信号选中SRAM中的4位单元直接从I/O通道输出。当下一次读出数据时,11位比较器比较本次行地址和最后读出行地址,相同则直接从SRAM中输出;不同则再将DRAM的一行数据保存在SRAM中。
输入、输出数据的路径不同,输出由SRAM到I/O,输入由I/O到列写选择和读出放大器。这种结构特点使得CDRAM可以实现:在SRAM读出期间可以同时对DRAM进行阵列刷新;允许在写操作完成的同时来启动同一行的读操作。(2)CDRAM内存条采用8片1M*4位的EDRAM芯片组成1M*32位的模块,如图3.15(P78)。当存取的字的高13位地址不变(同一行),可以直接从SRAM中读取。这样大大缩短了读取时间。几种高性能存储器——CDRAM3.4闪速存储器
闪速存储器是90年代INTEL公司在EPROM存储元的基础上研制的一种新型的存储器,其特点:集成度高,且位成本低。相同容量的闪速存储器和DRAM的位成本基本接近;读出数据的速率高(P86表3.3有一性能比较表);大容量闪速存储器与CPU直接连接,可以实现读出数据无等待,充分享受程序和文件的高速存取;闪速存储器是一种低功耗、高密度且没有机电移动装置的半导体存储器,特别适合于便携式微机,成为一种替代磁盘的理想工具。3.5并行存储器
双端口存储器
1.双端口存储器的逻辑结构一个存储器具有两组相互独立的读写控制电路。图3.24(P86)示出2K×16位的双端口存储器IDT7133的逻辑结构框图。它对外有两套独立的数据信号、地址信号和读写控制信号,甚至片选信号也有两个。为了实现有冲突的读写,另有两个BUSY信号。2.无冲突操作当通过两个端口同时访问存储器的地址不同时,通过两套不同的电路实现无冲突的读写。P87表3.4看出,只要访问的地址不同,就不会有冲突的。
3.有冲突的读写控制通过两个端口对同一个单元访问时,就会发生冲突。设置了BUSY标志信号解决此问题。一旦优先端口操作完毕,另一端口的BUSY变为无效,端口开放,允许进行存取。4.应用运算器中应用双口存储器作为通用寄存器,能快速提供双操作数。双口存储器的一个端口面向CPU,另一个面向外围设备或输入输出处理机,通过共享的系统总线,增大信息的吞吐量。多机系统中采用双口存储器,甚至多端口存储器,作为CPU共享存储器,实现多CPU之间的通信。双端口存储器多模块交叉存储器
1.交叉存储器
顺序编址在多模块组成的主存储器中,其单元地址按顺序对一个模块编完,再接着对另一个模块的进行编排,一直到所有模块排完。特点:对于顺序编址的存储器,各模块只能串行工作,存储器带宽受限。但是,当某一模块出现故障,其他模块可以照常工作;另外通过增添模块来扩充容量比较方便。交叉编址特点:可以对所有模块同时访问,加快存取速度。多模块交叉存储器
2.交叉存储器的访问CPU同时访问所有模块,由存储器控制部件控制它们分时使用数据总线进行传递。定量分析:设模块字长等于数据总线宽度,模块存取一个字的周期为T,总线传送周期为,那么,CPU可以每隔时间启动下一个模块。若设m=T/,只要模块数M大于或等于m,连续读取m个模块的存储字所需的时间为:t1=T+(m-1)而顺序方式则需:t2=mT多模块交叉存储器多模块交叉存储器【例5】设存储器容量为32字,字长64位,模块数为4,分别用顺序方式和交叉方式进行组织。存储周期为T=200ns,数据总线宽度为64位,总线传送周期为50ns。问顺序存储器和交叉存储器的带宽各是多少?解:顺序存储器和交叉存储器连续读出4个字的信息总量均为:64位*4=256位顺序存储器和交叉存储器连续读出4个字所需的时间分别是:t2=200ns×4=800nst1=200ns+(4-1)×50ns=350ns顺序存储器和交叉存储器的带宽分别是:W2=256/800=32×107(位/s)W1=256/350=73×107(位/s)多模块交叉存储器几种高性能存储器——相联存储器
相联存储器是按内容寻址的。这对于表格类的信息存储与检索可以提高速度。基本原理:按所存记录的全部内容或部分内容进行查找(或检索),并将相关内容进行读出或写入。
(1)检索寄存器:存放检索字。每次检索时,取检索寄存器中若干位为检索项。(2)屏蔽寄存器:例某次检索时,取检索寄存器的前6位为检索项,则屏蔽寄存器的第7~n位均置0,将检索寄存器的第7~n位屏蔽掉。(3)符合寄存器:用来存放与检索项内容相符合的存储单元地址。所以符合寄存器的每一位对应一个存储单元。(4)代码寄存器:存放存储器中读出的代码,或要写入的代码。(6)存储体:用高速半导体存储器构成,以求快速存取。应用:主要用于虚拟存储器中存放分段表、页表和快表;在高速缓存中,相联存储器用来存放cache的行地址。这两种应用中都需要快速查找。(后面进一步理解)几种高性能存储器——相联存储器3.6cache存储器
1、cache的工作原理
程序访问的局部性在一段时间内,对局部范围内的存储器频繁访问,而对其它区域很少访问的想象称为程序访问的局部性。大量典型程序运行情况分析结果表明,程序访问具有局部性。根据程序访问的局部性特点,如果在主存和CPU之间设置一高速容量较小的存储器,将当前正在执行的程序和数据放在其中,将会大大提高整个程序运行的速度。这个高速小容量存储器就是cache。局部性原理——说明cache设置的可行性基本原理主存和cache之间的信息交换,以块为单位。它们的块的大小相同,即每块包含的字数一样多。当CPU访问主存某内容时,先检查该内容是否在cache中,若在就从cache中读出,若没有就从主存中读出,同时将该单元所在块的所有字读入cache中,以便下次访问。当然cache除了包含快速的SRAM外,还要有相应的控制逻辑支持。若cache在CPU外,cache的控制逻辑一般与主存的控制逻辑合成在一起;若cache在CPU内,则由CPU提供cache的控制逻辑。
命中率命中率:CPU访问cache的次数占总访问次数的比例。设NC表示cache完成存取的总次数,NM表示主存完成存取的总次数,h为命中率,则有:h=NC/(NC+NM)若tC表示命中时的cache访问时间,tm表示未命中时的主存访问时间,则cache/主存系统的平均访问时间ta为:ta=htc+(1-h)tm目标:以较小的硬件代价使cache/主存系统的平均访问时间ta越接近tc越好,用e表示访问效率表示。设tm/tc=r则有:e=tc/ta=1/(r+(1-r)h)命中率h越接近于1越好,r值以5~10为宜,不宜太大。2、cache与主存间的地址映射地址映射概念:主存地址按某种规律(函数)映象到cache中。cache保存的只是主存内容的一部分。为了在cache中能够寻找相应地址的主存内容,cache中必须设置标志以说明存放内容是主存的哪些块。当CPU访问存储器时,它发出的内存地址会自动变换为cache的地址。实现:采用硬件,很快,编程人员不会感到cache的存在。这种特性也称为cache的透明性。地址映射方式:全相联方式、直接方式和组相联方式。全相联映射几个概念“行”:cache的数据块称为“行”,用Li表示,i=0,1,2,…,m-1,共有m=2r行;“块”:主存的数据块称为“块”,用Bj表示,j=0,1,2,…,n-1,共有n=2S块,当然nm。cache的行和主存的块的大小一样,由k=2b个连续的字组成。主存地址表示:S位b位块号块内地址全相联映射方式:主存中的每一个块映射到cache中的任何一个行中。需在cache的一行中增加标记部分,存放该行内容的主存块的块号。全相联映射全相联映射方式的检索过程(P95图3.33b):CPU发出内存地址的块号部分(s位)与cache中所有行中的标记部分同时比较,若某行的标记与要访问的块号相同,命中,则再根据块内地址(b位)从该行中读取相应字;否则,未命中,则按内存地址从主存中读取一个字。优点:灵活,cache可以得到充分利用。但当行数较多时要实现所有行中的标记部分同时参与比较,电路实现困难。全相联映射方式一般用于小容量cache。全相联映射直接映射直接映射方式:一个主存块只能复制到cache的一个特定行中。如设cache中有m行,则主存的第0块,第m块,第2m块,…,第2S-m块只能映射到cache的第0行,主存的第1块,第m+1块,第2m+1块,…,第2S-m+1块只能映射到cache的第1行。主存的地址:检索过程:根据地址中的r位行号找到cache的相应行,然后将该行中所存的标记部分与内存地址的高s-r位比较,判断是否命中。特点:硬件实现简单,成本低。但每个主存块只有一个固定的行可以存放。当cache的行数较少时发生冲突的可能性很大,频繁的置换会使cache的效率下降。直接映射方式一般用于大容量的cache中。
直接映射组相联映射组相联映射方式:是全相联映射方式和直接映射方式的折衷方案。即:将cache的2r(m个)行分成2d组,每组有2r-d行,那么主存的第0块,第m块,第2m块,…,第2S-m块可以映射到cache的第0组中的任意行,主存的第1块,第m+1块,第2m+1块,…,第2S-m+1块只能映射到cache的第1组的任意行。也即组间直接映射,组内全相联映射。主存的地址划分:组相联映射检索过程:根据地址中的d位组号找到cache的相应组,然后将该组中所有行的标记部分与内存地址的高s-d位同时比较,判断是否命中。特点:组内有一定的灵活性,而且因组内行数的减少,比较的硬件电路比全相联方式简单些。组相联映射的每组的行数v一般取值较小,典型值为2,4,8,16。为强调比较器的规模和存放的灵活性,常称组相联为v路组相联。组相联映射3、替换策略引言:cache的工作原理要求它尽量保存最新数据。无论何种映射方式,cache与主存之间都是一对多,当一个新的主存块需要拷贝到cache中时,如何替换?当然,替换问题也与映射方式有关,如直接映射只能存到cache的一个位置,因此只能覆盖原来内容;而全相联和组相联就存在策略问题。硬件实现的替换方法常用的有三种:最不经常使用(LFU)算法、近期最少使用(LRU)算法、随机替换。替换策略——LFU算法LFU算法:又称最不经常使用算法。一定时间内不经常使用的被替换。实现方法:将每行设置一个计数器。新行建立后从0开始,每访问一次被访问行的计数器加1。替换时将计数值最小的行换出,同时将这些特定行(全相联是所有行,组相联是组内各行)的计数值清零。特点:计数周期限定在对这些特定行的两次替换之间的间隔内,因此不能严格反映近期访问情况。替换策略——LRU算法LRU算法:近期最少使用算法。每行也设置一个计数器,但它是在cache命中时,将被访问行计数器清零,其他行计数器加1。当需要替换时,将特定行中计数值最大的换出。这样保护了刚拷贝到cache中的新数据,提高命中率。对于两路组相联来说,替换只能是组内两行选其一,因此不需要设置计数器,只需要一个状态位。规定A行拷入新数据将状态位置1,B行拷入置0。当需要替换时,检查状态位,为0替换A,为1替换B,很简单。奔腾CPU内的2路cache就采用这种算法。替换策略——随机替换
从特定行中随机选取一个行进行替换。硬件容易实现,且速度比前两种快;但可能降低cache的命中率和工作效率。研究表明,随着cache容量增大随机替换的功效只是稍逊于前两种策略。4、cache的写操作策略讨论CPU写内存时如何保证cache与主存内容一致。常用的三种策略:1.写回法当CPU写cache命中时,只修改cache中的内容,不立即写入相应主存,只有此行被换出时才写回主存。特点:对一个cache行的多次写命中都在cache中快速完成,只在需要替换时才访问速度较慢的主存。需每个cache行设置一个修改位,反映此行是否被修改过。当此行被换出时,检查其修改位,以决定该行内容是写回主存还是简单弃掉。
2.全写法全写法是当cache命中时,CPU对cache和主存同时发生写修改;当未命中时,直接相主存写入。特点:是每行无须设置修改位及相应判断逻辑;但CPU写主存的速度较慢,降低了cache的功效。3.写一次法是基于写回法又结合全写法:写命中与写未命中的处理方法与写回法基本相同,只是第一次写命中时要同时写入主存。4.4虚拟存储器虚拟存储器的基本概念主存—外存层次的基本信息传送单位虚拟存储器虚实地址的变换替换算法一、虚拟存储器的基本概念1、什么是虚拟存储器
虚拟存储器只是一个容量非常大的存储器的逻辑模型,不是任何实际的物理存储器。它借助于磁盘等辅助存储器来扩大主存容量,使之为更大或更多的程序所使用。虚拟存储器不仅是解决存储容量和速度的矛盾的一种方法,而且也是管理存储设备的有效方法。有了虚拟存储器,用户无需考虑所编程程序在主存中是否放得下或放在什么位置等问题。2、虚拟地址虚拟存储器为用户提供了一个比实际主存空间大得多的程序地址空间。此时程序的逻辑地址称为虚拟地址(虚地址)。相对应的物理地址(又称实地址)是CPU地址引脚送出的,用于访问主存的地址。虚拟地址是由编译程序生成的。工作在虚拟地址模式下的CPU理解这些虚拟地址,并将他们转换为物理地址。实际上,虚拟存储器的内容是要保存在磁盘上的,因此虚拟地址空间的大小受辅助存储器容量的限制。3、虚拟存储器的工作原理从原理上看,主存—外存层次和cache—主存层次有很多相似之处,他们都是基于程序局部性原理,把程序最近常用的部分驻留在高速的存储器中;一旦这部分不常用了,就送回到低速存储器中;这种换入换出是由硬件或操作系统完成,无需用户干预;最终达到使存储系统的性能接近高速存储器,而价格接近低速存储器。他们采用的地址映射和替换策略,从原理上看也是相同的。但是由于磁盘的存取速度是主存的上千倍,而cache的存取速度是主存的5~10倍,因此在虚拟存储器中未命中的性能损失要远大于cache系统中的损失。二、主外存间信息传送的基本单位
主存—外存层次的基本信息传送单位可采用几种不同的方案:段、页或段页。1.段及段式管理(1)什么是段利用程序的模块化性质,按照程序的逻辑结构划分成的多个相对独立部分。如过程、子程序、数据表、阵列等。特点:作为独立的逻辑单位可以被其他程序调用,以形成规模较大的程序。因此用段作为主存—外存之间传送和定位的基本单位是合理的。
(2)段表用来指明各段在主存中的位置而在主存中建立的一个表。每段都有它的名称(用户名或数据结构名或段号)、段在主存中的起点、段长及装入位等控制信息,段表就是虚拟存储器中各段的上述信息的表。例:图示。段表本身也是一个可以再定位的段。可以放在外存,需要时调入主存,不过一般都驻留内存。(3)段式管理把主存按段分配的存储管理方式称为段式管理。优点:段的分界与程序的自然分界相对应;段的逻辑独立性使它易于编译、管理、修改和保护,也便于多道程序共享;某些类型的段(堆栈、队列)具有动态可变长度,允许自由调度以便有效利用主存空间。缺点:由于段的长度各不相同,段的起点和终点不定,给主存空间分配带来麻烦,而且很容易在段间留下许多空余的零碎空间不好利用,造成主存空间的浪费。
2、页及页式管理(1)页:将存储器的空间划分为具有定长的区域。主存——实页(物理页),虚存——虚页(逻辑页)。(2)页表:用来指明外存各页在主存中的位置。由于页的长度是固定的,页表中只需存放虚页号、实页号和装入位等控制信息三部分。(3)页式管理:主存与虚存之间以页为基本信息传送单位的存储器管理方式。优点:比段式管理浪费的零碎空间少。(一段含多页)。缺点:页在逻辑上不独立,在处理、保护和共享等方面不如段式管理方便。3、段页式管理程序按模块分段,段内再分页,进入主存以页为基本信息传送单位,用段表和页表(每段一个页表)进行两级定位管理的方式的存储器管理方式。三、虚拟存储器虚实地址的变换
虚拟地址是在程序被编译时由编译程序生成的,CPU是如何根据虚拟地址形成主存的实地址,以访问主存。对于不同的管理方式,其
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公司员工劳动合同协商协议书七篇
- 2024年度农业现代化建设与技术服务合同2篇
- 2024年内蒙古客运从业人员资格证
- 2024年邯郸道路旅客运输资格证考试
- 2024年辽宁客运从业资格证试题
- 2024年度分公司商业合作协议版B版
- 2024年家具行业知识产权保护与维权合同
- 2024年度互联网产品研发与技术转让合同2篇
- 2024年净水设备金融服务框架合同
- 2024年宾馆参股合同模板定制版B版
- 2024年度电梯加装改造设计方案3篇
- 《特种设备重大事故隐患判定标准》培训
- 2024-2025年(农作物植保员)职业技能从业资格知识考试题库与答案
- 天津市2023-2024学年高一上学期期末考试物理试题(含答案)3
- 湖北省鄂东南省级示范高中教育教学改革联盟学校2024-2025学年高一上学期期中联考生物试题(含答案)
- 部编版历史九年级上册第六单元 第18课《美国的独立》说课稿
- 河南省信阳市普通高中2024-2025学年高一上学期期中考试语文试卷(无答案)
- 电动汽车充电桩投标文件范本
- 山东省德州市德城区2024-2025学年八年级上学期期中生物学试题(含答案)
- 2024年四川省公务员录用考试《行测》试题及答案解析
- 外山中心小学学校矛盾纠纷排查化解工作方案
评论
0/150
提交评论