字和字长是什么?
字(word)和字长(word size)应一起学习并记忆:
一般来说,字长(word size)就是 the size of word(字)。而字(word)是什么呢?根据CSAPP中的定义,字(word)是计算机总线一次能传送的定长字节块,换句话说,字(word)是定长的数据、比特流、信息流;而字长(word size)只是 the size of word,是一个固定的参数,代表了计算机一次能够处理的位数等。
而具体到特定计算机系统/指令集,其规定的字(word)的位数可能与字长(word size)并不相等。比如 IA-32(英特尔32位体系架构)的某个工作模式下,其规定的字(word)是16位,双字(double word)是32位,但是IA-32的确是32位字长(word size)的架构。出现这种字长(word size)不等于 the size of word(字)的现象的原因,是因为 Intel 希望 IA-32 能够和上一代的cpu兼容。
总结一下,我们在一般情况下可以认为字长(word size)就是 the size of word(字),但也要具体情况具体分析,具体到某个特定的计算机/体系架构,就得根据它的手册或者是题目给的信息来做判断了。
补充:
位(bit):0或1
字节(Byte): 8位
注意:字节(Byte)是精确定义的,不像字长(word size)和字(word)那样在不同指令体系中会不一样。
字长(word size): 英文对应名称也可以是 word width 或 word length.