计算机组成原理
2023-05-26 14:09:24 23 举报
AI智能生成
计算机组成原理知识点整合by tyz
作者其他创作
大纲/内容
第一章·计算机系统概论(了解)
1.1计算机系统简介
1.1.1计算机的软硬件概念
硬件,指的是计算机的实体部分,如主机,外设等
软件,具有各类特殊功能的程序
系统软件(系统程序)
标准程序库
语言处理程序
操作系统
数据库管理系统
网络软件
服务程序
应用软件(应用程序)
用户根据任务需要所编制的各种程序
1.1.2计算机系统的层次结构
高级语言-汇编语言-操作系统-机器语言-微指令系统
1.1.3计算机组成和计算机体系结构
计算机体系结构:能够被程序员所见到的计算机系统的属性,即概念性的结构与功能特性,包括指令集,数据类型,存储器寻址技术,I/O机理等。
计算机组成:如何实现计算机体系结构所体现的属性
1.2计算机的基本组成
1.2.1冯·诺依曼计算机的特点
计算机由运算器,存储器,控制器,输入设备和输出设备五大部件构成
指令和数据以同等地位存放于存储器内,并可按地址寻访
指令和数据均用二进制数表示
指令由操作码和地址码组成,操作码用来表示操作的性质,地址码表示操作数在存储器中的位置。
指令在存储器内按顺序存放,通常指令是顺序执行的
机器以运算器为中心
1.2.2计算机的硬件框图
现代计算器已转化为以存储器为中心
各部件功能
运算器用来完成算术运算和逻辑运算
存储器用来存放数据和程序
控制器用来控制,指挥程序和数据的输入、运行以及处理运算结果
输入设备用来将人们熟悉的信息形式转换为机器能识别的信息形式(鼠标、键盘)
输出设备可将机器运算结果转换为人们熟悉的信息形式(打印机,显示器)
现代计算机
主机
CPU
算术逻辑单元ALU(运算器)
控制单元CU(控制器)
存储器
主存
辅存
外部设备(I/O设备)
输入设备
输出设备
1.2.3计算机的工作步骤
主存储器(主存,内存)
存储体M
存储元件(存储基元,存储元):每个存储单元包含若干个,能寄存一位二进制代码,
存储单元:存储体的组成,可存储一串二进制代码
存储字:称一个存储单元存储的一串二进制代码为一个存储字
存储字长:二进制代码的位数
存储单元的地址号:每个存储单元的一个编号
MDR(存储器数据寄存器):反映存储字长
MAR(存储器地址寄存器):反映存储单元个数
存取方式:按地址存取
运算器
ACC:累加寄存器
MQ:乘商寄存器
ALU:算术逻辑运算单元
F:状态寄存器
X:操作数寄存器
控制器(取指阶段,分析阶段,执行阶段)
PC(程序计数器):取指令,具有计数功能
IR(指令寄存器):分析指令,存放当前预执行的指令
CU(控制单元):执行指令
I/O
I/O子系统包括各种I/O设及其相应的接口
1.3计算硬件的主要技术指标
机器字长
CPU能一次处理数据的位数,通常与CPU的寄存器位数有关
存储容量
主存容量
主存中存放二进制代码的总位数。即存储容量=存储单元个数*存储字长
辅存容量
通常用字节数来表示
运算速度
主频
吉普森法
MIPS(百万条指令每秒)
CPI(机器主频倒数)
FLOPS(浮点运算次数每秒)
第三章·系统总线
3.1总线的基本概念
将各部件连到一组公共信息传输线上,称为总线连接
总线是连接多个部件的信息传输线,是各部件共享的传输介质
因只有一组总线,当某一时刻各部件都要占用总线时,就会发生冲突,所以必须设置总线判优逻辑,让各部件按优先级高低占用总线。
现代计算机大多数采用各类总线结构
总线结构
面向CPU的双总线结构
单总线结构
以存储器为中心的双总线结构
开辟了一条存储总线,只供主存和CPU间传输信息
3.2总线的分类
3.2.1片内总线
芯片内部的总线,如在CPU芯片内部,寄存器与寄存器之间,寄存器与ALU之间都由片内总线连接
3.2.2系统总线
数据总线
双向传输总线,其位数与机器字长、存储字长有关
地址总线
单向传输,与存储地址、I/O地址有关
控制总线
既有输入,又有输出
常见的控制信号
总线允许
中断请求
存储器读
存储器写
3.2.3通信总线(用于计算机系统之间或计算机与其他系统之间通信)
串行通信总线
并行通信总线
3.3总线特性及性能指标
3.3.1总线特性
机械特性
几何尺寸、形状、引脚个数、排列顺序
电气特性
总线的每一根传输线上信号的传递方向和有效的电平范围
功能特性
总线中每根传输线的功能
地址
数据
控制
时间特性
信号的时序关系
3.3.2总线性能指标
总线宽度
数据总线的根数,用bit(位)表示
总线带宽
每秒传输信息的字节数(MBps)
时钟同步/异步
同步总线:总线上的数据和时钟同步工作
异步总线:总线上的数据和时钟不同步工作
总线复用
一条信号线上分时传送两种信号
信号线数
地址总线、数据总线、控制总线三种总线数的和
总线控制方式
并发,自动,仲裁,逻辑,计数
其他指标
负载能力,电源电压,总线宽度能否扩展
3.3.3总线标准
ISA总线
EISA总线
VESA(VL_BUS)总线
PCI总线
支持即插即用
支持两种电压标准
AGP总线
RS-232C总线
串行总线标准
规定的逻辑电平与计算机系统中TTL和MOS电平不一样
USB总线
串行
3.4总线结构(了解)
3.4.1单总线结构
3.4.2多总线结构
将速度较低的I/O设从单总线上分离出来,形成主存总线与I/O总线分开的结构
3.4.3总线结构举例
3.5总线控制
3.5.1总线判优控制
对总线有无控制功能
主设备(模块):对总线有控制权
从设备(模块):只能响应从主设备发来的总线命令,对总线没有控制权
集中式和分布式
集中式:将控制逻辑集中在一处
分布式:将控制逻辑分散在与总线连接的各个部件或设备上
常见的集中控制优先仲裁方式
链式查询
只需很少几根线就能按一定优先次序实现总线控制,而且很容易扩充设备
对电路故障很敏感(故障率高),且优先级别低的设备可能很难获得请求
计数器定时查询
不如链式查询敏感
增加了控制线(设备地址)数,控制也较复杂
独立请求方式
每一台设备均有一对总线请求线BRi和总线同意线BGi
响应速度快,优先次序控制灵活
控制线数量多,总线控制更复杂
3.5.2总线通信控制
完成一次总线操作的时间(总线周期)
申请分配阶段:主模块提出申请,经过总线仲裁机构决定
寻址阶段:发出本次要访问的从模块(从设备)的地址及有关命令
传数阶段:主模块和从模块进行数据交换
结束阶段:主模块的有关信息均从系统总线上撤除,让出总线使用权
总线通信控制方式
同步通信:通信双方由统一时标控制数据传送,总线传输周期不能改变
异步通信:没有公共的时钟标准,采用应答方式
不互锁
半互锁
全互锁
半同步通信:同步异步相结合,允许不同模块和谐的工作,增设了一条“等待”(WAIT)响应信号
分离式通信:充分发挥系统总线每瞬间的潜力,对提高系统性能起到重大作用
各模块预占用总线使用权都必须提出申请
主模块采用同步方式传送,不再等待对方的回答信号
各模块在准备数据的过程中都不占用总线
总线不存在空闲,充分利用了总线的有效占用
第四章·存储器
4.1概述
4.1.1存储器分类
按存储介质分类
半导体存储器:一种易失性存储器
TTL半导体存储器
MOS半导体存储器
磁表面存储器:非易失性
磁芯存储器:不易失
光盘存储器:非易失性
按存取方式分类
随机存储器(RAM)
存取时间与存储单元的物理位置无关
计算机系统中的主存都采用这种随机存储器
又分为静态RAM(SRAM)和动态RAM(DRAM)
只读存储器(ROM)
MROM
PROM
EPROM
EEPROM
串行访问存储器(顺序存取存储器),如磁盘
按在计算机中的作用分类
主存储器
RAM
ROM
闪速存储器(Flash Memory)
辅助存储器
缓冲存储器
4.1.2存储器的层次结构
存储器的性能指标
速度
容量
每位价格(位价)
两个存储层次
缓存-主存层次:主要解决CPU和主存速度不匹配的问题
主存-辅存层次:主要解决存储系统的容量问题
4.2主存储器
4.2.1概述
现代计算机的MAR和MDR都制作在CPU芯片内
主存中存储单元地址的分配
由存储字号来表示,用8个二进制数表示一个字节
计算器系统既可按字寻址,也可按字节寻址
可以用高位/低位字节地址为字地址
主存的技术指标
存储容量
主存能存放二进制代码的总位数 存储容量=存储单元个数*存储字长
存储速度
存取时间(存储器的访问时间):启动一次存储器操作到完成该操作所需的全部时间
存取周期:存储器进行连续两次独立的存储器操作所需的最小间隔时间,通常存储周期大于存储时间。
存储器带宽:单位时间内存储器存取的信息量,单位为字/秒或位/秒
4.2.2半导体存储芯片简介(不用记图)
控制线主要有读/写控制线与片选线两种。不同存储芯片的读/写控制线和片选线可以不同
半导体存储芯片的译码驱动方式
线选法
重合法
4.2.3随机存取存储器
静态RAM(SRAM)
INTEL 2114
A0-A9为地址输入端
I/O1-I/O4为数据输入输出端
CS为片选信号(低电平有效)
WE为写允许信号(低电平为写,高电平为读)
VCC为电源端
GND为接地端
静态RAM的读周期时序图
静态RAM的写周期时序图
动态RAM(DRAM)
读出信息与原存信息相反,写入信息与输入信息相同
动态RAM的刷新
集中刷新,存在访存“死区”
分散刷新,不存在停止读/写操作的死时间,但存取周期长了,整个系统速度降低
异步刷新,前两种方式的结合,缩短了“死时间”
动态RAM与静态RAM的比较
4.2.4只读存储器
掩膜ROM(MROM):用户不能够改变原始状态
PROM:一次性编程,焊丝是否熔断,未断为1,烧断为0
EPROM:可擦除可编程只读存储器
闪速存储器(Flash Memory):便宜,集成度高,电可擦除重写
4.2.5存储器与CPU的连接
存储容量的扩展
位扩展
增加存储字长
字扩展
增加存储字容量
字、位扩展
既增加存储字的数量,又增加存储字长
存储器与CPU的连接
地址线的连接
数据线的连接
读/写命令线的连接
片选线的连接
合理选择存储芯片
4.2.6存储器的校验
汉明码的组成
添加k位检测位,应满足2^k≥n+k+1
k位检测位记作Ci(i=1,2,4,8…),分别安插在第1,2,4,8…2^k-1位
根据奇偶检测任务,应使检测位和它所负责检测小组中1的个数为奇数或偶数
4.2.7提高访存速度的措施
寻找高速原件
采用层次结构
调整主存结构
单体多字系统:要求指令和数据在主存内必须是连续存放的,一旦遇到转移指令,或者操作数不能连续存放,这种方法的效果就不明显
多体并行系统:采用多体模块组成的存储器。
高位交叉编址
低位交叉编址:在不改变存取周期的前提下,提高存储器带宽
存储器控制部件:排队器,控制线路,节拍发生器,标记触发器
高性能存储芯片
SDRAM
RDRAM
带Cache的DRAM
4.3高速缓冲存储器
4.3.1概述
问题的提出
解决CPU等待I/O设备访存的现象,致使CPU空等一段时间
Cache的工作原理
2^m=M表示主存的块数
2^c=C表示缓存的块数
B=2^b表示块的大小,称为块长
Cache的读写操作
写直达法
写回法
Cache的改进
增加Cache的级数
将统一的Cache变成分立的Cache
4.3.2Cache-主存地址映射
直接映射
每个主存块只与一个缓存块相对应
每个缓存块对应若干个主存块
全相联映射
允许主存中的每一字块映射到Cache中的任何一块位置上
组相联映射
某一主存块按模Q将其映射到缓存的第i组内
4.3.3替换策略(在全相联和组相联映射的Cache中)
先进先出算法
近期最少使用算法
随机法
第五章·输入输出系统
5.1概述
5.1.1输入输出系统的发展概况
早期阶段
分散连接,CPU和I/O设备串行工作,程序查询方式
接口模块与DMA阶段
具有通道结构阶段
具有I/O处理机阶段
5.1.2输入输出系统的组成
I/O软件
I/O指令:CPU指令的一部分
操作码,命令码,设备码
通道指令:通道自身的指令
I/O硬件
5.1.3I/O设备与主机的联系方式
I/O设备编址方式
统一编址
将I/O地址看做存储器地址的一部分
不同意编址
I/O地址和存储器地址是分开的,所有对I/O设备的访问必须有专用的I/O指令
设备寻址:用设备选择电路识别是否被选中
传送方式
串行
并行
联络方式
立即响应方式
异步工作采用应答信号联络
同步工作采用同步时标联络
I/O设备与主机的连接方式
辐射式:不便于增删设备
总线式:便于增删设备
5.1.4I/O设备与主机信息传送的控制方式
程序查询方式
CPU和I/O串行工作,踏步等待
程序中断方式
CPU和I/O并行工作,没有踏步等待现象,中断现行程序
DMA方式
在DMA方式中,主存与I/O设备间有一条数据通路,无需调用中断服务程序
CPU和I/O设备并行工作
CPU总是将总线占有权让给DMA,故又把DMA占用的存取周期称为窃取周期或挪用周期
5.3I/O接口
5.3.1概述
主机与I/O设备之间设置接口的理由如下
实现设备选择
实现数据缓冲,达到速度匹配
实现数据串-并格式转换
实现电平转换
传送控制命令
反映设备状态
5.3.2接口的功能和组成
总线方式连接的I/O接口电路
数据线
设备选择线
命令线
状态线
接口的功能和组成
选址功能
可通过设备选择电路实现
传送命令功能
命令寄存器和命令译码器
传送数据功能
数据缓冲寄存器DBR
反映I/O设备工作状态功能
反映设备工作状态的触发器
5.3.3接口类型
按数据传送方式分类
并行接口
串行接口
功能选择灵活性分类
可编程接口
不可编程接口
按通用性分类
通用接口
专用接口
按数据传送的控制方式分类
程序型接口
DMA型接口
5.4程序查询方式
5.4.1程序查询流程
测试指令,传送指令,转移指令
5.4.2程序查询方式的接口电路
D是完成触发器,B是工作触发器
5.5程序中断方式
5.5.1中断的概念
计算机在执行程序的过程中,当出现异常情况或特殊请求时,计算机停止现行程序的运行,转向对这些异常情况或特殊请求的处理,处理结束后再返回到现行程序的间断处,继续执行原程序,这就是“中断”。
5.5.2I/O中断的产生
有规律,有特征
I/O方式源
计时功能
硬件故障
应用硬件
5.5.3程序中断方式的接口电路
中断请求触发器(INTR)
当其为“1”时,表示该设备向CPU提出中断请求
中断屏蔽发生器(MASK)
当其为“1”时,表示被屏蔽,即封锁其中断源的请求
排队器
硬件
在CPU内或接口电路中(链式排队器)
软件
中断向量地址形成部件(设备编码器)
入口地址
由软件产生
硬件向量法:由硬件产生向量地址,再由向量地址找到入口地址
5.5.4I/O中断处理过程
CPU响应中断的条件和时间
必须满足CPU中允许中断触发器EINT为“1”,该触发器可用开中断指令置位(称为开中断);也可用关中断指令或硬件自动使其复位(称为关中断)
I/O设备准备就绪的时间是随机的,因此CPU响应中断的时间一定是在每条指令执行阶段的结束时刻
I/O中断处理过程
中断请求,中断判优,中断响应,中断服务,中断返回
5.5.5中断服务程序的流程
保护现场
保存程序的断点-由中断隐指令完成
保护通用寄存器和状态寄存器的内容-由中断服务程序完成,或用进栈指令(PUSH)将各寄存器的内容推入堆栈保存
中断服务
对不同的中断请求源,其中断服务操作内容不同
恢复现场
出栈指令
中断返回
中断返回指令
处理中断请求时,出现新的中断请求
单重中断:CPU在执行中断服务程序时,对新的中断请求不予理睬
多重中断:CPU暂停现行的中断服务程序,转去处理新的中断请求,这种现象称为中断嵌套,或多重中断
宏观上CPU和I/O系统并行工作,微观上CPU中断现行程序为I/O服务
5.6DMA方式
5.6.1DMA方式的特点
停止CPU访问主存
优点:控制简单
缺点:CPU基本上处于不工作状态或保持原状态,CPU对主存的利用率并没得到充分的发挥
周期挪用/周期窃取
DMA与CPU交替访问
可将一个CPU周期分为C1和C2两个分周期,其中C1专供DMA访存,C2专供CPU访存
5.6.2DMA接口的功能和组成
DMA接口的功能
向CPU申请DMA传送
在CPU允许DMA工作时,处理总线控制权的转交
管理系统总线,控制数据传送
确定数据传送的首地址和长度,修正传送过程中的数据地址和数据长度
DMA传送结束时,给出操作完成的信号
DMA接口的基本组成
主存地址寄存器(AR)
字计数器(WC)
数据缓冲寄存器(BR)
DMA控制逻辑
中断机构
设备地址寄存器(DAR)
5.6.3DMA的工作过程
DMA传送过程
预处理
指明数据传送方向
送入设备号,启动设备
送入交换数据的主存起始地址
对字计数器赋予交换数据个数
数据传送
数据输入
设备准备好一个字时,发出选通信号,将该字读到DMA的数据缓冲寄存器(BR)中,表示数据缓冲寄存器“满”
设备向DMA接口发请求(DREQ)
DMA接口向CPU申请总线控制权(HRQ)
CPU发回HLDA信号,表示允许将总线控制权交给DMA接口
将DMA主存地址寄存器(AR)中的主存地址送地址总线,并命令存储器写
通知设备已被授予一个DMA周期(DACK),并为交换下一个字做准备
将DMA数据缓冲寄存器的内容送数据总线
主存将数据总线上的信息写至地址总线指定的存储单元中
修改主存地址和字计数值
判断数据块是否传送结束,若未结束,则继续传送;若已结束,则向CPU申请程序中断,标志数据块传送结束
数据输出
DMA数据缓冲寄存器已将输出数据送至I/O设备后,表示数据缓冲寄存器已“空”
设备向DMA接口发请求(DREQ)
DMA接口向CPU申请总线控制权(HRQ)
CPU发回HLDA信号,表示允许将总线控制权交给DMA接口
将DMA主存地址寄存器(AR)中的主存地址送地址总线,并命令存储器读
通知设备已被授予一个DMA周期(DACK),并为交换下一个字做准备
主存将相应地址单元的内容通过数据总线读入DMA的数据缓冲寄存器
将DMA数据缓冲寄存器的内容送到输出设备
修改主存地址和字计数值
判断数据块是否传送结束,若未结束,则继续传送;若已结束,则向CPU申请程序中断,标志数据块传送结束
后处理
执行中断服务程序
DMA接口与系统的连接方式
具有公共请求线的DMA请求方式
独立的DMA请求方式
第六章·计算器的运算方法
6.1有符号数和无符号数
6.1.1无符号数
地址和索引
6.1.2有符号数
机器数和真值
用“0”表示正,用“1”表示负
把符号“数字化”的数称为机器数,而把带“+”或“-”符号的数称为真值
原码表示法
用逗号将符号位和数值部分隔开
整数原码的定义
小数原码的定义
【+0】原不等于【-0】原,即原码中的“零”有两种表示形式
补码表示法
整数补码的定义
小数补码的定义
【+0】补=【-0】补=0.0000,即补码中的“零”只有一种表示形式
当真值为负时,补码可用原码除符号位外,每位取反加一得到
反码表示法
原码的“每位求反”
由【y】补得【-y】补:连同符号位在内每位取反,末位加一
移码:方便判断阶码的大小,与补码只差一个符号位
6.2数的定点表示和浮点表示
6.2.1定点表示
小数点固定在某一位置的数为定点数
6.2.2浮点表示
N=S*r^j,S为尾数,j为阶码,r是基数
基数r可以取2,4,8,16等
尾数r用二进制表示
将尾数最高位为1的浮点数称为规格化数,浮点数表示成规格化形式后,其精度最高
(1)浮点数的表示形式:阶码是整数,阶符和阶码的位数m合起来反映浮点数的表示范围和小数点的实际位置;尾数是小数,其位数n反映了浮点数的精度;尾数的符号Sf代表浮点数的正负。采用这种数据格式的机器称为浮点机。
(2)浮点数的表示范围:m为浮点数阶码的取值,n为尾数的取值。
(3)浮点数的规格化
基数为2时,尾数最高位为1的数为规格化数。规格化时,尾数左移一位,阶码减1(向左规格化);尾数右移1位,阶码加1(向右规格化)。
基数为4时,尾数的最高两位不全为0的数为规格化数。规格化时,左右移动两位
基数为8时,尾数的最高三位不全为0的数为规格化数。规格化时,左右移动三位
6.3定点运算
6.3.1移位运算
空位填补规则
算数移位和逻辑移位的区别:有符号数的移位称为算数移位,无符号数的移位称为逻辑移位。逻辑移位的规则是:逻辑左移时,高位移丢,低位添0;逻辑右移时,低位移丢,高位添0。
6.3.2加法与减法运算
补码加减运算的基本公式
补码加法
补码减法
连同符号位一起相加减,符号产生的进位自然丢掉
溢出判断
一位符号位判断溢出
最高有效位的进位,异或,符号位的进位,为1则溢出
两位符号位判断溢出
2位符号位不同时,表示溢出,最高符号位表示真正的符号
6.3.3乘法运算
原码一位乘
乘积的符号位由两原码符号位异或运算结果决定
乘积的数值部分由两数绝对值相乘
补码乘法
被乘数x符号任意,乘数y符号位正
与原码乘相同,但移位和加按照补码规则计算,乘积的符号自然形成
被乘数x符号任意,乘数y符号为负
去掉符号位,操作同上,最后加【-x】补校正
6.5算数逻辑单元
6.5.1ALU电路
ALU框图
Ai和Bi为输入变量;ki为控制信号,ki的不同取值可决定该电路做哪一种算术运算或哪一种逻辑运算,Fi是输出函数
6.5.2快速进位链
并行加法器
串行进位链
并行进位链
单重分组跳跃进位
多重分组跳跃进位
第七章·指令系统
7.1机器指令
7.1.1指令的一般格式
指令的一般格式
操作码
用来指明该指令所要完成的操作
长度可以是固定的,也可以是变化的
扩展操作码技术:操作码的位数随地址数减少而增加
地址码
四地址指令
共需访问4次存储器,取指令一次,取两个操作数一次,存放结果一次
三地址指令
需访问4次存储器
二地址指令
需访问4次存储器
一地址指令
需访问两次存储器
零地址指令
无地址码,空操作(NOP),停机(HLT)
7.1.2指令字长
指令字长固定/可变
取决于操作码长度、操作数地址长度、操作数地址个数
7.2操作数类型和操作类型
7.2.1操作数类型
地址
无符号的整数
数字
浮点数,定点数,十进制数
字符
ASCII码
逻辑数据
逻辑运算
7.2.2数据在存储器中的存放方式
字地址为低字节地址
字地址为高字节地址
7.2.3操作类型
数据传送
算数逻辑操作
移位
转移
无条件转移
条件转移
调用与返回
陷阱与陷阱指令
陷阱其实是一种意外事故的中断
输入输出
7.3寻址方式
7.3.1指令寻址
数据寻址
跳跃寻址
由转移指令指出
7.3.2数据寻址
立即寻址:形式地址A就是操作数
直接寻址:指令字中的形式地址A就是操作数的真实地址EA,即EA=A
隐含寻址:操作数的地址隐含在操作码或某个寄存器中
间接寻址:形式地址指出操作数有效地址所在的存储器中,EA=(A)
寄存器寻址:地址码字段直接指出了寄存器编号,即EA=Ri
寄存器间接寻址:地址码字段内容为操作数所在主存单元的地址号,即EA=(Ri)
基址寻址:采用专用寄存器作为基址寄存器,EA=A+(BR)
变址寻址:IX为变址寄存器(专用),EA=(IX)+A
相对寻址:将程序计数器PC的内容与指令字中的形式地址A相加,即EA=(PC)+A
堆栈寻址:要求计算机中设有堆栈
7.4指令格式举例
7.4.1设计指令格式应考虑的各种因素
指令系统的兼容性:向上兼容
数据类型
操作类型
指令格式
寻址方式
寄存器个数
7.4.2指令格式举例
PHP-8
指令字长统一为12位
PHP-12
指令字长有16位、32位、48位三种
IBM 360
INTEL 8086/80486系列机
指令字长为1-6个字节,不定长
7.5RISC技术
RISC精简指令系统计算机
让复杂指令的功能由频度高的简单指令的组合来实现
指令长度固定,指令格式种类少,寻址方式种类少
只有取数/存数指令访存
CPU中有多个通用寄存器
采用流水线技术,大部分指令都在一个时钟周期内完成
控制器采用组合逻辑控制,不用微程序控制
采用优化的编译程序
CISC复杂指令系统计算机
指令系统复杂庞大
指令字长不固定,指令格式多,寻址方式多
可以访存的指令不受限制
CPU中设有专用寄存器
绝大多数指令需要多个时钟周期方可执行完毕
采用微程序控制器
难以用优化编译生成高效的目标代码
RISC和CISC的比较
充分利用VLSI芯片的面积
提高计算机运算速度
便于设计,可降低成本,提高可靠性
有效支持高级语言程序
从指令系统兼容性来看,大多数RISC机不能与老机器兼容
第八章·CPU的结构和功能
8.1CPU的结构
8.1.1CPU的功能
指令控制
操作控制
时间控制
数据加工
处理中断
8.1.3CPU的寄存器
用户可见寄存器
通用寄存器
数据寄存器
地址寄存器
条件码寄存器
控制和状态寄存器
控制寄存器
用户不可见
MAR存储器地址寄存器
MDR存储器数据寄存器
IR指令寄存器
用户可见
PC程序计数器
状态寄存器
状态寄存器:存放条件码
PSW寄存器:存放程序状态字
8.1.4控制单元和中断系统
组合逻辑设计方法,为硬连线逻辑
微程序设计方法,为存储逻辑
8.2指令周期
8.2.1指令周期的基本概念
CPU每取出并执行一条指令所需的全部时间称为指令周期
FE:取指周期
IND:间址周期
EX:执行周期
INT:中断周期
PC当前的内容必须保存起来,以待执行完中断服务程序后可以准确返回到该程序的间断处
8.3指令流水
8.3.1指令流水原理
提高器件的性能
改进系统的结构,开发系统的并行性
作业级或程序级
粗粒度,又称为过程级
任务级或进程级
细粒度,又称为指令级
提高运算速度:改进算法,快速进位链
取指令的操作可由指令部件完成,执行指令的操作可由执行部件完成
8.3.2影响流水线性能的因素
取指时间>执行时间
遇到条件转移指令时,下一条指令是不可知的,因为必须等到执行阶段结束后,才能获知条件是否成立,从而决定下一条指令的地址,造成时间损失。
数据相关(资源相关)
写后读相关
读后写相关
写后写相关
控制相关
结构相关
8.3.3流水线性能
吞吐率
加速比
效率
8.3.4流水线中的多发技术
超标量技术
不能重新安排指令的执行顺序
超流水线技术
不能调整指令的执行顺序
超长指令字技术
8.3.5流水线结构
指令流水线结构
取指令-指令译码-形成地址-取操作数-执行指令-回写结果-修改指令指针
运算流水线
8.4中断系统
8.4.1概述-引起中断的原因
人为设置的中断
程序型事故
硬件故障
I/O设备
外部事件
8.4.2中断请求标记和中断判优逻辑
中断请求触发器-INTR
中断判优逻辑
硬件排队
软件排队
8.4.3中断服务程序入口地址的寻找
硬件向量法-寻找入口地址速度快
软件查询法-不涉及硬件设备,但查询时间较长
8.4.4中断响应
响应中断的条件
CPU响应I/O中断的条件是允许中断触发器必须为“1”
响应中断的时间:指令执行周期结束后,响应任何中断源的请求
中断隐指令
保护程序断点
寻找中断服务程序的入口地址
关中断
8.4.5保护现场和恢复现场
保护断点的现场由中断隐指令完成,各寄存器内的现场可在中断服务程序中由用户(或系统)用机器指令编程实现
恢复现场也由中断服务程序完成
第九章·控制单元的功能
9.1微操作命令的分析
9.1.1取址周期
9.1.2间址周期
9.1.3执行周期
非访存指令
清除累加器指令CLA
累加器取反指令COM
算术右移一位指令SHR
循环左移一位指令CSL
停机指令STP
访存指令
加法指令ADD X
存数指令STA X
取数指令LDA X
转移类指令
无条件转移指令JMP X
条件转移指令BAN X
9.1.4中断周期
9.2控制单元的功能
9.2.1控制单元的外特性
输入信号
时钟
指令寄存器
标志
来自系统总线(控制总线)的控制信号
输出信号
CPU内的控制信号
送至系统总线(控制总线的)信号
9.2.2控制信号举例
不采用CPU内部总线的方式
采用CPU内部总线的方式
9.2.3多级时序系统
机器周期
可看作所有指令执行过程中的一个基准时间,确定机器周期,通常要分析机器指令的执行步骤及每一步骤所需的时间
以完成复杂指令功能所需的时间(最长时间)作为基准
以访问一次存储器的时间定为基准时间较为合理
存储字长等于指令字长,取值周期也可看做机器周期
时钟周期
在一个机器周期里可完成若干个操作,每个微操作都需要一定的时间
时钟信号可由机器主振电路发出的脉冲信号经整形后产生,时钟信号的频率即为CPU主频
多级时序系统
一个指令周期包含若干个机器周期,一个机器周期又包含若干个时钟周期(节拍),每个指令周期内的机器周期数可以不等
9.2.4控制方式
同步控制方式
采用定长的机器周期
采用不定长的机器周期
采用中央控制和局部控制相结合的方法
异步控制方式
联合控制方式
人工控制方式
Reset键
连续或单条执行转换开关
符合停机开关
第十章·控制单元的设计
10.1组合逻辑设计
10.1.1组合逻辑控制单元框图
CU外特性
节拍信号
10.1.2微操作的节拍安排
有些微操作的次序不容改变,需要注意微操作的先后顺序
若能在一个节拍内执行,应尽可能安排在同一个节拍内
10.1.3组合逻辑的设计步骤
列出微操作命令的操作时间表
写出微操作命令的最简逻辑表达式
画出微操作命令的逻辑图
优缺点:思路清晰,简单明了/指令系统功能越全,微操作命令就越多,线路也越复杂
10.2微程序设计
10.2.2微操作控制单元框图及工作原理
操作控制字段:发出各种控制信号
顺序控制字段:指出下条微指令的地址 (简称下地址)
工作原理
取指阶段
执行阶段:执行LDA微程序
10.2.3微指令的编码方式
直接编码(直接控制)方式
字段直接编码方式
字段简介编码方式
混合编码
其他
10.2.4微指令序列地址的形成
直接由微指令的下地址字段指出
根据机器指令的操作码形成
增量计数器法
分支转移
通过测试网络形成
由硬件产生微程序入口地址
第一条微指令的地址可由专门的硬件电路产生
响应中断时,可由硬件产生中断周期微程序的入口地址
出现间接寻址时,也可由硬件产生间址周期微程序的入口地址
10.2.5微指令格式
水平型微指令
能一次性定义并执行多个并行操作的微命令
垂直型微指令
类似机器指令操作码的方式
两种微指令格式的比较
水平型微指令比垂直型微指令并行操作能力强、效率高、灵活性强
水平型微指令执行一条机器指令所需的微指令数目少,因此速度比垂直型微指令的速度快
水平型微指令用较短的微程序结构换取较长的微指令结构
水平型微指令与机器指令差别较大,垂直型指令与机器指令相似
0 条评论
下一页