第三章微处理器20070909_第1页
第三章微处理器20070909_第2页
第三章微处理器20070909_第3页
第三章微处理器20070909_第4页
第三章微处理器20070909_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

1、第三章第三章 微处理器微处理器重点:8086CPU的组成及各部分的作用,8086的程序设计级模型,8086存储器的分段、物理地址的形成 ,8086工作时序,堆栈的概念 难点:8086工作时序一、微处理器的性能指标一、微处理器的性能指标 字长:是微处理器在交换、加工、存储信息时,其信字长:是微处理器在交换、加工、存储信息时,其信息位的最基本的长度。与数据总线的根数和内部寄存息位的最基本的长度。与数据总线的根数和内部寄存器的位数相同。器的位数相同。 指令数:指令数: 基本指令执行时间:基本指令即寄存器加法指令。基本指令执行时间:基本指令即寄存器加法指令。 访存空间:由地址总线的根数访存空间:由地址

2、总线的根数n决定:决定:2n。 是否能够构成多处理器系统是否能够构成多处理器系统 工艺形式及其它工艺形式及其它第一节第一节 概述概述 例如: Intel 8086CPU:16位微处理器 采用HMOS工艺制造的 16根DB(字长为16) 20根AB(可寻址的地址空间达220即1M字节)。单一 5V 电源单相时钟, 时钟频率为5MHz能与其他处理器组成多处理器系统。 Intel 8088CPU:准16位微处理器:内部寄存器、内部运算部件以及内部操作都是按16位设计的,但对外的数据总线只有8条。二、二、 CPU的工作过程:的工作过程: 执行一条指令又可分为以下四个基本操作:执行一条指令又可分为以下四

3、个基本操作: 取出指令:从存储器某个地址中取出要执行的指令取出指令:从存储器某个地址中取出要执行的指令代代码码送到送到CPU内部的指令寄存器暂存;内部的指令寄存器暂存; 为下一为下一次取次取指令指令代码代码作好准备,即形成下一作好准备,即形成下一次取次取指令指令的的地址地址; 分析指令:把保存在指令寄存器中的指令送到指令译分析指令:把保存在指令寄存器中的指令送到指令译码器,译出该指令对应的微操作;码器,译出该指令对应的微操作; 执行指令:根据指令译码,向各个部件发出相应控制执行指令:根据指令译码,向各个部件发出相应控制信号,完成指令规定的各种操作信号,完成指令规定的各种操作。 第二节第二节 8

4、086CPU的内部结构的内部结构(编程结编程结构构 )ALUTMPTMP标志寄存器控制单元EU通用寄存器通用寄存器161616指令队列缓冲器总线控制逻辑通信寄存器CSESSSDSIP地址产生器BIU1681620执行部件EU的作用:负责执行指令、形成有效地址EA。EU 包括三部分:=算术逻辑单元ALU+标志寄存器+TMP 的作用是进行算术逻辑运算和形成有效地址。用来协助ALU完成各种运算。用来存放反映ALU运算结果的状态和一些控制标志。包括AX,BX,CX,DX,SI,DI,BP,SP:译码,形成控制信号。ALUTMPTMP标志寄存器控制单元EU通用寄存器161616指令队列缓冲器总线控制逻辑

5、通信寄存器CSESSSDSIP地址产生器BIU1681620 总线接口部件BIU的作用:预取指令、形成实际地址PA、输入输出数据。BIU主要由四部分组成: 指令队列缓冲器:暂存指令。采用“先进先出”的原则顺序存放。 指令指针寄存器IP:存放下一条将要取的指令的有效地址。 总线控制逻辑:根据指令控制总线的分时使用。 地址产生器和段寄存器:段寄存器用来存放每种段的首地址,有DS、ES、DS、SS四种。地址产生器用来形成20位的实际地址PA。 PA=段寄存器左移4位+有效地址EA。即:“左移4位”中这个位位是指进制位,而十六进制位。左移 4 位二进制数相当于左移 1 位十六进制数。有效地址EA段寄存

6、器实际地址PA00000150190150例:CS=2000H,IP=2344H,则PA=(CS)左移4位+(IP) =20000H+2344H =22344H 总线接口部件总线接口部件BIU和执行部件和执行部件EU并不是同步工作的,并不是同步工作的, 两者的动作管理遵循如下原则:两者的动作管理遵循如下原则: 每当每当8086的指令队列中有的指令队列中有2个空,个空,BIU就会自动把指就会自动把指令取到指令队列中。令取到指令队列中。而同时而同时EU从指令队列取出一条指令,并用几个时钟从指令队列取出一条指令,并用几个时钟周期去分析、执行指令。周期去分析、执行指令。当指令队列已满,而且当指令队列已

7、满,而且EU对对BIU又无总线访问请求又无总线访问请求时,时,BIU便进入空闲状态。便进入空闲状态。1. 在执行转移、调用和返回指令时,指令队列中的原有在执行转移、调用和返回指令时,指令队列中的原有内容被自动清除。内容被自动清除。 “流水线流水线”结构结构8088的指令执行过程的指令执行过程通用数据寄存器通用数据寄存器AXBXCXDX0158 7ALAHBLBHCLCHDLDHSIDISPBPEU 中有中有4个个16位的通用数据寄存器和位的通用数据寄存器和2个变址寄存器、个变址寄存器、2个指针寄存器。个指针寄存器。1.16位通用数据寄存器包括位通用数据寄存器包括AX、BX、CX、DX,它们可以

8、作为,它们可以作为16位寄存器使用,位寄存器使用,也可以作为也可以作为8位寄存器使用(位寄存器使用(AH、AL、BH、BL、CH、CL、DH、DL)。主要用来保)。主要用来保存算术或逻辑运算的操作数、中间运算结存算术或逻辑运算的操作数、中间运算结果。果。 有其通用性,也有其特殊性。有其通用性,也有其特殊性。2.2个变址寄存器为个变址寄存器为SI、DI,是,是16位的寄位的寄存器,用于串操作中存放源与目标地址,存器,用于串操作中存放源与目标地址,但也有其通用性。但也有其通用性。3.2个指针寄存器是个指针寄存器是SP、BP,用于堆栈,用于堆栈操作中,操作中,SP为堆栈指针,为堆栈指针,BP为基址指

9、针。为基址指针。BP有通用性。有通用性。其中其中BX、DX、SI、DI、BP、SP用于存用于存放地址。放地址。在某些指令中规定了某些通用寄存器的专门用法, 这样可以缩短指令代码长度;或使这些寄存器的使用具有隐含的性质, 以简化指令的书写形式(即在指令中不必写出使用的寄存器名称)。 通用寄存器的隐含用法如左表所示。 AXAL在输入在输入/输出指令中用作数据寄存器;在乘法指令中输出指令中用作数据寄存器;在乘法指令中存放被乘数或乘积;在除法指令中存放被除数或商存放被乘数或乘积;在除法指令中存放被除数或商AH在在LAHF指令中作为目标寄存器使用指令中作为目标寄存器使用AL在在BCD码及码及ASC运算指

10、令中作累加器使用;在运算指令中作累加器使用;在XLAT指令中作累加器使用指令中作累加器使用BX在间接寻址方式中作基址寄存器使用;在在间接寻址方式中作基址寄存器使用;在XLAT指指令中作基址寄存器使用令中作基址寄存器使用CX在循环指令和字符串指令中作为循环次数计数器在循环指令和字符串指令中作为循环次数计数器,每每作一次循环,作一次循环,CX的内容自动减的内容自动减1CL在移位在移位/循环指令中作移位次数计数器使用循环指令中作移位次数计数器使用DX在字乘法在字乘法/除法指令中存放乘积高位或被除数高位或除法指令中存放乘积高位或被除数高位或余数;在间接寻址的输入余数;在间接寻址的输入/输出指令中作地址

11、寄存器输出指令中作地址寄存器使用使用SI在字符串运算指令中作源变址寄存器使用;在间接在字符串运算指令中作源变址寄存器使用;在间接寻址的指令中作变址寄存器使用寻址的指令中作变址寄存器使用DI在字符串运算指令中作目标变址寄存器使用;在间在字符串运算指令中作目标变址寄存器使用;在间接寻址中作变址寄存器使用接寻址中作变址寄存器使用BP在间接寻址的指令中作基址指针使用在间接寻址的指令中作基址指针使用SP在堆栈操作中作堆栈指针使用在堆栈操作中作堆栈指针使用标志寄存器标志寄存器FR OF DF IF TF SF ZF AF PF CFOF溢出标志,溢出标志,OF=CF CD。OF=1,有溢出,有溢出(有符号

12、数)。(有符号数)。7位未用位未用6位状态标志位状态标志位位3位控制位位控制位CF进位标志进位标志,CF=1,有进有进(借借)位位(算术)算术)PF奇偶标志,奇偶标志,PF=1,含,含1个数为偶数。个数为偶数。AF辅助进位位,辅助进位位,AF=1,D3向向D4有进借位有进借位SF符号标志,符号标志,SF=1,D7(D15)=1零标志,零标志,ZF=1,结果为零,结果为零IF中断允许标志,中断允许标志,IF=1,允许,允许CPU响应外设通过可响应外设通过可屏蔽中断请求线提出的中断屏蔽中断请求线提出的中断DF 方向标志,串,方向标志,串,DF=1,减址,减址TF跟踪标志,跟踪标志,TF=1,CPU

13、进入单步运行状态。进入单步运行状态。 标志寄存器中的状态标志的状态表示符号标志OFDFIFSFZFAFPFCFOVDNEINGZRACPECYNVUPDIPLNZNAPONC为1的符号为0的符号例:说明运算结果对标志位的影响段寄存器段寄存器 存储器分段原因:存储器分段原因:16位地址寄存器与位地址寄存器与20位地址总线之位地址总线之间的矛盾。间的矛盾。 段的起始地址特征:实际地址的低段的起始地址特征:实际地址的低4位(二进制)为零。位(二进制)为零。实际地址的高实际地址的高16位称为段基址。段内偏移地址(有效位称为段基址。段内偏移地址(有效地址)。地址)。段基址段基址*16=段起始地址。段起始

14、地址。 段的最大长度:段的最大长度:64K。(与。(与16位寄存器相对应)位寄存器相对应) 段的分类:分四大功能段:数据段、代码段、堆栈段段的分类:分四大功能段:数据段、代码段、堆栈段和附加段。段寄存器存放当前段的段基址。和附加段。段寄存器存放当前段的段基址。程序设计级模型程序设计级模型AXBXCXDXSIDIBPSPFRDSCSSSESIP14个16位的寄存器存储器结构存储器结构 1。存储器的标准结构。存储器的标准结构 2。数据存放规则:规则存放和非规则存放。数据存放规则:规则存放和非规则存放 3。8086对存储器的访问:读取一个规则字,需访问存对存储器的访问:读取一个规则字,需访问存储器一

15、次;读取非规则字,需访问两次存储器。储器一次;读取非规则字,需访问两次存储器。8086CPU对存储器的组织SEL A0A18高位(奇数)库512K*8D0D7SEL A0A18低位(偶数)库512K*8D0D7A1A19A0BHED8D15D0D7 BHE A0 访问库名 0 0 双库,实现16位数据的传送 0 1 奇地址高位库,实现8位数据的传送 1 0 偶地址低位库,实现8位数据的传送 1 1 不传送8086的工作模式 最大模式:有多个微处理器 最小模式:仅有8086一个微处理器8086CPU引脚及功能引脚及功能 40根引脚根引脚 分时复用分时复用 1。AD0AD15:T1A(三态输出);

16、(三态输出);T2T4D(三态双向)(三态双向) 2。A16/S3A19/S6:T1A;T2T4状态状态 3。VCC,GND,GND 4。控制总线:。控制总线:17根根S3、S4表示用何段寄存器表示用何段寄存器 S4S3 段寄存器段寄存器 0 0 ES 0 1 SS 1 0 CS(I/O、INT) 1 1 DSS5=IF,S6=0地址锁存器存储器I/O芯片VCC时钟发生器数据收发器 MN/MX RD CLK WRREADY M/IORESET ALE TEST BHE A16A19AD0AD15HLDA . HOLD .8086INTA .INTR DEN NMI DT/RBHE数据输入 8086CPU内部时序 总线周期(也称机器周期):CPU访问一次存储器或I/O设备所需要的时间称为总线周期。 等待周期:因存储器或I/O设备速度慢引起的。 空闲周期:因CPU执行指令所需时间长或在多微处理器系统中微处理器交换总线权

温馨提示

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

评论

0/150

提交评论