系统分析师-基础知识

基础知识

  • 一、计算机组成与结构
    • 1、计算机系统基础知识
      • 1.1 计算机硬件组成
      • 1.2 中央处理单元(CPU)
      • 1.3 数据表示
        • 1.3.1 R进制转十进制:
        • 1.3.2 十进制转R进制:
      • 1.4 校验码(3种校验码)
        • 1.4.1 基本知识
        • 1.4.2 奇偶校验码
        • 1.4.3 循环冗余校验CRC
        • 1.4.4 海明码
    • 2、计算机体系结构
      • 2.1 体系结构分类
      • 2.2 指令系统
        • 2.2.1 指令流水线
        • 2.2.2 `流水线时间计算☆☆☆`
      • 2.3 存储系统
        • 2.3.1 储存编址(计算)
        • 2.3.2 磁盘
      • 2.4 输入/输出技术
      • 2.5 总线结构
    • 3、可靠性
      • 3.1 计算机可靠性计算

一、计算机组成与结构

1、计算机系统基础知识

1.1 计算机硬件组成

计算机的基本硬件系统由运算器控制器存储器输入设备输出设备5大部件组成。
存储器是计算机系统的记忆设备,分为内部存储器(内存)和外部存储器(硬盘、光盘、U盘等)。
输入设备和输出设备合称为外部设备(简称:外设)

1.2 中央处理单元(CPU)

运算器控制器寄存器组内部总线等部件被集成在一起统称为中央处理单元
CPU用于数据的加工处理(运算器),能完成各种算术、逻辑运算及控制功能(包括:程序控制、操作控制、时间控制)(控制器)。还需要对系统内部和外部的中断(异常)做出响应,进行相应的处理。

运算器:执行所有的算术运算和逻辑运算。

  • 算术逻辑单元(ALU):实现对数据的算术和逻辑运算
  • 累加寄存器(AC):运算结果或源操作数的存放区
  • 数据缓冲寄存器(DR):暂时存放内存的指令或数据
  • 状态条件寄存器(PSW):保存指令运行结果的条件码内容,如溢出标志等。

控制器:控制整个CPU的工作,最为重要

  • 指令寄存器(IR):暂存CPU执行指令
  • 程序计数器(PC):存放指令执行地址
  • 地址寄存器(AR):保存当前CPU所访问的内存地址
  • 指令译码器(ID):分析指令操作码
    一般执行:先从内存中读取指令地址程序计数器(PC),暂存在指令寄存器(IR)中,由指令译码器(ID)分析指令是干什么的。然后再去执行指令(比如:加法的指令)。执行指令前先从内存中获取数据。

CPU根据指令周期的不同阶段来区分二进制的指令和数据。

1.3 数据表示

二进制符号为:0b,一般表示为:0b0011
十六进制符号为:0xH,表示为:0x18f 或 18FH。
十六进制可表示0-15,其中10-15用A-F表示

1.3.1 R进制转十进制:

方法:位权展开法(用R进制的每一位乘以R的n次方,n是变量,从R进制最低位开始,依次是0,1,2,3…)
例如:6进制数5043,此时R=6,从低到高位依次是:3-4-0-5,对应的n依次是:0-1-2-3,最终5043 = 3*6^ 0 + 4*6^ 1 + 0*6^ 2 + 5* 6^ 3

1.3.2 十进制转R进制:

方法:除以R倒取余数。(用十进制除以R,记录每次所得余数,若商不为0,则继续除以R,直至商为0,而后将所有余数从下至上记录,排列成从左到右顺序,即为转换后的R进制数)
例如:十进制200,转为6进制,此时R=6,
将200/6,商为33,余数为2,商不等于0,继续除
将33/6,商为5,余数3,商不等于0,继续除
将5/6,商为0,余数5,
此时,将余数从下至上记录,得6进制为:532。

m进制转n进制:m进制先转为十进制,十进制再转n进制。下面2种可以直接转化

  • 二进制转八进制每三位二进制数转化为一位八进制数,位数补足的,在前面补0。(原理:2^3=8)
  • 例如:二进制数01101,有5位,前面补0一位,变成001 101,每三位转为一位八进制数,001=1,101=4+1=5,即八进制数:15
  • 二进制转十六进制每四位二进制数转化为一位十六进制数,位数补足的,在前面补0。(原理:2^4=16)好像不对

机器数:
各种数值在计算机中表示的形式。用二进制的0和1表示,小数点则隐含,不占位置。
无符号数带符号数。无符号表示正数,没有符号位。带符号数最高位是符号位,没有±,而 是正数符号位为 0负数最高位符号位为1.
定点表示法:(分为:定点整数和定点小数。定点整数就是纯整数,只有整数,定点小数就是纯小数,只有小数)
分纯小数(只有小数)和纯整数(只有整数)两种,小数点不占存储位,而是按照以下约定:
纯小数:约定小数点的位置在机器数的最高数值位之前
纯整数:约定小数点的位置在机器数的最低数值位之后
真值
机器数对应的实际数值
浮点数
既有小数,又有整数的,叫浮点数。

带符号数有下列编码方式

原码、反码、补码、移码
正数原码、反码、补码是同一个值
负数:以真值为-45为例:
原码:是一个数的二进制表示(把这个数转为二进制就是原码)。-45的二进制为101101。负数的最高位符号位是1,所以补成8位是1 0 101101(按照8位编制,第一个1是符号位,其他的是数值位
反码:在原码的基础上除符号位外,其他的各位按位取反,数值0的反码也有两种形式:+0(0 0000000),-0(1 1111111)。-45的反码为11010010.
补码:在原码的基础上,除符号位外,其他的各位按位取反(在反码的基础上),而后末位+1,若有进位则产生进位。因此数值0的补码只有一种形式+0 = -0 = 0 0000000。-45对应的补码为11010011.
移码:用作浮点运算的阶码,无论正数负数,都是将该原码的补码的首位(符号位)取反得到移码。-45的移码为:01010011

机器字长为n时,各种码制表示的带符号数的取值范围(定点整数/定点小数)

  • 2^ n-1 -1 和2^ n-1 差别:在于0的表示,原码和反码分+0和-0,补码只有一个0,因此可以多表示一个数。

  • n-1的由来:比如一个n位的二进制数,有符号数,此时n = n-1 + 1n-1代表的是数值位1代表的是符号位。因此要根据n-1数值位进行取值范围判断。

  • 比如:n=3,此时 3= 2+1,数值位是2(2位/2个,比例00,01,10,11,这些都是2位),2位 二进制数(例如:1/0)可以 2^ 2 - 1, 为什么是这个?是因为2位 二进制数一共表示的数是2^ 2,但是范围是从0开始的,他的范围是0~2^ 2 - 1。

  • 举例说明下: 2位的二进制数有:00,01,10,11,对应的十位数分别是:0,1,2,3。一共表示的数是4个(2^ 2),但是取值范围是从0开始,所以范围取值是0 ~3(即:2^ 2 - 1) ,

  • 当机器字长为n时,整数 原码的范围计算逻辑如下

  • 数值位是:n-1,

  • 正数范围0~ 2^数值位 -1,即:0~ + (2^ n-1 - 1),

  • 负数范围-(2^数值位 -1) ~0,即:0~ -(2^ n-1 - 1),

  • 合起来就是-(2^ n-1 - 1)~ + (2^ n-1 - 1)

  • 小数的计算逻辑左右各除以2^ n-1

码制定点整数定点小数
原码-(2^ n-1 - 1)~ + (2^ n-1 - 1)-(1-2^ -(n-1) )~ + (1-2^ -(n-1))
反码-(2^ n-1 - 1)~ + (2^ n-1 - 1)-(1-2^ -(n-1) )~ + (1-2^ -(n-1))
补码(范围大一个)-(2^ n-1 )~ + (2^ n-1 )-1~ + (1-2^ -(n-1))
移码-(2^ n-1 )~ + (2^ n-1 )-1~ + (1-2^ -(n-1))

浮点数(单独的一类)

浮点数:表示方法为 N = F * 2^E尾数 * 2^阶码)。(相当于拆成2个,一个纯小数部分,一个纯整数部分,)
N:浮点数
E:阶码。带符号的纯整数(定点整数)
F:尾数。带符号的纯小数(定点小数)
符号占最高位(正数0负数1)
类似于科学计数法。例如:

  • 表示十进制的85.125是 0.8512 * 10^2。
  • 表示二进制的101.011是0.101011 * 2^3。
  • 表示格式
阶符阶码数符尾数
阶码的符号位------尾数的符号位-----

浮点数所能表示的数值范围由阶码确定,所表示的数值精度由尾数确定
浮点数的取值范围
其实就是分别求纯小数和纯整数的取值范围(最大值~最小值)。然后套公式尾数 * 2^阶码,两两组合计算出浮点数的范围,取最终结果的最小值~最大值。

1.4 校验码(3种校验码)

计算机系统运行时,各个部件之间要进行数据交换,为了确保数据在传送过程中正确无误,一是提高硬件电路中的可靠性;二是提高代码的校验能力,包括查错和纠错。通常使用效验码的方法来检测传送的数据是否出错,即对数据可能出现的编码分为两类:合法编码和错误编码。合法编码用于传送数据,错误编码是不允许在数据中出现的编码。合理的设计错误编码以及编码规则,使得数据在传送中出现某种错误是就会变成错误编码,这样就可以检测出接收到的数据是否有误。

1.4.1 基本知识

码距: 单个编码A:00,其码距为1,因为其只需要改变一位就变成另一个编码。
在两个编码中,从A码到B码转换所需要改变的位数称为码距,如A:00要转换为B:11,码距为2。
一般而言,码距越大,越利于纠错和检错。

1.4.2 奇偶校验码

奇偶校验码:在编码中增加1位校验位来使编码中的1的个数为奇数(奇校验),或者偶数(偶校验),从而使码距变为2。
奇校验:编码中,含有奇数个1,发送给接收方,接收方收到后,会计算收到的编码有多少个1,如果是奇数个,则无误,是偶数个,则有误。
偶校验同理,只是编码中有偶数个1,由上述,奇偶校验只能检1位错,并且无法纠错
举例:原始数据位101110,增加1位校验位,如果是奇校验,需要在后面加一个1,变成101110 1,变成含有5个1(奇数),如果是偶校验,需要在后面加一个0,变成101110 0,变成含有4个1(奇数)
缺点:只能检一位错(原因:检出2位错,最终1的奇偶数结果仍然不变),
码距为2的原因:如果有出错,首先 出错位是不对的,其次是校验码位也是不对的,

1.4.3 循环冗余校验CRC

CRC只能检错,不能纠错。使用CRC编码,需要先约定一个生成多项式G(X)。生成多项式的最高位和最低位必须是1。假设原始信息有m位,则对应多项式M(x)。生成校验码思想就是在原始信息后追加若干校验位,使得追加的信息能被G(x)整除。接收方接收到带校验位的信息,然后用G(x)整除,余数为0,则没有错误,反之则发生错误。

举例:
假设原始信息串为10110,CRC的生成多项式为G(x)=x^4+x+1,求CRC校验码。

  1. 求被除数。在原始信息位后面添0。假设生成多项式的最高阶(就是:次方)为 r,则在原始信息位后添加 r个0。上述G(x)的最高阶位是4,所以需要添加4个0,得到新的信息为:10110 0000,作为被除数。
  2. 由多项式得到除数,多项式中 x 的幂指数存在的位置是1,不存在的位置是0。本题中x^ 4+x+1可以看做是:x^ 4+x^ 1+x^ 0。即0,1,4次方是存在的,存在的位置是1,不存在的位置是0,因此得到串10011(对应次方是4-3-2-1-0)。
  3. 生成CRC校验码。将前两步得到的被除数和除数进行模2除法运算模2运算:也叫异或运算,参与运算相同的是0,不同的是1,简称同0非1)。模2运算不关注商,主要看余数
    异或运算
  4. 得到余数1111。注意:余数不足 r ,则余数左边用若干个0补齐,如求得余数为11, r =4,则补两个0
  5. 生成最终发送信息串,将余数添加到原始信息后。上例中,原始信息为10110,添加余数1111后,结果为101101111。发送方将此数据发送给接收方。
  6. 接收方进行校验。接收方的CRC校验过程与生成过程类似,接受方接收了带校验码的数据后,用多项式G(x)来除,余数为0,则表示信息无错,否则要求发送方进行重传。
1.4.4 海明码

海明码:本质也是利用奇偶性来检错和纠错的校验方法,构成方法是在数据位之间的确定位置上插入k个校验位,通过扩大码距时间检错和纠错。

例:求信息的1011的海明码
1. 求校验位的位数。(校验位的位数和具体数据位的位数之间有关系。)
所有位(校验位和数据位)都编号,从最低位编号,从1开始递增,校验位处于2的n(n=0,1,2...)次方中,即处于第1,2,4,8,16,32...位上,其余位才能填充真正的数据位
例如上题,数据为1011,则可知,第1,2,4位为校验位,第3.5.6.7位为数据位,从低位开始存放1011,得出信息位和校验位的分布如下:(注意:数据位放完之后,就不需要继续增加了。)
在这里插入图片描述
2. 编号拆分
所有信息位的编号都拆分成2的幂指数(次方)表示,如下图表示

7654321位数(信息位编号)
1011信息位
001校验位
2 ^ 2 + 2 ^ 1 + 2 ^ 02 ^ 2 + 2 ^ 12 ^ 2 + 2 ^ 0----2 ^ 1 + 2 ^ 0--------编号拆分
4+2+14+24+1----2+1--------编号拆分结果(用的是这个)
4+1代表第5位的信息位由第4个校验位和第1个校验位校验。

3. 信息位和校验位相互校验。
例如:
第5位的信息位,是由第4个校验位和第1个校验位校验。
第4位的校验位,是由包含了4的编号(上述标红)对应的信息位(第7,6,5位信息位)进行校验。
同时代表着也可以检查(第7,6,5位信息位)。检查方法:接收方接收数据后,重新异或(第7,6,5位信息位),看结果与现在的第4位是否一致,一致说明是对的。
第2位的校验位,是由第7.6.3位信息位进行校验
第1位的校验位,是由第7.5.3位信息位进行校验
4. 计算校验位(以偶校验为例。奇校验的话,按位取反即可)
包含了4的所有信息位(第7,6,5位信息位)进行异或运算(第7位的1和第6位的0异或结果R1为1,拿R1与第5位的1异或,结果R2为0,此时第4位的校验位就是0)。
最终海明码:1010101

2、计算机体系结构

2.1 体系结构分类

按处理机的数量进行分类:

  • 单处理系统:一个处理单元和其他设备集成
  • 并行处理系统:两个以上的处理机互联
  • 分布式处理系统:物理上远距离且松耦合的多计算机系统

Flynn分类法:
分类有两个因素,即指令流和数据流
指令流控制中心处理,每一个控制中心处理一条指令流,多指令就会有多个控制中心。
数据流处理器处理,每个处理器处理一条数据流,多数据就会有多个处理器。
主存模块,是用来存储的,存储指令流或数据流。无论是多指令流还是多数据流,都需要多个主存模块来存储。
Single(单) Instruction(指令) Multiple(多) Data (数据)
在这里插入图片描述

依据计算机特性,是由指令来控制数据的传输,因此,一条指令可以控制一条或多条数据流,但一条数据流不能被多条指令控制,否则会出错。因此:多指令单数据MISD是不可能的

2.2 指令系统

指令组成
一条指令有操作码操作数两部分组成,操作码决定要完成的操作操作数指参与运算的数据及其所在的单元地址(内存地址)
有的也叫:一条指令有操作码地址码两部分组成,地址码存储了操作数和内存地址,其实是一个东西。

指令寻址方式
指:当前指令结束后,怎么找到下一条指令。

  • 顺序寻址方式:当执行一段程序时,是一条指令接着一条指令的顺序执行。
  • 跳跃寻址方式:指下一条指令的地址码不是由程序计数器给出,而是由本条指令直接给出。程序跳跃后,按新的指令地址开始顺序执行。因此,程序计数器的内容也必须相应改变,以便及时跟踪新的指令地址。

指令操作数的寻址方式
指:操作数的寻址方式。

  • 立即寻址方式:指令的地址码字段指出的不是地址,而是操作数本身。
  • 直接寻址方式:在指令的地址字段中直接指出操作数在主存中的地址。
  • 间接寻址方式:指令地址码字段所指向的存储单元中存储的是操作数的地址。
  • 寄存器寻址方式:指令中的地址码是寄存器的编号。
  • 基址寻址方式:将基址寄存器的内容加上指令中的形式地址而形成操作数的有效地址,其优点是可以扩大寻址能力。(一般不考)
  • 变址寻址方式:变址寻址方式计算有效地址的方法与基址寻址方式很相似,它是将变址寄存器的内容加上指令中的形式地址而形成操作数的有效地址。(一般不考)

CISC是复杂指令系统,兼容性强,指令繁多、长度可变,由微程序实现;
RISC是精简指令系统,指令少,使用频率接近,主要依靠硬件实现(通用寄存器、硬布线逻辑控制)
CISC:Complex Instruction Set Computer
RISC:Reduced Instruction Set Computer
在这里插入图片描述

2.2.1 指令流水线

原理:将指令分成不同段,每段由不同的部分去处理,因此可以产生叠加的效果,所有的部件去处理指令的不同段.
单缓冲区:未使用流水线的情况,简单理解就是一个处理器,只能顺序执行,不能并行处理。
在这里插入图片描述
RISC中的流水线技术:

  • 超流水线(super Pipe Line)技术。它通过细化流水、增加级数和提高主频,使得在每个机器周期内能完成一个甚至两个浮点操作。其本质是以时间换取空间:。
  • 超标量(super Scalar)技术。它通过内装多条流水线来同时执行多个处理,其时钟频率虽然与一般流水接近,却有更小的CPI。其实质是以空间换取时间
  • 超长指令字(Very LongInstruction Word,VLIW)技术。VLIW 和超标量都是20 世纪80年代出现的概念,其共同点是要同时执行多条指令,其不同在于超标量依靠硬件来实现并行处理的调度,VLIW 则充分发挥软件的作用,而使硬件简化,性能提高。
2.2.2 流水线时间计算☆☆☆
  • 流水线周期:指令分成不同执行段,其中执行时间最长的段为流水线周期。
    • 例如:取值5ns,分析8ns,执行10ns,流水线周期就是10ns。
  • 流水线执行时间1条指令总执行时间+(总指令条数-1)*流水线周期
  • 流水线吞吐率计算:吞吐率即单位时间内执行的指令条数。公式:指令条数/流水线执行时间
  • 流水线的加速比计算:加速比即使用流水线后的效率提升度,即比不使用流水线快了多少倍,越高表明流水线效率越高。公式:不使用流水线执行时间 / 使用流水线执行时间

2.3 存储系统

计算机采用分级存储体系的主要目的是为了解决存储容量、成本和速度之间的矛盾问题。
两级存储:Cache-主存、主存-辅存(虚拟存储体系)
局部性原理:总的来说,在CPU运行时,所访问的数据会趋向于一个较小的局部空间地址内,包括下面两个方面:

  • 时间局部性原理:如果一个数据项正在被访问,那么在近期它很可能会被再次访问,即在相邻的时间里会访问同一个数据项
  • 空间局部性原理:在最近的将来会用到的数据的地址和现在正在访问的数据地址很可能是相近的,即相邻的空间地址会被连续访问,
    在这里插入图片描述

Cache由控制部分存储器组成,存储器存储数据,控制部分判断CPU要访问的数据是否在Cache中,在则命中,不在则依据一定的算法从主存中替换。
地址映射:在CPU工作时,送出的是主存单元的地址,而应从Cache存储器中读/写信息。这就需要将主存地址转换为Cache存储器地址,这种地址的转换称为地址映像,硬件自动完成映射,分为下列三种方法:
在这里插入图片描述
在这里插入图片描述

Cache替换算法
目标就是使cache获得尽可能高的命中率。常用算法有以下几种:

  1. 随机替换算法:就是用随机数发生器产生一个要替换的块号,将该块替换出去。
  2. 先进先出算法。就是将最先进入Cache的信息块替换出去:
  3. 近期最少使用算法。这种方法是将近期最少使用的Cache中的信息块替换出去
  4. 优化替换算法。这种方法必须先执行一次程序统计Cache的替换情况。有了这样的先验信息,在第二次执行该程序时便可以用最有效的方式来替换。

Cache命中率及平均时间
Cache有一个命中率的概念,即当CPU所访问的数据在Cache中时,命中,直接从Cache中读取数据,设读取一次Cache时间为1ns,若CPU访问的数据不在Cache中则需要从内存中读取,设读取一次内存的时间为1000ns,若在CPU多次读取数据过程中,有90%命中Cache,则CPU读取一次的平均时间为(90%*1+10%*1000)ns
在这里插入图片描述

2.3.1 储存编址(计算)

基础知识
K、M、G是数量单位,在存储器里相差1024倍
b(比特),B(字节)是存储单位,1 B = 8 b(bit,比特),
1b(比特)表示一个二进制位,比如1或者0
1KB= 1024B

真题:地址编号从80000H到BFFFFH且按字节编址的内容容量为()KB?若用16k*4bit的存储器芯片构成该内存,共需()片?
第一问解答:

  1. 容量计算尾地址-首地址+1 = 容量。比如10到20的容量是20-10+1=11,同比可知道80000H到BFFFFH的容量,也应该是:BFFFFH-80000H+1。
  2. BFFFFH和80000H都是16进制,B是11,B-8=3,F-0=F,所以BFFFFH-80000H=3FFFFH,然后3FFFFH+1,F是15,F+1 = 16,16进制逢16进1,所以3FFFFH+1=40000H
  3. 40000H是存储单元的个数,并不是容量。因此存储单元的个数*每个单元的大小=容量。此时题目中“按字节编制”就用到了,“按字节编制”的意思是每个存储单元的大小是1个字节。40000H*1B= 40000H B(总容量)
  4. 此时需要将40000H B 转为十进制的数字,然后除以1024转为KB,得到最终结果。
  5. 40000H转十进制:0*16^ 0+0*16 ^ 1+...+4*16^ 4 = 4*16^ 4 = 2^ 2 * 2^ 16 = 2^ 18(B)
  6. 用2^ 18(B)/1024 = 2^ 18 / 2^ 10 = 2^ 8 = 256
  7. 注意:不要硬算,要化简为2的幂指数来算

第二问解答:

  1. 总容量计算结果是40000H B = 2^ 18(B)
  2. 总容量/单个芯片内存 = 需要的片数。
  3. 16K = 2^ 14 * 2^ 2 = 2^ 16
  4. 2^ 16 / 8 = 2^ 16 / 2^ 3 = 2^ 13 (B)
  5. 2^ 18(B) / 2^ 13 (B) = 2^ 5 = 32
2.3.2 磁盘

基础概念
磁盘有正反两个盘面,每个盘面有多个同心圆,每个同心圆是一个磁道,每个同心圆又被划分为多个扇区,数据就被存放在一个个扇区中。
磁头首先要寻找到对应的磁道,然后等待磁盘进行周期旋转,旋转到指定的扇区,才能读取到对应的数据,因此,会产生寻道时间和等待时间。公式为:存取时间=寻道时间+等待时间(平均定位时间+转动延迟)
注意:寻道时间是指磁头移动到磁道所需的时间;等待时间为等待读写的扇区转到磁头下方所用的时间

磁盘调度算法
之前已经说过,磁盘数据的读取时间分为寻道时间+旋转时间,也即先找到对应的磁道,而后再旋转到对应的扇区才能读取数据,其中寻道时间耗时最长,需要重点调度,有如下调度算法:
先来先服务FCFS:根据进程请求访问磁盘的先后顺序进行调度。
最短寻道时间优先SSTF:请求访问的磁道与当前磁道最近的进程优先调度,使得每次的寻道时间最短。会产生“饥饿”现象,即远处进程可能永远无法访问。
扫描算法SCAN:又称“电梯算法”磁头在磁盘上双向移动,其会选择离磁头当前所在磁道最近的请求访问的磁道,并且与磁头移动方向一致,磁头永远都是从里向外或者从外向里一直移动完才掉头,与电梯类似。
单向扫描调度算法CSCAN:与SCAN不同的是,其只做单向移动,即只能从里向外或者从外向里。

2.4 输入/输出技术

计算机系统中存在多种内存与接口地址的编址方法,常见的是下面两种:

  1. 内存与接口地址独立编址方法
    内存地址和接口地址是完全独立的两个地址空间访问数据时所使用的指令也完全不同,用于接口的指令只用于接口的读/写,其余的指令全都是用于内存的因此,在编程序或读程序时很易使用和辨认。这种编址方法的缺点是用于接口的指令太少、功能太弱
  2. 内存与接口地址统一编址方法
    内存地址和接口地址统一在一个公共的地址空间里,即内存单元和接口共用地址空间优点是原则上用于内存的指令全都可以用于接口,这就大大地增强了对接口的操作功能,而且在指令上也不再区分内存或接口指令。该编址方法的缺点就在于整个地址空间被分成两部分,其中一部分分配给接口使用,剩余的为内存所用,这经常会导致内存地址不连续。

计算机和外设间的数据交互方式:

  1. 程序控制(查询)方式:CPU主动查询外设是否完成数据传输,效率极低
  2. 程序中断方式:外设完成数据传输后,向CPU发送中断,等待CPU处理数据效率相对较高。中断响应时间指的是从发出中断请求到开始进入中断处理程序,中断处理时间指的是从中断处理开始到中断处理结束。中断向量提供中断服务程序的入口地址。多级中断嵌套,使用堆栈来保护断点和现场。
  3. DMA方式(直接主存存取)CPU只需完成必要的初始化等操作数据传输的整个过程都由**DMA**控制器来完成,在主存和外设之间建立直接的数据通路效率很高
    在一个总线周期结束后,CPU会响应DMA请求开始读取数据,CPU响应程序中断方式请求是在一条指令执行结束时
    在这里插入图片描述

2.5 总线结构

总线(Bus),是指计算机设备和设备之间传输信息的公共数据通道。总线是连接计算机硬件系统内多种设备的通信线路,它的一个重要特征是由总线上的所有设备共享,因此可以将计算机系统内的多种设备连接到总线上。
从广义上讲,任何连接两个以上电子元器件的导线都可以称为总线,通常分为以下三类:
内部总线:内部芯片级别的总线,芯片与处理器之间通信的总线。
系统总线:是板级总线,用于计算机内各部分之间的连接,具体分为数据总线(并行数据传输位数)地址总线(系统可管理的内存空间的大小)控制总线(传送控制命令)。代表的有ISA总线、EISA总线、PCI总线。
外部总线:设备一级的总线,微机和外部设备的总线。代表的有RS232(串行总线)、SCSI(并行总线)、USB(通用串行总线,即插即用,支持热插拔)

3、可靠性

3.1 计算机可靠性计算

可靠性指标
平均无故障时间MTTF(Mean Time to Failure)=1/失效率。
平均故障修复时间MTTR(MeanTimeto Repair)=1/修复率。
平均故障间隔时间MTBF(Mean Time Between Failures)=MTTF+MTTR。
系统可用性=MTTF/(MTTF+MTTR)*100%。

无论什么系统,都是由多个设备组成的,协同工作,而这多个设备的组合方式,可以是串联、并联,也可以是混合模式,假设每个设备的可靠性为R1,R2…Rn,则不同的系统的可靠性公式如下:

串并联系统可靠性
串联系统,一个设备不可靠,整个系统崩溃,整个系统可靠性R=R1R2…*Rn。在这里插入图片描述

并联系统
所有设备都不可靠,整个系统才崩溃
不可靠性:(1-R1)*(1-R2)**(1-Rn)
可靠性:1-不可靠性。R=1- (1-R1)*(1-R2)**(1-Rn)
在这里插入图片描述
N模冗余系统:N模冗余系统由N个(N=2n+1)相同的子系统和一个表决器组成,表决器把N 个子系统中占多数相同结果的输出作为输出系统的输出,如图所示。在N个子系统中,只要有n+1个或n+1个以上子系统能正常工作,系统就能正常工作,输出正确的结果。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/43191.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

D-DPCC: Deep Dynamic Point Cloud Compression via 3D Motion Prediction

1. 论文基本信息 发布于: 2022 2. 创新点 首先提出了一种端到端深度动态点云压缩框架(D-DPCC),用于运动估计、运动补偿、运动压缩和残差压缩的联合优化。提出了一种新的多尺度运动融合(MMF)模块用于点云帧间预测,该模块提取和融合不同运动流…

首届UTON区块链开发者计划大会在马来西亚圆满落幕

7月9日,首届UTON区块链开发者计划大会在马来西亚吉隆坡成功举办! 来自全球顶尖的行业领袖、技术精英和众多区块链爱好者参与了此次盛会,也标志着UTON区块链生态进入了一个全新的发展阶段。 会上,UTON区块链创始人之一唐毅先生以“…

Python 中什么是递归函数,如何编写递归函数?

递归是计算机科学中的一种基本概念,它指的是函数调用自身的编程技巧。在Python中,递归函数是一种通过调用自身来解决问题的函数。这种方法常用于解决可以被分解为较小相同问题的场景,例如阶乘计算、斐波那契数列、全排列生成等。 一、递归的…

TCP 握手数据流

这张图详细描述了 TCP 握手过程中,从客户端发送 SYN 包到服务器最终建立连接的整个数据流转过程,包括网卡、内核、进程中的各个环节。下面对每个步骤进行详细解释: 客户端到服务器的初始连接请求 客户端发送 SYN 包: 客户端发起…

添加点击跳转页面,优化登录和注册页路由

一、给注销按钮添加点击跳转至登录页 1、在路由中添加登录页路由 2、自定义登录页面 3、在app.vue页面找到下拉框组件,添加点击事件 4、使用vue-router中的useRoute和useRouter 点击后可以跳转,但是还存在问题,路径这里如果我们需要更改登录…

JavaScript 作用域 与 var、let、const关键字

目录 一、JavaScript 作用域 1、全局作用域 2、函数作用域 3、块级作用域 4、综合示例 5、总结 二、var、let、const 1、var 关键字 2、let 关键字 3、const 关键字 4、总结 5、使用场景 一、JavaScript 作用域 在JavaScript中,作用域是指程序中可访问…

神经网络构成、优化、常用函数+激活函数

Iris分类 数据集介绍,共有数据150组,每组包括长宽等4个输入特征,同时给出输入特征对应的Iris类别,分别用0,1,2表示。 从sklearn包datasets读入数据集。 from sklearn import darasets from pandas impor…

vulnhub-NOOB-1

确认靶机 扫描靶机发现ftp Anonymous 的A大小写都可以 查看文件 解密 登录网页 点击about us会下载一个压缩包 使用工具提取 steghide info 目标文件 //查看隐藏信息 steghide extract -sf 目标文件 //提取隐藏的文件 steghide embed -cf 隐藏信息的文件 -ef…

什么样的开放式耳机好用舒服?南卡、倍思、Oladance高人气质量绝佳产品力荐!

​开放式耳机在如今社会中已经迅速成为大家购买耳机的新趋势,深受喜欢听歌和热爱运动的人群欢迎。当大家谈到佩戴的稳固性时,开放式耳机都会收到一致好评。对于热爱运动的人士而言,高品质的开放式耳机无疑是理想之选。特别是在近年来的一些骑…

图片kb太大了怎么改小?修改图片kb的方法介绍

图片kb太大了怎么改小?将图片的文件大小(以KB为单位)缩小可以带来多种优点,但也有一些缺点需要注意。缩小图片文件大小可以显著减少它在硬盘或其他存储设备上占用的空间,使你能够存储更多的图片和其他文件。而且&#…

KIVY 3D Rotating Monkey Head¶

7 Python Kivy Projects (With Full Tutorials) – Pythonista Planet KIVY 3D Rotating Monkey Head kivy 3D 旋转猴子头How to display rotating monkey example in a given layout. Issue #6688 kivy/kivy GitHub 3d 模型下载链接 P99 - Download Free 3D model by …

【AI大模型新型智算中心技术体系深度分析 2024】

文末有福利! ChatGPT 系 列 大 模 型 的 发 布, 不 仅 引 爆 全 球 科 技 圈, 更 加 夯 实 了 人 工 智 能(Artificial Intelligence, AI)在未来改变人类生产生活方式、引发社会文明和竞争力代际跃迁的战略性地位。当…

ImportError: xxx: cannot open shared object file: No such file or directory

一类常见错误:编译器器无法在目录下找到共享目标文件, Linux(ubuntu)中共享的库目录为/usr/lib/x86_64-linux-gnu,gcc的编译库 在该目录下创建共享文件(伪造、下载🤜cp)即可 sudo ln -s libtiff.so.6 libtiff.so.5

昇思25天学习打卡营第11天|ResNet50图像分类

文章目录 昇思MindSpore应用实践基于MindSpore的ResNet50图像分类1、ResNet50 简介2、数据集预处理及可视化3、构建网络构建 Building Block构建 Bottleneck Block构建 ResNet50 网络 4、模型训练5、图像分类模型推理 Reference 昇思MindSpore应用实践 本系列文章主要用于记录…

AsyncRequestTimeoutException

在Spring MVC中,当一个异步请求超过配置的最大等待时间时,会抛出AsyncRequestTimeoutException异常。这个异常通常是由于服务器端的处理时间超过了客户端允许的等待时间,或者是服务器本身的异步处理时间配置过短导致的。 spring: mvc: async…

scrapy写爬虫

Scrapy是一个用于爬取网站数据并提取结构化信息的Python框架 一、Scrapy介绍 1.引擎(Engine) – Scrapy的引擎是控制数据流和触发事件的核心。它管理着Spider发送的请求和接收的响应,以及处理Spider生成的Item。引擎是Scrapy运行的驱动力。…

【高中数学/对数函数】比较a=ln2/2,b=ln5/5的大小

【问题】 比较aln2/2,bln5/5的大小 【解答】 a-bln2/2-ln5/5(5*ln2-2*ln5)/10(ln2^5-ln5^2)/10(ln32-ln25)/10>0 所以a>b 【图像】 如果绘出函数ylnx/x的图像,再标记出a,b的位置,则绘出图像如下: 由上图可以看出,a,b两…

初次用bable遍历vue项目下的中文

利用 babel 找到 AST 中的中文 // vite-plugin-babel-transform.js const parser require(babel/parser) const traverse require(babel/traverse).default // const types require(babel/types) // const generate require(babel/generator).default const fs require(f…

【Unity2D 2022:NPC】制作任务系统

一、接受任务 1. 编辑NPC对话脚本: (1)创建静态布尔变量用来判断ruby是否接受到任务 public class NPCDialog : MonoBehaviour {// 创建全局变量用来判断ruby是否接到任务public static bool receiveTask false; } (2&#xff…

python学习-错误与异常

代码是人的逻辑思维的具体体现,因为没有一个人的逻辑思维是完美无缺的,所以人在编写代码时必然会出现各种错误。既然错误或多或少都会发生,那么如何捕捉错误,并且捕捉到错误后要如何处理,就显得很重要。 语法错误 Py…