欢迎光临散文网 会员登陆 & 注册

介绍CPU

2020-03-20 09:58 作者:Iammyself001  | 我要投稿

几个问题

在步入正题之前先问几个问题就是


程序是什么?

程序是由什么组成的?

 什么是机器语言?

正在运行的程序存储在什么位置?

什么是内存地址?

计算机的构成元件中,负责程序的解释和运行的是哪个?


其实,每个人的答案都不一样,没必要完全按照标准答案,理解就可以了。


指示计算机每一步动作的一组指令

指令和数据

CPU 可以直接识别并使用的语言

内存

内存中,用来表示命令和数据存储位置的数值

CPU


CPU功能

CPU负责解释和运行最终转换成机器语言的程序内容。

程序运行流程

CPU组成



CPU内部与内存都是由许多晶体管组成的电子部件,通常称为 IC(Integrated Circuit,集成电路),CPU 的内部由寄存器、控制器、运算器和时钟四个部分构成。

寄存器可用来暂存指令、数据等处理对象,可以将其看作是内存的一种。根据种类的不同,一个 CPU 内部会有 20~100 个寄存器。

控制器负责把内存上的指令、数据等读入寄存器,并根据指令的执行结果来控制整个计算机。

运算器负责运算从内存读入寄存器的数据。

时钟负责发出 CPU 开始计时的时钟信号。不过,也有些计算机的时钟位于 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 的机制, 则操作系统可以抓到八个核心!并且让每个核心逻辑上分离,就可以同时运作八个程序了。

如果有建议和看法,可以在文末留言,谢谢。




介绍CPU的评论 (共 条)

分享到微博请遵守国家法律