Base Integer Instructions: 全书的总览 ..... 19
1.5 结束语 ..... 20
1.6 扩展阅读 ..... 21
第二章 RV32I: RISC-V 基础整数指令集 ..... 23
2.1 导言 ..... 23
2.2 RV32I 指令格式 ..... 23
2.3 RV32I 寄存器 ..... 26
2.4 RV32I 整数计算 ..... 27
2.5 RV32I 的 Load 30
2.7 RV32I 无条件跳转 ..... 31
2.8 RV32I 杂项 ..... 31
2.9 使用插入排序比较 RV32I, ARM-32, MIPS-32 和 x86-32 指令集 ..... 32
2.10 结束语 ..... 32
2.11 扩展阅读 ..... 33
第三章 RISC-V 汇编语言 ..... 41
3.1 导言 ..... 41
3 0 码力 |
164 页 |
8.85 MB
| 2 年前 3 ## AMD
# 从汇编角度看编译器优化
by 彭于斌 (@archibate)
往期录播:https://www.bilibili.com/video/BV1fa411r7zp
课程 PPT 和代码:https://github.com/parallel101/course
的压力。
• 因此 64 位比 32 位机器相比,除了内存突破 4GB 限制外,也有一定性能优势。
# 8 位,16 位,32 位,64 位版本
al 0 码力 |
108 页 |
9.47 MB
| 2 年前 3 0 码力 |
187 页 |
531.58 KB
| 2 年前 3 ## 现代编程思想
案例:栈式虚拟机
Hongbo Zhang
## 编译与解释
## • 编译
☐ 源程序 x 编译器 -> 目标程序
☐ 目标程序 x 输入数据 -> 输出数据
## • 解释
☐ 源程序 x 输入数据 x 解释器 -> 输出数据
☐ CPU可以被视为广义上的解释器
• 拓展阅读:二村映射/部分计算
◦ 部分计算:程序优化,根据已知信息,运算进行特化 部分计算:程序优化,根据已知信息,运算进行特化
◦ 已知源程序与解释器,进行部分运算,获得目标程序
■ 目标程序 x 输入数据 -> 输出数据
## 虚拟机
• 一处编写,处处运行
☐ 定义一个不基于任何平台的指令集
在不同平台上实现解释器
• 两种常见的虚拟机
☐ 堆栈虚拟机:运算数存储在栈上,数据遵循先进后出原则
☐ 寄存器虚拟机:运算数存储在寄存器中
## 寄存器虚拟机
• 例:Lua VM (The Implementation WebAssembly
• WebAssembly是什么?
☐ 一个虚拟指令集
可以在浏览器以及其他运行时(Wasmtime WAMR WasmEdge等)中运行
○ MoonBit的第一个后端
• WebAssembly指令集的子集为例
## 简单指令集
• 数据
☐ 只考虑32位有符号整数
☐ 非零代表 true,零代表 false
· 指令
☐ 数据操作:const add minus equal 0 码力 |
31 页 |
594.38 KB
| 2 年前 3 0 码力 |
11 页 |
672.07 KB
| 2 年前 3 0 码力 |
4 页 |
83.79 KB
| 2 年前 3 0 码力 |
34 页 |
7.00 MB
| 1 年前 3 0 码力 |
3 页 |
654.13 KB
| 1 年前 3
|