《第3章 微机系统中的微处理器PPT讲稿.ppt》由会员分享,可在线阅读,更多相关《第3章 微机系统中的微处理器PPT讲稿.ppt(101页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第第3章章 微机系统中的微处理微机系统中的微处理器器1第1页,共101页,编辑于2022年,星期一常用术语(常用术语(1 1)n位(位(bitbit):计算机处理的最小数据单位,只能为):计算机处理的最小数据单位,只能为“0 0”或或“1 1”,缩写为,缩写为b bn千位(千位(KilobitKilobit):代表):代表2 21010位,即位,即10241024位,缩写位,缩写KbKbn兆位(兆位(MegabitMegabit):代表):代表2 22020位,即位,即1024102410241024位,缩写位,缩写MbMbn千兆位(千兆位(GigabitGigabit):代表):代表2 23
2、030位,即位,即1024Mb1024Mb位,缩写位,缩写GbGbn兆兆位(兆兆位(TerabitTerabit):代表):代表2 24040位,即位,即1024Gb1024Gb位,缩写位,缩写TbTb2 2第2页,共101页,编辑于2022年,星期一常用术语(常用术语(2 2)n字节(字节(ByteByte):计算机中存储器容量的基本单位,一个字):计算机中存储器容量的基本单位,一个字节由节由8 8位二进制数据组成,位二进制数据组成,ByteByte通常缩写为通常缩写为B B,同样有,同样有KBKB、MBMB、GBGB、TBTBn字(字(WordWord):不同的场合有不同的含义,软件上通常
3、指):不同的场合有不同的含义,软件上通常指2 2个字节,硬件上一般指处理器外部数据总线的宽度个字节,硬件上一般指处理器外部数据总线的宽度n字长:计算机运算部件直接能处理的二进制数据的位数。字字长:计算机运算部件直接能处理的二进制数据的位数。字长越长,计算机的处理能力越强,运算精度越高,指令功能长越长,计算机的处理能力越强,运算精度越高,指令功能越强,可寻址的存储空间也越大越强,可寻址的存储空间也越大3 3第3页,共101页,编辑于2022年,星期一常用术语(常用术语(3 3)nCPUCPU主频主频q主振频率,主振频率,CPUCPU内部的时钟频率,是内部的时钟频率,是CPUCPU进行运进行运算时
4、的工作频率。算时的工作频率。q一般来说,主频越高,一个时钟周期里完成的一般来说,主频越高,一个时钟周期里完成的指令数也越多,指令数也越多,CPUCPU的运算速度也就越快。的运算速度也就越快。q但由于内部结构不同,并非所有时钟频率相同但由于内部结构不同,并非所有时钟频率相同的的CPUCPU性能也一样。性能也一样。n集成度集成度q表明微处理器的生产工艺水平表明微处理器的生产工艺水平q常用芯片上集成的晶体管数量来表达常用芯片上集成的晶体管数量来表达q超大规模集成电路通常超大规模集成电路通常1010万门万门/片以上片以上4 4第4页,共101页,编辑于2022年,星期一前言前言n微处理器是组成微型计算
5、机系统的核心部件,微处理器是组成微型计算机系统的核心部件,Intel8086Intel8086微处理器的基本结构和原理体现了一微处理器的基本结构和原理体现了一般微处理器的特点,故作为代表来进行讲述。般微处理器的特点,故作为代表来进行讲述。n讨论微处理器的目的,一方面是为了理解微型讨论微处理器的目的,一方面是为了理解微型计算机的工作原理,更重要的一方面是为了应计算机的工作原理,更重要的一方面是为了应用它。所以没有必要也不可能讨论它的每个逻用它。所以没有必要也不可能讨论它的每个逻辑细节。辑细节。n从上述目的出发,我们将从微处理器的内部和从上述目的出发,我们将从微处理器的内部和外部两个方面讨论微处理
6、器的结构。外部两个方面讨论微处理器的结构。5 5第5页,共101页,编辑于2022年,星期一3.1 微处理器的一般结构(内部结构)微处理器的一般结构(内部结构)典型典型CPU内部结构图内部结构图程序计数器程序计数器(PC)(PC)指令寄存器指令寄存器(IR)(IR)指令译码器指令译码器(ID)(ID)控制逻辑部件控制逻辑部件堆栈指示器堆栈指示器(SP)(SP)处理机状态字处理机状态字(PSW)(PSW)I/OI/O控制逻辑控制逻辑地址寄存器地址寄存器数据寄存器数据寄存器工作寄存器工作寄存器ALUALU6 6第6页,共101页,编辑于2022年,星期一3.1 微处理器的一般结构(内部结构)微处理
7、器的一般结构(内部结构)n运算器运算器q是计算机用来进行算术逻辑运算的部件是计算机用来进行算术逻辑运算的部件q运算器的核心是运算器的核心是ALUALUq基本功能:基本功能:对二进制代码进行加、减、乘、除基本运算对二进制代码进行加、减、乘、除基本运算 对二进制代码进行与、或、非等逻辑运算对二进制代码进行与、或、非等逻辑运算 对二进制代码进行移位操作对二进制代码进行移位操作 完成数据信息的传送完成数据信息的传送p运算器的组成:算术逻辑运算单元运算器的组成:算术逻辑运算单元ALUALU、内部总线、通、内部总线、通用寄存器组、输入多路开关和数据锁存器、输出移位用寄存器组、输入多路开关和数据锁存器、输出
8、移位多路开关。多路开关。7 7第7页,共101页,编辑于2022年,星期一微处理器的一般结构微处理器的一般结构(内部结构内部结构)(2)n控制器控制器q用于计算机硬件系统中,指挥、协调各部件的工作,是整个用于计算机硬件系统中,指挥、协调各部件的工作,是整个计算机的中枢计算机的中枢q基本功能:取指令、分析指令、执行指令、输入基本功能:取指令、分析指令、执行指令、输入/输出控输出控制、中断处理制、中断处理q控制器构成:控制器构成:n程序计数器程序计数器(PCPC:Program Counter)Program Counter):用于保存下一条要:用于保存下一条要执行的指令的地址,一般指令是顺序存储
9、在存储器中的。执行的指令的地址,一般指令是顺序存储在存储器中的。n指令寄存器指令寄存器(IRIR:Instruction Register)Instruction Register):保存从存储:保存从存储器读入的当前要执行的指令。器读入的当前要执行的指令。8 8第8页,共101页,编辑于2022年,星期一微处理器的一般结构微处理器的一般结构(内部结构内部结构)(2)n指令译码器指令译码器(IDID:Instruction Decoder)Instruction Decoder):对指令寄存器中:对指令寄存器中保存的指令进行译码分析。保存的指令进行译码分析。n控制逻辑部件控制逻辑部件:根据上一
10、器件的分析,发出相应的一系列节:根据上一器件的分析,发出相应的一系列节拍脉冲和控制信号,完成指令的操作。拍脉冲和控制信号,完成指令的操作。n处理器状态字处理器状态字(PSWPSW:Processor State Word)Processor State Word):暂存处理器当:暂存处理器当前的状态。前的状态。PSWPSW中的各位用来指示运算结果的特殊状态。中的各位用来指示运算结果的特殊状态。条件条件转移指令转移指令将根据将根据PSWPSW中的某一位的状态来决定程序是否转移。中的某一位的状态来决定程序是否转移。n堆栈指示器堆栈指示器(SPSP:Stack Pointer)Stack Point
11、er):对堆栈的存储区进行操作:对堆栈的存储区进行操作时提供时提供栈顶地址栈顶地址,方便堆栈操作。,方便堆栈操作。9 9第9页,共101页,编辑于2022年,星期一程序计数器程序计数器(PC)(PC)指令寄存器指令寄存器(IR)(IR)指令译码器指令译码器(ID)(ID)控制逻辑部件控制逻辑部件堆栈指示器堆栈指示器(SP)(SP)处理机状态字处理机状态字(PSW)(PSW)I/OI/O控制逻辑控制逻辑地址寄存器地址寄存器数据寄存器数据寄存器工作寄存器工作寄存器ALUALU用于保存下一条要执行的指令的地址典型典型CPU内部结构图内部结构图1010第10页,共101页,编辑于2022年,星期一典型
12、典型CPU内部结构图内部结构图程序计数器程序计数器(PC)(PC)指令寄存器指令寄存器(IR)(IR)指令译码器指令译码器(ID)(ID)控制逻辑部件控制逻辑部件堆栈指示器堆栈指示器(SP)(SP)处理机状态字处理机状态字(PSW)(PSW)I/OI/O控制逻辑控制逻辑地址寄存器地址寄存器数据寄存器数据寄存器工作寄存器工作寄存器ALUALU保存从存储器中读入的当前要执行的指令1111第11页,共101页,编辑于2022年,星期一典型典型CPU内部结构图内部结构图程序计数器程序计数器(PC)(PC)指令寄存器指令寄存器(IR)(IR)指令译码器指令译码器(ID)(ID)控制逻辑部件控制逻辑部件堆
13、栈指示器堆栈指示器(SP)(SP)处理机状态字处理机状态字(PSW)(PSW)I/OI/O控制逻辑控制逻辑地址寄存器地址寄存器数据寄存器数据寄存器工作寄存器工作寄存器ALUALU对IR中保存的指令进行译码分析1212第12页,共101页,编辑于2022年,星期一典型典型CPU内部结构图内部结构图程序计数器程序计数器(PC)(PC)指令寄存器指令寄存器(IR)(IR)指令译码器指令译码器(ID)(ID)控制逻辑部件控制逻辑部件堆栈指示器堆栈指示器(SP)(SP)处理机状态字处理机状态字(PSW)(PSW)I/OI/O控制逻辑控制逻辑地址寄存器地址寄存器数据寄存器数据寄存器工作寄存器工作寄存器AL
14、UALU用于存放栈顶指针1313第13页,共101页,编辑于2022年,星期一典型典型CPU内部结构图内部结构图程序计数器程序计数器(PC)(PC)指令寄存器指令寄存器(IR)(IR)指令译码器指令译码器(ID)(ID)控制逻辑部件控制逻辑部件堆栈指示器堆栈指示器(SP)(SP)处理机状态字处理机状态字(PSW)(PSW)I/OI/O控制逻辑控制逻辑地址寄存器地址寄存器数据寄存器数据寄存器工作寄存器工作寄存器ALUALU用于暂存处理器当前的状态1414第14页,共101页,编辑于2022年,星期一微处理器的一般结构微处理器的一般结构(内部结构内部结构)(3)n工作寄存器工作寄存器q作用作用:用
15、于暂存用于寻址和计算过程的信息,避免频繁访用于暂存用于寻址和计算过程的信息,避免频繁访问内存,缩短指令长度和执行时间,给编程带来方便。问内存,缩短指令长度和执行时间,给编程带来方便。q分为两组:分为两组:数据寄存器组和地址寄存器。但有的寄存器兼有数据寄存器组和地址寄存器。但有的寄存器兼有双重用途。双重用途。n数据寄存器用来暂存操作数和中间运算结果。数据寄存器用来暂存操作数和中间运算结果。n地址寄存器用于操作数的寻址。地址寄存器用于操作数的寻址。n寄存器组寄存器组qCPU内部的若干个存储单元内部的若干个存储单元q分为分为专用寄存器专用寄存器和和通用寄存器通用寄存器。专用寄存器的作用是固定的,。专
16、用寄存器的作用是固定的,如堆栈指针、标志寄存器等;通用寄存器可有多种用途。如堆栈指针、标志寄存器等;通用寄存器可有多种用途。q寄存器的数目因微处理器而定。寄存器的数目因微处理器而定。1515第15页,共101页,编辑于2022年,星期一CPU总线结构总线结构n CPU CPU的内部采用单总线,即内部所有单元电路的内部采用单总线,即内部所有单元电路都挂在内部总线上,分时使用总线。该组总线都挂在内部总线上,分时使用总线。该组总线作为信息在作为信息在CPUCPU内部流通的唯一途径。内部流通的唯一途径。ALUALU工作寄存器组工作寄存器组控制器控制器I/OI/O控制逻辑控制逻辑单总线结构单总线结构16
17、16第16页,共101页,编辑于2022年,星期一微处理器的基本工作过程微处理器的基本工作过程1717第17页,共101页,编辑于2022年,星期一微处理器的一般结构微处理器的一般结构(外部结构外部结构)(1)n微处理器的外部就是数量有限的输入输出引脚,微处理器的外部就是数量有限的输入输出引脚,即微处理器级总线。微处理器通过微处理器级即微处理器级总线。微处理器通过微处理器级总线沟通与外部部件和设备之间的联系。总线沟通与外部部件和设备之间的联系。n微处理器级总线的功能微处理器级总线的功能q和存储器之间交换信息和存储器之间交换信息q和和I/OI/O设备之间交换信息设备之间交换信息q为了系统工作而接
18、收和输出必要的信号为了系统工作而接收和输出必要的信号1818第18页,共101页,编辑于2022年,星期一n从功能上分,将总线分为从功能上分,将总线分为三种三种:q数据总线数据总线(DB(DB:Data Bus)Data Bus)用来传送指令或数据用来传送指令或数据q地址总线地址总线(AB(AB:Address Bus)Address Bus)指示欲传信息的源或目的地址;指示欲传信息的源或目的地址;q控制总线控制总线(CB(CB:Control Bus)Control Bus)管理总线上的活动。管理总线上的活动。微处理器的一般结构微处理器的一般结构(外部结构外部结构)(2)1919第19页,共
19、101页,编辑于2022年,星期一n数据总线数据总线(DB(DB:Data Bus)Data Bus)q微处理器数据总线的条数决定微处理器数据总线的条数决定CPUCPU和存储器或和存储器或I/OI/O设设备一次能交换数据的位数,是区分微处理器是多备一次能交换数据的位数,是区分微处理器是多少位的依据。少位的依据。q如如8086CPU8086CPU是是1616位微处理器,位微处理器,Z80CPUZ80CPU是是8 8位微处位微处理器。理器。微处理器的一般结构微处理器的一般结构(外部结构外部结构)(3)2020第20页,共101页,编辑于2022年,星期一微处理器的一般结构微处理器的一般结构(外部结
20、构外部结构)(4)n地址总线地址总线(AB(AB:Address Bus)Address Bus)q存储器的基本存储单元为字节,每个字节都有唯一存储器的基本存储单元为字节,每个字节都有唯一的二进制地址码相对应。的二进制地址码相对应。q地址总线的条数即为二进制地址码的位数,它可能地址总线的条数即为二进制地址码的位数,它可能表示的不同地址的集合称为地址空间。表示的不同地址的集合称为地址空间。q地址码的位数决定了地址空间的大小。比如地址码的位数决定了地址空间的大小。比如8086CPU8086CPU的地址码共有的地址码共有2020位,则地址空间的大小位,则地址空间的大小为为2 22020,即,即1MB
21、1MB个字节,地址空间为个字节,地址空间为0 0 2 22020-1-12121第21页,共101页,编辑于2022年,星期一微处理器的一般结构微处理器的一般结构(外部结构外部结构)(5)nI/O接口接口qI/OI/O接口是保证数据、控制与状态信息在接口是保证数据、控制与状态信息在CPUCPU和和I/OI/O设备之间正常传送的电路设备之间正常传送的电路qI/OI/O接口和接口和CPUCPU之间的通信是利用称为之间的通信是利用称为I/OI/O端口的寄端口的寄存器来完成的存器来完成的q一个一个I/OI/O接口可能包括若干个接口可能包括若干个I/OI/O端口端口q每个每个I/OI/O端口都有唯一的端
22、口都有唯一的I/OI/O地址相对应地址相对应n8086的地址总线的低的地址总线的低16位用来对位用来对I/O端口编址,端口编址,所以所以I/O地址空间容量为地址空间容量为(65536)字节。即)字节。即可对可对65536个个I/O端口寻址。端口寻址。2222第22页,共101页,编辑于2022年,星期一存储器和存储器和I/O端口的组织图端口的组织图CPUCPU地址地址 存储器中的字节存储器中的字节0 01 11010接口接口I/OI/O端口端口I/OI/O设备设备高位决定模块高位决定模块数数据据线线控控制制线线地地址址线线高位决定接口,高位决定接口,2或或3个低位选择端口个低位选择端口2323
23、第23页,共101页,编辑于2022年,星期一nIntel 8086 CPUIntel 8086 CPU属于第三代微处理器,属于第三代微处理器,8086 8086 CPUCPU有有2020条地址线,直接寻址能力达条地址线,直接寻址能力达1MB1MB。8086 CPU8086 CPU具有具有1616条数据总线,内部总线和条数据总线,内部总线和ALUALU均有均有1616位,可进行位,可进行8 8位和位和1616位操作,是位操作,是1616位微处理器。位微处理器。3.2 8086微处理器的功能结构微处理器的功能结构2424第24页,共101页,编辑于2022年,星期一8086微处理器的功能结构微处
24、理器的功能结构n8086CPU从功能上来说分成两大部分:从功能上来说分成两大部分:总线接口单元总线接口单元BIU(Bus Interface Unit)执行单元执行单元EU(Execution Unit)nBIU的作用:负责与存储器的接口,即的作用:负责与存储器的接口,即8086CPU与存储器之间与存储器之间的信息传送,都是由的信息传送,都是由BIU进行的进行的nEU 的作用:负责指令的执行的作用:负责指令的执行2525第25页,共101页,编辑于2022年,星期一8086CPU8086CPU功能框图功能框图2626第26页,共101页,编辑于2022年,星期一80868086微处理器的功能结
25、构微处理器的功能结构n总线接口单元总线接口单元(BIU)qBIU包括个段寄存器、指令指针包括个段寄存器、指令指针IP(PC)、指令队、指令队列寄存器列寄存器(IR)、完成与、完成与EU通讯的内部寄存器、地址通讯的内部寄存器、地址加法器和总线控制逻辑。加法器和总线控制逻辑。q它的任务是执行总线周期,完成它的任务是执行总线周期,完成CPU与存储器和与存储器和I/O设备之间信息的传送。具体地讲,就是取指令设备之间信息的传送。具体地讲,就是取指令时,从存储器指定地址取出指令送入指令队列排队;时,从存储器指定地址取出指令送入指令队列排队;执行指令时,根据执行指令时,根据EU命令对指定存储单元或命令对指定
26、存储单元或I/O端端口存取数据。口存取数据。2828第28页,共101页,编辑于2022年,星期一80868086微处理器的功能结构微处理器的功能结构n执行单元执行单元(EU)qEU由算术逻辑单元由算术逻辑单元ALU、暂存器、标志寄存器、暂存器、标志寄存器(PSW)、通用寄存器组和、通用寄存器组和EU控制器构成。控制器构成。q它的它的任务任务执行指令,进行全部的算术逻辑运算,完执行指令,进行全部的算术逻辑运算,完成偏移地址的计算,向成偏移地址的计算,向BIU提供指令执行的结果和提供指令执行的结果和地址,并对通用寄存器和标志寄存器进行管理。地址,并对通用寄存器和标志寄存器进行管理。n16位的位的
27、ALU总线和总线和8位队列总线用于位队列总线用于EU内部和内部和EU与与BIU之间的通信。之间的通信。2929第29页,共101页,编辑于2022年,星期一8086的指令流水线(的指令流水线(1)n一条指令的执行过程:一条指令的执行过程:n80868086出现以前,以上指令串行执行指令的执行采用单流出现以前,以上指令串行执行指令的执行采用单流水线的形式。则指令水线的形式。则指令花费时间花费时间=取指时间取指时间+执行时间执行时间取指取指1执行执行1存结果存结果1取指取指2执行执行2取指取指3执行执行3取操作数取操作数3CPUBUS忙忙忙忙忙忙忙忙忙忙闲闲闲闲闲闲8086以前的处理器以前的处理器
28、取指取指执行执行取指取指执行执行3030第30页,共101页,编辑于2022年,星期一80868086的指令流水线(的指令流水线(2 2)n80868086内部有内部有BIUBIU、EUEU两个独立单元,可独立完成总线操作两个独立单元,可独立完成总线操作和执行指令的任务,即两个单元可重叠操作和执行指令的任务,即两个单元可重叠操作n流水线就是两次重叠或多次重叠操作流水线就是两次重叠或多次重叠操作8086处理器处理器执行执行1执行执行2执行执行3执行执行3执行执行4取指取指1取指取指2存结果存结果1取指取指3取操作数取操作数3取指取指4存结果存结果3取指取指5忙忙忙忙忙忙忙忙忙忙忙忙忙忙忙忙EUB
29、USBIU3131第31页,共101页,编辑于2022年,星期一3.38086的寄存器结构的寄存器结构n 8086CPU内部具有内部具有14个个16位寄存器,用于提供运算的数据、位寄存器,用于提供运算的数据、控制指令执行和对指令及操作数寻址。基本分为通用寄存器控制指令执行和对指令及操作数寻址。基本分为通用寄存器组、控制寄存器组和段寄存器组。组、控制寄存器组和段寄存器组。n通用寄存器组通用寄存器组 8个个16位通用寄存器组分为两组:数据寄存器及地址指位通用寄存器组分为两组:数据寄存器及地址指针和变址寄存器。针和变址寄存器。3232第32页,共101页,编辑于2022年,星期一AHAH累加器累加器
30、AXAXALALBHBHBLBLCHCHCLCLDLDLDHDHSPSPBPBPSI SIDIDICSCSDSDSSSSSESESIPIPFLAGSFLAGS基址寄存器基址寄存器BXBX计数寄存器计数寄存器CXCX数据寄存器数据寄存器DXDX堆栈指针堆栈指针基址指针基址指针源变址寄存器源变址寄存器目的变址寄存器目的变址寄存器指令指针指令指针标志寄存器标志寄存器代码段寄存器代码段寄存器数据段寄存器数据段寄存器堆栈段寄存器堆栈段寄存器附加段寄存器附加段寄存器数据寄存器数据寄存器地址指针和变址地址指针和变址寄存器寄存器通用寄存器通用寄存器控制寄存器控制寄存器段寄存器组段寄存器组15158 87 70
31、 080868086的寄存器结构(的寄存器结构(1 1)3333第33页,共101页,编辑于2022年,星期一80868086的寄存器结构(的寄存器结构(2 2)n数据寄存器数据寄存器q4 4个个:累加器:累加器AXAX,基址寄存器,基址寄存器BXBX,计数寄存器,计数寄存器CXCX,数据寄存,数据寄存器器DXDXq特点特点:可分为高:可分为高8 8位(位(AHAH、BHBH、CHCH、DHDH)和低)和低8 8位(位(ALAL、BLBL、CLCL、DLDL)。这两组八位寄存器能分别寻址。这样,可以将数据寄存)。这两组八位寄存器能分别寻址。这样,可以将数据寄存器当作一个器当作一个1616位寄存
32、器,也可用作两个位寄存器,也可用作两个8 8位寄存器位寄存器q可用来存放可用来存放8 8位或位或1616位二进制操作数,这些操作数可以是参加操作位二进制操作数,这些操作数可以是参加操作数、中间结果或操作数地址数、中间结果或操作数地址q大多数算数和逻辑运算指令可以使用这些寄存器大多数算数和逻辑运算指令可以使用这些寄存器3535第35页,共101页,编辑于2022年,星期一8086的寄存器结构(的寄存器结构(3)n指针和变址寄存器指针和变址寄存器q4 4个个:堆栈指针:堆栈指针SPSP,基址指针,基址指针BPBP,源变址寄存器,源变址寄存器SISI,目的变址寄存器,目的变址寄存器DIDIq特点特点
33、:这:这4 4个个1616位寄存器只能按位寄存器只能按1616位进行存取操作,主要用来位进行存取操作,主要用来形成操作数的地址,用于堆栈操作和变址运算中计算操作数和形成操作数的地址,用于堆栈操作和变址运算中计算操作数和有效地址有效地址qSPSP,BPBP用于堆栈操作,用于堆栈操作,SPSP用来确定堆栈在内存中的地址,用来确定堆栈在内存中的地址,BPBP用用来存放在现行堆栈段的一个数据区的来存放在现行堆栈段的一个数据区的“基址基址”qSISI,DIDI用于变址操作,存放变址地址用于变址操作,存放变址地址q这这4 4个寄存器也可用作个寄存器也可用作数据寄存器数据寄存器3636第36页,共101页,
34、编辑于2022年,星期一通用寄存器的特定用法通用寄存器的特定用法3737第37页,共101页,编辑于2022年,星期一80868086的寄存器结构(的寄存器结构(4 4)n 控制寄存器控制寄存器-指令指针指令指针IPIPq1616位专用寄存器,保存下一条要执行的指令的偏移地位专用寄存器,保存下一条要执行的指令的偏移地址址q当当BIUBIU从内存中取出一个指令字节后,从内存中取出一个指令字节后,IPIP自动加自动加1 1,指,指向下一个字节向下一个字节qIPIP指向的是指令地址的段内地址偏移量,又称偏移地指向的是指令地址的段内地址偏移量,又称偏移地址或有效地址址或有效地址q程序员不能对程序员不能
35、对IPIP进行存取操作,程序中的转移指令、进行存取操作,程序中的转移指令、返回指令以及中断处理能对返回指令以及中断处理能对IPIP进行操作进行操作3838第38页,共101页,编辑于2022年,星期一80868086的寄存器结构(的寄存器结构(5 5)n控制寄存器控制寄存器-标志寄存器标志寄存器FLAGSFLAGS15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 CFPFAFZFSFTFIFDFOFn 1616位,其中有位,其中有6 6个状态位,个状态位,3 3个控制位个控制位n 6 6个状态位有:个状态位有:CFCF、PFPF、AFAF、ZFZF、SFSF、OFOF
36、n 3 3个控制位有:个控制位有:IFIF、DFDF、TFTF注:注:标志寄存器标志寄存器FLAGS反映的是反映的是ALU运算后结果的状态运算后结果的状态3939第39页,共101页,编辑于2022年,星期一80868086的寄存器结构(的寄存器结构(6 6)n标志寄存器标志寄存器FLAGSFLAGS(状态位)(状态位)q进位标志进位标志CFCF,反映算数运算后,最高位(字节操作为,反映算数运算后,最高位(字节操作为D D7 7,字操,字操作为作为D D1515)出现进位或借位的情况,有则为)出现进位或借位的情况,有则为“1 1”q奇偶标志奇偶标志PFPF,反映操作结果的低八位中,反映操作结果
37、的低八位中“1 1”的个数的情况,若的个数的情况,若为偶数,则为偶数,则PF=1PF=1q辅助进位标志辅助进位标志AFAF,反映一个,反映一个8 8位量的低位量的低4 4位向高位向高4 4位有无进位或借位有无进位或借位的情况,有则置位的情况,有则置“1 1”。这个标志位用于实现。这个标志位用于实现BCDBCD码算术运算码算术运算结果的调整结果的调整q零标志零标志ZFZF,反映运算结果是否为反映运算结果是否为0 0的情况,结果为的情况,结果为0 0,ZFZF置为置为“1 1”,否则为,否则为“0 0”4040第40页,共101页,编辑于2022年,星期一80868086的寄存器结构(的寄存器结构
38、(7 7)n标志寄存器标志寄存器FLAGSFLAGS(状态位)(状态位)q符号标志符号标志SFSF,反映运算结果的符号情况,若结果为负,反映运算结果的符号情况,若结果为负数,数,SFSF为为“1 1”,否则为,否则为“0 0”。SFSF的取值与运算结果最的取值与运算结果最高位(字节操作为高位(字节操作为D D7 7,字操作为,字操作为D D1515)一致。)一致。q溢出标志溢出标志OFOF,反映带符号数运算结果是否超过机器所能表,反映带符号数运算结果是否超过机器所能表示的数值范围的情况,对字节运算为示的数值范围的情况,对字节运算为-128-128 +127+127,对字,对字运算为运算为-32
39、768-32768 +32767+32767。若超过上述范围则称为。若超过上述范围则称为“溢出溢出”,OF=1OF=1,否则为,否则为“0 0”。4141第41页,共101页,编辑于2022年,星期一151514141313121211 1110109 98 87 76 65 54 43 32 21 10 0OFOFDFDFIFIFTFTFSFSFZFZFAFAFPFPFCFCF0101 0100 0011 1001+0100 0111 0110 10101001 1011 1010 00111 11 10 01 11 10 0标志寄存器标志寄存器FLAGSFLAGS(状态位)(状态位)424
40、2第42页,共101页,编辑于2022年,星期一80868086的寄存器结构(的寄存器结构(8 8)n标志寄存器标志寄存器FLAGSFLAGS(控制位)(控制位)q方向标志方向标志DFDF,在进行字符串操作时,每执行一条串操作指令,在进行字符串操作时,每执行一条串操作指令,对地址要进行一次调整,由对地址要进行一次调整,由DFDF决定地址是增还是减。若决定地址是增还是减。若DF=1DF=1,则为减量;则为减量;DF=0DF=0,则为增量。,则为增量。q中断允许标志中断允许标志IFIF,表示系统是否允许外部可屏蔽中断,表示系统是否允许外部可屏蔽中断(INTRINTR引脚)。若引脚)。若IF=1IF
41、=1,表示允许中断,表示允许中断,IF=0 IF=0,表示,表示不允许中断。不允许中断。IFIF对不可屏蔽中断(对不可屏蔽中断(NMINMI引脚)及内部中引脚)及内部中断请求不起作用。断请求不起作用。q跟踪标志跟踪标志TFTF,当,当TF=1TF=1时,时,CPUCPU每执行完一条指令,便自动产生每执行完一条指令,便自动产生一个内部中断,对程序进行逐条检查,常用于程序的调试。一个内部中断,对程序进行逐条检查,常用于程序的调试。4343第43页,共101页,编辑于2022年,星期一8086的寄存器结构(的寄存器结构(9)n段寄存器段寄存器内存中通常存放三种信息:内存中通常存放三种信息:代码(指令
42、):计算机执行何种操作代码(指令):计算机执行何种操作 数据(字符、数值):程序处理的对象数据(字符、数值):程序处理的对象 堆栈信息:保存返回地址和中间结果堆栈信息:保存返回地址和中间结果n用汇编语言设计的程序中的信息也就是这三类信息。而用汇编语言设计的程序中的信息也就是这三类信息。而8086、8088汇编语言规定,不同的信息要存放在不同的存贮段,这些存汇编语言规定,不同的信息要存放在不同的存贮段,这些存贮段的存贮器段地址(段基址)要由各自的段存器提供贮段的存贮器段地址(段基址)要由各自的段存器提供4444第44页,共101页,编辑于2022年,星期一8086的寄存器结构(的寄存器结构(10
43、)n80868086系统中把可直接寻址的系统中把可直接寻址的1M1M字节内存空间分为称作段的逻辑区域,字节内存空间分为称作段的逻辑区域,每个段的物理长度为每个段的物理长度为64K64K字节。每个段的起始地址的有关值存放在称字节。每个段的起始地址的有关值存放在称为段寄存器的为段寄存器的4 4个个1616位寄存器中位寄存器中q代码段寄存器代码段寄存器CSCS:指向当前的代码段,指令由此段取出:指向当前的代码段,指令由此段取出q数据段寄存器数据段寄存器DSDS:指向当前数据段,通常用来存放程序变量:指向当前数据段,通常用来存放程序变量q堆栈段寄存器堆栈段寄存器SSSS:指向当前的堆栈段,堆栈操作所需
44、的就是:指向当前的堆栈段,堆栈操作所需的就是 该段存储单元的内容该段存储单元的内容q附加段寄存器附加段寄存器ESES:指向当前附加段,通常也用来存储数据:指向当前附加段,通常也用来存储数据4545第45页,共101页,编辑于2022年,星期一n8086/80888086/8088的存储器都是以字节的存储器都是以字节(8(8位)为单位组织的。位)为单位组织的。它们具有它们具有2020条地址总线,所以可寻址的存储器地址空间条地址总线,所以可寻址的存储器地址空间容量为容量为 2 22020 (约)字节。(约)字节。n每个字节对应一个唯一的地址,地址范围为每个字节对应一个唯一的地址,地址范围为0 02
45、 220201 1 (用(用1616进制表示为进制表示为00000H00000H FFFFFH FFFFFH),如下图所),如下图所示。示。3.48086的存储器组织(的存储器组织(1)存储器地址空间存储器地址空间4646第46页,共101页,编辑于2022年,星期一8086的存储器组织(的存储器组织(1)存储器地址空间存储器地址空间4747第47页,共101页,编辑于2022年,星期一q存储空间按字节存储空间按字节(8位位)进行组织,每个存储单元存储一个进行组织,每个存储单元存储一个字节的数据,若存放字节的数据,若存放“字字”数据(数据(16位),则存放在相邻位),则存放在相邻两个存储单元之
46、中,高字节存放在高地址单元,低字节存两个存储单元之中,高字节存放在高地址单元,低字节存放在低地址单元放在低地址单元q字的地址为低字节的地址。各位的编号从字的地址为低字节的地址。各位的编号从0开始。开始。80868086的存储器组织(的存储器组织(2 2)数据存储格式数据存储格式151514141313121211 1110109 98 87 76 65 54 43 32 21 10 07 76 65 54 43 32 21 10 07 76 65 54 43 32 21 10 0地址地址=N+1=N+1地址地址=N=N(高字节高字节)(低字节低字节)字地址字地址4848第48页,共101页,编
47、辑于2022年,星期一80868086的存储器组织(的存储器组织(2 2)数据存储格式数据存储格式n8086允许字从任何地址开始允许字从任何地址开始n字的地址为偶地址时,称字的存储是对准的;字的地址为偶地址时,称字的存储是对准的;为奇地址时,则字的存储是未对准的为奇地址时,则字的存储是未对准的n访问对准的字,需要一个总线周期;访问未对访问对准的字,需要一个总线周期;访问未对准的字,则需要两个总线周期(准的字,则需要两个总线周期(CPU自动完成自动完成)4949第49页,共101页,编辑于2022年,星期一80868086的存储器组织(的存储器组织(3 3)n为什么存储器要分段为什么存储器要分段
48、q8086/8088CPU有有20条地址线(条地址线(A19A0),能寻址外部存贮空间为),能寻址外部存贮空间为=1MB,而在,而在8088/8086CPU内部能向存贮器提供地址码的地址寄存器有内部能向存贮器提供地址码的地址寄存器有六个,均为六个,均为16位,所以用这六个位,所以用这六个16位地址寄存器任意一个给外部存贮器位地址寄存器任意一个给外部存贮器提供地址,只能提供提供地址,只能提供=64K个地址,所以,对个地址,所以,对1MB地址寻址不完。这六地址寻址不完。这六个个16位地址寄存器分别为:位地址寄存器分别为:BX 基址寄存器基址寄存器BP 基址指针寄存器基址指针寄存器SI 源变址寄存器
49、源变址寄存器SP 堆栈指针寄存器堆栈指针寄存器DI 目的变址寄存器目的变址寄存器IP 指令指针寄存器指令指针寄存器为了使为了使8086CPU能寻址到能寻址到外部存贮器外部存贮器1MB空间中任空间中任何一个单元,何一个单元,8086巧妙地巧妙地采用了地址分段方法(将采用了地址分段方法(将1MB空间分成若干个逻辑空间分成若干个逻辑段),从而将寻址范围扩段),从而将寻址范围扩大到了大到了1MB。5050第50页,共101页,编辑于2022年,星期一80868086的存储器组织(的存储器组织(3 3)n n怎么分段怎么分段怎么分段怎么分段q1MB的存贮空间中的存贮空间中,每个存贮单元的实际地址编码称为
50、该单元的物理地每个存贮单元的实际地址编码称为该单元的物理地址址(用用PA表示表示)q把把1MB的存贮空间划分成若干个逻辑段的存贮空间划分成若干个逻辑段,每段最多每段最多64KBq一个段是存储器的一个逻辑单位,其长度可达一个段是存储器的一个逻辑单位,其长度可达64KB,每个段都有连续的存,每个段都有连续的存储单元构成,是存储器中独立的可分别寻址的单位储单元构成,是存储器中独立的可分别寻址的单位q每段第一个字节的位置称为每段第一个字节的位置称为“段起始地址段起始地址”,可由软件指定,可由软件指定q各逻辑段的起始地址的最低各逻辑段的起始地址的最低4位必须为位必须为0,即,即必须能被必须能被16整除(