01 冯·诺依曼体系结构:计算机组成的金字塔

【其中S表示原文,A表示我的个人解释】

【请注意,这里面充满大量不成熟的、主观推测的看法】

【大家可以去极客时间支持各位老师的专栏,都是很不错的内容】

S1:显示器、鼠标、键盘和硬盘这些东西并不是一台计算机必须的部分。

A1:虽然说作者的意思是一台计算机不必需要配备显示器、鼠标、键盘和硬盘等设备,毕竟只需要CPU,内存,主板就完全可以运行程序和处理数据,从最狭义的角度来说,计算机的核心概念确实与该类输入输出设备无关,比如服务器,但从本质上来说,作为“可编程存储计算机”来说,这些设备还是一台计算机必须的部分,哪怕从物理连接上主机和输入输出设备并不在一起,但从抽象概念上,二者还是互相依靠,只有主机,没有输入输出设备,那么计算机不能为人类做任何事情。即便是服务器,也需要依靠网络远程连接显示器、鼠标和键盘来进行工作,这样才能合成为一个完整的计算机。因此尽管从计算功能的构成上来说,输入输出设备并不是必须的(毕竟它完全可以在内部预设一些电路结构,然后插上电源自动运行而不管人类如何操作),但从一台可使用的计算机角度来说,这些设备依旧是必须的。

S2:主板是一个有着各种各样,有时候多达数十乃至上百个插槽的配件。我们的 CPU 要插在主板上,内存也要插在主板上。主板的芯片组(Chipset)和总线(Bus)解决了 CPU 和内存之间如何通信的问题。芯片组控制了数据传输的流转,也就是数据从哪里到哪里的问题。总线则是实际数据传输的高速公路。因此,总线速度(Bus Speed)决定了数据能传输得多快。

A2:CPU和内存不直接相连,而是通过主板的插槽形式相连,这似乎也与计算机编程中解耦的基本思想一脉相承,将二者从僵死的固定组合变成了可灵活更改的配件,也符合使用抽象和接口来进行解耦这一基本手段。因此主板作为一种平台,提供了极大的扩展度。

S3:无论是个人电脑、服务器、智能手机,还是 Raspberry Pi 这样的微型卡片机,都遵循着同一个“计算机”的抽象概念。这是怎么样一个“计算机”呢?这其实就是,计算机祖师爷之一冯·诺依曼(John von Neumann)提出的冯·诺依曼体系结构(Von Neumann architecture),也叫存储程序计算机。这里面其实暗含了两个概念,一个是“可编程”计算机,一个是“存储”计算机。

A3:计算机在底层是通过电路组合来实现各类计算逻辑的,不可编程意味着,这些计算逻辑都是固定的,仅提供有限的组合,这就极大地限制了计算机发展的可能性;不可存储意味着,即便是可编程的,每当使用一个程序,就需要重新编程一次,这就极大地限制了计算机程序的复杂上限,也就使其不能做更多的事情,也限制了计算机发展的可能性,同时由于多次编写同样一种程序,花费许多时间做同样的事件,做了极多时间的无意义浪费。因此,可编程和可存储的计算机出现,就极大的提高了计算机的发展上限和工作效率,但现行的计算机架构是否也有其限制发展上限和工作效率之处呢?看来,探讨它自身的固有缺陷和发展瓶颈与探讨它解决的问题和突破的发展瓶颈同样让人能够深刻理解它。

S4:无论是个人电脑、服务器、智能手机,还是 Raspberry Pi 这样的微型卡片机,都遵循着同一个“计算机”的抽象概念。这是怎么样一个“计算机”呢?这其实就是,计算机祖师爷之一冯·诺依曼(John von Neumann)提出的冯·诺依曼体系结构(Von Neumann architecture),也叫存储程序计算机……任何一台计算机的任何一个部件都可以归到运算器、控制器、存储器、输入设备和输出设备中,而所有的现代计算机也都是基于这个基础架构来设计开发的……所有的计算机程序,也都可以抽象为从输入设备读取输入信息,通过运算器和控制器来执行存储在存储器里的程序,最终把结果输出到输出设备中。

A4:因此,要用抽象概念去理解计算机部件,而不是用计算机部件去绑定抽象概念。只要符合概念,即可认定其为某部分,比如硬盘即可理解为存储器,也可以理解为输入输出设备,而不是绑定在存储器这一个概念上。关注于组件在系统中的角色和功能,而非物理形态或传统的分类。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值