计算机组成原理 - 浮点数和定点数

如果你有 python 或者 node 的命令行终端,或者浏览器里面的 Console,你可以做个测试,输入 0.3 + 0.6 看下值究竟是多少。

1
2
3
4
Welcome to Node.js v12.16.1.
Type ".help" for more information.
> 0.3+0.6
0.8999999999999999

Read More

计算机组成原理 - 二进制编码,电路

所有数据,字符串,整数等一切事物在计算机里,都是通过 0 和 1 来组成,也就是用二进制表示。二进制的特点就是「逢二进一」。

同时为了应对负数,采用了补码表示法,即第一位既作为符号位,同时也参与运算。比如 4 位二进制数,从 1000 到 0111,表示的范围在 -8 到 7 之间的 16 个数,不会浪费任何一个位。

有了补码表示负数,整数相加也变得很容易,不需要做任何特殊处理,只是把它当成普通的二进制相加,就能得到正确的结果。

Read More

计算机组成原理 - 程序的链接,装载和执行

本文打算从 ELF文件格式静态链接,程序装载,动态链接三个方面来分析一下,程序如何链接,装载和执行的。

Read More

计算机组成原理 - 指令

CPU 能处理的只有指令,我们写的程序归根结底就是指令,高级语言只有翻译成机器码,即计算机能够识别的指令,才能够被执行。

Read More

计算机组成原理 - 性能和功耗

什么是性能?我们一般这样定义:

1
性能 = 1 / 响应时间

除了响应时间,吞吐率也是衡量性能的一个指标。一般通过 CPU 的多核,或者水平增加机器来提示吞吐率,从而提高单位时间的任务处理速度。

Read More

计算机组成原理 - 知识图谱

知识图谱

Read More