级微机原理4微处理器结构.ppt

上传人:max****ui 文档编号:15558716 上传时间:2020-08-20 格式:PPT 页数:52 大小:964.81KB
收藏 版权申诉 举报 下载
级微机原理4微处理器结构.ppt_第1页
第1页 / 共52页
级微机原理4微处理器结构.ppt_第2页
第2页 / 共52页
级微机原理4微处理器结构.ppt_第3页
第3页 / 共52页
资源描述:

《级微机原理4微处理器结构.ppt》由会员分享,可在线阅读,更多相关《级微机原理4微处理器结构.ppt(52页珍藏版)》请在装配图网上搜索。

1、第四章 80 x86微处理器的结构,处理器典型结构,8086处理器结构,执行部件EU(Execution Unit),组成 ALU(算术逻辑单元):、and、or、xor、增量(inc)、减量(dec)、求补、移位等 通用寄存器组(16位/8位):AX,BX,CX,DX (32位:EAX,EBX,ECX,EDX) 基址指针寄存器BP(16位) EBP(32位) 堆栈指针寄存器SP(16位) ESP(32位) 源变址寄存器SI(16位):DS:SI ESI(32位) 目的变址寄存器DI(16位):ES:DI EDI(32位) 标志寄存器FR EFR (32位) 执行部件的控制电路(完成指令译码等

2、)IP EIP (32位) 负责执行指令,通用寄存器的特殊用途和隐含性质,AX EAX 在输入输出指令中作数据寄存器用:in AX, 80H 在乘法指令中存放被乘数或乘积;在除法指令中存放被除数或商:mul AX,DX BX EBX 在间接寻址中作基址寄存器用,mov AX,BX CX ECX 在循环指令和串操作中的计数器 DX EDX 乘除指令中作为辅助寄存器 I/O指令中作为端口地址寄存器:out DX,AL EAX,EBX,ECX,EDX都可用作基址和变址寄存器 ESI , EDI分别用来访问源串和目的串数据,堆栈的使用,BP:指向栈中一个数据区的基址 SP:指向栈顶的当前位置 EBP用

3、作基址和变址寄存器,ESP用作基址寄存器,堆栈生长方向,8086/8088的堆栈,建栈 MOV AX ,1050H MOV SS ,AX MOV SP ,000EH,进栈 PUSH AX (设 AX=1234H PUSH BX (设 BX=5CF8H),1050FH,10500H,初始栈顶,(栈底),SP= 0EH,SS= 1050H,堆栈起始地址,栈的范围,SP= 0EH,12H,34H,SP= 0CH,5CH,F8H,SP= 0AH,10500H,(不变),1050FH,SS = 1050H,- 2,- 2,当前栈顶,进栈后的SP和SS的值 SP=000AH SS=1050H,进栈前SP和

4、SS的值 SP=000EH SS=1050H,(变化),(AX),(BX),8086通过赋值SS和SP建栈,进栈操作:先SP减 2,再内容进栈。,高,低,出栈操作:先栈顶内容出栈,再修改SP,使SP加2。(字操作),出栈 POP CX POP DS,SP= 0EH,12H,34H,SP= 0CH,5CH,F8H,SP= 0AH,10500H,(不变),1050FH,SS = 1050H,- 2,- 2,当前栈顶,出栈前的SP和SS的值 SP=000AH SS=1050H,(变化),SP= 0EH,CX=5CF8H,DS=1234H,SS=1050H,出栈后SP和SS的值 SP=000EH SS

5、=1050H,SP=0AH,SP=0CH,+2,+2,F8H,5CH,34H,12H,1050FH,高,低,标志寄存器状态标志,1、状态标志:表示前面的操作执行后,算术逻辑部件处于怎样一种状态。例如,是否产生了进位,是否发生了溢出等等。程序中,可以通过对某个状态标志的测试,决定后面的走向及操作。 例如: STATE: IN AL, 0DAH; TEST AL,02H; JZ STATE 零标志ZF(Zero Flag):若运算结果为0,则ZF1;否则ZF0。 例1:MOV AL,4 SUB AL,4 执行后,ZF为1。 例2:XOR AX,AX 执行后,ZF也一定为1。,这两条指令执行后,ZF

6、1。,进位标志CF(Carry Flag): 加法时,最高位(字节操作时的D7位,字操作时的D15位)向前有进位, CF=1,否则CF=0。 减法时,最高位(字节操作时的D7位,字操作时的D15位)向前有借位, CF=1,否则CF=0。 例如: MOV AL,3; SUB AL,4; 执行后,CF1。 奇偶标志PF(Parity Flag):若运算结果低8位中“1”的个数为偶数,则PF1;否则PF0。 例:MOV AL,2 ADD AL,1 执行后,PF位为1。,辅助进位标志AF(Auxiliary carrry Flag): 也称“半进位标志”,它反映: 加法时,第3位向第4位有进位, AF

7、=1,否则AF=0; 减法时,第3位向第4位有借位, AF=1,否则AF=0 。 主要用于BCD码转换。 溢出标志OF(Overflow Flag):若运算过程中发生了有符号数“溢出”,则OF1 ,否则OF=0 。 定义:运算结果超出计算装置所能表示的范围,称为溢出。 判断方法【逻辑】:溢出最高位进位 xor次高位进位 或者 溢出双符号位 异或 符号标志SF(Sign Flag):与运算结果的最高位(字节操作时的D7位,字操作时的D15位)相同,SF=0,标志结果为正,SF=1标志结果为负。,2. 控制标志(3位):每一位控制标志都对一种特定的功能起控制作用。 可以通过专门的指令对其进行“置位

8、”(Set)或“复位”(Reset)。 中断标志IF(Interrupt Enable Flag):如果IF置“1”,则CPU可以接受可屏蔽中断请求;反之,则CPU不能接受可屏蔽中断请求。 指令系统中有两条专门的指令可以置“1”或置“0” IF标志位: STI 使IF置“1”,即开放中断。 CLI 使IF清“0”,即关闭中断。 方向标志DF(Direction Flag):用于串操作指令中的地址增量修改(DF0)还是减量修改(DF1)。 STD 使DF置“1”,即设置串操作指令中的地址减量修改。 CLD 使DF置“0”,即设置串操作指令中的地址增量修改。,跟踪标志TF(Trap Flag):一

9、般情况时,TF=0,CPU按正常方式工作;若TF1,则CPU按跟踪方式执行程序(也叫单步方式,即每执行一条主程序指令,产生一次单步中断)。 标志寄存器的修改 LAHF 取标志寄存器的低字节到AH中 SAHF 将AH的内容送到标志寄存器的低字节中 PUSHF REG16 将标志寄存器的内容推入堆栈 POPF REG16 将栈顶内容弹入标志寄存器 采用上述方式,可以修改标志寄存器中的状态标志和控制标志。,总线接口部件BIU (Bus Interface Unit),组成 4个16位的段寄存器(CS、DS、ES、SS) 1个16位的指令指针寄存器IP 1个地址加法器:用于产生20位物理地址 6个字节

10、的指令队列(ISQ):FIFO 输入/输出控制电路(总线控制逻辑) 内部暂存器 功能 负责与内存或I/O端口传送指令或数据 地址加法器用来产生20位的物理地址,8086的2级流水线,EU与BIU协同工作 每当指令队列缓冲器ISQ中有2bytes空闲空间,BIU自动取指,一次读两个字节 转移、调用、返回指令会造成ISQ排空 EU通过BIU取指和读写数据 ISQ满且EU无申请时BIU空闲,8086存储管理模型,8086地址总线20位,可以寻址2201M字节的地址空间。但8086的内部寄存器是16位(地址的宽度大于字长)。显然,不能用16位的寄存器来实现对全部1M字节单元的寻址。 段式地址管理:对存

11、储器“分段”,即把1M字节内存空间分成若干段。每段最大可达64K字节(可由16位寄存器进行寻址)。段的起始地址成为“段基址”,要访问的单元距段基址的距离(字节数)为“偏移量”(Offset)。 逻辑地址:程序设计时,使用的是逻辑地址。逻辑地址由“段基址”和“偏移量”构成(均为16位)。 表示为“段基址:偏移量” 物理地址: 8086 CPU访问存储器时,在地址总线上实际送出的地址。物理地址(20位)段基值X16+偏移量,段式地址管理,“段基址”由段寄存器CS、DS、SS和ES提供 “偏移量”由BX、BP、IP、SP、SI、DI提供,高,低,字节和字的地址。 字传送:高字节数 高地址 低字节数

12、低地址 (反之同样) 一、用段来组织逻辑空间 1、每段最长可达 64K字节 2、各段起始地址能被 16 整除。(低 4 位为 0 ) 3、各段之间可分开、部分或完全重叠、可首尾相接。 4、根据各段的用途将其定义为CS、DS、ES、SS段。并用偏移地址(距段起址的字节距离)表示被访问单元。 常在CS中用 IP 表示偏移量,SS中用 SP、BP,DS中用 BX、SI、DI、数值 。,二、物理地址的形成,物理地址:20 位 逻辑地址: 段基址 (段寄存器的内容)16位 偏移地址(字节距离)16位 一个实际地址可用多个逻辑地址表示。 实际地址的形成(BIU完成),偏 移 地 址 16 位,物 理 地

13、址 20 位,0,0,0,0,+,段 基 址 16 位,地址计算示例,例1.设(CS)=4232H ,(IP)=0066H,高,低,段的划分,除非专门指定,一般情况下,段在存储器中的分配是由操作系统负责的。 段的划分:定长,可连续、可离散、可覆盖、可重叠 每个存储单元有唯一的物理地址,但它却可由不同的“段基址”和“偏移量”组成。例如: 1200H:0345H12345H 1100H:1345H12345H “碎片”-1到15个字节,8086的访存特性,低地址存低字节;高地址存高字节,56,78,高,低,32位机的存储器管理,32位机新增加分段部件SU和分页部件PU,合称存储器管理部件MMU,并

14、形成三种存储地址空间: 逻辑地址:也称虚拟地址,其实就是编程可使用的地址空间,由一个段选择子和一个偏移量EA组成。32位机有16K个选择子,EA为32位,所以逻辑地址空间达64T=246B。 线性地址:由分段部件将逻辑地址转换为32位的线性地址空间。实模式下就是8086的模式,形成20位的线性地址;而在保护模式下,则是用选择子中的32位基地址和32位的EA相加,得到32位的线性地址。 物理地址:由分页部件将线性地址转换为32位的物理地址空间。(每页4KB,由页表确定,以实现内存的动态灵活高效管理。,EA=基址寄存器+变址寄存器*比例因子+位移量,8086的总线周期,在8086/8088中,所有

15、的读、写存储器或IO端口的操作全部由总线接口部件来完成。因此,在8086/8088中,将通常所称的“机器周期”叫做“总线周期”。 所谓一个总线周期,即BIU与存储器或IO端口进行一次读操作或写操作所需的时间。 在8086/8088中,一个基本的总线周期由4个时钟周期组成,如果内存或IO接口速度较慢,来不及响应,则需在T3之后插入1个或几个Tw状态。,8086总线周期示意,空闲周期:只有BIU与内存或I/O端口交换数据,以及填充指令队列时,BIU才执行总线周期。除此之外,既不需要填充指令队列,EU也没有向BIU发出总线周期请求时,系统总线就处于空闲状态,进入空闲周期,空闲周期由一个或几个Ti状态

16、组成。,8086的总线操作,T1:处理器在地址总线上输出被访问存储单元的地址,指明要访问的存储单元或外设端口。 T2:处理器从总线上撤销地址,使总线低16位高阻态,为传输数据作准备。总线的高4位用于输出本周期的状态信息,这些状态用于表明中断允许状态、当前正在使用的段寄存器名等。 T3:总线高4位仍然是状态,低16位出现处理器写出的数据或存储器(I/O端口)送上的数据。 T4:总线周期结束。,8086总线写操作,8086总线读操作,8086的工作模式,最小模式:也称“单处理器系统”,即在系统中只有一个8086处理器,全部的系统总线信号均由8086直接产生。 总线控制逻辑减到最少,故称最小模式。

17、最大模式:也称“多处理器系统”,即系统中包含两个或多个处理器,其中一个为主处理器(8086),其他的处理器为“协处理器”(COProcessor) 通常,和8086配合使用的协处理器有两个:一个是数值运算协处理器8087,一个是输入/输出协处理器8089。,8086 Pinout,公共引脚,GND,Vcc(5V),CLK AD15AD0:地址/数据复用,双向 A19/S6A16/S3:地址/状态复用总线 T1,输出地址高4位; T2T4,输出状态 S6:指示8086当前使用总线 S5:与中断标志IF相同 S4,S3:指示当前使用的段寄存器 ( 00,01,10,11对应于ES,SS,CS,DS

18、) NMI(Non-Maskable Interrupt) 不受IF的影响,公共引脚,BHE/S7:高8位总线允许(Bus High Enable) T1:指示高8位数据总线上的数据是否有效 (BHE:AD0)配合:00字,01奇地址字节,10偶地址字节,公共引脚,INTR:可屏蔽中断请求 CPU在指令周期的最后一个时钟对INTR采样 RD:CPU读命令,发往MEM或I/O接口 RESET:复位后,从FFFF0H处取指 READY:由MEM或I/O发出 CPU在T3采样,确定是否插入Tw TEST:测试信号输入 由wait指令检测。8087执行时,8086等待 MN/MX:接Vcc,最小模式;

19、接GND,最大模式,最小模式引脚信号,INTA(24):Interrupt Acknowledge,输出 8086响应中断执行两个连续的总线周期 第一个INTA:通知外设中断请求已经允许 第二个INTA:外设送上中断类型码 ALE(25):Address Latch Enable,输出 T1状态时,8282/LS373的锁存控制信号 DEN(26):Data Enable,输出 表示8086准备发送或接收一个数据 T2状态时,8286/LS245的门控制信号,并保持到T4 DT/R(27):Data Transmit/Receive,输出 8286/LS245的数据传输方向控制,指示8086是

20、进行读操作还是写操作,最小模式引脚信号,M/IO(28):Memory/Input & Output,输出 指示8086的访问对象,发给MEM或I/O接口 在前一总线周期的T4就有效,直至本总线周期的T4 WR(29):写命令 发给MEM和I/O接口,T2、T3、Tw有效,最小模式引脚信号,HLDA(30)、HOLD(31):总线请求、总线响应 分总线请求、允许和释放三个阶段 总线部件发HOLD,请求总线 8086在当前总线周期结束后,在T1中间发HLDA 8086使地址/数据总线悬空,让出总线 HOLD、HLDA保持高 总线部件使用总线 HOLD变低,总线部件让出总线 8086收到HOLD变

21、低后,将HLDA变低,重新获得总线,8086最小模式的配置,8086总线操作时序读操作,8086总线操作时序写操作,写周期时序图,8086总线操作时序-中断响应,8086的中断响应和总线请求,最大模式引脚信号,QS1,QS0(24,25):指令队列状态 可从外部对ISQ的状态进行跟踪 00无操作;01第一个字节被取走; 10ISQ被清空; 11除了第一个字节外,还取走了后续字节 RQ/GT1,RQ/GT0(30,31):双向! 请求/响应的过程与最小模式类似,但只用一根线 RQ/GT1,RQ/GT0分别连接一个协处理器,RQ/GT0优先级高,8086最大模式,用一根总线请求/应答线实现总线权的

22、转移。,设备请求总线权,CPU使用总线,CPU使用总线,CPU使用总线,设备使用总线,设备,设备,CPU,CPU响应, 总线权交设备,CPU,设备释放总线权,CPU,设备,若干时钟,若干时钟,最大模式引脚信号,S2,S1,S0(28,27,26):Bus Cycle Status 将8086即将进行的总线操作类型通知8288,8288据此产生控制信号,LOCK(29):总线封锁(优先权锁定) 发往8289。发出封锁命令(LOCK)时,其他总线主设备就不能请求总线。 由指令前缀lock产生封锁,指令执行完后就撤销封锁; INTA有效时,封锁自动有效,以防止其他设备干扰中断响应过程。,最大模式下的

23、工作方式,协处理器模式 80868288(总线控制器)8087/8089 此时的系统总线由一个8086独占,8288工作于“I/O总线模式”。 多处理器模式 8086 (8087/8089) 8288(总线控制器)8289(总线裁决器)。 此时的系统总线由多个8086共享,控制对共享资源进行访问的8288工作于“系统总线模式”。 发展到32位机以后,曾有人利用多处理器结构特点设计了几十个CPU组成的系统,完成小型机功能,使得同性能价格大幅度下降。,多处理器模式,最大模式工作时序,习题 1、8086的一个基本总线周期包括哪几个时钟周期(T状态)?什么情况下需要插入等待状态? 2、指出80 x86CPU执行如下指令后,AL和标志寄存器中各状态位的值。 (1) MOV AL, 0C5H (2)MOV AL, 53H ADD AL, 6AH ADD AL, 72H 3、根据补码加、减运算电路,叙述补码加、减运算的基本原理和控制过程。,

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!