指令系统层
通过前文 《微体系结构层》,我们已经引入了指令系统层的概念,本文是对指令系统层更系统的阐述。 并且以ARMv7指令系统层为例加以阐释
一、概述
-
什么是指令系统层?
指令系统是指计算机所能执行的全部指令的集合,指令是一组有意义的二进制代码。指令的基本格式为操作码字段+地址码字段。 -
提出指令系统层概念的好处?
不同CPU公司生产的计算机硬件不同,实现同一种操作逻辑的硬件实现过程是不同的。指令系统层要将硬件实现过程封装好,这样以后,各个计算机公司生产的同一系列的计算机尽管其硬件实现方法可以不同,但指令系统、数据格式、I/O 系统等保持相同,方便用户使用,也保持系统向上兼容。 -
复杂指令系统(CISC)与精简指令系统的(RISC)的特点
提出复杂指令系统(CISC)与精简指令系统的(RISC)的初衷都是要提高计算机系统的计算性能。
CISC通过缩小高级语言与机器指令之间的语义差距,简化目标程序,即认为计算机性能的提高主要依靠增加指令复杂性及其功能来获取。带来的代价是实现机器指令的硬件复杂度上升,微指令系统复杂程度上升,单一指令的执行周期加大,从而造成整个程序执行时间增加。
针对CISC缺陷,提出了RISC思想,强调简单而统一格式的指令译码,采用高效的流水和编译方法进行流水调度,简化微指令系统,RISC 的主要问题是编译后生成的目标代码较长, 占用了较多的存储器空间,另一个潜在缺点是对编译器要求较高。 -
一条指令的完整格式是怎么样的?
一条指令包含下列信息:(1)操作码,具体说明了操作的性质及功能,每一条指令对应一个操作码。(2)操作数从那里来,CPU通过该地址取得所需操作数。(寻址)(3)操作结果的存储地址,把指令处理的结果保存在该地址中。(4)下一条指令的地址。 -
指令系统层有哪些指令?
基本的指令有数据处理指令(包括算术运算、逻辑运算、移位、比较)、数据传送指令(寄存器之间、寄存器与主存储器之间)、程序控制指令(条件转移、无条件转移指令)、I/O指令(读写)、状态管理指令(存储保护、中断处理)。计算机也在根据用户需求不断引入新指令,例如为了防止不同进程同时进入临界区,出现了信号指令(PV操作) -
执行一条指令的步骤?
可分为以下几个步骤:(1)取指令阶段。将一条指令从主存中取出送到指令寄存器中。(2)指令译码阶段。在组合逻辑控制的计算机和微程序控制的计算机不同(3)指令执行阶段(4)访存取数阶段。根据指令需要,有可能访问主存读取操作数。(5)结果写回阶段
二、ARMv7指令系统层概述
-
我们说ARMv7是32位的,这里的32位指的是地址总线根数或者数据总线根数概念么?
- 由浅到深分析这个问题&#x