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

下载本文档

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

文档简介

1、2.18086/8088微处理器的结构2.28086/8088的存储器组织2.38086/8088的引脚及功能2.48086/8088微处理器的时序2.580X86微处理器简介,第2章8086/8088微处理器的结构及原理,2.18086/8088微处理器的结构,2.1.18086/8088CPU内部功能,8086与8088CPU结构相似,从功能上可分为两个部分:执行单元(ExecutionUnit,EU)总线接口单元(BusInterfaceUnit,BIU),图2.18088CPU的结构框图,1.执行单元EU1)执行单元的组成执行单元主要包括五个部分:8个通用寄存器:算术逻辑单元(ALU)

2、标志寄存器FLAGS数据暂存寄存器EU控制电路2)执行单元的功能执行单元EU的功能:负责执行指令,2.总线接口单元BIU1)总线接口单元的组成总线接口单元主要包括五个部分:4个段寄存器:包括CS、DS、SS和ES指令指针寄存器IP:存放下一条要读取的指令的偏移地址地址加法器:生成20位的物理地址指令队列缓冲器:保存BIU从内存单元读入的指令总线控制电路:控制总线的使用,BIU中的4个段寄存器分别存放程序代码段、数据段、堆栈段和附加数据段的段地址。(1)段寄存器CS存放程序代码段,16位16位的段地址和16位的段内偏移地址组成20位的内存地址。它们分别由相关的寄存器提供,再通过地址加法器,生成2

3、0位的地址,实现CPU对1M存储空间的寻址。,(2)指令指针寄存器IP存放下一条要读取的指令在代码段中的偏移地址。IP在程序运行中能自动加1修正,从而始终指向下一条要读取的指令。程序运行时根据CS和IP的内容决定的执行指令的位置。CS和IP的内容是由系统根据程序的运行顺序自动装入的,不能直接用赋值指令修改。,(3)20位地址加法器作用:将16位的段地址和16位的段内偏移地址,生成20位的地址。逻辑地址:把用段地址和偏移地址表示存储单元的地址。表达形式:“段地址:段内偏移地址”物理地址:由逻辑地址生成的20位地址称为物理地址。,逻辑地址向物理地址的转换:将16位的段地址左移4位加上16位的偏移地

4、址,相当于十六进制数左移1位(或乘以10H),得到20位的物理地址。逻辑地址向物理地址的转换公式:物理地址=段地址10H段内偏移地址,(4)指令队列缓冲器作用:保存BIU从内存单元读入的指令。8088的指令队列有4个字节。当指令队列出现1个空字节时,BIU就自动执行一次取指令周期,将下一条要执行的指令从内存单元读入指令队列供EU使用。指令采用“先进先出”原则顺序存放,并按顺序读取到EU中去执行。,2)总线接口单元的功能作用:负责从存储器或I/O端口取指令、取操作数和保存运算结果。EU和BIU并行工作,互不影响,提高CPU的执行速度。,2.1.28086/8088的寄存器8086/8088CPU

5、内部有14个16位的寄存器按功能分:通用寄存器(8个):AX、BX、CX、DXSP、BP、SI、DI段寄存器(4个):CS、DS、SS、ES控制寄存器(2个):IP/F,图2.28086/8088CPU内部寄存器结构,1.通用寄存器包括四个数据寄存器,两个地址指针寄存器和两个变址寄存器。1)数据寄存器AX、BX、CX、DX暂时存放参与运算的操作数或中间运算结果。4个数据寄存器都为16位,但又可将高、低8位分开,作为8个独立的8位寄存器:AXAH、ALBXBH、BLCXCH、CLDXDH、DL“H”:高8位,“L”:8位。,AX(Accumulator):累加器存放算术逻辑运算中的操作数;所有的

6、I/O指令都使用累加器与外设端口交换信息。BX(Base):基址寄存器存放操作数在内存中数据段内的基地址。CX(Counter):计数器在设计循环程序时一般使用该寄存器存放循环次数。DX(Data):数据寄存器。在寄存器间接寻址的I/O指令中存放I/O端口地址;在做双字长乘除法运算时,DX与AX一起存放一个双字长操作数,其中DX存放高16位数。,2)地址指针寄存器SP、BPSP(StackPointer):堆栈指针寄存器在使用堆栈操作指令(PUSH或POP)对堆栈进行操作时,每执行一次进栈或出栈操作,系统会自动将SP的内容减2或加2,以使其始终指向栈顶。BP(BasePointer):基址指针

7、寄存器用来存放数据,或存放操作数在堆栈段内的基地址。,3)变址寄存器SI、DISI(SourceIndex):源变址寄存器DI(DestinationIndex):目的变址寄存器通常用在字符串操作时存放操作数的偏移地址,其中SI存放源串在数据段内的偏移地址,DI存放目的串在附加数据段内的偏移地址。,2.段寄存器CS、DS、SS、ES8086/8088微处理器采用存储器分段管理机制管理1M个存储单元。定义4个独立的逻辑段,将程序代码或数据分别放在这4个逻辑段中。每个段大小不固定,最多可达64K(216)个存储单元。每个逻辑段的段地址分别放在对应的段寄存器中,代码或数据在段内的偏移地址由有关寄存器

8、或立即数给出。,8086/8088的四个段寄存器:CS(CodeSegment):代码段寄存器,存储程序当前使用的代码段的段地址(起始地址)。指令指针寄存器IP的内容为段内的偏移地址,由CS和IP的内容就得到下一条要读取的指令在存储器中的物理地址。DS(DataSegment):数据段寄存器,存放程序当前使用的数据段的段地址。SS(StackSegment):堆栈段寄存器,存放程序当前所使用的堆栈段的段地址。堆栈是存储器中开辟的按先进后出原则组织的一个特殊存储区,主要用于调用子程序或执行中断服务程序时保护断点和现场。,ES(ExtraSegment):附加数据段寄存器,存放程序当前使用的附加数

9、据段的段地址。与数据段相同的是,其段内偏移地址可以通过各种寻址方式得到,但在偏移地址前要加上段超越前缀“ES:”。串操作时将该段作为目的数据段,即该寄存器用来存放字符串操作时的目的字符串。,表2.18086/8088段寄存器与提供段内偏移地址的寄存器之间的默认组合,3.控制寄存器IP/FIP(InstructionPointer):指令指针寄存器存放预取指令在代码段内的偏移地址。F(FLAGS):标志寄存器16位的寄存器。用了9位:6个状态标志位和3个控制标志位。,图2.38086/8088的标志寄存器,1)状态标志位反映算术和逻辑运算结果的一些特征。6个状态标志位的功能:CF(CarryFl

10、ag):进位标志位。进行加减运算时,若最高位发生进位或借位则CF1,否则CF0。PF(ParityFlag):奇偶标志位。当运算结果的低8位中含有偶数个1时,PF1,否则PF0。AF(AuxiliaryFlag):辅助进位标志位。加法或减法运算时,若结果的低字节的低4位向高4位有进位或借位,则AF1,否则AF0。ZF(ZeroFlag):零标志位。若当前的运算结果为0,则ZF1,否则ZF0。SF(SignFlag):符号标志位。与运算结果的最高位相同,当运算结果的最高位为1时,SF=1,否则为0。OF(OverflowFlag):溢出标志位。当运算结果超出了带符号数的范围,即溢出时,OF=1,

11、否则OF=0。主要用来判断带符号数运算结果是否溢出。8位有符号数的范围是128127,16位有符号数的范围是3276832767。,2)控制标志位:3个设置控制条件来控制CPU的操作,由程序设置或清除。TF(TrapFlag):跟踪标志位。测试程序时,若将TF设置为1,8086/8088CPU处于单步工作方式,否则,将正常执行程序。单步工作方式为计算机每执行一条指令,自动产生一次单步中断,可以方便地逐条检查程序。IF(InterruptFlag):中断允许标志位。控制可屏蔽中断的控制标志。若IF=1,允许CPU接受可屏蔽中断请求;若IF0,禁止CPU响应可屏蔽中断请求。IF的状态对非屏蔽中断及

12、内部中断没有影响。DF(DirectionFlag):方向标志位。控制串操作指令用的标志,若DF1,串操作按减地址方式进行;DF0,串操作按增地址方式进行。,2.28086/8088的存储器组织,2.2.18086/8088存储空间8086/8088有20条地址总线,可直接对1M(220)个存储单元进行访问。每个存储单元有唯一的20位存储器地址与其对应,地址范围为0220-1,用十六进制表示:00000HFFFFFH。一个存储单元中存放的信息称为该存储单元的内容。每个存储单元都有8位的存储空间,即一次只能存放一个字节型数据。存储器存放的数据类型还可以是字、双字。,字节数据位数:8位对应一个存储

13、器地址,即存放在一个内存单元中。存放或读取数据时,只需根据地址对其所指的单元进行操作即可。例题:字节数据0AH存放在存储器地址为E0100H的单元,则记为:(E0100H)=0AH。存储情况如图2.4(a)所示。,字数据位数:16位对应两个连续的存储器地址,存放在两个连续的内存单元中。存放数据时,规定字数据的低8位存放在低地址,高8位存放在高地址。同时规定将低8位的地址作为这个字的地址。读取数据时,只需给出数据类型及低8位的地址即可,CPU自动读取给出地址所指的单元及下一个存储单元的内容。例题:字数据0B0AH存放在从地址E0100H开始的两个连续单元,则记为:(E0100H)=0B0AH。存

14、储情况如图2.4(b)所示。,双字数据位数:32位作为时地址指针,低16位是被寻址地址的偏移量,高16位是被寻址地址所在段的段地址。一个双字数据存放在四个连续的内存单元中。低字节存放在低地址单元,高字节存放在高地址单元。,例题:双字数据0F000B0AH存放在从地址E0100H开始的四个连续单元,则记为:(E0100H)=0F000B0AH。存储情况如图2.4(c)所示。如果此双字数据表示的是某数在内存中的逻辑地址,则0B0AH为此数的偏移量,0F00H是段地址,逻辑地址可以用段地址和偏移量来表示。段地址:偏移量0F00:0B0AH,2.2.2存储器的段结构8086/8088将整个存储器分为若

15、干逻辑段:代码段、数据段、堆栈段和附加段。每个逻辑段最大为64KB,最小为16B各个逻辑段允许在整个存储空间中浮动,逻辑段与段之间可以是连续的、分开的、部分重叠或完全重叠。每个逻辑段的地址叫段地址。存储器分段后,在每个段内某一地址相对于段首地址(段地址)的偏移量叫偏移地址。,表2.38086/8088CPU对段寄存器在使用时的一些基本约定,2.2.3逻辑地址与物理地址存储器的每一个单元都有一个20位的实际地址,称为内存单元的物理地址。8086/8088规定:分段总是从16字节的边界处开始,每段的起始地址最低4位总是0,即xxxx0H,每段的基地址可以用16位表示(最低4位默认为0)。段内偏移地

16、址用16位表示段基地址和偏移地址用8086/8088CPU中相应的寄存器存放。,段基址和段内偏移地址又称为逻辑地址。逻辑地址表示为段基址:段内偏移的形式,即xxxxH:yyyyH。逻辑地址和物理地址的关系:20位物理地址段基址10H段内偏移地址根据每段的段基址和段内偏移地址得到20位的物理地址,可以访问存储器的存储单元。,图2.5由逻辑地址生成物理地址的方法,从逻辑地址到物理地址的转换:例题:如果某操作数在数据段内的段基地址为2A0EH,偏移地址为2000H,则该操作数所在存储单元的物理地址为:段基址10H段内偏移地址=2A0EH10H+2000H=2C0E0H,2.2.4堆栈操作堆栈是在存储

17、器中开辟的一个特定区域,其容量可达64KB。堆栈操作按照先进后出(FILO)的原则进行,每次压栈和出栈均以字为单位。堆栈的作用:(1)存放程序运行过程中需要保护的数据。(2)保护断点和现场。堆栈操作用进栈指令PUSH和出栈指令POP完成。,进栈和出栈操作的过程,(a)入栈前堆栈情况(b)入栈后指针变化情况(c)出栈后指针变化情况图2.6进栈及出栈的操作过程,2.38086/8088的引脚及功能,(a)8086CPU的引脚(b)8088CPU的引脚图2.78086/8088CPU的引脚,8086/8088CPU采用5种方法定义引脚:1)同一时刻每个引脚只传送一种信息(例:等);2)不同时刻,可以

18、传递不同信号,即分时复用引脚(例:AD7AD0等);3)引脚电平的高低电平表示不同的信号(例:等);4)CPU工作于不同方式有不同的名称和定义(例:WR/LOCK等);5)引脚的输入和输出分别传送不同的信号(例:30:RQ/GT:总线请求/总线响应等)。,8088CPU的引脚按功能分为五大类:电源线和地线地址/数据线中断请求和响应引脚总线保持引脚控制/状态引脚8088有两种工作模式:最小工作模式和最大工作模式,1.8088最小工作模式下的引脚1)电源线和地线(VCC、GND)VCC(第40引脚):电源线,输入,接+5V电源。GND(第1、20引脚):地线,输入,两条地线均接地。2)地址/数据(

19、状态)引脚(AD7AD0、A15A8、A19/S6A16/S3)A15A8(第28、39引脚):地址线,输出。AD7AD0(第916引脚):地址/数据分时复用引脚,传送地址时单向输出,传送数据时双向输入或输出。A19/S6A16/S3(第3538引脚):地址状态分时复用引脚,输出、三态总线。,3)中断请求和响应信号(NMI、INTR、)NMI(Non-MaskableInterrupt)(第17引脚):非屏蔽中断请求信号,输入,上升沿触发。INTR(InterruptRequest)(第18引脚):可屏蔽中断请求信号,输入,高电平有效。(InterruptAcknowledge)(第24引脚)

20、:输出。对INTR信号的中断响应信号,低电平有效。该信号用于对外设的中断请求(经INTR引脚送入CPU)响应。,4)总线保持信号(HOLD、HLDA)HOLD(Holdrequest)(第31引脚):总线保持请求信号,输入,高电平有效。HLDA(HoldAcknowledge)(第30引脚):总线保持响应信号,输出,高电平有效。5)控制和状态引脚(CLK、RESET、READY、ALE、等)CLK(Clock)(第19引脚):系统时钟,输入。RESET(第21引脚):复位信号,输入,高电平有效。READY(第22引脚):数据“准备好”信号线,输入,高电平有效。,(第23引脚):等待测试信号,输

21、入。ALE(AddressLatchEnable)(第25引脚):地址锁存允许信号,输出,高电平有效。是8086/8088给地址锁存器的控制信号。(DataEnable)(第26引脚):数据允许信号,输出低电平有效。该信号决定数据总线上的数据是否有效。(DataTransmit/Receive)(第27引脚):数据发送/接收信号,输出。该信号用来控制数据的传送方向。(Memory/InputandOutput)(第28引脚):存储器I/O端口控制信号,输出。该信号用来区分CPU是进行存储器访问还是I/O端口访问。(Write)(第29引脚):写信号,输出,低电平有效。,(Read)(第32引脚

22、):读控制信号,输出,低电平有效。当=0时,表示CPCU正对存储器或I/O端口的读操作。(Minimum/Maximummodecontrol)(第33引脚):最小/最大方式控制信号,输入。MN/MX引脚接高电平时,8086/8088CPU工作在最小方式;MN/MX引脚接低电平时,8086/8088工作在最大方式。(第34引脚):系统状态信号输出。与信号和信号一起用来决定最小模式下当前总线周期的状态。,2.8088最大工作模式下的引脚当33号引脚时,8088CPU工作在最大模式。最大模式和最小模式相比,除2434引脚外,其它引脚完全相同。8088CPU在最大模式下的2434引脚:、(第2826

23、引脚):状态信号(输出,三态)。,(request/grant)(第3031引脚):请求/允许信号(输入/输出)。低电平有效,是最大组态下的DMA请求/允许信号。(第29引脚):锁定信号(输出,三态)。低电平有效。当其有效时,CPU控制总线,不允许别的总线设备取得对系统总线的控制权。QS1、QS0(queuestatus)(第2425引脚):队列状态信号(输出)。用于提供8088指令队列状态,根据状态信号,可以跟踪CPU内部的指令。HIGH(第34引脚),在最大模式下始终为高电平输出。(第32引脚):引脚在最大模式下不再使用。,3.8086CPU与8088CPU的区别8086CPU与8088C

24、PU的不同主要有4个方面。1)内部结构8086的指令队列有6个字节,而8088仅有4个字节。2)引出线和存储器组织8086有一条高8位数据总线允许引出线,可以看作一条附加的地址线,访问存储器的高字节,A0用来访问存储器的低字节。3)地址/数据复用线8086的地址/数据复用线是16位AD15AD0;8088有AD7AD0复用,A8A15仅作为地址线使用。4)存储器与I/O接口选通信号电平存储器与I/O接口选通信号电平不同:8086为;8088为。,2.48086/8088微处理器的时序,2.4.1时序的有关概念指令的执行过程:取指令(fetch)、译码(decode)、执行(execute)时序

25、:8088CPU的EU和BIU在时钟脉冲CLK的统一控制下执行指令。执行时间的长短可以用指令周期、总线周期、机器周期和时钟周期来度量。,时钟周期:又称为T周期或T状态,由时钟发生器产生。时钟周期是计算机内部最小的时间单位,由计算机的主频决定。机器周期:计算机完成一个基本操作所花费的时间。机器周期一般有若干个时钟周期组成,如图2-8所示。,图2-8机器周期、时钟周期的组成,总线周期:CPU访问(或读写)一次存储器或I/O接口的时间叫一个总线周期(BusCycle)。8086/8088CPU和外部交换信息是通过BIU总线接口单元来完成的,每当CPU要从存储器或I/O接口存取一个字节或字时,就需要一

26、个总线周期。8086/8088CPU的总线周期包含4个时钟周期:T1、T2、T3、T4,如图2.9所示。,图2.9典型的8086/8088总线周期序列,指令周期:执行一条指令所需要的时间称为指令周期(instructioncycle)。指令周期包括取指令、译码和执行指令等操作所需的所有时间。,指令周期、机器周期、总线周期和时钟周期之间的关系:指令周期由若干个机器周期组成,机器周期时间包含若干个时钟周期。总线周期一般由4个时钟周期组成。机器周期和总线周期的关系:机器周期有可能包含总线读写,因而包含总线周期,有时可能与总线读写无关,所以,并无明确的相互包含关系。,2.4.28086/8088CPU

27、最小模式下的工作时序8086/8088CPU在与存储器或I/O端口交换数据时需要启动一个总线周期。按照数据的传送方向来分,总线周期可分为“读”总线周期(CPU从存储器或I/O端口读取数据)和“写”总线周期(CPU将数据写入存储器或I/O端口)。读总线周期和写总线周期分别如图2.10、图2.11所示。,图2.108088读(M/IO)总线周期,图2.118088写(M/IO)总线周期,2.580X86微处理器简介,80X86微处理器主要有80286、80386和80486,2.5.180286微处理器1)80286的特点与8086相比,80286有如下特点:地址线24根,最多可寻址16M字节的实

28、际存储空间和64K的I/O地址空间。内、外部数据传输均为16位。地址总线和数据总线完全分离,提高了数据访问的速度。80286工作于两种方式:实模式和保护方式。,2)80286的功能结构80286内部结构由4个功能部件组成:执行部件EU、指令部件IU、总线部件BU和地址部件AU。80286将8086/8088的BIU分为AU、IU和BU两部分。通过4个部件的并行操作,进一步提高了CPU的工作速度。,3)80286的寄存器结构80286的寄存器结构的特点:通用寄存器为AX、BX、CX、DX,地址寄存器为SI、DI、BP、SP、IP,这8个寄存器与8086完全相同。段寄存器(CS、SS、DS、ES)

29、扩展为64位:段选择器域(16位)、存取权域(8位)、基地址域(24位)和段界限域(16位)。扩展了4个系统表寄存器:全局描述符表寄存器GDTR、局部描述符表寄存器、中断描述符表寄存器IDTR和任务状态段寄存器TR。状态控制寄存器新增为3个:标志寄存器PSW(新增3个有效位)、任务寄存器TR和新增的机器状态字寄存器MSW。,2.5.280386微处理器Inter公司1985年推出特点:是80X86系列中的第一种32位微处理器内部含27.5万个晶体管时钟频率为12.5MHz,后提高到20MHz、25MHz和33MHz。内部和外部数据总线都是32位,地址总线32位,可寻址4GB内存。除具有实模式和

30、保护模式外,还增加了虚拟86的工作方式,可以通过同时模拟多个8086处理器来提供多任务能力。,图2.1280386CPU芯片,1988年:80386SX1990年:80386SL和80386DL都是低功耗、节能型芯片,主要用于便携机和节能型台式机。都增加了系统管理方式(SMM)。进入系统管理方式后,CPU就自动降低运行速度、控制显示屏和硬盘等其它部件暂停工作,甚至停止运行,进入“休眠”状态,以达到节能目的。,2.5.380486微处理器1.Intel80486微处理器内部结构80486CPU内部组成:总线接口部件、指令预取部件、指令译码部件、控制和保护测试单元部件、整数执行部件、分段部件、分页

31、部件、浮点运算部件、高速缓存(cache)管理部件,1)总线接口部件作用:管理访问外部存储器和I/O端口的地址、数据和控制总线。对处理器内部,BIU主要与指令预取部件和高速缓存部件交换信息,将预取指令存入指令代码队列。BIU与cache部件交换数据的三种情况:一.向高速缓冲存储器填充数据,BIU一次从片外总线读取16个字节到cache;二.如果高速缓冲存储器的内容被处理器内部操作修改了,则修改的内容也由BIU写回到外部存储器中去;三.如果一个读操作请求所要访问的存储器操作数不在高速缓冲存储器中,则这个读操作便由BIU控制总线直接对外部存储器进行操作。,在预取指令代码时,BIU把从外部存储器取出

32、的指令代码同时传送给代码预取部件和内部高速缓冲存储器,以便在下一次预取相同的指令时,可直接访问高速缓冲存储器。,2)指令预取部件作用:在总线空闲周期,指令预取部件(pre-fetcher)形成存储器地址,并向BIU发出预取指令请求。预取部件一次读取16个字节的指令代码存入预取队列中,指令队列遵循先进先出FIFO(FirstInFirstOut)的规则,自动地向输出端移动。,3)指令译码部件IDU(InstructionDecodeUnit)作用:从指令预取队列中读取指令并译码,将其转换成相应控制信号。译码过程分两步:首先确定指令执行时是否需要访问存储器,若需要则立即产生总线访问周期,使存储器操

33、作数在指令译码后能准备好;然后产生对其他部件的控制信号。,4)控制和保护测试单元部件控制部件CPTU(ControlandProtectionTestUnit)对整数执行部件、浮点运算部件和分段管理部件进行控制,使它们执行已译码的指令。5)整数执行部件IU(Integerdata-pathUnit)包括四个32位通用寄存器、两个32位间接寻址寄存器、两个32位指针寄存器、一个标志寄存器、一个64位桶形移位寄存器和算术逻辑运算单元等。能在一个时钟周期内完成整数的传送、加减运算、逻辑操作等。,6)浮点运算部件FPU(FloatingPointUnit)作用:用于完成浮点数运算。7)分段部件和分页部

34、件80486CPU设置了分段部件SU(SegmentationUnit)和分页部件PU(PagingUnit),实现存储器保护和虚拟存储器管理。分段部件将逻辑地址转换成线性地址,采用分段cache可以提高转换速度。分页部件用来完成虚拟存储,把分段部件形成的线性地址进行分页,转换成物理地址。,8)Cache管理部件80486CPU内部集成了一个数据/指令混合型cache称为高速缓冲存储器管理部件CU(CacheUnit)。在大多数的情况下,CPU都能在片内cache中存取数据和指令,减少了CPU的访问时间。,2.80486微处理器的寄存器按功能可分为四类:基本寄存器、系统寄存器、调试和测试寄存器

35、以及浮点寄存器。基本寄存器包括八个通用寄存器、一个指令指针寄存器EIP、一个标志寄存器EFLAGS、和六个段寄存器。通用寄存器:EAX,EBX,ECX,EDX,EBP,ESP,EDI、ESI。指令指针寄存器EIP(ExtraInstructionPointer):存放指令的偏移地址。标志寄存器EFR(ExtraFlagsRegister)包括状态位、控制位和系统标志位,用于指示微处理器的状态并控制微处理器的操作。段寄存器:CS,DS,ES,SS,FS和GS,分别存放段基址(实地址模式)或选择符(保护模式),用于与微处理器中的其他寄存器联合生成存储器单元的物理地址。,习题,2.1简述8086的E

36、U和BIU的功能及主要组成部分,并说明在执行指令时二者是如何配合工作的?2.28086/8088CPU有哪些寄存器?并说明其主要作用。2.38086/8088CPU中标志寄存器FLAGS有哪些标志位?其含义和作用是什么?2.4逻辑地址和物理地址指的是什么?如果已知逻辑地址为2E00:5B2CH,其物理地址为多少?2.5Inter8086CPU和8088CPU有哪些不同之处?2.6简要说明8086/8088的指令周期、总线周期、机器周期和时钟周期有何不同。2.7什么是最大模式?什么是最小模式?用什么方法将8086/8088置为最大模式和最小模式?2.88086/8088常见总线有哪些?2.980

37、486微处理器包含哪些寄存器?各有什么主要用途?,答案,2.1执行单元的组成:8个通用寄存器、算术逻辑单元(ALU)、标志寄存器FLAGS、数据暂存寄存器、EU控制电路执行单元EU的功能:负责执行指令总线接口单元的组成:4个段寄存器:CS、DS、SS和ES,IP,地址加法器,指令队列缓冲器,总线控制电路。总线接口单元的作用:负责从存储器或I/O端口取指令、取操作数和保存运算结果。,执行单元总线接口单元的配合工作:EU和BIU并行工作,互不影响。当EU从指令队列中取走指令,BIU自动取指令,读入到指令队列。如果EU执行了跳转、子程序调用或返回指令,BIU就使指令队列复位,并从指令给出的新地址开始

38、取指令,再将新取的第一条指令直接经指令队列送EU执行,随后取来的指令送入指令队列缓冲器。当指令队列空时,EU就等待,直到有指令为止。若EU需要从内存或外设端口读取操作数,BIU将根据EU给出的地址从内存或外设端口读取数据给EU。EU的运算结果由BIU送往指定的内存单元或外设端口。,2.28086/8088CPU内部有14个16位的寄存器,按功能可分为:通用寄存器(8个)、段寄存器(4个)和控制寄存器(2个)通用寄存器:数据寄存器:AX、BX、CX、DX。用来暂时存放参与运算的操作数或中间运算结果。地址指针寄存器:SP、BP。SP:在使用堆栈操作指令(PUSH或POP)对堆栈进行操作时,存放栈顶

39、的地址。BP:存放数据或操作数在堆栈段内的基地址。变址寄存器:SI、DI。通常用在字符串操作时存放操作数的偏移地址。段寄存器(4个):CS、DS、SS、ES。存放逻辑段的段地址控制寄存器:IP/F.IP:存放预取指令在代码段内的偏移地址。F(FLAGS)称为标志寄存器,,2.36个状态标志位和3个控制标志位。状态标志位:反映算术和逻辑运算结果的一些特征。CF(CarryFlag):进位标志位。进行加减运算时,若最高位发生进位或借位则CF1,否则CF0。PF(ParityFlag):奇偶标志位。当运算结果的低8位中含有偶数个1时,PF1,否则PF0。AF(AuxiliaryFlag):辅助进位标志位。加法或减法运算时,若结果的低字节的低4位向高4位有进位或借位,则AF1,否则AF0。ZF(ZeroFlag):零标志位。若当前的运算结果为0,则ZF1,否则ZF0。SF(SignFlag):符号标志位。与运算结果的最高位相同,当运算结果的最高位为1时,SF=1,否则为0。OF(OverflowFlag):溢出标志位。当运算结果超出了带符号数的范围,即溢出时,OF=1,否则OF=0。控制标志位:TF(TrapFlag):跟踪标志位。测试程序时,若将TF=1,8086/8088CPU处于单步工作方式,否则,将正常执行程序。IF(InterruptFlag):中断允许标志位。控制可屏蔽中断

温馨提示

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

评论

0/150

提交评论