计算机组成原理- 第二章 数据的表示和运算

第二章 数据的表示和运算

考纲内容

  • 数制与编码
    • 进位计数制及其相互转化
    • 真值和机器数
    • 字符和字符串
  • 定点数的表示和运算
    • 表示: 无符号数: 有符号数
    • 运算:定点数移位运算;原码定点数加减运算;补码定点数加减运算;定点数乘除运算,溢出的概念及其判别方法
  • 浮点数的表示和运算
    • 浮点数的表示:IEEE754标准
    • 运算: 浮点数的加减运算
  • 算术逻辑单元(ALU)
    • 串行加法器和并行加法器;ALU的功能和构造

1.1进位计数制

image-20210723150709273

1.1.1其他进制转换十进制

image-20210723150744870

1.1.2二进制,八进制,十六进制相互转换

image-20210723150920099

image-20210723150944306

1.1.3十进制转换成其他进制

image-20210723151043584

image-20210723151121969

1.1.4真值和机器数

image-20210723151327546

1.1.5小结

image-20210723150552636

1.2 BCD码

image-20210723151405563

1.2.1 8424码

image-20210723154905528

8421码的加法

image-20210723155133973

1.2.2余3码

image-20210723155914896

余3码的加法 相加后每位再加上3(0011)

例 5+8=13 1000+1011=1 0011 1 +0011=0100 0011+0011=0110 即 0100 0110=13

1.2.3 2421码

改变权值定义

image-20210723161036608

0-4 编码的第一位必须是0

5之后 编码的第一位必须是1 防止 歧义 例 5 =2+2+1=4+1 1011 0101

1.2.4小结

image-20210723161215832

1.3 字符与字符串

1.3.1ASCII码

常用的字符 共128个 故需要7个二进制编码

但是存入计算机的时候 通常要在最高位 补一个0 凑够一个字节

image-20210723162650434

特别的在 48-57位上 表示0-9

48(0011 0000)~57(0011 1001) 后四位就是0-9数字对应的8421码

字母 前三位相同 后五位就是 1(0 0001)--26(1 1010)

image-20210723163154972

65+32=97 大写+32=小写

1.3.2汉字表示及编码

image-20210723164641058

1.3.3字符串

image-20210723164821556

image-20210723164911076

image-20210723164925198

1.4奇偶校验码

image-20210723165122523

image-20210724134838392

image-20210724135117424

image-20210724135536402

image-20210724135600129

1.5海明码

image-20210724140738033

image-20210724141112954

image-20210724141247192

image-20210724141713102

题目格式可能不一样

image-20210724142130958

image-20210724142407350

image-20210724142423778

1.6循环冗余校验码

image-20210724151319877

image-20210724152414461

image-20210724152433521

模2除就是异或

模2减:(就结果而言 和 异或一样 如下:)

0-0=0

1-1=0

1-0=1

0-1=1

image-20210724152506103

image-20210724152523749

image-20210724152954166

2.1定点数

image-20210724160728721

2.1.1无符号数

image-20210724160809961

2.1.2有符号数

image-20210724160930431

原码

image-20210724161313652

原码范围

image-20210724162540464

反码

image-20210724162656043

补码

image-20210724163200744

补码转源码 取反加一

移码

image-20210724163307696

几种码

image-20210724163439418

练习

image-20210724163859230

小结

image-20210724163940416

2.2原码补码移码的作用

2.2.1原码的作用

进行加法运算

image-20210724170324212

但是当进行有符号数之间的加法时,会出现错误。

image-20210724170333310

结果非0,所以便引入补码。

2.2.2 补码的作用

补码是为了让减法操作变为加法操作,减少硬件的成本。
正数的补码为其本身,负数的补码为符号位不变,其余位取反加一。

如何理解补码
以时钟举例,现在是10点,想要变为3点,可以顺时针旋转5格,记为+5;也可以逆时针旋转7格,记为-7。在此运算里面模为12,5mod12和-7mod12所对应的意义相同,都是将10点变为3点。
由此可以看到,在计算机中,记一个字长为8bit,所以大小为00000000~11111111,由此可以理解模为2^8。
公式:模-a的绝对值=a的补码(a为负数)
例如10001010(-18)的绝对值为00001010(18)
a的补码为反码加1,11110110(-18的补码)
由上述公式可得:
100000000=00001010+11110110
理解补码后,将减法变为加法例如18减去18等于18加上(-18),意义等同于加上-18的补码。
结果本应该为100000000,但是只有8位存储,所以去掉最高位1,结果为00000000。)

例子:
48-19=48+(-19)
-19的补码为11101101

image-20210724170457870

去掉最高位得00011101(29)

模运算的性质

image-20210724170012980

2.2.3移码的作用

对计算机而言 移码更方便比较真值的大小

image-20210724165753361

2.3移位运算

image-20210724210128611

2.3.1算术移位

原码算术移位

image-20210724210620276

image-20210724210733297

image-20210724210320233

反码的算术移位

image-20210724211011065

补码的算术移位

image-20210724211205525

image-20210724211330984

image-20210724211444079

2.3.2逻辑移位

image-20210724212132888

image-20210724212314126

2.3.3循环移位

image-20210724212703296

小结

image-20210724212735970

2.4加减运算

image-20210724212813361

2.4.1原码的加减法

image-20210724213639692

2.4.2补码的加减法运算

image-20210724215205844

2.4.3 溢出判断

image-20210724215728040

image-20210724215940840

image-20210724220821776

2.4.4符号扩展

image-20210724221036850

小结

image-20210724221056515

2.5乘法运算

image-20210726144124571

2.5.1 原码的一位乘法

image-20210726145416666

image-20210726151145607

image-20210726151030792

ACC 中存放部分结果

MQ 中存放 乘数

X 中存放被乘数

每运算一次 就进行一次ACCMQ中右移

image-20210726150938332

2.5.2 补码的一位乘法

image-20210726152159810

image-20210726152731262

对比

image-20210726153000376

2.6 除法运算

image-20210726153225025

2.6.1原码的除法运算

image-20210726154519065

规律: 忽略小数点,每确定一位商,进行一次减法,得到4位余数,在余数末尾补o,再确定下一位商。确定5位商即可停止(机器字长为5位)

image-20210726154742446

image-20210726155813255

image-20210726155900625

image-20210726155957287

image-20210726160021694

image-20210726160308644

加减交替法

image-20210726160815268

image-20210726160649235

image-20210726160929837

2.6.2补码的除法运算

image-20210726161207965

image-20210726161226330

2.7强制类型转换

image-20210726161625178

2.8数据的存储和排列

image-20210728161120815

按字

image-20210728162021973

字地址转换成字节地址 左移两位 例 2号字 10 左移两位 1000 即地址为8

半字地址转换成字节地址 左移一位 2 10 100 4

image-20210728162453236

2.9浮点数的表示

image-20210728162520378

2.9.1浮点数的表示

image-20210728164720724

image-20210728165445514

练习

image-20210728165700772

image-20210728165807330

2.9.2浮点数尾数的规格化

image-20210728170120713

image-20210728170329682

2.9.3规格化浮点数的特点

image-20210728170848599

小结

image-20210728171741757

2.10 IEEE标准

正常情况下的移码

image-20210728184546325

其他情况

image-20210728184724656

IEEE标准

image-20210728185838713

例题

image-20210728190310541

image-20210728190542931

image-20210728190713480

非正常情况

image-20210728204330251

image-20210728204513589

image-20210728204531421

2.11浮点数的运算

image-20210729205201875

步骤

image-20210729214408832

例子

image-20210730203454764

image-20210730203903971

1.对阶

image-20210730204548012

2.3.

image-20210730204840373

4.5

image-20210730204931198

image-20210730210115370

强制类型转换

image-20210730210609238

小结

image-20210730210641007

2.12 算数逻辑单元(ALU)

image-20210730210734580

image-20210730211424672

基本的逻辑运算

image-20210730211741155

image-20210730211954031

复合逻辑

image-20210730212250644

image-20210730212355042

奇偶校验的实现

image-20210730212452854

image-20210730212623993

加法运算

image-20210730213052757

串行加法器

image-20210730213235731

并行加法器

image-20210730213340205

小结

image-20210730213432253

2.13 ALU的改进

image-20210730213642396

image-20210730213731611

image-20210730213803858

image-20210730213837555

image-20210730213853850

image-20210730213929705

posted @ 2021-07-30 21:41  有空就一起吃饭吧  阅读(505)  评论(0编辑  收藏  举报