版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
关于微处理器及系统第一页,共九十页,2022年,8月28日系统主要组成:8086/8088由两个独立的处理部件组成:执行部件EU(ExecutionUnit)和总线接口部件BIU(BusInterfaceUnit)设置了指令预取队列,支持以流水方式执行指令
主要性能指标:处理器字长:处理8位或16位的数据,时钟频率为4~8MHz
直接寻址的存储空间为1M字节(220)中断源为256级,包括内部软件和外部硬件中断支持最小方式(单CPU)和最大方式(多CPU)工作)独立的I/O端口地址寻址方式:I/O端口有64K个
2.18086处理器第二页,共九十页,2022年,8月28日1.2微处理器内部结构第三页,共九十页,2022年,8月28日BIU完成内外信息交换,即:①取指令②传送数据③形成物理地址EU执行全部指令,即:①指令译码②执行指令③向BIU传送偏移地址信息④管理通用寄存器和标志寄存器1.
BIU与EU的主要功能第四页,共九十页,2022年,8月28日BIU和EU并行操作示意图BIU取指令1
取指令2取指令3取指令4取指令5取指令6EU等待等待执行1执行2执行3执行4第五页,共九十页,2022年,8月28日2.物理地址怎样形成?物理地址=段地址x16+偏移地址例:CS=FA00H,IP=0300H物理地址=FA000H+0300H =FA300H(逻辑地址:程序员使用的地址)第六页,共九十页,2022年,8月28日CS=FA00H,IP=0300H物理地址=FA000H+0300H=FA300H代码段数据段堆栈段附加段FA000H(?)0300H第七页,共九十页,2022年,8月28日通用寄存器
1.数据寄存器AX,BX,CX,DX
AX作为累加器,在字(AL,AH字节)乘,除法运算中存放结果,I/O指令中传送数据.BX作为基址寄存器,CX作为计数寄存器(如循环、串操作)DX作为数据寄存器2.地址指针寄存器SP,BP
SP:堆栈指针寄存器,BP:基址指针寄存器3.变址寄存器SI,DI
SI:源变址寄存器,DI:目的变址寄存器段寄存器CS,DS,SS,ESCS:代码段寄存器DS:数据段寄存器SS:堆栈段寄存器ES:附加段寄存器3.8086/8088内部寄存器8位寄存器名16位寄存器名累加器AX基址BX计数器CX数据DX栈指针基址指针目标变址源变址指令指针标志代码段数据段堆栈段附加段SIDIBPSPDHDLCHCLBHBLAHALFLAGSIPFSGSESSSDSCS第八页,共九十页,2022年,8月28日指令指针寄存器IP
存放预取指令的偏移地址.标志寄存器LAGS记录算术和逻辑运算的一些状态标志.8086/8088内部寄存器1.控制标志(3个):DF,IF,TFDF(directionflag):方向标志.IF(interruptenableflag):中断允许标志TF(trapflag):跟踪(陷阱)标志第九页,共九十页,2022年,8月28日CF进位标志(CarryFlag):有进/借位为1,无进借位为0。另循环指令也使CF=1。AF
辅助进位标志(AuxiliaryCarryFlag):低4位向高位有进/借位(即第3位向第4位进位)为1,否则AF=0。PF
奇偶标志(ParityFlag):运算结果若低8位所含1的个数为偶数,则PF=1,否则PF=0。ZF
全零标志(ZeroFlag):当运算结果使有效位数的各位全为零时ZF=1,否则ZF=0。SF
符号标志(SignFalg):当运算结果为负时SF=1,否则SF=0。SF的值就是有符号数的最高位(符号位)。OF溢出标志(OverflowFlag):当运算结果超出了机器所能表示的范围时,则OF=1,表示溢出,否则OF=0。
状态标志(6个)第十页,共九十页,2022年,8月28日
4.8086/8088工作模式最小模式:指在系统中只有一个微处理器,系统中的所有总线控制信号都直接由8086/8088产生,因此整个系统中的控制线路最简单,对应这种工作模式称为最小模式。最大模式:是相对于最小模式而言的,指系统中含有两个或两个以上微处理器,其中一个就是8086/8088为主处理器,其它都是协处理器。在8086/8088系统中与其配合的协处理器有数值运算协处理器8087和输入输出协处理器8089。处理器的最小定时单位,它由主频决定。模式由硬件决定:
CPU引脚MN/MX_为“1”高电平,在最小模式; 为“0”电平,在最大模式.第十一页,共九十页,2022年,8月28日8284CLKRESETREADYMN/MXALEDENRDT/RIO/MWRRDHOLDHLDAIO/MINTRINTA地址锁存器数据收发器控制总线数据总线地址总线+5VA.8086/8088最小模式第十二页,共九十页,2022年,8月28日8284CLKRESETREADYMN/MXA19~A8S0地址锁存器数据收发器控制总线数据总线地址总线8288总线控制器S1S2AD7~AD0B.8086/8088最大模式第十三页,共九十页,2022年,8月28日5.8086/8088引脚信号80868088第十四页,共九十页,2022年,8月28日引脚含义NMI为硬件中断源中不可屏蔽中断输入信号,上升沿有效。INTR为硬件中断源中可屏蔽中断的输入信号,高电平有效。所有外部调设备的中断源均接至中断控制器,通过中断控制器输出再接入INTR引脚。实现中断管理A19/S6~A16/S3:地址/状态复用输出线。第十五页,共九十页,2022年,8月28日S0~S7含义S7未定义S6始终为低S5与标志寄存器中的中断允许标志IF一致。S4、S3表示使用的段寄存器S2-、S1-、S0-组合确定最大模式下总线操作类型(见P13)第十六页,共九十页,2022年,8月28日QS1和QS0含义
QS1和QS0在最大模式下表示指令队列的使用情况第十七页,共九十页,2022年,8月28日最小模式总线操作第十八页,共九十页,2022年,8月28日最大模式总线操作类型S2S1S0通过8288产生的信号具体操作状态有关指令示例000INTA发中断响应信号无001IORC读I/O接口INAL,DX010IOWC,AIOWC写I/O接口OUTDX,AL011无暂停NOP100MRDC取指令无101MRDC读内存MOVAX,[1234H]110MWTC,AMWC写内存MOV[DI],CX111无无效状态无第十九页,共九十页,2022年,8月28日
6.总线周期的概念总线周期:
完成一次总线操作(存储器或I/O访问)所需的读/写机器周期。8086/8088一个基本总线周期包括4个时钟周期的时间。习惯称为4个状态,分别记为T1、T2、T3和T4状态。T1状态:输出地址信息并锁存。T2状态:撤消地址,为传送数据作准备。T3状态:如果外部准备好,则数据稳定在总线上。T4状态:读写总线上的数据,总线周期结束。时钟周期:微处理器的最小定时单位,它由主频决定。指令周期:一条指令从取出到执行完毕所需要的时间。机器周期:完成一个独立的操作所需时间。第二十页,共九十页,2022年,8月28日
8086/8088总线时序(读)T1T2T3TwT4地址输出(A19-A16)高:读内存低:读I/O状态输出(S6—S3)地址输出(A15-A0)数据输入(D15—D0)BHE输出S7(无意义)CLKM/IOA19/S6-A16/S3AD15-AD0BHE/S7ALERDDT/RDEN8086最小模式下的读总线周期第二十一页,共九十页,2022年,8月28日
总线时序(写)8086最小模式下的写总线周期第二十二页,共九十页,2022年,8月28日课堂提问:哪两种地址合成物理地址?下列合成物理地址是否正确?是发生在取指令或执行指令?1.CS:SP2.DS:DI3.DS:IP4.SS:SP计算下列物理地址:1.1000H:1234H=? 2.A200H:12CFH=? 3.A000H:?=A0123H 4.?:CD21H=32D21H第二十三页,共九十页,2022年,8月28日80486微处理器
特点:采用精简RISC指令技术芯片含有8K内部CACHE芯片含有80387协处理器采用猝发式总线技术性能:外部数据、地址总线:32位最大工作频率:133M流水线:5级逻辑地址空间:64T物理地址空间:4G第二十四页,共九十页,2022年,8月28日80486的内部结构
寄存器组ALU段控制管理PLA页控制管理TLBCACHE管理8K浮点运算FPU控制部件ROM指令译码指令队列地址驱动数据缓冲数据收发总线控制地址总线数据总线控制总线第二十五页,共九十页,2022年,8月28日ALU:定点数运算和逻辑运算部件(80386)FPU:浮点数运算部件(80387协处理器)PLA、TLB:面向多用户(虚地址)的存储器段管理和页管理部件CACHE:高速缓存其它与8086/8088部分相同
指令码流:CACHE(或内存)、指令队列、指令译码。物理地址:段址+偏址、由段管理产生线性地址。线性地址由页管理产生物理地址。数据流:CACHE(或内存)、直接进入运算器。80486的内部结构
第二十六页,共九十页,2022年,8月28日80486寄存器结构第二十七页,共九十页,2022年,8月28日寄存器特点1.通用寄存器和标志寄存器都扩展到32位,在原16位基础上前面加E。数据寄存器可进行8位、16位和32位操作。2.段寄存器仍为16位,但增加两个数据段寄存器FS和GS3.增加三个控制寄存器CR0、CR2和CR3(无CR1)。4.系统地址寄存器与80286类似。第二十八页,共九十页,2022年,8月28日系统表寄存器GDTR全局描述表寄存器LDTR局部描述表寄存器IDIR中断描述表寄存器TR任务寄存器功能:在保护模式下分别指出对应的描述表在存储器中的起始地址及占存储单元数。第二十九页,共九十页,2022年,8月28日GDTR与GDT表GDTR长度为48位的寄存器。其中32位用作指出表在存储器中的基地址,16位为该表所占的主存空间的大小。它们分别被称为基址字段和边界字段基址字段边界字段主存描述符1描述符2描述符N015031GDTRGDT表第三十页,共九十页,2022年,8月28日标志寄存器VM
虚拟方式位:在保护方式下,VM=1使80386工作在虚拟8086方式。VM位只能在保护方式下由IRET指令(当前特权级=0)或在任何特权级下由任务切换设置使VM=1而进入虚拟8086方式。RF
恢复标志:RF标志位与调试寄存器的断点或单步操作一起使用。当调试失败后,利用RF标志(使RF=1)强迫使程序恢复执行,当程序顺序执行时该标志位自动清0(RF=0)。第三十一页,共九十页,2022年,8月28日2.480386~Pentium三种工作模式
1.实地址模式
系统启动后,80386/486自动进入实地址方式。在此方式下,采用类似于8086的体系结构,80386/486在实地址方式下的主要特点如下:寻址方式、存储器管理、中断处理与8086一样.操作数默认长度为16位,但允许访问32位寄存器(在指令前加前缀)。不用虚拟地址,最大地址范围仍限于1MB,只采用分段方式,每段最大64KB。80386的4特权级,在实地址方式下,程序在最高级0级上执行,80386指令集除少数指令外,绝大多数指令在实地址方式下都有效。存储器中保留两个固定的区域,一个是初始化程序区FFFF0H~FFFFFH,另一个为中断向量表00000H~003FFH。第三十二页,共九十页,2022年,8月28日…10000H00000H10000H1F000H1FFFFHF000H段寄存器:CS,SS,DS,ES偏移:(IP,,BP,BX,DI,SI)逻辑地址:1000H:F000H物理地址=1000H*16+F000H=1F000H实地址模式最大地址范围:1MB每段最大64KB第三十三页,共九十页,2022年,8月28日2.保护地址模式所谓保护是指在执行多任务操作时,对不同任务使用的虚拟存储器空间进行完全的隔离,保护每个任务顺利执行。在保护方式下,80386/486具有如下特点:1.存储器采用虚拟地址空间、线性地址空间和物理地址空间三种方式来描述。2.强大的寻址空间。在保护方式下,可以寻址的空间大至64TB(246)(虚拟地址)。3.使用4级保护功能,可实现程序与程序、用户与用户、用户与操作系统之间的隔离和保护,为多任务操作系统提供优化支持。4.在保护方式下,80386/486既可以进行16位操作,又可进行32位操作。第三十四页,共九十页,2022年,8月28日3.虚拟8086方式所谓虚拟8086模式是指一个多任务的环境,即模拟多个8086的工作方式。虚拟8086方式的主要特点如下:1.可执行原来采用8086书写的应用程序。2.段寄存器的用法与实地址方式一样。3.可以使用分页方式,将1MB分为256个页面,每页4KB。4.在虚拟8086方式中,应用程序在最低特权级3级上运行,因此80386指令系统中的特权指令不能使用。第三十五页,共九十页,2022年,8月28日4.实地址模式与V86模式区别1.内存管理方式不同:实地址方式只采用分段管理,而不采用分页管理,而虚拟8086方式既分段又分页。2.存储空间不同:实地址下的最大寻址空间为1MB,而虚拟8086方式下每个任务尽管最大1MB,但可以在整个内存空间浮动,因此V86方式实际寻址空间为4GB。3.保护机制不同:实地址方式下无保护机制,而虚拟8086方式既可以运行8086程序,又支持多任务操作,这就解决了80286保护方式既要维持保护机制,又要运行8086程序的矛盾。如在Windows下多次双击MS-DOS即运行多个DOS程序(8086程序)。第三十六页,共九十页,2022年,8月28日4.三种地址描述方法1.线性地址空间:指示由段转换得到地址
232字节=4GB2.物理地址空间:指示实际内存地址
232字节=4GB3.虚拟地址空间:指示通过所有段描述符描述的整个地址空间(包括超出物理地址的部分)
段描述符个数最大段大小
=214232字节=246字节=64TB
第三十七页,共九十页,2022年,8月28日
保护方式下80386物理地址形成分为两步进行,首先将48位逻辑地址转换成32位线性地址,再将32位线性地址转换成32位物理地址。分段:将逻辑地址转换成线性地址的过程称为分段,由分段部件SU完成。(分段的方法与80286通过描述符寻找段基地址方法一样。)分页:将线性地址转换成物理地址的过程称为分页,由分页部件PU完成。分页是32位处理器独有的,通过两次页转换完成分页功能。80386~Pentium物理地址形成第三十八页,共九十页,2022年,8月28日一个程序由多模块组成,组成程序的模块大小可以各不相同,但每一个模块都是一个特定功能的独立的程序段,都以该段的起点为0相对编址。当某一程序段(模块)从辅存调入主存,只要由系统赋予该段一个基址,就可以把基址和每个单元在段内的相对位移量组合起来,形成这些单元在主存中各自的实际地址。段式存储器把虚拟空间按比例分配,各段的大小不定,因此特别适合这种编程方法。地址映象与变换第三十九页,共九十页,2022年,8月28日模块2模块1模块0模块31KB02KB6KB0.5KB1KB3KB3KB程序A空间基址界限访问控制段表图1.3段式存储器的地址映像8KB6KB3KB1.5KB1KB0主存空间第四十页,共九十页,2022年,8月28日逻辑地址(48位)段选择子偏移量(32位)索引TIRPL15…43210被选中的段描述符全局描述符表局部描述符表32位段基地址32位线性地址+TI=0TI=1共8K个描述符被选中的段描述符共8K个描述符+GDT首地址+LDT首地址×8×8如MOVEAX,[12345678]逻辑地址为DS:[12345678]1.分段示意图第四十一页,共九十页,2022年,8月28日RPL
请求特权级(0,1位共两位),构成了选择子的特权(0—3),其中0为最高级,3最低。TI
描述符表指示器,表示选择子选择了哪一个描述符表。TI=0,选择全局描述符表(GDT),TI=1,表示选择了局部描述符表(LDT)。索引位15—3共13位形成描述符所在地址的索引,对于每一个描述符表可指示213(8K)个描述符。索引TIRPL15143210段选择子第四十二页,共九十页,2022年,8月28日段描述符与段描述符表(1)段描述符格式一个段描述符由8个字节组成,其基本格式如图所示。段描述符是位于主存中的一种数据结构,由系统程序创建,它为处理器提供段的基本信息。第四十三页,共九十页,2022年,8月28日0AVLS段界限19~16TYPED/BDPL基址31~24GP基址23~16基址15~8基址7~0段界限15~8段界限7~001234567D7D0图1.5段描述符的基本格式段描述符的第2~4和第7字节组成了32位的基址字段,这个基址可以访问4G(232)字节的主存空间;第0、1字节和第6字节的低4位是20位的段界限字段,该字段的值决定了段的长度,而该字段的值的单位由“G”位决定;第5字节、第6字节的高4位是访问控制字段,段的所有属性信息都包含在这12个位中。“G”位称作粒度位,用来确定段界限所使用的长度单位。当G=0时,段的长度以一个字节为单位;当G=1时,段的长度以4K(212)字节为单位。“P”位是存在位,P=0表示该段不在主存中;P=1表示该段在主存中。“AVL”位是用户的操作系统可用位。第四十四页,共九十页,2022年,8月28日“D/B”位。在代码段,该位称为“D”位。当D=1时,采用32位操作数和32位寻址方式,反之,采用16位操作数和16位寻址方式。在数据段,该位称为“B”位,当B=1时,PUSH,POP,CALL都使用ESP寄存器,且上限为FFFFFFFFH,反之,使用SP寄存器且上限为FFFFH。第6字节的D5位必须是0,以便与将来的处理器兼容。例:某一模块的段描述符中,段界限为FFFFH,基址为10000000H,G=0,求该模块存放于主存中的位置。解:因为G=0,所以该模块长度为1000FFFFH字节,它在主存中的地址范围为10000000H~1000FFFFH。RCE=1AWEDE=0S=1DPLP图1.6TYPE类型字段中的各位定义第四十五页,共九十页,2022年,8月28日已知:GDT和LDT的首地址分别为55600000H和00013000H,FS=000BHCR3=00013000H,ESI=0000125AH,内存有关数据如图所示。执行指令MOVEAX,FS:[ESI],求:1.PE=0(实模式)时源操作对应的物理地址及EAX中的值2.PE=1且PG=0(保护模式不分页)时源操作对应的物理地址及EAX中的值
(PE,PG为控制寄存器CR0的保护模式和分页允许位)例.32位处理器寻址第四十六页,共九十页,2022年,8月28日分析:
指令MOVEAX,FS:[ESI]指示的数据使用FS段,在保护方式下为段选择子
FS=000BH=0000000000001011B,即TI=0,因此选中GDT表,RPL=11,为用户程序请求段,索引值==0000000000001B,偏移地址=ESI=0000125AH。1.PE=0处理器工作在实地址方式,物理地址=段地址*16+偏移地址=000B0H+125AH=0130AH,EAX中的值即为该地址指示的4个单元中的数据,故EAX=49102512H。2.PE=1且PG=0即不分页的保护方式,因此,使用段描述符找段基地址:段描述符地址=GDT首地址(GDTR中)+索引值*8=55600000H+0008H=55600008H故:段描述符=01444900700001FFH,其中段基地址=01007000H,因此物理地址=线性地址(PG=0)=段基地址+偏移地址=0100825AH,EAX=12009966H例解已知:
GDT的首地址:55600000H,LDT的首地址00013000H,FS=000BHCR3=00013000H,ESI=0000125AH第四十七页,共九十页,2022年,8月28日(EAX)60H00H00H13H40H55600008HFFH01H00H70H00H49H44H01H66H:00HB6H55600005H5560000AH5560000EH55600020H03H16H09H:40H17H00H00H60H55H01001360H25H10H:33H44H11H66H99H00H12H36H99H1AH06H:16H40H00H60H55H66H99H00H12H25H10H49H33H::01008259H0100825AH0100825EH0100826DH::00006258H0000625AH00001307H0001300FH01008268H00H01H02H:0000130AH00013010H00013013H例图示:段描述符60H00H00H13H40H55600008HFFH01H00H70H00H49H44H01H66H:00HB6H55600005H5560000AH5560000EH55600020H03H16H09H:40H17H00H00H60H55H01001360H25H10H:33H44H11H66H99H00H12H36H99H1AH06H:16H40H00H60H55H66H99H00H12H25H10H49H33H::01008259H0100825AH0100825EH0100826DH::00006258H0000625AH00001307H0001300FH01008268H00H01H02H:0000130AH00013010H00013013H页目录表项页表项物理地址1.2第四十八页,共九十页,2022年,8月28日2.页式存储器地址映象与变换
页式存储器把主存空间和辅存空间都分别划分为多个相同尺寸的定长块。每块称作一页(又称页面、页框等),并按顺序编号。微处理器把页面尺寸定为4KB(212)。在页式存储器中,每个任务都有页表作为线性空间映像到物理空间的中介。如图所示,编写的程序A由4页组成组成页表的行称作页表项,页表项主要由页面基址和属性位组成,页式存储器通过页表项对页面进行管理。页表本身也是一页,且存储在主存中。第四十九页,共九十页,2022年,8月28日虚页号主存空间…0页1页2页3页0123实页号控制信息位程序A空间页表图页式存储器的地址映像第五十页,共九十页,2022年,8月28日80386~P4页式存储器的4GB(232)的线性空间被分为220个页面,所以需要有220个页表项对其进行管理(需4MB空间),显然,一张页表是无法容纳下这么多页表项的。80386~P4微处理器采用二级页表方法对页面进行管理,第1级页表称作页表目录,页表目录的页表项指明第2级页表中各页表的地址。这样,虚页号就被分为页表目录和页表两部分,其地址变换如图所示。页目录表(常驻内存)和页表(需要时调入)都存放在主存中,页表目录表的基址由控制寄存器CR3的高20位(31~12)*212指定,低12位默认为全0。80386~P4采用两级页表的理由:第五十一页,共九十页,2022年,8月28日图页式存储器的地址变换逻辑地址(虚地址)选择子段内偏移4532310页表页表目录…页表索引页表目录索引页内偏移线性地址………物理地址(实地址)页内偏移实页号段描述符表第五十二页,共九十页,2022年,8月28日R/wPU/SPWTPCDAD00LAIAV页面基址10234567891131…12图1380386的页表项格式1.页表项由32位组成,其中高20位是页面基址,页表中的该字段就是页号,在页目录表中,页面基址*212=相应页表的首址;2.低12位用来说明页(页表)的控制状态信息,“P”是存在位,当P=1时,表示该页在主存中。在地址变换过程中,若发现P=0,则表示需立即访问的页不在主存,这种情形称作页面失效(页面故障)。3.两级页表中的页表项的作用虽然不同,但格式却完全一样,如图13所示。页目录和页描述符(页表项)及其控制作用
第五十三页,共九十页,2022年,8月28日分页示意图00013000H+0010H=000013010H32位线性地址DIR(页目录)3122+页目录地址页目录表基址+页表基地址页描述符地址页表页目录表310310+物理地址页基地址主存储器CR0CR2CR3控制寄存器31010位10位12位4K页框×4×4页描述符页目录描述符每个描述符有4字节每个描述符有4字节共有1K个描述符共有1K个描述符低地址高地址
PAGE(页)
OFFSET(页内偏移量)211211103210
0010H55600040H55600000H+20H=55600020H000060B6H00006000H+25AH=0000625AH061A9936H->EAX线性地址=0100825AH=00000001000000001000
001001011010B第五十四页,共九十页,2022年,8月28日线性地址=0100825AH=00000001000000001000
001001011010B,其中:页目录索引=0000000100B,页索引=0000001000B,页内偏移量=001001011010
B(1)找页目录描述符(目的求页表基地址)页目录描述符地址=页目录表基地址(CR3)+页目录索引*4=00013000H+0010H=000013010H,页目录项(描述符)=55600040H,因此页表基地址=55600000H。(2)找页描述符(目的求页的基地址)页描述符地址=页表基地址+页索引*4=55600000H+20H=55600020H页描述符=000060B6H,因此页基地址=00006000H(3)合成物理地址(页基地址+页内偏移量)物理地址=页基地址+页内偏移量=00006000H+25AH=0000625AHEAX=061A9936H(完)例解:第五十五页,共九十页,2022年,8月28日(EAX)60H00H00H13H40H55600008HFFH01H00H70H00H49H44H01H66H:00HB6H55600005H5560000AH5560000EH55600020H03H16H09H:40H17H00H00H60H55H01001360H25H10H:33H44H11H66H99H00H12H36H99H1AH06H:16H40H00H60H55H66H99H00H12H25H10H49H33H::01008259H0100825AH0100825EH0100826DH::00006258H0000625AH00001307H0001300FH01008268H00H01H02H:0000130AH00013010H00013013H例图示:段描述符60H00H00H13H40H55600008HFFH01H00H70H00H49H44H01H66H:00HB6H55600005H5560000AH5560000EH55600020H03H16H09H:40H17H00H00H60H55H01001360H25H10H:33H44H11H66H99H00H12H36H99H1AH06H:16H40H00H60H55H66H99H00H12H25H10H49H33H::01008259H0100825AH0100825EH0100826DH::00006258H0000625AH00001307H0001300FH01008268H00H01H02H:0000130AH00013010H00013013H页目录表项页表项物理地址1.2第五十六页,共九十页,2022年,8月28日一、Pentium主要特点1.与X86兼容2.RISC型超标量结构即微处理器内具有多个指令单元,多条指令流水线。3.高性能浮点运算部件4.双重分离Cache5.增加错误检测与报告分析功能6.64位外部数据总线7.分支指令预测8.常用指令固化及微代码改进9.增加系统管理方式
2.5Pentium微处理器第五十七页,共九十页,2022年,8月28日Pentium微处理器是由总线接口部件、代码、数据Cache、分支目标缓冲器、控制ROM部件、预取缓冲存储器、指令译码部件、整数运算部件、整数和浮点数寄存器及浮点运算部件等11个功能部件组成(如图所示)。二、
Pentium处理器内部结构第五十八页,共九十页,2022年,8月28日总线接口部件分支目标缓冲器TLB代码Cache8KB预取地址预取缓冲存储器指令译部件256位控制部件地址生成(U流水线)地址生成(V流水线)整数寄存器组ALU(U流水线)ALU(V流水线)桶形移位器数据CacheTLB8KB32位32位32位32位32位32位分页部件64位数据总线32位地址总线控制32位地址总线64位数据总线控制ROM控制寄存器组加法器除法器乘法器浮点部件80位80位图1.5Pentium微处理器逻辑框图PFD1D2EXWBX1,X2,WF,ER第五十九页,共九十页,2022年,8月28日(1)整数处理部件
Pentium微处理器具有两条整数指令流水线,分别称为U流水线和V流水线。每条流水线分为5级,分别为指令预取(PF)、首次译码(D1)、指令译码2(D2)、指令执行(EX)和写回寄存器(WB)。每条指令完成一个流水级后,就会进入下一级,以便让指令队列中的下一条指令进入该级。(2)浮点处理部件
浮点部件FPU拥有专用的加法单元、乘法单元和除法单元。微处理器中的浮点操作被高度流水线化,并与整数流水线集成在一起。浮点流水线由8个独立的流水级组成,即指令预取(PF)、指令译码1(D1)、指令译码2(D2)、取操作数(EX)、执行1(X1)、执行2(X2)、结果写回(WF)和错误报告(ER)。(3)分离型Cache
Pentium具有两个整数ALU,两个独立的双路相联8KB代码Cache和8KB数据Cache第六十页,共九十页,2022年,8月28日三、Pentium的寄存器1.通用寄存器2.段寄存器CS,DS,SS,ES,FS和GS第六十一页,共九十页,2022年,8月28日3.标志寄存器第六十二页,共九十页,2022年,8月28日4.控制寄存器CR0~4第六十三页,共九十页,2022年,8月28日1.控制寄存器CR0第六十四页,共九十页,2022年,8月28日2.控制寄存器CR3第六十五页,共九十页,2022年,8月28日3.控制寄存器CR4第六十六页,共九十页,2022年,8月28日四、Pentium的工作模式实地址模式
-1MB空间,分段管理,全在0级保护模式-存储器采用虚拟地址空间、线性地址空间和物理地址空间,三种方式来描述-虚拟地址空间64TB(246)-4级管理,可以使用分页技术虚拟8086模式系统管理模式(电源管理及为操作系统和正在运行的应用程序提供安全)第六十七页,共九十页,2022年,8月28日(1)PentiumPro主要特点1.高度集成:核心550万只管子,Cache1550万只管子2.三条指令执行部件,14级超级流水线3.双重分离Cache增大:8KB两路相关指令Cache,8KB四路相关数据Cache。4.二级cache
达256KB与微处理器相联5.动态分支预测及推理执行6.工艺更加先进:2.9V,0.6微米结构注:
PentiumPro主要用于服务器,不用于PC五、Pentium处理器的主要特点第六十八页,共九十页,2022年,8月28日1.双重独立总线结构2.多重跳转分支预测3.数据流分析4.指令推测执行5.集成MMX技术(含57条MMX指令)6.内核采用P6结构(故内部有三条指令流水线,每要具有14级),一个时钟可执行三条简单指令7.内部Cache增加:一级cache两个16KB大小二级cache512KB8.封装形式首次采用Slot1(之前全为SocketPGA式)(2)PentiumII主要特点第六十九页,共九十页,2022年,8月28日1.主频450MHz以上~1GHz2.总线频率100MHz/133MHz3.新增加70条SSE指令V供电,0.25微米工艺制造5.32KB~128KB的L1以主频速度工作,512KB的L2以主频一半速度工作6.先采用Slot1,后改为Soket370针(2)PentiumIII主要特点第七十页,共九十页,2022年,8月28日(3)Pentium4的主要特点(全新架构—非P6):1.主频1.4GHZ~10GHz,外频100MHz,前端系统总线频率400MHZ,使外部带宽达3.2GB/S,封装改回Socket:1.5GHz以下423针(0.18um),1.7GHz开始采用478针(0.13um)2.具有20级超级流水线3.高效乱序执行4.内有高速执行引擎(ALU倍速工作),一个时钟可执行6条简单指令使1.4GHz的Pentium4运算速度达2.8GHz5.新型片上Cache:除了8KB/16KB数据L1和256KBL2外,还加12KBL1的TraceCache存储X86解码后生成的微操作指令。6.在SSE基础上增加144条SIMD指令(SSE2)7.1.7V供电,0.18微米工艺制造,很快0.13微米8.CPU功耗52W(故原来设计的电源不能用)升级没戏第七十一页,共九十页,2022年,8月28日六.8086~Pentium系列
程序设计模型一台实际的计算机虽然很复杂,但从程序设计的角度,并不需要了解处理器内部的复杂结构.8086~Pentium系列程序设计模型,主要包括在编程时能够使用的CPU内部可见寄存器.可见寄存器是指直接被程序的指令访问的.不可见寄存器是指通过操作系统访问和处于保护模式下工作的存储器.一、可见寄存器第七十二页,共九十页,2022年,8月28日SIDIBPSPDHDLCHCLBHBLAHAL8位寄存器名16位寄存器名32位寄存器名EAX累加器AXFLAGSIPFSGSESSSDSCSEBXECXEDXESPEDIESIEBP基址BX计数器CX数据DX栈指针基址指针目标变址源变址EIPEFLAGS指令指针标志代码段数据段堆栈段附加段8086~8028680386~Pentium可使用8,16,32位寄存器第七十三页,共九十页,2022年,8月28日CPAZSTIDOIOP0IOP1NTRFVMACVIFVIPID31212019181716141312111098764208086/8088/80186/801888028680386/80386DX80486SXPentium/PentiumⅡ二、标志寄存器LAGS第七十四页,共九十页,2022年,8月28日2.3.6高速缓冲存储器CACHE
■高速缓存原理Cache主要是解决访问内存影响系统速度的瓶颈问题。1G主频的CPU执行指令的时间:1ns。
CPU访问内存的时间:10ns左右。为了减少CPU等待访问内存的时间,在486之后的CPU增加了CACHE部件。Cache有一级、二级、三级之分;数据与指令一体、数据与指令分体之分。第七十五页,共九十页,2022年,8月28日CPUCACHE1
(L1)内存指令数据■单级/二级高速缓存CPUCACHE1
(L1)CACHE2
(L2)内存指令数据第七十六页,共九十页,2022年,8月28日■分离高速缓存CACHE1
(L1)内存指令数据CPUCACHE1
(L1)CACHE1
(L2)指令数据CACHE1
(L2)第七十七页,共九十页,2022年,8月28日■Cache有关概念CPU通过地址访问Cache,若数据或指令在Cache则命中。否则访问内存,并重装Cache中的数据。Cache容量越大命中率越高,但成本大。一般Cache与内存容量的比为
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024版文具采购合同3篇
- 专用木结构工程承包合同书2024年版版B版
- 专业桥架施工包工协议范例(2024版)版B版
- 2025年4S店汽车销售及二手车置换服务合同范本3篇
- 2024跨国技术转让与合作合同
- 专业项目建议书编写委托协议简化版版B版
- 2025年度科研场地租赁合同终止及设备回收协议3篇
- 2025年度老旧小区墙体拆除及改造工程劳务分包合同范本4篇
- 2025年度酒店会议室租赁协议书(含全方位服务套餐)
- 二零二五年度食堂食堂食堂食堂员工餐厅食品安全监管合同
- 金色简约蛇年年终总结汇报模板
- 农用地土壤环境质量类别划分技术指南(试行)(环办土壤2017第97号)
- 反向开票政策解读课件
- 工程周工作计划
- 房地产销售任务及激励制度
- 六年级语文下册14文言文二则《学弈》课件
- 2024年内蒙古中考语文试卷五套合卷附答案
- 并购指南(如何发现好公司)
- 垃圾分类亭合同协议书
- 物权转移协议
- 高三高考地理一轮课时练习:洋流(单选题)
评论
0/150
提交评论