第2章_微处理器与总线_第1页
第2章_微处理器与总线_第2页
第2章_微处理器与总线_第3页
第2章_微处理器与总线_第4页
第2章_微处理器与总线_第5页
已阅读5页,还剩81页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、12第第2章章 节节 目目 录录l2.1 微处理器概述微处理器概述l2.2 8088/8086微处理器微处理器3l8088/8086 CPU的外部引线及其功能;的外部引线及其功能;l8088/8086 CPU的内部逻辑结构(的内部逻辑结构(EU/BIU););l8088/8086系统中存储器的组织与寻址;系统中存储器的组织与寻址;l堆栈的概念;堆栈的概念;l8088/8086的工作时序(读的工作时序(读/写),总线周期;写),总线周期;作业作业(P92):第第2,3,4,5,8,9,10题。题。小小 结结42.1 微处理器概述微处理器概述微处理器功能l算术运算和逻辑运算;算术运算和逻辑运算;l

2、对指令译码、寄存并执行指令规定的操作;对指令译码、寄存并执行指令规定的操作;l与存储器、与存储器、I/O接口数据通信;接口数据通信;l 少量数据暂存;少量数据暂存;l 提供定时和控制信号;提供定时和控制信号;l响应响应I/O设备发出的中断。设备发出的中断。5 2.1 微处理器概述微处理器概述运算器组成:l算术逻辑单元(算术逻辑单元(ALU););l通用或专用寄存器组;通用或专用寄存器组;l内部总线。内部总线。62.1 微处理器概述微处理器概述控制器功能:l指令控制;指令控制;l时序控制;时序控制;l操作控制。操作控制。控制器组成:l程序计数器;程序计数器;l指令寄存器;指令寄存器;l指令译码器

3、;指令译码器;l时序控制部件;时序控制部件;l微操作控制部件。微操作控制部件。7 2.2 8088微处理器微处理器l2.2.1 8088CPU概述概述 l2.2.2 8088CPU外部引线及功能外部引线及功能l2.2.3 8088CPU的内部结构和特点的内部结构和特点l2.2.4 8088的存储器寻址的存储器寻址l2.2.5 8088的工作时序的工作时序8CPU地址总线(地址总线(AB)RAMI/O接口接口I/O设备设备ROM数据总线(数据总线(DB)控制总线(控制总线(CB)9一、概述l8088、8086基本类似基本类似l16位CPU、AB宽度20位l差别:差别:l指令预取队列:8088为4

4、字节,8086为6字节l数据总线引脚:8088有8根,8086有16根l8088为准为准16位位CPU,内部,内部DB为为16位,但外部仅为位,但外部仅为8位,位,16位数据要分两次传送。位数据要分两次传送。l指令系统完全相同,芯片内部逻辑结构、芯片引指令系统完全相同,芯片内部逻辑结构、芯片引脚有个别差异。脚有个别差异。1011指令预取队列(IPQ)指令的一般执行过程:指令的一般执行过程: 取指令取指令 指令译码指令译码 读取操作数读取操作数 执行指令执行指令 存放结果存放结果12串行工作方式:l8088之前的之前的CPU采用串行工作方式:采用串行工作方式:取指令1执行1取操作数2执行2CPU

5、BUS忙碌忙碌忙碌忙碌存结果1取指令21)CPU执行指令时总线处于空闲状态执行指令时总线处于空闲状态2)CPU存取数据或指令时要等待总线存取数据或指令时要等待总线缺点缺点:CPU无法全速运行无法全速运行解决解决:总线空闲时预取指令,使:总线空闲时预取指令,使CPU减少等待。减少等待。13并行工作方式:l8088CPU采用并行工作方式采用并行工作方式取指令2 取操作数BIU存结果取指令3 取操作数 取指令4执行1执行2执行3 EUBUS忙碌忙碌忙碌忙碌忙碌忙碌148088的流水线操作的流水线操作l8088 CPU包括两大部分:包括两大部分:EU和和BIUlBIU不断地从存储器取指令送入不断地从存

6、储器取指令送入IPQ,EU不断不断地从地从IPQ取出指令执行取出指令执行lEU和和BIU构成了一个简单的构成了一个简单的2工位流水线工位流水线l指令预取队列指令预取队列IPQ是实现流水线操作的关键(类是实现流水线操作的关键(类似于工厂流水线的传送带)似于工厂流水线的传送带)l新型新型CPU将一条指令划分成更多的阶段,以便可将一条指令划分成更多的阶段,以便可以同时执行更多的指令以同时执行更多的指令l PIII为为14个阶段,个阶段,P4为为20个阶段个阶段(超级流水线超级流水线)15结论l指令预取队列的存在使指令预取队列的存在使EU和和BIU两个部两个部分可同时进行工作,从而分可同时进行工作,从

7、而l提高了CPU的效率;l降低了对存储器存取速度的要求168088CPU的两种工作模式(一)最小模式(一)最小模式 也称也称“单处理器系统单处理器系统”,即在系统中只有一个,即在系统中只有一个8086处理器,全部的系统总线信号均由处理器,全部的系统总线信号均由8086直接产直接产生生。 总线控制逻辑减到最少,故称最小模式。总线控制逻辑减到最少,故称最小模式。(二)最大模式(二)最大模式 也称也称“多处理器系统多处理器系统”,即系统中包含两个或,即系统中包含两个或多多 个处理器,其中一个为主处理器个处理器,其中一个为主处理器8086,其他,其他的处理器为的处理器为“协处理器协处理器”(COPro

8、cessor)。)。17 通常和通常和8086配合使用的协处理器配合使用的协处理器1、数值运算协处理器数值运算协处理器8087 用硬件方法实现数值计算,如浮点运算、用硬件方法实现数值计算,如浮点运算、 高精度整数运算、三角函数、对数运算等,高精度整数运算、三角函数、对数运算等, 提高系统的运算速度。提高系统的运算速度。2、输入输入/输出协处理器输出协处理器8089 可以直接为输入可以直接为输入/输出设备服务,使输出设备服务,使 8086/8088不再承担这些工作。提高主不再承担这些工作。提高主CPU 的效率,尤其在输入的效率,尤其在输入/输出应用较多的场合。输出应用较多的场合。188088在最

9、小模式下的典型配置在最小模式下的典型配置 8284A地址总线(地址总线(20根)根)READYRESETALEA19 A8AD7AD0地址地址锁存储器锁存储器8282(三片)(三片)DENDT/RIO/MWRRDHOLDHLDAINTRINTACLK收发器收发器8286(一片)(一片)数据总线(数据总线(8根)根)控制总线控制总线READYRESET8088MN/MX+5VA0 A19D0 D7198086在最小模式下的典型配置在最小模式下的典型配置 8284A地址总线(地址总线(20根)根)READYRESETALEBHE/A19 A16AD15AD0地址地址锁存储器锁存储器8282(三片)

10、(三片)BHEDENDT/RM/IOWRRDHOLDHLDAINTRINTACLK收发器收发器8286(两片)(两片)数据总线(数据总线(16根)根)控制总线控制总线READYRESET8086MN/MX+5VA0 A19D0 D15208086最大模式下的典型配置最大模式下的典型配置 80868282锁存储器锁存储器(三片)(三片)8286收发器收发器(2片)片)8288总线总线控制器控制器READYRESET8284ARESETREADYBHE/A16A19AD0AD15S0/S1/S2/CLKMN/MX0DENDT/RA0 A19D0 D15ALESTBBHE/OE TMRDC/MWTC

11、/IORC/IOWC/INTA/ALE。DEN。DT/R控制控制总线总线S0S1S221DBABINTRDWRIO/MINTACB22二、8088 CPU的引脚及功能引脚定义的一般方法:引脚定义的一般方法:l每个引脚只传送一种信息(每个引脚只传送一种信息(RD等);等);l引脚电平的高低不同的信号(引脚电平的高低不同的信号(IO/M等);等);lCPU工作于不同方式有不同的名称和定义工作于不同方式有不同的名称和定义(WR/LOCK 等);等);l分时复用引脚(分时复用引脚(AD7 AD0 等)等) ;l引脚的输入和输出分别传送不同的信息引脚的输入和输出分别传送不同的信息 (RQ/GT0等)。等

12、)。23引脚对比图地地AD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLK地地Vcc(5V)AD15A16/S3A17/S4A18/S5A19/S6BHE/S7MN/MXRDHOLD(RQ/GT0)HLDA(RQ/GT1)WR(LOCK)M/IO(S2)DT/R(S1)DEN(S0)ALE(QS0)INTA(QS1)TESTREADYRESET8086Vcc(5V)A15A16/S3A17/S4A18/S5A19/S6SS0(HIGH)MN/MXRDHOLD(RQ/GT0)HLDA(RQ/GT1)WR(LOCK)IO/M(S2

13、)DT/R(S1)DEN (S0)ALE(QS0)INTA(QS1)TESTREADYRESET8088地地A14A13A12A11A10A9A8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLK地地24主要引线(最小模式下)l8088是工作在最小还是最大模式由是工作在最小还是最大模式由MN/MX端状态端状态决定:决定:MN/MX=0时工作于最大模式,反之工作于时工作于最大模式,反之工作于最小模式。最小模式。l数据信号线数据信号线(DB)与地址信号线与地址信号线(AB):lAD7AD0:三态,地址三态,地址/数据复用线。数据复用线。ALE有效时为地有效时为地 址的低址的低8位

14、。地址信号有效时为输出,传送数据信号时为位。地址信号有效时为输出,传送数据信号时为双向。双向。lA19A16:三态,输出。高三态,输出。高4位地址信号,与状态信号位地址信号,与状态信号S6 S3分时复用。分时复用。lA15A8 :三态,输出。输出三态,输出。输出8位地址信号位地址信号;(8086 AD15AD8) 。25l 地址地址/状态复用线状态复用线A16/S3A19 /S6l S6=0表示表示CPU正与总线相连;正与总线相连;l S5指示中断允许标志位指示中断允许标志位IF的状态。的状态。l S3,S4组合表示段寄存器的使用。组合表示段寄存器的使用。S4 S3段寄存器使用情况段寄存器使用

15、情况0 0 0 1 1 0 1 1 当前正在使用当前正在使用ES当前正在使用当前正在使用SS当前正在使用当前正在使用CS,或未用任何段寄存器或未用任何段寄存器当前正在使用当前正在使用DS26主要的控制和状态信号IO/MRDWR数据传输方式数据传输方式101I/O读读110I/O写写001存储器读存储器读010存储器写存储器写l例例: 当当WR=1,RD=0,IO/M=0时,表示时,表示CPU当当前正在进行前正在进行读读存储器存储器操作。操作。27 ALE(Address latch Enable):地址锁存允许信号,地址锁存允许信号,输出,高电平有效。输出,高电平有效。 由于一部分地址线和数据

16、线由于一部分地址线和数据线采用分时复用采用分时复用。在在总线周期总线周期T1时,总线上先传送地址,接着传送数据时,总线上先传送地址,接着传送数据。但在一般情况下,存储器或但在一般情况下,存储器或I/O接口电路,要接口电路,要求在整个总线周期内求在整个总线周期内保持稳定的地址信息保持稳定的地址信息。这样,。这样,就需要将这些地址信息保存起来。就需要将这些地址信息保存起来。在总线周期的在总线周期的T1状态,状态,ALE信号有效信号有效。 与与8086/8088配套的配套的锁存器电路锁存器电路为为8282/8283,用用ALE做锁存允许信号。做锁存允许信号。28 DEN(Data Enable):数

17、据允许,输出,三态,低电平数据允许,输出,三态,低电平有效有效 作为总线收发器作为总线收发器(8286/8287数据总线驱动器数据总线驱动器)的的控制信号。控制信号。 DT/R(Data Transmit/Receive):数据发送数据发送/接收控制,接收控制,输出,三态输出,三态 在使用在使用Intel 8286 /8287 8位双向总线驱动器时,位双向总线驱动器时,控制其传输数据的方向。控制其传输数据的方向。 DT/R=1: CPU发送数据(向存储器或发送数据(向存储器或I/O端口)端口) DT/R=0: CPU接收数据接收数据 在在DMA方式时,被置为高阻状态。方式时,被置为高阻状态。2

18、9主要的控制和状态信号IO/MDT/RSS0数据总线操作数据总线操作100发中断响应信号发中断响应信号101读读I/O端口端口110写写I/O端口端口111暂停暂停000取指令取指令001读内存读内存010写内存写内存011无源状态无源状态30l 高高8位数据允许位数据允许/状态状态BHE/S7(BUS High Enable/Status)复用引脚复用引脚8086有有16条数据线,可用条数据线,可用低低8位位传送一个传送一个字节字节,也可用也可用高高8位位传送一个传送一个字节字节,还可用高,还可用高8位和低位和低8位一位一起传送一个起传送一个字字(16位)。位)。BHE和和A0就是用来区分这

19、就是用来区分这几类传输的。几类传输的。l 对对8088来说,因为只有来说,因为只有8位数据线,因此不需要位数据线,因此不需要BHE,而定义为而定义为SS0。31主要的控制和状态信号复位后复位后CPU内部寄存器被设为初值如下:内部寄存器被设为初值如下:寄存器名称寄存器名称 寄存器状态寄存器状态标志寄存器(标志寄存器(FR) 清零清零指令指针寄存器(指令指针寄存器(IP) 0000HCS寄存器寄存器 FFFFHDS寄存器寄存器 0000HSS寄存器寄存器 0000HES寄存器寄存器 0000H指令队列指令队列 空空其他寄存器其他寄存器 0000H32l“准备好准备好”信号信号Ready,输入,输入

20、检测存储器或外设是否准备好数据传输。检测存储器或外设是否准备好数据传输。 T1 T2 T3 Tw T4CLKREADYREADY信号用于协调信号用于协调CPU与存储器、与存储器、I/O接接口之间的速度差异,由存储器或口之间的速度差异,由存储器或I/O接口发出。接口发出。33中断请求和响应信号lINTR:输入,可屏蔽中断请求输入端。输入,可屏蔽中断请求输入端。 高:有高:有INTR中断请求中断请求lNMI:输入,非屏蔽中断请求输入端。输入,非屏蔽中断请求输入端。 低低高,有高,有NMI中断请求中断请求lINTA:输出,对输出,对INTR信号的响应。信号的响应。34总线保持信号总线保持信号lHOL

21、D:总线保持请求信号输入端。当总线保持请求信号输入端。当CPU 以外的其他设备要求占用总线时,以外的其他设备要求占用总线时, 通过该引脚向通过该引脚向CPU发出请求。发出请求。lHLDA:输出,对输出,对HOLD信号的响应。为高信号的响应。为高 电平时,表示电平时,表示CPU已放弃总线控制已放弃总线控制 权,所有三态信号线均变为高阻状权,所有三态信号线均变为高阻状 态。态。35 T1 T2 T3 T4CLKHOLD HODAAD15AD0 , A19/S6A16/S3CPU放弃总线控制权三态WR,RD,如如DMA方式方式3680868087TESTBUSY+5V*8087Math. CO-Pr

22、ocessor TEST:测试信号,输入,测试信号,输入,低电平有效。低电平有效。l在多处理器环境中,例如具在多处理器环境中,例如具有协处理器有协处理器8087的系统中,的系统中,将将8087的的“BUSY”接至主处接至主处理器理器8088的的TEST,每当每当8088执行执行WAIT指令时,每指令时,每隔个时钟周期采样隔个时钟周期采样TEST信号,直至信号,直至TEST变为低电变为低电平,平,8088才脱离等待状态,才脱离等待状态,继续执行下一条指令。继续执行下一条指令。lTEST信号是为信号是为WAIT指令指令而设计的。而设计的。37其他信号CLK(clock):时钟引脚,输入。时钟引脚,

23、输入。8086/8088要求始要求始终的占空比为终的占空比为33%。8086/8088的标准时钟频率为的标准时钟频率为4.77MHZ。l VCC,+5V电源输入引脚。电源输入引脚。l GND,地线。,地线。388088在最小模式下的典型配置在最小模式下的典型配置 8284A地址总线(地址总线(20根)根)READYRESETALEA19 A8AD7AD0地址地址锁存储器锁存储器8282(三片)(三片)DENDT/RIO/MWRRDHOLDHLDAINTRINTACLK收发器收发器8286(一片)(一片)数据总线(数据总线(8根)根)控制总线控制总线READYRESET8088MN/MX+5VA

24、0 A19D0 D739地址锁存器地址锁存器8282 (74LS373)引脚及内部结构图引脚及内部结构图DQCLKDI0DO0STBOE。DI7DO7接接ALE接地接地40总线驱动器总线驱动器8286 (74LS245)引脚及内部结构图)引脚及内部结构图接接DENA0 B0。OET A1A7。 B1 B7。接接DT/R 8286128911121819 1 1418284A时钟发生器时钟发生器RESETREADYCLKOSCPCLKRESRDY1+5V等待电路等待电路14.31818MHZRESETREADYCLK14.318MHZ2.385MHZ8086/80884.77MHZ8284A42

25、8086最大模式下的典型配置最大模式下的典型配置 80868282锁存储器锁存储器(三片)(三片)8286收发器收发器(2片)片)8288总线总线控制器控制器READYRESET8284ARESETREADYBHE/A16A19AD0AD15S0/S1/S2/CLKMN/MX0DENDT/RA0 A19D0 D15ALESTBBHE/OE TMRDC/MWTC/IORC/IOWC/INTA/ALE。DEN。DT/R控制控制总线总线S0S1S2431234567891020191817161514131211IOBCLKS1DT/RALEAENMRDCAMWTCMWTCGNDVCCS0S2MCE

26、/PDENDENCENINTAIORCAIOWCIOWC8288引脚图引脚图地地AD14AD13AD12AD11AD10AD9AD8AD7AD6AD5AD4AD3AD2AD1AD0NMIINTRCLK地地Vcc(5V)AD15A16/S3A17/S4A18/S5A19/S6BHE/S7MN/MXRD (无功能)无功能)HOLD(RQ/GT0)HLDA(RQ/GT1)WR(LOCK)M/IO(S2)DT/R(S1)DEN(S0)ALE(QS0)INTA(QS1)TESTREADYRESET808644三、三、8088CPU的内部结构的内部结构l8088内部由两部分组成:内部由两部分组成: 执行单

27、元(执行单元(EU) 总线接口单元(总线接口单元(BIU)45 8086/8088微处理器结构微处理器结构 AH ALBH BLCH CLDH DLSPBPDISI通通 用用 寄寄 存存 器器AXBXCXDXALU数据总线(数据总线(16位)位)运算寄存器运算寄存器ALU标志寄存器标志寄存器EU 控控制电路制电路执行部件执行部件EUCSDSSSESIP内部暂存器内部暂存器1 2 3 4 5 6数据总线数据总线 输入输入/输输出出 控制控制电路电路地址总线地址总线20位位指令队列缓冲器指令队列缓冲器80888086Q总线总线(8位)位)指令指针指令指针段寄存器段寄存器外部外部总线总线总线接口部件

28、总线接口部件BIU地址加法器地址加法器46执行单元EUl功能功能: 执行指令执行指令 从指令队列中从指令队列中取指令代码取指令代码 译码译码 在在ALU中完成数据的运算中完成数据的运算 运算结果运算结果 的特征保存在标志寄存器的特征保存在标志寄存器FLAGS中。中。47执行单元EU组成 1、算术逻辑单元、算术逻辑单元ALU(运算器)运算器) 2、8个寄存器个寄存器 (1)数据寄存器()数据寄存器(AX,BX,CX,DX) (2)地址指针寄存器()地址指针寄存器(SP,BP) (3)变址寄存器()变址寄存器(SI,DI) 3、标志寄存器、标志寄存器FLAGS 4、EU部分控制电路部分控制电路48

29、总线接口单元BIUl功能:功能:l从内存中取从内存中取指令指令送入指令预取队列送入指令预取队列l负责与内存或输入负责与内存或输入/输出接口之间的输出接口之间的数据数据传送传送l在执行转移程序时,在执行转移程序时,BIU使指令预取队列使指令预取队列复位,从指定的新地址取指令,并立即传复位,从指定的新地址取指令,并立即传给执行单元执行给执行单元执行。49l组成:组成: 1、用于存放逻辑段的、用于存放逻辑段的段基地址寄存器段基地址寄存器。lCS:代码段代码段寄存器,用于存放指令代码寄存器,用于存放指令代码lDS:数据段数据段寄存器寄存器 lES:附加段附加段寄存器,寄存器,数据段和附加段用来存放数据

30、段和附加段用来存放 操作数操作数lSS:堆栈段堆栈段寄存器,用于存放返回地址,保存寄存器,用于存放返回地址,保存寄存器内容,传递参数等。寄存器内容,传递参数等。总线接口单元BIU组成组成502、IP:指令指针寄存器指令指针寄存器3、20位的地址加法器位的地址加法器4、字节(或字节)的指令队列、字节(或字节)的指令队列l特点:特点:1、具有流水线技术具有流水线技术,8086指令队列为指令队列为6字节,字节,8088为为4字节。字节。 2、地址加法器用来产生地址加法器用来产生20位地址位地址。因为。因为8086 有有20根地址线,可寻址根地址线,可寻址1M空间,但寄存器为空间,但寄存器为16位,所

31、以需要一个附加机构来根据位,所以需要一个附加机构来根据16位寄位寄存器提供的数据计算出存器提供的数据计算出20位的地址。位的地址。51l指令队列说明指令队列说明1、当、当8086指令队列有指令队列有2个字节,或者个字节,或者8088的指令队列的指令队列有有1个空字节时,个空字节时,BIU会自动把指令取到指令队列中。会自动把指令取到指令队列中。2、当、当EU准备执行一条指令准备执行一条指令时,会从时,会从BIU的指令队列的指令队列前部取出指令的代码,然后执行。前部取出指令的代码,然后执行。在在执行指令的过程执行指令的过程中,如果必须访问存储器或者中,如果必须访问存储器或者输入输出设备,输入输出设

32、备,EU就会就会请求请求BIU,进入总线周期,进入总线周期,完成访问内存或者输入输出端口的操作:完成访问内存或者输入输出端口的操作:l 如果如果BIU空闲,就会立即响应空闲,就会立即响应EU的总线请求。的总线请求。l 如果如果BIU正忙,正忙,BIU将首先完成当前总线周期,将首先完成当前总线周期,再去响应再去响应EU发出的访问总线的请求。发出的访问总线的请求。523、当指令队列已满,而且执行部件又没有、当指令队列已满,而且执行部件又没有 总线访问时,总线接口部件便进入总线访问时,总线接口部件便进入空闲状态空闲状态。、总线接口部件往指令队列、总线接口部件往指令队列装入指令装入指令时,总时,总是是

33、按顺序进行按顺序进行的。在执行的。在执行转移转移指令、指令、调用调用指令指令和和返回返回指令时,指令队列中己经装入的字节就指令时,指令队列中己经装入的字节就没用了,将被没用了,将被自动消除自动消除,总线接口部件会接着,总线接口部件会接着往指令队列中装入另一个程序段中的指令。往指令队列中装入另一个程序段中的指令。538088/8086的内部寄存器l含含14个个16位寄存器,按功能可分为:位寄存器,按功能可分为:l数据寄存器(数据寄存器(AX,BX,CX,DX)l地址指针寄存器(地址指针寄存器(SP,BP)l变址寄存器(变址寄存器(SI,DI)l8个通用寄存器l4个段寄存器l2个控制寄存器通用寄存

34、器与存储器的区别?54数据寄存器AX、BX、CX、DXl 8088含含4个个16位数据寄存器,它们又可分为位数据寄存器,它们又可分为8个个8位寄存器,即:位寄存器,即:l AX AH,ALl BX BH,BLl CX CH,CLl DX DH,DL常用来存放参与运算的操作数或运算结果常用来存放参与运算的操作数或运算结果55数据寄存器特有的习惯用法lAX:累加器累加器。多用于存放中间运算结果。所有。多用于存放中间运算结果。所有 I/O指令必须都通过指令必须都通过AX与接口传送信息;与接口传送信息;lBX:基址寄存器基址寄存器。在间接寻址中用于存放基地址;。在间接寻址中用于存放基地址;lCX:计数

35、寄存器计数寄存器。用于在。用于在循环循环或或串操作指令串操作指令中存中存 放循环次数或重复次数;放循环次数或重复次数;lDX:数据寄存器数据寄存器。在。在32位乘除法运算时,存放位乘除法运算时,存放 高高16位数;在间接寻址的位数;在间接寻址的I/O指令中存放指令中存放 I/O端口地址。端口地址。56地址指针寄存器lSP:堆栈指针寄存器堆栈指针寄存器,其内容为栈顶的,其内容为栈顶的 偏移地址;偏移地址;lBP:基址指针寄存器基址指针寄存器,常用于在访问内,常用于在访问内 存时存放内存单元的存时存放内存单元的偏移地址。偏移地址。57BX与BP在应用上的区别l作为通用寄存器,二者均可用于存放数据;

36、作为通用寄存器,二者均可用于存放数据;l作为基址寄存器,作为基址寄存器,BX通常用于寻址通常用于寻址数据数据段段;BP则通常用于寻址则通常用于寻址堆栈段堆栈段。lBX一般与一般与DS或或ES搭配使用;搭配使用; lBP一般与一般与SS搭配使用。搭配使用。58变址寄存器lSI:源变址寄存器源变址寄存器lDI:目标变址寄存器目标变址寄存器l变址寄存器常用于指令的间接寻址或变变址寄存器常用于指令的间接寻址或变址寻址。特别是在址寻址。特别是在串操作指令串操作指令中,用中,用SI存放源操作数的偏移地址,而用存放源操作数的偏移地址,而用DI存放存放目标操作数的偏移地址。目标操作数的偏移地址。59控制寄存器

37、FLAGS60l标志寄存器的格式及各位的含义标志寄存器的格式及各位的含义1514131211109876543210OFDFIFTFSFZFAFPFCF方向标志方向标志中断标志中断标志跟踪标志跟踪标志(Trace Flag)进位标志进位标志奇偶标志奇偶标志半进位标志半进位标志零标志零标志符号标志符号标志溢出标志溢出标志61l 零标志零标志ZF(Zero Flag):):若运算结果为若运算结果为0,则,则 ZF1;否则否则ZF0。l进位标志进位标志CF(Carry Flag):):若最高位有进若最高位有进(借借)位位,则则 CF1;否则否则CF0。l 奇偶标志奇偶标志PF(Parity Flag

38、):):若运算结果若运算结果中中“1”的个数为的个数为偶数偶数,则,则PF1;否则否则PF0。l 符号标志符号标志SF(Sign Flag):):与运算结果与运算结果的最高的最高位位相同,当数据用补码时,负数的最高位是相同,当数据用补码时,负数的最高位是1。l辅助进位标志辅助进位标志AF(Auxiliary carrry Flag): 也称也称“半进位标志半进位标志”,第3位向第4位有进(借)位; 则则 AF1;否则否则AF0。62l溢出标志溢出标志OF(Overflow Flag):):若运算过程若运算过程中发生了中发生了“溢出溢出”,则,则OF1。l定义:运算结果超出计算装置所能表示的范围

39、,定义:运算结果超出计算装置所能表示的范围,称为溢出。称为溢出。l判断方法之一判断方法之一【逻辑】:溢出最高位进位逻辑】:溢出最高位进位 次高位进位。次高位进位。63l中断标志中断标志IF(Interrupt Enable Flag):):如果如果IF置置“1”,则,则CPU可以接受可屏蔽中断请求;反之,可以接受可屏蔽中断请求;反之,则则CPU不能接受可屏蔽中断请求。不能接受可屏蔽中断请求。 指令系统中有两条专门的指令可以置指令系统中有两条专门的指令可以置“1”或或置置“0” IF标志位:标志位:lSTI 使使IF置置“1”,即开放中断。,即开放中断。lCLI 使使IF清清“0”,即关闭中断,

40、即关闭中断l方向标志方向标志DF(Direction Flag):用于串操作指令用于串操作指令中的地址增量修改(中的地址增量修改(DF0)还是减量修改(还是减量修改(DF1)。)。lSTD , CLD。l跟踪标志跟踪标志TF(Trace Flag):):若若TF1,则则CPU按按跟踪方式(单步方式)执行程序。跟踪方式(单步方式)执行程序。64四、存储器寻址l物理地址物理地址l8088:20根根地址线,可寻址地址线,可寻址220(1MB)个存储单元;个存储单元;lCPU送到送到AB上的上的20位位的地址的地址称为称为物理地址物理地址 。650 0 0 0段基地址(段基地址(16位)位)段首地址段

41、首地址 66l分段处理:分段处理:l“段基址段基址”存放在段寄存器存放在段寄存器CS、DS、SS和和ES中。中。“偏移量偏移量”存放在寄存器存放在寄存器IP或或SP 中中。l“段基址段基址”和和“偏移量偏移量” (均为(均为16位)构成存位)构成存储单元的储单元的逻辑地址(逻辑地址( ),),在程序在程序设计时,使用的是逻辑地址。设计时,使用的是逻辑地址。l逻辑地址可以逻辑地址可以转换转换为物理地址(或绝对地址或为物理地址(或绝对地址或有效地址有效地址EA)。)。方法如下:方法如下: 物理地址段基址物理地址段基址 16 + 偏移量偏移量67l 逻辑地址可以转换为物理地址(或绝对地逻辑地址可以转

42、换为物理地址(或绝对地 址或有效地址址或有效地址EA)。)。 物理地址段基址物理地址段基址X16 + 偏移量偏移量段基址段基址段内偏移段内偏移物理地址物理地址+16位位20位位000016位偏移量68段基值150偏移量150000030物理地址物理地址190逻辑地址逻辑地址物理地址物理地址段基址段基址 偏移量偏移量 地址加法器地址加法器15069段的起始地址段的起始地址偏移量偏移量要访问的单元要访问的单元段段70CPU的启动的启动复位后CS=FFFFH,IP=00000H,程序从FFFF0H处开始执行。FFFFFHFFFF0H 16个字节 FFFEFHLJMP 7172例 已知已知CS = 1

43、055H,DS = 250AH,ES = 2EF0H,SS = 8FF0H, DS段有一操作数,其偏移地址段有一操作数,其偏移地址=0204H, 1)画出各段在内存中的分布;画出各段在内存中的分布; 2)指出各段首地址;指出各段首地址; 3)该操作数的物理地址该操作数的物理地址=?10550H250A0H2EF00H8FF00HCSSS CSDSES解:解: 各段分布及段基址见右图。各段分布及段基址见右图。 操作数的物理地址为:操作数的物理地址为: 250AH10H+0204H = 252A4H7374堆栈及堆栈段的使用l内存中一个按内存中一个按FILO方式操作的特殊区域方式操作的特殊区域l每次压栈和退栈均以每次压栈和退栈均以WORD为单位为单位lSS存放堆栈段地址,存放堆栈段地址,SP存放段内偏移,存放段内偏移,SS:SP构成了堆栈指针构成了堆栈指针l堆栈用于存放返回地址、过程参数或需要堆栈用于存放返回地址、过程参数或需要保护的数据保护的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论