单片机与8086的差异.docx

上传人:b****2 文档编号:23180638 上传时间:2023-05-15 格式:DOCX 页数:6 大小:173.46KB
下载 相关 举报
单片机与8086的差异.docx_第1页
第1页 / 共6页
单片机与8086的差异.docx_第2页
第2页 / 共6页
单片机与8086的差异.docx_第3页
第3页 / 共6页
单片机与8086的差异.docx_第4页
第4页 / 共6页
单片机与8086的差异.docx_第5页
第5页 / 共6页
点击查看更多>>
下载资源
资源描述

单片机与8086的差异.docx

《单片机与8086的差异.docx》由会员分享,可在线阅读,更多相关《单片机与8086的差异.docx(6页珍藏版)》请在冰豆网上搜索。

单片机与8086的差异.docx

单片机与8086的差异

单片机与8086的差异

单片机与8086/8088的差异

从广义上来看8086/8088属于微处理器(MPU),而单片机则属于微控制器(MCU),所以先来处理微处理器和微控制器的区别。

这样的区别主要集中在硬件结构、应用领域和指令集特征3个方面:

1.硬件结构

微处理器是一个单芯片CPU,而微控制器则在一块集成电路芯片中集成了CPU和其他电路,构成了一个完整的微型计算机系统。

而一个完整的微型计算机系统不仅除了CPU以外还包括存储器(ROM、RAM)、串并行的I/O接口,计时器和中断调度电路。

这些都集成在一块集成电路上。

此外,微控制器的一个最为重要的特征便是内建的中断系统。

作为一个面向控制的设备,微控制器经常要实现响应外界的中断,微控制器必须能够快速的执行上下文的切换,在执行一个进程的时候去执行另一个进程响应一个“中断事件”。

2.应用领域

微处理器通常作为微型计算机系统中的CPU使用而这一点也是微处理器的优势所在。

然而,微控制器通常应用于面向控制的应用。

其系统设计追求小巧(大小方面),从而尽可能达到减少元器件的数量。

在过去的很长一段时间中,我们将其应用到实际中时需要成千上万个数字集成电路来完成。

但现在我们可以使用微控制器不仅减少了元器件的数量还能够完成同样的功能,由此我们可以推断出微控制器适用于那些需要极少的元器件来实现对输入/输出设备的控制而微处理器则适用于计算机系统中进行信息处理。

3.指令集特征

在第二点中我们提到微处理器和微控制器的应用领域不同,所以他们的指令集也会有所差异。

微处理器的指令集增强了处理功能,使其拥有强大的寻址模式和适于操作大规模数据的指令。

微处理器的指令可以对半字节、字节、字、双字节进行操作。

通过使用地址指针和地址偏移,微处理器提供了可以访问大批数据的寻址模式。

自增和自减模式使得以字节、字或双子为单位访问数据变得非常容易。

微控制器的指令集适用于输入/输出控制。

许多输入/输出的接口是单/位的。

微控制器具有设置和清除单位的指令,也能执行其他方面的操作,例如对“位”进行逻辑与、或和异或运算,同时也可以根据标志位进行跳转等,所以我们可以根据微控制器的指令集适用于输入/输出控制从而达到对设备的控制和监听。

微控制器具有专门的内部电路和指令用于输入/输出、及时和外部中断的优先权分配。

一般在执行一些任务时我们需要给微处理器附加一些电路从而才能进行工作,所以在处理能力方面,微处理器比微控制器的处理能力强。

我们都知道微控制器的内存容量并不像我们的PC机一样多,所以这也就要求我们微控制器的执行指令必须十分精简,大部分指令的长度都短于1个字节。

而指令的精简在微处理器上表现并不是很明显这也是由于微处理器拥有强大的寻址模式从而导致指令的编码不够简洁。

8086与51单片机的差异

808651单片机

+5V电源+5V电源(COMS版)

时钟频率:

5MHz~10MHz时钟频率:

1.2MHz~12MHz

16位外部数据线16位地址总线

20位外部地址总线64KB程序存储器寻址空间

可寻址1MB地址空间64KB片外数据存储寻址空间

256个中断向量4KB片内程序存储器

并行流水线处理结构128字节片内数据存储器

8086CPU支持多处理器系统32根双向、可独立寻址的I/O线

2个16位定时器/计数器

1个全双工串口

6个中断源/5个中断向量

扩展的布尔处理能力(位处理)

冯诺依曼结构哈佛结构

此外在8086中能直接存出结果的仅有寄存器,必须连接/扩展外部存储器;而对于51单片机内部不但包含特殊功能寄存器还有一定的RAM,内部RAM与特殊功能寄存器的存取速度无异。

 

冯诺依曼结构:

程序和数据存储在同一个物理存储器上。

哈佛结构:

程序和数据存储在不同的物理存储器上。

指令及寻址

1、指令数量

两者都是操作码占一个字节00~0FFH,按排列来说共有256条指令。

但实际上8086却有297条指令(操作码中的特征位、方式字段和寄存器字段来区分操作数的位置、字长等),还有一些未用到的编码。

51单片机有255条指令,只有十六进制数0A5H不是操作吗,但如果我们用Ri替代R0、R1和Rn替代R0~R7则51单片机的指令可精简至111条。

我们可以看出,8086的指令容量逼51单片机的指令容量大的多,易于实现复杂操作但指令占用的存储资源多;51单片机的指令容量虽然有限,但它占用的资源少。

2、寻址方式

1.立即数寻址

虽然二者的源操作数都可以是8/16位,但是51单片机仅有MOVDPTR,#data16这一条是16位的(其实质上是完成2条8位的立即数的传送指令,MOVDPH/DPL,#data8,因为特殊功能寄存器除PC外都仅在内部RAM占有一个地址)而8086的寄存器都是16位的,只是有时我们在使用时可以将那些可以拆分成两个8位的寄存器来使用。

另外,对于51单片机立即寻址方式仅涉及程序存储器,而与数据存储器无关。

2.直接寻址

一、8051用#来区分是立即数还是内存单元,而8086则用[]来区分是内存单元还是立即数。

二、51单片机的直接寻址范围是内部RAM的低128字节,高128字节是特殊功能寄存器所在的区域,而8086在合理设置的段寄存器的基础上可以遍寻外部1MRAM的任意单元。

三、对于8051源和目的操作数可为直接寻址,但对于8086则不可以。

3.寄存器寻址

一、8086寄存器寻址的速度非常快,而这一点在51单片机体现不出来。

2、除PC外,8086寄存器都可被寻址,而51单片机可寻址的寄存器有特殊功能寄存器还包含Rn.

3、51单片机不允许Rn之间彼此赋值;8086寄存器寻址限制较多,不允许对段寄存器直接赋值,不允许段寄存器之间赋值等等。

4.寄存器间接寻址

寄存器间接寻址:

是由直接寻址和寄存器寻址的有点结合而产生。

对于51单片机来讲是访问高128位内部RAM唯一方法。

但对8086来说同直接寻址方式一样,不允许源和目的操作数都是寄存器间接寻址,也就是说任何一条8086指令最多只能有一个操作数处理对象是存储器另一个必然是寄存器。

5.相对寻址

1、对于8086是基址寄存器+相对偏移量形成的,对取数据和程序转移都可以执行;对于51单片机则仅是针对程序转移用的,所以8051跳转及程序调用都是在程序存储器范围内而不可能跳转到数据存储器上的。

2、二者的转移范围也是不同的,8051的转移范围是一个字节有符号数补码的表示范围-128~+127,8086的转移范围要大得多。

6.基址变址寻址

8086既可以查数据表,也可以用来作为程序散转的入口;8051仅是用于访问程序存储器中的数据表格。

7.位寻址

这是8051特有的,在其内部RAM中开辟了一些区域可以进行位操作;而8086则不行。

比如在清/设置D7位的时候可能的方式有:

1)ANDAL,7FH;清02)ORAL,80H;置1

1)

CLRC;清02)SETBC;置1

 

标志寄存器

 

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1