《微机原理与接口技术(80386-Pentium)》-第2章 80386系统原理.ppt
上传人:qw****27 上传时间:2024-09-12 格式:PPT 页数:98 大小:392KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

《微机原理与接口技术(80386-Pentium)》-第2章 80386系统原理.ppt

《微机原理与接口技术(80386-Pentium)》-第2章80386系统原理.ppt

预览

免费试读已结束,剩余 88 页请下载文档后查看

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第2章80386系统原理2.180386系统的核心80386微处理机是Intel于1985年推出的第一个32位微处理机,也是第一个支持多任务的微处理机。80386的体系结构为用户提供一组32位通用寄存器。它们在使用时不受任何限制,既可用来进行数值计算,又可用它形成存储器地址。80386体系结构还给用户提供了几种存储管理和寻址方式,以满足不同的要求。此外,80386还提供多种寻址方式、数据类型、指令以及某些特殊的结构,便于高级语言实施。下图示出了以80386为基础的高性能系统的核心。由图可以看出,高性能系统的核心是:80386、数值协同处理器80387、外部设备控制器82380,高速缓冲存储器Cache的控制器82385组成。下图是高性能系统核心的构成80387的作用是加速浮点操作而高速缓冲存储器Cache的控制器82385,对容量为32K字节的高速缓冲存储器Cache实施控制,并带有总线监视(BusWatching)这一高级特征。在外部设备控制器82380内集若干系统功能于一体,其中包括动态RAM的更新、中断与计时器和32位直接存储器存取控制。80386的高性能系统核心配备有两种不同的总线:一是80386的系统总线;二是80386的局部总线。2.280386的体系结构通用寄存器(General-PurposeRegister)8个通用寄存器是8086和80286寄存器的超集,它们的名字和用途分别为:EAX通常用作累加寄存器(Accumulator)EBX通常用作基址寄存器(Base)ECX通常用来记数(Count)EDX通常用来存放数据(Data)ESP通常用作堆栈指针(StackPointer)EBP通常用作基址指针(BasePointer)ESI通常用作源变址(SourceIndex)EDI通常用作目标变址(DestinationIndex)8个通用寄存器中通常保存有32位数据,但为进行16位的操作并提供与Intel系列16位微机兼容,它们的低位部分被当成8个16位的寄存器为了支持8位的操作还可进一步把EAX、EBX、ECX、和EDX寄存器的低位部分(AX,BX,CX,DX)再进一步分成8位一组的高端和低端两个字节,作为8个8位寄存器。这8个寄存器分别被命名为AH、BH、CH、DH和AL、BL、CL、DL。对8位或16位寄存器的操作只会影响到相应的寄存器。段寄存器(Segmentregister)80386配备有6个16位的段寄存器,段寄存器也称段选择符(Selector),它们的名字和用途如下:CS代码段寄存器(CodeSegment)DS数据段寄存器(DataSegment)SS堆栈段寄存器(StackSegment)ES附加数据段寄存器(ExtraSegment)FS附加数据段寄存器(ExtraSegment)GS附加数据段寄存器(ExtraSegment)80386用这6个16位的段寄存器,去选择各自的存储区域。其中CS、DS和SS这3个段寄存器用来对当前的代码段、数据段和堆栈段进行寻址。而剩下的那3个附加数据段寄存器则是被用来对用户定义的数据区域寻址。在实方式下,在80386段寄存器内保存着指定段的实际地址,如图所示。而在保护方式下,在段寄存器内保存着的则是16位的地址。这个16位的地址就是通常所说的选择符选择符指示着描述符表中的某一项,实际的段基地址则是被存放在描述符表中的一个描述符中,如图所示。段描述符寄存器对程序员来说,段描述符寄存器是不可见的,然而了解它的存在和作用却是非常有益的。在80386的内部,描述符寄存器与可见的各个段寄存器是相联的,如图2.6所示。每个描述符寄存器中保存着32位的基地址、段界限以及段的其他属性。状态和控制寄存器状态和控制寄存器是由标志寄存器EFLAGS、指令指针EIP和4个控制寄存器CR0~CR3)组成,如图所示。1.指令指针寄存器在指令指针寄存器EIP中,存放着下一条要执行指令的偏移量(Offset),这个偏移量是相对目前正在运行的代码段寄存器CS而言的。偏移量加上当前段的地址,形成了下一条指令的地址。EIP中的低16位可以分开来访问,给它起名叫做指令指针IP(InstructionPointer)寄存器,用于16位寻址操作。下图是80386指令指针寄存器EIP和标志寄存器EFLAGS2.标志寄存器标志寄存器EFLAGS存放着有关80386微处理机当前状态的信息,如图所示。标志寄存器中的第1、3、5、15位及18~31位都没有定义。但是,当使用SAHF指令或PUSHF指令时,或当出现中断处理时,除位1外,其余各位则全部是0。下图是80386的标志寄存器EFLA