6c8e5a932cc13b636c9abc41729edb5e.png
自动化人 - 知乎​www.zhihu.com
341ce9462ca03028f3279a6f3706bbef.png
华东子:微机接口技术1——CPU与外设数据传送方式​zhuanlan.zhihu.com
cc45f1460e85117f116eea54efafe71c.png

2.1 8086/8088CPU的内部结构

2.1.1 80X86微处理器系列

(1)从8080/8085到8086

Intel 8080微处理器是英特尔公司早期发布的一款比较成功的微处理器,继4004芯片推出的第三代微处理器。它于1974年4月发布,8位处理器,主频为2MHz,拥有16位地址总线和八位数据总线,包含7个八位寄存器,支持16位寻址,同时也包含一些输入输出端口,这是一个相当成功的设计,有效解决了外部设备在内存寻址能力不足的问题。

3b5e17740d9a147135c94bee62207eab.png

8080比4004快十倍,而且数据宽度也从4位扩展到8位,被广泛应用与各种控制系统和嵌入式系统中。自1975年第一台个人电脑诞生以后,8080芯片帮助英特尔在几年后占据了电脑芯片的霸主地位 。当时的Zilog 制造了与8080兼容的CPU z-80。[1]

fd39f4afde8ee93f2195540607865396.png

a49599e32b443843e50461bd75b9e93b.png

﹡8086是一款16位微处理器,内部及对外有16位数据通路,8080/8085只有8位。

﹡8086寻址空间1MB,8080/8085为64KB。

﹡8086有一个初级流水线结构,内部操作与对外操作具有并行性,8085没有。

﹡8086是一个里程碑。

9ce69a3cf7e094f3cef27820201b8404.png

(2)从8086到8088

﹡8088内部结构与8086相同,是16位微处理器,对外数据总线是8位的。

﹡8088与已有的8位外围芯片容易配合使用。

﹡8088价格低,适合当时的微计算机使用。

(3)8088获得成功

﹡IBM公司选择8088作为处理器设计个人计算机,大获成功,Intel微处理器成为主流产品。

2.1.2 8086微处理器的逻辑框图:

逻辑结构上分EU与BIU两部分:

﹡执行部件(EU):由ALU、通用寄存器组、状态寄存器及操作控制器电路组成。

﹡总线接口部件(BIU):由专用寄存器、指令队列缓冲器、地址加法器等功能部件组成。形成对外总线,与存储器、I/O接口电路进行数据传输。

EU 与 BIU的流水线操作: EU 与 BIU可独立工作,BIU在保证EU与片外传送操作数前提下,可进行指令预取,与EU可重叠操作。

0075df74910a0c90d6e6bfa968ef04d2.png

1)执行部件EU的功能

从BIU的指令队列缓冲器中取出指令,由EU控制器的指令译码器译码产生相应的操作控制信号给各部件

对操作数进行算术运算和逻辑运算,并将运算结果的状态特征保存到状态寄存器FR中

EU不直接与CPU外部系统相连,当需要与主存储器或I/O设备交换数据时,EU向BIU发出命令,并提供给BIU16位有效地址及所需传送的数据

2)执行部件EU的组成

EU由算术逻辑单元ALU、通用数据寄存器组、地址指针和变址寄存器、标志寄存器、数据暂存寄存器、EU控制器组成

3)EU的特点

通用数据寄存器AX,BX,CX,DX,既可以作16位寄存器使用,也可以分成高、低8位分别作两个8位寄存器使用

ALU的核心是16位二进制加法器

16位状态标志寄存器PSW(7位未用)存放操作后的状态特征和设置的控制标志

EU控制器是执行指令的控制电路,实现从队列中取指令、译码、产生控制信号等。

2ae3814f5f8def68103eacfe78ef5f82.png

BIU从主存取指令送到指令队列缓冲器

CPU执行指令时,总线接口单元要配合EU从指定的主存单元或外设端口中取数据,将数据传送给EU或把EU的操作结果传送到指定的主存单元或外设端口中

计算并形成访问存储器的20位物理地址

4)BIU的组成与特点

BIU由4个16位段寄存器、16位指令指针寄存器、20位物理地址加法器、6字节指令队列及总线控制逻辑组成

BIU的特点: 指令队列是由6个字节的寄存器组成(8088指令队列由4个字节组成) 先进先出, 地址加法器是用来产生20位存储器物理地址的。

41ccfc7f55ce1b31e4ddb766000919a8.png

8086分配20条引脚线分时传送20位地址,16位数据和4位状态信息

2.1.3 8086/8088的内部寄存器

14个16位寄存器:8个通用寄存器/4个段寄存器/2个控制寄存器

53e8061994cccc561a366de0f066fb53.png
图2-1 8086 内部寄存器

8086的寄存器结构

通用数据寄存器组、地址指针和变址寄存器、段寄存器组、指令指针寄存器IP(Instruction Pointer)、标志寄存器

指令指针寄存器和标志寄存器

(1)指令指针寄存器IP 指令指针寄存器IP是一个16位的表示地址指针的寄存器

(2)标志寄存器FR(Flag Register) 标志寄存器也称为程序状态字PSW(Program Status Word)寄存器,它是一个16位的标志寄存器,但仅使用其中的9位

936044c0240d28a7a4017fe65c1b42c6.png
图2-2 8086CPU标志寄存器

状态标志flag(6个)

CF (Carry Flag)进位标志:右进位为1

AF (Auxiliary Flag)辅助进位标志:第3位右进位置1(半字节)

PF (Parity Flag)奇偶进位标志:结果中1的个数位为偶数置1。

OF (Over Flag)溢出标志:溢出为1

SF (Sign Flag)符号标志 :负为1, 取最高有效位

ZF (Zero Flag)零标志:是0为1

控制标志(3个)

DF(Direction Flag)方向标志:DF为1,SI、DI减量,由高地址 向低地址处理;DF为0,SI、DI增量,由低地址向高地址处理

IF(Interupt Flag )中断标志: IF为1时允许中断

TF(Trap Flag)陷阱标志( 又叫跟踪标志):每执行一条指令就引起一个内部中断。用于单步方式操作,TF为1,指令执行完后产生陷阱,由系统控制计算机;TF为0,CPU不产生陷阱,正常工作.

控制信息由系统程序或用户程序根据需要用指令设置

状态信息由中央处理机根据计算机的结果自动设置

2.2 8086/8088的引脚功能

即引脚信号的定义。引脚名为该引脚功能的英文缩写,基本反映了信号的作用,即含义。

一、信号的有效电平

指控制引脚使用有效时的逻辑电平。低电平有效的引脚名字上面加有一条横线,引脚名字上无横线者为高电平有效。另有一些引脚信号编码使用,即高、低电平均有效,分别表示不同的状态或数值。还有些引脚信号为边沿有效,即信号仅在上升(或下降)沿有效。

二、信号的流向

芯片与其他部件的联系全靠在引脚上传送信息,这些信息可能自芯片向外输出,也可能从外部输入到芯片,还可能是双向的。

CPU的地址线(AB)是输出的,用以寻址存储器单元或I/O端口

数据线(DB)是双向的,CPU可通过它从存储器或外设读取数据,也能将数据输出给它们

CPU的某些控制线是输出的,用来对外界提供控制,也有些控制线是输入的,通过这些流入的信息,可以接受外界的联络信号

三、引脚的复用

在芯片的设计中,有时为了以少量引脚提供更多的功能,会采用引脚复用的做法。如8086中就采用地址、数据线分时复用的方法,即当引脚上出现有效信号时,前一时刻总线上出现地址,后一时刻,其上传输的是数据。

四、三态能力

“三态”能力是指有些引脚除了能正常输出或输入高、低电平外,还能输出高阻状态。当它输出高阻状态时,表示芯片实际上已放弃了对该引脚的控制,使之“浮空”。这样,与总线相连接的其它设备就可以获得对总线的控制权,系统转为接受总线的设备控制下工作。

﹡8086/8088微处理器采用40条引线双列直插(DIP)封装。

﹡ 8086/8088微处理器引线,在逻辑上可分为3类:地址总线信号、数据总线信号、控制总线信号。还有一些专用信号:电源、地、时钟。

﹡ 8086/8088采用引线分时复用技术,一条引线不同时间代表不同信号,解决引线不够问题。

8086系统处于最小模式,就是系统中的CPU只有8086单独一个处理器。在这种系统中,所有总线控制信息都直接由8086产生,系统中总线控制逻辑电路被减到最少,这些特征就是最小模式名称的由来。最小模式适合于较小规模的系统。

在最大模式系统中有多个微处理器,其中必有一个主处理器8086,其他处理器称为协处理器或辅助处理器,承担某一方面的专门工作。

华东子:微机接口技术2——80X86芯片引脚功能​zhuanlan.zhihu.com
2224bf8137cb1fa0cebfac7bea72377d.png
自动化人 - 知乎​www.zhihu.com
341ce9462ca03028f3279a6f3706bbef.png

注:版权属笔者所有,如需转载请务必联系!自动化人 - 知乎注:版权属笔者所有,如需转载请务必联系!

最后说一句:码字不易,若此文对你有启发,收藏前请点个赞、点点喜欢,是对知乎主莫大的支持!!

参考

1.^文中内容或图片如有侵犯您的权益,请联系作者删除。

参考

  1. ^Intel 8080 https://baike.baidu.com/item/Intel%208080/997320?fr=aladdin
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐