介绍CPU
几个问题
在步入正题之前先问几个问题就是
程序是什么?
程序是由什么组成的?
什么是机器语言?
正在运行的程序存储在什么位置?
什么是内存地址?
计算机的构成元件中,负责程序的解释和运行的是哪个?
其实,每个人的答案都不一样,没必要完全按照标准答案,理解就可以了。
指示计算机每一步动作的一组指令
指令和数据
CPU 可以直接识别并使用的语言
内存
内存中,用来表示命令和数据存储位置的数值
CPU
CPU功能
CPU负责解释和运行最终转换成机器语言的程序内容。

CPU组成

CPU内部与内存都是由许多晶体管组成的电子部件,通常称为 IC(Integrated Circuit,集成电路),CPU 的内部由寄存器、控制器、运算器和时钟四个部分构成。
寄存器可用来暂存指令、数据等处理对象,可以将其看作是内存的一种。根据种类的不同,一个 CPU 内部会有 20~100 个寄存器。
控制器负责把内存上的指令、数据等读入寄存器,并根据指令的执行结果来控制整个计算机。
运算器负责运算从内存读入寄存器的数据。
时钟负责发出 CPU 开始计时的时钟信号。不过,也有些计算机的时钟位于 CPU 的外部。
程序启动后,根据时钟信号,控制器会从内存中读取指令和数据。通过对这些指令加以解释和运行,运算器就会对数据进行运算,控制器根据该运算结果来控制计算机。
寄存器
不同类型的 CPU,其内部寄存器的数量、种类以及寄存器存储的数值范围都是不同的。
因为程序员利用操作的就是寄存器,所以在程序员眼中CPU就像是一个寄存器的集合一样。


CPU类型
不同的 CPU 能解释的机器语言的种类也是不同的。例如,CPU 有 x86、MIPS、SPARC、PowerPC 等几种类型,它们各自的机器语言是完全不同的。
机制
一、条件分支和循环机制
就像我们人做事情一样,CPU处理流程也会按照顺序去做(顺序执行),遇到需要判断的事情去做抉择(条件分支),循环做一件事(循环)。

二、函数调用机制
有时我们遇到一些问题没办法自己上述的几个机制来完成,这时我们可能会想到找其他人帮忙一起完成这件事情,但是你仅仅将工作拆分后吧内容给其他人,还有得到最后的结果,至于其他人是怎么完成的是不知道的。这就是函数调用。
在CPU的层面对应的指令就是CALL与RET指令(C语言就是return指令)

CPU指令
其实我在刚开始学习的时候,每次看书,听老师讲课的时候经常感觉到时不时出现一个新的指令,但是我并不了解仅仅是会用,我想这个原因就是不知道机器语言和汇编语言的指令到底有多少种,因而对 CPU 的运行没什么概念。

其实CPU可以进行的处理非常的少,虽然高级语言写出来感觉很复杂,但是实际上对于CPU来说真的就是这么简单。
一般CPU是具有指令集,不同CPU架构,指令集不同
分为精简指令集与复杂指令集,
工作频率
1.外频:CPU 与外部组件进行数据传输时的速度
2.倍频:CPU 内部用来加速工作效能的一个倍数
3.频率速度:外频 x 倍频
超线程(HT)
超线程(Hyper-Threading),CPU 可以假象的同时执行两个程序
具体实现:在每一个 CPU 内部将重要的缓存器 (register) 分成两群, 而让程序分别使用这两群缓存器。也就是说,可以有两个程序“同时竞争 CPU 的运算单元”,而非透过操作系统的多任务切换! 这一过程就会让 CPU 好像“同时有两个核心”的模样!因此,虽然大部分 i7 等级的 CPU 其实只有四个实体核心,但透过HT 的机制, 则操作系统可以抓到八个核心!并且让每个核心逻辑上分离,就可以同时运作八个程序了。
如果有建议和看法,可以在文末留言,谢谢。
