第四章微处理器_第1页
第四章微处理器_第2页
第四章微处理器_第3页
第四章微处理器_第4页
第四章微处理器_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

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

文档简介

第四章微处理器4.1微处理器概述微处理器(Microprocessor)是微机的运算及控制部件,也称中央处理单元(CPU)。它本身不构成独立的工作系统,因而它不能独立地执行程序。通常,微处理器由算术逻辑部件(ALU)、控制部件、寄存器组和片内总线等几部分组成,这些都在前面几章中讲过了有了一定的基础。E83004.28086/8088微处理器的结构

Intel系列的16位CPU双列直插式封装40根引脚工作频率为4.77MHz~10MHz工作电源+5V

8088

8086:对外有16根数据线,20根地址线可寻址的内存单元数220=1M内存地址范围00000~FFFFFH8088:

内部寄存器、运算部件及内部操作均按16位设计,

除对外数据线为8根外,其余与8086基本相同。

80868086/8088CPU的结构

8086CPU从功能上可分为两部分,即总线接口部件BIU(Bus1nterfaceUnit)和执行部件EU(ExecutionUnit)。8086的内部结构如图4-1所示DSESSSCSIP数据暂存器执行部件控制电路指令译码器总线接口控制电路AXBXCXDXAHBHCHDHSIDIBPSPALBLCLDL寄存器组BIUABDBCB地址加法器指令队列PSW标志寄存器EU运算器DSESSSCSIP数据暂存器执行部件控制电路指令译码器总线接口控制电路AXBXCXDXAHBHCHDHSIDIBPSPALBLCLDL寄存器组BIUABDBCB地址加法器指令队列FR标志寄存器EU运算器1.执行部件

执行部件(EU)的功能就是负责指令的执行。从结构图4-1中,可见到执行部件由下列部分组成:1)四个通用寄存器,即AX、BX、CX、DX;2)四个专用寄存器,即

基数指针寄存器——BP,堆栈指针寄存器——SP,源变址寄存器——SI,目的变址寄存器——DI;3)标志寄存器(FR);4)算术逻辑部件(ALU)。8086/8088的EU有如下特点:

①、四个通用寄存器既可以作为16位寄存器使用,也可以作为8位寄存器使用。当BX寄存器作为8位寄存器时,分为BH和BL,BH为高8位,BL为低8位。

②.AX寄存器也常称为累加器,8086指令系统中有许多指令都是通过累加器的动作来执行的。

③.加法器是算术逻辑的主要部件,绝大部分指令的执行都由加法器来完成。

9个标志按其作用分状态标志和控制标志两类

状态标志:OF、SF、ZF、AF、PF、CF

共6个记录指令运行过程或运算结果的状态信息。控制标志:DF、IF、TF

共3个

作用是控制CPU的操作。16位寄存器,用了其中的9位,其它7位在8086/8088中无意义。5).标志寄存器FR各状态标志的含义:CF:进位标志(CarryFlag)反应运算过程中,最高位是否产生进位/借位。(最高位对字节操作指D7位,对字操作指D15位)加法,最高有效位有进位CF=1,否则CF=0减法,最高有效位有借位CF=1,否则CF=0AF:辅助进位标志(AuxiliaryCarryFlag)反应运算过程中,对字节操作D3位是否产生进位。对字操作D7位是否产生进位。有进位或借位时,AF=1,否则AF=0。ZF:零标志(ZeroFlag)反映运算结果是否为0。

运算结果为0时,ZF=1,否则ZF=0SF:符号标志(SignFlag)

反映运算结果的符号位。对字节操作SF=D7对字操作SF=D15OF:溢出标志(OverflowFlag)

反映运算过程中是否产生溢出。产生溢出,OF=1,否则为0。PF:奇偶标志(ParityFlag)

反映运算结果中“1”的个数情况。有偶数个“1”时,PF=1,否则PF=0。

10110101被加数8位

+

10001111加数8位进位1

111111

01000100和8位PSW标志寄存器运算器标志寄存器运算器被加数加数和进位例

8位二进制加法如下,给出各状态标志位的值

最高位D7位产生进位:CF=1D3位产生进位:AF=1相加的结果为44H,不为0:ZF=0结果的最高位为0:SF=0两负数相加结果为正,溢出:OF=1结果中有2个1,偶数个1:PF=1100111各控制标志作用(以后用到再介绍):DF:方向标志(DirectionFlag)在串操作指令中控制地址变化的方向。当DF=1时,地址递减;当DF=0时,地址递增。IF:中断标志(IntermitFlag)当IF=1时,允许CPU响应可屏蔽中断申请。当IF=0时,禁止CPU响应可屏蔽中断申请。TF:跟踪标志(TrackFlag)为调试程序设置的一个控制标志。当TF=1时,CPU按单步方式执行指令。2.总线接口部件BIU

构成部分

4个16位段寄存器:

CS,DS,ES,SS16位IP指令指针寄存器

20位地址加法器指令队列(8088为4字节)(8086的指令队列为6字节)

总线控制电路:处理器与外界总线联系的转接电路。DSESSSCSIP数据暂存器PSW标志寄存器执行部件控制电路指令译码器AXBXCXDXAHBHCHDHSIDIBPSPALBLCLDL寄存器组指令队列总线接口控制电路运算器地址加法器8088编程结构BIUEU

主要功能负责与存储器、I/O接口传递数据3、8086/8088的寄存器组共有14个16位寄存器,AX,BX,CX,DX,SI,DI,SP,BP,DS,ES,SS,CS,FR,IP.

其中:

AX、BX、CX、DX

又可分成两个8位寄存器(AH,AL;BH,BL;CH,CL;DH,DL.)

其它10个只能作为16位寄存器。DSESSSCSIP数据暂存器执行部件控制电路指令译码器总线接口控制电路AXBXCXDXAHBHCHDHSIDIBPSPALBLCLDL寄存器组BIUABDBCB地址加法器指令队列PSW标志寄存器EU运算器8088编程结构DSESSSCSIP数据暂存器执行部件控制电路指令译码器总线接口控制电路AXBXCXDXAHBHCHDHSIDIBPSPALBLCLDL寄存器组BIUABDBCB地址加法器指令队列FR标志寄存器EU运算器

总线接口部件和执行部件并不是同步工作的,它们是按以下流水线技术原则管理:

(1)每当8086的指令队列中有2个空字节,BIU就会自动把指令取到指令队列中。而同时EU从指令队列取出一条指令,并用几个时钟周期去分析、执行指令。(2)当指令队列已满,而且EU对BIU又无总线访问请求时,BIU便进入空闲状态。

(3)在执行转移、调用和返回指令时,指令队列中的原有内容被自动清除。4.存储器结构

8086/8088系统中存储器按字节编址,可寻址的存储器空间为1M字节,由于1M字节为220,因此每个字节所对应的地址应是20位,这20位的地址称为物理地址。

(1)存储器的分段20位的物理地址在CPU内部就应有20位的地址寄存器,而机内的寄存器是16位的(16位机),16位寄存器只能寻址64K字节。8086/8088系统中把1M存储空间分成若干个逻辑段,每个逻辑段容量(64K字节,因此1M的存储空间可分成16个逻辑段(0一15)。

允许逻辑段在整个存储空间浮动,即段与段之间可以部分重叠、完全重叠、连续排列、断续排列非常灵活,在整个存储空间中可设置若干个逻辑段,如图4-2所示。(物理地址12000)在8086/8088存储空间中,把16字节的存储空间称作一节(Paragraph)。

为了简化操作,要求各个逻辑段从节的整数边界开始,也就是说段首地址低4位应该是“0”,因此就把段首地址的高16位称为“段基址”。

存放在段寄存器DS或CS或SS或ES中,段内的偏移地址存放在IP或SP中。

若已知当前有效的代码段、数据段、附加段和堆栈段的段基址分别为1055H、250AH、8FFBH和EFF0H,那么它们在存储器中的分布情况如图4-4所示。(2)存储器中的逻辑地址和物理地址采用分段结构的存储器中,任何一个逻辑地址由段基址和偏移地址两个部分构成,它们都是无符号的16位二进制数。

任何一个存储单元对应一个20位的物理地址,也可称为绝对地址,它是由逻辑地址变换得来的,当CPU需要访问存储器时,必须完成如下的地址运算:物理地址=段基址*16+偏移地址

物理地址的形成如图4-5所示,它是通过CPU的总线接口部件BIU的地址加法器来实现的。例,在8086CPU中,设某段寄存器的内容为1000H,试确定由该段寄存器所决定的内存段的起始地址和终止地址在8086CPU中,CS寄存器和IP寄存器的内容分别如下,试确定由CS和IP指定的内存指令地址(1)CS=1000HIP=2000H(2)CS=1234HIP=ABCDH解:10000H~1FFFFH解:1)1000H*16+2000H=12000H2)1234H*16+ABCDH=1CF2DH

我们可以把每一个存储单元看成是具有两种类型的地址:物理地址和逻辑地址。

物理地址就是实际地址,它具有20位的地址值,它是唯一标识1M字节存储空间的某一个字节的地址。

逻辑地址由段基址和偏移地址组成。程序以逻辑地址编址,而不是用物理地址编址。

5.8086总线的工作周期

为了取得指令和传送数据的协调工作,就需要CPU的总线接口部件执行一个总线周期。在8086/8088中,一个最基本的总线周期由四个时钟周期组成,时钟周期是CPU的基本时间计量单位,它由计算机主频(基频和倍频)决定。例如,8086的主频为10MHz,一个时钟周期就是100ns。在一个最基本的总线周期中,常将四个时钟周期分别称为四个状态,即T1状态、T2状态、T3状态、T4状态。典型的8086总线周期序列见图4-6。在T1状态:CPU往多路复用总线上发出地址信息,以指出要寻址的存储单元或外设端口的地址。

在T2状态:CPU从总线上撤消地址,而使总线的低16位浮置成高阻状态,为传输数据做准备。总线的最高四位(A16—A19)用来输出本总线周期状态信息。空闲周期

在T3状态:高4位继续提供状态信息,低16位

传递数据。

如果外设或存储器没有准备好,怎么办?这时,外设或存储器会通过“READY”信号线在T3状态启动之前,向CPU发一个“数据未准备好”信号,于是CPU会在T3之后插入一个或多个附加的时钟周期Tw,Tw也叫等待状态。

什么时候结束Tw状态?在T4状态:总线周期结束。

需要指出的是,只有在CPU和内存或I/O接口之间传输数据,以及填充指令队列时,CPU才执行总线周期。可见,如果在一个总线周期之后,不立即执行下一个总线周期,那么系统总线就处在空闲状态,此时,执行空闲周期。

6.8086/8088CPU的引脚和工作模式

(1)8086和8088的引脚如图4-7所示:8086/8088各引脚信号的:功能如下:

1.AD15一AD0。(AddressDatabus)地址/数据复用引脚(双向工作)作为复用引脚,在总线周期的T1状态用来输出要访问的存储器或I/O端口地址。(AD0—低八位数据的选通信号)

2.A19/S6一A16/S3(Address/Status)地址/状态复用引脚(输出)3.BHE/S7(BusHighEnab1e/status)高8位数据总线允许/状态复用引脚(输出)BHE信号和AD0会控制连接在总线上的存储器和接口以何种格式传输数据,具体规定见表4-3(P81)。

4.NMI(Non一Maskab1einterrupt)非屏蔽中断引脚(输入)非屏蔽中断信号是不受中断允许标志IF的影响,也不能用软件进行屏蔽。每当NMI端进入一个正沿触发信号时,CPU就会在结束当前指令后,进入对应于中断类型号为2的非屏蔽中断处理程序。5.1NTR(1nterruptRequest)可屏蔽中断请求信号引脚(输入)可屏蔽中断请求信号为高电平有效,CPU在执行每条指令的最后一个时钟周期会对INTR信号进行采样,如果CPU中的中断允许标志为1,并且又接收到INTR信号,那么,CPU就会在结束当前指令后,响应中断请求,进入一个中断处理子程序。

6.RD(Read)读信号引脚(输出)此信号指出将要执行一个对内存或I/O端口的读操作。到底是读取内存单元中的数据还是I/0端口中的数据,这决定于M/IO信号。7.CLK(Clock)时钟引脚(输入)

8.RESET(Reset)复位信号引脚(输入)复位信号来到后,CPU便结束当前操作,并对处理器标志寄存器、IP、DS、SS、ES及指令队列清零,而将CS设置为FFFFH。当复位信号变为低电平时,CPU从FFFF0H开始执行程序。

9.READY“准备好”信号引脚(输入)“准备好”,信号实际上是由所访问的存储器或1/O设备发来的响应信号,高电平有效。“准备好”,信号有效时,表示内存或I/O设备准备就绪,马上就可进行一次数据传输。10.TEST测试信号引脚(输入)测试信号为低电平有效。TEST信号是和指令WAIT结合起来使用的,在CPU执行WAIT指令时,CPU处于空转状态进行等待;当8086的TEST信号有效时,等待状态结束,CPU继续往下执行被暂停的指令。11.MN/MX(Minimum/MaximumModeControl)最小/最大模式控制信号引脚(输入)它是最大模式及最小模式的选择控制端。此引脚固定接为+5V时,CPU处于最小模式;如果接地,则CPU处于最大模式。12.GND地和VCC电源引脚

13、INTA(1nterruptAcknowledge)中断响应信号(输出)

14、ALE(AddressLatchEnable)地址锁存允许信号(输出)这是8086/8088提供给地址锁存器8282/8283的控制信号,高电平有效。

15.DEN(DataEnable)数据允许信号在最小模式下作为数据允许信号输出端。在用8286/8287作为数据总线收发器时,DEN为收发器提供了一个控制信号,表示CPU当前准备发送或接受一个数据。16.DT/R(DataTransmit/Receive)数据收发(输出)在使用8286/8287作为数据总线收发器时,DT/R信号用来控制8286/8287的数据传送方向。如果DT/R为高电平,则进行数据发送;如果DT/R为低电平,则进行数据接收。

17.M/IO(Memory/Inputandoutput)存储器/输入/输出控制信号(输出)此信号若为高电平,表示CPU和存储器之间进行数据传输;若为低电平,表示CPU和输入/输出设备之间进行数据传输。18.WR(Write)写信号(输出)此信号为低电平有效。WR有效时,表示CPU当前正在进行存储器或I/O写操作,具体到底为哪种写操作,则由M/IO信号决定。

19.HOLD(HoldRequest)总线保持请求信号(输入)20.HLDA(HoldAcknow1edge)总线保持响应信号(输出)(2)8086/8088CPU工作模式

8086/8088的工作模式完全是由硬件决定的。为了尽可能适应各种使用场合,在设计8086/8088CPU芯片时,就使得它们可以在两种模式下工作,即最大模式和最小模式。所谓最小模式,就是在系统中只有8086/8088一个微处理器。在这种系统中,所有的总线控制信号都直接由8086/8088产生,因此,系统中的总线控制逻辑电路被减到最少。

8087是一种专用于数值运算的处理器,它能实现多种类型的数值操作,例如高精度的整数和浮点运算,也可以进行超越函数(如:三角函数、对数函数)的计算。最大模式是相对最小模式而言,它用在中等规模的或者大型的8086/8088系统中,在此系统中,包含两个或多个微处理器。其中一个主处理器就是8086/8088,其它的处理器称为协处理器。它们是协助主处理器工作的。和80

温馨提示

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

评论

0/150

提交评论