
CS:APP
HerofH_
加油啊咸鱼!
展开
-
从缓存角度来提高程序性能(二):高速缓存Cache
目录1 高速缓存Cache机制1.1 通用的高速缓存存储器结构1.2 直接映射高速缓存1.3 组相联高速缓存1.4 全相联高速缓存2 编写高速缓存友好的代码1 高速缓存Cache机制1.1 通用的高速缓存存储器结构 通用的高速缓存存储器的结构如图所示: 由图可见,高速缓存存储器实际上是由多个缓存行组成的,共分为S个组,每个组中有E个...原创 2019-01-21 20:58:43 · 1952 阅读 · 0 评论 -
从缓存角度来提高程序性能(一):存储器及缓存的概念
目录1 常用的存储器1.1 随机访问存储器(RAM)1.2 磁盘1.2.1 磁盘结构1.2.2 磁盘容量1.2.3 磁盘操作2 存储器层次结构3 缓存3.1 什么是缓存3.2 缓存命中与缓存不命中 1 常用的存储器1.1 随机访问存储器(RAM) 随机访问存储器分为两类:静态RAM和动态RAM。 静态RAM也叫SR...原创 2019-01-21 20:58:07 · 794 阅读 · 0 评论 -
Intel64、IA-32、IA-64的关系
Intel 64Intel 64指令集被应用于Pentium 4、Pentium D、Pentium Extreme Edition、Celeron D、Xeon、Intel Core 2及Intel Core i7处理器上。概要Intel 64计划的历史可谓相当长及复杂,其原因主要是因为Intel自身的内政问题。该计划开始时,其代号为Yamhill,不过Intel一直对外宣称其计划不存在,...转载 2019-01-17 10:49:41 · 2852 阅读 · 0 评论 -
指针数组、数组指针——用指针访问数组方法总结
目录1.数组元素的访问2.通过指针访问数组2.1 通过指针访问一维数组2.2 通过指针访问二维数组2.2.1 指向元素的指针2.2.2 指向每一行的指针(指针数组方式)2.2.3 指向整个数组的指针(数组指针方式)3 总结1.数组元素的访问 数组中的各元素在内存中是连续分布的,要想访问数组中某一元素,那么就必须知道其地址。 在一...原创 2019-01-14 09:51:11 · 87232 阅读 · 20 评论 -
C/C++中的移位运算符——由二进制转换程序引发的思考
以前学习移位运算符的时候并没有太多关注它,而此次关于移位运算符的探究,主要源于写的一个二进制显示的程序:#include <iostream>using namespace std;int main(){ int a=-1; for(int i=0;i<32;i++) cout<<((原创 2019-01-06 10:19:57 · 1282 阅读 · 0 评论 -
有符号数、无符号数理解
大家都知道,在C/C++中,对于w位编译器,其有符号数表示的数值范围为-2 ^ (w-1)~2 ^(w-1)-1,无符号数表示的数值范围为0 ~ 2 ^ w-1,举个例子,在16位编译器中,有符号数的数值范围为-2 ^ 31 ~ 2 ^ 31-1,无符号数的数值范围为0 ~ 2 ^ 32-1。那么,有符号数和无符号数的区别在哪?同样都是以32位2进制位来表示(后文均以32位为准),为什么各自表示的...原创 2019-01-05 23:16:12 · 28925 阅读 · 5 评论 -
对找工作功不可没——评《深入理解计算机系统》
引子:在我刚刚进入中科院计算所读研的时候,同宿舍的师兄便向我推荐了一本《深入理解计算机系统》,这本书从一个程序员的视角详细剖析了整个计算机系统,涵盖了组成原理、汇编语言、体系结构、操作系统、网络等计算机基础知识。由于时间所限,我并没有立刻阅读,而是将其列入了找工作前的复习书单。2010年8月,我用了一个月的时间读完了这本书的原版《Computer System:A programmer’s p...转载 2019-01-05 17:25:51 · 319 阅读 · 2 评论 -
Linux下静态库、共享库的创建与应用
目录1 什么是静态库和共享库1.1 为什么要有静态库和共享库1.2 静态库和共享库的区别2 用例子说明两种库的创建与应用2.1 静态库的创建与应用2.1.1 静态库的创建2.1.2 静态库的应用2.1.3 静态库搜索路径补充说明2.2 共享库的创建与应用2.2.1 共享库的创建2.2.2 共享库的应用2.2.2 共享库搜索路径补充说明1...原创 2019-02-15 09:53:56 · 7105 阅读 · 4 评论 -
程序是如何从编辑到执行的——我的初步理解
目录1.预处理2.编译3.汇编3.1 机器码的格式3.2 编码过程4.链接5.取指6.译码7.执行8.访存9.写回10.更新PC 今天来谈谈,一句代码,是如何从被编辑到被执行的。以下为本人在阅读相关书籍资料后的初步理解,仅供参考,如有错误,还望各位老师不吝指教,多谢! 我要运行一个程序,我首先得写下来吧!比如说我现...原创 2019-02-15 17:25:35 · 1566 阅读 · 0 评论