(瞎学系列)RISC-V & ARM & x86
reduced instruction set computing (RISC) -> ARM & RISC-V
complex instruction set computing (CISC)->x86
主要区别:是否能够在一个时钟周期内完成一条指令
比如MUL指令在RISC下面就要拆分成很多单指令,RISC-V只会将寄存器里的数字相乘,导致它要各种LDR和STR。
评估综合性能:
time/program = (time/cycle) * (cycle/instruction) * (instruction/program)
cycle越少越好, instruction越多越好,综合下来RISC-V表现不错。
关于安全:
都有各种安全级别,其中ARM会直接在硬件里面植入安全控制程序,然而RISC-V会给安全程序(trusted execution environment (TEE))更大自由度, OP-TEE开源的,应用比较广泛。商业用的各种安全加密库都有,看你怎么选。不过RISC-V开源赋予它在这个领域更快的迭代速率,毕竟顶级人才都是在改变世界,不用搬砖的。
关于断言执行(Predicated Execution)
x86 ARM:支持
RISC-V: nonono,不过也有一些实验用的体系是支持的
关于CPU, 内存, IO虚拟化
CPUand内存都支持虚拟化 核心在于IPMMU(Input/Output Memory Manage Unit)和(platform-level interrupt controller) PLIC的功能实现, x86两大厂商有各自的虚拟技术,也很成熟。相对来讲ARM是没那么完善的,它这个具有特色的hypervisor就会负责虚拟技术实现;RISC-V虚拟化技术是以cpu状态复制和特殊寄存器and指令去主导的。RISC-V发展更加细化,一开始就奔着自定义去搞,还有它现在也不支持IO虚拟化。
ARM处境尴尬 既不能完全封闭如同x86,又不能完全放开 现在被RISC-5老弟 卷的越来越开放了,哎。哈哈哈哈哈哈。。。