第3章微机系统中的微处理器精选PPT.ppt
《第3章微机系统中的微处理器精选PPT.ppt》由会员分享,可在线阅读,更多相关《第3章微机系统中的微处理器精选PPT.ppt(51页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第3章微机系统中的微处理器第1页,本讲稿共51页 微处理器的是组成计算机系统的核心部件,其基本功能为:微处理器的是组成计算机系统的核心部件,其基本功能为:(1)支持功能完善的指令系统,进行各种算术、逻辑运算,)支持功能完善的指令系统,进行各种算术、逻辑运算,通过程序完成复杂的科学计算。通过程序完成复杂的科学计算。(2)支持各种结构的程序的执行,如程序的分支、循环、)支持各种结构的程序的执行,如程序的分支、循环、嵌套、子程序的调用和返回、中端服务程序。嵌套、子程序的调用和返回、中端服务程序。(3)控制与存储器、外设等相连接,组成完整的微机系统。)控制与存储器、外设等相连接,组成完整的微机系统。3
2、.1 微处理器的一般结构微处理器的一般结构3.1.1 微处理器的内部结构微处理器的内部结构一、微处理器的功能一、微处理器的功能第2页,本讲稿共51页程序计数器(PC)指令寄存器(IR)指令译码器(ID)控制逻辑部件堆栈指示器(SP)处理机状态字(PSW)控制器I/O控制逻辑工作寄存器地址寄存器数据寄存器.ALU3.1.1 微处理器的内部结构微处理器的内部结构第3页,本讲稿共51页指令的执行过程指令的执行过程3.1.1 微处理器的内部结构微处理器的内部结构第4页,本讲稿共51页 外部结构外部结构输入输入/输出引脚输出引脚微处理器级总线微处理器级总线 微处理器通过微处理器级总线与外部部件和设备相微
3、处理器通过微处理器级总线与外部部件和设备相联系。联系。1总线的功能总线的功能和存储器之间交换信息和存储器之间交换信息和和I/O设备之间交换信息设备之间交换信息为了系统工作而接收和输为了系统工作而接收和输出必要的信号,如输入时钟脉出必要的信号,如输入时钟脉冲、复位信号、电源和接地等冲、复位信号、电源和接地等2总线的分类总线的分类数据总线(数据总线(Data Bus)地址总线(地址总线(Address Bus)控制总线(控制总线(Control Bus)一总线功能与分类一总线功能与分类3.1.2 微处理器的外部结构微处理器的外部结构第5页,本讲稿共51页 存储器通常由几个模块组成,每个模块有几千个
4、单元,每个存储单元存储器通常由几个模块组成,每个模块有几千个单元,每个存储单元有唯一的存储器地址与其对应。有唯一的存储器地址与其对应。二存储器和二存储器和I/O地址空间地址空间 I/O接口接口保证数据、控制与状态信息在保证数据、控制与状态信息在CPU和和I/O设备之间正常传设备之间正常传送的电路。送的电路。I/O和和CPU之间的通信利用称为之间的通信利用称为I/O端口端口的寄存器来完成。的寄存器来完成。对应一个对应一个I/O设备的设备的I/O接口,可能包括几个接口,可能包括几个I/O端口,每个端口,每个I/O端口端口都有一个唯一的都有一个唯一的I/O地址与其对应。地址与其对应。3.1.2 微处
5、理器的外部结构微处理器的外部结构第6页,本讲稿共51页 存储单元和存储单元和I/O端口以字节为单位存放数据,每个字节对应一个端口以字节为单位存放数据,每个字节对应一个标标识地址识地址。地址总线的条数即为二进制地址码的位数,它可能表示的地址总线的条数即为二进制地址码的位数,它可能表示的不同地址的集合称为不同地址的集合称为地址空间地址空间。地址码的位数决定了地址空间的大小:地址码的位数决定了地址空间的大小:2n二存储器和二存储器和I/O地址空间地址空间单地址空间:对存储器和单地址空间:对存储器和I/O端口统一进行编址。端口统一进行编址。双地址空间:对存储器和双地址空间:对存储器和I/O端口独立进行
6、编址。端口独立进行编址。存储器:存储器:高位高位选择模块,低位选择模块,低位选择模块内的存储单元。选择模块内的存储单元。I/O设备:高位设备:高位选择选择I/O接口,低位接口,低位选择选择I/O端口。端口。3.1.2 微处理器的外部结构微处理器的外部结构第7页,本讲稿共51页 8086由两个独立的逻辑单元组成,即总线接口单元(由两个独立的逻辑单元组成,即总线接口单元(BIU)和执行)和执行单元(单元(EU)。)。BIU的任务:的任务:执行总线操作。执行总线操作。(1)访问存储器,包括取指令、取操作数、存结果等。)访问存储器,包括取指令、取操作数、存结果等。(2)与)与I/O之间的信息传输。之间
7、的信息传输。EU的任务:的任务:执行指令,进行全部算术和逻辑运算、完成偏移地执行指令,进行全部算术和逻辑运算、完成偏移地址的计算,向址的计算,向BIU提供指令执行结果的数据和访问存储器需要的偏移提供指令执行结果的数据和访问存储器需要的偏移地址,并对通用寄存器和标志寄存器进行管理。地址,并对通用寄存器和标志寄存器进行管理。3.2 8086的功能结构的功能结构第8页,本讲稿共51页1 2 3 4 5 6内部寄存器内部寄存器 IP ES SS DS CS总线控制总线控制电路电路EU控制器控制器ALU标志寄存器标志寄存器 AH AL BH BLCH CL DH DL SP BP SI DI通用通用寄存
8、器寄存器地址地址加法器加法器指令队列指令队列执行单元执行单元(EU)总线接口单元总线接口单元(BIU)16位位20位位16位位8位位ALU数据总线数据总线数据数据总线总线8086总线总线3.2 8086的内部结构的内部结构第9页,本讲稿共51页(3)EU取得指令,译码并执行指令。若指令需要取操作数或存操作结果,需要访问取得指令,译码并执行指令。若指令需要取操作数或存操作结果,需要访问存储器或存储器或I/O,EU向向BIU发出访问总线请求。当发出访问总线请求。当BIU接到接到EU的总线请求,若正忙,则须的总线请求,若正忙,则须等等BIU执行完当前的总线周期,才能响应执行完当前的总线周期,才能响应
9、EU的请求;若的请求;若BIU空闲,则立即执行空闲,则立即执行EU申请总申请总线的请求。线的请求。(1)BIU的指令队列有两个或两个以上字节为空时,的指令队列有两个或两个以上字节为空时,BIU自动启动总线周期,取指填自动启动总线周期,取指填充指令队列。直至队列满,进入空闲状态。充指令队列。直至队列满,进入空闲状态。(2)EU每执行完一条指令,从指令队列的队首取指。每执行完一条指令,从指令队列的队首取指。特殊情况特殊情况:系统初始化后,:系统初始化后,指令队列为空,指令队列为空,EU等待等待BIU从内存取指,填充指令队列。从内存取指,填充指令队列。(4)EU执行转移、调用和返回指令时,若下一条指
10、令不在指令队列中,则执行转移、调用和返回指令时,若下一条指令不在指令队列中,则队列被自动清除,队列被自动清除,BIU根据本条指令执行情况重新取指填充指令队列。根据本条指令执行情况重新取指填充指令队列。流水线技术原则流水线技术原则第10页,本讲稿共51页CPU取指1执行1存结果1取指2执行2取指3取操作数3执行3BUS忙闲忙忙闲忙忙闲EU执行1执行2执行3执行4BIU取指1取指2存结果1取指3取操作数3取指4存结果3取指5BUS忙忙忙忙忙忙忙忙取指令取指令取操作数取操作数(如果需要如果需要)执行指令执行指令写入存储器。写入存储器。8086首次引入了流水线技术,执行指令和总线访问可以同时进行,首次
11、引入了流水线技术,执行指令和总线访问可以同时进行,提高了总线利用率。提高了总线利用率。8086/8088以前的以前的CPU指令流水线指令流水线第11页,本讲稿共51页3.3 8086的寄存器结构的寄存器结构 AX AH AL BX BH BL 数据寄存器数据寄存器 CX CH CL (8/16位)位)DX DH DL 通用寄存器通用寄存器 SP 堆栈指针堆栈指针 BP 基址指针基址指针 指针指针/变址寄存器变址寄存器 SI 源变址源变址(16位)位)DI 目的变址目的变址 CS 代码段代码段 DS 数据段数据段 段寄存器段寄存器 SS 堆栈段堆栈段(16位)位)ES 附加段附加段 专用寄存器专
12、用寄存器 IP 指令指针指令指针 控制寄存器控制寄存器 FLAG 标志寄存器标志寄存器(16位)位)第12页,本讲稿共51页3.3.1 通用寄存器组通用寄存器组一、数据寄存器一、数据寄存器(1)16位数据寄存器位数据寄存器 AX累加器,使用频度最高,用于算术、逻辑运算累加器,使用频度最高,用于算术、逻辑运算 以及与外设传送信息等;以及与外设传送信息等;BX基址寄存器,常用做存放存储器基地址;基址寄存器,常用做存放存储器基地址;CX计数器,循环和串操作等指令中的隐含计数器;计数器,循环和串操作等指令中的隐含计数器;DX数据寄存器,常用来存放双字长数据的高数据寄存器,常用来存放双字长数据的高16位
13、,位,或存放外设端口地址。或存放外设端口地址。(2)8位数据寄存器:位数据寄存器:AH BH CH DH AL BL CL DL第13页,本讲稿共51页3.3.1 通用寄存器组通用寄存器组二、地址指针和变址寄存器二、地址指针和变址寄存器变址寄存器常用于存储器寻址时提供地址:变址寄存器常用于存储器寻址时提供地址:SI源变址寄存器源变址寄存器 DI目的变址寄存器目的变址寄存器指针寄存器用于寻址内存堆栈内的数据:指针寄存器用于寻址内存堆栈内的数据:SP堆栈指针,指示栈顶的偏移地址。堆栈指针,指示栈顶的偏移地址。SP不能再用于其他目的,具有专用目的。不能再用于其他目的,具有专用目的。BP基址指针,表示
14、数据在堆栈段中的基地址基址指针,表示数据在堆栈段中的基地址。SP和和BP寄存器与寄存器与SS段寄存器联合使用以确定堆栈段中的存储单元地址。段寄存器联合使用以确定堆栈段中的存储单元地址。第14页,本讲稿共51页8086有有4个个16位段寄存器:位段寄存器:CS Code Segment,执行程序所在段的段地址,执行程序所在段的段地址 SS Stack Segment,堆栈段的段地址,堆栈段的段地址 DS Data Segment,数据段的段地址,数据段的段地址 ES Extra Segment,附加段的段地址,附加段的段地址3.3.2 段寄存器组段寄存器组第15页,本讲稿共51页3.3.3 控制
15、寄存器组控制寄存器组指令指针寄存器指令指针寄存器IP(Instruction Pointer):):指示下一条要执行指令的偏移地址,计算机通过指示下一条要执行指令的偏移地址,计算机通过CS 和和 IP来控制指来控制指令序列的执行流程。令序列的执行流程。IP寄存器是一个专用寄存器。寄存器是一个专用寄存器。标志寄存器(标志寄存器(FLAG):):状态标志状态标志记录程序运行结果的状态信息,许多指令的执行记录程序运行结果的状态信息,许多指令的执行都将相应地设置它。都将相应地设置它。CF ZF SF PF OF AF 控制标志控制标志可由程序根据需要用指令设置,用于控制处理可由程序根据需要用指令设置,
16、用于控制处理器执行指令的方式。器执行指令的方式。DF IF TF第16页,本讲稿共51页3.3.3 控制寄存器组控制寄存器组标志寄存器(标志寄存器(FLAG)D15D0 OF DF IF TF SF ZF AF PF CF进进位位标标志志奇奇偶偶标标志志辅辅助助进进位位标标志志符符号号标标志志单单步步中中断断中中断断允允许许方方向向标标志志溢溢出出标标志志1-有进、借位有进、借位0-无进、借位无进、借位1-低低8位有偶数个位有偶数个10-低低8位有奇数个位有奇数个11-低低4位向高位向高4位有进、借位位有进、借位0-低低4位向高位向高4位无进、借位位无进、借位1-结果为结果为00-结果不为结果
17、不为0零零标标志志第17页,本讲稿共51页进位标志进位标志CF:当运算结果的最高有效位有进位(加法)或借位(减法)当运算结果的最高有效位有进位(加法)或借位(减法)时,进位标志置时,进位标志置1,即,即CF=1;否则;否则CF=0。例如:例如:3AH+7CHB6H,没有进位:没有进位:CF=0 AAH+7CH(1)26H,有进位:有进位:CF=1溢出标志溢出标志OF:若算术运算的结果有溢出,则若算术运算的结果有溢出,则OF=1;否则;否则 OF0例如:例如:3AH+7CHB6H,产生溢出:产生溢出:OF=1 AAH+7CH(1)26H,没有溢出:没有溢出:OF=0标志寄存器(标志寄存器(FLA
18、G)第18页,本讲稿共51页标志寄存器(标志寄存器(FLAG)问题:问题:1.什么是溢出?什么是溢出?2.溢出和进位有什么区别?溢出和进位有什么区别?3.处理器怎么处理,程序员如何运用?处理器怎么处理,程序员如何运用?4.如何判断是否溢出?如何判断是否溢出?第19页,本讲稿共51页处理器内部以补码表示有符号数。处理器内部以补码表示有符号数。8个二进制位能够表达的整数范围是:个二进制位能够表达的整数范围是:+127 -128如果运算结果超出了这个范围,就是产生了溢出。如果运算结果超出了这个范围,就是产生了溢出。有溢出,说明有符号数的运算结果不正确。有溢出,说明有符号数的运算结果不正确。1.什么是
19、溢出?什么是溢出?标志寄存器(标志寄存器(FLAG)例如:例如:3AH+7CHB6H,即,即58+124182,已经超出,已经超出-128 127范围,产范围,产生溢出,所以生溢出,所以OF=1;另一方面,补码;另一方面,补码B6H表达真值是表达真值是-74,显然运,显然运算结果也不正确。算结果也不正确。第20页,本讲稿共51页溢出标志溢出标志OF和进位标志和进位标志CF是两个意义不同的标志。是两个意义不同的标志。进位标志表示进位标志表示无符号数无符号数运算结果是否超出范围,运算运算结果是否超出范围,运算结果仍然结果仍然正确正确;溢出标志表示溢出标志表示有符号数有符号数运算结果是否超出范围,运
20、算运算结果是否超出范围,运算结果已经结果已经不正确不正确。2.溢出和进位溢出和进位标志寄存器(标志寄存器(FLAG)第21页,本讲稿共51页例例1:3AH+7CHB6H无符号数运算:无符号数运算:58124182,范围内,无进位,范围内,无进位有符号数运算:有符号数运算:58124182,范围外,有溢出,范围外,有溢出2.溢出和进位溢出和进位标志寄存器(标志寄存器(FLAG)例例2:AAH+7CH(1)26H无符号数运算:无符号数运算:170124294,范围外,有进位,范围外,有进位有符号数运算:有符号数运算:8612438,范围内,无溢出,范围内,无溢出第22页,本讲稿共51页 处理器对两
21、个操作数进行运算时,按照无符号数求得结果,处理器对两个操作数进行运算时,按照无符号数求得结果,并相应设置进位标志并相应设置进位标志CF;同时,根据是否超出有符号数的范围;同时,根据是否超出有符号数的范围设置溢出标志设置溢出标志OF。3.如何应用溢出和进位标志如何应用溢出和进位标志标志寄存器(标志寄存器(FLAG)应该利用哪个标志,则由程序员来决定。也就是说,如果将参加运应该利用哪个标志,则由程序员来决定。也就是说,如果将参加运算的操作数认为是无符号数,就应该关心进位;认为是有符号数,则要算的操作数认为是无符号数,就应该关心进位;认为是有符号数,则要注意是否溢出。注意是否溢出。第23页,本讲稿共
22、51页 判断运算结果是否溢出有一个简单的规则:判断运算结果是否溢出有一个简单的规则:只有当两个相同符号数相加(异号数相减可转化为同号数相加),只有当两个相同符号数相加(异号数相减可转化为同号数相加),而运算结果的符号与原数据符号相反时,产生溢出;因为,此时的运而运算结果的符号与原数据符号相反时,产生溢出;因为,此时的运算结果显然不正确。算结果显然不正确。其他情况下,则不会产生溢出。其他情况下,则不会产生溢出。4.溢出的判断溢出的判断标志寄存器(标志寄存器(FLAG)第24页,本讲稿共51页3.4 8086的存储器组织的存储器组织3.4.1 存储器地址空间和数据存储格式存储器地址空间和数据存储格
23、式8086的存储器是以字节(的存储器是以字节(Byte,8位)为单位组织的。位)为单位组织的。20条地址总线,可寻址的存储器地址空间为条地址总线,可寻址的存储器地址空间为220B(1MB)。)。每个存储单元都有一个编号每个存储单元都有一个编号 存储器地址存储器地址每个存储单元存放一个字节的内容每个存储单元存放一个字节的内容二进制位二进制位1位二进制数:位二进制数:0或或1。字节字节8个二进制位,个二进制位,D7D0。字字16位,位,2个字节,个字节,D15D0。双字双字32位,位,4个字节,个字节,D31D0。信息的表达单位:信息的表达单位:第25页,本讲稿共51页3.4 8086的存储器组织
24、的存储器组织3.4.1 存储器地址空间和数据存储格式存储器地址空间和数据存储格式两个连续的字节,为一个字:低对低,高对高(小端方式)。两个连续的字节,为一个字:低对低,高对高(小端方式)。字的地址指低字节的地址。字的地址指低字节的地址。字的地址为偶地址,称字的存储是对准的,访问时只需一个总线周期。字的地址为偶地址,称字的存储是对准的,访问时只需一个总线周期。字的地址为奇地址,称字的存储是未对准的,访问时要两个总线周字的地址为奇地址,称字的存储是未对准的,访问时要两个总线周期。期。字:字:0002H=1234H 0003H=5612H12H 34H78H 56H0000H0002H0004HD7
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 系统 中的 微处理器 精选 PPT
限制150内