8088微处理器课件_第1页
8088微处理器课件_第2页
8088微处理器课件_第3页
8088微处理器课件_第4页
8088微处理器课件_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

8088微处理器主要内容:8088CPU的功能结构;8088CPU外部引线及功能;内部寄存器的功能;8088的存储器组织。2.1概述8088、8086(16位CPU)16位内部体系结构20位地址总线(寻址范围220=1MB)差别:指令预取队列:8088为4字节,8086为6字节数据总线引脚:8088有8根,8086有16根8088为准16位CPU,内部DB为16位,但外部仅为8位,16位数据要分两次传送指令的执行过程取出一条指令分析指令(指令译码)如果需要,从存储器读取操作数执行指令如果需要,将结果写入存储器串行工作方式:8088以前的CPU采用串行工作方式:

1)CPU访问存储器(存取数据或指令)时要等待总线操作的完成2)CPU执行指令时总线处于空闲状态缺点:CPU无法全速运行取指令1译码1CPUBUS和内存忙碌存结果1空闲空闲空闲取数据1空闲执行1取指令2译码2存结果2空闲空闲取数据2空闲执行2忙碌空闲忙碌空闲忙碌空闲忙碌空闲忙碌取指令1取指令2取指令3取指令4执行1执行2执行3BUS忙碌执行4CPUt1t0t2t3t4t5取指令5执行5忙碌忙碌忙碌忙碌忙碌

总线空闲时预取指令,使CPU需要指令时能立刻得到。2.28088的功能结构8088内部设置了两个并行执行部件:EU和BIU。执行单元EU:—负责执行指令—从指令队列中取指令代码、译码、数据运算(ALU)、运算结果的特征保存在FLAGS中。总线接口单元BIU:—负责与存储器和I/O接口之间的数据传送;

—从内存中取指令送入指令预取队列。8088的功能结构框图8088CPU内部指令的操作具有流水线操作,具体由CPU内部的两个独立部件(EU和BIU)去完成。取指令1取指令2译码1BIU存结果1取数据1取指令3取指令4

空闲执行1译码2执行2忙碌忙碌忙碌忙碌忙碌忙碌............EUBUS和内存2.38088的流水线操作BIU不断地从从内存取指令送入指令预取队列,EU不断地从指令预取队列取出指令执行在一条指令执行完成后,EU就可以立即执行下一条指令,减少CPU为取指令而等待的时间,提高CPU的利用率和整体运行速度EU和BIU构成了一个简单的两工位流水线指令预取队列的作用相当于流水线的传送带,在EU和BIU之间传送指令执行部件取指部件指令流水线操作的几点说明8088/8086的指令预取队列长度分别为4字节和6字节,为FIFO(先进现出)结构指令预取队列至少要有一条指令,且只要有一条指令,EU就开始执行指令预取队列只要有空,BIU就自动执行取指操作,直到填满为止若BIU需要进行存储器或I/O接口的数据存取操作,BIU在执行完现行取指操作周期后才开始进行当执行转移指令时,EU要求BIU从新的地址单元中重新取指令,队列中原有指令就被消除设置指令队列的好处指令预取队列的存在使EU和BIU两部分可同时进行工作,从而带来以下两个好处:提高了CPU的执行效率降低了对内存的存取速度的要求2.48088CPU的外部引脚40条引脚,双列直插式封装引脚定义的方法可大致分为:每个引脚只传送一种信息(#RD等);引脚电平的高低不同的信号(IO/#M等);CPU工作于不同方式有不同的名称和定义(#WR/#LOCK等);分时复用引脚(AD7~AD0等)。1456789101411231213151617181920Intel80884039383736353433323130292827262524232221GNDA14A13A12A11A10A9A8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLKGNDRESETReady#Test#INTAALE#DENDT/#RIO/#M#WRHOLDAHOLD#RDMN/#MX#SS0A19/S6A18/S5A17/S4A16/S3A15VccQS1QS0#S0#S1#S2#LOCK#RQ/#GT1#RQ/#GT0工作于两种模式:最小模式和最大模式主要引线(最小模式)8088工作在最小模式时,将由MN/#MX引脚接+5V电源数据信号线(DB)与地址信号线(AB):A19~A16/S3~S6:三态,地址、状态复用引脚。A15~A8:三态,输出。输出8位地址信号。AD7~AD0:三态,地址/数据分时复用线。ALE=1时为地址的低8位,ALE=0时传送数据信号。主要的控制和状态信号#WR:三态,输出。写命令信号;#RD:三态,输出。读命令信号;IO/#M:三态,输出。输入输出/存储器控制信号,指出当前访问的是存储器还是I/O接口。高:I/O端口,低:内存;#DEN:三态,输出。数据允许信号,低电平时,表示DB上的数据有效;ALE:三态,输出。地址锁存允许信号,高:CPU的AB总线上有有效地址;DT/#R:三态,输出。数据传送控制方向信号,高:CPU输出,低:CPU输入。RESET:输入,为高时,CPU执行复位;#TEST:测试信号输入引脚,CPU执行WAIT指令时,每隔5个时钟周期对该引脚进行测试,高:CPU等待,低:执行下一条指令。

READY:用于协调CPU与存储器、I/O接口之间的速度差异。READY信号由存储器或I/O接口发出。READY=0时,CPU就在T3后插入TW周期,插入的TW个数取决于READY何时变为高电平。中断请求和响应信号INTR:输入,可屏蔽中断请求输入端。高:有INTR中断请求NMI:输入,非屏蔽中断请求输入端。低

高,有NMI中断请求#INTA:输出,对INTR信号的响应。2.58088的寄存器AHAL堆栈指针寄存器BHBLCHCLDHDL基址指针寄存器源变址寄存器目的变址寄存器指令指针状态标志代码段寄存器数据段寄存器堆栈段寄存器附加段寄存器通用寄存器段寄存器控制寄存器AXBXCXDXSPBPSIDIIPFLAGSCSDSSSES2.5.1通用寄存器15700~158~150~7AXAHALBXBHBLCXCHCLDXDHDLBPSPSIDI1.数据寄存器常用来存放参与运算的操作数或运算结果AX:累加器。多用于存放中间运算结果。所有I/O指令必须都通过AX与接口传送信息;BX:基址寄存器。在间接寻址中用于存放基地址;CX:计数寄存器。用于在循环或串操作指令中存放循环次数或重复次数;CL是移位专用的;DX:数据寄存器。在32位乘除法运算时,存放高16位数;在间接寻址的I/O指令中存放I/O端口地址。2.地址指针寄存器SP和BP都和堆栈的操作有关堆栈:硬堆栈和软堆栈硬堆栈:CPU的寄存器按照FILO的规律存储信息软堆栈:在内存里开辟一片区域内存中一个按FILO方式操作的特殊区域每次压栈和退栈均以WORD为单位堆栈用于存放返回地址、过程参数或需要保护的数据常用于响应中断或子程序调用堆栈操作SPSSSS压栈前退栈后高低低高高12HSSF0HSP压栈后低高SPSPSPF0H12HSPSP始终指向堆栈的顶部SP:堆栈指针寄存器,其内容为栈顶的偏移地址;BP:基址指针寄存器,常用于在访问内存时存放内存单元的偏移地址。BX和BP在应用上的区别:作为通用寄存器,二者均可用于存放数据;作为基址寄存器,BX通常用于寻址数据段;BP则通常用于寻址堆栈段。BX一般与DS或ES搭配使用3.变址寄存器SI:源变址寄存器DI:目的变址寄存器变址寄存器常用于指令的间接寻址或变址寻址在串操作指令中,用SI存放源操作数的偏移地址,而用DI存放目标操作数的偏移地址,内容可以自动变化串:在内存里面一组连续的数据2.5.2指令指针寄存器IP

内容:下一条要取入CPU的指令在内存中的偏移地址。IP的内容自动修改:当BIU从内存中取出一个指令字节后,IP自动加1

IP始终指向下一条要取的指令的偏移地址。2.5.3标志寄存器FLAGS状态标志:存放运算结果的特征控制标志:控制某些特殊操作1514131211109876543210OFDFIFTFSFZFAFPFCF各标志位的含义:

1、进位标志CF:反映运算后最高位的进位或借位情况

=1最高位产生了进位或借位

=0最高位无进位或借位

2、奇偶标志PF:反映操作结果中1的个数

=1数据最低8位中1的个数为偶数

=0数据最低8位中1的个数为奇数

3、辅助进位标志AF:反映低4位向高4位有无进位或借位

=1D3→D4位产生了进位或借位

=0D3→D4位无进位或借位

4、零标志ZF:反映运算结果是否为零

=1操作结果为0=0结果不为0

5、符号标志SF:反映运算结果的符号情况

=1结果最高位为1=0结果最高位为06、溢出标志OF:反映带符号数的运算结果是否溢出

=1此次运算发生了溢出

=0无溢出

7、方向标志DF:用于串的操作,每执行一条串操作指令,对地址进行一次调整,由DF决定地址的增减。

=1地址自动按减量变化

=0地址自动按增量变化

8、陷阱标志TF:单步中断

=1调试按单步方式

=0非单步

9、中断允许标志IF:是否允许外部的可屏蔽中断

=1允许响应外部可屏蔽中断

=0禁止响应内存中通常存放三种信息:代码(指令):计算机执行何种操作数据(字符、数值):程序处理的对象堆栈信息:保存返回地址和中间结果为清晰起见,这三类信息通常存放在各自的贮存区域内。8088系统中,把可直接寻址的1M内存空间分为称作“段”的逻辑区域,每个段的物理长度为64K,每个段的起始地址存放在段寄存器中。2.5.4.段寄存器段寄存器用于存放内存段的段基地址代码段寄存器CS:当前代码段的段基址,用于存放指令代码数据段寄存器DS:当前数据段的段基址,用于存放数据或变量堆栈段寄存器SS:当前堆栈段的段基址,用于保存寄存器内容,传递参数附加段寄存器ES:

当前附加段的段基址,用于存放数据或变量

DS和ES的主要区别在于串操作DS是源串的段基址,用SI寻址;ES是目的串的段基址,DI寻址。2.68088存储器组织一、存储器分段8088有20根地址线,可寻址220(1MB)个存储单元,而内部总线和内部寄存器均为16位,如何生成20位地址?高地址低地址段基址最大64KB段段解决:引入“分段”概念,以获得20位物理地址段寄存器提供段基址,SP、BP、SI、DI提供16位的段内地址段寄存器其它寄存器段:存储器的一个逻辑单位,长度可达64KB,每个段都有连续的存储单元组成。段起始地址:每段第一个字节的位置,实际上是20位段基址段基址0000段起始地址段寄存器段内偏移地址+20位物理地址段起始地址:必须能被16整除(即XXXX0H)几个段可以相互重叠,也可指向同一个空间1M的内存空间最多可以分成216=64K个段物理地址..60000H

60001H

60002H

60003H

60004H...12HF0H1BH08H1.物理地址:信息在存储器中实际存放的地址。二、物理地址和逻辑地址8088有20根地址线,可以配置1M的存储器,地址编号为00000H~FFFFFH逻辑地址:允许在程序中编排的地址。由段基址:偏移地址组成,是在指令中引用的形式地址60002H00H12H60000H0000段基地址(16位)段首地址××ו••×××偏移地址=0002H2.逻辑地址段基址:决定了该段第一个字节的位置;段内偏移量:该存储单元相对于该段第一个字节的距离。段基址段内偏移地址物理地址+16位20位00003.物理地址的计算物理地址=段基地址×16+偏移地址BIU中的地址加法器用来实现逻辑地址到物理地址的变换。例:1.已知逻辑地址为:2000H:1234H,求对应的物理地址?解:物理地址=2000H*16+1234H=20000H+1234H=21234H2.已知逻辑地址为:2100H:0234H,求对应的物理地址?解:物理地址=2100H*16+0234H=21234H

一个内存单元的物理地址是唯一的,但逻辑地址不唯一例已知CS=150AH,DS=250AH,ES=2EF0H,SS=8FF0H,

DS段有一操作数,其偏移地址=0204H,

1)画出各段在内存中的分布

2)指出各段首地址

3)该操作数的物理地址=?150A0H250A0H2EF00H8FF00HCSSSCSDSES解:各段分布及段首址见右图所示操作数的物理地址为:250AH×10H+0204H=252A4H8088可同时访问4个段,4个段寄存器中的内容指示了每个段的基地址CSIP代码段数据段堆栈段DS寻址方式SSSP或BP2.78088的工作时序微处理器按照一定的时序进行工作。几个概念:时钟周期:每两个时钟脉冲上升(下降)沿之间的时间间隔;由时钟发生器产生。是计算机内部最小的时间单位总线周期:CPU完成一次访问内存(或接口)操作所需要的时间。指令周期:执行一条指令所需的时间典型的总线周期:由4个时钟周期组成时序关系:总线周期时钟周期等待周期空闲周期指令周期基本的总线周期时序CLKIO/#MA19–A16/S6

–S3

A15–A8AD7–AD0ALE#RDDT/#R

#DENA7–A0数据输入A19–A16S6–S3高=IO低=M8088读总线周期CLKIO/#MA19–A16/S6

–S3

A15–A8AD7–AD0ALE#WRDT/#R

#DEN高=IO低=MA19–A16S6–S3A7–A0数据输出8088写总线周期8088时序小结正常的8088总线周期(无论是读还是写)至少4个时钟周期在T1时间,送出地址A19~A0,同时送出地址锁存允许信号ALE在写总线周期,CPU从T2开始把数据送到总线上并维持到T4在读总线周期中,CPU在T3到T4期间读入总线上的数据微型计算机采用总线结构在CPU、内存、

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论