- 1、本文档共115页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
02_微处理器结构课件
第2章 微处理器结构 2.1 8086微处理器简介 执行部件EU 执行部件EU 执行部件EU 执行部件EU 执行部件EU 标志寄存器(Flag) 进位标志CF(Carry Flag) 当加减运算结果的最高有效位有进位(加法)或借位(减法)时,进位标志置1,即CF=1;否则CF=0 针对无符号整数,判断加减结果是否超出表达范围 N个二进制位表达无符号整数的范围: 0~2N-1 8位:0~+255 16位:0~+65535 8位二进制数相加: 01111100转换成十进制数:58+124=182 没有产生进位:CF=0 溢出标志OF(Overflow Flag) 有符号数加减结果有溢出,则OF=1;否则OF=0 针对有符号整数,判断加减结果是否超出表达范围 N个二进制位表达有符号整数的范围: -2N-1~2N-1-1 8位:-128~+127 16位:-32768~+32767 8位二进制数相加: 01111100转换成十进制数:58+124=182 超出范围:OF=1 进位和溢出的区别 进位标志反映无符号整数运算结果是否超出范围 有进位,加上进位或借位后运算结果仍然正确 溢出标志反映有符号整数运算结果是否超出范围 有溢出,运算结果已经不正确 处理器按照无符号数、有符号数 设置进位标志CF 、 OF 程序员决定 操作数是无符号数,关心进位 操作数是有符号数,注意溢出 溢出标志的判断 处理器硬件判断规则 最高位和次高位同时有进位或同时无进位,无溢出;最高位和次高位进位状态不同,有溢出 人工判断的简单规则 只有当两个相同符号数相加(含两个不同符号数相减),而运算结果的符号与原数据符号相反时,产生溢出;其他情况下,不会产生溢出 零标志ZF(Zero Flag) 运算结果为0,则ZF=1,否则ZF=0 符号标志SF(Sign Flag) 运算结果最高位为1,则SF=1;否则SF=0 奇偶标志PF(Parity Flag) 当运算结果最低字节中“1”的个数为零或偶数时,PF=1;否则PF=0 两正数相加(补码相加),结果为负数,显然运算产生了溢出,即超出了机器所能表示的范围故OF=1;SF=1;ZF=0;PF=1;CF=0;AF=1。 (3)内部控制逻辑 内部控制逻辑用于实现EU内部控制,主要功能为从指令队列缓冲器中去除指令,并对指令进行译码,产生各种控制信号,控制各部件的协同工作,来完成指令的执行过程。 (1)段地址寄存器 访问存储器的物理地址由段地址和段内偏移地址两部分组成。段地址寄存器用来存放段地址,也称段寄存器。总线接口单元 BIU 有4 个段寄存器。分别为:CS、DS、ES和SS。 段寄存器用于存放段基地址值(16位无符号数)。CPU 可以通过4个段寄存器访问存储器中4个不同的段(每段最大64K字节)。 ①CS(代码段寄存器) CS是存放当前执行程序所在段的段地址。CS的内容左移四位加上指令指针IP的内容就是下一条要执行的指令的地址。 ②DS(数据段寄存器) DS是存放当前使用数据的段地址。通常数据段用来存放各种数据。DS 的内容左移四位加上按指令中存储器寻址方式计算出来的偏移地址,就是对数据段指定单元进行读写的地址。 ③ES(附加段寄存器) 附加段经常在字符串操作时作为目的区使用,ES存放附加段的段地址,DI存放目的区的偏移地址。 ④SS(堆栈段寄存器) SS是存放当前堆栈段的地址。堆栈是存储器中开辟的按后进先出的原则组织的一个特别存储区。 (2)地址加法器 地址加法器用于由逻辑地址计算20位物理地址,逻辑地址指程序员编写程序使用的地址,一般指段地址和段内偏移地址。 (3)指令指针寄存器(IP) 指令指针寄存器又称为程序计数器,它是一个16位寄存器。IP中存放当前将要执行的指令的有效地址。 (4)指令队列缓冲器 指令队列缓冲器是一个与CPU速度相匹配的高速缓冲寄存器。8086缓冲器为6个字节,8088为4个字节, 。 (5)总线控制逻辑 总线控制逻辑的功能是产生CPU外部三总线(AB、DB、CB)的控制信号,控制CPU与其它部件交换数据、地址、状态及控制信息。 总线接口单元(BIU)和执行单元(EU)的管理 在EU执行指令的过程中,BIU始终根据指令指示器IP提供的地址,从存放指令的存储器中预先取出一串指令存放到指令队列中。取来的指令在指令队列中是按字节顺序存放的,这样EU不必等待BIU去取指令。 指令
文档评论(0)