《最新微机原理02PPT课件.ppt》由会员分享,可在线阅读,更多相关《最新微机原理02PPT课件.ppt(32页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、微机原理微机原理02钱晓捷,微型计算机原理及应用钱晓捷,微型计算机原理及应用2 2版,清华大学出版社,版,清华大学出版社,201020102第2章 微处理器内部结构2.1 2.1 微处理器功能结构微处理器功能结构2.1.1 2.1.1 微处理器基本结构微处理器基本结构2.1.2 80862.1.2 8086的功能结构的功能结构2.1.3 IA-322.1.3 IA-32的功能结构的功能结构2.2 IA-322.2 IA-32微处理器寄存器微处理器寄存器2.2.1 2.2.1 整数寄存器整数寄存器2.2.2 2.2.2 浮点及多媒体寄存器浮点及多媒体寄存器2.3 2.3 微处理器存储器组织微处理
2、器存储器组织2.3.1 IA-322.3.1 IA-32工作方式工作方式2.3.2 2.3.2 实方式的逻辑段实方式的逻辑段2.3.3 2.3.3 保护方式的段页管理保护方式的段页管理钱晓捷,微型计算机原理及应用钱晓捷,微型计算机原理及应用2 2版,清华大学出版社,版,清华大学出版社,201020103钱晓捷,微型计算机原理及应用钱晓捷,微型计算机原理及应用2 2版,清华大学出版社,版,清华大学出版社,201020104钱晓捷,微型计算机原理及应用钱晓捷,微型计算机原理及应用2 2版,清华大学出版社,版,清华大学出版社,201020105钱晓捷,微型计算机原理及应用钱晓捷,微型计算机原理及应用
3、2 2版,清华大学出版社,版,清华大学出版社,201020106钱晓捷,微型计算机原理及应用钱晓捷,微型计算机原理及应用2 2版,清华大学出版社,版,清华大学出版社,201020107钱晓捷,微型计算机原理及应用钱晓捷,微型计算机原理及应用2 2版,清华大学出版社,版,清华大学出版社,201020108钱晓捷,微型计算机原理及应用钱晓捷,微型计算机原理及应用2 2版,清华大学出版社,版,清华大学出版社,201020109程序计数器程序计数器PC指令指针EIPl指向将要执行的指令在主存的位置指向将要执行的指令在主存的位置l保存指令所在位置的存储器地址的专用寄存器保存指令所在位置的存储器地址的专用
4、寄存器l在在IA-32IA-32微处理器的微处理器的3232位环境位环境3232位指令指针寄存器位指令指针寄存器EIPEIPl在在80 x8680 x86的的1616位工作方式位工作方式只使用指令指针的低只使用指令指针的低1616位位IPIPEIPEIP中的高中的高1616位必须是位必须是0 0钱晓捷,微型计算机原理及应用钱晓捷,微型计算机原理及应用2 2版,清华大学出版社,版,清华大学出版社,2010201010逻辑段及其类型l逻逻辑辑段段(SegmentSegment):安安排排相相关关代代码码或或数数据据的的一个主存区域,三类逻辑段:一个主存区域,三类逻辑段:l代码段代码段(Code S
5、egmentCode Segment):存放指令代码):存放指令代码程序的指令代码必须安排在代码段程序的指令代码必须安排在代码段l数据段数据段(Data SegmentData Segment):存放数据):存放数据程序的数据默认存放在数据段,也可放在其他段程序的数据默认存放在数据段,也可放在其他段l堆栈段堆栈段(Stack SegmentStack Segment):堆栈区域):堆栈区域程序使用的堆栈一定在堆栈段程序使用的堆栈一定在堆栈段钱晓捷,微型计算机原理及应用钱晓捷,微型计算机原理及应用2 2版,清华大学出版社,版,清华大学出版社,2010201011段寄存器l1616位段寄存器:指示
6、逻辑段在主存的起始位置位段寄存器:指示逻辑段在主存的起始位置l1616位位80 x8680 x86微处理器具有微处理器具有代码段寄存器代码段寄存器CSCS:包含当前代码段的起始位置:包含当前代码段的起始位置堆栈段寄存器堆栈段寄存器SSSS:包含当前堆栈段的起始位置:包含当前堆栈段的起始位置数据段寄存器数据段寄存器DSDS:包含当前数据段的起始位置:包含当前数据段的起始位置附加段寄存器附加段寄存器ESES:包含当前附加段的起始位置:包含当前附加段的起始位置lIA-32IA-32微处理器增加微处理器增加段寄存器段寄存器FSFS和和GSGS,属于数据段性质的段寄存器,属于数据段性质的段寄存器钱晓捷,
7、微型计算机原理及应用钱晓捷,微型计算机原理及应用2 2版,清华大学出版社,版,清华大学出版社,2010201012逻辑地址和物理地址l逻辑地址(逻辑地址(Logical AddressLogical Address)在微处理器内部、程序员编程时采用的地址在微处理器内部、程序员编程时采用的地址某个存储单元可以有多个逻辑地址某个存储单元可以有多个逻辑地址逻辑地址逻辑地址段基地址段基地址偏移地址偏移地址段基地址段基地址逻辑段在主存中的起始地址逻辑段在主存中的起始地址偏移地址偏移地址距离段基地址的位移量距离段基地址的位移量l物理地址(物理地址(Physical AddressPhysical Addr
8、ess)地址总线上输出的地址,用于外部硬件连接地址总线上输出的地址,用于外部硬件连接每个存储单元只有一个唯一的物理地址每个存储单元只有一个唯一的物理地址逻辑地址由微处理器在输出之前转换为物理地址逻辑地址由微处理器在输出之前转换为物理地址10810820820830830810610620620630630610710720720730730710910920920930930911011010510510410410310310210210110121021020520520420420320320220220120131031030530530430430330330230230130108
9、0818182828060616162626070717172727090919192929101005050404030302020101202015151414131312121111303025252424232322222121逻辑地址相对地址:逻辑地址相对地址:205(2层层05号房间)号房间)物理地址绝对地址:物理地址绝对地址:15(第(第15号房间)号房间)示意图示意图钱晓捷,微型计算机原理及应用钱晓捷,微型计算机原理及应用2 2版,清华大学出版社,版,清华大学出版社,2010201013逻辑段的逻辑地址l代码段代码段处理器利用处理器利用CSEIPCSEIP取得下一条要执行的指令
10、取得下一条要执行的指令CSCS代码段的段地址代码段的段地址EIPEIP指令的偏移地址指令的偏移地址l堆栈段堆栈段处理器利用处理器利用SSESPSSESP操作堆栈中的数据操作堆栈中的数据SSSS堆栈段的段地址堆栈段的段地址ESPESP栈顶的偏移地址栈顶的偏移地址l数据段数据段默认通过默认通过DSEADSEA,也可通过,也可通过ES/FS/GSES/FS/GS或或SS/CSEASS/CSEA读取数据读取数据DS/ES/FS/GSDS/ES/FS/GS或或SS/CSSS/CS数据所在逻辑段的段地址数据所在逻辑段的段地址EAEA数据所在逻辑段的偏移地址(有效地址)数据所在逻辑段的偏移地址(有效地址)钱
11、晓捷,微型计算机原理及应用钱晓捷,微型计算机原理及应用2 2版,清华大学出版社,版,清华大学出版社,2010201014标志寄存器EFLAGSl标志(标志(FlagFlag)反映指令执行结果或控制指令执行形式反映指令执行结果或控制指令执行形式用一个或多个二进制位表示一种标志用一个或多个二进制位表示一种标志0 0或或1 1的不同组合表达标志的不同状态的不同组合表达标志的不同状态l80868086支持支持1616位标志寄存器位标志寄存器FLAGSFLAGSlIA-32IA-32微处理器形成微处理器形成3232位位EFLAGSEFLAGS标志寄存器标志寄存器l基本标志基本标志状态标志:记录程序运行结
12、果的状态状态标志:记录程序运行结果的状态控制标志:控制处理器执行指令的方式控制标志:控制处理器执行指令的方式示意图示意图钱晓捷,微型计算机原理及应用钱晓捷,微型计算机原理及应用2 2版,清华大学出版社,版,清华大学出版社,2010201015进位标志CF(Carry Flag)l当当加加减减运运算算结结果果的的最最高高有有效效位位有有进进位位(加加法法)或或借借位位(减法)时,进位标志置(减法)时,进位标志置1 1,即,即CFCF1 1;否则;否则CFCF0 0l针对无符号整数,判断加减结果是否超出表达范围针对无符号整数,判断加减结果是否超出表达范围N N个二进制位表达无符号整数的范围是:个二
13、进制位表达无符号整数的范围是:0 02 2N N-1-18 8位:位:0 0255255;1616位:位:0 06553565535;3232位:位:0 02 232321 1l8 8位二进制数相加:位二进制数相加:001110100011101001111100011111001011011010110110l十六进制表达:十六进制表达:3A3A7C7CB6B6l转换成十进制数:转换成十进制数:5858124124182182l没有产生进位:没有产生进位:CFCF0 0举例0182255钱晓捷,微型计算机原理及应用钱晓捷,微型计算机原理及应用2 2版,清华大学出版社,版,清华大学出版社,20
14、10201016零标志ZF(Zero Flag)l运算运算结果为结果为0 0,则,则ZFZF1 1,否则,否则ZFZF0 0l8 8位二进制数相加:位二进制数相加:001110100011101001111100011111001011011010110110l十六进制表达:十六进制表达:3A3A7C7CB6B6l转换成十进制数:转换成十进制数:5858124124182182l结果不是结果不是0 0:ZFZF0 0举例1820结果是结果是0,ZF标志不是标志不是0!钱晓捷,微型计算机原理及应用钱晓捷,微型计算机原理及应用2 2版,清华大学出版社,版,清华大学出版社,2010201017符号标
15、志SF(Sign Flag)l运算运算结果最高位为结果最高位为1 1,则,则SFSF1 1;否则;否则SFSF0 0l8 8位二进制数相加:位二进制数相加:001110100011101001111100011111001 101101100110110l十六进制表达:十六进制表达:3A3A7C7CB6B6l转换成十进制数:转换成十进制数:5858124124182182l最高位最高位1 1:SFSF1 1举例1 101101100110110最高位符号位最高位符号位SF钱晓捷,微型计算机原理及应用钱晓捷,微型计算机原理及应用2 2版,清华大学出版社,版,清华大学出版社,2010201018溢
16、出标志OF(Overflow Flag)l有符号数有符号数加减结果加减结果有溢出有溢出,则,则OFOF1 1;否则;否则OFOF0 0l针对有符号整数,判断加减结果是否超出表达范围针对有符号整数,判断加减结果是否超出表达范围N N个二进制位表达有符号整数的范围是:个二进制位表达有符号整数的范围是:2 2N N1 12 2N N1 1-1-18 8位:位:128128127127;1616位:位:32768327683276732767;3232位:位:2 231312 231311 1l8 8位二进制数相加:位二进制数相加:00111010001110100111110001111100101
17、1011010110110l十六进制表达:十六进制表达:3A3A7C7CB6B6l转换成十进制数:转换成十进制数:5858124124182182l超出范围,有溢出:超出范围,有溢出:CFCF1 1举例182127钱晓捷,微型计算机原理及应用钱晓捷,微型计算机原理及应用2 2版,清华大学出版社,版,清华大学出版社,2010201019进位和溢出意义不同l进位标志反映无符号整数运算结果是否超出范围进位标志反映无符号整数运算结果是否超出范围有进位,加上进位或借位后运算结果仍然正确有进位,加上进位或借位后运算结果仍然正确l溢出标志反映有符号整数运算结果是否超出范围溢出标志反映有符号整数运算结果是否超
18、出范围有溢出,运算结果已经不正确有溢出,运算结果已经不正确l处理器按照无符号整数求得结果处理器按照无符号整数求得结果设置进位标志设置进位标志CFCF设置溢出标志设置溢出标志OFOFl程序员决定程序员决定操作数是无符号数,关心进位操作数是无符号数,关心进位操作数是有符号数,注意溢出操作数是有符号数,注意溢出钱晓捷,微型计算机原理及应用钱晓捷,微型计算机原理及应用2 2版,清华大学出版社,版,清华大学出版社,2010201020溢出标志的判断l处理器硬件判断规则处理器硬件判断规则最最高高位位和和次次高高位位同同时时有有进进位位或或同同时时无无进进位位,则则无无溢溢出;最高位和次高位进位状态不同,则
19、有溢出出;最高位和次高位进位状态不同,则有溢出l人工判断的简单规则人工判断的简单规则只只有有当当两两个个相相同同符符号号数数相相加加(含含两两个个不不同同符符号号数数相相减减),而而运运算算结结果果的的符符号号与与原原数数据据符符号号相相反反时时,产产生溢出;其他情况下,则不会产生溢出生溢出;其他情况下,则不会产生溢出0 00 01110101110100 01 11111001111001 10 0110110110110正数正数正数正数负数负数最高位最高位次高位次高位钱晓捷,微型计算机原理及应用钱晓捷,微型计算机原理及应用2 2版,清华大学出版社,版,清华大学出版社,2010201021奇
20、偶标志PF(Parity Flag)l当当运运算算结结果果最最低低字字节节中中“1”1”的的个个数数为为零零或或偶偶数数时时,PFPF1 1;否则;否则PFPF0 0l8 8位二进制数相加:位二进制数相加:001110100011101001111100011111001011011010110110l十六进制表达:十六进制表达:3A3A7C7CB6B6l转换成十进制数:转换成十进制数:5858124124182182l“1”1”的个数为的个数为5 5个:个:PFPF0 0举例5是奇数是奇数仅最低仅最低8位位“1”的个的个数数练习练习钱晓捷,微型计算机原理及应用钱晓捷,微型计算机原理及应用2
21、2版,清华大学出版社,版,清华大学出版社,2010201022控制标志l方向标志方向标志DFDF(Direction FlagDirection Flag)仅用于串操作指令中,控制地址的变化方向仅用于串操作指令中,控制地址的变化方向设置设置DFDF0 0,存储器地址自动增加,存储器地址自动增加设置设置DFDF1 1,存储器地址自动减少,存储器地址自动减少l中断允许标志中断允许标志IFIF(Interrupt-enable FlagInterrupt-enable Flag)控制外部可屏蔽中断是否可以被处理器响应控制外部可屏蔽中断是否可以被处理器响应设置设置IFIF1 1,允许中断;设置,允许中
22、断;设置IFIF0 0,禁止中断,禁止中断l陷阱标志陷阱标志TFTF(Trap FlagTrap Flag)单步标志)单步标志控制处理器是否进入控制处理器是否进入单步操作方式单步操作方式设置设置TFTF1 1,处理器单步执行指令,处理器单步执行指令设置设置TFTF0 0,处理器正常工作,处理器正常工作单步标志单步标志单步中断单步中断单步调试单步调试走走一一步步看看一一看看钱晓捷,微型计算机原理及应用钱晓捷,微型计算机原理及应用2 2版,清华大学出版社,版,清华大学出版社,2010201023浮点数据寄存器l科学计算等工程领域需要使用实数科学计算等工程领域需要使用实数有些实数可以用整数编码表达和
23、处理,可能要损失精度有些实数可以用整数编码表达和处理,可能要损失精度实数经格式转换,可用整数指令仿真,速度难尽人意实数经格式转换,可用整数指令仿真,速度难尽人意计算机表达实数采用浮点数据格式计算机表达实数采用浮点数据格式lIA-32IA-32微处理器支持三种浮点数据类型微处理器支持三种浮点数据类型3232位单精度、位单精度、6464位双精度和位双精度和8080位扩展精度浮点数位扩展精度浮点数单、双精度浮点数采用单、双精度浮点数采用IEEE 754IEEE 754国际标准浮点格式国际标准浮点格式扩展精度浮点数主要用于内部存储中间结果扩展精度浮点数主要用于内部存储中间结果l浮点处理单元浮点处理单元
24、8 8个通用浮点数据寄存器,个通用浮点数据寄存器,FPR0FPR0FPR7FPR7,8080位,堆栈形式位,堆栈形式专用寄存器:状态寄存器、控制寄存器、标记寄存器专用寄存器:状态寄存器、控制寄存器、标记寄存器钱晓捷,微型计算机原理及应用钱晓捷,微型计算机原理及应用2 2版,清华大学出版社,版,清华大学出版社,2010201024多媒体寄存器lPentium 4Pentium 4支持多媒体指令:整数支持多媒体指令:整数MMXMMX,浮点数,浮点数SSESSEMMXMMX含有含有8 8个个6464位的位的MMXMMX寄存器(寄存器(MM0MM0MM7MM7)SSESSE新增新增8 8个个12812
25、8位的位的SIMDSIMD浮点数据寄存器(浮点数据寄存器(XMM0XMM0XMM7XMM7)l多媒体指令支持紧缩(多媒体指令支持紧缩(PackedPacked)数据格式)数据格式128128位紧缩数据位紧缩数据2 2个个6464位双精度浮点数或位双精度浮点数或4 4个个3232位单精度浮点数位单精度浮点数1616个个8 8位、位、8 8个个1616位、位、4 4个个3232位或位或2 2个个6464位整数位整数l一条多媒体指令能够对两个紧缩数据进行运算一条多媒体指令能够对两个紧缩数据进行运算l关键技术:单指令多数据关键技术:单指令多数据SIMDSIMDl多媒体指令常被称为多媒体指令常被称为SI
26、MDSIMD指令指令示意图示意图钱晓捷,微型计算机原理及应用钱晓捷,微型计算机原理及应用2 2版,清华大学出版社,版,清华大学出版社,2010201025IA-32工作方式l实地址方式实地址方式与与80868086具有相同的基本结构具有相同的基本结构只能寻址只能寻址1MB1MB物理存储器空间物理存储器空间逻辑段最大不超过逻辑段最大不超过64KB64KB段基地址和偏移量都用段基地址和偏移量都用1616位表示位表示可以使用可以使用3232位操作数和位操作数和3232位寻址方式位寻址方式l保护方式保护方式能发挥其全部功能能发挥其全部功能段页式存储管理和特权与保护能力段页式存储管理和特权与保护能力可寻
27、址可寻址4GB4GB物理存储器物理存储器段基地址和段内偏移量都是段基地址和段内偏移量都是3232位位l虚拟方式虚拟方式保护方式下的类似实方式的运行环境保护方式下的类似实方式的运行环境在在1MB1MB存储空间下使用存储空间下使用“1616位段位段”16位段位段32位段位段钱晓捷,微型计算机原理及应用钱晓捷,微型计算机原理及应用2 2版,清华大学出版社,版,清华大学出版社,2010201026信息存储l基本单位是二进制位(基本单位是二进制位(bitbit),表达),表达0 0或或1 1一个一个字节字节(ByteByte)8 8个二进制位个二进制位一个一个字字(WordWord)1616个二进制位个
28、二进制位2 2个字节个字节一个一个双字双字(Double WordDouble Word)3232个二进制位个二进制位4 4个字节个字节一个一个4 4字字(Quad WordQuad Word)6464个二进制位个二进制位8 8个字节个字节l最最低低有有效效位位LSBLSB是是D0D0位位;最最高高有有效效位位MSBMSB对对应应字字节节、字字、双字和双字和4 4字数据依次是字数据依次是D7D7,D15D15,D31D31和和D63D63l现代计算机采用字节寻址(现代计算机采用字节寻址(Byte AddressableByte Addressable)每个存储单元有一个存储器地址表示每个存储单
29、元有一个存储器地址表示存放一个字节量的数据存放一个字节量的数据哪哪“位位”?二进制二进制B,十进制,十进制D,还是十六进制,还是十六进制H?钱晓捷,微型计算机原理及应用钱晓捷,微型计算机原理及应用2 2版,清华大学出版社,版,清华大学出版社,2010201027实方式的逻辑段l主存空间主存空间1M1M(2 22020)个字节存储单元)个字节存储单元l物理地址范围:物理地址范围:00000H00000HFFFFFHFFFFFHl程序设计时分段管理,但有两个限制:程序设计时分段管理,但有两个限制:每个逻辑段最大为每个逻辑段最大为64KB64KB逻辑段只能开始于低逻辑段只能开始于低4 4位地址全为位
30、地址全为0 0的物理地址处的物理地址处l逻辑地址段地址逻辑地址段地址偏移地址偏移地址1616位段寄存器保存位段寄存器保存2020位段起始物理地址的高位段起始物理地址的高1616位位偏移地址也用偏移地址也用1616位数据表示位数据表示l物理地址物理地址段地址段地址1616偏移地址偏移地址示意图示意图左移二进制左移二进制4位(十六进制位(十六进制1位)位)练习练习钱晓捷,微型计算机原理及应用钱晓捷,微型计算机原理及应用2 2版,清华大学出版社,版,清华大学出版社,2010201028段选择器(Selector)l保护方式的保护方式的1616位段寄存器被定义为段选择器位段寄存器被定义为段选择器l包含
31、包含3 3个域,指向一个段描述符个域,指向一个段描述符索引域:记录段描述符在索引域:记录段描述符在“描述符表描述符表”内的位置内的位置表指示位表指示位TITI:指示要寻址的描述符表:指示要寻址的描述符表请求特权层请求特权层RPLRPL:反映请求本次存取的特权级别:反映请求本次存取的特权级别15 315 32 21 10 0段选择器段寄存器段选择器段寄存器索引索引TITIRPLRPL钱晓捷,微型计算机原理及应用钱晓捷,微型计算机原理及应用2 2版,清华大学出版社,版,清华大学出版社,2010201029描述符(Descriptor)l8 8个字节个字节6464位,有两类位,有两类l段描述符段描述
32、符:“描述描述”逻辑段的属性逻辑段的属性段界限段界限:反映该段的长度,用于存储空间保护:反映该段的长度,用于存储空间保护基地址基地址:给出段基地址,用于形成物理地址:给出段基地址,用于形成物理地址访问权字节:说明该段的访问权限,用于特权保护访问权字节:说明该段的访问权限,用于特权保护l门描述符门描述符:用于程序转移的保护:用于程序转移的保护偏移量偏移量:给出转移到的目标程序的段内偏移量:给出转移到的目标程序的段内偏移量选择器选择器:给出转移到的目标程序的段选择器:给出转移到的目标程序的段选择器访问权字节访问权字节:说明该段的访问权限:说明该段的访问权限字计数字计数:堆栈复制的字数:堆栈复制的字
33、数示意图示意图钱晓捷,微型计算机原理及应用钱晓捷,微型计算机原理及应用2 2版,清华大学出版社,版,清华大学出版社,2010201030段式和页式存储管理l分段:将程序按照逻辑关系分成可大可小的模块分段:将程序按照逻辑关系分成可大可小的模块l分页:将程序分成为若干个大小相同的模块分页:将程序分成为若干个大小相同的模块l逻辑地址段基地址逻辑地址段基地址偏移地址偏移地址段寄存器段选择器段寄存器段选择器段描述符段描述符3232位段基地址位段基地址EIPEIP,ESPESP,EAEA3232位偏移地址位偏移地址l线性地址段基地址偏移地址线性地址段基地址偏移地址l不分页式:物理地址线性地址不分页式:物理
34、地址线性地址l分页管理:线性地址通过分页管理:线性地址通过2 2级查表转换为物理地址级查表转换为物理地址CR3CR3寄存器寄存器页目录项页目录项页表项偏移量页表项偏移量物理地址物理地址示意图示意图钱晓捷,微型计算机原理及应用钱晓捷,微型计算机原理及应用2 2版,清华大学出版社,版,清华大学出版社,2010201031第2章教学要求l了解微处理器的基本结构了解微处理器的基本结构l熟悉熟悉80868086、8038680386和和PentiumPentium微处理器的结构微处理器的结构l掌握掌握IA-32IA-32常用寄存器的名称和作用常用寄存器的名称和作用l掌握逻辑段、逻辑地址和物理地址掌握逻辑段、逻辑地址和物理地址l掌握状态标志和控制标志的意义掌握状态标志和控制标志的意义l了解浮点数据和多媒体数据的特点了解浮点数据和多媒体数据的特点l掌握实方式的分段和逻辑地址转换为物理地址的方法掌握实方式的分段和逻辑地址转换为物理地址的方法l了解保护方式的段选择器、描述符了解保护方式的段选择器、描述符l理解段式和页式存储管理理解段式和页式存储管理第第2 2章习题章习题2.1 2.2 2.3 2.6 2.8 2.92.1 2.2 2.3 2.6 2.8 2.9习题习题结束语结束语谢谢大家聆听!谢谢大家聆听!32