世界动态:为什么计算机采用八位字节
我正在制作一份有关计算机以二进制表示事物的小册子,有人问我一个问题 - 为什么 x86 架构使用 8 位字节?为什么不能是其他大小呢?
对于类似这样的问题,我认为有两种可能性:
这是历史原因造成的,其他尺寸(如 4、6 或 16 位)同样有效。8 位是客观上的最佳选择,即使历史发展不同,我们仍然会使用 8 位字节。一些混合 1 和 2 的因素。我对计算机历史并不是非常着迷(与阅读计算机文献相比,我更喜欢使用计算机),但我总是很好奇计算机事物今天的方式是否存在本质原因,或者它们大多是历史偶然的结果。因此,我们将谈论一些计算机历史。
【资料图】
作为历史偶然性的一个例子:DNS 有一个class
字段,它有 5 种可能的值(internet
、chaos
、hesiod
、none
和any
)。 对我来说,这是一个明显的历史意外的例子 - 如果我们今天重新设计 DNS 而不必担心向后兼容性,我无法想象我们会以相同的方式定义类字段。我不确定我们是否会使用class
字段!
这篇文章没有明确的答案,但我在Mastodon上提问,并找到了一些潜在的 8 位字节原因。我认为答案是这些原因的某种组合。
字节和字有什么区别?首先,本文中经常提到 “字节byte” 和 “字word”。它们有什么区别?我的理解是:
字节的大小是你可以寻址的最小单元。例如,在我的计算机上,程序中的0x20aa87c68
可能是一个字节的地址,然后0x20aa87c69
是下一个字节的地址。字的大小是字节大小的某个倍数。我对此困惑了多年,维基百科的定义非常模糊(“字是特定处理器设计使用的自然数据单元”)。我最初认为字大小与寄存器大小相同(在 x86-64 上为 64 位)。但是根据英特尔架构手册的第 4.1 节(“基本数据类型”),在 x86 上,虽然寄存器是 64 位的,但一个字是 16 位的。因此我困惑了 —— 在 x86 上,一个字是 16 位还是 64 位?它可以根据上下文而有不同的含义吗?这是怎么回事?现在让我们来讨论一些使用 8 位字节的可能原因!
原因 1:将英文字母适配到 1 字节中维基百科文章表示 IBM System/360 于 1964 年引入了 8 位字节。
在管理该项目的 Fred Brooks 的一段视频采访中,他讲述了原因。以下是我转录的一些内容:
…… 6 位字节在科学计算中确实更好,而 8 位字节则更适合商业计算,每个字节都可以针对另一个字节进行调整,以使两种字节互相使用。
因此,这变成了一个高管决策,我决定根据 Jerry 的建议采用 8 位字节。
……
我在我的 IBM 职业生涯中做出的最重要的技术决策是为 360 选择 8 位字节。
我相信字符处理将变得重要,而不是十进制数字。
使用 8 位字节处理文本很有道理:26为 64,因此 6 位不足以表示小写字母、大写字母和符号。
为了使用 8 位字节,System/360 还引入了EBCDIC 编码,这是一种 8 位字符编码。
接下来在 8 位字节历史上重要的机器似乎是英特尔 8008,它设计用于计算机终端(Datapoint 2200)。终端需要能够表示字母以及终端控制代码,因此使用 8 位字节对其来说很有意义。计算机历史博物馆上的 Datapoint 2200 手册在第 7 页上说 Datapoint 2200 支持 ASCII(7 位)和 EBCDIC(8 位)。
为什么 6 位字节在科学计算中更好?我对这条 “6 位字节在科学计算中更好” 的评论很好奇。以下是Gene Amdahl 的一段采访摘录:
我原本希望采用 24 和 48 而非 32 和 64,因为这将为我提供一个更合理的浮点系统。因为在浮点运算中,使用 32 位字大小时,你必须将指数保持在 8 位中用于指数符号,并且要使其在数字范围上合理,你必须每次调整 4 个位而不是单个位。因此,这将导致你比使用二进制移位更快地失去一些信息。
我完全不理解这条评论 - 如果你使用 32 位字大小,为什么指数必须是 8 位?如果你想要,为什么不能使用 9 位或 10 位?但这是我在快速搜索中找到的全部内容。
为什么大型机使用 36 位?与 6 位字节相关的问题是:许多大型机使用 36 位字大小。为什么?在维基百科的36 位计算文章中有一个很好的解释:
在计算机问世之前,即需要高精度科学和工程运算的领域,使用的是十位数码电动机械计算器……这些计算器每位数码均有一个专用按键,操作人员在输入数字时需要用到所有手指,因此,虽然有些专业计算器有更多位数码,但这种情况是个实际的限制。
因此,早期针对相同市场的二进制计算机通常使用 36 位字长度。这足以表示正负整数最高精度到十位数字(最小应为 35 位)。
因此,这种 36 位大小似乎是基于
的,它等于 34.2。嗯。
我猜这个原因是在 50 年代,计算机非常昂贵。因此,如果您想要你的计算机支持十位十进制数字,你将设计它恰好具有足够的位来执行此操作,而不会更多。
现在计算机更快更便宜,因此,如果您想要出于某种原因表示十位十进制数字,你只需使用 64 位即可 - 浪费一点空间通常并不会有太大问题。
还有人提到,一些具有 36 位字大小的计算机可以让你选择字节大小 - 根据上下文,你可以使用 5 或 6 或 7 或 8 位字节。
原因 2:与二进制编码的十进制一起工作20 世纪 60 年代,有一种流行的整数编码叫做二进制编码的十进制binary-coded decimal(缩写为BCD),它将每个十进制数字编码为 4 位。
例如,如果你想要编码数字1234
,在 BCD 中,它会是这样的:
0001 0010 0011 0100
因此,如果你想要能够轻松地与二进制编码的十进制一起工作,你的字节大小应该是 4 位的倍数,比如 8 位!
为什么 BCD 很流行?这个整数表示方法对我来说真的很奇怪 —— 为什么不用更有效率的二进制来存储整数呢?在早期的计算机中,效率非常重要!
我最好的猜测是,早期的计算机没有像我们现在这样的显示器,所以一个字节的内容被直接映射到开关灯上。
这是来自维基百科一个带有一些亮灯的 IBM 650 显示器的图片(CC BY-SA 3.0许可):
因此,如果你想让人们能够相对容易地从二进制表示中读取十进制数,这样做就更有意义了。我认为,今天 BCD 已经过时了,因为我们拥有显示器,并且我们的计算机可以将用二进制表示的数字转换为十进制,并显示它们。
此外,我想知道,“四位nibble”(意为 “4 位”)这个词是不是来自 BCD 的。在 BCD 的上下文中,你经常会引用半个字节(因为每个十进制数字是 4 位)。所以有一个 “4 位” 的词语是有意义的,人们称 4 个位为 “四位nibble”。今天,“四位” 对我来说感觉像是一个古老的词汇,除了作为一个趣闻我肯定从未使用过它(它是一个很有趣的词!)。维基百科关于 “四位” 的文章支持了这个理论:
“四位” 用来描述存储在 IBM 大型计算机中打包的十进制格式(BCD)中数字的位数。
还有一个人提到 BCD 的另一个原因是金融计算。今天,如果你想存储美元金额,你通常只需使用整数的分数,然后在需要美元部分时除以 100。这没什么大不了的,除法很快。但显然,在 70 年代,将一个用二进制表示的整数除以一个 100 是非常慢的,所以重新设计如何表示整数,以避免除以 100 是值得的。
好了,关于 BCD 就说这么多。
原因 3:8 是 2 的幂?许多人说,CPU 的字节大小是 2 的幂次方很重要。我无法确定这是真的还是假的,而且我对 “计算机使用二进制,所以 2 的幂次方很好” 这种解释感到不满意。这似乎非常合理,但我想深入探讨一下。而且从历史上看,肯定有很多使用字节大小不是 2 的幂次方的机器,例如(来自这个来自 Stack Exchange 上复古计算版块的 帖子):
Cyber 180 大型机使用 6 位字节Univac 1100/2200 系列使用 36 位字长PDP-8 是一台 12 位计算机一些我听到的关于 2 的幂次方很好的原因我还没有理解:
一个单词中的每个位都需要一个总线,而你希望总线数量是 2 的幂次方(为什么?)很多电路逻辑容易针对分而治之的技术(我需要一个例子来理解这个)对我更有意义的原因是:
它使设计“时钟分频器”更容易,这些分频器可以测量“在这条线路上发送了 8 位”,分别基于减半进行操作 - 你可以将 3 个减半时钟分频器串联起来。Graham Sutherland告诉我这个,他制作了这个非常酷的分频器模拟器,展示了这些分频器的工作原理。该网站(Falstad)还有很多其他示例电路,似乎是制作电路模拟器的一个非常酷的方式。如果你有一个指令可以将字节中的特定位清零,则如果你的字节大小为 8(2 的 3 次方),你可以只使用 3 位指令来指示哪一位。x86 似乎没有这样做,但Z80 的位测试指令是这样做的。有人提到一些处理器使用进位前瞻加法器,它们按 4 位分组。经过一些快速的谷歌搜索,似乎有各种各样的加法器电路。位图:你计算机的内存被组织成页(通常大小为 2 的 n 次方)。它需要跟踪每一页是否空闲。操作系统使用位图来完成这项工作,其中每个位对应一页,并且根据页面是空闲还是占用,值为 0 或 1。如果你有一个 9 位的字节,你需要除以 9 来在位图中找到你要查找的页面。除以 9 的速度比除以 8 慢,因为除以 2 的幂次方总是最快的。我可能很糟糕地扭曲了其中一些解释:在这里,我非常超出了自己的知识领域。我们继续前进吧。
原因 4:小字节大小很好你可能会想:好吧,如果 8 位字节比 4 位字节更好,为什么不继续增加字节大小呢?我们可以有 16 位字节啊!
有几个保持字节大小较小的理由:
它是一种空间浪费 —— 字节是你可以寻址的最小单位,如果你的计算机存储了大量的 ASCII 文本(只需要 7 位),那么每个字符分配 12 或 16 个位相当浪费,而你可以使用 8 个位代替。随着字节变得越来越大,你的 CPU 需要变得更复杂。例如,你需要每个位线路一条总线线路。因此,我想简单总是更好。我对 CPU 架构的理解非常薄弱,所以就说到这里吧。对我来说,“这是一种空间浪费” 的理由似乎相当有说服力。
原因 5:兼容性英特尔 8008(1972 年)是 8080(1974 年)的前身,8080 是第一款 x86 处理器 8086(1976 年)的前身。似乎 8080 和 8086 很受欢迎,这就是我们现代 x86 计算机的来源。
我认为这里有一个 “如果它好好的就不要动它” 的问题 - 我假设 8 位字节功能良好,因此英特尔看不到需要更改设计的必要性。如果你保持相同的 8 位字节,那么你可以重复使用更多指令集。
此外,80 年代左右我们开始出现像 TCP 这样的网络协议,它们使用 8 位字节(通常称为“八位组octet”),如果你要实现网络协议,你可能希望使用 8 位字节。
就这些!在我看来,8 位字节的主要原因是:
很多早期的电脑公司都是美国的,美国使用最广泛的语言是英语这些人希望计算机擅长文本处理较小的字节大小通常更好7 位是你可以用来容纳所有英文字母和标点符号的最小尺寸8 比 7 更好(因为它是 2 的幂次方)一旦有得到成功应用的受欢迎的 8 位计算机,你希望保持相同的设计以实现兼容性。有人指出这本 1962 年的书第 65 页谈到了 IBM 选择 8 位字节的原因,基本上说了相同的内容:
其完整的 256 个字符的容量被认为足以满足绝大多数应用程序的需要。在该容量范围内,单个字符由单个字节表示,因此任何特定记录的长度并不因该记录中字符而异。8 位字节在存储空间上是相当经济的。对于纯数字工作,一个十进制数字只需要 4 个比特表示,两个这样的 4 位字节可以打包成一个 8 位字节。尽管这种数字数据包装不是必需的,但为了提高速度和存储效率,它是一种常见做法。严格来说,4 位字节属于不同的代码,但与 4 位及 8 位方案相比,它们的简单性导致了更简单的机器设计和更清晰的寻址逻辑。4 位和 8 位的字节大小,作为 2 的幂次方,允许计算机设计师利用二进制寻址和位级索引的强大功能(见第 4 章和第 5 章)。
总的来说,如果你在英语国家设计二进制计算机,选择 8 位字节似乎是一个非常自然的选择。
标签:
相关阅读
-
世界热资讯!法拉第未来FF 91 2.0车型发布,售价达30.9万美元
北京时间5月31日,法拉第未来FF91发布FF912 0版本。贾跃亭在发布会上大谈AI概念,并公布FF912 0FuturistAlliance售
2023-05-31 -
环球讯息:《迷你世界》2023年5月31日最新激活码
2023迷你世界5 31cdk兑换码:迷你世界2023年5月31日最新激活码是WFa488661061684d02e242,我们可以通过进入
2023-05-31 -
全球观热点:中国农业农村部紧急部署小麦抢收 应对北方部分地区“烂场雨”
中新社北京5月31日电(记者陈溯)记者5月31日从中国农业农村部获悉,近日,农业农村部紧急部署,科学应对“烂
2023-05-31 -
全球快讯:Xbox金会员6月会免游戏公布 《Adios》与《山谷王冠之影》
Xbox公布了2023年6月金会员免费游戏阵容,包括《Adios》和《山谷王冠之影》两款,感兴趣的玩家不要错过了。
2023-05-31
精彩推荐
阅读排行
相关词
- 每日快播:国资委详解央企发债为何不再“一事一批”
- 免费三消RPG《战神的挑战3》现已登陆主机平台
- 最新快讯!遭同行高管炮轰“以次充好”,极米科技正在开行业倒车?
- 净化农资市场环境 市场监管总局公布农用生产资料违法典型案例
- 湖南茶陵建设产地冷藏保鲜设施—— 田间“大冰箱”存住果蔬茶鲜味(经济新方位·县域经济观察)
- 向历史和时代交出散文答卷——关于《年度散文50篇(2022)》_世界热点
- 省广集团:目前公司大数据平台GIMC云已在北京、广州部署了3个云计算中心
- 2023-2029年中国不良资产管理行业发展趋势与发展趋势研究报告
- 空调制热为什么开始时不动 空调制热开始时不动的原因 环球动态
- 指环之城新手图文攻略 全流程+戒指+boss打法解析-天天热点评
- 璀璨人生大结局 璀璨人生剧情简介-焦点消息
- 鹭燕医药:公司下属福建省康源图像研究院、广州市康源图像研究院开展人工智能在医疗领域的应用研究_环球热门
- faker在哪场比赛手抖了?faker手抖是哪场比赛? 世界信息
- 故宫博物院北院区举行居民见面会
- 当前时讯:考研预报名和报名什么区别 考研预报名和报名区别介绍
- 环球要闻:致命女人更新时间每周几更新几集 大结局如何
- 爱的冲突与和解是生活场里的劳作 全球热头条
- 抖音人脸变换怎么拍 详细方法教给你-当前报道
- 焦点滚动:lbs是什么单位 lbs是什么单位的缩写
- 乘“舟”赴约,开启梦想新篇——神舟十六号载人飞行任务乘组出征侧记_每日简讯
- 两开花是什么梗 两开花是什么梗和由来
- 亮剑和尚脑袋被挂起来第几集 相关内容了解 天天报资讯
- 动态:庆帝怎么成为大宗师的 故事简介如下
- 视讯!@宝爸宝妈 欢乐过“六一” 这五个安全事项要注意
- 当前资讯!中国古代文化有哪些 相关信息分享给你
- 电视剧激荡剧情分集介绍 相关剧情介绍|世界最资讯
- 多地积极采取各种措施保障麦收
- 平安研粹:2023年6月市场观点
- 奔驰女车主回应公司被查封 具体怎么回事呢
- 马斯克访华点燃新能源板块新期待 基金经理再次自购100万树信心
- 鱿鱼和鲨鱼是同一类动物吗 相关知识普及
- 易华录:公司暂未开展存储芯片的相关应用 环球快报
- 世界热资讯!法拉第未来FF 91 2.0车型发布,售价达30.9万美元
- 全球今日讯!奥运会多久举办一次 相关内容了解
- 卢本伟经典语录 快来八卦一下吧|世界信息
- 苹果手机下载不了软件怎么办 有哪些解决方法 当前快讯
- 女生适合开的三种店 适合女人小成本开店(母婴店加盟) 世界播报
- 适合清唱的歌曲 安排了几首歌供你参考_看点
- 动态焦点:新编京剧《鉴证》精致新颖
- 泰山纪念币什么时候领取 相关内容了解 世界短讯
- 微型计算机中控制器的基本功能是什么 全球快资讯
- 为什么不取消绿皮火车 绿皮火车存在的价值_最新消息
- 多地发布2022年平均工资 这些行业“钱景”好
- 什么叫偏光太阳镜 看完下文你就明白了-消息
- 任素汐事件是怎么回事 任素汐事件有什么影响_速看料
- 环球消息!马斯克与动力电池龙头宁德时代董事长会面,疑是洽谈合作建立新电池工厂
- 我可以假装无所谓的离开是什么歌?《寂寞先生》歌词介绍_全球简讯
- 赫兹是什么单位 相关内容为你介绍|今日关注
- 懦弱的反义词是什么 一起来了解下吧|今热点
- 观察:iphone骚扰拦截方法 看完你就明白了
- 国家统计局:5月份制造业采购经理指数为48.8%
- 招商银行信用卡可以绑定支付宝吗 下面就来看看吧 全球即时看
- 刀塔自走棋神族新英雄介绍 神族种族技能说明
- qq小冰是什么?qq小冰如何开启对话模式?
- 全球快报:俺要出去官网在哪下载 最新官方下载安装地址
- 怎么删除页眉的横线 两个方法教给你
- 期待更多现实主义精品力作_焦点关注
- 每日关注!蔓越莓长在哪里 相关资料分享
- 维密迎首位变性模特 8岁变性从未遭受过跨性别歧视
- 东西问·综述丨中外专家解题“AI革命与文明进化”|速读
- 全球今热点:珠峰为什么不能过夜 这是为什么呢?
- 世界恋爱日是哪一天 世界恋爱日要干嘛?
- 无缘无故的故是什么意思 无缘无故的近义词
- 国际观察|反抗美国霸道霸权 拉美寻求团结自主-天天通讯
- 牛下水是什么部位 文章带你了解
- 世界上最长的人工运河 世界上三大运河都是什么运河
- a3纸尺寸 A3纸的尺寸是多少 常用纸张分类-实时
- 【当前独家】天津工生所等在基于小分子传感器的放线菌高通量筛选方面获进展
- 《重返未来1999》3-12迷宫路线图谜题答案一览|天天快看
- 全球即时看!英雄联盟电视剧演员表 快来看看吧
- 酒ETF跌超2%,创近半年新低
- 红粉骷髅什么意思 有什么样的含义
- 每日热讯!电脑老是自动关机怎么回事 电脑老是自动关机什么原因
- 焦点关注:重返未来1999哪个最厉害 重返未来1999节奏榜最强强度排行
- 世界快资讯丨【物流618】京东物流618推出“送、装、拆、收”一体化增值服务
- 世界看点:雪国列车结局 《雪国列车》的结局有什么意义
- 2022央视中秋晚会节目单 主持人阵容如下
- 陈赓简介资料,陈赓夫人子女后代资料介绍
- 瞰海南|飞阅自贸港园区 打卡海南陵水黎安国际教育创新试验区_今日快讯
- windows安全警报怎么关 详细步骤如下
- 《重返未来1999》公测时间及福利详情
- 交传和同传的区别 交传和同传的区别是什么
- 什么是幕墙工程 幕墙工程介绍
- 世界快资讯丨系组词ji 系组词ji有哪些
- 名副其实的副什么意思 名副其实中的副的意思 观点
- 速看:天谕手游什么职业厉害 一起来看看吧
- 【全球聚看点】吃鸡怎么进入捏脸 游戏玩家看过来
- 天天观察:刘隽个人资料 刘隽参加过哪些节目
- 石家庄市今年建设125个标准化电动自行车充电驿站
- 最新资讯:嫪毐的结局是怎样的 相关剧情简介
- 观察:一季度我国新设外商投资企业超九成在服务业
- 世界杯分组2022对阵图 分档情况了解 世界球精选
- 三生三世枕上书剧情介绍 讲述了什么内容_全球独家
- 张震巩俐演的是什么电影 一起来看看吧
- 天天速讯:苹果玩剩的智慧PC,华为还在当香饽饽
- 2-1逆转!吴易昺获个人大满贯男双首胜,创4纪录成中国男网第1人
- 焦点快播:洛阳西工红山街道:趁降雨停歇,全力抢收小麦
- 淘友在哪里看 还不知道的来了解下吧 世界快讯
- 她抵达的地方,不止是8848米| 面孔
- 环球速讯:王者荣耀神秘商店抽五折优惠有什么技巧 五折优惠抽取技巧介绍
- 释放小吃消费更大潜力
- 高云翔的电视剧作品有哪些 你看过他哪些影视剧呢 当前焦点
- 焦点精选!全国旅游休闲街区创新发展交流活动举办
- Konami确认小岛没有参与开发《合金装备3:重制版》
- 当前视点!除扰巡景真蕈之敌怎么过 原神真蕈之敌攻略
- 当前动态:崩坏星穹铁道每日任务有哪些 崩坏星穹铁道每日实训快速完成指南
- 空城计是真的还是假的?探索空城计的真实性
- 热头条丨《暗黑破坏神4》部分皮肤要卖到28刀 但不影响游玩
- 空岛生存经营冒险新游《Solarpunk》开启众筹 预定登陆多平台
- 05月31日国产丙烯腈为9300元
- 开发商重申《量子误差》将在今年发售 开发工作即将完成_全球百事通
- 腾讯视频点屏幕有圈圈怎么办?腾讯视频怎么共享vip给别人?
- 原神复活的薮猫怎么过 零时召唤复活的薮猫攻略 快看
- 优秀案例发布丨打击电信网络诈骗,梧桐大数据在行动
- 环球快资讯丨MachineGames有可能在开发《德军总部3》
- 四川开出首列汽车散件“一单制”融资出口专列
- 苹果原装数据线有多长?苹果数据线有序列号吗?
- 每日热闻!2023浙江台州市妇女儿童医院(温州医科大学附属台州妇女儿童医院)招聘编外人员10人公告
- 瓜果飘香“丰”景如画
- 倒计时 4 天|快来开源之夏 2023 递上你的项目申请!
- 微信乘车码如何打开?微信乘车码全国通用吗?
- 丹普斯长高高宝宝健康养成计划 记录成长喜悦 收获成长幸福
- 厦门美莱眼综合招募|0元实现兰格定制眼体验锦鲤机会来了~
- 百度网盘怎么自动备份电脑文件?百度网盘怎么提取别人资源?
- 外交部发言人:中国“蓝盔”成为联合国维护和平的关键力量
- “印太经济框架”充满排他与胁迫
- 天天快资讯丨采用最新科技内饰,新款保时捷Panamera Turbo测试谍照曝光!
- 研究生学术学位与专业学位的区别_专业学位与学术型学位的区别是什么呀
- 快消息!“脑机接口”带动多只医药概念股“起飞” 产业落地尚需时日
- 环球观焦点:幻塔海底载具怎么获得 海底载具获得方法攻略
- 光遇6月复刻先祖在哪里 复刻先祖位置及兑换表介绍
- 支付宝自动扣款怎么取消?支付宝自动续费可以退回吗?
- 台风蓝色预警!“玛娃”强度逐渐减弱 台湾岛东北部局地有大暴雨
- 世界微资讯!【早盘掘金0531】A股估值性价比高,等风来
- 东方时尚:5月30日融券卖出100股,融资融券余额9055.77万元
- 安仁县永盛铋业有限公司 当前时讯
- 【国际锐评】面对IAEA安全审查,日方必须说清五个问题_世界观速讯
- 国际观察|反抗美国霸道霸权 拉美寻求团结自主
- 四项考古成果还原商代北方社会图景|最新快讯
- 外媒热议神十六成功发射:中国加速推进“航天强国梦”|世界观 今日观点
- 乘风破浪的姐姐2四公淘汰名单 这里全面介绍一下每位成员-全球播报
- 每日视讯:影视创作应拜生活为师
- 火车票半价标准是什么?火车票半价包括高铁吗?
- 今日热闻!国台办:民进党不放弃“台独”立场 就没有资格奢谈“和平”
- 荣科科技:公司的智慧医疗、智慧城市业务涉及到数据要素服务
- 郑州金水立交北向东匝道单车道变双车道 环球看点
- 文艺轻骑兵献演武汉新城
- 《美丽河北》慢直播:“云赏”祖国大美风光
- 2023年“齐鲁最美科技工作者”发布
- 坐飞机要机场建设费吗?坐飞机要买燃油附加费吗?