




已阅读5页,还剩39页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第3章存储器系统,本章重点:理解存储器的分类存储器的层次结构:cache、内存、外存。掌握8086存储器的结构:存储器的物理地址,逻辑段概念,物理地址的计算。掌握堆栈与堆栈操作。了解存储器与CPU的连接及存储芯片的扩展。,3.1存储器概述,3.1.1存储器的分类1按存储介质分类(1)半导体存储器(2)磁表面存储器(3)光存储器2按存取方式分类(1)随机存取存储器RAM(RandomAccessMemory)静态随机存取存储器SRAM动态随机存取存储器DRAM(2)只读存储器ROM(ReadOnlyMemory),3.1存储器概述,3按存储器在计算机系统中的作用分类(1)主存储器(2)外存储器(3)高速缓冲存储器(4)CMOS存储器4内存条(DRAM)(1)内存条的分类SIMM(单列直插内存模块):分30线和72线两种。DIMM(双列直插内存模块):分72线和168线。RIMM(高速率直插内存模块):采用184线结构。,3.1存储器概述,(2)主流内存条的类型SDRAM内存条DDRSDRAM内存条RDRAM内存条3.1.2存储器的主要性能指标存储器的主要性能指标包括:存储容量、存取速度、可靠性及性能价格比。,3.1存储器概述,3.1.3存储系统的层次结构为了解决存储容量、存取速度和价格之间的矛盾,通常把各种不同存储容量、不同存取速度的存储器,按一定的体系结构组织起来,形成一个统一整体的存储系统。由高速缓冲存储器、内存储器、外存储器构成的三级存储系统可以分为两个层次,其中高速缓冲存储器和内存间称为Cache-内存层次,内存和外存间称为内存-外存层次。三级存储系统总的效果是:存取速度接近于Cache水平,存储容量非常之大,整个价格也比较合理。其中快存主要为获取速度,使存取速度能和中央处理器的速度相匹配;辅存追求大容量,以满足对计算机的容量要求;内存则介于两者之间,要求其具有适当的容量,能容纳较多的核心软件和用户程序,还要满足系统对速度的要求。,3.28086存储器结构,3.2.1存储器的组织8086/8088系统的存储器空间以字节为单位储存信息。每个存储单元地址由20位二进制数组成,地址从0开始编号,依次增1,为了书写方便,用5位十六进制数表示,其物理地址范围是00000HFFFFFH,且地址码为无符号数。存储器的容量是指存储器所具有的字节数,通常以210=1024B为基本单位,称为1KB。为了表示更大的容量,也使用MB(兆字节),GB(吉字节)等为单位,其中:1KB=210B=1024B1MB=220B=1024KB1GB=230B=1024MB,存储器的内容,存储器的地址,物理地址的形成:取指令:物理地址=CS*24+IP取OP数:物理地址=DS(ES)*24+偏移量堆栈OP:物理地址=SS*24+SP,2.逻辑地址与物理地址,逻辑地址:段地址:偏移地址,如:DS:DAT1,返回本章首页,计算机中信息的单位二进制位Bit:存储一位二进制数:0或1字节Byte:8个二进制位,D7D0字Word:16位,2个字节,D15D0双字DWord:32位,4个字节,D31D0最低有效位LSB:数据的最低位,D0位最高有效位MSB:数据的最高位,对应字节、字、双字分别指D7、D15、D31位,数据的存储格式,低地址,每个存储单元都有一个编号;被称为存储器地址每个存储单元存放一个字节的内容,0002H单元存放有一个数据34H表达为0002H34H,多字节数据存放方式,多字节数据在存储器中占连续的多个存储单元:存放时,低字节存入低地址,高字节存入高地址;表达时,用它的低地址表示多字节数据占据的地址空间。,图2.3中2号“字”单元的内容为:0002H=1234H2号“双字”单元的内容为:0002H=78561234H,80 x86处理器采用“低对低、高对高”的存储形式,被称为“小端方式LittleEndian”。相对应还存在“大端方式BigEndian”。,3.28086存储器结构,计算机通过存储单元的地址来访问其内容的。80868088CPU是16位的微处理器,访问时既可以按字节来操作,也可以按字来处理。一个字(即16位)占据连续的两个存储单元。若将一个字存入存储器,需要遵循“小端方式”的规则,即:一个字占据两个相邻的存储单元。低位字节存入低地址,高位字节存入高地址。字的地址由低字节地址来表示,如字3456H的地址号为20000H。同样,将一个双字存入存储器时,也需要遵循“小端方式”的规则,3.28086存储器结构,3.2.2存储器分段和物理地址的形成1分段方法存储器是计算机的重要组成部分,当要访问某个存储单元时,首先必须获得该单元的物理地址。于8086地址总线为20条,可寻址的最大内存空间为220(1M)字节,其物理地址范围是00000HFFFFFH。在8086中,CPU内部寄存器都是16位,直接寻址能力为216(64KB),地址范围是0000HFFFFH。80868088又把1MB的存储空间划分成若干个逻辑段,逻辑地址由段基址和偏移地址两部分组成。段的起始单元地址叫做段基地址(简称段基址),它为16的整数倍。段基址存放于段寄存器CS,DS,SS,ES中。每个逻辑段有相应的逻辑地址LA(LogicalAddress),表示为:逻辑地址(LA)=段地址:偏移地址(EA)。,存储器的分段管理,8086CPU有20条地址线最大可寻址空间为2201MB物理地址范围从00000HFFFFFH8086CPU将1MB空间分成许多逻辑段(Segment)每个段最大限制为64KB段地址的低4位为0000B这样,一个存储单元除具有一个唯一的物理地址外,还具有多个逻辑地址,物理地址和逻辑地址,对应每个物理存储单元都有一个唯一的20位编号,就是物理地址,从00000HFFFFFH。分段后在用户编程时,采用逻辑地址,形式为段基地址:段内偏移地址,分隔符,逻辑地址,段地址说明逻辑段在主存中的起始位置8086规定段地址必须是模16地址:xxxx0H省略低4位0000B,段地址就可以用16位数据表示,就能用16位段寄存器表达段地址偏移地址说明主存单元距离段起始位置的偏移量每段不超过64KB,偏移地址也可用16位数据表示,物理地址和逻辑地址的转换,将逻辑地址中的段地址左移4位,加上偏移地址就得到20位物理地址一个物理地址可以有多个逻辑地址,逻辑地址1460:100、1380:F00物理地址14700H14700H,段寄存器和逻辑段,8086有4个16位段寄存器CS(代码段)指明代码段的起始地址SS(堆栈段)指明堆栈段的起始地址DS(数据段)指明数据段的起始地址ES(附加段)指明附加段的起始地址每个段寄存器用来确定一个逻辑段的起始地址,每种逻辑段均有各自的用途,各个逻辑段独立,各个逻辑段重叠,1MB空间的分段,1MB空间最多能分成多少个段?每隔16个存储单元就可以开始一个段,所以1MB最多可以有:2201621664K个段1MB空间最少能分成多少个段?每隔64K个存储单元开始一个段,所以1MB最少可以有:22021616个段,3.28086存储器结构,2物理地址的计算80868088CPU中有一个地址加法器,它将段寄存器提供的段地址自动乘以10H(即左移4位),然后与16位的偏移地址相加,并锁存在物理地址锁存器中,如图3.3所示。如逻辑地址0001H:0010H生成物理地址时,将段地址0001H左移4位为00010H,再与偏移地址0010H相加即可得到物理地址00020H。20位的物理地址由16位段地址和16位偏移地址合成。,3.28086存储器结构,物理地址的计算方法如下:物理地址(PA)=段地址10H偏移地址(EA)也就是说,将段地址左移4位再加上偏移地址就形成物理地址。说明:图3.3存储器中的存储单元地址可以使用20位的物理地址表示,也可以使用逻辑地址表示,即使用“段地址:偏移地址”的方式表示。逻辑地址是在程序中使用的,物理地址是由系统转换自动生成的。每个内存单元具有惟一的物理地址,但可以使用不同的逻辑地址来描述,例如0001H:0010H对应唯一的物理地址00020H,但该物理地址又可以由逻辑地址0002:0000H,等来描述。除非专门指定,一般情况下,各段在存储器中的分配由操作系统负责。段的大小由程序决定,因为使用16位偏移地址,所以每个段不能超过64KB,当然也不一定必须等于64KB。16位段地址存放在某个段寄存器中。,3.28086存储器结构,例3.2.3:计算下列逻辑地址对应的物理地址。2017:000AH2010:007AH2410:0031H分析:逻辑地址是以“段地址:偏移地址”的形式表达存储器地址的,而物理地址由如下公式计算得出:物理地址(PA)=段地址16偏移地址(EA)解:物理地址(PA)=2017H10H+000AH=2017AH物理地址(PA)=2010H10H+007AH=2017AH物理地址(PA)=2410H10H+0021H=24121H,3.28086存储器结构,3段的种类8086/088采用分段内存管理机制,允许程序员将程序划分为相对独立的多个段,这些段各有各的用途。80868088主要包括下列4种类型的段:代码段用来存放正在运行的程序的指令序列。数据段用来存放当前运行程序所用到的数据。堆栈段定义作为堆栈使用的内存区域。堆栈是一种数据结构,它开辟了一个以后进先出方式访问的存储区。附加段是附加的数据段,它是一个辅助的数据区。例如:取指令时(CS)=2000H,(IP)=3500H,则被取指令的物理地址=(CS)10H+(IP)=20000H+3500H=23500H。又如:取数时(DS)=1000H,段内偏移地址=1000H,则被取数据的物理地址=(DS)10H+1000H=10000H+1000H=11000H。,3.28086存储器结构,3.2.3堆栈和堆栈操作1堆栈的概念堆栈是在存储器中开辟的一个特殊的存储区域,该区域的一端固定(称为固定端),另一端活动(称为活动端),且只允许数据从活动端进出。堆栈中数据的存取也遵循“先进后出”的原则。我们把堆栈的活动端称为栈顶,固定端称为栈底。堆栈是按先进后出的原则在内存中组织的。80868088的堆栈的伸展方向是从高地址向低地址。80868088的堆栈操作都是字操作。将一个数据压入堆栈称为进栈,进栈时SP自动减2,进栈的字就存放在新增加的两个单元内。把一个数从栈顶弹出称为出栈,出栈时SP自动加2,弹出的字是SP让出的两个单元的内容.,3.28086存储器结构,2堆栈操作它可分为两类操作,分别为进栈和出栈。进栈时是从高地址到低地址,出栈时是从低地址到高地址。进栈操作指令为PUSH,出栈操作为POP,后面章节会详细介绍。(1)进栈把一个数据压入堆栈,称为进栈。将一个数据压入堆栈的过程是:SP先自动减2,指出新的栈顶,然后再将数据入栈。例3.2.5:设AX=1234H,SS=1000H,SP=0040H,将寄存器AX的内容压入堆栈。首先SP-1,将高字节数据12H压入1000FH单元,然后SP再减1,将低字节数据34H压入1000EH单元,操作后SP=100EH。,3.28086存储器结构,(2)出栈将一个数据从栈中弹出,称为出栈。弹出的过程是:将数据从栈顶弹出送相应的寄存器单元,再将SP加2,指示新的栈顶。例3.2.6:将堆栈中字单元数据从堆栈中弹出送寄存器AX中。首先从1000EH单元弹出低字节数据34H到AL,把SP加1指向当前栈顶;然后从1000FH单元弹出高字节数据12H到AH中,再把SP加1指向新的栈顶,操作后SP=10040H。栈的位置由堆栈段寄存器SS和堆栈指示器SP规定。SS负责给出当前堆栈段的基址,SP指示当前堆栈段的栈顶的偏移地址。注意这里的基址,是指SS的内容,而非堆栈的栈底。8086规定:堆栈的操作数字长是16位.,3.28086存储器结构,3.2.4特殊的内存区域8088/8086系统中,有些内存区域的作用是固定的,用户不能随便使用,如:中断矢量区:00000H003FFH共1K字节,用以存放256种中断类型的中断矢量,每个中断矢量占用4个字节,共2564=1024=1K显示缓冲区:B0000HB0F9FH约4000(25802)字节,是单色显示器的显示缓冲区,存放文本方式下,所显示字符的ASC码及属性码;B8000HBBF3FH约16K字节,是彩色显示器的显示缓冲区,存放图形方式下,屏幕显示象素的代码。启动区:FFFF0HFFFFFH共16个单元,用以存放一条无条件转移指令的代码,转移到系统的初始化部分。,3.3存储器与CPU的接口,3.3.1存储器芯片的连接与扩展1.存储器芯片与CPU的连接(1)地址线的连接一般将CPU地址线的低位地址与存储器芯片对应的低位地址相连接。CPU的高位地址线用作存储器芯片扩展,或者其他用途。(2)数据线的连接(3)读/写命令线的连接一般情况下,存储器的读/写命令线可以直接连接到CPU的读/写控制端,通常高电平为读,低电平为写。注意:当CPU和存储器的读、写控制端是分开的,需要单独连接;当CPU和存储器的读、写控制端有一个是分开的,另一个是复用的,则需要设计相应的逻辑电路来连接。(4)片选信号线的连接,3.3存储器与CPU的接口,2.存储器芯片的扩展存储器芯片扩展的方法有以下两种:(1)存储器芯片的位扩充适用场合:存储器芯片的容量满足存储器系统的要求,但其字长小于存储器系统的要求。例3.3.1:用1K4的2114芯片构成lK8的存储器系统。分析:由于每个芯片的容量为1K,故满足存储器系统的容量要求。但由于每个芯片只能提供4位数据,故需用2片这样的芯片,它们分别提供4位数据至系统的数据总线,以满足存储器系统的字长要求。设计要点:将每个芯片的10位地址线按引脚名称一一并联,按次序逐根接至系统地址总线的低10位。数据线则按芯片编号连接,1号芯片的4位数据线依次接至系统数据总线的D0-D3,2号芯片的4位数据线依次接至系统数据总线的D4-D7。两个芯片的端并在一起后接至系统控制总线的存储器写信号(如CPU为8086/8088,也可由和M或IO/的组合来承担)。引脚也分别并联后接至地址译码器的输出,而地址译码器的输入则由系统地址总线的高位来承担。,3.3存储器与CPU的接口,(2)存储器芯片的字扩充适用场合:存储器芯片的字长符合存储器系统的要求,但其容量太小。例3.3.2:用2K8的2716存储器芯片组成8K8的存储器系统。分析:由于每个芯片的字长为8位,故满足存储器系统的字长要求。但由于每个芯片只能提供2K个存储单元,故需用4片这样的芯片,以满足存储器系统的容量要求。设计要点:同位扩充方式相似。先将每个芯片的11位地址线按引脚名称一一并联,然后按次序逐根接至系统地址总线的低11位。将每个芯片的8位数据线依次接至系统数据总线的D0-D7。两个芯片的端并在一起后接至系统控制总线的存储器读信号(这样连接的原因同位扩充方式),它们的引脚分别接至地址译码器的不同输出,地址译码器的输入则由系统地址总线的高位来承担。,3.3存储器与CPU的接口,3.3.2存储器与CPU的连接1.8086CPU的最小模式与静态RAM的连接存储器芯片选用静态RAM6116,这是一个2K8位的存储器芯片。在最小方式连接下,用两片6116构成了2KB的16位数据存储器,8086可以通过软件读取字节、字和双字数据。2、ROM与8086CPU的连接只读存储器与8086系统总线连接,可以实现程序存储器。,3.3存储器与CPU的接口,3、在连接中需要注意的问题(1)CPU总线的负载能力在设计CPU芯片时,一般考虑其输出线的直流负载能力,为带一个TTL负载。现在的存储器一般都为MOS电路,直流负载很小.(2)CPU的时序和存储器的存取速度之间的配合问题CPU在取指和存储器读或写操作时,是有固定时序的,用户要根据这些来确定对存储器存取速度的要求,或在存储器已经确定的情况下,考虑是否需要Tw周期,以及如何实现。(3)存储器的地址分配和片选问题内存通常分为RAM和ROM两大部分,而RAM又分为系统区(即机器的监控程序或操作系统占用的区域)和用户区,用户区又分成数据区和程序区,ROM的分配也类似,所以内存的地址分配是一个重要的问题。(4)控制信号的连接CPU在与存储器交换信息时,通常有以下几个控制信号(对8086来说):/M(IO/),,以及WAIT信号。这些信号如何与存储器要求的控制信号相连,以实现所需的控制功能。,习题,一、选择题1主存和外存相比,其特点是()。A容量大、速度快、成本低B容量大、速度慢、成本高C容量小、速度快、成本低D容量大、速度慢、成本低2存储器的字长是指()。A存放在一个存储单元中的二进制代码组合B存储单元的个数C存放在一个存储单元中的二进制代码个数D寄存器的位数3微型计算机配置高速缓冲存储器是为了解决()。A主机与外设间速度不匹配问题BCPU与辅助存储器间速度不匹配问题C内存储器与辅助存储器间速度不匹配问题DCPU与内存储器间速度不匹配问题4CPU能直接访问的存储器是()。A内存储器B软磁盘存储器C硬磁盘存储器D光盘存储器5下列存储器中,断电后信息不会丢失的是()。ADRAMBSRAMCCacheDROM6SRAM是()。A静态随机存储器B静态只读存储器C动态随机存储器D只读存储器7EPROM是指()。A只读存储器B可编程的只读存储器C可擦除可编程的只读存储器D可电擦除的只读存储器,习题,8在Pentium主板上,Cache存储器的作用是()。A提高硬盘与主存之间的传输速度B提高软盘与主存之间的传输速度C提高CPU与主存之间的传输速度D提高Cache存储器与主存间的传输速度9动态存储器芯片的工作频率按从高到低排列的顺序是()。ASDRAM、DDRSDRAM、RDRAMBRDRAM、DDRSDRAM、SDRAMCDDRSDRAM、SDRAM、RDRAMDRDRAM、SDRAM、DDRSDRAM10.SDRAM内存条的结构是()。ARIMM结构184线,中央有一个缺口BDIMM结构168线,边角有SPD芯片CRIMM结构184线,中央有两个缺口DDIMM结构184线,边缘有一个缺口11.以下对存储器的描述中,错误的为()。AFlashMemory和EEPROM一样是非易失性的存储器B构成存储器子系统时,SRAM比DRAM需要更多的辅助器件CSRAM和DRAM断电后信息都会丢失D.通常SRAM的读/写速度比DRAM高,习题,12.在机器内部操作中,CPU与存储器之间的任何信息交换使用的都是()。A.逻辑地址B.物理地址C.有效地址D.相对地址13.下列叙述中有错误的一条是()。A16根地址线的寻址空间可达1MBB内存储器的存储单元是按字节编址的CCPU中用于存放地址的寄存器称为地址寄存器D地址总线上传送的只能是地址信息14.20根地址线的寻址范围可达()。A512KBB1024KBC640KBD4096KB15.微型计算机中常用的英文词bit的中文意思是()。A计算机字B字节C二进制位D字长16.下列描述中,正确的是()。A1MB=1000BB1MB=1000KBC1MB=1024BD1MB=1024KB17.采用虚拟存储器的目的是()。A提高主存的速度B扩大外存的容量C扩大内存的寻址空间D提高外存的速度,习题,二、填空题1一般微型计算机存储器系统主要由_、高速缓冲存储器、辅助存储器以及管理这些存储器的硬件和软件组成2微型计算机主存储器由半导体存储器_组成。3按功能的不同,内存储器分为_,_,_和_。4高速缓冲存储器是介于_和主存储器之间的一个容量小、但速度接近于_的存储器,一般装在CPU内部。5RAM是一种既能写入又能读出的存储器。RAM只能在电源电压正常时工作,一旦断电则_。6RAM的基本存储单元是双稳态触发器,每一个单元存放一位_信息,所存信息不需进行刷新。7ROM是一种_的存储器,通常用来存放那些固定不变且不需要修改的程序。8EEPROM的外形和管脚分布与EPROM极为相似,它不仅提供了全片擦除功能,还可以以_为单位进行擦除和改写,并且擦、写都在原系统中进行。,习题,9某计算机的主存为3KB,则内存地址寄存器需位就足够了。10.设256KB的SRAM具有8条数据线,则它具有_条地址线。11.虚拟存储器具有辅存的容量,而又具有接近_的存取速度。12.8086CPU可寻址的存储器空间范围是_。13.如果一个堆栈区是从地址1250:0100开始的,(SP)=0052H,试写出相应的地址。SS段的段地址为_;栈顶的逻辑地址为_;栈底的物理地址为_存入字数据后(SP)内容是_。,习题,14.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年生物制药研发与生产委托合同
- 2025年新型环保设备绿色能源循环贷款合同
- 2025年度医疗设备全面维修与备件补充服务合同范本
- 2025年度城市综合体地下停车位使用权转让合同
- 2025年新型环保材料产品采购与分销合同
- 2025年度专业货物搬运与仓储服务标准化合同范本
- 2025年环保材料批量采购合同规范培训与执行手册
- 2025年度卫星发射基地专用变压器升级改造工程合同
- 2025年金融机构信贷风险分析与信用评级服务合同
- 2025年本科高校档案专业招聘考试题型分析及模拟题集锦
- 绿色建筑概论 课件全套 第1-11章 绿色建筑概述-绿色建筑运营与维护
- 骨科护理10分钟小讲课
- 医务人员行为规范
- 小红书管理制度
- 2025年创伤救治理论知识试题及答案
- 光伏电站安全培训
- 留置导尿管术操作流程
- 2024+ESC临床共识声明:肥胖与心血管疾病 课件
- GB/T 35267.4-2025清洗消毒器第4部分:内镜清洗消毒器
- 中职生单招语文必背古诗文(35篇)
- 新版2025心肺复苏术指南
评论
0/150
提交评论