计算机组成与体系结构

Posted 最小的帆也能远航

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算机组成与体系结构相关的知识,希望对你有一定的参考价值。

目录

1.计算机结构

2.寻址方式

3.CISC与RISC

4.流水线

5.层次化存储结构

6.Cache

7.主存

8.总线

9.N摸混合系统

10.校验码


1.计算机结构

运算器 

  • 算术逻辑单元ALU:数据的算术运算和逻辑运算
  • 累加寄存器AC:通用寄存器,为ALU提供一个工作区,用在暂存数据
  • 数据缓存寄存器DR:写内存中,暂存指令或数据
  • 状态条件寄存器PSW:存状态标志或控制标志
    争议:也有将其归为控制器的

 控制器

  • 程序计数器PC:存储下一条要执行指令的地址
  • 指令寄存器IR:存储即将执行的指令
  • 指令译码器ID:对指令中的操作码字段进行分析解释
  • 时序部件:提供时序控制信号

2.寻址方式

立即寻址方式:

特点:操作数直接在指令中,速度快,灵活性差
直接寻址方式:

特点:指令中存放的是操作数的地址
间接寻址方式:

特点:指令中存一个地址,而这个地址所对应的内容是操作数的地址
寄存器寻址:

特点:寄存器存放操作数
寄存器间接寻址:

特点:寄存器内存放的是操作数的地址


3.CISC与RISC

RISC只有Load/store操作内存,支持方式少,是因为大部分都是操作寄存器
RISC增加了通用寄存器,迎合更多的需求,采用硬布线逻辑的是精简指令集
RISC适合采用流水线
(三)CISC和RISC比较

  • 指令数量,指令使用频率,寻址方式,寄存器,流水线控制,高级语言支持
  • CISC:复杂,指令数量多,频率差别大,多寻址
  • RISC:精简,指令数量少,操作寄存器,单周期,少寻址,多通用寄存器,流水线

4.流水线

  • 相关参数计算:流水线执行时间计算,流水线吞吐率,流水线加速比,流水线效率
  • 流水线是指程序执行时多条指令重叠进行操作的一种准并行处理实现技术
  • 各种部件同时处理是针对不用指令而言的,它们可同时为多条指令的不同部分进行工作,以提高各部件的利用率和指令的平均执行速度

 

流水线的计算 

  • 一条指令的执行过程可以分解为取指,分析和执行三步
  • 在取指时间t取指=3△t
  • 分析时间t分析=2△t
  • 执行时间t执行=4△t的情况下
  • 若按串行方式执行, 则10条指令全部执行完需要()△t
  • 若按流水线的方式执行,流水线周期为()△t,则10条指令全部执行完需要()△t

流水线吞吐率的计算 

超标量流水线 

  • 参数:度
  • 度:在某一时刻,某一部件,同时可以执行的指令条数

5.层次化存储结构

  • 寄存器:最快,但容量小,成本高
  • Cache:高速缓存区
  • 内存:RAM(随机),ROM(只读)
  • 外存:硬盘(500G-1T)

6.Cache

Cache-概念 

在计算机的存储系统体系中,Cache是访问速度最快的层次(若有寄存器,则寄存器最快)
使用Cache改善系统性能的依据是程序的局部性原理
如果以h代表对Cache的访问命中率,t1表示Cache的周期时间,t2表示主存储器周期时间,以只读操作为例,使用“Cache+主存储器”的系统的平均周期为t3,则:

  • t3 = h × t1 + (1-h) ×t2
  • 其中,(1-h)又称为失效率

Cache-映象 

硬件直接控制
直接相联映象:硬件电路较简单,但冲突率很高
全相联映象:电路难于设计和实现,只适用于小容量的cache,冲突率较低
组相联映象:直接相联与全相联的折中
地址映象是将主存与Cache的存储空间划分为若干大小相同的页(或称为块)

  • 例如,某机的主存容量为1G,划分为2048页,每页512KB
  • Cache容量为8M,划分为16页,每页512KB

Cache-全相联映象 

  •  没有任何限制
  • 主存和Cache可以有任意的对应关系
  • 页表记录一下主存与Cache的对应关系
  • 将主存的地址放到Cache中,由于他们的页是一样的,所以页内地址也是一样的
  • 对于518KB,默认按字节存储,说明每页512K个存储单元——>219——>19位
  • 主存最大页是2048页,说明需要211,所以需要11位来存储就可以了
  • 主页页号都找到了,那么整个主存的具体地址就找到了
  • 如何找到对应的Cache的地址呢?根据页表,查主存页号对应的Cache页号

 Cache-直接相联映象

  • 主存不仅分页,还要分区
  • 每个分区的大小与Cache是一样的
  • 每个区的第一页只能放在Cache的第一页,依次递推
  • 如果指定的页,有东西了,那么就冲突了,因为只能放在指定的位置

Cache-组相联映象 

  • 先分区再分组

7.主存

主存-编址与计算 

存储单元
主存芯片划分成一个一个的单元格,在单元格中存数据
单元格中存什么东西,就要看是按字编址,还是按字节编址
按字编址:存储体的存储单元是字存储单元,即最小寻址单元是一个字
这里的字,指的是机器字长,与计算机相关
一个bit位可以存0或者1
按字节编址:存储体的储存单元是字节存储单元,即最下寻址单元是一个字节
1B = 8bit
默认按字节编址
根据存储器所要求的的容量和选定的存储芯片的容量,就可以计算出所需芯片的总数
- 总片数 = 总容量/每片的容量


例:若内存地址区间为4000H~43FFH,每个存储单元可存储16位二进制数,该内存区域用4片存储器芯片构成,则构成该内存所用的储存器的芯片的容量是多少?
总容量= 内存地址区间的大小(存储单元的个数)(43FFH+1-4000H) ×存储单元的类型(字/字节)的大小(16bit) = 芯片总片数(4)×每片单位容量
一定要注意进制转化,(43FFH+1-4000H)= 400H = 4×162
单位芯片容量 = 4×162×16/4 = 163=(24)3 = 212 bit = 4Kbit = 512B


8.总线

一条总线同一时刻仅允许一个设备发送,但允许多个设备接收
数据总线(Data Bus): 在CPU与RAM之间来回传送需要处理或是需要储存的数据

  1. 地址总线(Address Bus):==用来指定在RAM(Random Access Memory)之中存储的数据的地址
  2. 控制总线(Control Bus):==将微处理器控制单元(Control Unit)的信号,传送到周边设备,一般常见的为USB Bus和1394 Bus

9.N摸混合系统

  • 计算可靠度,看成三个部分的串联
  • 根据串联,并联计算可靠度的方法,来计算

10.校验码

校验码基础知识 

  • 码距:任何一种编码都由需要码字构成,任意两个码字之间最少变化的二进制位数就称为数据校验码的码距
  • 码字:定义有效的算编码的形式
  • 例如:用4位二进制表示16中状态,则有4个不同的码字,此时码距为1(0000->0001)

奇偶校验 

奇偶校验码的编码方法是:由若干位有效信息(如一个字节),再加上一个二进制位(校验位)组成校验码

  • 奇校验:整个校验码(有效信息位和校验位)中“1”的个数为奇数
  • 偶校验:整个校验码(有效信息位和校验位)中“1”的个数为偶数

例如:3位二进制,可表示8种不同的码字,(000,001,010,011,100,101,110,111),码距为1
如果我们此时用奇校验来传递数据:加上校验位之后,信息正确后的数据(0001,0010,0100,011,1000,1011,1101,1110)

对于校验,很多时候,都是通过增大码距,来传递信息的
例如:对于,我们想传递110 ,奇校验之后1101 ,传递正确
如果,我们在传递过程中,数据发生了改变100,奇校验之后1001,传递错误,“1”为偶数
如果,我们在传递过程中,数据发生了改变101,奇校验之后1011,校验正确,传递错误
因此:奇偶校验,只可检查1位(奇位都可以)的错误,不可纠错

循环校验码CRC 

CRC校验,可检错,不可纠错

CRC校验码=信息位+CRC校验位

  • CRC的编码方式是:在k位信息码之后拼接r位校验码
  • 应用CRC码的关键是如何从k位信息位简便地得到r位校验码(编码),以及如何从k+r位信息码判断是否出错
  • 循环冗余校验码编码规律如下:
  • 把待编码的N位有效信息表示为多项式M(X)
  • 把M(X)左移K位,得到M(X)×XK,这样空出了K位,以便拼接K位余数(即校验码)
  • 选取一个K+1位的产生多项式G(X),对M(X)×XK做模2除
  • 把左移K位以后的有效信息与余数R(X)做模2加减,拼接为CRC码,此时的CRC码共有N+K位
  • 把接收到的CRC码用约定的生成多项式G(X)去除,如果正确,则余数为0;如果某一位出错,则余数不为0
  • 不同的位数出错其余数不同,余数和出错位序号之间有唯一的对应关系

模2除法:模2除法是指在做除法运算的过程中不计算进位的除法

海明校验码 

海明校验,可检错,也可纠错

  • 原理:在有效信息位中加入几个校验位形成海明码,使码距比较均匀拉大,并把海明码的每个二进制位分配到几个奇偶校验组中。当某一位出错后,就会引起有关的几个校验位的值发生变化,这不但可以发现错误,还能指出错误的位置,为自动纠错提供依据
  • 2r >= m+r+1
  • m 有效信息位位数(一般会直接给出)
  • r (求取) 编码位数 一般求至少需要多少位数
  • 海明校验:主要是对于不同的分组当中,都会涉及到相同的校验位置(交叉),由于一个位置出错,会引起其他校验位置发生改变,根据交叉,锁定出错位置,从而纠错

 

 

以上是关于计算机组成与体系结构的主要内容,如果未能解决你的问题,请参考以下文章

大数据开发理论基础与项目实战Java SE之1.初识计算机和Java语言

java学习笔记

JAVA笔记学习

JAVA笔记学习

JAVA笔记学习

JAVA笔记学习