计算机的核心是CPU。CPU由四个部分组成:运算器、控制器、寄存器和时钟。
我们主要谈论寄存器。寄存器是直接与运算器交互的数据存放的地方。硬盘上的程序想要运行就必须将程序装入内存,而内存中的指令和数据想要被执行就要装入寄存器。
寄存器又分为好几种,诸如基址寄存器、变址寄存器、标志寄存器、程序寄存器、累加寄存器、指令寄存器、栈寄存器和通用寄存器等。有些寄存器只能存在一个。
CPU可以直接识别执行的代码是机器码。汇编语言就是机器码的助记符,高级语言又在汇编语言的基础上发展而来。
机器码只需要实现四种指令:数据转送(I/O),运算,跳转(条件分支/循环),CALL/RETURN(函数)。
计算机数据是二进制的。数据的最小单位是位(bit),基本单位是字节(byte),由8位组成。计算机无法控制小于一个字节的数据。
CPU执行一次指令可以处理的数据的最大长度就是位宽。
移位(shift)指令可以代替乘除法。
补码的补码是原码,补码=反码+1。具体原因可以追溯到莱布尼茨关于二进制的论文、高斯的模算术(时钟算术)。