-------------------------------------------------------------------------------------------
RISC是精简指令集,也就是说指令集中的指令尽量的减少,也就是指令总数减少是指的指令集中的指令减少。当然指令集中指令总数的目的就是简化外围电路的设计。换句话来说RISC的提高运行速度提高的方法就是简化了外围电路,并减少指令集中指令总数。
而程序中所需时间P中的I批的是编译程序集中所使用指令的数,也就是机器指令数。换句话来说,它与指令集中指令总数的区别就是,比如加法是一条指令,在指令集中显示是一条,而在程序中可能多次调用加法指令,所有程序中的指令数是调用的次数,所以这里边的I与指令集中的指令总数是有区别的。再一个例子你就清楚了,加减乘除是四则运算,这个相当于指令集,而4就是四则运行中的指令总数。而四则运行式只使用了多少次运行,那要具体的调用次数。我们把四则运算式看出是程序,则使用中的指令数就是四则运算中出现的次数。
理解完这个概念,那么答案就更好理解了,比如CISC(复杂指令计算机)如果遇到要计算乘方,则增加一个新的乘方指令,而如果是RISC,则设计电路时简化,则乘方被理解为多次相乘,很明显,它减少了程序集中的指令总数,增加了程序中机器指令数,目的就保证每条指令运行的机器周期数尽量少,这样就会出现程序中所用到程序平均的指信周期数尽量少。
所以答案是4没错,教材上说的也没有错。
RISC-V:读作risk-five,是一个开源的CPU指令集架构
zephyr:开源 *** 作系统
linux:没什么好说的。
risc-pk:The RISC-V Proxy Kernel。解释如下:is a lightweight application execution environment that can host statically-linked RISC-V ELF binaries. It is designed to support tethered RISC-V implementations with limited I/O capability and and thus handles I/O-related system calls by proxying them to a host computer.
BBL :the Berkeley Boot Loader。
linux相关开源基础库对RISC-V的支持
binutils: upstreamed (2.28 is the first release with RISC-V support)
gcc: upstreamed (7.1 is the first release with RISC-V support)
glibc: upstreamed (2.27 is the first release with RISC-V support)
linux kernel: upstreamed (the architecture core code went into
kernel 4.15kernel 4.19 contains all drivers necessary for booting a
simulated system to userland)
gdb: upstreamed in master (in the release process)
qemu: upstreamed (2.12 is the first release with RISC-V support)
用来调试。我们知道有些寄存器只能在m模式下设置和访问,如果s模式想要使用某个功能,只能先回到m模式然后再进行相应的设置。OpenSBI定义了s模式和m模式之间功能调用的接口,s模式通过执行“ecall”指令回到m模式使用相关功能,在本章节和下一章节我们将通过类似的方式来学习s模式下如何使用ecall和m模式下如何处理来自s模式的ecall异常。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)