




已阅读5页,还剩50页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第第 2 2 章章 微处理器内部结构 微型计算机原理及应用 制作 孙秀娟 1 重 点 n 80X86的寄存器 n 8086 CPU的功能结构 n 微处理器存储器组织 n 80386 CPU的功能结构 第2章 微处理器内部结构 2 2.1 微处理器功能结构 2.1.1 微处理器基本结构 2.1.2 8086的功能结构 2.1.3 IA-32的功能结构 第2章 微处理器内部结构 3 2.1.1 微处理器基本结构 算术逻辑单元 (ALU) 寄存器 指令处理单元 4 2.1.2 8086的功能结构 8086有16bit数据总线和20bit地址线,可寻址 1MB内存空间。 8086的内部结构从功能分成两个单元 总线接口单元BIUbus interface unit 执行单元EUexecution unit 两个单元相互独立,分别完成各自操作 两个单元可以并行执行,实现指令取指和执行 的流水线操作 5 8086的功能结构 1 2 3 4 5 6 内部暂存器 IP ES SS DS CS 总线控制 逻辑 外部总线 执行部分 控制电路 ALU 标志寄存器 AH AL BH BL CH CL DH DL SP BP SI DI 通用 寄存器 地 址 加 法 器 指令队列 ( 8088:4个 ) 执行部件(EU)总线接口部件 (BIU) 16位 20位 8086:16位 8088:8位 8位 16位 AX BX CX DX 6 指令流水线:BIU和EU分开,取指和执行可以重 迭,大大减少了等待取指所需的时间,提高CPU的 利用率。 8086CPU结构的特点 第二代 微处理器 第三代 微处理器 8086 7 2.1.3 IA-32的功能结构 80386的功能结构 总线接口单元 指令预取单元 指令译码单元 执行单元 分段单元 分页单元 6个功能部件可以并行工作,进行流水线处理 存储管理单元 8 2.1.3 IA-32的功能结构 80386的功能结构 9 作业 P332.4 10 第2章 微处理器内部结构 2.2 IA-32微处理器寄存器 2.2.1 整数寄存器 2.2.2 浮点及多媒体寄存器 11 2.2.1 整数寄存器通用寄存器 存取16位寄存器,高16位不受影响 存取8位寄存器,16/32位寄存器其他位不受影响 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 12 2.2.1 整数寄存器通用寄存器的命名 EAX:累加器(Accumulator) EBX:基址寄存器(Base) ECX:计数器(Counter) EDX:数据寄存器(Data) ESI:源变址寄存器(Source Index) EDI:目的变址寄存器(Destination Index) EBP:基址指针(Base Pointer) ESP:堆栈指针(Stack Pointer) 源操作数 目的操作数 堆栈(Stack):LIFO方式存取数据的存储区域 13 2.2.1 整数寄存器指令指针 程序计数器 PC 14 2.2.1 整数寄存器指令指针 指向将要执行的指令在主存的位置 保存指令所在位置的存储器地址的专用寄存 器 在IA-32的32位工作方式下 32位指令指针寄存器EIP 在80x86的16位工作方式下 只使用指令指针的低16位IP EIP中的高16位必须是0 程序计数器 PC 15 2.2.1 整数寄存器逻辑段及其类型 逻辑段(Segment):安排相关代码或数据 的一个主存区域 代码段(Code Segment):存放指令代码 程序的指令代码必须安排在代码段 数据段(Data Segment):存放数据 程序的数据默认存放在数据段,也可放在其他段 堆栈段(Stack Segment):堆栈区域 程序使用的堆栈一定在堆栈段 16 2.2.1 整数寄存器段寄存器 16位段寄存器:指示逻辑段在主存的起始 位置 16位80x86微处理器 代码段寄存器CS:包含当前代码段的起始位 置 堆栈段寄存器SS:包含当前堆栈段的起始位 置 数据段寄存器DS:包含当前数据段的起始位 置 附加段寄存器ES:包含当前附加段的起始位 置 32位IA-32微处理器 增加附加段寄存器FS和GS 17 2.2.1 整数寄存器段寄存器 18 2.2.1 整数寄存器标志寄存器 标志(Flag) 反映指令执行结果或控制指令执行形式 用一个或多个二进制位表示一种标志 0或1的不同组合表达标志的不同状态 8086支持16位标志寄存器FLAGS IA-32微处理器形成32位EFLAGS标志寄存器 基本标志 状态标志(6个):记录程序运行结果的状态 控制标志(3个):控制处理器执行指令的方式 19 2.2.1 整数寄存器标志寄存器 20 2.2.1 整数寄存器标志寄存器 21 2.2.1 整数寄存器进位标志CF 当加减运算结果的最高有效位有进位(加法)或借 位(减法)时,CF1;否则CF0 针对无符号整数,判断加减结果是否超出表达范围 N个二进制位表达无符号整数的范围是:02N-1 8位:0255;16位:065535;32位:0 2321 8位二进制数相加: 0011 1010 B0111 1100 B1011 0110 B 十六进制表达:3A H7C HB6 H 转换成十进制数:58124182 没有产生进位:CF0 举例 0182255 22 2.2.1 整数寄存器零标志ZF 运算结果为0,ZF1;否则ZF0 8位二进制数相加: 0011 1010 B0111 1100 B1011 0110 B 十六进制表达:3A H7C HB6 H 转换成十进制数:58124182 结果不是0:ZF0 举例 1820 结果是0, ZF标志不是0 ! 23 2.2.1 整数寄存器符号标志SF 运算结果最高位为1,SF1;否则SF0 8位二进制数相加: 0011 1010 B0111 1100 B1011 0110 B 十六进制表达:3A H7C HB6 H 转换成十进制数:58124182 最高位为1:SF1 举例 1011 0110 B 最高位符号位 SF 24 2.2.1 整数寄存器溢出标志OF 有符号数加减结果有溢出,OF1;否则OF0 针对有符号整数,判断加减结果是否超出表达范围 N个二进制位表达有符号整数的范围是:2N12N1- 1 8位:128127;16位:3276832767; 32位:2312311 8位二进制数相加: 0011 1010 B0111 1100 B1011 0110 B 十六进制表达:3A H7C HB6 H 转换成十进制数:58124182 超出范围,有溢出:OF1 举例 182127 25 2.2.1 整数寄存器进位和溢出意义不同 CF反映无符号整数运算结果是否超出范围 有进位,加上进位或借位后运算结果仍然正确 OF反映有符号整数运算结果是否超出范围 有溢出,运算结果已经不正确 处理器按照无符号整数求得结果 设置进位标志CF 设置溢出标志OF 程序员决定 操作数是无符号数,关心进位标志CF 操作数是有符号数,注意溢出标志OF 26 2.2.1 整数寄存器溢出标志的判断 处理器硬件判断规则 (双高位判别法) 最高位和次高位同时有进位或同时无进位,则无溢 出 最高位和次高位进位状态不同,则有溢出 人工判断的简单规则 当两个相同符号数相加(或两个不同符号数相减), 运算结果的符号与原数据符号相反时,产生溢出 其他情况下,则不会产生溢出 0011 1010 B 0111 1100 B 1011 0110 B 正数 正数 负数 最高位 次高位 Cy=0 Cy-1=1 27 2.2.1 整数寄存器奇偶标志PF 当运算结果最低字节中“1”的个数为零或 偶数时,PF1;否则PF0 8位二进制数相加: 0011 1010 B0111 1100 B1011 0110 B 十六进制表达:3A H7C HB6 H 转换成十进制数:58124182 “1”的个数为5个:PF0 举例 5是奇数 奇校验 28 2.2.1 整数寄存器辅助进位标志AF 当运算结果最低半字节有进位或借位时, AF1;否则AF0 8位二进制数相加: 0011 1010 B0111 1100 B1011 0110 B 十六进制表达:3A H7C HB6 H 转换成十进制数:58124182 低半字节有进位:AF1 举例 第3位向第4位有进位 练习 29 标志: 运算结果最高位为1, SF=1 ; 运算结果本身不为0, ZF=0 ; 最高位向前无进位, CF=0 次高位向最高位产生进位,而最高位向前没有进 位, OF=1 ; 结果低8位含偶数个1, PF=1 ; D3位向D4有进位, AF=1 。 练习:执行两个数的加法,分析对标志位的影响: 5439H+456AH。 30 2.2.1 整数寄存器控制标志 方向标志DF 仅用于串操作指令中,控制地址的变化方向 设置DF0,存储器地址自动增加 设置DF1,存储器地址自动减少 中断允许标志IF 控制外部可屏蔽中断是否可以被处理器响应 设置IF1,允许中断 设置IF0,禁止中断 陷阱标志TF(单步标志) 控制处理器是否进入单步操作方式 设置TF1,处理器单步执行指令 设置TF0,处理器正常工作 单步标志 单步中断 单步调试 走一步看一看 31 2.2.1 整数寄存器其他寄存器 系统地址寄存器(4个):GDTR,LDTR, IDTR,TR 控制寄存器(5个):CR0 CR4 调试寄存器(8个):DR0 DR7 测试寄存器(5个):TR3 TR7 32 练习 P332-3: 33 第2章 微处理器内部结构 2.3 微处理器存储器组织 2.3.1 IA-32工作方式 2.3.2 实方式的逻辑段 2.3.3 保护方式的段页管理 34 2.3.1 IA-32工作方式 实地址方式 与8086具有相同的基本结构 只能寻址1MB物理存储器空间 段基地址和偏移量都用16位表示 逻辑段最大不超过64KB 可以使用32位操作数和32位寻址方式 保护方式 能发挥微处理器全部功能 可寻址4GB物理存储器 段基地址和段内偏移量都是32位 段页式存储管理,特权与保护能力 16位段 32位段 35 Intel的特权环状模型 36 2.3.1 IA-32工作方式 实地址方式 与8086具有相同的基本结构 只能寻址1MB物理存储器空间 段基地址和偏移量都用16位表示 逻辑段最大不超过64KB 可以使用32位操作数和32位寻址方式 保护方式 能发挥微处理器全部功能 可寻址4GB物理存储器 段基地址和段内偏移量都是32位 段页式存储管理,特权与保护能力 虚拟8086方式 保护方式下的类似实方式的运行环境 在1MB存储空间下使用“16位段” 16位段 32位段 37 内存单元的地址和内容 16位寄存器如何访 问20位地址空间? 2.3.2 实方式的逻辑段信息存储 38 2.3.2 实方式的逻辑段存储器的分段 主存空间1M(220)个字节存储单元 物理地址范围:00000 HFFFFF H 程序设计时进行分段管理,但有两个限制 每个逻辑段最大为64KB 逻辑段只能开始于低4位地址全为0的物理地 址处 39 存 储 器 分 段 表 示 示 意 图 00000H FFFFFH 01000H 10350H 10500H A1000H 0100H 1035H 1050H A100H 段1 段2 段3 段4 部分重叠 段基地址 物理地址 存储器 40 假设各逻辑段连续、不重叠,则 8086 1MB的存储器空间最多能 分成多少个段?1MB空间最少又 能分成多少个段? 思考题 41 逻辑地址(Logical Address) 在微处理器内部、程序员编程时采用的地址 某个存储单元可以有多个逻辑地址 逻辑地址段基地址偏移地址 段基地址逻辑段起始地址(段首址)的高16位 偏移地址距离段首址的位移量 物理地址(Physical Address) 存储器的绝对地址(实际地址) 地址总线上输出的地址,用于外部硬件连接 每个存储单元只有一个唯一的物理地址 逻辑地址由微处理器在输出之前转换为物理地址 108 208 308 106 206 306 107 207 307 109 209 309 110105104103102101310305304303302301 08 18 28 06 16 26 07 17 27 09 19 29 100504030201 201514131211 302524232221 逻辑地址相对地址:205(2层05号房间) 物理地址绝对地址:15(第15号房间) 2.3.2 实方式的逻辑段-两种地址 42 物理地址= 16段基址+偏移地址。 即: PA16 SAEA 段基址 0 0 0 0 3 2 1 0 偏移地址 地址加法器 物理地址 015 150 190 2.3.2 实方式的逻辑段-两种地址 43 存 储 器 分 段 表 示 示 意 图 00000H FFFFFH 01000H 10350H 10500H A1000H 0100H 1035H 1050H A100H 段1 段2 段3 段4 部分重叠 段基址 物理地址 06100H 逻辑地址:0100H:5100H 存储器 逻辑地址:0410H:2000H 物理地址? AB000H 逻辑地址? 逻辑地址:A100H:A000H 练习 44 段寄存器和其他寄存器组合指向存储单元示意图: 演示演示 45 练习 P332-3:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工业设备操作课件前言
- 娱三姨安全培训课件
- 威海荣成课件研发
- 工业机器人介绍课件
- 威巴克生产安全培训室课件
- 威信押运司机安全培训课件
- Fentomycin-生命科学试剂-MCE
- E-Z-Rivanicline-E-Z-RJR-2403-生命科学试剂-MCE
- 工业安全培训定义课件
- 2025年八宿事业单位真题
- 水路危险货物运输员专项考核试卷及答案
- 认识大脑课件
- 急性胃十二指肠穿孔课件
- 多传感器融合赋能无人驾驶列车的安全感知-洞察及研究
- 2025时事政治必考试题库及答案及完整答案详解
- 药事管理知识与技能培训课件
- 2025人教版(2024)一年级上册数学教学计划 (三篇)
- 汉字的六种结构方式
- 手术部(室)医院感染控制标准WST855-2025解读课件
- 酒店法律培训课件
- 公证一般程序课件
评论
0/150
提交评论