随笔分类 - 《深入理解计算机系统》读书笔记
《深入理解计算机系统》读书笔记
摘要:有趣的现象:计算机里,两个正数相加会得出一个负数,两个负数相加得出一个正数。为什么呢?看完这章就理解了。 1 无符号数加法 无符号数加法的数学**: 举例验证: 考虑一个4位数字的表示,x=9 和 y =12 的位表示分别是[1001]和[1100],他们的和是21。5位的表示为[10101]。此时
阅读全文
摘要:在讲述整数之前,先引入编码这个概念。因为计算机里面都是用 0/1串来表示一切的。使用到数值的时候,例如整数运算,需要先将整数转换成0/1的二进制表示,这个转换过程就叫编码。 1 无符号数编码 无符号数:用自然的二进制表示,取值范围只能是大于或者等于零的整数 无符号数特征:每个介于0~2^x-1的数都
阅读全文
摘要:开头:本章研究在计算机上如何表示数字和其它形式数据的基本属性,以及计算机对这些数据执行操作的属性。 1 内存空间和内存地址 注意:这部分谈到的内存,并不是指硬件中的内存条,而是在《计算机系统漫游》章节中的:【虚拟内存】:是对主存、磁盘、I/O设备的抽象表示 下面是书本的描述: 字节(byte):大多
阅读全文
摘要:1 计算机的信息 信息:就是位+上下文 系统中所有的信息,包括磁盘文件、内存中的程序,内存中存放的用户数据,以及网络上传输的数据,都是由一串0、1表示 位:指8位二进制组成一个字节,字节组合成一个序列。 上下文:指不同的环境。同样的字节序列在不同上下文下,可能表示一个整数、浮点数、字符串。区分不同数
阅读全文
摘要:1 系统的硬件组成概览 1.1 总线 总线是负责在各个部件之间传递信息的,信息的单位是字节。根据部件类别,可以把总线细分为I/O总线、内存总线,系统总线等。 例如CPU执行MOV指令,从内存传输1个字节的数据到寄存器,数据通过总线进行传递。 1.2 I/O设备 I/O(输入/输出)设备是系统与系统外
阅读全文
摘要:1 编译系统 1.1 引入编译系统 一个简单的 C语言程序:hello.c #include <stdio.h> int main(){ int a=1; int b=2; int c=a+b; printf("hello c\n"); return c; } 高级语言:C语言,需要先转换成低级的机
阅读全文