- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章 微 处 理 器 3.1 8086/8088微处理器 3.1.1 8086/8088微处理器的结构及执行程序的操作过程 8086 CPU是Intel系列的16位微处理器,它有16根数据线和20根地址线,所以可寻址的地址空间是220=1MB。 8088 CPU是准16位微处理器,它的内部寄存器、内部运算部件以及内部操作都是按16位设计的,但对外的数据总线只有8位,在处理一个16位数据时,8088需要两步操作,因而称8088是准16位微处理器。 本章中关于8086 CPU的内部结构是从指令的执行全过程来讨论的,即是从程序员和使用者的角度看到的结构。这种结构与8086真正的物理结构有所区别,因而又称下面将要讨论的8086 CPU的内部结构为编程结构。 8086 CPU从功能上可分为两部分,总线接口部件(BIU)和执行部件(EU)。其内部结构如图3.1所示。 1. 总线接口部件 总线接口部件的功能是: (1) 从内存取指令送到指令队列; (2) CPU执行指令时,总线接口部件要配合执行部件从指定的内存单元或者外设端口取数据,或将数据送到指定的内存单元或者外设的端口。 总线接口部件由下列各部分组成: (1) 四个段地址寄存器,即 CS,16位代码段寄存器; DS,16位数据段寄存器; ES,16位附加段寄存器; SS,16位堆栈段寄存器。 (2) 16位指令指针寄存器IP。 (3) 20位的地址加法器。 (4) 六字节的指令队列缓冲器。 8086/8088的BIU指令队列和20位地址加法器的作用: (1) 8086的指令队列缓冲器为六个字节,8088的指令队列缓冲器为四个字节。无论8086还是8088,都会在执行指令的同时,从内存中取下一条指令或几条指令,取来的指令就放在指令队列缓冲器中。 这样,一般情况下,CPU执行完一条指令就可以立即执行下一条指令,称为流水线技术,减少了CPU为取指令而等待的时间,从而提高了CPU的效率。 (2) 地址加法器用来产生20位地址。上面已提到8086可用20位地址寻址1MB的内存空间,但8086内部所有的寄存器都是16位的,所以需要一个附加的机构来根据16位寄存器提供的信息计算出20位的物理地址,这个机构就是20位的地址加法器。 2. 执行部件 执行部件(EU)的作用是: (1) 从指令队列中取出指令; (2) 对指令进行译码,发出相应的传送数据或算术运算的控制信号; (3) 接收由总线接口部件传送来的数据,或把数据传送到总线接口部件; (4) 进行算术运算。 执行部件由下列部分组成: (1) 四个通用寄存器AX,BX,CX,DX 四个通用寄存器既可作为16位寄存器用,也可以作为8位寄存器使用,分别为AH,AL,BH,BL,CH,CL,DH,DL。 AX寄存器又称为累加器,8086指令系统中有许多指令都通过累加器的动作来执行。AX为16位累加器,AL为8位累加器。 (2) 专用寄存器 4个专用寄存器,基址指针寄存器BP,堆栈指针寄存器SP,源变址寄存器SI,目的变址寄存器DI。 4个专用寄存器的用法将在指令系统有专门的论述。 (3) 算术逻辑单元ALU 它是16位的运算器,可用于8位或16位二进制算术和逻辑运算,也可按指令的寻址方式计算寻址存储器所需的16位偏移量。 (4) 数据暂存寄存器 它协助ALU完成运算,暂存参加运算的数据。 (5) EU控制电路 从总线接口的指令队列取出指令操作码,通过译码电路分析,发出相应的控制命令,控制ALU数据的流向。如果是运算操作,操作数经过暂存寄存器送入ALU,运算结果经过ALU数据总线送到相应的寄存器,同时标志寄存器F根据运算结果改变状态。 (6) 标志寄存器 标志寄存器共有16位,其中7位未用,所用的各位含义如图3.2所示。 其中6个标志位反映CPU指令运行后的运行状态信息,分别为SF、ZF、PF、CF、AF和OF。这些标志位用于根据指令执行后的操作结果进行判断转移。3个控制标志,分别为DF、IF和TF。控制标志可由编程员通过指令进行设置,有专门的指令对控制标志置0或置1。 下面举例说明运算结果对标志位的作用。 [例3.1]将下面两个数进行加法运算,看标志位的变化情况。 0010 0011 0100 0101 +) 0011 0010 0001 1001 0101 0101 0101 1110 SF=0, 因为最高位为0; ZF=0, 因为运算结果不为0; PF=0, 因为低8位运算结奇数个1; CF=0, 因为最高位无有进位; AF=0, 因为D3位没有向D4位产生进位; OF=0, 由于D14位没向D15位产生进位,D15位也没有进位。 这里要特别指出的是溢出标志的使用。 当字节运算的结果超出了范围-128~
您可能关注的文档
最近下载
- (11)--1.2.1 植物细胞的繁殖-有丝分裂.ppt VIP
- 2025年招生和对口招生文化素质测试数学试题及参考答案 完整版912.pdf VIP
- 广东省广州第六中学2024-2025学年高一上学期期中考试化学试题.docx VIP
- 大学物理1-1质点运动的描述.pptx VIP
- 征途漫漫,唯有奋斗——博物馆里的抗战教育:中国人民抗日战争纪念馆.pptx VIP
- 中国机长观后感中国机长观后感范文.pdf VIP
- 2024年浙江省温州市《保安员证》考试题库含答案统编版 .pdf VIP
- 管理心理学:理论与实践.pptx
- 课题申报书:基于生成式人工智能的医学教育创新融合途径研究.docx VIP
- 面向人工智能应用的语料数据生态构建与治理研究.docx VIP
文档评论(0)