深入理解计算机系统之学习笔记二

举报
herosunly 发表于 2022/04/11 16:26:45 2022/04/11
【摘要】 1.4.1 系统的硬件组成根据我的理解,把原图修改了一下,在USB控制器和硬盘控制器到I/O总线加了两根线。1. 总线在英文中称为bus,我的理解是不同组件之间连接的桥梁(如接口之间)。对于数据总线而言,一次传送定长的字节(一个字)。为了讨论的方便,在本书中以4       个字节为一个字长。2. I/O设备每个I/O设备都通过适配器或者控制器与I/O总线相连。controller vs a...

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 存储设备层次结构

这个层次结构说明了一个在计算机非常重要的哲学思想。也就是权衡。犹如空间复杂度和时间复杂度的关系。在不同应用场景上面,受到的限制不一样,所以侧重点也不太一致。


最上面的优点是速度快,但是容量小,价格高。最下面的优点是容量大、价格低,但是速度慢。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。