欢迎来到天天文库
浏览记录
ID:48259546
大小:1.19 MB
页数:94页
时间:2020-01-18
《第二章 8086微处理器.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第二章80x86微处理器2.1微处理器的发展1、80862、802863、803864、804865、Pentium(奔腾)6、PentiumPro(高能奔腾)7、PentiumII8、PentiumIII9、PentiumⅣ10、PentiumD与PentiumXE双核处理器11、Itanium(安腾)12、CoreDuo(酷睿处理器)2.28086微处理器2.2.18086CPU内部功能结构编程结构:就是指从程序员和使用者的角度应该看到的结构。这种结构与CPU内部的物理结构和实际布局是有区别的从功能上分
2、:总线接口部件BIU(BusInterfaceUnit)执行部件EU(ExecutionUnit)。状态标志寄存器EU控制器暂存寄存器123456(16位)总线控制逻辑地址总线地址加法器(20位)数据总线AHAHALBHBLCHCLDHDLSPBPDISIAXBXCXDXAHCSDSESSSIP内部通讯寄存器ALU数据总线(16位)Q(总线)(8位)执行部件(EU)总线接口部件(BIU)ALU(队列)8086总线图2-18086CPU的内部结构1、总线接口部件(BIU)总线接口部件的功能:与CPU外部(存储
3、器、I/O端口)传送指令代码或数据。CPU执行指令的工作分为两个阶段:取指令和执行指令过程。(1)BIU的组成4个16位的段地址寄存器(CS、DS、ES、SS)、16位的指令指针寄存器IP、20位的地址加法器、6字节的指令队列缓冲器、16位的内部暂存器和总线逻辑控制器(2)BIU各部件的作用1)段地址寄存器CS:16位代码段寄存器,寄存程序代码段首地址的高16位。DS:16位数据段寄存器,寄存数据段首地址的高16位。ES:16位扩展段寄存器,寄存另一个数据段首地址的高16位。SS:16位堆栈段寄存器,寄存堆
4、栈区数据段首地址的高16位。2)16位的指令指针寄存器IP:指出当前指令在程序代码段中的16位偏移量。3)20位的地址加法器:用来产生20位物理地址。段基址:段寄存器提供的16位信息,左移4位。偏移地址:EU提供的16位信息或者IP提供的16位信息。4)6字节的指令队列缓冲器:用来存放预取指令的指令队列。5)16位的内部暂存器:暂存输入/输出信息的寄存器。6)总线逻辑控制器:以逻辑控制方式实现总线上的信息传送,如信息分时传送等。2、执行部件EU执行部件的功能就是负责指令的执行。(1)EU的组成:执行部件由4
5、个通用寄存器(AX、BX、CX、DX)、4个专用寄存器(BP、SP、SI、DI)、算术逻辑单元、EU控制器和标志寄存器组成。(2)EU各部件的作用1)4个通用寄存器AX:16位的累加器BX:16位的基数寄存器CX:16位的计数寄存器DX:16位的数据寄存器2)4个专用寄存器BP:16位的基数指针寄存器SP:16位的堆栈指针寄存器堆栈:一组寄存器或一个存储区域,用来存放调用子程序或 响应中断时的主程序断点地址,以及暂存其它寄存器的内容。当信息存入堆栈或从堆栈中取出信息时,都必须严格按照“先进后出”的规则
6、进行。SI:16位的源变址寄存器DI:16位的目的变址寄存器3)算术逻辑部件ALU功能有两个:一是进行算术/逻辑运算,二是按指令的寻址方式计算出所寻址的16位偏移地址。4)EU控制器:执行指令的控制电路,实现从队列中取指令、 译码、产生控制信号等。5)标志寄存器:16位状态标志寄存器(7位未用)存放操作后的状态特征和人为设置的控制标志。所用的各位含义如下:这些标志可分两类:状态标志,控制标志。它们的作用详见表2-11514131211109876543210OFDFIFTFSFZFAFPFCF表2
7、-18086标志的作用类型标志名符号作用状态标志6个符号标志SF(SignFlag)指出前面运算执行后的结果是正还是负,它和运算结果的最高位相同,结果为负,则SF=1;结果为正,则SF=0。零标志ZF(ZeroFlag)指出前面运算执行后的结果是正否为零,结果为零,则ZF=1;结果为非零,则ZF=0。奇/偶标志PF(ParityFlag)指出前面运算结果的低8位中所含的1的个数为偶数还是奇数,结果为偶,则PF=1;结果为奇,否则PF=0。进位标志CF(CarryFlag)当执行加法运算使最高位产生进位或执行
8、减法运算引起最高位产生借位时,CF=1,否则CF=0。当执行循环移位指令或执行CPU的CF控制指令时,也会影响这一标志。辅助进位标志AF(AuxiliaryCarryFlag)当执行加法运算使第3位往第4位上有进位或减法运算使第3位从第4位有借位时,则AF=1,否则AF=0。溢出标志OF(OverflowFlag)当运算的结果超出了范围时就会产生溢出(详见第一章中双高位判别法),OF=1。否则OF=0。控制标志3
此文档下载收益归作者所有