微型计算机技术课件5_第1页
微型计算机技术课件5_第2页
微型计算机技术课件5_第3页
微型计算机技术课件5_第4页
微型计算机技术课件5_第5页
已阅读5页,还剩97页未读 继续免费阅读

下载本文档

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

文档简介

第4章:存储器和高速缓存技术教学重点存储器的分类内部存储器的系统结构动、静态读写存储器RAM的基本存储单元与芯片

2023/7/1514.1存储器和存储器件4.1.1存储器的分类4.1.2存储器的系统结构4.1.3选择存储器器件的考虑因素4.1.4随机存取存储器RAM4.1.5只读存储器ROM4.1.6存储器在系统中的连接考虑和使用举例2023/7/152存储器是计算机(包括微机)硬件系统的重要组成部分,有了存储器,计算机才具有“记忆”功能,才能把程序及数据的代码保存起来,才能使计算机系统脱离人的干预,而自动完成信息处理的功能。存储器系统的三项主要性能是指标容量、速度和成本。存储容量是存储器系统的首要性能指标,因为存储容量越大,则系统能够保存的信息量就越多,相应计算机系统的功能就越强;存储器的存取速度直接决定了整个微机系统的运行速度,因此,存取速度也是存储器系统的重要的性能指标;存储器的成本也是存储器系统的重要性能指标。为了在存储器系统中兼顾以上三个方面的指标,目前在计算机系统中通常采用三级存储器结构,即使用高速缓冲存储器、主存储器和辅助存储器,由这三者构成一个统一的存储系统。从整体看,其速度接近高速缓存的速度,其容量接近辅存的容量,而其成本则接近廉价慢速的辅存平均价格。

1.存储器的概述2023/7/1534.1.1存储器的分类

(1)按构成存储器的器件和存储介质分类按构成存储器的器件和存储介质主要可分为:磁芯存储器、半导体存储器、光电存储器、磁膜、磁泡和其它磁表面存储器以及光盘存储器等。2.存储器分类2023/7/154(2)按存取方式分类可将存储器分为随机存取存储器、只读存储器两种形式。随机存储器RAM(RandomAccessMemory)又称读写存储器,指能够通过指令随机地、个别地对其中各个单元进行读/写操作的一类存储器。

按照存放信息原理的不同,随机存储器又可分为静态和动态两种。静态RAM是以双稳态元件作为基本的存储单元来保存信息的,因此,其保存的信息在不断电的情况下,是不会被破坏的;而动态RAM是靠电容的充、放电原理来存放信息的,由于保存在电容上的电荷,会随着时间而泄露,因而会使得这种器件中存放的信息丢失,必须定时进行刷新。2.存储器分类2023/7/155

在微机系统的在线运行过程中,只能对其进行读操作,而不能进行写操作的一类存储器。ROM通常用来存放固定不变的程序、汉字字型库、字符及图形符号等。随着半导体技术的发展,只读存储器也出现了不同的种类,如可编程的只读存储器PROM(ProgrammableROM),可擦除的可编程的只读存储器EPROM(ErasibleProgrammableROM)和EEPROM(ElectricErasibleProgrammableROM)以及掩膜型只读存储器MROM(MaskedROM)等,近年来发展起来的快擦型存储器(F1ashMemory)具有EEPROM的特点。

只读存储器ROM(Read-OnlyMemory)2023/7/156

分为主存储器(内存)、辅助存储器(外存)、缓冲存储器等,主存储器又称为系统的主存或者内存,位于系统主机的内部,CPU可以直接对其中的单元进行读/写操作;辅存存储器又称外存,位于系统主机的外部,CPU对其进行的存/取操作,必须通过内存才能进行;缓冲存储器位于主存与CPU之间,其存取速度非常快,但存储容量更小,可用来解决存取速度与存储容量之间的矛盾,提高整个系统的运行速度。

另外,还可根据所存信息是否容易丢失,而把存储器分成易失性存储器和非易失性存储器。如半导体存储器(DRAM,SRAM),停电后信息会丢失,属易失性;而磁带和磁盘等磁表面存储器,属非易失性存储器。(3)按在微机系统中位置分类2023/7/157存储器分类表如下所示:存储器主存储器

随机存储器(RAM)

只读存储器(ROM)

双极型半导体存储器MOS存储器(静态、动态)

可编程只读存储器PROM可擦除可编程只读存储器EPROM,EEPROM掩膜型只读存储器MROM辅助存储器

磁盘(软盘、硬盘、盘组)存储器磁带存储器光盘存储器缓冲存储器2023/7/158半导体存储器只读存储器(ROM)随机存取存储器(RAM)静态RAM(SRAM)动态RAM(DRAM)非易失RAM(NVRAM)掩膜式ROM一次性可编程ROM(PROM)紫外线擦除可编程ROM(EPROM)电擦除可编程ROM(EEPROM)详细展开,注意对比2023/7/159组成单元速度集成度应用SRAM触发器快低小容量系统DRAM极间电容慢高大容量系统NVRAM带微型电池慢低小容量非易失2023/7/1510一般情况下,一个存储器系统由以下几部分组成。1.基本存储单元一个基本存储单元可以存放一位二进制信息,其内部具有两个稳定的且相互对立的状态,并能够在外部对其状态进行识别和改变。不同类型的基本存储单元,决定了由其所组成的存储器件的类型不同。2.存储体(以图示讲解说明)一个基本存储单元只能保存一位二进制信息,若要存放M×N个二进制信息,就需要用M×N个基本存储单元,它们按一定的规则排列起来,由这些基本存储单元所构成的阵列称为存储体或存储矩阵。4.1.2

存储器的系统结构2023/7/1511由于存储器系统是由许多存储单元构成的,每个存储单元一般存放8位二进制信息,为了加以区分,我们必须首先为这些存储单元编号,即分配给这些存储单元不同的地址。地址译码器的作用就是用来接受CPU送来的地址信号并对它进行译码,选择与此地址码相对应的存储单元,以便对该单元进行读/写操作。存储器地址译码有两种方式,通常称为单译码与双译码。(1)

单译码

单译码方式又称字结构,适用于小容量存储器。(2)

双译码

在双译码结构中,将地址译码器分成两部分,即行译码器(又叫X译码器)和列译码器(又叫Y译码器)。X译码器输出行地址选择信号,Y译码器输出列地址选择信号。行列选择线交叉处即为所选中的内存单元,这种方式的特点是译码输出线较少。3.地址译码器2023/7/1512译码器A5A4A3A2A1A06301存储单元64个单元行译码A2A1A0710列译码A3A4A501764个单元单译码双译码单译码结构双译码结构双译码可简化芯片设计主要采用的译码结构3.地址译码器(续)2023/7/15134.片选与读/写控制电路片选信号用以实现芯片的选择。对于一个芯片来讲,只有当片选信号有效时,才能对其进行读/写操作。片选信号一般由地址译码器的输出及一些控制信号来形成,而读/写控制电路则用来控制对芯片的读/写操作。5.I/O电路I/O电路位于系统数据总线与被选中的存储单元之间,用来控制信息的读出与写入,必要时,还可包含对I/O信号的驱动及放大处理功能。4.1.2

存储器的系统结构2023/7/15144.1.2

存储器的系统结构6.集电极开路或三态输出缓冲器为了扩充存储器系统的容量,常常需要将几片RAM芯片的数据线并联使用或与双向的数据线相连,这就要用到集电极开路或三态输出缓冲器。7.其它外围电路对不同类型的存储器系统,有时,还专门需要一些特殊的外围电路,如动态RAM中的预充电及刷新操作控制电路等,这也是存储器系统的重要组成部分。2023/7/15154.1.2

存储器的系统结构2023/7/15164.1.3

选择存储器器件的考虑因素1.易失性

易失性是区分存储器种类的重要外部特性之一。易失性是指电源断开之后,存储器的内容是否丢失。如果某种存储器在断电之后,仍能保存其中的内容,则为非易失性存储器(外部存储器、ROM);否则,就叫易失性存储器(RAM)。2023/7/15174.1.3

选择存储器器件的考虑因素2.只读性

只读性是区分存储器种类的又一个重要特性。如果某个存储器中写入数据后,只能被读出,但不能写入,那么这种存储器叫只读存储器,即ROM(readonlymemory);如果一个存储器在写入数据后,既可对它进行读出,又可再对它修改,那么就叫可读写存储器。2023/7/15184.1.3

选择存储器器件的考虑因素3.存储容量

每个芯片中的存储单元的总数即存储容量。存储容量和芯片集成度有关,也和器件基本单元的工作原理和类型有关。 内存条有8位数据宽度的30引线的SIMM(singleinlinememorymodule)、32位数据宽度的72引线的SIMM和64位数据宽度的168引线DIMM(dualinlinememorymodule)2023/7/15194.1.3

选择存储器器件的考虑因素4.速度

存储器的速度是用存储器访问时间来衡量的。访问时间就是指存储器接收到稳定的地址信号到完成操作的时间。访问时间的长短决定于许多因素,主要与制造器件的工艺有关。当前,半导体存储器主要用两大类工艺,一类是双极性的TTL技术,一类是金属氧化物半导体MOS技术,后者又分CMOS和HMOS等技术2023/7/15204.1.3

选择存储器器件的考虑因素4.功耗

在用电池供电的系统中,功耗是非常重要的问题。CMOS能够很好地满足低功耗要求。但CMOS能够很好地满足低功耗要求。但CMOS器件容量较小,并且速度慢。功耗和速度是成正比的。2023/7/15214.1.4

随机存取存储器RAMRAM按其结构和工作原理分为静态RAM即SRAM(staticRAM)和动态RAM即DRAM(dynamicRAM)。SRAM速度快,不需要刷新,但片容量低,功耗大。DRAM片容量高,但需要刷新,否则其中的信息就会丢失。2023/7/15221.SRAM4.1.4

随机存取存储器RAMSRAM保存信息的机制是基于双稳态触发器的工作原理,组成双稳态触发器的A、B两管中,A导通B截止时为1,反之,A截止B导通时为0。其内部基本电路中,用2个晶体管构成双稳态触发器,2个晶体管作为负载电路,还有2个晶体管用来控制双稳态触发器。

缺点:容量小、功耗大优点:不需要刷新,简化了外部电路2023/7/1523(a)六管静态存储单元的原理示意图

(b)六管基本存储电路

2023/7/15242.DRAM(1)DRAM器件DRAM是利用电容存储电荷的原理来保存信息的,它将晶体管结电容的充电状态和放电状态分别作为1和0。DRAM的基本单元电路简单,最简单的DRAM单元只需一个管子构成,这使DRAM器件的芯片容量很高,而且功耗低。但是由于电容会逐渐放电,所以对DRAM必须不断进行读出和再写入,以使泄放的电荷得到补充,也就是刷新。一次刷新过程实际上就是对存储器进行一次读取、放大和再写入。2023/7/1525动态RAM基本存储单元

它由一个MOS管T1和位于其栅极上的分布电容c构成。当栅极电容C上充有电荷时,表示该存储单元保存信息“1”。反之,当栅极电容上没有电荷时,表示该单元保存信息“0”。由于栅极电容上的充电与放电是两个对立的状态,因此,它可以作为一种基本的存储单元。2023/7/1526写操作:字选择线为高电平,T1管导通,写信号通过位线存入电容C中读操作:字选择线仍为高电平,存储在电容C上的电荷,通过T1输出到数据线上,通过读出放大器,即可得到所保存的信息。动态RAM基本存储单元刷新:动态RAM存储单元实质上是依靠T1管栅极电容的充放电原理来保存信息的。时间一长,电容上所保存的电荷就会泄漏,造成了信息的丢失。因此,在动态RAM的使用过程中,必须及时地向保存“1”的那些存储单元补充电荷,以维持信息的存在。这一过程,就称为动态存储器的刷新操作2023/7/1527Intel2164A是一种64K×1的动态RAM存储器芯片,它的基本存储单元就是采用单管存储电路,其它的典型芯片有Ietel21256/21464等。(2)动态RAM存储器芯片Intel2164A2023/7/1528Intel2164A的内部结构

存储体:64K×1的存储体由4个128×128的存储阵列构成;

地址锁存器:由于Intel2164A采用双译码方式,故其16位地址信息要分两次送入芯片内部。但由于封装的限制,这16位地址信息必须通过同一组引脚分两次接收,因此,在芯片内部有一个能保存8位地址信息的地址锁存器;

数据输入缓冲器:用以暂存输入的数据;

数据输出缓冲器:用以暂存要输出的数据;2023/7/1529

1/4I/O门电路:由行、列地址信号的最高位控制,能从相应的4个存储矩阵中选择一个进行输入/输出操作;

行、列时钟缓冲器:用以协调行、列地址的选通信号;

写允许时钟缓冲器:用以控制芯片的数据传送方向;

128读出放大器:与4个128×128存储阵列相对应,共有4个128读出放大器,它们能接收由行地址选通的4×128个存储单元的信息,经放大后,再写回原存储单元,是实现刷新操作的重要部分;

1/128行、列译码器:分别用来接收7位的行、列地址,经译码后,从128×128个存储单元中选择一个确定的存储单元,以便对其进行读/写操作。Intel2164A的内部结构(续)2023/7/1530Intel2164A的外部结构Intel2164A是具有16个引脚的双列直插式集成电路芯片,其引脚安排如图4-6所示。•A0~A7:地址信号的输入引脚,用来分时接收CPU送来的8位行、列地址;

•RAS

:行地址选通信号输入引脚,低电平有效,兼作芯片选择信号。当RAS为低电平时,表明芯片当前接收的是行地址;

•CAS:列地址选通信号输入引脚,低电平有效,表明当前正在接收的是列地址(此时RAS应保持为低电平);•WE

写允许控制信号输入引脚,当其为低电平时,执行写操作;否则,执行读操作。•DIN:数据输入引脚;

•DOUT:数据输出引脚;

•VDD:十5V电源引脚;

•Css:地;

•N/C:未用引脚。图4-6Intel2164A引脚2023/7/1531(3)DRAM的刷新和DRAM控制器

刷新的方法有多种,但最常用的是“只有行地址有效”的方法,按照这种方法,刷新时,存储体的列地址无效,一次选中存储体中的一行进行刷新。具体执行时,每当一个行地址信号RAS有效选中某一行时,该行的所有存储体单元都分别和读出放大电路接通,在定时时钟作用下,读出放大电路分别对该行存储单元进行一次读出、放大和重写,既进行刷新。只要在刷新时限2ms中对DRAM系统进行逐行选中,就可实现全面刷新。2023/7/1532(3)DRAM的刷新和DRAM控制器(续)为了实现刷新,DRAM控制器具有如下功能:①时序功能:DRAM控制器需要按固定的时序提供行地址选通信号RAS,为此,用一个计数器产生刷新地址,同时用一个刷新定时器产生刷新请求信号,以次启动一个刷新周期,刷新地址和刷新请求信号联合产生行地址选通信号RAS,每刷新一行,又产生下一个行地址选通信号。②地址处理功能:DRAM控制器一方面要在刷新周期中顺序提供行地址,以保证在2ms中使所有的DRAM单元都被刷新一次,另一方面,要用一个多路开关对地址进行切换,因为正常读写时,行地址和列地址来自地址总线,刷新时只有来自刷新地址计数器的行地址而没有列地址,总线地址则被封锁。③仲裁功能:当来自CPU对内存的正常读写请求和来自刷新电路的刷新请求同时出现时,仲裁电路要作出仲裁,原则上,CPU的读写请求优先于刷新请求。内部的“读写和刷新的仲裁和切换”电路一方面会实现仲裁功能,另一方面完成总线地址和刷新地址之间的切换。2023/7/1533(3)DRAM的刷新和DRAM控制器(续)刷新定时器刷新地址计数器控制逻辑电路地址译码和行/列地址切换地址总线控制总线读写地址控制信号读写和刷新的仲裁和切换时序发生器RAS0~RASnCAS0~CASnWE其他信号刷新周期启动刷新请求刷新地址图4.2DRAM控制器的原理图2023/7/15344.1.5只读存储器ROM指在微机系统的在线运行过程中,只能对其进行读操作,而不能进行写操作的一类存储器,在不断发展变化的过程中,也产生了掩模型ROM、可编程只读性PROM、可擦出可编程EPROM、EEPROM、闪烁存储器FLASH等各种不同类型。ROM器件有两个显著的优点:结构简单,所以位密度比可读写存储器高。具有非易失性,所以可靠性高。2023/7/1535。如图4-11所示,是一个简单的4×4位的MOSROM存储阵列,采用单译码方式。这时,有两位地址输入,经译码后,输出四条字选择线,每条字选择线选中一个字,此时位线的输出即为这个字的每一位。此时,若有管子与其相连(如位线1和位线4),则相应的MOS管就导通,这些位线的输出就是低电表平,表示逻辑“0”;而没有管子与其相连的位线(如位线2和位线3),则输出就是高电平,表示逻辑“1”。一、掩膜型ROM

掩膜型ROM中的信息是厂家根据用户给定的程序或数据对芯片掩膜进行二次光刻而决定的。根据制造技术,掩膜型ROM又可分为MOS型和双极性两种。MOS型功耗小,但速度比较慢,微型机系统中用的ROM主要是这种类型。双极性速度比MOS型快,但功耗大,只用在速度较高的系统中。图4-11简单的4×4位的MOSROM存储阵列2023/7/1536

掩膜ROM的存储单元在生产完成之后,其所保存的信息就已经固定下来了,这给使用者带来了不便。为了解决这个矛盾,设计制造了一种可由用户通过简易设备写入信息的ROM器件,即可编程的ROM,又称为PROM。PROM的类型有多种,我们以二极管破坏型PROM为例来说明其存储原理。这种PROM存储器在出厂时,存储体中每条字线和位线的交叉处都是两个反向串联的二极管的PN结,字线与位线之间不导通,此时,意味着该存储器中所有的存储内容均为“1”。如果用户需要写入程序,则要通过专门的PROM写入电路,产生足够大的电流把要写入“1”的那个存储位上的二极管击穿,造成这个PN结短路,只剩下顺向的二极管跨连字线和位线,这时,此位就意味着写入了“1”。读出的操作同掩模ROM。

二、可编程的ROM(PROM)2023/7/1537二、可编程的ROM(PROM)(续)除此之外,还有一种熔丝式PROM,用户编程时,靠专用写入电路产生脉冲电流,来烧断指定的熔丝,以达到写入“1”的目的。对PROM来讲,这个写入的过程称之为固化程序。由于击穿的二极管不能再正常工作,烧断后的熔丝不能再接上,所以这种ROM器件只能固化一次程序,数据写入后,就不能再改变了。2023/7/1538与普通的P沟道增强型MOS电路相似,这种EPROM电路在N型的基片上扩展了两个高浓度的P型区,分别引出源极(S)和漏极(D),在源极与漏极之间有一个由多晶硅做成的栅极,但它是浮空的,被绝缘物SiO2所包围。在芯片制作完成时,每个单元的浮动栅极上都没有电荷,所以管子内没有导电沟道,源极与漏极之间不导电,其相应的等效电路如图4-12(b)所示,此时表示该存储单元保存的信息为“1”。可擦除可编程的ROM又称为EPROM。它的基本存储单元的结构和工作原理如图4-12所示。三、可擦除、可编程的ROM(EPROM)1.基本存储电路

图4-12P沟道EPROM结构示意图2023/7/1539向该单元写入信息“0”:在漏极和源极(即S)之间加上十25v的电压,同时加上编程脉冲信号(宽度约为50ns),所选中的单元在这个电压的作用下,漏极与源极之间被瞬时击穿,就会有电子通过SiO2绝缘层注入到浮动栅。在高压电源去除之后,因为浮动栅被SiO2绝缘层包围,所以注入的电子无泄漏通道,浮动栅为负,就形成了导电沟道,从而使相应单元导通,此时说明将0写入该单元。清除存储单元中所保存的信息:必须用一定波长的紫外光照射浮动栅,使负电荷获取足够的能量,摆脱SiO2的包围,以光电流的形式释放掉,这时,原来存储的信息也就不存在了。由这种存储单元所构成的ROM存储器芯片,在其上方有一个石英玻璃的窗口,紫外线正是通过这个窗口来照射其内部电路而擦除信息的,一般擦除信息需用紫外线照射l5~20分钟。1.基本存储电路(续)

2023/7/1540Intel2716是一种2K×8的EPROM存储器芯片,双列直插式封装,24个引脚,其最基本的存储单元,就是采用如上所述的带有浮动栅的MOS管,其它的典型芯片有Ietel2732/27128/27512等。芯片的内部结构Intel2716存储器芯片的内部结构框图如图所示,其主要组成部分包括:2.EPROM芯片Intel2716(a)引脚分配图(b)内部结构框图•存储阵列:Intel2716存储器芯片的存储阵列由2K×8个带有浮动栅的MOS管构成,共可保存2K×8位二进制信息;•X译码器:又称为行译码器,可对7位行地址进行译码;•Y译码器:又称为列译码器,可对4位列地址进行译码;•输出允许、片选和编程逻辑:实现片选及控制信息的读/写;•数据输出缓冲器:实现对输出数据的缓冲。图4-132023/7/1541Intel2716具有24个引脚,其引脚分配如图4-13(a)所示,各引脚的功能如下:•

Al0~A0:地址信号输入引脚,可寻址芯片的2K个存储单元;•

O7~O0:

双向数据信号输入输出引脚;•

CE:片选信号输入引脚,低电平有效,只有当该引脚转入低电平时,才能对相应的芯片进行操作;•

OE:数据输出允许控制信号引脚,输入,低电平有效,用以允许数据输出;•

Vcc:+5v电源,用于在线的读操作;•

VPP:+25v电源,用于在专用装置上进行写操作;•

GND:地。(2)

芯片的外部结构:2023/7/15423.EPROM芯片Intel2764A12~A0D7~D0PGMCEVppVcc2764引脚含义A12~A0地址输入D7~D0数据CE片选PGM编程Vpp、Vcc电压输入2023/7/1543EPROM在初始状态下,所有的数位均为“1”,写入时,只能将“1”改变为“0”,用紫外线光源抹除时,才能将“0”变为“1”。

EPROM通常有几种工作方式,既读方式、编程方式和校验方式。

读方式就是对已经写入数据的EPROM进行读取,这和一般存储器的读操作一样,Vpp和Vcc接5V电压,当片选信号CE和地址信号有效时,即可实现读操作。

编程方式就是对EPROM进行写操作,此时,Vcc仍加5V电压,Vpp引脚按厂家要求加上21~25V的电压,CE为高电平,从A12~A0端输入要编程的单元的地址,在D7~D0端输入数据,这时,再在PGM端加上5V编程脉冲,便可进行编程。

校验方式总是与编程方式配合使用的,以便在每次写入1个数据字节后,紧接着将写入的数据读出,去检查写入的信息是否正确。在校验方式下,Vpp和Vcc与编程方式时候的接法一样,CE端为低电平,编程脉冲端也是低电平。2023/7/1544四、电可擦除可编程序的ROM(ElectronicErasibleProgrammableROM)EPROM尽管可以擦除后重新编程,但擦除时需用紫外线光源,使用起来仍然不太方便。现在常用一种可用电擦除的可编程的ROM,简称为E2PROM。

E2PROM通常有4种工作方式,即读方式、写方式、字节擦除方式和整体擦除方式。

读方式是E2PROM最常用的工作方式,如同对普通ROM的操作,用来读取其中的信息;写方式,对E2PROM进行编程;字节擦除方式下,可以擦除某个指定的字节;整体擦除方式下,使整片E2PROM中的内容全部擦除。2023/7/1545五、快擦型存储器(F1ashMemory)

快擦型存储器又称闪烁存储器,它是不用电池供电的、高速耐用的非易失性半导体存储器,它以性能好、功耗低、体积小、重量轻等特点活跃于便携机(膝上型、笔记本型等)存储器市场,但价格较贵。快擦型存储器具有EEPROM的特点,又可在计算机内进行擦除和编程,它的读取时间与DRAM相似,而写时间与磁盘驱动器相当。快擦型存储器有5V或12V两种供电方式。对于便携机来讲,用5V电源更为合适。快擦型存储器操作简便,编程、擦除、校验等工作均已编成程序,可由配有快擦型存储器系统的中央处理机予以控制。快擦型存储器可替代EEPROM,在某些应用场合还可取代SRAM,尤其是对于需要配备电池后援的SRAM系统,使用快擦型存储器后可省去电池。快擦型存储器的非易失性和快速读取的特点,能满足固态盘驱动器的要求,同时,可替代便携机中的ROM,以便随时写入最新版本的操作系统。快擦型存储器还可应用于激光打印机、条形码阅读器、各种仪器设备以及计算机的外部设备中。典型的芯片有27F256/28F016/28F020等。2023/7/1546习题与思考:1.试说明存储器系统的主要性能指标。2.存储器的哪一部分用来存储程序指令及像常数和查找表一类的固定不变的信息?哪一部分用来存储经常改变的数据?3.术语“非易失性存储器”是什么意思?PROM和EPROM分别代表什么意思?4.微型计算机中常用的存储器有哪些类型?它们各有何特点?分别适用于哪些场合?5.试比较静态RAM和动态RAM的优缺点,并说明有何种方法可解决掉电时动态RAM6.计算机的电源掉电后再接电时(系统中无掉电保护装置),存储在各类存储器中的信息是否仍能保存?试从各类存储器的基本原理上来分析说明。7.“ROM是只读存储器”这种说法正确吗?正确的说法应该怎样?8.试从ROM器件的发展过程,说明读、写之间的辩证关系。2023/7/15474.1.6

存储器在系统中的连接考虑和使用举例1.存储器和CPU的连接考虑存储器和CPU之间通过地址线、数据线和控制线实现连接时,要考虑如下几个问题。(1)高速CPU和较低速度存储器之间的速度匹配问题。(2)CPU总线的负载能力问题。(3)片选信号和行地址、列地址的产生机制。2023/7/15482.SRAM的使用举例BAOET芯片允许信号逻辑电路地址译码器BAOET写脉冲发生器延迟MRDCMWTCD7~D0D7~D0A19~A14A12A13A11~A0D7~D0WECECE0CE1CE2CE3A11~A0模块选择读写控制8286(2片)82864KX8b静态RAM2023/7/15493.DRAM和DRAM控制器的使用举例2023/7/15501.什么是传统机械按键设计?传统的机械按键设计是需要手动按压按键触动PCBA上的开关按键来实现功能的一种设计方式。传统机械按键设计要点:1.合理的选择按键的类型,尽量选择平头类的按键,以防按键下陷。2.开关按键和塑胶按键设计间隙建议留0.05~0.1mm,以防按键死键。3.要考虑成型工艺,合理计算累积公差,以防按键手感不良。传统机械按键结构层图:按键开关键PCBA2023/7/15522023/7/15534.2微型机系统中存储器的体系结构4.2.1层次化的存储器体系结构

微型计算机系统中,整个存储器体系采用层次化结构。这种层次化结构不但出现在存储器总体结构中,也出现在内存结构中。2023/7/15541.层次化总体结构

层次化:把各种速度不同、容量不同、存储技术也可能不同的存储设备分为几层,通过硬件和管理软件组成一个既有足够大的空间又能保证满足CPU存取速度要求而且价格适中的整体。这样的存储器具有最好的性能价格比。2023/7/15551.层次化总体结构分层结构思想:用Cache、内存和辅存来构成层次式的存储器,按使用频度将数据分为不同的档次分放在不同的存储器中,不同层次的存储器之间可以互相传输。2023/7/15561.层次化总体结构Cache是速度最快的存储器,是静态RAM类型,存取速度和CPU的速度相匹配,但价格也较高,且容量较小。CPU运行过程中,自动将当前要运行的指令和数据装入Cache。Cache的内容是不断更新的,CPU所需要的信息都可以在Cache中找到,只有较少数情况下,CPU需通过访问DRAM来获得当前所要的信息。2023/7/15571.层次化总体结构

内存由DRAM构成,速度比Cache慢,但容量较大。

辅助存储器即外存(如软盘、硬盘和光盘),速度比内存慢得多,但容量比内存大得多。

为了使Cache、内存和辅存构成协调工作的存储体系,采用虚拟存储技术来实现内存和辅存之间的映射,采用高速缓冲技术来实现Cache和内存之间的映射。2023/7/1558图4.7存储器的层次化总体结构CPU寄存器组Cache片内片外内部存储器(DRAMSRAM)辅助存储器(软盘硬盘光盘)CPU芯片中主机系统中外部设备2023/7/15592.内存的分区结构基本内存区00000HA0000H100000HFFFFFH高端内存区640KB扩充内存区384KB扩展内存区2023/7/15602.内存的分区结构(1)基本内存区基本内存区主要供DOS操作系统使用,其中容纳了DOS操作系统、DOS运行需要的系统数据、驱动程序以及中断向量表等。基本内存区为640K,从00000H9FFFFH。用户程序驱动程序DOS系统区DOS数据区中断向量区00000H9FFFFH2023/7/15612.内存的分区结构(2)高端内存区高端内存区留给系统ROM和外部设备的适配卡缓冲区使用。大小为384KB,地址范围为A0000HFFFFFH。A0000HBFFFFH共128KB为显示存储区,对应显示适配器上的VRAM,用来存放显示信息;C0000HDFFFFH共128KB为I/O卡保留区,用作显卡扩展驱动ROM、网卡缓冲区、硬盘控制器缓冲区等;E0000HEFFFFH共64KB为保留区;F0000HFFFFFH共64KB为系统ROMBIOS。2023/7/15622.内存的分区结构(3)扩充内存区利用内存扩充卡来扩大内存空间,现已不使用。(4)扩展内存区指1MB以上但不是通过内存扩充卡映射来获得的内存空间。从100000H开始,32位地址线的可达4GB,36位地址线高达64GB。2023/7/15634.3高速缓冲技术4.3.1Cache概述一、问题的提出微机系统中的内部存储器通常采用动态RAM构成,具有价格低,容量大的特点,但由于动态RAM采用MOS管电容的充放电原理来表示与存储信息,其存取速度相对于CPU的信息处理速度来说较低。这就导致了两者速度的不匹配,也就是说,慢速的存储器限制了高速CPU的性能,影响了微机系统的运行速度,并限制了计算机性能的进一步发挥和提高。高速缓冲存储器就是在这种情况下产生的。2023/7/1564二、存储器访问的局部性微机系统进行信息处理的过程就是执行程序的过程,这时,CPU需要频繁地与内存进行数据交换,包括取指令代码及数据的读写操作。通过对大量典型程序的运行情况分析结果表明,在一个较短的时间内,取指令代码的操作往往集中在存储器逻辑地址空间的很小范围内(因为在多数情况下,指令是顺序执行的,因此指令代码地址的分布就是连续的,再加上循环程序段和子程序段都需要重复执行多次,因此对这些局部存储单元的访问就自然具有时间上集中分布的倾向);数据读写操作的这种集中性倾向虽不如取指令代码那么明显,但对数组的存储和访问以及工作单元的选择也可以使存储器单元相对集中。这种对局部范围的存储器单元的防问比较频繁,而对此范围以外的存储单元访问相对甚少的现象,称为程序访问的局部性。4.3.1Cache概述2023/7/1565三、Cache-主存存储结构及其实现为了解决存储器系统的容量、存取速度及单位成本之间的矛盾,可以采用Cache-主存存储结构,即在主存和CPU之间设置高速缓冲存储器Cache,把正在执行的指令代码单元附近的一部分指令代码或数据从主存装入Cache中,供CPU在一段时间内使用,由于存储器访问的局部性,在一定容量Cache的条件下,我们可以做到使CPU大部分取指令代码及进行数据读写的操作都只要通过访问Cache,而不是访问主存而实现。4.3.1Cache概述2023/7/1566优点:

Cache的读写速度几乎能够与CPU进行匹配,所以微机系统的存取速度可以大大提高;Cache的容量相对主存来说并不是太大,所以整个存储器系统的成本并没有上升很多。采用了Cache-主存存储结构以后,整个存储器系统的容量及单位成本能够主存相当,而存取速度可以与Cache的读写速度相当,这就很好地解决了存储器系统的上述三个方面性能之间的矛盾。4.3.1Cache概述2023/7/1567图4.14Cache系统的框图CPU高速缓存(Cache)高速缓存控制器主存DRAM高速缓存系统2023/7/1568三、Cache-主存存储结构及其实现一个Cache系统包含三个部分:Cache模块,既CPU和较慢速主存之间的SRAM;主存,即较慢速DRAM;Cache控制器,用来对Cache系统进行控制。2023/7/1569图4.15Cache存储系统基本结构

2023/7/1570

在主存—Cache存储体系中,所有的程序代码和数据仍然都存放在主存中,Cache存储器只是在系统运行过程中,动态地存放了主存中的一部分程序块和数据块的副本,这是一种以块为单位的存储方式。块的大小称为“块长”,块长一般取一个主存周期所能调出的信息长度。三、Cache-主存存储结构及其实现2023/7/1571Cache控制器(见图),Cache控制器将来自CPU的数据读写请求,转向Cache存储器,如果数据在Cache中,则CPU对Cache进行读写操作,称为一次命中。命中时,CPU从Cache中读(写)数据。由于Cache速度与CPU速度相匹配,因此不需要插入等待状态,故CPU处于零等待状态,也就是说也就是说CPU与Cache达到了同步,因此,有时称高速缓存为同步Cache;若数据不在Cache中,则CPU对主存操作,称为一次失败。失败时,CPU必须在其总线周期中插入等待周期TW。三、Cache-主存存储结构及其实现2023/7/1572命中率指CPU所要访问的信息在Cache中的比率,相应地将所要访问的信息不在Cache中的比率称为失效率。Cache的命中率除了与Cache的容量有关外,还与Cache的控制算法和Cache的组织方式有关。

目前,Cache存储器容量主要有256KB和512KB等。这些大容量的Cache存储器,使CPU访问Cache的命中率高达90%至99%,大大提高了CPU访问数据的速度,提高了系统的性能。四、Cache-主存存储结构的命中率2023/7/1573CPU内部的Cache与主机板上的Cache就形成两级Cache结构。CPU工作时,首先在第一级Cache(微处理器内的Cache)中查找数据,如果找不到,则在第二级Cache(主机板上的Cache)中查找,若数据在第二级Cache中,Cache控制器在传输数据的同时,修改第一级Cache;如果数据既不在第一级Cache也不在第二级Cache中,Cache控制器则从主存中获取数据,同时将数据提供给CPU并修改两级Cache。两级Cache结构,提高了命中率,加快了处理速度,使CPU对Cache的操作命中率高达98%以上。如图所示给出了主板上Cache存储器系统的基本结构。五、两级Cache-主存存储结构2023/7/15741.读操作当CPU发出读操作命令时,要根据它产生的主存地址分两种情形:一种是需要的数据已在Cache存储器中,那么只需直接访问Cache存储器,从对应单元中读取信息到数据总线;另一种是所需要的数据尚未装入Cache存储器,CPU在从主存读取信息的同时,由Cache替换部件把该地址所在的那块存储内容从主存拷贝到Cache中。Cache存储器中保存的字块是主存相应字块的副本。2.写操作当CPU发出写操作命令时,也要根据它产生的主存地址分两种情形:

其一,命中时,不但要把新的内容写入Cache存储器中,必须同时写入主存,使主存和Cache内容同时修改,保证主存和副本内容一致,这种方法称写直达法或称通过式写(Write-through,简称通写法)。其二,未命中时,许多微机系统只向主存写入信息,而不必同时把这个地址单元所在的主存中的整块内容调入Cache存储器。六、Cache的基本操作2023/7/15754.3.2Cache的组织方式

我们知道,主存与Cache之间的信息交换,是以数据块的形式来进行的,为了把信息从主存调入Cache,必须应用某种函数把主存块映象到Cache块,称作地址映象。当信息按这种映象关系装入Cache后,系统在执行程序时,应将主存地址变换为Cache地址,这个变换过程叫做地址变换(由于Cache的存储空间较小,因此,Cache中的一个存储块要与主存中的若干个存储块相对应,即若干个主存块将映象到同一个Cache块)。根据不同的地址对应方法,地址映象的方式通常有直接映象、全相联映象和组相联映象三种。2023/7/1576

每个主存块映象到Cache中的一个指定块的方式称为直接映象。在直接映象方式下,主存中某一特定存储块只可调入Cache中的一个指定位置,如果主存中另一个存储块也要调入该位置,则将发生冲突。1.直接映象2023/7/15771.直接映象(续)地址映象的方法:将主存块地址对Cache的块号取模,即可得到Cache中的块地址,这相当于将主存的空间按Cache的大小进行分区,每区内相同的块号映象到Cache中相同的块的位置。一般来说,如果Cache被分成2N块,主存被分成同样大小的2M块,

则主存与Cache中块的对应关系如图所示。2023/7/1578直接映象函数可定义为:j=imod2N

其中j是Cache中的块号;i是主存中的块号。在这种映象方式中,主存的第0块,第2N块,第2N+l块,…,只能映象到Cache的第0块,而主存的第1块,第2N十l块,第2N+1十1块,…,只能映象到Cache的第1块,依次类推。例如,一个Cache的大小为2K字,每个块为16字,这样Cache中共有128个块。假设主存的容量是256K字,则共有16384个块。主存的地址码将有18位。在直接映象方式下,主存中的第1~128块映象到Cache中的第1~128块,第129块则映象到Cache中的第1块,第130块映象到Cache中的第2块,依次类推。直接映象函数的优点是实现简单,缺点是不够灵活,尤其是当程序往返访问两个相互冲突的块中的数据时,Cache的命中率将急剧下降。1.直接映象(续)2023/7/1579

如图所示,它允许主存中的每一个字块映象到Cache存储器的任何一个字块位置上,也允许从确实已被占满的Cache存储器中替换出任何一个旧字块当访问一个块中的数据时,块地址要与Cache块表中的所有地址标记进行比较以确定是否命中。在数据块调入时,存在着一个比较复杂的替换策略问题,即决定将数据块调入Cache中什么位置,将Cache中哪一块数据调出到主存。全相联方法块冲突的概率低,Cache的利用率高,是一种最理想的解决方案,但全相联Cache中块表查找的速度慢,由于Cache的速度要求高,因此全部比较和替换策略都要用硬件实现,控制复杂,实现起来也比较困难。2.全相联映象2023/7/1580

组相联映象方式是全相联映象和直接映象的一种折衷方案。这种方法将存储空间分成若干组,各组之间是直接映象,而组内各块之间则是全相联映象。如图所示,在组相联映象方式下,主存中存储块的数据可调入Cache中一个指定组内的任意块中。它是上述两种映象方式的一般形式,如果组的大小为1时就变成了直接映象;如果组的大小为整个Cache的大小时就变成了全相联映象。3.组相联映象2023/7/1581例如,把Cache子块分成2C组,每组包含2R个字块,那么,主存字块MM(i)(0≤i≤2M-1)可以用下列映象函数映象到Cache字块MN(j)(0≤j≤2N-1)上:j=(imod2C)×2R十k(0≤k≤2R-1)例如,设C=3位,R=1位,考虑主存字块15可映象到Cache的哪一个字块中。根据公式,可得:j=(imod2C)×2R十k

=(15mod23)×21十k

=7×2十k

=14十k

又:0≤k≤2R-1=21-1=1

即:k=0或1代入得j=14(k=0)或15(k=1)。所以主存模块15可映象到Cache字块14或15,在第7组。同样可计算出主存字块17可映象到Cache的第0块或第1块,在第1组。组相联映象方法在判断块命中以及替换算法上都要比全相联映象方法简单,块冲突的概率比直接映象方法的低,其命中率介于直接映象和全相联映象方法之间。3.组相联映象(续)2023/7/1582

主存与Cache之间的信息交换,是以存储块的形式来进行的,主存的块长与Cache的块长相同,但由于Cache的存储空间较小,主存的存储空间较大,因此,Cache中的一个存储块要与主存中的若干个存储块相对应,若在调入主存中一个存储块时,Cache中相应的位置已被其它存储块占有,则必须去掉—个旧的字块,让位于一个新的字块。这称为替换策略或替换算法。常用的两种替换策略是:先进先出(FIFO)策略和近期最少使用(LRU)策略。4.替换策略2023/7/1583FIFO(FirstInFirstOut)策略总是把一组中最先调入Cache存储器的字块替换出去,它不需要随时记录各个字块的使用情况,所以实现容易,开销小。(1)先进先出(FIFO)策略2023/7/1584LRU(LeastRecentlyUsed)策略是把一组中近期最少使用的字块替换出去,这种替换策略需随时记录Cache存储器中各个字块的使用情况,以便确定哪个字块是近期最少使用的字块。LRU替换策略的平均命中率比FIFO要高,并且当分组容量加大时,能提高该替换策略的命中率。

(2)近期最少使用(LRU)策略2023/7/1585(2)近期最少使用(LRU)策略(续)LRU实现方法是:把组中各块的使用情况记录在一张表上(如图所示),并把最近使用过的块放在表的最上面,设组内有8个信息块,其地址编号为0,1,…,7。当要求替换时,首先更新7号信息块的内容;如要访问7号信息块,则将7写到表的顶部,其它号向下顺移。接着访问5号信息块,如果此时命中,不需要替换,也要将5移到表的顶部,其它号向下顺移。6号数据块是以后要首先被替换的,……。

2023/7/1586LRU策略的另一种实现方法是:对Cache存储器中的每一个字块都附设一个计数器,记录其被使用的情况。每当Cache中的一块信息被命中时,比命中块计数值低的信息块的计数器均加1,而命中块的计数器则清0。显然,采用这种计数方法,各信息块的计数值总是不相同的。一旦不命中的情况发生时,新信息块就要从主存调入Cache存储器,以替换计数值最大的那片存储区。这时,新信息块的计数值为0,而其余信息块的计数值均加1,从而保证了那些活跃的信息块(即经常被命中或最近被命中的信息块)的计数值要小,而近来越不活跃的信息块的计数值越大。这样,系统就可以根据信息块的计数值来决定先替换谁。(2)近期最少使用(LRU)策略(续)2023/7/15874.3.3Cache的数据更新方法为了保持主存和Cache的数据一致性,有如下三个解决方法。(1)通写式(writethrough)

每当CPU把数据写到Cache中时,Cache控制器会立即把数据写入主存对应位置。优点是简单,缺点是每次Cache内容有更新,就有对主存的写入操作,这样,造成总线活动频繁,系统速度较慢。2023/7/15884.3.3Cache的数据更新方法(续)(2)缓冲通写式(bufferedwritethrough)

这种方式是在主存和Cache之间加一个缓冲器,每当Cache中作数据更新时,也对主存作更新,但是,要写入主存的数据先存在缓冲器中,在CPU进入下一个操作时,缓冲器中的数据写入主存,这样,避免了通写式速度较低的缺点。不过用此方式,缓冲器只能保持一次写入数据,如果有两次连续的写操作,CPU还是要等待。2023/7/15894.3.3Cache的数据更新方法(续)(3)写回式(writeback)

用这种方式时,Cache每一个区块的标记中都要设置一个更新位,CPU对Cache中的一个区块写入后,其更新位置1。当Cache中的区块要被新的主存区块替换时,如更新位为1,则Cache控制器先把Cache现有内容写入主存相应位置,并把更新位清0,再作替换。2023/7/15904.3.4PIII中采用的Cache技术在本节的开头曾提到,为了提高CPU访问存储器的速度,在486和Pentium机中都设计了一定容量的数据Cache和指令Cache(L1),并且还可以使用处理器外部的第二级Cache(L2)。PentiumPro在片内第一级Cache的设计方案中,也分别设置了指令Cache与数据Cache。指令Cache的容量为8kB,采用2路组相联映像方式。数据Cache的容量也为8kB,但采用4路组相联映像方式。它采用了内嵌式或称捆绑式L2Cache,大小为256kB或512kB。此时的L2已经用线路直接连到CPU上,益处之一就是减少了对急剧增多L1Cache的需求。L2Cache还能与CPU同步运行,即当L1Cache不命中时,立刻访问L2Cache,不产生附加延迟。2023/7/15914.3.4PIII中采用的Cache技术(续)PentiumII是PentiumPro的改进型,同样有2级Cache,L1为32kB(指令和数据Cache各16kB)是PentiumPro的两倍,L2为512kB。PentiumII与PentiumPro在L2Cache的不同是由于制作成本的原因。此时,L2Cache已不在内嵌芯片上,而是与CPU通过专用64位高速缓存总线相联,与其它元器件共同被组装在同一基板上,即“单边接触盒”上。2023/7/1592PentiumIII也是基于PentiumPro结构为核心,它具有32kB非锁定L1Cache和512kB非锁定L2Cache。L2可扩充到1~2MB,具有更合理的内存管理,可以有效地对大于L2缓存的数据块进行处理,使CPU、Cache和主存存取更趋合理,提高了系统整体性能。在执行视频回放和访问大型数据库时,高效率的高速缓存管理使PIII避免了对L2Cache的不必要的存取。由于消除了缓冲失败,多媒体和其它对时间敏感的操作性能更高了。对于可缓存的内容,PIII通过预先读取期望的数据到高速缓存里来提高速度,这一特色提高了高速缓存的命中率,减少了存取时间。4.3.4PIII中采用的Cache技术(续)2023/7/1593为进一步发挥Cache的作用,改进内存性能并使之与CPU发展同步来维护系统平衡,一些制造CPU的厂家增加了控制缓存的指令。Intel公司也在PentiumIII处理器中新增加了70条3D及多媒体的SSE指令集,其中有很重要的一组指令是缓存控制指令。AMD公司在K6-2和K6-3中的3DNow多媒体指令中,也有从L1数据Cache中预取最新数据的数据预取指令(Prefetch)。4.3.4PIII中采用的Cache技术(续)2023/7/1594PentiumIII处理器有两类缓存控制指令。一

温馨提示

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

评论

0/150

提交评论