资源预览内容
第1页 / 共40页
第2页 / 共40页
第3页 / 共40页
第4页 / 共40页
第5页 / 共40页
第6页 / 共40页
第7页 / 共40页
第8页 / 共40页
第9页 / 共40页
第10页 / 共40页
亲,该文档总共40页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第2章 80X86微处理器,教材: 第2章 80X86微处理器,1. 位和字节 位(bit)是计算机所能表示的最小最基本的数据单位,它指的 是取值只能为0或1的一个二进制数值位。位作为单位时记作b 字节(byte)由8个位二进制位组成,通常用作计算存储容量的 单位。字节作为单位时记作B K是kelo的缩写, 1K=1024=210; M是mega的缩写,1M=1024K=220; G是Giga的缩写, 1G=1024M=230; T是tera的缩写, 1T=1024G=240。,微型计算机的常用术语,10000101,2. 字长(数据宽度) 字长是微处理器一次可以直接处理的二进制数码的位数,它通常取 决于微处理器内部通用寄存器的位数和数据总线的宽度。微处理 器的字长有4位、8位、16位、32位和64位等等。,微型计算机的常用术语,3. 寻址能力 指CPU能直接存取数据的内存地址的范围,它由CPU的地址总线的数 目决定。,4. 主频 主频也叫时钟频率,用来表示微处理器的运行速度,主频越高 表明微处理器运行越快,主频的单位是MHz。,微型计算机的常用术语,5. MIPS MIPS是Millions of Instruction Per Second的缩写,用来表示微处理器的性能-运算速度,每秒钟能执行多少百万条指令. 6.微处理器的集成度 指微处理器芯片上集成的晶体管的密度。 最早Intel 4004的集成度为2250个晶体管,Pentium III的集成度已 经达到750万个晶体管以上,集成度提高了3000多倍。,80X86 CPU介绍,微处理器的基本功能模块:,总线接口单元 BIU (寄存器组) 执行单元 EU (运算器和控制器、寄存器组),微处理器内部结构,存储管理(分段和分页部件) 指令和数据流水线 指令和数据CACHE 指令预取 浮点处理 分支预测 并行计算 ,微处理器的功能扩展模块:,Pentium 采用了多项先进技术: CISC和RISC相结合的技术 超标量流水线技术 分支预测技术,RISC和CISC: RISC(Reduced Instruction Set Computer),精简指令系统的计算机 提供数目较少、格式与功能简单、运行高效的指令 追求的是计算机控制器实现简单,运行高速,更容易在单块超大规模集成电路的芯片内制做出来 CISC(Complex Instruction Set Computer),复杂指令系统的计算机 相对于RISC一词而提出来的一种说法 特点:指令条数多,格式多样,寻址方式复杂,每条指令的功能强。汇编程序设计容易些,但计算机控制器的实现困难多,很多指令被使用的机会并不多,超标量流水线: 标量指单个量,一般的流水计算机因只有一条指令流水线,所以 称为标量流水计算机,所谓超标量是指其具有两条以上的指令流水线. Pentium 有U、V两条整型流水线,一条浮点流水线。,流水线: 是一种使多条指令重叠操作的技术, 是当代微处理器设计中的关键技术之一。 把一条指令分解成若干个步骤来完成,在流水线上称为级,每级 都在一个时钟周期内完成各自的操作。这样每个时钟周期都可以启动 一条指令,m级的流水线上就会有m条指令在同时执行。 流水线的性能比非流水线作业几乎提高了m倍。,分支预测: 所谓分支预测是指当遇到转移指令、CALL调用指令、RET返回指 令、INT n中断指令等跳转指令时,指令预取单元能够较准确地判 定 是否转移取指。,2.1 32位微处理器内部结构,基本结构寄存器: 486内部寄存器分为4类:,基本结构寄存器 浮点寄存器 系统级寄存器 调试测试寄存器,应用程序只能访问基本结构寄存器和浮点寄存器。(我们只介绍基本结构寄存器),32位名称,EAX EBX ECX EDX ESP EBP EDI ESI,8位名称,16位名称,EIP EFLAGS,名称 累加器 基址变址 计数 数据 堆栈指针 基址指针 目的变址 源变址,指令指针 标志,代码 数据 附加 堆栈,32位,16位,注意: 286以下绿色区域不可用; FS、GS 无专用名称;,AX (accumulater)-累加器 BX (Base)-基址寄存器 CX (Count)-计数器 DX (Data)-数据寄存器,32位名称,EAX EBX ECX EDX ESP EBP EDI ESI,16位名称,名称 累加器 基址变址 计数 数据 堆栈指针 基址指针 目的变址 源变址,8位名称,1.通用寄存器,AX、BX、CX、DX 共同特点: 既可作为16位寄存器来用又可作为两个8位寄存器(高、低位)来用; 都是用于暂存操作数,或是运算的中间结果或其它一些信息。 指令操作码操作数,32位名称,EAX EBX ECX EDX ESP EBP EDI ESI,16位名称,名称 累加器 基址变址 计数 数据 堆栈指针 基址指针 目的变址 源变址,8位名称,IP、SP、BP、SI、DI:为寻址存贮单元提供偏移地址。其中: IP (Instruction Pointer)-指令指针,32位名称,EAX EBX ECX EDX ESP EBP EDI ESI,16位名称,名称 累加器 基址变址 计数 数据 堆栈指针 基址指针 目的变址 源变址,8位名称,SP (Stack Pointer)-堆栈指针 BP (Base Pointer)-基址指针 SI (Source Index)-源变址寄存器 DI (Destination Index)-目的变址寄存器,CS、DS、ES、SS-4个段寄存器,和偏移地址寄存器一起形成20位存储器物理地址,对存储器中存放的程序、数据、堆栈区域加以区别、寻址。 寻址程序(指令):CSIP; 寻址数据:(DS或ES)(SI或DI、BX、BP); 寻址堆栈:SS(SP或BP) 具体用法在寻址方式中介绍,代码 数据 附加 堆栈,标志寄存器FLAGS又称为程序状态字PSW,为16位寄存器,该寄存器主要有两个作用: 记录CPU运行结果状态标志; 提供控制标志。 FLAGS各位含义如下: 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 OF DF IF TF SF ZF AF PF CF,EFLAGS,标志寄存器,根据功能,8086的标志可以分为两类: 状态标志:表示前面的操作执行后,算术逻辑部件处在怎样一种状态,这种状态会像某种先决条件一样影响后面的操作。有SF、ZF、PF、CF、AF和OF 控制标志:每个控制标志都对某一种特定的功能起控制作用。指令系统中有专门的指令用于控制标志的设置和清除。有DF、 IF、 TF。,一. 32位微处理器工作模式,1.实模式的特点 加电、复位之后,486自动工作在实模式,系统在DOS管理下 在实模式下,486只能访问第一个1M内存(00000HFFFFFH),实地址模式(实模式) 保护虚拟地址模式(保护模式) 虚拟86模式,2.2 32位微处理器的工作模式和地址空间, 存储管理部件对存储器只进行分段管理,没有分页功能,每一逻辑段的最大容量为64K。 在实模式下,段寄存器中存放段基址。,2.保护模式的特点:(仅作了解) 486工作在保护模式下,才能真正发挥它的设计能力。 在保护模式下,486支持多任务操作系统 在保护模式下,486可以访问4G物理存储空间 存储管理部件中,对存储器采用分段和分页管理,操作系统核心,系统服务及接口,应用程序,0级,1级,2级,3级,关于保护机制:,高级别的程序可以访问同级或低级的数据段,反之则不行,3.虚拟86模式(仅作了解): 虚拟86模式是保护模式下的一种特殊工作模式,可运行实模式程序。 在操作系统管理下,486可以分时地运行多个实模式程序。 例如:有3个任务,操作系统为每一个任务分配1ms,每通过1ms就发生一次任务切换,从宏观上看系统是在执行多个任务。,1.存储空间: 物理空间(物理存储器地址空间): 程序的运行空间,即主存空间,232=4G 物理 地址: 物 理 空 间,486有32条地址线,内存最大容量4G。这4G字节称为物理存储器,每一单元的地址称为物理地址,其地址范围:0000,0000HFFFF,FFFFH为物理存储空间。,二. 32位微处理器的地址空间,虚拟空间(虚拟存储器地址空间):编程空间 虚拟存储器是一项硬件和软件结合的技术。 存储管理部件把主存(物理存储器)和辅存(磁盘)看作是一个整体,即虚拟存储器。允许编程空间为246=64T,程序员可在此地址范围内编程,程序可大大超过物理空间。该空间对应的地址称为虚拟地址或逻辑地址。运行时,操作系统从虚拟空间取一部分程序载入物理存储器运行。当程序运行需要调用的程序和要访问的数据不在物理存储器时,操作系统再把那一部分调入物理存储器.数据的交换极快,程序察觉不到。,线性地址,实模式:存储空间仅分段,而不分页; 保护模式:存储空间先分段,再分页。,线性空间:,当程序从虚拟空间调入物理空间时,要进行地址转换。,分段部件首先把虚拟地址(编程地址)转换为线性地址, 如果不分页的话,线性地址就是物理地址;, 如果分页的话,则由分页部件把线性地址转换为 物理地址。,虚拟地址,物理地址,从PC/XTPentium,基于Intel微处理器的系统机,实际上只使用低10位地址线,寻址210=1024个I/O端口。,2. I/O空间: 486利用低16位地址线访问I/O端口,所以I/O端口最多有216=64K,I/O地址空间为0000HFFFFH。 注意: I/O地址空间不分段,三. 实模式下,物理地址的形成(重要) 1.存储器的分段管理: 486对存储器采用分段管理,一个单元的地址由两部分组成,写成: 段基址偏移地址,在一个逻辑段中,各单元的段基址是相同的 偏移地址是该单元相对于段首的地址偏移量,0000,实模式下20位物理地址的形成,一般情况下,CS、DS、ES、SS等各段在存储器中的分配由操作系统负责,每个段可以独立占用64K存储区,各段也允许重叠。如图所示为段分配方式之一: 各段独立占用64K存储区.,01500H,42000H,1CD00H,CS,B0000H,DS,ES,SS,存储器,段寄存器,实模式下20位物理地址的形成,逻辑地址需由程序员在编程时给出 段 基 址:指明由哪个段寄存器给出即可 偏移地址:由程序员在程序中给出具体值,操作系统将程序调入内存时才给段寄存器赋实际值。此时,计算出的20位地址才是实际的物理地址,注意: 物理地址与逻辑地址 逻辑地址程序中编排的地址,由段基址和段内偏移地址组成; 物理地址信息、数据在存储器中实际存放的地址。 物理地址是唯一的,不同的逻辑地址可得到相同的物理地址。 如: 2000H:0200H 20200H 2010H:0100H 20200H,实模式下20位物理地址的形成,2.各逻辑段物理地址的形成(以16位寻址为例): 在实模式下,段寄存器存放相应逻辑段的段基址,代码段:CS*24+IP =指令单元的物理地址 一条指令的一个字节取出后,IP自动加1,指向下一字节。 堆栈段:SS*24+SP =栈顶单元的物理地址 数据段:DS*24+偏移地址 =数据单元的物理地址,实模式下20位物理地址的形成,实模式下20位物理地址的形成,3段寄存器和指针寄存器的初值 CS、IP的初值:由操作系统赋值,DS/ES/FS/GS的初值:由程序员赋值。,SS、SP的初值:由程序员赋值 由操作系统自动赋值,BX/SI/DI/BP的初值:由程序员赋值。,第2章 学习重点,1.了解X86内部主要功能块的简单作用 2.掌握基本结构寄存器中的通用寄存器、段寄存器、指针寄存器的
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号