首页 > 其他 > 详细

01.计算机组成和体系结构

时间:2020-12-21 10:23:41      阅读:29      评论:0      收藏:0      [点我收藏+]

大纲

技术分享图片

1.数据的表示

二进制转十进制

技术分享图片

其他进制转十进制

技术分享图片

十进制转二进制

技术分享图片

进制的相互转换

  • 二进制转8进制,右往左,3位为一段,不够左边补0
  • 二进制转16进制,右往左,4位为一段,不够左边补0

8转16,或者16转8
  • 直接先转为2进制,再二进制通过3位或者4位转为16或者8
技术分享图片

原码反码补码移码

在计算机中参与运算的数有两大类:无符号数和有符号数。无符号数,即没有符号的数,在寄存器中的每一位均可用来存放数值;而有符号数,则需要留出位置来存放符号。以机器字长为8位为例,无符号数表示的范围是0~255有符号数表示的范围是-128~+127

先明白以下的几个概念:

  • 机器字长:存放数值的寄存器的位数,如8位,16位。
  • 真值:带有“+”或“-”符号的数称为真值。
  • 机器数:把符号“数字化”的数称为机器数。

将日常十进制的数据转为计算机使用的数据的编码
  • 先将十进制转为二进制
  • 在看用多少字节存储数据,如果是一个字节就8位,不够就左边补0,补够8位
  • 最高位,最前面那个0是正,1是负

移码作为浮点运算中的阶码  

原码是正的,反码加补码不变
原码是负的
  • 反码的符号位不变,其他位取反
  • 补码的符号位不变,其他位取反,然后加1  (即在反码的基础上加1)

移码就是在补码的基础上符号位取反,移码一般用作阶码
(就像数轴,因为0是正的,1是负的
在数轴上显示,负的在正的前面,很奇怪,所以移码就符号位取反
1为正,0为负,数轴看起来正数在负数前面,就正常了一点

技术分享图片

下面是数值的表示范围
例如一个字节就8个bit,就是8个位,最高能表示多少
例如n=8,
则原码和反码都是-127 到 +127
补码确是-128 到 +127(比反码源码范围大一个)
因为原码补码有+0,-0所以
负0通过补码算法处理后自然而然地被利用起来,用来表示-128.
技术分享图片
计算机中为什么要用补码存储数据

因为根据规则,原码和补码不能表示 -0,而移码可以表示到-128,所以就用-128,来表示-0,所以
用补码存-0

计算机在做同号相减或异号相加时,若都为原码,计算非常复杂,符号位不能简单加减,需要根据两者的绝对值而定,若为补码,则不需要考虑这些因素,符号位可以直接作加减操作
因此一个字节的有符号整数范围为-128到127

总结
  • 原码+反码:8位原码和反码能够表示数的范围是-127~127;
  • 补码:8位补码能够表示数的范围是 -128~127。
  • (在补码中用(-128)代替了(-0),所以补码的表示范围为:(-128~0~127)共256个)
技术分享图片

浮点数运算

对阶
  • 是向最高位进行对接
格式化
  • 保证首位不能为0
  • 且左边不能表示1位以上的数  
技术分享图片

2.计算机结构

这里的主机不是我们平时生活主机箱的东西,我们主机比日常生活的要少很多
显卡声卡属于外设
考试考主机的主成部分是cpu和主存储器(硬盘加内存),cpu又包括运算器和控制器
技术分享图片

运算器
算术逻辑单元(ALU) 是能实现多组算术运算和逻辑运算的组合逻辑电路
数据缓冲寄存器(DR)用来暂时存放由内存储器读出的一条指令或一个数据字;反之,当向内存存入一条指令或一个数据字时,也暂时将它们存放在数据缓冲寄存器中
累积寄存器(AC),不仅仅只是加法而已,减法也有
状态条件寄存器(psw)经常考,这个是用保存运算中出现的状态,例如
  • 进位标志(C)
  • 运算结果溢出标志(V)
  • 运算结果为零标志(Z)
  • 运算结果为负标志(N)
  • 中断标志

控制器
程序计数器(PC)是用于存放下一条指令所在单元的地址的地方
指令寄存器(IR)用于暂存当前正在执行的指令
指令译码器,指令由操作码和地址码组成,操作码表示要执行的操作性质,即执行什么操作,或做什么;地址码是操作码执行时的操作对象的地址。
时序部件

技术分享图片

3.FLYnn分类法

FLYnn分类法是计算机系统结构的分类方法之一,按照指令流和数据流来进行分类


单指令单数据流
  • 386,468,奔腾都是单处理器系统
  • 双核,四核,八核,已经不属于单处理器系统
  • 现在pc已经不是单处理器系统,单片机见的比较多
单指令多数据流
  • 阵列处理机为代表的,适合处理数组

多指令单数据流
  • (理论情况,不具备实际意义)

  • 指令流对应控制器
  • 数据流对应处理器和主存模块
  • 多指令单数据流的处理器只有一个

s  是simple的意思   单
m 是more的意思  多
i  是命令的意思
d 数据 
技术分享图片

4.CISC和RISC

这个主要考选择题
技术分享图片

5.流水线(重点)

5.1流水线的概念

技术分享图片

5.2.流水线的计算

我们正常先用理论公式
(2+2+1)+(100-1)*2 = 203
如果选择题没有这个答案,就用实际公式来计算
(3+100-1)*2 = 204 

  • K:是分了多少段(这里分了3段,取指,分析,执行)   所以 3
  • n:  是多少条流水线  100条流水线 就100
  • 三角t:就是分了的段数,最长的一条,例如下面最长时间是  2ns ,所以周期就是 2ns,花的时间最长的就是周期


技术分享图片

5.3流水线吞吐率计算


技术分享图片

5.4流水线的加速比

这里是使用上面例子来说明
不使用流水线 (2+2+1)*100 = 500
技术分享图片

5.5 流水线的效率

技术分享图片

这个见图知意,就是求出面积,求黑色格子占用了多少的百分比
分母
  • 长:完成这几个数据所要花的时间(用计算流水线的时间可以算)
        (1+1+1+3)+(4-1)*3 = 6+9 = 15
  • 宽: 是完成一个指令要的段数,这里是 4
分子(就是算格子,看图的黑格子)
  •  就是计算每个数据,总共要花的时间
      (1+1+1+3)*4 = 24
则就是 24/60 = 40%

6.存储系统

6.1层次化存储结构

  • 寄存器容量小,但是速度非常快
  • 缓存不是必须的,cpu,可以跟内存直接数据交换,但是速度慢
  • 按内容存取比按地址存取快的多
  • 加入了缓存是可以提高运行速率,是一种性价比方案,成本不多,但是大大提高效率
     快很多的原因是局部性原理
技术分享图片

6.2 Cache(缓存)

  • 命中率,寄存器,要读取数据,可以直接在缓存中就拿到,而不用再到内存,这就叫命中
  • 未命中率,没在缓存命中,去内存中拿

按照下面的公式,平均周期
1*95%(命中率)+1000ns*(1-95%)(未命中率)= 50.95ns
技术分享图片


6.3局部性原理

  • 时间局部性:就是刚刚访问的指令,又再次访问,例如循环中间的循环体
  • 空间局部性:就是访问完这个,接着访问临近的单为,例如数组,都是相连的,要给数组初始化为0
     先初始化第一个,接着初始化第二个
  • 工作集理论:就是将频繁访问的打包起来,放进cache,短时间内不被替换,从而提高效率

技术分享图片

        

6.4 主存

6.4.1 主存的分类

  • RAM断电就没了
  • ROM断电还能存
技术分享图片

6.4.2 主存的编制

主存的编制考的比较多   1个字节 = 8bit(位)
8*4
  • 8是8个地址空间
  • 4是每个地址有4个bit的容量

按照字节编制,就是1B

技术分享图片
一般考察的题目如上图
  • 地址单元和存储单元所得是同一个东西,就是指有多少个存储地址的意思,例如上面的8*4位
      一共是8个地址,即是8个地址单元和存储单元
  • k个地址单元的意思,k就是1024,也就是2的10次方,就是除以2的10次方,例如1万有多少千类似
  • 编址意思就是这个地址存多少字(bit),例如图上的8*4,每个地址存4个bit
题目的方式就是
  • 先一共多少地址位,接着乘以每个地址存多少个bit,求大长方形的面积
  • 接着根据说一共多少个小长方形组成一个大长方形,给你小长方形的个数,还有长度(地址数),叫你
     求小长方形的宽度(每个地址存多少)

一般题目是16进制的计算我们是先高位减去低位,再加1
但实际我们先高位加1再减去低位
题目中的后面的H不用理它,16进制里面最大是F,没有H
所以直接C7FFF+1=C8000,接着再减去低位的AC000等于1C000(16进制转10进制 1*16^2次方依次)
记得16进制借位是借16的
多少k,就除以2的10次方
再按照大长方形由多少个小长方形来计算即可   面积是一样的,即是对等关系
上面答案是4bit
技术分享图片

6.5 磁盘结构与参数(重点)

很久之前的软盘,和现在的机械硬盘都是磁盘,固态硬盘ssd不是磁盘
磁盘运作原理
磁盘用一个盘片,上面涂上特殊的材质保存数据,盘面存储数据,读取数据要用特殊的设备也就是磁头
数据存储在磁道上,磁头找相应的数据先定位到磁道的相应位置,这找的时间有点长,称为
(寻道时间)
技术分享图片
 
技术分享图片
物理块就是扇区
题目的意思就是  (最长时间
  • 按照顺序来就是先记录R0再到R1....,以此按照排序类推
  • 题目的使用单缓冲区的意思就是,将数据线记录到缓冲区中,单的意思是,不处理完,下一个就没有办法放进缓冲区,这里就是缓冲区处理花了3秒,就是处理要花三秒,才能将新东西放进缓冲区
  • 所以看下图,R0处理完已经到了R2的开始位置,所以不是R1,要按照顺序,所以就要转一圈回到R1的开始位置,所以再次回到R1的开始位置一共花了(3+3+(33-3))=36,才能回到R1的开始位置
  • 所以以此类推R0到R9就一共花了36*10
  • 当处理完R9时,此时磁头已经到达了R10的初始位置,也就是说处理R10,
      只需要3(转的时间)+3(缓冲区处理时间 = 6秒)
  • 所以最长时间就是 36*10+6 = 366 秒

技术分享图片
最短时间
就是说我们可以对哪个扇区放R0或者R1都行,只要按照顺序,先R0到R1,顺序记录就行
所以合理的排序如下面,处理完R0,立即可以处理R1,非常理想
所以总时间就是 (3+3) *11 = 66
技术分享图片


6.6.DMA控制方式(IO)

主存外设(io设备)直接成块传送

7.总线系统

一般考选择题,考概念
  • 内部总线,是芯片旁边的,芯片级别的总线
  • 系统总线,pci,vga,插件级别的总线,
  • 外部总线,是和外部的接触的总线

数据总线
  • 常说系统32位的,就是数据总线32位,就是说一个字 32个bit位,总线的宽度就是32bit,一个周期传输的数据量就是32bit位
地址总线
  • 地址总线32位的,说明所代表的地址空间是2的32次方,4G的宽度,32位的操作系统,能管理的内存
  • 就只有4g,当用作别的地址空间是,会更小一点,所以当我们用到的内存超过4g,就要用64位的系统了,否则管理不了这么多内存空间

控制总线
  • 是发送控制信号的
技术分享图片

8.系统可靠性设计和分析

8.1串联系统和并联系统的可靠性

串联系统
失效率的公式是当系统多,失效率低,用这个才有效,这个是个近似的公式,,不然累加超过1就是不对的
技术分享图片

并联系统
可靠度:用每个的失效相乘,在用1减去,就得出 
失效度:先求出可靠度,再用1减去可靠,得失效,下面失效公式复杂,不建议用
下面0.9是分别每条线可靠是0.9
技术分享图片

8.2模冗余系统与混合系统 (重点)

这个就是,将所有子系统的结果统计在一起,少数服从多数(进行表决),虽然,少数错的,
但是不影响系统给出正确答案
这个计算题现在考的不多

技术分享图片

这种窜链,并连的,先算并联的,再算窜连的(这个经常考)
技术分享图片

9.差错控制-校验码

9.1.校验码的概念

因为系统应该不会多个出错
  • 码距:即最多变化了多少个位,才转为另外一个码,就叫最小码距
技术分享图片
上面这个最小码距不需要的不等式不需要掌握,下面的才需要掌握

9.2 循环校验码-CRC

这个检验码只是进行验错,不纠错

模2除法,来进行异或,1和0是1,11和00是0,就是做除法不计算进位的
就是从左往右,取被除数的前几位,跟除数同位的做异或
异或的最前面的最后一个为0的不算在下一个取被除数的前几位范围内
结果前面是0的不要
技术分享图片

技术分享图片
做这种题步骤如下:
  • 将生成多项式,转为2进制形式,如下图说明第几位是1,生成的二进制形式为除数
技术分享图片

  • 就在被余数(报文)后面(生成多项式的个数-1)个0,如下面补5-1=4个零
技术分享图片

  • 接着将这两个进行模2除法,接着将的出来的余数,替换刚刚补位的四个零,即是crc校验码
  • 接收方可以将收到的校验码,用多项式生成的二进制形式进行模2除法,得到结果余数是0,就没问题


9.3海明校验码

海明校验码可以检错,还可以纠错
这个考察的比较高
校验码的位置在2的n次方位,例如1,2,4,8位校验位是定死的
技术分享图片

  • 如果信息位只有一个,则位数最少是3位,因为前面两位已经被占用
  • 如果信息位有5个,则位数最少是9

求信息码的海明校验码的校验位公式
  • 2的r次方 = x+ r +1      x是信息位数,r是校验码个数,如下图检验码位数3
技术分享图片

 做这个题我们
  • 将信息吗所在位数,全部转为2进制的表现形式,2的次方数,代表的是校验码所在的位数
  • 接着看全部的信息码,共同影响了第几个校验码,列出公式
  • 然后将影响了相同校验码的信息码进行异或等于相应的校验码,列出公式即可求解
简单说就是看信息码影响了哪几个位置的检验码

做这个题就是看位数是第几,然后用2的多少次方相加得到这个第几位数,则分别影响这个数的就是这几个校验码
看清楚题目的信息位的下标从0开始开始1开始,例如D0还是D1
技术分享图片
图上的校验哪个出错的写法是根据上面的求校验码的来的,结果是0是对的,结果是1就是有问题
若对方收到的码是这个我们,可以快速将收到的校验码和之前生成的校验码进行异或
如图
001
101
得出 
100,则知道了是第一位信息码出错,纠正直接取反即可

反正就两种方法验证在哪里出错
一种:上图哪个
一种:拿到传过来的校验码进行异或得出结果

10.病毒

技术分享图片






01.计算机组成和体系结构

原文:https://www.cnblogs.com/superComputer/p/14166484.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!