




已阅读5页,还剩58页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
西安交通大学计算机系桂小林制作,1,2.280386微处理器,西安交通大学计算机系桂小林2011年2月26日,西安交通大学计算机系桂小林制作,2,目录,2.280386微处理器2.3双核微处理器2.480 x8寻址方式2.580 x86的指令系统2.6单片计算机,西安交通大学计算机系桂小林制作,3,2.280386微处理器,1985年10月推出了高性能的32位微处理器80386,具有32位数据总线和32位地址总线,直接寻址能力为4GB,在16MHz主频下每秒可执行4106条指令。它采用了流水线和指令重叠执行技术、虚拟存储技术和存储管理技术等,这些技术以后被广泛采用,故80386是微处理器发展史上的一个里程碑。,西安交通大学计算机系桂小林制作,4,2.2.180386的组织结构,80386的内部结构可以划分为:指令预取部件、指令译码部件、指令执行部件、分段部件、分页部件和总线接口部件等6个功能部件,西安交通大学计算机系桂小林制作,5,2.2.180386的组织结构,指令预取部件IPU(InstructionPrefetchUnit)IPU中设置了一个16字节的指令队列,只要指令队列有空字节,IPU就向总线接口部件提出请求,若总线接口部件处于空闲状态,则从存储器中取出指令装入指令队列。指令译码部件IDU(InstructionDecodeUnit)IDU的作用就是对指令操作码进行译码,实现从指令到微指令的转换。IDU中设置了译码指令队列,译码得到的微指令存放在该队列中。指令执行部件EU(ExecuteUnit)EU包括算术逻辑运算部件ALU、8个32位通用寄存器和1个64位桶形移位寄存器和1个乘/除法器,其功能就是完成各种数据运算和处理。此外,EU还包括保护测试部件,用于检验指令执行过程中是否符合存储器分段规则。上述三个部件IPU、IDU和EU合称为中央处理部件CPU(CentralProcessingUnit),它们实际构成了一个指令流水线。,西安交通大学计算机系桂小林制作,6,2.2.180386的组织结构,分段部件SU(SegmentationUnit)80386采用了分段、分页两级存储管理机制,存储器首先以段为单位进行划分,每个段的长度最大为4GB,每个段又进一步划分为多个页面,页面长度固定为4KB。分页部件PU(PagingUnit)PU的作用是将SU生成的线性地址转换为存储器的物理地址,这种转换是通过两级页表来实现的。PU是80386的可选部件,若不使用PU,则SU生成的线性地址就是物理地址。SU和PU合称为存储管理部件MMU(MemoryManagementUnit)。总线接口部件BIU(BusInterfaceUnit)BIU是80386与外部之间的高速接口。当指令预取部件取指令,或者指令执行部件读写操作数和运算结果时,都会向BIU提出访问存储器和I/O设备的请求,BIU根据一定的优先级来响应这些请求,产生所需要的地址信号和读写控制信号,以完成有关操作。此外,BIU也实现了80386与其它协处理器之间的控制功能。SU、PU和BIU实际上也构成一条地址流水线,,西安交通大学计算机系桂小林制作,7,2.2.280386的编程结构,80386有6类寄存器,分别是通用寄存器、指令指针寄存器、标志寄存器、控制寄存器、调试与测试寄存器、段寄存器、段描述符寄存器、系统地址寄存器。(1)通用寄存器(下页图示)80386有8个32位的通用寄存器,分别是EAX、EBX、ECX和EDX,以及ESP、EBP、ESI和EDI,(2)标志寄存器/标志寄存器32位的标志寄存器EFLAGS也是由16位的标志寄存器FLAGS扩展而来的。原有的9个标志含义相同,在此基础上又增加了4个新的标志。,西安交通大学计算机系桂小林制作,8,(2)标志寄存器/标志寄存器32位的标志寄存器EIP用于存放下一条指令的偏移量,当兼容8086时,其低16位就是IP寄存器。,西安交通大学计算机系桂小林制作,9,(3)80386有4个32位的控制寄存器CR0、CR1、CR2和CR3,其中CR1未使用。这些控制寄存器主要用于对80386各种功能和运行方式的控制。(4)调试寄存器/测试寄存器80386设置了8个32位的调试寄存器DR0DR7,其中DR4DR5为Intel公司保留,而其它6个寄存器用于设置断点和调试功能。80386使用了两个测试寄存器TR6和TR7,用于测试TLB(TranslationLookasideBuffer)。其中TR6存放测试控制命令,而TR7存放测试所得数据。,西安交通大学计算机系桂小林制作,10,(5)系统地址寄存器系统地址寄存器包括全局描述符表寄存器GDTR、中断描述符表寄存器IDTR、局部描述符表寄存器LDTR和任务状态段寄存器TR。设置这些寄存器的目的是为了便于对各个描述符表进行访问,它们分别保存着对应描述符表的存储地址。系统地址寄存器的内容和作用在后续章节详细介绍。(6)段寄存器和段选择子80386与8086一样,段寄存器也是16位的,但增加了两个附加数据段寄存器FS和GS。在实地址方式中,80386物理地址的计算与8086相同。但在保护方式下,段寄存器的作用则不同,其内容和作用在后续章节详细介绍。,西安交通大学计算机系桂小林制作,11,2.2.380386的工作方式,实地址方式(RealAddressMode)8086兼容方式(段),80386复位后就进入实地址方式保护方式(ProtectedVirtualAddressMode)段页式虚拟8086方式(Virtual8086Mode)段页式(386下执行86代码,某个任务),西安交通大学计算机系桂小林制作,12,80386的工作方式,实地址方式(RealAddressMode)8086工作模式,只采用分段方式,每段固定长度为64KB,20位物理地址由段寄存器内容左移4位后与偏移量相加得到。不同之处是80386可以进行32位数据的运算和处理。复位后进入实地址方式,保护方式(ProtectedVirtualAddressMode)80386在保护方式下采用了段页式的存储管理机制,提供保护机制,支持虚拟存储和多任务操作系统。保护方式是80386最常用的方式。虚拟8086方式(Virtual8086Mode)80386在虚拟8086方式同样采用段页式存储管理机制,具有护功能,可以支持多任务。虚拟8086方式是针对多个任务中的某一个任务而言的,也就是说在多个任务中,某一个任务是在虚拟8086方式,而另一些任务可以在保护方式。当一个任务工作在虚拟8086方式时,可以直接执行8086的代码。,西安交通大学计算机系桂小林制作,13,2.2.480386的引脚和时序,80386采用132条引脚的PGA(陶瓷网格阵列)封装,主要包括:(1)数据总线D31D0(2)地址总线A31A2、/BH3/BH0(3)时钟信号CLK2,(4)与总线周期有关信号:,西安交通大学计算机系桂小林制作,14,80386时序,修订:BE3-BH3,西安交通大学计算机系桂小林制作,15,2.2.580386的存储管理,图2.19给出了80386的存储管理机制的实现原理。用户程序在访问存储器时给出的是48位虚拟地址(或称为逻辑地址),由16位的段选择子(SegmentSelector)和32位偏移量两部分组成,段选择子由段寄存器给出,而偏移量则根据不同的寻址方式得到。,西安交通大学计算机系桂小林制作,16,1、基本概念与术语,(1)虚拟存储器和高速缓冲存储器(2)描述符描述符又称为段描述符,由8个字节构成,用于对程序段进行描述,向CPU提供虚拟地址并向实地址转换所需的数据;包括段的基地址、段的大小和段的属性(称访问权字段)。图2.21说明了段描述符的格式。,西安交通大学计算机系桂小林制作,17,32位段基址:指明一个段的起始位置,可以为32位的线性地址空间中的任一地址。20位段限:段限决定了一个段的可寻址范围,目的是为了判断对存储段的访问是否越界,以免破坏其它信息。386的段限长是32位,但在段描述符中只规定了20位,根据此20位限长及段属性中的G位计算出真正的段限长。在不使用分页机制时(G=0),则长度单位为字节,段的最大长度为1B220=1MB;在启用分页机制时(G=1),则长度单位是页面数(每页4KB),因此段的最大长度为4KB220=4GB。例如,G=1时的段基址00000000H,限长0FFFFFH,则真实的段限长0FFFFFH*1000H+0FFFH0FFFFFFFFH。,西安交通大学计算机系桂小林制作,18,段的属性包括以下字段A访问位,A=1表示已经访问过该段,操作系统利用该位统计段的使用情况。S描述符类型位,若S=1,则为非系统描述符,所描述的段是代码段、数据段(包括堆栈段);若S=0,则为系统描述符,所描述的是局部描述符表、任务状态段和各种门。TYPE段类型,用于说明对应的段的类型,包括是否为可执行的代码段、存储地址增长的方向、该段是否可以进行写操作等。DPL描述符的特权级(DescriptorPrivilegelevel),用于特权检查,以决定对该段能否访问。P存在位,当P=1时,说明对应的存储段已经装入内存。D操作数长度标志,仅用于代码段描述符,当D=1时,说明对应的代码段的代码是32位的,而当D=0则为16位。,西安交通大学计算机系桂小林制作,19,(3)描述符表,系统中有三类描述符表:全局描述符表GDT、局部描述符表LDT和中断措述符表IDT。这些表都是可变长度的存储器数组,表的长度从8B64KB之间,每个表最多可容纳8192个描述符(每个描述符由8B组成)。中断描述符表IDT存放的是描述中断服务程序入口地址等有关属性的门描述符,包括中断门、陷阱门和任务门。每个任务有且只有一个独立的局部描述符表LDT,整个系统只有一个全局描述符表GDT,,西安交通大学计算机系桂小林制作,20,(4)系统地址寄存器,系统地址寄存器包括:全局描述符表寄存器GDTR、中断描述符表寄存器IDTR、局部描述符表寄存器LDTR和任务状态段寄存器TR。,西安交通大学计算机系桂小林制作,21,系统地址寄存器,80位的LDTR分为两个字段,高16位称为LDT选择子,用于在GDT中查找LDT描述符,一旦查找到LDT描述符,则由硬件自动存放在低64位中。,西安交通大学计算机系桂小林制作,22,段寄存器和段选择子,段寄存器选择子16位(用户可见)描述符64位(用户不可见),西安交通大学计算机系桂小林制作,23,段寄存器和段选择子,高13位存放的是段选择子,也就是段描述符在GDT或LDT中的索引号。表索引标志TI:当TI=1时,在LDT中查找,而当TI=0时,则在GDT中进行查找。,另外2位RPL,用来作描述请求特权级(RequestedPrivilegeLevel),用于特权检查。,西安交通大学计算机系桂小林制作,24,LDTR描述符获取过程,在访问LDT之前,首先需要在GDT中查找到该LDT描述符。通过LDTR的选择子查找GDT获得LDT描述符的过程如下图所示。,Index,西安交通大学计算机系桂小林制作,25,80386特权级,80386中共规定有4个特权级,由0到3。0级别权限最高,3级最小。操作系统核心运行在0级,80386处理器共设置4个优先级(0级3级)。0级是最高级(特权级);3级是最低级(用户级);1级和2级介于它们之间。特权级代码一般是操作系统的代码,可以访问全部系统资源;其他级别的代码一般是用户程序,可以访问的资源受到限制。,西安交通大学计算机系桂小林制作,26,2特权保护,80386采用保护机制主要为了检查和防止低级别代码的越权操作,如访问不该访问的数据、端口以及调用高优先级的代码等。80386中的每个段描述符号中都有DPL字段,高于该特权级别的程序才有权访问它。段寄存器的请求特权级(RPL):用于特权检查。检查主要是让当前优先级(CPL)和DPL比大小,如果大于等于才允许访问。而RPL和CPL之间不作判断,将RPL和CPL中特权更高的那个和被访问段的DPL比较作判断。,西安交通大学计算机系桂小林制作,27,3虚拟地址到线性地址的转换,虚拟地址通常由两部分组成:段选择器和偏移地址。段选择器用来选择一个段,偏移地址用来指出操作数在所选择的段中的偏移量。例如:MOVFS:IOTA,AL该指令中IOTA用来指定偏移地址。该指令的功能是:将寄存器AL的内容存入FS的选择器字段所选择的段中偏移量为IOTA的虚拟地址单元中。例如:MOVEAX,DS:EBX该指令的功能是:将DS的选择器字段所选择的段中由EBX内容代表的偏移量所确定的虚拟地址单元开始的4个字节的内容送人EAX。,西安交通大学计算机系桂小林制作,28,转换过程,CPU只要将段选择器所指向的段描述符中的32位基地址与32位偏移地址相加即可得到线性地址。将32位虚拟地址转换到32位线性地址的过程包括:首先,CPU将逻辑地址中的段选择子装入段寄存器中;其次,硬件根据选择子的TI字段自动访问局部描述符表LDT或全局描述符表GDT;然后,获取LDT或GDT中的描述符,进行段限比较;最后,根据描述符的基地址和程序给出的偏移地址,计算得到线性地址。,西安交通大学计算机系桂小林制作,29,转换实例,例如,80386的某指令给出的32位逻辑地址为0000000001100100,0000000100000000B,则根据图2.26所示的结构,可以实现逻辑地址到线性地址的变换。具体过程如下:,西安交通大学计算机系桂小林制作,30,转换实例,首先,32位逻辑地址的高16位装入段寄存器。根据图2.24的结构,得到的段寄存器的高13位为0000000001100B(00CH),TI=1B,RPL=00B,偏移地址为0100H。,西安交通大学计算机系桂小林制作,31,转换实例,然后,硬件根据选择子的TI字段自动访问局部描述符表LDT,把段选择子的索引值000CH乘8以后的值0060H与全局描述符寄存器(GDTR)的段限00FF进行比较,由于该值没有超出界限,因此,可以对局部描述符表进行访问。,西安交通大学计算机系桂小林制作,32,转换实例,其次,把0060H与局部描述符表的基地址(在LDTR中)相加得到访问数据段描述符的绝对地址00100060H。如果保护机构对访问权检查通过,CPU就自动地把地址为00100060H的数据段描述符(包括数据段基地址、段限和访问权字段)装入DS寄存器相应的段描述符寄存器高速缓冲器中。,西安交通大学计算机系桂小林制作,33,转换实例,最后,用段描述符寄存器的访问权字段所规定的内容对数据段请求进行检查,同时将逻辑地址中的偏移量与数据段的段限值进行比较。经检查确认为数据段描述符、偏移量没有超出数据段的界限。所以偏移量0100H和数据段基地址00852000H相加,得出操作数的线性地址00852100H。,西安交通大学计算机系桂小林制作,34,4线性地址到物理地址的转换,80386的存储管理机制不仅采用了分段机制,而且采用了分页机制。当一个任务访问存储器时,首先由分段机制将逻辑地址转化为32位线性地址,然后由分页机制完成从32位线性地址到32位物理地址的映射,从而在内存中找到要访问的信息。线性地址到物理地址的映射过程如图2.27所示。,西安交通大学计算机系桂小林制作,35,页目录号是线性地址的第3122共10位,它作为页目录中页目录项的索引,可寻找2101024个页目录项,即指向1024个页表。页索引号是线性地址第2112共10位,指向页表内的页,可寻210l024个页。页内偏移量:线性地址的第110共12位,可以寻址页内地址,每页最大为2124K个单元。,西安交通大学计算机系桂小林制作,36,页目录表和页表,在80386中,页目录表和页表的表项的结构类似,长度均为32位.,西安交通大学计算机系桂小林制作,37,转换实例,例如,根据32位线性地址00000001000110010101100111000110B和图2.28的目录与页表结构,下面分析线性地址到物理地址的转换过程。,西安交通大学计算机系桂小林制作,38,转换实例,根据CR3寄存器得到页目录表的起始地址,32位的起始地址为00000000H。根据目录号计算(指向被选择的目录项目录号4+CR3212)。本例目录号为0000000100B(04H),得到页目录表中地址为00000010H,在该处读出表项,得到页表起始地址00004000H(表中只存页面号,实际地址的低12位为0)。,西安交通大学计算机系桂小林制作,39,线性地址的页表索引字段为0110010101B(195H),通过计算00004000H+195H4得00004654H,在页表中地址为00004654H处读出物理地址的页号,为0198CH。将物理地址的页号和线性地址的页内地址拼接,得到32位物理地址0198C9C6H。,转换实例,西安交通大学计算机系桂小林制作,40,2.3双核微处理器,双核处理器是基于单个半导体的一个处理器上拥有两个一样功能的处理器核心。双核处理器能有效提升CPU的功能与性能。最初,双核心处理器采用SMP(SimultaneousMulti-Processor)方式,将多个处理器置于一个系统之下协同工作,以此来提升性能。后来为了降低成本,开发人员逐渐考虑是否能够将两个处理器或是处理核心集成到一个芯片上面来,为此出现了SMT(SimultaneousMulti-Threading)技术和CMP(ChipMulti-Processor)架构。,西安交通大学计算机系桂小林制作,41,双核微处理器,早在上个世纪末,HP和IBM就已经提出双核处理器的可行性设计,并成功推出了拥有双内核的HPPA8800和IBMPower4处理器。,双芯,双核,西安交通大学计算机系桂小林制作,42,2.480 x86的寻址方式,指令的一般格式包括“操作码”和“操作数”两部分。数据寻址方式:此类寻址方式用来确定操作数地址从而找到操作数。(1)立即寻址方式(Immediateaddressing)(2)寄存器寻址方式(Registeraddressing)(3)直接寻址方式(Directaddressing)(4)寄存器间接寻址方式(5)寄存器相对寻址方式(6)基址变址寻址方式(7)相对基址变址寻址方式,西安交通大学计算机系桂小林制作,43,80 x86的寻址方式,指令寻址方式:确定一条指令的地址的方法(1)段内直接寻址(2)段内间接寻址(3)段间直接寻址(4)段间间接寻址转移距离(称为位移量)的操作符SHORT表示位移量在-128127字节之间。NEAR表示在同一段内转移,位移量在-3276832767字节范围内。FAR表示转移距离超过32K字节,或是在不同段之间转移。,西安交通大学计算机系桂小林制作,44,2.580 x86指令系统:常用的8086汇编指令,西安交通大学计算机系桂小林制作,45,2.6单片计算机(了解),单片机即单片机微型计算机,是将计算机的主要功能(如CPU、内存和I/O接口等)集成在一小块硅片上的微型计算机。单片机发展非常迅速,种类众多,用途广泛。主要单片机系列包括:Intel公司的8031/8051/8052/80C51等普通8位单片机;Intel公司的8096/8098/80196等普通16位单片机;Atmel公司的AVR系列增强型8位/16位单片机Mega64/128L/128/192/256等;ARM公司等的ARM7/9/11等32位单片机。单片机具有集成度高、可靠性高、性价比高等三高优势,主要应用于工业检测与控制、计算机外设、智能仪器仪表、通讯设备、家用电器等领域。下面以Intel公司的80C51和Atmel公司的AVRMega128L为例简要介绍单片机的原理及其主要接口功能。,西安交通大学计算机系桂小林制作,46,2.6.180C51的内部结构与引脚功能,中央处理器(CPU)8位的中央处理器内部RAM:共有256个RAM单元,但其中能作为寄存器供用户使用的仅有前面128个,后128个被专用寄存器占用;,西安交通大学计算机系桂小林制作,47,80C51的内部结构,80C51有2个16位的定时器/计数器;80C51共有4个8位I/O口(P0,P1,P2,P3),可实现数据并行输入输出;80C51有1个全双工的可编程的串行口,以实现单片机与其他设备之间的串行数据传送;,西安交通大学计算机系桂小林制作,48,80C51的内部结构,中断系统:80C51共有5个中断源,其中2个是外部中断源和,3个内部中断源(其中包括2个定时/计数中断,1个串行口中断);,西安交通大学计算机系桂小林制作,49,了解引脚功能,西安交通大学计算机系桂小林制作,50,了解引脚功能,西安交通大学计算机系桂小林制作,51,了解时序,80C51单片机通常可以分为单周期指令、双周期指令和四周期指令等三种。其中,单机器周期指令有64条,双机器周期指令有45条,四机器周期指令只有2条(即乘法和除法指令),没有三机器周期指令。,西安交通大学计算机系桂小林制作,52,西安交通大学计算机系桂小林制作,53,80C51单片机的复位,单片机复位是使CPU和系统中的其他功能部件都处在一个确定的初始状态,并从这个状态开始工作,例如复位后PC=0000H,使单片机从第一个单元取指令。,西安交通大学计算机系桂小林制作,54,80C51单片机的存储器组织,MCS-51单片机在物理结构上有四个存储空间:1、片内程序存储器;2、片外程序存储器;3、片内数据存储器;4、片外数据存储器但在逻辑上,即从用户的角度上,8051单片机有三个存储空间:1、片内外统一编址的64K的程序存储器地址空间(MOVC);2、256B的片内数据存储器的地址空间(MOV);3、以及64K片外数据存储器的地址空间(MOVX)。在访问三个不同的逻辑空间时,应采用不同形式的指令,以产生不同的存储器空间的选通信号。,西安交通大学计算机系桂小林制作,55,片内数据存储器,SFR,MOV,MOVX,片外数据存储器(MOVX),西安交通大学计算机系桂小林制作,56,程序存储器,程序存储器,MOVC,西安交通大学计算机系桂小林制作,57,80C51单片机的指令系统,在80C51系列的指令系统中,有单字节、双字节和三字节等不同长度的指令。单字节指令:指令只有一个字节,操作码和操作数同在一个字节中。在80C51系列的指令系统中,共有49条单字节指令
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工业互联网平台数据备份2025年备份恢复策略在智慧城市中的应用
- 2025年学前教育机构师资队伍教师培训效果评价与改进报告
- 2025年中国高速传输铜箔行业市场分析及投资价值评估前景预测报告
- 第14课《水调歌头·明月几时有》教学设计统编版语文九年级上册
- 2024-2025学年年高中政治 第四单元 当代国际社会 9.1 国际社会的主要成员:主权国家和国际组织说课稿2 新人教版必修2
- 医养结合养老机构运营中的医疗资源整合与社区医疗服务报告
- Integrated skills说课稿-2025-2026学年高中英语牛津译林版2020选修第二册-译林版2020
- 2025年光储充一体化项目在新能源汽车充电站的安全性评估报告
- 《数学记录天气》(教学设计)-六年级下册数学冀教版
- 第二章《声现象》单元教学设计和课时作业设计 苏科版八年级物理上册
- 简单离婚协议书模板
- 生猪定点屠宰场申请书
- 康复医学概论课件
- 2025年《公共基础知识》试题库(附答案)
- 高二《复活》课文解读
- 大圆满前行考试题及答案
- 普通话发音训练素材及练习方案
- 【衢州】2025年浙江衢州市柯城区属事业单位招聘工作人员17人笔试历年典型考题及考点剖析附带答案详解
- 钢构农业大棚建设项目可行性研究报告
- 非货币支付管理办法
- 湖北省武汉2025-2026学年度高一上学期开学分班考试-英语(解析版)
评论
0/150
提交评论