第一章:计算机组成原理概论

一、计算机发展历程

代数主要元件特点
第一代电子管占用空间大、耗电多、可靠性差、价格昂贵
第二代晶体管占用空间小、耗电少、可靠性高、价格相对较低
第三代中小规模集成电路进一步缩小体积、降低功耗、提高可靠性、增加计算速度
第四代超大规模集成电路集成度更高、计算速度更快、功耗更低、价格更加亲民

以上表格简要介绍了计算机的发展历程,从第一代到第四代,计算机的主要元件从电子管发展到超大规模集成电路,体积越来越小,计算速度越来越快,功耗越来越低,价格越来越亲民。

二、计算机系统层次结构

1. 计算机系统组成

  • 硬件系统和软件系统共同组成了一个计算机系统

2. 计算机硬件

(1)冯诺依曼计算机

  • 采用“存储程序”工作方式:程序事先存入主存,然后程序的指令按规定顺序执行
  • 计算机由5部分组成:运算器、存储器、控制器、输入设备、输出设备- 指令和数据执行前都存放在内存中,CPU根据指令周期的不同阶段区分它们(2009)
  • 指令和数据均用二进制代码表示(2019)
  • 指令顺序存放,通常顺序执行(也可跳跃)
  • 早期以运算器为中心,现代计算机以存储器为中心

(2)计算机的功能部件

图示 image

①输入设备

  • 键盘、鼠标、扫描仪、摄像机

②输出设备

  • 显示器、打印机

③存储器

  • 存储系统结构

    • 寄存器–高速缓存(cache)–主存–外存(存取速度越来越慢)
  • 工作方式

    • 按地址存取
      • 绝大部分存储器都是如此
    • 按内容存取
      • 相联存储器
  • 重要寄存器

    • MAR(存储器地址寄存器)=地址码长度,能用于计算存储器的容量(2016)
    • MDR(存储器数据寄存器)=存储字长
  • 基本概念

概念定义
存储元件最基本最小的元件,存储一位二进制0或1
存储单元由若干个存储元件构成
存储字长一个存储单元包含的二进制的位数

④运算器

  • 功能
    • 进行算术运算(加减乘除等)和逻辑运算(与或非、异或、比较、移位等)
  • 组成
    • 算术逻辑单元(ALU)
    • 通用寄存器
      • 累加器(ACC)、乘商寄存器(MQ)、操作数寄存器(X)、基址寄存器、变址寄存器
    • 标志寄存器(PSW)

⑤控制器

  • 程序计数器(PC)
    • 存放当前欲执行指令的地址,能自动“+1”从而指向下一条指令的地址
  • 指令寄存器(IR)
    • 存放当前执行的指令
  • 控制单元(CU)

3. 计算机软件

(1)系统软件和应用软件

类别软件名称
系统软件数据库管理系统、编译器、汇编程序、编译程序、连接程序
应用软件数据库系统、文本编辑、驱动程序

(2)三个级别的语言

语言类型描述
机器语言二进制代码,计算机唯一可以识别和执行的语言(2015)
汇编语言用英文单词或缩写组成,便于人们理解记忆
高级语言如C、C++、Java等。可以编译、汇编后得到机器语言程序,也可直接编译为机器语言程序
翻译程序类型描述
编译程序把高级语言源程序翻译为汇编语言或机器语言目标程序(2016)
一次全部,较快,能够生成目标程序
汇编程序把汇编语言翻译成机器语言目标程序
解释程序把源程序按执行次序逐条翻译成机器指令并立即执行
一次一句,较慢,不能生成目标程序

(3)软件和硬件在逻辑功能上是等价的

4. 计算机工作过程

  • 从源程序到可执行文件
阶段描述
预处理对以#开头的命令进行处理,如宏定义等,生成预处理后的源文件(.i)
编译生成汇编语言源程序(.s)
汇编把机器语言指令打包成为一个可重定位目标文件(.o)
链接把多个可重定位目标文件和标准库函数合并成一个可执行目标文件(.o)
  • 指令执行过程
    • 取指令、分析指令、执行指令(后面章节会细讲)

5. 多级层次结构

  • 高级语言机器–汇编语言机器–操作系统机器–用机器语言的机器–微指令系统

三、计算机的性能指标

1. 性能指标

(1)机器字长

概念定义
机器字长CPU一次执行多少位数,等于ALU、内部寄存器的存储字长、通用寄存器长度、等于数据总线宽度(2020)
指令字长指令的长度,指令字长为存储字长的整数倍且等于MAR长度
存储字长一个存储单元的长度

(2)数据通路带宽

  • 数据总线一次所能并行传送信息的位数

(3)主存容量

  • 注意:1K=1024、1B=8bit、2^16=65536

(4)运算速度

①吞吐量

  • 单位时间内处理请求的数量

②响应时间

  • 用户发出请求到获得结果所需的时间

③CPU时钟周期

image

概念定义
时钟周期CPU中最小的时间单位,等于主频的倒数
机器周期(CPU周期)完成一条指令中一个基本操作所需要的时间
指令周期取出一条指令并执行完成的时间

④主频

  • 机器内部主时钟的频率(2013、2014)

⑤CPI

  • 执行一条指令所需的平均时钟周期数(2013、2014)

⑥MIPS

  • 每秒执行多少百万条指令,等于主频/(CPI*10^6)(2013、2014)

⑦每秒浮点运算次数(xFLOPS)

  • M(10^6)、G(10^9)、T(10^12)、P(10^15)、E(10^18)、Z(10^21)(2011、2021、2022)

(5)基准程序

  • 在不同的机器上运行相同的基准程序,从而评测机器的性能(2012、2017)

2. 重要术语

术语定义
系列机体系结构与指令系统相同而型号不同的一系列计算机
兼容软件或硬件的通用性
软件可移植性把软件一直到同系列计算机上
固件把程序固化在ROM中所组成的固件

四、习题

  1. 地址译码器
  • 位于存储器中,能够通过输入的地址找到相应的存储单元
  1. 操作系统原语
  • 原语是一段用机器指令编写的完成特定功能的程序,在执行过程中不允许中断。
  1. 寄存器由触发器构成

  2. xFLOPS是评估科学计算的计算机性能最有效的参数

  3. 浮点寄存器

  • 不是CPU的一部分,而是浮点处理单元的一部分,决定计算机的计算精度 当前设计高性能计算机的重要途径是采用并行处理技术
  1. 透明
类别寄存器名称
不透明PC(程序计数器)
PSW(程序状态字寄存器)
通用寄存器组
基址寄存器(2020、2021)
透明剩余的其他寄存器