课程【1】

课时一

计算机的底层

计算机主要由三部分组成:CPU、内存、磁盘。

当我们在计算机上执行一个程序时,首先由输入设备向CPU发出操作指令,CPU接收到操作指令后,硬盘中对应的程序指令被直接加载到内存中,此后,CPU再对内存进行寻址操作,将加载到内存中的指令翻译出来,而后发送操作信号给操作控制器,实现程序的运行或数据的处理。

那么为什么CPU不直接从磁盘中调用数据呢?

由于磁盘的物理特性,决定了磁盘的存储速度并不会很快,一般在2-3ms左右,相比之下,内存的速度就快很多了,一般在20ns左右,CPU的运算速度在0.2ns左右,所以让cpu从内存中调用数据,大概有1%的利用率,这相对来说已经很高了。在现在的计算机中,都是按照硬盘→内存→CPU的顺序进行数据读取。

在计算机底层中,计算机是不能直接识别我们所编写的C程序或者Java程序的。它只能识别机器语言,而机器语言是用二进制代码表示的计算机能直接识别和执行的一种机器指指令系统令的集合。

汇编语言是一种用于电子计算机、微处理器、微控制器,或其他可编程器件的低级语言。 在不同的设备中,汇编语言对应着不同的机器语言指令集。 一种汇编语言专用于某种计算机系统结构,而不像许多高级语言,可以在不同系统平台之间移植。汇编语言的主体是汇编指令,汇编语言是二进制指令的文本形式,与指令是一一对应的关系。

高级语言并不是指一种语言,而是包括很多编程语言,比如Java、C、C++、C#、python等等,是高度封装的编程语言。高级语言与计算机的硬件结构和指令系统无关,它有更强的表达能力,可方便地表示数据的运算和程序的控制结构,能更好的描述各种算法,而且容易学习掌握。但高级语言编译生成的程序代码一般比用汇编程序语言设计的程序代码要长,执行的速度也慢。汇编语言和高级语言最后都得转换成机器语言,但是高级语言由于高度封装,相同的实现下,高级语言转换成机器语言的执行步数通常都比汇编语言多,这也是为啥高级语言一般都比汇编语言性能差的原因。

猜你喜欢

转载自blog.csdn.net/LB_Wuyanzu/article/details/121580672