铁书网

字:
关灯 护眼
铁书网 > 梁寒郡的日记书 > 《深入理解计算机系统》一刷(2023.10.16)

《深入理解计算机系统》一刷(2023.10.16)

    这本书很深,对于早已失去了专注力的我来说,想一遍就消化掉是不可能的,只看文字不看视频不去实践一定会消化不良。暧昧一点吧,找不到好的词汇形容。

    走马观花也多少能记住些东西,先说一下第一块难以理解又重要的地方是,其实每个地方都很难全部理解,但是对我而言,更重要的是现在大体上把说不通的点讲通。

    流水线是一个很难掌握的点。

    首先是和洗碗筷差不多,任务是一个一个来的,即便核很多,如三个核,那要三个时钟周期才能让三个核都进入工作状态。这个核,用自助餐厅的不同种食物代替吧。

    之后是,每个核工作在同一个任务的不同阶段,看起来是并行的,但彼此之间还有有细小的时间差异。

    还是那个洗碗洗筷子模型,系统的吞吐量受到最慢阶段的速度所限制,流水线是一步一步来,在一个时钟内,即便一个阶段被完成,但它总是需要等待前面的阶段或者后面的阶段完成,才可以进行跳转。所以最慢的阶段限制着流水线速度。

    切分切分切分,最后限制速度的是寄存器的读写速度。

    如果加入前后顺序的反馈,那么最后一步产生的反馈信息要给第一步,这是两个过程之间传递反馈信息。需要做修改。将SEq变为SEq+,动态计算pc。(完全不知道自己在说什么了)

    我只能理解为,各个阶段需要配合,需要等待把每个步骤时间对齐,对不齐就容易产生用过去的信息计算当前的状态,得到的是错误的答案,这错误有大有小,但一定是不可以的。

    然后这种一有冒险就停止等待的做法可能过于缓慢,引出了用转发来避免数据冒险。

    本来我要等你写完我再读,可是不如你先直接送过来,这样对于整个过程耽搁得就比较少,写与送的过程应该是同样速度的,那么我觉得节约的时间是读的时间。唔!

    两个过程之间没法传送数据了,这时候用暂停与转发结合的方法。(有点不懂)

    将一个数连加两次和加一次一个数的两倍,结果可能会不一样,不排除两个指针指向同一个地址的情况,比如由浅复制产生的对象的某个成员变量,加两次原来数会变为原来的四倍,可能这样加不了,他或许还没有访问权限。但加一次两倍就变为原来的三倍。因此这两个不可以相互代替。

    对内联函数有了更清楚的认知,将指定函数体插入>> --
『加入书签,方便阅读』
内容有问题?点击>>>邮件反馈
热门推荐
换亲你要求的,我母仪天下你酸什么?九阳绝脉:下山后我无敌了北门老枪贬妻为妾?贤德大妇她掀桌了穿越万界:神功自动满级老朱偷听我心声,满朝文武心态崩!