cxuan自己的 Github 非常硬核,求各位大佬 star: https://github.com/crisxuan/bestJavaer
汇编代码是计算机的一种低级表示,它是一种低级语言,可以从字面角度去理解它,包括处理数据、管理内存、读写存储设备上的数据,以及利用网络通信等。编译器生成机器码经过了一系列的转换,这些转换遵循编程语言、目标机器的指令集 和操作系统。
指令集
指令集就是指挥计算机工作的指令,因为程序就是按照一定执行顺序排列的指令。因为计算机的执行控制权由 CPU 操作,所以指令集就是 CPU 中用来计算和控制计算机的一系列指令的集合。每个 CPU 在产出时都规定了与硬件电路相互配合工作的指令集。
指令集有不少分类,但是一般分为两种,一种是精简指令集,一种是复杂指令集。具体描述如下
精简指令集
精简指令的英文是 reduced instruction set computer, RISC,原意是精简指令集计算,简称为精简指令集,是 CPU 的一种 设计模式,可以把 CPU 想象成一家流水线工厂,对指令数目和寻址方式都做了精简,使其实现更容易,指令并行执行程度更好,编译器的效率更高。
常见的精简指令集处理器包括 ARM、AVR、MIPS、PARISC、RISC-V 和 SPARC。
所以你就能理解
这本书是讲啥的了。
它主要是基于 MIPS 体系结构把冯诺依曼体系的五大组件进行了逐一的硬件实现 + 软件设计介绍,更为重要的是引入了诸多并行计算的内容,这是大部分教材中忽略或者内容较少的,会根据这个思路把并行相关的内容,结合 OpenMP, CUDA 和 Hadoop/Spark 整体融入到新书中,毕竟这是未来发展的趋势
还有这本书
这本书又是讲啥的。
这本书是讲 RISC-V 指令集的,因为指令集的不同也区分了三个版本,三个版本???嗯,还有下面这个
这本书是讲 ARM 指令集的。
所以一般在看 CASPP 的时候并发的看看这本书是非常不错的选择。
精简指令集一般具有如下特征
- 统一的指令编码
- 通用的寄存器,一般会区分整数和浮点数
- 简单的寻址模式,复杂寻址模式被简单指令序列来取代
- 支持很少偏门的类型,例如 RISC 支持字节字符串类型。
复杂指令集
复杂指令集的英文是 Complex Instruction Set Computing, CISC,是一种微处理器指令集架构,也被译为复杂指令集。
复杂指令集包括 System/360、VAX、x86 等。
复