做网站的抬头标语怎么,沈阳网站制作方法,网站流量数据,无锡网络推广楚天软件1. 引言
本文基本结构为#xff1a;
编程语言背景介绍RISC-V虚拟机作为zkVM电路为何选择RISC-V#xff1f;
2. 编程语言背景介绍
高级编程语言不专门针对某个架构#xff0c;其便于人类编写。高级编程语言代码#xff0c;经编译器编译后#xff0c;会生成针对专门某架…1. 引言
本文基本结构为
编程语言背景介绍RISC-V虚拟机作为zkVM电路为何选择RISC-V
2. 编程语言背景介绍
高级编程语言不专门针对某个架构其便于人类编写。高级编程语言代码经编译器编译后会生成针对专门某架构的汇编代码汇编代码是供机器使用的。
也可以直接编写汇编代码 以上汇编代码示例中
蓝色框表示所编码的数据和指令。黄色框为对蓝色框的反汇编。黑色框为这些op codes的位置信息。可将黑色框的内容看成是addresses。
直接写汇编代码的好处之一是
可对系统进行细粒度的控制。
但汇编代码存在如下问题
表达性有限专门针对特定机器难于维护
而借助编译器使用高级编程语言可解决以上问题如 各种高级编程语言经相应的语言后端可生成相应的LLVM bytecode然后经LLVM编译出特定机器架构的汇编代码
2.1 何为RISC-V
何为RISC-V
RISC Reduced Instruction Set ComputerV This is UC Berkeley’s 5th RISC ISAInstruction Set Architecture
具体的RISC-V说明书见
The RISC-V Instruction Set Manual
RISC-V有如下模块 1RV32IBase整数指令集。每个寄存器为32位。有32个寄存器。【使用XLEN术语来表示x寄存器的宽度位数如是32、64还是128。】 有31个通用寄存器x1-x32来保存整数值x0寄存器固定为常数值0。 没有固定子程序返回地址连接寄存器但标准软件通常使用寄存器x1来保存返回地址。有一个额外的用户可见的寄存器pc为program counter用于存储当前指令的地址。具有的指令集为【其中ecall指令用于特殊功能】 2RV32EBase整数指令集。每个寄存器为32位。为RV32I的子集只有16个寄存器。 3RV64IBase整数指令集。每个寄存器为64位。 4RV128IBase整数指令集。每个寄存器为128位。 5M表示为对整数乘法和触发的标准扩展。以RV32M为例其具有的指令集为
RISC-V可实现为
1硬件芯片2或 虚拟机RISC Zero 将RISC-V用作虚拟机。
当将RISC-V用作虚拟机时其
以软件来实现RISC-V寄存器和内存运行RISC-V指令
相应的流程为
即以程序代码编译后的RISC-V汇编代码ELF二进制文件作为RISC-V虚拟机的输入经RISC-V执行获得相应的程序结果。
3. RISC-V虚拟机作为zkVM电路
zkVM的目的为
为程序执行生成receipts
RISC Zero zkVM的目的为
为RISC-V程序执行生成receipts
为生成receipt需
1有RISC-V代码执行的execution trace2有相应的一组约束如 每个bit应为 0或1x * (x-1) 0。每个寄存器应包含32位数据。每个指令执行完后program counter应变化。 3基于RISC-V虚拟机输出的程序结果 execution trace 约束经某证明系统数学处理生成相应的receipt。
这样完整的流程即为
实际在实现RISC-V虚拟机时如何区分zkVM中所执行的是哪个程序代码呢 答案就是Image ID。所谓Image ID是加载到内存的ELF二进制的Merkle root。会将Image ID写入到seal中。 4. 为何选择RISC-V
当前主流的机器芯片架构有 选择RISC-V架构的原因在于
1minimal所有指令可在一页PPT内展示 2模块化可仅使用所需要的模块。3编程语言支持现有的语言和工具均成熟。
参考资料
[1] RISC Zero团队2023年2月视频 What does RISC V have to do with RISC Zero’s zkVM【slide见What RISC-V has to do with RISC Zero’s zkVM】 [2] ARM新规芯片行业震动丨X86、ARM、RISC-V和MIPS对比汇总 [3] The RISC-V Instruction Set Manual
RISC Zero系列博客
RISC0Towards a Unified Compilation Framework for Zero KnowledgeRisc Zero ZKVMzk-STARKs RISC-V2023年 ZK Hack以及ZK Summit 亮点记RISC Zero zkVM 白皮书Risc0使用Continunations来证明任意EVM交易Zeth首个Type 0 zkEVMRISC Zero项目简介RISC Zero zkVM性能指标Continuations扩展RISC Zero zkVM支持无限大计算A summary on the FRI low degree test前2页导读Reed-Solomon Codes及其与RISC Zero zkVM的关系RISC Zero zkVM架构