目录
SCSI(Small Computer System Interface)
tips:以下都是自己在网课学习整理的总结跟归纳~可能有自己偏向(就是详略啦~)ヾ(◍°∇°◍)ノ゙(嗯哼 因为大部分都是网课内容而已 主要是拿来自用而已~ 所以感兴趣可以自己去看同款希赛网课——
#梗概导图
一、数据的表示
1、R进制表示及互转
(之前关于进制转换出过一个讲解~我就不在这详细讲了,详细可看【数电复习】进制转换(二进制、十进制、十六进制、八进制)-CSDN博客)
但要注意一点的是,我们写数字的时候,尤其是别的非十进制数时,要标明出是什么进制的!!不然默认都为十进制!!(因为这个就挨过批…)
2、原码、反码和补码
(这个也很简单~简单讲讲要点吧~)
基础了解
(1)组成
原/反/补码通常以8位二进制数表示,且 8位二进制数=1位符号位+7位数值位,符号位为0表正,为1表负,数值位才代表着真正数值,所以以后我们会说到的取反都指的是数值位的取反
(2)关系
原码;
反码:为正,等于原码;为负,原码取反;
补码:反码+1;
(3)关于0的表达
原码:数值位全为0,无论符号位是0/1的值都为0
①00000000 ②10000000
反码:8位全为0/1(正不变,负取反)
①00000000 ②11111111
补码:8位全为0(0的表示方法唯一)
①00000000
注意:
(1)补码的符号位可参与运算且结果不会出错
(2)补码0的表示方法唯一,移码也是(移码:符号位与补码相反其余一样)
(3)计算机中均采用补码表示
取值范围
(网课截图,直接代入具体数好理解点,如n=8,原码/反码范围-127~+127;补码-128~+127
取值个数
首先要知道 取值个数=最大值-最小值+1 ,然后通过范围求个数
定点个数 | |
---|---|
原码 | |
反码 |
|
补码 |
考法
【考法1】补码的编码特点
(网课的表格就总结得很到位啦~
【考法2】原码/反码/补码的取值范围和取值个数
(在这里直接借用网课的表格,感觉蛮清晰的,然后注意的是补码会比原码跟反码多一位是因为补码中“0”的表示是唯一的,而其余两者不是,则对应多出的一个值可表达多一个数
3、逻辑运算
略,在逻辑图里有详细讲过就不再赘述了,丢链接【数电复习】逻辑函数的表示方法及互相转换(表达式、真值表、逻辑图、波形图、卡诺图)(手把手教版(雾_由逻辑函数画波形图-CSDN博客
二、计算机体系结构
1、冯·诺依曼体系结构
五大组成部件:
输入设备、存储器、运算器、控制器(CPU=运算器+控制器)、输出设备
①控制器:
主要组成部件 | 作用 |
---|---|
程序计数器pc | 存放下一条指令的地址 (PC=PC+1) |
指令寄存器IR | 存放当前正在执行的指令 |
指令译码器ID | 分析指令中的操作码 |
地址寄存器AR | 保存当前CPU所访问的内存单元的地址 |
时序部件 | 控制各部件之间有序协调 |
了解扩展
程序计数器pc:
作用:保存将要执行的指令的字节地址(Intel x86系列中称为指令指针寄存器IP)
特点:pc位宽与主存地址总线位宽相同
解析:CPU取指令时,会利用pc的内容作为地址访问主存,并将从主存去除的指令字送入指令寄存器IR中,然后还需要修改pc的值以形成下一条指令的地址。当程序顺序执行时,pc的新值等于pc值加上当前指令的字节长度,可以通过简单的加法器实现。
(注意 变长指令系统中指令的字节长度需要指令译码后才能确定;当程序出现分支跳转时,用分支指令提供的分支地址修改pc的值,形成跳转后的新指令地址)
存储器地址寄存器AR:(简称地址寄存器)
作用:在CPU中AR通常用来保存CPU访问主存的单元地址;无论CPU是取指令还是存取数据,都必须先要访问地址送入AR,直到读写操作完成。
特点:AR位宽和主线地址总线位宽相同
注意:AR非必需的,部分计算机中可直接访存地址加载在地址总线上实现访存。
指令寄存器IR:
作用:用于保存当前正在执行的指令
特点:从主存中取出的指令字放在IR中,其位宽和指令字相同
②运算器:
主要组成部件 | 作用 |
---|---|
算术逻辑单元ALU | 执行算术和逻辑运算 |
累加寄存器AC | 暂时存放运算的中间结果 |
数据缓冲寄存器 | 存放一条指令或数据 |
状态条件寄存器 | 保存运算中的各种标志位信息 |
多路转换器 | 对送入加法器的数据进行选择和控制的电路 |
③存储器:
组成:存储器可分为主存储器(主存/内存)和辅助存储器(辅存/外存,比如磁盘)两大类
和CPU直接交换信息的是主存
作用 | 其他 | |
---|---|---|
主存储器 | 存放指令和数据,并能由CPU直接随机存取 | CPU+主存=主机 |
辅助存储器 | 用于存放一些需要长期保存的程序或数据,断电后也不会丢失 | 特点:容量比较大,但存取速度慢 |
④⑤输入设备和输出设备:
统称输入输出设备,或I/O设备
考法
【考法1】各功能部件描述
熟记控制器和运算器相关部件的功能描述
做题注意:
①操作码和地址码 为指令,指令的地址存放在程序计数器pc中,但地址码不是指令的地址,而是操作数的地址
如(“1+2”的例子)
2、计算机总线
定义 :计算机各种功能部件之间传送的公共通信干线(指的是主板)
分类:通过传输信息种类:
分类 | 作用&定义 | |
---|---|---|
数据总线 | 数据总线 | 传输数据 |
数据总线宽度 | 指CPU中运算器与存储器之间互连的内部总线根数,也指CPU一次读取的二进制位数,同时也说明字长 | |
地址总线 | 地址总线 | 传递数据地址 |
地址总线宽度 | (也叫地址总线根数)决定了寻址的空间大小(内存都是有存储空间的,地址总线意味着每个存储空间都会有唯一的地址) | |
控制总线 | 控制总线 | 传递控制信号 |
举例说明
①数据总线宽度为16,则说明字长为16bit;
②地址总线宽度为16,(意味着它能支撑那么大的一个内存空间)这说明CPU可寻址的空间大小为:;又比如地址总线是一根或一位,一位则对应二进制数中的0与1,说明存储空间地址只能支持两个,即
;如地址总线的位数是两位,两位则对应00,01,10,11这四个,即
,以此类推;
考法
【考法1】计算机总线的分类
-总线的分类及宽度
①总线的分类:数据总线、地址总线、控制总线
②数据总线宽度:也叫数据总线根数,代表CPU一次读取的二进制位数,同时也说明字长的位数(n bit)
③地址总线宽度:也叫地址总线根数,决定了寻址的空间大小()
三、指令系统基础
1、寻址方式
指令的组成(两个部分)
作用 | |
---|---|
操作码 | 指明该指令要完成的操作,如取数、做加法或输出数据等 |
地址码 | 指明操作数的内容或所在的存储单元地址 |
寻址方式
定义:指获得操作数的方法
目的:在指令系统中可采用多种寻址方式,用以实现扩大寻址空间并提高编程灵活性的目的
(其实我感觉寻址,就是为了由地址码最终获得操作数而已,其中寻址方式就是过程中的不同方法,最后都是为了用操作码来对操作数进行对应的运算操作罢了)
常见的寻址方式
考法
【考法1】常见的寻址方式的特点
【考法2】多种寻址方式的目的
“扩大寻址空间并提高编程灵活性”
2、指令系统类型
两种指令集系统
指的是CPU在设计指令系统时,有两种最基本的截然不同的设计思想:CISC复杂、RISC精简
CISC复杂指令集:偏向于用户编程
RISC精简指令集:偏向于机器执行的高效性
指令系统类型 |
指令 | 寻址方式 | 实现方式 | |
---|---|---|---|---|
CISC(复杂) | 偏向于用户编程 | 数量多,使用频率差别大,可变长格式 | 支持多种 |
微程序控制技术 |
RISC(精简) | 偏向于机器执行的高效性 | 数量少,使用频率接近,定长格式,大部分为单周期指令,操作寄存器,只有Load/Store操作内存(Load-取,Store-存) | 支持方式少 | 增加了通用寄存器;硬布线(组合)逻辑控制为主;适合采用流水线 |
考法
【考法1】CISC和RISC的特点对比(如上表)
了解扩展
(本小节是为了 我 这种 没学计组的人 去更了解知识点的扩展面的~因为有些是计组的内容 索性借了佬的书来借鉴~)
首先CISC(复杂)与RISC(精简)的指令系统不同,它们的区别在于采用了不同的CPU设计理念和方法;
对CISC来说,①指令数量多是因为它不仅要更好地支持高级语言,增加了语义接近高级语言语句的指令,还为了满足系列计算机软件向后兼容的需求,使同一系列计算机的新型计算机和高档计算机的指令系统只能扩充而不能减少原来的指令,因此指令数量越来越多
对RISC来说,从CISC发现的“80-20”规律中可知,80%的程序只用到了20%的指令集,而RISC体系结构的基本思路是:针对CISC指令系统指令种类太多、指令格式不规范、寻址方式太多的缺点,通过①减少指令种类、②规范指令格式和③简化寻址方式来方便处理器内部的并行处理,即RISC是在继承CISC的成功技术并克服CISC缺点的基础上产生并发展起来的
然后就是解释一下一些特点:
CISC-可变长格式:对指令字长不固定(结合它的复杂,很好理解就不作过多解释了)
RISC-采用LOAD/STORE结构:由于访问主存指令花费时间较长,因此在指令系统中应尽量减少访问主存指令,只允许LOAD(取数)和STORE(存数)两种指令访问主存,其余指令只能对寄存器操作数进行处理;
RISC-定长格式:①采用简单的指令格式和寻址方式,指令长度固定 ②固定的指令格式。指令长度、格式固定、可简化指令的译码逻辑,有利于提高流水线的执行效率。为了便于编译的优化,常采用三地址指令格式
3、Flynn分类
Flynn分类 | 结构 | 关键特性 | 代表 |
---|---|---|---|
单指令流单数据流SISD | 控制部分:一个 处理器:一个 主存模块:一个 |
一次只执行一条指令 | 单处理器系统 |
单指令流多数据流SIMD | 控制部分:一个 处理器:多个 主存模块:多个 |
各处理器以异步的形式执行同一条指令 | 并行处理器 阵列处理器 超级向量处理器 |
多指令流单数据流MISD | 控制部分:多个 处理器:一个 主存模块:多个 |
被证明不可能, 至少是不实际 |
目前没有,有文献称流水线计算机为此类 |
多指令流多数据流MIMD | 控制部分:多个 处理器:多个 主存模块:多个 |
能够实现作业、任务、指令等各级全面并行 | 多处理机系统 多计算机 |
考法
【考法1】Flynn分类中哪一种是只理论存在
Flynn的4种分类中,只有多指令流单数据流MISD是只有理论意义而无实例的类型
了解扩展
然后我对Flynn分类的补充理解(关于将要扩展部分)是参考这篇
的~Flynn分类法 - Flynn‘s Classical Taxonomy-CSDN博客 但我可能说得没有人家那么好——
大概就是Flynn分类,是按两个独立的维度进行区分的,一个是指令流(Instruction Stream),另一个是数据流(Data Stream)
然后这四种分类是两两组合而成
以下是链接里佬的总结,我不能再狗尾续貂了~
Flynn的分类依据是指令流和数据流,其特点就是:
1、看单个处理单元的指令是否独立
2、看单个处理单元的数据是否独立
3、看是否有多个处理单元
例如:
串行计算机单个处理器 + 单条指令 + 单条数据 = SISD
现代计算机多个处理器 + 独立指令(或单条指令) + 独立数据 = MIMD (或SIMD)
超级计算机多个处理器 + 独立指令 + 独立数据 = MIMD
值得注意的是,现代处理器的架构设计越来越复杂,并不一定只属于一类。
然后 指令流应该就是对应着控制部分(单/多),数据流就是对应处理器部分(单/多)
4、流水线技术
目的:极大提高CPU执行指令的效率
流水线周期:各流水段中,执行时间最长的那一段
流水线时间计算
n条指令,采用流水线其执行时间为:(t1+t2+t3)+(n-1)t
其中t是流水线周期,它是t1/t2/t3中最长的那一段;(t1+t2+t3)为第一条指令顺序执行的时间
流水线技术指标
①吞吐率:
单位时间内流水线完成的任务数量(即完成的指令的条目),(实际吞吐率)
n表示指令条数,表示处理n条指令所需要的时间
理论上最大的吞吐率是:1/流水线周期(理论上最大吞吐率)
②加速比:
不使用流水线所用的时间与使用流水线所用的时间比即为加速比
(加速比与所处的位置相关)
③效率:(了解即可)
流水线的设备利用率成为流水线效率(处于工作的部件跟总部件的比值)
(采用流水线完成n个任务占用的时空区域有效面积与所占区域总面积之比)
注:各段流水时间相同,就也能提升流水线的性能
相关术语
MIPS(Million Instructions Per Second):表示每秒处理的百万级的机器语言指令数
CPI(Clock cycle Per Instruction):平均指令周期数,表示平均每条计算机指令执行所需的时钟周期
考法
【考法1】流水线计算
流水线周期t | 各流水段中最长的那一段 |
流水线计算公式 | (t1+t2+t3)+(n-1)t 其中t是流水线周期 |
理论上最大吞吐率 | 1/流水线周期 |
【考法2】流水线技术指标及相关术语
技术指标 | 相关描述 |
---|---|
吞吐率 | 单位时间内流水线完成的任务数量(指令条目) |
加速比 | 不使用流水线所用的时间与使用流水线所用的时间比 |
相关术语: MIPS:每秒处理的百万级的指令数 CPI:平均指令周期数,表示平均每条指令执行所需的时钟周期 PCI:Peripheral Component Interconnect的缩写,它是一种计算机总标准,用于连接计算机内部的各种外部设备。PCI总线提供了高速数据传输和通信的能力,使得计算机可以与各种硬件设备进行交互和通信 MFLOPS:指每秒执行的百万浮点运算次数(Million Floating Point Operations Per Second)。它是衡量计算机或计算设备性能的指标之一,特别适用于评估处理器、图形处理器(GPU)和其他计算设备在执行浮点运算方面的能力。 |
四、存储系统
1、多级存储结构
采用多级存储结构的目的:解决存储容量、成本和速度之间的矛盾的问题
cache缓存—主存层次 和 主存—辅存层次
层次 | 主要作用 | 实现方式 |
---|---|---|
cache缓存—主存层次 | 缓和CPU和主存之间的速率矛盾 | 硬件 |
主存—辅存层次 (即内存到磁盘) |
逻辑扩大主存空间 | 软、硬件 |
利用局部性原理 |
该两层都遵循程序局部性的原理
解析
主存—辅存层次:当存储内存不够某程序运行的空间时,物理内存不够,就可以从磁盘中调用部分空间,与主存组成一个虚拟存储器来满足程序执行的需求
局部性原理
定义:是层次化存储结构的支撑
解析:即程序在执行的过程当中,实际上是逐步执行的,会有时间局限性和空间局限性
-时间局部性:刚被访问的内容,立即又被访问
-空间局部性:刚被访问的内容,临近的空间很快被访问
(可以把以上局部性的内容放在cache中,方便访问,加快访问速度)
了解扩展
时间局部性:是指当程序访问了一个存储位置时,该位置在未来可能会被多次访问,程序的循环结构和调用过程就很好地体现了时间局限性。
空间局部性:是指一旦程序访问了某个存储单元,则其附近的存储单元也即将被访问。计算机指令代码、数组、结构体函数通常在主存中顺序存放,对应的数据访问具有较强的空间局部性。
考法
【考法1】多级存储的速度/容量/目的
速度:越靠近CPU速度越快
容量:越远离CPU容量越大
【考法2】cache缓存—主存层次 和 主存—辅存层次
2、主存
主存储器(Main memory)
简称主存,其作用是存放指令和数据,并能由中央处理器(CPU)直接随机存取。主要由随机存取器RAM和只读存储器ROM组成,主要为DRAM组成
主存 | 可读可写 | 掉电丢失 | 需要动态刷新 | |
---|---|---|---|---|
ROM | 仅可读 | 否 | / | |
RAM | SRAM (静态) |
是 | 是 | 否 |
DRAM(主要) (动态->指内存) |
是 | 是 | 是 |
芯片类型
芯片类型 | 可读可写 | 可擦除 |
---|---|---|
ROM | 只读存储器 | 不可 |
EPROM | 可擦除可编程ROM | 紫外线可擦除 |
EEPROM | 电可擦除可编程ROM | 电可擦除 |
Flash Memory | 易于擦除和重写 | EEPROM的升级 |
在微机的发展初期,BIOS都存放在ROM(只读存储器)中,除此之外还有这几种;
解析:闪速存储器(Flash Mermory):简称闪存,(U盘的主要储存部分,固态硬盘也是由闪存来组成的),在不加电的情况下能长期保持存储的信息,它既有ROM的特点,又有很高的存取速度,而且易于擦除和重写,功耗很小,也可用作固态大容器存储器的存储芯片
考法
【考法1】主存的组成(详看上表)
【考法2】Flash闪存的特点
Flash闪存:可读可写,掉电不丢失,属于非易失性存储器,以块为单位进行擦除和重写,可代替ROM,但不能代替RAM和主存。
主存容量
采用随机存取方式存储,需对每个存储单元进行编址
地址编号通常采用16进制进行表示
主存容量=存储单元的个数*存储单元的容量
表示存储容量的相关单位:
字:通常为字节的整数倍,常见的字长有:8 / 16 / 32 / 64 bit;
字长实际表示CPU一次性能处理的二进制的位数;
字节:用B表示,1B=8bit;
位:用bit(比特)表示,一个二进制表示1bit;
举例:1KB=1024B
1MB=1024KB
1GB=1024MB
存储芯片片数计算
主存的总容量,实际上又是由一片或多片存储芯片以控制电路构成的,因此可知:
存储芯片片数=主存总容量/单个存储芯片容量
考法
【考法1】主存容量计算
主存容量=存储单元的个数*存储单元的容量
存储芯片片数=主存总容量/单个存储芯片容量
注:存储单元个数即地址编号
存储单元容量即字长
3、Cache
cache定义
cache高速缓冲寄存器是位于CPU和主存之间,容量较小,但速度很高的存储器,通常由SRAM(静态RAM)组成。
cache利用局部性原理,将主存中可能被访问的内容调入速度更快的cache中,以解决CPU和主存之间速度不匹配的问题,进而提升计算机性能。
Cache和主存间的映像方式
(因为cache的内容是来自主存,所以与主存之间会存在对应的一个映射关系)
主存与cache的地址映射方式有三种:直接方式、全相连方式、组相连方式
映射方式 | 特点 |
---|---|
直接相连 | 将一个主存块存储到唯一的一个Cache行 |
全相连 | 将一个主存块存储到任意的一个Cache行 |
组相连 | (先分组然后存放在组当中任意的一行) 将一个主存块存储到唯一的一个Cache组中任意一行 |
图像解析
三种映射方式的比较:
冲突率 (高、中、低) |
电路复杂度 (复杂、简单、折中) |
|
---|---|---|
直接相联映象 | 高 | 简单 |
全相联映象 | 低 | 复杂 |
组相联映像 | 中 | 折中 |
注:主存与Cache之间的地址映射直接由硬件自动完成
Cache的命中率
定义:指CPU在Cache中访问命中的概率
(CPU优先会去找Cache,找不到再去找内存,即可以理解为在cache中不命中,就是去访问了主存的)
如果Cache的访问命中率为h,而Cache的访问周期时间是t1,主存储器的访问周期时间是t2,则整个系统的平均访问时间就应该是:
:命中Cache所需要花的时间
:命中内存所需花的时间,(1-h)为内存的命中率
Cache淘汰算法
先进先出算法:先进先出
最近最少使用算法:哪一个使用频度较低,哪一个先出去
随机算法:随意淘汰
考法
【考法1】Cache的作用和地址映射
Cache的作用:解决CPU和主存之间速度不匹配的问题
主存和Cache之间的地址映射:由硬件自动完成
4、硬盘
(这里也叫作,最早期用的磁盘是IDE接口,IDE接口也叫作PATA,现在已经很少见了,PATA是并行传输,数据线与控制线是复用的,在传输过程中会受到干扰问题导致容易出错,所以目前的IDE接口硬盘已经被SATA硬盘所取代)
SATA(串行 ATA)
使用SATA(Serial ATA)接口的硬盘又叫串口硬盘,具有结构简单,支持热插拔的优点
SCSI(Small Computer System Interface)(服务器领域早先用SCSI接口硬盘)
小型计算机系统接口,是一种广泛应用与小型机上的高速数据传输技术。成本高,SCSI硬盘主要应用于中、高端服务器和高档工作站中。
SAS(Serial Attached SCSI)(SCSI—发展到—>SAS)
即串行连接SCSI,是并行SCSI接口之后开发出的全新接口。主要是为了改善存储系统的效能、可用性和扩充性,并且提供与SATA硬盘的兼容性(即如果主板为SAS接口,仍可以接SATA的磁盘)
FC(Fiber Channel)
光纤通道,成本高,性能最好
SAS | NL SAS (介于SAS与SATA之间) |
SATA | FC (一般用于企业级的数据中心) |
|
---|---|---|---|---|
性能 | 高 | 较高 | 较高 | 非常高 |
可靠性 | 高 | 较高 | 一般 | 非常高 |
价格 | 一般 | 较便宜 | 便宜 | 非常贵 |
能耗 | 高 | 较低 | 较低 | 高 |
应用 | 适合数据较为离散的高中端用户 | 适合较大数据块、业务压力不大的用户使用 | 适合较大数据块、业务压力不大的用户使用 | 适合高端用户,频繁访问的数据 |
SAS与SATA之间的选择:
对性能要求高(SAS),对性能要求不高但成本性要求比较高(SATA)
按照磁盘材质分为两大类:
①HDD(Hard Disk Driver):传统硬盘,即机械硬盘
②SSD(Solid State Disk):固态硬盘
解析:
两者的组成结构不一样
机械硬盘里面有很多磁性介质(旋转的介质),而固态磁盘没有,而由控制单元与存储单元组成
固态硬盘SSD:由控制单元和固态存储单元(DRAM或FLASH芯片)组成的硬盘;固态硬盘优点:速度比较快;寿命单位是以P/E为单位,就是每擦写一次叫作P/E,寿命值是不如机械磁盘的,但价格比较昂贵,所以对于固态磁盘不会直接用来存储用户的数据
随着SSD硬盘的迅猛发展,目前把SSD磁盘作为存储系统的Cache来降低内存对机械硬盘的访问延迟(即为 将固态磁盘组成一个存储的缓冲池,把机械磁盘当中保存的一些热点数据缓存到Cache中,让用户在Cache中读取数据,能够加快读取速度)
考法
【考法1】固态磁盘SSD的组成
固态硬盘SSD:可采用2种芯片类型,FLASH芯片或DRAM芯片
5、存储系统的存取方式
各类存储器的存取方式
五、系统可靠性
1、可靠性指标
相关指标
失效率:单位时间内发生故障的概率
平均无故障时间MTBF:一般指产品在两次故障之间的平均时间间隔
平均故障修复时间MTTR:一般指产品故障维修所需的平均修复时间
可用性:系统可以无故障运行的概率
2、可靠性计算
考法
【考法1】系统可靠性指标
四个指标:失效率、平均无故障时间MTBF、平均故障修复时间MTTR、可用性
【考法2】可靠性计算
串行系统可靠性:R= R1 x R2 x … x Rn
并行系统可靠性:R= 1-(1-R1)(1-R2)…(1-Rn)