指令是CPU定义的还是程序定义的?
指令是CPU定义的还是程序定义的?
About
#计算机组成原理#
指令集是在芯片开发的时候就写入CPU,并集成为硬件的一部分。
而程序是由多条指令组成的,并没有定义指令的权限,只有使用指令的权限。在我们实际运行的时候要通过编译器把程序翻译成指令才能真正在计算机中运行。
所以我们这里就引入了当代计算平台最麻烦的问题之一,移植性问题。
例如常看机圈的朋友都知道有骁龙888,还要intel芯片。不同种类的芯片里面包含了指令集不同,导致了如果你直接把电脑端的exe软件包安装到手机端将无法运行。
当然这里面还包含了操作系统的原因,很多程序在编写的时候应用到了操作系统的库函数,随着操作系统的升级或者改变,使得原来的库函数将无法被执行。我们在不考虑操作系统的情况下,硬件本身就存在着难以移植的问题。
所以相同的程序在不同的芯片端都需要经过不同的编译软件进行编译。