关于我

计算机系统概述

第一章_计算机系统概述

1.1 计算机硬件

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

1.1.1 计算机硬件的基本组成

冯 · 诺依曼为解决早期计算机程序都需要接线员手动进行输入的问题,提出了“存储程序”的概念,提出了经典的冯 · 诺依曼结构(运算器为中心),如图所示: 冯诺依曼结构 而由于随着时代的发展,冯 · 诺依曼结构变得效率不足,因此,提出了现代的计算机结构(存储器为中心),如图所示: 现代的计算机结构

1.1.2 各个硬件的工作原理

存储器: 存储器 运算器: 运算器 控制器: 控制器

通过一个完整的过程来感受各个硬件之间的协同作用,代码和流程图如下所示:

// 全局变量(静态存储区)
int a = 2, b = 3, c = 1, y = 0;

int main() {
    y = a * b + c;  // 核心计算:2*3+1=7
    return 0;
}

流程图

1.2 计算机软件

本小节思维导图如下: 注意解释器、编译器和汇编器的区别。 知识汇总 关于软件与硬件的逻辑等价性,解释如下图所示: 软件与硬件的逻辑等价性

1.3 计算机系统层次结构

计算机系统层次结构如图所示: 计算机系统层次结构

1.4 计算机系统工作原理

计算机系统工作原理如图所示: 计算机系统工作原理

1.5 计算机的性能指标

1.5.1 存储器的性能指标

如图所示: 存储器的性能指标

1.5.2 CPU 的性能指标

如图所示: CPU 的性能指标 CPU 性能(以时间衡量)取决于三个要素:指令条数、CPI 和主频,公式为:

$$ \boxed{\text{CPU执行时间}=\text{指令条数}\times\text{CPI}\times\text{时钟周期}=\frac{\text{指令条数}\times\text{CPI}}{\text{主频}}} $$

1.5.3 其他性能指标

如图所示: 其他性能指标 影响 CPI 的因素(我认为是易错点):

  1. 计算机系统结构
  2. 指令集
  3. 计算机组织(指令执行方式、流水线结构及流水线冲突、Cache 性能、存储器访问速度、分支预测等

注意: 指令条数、CPI 和主频是影响 CPU 执行时间的三个因素;而系统结构、指令集、计算机组织是影响 CPI 的主要因素,两者不要混淆。

用几个问题来熟悉:

  • 主频高的 CPU 一定比主频低的 CPU 快吗? 不一定!如两个 CPU,A 的主频为 2GHz,平均 CPI=10;B 的主频 1GHz,平均 CPI=1。B 的指令执行速度更快。
  • 那加上 A、B 两个 CPU 的平均 CPI 相同,那么 A 一定更快吗? 也不一定!还要看指令系统,如 A 不支持乘法指令,只能用多次加法实现乘法;而 B 支持乘法指令。
  • 基准程序(一组专门用于性能测评的典型程序)执行得越快说明机器性能越好吗? 不一定!基准程序中的语句存在频度差异,硬件或者编译器开发者可能对此进行针对性优化,运行结果不能完全说明问题。

附言

开计算机组成原理了,越学越累…

总是在探索未知