"); //-->
上节介绍了CPU的基本结构,那么在此结构基础上的CPU系统到底需要配套什么样的指令系统,才能达到根据命令完成多样任务呢?
有一句老话叫“人为财死,鸟为食亡”。虽然此话有点消极,但确实是对大量人的行为进行抽象后的总结,人和动物的行为其实可以简单地总结为目标——计算——行动这3个不同的功能部分。比如小鸟发现了食物,它会先查看一下环境(数据采集),然后根据收集到的环境信息判断是否会有风险或对风险的大小进行权衡(算术或逻辑运算),然后根据权衡(运算)的结果决定是否靠近食物(行动)。
因此只要按照上述3种功能来组成CPU系统的指令系统就可以完成机器对人的模拟,我们学习的CPU系统,正是由这3类指令组成的,它们分别为:数据传送指令、数据运算指令和控制转移指令。下面分别介绍这3类类指令的功能和作用。
传送指令:传送指令是最重要也最容易被忽视的一类指令,通过上节的学习,我们知道CPU为了能够完成取指和译码等操作,需要配备许多相对应的硬件电路才能完成。这些电路之间的数据传送,以及外部数据与CPU内部各电路之间的数据传送,都可以被归结为传送指令。就象人和动物的感觉器官的信息都要传送到大脑处理一样,没有传送指令就不可能有运算的结果,而且运算结果的执行依然要通过传送指令传送到相应的操作单元。
运算指令:运算指令是最容易理解的指令,因为CPU所处理的都是数字,因此它的数据运算也只需要算术运算指令和逻辑运算指令就足够了,但对于运算结果的处理,则必须通过控制转移才能实现。
控制转移指令:对于初学者来讲,控制转移指令是一种全新的概念,所以这里要特别强调一下。要理解这类指令首先必须知道“分支”的概念,当我们在一条笔直的大路上行走时,如果出现了一个路口,这时是继续沿着原来的路走下去还是拐进新出现的路口就需要做一个决定,这就是“分支”的概念。走路时如何分支,则要看我们达到的目标在哪里,对CPU的程序来讲问题也是一样的。前面已经介绍过CPU每次读取并执行一条指令,完毕后再读取下一条指令并执行。为使CPU按程序员的要求进行工作,我们就必须为CPU准备很长很长的一大串指令,这些指令串就是我们通常所说的程序。和城市的道路一样,我们给CPU下达的指令串也不可能是一条直线走到头,和道路情况一样指令串也有许多分支。控制转移指令就像路口的指示灯,决定程序在“分支”的路口执行相应的指令串。
上面已经介绍了计算机的原理以及指令的主要类型,对这些知识的透彻理解可以帮助初学者快速深入地掌握计算机技术,下一节以在Altair -80C31Small计算机上的实验为例,详细介绍计算机最低层的核心编程技术。尽管当前的计算机编程技术已经有了长足的发展,编程技术的种类也令人眼花缭乱,但所有这些方法得到的最终结果仍然必须还原成一条条指令——机器码才能被CPU执行。
早期的计算机程序员都是直接编写机器码程序,即使是现在的编程工具,也都是由最初的机器码程序开发而来的。使用初级编程工具来开发高级编程工具是计算机编程技术的发展过程,而这个过程的开始就是下一节我们将要学习的——机器码程序。
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。