‘壹’ RISC-V GNU和Nuclei OpenOCD这两个软件是做什么的
GNU是交叉编译工具链,包含编译器,汇编器,反汇编器等。OpenOCD则是调试软件,OcD的意思就是on chip debug,片上调试系统。
‘贰’ 如何往riscv上移植linux
步骤一:编译生成u-boot.elf文件
使用git clone命令从github上下载u-boot源码,注意使用主分支(master),使用tar命令对下载的压缩文件解压,tar zxvf u-boot-digilent-2012.04-digilent-13.01.tar.gz。 如果下载的是zip文件用unzip u-boot-digilent-2012.04-digilent-13.01.zip
编译u-boot之前我们要先设置好交叉编译环境变量,设置环境变量方法为source settings64.sh(见第一篇文章),然后根据上图编译u-boot,使用命令make CROSS_COMPILE= arm-xilinx-linux-gnueabi-
编译完成后会在u-boot-Digilent-Dev目录下生成u-boot文件,我们要给其加上‘.elf’,并且预先拷贝到sd_image目录下。
‘叁’ RISC优化编译工作简单还是难呀解释一下
霎时的解释是时间短
‘肆’ 如何看待开源指令集RISC-V
RISC是简化指令集计算机的简略缩写,其风格是强调计算机结构的简单性和高效性。RISC设计是从足够的不可缺少的指令集开始的。它的速度比那些具有传统复杂指令组计算机结构的机器快得多,而且RISC机由于其较简洁的设计,较易使用,故具有更短的研制开发周期。RISC结构一般具有如下的一些特点:
①单周期的执行:它统一用单周期指令。从根本上克服了CISC指令周期数有长有短,造成运行中偶发性不确定,致使运行失常的问题。
②采用高效的流水线操作:使指令在流水线中并行地操作,从而提高处理数据和指令的速度。
③无微代码的硬连线控制:微代码的使用会增加复杂性和每条指令的执行周期。
④指令格式的规格化和简单化:为与流水线结构相适应且提高流水线的效率,指令的格式必须趋于简单和固定的规式。比如指令采用16位或32位的固定的长度,并且指令中的操作码字段、操作数字段都尽可能具有统一的格式。此外,尽量减少寻址方式,从而使硬件逻辑部件简化且缩短译码时间,同时也提高了机器执行效率和可靠性。
⑤采用面向寄存器堆的指令:RISC结构采用大量的寄存器——寄存器操作指令,使指令系统更为精简。控制部件更为简化,指令执行速度大大提高。由于VLSI技术的迅速发展,使得在一个芯片上做大量的寄存器成为可能。这也促成了RISC结构的实现。
⑥采用装入/存储指令结构:在CISC结构中。大量设置存储器——存储器操作指令,频繁地访问内存,将会使执行速度降低。RISC结构的指令系统中,只有装入/存储指令可以访问内存,而其它指令均在寄存器之间对数据进行处理。用装入指令从内存中将数据取出,送到寄存器;在寄存器之间对数据进行快速处理,并将它暂存在那里,以便再有需要时。不必再次访问内存。在适当的时候,使用一条存储指令再将这个数据送回内存。采用这种方法可以提高指令执行的速度。
⑦注重编译的优化,力求有效地支撑高级语言程序。
通常使用的单片机中,MCS一51系列的单片机属于CISC的体系结构;AVR系列的单片机则属于RISC的体系结构。
‘伍’ 什么是RISC架构
RISC直接意思就是精简指令集结构CPU。
这个东西太深奥了,只能复制了,试着自己写点也删除了。
指令集也可以理解为软件和硬件之间沟通的桥梁,不同的厂家可能会用不同的方法来实现相同的指令集,从而让遵循相同指令集的软件可以无需修改即可运行。比如我们熟知的Intel和AMD都实现了x86指令集,这基本上统治了PC的市场。
Krste教授决定带领团队重新开发一个完全开放的、标准的、能够支持各种应用的新指令集,他也得到了RISC的发明者之一,Dave Patterson教授的大力支持。从2010年夏天开始,大约花了四年的时间,这个团队设计和开发了一套完整的新的指令集,同时也包含了移植好的编译器、工具链、仿真器,并经过数次流片验证。为了能够加快开发的效率,以便能够快速的评估和修改设计以及提高可复用性,Chisel作为一种新的硬件构建语言也被开发了出来。简言之,你可以用scala这种函数式编程语言去设计硬件,并最终能够生成传统的Verilog HDL用于ASIC/FPGA,或者生成C++用于仿真。
这个新的指令集叫做RISC-V,“V”包含两层意思,一是这是Berkeley从RISC I开始设计的第五代指令集架构,二是它代表了变化(variation)和向量(vectors)。
‘陆’ 最近在用Quartus 11.0设计RISC CPU,在将几个模块综合成CPU时,总是编译不出来,提示出错
以前用的时候也出现过这种错误,没什么好的解决办法,应该需要重新建个工程来做,最好把原来的工程给剪切到其它的位置,主要是把以前的工程内容给彻底的清理一下。
‘柒’ RISC的指令集使编译优化工作更____
哪里说RISC更复杂了?
‘捌’ RISC-V处理器运行安卓10,能否打破ARM的垄断
能,安卓是基于java的,不限制平台,你就算换成risc vi都没问题,软件做下适配就行了
‘玖’ 程序的指令是RISC还是CISC是由什么决定编译程序
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,但对于编译器的设计有更高的要求。
‘拾’ RISC-V架构能否有效挑战ARM和英特尔
RISC-V架构短时间内很难挑战ARM和英特尔,未来还是有很大可能性的,比如当初谁能想象华为海思有挑战高通、苹果的能力呢?在这之前,我们要明确的知道,我们到底在谈论什么?RISC-V指的是RISC系列指令集的第五代产品,对应的是ARM指令集、英特尔的X86(含64位)指令集。下图是为了更好的帮助我们理解指令集。
RISC-V也并不是没有对手,MIPS也属于精简指令集架构,它们有很多的相似的地方。另外英特尔、ARM、AMD等巨头都已经看到了下一场的盛宴是物联网,都已经纷纷提前布局物联网。又有谁能预测到未来会不会半路再杀出个程咬金来呢?以上个人浅见,欢迎批评指正。认同我的看法,请点个赞再走,感谢!喜欢我的,请关注我,再次感谢!