简介:这份PPT围绕计算机发展史展开,面向计算机专业学生、科技史爱好者以及需要备课或科普讲解的教师,用一条清晰的时间线梳理四代计算机的演进脉络,帮助读者快速建立从电子管到超大规模集成电路的整体认知框架。资源为单个PPT文件,压缩包约1.6MB,体积轻便,便于课堂演示、社团分享或自学浏览,内容涵盖各代计算机的代表机型、技术特征与时代背景。在具体内容上,课件逐一介绍了1946年诞生的ENIAC及其18000个电子管、30吨重量与5000次每秒加法运算等细节,还涉及SAGE半自动地面防空系统、日本电气NEAC 2203、IBM System/360、超级计算机CDC 6600、小型机PDP-8、通信处理机IMP以及首款个人计算机Kenbak-1等标志性产品,并对每一代的技术突破与产业影响作了归纳,可作为科技史课程的知识梳理材料,也可作为科普讲座的图文底稿。该资源已有765人学习,适合希望用一节课时间通览计算机硬件演进关键节点的读者参考使用。
1. 一台 30 吨、占地 70 平方米的机器,凭什么值得当工具书翻
计算机发展史的资料市面上不缺,缺的是能拿来对照参数的那种。这份《世界计算机发展历史(经典)》把四代分期和九台代表性机器压在一份文档里——18000 只电子管、150 千瓦、每秒 5000 次加法、80MHz 主频、8MB 主存、256 字节存储,这些数字比“划时代”“里程碑”之类的形容词有用得多。它适合三类人:要给新人做入门培训的、写技术方案需要引年代做类比的、做课程设计要落具体参数的同学。它读起来像年表,用起来其实是一张“器件—架构—应用”的对照表。缺点也很直接:年代口径不统一,1964 年的机器被摆在 1965 年起的段落里讲;个别术语有明显的时代错位,得自己校一遍才敢往外引。
2. 四代分期的判据:器件、存储、典型机型三个字段怎么确立
2.1 为什么按器件分期,而不是按年份或按应用
按年份分期最省事,也最没用。1946 到 1971 这二十五年里,每一年都有新机器出厂,按年份切只会切出一堆事件,看不出规律。按应用分也不行——同一年代的机器既做科学计算也做商业记账,边界糊得很。
按器件分是这份资料做对的地方。器件一换,成本、体积、功耗、可靠性、维护方式这五件事会同时变,而它们恰好是工程约束的整体迁移。电子管换成分立晶体管,不只是“更快了”,是机房不用再配一支专门换管子的维护队;中小规模集成电路出来,才有了把整机塞进一个机柜的可能;大规模集成电路铺开,个人计算机才有物理基础。分期立得住,是因为它锚在约束上而不是锚在事件上。
| 代 | 起止 | 核心器件 | 主存 | 代表性机器 | 工程特征 |
|---|---|---|---|---|---|
| 第一代 | 1946–1958 | 电子管 | 延迟线、磁鼓 | ENIAC | 功耗与故障率是主要瓶颈 |
| 第二代 | 1959–1964 | 分立晶体管 | 磁芯 | SAGE、NEAC 2203 | 体积功耗下降,实时控制出现 |
| 第三代 | 1965–1970 | 中小规模集成电路 | 磁芯 | System/360、CDC 6600、PDP-8 | 兼容性、并行、小型化同时发生 |
| 第四代 | 1971–今 | 大规模与超大规模集成电路 | 半导体存储 | Kenbak-1、Cray-1 | 个人化与极致并行两极分化 |
这张表里最值钱的不是“起止”那一列,是“代表性机器”那一列。分期是抽象的,机型是具体的,有了机型才能落参数,有了参数这篇材料才能被引用。很多同类资料写到“第四代:大规模集成电路”就没了,读者拿不到任何可验证的东西。
2.2 把时间线写成可校验的数据结构
年表最容易出的问题是区间重叠和区间断档。手工排一遍看不出来,写成数据让机器检查,一眼就露。下面这段把四代分期固化成列表,顺手加两条校验。
# 四代分期的最小数据结构:只保留能排序、能校验的字段 timeline = [ {"gen": 1, "start": 1946, "end": 1958, "device": "电子管", "memory": "延迟线/磁鼓", "machines": ["ENIAC"]}, {"gen": 2, "start": 1959, "end": 1964, "device": "分立晶体管", "memory": "磁芯", "machines": ["SAGE", "NEAC 2203"]}, {"gen": 3, "start": 1965, "end": 1970, "device": "中小规模集成电路", "memory": "磁芯", "machines": ["System/360", "CDC 6600", "PDP-8"]}, {"gen": 4, "start": 1971, "end": 2025, "device": "大规模/超大规模集成电路", "memory": "半导体存储", "machines": ["Kenbak-1", "Cray-1"]}, ] # 校验一:区间必须首尾相接,既不能重叠也不能留空洞 timeline.sort(key=lambda g: g["start"]) for prev, cur in zip(timeline, timeline[1:]): assert cur["start"] == prev["end"] + 1, \ f"第{prev['gen']}代与第{cur['gen']}代边界不连续" # 校验二:每一代至少要有一台带具体参数的机器,否则这一代在文章里落不了地 for g in timeline: assert g["machines"], f"第{g['gen']}代缺典型机型"排序保证按年代走,zip拿相邻两代做比较,断言一触发就说明口径出了问题。参数上有个细节要注意:第四代的end在原资料里写的是“今”,脚本里必须落成一个具体年份(这里是资料整理的年份),否则区间校验一定失败。把“今”工程化是有代价的——换一年整理,这个值就得同步改,不改就变成沉默的错误。所以这一段我一般会在字段旁边留一行注释,写明这个年份的含义是“资料整理年”,不是“第四代结束年”。
machines字段看着像装饰,其实是给写作兜底的。哪一代填不出机器,哪一代就注定只能写形容词,那一段就该砍掉或者补资料。
2.3 边界年份为什么会打架:三种口径混着用
原资料里最明显的一处矛盾是标题体系:第三代标的是 1965 年起,正文却把 1964 年的 System/360 和 1964 年的 CDC 6600 放在第三代段落里讲。不少人读到这里会以为资料写错了,其实不是写错,是口径不同——标题按“集成电路批量商用”的年份切,机器按“发布或交付”的年份记,两者本来就不在一个坐标上。
常见的三种口径是:完成或交付年、公开发布年、商用或量产年。ENIAC 1946 年完成,这个没有争议;SAGE 常被记作 1954 年,指的是系统投用;System/360 的 1964 是发布年,真正批量交付往后拖;PDP-8 的 1965 是发布年。同一台机器换一种口径,年份能差一到两年,跨代讨论时就会被放大成“到底是第三代还是第二代”的争论。
| 机器 | 资料给的年份 | 建议标注口径 | 引用时的写法 |
|---|---|---|---|
| ENIAC | 1946 | 完成年 | 1946 年完成 |
| SAGE | 1954 | 系统投用年 | 1954 年投用 |
| NEAC 2203 | 1960 | 商用年 | 1960 年投入商用 |
| System/360 | 1964 | 发布年 | 1964 年发布 |
| CDC 6600 | 1964 | 交付年 | 1964 年交付 |
| PDP-8 | 1965 | 发布年 | 1965 年发布 |
| IMP | 1969 | 投用年 | 1969 年投用 |
| Kenbak-1 | 1971 | 首台交付年 | 1971 年首台交付 |
| Cray-1 | 1976 | 首次运行年 | 1976 年首次运行 |
落成习惯就是一句话:凡写年份,后面跟一个口径词。写“1964 年发布”比写“1964 年”多四个字,能省掉后面所有的扯皮。做课件和方案文档的人尤其要注意,读者不会去查原始出处,他看到什么就信什么。
3. ENIAC 与 SAGE:把第一二代机器的参数换算成可比量纲
3.1 ENIAC 的硬指标拆解:哪些数字今天还有意义
原资料给 ENIAC 的参数相当密:长 30.48 米、宽 1 米、占地 70 平方米、30 个操作台、重 30 吨、耗电 150 千瓦、造价 48 万美元,内部有 18000 只电子管、70000 个电阻、10000 个电容、1500 个继电器、6000 多个开关,每秒执行 5000 次加法或 400 次乘法。
读这组数字最容易犯的错是只盯算力。5000 次加法每秒放在今天连一颗廉价单片机的零头都算不上,于是很容易得出“不过如此”的结论。但真正决定这台机器能不能用的是另外几个数:150 千瓦的功耗、30 吨的重量、18000 只电子管的失效率。
18000 只电子管意味着平均无故障时间只能按小时算——管子会烧、会老化、参数会漂移,任何一只坏了整机就停。所以第一代计算机的真实工作模式是“算一会儿、停下来检修、再算”,有效算力远低于峰值算力。这是“维护成本决定可用性”最早、也最贵的一次教学。今天做高密度部署的人应该对这种结构很熟悉:真正卡住你的从来不是峰值指标,是故障率和检修窗口。
再看造价。48 万美元在 1946 年是什么概念,原资料没给参照,写文章时不要直接拿它跟今天的机器比价格,只能标“当年美元”。换算购买力需要价格指数,那份数据不在这份资料里,硬换就是编。稳妥写法是保留原值加年份标注,需要对比时改比“同年代其他机器的价格量级”,而不是比绝对值。
3.2 把参数换算成可比量纲
跨代对比最怕单位不统一。下面这段把 ENIAC 的公开参数折算成几个横向指标,同一套公式套到 Cray-1 上就能拉出一条跨三十年的曲线。
# ENIAC 的公开参数,字段名直接对应资料里的表述 eniac = { "add_per_sec": 5000, # 每秒加法次数 "mul_per_sec": 400, # 每秒乘法次数 "power_kw": 150, # 整机功耗 "area_m2": 70, # 占地面积 "weight_t": 30, # 整机重量 "tubes": 18000, # 电子管数量 } us_per_add = 1e6 / eniac["add_per_sec"] # 单次加法耗时(微秒) add_per_watt = eniac["add_per_sec"] / (eniac["power_kw"] * 1000) add_per_m2 = eniac["add_per_sec"] / eniac["area_m2"] add_per_tube = eniac["add_per_sec"] / eniac["tubes"] # 单只管子的算力贡献 print(f"单次加法 {us_per_add:.0f} us") print(f"每瓦 {add_per_watt:.4f} 次加法/秒") print(f"每平方米 {add_per_m2:.1f} 次加法/秒") print(f"每只电子管 {add_per_tube:.3f} 次加法/秒")us_per_add是时间口径,回答“一次运算有多慢”;add_per_watt和add_per_m2是空间与能耗口径,回答“这个算力要占多大地方、吃多少电”;add_per_tube是集成度口径,回答“一个器件贡献多少算力”,这个指标最能体现从电子管到集成电路的跨度。四个指标里任意一个单独看都会误导,凑齐了才有说服力。
有个坑要提前说:加法 5000 次/秒和乘法 400 次/秒是两条完全不同的曲线,差了一个数量级还多。做对比图必须分开画,混在一条线上会让人误以为整机算力在那一代就掉了。资料里同时给了这两个数,是好事,但引用时一定要写清是哪种运算。
3.3 SAGE 的系统工程要素:实时性是怎么凑出来的
SAGE 在资料里被描述为半自动地面防空系统,重 300 吨,放在水泥堡垒里,配有调制解调器和图形显示技术,处理器还是“双核”的。这几个词里,“双核”是最容易被今天读者误读的。
按资料的技术描述拆,SAGE 的实时性由四块拼起来。输入侧靠调制解调器把远端站点的信号经电话线送进来,这是通信链路第一次成为计算机系统的组成部分;计算侧是双处理器配置,注意这里的“双”指的是两台处理器协同,不是今天单芯片里两个核心共享缓存的意思,两件事在物理层和软件层都不是一回事;交互侧靠图形显示加光笔,操作员在回路里做判断,机器负责呈现和引导;部署侧是 300 吨的整机和恒温恒湿的机房环境,冗余和稳定供电是设计的一部分,不是附加项。
这四块里最值得学的是“人在回路”。它没有追求全自动决策,而是把识别结果呈现给人、由人下判断、机器再把指令送到执行端。这个结构在今天的告警系统、风控系统里还在用,原因也一样:模型不确定的时候,把人放进决策链比硬扛准确率划算。做实时系统的同学拿这一段做设计类比,比背年代有用。
另外要提醒一句,300 吨这个数字不能单独看。它包含整机、电源、散热和配套设备,直接把 300 吨当“计算机本体重量”写进文章是不严谨的。资料原话是“它重达 300 吨,放置在一个水泥堡垒中”,主语是整套系统,引用时要保留“系统”两个字。
3.4 教学落地:做一张可复用的参数对比卡
不管是做课件还是写方案,我都建议先把字段定死,再往里填机器。字段定不下来,填到第三台就乱了。
| 字段 | 含义 | 填法 |
|---|---|---|
| 机型 | 资料里的正式名称 | 原样照抄,不改写 |
| 年份 | 关键时间 | 必须带口径(发布/交付/投用) |
| 器件 | 核心逻辑器件 | 电子管 / 分立晶体管 / 集成电路 |
| 主存 | 存储介质与容量 | 介质和容量分开写 |
| 算力口径 | 用什么运算衡量 | 加法/秒、乘法/秒,注明 |
| 功耗 | 整机功耗 | 带单位,注意是整机还是主机 |
| 体积重量 | 占地、重量 | 注明是否含配套设备 |
| 交互方式 | 输入输出手段 | 开关、指示灯、终端、显示器 |
| 典型应用 | 实际用途 | 一句话,别写成宣传语 |
| 口径备注 | 存疑或特殊说明 | 有疑问就写,别留空 |
操作的顺序是:先固定字段,再逐台填,缺的字段明确写“资料未给”而不是估一个数,最后按器件分组排序。写“未给”看着不体面,但比估错了被人抓到强。填完回头检查一遍,凡是没写口径的年份、没写单位的容量,全部补上。
4. 从 System/360 到 Cray-1:兼容、并行、小型化、个人化四条线
4.1 兼容性线:System/360 把软件资产变成可迁移的东西
在 System/360 之前,换一台机器基本等于重写一遍软件。指令集不同、外设接口不同、操作系统各写各的,软件资产绑死在具体机器上,机器换代就是一次沉没成本清算。
System/360 的工程含义是:用一套体系结构覆盖从低配置到高配置的一整个机器家族,外设接口统一,操作系统家族化,同一份软件在不同档次的机器上都能装、都能跑。资料里那句“从商业到科学,都可以进行安装应用”,翻译成工程语言就是这个意思。这件事的价值不在硬件,在于它第一次让“软件投资”这个概念成立——买了软件,换机器不用重买。
资料还提到高端的机器进过航天计划和空中交通管制这类场景,以及一部分机器运行了几十年。后一句更值得琢磨:一套体系结构能撑几十年,靠的不是性能领先,是兼容性承诺被兑现了。做接口设计、做 SDK 版本管理的人,拿这段当案例比拿它当历史故事更有用。你要不要为老用户保留那套接口,代价是什么,收益是什么,五十多年前已经有人把账算过一遍了。
4.2 并行线:CDC 6600 的管线标量与“RISC”这个词的时代错位
CDC 6600 是资料里技术含量最高的一段,也是坑最多的一段。原文写它采用管线标量架构,“使用小组开发的 RISC 指令集”,在架构中一个 CPU 交替处理指令的读取、解码和执行,每个时钟周期处理一条指令。
先把架构讲清楚:管线标量的意思是把一条指令的执行拆成若干段,不同指令的不同段重叠起来跑,理想情况下每个时钟周期完成一条。这个思路今天所有处理器都还在用,它是现代 CPU 的基础结构之一。资料描述的“交替处理读取、解码、执行”就是最朴素的三段流水。
问题出在“RISC”这个词上。RISC 作为一个术语和一套设计理念,是 1980 年代才成型并被广泛讨论的,而 CDC 6600 是 1964 年的机器。它的指令集并不属于后来定义的精简指令集那一类。原文这么写,是典型的“事后贴标签”——用今天的概念去解释昨天的设计,读起来通顺,实际上是时代错位。
我在引用这一段时的处理方式是:保留“设计上追求指令高效、大量使用寄存器、靠功能单元并行提升吞吐”这个事实描述,把“RISC 指令集”改成“与后来的精简指令设计理念相近,但当时并无此术语”。多写十来个字,准确性差一个档次。这类词在技术史材料里到处都是,读者不会替你纠正,只会照抄。
4.3 小型化与互联线:PDP-8 和 IMP 各自打开了什么
PDP-8 被资料称为“世界上第一台真正意义的小型计算机”,1965 年推出,性能可以媲美大型机配置,价格远低于同类产品,客户是小型企业、学校、报社,十五年间卖出五万多台。它的意义不是“便宜”,是“买得起、放得下、有人会用”。大型机时代,计算机是一个机构的中心,用机要排队、要专职操作员;小型机把这个结构拆开了,一个院系、一个车间可以有自己的机器。
IMP 走的是另一条路。资料描述它是插在主机和电话线之间、处理信息路由的专用小型机,具备第一代网关的特征。这个描述很准:它不是终端,也不是主机,它是中间的转发设备。它存在的意义是把“一台计算机”变成“网络里的一个节点”。
这两条线看着不相关,其实互为前提。互联要成立,前提是每个节点上都有一台买得起、放得下的机器;小型机要卖得动,前提是这些机器之间能交换数据。小型化和互联是同一件事的两面,第三代到第四代的过渡就是这两条线合流的过程。写技术演进的文章时,把这两条线分开讲,比按年份顺叙清楚得多。
4.4 个人化线:Kenbak-1 的 256 字节说明了什么
Kenbak-1 是资料里最有反差感的一台机器。1971 年推出,用标准的中规模和小规模集成电路搭成,没有微处理器,存储容量 256 字节,唯一的输出是一排闪烁的灯,售价 750 美元,只卖出了几十台。
256 字节是什么概念?今天一条稍长的日志就超过这个数。但它的价值恰恰在这个“不够用”上:它证明了“个人拥有一台计算机”这件事在 1971 年就有人尝试,同时证明了在缺少微处理器、缺少存储、缺少外设的年代,这个产品形态立不住。资料里那句“用户玩完游戏时计算机无法显示输赢,得自己辨认”,是这份材料里最生动的一句技术描述——它把“输出带宽不足”这个抽象问题变成了一个具体场景。
对照同年代的 Cray-1:1976 年首次运行,64 位系统,80MHz 主频,8MB 主存,用氟利昂散热,连同散热系统一起算第一台模型重 5.5 吨,单台价格在五百万到一千万美元之间。五年时间,一端是 256 字节加一排灯,一端是 8MB 加一整套制冷系统。
| 维度 | Kenbak-1 | Cray-1 |
|---|---|---|
| 年份 | 1971 | 1976 |
| 器件 | 中小规模集成电路 | 大规模集成电路 |
| 主存 | 256 字节 | 8MB |
| 主频 | 资料未给 | 80MHz |
| 交互 | 指示灯 | 终端 |
| 价格 | 750 美元 | 500 万–1000 万美元 |
| 用户 | 个人、教育 | 大型计算中心 |
| 销量 | 几十台 | 资料称畅销 |
这两台机器放在一起看,第四代的分裂就出来了:个人化和极致并行在同一年代同时发生,走的是完全不同的两条路。做技术选型的人应该对这种分裂有感觉——同一个时代里,最优解从来不止一个,取决于你服务的是谁的什么需求。
5. 避坑与排查:年代边界、单位量级、术语错位、“第一”的定语
5.1 现象:1964 年的机器被写进 1965 年起的第三代段落
现象很直白:标题写第三代始于 1965 年,正文却在第三代下面讲 1964 年的 System/360 和 1964 年的 CDC 6600。读者顺着读下来会以为资料自相矛盾,做课件的人直接照搬,讲台上就会被学生问住。
原因是口径混用。标题那一行按“集成电路进入批量商用”切年份,机型那一行按“发布或交付”记年份,两套坐标叠在一起必然错位。这类问题在所有技术史材料里都普遍,因为写作者关心的是叙事节奏,不是字段一致性。
解决办法有两个层次。写作层面,凡是跨代引用,年份后面必须跟口径词,“1964 年发布”和“1965 年发布”摆在一起读者自己能判断。数据层面,把“设计年、发布年、交付年、商用年”拆成独立字段,别挤在一个year里。只有year一个字段的表,早晚会出这种事。
5.2 现象:256 字节被写成 256K,8MB 被当成今天的内存来比
现象是数量级错乱。资料里 Kenbak-1 的存储是 256 字节,转述时很容易滑成“256K”;Cray-1 的 8MB 主存,被拿去和今天动辄几十 GB 的内存直接对比,得出“还不如一台手机”的结论。
原因有两层。一层是单位前缀混淆,B、KB、MB 在不同年代的文献里含义不完全一致,早期资料里“K”有时指 1024 有时指 1000,不统一就会差出量级。另一层是概念混淆,主存、外存、寄存器容量被混着说,看到 8MB 就以为是硬盘。
解决办法是强制写单位,并且写全。存储一律标“字节 / KB / MB”,并且注明是主存还是外存;频率标 Hz;功耗标 W 或 kW。跨代对比时不要比绝对值,比“同一口径下的相对倍数”,比如“主存容量差了多少个数量级”,这个说法不会因为年代久远而失真。
5.3 现象:说 CDC 6600 用 RISC 指令集,说 SAGE 是双核
现象是用今天的词描述昨天的设计。前面 4.2 节拆过一遍,这里再独立记一条,因为它是这份资料里最容易被原样转发出去的错误。SAGE 的“双核”同理——那是两台处理器协同,不是单芯片多核。
原因是术语的“回溯性使用”。写作者为了让当代读者理解,会不自觉地拿现成概念去套,套得越顺,错得越深。RISC 这个标签贴上去之后,读者会顺着推出一堆不成立的结论,比如“六十年代就有精简指令集路线”,这个推论链一旦建立,后面全是错的。
解决办法是给术语加个双列标注:一列写“当时的设计特征”,一列写“与今天哪个概念相近”。比如“当时:强调寄存器使用与功能单元并行;今天类比:与精简指令的设计取向相近,但术语晚于该机器约二十年”。这样既讲清楚了,也不制造假的传承关系。做培训材料的时候这一列特别有用,能省掉一半的追问。
5.4 现象:动不动就写“世界第一台”,但不写定语
现象是“第一”泛滥。ENIAC 是不是第一台电子计算机,按不同定语能给出不同答案;Kenbak-1 被称为首款个人计算机,但它商业上是失败的;CDC 6600 被称为首台超级计算机,定语是“正式命名为超级计算机的”。
原因是“第一”天然带流量,而限定条件写起来啰嗦。但技术写作里,定语就是结论的一部分。去掉定语的“第一”是错的,加上定语的“第一”才有信息量。
解决办法很简单:凡是写“第一”,必须跟定语,并且把定语写进数据字段里。写“第一台通用电子计算机”而不是“第一台计算机”,写“首款面向个人的商用机”而不是“首款个人电脑”。如果定语本身有争议,就把争议写出来,一句话说明“另有更早的机器,但不满足某某条件”。读者要的是判断依据,不是一句口号。
6. 把史料做成可检索的谱系表:11 个字段、三类断言和一个习惯
6.1 字段设计:11 个字段就够用了
把这份资料用起来的最快方式,是把它转成一张机器谱系表,一行一台机器。字段不用多,11 个够:机型、年份、口径、代际、器件、主存、算力口径、功耗、交互方式、典型应用、第一类声明。最后那个字段专门存“第一台什么”的定语,空着就表示这台机器没有“第一”类声明。
字段定好之后,录入就是个纯体力活,但价值在检索。想找“所有用磁芯内存的机器”,按主存过滤;想找“功耗超过 100 千瓦的”,按功耗排序;想核对“哪些年份的口径没写”,查空值。这些操作在 Word 文档里做不了,在一张表里是几秒钟的事。
6.2 校验脚本:三类断言挡住大部分低级错误
# 谱系表校验:把“写史料”变成“录数据”,让机器挑错 REQUIRED = {"name", "year", "basis", "gen", "device", "claim"} UNIT_HINT = ("B", "KB", "MB", "Hz", "W", "kW") for r in rows: # 断言一:必填字段不能缺 missing = REQUIRED - r.keys() assert not missing, f"{r.get('name', '未命名')} 缺字段 {missing}" # 断言二:写了“第一”就必须有定语,否则这条声明不可引用 if "第一" in r.get("note", "") or "首款" in r.get("note", ""): assert r.get("claim"), f"{r['name']} 声称第一但未写定语" # 断言三:数值字段必须带单位,防止 256 和 256K 混写 for k in ("memory", "clock", "power"): v = r.get(k) if v: assert any(u in v for u in UNIT_HINT), f"{r['name']} 的 {k} 缺单位: {v}"断言一挡的是漏填,看着基础,实际最常触发——录到第七八台机器的时候,人就开始跳字段了。断言二挡的是“第一”类声明裸奔,claim字段没填就不许写“第一”。断言三挡的是单位缺失,memory里写“256”,脚本过不去,必须写成“256B”,这一步强制把量级意识带进录入过程。
参数上要注意UNIT_HINT这个元组的写法:它用的是“包含”判断,所以“8MB”能过、“80MHz”也能过,但“8 兆”过不去。这不是缺陷,是故意的——中文量词在跨代对比里不精确,逼着录入的人写标准单位。跑一遍全表,报错清零之后再开始写文章,返工率能降一大半。
6.3 一个习惯
我最早整理这类材料的时候,图快,直接从二手文章里抄参数,抄完就发。结果有一次把某台机器的存储量级抄错了一级,被人在培训现场问住,翻回原始资料才发现是自己转述时手滑。那次之后我给自己定了个死规矩:每一条数字进表之前,必须回填三样东西——口径、单位、资料里的原话。三样缺一样,这个数就不许出现在正文里。
这份《世界计算机发展历史(经典)》的价值不在它写得多完美,在于它把九台机器和一串硬参数摆在了一起,是很好的录入起点。年代口径要自己校,术语要自己剥,但只要肯把它转成表、跑一遍校验,它就从一份“看过的资料”变成一套“能反复用的底稿”。希望帮到你。
本文还有配套的精品资源,点击获取