有可能一人搞定CPU、操作系统、编译器吗?

商务办公
计算机是非常复杂的系统,涉及CPU、内存、编译器(编程语言)、操作系统等等,那么有没有可能一个人同时搞定整个计算机系统呢?

​大家好,我是小风哥。

计算机是非常复杂的系统,涉及CPU、内存、编译器(编程语言)、操作系统等等,那么有没有可能一个人同时搞定整个计算机系统呢?

答案是肯定的,而且是早在1976年就搞定了,从头到尾一人搞定整个计算机系统,包括硬件以及软件,这台计算机系统长这样:

图片

打造这台计算机的就是图片中右边这个家伙,天才工程师Steve Wozniak(以下简称沃兹):

图片

正是他和乔布斯一手打造了当今的苹果帝国。

1975年3月5日,在加利福尼亚门洛帕克市Gordon French(一位美国的计算机程序员)的车库里家酿计算机俱乐部(homebrew computer club)举行了它的第一次聚会,首次参加这个聚会的沃兹深受启发,并开始立刻着手设计自己的计算机系统(立刻行动的重要性)。

在没有Github以及Google的年代里,沃兹单枪匹马就搞定了整个计算机系统并将其在俱乐部里展示了出来,甚至还帮助俱乐部中其它成员打造出了自己的计算机系统(开源精神就是这么来的?)。

有了天才的工程师然后天才的产品经理乔布斯出现了,乔布斯决定售卖沃兹制作的电路板,为了资助他们创建的小公司,乔布斯卖掉了他的车,沃兹卖掉了自己的HP-65计算器,很快新公司开张并接到订单要求他们制作完整的计算机系统,这就是Apple I。(这大概就是苹果售卖完整计算机设备基因的起源,你会发现苹果公司出售的都是软硬件完整的计算机系统,它既不会单独售卖硬件也不会单独售卖软件)

图片

让我们来看看这台计算机的配置。

沃兹在设计最初使用的是摩托罗拉6800处理器(好吧,CPU不是自己设计的),搭载了4K内存(内存也不是),软件方面则是沃兹自己实现的BASIC解释器,好吧,实际上apple I中并没有操作系统,有的只是一个所谓的machine language monitor,这在1970s到1980s年代的计算机上非常流行:

图片

machine language monitor类似于现在的shell,可以让用户输入命令并查看或者修改内存中的内容,沃兹实现的monitor有三个功能:可以让你以16进制来编程、检查一段代码的内容或者在特定地址运行一段程序,该monitor程序运行在一段256字节大小的内存空间中,你可以把monitor看做那个年代的操作系统。

1976年7月,apple I开始以666.66美元的价格开始售卖,因为沃兹喜欢重复的数字(666的鼻祖),这款计算机设备售卖一年后让位给了apple II,apple II让苹果公司家喻户晓(美国):

图片

又过了几十年后划时代的iPhone发布,苹果享誉全球并成为世界上市值最高的企业。

可以看到,即使是在1970年代计算机发展初期,Woz也没有自己动手设计CPU以及内存,而是采用现成的处理器与内存,你需要知道的仅仅是如何对该处理器进行编程,然而即使是这其中看似简单的一项可能就会花费你几周的时间,而搞定一个处理器尤其是可以商用的处理器绝非玩具处理器可比,如果你自己实现的简单处理器是这样一座桥的话:

那么商用处理器就是这种桥:

图片

你可以说这都是桥,但这基本上就是两个不同的物种,商用处理器中的设计、实现、测试、调优、debug等等任何一项拿出了绝不是一个人能搞定的,其它的像内存、硬盘、SSD等等皆是如此,完成这些后等着你的还有操作系统,同样,商用操作系统与教学或者玩具操作系统也是云泥之别。

因此现代计算机系统打造更像是搭建积木,将现成的软件和硬件调试好后组装起来,即使对于富可敌国的苹果来说也是近两年才搞定桌面端处理器,在此之前依然要依靠intel。​

责任编辑:武晓燕 来源: 码农的荒岛求生
相关推荐

2023-01-09 08:32:00

编译器虚拟机操作系统

2016-06-15 09:28:09

新型编译器JavaScript类型

2020-06-28 09:40:58

操作系统GPUCPU

2019-01-28 10:00:42

CPU操作系统存储器

2023-04-07 15:30:24

操作系统ChatGPT

2016-11-14 10:09:49

数据分析产品经理Growth

2010-01-14 14:55:14

C++编译器

2020-05-20 15:05:22

戴尔

2010-02-22 16:09:18

CentOS安装

2010-02-25 10:46:44

Linux操作系统

2023-03-29 23:19:27

2022-06-01 08:16:12

CPU实模式操作系统

2016-11-08 18:53:08

编译器

2013-12-20 09:44:57

操作系统计算机服务器

2010-01-18 10:34:21

C++编译器

2021-06-25 10:38:05

JavaScript编译器前端开发

2010-01-21 09:11:38

C++编译器

2023-12-07 19:19:21

C++模板代码

2009-11-30 17:20:34

Visual Stui

2010-03-23 11:17:16

Python 动态编译
点赞
收藏

51CTO技术栈公众号