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

1.1 计算机系统简介

一、计算机软硬件概念

1.计算机系统

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

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

image-20200304152320037

image-20200304152829204

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

1. 计算机体系结构

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

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

2.计算机组成

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

  • 具体指令的实现

1.2计算机的基本组成

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

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

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

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

    • 存储器:存放数据程序

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

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

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

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

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

  5. 存储程序

  6. 运算器为中心

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

image-20200304152000689

二.计算机硬件框图

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

    image-20200304152521738

  2. 现代计算机硬件框图

\[ \left. \begin{array}{1} \text{$ \left. \begin{array}{1} \text{$ \left. \begin{array} \text{运算器 ALU}\\ \text{控制器 CU} \end{array} \right\}$ CPU}\\ \text{存储器$ \begin{cases} \text{主存}\\ \text{辅存} \end{cases} $} \end{array} \right\} 主机 $}\\ \text{$ \left. \begin{array}{1} \text{输入设备}\\ \text{输出设备} \end{array} \right\} I/O设备 $} \end{array} \right\} 硬件 \]

image-20200304152643160

 三.计算机的工作步骤

1.上机前的准备

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

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

2.计算机的解题过程

(1) 存储器的基本组成

image-20200304120317659

  • 存储体 \(\to\) 存储单元 \(\to\) 存储元件 (0/1)

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

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

    • 反应存储字长
    • \(存储字长=MDR位数\)

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

基本组成

image-20200304120354773

操作过程

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

    image-20200304120417811

  • 减法操作过程

    image-20200304120458593

  • 乘法操作过程

    image-20200304120529705

  • 除法操作过程

image-20200304120546349

(3)控制器基本组成

image-20200304123540864

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

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

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

取数指令

image-20200304154139073

  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

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

image-20200304124809912

(5) \(ax^2+bx+c\) 程序的运行过程

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

  2. 程序首地址\(\to\)PC

  3. 启动程序运行

  4. 取指令 PC\(\to\)MAR\(\to\)M\(\to\)MDR\(\to\)IR, (PC) + 1\(\to\)PC

  5. 分析指令OP(IR)\(\to\)CU

  6. 执行指令Ad(IR)\(\to\)MAR\(\to\)M\(\to\)MDR\(\to\)ACC

    ……

  7. 打印结果

  8. 停机

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

  1. 机器字长\(\to\)CPU一次能处理数据的位数
    • 通常与CPU的寄存器位数有关
  2. 运算速度
    • 主频
    • 核数\(\to\) 每个核支持的线程数
    • 吉普森法 \(\to\) \(T_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=2^\text{10}\)
      • 字节数
        • \(2^\text{13}b=1KB\)
        • \(2^\text{21}b=256KB\)
    • 辅存容量
      • 字节数\(1GB=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根据阶段的不同可以判断取出的是指令还是数据:
    \[ 取指阶段取出:指令\\ 执行阶段取出:数据 \]

猜你喜欢

转载自www.cnblogs.com/liyishan/p/12452058.html