资源预览内容
第1页 / 共54页
第2页 / 共54页
第3页 / 共54页
第4页 / 共54页
第5页 / 共54页
第6页 / 共54页
第7页 / 共54页
第8页 / 共54页
第9页 / 共54页
第10页 / 共54页
亲,该文档总共54页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第第2 2章章 8088/80868088/8086微处理器微处理器 1 教学目的 熟悉8088/8086微处理器的结构及其外部引脚 和功能 掌握8088/8086微机存储器的组织 了解8088/8086微处理器的两种工作模式 了解8088/8086微处理器的工作时序 第2章 8086/8088微处理器 2 3 CPU是计算机系统的核心部件,控制和协调整个计算机 系统的工作。基本功能: 进行算术运算和逻辑运算; 对指令进行译码、分析、执行指令所规定的操作; 与存储器和I/O接口进行数据交换; 少量数据的暂存; 提供系统所需的定时和控制信号; 响应输入输出设备发出的中断请求。 8088与8086同属于第三代CPU,为16位CPU、地址总线宽度20 位,它们支持完全相同的指令系统。区别: 8086CPU内部数据总线为16位,外部数据总线宽度为16位, 而8088的外部数据总线宽度为8位; 另外8086的指令预取队列长度为6字节,而8088的指令预取 队列长度为4字节。 4 2.1 8088/8086微处理器的内部结构 8088以前的CPU采用串行工作方式,指令的执行过 程一般为: 取指令 指令译码 取操作数 执行指令 存放结果 在EU和BIU之间增设了指令预取队列之后:在多数情 况下,取指令操作和执行指令操作并行进行。 8086/8088包含两大功能部件,即 执行单元(EU,Execution Unit) 总线接口单元(BIU,Bus Interface Unit) 2.1.1 8086/8088CPU的功能结构 7 AH AL BL CL DLDH CH BH CX DX BX AX SP BP DI CS DS SS ES IP 通 用 寄 存 器 组 暂存寄存器 ALU FLAGS EU 控制部件 ALU数据总线 16位 8位 Q总线 指令队列 1 2 3 4 内部通信寄存器 地址加法器 20位 数据总线 16位 段 寄 存 器 总线 控制 逻辑 SI 执行单元EU总线接口单元BIU 1. 执行单元EU 功能:译码分析指令,执行指令,暂存中间运算结 果并保留结果特征。 从指令队列中取指令代码 译码 在ALU中完成数据的运算 运算结果的特征保 存在标志寄存器FLAGS中。 如果指令队列为空,EU就等待; 2. 总线接口单元BIU 功能:负责与内存或输入/输出接口的信息传送; EU从指令预取队列中取走指令,指令队列出现空字节时 ,BIU就自动执行一次取指令周期,从内存中取出后续 的指令代码放入指令预取队列中; 从指定的内存单元或外设取EU需要的数据; 保存EU的运算结果; 当遇到跳转指令时, BIU就使指令队列复位,从新地址 取出指令,并立即传给EU去执行。 8088/8086 CPU的工作方式为并行工作 指令预取队列的存在使EU和BIU两个部分可同时进行 工作,从而 减少了CPU为取指令而等待的时间; 降低了对存储器存取速度的要求 8088/8086 CPU的这种结构被称为指令流水线结构 。新型CPU将一条指令划分成更多的阶段,以便可 以同时执行更多的指令,例如,PIII为14个阶段, P4为20个阶段(超级流水线) 2.1.2 8088CPU的存储器组织 11 物理地址 8088/8086:20根地址线,可寻址220(1MB)个存储单元 。 CPU送到AB上的20位的地址称为物理地址。 代码段 物理地址. . 60000H 60001H 60002H 60003H 60004H . . . 12H F0H 1BH 08H 高地址 低地址 段基址 段基址 段基址 段基址 最大64KB ,最小16B 段i-1 段i 段i+1 物理地址 . . 60000H 60001H 60002H 60003H 60004H . . . 12H F0H 1BH 08H 问题: 8088的内部总线和内部寄存器均为16位,如何生成20位地址? 解决:存储器分段 13 物理地址是CPU操作时所使用的地址;逻辑地址是应用人 员在编程时所使用的地址。由逻辑地址形成物理地址是由总线 接口部件中的地址加法器实现的。 代码段寄存器:CS 数据段寄存器:DS 堆栈段寄存器:SS 附加段寄存器:ES 8086/8088系统中把可直接寻址的1兆的内存空间分为段 的逻辑区域。每段的物理长度为64KB。 每段的第一个内存单元的物理地址称为段起始地址,段 起始地址必须能被16整除,形式如XXXX0H,XXXXH为段基址 ,即段起始地址的高16位。段基址存在段寄存器CS、 DS、 SS 、 ES中。相对于该段起始地址的字节数称为偏移量;段基址和 段内偏移量又称为逻辑地址。段起始地址可由软件指定 每个段都由连续的存储单元构成,并且独立寻址。 存储器如何分段? 段基地址和段内偏移量组成了逻辑地址 段基址 偏移地址(偏移量) 表示为:段基址:段内偏移量 如:2000:0370H 物理地址=段基址10H+偏移地址 0AH 3EH 60002H00H 12H 60000H 0 0 0 0 段基地址(16位) 段首地址 已知CS=1055H,DS=250AH,ES=2EF0H, SS=8FF0H, DS段有一操作数,其偏移地址=0204H, 1)画出各段在内存中的分布 2)指出各段末地址 3)该操作数的物理地址=? 10550H 250A0H 2EF00H 8FF00H CS SS CS DS ES 解: 各段分布及段首址见右图所示。 操作数的物理地址为: 250AH10H+0204H = 252A4H 存储器为什么要分段? 1.因为8088/8086的寄存器都是16位的,无法装载20位的物 理地址,所以它采用了将地址空间分段的方法; 2.方便存储器的管理,采用分段甚至分页来管理,使得多个 程序可以并行运行; 3.分段寻址允许程序在存储器内重定位(浮动),可以把整 个程序作为一个整体移到一个新的区域。允许实模式编写 的程序在保护模式下运行。程序当中使用的地址都是逻辑 地址。 4.信息按特征分段存储。 含14个16位寄存器,按功能可分为三类: 8个通用寄存器 4个段寄存器 2个控制寄存器 2.1.3 8088CPU的寄存器结构 AHAL BL CL DLDH CH BH DX CX BX AX SP BP DI SI 目的变址寄存器 源变址寄存器 基址指针寄存器 堆栈指针寄存器 通 用 寄 存 器 AHAL BL CL DLDH CH BH DX CX BX AX SP BP SI DI IP FLAGS CS DS SS ES 控制寄存器 指令指针 状态标志 代码段寄存器 数据段寄存器 堆栈段寄存器 附加段寄存器目的变址寄存器 源变址寄存器 基址指针寄存器 堆栈指针寄存器 通 用 寄 存 器 段 寄 存 器 20 2.1.3 8088CPU的寄存器结构 AHALAX BHBLBX CHCLCX DHDLDX 堆栈指针寄存器 SP 基址指针寄存器 BP 源变址寄存器SI 目的变址寄存器 DI 指令指针IP 状态标志FLAGS 代码段寄存器CS 数据段寄存器DS 堆栈段寄存器SS 附加段寄存器ES 按 功 能 分 通 用 寄 存 器 专 用 寄 存 器 数据寄存器 指针寄存器 变址寄存器 段寄存器 控制寄存器 数据寄存器 8088含4个16位数据寄存器,它们又可分 为8个8位寄存器,即: AX AH,AL BX BH,BL CX CH,CL DX DH,DL 常用来存放参与运算的操作数或运算结果 数据寄存器特有的习惯用法 AX:累加器。多用于存放中间运算结果。所有 I/O指令必须都通过AX与接口传送信息; BX:基址寄存器。常用于存放访问内存时的偏移地 址; CX:计数寄存器。用于在循环或串操作指令中存 放循环次数或重复次数; DX:数据寄存器。在32位乘除法运算时,存放 高16位数;在间接寻址的I/O指令中存放 I/O端口地址。 地址指针寄存器 SP:堆栈指针寄存器,其内容为栈顶的偏移地址; BP:基址指针寄存器,常用于在访问内存时存放内 存单元的偏移地址。 BX与BP在应用上的区别 作为通用寄存器,二者均可用于存放数据; 作为基址寄存器,BX通常用于数据段,一般与DS 或ES搭配使用;BP则通常用于堆栈段,与SS搭配 使用。 变址寄存器 SI:源变址寄存器 DI:目标变址寄存器 变址寄存器常用于指令的间接寻址或变址寻址. 段寄存器 用于存放逻辑段的段基地址。 CS:代码段寄存器 DS:数据段寄存器 ES:附加段寄存器 SS:堆栈段寄存器 堆栈段用于存放返回地址,保存寄存器内容,传递参 数。 指令指针寄存器 IP:指令指针寄存器,其内容为下一条 要执行的指令的偏移地址; 标志寄存器FR(Flag Register)、psw FLAGS:标志寄存器(程序状态字PSW) 状态标志:存放运算结果的特征 控制标志:控制某些特殊操作 6个状态标志位(CF,SF,AF,PF,OF,ZF) 3个控制标志位(IF,TF,DF) CF -进位标志:算术运算时有进位CF=1,无进位CF=0 PF-奇偶标志:运算结果中“1” 的个数为偶数PF=1 AF-辅助进位标志:第3位向第4位有进位时AF=1 ZF-零标志:运算结果为“0”则ZF=1 SF-符号标志:运算结果为负数时SF=1 OF-溢出标志:运算结果超出规定范围OF=1 IF-中断允许标志:IF=1中断允许 DF-方向标志, DF=0地址加1 TF-跟踪标志,TF=1,为单步工作方式 2.2 8088 CPU的引脚及其功能 双列直插式封装 40个引脚 图2-6 8088微处理器芯片引脚图 30 31 8088/8086特点3:支持多处理器系统 最小模式: 系统控制总线的信号由芯片本身的引脚直接引出。 仅需少量设备便可构成一个小型应用系统,也称为 单处理机模式。不能DMA 最大模式: 系统总线由8088和总线控制器8288共同构成。这 种模式下构成的微型机除8088 CPU以外,还可以 接一个协处理器8087。也称为多处理器模式。 8088/8086可工作于两种模式 32 33 2.2 8088 CPU的引脚及功能 引脚定义的方法可大致分为: 每个引脚只传送一种信息(RD等); 引脚电平的高低代表不同的信号(IO/M等); CPU工作于不同方式有不同的名称和定义(WR/LOCK 等); 分时复用引脚(AD7 AD0 等) ;为了减少芯片的引脚, 8088的许多引脚具有双重定义和功能,可以分时复用;即 在不同时刻,这些引线上的信号是不同的。 引脚的输入和输出分别传送不同的信息。 34 40条引脚, 双列直插式封装 =1,最小模式 =0,最大模式 地址、段寄存器状态复用 ;S6=0, S5=IF, S4S3=00,ES S4S3=01,SS S4S3=10,CS S4S3=11,DS =1,访问输入 输出端口; =0,访问存储 器 数据允许信 号,数据总 线上有有效 数据; 数据传送方向控制 信号, =1,CPU发送数据 ; =0,CPU接收数据 ; 输入信号, 由内存或I/O 设备发出。 Vcc A15 A16/S3 A17/S4 A18/S5 A19/S6 SS0 HIGH MN/MX RD无功能 HOLD RQ/GT0 HLDARQ/GT1 WR LOCK IO/M S2 DT/R S1 DEN S0 ALE QS0 INTA QS1 TEST READY RESET 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 40 39 38
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号