4.1.可编程器件的工作原理
(1)电子器件的发展方向:由模拟器件转向数字器件(比如电视机的从模拟电视到数字电视的发展);由ASIC(专用芯片,又称为硬编码,一个芯片只能完成一个任务,需要频繁更换芯片)转向可编程器件(CPU,其功能可后天被编程改变)。
(2)可编程器件的特点:CPU在固定频率的控制下有节奏的运行(譬如说210的主频为1G);CPU可以通过总线读取外部存储设备(譬如说内存)中的二进制指令集,然后解码执行;被CPU解码执行的二进制指令集是CPU设计的时候确定的,其本质上是一串由1和0组成的数字,这就是CPU的汇编指令集(譬如ARM公司是整个CPU规则的设定者,三星公司按照ARM制定的规则生产CPU,编译器开发商按照ARM规则制造编译器,程序员进行编程然后使用编译器进行编译然后放在CPU里面执行)。
(3)源代码编译及运行过程:程序员用汇编指令编程–>经汇编器汇编成二进制可执行程序文件–>二进制文件被CPU读取进去–>CPU内部电路对二进制文件解码–>解码通过则CPU执行指令、完成指令动作。如果程序员用C语言等高级语言编程,则编译器先将C语言程序编译为汇编程序,再进行上面的后续部分(见图1)。
4.2.指令集对CPU的意义
(1)汇编语言与C等高级语言的差异:汇编较C语言来讲编写难度较大;汇编没有可移植性,C语言有一定的可移植性(C语言可移植性受限于操作系统);Java等更高级语言可移植性更强(Java可跨操作系统);汇编语言效率最高(在操作系统