计组(risv-c)第一章

dreamc-top / 2023-05-10 / 原文

第一章

     

第一章

   

1.1 引言

2.如前所述,软件和硬件都会影响程序的性能。 请思考以下哪个例子属于性能瓶颈。

  • ·所选算法
  • ·编程语言或编译器
  • ·操作系统
  • ·处理器
  • · I/O系统和设备

    :

       

    性能瓶颈指的是影响程序性能的最大限制因素,也就是整个系统中影响程序运行速度最慢的因素。 在给出的选项中,可能出现性能瓶颈的因素有所选算法、处理器、I/O系统和设备。 具体来说:

  • 所选算法:如果所选算法的时间复杂度比较高,程序需要执行大量的计算,这会导致程序的性能受到限制。 在这种情况下,算法就成了性能瓶颈。
  • 处理器:如果程序需要执行大量的计算或者需要处理大量的数据,而处理器的计算能力不足,这会导致程序的性能受到限制。 在这种情况下,处理器就成了性能瓶颈。
  • I/O系统和设备:如果程序需要大量的输入输出操作,而I/O系统和设备的速度无法满足程序的需求,这会导致程序的性能受到限制。 在这种情况下,I/O系统和设备就成了性能瓶颈。

    编程语言或编译器、操作系统也可能影响程序的性能,但通常情况下它们的影响并不是性能瓶颈。

       

   

1.2 计算机体系结构中的8个伟大思想

  1. 面向摩尔定律的设计
  2. 使用抽象简化设计
  3. 加速经常性事件
  4. 通过并行提高性能
  5. 通过流水线提高性能
  6. 通过预测提高性能
  7. 存储层次
  8. 通过冗余提高可靠性

   

1.3 程序表象之下

   

1.4 箱盖后的硬件

   

1.5 处理器和存储制造技术

   

1.6 性能

1.6.1 性能的定义

对于PC用户:响应时间

对于服务器用户:吞吐率

讨论性能时,本书前几章主要考虑响应时间。

   

1.6.2 性能的度量

CPU执行时间:

只表示在CPU上花费的时间,而不包括等待I/O或运行其他程序的时间。(需要注意的是,用户所感受到的是程序的运行时间,而不是CPU时间。)CPU时间还可进一步分为用户程序的时间和操作系统为用户程序执行相关任务所花去的CPU时间。前者称为用户CPU时间(user CPU time),后者称为系统CPU时间(system CPU time)。要精确区分这两种CPU时间是困难的,因为通常难以为用于用户程序的时间。

1.6.3 CPU性能及其度量因素

1.6.4 指令性能