计算机系统层次结构

  • 计算机系统 = 硬件 + 软件
  • 软件和硬件在逻辑功能上是等价的
  • 冯·洛伊曼计算机以运算器为中心
  • 现代计算机一般以存储器为中心
  • CPU 和主存构成了主机
  • MAR 与 MDR 虽然是存储器的一部分,但在现代计算机中却是存在于 CPU 中

翻译程序

  • 编译程序:将高级语言源程序翻译成汇编语言或机器语言(目标代码文件)

看起来可以一次性翻译为机器语言,但事实上仍然依赖于汇编器

  • 汇编程序:将汇编程序转换成机器语言
  • 解释程序:逐行读取和执行高级语言代码,不生成目标代码文件

计算机的性能指标

s>ms>μs>ns>pss>ms>\mu s>ns>ps

K>M>G>T>P>E>ZK>M>G>T>P>E>Z

  • CPI:执行一条指令所需要的时钟周期数
  • IPS:每秒执行指令的数量
  • FLOPS:每秒执行浮点运算的次数
  • 数据通路带宽:外部数据总线一次能并行传送信息的位数,非CPU内部数据总线宽度
名称 定义
机器字长 计算机一次运算所能处理的二进制数据位数
存储字长 主存中一个存储单元的数据位数
指令字长 一条机器指令的总位数
  • 通常机器字长 = 存储字长,这样CPU处理和内存存储可以一一匹配,不浪费
  • 指令字长可以等于、小于或大于机器字长,因为一条指令除了操作码,还可能带多个操作数地址,需要更多位数,但必须都是字节的整数倍

eg. x86是变长指令,最短1字节,最长15字节

习题

  • CPU执行时间 = 指令条数 * CPI * 时钟周期长度
  • 指令寄存器IR对用户完全透明,状态寄存器、通用寄存器对用户不透明

汇编程序员可以通过JMP指令来设置PC的值。状态寄存器、通用寄存器只有为汇编程序员可见,才能编程,而IR MAR MDR是CPU内部的工作寄存器,对程序员不可见

  • 时钟频率不会影响CPI,但可影响指令执行速度
  • 吞吐率指系统在单位时间内处理请求的数量,是评价计算机系统性能的综合指标
  • 采用并行处理技术是设计高性能计算机的重要途径
  • 字长也是评价计算机性能的指标
  • 字长与运算精确度密切相关

机器字长越长,数据的位数越多,定点数或浮点数所表示及运算的精度就越高

  • IPS=ClockSpeed÷AverageCPIIPS = Clock Speed \div Average\,CPI