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

下载本文档

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

文档简介

微机原理及接口技术2023/6/111第一页,共四十四页,编辑于2023年,星期二2023/6/112第二页,共四十四页,编辑于2023年,星期二①

地址总线传输地址信息,用来寻址存储器单元和I/O接口。地址总线”宽度”决定系统内存的最大容量。

8086有20根地址线,可寻址1M内存。80486有32根地址线,可寻址4G内存。奔腾有64根地址线,可寻址内存。存储容量单位

1TB=1024GB1GB=1024MB1MB=1024KB1KB=1024字节1字节=二进制8位微处理器的三总线2023/6/113第三页,共四十四页,编辑于2023年,星期二②

数据总线传输数据,用来与存储器单元和I/O接口交换数据。

8086/80286CPU内/外数据线都是16位。80386/80486CPU数据线是32位。

奔腾CPU数据线是64位。

控制总线对于不同的CPU来讲,其条数是不一样控制线向系统各部件发出(或接收)控制信号。的。控制线向系统各部件发出(或接收)控制信号。2023/6/114第四页,共四十四页,编辑于2023年,星期二

用寄存器

有8个16位通用寄存器AX、BX、CX、DX、SI、DI、BP、SP。这些寄存器可以存放数据和地址,并能进行16位运算。其中AX、BX、CX、DX的低位字节或高位字节也可作为独立的8位寄存器使用,低位字节的寄存器分别称作AL、BL、CL和DL,高位字节的寄存器分别称作AH、BH、CH和DH。2023/6/115第五页,共四十四页,编辑于2023年,星期二⒉

段寄存器有4个16位段寄存器CS、DS、ES、SS。段寄存器主要解决20位地址形成和程序中指令代码与数据分开存放。此4个段寄存器名称为代码段、数据段、附加数据段、堆栈段。除CS是用于指示指令代码的地址空间之外,其它段寄存器都用于指示数据的地址空间。⒊

指令指针IP16位的IP总是保存着下一次将要从主存中取出指令的偏移地址,其值为该指令到所在段首址的字节距离2023/6/116第六页,共四十四页,编辑于2023年,星期二⒋

标志寄存器FLAG16位标志寄存器用来保存在一条指令执行之后,CPU所处状态的信息及运算结果的特征。如有进位/借位CF=1、运算溢出OF=1、运算结果为零ZF=1等9个标志。2023/6/117第七页,共四十四页,编辑于2023年,星期二二。8086的物理地址的形成(段寄存器)(CS)(DS)(SS)(ES)16偏移地址20位物理地址偏移地址由IP,SP或寻址方式提供2023/6/118第八页,共四十四页,编辑于2023年,星期二三。80486微处理器结构框图

浮点运算及寄存器定点运算及寄存器存储器段页管理指令译码与控制指令队列高速缓存管理8KCACHE系统总线管理2023/6/119第九页,共四十四页,编辑于2023年,星期二⒈

基本部件运算部分:进行定点运算时需要算术逻辑运算单元、移位器和寄存器组;进行浮点运算时需要浮点运算单元和浮点寄存器组。高速缓存:用来存放最近运行程序所需要的指令代码和数据。减少访问内存次数从而提高CPU运行速度。存储器段页管理:为实现虚以存储器而设置。指令译码与控制:根据指令的信息产生微指令对CPU内部进行控制。80486外部地址线有32根,主存空间为4GB。数据线有32根,同时可访问4个字节的内存数据。2023/6/1110第十页,共四十四页,编辑于2023年,星期二⒉

基本结构寄存器8个32位的通用寄存器,6个16位的段寄存器,1个32位的指令指针,1个32位的标志寄存器⒈

80486的工作模式 80486有两种工作模式,一种是实地址模式,一种是保护虚拟模式。80486实地址模式与它的前辈16位的8086完全兼容,在8086和80286编写的程序不需作任何修改,就可以在80486的实地址模式下运行。保护虚拟模式为多用户操作系统的设计提供必要条件,在保护虚拟模式下,80486可为每一个任务提供4GB的物理空间,并允许程序在64TB的虚拟空间内运行。 80486虚地址、线性地址和物理地址的关系图:2023/6/1111第十一页,共四十四页,编辑于2023年,星期二

第二节Intel80X86微处理器体系结构继78年8086之后,Intel公司与81年推出了80286CPU,它也是16位微机,与8086向上兼容。而在85年和89年,Intel又分别推出了80386和80486CPU,这两者均为32位微处理器。80286CPU是在8086的基础上改进和发展而来,其主要特色是:

1.片内具有存贮器管理和保护机构2.正式的在存贮器中引入虚拟地址的概念3.CPU内部的硬件结构支持了CPU采用了快速的并行流水线操作方式。80286的这些特点在80386/80486中体现的更加完善和进一优化,而奔腾CPU的内部结构又是在80486的基础上有更进一步的发展。2023/6/1112第十二页,共四十四页,编辑于2023年,星期二80X86的体系结构特点

一。有关大型机的优化的体系结构1。片内集成有存贮器管理部件(MMU)可支持对存贮器进行分页管理:将指令指定的逻辑地址变换为线性地址。(段长度可变,但不好管理。所以引入了分页管理)

存贮器管理的具体含义:

80X86支持多任务、多道程序运行,每个任务、每道程序均需占用一定字节的存贮空间,如何将有限的物理空间有效地分配给多个任务——即实现虚、实空间的转换,这就是存贮器管理要解决的问题。可支持对存贮器进行分页管理:将线性地址变换为物理地址。由OS进行具体管理,但CPU内部有硬件支持这种管理。2023/6/1113第十三页,共四十四页,编辑于2023年,星期二可用于进行快速的实、虚地址转换——一个段R(选择器)

2.片上设有高速缓冲寄存器/存储器(CACHE)对应于一个64位(8个字节)的段描述符缓冲寄存器。可用于暂时存放数据和指令于高速缓存中,以加快CPU执行指令的速度。2023/6/1114第十四页,共四十四页,编辑于2023年,星期二3。采用高速流水线结构CPU由多个部件组成,各部件在CPU内部分别同步的,相互独立的并行操作。

(实现了高效的流水作业,避免了顺序处理,最大限度地发挥了CPU的性能,是总线利用率达到最佳状态。

·指令流水线技术:总线接口、指令予取、指令予译码。·地址流水线技术:采用流水线地址寻址——两个连续的总线周期部分重叠。超标量流水线技术:多条指令并行执行。BIU总线接口部件EU执行部件SU段管理部件CPU代码予取部件PU页管理部件IDU指令译码部件2023/6/1115第十五页,共四十四页,编辑于2023年,星期二二、80X86是灵活的全32位微处理器(MPVP)数据总线DB32位——可处理8位、16位和32位数据类型,通用寄存器及操作数为32位。支持动态总线宽度控制(动态切换16/32位数据总线)通过引脚BS16,由外部送来信号通知80X86总线改变情况:0——以16位数据总线操作1——以32位数据总线操作2023/6/1116第十六页,共四十四页,编辑于2023年,星期二三、具有对存贮器及特权层的保护功能

CPU内部具有保护机构:1。对特权层的保护功能:禁止程序的非法操作如:向代码段进行写入操作,访问段限以外的存贮区域等。2。对特权层的保护功能:特权层分为4级:0级1级2级3级OS核系统服务程序应用服务程序应用程序应用程序2023/6/1117第十七页,共四十四页,编辑于2023年,星期二四、80X86有大的存贮器空间:

实地址空间——可直接寻址的地址空间为2=4千兆(4GB)虚拟存贮空间——可直接寻址的地址空间为2=64MM字节(14+32=2=64MM)46

3280286——68条AB:24条DB:16条

80486——168条AB:32条DB:32条Pentium——273条AB:32条DB:32条462023/6/1118第十八页,共四十四页,编辑于2023年,星期二§280X86的内部结构

80X86CPU由多个部件构成——多个部件在CPU内部分别同步独立并行地进行操作,避免了顺序处理,实现了高效的流水化作业,最大限度地发挥了CPU的性能,使总线的利用率达到最佳状态。一、80X86的内部各部件及其功能2023/6/1119第十九页,共四十四页,编辑于2023年,星期二二、80X86的内部寄存器1。通用RD31D0EAXEBXECXEDXESPEBPESIEDI“E”——Expand8086的16位通用R扩展为32位,他们可以按8位、16位和32位使用。2023/6/1120第二十页,共四十四页,编辑于2023年,星期二CSDSSSESFSGS80386新增加了两个数据段,以满足程序和任务对多数据段的需要。程序不可访问(64位)注意:在进行8位或16位R运算操作时,只影响FR中的相应位,如8位加法进行,起进位不是送到第19位,而是送到FR中的CF位。1。段位置:由16位的段R和64位的描述符在高速缓冲寄存器中构成。

高速缓冲寄器(16位)2023/6/1121第二十一页,共四十四页,编辑于2023年,星期二FRIPEFREIPCPU可以使用它的低16位/32位。3.标志寄存器(EFR)4。指令指示器(EIP)31150311502023/6/1122第二十二页,共四十四页,编辑于2023年,星期二关于标志R(32位)8086比8位微机,增加了3个控制标志和1个算术运算标志:分别为DF、IF和OF。80286比8086又增加了2个控制标志:NT——嵌套(14位)NE1—表示当前任务嵌套于另一任务中,执行完当前任务后需返回原任务。0—表示无效。

有IOPL——特权标志(位12、13)用以指定I/O操作处于0~3特权层中的那一层。80386、80486公使用了15个标志,占用16位(IOPL占2位)

2023/6/1123第二十三页,共四十四页,编辑于2023年,星期二

31191817161514131211109876543210ACVMRF×NTIPPLOFDFIFTFSFIFAFDFCSAFD4SCFD0SPFD2SSFD7SIFD6CDFD10CIFD9SOFD11XTFD8XNTD14XIOPLD12XRFD16XVMD17XACD188080所用标志8086所用标志80286所用标志80386所用标志80486所用标志所有标志位分为三类:S—状态标志C—控制标志X—系统标志2023/6/1124第二十四页,共四十四页,编辑于2023年,星期二4。系统表R:用于进行从虚拟地址向实际物理地址的转换。1。功能:主要用于在保护模式下,管理4个系统表,这4个系统表为:※GDT(GlobalDescriptorTable)全局描述符表※LDT(LocalDescriptorTable)局部描述符表※IDT(InterruptDescriptorTable)中断描述符表※TSS(TaskStateSegment)任务状态段

2023/6/1125第二十五页,共四十四页,编辑于2023年,星期二系统地址R:表R为GDTRGDTLDTR分别用来指定LDT的大小在M中的位IDIRIDT置。TR——用以指定TSS任务状态段,只用来存放任务环境的,其在M中的位置和大小由TR指定。其中:GDTR和IDTR共48位:32位的表基地址字段+16位的表边界字段。310150表基址表限2023/6/1126第二十六页,共四十四页,编辑于2023年,星期二可在实模式方式下,通过编程对GDTR和IDTR加载,以实现对GDT和IDT在保护方式下的初始化操作。150150310150选择器字段属性字段表基址字段边界字段LDTR和TSR共80位:32位的表基址字段+20位的边界字段+12位的访问权字段+16位的选择器字段。

对LDTR和TR的说明:※这两个寄存器只能在保护方式下使用。※在保护模式下程序可访问字段仅限于段选择器字段,即只能用指令加载段选择器。2023/6/1127第二十七页,共四十四页,编辑于2023年,星期二用LLDT和LT指令可设置成改变相应的选择器字段,依选择器字段可从全局描述符表中找到指定的基地址描述符和任务状态段描述符,在将描述符中的32位段基址和16位的段限及16位的属性字段加载到LDTR和TR的64位高速缓冲寄存器中。

2023/6/1128第二十八页,共四十四页,编辑于2023年,星期二5。控制R(CR0~CR3)(32位)(8086CPU中无)其中:CR1——备用CR3——用于提供页目录的基地址CR2——用于提供页故障线性地址。CR0——其低16位与80286CPU中一样,是机器状态字R。CR0功能:作为MSW用以表示比FLAG对CPU影响更大的标志,这些标志反映了系统的工作状态。2023/6/1129第二十九页,共四十四页,编辑于2023年,星期二CR0的控制位分为如下五大类:1。与CPU工作模式有关的控制位PG(分页)、PG(置CPU为虚拟地址保护方式)2。与CPU片内的CACHE有关的控制位:CE、WT3。与协处理器或浮点运算部件有关的控制位:TS、EM、MPNE。4。对唯控制位:AM5。页的写保护控制位:WP

2023/6/1130第三十页,共四十四页,编辑于2023年,星期二实模式REALPROTECTED保护模式VIRTUAL虚拟8086※LMSW指令※修改CR0指令RRESET位好修改CR0的PE=0的PE位=1通过中断执行IRETD指令RESET信号RESET对CPU复位

三种模式之间的转换见图:Intel80X86微处器有三种工作模式:

实模式、保护模式和虚拟86模式2023/6/1131第三十一页,共四十四页,编辑于2023年,星期二§4.80X86的存贮器布局一、布局要点1、80X86的存贮器有三种工作方式:实地址方式虚地址保护方式虚拟86模式

所以其地址空间分为:物理存贮空间和虚拟存贮空间

实际物理地址空间是CPU可直接访问存贮空间,其存贮空间范围由CPU的地址总线位数决定。虚拟存贮空间即程序占有的存贮空间,其存贮量由CPU的体系结构确定。2023/6/1132第三十二页,共四十四页,编辑于2023年,星期二

任务N任务N-1任务X(虚拟空间)由磁盘等外存支撑

任务1任务2存贮器管理部件物理地址空间

ROR.RAM任务XD15D2D1D0

46:索引值TIRPL偏移2、二者存贮空间示意图如下:每个任务使用64TB字节的存贮空间(2)索引值TIRPL32位偏移地址462023/6/1133第三十三页,共四十四页,编辑于2023年,星期二3、存贮空间的划分:在实模式下:与8086相同,以64KB为一个逻辑地址段,段长度固定。在虚地址保护模式下:启动页功能时,一个逻辑段最大可分为2的32次方个字节。不启动页功能时,一个逻辑段最大可分为2的20次方字节。4、CPU在执行指令时,对存贮器操作数所在实际物理地址的求法:

①段基址+偏移地址=PA(32位)

②段基址的提供:虚拟86模式:实地址方式—由段R提供虚地址保护模式—由段选择器索引段2023/6/1134第三十四页,共四十四页,编辑于2023年,星期二二、虚地址保护方式1、从实地址向虚地址保护模式的转换使用“LMSW”指令置位控制寄存器CR。的D。位以后(即PE位被置为“1”),由CPU内部的MMU(存储器管理部件)自动完成转换。由实地址虚拟地址2023/6/1135第三十五页,共四十四页,编辑于2023年,星期二

2、虚地址保护方式下CPU进行存贮器寻址时所采取的数据结构:——采用了段选择器与描述符的数据结构,使寻址过程有了一个间接层,为80386内部的MMU和保护机构有了一个活动的空间,使多任务在80X86中运行方便、灵活、可靠。(1)80X86的段选择器即8086中的段寄存器,亦是16位,由三个字段组成:

D15D3D2D1

D0索引值TIRPL14位2023/6/1136第三十六页,共四十四页,编辑于2023年,星期二指令操作:AX:

段R:FS

XX选择器字段描述符描述表描述符缓存器M①②(2)段选择器的加载及加载的具体操作

——即段R的初始化操作例:指令:MOVFS,AX;2023/6/1137第三十七页,共四十四页,编辑于2023年,星期二

(3)80X86的段R的构成

150630段选择器属性段基址段边界描述符变速缓冲存贮器2023/6/1138第三十八页,共四十四页,编辑于2023年,星期二二、80X86在虚拟方式下的寻址过程:示意图见下页2023/6/1139第三十九页,共四十四页,编辑于2023年,星期二段描述符GDT段描述符LDT基地址边界描述符高速缓冲器描述符索引号段选择器TITI=0TI=1M基地址边界153210段选择器和描述符缓冲器作用2023/6/1140第四十页,共四十四页,编辑于2023年,星期二

分页物理地址

温馨提示

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

评论

0/150

提交评论