微机原理及接口技术-2._第1页
微机原理及接口技术-2._第2页
微机原理及接口技术-2._第3页
微机原理及接口技术-2._第4页
微机原理及接口技术-2._第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

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

文档简介

1、第一代(第一代(1971197119731973年):年):4 4位和低档位和低档8 8位微处理器时代位微处理器时代第二代(第二代(1973197319781978年):中高档年):中高档8 8位微处理器时代位微处理器时代第三代(第三代(1978197819801980年):年):1616位微处理器时代位微处理器时代第四代(第四代(1983198319931993年):年):3232位微处理器时期位微处理器时期第五代(第五代(1993199319961996):):PentiumPentium微处理器的时代微处理器的时代第六代(第六代(19971997今):加强型今):加强型PentiumPe

2、ntium时代时代 第七代:第七代:6464位位CPUCPU时代时代 典型产品有典型产品有Intel 4004(1971Intel 4004(1971年、年、4 4位位) )和和Intel 8008Intel 8008(19721972年、年、8 8位)。位)。 特点特点: : 1.1.字长:字长:4 4位或位或8 8位位 2.2.时钟频率:时钟频率:1MHz1MHz 3.3.平均执行指令时间:平均执行指令时间:151520s20s Intel 8080Intel 8080、80858085,MotorolaMotorola公司的公司的M6800M6800,ZilogZilog公司的公司的Z8

3、0Z80,RockwellRockwell与与MOS TechnologyMOS Technology的的65026502等等 特点特点: : 1.1.字长:字长:8 8位位 2.2.时钟频率:时钟频率:2 24MHz4MHz 3.3.平均执行指令时间:平均执行指令时间:1 12s2sIntelIntel公司的公司的8086/80888086/8088、8028680286,MotorolaMotorola公司的公司的M68000M68000和和ZilogZilog 公司的公司的Z8000Z8000特点特点: :1.1.字长:字长:1616位位2.2.时钟频率:时钟频率:5 540MHz40M

4、Hz3.3.平均执行指令时间:平均执行指令时间:0.5s0.5s8086/80888086/8088的设计中引入两个重要概念:的设计中引入两个重要概念: 这两个概念在以后升级的Intel系列微处理器中一直被沿用和发展。正是这两个概念的引入,使8086/8088比原来的8位MPU在运行速度、处理能力和对存储空间的访问等性能方面有很大提高。 80286是增强型标准16位微处理器。与8086/8088相比,它结构上的改进和性能上的提高主要体现在4方面:(1)内部有4个独立的可并行操作单元:执行单元(EU)、总线单元(BU)、指令单元(IU)和地址单元(AU),可实现4级流水线作业;(2)地址总线和数

5、据总线完全分开;(3)存储空间有实地址和保护虚拟地址两种工作方式。两者的实地址空间分别为1MB和16MB;(4)在保护方式下,4个段寄存器装入的不再是段基址,而是指向段描述符表中某个段描述符的索引值,称为段选择符。 总之,80286主要是增加了多用户、多任务系统所必需的任务转换、虚拟存储器管理和多种保护功能,不仅提高了运算速度,而且可支持多用户、多任务操作。但其优越性必须在多任务操作系统的支持下才能充分发挥。 19831983年年ZilogZilog公司推出公司推出Z8000Z8000微处理器微处理器 19841984年年MotorolaMotorola公司推出公司推出MC68020MC680

6、20微处理器微处理器 19851985年,年,IntelIntel公司推出能进行多公司推出能进行多 任务处理的任务处理的3232位微处理器位微处理器8038680386 19891989年,年,IntelIntel公司推出公司推出8048680486, 同期有同期有MotorolaMotorola公司的公司的M68040M68040 特点特点: : 1.1.字长:字长:3232位位 2.2.时钟频率:时钟频率:1010120MHz120MHz 3.3.平均执行指令时间:平均执行指令时间:0.2s0.2s 4.4.集成度:几十万集成度:几十万上百万管上百万管/ /片片19931993年年3 3月

7、,月,IntelIntel公司的奔腾(公司的奔腾(PentiumPentium) 时钟频率:时钟频率:60/66MHz60/66MHz 运行速度:运行速度:100MIPS100MIPS 集成度:集成度:310310万管万管/ /片片19951995年年2 2月,月, IntelIntel公司的公司的Pentium ProPentium Pro 时钟频率:时钟频率:166MHz166MHz以上以上 集成度:集成度:550550万管万管/ /片片19961996年年 IntelIntel公司的公司的Pentium MMX Pentium MMX (多能奔腾)(多能奔腾) 1997年到1999年,I

8、ntel公司的Pentium 、Pentium 、AMD公司的AMD-K7,这些芯片的集成度高达750万管/片,时钟频率达到750MHz。 2001年底, Pentium 主频高达2GHz,具有4200万只晶体管,主流高端32位CPU市场的佼佼者。 AMD公司的Athlon CPU,1.33GHz主频及2GHz主频。 20012001年年5 5月,月,IntelIntel公司正式推出了第一种公司正式推出了第一种6464位微处理器位微处理器ItaniumItanium。ItaniumItanium由英特尔和惠普联合开发,主要用于工由英特尔和惠普联合开发,主要用于工作站和服务器机型,内置作站和服务

9、器机型,内置2 24MB4MB的的3 3级缓存、工作频率为级缓存、工作频率为800MHz800MHz及及722MHz722MHz的产品,价格为的产品,价格为11771177美元至美元至44274427美元。美元。 AMDAMD公司的公司的AMD-K8 AMD-K8 代代发表发表年份年份字长字长(bits)(bits)型号型号线宽线宽( ( m)m)晶体管数晶体管数( (万个万个) )时钟频率时钟频率(MHz)(MHz)速度速度(MIPS)(MIPS)一一19711971197219724 48 8400440048008800850500.20.20.30.3110.050.05二二19741

10、9748 88080808020200.50.52-42-40.50.5三三197819781982198216168086/80888086/808880286802862-32-32.92.913.413.44.77-104.77-108-168-161300300七七20022002?6464ItaniumItanium0.130.13CPU:2.5KCPU:2.5KCache:30KCache:30K800(20800(20条指令条指令/ /时钟周期时钟周期) )30003000 8086是16位微处理器,数据总线16位,地址总线20位(寻址范围1M),40脚双列直插组件封装。AHAL

11、BHBLCHCLDHDLAXBXCXDXSPBPSIDIFLAGALU1 2 3 4 5 6暂存器CSDSSSES总线控制逻辑EU控制暂存器指令队列(EU)执行单元(BIU)总线接口单元IPAB20位16位DB16位16位AHALBHBLCHCLDHDLAXBXCXDXSPBPSIDIFLAGALU1 2 3 4 5 6暂存器CSDSSSES总线控制逻辑EU控制暂存器指令队列(EU)执行单元(BIU)总线接口单元IP 形成20位物理地址的加法器 专用寄存器组 4个段寄存器(16位) CS,DS,SS,ES 指令指针寄存器IP (16位) 与EU通讯的内部寄存器 6个字节(8086)指令队列IS

12、Q 总线控制逻辑总线接口单元(BIU)AHALBHBLCHCLDHDLAXBXCXDXSPBPSIDIFLAGALU1 2 3 4 5 6暂存器CSDSSSES总线控制逻辑EU控制暂存器指令队列(EU)执行单元(BIU)总线接口单元IP总线接口单元(BIU) 实现CPU与存储器或I/O口之间的数据传送。具体完成:(1)形成访问存储器的物理地址(2)访问存储器并取指令暂存到指令队列中等待执行(3)访问存储器或IO端口读取操作数参加EU运算或存放运算结果等AHALBHBLCHCLDHDLAXBXCXDXSPBPSIDIFLAGALU1 2 3 4 5 6暂存器CSDSSSES总线控制逻辑EU控制暂

13、存器指令队列(EU)执行单元(BIU)总线接口单元IP执行单元(EU)n算术逻辑单元ALU(16位)n状态标志寄存器FR(16位)n通用寄存器组 4个通用寄存器组(16位) AX,BX,CX,DX 4个专用寄存器组(16位) SP,BP,SI,DI 数据暂存器(16位) nEU控制电路AHALBHBLCHCLDHDLAXBXCXDXSPBPSIDIFLAGALU1 2 3 4 5 6暂存器CSDSSSES总线控制逻辑EU控制暂存器指令队列(EU)执行单元(BIU)总线接口单元IP执行单元(EU) 从BIU指令队列中读取读取指令指令 由EU控制电路对指令指令进行译码译码分析,指出操作性质及对象

14、在EU中计算计算出操作数的16位地址偏移量地址偏移量送给BIU,由BIU的形成20位绝对地址 将取来的操作数操作数经系统数据总线送ALU进行指定操作操作 运算结果运算结果经内部总线送到指定位置 8086 CPU结构: EU和 BIU EU 负责指令的执行。 BIU负责与存储器、I/O端口 传送数据。 8086的指令队列为6个字节。 地址加法器用来产生20位物理地址。 总线接口部件(BIU)和执行部件(EU)按流水线技术原则协调工作,共同完成所要求的信息处理任务。AHALBHBLCHCLDHDLAXBXCXDXSPBPSIDIFLAGALU1 2 3 4 5 6暂存器CSDSSSES总线控制逻辑

15、EU控制暂存器指令队列(EU)执行单元(BIU)总线接口单元IPEU每执行完一条指令,从指令队列队首取指。系统初始化后,指令队列为空,EU等待BIU从内存取指,填充指令队列。 BIU中的指令队列有2个或2个以上字节为空时,BIU自动启动总线周期,取指填充指令队列。直至队列满,进入空闲状态。EU取得指令,译码并执行指令。若指令需要取操作数或存操作结果,需访问存储器或I/O,EU向BIU发出访问总线请求。当BIU接到EU的总线请求,若正忙(正在执行取指总线周期),则必须等待BIU执行完当前的总线周期,方能响应EU请求;若BIU空闲,则立即执行EU申请总线的请求。EU执行转移、调用和返回指令时,若下

16、一条指令不在指令队列中,则队列被自动清除,BIU根据本条指令执行情况重新取指和填充指令队列。AHALBHBLCHCLDHDLAXBXCXDXSPBPSIDIFLAGALU1 2 3 4 5 6暂存器CSDSSSES总线控制逻辑EU控制暂存器指令队列(EU)执行单元(BIU)总线接口单元IPAHALBHBLCHCLDHDLAXBXCXDXSPBPSIDIFLAGALU1 2 3 4 5 6暂存器CSDSSSES总线控制逻辑EU控制暂存器指令队列(EU)执行单元(BIU)总线接口单元IP通用寄存器(数据寄存器和地址指针寄存器)段基址寄存器标志寄存器指令指针寄存器AHALBHBLCHCLDHDLAX

17、BXCXDXSPBPSIDIFLAGALU1 2 3 4 5 6暂存器CSDSSSES总线控制逻辑EU控制暂存器指令队列(EU)执行单元(BIU)总线接口单元IPAHALBHBLCHCLDHDLAXBXCXDXSP 用来存放操作数及中间结果的通用寄存器称为用来存放操作数及中间结果的通用寄存器称为数据寄存器。数据寄存器。 16位寄存器:AX,BX,CX,DX(可以分成两个8位的使用), 8位寄存器:AH,AL,BH,BL,CH,CL,DH,DL有些存储器有特殊功能,如: AX和AL累加器,乘、除法、I/O指令等专用 BX基址寄存器,存放内存的逻辑偏移地址 CX计数寄存器,串指令和移位指令中作计数

18、用 DX和AX组成32位寄存器,进行双字长乘除法运算AHALBHBLCHCLDHDLAXBXCXDXSPBPSIDIFLAGALU1 2 3 4 5 6暂存器CSDSSSES总线控制逻辑EU控制暂存器指令队列(EU)执行单元(BIU)总线接口单元IPDHDLDXSPBPSIDI用来存放存储器或用来存放存储器或I/OI/O端口的地址,经常用以在端口的地址,经常用以在段段内寻址时提供偏移地址内寻址时提供偏移地址。段起始地 址段内偏移地址(BP)=80H 3F80H地址指针寄存器地址指针寄存器SPSP:堆栈指针,指示堆栈段中的栈顶位置BPBP:基址指针,指示堆栈段中一个数据区中的基址位置变址变址寄存

19、器:用于变址寻址寄存器:用于变址寻址SISI:源变址寄存器DIDI:目的变址寄存器变址寄存器具有自动增减量的功能 具体的:在某类指令中,某些通用寄存器有指定的特殊用法,编程时需遵循这些规定,将某些特殊数据放在特定的寄存器中,这样才能正确的执行这些指令。采用“隐含”的方式,能有效地缩短指令代码的长度。AHALBHBLCHCLDHDLAXBXCXDXSPBPSIDIFLAGALU1 2 3 4 5 6暂存器CSDSSSES总线控制逻辑EU控制暂存器指令队列(EU)执行单元(BIU)总线接口单元IPCSDSSSESIP段基址寄存器用于存放段基址寄存器用于存放4 4个当前段的起始地址。个当前段的起始地

20、址。4 4个段为:个段为:CPU规定4个段寄存器(16位)存放当前可寻址的段基址CS (Code Segment Register)存放程序代码段起始地址的高16位;DS (Date Segment Register)存放数据段起始地址的高16位;SS (Stack Segment Register)存放堆栈段起始地址的高16位;ES (Extra Segment Register)存放扩展数据段起始地址的高16位;堆栈段数据段附加段代码段地址寄存器需与段基址寄存器配合使用,才能得到物理地址。AHALBHBLCHCLDHDLAXBXCXDXSPBPSIDIFLAGALU1 2 3 4 5 6暂

21、存器CSDSSSES总线控制逻辑EU控制暂存器指令队列(EU)执行单元(BIU)总线接口单元IPFLAGEU内有一16位状态标志寄存器FR15 14 13 12 11109876543210OF DF IF TF SF ZFAFPFCFOF: 溢出标志位SF: 符号标志位ZF: 零标志位AF: 辅助进位标志PF: 奇偶标志位CF: 进位标志控制标志位状态标志位状态标志位DF:DF:方向标志位方向标志位 (1-递减;0-以递增顺序处理数据串)IF:IF:中断允许位中断允许位(1 - 开中断;0 - 关中断)TF:TF:跟踪标志位跟踪标志位(1 - 单步工作方式,;0 - 正常工作)AHALBHB

22、LCHCLDHDLAXBXCXDXSPBPSIDIFLAGALU1 2 3 4 5 6暂存器CSDSSSES总线控制逻辑EU控制暂存器指令队列(EU)执行单元(BIU)总线接口单元IP IP 始终存有相对于当前指令段起点偏移量的下一条指令,即IP总是指向下一条待执行的指令 。 IP中内容可由BIU自动修改。每取出一个字节指令后,IP自动加1。 可以用转移指令、调用指令及中断和复位等改变IP值。暂存器ESIPDestination Index目目的的变变址址寄寄存存器器SIDIBPSPAX 累累加加器器 AccumulatorBX 基基数数寄寄存存器器BaseCX 计计数数寄寄存存器器Count

23、DX 数数据据寄寄存存器器DataAHBHCHDHALBLCLDLIPPSWDSESSSCS数数据据段段寄寄存存器器Data Segment附附加加段段寄寄存存器器Extra Segment堆堆栈栈段段寄寄存存器器Stack Segment代代码码段段寄寄存存器器Code SegmentProcessor Status Word状状态态标标志志寄寄存存器器Instruction Pointer指指令令指指针针寄寄存存器器变变 址址寄寄存存器器段段寄寄存存器器控控制制寄寄存存器器通通用用寄寄存存器器Source Index源源变变址址寄寄存存器器Base Point基基址址指指针针寄寄存存器器S

24、tack Point堆堆栈栈指指针针寄寄存存器器指指 针针寄寄存存器器数数 据据寄寄存存器器 8086是16位CPU。它采用高性能的N沟道,耗尽型负载的硅栅工艺(HMOS)制造。由于受当时制造工艺的限制,部分管脚采用了分时复用的方式,构成了40条管脚的双列直插式封装 最小工作模式 系统中只有一个8086/8088微处理器,该模式适用于规模较小的微机应用系统 最大工作模式 系统中包含多个为处理器:一个主处理器(8086/8088),两个协处理器(数值运算8087、输入/输出 8089),该模式适用于中、大规模的微机应用系统 8086/8088CPU都有40个引脚,其中32个引脚在两种工作模式下的

25、名称和功能是相同的,还有8个引脚在不同的工作模式下,具有不同的名称和功能。8086/80888086/8088的工作模式完全由硬件决定的工作模式完全由硬件决定AD15AD0(Address Data Bus) 地址/数据复用线,双向三态。在T1周期(地址周期)为低16位地址;在T2T4周期(数据周期)为数据信号。A19/S6A16/S3(Address Status Bus) 地址/状态复用线,三态输出。在T1周期为地址的高4位;在T2T4周期输出状态信息。 S60 CPU占用总线; S5表示中断允许标志位IF; S4S3用以指明当前使用的段寄存器: 00ES,01SS, 10CS,11DS。

26、最小模式下管脚功能数据总线高8位使能和状态复用信号,输出。在总线周期T1周期, 有效,表示数据线上高8位数据有效。在T2T4周期, /S7 输出状态信息S7。S7在8086中未定义。 usnable/StatBus High E/SBHE7最小模式下管脚功能 和A0配合可控制存储器和接口数据传送格式(P29 表2-3)。BHEBHEBHE最小模式下管脚功能 读信号,三态输出,低电平有效,表示CPU正在读存储器或IO端口。 写信号,三态输出,低电平有效,表示CPU正在写存储器或IO端口。 存储器或I/O端口访问信号。三态输出,高电平时,表示CPU正在访问存储器;低电平时,表示CPU正在访问I/O

27、端口。 准备就绪信号。由外部输入,高电平有效,表示CPU访问的存储器或I/O端口己准备好传送数据。当READY无效时,要求CPU插入一个或多个等待周期Tw,直到READY信号有效为止。)(WriteWR(Read)RD)/(/IOMemoryIOMREADY最小模式下管脚功能INTR(Interrupt Request) 中断请求信号(输入),高电平有效,表示外部设备向CPU发出中断请求,CPU在每条指令的最后一个时钟周期对INTR进行测试。 中断响应信号(输出),低电平有效,表示CPU响应了外部发来的INTR信号。NMI (Non-Maskable Interrupt) 非屏蔽中断请求信号(

28、输入),上升沿有效。CPU一旦测试到NMI请求信号,待当前指令执行完会立即进行非屏蔽中断处理。非屏蔽中断请求不受中断标志IF影响;可屏蔽中断请求受中断标志IF影响。 e)Acknowledg (InterruptINTA最小模式下管脚功能 测试信号(输入),低电平有效。使系统脱离等待状态,继续执行被暂停执行的指令。 RESET 复位引脚(输入),高电平有效(时长4个时钟周期), CSFFFFH,其它寄存器和指令队列清零。 ALE (Address Latch Enable) 地址锁存使能信号(三态输出),高电平有效。做为地址锁存器的锁存控制信号,实现地址/数据复用线分离。 数据接收/发送(三态

29、输出),高电平为CPU向存储器/IO发送数据。 数据使能信号(三态输出),低电平有效。当地址/数据复用线传输数据信号时,做为数据收发器的控制信号。eceive)Transmit/R (Data/RDTTESTEnable) (DataDEN最小模式下管脚功能 HOLD (Hold Request) 总线请求信号(输入),高电平有效,向CPU请求使用总线。 HLDA (Hold Acknowledge) 总线保持响应信号(输出),高电平有效。 最小/最大模式设置引脚(输入), 接高电平时,CPU工作于最小模式下;接地时,CPU工作于最大模式下 。 CLK (clock) 时钟引脚(输入),占空比

30、33。 VCC 、GND 电源和接地引脚(输入), 8086/8088 CPU采用单一的+5V电源,但有两个接地引脚。)control mode aximum(Minimum/M/MXMN最小工作模式最小工作模式 1 1最大工作模式最大工作模式 0 024 中断响应信号(O)QS1 指令队列状态信号(O)25 ALEALE地址锁存允许信号(O)QS0 指令队列状态信号(O)26 数据允许信号(O) 总线周期状态信号(O)27 数据收发(O) 总线周期状态信号(O)28 存储器/IO控制信号(O) 总线周期状态信号(O)29 写信号(O) 总线封锁信号(O)30 HOLDHOLD 总线保持请求信

31、号(I) 总线请求(I)/请求允许信号(O) 31 HLDAHLDA 总线保持响应信号(O) 总线请求(I)/请求允许信号(O)MXMN/MXMN/INTADENRDT/IOM/WR0S1S2SLOCK1/GTRQ0/GTRQ最大模式下8个不同的管脚功能 任何一台计算机都是在一个统一的时钟信号控制下有规律的周期性的工作,并且需要精确的定时。时钟的脉冲信号一般由外部振荡器产生的。 由于各种指令功能不同,所占用的字节数不同,操作过程不同,故执行的状态和所用的时间也就有所不同。 一般的周期状态分为三种:时钟周期、总钱周期和指令周期。1. 时钟周期 时钟周期是两个时钟脉忡信号前沿之间的间隔,用T表示,

32、又称T状态。它取决于系统主频,是CPU的基本时间计量单位,也就是CPU完成一个微操作所需的时间。2. 总线周期 CPU完成个基本操作所用的时间。如:存储器读/写总线周期、I/O读总线周期、复位周期等。3. 指令周期 执行一条指令所需的时间。一条指令可分为:取指令周期和执行指令周期。Tw空闲周期用于等待内存或IO接口的响应时钟周期总线周期总线周期指令周期CLKT1T2T3Tw(1n)T4T1T2T3Tw(1n)T4*最小模式来自CPU,最大模式来自8288总线控制器地址输出地址输出 状态输出状态输出T1T2T3Tw(1n)T4CLKCLKM/IO(IO/M)M/IO(IO/M)A A1919/S

33、/S6 6BHE/SBHE/S7 7A A1616/S/S3 3ADAD1515ADAD0 0* *读信号读信号RDRD* *地址锁存地址锁存ALEALE* *数据允许数据允许DENDEN* *数据数据DT/RDT/R高读内存高读内存 低读低读IOIOBHEBHE输出输出地址输出地址输出 数据输入数据输入地址输出地址输出 状态输出状态输出T1T2T3Tw(1n)T4CLKCLKM/IO(IO/M)M/IO(IO/M)A A1919/S/S6 6BHE/SBHE/S7 7A A1616/S/S3 3ADAD1515ADAD0 0* *写信号写信号RDRD* *地址锁存地址锁存ALEALE* *数

34、据允许数据允许DENDEN* *数据数据DT/RDT/R高读内存高读内存 低读低读IOIOBHEBHE输出输出地址输出地址输出 数据输出数据输出*最小模式来自CPU,最大模式来自8288总线控制器CLKCLKRESETRESET内部内部RESETRESET三态输出三态输出( (地址及数据总线地址及数据总线) )浮空浮空T1T2T3TiT4T1T2T3T4TiTiCLKCLKALEALEINTAINTAADAD1515ADAD0 0中断类型码中断类型码8086系统中系统中3个个8088系统中没有系统中没有ADAD1515ADAD0 0ADAD1919/S/S6 6ADAD1616/S/S3 3R

35、D,WR,INTA,M/IORD,WR,INTA,M/IODEN,DT/RDEN,DT/RCLKCLKRQ/GTRQ/GT悬浮状态悬浮状态ADAD1515ADAD0 0ADAD1919/S/S6 6ADAD1616/S/S3 3RD,WR,INTA,M/IORD,WR,INTA,M/IODEN,DT/RDEN,DT/RT T4 4或或T Ti i外部请求外部请求允许允许释放释放释放后至少释放后至少2 2个个T T才有效才有效GTGTRQRQCLKCLKHOLD(HOLD(请求请求) )HLDA(HLDA(应答应答) )浮空浮空CPUCPU出让总线控制权出让总线控制权T4或下一个T12个T状态

36、2个T状态 8086/8088 微处理器只工作在实模式下,在此模式下微处理器仅可寻址1M字节存储空间(即使Pentium微处理器也一样),并且存储空间是按照分段管理的。其: 可使指令系统中的大部分指令只涉及16位地址,减少了指令长度,提高了程序运行的速度。也就是说尽管8086的存储空间有1M字节,但在程序执行过程中,一般只在一个较小的存储空间运行,段寄存器的值很少改变。 内存分段为程序的浮动装配创造了条件。 80286 以上的微处理器开始引入了一种新的所谓受保护的虚地址寻址方式,简称保护虚地址方式或保护模式。 80286 以上的微处理器既可以工作在实模式下,也可以工作在保护模式下。在实模式下对

37、存储器进行分段管理,而在保护模式下对存储器按照分页管理。 8086/8088所管理的存储器,所有的数据以字节形式存放在存储单元中,每一个单元均有一个唯一的20位地址,称为物理地址。 在程序中8086/8088对存储器采用分段描述,即将整个存储区划分很多的段,每段的大小64KB,各段之间可以是紧密连接、部分重叠、完全重叠、或各不相关。 每个存储单元一定在某一段中,且距离该段的起始单元有一个偏移量。所以,在指令中对存储单元的描述需用两个16位参数(段基值:偏移量),称为逻辑地址。物理地址:XXXXXH段基址:偏移量偏移量段基址2:0000段基址:偏移量偏移量段基址1:0000 80 x86工作在实

38、模式下,存储器是分段管理的,每个存储单元都有两种地址:物理地址 由20位二进制数组成,范围是00000HFFFFFH。CPU与存储器之间的任何信息交换都是使用物理地址,它是唯一的。逻辑地址 是由段基值和偏移量两部分组成,它们都是无符号16位二进制数。段基值表示存储单元所在段在内存中的位置,偏移量表示存储单元在段中的位置。 逻辑地址不是唯一的。16位段基值 000016位偏移量20位单元地址逻辑地址不是唯一的物理地址唯一的 存储器虽然是由字节组成的,但任何两个相邻字节都可以构成一个字,占两个地址,低8位存在较小的地址单元中,而高8位存在较大的地址单元中,用较小的地址作为这个字单元的地址。例:56

39、H34H12H092345H092346H092347H作为字节地址:092345H表示存储内容为:56H的字节作为字地址:092345H表示存储内容为:3456H的字 由于8088只有8位外部数据总统,因此在传输字数据时需要两个总线周期,先传输低字节,再传输高宇节。 对于8086有16位外部数据总统,可以一次传输两个字节数据。但是,为了能使8086即可传输8位数据,又可传输16位数据,8086存储器的1M空间由奇存储体(奇地址存储体)和偶存储体(偶地址存储体)两块存储体组成。两块存储体分别用BHE和A0控制,两存储体可同时传输数据,实现传输16位数据的目的,也可以只一块存储体传输8位数据。1

40、、当字节操作时,若该字节地址为偶数,则在读/写操作周期中,低8位DB传送数据,高8位DB空闲;若该字节地址为奇数,则在读/写操作周期中,低8位DB空闲,高8位DB传送数据。2、对于偶地址字操作时,在一个读/写周期内,低8位DB传送低宇节,高8位DB传送高字节。3、对于奇地址字操作时,须由两个读/写周期完成:第1个周期低8位DB空闲,高8位DB传送低字节;第2个周期低8位DB传送高字节,高8位DB空闲。从上面的情况可以知道数据的不同形式,所处位置不同占用总线周期个数不同,也就是所用T状态个数不同,即执行指令的时间长短就不同。所以我们知道不同指令或数据在存储器中存放位置不同执行时间也有所不同。 保

41、护模式存储器寻址(80286以上的CPU)允许访问装在第一个1M字节以外的数据和程序,就象访问第一个1M字节以内的存储器一样。寻址这个扩展的存储段,需要更改用于实模式存储器寻址的段加偏移寻址方案。 在保护模式下,当寻址扩展存储器里的数据和程序时,将采用线性地址:在放置段地址的段寄存器里存有一个选择符,用来选择一个描述表中的描述符位置。描述符描述了存储器的位置、长度和访问权限。此描述表是由操作系统使用的各任务公用的段描述符放在一起构成全局描述符表GDT或是某个任务专用的段描述符放在一起构成局部描述符表LDT。 因为段加偏移地址仍然访问第一个1M字节内存储器的数据,保护模式指令和实模式指令是完全相

42、同的。事实上,很多在实模式下运行的程序,在保护模式下,不用更改也能运行。 80386以后的微处理器对存储器一般采用分页机制进行管理。分页机制允许把任何物理存储单元分配给任何线性地址,而线性地址就是由程序产生的地址。以存储器分页为单位,线性地址将转换为物理地址。这就使得为在特定的地址上运行而编写的应用程序可以通过分页机制重新定位。它也允许把存储器放在根本不存在的地方,从而实现虚拟存储。 分页由处理器的控制寄存器CRO CR4的内容来控制。M MC CE E P PS SE ED DE ET TS SD DP PV VI IV VM ME EP PC CD DP PW WT TP PG GC CD DN NW WA AM MW WP PN NE EE ET TT TS SE EM MM MP P31 12 11 0CR4 CR3CR2CR1CR0 堆栈是一个特定的存储区,可将存储区的任一位置划为堆栈。堆栈一端是固定的,另一端是活动的。所有堆栈的存取活动都在活动的一端进行。栈底做为堆栈的存储区的最大 地址单元为栈底。 (固定不变的一端)栈顶已存放数据的最小地址 单元为栈顶。栈顶是浮 动的,随栈内数据的多 少而变化。栈指针始终指向堆栈顶端的

温馨提示

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

评论

0/150

提交评论