二章节微处理器与系统结构.ppt

上传人:本田雅阁 文档编号:2477505 上传时间:2019-04-02 格式:PPT 页数:81 大小:1.61MB
返回 下载 相关 举报
二章节微处理器与系统结构.ppt_第1页
第1页 / 共81页
二章节微处理器与系统结构.ppt_第2页
第2页 / 共81页
二章节微处理器与系统结构.ppt_第3页
第3页 / 共81页
亲,该文档总共81页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《二章节微处理器与系统结构.ppt》由会员分享,可在线阅读,更多相关《二章节微处理器与系统结构.ppt(81页珍藏版)》请在三一文库上搜索。

1、第二章 微处理器与系统结构,2.1 微处理器性能指标 2.2 8086微处理器结构 2.3 8086总线操作及时序 2.4 8086存储器与I/O组织结构 2.5 80X86微处理器结构,2.1 微处理器性能指标,字长:决定微处理器与外部存储器、输入/输出部件之间一次交换的二进制数据位数,即数据总线的宽度。如8、16、32、64位。 指令数:8086的指令集为基本指令集,扩充指令 运算速度:寄存器加法指令的 执行时间 主频:即微处理器时钟频率。如Pentium4 2GHz 同系列的微处理器,主频越高,速度越快。 但主频相同的微处理器,速度不一定都相同,因结构有差异 外频:微处理器外部总线工作频

2、率。如Pentium4 2GHz的外频为400MHz 访存空间:决定访存空间。如36位地址线访问236=64GB存储单元,地址线宽度决定了访存空间。,微处理器主要性能指标,高速度缓存(CACHE):L1/L2 Write-through缓存,只对读有效 write-back缓存,对读写都有效 虚拟存储空间 多处理器系统 超标量结构:一个时钟周期内执行一条以上的指令。 低标量结构:一条指令至少需要一个以上的时钟周期 工作电压:微处理器正常工作所需要的电压,早期为5V,后来有3.3V,2.8V,1.5V等。 制造工艺:晶体管之间的最小线距, 0.35m, 0.25m, 0.18m, 0.13m等,

3、微处理器标识,微处理器,2.2 8086微处理器结构,INTEL78年推出(79年推出8088 ) 4万多个晶体管(8088为2.9万个晶体管) 时钟频率4.77MHZ 数据线16位(8088的数据线8位) 地址线20位 40脚DIP封装 81年推出Personal Computer(个人计算机、微机),2.2.1 8086CPU功能结构图,EU 控 制 器,标志寄存器,8位队列总线,总 线 控 制 逻 辑,内部总线16位,20位地址总线,16位数据总线,执行部件EU,总线接口部件BIU,一、8086执行部件EU,算术逻辑单元ALU(Arithmetic and Logic Unit) 进行所

4、有的算术和逻辑运算 计算寻址单元的十六位偏移地址EA(Effect Address) EU控制器 接收指令队列中的指令,进行指令译码、分析,形成各种控制信号,实现EU各个部件完成规定动作的控制 标志寄存器F 通用寄存器,二、8086总线接口部件BIU(Bus Interface Unit),BIU负责与 M、I/O 端口传送数据、地址。 访问存储器时,需要生成20位的物理地址; 要不断从内存中取指令并送到指令队列; CPU执行指令时,要配合执行部件从指定的内存单元或者外设端口中取数据,并将数据传送给执行部件;或把执行部件的操作结果传送给指定的M或I/O口,指令队列缓冲器,8088为4字节,80

5、86为6字节。为FIFO(先进先出)结构 指令队列至少保持有一条指令,且只要有一条指令,EU就开始执行; 指令队列只要有空,BIU自动执行取指操作,直到填满为止; 若EU要进行M/IO存取数据,BIU在执行完现行取指操作周期后进行。 当执行转移指令时,EU要求BIU从新的地址中重新取指。队列中原有指令被清除。新取得的第一条指令直接送EU执行,随后取得的指令填入队列,BIU的段寄存器,4个16位段寄存器CS、DS、SS、ES用来识别当前可寻址的四个段,每个段的功能各不相同 CS:Code Segment Register代码段寄存器,指示当前执行程序所在存储器的区域 DS:Data Segmen

6、t Register数据段寄存器,指示当前程序所用之数据的存储器区域。 SS:Stack Segment Register堆栈段寄存器,指示当前程序所用之堆栈位于的存储器区域 ES:Extra Segment Register附加段寄存器,指示当前程序所用之数据位于的另外存储器区域,在字符串操作中常用到,指令指针,IPInstruction Pointer指令指针寄存器 用来存储代码段中的偏移地址; 程序运行过程中IP始终指向下一次要取出的指令偏移地址 通常不能被直接访问,也不能直接赋值,指令中不会出现IP。 总线控制逻辑 处理器与外界总线联系的转接电路。 包括三组总线:20 位地址总线,16

7、/8位双向数据总线,一组控制总线,地址生成器,CS左移4位,三、EU与BIU的协同工作,在一条指令的执行过程中可以取出下一条(或多条)指令,指令 在指令队列中排队; 在一条指令执行完成后,就可以立即执行下一条指令,减少CPU为取指令而等待的时间,提高CPU的利用率和整个运行速度。,2.2.2 8086/8088的寄存器结构,数据寄存器,地址指针及变址寄存器,控制寄存器组,段寄存器组,AX AH AL 累加器 BX BH BL 基址寄存器 CX CH CL 计数寄存器 DX DH DL 数据寄存器,通用寄存器组,SP 堆栈指针 BP 基址指针 SI 源变址指针 DI 目的变址指针,IP 指令指针

8、 FLAG 标志寄存器,CS 代码段寄存器 DS 数据段寄存器 SS 堆栈段寄存器 ES 附加段寄存器,15 8 7 0,AX,BX,CX,DX,8086的通用寄存器,目的变址指针(Destination Index),DI,源变址指针(Source Index),SI,基址指针(Base Pointer),BP,堆栈指针(Stack Pointer),SP,数据寄存器(Data),计数寄存器(Count),基址寄存器(Base),累加器(Accumulator),通用寄存器,一般,通用寄存器可以用于任何指令的任意操作,可以相互替换 16位的数据寄存器可分解为2个8的使用,是同一个物理介质。如

9、果存储了一个16位的数据,不能同时存储另外的1个或2个8位数 地址寄存器不能分解为8位使用 有些操作规定只能使用某个寄存器,即寄存器的特殊用法,通用寄存器的特殊用法(默认用法),标志寄存器F,唯一能按位操作的寄存器 只定义了其中9位,另外7位未定义(不用) 6位状态标志:OF、SF、ZF、PF、CF、AF 3位控制标志:DF、IF、TF,状态标志,反映指令对数据作用之后,结果的状态(不是结果本身)。这些状态将控制后续指令的执行 OF(Overflow Flag):溢出标志(指补码),F.11 OF=1:在运算过程中,如操作数超过了机器表示的范围称为溢出。 OF=0:在运算过程中,如操作数未超过

10、了机器能表示的范围称为不溢出。 求解方法:最高位进位次高位进位 字节允许范围:-128+127 字允许范围:-32768+32767,状态标志,CF(Carry Flag):进位/借位标志,F.0 CF=1:最高位需要向前产生进位/借位。 CF=0:最高位不会向前产生进位/借位。 AF(Auxiliary Carry Flag):辅助进位标志,F.4 AF=1:数据的第3位(半个字节)需要向前产生进位/借位。 AF=0:数据的第3位(半个字节)不会向前产生进位/借位。,状态标志,SF(Sign Flag):符号标志,F.7 SF=1:运算结果的最高位为1,如果为带符号数,则为负数。 SF=0:

11、运算结果的最高位为0,如果为带符号数,则为正数。 带符号数的最高位为符号位;而无符号数的 最高位为数值位。 ZF(Zero Flag):全零标志,F.6 ZF=1:运算结果为全0。不包括进位的情况 ZF=0:运算结果不为0。,状态标志,PF(Parity Flag):奇偶标志 PF=1: 结果的低8位中有偶数个1。 PF=0: 结果的低8位中有奇数个1。 有些运算操作将影响全部状态标志,如加法、减法运算 有些操作影响部分状态标志,如移位操作 有些指令的操作不影响任何状态标志,如数据传送指令,运算结果最高位为1 SF=1;,例:2个数相加后,分析各标志位的值,第三位向第四位有进位 AF=1;,次

12、高位向最高位有进位 ,最高位向前没有进位,OF=10=1,最高位没有进位 CF=0;,低8位中1的个数为偶数个 PF=1;,运算结果本身0 ZF=0;,运算结果最高位为0 SF=0;,例:2个数相减后,分析各标志位的值,第三位向第四位没有借位 AF=0;,次高位向最高位没有借位 ,最高位向前没有借位,OF=00=0,最高位没有借位 CF=0;,低8位中1的个数为奇数个 PF=0;,运算结果本身0 ZF=0;,控制标志,控制标志位的值不由数据运算的结果决定,而由指令直接赋值 控制标志决定后续指令的执行情况 DF(Direction Flag):方向控制标志位 用于串处理指令,控制从前往后、还是从

13、后往前对字符串进行操作处理 DF=1,每次串处理操作后使变址寄存器SI和DI的值递减,使串处理从高地址向低地址方向处理。 DF=0,每次串处理操作后使变址寄存器SI和DI的值递增,使串处理从低地址向高地址方向处理。,控制标志,IF(Interupt Flag):中断允许/禁止标志位 IF=1, 允许外部可屏蔽中断。CPU可以响应可屏蔽中断请求。 IF=0, 关闭中断。CPU禁止响应可屏蔽中断请求。 IF的状态对不可屏蔽中断和内部软中断没有影响。 TF(Trap Flag):跟踪(陷阱)标志位 TF=1,每执行一条指令后,自动产生一次内部中断,使CPU处于单步执行指令工作方式,便于进行程序调试,

14、用户能检查程序。 TF=0, CPU正常工作,不产生陷阱。,控制标志与状态标志的区别,控制标志的值:由系统程序或用户程序根据需要用指令设置。 状态信息:由中央处理器执行运算指令,并根据运算结果而自动设置。X86 CPU也提供了直接设置状态标志之值的指令,调试状态时,标志位之值的符号表示,2.2.3 8086/8088引脚信号,AD0AD15地址/数据复用引脚(双向、三态) A16/S3A19/S6地址/状态复用引脚(输出、三态),/S7总线高位允许/状态(输出,三态),读信号(输出,低电平有效,三态),测试信号(输入、低电平有效),一、通用信号,READY 准备就绪(输入、高电平有效),状态信

15、号指示当前使用段,一、8086通用引脚信号,INTR可屏蔽中断请求信号(输入、高有效) NMI非屏蔽中断请求(输入,上升沿触发) RESET复位信号(输入,高电平有效) CLK时钟输入端,MN/ 最小/最大模式控制输入端,复位后相关寄存器的初始状态,二、8086最小模式引脚信号,写信号(输出、低电平有效),中断响应信号(输出、三态、低电平有效),DT/ 数据发送/接收控制信号输出(输出、三态),数据允许信号(输出、三态、低电平有效),M/ 存储器/IO控制信号(输出、三态),ALE地址锁存允许信号(输出),HOLD总线保持请求信号(输入、高电平有效) HLDA总线保持响应信号(输出、高电平有效

16、),三、8086最大模式引脚信号,总线周期状态信号(输出、三态),, 总线请求(输入)/总线请求允许信号(输出)(双向、均为低电平有效,总线封锁信号(输出、三态、低电平有效),QS0,QS1指令队列状态信号(输出),四、8088引脚信号,AD0-AD7:数据/低8位地址复用线 SS0:状态信号,IO/ 存储器/地址选择线,2.2.6 8088/8086两种工作模式,最小模式:系统只有8086或8088一个微处理器。所有控制信号直接由CPU提供 最大模式:由两个或多个微处理器(主处理器和协处理器)组成中(大)规模系统,CPU并不直接向外界提供全部控制信号,而由S0S1S2通过Intel 8288

17、总线控制器提供 不同的工作模式下,CPU有一部分引脚具有不同的功能,由第33号引脚(MN/ )控制,数字逻辑器件,8282,地址锁存器8282内部结构,地址锁存器8282引脚信号,直通,保持,高阻,地址锁存功能,STB为高电平期间,输出等于输入;为下降沿时,输出锁存,与输入无关,ALE为8088/8086地址锁存允许, 高电平有效, 输出,复用线上出现地址时为高电平 锁存器的DI0-DI7与CPU的地址/数据复用线相连,STB与ALE相连。ALE为正脉冲时,输出地址;为低电平时,输出锁存,与数据无关,双向数据收发器8286内部结构,功能表,双向数据收发器8286引脚信号,两方面的功能 、三态输

18、出直接驱动总线 、具有数据收和发两个方向的传输、隔离控制功能。 常用芯片:Intel8286,Intel8287和74LS245 8286输入输出同相 8287输入输出反相 74LS245的功能与8286相同,双向数据总线收发器,最小模式总线连接,8086最小工作模式下控制核心单元的组成,5V,读写控制,读写控制,读写控制,最小模式总线状态及操作,8288总线控制器,多CPU 8086/8088系统 由总线控制器8288产生总线控制信号 基本功能 根据S2、S1、S0信号译出对应的状态命令 产生地址锁存信号和双向数据驱动器控制信号 使总线控制信号浮空,以允许其他总线控制单元控制总线 产生简单或

19、级联中断逻辑所需的控制信号,8288内部结构,8288引脚信号,8086最大工作模式下控制核心单元的组成,读写控制,读写控制,读写控制,最大模式总线状态,S0S1S2总线周期状态信号(输出、三态),经过8288总线控制器译码产生对存储器、I/O端口访问所需的控制信号,8086最小组态和最大组态的比较,1)不同之处 最小模式下系统控制信号直接由8086CPU提供;最大模式下因系统复杂,芯片数量较多,为提高驱动能力和改善总线控制能力,大多数的系统控制信号由总线控制器8288提供,2)相同之处: 8086的低位地址线与数据线复用,为保证地址信号维持足够的时间,需使用ALE信号将低位地址线锁存(通过锁

20、存器8282),以形成真正的系统地址总线;,8086最小组态和最大组态的比较,2.3 8086总线操作及时序,时序图:描述某一操作过程中,芯片/总线上有关引脚信号随时间发生变化的关系图 总线周期:执行一个总线操作所需要的时间 一个基本的总线周期通常包含 4 个T状态,存储器/IO读时序,存储器/IO写时序,单CPU系统8086读操作 总线周期时序,单CPU系统8086写操作 总线周期时序,8086最大模式下的读总线周期时序,( DS )=3000H, (BX)=500CH, (3500CH)=9AH,1.IO/M变低, CPU将对内存进行操作 2. A19A0上出现地址信号0011 0101

21、0000 0000 1100 3. ALE上出现正脉冲信号 4. DT/R变低, 数据收发器处于接受状态,执行指令MOV AL,BX的时序图T1,5.A19A16上出现状态信号S6S5S44S3=0 IF 1 1,使用DS 6.AD7AD0变高阻态 7.RD变低,CPU将进行读操作 8. DEN 变低,允许数据收发器进行数据传送,执行指令MOV AL,BX的时序图T2,( DS )=3000H, (BX)=500CH, (3500CH)=9AH,9.AD7AD0上出现数据信号1 0 0 1 1 0 1 0,执行指令MOV AL,BX的时序图T3,10. RD变高,CPU从数据线上读数据,数据9

22、AH读到AL中 11. DEN变高,数据收发器与总线断开,AD7AD0 变高阻态,执行指令MOV AL,BX的时序图T4,2.4 存储器与I/O组织结构,8086有20条地址线,寻址能力为1MB 字节地址:能存储一个字节的存储单元的地址 字地址:占用两个相邻字节单元的地址数值较小的单元地址(低字节地址) 字符串地址:存放在最低地址单元的第一个字节地址 字的存储:低字节在较低地址单元,高字节在较高的相邻地址单元 指针的存储:偏移地址在低地址字单元,段地址在较高地址单元,内存单元既可以存放数据,也可以存放地址指针(包括偏移地址和段地址),此时地址也可以看成是数据,2.4.1 信息存放方式示意图,地

23、址 内容 19H 0CH 1AH 1FH 1BH 01H 1CH 23H 1DH 74H 1EH ABH 1FH 41H 20H 42H 21H 43H 22H 44H 23H 45H,2.4.2 8086奇偶存储器和总线连接,a)存储器地址空间分配,b)存储体与总线的连接,存储单元的访问,2.4.3 存储器分段,分段原因: 8086有20根地址线,但其内部可以表示的地址最多只能是16位。 为了能寻址1MB空间,8086对存储器进行逻辑分段,每个段最大为64KB,最小为16B(此时最多64K个段)。,2.4.4 存储器的逻辑地址和物理地址,8086物理地址PA的形成, 其中的16位偏移量也称为

24、有效地址EA(出现在指令中),物理地址PA与逻辑地址LA的对应,0000,存储器段操作,四个段寄存器(CS、DS、SS、ES)指示四个现行段的段地址。段和段之间可以相互分离、连接、部分重叠或完全重叠。,* 由指令给的出寻址方式所指定的地址,逻辑地址源,物理地址的生成,取指令时:由代码段寄存器CS,再加上IP的16位偏移量 堆栈操作时:由堆栈段寄存器SS,再加上SP所决定的16位偏移量 取数据:ES或DS再加寻址的偏移地址 程序所需的存储空间不超过64KB(包括程序、堆栈和数据),可使CS、SS、DS、ES相等 任务的程序、堆栈以及数据分别不超过64KB,CS,DS,SS可分别置初值,否则用子程

25、序结构,2.4.5 8086系统堆栈操作,堆栈:后进先出的的一段内存 栈顶:永远由地址指针(SS:SP)指示 栈底:最初始的地址指针(SS:SP)指示处 堆栈深度:最大64KB 堆栈的作用:调用子程序(或转向中断服务程序)时,把断点及有关的寄存器、标志位及时正确地保存下来,并保证逐次正确返回 堆栈操作指令:入栈指令PUSH与出栈指令POP 入/出栈操作数:是一个字,而不是一个字节 子程序调用指令或中断响应自动完成时,恢复断点地址由返回指令(RET或IRET)完成,堆栈初始化操作,堆栈段起始地址,栈底及初始栈顶,入栈操作,出栈操作,2.4.7 I/O端口组织,特点:将端口看作存储单元,仅以地址范

26、围的不同来区分两者。 优点:对端口的操作和对存储单元的操作完全一样,因此系统简单,并且对端口操作的指令种类较多。 缺点:CPU对存储单元和I/O端口的实际寻址空间都小于其最大寻址空间。,存储单元地址,I/O 端口 地址,特点:系统视端口和存储单元为不同的对象。 优点:系统中存储单元和I/O端口的数量可以达到最大。 缺点:需要专门的信号来指示系统地址线上出现的是存储单元地址还是端口地址;专用的端口操作指令一般比较单一。,X86的编址方式,输入/输出,8086系统通过I/O端口访问外部设备,既可以接收外部信息,又可以把信息送往外设,并可发出命令控制外部设备 8086 CPU具有读端口信息和写端口信息的专用I/O指令,可寻址21664K个字节端口,2.5 80X86微处理器结构,80186/80188:嵌入式微处理器 80286 独立的16位数据总线 独立的24条地址总线 具有实地址(1MB空间)和保护虚地址两种存储器方式 具有4级流水线结构 增加了标志位,386微处理器,32位微处理器,执行速度快3倍 32条地址线,可寻址4GB(实模式)和64GB(虚拟模式) 6个并行模块 寄存器扩展为32位,486微处理器,主频提高 集成浮点处理器 集成高速缓存器 奔腾 数据总线64位 分支预测等技术 更快处理器速度 更优化的高速缓存器 多媒体处理功能 P2、P3、P4,

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

当前位置:首页 > 其他


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