计算机组成原理 (哈工大)
计算机组成原理 (哈工大)
概论
简介
在体系结构中的地位
现代计算机的多态性
计算机系统
硬件
软件
- 系统软件
- 应用软件
系统复杂性管理
- 抽象
- 层次化
- 模块化
- 规则性
层次结构
- 高级语言
- 汇编语言
- 操作系统
- 机器语言
- 微指令系统
与计算机体系结构的对比
基本组成
冯·诺依曼计算机
计算机由五大部件组成
- 输入设备,输出设备,存储器,运算器,控制器
指令和数据以同等地位存在于存储器,可按地址访问
指令和数据用二进制表示
指令由操作码和地址码组成
存储程序
以运算器为中心
计算机工作步骤
上机前的准备
- 建立数学模型
- 确定计算方法
- 编制解题程序
计算机的解题过程
存储器的基本组成
- 存储体
- MAR
- MDR
运算器的基本组成
- ACC
- MQ
- ALU
- X
控制器的基本组成
- PC:取指令
- IR:分析指令
- CU:执行指令
硬件的主要技术指标
机器字长
运算速度
- 主频
- 核数,每个核支持的线程数
- CPI:执行一条指令所需时钟周期数
- MIPS:每秒执行百万条指令
- FLOPS:每秒浮点运算次数
存储容量
主存容量
- 存储单元 × 存储字长
- 字节数
副存容量
- 字节数
计算机的发展
硬件
- 电子管,晶体管,中小规模集成电路,大规模集成电路,超大规模集成电路
- von Neumann 系统结构
- IAS 的逻辑结构
- IBM System / 360
- Moore 定律
软件
语言
- 机器语言,汇编语言,高级语言
- FORTRAN:科学计算和工程计算
- PASCAL:结构化程序设计
- C++:面向对象
- Java:适应网络环境
系统软件
语言处理程序
- 汇编,编译,解释
操作系统
- DOS,UNIX,Windows,Linux,Kylin Linux
服务性程序
- 装配,调试,诊断,排错
数据库管理系统
- 数据库和数据库管理软件
网络软件
发展特点
- 开发周期长
- 制作成本昂贵
- 检测软件产品质量的特殊性
应用
- 科学计算和数据处理
- 工业控制和实时控制
- 网络技术
- 虚拟现实
- 办公自动化和管理信息系统
- CAD/CAM/CIMS
- 多媒体技术
- 人工智能
展望
芯片集成度提高的限制
- 物理极限
- 制作成本
- 功耗,散热,线延迟
替代
- 光计算机
- DNA 生物计算机
- 量子计算机
系统总线
基本概念
- 连接各个部件的信息传输线,各个部件共享的传输介质
分类
片内总线(芯片内部)
系统总线(计算机各部件之间)
- 数据总线:双向
- 地址总线:单向
- 控制总线:有出,有入
通信总线(计算机系统之间或与其它系统)
传输方式
- 串行
- 并行
特性
机械特性
- 尺寸,形状,管脚数,排列顺序
电气特性
- 传输方向,有效的电平范围
功能特性
- 地址,数据,控制
时间特性
- 信号的时序关系
性能指标
总线宽度
- 数据线的根数
标准传输率
- 每秒传输的最大字节数(MBps)
时钟同步/异步
总线复用
- 地址线与数据线复用
信号线数
- 三线的总和
总线控制方式
- 突发,自动,仲裁,逻辑,计数
其他指标
- 负载能力
总线标准
- ISA
- EISA
- VESA(LV-BUS)
- PCI
- AGP
- RS-232
- USB
结构
- 单总线
- 面向 CPU 的双总线
- 以存储器为中心的双总线
- 三总线
- 四总线
总线控制
总线判优控制
基本概念
- 主设备(对总线有控制权)
- 从设备(响应)
集中式
- 链式查询
- 计数器定时查询
- 独立请求查询
分布式
总线通信控制
传输周期
- 申请分配阶段:主模块申请,总线仲裁
- 寻址阶段:主模块向从模块给出地址和命令
- 传输阶段:主模块与从模块交换数据
- 结束阶段:主模块撤销有关信息
通信方式
同步通信
异步通信
半同步通信
分离式通信
子周期1
- 主模块申请占用总线,使用完后即放弃总线使用权
子周期2
- 从模块申请占用总线,将各种信息送至总线上
存储器
概述
分类
按存储介质
- 半导体存储器
- 磁表面存储器
- 磁芯存储器
- 光盘存储器
按存取方式
存取时间与物理地址无关(随机访问)
- 随机存储器
- 只读存储器
存储时间与物理地址有关(串行访问)
- 顺序存取存储器(磁带)
- 直接存取存储器(磁盘)
按在计算机中的作用分类
主存储器
RAM
- 静态 RAM
- 动态 RAM
ROM
- MROM
- PROM
- EPROM
- EEPROM
Flash Memory
高速缓冲存储器(Cache)
辅助存储器
- 磁盘,磁带,光盘
层次结构
主机
CPU
- 寄存器
- 缓存
主存
辅存
- 磁盘
- 光盘
- 磁带
主存储器
概述
基本组成
- 存储体
- 读写电路,控制电路,MDR
- 驱动器,译码器,MAR
与 CPU 之间的联系
存储单元地址的分配
- 大端,小端
技术指标
存储容量
存储速度
- 存取时间
- 存取周期
带宽
半导体存储芯片简介
基本结构
- 地址线,片选线,数据线,读/写控制线
- 译码驱动,存储矩阵,读写电路
译码驱动方式
- 线选法
- 重合法
随机存储器(RAM)
静态
基本电路
芯片举例
- Intel 2114 外特性
- Intel 2114 RAM 矩阵读
- Intel 2114 RAM 矩阵写
动态
基本单元电路
芯片举例
- 三管动态 RAM 芯片(Intel 1103)读
- 三管动态 RAM 芯片(Intel 1103)写
- 单管动态 RAM 4116 外特性
刷新
集中刷新
- “死区”
- “死时间率”
分散刷新
结合
比较
- DRAM | SRAM
- 存储原理:电容 | 触发器
- 集成度:高 | 低
- 芯片引脚:少 | 多
- 功耗:小 | 大
- 价格:低 | 高
- 速度:慢 | 快
- 刷新:有 | 无
只读存储器(ROM)
掩模 ROM(MROM)
PROM(一次性编程)
- 熔丝
EPROM(多次性编程)
- N型沟道浮动栅 MOS 电路
- 紫外线全部擦除
EEPROM(多次性编程)
- 电可擦除,局部擦除,全部擦除
Flash Memory(闪速型存储器)
存储器与 CPU 的连接
存储器容量的扩展
- 位扩展:增加存储字长
- 字扩展:增加存储字的数量
- 字,位扩展
地址线的连接
数据线的连接
读/写命令线的连接
片选线的连接
合理选择存储芯片
其他
- 时序,负载
存储器的校验
合法代码集合
编码的最小距离
汉明码
奇偶校验
分组校验
组成
- 检测位
- 检测位的位置
- 检测位的取值
纠错过程
提高访存速度的措施
采用高速器件,采用层次结构 Cache,调整主存结构
单体多字系统
多体并行系统
- 高位交叉
- 低位交叉
高性能存储芯片
- SDRAM(同步 DRAM)
- RDRAM
- 带 Cache 的 DRAM
高速缓冲存储器
概述
避免 CPU “空等”现象
工作原理
- 主存和缓存的编址
- 命中与未命中
- 命中率
- Cache-主存系统的效率
基本结构
读写操作
- 写直达法
- 写回法
改进
- 增加 Cache 的级数
- 统一缓存和分立缓存
Cache-主存的地址映射
- 直接映射:i = j mod C
- 全相联映射:m = t + c
- 组相联映射:i = j mod Q
替换算法
- 先进先出(FIFO)
- 近期最少使用(LRU)
辅助存储器
概述
特点:不直接与 CPU 交换信息
磁表面存储器的技术指标
记录密度
- 道密度
- 位密度
存储容量
平均寻址时间
数据传输率
误码率
磁盘记录原理
- 写
- 读
硬磁盘存储器
类型
- 固定磁头
- 移动磁头
- 可换盘
- 固定盘
结构
- 主机,磁盘控制器,磁盘驱动器,盘片
软磁盘存储器
- 保护套,主轴孔,写保护口,读/写磁头访问槽,衬里/清洁材料
光盘存储器
概述
第一代
- 非磁性介质,不可擦除
第二代
- 磁性介质,可擦除
原理
- 热作用
- 热磁效用
输入输出系统
概述
发展状况
- 早期:分散连接
- 接口模块和 DMA 阶段:总线连接
- 具有通道结构的阶段
- 具有 I/O 处理机的阶段
组成
软件
- I/O 指令
- 通道指令
硬件
- I/O 接口
- 设备控制器
与主机的联系方式
I/O 设备编址方式
- 统一编址
- 不统一编址
设备选址
传送方式
- 串行,并行
联络方式
- 立即响应
- 异步工作采用应答信号
- 同步工作采用同步时标
连接方式
- 辐射式连接
- 总线连接
与主机信息传送的控制方式
- 程序查询
- 程序中断
- DMA
外部设备
概述
- 人机交互设备
- 计算机信息存储设备
- 机-机通信设备
输入设备
- 键盘,鼠标,触摸屏
输出设备
- 显示器,打印机
其他
- A/D, D/A, 终端,汉字处理
多媒体设备
I/O接口
概述
作用
- 实现设备的选择
- 实现数据缓冲达到速度匹配
- 实现数据串-并格式转换
- 实现电平转换
- 传送控制命令
- 反映设备的状态
总线连接方式的 I/O 接口电路
- 设备选择线
- 数据线
- 命令线
- 状态线
功能
- 选址
- 传送命令
- 传送数据
- 反应设备状态
组成
- 设备选择电路
- 命令寄存器,命令译码器
- 数据缓冲寄存器
- 设备状态标记
类型
按传送方式
- 并行:Intel 8255
- 串行:Intel 8251
按功能选择的灵活性
- 可编程接口:Intel8255,Intel 8251
- 不可编程接口:intel 8212
按通用性
- 通用接口:intel 8255,Intel 8251
- 专用接口:intel 8279,intel 8275
按数据传送的控制方式
- 中断接口:intel 8259
- DMA接口:intel 8257
程序查询接口
查询流程
- 单个设备
- 多个设备
程序流程
接口电路
程序中断接口
中断的概念
I/O 中断的产生
接口电路
- 配置中断请求触发器和中断屏蔽触发器
- 排队器
- 中断向量地址形成部件
- 程序中断方式接口电路的基本组成
I/O 中断处理程序
- CPU 响应中断的条件和时间
- 过程
中断服务程序流程
保护现场
- 程序断点保护
- 寄存器内容保护
中断服务
回复现场
中断返回
单重中断,多重中断
DMA 接口
特点
DMA 和程序中断两种方式的数据通路
DMA 与主存交换数据的三种方式
- 停止 CPU 访问主存
- 周期挪用
- DMA 与 CPU 交替访问
功能
- 向 CPU 申请 DMA 传送
- 处理总线控制权的转移
- 管理系统总线,控制数据传送
- 确定数据传送的首地址和长度,修正传送过程中的数据和长度
- DMA 传送结束时,给出操作完成信号
组成
- DMA 控制逻辑
- 中断机构
- AR,WC,DAR,BR
工作过程
- 预处理,数据传送,后处理
类型
- 选择型,多路型
计算机的运算方法
无符号数
- 寄存器的位数:表示范围
有符号数
- 真值,机器数
- 原码表示法
- 补码表示法
- 反码表示法
- 移码表示法
定点表示
浮点表示
形式
阶码
- 阶符
- 数值部分
尾数
- 数符
- 数值部分
表示范围
- 上溢:阶码 > 最大阶码
- 下溢:阶码 < 最小阶码
规格化
IEEE 754 标准
- 数符,阶码(含阶符),尾数
- 短实数:1,8,23
- 长实数:1,11,52
- 临时实数:1,15,64
定点运算
移位运算
- 意义
- 算术移位规则
- 硬件实现
- 算数移位与逻辑移位的区别
加减法运算
- 公式
- 溢出判断
- 补码加减法的硬件配置
乘法运算
原码乘法
补码乘法
- Booth 算法
除法运算
原码除法
- 恢复余数法
- 不恢复余数法(加减交替法)
浮点运算
对阶
求阶差
对阶原则
- 小阶向大阶看齐
尾数求和
规格化
规格化数的定义
规格化数的判断
- 原码:不论正数,负数,第一数位为1
- 补码:符号位和第一数位不同
左规
右规
舍入
- 0 舍 1 入法
- 恒置“1”法
溢出判断
算数逻辑单元
ALU 电路
快速进位链
并行加法器
穿行进位链
并行进位链
- 单重分组跳跃进位链
- 多重分组跳跃进位链
指令系统
机器指令
一般格式
操作码
- 长度固定
- 长度可变
- 扩展操作码技术
地址码
- 四地址,三地址,二地址,一地址,零地址
指令字长
决定于
- 操作码长度
- 操作数地址长度
- 操作数地址的个数
固定,可变
操作数类型
- 地址:无符号整数
- 数字:定点数,浮点数,十进制数
- 字符:ASCⅡ
- 逻辑数:逻辑运算
操作类型
数据传递
- 源:寄存器,存储器
- 目的:寄存器,存储器
- 例:MOVE,STORE,LOAD,PUSH,POP
算术逻辑操作
- 8086:ADD,SUB,MUL,DIV,INC,DEC,CMP,NEG,AAA,AAS,AAM,AAD,AND,NOT,XOR,TEST
移位操作
- 算术移位,逻辑移位,循环移位
转移
无条件转移
- JMP
条件转移
结果为零转:JZ
结果溢出转:JO
结果有进位转:JC
跳过一条指令:SKP
调用和返回
陷阱与陷阱指令
- 8086:INT TYPE
输入输出
- IN,OUT
寻址方式
指令寻址
- 顺序:(PC)+1 → PC
- 跳跃
数据寻址
操作码 | 寻址特征 | 形式地址 A
立即寻址
- 立即数(补码)
- 指令执行阶段不访存
- A 的位数限制了立即数的范围
直接寻址
- 执行阶段访问一次存储器
- A 的位数决定了该指令操作数的寻址范围
- 操作数的地址不易修改
隐含寻址
- 操作数地址隐含在操作码中
- 8086:MUL,MOVS
- 指令中少了一个地址字段,可缩短指令字长
间接寻址
- 执行指令阶段 2 次访存
- 可扩大寻址范围
- 便于编制程序
- 多次访存
寄存器寻址
- 执行阶段不访存,只访问寄存器,执行速度快
- 寄存器个数有限,可缩短指令字长
寄存器间接寻址
- 有效地址在寄存器中,操作数在存储器中,执行阶段访存
- 便于编制循环程序
基址寻址
采用专用寄存器作为基址寄存器
- 可扩大寻址范围
- 有利于多道程序
- 基址寄存器内容由操作系统或管理程序确定
- 在程序的执行过程中基址寄存器内容不变,形式地址可变
采用通用寄存器作为基址寄存器
- 由用户指定基址寄存器
- 基址寄存器的内容由操作系统确定
变址寻址
- 可扩大寻址范围
- 变址寄存器的内容由用户给定
- 便于处理数组问题
相对寻址
- A 的位数决定操作数的寻址范围
- 程序浮动
- 广泛用于转移指令
堆栈寻址
- 硬堆栈(多个寄存器)
- 软堆栈(指定的存储空间)
指令格式
设计时应考虑的因素
- 指令系统的兼容性
- 操作类型,数据类型,指令格式,寻址方式,寄存器个数
IMB 360
Intel 8086
RISC 技术
特征
- 选用使用频度较高的一些简单指令,复杂指令由简单指令组合
- 指令长度固定,指令格式种类少,寻址方式少
- 只有 LOAD/STIRE 指令访存
- CPU 中有多个通用寄存器
- 采用流水技术,一个时钟周期内完成一条指令
- 采用组合逻辑实现控制器
- 便于设计,可降低成本,提高可靠性
- 不易实现指令系统兼容
CISC 特征
- 系统指令复杂庞大,各种指令使用频度相差大
- 指令长度不固定,指令格式种类多,寻址方式多
- 访存指令不受限制
- CPU 中设有专用寄存器
- 大多数指令需要多个时钟周期执行完毕
- 采用微程序控制器
CPU
功能
控制器
- 指令,操作,时间,处理中断,数据加工
运算器
结构
- PC,IR:指令控制
- CU 时序电路:操作控制,时间控制
- ALU 寄存器:数据加工
- 中断系统:处理中断
寄存器
用户可见
- 通用寄存器
- 数据寄存器
- 地址寄存器
- 条件码寄存器
控制寄存器
- PC→MAR→M→MDR→IR
- MAR,MDR,IR(用户不可见)
- PC(用户可见)
状态寄存器
- 存放条件码
- PSW 寄存器(存放程序状态字)
控制单元 CU
- 产生全部指令的微操作命令序列
- 组合逻辑设计
- 微程序设计
中断系统
ALU
指令周期
概念
- 取指周期:取指,分析
- 执行周期:执行
- 每条指令的指令周期不同
- 具有间接寻址的指令周期
- 带有中断周期的指令周期
- 指令周期流程
- CPU 工作周期的标志
数据流
指令流水
提高机器速度
提高访存速度
- 高速芯片,Cache,多体并行
提高 I/O 和主机之间的传送速度
- 中断,DMA,通道,I/O处理机,多总线
提高运算器速度
- 高速芯片,改进算法,快速进位链
系统的并行性
概念
- 并发,并行
等级
- 过程级(程序,进程),粗粒度,软件实现
- 指令级(指令之间,指令内部),细粒度,硬件实现
原理
串行执行
二级流水
影响指令流水效率的因素
执行时间 >取指时间
条件转移指令
结构相关
- 指令停顿,冲突
- 指令预取技术
数据相关
- 写后读,读后写,写后写
- 后推法,旁路技术
控制相关
- 由转移指令引起
六级流水
性能
- 吞吐率
- 加速比
- 效率
多发技术
- 超标量技术
- 超长指令字技术
结构
取指令部件
指令译码部件
地址形成部件
取操作数部件
操作执行部件
回写结果部件
运算流水线
浮点加减
- 对阶
- 尾数求和
- 规格化
中断系统
概述
引起中断的原因
- 人为设置,程序性事故,硬件故障,I/O 设备,外部事件
需要解决的问题
中断请求标记
中断判优逻辑
中断服务程序入口地址的寻找
- 硬件向量法
- 软件查询法
中断响应
条件
- 允许中断触发器 EINT=1
时间
- 指令执行周期结束时刻由CPU发查询信号
中断隐指令
- 保护程序断点
- 寻找服务程序入口地址
- 硬件关中断
保护现场
- 断点:中断隐指令完成
- 寄存器内容:中断服务程序完成
恢复现场
- 中断服务程序完成
多重中断
概念
实现条件
屏蔽技术
- 屏蔽触发器
- 屏蔽字
断点保护
控制单元
微操作命令分析
外特性
输入信号
- 时钟,指令寄存器,标志,外来信号
输出信号
- CPU 内的各种控制信号
- 送至控制总线的信号
多级时序系统
- 机器周期
- 时钟周期
- 机器周期,节拍(状态)组成多级时序系统
- 机器速度与机器主频的关系
控制方式
- 同步控制
- 异步控制
- 联合控制
- 人工控制
设计
- 组合逻辑
- 微程序
参考地址:计算机组成原理(哈工大刘宏伟)135讲(全)高清
计算机组成原理 (哈工大)相关推荐
- 哈工大计算机学院计算机组成原理,哈工大威海计算机学院计算机组成原理.ppt...
<哈工大威海计算机学院计算机组成原理.ppt>由会员分享,可在线阅读,更多相关<哈工大威海计算机学院计算机组成原理.ppt(21页珍藏版)>请在装配图网上搜索. 1.8086/ ...
- 计算机组成原理(哈工大)学习笔记
文章目录 计算机组成原理 一.计算机系统概论 1.1计算机系统简介 一.计算机的软硬件概念 二.计算机系统的层次结构 三.计算机体系结构和计算机组成 1.2计算机的基本组成 1.3计算机硬件的主要技术 ...
- 哈工大威海计算机组成原理,哈工大威海计算机组成原理复习.pdf
第一章 绪论 1.1 计算机的产生与发展 现代计算机的发展 电子管时代 晶体管时代 集成电路时代 超大规模集成电路时代 1.2 冯.诺伊曼计算机模型 冯诺伊曼计算机的组成,各部分的作用 . 冯诺伊曼计 ...
- 计算机组成原理哈工大期末_浅谈计算机组成原理(三)
1. 第二章:存储系统 通过下面的思维导图来依次分享「存储系统」里面重要知识点. 2. 第一节:存储器的结构 1. 主存储器:简称主存,又称内存储器(内存),用来存放计算机运行期间所需的大量程序和数据 ...
- 计算机组成原理哈工大期末_计算机组成原理(哈工大)——课程知识点总结
问题:电路是如何组成计算机的? 一.计算机的体系结构 冯诺依曼提出:计算机必须有输入.输出.存储器.运算器和控制器五个组成部分.还提出"二进制"和"程序存储" ...
- 计算机组成原理-哈工大刘宏伟(第一篇)
文章目录 计算机系统简介 课程概貌 讲述内容 特色 第一篇 概论 第一章 计算机系统概论 1.1计算机系统简介 一.计算机的软硬件概念 二.计算机系统的层次结构 三.计算机体系结构和计算机组成 1.2 ...
- 哈工大刘宏伟《计算机组成原理》课程框架总结
哈工大刘宏伟老师的<计算机组成原理>采用自顶向下方法,系统介绍了计算机各个基本部件的体系结构.逻辑实现.控制方式.(一定数电基础是必要的,如果了解汇编更有助于理解部分内容) B站链接计算机 ...
- 计算机组成原理17----CPU指令流水线
CPU指令流水线 1.指令流水原理 2.影响流水线性能因素 2.1结构相关 资源相关 2.2数据相关 2.3控制相关 3.流水线性能 3.1吞吐率 3.2加速比 3.3效率 4.流水线多发技术 4.1 ...
- 网学天地计算机组成与原理试题,哈工大2007年秋季学期计算机组成原理期末试题...
哈工大计算机考研全套视频和资料 真题 考点 典型题 命题规律独家视频讲解 详解 网学天地 www e 咨询 QQ 3505993547 哈工大 2007 年 秋 季学期 题号一二三四五六七八九十总分 ...
最新文章
- 先随机后排序的oracle,Oracle用decode函数或CASE-WHEN实现自定义排序
- 国内AI研究「顶不了天、落不了地」,到底什么是基础研究?
- 【源资讯 第37期】一个时代的终结 —— 再见, Flash !
- 知识点:Mysql 索引原理完全手册(1)
- 用 Go 编写一个简单的 WebSocket 推送服务
- 8位可控加减法电路设计_高级工程师:相同的地线GND,却有不同的电路设计含义...
- ArcGIS10.1之crossdomain文件
- ARC单例模式的实现
- 彻底搞懂单例模式如何安全的实现
- HTML结构:自我简介页面
- USB转TTL连接ESP01S
- acp cp linux命令,系统运维
- 国密SM算法有哪些?
- 手把手教你构建 C 语言编译器(0)- 前言
- 有没有人用过迅捷PDF转换器?文件转换效果怎么样?
- read.html5.qq.com,如何通过第三方QQ登录网站首页
- SystemUI之通知图标控制
- Be An Effective Engineer
- ES8新特性 async,await实现异步
- html 游戏键盘,用html+js+css做一个模拟键盘
热门文章
- ssm毕设项目一起学习吧s77u8(java+VUE+Mybatis+Maven+Mysql+sprnig)
- Python的准备工作——安装、配置、第一个项目、汉化(可不做)
- 秒杀常见问题解决思路
- 开源面向对象数据库 db4o 之旅: 深入 db4o “db4o 之旅(三)”
- js表单验证,多字段长度校验
- JSON格式数据转Excel导出
- C语言题目:左旋字符串.
- Oracle 11g R2 Rman备份与恢复(二)
- 【精解】EOS TPS 多维实测
- 使用JEECG框架项目在linux 系统下启动及运行缓慢的问题追踪和解决办法