硬件位数

通常所说的8位主机,16位主机等,这里的“位(bit)”通常指的是CPU处理器的位数,它给出了CPU处理器通过总线与外部器件相互传递信息的能力,位数越大处理能力越强。比如8位的CPU单次通信量为28=256个值。这里的总线一般指的是数据总线,即CPU与内存等双向交换数据的通道。 区别于地址总线,地址总线携带处理器和内存之间的通信地址,表示CPU访问内存数据时的寻址范围,它决定了多少内存可以被访问。比如你的内存有1MB,16位地址总线说明只可以访问216=65536B=64kB内存,内存就无法被充分访问。地址总线与数据地址可以不同,更大的话通常是2倍。 比如我们熟知的任天堂Famicom(俗称红白机),它所用的CPU是以MOS 6502为核心的Ricoh 2A03[1],其数据总线为8位,地址总线为16位。

家用游戏主机的迭代基本是随着计算机迭代而发生的,但我们并不能严格地按照位数来区分不同的代数。例如,隶属第二世代的雅达利2600所用的CPU是MOS 6507[2],这是第三世代Famicom的6502的精简版,所以同样是8位CPU,但6502对当时的雅达利来说太贵,所以将地址总线缩小到了13位,即只能寻址8kB内存。 会造成世代与位数相对应这样的印象是因为有段时间主机开发公司很喜欢强调这个概念,以证明自己的主机性能比对手更加优越,而实际上大多时候表现效果确实更强,看起来像是次世代的。 其中比较有名的例子是世嘉(SEGA)在1988年首发的Mega Drive(MD)第一代,直接将金黄的“16-BIT”字样印在主机最显眼的地方。MD一代采用的CPU是Motorola 68000,这是一块16/32位处理器[3],更早的时候一般用在街机上。 后来为了填补32位主机SEGA SATURN(SS)发售前的空白期,美区推出了MD的外设32X,搭载了两颗SH-2的32位处理器,让玩家能在MD上体验32位游戏。

↑↑↑ 日版MD第一代,印着大大的16-BIT。来自Wikipedia

所以有时也会出现稍微夸大自家的性能的情景。Playstation2(PS2)的CPU是SONY和TOSHIBA联合开发的名为Emotion Engine的处理器,号称世界上首个128位处理器[4]。但其实这是一块基于MIPS指令集架构[5]的芯片,本质上是64位的,配上两个128位的矢量处理单位,一个能同时处理四组32位数据,但不能处理一组128位数据。 但到PS2之后就没人再提这个概念了,大家也都清楚位数并不是决定一个处理器能力的唯一指标,出于经济考虑,64位对于大多数情况下都够用了。


[1] https://hackaday.io/project/21496-fpga-nes/log/58495-cpu-overview
[2] https://dfarq.homeip.net/atari-2600-cpu/
[3] 这是因为Motorola为了一步到位而直接开发出16和32位的混合型号。但MD第一代大多数游戏都是16位的
[4] https://www.global.toshiba/ww/news/corporate/1999/03/pr0401.html
[5] 什么是指令集架构https://blog.csdn.net/qq_46675545/article/details/128188684