《接口第3次课_第7章80X86微处理器和多任务机制.ppt》由会员分享,可在线阅读,更多相关《接口第3次课_第7章80X86微处理器和多任务机制.ppt(29页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、80 x8680 x86微处理器及多任务机微处理器及多任务机制制Chapter 7Part 1 概述Part 2 80486的寄存器组织Part 3 80486的外部引脚功能Part 4 80486的存储器管理Part 5 多任务及保护Part 6 80 x86的寻址方式及指令系统内容(内容(OutlineOutline)自从Intel公司发布第一片32位微处理器至今,32微机经历了80386、80486、Pentium系列微处理器多代产品,把不断更新的技术融入到CPU中,并将个人计算机应用推向一个崭新的阶段。本章将以80486为模型机,介绍32位CPU的编程结构原理,32位微处理器的虚拟存储
2、技术,以及多任务的工作机制。概述概述8086是16位微处理器的代表。80386是一个划时代的处理器,标志32位微机时代的开始。采用了32位地址总线和32位数据总线对存储器管理不再全部依赖操作系统软件,而将存储器管理的复杂功能采用CPU内部集成的硬件硬件解决。保持向下兼容(与8086),但速度更快。实模式实模式与8086的工作模式相同,单任务工作模式,可寻址1MB地址空间(地址总线A19A0),数据总线为32位,与地址线独立使用。保护模式保护模式(也叫“保护虚拟地址模式”)286保护模式(与286的保护模式兼容)386保护模式。支持多任务保护,操作数和段内偏移地址为32位,地址空间为232,即4
3、GB。8038680386对386作了许多改进并在Pentium保持了兼容:内置的浮点部件,而且指令速度更快。内置8KB的片内高速缓存,提高了内存访问的速度和效率。改进了内部的ROM控制结构,使指令执行具有更高的速度和效率。增加了指令队列的长度。改进了总线接口部件的硬件结构。8048680486与486的全兼容,又作了以下改进:采用超标量流水线技术全新设计的浮点处理部件,功能更强,速度更快,且可与整数流水执行结构并行工作。内置2个8KB的片内Cache,分别作为指令缓存和数据缓存。PentiumPentiumPentiumPentium ProPentium IIPentium IIIPent
4、ium IV.每一次更新都融入了新的技术和改良。目前流行的虚拟存储机制、多任务保护机制。是32位以上的处理器所特有的。.Part 1 概述Part 2 80486的寄存器组织Part 3 80486的外部引脚功能Part 4 80486的存储器管理Part 5 多任务及保护Part 6 80 x86的寻址方式及指令系统内容(内容(OutlineOutline)基本体系结构寄存器通用寄存器,段寄存器,指令指针和标志寄存器。系统级寄存器控制寄存器和系统地址寄存器。浮点寄存器,在浮点部件中浮点数据寄存器,标志寄存器、状态寄存器、指令和数据指针调试和测试寄存器8个调试寄存器,5个测试寄存器。80486
5、80486的寄存器结构的寄存器结构基本体系结构寄存器基本体系结构寄存器8个32位通用寄存器:EAX,EBX,ECX,EDX,ESI,EDI,ESP,EBP低16位仍可独立地使用(AX,BX,CX,DX,SI,DI,SP和BP)。低16位的两个8位寄存器也可独立使用。基本体系结构寄存器基本体系结构寄存器指令指针 EIP32位指令地址寄存器,EIP 的低16位是IP,IP 可用于16位偏移量寻址的情况。标志寄存器 EFLAGS 保存原有的9个标志,又新增了:IOPL,NT,RF,VM,AC 等5个标志位。标志寄存器EFLAGSIOPL(I/O Privilege Level):在保护方式下为输入输
6、出操作指定的特权级。IOPL总共有4 个特权级,00表示最高,11表示最低。NT(Nested Task):用于多任务下发生任务嵌套的情形。例如当NT=1 时指示当前任务被嵌套于另一任务。基本体系结构寄存器基本体系结构寄存器标志寄存器EFLAGSRF(Restore Flag):与调试寄存器的断点一起使用。当RF=1时,忽略所有的调试断点或调试故障,不会产生异常中断。VM(Virtual Mode):VM=1,则表示CPU工作于虚拟86方式。允许多个DOS分区共享CPU和内存资源,允许系统去执行多个DOS程序。AC(Address Check):置1时,CPU将进行内存访问的对界检查。如果发生
7、了未对准的地址访问,将产生异常中断。所谓未对准的地址访问是指所谓未对准的地址访问是指:以奇地址访问一个字数据,或以一个不是4的倍数的地址码访问一个双字数据,或者是,当访问一个8字节的数据时,其地址码不是8的倍数。Ref to p37基本体系结构寄存器基本体系结构寄存器段寄存器80386以上版本的所有80 x86处理器,除了原有的4个段寄存器,增加了FS 和GS两个段寄存器,用于定义数据段。当CPU工作在保护方式时,段寄存器的内容不直接地给出一个段地址,而是作为一个“选择符”。选择符选择符,用来寻址包括段地址基值、段的长度信息和属性的8字节数据块(即“描述符”)的指针。基本体系结构寄存器基本体系
8、结构寄存器段描述符高速缓冲寄存器是程序不可见的内部寄存器,无法通过程序直接访问。描述符(Descriptor):由段基地址、段信息长度和段相关信息构成的8字节数据。在存储器里把各种具有描述符结构的数据项放在一张表中组成一个描述符表(Descriptor table)。当把一个段选择符装入某个段寄存器时,该选择符所寻址的描述符数据会从表中自动自动装入到段寄存器所对应的那个高速缓冲寄存器中。基本体系结构寄存器基本体系结构寄存器-段描述符高速缓冲寄存器段描述符高速缓冲寄存器 控制寄存器:与存储器的分页管理方式有关的寄存器CR0CR3 系统地址寄存器:是实现多任务和保护的硬件基础,用来控制存储器的管理
9、和多任务的切换。GDTR:全局描述符表寄存器IDTR:中断描述符表寄存器 LDTR:局部描述符表寄存器TR:任务状态段寄存器。系统级寄存器系统级寄存器CR0:低16位叫做“机器状态字”,可用指令对其装入。CR0包含以下6个标志:PE、PG、MP、EM、TS和NE。PE、PG:用于CPU工作方式的控制。PE 用于保护模式的控制:PE=1,进入保护模式;PE=0,进入实地址模式。PG用于分页功能的控制。PG=1,使能分页方式;PG=0,禁止分页方式。控制寄存器控制寄存器TS、EM、MP、NE:浮点运算部件的控制TS为任务切换位EM为协处理器仿真位MP为监视外部协处理器的标志NE为是否允许报告浮点运
10、算错误CD、NW:用于片内高速缓存的控制CD是片内高速缓存的禁止位:CD=1,禁止片内高速缓存;CD=0,允许片内高速缓存NW:高速缓存“通写方式”的控制位:NW=1,禁止通写方式;NW=0,允许通写方式。AM为对界屏蔽位WP为分页方式下的写保护标志控制寄存器控制寄存器CR1:为Intel 公司所保留。CR2:页面故障线性地址寄存器。其保存的是最后一次出现页面故障的“线性地址”。CR3:与分页有关的一个控制寄存器:高20位:页目录表的物理基地址(低12位为全0)。低12位中的PCD、PWT(其余位未定义)PCD是分页方式下的高速缓存PWT为页通写标志。=0表示不支持页通写。控制寄存器控制寄存器
11、Part 1 概述Part 2 80486的寄存器组织Part 3 80486的外部引脚功能Part 4 80486的存储器管理Part 5 多任务及保护Part 6 80 x86的寻址方式及指令系统内容(内容(OutlineOutline)地址总线数据总线控制总线8048680486的外部引脚及功能的外部引脚及功能D0 D3180486微处理器A2 A31BE3#BE2#BE1#BE0#字节允许M/IO#D/C#W/R#LOCK#PLOCK#32位地址总线总线周期定义HOLDHLDAKBOFF#BREQ总线仲裁BRDY#BLAST#成组控制BS8#BS16#总线宽度控制DP3DP2DP1DP
12、0PCHK#奇偶CLKRDY#ADS#RESETNMIINTRINTAAHOLDEADS#FLUSH#KEN#PWTPCDIGNNE#FERR#A20 M#32位数据总线总线控制中断信号高速缓存无效高速缓存控制页面高速缓存控制数值错报告地址线A20屏蔽A2A31和BE0#BE3#提供内存和I/O端口的物理地址。在对内存访问时,A2A31地址码寻址一个4字节单元。BE0#BE3#为地址使能输出线,用于表示当前操作涉及数据线中哪一个或者哪些字节?BE3#:D24 D31BE2#:D16 D23BE1#:D8 D15BE0#:D0 D7。地址总线地址总线D0 D31是32位的双向数据总线,分成四个字
13、节。BS8和BS16决定传送的数据宽度。BS8有效时为8位数据传送BS16有效时为16位数据传送BE0#BE3#决定使用哪些8位数据线当BS8和BS16两者均无效时为32位数据传送。数据总线数据总线EADS#输入:来自外部主控设备的输入。EADS#信号有效则表明,外部任务送到80486 微处理器的地址输入端上的地址信号有效。EADS#被激活后,将使 486微处理器读取外部的地址总线信号,该地址用于执行一个内部的高速缓存无效性周期的操作。控制总线控制总线页面高速缓存控制(PWT 和 PCD)输出信号,反映页表项或页目录项中的页面属性PWT 和 PCD 的状态这2个信号反映了页表项或页面目录项中指
14、定的页面属性PWT和PCD的状态。控制总线控制总线数值错报告FERR#和IGNNE#FERR#输出:浮点出错。当浮点运算出错时产生此信号。IGNNE#输入:忽略数值错。当该信号有效时,80486 微处理器将忽略数值错并继续执行浮点指令。控制总线控制总线地址屏蔽(A20M#)输入,地址A20位屏蔽输入信号,低电平有效,且只有工作在实模式时才能生效。有效时可仿真8086中的1M字节空间的地址循环。所谓地址循环,就是当内存地址为0FFFFFH时,地址再加1,应该回到00000H,而不是100000H。这是因为将地址线A20”屏蔽”的结果。这种情况仅出现在80486的实模式下,相当于一个快速的8086而已。控制总线控制总线成组方式控制(BRDY#和BLAST#)BRDY#输入:成组准备就绪输入,低电平有效。它在猝发周期内表现与RDY#类似的功能。BLAST#输出:成组方式结束信号,低电平有效。它指示在下一个BRDY#信号到来时,成组方式宣告结束。控制总线控制总线