第6章微处理器的编程结构

上传人:ldj****22 文档编号:48691380 上传时间:2018-07-19 格式:PPT 页数:99 大小:1.46MB
返回 下载 相关 举报
第6章微处理器的编程结构_第1页
第1页 / 共99页
第6章微处理器的编程结构_第2页
第2页 / 共99页
第6章微处理器的编程结构_第3页
第3页 / 共99页
第6章微处理器的编程结构_第4页
第4页 / 共99页
第6章微处理器的编程结构_第5页
第5页 / 共99页
点击查看更多>>
资源描述

《第6章微处理器的编程结构》由会员分享,可在线阅读,更多相关《第6章微处理器的编程结构(99页珍藏版)》请在金锄头文库上搜索。

1、 第6章 微处理器的编程结构6.1 引言nMoore定律: “晶体管的大小将以指数速率变小,而集成到 芯片上的晶体管数目将23年【1824个月 】翻一番。” Gordon Moore,1965n* Gordon MooreIntel公司的创始人,著 名半导体科学家。1978年 8086 2.9万 (3万)n11982年 80286 13.5万n11985年 80386 32万n11990年 80486 120万n11993年 Pentium 320万n11996年 Pentium Pro 550万n11997年2月 Pentium II 750万,300MHzn11999年 Pentium I

2、II n22000年(4季度) Pentium IV 4200万,1.4GHz(0.18um工艺)nBBill Gates在未来之路中曾提到, 假若Moore定律能再持续20年n其“微电子器件的发展速度预计一直到21 世纪前期仍将遵循摩尔定律”n* * 此外,人们也在关心其他新型技术,如 激光计算机、量子计算机等新技术的发展。n从 *在计算机结构及信息理论方面,“非冯结 构”- (神经网络仿人脑的思维和记忆模型), 更便于处理某些智能型问题。4004 微处理器(1971,2250晶体管, 4.2mmx3.2mm,构成世界上第一台微型计算机 )8008微处理器(1973 ,3500 晶体管 )8

3、080微处理器(1974,4900晶体管)8086微处理器 (1978,2.9万晶体管 )80286微处理器(1982,13.5万晶体管)80386微处理器(1985,32万晶体管 )80486 微处理器(1990,120万晶体管)Pentium 微处理器(1993,320万晶体管 )Pentium 4微处理器(2000,4200万晶体 管)P4微处理器处理器新革命ITANIUM(安滕)IA-64架 构处理器ITANIUM 2 (2.14亿晶体管,1GHZ主频,0.18微米线宽, 328个寄存器,8级流水,系统总线宽度128位,片内三级 高速缓存-32KB,256KB,3MB,参见P707)6

4、.2 微处理器的工作模式n(1)实模式n(2)保护模式n(3)虚拟8086模式6.2.1 实模式 80286以上的微处理器所采用的8086的工作模式。 在实模式下,采用类似于8086的体系结构,其寻址 机制、中断处理机制均和8086相同; 物理地址的形成也同8086一样:将段寄存器的内容 左移四位再与偏移地址相加。 寻址空间为1MB,并采用分段方式,每段大小为 64KB(216); 此外,在实模式下,存储器中保留两个专用区域, 一个为初始化程序区:FFFF0HFFFFFH,存放进入 ROM引导程序的一条跳转指令; 另一个为中断向量表区:00000H003FFH,在这 1K字节的存储空间中存放2

5、56个中断服务程序的入 口地址,每个入口地址占4个字节,这与8086的情形 相同。 实模式是80x86处理器在加电或复位后立即出现的工 作方式,即使是想让系统运行在保护模式,系统初 始化或引导程序也需要在实模式下运行,以便为保 护模式所需要的数据结构做好各种配置和准备。 实模式是为建立保护式做准备的工作模式。6.2.2 保护模式 保护模式是支持多任务的工作模式。 它提供了一系列的保护机制,如任务地址空间的隔 离,设置特权级(03共4个特权级),设置特权指令 ,进行访问权限(如只读、只执行)及段限检查等。n80386以上的微处理器在保护模式下可以访问4G字 节的物理存储空间,段的长度在启动分页功

6、能时是 4G字节,不启动分页功能时是1M字节,分页功能是 可选的。n在这种方式下,可以引入虚拟存储器的概念,以扩 充编程者所使用的地址空间。n6.2.3 虚拟8086模式 虚拟8086模式又称“V86模式”。 它是既有保护功能又能执行8086代码的工作模式,是 一种动态工作模式。 在这种工作模式下,处理器能够迅速、反复进行V86模 式和保护模式之间的切换,从保护模式进入V86模式执 行8086程序,然后离开V86模式,进入保护模式继续执 行原来的保护模式程序。保护模式实模式虚拟8086 模式复位复位复位复位PE=1PE=0作业切换 中断返回中断、异常图注:(1) PE保护模式允许,是80x86

7、控制寄存器CR0的一位(2) 异常80286以上的处理器中,称“内部中断”为异常(exception) 图6.2 三种工作模式的转换6.3 微处理器的编程结构 所谓微处理器的编程结构,即是在编程人员眼中看 到的微处理器的软件结构模型。 软件结构模型便于人们从软件的视角去了解计算机 系统的操作和运行。 从这一点上说,程序员可以不必知道微处理器内部 极其复杂的电路结构、电气连接或开关特性,也不 需要知道各个引脚上的信号功能和动作过程。 对于编程人员来说,重要的是要了解微处理器所包 含的各种寄存器的功能、操作和限制,以及在程序 设计中如何使用它们。 进一步,需要知道外部的存储器是如何组织的,处 理器

8、如何从存储器中取得指令和数据。n6.3.1 程序可见寄存器 程序可见(program visible)寄存器,是指在应用 程序设计时可以直接访问的寄存器。 程序不可见(program invisible)寄存器是指在应用 程序设计时不能直接访问,但在进行系统程序设计( 如编写操作系统软件)时可以被间接引用或通过特权 指令才能访问的寄存器。 在80x86微处理器系列中,通常在80286及其以上的 微处理器中才包含程序不可见寄存器,主要用于保 护模式下存储系统的管理和控制。6.3.2 80x86/Pentium处理器的寄存 器模型 图6.3给出了80x86/Pentium微处理器的寄存器模型 。它

9、实际上是一个呈现在编程者面前的寄存器集合 ,所以也称微处理器的编程结构。GSFSSSESDSCSFLAGSIPDISIBPSPDLCLBLALDHCHBHAHEDXECXEBXEAXEDIESIEBPESPEFLAGSEIP31150DXCXBXAX图6.3 80x86/Pentium处理器的寄存器模型 白色区域:8086/8088,80286所具有的;阴影区域:80386,80486及Pentium新增加的。1. 通用寄存器n通用寄存器也称多功能寄存器,在图6.3所示的寄存 器模型中,共有8个通用寄存器,按它们的功能差别 ,又可分为两组,即:“通用数据寄存器”及“指针寄 存器和变址寄存器”。

10、n(1)通用数据寄存器n 通用数据寄存器用来存放8位、16位或32位的操作 数。大多数算术运算和逻辑运算指令都可以使用这 些寄存器。共有4个通用数据寄存器,它们是EAX、 EBX、ECX和EDX。nEAX(Accumulator,累加器):EAX可以作为32位 寄存器(EAX)、16位寄存器(AX)或8位寄存器(AH或 AL)引用。n如果作为8位或16位寄存器引用,则只改变32位寄存 器的一部分,其余部分不受影响。当累加器用于乘 法、除法及一些调整指令时,它具有专门的用途, 但通常仍称之为通用寄存器。n在80386及更高型号的微处理器中,EAX寄存器也可 以用来存放访问存储单元的偏移地址。nE

11、BX(Base,基址):EBX是个通用寄存器,它可以 作为32位寄存器(EBX)、16位寄存器(BX)或8位寄存 器(BH或BL)引用。n在80x86系列的各种型号微处理器中,均可以用BX存 放访问存储单元的偏移地址。n在80386及更高型号的微处理器中,EBX也可以用于 存放访问存储单元的偏移地址。nECX(Count,计数):ECX是个通用寄存器,它可以 作为32位寄存器(ECX)、16位寄存器(CX)或8位寄存 器(CH或CL)引用。nECX可用来作为多种指令的计数值。用于计数的指令 是重复的串操作指令、移位指令、循环移位指令和 LOOP/LOOPD指令。n移位和循环移位指令用CL计数,

12、重复的串操作指令 用CX计数,LOOP/LOOPD指令用CX或ECX计数。n在80386及更高型号的微处理器中,ECX也可用来存 放访问存储单元的偏移地址。nEDX(Data,数据):EDX是个通用寄存器,用于保 存乘法运算产生的部分积,或除法运算之前的部分 被除数。n对于80386及更高型号的微处理器,这个寄存器也可 用来寻址存储器数据。(2) 指针寄存器和变址寄存器n这是另外4个通用寄存器,分别是:堆栈指针寄存器 ESP、基址指针寄存器EBP、源变址寄存器ESI和目 的变址寄存器EDI。nESP(Stack Pointer,堆栈指针):ESP寻址一个称 为堆栈的存储区。通过这个指针存取堆栈

13、存储器数 据。n这个寄存器作为16位寄存器引用时,为SP;作为32 位寄存器引用时,则为ESP。nEBP(Base Pointer,基址指针):EBP用来存放访 问堆栈段的一个数据区的“基地址”。它作为16位寄存 器引用时,为BP;作为32位寄存器引用时,则是 EBP。nESI(Source Index,源变址):ESI用于寻址串操作 指令的源数据串。它的另一个功能是作为32位(ESI) 或16位(SI)的数据寄存器使用。nEDI(Destination Index,目的变址):EDI用于寻 址串操作指令的目的数据串。如同ESI一样,EDI也 可用为32位(EDI)或16位(DI)的数据寄存器

14、使用。2. 指令指针寄存器EIP(Instruction Pointer)nEIP是一个专用寄存器,用于寻址当前需要取出的指 令字节。当CPU从内存中取出一个指令字节后,EIP 就自动加1,指向下一指令字节。n当微处理器工作在实模式下时,这个寄存器为IP(16 位);当80386及更高型号的微处理器工作于保护模 式下时,则是EIP(32位)。n程序员不能对EIP/IP进行存取操作。程序中的转移 指令、返回指令以及中断处理能对EIP/IP进行操作。3. 标志寄存器EFLAGSnEFLAGS用于指示微处理器的状态并控制它的操作。 图6.4展示了80x86/Pentium系列所有型号微处理器 的标志

15、寄存器的情况。n早期的8086/8088微处理器的标志寄存器FLAG为16 位,且只定义了其中的9位;n80286微处理器虽然仍为16位的标志寄存器,但定义 的标志位已从原来的9位增加到12位(新增加了3个标 志位); n80386及更高型号的微处理器则采用32位的标志寄存 器EFLAGS,所定义的标志位也有相应的扩充。.ID VIPVIF AC VM RFNTIOPODAPC31 21 20 19 18 17 16 15 14 13 12 11 10 98765432101IOP 0ITSZPentium / Pentium II80486SX / 80486DX80386DX802868086 / 8088图6.4 80x86 / Pentium 全系列微处理器的标志寄存器 8086/8088系统中所定义的9个标志位O、D、I 、T、S、Z、A、P、C,这也是实模式下 80x86/Pentium系列微处理器所使用的标志位。 在这9个标志位中,有6位(即CF、PF、AF、ZF、SF 和OF)为状态标志;其余3位(即TF、IF和DF)为控制 标志。 状态标志反映微处理器的工作状态,如执行加法运 算时是否产生进位,执行减法运算时是否产生借位 ,运算结果是否为零等; 控制标志对微处理器

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

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