计算机结构基础知识

1.计算机中浮点数的表示方式:

 

 

  1. 指数位越多,尾数位则越少,其表示的范围越大,但精度就会变差,反之,指数位越少,尾数位则越多,表示的范围越小,但精度就会变好
  2. 一个数字的浮点数格式,会因为定义的规则不同,得到的结果也不同,表示的范围和精度也有差异
  3. 单精度浮点数 float:32 位,符号位 S 占 1 bit,指数 E 占 8 bit,尾数 M 占 23 bit
  4. 双精度浮点数 float:64 位,符号位 S 占 1 bit,指数 E 占 11 bit,尾数 M 占 52 bit
  5. 尾数 M 的第一位总是 1(因为 1 <= M < 2),因此这个 1 可以省略不写,它是个隐藏位,这样单精度 23 位尾数可以表示了 24 位有效数字,双精度 52 位尾数可以表示 53 位有效数字
  6. 指数 E 是个无符号整数,表示 float 时,一共占 8 bit,所以它的取值范围为 0 ~ 255。但因为指数可以是负的,所以规定在存入 E 时在它原本的值加上一个中间数 -127,这样 E 的取值范围为 -127 ~ 128。表示 double 时,一共占 11 bit,存入 E 时加上中间数 -1023,这样取值范围为 -1023 ~ 1024。
小数点后的数变二进制用乘法,例如25.125(D) = 11001.001(B) = 1.1001001 * 2^4(B) 
小数转二进制,乘2(乘不出整数的按具体精度要求来即可) 
 
浮点数基地可以用2,10,16进制表示
FP32转化为int8:定点保留特定位数整数和小数,而浮点保留特定位数的有效数字(significand)和指数(exponent)。
整数数值间隙是1,浮点数数值间隙由指数决定
FP32 和 INT8 的值域是 [公式] 和 [公式] ,而取值数量大约分别为 [公式] 和 [公式] 。因此,将网络从 FP32 转换为 INT8 并不像数据类型转换截断那样简单!!!
目的需要将值量化到(-128 -- +127)
2.流水线设计思路及原理
流水线实际上是将组合逻辑系统分割,然后在间隙插入寄存器,暂存中间数据。其思想就是要将大的操作分成尽量小的操作,每一步小的操作用的时间就越小,也就提高了频率,各小操作可以并行执行(并非一开始就并行执行而是过一会儿并行执行),
优点:所以提高了数据的吞吐率(操作的处理速度).
   因为是组合逻辑,则不能用非阻塞赋值,否则逻辑会出错。
缺点:增加电路面积
 
 
posted @ 2022-04-27 14:11  十点三十睡觉  阅读(229)  评论(0编辑  收藏  举报