经济学位和位微处理器

上传人:可**** 文档编号:252840226 上传时间:2024-11-20 格式:PPTX 页数:49 大小:353.68KB
返回 下载 相关 举报
经济学位和位微处理器_第1页
第1页 / 共49页
经济学位和位微处理器_第2页
第2页 / 共49页
经济学位和位微处理器_第3页
第3页 / 共49页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,#,基本要求:,8086,微处理器的编程结构,8086,微处理器的,寄存器,8086,微处理器,的操作时序,中断、中断分类、中断向量、中断响应、中断屏蔽,8086,的最小模式、最大模式工作方式,最小模式下的存储器配置,8086,的存储器编址、存储器的分段结构,8086,的,IO,编址,80386,的功能部件,80386,微型机的三种工作方式,32,位微型机中指令流水线和地址流水线和实现,32,微型机中的两级存储管理,逻辑地址到线性地址的转换,逻辑地址到物理地址的转换,线性地址到物理地址的转换,Pentium,采用的,CISC,和,RISC,技术,分支预测技术的设计思想和实现方法,Pentium,的技术特点,Pentium,的主要部件,Pentium,的主要信号,Pentium,的总线状态和总线周期,2.1 16位微处理器8086,2.1.1,8,086的编程结构,16,位处理器,16,位数据宽度,内部寄存器,,ALU,都是,16,位的。,地址总线,20,位,以字节为单位对存储器进行编制,可寻址,2,20,1M,字节。,为了充分利用,Intel,原来,8,位的外围接口芯片,,Intel,在,16,位,8086,的基础上,还推出了外部数据总线位,8,位的,8088,处理器,内部与,8086,基本相同是,16,位,外部数据总线,8,位,地址总线,20,位。,所谓编程结构,面向程序设计和应用角度的,CPU,结构。,5,8086,的编程结构,从功能上,,8086,分为两部分,即,总线接口部件,(,bus interface unit,,,BIU),执行部件,(,execution unit,,,EU),1.总线接口部件,(,1,)总线接口单元,BIU,的任务:,依据,EU,的请求,完成,CPU,与存储器、,CPU,与,I/O,设备之间的信息传送。,读指令,当指令队列出现空字节,(8088,有,1,个空字节,,8086,有,2,个空字节,),时,从内存取出后续指令。,BIU,取指令时,并不影响,EU,的执行,两者并行工作,大大提高了,CPU,的执行速度。,读操作数,EU,需要从内存或外设端口读取操作数时,根据,EU,给出的地址从内存或外设端口读取数据供,EU,使用。,写操作数,EU,的运算结果、数据或控制命令等由,BIU,送往指定的内存单元或外设端口。,8,4,个,16,位段寄存器:,代码段寄存器,CS(Code Segment),、数据段寄存器,DS(Data Segment),、堆栈段寄存器,SS(Stack Segment),和附加数据段寄存器,ES(Extra Segment),;,一个,16,位的指令指针寄存器,IP,(Instruction,Pointer);,一个,20,位地址加法器;,6,字节指令队列缓冲器;,一个与,EU,通讯的内部寄存器以及总线控制电路,等,。,(,2,)总线接口单元(,BIU,)的组成,9,段寄存器,8086CPU的地址引脚有20根,能提供20位的地址信息,可直接对1M个存储单元进行访问,。,但CPU内部可用来提供地址信息的寄存器都是16位的,,那么如何用16位寄存器实现20位地址的寻址呢?,(3)寄存器简介,10,8086/8088,采用了分段结构的内存管理的方法。,将指令代码和数据分别存储在,代码段,数据段,堆栈段,附加数据段(简城附加段),中,,每一段最大,64KB,(,2,16,个字节),可用,16,位的地址寄存器管理。,11,代码段段基地址,相对于段基地址的偏移量,数据段段基地址,相对于段基地址的偏移量,这些段的段基地址分别由段寄存器,CS,、,DS,、,SS,、,ES,提供,,而代码或数据在段内的偏移地址则由有关寄存器或立即数给出。,12,代码段寄存器,CS,:,存储程序当前使用的代码段的段地址。代码段用来存放程序的指令代码。下一条要读取指令在代码段中的偏移地址由指令指针寄存器,IP,提供;,数据段寄存器,DS,:,用来存放程序当前使用的数据段的段地址。一般来说,程序中所用到的原始数据、中间结果以及最终结果都存放在数据段中;,13,堆栈段寄存器,SS,:,用来存放程序当前所使用的堆栈段的段地址。堆栈是在存储器中开辟的一个特定区域;,附加数据段寄存器,ES,:,用来存放程序当前使用的附加数据段的段地址。附加数据段通常用于存放字符串操作时的目的字符串。,14,程序员在编写汇编语言源程序时,应该按照上述规定将程序的各个部分放在规定的段内。,每个源程序必须至少有一个代码段,,而数据段、堆栈段和附加数据段则根据程序的需要决定是否设置。,15,指令指针寄存器,指令指针寄存器,IP,:,用来存放下一条要读取的指令在代码段中的偏移地址。,IP,在程序运行中能自动加,1,修正,从而使其始终存放的是下一条要读取的指令在代码段的偏移地址。由于,CS,和,IP,的内容决定了程序的执行顺序,因此程序员不能直接用赋值指令对其内容进行修改。有些指令能使,IP,和,CS,的值改变(如跳转指令)或使其值压入堆栈或从堆栈中弹出恢复原值(如子程序调用指令和返回指令)。,16,(4)20,位地址加法器,8086/8088CPU,在对存储单元进行访问以读取指令或读,/,写操作数时,必须在地址总线上提供,20,位的地址信息,以便选中对应的存储单元。,CPU,的寄存器都是,16,位(段基址寄存器和偏移地址都是)。,那么,,CPU,是如何产生,20,位地址的呢?,CPU,提供的用来对存储单元进行访问的,20,位地址是由,BIU,中的地址加法器产生的。,17,存储器中每个存储单元的地址可有以下两种表示方式:,逻辑地址:,其,表达形式为“,段地址:段内偏移地址,”的地址。,段内偏移地址又称为“,有效地址,EA,(Effective Address),。,在读指令时,段地址由代码段寄存器,CS,提供,当前要读取指令在代码段中的偏移地址由指令指针寄存器,IP,提供;,在读取或存储操作数时,根据具体操作,段地址由,DS,、,ES,或,SS,提供,段内偏移地址由指令给出。,18,物理地址,:,CPU,与存储器进行数据交换时在地址总线上提供的,20,位地址信息称为物理地址。,物理地址的形成过程如图所示。,19,20,段寄存器内容左移四位后(相当于乘以,10H,),与,16,位段内偏移地址,在,BIU,中的地址加法器中进行相加,形成一个,20,位的物理地址。这就是由逻辑地址求出物理地址的方法。由逻辑地址求物理地址的公式为:,物理地址,=,段地址,10H+,段内偏移地址,例如:假设当前,(CS)=1000H,,取出当前指令后指令指针,(IP)=4052H,,求下一条指令的地址。,1000H,左移,4,位后为:,10000H,,,它与,4052H,相加,10000+4052=14052h,。,下一条指令所在存储单元的物理地址为,14052H,。,10000,4052,14052,21,(5),指令队列缓冲器,8086,的指令队列有,6,个字节,,8088,的指令队列有,4,个字节。,对,8086,而言,当指令队列出现,2,个空字节,,对,8088,而言,指令队列出现,1,个空字节时,,BIU,就自动执行一次取指令操作,将下一条要执行的指令(,1,个字)从内存单元读入到指令队列。,指令队列采用“先进先出”原则,按顺序存放,并按顺序取到,EU,中去执行。,指令队列的引入使得,EU,和,BIU,可并行工作,即,BIU,在读指令时,并不影响,EU,单元执行指令,,EU,单元可以连续不断地直接从指令队列中取到要执行的指令代码,从而减少了,CPU,为取指令而等待的时间,提高了,CPU,的利用率,加快了整机的运行速度。,2.执行部件,(,1,)功能,执行部件负责指令的执行,,23,(,2,)组成,由下列4部分组成:,4个通用寄存器,即,AX、BX、CX、DX;,16,位字长,又可以作为,2,个独立的,8,位寄存器使用。,4,个专用寄存器,即,基数指针寄存器,BP(Base Pointer),堆栈指针寄存器,SP(Stack Pointer),源变址寄存器,SI(Source Index),目的变址寄存器,DI(Destination Index);,标志寄存器;,算术逻辑部件,(,arithmetic logic unit),。,(,3,)标志寄存器,标志寄存器,共有,16,位,其中7位未用,所用的各位含义如下:,15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0,OF,DF,IF,TF,SF,ZF,AF,PF,CF,根据功能,,8086,的标志可以分为两类:,状态标志,控制标志,状态标志,有,6,个,即,SF,、,ZF,、,PF,、,CF,、,AF,和,OF,符号标志,SF(Sign Flag),零标志,ZF(Zero Flag),奇偶标志,PF(Parity Flag),运算结果低,8,位中,1,的个数为偶数,,PF=1,(,PE,),低,8,位中,1,的个数为奇数,,PF=0,(,PO,)。,进位标志,CF(Carry Flag),最高位产生进位,CF=1,辅助进位标志,(,Auxiliary carry Flag),溢出标志,(,Overflow Flag),算术运算产生溢出,8,位运算结果超出,-128+127,16,位运算结果超出,-32768+32767,27,(,6,)、标志寄存器,16,位寄存器,其中有,7,位未用。,D15,D0,OF DF IF TF SF ZF AF PF CF,进借位标志,奇偶标志,半进借位标志,零标志,符号标志,单步中断,中断允许,方向标志,溢出标志,1-,有进、借位,0-,无进、借位,1-,低,8,位有偶数个,1,0-,低,8,位有奇数个,1,1-,低,4,位向高,4,位有进、借位,0-,低,4,位向高,4,位无进、借位,1-,结果为,0,0-,结果不为,0,28,0101 0100 0011 1001,+0100 0101 0110 1010,1001 1001,1010 0011,最高位=1 SF=1,低八位,1的个数为,4,个,PF=1,运算结果不为 0 ZF=0,低 4 位向前有进位 AF=1,最高位向前没有进位 CF=0,次高位向前有进位,最高位无进位,CF,=0,,,DF,=1,,,OF=1,15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0,O,D I T,S Z A P C,1,0,1,0,1,1,最高位无进位,CF=0,向高,4,位有进位,AF=1,29,例:设变量,x,=11101111B,,,y,=11001000B,,,X,=0101101000001010B,,,Y,=01001100 10100011B,,请问分别执行,x,+,y,和,X+Y,操作后标志寄存器中各状态位的状态如何?,11101111,+)11001000,10110111,1,自动丢失,0101101000001010,0100110010100011,10100110,10101101,CF=0,CF=1,DF=1,DF=1,x+y,X+Y,AF=1,CF=1,次高位进位信号,DF=1,最高位进位信号,CF=1,OF=CF DF=0,低,8,位有,5,个,1,,,PF=0,低,8,位有,6,个,1,,,PF=1,30,状态位,执行,x,+,y,后,执行,X,+,Y,后,CF,最高位,D,7,向前有进位,,CF=1,最高位,D,15,向前没有进位,,CF=0,PF,1,的个数为偶数,(6),,,PF=1,1,的个数为奇数,(5,位,),,,PF=0,AF,低,4,位向前有进位,,AF=1,低,4,位向前没有进位,,AF=0,ZF,计算结果不为,0,,,ZF=0,计算结果不为,0,,,ZF=0,SF,最高位,D,7,为,1,,,SF=1,最高位,D,15,为,1,,,SF=1,OF,CF DF=0,,没有溢出,,OF=0,CF DF=1,,结
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸设计 > 开题报告


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

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


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