计算机组成原理

计算机组成原理(哈尔滨工业大学 — 刘宏伟老师)

目录

  • 计算机组成原理(哈尔滨工业大学 — 刘宏伟老师)
    • 第一章 计算机系统概述
      • 1.1 计算机系统简介
      • 1.2 计算机的基本组成
      • 1.3 计算机硬件的主要技术指标
    • 第二章 计算机的发展及应用
      • 2.1 计算机的发展史
      • 2.2 计算机的应用
      • 2.3 计算机的展望
    • 第三章 系统总线
      • 3.1 总线的基本概念
      • 3.2 总线的分类
        • 第一种分类方式:
        • 第二种分类方式:
      • 3.3 总线特性及性能指标
      • 3.4 总线结构
      • 3.5 总线控制
    • 第四章 储存器
      • 4.1 概述
      • 4.2 主存储器
        • 4.2.1 概述
        • 4.2.2 半导体存储芯片简介
        • 4.2.3 随机存取存储器(RAM)(Random Access Memory)
        • 4.2.4 只读存储器(ROM)(Read-Only Memory)
        • 4.2.5 存储器与CPU的连接
        • 4.2.6 存储器的校验
        • 4.2.7 提高访存速度的措施
      • 4.3 高速缓冲存储器
        • 4.3.1 概述
        • 4.3.2 Cache-主存的地址映射
        • 4.3.3 替换算法
      • 4.4 辅助存储器
    • 第五章 输入输出系统
      • 5.1 概述
      • 5.2 外部设备
      • 5.3 I/O接口
      • 5.4 程序查询方式
      • 5.5 程序中断方式
      • 5.6 DMA方式
    • 第六章 计算机的运算方法
      • 6.1 无符号数和有符号数
      • 6.2 数的定点表示和浮点表示
      • 6.3 定点运算
      • 6.4 浮点四则运算
      • 6.5 算术逻辑单元
    • 第七章 指令系统
      • 7.1 机器指令
      • 7.2 操作数类型和操作类型
      • 7.3 寻址方式
      • 7.4 指令格式举例
      • 7.5 RISC技术
    • 第八章 CPU的结构和功能
      • 8.1 CPU的结构
        • 8.1.1 CPU的功能
        • 8.1.2 CPU结构框图
        • 8.1.3 CPU的寄存器
        • 8.1.4 控制单元CU和中断系统
        • 8.1.5 ALU
      • 8.2 指令周期
        • 8.2.1 指令周期的基本概念
        • 8.2.2 指令周期的数据流
      • 8.3 指令流水
        • 8.3.1 如何提高机器速度
        • 8.3.2 系统的并行性
        • 8.3.3 指令流水原理
        • 8.3.4 影响指令流水线性能的因素
        • 8.3.5 流水线性能
        • 8.3.6 流水线的多发技术
        • 8.3.7 流水线结构
      • 8.4 中断系统
        • 8.4.1 概述
        • 8.4.2 中断请求标记和中断判优逻辑
        • 8.4.3 中断服务程序入口地址的寻找
        • 8.4.4 中断响应
        • 8.4.5 保护现场和恢复现场
        • 8.4.6 多重中断
    • 第九章 控制单元的功能(控制单元即控制器)
      • 9.1 微操作命令分析
      • 9.2 控制单元的功能
        • 9.2.1 控制单元的外特性
        • 9.2.2 控制信号举例
        • 9.2.3 多级时序系统
        • 9.2.4 控制方式
    • 第十章 控制单元的设计
      • 10.1 组合逻辑设计
        • 10.1.1 组合逻辑控制单元框图
        • 10.1.2 微操作的节拍安排
        • 10.1.3 组合逻辑设计步骤
      • 10.2 微程序设计
        • 10.2.1 微程序设计思想的产生
        • 10.2.2 微程序控制单元框图及工作原理
        • 10.2.3 微指令的编码方式(控制方式)
        • 10.2.4 微指令序列地址的形成
        • 10.2.5 微指令格式
        • 10.2.6 静态微程序设计和动态微程序设计
        • 10.2.7 毫微程序设计
        • 10.2.8 串行微程序控制和并行微程序控制
        • 10.2.9 微程序设计举例

第一章 计算机系统概述

1.1 计算机系统简介

  • 计算机系统:硬件、软件
  • 软件:系统软件、应用软件
  • 计算机系统的层次结构(由高到低):高级语言、汇编语言、操作系统、机器语言、微指令语言

1.2 计算机的基本组成

  • 冯·诺依曼计算机的特定:由五大部件组成;指令和数据以同等地位存于存储器,可按地址寻访;指令和数据用二进制表示;指令由操作码和地址码组成;存储程序;以运算器为中心
  • 现代计算机硬件:主机和I/O设备。主机包括CPU和主存。I/O设备包括输入设备和输出设备。CPU包括ALU(运算器)和CU(控制器)。
    计算机组成原理_第1张图片
  • 存储器的结构:存储体;MAR(memory address register)(存储器地址寄存器);MDR(memory data register)(存储器数据寄存器)。MAR反映存储单元的个数;MDR反映存储字长
  • 运算器的组成:算术逻辑单元ALU;累加器;状态寄存器;通用寄存器
  • 控制器的组成:CU执行指令;IR分析指令;PC取指令
  • 主机完成一个取数指令的过程:PC将指令的地址给MAR,MAR送给存储体,将指令取到MDR中,再取到IR中,至此完成了取指令,CU进行执行,将IR中取数的地址传给MAR,传给存储体,将数据传给MDR,将MDR中的数据传给ACC。

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

  • 机器字长:与CPU中的寄存器位数有关
  • 运算速度:主频、核数、线程数、CPI(Clock cycle Per Instruction)、MIPS(Million Instructions Per Second)、FLOPS(floating-point operations per second)
  • 存储容量:主存容量;辅存容量

第二章 计算机的发展及应用

2.1 计算机的发展史

  • 摩尔定律:微芯片上集成的晶体管数目每三年翻两番(变为4倍)

2.2 计算机的应用

2.3 计算机的展望

第三章 系统总线

3.1 总线的基本概念

  • 总线是连接各个部分的信息传输线,是各个部件共享的传输介质
    计算机组成原理_第2张图片

3.2 总线的分类

第一种分类方式:

  • 片内总线:芯片内部的总线
  • 系统总线:计算机各部件之间的信息传输线(数据总线;地址总线;控制总线)
  • 通信总线:用于计算机系统之间或计算机系统与其它系统之间的通信

第二种分类方式:

  • 串行通信总线
  • 并行通信总线

3.3 总线特性及性能指标

  • 总线物理实现
    计算机组成原理_第3张图片
  • 总线特性:机械特性;电气特性;功能特性;时间特性
  • 总线 的性能指标:总线的宽度(数据线的根数);标准传输率;时钟同步/异步;总线复用;信号线数;总线控制方式;其他指标
  • 总线标准:ISA; EISA; VESA(LV-BUS); PCI; AGP; RS-232; USB

3.4 总线结构

3.5 总线控制

  • 总线判优控制(链式查询、计数器定时查询、独立请求方式)
  • 总线通信控制(同步通信、异步通信、半同步通信、分离式通信)

第四章 储存器

4.1 概述

  • 按存储介质分类(半导体存储器、磁表面存储器、磁芯存储器、光盘存储器)
  • 按存取方式分类(随机访问、穿行访问)
  • 按在计算机中的作用分类
    计算机组成原理_第4张图片
  • 存储器的层次结构
    计算机组成原理_第5张图片

4.2 主存储器

4.2.1 概述

  • 主存的基本组成
    计算机组成原理_第6张图片
  • 主存和CPU的联系
    计算机组成原理_第7张图片
  • 主存的技术指标:存储容量、存储速度(存取时间;存取周期)、存储器的带宽

4.2.2 半导体存储芯片简介

  • 半导体芯片的基本结构
    计算机组成原理_第8张图片
  • 半导体存储芯片的译码驱动方式(线选法、重合法)
    第一个图,地址译码器有4位,说明有16个单元,读写控制电路有8位,说明一个单元里有8位。计算机组成原理_第9张图片

4.2.3 随机存取存储器(RAM)(Random Access Memory)

  • 静态RAM(SRAM)
  • 动态RAM(DRAM)
  • 动态RAM和静态RAM的比较
    (一般用DRAM做主存,用SRAM做缓存)
DRAM SRAM
储存原理 电容 触发器
集成度
芯片引脚
功耗
价格
速度
刷新

4.2.4 只读存储器(ROM)(Read-Only Memory)

  • 掩模ROM(MROM)
  • PROM(一次性编程)
  • EPROM(多次性编程)
  • EEPROM(多次性编程)
  • Flash Memory(闪存型存储器)

4.2.5 存储器与CPU的连接

  • 存储器容量的扩展(位扩展、字扩展、字和位同时扩展)
  • 存储器与CPU的连接:地址线的连接、数据线的连接、读/写命令线的连接、片选线的连接、合理选择存储芯片、其他(时序、负载)

4.2.6 存储器的校验

汉明码

4.2.7 提高访存速度的措施

  • 单体多字系统
  • 多体并行系统
  • 高性能存储

4.3 高速缓冲存储器

4.3.1 概述

  • 问题的提出:避免CPU“空等”现象(CPU和主存DRAM的速度差异)
    计算机组成原理_第10张图片
  • Cache的工作原理:主存和缓存按块存储;命中和未命中;命中率;效率
  • Cache的基本结构
  • Cache的读写操作
  • Cache的改进

4.3.2 Cache-主存的地址映射

  • 直接映射:某一主存块只能固定映射到某一缓存块
  • 全相联映射:某一主存块能映射到任一缓存块
  • 组相联映射:某一主存块只能映射到某一缓存组的任一块

4.3.3 替换算法

  • 先进先出(FIFO)算法
  • 近期最少使用(LRU)算法

4.4 辅助存储器

  • 不直接与CPU交换信息
  • 磁表面存储器的技术指标:记录密度;存储容量;平均寻址时间;数据传输率;误码率
  • 磁记录原理
  • 硬磁盘存储器
  • 软磁盘存储器(淘汰了)
  • 光盘存储器

第五章 输入输出系统

5.1 概述

I/O设备与主机信息传送的控制方式:程序查询方式;程序中断方式;DMA方式
计算机组成原理_第11张图片

5.2 外部设备

5.3 I/O接口

  • 接口的功能和组成
功能 组成
选址功能 设备选择电路
传送命令的功能 命令寄存器、命令译码器
传送数据的功能 数据缓冲寄存器
反映设备状态的功能 设备状态标记
  • I/O接口的基本组成
    计算机组成原理_第12张图片
  • 接口的分类:数据传送方式分类(并行接口、串行接口);按功能选择的灵活性分类(可编程接口、不可编程接口);按通用性分类(通用接口、专用接口);按数据传送的控制方式分类(中断接口、DMA接口)

5.4 程序查询方式

5.5 程序中断方式

5.6 DMA方式

第六章 计算机的运算方法

6.1 无符号数和有符号数

有符号数:真值(带符号的数);机器数(符号数字化的数);原码;反码;补码
对于正数:原码 = 补码 = 反码
对于负数:符号位为1,反码:除符号位每位取反,补码:反码+1
补码与移码只差一个符号位

6.2 数的定点表示和浮点表示

为什么要引入浮点数:

  • 编程困难,程序员要调节小数点的位置
  • 数的表示范围小,为了能表示两个大小相差很大的数据,需要很长的机器字长
  • 数据存储单元的利用率往往很低
    IEEE 754 标准

6.3 定点运算

在计算机中,移位与加减配合,能够实现乘除运算

  • 移位运算
  • 加减法运算
  • 乘法运算
  • 除法运算

6.4 浮点四则运算

6.5 算术逻辑单元

  • ALU电路
  • 快速进位链:并行加法器;串行进位链;并行进位链(先行仅为,跳跃进位)

第七章 指令系统

7.1 机器指令

  • 指令的格式:操作码 地址码 寻址方式
  • 指令的字长 :固定字长、可变字长
  • 指令的一般格式:操作码(反映机器做什么操作)和地址码字段
  • 扩展操作码技术
  • 地址码:四地址、三地址、二地址、一地址、零地址
  • 指令字长取决于:操作码的长度、操作数地址的长度、操作数地址的个数
  • 指定字长:固定(=存储字长);可变(按字节的倍数变化)

7.2 操作数类型和操作类型

  • 操作数类型:地址、数字、字符、逻辑数
  • 数据在存储器中的存放方式:从任意位置开始存储、从一个存储字的起始位置开始访问、边界对准位置
  • 操作类型:数据传送、算术逻辑操作、移位操作、转移、输入输出

7.3 寻址方式

  • 寻址方式的定义:确定本条指令的操作数地址;下一条要执行指令的指令地址
  • 寻址方式的分类:指令寻址;数据寻址
  • 指令地址:顺序、跳跃
  • 数据寻址:立即寻址、直接寻址、隐含寻址、 间接寻址、寄存器寻址、寄存器的间接寻址、 基址寻址、变址寻址、相对寻址、堆栈寻址

7.4 指令格式举例

  • IBM 360
  • Intel 8086

7.5 RISC技术

  • RISC(Reduced Instruction Set Computer)
  • CISC(Complex Instruction Set Computer)

第八章 CPU的结构和功能

8.1 CPU的结构

8.1.1 CPU的功能

  • 控制器:取指令、分析指令、执行指令、程序输入结果输出、总线管理、处理异常情况
  • 运算器:算术运算和逻辑运算
  • CPU的功能:指令控制、操作控制、时间控制、数据加工、处理中断

8.1.2 CPU结构框图

计算机组成原理_第13张图片

8.1.3 CPU的寄存器

  • 用户可见寄存器:通用寄存器、数据寄存器、地址寄存器、条件码寄存器
  • 控制和状态寄存器:控制寄存器、状态寄存器

8.1.4 控制单元CU和中断系统

8.1.5 ALU

8.2 指令周期

8.2.1 指令周期的基本概念

  • 指令周期:取出并执行一条指令所需的全部时间
  • 每条指令的指令周期不同
  • 具有间接寻址的指令周期
  • 带有中断周期的指令周期
  • 指令周期流程
  • CPU工作周期的标志

8.2.2 指令周期的数据流

  • 取指周期数据流
  • 间址周期数据流
  • 执行周期数据流
  • 中断周期数据流

8.3 指令流水

8.3.1 如何提高机器速度

  • 提高访存速度
  • 提高I/O和主机之间的传送速度
  • 提高运算器速度

8.3.2 系统的并行性

  • 并行的概念
  • 并行性的等级

8.3.3 指令流水原理

计算机组成原理_第14张图片

8.3.4 影响指令流水线性能的因素

  • 结构相关
  • 数据相关
  • 控制相关

8.3.5 流水线性能

  • 吞吐率:单位时间流水线完成指令或输出结果的数量
  • 加速比:流水线的速度与等功能的非流水线的速度之比
  • 效率:流水线各功能段的利用率

8.3.6 流水线的多发技术

  • 超标量技术
  • 超流水技术
  • 超长指令字技术

8.3.7 流水线结构

  • 指令流水线结构
  • 运算流水线

8.4 中断系统

8.4.1 概述

8.4.2 中断请求标记和中断判优逻辑

8.4.3 中断服务程序入口地址的寻找

8.4.4 中断响应

8.4.5 保护现场和恢复现场

8.4.6 多重中断

第九章 控制单元的功能(控制单元即控制器)

9.1 微操作命令分析

  • 取指周期
  • 间址周期
  • 执行周期:非访存指令、访存指令、转移指令
  • 中断周期

9.2 控制单元的功能

9.2.1 控制单元的外特性

计算机组成原理_第15张图片

  • 输入信号:时钟、指令寄存器、标志、外来信号
  • 输出信号:CPU内的各种控制信号、送至控制总线的信号

9.2.2 控制信号举例

9.2.3 多级时序系统

  • 机器周期
  • 时钟周期:控制计算机操作的最小单位时间
  • 一个指令周期包含若干个机器周期 一个机器周期包含若干个时钟周期
    计算机组成原理_第16张图片
  • 机器速度 不仅与 主频有关 ,还与机器周期中所含 时钟周期(主频的倒数)数 以及指令周期中所含 的 机器周期数有关

9.2.4 控制方式

产生不同微操作命令序列所用的时序控制方式

  • 同步控制方式:任一微操作均由 统一基准时标 的时序信号控制
  • 异步控制方式:无基准时标信号,采用应答方式
  • 联合控制方式:同步与异步相结合
  • 人工控制方式

第十章 控制单元的设计

10.1 组合逻辑设计

10.1.1 组合逻辑控制单元框图

计算机组成原理_第17张图片

10.1.2 微操作的节拍安排

  • 原则一:微操作的 先后顺序不得 随意 更改
  • 原则二:被控对象不同的微操作,尽量安排在 一个节拍 内完成
  • 原则三:占用 时间较短 的微操作尽量安排在 一个节拍内完成,并允许有先后顺序

10.1.3 组合逻辑设计步骤

  • 列出操作时间表
  • 写出微操作命令的最简表达式
  • 画出逻辑图

10.2 微程序设计

10.2.1 微程序设计思想的产生

10.2.2 微程序控制单元框图及工作原理

10.2.3 微指令的编码方式(控制方式)

  • 直接编码:在微指令的操作控制字段中,每一位代表一个微操作命令
  • 字段直接编码方式:将微指令的控制字段分成若干“段”,每段经译码后发出控制信号
  • 字段间接编码方式
  • 混合编码

10.2.4 微指令序列地址的形成

10.2.5 微指令格式

  • 水平型微指令
  • 垂直型微指令

10.2.6 静态微程序设计和动态微程序设计

  • 静态:微程序无须改变,采用ROM
  • 动态:通过改变微指令和微程序改变机器指令,有利于仿真,采用EPROM

10.2.7 毫微程序设计

10.2.8 串行微程序控制和并行微程序控制

10.2.9 微程序设计举例

你可能感兴趣的:(计算机基础知识)