第二章-1-8086CPU及其内部结构课件

上传人:仙*** 文档编号:241657401 上传时间:2024-07-13 格式:PPT 页数:54 大小:546.50KB
返回 下载 相关 举报
第二章-1-8086CPU及其内部结构课件_第1页
第1页 / 共54页
第二章-1-8086CPU及其内部结构课件_第2页
第2页 / 共54页
第二章-1-8086CPU及其内部结构课件_第3页
第3页 / 共54页
点击查看更多>>
资源描述
第 2 章微微机机原原理理及及应应用用杭州电子科技大学8086CPU及其内部结构8086微处理器概述微处理器概述8086的内部结构的内部结构8086的寄存器组的寄存器组8086存储器的分段管理存储器的分段管理第 2 章微微机机原原理理及及应应用用杭州电子科技大学2.1 8086微处理器微处理器是微机的硬件核心微处理器是微机的硬件核心主主要要包包含含指指令令执执行行的的运运算算和和控控制制部部件,还有多种寄存器件,还有多种寄存器对对程程序序员员来来说说,微微处处理理器器抽抽象象为为以以名称存取的寄存器名称存取的寄存器第 2 章微微机机原原理理及及应应用用杭州电子科技大学2.1.1 8086的内部结构8086内内部部结结构构有有两两个个功功能能模模块块,完成一条指令的取指和执行功能完成一条指令的取指和执行功能v模模块块之之一一:总总线线接接口口单单元元BIU,主主要要负责读取指令和操作数负责读取指令和操作数v模模块块之之二二:执执行行单单元元EU,主主要要负负责责指令译码和执行指令译码和执行内部结构内部结构内部结构内部结构指令执行指令执行指令执行指令执行第 2 章微微机机原原理理及及应应用用杭州电子科技大学2.1.2 8086的寄存器组对对汇汇编编语语言言程程序序员员来来说说,8086内内部结构部结构就是可编程的寄存器组就是可编程的寄存器组v 执行单元执行单元EU 8个通用寄存器个通用寄存器v 1个指令指针寄存器个指令指针寄存器v 1个标志寄存器个标志寄存器v 4个段寄存器个段寄存器第 2 章微微机机原原理理及及应应用用杭州电子科技大学1.8086的通用寄存器8086的的16位位通用寄存器通用寄存器是:是:AXBXCXDXSIDIBPSP其其中中前前4个个数数据据寄寄存存器器都都还还可可以以分分成成高高8位和低位和低8位两个独立的寄存器位两个独立的寄存器8086的的8位通用寄存器是:位通用寄存器是:AHBHCHDHALBLCLDL对对其其中中某某8位位的的操操作作,并并不不影影响响另另外外对对应应8位的数据位的数据第 2 章微微机机原原理理及及应应用用杭州电子科技大学数据寄存器数数据据寄寄存存器器用用来来存存放放计计算算的的结结果果和和操操作作数数,也可以存放地址也可以存放地址每个寄存器又有它们各自的专用目的每个寄存器又有它们各自的专用目的nAX累累加加器器,使使用用频频度度最最高高,用用于于算算术术、逻逻辑运算以及与外设传送信息等;辑运算以及与外设传送信息等;nBX基址寄存器,常用做存放存储器地址;基址寄存器,常用做存放存储器地址;nCX计计数数器器,作作为为循循环环和和串串操操作作等等指指令令中中的的隐含计数器;隐含计数器;nDX数数据据寄寄存存器器,常常用用来来存存放放双双字字长长数数据据的的高高16位,或存放外设端口地址。位,或存放外设端口地址。第 2 章微微机机原原理理及及应应用用杭州电子科技大学变址寄存器变变址址寄寄存存器器常常用用于于存存储储器器寻寻址址时时提提供地址供地址nSI是源变址寄存器是源变址寄存器nDI是目的变址寄存器是目的变址寄存器串串操操作作类类指指令令中中,SI和和DI具具有有特特别别的功能的功能第 2 章微微机机原原理理及及应应用用杭州电子科技大学指针寄存器指针寄存器用于寻址内存指针寄存器用于寻址内存堆栈堆栈内的数据内的数据SP:SP:堆堆栈栈指指针针寄寄存存器器,指指示示栈栈顶顶的的偏偏移移地地址址.SPSP不能再用于其他目的,具有不能再用于其他目的,具有专用目的专用目的BP:BP:基基址址指指针针寄寄存存器器,表表示示数数据据在在堆堆栈栈段段中的偏移地址()中的偏移地址()SS:SP/BP SS:SP/BP SPSP和和BPBP寄寄存存器器与与SSSS段段寄寄存存器器联联合使用以确定堆栈段中的存储单元地址合使用以确定堆栈段中的存储单元地址第 2 章微微机机原原理理及及应应用用杭州电子科技大学2.指令指针寄存器IP指指令令指指针针寄寄存存器器IP,指指示示代代码码段段中中指指令的偏移地址令的偏移地址它它与与代代码码段段寄寄存存器器CS联联用用,确确定定下下一一条指令的物理地址条指令的物理地址计计算算机机通通过过CS:IP寄寄存存器器来来控控制制指指令令序列的执行流程序列的执行流程IP寄存器是一个专用寄存器寄存器是一个专用寄存器第 2 章微微机机原原理理及及应应用用杭州电子科技大学3.标志寄存器标标志志(Flag)用用于于反反映映指指令令执执行行结果或控制指令执行形式结果或控制指令执行形式8086处处理理器器的的各各种种标标志志形形成成了了一一个个16位位的的标标志志寄寄存存器器FLAGS(程程序状态字序状态字PSW寄存器寄存器)OF1115 12DF10IF9TF8SF7ZF65AF43PF21CF0 程序设计需要利用标志的状态程序设计需要利用标志的状态第 2 章微微机机原原理理及及应应用用杭州电子科技大学标志的分类状状态态标标志志用用来来记记录录程程序序运运行行结结果果的的状状态态信信息息,许许多多指指令令的的执执行行都都将相应地设置它将相应地设置它 (CAPSZO)CF ZF SF PF OF AF控控制制标标志志可可由由程程序序根根据据需需要要用用指指令令设设置置,用用于于控控制制处处理理器器执执行行指指令的方式令的方式 (IDT)IF DF TF第 2 章微微机机原原理理及及应应用用杭州电子科技大学进位标志CF(Carry Flag)当当运运算算结结果果的的最最高高有有效效位位有有进进位位(加加法法)或或借借位位(减减法法)时时,进进位位标标志志置置1,即,即CF=1;否则;否则CF=0。3AH+7CHB6H,没有进位:,没有进位:CF=0AAH+7CH(1)26H,有进位:,有进位:CF=1第 2 章微微机机原原理理及及应应用用杭州电子科技大学零标志ZF(Zero Flag)若运算结果为若运算结果为0,则,则ZF=1;否则否则ZF=03AH+7CHB6H,结果不是零:,结果不是零:ZF=084H+7CH(1)00H,结果是零:,结果是零:ZF=1 注意:注意:ZF为为1表示的结果是表示的结果是0第 2 章微微机机原原理理及及应应用用杭州电子科技大学符号标志SF(Sign Flag)运运算算结结果果最最高高位位为为1,则则SF=1;否则否则SF=03AH+7CHB6H,最高位,最高位D71:SF=184H+7CH(1)00H,最高位,最高位D70:SF=0 有符号数据用最高有效位表示数据的符号有符号数据用最高有效位表示数据的符号所以,最高有效位就是符号标志的状态所以,最高有效位就是符号标志的状态第 2 章微微机机原原理理及及应应用用杭州电子科技大学奇偶标志PF(Parity Flag)当当运运算算结结果果最最低低字字节节中中“1 1”的的个个数数为为零或偶数时,零或偶数时,PF=1PF=1;否则;否则PF=0PF=03AH+7CHB6H10110110B结果中有结果中有5个个1,是奇数:是奇数:PF=0 PF标标志志仅仅反反映映最最低低8位位中中“1”的的个个数数是是偶或奇,即使是进行偶或奇,即使是进行16位字操作位字操作第 2 章微微机机原原理理及及应应用用杭州电子科技大学溢出标志OF(Overflow Flag)若算术运算的结果有溢出,若算术运算的结果有溢出,则则OFOF1 1;否则;否则 OFOF0 03AH+7CHB6H,产生溢出:,产生溢出:OF=1AAH+7CH(1)26H,没有溢出:,没有溢出:OF=0第 2 章微微机机原原理理及及应应用用杭州电子科技大学溢出标志OF(Overflow Flag)问题问题什么是溢出?什么是溢出?溢出和进位有什么区别?溢出和进位有什么区别?处理器怎么处理,程序员如何运用?处理器怎么处理,程序员如何运用?如何判断是否溢出?如何判断是否溢出?第 2 章微微机机原原理理及及应应用用杭州电子科技大学辅助进位标志AF(Auxiliary Carry Flag)3AH+7CHB6H,D3有进位:有进位:AF=1运运算算时时D D3 3位位(低低半半字字节节)有有进进位位或或借位时,借位时,AF=1AF=1;否则;否则AF=0AF=0。这这个个标标志志主主要要由由处处理理器器内内部部使使用用,用用于于十十进进制制算算术术运运算算调调整整指指令令中中,用用户一般不必关心户一般不必关心第 2 章微微机机原原理理及及应应用用杭州电子科技大学方向标志DF(Direction Flag)用用于于串串操操作作指指令令中中,控控制制地地址址的的变变化方向:化方向:设置设置DFDF0 0,存储器地址自动增加;,存储器地址自动增加;设置设置DFDF1 1,存储器地址自动减少。,存储器地址自动减少。CLDCLD指令复位方向标志:指令复位方向标志:DFDF0 0STDSTD指令置位方向标志:指令置位方向标志:DFDF1 1第 2 章微微机机原原理理及及应应用用杭州电子科技大学中断允许标志IF(Interrupt-enable Flag)用用于于控控制制外外部部可可屏屏蔽蔽中中断断是是否否可可以以被处理器响应:被处理器响应:设置设置IFIF1 1,则允许中断;,则允许中断;设置设置IFIF0 0,则禁止中断。,则禁止中断。CLICLI指令复位中断标志:指令复位中断标志:IFIF0 0STISTI指令置位中断标志:指令置位中断标志:IFIF1 1第 2 章微微机机原原理理及及应应用用杭州电子科技大学陷阱标志TF(Trap Flag)用于控制处理器进入单步操作方式:用于控制处理器进入单步操作方式:设置设置TFTF0 0,处理器正常工作;,处理器正常工作;设置设置TFTF1 1,处理器单步执行指令。,处理器单步执行指令。单单步步执执行行指指令令处处理理器器在在每每条条指指令令执执行行结结束束时,便产生一个编号为时,便产生一个编号为1 1的内部中断的内部中断这种内部中断称为这种内部中断称为单步中断单步中断所以所以TFTF也称为也称为单步标志单步标志n利用单步中断可对程序进行逐条指令的调试利用单步中断可对程序进行逐条指令的调试n这种逐条指令调试程序的方法就是这种逐条指令调试程序的方法就是单步调试单步调试第 2 章微微机机原原理理及及应应用用杭州电子科技大学2.3 存储器组织与段寄存器寄寄存存器器是是微微处处理理器器内内部部暂暂存存数数据据的的存储单元,以名称表示存储单元,以名称表示存存储储器器则则是是微微处处理理器器外外部部存存放放程程序序及其数据的空间及其数据的空间程程序序及及其其数数据据可可以以长长久久存存放放在在外外存存,在程序需要时才进入主存在程序需要时才进入主存主存需要利用地址区别主存需要利用地址区别第 2 章微微机机原原理理及及应应用用杭州电子科技大学数据信息的表达单位计算机中信息的单位计算机中信息的单位n二进制位二进制位BitBit:存储一位二进制数:存储一位二进制数:0 0或或1 1n字节字节ByteByte:8 8个二进制位个二进制位,D D7 7D D0 0n字字WordWord:1616位,位,2 2个字节,个字节,D D1515D D0 0n双字双字DWordDWord:3232位,位,4 4个字节个字节,D D3131D D0 0最低有效位最低有效位LSBLSB:数据的最低位,:数据的最低位,D D0 0位位最最高高有有效效位位MSBMSB:数数据据的的最最高高位位,对对应应字节、字、双字分别指字节、字、双字分别指D D7 7、D D1515、D D3131位位图示图示图示图示第 2 章微微机机原原理理及及应应用用杭州电子科技大学存储单元及其存储内容每每个个存存储储单单元元都都有有一一个个编编号号;被称为存储器地址被称为存储器地址每每个个存存储储单单元元存存放放一一个个字字节节的内容的内容0002H0002H单元存放有一个数据单元存放有一个数据34H34H表达为表达为0002H0002H34H34H图示图示图示图示第 2 章微微机机原原理理及及应应用用杭州电子科技大学多字节数据存放方式多多字字节节数数据据在在存存储储器器中中占占连连续续的的多多个个存储单元存储单元:n存存放放时时,低低字字节节存存入入低低地地址址,高高字字节节存存入高地址入高地址;n表表达达时时,用用它它的的低低地地址址表表示示多多字字节节数数据据占据的地址空间。占据的地址空间。图图1.71.7中中2 2号号“字字”单元的内容为:单元的内容为:0002H=1234H0002H=1234H2 2号号“双字双字”单元的内容为:单元的内容为:0002H=78561234H0002H=78561234H图示图示图示图示第 2 章微微机机原原理理及及应应用用杭州电子科技大学数据的地址对齐同同一一个个存存储储器器地地址址可可以以是是字字节节单单元元地地址、字单元地址、双字单元地址等等址、字单元地址、双字单元地址等等字字单单元元安安排排在在偶偶地地址址(xxx0Bxxx0B)、双双字字单单元元安安排排在在模模4 4地地址址(xx00Bxx00B)等等,被被称称为为“地址对齐(地址对齐(AlignAlign)”对对于于不不对对齐齐地地址址的的数数据据,处处理理器器访访问问时,需要额外的访问存储器时间时,需要额外的访问存储器时间应应该该将将数数据据的的地地址址对对齐齐,以以取取得得较较高高的存取速度的存取速度第 2 章微微机机原原理理及及应应用用杭州电子科技大学2.存储器的分段管理8086CPU8086CPU有有2020条地址线条地址线n最大可寻址空间为最大可寻址空间为2 220201MB1MBn物理地址范围从物理地址范围从00000H00000HFFFFFHFFFFFH8086CPU8086CPU将将1MB1MB空空间间分分成成许许多多逻逻辑辑段段(SegmentSegment)n每个段最大限制为每个段最大限制为64KB64KBn段地址的低段地址的低4 4位为位为0000B0000B这这样样,一一个个存存储储单单元元除除具具有有一一个个唯唯一一的的物理地址物理地址外,还具有多个外,还具有多个逻辑地址逻辑地址第 2 章微微机机原原理理及及应应用用杭州电子科技大学物理地址和逻辑地址对对应应每每个个物物理理存存储储单单元元都都有有一一个个唯唯一一的的20位位编编号号,就就是是物物理理地地址址,从从00000HFFFFFH。分分段段后后在在用用户户编编程程时时,采采用用逻逻辑辑地址,形式为地址,形式为段基地址段基地址 :段内偏移地址段内偏移地址分隔符分隔符第 2 章微微机机原原理理及及应应用用杭州电子科技大学逻辑地址段地址段地址说明逻辑段在主存中的起始位置说明逻辑段在主存中的起始位置8086规定段地址必须是模规定段地址必须是模16地址:地址:xxxx0H省省略略低低4位位0000B,段段地地址址就就可可以以用用16位位数数据表示,就能用据表示,就能用16位位段寄存器段寄存器表达段地址表达段地址偏偏移移地地址址说说明明主主存存单单元元距距离离段段起起始始位位置置的的偏偏移量移量每每段段不不超超过过64KB,偏偏移移地地址址也也可可用用16位位数数据表示据表示第 2 章微微机机原原理理及及应应用用杭州电子科技大学物理地址和逻辑地址的转换将将逻逻辑辑地地址址中中的的段段地地址址左左移移4 4位位,加上偏移地址就得到加上偏移地址就得到2020位物理地址位物理地址一一个个物物理理地地址址可可以以有有多多个个逻逻辑辑地地址址逻辑地址逻辑地址 1460:1001460:100、1380:F001380:F00物理地址物理地址 14700H 14700H 14700H14700H146014600 0H H 100H100H14700H14700H138013800 0H H F00HF00H14700H14700H段地址左移段地址左移4 4位位加上偏移地址加上偏移地址得到物理地址得到物理地址第 2 章微微机机原原理理及及应应用用杭州电子科技大学3.段寄存器8086有有4个个16位段寄存器位段寄存器nCS(代码段)指明(代码段)指明代码段代码段的起始地址的起始地址nSS(堆栈段)指明(堆栈段)指明堆栈段堆栈段的起始地址的起始地址nDS(数据段)指明(数据段)指明数据段数据段的起始地址的起始地址nES(附加段)指明(附加段)指明附加段附加段的起始地址的起始地址每每个个段段寄寄存存器器用用来来确确定定一一个个逻逻辑辑段段的的起起始始地地址址,每每种种逻逻辑辑段段均均有有各各自自的的用用途途第 2 章微微机机原原理理及及应应用用杭州电子科技大学如何分配各个逻辑段程序的程序的指令序列指令序列必须安排在代码段必须安排在代码段程序使用的程序使用的堆栈堆栈一定在堆栈段一定在堆栈段程程序序中中的的数数据据默默认认是是安安排排在在数数据据段段,也也经经常常安安排排在在附附加加段段,尤尤其其是是串串操操作的目的区必须是附加段作的目的区必须是附加段数数据据的的存存放放比比较较灵灵活活,实实际际上上可可以以存放在任何一种逻辑段中存放在任何一种逻辑段中演示演示演示演示第 2 章微微机机原原理理及及应应用用杭州电子科技大学段超越前缀指令没没有有指指明明时时,一一般般的的数数据据访访问问在在DSDS段段;使用使用BPBP访问主存,则在访问主存,则在SSSS段段默默认认的的情情况况允允许许改改变变,需需要要使使用用段段超超越前缀指令;越前缀指令;80868086指令系统中有指令系统中有4 4个:个:CS:CS:;代码段超越,使用代码段的数据;代码段超越,使用代码段的数据SS:SS:;堆栈段超越,使用堆栈段的数据;堆栈段超越,使用堆栈段的数据DS:DS:;数据段超越,使用数据段的数据;数据段超越,使用数据段的数据ES:ES:;附加段超越,使用附加段的数据;附加段超越,使用附加段的数据示例示例示例示例第 2 章微微机机原原理理及及应应用用杭州电子科技大学段超越的示例没有段超越的指令实例:没有段超越的指令实例:MOV AX,2000HMOV AX,2000H;AXDS:2000HAXDS:2000H;从默认的;从默认的DSDS数据段取出数据数据段取出数据采用段超越前缀的指令实例:采用段超越前缀的指令实例:MOV AX,ES:2000HMOV AX,ES:2000H;AXES:2000HAXES:2000H;从指定的;从指定的ESES附加段取出数据附加段取出数据总结总结总结总结第 2 章微微机机原原理理及及应应用用杭州电子科技大学段寄存器的使用规定访问存储器的方式访问存储器的方式默认默认可超越可超越偏移地址偏移地址取指令取指令CSCS无无IPIP堆栈操作堆栈操作SSSS无无SPSP一般数据访问一般数据访问DSDSCS ES SSCS ES SS有效地址有效地址EAEABPBP基址的寻址方式基址的寻址方式SSSSCS ES DSCS ES DS有效地址有效地址EAEA串操作的源操作数串操作的源操作数DSDSCS ES SSCS ES SSSISI串操作的目的操作数串操作的目的操作数ESES无无DIDI第 2 章微微机机原原理理及及应应用用杭州电子科技大学存储器的分段8086对逻辑段对逻辑段要求要求:n段地址低段地址低4位均为位均为0n每段最大不超过每段最大不超过64KB8086对逻辑段对逻辑段并不要求并不要求:n必须是必须是64KBn各段之间完全分开(即可以重叠)各段之间完全分开(即可以重叠)各段独立各段独立各段独立各段独立各段重叠各段重叠各段重叠各段重叠最最最最多多多多多少段?多少段?多少段?多少段?最最最最少少少少多少段?多少段?多少段?多少段?第 2 章微微机机原原理理及及应应用用杭州电子科技大学2.1节的总结8086有有8个个8位位通通用用寄寄存存器器、8个个16位位通用寄存器通用寄存器8086有有6个状态标志和个状态标志和3个控制标志个控制标志8086将将1MB存存储储空空间间分分段段管管理理,有有4个个段寄存器,对应段寄存器,对应4种逻辑段种逻辑段8086有有4个个段段超超越越前前缀缀指指令令,用用于于明明确确指定数据所在的逻辑段指定数据所在的逻辑段 熟悉上述内容后,就可以进入下节熟悉上述内容后,就可以进入下节
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!