# 第一章 计算机系统概论

# 1.1 计算机的分类

# 电子模拟计算机

特点:数值由连续量来表示,运算过程也是连续的

# 电子数字计算机

特点:按位运算,并且不连续地跳动计算。
电子模拟计算机精度和解题能力有限,应用范围较小,习惯上所称的电子计算机,一般是指现在广泛应用的电子数字计算机。又分为专用计算机和通用计算机,

  • 专用计算机是最有效、最经济和最快速的计算机,但其适应性很差。
  • 通用计算机牺牲了效率、速度和经济性,但其适应性很大。

# 1.2 计算机发展简史 (重点)

代数使用器件时间
第一代电子管计算机1946-1957 年
第二代晶体管计算机1958-1964 年
第三代中小规模集成电路计算机1965-1971 年
第四代大规模和超大规模集成电路计算机1972-1990 年
第五代巨大规模集成电路计算机1991 年至今

自 1946 年计算机诞生至今,大约每五年运算速度提高 10 倍,可靠性提高 10 倍,体积缩小 10 倍。

# 摩尔定律

1965 年,戈登・摩尔(原 Intel 董事长)提出。

晶体管表面积(即刻在集成电路板上的面积)每 18 个月就会缩小大约 50%。换言之,微处理器的性能每隔 18 个月提高一倍,而价格下降一半

# 1.3 计算机的性能指标

# 吞吐量

  • 表示一台计算机在某一时间间隔内能够处理的信息量,单位是字节 / 秒(B/S)

# 响应时间

  • 表征从输入有效到系统产生响应之间的时间度量,用时间单位来度量,例如微秒(10-6s)、纳秒(10-9s)。

# 利用率

  • 表示在给定的时间间隔内,系统被实际使用的时间所占的比率,一般用百分比表示。

# 处理机字长

  • 指处理机运算器中一次能够完成二进制数运算的位数。当前处理机的字长有 8 位、16 位、32 位、64 位。字长越长,表示计算的精度越高。

# 总线宽度

  • 一般指 CPU 中运算器与存储器之间进行互连的内部总线二进制位数

# 存储器容量

  • 存储器中所有存储单元的总数目,通常用 KB、MB、GB、TB 来表示。
  • 其中 1K=210B,1M=220B,1G=230B,1T=240B,1B=8bit(1 个字节)。存储器容量越大,记忆的二进制数越多。

# 存储器带宽

  • 存储器的速度指标,单位时间内从存储器读出的二进制数信息量,一般用字节数 / 秒表示。

# 主频 / 时钟周期

  • CPU 的工作节拍受主时钟控制,主时钟不断产生固定频率的时钟,主时钟的频率(f)叫 CPU 的主频。
  • 度量单位是 MHz(兆赫兹)、GHz(吉赫兹)。 例如 Pentium 系列机为 60MHz~266MHz,而 Pentium 4 升至 3.6GHz。
  • 主频的倒数称为 CPU 时钟周期(T),即 T=1/f,度量单位是微秒、纳秒。

# CPU 执行时间

  • 表示 CPU 执行一段程序所占用的 CPU 时间,可用下式计算:

CPU执行时间=CPU时钟周期数×CPU时钟周期长CPU执行时间 = CPU时钟周期数 × CPU时钟周期长

# CPI

  • 表示每条指令周期数,即执行一条指令所需的平均时钟周期数。用下式计算
  • CPI=执行某段程序所需的CPU时钟周期数该程序包含的指令条数CPI= \frac{执行某段程序所需的CPU时钟周期数}{该程序包含的指令条数}

# MIPS

  • 表示每秒百万条指令数,用下式计算

MIPS=指令条数程序执行时间×106=时钟频率CPI×106MIPS = \frac{指令条数}{程序执行时间\times10^6} = \frac{时钟频率}{CPI\times10^6}

  • MIPS 是单位时间内的执行指令数,所以 MIPS 值越高,说明机器速度越快
    程序执行时间 Te 为:

Te=指令条数MIPS×106Te= \frac{指令条数}{MIPS×10^6}

# MFLOPS / TFLOPS

  • MFLOPS 表示每秒百万次浮点操作次数,用下式计算

MFLOPS=程序中的浮点操作次数程序执行时间×106MFLOPS= \frac{程序中的浮点操作次数}{程序执行时间\times10^6}

  • MFLOPS 是基于操作而非指令的,只能用来衡量机器浮点操作的性能,而不能体现机器的整体性能。TFLOPS 表示每秒万亿次浮点操作次数,该技术指标一般在超级计算机中使用。

# 1.4 冯・诺依曼体系结构(重点)

冯・诺依曼计算机基本设计思想:存储程序程序控制
拥有以下特点

  1. 运算器存储器控制器输入设备输出设备五大部件组成计算机系统,并规定了这五部分的基本功能。
  2. 采用存储程序的方式,程序和数据放在同一个存储器中(哈佛结构放在不同存储器中),指令和数据都可以送到运算器运算,即由指令组成的程序是可以修改的。
  3. 数据以二进制数码表示。
  4. 指令由操作码地址码组成。
  5. 指令在存储器中按顺序存放,由指令计数器(PC) 指明要执行的指令所在单元地址,一般按顺序递增,但可按运算结果或外界条件改变。
  6. 机器以运算器为中心,I/O 设备与存储器间数据传送都通过运算器。

# 1.5 计算机系统的层次结构

计算机不能简单地认为是一种电子设备,而是一个十分复杂的硬、软件结合而成的整体。它通常由五个以上不同的级组成,每一级都能进行程序设计。在这里插入图片描述

# 层次结构的特点

  • 每一级上都能进行程序设计,且得到下面各级的支持
  • 第 1 级~第 3 级所用语言基本为二进制语言机器执行和解释容易
  • 第 4 级、第 5 级采用符号语言, 有利于不了解硬件的人使用计算机
  • 级数越低越靠近硬件,级数越高使用计算机越方便

# 第 1 级 微程序设计级

第 1 级是微程序设计级。这是一个实在的硬件级,它由机器硬件直接执行微指令。如果某一个应用程序直接用微指令来编写,那么可在这一级上运行应用程序。

# 第 2 级 一般机器级

第 2 级是一般机器级,也称为机器语言级,它由微程序解释机器指令系统。这一级也是硬件级。

# 第 3 级 操作系统级

第 3 级是操作系统级,它由操作系统程序实现。这些操作系统由机器指令和广叉指令组成,广义指令是操作系统定义和解释的软件指令,所以这一级也称为混合级

# 第 4 级 汇编语言级

第 4 级是汇编语言级,它给程序人员提供一种符号形式语言,以减少程序编写的复杂性。这一级由汇编程序支持和执行。如果应用程序采用汇编语言编写时,则机器必须要有这一级的功能;如果应用程序不采用汇编语言编写,则这一级可以不要。

# 第 5 级 高级语言级

第 5 级是高级语言级,它是面向用户的,为方便用户编写应用程序而设置的。这一级由各种高级语言编译程序支持和执行。