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

从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. windows图标变空白解决方案

    背景 对磁盘软件路径进行规整,把磁盘不同类型软件进行分类存储后,部分软件在windows桌面为空白,有些在start menu不为空白但是发送至桌面后却变成空白 解决方法 工具:search ever ...

  2. 条款12:复制对象时勿忘其每一个成分(Copy all parts of an object)

    NOTE: 1.Copying 函数应该确保复制“对象内的所有成员变量”及“所有base class成分”. 2.不要尝试以某个copying函数实现另一个copying函数.应该将共同机能放进第三个 ...

  3. 【UVA 1636】 (条件概率)

    题链:https://cn.vjudge.net/problem/UVA-1636 题意 给出一把枪的子弹序列,已知开了一枪且无子弹,问下一步的决策是旋转,还是开下一枪 题解 已知开一枪没子弹,下一枪 ...

  4. HDU 1087 Super Jumping! Jumping! Jumping! (LIS的最大和)

    题意: 给定n个数的序列, 找出最长上升子序列和. 分析: #include<cstdio> #include<iostream> #include<queue> ...

  5. c和c++如何把一个整数转化为string

    c和c++如何把一个整数转化为string C++: 一.string转int的方式 采用最原始的string, 然后按照十进制的特点进行算术运算得到int,但是这种方式太麻烦,这里不介绍了. 采用标 ...

  6. 解决hibernate产生的id序列或者setXX不能同步到数据库到问题(this.hibernateTemplate.flush();hibernateTemplate.getSessionFactory().getCurrentSession().connection().commit())

    通过WarehouseInventoryPreLog warehouseInventoryPreLog = new WarehouseInventoryPreLog();产生一个id序列 如果不flu ...

  7. Github 多账号配置

    1. 不同账户,生成不同密钥ssh-keygen -t rsa -f github1 -C "xxx@163.com"ssh-keygen -t rsa -f github2 -C ...

  8. 【Codeforces 1108E1】Array and Segments (Easy version)

    [链接] 我是链接,点我呀:) [题意] 题意 [题解] 枚举最大值和最小值在什么地方. 显然,只要包含最小值的区间,都让他减少. 因为就算那个区间包含最大值,也无所谓,因为不会让答案变小. 但是那些 ...

  9. linux进程按启动时间排序命令

    show me the code... ps aux --sort=start_time|grep Full|grep -v grep

  10. BNUOJ 2345 Muddy Fields

    Muddy Fields Time Limit: 1000ms Memory Limit: 65536KB This problem will be judged on PKU. Original I ...