《内存管理与映像接口课件.ppt》由会员分享,可在线阅读,更多相关《内存管理与映像接口课件.ppt(61页珍藏版)》请在三一办公上搜索。
1、2023年3月,第四章 内存管理与映像接口,在PC机中,CPU对其部件的访问分为两类一种是前面已介绍过的I/O端口寻址方式,它完全为PC机系统输入/输出设备服务另一种访问方法就是存储器寻址,主要用于CPU对系统内存的管理,也可用作对系统的输入/输出接口管理,2023年3月,X86的三种工作模式及寻址原理,最早的8088CPU是准16位微处理器,其最大的寻址空间为1M字节操作系统是DOS,因此DOS下的应用软件的寻址和处理方式必须符合8088的标准为解决CPU性能的发展与兼容性之间的矛盾,CPU有三种工作模式实地址模式保护模式仿86模式,2023年3月,一、实地址模式,实地址模式和8086/80
2、88的寻址方式是一样的,但运行速度更快,内存配置更大些。用户在8086/8088上运行的程序可以不做任何修改直接在实地址模式下运行开机启动时,CPU自动进入实地址模式用户可以一直运行在实模式,也可以通过软件指令切换到保护模式在实模式下,X86仍使用CSIP指示指令地址,每段仍为64K,寻址空间为1MB+64KB-16B,2023年3月,实地址模式存储器空间,在8086/8088中,利用段寻址可实现的最大范围为0000H0000H-FFFFHFFFFH如果把段左移4位加上偏置,寻址范围为00000H-10FFEFH,该范围为1MB+64KB-16B8086/8088地址空间被限制在220=1M字
3、节80386以上CPU有32位地址线,只要在实模式下把A20开通,就可以实现上述范围的寻址,2023年3月,实地址模式I/O空间,实模式下,80X86与8086/8088有相同的I/O空间,仍为64KB,0000H-FFFFH这些端口地址可以直接被I/O指令所访问,2023年3月,二、保护模式,在保护模式下,能利用其全部的地址线参与寻址,并能满足多用户、多任务操作系统的要求CPU寻址内存时,首先要满足保护规则,然后才能进行寻址访问权限是指分配给每个任务的一定内存资源和读写限制保护规则的含义是指寻址时超越了这些权限的话,CPU将拒绝执行这次寻址,并产生中断以告警。,2023年3月,保护规则是对个
4、别段所采取的措施在保护模式下,段通过转换才能存取在转换的过程中要经过一层筛选以防止错误的寻址,2023年3月,实地址模式如何切换到保护模式,X86增加了CR0,CR1,CR2和CR3四个控制寄存器CR0的第0位称为PE位(保护激活位)在实模式下,PE位置0当PE位置1时,系统进入保护模式PE位可以通过指令来改变,2023年3月,存储器分页管理,当CR0的PG位被置为1后,其寻址方式就进入分页管理这时CPU将32位地址线所管理的4GB线性地址空间分成1048576个页面,每个页面占用4KB其目的主要是为了采用虚拟内存技术,2023年3月,虚拟内存技术,虚拟内存不是由内存芯片组成,而是把数据存在外
5、部存储器中(如硬盘)需要用时再把数据转移到真正的内存中这样可以极低的价格获取大量存储空间,2023年3月,保护模式下的四个新寄存器,全局描述符表寄存器GDTR(48位)局部描述符表寄存器LDTR(16位)中断描述符表寄存器IDTR(48位)任务寄存器TR(16位)另外,EAX、EBX、ESP等扩展为32位,2023年3月,描述符表,在内存中设置一个区域存放描述符,从而构成描述符表每个描述符占8个连续字节,用来描述一段内存基地址及访问权限描述符寄存器则指明了对应描述符表的所在内存地址CPU在保护模式下的寻址是通过描述符和对应的偏置来完成的386以上CPU的每个任务都划分一定的内存资源,2023年
6、3月,在保护模式下,段寄存器(如CS,DS,ES等)高13位表示地址偏置第三位是一个全局或局部任务标志位TI如TI=0表示这次寻址是一次全局任务寻址由GDTR与段寄存器高13位偏置一起找到全局描述符表GDT中的一个描述符再加上某偏置寄存器如EIP中的偏置完成寻址任务当TI=1时表示是一次局部任务寻址这时必须用LDTR、GDTR与CS一起找到局部描述符再与EIP一起完成寻址,2023年3月,保护模式下全局或局部任务寻址,2023年3月,保护模式下的寻址空间,逻辑地址由段寄存器(如CS)和逻辑偏移量(如EIP)组成段寄存器有16位,其中有效寻址位是高14位,而逻辑偏移量有32位故每个任务所拥有的逻
7、辑地址空间为232214=246,即64TB,2023年3月,任务寄存器,其内容是当前任务的选择符,间接指示出任务的任务状态段TSS,主要用于任务切换功能每一个任务都有一个任务状态段TSS在全局描述符表GDT中保留有每个任务的TSS描述符而TSS描述符包括了对应TSS的基地址和表长通过任务寄存器和当前的GDTR可选择一个TSS描述符任务状态段中保留有与这个任务相关的外部环境和内部数据,2023年3月,三、仿86模式,CPU对存储器的寻址是不用描述符的,这点它与实模式相同将段寄存器内容左移4位与偏移量一起生成21位线性地址在仿86模式下每个任务的最大寻址空间是1MB多一点,2023年3月,三种模
8、式的切换,2023年3月,DOS下的内存管理,微机内存分为四类:基本内存保留内存扩充内存扩展内存,2023年3月,微机内存,1、基本内存是指8086/8088或286以上CPU在实模式下所能寻址的0-640KB范围内的存储器2、扩充内存占用640KB-1024KB之间的一些地址空间,是对基本内存的扩充,可管理1MB以上,可在8086或实模式下管理和访问3、扩展内存占用1MB以上的地址空间,也是对基本内存的扩充,只能在保护模式下,才能访问和管理,2023年3月,扩充内存,系统BIOS、显示缓存、接口卡等占用了640KB-1MB的大部分,为了能用有限的地址空间管理更大的内存而提出扩充内存最早以内存
9、卡的形式出现,采用分页管理的方法微机只分配一个页的地址空间给扩充内存,CPU在某时刻只能对其中某一页进行直接存取,访问其他页时,必须通过换页机制,2023年3月,EMS(扩充内存)规范,操作系统通过实际寻址的“物理页”与间接存取的“逻辑页”对扩充内存进行管理每一个物理页为16KB,4个页构成一个页框,一般在640KB-1MB区间内的连续64K(4.0的页间地址可以不连续)CPU能直接寻址的只是页框范围内的物理页空间,2023年3月,XMS(扩展内存)标准,XMS定义了三个区域高端存储区HMA高端存储块UMB扩展存储块EMB,2023年3月,UMB高端内存块,位于640KB-1MB的一些存储器由
10、于这部分内存在640KB以上,故称为高端内存(Upper Memory)内存不一定是连续的,可能有好几个块EMM 386程序建立UMB,2023年3月,HMA高端内存区,是指1MB以后的第一个64KB的扩展内存与其他扩展内存不同,该区域可以被实模式下的指令直接寻址但8086/8088只有20根地址线,因此被忽视掉,2023年3月,Windows内存管理及接口设计,Windows 95/98特点混合有16位段和32位码段可以运行MS-DOS,WIN16,WIN32,应用程序多任务和多线程先进的抢先式多任务处理功能32位文件系统虚拟设备驱动程序(VXD)其他特点即插即用(PNP)完善的对象连接嵌入
11、(OLE)长文件名内嵌的网络功能,2023年3月,Windows 95的内存管理特点,基于页面的内存管理为每个任务划分自己独立的地址空间,使其表现出很强的保护特性,2023年3月,扩展存储器接口的几种方法,第一种是将扩展存储器当作外设,由I/O端口或DMA访问此时应由接口板自设置扩展存储器地址指针,这个地址指针可以由一个计数器来实现第二种是存储器至存储器的DMA传送第三种方法是将扩展存储器直接映像为主存储器的一部分将扩展存储器当作系统主存储器的一部分所有能够访问主存储器的指令也以同样的方式访问扩展存储器,2023年3月,内存直接映像技术,内存直接映像:将扩展存储器的地址映像到系统地址空间之内未
12、被占用的区域,因此可以作为系统存储器的一部分直接使用PC系统的0C0000H-0DFFFFH这段区域可作内存空间的映像,2023年3月,PC/AT内存分配,2023年3月,基于ISA总线的内存直接映像,用ISA总线进行内存直接映像设计时,通常要使用的信号A0-A19:提供存储器地址ALE:下降沿处A0-A19被锁存/MEMCS16:16位存储器片选信号/SMEMR:存储器读信号/SMEMW:存储器写信号I/O CHRDY:I/O通道准备就绪信号,2023年3月,内存直接映像的读写控制方式,系统总线控制读写主机控制写,外设控制读主机控制读,外设控制写混合结构,2023年3月,系统总线控制读写,对
13、主机存储容量的扩充,用于存储器的扩充接口卡,2023年3月,主机写外设读,可以产生任意函数波形主机将函数的抽样值写入映像存储器计数器读出函数值并送入D/A,2023年3月,主机读外设写,这种结构与主机写外设读类似,仅仅数据传送方向相反,因此只要把/MEMW改为/MEMR便可可用于高速数据采集系统,2023年3月,混合结构,存储器既可以由主机控制读写,也可由外设控制读写当同时申请读写时,电路需要仲裁带处理器的图形控制卡是一个典型的混合结构,2023年3月,SRAM接口设计,SRAM的引脚信号地址线A0-An-1,可访问2n个存储单元数据输入/输出线I/O,每个存储单元有M位数据控制线片选控制/C
14、E或/CS写控制/WE输出允许/OESRAM有6116、6264、62256、62512等,2023年3月,SRAM 6264的引脚图,2023年3月,SRAM 6264的读时序,2023年3月,SRAM 6264的写时序,2023年3月,主机写外设读的内存映像接口电路,2023年3月,ROM接口设计,ROM引脚与SRAM类似分为地址线、数据线和控制线ROM为读操作,一般用于存储程序,2023年3月,微机图形显示接口,系统ROM BIOS提供了INT 10H的中断服务程序,其中有许多子功能。但并没有包含适合任何图形的INT 10H图形显示接口卡都带有ROM,ROM中固化了该图形显示卡的驱动程序
15、,当主机启动时,这些程序自动连接于系统中在调用INT 10H时,实际上就是调用这些程序与图形显示卡硬件来打交道而ROM BIOS中的仅是用户和这些驱动程序的接口而已,2023年3月,防病毒卡,防病毒卡包含有存放病毒检测程序的ROM主机启动时可以将病毒检测程序接入程序中,从而在BIOS上建立一个监测和防护外壳其优先级高于磁盘中任何可执行程序和任何微机病毒,2023年3月,接口卡固化程序的接入,ROM BIOS为接口板上的扩展ROM程序进入系统提供了简便的接口方法主机启动时,BIOS设置中断向量,并对扩展的ROM模块进行扫描接口卡上的ROM程序通过中断可以获得控制权寻找接口板上有效的扩展ROM,对
16、C8000H E0000H以2K为单位进行扫描,寻找ROM块,2023年3月,接口板的有效ROM块定义格式,字节0:55H字节1:AAH字节2:长度指示器 n用来表示ROM中以512个字节为一块的信息块的个数,即长度为 n512为测试ROM模块的完整性,在被定义的ROM中,将每一个字节按模100H求和求和为0时,才认为该模块有效,校验结果放在该模块的最后一个字节中字节3:执行程序的远调用入口,2023年3月,扩展ROM中的信息格式,2023年3月,接口板ROM程序的组成,第一部分是中断向量加载和一些初始化工作第二部分是有关的功能调用开机时,自动完成功能调用程序的入口地址加载和初始化,2023年
17、3月,接口板ROM的执行,当ROM BIOS找到有效的ROM块时,对ROM的字节3作远调用接口板执行其加电初始化程序,最后执行返回指令控制权还给ROM BIOS,完成系统的启动,2023年3月,新型存储器,FIFO存储器闪速存储器双端口RAM等,2023年3月,FIFO存储器,FIFO有两个端口(输入口和输出口),并按先进先出的顺序来暂时存放数据写入FIFO的第一个字将是输出口被读出的第一个字输入口和输出口的工作彼此是独立的当FIFO存满数据的时候,它就会阻止继续写入数据当FIFO中所有的数据被读完时,它就会禁止继续读出数据,2023年3月,AM7205A FIFO简介,是一个81929位的双
18、端口静态RAM阵列AM7205A按先进先出的次序写入或读出数据写和读操作可以独立地不同步地同时进行提供了状态标志信号来指示FIFO的状态读写地址指针在达到地址8191之后会自动溢出到地址0FIFO复位时,读和写地址指针初始化到地址0,2023年3月,AM7205A FIFO方框图,2023年3月,AM7205A引脚图,2023年3月,闪速存储器,具有可靠的非易失性、电擦除性以及低成本具有随机存取的特点具有的EPROM基本结构特性,2023年3月,28F256A闪速存储器内部结构,2023年3月,28F256A闪速存储器引脚图,2023年3月,28F256A的主要电气特性,快速电擦除:整片擦除时间典型值为1s快速脉冲编程算法:10s标准字节编程编程电压:12V5%高性能读操作:120ns最长访问时间CMOS低功耗:10mA正常工作电流;50A等待电流闪速非易失工艺抗干扰特性,2023年3月,三、双端口RAM IDT7130框图,2023年3月,25IDT7130引脚图,2023年3月,IDT7130主要电气特性,高速存取速度:20/25/35/55/100ns低功耗:工作:550mW,等待:5mW可进行数据总线宽度扩展可完全异步操作单电压:+5V10%TTL电平,