初步了解:机器架构与Rust入门
1. 技术要求
开始学习前,需要一台能安装Rust的现代计算机。感兴趣的读者可考虑购置ARM开发板,比如树莓派3 Model B。还会用到Valgrind工具套件,很多操作系统有其安装包,更多安装说明可在相关网站查找。同时会使用HEC和MMEC工具,它们常随gcc和llvm编译器工具链一起安装。相关项目源代码可在GitHub上获取。
2. 并行计算机模型
在并行编程中,有两种并行模型:并发内存操作和数据并行。大部分时间会关注并发内存操作,即多个CPU争夺对共享可寻址内存的操作。数据并行指CPU能同时用单条或多条指令处理多个字,但具体细节因CPU而异,且相关内在函数在基础语言中刚出现。Rust作为系统级语言,可轻松引入合适的库并发出正确指令,也可内联汇编代码。
文献中常见的并行机模型是并行随机访问机(PRAM),但实际会关注x86和ARM这两种具体的机器架构,原因是它们常见且在后续同步原语学习中有重要特性。实际机器与PRAM模型有重要差异,如CPU数量有限、RAM容量有限,且内存位置的可访问性因CPU而异,缓存层次结构对程序性能影响显著。不过,PRAM并非不合理的简化,工作中需进行抽象,同时要理解自身抽象与他人抽象的关系。会采用实证方法了解机器,结合抽象模型,关注缓存层数、缓存大小、总线速度等细节。
3. CPU工作原理
CPU是解释指令流并操作存储和其他设备的装置。最简单的CPU模型是依次接收和解释指令,通过振荡器电路维持内部节奏,指令执行需一定数量的时钟周期。不同CPU模型中,指令的时钟周期数可能相同或不同。部分CPU指令修改寄存器,其延迟低但内存位置有限;部分指令修改主内存(
超级会员免费看
订阅专栏 解锁全文
3

被折叠的 条评论
为什么被折叠?



