- 1、本文档共105页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
微机原理与接口技术--基于IA-32处理器和32位汇编语言·第4版 第2章 处理器结构 第 2 章处理器结构 2.1 处理器功能结构 2.2 寄存器 2.3 存储器组织 2.4 汇编语言基础 2.5 数据寻址方式 2.1 处理器功能结构 从应用角度看到的处理器内部结构 2.1.1 处理器基本结构 算术逻辑单元 寄存器 指令处理单元 1. 算术逻辑单元ALU 计算机的运算器,负责处理器所能进行的各种运算,主要就是算术运算和逻辑运算 累加器结构的处理器 累加器(Accumulator) 提供一个操作数 保存运算结果 标志(Flag)寄存器 反映运算结果的辅助信息 例如:有无进借位、是否为零、是否为负等 也称为程序状态字(PSW) 2. 寄存器(Register) 处理器内部需要高速存储单元,用于暂时存放程序执行过程中的代码和数据 透明寄存器 对应用人员不可见、不能直接控制的寄存器 可编程(Programmable)寄存器 具有引用名称、供编程使用 通用寄存器 数量较多、使用频度较高,具有多种用途 专用寄存器 只用于特定目的 3. 指令处理单元 处理器的控制单元,它控制指令的执行和信息的传输 指令执行的过程 取指:指令处理单元将指令从主存取出,并通过总线传输到处理器内部的指令寄存器 译码:指令处理单元通过指令译码电路获得该指令的功能 执行:指令处理单元的时序和控制逻辑按一定的时间顺序发出和接收相应信号,完成指令所要求的操作 2.1.2 8086的功能结构 1. 总线接口单元和执行单元 总线接口单元 指令队列、指令指针、段寄存器、地址加法器和总线控制逻辑 管理与系统总线的接口,负责对存储器和外设访问 执行单元 ALU、通用寄存器、标志寄存器和控制电路 负责指令译码、数据运算和指令执行 指令执行的两个主要阶段:取指和执行 取指:从主存取出指令代码进入指令队列 执行:译码指令、并发出有关控制信号实现指令功能 8088指令执行过程示意 2. 指令预取(Prefetch) 8086处理器的指令读取,实际上是指令预取 8086处理器维护着长度为6个字节的指令队列 EU单元译码、执行指令,同时BIU单元读取后续指令 BIU和EU两个单元相互独立,可以并行操作 最简单的指令流水线技术 节省许多取指时间,提高了工作效率 程序转移将使预取指令作废,降低了效率 2.1.3 80386的功能结构 总线接口单元:为处理器提供同外部的接口 指令预取单元:先行读取指令 指令译码单元:从预取队列中取来指令,译码成微指令代码 执行单元:ALU、乘法器、除法器和移位器等 分段单元:逻辑地址变换成线性地址 分页单元:将线性地址变换成物理地址 80386的功能结构 2.1.4 Pentium的功能结构 1. 超标量流水线:2条指令流水线 2. 分离Cache:指令Cache和数据Cache 3. 动态分支预测:预测程序执行顺序 4. 其他 性能增强的浮点处理单元FPU 常用指令固化 改进复杂指令的微代码算法 节能特性 电源电压:3.3V Pentium的功能结构 2.2 寄存器 寄存器就是暂时存放数据的地方 通过编写程序、由处理器执行指令控制 IA-32处理器基本执行环境: 8个32位通用寄存器 6个16位段寄存器 32位标志寄存器 32位指令指针 IA-32常用寄存器 2.2.1 通用寄存器 处理器最常使用的整数通用寄存器 可用于保存整数数据、地址等 8个32位通用寄存器 EAX,EBX,ECX,EDX,ESI,EDI,EBP,ESP 8个16位通用寄存器 AX,BX,CX,DX,SI,DI,BP,SP 8个8位通用寄存器 AH,AL,BH,BL,CH,CL,DH,DL 通用寄存器的名称 EAX:累加器(Accumulator) EBX:基址寄存器(Base) ECX:计数器(Counter) EDX:数据寄存器(Data) ESI:源变址寄存器(Source Index) EDI:目的变址寄存器(Destination Index) EBP:基址指针(Base Pointer) ESP:堆栈指针(Stack Pointer) 2.2.2 标志寄存器 标志(Flag) 反映指令执行结果或控制指令执行形式 用一个或多个二进制位表示一种标志 0或1的不同组合表达标志的不同状态 8086支持16位标志寄存器FLAGS IA-32处理器形成32位EFLAGS标志寄存器 状态标志:记录指令执行结果的辅助信息 控制标志:方向标志DF,仅用于串操作指令 系统标志:控制操作系统或核心管理程序的操作方式 标志寄存器EFLAGS 1. 状态标志 最基本的标志,有6个 用来记录指令执行结果的辅助信息 加减运算和逻辑运算指令是主要设置它们 其他有些指令的执行也会相应地设置它们 处理器主
文档评论(0)