CPU和指令集之间的友谊

@TOC我喜欢大家一起讨论
那么我就来先说一说自己的体会和感悟。
希望大家也能积极高谈阔论,也可指出我理解的不足。
以下我会分别从CPU和指令集的功能的角度来说明。

一、什么是CPU?

1、一直都在思考CPU的实质是什么?为什么给指令就会工作?
2、这个问题也思考了很久,也有了一些自己的理解,因此,我将其记录下来。
3、CPU是一种特殊的电路,各个电路有特殊的功能,比如这些功能为加、减、乘、比较等等,当然还有其他的一些功能,这些电路集成在一起,将其无限缩小,浓缩成我们现在看见的芯片。
4、可以理解为CPU是一种电路,并且可以被操作控制的电路。

二、什么是指令集

1、指令为什么可以操控CPU?不可能无缘无故的能控制CPU,二者肯定有一份特别的缘分。
2、指令是实现一个功能或操作的,功能又是被什么承载的呢?也就是实际的逻辑电路。
3、每一条指令就是一种电路,一种逻辑电路。指令有多少就有多少种逻辑电路。然后将这些电路集成到一个芯片,也就是CPU。指令集是专门针对CPU设计的。
4、也就是说指令集的实质就是逻辑电路的集合。

总结:也就是说CPU是指令集的实体,而指令集是CPU的实现。

三、指令集与汇编语言的关系

1、众所周知CPU只能识别二进制数据,不知道若干年之后会不会识别更多的电平信号。也就是说目前CPU接收的是010101的电平信号。
2、电平信号从哪里来,供电很容易理解,通电即可,但是要整出一定规律的电平信号,那就需要一定的操作了,最开始将纸打孔形成有规律的二进制数据。这些有规律的二进制数据就是指令集的体现。
3、后来经过大神的探索、总结既然CPU识别二进制数据,将二进制数据分组,每组二进制串对应不同的操作,也就是说定义不同的二进制串,来规定CPU不同的操作。也就是说定义不同命令来操作CPU数据,为CPU设计命令。当然命令的实质就是二进制串。命令的叠加,就是二进制串的叠加。
4、这些命令是什么?我想就是汇编语言了。

四、汇编语言的认识

1、汇编实质是CPU机器指令助记符,是一款CPU的本质特征。
2、机器指令集是一款CPU的编程特征,是这款CPU的设计者制定的。CPU的内部电路设计就是为了实现这些指令集的功能。机器指令集就好象CPU的API接口一样。
3、这些可被解码执行的二进制指令集是CPU设计时决定的,是CPU设计者定义的,本质上是01组成的数字串,这就是CPU的汇编指令集。
4、不同CPU的机器指令集设计不同,因此汇编程序不能在不同CPU间互相移植。
5、CPU通过总线读取外部设备存贮的二进制指令集,然后解码执行。

猜你喜欢

转载自blog.csdn.net/weixin_46089486/article/details/108791817