打卡日期
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),并覆盖之前的内容
现代计算机一般都包括了比这个更复杂的指令集架构。