导图社区 25考研计算机组成原理思维导图
该思维导图系统并且全面的讲述了23考研计算机的知识,内容全面详尽,将复杂的计算机构成以及各部件的运用功能清晰的展现在眼前,不仅适用于考研,也适用于计算机专业学习,非常具有实用性。
编辑于2021-07-07 09:51:43参考吴恩达机器学习教程,参考pytorch官方文档和B站Pytorch入门教程,内部机器学习基本知识,pytorch函数,神经网络搭建方法等
这是一篇关于23计算机操作系统的思维导图。该思维导图从计算机系统概述、进程管理、内存管理、文件管理、i/o设备等几个方面进行归纳总结,适用于考研。
这是一篇关于23考研计算机网络原理的思维导图。计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信路线连接起来,在网络操作系统、网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。
社区模板帮助中心,点此进入>>
参考吴恩达机器学习教程,参考pytorch官方文档和B站Pytorch入门教程,内部机器学习基本知识,pytorch函数,神经网络搭建方法等
这是一篇关于23计算机操作系统的思维导图。该思维导图从计算机系统概述、进程管理、内存管理、文件管理、i/o设备等几个方面进行归纳总结,适用于考研。
这是一篇关于23考研计算机网络原理的思维导图。计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信路线连接起来,在网络操作系统、网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。
计算机组成原理
1. 计算机系统概述
1. /*计算机发展历程
2. 计算机层次结构
系统的组成
硬件系统
软件系统
硬件基本组成
早期的冯诺依曼机
冯诺依曼提出了“存储程序”的概念
特点
1. 由运算器,存储器,控制器,输入设备和输出设备五大部件构成
2. 数据存在存储器,可按地址寻址
3. 数据用二进制位表示
4. 指令由操作码和地址码组成
5. 指令顺序存放
6. 以运算器为核心
现代计算机
以存储器为中心
功能部件
输入设备
鼠标键盘扫描仪等
输出设备
显示器打印机等
I/O设备
存储器
主存
CPU能直接访问
辅存
CPU无法直接访问,用来扩大空间
MAR
通常与PC长度相等
MDR
与存储字长相等
现代通常放在CPU中除了这两还有cache
存储器由存储单元构成
存储元件(存放0/1)
存储字
存储字长(通常为字节的偶数倍)
外设
运算器
核心:ALU(算术逻辑单元)
ACC(累加器)
MQ(乘商寄存器)
X(操作数寄存器)
必备
其他
IX(变址寄存器)BR(基址寄存器)等
通用寄存器
PSW(程序状态寄存器/标志寄存器),用来存放标志信息,如进位之类的
控制器
PC(程序计数器)用来存放指令,可以自动+1
IR(指令寄存器)内容来自MDR,操作码给CU,地址码给MDR
CU(控制单元)
主机
计算机软件的分类
系统软件
数据库管理系统(DBMS),操作系统(OS),语言处理程序,分布式软件系统,网络软件系统,标准库系统,服务性程序等。
应用软件
数据库系统(DBS),计算类程序等
语言分类
机器语言
汇编语言
高级语言
计算机的工作过程
源程序到可执行文件(exe)
预处理->编译->汇编->链接
指令执行过程
取指令
分析指令
执行指令
详见第五章
计算机层级结构
虚拟机器M4高级语言机器
编译程序翻译成汇编语言
虚拟机器M3汇编语言机器
汇编程序翻译成机器语言
虚拟机器M2操作系统机器
机器语言解释操作系统
要靠软件/裸机
传统机器M1机器语言机器
微程序解释机器指令
微程序机器M0微指令系统
硬件直接执行微指令
主要靠硬件/虚拟机
下层是上层的基础上层是下层的扩展
3. 计算机性能指标
机器字长
字长越长,精度越高
数据通路带宽
主存容量
运算速度
吞吐量
响应时间
主频与始终抽泣
CPI(执行一条指令的周期数)
Clock cycle Per Instruction
CPU执行时间
=CPU时钟周期数/主频=(指令条数*CPI)/主频
MIPS(每秒执行多少百万条指令)
=指令条数/(执行时间E6)=主频/(CPI E6)
MFLOPS(每秒执行百万条浮点运算)
标志科学计算机系统性能
2. 数据的表示与运算第二章即是考点也是难点
1. 数制和编码
记数法
基数r:用到的不同数码的个数,10进制基数为10
位权:第i位的位权是
数值可表示为:
进制转换
十进制转换其他:位权展开法
其他转换为十进制
基数取余法
基数取整法
真值和机器数
真值:实际值
机器数:符号数字化的数
字符与字符串
ASCII码
7位,可表示128种,1位作奇偶校验
0-31:通信控制字符;32:空格SP32-126:可印刷字符;127:DEL。
PS:0(011 0000)-9(011 1001)可看作去掉高位的8421码
汉字编码
输入编码
就是输入法输入的
汉字内码
国标码=(区位码)16+2020H
为了与控制码区分
汉字内码=(区位码)16+8080H
为了与ASCII码区分
汉字字形码
用来表示出汉字的图形
2. 定点数的表示和运算
定点数的表示
无符号数和有符号数
机器数定点
定点整数和定点小数
原反补移
原码
反码:范围和原一致
补码,范围比原码多一个1.00…
移码
考点
了解转换
了解范围
[x]补到[-x]补也是取反+1
定点数的运算
定点数的移位运算
算数移位
正数
全部添0
负数
原码添0;补左移添0;补右移添1;反码添1
逻辑移位
通通添0
循环移位
带进位标志
不带进位标志
原码加减运算
原码加法直接加
减法可以利用草稿纸上凑FFFH,让它够减
补码加减运算
[A+B]补=[A]补+[B]补
[A-B]补=[A]补-[B]补
符号扩展
正数
添0
负数
小数后添0
整数前添1
溢出判断
一位符号位
可检测
双符号位
可检测可判断
一符号和进位
可检测
定点数乘法
原码一位乘法
符号单独判断
算术移位实现
补码一位乘法
符号参与运算
根据高低位判断:进行算术移位或+[x]补或[-x]补
补码的累加次数多一次
定点数除法
原码除法(不恢复余数法)
补码除法(加减交替法)
原码若余数为负最后要多加一次
类型转换
有符号数->无符号数
不发生变化
不同字长类型转换
长->短
高位截短
短->长
按照符号扩展规则进行符号扩展
数据的存储方式
大端存储,小端存储
LSB(MSB)最低(高)有效字节
按边界对齐存储
提高了存取速度但是浪费存储空间
不按边界对齐存储
与上面相反
3. 浮点数的表示和运算
浮点数的表示
E阶码
浮点数的表示范围及小数点的实际位置
M尾数
反映精度
规格化浮点数
左规
尾数左移一位,阶码减一
右归
尾数右移一位,阶码加一
IEE754标准
短浮点数float
数符1
阶码8
尾数23
偏置值127(2^8-1)
长浮点数float
数符1
阶码11
尾数52
偏置值1023(2^11-1)
特征
1.尾数用采取隐藏策略的原码表示
1.阶码用移码表示,方便比较大小
真值的对应关系
E=0,M=0
值为0
E=0,M≠0
非规格化数
1≤E≤254
E=255,M≠0
真值"NAN"(非数值)
E=255,M=0
真值为正无穷或者负无穷
浮点数加减
1. 对阶
小阶向大阶看齐
2. 尾数求和
按定点数加减
3. 规格化
规格化补码尾数应当满足1/r≤|M|≤1(r为基数)
4. 舍入
"0"舍"1"入
恒置"1"
5. 溢出判断
尾数出现01.xxx或者10.xx并不代表溢出,可以右归来解决
浮点数类型转换
int->float可能损失精度
float/double->int可能溢出也可能影响精度
4. 算数逻辑单元(ALU)
基本功能包括加减乘除和逻辑运算,以及移位求补等
一位全加器
串行加法器
串行只有一个全加器,逐位送回寄存器
并行加法器
串行进位(波形进位)
进位信号逐级行成
并行进位(先行进位)
进位信号同时形成
分组并行
单级先行
组内并行,组件并行
多级先行
组内并行,组间并行
ALU的功能和结构
带标志加法器
生成相应的标志信息
一定使用多级先行
算术逻辑单元
一种功能性较强的组合逻辑电路
核心是带标志加法器
补码的加减运算部件
3. 存储系统
1. 存储器概述
存储器分类
按作用
1.主存储器(内存)
2.辅助存储器(外存)
3.高速缓冲存储器(cache)
按存储介质
1.磁表面(磁带瓷盘)
2.磁芯
3.半导体
4.光存储器(光盘)
按存储方式
1.RAM
2.ROM
3.串行访问(需要按物理位置先后顺序寻址)顺序存储存储器(SAM):如磁带直接存储存储器(DAM):如磁盘,光盘
按信息可保存
1.易失性存储器
2.非易失性存储器
性能指标
1.存储容量
2.单位成本
3.存储速度:数据传输率=数据宽度/存储周期;存取时间(Ta),存取周期(Tm),主存带宽(Bm)
PS:Tm=Ta+恢复时间
2. 层次结构
核心:CPU
寄存器
cache
主存
磁盘
磁带,光盘
cache,主存与CPU直接连接,其余想交换信息则要通过这两
主存与cache通过硬件(透明)
3. 半导体存储器均支持随机存储
RAM
SRAM(Static)
双稳态触发器记忆信息,不需要刷新
用作cache
特点:
集成度低、价格高、功耗大、速度快
非破怪性读出
DRAM(Dynamic)
栅极电容来存储信息需要刷新,用作主存
刷新方法
集中
长死时间
|-----W/R-----|--刷--|…
分散
无死时间
|W/R|刷|W/R|刷|…
异步
短死时间
|-W/R-|刷|-W/R-|刷|…
按行刷新透明
刷新周期
通常2ms
特点
集成度高、价位低、容量大、功耗低
破坏性读出
地址复用技术
地址线减半
片选线翻倍(行通选和列通玄)
内部结构
1.存储体
2.地址译码器
3.I/O控制电路
4.片选控制信号
5.读写控制信号
存储器的读写周期
RAM读周期
RAM写周期
ROM
特点
结构简单,位密度高,非易失性,可靠性高
类型
掩模式(Mask)MROM
生产写,后不能修改
一次性可编程(Programmable)PROM
允许专门设备写入,写后不能更改
可擦除可编程EPROM(ErasableProgrammble)
用户写入,多次修改
可改写,但次数有限且慢,不能作为RAM
闪速存储器(FalshMemory)
不加电可长期保存信息,且快速擦写和重写
固态硬盘SSD
基于闪存,由控制单元和falsh组成
主存储器的基本组成
存储元---->存储单元---->存储体
4. 主存与CPU的连接
连接原理:数据总线,地址总线(决定最大内存空间),控制总线
扩展
位扩展
地址线、片选线、读写线并联
数据端分别引出
同时工作有效
字扩展
地址线、数据线、读写线并联
片选信号译码
可以不同时工作
字位扩展
同时扩充字和位
片选
线选法
线路简单但是很浪费地址资源
译码片选法
例:74L138-三个使能端,3个输入,8个输出
存储器和CPU的连接
1.合理选择芯片
2.地址线连接
3.数据线连接
4.I/O线连接
5.片选线
5. 双端口RAM和多模块存储器
双端口RAM
分别具有两组相互独立的地址线、数据线和读写控制线
允许两个独立的控制器同时访问
发生错误的情况:
1.同时写(写入错误)
2.写时读(读出错误)
解决方法:添加忙(BUSY非)信号,为0时暂时关闭一个访问
多模块存储器
单体多字存储器
一次并行读多个字(一个存储单元)
对于有些数据存放在不同存储单元(非对齐)需要多次读取对连续存放的指令和数据很有效,但转移效率低
多体并行存储器
高位交叉编制
不能并行访问(没啥用)
低位交叉编制
流水线式存储,提高带宽,并行访问
模块数应该大于等于m(交叉存储度)=T(存取周期)/r(传送周期)
考点
时间计算t=T+(m-1)r
根据地址判断哪个存储器(根据地址后几位判断)
6. 高速缓冲存储器Cache
cache利用程序的局部性原理来缓解主存和CPU速度差
空间局部性:顺序存放(例如数组)
时间局部性:循环结构多次访问
cache的基本工作原理
cache分块(行)=主存分块(页)
以字为单位和CPU交换数据以块为单位和主存交换数据
cache命中
命中率H=Nc/(Nc+Nm)
Nc:cache命中,Nm:主存命中
平均访问时间
tc:cache访问时间,tm:未命中时的访问时间
cache与主存地址结构
主存地址
标记(Tag)
(行号(直接映射)/组号(组相联)/全相联没有)
块内地址
cache标记项(每行对应一个)
有效位
(脏位,替换标记*不一定有*)
标记(Tag)
cache地址
行号(可以推出组号)
块内地址
cache与主存的映射方式
直接映射
固定位置,根据块数取余来得到
有块号,标志短,但是cache空间冲突率高
全相联
任意位置
没有快号,标志长,但是cache空间冲突率低
组相联
组内全相联,组间直接映射
结合两者有点,根据组数取余
cache中的主存快替换算法
随机-RAND
简单,命中率低
先进先出-FIFO
比较容易实现,但是没有利用局部性原理
最近最少使用-LRU(Least Recently Used)
为每行设置一个计数器,计数器从最大为行数-1具体规则见王道126页
最不经常使用-LFU(Least Frequently Used)
每行也设计一个计数器,从0开始,每次访问都+1和LRU相似但不相同
cache写策略
写命中
全写法(又称写直通)(write-througe)
同时写入cache和主存
写回法(write-back)
命中只写cache,cache被换出时写回主存
写不命中
写分配法
先调入cache,再写入更新cache
非写分配法
只写入主存,不调块
现代cache通常分级(3级),用写分配法和写回法搭配使用
考点
平均访问时间和命中率的计算
cache与主存的地址对应关系
cache位数的计算
不同映射对主存地址结构的划分
LRU替换原理
写策略如何搭配
7. 虚拟存储器
虚拟地址基本概念
将主存和辅存统一编制用户可设计的叫虚地址或者逻辑地址实际的主存地址叫实地址或物理地址
虚拟存储器只对应用程序员是透明的有主存的速度和辅存的容量
页式虚拟存储器
有效位(也叫装入位,是否在主存)
脏位(也叫修改位,是否修改)
引用位(也叫使用位置,配合替换策略)
页表(慢表)
每个进程都有一个页表基准存储器,用来存放页表首地址
快表(TLB)
cache(SRAM)组成,装入的是页表的副本(类似cache装的主存的副本)
全相联和组相联方式存储
快表是一种相联存储器,可按照内容寻址
优点:页表简单,调入方便。缺点:会有零头浪费,页不是逻辑独立的实体,不及段式方便
段式虚拟存储器
按程序的逻辑结构划分,各段长度因程序而相异
优点:段的分界与自然分界对应,具有逻辑独立性,易于编译、管理、修改和保护,也便于多道程序的共享。缺点:容易在段间留下不好利用的碎片
段页式存储器
按逻辑结构分段,再把段分为固定的页
每个程序对应有一个页表
虚地址:段号,段内页号,业内地址
优点:两者的优点相结合缺点:要先查段表,再查页表,开销较大
具有TLB和cache的多级存储系统
查TLB,成功就地址转换再找cache,缺少去主存查页表查页表,成功就地址转换再找cache,缺页就插页或者换页查cache,成功就访问,缺失就插页或者换页,并做好标记和有效位
4. 指令系统
1. 指令格式
指令位于软件和硬件的交界面上
指令的基本格式
操作码&地址码
操作码给出应该执行什么性质的操作和具有何种功能
地址码给出被操作的信息(指令或者数据)的地址
指令字长
取决于操作码的长度,和机器字长无直接关系
等于机器字长的指令叫单字长指令
操作数和地址码数量
零地址指令(不需要操作数)
一地址指令(可隐含操作数)
二地址指令(A1)op(A2)->A1
三地址指令(A1)op(A2)->A3
四地址指令在三地址加上A4:下地址
定长和扩展操作码比较
定长操作码指令格式
优点:简化计算机硬件设计,提高指令识别速度缺点:占用更多固定位,操作数地址受限
扩展操作码指令格式
优点:保持丰富指令缺点:增加编码和分析难度
指令种类
与CPU交换数据
数据传递类
运算类
算术逻辑操作
移位操作
控制类
转移操作
转移,调用,陷阱,返回等
与I/O交换数据
输入和输出操作
2. 指令寻址方式
指令寻址
顺序寻址
pc自动加一
跳跃寻址
控制pc到指定位置
下一条指令均由PC给出
数据寻址
格式
操作码+寻址特征+形式地址A
不访问内存
隐含寻址
操作数的地址隐含在寄存器PS:常见的是累加器(ACC)
优点:缩短字长缺点:增加存储操作数或者隐含地址硬件
立即寻址
op+#+立即数(操作数)
优点:不访问主存,执行时间短缺点:A的位数限制了立即数取值范围
访存/寄存器寻址
直接寻址EA=A
优点:仅访问一次主存,不需专门计算操作数地址缺点:A的位数限制了寻址范围,且操作数不易修改
间接寻址EA=(A)
优点:扩大寻址范围,便于编程序缺点:多次访存
寄存器寻址EA=Ri
类似直接寻址,对象由主存换成寄存器
优点:不访存,只访问寄存器,寄存器寻址指令短缺点:寄存器贵,计算机寄存器数量有限
寄存器间接寻址EA=(Ri)
类似间接寻址,操作数最终在主存中,寄存器存放主存的地址
偏移寻址
相对寻址EA=(PC)+A
适用于转移指令,便于程序移动,其中A可正可负,补码表示便于程序浮动,广泛用于转移指令
基址寻址EA=(BR)+A
基址寄存器面向操作系统,BR为基址寄存器适用于多道程序,可用于编制浮动程序
变址寻址EA=(IX)+A
变址寄存器面向用户内容可变,A不变适用于循环,数组问题
特殊寻址
堆栈寻址
用特定寄存器(叫堆栈指针SP)给出栈顶地址一般为无操作数指令(隐含SP),用硬件实现
硬堆栈
寄存器堆栈特殊的寄存器,造价昂贵
软堆栈
从主存划一块区域
3. CISC和RISC
CISC&RISC
CISC(Complex复杂指令系统计算机)
常用于计算机等设备
RISC(Reduced精简指令系统计算机)
常用于手机平板等设备
两者区别
指令数目
CISC大于200条,RISC小于100
指令字长
CISC不固定,RISC固定
可访问指令
CISC不加限制,RISC只有load和store
通用寄存器数量
CISC少,不需暂存状态,一条指令直接完成,RISC多
目标代码
CISC难以优化编译成高效目标程序代码,RISC可以(并行和重复使用)
控制方式
CISC采用微程序控制,RISC采用组合逻辑控制(硬布线)
指令流水线
CISC可以实现,RISC必须实现
5. 中央处理器
1. CPU功能和基本结构
cpu的具体功能
指令控制
取指令、分析指令和执行指令的操作
操作控制
将操作信号送往相应的部件
时间控制
对各种操作进行时间控制
数据加工
算术与逻辑运算
中断处理
异常情况和特殊请求进行处理
cpu构成
运算器
算术逻辑单元ALU
算术/逻辑运算
暂存寄存器
暂存数据
累加寄存器ACC
通用寄存器,用来存放ALU运行结果
通用寄存器组
程序状态字寄存器PSW
溢出OF、符号SF、零ZF、进位CF等
移位器
计数器
控制乘除的操作步数
控制器
程序计数器PC
指出下条指令在主存中的地址
指令寄存器IR
指令译码器
仅对操作码进行译码,并向控制器提供信号
存储器地址寄存器MAR
存储器数据寄存器MDR
时序系统
微操作信号发生器
根据IR,PSW,时序信号产生控制信号
透明?
可见
PSW
ACC
通用
PC
不可见
移位
暂存
IR
MAR
MDR
2. 指令执行过程
指令周期
去除并完成一条指令的时间
一个指令周期包括若干机器周期
一个机器周期包括若干时钟周期
取指周期
用PC中地址主存指令寻址,并取指令到IR
间指周期
取操作数有效地址
执行周期
读操作数,通过ALU操作产生执行结果
中断周期
指令结束前中断查询信号,若有中断请求,则进入中断周期
指令执行方案
单指令周期
指令执行时间相同,串行执行,取最长指令执行时间
多指令周期
指令执行时间不同,串行执行,按需分配
流水线方案
多指令并行执行
3. 数据通路的基本结构和功能
在功能部件之间传送的路径叫数据通路,路径上的部件叫数据通路部件
数据通路的基本结构
cpu内部单总线方式
存在较多冲突
cpu内部三总线方式
控制总线
数据总线
地址总线
同时在多个总线传送不同数据,效率高
专用数据通路方式
每两个部件相连,避免使用共享总线,性能高,硬件量大
PS:内部总线,系统总线和通信总线区别;数据通路和数据总线区别见第6.1
数据传输种类
寄存器之间数据传送
主存与cpu之间数据传送
执行算术或者逻辑运算
先将第一个取到的数放到寄存器中,然后将寄存器的数据和第二个取到的数放入ALU
4. 控制器的功能和工作原理
控制器的结构和功能
1.从主存中取指,并指出下一条指令2.对指令译码或测试,产生相应的操作信号3.指挥并控制各部件的数据流动方向
硬布线控制器又称组合逻辑控制器详见P214
设计步骤
分析操作序列
写出微操作及节拍
确定微指令格式
编写微指令码点
CPU的控制方式
同步控制方式
有统一时钟,微操作机器周期相同
异步控制方式
没有统一时钟(应答方式)控制电路复杂,按各部件固有速度工作
联合控制方式
大部分同步,小部分异步
微程序控制器
微程序控制器采用存储逻辑实现,将一段微程序放入专门的存储器(CM)
PS:取指微程序是公共的,默认存在
微程序控制的基本概念
微命令和微操作
一 一对应,微命令是控制信号,微操作是执行过程,微命令之间可能相容或互斥
微指令与微周期
微指令对应若干微操作命令,微命令指读取并完成一条微周期花费的时间
主存储器和CM
主存储器位于CPU外,用RAM实现,CM用于存放微程序,用ROM实现
程序与微程序
程序是指令的有序集合,微程序是微指令的有序集合(一条微程序对应一条机器指令)
MAR,PC和CMAR
CMAR(也叫uPC)用来存放控制存储器的读写地址
MDR,IR和CMDR
CMDR(也叫uIR)用来存放CM中读出的指令
微程序控制器的组成
控制存储器CM
微指令寄存器CMAR
微地址寄存器CMDR
微地址形成部件(给出初始微地址和后继微地址的硬件)
设计步骤详见P222
写出对应机器指令的微操作命令及节拍安排
确定微指令格式
编写微指令码点
微指令的格式
微操作码+微地址码(操作控制+顺序控制)
微地址码定位下一个微指令
取指结束后要执行OP(IR)->微地址形成部件;微指令结束要执行Ad(CMDR)->CMAR
微指令的地址形成方式
断定方式
直接由下地址给出
根据机器指令的操作码,经过微操作形成部件形成
增量记数法
(CMAR)+1->CMAR
其他
硬件产生入口
测试网络形成
标志转移
子主题
水平型微指令
微指令的编码方式
直接编码(直接控制)方式
将某个微指令对应位设置为1表示选用该微指令
优点:简单,直观,执行速度快,操作并行性好缺点:微指令字长过长,n个指令就要求有n位
字段直接编码方式
微指令的微命令分成若干小字段,把互斥命令放到同一字段每个小段要留出一个状态
优点:指令短缺点:因为要经过译码电路编译后再发出微命令,比直接编码方式慢
字段间接编码方式(隐式编码)
两层译码,进一步缩短微指令字长
优点:微程序短,执行速度快缺点:微指令长,编写程序麻烦
垂直型微指令
一条垂直型微指令只能定义并执行一种基本操作
优点:微指令短,简单,规整,便于编写程序缺点:微程序长,执行速度慢,效率低
混合型微指令
在垂直型上添加并行操作
动态微程序设计
静态
微程序无需改变,微指令寄存器采用ROM
动态
通过改变微指令和微程序改变机器指令,有利于仿真,采用EPROM(可擦除)
毫微程序设计
机器指令由微指令来解释,微指令由毫微指令来解释(套娃警报)
微程序和硬布线方式比较
工作原理
微程序控制器:微操作控制信号以微程序的形式存放在存储器中,执行指令时读出即可硬布线控制器:微操作控制信号由组合逻辑电路根据当前的指令码、状态和时序及时产生
执行速度
微程序控制器:慢硬布线控制器:快
规整性
微程序控制器:较规整硬布线控制器:繁琐、不规整
应用场合
微程序控制器:CISC CPU硬布线控制器:RISC CPU
易扩充性
微程序控制器:易扩充、修改硬布线控制器:困难
5. 指令流水线
流水线执行方式
顺序执行方式(串行执行方式)
计算:T=3nt
一次重叠执行方式
第k条指令的执行阶段和第k+1条指令的取指阶段重合
计算:T=t+2nt
二次重叠执行方式
第k条指令的分析阶段和第k+1条指令的取指阶段重合
计算:T=2t+nt
流水线的表示方法
指令流程图(纵坐标是第i条指令)
时空图(纵坐标是取址,译码,执行等步骤)
流水线有一个缓冲寄存器(锁存器),用来保存结果给下一流水段使用
流水线的分类
根据流水线使用级别不同分类
部件功能级(如乘法多级运算)处理机级(不同指令过程)处理机间级流水线(不同机器)
根据可以完成的功能分类
单功能流水线和多功能流水线
根据同一时间内各段之间的联系方式
静态流水线:只能按一种功能的连接方式工作动态流水线:动态能在同一时间段进行不同运算
根据流水线各个功能段之间是否有反馈信号
线性流水线:功能只经过一次,不反馈非线性流水线:常用于递归,每次都有反馈
影响因素
结构冒险(资源冲突)
多条指令在同一时刻争抢同一资源
解决:1.暂停相关指令,2.资源重复配置(单独设置数据和指令的存储器)
数据相关(数据冲突)
1写后读
2.读后写,3.写后写(只有乱序发射才可能发生)
解决方案
将后续指令暂停一至几个周期
硬件阻塞
软件插入空指令
数据旁路技术
数据不等存入存储器,直接将数据送到下一个请求该数据的位置
编译优化,调整指令顺序
控制冒险(控制冲突)遇到转移指令,之后的流水线就废了
分支预测
预取两个方向的指令(浪费资源)
加快和提前形成条件码
提高转移方向的猜准率
性能指标
吞吐率
单位时间完成的任务数量
加速比
用流水线与不用流水线的耗时比
效率
时空图的面积比(详见P235)
多发技术
超标量流水线技术
配置多个相同部件
超流水线技术
一个时钟周期再分,每个时钟周期功能部件使用多次
超长指令字
将多条并行操作组合成具有多个操作的超长字指令
6. 总线
1. 总线概述
总线概念
分时与共享
只允许一个部件向总线发送信息(分时),允许多个部件从总线接收信息(共享)
总线设备
主设备(有总线控制权)
从设备(被主设备访问,只能响应)
总线特性(看一下就行)
机械特性(尺寸形状)
电气特性(传输方向和范围)
功能特性
时间特性(信号和时序的关系)
猝发传送
在一个总线周期内传输多个连续地址
总线的分类
片内总线
cpu内部总线,cpu寄存器与寄存器 寄存器与ALU之间的总线
系统总线
细分三类
数据总线(双向传输)
地址总线(单向传输)
控制总线
通信总线
也称外部总线
计算机系统之间
数据通路是数据留经的路线(逻辑实现),数据总线是承载的媒介(物理实现)
系统总线的结构
系统内部连接cpu主存和I/O接口的总线
总线的结构
单总线结构
只有系统总线
简单成本低;不支持并发传送,带宽低,负载重
双总线结构
主存和I/O总线
将慢速的I/O设备分离,需要硬件
三总线结构
主存,I/O和DMA总线
缺点:系统工作效率低优点: 提高了I/O性能,和吞吐量,更快响应命令。
PS:多总线结构并没有物理通路,只有逻辑上的
总线的性能指标
总线的传输周期(总线周期)
完成一个总线操作(申请,寻址,传输,结束),通常包含若干个总线时钟周期PS:包含关系不一定,可能一个时钟周期包含多个总线周期
总线时钟周期
即是机器时钟周期
总线工作频率
总线周期的倒数
总线时钟频率
时钟周期的倒数
总线宽度(总线位宽)
同时传输的位数,32位总线有32根信号线,宽度为32位
总线带宽
总线的最大数据传输率
总线复用
如地址总线和数据总线合二为一
信号线数
3种总线的信号线总和
2. *总线仲裁**大纲已移除*
集中仲裁方式(总线控制部件解决)
链式查询方式
离总线控制部件最近的先响应
计数器定时查询方式
地址上的计数值(从0开始)与设备地址一致,获得控制权
独立请求方式
每个设备都有请求总线和总线允许线,总线按照优先次序批准某个部件的请求
分部仲裁方式
不需要中央仲裁器,每个潜在主模块都有自己的仲裁号和仲裁器p254
3. 总线操作和定时
四个阶段
申请分配阶段
传输请求
总线仲裁
寻址阶段
发出地址和有关命令
传输阶段
数据交换
结束阶段
有关信息从总线撤除
同步定时方式(同步通信)
有统一时钟信号
同步适用于总线长度较短,存取时间比较接近
优点:传送速度快,有较高的传输速率,总线控制逻辑简单缺点:主设备属于强制性同步,不能及时校验
异步定时方式
不互锁方式
请求与回答均自动撤销
半互锁方式
请求需要等回答信号再撤销,回答自动撤销
全互锁方式
请求需要等回答信号再撤销,回答需要等请求撤销再撤销
优点:可靠
缺点:慢
4. 总线标准
系统总线
ISA
工业I标准S体系结构A
最早的
EISA
兼容ISA
局部总线不与CPU相连连接高速北桥芯片
VESA
视频V电子E标准S协会A
PCI
外部P设备C互联I
显卡声卡网卡
PCI-Express
升级版,将取代PCI和AGP
AGP
Accelerated Graphics Port(加速图形接口)
设备总线(通信总线)
RS-232C
通信总线,慢又老
USB
即插即用,热插拔
PCMCIA
PC卡槽,即插即用
有串有并
SCSI
小型S计算机C系统)接口I
IDE(ATA)
连接硬盘和光驱
SATA
连接硬盘
串行
串行工作频率高(好)并行容易出错(no!)串行的新(00后)
其余都是并行
7. 第七章 输入输出系统
1. I/O基本概念
I/O系统
外部设备
I/O设备和通过I/O接口才能访问的设备
I/O接口也叫I/O控制器
外设和主机传输数据时的逻辑部件
输入设备
输出设备
外存设备
I/O系统组成
I/O软件
驱动程序、管理程序等,采用I/O指令和通道实现信息交换
I/O硬件
外部设备,设备控制器,接口等
I/O控制方式
程序查询方式
不断查询
程序中断方式
发出中断才响应
DMA方式
开辟一条直接数据通路“直接”指不用经过CPU。数据通路指逻辑上的,物理上并没有
通道方式
执行I/O命令只要启动相关通道,通道执行通道程序来完成I/O操作
不同处:I/O指令:CPU指令的一部分,通常由操作码,命令码,设备码组成 通道指令:通道程序提前编译好并放在主存,只有通道能识别
2. 外部设备
输入设备
1.键盘
2.鼠标
输出设备
显示器
性能指标:显示存储器VRAM(也称刷新存储器)
容量;带宽。
字符显示器
字符的ASCII码放在VRAM中,点阵存在字符发生器
打印机
工作原理分类
击打式和非击打式
工作方式分类
点阵,针式(防伪好),喷墨,激光等
外存储器
磁盘存储器
组成
磁头数
有多少个磁头(多少面盘面)
柱面数
每面盘片有多少条磁道
扇区数
每条磁道有多少个扇区
磁盘性能指标
磁盘的容量
非格式化容量>格式化
记录密度
道密度,位密度,面密度
平均存取时间
寻道时间+旋转延迟时间+传输时间
数据传输率
单位时间内向主机传输的字节数
地址信息
驱动器号+柱面号+旁面号+扇区号
工作过程
串行进行,不可能同时读写
磁盘阵列RAID
RAID0
类似于低位交叉存储无法校验
RAID1
存两遍,能校验,容量减少一半
RAID2
采用纠错的海明码校验码方式
RAID3
RAID4
RAID5
都是更高级的方式
*光盘存储器*大纲已删除
CD-ROM
CD-R
CD-RW
DVD-ROM
固态硬盘
E2ROM发展起来的,比U盘闪存芯片多,不容易出问题
3. I/O接口
主要功能
主机和外设通信联络控制
地址译码和设备选择
数据缓冲
信号格式转换
传送控制命令和状态信息
基本结构
数据缓冲寄存器
状态/控制寄存器
两个寄存器合二为1,因为他们数据传送方向相反
地址译码和I/O控制逻辑
控制线传来读写信号,地址线的信息来选择相应寄存器(端口)
外设界面控制逻辑
每个I/O接口可有多套,控制多个I/O设备
类型
数据传输类型
并行接口和串行接口
控制方式
程序查询,中断等
灵活性
可编程,不可编程
I/O端口及其编址
统一编址(存储器映射方式)
与存储器公用地址,用访问指令访问I/O设备
优点:使cpu访问I/O更灵活,还可以使端口有较大的编址空间缺点:使内存容量变小,执行速度慢
独立编址
单独使用一套地址,有专门的I/O指令
优点:快,指令便于理解缺点:输入输出指令少,只能对端口进行传送操作,增加了控制的复杂性
注意:I/O端口指可以进行读写的寄存器,若干端口加上控制逻辑可组成接口
4. I/O方式
程序查询方式
不断对外设进行查询,直到准备就绪,在此期间程序不往下执行
程序中断方式
异常和中断
有的书本统称中断,异常检测由CPU自己完成,终端得找中断源,详见操作系统
内中断和外中断
来自CPU外部,与CPU执行指令无关的叫外中断PS:主存故障缺页等属于内中断
过程
中断请求
开中断能响应中断,关终端不能响应(除了不可屏蔽中断NMI)
中断判优
判的中断响应的优先级
硬件最高级,其次软件中断
不可屏高于可屏蔽中断
DMA请求高于I/O中断请求
高速设备优于低速设备
输入设备优于输出设备
实时设备优于普通设备
cpu相应中断的条件
一条指令结束完
中断响应(中断隐指令)
1. 关中断
2. 保存断点
3. 引出中断服务程序
中断向量
中断向量 :中断服务程序的入口地址中断向量地址:中断服务程序入口地址的地址
中断处理过程详见P284
1. 关中断
2. 保存断点
3. 引出中断服务程序
中断响应
4. 保存现场和屏蔽字
5. 开中断
6. 执行中断服务程序
7. 关中断
8. 恢复现场和屏蔽字
9. 开中断
10. 中断返回
中断服务程序
多重中断和中断屏蔽技术
多重中断由第5、7步实现
中断屏蔽判的是中断处理的优先级
DMA方式也是一种I/O接口
DMA控制器的组成
主存地址计数器AR
放要交换主存的地址信息
传送长度计数器WC
长度溢出时,自动发中断信号
数据缓冲寄存器DR
暂存每次的数据
DMA请求触发器
缓冲期准备好数据,发送一个DMA请求
“控制/状态”逻辑
这位是大哥
中断机构
接到中断信号后向CPU提出中断请求
DMA传送方式
停止CPU访问主存
DMA与CPU交替访存
周期挪用
三种可能
CPU不访存
CPU正在访存
等存取周期结束
CPU和DMA同时请求访存
I/O优先级高于CPU
传输完DR里的数据立马释放,是一种单字传送方式
DMA传送过程
预处理
需要CPU协调
送地址等相关信息
数据传送
无需CPU
疯狂传输,直到发中断信号
后处理
需要CPU协调
中断服务程序,DMA结束处理
中断和DMA的区别
中断
DMA
需要保护和回复现场
DMA除了预处理和后处理,其他不用占cpu资源
只能在指令执行完毕
任何机器周期结束都行
中断传送需要cpu干预
DMA不需要CPU干预,故传输速率很高,以块或块组(连续)传输
中断具有异常处理能力
DMA只能传输
优先级较低
优先级相对高
中断靠程序传送
DMA靠硬件传送
中断请求目的 传输数据
中断请求目的: 后处理