优化系列汇编优化技术:主流CPU架构简介

Posted 飞翔的鲲

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了优化系列汇编优化技术:主流CPU架构简介相关的知识,希望对你有一定的参考价值。

DATE: 2021.8.15



1、指令集架构

RISC(reduced instruction set computer,精简指令集计算机)是一种执行较少类型计算机指令的微处理器,起源于80年代的MIPS主机(即RISC机),RISC机中采用的微处理器统称RISC处理器。这样一来,它能够以更快的速度执行操作(每秒执行更多百万条指令,即MIPS)。因为计算机执行每个指令类型都需要额外的晶体管和电路元件,计算机指令集越大就会使微处理器更复杂,执行操作也会更慢。

  • 性能特点一:由于指令集简化后,流水线以及常用指令均可用硬件执行;
  • 性能特点二:采用大量的寄存器,使大部分指令操作都在寄存器之间进行,提高了处理速度;
  • 性能特点三:采用缓存—主机—外存三级存储结构,使取数与存数指令分开执行,使处理器可以完成尽可能多的工作,且不因从存储器存取信息而放慢处理速度。

其中ARM/MIPS/PowerPC均是基于精简指令集机器处理器的架构;X86则是基于复杂指令集的架构,Atom是x86或者是x86指令集的精简版。

根据各种新闻,android在支持各种处理器的现状:
ARM+Android最早发展、完善的支持,主要在手机市场、上网本、智能等市场;
X86+Android有比较完善的发展。有atom+Android的上网本,且支持Atom+Android
和 Atom+Window7双系统;
MIPS+Android目前在移植、完善过程中;
Powpc+Android目前在移植、完善过程中。

2、ARM架构

ARM架构,过去称作进阶精简指令集机器(Advanced RISC Machine,更早称作:Acorn
RISC Machine),是一个32位精简指令集(RISC)处理器架构,其广泛地使用在许多嵌入式系统设计。由于节能的特点,ARM处理器非常适用于行动通讯领域,符合其主要设计目标为低耗电的特性。
    在今日,ARM家族占了所有32位嵌入式处理器75%的比例,使它成为占全世界最多数的32位架构之一。ARM处理器可以在很多消费性电子产品上看到,从可携式装置(PDA、移动电话、多媒体播放器、掌上型电子游戏,和计算机)到电脑外设(硬盘、桌上型路由器)甚至在导弹的弹载计算机等军用设施中都有他的存在。在此还有一些基于ARM设计的派生产品,重要产品还包括Marvell的XScale架构和德州仪器的OMAP系列。
    优势:价格低;能耗低;
    ARM授权方式:ARM公司本身并不靠自有的设计来制造或出售 CPU,而是将处理器架构授权给有兴趣的厂家。ARM提供了多样的授权条款,包括售价与散播性等项目。对于授权方来说,ARM提供了 ARM内核的整合硬件叙述,包含完整的软件开发工具(编译器、debugger、SDK),以及针对内含 ARM CPU 硅芯片的销售权。对于无晶圆厂的授权方来说,其希望能将 ARM内核整合到他们自行研发的芯片设计中,通常就仅针对取得一份生产就绪的智财核心技术(IP Core)认证。对这些客户来说,ARM会释出所选的 ARM核心的闸极电路图,连同抽象模拟模型和测试程式,以协助设计整合和验证。需求更多的客户,包括整合元件制造商(IDM)和晶圆厂家,就选择可合成的RTL(暂存器转移层级,如 Verilog)形式来取得处理器的智财权(IP)。借着可整合的 RTL,客户就有能力能进行架构上的最佳化与加强。这个方式能让设计者完成额外的设计目标(如高震荡频率、低能量耗损、指令集延伸等)而不会受限于无法更动的电路图。虽然ARM 并不授予授权方再次出售 ARM架构本身,但授权方可以任意地出售制品(如芯片元件、评估板、完整系统等)。商用晶圆厂是特殊例子,因为他们不仅授予能出售包含 ARM内核的硅晶成品,对其它客户来讲,他们通常也保留重制 ARM内核的权利。
    生产厂商:TI(德州仪器)/Samsung(三星)/Freescale(飞思卡尔)/Marvell(马维尔)/Nvidia(英伟达)

3、x86架构/Atom处理器

x86或80x86是Intel首先开发制造的一种微处理器体系结构的泛称。x86架构是重要地可变指令长度的CISC(复杂指令集电脑,Complex Instruction Set Computer)。
    Intel Atom(中文:凌动,开发代号:Silverthorne)是Intel的一个超低电压处理器系列。处理器采用45纳米工艺制造,集成4700万个晶体管。L2缓存为512KB,支持SSE3指令集,和VT虚拟化技术(部份型号)。
    现时,Atom处理器系列有6个型号,全部都是属于Z500系列。它们分别是Z500、Z510、Z520、Z530、Z540和Z550。最低端的Z500内核频率是800MHz,FSB则是400MHz。而最高速的Z550,内核频率则有2.0GHz,FSB则是533MHz。从Z520开始,所有的处理器都支持超线程技术,但只增加了不到10%的耗电。双内核版本为N系列,依然采用945GC芯片组。双内核版本仍会支持超线程技术,所以系统会显示出有4个逻辑处理器。这个版本的两个内核并非采用本地设计,只是简单的将两个单内核封装起来。

4、MIPS架构

MIPS是世界上很流行的一种RISC处理器。MIPS的意思是“无内部互锁流水级的微处理器”(Microprocessor without interlockedpipedstages),其机制是尽量利用软件办法避免流水线中的数据相关问题。它最早是在80年代初期由斯坦福(Stanford)大学Hennessy教授领导的研究小组研制出来的。MIPS公司的R系列就是在此基础上开发的RISC工业产品的微处理器。这些系列产品为很多计算机公司采用构成各种工作站和计算机系统。
    MIPS技术公司是美国著名的芯片设计公司,它采用精简指令系统计算结构(RISC)来设计芯片。和英特尔采用的复杂指令系统计算结构(CISC)相比,RISC具有设计更简单、设计周期更短等优点,并可以应用更多先进的技术,开发更快的下一代处理器。MIPS是出现最早的商业RISC架构芯片之一,新的架构集成了所有原来MIPS指令集,并增加了许多更强大的功能。MIPS自己只进行CPU的设计,之后把设计方案授权给客户,使得客户能够制造出高性能的CPU。

1984年,MIPS计算机公司成立,开始设计RISC处理器;
1986年推出R2000处理器。
1992年,SGI收购了MIPS计算机公司。
1988年推R3000处理器。
1991年推出第一款64位商用微处器R4000;之后又陆续推出R8000(于1994年)、R10000(于1996年)和R12000(于1997年)等型号。
1998年,MIPS脱离SGI,成为MIPS技术公司;随后,MIPS公司的战略发生变化,把重点放在嵌入式系统;1998年-MIPS科技股票在美国纳斯达克股票交易所公开上市。
1999年,MIPS公司发布MIPS32和MIPS64架构标准,为未来MIPS处理器的开发奠定了基础。新的架构集成了所有原来NIPS指令集,并且增加了许多更强大的功能。MIPS公司陆续开发了高性能、低功耗的32位处理器内核(core)MIPS324Kc与高性能64位处理器内核MIPS645Kc。
2000年,MIPS公司发布了针对MIPS32 4Kc的版本以及64位MIPS 64 20Kc处理器内核。

2007年8月16日-MIPS科技宣布,中科院计算机研究所的龙芯中央处理器获得其处理器IP的全部专利和总线、指令集授权。
2007年12月20日-MIPS科技宣布,扬智科技已取得其针对先进多媒体所设计的可定制化系统单芯片(SoC)核心“MIPS32 24KEcPro”授权。

5、PowerPC(PPC)架构

PowerPC是一种精简指令集(RISC)架构的中央处理器(CPU),其基本的设计源自IBM(国际商用机器公司)的IBMPowerPC601 微处理器POWER(PerformanceOptimized With Enhanced RISC;《IBM Connect电子报》2007年8月号译为“增强RISC性能优化”)架构。
    二十世纪九十年代,IBM(国际商用机器公司)、Apple(苹果公司)和Motorola(摩托罗拉)公司开发PowerPC芯片成功,并制造出基于PowerPC的多处理器计算机。
    PowerPC架构的特点是可伸缩性好、方便灵活。
    PowerPC处理器有广泛的实现范围,包括从诸如 Power4那样的高端服务器CPU到嵌入式CPU市场(任天堂Gamecube使用了 PowerPC)。PowerPC处理器有非常强的嵌入式表现,因为它具有优异的性能、较低的能量损耗以及较低的散热量。除了象串行和以太网控制器那样的集成 I/O,该嵌入式处理器与“台式机”CPU存在非常显著的区别。

6、LoongArch架构

龙芯CPU是中国科学院计算所自主研发的通用CPU,采用RISC指令集,类似于MIPS指令集。

龙芯1号的频率为266MHz,最早在2002年开始使用。龙芯2号的频率最高为1GHz。龙芯3A是首款国产商用4核处理器,其工作频率为900MHz~1GHz。龙芯3A的峰值计算能力达到16GFLOPS。龙芯3B是首款国产商用8核处理器,主频达到1GHz,支持向量运算加速,峰值计算能力达到128GFLOPS,具有很高的性能功耗比。

龙芯3A3000/3B3000是龙芯3号系列处理器的最新升级产品,基于龙芯3A2000设计,龙芯3A3000进行了结构上的少量改进,增加处理器核关键队列项数,扩充片上私有/共享缓存容量等。实测主频在1.5GHz以上,访存接口满足DDR3-1600规格。

龙芯指令系统LoongISA在MIPS64架构500多条指令基础上,在基础指令、虚拟机指令、面向X86和ARM的二进制翻译指令、向量指令四个方面增加了近1400条新指令。
龙芯在获得MIPS永久授权的同时,自行扩展了:

  • 148条LoongEXT指令
  • 5条LoongVM指令
  • 213条LoongBT指令
  • 1014条LoongSIMD指令

将MIPS原本的527条指令,扩展为1907条,发展成为龙芯自己的LoongISA,可以自主扩展指令集,在发展方向上可以自主选择。


THE END!

以上是关于优化系列汇编优化技术:主流CPU架构简介的主要内容,如果未能解决你的问题,请参考以下文章

优化系列汇编优化技术:X86架构汇编优化及demo

优化系列汇编优化技术:MIPS架构MSA Intrinsic优化及demo

优化系列汇编优化技术:MIPS架构MSA Intrinsic优化及demo

优化系列汇编优化技术:ARM架构内联汇编优化及demo

优化系列汇编优化技术:ARM架构32位汇编优化及demo

优化系列汇编优化技术:ARM架构Intrinsic汇编优化及demo