(五)指令集、微架构与编译器

本专栏总结王利涛《C语言嵌入式Linux高级编程》第二期课程

(一)指令集的基本概念

  • 什么是指令集ISA

    • 一般称为架构Architecture,其实是 Instruction Set Archiecture;
    • 是计算机体系结构一部分;
    • 从软件意义上,可以看作是一个设计标准,用来规范编程语言模型;
    • 从系统角度上看,规范了CPU能支持的指令范围和种类;
    • 实现形式:由CPU内部结构及指令解码电路实现。
  • 指令集规范规范了什么?

    • 指令的分发、预取、解码、执行、回写;
    • 操作数的类型、存储、存取、旁路转移;
    • 运行结果的存储:寄存器
    • 地址的格式

(二)ARM指令集的发展

  • ARM V1 最初版本,26为寻址控制,无乘法指令,没有商业化;
  • ARM V2 26为寻址控制,增加乘法指令,支持协处理器;
  • ARM V3 寻址范围扩展到32位;
  • ARM V4 增加了半字符存储操作,对调试的支持以及支持嵌入的ICE;
  • ARM V5 增加了DSP指令和Java指令;
  • ARM V6 增加了媒体指令,ARM V6指令集合中加入了超过60条SIMD单指令和多数据指令;
  • ARM V7 定义了三种独立的内核模型——A(应用领域),R(实时领域),M(控制领域);
  • ARM V8 定义了 64位指令集,兼容32位指令集,增加了VFO、NENO指令,增加64位的通用寄存器、堆栈指令SP、程序计算器PC

(三)微架构

  • 什么是微架构

    • 也就是处理器架构,Microarchitecture;
    • 指令集的实现,实现指令集规定的各种操作、运行;
    • 具体表现位CPU硬件电路。
  • 微架构仅仅是一个CPU内核

    • 是指令集的一个具体实现,表现为CPU的内部硬件电路;
    • 它不是SOC!

(四)ARM授权方式

  • 指令集/架构授权

    • 可以开放对指令集进行扩展或缩减权限;
    • 厂商可以基于该指令集实现自己的微架构;
    • 主要用户:苹果的swift架构;高通的Krait处理器;华为的ARM V8 64位指令集授权。
  • 内核授权

    • 微架构授权,用户不用对ARM核进行修改;
    • 主要用户:三星、飞思卡尔、ST、德州仪器。
  • 使用授权

    • 可以使用封装好的ARM处理器、工艺、生产厂家;
    • 主要授权给CPU设计实力不是很雄厚的公司。

(五)编译器

  • 编译器的产生

    • 二进制机器码——> 汇编语言——>高级语言
  • 指令集是编译器设计者的重要参考手册

    • 解决如何将高级语言(比如C语言)翻译成汇编语言的问题;
    • 解决不同类型的数据如何存储的问题;
    • 解决寄存器如何使用的问题。

猜你喜欢

转载自blog.csdn.net/weixin_38956024/article/details/107381098