[信息与通信]第3章 80868088微处理器及其系统

上传人:豆浆 文档编号:55099769 上传时间:2018-09-24 格式:PPT 页数:147 大小:1.42MB
返回 下载 相关 举报
[信息与通信]第3章 80868088微处理器及其系统_第1页
第1页 / 共147页
[信息与通信]第3章 80868088微处理器及其系统_第2页
第2页 / 共147页
[信息与通信]第3章 80868088微处理器及其系统_第3页
第3页 / 共147页
[信息与通信]第3章 80868088微处理器及其系统_第4页
第4页 / 共147页
[信息与通信]第3章 80868088微处理器及其系统_第5页
第5页 / 共147页
点击查看更多>>
资源描述

《[信息与通信]第3章 80868088微处理器及其系统》由会员分享,可在线阅读,更多相关《[信息与通信]第3章 80868088微处理器及其系统(147页珍藏版)》请在金锄头文库上搜索。

1、第 3 章 80868088微处理器及其系统,以Intel80868088、Z8000和MC68000为代表的16位微处理器是第3代产品,以它们为核心部件组成的微机系统,其性能已达到中、高档小型计算机的水平。20多年来,Intel系列CPU一直占着主导地位。尽管8086/8088后续的80286、80386、80486以及Pentium系列CPU结构与功能已经发生很大变化,但从基本概念与结构以及指令格式上来讲,它们仍然是经典的8086/8088CPU的延续与提升。并且,其他系列流行的CPU(如AMD公司的6X86MX/M等)也与80x86CPU兼容。,3.1 8086/8088微处理器,3.2

2、 8086/8088系统的最小/最大工作方式,3.3 8086/8088的存储器,3.4 8086/8088指令系统,3.1 80868088微处理器,8086是Intel系列的16位微处理器,是iAPX8688系列微机的基础。它采用高速运算性能的HMOS工艺制造,芯片上集成有2.9万个晶体管,用单一的+5伏电源和40条引脚的双列直插式封装(DIP);时钟频率为5MHz10MHz,最快的指令执行时间为0.4us。(SOIC,LQFP,QFP等)8086有16根数据线和20根地址线,可以处理8位或16位数据,寻址1MB的存储单元和64KB的IO端口。它的主机设计较之8位机的性能大约提高了10倍。

3、在推出8086之后不久,Intel公司还推出了准16位微处理器8088。8088的内部寄存器、运算器以及内部数据总线都是按16位设计的,但外部数据总线只有8条。这样设计的目的主要是为了与Intel原有的8位外围接口芯片直接兼容。在本节中,我们对8088也将加以说明。,一、80868088CPU的内部结构从功能上讲,8086可分为两个部分,即总线接口单元BIU(Bus Interface Unit)和执行单元EU(Execution Unit)。,(一)总线接口单元BIU总线接口单元BIU的功能是负责完成CPU与存储器或IO设备之间的数据传送。其具体任务是:BIU要从内存取指令送到指令队列缓冲器

4、;CPU执行指令时,总线接口单元要配合执行单元从指定的内存单元或者外设端口中取数据,将数据传送给执行单元,或者把执行单元的操作结果传送到指定的内存单元或外设端口中。BIU内有4个16位段地址寄存器CS(代码段寄存器)、DS(数据段寄存器)、SS(堆栈段寄存器)和ES(附加段寄存器),16位指令指针IP,6字节指令队列缓冲器,20位地址加法器和总线控制电路。,1.指令队列缓冲器: 8086的指令队列为6个字节,而8088的指令队列为4个字节。在执行指令的同时, 从内存中取下面1条或几条指令,取来的指令依次放在指令队列中。 “先进先出”的原则: (1) 取指时当指令队列缓冲器中存满1条指令后,EU

5、执 行。 (2) 指令队列缓冲器中只要空出2个(对8086)或空出1个 (对8088)指令字节时,BIU自动执行取指操作,直到 填满。,(3)在EU执行指令的过程中,指令需要对存储器或IO设备 存取数据时,BIU将在执行完现行取指令存储器周期后的 下一个存储器周期,对指定的内存单元或IO设备进行 存取操作,交换的数据经BIU由EU进行处理。(4)当EU执行完转移、调用和返回指令时,则要清除指令队 列缓冲器,并要求BIU从新的地址重新开始取指令,新取 的第1条指令将直接经指令队列送到EU去执行,随后取来 的指令将填入指令队列缓冲器。,2.地址加法器和段寄存器:8086有20根地址线,内部寄存器有

6、16位,采用了16位的段寄存器与16位的偏移地址即“段加偏移”的技术。利用各段寄存器分别来存放确定各段的起始地址的16位段地址信息,而由IP提供或由EU按寻址方式计算出寻址单元的16位偏移地址(又称为逻辑地址或简称为偏移量),然后,将它与左移4位后的段寄存器的内容同时送到地址加法器进行相加,最后形成一个20位的实际地址(又称为物理地址),以对存储单元寻址。,3.16位指令指针IP (Instruction Pointer) 其功能与8位CPU中的PC类 似。正常运行时,IP中含有BIU 要取的下1条指令(字节) 的偏 移地址。IP在程序运行中能自 动加1修正,使之指向要执行的 下1条指令(字节

7、) 。有些指令 能使IP值改变或使IP值压进堆 栈,或由堆栈弹出恢复原值。,(二)执行单元EU 执行单元EU并不与系统的总线控制电路直接相连,这使得它能与总线接口单元之间保持既相互联系又相互独立的关系。EU的功能只是负责执行指令;执行的指令从BIU的指令队列缓冲器中取得,执行指令的结果或执行指令所需要的数据,都由EU向BIU发出请求,再由BIU经总线控制电路对存储器或外设存取。EU由下列部分组成。,1. 16位算术逻辑单元(ALU): 它可以用于进行算术、逻辑运算,也可以按指令的 寻址方式计算出寻址单元的16位偏移量。 2. 16位标志寄存器F: 它用来反映CPU运算的状态特征或存放控制标志。

8、 3. 数据暂存寄存器: 它协助ALU完成运算,暂存参加运算的数据。 4. 通用寄存器组: 它包括4个16位数据寄存器AX、BX、CX、DX和4个16位指针与变址寄存器SP、BP与SI、DI。,5. EU控制电路: 它是控制、定时与状态逻辑电路,接收从BIU中指令队列取来的指令,经过指令译码形成各种定时控制信号,对EU的各个部件实现特定的定时操作。EU中所有的寄存器和数据通道(除队列总线为8位外)都是16位的宽度,可实现数据的快速传送。8088CPU内部结构与8086的基本相似,只是8088BIU中指令队列长度为4个字节;8088BIU通过总线控制电路与外部交换数据的总线宽度是8位,总线控制电

9、路与专用寄存器组之间的数据总线宽度也是8位。,80868088的内部寄存器编程结构共有13个16位寄存器和1个只用了9位的标志寄存器。,二、80868088的寄存器结构,(一)通用寄存器1.数据寄存器:执行单元EU中有4个16位数据寄存器AX、BX、CX和DX.每个数据寄存器分为高字节H和低字节L,它们均可作为8位数据寄存器独立寻址,独立使用。 数据寄存器是用在算术运算或逻辑运算指令中,用来进行算术逻辑运算。在有些指令中,它们则有特定的用途:如AX作累加器;BX作基址寄存器, 在查表指令XLAT中存放表的起始地址;CX作计数寄存器,在使用带有重复前缀(如REP)的数据串操作指令中用来存放数据串

10、元素的个数;DX作数据寄存器,在字的除法运算指令DIV中存放余数(高16位)。这些寄存器在指令中的特定功能是被系统隐含使用的。,2.指针寄存器SP、BP和变址寄存器SI、DI: 指针寄存器是指堆栈指针寄存器SP和堆栈基址指针寄存器BP,简称为P组。变址寄存器是指源变址寄存器SI和目的变址寄存器DI,简称为I组。它们都是16位寄存器,一般用来存放偏移地址。 指针寄存器SP和BP都用来指示存取位于当前堆栈段中的数据所在的地址, 但SP和BP在使用上有区别。入栈(PUSH)和出栈(POP)指令是由SP给出栈顶的偏移地址,故称为堆栈指针寄存器。而BP则是存放位于堆栈段中的一个数据区基地址的偏移地址,故

11、称为堆栈基址指针寄存器。显然,由SP所指定的堆栈存储区的栈顶和由BP所指定的堆栈段中某一块数据区的首地址是两个不同的意思,不可混淆。,(二)段寄存器 80868088 CPU有20条地址线,具有寻址1MB存储空间。80868088指令中给出的地址码仅有16位,指针寄存器和变址寄存器也只有16位长,不能直接寻址1MB大小的内存空间。,在80868088CPU内部设计了一组16位的段寄存器,用这些段寄存器的内容作为段地址,再由段寄存器左移4位形成20位的段起始地址,被称为段基地址或段基址;这样,80868088就有可能寻址1MB存储空间并将其分成为若干个逻辑段,使每个逻辑段的长度为64KB(它由1

12、6位的偏移地址限定)。 80868088CPU的BIU中有4个16位段寄存器,80868088的指令可以直接访问这4个段寄存器.,(三)标志寄存器 80868088的16位标志寄存器F只用了其中的9位作标志位,即6个状态标志位,3个控制标志位。 CF(CARRY FLAG)进位标志:当加/减运算使最高位产生进位或借位时,置“1”CF,否则置“0”。另外,循环指令也会影响它。PF(PARITY FLAG)奇偶标志:当指令执行结果低八位有偶数个1,置“1”PF,否则置“0”。,AF(Auxiliary Carry Flag)辅助进位标志: 标志一般用在BCD码运算中作为是否需要对AL寄存器进行十进

13、制调整的依据。 ZF(Zero Flag)零标志: 零标志表示一个算术或逻辑操作的结果是否为零。若当前的运算结果为零,ZF为1;否则为0 SF(Sign Flag)符号标志: 符号标志保持算术或逻辑运算指令执行后结果的算术符号。它和运算结果的最高位相同。,OF(Overflow Flag)溢出标志: 溢出标志用于判断在有符号数进行加法或减法时是否可能出现溢出。溢出将指示运算结果已超出机器能够表示的数值范围。控制标志有3个,用来控制CPU的操作,由程序设置或清除。 DF(Direction Flag)方向标志: 它用来控制数据串操作指令的步进方向。若用STD指令将DF置1,则数据串操作过程中地址

14、会自动递减;若用CLD指令将DF清0,则数据串操作过程中地址会自动递增。,IF(Interrupt Enable Flag)中断允许标志: 控制可屏蔽中断的标志。若用STI指令将IF置1,则表示允许8086/8088 CPU接受外部从其INTR(18)引脚上发来的可屏蔽中断请求信号;若用CLI指令将IF清0,则禁止CPU接受外来的可屏蔽中断请求信号。IF的状态不影响非屏蔽中断NMI(17)请求,也不影响CPU响应内部的中断请求。TF(Trap Flag)跟踪(陷阱)标志: 若将TF标志置为1,则80868088 CPU处于单步工作方式;否则,将正常执行程序。在高型号微处理器中,跟踪(陷阱)标志

15、能够激活芯片上的调试特性(调试程序,以便找到错误或故障),当TF标志为1时,则微处理器将根据调试寄存器和控制寄存器的指示中断程序流。,三、总线周期的概念 对任何一个微处理器来说, 为了从存储器中取得指令或者与之传送数据,都需要它的总线接口单元执行一个总线周期。同时,以后我们会知道,在微机系统中,当选择一个存储器或I/O设备与微处理器接口之前, 也必须了解系统总线的所谓时序,而这些时序也是以总线周期为基准来描述的。因此,在这里有必要介绍一下有关总线周期的概念。 通常,包括80868088 CPU在内,一个最基本的总线周期由4个时钟周期组成,时钟周期是CPU的基本时间计量单位,它由CPU的主频决定

16、。在一个最基本的总线周期中,习惯上将4个时钟周期分别称为4个状态,即T、T、T与T这4个状态。,下面以80868088CPU为例,简要说明CPU在4个状态中的基本作用。 在T状态,CPU往多路复用总线上发送地址信息,以 选中所要寻址的存储单元或外设端口的地址。 在T状态,CPU从总线上撤消地址,并使总线的低16位 浮置成高阻状态,为传送数据做准备。总线的高4位 (AA)用来输出本总线周期状态信息。这些状 态信息用来表示CPU是否允许中断、当前正在使用什么 段寄存器等。 在T状态,多路总线的高4位继续提供状态信息,而其 低16位(对8088 CPU则为低8位)上将出现由CPU写出 的数据或者CP

17、U从存储器或端口读入的数据。, 在有些情况下,由于外设或存储器的速度较慢,不能 及时地配合CPU传送数据。这时,外设或存储器就会通 过 “READY”的信号线在T3状态启动之前向CPU发一个 “数据未准备好”信号,表示它们还来不及同CPU之间传 送数据,于是,CPU会在T3之后自动插入1个或多个附 加的时钟周期Tw,这个Tw就叫等待状态,它表示此时 CPU在总线上的信息情况和T3状态时的信息情况一样。 只有在指定的存储器或外设已经完成数据传送时,它 们又通过“READY”的信号线向CPU发出一个“准备好”信 号,当CPU接收到这一信号后,才会自动脱离Tw状态而 进入T4状态。 在T状态,总线周期结束。,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号