天天看点

初探计算机网络之CPU和内存

CPU

CPU

是一块超大规模的集成电路板,是计算机的核心部件,承载着计算机的主要运算和控制功能,是计算机的最终解释模块和执行模块。总之,用一句话概括就是,

CPU

是由控制器和运算器组成的,而内部寄存器使这两者协作更为高效。

CPU

的内部结构如下图所示。

下面对图中的三大组成部分进行简单的讲解。

控制器

​ 控制器是由

控制单元

指令译码器

指令寄存器

三大部分构成。其中

控制单元

是CPU的核心,由时序控制和指令控制等组成;

指令译码器

是在控制单元的协调下完成指令读取、分析并交由运算器执行等操作;

指令寄存器

是存储指令集,当前流下的指令包括 X86、SSE、MMS 等。控制器类似于我们平常使用代码编译器一样,当输入编译之后的0与1的源码流,通过译码和控制单元对存储设备的数据进行读取,运算完成之后,保存回寄存器或者是内存。

运算器

​ 从图中我们可以得知,运算器的核心是算术逻辑运算单元,即

ALU

,能够执行算术运算或逻辑运算等各种指令,运算单元会从寄存器中提取或存储数据。相对于控制单元来讲,运算器是受控的执行部件。我们平时开发的编程语言,如Java、Python等,用到的a+b的算术运算,无论是字节码指令,还是汇编指令,最终的结果是一定以0与1的组合流形式在部件内完成最终计算,并保存到寄存器,最后送出CPU。

寄存器

​ 为了区分,作者在寄存器图上特意标明了CPU的高速缓存

L1

L2

,缓存容量是组装计算机时必问的两个CPU性能问题之一。缓存结构和大小对于CPU的运行速度影响非常大,毕竟CPU的运行速度远快于内存的读写速度,甚至硬盘。基于执行指令和热点数据的时间局部性和空间局部性,CPU缓存部分指令和数据,以提升性能。但由于CPU内部空间狭小且结构复杂,高速缓存远小于内存空间。

小结

CPU

是一个高内聚的模块化组件,对于外部其他硬件设备的时序协调、指令控制、存取动作,都需要通过操作系统进行统一管理和协调。

内存

​ CPU与内存的执行速度有着很大的差距,上图中寄存器里面的

L1

L2

分别对应着256KB和4MB,它们是CPU和内存之间的缓冲区,但需要注意的是,并非所有的处理器中都存在

L3

缓存。

内存

就是系统资源的代名词,它是其他硬件设备与CPU沟通的桥梁,计算机中的所有程序都在内存中运行,它的容量与性能如果存在瓶颈,即使CPU再快,也是白费功夫。内存的物理结构是由内存芯片、电路板、控制芯片以及相关支持模块等组成。

​ 在Java当中,内存就全权交给了JVM(Java虚拟机)来自动分配和释放,这个过程就是

垃圾回收机制

。虽然

垃圾回收机制

能够帮助我们的程序减轻了压力,但是不在代码中加以约束的话,同样也会耗尽内存资源。

继续阅读