随笔分类 - 大学计算机课程
摘要:目录P445 P445 size越小,时间局部性越好指的是能够更快地完成一次遍历开始下一次遍历,于是就可以在更短的时间内访问重复的变量 然后我感觉存储器山说的山脊和斜坡都是一样的,下图更清晰 老师在讲的时候,鼠标就是从左到右走的一个斜坡坡 四个白色方框标出来的东西,书上说的是工作集位于的地方,其实就
阅读全文
摘要:
阅读全文
摘要:这里L1缓存收到了指令,就先看自己有没有对应的数据,如果没有就去问L2缓存,L2缓存收到了指令也先看自己有没有对应的数据,如果没有就去问L3缓存。以此类推
阅读全文
摘要:目录P437 P437 在处理写不命中(write miss)时,"写分配"(write-allocate)的具体含义是:当要写入的数据不在高速缓存中时,先将该数据所在的整个块从低一层(如主存)加载到高速缓存中,然后在高速缓存中更新对应的数据。之后,根据写策略(直写或写回)决定是否立即将更新后的块写
阅读全文
摘要:目录P440P441 P440 P441 这里的整个数组都在缓存中不命中率也是\(\frac{1}{4}\)我不知道是怎么回事
阅读全文
摘要:目录P428P429P430P431 P428 这里的\(m\)是主存的地址的位数;\(t\)就是减出来的,没什么特殊的含义;\(E\)是定义出来的,与\(t,s,b\)无关 块偏移只是指的偏移量,从偏移的位置开始读多少字节是根据当前访问的类型来决定的。比如书上的例子就是访问的一个四个字节的类型,而
阅读全文
摘要:目录P410P412 P410 \(\frac{1}{\text{RPM}}\)是转一圈所需要的分钟数,于是就可以理解旋转时间和传送时间的公式了 P412 PCI总线跟计网里面说的总线一样,所有设备都可以看到里面的数据;PCIe相当于点对点的总线
阅读全文
摘要:目录P400P401P402P404 P400 这里区分一下供电和干扰的区别:供电就是字面意思,SRAM和DRAM都需要供电,所以我们把电脑关机后重新打开电脑就要从硬盘中重新加载所有东西;干扰是在供电途中,对稳定电压的扰乱,SRAM不怕干扰,所以不用刷新和校验码,DRAM怕干扰,所以需要刷新和校验码
阅读全文
摘要:目录P379 P379 投机执行中,处理器避免修改实际的寄存器或者内存位置,与前面提到的寄存器重命名有关。一个寄存器可能有几百个副本,同时
阅读全文
摘要:目录P375P376 P375 图5-29并行性提高的原因应该是:在第\(i\)个循环正在执行第二个mul的时候,由于add和load很快,所以第\(i+1\)个循环的第一个mul已经开始执行了,第\(i\)个循环执行完第二个mul之后准备执行第\(i+1\)个循环的第二个mul的时候,就可以无缝衔
阅读全文
摘要:目录P367 P367 整数加法CPE下降的原因:在P365讲述的其它性能因素,就是说每次循环,除了循环体,还有一些额外的开销,这些额外的开销与循环体的具体内容没有关系,而这些额外开销是瓶颈;这里我们进行循环展开之后,循环的总次数就减少了,额外开销不再是瓶颈,瓶颈变成了整数加法;由于总的加法次数没有
阅读全文
摘要:目录P357 P357 这里说的指令级并行与第四章讲的流水线不同,这里指的是将整个程序的指令划分成若干独立的部分,而这些独立的部分并行进行第四章讲的流水线结构
阅读全文
摘要:目录P361 P361 下面的图片显示了这里说的流水线是什么意思(下面的图将一个乘法操作分成了三个微操作,每一个乘法在运算单元里面按照顺序执行三个微操作阶段) 所以这里的流水线达成了并行性。注意这里的并行性并不是指多个功能单元的并行性,而是单个并行单元的执行不同阶段的不同部分可以同时进行 发射时间指
阅读全文
摘要:目录P357P358P360 P357 超标量的基本思想就是CPU会一次性读入很多条指令,接着会将读取的指令分成若干独立的部分,于是若干独立的部分就可以并行执行,并行执行这些部分当然就是乱序的 P358 指令译码将一条指令转换成若干基本操作之后,就会确定这些基本操作之间的依赖关系以此来找出彼此独立的
阅读全文
摘要:目录P345 P345 之所以要用时钟周期来度量而不是用具体的纳秒,是因为一台机器的时钟频率是固定的(比如2G Hz表示一秒运行的时钟周期为2G),所以程序员更关心一个程序所消耗的总的时钟周期是多少
阅读全文
摘要:目录P303P306 P303 讲一下图4-53 注意这个一个方块内部代表的是正在传递的过程:比如D,开始的时候,流水线寄存器D已经加载好各个参数了(stat,icode等),D的中间表示的是传递这些参数(包括转发)到E 于是书里面的意思是这个:在周期7,0x032这个指令需要的是%eax的值,而这
阅读全文
摘要:目录P355 P355 这里的“别名”的意思就是程序的不同部分指向了内存的相同位置。比如这里的dest和data都指向了内存的同一位置。编译器都假设有别名,所以无法进行优化
阅读全文
摘要:目录P350P352 P350 就是上面这些不常见的换代码的操作要熟悉一下 P352 实际上这里编译器不能把strlen移出循环还有一个原因,就是链接是最后一个阶段,编译器并不知道这里的strlen是不是系统库的strlen,有可能是我们自己定义了一个strlen,不知道这个函数是不是可以改变字符串
阅读全文
摘要:目录P293 P293 这里说取出的指令是分支或者ret要等几个周期的原因见图4-21
阅读全文
摘要:目录P266 P266 图4-18中的\(M_8[\text{PC}+2]\)的下标\(8\)指的是读八个字节
阅读全文

浙公网安备 33010602011771号