文档详情

微机原理与接口技术-1.4微处理器

油条
实名认证
店铺
PPT
3.01MB
约79页
文档ID:47810094

微处理器Intel8086/8088 1. 8086/8088的功能结构8086是一种单片微处理器芯片,内外部数 据总线16位( 8088内部数据总线16位,外部数据 总线8位)对外40条引脚,主时钟5MHz、 8MHz 、10MHz等20条地址引脚,直接寻址220 =1MByte,可访问64K个I/O端口8086 CPU按功能可分为两大部分:一部分为BIU(BUS Interface Unit)专门负责取指令和存取操作数 它与BUS打交道 一部分为EU(Execution Unit)专门负责分析指令与执行指令 它不与系统BUS打交道1.EUEU单元负责指令的执行,由算术逻辑 单元ALU、标志寄存器F、通用寄存器及 EU控制器等组成,主要进行16位的各种 运算及有效地址的计算EU不与计算机 系统总线(外部总线)相关,而从BIU中的 指令队列取得指令这个指令队列中,存 放着BIU预先由存储器中取出的若干个字 节的指令(8088为4个字节,8086为6个字 节长队列)1)执行单元EU数据寄存器 AX、 BX、CX、DX专用寄存器 SP、 BP、SI、DI标志寄存FLAG算数逻辑部件 ALUEU控制逻辑单元执行部分 控制电路ALU标志寄存器AH AL BH BL CH CLDH DLSPBPSIDI通用 寄存 器执行部件 (EU)16位8位8088CPU的内部寄存器8088CPU内部共有14个16位的寄存器 ,其中包括4个16位的数据寄存器AX、 BX、CX、DX;2个16位的指针寄存器 SP、BP;2个16位的变址寄存器SI、DI; 2个16位的控制寄存器IP、F及4个16位的 段寄存器CS、DS、ES、SS,如图2.1所 示。

1.通用寄存器组通用寄存器组包括4个数据寄存器AX、 BX、CX、DX;2个指针寄存器SP、BP及2个 变址寄存器SI、DI4个数据寄存器用来存放16位数据,也 可以将每个数据寄存器分为2个8位的寄存器 ,用于存放8位数据此时,AX可分为AH及 AL;BX可分为BH及BL;CX分为CH及CL; DX分为DH及DL,它们可作为8位寄存器单 独使用这样既可以进行16位的算术运算和 逻辑运算,也可以进行8位的算术运算和逻辑 运算,这是8088指令系统的一个特点 两个指针寄存器中的SP是堆栈指 针寄存器,它和堆栈段寄存器一起就 可以确定堆栈在内存中的位置BP是 基数指针寄存器,通常用来存放基地 址,使得8088的寻址更加灵活两个变址寄存器:SI是源变址寄 存器,DI是目的变址寄存器,均用于 指令的变址寻址SI通常指向源操作 数,而DI通常指向目的操作数不仅4个数据寄存器可以任意参 加算术运算和逻辑运算,而且 BP,SP,SI,DI也可以任意参 加算术运算和逻辑运算,因而 称以上寄存器为通用寄存器为了充分地利用这些通用寄存 器,在某些指令中又对其中的寄 存器作了特殊的约定,使这些寄 存器在通用的基础上附加了一点 特殊性。

这些特殊的约定虽然增加了 掌握指令的难度,但是当学完指 令系统后会发现,这点难度是不 大的,是容易克服的例如,虽然通用寄存器都可作为 累加器使用,但在某些算术运算中(如 乘法运算、除法运算、十进制调整等) ,还是指定了以AX作为累加器,这就 使AX与其它的通用寄存器有所区别, 因而在8088中,把AX称为累加器由于在变址寻址中,指定BX为基 址寄存器,因此,BX便被称为基址寄 存器在循环控制或重复操作的指令 中,常把循环或重复的次数放在 CX或CL中,因而称CX为计数寄存 器在乘法、除法中,乘积或被除 数超过16位时,总是用DX与AX存 放,故DX便被称为数据寄存器对于SI和DI寄存器也有类 似的情况,即在专用的串操作 指令中,指定SI作为源串的地 址指针,DI作为目标串的地址 指针,并在串指令执行时,自 动地改变SI或DI的值,因而称 SI、DI为变址寄存器SP作为堆栈栈顶元素的指针,不 能指向栈顶以外的元素,为此,增 加了一个基址指针寄存器BP,使它 可以指向由SS作为堆栈段基址的栈 中的任意位置BP与SP具有不同的 概念和用途,我们要注意将它们区别 开来2.专用寄存器组专用寄存器组包括作为控制寄存器使用的 指令指针寄存器IP和状态标志寄存器F,此外还 有4个用于实现1MB存储器寻址的段寄存器CS、 DS、SS、ES。

以上寄存器都是16位的寄存器8088指令中给出的地址最多只有16位,而与 寻址有关的寄存器也是16位的,由于16位地址 最多只能寻址64KB 4个段基地址CS、DS、ES、SS仅 仅指出了段从哪个地址开始,但还不 能决定正在使用的具体的存储单元的 地址,因此我们把正在使用的存储单 元的地址与所在段的基地址的偏移量 称为段内偏移量或者称为有效地址EA ,真正的物理地址是由段寄存器值左 移4位与段内偏移量相加后的结果,如 图2.2所示例如取指令时,CS值为2000H,而IP值为3500H,则 被取指令的物理地址为:20000H ——CS左移4位+) 3500H ——段偏移23500H ——物理地址又如SS值为7900H,已知栈顶元素的物理地址 为7B450H,则堆栈指针SP的值为:7B450H-) 79000H2450H即SP值为2450H.1MB是16个64KB存储器的总和,但 这并不意味着1MB只能包括16个逻 辑段因为这些段既可以首尾相连 ,可以相互间隔开也可以相互重 叠或者部分重叠,只要不影响程序 的正常执行(例如不会取错指令或数 据等)即行,所以,逻辑段个数可能 多于16个也可能少于16个。

此外,段寄存器如何与偏移量形 成相应的物理地址,这在8088中有个 基本约定正常情况下一般按这个基 本约定形成所需的物理地址,但也允 许有特例情况,被称为段超越,即不 用约定的段基址,而是用可修改的段 基址与某偏移量来形成所需的物理地 址,见表2.1 表2.1 段寄存器使用约定 专用寄存器组中的指令寄存 器IP只能与CS寄存器相互 结合,才能形成指令的真 正的物理地址执行单元EU的组成1:标志寄存FlagO D I T S Z A P C标志寄存器F则用来反映系统的状态 及指令执行的结果,8088的F使用了9 个标志位,各位有不同的意义,如图 2.3所示1)进位标志CF当指令执行的结果在最高位出现进位或借 位时,CF=1;否则CF=08088中,字节操作 的最高位为D7;字操作的最高位为D15在执 行加、减、比较、移位等指令时,将根据结果 改变CF标志位的状态 (2)奇偶标志PF当指令执行的结果中1的个数为偶数时,PF =1;否则PF=0在执行逻辑运算的指令时, 将根据结果改变PF标志位的状态。

(3)辅助进位标志AF当指令执行的结果,若低半字节(低4位)向 高半字节进位或借位时,AF=1;否则AF=0 该标志常用于十进制数运算结果的调整,以得 到十进制的结果4)零标志位ZF当指令执行的结果为0时,ZF=1;否则ZF= 05)符号标志位SF当运算结果的最高位(字节操作时为D7位,字 操作时为D15位)为1时,SF=1;否则SF=0因 SF与结果的最高位一致,故可用SF值反映结果是 正或负 OF溢出标志:当补码运算有溢出时,OF为1;否 则为0 1)所有的逻辑/算术运算 2)计算16位的偏移地址送到BIU,以形成 20 位的物理地址,以便对 1 兆空间的存储 器寻址 3)影响标志位Flag执行单元EU的组成2:算数逻辑部件 ALUEU控制逻辑单元8086CPU的中心控制单元,是 控制 定时与状态逻辑电路接 受指令队列缓冲器送来的指令 代码, 用于控制执单元中各部件 按制定的要求协调工作总线接口BIUØ 段寄存器 CS、DS、ES 、SSØ 地址加法器Ø 指令指针寄存器 IPØ 指令队列Ø 总线控制逻辑内部暂存器IPESSSDSCS输入/输出 控制电路外部总线1 2 3 4 5 6∑地址 加法 器指令队列缓冲器总线接口部件 (BIU)20位16位8位2. BIUBIU单元用来实现EU的所 有总线操作。

它由地址加法器 ,段寄存器CS、DS、SS、ES ,指令指针IP,指令队列缓冲 器和总线控制逻辑组成BIU负 责CPU与存储器或外部设备之 间的信息交换 将取指令部分和执行指令部分 分开的好处是,在EU执行指令的 过程中,BIU可以取出多条指令放 入指令流队列中当EU执行完一 条指令后,就可以立即执行下一条 指令,从而减少了CPU为取指令而 等待的时间,提高了运算的速度 这是8088CPU的一大优点段寄存器 CS、DS、ES、SSBIU的组成1:段寄存器 BIU的组成2:地址加法器BIU的组成3:指令指针寄存器 IP•IP(Instruction Pointer): 为16位, 终始 保持着EU要执行的下一条指令的偏 移地址(其值自动增加),不能用指令 直接修改, 但可以用间接方法修改( 例如:中断, 返回, 转移, 调用等等)BIU的组成4:指令队列(缓冲器) 指令队列缓冲器由6个8位(8086—6个 ,8088—4个)的FIFO寄存器构成, 其工作 流程如下: (1)BIU中的指令队列有2个或2个以上字节为空 时,BIU自动启动总线周期,取指填充指令队 列直至队列满,进入空闲状态。

(2)EU每执行完一条指令,从指令队列队首取指 系统初始化后,指令队列为空,EU等待BIU 从内存取指,填充指令队列3)EU取得指令,译码并执行指令若指令需要取 操作数或存操作结果,需访问存储器或I/O, EU向BIU发出访问总线请求 (4)当BIU接到EU的总线请求,若正忙(正在执行 取指总线周期),则必须等待BIU执行完当前 的总线周期,方能响应EU请求;若BIU空闲, 则立即执行EU申请总线的请求 (5)EU执行转移、调用和返回指令时,若下一条指 令不在指令队列中,则队列被自动清除,BIU 根据本条指令执行情况重新取指和填充指令队 列BIU的组成5:总线控制逻辑提供系统总线的控制信号,实 现数据、地址和状态信息的分时传 送由于8086/8088仅有40pin, 而16 位的DB 及20位的AB若分离设置的 话将占用36pin, 故8086采取了 AB/DB分时复用的方法, 但这样增加 了总线控制的复杂程度.BIU:负责与存储器接口,即8088与 存储器之间的信息传送 EU: 负责指令的执行将CPU分为两个单元,可以使取 指令和执行指令同时进行,减少了 CPU为取指令而等待的时间,从而提 高了CPU的利用率,提高了系统的运 行速度。

8088与8086微处理器的差别 1.结构区别8086的指令队列长度为6个字节,当 队列空闲两个字节时,BIU自动从存储器 取出指令字节,存入指令队列中;而8088 的指令队列为4个字节长,当队列空闲一个 字节时,BIU就自动取指令字节,并存到 指令队列中去2. 端脚上的区别8088对外数据总线为8位,故仅分 时复用地址线的低8位,即AD0~AD7 这8条为地址/数据线A8~A15专门 用于地址线8086对外数据总线为16位,故与 16位的地址线分时复用,即AD0~ AD15这16条均为地址/数据线2. 8086引脚功能和工作模式(1)、8086 的引脚说明8086/8088 的引脚信号 8086/8088芯片的各类信号线包括20根地址 线 ,8根(8088)或16根(8086)数据线及控制线、状 态线、时钟、电源和地线等总数大大超过了40 根线因此,为满足封装的要求 , 必须采用一线多用 的办法8086/8088引。

下载提示
相似文档
正为您匹配相似的精品文档