8086的寻址方式及例题解析_只此一文马上看懂8088与8086微型计算机之间的差别

d9b6833504c3de6379af62bf5b44f528.png

8088和8086两者的执行部件EU完全相同,其指令系统,寻址能力及程序设计方法都相同,所以两种CPU完全兼容。8086和8088在芯片内部均采用16位数据传输,所以都称为16位微处理器,但8086每周期能传送或接收16位数据,而8088每周期只采用8位。因为最初的大部分设备和芯片是8位的,而8088的外部8位数据传送、接收能与这些设备相兼容。8088采用40针的DIP封装,工作频率为6.66MHz、7.16MHz或8MHz,微处理器集成了大约29000个晶体管

4b9a3755457bb3426b512fc175a31cec.png

一、8086介绍

Intel 8086是一个由Intel于1978年所设计的16位微处理器芯片,是x86架构的鼻祖。不久之后,Intel 就推出了 Intel 8088 (一个拥有8根外部数据总线的微处理器)。它是以8080和8085的设计为基础,拥有类似的寄存器组,但是数据总线扩充为16位。总线界面单元(Bus Interface Unit)透过6字节预存(prefecth) 的队列(queue)位指令给执行单元(ExecuTIon Unit),所以取指令和执行是同步的,8086 CPU有20条地址线,可直接寻址1MB的存储空间,每一个存储单元可以存放一个字节(8位)二进制信息。

5d88300a12fc2087c570de8d5428e6ba.png

8086结构:

1、总线接口单元

总线接口部件由下列各部分组成

⑴4个段地址寄存器:

CS(code segment)——16位的代码段寄存器;

DS(data segment)——16位的数据段寄存器;

ES(extra segment)——16位的扩展段寄存器;

SS(stack segment)——16位的堆栈段寄存器;

⑵16位的指令指针寄存器IP;

⑶20位的地址加法器;

⑷6字节的指令队列缓冲器。

27b24e5289c65606e9f19e291304dad3.png

2、执行单元

执行部件由下列几个部分组成:

⑴8个通用寄存器:即AX、BX、CX、DX,BP,SP,SI,DI ;

其中,4个数据寄存器:AX、BX、CX、DX;

2个地址指针寄存器:BP(base pointer),SP(stack pointer);

2个变址寄存器:SI(source index),DI(desTInaTIon index) [2] ;

⑵标志寄存器FR(flags register);

⑶算术逻辑单元ALU(arithmetic logic unit)。

29ed11a193cd2706838c2832d0cf42dc.png

EU负责全部指令的执行,同时向BIU输出数据(操作结果),并对寄存器和标志寄存器进行管理。在ALU中进行16位运算,数据传送和处理均在EU控制下执行。

814ec220ce8f450b9589a160f690cf99.png

8086的两种工作方式:

1、最小模式

用于由8086单一微处理器构成的小系统。在这种方式下,由8086CPU直接产生小系统所需要的全部控制信号。器系统特点是:总线控制逻辑直接由8086CPU产生和控制。若有CPU以外的其他模块想占用总线,则可以向CPU提出请求,在CPU允许并响应的情况下,该模块才可以获得总线控制权,使用完后,又将总线控制权还给CPU。

a2bf9ad8231f3e8fd32de3f9b9a8f141.png

2、最大模式

用于实现多处理机系统,其中,8086CPU被称为主处理器,其他处理器被称为协处理器。在这种方式下,8086CPU不直接提供用于存储器或I/O读写的读写命令等控制信号,而是将当前要执行的传送操作类型编码为3个状态位输出,由总线控制器8288对状态信号进行译码产生相应控制信号。最大模式系统的特点是:总线控制逻辑由总线控制器8288产生和控制,即8288将主处理器的状态和信号转换成系统总线命令和控制信号。协处理器只是协助主处理器完成某些辅助工作,即被动的接受并执行来自主处理器的命令。和8086配套使用的协处理器有两个:一个是专用于数值计算的协处理器8087,另一个是专用于输入输出操作的协处理器8089。8087通过硬件实现高精度整数浮点数运算。8089有其自身的一套专门用于输入输出操作的命令系统,还可带局部存储器,可以直接为输入输出设备服务。增加协处理器,使得浮点运算和输入输出操作不再占用8086时间,从而大大提高了系统的运行效率。

36108cc2ec38eeb306b1c36c7ceb5679.png

二、8088介绍

8088是一个Intel以8086为基础的微处理器,拥有16位元暂存器和8位元外部资料总线。8088使用8位元的设计,所针对的是较为经济之系统。在它推出时候,大的资料总线宽度电路板还是相当地昂贵。8088的预取(prefetch)贮列(queue)是4字节,相对于8086的是6字节。1979年,英特尔公司开发出了8088。8086和8088在芯片内部均采用16位数据传输,所以都称为16位微处理器,但8086每周期能传送或接收16位数据,而8088每周期只采用8位。因为最初的大部分设备和芯片是8位的,而8088的外部8位数据传送、接收能与这些设备相兼容。

f26b0e10afd354170a23d0ed99b89c4b.png

8088功能结构;

8088CPU内部用两个独立的功能部件组成,分别为BIU和EU。

BIU(BusInterfaceUnit)BIU由段寄存器、IP、指令队列、地址加法器和控制逻辑组成。

BIU的功能是负责从内存中取指令送入指令队列,实现CPU与存储器、I/O接口之间的数据传送。

EU(ExecuTIonUnit)EU由通用寄存器、F寄存器、ALU和EU控制部件组成。EU的功能是分析指令和执行指令。

6db734a5940db70aef7ae5427f595af5.png

8088的指令系统:

MOV传输指令

1.数据传送指令(包括:MOV传送指令、堆栈操作指令、数据交换指令、地址传送指令、标志寄存器传送指令、换码指令、输入输出指令)

数据传送指令的特点:将数据从一个地址传送到另一个地址;数据在传送过程中不发生任何变化;对标志寄存器的内容无任何影响。

2.算术运算指令(包括:加法指令、减法指令、乘法指令、除法指令、十进制调整指令)

算术运算指令的特点:对状态标志位有影响;源操作数不变;目标操作数多数情况下发生变化。

3.逻辑运算和移位指令(包括:逻辑运算指令、移位指令、循环指令)

4.串操作指令(包括:MOVS指令、LODS指令、STOS指令、SCAS指令、CMPS指令)

重复操作前缀REP;REPZ/REPE;REPNZ/REPNE

串指令;若(CX)≠0,重复执行串指令

串指令;若(CX)≠0且(ZF)=1,重复执行串指令

串指令;若(CX)≠0且(ZF)=0,重复执行串指令偶就

5.控制转移指令(包括:无条件转移指令、条件转移指令、循环控制指令、子程序调用指令、子程序返回指令、中断返回指令)

控制转移指令的特点:将目标地址送入IP、CS从而实现转移。

0958d5522d3d1b562ad3255217e1d51b.png

三、8088和8086微型计算机的区别

正如我们开篇所提到的,8088和8086两者的执行部件EU完全相同,其指令系统,寻址能力及程序设计方法都相同,所以两种CPU完全兼容。8086和8088在芯片内部均采用16位数据传输,所以都称为16位微处理器,但8086每周期能传送或接收16位数据,而8088每周期只采用8位。因为最初的大部分设备和芯片是8位的,而8088的外部8位数据传送、接收能与这些设备相兼容。8088采用40针的DIP封装,工作频率为6.66MHz、7.16MHz或8MHz,微处理器集成了大约29000个晶体管。8088和8086的不同大致可归纳为以下几个:

ca2b24ed359bb47bc835b8540d8be5f6.png

1、外部数据总线位数的差别

8086CPU的外部数据总线有16位,在一个总线周期内可输入/输出一个字(16位数据),使系统处理数据和对中断响应的速度得以加快;而8088CPU的外部数据总线为8位,在一个总线周期内只能输入/输出一个字节(8位数据)。也正因为如此,8088被称为准16位处理器。

2、指令队列容量的差别

8086CPU的指令队列可容纳6个字节,且在每个总线周期中从存储器中取出2个字节的指令代码填入指令队列,这可提高取指操作和其它操作的并行率,从而提高系统工作速度;而8088CPU的指令队列只能容纳4个字节,且在每个总线周期中只能取一个字节的指令代码,从而增长了总线取指令的时间,在一定条件下可能影响取指令操作和其它操作的并行率。

3、引脚特性的差别

两种CPU的引脚功能是相同的,但有以下几点不同:

(1)AD15~AD0的定义不同:在8086中都定义为地址/数据复用总线;而在8088中,由于只需用8条数据总线,因此,对应予8086的AD15~AD8这8条引脚,只作地址线使用。

(2)34号引脚的定义不同:在8086中定义为BHE信号;而在8088中定义为SS0,它与DT/R,IO/M一起用作最小方式下的周期状态信号。

(3)28号引脚的相位不同:在8086中为M/IO;而在8088中被倒相,改为IO/M,以便与8080/8085系统的总线结构兼容。

4defa57e8d038824d177e90f850fae5e.png
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值