概论

本文最后更新于:2020年12月16日 晚上

概论

1. 结构和组织

  • 计算机结构:对程序员可见的系统属性,这些属性直接决定了程序的逻辑执行
    • 指令集、数据类型、输入输出机制、寻址技术
  • 计算机组成:实现结构规范的操作单元及其互连
    • 硬件细节,如控制信号、计算机和外设的接口以及存储器使用的技术

2. 冯诺伊曼机

  • 组成部分:
    • 存储器:地址和存储的内容
    • 处理单元:执行信息的实际处理
    • 控制单元:指挥信息的处理
    • 输入设备:将信息送入计算机中
    • 输出设备:将处理结果以某种形式显示在计算机外

冯诺依曼机结构图

  • 重要思想:存储程序,及把数中据和程序存储到计算机中

3. 摩尔定律

  • 内容:单芯片上包含的晶体管数量每年/18个月翻一番
  • 影响:
    • 因为单片芯片的价格不变而导致芯片的逻辑电路和存储器电路成本显著下降
    • 更小的体积使得更容易放置在各种环境中
    • 更短的电路提高了芯片的工作速度
    • 减少了电能的消耗和冷却的要求
    • 集成电路上的连接比焊接更加可靠,由于芯片电路的增加,减少了芯片之间的连接。

data process

4. 计算机性能

  • 重要参数:外观、价格、大小、安全性、稳定性、续航
  • 用来评估的一些标准:
    • CPU: speed
    • Memory:capacity、speed
    • I/O:capacity、speed

main goal/driver: increase of CPU speed

5. CPU性能

  • 系统时钟:

    • 时钟频率/时钟速度:一秒钟内计算运转的周期数
    • clock cycle/clock tick:单次CPU的脉冲/时钟称为一个时钟周期/时钟滴答声
    • 周期时间:两次脉冲间的时间
    • 处理器的速度由时钟产生的脉冲频率来指示,用每秒周期数/赫兹数测量
  • 指令执行速度:

    • 处理器由时钟驱动,时钟固定频率为$f$或等价为固定时钟周期$t$, $t = 1/ f$
    • $I_{c}$: 一个程序的指令条数
    • $CPI(average cycle per instruction)$:每条指令的平均周期数
    • $CPI_{i}$: $i$类型执行所需周期数;$I_{i}$:某一给定程序中所执行的$i$类型指令的条数
    • CPI
    • 处理器执行完一个给定的程序所需的时间$T = I_{c} * CPI * t$
    • T
    • MIPS
    • $R_{i}$时第i个程序高级语言指令执行的速度
    • 平均结果
  • 基本来说,用户更加关心系统的执行时间,而非它的执行速度。如果我们获得了各种测试程序的指令执行速度的算术平均值,那么我们就一定能得到一个与执行时间倒数之和成正比的结果,但这不与执行时间之和成反比。

  • 指令执行速度的算术平均值并不能准确地刻画执行时间;另一方面,指令执行速度的调和平均值是平均执行时间的倒数

  • 阿姆达尔定律:

    • 考虑系统性能,人们会通过改变技术/设计来提高性能,如并行处理器、cache的使用、高速I/O访问等。

    • 但之加速技术/设计的一个方面并不能很好的提高性能的相应改善。

    • 一个程序在多处理器上运行与单处理器上运行的加速比:

      假设一个程序有$f$可以无限并行,无调度负载;$(1-f)$只能串行;$T_{sin}$:单个处理器上运行的时间;$T_{n}$:n个处理器系统上运行的时间;则

      $speedup = T_{sin} / T_{n} = [T(1-f) + Tf] / [T(1-f) + Tf/ n] = 1 / [1-f + f / n]$

      1. f非常小,使用并行处理器有一些影响
      2. n的增大,加速比被限制