Textbook:<计算机组成与设计——硬件/软件接口>  HI<计算机体系结构——量化研究方法>          QR 这节我们来看CPU内部的一些东西. Instruction Set Architecture 指令集是介于硬件(CPU microarchitecture / IO / ....)和软件(compiler / OS / ....)之间的一个interface.硬件(486-586-PentiumPro)和软件(Win98-WinXP)都会更新换代,但指令集很少…
计算机系统结构:CPU性能公式 基础知识 CPU 时间:一个程序在 CPU 上运行的时间.(不包括I/O时间) 主频.时钟频率:CPU 内部主时钟的频率,表示1秒可以完成多少个周期. 例如,主频为 4.1GHz,表示每秒可以完成 4.1*109 个时钟周期. 时钟周期:时钟周期也称为振荡周期,定义为时钟频率的倒数.时钟周期是计算机中最基本的.最小的时间单位.在一个时钟周期内,CPU仅完成一个最基本的动作. 时钟周期 = 1 / 频率,例如 1/ 4.1*109 . CPU 的时钟周期越短,CPU…
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 这是youtube上一个非常好的memory system的课. 1. Physical Memory 这里我们重点关注DRAM 从概念上分为:Channel > DIMM > Rank > Chip > Bank > Row/Column Channel:一个主板上可能有多个插槽,用来插多根内存.这些槽位分成两组或多组,组内共享物…
Textbook: <计算机组成与设计——硬件/软件接口>  HI <计算机体系结构——量化研究方法>       QR Ch4. Cache Optimization 本章要讨论的问题就是 How to Improve Cache Performance? 前面讲过 Average memory access time = HitTime + (MissRate * MissPenalty) 那么我们的方向就是Reduce MissRate / HitTime / MissPen…
这次就边学边总结吧,不等到最后啦 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…
CH1基本概念 右键点击查看图像,查看清晰图像 CH1基本概念 目的与内容 了解计算机系统的完整概念 学习计算机系统的分析方法与设计方法 编写程序所必需了解的计算机属性 计算机系统结构简介 为什么要研究系统结构 提高处理机器运算速度 MIPS = Fz * IPC 注意单位 提高IPC(指令周期) 提高Fz(频率) 七层结构 不同角度的人员所观察到的层次不一样 透明 结构 应用程序 高级语言 汇编语言 操作系统 机器语言 微程序 硬联逻辑 计算机系统结构的定义 系统程序员所看到的计算机系统的属性…
一直以来.I/O顺序问题一直困扰着我.事实上这个问题是一个比較综合的问题,它涉及的层次比較多,从VFS page cache到I/O调度算法,从i/o子系统到存储外设.而Linux I/O barrier就是当中重要的一部分. 可能非常多人觉得,在做了文件写操作后,调用fsycn就能保证数据可靠地写入磁盘.大多数情况下,确实如此. 可是,由于缓存的存在.fsycn这些同步操作.并不能保证存储设备把数据写入非易失性介质. 假设此时存储设备发生掉电或者硬件错误.此时存储缓存中的数据将会丢失.这对于像…