CPU篇2
8、乱序执行和分枝预测,乱序执行是指CPU采用了允许将多条指令不按程序规定的顺序分开发送给各相应电路单元处理的技术。分枝是指程序运行时需要改变的节点。分枝有无条件分枝和有条件分枝,其中无条件分枝只需要CPU按指令顺序执行,而条件分枝则必须根据处理结果再决定程序运行方向是否改变,因此需要“分枝预测”技术处理的是条件分枝。
9、制造工艺,制造工艺虽然不会直接影响CPU的性能,但它可以可以极大地影响CPU的集成度和工作频率,制造工艺越精细,CPU可以达到的频率越高,集成的晶体管就可以更多。第一代奔腾 CPU的制造工艺是0.35微米, 最高达到266Mhz的频率,PII和赛扬是0.25微米,频率最高达到450Mhz。铜矿核心的奔腾Ⅲ制造工艺缩小到了0.18微米,最高频率达到1.13Ghz。最新Northwood核心的奔腾4 CPU制造工艺达到0.13微米,目前频率已经达到2.4Ghz,估计达到3Ghz也没有问题。在明年,Intel CPU的制造工艺会达到0.09毫米。
为了使读者在日常购买*作电脑时方便查询,特在本节最后列出和CPU有关的技术术语,安第一个字母的顺序排列:
3DNow!(3D no waiting) AMD公司开发的SIMD指令集,可以增强浮点和多媒体运算的速度,它的指令数为21条。
ALU(Arithmetic Logic Unit,算术逻辑单元) 在处理器之中用于计算的那一部分,与其同级的有数据传输单元和分支单元。
BGA(Ball Grid Array,球状矩阵排列) 一种芯片封装形式,例:82443BX。
BHT(branch prediction table,分支预测表) 处理器用于决定分支行动方向的数值表。
BPU(Branch Processing Unit,分支处理单元)CPU中用来做分支处理的那一个区域。
Brach Pediction(分支预测)从P5时代开始的一种先进的数据处理方法,由CPU来判断程序分支的进行方向,能够更快运算速度。
CMOS(Complementary Metal Oxide Semiconductor,互补金属氧化物半导体)它是一类特殊的芯片,最常见的用途是主板的BIOS(Basic Input/Output System,基本输入/输出系统)。
CISC(Complex Instruction Set Computing,复杂指令集计算机) 相对于RISC而言,它的指令位数较长,所以称为复杂指令。如:x86指令长度为87位。
COB(Cache on board,板上集成缓存) 在处理器卡上集成的缓存,通常指的是二级缓存,例:奔腾II
COD(Cache on Die,芯片内集成缓存) 在处理器芯片内部集成的缓存,通常指的是二级缓存,例:PGA赛扬370
CPGA(Ceramic Pin Grid Array,陶瓷针型栅格阵列) 一种芯片封装形式。
CPU(Center Processing Unit,中央处理器) 计算机系统的大脑,用于控制和管理整个机器的运作,并执行计算任务。
Data Forwarding(数据前送)CPU在一个时钟周期内,把一个单元的输出值内容拷贝到另一个单元的输入值中。
Decode(指令解码)由于X86指令的长度不一致,必须用一个单元进行“翻译”,真正的内核按翻译后要求来工作。
EC(Embedded Controller,嵌入式控制器) 在一组特定系统中,新增到固定位置,完成一定任务的控制装置就称为嵌入式控制器。
Embedded Chips(嵌入式) 一种特殊用途的CPU,通常放在非计算机系统,如:家用电器。
EPIC(explicitly parallel instruction code,并行指令代码) 英特尔的64位芯片架构,本身不能执行x86指令,但能通过译码器来兼容旧有的x86指令,只是运算速度比真正的32位芯片有所下降。
FADD(Floationg Point Addition,浮点加)
FCPGA(Flip Chip Pin Grid Array,反转芯片针脚栅格阵列) 一种芯片封装形式,例:奔腾III 370。
FDIV(Floationg Point Divide,浮点除)
FEMMS(Fast Entry/Exit Multimedia State,快速进入/退出多媒体状态)在多能奔腾之中,MMX和浮点单元是不能同时运行的。新的芯片加快了两者之间的切换,这就是FEMMS。
FFT(fast Fourier transform,快速热欧姆转换)一种复杂的算法,可以测试CPU的浮点能力。
FID(FID:Frequency identify,频率鉴别号码) 奔腾III通过ID号来检查CPU频率的方法,能够有效防止Remark。
FIFO(First Input First Output,先入先出队列) 这是一种传统的按序执行方法,先进入的指令先完成并引退,跟着才执行第二条指令。
FLOP(Floating Point Operations Per Second,浮点操作/秒) 计算CPU浮点能力的一个单位。
FMUL(Floationg Point Multiplication,浮点乘)
FPU(Float Point Unit,浮点运算单元)
FPU是专用于浮点运算的处理器,以前的FPU是一种单独芯片,在486之后,英特尔把FPU与集成在CPU之内。
FSUB(Floationg Point Subtraction,浮点减)
HL-PBGA(表面黏著、高耐热、轻薄型塑胶球状矩阵封装)一种芯片封装形式。
IA(Intel Architecture,英特尔架构) 英特尔公司开发的x86芯片结构。
ID(identify,鉴别号码)用于判断不同芯片的识别代码。
IMM(Intel Mobile Module, 英特尔移动模块)英特尔开发用于笔记本电脑的处理器模块,集成了CPU和其它控制设备。
Instructions Cache(指令缓存)由于系统主内存的速度较慢,当CPU读取指令的时候,会导致CPU停下来等待内存传输的情况。指令缓存就是在主内存与CPU之间增加一个快速的存储区域,即使CPU未要求到指令,主内存也会自动把指令预先送到指令缓存,当CPU要求到指令时,可以直接从指令缓存中读出,无须再存取主内存,减少了CPU的等待时间。
Instruction Coloring(指令分类)一种制造预测执行指令的技术,一旦预测判断被相应的指令决定以后,处理器就会相同的指令处理同类的判断。
Instruction Issue(指令发送)它是第一个CPU管道,用于接收内存送到的指令,并把它发到执行单元。
IPC(Instructions Per Clock Cycle,指令/时钟周期) 表示在一个时钟周期用可以完成的指令数目。
KNI(Katmai New Instructions,Katmai新指令集,即SSE)
Latency(潜伏期)从字面上了解其含义是比较困难的,实际上,它表示完全执行一个指令所需的时钟周期,潜伏期越少越好。严格来说,潜伏期包括一个指令从接收到发送的全过程。现今的大多数x86指令都需要约5个时钟周期,但这些周期之中有部分是与其它指令交迭在一起的(并行处理),因此CPU制造商宣传的潜伏期要比实际的时间长。
LDT(Lightning Data Transport,闪电数据传输总线) K8采用的新型数据总线,外频在200MHz以上。
MMX(MultiMedia Extensions,多媒体扩展指令集)英特尔开发的最早期SIMD指令集,可以增强浮点和多媒体运算的速度。
MFLOPS(Million Floationg Point/Second,每秒百万个浮点操作) 计算CPU浮点能力的一个单位,以百万条指令为基准。
NI(Non-Intel,非英特尔架构)除了英特尔之外,还有许多其它生产兼容x86体系的厂商,由于专利权的问题,它们的产品和英特尔系不一样,但仍然能运行x86指令。
OLGA(Organic Land Grid Array,基板栅格阵列) 一种芯片封装形式。
OoO(Out of Order,乱序执行)Post-RISC芯片的特性之一,能够不按照程序提供的顺序完成计算任务,是一种加快处理器运算速度的架构。
PGA(Pin-Grid Array,引脚网格阵列)一种芯片封装形式,缺点是耗电量大。
Post-RISC 一种新型的处理器架构,它的内核是RISC,而外围是CISC,结合了两种架构的优点,拥有预测执行、处理器重命名等先进特性,如:Athlon。
PSN(Processor Serial numbers,处理器序列号)标识处理器特性的一组号码,包括主频、生产日期、生产编号等。
PIB(Processor In a Box,盒装处理器)CPU厂商正式在市面上发售的产品,通常要比OEM(Original Equipment Manufacturer,原始设备制造商)厂商流通到市场的散装芯片贵,但只有PIB拥有厂商正式的保修权利。
PPGA(Plastic Pin Grid Array,塑胶针状矩阵封装) 一种芯片封装形式,缺点是耗电量大。
PQFP(Plastic Quad Flat Package,塑料方块平面封装) 一种芯片封装形式。
RAW(Read after Write,写后读) 这是CPU乱序执行造成的错误,即在必要条件未成立之前,已经先写下结论,导致最终结果出错。
Register Contention(抢占寄存器)当寄存器的上一个写回任务未完成时,另一个指令征用此寄存器时出现的冲突。
Register Pressure(寄存器不足)软件算法执行时所需的寄存器数目受到限制。对于X86处理器来说,寄存器不足已经成为了它的最大特点,因此AMD才想在下一代芯片K8之中,增加寄存器的数量。
Register Renaming(寄存器重命名)把一个指令的输出值重新定位到一个任意的内部寄存器。在x86架构中,这类情况是常常出现的,如:一个fld或fxch或mov指令需要同一个目标寄存器时,就要动用到寄存器重命名。
Remark(芯片频率重标识)芯片制造商为了方便自己的产品定级,把大部分CPU都设置为可以自由调节倍频和外频,它在同一批CPU中选出好的定为较高的一级,性能不足的定位较低的一级,这些都在工厂内部完成,是合法的频率定位方法。但出厂以后,经销商把低档的CPU超频后,贴上新的标签,当成高档CPU卖的非法频率定位则称为Remark。因为生产商有权力改变自己的产品,而经销商这样做就是侵犯版权,不要以为只有软件才有版权,硬件也有版权呢。
Resource contention(资源冲突) 当一个指令需要寄存器或管道时,它们被其它指令所用,处理器不能即时作出回应,这就是资源冲突。
Retirement(指令引退)当处理器执行过一条指令后,自动把它从调度进程中去掉。如果仅是指令完成,但仍留在调度进程中,亦不算是指令引退。
RISC(Reduced Instruction Set Computing,精简指令集计算机) 一种指令长度较短的计算机,其运行速度比CISC要快。
SEC(Single Edge Connector,单边连接器) 一种处理器的模块,如:奔腾II。
SIMD(Single Instruction Multiple Data,单指令多数据流)能够复制多个操作,并把它们打包在大型寄存器的一组指令集,例:3DNow!、SSE。
SiO2F(Fluorided Silicon Oxide,二氧氟化硅) 制造电子元件才需要用到的材料。
SOI(Silicon on insulator,绝缘体硅片)
SONC(System on a chip,系统集成芯片) 在一个处理器中集成多种功能,如:Cyrix MediaGX。
SPEC(System Performance Evaluation Corporation,系统性能评估测试) 测试系统总体性能的Benchmark。
Speculative execution(预测执行)一个用于执行未明指令流的区域。当分支指令发出之后,传统处理器在未收到正确的反馈信息之前,是不能做任何工作的,而具有预测执行能力的新型处理器,可以估计即将执行的指令,采用预先计算的方法来加快整个处理过程。
SQRT(Square Root Calculations,平方根计算)一种复杂的运算,可以考验CPU的浮点能力。
SSE(Streaming SIMD Extensions,单一指令多数据流扩展) 英特尔开发的第二代SIMD指令集,有70条指令,可以增强浮点和多媒体运算的速度。
Superscalar(超标量体系结构)在同一时钟周期可以执行多条指令流的处理器架构。
TCP(Tape Carrier Package,薄膜封装)一种芯片封装形式,特点是发热小。
Throughput(吞吐量) 它包括两种含义:
第一种:执行一条指令所需的最少时钟周期数,越少越好。执行的速度越快,下一条指令和它抢占资源的机率也越少。
第二种:在一定时间内可以执行的最多指令数,当然是越大越好。
TLBs(Translate Look side Buffers,翻译旁视缓冲器) 用于存储指令和输入/输出数值的区域。
VALU(Vector Arithmetic Logic Unit,向量算术逻辑单元) 在处理器中用于向量运算的部分。
VLIW(Very Long Instruction Word,超长指令字) 一种非常长的指令组合,它把许多条指令连在一起,增加了运算的速度。
VPU(Vector Permutate Unit,向量排列单元) 在处理器中用于排列数据的部分。 |