当前位置:文档之家› 8086-16位微处理器介绍

8086-16位微处理器介绍

第二章 8086/8088(16位)微处理器第一节、16位微处理器第一代微处理器 1971年Intel 公司推出4004和8008,是4和8位微处理器,采用PMOS 工艺。

第二代微处理器 1974年推出的8080、M6800、Z-80等,是8位微处理器,采用NMOS 工艺。

第三代微处理器 70年代后期Intel 公司推出8086/8088、Motorola 公司M68000、Zilog 公司的Z8000,是16位微处理器,采用HMOS 工艺。

80年代以来,Intel 公司推出80186用80286,与8086/8088兼容。

第四代微处理器 1985年,推出的80386及M68020是32位微处理器。

1989年推出80486。

1993年推出Pentium 及80586等更高性能的32位和64位微处理器。

第二节8086/8088CPU 结构微处理器 8086, 8088结构类似,内部都是16位总线,但外部性能是有区别。

8086CPU 功能结构分为两部分:总线接口部件BIU ,执行部件EU 。

两部分各自执行自己的功能并行工作,这种工作方式与传统的计算机在执行指令时的串行工作相比极大的提高了工作效率。

计算机执行程序时,CPU 的工作顺序是:取指令 执行指令 再取指令 再执行指令...特点:CPU 串行工作。

8086CPU 工作顺序是:取指令,执行指令同时进行。

特点:CPU 并行工作。

一、执行部件数据4个通用寄存器 : A X , B X , C X , D X4个专用寄存器 S P , B P , S I , D I算术逻辑部件:ALU8086/8088的EU 的特点1个标志寄存器: F R ;分成两类:状态标志、控制标志F R 的格式:二、总线接口部件BIU•功能:负责与存储器、I/O 端口传送数据•BIU 的组成:•4个段地址寄存器(16位):CS 、DS 、ES 、SS•16位指令指针寄存器IP•20位地址加法器•6字节的指令队列•一条指令20地址的形成:由代码段CS 左移4位后与指令指针寄存器IP 内容相加得到 注意:指令执行单元(EU )的功能:一般情况下,指令按照它存放的顺序先后执行,EU 源源不断地从指令队列中取得指令代码,达到满负荷地连续执行指令而省去“取指令”的时间。

指令执行过程如果需要访问存储器取操作数,那么EU 会将访问地址送给BIU ,等待操作数到达,然后继续操作。

遇到转移指令,BIU 会将指令队列中的后继指令作废,从新的地址重新取指令。

这时,EU 要等待BIU 将取到指令装入队列后,才能继续执行。

这两种情况下,EU 和BIU 的并行操作会受到一定影响,这是采用重叠操作方式不可避免的现象。

EU 中的算术逻辑运算单元ALU 可完成16位或8位的二进制运算,运算结果可通过内部总线送到通用寄存器或者送往组成BIU 的内部通信寄存器中,等待写入存储器。

16位暂存器用来暂存参加运算的操作数。

经ALU 运算后的结果特征置入标志寄存器FLAGS 中保存。

EU 控制器负责从BIU 的指令队列中取指令,并对指令译码,根据指令要求向EU 内部各部件发出控制命令以实现各条指令的功能。

总线接口单元BIU :一般情况下,BIU 通过地址加法器形成某条指令在存储器中的物理地址后,从存储器中取出该条指令的代码送入指令队列。

一旦指令队列中空出2B ,BIU 将自动进行读指令的操作以填满队列。

只要收到EU 送来的操作数地址,BIU 将立即形成这个操作数的物理地址,完成读写操作。

遇到转移类指令,BIU 将指令队列中剩余的指令作废,重新从存储器新的地址单元中取指令并送入指令队列。

BIU 中的指令队列可存放6B 的指令代码,一般情况下应保证指令队列中填满指令,使得EU 可以不断地得到等待执行的指令。

EU 送来的存储器地址称为逻辑地址。

由16位“段基址”和16位“偏移地址”(段内地址)组成。

访问存储器的实际地址称为物理地址,用20位二进制表示。

地址加法器用来完成由逻辑地址变换成物理地址的功能。

这实际上是进行一次地址加法,将两个16位0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 较验进位 辅助进位 零标志符号标志 跟踪标志 中断标志方向标志 溢出标标志的二进制代码表示的逻辑地址变换为20位的物理地址,从而使可寻址的存储空间达到1MB 。

总线控制电路将8086/8088CPU 的内部总线与CPU 引脚所连接的外部总线相连,是8086/8088CPU 与外部交换数据的必经之路,它实际上包括16条数据总线,20条地址总线和若干条控制总线。

CPU 正是通过这些总线与外部联系从而形成各种规模的8086/8088微型计算机。

8086/8088CPU 区别:(1)指令队列长度不同,8088只有4B ,8086有6B ;(2)外部数据总线不同,8088CPU 与外部交换数据的总线宽度是8位,而8086达16位。

三、8086/8088的存储器结构字节和字的地址。

字传送:高字节数 高地址 低字节数 低地址(反之同样)(一)、存储器的分段1、每段逻辑容量最长可达64K 字节,1MB 空间可分为16个逻辑段2、各段起始地址能被16整除。

(低4位为0)3、各段之间可分开、部分或完全重叠、可续排列、可断续排列。

4、根据各段的用途将其定义为CS 、DS 、ES 、SS 段,并用偏移地址(距段起址的字节距离)表示被访问单元。

常在CS 中用IP 表示偏移量,SS 中用 SP 、BP ,DS 中用 BX 、SI 、DI 、数值。

(二)、存储器中的逻辑地址和物理地址•物理地址(绝对地址):20 位逻辑地址:段基址 (段寄存器的内容)16位 00000H 00001H 01001H 01002HCS DS ES SS 0000 10550 250A0 8FFB0 EFF00FFFFF 代码段 数据段 附加段 堆栈段 存储器中各段分布情况举例 0000 0FFFF 10000 1FFFF F0000FFFFF =64K =64K =64K 16个逻辑段 存储器的逻辑分段偏移地址(字节距离)16位物理地址由逻辑地址变换得来的物理地址的形成(BIU 完成)例如,代码段寄存器CS=2000H ,指令指针寄存器存放的是偏移地址IP=2200H ,存储器的物理地址为20000H+2200H=22200H 。

存储器中的每个存储单元具有两种类型的地址:物理地址和逻辑地址。

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

逻辑地址由段基址和偏移地址组成。

程序是以逻辑地址编址,而不是用物理编址。

一般指令程序存放在代码段中,段地址来源于代码段寄存器,偏移地址来源于指令指针IP 。

当涉及到一个堆栈操作时,段地址寄存器为SS ,偏移地址来源于栈指针寄存器SP 。

当涉及到一个操作数时,则由数据段寄存器DS 或附加段寄存器ES 作为寄存器,而偏移地址由16位偏移量得到。

16位偏移量可以是指令中的偏移量加上16位地址寄存器的值组成,取决于指令的寻址方式。

四、8086总线的工作周期为了取得指令和传送数据的协调工作,就需要CPU 的总线接口部件执行一个总线周期。

在8086/8088中,一个最基本的总线周期由4个时钟周期组成,时钟周期是CPU 的基本时间计量单位,它由计算机主频决定。

例如8086的主频为10MHz ,一个时钟周期就是100ns 。

在一个最基本的总线周期中,常将4个时钟周期分别称为4个状态,即T 1、T 2、T 3、T 4 。

1、时钟周期:由计算机的主频决定(主频的倒数),用T 表示。

2、总线周期:8086/8088通过总线对存储器或I/O 接口进行一次访问所用的时间称为一个总线周期。

3、指令周期:CPU 从主存取一条指令并执行该条指令所用的时间,它可以包含若干个总线周期。

4、一个总线周期至少包括4个时钟周期。

0 0 0 0 8086/8088CPU 物理地址的形成典型的8086总线周期时序如上图所示CPU往多路复用总线上发出地址信息,以指出要寻址的存储单元或外设端口的地址。

CPU从总线上撤消地址,而使总线的低16位浮置成高阻状态,为传输数据做准备。

总线的高四位(A16~A19)用来输出本总线周期状态信息。

这些状态信息用来表示中断允许状态,当前正在使用的段寄存器等。

多路总线的高4位继续提供状态信息,而多路总线的低16位(8088则为低8位)上出现由CPU写出的数据或者CPU从存储器或端口读入的数据。

在有些情况下,被写入数据或者被读取数据的外设或存储器不能及时地配合CPU传送数据。

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

在T W状态,总线上的信息情况和T3状态的信息情况一样。

当指定的存储器或外设完成数据传送时,便在“READY”线上发出“准备好”信号,CPU接收到这一信号后,会自动脱离T W状态而进入T4状态。

只有在CPU和内存或I/O接口之间传输数据,以及填充指令队列时,CPU才执行总线周期。

可见,如果在一个总线周期之后,不立即执行下一个总线周期,那么系统总线就处在空闲状态,此时,执行空闲周期。

在空闲周期中,可以包含一个或多个时钟周期。

在这期间,高4位上,CPU仍然驱动前一个总线周期的状态信息,而且,如果前一个总线周期为写周期,那么,CPU会在总线低16位上继续驱动数据信息;如果前一个总线周期为读周期,则在空闲周期中,总线低16位处于高阻状态。

第三节8086/8088CPU的引脚信号和工作模式8086/8088CPU是十六位的微处理器,它向外的信号至少应包含16条数据线,20条地址线,再加上其他一些必要的控制信号。

为了减少芯片引脚数量,对部分引脚采用了分时复用的方式,构成40条引脚的双列直插式封装。

分时复用总线就是在同一根传输线上,在不同时间传送不同的信息。

8086/8088正是靠分时复用技术,才能用40个引脚去实现众多数据、地址、控制信息的传送。

8086/8088CPU有两种不同的工作模式(最小模式和最大模式),8条引脚(24~31)在两种工作模式中具有不同的功能。

一、8086/8088的引脚信号和功能1、AD15~AD0(address data bus)地址/数据复用引脚(双向工作)分时复用的地址/数据线。

传送地址时三态输出,传送数据时可双向三态输入/输出。

在8088中,A8~A15并不作复用,它们只是用来输出地址,称为A8~A15。

作为复用引脚,在总线周期的T1状态用来输出要访问的存储器或I/O端口地址。

相关主题