RISC与CISC的主要特征对比 | ||
比较内容 | CISC | RISC |
指令系统 | 复杂、庞大 | 简单、精简 |
指令数目 | 一般大于200 | 一般小于100条 |
指令格式 | 一般大于4 | 一般小于4种 |
指令字长 | 不固定 | 等长 |
可访存指令 | 不加限制 | 只有LOAD/STORE指令 |
指令使用频率 | 相缠很大 | 相差不大 |
指令执行时间 | 相差很大 | 绝大多数在一个周期内完成 |
优化编译实现 | 很难 | 较容易 |
程序源代码长度 | 较短 | 较长 |
控制器实现方式 | 绝大多数为微程序控制 | 绝大多数为硬布线控制 |
软件系统开发时间 | 较短 | 较长 |
寄存器(register)是CPU的一个组成部分,里面存放着指令、数据和地址等供CPU计算使用,速度比较快。寄存器分为通用寄存器(完成通用的计算功能,谁都可以使用),和专用寄存器(状态寄存器,下一条执行指令寄存器,栈寄存器等,不能随便修改)。
ARM 指令:当前执行的 PC 和与看到的 PC 相差 8,即看汇编时,需要 pc+8 才是真正的 pc;
Thumb 指令:当前执行的 PC 和与看到的 PC 相差 4即 看汇编时,需要 pc+4 才是真正的 pc。(下图为ARM指令流水线 )
未分组寄存器:它们都共享R0到R7的通用寄存器,即只有一个寄存器;
分组寄存器:R8-R12 :两个(FIQ拥有自己独立的R8-R12的通用寄存器,其它六种处理模式共享R8-R12的通用寄存器。);
所谓的分组寄存器,是指一个寄存器在不同模式下有对应不同的寄存器,比如SP,在abort模式下sp_abt,在undefined模式下是sp_und,在irq模式下是sp_irq,进入各种模式后会自动切换映射到各个模式下对应的寄存器。
1 个固定的程序计数器 : PC (又称 R15),总是指向正在取值的指令,类似于X86的EIP寄存器。
当前程序状态寄存器 :CPSR。不能被同时访问,一种模式下最多同时访问 18 个寄存器。
参与评论
手机查看
返回顶部