




已阅读5页,还剩34页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2章微处理器内部结构 制作钱晓捷 微型计算机原理及应用 2006年 第2章微处理器内部结构 2 1微处理器功能结构2 1 1微处理器基本结构2 1 28086的功能结构2 1 3IA 32的功能结构2 2IA 32微处理器寄存器2 2 1整数寄存器2 2 2浮点及多媒体寄存器2 3微处理器存储器组织2 3 1IA 32工作方式2 3 2实方式的逻辑段2 3 3保护方式的段页管理 微处理器基本结构 算术逻辑单元ALU ArithmeticLogicUnit 运算器 主要是算术运算和逻辑运算累加器 Accumulator 最常使用的寄存器标志 Flag 寄存器 反映运算结果的辅助信息可编程寄存器通用寄存器 数量较多 具有多种用途专用寄存器 只用于特定目的指令处理单元控制器 执行指令实现其功能指令执行过程 读取指令 指令译码和执行指令 透明和抽象 示意图 微处理器基本结构 1 算逻单元累加器结构的微处理器 一个操作数总是由被称为累加器的寄存器提供 而另一个操作数通过暂存器来提供 反映运算结果的辅助信息记录在标志寄存器中 标志寄存器用于反映指令执行结果或控制指令执行形式 也叫程序状态字 2 寄存器透明的 不可编程 可编程寄存器 有引用名称 分为通用和专用的 3 指令处理单元取指 译码 执行 2 1 28086的功能结构 1 总线接口单元和执行单元管理8086与系统总线的接口 负责微处理器对存储器和外设进行访问 8086所有对外操作必须通过BIU和这些总线进行 执行单元负责指令译码 数据运算和指令执行 8086指令地址由代码段寄存器CS和指令指针寄存器IP共同提供 再由地址加法器得到20位存储器地址 取指 译码 执行 操作数来自寄存器 指令队列或存储器和外设 2 1 28086的功能结构 2 指令预取BIU和EU两个单元相互独立 分别完成各自操作 可以并行操作 指令预取 简单的流水线技术 8086的功能结构 总线接口单元指令队列 指令指针 IP 段寄存器 CS DS SS ES 地址加法器和总线控制逻辑管理与系统总线的接口 负责对存储器和外设访问执行单元ALU 通用寄存器 标志寄存器和控制电路负责指令译码 数据运算和指令执行指令预取EU单元译码执行指令 同时BIU单元读取后续指令最简单的指令流水线技术 示意图 2 1 3IA 32的功能结构 1 80386的功能结构6个功能部件 总线接口单元 指令预取单元 指令译码单元 执行单元 分段单元 分页单元 并行工作 对指令进行流水线处理 总线接口单元 提供与外部接口 取指令或读写数据指令预取单元 利用总线空闲时间预取指令 送入16个字节的指令预取队列 指令译码单元 从预取队列取出指令 译成微代码 放入指令队列 执行单元 执行指令 存储管理单元 逻辑地址变成线性地址和物理地址 读写数据 进行存储保护 80386的功能结构 总线接口单元指令预取单元指令译码单元执行单元分段单元分页单元 示意图 6个功能部件可以并行工作 进行流水线处理 2 Pentium的功能结构 通过体系结构的革新增强CPU的性能 1 超标量流水线 2条指令流水线U和V 2 分离Cache 指令和数据分开的2个8KCache 更好地与Pentium的超标量流水配合 减少指令预取和操作数存取的存储器冲突 3 动态分支预测 设置分支目标缓存器 存储转移指令的执行情况 并进行动态预测 4 高性能浮点处理单元 浮点指令的执行高度流水 5 其它方面 常用指令固化 改进复杂指令微代码算法 6 增大页面容量 适合图像处理等需要大量数据的应用程序 7 采用节能技术 Pentium的功能结构 超标量流水线分离Cache动态分支预测性能增强的浮点处理单元FPU其它常用指令固化改进复杂指令的微代码算法节能特性电源电压 3 3V 示意图 2 2 1整数寄存器1 通用寄存器8个32位通用寄存器EAX EBX ECX EDX ESI EDI EBP ESP8个16位通用寄存器AX BX CX DX SI DI BP SP8个8位通用寄存器AH AL BH BL CH CL DH DL 2 2IA 32微处理器寄存器 存取16位寄存器 高16位不受影响存取8位寄存器 16 32位寄存器其他位不受影响 示意图 通用寄存器的命名 EAX 累加器 Accumulator 用于算逻运算 与外设传送信息 EBX 基址寄存器 Base 存放存储器地址 以方便指向数组中的元素 ECX 计数器 Counter 循环操作等指令中的隐含计数器 EDX 数据寄存器 Data 存放数据 低16位常存放外设端口地址 ESI 源变址寄存器 SourceIndex EDI 目的变址寄存器 DestinationIndex 指向字符串或数组的源 目的操作数 源操作数目的操作数 通用寄存器 EBP 基址指针 BasePointer 默认情况下指向堆栈区域的数据 ESP 堆栈指针 StackPointer 指向堆栈区域的顶部的数据 该指针会随着处理器执行有关指令自动增大或减小 在8086的实地址方式 只使用低16位部分SP 用于调子程序时暂存数据或临时保存数据 堆栈 Stack FILO方式存取数据的存储区域 程序计数器PC 2 指令指针EIP 指向将要执行的指令在主存的位置保存指令所在位置的存储器地址的专用寄存器在IA 32微处理器的32位环境32位指令指针寄存器EIP在80 x86的16位工作方式只使用指令指针的低16位IPEIP中的高16位必须是0 3 段寄存器 逻辑段及其类型逻辑段 Segment 安排一类相关代码或数据的一个主存区域 三类逻辑段 代码段 CodeSegment 存放指令代码程序的指令代码必须安排在代码段数据段 DataSegment 存放当前运行程序所用的数据程序的数据默认存放在数据段 也可放在其他段堆栈段 StackSegment 堆栈区域程序使用的堆栈一定在堆栈段 段寄存器 16位段寄存器 指示逻辑段在主存的起始位置16位80 x86微处理器具有代码段寄存器CS 包含当前代码段的起始位置堆栈段寄存器SS 包含当前堆栈段的起始位置数据段寄存器DS 包含当前数据段的起始位置附加段寄存器ES 包含当前附加段的起始位置附加段 串操作指令必须使用附加段作为其目的操作数的存放区域IA 32微处理器增加段寄存器FS和GS 属于数据段性质的段寄存器 段寄存器用来确定该段在主存中的起始地址 简称段基址或段地址 以段基址为起点 段内的位置用距离该起点的位移量表示 称为偏移地址 逻辑地址和物理地址 逻辑地址 LogicalAddress 在微处理器内部 程序员编程时采用的地址某个存储单元可以有多个逻辑地址逻辑地址 段基地址 偏移地址段基地址 逻辑段在主存中的起始地址偏移地址 距离段基地址的位移量物理地址 PhysicalAddress 地址总线上输出的地址 用于外部硬件连接每个存储单元只有一个唯一的物理地址 逻辑地址由微处理器在输出之前转换为物理地址 示意图 逻辑段的逻辑地址 代码段处理器利用CS EIP取得下一条要执行的指令CS 代码段的段地址EIP 指令的偏移地址堆栈段处理器利用SS ESP操作堆栈中的数据SS 堆栈段的段地址ESP 栈顶的偏移地址数据段默认通过DS EA 也可通过ES FS GS或SS CS EA读取数据DS ES FS GS或SS CS 数据所在逻辑段的段地址EA 数据所在逻辑段的偏移地址 有效地址 寻址方式 4 标志寄存器EFLAGS 标志 Flag 反映指令执行结果或控制指令执行形式用一个或多个二进制位表示一种标志0或1的不同组合表达标志的不同状态8086支持16位标志寄存器FLAGSIA 32微处理器形成32位EFLAGS标志寄存器基本标志 1 状态标志 记录程序运行结果的状态 2 控制标志 控制处理器执行指令的方式8086为16位 以后增加到32位 示意图 1 进位标志CF CarryFlag 当加减运算结果的最高有效位有进位 加法 或借位 减法 时 进位标志置1 即CF 1 否则CF 0针对无符号整数 判断加减结果是否超出表达范围N个二进制位表达无符号整数的范围是 0 2N 18位 0 255 16位 0 65535 32位 0 232 1 8位二进制数相加 00111010 01111100 10110110十六进制表达 3A 7C B6转换成十进制数 58 124 182没有产生进位 CF 0 举例 0 182 255 2 零标志ZF ZeroFlag 运算结果为0 则ZF 1 否则ZF 0 8位二进制数相加 00111010 01111100 10110110十六进制表达 3A 7C B6转换成十进制数 58 124 182结果不是0 ZF 0 举例 182 0 结果是0 ZF标志不是0 3 符号标志SF SignFlag 运算结果最高位为1 则SF 1 否则SF 0 8位二进制数相加 00111010 01111100 10110110十六进制表达 3A 7C B6转换成十进制数 58 124 182最高位 1 SF 1 举例 10110110 最高位 符号位 SF 4 溢出标志OF OverflowFlag 有符号数加减结果有溢出 则OF 1 否则OF 0针对有符号整数 判断加减结果是否超出表达范围N个二进制位表达有符号整数的范围是 2N 1 2N 1 18位 128 127 16位 32768 32767 32位 231 231 1 8位二进制数相加 00111010 01111100 10110110十六进制表达 3A 7C B6转换成十进制数 58 124 182超出范围 有溢出 CF 1 举例 182 127 进位和溢出意义不同 进位标志反映无符号整数运算结果是否超出范围有进位 加上进位或借位后运算结果仍然正确溢出标志反映有符号整数运算结果是否超出范围有溢出 运算结果已经不正确处理器按照无符号整数求得结果设置进位标志CF按有符号整数的范围设置溢出标志OF程序员决定操作数是无符号数 关心进位操作数是有符号数 注意溢出 杯中水已满 再倒就溢出 溢出标志的判断 处理器硬件判断规则最高位和次高位同时有进位或同时无进位 则无溢出 最高位和次高位进位状态不同 则有溢出人工判断的简单规则只有当两个相同符号数相加 含两个不同符号数相减 而运算结果的符号与原数据符号相反时 产生溢出 其他情况下 则不会产生溢出 5 奇偶标志PF ParityFlag 当运算结果最低字节中 1 的个数为零或偶数时 PF 1 否则PF 0 8位二进制数相加 00111010 01111100 10110110十六进制表达 3A 7C B6转换成十进制数 58 124 182 1 的个数为5个 PF 0 举例 5是奇数 仅最低8位 1 的个数 练习 控制标志 方向标志DF DirectionFlag 仅用于串操作指令中 控制地址的变化方向设置DF 0 存储器地址自动增加设置DF 1 存储器地址自动减少中断允许标志IF Interrupt enableFlag 控制外部可屏蔽中断是否可以被处理器响应设置IF 1 允许中断 设置IF 0 禁止中断陷阱标志TF TrapFlag 单步标志控制处理器是否进入单步操作方式设置TF 1 处理器单步执行指令设置TF 0 处理器正常工作 浮点数据寄存器 科学计算等工程领域需要使用实数有些实数可以用整数编码表达和处理 可能要损失精度实数经格式转换 可用整数指令仿真 速度难尽人意计算机表达实数采用浮点数据格式IA 32微处理器支持三种浮点数据类型32位单精度 64位双精度和80位扩展精度浮点数单 双精度浮点数采用IEEE754国际标准浮点格式扩展精度浮点数主要用于内部存储中间结果浮点处理单元8个通用浮点数据寄存器 FPR0 FPR7 80位 堆栈形式专用寄存器 状态寄存器 控制寄存器 标记寄存器 多媒体寄存器 Pentium4支持多媒体指令 整数MMX 浮点数SSEMMX含有8个64位的MMX寄存器 MM0 MM7 SSE新增8个128位的SIMD浮点数据寄存器 XMM0 XMM7 多媒体指令支持紧缩 Packed 数据格式128位紧缩数据2个64位双精度浮点数或4个32位单精度浮点数16个8位 8个16位 4个32位或2个64位整数一条多媒体指令能够对两个紧缩数据进行运算关键技术 单指令多数据SIMD多媒体指令常被称为SIMD指令 示意图 IA 32工作方式 实地址方式与8086具有相同的基本结构只能寻址1MB物理存储器空间逻辑段最大不超过64KB段基地址和偏移量都用16位表示可以使用32位操作数和32位寻址方式保护方式能发挥其全部功能段页式存储管理和特权与保护能力可寻址4GB物理存储器段基地址和段内偏移量都是32位虚拟方式保护方式下的类似实方式的运行环境在1MB存储空间下使用 16位段 16位段 32位段 信息存储 基本单位是二进制位 bit 表达0或1一个字节 Byte 8个二进制位一个字 Word 16个二进制位 2个字节一个双字 DoubleWord 32个二进制位 4个字节一个4字 QuadWord 64个二进制位 8个字节最低有效位LSB是D0位 最高有效位MSB对应字节 字 双字和4字数据依次是D7 D15 D31和D63现代计算机采用字节寻址 ByteAddressable 每个存储单元有一个存储器地址表示存放一个字节量的数据 哪 位 二进制B 十进制D 还是十六进制H 实方式的逻辑段 主存空间1M 220 个字节存储单元物理地址范围 00000H FFFFFH程序设计时分段管理 但有两个限制 每个逻辑段最大为64KB逻辑段只能开始于低4位地址全为0的物理地址处逻辑地址 段地址 偏移地址16位段寄存器保存20位段起始物理地址的高16位偏移地址也用16位数据表示物理地址 段地址 16 偏移地址 示意图 练习 段选择器 Selector 保护方式的16位段寄存器被定义为段选择器包含3个域 指向一个段描述符索引域 记录段描述符在 描述符表 内的位置表指示位TI 指示要寻址的描述符表请求特权层RPL 反映请求本次存取的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度地库车位销售与售后服务合同范本
- 二零二五年度教育培训机构加盟合同买卖补充约定
- 2025版企业招聘及员工培训一体化合同
- 2025至2030年中国新疆煤炭资源开采市场深度评估及行业投资前景咨询报告
- 2025至2030年中国高速耦合器行业市场全景监测及投资前景展望报告
- 二零二五年度专业理发店技师岗位录用协议
- 二零二五年度昆都仑召消防演练场地租赁与布置合同
- 二零二五年度履约保函标准协议书(新能源开发)
- 2025至2030年中国猪油膏行业市场调查研究及发展战略规划报告
- 二零二五年度汽车租赁企业员工租车服务合同
- GB/T 35778-2017企业标准化工作指南
- 羽毛球校本教材
- GB/T 15601-2013管法兰用金属包覆垫片
- GB/T 12325-2008电能质量供电电压偏差
- 汽轮机原理-凝汽器课件
- 二年级下册认识方向练习题
- 检验报告(风机)
- 鼻骨及眼眶骨折的CT诊断课件
- 房屋拆除工程监理规划
- 海思芯片HTOL老化测试技术规范
- 最新版个人征信报告(可编辑+带水印)
评论
0/150
提交评论