本页主题: 知识帖:1G=1024M,又一个千年虫问题? 打印 | 加为IE收藏 | 复制链接 | 收藏主题 | 上一主题 | 下一主题

小雪球球
スターの中のスター
级别: 炽天使


精华: 1
发帖: 2279
威望: 2532 度
天使币: 3457 天使币
纯洁度: 135 度
准精华: 0 个
朋友圈: 雪鈴後援會
在线时间:1231(小时)
注册时间:2007-08-05
最后登录:2008-11-21

 知识帖:1G=1024M,又一个千年虫问题?

新闻来源:cnBeta网友原创
硬盘厂商将1GB定义为1,000,000,000B的常规做法又一次成为了争论的焦点。为了帮助对此有疑惑的网友搞清楚一些容易混淆的背景情况,草成此短文。水平有限,如有错误或是火星之处还请口下留情。
先明确一个关键问题,什么是G,什么是M?



G和M是国际单位制(SI)中所规定的词头(prefix)。词头加在SI单位(非SI单位也可以使用并通常遵循此用法)之前表示10的整数幂次,譬如k表示10^3=1000,M表示10^6=1,000,000,G则表示10^9=1,000,000,000.

举些例子,1kg=1000g,1km=1000m,1GeV=1,000,000,000eV=1,000MeV,都是大家所熟悉的用法。24K金那个K和SI可没关系,24K的K也不是词头,因为后面没有单位。

回到正题上来,虽然B并不是SI单位,但考虑到SI前缀不应用于2的幂次的明确要求,此处1GB应该是10^9B=1000*10^6B=1000MB。从这个意义上来说,硬盘厂商的标注没有错。

那么经常听到的1GB=1024MB的说法是怎么来的?这就要从计算机的童年时代说起。

起先计算机的存储容量低到可怜,几千个Byte算是很奢侈的容量,由于计算机的二进制特性,这个容量通常是2的整数次幂,用起来不方便。IT工程师们发现 2^10=1024与k=10^3接近,相差不过2%。于是就有人偷懒以1kB表示2^10B也就是1024B,初看起来一切都好,2%的差距并不大,时间长了大家也就接受了。

但问题在于,随着计算机的存储容量依摩尔定律(Moore’s Law)以指数增长,这个差值会越来越大。1kB与1KiB(稍后解释)相差不过2%,1MB与1MiB相差近5%,1GB与1GiB相差7%,1TB和 1TiB足足差了10%。可以预见,随着硬盘容量的进一步扩大,希捷为了这几个字母复杂多变的含义所吃的官司会越来越多。

时至今日,在IT业中已经形成了如下的这种混乱局面:
CPU厂商计算频率时认为1GHz=10^9Hz,内存厂商认为1GB=2^30B,硬盘/闪存则是1GB=10^9B,微软则坚持认为1GB= 2^30B。通信工程师们认为千兆以太网的位速率是1Gbit/s=10^9bit/s,32bit 33.3MHz的 PCI在一个周期内可以传输4Byte,带宽也就成了133.3MB=133.3*10^6B。更有甚者还有混着用的:1.44MB软盘的容量是奇怪的 1474560B。80柱面*2磁头*18扇区一共是2880个512B的扇区,于是就被叫成了1.44MB。如果我买了一台电脑拥有2.4GHz的 CPU/2GB的内存/320GB的硬盘/双GbE,那么这4个G中,唯独第2个的含义与众不同。

看来当初的偷懒做法和造成千年虫问题的节约搞法一样愚蠢是么?确实如此。

为了解决这个混乱的局面,还是有人做过努力。早在1998年SI手册中明确要求SI词头不应用于2的幂次。而同年国际电工委员会(IEC)推出了一套适用于2进制的词头,并且得到了IEEE的批准 (IEEE 1541)——不过这还是一个试用的标准。简单来说就是在SI词头后加"i"。比如说k就成了Ki,M成了Mi,G成了Gi。发音把原来SI词头的第二个音节换成[bi]。譬如Ki念 [kibi],Mi念[mebi],Gi则是[Gibi]等等依此类推。这样,kMG之类的的SI词头回复原来的含义,表示2幂次重任就交给了Ki= 2^10=1024,Mi=2^20=1048576,Gi=2^30=1073741824等等。这么一来,当表述一台电脑是3.15GHz CPU/2GiB内存/320GB硬盘时,G/Gi的含义就不存在歧义。

很简明易懂的解决方案,然而很不幸似乎买IEC帐的着实不多,目前支持IEC词头的软件屈指可数——可喜的是其中包括Linux核心。更糟糕的是1G= 1024M这种约定俗成的错误观念已经根深蒂固。如果说千年虫问题到2000年就基本告一段落,而kMGTP这几个普普通通的字母带来的混乱,还会持续多久呢?

附上参考页面:http://www.iec.ch/zone/si/si_bytes.htm
http://www.bipm.org/en/si/si_brochure/
「憎しみ合い、嘘をつき合い、我が儘な考え……まして、仲間同士が殺し合うような生き物が、良いとは言えぬ……宇宙の静かな平和を破壊する……我は、そのような生き物を掃除するために、ガイゾックによって造られた……」
顶端 Posted: 2007-10-29 18:22 | [楼 主]
下一代天骄
不放过任何一个犯贱和吐槽的机会
级别: 炽天使


精华: 1
发帖: 8158
威望: 9139 度
天使币: 297 天使币
纯洁度: 46 度
准精华: 1 个
朋友圈: 雪铃蟹组
在线时间:2475(小时)
注册时间:2007-08-10
最后登录:2008-11-23

 

我们一直在被坑
  
好吧我承认宇宙里没有空气是我努力不够
想不出来活着是为了什么的话就想想你干嘛不去死
吃葡萄的不吐葡萄皮,吃不到葡萄的说葡萄酸
最好的不见得就最合适,合适的就是最好的
在我邪恶的外表下埋藏的正是我有如元气loli一般纯洁善良的心灵,你们都被我的表象给蒙蔽了
正在追/看的:今日的5年2班(雪铃)6,闪电11人(雪铃)7,一休(雪铃)2,口袋DP(雪铃)102,银魂(LAC)132,下一站天后-6,死神(jumpcn)197,高达蛋蛋2(漫游)7,交响.巴黎篇(PSS)6,钢铁新娘(HKG)7,再造人卡辛-7,ClannadAs-7,北斗神拳.拉奥外传-7,龙叉虎(澄空)7,地狱少女三鼎-7,武装机甲(漫游)7,无限住人(PPX) 9,神薙-7,魔法禁书目录(HKG)7,天体战士-7,泰坦尼亚(PPX)6,超智游戏-5;
无责任舰长充分说明了人品才是决定一切的

欢迎到某个帖子里参与自爆活动
顶端 Posted: 2007-10-29 19:52 | 1 楼
荒野祀、
结束?劫数
级别: 神圣天使


精华: 1
发帖: 1305
威望: 1422 度
天使币: 199610 天使币
纯洁度: 21 度
准精华: 0 个
朋友圈: 儚く揺れ
在线时间:260(小时)
注册时间:2007-08-06
最后登录:2008-11-16

 

反正没多大关系。。。

No way to say
顶端 Posted: 2007-10-30 22:34 | 2 楼
omega4000
级别: 民間人


精华: 0
发帖: 77
威望: 79 度
天使币: 224 天使币
纯洁度: 0 度
准精华: 0 个
在线时间:44(小时)
注册时间:2007-08-13
最后登录:2008-11-10

 

又多一点知识了
顶端 Posted: 2007-11-02 21:23 | 3 楼
帖子浏览记录 版块浏览记录
Snowrin~雪铃动漫~ » 水色の閣『Mizuiro no Kaku』

Time now is:11-23 05:43, Gzip enabled
Powered by PHPWind v6.3.2 Certificate Code © 2003-08 PHPWind.com Corporation