本文共 5181 字,大约阅读时间需要 17 分钟。
RISC(全称Reduced Instruction Set Computer,精简指令系统计算机)则是一套优化过的指令架构更像是 指令集架构标准,并不是实现。一种标准对应多种指令集架构实现
x86 x86_64 51 分别是 CISC 标准的 几种实现, 是 指令集架构实现arm mips powerpc avr pic risc-v 分别是 RISC 标准的 几种实现, 是 指令集架构实现(arm有 v5 v6 v7 版本的指令集,arm指令不是完全兼容的,所有指令集有版本区别)ia64 是 EPIC 标准的 一种实现。// 定义的是硬件和软件的接口,并没有指定实现。一种指令集架构实现 对应多种微架构将 ISA 变成真正可以使用的实物需要经过“实现”,它包括两个层面:组成和硬件。阿姆道尔 明确了 计算机体系结构 的定义. 计算机体系结构 是 程序员(2019年写汇编的程序员)所看到的 计算机的属性,即概念性结构与功能特性. 汇编程序员能看到的计算机属性分类 1. 数据表示: 计算机硬件能够辨认和处理的数据类型(不同于编程语言中的数据类型) 2. 寻址规则: 计算机在访问存储器时的访问规则,最小寻址单元,寻址方式及其表示 3. 寄存器定义: 寄存器的定义,数量和使用方式 4. 指令系统: 机器指令的操作类型和格式,指令间的排序和控制机构等 5. 中断系统: 中断类型和中断响应硬件的功能等. 6. 机器工作状态的定义和切换: 如 管态和目态. 7. 存储系统: 程序员可用的最大存储容量. 8. 保护信息: 信息保护方式和硬件的支持 9. IO结构: IO寻址方式,数据传送的方式
简单有序的模型 指令集架构并行执行多条指令 微架构
微结构(processor microarchitecture)则描述的是如何设计一个处理器来符合一个体系结构x86的P5 x86的P6 x86的NetburstARMv7的cortex-m ARMv7的cortex-r ARMv7的cortex-a一种微架构对应多种芯片https://wenku.baidu.com/view/f18e5864bcd126fff7050b42.html组成是从计算机设计的高阶层面而言, 例如:存储系统、存储互连接、CPU(包括算术、逻辑分支、数据传输的实现)设计,有时候“组成”又被称作微架构(microarchitecture) 英特尔 Nehalem、NVIDIA Kepler、ARM Cotrex-A57 都可以属于各自某系列芯片的微架构,其中 Kepler 的 ISA 是 CUDA PTX 和 Cortex-A57的 ISA 属于 ARMv8。计算机组成 计算机组成涉及到计算机各个部件的关联,也就是计算机系统能分解的最小的有意义的逻辑单位 1. 数据通路宽度 2. 各个功能操作部件和他的共享程度 3. 专用功能部件的设置 4. 功能部件的并行性 决定机器有效工作的效率 5. 缓冲和排队技术 有效的平滑各个部件中间瞬间流量的不同,也可以缓冲因为部件不同而带来的程序指令执行过程中的等待. 6. 预测技术 加快程序执行效率 7. 可靠性技术 是不是要采用多部件冗余.高可靠支撑技术 8. 控制机构的组成 让指令单步或同时执行 让程序同时执行指令系统的实现方法分类 1. 微程序(RTL)实现 2. 硬件的组合逻辑电路
硬件通常是指电脑的规格,包括具体的逻辑设计、封装技术,同一系列的产品可能有相同的 ISA、近乎一样的微架构,但是存在某些具体规格的差别,例如NVIDIA Tegra 3,有 AP30、AP33、T30、T33、T30S、T33S、T30SL 等具体的型号,它们都属于 Tegra 3 微架构,但是频率规格、内存规格等地方都有差别。指令集架构实现 微架构 芯片型号Armv4 ARM7 S3C44B0ARMv5 ARM920T S3C2440&&S3C2410 ARMv6 ARM1176JZFS S3C6410ARMv7 Cortex-M3 STM32F103zgt6ARMv7 Cortex-A8 s5pv210ARMv7 Cortex-A9 exynos4412 AppleA5ARMv7 Qualcomm Scorpio/Krait MSM8060/MSM8960ARMv7 苹果Swift微架构 A6ARMv8 Apple Cyclone/Typhoon/Twister/Fusion/Bionic A7/A8/A9/A10/A11ARMv8 Cortex-A35/A53/A57/A72/A73/A55/A75ARMv8 高通 KryoARMv8 nVidia Project DenverARMv8 A53 骁龙410/骁龙630ARMv8 A55 紫光展锐SC9863AARMv8 A57 骁龙808/Exynos7420ARMv8 A72 骁龙650/麒麟955ARMv8 A73 Exynos7872/骁龙835ARMv8 A75 联发科G80/骁龙845ARMv8 A76 麒麟990 5G/骁龙675ARMv8 A77 Enynos980/骁龙690G/麒麟9000ARMv8 A78 骁龙888/天玑1200/exynos2100ARMv9(2021-3-31凌晨发布) RISC-V Bumblebee GD32VF103C8U6//高效能之路:让核心微架构同时间内能够有效处理更多的指令计算机实现 CPU 内存的 物理形态(长宽高,功耗,工作温度) 器件的集成度和速度 信号传输(光电,无线输出) 器件,模块,插件,地板的划分与连接 涉及的专用器件(风扇,水冷铜管,空调) 电源,冷却 微组装技术 微机装配技术等
arm 对应不断迭代的 指令集 ,属于架构范畴.然后arm V7 是 第七版的指令集,也即第七版的架构cortex-a15 是 微架构,这个微架构是arm发布的而 exynos 4412 就是针对 cortex-a15 最出来的 一个芯片
RISC 定义了 精简指令集?CISC 定义了 复杂指令集?
- 体系结构(computer architecture)定义的是硬件和软件的接口,并没有指定实现。RISC-V即定义的体系结构。 - ISA定义的内容:指令编码,内存模型,IO模型,逻辑寄存器数量和功能,控制寄存器,特权级别。 - 一条指令都包含什么: 指令功能,操作对象(立即数,普通寄存器,特殊寄存器,内存), 环境变量(标志位,特权级别),指令编码。 - 指令的功能分类:逻辑指令,数学指令,控制指令,内存指令,IO指令,特殊指令。 - 是CISC还是RISC - 每一种二进制指令具体是什么例如: armv5 在cpu架构方面定义了 寄存器(37个) 指令集(ARM和THUMB和Jazelle) 异常(7个) 处理器状态(3个) 处理器工作模式(7个) 数据类型(字,32bit 半字,16bit byte,8bit) 大小端 同步原语 饱和整数运算 ARM寻址方式
- CPU微架构包括缓存管理,缓存设计,乱序执行,超标量,超流水线,内存控制,分支预测等众多的极其复杂的电路,这些结构的电路的效率是直接决定CPU性能的- 微结构(processor microarchitecture)则描述的是如何设计一个处理器来符合一个体系结构。体系结构并不定义微结构。- 定义了 所有的二进制指令 的具体实现。- 流水线 将 取值译码执行 分为更多的工位。如果是10个工位,就是10级流水线- 多发乱序流水线- 多线程流水线(超线程 SMT ) // intel Hyper-Threading- 多核- 特殊流水线:VLWI, vector, GPU- 多核,超标量,指令分支预测,乱序执行,多层次存储 动态调度 线程级并行化 SIMD(数据级并行)存储系统分层结构- 超标量 原来做了20个工位,一条流水线,现在double一下,出来了两条流水线。然后这就是2路超标量
芯片的 功能模块的种类及个数及对应的引脚引出?封装?
A指令集架构实现做加法运算的指令二进制代码是10000001B指令集架构实现的加法指令代码是10000010。你要基于A指令架构就必须把电路做成加法指令代码是10000001电路怎么变,微架构怎么变随你,怎么实现收到10000001的指令时做加法运算随你但这些指令集对应的代码不能变,它必须是10000001就是加法运算。这套指令集你必须全兼容才能运行基于它的程序。
Armv8.0-AArmv8.1-AArmv8.2-AArmv8.3-AArmv8.4-AArmv8.5-AArmv8.6-AArmv8.7-A
安全性能能效经济设计自由通用计算矢量AIdsp5GMLMali GPUEthos NPUArmv9-AArmv9.0-AArmv9.2-ASVE2
https://blog.csdn.net/lovecaoxing/article/details/8626850ARM7 ARMv4 3级流水线 冯诺依曼 100Mhz 一般没有MMU/720T有MMU 无SIMD 无vfpARM9 ARMv5 5级流水线 哈佛结构 200Mhz 一般有MMU/ARM9940T没有MMU,有MPU 无SIMD 有vfpARM11 ARMv6 8级流水线 哈佛结构 350MHz-500Mhz 有MMU 有SIMD 有vfp