CPU,内存,汇编

Kuntakimp 2009-02-21 07:18:37


个别错别在先致歉。

转载请注明原作者。

作者:Kuntakimp

程序员设计程序的时候,其实在完成某种程度对CPU的抽象。CPU所支持的动作是固定的,由厂商决定的,可大致分为:1对内存单个字加删改2对内存的寻址,说白了,CPU定位内存字节位置,然后执行加删改。

如果把上述当作CPU的输出,那么CPU是一个广义函数,输入是内存上的二进制所表示的代码,输出就是上述,里面的还调用了+-*三个函数,除此之外,别无其它。

CPU以内存作为输入,输出又是改变内存,有没有种无限循还的感觉。事实上,逻辑上,是一堆内存输入改变另一堆内存,前一堆内存的输入,包含了改变第二堆内存所需要的所有的信息。那么第一堆内存上的东西是如何来的,是由另另一堆内存作为输入改变而来,如此循还,直到最初的那堆内存,是存放在主板上固化的内存(cmos),如此,循还终结。以上过程,含盖了把操作系统的所执行的所有操作。

C程序:

汇编就是CPU,而C,完成了1CPU动作的合理组合封装2类型的结构化,在CPU角度上,数据是只是一堆内存,没有特别,而C,让数据有了不同的类型

高级程序的唯一作用是:让你把自己想象成CPU工作更加轻松。若把高级程序仍然是一个函数,输入是规则化的字符串,输出是对内存的改变(暂不用涉及外存)。

接下来人类开始对规则化的字符串进行改进。类型的作用,最初只有int,pointer,计算机的二进制根本决定的CPU的所有计算都是+(无论是+-*/,微分,积分都是),在int上实现了+,使得高级程序所操作的CPU变成一个有数据类型的CPU,与原始CPU有本质的区别。于是人们通过改造语言,本质上是在制作一种更为具体的CPU。

C++的类,有些类实现了+,有些类未实现+,于是C++所塑造的是一种部分有数据类型,部分无数据类型的CPU,之所以有些类无法实现+,本质上是人类对这个世界的数学化还未达到,因为人类还没有深刻的认识。

另个C中引入了函数的机制,函数是一系列CPU动作的组合,所以本质上是+,不过是有缺陷的+,+是普适于所能用的所有类型,而函数,只能用于具体入微的类型,在C中是如此。

数据结构:

数据结构是固定下来的算法(算法是作用于具有特定特性的对象集合的一组操作),数据结构是一堆类型的结构化,当人类总结出普适的一套算法时,就把它固定下来。算法,数据结构总与一堆确定的类型相关的。

泛型:

泛型只是改变了"规则化字符串"中的规则,于是再制造出一种新的CPU,各种类型相+(在他们可+时),这个+总会根据其内在的逻辑+起来(内在的逻辑其实也是程序员定义的),泛型的作用是让一个函数不需要具体入微的类型,此时函数可以正式等于+!!于是泛型的作用就是使得所造出来的CPU只有+。但是这个目的没有完全达到:1。泛型函数所接受的类型虽然不用具体而微,到是只限于有限的几种;2并不是所有的类型都有+,根本原因是,世界的数学化还全部没完成。


算法的独立:

数据结构作为一堆类型的结构化,再如何也不能独立抽象了,但是算法却可以,原因是所有数据结构都是类型结点的结构化组合,如果忽略组合两字,所有的数据结构都是一堆类型结点,当创造出能构遍历全体结点的指针,算法就可以独立了,但是这种算法是较劣质的,原因是,遍历全体的时候,会有针对整个数据结构的信息缺失。数据结构总是算法所能固定的最上界,当数据结构再不能扩展时,算法的独立性再抽象原始的CPU,即,没有类型,只有+运算的CPU!不同在于,原始CPU仅含盖了+,而这个CPU,含盖了千千万万个对世界抽象出来的类,函数,并且还是可以不断扩充的!这是根本的不同。另外,原始CPU没有类型,本质上是人脑借给CPU,而这个CPU的没有类型,人脑反而更加轻松。

类:

是对世界的数学抽象,类的层次反映了人对世界层次化的认识。类不能+,反映了类的不科学,或者说人没有从根本上了解世界。
类不应该是程序的核心,因为类的基础与局限都是二进制与内存的序列化(而非结构化),计算机不会止步于二进制与内存序列化。
类的局限,乃至整个计算机程序世界的局限,在于计算机硬件的局限。

虚拟机:

程序语言一直在制造CPU,虚拟机干脆直接制造一个CPU,这个CPU,没有类型,只有+。这个CPU的作用是使该CPU独立于主板上的各芯片。

总结:

这个伟大的产业,有多少个旷世天才在这儿投入心血啊!我们这些后辈,只有投以深深的敬意,再别无其他了。

...全文
71 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Kuntakimp 2009-02-22
  • 打赏
  • 举报
回复
up
Kuntakimp 2009-02-21
  • 打赏
  • 举报
回复
up
Eleven 2009-02-21
  • 打赏
  • 举报
回复
Up

18,355

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧