计算机系统的基本组成

一个完整的计算机系统由软件硬件组成

冯.诺依曼结构的基本思想

  • 采用"存储程序"的工作方式
  • 计算机由运算器, 控制器, 存储器, 输入设备和输出设备 5 个基本部件组成

现代计算机结构

Computer Structure

  • 中央处理器
    • 数据通路
      • 算术逻辑单元(ALU)
      • 通用寄存器组
    • 控制器
  • 存储器
  • 外部设备和设备控制器
  • 总线

计算机系统层次结构

包含:

  • 算法和程序
  • 编程语言
  • 语言处理系统
  • 操作系统
  • 指令集体系结构
  • 微体系结构

编程语言

  • 高级语言
  • 低级语言
  • 机器级语言
    • 机器语言(计算机唯一能直接识别和执行的语言)
    • 汇编语言

翻译程序

  • 汇编程序(汇编语言 -> 机器语言)
  • 解释程序(高级语言 –逐条–> 机器语言)
  • 编译程序(高级语言 –整体–> 机器语言)

程序开发与执行过程

从源程序到可执行程序

Program Flow

  1. 预处理阶段: 预处理器 (cpp) 处理源文件中以 # 开头的预处理指令, 生成预处理后的 C 文件 hello.i
  2. 编译阶段: 编译器 (ccl) 将 hello.i 翻译为汇编程序 hello.s
  3. 汇编阶段: 汇编器 (as) 将 hello.s 转化为机器语言指令, 生成可重定位目标文件 hello.o
  4. 链接程序: 连接器 (ld) 将 hello.o 与标准 C 库中所需的函数 (例如 printf) 进行链接, 解析外部符号引用, 最终生成完整的可执行文件 hello, 并保存至磁盘

计算机主要性能指标

  1. 基本基本
  • 吞吐率 : 在单位时间内所完成的工作量
  • 响应时间 : 指从作业提交开始到作业完成所用的时间
  • 时钟周期 : 机器内部主时钟脉冲的宽度
  • 时钟频率 : 机器内部主时钟的频率, 即时钟周期的倒数
  • CPI: 执行一条指令所需的时钟周期数
  • MIPS: 每秒执行多少百万条指令
  1. 计算能力相关指标
  • MFLOPS : 百万次浮点运算/秒
  • GFLOPS : 十亿次浮点运算/秒
  • TFLOPS : 万亿次浮点运算/秒
  • PFLOPS : 千万亿次浮点运算/秒
  • EFLOPS : 百亿亿次浮点运算/秒
  • ZFLOPS : 十万亿亿次浮点运算/秒

1s = 1000 ms = 1000000 μs = 1000000000 ns

  1. 其他指标
  • IPS : 每秒执行多少条指令
  • IPC : 每个时钟周期运行多少条指令
  • 平均指令周期 : CPU执行一条指令平均需要的时间