数据的基本宽度

• 比特(bit,位)是计算机中处理、存储、传输信息的最小单位 • 二进制信息最基本的计量单位是“字节”(Byte) – 现代计算机中,存储器按字节编址 – 字节是最小可寻址单位(addressable unit ) – 如果以字节为一个排列单位,则LSB表示最低有效字节,MSB表示最高有效字节 • 除比特(位)和字节外,还经常使用“字”(word) 作为单位 – “字”和“字长”的概念不同 IA-32中的“字”有多少位?16位 字长多少位呢?32位 DWORD :32位 QWORD:64位 • “字”和“字长”的概念不同 –“字长”指数据通路的宽度。 ”字长”等于CPU内部总线的宽度、运算器的位数、通用寄存器的宽度(这些部件的宽度都是一样的) –“字”表示被处理信息的单位,用来度量数据类型的宽度 –字和字长的宽度可以一样,也可不同 例1:对于x86体系结构,不管字长多少,定义“字”的宽度都为16位,而从386开始字长就是32位了。 例2:对于MIPS 32体系结构,其字和字长都是32位。

数据通路的宽度

• 数据通路指CPU内部数据流经的路径以及路径上的部件,主要是CPU内部进行数据运算、存储和传送的部件,这些部件的宽度基本上要一致,才能相互匹配。 [

](http://www.wjgbaby.com/wp-content/uploads/2018/05/18050521-300x148.png)
](http://www.wjgbaby.com/wp-content/uploads/2018/05/18050521-300x148.png)

数据量的度量单位

• 存储二进制信息时的度量单位要比字节或字大得多 • 容量经常使用的单位有: – “千字节”(KB),1KB=210字节=1024B – “兆字节”(MB),1MB=220字节=1024KB – “千兆字节”(GB),1GB=230字节=1024MB – “兆兆字节”(TB),1TB=240字节=1024GB • 通信中的带宽使用的单位有: – “千比特/秒”(kb/s),1kbps=103 b/s=1000 bps – “兆比特/秒”(Mb/s),1Mbps=106 b/s =1000 kbps – “千兆比特/秒”(Gb/s),1Gbps=109 b/s =1000 Mbps – “兆兆比特/秒”(Tb/s),1Tbps=1012 b/s =1000 Gbps 如果把b换成B,则表示字节而不是比特(位) 例如,10MBps表示10兆字节/秒

程序中数据类型的宽度

高级语言支持多种不同类型和不同长度的数据 – 例如,C语言中char类型的宽度为1个字节,可表示一个字符(非数值数据),也可表示 一个8位的整数(数值数据) – 不同机器上表示的同一种类型的数据可能宽度不同 • 必须确定相应的机器级数据表示方式和相应的处理指令 [

](http://www.wjgbaby.com/wp-content/uploads/2018/05/18050522-300x231.png)
](http://www.wjgbaby.com/wp-content/uploads/2018/05/18050522-300x231.png)
从表中看出:同类型数据并不是所有机器都采用相同的宽度,分配的字节数随ISA、机器字长和编译器的不同而不同。 例如,ANSI C标准未规定long double的确切精度,所以对于不同平台有不同的实现。有的是8字节,有的是10字节,有的是12字节或16字节。

视频链接:

计算机系统基础(一):程序的表示,转换与链接

计算机系统基础(二):程序的执行和存储访问

计算机系统基础(三):异常、中断和输入/输出