字节总是8位吗?

use*_*499 19 byte bits

当我阅读以下摘录时,我正在研究计算系统的要素:

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

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

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

那不是一张16K的内存映射吗?

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

Gol*_*rol 17

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

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

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

因此,8K指的是8个Kilowords.如果在本书中使用该表示法,那么8千字节将被正式写为8KB.

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

要查看字节和单词的相关性,请阅读此答案.

不同的字节大小

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

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

  • @JonJayObermark - 你错了.几乎每个可能的字长都曾被使用过.平价是一种奢侈品,直到1970年才能承受. (8认同)
  • @JonJayObermark - 我在IBM 1975年使用了两个不同的微处理器.一个有15位字(因此可能有16位的奇偶校验位)而另一个有17位字(有效地使用9位"字节") RAM并具有1位奇偶校验). (5认同)
  • @JonJayObermark - 当每个人和他的兄弟都在设计一个微型计算机时,这种情况又回来了,推动的是从可用的大门中挤出最多的功能.大多数此范围内的微观视图被视为支持仿真器,而在仿真器中,额外的一部分通常非常强大. (3认同)