参考书:

1. John L. Hennessy, David A. Patterson. Computer Architecture: A Quantitative Approach, 3ed. 机械工业出版社. 2005

2. David A. Patterson, John L. Hennessy. Computer Organization and Design: The Hardware/Software Interface.. 3ed.  Elsevier. 2005

3. Douglas E. Comer. Network Systems Design, Using Network Processors. 电子工业出版社. 2004

<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

Chapter 1: Fundamentals of Computer Design

1, Benchmark Suites

Desktop Benchmarks: SPEC CPU 2000(www.spec.org), Business Winstone, CC Winstone, Winbench

Server Benchmarks: TPC(www.tpc.org)

Embedded Benchmarks: EEMBC (www.eembc.org)

Comparing and Summarizing Performance: arithmetic mean; weighted arithmetic mean; geometric mean;

2, Amdahl's law

"Overall system speed is governed by the slowest component." By Gene Amdahl, chief architect of IBM's first mainframe series and founder of Amdahl Corporation and other companies. Amdahl's law applied to networking. The slowest device in the network will determine the maximum speed of the network.

Amdahl's law, named after computer architect Gene Amdahl, is used to find out the maximum expected improvement to an overall system when only a part of the system is improved. Amdahl's law is a demonstration of the law of diminishing returns: while one could speed up part of a computer a hundred-fold or more, if the improvement only affects 12% of the overall task, the best the speedup could possibly be is 1/(1-0.12)=1.136<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />times faster.

More technically, the law is concerned with the speedup achievable from an improvement to a computation that affects a proportion P of that computation where the improvement has a speedup of S. For example, if an improvement can speedup 30% of the computation, P will be 0.3; if the improvement makes the portion affected twice as fast, S will be 2. Amdahl's law states that the overall speedup of applying the improvement will be

1/((1-P)+P/S).

To see how this formula was derived, assume that the running time of the old computation was 1, for some unit of time. The running time of the new computation will be the length of time the unimproved fraction takes (which is 1 − P) plus the length of time the improved fraction takes. The length of time for the improved part of the computation is the length of the improved part's former running time divided by the speedup, making the length of time of the improved part P/S. The final speedup is computed by dividing the old running time by the new running time, which is what the above formula does.

In the special case of parallelization, Amdahl's law states that if F is the fraction of a calculation that is sequential (i.e. cannot benefit from parallelisation), and (1 − F) is the fraction that can be parallelised, then the maximum speedup that can be achieved by using N processors is

1/(F+(1+F)/N).

In the limit, as N tends to infinity, the maximum speedup tends to 1/F. In practice, price/performance ratio falls rapidly as N is increased once (1 − F)/N is small compared to F.

As an example, if F is only 10%, the problem can be sped up by only a maximum of a factor of 10, no matter how large the value of N used. For this reason, parallel computing is only useful for either small numbers of processors, or problems with very low values of F: so-called embarrassingly parallel problems. A great part of the craft of parallel programming consists of attempting to reduce F to the smallest possible value.

3, CPU time, IC and IPC

CPU time=CPU clock cycles for a program × Clock cycle time= CPU clock cycles for a program/Clock rate

IC (instruction count)

CPI(clock cycles per instruction)= CPU clock cycles for a program/ instruction count

4, Principles of Locality

Principles of Locality: Programs tend to reuse data and instructions they have used recently. A widely held rule of thumb is that a program spends 90% of its execution time in only 10% of the code.

Temporal locality and spatial locality

5, Others

Hand-codes assembly is almost 10 times faster than compiler-generated high level language performance.

Peak performance is almost 10 times faster than observed performance.

Tuning parameters can affect results in a benchmark test

Computer architecture is a kind of art

体系结构笔记(1)Fundamentals of Computer Design相关推荐

  1. 计算机图形学基础:光栅图像(Fundamentals of computer graphic:Raster Images) 学习笔记

    <Fundamentals of computer graphics>4th edition: 3. Raster Images 本文仅仅是本人的学习笔记,由于自己能力有限,可能存在许多错 ...

  2. 【虎书】Fundamentals of Computer Graphics(Fourth Edition)第二章习题解答

    [虎书]Fundamentals of Computer Graphics(Fourth Edition)第二章章末习题解答 Exercises Exercise 1: Cardinality of ...

  3. 路由设计技术基础(Fundamentals of routing design technology)

    路由设计技术基础(Fundamentals of routing design technology) UDP(User Datagram Protocol) FUNCTION TCP(Transmi ...

  4. 体系结构笔记------动态调度中的记分板算法

    体系结构笔记------动态调度中的记分板算法 动态调度 流水线划分 相关冲突 结构冲突 数据冲突 记分板控制 流出 读数 执行 写回 具体算法 大致流程 局限 动态调度 在程序执行的过程中,由硬件来 ...

  5. 读 Steve Marschner 之 Fundamentals of Computer Graphics

    Steve Marschner, Peter Shirley. Fundamentals of Computer Graphics. ISBN: 978-1-4822-2941-7. 看书名就知道,这 ...

  6. TI mmWave radar sensors Tutorial 笔记 | Module 4 : Some System Design Topics

    本系列为TI(Texas Instruments) mmWave radar sensors 系列视频公开课 的学习笔记. 视频网址: https://training.ti.com/intro-mm ...

  7. 四川大学软件学院计算机组成与体系结构笔记

    文章目录 第 1 章 第 4 章 CPU 基本知识和组织结构 ALU 控制单元 总线 时钟 存储器的组成和寻址方式 中断 MARIE 编译程序 基本概念 第 5 章 指令格式(Instruction ...

  8. Computer Design and Architecture Revised and Expanded

    版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章原始出版.作者信息和本声明.否则将追究法律责任. http://blog.csdn.net/topmvp - topmvp This un ...

  9. EDA实验课课程笔记(七)——DC(Design Compiler)的简介及其图像化使用(一)

    本博文用于记录DC的基本知识及一些相关的最基本概念.然后配合演示视频,对DC有一个最初步的认识.参考学校老师的PPT讲解,以及实验指导书中的内容. Design Compiler的简介及其图像化使用 ...

最新文章

  1. linux 配置 java 环境变量
  2. php动态生成apk渠道包,Android自动生成渠道包
  3. 将Teams Template升级到dotnet core 3.1
  4. iOS 钥匙串的基本使用
  5. OpenCV中cvResize函数图象放缩
  6. 【原创】大叔经验分享(6)Oozie如何查看提交到Yarn上的任务日志
  7. JDK API下载
  8. 58同城峰会落幕 智能化平台和下沉市场能让继续神奇吗?
  9. 氧化三甲胺及相关代谢物检测
  10. 外贸常用术语_外贸常用术语总结.doc
  11. 服务都微了,编排怎么整?
  12. 十款开发者常用的Chrome插件,让chrome成为开发利器!
  13. 【C++】用代码写一个气派的圣诞树发给身边的亲朋好友
  14. 计算机网络知识整理-计算机网络概述(计算机网络入门参考指南)
  15. 一个软件项目的组成成员及分工
  16. IDEA终于支持云端了,可同步所有配置和插件,一招搞定,重装不愁~
  17. CSS-使用background实现四个角边框
  18. 该死!GitHub上这些C++项目真香
  19. 题目 1205: 字符串的修改
  20. Kong Api Gateway

热门文章

  1. 自由职业者:5步拿下新项目
  2. 依次从数组a中取出一个四位数,如果该四位数连续大于该四位数以后的5个数,且该数是奇数,则把这个四位数按从小到大的顺序存入数组b中,并计算满足上述条件的四位数的个数cnt。
  3. Golang heap源码简单走读
  4. 算法题存档20190127
  5. Dubbo消费者代理的调用
  6. 使用this调用已有的有参构造函数_JavaScript 中的 this 的几种使用场景
  7. ASP.NET Web 页面生命历程中的一天
  8. Nacos内核设计之一致性协议
  9. 各种锁的介绍、锁之间的区别
  10. 关于计算机游戏的英语读法,关于电脑游戏的英语作文