掌握CPU的内部结构和特点了解CPU外部引线及.ppt

上传人:本田雅阁 文档编号:2744290 上传时间:2019-05-10 格式:PPT 页数:87 大小:919.02KB
返回 下载 相关 举报
掌握CPU的内部结构和特点了解CPU外部引线及.ppt_第1页
第1页 / 共87页
掌握CPU的内部结构和特点了解CPU外部引线及.ppt_第2页
第2页 / 共87页
掌握CPU的内部结构和特点了解CPU外部引线及.ppt_第3页
第3页 / 共87页
掌握CPU的内部结构和特点了解CPU外部引线及.ppt_第4页
第4页 / 共87页
掌握CPU的内部结构和特点了解CPU外部引线及.ppt_第5页
第5页 / 共87页
点击查看更多>>
资源描述

《掌握CPU的内部结构和特点了解CPU外部引线及.ppt》由会员分享,可在线阅读,更多相关《掌握CPU的内部结构和特点了解CPU外部引线及.ppt(87页珍藏版)》请在三一文库上搜索。

1、掌握8088CPU的内部结构和特点; 了解8088CPU外部引线及功能; 掌握各内部寄存器的功能; 掌握8088的存储器组织; 了解8088的工作时序。,本章主要内容,第2章 8088/8086微处理器,2.1 8088/86 概述,8088、8086基本类似 16位CPU、地址总线(AB)宽度20位 差别: 指令队列:8088为4字节,8086为6字节 数据总线:8088有8根,8086有16根 8088为准16位CPU:与当时已有的8位外设接口芯片兼容 本课程主要介绍8088(IBM PC采用),流水线结构,串行结构,2.2 8088的内部结构,执行单元( Execute Unit ) 总

2、线接口单元 ( Bus Interface Unit ),8088的内部结构,1 2 3 4,内部暂存器,IP,ES,SS,DS,CS,输入/输出控制电路,外部总线,执行部分控制电路,ALU,标志寄存器,AH AL,BH BL,CH CL,DH DL,SP,BP,SI,DI,通用 寄存器,地址加法器,指令队列,执行部件(EU),总线接口部件(BIU),16位,20位,16位,8位,总线接口单元BIU,功能: 从内存中取指令送入指令队列 负责与内存或I/O接口之间的数据传送,8088的内部结构,1 2 3 4,内部暂存器,IP,ES,SS,DS,CS,输入/输出控制电路,外部总线,执行部分控制电

3、路,ALU,标志寄存器,AH AL,BH BL,CH CL,DH DL,SP,BP,SI,DI,通用 寄存器,地址加法器,指令队列,执行部件 (EU),总线接口部件 (BIU),16位,20位,16位,8位,BIU 功能:负责与 M、I/O 端口传送数据。 从内存取指令送到指令队列; CPU执行指令时,要配合执行部件从指定的内存单元或者端口中取数据,将数据传送给EU; 把EU的操作结果存储到指定的M或I/O口。,BIU 组成: 4个段寄存器 1个指令指针寄存器(IP) 20位地址加法器() 4字节指令队列 BIU部分控制电路, 指令队列 8086 的为6个字节, 8088 的为4个字节。 BI

4、U 具有预取指令的功能,是一种先进先出(FIFO)的数据结构。不论是8086还是8088都会在执行指令的同时从内存中取下一条或几条指令,取来的指令放在指令队列中. 指令执行顺序 顺序指令执行:指令队列存放紧接在执行指令后面的那一条指令。 执行转移指令: BIU 清除指令队列中的内容,从新的地址取入指令,立即送往执行单元,然后再从新单元开始重新填满队列。,三点说明,执行单元EU,功能: 执行指令 从指令队列中取指令代码 译码 在ALU中完成数据的运算 运算结果 的特征保存在标志寄存器FLAGS中。,1 2 3 4,内部暂存器,IP,ES,SS,DS,CS,输入/输出控制电路,外部总线,执行部分控

5、制电路,ALU,标志寄存器,AH AL,BH BL,CH CL,DH DL,SP,BP,SI,DI,通用 寄存器,地址加法器,指令队列,执行部件 (EU),总线接口部件 (BIU),16位,20位,16位,8位,8088的内部结构,功能:负责指令执行。 组成: 4个通用寄存器 4个专用寄存器 1个标志寄存器 算术逻辑单元(16 位) 执行部件控制系统: 接收从BIU指令队列中取来的指令代码,译码和向 EU 内各有关部分发出时序命令信号,协调执行指令规定的操作。,DS,ES,SS,CS,IP,数据暂存器,PSW标志 寄存器,执行部件控制电路,指令译码器,AX BX CX DX,AH,BH,CH,

6、DH,SI,DI,BP,SP,AL,BL,CL,DL,寄存器组,指 令 队 列,总线 接口控制电路,运 算 器,地址加法器,、 指令1 指令2 指令3 指令4 、 数据1 数据2 数据3 、,地址总线AB,数据总线DB,控制总线CB,地 址 译 码 器,CPU 总线 内存,工作原理: 取指令, 执行指令,并行工作方式:流水线,取指令2,取操作数,BIU,存结果1,取指令3,取操作数,取指令4,执行指令1,执行 2,执行3,EU,总线,忙碌,忙碌,忙碌,忙碌,忙碌,忙碌,指令预取队列的存在使EU和BIU可同时工作 一个简单的2级流水线 新型CPU将一条指令划分成更多的阶段,以便可以同时执行更多的

7、指令,空闲,8088/86 CPU的特点,采用并行流水线工作方式 支持多处理器系统 片内无浮点运算部件,浮点运算由数学协处理器8087支持(也可用软件模拟) 注:80486DX以后的CPU均将数学协处理器作为标准部件集成到CPU内部,对内存空间实行分段管理,物理地址,. . 60000H 60001H 60002H 60003H 60004H . . .,12H,F0H,1BH,08H,存储器的操作完全基于物理地址。 问题: 8088的内部总线和内部寄存器均为16位,如何生成20位地址? 解决:存储器分段,2.3 存储器组织,1.存储器分段,高地址,低地址,段地址,段地址,段地址,段地址,最大

8、64KB,段i-1,段i,段i+1,最小16B,16位二进制数可表示216=65536=64K个地址 范围:0000H FFFFH,2.物理地址的形成,段地址:只取段起始地址高16位值。 偏移地址:段内某内存单元物理地址相对段起始地址的偏移值。,物理地址=段地址16+偏移地址 物理地址=段地址10H+偏移地址,用BIU中的地址加法器来实现 8088 可同时访问4个段,4个段寄存器指示了每个段的基地址,16位段地址,16位段内偏移,20位物理地址,+,16位,20位,0000,段寄存器:专门存放段地址,代码段寄存器:CS 数据段寄存器:DS 堆栈段寄存器:SS 附加段寄存器:ES,各个逻辑段重叠

9、的实例,各个逻辑段独立的实例,指令的地址固定由CS和IP决定:,例:开机或RESET后,( CS ) = FFFFH,( IP ) = 0。 故8088执行的第一条指令所在内存的物理地址为:,PA = ( CS ) 10H + ( IP ) = FFFF H 10H + 0 = FFFF0H,3. 逻辑地址与物理地址,逻辑地址的组成 段地址:偏移地址 逻辑地址的来源,例,已知CS=1055H,DS=250AH,ES=2EF0H,SS=8FF0H,DS段有一操作数,其偏移地址为0204H, 1)画出各段在内存中的分布; 2)指出各段首地址; 3)该操作数的物理地址=?,解: 操作数的物理地址为:

10、 250AH10H + 0204H = 252A4H,1. 8088CPU中,若(DS)6100H,则当前数据段的起始地址是什么?末地址是什么?,练习,段的起始地址: 61000H 段的末地址: 61000H + ( 10000H 1 ) = 61000H + 0FFFFH = 70FFFH,练习,2. 给定一个存放数据的内存单元的偏移地址是20C0H,(DS)=0C00EH,求出该内存单元的物理地址。,物理地址(DS)10H + EA 0C00E0H+20C0H 0C21A0H,练习,3.某程序数据段中有一个字数据1234H,若已知DS=5AA0H,它的偏移地址为245AH,试画出它在存储器

11、中的存放情况。,4. 内存单元内容的存放及表示,一个内存单元存放一个字节信息,( 01000H ) = 1EH ( 01001H ) = 2FH,当往内存写一个字数据时,写入规则是: 低字节到低地址单元 ,高字节到高地址单元 例 : 将字数据2F1EH写入从01000H开始的内存单元 ( 01000H ) = 2F1EH,同一地址既可看作字节单元地址, 又可看作字单元地址。,2.4 8088的内部寄存器,含14个16位寄存器 8个通用寄存器 4个段寄存器 1个指令指针寄存器 1个控制寄存器,2.4 8088 的 内 部 寄 存 器,编写应用程序时,涉及三类基本段: 代码段(Code Segme

12、nt):存放指令代码 程序的指令代码必须安排在代码段 数据段(Data Segment):存放数据 程序的数据默认存放在数据段 数据也可放在其他段 堆栈段(Stack Segment):堆栈区域 程序使用的堆栈一定在堆栈段,段寄存器,用于存放逻辑段的段基地址 CS:代码段寄存器 代码段用于存放指令代码 DS:数据段寄存器 ES:附加段寄存器 数据段和附加段用来存放操作数 SS:堆栈段寄存器 堆栈段用于存放返回地址, 保存寄存器内容,传递参数,指令指针IP,IP:指令指针寄存器,其内容为下一条 要执行的指令的偏移地址 它与代码段寄存器CS联用,确定下一条指令的物理地址 计算机通过CS : IP寄

13、存器来控制指令序列的执行流程 IP寄存器是一个专用寄存器,数据寄存器,8088含4个16位数据寄存器,它们又可分为8个8位寄存器,即: AX AH,AL BX BH,BL CX CH,CL DX DH,DL 对其中某8位的操作,不影响另外对应8位的数据 常用来存放参与运算的操作数或运算结果,数据寄存器特有的习惯用法,AX:累加器。多用于存放中间运算结果。使用频 度最高,用于算术、逻辑运算以及与外设传 送信息等; BX:基址寄存器。常用做存放存储器地址; CX:计数寄存器。用于在循环或串操作指令中存 放循环次数或重复次数; DX:数据寄存器。在32位乘除法运算时,存放高 16位数;在间接寻址的I

14、/O指令中存放 I/O端 口地址。,指针寄存器,指针寄存器用于寻址内存堆栈内的数据 SP:堆栈指针寄存器,其内容为栈顶的偏移地址; SP不能再用于其他目的,具有专用目的。 BP:基址指针寄存器,表示数据在堆栈段中的基 地址。 BP常用于在访问内存时存放内存单元的偏移地址。 SP和BP寄存器与SS段寄存器联合使用以确定堆栈段中的存储单元地址,BX与BP在应用上的区别,作为通用寄存器,二者均可用于存放数据; 作为基址寄存器,BX通常用于寻址数据段;BP则通常用于寻址堆栈段。 BX一般与DS或ES搭配使用,变址寄存器,SI:源变址寄存器 DI:目的变址寄存器 常用于指令的间接寻址或变址寻址。 串操作

15、类指令中,SI和DI具有特别的功能,标志寄存器,FLAGS:标志寄存器 状态标志:存放运算结果的特征 控制标志:控制某些特殊操作 6个状态标志位(CF,SF,AF,PF,OF,ZF) 3个控制标志位(IF,TF,DF),进位标志CF(Carry Flag),当运算结果的最高有效位有进位(加法)或借位(减法)时,进位标志置1,即CF = 1;否则CF = 0。 针对无符号整数,判断加减结果是否超出表达范围,3AH + 7CHB6H, CF = 0 AAH + 7CH(1)26H, CF = 1,8位:0255 16位:065535,溢出标志OF(Overflow Flag),若算术运算的结果有溢

16、出,OF1;否则 OF0 针对有符号整数,判断加减结果是否超出表达范围,3AH + 7CH0B6H, OF = 1 AAH + 7CH(1)26H, OF = 0,8位:128127 16位:3276832767,什么是溢出,处理器内部以补码表示有符号数 8位表达的整数范围是:127128 16位表达的范围是:3276732768 运算结果超出这个范围,就产生了溢出 有溢出,说明有符号数的运算结果不正确,溢出和进位,CF表示无符号数运算结果是否超出范围,运算结果仍然正确; OF表示有符号数运算结果是否超出范围,运算结果已经不正确。,如何运用溢出和进位,处理器对两个操作数进行运算时,按照无符号数

17、求得结果,并相应设置进位标志CF;同时,根据是否超出有符号数的范围设置溢出标志OF。 应该利用哪个标志,则由程序员来决定。也就是说,如果将参加运算的操作数认为是无符号数,就应该关心进位;认为是有符号数,则要注意是否溢出。,溢出的判断,判断运算结果是否溢出有一个简单的规则: 只有当两个相同符号数相加(包括不同符号数相减),而运算结果的符号与原数据符号相反时,产生溢出;因为,此时的运算结果显然不正确 其他情况下,则不会产生溢出,零标志ZF(Zero Flag),若运算结果为0,则ZF = 1; 否则ZF = 0,3AH + 7CHB6H, ZF = 0 84H + 7CH(1)00H, ZF =

18、1,符号标志SF(Sign Flag),运算结果最高位为1,SF = 1;否则SF = 0,3AH + 7CHB6H, SF = 1 84H + 7CH(1)00H, SF = 0,有符号数据用最高有效位表示数据的符号 所以,最高有效位就是符号标志的状态,奇偶标志PF(Parity Flag),当运算结果最低字节中“1”的个数为零或偶数时,PF = 1;否则PF = 0,3AH + 7CHB6H , PF = 0,PF标志仅反映最低8位中“1”的个数是 偶或奇,即使是进行16位字操作,辅助进位标志AF(Auxiliary Carry Flag),3AH + 7CHB6H, AF = 1,运算时

19、D3位(低半字节)有进位或借位时,AF = 1;否则AF = 0。 这个标志主要由处理器内部使用,用于十进制算术运算调整指令中,用户一般不必关心,中断允许标志IF(Interrupt-enable Flag),用于控制外部可屏蔽中断是否可以被处理器响应: IF1,允许中断; IF0,禁止中断。,CLI指令复位中断标志:IF0 STI指令置位中断标志:IF1,陷阱标志TF(Trap Flag),用于控制处理器进入单步操作方式: TF0,处理器正常工作; TF1,处理器单步执行指令。,单步执行指令处理器在每条指令执行结束时,便产生一个编号为1的内部中断 这种内部中断称为单步中断 所以TF也称为单步

20、标志 利用单步中断可对程序进行逐条指令的调试 这种逐条指令调试程序的方法就是单步调试,方向标志DF(Direction Flag),用于串操作指令中,控制地址的变化方向: DF0,存储器地址自动增加; DF1,存储器地址自动减少。,CLD指令复位方向标志:DF0 STD指令置位方向标志:DF1,D75FH = 1110 0111 0101 1111 8046H = 1000 0000 0100 0110 1 1 11 11 0110 0111 1010 0101,结果:C=1, Z=0, P=0, A=1, O=1, S=0,例:D75FH+8046H 执行后,状态标志各是多少?,寄存器与存储

21、器的比较,寄存器 存储器 在CPU内部 在CPU外部 访问速度快 访问速度慢 容量小,成本高 容量大,成本低 用名字表示 用地址表示 没有地址 地址可用各种方式形成,复习:8088CPU结构特点,内部结构 是16位的 (内部寄存器、运算部件、内部操作按 16位设计) 外部数据总线8条,能处理16位数据,也能处理8位数据;(具有16位运算指令,包括、指令) 汇编语言与8080/8085兼容,能执行整套8080/8085的指令。增加了许多16位操作指令 20条地址总线,可寻址220 = 1M个内存单元; 40条引线封装,复习:8088的存储器组织,最大存储空间:00000HFFFFFH (地址线2

22、0条) 分成若干个最大64KB的段(寄存器只有16位) 8088存储器组织:一个完整1MB存储体。,= ( 段寄存器 ) 16 + 偏移地址 = ( 段寄存器 ) 10H + 偏移地址,物理地址PA = 段起始地址 偏移地址,2.5 8088 的引脚信号及功能,外部特性表现在其引脚信号上,学习时请特别关注以下几个方面: 引脚的功能 信号的流向 有效电平 三态能力,指引脚信号的定义、作用;通常采用英文单词或其缩写表示,信号从芯片向外输出,还是从外部输入芯片,或者是双向的,起作用的逻辑电平 高、低电平有效 上升、下降边沿有效,输出正常的低电平、高电平外,还可以输出高阻的第三态,1. 8088的两种

23、工作模式,两种模式构成两种不同规模的应用系统 最小模式 构成小规模的应用系统单处理器系统 8088本身提供所有的系统总线信号 最大模式 构成较大规模的应用系统多处理器系统,例如可以接入数值协处理器8087 控制信号较多,8088和总线控制器8288共同形成系统总线信号,1. 8088的两种模式(续),两种模式利用MN/MX*引脚区别 MN/MX*接高电平为最小模式 MN/MX*接低电平为最大模式 硬件决定工作方式 两种模式下的内部操作并没有区别 本书以最小模式展开基本原理 IBM PC/XT采用最大模式,8 0 8 8,地 AD14 AD13 AD12 AD11 AD10 AD9 AD8 AD

24、7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 NMI INTR CLK 地,地 A14 A13 A12 A11 A10 A9 A8 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 NMI INTR CLK 地,Vcc(5V) A15 A16/S3 A17/S4 A18/S5 A19/S6 SS0(HIGH) MN/MX RD HOLD(RQ/GT0) HLDA(RQ/GT1) WR(LOCK) M/IO(S2) DT/R(S1) DEN(S0) ALE(QS0) INTA(QS1) TEST READY RESET,Vcc(5V) AD15 A16/S3 A17/

25、S4 A18/S5 A19/S6 BHE/S7 MN/MX RD HOLD(RQ/GT0) HLDA(RQ/GT1) WR(LOCK) M/IO(S2) DT/R(S1) DEN(S0) ALE(QS0) INTA(QS1) TEST READY RESET,8 0 8 6,引脚对比图,8088的引脚图,双列直插式封装 40根引脚 工作频率5MHz 工作电源+5V,2. 最小模式的引脚信号,数据和地址引脚 读写控制引脚 中断请求和响应引脚 总线请求和响应引脚 其它引脚,微机的总线结构,单总线结构 简单,但总线竞争严重,“引脚”小结,CPU引脚是系统总线的基本信号 可以分成三类信号: 8位数据线

26、:D0D7 20位地址线:A0A19 控制线: ALE、IO/M*、WR*、RD*、READY INTR、INTA*、NMI,HOLD、HLDA RESET、CLK、Vcc、GND,3. 最大模式的引脚定义(略),8088的数据/地址等引脚在最大组态与最小组态时相同 有些控制信号不相同,主要是用于输出操作编码信号,由总线控制器8288译码产生系统控制信号: S2*、S1*、S0*3个状态信号 LOCK*总线封锁信号 QS1、QS0指令队列状态信号 RQ*/GT0*、RQ*/GT1*2个总线请求/同意信号,“引脚”提问,提问之一: CPU引脚是如何与外部连接的呢? 解答:总线形成(第2.6节),

27、提问之二: CPU引脚是如何相互配合, 实现总线操作、控制系统工作的呢? 解答:总线时序(第2.7节),系 统 总 线 形 成与控制电路,微处 理 器 子 系 统,2.6 系统总线的形成,微处理器级总线,最小模式仅支持单处理器 主要需解决: 地址与数据的分离 地址锁存 电路实现方案 用3片8位的锁存器8282实现地址锁存。ALE为锁存控制信号,OE*0使锁存的地址直接输出; 用1片双向三态门8286用作数据总线驱动和隔离,DT/R*作为方向控制,DEN*作为开门信号; 其他控制信号由8088直接产生。,最小模式的总线形成,三态缓冲器(三态门),具有单向导通和三态的特性,双向三态缓冲器,具有双向

28、导通和三态的特性,OE*0,导通 T1 AB T0 AB OE*1,不导通,D触发器,电平锁存: 高电平通过,低电平锁存 上升沿锁存: 通常用负脉冲触发锁存,负脉冲的上升沿,带有异步置位清零的 电平控制的锁存器,三态缓冲锁存器(三态锁存器),T,A,D Q C,B,最小模式下的连接示意图,(1)20位地址总线 采用3个三态锁存器8282进行锁存和驱动 (2)8位数据总线 数据收发器8286进行驱动 (3)系统控制信号 由8088引脚直接提供,最大组态的总线形成, 系统地址总线 采用3个三态透明锁存器8282进行锁存和驱动 系统数据总线 采用数据收发器8286进行驱动 系统控制总线 主要由总线控

29、制器8288形成 MEMR*、MEMW*、IOR*、IOW*、INTA*,2.7 8088的总线时序,CPU在时钟信号的控制下工作。 时钟信号是按一定电压幅度、一定时间间隔发出的脉冲信号. 时序:CPU各引脚信号在时间上的关系。,8088的总线时序(续),时序:CPU各引脚信号在时间上的关系。 指令周期是指一条指令经取指、译码、读写操作数到执行完成的过程。 若干总线周期组成一个指令周期。 总线周期是指CPU完成一次访问内存(或接口)操作所需要的时间。 一个总线周期至少包括4个时钟周期。 时钟周期:相邻两个脉冲之间的时间间隔,是计算机内部最小的时间单位,用Ti表示。 当需要延长总线周期时需要插入

30、等待状态Tw,最小组态的总线时序,微处理器最基本的4种总线周期: 存储器读总线周期 存储器写总线周期 I/O读总线周期 I/O写总线周期,存储器写总线周期,T4,T3,T2,T1,ALE,CLK,A19/S6A16/S3,A15A8,AD7AD0,A15A8,A7A0,输出数据,A19A16,S6S3,IO/M*,WR*,T1状态输出20位存储器地址A19A0 IO/M*输出低电平,表示存储器操作; ALE输出正脉冲,表示复用总线输出地址 T2状态输出控制信号WR*和数据D7D0 T3和Tw状态检测数据传送是否能够完成 T4状态完成数据传送,I/O写总线周期,T4,T3,T2,T1,ALE,C

31、LK,A19/S6A16/S3,A15A8,AD7AD0,A15A8,A7A0,输出数据,0000,S6S3,IO/M*,WR*,T1状态输出16位I/O地址A15A0 IO/M*输出高电平,表示I/O操作; ALE输出正脉冲,表示复用总线输出地址 T2状态输出控制信号WR*和数据D7D0 T3和Tw状态检测数据传送是否能够完成 T4状态完成数据传送,存储器读总线周期,T1状态输出20位存储器地址A19A0 IO/M*输出低电平,表示存储器操作; ALE输出正脉冲,表示复用总线输出地址 T2状态输出控制信号RD* T3和Tw状态检测数据传送是否能够完成 T4状态前沿读取数据,完成数据传送,I/

32、O读总线周期,T1状态输出16位I/O地址A15A0 IO/M*输出高电平,表示I/O操作; ALE输出正脉冲,表示复用总线输出地址 T2状态输出控制信号RD* T3和Tw状态检测数据传送是否能够完成 T4状态前沿读取数据,完成数据传送,插入等待状态Tw,同步时序通过插入等待状态,来使速度差别较大的两部分保持同步 在读写总线周期中,判断是否插入Tw 1. 在T3的前沿(下降沿)检测READY引脚是否有效 2. 如果READY无效,在T3和T4之间插入一个等效于T3的Tw ,转1 3. 如果READY有效,执行完该T状态,进入T4,插入等待状态Tw,加入TW的总线周期,总线周期,基本总线周期由4个T状态组成:T1、T2、T3、T4 等待时钟周期Tw,在总线周期的T3和T4之间插入 空闲时钟周期Ti,在两个总线周期之间插入,1.了解CPU的基本功能。 2.掌握CPU的内部逻辑结构及基本工作过程。 3.了解流水线技术的初步概念。 4.掌握微机中存储器组成结构(分段),逻辑地址与物理地址概念。 5.了解CPU的外部引脚,掌握主要引脚功能。 6.掌握时钟周期、总线周期及指令周期的定义. 7.了解CPU读、写操作时序。,本章小结,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1