瑞星卡卡安全论坛技术交流区系统软件 【新手上路】计算机中容易忽略的字母敏感问题

1   1  /  1  页   跳转

【新手上路】计算机中容易忽略的字母敏感问题

【新手上路】计算机中容易忽略的字母敏感问题

B和b在英文中是大小写的关系,在很多情况下并没有太大的差别。但在计算机中,B可绝对≠b。在计算机领域内B=byte,而b=bit。
  但是在实际使用的过程中有好多人对此分不清楚,其中不乏厂商和媒体。笔者记得某主板厂商在宣传自己的产品支持SATAⅡ(这个规范其实没有被确切制定)的优势,在广告中提到“高达3Gb/s的传输速度,即便是传送100GB的文件也不会超过40s”。抛开理论和实际的差别,难道3Gb/s=3GB/s吗?它们就没有任何差别吗?其实,在这里3Gb/s=300MB/s,至于为什么是10倍的关系,一会笔者会做出说明。
  在信息技术和数码技术领域中,我们用“数位组”表示信息的数量的单位。而一个数位组是数个二进位的组合。即一个数位组通常由8个二进位组成。16个二进位合成一个字(Word),32个二进位构成一个复字(Double words)。每个二进位,可用来代表两种状态之一,如电路的开/断等)组成,因此可以代表28=256个不同的状态。4个二进位的组合称为(四位组Nibble)。8个二进位的组合则为一个八位组(Octet)。所以一个数位组通常是一个八位组。归结为一句话,8位二进制称为一字节,也就是8bit=1byte。这里需要说明一下:早期的不同计算机系统中使用的数位组含有的二进位数目不尽相同。但目前数位组在应用上已经统一。
  上面的说明也正是我们在计算显存、内存、CPU等带宽时需要除以8的原因。用一个实例来说明,比如你用的是双通道DDR400规格的内存条,那么它的带宽就是400MHz×64bit(现在主流PC内存都是64bit的)/8(位与字节的转化)×2(双通道)=6400MB/s,这就是理论的带宽。
  不过,从PCI时代过渡到了PCI-Express时代这些就有变化了,因为PCI-Express的基频高达2.5GHz。在串行通讯中,解决直流偏移的原理很简单:通过编码使得“0”、“1”信号数量相等,这样就消除了信号序列中的直流分量。没有直流分量,发送器和接收器就只进行交流耦合,也就不必再考虑两端参考电压差异所带来的影响,从而提高错误容限。简单来说:采用了8B/10B编码是一个不错的解决方案。
  其实,8B/10B编码是mBnB编码方式的一个特例。所谓mBnB编码即在发送端,将mbits的基带数据映射成nbits数据发送。当n>m时,在发送侧就产生了冗余性。对于8B/10B编码,即是将8bits的基带数据映射成10bits的数据(这样算法上可以保证10bit数据中“0”/“1”信号的数量相等)进行发送,这种方式也叫做不一致控制。从本质上讲,这种方式防止在基带数据中过多的0码流或1码流,任何一方过多的码流均造成了这种不一致性。也就是说采用8B/10B二进制块编码,8位数据被编成10位代码,以1.25Gb/s的速度发送,从而得到1Gb/s的有效数据率。
  由于PCI-Express串行连接使用了这种内嵌时钟技术(8b/10b编码模式),其传输效率只有80%,所以基于PCI-Express技术的产品,其传输都会有20%的损耗。这也就解释了SATA 1.0 1.5Gb/s的最大传输速度只有150MB/s(1.5Gb/s×80%/8)。明白了这一点,我们来计算一下上面广告中所提到的问题:3Gb/s×80%/8=300MB/s、100GB/300MB/s=333s,这个结果整整差了10倍。

最后编辑2006-01-12 17:43:54
分享到:
gototop
 

的确是

我们常说的宽带1M  其实就是 1Mb 而非 1MB

然而 1Byte = 8bit

所以我们常说 宽带1M实际的网络连接速度 = 1MB 除以8
gototop
 

gototop
 
1   1  /  1  页   跳转
页面顶部
Powered by Discuz!NT