谷动谷力
标题: 为什么会产生那么多处理器的指令集? [打印本页]
作者: 鸣涧 时间: 2024-1-16 22:28
标题: 为什么会产生那么多处理器的指令集?
为什么会产生那么多处理器的指令集?
处理器的指令集是一组处理器能够理解和执行的指令的集合。每个指令都代表了一种基本的操作,如加法、减法、乘法等。指令集架构定义了处理器的指令集和执行方式。
常见的指令集架构
这些指令集架构在不同的时期和领域都有过重要的影响,每一种都在特定的应用场景中发挥了关键的作用。
CISC VS RISC
在这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研究中心的[url=]John Cocke[/url]证明,计算机中约20%的指令承担了80%的工作,他于1974年提出了RISC的概念。
CISC(complexinstruction set computer,复杂指令集计算机) 除了RISC,任何全指令集计算机都使用的是复杂指令集计算(CISC)。
目前常见使用RISC的处理器包括[url=]DEC Alpha[/url]、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在不同领域都取得了成功,并在持续变化的科技市场中保持领先地位。
欢迎光临 谷动谷力 (http://bbs.sunsili.com/) |
Powered by Discuz! X3.2 |