Textbook: <计算机组成与设计——硬件/软件接口>  HI <计算机体系结构——量化研究方法>       QR 这是youtube上一个非常好的memory system的课. 1. Physical Memory 这里我们重点关注DRAM 从概念上分为:Channel > DIMM > Rank > Chip > Bank > Row/Column Channel:一个主板上可能有多个插槽,用来插多根内存.这些槽位分成两组或多组,组内共享物…
这次就边学边总结吧,不等到最后啦 Textbook: <计算机组成与设计——硬件/软件接口>  HI <计算机体系结构——量化研究方法>       QR Ch3. Memory Hierarchy 1. Physical Memory SRAM:CPU缓存(比如PentiumII的外置二级缓存芯片) DRAM:内存芯片,需要Dynamic刷新.关于DRAM的详细介绍在这里. 2. Locality(PPT P12/HI P253) Programs tend to reuse d…
计算机系统结构:CPU性能公式 基础知识 CPU 时间:一个程序在 CPU 上运行的时间.(不包括I/O时间) 主频.时钟频率:CPU 内部主时钟的频率,表示1秒可以完成多少个周期. 例如,主频为 4.1GHz,表示每秒可以完成 4.1*109 个时钟周期. 时钟周期:时钟周期也称为振荡周期,定义为时钟频率的倒数.时钟周期是计算机中最基本的.最小的时间单位.在一个时钟周期内,CPU仅完成一个最基本的动作. 时钟周期 = 1 / 频率,例如 1/ 4.1*109 . CPU 的时钟周期越短,CPU…
Textbook: <计算机组成与设计——硬件/软件接口>  HI <计算机体系结构——量化研究方法>       QR Ch4. Cache Optimization 本章要讨论的问题就是 How to Improve Cache Performance? 前面讲过 Average memory access time = HitTime + (MissRate * MissPenalty) 那么我们的方向就是Reduce MissRate / HitTime / MissPen…
The Performance Zone is brought to you in partnership with New Relic. Quickly learn how to use Docker and containers in general to create packaged images for easy management, testing, and deployment of software. It has sometimes been suggested that S…
Textbook:<计算机组成与设计——硬件/软件接口>  HI<计算机体系结构——量化研究方法>          QR 最后一节来看看如何实现parallelism 在多处理器系统中,每个处理器(core)可能有自己专属的cache,然后多处理器共享memory.在这种情况下,当多个线程(核心)对同一个变量进行读写时,就会出现不同cache中该变量的值不一样的情况(取决于cache是write back还是write through,以及相关cacheline被evict的时间…
Textbook:<计算机组成与设计——硬件/软件接口>  HI<计算机体系结构——量化研究方法>          QR Branch Prediction 对于下面的指令: i1: r1 := r2 / r3 i2: r2 := r1 / r3 i3: r3 := r2 - r3 i4: beq r3, //if r3==0 then GOTO 100 前面i1, i2, i3都是有依赖的,计算起来就很慢.如果在i4的分支语句中使用了branch prediction,就可以不…
Textbook:<计算机组成与设计——硬件/软件接口>  HI<计算机体系结构——量化研究方法>          QR 超标量 前面讲过超标量的概念.超标量的目的就是实现指令级并行(Instruction Level Parallelism),来解决stall太多的问题. 超标量(Super Scalar) 将一条指令分成若干个周期处理以达到多条指令重叠处理,从而提高cpu部件利用率的技术叫做标量流水技术. 超级标量是指cpu内一般能有多条流水线,借助硬件资源重复(例如有两套译…
Textbook:<计算机组成与设计——硬件/软件接口>  HI<计算机体系结构——量化研究方法>          QR 这节我们来看CPU内部的一些东西. Instruction Set Architecture 指令集是介于硬件(CPU microarchitecture / IO / ....)和软件(compiler / OS / ....)之间的一个interface.硬件(486-586-PentiumPro)和软件(Win98-WinXP)都会更新换代,但指令集很少…
Summary Spark does not have a good mechanism to select reasonable RDDs to cache their partitions in limited memory.  --> Propose a novel selection algorithm, by which Spark can automatically select the RDDs to cache their partitions in memory accordi…