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

新闻资讯   2023-07-12 10:26   80   0  
👇👇关注后回复 “进群” ,拉你进程序员交流群👇👇
作者丨陆小风
来源丨码农的荒岛求生(ID:escape-it)

大家好,我是小风哥。

计算机是非常复杂的系统,涉及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。

-End-

最近有一些小伙伴,让我帮忙找一些 面试题 资料,于是我翻遍了收藏的 5T 资料后,汇总整理出来,可以说是程序员面试必备!所有资料都整理到网盘了,欢迎下载!

点击👆卡片,关注后回复【面试题】即可获取

在看点这里好文分享给更多人↓↓

文章引用微信公众号"程序员大咖",如有侵权,请联系管理员删除!

博客评论
还没有人评论,赶紧抢个沙发~
发表评论
说明:请文明发言,共建和谐网络,您的个人信息不会被公开显示。