CPU学习笔记(1)
作者: Badcoffee
Email: blog.oliver@gmail.com
Blog: http://blog.csdn.net/yayong
2005年4月
这是作者学习硬件基本知识过程中的笔记,由于以前很少接触这方面的知识,又缺乏系统的
学习,若有错误之处,请多多指正。
一、Intel CPU的主要部件:
1. CPU内核:
是真正意义上的处理器,用于执行指令和处理数据,其计算能力与CPU的速度密切相关。
2. L1 Cache
CPU内部集成的L1 Cache(一级高速缓存),又被称为主缓存,用于暂存部分指令和数据。它和
CPU同频运行,是所有Cache中速度最快的。它一般由SRAM组成,造价昂贵而且结构复杂,由于
CPU体积有限,所以L1 Cache的容量一般不会太大。CPU的L1 Cache又分为D-Cache(Data Cache,
数据高速缓存)和ICache(Instruction Cache,指令高速缓存)。这种双路高速缓存架构减少
了争用高速缓存所造成的冲突,有效提高处理器性能。不过Pentium 4处理器放弃了ICache而采
用了更高效的T-Cache(Trace Cache)。
3. L2 Cache
即二级高速缓存。高速缓存器,提供CPU计算所需的指令和数据。通常由三个部件组成:L2 Cache
Controller、Cache SRAM和Cache tag RAM。分别用作控制器、存储器和缓存检索表。
由于L1 Cache 的成本昂贵,所以CPU内部集成了L2 Cache 以弥补L1Cache 较小的容量。L2 Cache
一般选用SDRAM。目前CPU内部集成的L2 Cache,英文叫On-die,一般都是L1 Cache的两倍或者是四
倍,甚至更多。在早期,二级缓存芯片多是放置在主板上,英文叫On-board,而不是集成在CPU内部的。
4. BSB (Backside Bus):
通常称之为后端总线。互连CPU内核和二级缓存的总线。主要负责向CPU提供L2 Cache所存储的指令
和数据。BSB提供了66MHz、半速、全速三种速度。BSB速度决定了CPU访问Cache的速度。由于CPU所
需的指令和数据主要来自于L2 Cache,所以BSB速度对系统性能有非常重要的影响。
5. FSB (Frontside Bus):
即通常所说的前端总线。互连CPU和主板芯片组的总线,一般用于互连CPU和内存控制器。
FSB的速度即是通常所说的外频。FSB速度的高低影响CPU对主内存的存取。
二、相关名词:
外频:
CPU访问内存的带宽。
Cache Line:
The smallest unit of memory than can be transferred between the main memory and the cache.
Rather than reading a single word or byte from main memory at a time, each cache entry is
usually holds a certain number of words, known as a "cache line" or "cache block" and a
whole line is read and cached at once. This takes advantage of the principle of locality
of reference: if one location is read then nearby locations (particularly following locations)
are likely to be read soon afterwards. It can also take advantage of page-mode DRAM which
allows faster access to consecutive locations.
主存和cache之间数据传输的最小单位。每次CPU访问内存时,以Cache Line为单位,请求一个或多
个Cache Line。Intel的P5和P6类CPU来说,一个Cache Line由32字节的数据或指令组成,也就是一
个Cache Line共256位,当CPU向L2 Cache请求1个Cache Line时,那么将从BSB上向CPU传输256位数
据或指令,如果BSB为64位宽,那么至少要分4次传输,如果每次传输能在1个Clock内完成,则传完
一个Cache Line至少需要4个Clock;若BSB数据宽度为256位,则只需在1个Clock内完成。
write through:
A cache architecture in which data is written to main memory at the same time as it is cached.
write back:
A cache architecture in which data is only written to main memory when it is forced out of the cache.
ATC:
Intel的一种BSB总线技术,称为Advanced Transfer Cache简称ATC。
MIPS:
MIPS(Million Instructions per Second)是处理器每秒中能执行几百万条指令的表示单位。这是
一种过时的而且不科学的衡量处理器速度与性能的度量单位。
SSE
SSE 指令集是Intel 为其Pentium Ⅲ系列处理器所开发指令集,它包括8条连续数据块传输内存优
化指令、12条MMX整数运算增强指令和50条SIMD浮点运算指令。这些指令能够强化系统对图形、视
频和音频的处理。SSE2 比起上一代增加了144条指令。
ALU
ALU(Arithmetic Logic Unit,算术逻辑单元)是CPU内部处理所有数据的部分,用来进行数学逻辑运算。
FPU
FPU(Floating-Point Unit,浮点运算单元)是目前专门进行浮点运算的单元。在Intel 80486 之前,
FPU作为一块特殊设计的独立芯片插装在主板上。它曾被称作数字协同处理器或浮点运算处理器。
在Intel 80486 之后,CPU一般都内置了FPU。
MMU
MMU(Memory Management Unit,存储器管理单元)是用来管理虚拟内存的系统组件。MMU 通常是CPU
的一部分,本身有少量的存储空间用来存放从虚拟地址到物理地址的匹配表TLB(Translation Look-aside
Buffer,或叫交叉转换表)。所有数据请求都送往MMU,由它来确定数据是在RAM内还是大容量存储设备内。
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=351514