深入理解计算机系统之学习笔记二
1.4.1 系统的硬件组成
根据我的理解,把原图修改了一下,在USB控制器和硬盘控制器到I/O总线加了两根线。
1. 总线
在英文中称为bus,我的理解是不同组件之间连接的桥梁(如接口之间)。对于数据总线而言,一次传送定长的字节(一个字)。为了讨论的方便,在本书中以4 个字节为一个字长。
2. I/O设备
每个I/O设备都通过适配器或者控制器与I/O总线相连。
controller vs adapter?
controller是芯片组,而adapter是插在主板插槽上的卡。
3. 内存
主存是由DRAM(动态随机存储器)的芯片组成的。
4. 处理器
基本构成:PC(程序计数器)、寄存器、ALU(算术逻辑运算单元)
主要操作:1. 加载:从内存读取数据到寄存器。
2. 存储:把寄存器的数据存放到内存中。
3. 操作:
这只是一个示意图,有可能ALU计算后的数据又放到EAX或者EBX中。
4. 跳转
1.4.2 运行hello程序
主要分为以下三大部分:
1. 从键盘输入hello,键盘输入的字符通过USB控制器,将字符输入到I/O总线上,然后再传送到I/O桥上,传送给CPU,再传送给内存,此时内存中包含了hello这个字符串。
2. 当用户输入回车时,shell程序会认为要执行hello这个可执行文件,会通过DMA,将硬盘的数据从硬盘直接加载到内存。其中包含了将要输出的字符串hello\n。
3. cpu从内存中取出数据,并计算后,把计算后的数据通过I/O桥和I/O总线,把数据输出到显示器中。
1.5 高速缓存至关重要
高速缓存存在于CPU中,把最近频繁使用到的数据和执行存到这里,加快了程序执行的效率。它的大小不大,但是访问速度几乎和寄存器差不多。它是由SRAM(静态随机存储器)组成的。好的CPU包含了L1、L2、L3三级缓存。
1.6 存储设备层次结构
这个层次结构说明了一个在计算机非常重要的哲学思想。也就是权衡。犹如空间复杂度和时间复杂度的关系。在不同应用场景上面,受到的限制不一样,所以侧重点也不太一致。
- 点赞
- 收藏
- 关注作者
评论(0)