《最新微机原理与接口技术-第2章cpu体系结构2PPT课件.ppt》由会员分享,可在线阅读,更多相关《最新微机原理与接口技术-第2章cpu体系结构2PPT课件.ppt(40页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、进入夏天,少不了一个热字当头,电扇空调陆续登场,每逢此时,总会想起进入夏天,少不了一个热字当头,电扇空调陆续登场,每逢此时,总会想起那一把蒲扇。蒲扇,是记忆中的农村,夏季经常用的一件物品。记忆中的故那一把蒲扇。蒲扇,是记忆中的农村,夏季经常用的一件物品。记忆中的故乡,每逢进入夏天,集市上最常见的便是蒲扇、凉席,不论男女老少,个个手持乡,每逢进入夏天,集市上最常见的便是蒲扇、凉席,不论男女老少,个个手持一把,忽闪忽闪个不停,嘴里叨叨着一把,忽闪忽闪个不停,嘴里叨叨着“怎么这么热怎么这么热”,于是三五成群,聚在大树,于是三五成群,聚在大树下,或站着,或随即坐在石头上,手持那把扇子,边唠嗑边乘凉。孩
2、子们却在周下,或站着,或随即坐在石头上,手持那把扇子,边唠嗑边乘凉。孩子们却在周围跑跑跳跳,热得满头大汗,不时听到围跑跑跳跳,热得满头大汗,不时听到“强子,别跑了,快来我给你扇扇强子,别跑了,快来我给你扇扇”。孩。孩子们才不听这一套,跑个没完,直到累气喘吁吁,这才一跑一踮地围过了,这时子们才不听这一套,跑个没完,直到累气喘吁吁,这才一跑一踮地围过了,这时母亲总是,好似生气的样子,边扇边训,母亲总是,好似生气的样子,边扇边训,“你看热的,跑什么?你看热的,跑什么?”此时这把蒲扇,此时这把蒲扇,是那么凉快,那么的温馨幸福,有母亲的味道!蒲扇是中国传统工艺品,在是那么凉快,那么的温馨幸福,有母亲的味
3、道!蒲扇是中国传统工艺品,在我国已有三千年多年的历史。取材于棕榈树,制作简单,方便携带,且蒲扇的表我国已有三千年多年的历史。取材于棕榈树,制作简单,方便携带,且蒲扇的表面光滑,因而,古人常会在上面作画。古有棕扇、葵扇、蒲扇、蕉扇诸名,实即面光滑,因而,古人常会在上面作画。古有棕扇、葵扇、蒲扇、蕉扇诸名,实即今日的蒲扇,江浙称之为芭蕉扇。六七十年代,人们最常用的就是这种,似圆非今日的蒲扇,江浙称之为芭蕉扇。六七十年代,人们最常用的就是这种,似圆非圆,轻巧又便宜的蒲扇。蒲扇流传至今,我的记忆中,它跨越了半个世纪,圆,轻巧又便宜的蒲扇。蒲扇流传至今,我的记忆中,它跨越了半个世纪,也走过了我们的半个人
4、生的轨迹,携带着特有的念想,一年年,一天天,流向长也走过了我们的半个人生的轨迹,携带着特有的念想,一年年,一天天,流向长长的时间隧道,袅长的时间隧道,袅微机原理与接口技术-第2章cpu体系结构2CPU体系体系结构构 第二章1、总线接口部件(、总线接口部件(BIU)功能:功能:(1)从内存取指令送到指令队列。)从内存取指令送到指令队列。(2)CPU执行指令时,到指定的执行指令时,到指定的 位置取操作数,并将其送至位置取操作数,并将其送至 要求的位置单元中。要求的位置单元中。总线接口部件的组成:总线接口部件的组成:(1)四个段地址寄存器)四个段地址寄存器 CS,16位代码段寄存器;位代码段寄存器;
5、DS,16位数据段寄存器;位数据段寄存器;ES,16位附加段寄存器;位附加段寄存器;SS,16位堆栈段寄存器。位堆栈段寄存器。(2)16位指令指针寄存器位指令指针寄存器IP(PC)。)。(3)20位的地址加法器。位的地址加法器。(4)六字节的指令队列缓冲器。)六字节的指令队列缓冲器。说明:说明:(1)指令队列缓冲器:)指令队列缓冲器:在执行指令的同时,将取下一在执行指令的同时,将取下一条指令,并放入指令队列缓冲器中。条指令,并放入指令队列缓冲器中。CPU执行完一条执行完一条指令后,可以执行下一条指令(流水线技术)。提高指令后,可以执行下一条指令(流水线技术)。提高CPU效率。效率。(2)地址加
6、法器:)地址加法器:产生产生20位地址。位地址。CPU内无论是段地内无论是段地址寄存器还是偏移量都是址寄存器还是偏移量都是16位的,通过地址加法器产位的,通过地址加法器产生生20位地址。位地址。2、执行部件、执行部件作用:作用:(1)从指令队列中取出指令。)从指令队列中取出指令。(2)对指令进行译码,发出相应的)对指令进行译码,发出相应的 控制信号。控制信号。(3)接收由总线接口送来的数据或)接收由总线接口送来的数据或 发送数据至接口。发送数据至接口。(4)进行算术运算。)进行算术运算。执行部件的组成:执行部件的组成:(1)4个通用寄存器个通用寄存器AX、BX、CX、DX。四个通用寄存器都是。
7、四个通用寄存器都是16位位 或作两个或作两个8位来使用。位来使用。(2)4个专用寄存器个专用寄存器 SP-堆栈指针寄存器堆栈指针寄存器 BP-基址指针寄存器基址指针寄存器 DI-目的变址寄存器目的变址寄存器 SI-源变址寄存器源变址寄存器(3)算术逻辑单元)算术逻辑单元ALU 完成完成8位或者位或者16位二进制算术和逻辑运算,计算偏移量。位二进制算术和逻辑运算,计算偏移量。(4)数据暂存寄存器)数据暂存寄存器 协助协助ALU完成运算,暂存参加运算的数据。完成运算,暂存参加运算的数据。(5)执行部件的控制电路)执行部件的控制电路 从总线接口的指令队列取出指令操作码,通过译码电路分析,从总线接口的
8、指令队列取出指令操作码,通过译码电路分析,发出相应的控制命令,控制发出相应的控制命令,控制ALU数据流向。数据流向。(6)标志寄存器)标志寄存器16位寄存器,其中有位寄存器,其中有7位未用。位未用。D15D0 OF DF IF TF SF ZF AF PF CF进进借借位位标标志志奇奇偶偶标标志志半半进进借借位位标标志志零零标标志志符符号号标标志志单单步步中中断断中中断断允允许许方方向向标标志志溢溢出出标标志志1-有进、借位有进、借位0-无进、借位无进、借位1-低低8位有偶数个位有偶数个10-低低8位有奇数个位有奇数个11-低低4位向高位向高4位有进、借位位有进、借位0-低低4位向高位向高4位
9、无进、借位位无进、借位1-结果为结果为00-结果不为结果不为0例:将5394H与-777FH相加,并说明其标志位的状态。【解解】先求先求-777FH的补码:的补码:原码:原码:1111 0111 0111 1111 反码:反码:1000 1000 1000 0000 补码:补码:1000 1000 1000 0001 再做加法运算:再做加法运算:0101 0011 1001 0100 +1000 1000 1000 0001 1101 1100 0001 0101 结果标志位为:结果标志位为:CF=0、PF=0、AF=0 ZF=0、SF=1、OF=03.“流水线”结构 总总线线接接口口部部件件
10、BIUBIU和和执执行行部部件件EUEU并并不不是是同同步步工工作作的的,两两者者的的动动作作管管理理遵遵循循如如下下原原则:则:每每当当80868086的的指指令令队队列列中中有有2 2个个空空字字节节,BIUBIU就就会会自自动动把把指指令令取取到到指指令令队队列列中中。而而同同时时EUEU从从指指令令队队列列取取出出一一条条指指令令,并并用用几几个个时时钟钟周周期期去去分析、执行指令。分析、执行指令。当当指指令令队队列列已已满满,而而且且EUEU对对BIUBIU又又无无总总线线访访问问请请求求时时,BIUBIU便便进进入入空空闲闲状状态态。在在执执行行转转移移、调调用用和和返返回回指指令
11、令时时,指指令令队队列列中中的的原原有有内内容容被被自自动清除。动清除。8086流水操作示意图流水操作示意图取指令取指令1执行指令执行指令1取指令取指令2执行指令执行指令2取指令取指令3执行指令执行指令3t0t1t2t3t4t图图 80868086流水操作示意图流水操作示意图在在t0t0t4t4时间间隔中,理想情况下时间间隔中,理想情况下 ,80868086可执行可执行3 3条指令。条指令。4、CPU执行程序的操作过程(1)20位地址形成,并将从该地址指定的单元中取出位地址形成,并将从该地址指定的单元中取出指令字节,依次放入指令队列中。指令字节,依次放入指令队列中。(2)当指令队列中有)当指令
12、队列中有2个空字节时,总线接口部件就个空字节时,总线接口部件就会自动取指令至队列中。会自动取指令至队列中。(3)执行部件从指令队列队首取出指令代码,执行该)执行部件从指令队列队首取出指令代码,执行该指令。指令。(4)当队列已满,执行部件又不使用总线时,总线接)当队列已满,执行部件又不使用总线时,总线接口部件进入空闲状态。口部件进入空闲状态。(5)执行转移指令、调用指令、返回指令时,先清空)执行转移指令、调用指令、返回指令时,先清空队列内容,再将要执行的指令放入队列中。队列内容,再将要执行的指令放入队列中。二、存储器的组织和堆栈1、8086存储器的分体结构存储器的分体结构 8086 8086 系
13、统中,系统中,1MB的存储空间分成两个存储体:的存储空间分成两个存储体:偶地址存储体和奇地址存储体,各为偶地址存储体和奇地址存储体,各为512KB。它们的访。它们的访问由问由/BHE、A0组合决定:组合决定:/BHE A0 总线使用情况总线使用情况 0 0 从偶地址单元开始,在从偶地址单元开始,在16位数据总线上进行字传送位数据总线上进行字传送 0 1 从奇地址单元开始,在高从奇地址单元开始,在高8位数据总线上进行字节传送位数据总线上进行字节传送 1 0 从偶地址单元开始,在低从偶地址单元开始,在低8位数据总线上进行字节传送位数据总线上进行字节传送 1 1 无效无效8086用两个存储体来组织实
14、际存储空间用两个存储体来组织实际存储空间 奇地址奇地址偶地址偶地址00001H00003H00000H00002HFFFFEHFFFFFH.BHEA0A0 A19 BHED8 D15D0 D7地址交叉地址交叉排列排列8086D0 D15规规则则字(对准字)存放字(对准字)存放 :偶地址作为字的地址偶地址作为字的地址非规非规则则字(非对准字)存放字(非对准字)存放:奇地址作为字的地址奇地址作为字的地址规则字的读规则字的读/写只需访问一次存储器;非规则字的读写只需访问一次存储器;非规则字的读/写需二次写需二次访问存储器。第一次访问奇地址,第二次访问偶地址。访问存储器。第一次访问奇地址,第二次访问偶
15、地址。2、存储器编址、存储器编址 在内存里以字节为单位存取信息,系统为每个字在内存里以字节为单位存取信息,系统为每个字节编一个地址(二进制数表示,书写格式为十六进制)节编一个地址(二进制数表示,书写格式为十六进制),称为存储器地址,存储的内容即为数据。,称为存储器地址,存储的内容即为数据。地址内容00000H00001H00002HFFFFFH000000010010001101000101 存储器中的数据及表示形式存储器中的数据及表示形式2301H(规则字规则字)4523H(非规则字非规则字)地址内容00000H00001H00002HFFFFFH0000000100100011010001
16、01 字节数字节数01H的地址为的地址为00000H、字节、字节23H的地址的地址为为00001H、字节、字节45H的地址为的地址为00002H。字字2301H的地址为的地址为00000H、字、字4523H的地址的地址为为00001H。地址地址00000H的内容既是的内容既是01H,又是,又是2301H顺序存放,低字节低地址(字数据)顺序存放,低字节低地址(字数据)01H2301H4523H45H3、存储器的分段结构存储器的分段结构 由于由于8086有有20条地址线,可以寻址多达条地址线,可以寻址多达220(1M)字节,所以把字节,所以把1M字节的存储器分为字节的存储器分为一定一定数量的段,数
17、量的段,其中每一段最多可达寻址其中每一段最多可达寻址216(64K)字节。)字节。8086CPU把把1M字节的存储器空间划分为任意的字节的存储器空间划分为任意的一些存储段,每个段的起始地址必须能一些存储段,每个段的起始地址必须能16整除(该地整除(该地址的最低四位为址的最低四位为0000)。)。8086可将内存最多可分为可将内存最多可分为64K个段,最少可分为个段,最少可分为16个段。每个段的最大范围是个段。每个段的最大范围是64KB,最小的段是,最小的段是16B。段与段之间可连续分布,也可重叠。段与段之间可连续分布,也可重叠。在所有的段中,在所有的段中,8086当前可以访问的段只有当前可以访
18、问的段只有4个,个,它们分别由它们分别由CS、DS、ES和和SS所指定。所指定。(1)逻辑地址和物理地址逻辑地址和物理地址物理地址物理地址:也称实际地址,是用唯一的:也称实际地址,是用唯一的20位二进制数位二进制数所表示的地址,规定了所表示的地址,规定了1M字节存储体中某个具体单元字节存储体中某个具体单元的地址的地址。如。如00002H。逻辑地址逻辑地址在程序中使用,即段地址:偏移地址在程序中使用,即段地址:偏移地址。如如 2000H:0003H 2000H:0000H 12H 0001H 34H 0002H 56H 0003H 78H (2)物理地址的形成物理地址的形成物理地址物理地址=段基
19、址段基址*16(左移(左移4位)位)+偏移地址。偏移地址。段基址:段基址:CS、DS、ES、SS。偏移地址:偏移地址:IP、DI、SI、BX、BP、SP等。等。物理地址的形成如下:(由物理地址的形成如下:(由20位地址全加器实现)位地址全加器实现)段寄存器值段寄存器值偏移量偏移量+物理地址物理地址16位位4位位16位位20位位0000物理地址和逻辑地址的转换将逻辑地址中的段地址左移将逻辑地址中的段地址左移4 4位,加上偏移地址就得到位,加上偏移地址就得到2020位物理地址位物理地址一个物理地址可以有多个逻辑地址一个物理地址可以有多个逻辑地址逻辑地址逻辑地址 1460:01001460:0100
20、、1380:0F001380:0F00物理地址物理地址 14700H 14700H14700H 14700H146014600 0H H 100H100H14700H14700H138013800 0H H F00HF00H14700H14700H物理地址为:段地址(左移四位)物理地址为:段地址(左移四位)+段内偏移量段内偏移量8086存储器20位物理地址的形成 一个存储单元可以有一个或多个逻辑地址,但只一个存储单元可以有一个或多个逻辑地址,但只能有一个物理地址。能有一个物理地址。例如物理地址例如物理地址21000H可以有以下几个逻辑地址:可以有以下几个逻辑地址:2100:0000H 2000
21、:0100H段基址段基址一般由一般由系统自动分配系统自动分配,也可以编程改变;,也可以编程改变;而偏移地址则由用户编程时提供。而偏移地址则由用户编程时提供。DATA SEGMENT X DB 12H Y DW 34H DATA ENDS 则则DS段中,段中,Y的地址为的地址为0001H,非规则存放。,非规则存放。CS 0000 IP代码段代码段 DS或或ES 0000 SI、DI或或BX SS 0000 SP或或BP数据段数据段堆栈段堆栈段存储器存储器段寄存器和偏移地址寄存器组合关系段寄存器和偏移地址寄存器组合关系8 8086 CPU086 CPU中有四个段寄存器:中有四个段寄存器:CSCS,
22、DSDS,SSSS和和ESES,这,这四个段寄存器存放了四个段寄存器存放了CPUCPU当前可以寻址的四个段的基当前可以寻址的四个段的基值,即可以从这四个段寄存器规定的逻辑段中存取值,即可以从这四个段寄存器规定的逻辑段中存取指令代码和数据。指令代码和数据。一旦这四个段寄存器的内容被设一旦这四个段寄存器的内容被设定,就规定了定,就规定了CPUCPU当前可寻址的段当前可寻址的段,如图,如图2-82-8所示。所示。80868086存储器的逻辑地址与物理地址存储器的逻辑地址与物理地址图图2-9 2-9 存储器分段示意图存储器分段示意图 66H8FH7CH90H65H5FH1FH2BH8FHA2HC7H4
23、AH代码段代码段(64 KB)10000H段地址:偏移地址段地址:偏移地址10001H10002H2A0F0H2A0F1H2A0F2HA0000HA0001HA0002HBC000HBC001HBC002H1000:00001000:00011000:00022A0F:00002A0F:00012A0F:0002A000:0000A000:0001A000:0002BC00:0000BC00:0001BC00:0002当前当前(CS)=1000H,(DS)=2A0FH,(SS)=A000H,(ES)BC00H物理地址物理地址数据段数据段(64 KB)堆栈段段堆栈段段(64 KB)附加段附加段(
24、64 KB)4、堆栈和堆栈操作命令、堆栈和堆栈操作命令 堆栈主要用于暂存数据和在过程调用或处理中断堆栈主要用于暂存数据和在过程调用或处理中断时暂存断点信息。时暂存断点信息。(1)堆栈的概念)堆栈的概念 堆栈是在存储器中开辟的一片数据存储区,这堆栈是在存储器中开辟的一片数据存储区,这片存储区的一端固定,另一端活动,且只允许数据从片存储区的一端固定,另一端活动,且只允许数据从活动端进出。采用活动端进出。采用“先进后出先进后出”的规则的规则。(2)堆栈的组织)堆栈的组织 堆栈指示器堆栈指示器SP,他总是指向堆栈的栈顶。堆栈的,他总是指向堆栈的栈顶。堆栈的伸展方向既可以从高地址向低地址,也可以从低地址
25、伸展方向既可以从高地址向低地址,也可以从低地址向高地址。向高地址。8086的堆栈的伸展方向是从高地址向低地的堆栈的伸展方向是从高地址向低地址。址。(3)堆栈的操作)堆栈的操作建栈:通过对建栈:通过对SS和和SP的赋值建立。(也可省略)的赋值建立。(也可省略)如:如:MOV AX,2000H MOV SS,AX MOV SP,0100H SS:SP 2000:0000 XX 2000:0001 XX 堆栈段堆栈段 2000:00FF 2000:0100 XX 栈底(栈顶)栈底(栈顶)SP=0100H 进栈操作:进栈操作:PUSH 指令(字操作)指令(字操作)已知已知 AX=1234H、BX=56
26、78H,PUSH AX、PUSH BX 第一次第一次PUSH 操作:操作:第二次第二次PUSH操作:操作:2000:0000 XX 2000:0000 XX 2000:0001 XX 2000:0001 XX 2000:00FC XX 2000:00FC 78 SP 2000:00FD XX 2000:00FD 56 2000:00FE 34 SP 2000:00FE 34 2000:00FF 12 2000:00FF 12 2000:0100 XX (栈底栈底)2000:0100 XX 出栈操作:出栈操作:POP 指令(字操作)指令(字操作)在前面操作的基础上作在前面操作的基础上作POP C
27、X操作:操作:2000:0000 XX 2000:0001 XX 2000:00FC 78 2000:00FD 56 2000:00FE 34 SP 2000:00FF 12 2000:0100 XX (栈底栈底)操作后:操作后:AX=1234HBX=5678HCX=5678HSP=00FEHSS=2000H6、系统复位、系统复位产生:产生:RESET端上的高电平维持端上的高电平维持4个时钟周期,可使个时钟周期,可使CPU复位。复位。CPU复位:复位:PSW、DS、ES、SS、IP等寄存器被清零,等寄存器被清零,指令队列被清空。指令队列被清空。CS寄存器设置为寄存器设置为FFFFH。当当RES
28、ET由高电平变低电平由高电平变低电平7个机器周期后,个机器周期后,CPU开开始从始从FFFF0处执行程序。处执行程序。注:由于复位后,注:由于复位后,IF=0,处关中断状态,所以在初始,处关中断状态,所以在初始化程序中应开中断,使化程序中应开中断,使CPU可响应中断请求。可响应中断请求。8086复位后内部寄存器的状态内部寄存器内部寄存器状状 态态标志寄存器标志寄存器IPIPCSCSDSDSSSSSESES指令队列缓冲器指令队列缓冲器其余寄存器其余寄存器0000H0000H0000H0000HFFFFHFFFFH0000H0000H0000H0000H0000H0000H空空0000H0000H注意:注意:80868086复位后各寄存器的状复位后各寄存器的状态非常重要态非常重要,它决定了它决定了:1 1、启动后、启动后CPUCPU各(段、通各(段、通用)寄存器的原始状态;用)寄存器的原始状态;2 2、CSCS和和IPIP的状态决定了指的状态决定了指令(程序存储器)的设计令(程序存储器)的设计要求。要求。388086/8088 CPU的外部引脚 习题P.42 2、5、6