微型计算机原理与应用:第2章 微机系统中的微处理器

上传人:re****.1 文档编号:569520530 上传时间:2024-07-30 格式:PPT 页数:46 大小:732KB
返回 下载 相关 举报
微型计算机原理与应用:第2章 微机系统中的微处理器_第1页
第1页 / 共46页
微型计算机原理与应用:第2章 微机系统中的微处理器_第2页
第2页 / 共46页
微型计算机原理与应用:第2章 微机系统中的微处理器_第3页
第3页 / 共46页
微型计算机原理与应用:第2章 微机系统中的微处理器_第4页
第4页 / 共46页
微型计算机原理与应用:第2章 微机系统中的微处理器_第5页
第5页 / 共46页
点击查看更多>>
资源描述

《微型计算机原理与应用:第2章 微机系统中的微处理器》由会员分享,可在线阅读,更多相关《微型计算机原理与应用:第2章 微机系统中的微处理器(46页珍藏版)》请在金锄头文库上搜索。

1、河北大学河北大学.Hebei University河北大学河北大学第二章第二章 微机系统中的微处理器微机系统中的微处理器Intel 80X86Intel 80X86系列微处理器系列微处理器河北大学河北大学.Hebei University河北大学河北大学Intel 80X86Intel 80X86系列微处理器系列微处理器1616位结构的微处理器位结构的微处理器80868086: 内部内部1616位寄存器、外部位寄存器、外部1616位数据总线位数据总线 地址总线为地址总线为2020位(主存容量位(主存容量1MB1MB) 时钟频率时钟频率4.77MHz4.77MHz准准1616位微处理器位微处理器

2、80888088: 内部内部1616位寄存器、外部位寄存器、外部8 8位数据总线位数据总线 IBM PC/XT IBM PC/XT机使用机使用Intel 8088 CPUIntel 8088 CPU河北大学河北大学.Hebei University河北大学河北大学Intel 80X86Intel 80X86系列微处理器系列微处理器超级超级1616位微处理器位微处理器8028680286: 16 16位数据总线,位数据总线,2424位地址总线(位地址总线(16MB16MB主存)主存) 时钟频率时钟频率22MHz22MHz两种工作方式:两种工作方式: 实模式:与实模式:与80868086工作方式一

3、样。工作方式一样。 保护模式:提供保护模式:提供虚拟存储虚拟存储、保护机制保护机制和和多任务多任务管理的管理的 硬件支持。硬件支持。 IBM PC/AT IBM PC/AT机使用机使用Intel 80286 CPUIntel 80286 CPU河北大学河北大学.Hebei University河北大学河北大学Intel 80X86Intel 80X86系列微处理器系列微处理器3232位微处理器位微处理器8038680386数据总线数据总线3232位,地址总线位,地址总线3232位,可寻址位,可寻址4GB4GB主存主存三种工作方式:三种工作方式:实模式、保护模式实模式、保护模式虚拟虚拟80868

4、086方式:保护方式下的方式:保护方式下的80868086工作方式工作方式英特尔英特尔32位架构:位架构:IA-32(Intel Architecture-32)IA-32微处理器:微处理器:80386,80486,Pentium系列系列河北大学河北大学.Hebei University河北大学河北大学Intel 80X86Intel 80X86系列微处理器系列微处理器高性能高性能3232微处理器微处理器8048680486 相当于相当于 8048680486803868038680387803878KB Cache8KB Cache 1 1、协处理器、协处理器8038780387 : 协助协

5、助CPUCPU处理浮点数,在处理浮点数,在486486中叫浮点处理单元中叫浮点处理单元FPUFPU。2 2、高速缓冲存储器、高速缓冲存储器CacheCache: 微处理器与主存之间速度很快但容量较小的存储器,微处理器与主存之间速度很快但容量较小的存储器,用于提高整个存储器系统的存取速度。用于提高整个存储器系统的存取速度。 3 3、指令流水线技术:、指令流水线技术:指令执行划分成多个步骤在多个部件中独立地进行,这指令执行划分成多个步骤在多个部件中独立地进行,这样多条指令可以在不同的执行阶段同时进行样多条指令可以在不同的执行阶段同时进行执行执行执行执行执行执行执行执行译码译码译码译码译码译码译码译

6、码预取预取预取预取预取预取预取预取地址地址地址地址地址地址地址地址EUIUBUAU时间时间 t1 t2 t3 t4 t5 t6 t7河北大学河北大学.Hebei University河北大学河北大学Intel 80X86Intel 80X86系列微处理器系列微处理器俗称的俗称的8058680586微处理器,奔腾(微处理器,奔腾(pentiumpentium)微处理器)微处理器 CPUCPU内部仍是内部仍是3232位结构,位结构, 连接主存的外部数据总线却是连接主存的外部数据总线却是6464位位超标量(超标量(SuperscalarSuperscalar)技术)技术具有可以并行工作的具有可以并行

7、工作的2 2条整数处理流水线,条整数处理流水线,可以达到每个时钟周期执行可以达到每个时钟周期执行2 2条指令条指令双路高速缓冲结构双路高速缓冲结构8KB8KB代码高速缓冲存储器代码高速缓冲存储器8KB8KB数据高速缓冲存储器数据高速缓冲存储器河北大学河北大学.Hebei University河北大学河北大学Intel 80X86Intel 80X86系列微处理器系列微处理器Pentium ProPentium Pro,中文名称为,中文名称为“高能奔腾高能奔腾”两个芯片组成两个芯片组成CPUCPU和一级(和一级(L1L1)CacheCache(8KB8KB代码和代码和8KB8KB数据)数据)二级

8、(二级(L2L2)CacheCache(256KB256KB或或512KB512KB)扩展的超标量技术扩展的超标量技术1212级指令流水线级指令流水线能同时执行能同时执行3 3条指令条指令动态执行技术动态执行技术分支预测、数据流分析和推测执行分支预测、数据流分析和推测执行河北大学河北大学.Hebei University河北大学河北大学Intel 80X86Intel 80X86系列微处理器系列微处理器多媒体扩展指令(多媒体扩展指令(MMXMMX指令)指令)MMXMMX(MutliMedia eXtensionMutliMedia eXtension)整数运算多媒体指令整数运算多媒体指令对图像

9、、音频、视频和通信方面的程序进行优化对图像、音频、视频和通信方面的程序进行优化提升微机对多媒体的处理能力提升微机对多媒体的处理能力Pentium MMXPentium MMX(多能奔腾):(多能奔腾): MMXMMX指令应用于指令应用于PentiumPentium处理器处理器Pentium IIPentium II: MMXMMX指令应用于指令应用于Pentium ProPentium Pro河北大学河北大学.Hebei University河北大学河北大学Intel 80X86Intel 80X86系列微处理器系列微处理器单指令单数据单指令单数据SISDSISD 一条指令处理的数据是依次数序

10、处理的一条指令处理的数据是依次数序处理的单指令多数据单指令多数据SIMDSIMD表示一条指令具有同时处理多组数据的能力表示一条指令具有同时处理多组数据的能力数据流数据流SIMDSIMD扩展指令(扩展指令(SSESSE指令)指令)浮点单精度多媒体运算指令浮点单精度多媒体运算指令提高浮点提高浮点3D3D数据的处理能力数据的处理能力Pentium IIIPentium III: SSESSE指令应用于指令应用于Pentium IIIPentium III 河北大学河北大学.Hebei University河北大学河北大学Intel 80X86Intel 80X86系列微处理器系列微处理器 penti

11、um 4 pentium 4 2020级超流水线、级超流水线、L2L2达到达到1MB1MB NetBurst NetBurst的微结构(的微结构(MicroarchitectureMicroarchitecture) 指令级并行指令级并行ILPILP(Instruction-Level ParallelInstruction-Level Parallel)进一步发掘指令之间可以同时执行的能力进一步发掘指令之间可以同时执行的能力 超线程超线程HTHT(Hyper ThreadingHyper Threading)线程级并行线程级并行TLPTLP(Thread-Level ParallelThre

12、ad-Level Parallel)发掘程序中的并行性发掘程序中的并行性一个物理处理器被看成是两个逻辑处理器一个物理处理器被看成是两个逻辑处理器河北大学河北大学.Hebei University河北大学河北大学CeleronCeleron(赛扬)微处理器(赛扬)微处理器面向低端(低价位)面向低端(低价位)PCPC机机XeonXeon(至强)微处理器(至强)微处理器面向高端服务器、工作站面向高端服务器、工作站AMDAMD微处理器微处理器AMDAMD公司生产的公司生产的IA-32IA-32微处理器兼容芯片微处理器兼容芯片IntelIntel公司最主要的竞争对手公司最主要的竞争对手双核微处理器:单芯

13、片多处理器双核微处理器:单芯片多处理器SMPSMP技术技术IntelIntel的的Pentium DPentium D:单芯片双:单芯片双Pentium 4Pentium 4核心核心6464位微处理器位微处理器AMDAMD的的K8K8核心:兼容核心:兼容IA-32IA-32的的6464位微处理器位微处理器IntelIntel的的EM64TEM64T(IA-32IA-32的的6464位扩展):位扩展): XeonXeonIA-64IA-64架构:架构:itanium2(itanium2(安腾安腾) )河北大学河北大学.Hebei University河北大学河北大学第一节第一节 微处理器的内部结

14、构微处理器的内部结构80868086的内部结构及工作原理的内部结构及工作原理80868086的存储器分段的存储器分段80858085的内部结构及工作原理的内部结构及工作原理河北大学河北大学.Hebei University河北大学河北大学80858085的内部结构的内部结构 算术逻辑单元算术逻辑单元ALUALU: 计算机的运算器,完成二个计算机的运算器,完成二个8 8位二进制数的算术和逻辑位二进制数的算术和逻辑运算。运算。寄存器:寄存器: 高速存储单元,有高速存储单元,有8 8位数据寄存器和位数据寄存器和1616位专用寄存器。位专用寄存器。 指令处理单元指令处理单元 指令寄存器、指令译码器、时

15、序和控制逻辑指令寄存器、指令译码器、时序和控制逻辑总线控制总线控制 数据总线控制数据总线控制AD0-AD7AD0-AD7、地址总线控制、地址总线控制A8-A15A8-A15河北大学河北大学.Hebei University河北大学河北大学河北大学河北大学.Hebei University河北大学河北大学80868086的内部结构的内部结构 EU EU由算术逻辑单元由算术逻辑单元ALUALU、运算寄存器、标志寄存器、通用寄、运算寄存器、标志寄存器、通用寄存器组和存器组和EUEU控制器构成。控制器构成。 其任务是执行指令,进行全部的算术逻辑运算,完成偏移地其任务是执行指令,进行全部的算术逻辑运算,

16、完成偏移地址的计算,向址的计算,向BIUBIU提供指令执行的结果和偏移地址,并对通用提供指令执行的结果和偏移地址,并对通用寄存器和标志寄存器进行管理。寄存器和标志寄存器进行管理。 BIU BIU包括个段寄存器、指令指针包括个段寄存器、指令指针IPIP、指令队列寄存器、完、指令队列寄存器、完成与成与EUEU通讯的内部暂存器、地址加法器和总线控制逻辑。通讯的内部暂存器、地址加法器和总线控制逻辑。 BIUBIU的任务是完成的任务是完成CPUCPU与存储器和与存储器和I/OI/O设备之间信息的传送。设备之间信息的传送。具体地讲,就是取指令时,从存储器指定地址取出指令送入具体地讲,就是取指令时,从存储器

17、指定地址取出指令送入指令队列排队;执行指令时,根据指令队列排队;执行指令时,根据EUEU命令对指定存储单元或命令对指定存储单元或I/OI/O端口存取数据。端口存取数据。河北大学河北大学.Hebei University河北大学河北大学 AH ALBH BL CLCH DH DL SP BP DI SI 通通 用用 寄寄 存存 器器 CSDS SS ES I P内部暂存器内部暂存器总线总线控制控制逻辑逻辑 1 2 3 4 5 6 AX BX CX DX运算寄存器运算寄存器ALU标志寄存器标志寄存器 外部总线外部总线指令队列指令队列16 位位数据总线数据总线EU控制器控制器地址加法器地址加法器地址

18、总线(地址总线(20位)位)数据总线数据总线 段段寄寄存存器器指令指针指令指针(EU) (BIU)(16位)位)队列总线队列总线(8位)位)河北大学河北大学.Hebei University河北大学河北大学第二节第二节 微处理器的寄存器结构微处理器的寄存器结构80868086内部有内部有1414个个1616位的寄存器。位的寄存器。寄存器具有临时存储功能,暂存参与运算的数寄存器具有临时存储功能,暂存参与运算的数据、地址等,是机器指令的构成部分,是操作据、地址等,是机器指令的构成部分,是操作的主要载体。的主要载体。河北大学河北大学.Hebei University河北大学河北大学80868086的

19、寄存器结构的寄存器结构存取存取16位寄存器,高位寄存器,高16位不受影响位不受影响存取存取8位寄存器,位寄存器,16/32位寄存器其他位不受影响位寄存器其他位不受影响河北大学河北大学.Hebei University河北大学河北大学四个通用数据寄存器四个通用数据寄存器 通用数据寄存器在指令执行过程中既可用来寄存操作数,通用数据寄存器在指令执行过程中既可用来寄存操作数,也可用于寄存操作的结果。也可用于寄存操作的结果。 AX: AX: 累加器累加器 使用频率最高,用于算术、逻辑运算和输入输出。使用频率最高,用于算术、逻辑运算和输入输出。 MOV AX,BX MOV AX,BX ADD AX,40H

20、 ADD AX,40H MUL DL MUL DL OUT 21H,AL OUT 21H,AL BX: BX: 基址寄存器基址寄存器 存放数据,也可以存放内存地址。存放数据,也可以存放内存地址。 MOV AX,BX MOV AX,BX MOV AX,BX MOV AX,BX 河北大学河北大学.Hebei University河北大学河北大学 在指令执行过程中既可用来寄存操作数,也可用于寄存操在指令执行过程中既可用来寄存操作数,也可用于寄存操作的结果。作的结果。 CX:CX:计数器计数器 存放数据,也作为循环操作的隐含计数。存放数据,也作为循环操作的隐含计数。 MOV CX,10 MOV CX,

21、10 L1:ADD AL,40H L1:ADD AL,40H LOOP L1 LOOP L1 DX: DX: 数据寄存器数据寄存器 存放数据,也用于输入输出指令中表示端口地址。存放数据,也用于输入输出指令中表示端口地址。 ADD BX,DX ADD BX,DX OUT DX,AL OUT DX,AL 河北大学河北大学.Hebei University河北大学河北大学四个通用地址寄存器四个通用地址寄存器 通用地址寄存器在指令执行过程中用来寄存操作数地址,通用地址寄存器在指令执行过程中用来寄存操作数地址,也可用于寄存操作数。也可用于寄存操作数。 SI:SI:源变址寄存器源变址寄存器 用于存放数组的

22、源操作数地址,也可以存放数据。用于存放数组的源操作数地址,也可以存放数据。 ADD AX,SIADD AX,SI MOV SI,1000H MOV SI,1000H MOV BX,SI MOV BX,SI DI: DI: 目的变址寄存器目的变址寄存器 用于存放数组的目的操作数地址,也可以存放数据。用于存放数组的目的操作数地址,也可以存放数据。 ADD DI,SI ADD DI,SI MOV DI,BX MOV DI,BX MOV DI,AX MOV DI,AX 河北大学河北大学.Hebei University河北大学河北大学 通用地址寄存器在指令执行过程中用来寄存操作数地址,通用地址寄存器在

23、指令执行过程中用来寄存操作数地址,也可用于寄存操作数。也可用于寄存操作数。 BP:BP:基址指针基址指针 用于存放程序堆栈区的操作数地址,也可以存放数据。用于存放程序堆栈区的操作数地址,也可以存放数据。 MOV BP,1000H MOV BP,1000H MOV BX,BP MOV BX,BP SP: SP: 堆栈指针堆栈指针 用于存放堆栈区顶部的地址。用于存放堆栈区顶部的地址。 MOV AX,OFFSET DATA MOV AX,OFFSET DATA MOV SP,AX MOV SP,AX 堆栈是一个特殊的存储堆栈是一个特殊的存储区域,采用先进后出的操区域,采用先进后出的操作方式存取数据。

24、用于临作方式存取数据。用于临时保存数据,缓解寄存器时保存数据,缓解寄存器数量不足带来的不变。数量不足带来的不变。 堆栈区的段地址默认在堆栈区的段地址默认在SS中,栈顶的偏移地址默中,栈顶的偏移地址默认在认在SP中。中。河北大学河北大学.Hebei University河北大学河北大学四个段寄存器四个段寄存器 段地址寄存器专用于存放各种段的段首地址。段地址寄存器专用于存放各种段的段首地址。 有四类逻辑段:代码段、数据段、堆栈段和附加数据段。有四类逻辑段:代码段、数据段、堆栈段和附加数据段。 程序设计时,段的种类和每类数量不限,至少一个代码段。程序设计时,段的种类和每类数量不限,至少一个代码段。

25、CS:CS:代码段代码段 存放程序的指令代码。存放程序的指令代码。 DS:DS:数据段数据段 存放当前运行程序所需要的数据。大多数指令中默认。存放当前运行程序所需要的数据。大多数指令中默认。 SS:SS:堆栈段堆栈段 堆栈所在区域。堆栈所在区域。 ES:ES:附加数据段附加数据段 存放数据,特别时串操作指令必须用其作目的数据区。存放数据,特别时串操作指令必须用其作目的数据区。MOV AX,BXMOV DX,BXMOV BX,SIMOV CX,DIMOV AX,DS:BXMOV BX,ES:SIMOV SS:BX,AXMOV AX,BPMOV CX,SS:BPMOV DX,DS:BP体会逻辑地址

26、的表体会逻辑地址的表示规则与数据的默示规则与数据的默认段认段河北大学河北大学.Hebei University河北大学河北大学两个控制寄存器两个控制寄存器指令指针指令指针IPIP(1616位)位) 程序由指令组成,指令存放在主存储器中。微处理器需要一程序由指令组成,指令存放在主存储器中。微处理器需要一个专用寄存器表示将要执行的指令在主存中的位置。个专用寄存器表示将要执行的指令在主存中的位置。 CS:IPCS:IP 指令指针指令指针IPIP存放指令代码在主存代码段中的偏移地址。存放指令代码在主存代码段中的偏移地址。 CS CS和和IPIP中的值由计算机自动设置或用专用指令更改。中的值由计算机自动

27、设置或用专用指令更改。标志寄存器标志寄存器Flag(16Flag(16位位) ) 用于反映指令执行结果或控制指令执行形式。用于反映指令执行结果或控制指令执行形式。 包括包括6 6个状态标志位和个状态标志位和3 3个控制标志位。个控制标志位。 河北大学河北大学.Hebei University河北大学河北大学进位标志进位标志CFCF 当加减运算结果的最高位有有效进位或借位时,当加减运算结果的最高位有有效进位或借位时,CF=1CF=1。奇偶标志奇偶标志PFPF 当运算结果最低字节中当运算结果最低字节中“1 1”的个数为的个数为0 0或偶数时,或偶数时,PF=1PF=1。辅助进位标志辅助进位标志AF

28、AF 当加减运算时低半字节有进位或借位时,当加减运算时低半字节有进位或借位时,AF=1AF=1。零标志零标志ZFZF 运算结果为运算结果为0 0时,时,ZF=1.ZF=1.符号标志符号标志SFSF 运算结果的最高位(有符号数的符号位)为运算结果的最高位(有符号数的符号位)为1 1时,时,SF=1SF=1。溢出标志溢出标志OFOF 有符号数加减运算的结果有溢出,有符号数加减运算的结果有溢出,OF=1OF=1。 河北大学河北大学.Hebei University河北大学河北大学控制标志位控制标志位方向标志方向标志DFDF:可用指令预置。当:可用指令预置。当DFDF0 0时,执行串操作指时,执行串操

29、作指令,变址寄存器地址自动递增;当令,变址寄存器地址自动递增;当DFDF1 1时,则变址寄存器时,则变址寄存器地址自动递减。该标志位可以控制地址朝增大的方向或减地址自动递减。该标志位可以控制地址朝增大的方向或减小的方向改变。小的方向改变。中断允许标志中断允许标志IFIF:可用指令预置。当:可用指令预置。当IFIF1 1,CPUCPU可响应可可响应可屏蔽中断请求;若屏蔽中断请求;若IFIF0 0,CPUCPU不响应可屏蔽中断请求。不响应可屏蔽中断请求。陷阱标志陷阱标志TFTF:若:若TFTF1 1,则,则CPUCPU处于单步执行指令的工作方处于单步执行指令的工作方式。每执行一步就自动产生一次类型

30、式。每执行一步就自动产生一次类型1 1的内部中断。的内部中断。河北大学河北大学.Hebei University河北大学河北大学1 1、存储器地址空间和数据存储格式、存储器地址空间和数据存储格式 存储单元地址存储单元地址 :80868086系统中,为了标识和存取每一个存储系统中,为了标识和存取每一个存储单元,给每个存储单元规定一个编号,这就是存储单元地址。单元,给每个存储单元规定一个编号,这就是存储单元地址。 80868086的存储器以字节为基本的存储单元,每个字节对应一的存储器以字节为基本的存储单元,每个字节对应一个唯一的地址,地址范围为个唯一的地址,地址范围为00000H00000HFFF

31、FFHFFFFFH。 字:字:连续的两个字节构成,高字节存放在高地址,低字节连续的两个字节构成,高字节存放在高地址,低字节存放在低地址,其中低字节的地址为字的地址。存放在低地址,其中低字节的地址为字的地址。 对准字对准字:字的地址为偶地址。访问时需要一个总线周期。:字的地址为偶地址。访问时需要一个总线周期。 未对准字未对准字:字的地址为奇地址。访问需要两个总线周期:字的地址为奇地址。访问需要两个总线周期(CPU(CPU自动完成自动完成) ) 。第三节第三节 80868086的存储器组织的存储器组织河北大学河北大学.Hebei University河北大学河北大学76 5 4 3 2 1 0 7

32、 6 5 4 3 2 1 01514 13 12 11 10 9 8 7 6 5 4 3 2 1 0位号位号地址地址N+1地址地址N(高字节高字节)(低字节低字节)字地址字地址河北大学河北大学.Hebei University河北大学河北大学存储器的地址存储器的地址十六进制地址二进制地址存储器十六进制地址二进制地址存储器00000 0000 0000 0000 0000 000000001 0000 0000 0000 0000 000100002 0000 0000 0000 0000 001000003 0000 0000 0000 0000 0011FFFFE 1111 1111 111

33、1 1111 1110FFFFF 1111 1111 1111 1111 1111 河北大学河北大学.Hebei University河北大学河北大学80868086的存储器分段的存储器分段 物理地址:物理地址: 内存单元的实际地址,用内存单元的实际地址,用2020位的二进制地址(位的二进制地址(A0-A19A0-A19)表示。表示。8086CPU8086CPU内部的地址寄存器都是内部的地址寄存器都是1616位的。位的。 如何用如何用1616位的地址寻址位的地址寻址1MB1MB的内存空间?的内存空间?1.1. 地址分段访问。地址分段访问。2.2. 用户在程序指令中使用用户在程序指令中使用逻辑地

34、址逻辑地址。 段地址(段地址(1616位):偏移地址(位):偏移地址(1616位)位)河北大学河北大学.Hebei University河北大学河北大学80868086的存储器分段的存储器分段 根据要求可把根据要求可把1M1M字节地址空间划成若干逻辑段。每个逻字节地址空间划成若干逻辑段。每个逻辑段必须满足两个条件:一是逻辑段的起始地址(简称段首辑段必须满足两个条件:一是逻辑段的起始地址(简称段首址)必须是址)必须是1616的倍数;二是逻辑段的最大长度为的倍数;二是逻辑段的最大长度为64K64K。按照。按照这两个条件,这两个条件,1M1M字节地址空间最多可划分成字节地址空间最多可划分成64K64

35、K个逻辑段,个逻辑段,最少也要划分成最少也要划分成1616个逻辑段。逻辑段与逻辑段可以相连,也个逻辑段。逻辑段与逻辑段可以相连,也可以不连,还可以重叠。可以不连,还可以重叠。X X X X X X X X X X X X X X X X0 0 0 020位地位地址址16位段地址位段地址河北大学河北大学.Hebei University河北大学河北大学 物理地址物理地址:存储单元的实际地址编码,指令中不出现。:存储单元的实际地址编码,指令中不出现。 逻辑地址逻辑地址:段地址:段地址: :偏移地址偏移地址 物理地址段地址物理地址段地址10H10H偏移地址偏移地址 8086 8086中的中的BIUB

36、IU单元的加法器单元的加法器用来完成物理地址的计算。用来完成物理地址的计算。 段地址:段地址: 在在80868086中,当把中,当把1MB1MB的存储器空间划分为若干个逻辑段之后,的存储器空间划分为若干个逻辑段之后,用一个段的起始单元地址中的高用一个段的起始单元地址中的高1616位。位。 偏移地址:偏移地址: 段内任何一个存储单元的地址可用相对于段起始地址的一个段内任何一个存储单元的地址可用相对于段起始地址的一个偏移量来表示偏移量来表示。 例如例如80008000:01000100表示段地址为表示段地址为8000H8000H,偏移地址为,偏移地址为0100H0100H,因,因此物理地址为此物理

37、地址为80100H80100H。 80868086的存储器分段的存储器分段河北大学河北大学.Hebei University河北大学河北大学第五节第五节 80868086的寻址方式的寻址方式80868086的数据寻址方式的数据寻址方式80868086的地址寻址方式的地址寻址方式河北大学河北大学.Hebei University河北大学河北大学80868086的数据寻址方式的数据寻址方式数据寻址方式:通过地址查找数据(操作数)数据寻址方式:通过地址查找数据(操作数)立即寻址:数据与指令操作码一起,对应常量立即寻址:数据与指令操作码一起,对应常量寄存器寻址:数据在寄存器中,用寄存器名表示寄存器寻址

38、:数据在寄存器中,用寄存器名表示存储器寻址:数据在内存中,用内存地址代表,对应变量存储器寻址:数据在内存中,用内存地址代表,对应变量河北大学河北大学.Hebei University河北大学河北大学立即寻址立即寻址操作数紧跟操作码,是指令机器代码的一部分操作数紧跟操作码,是指令机器代码的一部分 操作数从指令代码中立即得到,即立即数,用常量形式操作数从指令代码中立即得到,即立即数,用常量形式直接表达。直接表达。 立即数寻址方式只用于源操作数,常用来给寄存器和存立即数寻址方式只用于源操作数,常用来给寄存器和存储单元赋值。储单元赋值。例如:例如:MOV AX,0102HMOV AX,0102H机器代

39、码:机器代码:B8 02 01B8 02 01操作码:操作码:B8B8立即数:立即数:01020102河北大学河北大学.Hebei University河北大学河北大学操作数紧跟操作码,是指令机器代码的一部分操作数从指令代码中立即得到,即立即数(Immediate),用常量形式直接表达立即数寻址方式只用于源操作数,常用来给寄存器和存储单元赋值例如:MOV AX,0102H机器代码:B8 02 01操作码:B8立即数:0102立即数寻址立即数寻址河北大学河北大学.Hebei University河北大学河北大学操作数存放在处理器的内部寄存器中操作数存放在处理器的内部寄存器中用寄存器名表示它的内容

40、用寄存器名表示它的内容绝大多数指令采用通用寄存器寻址绝大多数指令采用通用寄存器寻址部分指令支持专用寄存器,例如段寄存器部分指令支持专用寄存器,例如段寄存器寄存器寻址方式简单快捷,既可以用于源操作数,也可以用寄存器寻址方式简单快捷,既可以用于源操作数,也可以用于目的操作数,最常使用于目的操作数,最常使用8位通用寄存器:位通用寄存器:AH AL BH BL 16位通用寄存器:位通用寄存器:AX BX CX DX 32位通用寄存器:位通用寄存器:EAX EBX ECX EDX 段寄存器:段寄存器:CS DS SS ES 寄存器寻址寄存器寻址河北大学河北大学.Hebei University河北大学河

41、北大学存储器寻址存储器寻址操作数在主存中操作数在主存中编程时主存使用逻辑地址:段地址和偏移地址编程时主存使用逻辑地址:段地址和偏移地址段地址可以使用默认逻辑段,不用显式说明段地址可以使用默认逻辑段,不用显式说明一般是一般是DSDS指向数据段指向数据段采用采用BPBP或或SPSP作为基地址时,默认作为基地址时,默认SSSS指向堆栈段指向堆栈段段地址必要时使用段地址前缀显式说明段地址必要时使用段地址前缀显式说明 段寄存器名后跟英文冒号段寄存器名后跟英文冒号 CS DS SS ES CS DS SS ES存储器寻址的种类:存储器寻址的种类: 直接寻址、寄存器间接寻址、寄存器相对寻址、寄存器基直接寻址

42、、寄存器间接寻址、寄存器相对寻址、寄存器基址变址寻址、寄存器基址变址相对寻址址变址寻址、寄存器基址变址相对寻址河北大学河北大学.Hebei University河北大学河北大学存储器直接寻址存储器直接寻址有效地址只有位移量,直接包含在指令代码中有效地址只有位移量,直接包含在指令代码中例如:例如: MOV AX, DS:2000HMOV AX, DS:2000H指令代码:指令代码:A1 00 20A1 00 20操作码:操作码:A1A1操作数:有效地址操作数:有效地址 20002000例如:例如: MOV AX, DATA1MOV AX, DATA1指令代码:指令代码:A1 34 12A1 34

43、 12操作码:操作码:A1A1操作数:变量在主存的有效地址操作数:变量在主存的有效地址 12341234主存操作数常通过变量形式引用主存操作数常通过变量形式引用一般不需要使用段地址前缀一般不需要使用段地址前缀河北大学河北大学.Hebei University河北大学河北大学主存操作数常通过变量形式引用主存操作数常通过变量形式引用一般不需要使用段超越前缀指令一般不需要使用段超越前缀指令河北大学河北大学.Hebei University河北大学河北大学寄存器间接寻址寄存器间接寻址有效地址存放在寄存器中有效地址存放在寄存器中( (寄存器内容偏移地址寄存器内容偏移地址) )1616位有效地址只能使用位

44、有效地址只能使用BXBX、SISI和和DIDImov al,bxmov al,bx ; ;字节量传送字节量传送,1616位有效地址位有效地址mov ax,simov ax,si; ;字量传送字量传送,1616位有效地址位有效地址mov word ptr bp,1234hmov word ptr bp,1234h ; ;字量传送字量传送,1616位有效地址位有效地址用中括号括起寄存器寄存器间接寻址用中括号括起寄存器寄存器间接寻址寄存器间接寻址没有说明存储单元类型寄存器间接寻址没有说明存储单元类型河北大学河北大学.Hebei University河北大学河北大学寄存器相对寻址寄存器相对寻址有效地址

45、是寄存器内容与位移量之和有效地址是寄存器内容与位移量之和mov ax,di+06hmov ax,di+06h;AXDS:DI+06H;AXDS:DI+06H寄存器:寄存器:DIDI位移量:位移量:06H06H有效地址:有效地址:EAEADIDI06H06Hmov ax,bp-06hmov ax,bp-06h;AXSS:EBP-06H;AXSS:EBP-06H使用使用BPBP寄存器,默认配合寄存器,默认配合SSSS段寄存器段寄存器河北大学河北大学.Hebei University河北大学河北大学基址变址寻址基址变址寻址有效地址基址寄存器变址寄存器有效地址基址寄存器变址寄存器便于支持一维数组等数据

46、结构便于支持一维数组等数据结构mov ax,bx+simov ax,bx+si;AXDS:BX+SI;AXDS:BX+SImov ax,bp+dimov ax,bp+di;AXSS:BP+DI;AXSS:BP+DImov ds:bp+si,almov ds:bp+si,al;DS:BP+DIAL;DS:BP+DIALmov word ptr bx+si,0885hmov word ptr bx+si,0885h;DS:BX+SI0885H;DS:BX+SI0885H河北大学河北大学.Hebei University河北大学河北大学相对基址变址寻址相对基址变址寻址便于支持两维数组等数据结构便于支

47、持两维数组等数据结构有效地址基址寄存器变址寄存器位移量有效地址基址寄存器变址寄存器位移量mov ax,bx+si+06hmov ax,bx+si+06h;AXDS:BX+SI+06H;AXDS:BX+SI+06H允许两个寄存器都用中括号,位移量在中括号前允许两个寄存器都用中括号,位移量在中括号前mov ax,06hbx+simov ax,06hbx+si;AXDS:BX+SI+06H;AXDS:BX+SI+06Hmov ax,06hbxsimov ax,06hbxsi;AXDS:BX+SI+06H;AXDS:BX+SI+06H河北大学河北大学.Hebei University河北大学河北大学8

48、0868086的地址寻址方式的地址寻址方式地址寻址方式:程序转移时的目的地址表示法地址寻址方式:程序转移时的目的地址表示法段内直接寻址:转移的目的地址与当前指令在同一个段,段内直接寻址:转移的目的地址与当前指令在同一个段,通常用目的地址标号表示。通常用目的地址标号表示。JMP MAINJMP MAIN段内间接寻址:转移的目的地址与当前指令在同一个段,段内间接寻址:转移的目的地址与当前指令在同一个段,通常用一个通常用一个1616位的地址表示目的地址。位的地址表示目的地址。JMP BXJMP BX段间直接寻址:目的地址与当前指令不在同一个段,通常段间直接寻址:目的地址与当前指令不在同一个段,通常用目的地址标号表示。用目的地址标号表示。JMP FAR PTR MAIN1JMP FAR PTR MAIN1段间间接寻址:目的地址与当前指令不在同一个段,通常段间间接寻址:目的地址与当前指令不在同一个段,通常用一个用一个3232位的地址表示目的地址。位的地址表示目的地址。JMP DWORD PTR DATA1JMP DWORD PTR DATA1

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号