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,就可以不…
计算机系统结构: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…
Textbook:<计算机组成与设计——硬件/软件接口>  HI<计算机体系结构——量化研究方法>          QR 最后一节来看看如何实现parallelism 在多处理器系统中,每个处理器(core)可能有自己专属的cache,然后多处理器共享memory.在这种情况下,当多个线程(核心)对同一个变量进行读写时,就会出现不同cache中该变量的值不一样的情况(取决于cache是write back还是write through,以及相关cacheline被evict的时间…
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)都会更新换代,但指令集很少…
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…
CH1基本概念 右键点击查看图像,查看清晰图像 CH1基本概念 目的与内容 了解计算机系统的完整概念 学习计算机系统的分析方法与设计方法 编写程序所必需了解的计算机属性 计算机系统结构简介 为什么要研究系统结构 提高处理机器运算速度 MIPS = Fz * IPC 注意单位 提高IPC(指令周期) 提高Fz(频率) 七层结构 不同角度的人员所观察到的层次不一样 透明 结构 应用程序 高级语言 汇编语言 操作系统 机器语言 微程序 硬联逻辑 计算机系统结构的定义 系统程序员所看到的计算机系统的属性…
看了<计算机系统结构>.<深入理解计算机系统>.<大话处理器>等经典书籍,也在google上搜了一大堆资料,前前后后.断断续续的折腾了一个多月,终于想通了,现在把自己的思想心得记录下来,希望对有这方面困惑的朋友有些帮助. 本文主要关注以下几个问题. 什么是CPU的流水线?为什么需要流水线? 为什么需要内存屏障?在只有单个Core的CPU中是否还需要内存屏障? 什么是乱序执行?分为几种? MOB和ROB是干什么的? load buffer和store buffer的功能是…