- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四章 16位微处理器
4.1 16位微处理器概述 微处理器的发展 第一代微处理器:1971年Intel公司推出的4040和8008(4位、8位) 第二代微处理器:1974年推出的8080,M6800及Z-80等(8位) 第三代微处理器:Intel公司的8086/8088,Motorola公司的M68000和Zilog公司的Z8000(16位) 第四代微处理器: 80386及M68020(32位) 8086CPU是16位微处理器,DB=16,AB=20,可寻址的地址空间是22°=1MB。 8088CPU是准16位微处理器,它的内部寄存器、内部运算部件以及内部操作都是按16位设计的,但对外的数据总线只有8位。 8086和8088 CPU的区别:8086是16位数据总线,而8088是8位数据总线,在处理一个16位数据字时,8088需要两步操作而8086只需要一步。 4.2 8086/8088微处理器 总线接口部件(bus interface unit,缩写为BIU) 负责从存储器或外部设备中读取指令和读/写数据,即完成所有的总线操作 执行部件EU(execution unit,缩写为EU) 负责执行指令 两部件为并行工作状态,利用指令队列缓冲器,使取指和执行指令可重叠进行 8086与8088的不同:8086的DB为16位,8088的DB为8位,内部操作为16位。8086的指令队列缓冲器(IPQ)为6个字节,8088的指令队列缓冲器为4个字节。 提示: 1)EU不与外部总线相连,只负责执行指令。 2)BIU完成所有的总线操作(如取指令、写数据等)。 3)两单元并行工作,利用指令队列缓冲器,使取指和执行指令可重叠进行,形成2工位流水线。 4.2.1 执行单元(EU) 组成: 四个通用寄存器(AX,BX,CX,DX) 四个专用寄存器(BP,SP,DI,SI) 16位的算术逻辑单元ALU 标志寄存器(FR) 运算寄存器 EU控制系统 功能:执行指令 从指令队列中取指令代码 译码 在ALU中完成数据的运算 运算结果的特征保存在标志寄存器FLAGS中。 1)通用寄存器 8086含4个16位数据寄存器,每一个又可分为两个8位寄存器,即: AX AH,AL BX BH,BL CX CH,CL DX DH,DL 常用来存放参与运算的操作数或运算结果 通用寄存器特有的习惯用法 AX:累加器。多用于存放中间运算结果。所有 I/O指令必须都通过AX与接口传送信息; BX:基址寄存器。在间接寻址中用于存放基地址; CX:计数寄存器。用于在循环或串操作指令中 存放循环次数或重复次数; DX:数据寄存器。在32位乘除法运算时,存放 高16位数;在间接寻址的I/O指令中存放 I/O端口地址。 2)四个专用寄存器 基址指针寄存器BP 堆栈指针寄存器SP 源变址寄存器SI 目的变址寄存器DI 3)算术逻辑单元ALU 作用:16位的运算器,可用于8位或16位二进制算术和逻辑运算,也可按指令的寻址方式计算寻址存储器所需的16位偏移量。 注意:与BIU中的地址加法器的不同 4)EU控制电路 从总线接口的指令队列取出指令操作码,通过译码电路分析,发出相应的控制命令,控制ALU数据的流向。如果是运算操作,操作数经过暂存寄存器送入ALU,运算结果经过ALU数据总线送到相应的寄存器,同时标志寄存器FR根据运算结果改变状态。 5)标志寄存器FR-Flags Register 标志寄存器:16位,只用了其中9位 状态标志:存放运算结果的特征(如进位标志) 控制标志:控制某些特殊操作(如中断允许) 6个状态标志位(CF,SF,AF,PF,OF,ZF) 3个控制标志位(IF,TF,DF) 对状态标志,CPU在进行算术或逻辑操作时,根据操作结果,自动地将状态标志位置0或置1。 对控制标志,事先用指令设置,在程序执行时,检测这些标志,用以控制程序的转向。 状态标志位 进位标志CF( Carry Flag ) 当加法运算最高位有进位,减法运算最高位有借位时,CF=1;否则CF=0。 奇偶校验标志PF(Parity Flag ) 当运算结果的低8位“1”的个数为偶数时,PF=1;奇数时,PF=0。 辅助进位标志AF( Auxiliary Carry Flag ) 在加法运算中低4位向高4位进位时或在减法运算中低4位向高4位借位时,AF=1;否则,AF=0。AF用于BCD码运算结果的自动调整。 零标志ZF( Zero Flag ) 运算结果为0时,ZF=1;否则,Z
文档评论(0)