作者eentut (四叶幸运草)
站内hardware
标题Re: [请益] 请问CPU速度怎麽看
时间Fri Mar 2 23:22:27 2007
小弟并非强者或高手级的
只是有些观念怕大众被误导
所以再写了回文 有不足之处或观念错误之处 请指教
1.
单位的大小写关系非常重大
虽然只是个小地方 有时却相差甚远 更是种礼貌
Hz : 频率的单位 怎麽来的呢?
http://www.phy.cuhk.edu.hk/phyworld/history/chi/hertz.html
当把H改成h时 那就是不尊重了
而 f = 1 / T
2.
在基本电学里 除了数位逻辑以外
全都用10进制以下请自行加上单位 如Hz g m V A...等)
1T=1000G=10^3G
1G=1000M=10^3M
1M=1000K=10^3K
1K=1000 =10^3
1 =1000m=10^3m....等
试想 若把M写成m 相差几倍?
计算机只认得0和1
因此就产生2进制这种东西
计算机里面的资料与储存媒体便以2进制来储存或运算
为了方便计算 让人一目了然
於是便利用2^10=1024这种特性来定义一个世代的演进
1 byte = 8 bits => 1 B = 8 b
1 KB = 1024 B = 2^10 B
1 MB = 1024 KB = 2^10 KB
1 GB = 1024 MB = 2^10 MB
1 TB = 1024 GB = 2^10 GB ...等
有没注意到它的最小单位是bit 不像电学里的还有更小计算法
而厂商标示的硬碟容量怎跟在BIOS或OS上看的有段差距呢?
主要是厂商把2进制硬用10进位标识
如80GB的硬碟怎得出的呢?
是 75 * 1024 * 1024 * 1024 B = 80.5GB
而BIOS和OS则认为1024是个阶段
所以就变成了 75 * 1024 * 1024 * 1024 B
= 75 * 1024 * 1024 KB
= 75 * 1024 MB
= 75 GB
所以显示的和厂商标示不同
电脑里面的频率是靠着一颗clock generator产生的
不管在电学中或是计算机里 频率一定是10进位
若用2进制去算CPU频率 而其他装置维持基本电学原理
有什麽後果呢?
当电脑里面不同步时 就算只差个1KHz
轻则资料错误 重则电脑无法动作
以前的clock generator为了cost down
有些低阶晶片只有除频功能 并没有定频功能
什麽是除频功能呢?
PCI槽正常工作频率是33MHz
当CPU外频为133MHz时 clock generator便除以4 来供给PCI槽频率
当我们CPU超频时 假设到150MHz 除以4以後 变成37.5MHz
有些PCI device是无法承受如此高的频率
常导致传输资料错误或者不动作
所以请勿说"差个1MHz没什麽"
现在大多数的clock generator都有定频功能了
就算CPU超频也能使PCI槽维持在33MHz的频率
频率怎得出的呢?
SDRAM大家都知道 有 100MHz 133MHz 166MHz...等
100MHz而言 它的clock cycle time = 10 ns 所以 f = 1 / 10 ns =100 MHz
133MHz而言 它的clock cycle time = 7.5 ns 所以 f = 1 / 7.5 ns =133.333... MHz
厂商为了方便起见便简写成133MHz
军方电脑也是电脑
针对特殊用途设计
用的频率度量单位跟家用电脑完全一样
只是浮点运算更强 更能精准追踪或摧毁目标 误差更小
3.
说到计算资料所需要用到的脉波
那就得导入pipeline的观念
http://www.cis.nctu.edu.tw/~info27/ch6/6-1.htm
以下是譬喻 比较能让人理解
http://oz.nthu.edu.tw/~d917522/pipelined.htm
我们所说的计算是一个指令脉波周期
但得到结果的时间可能是好几个脉波周期以後
请务必要有latency观念
4.
: P4以前均是32位元电脑 先在新出的AM2 C2D都是64位元电脑.
: 「位元」(bits)指的是处理器的暂存器(registers)一次所能储存和处理的最大量
: 换言之,一颗64位元处理器能处理的量,是32位元处理器的两倍大
: 32位元跃向64位元,也会导致处理器在每一时脉周期中所能处理的资料数量倍增
: 64位元系统的一大优点,是能支援更大的系统记忆容量。
: 32位元晶片通常只能支援4GB的记忆容量。
: 64位元处理器能支援巨大的记忆容量—最多能达到16EB
这里所说的32bits 64bits是指CPU一次所能处理的资料量
在DDR DDR2时期 memory的data bus早就是64bits
这里所说的是 资料汇流排一次能传输64bits资料 并非CPU一次所能处理的资料量
而管理记忆体容量的要牵扯到Address Bus
所以上封信我才建议先搞懂这2种汇流排再来谈处理器类别
5.
以下为Cache原理与作用 我简单摘要 不再详述
http://www.csie.ntu.edu.tw/~r89004/hive/cache/page_1.html
Cache 的原理,主要是利用到大部分的程式,在处理资料时,都有一定程度的区域性。
所以,我们可以用一小块快速的记忆体,来暂存目前需要的资料。
例如,几乎所有的程式,大部分的执行时间是花在一些回圈中。这些回圈通常都不大,
可能只占整个程式空间的百分之一。如果一个程式经常要执行这段程式数千、甚至数万
次,那就可以把这一小段程式放在 cache 中,CPU 就不需要每次都到很慢的主记忆体
中读取这段程式了。
Cache 对速度有什麽影响呢?这可以由 latency 来表示。CPU 在从记忆体中读取资料
(或程式)时,会需要等待一段时间,这段时间就是 latency,通常用 cycle 数表示
。例如,一般来说,如果资料已经在 L1 cache 中,则 CPU 在读取资料时(这种情形
称为 L1 cache hit),CPU 是不需要多等的。但是,如果资料不在 L1 cache 中(这
种情形称为 L1 cache miss),则 CPU 就得到 L2 cache 去读取资料了。这种情形下
,CPU 就需要等待一段时间。如果需要的资料也不在 L2 cache 中,也就是 L2 cache
miss,那麽 CPU 就得到主记忆体中读取资料了(假设没有 L3 cache)。这时候,CPU
就得等待更长的时间。
6.
CPU就算是同时脉 也有封装和设计方式不同 而有所差异
并不只能看cache大小来评断CPU好坏
对於CPU我了解很少 所以有人想补充的 欢迎赐教
谢谢~
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.117.67.214
1F:推 yichang53:这篇板大麻烦M一下 推 03/02 23:25
2F:推 rockslame:佩服 能写出这篇真不容易 长知识了 03/02 23:29
3F:推 ok8829:m起来!!!!! 03/02 23:33
4F:推 ylseal:感谢大大厘清概念... 03/02 23:49
5F:→ chiangchin:COOL! 03/03 00:12
6F:推 theWANDERER: 03/03 00:28
7F:推 ineedfree:佩服大大 让我增长许多正确的知识了 一定要推的阿 03/03 00:31
8F:推 quadra:推荐这篇文章 (Y) 03/03 02:27
9F:推 kai1210:感谢scer的刺激更要感谢原po的知识^^ 03/03 04:36
10F:推 needhp:一定要推一下的 03/03 07:37
11F:推 chirevl:连路人都忍不住想推 03/03 08:41
12F:推 idot:大推!!! 03/03 09:20
13F:推 standly38: 长知识了~好开心好开心 03/03 09:21
14F:推 emperorgod:推~~~ 03/03 09:56
15F:推 yanunix:cpu要看架构,当然cache越大越好,不过大到一个点就不会有 03/03 10:28
16F:→ yanunix:太大差异… 03/03 10:30
17F:推 Limsea:Good 03/03 10:49
18F:→ Limsea:军规电脑也讲求严苛环境下的可靠度 03/03 10:54
19F:推 sent3:电子人推~~~观念很正确~~ 03/03 13:48
20F:推 pupucar:如果考虑superscalar VLIW架构 CPI是可能小於一的 03/03 15:46
21F:嘘 ation33:希望硬体版多点这类文章,现在硬体版菜单太多了... 03/03 16:23
22F:推 ation33:推回来 03/03 16:29
23F:→ wr:这个版没看过读过计组的人太多了... 03/03 19:23
24F:推 jeff0323: 03/03 20:36
25F:推 wgfbyb:推… 03/03 21:03
26F:推 ben996:就算是资管本科的我看的也是非常棒非常正确的文章 推荐.. 03/04 09:57
27F:推 bacanhsu:单位只要是以人名当单位的 都要大写 ex:A(安培) F(法拉) 03/04 11:07