计算机组成原理—运算方式

发布时间 2023-05-31 18:01:53作者: T,a,o

计算机组成原理—中央处理器(1)

四、计算机的运行方式

1.有符号数和无符号数

计算机的数均存在寄存器中,通常称寄存器的位数为机器字长

1.1无符号数

没有表示符号的数,每一位均可存放数值。eg:若机器字长16位,则可表示无符号数的范围为0-65535(2^16 - 1)

1.2有符号数

符号的“+”、“-”用“0”和“1”来表示。0=>正;1=>负

真值:带有正负的二进制数字表达

机器数:真值的机器表示


计算码值。前提:已知真值

原码 反码 补码
正数整数 0,真值 同原码 同原码
正数小数 0.小数后真值 同原码 同原码
负数整数 1,去负号真值 首位不变,后位取反 首位不变,最后1位加1
负数小数 1.小数后无负号真值 首位不变,后位取反 首位不变,最后1位加1

以8进制为例,不同码对应的真值范围

image

  • 移码

已知真值,求其移码

移码 = 真值 + 2^n(真值位数) 最高位为正负位

注:二进制的加减法

2.数的定点、浮点表示

2.1定点表示

image

2.2浮点表示

N = S * r^j

S:是尾数(可正可负,首位非零)

j:为阶数(可正可负)

r:为基数(2、4、8、16进制)


eg:N = 11.0101 =>0.110101 * 2^10(二进制)


2.2.1此为浮点位的表示形式

image

2.2.2 定点数和浮点数的比较
定点数 浮点数
范围
精度
运算步骤
溢出判断 本身判断 规格化阶数判断

3.定点运算

3.1移位

小数点不动,左移,绝对值增大;反之减小

  • 移位规则

符号位不变 +

image

3.2加减运算

全部换成补码进行 +运算

image

:超出的位丢掉,所得的结果为补码(要还原)

  • 溢出判断

一个符号位:正正 ->负或是负负->正为溢出;若有进位,则与原操作 数符号对比,相同,未溢出,反之,溢出

两个符号位:10/01为溢出,最高位为正真的符号位

4.浮点四则运算

4.1加减运算

  • 对阶(小阶向大阶对齐)

先写出要运算的数的计算机补码表示

image

再求阶差

image

结果为负且等于(注意结果是补码)-2,说明y的阶大于x的阶,x->y对齐:尾数向右移动两位,x的阶要增大2

image

  • 尾数求和

直接相加即可

image

  • 规格化

左规:将结果00.0xxx => 00.1xxx

​ 将结果11.1xxx => 11.0xxx

​ 尾数向左移动,阶数减小

右规:将结果01.xxx ->00.1xxx

​ 将结果10.xxx ->11.0xxx

​ 尾数向右移动,阶数减大

image

  • 舍入

“0”舍“1”入,尾数右移时,同”四舍五入“

”恒置1“法,尾数右移时,最右位恒为1

  • 溢出判断

根据阶码来判断

image