计算机原理第三章存储器.ppt_第1页
计算机原理第三章存储器.ppt_第2页
计算机原理第三章存储器.ppt_第3页
计算机原理第三章存储器.ppt_第4页
计算机原理第三章存储器.ppt_第5页
已阅读5页,还剩88页未读 继续免费阅读

下载本文档

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

文档简介

第三章 存储器(P89),3.1 存储器概述,3.2 半导体存储原理及芯片,3.3 主存储器容量的扩展,3.4 高速缓冲存储器,3.5 虚拟存储器,3.6 双端口存储器与并行主存系统,3.1 存储器概述,3.1.1 存储系统的层次结构,对存储器最基本的要求:容量大、速度快、 价格低。,主存储器,又叫内存,属于主机范畴。 存放当前CPU需要执行的程序和需要处理的数据。 特点:(1)随机访问,(2)工作速度快,(3)具有一定的存储容量。 外存储器,又叫辅助存储器,存放暂不使用的程序与数据。 特点(1)工作速度较慢,(2)容量很大,如磁盘、磁带等。 高速缓冲器Cache,存放的是最近就要使用的程序与数据,是主存中当前活跃信息的副本。 特点:(1)工作速度最快,(2)容量最少,只有几百K字节。,3.1.2 物理存储器与虚拟存储器,一、真正在物理上存在的主存储器,称为物理存储器,简称为实存。访问主存的真实地址称为物理地址或实地址。现在大多数计算机配几百兆主存。 二、为解决主存容量有限提出了虚拟存储器,即在软件编程上可使用的存储器,称为虚拟存储器。 面向虚拟存储器的编程地址称为虚拟地址或逻辑地址。通过操作系统把外存的一部分也当成主存。,例32位地址线的计算机: 232220210224千兆4G 但现在实际配的主存假设为512兆,即 512兆22029 所以,32 位地址线寻址的是逻辑地址,29位地址线寻址的是物理地址。,3.1.3 存储器的分类,一、根据存储介质来分 1. 半导体存储器:,2. 磁表面存储器:磁盘、磁带等。(磁性材料),3. 光盘存储器:利用光来存储的装置。(光的反射 性),二、按存取方式来分:,随机存储器RAM,Radom Access Memory 可按地址随机地访问任一单元, 访问各存储单元所需的读/写时间相同,与地址无关。 只读存储器ROM,ReadOnly Memory 半导体集成电路,ROM,PROM, EPROM,E2PROM。 顺序存储器(SAM) 访问时间与信息存放位置有关,如磁带等。 直接存取存储器(DAM) 如磁盘,工作方式介于随机存储器与顺序存储器之间。,三、按存储器在系统中的位置来分,1. 主存 2. 外存 高速缓存,3.1.4 主存储器的技术指标,存取时间,(存储器访问时间) 是指从存储器收到读(或写)申请命令,到从存储器读出(或写入)信息所需的时间。 反映了存储器的速度,决定了进行一次读/写操作必须等待的时间。 的存取时间在纳秒()级。()。,. 存储容量: 在一个存储器中可以容纳的存储单元总数称为该存储器的存储容量。通常用字节或字来表示。 如,等。 表示字节(),一个字节定义为个二进制位。 , ,存储周期,指连续启动两次读操作所需间隔的最小时间。 通常 ,这个参数被标在内存芯片上。 例如:“”,“”等,表示存储周期为或,数值越小,表示内存芯片的存取速度越高,价格也越贵。,存储器带宽 单位时间里存储器所存取的信息量,通常以位/秒或字节/秒,/s来表示。,3.2 半导体存储原理及芯片,3.2.1 静态(metal oxide semiconductor金属氧化物半导体)存储位与芯片,静态存储位,六管静态存储单元(位),、两个反相器交叉耦合构成一个双稳态触发器,可用于存储一位信息。 、分别作为负载管,相当于两个电阻。,、是两个控制门管,由行选线控制它们的通断,当行选线加高电平时,、导通,通过一组位线、 可对双稳态电路进行读/写操作;当加低电平时,、断开,位线脱离,双稳态电路进入保持状态。,、两个管子控制位线与/相连,由列选线控制。,()写入,行选线xi(也称字选线)加高电平,使T5 、T6管导通。列选线yj加高电平使V1 、V2管导通,位线D与 同I/O线与 线接通。,写0:数据线I/O=0、 =1,使位线D=0、位线 =1。 因D=0,通过T5管传给Q点使Q点为低(写入0),T2管截止。而通过T6管给T1管栅极加高电压,使T1管导通,加快Q点为低电平的进程。,写1:数据线I/O=1、 =0,使位线D=1、 =0;推出T1截止,T2导通使Q=1、 =0,写入“1”。,(2)读出,行选线xi,列选线yj加高电平,使T5 、T6导通和V1 、V2导通。,如果原存信息Q=0,则T1导通,从位线D将通过T5、T1到地形成放电回路,有电流经D流入T1,使I/O线上有电流流过,经放大为“0”信号,表明原存信息为“0”。而此时因T2截止,所以 上无电流。,如果原存信息Q=1,则T2导通,能推出 线上有电流流过,代表原存信息为“1”。此时T1截止,I/O线上无电流。,()保持,行选线xi与列选线yj只要有一个为低电平,使位线与双稳态电路隔离,双稳态电路T1 、T2依靠触发器原理交叉反馈保持原有状态不变。,2. 静态存储芯片举例,2114是一种曾广泛使用的小容量SRAM芯片,容量为1K4位,现举例说明。,()内部结构图,,共根地址线。,图62 2114SRAM芯片内部结构框图,一个位平面 行列个单元 每个单元有位,即。,图63 第K个存储单元4个存储位电路图,当片选信号 =0且读写信号 =0时,数据输入三态门打开, 4位数据线信息写入译中的单元中,称为写操作。,当片选信号 =0且读写信号 =1时,数据输出三态门打开,译中 单元的4位数据送入数据线,称为读操作。,当片选信号 =1时,输入三态门与输出三态门都关闭,使芯片所有 单元与数据线隔离,即本芯片不工作。片选信号在存储器空间扩展时 要用到。,()芯片引脚,片选 :低电平有效,低电平时选中本芯片。,写使能 :低电平时写入,高电平时读出。,地址根:90,对应于容量。,双向数据线位:DO4DO1,可直接与数据总线相连。,图64 2114芯片引脚,()静态读写操作时序,读周期:,图65 2114的读周期波形图,tRC:读周期时间,此期间地址维持时间不变,是两次读出的最小时间间隔。 tA:读出时间,从地址有效到输出稳定所需的时间,即其他器件可以使用数 据线上的数据了。 tCO:从片选信号 有效,到读出的数据在外部数据线上稳定的时间。 tCX:片选有效到数据有效所需的时间。 tOTD:片选无效后输出数据还能维持的时间。 tOHA:地址改变后数据输出的维持时间。,写周期:,图66 2114的写周期波形图,tWC:写周期时间,是两次写入操作之间的最小间隔。 tAW:在地址有效后,经过一段时间tAW,才能向芯片发写命令。 tW:写数时间,片选与写命令同时为低的时间。 tWR:写恢复时间,为了保证数据的可靠写入,地址有效时间至少应满足: tWC=tAW+tW+tWR tDTW:写信号有效到输出变为三态时间。 tDW:数据有效时间。输入数据至少应维持的时间。 tDH:写信号撤销后数据保持时间。,3.2.2 动态MOS存储位与芯片,动态MOS存储位单管动态存储位,基本工作原理:利用电容有无存储电荷来表示存“”或“”。,图67 单管动态存储位电路,() 写入,字选线加高电平,使门控管导通; 若要写,则位线加,电容通过对位线放电,呈低电平。 若要写,则位线为,电容充电。,() 读出,字选线加高电平,使门控管导通; 若上有电荷,通过放电,位线上有电流流过,表示读出信息为“”。 若上无电荷,位线上没有电流流过,表示读出信息为“”。, 注意:读出 “” 信息后,电容上无电荷,不能再维持“”,这种现象称为“破坏性读出”,须进行“恢复”操作。,() 保持,字选线为“”,截止,电容无放电回路,其电荷可暂存数毫秒,即维持“”数毫秒;无电荷则保持“”状态。, 注意:保持“”信息时,电容也要漏电,导致上无电荷,须定时“刷新”。,“恢复”与“刷新”操作由灵敏恢复/读出放大器完成。,图68 灵敏恢复/读出放大器,2. DRAM结构,图6.9 DRAM结构原理图,3.3 主存储器容量的扩展,位扩展,如果每一片或中的每一个单元的位数不够用时,可采用位扩展方法,以达到计算机所需的字长。,例用片位的构成一个位的。,例用1K4的SRAM存储芯片构造1K8的存储器。,2. 字扩展,如果每片的字数(单元数)不够,需用若干片组成总容量较大的存储器,称为字扩展。,例用1K8的SRAM存储芯片构成4K8存储器。,解:单片容量:1K8位,需地址线10根,2101K,,存储器容量:4K8位,需4片,地址线2124K,12根。,3. 字位扩展,如果每一片的位数和字数都不够用,就需要同时采用位扩展和字扩展方法。,例 某半导体存储器容量为2K8位,选用1k4位的2114静态RAM,问需多少个2114芯片?画出结构图。,解:需用四片2114 芯片才能构成2K8 位。 地址与片选:2114: 1K4位, 210=1K, 10根地址线A9A0; 2k8位:211=2K, 11根地址线A10A0 由高位A10参与片选。,例用16M4位的存储器芯片,组成64M8位的存储器空间系统。问(1)组成64M8位的存储器需要多少根地址线?(2)已有16M4位芯片有多少根地址线?(3)共用多少片16M4位芯片,能组成64M8位存储器?(4)画连线图。,解:(1)需要26根地址线。 (2)有24根地址线 (3)共用8片。 (4)连线图如下图所示。,例半导体存储器容量为7K8位,其中固化区为4k8位,可选用 EPROM芯片:2K8/片。随机读/写区为3K8,可选SRAM芯片:2K4/片和1K4/片。地址总线为A15A0,双向数据总线为D7D0, 控制读写。请设计并画出该存储器逻辑图,并注明地址分配与片选逻辑式及片选信号极性。,()地址分配与片选信号如下:,3.4 高速缓冲存储器,高速缓冲存储器 Cache介于CPU和内存之间,主要是为了弥补主存速度的不足。Cache的容量一般在几KB到几百KB之间。,由于编程时指令地址的分布基本上连续,在一个较短的时间间隔内,对存储器的访问大部分将集中在一个局部区域,这种现象称为程序的局部性。,将这个局部区域的内容从主存复制到Cache中,使CPU高速地从Cache中读取程序和数据,其速度可比主存高5 10倍,这一过程由硬件实现。,主存内容放到Cache中什么地方?怎么放?这些称为地址映像方法。,一、地址映像,将主存与 Cache的存储空间划分为若干大小相同的块。,例:某机主存容量为1MB,Cache为4KB,按256字节大小划分为一块,则 主存划分为220/28 =212=4096块,即主存块地址长12位。 Cache 划分为212/28=24=16块,即Cache块地址长4位。, 各自分块,Cache不变,主存按 Cache容量来分区。 220/212=28=256区, 每一区和Cache之间是一一对应的,即0块0块, 15块15块。,图617 地址变换方法 图616 Cache的直接映象,优点:比较容易实现,20位地址中能直接提取 Cache 的12位地址。,缺点:不够灵活,有可能使Cache 的存储空间得不 到充分利用。因为每一块只能对应到Cache 的某一块中,例如需将主存第区第块和 第区第块同时复制到Cache 中,就不可 能,即使其它Cache块空闲。,应用场合:用于Cache容量较大的场合。,例设一个Cache中有8个块,访问主存进行连续读操作的块地址序列为1110110、1111010、1110110、1111010、1110000、1100100、1110000、1110010。求每次访问主存后Cache块表的变换情况,设初始Cache为空。,解:块地址中低三位为Cache块号,高四位为主存区号。,例:设有一个Cache的容量为8K字,每个块为32字,求 1. 该Cache可容纳多少个块? 2. 如果主存的容量是128K字,则有多少个块? 3. 主存的地址有多少位?Cache地址有多少位? 4. 进行直接映象时,存储器的地址分成哪几段?各段分别有多少位?,解: 1. Cache的容量8K字,每块为32字,则Cache中有 23210/25=28=256块。 2. 主存中有27210/25=212=4096块。 3. 主存地址按字计算有17位,Cache地址有13位。 4. 存储器的地址分成三段:区号、块号、块内字地址。区号的长度为主存地址长度与Cache地址长度之差,即1713=4位,这4位作为区号放在块表中(调入时)。块号的长度为Cache的块个数,需用8位表示。块内字地址长度为5位,因为块大小为32字。,2. 全相联映像内存中的每一块可以映像到 Cache中的任何块。,图619 全相联映象,图620 全相联映象的地址变换方法,优点:较直接映像方式灵活,块冲突概率低, Cache的利用率较高。,缺点: 块表位数增加,并且必须采用价格 昂贵的相联存储器,成本增加。 需要一个复杂硬件实现替换策略。 速度比较慢。,应用场合:全相联方式一般用于容量比较 小的Cache中。, 各自分块,Cache不变,主存按 Cache容量来分区。 220/212=28=256区,3. 组相联映像,将存储空间分成若干组, 一组内再分成若干块,组与组 之间采用直接映像,组内块与 块之间采用全相联映像,它是 前两种方式的融合。, Cache、主存再分组,组与组之间直接映像,组内块与块之间是全相联。,图622 组相联映象的地址变换方法,在组相联方式中,如果每组只有一块,将成为直接映象方式;如果总共只有一组,将成为全相联方式。,总结:小容量Cache采用全相联映像,提高 Cache 利用率。 大容量Cache采用直接映像,提高转换速 度,减少硬件开销,另外Cache 块可以大一些, 提高命中率。 中容量Cache 采用组相联映像,介于两者之 间。,Cache 的结构原理图,二、替换算法,当Cache已装满,而执行的程序不在Cache中,又要把一块内存调入Cache里,此时就产生淘汰Cache中的哪一块问题。在直接映象方式下,直接淘汰对应块,无须算法决定,因为它们是一一对应的。在全相联和组相联方式下,主存中的块可写入Cache中若干位置,这就需要一个算法来确定替换掉Cache中哪一块。常用替换算法有:,(1)先进先出算法FIFO(First In First Out),这种算法是对进入Cache的块按先后顺序排队,需要替换时,先淘汰最早进入的块。,(2)最近最少使用算法LRU(Least Recently Used),为Cache的各块建立一个LRU目录,按某种方法记录它们的调用情况,当需要替换时,将最近一段时间内使用最少的块内容予以替换。较FIFO算法复杂一些,系统开销稍大。,三、Cache的读、写过程,读操作 访存时,一方面将主存地址送往主存,启动读主存。 另一方面将主存地址送往Cache,读Cache,比较 Cache块表中的信息,如果“访问命中”,即将读出的Cache内容 送往CPU,终止主存读操作。如果“访问失败”,继续进行主存 读操作,并考虑替换策略。,写操作 (1)写直达法(Write through)。即写Cache时,同时也写主存。这种方法使得写访问的时间为主存的访问时间,影响CPU速度。但在块替换时,可直接扔掉,因Cache与主存块始终保持内容一致。 (2)写回法(write back)。即写Cache时不写主存,而当Cache数据被替换出去时才写回主存。这种方式不在快速写入Cache中插入慢速的写主存操作,可以保持程序运行的快速性。,例设主存容量为MB,有16KB直接映像的Cache,Cache的块大小为32B,解答下列问题:,()写出Cache地址格式; ()写出主存地址格式; ()块表的容量为多大? ()画出直接方式地址映像及变换图; ()主存地址为1DE8F0 H的单元在Cache中的什么位置?,(2) 主存容量为2MB,2MB=221, 主存的地址段为21位。 块大小为32B, 块内地址为5位; 2MB/16KB=221/214=27区, 区号为7位。, 主存地址格式:,Cache一共有29=512块, 块表有512行,(每块占一行) 块表中存放的是主存的区号,一共7位, 块表的容量:5127位297位。,(),() 1DE8F0H=0001 1101 1110 1000 1111 0000,块号:28+26+22+21+20=327块, 单元号:24=16号单元,例4 有一主存Cache层次的存储器,其主存容量1MB, Cache容量64KB,每块8KB,若采用直接映像方式, 求: (1) 主存的地址格式? (2) 主存地址为25301H,问它在主存的哪一块?,解: (1) 主存容量为1MB,1MB=220, 主存的地址段为20位。 块大小为8KB, 块内地址为13位; 1MB/64KB=220/216=24区, 区号为4位。, 主存地址格式:,(2) 主存地址 为25301H 0010 0101 0011 0000 0001,主存区号0010 2区, 主存块号010 2块,即: 25301H的主存地址为主存中第2区的 第2块,也即第18块。,(2) Cache 块长为8字, 主存地址格式:,615 一个组相联映像的Cache有16个组,每组4块存储块,主存包含4096个存储块。块大小为128字,访存地址为字地址。 (1) 求一个主存地址有多少位?一个Cache地址有多少位? (2) 计算主存地址格式中,区号、组号、块号和块内地址字段的位数。,课堂作业: 一台计算机主存容量16MB,直接映像的Cache的容量为8KB。Cache块长为64字节。计算主存地址格式中,区号、区内块号和块内地址字段的位数。,3.5 虚拟存储器,虚拟存储器主要用来解决计算机中主存储器的容量不足的问题。,例在微机中,Windows 2000操作系统本身有200多兆,而主存只有256M,当内存全部装入OS后,就无法再装入如 Word、Photoshop等应用软件,解决的办法就是虚拟存储器,它把整个硬盘全部当成内存使用,通过操作系统来管理存储。,虚拟地址(逻辑地址) 实地址(物理地址),根据虚、实地址变换方式不同,可分为页式、段式、段页式虚拟存储器三种。,一、页式虚拟存储器,将虚拟空间与主存空间都划分为若干大小相同的页,虚存的页称为虚页,主存的页称为实页,常见页的大小为1K、2K、4K到64K等等。,若该虚页尚未调入主存,则产生缺页中断,以中断方式将所需页内容调入主存。,如果主存空间已满,则需在中断处理程序中执行替换算法,将可替换的主存内容写入辅存,再将所需页调入主存。,替换算法类似于 Cache存储管理,有先进先出算法FIFO,近期最少使用算法LRU等。,例一个有32位程序地址空间、页面容量为2KB、主存容量为8MB的存储系统, 问:()虚页号字段有多少位?页表将有多少行? ()页表的每一行有多少位?页表的容量有多少字节?,解:()2kB=211 字节, 页内地址为11位。 虚页号字段为 3211=21 位, 页表的长度为:221=2M行。,()8MB=223字节, 主存页号2311=12位, 再加上装入位、访问方式等, 每一行至少16位, 页表的容量2M16位4MB。,二、段式虚拟存储器,将用户程序按其逻辑结构分为若干段,各段大小可变。相应地虚拟存储器也需动态地分段,且将段的起始地址与段的长度写入段表之中。,虚地址分为两部分:高位是段号,低位是段内地址。,地址变换:,三、段页式虚拟存储器,程序按其逻辑结构分段,每段再分为若干大小相同的页,主存空间也划分为若干同样大小的页,相应地建立段表和页表,分两级查表实现虚实地址的转换。,总结:段、页、段页式比较,例(书上618)主存容量4MB,虚存容量1GB,问实地址与虚地址各为多少位?若页面大小为4KB,主存页表应有多少个表行?,解:4MB222 B 主存实地址为22位。,1GB230 B 虚地址为30位。,4KB212 B 301218位 主存页表应有 218个表行。,例(书上)页大小为16字,已知页表内容,求当CPU程序按下列二进制虚拟访存时产生的实际地址。,(1)00101101 (2)10100000 (3)10001000,3.6 双端口存储器与并行主存系统,一、双端口存储器,应用场合:在运算器中采用双端口存储芯片,作为通用寄存器组,能够快速提供双操作数。,注意:只要对同一地址同时操作,即发生冲突。 控制复杂,硬件开销大,只作成小容量。,二、并行主存系统,存储器系统速度总跟不上CPU速度,造成数据提供的瓶颈问题,提出了并行主存系统。(在大型计算机中),单体多字并行主存系统,单体指只有一套地址寄存器,多字指有多个容量相同的存储模块。,使传输速度提高了n倍,适用于向量运算一类。,这种形式适合要读取的数据正好连续存放在M0Mn-1的相同单元里,否则就失去意义了。,多体交叉存储器,由多个相互独立、容量相同的存储模块构成。各存储体的编址大多采用交叉编址方式。,在一个存储周期内,发四次地址,分时访问每个存储体。 一段连续的程序或数据,将交叉地存放在几个存储体中。,三、相联存储器,按照存储项内容来访问的存储器。,基本原理是把存储单元所存内容的一部分作为检索项,去检索该存储器,并将存储器中与该检索项符合的存储单元进行读出与写入。,相联存储器结构,一位电路结构,相联存储器阵列结构,相联存储器,3.7 磁盘存储设备,一、磁记录原理与记录方式,目前外存储器中使用比较广泛的是磁表

温馨提示

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

评论

0/150

提交评论