(五)指令集、微架构与编译器
程序员文章站
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