Java编程入门-计算机底层知识

java编程入门之计算机底层运行过程

我想对于大多数初入门的或已经学习编程一段时间的程序员来说,他们对于计算机底层一定充满好奇,或者称之为迷茫吧!为什么我写的程序计算机能够认识?为什么计算机能够帮助我们完成这么多的任务?计算机底层到底是怎么回事?接下来我用我目前了解的一些知识来为你做一个简单易理解的回答。

计算机的组成

想要明白计算机的运行过程,那么首先必须了解计算机的基本组成:如图
计算机基本组成
cpu:central processing unit(中央处理器)计算机最最关键的组成部分。它有着非常精密的构造,上面密布着无数的电路(许多特殊的逻辑电路,可以完成常用的计算),无比复杂。电路复杂程度相当于将一个超大城市(纽约、北京等)缩小无数倍拓印在其上,正是这种复杂的构造才使得计算机有着这样超级强大的功能。
内存:相当于一个小型的超豪华的仓库
显卡:一个存放东西的板子 信息存储介质
磁盘:大型廉价仓库
网卡:数据发送接收的设备(网络通信方面)
总线:相当于一捆电线

程序运行过程(简单易理解的一个版本)

注意注意注意:
1.计算机只能认识 0 1 换言之由0和1构成的数据可以用电路模拟出来
2.0和1在计算机中的表示: 有电为1 无电为0

程序执行时先从硬盘将数据和指令(如 做加法 做减法等)读入内存,CPU将这些数据与指令读入CPU中完成计算过程,计算过程利用复杂的逻辑电路来进行(由一个控制电路有通断电装置 再借助复杂的逻辑电路 来完成计算 总之就是利用这些复杂的逻辑电路的有电和无电来得到计算结果)结果将会以特殊的电路标记通过总线写回内存中。

注:CPU之所以能完成计算任务的关键点就是:特殊的逻辑电路构造
计算过程可以这样理解 电路模拟的数据 ->通过特殊的构造 -> 得到电路模拟表示的数据 -> 记录显示

计算结果的呈现

如果需要将结果呈现给屏幕,那么内存会将计算得到的结果写到显卡(信息存储介质)上,屏幕会实时的将结果呈现出来。屏幕显示的结果是由一个个的像素点组成,而这些像素点的数据是屏幕以自己特定的刷新频率读取的显卡上的数据。

结论

因此我们只需要将要计算的数据和指令以二进制的方式给到计算机,那么计算机就会将结果以二进制的形式给予我们。我们因此将计算机能够认识的这些二进制数据指令称之为机器语言。

如果只有机器语言,那么对于程序员来说可以说是一个噩耗了,谁能记住那么多的二进制数据指令?因此人们急需要一种能够简化编程的语言,慢慢的有了汇编语言(其实只是一种机器语言的助记符 如 用add来代表机器指令10001111(只是做个类比,也许10001111不代表add))这样编程难度会进一步降低。随着时间的流逝与计算机的发展,人们也越来越不满足汇编语言了,因而进一步有了现在的高级语言 如C、Java等。但是程序的底层执行依然没有变过,用高级语言写的程序需要通过编译器或解释器等转变为机器语言,然后再在计算机中执行。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章