计算机组成原理知识框架学习总结
2022-10-31 10:35:40 0 举报
AI智能生成
登录查看完整内容
计算机组成原理知识框架学习总结
作者其他创作
大纲/内容
ALU
通用寄存器(保存操作数)
暂存寄存器(暂时存放运算结果)
累加寄存器amp;lt;bramp;gt;
状态条件寄存器(也叫程序状态字寄存器)
寄存器
运算器
CU
程序计数器(PC里面存放的是逻辑地址)
指令寄存器(存放的是当前正在执行的指令对程序员透明)
数据寄存器(MDR)
地址寄存器(MAR)
控制器
中断系统
组成
IR
MAR
MDR
暂存寄存器
累加寄存器
移位寄存器
用户透明的寄存器
PC
通用寄存器
堆栈寄存器
状态寄存器(PSW)
程序猿可见寄存器
取指周期(机器周期又叫CPU周期,包含多个时钟周期(对应微操作节拍))
执行周期(机器周期又叫CPU周期,包含多个时钟周期(对应微操作节拍))
指令周期(包含多个机器周期)
单指令周期(所有的指令都选用相同的时间完成)(串行)amp;lt;bramp;gt;
多指令周期(指令周期可以不相同)(串行)
将指令cache和数据cache分离开存放的好处是减少并行的结构相关
流水线方式(并行)
指令执行方案
指令
总线方便拓展
分时和共享
易冲突
速度较慢
总线
拓展不方便
速度较快
不易冲突
专用数据通路
数据通路
微操作命令的分析
指令寄存器中的操作码
标志
时钟amp;lt;bramp;gt;
总线的控制信号(如DMA请求,中断请求)amp;lt;bramp;gt;
输入
CPU的内部信号amp;lt;bramp;gt;
送至控制总线的信号
输出
控制单元的功能
机器周期定长
机器周期的最大长度取决于最繁琐的操作所用的时钟周期个数
定长方式
机器周期可以不相等
不定长
大部分简单的指令放在统一较短的机器周期里面完成amp;lt;bramp;gt;
少数复杂的指令采用局部控制的方式amp;lt;bramp;gt;
中央控制和局部控制的节拍宽度是一样的
中央控制和局部控制相结合的方式
同步控制方式(有固定的时钟同步)amp;lt;bramp;gt;
不需要节拍
需要应答电路的支持amp;lt;bramp;gt;
异步控制方式(没有固定的时钟同步)
大部分采用同步控制
少部分采用异步控制
联合控制方式
控制方式
不易于拓展
一般用在RISC型CPU中
硬布线逻辑控制
操作灵活
速度较硬布线慢
一般用在CISC型CPU中
微程序逻辑控制
机器指令可以分解为一个微操作序列,这一段微操作序列也叫微程序amp;lt;bramp;gt;
微操作和微命令一一对应
微命令是微操作的控制信号
微操作是微命令的执行过程
运行快amp;lt;bramp;gt;
每一位代表一个微命令
微指令的字段较长,需要较大的控制存储器amp;lt;bramp;gt;
直接编码
将互斥的微命令放在一个字段中
微命令状态需要一种表示不操作
字段直接编码
一个字段的微命令需要其他字段的微命令解释amp;lt;bramp;gt;
字段间接编码
直接编码和字段(直接,间接)编码混合使用
混合编码
编码
微地址形成部件(实质是一个译码器)根据操作码形成
断定方式,由微指令的下地址给出
增量计数器(类似于pc)(CMDR)+1→CMDRamp;lt;bramp;gt;
微地址形成
微指令长amp;lt;bramp;gt;
并行度高
和机器指令相差较大
形成的微程序所需的微指令个数较少amp;lt;bramp;gt;
水平型
微指令短
并行度低
和机器指令相差较小
形成的微程序所需的微指令个数较多amp;lt;bramp;gt;
垂直型
微指令的格式
微指令是若干微命令集合
机器指令
控制单元设计
控制单元(CU)
两条指令同时访问一个存储器amp;lt;bramp;gt;
结构相关
按序发射的流水线只会出现这一种数据相关的情况
写后读(RAW)
读后写(WAR)
写后写(WAW)
数据相关(英语从右向左读)
跳转指令造成
控制相关
解决数据相关问题
数据在写回存储器前存放在一个下一条指令可以访问的地方这样会减少推迟时间
数据旁路
阻碍流水线发挥应有的功能
吞吐量(一秒执行的的指令数量)
加速度(不使用流水线和使用流水线的时间之比)amp;lt;bramp;gt;
时空图中占用的面积和总面积的比值,反应的是各部件的利用率
效率
指标
并发执行多条指令amp;lt;bramp;gt;
超标量基数
相邻两条指令在流水线中相差不到一个周期amp;lt;bramp;gt;
超级流水线amp;lt;bramp;gt;
将多条能并行的只能合成一条
超长指令字amp;lt;bramp;gt;
多种运算可以同时执行
动态流水线
拓展
指令流水线
中断允许状态触发器
中断允许
硬件判优
软件判优
中断判优(多个中断源同时请求时)
中断的响应是在指令执行的尾部
中断响应时间
1.关中断
2.保存pcamp;lt;bramp;gt;
3.转到中断服务子程序
中断周期(中断隐指令)
1.保存cpu现场amp;lt;bramp;gt;
2.设备服务
3.恢复cpu现场amp;lt;bramp;gt;
4.开中断
5.中断返回
中断服务子程序amp;lt;bramp;gt;
单级中断(中断服务程序不允许被打断)
保存psw
保存其他寄存器
1.保护cpu现场
在保存现场后提前开中断使得中断服务子程序可以被中断
2.开中断amp;lt;bramp;gt;
3.设备服务
4.恢复现场
5.中断返回amp;lt;bramp;gt;
多重中断(中断服务程序允许被打断)
1.保护现场
2.置屏蔽字amp;lt;bramp;gt;
3.开中断(在开中断前设置中断屏蔽字)
4.中断服务
5.关中断
6.恢复现场amp;lt;bramp;gt;
7.恢复屏蔽字amp;lt;bramp;gt;
8.开中断
带有中断屏蔽的中断服务子程序amp;lt;bramp;gt;
屏蔽字所设置的优先级准确来说是处理优先级而不是响应优先级amp;lt;bramp;gt;
优先级高于本程序设置为0amp;lt;bramp;gt;
本程序的或者是低于本程序优先级的设置为1,最高全1
屏蔽字设置
屏蔽字
中断响应
cpu
1.申请分配阶段
2.寻址阶段
3.传输数据阶段
4.结束阶段(让出总线的使用权)amp;lt;bramp;gt;
总线传输周期(低位交叉编址的多体存储器的传输时间与总线传输周期有关)amp;lt;bramp;gt;
总线宽度(数据线的个数)
尺寸形状
机械特性
传输方向,电压有效范围
电气特性
每根线是传送什么的,一共有多少根线
功能特性
信号的时序关系(那根线在什么时间有效)amp;lt;bramp;gt;
时间特性amp;lt;bramp;gt;
总线特性
总线有关名词amp;lt;bramp;gt;
CPU内部寄存器和寄存器之间
片内总线
数据总线(双向)
地址总线(单向)
控制总线(不考虑单双)amp;lt;bramp;gt;
系统总线
串行通信(适用于远距离的通信)amp;lt;bramp;gt;
并行通信(适用于近距离的通信)amp;lt;bramp;gt;
通信总线
总线的分类
总线的宽度(数据线的根数(体现数据线根数的是总线的功能特性,不是机械特性))
总线的带宽(总线的频率x总线的宽度)
总线的性能指标
所有的设备都连在一条总线上方便拓展
I/O设备和主存共享一条总线统一编址
单总线
IO总线和主存总线
每次IO和主存交换信息的时候都需要通过cpu
双总线
IO总线主存总线和DMA总线
DMA总线和高速外设相连
任意时刻只能使用一个总线,DMA在想内存输入数据时CPU不能占用主存总线,IO总线只有在cpu执行IO指令时才能用得到amp;lt;bramp;gt;
三总线
系统中的总线结构
仅需要三根线(请求,同意,设备忙)
对电路故障敏感amp;lt;bramp;gt;
靠近总线控制部件的设备的优先级amp;lt;bramp;gt;
链式查询amp;lt;bramp;gt;
需要2+log以2为底n根线(将链式的一根同一线换成多根地址线)
总线控制部件里面的有一个计数器方便控制优先级
如果每次计数器都是从上一次的请求的数+1那么所有请求的优先级相同,优先级可变(通过改变计数器的初值实现)
计数器查询
需要2n根amp;lt;bramp;gt;
独立请求
集中仲裁(设备忙的信号是由设备发出的)amp;lt;bramp;gt;
不需要集中总裁的仲裁器,每一个模块都有独自的仲裁号和仲裁线amp;lt;bramp;gt;
分部总裁
总线仲裁
不管是输入还是输出地址信号全程陪伴amp;lt;bramp;gt;
传输数据较快
传输的模块速度不能相差过大,按照最慢的模块来设计公共时钟,保证在一个时钟内能完成操作amp;lt;bramp;gt;
传输的距离较近
同步通信方式
采用请求回答的方式,不需要公共的时钟信号amp;lt;bramp;gt;
可用于并行和串行传输amp;lt;bramp;gt;
主模块请求
不互锁
主模块请求,从模块回答amp;lt;bramp;gt;
半互锁
主模块请求,从模块回答,主模块回答从模块的回答
全互锁
由上之下速度逐渐变慢,安全性逐渐升高
分类
异步通信方式amp;lt;bramp;gt;
总线传输数据的操作
ISAamp;lt;bramp;gt;
EISAamp;lt;bramp;gt;
系统总线amp;lt;bramp;gt;
PCI
PCIE
局部总线
USB(串行)
SATA(串行)
IDEA(硬盘光驱接口)
设备总线
总线的标准
通道
设备控制器
IO设备
带通道的amp;lt;bramp;gt;
接口模块
带接口的
IO硬件
IO软件
IO系统
鼠标键盘
输入设备
显示器
打印机
输出设备
输入输出兼容设备amp;lt;bramp;gt;
1.数据缓冲
2.设备编址amp;lt;bramp;gt;
3.串并型数据转换(一般来说CPU端数据并行,设备端数据串行)amp;lt;bramp;gt;
IO接口的功能
端口是接口内部CPU可以读写的寄存器
占用内存的地址
统一编制
设置专用的IO指令
不统一编制
端口编址
IO端口
IO接口
软件控制
若查询传送完成则将寄存器里面的数据传送给cpu因此传送单位是寄存器存储大小(一般是一个字)
传送的开始,中间,结束都需要cpu干预,cpu的占用最高
程序查询方式amp;lt;bramp;gt;
软件硬件控制
同程序查询类似不过是由接口发起中断来请求cpu把寄存器中的字取走,因此传输单位通常也是一个字
程序开始和结束时需要cpu干预
程序中断方式
硬件控制
直接在
传送一个数据依旧是一个存储周期
DMA方式amp;lt;bramp;gt;
通道方式
IO方式
io设备
早期计算机的核心是处理器
现在计算机的核心是存储器,各种设备也是通过存储器和cup数据传输
核心
采用二进制(二进制方便硬件实现且逻辑简单)
存储程序的思想,指令和数据以同等的地位存放在计算机中
以运算器为核心
指令顺序存放
冯诺依曼结构amp;lt;bramp;gt;
存储器
五大功能部件
机器语言(由01二进制组成,机器唯一可以直接识别的语言)
汇编语言(更容易记忆,但是机器无法直接运行,可以对硬件直接操作)
不生成目标模块一边解释一边运行
解释程序
生成目标模块(较快)
编译程序
高级语言(amp;lt;font color=amp;quot;#c41230amp;quot;amp;gt;方便编写,直接转换为机器语言或者是先转换为汇编再转换为机器语言amp;lt;/fontamp;gt;)
计算机语言
CPI(一条指令包含的时钟个数,一个程序的CPI是一个平均的概念)
MIPS(一秒钟执行的百万指令个数)
MFlLOPS(一秒执行的百万浮点运算)amp;lt;bramp;gt;
机器的性能指标
机器语言(唯一机器能运行的语言)
汇编语言(由amp;lt;font color=amp;quot;#c41230amp;quot;amp;gt;汇编程序amp;lt;/fontamp;gt;生成机器语言)
高级语言(由amp;lt;font color=amp;quot;#c41230amp;quot;amp;gt;编译程序amp;lt;/fontamp;gt;汇编成机器语言)
解释性语言(一遍翻译一遍执行的语言,不生成目标模块,慢)
语言分类
数据库系统不是系统软件
数据库管理系统是系统软件(操作系统用于管理数据库系统的软件)amp;lt;bramp;gt;
系统软件
计算机性能指标
二进制(机器使用)
八进制
十六进制(方便书写)
进制
最高位权重为8
8421码
最高位权重为2且当且仅当要表示的数大于等于5时最高位才为1否则最高位为0
2421码
5421码
有权BCD码
在8421码的基础上加3
余三码
格雷码
无权BCD码
BCD
只能校验奇数个的错误
需要一位使得总个码里面有奇数(奇校验)或者是偶数(偶校验)个1
奇偶校验码
n次多项式包含n+1个数字(包括0次)
在要检验的数据后面添加n个0
循环将亦或结果作为下次循环的输入
如果下次的结果是以0开头则跳过这个多个0保证每次循环输入的都是以1开头的
可以校验n位的错误
也可以纠错不过比较复杂
循环冗余码
海明威码的实质是多个状态的偶校验
校验位在编码中的位置为1248.....amp;lt;bramp;gt;
校验k个需要n个校验位则满足2的n次方amp;gt;=n+k+1
原理
1.确定纠错位的数目
2.在1248等位置放入交错码,其他的位置从小到大放入数据位
将1-m分别用二进制表示
第1个就错位存放上面生成的二进制中所有第一位为1的数据位的异或(不包括自己)
第2个就错位存放上面生成的二进制中所有第二位为1的数据位的异或(不包括自己)
直到所有的纠错位都填写完毕
3.生成纠错位的规则
生成
1.将最终生成的所有信息位用二进制表示
2.将所有的第i位为1的信息位和校验位异或得到ei
3.将所有的ei由大位到小位排序
4.所生成的最终二进制表示的0表示没有错,若不为0则表示第i为出错,(从右向左读)
纠错
海明码
校验码
无符号数可以用来表示地址等不需要正负的地方
无符号数amp;lt;bramp;gt;
正负数都是首位1表示负0表示正后面加真值
原码
正值和原码相同
负值的数据部分原码相反
反码
负值相当于数据部分按位取反末尾加1
计算机用补码表示数据
计算-x的补码将x的补码连同符号位每位取反末尾加一
补码
移码相当于补码的符号位取反
移码可以方便的比较数据的大小
移码
有符号数
数据表示
不考虑符号位都补0
逻辑移位
正数的移位不改变符号位移动数据部分直接补0
直接补0
直接补1
左移末尾空余位置补0右移首位空余位置补1amp;lt;bramp;gt;
负数
算数移位
循环移位
移位
正数加正数出现溢出
负数加负数出现溢出
由于减法实际是按照加法显示的因此都可以看做加法的形式
溢出出现的两种情况两正数相加结果为负,或者是两负数相加结果为正
1.从两个符号位来看如果出现
运算后出现01或者是10表示溢出
无论是否溢出最高位是结果的符号位
2.双符号位
数值位的最高位进位和符号位的进位相同则没有溢出
数值位的最高位进位和符号位的进位如果不同则表示有溢出
3.两个数的进位考虑
溢出判断
乘除
数符
用移码(-127)表示方便比较大小
阶码8位
剩余23位为数据部分(隐藏了前面的一个1,因此实际有效位为24位)
阶数全0全1的时候代表的无穷等特殊表示的数
单精度(共32位)
数符一位
阶码11位
剩余52位为数据部分(隐藏了前面的一个1因此实际有效位为53位)
双精度(共64位)
1.对阶(小阶向大阶对齐)
2.尾数求和
3.规格化
0舍1入法
恒置1法
截断法(最简单)
4.舍入amp;lt;bramp;gt;
若结果阶码下溢按0处理
运算法则
对负数xamp;lt;0,如果-1/2amp;gt; x≥-1,称为规格化数,其补码表示形式为: 1.0x...xamp;lt;bramp;gt;
amp;lt;font color=amp;quot;#c41230amp;quot;amp;gt;特别规定-1/2的尾数为1.1000000不满足规格化形式不是规格化数amp;lt;/fontamp;gt;amp;lt;bramp;gt;
amp;lt;font color=amp;quot;#c41230amp;quot;amp;gt;特别规定-1的尾数是1.0000000因为小数补码允许表示-1(这也可以从另一个层次说明为什么-1/2不是浮点数)amp;lt;/fontamp;gt;amp;lt;bramp;gt;
规格化
浮点数
速度慢
串行加法器
速度较快,但是多个加法器之间仍是串行的,需要依靠低位发来的进位信息
串行进位链
速度快,多个加法器之间是并行的
并行进位链
并行加法器
ALU和加法器不一样的地方在于它不仅能完成加法运算,还能完成其他的运算
ALU除了能完成算数运算(加减乘除等)还能完成逻辑运算(异或,并,或等)
算数逻辑单元(ALU)
算术逻辑运算
int是有符号数,且用补码表示,首位为符号位
将int的补码形式专为为无符号数的真值
int型和无符号位的数
案例
int型比float型的数据精度大但是表示范围小
int转float可能会出现精度丢失的问题,float转int可能会出现错误
int和float
double型的数据比int型的数据精度还高,因此int转double不会出现精度丢失的问题
int和doule
数值改变如无符号数到int的转换可能会变成负值
精度改变如double到float可能会使得小数点后面的精度部分丢失
double d = 0.6;amp;lt;bramp;gt; amp;lt;bramp;gt;float f = (float)d;amp;lt;bramp;gt;amp;lt;bramp;gt;double d2 = f;amp;lt;bramp;gt;amp;lt;bramp;gt;bool b = d == d2;amp;lt;bramp;gt;由于0.6不能用二进制精确表示因此 b为false
由于double和float的精度不一样而十进制的小数并非全部都能用二进制表示因此转换的时候可能会出现精度丢失
类型的转换可能会带来
类型转换
amp;lt;bramp;gt;
无符号数的减法(此时为借位)CF为1表示有借位不够减或者结果为负数
无符号数的加法(此时为进位)CF表示进位为1表示最高位有进位,结果溢出
对于无符号数来说CF(进位/借位标志 )相当于溢出标志
标志寄存器(又叫程序状态字寄存器psw)大小比较
只有以移码表示阶码时,才能用全 0 表示机器零的阶码
机器0和浮点0
数据运算以及表示
主存和cache的交换是以块为单位且由硬件完成
主存和辅存的交换也是以块为单位,由硬件和操作系统共同完成
基于局部性原理
存放数据
cache有自己的地址不和主存共享地址
cache
可以根据内容或地址寻址
依靠的程序的局部性原理,即amp;lt;font color=amp;quot;#c41230amp;quot;amp;gt;访问的不均匀性amp;lt;/fontamp;gt;amp;lt;bramp;gt;
存放的是地址
tlb(块表)
高速存储器
行列地址一次传输
CDROM不是半导体存储器因此也不是ROM,它的后面跟着的ROM只是表示它只读的特性
ROM(只读存储器)
分支主题
amp;lt;font color=amp;quot;#c41230amp;quot;amp;gt;行列地址分分两次送,刷新的时候是按行刷新的amp;lt;/fontamp;gt;
RAM(随机存取存储器)
RAM和ROM都是随机存取的
主存储器(半导体)
磁盘
外部存储器
pc中存放的是指令的逻辑地址
堆栈寄存器中存放的是逻辑地址
基址寄存器中存放的是逻辑地址
寄存器(由触发器构成)
非破坏性读出
不需要刷新
用做高速缓存
容量小,价格高,耗电大
静态RAM
破坏性读出
在一个刷新周期里面提取出一部分时间专门用来刷新,这段时间的代销取决于行数的大小
集中刷新会有一段时间的死时间,这段时间不能进行存取操作
集中刷新
在每一周期的后面都跟一个周期专门用来刷新
分散刷新并不是真正意义上的没有死时间而是将每两个存储拿出一个来用来刷新
分散刷新
异步刷新是在刷新周期里面将集中刷新n行的时间平均分配到整个刷新周期里面
异步刷新的死时间是一个存储周期
异步刷新
虽然说刷新是一次读出和写入但是在一般的情况下按照一个存储周期计算这是规定
刷新是定时的,逐行进行的
再生是对所读的单元进行的,是一种相对随机的方式
刷新和再生的区别
注意
(一般是隔2ms)刷新的实质是先读后写
需要刷新
一般用来做主存
容量较大,价格较便宜,耗电较小
动态RAM
存取时间
恢复时间
存取(存取周期大于存取时间)
先存放高字节位再存放低字节位(存放为12345678)
大端存放
先存放低字节位再存放高字节位(存放为78563412)
小段存放
数据存放(如12345678H)
RAM(断电丢失)
ROM的行列分两次送出因此它的地址线比RAM的小一倍(同等容量的)
出厂的时候写死
MROM(掩膜只读存储器)
可编程一次,不可修改
PROM(可编程只读存储器)
可编程,只能全部擦除,不可局部擦除
EPROM(可擦除可编程只读存储器)
可编程,可局部擦除
EEPROM(电可擦除可编程只读存储器)
可以实现随机存取,但仍然属于只读存储器
Flash(快擦除读写存储器)
CDROM不是只读存储器,ROM只是说明它只读的特性
ROM(断电不丢失)
使用部分的高地址位做片选信号确定是哪一个
1.字扩充
数据线的高位和低位分开分别连在高数据位和低数据位
2.位扩充
先位扩充再字扩充
3.字位同时扩充
有n根输入则有n根输出
线选法
有n根输入则有2的你次方输出
译码法
片选信号
存储器容量扩充
两条相互独立的地址线,数据线和读写控制线
缺点是可以同时读,但是如果有一个在写则另一个不能访问
双RAMamp;lt;bramp;gt;
数据和指令必须连续存放才能发挥预期的作用
单体多字存储器
相当于多个模块组成的存储器,每一个模块都有着自己的独立数据寄存器,读写电路,每一个存储器都可以看错是一个独立的存储器
一个体存满后再存另外一个因此又叫顺序存储
连续地址的数据不能并行传输不同请求源的数据可能可以并行
高位交叉编制的多体存储器
模块存储周期T
总线的传输周期a
模块的个数m满足mamp;gt;=T/a以保证间隔ma个时间后可以启动它确保流水线的正常运行
传送连续地址的数据之间可以并行传输
低位交叉编制的多体存储器
多体并行是指多个存储器来完成存取操作尽可能使得每个总线周期都能传送一次数据
字扩充是指多个芯片组成的一个存储器,这些芯片不同于存储器,他们共享一套读写电路,属于一个存储器
多体并行和字扩充的区别
多体并行存储器
存储器速度的提升
适用于大cacheamp;lt;bramp;gt;
不够灵活,可能会出现抖动现象(频繁换入换出)
直接映射
适用于小cache
灵活但是tag项的字段会比直接映射的多,比较起来时间较长
全相连先比如直接映射命中率有提升,但是这种提升是以每一项的比较时间增加为代价的
全相连amp;lt;bramp;gt;
直接相连和全相连的折中
以组为单位每个组和主存直接直接映
组内全相连,组号确定了,比较小组内所有的tag才能确定这个地址是否命中
n路组向量
cache和主存之间的映射
每一行的数据项大小等于cache和内存交换的块的大小
每一行的标记项的大小等于tag+1位存在位+1位修改位(直写法保持cache和内存中的数据同步因此不需要修改位)+n位替换算法位(直接映射每次只能替换固定的位置因此不用考虑替换算法位)
cache的总容量等于行数乘以单行数据项和标记项的和
cache组成(以行为单位)
cache中tag和高地址位的比较主要依靠内容寻址的相连存储器比较amp;lt;bramp;gt;
每行设置修改位,只有当这一块需要替换时才写回内存amp;lt;bramp;gt;
amp;lt;font color=amp;quot;#c41230amp;quot;amp;gt;cache写不命中时不在内存中修改而是读入cache中修改cache中的内容等这一块被换出时再写回内存amp;lt;/fontamp;gt;amp;lt;bramp;gt;
cache写命中时修改cache,cache替换时再写回内存
写回法
没有修改位,cache和内存保持同步amp;lt;bramp;gt;
amp;lt;font color=amp;quot;#c41230amp;quot;amp;gt;cache写不命中时直接修改内存中的数据,至于这个数据是否需要复制到cache中这个视情况而定,可以复制也可以不复制amp;lt;/fontamp;gt;amp;lt;bramp;gt;
cache写命中时cache和内存中的数据同时修改
全写法(又叫直写法)
写回法和全写法的折中(也修改需要修改位)
仅第一次命中写回到主存中
写一次法amp;lt;bramp;gt;
cache写策略
虚拟的意思是将存储器在逻辑上扩充
划分页是由操作系统决定的不为用户所感知
划分段也是操作系统决定的但是是为用户所感知的
段为用户感知单 不是用户划分的但是是根据用户的编程划分的,方便信息的共享和保护,方便动态申请内存
虚拟存储器
半字长
单字长
双字长
为了方便存储指令字长一般设计为8bit的整数倍
根据字长分类(此处的字长是机器字长而不是存储字长)
不需要操作数的指令如空操作指令,停机指令amp;lt;bramp;gt;
堆栈计算机中0地址可以是从堆栈中弹出两个数将运算结果压入栈amp;lt;bramp;gt;
0地址
只需要一个操作数如取反
另一个操作数隐含在acc中将run算结果也放入acc中amp;lt;bramp;gt;
1地址
前两个的运算结果放入第二个地址的内存单元中
2地址
前两个的运算结果放入第三个地址的内存单元中
3地址
前两个的运算结果放入第三个地址的内存单元中,第四个是跳转地址amp;lt;bramp;gt;
4地址
根据地址的长度
RS(寄存器,存储器型)
SR(存储器,寄存器型)
根据地址的类型
指令类型(一般问什么类型的指令答案都单字长二地址RS型指令)
指令字长可变
指令字长不可变
指令长度是否可变
指令的操作码长度固定,指令的数目固定
定长操作码
可以拿出一部分用做拓展比如拿出两个三地址的指令用于拓展二地址指令
逻辑相对复杂,电路实现复杂且速度比定长慢
不定长的操作码可以拓展指令的数量
不定长操作码
操作码长度是否可变
指令是否可变
顺序寻址
跳跃寻址
指令寻址(都是由pc给出)
地址部分就是操作数,常见于给寄存器赋值的指令中
1.立即寻址
EA = Aamp;lt;bramp;gt;
地址的范围受限于A的长度
2.直接寻址
隐藏寻址操作数的地址不直接给出,可能是acc
3.隐藏寻址amp;lt;bramp;gt;
EA = (A)
寻址范围取决于地址单元的长度
两次访存
一次间接寻址
寻址范围取决于地址单元的长度减一(这个1用于判断寻址是否还需要间接寻址)
多次访存
多次间接寻址
4.间接寻址amp;lt;bramp;gt;
EA = Ri
不需要访存减少时间
寄存器的个数有限减少了指令的长度amp;lt;bramp;gt;
5.寄存器寻址
EA = (Ri)
需要从寄存器取出地址并访存一次获取值
6.寄存器间接寻址
EA = (BR)+Aamp;lt;bramp;gt;
需要取寄存器中的值,和A做加法最后根据结果访存,因此比寄存器间接寻址所需要花费的时间要长
一次访存,一次加法
形式地址A可变
7.基址寻址
EA = (IX)+Aamp;lt;bramp;gt;
形式地址A不可变,但是最后变址寄存器里面的值可以变,常用于数组的地址amp;lt;bramp;gt;
8.变址寻址
EA = (PC)+A
相对寻址基于时间局部性原理
相对寻址常用于转移类指令和编写浮动程序amp;lt;bramp;gt;
9.相对寻址
数据寻址
寻址
指令复杂,方便表示复杂的指令,但是一般这些指令使用的频率不是很高
指令复杂合适为微程序控制方式
CISC(复杂指令集系统)
相对来说指令简单,执行的更快但是不方便表示较复杂的指令
指令简单使用硬布线方式更合适
指令多在一个周期内完成因此可使用流水线技术加速运行,但并非RISC可以使用流水线,CISC有的也可以
RISC(简单指令集)
比较内容amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp;CISCamp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; RISC amp;lt;bramp;gt;指令系统amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp;复杂,庞大amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; 简单,精简 amp;lt;bramp;gt;指令数目amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp;一般大于200amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp;一般小于100 amp;lt;bramp;gt;指令格式amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp;一般大于4amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp;一般小于4 amp;lt;bramp;gt;寻址方式amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp;一般大于4amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp;一般小于4 amp;lt;bramp;gt;指令字长amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp;不固定amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp;等长 amp;lt;bramp;gt;可访存指令amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; 不加限制amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp;只有LOAD/STORE指令 amp;lt;bramp;gt;各种指令使用频率 相差很大amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; 相差不大 amp;lt;bramp;gt;各种指令执行时间 相差很大amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp;绝大多数在一个周期内完成 amp;lt;bramp;gt;优化编译实现amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; 很难amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; 较容易 amp;lt;bramp;gt;程序源代码长度amp;nbsp; amp;nbsp; amp;nbsp;amp;lt;font color=amp;quot;#fdb813amp;quot;amp;gt;较短amp;lt;/fontamp;gt;amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;lt;font color=amp;quot;#fdb813amp;quot;amp;gt;amp;nbsp;较长amp;lt;/fontamp;gt; amp;lt;bramp;gt;控制器实现方式amp;nbsp; amp;nbsp; amp;nbsp;绝大多数为微程序控制amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; 绝大多数为硬布线控制 amp;lt;bramp;gt;软件系统开发时间 amp;lt;font color=amp;quot;#c41230amp;quot;amp;gt;较短amp;nbsp;amp;lt;/fontamp;gt; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;nbsp; amp;lt;font color=amp;quot;#c41230amp;quot;amp;gt;较长amp;lt;/fontamp;gt;amp;lt;bramp;gt;amp;lt;bramp;gt;
两者比较
两种指令系统
指令系统
经验教训总结知识库搭建
知识管理amp;lt;bramp;gt;
技术风险应对专家团队支撑
技术风险
资源问题各层级领导支撑
资源风险amp;lt;bramp;gt;
风险预先识别、事前报备,事中追踪,风险预警,及时识别amp;lt;bramp;gt;研发物料采购单独搭建支撑amp;lt;bramp;gt;
采购风险
风险管控
管控:项目关键资源需求集成,资源集成窗口,优先级排序amp;lt;bramp;gt;amp;nbsp;amp;nbsp;amp;nbsp;amp;nbsp;amp;nbsp;amp;nbsp;amp;nbsp;amp;nbsp;amp;nbsp;amp;nbsp; 项目资源日历整合表,制定资源问题层级解决方法amp;lt;bramp;gt;
沟通:资源问题分级管控,依层级反馈方式解决amp;lt;bramp;gt;
资源
管控:项目关键物料采购需求管理,设计时提前报备,采购前提前沟通
沟通:研发物料敏捷化采购
采购
外部协调
管控:项目里程碑、甘特图amp;lt;bramp;gt;
考核:项目按时达成率
进度
管控:项目目标变更记录表、相关影响分析图amp;lt;bramp;gt;
考核:项目目标达成率
目标
管控:项目设计返工率;工艺技术验证
考核:返工率、返工引起的沉没成本
质量
管控:项目月度预实分析
考核:项目预算达成率分析
成本
内部管控
电器特征
机械特征
功能特征
时间特征amp;lt;bramp;gt;
特征
频率*位数
带宽amp;lt;bramp;gt;
(需要的时钟周期*位宽)/周期频率
数据传输率
总线宽度amp;lt;bramp;gt;
总线复用
同步/异步
仲裁
逻辑
计数
突发工作
自动配置
两两在一总线上传输。总线压力大。设备只能两两通信。效率低,速度不匹配时也有问题
单线
I/O影响CPU效率
以CPU为中心
以存储器为中心amp;lt;bramp;gt;(存储器与CPU之间有存储总线)
将I/O总线分离出来,用通道连接两总线
双线
加个I/O与主存之间的DMA总线
为提高高速I/O速度,加个高数总线形成四总线
CUP与cache、cache与主存、扩展总线
加个高速总线amp;lt;bramp;gt;
四总线
多层PCI总线
结构
数据总线
地址总线
控制总线
在下个时钟必须给出某信号,速度几乎要同步
同步
异步
添加了wait时钟
半同步
充分挖掘总线的效率,不存在空闲时间
欲要占用总线,毕先申请
同步传输amp;lt;bramp;gt;
准备数据阶段不占用总线amp;lt;bramp;gt;
分离
通信控制
链式
独立
独立时钟amp;lt;bramp;gt;
ISA
EISA
VEISA
AGP
PCI-E
连接能力强amp;lt;bramp;gt;
USB
连接DTE与DCE
RS-232C
标准
计算机组成原理知识框架学习总结
0 条评论
回复 删除
下一页