中断描述性研究符表IDT可存放____门、异...

保护模式下三个重要的系统表——GDT、LDT和IDT(转)
保护模式下三个重要的系统表——GDT、LDT和IDT
这三个表是在内存中由操作系统或系统程序员所建,并不是固化在哪里,所以从理论上是可以被读写的。
这三个表都是描述符表。描述符表是由若干个描述符组成,每个描述符占用8个字节的内存空间,每个描述符表内最多可以有8129个描述符。描述符是描述一个段的大小,地址及各种状态的。
描述符表有三种,分别为全局描述符表GDT、局部描述符表LDT和中断描述符表IDT。
1. 全局描述符表GDT:
全局描述符表在系统中只能有一个,且可以被每一个任务所共享.
任何描述符都可以放在GDT中,但中断门和陷阱门放在GDT中是不会起作用的.
能被多个任务共享的内存区就是通过GDT完成的,
2. 局部描述符表LDT:
局部描述符表在系统中可以有多个,通常情况下是与任务的数量保持对等,但任务可以没有局部描述符表.
任务间不相干的部分也是通过LDT实现的.这里涉及到地址映射的问题.
和GDT一样,中断门和陷阱门放在LDT中是不会起作用的.
3. 中断描述符表IDT:
和GDT一样,中断描述符表在系统最多只能有一个,中断描述符表内可以存放256个描述符,分别对应256个中断.
因为每个描述符占用8个字节,所以IDT的长度可达2K.
中断描述符表中可以有任务门、中断门、陷阱门三个门描述符,其它的描述符在中断描述符表中无意义。
4. 段选择子
在保护模式下,段寄存器的内容已不是段值,而称其为选择子.
该选择子指示描述符在上面这三个表中的位置,所以说选择子即是索引值。
当我们把段选择子装入寄存器时不仅使该寄存器值,同时CPU将该选择子所对应的GDT或LDT中的描述符装入了不可见部分。
这样只要我们不进行代码切换(不重新装入新的选择子)CPU就不会对不可见部分存储的描述符进行更新,可以直接进行访问,加快了访问速度。
一旦寄存器被重新赋值,不可见部分也将被重新赋值。
关于选择子的值是否连续
关于选择子的值,我认为不一定要连续。
但是每个描述符的起始地址相对于第一个描述符(即空描述符)的首地址的偏移必须是8的倍数,即二进制最后三位为0。这样通过全局描述符表寄存器GDTR找到全局描述符表的首地址后,使用段选择子的高13位索引到正确的描述符表项(段选择子的高13位左移3位加上GDTR的值即为段选择子指定的段描述符的逻辑首地址)
也就是说在两个段选择符之间可以填充能被8整除个字节值。当然,如果有选择子指向了这些填充的字节,一般会出错,除非你有意填充一些恰当的数值,呵呵。
关于为什么LDT要放在GDT中
-LDT中的描述符和GDT中的描述符
除了选择子的bit3一个为0一个为1用于区分该描述符是在GDT中还是在LDT中外,描述符本身的结构完全一样。
开始我考虑既然是这样,为什么要将LDT放在GDT中而不是像GDT那样找一个GDTR寄存器呢?
后来终于明白了原因——很简单,
GDT表只有一个,是固定的;而LDT表每个任务就可以有一个,因此有多个,并且由于任务的个数在不断变化其数量也在不断变化。
如果只有一个LDTR寄存器显然不能满足多个LDT的要求。因此INTEL的做法是把它放在放在GDT中。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。介绍了80x86系列、Pentium系列等先进的微处理器。阐述了这些微处理器的基本特性、基本结构和使用特点。重点分析了80386的寄存器结构、工作方式、保护模式、分页机制和扩展指令。同时也介绍了Pentium微处理器的特性、存储管理模式、寻址方式及指令格式。最后介绍了高档Pentium的发展历程及主要性能。
15.1& 从8086到80x86
15.1.1 80286微处理器简介
80286是8086向上兼容的微处理器。80286的通用寄存器和段寄存器与8086完全一样,但程序状态字PSW增加了3个标志位,同时还增加了一个16位的机器状态字MSW,用户可使用其中的4位。这些标志位用于存储管理及存储保护等功能。
80286有两种运行方式:实地址方式和虚地址保护方式。
① 实地址方式:80286加电后即进入实地址方式。在实地址方式下,80286与8086在目标码一级是向上兼容的,它8086808680286
80286对8086的指令集进行了扩展,不仅提供向上兼容的高级集,还提供存储器管理和保护机构以及有关指令。
1.80286的主要特性
① 增加地址线到24根,可寻址16MB内存空间。
② 具有两种地址方式:实地址方式和虚地址保护方式。
③ 使用虚拟内存。
④ 寻址方式更加丰富 (24种)
⑤ 可以同时运行多个任务 。
⑥ 三种类型中断:硬件中断、软件中断和异常中断。
⑦ 增加了高级类指令、执行环境操作类指令和保护类指令。
<span lang=EN-US
style='mso-bidi-font-size:16.0font-family:楷体_GB86内部结构
80286内部结构如图15.1所示。与8086相比,80286将总线接口部件BIU分成了总线部件BU、地址部件AU及指令部件IU,以提高并行处理速度。
15.1.2 80386微处理器及保护方式下的存储器寻址
1.80386的主要特性
① 灵活的32位微处理器,提供32位的指令,可采用8位、16位或32位的数据宽度。
② 提供32位外部总线接口,最大数据传输速率为32Mbps。
③ 具有片内集成的存储器管理部件MMU,可支持虚拟存储和特权保护。
④ 具有实地址模式、保护模式和虚拟8086模式等三种工作方式。
⑤ 具有4GB(232)的物理寻址空间和64TB(246)的虚拟存储空间。
⑥ 通过配用80287或80387数值协处理器可支持高速数值处理。
⑦ 在目标码一级与8086、80286芯片完全兼容。
80386内部结构如图15.2所示。由图可见,80386由三大部件组成,即中央处理部件CPU、总线接口部件BIU和存储器管理部件MMU。
⑴ 中央处理部件CPU
中央处理部件又包括指令预取单元、指令预译码单元和指令执行部件三部分。指令预取单元包括16字节的预取队列寄存器,可存放5条左右的指令。指令预译码单元对指令操作码进行预译码,并将其存放在已译码的指令队列中,供执行部件取用。执行部件包括8个32位通用寄存器、1个64位桶形移位寄存器和一个乘除法器。通用寄存器组既可用于数据操作,又可用于地址计算。桶形移位寄存器用来有效地实现指令的移位、循环移位和位操作,同时也可用于乘法和除法等操作,以加快运算速度。
&&& ⑵ 总线接口部件BIU
&&& 总线接口部件提供中央处理部件和外部系统之间的高速接口。其功能为产生访问存储器和I/O端口所必需的地址、数据和命令信号。80386的总线周期仅为2个时钟。
⑶ 存储器管理部件MMU
存储器管理部件又分为分段单元和分页单元二部分。分段单元完成从逻辑地址到线性地址之间的转换,把线性地址送到分页单元,同时完成总线周期分段的违法检查。分页单元完成线性地址到物理地址之间的转换。若不采用分页单元功能,则线性地址即是物理地址。
3.80386的寄存器结构
&& &⑴ 通用寄存器组
&&& 80386有8个32位寄存器,如图15.3所示。
这8个32位寄存器,名称分别为EAX、EBX、ECX、EDX、ESI、EDI、EBP和ESP。它们也可作16位寄存器使用,但名称分别以AX、BX、CX、DX、SI、DI、BP和SP表示,访问32位寄存器的低16位。像8086一样,AX、BX、CX和DX又可分成两个8位寄存器使用。
图15.3 80386的通用寄存器
要访问80386的32位寄存器,程序中必须用伪指令“.386”来说明。例15-1说明了如何使用80386指令编程。
例15-1& 使用80386指令编程,实现两个32位数的乘法。
&&&&&& .MODEL
SMALL&&&&&&&&
;选择SMALL模式
&&&&&& .386&&&&&&&&&&&&&&&&
;选择80386指令集
STACK& SEGMENT PARA STACK
&&&&&& DB&&&&& 256 DUP(?)
STACK& ENDS
&&&&&& .DATA&&&&&&&&&&&&&&&
;数据段开始
NUM1&& DD&&&&& H&&& ;定义双字
NUM2&& DD&&&&& 89ABCDEFH
ANS&&& DQ&&&&& ? &&&&&&&&&&&;定义四字
&&&&&& .CODE&&&&&&&&&&&&&&&
;代码段开始
START& PROC&&&
BEGIN: PUSH&&& DS
&&&&&& SUB&&&& AX, AX
&&&&&& PUSH&&& AX
&&&&&& MOV&&&& AX, @DATA&&& ;装载数据段,注意DATA前面有符号“@”
&&&&&& MOV&&&& DS, AX
&&&&&& MOV&&&& EAX, NUM1
&&&&&& MUL&&&& DWORD PTR NUM2
&&&&&& MOV&&&& DWORD PTR ANS[0], EAX
&&&&&& MOV&&&& DWORD PTR ANS[4], EDX
&&&&&& RET
START& ENDP
&&&&&END&&&& BEGIN
程序中使用了SMALL(小模式),表示有一个可达64KB的数据段和一个可达64KB的代码段。
⑵ 指令指针和标志寄存器
80386的指令指针寄存器扩展到32位,用EIP表示。标志寄存器EFALG也为32位寄存器,其中定义了15位。新增的标志位有:IOPL(2位)--I/O特权级别;NT--嵌套任务标志;RF—恢复标志;VM—虚拟方式标志。80386的机器状态字MSW为控制寄存器CR0的低16位。
⑶ 段寄存器
80386有6个16位的段寄存器,分别为CS、SS、DS、ES、FS和GS。在保护模式下,段寄存器的内容如图15.4所示。
图15.4 段寄存器的内容
RPL(D1-D0):请求者特权级。00为最高级,11为最低级。
TI(D2): 描述符表选择位。0为选择全局描述符表,1为选择局部描述符表。
选择子(D15-D3): 13位的选择子,用于选择描述符表中的某一个描述符。一个描述符表中,最多有213=8192个描述符。
⑷ 描述符(Descriptors)
描述符有两种,即段描述符和系统描述符。
① 段描述符
段描述符占连续的8个字节,其格式如图15.5所示。
图15.5中,B31~B0为32位段基地址,L19 ~L0为20位的段界限,第5个字节为访问权限字节,第6个字节的高4位为访问控制位。这些信息用于控制在保护模式下对存储器段的访问。
图15.5& 80386段描述符的格式
P:&& 存在位。P=1时表示该段存在。
DPL: 描述符优先级。00是最高优先级,11是最低优先级。
S:&& 段位,S=0,为数据段或代码段描述符;S=1为系统描述符。
E:&& 可执行位,E=0,选择数据(堆栈)段;E=1,选择代码段。E位还用来定义接下来的两位(X和 RW)的功能。
X:&&& 如果E=0,则X位指示数据段或堆栈段的扩展方向。若X=0,该段像数据段一样向上扩展;若X=1,该段像堆栈段一样向下扩展。如果E=1,则X位指示代码段的优先级将被忽略(X=0)还是遵守(X=1)。
RW:&& 如果E=0,则RW位指示数据段允许写(RW=1)或不允许写(RW=0)。如果E=1,则RW位指示代码段允许读(RW=1)或不允许读(RW=0)。
A:&&& 已访问位。微处理器每次访问段时,该位被置位。
G:&&& 粒度位。G=0,表示段的界限为00000H到FFFFFH;G=1,表示段的界限要乘以4KB。粒度位G为0和1时,段界限、起始地址、结束地址和段长度的关系如表15.1所示。表中,XXXH用FFFH代替。
表15.1& 粒度位G的作用
D:&&&& D位指示如何访问寄存器和存储器中的数据。D=0,按16位指令访问;D=1,按32位指令访问,使用32位的偏移地址和默认的32位寄存器。
AV:&&& 有效位。AV位指示段是否有效。AV=0,段无效;AV=1,段有效。
② 系统描述符
系统描述符也占连续的8个字节,其格式如图15.6所示。其中,P、DPL和G位的含义与段描述符相同,Type位指示可能有的16种系统描述符类型,如LDT、任务门、调用门、中断门、陷阱门等。
⑸ 描述符表(Descriptor Tables)
的存储器是分段的,每个段对应一个段描述符,这些描述符组成了各种描述符表,每个描述符表的界限为16位,最大可存放2个描述符。描述符表包括全局描述符表GDT、局部描述符表LDT、中断描述符表IDT和任务状态段TSS。这些描述符表的段基地址和段界限由系统地址寄存器保存,分别称为全局描述符表寄存器GDTR(48位)、局部描述符表寄存器LDTR(16位)、中断描述符表寄存器IDTR(48位)和任务状态段寄存器TR(16位)。图15.7表示了GDTR、DS、GDT、段描述符和数据段的关系。
中,设数据段寄存器DS的内容为0008H(=1,000B),表示选择全局描述符表的第1#段描述符。系统取出该段描述符,得出该数据段的基地址为H(32位),界限为0FFFFH(20位),权限字节为92H等信息,由此确定该数据段的起始地址为H,结束地址为0020FFFFH。如果某寻址单元的段内偏移量为H,则该单元的物理地址=段起始地址+段内偏移量=208000H。若段内偏移量超出段界限,则产生越限错。
80386中每一个段寄存器都有一个与之对应的段描述符寄存器,该段描述符寄存器称为高速缓冲存储器,用来存放一个段描述符。段描述符寄存器不可由程序来访问,而是由系统自动装载。每当程序赋予段寄存器一个新的值时,由选择子决定选择描述符表中的哪一个段描述符,然后系统自动把该段描述符装入段描述符寄存器。只要段寄存器的内容不发生改变,取出的段描述符就一直保存在段描述符寄存器之中。这样,当访问同一个段的不同单元时,就不需要每次都访问描述符表,从而使寻址速度得以大大提高。
保护模式下,每个任务可寻址8192个全局段和8192个局部段,每个段的最大长度为4GB,则一个任务最大的寻址范围,即虚拟存储空间是:
8192×4GB+8192×4GB=64TB
⑹ 控制寄存器
80386有4个32位的控制寄存器CR0、CR1、CR2和CR3,主要用于保护模式和分页管理。CR0的第0位称为PE位(保护激活位)。在实模式下,PE=0;当用指令使PE=1时,进入保护模式。CR0第31位称为PG位,当PG位置成1时,则进入分页管理。
CR3用于分页管理。在分页方式下,CR3中保存了页目录表的物理基地址。
CR1未定义。CR2用于保存最后发生故障的线性地址。
⑺ 调试寄存器和测试寄存器
个32位的调试寄存器DR0-DR7,用于设定断点地址、断点状态和断点控制等信息。有8个32位的测试寄存器TR0-TR7,其中TR6-TR7已经定义,其它6个由Intel公司保留。调试寄存器和测试寄存器都可以用MOV指令访问。
<span lang=EN-US
style='mso-bidi-font-size:16.0font-family:楷体_GB86的工作方式
803868086体系结构。实地址式与8086的寻址原理一致,即采用段寄存器(16位)的内容乘以16,再加上段内偏移量(16位)以形成物理地址,寻址范围为1MB。
② 保护式(Protected Mode)
CR0的PE位为1,即可
在保护模式下,仍然使用段基地址(32位)和段内偏移地址(32位)访问位于存储器段内的信息。但是,保护模式下的段基地址不再像实模式那样由段寄存器直接提供,而是由上述的段描述符提供段基地址,物理地址寻址范围可达4GB。
⑴ 页目录表、页表和页
在分页方式下,系统以页(4KB)为单位管理内存。对于某一任务,系统将其用到的所有页的基地址(32位)存放到一个或几个页表中。每个页表的长度为4KB,可以存放1024个页的基地址。所有页表的基地址(32位)存放到一个页目录表中,每个页目录表可以存放1024个页表的基地址。页目录表的基地址则由指令装载到控制寄存器CR3中。页目录表、页表和页的基地址之间的关系如图15.9所示。
⑵ 线性地址与物理地址
① 线性地址:在保护模式下,由段寄存器(选择子),段描述符和偏移地址形成了32位全地址,这个全地址称为线性地址。
② 物理地址:对应物理存储器的实际地址。
不分页时,32位线性地址就是实际的物理地址,而在分页管理下,32位线性地址需通过内存分页管理机制转化为另外的物理地址。
之所以要进行线性地址到物理地址之间的转换,是因为程序在运行时,有时所选择的线性地址在物理存储器系统中并不存在,此时就需要通过分页管理,将实际存在的物理地址赋给不存在的线性地址。
③ 线性地址的构成
一个32位的线性地址由三部分构成,如图15.10所示。
1031~22位。说明页表在页目录表中的位置。即应选择第几号页表。该值乘以4即为页表基地址在页目录表中的相对地址。
1021~12位。说明页在页表中的位置。即应选择第几号页。该值乘以4即为页基地址在页表中的相对地址。
1211~0位。说明某寻址单元在页中的位置。
⑶ 分页机制的寻址过程
设线性地址为004000FFH=
B,即=001H=000H=0FFHCR3=H15.9
① CR3中内容)+4=1H4=H4H
+4=0H4=H()4基地址H
+=FFH=300080FFH
004000FFH就转换为物理地址300080FFH
虚拟8086式也启用了80386的分页功能。由于虚拟8086式下任务的寻址范围是1MB+64KB–16B,故线性地址的31~21位全为0,剩下的低21位(20~0)对应1MB+64KB–16B的地址空间。
6.80386保护模式下的指令
⑴ APRL指令
功能:调整选择子的RPL字段。
目的:防止系统软件用较高的特权级获得对子程序的访问权。执行该条指令必须满足特定的条件。
例如& APRL& AX, CX指令,AX中含有请求的优先级,CX中含有所访问描述符的选择子的值。如果所请求的优先级低于正在检测的描述符的优先级,则零标志被置位。
⑵ 对系统表进行操作的指令
① LGDT/LIDT指令
LGDT功能:装载全局描述符表的基地址和界限到GDTR。
LIDT功能:装载中断描述符表的基地址和界限到IDTR。
LGDT& FWORD& PTR&
这里,FWORD表示6字节数(48位),GDTA为已定义的全局描述符表的界限和基地址。
② SGDT/SIDT存储器地址
把GDTR或IDTR寄存器的内容保存到存储器中 (连续的6个字节)。
③ LLDT/LTR选择器的值
LLDT功能:把选择器的值作为操作数加载到LDTR,再把选择器指示的描述符从GDT加载到描述符高速缓存器。LLDT指令的执行过程如图15.11所示。
例如&& LLDT&& AX,这里,AX中预先存放有选择子和TI、RPL等信息。
LTR对应任务寄存器TR。
SLDT/STR则将LDTR或TR的值送入16位操作数保存。
⑶ VERR和VERW指令
VERR是校验段的读取权的指令。VERW是校验段的写入权的指令。
⑷ LAR和LSL指令
LAR为加载访问权字节的指令。LSL为加载段边界指令。
⑸ 只有在特权级0才可以执行的指令
① LMSW:把16位数据加载到MSW寄存器。MSW为CR0的D15~D0位。
② CLTS:复位TS位。
③ HLT:暂停指令。
④ MOV &CRn, r32;把数据写入到控制寄存器。
r32,CRn;读控制寄存器
另外,还有读写测试寄存器和调试寄存器的指令等。
15.1.3 80486微处理器简介
<span lang=EN-US
style='mso-bidi-font-size:16.0font-family:楷体_GB86的主要特性
① 一片集成块中包含了80386,80387,8KB/16KB高速缓冲存储器。
② 有大约一半的指令只在一个时钟周期内完成。
③ 采用倍频技术(66MHZ/33MHZ,
100MHZ/ 33MHZ, 120MHZ/40MHZ),使CPU处理速度加快。
2.80486的基本结构
80486的基本结构如图15.12所示。
15.2& Pentium微处理器
⑴ Pentium寻址方式的种类
Pentium的寻址方式共有9种,见表15.2。在9种寻址方式中,后7种是访问存储器操作数的寻址方式。
表15.2& Pentium的寻址方式
表15.2中,Disp表示位移量,Base代表某一基址寄存器的内容,I代表变址寄存器的内容,S代表比例因子(标度)。
⑵ Pentium 32位寻址的特点
① 立即数寻址
立即数寻址可以是字节(8位)、字(16位)或双字(32位)。
② 寄存器寻址
寄存器可使用8位通用寄存器(AH,AL,BH,BL,CH, CL,DH, DL),或使用16位通用寄存器(AX,BX,CX,DX,SI、DI,SP,BP),或使用32位通用寄存器(EAX,EBX,ECX,EDX,ESI,EDI,ESP,EBP)。
对于64位浮点数操作,要使用一对32位寄存器。只有少数指令以段寄存器(CS,DS,ES,SS,FS,GS)来实施寄存器寻址方式。
③位移量(displacement)
位移量可以是8,16或32位长。
④ 基址寄存器B
基址寄存器可以是上述32位通用寄存器中任何一个。例如, MOV& [ECX],EDX指令中的目的操作数寻址。MOV& ECX,[EAX+24]指令中的源操作数寻址。
注意,16位的寻址方式只能使用BX(非堆栈段)、BP(堆栈段)作为基址寄存器。
⑤ 变址寄存器I
变址寄存器是32位通用寄存器中除ESP外的任何一个,但16位寻址中的变址寄存器只能是SI或DI寄存器。
⑥ 比例因子S
比例因子可以是1,2,4或8。
2.指令格式
Pentium指令的长度可以从1字节到12字节,还可以带前缀(prefix),前缀的长度最大为4字节。Pentium的指令格式示于图15.14。
(a) 前缀
(b) 指令
图15.14& Pentium的指令格式
① 指令前缀(instruction prefixes)
指令前缀包括LOCK前缀或重复前缀。
LOCK(锁定)前缀用于在多处理器环境中对共享存储器的排它性访问,它使处理器的LOCK#输出信号有效,指明现行总线周期被锁定。
重复前缀用于字符串的重复操作,它比软件循环快得多。共有3种重复前缀。它们是:REP,REPE/REPZ,REPNE/REPNZ。使用REP前缀时以CX寄存器值作为重复计数,指令每执行一次, CX减1,直到CX减1为0,其他2种为条件REP前缀,重复操作直到指定的条件被满足或CX减1为0而停止。
② 段超越(segment override)前缀
根据指令的意义和程序的上下文,一条指令所使用的段寄存器名可不出现在指令格式中,这有一个段默认规则。如果要求一条指令不按此默认规则使用某个段寄存器,则就要以段超越前缀明确指明此段寄存器。
③ 操作数长度取代(operand size override)前缀
④ 地址长度取代(address size override)前缀
Pentium在实地址模式下,操作数和地址的默认长度是16位;在保护模式下由段描述符中的D位来确定默认长度,若D位为1则操作数和地址的默认长度都是32位,否则为16位。若一条指令不采用默认的操作数或者地址长度时,可分别(或同时)使用这两类前缀予以显示指明。
指令由1或2字节的操作码字段、一个Mod R/M字节和一个比例变址字节组成的地址说明字段、一个位移量字段和一个立即数字段组成。除操作码字段是必选之外,其他字段都是可选字段。
① 操作码字段
操作码(1~2字节)指明指令的操作类型。字节中还包括某些位以说明操作的方向、位移量的大小或立即数的符号扩展等。
② MOD R/M字段
这个字段规定了指令存储器操作数的寻址方式和给出寄存器操作数的寄存器号。除少数指令(如PUSH、POP)预先规定了寻址方式之外,绝大多数指令都有这个字段。
③ SIB字段
R/M字段的某种编码需要这个字段以将寻址方式说明完整化。它由比例系数SS(2位)、变址(Index)寄存器号(3位)和基址(Base)寄存器号(3位)组成,故称SIB字段。
由上可见,Pentium提供存储器操作数的寻址方式字段是作为操作码字段的延伸,而不是与每个存储器操作数一起提供的。因此,指令中只能有一个存储器操作数,Pentium没有存储器-存储器的操作指令。
总之,Pentium的指令长度可从1字节到12字节(前缀除外),指令集的编码也很复杂。之所以这样做,部分原因是为了与它的前身80x86保持兼容,另外是Pentium希望能给编程者以更多灵活的编程支持。
3.指令类型
为了保持与80x86兼容,Pentium的指令集规模很庞大,如80486包括了80386的全部指令又增加6条指令,而Pentium包括了80486的全部指令又增加了5条指令。其中许多指令还在原有基础上进行了扩展,如32位乘除法指令:MUL& EBX和 DIV& ECX等。
15.3& 高档Pentium微处理器
II首次引入了S.E.C(Single
Edge Contact,单边接触)封装技术,将高速缓存与处理器整合在一块PCB板上,通过类似于内置板卡一样的金手指与主板相应插槽电路接触,而不是Socket架构的插针,其外观如图15.17所示。
由于处理器功能的不断增强,电脑的应用范围也得到了空前的扩张。借助于MicroSoft(微软公司)的Windows操作系统应用功能的支持,Pentium II处理器在多媒体、互联网方面的应用水平逐步得到提高,并且为广大用户所接受。
15.3.4& Pentium Ⅲ
1999年英特尔发布了Pentium III处理器。Pentium III处理器最大的改进就是新增加了70条新指令(SIMD,SSE),这些新增加的指令主要用于互联网流媒体扩展、3D、流式音频、视频和语音识别功能的提升。Pentium III可以使用户有机会在网络上享受到高质量的影片,并以3D的形式参观在线博物馆、商店等。
英特尔的Pentium III处理器集成了由从Compaq公司购买的P6动态执行体系结构,双独立系统总线(DIB)架构,多路数据传输系统总线和MMX多媒体增强技术。
Pentium III处理器同样全面适合工作站和服务器应用领域。整个Pentium III是一个相当庞大的系列,所涉及的处理器主频种类非常多,最低的是450MHz,最高的可达1.33GHz,系统总线频率也有两种:133MHz和100MHz。
缓存方面既支持全速、带ECC校正的256KB高级二级缓存(L2 cache) ,或者是不连续、半速的ECC 256KB二级缓存。提供32KB一级缓存(L1 cache)。内存寻址可以支持到4GB,物理内存可以支持到64GB。制造工艺也有多种,最初是采用0.25微米,后期版本采用的是0.18微米,而服务器所用的Pentium III Xeon处理器还有采用最先进的0.13微米制造工艺的。
Pentium III处理器快速系统总线(FSB)设定在133Mhz,每时钟周期传输64位数据,提供8字节*133MHz=1066MB/s的数据带宽。
在处理器的封装上存在着两种方式,既有Pentium处理器以前的Socket架构,也采用了Pentium II处理器的S.E.C构架,如图15.18所示。这里的Socket就是以前最著名的Socket 370。
15.3.5& Pentium 4
4还提供了SSE2指令集,这套指令集增加了144条全新的指令,128bit压缩的数据在执行SSE指令集时仅能以4个单精度浮点值的形式来处理,而采用SSE2指令集时,该数据能采用多种数据结构处理,如4个单精度浮点数(SSE)、2个双精度浮点数(SSE2)、16字节数(SSE2)、8个字数(SSE2)、4个双字数(SSE2)、2个四字数(SSE2)、1个128位长的整数(SSE2)。
在服务器领域,Intel于2001年发布了新一代Xeon处理器,如图15.20所示。Xeon处理器的市场定位瞄准高性能、均衡负载、多路对称处理等特性,而这些是台式计算机的Pentium品牌所不具备的。Xeon处理器实际上也是基于Pentium 4的内核,比Pentium III Xeon处理器要快30%—90%,不过这还要视软件应用的配置而定。Xeon处理器也是基于英特尔P4处理器才采用的NetBurst架构,有更高级的网络功能,更复杂更卓越的3D图形性能。
15.1 80286有哪两种工作方式?各有何特点?
15.2 80286的总线接口部件由哪三个部件组成?各部件包含哪些主要单元?
15.3 80386的地址总线宽度是多少位的?外部数据总线宽度是多少位的?每个任务可寻址的最大物理存储空间和最大虚拟存储空间是多少?
15.4 80386中包含哪些通用寄存器?通用寄存器是多少位的?这些通用寄存器在使用上有何特点?
15.5 数据段中有10个32位的带符号数:,-3890492,0,1,4896320,89,-268,939,24689,-698。利用32位指令编制程序,求出它们的平均值送EAX。
15.6 80386有哪三种工作方式?各有何特点?
15.7 80386的段寄存器在实地址模式与保护模式下各有什么含义?这两种模式的段基地址是如何形成的?
15.8 什么是描述符?段描述符由哪些部分组成?段描述符与系统描述符有何区别?
15.9什么是描述符表?系统包含了哪些描述符表?描述符表的基地址由哪些寄存器保存?
15.10 一个80386描述符中包含基地址H和界限1FFFFH,并且G=1。由这个描述符寻址的起始地址和结束地址是多少?
15.11 什么是页目录表?什么是页表?什么是页?80386分页机制中一页包含多少字节?
15.12 什么是线性地址?一个32位的线性地址可分成哪几个部分?在什么情况下要实现从线性地址向物理地址的转换?
15.13 80386有哪些保护模式下的指令?
15.14 80486有哪些主要特性?
15.15 Pentium 微处理器的体系结构中包含哪些部分?
15.16 Pentium 微处理器的分页机制与早期的微处理器有何不同?
15.17 Pentium 微处理器有哪些寻址方式?请说明其指令格式。
15.18 Pentium MMX微处理器有何特点?
15.19 Pentium II、Pentium III微处理器的架构有何特点?Pentium III扩展了哪些应用方面的指令?
15.20 Pentium 4引入NetBurst结构具有哪些优点?其提供的SSE2指令集有何作用?

我要回帖

更多关于 描述性研究 的文章

 

随机推荐