读书笔记Pt.3——《深入理解计算机系统》

网友投稿 274 2022-10-21


读书笔记Pt.3——《深入理解计算机系统》

目录

​​传统艺能????​​​​指令级并行????​​

​​单指令,多数据并行????​​

​​系统中抽象的重要性????​​​​小结(必看)????​​

​​第二章​​

​​信息存储????​​​​十六进制表示法????​​​​字????​​

传统艺能????

小编是双非本科大一菜鸟不赘述,欢迎大佬指点江山

此前博客​​点我!点我!请搜索博主 【知晓天空之蓝】​​

乔乔的gitee代码库(打灰人 )​​欢迎访问,点我!​​

????????非科班转码社区诚邀您入驻????????

小伙伴们,打码路上一路向北,背后烟火,彼岸之前皆是疾苦

一个人的单打独斗不如一群人的砥砺前行

这是我和梦想合伙人组建的社区,诚邀各位有志之士的加入!!

社区用户好文均加精(“标兵”文章字数2000+加精,“达人”文章字数1500+加精)

直达: ​​社区链接点我​​

指令级并行????

在比较低的抽象层次上,现代处理器可以同时执行多条指令的属性称为指令级并行。早期的处理器,执行完一条指令所需要的周期通常是多个,比较先进的也就保持2-4条指令一个周期,本质上一条指令执行完是需要大约 20 个或者更多周期的,但是处理器非常聪明,他有手段来同时处理100条指令,比如后序会引入的 流水线 概念。

如果处理器可以达到一个周期一条指令或者更快的话,我们称之为超标量处理器,大多数可以支持这个功能,后面也会介绍超标量的高级模型,如果理解了这个模型就可以更好的理解程序的性能,写出拥有更高的指令级的并行性的代码,从而可以跑的更快。

单指令,多数据并行????

在低层次上,现代处理器拥有特殊的硬件,允许一条指令产生多个可以并行执行的操作,被称为单指令,多数据并行,也被称为 SIMD 并行,比如我们熟知的英特尔的AMD处理器都可以用这种属性来完成四对浮点数的加法操作。

提供这种机制其实是为了完成影像,声音,视频等数据的处理的速度。

系统中抽象的重要性????

抽象这个词本来就很抽象了,但不巧的是他还是一个最为重要的概念之一,例如,为一组函数规定简单的程序接口就是一个好习惯, == 计算机系统里面抽象就是用来隐蔽实际实现的复杂性==,无聊晦涩的书面语咱无需咀嚼,形象的来说C语言的函数原型就是抽象的使用,我们无需了解他内部的原理就可以使用。不同的语言提供不同形式和等级的抽象支持。

之前我们已经介绍过几个抽象了,比如处理器里面指令级结构提供了实际处理器硬件的抽象。使用这个抽象,就好像它是运行在一个一次只执行一条指令的处理器上,底层的硬件比抽象描述的复杂精细许多,它并发的执行多条指令,但又总是与那些简单有序的模型保持一致。只要执行模型一样,不同处理器实现也能处理同样的机器代码。

学习操作系统咱必须知道三个抽象:

文件是对I/O的抽象;虚拟存储器是对存储器的抽象;进程是对一个正在运行程序的抽象;

小结(必看)????

第二章

这部分属于程序的结构和执行,如果你觉得等式和公式令人生畏,不要让他阻止你阅读这部分,为了完整性,我的读书笔记也不会精简太多,但我会跳过某些晦涩的推导,有兴趣的可以自行进行查阅。

啾~

信息存储????

大多数计算机都是8位的字节,作为最小可寻址的存储器单元,而不是存储器中访问单独的位。机器级程序将存储器看成一个非常大的字节数组,称为虚拟存储器,存储器每个字节都是由一个唯一的数字来标识,他就是地址,所有可能的地址集合成为虚拟地址空间。顾名思义,这个虚拟存储空间只是一个概念性的映像。实际的实现依赖于 RAM,磁盘,硬件和操作系统的结合,为程序提供一个看上去统一的数组。

十六进制表示法????

一个字节由8位组成,二进制表示法中,他的值域是二进制的00 00 00 00-11 11 11 11,也就是十进制的 0-255,二进制表示法太冗长,十进制表示法与位模式互换又很麻烦,我们就有相应替代的方法:16 进制简写为 hex,使用 0-9,A-F 表示16个整型数字,下图就是 16 进制表示法:

C语言里面,以 0x 或者 0X 开头的数字常量就是 16 进制,a-f 科大写可小写甚至可以混合使用,书中下文的讨论也是使用 C语言标准的 16 进制表示法,关于数字之间的转换,这里给了一个窍门:记住每个十六进制数字 A-F 对应的十进制数字的值,可通过计算他们与前三个值的相对关系来看:

假设这里有个 0x173a4c,我们展开他的每一个十六进制数字:

这样就得到了二进制的: 000101110011101001001100

反过来一样的,我们可以讲十进制序列每四位分成一组,再转换成 16 进制,如果序列不满足 4 的倍数,最左边一组可以小于 4 ,前面,前面用 0 来补足再转换出 16 进制。

再来点邪术:

字????

每台计算机都有一个字长,指明了整数和指针数据的大小,因为我们的虚拟地址也是靠字来编码的,所以字长决定的最重要的就是虚拟地址空间的最大大小,也就是说,一个字长为 w 位的机器虚拟地址范围就是 0-2^(w-1) ,于是做多访问 2 的 w 次方个字节。

现在大多数计算机的字长都是 32 位,限定了虚拟地址空间为 4 千兆字节(4GB),随着存储器价格的降低,字长为 64 位的高端机器正在为大规模科学与数据库应用提供平台基础,往后台式本和笔记本也会变成 64 字节。

今天就到这里吧,摸了家人们


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:IDEA导入geoserver项目的详细步骤及注意事项
下一篇:俄乌最新局势!数字人民币“出海”或将迎来新局面?!
相关文章

 发表评论

暂时没有评论,来抢沙发吧~