微机原理及接口-02:16位和32位微处理器_第1页
微机原理及接口-02:16位和32位微处理器_第2页
微机原理及接口-02:16位和32位微处理器_第3页
微机原理及接口-02:16位和32位微处理器_第4页
微机原理及接口-02:16位和32位微处理器_第5页
已阅读5页,还剩147页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、微机原理与接口技术微机原理与接口技术之之16位和位和32位位微处理器微处理器微处理器微处理器性能指标主要是性能指标主要是 字长字长数据宽度数据宽度 主频主频CPU的时钟频率的时钟频率,和和CPU的运算速度密切相关的运算速度密切相关.Pentium是最通用的是最通用的32位微处理器位微处理器 (对外数据总线采用对外数据总线采用64位位)16位和位和32位微处理器位微处理器16位微处理器位微处理器808632位微处理器位微处理器Pentium的先进技术的先进技术Pentium的指令流水线技术的指令流水线技术Pentium的工作方式的工作方式Pentium的原理结构的原理结构Pentium的寄存器和

2、相关机制的寄存器和相关机制Pentium的主要信号的主要信号Pentium的总线状态的总线状态Pentium的总线周期的总线周期Pentium的中断的中断Pentium的保护技术的保护技术Pentium系列微处理器的技术发展系列微处理器的技术发展16位微处理器位微处理器80868086的编程结构的编程结构8086的引脚信号和工作模式的引脚信号和工作模式8086的操作和时序的操作和时序8086的存储器编址和的存储器编址和I/O编址编址8086的编程结构的编程结构数据线:数据线:16条条地址线:地址线:20条条(寻址空间寻址空间1MB)8088:准:准16位位 (内部操作是内部操作是16位位,但对

3、外的数据总线是但对外的数据总线是8位的位的)编程结构编程结构CPU的性能和使用方法:使用者和程序员角度总线接口部件(总线接口部件(BIU)功能功能 负责与存储器、负责与存储器、I/O端口传送数据端口传送数据 具体讲具体讲 取指取指 执行中访存执行中访存 I/O组成组成 4个段地址寄存器:个段地址寄存器:CS、DS、ES、SS 16位的指令指针寄存器位的指令指针寄存器IP 20位的地址加法器位的地址加法器 6字节的指令队列缓冲器字节的指令队列缓冲器BIU指令队列指令队列 提高系统效率提高系统效率地址加法器地址加法器 为什么使用为什么使用(地址线地址线20位位,16位寄存器提供位寄存器提供) 怎么

4、用怎么用(P11例题例题)执行部件(执行部件(EU)功能功能 负责指令的执行负责指令的执行包括包括 4个通用寄存器个通用寄存器AX、BX、CX、DX 4个专用寄存器个专用寄存器BP、SP、SI、DI 标志寄存器标志寄存器FR 算术逻辑部件算术逻辑部件ALUEU通用寄存器的长度通用寄存器的长度 word、byte、high、low通用寄存器的默认用途通用寄存器的默认用途 Accumulator、Base、Count、Data算术逻辑部件算术逻辑部件标志寄存器标志寄存器 状态标志状态标志 控制标志控制标志1514131211109876543210OFDFIFTFSFZFAFPFCF标志标志状态标

5、志状态标志 SF、ZF、PF、CF、AF、OF控制标志控制标志 DF、IF、TF1514131211109876543210OFDFIFTFSFZFAFPFCF总线周期总线周期总线接口部件的活动总线接口部件的活动基本的总线周期包括基本的总线周期包括4个时钟周期个时钟周期T1(CPU发地址信息发地址信息)、T2(撤销地址撤销地址,为数据准备为数据准备)、T3(数据出现在总线上数据出现在总线上)、T4(结束结束)TW(等待状态等待状态)TI8086的引脚信号和工作模式的引脚信号和工作模式最小模式和最大模式的概念最小模式和最大模式的概念8086的引脚信号和功能的引脚信号和功能最小模式最小模式最大模式

6、最大模式最小模式和最大模式的概念最小模式和最大模式的概念最小模式最小模式 系统中只有系统中只有8086一个微处理器一个微处理器 所有的总线控制信号都直接由所有的总线控制信号都直接由8086产生产生 总线控制电路可以减到最少总线控制电路可以减到最少最大模式最大模式 用于较大规模的用于较大规模的8086系统中系统中 包含包含2个或多个微处理器个或多个微处理器 协处理器协处理器 8087、8089模式选择模式选择 硬件连接决定硬件连接决定8086的的引引脚脚信信号号引脚信号引脚信号8086/8088的数据线和地址线是复用的的数据线和地址线是复用的 称为多路总线称为多路总线8086有有16根数据线根数

7、据线 传送字节数据时用到传送字节数据时用到BHE#信号信号RESET为复位信号为复位信号(复位线和系统中的所有部件连接复位线和系统中的所有部件连接) 复位时,状态怎么样复位时,状态怎么样(标志寄存器标志寄存器,IP,段寄存器指令队列清段寄存器指令队列清,CS=0FFFFH从从FFFF0开开始执行始执行,系统初始化等引导装配程序系统初始化等引导装配程序.)READY信号信号RD#、WR#、M/IO#高高4位地址和状态线复用位地址和状态线复用引脚信号(续)引脚信号(续)GND、VCC 地和电源地和电源AD0AD15 地址地址/数据复用引脚数据复用引脚 传送地址(传送地址(T1)、数据()、数据(T

8、2 、T3、TW、T4 ) 常将常将AD0信号作为低信号作为低8位数据的选通信号位数据的选通信号 中断响应、总线保持响应期间为浮空中断响应、总线保持响应期间为浮空引脚信号(续)引脚信号(续)A19/S6A16/S3 在总线周期的在总线周期的T1状态,输出地址的高状态,输出地址的高4位;在位;在T2 、T3、TW、T4状态,输出状态信息状态,输出状态信息 状态信息状态信息 S6为为0表示表示8086当前与总线相连当前与总线相连 S5表明中断允许标志的当前设置表明中断允许标志的当前设置 S4和和S3合起来指出当前正在使用哪个段寄存器合起来指出当前正在使用哪个段寄存器 总线保持响应期间为浮空总线保持

9、响应期间为浮空S4S3含义含义00当前正在使用当前正在使用ES01当前正在使用当前正在使用SS10当前正在使用当前正在使用CS,或者未使用任何段寄存器,或者未使用任何段寄存器11当前正在使用当前正在使用DS引脚信号(续)引脚信号(续)BHE#/S7 高高8位数据总线允许位数据总线允许/状态复用,输出状态复用,输出 在总线周期的在总线周期的T1状态,输出状态,输出BHE#,表示高位地,表示高位地/数数据线据线AD15AD8上的高上的高8位数据有效(或无效);在位数据有效(或无效);在T2 、T3、TW、T4状态,输出状态信号状态,输出状态信号S7 总线保持响应期间为浮空总线保持响应期间为浮空BH

10、E#A0数据总线传输特性数据总线传输特性0016位位01高高8位,奇地址位,奇地址10低低8位,偶地址位,偶地址11引脚信号(续)引脚信号(续)00000000020000400006FFFF8FFFFAFFFFCFFFFE00001000030000500007FFFF9FFFFBFFFFDFFFFFD8D15D7D0数据总线引脚信号(续)引脚信号(续)NMI 不可屏蔽中断,输入不可屏蔽中断,输入 不受中断允许标志不受中断允许标志IF的影响,不能用软件进行屏蔽的影响,不能用软件进行屏蔽 每当每当NMI端进入一个上升沿信号,端进入一个上升沿信号,CPU就会在结束就会在结束当前指令后,执行对应于

11、中断类型号为当前指令后,执行对应于中断类型号为2的非屏蔽的非屏蔽中断处理程序中断处理程序INTR 可屏蔽中断,输入可屏蔽中断,输入 高电平有效高电平有效 CPU在执行每条指令的最后一个时钟周期会对在执行每条指令的最后一个时钟周期会对INTR信号进行采样信号进行采样 如果如果IF为为1,并且,并且INTR有效,则有效,则CPU会在结束当前会在结束当前指令后响应中断请求指令后响应中断请求引脚信号(续)引脚信号(续)RD# 指出将要执行一个对内存或指出将要执行一个对内存或I/O端口的读操作端口的读操作CLK 时钟信号输入,要求占空比为时钟信号输入,要求占空比为33(1/3为高为高,2/3低低)RES

12、ET 复位信号输入复位信号输入 至少要维持至少要维持4个时钟周期的高电平才有效个时钟周期的高电平才有效 信号到来后,信号到来后,CPU结束当前操作结束当前操作 FR、IP、DS、SS、ES及指令队列清零及指令队列清零 CS置为置为0FFFFH 复位信号撤销后,复位信号撤销后,CPU开始执行程序开始执行程序引脚信号(续)引脚信号(续)READY 准备好信号输入,高电平有效准备好信号输入,高电平有效 T3、TW起始对该信号采样,确定是否插入起始对该信号采样,确定是否插入TWTEST# 测试信号输入测试信号输入 与与WAIT指令配合指令配合(TEST有效时有效时,等待结束等待结束)MN/MX# 最小

13、最小/最大模式选择输入最大模式选择输入最小模式下的引脚信号最小模式下的引脚信号INTA# 中断响应信号输出中断响应信号输出 位于连续总线周期中的两个负脉冲位于连续总线周期中的两个负脉冲(一是通知外设一是通知外设中断允许中断允许,二是往数据线放中断类型码二是往数据线放中断类型码)ALE(给地址锁存器给地址锁存器8282/8283) 地址锁存允许信号输出地址锁存允许信号输出(表示地址数据复用线上是表示地址数据复用线上是地址地址) 高电平有效,总线周期的高电平有效,总线周期的T1状态输出状态输出DEN# 数据允许信号输出数据允许信号输出DT/R# 数据收数据收/发信号输出发信号输出最小模式下的引脚信

14、号(续)最小模式下的引脚信号(续)M/IO# 存储器存储器/端口访问控制信号输出端口访问控制信号输出WR# 写信号输出写信号输出HOLD、HLDA 总线保持请求、响应信号总线保持请求、响应信号 另一总线主模块请求另一总线主模块请求 CPU在总线周期完成后响应在总线周期完成后响应 另一总线主模块使用总线后释放另一总线主模块使用总线后释放最小模式下的典型配置最小模式下的典型配置需要:需要:地址锁存器地址锁存器 8282/8283 74373 74273总线收发器总线收发器 8286/8287 74245时钟发生器时钟发生器 8284A时钟发生器时钟发生器8284A(提供恒定的时钟信号提供恒定的时钟

15、信号同时对同时对READY和和RESET进行同步进行同步)最大模式下的引脚信号最大模式下的引脚信号QS1、QS0 指令队列状态输出指令队列状态输出 指明前一个时钟周期指令队列的状态,以便指明前一个时钟周期指令队列的状态,以便于外部对于外部对8086内部指令队列的动作跟踪内部指令队列的动作跟踪QS1QS0含含 义义00无操作无操作01从指令队列的第一个字节中取走代码从指令队列的第一个字节中取走代码10队列为空队列为空11除第一个字节外,还取走了后续字节中的代码除第一个字节外,还取走了后续字节中的代码最大模式下的引脚信号(续)最大模式下的引脚信号(续)S2#、S1#、S0# 总线周期状态信号输出总

16、线周期状态信号输出 组合起来指出当前总线周期中所进行的数据组合起来指出当前总线周期中所进行的数据传输类型传输类型 总线控制器总线控制器8288对其译码,产生对存储器对其译码,产生对存储器和和IO接口的控制信号接口的控制信号 编码见下表编码见下表最大模式下的引脚信号(续)最大模式下的引脚信号(续)S2#S1#S0#操作过程操作过程000发中断响应信号发中断响应信号001读读IO端口端口010写写IO端口端口011暂停(暂停(halt)100取指令取指令101读内存读内存110写内存写内存111无源状态(无源状态(passive)最大模式下的引脚信号(续)最大模式下的引脚信号(续)LOCK# 总线

17、封锁信号输出总线封锁信号输出 有效时,系统中其他总线主模块不能占有总有效时,系统中其他总线主模块不能占有总线线 由指令前缀由指令前缀LOCK产生产生 相应指令执行结束,相应指令执行结束,LOCK信号撤销信号撤销 8086的两个中断响应脉冲期间,的两个中断响应脉冲期间,LOCK自动自动有效有效(防止中断相应过程被中断防止中断相应过程被中断)最大模式下的引脚信号(续)最大模式下的引脚信号(续)RQ#/GT1#、RQ#/GT0# 总线请求信号输入;总线授权信号输出总线请求信号输入;总线授权信号输出 可供可供CPU以外的两个主模块用来发出使用总以外的两个主模块用来发出使用总线的请求信号;和接收线的请求

18、信号;和接收CPU对总线请求的授对总线请求的授权信号权信号 同一条线上的两个方向的信号同一条线上的两个方向的信号 RQ#/GT0#比比RQ#/GT1#的优先级高的优先级高最大模式下的典型配置最大模式下的典型配置需要用外加需要用外加电 路 来 对电 路 来 对CPU发出的发出的控制信号进控制信号进行变换和组行变换和组合,以得到合,以得到对存储器和对存储器和I O 端 口 的端 口 的读写信号和读写信号和对锁存器、对锁存器、总线收发器总线收发器的控制信号的控制信号8288总线控制器的连接总线控制器的连接8288的输出信号的输出信号ALEDEN和和DT/R#INTA#MRDC#、MWTC#、IORC

19、#、IOWC#AMWC#、AIOWC#8086的操作和时序的操作和时序主要操作包括主要操作包括 系 统 的 复 位 和 启 动 操 作 (系 统 的 复 位 和 启 动 操 作 ( r e s e t & initialization) 暂停操作(暂停操作(halt) 总线操作(总线操作(bus operation) 中断操作(中断操作(interrupt) 最小模式下的总线保持(最小模式下的总线保持(hold) 最大模式下的总线请求最大模式下的总线请求/授权(授权(request /grant)系统复位和启动操作系统复位和启动操作RESET引脚引脚 高电平有效高电平有效 要求要求 正

20、常工作时的复位正常工作时的复位 初次加电时初次加电时复位状态复位状态 寄存器初值寄存器初值离开复位状态离开复位状态 启动启动 10(?)个时钟周期(?)个时钟周期The low-going transition of RESET triggers an internal reset sequence for approximately 10 CLK cycles. After this interval the 8086 operates normally beginning with the instruction in absolute location FFFF0H.复位时序复位时序总线

21、操作总线操作含义含义 CPU为了要与存储器及为了要与存储器及I/O端口交换数据,端口交换数据,需要执行一个总线周期需要执行一个总线周期包括包括 总线读操作总线读操作 总线写操作总线写操作详解最小模式下的总线操作详解最小模式下的总线操作 最大模式呢最大模式呢最最小小方方式式下下的的总总线线读读操操作作最最小小方方式式下下的的总总线线写写操操作作总线空操作总线空操作空闲周期空闲周期TI执行部件未必空闲执行部件未必空闲总线接口部件对执行部件的等待总线接口部件对执行部件的等待中断操作和中断系统中断操作和中断系统中断分类中断分类中断向量和中断向量表中断向量和中断向量表硬件中断硬件中断硬件中断的响应和时序

22、硬件中断的响应和时序中断处理子程序中断处理子程序软件中断软件中断中断分类中断分类8086 可以处理可以处理256种中断种中断 每个中断对应一个中断类型号每个中断对应一个中断类型号 0255从产生中断的方法分从产生中断的方法分 硬件中断硬件中断 通过外部硬件产生(外部中断)通过外部硬件产生(外部中断) 不可屏蔽中断(不可屏蔽中断(NMI)和可屏蔽中断)和可屏蔽中断 软件中断软件中断 CPU根据某条指令或者软件对标志寄存器中某个标志的设根据某条指令或者软件对标志寄存器中某个标志的设置而产生置而产生 与硬件电路无关与硬件电路无关中断分类(图示)中断分类(图示)8086的中断向量和中断向量表的中断向量

23、和中断向量表为什么要用向量中断?为什么要用向量中断?位于内存位于内存0段段03FFH区域区域中断处理子程序的入口地址中断处理子程序的入口地址256个按顺序存放个按顺序存放一个中断向量占一个中断向量占4个字节个字节格式格式 CS:IP8086的的中中断断向向量量表表硬件中断硬件中断NMI和和INTRNMI 不受不受IF标志的影响标志的影响 类型号:类型号:2 紧急、故障紧急、故障INTR 仅当仅当IF为为1时才会响应时才会响应硬件中断的响应和时序硬件中断的响应和时序响应过程的几个步骤响应过程的几个步骤 读取中断类型码读取中断类型码 将标志寄存器的值推入堆栈将标志寄存器的值推入堆栈 把标志寄存器的

24、把标志寄存器的IF和和TF清零清零为什么?为什么? 将断点保护到堆栈中将断点保护到堆栈中 寻找中断向量,转入中断处理程序寻找中断向量,转入中断处理程序INTR与与NMI的不同的不同中断响应中断响应几点说明几点说明 INTR、NMI TF 嵌套嵌套 中断返回中断返回 不能及时响不能及时响应的场合应的场合 串操作串操作8086的中断响应总线周期的中断响应总线周期响应可屏蔽中断的总线操作响应可屏蔽中断的总线操作中断响应总线周期中断响应总线周期(两个周期两个周期)1个总线写周期(个总线写周期(FR把标志寄存器内容把标志寄存器内容入栈)入栈)内部操作(内部操作(IF、TF清零)清零)1个总线写周期(个总

25、线写周期(CS入栈)入栈)1个总线写周期(个总线写周期(IP入栈)入栈)1个总线读周期(读中断服务程序个总线读周期(读中断服务程序IP)1个总线读周期(读中断服务程序个总线读周期(读中断服务程序CS)中断处理子程序中断处理子程序一般结构模式一般结构模式 进一步保护中断现场进一步保护中断现场 开放中断开放中断 中断处理的具体内容中断处理的具体内容 弹出堆栈指令弹出堆栈指令 中断返回指令中断返回指令位置位置 不是浮动装配,而是固定装配不是浮动装配,而是固定装配软件中断软件中断软件中断软件中断 直接调用中断处理子程序的软件手段直接调用中断处理子程序的软件手段 通过中断指令使通过中断指令使CPU执行中

26、断处理子程序的方法执行中断处理子程序的方法 指令本身提供中断类型码指令本身提供中断类型码特点特点 用一条指令进入中断处理子程序,并且,中断类型用一条指令进入中断处理子程序,并且,中断类型码由指令提供码由指令提供 不执行中断响应总线周期,也不从数据总线读取中不执行中断响应总线周期,也不从数据总线读取中断类型码断类型码 不受中断允许标志不受中断允许标志IF的影响的影响 执行过程中可响应外部硬件中断执行过程中可响应外部硬件中断 软件中断没有随机性软件中断没有随机性最小模式下的总线保持最小模式下的总线保持最大模式下的总线请求最大模式下的总线请求/授权授权过程:三个环节,极性,方向过程:三个环节,极性,

27、方向一个空闲周期(一个空闲周期(one dead clock)8086的存储器编址和的存储器编址和I/O编址编址为什么要编址为什么要编址8086的存储器编址的存储器编址8086的的I/O编址编址8086的存储器编址的存储器编址地址空间大小:地址空间大小:1MB 内存分段内存分段 复位复位FFFF:0000FFFF0H8086的存储器编址的存储器编址CS、DS、SS和其他寄存器组合指向存储和其他寄存器组合指向存储单元的示意图单元的示意图8086的存储器编址的存储器编址分段带来的好处分段带来的好处 可以使指令系统中大部分指令只涉及可以使指令系统中大部分指令只涉及16位地址,从位地址,从而减少指令长

28、度,提高执行程序的速度而减少指令长度,提高执行程序的速度 为程序的浮动装配创造了条件为程序的浮动装配创造了条件实际中实际中 同一物理地址可以有不同逻辑地址同一物理地址可以有不同逻辑地址 段可以重叠段可以重叠PC系统存储器区域的固定作用系统存储器区域的固定作用 00000H003FFH(中断向量表中断向量表) B0000HB0F9FH(4K单色显示器的显示缓冲区单色显示器的显示缓冲区) B8000HBBF3FH(16K彩色显示器的显示缓冲区彩色显示器的显示缓冲区) FFFF0HFFFFFH(存放无条件转移指令存放无条件转移指令)8086的的I/O编址编址I/O端口端口地址空间大小地址空间大小 6

29、4K个个8位位I/O端口端口 两个地址相邻的两个地址相邻的8位端口可以组合成一个位端口可以组合成一个16位端口位端口编址编址 与存储器统一编址与存储器统一编址8051使用这种方式使用这种方式 独立编址独立编址8086使用这种方式使用这种方式Pentium32位微处理器的先进技术位微处理器的先进技术微处理器微处理器 从从8位到位到16位位主要是总线的加宽主要是总线的加宽 从从16位到位到32位位从体系结构上有了概念性从体系结构上有了概念性的改革和创新的改革和创新先进的体系结构先进的体系结构CISC和和RISC相结合的技术相结合的技术超标量流水线技术超标量流水线技术先进的分支预测技术先进的分支预测

30、技术先进的体系结构先进的体系结构内部总线内部总线32位位,外部数据总线,外部数据总线64位位互相独立的片内代码互相独立的片内代码Cache和数据和数据Cache(速度速度高容量小的存储器高容量小的存储器)使用了两条流水线并行执行指令使用了两条流水线并行执行指令(U,V)内部集成了增强型浮点处理部件内部集成了增强型浮点处理部件FPU对对ADD、MUL、INC、DEC、PUSH、POP、JMP、CALL和和LOAD等常用指令采用硬件实现等常用指令采用硬件实现采用分段和分页两级存储管理机制采用分段和分页两级存储管理机制增强了信息传输准确性的检测能力和机器异常增强了信息传输准确性的检测能力和机器异常事

31、件的处理能力事件的处理能力为系统的扩展提供了很好的检测和调试能力为系统的扩展提供了很好的检测和调试能力CISC和和RISC相结合的技术相结合的技术CISC(Complex Instruction Set Computer复杂指令集计算复杂指令集计算机机) 指令系统复杂指令系统复杂 访问内存灵活访问内存灵活 微程序控制微程序控制RISC(reduced instruction set computer,精简指令集计算机,精简指令集计算机) 指令系统简单指令系统简单 流水线执行流水线执行 多数运算使用寄存器,访问内存少多数运算使用寄存器,访问内存少Pentium 结合结合超标量流水线技术超标量流水

32、线技术标准状态下标准状态下 一个处理器含一条指令流水线一个处理器含一条指令流水线超标量超标量 一个处理器中有多条指令流水线一个处理器中有多条指令流水线Pentium的一条指令流水线的一条指令流水线 5级:指令预取级级:指令预取级PF、首次译码级、首次译码级D1、D2、执行级、执行级EX、回写级、回写级WBPentium中中 U、V两条流水线两条流水线 每条流水线均含有独立的每条流水线均含有独立的ALU、一系列寄存器、地、一系列寄存器、地址生成电路、连接数据址生成电路、连接数据Cache的接口的接口先进的分支预测技术先进的分支预测技术使用使用BTB(branch target buffer)来执

33、行来执行预测功能预测功能例子例子movdx,100aa:movcx,200bb:moval,04movah,04hint10hdeccxjnzbbdecdxjnzaa规律规律 大多数分支指令转向每个分支的机会不是均等的大多数分支指令转向每个分支的机会不是均等的 大多数分支转移指令排列在循环程序段中大多数分支转移指令排列在循环程序段中先进的分支预测技术先进的分支预测技术结论结论 分支转移指令的转移目标地址是可以预测的,依据分支转移指令的转移目标地址是可以预测的,依据就是前一次的转移目标地址和历史状态就是前一次的转移目标地址和历史状态BTB 含有一个含有一个1KB的的Cache,其中可以容纳,其中

34、可以容纳256条转移条转移指令的目标地址和历史状态指令的目标地址和历史状态 历史状态:必定转移、可能转移、可能不转移、必历史状态:必定转移、可能转移、可能不转移、必定不转移定不转移进一步进一步高速分支预测高速分支预测 芯片内部配置了两个预取缓冲存储器芯片内部配置了两个预取缓冲存储器 一个按照一个按照BTB预测结果预取指令,并在预取指令时,预测结果预取指令,并在预取指令时,在在BTB中建立一个登记项中建立一个登记项 另一个以预测排除的方向预取指令另一个以预测排除的方向预取指令Pentium的指令流水线技术的指令流水线技术指令流水线的组成指令流水线的组成指令流水线的原理指令流水线的原理指令流水线的

35、运行指令流水线的运行Pentium的超标量流水线的运行的超标量流水线的运行指令流水线的组成指令流水线的组成总线接口部件总线接口部件 控制数据总线和地址总线的信息传输控制数据总线和地址总线的信息传输 最主要的操作是读取指令和存取数据最主要的操作是读取指令和存取数据指令预取部件指令预取部件 在总线空闲时从存储器读取指令放入指令预在总线空闲时从存储器读取指令放入指令预取队列取队列指令译码部件指令译码部件 对指令译码,送入译码指令队列对指令译码,送入译码指令队列执行部件(控制部件)执行部件(控制部件) 控制两条流水线的运行控制两条流水线的运行指令流水线的原理指令流水线的原理非流水线方式非流水线方式 依

36、次执行三个操作依次执行三个操作 取指令、指令译码、执行取指令、指令译码、执行流水线流水线 Pentium的整数运算流水线最初由的整数运算流水线最初由5级组成级组成PF、D1、D2、EX、WB 级别越多,速度越快级别越多,速度越快 Pentium4的流水线达的流水线达20级级 Pentium的浮点运算部件也采用流水线机的浮点运算部件也采用流水线机制运行制运行8级:级:PF、D1、D2、EX、X1、X2、WF、ER指令流水线的运行指令流水线的运行PFD1D2EXWB指令I1PFD1D2EXWB指令I2PFD1D2EXWB指令I3PFD1D2EX指令I4PFD1D2指令I5PFD1指令I6CP1CP

37、2CP3CP4CP5CP6Pentium超标量流水线的运行超标量流水线的运行超标量超标量 以并行方式在以并行方式在U、V两条流水线上同时执行两条指令两条流水线上同时执行两条指令 在在U流水线中可以执行任何指令流水线中可以执行任何指令 V流水线中只能执行和流水线中只能执行和U流水线当前执行的指令符合流水线当前执行的指令符合配对规则的指令配对规则的指令配对规则配对规则 两条指令都是简单指令(包括两条指令都是简单指令(包括RISC指令)指令) 互相没有寄存器关联性:两条指令中的寄存器不是互相没有寄存器关联性:两条指令中的寄存器不是“读后写读后写”或者或者“写后读写后读”的关系的关系 一条指令不能同时

38、既包含位移量又包含立即数一条指令不能同时既包含位移量又包含立即数 带前缀的指令只能出现在带前缀的指令只能出现在U流水中(少数例外,如流水中(少数例外,如JCC指令的指令的0FH等)等) 浮点运算指令不能和任何指令配对(浮点运算指令不能和任何指令配对(FCXH除外)除外)Pentium超标量流水线的运行超标量流水线的运行过程过程 D1步骤,指令译码器中的两个并行的译码步骤,指令译码器中的两个并行的译码部件对两套指令译码,并用指令配对规则进部件对两套指令译码,并用指令配对规则进行判断行判断 不会不会100配对成功:配对成功:V流水线不会全速运流水线不会全速运行行流水线受阻的情况流水线受阻的情况 U

39、:影响:影响V V:不会影响:不会影响UPentium的工作方式的工作方式三种三种 实地址方式实地址方式real address mode 保护虚拟地址方式保护虚拟地址方式protected virtual address mode 虚拟虚拟8086方式方式virtual 8086 mode 系统管理方式系统管理方式system manage mode实地址方式实地址方式复位后进入复位后进入目的目的 系统初始化系统初始化类似于类似于8086的体系结构的体系结构寻址机构、存储器管理、中断处理机构均和寻址机构、存储器管理、中断处理机构均和8086一样一样操作数默认长度为操作数默认长度为16位位存储

40、器容量最大为存储器容量最大为1MB,采用分段方式,每段大小,采用分段方式,每段大小固定为固定为64KB存储器中保留两个固定区域存储器中保留两个固定区域FFFF0HFFFFFH00000H003FFH保护方式保护方式对存储器的保护对存储器的保护本性方式本性方式特点特点存储器用逻辑地址空间、线性地址空间和存储器用逻辑地址空间、线性地址空间和物理地址空间三种方式来描述物理地址空间三种方式来描述映像机制使逻辑地址空间大大超过实际的映像机制使逻辑地址空间大大超过实际的内存空间内存空间(磁盘空间映射到内存磁盘空间映射到内存)既能进行既能进行16位运算,也能进行位运算,也能进行32位运算位运算虚拟虚拟808

41、6方式方式保护方式下,可通过软件切换到此方式保护方式下,可通过软件切换到此方式特点特点可以执行可以执行8086的应用程序的应用程序段寄存器的用法和实地址方式时一样,即段寄存器的用法和实地址方式时一样,即段寄存器内容左移段寄存器内容左移4位加上偏移量为线性地位加上偏移量为线性地址址存储器寻址空间为存储器寻址空间为1MB,在分段基础上又分,在分段基础上又分页,每页页,每页4KB虚拟虚拟8086方式方式与实地址方式的区别与实地址方式的区别多任务问题多任务问题寻址空间问题寻址空间问题内存管理问题内存管理问题可以是保护方式中多任务操作的某一个可以是保护方式中多任务操作的某一个任务,而实地址方式总是针对整

42、个系统任务,而实地址方式总是针对整个系统系统管理方式系统管理方式用来增强对系统的管理用来增强对系统的管理 对操作系统的管理对操作系统的管理 对正在运行的程序的管理对正在运行的程序的管理 对电源的管理对电源的管理 为为RAM子系统提供有效的安全性子系统提供有效的安全性 提供软件关机功能提供软件关机功能Pentium的原理结构的原理结构包括包括12个主要部件个主要部件核心部件是两个流水线执行部件和浮点核心部件是两个流水线执行部件和浮点处理部件处理部件总线接口部件总线接口部件U流水线和流水线和V流水线流水线数据数据Cache代码代码Cache指令预取部件指令预取部件指令译码器指令译码器控制控制ROM

43、分支目标缓冲器分支目标缓冲器BTB控制部件控制部件浮点处理单元浮点处理单元FPU分段部件和分页部件分段部件和分页部件寄存器组寄存器组Pentium的主要部件的主要部件分段部件与分页部件PFD1D2EXWBPentium的主要部件的主要部件总线接口部件总线接口部件 64位数据线、位数据线、32位地址线位地址线 功能功能 地址驱动和传输:地址驱动和传输:A31A3、BE7#BE0# 数据驱动:数据驱动:D63D0 数据总线宽度控制数据总线宽度控制(8,16,32,64位通过控制信位通过控制信号实现总线宽度控制号实现总线宽度控制) 数据缓冲数据缓冲 总线操作的控制功能总线操作的控制功能(数据传输数据

44、传输,成组传输成组传输,中中断断,复位复位,DMA操作等操作等) 奇奇/偶校验告示功能偶校验告示功能 Cache操作控制操作控制(片内和片外片内和片外Cache一致性一致性)U流水线和流水线和V流水线流水线Pentium的主要部件(续)的主要部件(续)数据数据Cache和代码和代码Cache(高速缓存可读写高速缓存可读写RAM) Harvard结构?结构?(哈佛结构哈佛结构) 数据数据Cache:双端口:双端口RAM指令预取部件、指令译码器、控制指令预取部件、指令译码器、控制ROM和分支和分支目标缓冲器目标缓冲器 每次预取两条指令每次预取两条指令 复杂指令需要控制复杂指令需要控制ROM的转换的

45、转换(转换为微程序转换为微程序)控制部件控制部件(控制流水线和控制流水线和FPU的正常运行的正常运行)Pentium的主要部件(续)的主要部件(续)浮点处理部件浮点处理部件 FPU按流水线机制执行指令(按流水线机制执行指令(8级)级) 是是U流水线的补充流水线的补充 浮点运算指令的前浮点运算指令的前4级在级在U流水线中执行流水线中执行 常用浮点指令采用专门的硬件电路实现常用浮点指令采用专门的硬件电路实现 支持支持32位、位、64位、位、80位精度位精度分段部件和分页部件分段部件和分页部件 片内二级存储管理片内二级存储管理Pentium的寄存器和相关机制的寄存器和相关机制基本寄存器组基本寄存器组

46、通用寄存器通用寄存器指令指针寄存器指令指针寄存器标志寄存器标志寄存器段寄存器段寄存器系统寄存器组系统寄存器组地址寄存器地址寄存器控制寄存器控制寄存器调试寄存器调试寄存器测试寄存器测试寄存器浮点寄存器组浮点寄存器组数据寄存器数据寄存器标记字寄存器标记字寄存器状态寄存器状态寄存器控制字寄存器控制字寄存器指令指针寄存器指令指针寄存器数据指针寄存器数据指针寄存器寄存器寄存器基本寄存器组基本寄存器组8个个32位的通用寄存器位的通用寄存器EAXEBXECXEDXESIEDIEBPESP低低16位同位同8086基本寄存器组基本寄存器组指令指针寄存器指令指针寄存器 EIP:32位位 低低16位同位同8086标

47、志寄存器标志寄存器 EFLAGS标志寄存器标志寄存器CF0进位标志奇偶标志辅助进位标志零标志符号标志单步标志IOPL11PF203AF405ZF6SF7TF8IF9DF10OF111213NT14015RF16VM17AC18VIF19VIP20ID210 0 0 0 0 0 0 0 0 02231中断允许标志方向标志虚拟中断挂起标志虚拟中断允许标志对准检查标志虚拟8086标志恢复标志任务嵌套标志IO特权级标志溢出标志CPUID指令允许标志段寄存器段寄存器段寄存器、段选择子和描述符段寄存器、段选择子和描述符 6个个16位的段寄存器位的段寄存器CS、DS、SS、ES、FS、GS保护方式下存储单元

48、的地址保护方式下存储单元的地址 也是由段基址和段内偏移量构成也是由段基址和段内偏移量构成 48位的逻辑地址位的逻辑地址16:32(实模式为(实模式为16:16) 段寄存器中不是存放段地址,而是段选择子段寄存器中不是存放段地址,而是段选择子存储单元地址的形成存储单元地址的形成描述符表描述符表三种三种全局描述符表全局描述符表GDT局部描述符表局部描述符表LDT中断描述符表中断描述符表IDT每个描述符对应一个存储段每个描述符对应一个存储段一个系统中一个系统中 GDT和和IDT都只能有一个,每个任务一个都只能有一个,每个任务一个LDT(多任务多任务) IDT和每个和每个LDT本身也各对应一个存储段本身

49、也各对应一个存储段 LDT的描述符在的描述符在GDT中中保护方式的寻址机制保护方式的寻址机制段选择子格式段选择子格式 描述符指示标志描述符指示标志TI0GDT1LDT 描述符索引描述符索引DI:13位位(8192个描述符个描述符,每个每个8个字节个字节) 请求特权级请求特权级RPL:对应存储段的特权级:对应存储段的特权级(03级级,0级最高级最高)段描述符表索引DITIRPL15 321 0保护方式的寻址机制保护方式的寻址机制描述符描述符 8个字节个字节 段基址段基址32位、界限(段长度)位、界限(段长度)20位、属性位、属性12位位段基址3124段界限和属性段基址23063 5655 403

50、9 16段界限15015 00段界限19160GESDPLPAW/RED/C4 3 2 1 056734657012D/B保护方式的寻址机制保护方式的寻址机制由段选择子获得段描述符,由段描述符由段选择子获得段描述符,由段描述符获得对应段的段基址,还获得段界限、获得对应段的段基址,还获得段界限、段的读写类型等信息,于是进入相应的段的读写类型等信息,于是进入相应的代码段、数据段或堆栈段代码段、数据段或堆栈段系统地址寄存器系统地址寄存器全局描述符表寄存器全局描述符表寄存器GDTR中断描述符表寄存器中断描述符表寄存器IDTR任务状态寄存器任务状态寄存器TR局部描述符表寄存器局部描述符表寄存器LDTR由

51、操作系统设置由操作系统设置 在启动系统或启动任务时在启动系统或启动任务时系统地址寄存器系统地址寄存器GDTR:48位位IDTR:48位位TR 存放当前任务的状态段选择子存放当前任务的状态段选择子LDTR 存放选择子存放选择子 检索检索LDT在在GDT中的描述符中的描述符 找到找到LDT的基址的基址 由操作系统设置由操作系统设置 CS、DS等中的选择子:由任务自行设置等中的选择子:由任务自行设置控制寄存器控制寄存器1控制寄存器控制寄存器CR0 PE protection enable 保护方式允许保护方式允许 MP monitor coprocessor 协处理器监控(在协处理器监控(在286、

52、386中与中与80 x87器件同步,器件同步,486之后,若非运行之后,若非运行286/386程序,此位应为程序,此位应为0) EM emulate coprocessor 若置为若置为1,则执行浮点运算指令时,产生,则执行浮点运算指令时,产生“设备不可用设备不可用”异常异常 TS task switched 任务切换时置被为任务切换时置被为1(数学处理用)(数学处理用) NE numerics error 浮点异常控制浮点异常控制 若置为若置为1,则执行浮点运算出现故障时进入异常处理,否,则执行浮点运算出现故障时进入异常处理,否则通过外部中断作处理(需电路配合)则通过外部中断作处理(需电路配

53、合)控制寄存器控制寄存器CR0 WP write protect 若置为若置为1,则对页写保护,则对页写保护 若清零,则标为只读的页也可被超级进程改写若清零,则标为只读的页也可被超级进程改写 AM alignment mask 对准检查屏蔽对准检查屏蔽 对准检查,当对准检查,当AM、AC都置位,都置位,CPL为为3时,才会执行时,才会执行 NW not write through 非通写非通写 CD cache disable 片内片内Cache禁止禁止 PG paging enable 分页允许分页允许控制寄存器控制寄存器CR1CR2和和CR3 专用于存储管理专用于存储管理 CR2:页面故障

54、地址寄存器:页面故障地址寄存器 CR3:页组目录表地址:页组目录表地址 CR3中的中的PCD:page cache disable驱动驱动PCD引脚引脚 CR3中的中的PWT:page write through驱动驱动PWT引脚引脚控制寄存器控制寄存器CR4 VME Virtual-8086 Mode Extensions enables support for a virtual interrupt flag in virtual-8086 mode PVI Protected-Mode Virtual Inter- rupts enables support for a virtual

55、interrupt flag in protected mode TSD Time Stamp Disable DE Debugging Extensions enables I/O breakpoints PSE Page Size Extensions MCE Machine Check Enable enables the machine check exception调试寄存器调试寄存器调试寄存器调试寄存器DR0DR3 存放断点的存放断点的32位线性地址位线性地址DR4DR5 保留保留DR6调试状态寄存器调试状态寄存器 报告断点处的状况报告断点处的状况 B0B3:分别表示:分别表示4个

56、断点的调试状态个断点的调试状态 BD:指令试图读写调试寄存器时为:指令试图读写调试寄存器时为1 BS:TF为为1进行单步调试时为进行单步调试时为1 BT:发生任务切换时为:发生任务切换时为1调试寄存器调试寄存器DR7断点控制寄存器断点控制寄存器 RW0RW3各各2位,对应位,对应DR0DR3中的中的4个线性地址个线性地址00指令执行到断点地址时中断指令执行到断点地址时中断01断点地址处写数据时中断断点地址处写数据时中断10DE为为0时未定义;时未定义;DE为为1时时I/O操作时中断操作时中断11断点地址处读写数据时中断断点地址处读写数据时中断 LEN0LEN3各各2位位指定数据断点地址的字节数

57、:指定数据断点地址的字节数:1、2、4调试寄存器调试寄存器DR7断点控制寄存器断点控制寄存器 GE和和LE用于断点设置在数据传输指令处的状况用于断点设置在数据传输指令处的状况 GD禁止应用程序对所有调试寄存器进行访问禁止应用程序对所有调试寄存器进行访问 L0L3局部开放控制局部开放控制 G0G3全局开放控制全局开放控制测试寄存器测试寄存器Test Registers18个个每个测试寄存器对应一个特定的测试项每个测试寄存器对应一个特定的测试项浮点寄存器组浮点寄存器组8个数据寄存器个数据寄存器 每个每个80位位标记字寄存器标记字寄存器 16位位状态寄存器状态寄存器 16位位控制寄存器控制寄存器 1

58、6位位指令指针和数据指针寄存器指令指针和数据指针寄存器浮点寄存器组浮点寄存器组数据寄存器数据寄存器SIGNEXPONENTSIGNIFICAND7978 6463 01 0R7R6R5R4R3R2R1R0TAGFIELD浮点寄存器组浮点寄存器组标记字寄存器标记字寄存器(标记标记8个数据寄存器的状态个数据寄存器的状态)00有效有效01010特殊(特殊(Inf、NaN等)等)11空空SIGNEXPONENTSIGNIFICAND7978 6463 01 0R7R6R5R4R3R2R1R0TAGFIELD浮点寄存器组浮点寄存器组FPU状态寄存器(状态寄存器(FSW)BC31514TOP13 12 1

59、1C2C1109C0ES87SFPE65UEOE43ZEDE21IE0无效操作操作数不规范除数为0向下溢出向上溢出精度异常浮点运算器忙条件码堆栈顶部指针条件码错误状态堆栈异常浮点寄存器组浮点寄存器组FPU状态寄存器(状态寄存器(FSW) FSTSW AX后紧跟着后紧跟着SAHF指令,会把指令,会把FSW的的高高8位映射到位映射到EFLAGS的低的低8位中,此时可用位中,此时可用条件转移指令,实现根据浮点运算结果状态条件转移指令,实现根据浮点运算结果状态的转移的转移浮点运算单元标志浮点运算单元标志整数运算单元标志整数运算单元标志C0CFC1(NONE)C2PFC3ZF浮点寄存器组浮点寄存器组FP

60、U控制寄存器控制寄存器指令指针和数据指针寄存器(各指令指针和数据指针寄存器(各48位)位) 提供发生故障的指令的地址及其数据操作相提供发生故障的指令的地址及其数据操作相对应的存储器的地址对应的存储器的地址1514保留13 12 11RCPC10987保留PM65UMOM43ZMDM21IM0无效操作屏蔽操作数不规范屏蔽除数为0屏蔽向下溢出屏蔽舍入控制精度控制精度异常屏蔽向上溢出屏蔽Pentium的主要信号的主要信号地址线及控制信号地址线及控制信号A31A3 地址线地址线AP 地址的偶校验码位地址的偶校验码位ADS# 地址选通输出信号地址选通输出信号(启动一个总线周期启动一个总线周期)A20M# A20

温馨提示

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

评论

0/150

提交评论