字节总是8位吗?

时间:2012-11-28 22:43:24

标签: byte bits

当我阅读以下摘录时,我正在通过The Elements of Computing Systems

  

Hack计算机包括一个组织为256的黑白屏幕   每行512像素的行。屏幕的内容用表示    8K存储器映射,从RAM地址16384(0x400)开始。每一行   在物理屏幕上,从屏幕的左上角开始,是   RAM由32个连续的16位字表示。因此像素在   从顶部开始的行r和从左开始的列c映射在c%16上   位于RAM [16384 + r *]的字的位(从LSB到MSB)   32 + c%16]。要写入或读取物理屏幕的像素,一个   读取或写入RAM驻留存储器映射中的相应位   (1 =黑色,0 =白色)。

所以,如果屏幕是256行512像素,并且每个像素是一个比特,那么整个屏幕的8K内存映射怎么样?

256行* 512位= 131072/8位/字节/ 1024字节/ K = 16K

这不是16K的内存映射吗?

我唯一能想到的是因为字大小是16位,这可能是一个因素吗?我一直都知道“字节”意味着8位,但如果它的定义取决于计算机的字大小,那么这对我来说可能会解开这个谜团。有人可以向我解释该段落中描述的屏幕是如何用8K存储器地图而不是16K表示的吗?

3 个答案:

答案 0 :(得分:15)

是的,现代计算中的字节总是8位。

这本书使用的是单词,而不是字节

在书中,明确提到了单词和单词的大小,而没有关于字节的单词(haha)。看一下短语..is represented in RAM by 32 consecutive 16-bit words.。整个大小用(16位)字表示,而不是字节。

因此,8K指的是8个Kilowords。 8千字节将正式写成8KB,如果在本书中完全使用该符号。

在处理器架构方面,单词非常重要。编程语言中的单词通常是2个字节(或16位),但在处理器体系结构中,它们也可以是8位或32位,它们指的是处理器工作的数据单元的自然大小,因此有意义的是这本书使用的是单词而不是字节,因为文本似乎非常面向硬件。

要了解字节和字词的相关性,请阅读this answer

不同的字节大小

Wikipedia描述了一个字节最初是如何(20世纪60年代)基于它需要保存的信息的大小,所以6位字节可以用于(英语)字符,而其他大小的字节将被使用对于不同的数字格式。它最初为6位英文字符,增长到7位以支持ASCII,最终8位IBM System / 360的普及导致全球接受8位字节。

字节是表示数据量的软件单元,而字更多地依赖于处理器/存储器架构,并且表示处理器中的工作单元(寄存器)和存储器中的可寻址单元。 如今,一个字节总是被认为是8位,而字是其中的倍数。仍然有处理器具有不同的字大小,但那些是专用处理器。从PC到手机和游戏机的普通硬件都符合标准。

答案 1 :(得分:0)

用现代术语来说,字节总是有8位。自1993年以来,这就是IIRC。 ISO / IEC 2382-1:1993。

然而,也有一些系统将其他位数计数到一个字节是6位/ 7位。但是,还有其他更晦涩的地方。

最终,我认为今天很难找到一种不是基于8位到一个字节的机器。

答案 2 :(得分:-6)

除了造币后的短暂时期,一个字节一直是8位。

短语'一千字节'因为你有一个千位字(1024个可寻址的部分)的存储器是八位宽的,并且每个都可以寻址,所以它被普及为8千克。这件事是8位。

这个词并不总是八位,但是当它不是时,它从未被称为'八,'四是'或者在十六岁以上,或者在一些Burroughs簿记机器的特殊例子中,一百二十八个。在另一个极端,霍尼韦尔的机器最初是有组织的,所以存储中的每个位都有一个独特的地址,所以他们将拥有如此多的“一公斤”。记忆包。

对于你所说的机器,它会有#8; 8千克乘16"内存,因此是8K内存映射,特别是8Kx16,其中只有8192个地址,每个地址为16位。

对于ASCII和EBCDIC,最便宜的是具有8位地址边界,用于高效的文本处理,即使您的机器的寄存器更宽。登记册较窄的机器就灭绝了。

所以,是的,一个字节IS总是八位,几乎总是如此。