- 将程序分为两类:IO密集型和计算密集型
double value = in1 * in2 + in3
乘法后紧跟加法的模式被称为乘加法,或者MAD
简单的编译器会将一个MAD指令转换为:一个乘法指令和一个加法指令
现代运算结构都支持MAD指令,执行一个MAD指令要比指令两个(乘法和加法)指令要快
浮点指令
- IEEE 754标准,规定二进制浮点数据编码成3段,符号位,一个比特位;指数段(exponent),多个比特位,分数段(fraction),多个比特位
内部函数和标准函数
- 如果一个函数是内部函数或者是内置函数,编译时会对它的行为有特殊的相应,产生优化的指令
原子操作指令
- 一条原子操作指令执行一个数学运算,如:
int atomicAdd(int *M,int V);
- 原子操作指令阻止了多个线程之间的相互干扰,可以对跨共享数据进行"读 改 写"的操作