打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
CPU是怎么认识代码的?

CPU其实只认识“0”和“1”

我们经常会听说到某某芯片由多少百亿个晶体管组成这样的科技新闻。没错,CPU就是超大规模的集成电路,由数量超级多的晶体管组成,而晶体管只有“开”和“关”两种状态,刚好可以用“0”和“1”来代表这两种状态,所以CPU是采用二进制来进行运算的。

CPU是什么?

CPU是Central Processing Unit的缩写,中文名全称为中央处理器。CPU的组成包括了运算逻辑、寄存器和控制部件,它可以解释指令和进行数据运算处理。因为CPU本身就是超大规模的数字电路,只认识“0”和“1”,所以所有的指令和数据都需要由“0”和“1”组成。

二进制只有“0”和“1”怎么运算?

所有运算逻辑我们都可以理解为“与”,“或”,“非”,“异或”四种哦

与门:多个条件中,所有条件成立才算成立,

  • 1 and 1 = 1
  • 1 and 0 = 0
  • 0 and 0 = 0

或门:多个条件中,只要有一个条件成立,就算成立

  • 1 or 0 =1
  • 1 or 1 =1
  • 0 or 0 =0

非门:其实就是反相

  • not 1 =0
  • not 0 =1

异或门:可以理解为,两个条件不一样,才算成立

  • 1 xor 1 =0
  • 1 xor 0 =1
  • 0 xor 0 =0

当然还可以由这四种门延申出“与非门”,“或非门”,“与或非门”,“异或非门”等。

CPU为什么可以运行我们的程序呢?

上面说到CPU只认识“0”和“1”,那它为什么可以运行我们的程序呢?CPU的确不可以直接运行我们编写的程序。但如果直接只用“0”和“1”的组合来写程序,那是相当的烦所,也难以找到错误,是非常不现实的。聪明的人类为了解决这个大麻烦,就发明了汇编语言,用一些容易理解和记忆的字符来代替“0”和“1”组成的指令。

例如:

  • ADD:表示逻辑加减
  • MOV:代表数据传递
  • JMP:代表跳转

当然还是需要通过汇编器把这些用汇编语言编写的程序翻译为“0”和“1”组成的十六进制机器码。

随着计算机技术的发展,写的程序也越来越复杂了,发现用汇编语言编写程序的效率也相当低,然后聪明的人类又发明了我们现在用的各种高级语言,比如C,C++,PHP,Python等等,当然这些由高级语言编写的程序就需要通过编译器'翻译'为CPU能够识别的十六进制机器码。

汇编器或者编译器可以理解代码与CPU沟通的“桥梁”了,通过它进行“翻译”,CPU就可以认识代码了。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
计算机基础|你知道汇编语言吗?
异或运算
位运算 之(2) 按位异或(xor)^ 操作
按位异或运算符 ^
同或&&异或
XOR异或计算
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服