2025年计算机策略报告:披荆斩棘,硕果累累
8、《3+份技术系列基础知识详解(星球版)》
亚太芯谷科技研究院:2024年AI大算力芯片技术发展与产业趋势
【华为】AI Ready的数据基础设施参考架构白皮书
智源研究院:2025年十大AI技术趋势
36氪研究院:年轻人2024“有问题就问”AI助手报告
《42篇半导体行业深度报告&图谱(合集)》
一、CISC 指令集
本文来自“浙江图灵算力研究院:RISC-V芯片产业发展报告(2024)”,CISC 是指复杂指令系统计算机(Complex Instruction Set Computer)。随着计算机系统的复杂,要求计算机指令系统的构造能使计算机的整体性能更快更稳定。最初,人们采用的优化方法是通过设置一些功能复杂的指令,把一些原来由软件实现的、常用的功能改用硬件的指令系统实现,以此来提高计算机的执行速度,这种计算机系统就被称为复杂指令系统计算机,简称 CISC。
(1)CISC 指令集主要特点
为了支持复杂指令集,CISC 通常包括一个复杂的数据通路和一个微程序控制器。微程序控制器由一个微程序存储器、一个微程序计数器(MicroPC)和地址选择逻辑构成。
在微程序存储器中的每一个字都表示一个控制字,并且包含了一个时钟周期内所有数据通路控制信号的值。这就意味着控制字中的每一位表示一个数据通路控制线的值。例如,它可以用于加载寄存器或者选择 ALU 中的一个操作。
此外每个处理器指令都由一系列的控制字组成。当从内存中取出这样的一条指令时,首先把它放在指令寄存器中,然后地址选择逻辑再根据他来确定微程序存储器中相应的控制字顺序起始地址。当把该起始地址放入 MicroPC 中后,就从微程序内存中找到相应的控制字,并利用它在数据通路中把数据从一个寄存器传送到另一个寄存器。
由于MicroPC 中的地址并发递增来指向下一个控制字,因此对于序列中的每个控制器都会重复一遍这一步骤。最终,当执行完最后一个控制字时,就从内存中取出一条新的指令,整个过程会重复进行。由此可见,控制字的数量及时钟周期的数目对于每一条指令都可以是不同的。因此在 CISC 中很难实现指令流水操作。另外,速度相对较慢的微程序存储器需要一个较长的时钟周期。由于指令流水和短的时钟周期都是快速执行程序的必要条件,因此 CISC 体系结构对于高效处理器略有挑战。
CISC 指令集主要具有以下特点。一是指令系统复杂。指令数较多,一般大于 100 条。寻址方式和指令格式较多,一般大于 4 种。二是绝大多数指令需要多个机器时钟周期才能执行完毕。三是各种指令都可以访问存储器。
(2)CISC 指令集主要问题
一是 CISC 中各种指令的使用频度相差很悬殊,大量的统计数字表明,大约有 20%的指令使用频度比较高,占据了 80%的处理机时间。换句话说,有 80%的指令只在 20%的处理机运行时间内才被用到。
二是 VLSI 的集成度迅速提高,使得生产单芯片处理机成为可能。在单芯片处理机内,希望采用规整的硬布线控制逻辑,不希望用微程序。而在 CISC 处理机中,大量使用微程序技术以实现复杂的指令系统,给 VLSI 工艺造成很大困难。
三是虽然复杂指令简化了目标程序,缩小了高级语言与机器指令之间的语义差距,然而增加了硬件的复杂程度,会使指令的执行周期大大加大,从而有可能使整个程序的执行时间反而增加。
二、RISC 指令集
RISC 是指精简指令系统计算机(Reduced Instruction Set Computer),是在 20 世纪 80 年代发展起来的,其基本思想是尽量简化计算机指令功能,只保留那些功能简单、能在一个节拍内执行完成的指令,而把较复杂的功能用一段子程序来实现。
(1)RISC 指令集主要特点
RISC 处理器所设计的指令系统应使流水线处理能高效率执行,并使优化编译器能生成优化代码。RISC 为使流水线高效率执行,应具有下述特征:(1)简单而统一格式的指令译码;(2)大部分指令可以单周期执行完成;(3)只有 LOAD 和 STORE 指令可以访问存储器;(4)简单的寻址方式;(5)采用延迟转移技术;(6)采用 LOAD 延迟技术。
RISC 为使优化编译器便于生成优化代码,应具有下述特征:(1)三地址指令格式;(2)较多的寄存器;(3)对称的指令格式。
RISC 的关键技术包括:一是延时转移技术。在转移指令之后插入了一条有效的指令,而转移指令好像被延迟执行了,因此,把这种技术称为延迟转移技术。采用指令延迟转移技术时,指令系列的调整由编译器自动进行,一般不需要人来干预。
二是指令取消技术。采用指令延时技术,遇到条件转移指令时,调整指令系列非常困难,在许多情况下找不到可以用来调整的指令。有些 RISC 处理机采用指令取消技术,在使用指令取消技术的处理机中,所有转移指令和数据变换指令都可以决定下面待执行的指令是否应该取消。如果指令被取消,其效果相当于执行了一条空操作指令,不影响程序的运行环境。
三是重叠寄存器窗口技术。基本思想是在处理机中设置一个数量比较大的寄存器堆,并把它划分成很多窗口。每个过程使用其中相邻的三个窗口和一个公共的窗口,而在这些窗口中有一个窗口是与前一个过程共用,还有一个窗口是与下一个过程共用的。
与前一过程共用的窗口可以用来存放前一过程传送给本过程的参数,同时也存放本过程传送给前一过程的计算结果。
(2)RISC 指令集主要问题
RISC 的主要问题是编译后生成的目标代码较长,占用了较多的存储器空间。但由于半导体集成技术的发展,使得 RAM 芯片集成度不断提高和成本不断下降,目标代码较长已不成为主要问题。RISC 技术存在另一个潜在缺点是对编译器要求较高,除了常规优化方法外,还要进行指令顺序调度,甚至能替代通常流水线中所需的硬件联锁功能。
(二)主流指令集架构(ISA)介绍
1、X86 架构
基于 CISC(复杂指令集)的 X86 架构是一种为了便于编程和提高存储器访问效率的芯片设计体系,包括两大主要特点:一是使用微代码,指令集可以直接在微代码存储器里执行,新设计的处理器,只需增加较少的晶体管电路就可以执行同样的指令集,也可以很快地编写新的指令集程式;二是拥有庞大的指令集,X86 拥有包括双运算元格式、寄存器到寄存器、寄存器到存储器以及存储器到寄存器的多种指令类型,为实现复杂操作,微处理器除向程序员提供类似各种寄存器和机器指令功能外,还通过存于只读存储器(ROM)中的微程序来实现极强的功能,微处理器在分析完每一条指令之后执行一系列初级指令运算来完成所需的功能。
相较 RISC(精简指令集)体系,X86 指令体系也有其缺点。
一是通用寄存器规模小,X86 指令集只有 8 个通用寄存器,CPU 大多数时间是在访问存储器中的数据,影响整个系统的执行速度。而 RISC 系统往往具有非常多的通用寄存器,并采用了重叠寄存器窗口和寄存器堆等技术,使寄存器资源得到充分的利用。
二是解码器影响性能表现,解码器的作用是把长度不定的 X86 指令转换为长度固定的类似于 RISC 的指令,并交给 RISC 内核。解码分为硬件解码和微解码,对于简单的 X86 指令只要硬件解码即可,速度较快,而遇到复杂的 X86 指令则需要进行微解码,并把它分成若干条简单指令,速度较慢且很复杂。
三是 X86 指令集寻址范围小,约束用户需要。四是 X86 的复杂指令集单个指令长度不同,运算能力强大,不过相对来说结构复杂,影响执行效率。相反,ARM 的精简指令集单个指令长度固定,只包含使用频率最高的少量指令,性能一般但结构简单,执行效率稳定。
2、ARM 架构
ARM 精简指令集是为了提高处理器运行速度而设计的芯片体系,它的关键技术在于流水线操作即在一个时钟周期里完成多条指令。相较复杂指令集 CISC 而言,以 RISC为架构体系的 ARM 指令集的指令格式统一、种类少、寻址方式少。简单的指令意味着相应硬件线路可以尽量做到最佳化,从而提高执行速率,但因为指令集的精简,所以许多工作必须组合简单的指令,而针对复杂组合的工作便需要由编译程序来执行。而 CISC 体系的 X86 指令集因为硬件所提供的指令集较多,所以许多工作都能够以一个或是数个指令来代替,编译的工作因而减少了许多。
ARM 指令集架构的主要特点:一是体积小、低功耗、低成本、高性能;二是大量使用寄存器且大多数数据操作都在寄存器中完成,指令执行速度更快;三是寻址方式灵活简单,执行效率高;四是指令长度固定,可通过多流水线方式提高处理效率。
3、MIPS 架构
MIPS 是高效精简指令集计算机体系结构中的一种,是较为纯正的 RISC 指令集,与 ARM 架构相比,MIPS 的优势主要有五点:一是早于 ARM 支持 64 位指令和操作;二是MIPS 有专门的除法器,可以执行除法指令;三是 MIPS 的内核寄存器比 ARM 多一倍,在同样的性能下 MIPS 的功耗会比 ARM 更低,同样功耗下性能比 ARM 更高;四是MIPS 指令比 ARM 稍微多一些,执行部分运算更为灵活;五是 MIPS 在架构授权方面更为开放,允许授权商自行更改设计,如更多核的设计。
同时,MIPS 架构也存在一些不足之处:一是 MIPS 的内存地址起始有问题,这导致了 MIPS 在内存和 cache 的支持方面都有限制,即 MIPS 单内核无法面对高容量内存配置;
二是 MIPS 技术演进方向是并行线程,类似 Intel 的超线程,而 ARM 发展方向是物理多核,从目前核心移动设备的发展趋势来看物理多核占据了上风;三是 MIPS 虽然结构更加简单,但是执行指令流水线周期远不如 ARM 高效;四是MIPS 学院派发展风格导致其商业进程远远滞后于 ARM,当 ARM 与高通、苹果、NVIDIA 等芯片设计公司合作大举进攻移动终端的时候,MIPS 还停留在高清盒子、打印机等小众市场产品中;五是 MIPS 自身系统的软件平台也较为落后,应用软件与 ARM 体系相比要少很多。
4、POWER 架构
(1)POWER 架构技术概况
POWER 架构是由 IBM 设计的一种 RISC 处理器架构,全称为“Performance Optimization With Enhanced RISC”。POWER 在大型机领域独具优势,并且历代 POWER 处理器都在技术突破上独领风骚。POWER1 一经推出,便成为当时最强大的服务器处理器,与当时 HP 的 PA-RISC、Sun 的Sparc、Intel 的 486 等 RISC 处理器不同,POWER1 进行了功能划分,实现了超标量计算的能力。它还有单独的浮点寄存器,可适应从低端到高端的 UNIX 工作站。POWER3是全球首款 64 位架构处理器,开始应用铜芯片和 SOI(绝缘体上硅)技术。直至 POWER7 依然追求最高性能,不仅具备乱序执行、智能线程等技术,还实现了 SMP(对称多处理技术)的硬件一致性处理。
在高端服务器领域,POWER 的大规模 SMP 系统性能大幅超越 X86。POWER 系统在硬件层面的可靠性、可用性、可维护性(RAS)方面明显强于 X86 系统。Intel 只提供处理器,整机需要厂商自己设计,因此,大多中小厂商依靠Intel 的公版方案做白牌整机方案,这与 IBM 从芯片开始设计的整机方案无法相比。此外,POWER 机器使用 AIX 操作系统(IBM 为 POWER 专门开发的类 UNIX 操作系统),在系统稳定性、软件方案集成度(例如备份软件、集群文件系统等)、厂商技术支持能力等方面强于开放平台,非常适合关键性应用行业。
(2)IBM 开放 POWER 架构
由于基于 POWER 架构芯片的 IBM 服务器业务在 Intel X86 架构服务器业务的冲击下,无论是营收还是市场份额均处在大幅下滑状态。为了分摊成本,2013 年 8 月,在POWER8 发布之后,IBM 决定向外部开发者开放 POWER芯片架构,允许第三方企业对这一产品进行改进,促成了OpenPOWER 基金会(联盟)成立。随着 IBM 于 2014 年初将其 X86 服务器业务出售给联想之后,POWER 系列(芯片及服务器)仅为 IBM 尚具硬件业务的主攻方向。
POWER 的开放与 X86 相比有三个特点。一是 POWER的开放程度远远高于 Intel 的 X86 架构,Intel 暂时是不可能开放其核心技术的。在开源 POWER 生态圈,IBM 跟合作伙伴的合作从最底层的芯片开始,有非常丰富多样的合作模式,可以形成多种生态系统。二是可实现差异化的高性能产品。X86 系统竞争已经非常激烈,而且同质化现象严重。
2025新技术前瞻专题系列合集
本号资料全部上传至知识星球,更多内容请登录智能计算芯知识(知识星球)星球下载全部资料。
免责申明:本号聚焦相关技术分享,内容观点不代表本号立场,可追溯内容均注明来源,发布文章若存在版权等问题,请留言联系删除,谢谢。
温馨提示:
请搜索“AI_Architect”或“扫码”关注公众号实时掌握深度技术分享,点击“阅读原文”获取更多原创技术干货。