CPU是怎么认识代码的?
我是电子及工控技术,我来回答这个问题。作为中央处理器的CPU是无法识别我们人类编写的程序代码的,而CPU所能够识别的“语言”其实很简单,就是由“1”和“0”组成的数字串。而由“1”和“0”组成的数字串对于我们人类来说“读懂”它的含义也会感觉到一脸的茫然。鉴于这种在人脑和电脑CPU两者无法直接“交流”的情况下,人类又一次发挥了他极具创造性的想法发明了编译器。编译器的出现搭起了人类大脑和电脑CPU的沟通的桥梁与纽带。
由于CPU是一个极为庞大的集成电路,为了说明问题我们用其中一个极为简单的数字处理电路为例来说明CPU是如何“认识”我们人类编写的代码的。我们知道CPU中包含着数量众多的绝缘栅晶体管(MOSFET),在这些众多的绝缘栅晶体管(MOSFET)中分为两类,一类是P沟道的绝缘栅晶体管、另一类是N沟道的绝缘栅晶体管。
对于P沟道的绝缘栅晶体管来说,当给它的输入端加一个“1”时(高电平)时该管子就会处于“关闭”状态,当给它的输入端加一个“0”时(低电平)时该管子就会处于“打开”状态。
对于N沟道的绝缘栅晶体管来说,当给它的输入端加一个“0”时(低电平)时该管子就会处于“关闭”状态,当给它的输入端加一个“1”时(高电平)时该管子就会处于“打开”状态。因此根据这些MOS管的特点在任何一种输入条件下PMOS和NMOS都不会处于打开的状态。因此在CPU中就有用这些MOS管组成的与非门电路和或非门电路。因此就可以执行逻辑运算,所以说逻辑运算也是CPU的功能之一。
那么下一个问题是我们使用计算机语言编写的程序,比如常用的C语言或者汇编语言等等都有逻辑表达式或者逻辑指令,编写好一个逻辑运算的程序后要通过刚才讲的编译器对源程序进行编译生成CPU能够识别的“语言”(二进制代码)。又由于这个机器语言(二进制代码)与我们编写的逻辑运算程序是一一对应的,因此只要把这段代码“灌进”CPU的内部他就会按照我们人类的要求运作起来了,从而也就能够“认识”我们人类所写的代码了。
通过以上的简单实例给朋友们再现了CPU是怎么认识代码的过程的,我们通过“管中窥豹,时见一斑”的方法希望能给有疑惑的朋友提供一个参考答案,如有阐述不周之处希望朋友们批评指正。
以上就是我对这个问题的看法,欢迎朋友们参与讨论,敬请关注电子及工控技术,感谢点赞。