白中英计算机组成原理第3章-内部存储器_第1页
白中英计算机组成原理第3章-内部存储器_第2页
白中英计算机组成原理第3章-内部存储器_第3页
白中英计算机组成原理第3章-内部存储器_第4页
白中英计算机组成原理第3章-内部存储器_第5页
已阅读5页,还剩143页未读 继续免费阅读

下载本文档

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

文档简介

第三章内部存储器目录3.1存储器概述 (理解)3.2SRAM存储器 (理解)3.3DRAM存储器 (掌握)3.4只读存储器和闪速存储器 (理解)3.5并行存储器 (理解)3.6CACHE存储器 (掌握)2024/3/72学习要求理解存储系统的基本概念熟悉主存的主要技术指标掌握主存储器与CPU的连接方法理解Cache的基本概念及工作原理掌握Cache-主存地址映射方法

2024/3/733.1存储器概述3.1.1存储器分类3.1.2存储器的分级结构3.1.3存储器的技术指标2024/3/743.1.1存储器分类(1/3)按存储介质分半导体存储器:用半导体器件(MOS管)组成的存储器;磁表面存储器:用磁性材料(磁化作用)做成的存储器;光盘存储器:用光介质(光学性质)构成的存储器;按存取方式分随机存储器:存取时间和存储单元的物理位置无关;顺序存储器:存取时间和存储单元的物理位置有关;半顺序存储器:存取时间部分地依赖于存储单元的物理位置;系统主存、Cache软盘硬盘磁带光盘半导体存储器磁带磁盘存储器2024/3/753.1.1存储器分类(2/3)按存储内容可变性分只读存储器(ROM)只能读出而不能写入的半导体存储器;随机读写存储器(RAM):既能读出又能写入的半导体存储器;按信息易失性分易失性存储器:断电后信息即消失的存储器;非易失性存储器:断电后仍能保存信息的存储器;半导体存储器半导体存储器磁盘光盘2024/3/763.1.1存储器分类(3/3)按在计算机系统中的作用分主存储器能够被CPU直接访问,速度较快,用于保存系统当前运行所需的所有程序和数据;辅助存储器不能被CPU直接访问,速度较慢,用于保存系统中的所有的程序和数据;高速缓冲存储器(Cache)能够被CPU直接访问,速度快,用于保存系统当前运行中频繁使用的程序和数据;控制存储器CPU内部的存储单元。半导体存储器磁盘、光盘存储器半导体存储器半导体存储器2024/3/773.1.2存储器的分级结构动画演示:3-1.swf2024/3/78CPU缓存主存辅存缓存-主存层次主存-辅存层次3.1.2存储器的分级结构(1/2)系统对存储器的要求:大容量、高速度、低成本三级存储系统结构1、加上cache的目的为提高速度2、内存包括cache和主存1、降低了成本,扩大了容量2、虚存系统包括主存和辅存在CPU看来,容量相当于辅存容量,速度相当于CACHE速度。2024/3/793.1.2存储器的分级结构(2/2)存储器分级结构中应解决的问题:当需从辅存中寻找指定内容调入主存时,如何准确定位?依靠相应的辅助软硬件。当CPU访问cache,而待访问内容不在cache中时,应如何处理?从主存向cache中调入相应内容。以上过程均由操作系统管理。2024/3/7103.1.3主存储器的技术指标——存储容量存储容量:指存储器能存放二进制代码的总数。存储容量=存储单元个数×存储字长用a×b表示存储容量=存储单元个数×存储字长/8单位为B(字节)要求:

已知存储容量,能计算出该存储器的地址线和数据线的根数。例如某机存储容量为2K×16,则该系统所需的地址线为

根,数据线位数为

根。11162024/3/7113.1.3主存储器的技术指标——存储速度存取时间(访问时间)从启动一次访问操作到完成该操作为止所经历的时间;以ns为单位,存取时间又分读出时间、写入时间两种。存取周期存储器连续启动两次独立的访问操作所需的最小间隔时间。以ns为单位,存取周期=存取时间+复原时间。存储器带宽每秒从存储器进出信息的最大数量;单位为位/秒或者字节/秒。2024/3/712求存储器带宽的例子设某存储系统的存取周期为500ns,每个存取周期可访问16位,则该存储器的带宽是多少?存储带宽=每周期的信息量/周期时长

=16位/(500╳10-9)秒

=3.2╳107位/秒

=32╳106位/秒=32M位/秒2024/3/7133.2

SRAM存储器3.2.0主存储器的构成3.2.1基本的静态存储元阵列3.2.2基本的SRAM逻辑结构3.2.3读/写周期波形图2024/3/7143.2.0主存储器的构成静态RAM(SRAM)由MOS电路构成的双稳触发器保存二进制信息;优点:访问速度快,只要不掉电可以永久保存信息;缺点:集成度低,功耗大,价格高;动态RAM(DRAM)由MOS电路中的栅极电容保存二进制信息;优点:集成度高,功耗约为SRAM的1/6,价格低;缺点:访问速度慢,电容的放电作用会使信息丢失,要长期保存数据必须定期刷新存储单元;主要种类有:SDRAM、DDRSDRAM主要用于构成Cache主要用于构成系统主存2024/3/715主存和CPU的联系MDRMARCPU主存地址总线数据总线读写2024/3/716基本存储元6个MOS管形成一位存储元;非易失性的存储元64×4位的SRAM结构图存储体排列成存储元阵列,不一定以存储单元形式组织;芯片封装后,3种外部信号线地址线:2n个单元,对应有n根地址线;地址信号经过译码电路,产生每个单元的字线选通信号;数据线:每个单元m位,对应有m根数据线;控制线:读写控制信号

=1,为读操作;=0,为写操作;3.2.1基本的静态存储元阵列动画演示:3-2.swfR/WR/WR/W2024/3/717六管SRAM存储元电路

位线/D位线D2024/3/7182024/3/719译码驱动方式方法1:单译码被选单元由字线直接选定;适用容量较小的存储芯片。方法2:双译码被选单元由X、Y两个方向的地址决定。3.2.2基本SRAM存储器逻辑结构动画演示:

双地址译码器.swf2024/3/720SRAM存储器的组成(1/2)存储体存储单元的集合,按位将各存储元组织成一个存储矩阵;大容量存储器中,通常用双译码方式来选择存储单元。地址译码器将CPU发出的地址信息转换成存储元选通信号的电路。译码驱动器X选择线上用于增强驱动能力的电路。I/O电路一般包括读写电路和放大电路。2024/3/721SRAM存储器的组成(2/2)片选用于决定当前芯片是否被CPU选中,进行访问。读/写控制电路决定对选中存储单元所要进行访问的类型(读/写)。输出驱动电路增强数据总线的驱动能力。2024/3/722存储体读写电路MDR数据总线驱动器译码器MAR地址总线•••••••••••••••控制电路读写SRAM存储器的逻辑结构简图2024/3/72332K×8位的SRAM逻辑结构图动画演示:3-3.swfX方向:8根地址线输出选中256行Y方向:7根地址线输出选中128列输入输出时分别打开不同的缓冲器输入输出时分别打开不同的缓冲器读写、选通控制三维存储阵列结构2024/3/724Intel2114静态RAM芯片是1K×4的存储器外部结构地址总线10根(A0~A9)数据总线4根(D0~D3)片选信号/CS,写允许信号/WE0—写,1—读内部存储矩阵结构64×64方阵,共有4096个六管存储元电路;采用双译码方式A3~A8(6根)用于行译码→64行选择线;A0~A2,A9用于列译码→16条列选择线;每条列选择线同时接4个存储元(共16×4=64列)静态RAM芯片举例——Intel2114Intel2114ABA0~A9DBD0~D3CSWE2024/3/7252114逻辑结构图2024/3/7263.2.3读、写周期波形图存储器读/写的原则读/写信号要在地址和片选均起作用,并经过一段时间后有效;读写信号有效期间不允许地址、数据发生变化;地址、数据要维持整个周期内有效;读周期时间(tRC)、写周期时间(tWC)存储器进行两次连续的读/写操作所必须的间隔时间;大于实际的读出/写入时间;2024/3/727SRAM存储器的读周期读周期操作过程CPU发出有效的地址信号

译码电路延迟产生有效的片选信号在读信号控制下,从存储单元中读出数据各控制信号撤销(地址信号稍晚),数据维持一段时间读出时间(tAQ)从地址有效到外部数据总线上的数据信息稳定所经历的时间片选有效时间(tEQ)、读控制有效时间(tGQ)片选信号、读控制信号所需要维持的最短时间,二者相等;从地址译码后,到数据稳定的时间间隔;存储器的读周期时序2024/3/7282024/3/729SRAM存储器的写周期写周期操作过程CPU发出有效的地址信号,并提供所要写入的数据

译码电路延迟产生有效的片选信号

在写信号控制下,将数据写入存储单元中

各控制信号撤销(地址信号稍晚),数据维持一段时间写入时间(tWD)地址控制信号稳定后,到数据写入存储器所经历的时间;维持时间(thD)读控制信号失效后的数据维持时间;存储器的写周期时序2024/3/7302024/3/731课本P70【例1】

下图是SRAM的写入时序图。R/W是读/写命令控制线,当R/W线为低电平时,存储器按给定地址把数据线上的数据写入存储器。请指出下图写入时序中的错误,并画出正确的写入时序图。R/W#信号必须在地址和数据稳定时有效一个写周期中地址不允许改变一个写操作中数据不允许改变2024/3/732正确的SRAM的写入时序图2024/3/7333.3DRAM存储器动态RAM(DRAM)因为该存储器必须定时刷新,才能维持其中的信息不变;DRAM的存储元由MOS晶体管和电容组成的记忆电路;电容上的电量来表现存储的信息;充电—1,放电—0。结构形式四管存储元单管存储元2024/3/734四管存储元单管存储元2024/3/7353.3.1DRAM存储元的记忆原理1.读出时位线有电流为“1”位线(数据线)CsT行线(字线)012.写入时CS充电为“1”

放电为“0”T无电流有电流动画演示:

3-6.swf2024/3/7363.3.2DRAM芯片的逻辑结构外部地址引脚比SRAM减少一半;送地址信息时,分行地址和列地址分别传送;内部结构:比SRAM复杂刷新电路:用于存储元的信息刷新;行、列地址锁存器:用于保存完整的地址信息;行选通信号(RowAddressStrobe)列选通信号(ColumnsAddressStrobe)DRAM的读写周期与SRAM的读写周期相似,只是地址总线上的信号有所不同;在同一个读写周期内发生变化,分别为行地址、列地址;存储芯片集成度高,体积小RASCAS2024/3/737DRAM控制电路的构成地址多路开关刷新时需要提供刷新地址,非刷新时需提供读写地址;刷新定时器间隔固定的时间提供一次刷新请求;刷新地址计数器刷新按行进行,用于提供对所要刷新的行进行计数;仲裁电路对同时产生的来自CPU的访问存储器的请求和来自刷新定时器的刷新请求的优先权进行裁定;定时发生器提供行地址选通/RAS、列地址选通/CAS和写信号/WE。动画演示:3-7.swf2024/3/738写时序行地址RAS有效WE为高电平,读有效数据

DOUT有效数据

DIN有效读时序行地址RAS有效写允许WE有效(低)列地址CAS有效列地址CAS有效行、列地址分开传送1)/CAS滞后于/RAS的时间必须要超过规定值;2)/RAS和/CAS的正负电平的宽度应大于规定值;动画演示:

3-8.swf3.3.3读/写周期2024/3/739读出放大器读出放大器读出放大器…………………………06364127128根行线CS01271128列选择读/写线数据输入I/O缓冲输出驱动DOUTDINCS4116(16K×1位)芯片读过程…630I/O缓冲输出驱动OUTD读出放大器读出放大器读出放大器……2024/3/740读出放大器读出放大器读出放大器…………………………06364127128根行线CS01271128列选择读/写线数据输入I/O缓冲输出驱动DOUTDINCS…4116(16K×1位)芯片写过程数据输入I/O缓冲I/O缓冲DIN读出放大器读出放大器6302024/3/7413.3.3刷新周期刷新的原因DRAM的基本存储元——电容,会随着时间和温度而减少;必须定期地对所有存储元刷新,以保持原来的信息。刷新(再生)在固定时间内对所有存储单元,通过“读出(不输出)—写入”的方式恢复信息的操作过程;刷新方式以存储矩阵的行为单位刷新;故刷新计数器的长度与DRAM的行数相同;刷新周期从上一次对整个M刷新结束到下一次对整个M全部刷新一遍为止的时间。刷新过程中存储器不能进行正常的读写访问2024/3/742DRAM的刷新方式集中式刷新在一个刷新周期内,利用一段固定时间,依次对存储矩阵的所有行逐一刷新,在此期间停止对存储器的读/写操作;存在死区时间,会影响CPU的访存操作;分散式刷新将每个系统工作周期分为两部分,前半部分用于DRAM读/写/保持,后半部分用于刷新存储器的一行;系统存取时间延长一倍,导致系统变慢;异步式刷新在一个刷新周期内,分散地刷新存储器的所有行;既不会产生明显的读写停顿,也不会延长系统的存取周期;2024/3/743【例】设某存储器的存储矩阵为128×128,存取周期为0.5μs,RAM刷新周期为2ms,若采用集中式刷新方式,试分析其刷新过程。“死时间率”为128/4000×100%=3.2%“死区”时间为0.5μs×128=64μs周期序号tc012387138720tctctctc399901127读/写或维持刷新3872个周期(1936μs)刷新时间间隔(2ms)•••••••tctc••••••128个周期(64μs)2024/3/744【例】设某存储器的存储矩阵为128×128,存取周期为0.5μs,RAM刷新周期为2ms,若采用分散式刷新方式,试分析其刷新过程。存取周期延长一倍,为1μs;前0.5μs用于读写,后0.5μs用于刷新一行W/RREF0W/RtRtMtCREF126REF127REFW/RW/RW/RW/R刷新间隔128个读写周期存取周期tC=tM+tR读写刷新无“死区”时间刷新周期为1μs×128行=128μs1行的刷新时间存储体的行数远小于2ms,没有必要2024/3/745【例】设某存储器的存储矩阵为128×128,存取周期为0.5μs,RAM刷新周期为2ms,若采用异步式刷新方式,试分析其刷新过程。若每隔2ms/128=15.6μs刷新一行每隔15.6μs产生一个刷新请求信号;每31.2(≈31)个工作周期中做刷新一行存储器的操作。周期序号012

30tMtR读/写30周期,刷新1周期31个周期(15.5μs)•••tMtM•••

29012

30tMtR31个周期(15.5μs)•••tMtM•••

29读/写30周期,刷新1周期2024/3/746DRAMSRAM存储原理集成度芯片引脚功耗价格速度刷新电容触发器高低少多小大低高慢快有无动态RAM和静态RAM的比较2024/3/7473.3.4存储器容量的扩充单个存储芯片的容量有限,实际存储器由多个芯片扩展而成;存储器(存储芯片)与CPU的连接数据、地址、控制三总线连接;多个存储芯片CPU不是一一对应连接关注存储芯片与CPU的外部引脚存储器容量扩充方式位扩展、字扩展、字位扩展MDRMARCPU主存地址总线数据总线读写SRAM、DRAM、ROM均可进行容量扩展2024/3/748存储芯片与CPU的引脚存储芯片的外部引脚数据总线:位数与存储单元字长相同,用于传送数据信息;地址总线:位数与存储单元个数为2n关系,用于选择存储单元;读写信号/WE:决定当前对芯片的访问类型;片选信号/CS:决定当前芯片是否正在被访问;CPU与存储器连接的外部引脚数据总线:位数与机器字长相同,用于传送数据信息;地址总线:位数与系统中可访问单元个数为2n的关系,用于选择访问单元;读写信号/WE:决定当前CPU的访问类型;访存允许信号/MREQ:决定是否允许CPU访问存储器;2024/3/749存储器容量的位扩展存储单元数不变,每个单元的位数(字长)增加;例如:由1K×4的存储芯片构成1K×8的存储器存储芯片与CPU的引脚连接方法:地址线:各芯片的地址线直接与CPU地址线连接;数据线:各芯片的数据线分别与CPU数据线的不同位连接;片选及读写线:各芯片的片选及读写信号直接与CPU的访存及读写信号连接;注意:

CPU对该存储器的访问是对各位扩展芯片的同一单元的同时访问。1K×4存储芯片A0~A9D0~D31K×8存储器A0~A9D0~D72024/3/750D7D0CSWEA9~A01K×41K×410由1K×4的存储芯片构成1K×8的存储器2024/3/751由8K×1位的芯片构成8K×8位的存储器2024/3/752存储器容量的字扩展字扩展:每个单元位数不变,总的单元个数增加。例如:用1K×8的存储芯片构成2K×8的存储器存储芯片与CPU的引脚连接方法:地址线:各芯片的地址线与CPU的低位地址线直接连接;数据线:各芯片的数据线直接与CPU数据线连接;读写线:各芯片的读写信号直接与CPU的读写信号连接;片选信号:各芯片的片选信号由CPU的高位地址和访存信号产生;注意:

CPU对该存储器的访问是对某一字扩展芯片的一个单元的访问。1K×8存储芯片A0~A9D0~D72K×8存储器A0~A10D0~D72024/3/753

1K×8

1K×81D7~D0A0~A9108A10低位的地址线与各芯片的地址线并联;多余的高位地址线用来产生相应的片选信号。WE由1K×8的存储芯片构成2K×8的存储器CSCS2024/3/75416K×8的存储芯片:地址线14根,数据线8根,/CS,/WECPU的引脚:地址线16根,数据线8根,/MERQ,/WECPU的最高2位地址和/MREQ信号产生4个芯片的片选信号;4个存储芯片构成存储器的地址分配:第1片

0000000000000000

0011111111111111即0000H~3FFFH第2片

0100000000000000

0111111111111111即4000H~7FFFH第3片

1000000000000000

1011111111111111即8000H~BFFFH第4片

1100000000000000

1111111111111111即C000H~FFFFH

用16K×8的芯片构成64K×8的存储器16K×816K×816K×816K×80000H3FFFH4000H7FFFH8000H0BFFFH0FFFFH0C000H2024/3/755译码器/MREQA14A15/CS16K×8/WE/CS16K×8/WE/CS16K×8/WE/CS16K×8/WE••••••••••••A0A13/WED0~D7D0~D7D0~D7D0~D7D0~D7存储芯片的字扩展连接图作为译码器的使能信号作为译码器的地址输入信号2024/3/756字位扩展:每个单元位数和总的单元个数都增加。例如:用1K×4的存储芯片构成2K×8的存储器扩展方法先进行位扩展,形成满足位要求的存储芯片组;再使用存储芯片组进行字扩展。要求:能够计算出字位扩展所需的存储芯片的数目。例如:用L×K的芯片构成M×N的存储系统;所需芯片总数为M/L×N/K片。存储芯片的字位扩展1K×4存储芯片A0~A9D0~D32K×8存储器A0~A10D0~D72024/3/757共需要几块芯片,进行如何扩展?8片2M×8的SRAM芯片进行字扩展;数据线怎么连?各芯片的数据线均直接与CPU的8位数据总线连接;地址线怎么连?各芯片的地址线均直接与CPU的最低21位地址线连接;控制线怎么连?读写信号直接连接;剩余的高3位地址线和/MREQ和译码产生各芯片的片选信号/CS;【练习】用2M×8的SRAM芯片构成一个16M×8的存储器,请回答以下问题:2024/3/758存储器与CPU的连接补充例子做题思路:审题确定所需扩展的类型,选择合适的存储芯片;原则:尽量作简单的扩展(位扩展—字扩展—字位扩展)分析存储芯片和CPU的引脚特性(地址范围、地址线数目、容量要求等),确定引脚的连接;尤其是在进行字扩展时,特别注意片选信号的产生。3-8译码器74LS138、双2-4译码器74LS139画出逻辑连接图,作必要的分析说明。2024/3/75974LS138译码器用于地址译码的3-8译码器;输入3位地址信号,译码产生8个不同的选通输出;外部的结构图引脚作用:输入信号A、B、C

引入所要译码的三位地址信号输出信号/Y0~/Y7

对应每一个存储单元,低电平有效使能信号G1、/G2A、/G2B

当且仅当G1=1、/G2A

=0、/G2B

=0时,译码器正常工作Y5Y6G2BG2AG1ABCY0Y1Y2Y3Y4Y7使能控制端地址输入端选通输出端2024/3/76074LS138译码器逻辑功能表2024/3/76174LS138译码器内部结构图2024/3/76274LS139译码器用于地址译码的2-4译码器;输入2位地址信号,译码产生4个不同的选通输出;外部的结构图引脚作用:输入信号A、B

引入所要译码的两位地址信号;输出信号/Y0~/Y3

对应每一个存储单元,低电平有效;使能信号/G:

当且仅当/G=0时,译码器正常工作;使能控制端地址输入端选通输出端2Y12Y2G1G21A1B1Y01Y11Y21Y32Y02Y32A2B2024/3/76374LS139译码器的逻辑功能表2024/3/764存储器地址段分析:

A15…A11A10A9……A0

0110

0

00000000000

0110

0

11111111111

0110

1

0

0000000000

0110

1

0

1111111111存储芯片选择系统程序区:1片2K×8ROM用户程序区:2片1K×4RAM,做位扩展

例1.设CPU有16根地址线,8根数据线,并用/MREQ作访存控制信号

现有下列芯片:1K×4RAM;4K×8RAM;8K×8RAM;2K×8ROM;4K×8ROM;8K×8ROM及74LS138等电路

要求:构成地址为6000~67FFH的系统程序区、地址为6800~6BFFH的用户程序区,选择芯片并画出逻辑连接图。系统程序区2K×8位用户程序区1K×8位再做字扩展6000H67FFH6800H6BFFH2024/3/765芯片及引脚分析2K×8ROM地址线:A0~A10数据线:D0~D7控制线:/CS1K×4RAM地址线:A0~A9数据线:D0~D3控制线:/CS、/WECPU地址线:A0~A15数据线:D0~D7控制线:/WE、/MREQ2K×8ROMA0~A10D0~D7/CS/CS1K×4RAMA0~A9D0~D3/WEA15~A1101100A15~A10011010A15~A120110应使用A15~A11作为地址译码信号,产生各存储芯片的/CS2024/3/766逻辑连接图1K×4RAMA9~A0D3~D0/WE/CS1K×4RAMA9~A0D3~D0/WE/CS2K×8ROMA10~A0D7~D0/CS74LS138G1/G2A/G2BCBA/Y4/Y5&CPU

A14A15/MREQA10A13A12A11A9~A0D3~D0D7~D4/WE100100110000011012024/3/76732K×16RAMA14~A0D15~D0/WE/CS32K×16RAMA14~A0D15~D0/WE/CSCPU

A15A14~A0D15~D0D31~D16/WE32K×16RAMA14~A0D15~D0/WE/CS32K×16RAMA14~A0D15~D0/WE/CS12024/3/768译码设计方案2&A15A14A13A12A11≥1≥1选通ROM区A10选通RAM区2024/3/769可选存储芯片:

1K×4RAM;4K×8RAM;8K×8RAM;

2K×8ROM;4K×8ROM;8K×8ROM;存储器地址分析:最小8K系统程序区

0000

000000000000~0001

111111111111接下来的16K用户程序区

0010

000000000000

~

0011

1111111111110100

000000000000

~

0101

111111111111最大4K系统程序工作区

1111

000000000000~1111

111111111111例2.CPU及芯片同上题,要求主存地址空间满足:最小8K为系统程序区,与其相邻的16K地址为用户程序区,最大4K地址空间为系统程序工作区,划出逻辑图及指出芯片种类及片数。1片8K×8ROM,高3位地址为0002片8K×8RAM,高3位地址为001、0101片4K×8RAM,高4位地址为1111(哈尔滨工业大学1999年研究生试题)2024/3/770逻辑连接图4K×8RAMA11~A0D7~D0/WE/CS8K×8RAMA12~A0D7~D0/WE/CS8K×8ROMA12~A0D7~D0/CSCPU

/MREQA12A15A14A13A11~A0D7~D0/WE8K×8RAMA12~A0D7~D0/WE/CS+5V74LS138G1/G2A/G2BCBA/Y0/Y1/Y2/Y7000001010&1112024/3/771例3.某机地址总线16根(A15~A0),双向数据总线8根(D7~D0),控制总线有/MREQ(允许访存低有效),R/W(读/写),主存地址空间分配如下:

0~8191为系统程序区;

8192~32767为用户程序区;

最后2K地址空间为系统程序工作区;

上述地址为十进制,按字节编址,现有如下芯片

ROM:8K×8位

RAM:16K×1、2K×8、4K×8、8K×8

请从上述芯片中选择适当芯片设计该计算机主存储器,画出主存储器与CPU连接逻辑图(用3:8译码器74LS138作片选逻辑)说明选哪些存储器芯片,选多少片?(哈尔滨工业大学1999年研究生试题)2024/3/772CPU:16根地址线,8根数据线地址分配:0—8191,共8KB(8×1024)0000000000000000

~00011111111111118192—32767,共32768-8192=24576=24×1024=24KB0010000000000000

~00111111111111110100000000000000

~01011111111111110110000000000000

~0111111111111111最后2K1111100000000000

~1111111111111111分析1片8K×8ROM高3位地址为0003片8K×8RAM高3位地址分别为001、010、0111片2K×8RAM,高5位地址为111112024/3/773逻辑连接图2K×8RAMA10~A0D7~D0/WE/CS8K×8RAMA12~A0D7~D0/WE/CS8K×8ROMA12~A0D7~D0/CS8K×8RAMA12~A0D7~D0/WE/CS+5V&8K×8RAMA12~A0D7~D0/WE/CSCPU

/MREQA11A15A14A12A10~A0D7~D0/WEA1374LS138G1/G2A/G2BCBA/Y0/Y1/Y2/Y7/Y32024/3/774存储器设计的连接要点地址线的连接用CPU的低位地址线与芯片地址线直接连接;数据线的连接用CPU的对应位数据线与芯片的数据线直接连接;读/写控制信号线的连接用CPU的读/写控制信号线直接与存储芯片直接连接;片选线的连接一般使用CPU的高位地址线的和CPU的访存允许控制信号线/MREQ,经译码器译码后产生各芯片的片选信号。关键点,也是最容易出错的地方。2024/3/77509年考研真题15.某计算机主存容量为64KB,其中ROM区为4KB,其余为RAM区,按字节编址,现要用2K×8位的ROM芯片和4K×4位的RAM芯片来设计该存储器,则需要上述规格的ROM芯片数和RAM芯片数分别是()

A.1、15B.2、15C.1、30D.2、30D2024/3/77610年考研真题15.假定用若干个2K×4位芯片组成一个8K×8位的存储器,则地址0B1FH所在芯片的最小地址是()

A.0000H

B.0600H

C.0700H

D.0800H

16、下列有关RAM和ROM的叙述中,正确的是()

I、RAM是易失性存储器,ROM是非易失性存储器

II、RAM和ROM都是采用随机存取的方式进行信息访问

III、RAM和ROM都可用作CacheIV、RAM和ROM都需要进行刷新

A.仅I和IIB.仅II和IIIC.仅I,II,IIID.仅II,III,IVDA2024/3/777课堂练习1设某CPU地址总线共有16根,数据总线共有16根,已知系统中存储器的划分如下:

ROM区:0000H-3FFFH

RAM区:起始地址为6000H,24K×16位的RAM区域

现有16K×16位ROM芯片,8K×16位RAM芯片,试完成以下问题。所需8K×16位RAM芯片的个数是多少?分析每个芯片的地址范围,并说明译码方案。画出此存储器组成逻辑框图(包括ROM和RAM区)。2024/3/778课堂练习1的解答(1/4)所需8K×16位RAM芯片的个数

(24K/8K)×(16/16)=3片分析每个芯片的地址范围ROM区(0000H~3FFFH)

0000000000000000~0011111111111111第一个8K×8的RAM芯片(6000~7FFFH)

0110000000000000~0111111111111111第二个8K×8的RAM芯片(8000~9FFFH)

1000000000000000~1001111111111111第三个8K×8的RAM芯片(0A000~0BFFFH)

1010000000000000~10111111111111112024/3/779课堂练习1的解答(2/4)译码方案:(任意一种方案均为正确答案)方案1:使用A15A14A13高三位地址线通过3:8译码器进行译码;Y0和Y1任一输出有效均可选中ROM(异或操作);Y3、Y4、Y5分别作为3个RAM芯片的片选信号。方案2:使用A15A14高两位地址线通过2:4译码器进行译码;Y0的输出作为ROM的片选信号;Y1=0,且A13=1时,选通第一个RAM芯片;Y2=0,且A13=0时,选通第二个RAM芯片;Y2=0,且A13=1时,选通第三个RAM芯片;2024/3/780课堂练习1的解答(3/4)——逻辑连接图1=12024/3/781课堂练习1的解答(4/4)——逻辑连接图22024/3/782设有一存储器系统,其原理图如下,分析该存储器系统。试分析各存储器芯片的类型;请问各存储器芯片的地址范围分别为多少?课堂练习22K×8ROM2K×8ROM2K×8RAM2K×8RAM地址范围0000……00001……1(0~7FFH)地址范围0010……00011……1(800H

~FFFH)地址范围1000……01001……1(2000H

~27FFH)地址范围1010……01011……1(2800H

~2FFFH)2024/3/783设某存储器中,最低的8K字的存储区为ROM区,相邻的2K字的为RAM区,主存字长为16位,按字寻址方式读写。拟采用8K×8的58C65芯片构成其ROM区,采用2K×8的6116芯片构成RAM区,请问各需要多少片上述芯片?试分析各块芯片的地址范围,并画出CPU与存储系统的连接图。练习12024/3/784练习2设某机的最大寻址范围为16K,16位数据总线,在0~8191地址区接有3片2K×16的RAM芯片,RAM芯片的片选信号为CS#,试回答下列问题:该机需要多少根地址线?若高位全部用于译码,需要对地址的高几位进行译码?2024/3/785练习3已知某8位机的主存采用半导体存储器,其地址码为16位。若使用4K×4位的静态RAM芯片组成该机所允许的最大主存空间,并选用模块板结构形式,每块板的容量为16K×8位。共需要几块这样的模块板?每个模块板内共有多少片这样的RAM芯片?主存共需多少片这样的RAM芯片?CPU如何选择各模块板?(勿需画图,说明即可)2024/3/786某一存储器系统的部分接线如下图所示,请回答:RAM和ROM的存储容量各是多少?RAM和ROM存储器地址分配范围各是多少?练习4A0~A9RAMD0~D7/CS

A0~A9A10ROMD0~D7/CS

A10A0~A9D0~D7

A11A12A13A14A15

A/Y0B/Y1C。。。/G2A/Y5/G2B/Y6G1/Y774LS138≥12024/3/787练习5设某微机的寻址范围为32K,接有4片8K×1的存储芯片,存储芯片的片选信号为CS#,试回答下列问题:需要对地址的哪几位进行译码(写出分析过程)?译码输出应接至RAM的什么地方?每片RAM的地址范围是多少?(用二进制和十六进制标明)。若用一片16K×1的存储芯片作低地址,4片4K×1的芯片作高地址,每片RAM的地址范围又是多少?。2024/3/7883.3.5高级的DRAM结构(1/4)FPM-DRAM(快速页模式动态存储器)根据程序局部性原理实现的;快速页模式允许在选定的行中对每一个列地址进行连续快速的读写操作。CDRAM(带高速缓存动态存储器)EDRAM(增强型DRAM)在DRAM芯片上集成一定数量的SRAM(高速缓存Cache),来提高存储器性能。2024/3/7893.3.5高级的DRAM结构(2/4)SDRAM(同步动态存储器)需要与系统时钟相同步的外部时钟;非同步DRAM,CPU必须等待前者完成其内部操作,才能开始下一个地址的读写操作;同步DRAM,在系统时钟控制下SDRAM从CPU获得地址、数据和控制信息。SDRAM连续读写时可达到一个CLK一个数据;一般达到5-1-1-1(第1个数据需5个时钟,第2-4个数据一个时钟),比EDRAM的5-2-2-2快。2024/3/7903.3.5高级的DRAM结构(3/4)DRDRAM(接口动态存储器)与DRAM区别:引脚定义随命令而变,同一组引脚线可以被定义成地址或控制线,其引脚数仅为正常DRAM的1/3。DDRDRAM(双数据传输率同步动态存储器)在SDRAM的基础上采用延时锁相环技术提供数据选通信号对数据进行精确定位,在时钟脉冲的上升沿和下降沿都可传输数据,使数据传输率提高1倍。SLDRAM(同步链动态存储器)在原DDRDRAM基础上发展起来,但Intel公司不支持这种标准,故难以形成气候。2024/3/7913.3.5高级的DRAM结构(4/4)VCMSRDRAM(虚拟通道存储器):由NEC公司开发,是一种“缓冲式DRAM”;由高速寄存器进行配置和控制。在实现高速数据传输的同时,保持与传统SDRAM的高度兼容性;特点:内存单元与通道缓冲器间的数据传输,与内存单元的预充电和刷新等内部操作可以并行进行。FCRAM(快速循环动态存储器):数据吞吐率比普通DRAM/SDRAM快4倍;特点:行列地址同时(并行)访问,不是顺序方式(先访问行数据,后访问列数据)。2024/3/7923.4只读存储器和闪速存储器3.4.1只读存储器ROM3.4.2闪速存储器2024/3/7933.4.1只读存储器掩模式ROM定义:数据在芯片制造过程中写入,不能更改;优点:可靠性、集成度高,价格便宜;缺点:通用性差,不能改写内容;一次编程ROM(PROM)定义:用户第一次使用时写入确定内容;优点:用户可根据需要对ROM编程;缺点:只能写入一次,不能更改;多次编程ROM定义:可用紫外光照射(EPROM)或电擦除(E2PROM)多次改写其中内容;优点:通用性较好,可反复使用;2024/3/7943.4.2闪速存储器闪速存储器(FlashMemory)一种高密度、非易失性的读/写半导体存储器,它突破了传统的存储器体系,改善了现有存储器的特性。闪速存储器是在EPROM功能基础上,增加了电路的电擦除和重新编程能力;也叫快擦型存储器。目前流行的U盘(也称优盘、闪盘)即为闪速存储器的其中一种形式。闪速存储器的可擦写次数一般在1万次以上,也有人说有的U盘可多达100万次左右(无法核实)。2024/3/7953.5

高速存储器3.5.1

双端口存储器3.5.2多模块交叉存储器3.5.3

相联存储器2024/3/7963.5.1双端口存储器双端口存储器采用空间并行技术:同一个存储体使用两组相互独立的读写控制线路,可并行操作。显卡上的存储器一般都是双端口存储器。读写特点无冲突读写访问的存储单元不同,可并行读写存储体;有冲突读写访问同一存储单元,可使用/BUSY信号控制读写优先顺序;动画演示:3-24.swf2024/3/7973.5.2多模块交叉存储器多模块交叉存储器采用时间并行技术。存储器的模块化组织方式顺序方式优点:通过直接增添模块来扩充存储器容量比较方便;缺点:各模块串行工作,存储器的带宽受到了限制。交叉方式优点:块数据传送时,可大大提高存储器的带宽;缺点:模块间的依赖性强,且不易进行存储器的容量扩充。CPU对多模块的同时访问;多模块交叉存储器在CPU所访问连续存储空间时,主存的访问速度将会大幅度提高;动画演示:3-26.swf动画演示:3-27.swf流水线存取示意图P903.282024/3/798多模块交叉存储器——顺序方式每个模块中的单元地址是连续的;某个模块进行存取时,其他模块不工作,某一模块出现故障时,其他模块可以照常工作;存储单元地址高位——模块号;低位——模块内的字号;2024/3/799多模块交叉存储器——交叉方式每个模块的单元地址是不连续的;连续地址分布在相邻的不同模块内。对于数据的成块传送,各模块可以实现多模块流水式并行存取;存储单元地址低位——模块号;高位——模块内的字号;2024/3/7100课本P91【例5】

设存储器容量为32字,字长64位,模块数m=4,分别用顺序方式和交叉方式进行组织。存储周期T=200ns,数据总线宽度为64位,总线传送周期τ=50ns。问顺序存储器和交叉存储器的带宽各是多少?顺序存储器和交叉存储器连续读出m=4个字的数据信息量为

q=4×64=256位顺序存储器所需要的时间为 t1=m×T=4×200ns=800ns=8×10-7s故顺序存储器的带宽为 W1=q/t1=256/(8×10-7)=32×107[bit/s]交叉存储器所需要的时间为 t2=T+(m-1)×τ=200ns+(4-1)×50ns=350ns=3.5×10-7s故交叉存储器的带宽为 W1=q/t1=256/(3.5×10-7)=73×107[bit/s]2024/3/71013.5.3相联存储器(补充)相联存储器的基本原理把存储单元所存内容的某一部分内容作为检索项,去检索该存储器,并将存储器中与该检索项符合的存储单元内容进行读出或写入。相联存储器中选用来寻址存储器的字段叫做关键字。相联存储器中项的格式 KEY,DATA

其中KEY是地址,DATA是被读写信息。2024/3/7102动画演示:相联存储器的结构.swf2024/3/71033.6

cache存储器3.6.1

cache基本原理3.6.2

主存与cache的地址映射3.6.3

替换策略3.6.4

cache的写操作策略3.6.5

Pentium4的cache组织2024/3/71043.6.1cache基本原理使用Cache的原因CPU速度越来越快,主存储器与CPU的速度差距越来越大,影响CPU的工作效率。Cache的作用在CPU和主存之间加一块高速的SRAM(Cache);主存中将要被访问的数据提前送到Cache中;CPU访存时,先访问Cache,若没有再进行数据调度。使用Cache的依据在一段时间内,CPU所执行的程序和访问的数据大部分都在某一段地址范围内,而该段范围外的地址访问很少;动画演示:3.36.swf程序访问的局部性原理2024/3/7105结构模块化CPU访问cache或主存时,以字为单位;Cache和主存交换信息时,以块为单位,一次读入一块或多块内容;每块由若干个字组成;Cache的每行都设置有标记,CPU访问程序或数据时,先访问标记。此结构全部由硬件实现;Cache对程序员是透明的,即程序员不必知道是否存在Cache。Cache的基本设计思想Cache的一块,也称为一行动画演示:3-32.swf2024/3/7106cache的基本构成存储体基本单位为字,若干个字构成一个数据块;地址映射变换机构用于将主存地址变换为Cache地址,以利用CPU发送的主存地址访问Cache;替换机构若要更新Cache中数据时使用的机制;相联存储器Cache的块表,快速指示所要访问的信息是否在Cache中;读写控制2024/3/7107CPU发出有效的主存地址;经地址变换机构,变换为可能的Cache地址;

查找块表,判断所要访问的信息是否在Cache中;若在,则CPU直接读取Cache获取数据;若不在,则CPU访问主存,并判断Cache是否已满;若Cache未满,将该数据所在块从主存中调入Cache;若Cache已满,使用某种替换机制,使用当前数据块替换掉Cache中的某些块。Cache的读操作2024/3/7108CPU发出有效的主存地址;经地址变换机构,变换为可能的Cache地址;查找对应的相联存储器,判断所要访问的信息是否在Cache中;若不在,则使CPU直接写主存数据;若在,则使用某种写策略将数据写入Cache。cache的写操作2024/3/7109命中率是指CPU要访问的信息在cache中的比率;失效率=1-命中率影响命中率的主要因素Cache容量:过小时,局部信息装不完,命中率低。

过大时,对提高效率不明显,且成本高。Cache中块的大小:

一般用一个主存周期所能调出的单元数(字或字节)作为一个块大小。cache的命中率一般>95%命中率=访问信息在Cache中的次数访问总次数×100%2024/3/7110主存系统的平均访问时间Cache/主存系统的平均访问时间ta为设r=tm/tc,则系统的访问效率e为etatchtc+(1-h)tmtch+(1-h)r1r+(1-r)h1ta

=htc+(1-h)tmtc——命中时的cache访问时间tm——未命中时的主存访问时间h——命中率====2024/3/7111命中率h=Nc/(Nc+Nm)=1900/(1900+100)=0.95主存与Cache的速度倍率r=tm/tc=250ns/50ns=5访问效率e=1/(r+(1-r)h)=1/(5+(1-5)×0.95)=83.3%平均访问时间ta=tc/e=50ns/0.833=60ns课本P94【例6】

CPU执行一段程序时,cache完成存取的次数为1900次,主存完成存取的次数为100次,已知cache存取周期为50ns,主存存取周期为250ns,求cache/主存系统的效率和平均访问时间。2024/3/71123.6.2主存与cache的地址映射信息从主存→Cache中,如何定位?Cache的容量小于主存,需要采用某种算法确定主存和Cache中块的对应关系;地址映射CPU访存时,将主存地址按某种映射函数关系变换成Cache地址的过程;地址映射的方式全相联映射、直接映射、组相联映射2024/3/7113映射关系主存中的任意字块可调进cache的任一行中;设主存共2n个单元,分成2m个块,每块单元数为2b个主存地址格式:Cache地址格式:当主存的数据块调入Cache中时,该块的块号(主存标记)保存于调入Cache行的对应标记位(即块表中)块表的大小应为2c×m位;1、全相联映射(AssociativeMapping)主存块号块内地址m位b位Cache行号行内地址b位c位2024/3/7114全相联映射示意图2024/3/7115全相联映射的组织动画演示:3.33.swf2024/3/7116全相联映射Cache的特点优点灵活性好(最理想)Cache中只要有空行,就可以调入所需要的主存数据块;缺点成本高标记位为m位,使cache标记容量变大;速度太慢访问cache时,需将所有标记比较一遍,才能最后判出所需主存中的字块是否在cache中;一般较少使用。2024/3/7117【例1】设主存容量1MB,cache容量16KB,块的大小为512B,采用全相联映射方式。写出cache的地址格式。写出主存的地址格式。块表的容量多大?画出地址映射及变换示意图。主存地址为CDE8FH的单元,在cache中的什么位置?2024/3/7118【例1】设主存容量1MB,cache容量16KB,块的大小为512B,采用全相联映射方式。写出cache的地址格式cache的容量16KB块(行)的大小为512B行地址为14-9=5位Cache地址格式写出主存的地址格式主存容量1MB块的大小为512B块地址为20-9=11位主存的地址格式为Cache地址为14位

行内地址为9位Cache共32行行地址行内地址13980

主存地址为20位

块内地址为9位

主存共2048块主存标记(块号)块内地址199802024/3/7119【例1】设主存容量1MB,cache容量16KB,块的大小为512B,采用全相联映射方式。块表的容量多大?块表的大小应为2c×m位,即25×11位;画出地址映射及变换示意图。见下页图;主存地址为CDE8FH的单元,在cache中的什么位置?主存地址为CDE8FH的单元可映射到cache中的任何一个字块位置;CDE8FH=110011011110

10001111B其块/行内地址为:010001111。2024/3/7120第0块第1块第i块第31块•••主存块标记••••••第0块第1块第31块••••••主存字块标记块内地址cachem=11位b=9位主存地址块表•••11比较•••命中全相联映射方式的地址映射及变换示意图2024/3/71212、直接映射(DirectMapping)映射关系主存中的每一块数据只能调入Cache的特定行中;假设主存的块号为j,Cache的行号为i,

则直接映射的地址映射函数为:

i=jmod2c

映射结果主存第0、2c、

2c+1、…块只能映射到Cache第0块;主存第1、2c+1、2c+1+1…块只能映射到Cache的第1块;

…… …… …… ……

c是Cache行地址的位数2024/3/7122直接相联映射示意图2024/3/7123直接映射方式下的主存地址格式主存共2n个单元,分成2m个块,每块单元数为2b个主存地址为m+b位;Cache空间分成2c行,每行大小也应为2b单元Cache地址为c+b位;直接映射中主存块与Cache行的关系:主存的(2m/2c)=2m-c个块映射于Cache的同一行;主存地址中的c位决定该主存块对应的Cache行,m-c位为主存标记;块表的大小应为2c×(m-c)位;主存的地址格式为:主存标记Cache行号块内地址m位b位t位主存中有2t块对应于同一Cache行c位2024/3/7124直接映射Cache的组织动画演示:3.34.swf2024/3/7125特点一个主存块只能调入cache的一个特定行中。优点该映射函数实现简单,查找速度快;主存地址的中间c位即为Cache的行地址;在对应的块表中使用高t位地址进行比较,决定是否命中;缺点灵活性差;主存的2t个字块只能对应唯一的Cache字块,即使Cache中别的字块空着也不能占用。直接映射Cache的特点2024/3/7126设主存共512个单元(字节),Cache共32个单元,块大小为8个字节,试用直接映射方式组织Cache。主存512个单元,每块8字节;主存地址需9位(29=512),共512/8=64块主存地址包括:主存块号m=6,块内地址b=3Cache共32个单元,每行8字节Cache地址需5位,共32/8=4行Cache地址为:Cache行号c=2,行内地址b=3直接映射举例(1/3)2位Cache行号3位行内地址4位主存标记2位Cache行号3位块内地址2024/3/7127直接映射举例(2/3)00000000CPU发送地址:

0000

01

001⊕相等2024/3/7128直接映射举例(3/3)若CPU发出的主存地址为0000

01

001;先取高4位地址(主存标记0000)送往比较器的一端;再用中间的2位地址(Cache行号01),在块表中取出该单元中保存的主存标记送往比较器的另一端;若二者相等,则为命中,直接访问Cache的第01行中地址为001的单元,读取数据;若二者不相等,则为未命中;直接使用0000

01

001地址访问主存单元;同时,将主存地址0000

01

000~0000

01

111的8个字节内容送到Cache的11000~11111单元中;2024/3/7129【例2】设主存容量1MB,cache容量16KB,块的大小为512B,采用直接映射方式。块表的容量多大?画出地址映射及变换示意图。主存地址为CDE8FH的单元在cache中的什么位置?行地址行内地址13980Cache地址格式主存的地址格式主存标记Cache行号块内地址19

温馨提示

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

评论

0/150

提交评论