计算机体系结构的铁律可由下面公式来描写叙述:

从Programmer的角度来看,处理器的性能就是运行程序的耗费的时间。所以用Time/Program来刻画处理器性能。而这个简单的公式背后是有很丰富的内涵的,详细地说,就是该公式又能够展开为下面三个简单有内涵的公式。

  1. Instructions/Program:表示一个程序相应的指令数量,这部分工作主要集中在编译器领域,一般来说,指令数量越少运行速度越快。比如。用GCC编译器时,使用-O3 当然会比-O0 快不少。假设处理器支持SSE。编译器对带循环的计算密集型部分的应用进行自己主动循环展开或者向量化的话。速度还能提升一个等级。 当然,也不是那么绝对,RISC处理器的编译器一般来说编译出来的指令数量比較多。但运行速度不一定会比CISC慢。
  2. Cycles/Instruction:表示运行一条指令所须要的时钟周期数量,这部分工作主要集中在处理器设计领域。为了减少处理器的CPI,大家最耳熟能详的方法便是使用流水线。比如从传统的5级流水添加到25级流水,当然也会涉及到非常多其它问题,诸如遇到分支时须要使用气泡来填充流水线,这将导致的性能损失(由于平均运行6~7条指令就会越到一个分支)。当然也有解决的方法,比如使用Trace Cache。或者使用超长指令字(VLIW)的办法提升一个周期能处理的指令数量。Intel的高级矢量扩展指令集(AVX, Advanced
    Vector Extensions)也属于这个范畴。对了,还有支持乱序运行的处理器。招数五花八门,终于目标都是为了减小CPI,即单个指令须要的时钟周期。
  3. Time/Cycle:每一个时钟周期相应的时间。其倒数就是时钟频率(f,frequency)。这就是芯片设计者的领域了。在考虑给定的处理器架构下。如何集成很多其它的二极管同一时候提升到更高的主频便是他们的任务。

    处理器的频率从处理器诞生到2007年左右的时候都一直在提升,之后反而在下降了。主要原因便是功耗问题(Dennard Scaling Law),功耗和频率的平方成正比。所以通过减少主频,添加核数。便成了处理器设计的主流模式了。

计算机体系结构的铁律(iron law)的更多相关文章

  1. 高效能人士必知铁律--note

    偶然看到了<高效能人士 必知铁律>这本书,我比较少看成功学,但是这本书把很多著名的成功学书籍整理出来,有时会让你耳目一新,有些观点尽管是常识,但是却加深了你对它们的理解,比如: 只要在积极 ...

  2. 转载 SQL Server中索引管理之六大铁律

    转载原地址 http://jingyan.baidu.com/article/48a42057c03bd7a924250429.html 索引是以表列为基础的数据库对象.索引中保存着表中排序的索引列, ...

  3. MySQL单表数据不超过500万:是经验数值,还是黄金铁律?

    今天,探讨一个有趣的话题:MySQL 单表数据达到多少时才需要考虑分库分表?有人说 2000 万行,也有人说 500 万行.那么,你觉得这个数值多少才合适呢? 曾经在中国互联网技术圈广为流传着这么一个 ...

  4. MySQL单表数据不要超过500万行:是经验数值,还是黄金铁律?

    本文阅读时间大约3分钟. 梁桂钊 | 作者 今天,探讨一个有趣的话题:MySQL 单表数据达到多少时才需要考虑分库分表?有人说 2000 万行,也有人说 500 万行.那么,你觉得这个数值多少才合适呢 ...

  5. 计算机体系结构总结_Pipeline

    Textbook:<计算机组成与设计——硬件/软件接口>  HI<计算机体系结构——量化研究方法>          QR 在前面一节里我们有了一块简单的RISC CPU,包括 ...

  6. SQL Server索引管理之六大铁律

    索引是以表列为基础的数据库对象.索引中保存着表中排序的索引列,并且纪录了索引列在数据库表中的物理存储位置,实现了表中数据的逻辑排序.通过索引,可以加快数据的查询速度和减少系统的响应时间;可以使表和表之 ...

  7. 计算机体系结构——CH5 标量处理机

    计算机体系结构--CH5 标量处理机 右键点击查看图像,查看清晰图像 X-mind 计算机体系结构--CH5 标量处理机 先行控制技术 指令得重叠执行方式 顺序执行方式 一次重叠执行方式 二次重叠技术 ...

  8. 计算机体系结构——CH4 输入输出系统

    计算机体系结构--CH4 输入输出系统 右键点击查看图像,查看清晰图像 X-mind 计算机体系结构--CH4 输入输出系统 输入输出原理 特点 实时性 与设备无关性 异步性 输入输出系统的组织方式 ...

  9. 计算机体系结构——CH3存储系统

    计算机体系结构--CH3存储系统 右键点击查看图像,查看清晰图像 X-mind 计算机体系结构--CH3存储系统 存储系统原理 主要性能 速度 容量 价格 两种存储系统 Cache与主存储器 虚拟存储 ...

随机推荐

  1. git命令使用(二)

    上次写的git命令,基本上能够支持一个项目的基本运行了,但是git不是就那几个命令还有一些其他的命令,来看一下 创建一个文件夹,想在这个文件夹下创建项目,就执行这个命令就行 $ git init 里面 ...

  2. CF550 DIV3

    A - Diverse Strings CodeForces - 1144A A string is called diverse if it contains consecutive (adjace ...

  3. C#对象初始化的探讨

    最近在弄MQ的性能监测数据埋点,无疑中用到一个Nstatsd的客户端,看到里面写过里面一种嵌套类的写法.代码如下: 客户端Client是一个密封的类,并且构造函数私有访问.然后又用一个嵌套类Curre ...

  4. MySQL安装示例数据库

    MySQL安装示例数据库 本文档演示如何下载及安装MySQL示例数据库sakila及employees数据库 1. 安装sakila数据库 1.1 下载sakila数据库 wget http://do ...

  5. python 02 8/21-8/23

    计算机由硬件系统和软件系统组成,硬件系统分为由CPU(运算器+控制器)+内存储器(电信号)组成的主机部分,由输入设备+输出设备+外存储器(硬盘(磁信号).U盘)组成的外设部分.软件系统由系统软件和应用 ...

  6. Django reverse函数

    1.总urls.py内容如下: from django.contrib import admin from django.urls import path from django.conf.urls ...

  7. C语言学习12

    希尔排序 //希尔排序 #include <stdio.h> void main() { ], i; int shell(int a[], int n); printf("请输入 ...

  8. 【BZOJ 2462】矩阵模板 (二维哈希)

    题目 给定一个M行N列的01矩阵,以及Q个A行B列的01矩阵,你需要求出这Q个矩阵哪些在 原矩阵中出现过. 所谓01矩阵,就是矩阵中所有元素不是0就是1. 输入 输入文件的第一行为M.N.A.B,参见 ...

  9. 在Ubuntu 16.04 LTS上用g++和gcc编译C/C++代码错误提示“.../x86_64-linux-gnu/crt1.o: ELF section name out of range”

    (有一些图片我是直接从个人的CSDN博客上复制来的) 最近一个多月来,我曾经多次尝试在Ubuntu 16.04 LTS上使用g++和gcc(这俩好像合起来叫MinGW?)来编译C/C++代码,但是在解 ...

  10. 零、常用的Mysql数据库操作语句大全

    零.用户管理: 1.新建用户: >CREATE USER name IDENTIFIED BY 'ssapdrow'; 2.更改密码: >SET PASSWORD FOR name=PAS ...