关于计算机的一点点总结与思考
大致的说:
自底向上而言,计算机的结构应该是:
按规则组织的物理元器件 ->
按规则(指令集)进行控制物理元器件 ->
任务复杂程度高,数量多,资源利用率低,使用规则(指令集)设计出监控程序(操作系统)管理任务 ->
为解决任务复杂,指令集过多,设计出解释程序(编译器)将高级语言转化为指令集 ->
为解决数据存储和访问的问题,设计出按照一定规则管理数据的程序(数据库) ,为解决单个计算机资源不足问题,设计出不同计算机之间相互通信的规则(计算机网络) ->
计算机在不同学科的应用催生出不同的应用方向,如:人工智能,CAD等,同时,原有问题规模的不断扩大,复杂程度不断增加,导致原有的规则与结构难以适应,因此也需要新的规则去解决新的问题
细致分析:
1. 按规则组织的物理元器件
无论任何形式的元器件,甚至量子元器件,也必须按照一定的规则去组织,如:ALU,无论采用什么工艺,什么物理器件,都必须达到预期的功能要求,即 1+1=2
2. 按规则(指令集)进行控制物理元器件
指令集是规则的体现,当然,开发的工程师不可能测试所有的规则,所以这里存在规则漏洞或人为留下的后门,在这一层,使用指令集的人不再关心功能的具体实现,只关心如何使用指令集解决预期的问题
3. 任务复杂程度高,数量多,资源利用率低,使用规则(指令集)设计出监控程序(操作系统)管理任务
并不是所有的计算机都需要监控程序(操作系统)
操作系统的设计很大程度上推动了计算机的广泛使用,用户只需要面向自己所在的领域,不需要学习计算机的知识还是要了解一下
但是,随着不断的迁移,这个监控程序(操作系统)需要做的事情越来越多,再加上一些历史因素,导致操作系统变得十分的庞大且复杂,这个也只是相对于过去而言。
还是那句话,并不是所有的计算机都需要操作系统
4. 为解决任务复杂,指令集过多,设计出解释程序(编译器)将高级语言转化为指令集
直接使用指令集存在很多风险,最关键的是,不可移植,也就是写好的程序换到不同版本的计算机上就不能正常工作,那么解释器(编译器)就可以解决这个问题
通过设计从人类容易理解的语言到指令集的规则,从而实现解释器的功能。
人类写的程序质量好坏不一,所以解释器(编译器)增加了优化功能,这个也是导致现在解释器(编译器)十分复杂的问题,也许有一部分原因是无法忽视底层硬件的差距,也有可能是我们的抽象做得不够好
5. 为解决数据存储和访问的问题,设计出按照一定规则管理数据的程序(数据库)
数据就是钱
在现在,数据的价值远远超过一份程序的价值,很多数据出于各种安全因素无法公开,但问题依旧存在!
当数据量达到一定的量级,普通的文本文件难以满足存储和读取的需要,所以设计了一份管理数据的程序(数据库)
最常用的是关系型,也就是通过不同元素之间的关系进行连接,对于不同类型的数据,所采用的数据连接形式也不同
其实,到现在,数据库是否也可以做一个抽象层?
6. 为解决单个计算机资源不足问题,设计出不同计算机之间相互通信的规则(计算机网络)
单个计算机的资源有限,且对于不同场景使用需要使用不同的计算机,通过设计出通信规则使得可以让不同计算机进行数据传输,甚至计算,达到资源的最大化利用
7. 计算机在不同学科的应用催生出不同的应用方向,如:人工智能,CAD等
单一的计算机并没有什么用,有用的是计算机的软件生态圈,就像Linux
和Windows
,
似乎现在并没有什么方案可以解决:单一任务和多任务的切换,也就是既可以使用像Windows那样的通用操作系统,也可以使用嵌入式设备那样的单一操作系统,双系统符合了一半
8. 原有问题规模的不断扩大,复杂程度不断增加,导致原有的规则与结构难以适应,因此也需要新的规则去解决新的问题
首先,底层工艺的提升困难导致算力提升减速;
其次,人类越来越难以理解机器的各种优化;
最后,问题的复杂和多样化,数据规模的剧增
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」