第2章 8086微处理器结构.ppt_第1页
第2章 8086微处理器结构.ppt_第2页
第2章 8086微处理器结构.ppt_第3页
第2章 8086微处理器结构.ppt_第4页
第2章 8086微处理器结构.ppt_第5页
免费预览已结束,剩余34页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第2章 8086微处理器结构,8086微处理器的功能结构,8086cpu的内部结构 8086cpu的内部寄存器 8086cpu的存储器和i/o端口,cpu的内部结构,3、控制器,8086 cpu的内部结构,8086 cpu的内部结构,总线接口单元biu的组成,16位指令指针寄存器ip-指向下一条要执行的指令,20位地址加法器一计算物理地址,将有关段寄存器内容(段的起始地址)左移4位后, 与16位偏移地址相加,形成20位的物理地址,以对 存储单元寻址。,ip用来存放下一条要执行指令在代码段中的偏移地址,只有与cs结合才能形成指向指令存放单元的物理地址,4个段寄存器cs,ds,ss,es,6个字节指令队列,总线控制电路:,处理器与外界联系的转接电路,包括20位地址总线,16位双向数据总线和控制总线,按照先进先出的原则,顺序将指令取到eu中,(任务),p31,执行部件eu,eu功能:负责指令的执行,eu组成:,是一个16位的运算器,用于8位、16位二进制算术和逻辑运算,也可以计算寻址存储器所需的16位偏移量,(1)算术逻辑运算单元alu,是一个16位的寄存器,用来反映cpu运算状态特征和存放某些控制标志,(2)标志寄存器flags。,执行部件eu,协助alu完成运算,暂存参加运算的数据,(3)运算暂存器,(4)通用寄存器组,包括4个16位数据寄存器ax,bx,cx,dx和4个16位指针 与变址寄存器sp,bp,si,di,(5)eu控制电路,既可以做16位数据寄存器使用,也可以作为 2个8位数据寄存器使用;即可存储数据也可放地址,(1)4个通用寄存器ax,bx,cx,dx,如:ah(高8位),al (低8位);bh,bl-,ax也称累加器,cpu的许多指令都是通过累加器来 执行的,一般在运算指令执行前,累加器中存放一个 操作数,指令执行后由累加器保存结果,8086cpu的内部寄存器,ax作为16位累加器时进行字操作;作为8位累加器时进行字节操作,(2)4个段寄存器cs,ds,ss,es,代码段寄存器cs;数据段寄存器ds; 附加段寄存器es;堆栈段寄存器ss,每个逻辑段的长度小于等于64kb,4个16位段寄存器分别存放各个段的起始地址(段基址)寻址时还必须给出一个相对于分段寄存器值所指定的起始地址的偏移量(有效地址),根据段基址和偏移地址计算具体地址。,mov a,08h,add a,14h,hlt; 暂停指令,机器指令代码 10000110 00001000,机器指令代码 10001011 00010100,机器指令代码 11110100,(3)地址指针和变址寄存器,参与地址运算的主要是地址指针和变址寄存器组中的4个寄存器sp,bp,si,di。一般用来存放偏移量(相对于段起始地址的距离)。,sp:堆栈指针寄存器(stack pointer) bp:基址指针寄存器(stack pointer) si:源变址寄存器(source index) di:目的变址寄存器(destination index),sp用于指出堆栈中当前栈顶的地址。入栈(push)和 出栈(pop)指令由sp给出栈顶的偏移地址。基址bp指出 要处理的数据在堆栈中的基地址。,变址寄存器si,di用来存放当前数据段中某个单元的 偏移量,(4)指令指针ip,ip用于存放cpu要执行指令的下一条指令的偏移地址。,标志寄存器flags是16位寄存器,8086共使用了 9个有效位,7位未用到。,每一位都是一个标志,(5)标志寄存器flags,状态标志位:表示前面的操作执行后,alu处于何种状态, 可能会影响后面的操作。cf,pf,af, zf, sf,of,控制标志位:人为设置的,可以用专门的设置或删除指令, 对某种功能起控制作用。df,if,tf,cf-进位标志位。当执行一个加法(或减法)运算时, 使最高位产生进位(借位)时,cf=1;否则cf=0; 在执行循环指令时也会受影响,pf-奇偶标志位。当标志位反应运算结果中1的个数是偶数 还是奇数。当指令执行结果的低8位中含偶数个1时 pf=1;否则pf=0,af-辅助进位标志位。当执行一个加法(或减法)运算时, 使结果的低4位向高4位产生进位(借位)时,af=1; 否则af=0,zf-零标志位。若当前的运行结果为零,则zf=1;否则zf=0,sf-符号标志位。它和运算结果的最高位相同,of-溢出标志位。当补码运算时有益处则of=1;否则of=0 即结果超出模值表示范围即为溢出,df-方向标志位。用以指定字符串处理时的方向,当该df=1 字符串操作过程中地址以从高到低顺递减。df=0,字符串操作过程中地址以从低到高递增顺序处理,if-中断允许标志位。用以控制8086是否允许接受外部中断 请求。若if=1,8086能响应外部中断,if=0不响应外 部中断,3个控制标志位(人为设置的),中断:计算机暂时停止它正在执行的程序,转而去执行 请求中断的那个外设或事件的服务程序,待处理完毕后 回到终止了的程序的过程,tf-跟踪标志位。当tf=“1”,cpu按照跟踪方式执行程序, (处于单步状态),此时cpu每执行完一条指令就自动 产生一次内部中断。 当该位复位后,cpu恢复正常工作 通常用于程序的调试过程中。,8086cpu的存储器和i/o端口,(1)8086的寄存器组织及其寻址,可寻址1m空间,在此空间以8位为一个字节顺序排列存放。,每一个字节用唯一一个地址码标示,为不带符号的整数。 其地址范围位0-220-1,用十六进制表示00000h-fffffh,每一个字节用唯一一个地址码标示,为不带符号的整数。 其地址范围位0-220-1,用十六进制表示00000h-fffffh,对于一个字,高8位字节放在高位地址,低8位字 节放在低位地址,通常一个字节总位于偶地址,符合这种规则的字 数据称为“规则字”,规定将这个低位字节的地址作为这个字的地址,(2)分段结构和物理地址的形成,取指令时cpu会自动选择cs作为基地址;堆栈操作 选择ss;存取操作数时选择ds或es段,一个程序段可以使用一个逻辑段或多个逻辑段,物理地址形成:段基址(段起始地址高16位)和 偏移地址组成,(3)8086i/o端口,微机为每个端口分配一个地址,称为端口地址。 一个端口通常为接口电路内部的一个寄存器或一组 寄存器。,8086和外部设备之间由i/o接口电路来联系,每个i/o接口都有一个端口或几个端口。,小结,1.cpu两大组成部分及其功能,2.物理地址的计算方法,3.熟记各寄存器的名称及用途,4.8086的存储组织,8086cpu的字节寻址范围有多大?为什么?存储器为 什么分段?20位物理地址的形成过程是怎样的?,思考题,答:8086cpu的寻址范围1mb。因为在8086cpu地址线为 2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论