资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第,2,章,80 x86,系列结构微处理器与,8086,本章讲述:,2.1 80 x86,系列微处理器是,8086,的延伸,2.2 8086,的功能结构,2.3 8086,微处理器的执行环境,本章重点难点,本章介绍微型计算机系统中的核心部件微处理器(,CPU,),通过学习,CPU,的功能结构,掌握,CPU,中的两个独立单元(执行单元,EU,和总线接口单元,BIU,的并行执行过程;通过介绍,8086,寄存器结构,学习汇编语言程序设计所需的,14,个寄存器,掌握这些寄存器的正确使用;通过介绍,8086/8088,的存储器组织与分段、,I/O,端口地址空间等基本知识,了解,8086CPU,与外围电路的关系。,8086,的功能结构,8086,的功能结构如图,2-1,所示。,从功能结构看,分两部分:,2.,执行部件,EU(Execution Unit),1.,总线接口部件,BIU(Bus Interface Unit),二、总线接口部件,BIU,负责与存储器、,I/O,接口电路传送信息。,1.BIU,的功能:,2.BIU,的组成,(1),四个段地址寄存器,CS 16,位代码段寄存器,DS 16,位数据段寄存器,ES 16,位附加段寄存器,SS 16,位堆栈段寄存器,二、执行部件,EU,1.EU,的功能:,负责指令的执令。译码指令并利用内部寄存器和,ALU,来处理数据。,2.,结构组成,四个通用寄存器,AX,,,BX,,,CX,,,DX,。,四个专用寄存器:,标志寄存器,FR,。,算术逻辑单元,ALU,。,基数指针寄存器,BP,,,堆栈指针寄存器,SP,,,源变址寄存器,SI,,,目的变址寄存器,DI,。,AX,又称累加器,指令系统中许多指令都是利用,AX,来实现的。,FR,共有16位,其中7位未用,各位的定义如下:,15,0,14,13,12,11,10,9,8,7,6,5,4,3,2,1,OF,DF,IF,TF,SF,ZF,AF,PF,CF,标志寄存器,根据功能,有两类标志,状态标志,(6,个,),控制标志,(3,个,),2.3 8086,微处理器的执行环境,本节描述汇编语言程序员看到的,8086,处理器的执行环境。它描述处理器如何执行指令及如何存储和操作数据。执行环境包括内存(地址空间)、通用数据寄存器、段寄存器、标志寄存器(,EFLAGES,)和指令指针寄存器等。,2.3.1,基本执行环境概要,在,8086,处理器上执行的程序或任务都有一组执行指令的资源用于存储代码、数据和状态信息。这些资源构成了,8086,处理器的执行环境。,地址空间,8086,处理器上运行的任一任务或程序能寻址,1MB,(,2,20,)字节的线性地址空间。,堆栈(,stack,),为支持过程或子程序调用并在过程或子程序之间传递参数,堆栈和堆栈管理资源包含在基本执行环境中。堆栈定位在内存中。,I/O,端口,8086,结构支持数据在处理器和输入输出(,I/O,)端口之间的传送。,8086,处理器的基本执行环境如图,2-4,所示。,2.3.2,基本的程序执行寄存器,处理器为了应用程序编程提供了如图,2-4,所示的,14,个基本程序,执行寄存器。,这些寄存器能分组如下:,通用寄存器,这八个寄存器能用于存放操作数和指针。,段寄存器,这些寄存器最多能保存四个段选择子。,FLAGS,寄存器,FLAGS,寄存器报告正在执行的程序的状,态,并允许有限地(应用程序级)控制,处理器。,IP,寄存器,IP,寄存器包合下一条要执行的指令的,16,位指针。,1,通用寄存器,八个,32,位通用寄存器,AX,、,BX,、,CX,、,DX,、,SI,、,DI,、,BP,和,SP,用于处理以下项:,逻辑和算术操作的操作数;,用于地址计算的操作数;,内存指针。,虽然所有这些寄存器都可用于存放操作数、结果和指针,但在引用,SP,寄存器时要特别小心。,SP,寄存器保持堆栈指针,通常不要用于其它目的,。,SP,是,堆栈指针,,它与段寄存器,SS,一起确定在堆栈操作时,堆栈在内存中的位置。用,BP,(,Base Pointer Register,)寻址堆栈操作数时,也是寻址堆栈段。,SI,(,Source Index Register,)和,DI,(,Destination Index Register,)常用于,串操作,。,当写应用程序代码时,程序用汇编程序的命令和符号建立段选择子。然后汇编程序和别的工具建立与这些命令和符号相关的实际段选择子值。若写系统代码,程序员可能需要直接建立段选择子。,当使用分段存储模式时,初始,每一个段寄存器用不同的段选择子加载,所以每个段寄存器指向线性地址空间中的不同的段。如图,2-6,所示。,2.3.3,存储器组织,处理器在它的总线上寻址的存储器称为物理存储器,。物理存储器按字节序列组织。每个字节赋予一个唯一的地址,称为,物理地址,。物理地址空间的范围从,0,2,20,1,(,1MB,)的最大值。事实上设计与,8086,处理器一起工作的任何操作系统和执行程序都使用处理器的存储管理设施访问存储器。这些设施提供例如,分段特性,以允许有效地和可靠地管理存储器。,8086,有,20,条地址引线,它的直接寻址能力为,2,20,1M,字节。所以,在一个,8086,组成的系统中,可以有多达,1M,字节的存储器。这,1M,字节逻辑上可以组织成一个线性矩阵。地址从,00000H,到,FFFFFH,。给定一个,20,位的地址,就可以从这,1M,字节中取出所需要的指令或操作数。,在,8088/8086CPU,内部能向存贮器提供地址码的地址寄存器有六个,均为,16,位,,用这六个,16,位地址寄存器任意一个给外部存贮器提供地址,只能提供,64K,个地址。所以,对,1MB,地址寻址不完。这六个,16,位地址寄存器分别为:,物理地址如何形成的?,20,位地址加法器,16,位内部寄存器提供的信息经地址加法器产生,20,位地址信息。,每次在需要产生一个,20,位地址的时候,一个段寄存器会自动被选择,且能自动左移,4,位再与一个,16,位的地址偏移量相加,以产生所需要的,20,位物理地址。,每当是取指令的时候,则自动选择代码段寄存器,CS,,再加上由,IP,所决定的,16,位偏移量,计算得到要取的指令的物理地址。,例:指令的物理地址,=CS,16+IP,若,CS=1000H,IP,=3050H,则,PA=10000H+3050H=13050H,在,8086,系统中,存储器的访问,如图,2-9,所示。,
展开阅读全文