鸣涧 发表于 2024-1-16 22:28:49

为什么会产生那么多处理器的指令集?

为什么会产生那么多处理器的指令集?

处理器的指令集是一组处理器能够理解和执行的指令的集合。每个指令都代表了一种基本的操作,如加法、减法、乘法等。指令集架构定义了处理器的指令集和执行方式。常见的指令集架构
[*]x86:

[*]发展历史: x86指令集最早于1978年由Intel推出,最初用于8086处理器。后来,x86架构逐渐演进,包括80386、80486、Pentium系列等,一直发展到当前的64位架构。
[*]主要特点: 复杂的指令集,向后兼容性强,广泛用于个人计算机和服务器。支持多种操作模式,包括实模式、保护模式和长模式。
[*]发明公司: Intel是x86指令集的主要发明者,AMD(Advanced Micro Devices)也是x86架构的许多实现的制造商之一。
[*]ARM:

[*]发展历史: ARM指令集最初由Acorn Computers于1983年设计,用于其8位处理器。随后,ARM架构逐渐演进为32位和64位架构,成为移动设备和嵌入式系统的主流架构。
[*]主要特点: 精简指令集(RISC),低功耗设计,广泛用于移动设备和嵌入式系统。ARM架构具有可伸缩性,可用于多种设备。
[*]发明公司: ARM指令集的设计由ARM Holdings公司负责,后被SoftBank收购。
[*]MIPS:

[*]发展历史: MIPS(Microprocessor without Interlocked Pipeline Stages)指令集最早于1981年由MIPS计算机系统公司推出。MIPS处理器曾在工作站和服务器领域取得一定成功。
[*]主要特点: 精简指令集(RISC),具有高性能和高效能的特点。常用于嵌入式系统、网络设备和一些高性能计算场景。
[*]发明公司: MIPS指令集的设计由MIPS计算机系统公司完成,后来MIPS被Imagination Technologies收购。
[*]PowerPC:

[*]发展历史: PowerPC指令集最早于1991年由IBM、摩托罗拉和苹果共同开发,用于替代68k架构。PowerPC曾被苹果电脑采用,后来转向使用x86架构。
[*]主要特点: RISC架构,具有高性能和可伸缩性。曾广泛应用于苹果电脑和IBM的一些服务器产品。
[*]发明公司: IBM、摩托罗拉和苹果共同合作开发PowerPC指令集。
[*]SPARC:

[*]发展历史: SPARC(Scalable Processor Architecture)指令集架构最早由Sun Microsystems在1987年推出,用于其工作站和服务器产品线。后来,SPARC被Oracle收购。
[*]主要特点: RISC设计,用于高性能计算领域,尤其在科学和工程计算中表现良好。支持多线程处理。
[*]发明公司: Sun Microsystems是SPARC指令集的主要发明者。
[*]RISC-V:

[*]发展历史: RISC-V是一种开源指令集架构,由加州大学伯克利分校的研究团队开发。于2010年首次发布,成为一种开放且免费的指令集标准。
[*]主要特点: RISC设计,开源免费,可伸缩性强。适用于各种应用领域,包括教育、研究和商业产品。
[*]发明公司: 由加州大学伯克利分校的研究团队开发,RISC-V国际联盟推动其标准。
[*]Itanium (IA-64):

[*]发展历史: Itanium指令集架构是由Intel和HP(惠普)共同开发的,于2001年发布。设计用于高性能计算和企业服务器。
[*]主要特点: VLIW(Very Long Instruction Word)设计,旨在提供高性能计算能力。然而,Itanium在市场上并没有取得广泛成功。
[*]发明公司: Intel和HP(惠普)是Itanium指令集的共同发明者。
[*]VLIW(Very Long Instruction Word):

[*]发展历史: VLIW并不是一种具体的指令集,而是一种指令执行的方式。Itanium (IA-64)采用了VLIW设计理念,试图通过并行执行来提高性能。
[*]主要特点: VLIW设计侧重于在指令流水线中实现指令的并行执行,以提高处理器性能。然而,成功应用VLIW的例子相对较少。
[*]发明公司: VLIW并非由特定公司发明,而是一种设计理念,被用于一些特定的处理器架构中,如Itanium。
这些指令集架构在不同的时期和领域都有过重要的影响,每一种都在特定的应用场景中发挥了关键的作用。CISC VSRISC在这8个指令集架构中,可以将它们分为RISC(精简指令集计算机)和CISC(复杂指令集计算机)两大类:RISC(精简指令集计算机):
[*]ARM
[*]MIPS
[*]PowerPC
[*]SPARC
[*]RISC-V
CISC(复杂指令集计算机):
[*]x86
[*]Itanium (IA-64)
[*]VLIW(Itanium采用的设计理念)
解释一下:
[*]RISC(精简指令集计算机): 这些架构的设计理念是采用一组相对简单、基本操作的指令,力求每个指令的执行时间相对较短。RISC架构通常注重简洁性、高性能和低功耗。例如,ARM、MIPS、PowerPC、SPARC和RISC-V都属于RISC架构。
[*]CISC(复杂指令集计算机): 这些架构的设计理念是提供一组更复杂、丰富的指令,其中一条指令可以执行多个低层次的操作。CISC架构通常注重灵活性和功能的多样性。例如,x86和Itanium属于CISC架构。VLIW并非指令集架构,而是一种执行方式,但在Itanium中使用。
需要注意的是,这个划分并不是绝对的,因为随着技术的发展,一些处理器架构可能在设计中采用了混合的特征,不完全符合RISC或CISC的传统定义。例如,一些现代的x86处理器在设计上也引入了一些RISC风格的特征。
RISC(reduced instruction set computer,精简指令集计算机)是一种执行较少类型计算机指令的微处理器.这样一来,它能够以更快的速度执行操作。因为计算机执行每个指令类型都需要额外的晶体管和电路元件,计算机指令集越大就会使微处理器更复杂,执行操作也会更慢。纽约约克镇IBM研究中心的John Cocke证明,计算机中约20%的指令承担了80%的工作,他于1974年提出了RISC的概念。CISC(complexinstruction set computer,复杂指令集计算机) 除了RISC,任何全指令集计算机都使用的是复杂指令集计算(CISC)。目前常见使用RISC的处理器包括DEC Alpha、ARC、ARM、MIPS、PowerPC、SPARC和SuperH等。常见使用CISC的处理器主要有X86.RISC和CISC的区别:(1) 指令系统:RISC 设计者把主要精力放在那些经常使用的指令上,尽量使它们具有简单高效的特色。对不常用的功能,常通过组合指令来完成。因此,在RISC 机器上实现特殊功能时,效率可能较低。但可以利用流水技术和超标量技术加以改进和弥补。而CISC 计算机的指令系统比较丰富,有专用指令来完成特定的功能。因此,处理特殊任务效率较高。  (2) 存储器操作:RISC 对存储器操作有限制,使控制简单化;而CISC 机器的存储器操作指令多,操作直接。  (3) 程序:RISC 汇编语言程序一般需要较大的内存空间,实现特殊功能时程序复杂,不易设计;而CISC 汇编语言程序编程相对简单,科学计算及复杂操作的程序设计相对容易,效率较高。  (4) 中断:RISC 机器在一条指令执行的适当地方可以响应中断;而CISC 机器是在一条指令执行结束后响应中断。  (5) CPU芯片电路:RISC CPU 包含有较少的单元电路,因而面积小、功耗低;而CISC CPU 包含有丰富的电路单元,因而功能强、面积大、功耗大。  (6) 设计周期:RISC 微处理器结构简单,布局紧凑,设计周期短,且易于采用最新技术;CISC 微处理器结构复杂,设计周期长。  (7) 用户使用:RISC 微处理器结构简单,指令规整,性能容易把握,易学易用;CISC微处理器结构复杂,功能强大,实现特殊功能容易。  (8) 应用范围:由于RISC 指令系统的确定与特定的应用领域有关,故RISC 机器更适合于专用机;而CISC 机器则更适合于通用机。
x86架构的处理器虽然最初设计为CISC(复杂指令集计算机),但在后续的发展中,处理器制造商采取了一些技术手段,引入了一些RISC(精简指令集计算机)风格的特征。这样做的目的是提高执行效率、降低功耗和提升性能。以下是一些原因:
[*]复杂指令集的历史: x86架构最初设计时采用了CISC的理念,提供了大量丰富而复杂的指令,以便为程序员提供更高层次的抽象和功能。然而,随着时间的推移,这些复杂的指令集带来了一些执行上的复杂性和功耗问题。
[*]微操作和微指令: x86处理器在内部执行时,会将复杂的CISC指令转化为一系列更简单的微操作或微指令。这个内部的微操作集合可以看作是RISC风格的指令集。通过在内部进行这种转换,处理器能够更高效地执行指令。
[*]动态指令调度: 现代x86处理器通常具备动态指令调度的功能,即处理器在运行时重新排列和调度指令,以最大程度地利用执行单元,减少空闲周期。这种技术与RISC处理器的乱序执行有相似之处。
[*]超标量执行和流水线技术: x86处理器采用了超标量执行和流水线技术,使得处理器能够同时执行多条指令。这种并行性有助于提高整体性能,类似于一些RISC处理器的设计。
[*]指令级并行性: 引入了一些指令级并行性的技术,例如超标量和超流水线,使得处理器能够同时处理多个指令,提高了整体性能。
通过结合上述技术,x86处理器在执行CISC指令时能够更高效地利用硬件资源,减小了CISC指令集所带来的一些潜在性能问题。这也使得现代x86处理器在性能和功耗方面能够与一些RISC架构的处理器竞争。

为什么有多种指令集?
[*]应用需求: 不同的应用对指令的需求不同。一些应用可能更适合使用特定的指令集,因为它们提供了更高的性能或更方便的编程模型。
[*]性能优化: 不同的指令集可以在不同的方面进行优化,如浮点运算、多媒体处理等。处理器设计者选择特定的指令集以提高性能。
[*]兼容性: 为了保持与之前的处理器的兼容性,一些新的处理器仍然支持旧的指令集。这样,现有的软件可以在新处理器上运行而无需修改。
[*]行业标准: 一些指令集成为行业标准,因为它们被广泛采用。这样,软件开发者可以编写与多个处理器兼容的代码。
[*]特殊用途: 一些处理器被设计用于特殊用途,例如嵌入式系统、图形处理器(GPU)等,它们可能采用专门的指令集以满足特殊需求。
[*]自主可控的需求:由于美国政府对华为实施的制裁,ARM Holdings暂停了与华为的合作。这一制裁导致ARM停止向华为提供新的设计和技术支持。此时,能够掌握自主可控的需求,从公司战略和更高层面的战略,都称为了新需求。这也是导致ARM独霸天下的时期,RISC-V快速增长。
RISC群雄逐鹿,为什么ARM雄起ARM(Acorn RISC Machine)的成功可以归因于几个关键因素,使其在众多RISC(精简指令集计算机)架构中脱颖而出:
[*]初衷为嵌入式系统设计: ARM最初是为嵌入式系统设计而开发的,其设计目标是在低功耗和高性能之间找到平衡。这使得ARM架构非常适用于移动设备、嵌入式系统和其他依赖于低功耗和高效能的领域。
[*]可伸缩性: ARM的架构被设计为高度可伸缩的,从简单的嵌入式系统到高性能服务器,都可以采用ARM处理器。这种灵活性使得ARM在多个市场中都能够应用,并逐渐形成广泛的生态系统。
[*]合作模式和授权设计: ARM采用了一种授权设计的商业模式。ARM本身并不生产芯片,而是通过授权给其他公司使用其架构,使得许多公司可以基于ARM设计和生产自己的处理器。这种模式促进了ARM生态系统的发展,使得众多厂商能够开发适用于不同市场的ARM架构处理器。
[*]低功耗设计: ARM架构的设计注重低功耗,这对于移动设备和便携式电子设备至关重要。ARM处理器通常能够提供良好的性能同时保持低功耗,使得其在移动设备领域获得了广泛应用。
[*]行业标准和广泛采用: ARM架构成为了一种行业标准,被广泛采用。许多公司选择ARM作为其处理器架构,这进一步推动了ARM在市场上的发展。
[*]技术创新: ARM持续进行技术创新,不断推出新的架构版本和处理器设计。这有助于ARM保持竞争力,并满足不断发展的市场需求。
综合这些因素,ARM成功地在众多RISC指令集中发展起来,成为全球最成功的嵌入式和移动处理器架构之一。其设计理念、灵活性和可伸缩性使得ARM在不同领域都取得了成功,并在持续变化的科技市场中保持领先地位。

页: [1]
查看完整版本: 为什么会产生那么多处理器的指令集?