服务粉丝

我们一直在努力
当前位置:首页 > 财经 >

有可能一人搞定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。
好啦,本文就到这里,本周太忙技术文没肝出来,下周一定。
如果你喜欢小风哥的写作风格并且对操作系统感兴趣那么小风哥自己写的书《深入理解操作系统》绝不能错过
最后,我建了微信技术群,扫描下方二维码备注写“加群”二字即可,一起见证我们的成长。

相关阅读

  • 为什么计算机需要操作系统?

  • 大家好,我是小风哥,提前祝大家新年快乐,这是年前的最后一篇技术文啦。今天我们从三个方面来简单聊聊为什么计算机系统操作系统这个话题。资源分配器如果你的CPU上只需要运行一
  • 系统调用与函数调用有什么区别?

  • 大家新年好,我是小风哥,这是今年的第一篇技术文,我们来聊聊系统调用与普通的函数调用之间的区别。作为程序员你肯定写过无数的函数,假设有这样两个函数:void funcB() {}void func
  • 产品更新 | 网镜国产化操作系统版本正式上线

  • 关于本次网镜更新推文,小编想说我们为什么要做支持国产化操作系统的应用。为什么要毫不动摇坚持自主可控的“国产化”道路?不自主意味着需要在国际市场上高价采购;不可控意味着
  • 手机处理器(SOC)天梯表「2023年1月」

  • 更新时间 2023年1月天梯表说明①CPU分数为GeekBench5,GPU分数为3DMark WildLife。总分计算是个人设计的一个公式,方便大家更简单直观的了解处理器等级。如果对处理器相关知识
  • Google 在量子纠错上取得进步

  • 阻碍量子处理器走向实用的一大挑战是它出错的概率是传统处理器的上万亿倍,而量子比特数越多通常错误率也越高。Google 现在在量子纠错上取得了进步:让错误率随量子比特数的增
  • Arm 不断增长的云服务器势头

  • 本文由半导体产业纵横(ID:ICVIEWS)编译自forbesArm 和 RISC-V 等替代架构的价值是引人注目的。Arm 是世界上最流行的处理器架构。很有可能你驾驶的汽车包含多个隐藏在其中的基

热门文章

  • “复活”半年后 京东拍拍二手杀入公益事业

  • 京东拍拍二手“复活”半年后,杀入公益事业,试图让企业捐的赠品、家庭闲置品变成实实在在的“爱心”。 把“闲置品”变爱心 6月12日,“益心一益·守护梦想每一步”2018年四

最新文章

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

  • 大家好,我是小风哥。计算机是非常复杂的系统,涉及CPU、内存、编译器(编程语言)、操作系统等等,那么有没有可能一个人同时搞定整个计算机系统呢?答案是肯定的,而且是早在1976年就
  • 彻底理解动态规划1:最长公共超序列

  • 大家好,我是小风哥,今天这篇文章会开启动态规划这个主题,动态规划是算法中非常重要的思想之一。今天的题目是最短公共超序列,如果一个字符串s在删除某些字符后形成t,那么我们说s
  • 内存竟被”无意“破坏,真相究竟如何?

  • 大家好,我是小风哥。内存是C/C++程序员的好帮手,我们通常说C/C++程序性能更高其原因之一就在于可以自己来管理内存,然而计算机科学中没有任何一项技术可以包治百病,内存问题也给
  • 彻底理解动态规划:赚最多钱的兼职

  • 大家好,我是小风哥,休息了将近一周后终于满血复活了,关于阳康的故事下篇再聊,今天主讲技术。这是动态规划主题的第二篇,本文的题目是赚最多钱的兼职。假设你是搞钱小能手,搬砖之余
  • 阳了!我的实验失败了!

  • 大家好,我是小风哥!就在一周前管控放开后意识到可能感染只是时间问题,我开始有意做一个实验,要在自己能做的最极致的情况下看能坚持到什么时候。先说一下我的通勤方式—地铁,我的
  • 彻底理解动态规划:编辑距离

  • 大家好,我是小风哥。这是动态规划主题的第三篇,本篇的题目非常经典,几乎是面试必备,即,编辑距离问题,edit distance;给定两个字符串word1以及word2,返回将word1转为word2需要的最少