计算机组成原理(哈尔滨工业大学 — 刘宏伟老师)
目录
计算机组成原理(哈尔滨工业大学 — 刘宏伟老师)
第一章 计算机系统概述
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(控制器)。 存储器的结构:存储体;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 总线的基本概念
总线是连接各个部分的信息传输线,是各个部件共享的传输介质
3.2 总线的分类
第一种分类方式:
片内总线:芯片内部的总线系统总线:计算机各部件之间的信息传输线(数据总线;地址总线;控制总线)通信总线:用于计算机系统之间或计算机系统与其它系统之间的通信
第二种分类方式:
串行通信总线并行通信总线
3.3 总线特性及性能指标
总线物理实现 总线特性:机械特性;电气特性;功能特性;时间特性总线 的性能指标:总线的宽度(数据线的根数);标准传输率;时钟同步/异步;总线复用;信号线数;总线控制方式;其他指标总线标准:ISA; EISA; VESA(LV-BUS); PCI; AGP; RS-232; USB
3.4 总线结构
3.5 总线控制
总线判优控制(链式查询、计数器定时查询、独立请求方式)总线通信控制(同步通信、异步通信、半同步通信、分离式通信)
第四章 储存器
4.1 概述
按存储介质分类(半导体存储器、磁表面存储器、磁芯存储器、光盘存储器)按存取方式分类(随机访问、穿行访问)按在计算机中的作用分类 存储器的层次结构
4.2 主存储器
4.2.1 概述
主存的基本组成 主存和CPU的联系 主存的技术指标:存储容量、存储速度(存取时间;存取周期)、存储器的带宽
4.2.2 半导体存储芯片简介
半导体芯片的基本结构 半导体存储芯片的译码驱动方式(线选法、重合法) 第一个图,地址译码器有4位,说明有16个单元,读写控制电路有8位,说明一个单元里有8位。
4.2.3 随机存取存储器(RAM)(Random Access Memory)
静态RAM(SRAM)动态RAM(DRAM)动态RAM和静态RAM的比较 (一般用DRAM做主存,用SRAM做缓存)
DRAMSRAM
储存原理电容触发器集成度高低芯片引脚少多功耗小大价格低高速度慢快刷新有无
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的速度差异) Cache的工作原理:主存和缓存按块存储;命中和未命中;命中率;效率Cache的基本结构Cache的读写操作Cache的改进
4.3.2 Cache-主存的地址映射
直接映射:某一主存块只能固定映射到某一缓存块全相联映射:某一主存块能映射到任一缓存块组相联映射:某一主存块只能映射到某一缓存组的任一块
4.3.3 替换算法
先进先出(FIFO)算法近期最少使用(LRU)算法
4.4 辅助存储器
不直接与CPU交换信息磁表面存储器的技术指标:记录密度;存储容量;平均寻址时间;数据传输率;误码率磁记录原理硬磁盘存储器软磁盘存储器(淘汰了)光盘存储器
第五章 输入输出系统
5.1 概述
I/O设备与主机信息传送的控制方式:程序查询方式;程序中断方式;DMA方式
5.2 外部设备
5.3 I/O接口
接口的功能和组成
功能组成
选址功能设备选择电路传送命令的功能命令寄存器、命令译码器传送数据的功能数据缓冲寄存器反映设备状态的功能设备状态标记
I/O接口的基本组成 接口的分类:数据传送方式分类(并行接口、串行接口);按功能选择的灵活性分类(可编程接口、不可编程接口);按通用性分类(通用接口、专用接口);按数据传送的控制方式分类(中断接口、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 360Intel 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结构框图
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 指令流水原理
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 控制单元的外特性
输入信号:时钟、指令寄存器、标志、外来信号输出信号:CPU内的各种控制信号、送至控制总线的信号
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 静态微程序设计和动态微程序设计
静态:微程序无须改变,采用ROM动态:通过改变微指令和微程序改变机器指令,有利于仿真,采用EPROM
10.2.7 毫微程序设计
10.2.8 串行微程序控制和并行微程序控制
10.2.9 微程序设计举例