计算机系统
文章平均质量分 67
甘先了个生
这个作者很懒,什么都没留下…
展开
-
理解地址空间和逻辑地址生成
1.1 地址空间物理地址:硬件(例如内存条)所支持地址空间,地址空间的管理由硬件完成。逻辑地址(虚拟地址):运行地址所看到的地址空间,地址空间是一维的,应用程序更加容易访问和管理。1.2 逻辑地址生成 图1逻辑地址生成如图1所示,.c程序经过编译得到.s文件,再经过汇编得到.o文件,此时变量名和函数名都会转换成从0开始的连续地址空间,然后再经过链接把多个.o文件生成.exe文件,此时因为链接了其他函数库,所以地址会产生偏移,从图中可以看到程序地址从0-75变成了原创 2021-10-23 10:30:35 · 1988 阅读 · 0 评论 -
如何通俗地理解存储器层次结构?
举个通俗的场景。大学生(CPU)写毕业论文时候,通常会到图书馆(内存)查找相关资料(读取数据),但是没人会那么傻每次写论文都去图书馆吧,跑来跑去,多费劲,要想又快又方便地写论文,我们可以到图书馆借几本相关书籍放到宿舍书架中(缓存),然后就可以舒服地在宿舍写论文了。如果学校图书馆都没有想看的书籍,那只能到市图书馆(本地磁盘)找了。为什么借了几本书之后就可以舒服地在宿舍撸论文了?(缓存为何work?)写论文时候,短时间内会经常翻阅同一本书吧,这就是利用时间局部性。写论文时候,借回来的几本书籍(附近的几原创 2021-10-10 18:33:08 · 191 阅读 · 0 评论 -
局部性原理
1.1 什么是程序局部性?良好的计算机程序通常有良好的局部性,局部性主要有:时间局部性 :指的是同一个内存位置,从时间维度来看,它能够在较短时间内被多次引用。空间局部性 :指的是同一个内存位置,从空间维度来看,它附近的内存位置能够被引用 。1.2 数据引用局部性请看下面程序:#例1int sumvec(int v[N]){ int i,sum=0; for(i=0;i<N;i++) { sum+=v[i]; }}对于例1的程序,是否有良好的局部性?要回答这个问题原创 2021-10-09 20:28:32 · 500 阅读 · 0 评论 -
计算机如何存储一个数据类型的对象?
先记录几个小知识点在大多数的计算机,最小地址寻址单位是字节,而不是位。机器级别程序把内存看作是一个很大字节数组,称为虚拟内存,所以虚拟内存地址的集合就是虚拟内存空间。对于一个字长位w的机器,它虚拟内存可寻址范围是0-2^w-1,一个32位字长的虚拟地址空间是4GB。计算机如何存储一个对象?比如一个int 对象 0x01234567首先最小的内存单位是一个字节,也就是8位,那一个字节可以...原创 2019-11-06 21:31:00 · 425 阅读 · 0 评论 -
理解计算机系统,要了解哪些内容?
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...原创 2019-11-05 15:25:40 · 338 阅读 · 0 评论