计算机组成原理——第一章计算机系统概论

1.1 计算机系统简介

一、计算机软硬件概念

1.计算机系统

  • 硬件\to计算机实体
    • 主机
    • 外设
    • ……
  • 软件\to由具有各类特殊功能的信息(程序)组成
    • 系统软件\to用来管理整个计算机系统
      • 语言处理程序
      • 操作系统
      • 服务性程序
      • 数据库管理系统
      • 网络软件
      • ……
    • 应用软件\to按任务需要编制成的各种程序

二、计算机系统的层次结构

计算机组成原理——第一章计算机系统概论

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-apGj59Jf-1583478946183)(https://raw.githubusercontent.com/Thooooor/NoteImg/master/image-20200304152829204.png)]

三、计算机体系结构和计算机组成

1. 计算机体系结构

计算机系统的属性,概念性的结构与功能特性\to可见的

  • 指令系统
  • 数据类型
  • 寻址技术
  • I/O机理

2.计算机组成

实现计算机体系结构所体现的属性

  • 具体指令的实现

1.2计算机的基本组成

一、冯·诺依曼计算机的特点

  1. 计算机由五大部件组成

    • 运算器:算术运算+逻辑运算

    • 控制器:指挥控制程序运行

    • 存储器:存放数据程序

    • 输入设备:将信息转换成机器能识别的信息

    • 输出设备:将结果转化为人们熟悉的形式

  2. 指令数据以同等地位存于存储器,可按地址寻访

  3. 指令和数据用二进制表示

  4. 指令由操作码和地址码组成

  5. 存储程序

  6. 运算器为中心

冯·诺依曼计算机硬件框图

计算机组成原理——第一章计算机系统概论

二.计算机硬件框图

  1. 以存储器为中心的计算机硬件框图

    计算机组成原理——第一章计算机系统概论
  2. 现代计算机硬件框图
    计算机组成原理——第一章计算机系统概论

计算机组成原理——第一章计算机系统概论

三.计算机的工作步骤

1.上机前的准备

  1. 建立数学模型
  2. 确定计算方法
  3. 编制解题程序
    • 程序——运算的全部步骤
    • 指令——每一个步骤

指令格式:操作码+地址码

2.计算机的解题过程

(1) 存储器的基本组成

计算机组成原理——第一章计算机系统概论
  • 存储体 \to 存储单元 \to 存储元件 (0/1)

    • 存储元件:用来存放一位二进制信息
    • 存储单元: 存放一串二进制代码(字长)
    • 存储体:许多个存储单元可组成存储矩阵
    • 存储字:存储单元中二进制代码的组合,可表示
      • 数值
      • 指令
      • 地址
      • 逻辑数……
    • 存储字长: 每个存储单元中二进制代码的位数
    • 地址寻访
  • MAR 存储器地址寄存器 (A-Address)

    • 反应存储单元的个数
    • =2MAR位数存储单元个数=2^\text{MAR位数}
  • MDR 存储器数据寄存器(D-Data)

    • 反应存储字长
    • =MDR存储字长=MDR位数

(2)运算器的基本组成及操作过程

基本组成

计算机组成原理——第一章计算机系统概论

操作过程

ACC MQ X
加法 被加数&和 加数
减法 被减数&差 减数
乘法 乘积高位 乘数&乘积低位 被乘数
除法 被除数&余数 除数
  • 加法操作过程

    计算机组成原理——第一章计算机系统概论
  • 减法操作过程

    计算机组成原理——第一章计算机系统概论
  • 乘法操作过程

    计算机组成原理——第一章计算机系统概论
  • 除法操作过程

计算机组成原理——第一章计算机系统概论

(3)控制器基本组成

计算机组成原理——第一章计算机系统概论
  • PC——程序计数器

    • 存放当前欲执行指令的地址
    • 具有计数功能
    • (PC)+1PC(PC)+1\to PC
  • IR——指令寄存器

    • 存放当前欲执行的指令
  • 功能

    • 解释指令
    • 保证指令的按序执行

(4)主机完成一条指令的过程

完成一条指令{取指令——PC分析指令——IR执行指令——CU \text{完成一条指令} \begin{cases} \text{取指令——PC}\\ \text{分析指令——IR}\\ \text{执行指令——CU}\\ \end{cases}

取数指令

计算机组成原理——第一章计算机系统概论
  1. 取指令1-4
    1. 指令地址从PC放入MAR
    2. 指令地址由MAR送至存储体
    3. 指令被存储体送入MDR
    4. 指令由MDR送至IR
  2. 分析指令5
    1. 指令由IR送至CU进行分析
  3. 执行指令6-9
    1. 数据地址由IR传到MAR
    2. 数据被存储体送到MDR
    3. 数据被MDR送到ACC

存数指令(执行指令不同)

计算机组成原理——第一章计算机系统概论

(5) ax2+bx+cax^2+bx+c 程序的运行过程

  1. 将程序通过输入设备送至计算机

  2. 程序首地址**\toPC**

  3. 启动程序运行

  4. 取指令 PC\toMAR\toM\toMDR\toIR, (PC) + 1\toPC

  5. 分析指令OP(IR)\toCU

  6. 执行指令Ad(IR)\toMAR\toM\toMDR\toACC

    ……

  7. 打印结果

  8. 停机

1.3 计算机硬件的主要技术指标

  1. 机器字长\toCPU一次能处理数据的位数
    • 通常与CPU的寄存器位数有关
  2. 运算速度
    • 主频
    • 核数\to 每个核支持的线程数
    • 吉普森法 \to TM=i=1nfitiT_M=\sum_{i=1}^{n}f_it_i
    • CPI $\to $ 执行一条指令所需时钟周期数(平均值
    • MIPS $\to $ 每秒执行百万条指令(还取决于指令复杂程度
    • FLOPS \to 每秒浮点运算次数
  3. 存储容量\to存放二进制信息的总位数
    • 主存容量
      • 存储单元个数×存储字长
        • MAR10,MDR8\to 1K×8位
        • MAR16,MDR32\to 64K×32位
        • 1K=2101K=2^\text{10}
      • 字节数
        • 213b=1KB2^\text{13}b=1KB
        • 221b=256KB2^\text{21}b=256KB
    • 辅存容量
      • 字节数1GB=230b1GB=2^\text{30}b

疑难点

  1. 三个字长

    字长 定义
    存储字长 每个存储单元中二进制代码的位数
    机器字长 CPU一次能处理数据的位数 与CPU的寄存器位数有关
    指令字长 一条指令的位数(操作码+地址码) 与指令寄存器位数有关
  2. 如何区分存放在存储器中的指令和数据

    完成一条指令有三个步骤{取指令分析指令执行指令\begin{cases}\text{取指令}\\\text{分析指令}\\\text{执行指令} \end{cases},其中需要两次访问内存,可依此分为两个阶段:取指阶段{取指令分析指令\begin{cases}\text{取指令}\\\text{分析指令}\end{cases}取出指令、执行阶段{执行指令\begin{cases}\text{执行指令}\end{cases}取出操作数,CPU根据阶段的不同可以判断取出的是指令还是数据:
    取指阶段取出:指令\\ 执行阶段取出:数据