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

1.1 计算机系统简介

一、计算机软硬件概念

1.计算机系统

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

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

image-20200304152320037

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(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. 运算器为中心

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

image-20200304152000689

二.计算机硬件框图

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

    image-20200304152521738
  2. 现代计算机硬件框图
    在这里插入图片描述

image-20200304152643160

三.计算机的工作步骤

1.上机前的准备

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

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

2.计算机的解题过程

(1) 存储器的基本组成
image-20200304120317659
  • 存储体 → \to 存储单元 → \to 存储元件 (0/1)

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

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

    • 反应存储字长
    • 存 储 字 长 = M D R 位 数 存储字长=MDR位数 =MDR
(2)运算器的基本组成及操作过程

基本组成

image-20200304120354773

操作过程

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

    image-20200304120417811
  • 减法操作过程

    image-20200304120458593
  • 乘法操作过程

    image-20200304120529705
  • 除法操作过程

image-20200304120546349
(3)控制器基本组成
image-20200304123540864
  • PC——程序计数器

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

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

    • 解释指令
    • 保证指令的按序执行
(4)主机完成一条指令的过程

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

取数指令

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) a x 2 + b x + c ax^2+bx+c ax2+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 = ∑ i = 1 n f i t i T_M=\sum_{i=1}^{n}f_it_i TM=i=1nfiti
    • CPI $\to $ 执行一条指令所需时钟周期数(平均值
    • MIPS $\to $ 每秒执行百万条指令(还取决于指令复杂程度
    • FLOPS → \to 每秒浮点运算次数
  3. 存储容量 → \to 存放二进制信息的总位数
    • 主存容量
      • 存储单元个数×存储字长
        • MAR10,MDR8 → \to 1K×8位
        • MAR16,MDR32 → \to 64K×32位
        • 1 K = 2 10 1K=2^\text{10} 1K=210
      • 字节数
        • 2 13 b = 1 K B 2^\text{13}b=1KB 213b=1KB
        • 2 21 b = 256 K B 2^\text{21}b=256KB 221b=256KB
    • 辅存容量
      • 字节数 1 G B = 2 30 b 1GB=2^\text{30}b 1GB=230b

疑难点

  1. 三个字长

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值