浅谈计算机组成原理(二)

 2021-10-10 18:34  阅读(48)
文章分类:计算机组成原理 文章标签:计算机原理计算机组成原理
©  原文地址:https://zhuanlan.zhihu.com/p/156824796

1、

第二章:数据的表示和运算

通过下面的思维导图来依次分享「数据的表示和运算」里面重要知识点。

202110101833589001.png202110101834002942.png

[202110101834004763.png

凌丰(LINKFAIR)珐琅锅铸铁搪瓷汤锅不粘锅炖锅煲汤锅

京东

¥ 399.00

去购买]202110101834004763.png_ LINKFAIR _ _ 399.00

2、

第一节:数制与编码

**1. 真值:**需要用正、负号来分别表示正数(正号可以省略)、负数的数称为真值,真值是机器数所代表的实际值。

**2. 机器数:**将数据的符号数字化,即用“0”表示“正”,用“1”表示“负”。

**3. BCD码:**二进制的十进制数(Binary-coded Decimal,BCD)通常采用4位二进制数来表示一位十进制数中的0~9这10个数码。以下为几种常用的BCD码:

①8421码(最常用):是一种有权码,设其各位的数值为a3、a2、a1、a0,则权值从高到低依次为8421,即它表示的十进制数为:D=8a3+4a2+2a1+1a0。

②余三码:是一种无权码,是在8421码的基础上加上(0011)2 形成的。

③2421码:是一种有权码,权值由高到低分别为2421,特点是大于等于5的4位二进制数中最高位为1,小于5的最高位为0。

4. 区位码与国标码:

①区位码:用两个字节表示一个汉字,每个字节用七位码,它将汉字和图标符号排列在一个94行94列的二维代码表中。区位码是4位十进制数,前2位是区码,后2位是位码,故称为区位码。

②国标码:是将十进制的区位码转换为十六进制数后,再在每个字节上加上20H。国标码两个字节的最高位都是0,

③区位码和国标码都是输入码,其和汉字内码的关系(十六进制)如下:

国标码 = (区位码)16 + 2020H

汉字内码 = (国标码)16 +8080H

5. 主存中字的存放方式:

①小端模式:先存储低位字节、后存储高位字节的顺序(即从低位字节向高位字节顺序)存放字。

②大端模式:先存储低高字节、后存储低位字节的顺序(即从高位字节向低位字节顺序)存放字。

6. 校验码:是指能够发现或自动纠正错误的数据编码,也称为检错纠错编码。校验码的原理是通过增加一些冗余码,来检验或纠错编码。

3、

第二节:定点数的表示与运算

**1. 定点数:**即小数点的位置固定,分为定点小数和定点整数,如下:

①定点小数:是纯小数,约定小数点位置在符号之后、有效数值部分最高位之前

②定点整数:是纯整数,约定小数点位置在有效数值部分的最低位之后。

2. 原码:用机器数的最高位表示该数的符号,其余的各位表示数的绝对值。

3. 补码:采用补码表示法,便于将加减法则统一采用加法操作实现。对于正数,补码与原码的表示相同;对于负数,原码符号位不变,数值部分按位取反,末位加1(即所谓“取反加1”)。

**4. 反码:**通常用来作为由原码求补码或者由补码求原码的中间过渡。对于正数,反码与原码的表示相同;对于负数,原码符号位不变,数值部分按位取反。

5. 补码定点数的加/减法运算:补码加减法运算规则简单,易于实现,因此计算机系统中普遍采用补码加减法运算。补码运算的特点如下:

①参与运算的两个操作数均用补码表示;

②按二进制运算规则运算,逢二进一;

③符号位与数值位按同样规则一起参与运算,符号位运算产生的进位要丢掉,结果的符号位由运算得出;

④补码加减运算时,若做加法,则两数的补码直接相加;若做减法,则将被减数与减数的机器数负数相加;

⑤补码运算的结果也为补码。

4、

第三节:浮点数的表示与运算

1. 浮点数的表示格式:浮点数由阶码和尾数两部分组成,表示为 N=r^E x M(其中r是浮点数阶码的底,与尾数的基相同,通常为r=2,E和M都是带符号的定点数,E称为阶码,M称为尾数)

2. 浮点数的运算:浮点数运算特点是阶码运算和尾码运算分开进行,浮点数的加/减运算一律采用补码。浮点数的加/减运算分如下几步:

①对阶:目的是使两个操作数的小数位置对齐,即使得两个数的阶码相等。具体为,先求阶差,然后以小阶向大阶看齐的原则,将阶码小的尾数右移一位(基数为2),阶加1,直到两个数的阶码相同为止。尾数右移时,舍弃掉有效位会产生误差,影响精度;

②尾数求和:将对阶后的尾数按定点数加(减)运算规则运算;

③规则化:当尾数的最高数值位与符号位不同时,即为规格化形式。规格化分为左规和右规两种:

左规:当尾数出现00.0XX...X或11.1XX...X时,需要左规,即尾数左移1位,和的阶码减1,直到尾数为00.1XX...X或01.XXX...X

右规:当尾数求和结果溢出(如尾数为10.XX...X或01.XX...X)时,需要右规,即尾数右移一位,和的阶码加1.

④舍入:在对阶和右规的过程中,可能会将尾数低位丢失,引起误差,影响精度,常见的舍入方法有:“0”舍“1”入法和恒置“1”法;

“0”舍“1”入法:在尾数右移时,被移去的最高数值位为0,则舍去;被移去的最高数值位为1,则在尾数的末位加1。

恒置“1”法:尾数右移时,不论丢掉的最高数值位是“1”还是“0”,都使右移后的尾数末位恒置“1”。

⑤溢出判断:浮点数的溢出与否是由阶码的符号决定的。以双符号位补码为例,当阶码的符号位出现“01”时,即阶码大于最大阶码,表示上溢,进入中断处理;当阶码的符号位出现“10”时,即阶码小于最小阶码,表示下溢,按机器零处理。

5、

第四节:算数逻辑单元ALU

1. 运算器:在计算机中,运算器承担了执行各种算数和逻辑运算的工作,运算器由算术逻辑单元ALU(Arithmetic Logic Unit)、累加器、状态寄存器和通用寄存器组等组成。

2. 算数逻辑单元ALU:基本功能包括加、减、乘、除四则运算,与、或、非、异或等逻辑运算,以及移位、求补等操作。

3. 计算机运行时,运算器的操作和操作种类由控制器决定。运算器处理的数据来自存储器;处理后的结果数据通常送回寄存器,或暂存器。

点赞(0)
版权归原创作者所有,任何形式转载请联系作者; Java 技术驿站 >> 浅谈计算机组成原理(二)

相关推荐