假设在执行过程中4个节拍执行一条执行,主频1GHz的CPU在2秒之内可执行多少条指令

RISC-V(发音为“RISC-FIVE”)是基于简化指令集(RISC)原理的开源指令集架构(ISA)与大多数指令集相比,RISC-V指令集可以用于任何目的允许任何人设计,制造和销售RISC-V芯片和软件虽然这鈈是第一个开源指令集,但它很重要因为它旨在与现代计算设备协同工作,如仓库规模的云计算机高端移动电话和微型嵌入式系统。設计人员已经考虑了这些应用中的性能和功效指令集还有许多支持的软件,它解决了新指令集的常见缺点

为了在指令集中使用,RISC-V基金會不收取高额许可费开源采用松散的BSD协议,完全免费供企业使用它还允许企业添加自己的指令集进行扩展,而无需开放共享以实现差異化开发

RISC-V架构坚持简单的设计理念。体现在:

在处理器领域主流架构是x86和ARM架构。 x86和ARM体系结构的发展伴随着现代处理器体系结构技术的鈈断发展但作为商业体系结构,为了保持体系结构的向后兼容性它必须保留许多过时的定义,从而导致指令数量的增加此外,指令冗余严重文档数量巨大,因此开发新操作系统或直接在这些体系结构上开发应用程序非常高 RISC-V架构可以完全放弃负担。随着多年来计算機体系结构的发展它已成为更加成熟技术的优势所在。 RISC-V基本指令集只有40多个加上总共几十个其他模块化扩展指令。 RISC-V规范文档只有145页洏“特权架构文档”只有91页。

现代操作系统将权限级指令与用户级指令分开特权指令只能由操作系统调用,用户级指令可以在用户模式丅调用以确保操作系统的稳定性。 RISC-V提供特权和用户级指令以及详细的RISC-V特权级指令规范和RISC-V用户级指令规范,使开发人员可以轻松移植Linux和Unix系统 RISC-V平台。4.模块化设计

RISC-V架构不仅简洁明了而且它的不同部分可以采用模块化方式进行组织,试图通过统一的架构来满足各种不同的应鼡场景用户可以灵活选择不同的模块组合,以实现自己定制设备的需求例如,对于小面积低功耗嵌入式场景用户可以仅使用机器模式(计算机模式)选择RV32IC组合指令集;可以使用机器模式和用户模式模式选择性能应用程序操作系统方案,例如RV32IMFDC指令集

对于CPU的设计,工具鏈是软件开发人员和CPU交互的窗口没有工具链。软件开发人员开发软件的要求非常高即使软件开发人员也无法使cpu工作。在cpu设计中工具鏈的开发是一项巨大的工作。如果您使用RISC-V设计芯片芯片设计公司不再担心工具链问题,只关注芯片设计RISC-V社区提供了完整的工具链,RISC-V Foundation继續维护工具链当前的RISC-V支持已经集成到主要工具中,例如构建工具链gcc模拟工具qemu等。

加入RISC-V阵营更多是因为商业因素

目前伯克利研究团队巳经完成了基于RISC-V指令集顺序执行的64位处理器内核(代号为Rocket),并基于45nm和28nm工艺流式传输了12次 Rocket芯片的主频为1GHz。与ARM Cortex-A5相比测得的性能提高了10%,面积效率提高了49%每单位频率的动态功耗仅为Cortex-A5的43%。在嵌入式领域Rocket已经能够与ARM竞争市场。目前全球已有数百家科技公司加入RISC-V阵营,其中更多是出于商业原因虽然在很多报道中,ARM的成功归咎于开放性事实上,ARM只是在商业模式中开放技术上卡非常死。

到目前为止ARM32许可的公司已经能够统计一方面。虽然ARM64许可证更多但许可费用非常昂贵。法国创业公司Greenwave表示如果他们使用ARM架构,他们将花费1500万美元费用。授权到期后是否继续授权和授权费用必须重新协商。

虽然对于像高通苹果和华为这样的大公司来说,1亿元的许可费并不是什麼大不了的事但对初创公司而言,这是难以忍受的为了深入研究RISC-V,我们应该研究一些不同类型的指令集架构

有哪些类型的当前指令集架构?

最常见的是根据其复杂性进行描述和分类:

精简指令集(RISC)和复杂指令系统计算机(CISC)

这仅实现了常用指令并且在子例程中实現了不常见的操作。通过使用子例程可以对性能进行权衡,但它仅适用于最不常见的操作

RISC使用加载或存储体系结构,这意味着它将指囹划分为访问存储器的指令和执行算术逻辑单元(ALU)操作的指令

RISC的英文全称是精简指令集计算机,它是精简指令集其特点是所有指令嘚格式相同,所有指令的指令周期相同采用流水线技术。在中高端服务器中使用RISC命令的CPU包括Compaq的Alpha(新手)HP的PA-RISC,IBM的PowerPCMIPS的MIPS和Sun的Sparc。

在优化计算機指令系统开发的过程中出现了两个截然不同的优化方向:CISC技术和RISC技术。 CISC指复杂指令集计算机; RISC指的是精简指令集计算机这里的计算機指令系统是指计算机的最低级计算机指令,即CPU可以直接识别的指令随着计算机系统的复杂性,计算机指令系统的构建需要使计算机的整体性能更快更稳定。最初人们采用的优化方法是通过设置一些复杂的指令并将最初由软件实现的常用功能改变为硬件指令系统来提高计算机的执行速度。它被称为复杂指令系统计算机称为复杂指令集计算机。另一种优化方法是在20世纪80年代开发的基本思想是尽可能簡化计算机指令功能,只保留那些功能简单且可以在一个节拍中执行的指令并使用更复杂的功能。子程序已实施该计算机系统称为精簡指令系统计算机。也就是说简化指令集计算机,简称RISC RISC技术的本质是通过简化计算机指令功能来减少指令的平均执行周期,从而提高計算机的工作频率并使用大量的通用寄存器来提高子程序的执行速度。RISC和CISC是设计和制造微处理器的两种典型技术尽管它们都试图在架構,操作操作软件硬件,编译时间和运行时间之间取得平衡以实现高效率。目的但使用的方法不同,所以在很多方面存在很多差异主要包括:

1.指令系统:RISC设计人员将精力集中在经常使用的指令上,使其尽可能简单有效对于不常用的功能,通常通过组合指令来完成因此,在RISC计算机上实现特殊功能时效率可能会很低。但它可以通过使用水流技术和超标量技术来改进和补偿 CISC计算机具有丰富的命令系统,并具有执行特定功能的专用指令因此,处理特殊任务更有效

2.存储器操作:RISC对存储器操作有限制,这使控制变得简单;而CISC计算机囿许多存储器操作指令并直接操作

3.程序:CISC汇编语言程序通常需要大的内存空间。当实现特殊功能时程序复杂且难以设计。 RISC汇编语言程序编程相对简单科学计算和复杂操作的编程相对简单高效。

4.中断:RISC计算机可以在执行指令的适当位置响应中断但与CISC指令相比,中断响應是及时的 CISC计算机在执行指令后响应中断。

5. CPU:RISC CPU包含较少的单元电路因此面积小,功耗低 CISC CPU包含大量电路单元,功能强大占地面积大,功耗大

6.设计周期:RISC微处理器结构简单,布局紧凑设计周期短,易于采用最新技术; CISC微处理器结构复杂设计周期长。

7.用户使用:RISC微處理器结构简单指令定时,易于掌握易学易用; CISC微处理器结构复杂,功能强大易于实现特殊功能。

8.适用范围:由于CISC指令系统的确定與特定应用领域有关因此CISC计算机更适用于专用机器; RISC计算机更适用于通用机器。

超长指令字(VLIW)和显式并行指令计算(EPIC)

VLIW是一种非常长嘚指令组合它将许多指令连接在一起,从而提高了操作速度超长指令字(VLIW)是指令级并行,超线程是线程级并行多核是芯片级并行。这三种方法是提高并行计算性能的有效方法其中,VLIW(超长指令字)架构是由Multiflow和Cydrome在20世纪80年代在美国设计的架构 EPIC架构源自VLIW。上述方法通過要求硬件执行所有这些逻辑来使硬件复杂化相比之下,VLIW将这种复杂性留给了程序作为权衡,编译器变得更加复杂而硬件被简化并苴在计算中仍然表现良好。

VLIW最常见于嵌入式媒体处理器和图形处理单元(GPU)中但是,Nvidia和AMD已经转向RISC架构以提高非图形工作负载的性能。

為了开辟64位处理器的高端应用市场1994年6月,英特尔与惠普签署合作协议共同开发以服务器和T-station为主的新型64位架构高性能微处理器申请目标。 1997年11月英特尔和惠普发布了基于EPIC(显式并行指令计算)的Itanium系统架构。

超标量和VLIW是用于开发指令级并行性的两种极端结构前者完全依赖於流水线硬件来动态识别可并行化的指令,并将它们分配给相应的功能单元以便执行后者使用指令级并行开发。交给编译器以静态确定編译时每条指令的流出时间和执行延迟仅依靠简单的流水线硬件来确保指令的实际执行延迟与编译器假定的延迟不一致(例如,访问缓存未命中增加内存访问操作的延迟)程序的执行结果仍然正确。在这两种结构中单指令级并行开发机制使它们具有严重的固有缺陷:超标量结构的硬件复杂性太高,学术界和工业界都同意八条指令的同时执行和执行将达到这种结构的限制; VLIW面临严重的代码兼容性问题VLIW編译器的当前智能水平远远不能满足人们的要求。提出了显式并行指令计算(EPIC)技术来解决这两种结构的基本缺陷它是基于基于VLIW的超标量结构的优点而设计的。以有限的硬件开销为代价开发更多的指令级并行性

最小指令集(MISC)

MISC小于RISC,包括非常少量的基本操作和相应的操莋码如果它们是基于堆栈而不是基于寄存器,则它们被分类为MISC但也可以由指令数量(小于32但大于1)来定义。

这描述了一个只使用一条指令的抽象计算机它消除了对计算机语言操作码的需要。例如“mov”是Turing完成的,这意味着它可以是OISC以及使用减法的其他指令。据我所知OISC尚未商业化。在许多媒体报道中定义一组指令被描述为黑色技术,但事实上实现高性能CPU并围绕指令集构建软件生态系统是一项非瑺具有挑战性的任务,它定义了一组指令这并不困难,伯克利研究团队的四名成员在短短三个月内完成了RISC-V指令集的开发由于伯克利研究团队缺乏资金,我决定开放RISC-V并成为CPU中的Linux在得到各方的支持后,我开发了一些产品


}

我要回帖

更多关于 假设在执行过程中 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信