导航:首页 > 源码编译 > riscv编译器优化

riscv编译器优化

发布时间:2022-04-15 10:31:20

A. 相对于cisc指令系统,risc有哪些优点

risc指令系统相对于cisc指令系统优势就在于:强调高效的流水和采用编译方法进行流水调度,使得RISC技术设计风格得到很大补充和发展。

90年代初,IEEE的MichaelSlater对于RISC的定义作了如下描述:RISC处理器所设计的指令系统应使流水线处理能高效率执行,并使优化编译器能生成优化代码。

由于CISC技术在发展中出现了问题,计算机系统结构设计的先驱者们尝试从另一条途径来支持高级语言及适应VLSI技术特点。

1975年IBM公司JohnCocke提出了精简指令系统的设想。到了1979年,美国加州大学伯克莱分校由Patterson教授领导的研究组,首先提出了RISC这一术语,并先后研制了RISC-Ⅰ和RISC-Ⅱ计算机。

(1)riscv编译器优化扩展阅读:

RISC为使流水线高效率执行,应具有下述特征:

1.简单而统一格式的指令译码;

2.大部分指令可以单周期执行完成;

3.只有LOAD和STORE指令可以访问存储器;

4.简单的寻址方式;

5.采用延迟转移技术;

6.采用LOAD延迟技术。

B. RISC的关键技术都有哪些谢谢

ARM11系列微处理器是ARM公司近年推出的新一代RISC处理器,它是ARM新指令架构——ARMv6的第一代设计实现。该系列主要有ARM1136J,ARM1156T2和ARM1176JZ三个内核型号,分别针对不同应用领域。本文将对全新的ARMv6架构进行介绍,并深入分析ARM11处理器的先进特点和关键技术。ARMv6结构体系实现新一代微处理器的第一步就是订立一个新的结构体系。这里所说的结构体系只是对处理器行为进行描述,并不包括具体地指定处理器是如何被建造的。结构体系的定义提供了处理器和外界(操作系统,应用程序和调试支持)的接口,从细节上说,处理器结构体系定义了指令集、编程模式和最近的存储器之间的接口。最新的ARM处理器架构—ARMv6,发布于2001年10月,它建立于过去十年ARM许多成功的结构体系基础上。同处理器的授权相似,ARM也向客户授权它的结构体系。比如,Intel的XScale就是基于ARMv5TE的处理器。本文也会就ARM11和Intel XScale的特点作一比较。 目标应用ARMv6架构是根据下一代的消费类电子、无线设备、网络应用和汽车电子产品等需求而制定的。ARM11的媒体处理能力和低功耗特点,特别适用于无线和消费类电子产品;其高数据吞吐量和高性能的结合非常适合网络处理应用;另外,也在实时性能和浮点处理等方面ARM11可以满足汽车电子应用的需求。可以预言,基于AMRv6体系结构的ARM11系列处理器将在上述领域发挥巨大的作用。主要特点对于各种无线移动应用,毫无节制的提供高性能处理器是无用的。同成本控制类似,功耗的控制也是一个重要因素。ARM11系列处理器展示了在性能上的巨大提升,首先推出350M~500MHz时钟频率的内核,在未来将上升到1GHz时钟频率(如图2)。 ARM11处理器在提供高性能的同时,也允许在性能和功耗间做权衡以满足某些特殊应用。通过动态调整时钟频率和供应电压,开发者完全可以控制这两者的平衡。在0.13um工艺,1.2v条件下,ARM11处理器的功耗可以低至0.4mW/MHz。ARM11处理器同时提供了可综合版本和半定制硬核两种实现。可综合版本可以让客户根据自己的半导体工艺开发出各有特色的处理器内核,并保持足够灵活性。ARM实现的硬核则是为了满足那些极高性能和速度要求的应用,同时为客户节省实现的成本和时间。为了让客户更方便地走完实现流程,ARM11处理器采用了易于综合的流水线结构,并和常用的综合工具以及RAM compiler良好结合,确保了客户可以成功并迅速的达到时序收敛。目前已有的ARM11处理器在不包含Cache的情况下面积小于2.7mm2,对于当前复杂的SoC设计来说,如此小的die size对芯片成本的降低是极其重要的。ARM11处理器在很多方面为软件开发者带来便利。一方面,它包含了更多的多媒体处理指令来加速视频和音频处理;另一方面,它的新型存储器系统进一步提高了操作系统的性能;此外,还提供了新指令来加速实时性能和中断的响应。再次,目前有很多应用要求多处理器的配置(多个ARM内核,或ARM+DSP的组合),ARM11处理器从设计伊始就注重更容易地与其他处理器共享数据,以及从非ARM的处理器上移植软件。此外,ARM还开发了基于ARM11系列的多处理器系统——MPCORE(由二个到四个ARM11内核组成)。优秀的性能ARM11处理器的超强性能是由一系列的架构特点所决定的。ARMv6—决定性能的基础ARMv6架构决定了可以达到高性能处理器的基础。总的来说,ARMv6架构通过以下几点来增强处理器的性能:多媒体处理扩展使MPEG4编码/解码加快一倍音频处理加快一倍增强的Cache结构实地址Cache减少Cache的刷新和重载减少上下文切换的开销增强的异常和中断处理使实时任务的处理更加迅速= 支持Unaligned和Mixed-endian数据访问使数据共享、软件移植更简单,也有利于节省存储器空间对绝大多数应用来说,ARMv6保持了100%的二进制向下兼容,使用户过去开发的程序可以进一步继承下去。ARMv6 保持了所有过去架构中的T(Thumb指令)和E(DSP指令)扩展,使代码压缩和DSP处理特点得到延续;为了加速Java代码执行速度的ARM Jazalle技术也继续在ARMv6架构中发挥重要作用。ARM11处理器的内核特点ARM11处理器是为了有效的提供高性能处理能力而设计的。在这里需要强调的是,ARM并不是不能设计出运行在更高频率的处理器,而是,在处理器能提供超高性能的同时,还要保证功耗、面积的有效性。ARM11优秀的流水线设计是这些功能的重要保证。 相近文章: · 中芯国际牵手飞索投产武汉12英寸厂 · 整合资源比亚迪接手宁波中纬半导体资产 · 东芝追加投资 通过SD卡扩大数字媒体交付 · IBM支持32nm/28nm ARM片上系统芯片 · 海力士关闭200mm晶圆“M7”DRAM工厂 编辑:潘争本文引用地址: http://www.eeworld.com.cn/others/hotclick/200807/article_17973.html

C. RISC的关键技术都有哪些

RISC芯片的工作频率一般在400MHZ数量级。时钟频率低,功率消耗少,温升也少,机器不易发生故障和老化,提高了系统的可靠性。单一指令周期容纳多部并行操作。在RISC微处理器发展过程中。曾产生了超长指令字(VLIW)微处理器,它使用非常长的指令组合,把许多条指令连在一起,以能并行执行。VLIW处理器的基本模型是标量代码的执行模型,使每个机器周期内有多个操作。有些RISC处理器中也采用少数VLIW指令来提高处理速度。
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 机器则更适合于通用机。
目前常见使用RISC的处理器包括DEC Alpha、ARC、ARM、MIPS、PowerPC和SPARC等

D. RISC-V指令集利与弊

优势:

?1、指令只有六种格式,并且所有的指令都是 32 位长,这简化了指令解码

? 2、RISC-V 指令提供三个寄存器操作数

?3、在 RISC-V 中对于所有指令,要读写的寄存器的标识符总是在同一位置,意味着在解码指令之前,就可以先开始访问寄存器。

? 4、这些格式的立即数字段总是符号扩展,符号位总是在指令中最高位。这意味着可能成为关键路径的立即数符号扩展,可以在指令解码之前进行

_锥耍?

_畲蟮奈侍馐_ISC-V作为一个开源的指令集架构,其相关的编译器、开发环境、甚至成品芯片等相关生态仍然还在建立之中,生态不够强大,大规模应用还需要一个过程。

E. RISC的指令集使编译优化工作更____

哪里说RISC更复杂了?

F. 如何看待开源指令集RISC-V

RISC是简化指令集计算机的简略缩写,其风格是强调计算机结构的简单性和高效性。RISC设计是从足够的不可缺少的指令集开始的。它的速度比那些具有传统复杂指令组计算机结构的机器快得多,而且RISC机由于其较简洁的设计,较易使用,故具有更短的研制开发周期。RISC结构一般具有如下的一些特点:
①单周期的执行:它统一用单周期指令。从根本上克服了CISC指令周期数有长有短,造成运行中偶发性不确定,致使运行失常的问题。
②采用高效的流水线操作:使指令在流水线中并行地操作,从而提高处理数据和指令的速度。
③无微代码的硬连线控制:微代码的使用会增加复杂性和每条指令的执行周期。
④指令格式的规格化和简单化:为与流水线结构相适应且提高流水线的效率,指令的格式必须趋于简单和固定的规式。比如指令采用16位或32位的固定的长度,并且指令中的操作码字段、操作数字段都尽可能具有统一的格式。此外,尽量减少寻址方式,从而使硬件逻辑部件简化且缩短译码时间,同时也提高了机器执行效率和可靠性。
⑤采用面向寄存器堆的指令:RISC结构采用大量的寄存器——寄存器操作指令,使指令系统更为精简。控制部件更为简化,指令执行速度大大提高。由于VLSI技术的迅速发展,使得在一个芯片上做大量的寄存器成为可能。这也促成了RISC结构的实现。
⑥采用装入/存储指令结构:在CISC结构中。大量设置存储器——存储器操作指令,频繁地访问内存,将会使执行速度降低。RISC结构的指令系统中,只有装入/存储指令可以访问内存,而其它指令均在寄存器之间对数据进行处理。用装入指令从内存中将数据取出,送到寄存器;在寄存器之间对数据进行快速处理,并将它暂存在那里,以便再有需要时。不必再次访问内存。在适当的时候,使用一条存储指令再将这个数据送回内存。采用这种方法可以提高指令执行的速度。
⑦注重编译的优化,力求有效地支撑高级语言程序。
通常使用的单片机中,MCS一51系列的单片机属于CISC的体系结构;AVR系列的单片机则属于RISC的体系结构。

G. 8.什么是CISC和RISC 简述它们的特点和区别

CISC的英文全称为“Complex Instruction Set Computer”,即“复杂指令系统计算机”,从计算机诞生以来,人们一直沿用CISC指令集方式。早期的桌面软件是按CISC设计的,并一直沿续到现在。目前,桌面计算机流行的x86体系结构即使用CISC。微处理器(CPU)厂商一直在走CISC的发展道路,包括Intel、AMD,还有其他一些现在已经更名的厂商,如TI(德州仪器)、IBM以及VIA(威盛)等。在CISC微处理器中,程序的各条指令是按顺序串行执行的,每条指令中的各个操作也是按顺序串行执行的。顺序执行的优点是控制简单,但计算机各部分的利用率不高,执行速度慢。CISC架构的服务器主要以IA-32架构(Intel Architecture,英特尔架构)为主,而且多数为中低档服务器所采用。
RISC的英文全称为“Reced Instruction Set Computer”,即“精简指令集计算机”,是一种执行较少类型计算机指令的微处理器,起源于80年代的MIPS主机(即RISC机),RISC机中采用的微处理器统称RISC处理器。这样一来,它能够以更快的速度执行操作(每秒执行更多百万条指令,即MIPS)。因为计算机执行每个指令类型都需要额外的晶体管和电路元件,计算机指令集越大就会使微处理器更复杂,执行操作也会更慢。
特点区别各方面如下:
1、指令系统

CISC
计算机的指令系统比较丰富,有专用指令来完成特定的功能。因此,处理特殊任务效率较高。

RISC

设计者把主要精力放在那些经常使用的指令上,尽量使它们具有简单高效的特色。对不常用的功能,常通过组合指令来完成。因此,在RISC 机器上实现特殊功能时,效率可能较低。但可以利用流水技术和超标量技术加以改进和弥补。

2、存储器操作

CISC
机器的存储器操作指令多,操作直接。

RISC

对存储器操作有限制,使控制简单化。

3、程序

CISC

汇编语言程序编程相对简单,科学计算及复杂操作的程序社设计相对容易,效率较高。

RISC

汇编语言程序一般需要较大的内存空间,实现特殊功能时程序复杂,不易设计。

4、中断

CISC

机器是在一条指令执行结束后响应中断。

RISC

机器在一条指令执行的适当地方可以响应中断。

5、CPU

CISC

CPU包含有丰富的电路单元,因而功能强、面积大、功耗大。

RISC

CPU包含有较少的单元电路,因而面积小、功耗低。

6、设计周期

CISC

微处理器结构复杂,设计周期长。

RISC

微处理器结构简单,布局紧凑,设计周期短,且易于采用最新技术。

7、用户使用

CISC

微处理器结构复杂,功能强大,实现特殊功能容易。

RISC

微处理器结构简单,指令规整,性能容易把握,易学易用。

8、应用范围
CISC

机器则更适合于通用机。

RISC

由于RISC指令系统的确定与特定的应用领域有关,故RISC 机器更适合于专用机。

H. riscv的CPU设计

RISC(精简指令集计算机)和CISC(复杂指令集计算机)是当前CPU的两种架构。它们的区别在于不同的CPU设计理念和方法。
早期的CPU全部是CISC架构,它的设计目的是要用最少的机器语言指令来完成所需的计算任务。比如对于乘法运算,在CISC架构的CPU上,您可能需要这样一条指令:MUL ADDRA, ADDRB就可以将ADDRA和ADDRB中的数相乘并将结果储存在ADDRA中。将ADDRA, ADDRB中的数据读入寄存器,相乘和将结果写回内存的操作全部依赖于CPU中设计的逻辑来实现。这种架构会增加CPU结构的复杂性和对CPU工艺的要求,但对于编译器的开发十分有利。比如上面的例子,C程序中的a*=b就可以直接编译为一条乘法指令。今天只有Intel及其兼容CPU还在使用CISC架构。
RISC架构要求软件来指定各个操作步骤。上面的例子如果要在RISC架构上实现,将ADDRA, ADDRB中的数据读入寄存器,相乘和将结果写回内存的操作都必须由软件来实现,比如:MOV A, ADDRA; MOV B, ADDRB; MUL A, B; STR ADDRA, A。这种架构可以降低CPU的复杂性以及允许在同样的工艺水平下生产出功能更强大的CPU,但对于编译器的设计有更高的要求。

I. RISC技术有什么特点

RISC的英文全称是Reced Instruction Set Computer,中文是精简指令集计算机,它的指令系统相对简单,它只要求硬件执行很有限且最常用的那部分指令,大部分复杂的操作则使用成熟的编译技术,由简单指令合成。其技术特点:

1、大多数指令在单周期内完成

2、采用LOAD/STORE结构。因为访问存储器指令所需要的时间比较长,在指令系统中要尽量减少这类指令,所以RISC指令中只保留不可再少的LOAD/STORE两种存储器访问指令

3、硬布线控制逻辑。使得大多数指令在单周期内执行完成,以减少为程序技术中的指令解释开销

4、减少指令和寻址方式的种类

5、固定的指令格式

6、译码优化

7、面向寄存器结构

8、注重提高流水线的执行效率,尽量让减少流水线断流,提高流水线效率

9、优化编译技术

(9)riscv编译器优化扩展阅读

RISC中的关键技术

1、延时转移技术

在RISC处理机中采用流水线工作方式,取指令和执行指令并行工作,那么当遇到条件转移指令时,流水线可能断流。为了尽量保证流水线的执行效率,在转移指令之后插入一条有效的指令,而转移指令好像被延时了,这样了技术即为延迟转移技术。通常指令序列的调整由编译器自动进行。需要注意的是:调整指令序列是不能改变原有程序的数据关系;被移动的指令不破坏机器的条件码。

2、指令取消技术

由于采用指令延迟技术中,遇到条件转移指令时,调整指令序列比较困难,采用了指令取消技术。所有转移指令和数据变换指令都可以决定待执行指令是否应该取消。为了提高执行效率,采用取消规则为:如果向后转移(转移的目标地址小雨当前程序计数器PC值),则转移不成功时取消下一条指令,否则执行下一条指令;如果向前转移,则相反,在转移不成功时执行下一条指令,否则取消。

3、重叠寄存器窗口技术

由于RISC的指令系统比较简单,通常采用一段子程序来实现。因此RISC中的CALL和RETURN非常多,而且都需要通过堆栈操作保存前一过程指针、数据等。为了尽量减少因为CALL和RETURN操作访问存储器的量,提出了重叠寄存器窗口技术。基本思想:在处理器中设置一个数量较大的寄存器堆,并划分成窗口。每个过程使用其中的三个窗口和一个公共窗口,而在这些窗口中有一个窗口式前一个过程公用的,还有一个窗口是与后一个过程共用。与前一过程公用的窗口可以用来存放前一过程传递被本过程的参数。

4、指令流水调整技术

为了保持指令流水线高效率,不断流,优化编译器必须分析程序的数据流和控制流。当发现指令有断流可能时,要调整指令顺序。有些可以通过变量重命名来消除的数据相关,要尽量消除。例如:
ADD R1,R2,R3; (R1)+(R2)->R3
ADD R3,R4,R5; (R3)+(R4)->R5
MUL R6,R7,R3; (R6)*(R7)->R3
MUL R3,R8,R9; (R3)*(R8)->R9
调整指令后
ADD R1,R2,R3;
MUL R6,R7,R0;
ADD R3,R4,R5;
MUL R0,R8,R9;
调整指令后,速度可以提高一倍。

5、硬件为主固件为辅

指令系统采用为程序实现的优点:便于实现复杂指令,便于修改指令系统,增加机器的灵活性,但是速度慢。所以RISC一般采用硬件为主固件为辅的方法实现指令。

J. 指令系统的复杂指令系统与精简指令系统

早期的计算机, 存储器是一个很昂贵的资源, 因此希望指令系统能支持生成最短的程序。此外, 还希望程序执行时所需访问的程序和数据位的总数越少越好。在微程序出现后, 将以前由一串指令所完成的功能移到了微代码中, 从而改进了代码密度。此外, 它也避免了从主存取指令的较慢动作, 从而提高执行效率。在微代码中实现功能的另一论点是: 这些功能能较好的支持编译程序。如果一条高级语言的语句能被转换成一条机器语言指令, 这可使编译软件的编写变得非常容易。此外, 在机器语言中含有类似高级语言的语句指令, 便能使机器语言与高级语言的间隙减少。这种发展趋向导致了复杂指令系统( CISC) 设计风格的形成, 即认为计算机性能的提高主要依靠增加指令复杂性及其功能来获取。
CISC 指令系统的主要特点是:
( 1) 指令系统复杂。具体表现在以下几个方面:
① 指令数多, 一般大于100 条。
② 寻址方式多, 一般大于4 种。
③ 指令格式多, 一般大于4 种。
( 2) 绝大多数指令需要多个机器时钟周期方可执行完毕。
( 3) 各种指令都可以访问存储器。
CISC 指令系统主要存在如下三方面的问题:
( 1) CISC 中各种指令的使用频度相差很悬殊, 大量的统计数字表明, 大约有20%的指令使用频度比较高, 占据了80%的处理机时间。换句话说, 有80%的指令只在20%的处理机运行时间内才被用到。
( 2) VLSI 的集成度迅速提高, 使得生产单芯片处理机成为可能。在单芯片处理机内, 希望采用规整的硬布线控制逻辑, 不希望用微程序。而在CISC 处理机中, 大量使用微程序技术以实现复杂的指令系统, 给VLSI 工艺造成很大困难。
( 3) 虽然复杂指令简化了目标程序, 缩小了高级语言与机器指令之间的语义差距, 然而增加了硬件的复杂程度, 会使指令的执行周期大大加大, 从而有可能使整个程序的执行时间反而增加。 由于CISC 技术在发展中出现了问题, 计算机系统结构设计的先驱者们尝试从另一条途径来支持高级语言及适应VLSI 技术特点。1975 年IBM 公司Jo hn Cocke 提出了精简指令系统的设想。到了1979 年, 美国加州大学伯克莱分校由Patter son 教授领导的研究组, 首先提出了RISC 这一术语, 并先后研制了RISC-Ⅰ和RISC- Ⅱ计算机。1981 年美国的斯坦福大学在Hennessy教授领导下的研究小组研制了M IPS RISC 计算机, 强调高效的流水和采用编译方法进行流水调度, 使得RISC 技术设计风格得到很大补充和发展。
90 年代初, IEEE 的Michael Slater 对于RISC 的定义作了如下描述:RISC 处理器所设计的指令系统应使流水线处理能高效率执行, 并使优化编译器能生成优化代码。
RISC 为使流水线高效率执行, 应具有下述特征:
( 1) 简单而统一格式的指令译码;
( 2) 大部分指令可以单周期执行完成;
( 3) 只有LOAD 和ST ORE 指令可以访问存储器;
( 4) 简单的寻址方式;
( 5) 采用延迟转移技术;
( 6) 采用LOAD 延迟技术。
RISC 为使优化编译器便于生成优化代码, 应具有下述特征:
( 1) 三地址指令格式;
( 2) 较多的寄存器;
( 3) 对称的指令格式。
RISC 的主要问题是编译后生成的目标代码较长, 占用了较多的存储器空间。但由于半导体集成技术的发展, 使得RAM 芯片集成度不断提高和成本不断下降, 目标代码较长已不成为主要问题。RISC 技术存在另一个潜在缺点是对编译器要求较高,除了常规优化方法外, 还要进行指令顺序调度, 甚至能替代通常流水线中所需的硬件联锁功能。

阅读全文

与riscv编译器优化相关的资料

热点内容
mysqlphp变量 浏览:287
云开发小程序源码视频激励 浏览:817
python的pandas库怎么导入 浏览:720
计算机现在常用的加密方法 浏览:516
工资满月算法 浏览:340
linux开启80端口命令 浏览:116
php银行支付 浏览:816
java内存模型与线程 浏览:73
辽宁存储服务器云空间 浏览:849
程序员看能力还是看学历 浏览:28
查看压缩包格式 浏览:868
android仿微信相册 浏览:881
想换手机没钱有什么app 浏览:873
我的世界里的命令方块 浏览:572
找附近民宿什么app好 浏览:137
什么app能把app移到另一个手机上 浏览:385
车帝下载不了app是什么原因 浏览:953
libpnglinux安装 浏览:971
公交什么app有折扣 浏览:563
模拟器文件夹的文件如何复制出来 浏览:574