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

上传人:sccc 文档编号:5809282 上传时间:2023-08-22 格式:PPT 页数:87 大小:919.07KB
返回 下载 相关 举报
掌握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)总线接口单元(Bus Int

2、erface 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,输入/输出控制电路,外部总线,执行部分控制电路,ALU,标志寄存器,AH AL,B

3、H 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个字节。BIU 具有预取指令的功能,是一种先进先出(FIFO)的数据结构。不论是

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

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

6、加法器,、指令1指令2指令3指令4、数据1数据2数据3、,地址总线AB,数据总线DB,控制总线CB,地址译码器,CPU 总线 内存,工作原理:取指令,执行指令,并行工作方式:流水线,取指令2,取操作数,BIU,存结果1,取指令3,取操作数,取指令4,执行指令1,执行 2,执行3,EU,总线,忙碌,忙碌,忙碌,忙碌,忙碌,忙碌,指令预取队列的存在使EU和BIU可同时工作一个简单的2级流水线新型CPU将一条指令划分成更多的阶段,以便可以同时执行更多的指令,空闲,8088/86 CPU的特点,采用并行流水线工作方式支持多处理器系统片内无浮点运算部件,浮点运算由数学协处理器8087支持(也可用软件模拟

7、)注:80486DX以后的CPU均将数学协处理器作为标准部件集成到CPU内部,对内存空间实行分段管理,物理地址,.60000H 60001H 60002H 60003H 60004H.,12H,F0H,1BH,08H,存储器的操作完全基于物理地址。问题:8088的内部总线和内部寄存器均为16位,如何生成20位地址?解决:存储器分段,2.3 存储器组织,1.存储器分段,高地址,低地址,段地址,段地址,段地址,段地址,最大64KB,段i-1,段i,段i+1,最小16B,16位二进制数可表示216=65536=64K个地址 范围:0000H FFFFH,2.物理地址的形成,段地址:只取段起始地址高1

8、6位值。偏移地址:段内某内存单元物理地址相对段起始地址的偏移值。,物理地址=段地址16+偏移地址物理地址=段地址10H+偏移地址,用BIU中的地址加法器来实现8088 可同时访问4个段,4个段寄存器指示了每个段的基地址,16位段地址,16位段内偏移,20位物理地址,+,16位,20位,0000,段寄存器:专门存放段地址,代码段寄存器:CS数据段寄存器:DS堆栈段寄存器:SS附加段寄存器:ES,各个逻辑段重叠的实例,各个逻辑段独立的实例,指令的地址固定由CS和IP决定:,例:开机或RESET后,(CS)=FFFFH,(IP)=0。故8088执行的第一条指令所在内存的物理地址为:,PA=(CS)1

9、0H+(IP)=FFFF H 10H+0=FFFF0H,3.逻辑地址与物理地址,逻辑地址的组成 段地址:偏移地址逻辑地址的来源,例,已知CS=1055H,DS=250AH,ES=2EF0H,SS=8FF0H,DS段有一操作数,其偏移地址为0204H,1)画出各段在内存中的分布;2)指出各段首地址;3)该操作数的物理地址=?,解:操作数的物理地址为:250AH10H+0204H=252A4H,1.8088CPU中,若(DS)6100H,则当前数据段的起始地址是什么?末地址是什么?,练习,段的起始地址:61000H段的末地址:61000H+(10000H 1)=61000H+0FFFFH=70FF

10、FH,练习,2.给定一个存放数据的内存单元的偏移地址是20C0H,(DS)=0C00EH,求出该内存单元的物理地址。,物理地址(DS)10H+EA0C00E0H+20C0H0C21A0H,练习,3.某程序数据段中有一个字数据1234H,若已知DS=5AA0H,它的偏移地址为245AH,试画出它在存储器中的存放情况。,4.内存单元内容的存放及表示,一个内存单元存放一个字节信息,(01000H)=1EH(01001H)=2FH,当往内存写一个字数据时,写入规则是:低字节到低地址单元,高字节到高地址单元例:将字数据2F1EH写入从01000H开始的内存单元(01000H)=2F1EH,同一地址既可看

11、作字节单元地址,又可看作字单元地址。,2.4 8088的内部寄存器,含14个16位寄存器 8个通用寄存器 4个段寄存器 1个指令指针寄存器 1个控制寄存器,2.48088的内部寄存器,编写应用程序时,涉及三类基本段:代码段(Code Segment):存放指令代码程序的指令代码必须安排在代码段数据段(Data Segment):存放数据程序的数据默认存放在数据段数据也可放在其他段堆栈段(Stack Segment):堆栈区域程序使用的堆栈一定在堆栈段,段寄存器,用于存放逻辑段的段基地址 CS:代码段寄存器 代码段用于存放指令代码 DS:数据段寄存器 ES:附加段寄存器 数据段和附加段用来存放操

12、作数 SS:堆栈段寄存器 堆栈段用于存放返回地址,保存寄存器内容,传递参数,指令指针IP,IP:指令指针寄存器,其内容为下一条 要执行的指令的偏移地址它与代码段寄存器CS联用,确定下一条指令的物理地址计算机通过CS:IP寄存器来控制指令序列的执行流程IP寄存器是一个专用寄存器,数据寄存器,8088含4个16位数据寄存器,它们又可分为8个8位寄存器,即:AX AH,AL BX BH,BL CX CH,CL DX DH,DL 对其中某8位的操作,不影响另外对应8位的数据常用来存放参与运算的操作数或运算结果,数据寄存器特有的习惯用法,AX:累加器。多用于存放中间运算结果。使用频 度最高,用于算术、逻

13、辑运算以及与外设传 送信息等;BX:基址寄存器。常用做存放存储器地址;CX:计数寄存器。用于在循环或串操作指令中存 放循环次数或重复次数;DX:数据寄存器。在32位乘除法运算时,存放高 16位数;在间接寻址的I/O指令中存放 I/O端 口地址。,指针寄存器,指针寄存器用于寻址内存堆栈内的数据SP:堆栈指针寄存器,其内容为栈顶的偏移地址;SP不能再用于其他目的,具有专用目的。BP:基址指针寄存器,表示数据在堆栈段中的基 地址。BP常用于在访问内存时存放内存单元的偏移地址。SP和BP寄存器与SS段寄存器联合使用以确定堆栈段中的存储单元地址,BX与BP在应用上的区别,作为通用寄存器,二者均可用于存放

14、数据;作为基址寄存器,BX通常用于寻址数据段;BP则通常用于寻址堆栈段。BX一般与DS或ES搭配使用,变址寄存器,SI:源变址寄存器DI:目的变址寄存器常用于指令的间接寻址或变址寻址。串操作类指令中,SI和DI具有特别的功能,标志寄存器,FLAGS:标志寄存器状态标志:存放运算结果的特征控制标志:控制某些特殊操作 6个状态标志位(CF,SF,AF,PF,OF,ZF)3个控制标志位(IF,TF,DF),进位标志CF(Carry Flag),当运算结果的最高有效位有进位(加法)或借位(减法)时,进位标志置1,即CF=1;否则CF=0。针对无符号整数,判断加减结果是否超出表达范围,3AH+7CHB6

15、H,CF=0AAH+7CH(1)26H,CF=1,8位:025516位:065535,溢出标志OF(Overflow Flag),若算术运算的结果有溢出,OF1;否则 OF0针对有符号整数,判断加减结果是否超出表达范围,3AH+7CH0B6H,OF=1AAH+7CH(1)26H,OF=0,8位:12812716位:3276832767,什么是溢出,处理器内部以补码表示有符号数8位表达的整数范围是:12712816位表达的范围是:3276732768运算结果超出这个范围,就产生了溢出有溢出,说明有符号数的运算结果不正确,溢出和进位,CF表示无符号数运算结果是否超出范围,运算结果仍然正确;OF表示

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

17、则ZF=0,3AH+7CHB6H,ZF=084H+7CH(1)00H,ZF=1,符号标志SF(Sign Flag),运算结果最高位为1,SF=1;否则SF=0,3AH+7CHB6H,SF=184H+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

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

19、中断可对程序进行逐条指令的调试这种逐条指令调试程序的方法就是单步调试,方向标志DF(Direction Flag),用于串操作指令中,控制地址的变化方向:DF0,存储器地址自动增加;DF1,存储器地址自动减少。,CLD指令复位方向标志:DF0STD指令置位方向标志: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 执行后,状态标志各是多少?,寄存器与存储器的比较,寄存器 存储器在CPU内部 在

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

21、组织:一个完整1MB存储体。,=(段寄存器)16+偏移地址=(段寄存器)10H+偏移地址,物理地址PA=段起始地址 偏移地址,2.5 8088 的引脚信号及功能,外部特性表现在其引脚信号上,学习时请特别关注以下几个方面:引脚的功能信号的流向有效电平三态能力,指引脚信号的定义、作用;通常采用英文单词或其缩写表示,信号从芯片向外输出,还是从外部输入芯片,或者是双向的,起作用的逻辑电平高、低电平有效上升、下降边沿有效,输出正常的低电平、高电平外,还可以输出高阻的第三态,1.8088的两种工作模式,两种模式构成两种不同规模的应用系统最小模式构成小规模的应用系统单处理器系统8088本身提供所有的系统总线

22、信号最大模式构成较大规模的应用系统多处理器系统,例如可以接入数值协处理器8087控制信号较多,8088和总线控制器8288共同形成系统总线信号,1.8088的两种模式(续),两种模式利用MN/MX*引脚区别MN/MX*接高电平为最小模式MN/MX*接低电平为最大模式硬件决定工作方式两种模式下的内部操作并没有区别本书以最小模式展开基本原理IBM PC/XT采用最大模式,8088,地AD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLK地,地A14A13A12A11A10A9A8AD7AD6AD5AD4AD3AD2AD1AD0NMI

23、INTRCLK地,Vcc(5V)A15A16/S3A17/S4A18/S5A19/S6SS0(HIGH)MN/MXRDHOLD(RQ/GT0)HLDA(RQ/GT1)WR(LOCK)M/IO(S2)DT/R(S1)DEN(S0)ALE(QS0)INTA(QS1)TESTREADYRESET,Vcc(5V)AD15A16/S3A17/S4A18/S5A19/S6BHE/S7MN/MXRDHOLD(RQ/GT0)HLDA(RQ/GT1)WR(LOCK)M/IO(S2)DT/R(S1)DEN(S0)ALE(QS0)INTA(QS1)TESTREADYRESET,8086,引脚对比图,8088的引脚图

24、,双列直插式封装40根引脚工作频率5MHz 工作电源+5V,2.最小模式的引脚信号,数据和地址引脚读写控制引脚中断请求和响应引脚总线请求和响应引脚其它引脚,微机的总线结构,单总线结构 简单,但总线竞争严重,“引脚”小结,CPU引脚是系统总线的基本信号可以分成三类信号:8位数据线:D0D720位地址线:A0A19控制线:ALE、IO/M*、WR*、RD*、READYINTR、INTA*、NMI,HOLD、HLDARESET、CLK、Vcc、GND,3.最大模式的引脚定义(略),8088的数据/地址等引脚在最大组态与最小组态时相同有些控制信号不相同,主要是用于输出操作编码信号,由总线控制器8288

25、译码产生系统控制信号:S2*、S1*、S0*3个状态信号LOCK*总线封锁信号QS1、QS0指令队列状态信号RQ*/GT0*、RQ*/GT1*2个总线请求/同意信号,“引脚”提问,提问之一:CPU引脚是如何与外部连接的呢?解答:总线形成(第2.6节),提问之二:CPU引脚是如何相互配合,实现总线操作、控制系统工作的呢?解答:总线时序(第2.7节),系统总线形成与控制电路,微处理器子系统,2.6 系统总线的形成,微处理器级总线,最小模式仅支持单处理器主要需解决:地址与数据的分离地址锁存电路实现方案用3片8位的锁存器8282实现地址锁存。ALE为锁存控制信号,OE*0使锁存的地址直接输出;用1片双

26、向三态门8286用作数据总线驱动和隔离,DT/R*作为方向控制,DEN*作为开门信号;其他控制信号由8088直接产生。,最小模式的总线形成,三态缓冲器(三态门),具有单向导通和三态的特性,双向三态缓冲器,具有双向导通和三态的特性,OE*0,导通 T1 AB T0 ABOE*1,不导通,D触发器,电平锁存:高电平通过,低电平锁存上升沿锁存:通常用负脉冲触发锁存,负脉冲的上升沿,带有异步置位清零的电平控制的锁存器,三态缓冲锁存器(三态锁存器),T,A,D Q C,B,最小模式下的连接示意图,(1)20位地址总线 采用3个三态锁存器8282进行锁存和驱动(2)8位数据总线 数据收发器8286进行驱动

27、(3)系统控制信号 由8088引脚直接提供,最大组态的总线形成,系统地址总线采用3个三态透明锁存器8282进行锁存和驱动 系统数据总线采用数据收发器8286进行驱动 系统控制总线主要由总线控制器8288形成MEMR*、MEMW*、IOR*、IOW*、INTA*,2.7 8088的总线时序,CPU在时钟信号的控制下工作。时钟信号是按一定电压幅度、一定时间间隔发出的脉冲信号.时序:CPU各引脚信号在时间上的关系。,8088的总线时序(续),时序:CPU各引脚信号在时间上的关系。指令周期是指一条指令经取指、译码、读写操作数到执行完成的过程。若干总线周期组成一个指令周期。总线周期是指CPU完成一次访问

28、内存(或接口)操作所需要的时间。一个总线周期至少包括4个时钟周期。时钟周期:相邻两个脉冲之间的时间间隔,是计算机内部最小的时间单位,用Ti表示。当需要延长总线周期时需要插入等待状态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位存储器地址A19A0IO/M*输出低电平,表示存储器操作;ALE输出正脉冲,表示复用总线输出地

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

30、出正脉冲,表示复用总线输出地址T2状态输出控制信号RD*T3和Tw状态检测数据传送是否能够完成T4状态前沿读取数据,完成数据传送,I/O读总线周期,T1状态输出16位I/O地址A15A0IO/M*输出高电平,表示I/O操作;ALE输出正脉冲,表示复用总线输出地址T2状态输出控制信号RD*T3和Tw状态检测数据传送是否能够完成T4状态前沿读取数据,完成数据传送,插入等待状态Tw,同步时序通过插入等待状态,来使速度差别较大的两部分保持同步在读写总线周期中,判断是否插入Tw1.在T3的前沿(下降沿)检测READY引脚是否有效2.如果READY无效,在T3和T4之间插入一个等效于T3的Tw,转13.如果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备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号