欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

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

程序员文章站 2022-06-27 21:11:47
本专栏总结王利涛《C语言嵌入式Linux高级编程》第二期课程文章目录(一)指令集的基本概念(二)ARM指令集的发展(三)微架构(四)ARM授权方式(五)编译器(一)指令集的基本概念什么是指令集ISA一般称为架构Architecture,其实是 Instruction Set Archiecture;是计算机体系结构一部分;从软件意义上,可以看作是一个设计标准,用来规范编程语言模型;从系统角度上看,规范了CPU能支持的指令范围和种类;实现形式:由CPU内部结构及指令解码电路实现。...

本专栏总结王利涛《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语言)翻译成汇编语言的问题;
    • 解决不同类型的数据如何存储的问题;
    • 解决寄存器如何使用的问题。

本文地址:https://blog.csdn.net/weixin_38956024/article/details/107381098