打卡日期
2016-09-19,以下内容为Computer Systems的读书笔记之第1篇。
书籍链接
附上书籍链接:Computer Systems
书籍章节
第1.3、1.4章,6页-10页
读书笔记
理解编译系统的工作方式是很有用的
帮助优化代码
帮助理解链接时错误(link-time errors)
避免安全漏洞
计算机硬件构造
| 缩写 | 全拼 | 中文 |
|---|---|---|
| CPU | Central Processing Unit | 中央处理器 |
| ALU | Arithmetic/Logic Unit | 算术逻辑单元 |
| PC | Program Counter | 程序计数器 |
| USB | Universal Serial Bus | 通用串行总线 |
总线
总线是电子计算机系统内部电子管道的集合,在各个组件之间传递数据,字是指固定大小的字节块,通常由4个(或8个)字节组成,我们假设一个字由4个字节组成,总线每次只传输一个字
输入输出设备(I/O Devices)
输入设备是用户向计算机系统输入信息的设备,如鼠标、键盘等,输出设备是计算机向用户展示信息的设备,如显示器,还有用来持久化存储设备,如硬盘。
输入输出设备使用控制器或者适配器连接I/O总线。控制器是位于设备本身或者主办上的芯片组,适配器是插在主板插槽上的。
内存
内存是计算机运行时存储程序和数据的地方,由动态随机存取存储器(dynamic random access memory,DRAM)组成。
处理器
处理器解释(执行)内存中的程序,它的核心是大小为一个字的存储设备(寄存器),叫做程序计数器。程序计数器指向内存中的一条指令。处理器读取程序计数器指向的命令,解释这条命令,根据指令集架构(instruction set architecture)做出相应的操作。下面描述了一个非常简单的指令集架构:
- Load:将一个
字节或者字从内存复制到寄存器,并覆盖之前的内容 - Store:将一个
字节或者字从寄存器复制到内存,并覆盖之前的内容 - Operate:将两个
寄存器的内容复制到算术逻辑单元(ALU),然后将计算结果复制到另一个寄存器,并覆盖之前的内容 - Jump:将一条命令的内容复制到
程序计数器(PC),并覆盖之前的内容
现代计算机一般都包括了比这个更复杂的指令集架构。