《计算机组成原理》第六章:计算机的运算方法【知识点总结】

1.无符号数和有符号数

在计算机中参与运算的数有两大类:无符号数、有符号数

1.1 无符号数

在这里插入图片描述


1.2 有符号数

1.机器数与真值
对于有符号数而言,在计算机中用0->正,1->负,相当于符号被数字化了,并规定放在有效数字的前面,即组成了有符号数。
例如,有符号数的小数表示:
在这里插入图片描述
有符号数的整数表示:
在这里插入图片描述
把符号数字化的数称为机器数,而把带"+","-"符号的数称为真值,一旦符号数字化后,符号的数值就形成了一种新的编码。

在运算过程中,
符号位能否和数值部分一起参加运算?
如果参加运算,符号位又需作哪些处理?
这些问题都与符号位和数值位所构成的编码有关,这些编码就是原码、反码、补码、移码。

  • 原码表示法
    原码表示法又称为带符号的绝对值表示,规定整数的符号位与数值之间用逗号隔开小数的符号位与数值位之间用小数点隔开
    例如:
    +0.1011 原码:0.1011
    -0.1011 原码:1.1011
    +1100 原码:0,1100
    -1100 原码:1,1100

整数原码的定义为:
在这里插入图片描述
小数原码的定义为:
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

  • 补数表示法
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    补码的定义:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 反码表示法
    在这里插入图片描述
    在这里插入图片描述

  • 移码表示法
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述



2. 数的定点表示和浮点表示

在计算机中,小数点不用专门的器件表示,而是按照约定的方式给出,有两种表示方法表示小数点的存在,即定点表示和浮点表示
定点表示的数称为定点数,浮点表示的数称为浮点数。

2.1 定点表示

在这里插入图片描述


2.2 浮点表示

实际上计算机中处理的数不一定是纯小数or纯整数,而且有些数据的数值范围相差很大,它们都不能直接用定点小数or定点整数表示,但是均可以用浮点数表示。
浮点数即小数点的位置可以浮动的数
比如:
352.47 = 3.5247 x 102
= 3524.7 x 10-1
= 0.35247 x 103
显然,这里的小数点的位置是变化的,但因为分别乘上了不同的10的方幂,故值不变。
通常,浮点数被表示成:
N = S x rj
其中S为尾数(可正可负),j为阶码(可正可负),r是基数(也叫基值)。在计算机中基数可以取2、4、8、16等等。
以基数r=2为例,数N可以写成下列不同的形式:
N = 11.0101
= 0.110101 x 210
= 1.10101 x 21
= 1101.01 x 2-10
= 0.00110101 x 2100

为了提高数据精度以及便于浮点数的比较,在计算机中规定浮点数的尾数用纯小数形式,故上例中0.110101 x 210和0.00110101 x 2100形式是可以采用的。
此外将尾数最高位为1的浮点数称为规格化数,即N=0.110101 x 210为浮点数的规格化形式。
浮点数表示成规格化形式后,其精度最高。

  • 浮点数的表示形式
    浮点数在机器中的形式如下所示,采用这种数据格式的机器称为浮点机
    在这里插入图片描述
    浮点数由阶码j和尾数S两部分组成,阶码是整数,阶符和阶码的位数m合起来反映浮点数的表示范围及小数点的实际位置,尾数是小数,其位数n反映了浮点数的精度,尾数的符号St代表浮点数的正负。

  • 浮点数的表示范围
    以通式**N= S x rj**为例,设浮点数阶码的数值位取m位,尾数的数值位取n位,当浮点数为非格式化数时,它在数轴上的表示范围如下面图所示:
    在这里插入图片描述

  • 浮点数的规格化
    为了提高浮点数的精度,其尾数必须为格式化数,如果不是格式化数,就要通过修改阶码并同时左右移尾数的办法,使其变成规格化数,将非规格化数转换成规格化数的过程称为规格化
    对于基数不同的浮点数,因其规格化数的形式不同,规格化的过程也不同。

**当基数为2时,尾数最高位为1的数为规格化数。**规格化时,尾数左移一位,阶码-1 (这叫做向左规格化—左规),尾数右移一位,阶码+1(这叫做为向右规格化—右规)。
当基数为4时,尾数的最高两位不全为0的数为规格化数。规格化时,尾数左移两位,阶码-1(左规),尾数右移两位,阶码+1(右规)。
当基数为8时,尾数的最高三位不全为0的数为规格化数。规格化时,尾数左移三位,阶码-1(左规),尾数右移三位,阶码+1(右规)。
同理可以推的基数为2n的任何数的规格化过程。

浮点机中一旦基数确定后就不再变了,而且基数都是隐含的,故不同基数的浮点数表示形式完全相同。但基数不同,对数的表示范围和精度等都有影响。一般来说,基数r越大,可表示的浮点数范围越大,而且所表示的数的个数越多,但r越大,浮点数的精度反而下降。如r=16的浮点数,因其规格化数的尾数最高三位可能出现0,故与其尾数位数相同的r=2的浮点数相比,后者可能比前者多三位精度。


2.3 定点数和浮点数的比较

在这里插入图片描述


2.4 举列

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


2.5 IEEE 754标准

在这里插入图片描述
在这里插入图片描述



3.定点运算

定点运算包括移位、加、减、乘、除几种。


3.1 移位运算
  • 移位运算的意义
    在这里插入图片描述
  • 算术移位规则
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

3.2 加法与减法运算

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述 + 溢出判断
判断补码定点加减运算溢出的方法有两种:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 3.补码定点加减法所需的硬件配置
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

3.3 乘法运算【待理解】

在计算机中,乘法运算是一种很重要的运算,有的机器由硬件乘法器直接完成乘法运算有的机器内没有乘法器,但可以按照机器做乘法运算的方法,用软件编程实现。因此学习乘法运算方法不仅有助于乘法器的设计,有有助于乘法编程。
先分析一下笔算乘法,然后
介绍机器中几种乘法运算方法

  • 1.分析笔算乘法
    在这里插入图片描述

  • 2.笔算乘法的改进
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    计算机很容易实现这种运算规则。用一个寄存器存放被乘数,一个寄存器存放乘积的高位,另一个寄存器存放乘数及乘积的低位,再配上加法器及其他相应电路,就可以组成乘法器。又因为加法只在部分积的高位进行,故不但节省了器材,而且还缩短了运算时间。

  • 3.原码乘法
    由于原码表示与真值相似,只相差一个符号,而乘积的符号又可以通过两数符号的逻辑异或求得,因此,上述讨论的结果可以直接用于原码一位乘,只需加上符号位处理即可。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 4.补码乘法
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    【这玩意太难了,2333,有必要(考研)再去看】


3.4 除法运算【待完成】

【和乘法运算一样,都有点难】



4.浮点四则运算【待理解】

从第二节对浮点数的讨论可知,机器中任何一个浮点数都可以写成如下形式:
x = Sx * rjx
其中,Sx为浮点数的尾数,一般绝对值小于1的规格化数(补码表示时允许为-1),机器中可用原码或补码表示,jx为浮点数的阶码,一般为整数,机器中大多用补码或移码表示,r为浮点数的基数,常用2、4、8或16表示,下面对浮点数四则运算都是以基数为2来进行讨论。


4.1 浮点加减运算

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


4.2 浮点乘除法运算

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


4.3 浮点运算所需的硬件配置

在这里插入图片描述



5. 算术逻辑单元【待理解】

针对每一种算术运算,都必须有一个相对应的基本硬件配置,其核心部件是加法器和寄存器。当需要完成逻辑运算时,势必需要配置相应的逻辑电路,而ALU电路是既能完成算术运算又能完成逻辑运算的部件。


5.1 ALU单元

下图是ALU框图,图中的Ai和Bi为输入遍历,ki为控制信号,ki的不同取值可决定该电路作哪一种算术运算或哪一种逻辑运算,Fi为输出函数,会输出运算的结果。
在这里插入图片描述
现在ALU电路已制成集成电路芯片,例如,74181是能完成4位二进制代码的算逻运算部件,外特性如下图所示:
在这里插入图片描述
74181有两种工作方式,即正逻辑和负逻辑,分别如图6.17(a)和(b)所示,下面的表列出了算术/逻辑运算功能,逻辑电路也在下面:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


5.2 快速进位链

随着操作数位数的增加,电路中进位的速度对运算时间的影响也越来越大,为了提高运算速度,本节将通过对进位过程的分析设计快速进位链

  • 1.并行加法器
    并行加法器由若干个全加器组成,如下图,n+1个全加器级联就组成了一个n+1位的并行加法器。
    在这里插入图片描述
    在这里插入图片描述
  • 2.串行进位链在这里插入图片描述
    在这里插入图片描述
  • 3.并行进位链
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 27
    点赞
  • 192
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
第五章通常涉及计算机组成原理中的体系结构和指令集架构(ISA)内容。以下是可能的一些知识点: 1. **CPU(中央处理器)组成**:包括运算单元(ALU)、控制单元(CU)、缓存(一级缓存、二级缓存等)以及指令流水线的介绍。 2. **指令系统**:描述了CPU执行的基本指令类型,如存储器操作(LOAD/STORE)、算术运算、逻辑运算、分支和转移等。 3. **数据总线和地址总线**:数据如何在CPU、内存和其他部件之间传输,以及寻址方式和地址空间的划分。 4. **内存层次结构**:从寄存器到高速缓存再到主内存,以及不同层次的特点和缓存一致性策略。 5. **存储器模型**:解释了虚拟地址空间和物理地址空间的关系,包括分页、分段和虚拟内存管理的概念。 6. **CPU调度与中断处理**:进程和线程的管理,中断的触发机制、中断处理程序和中断上下文切换。 7. **流水线和超标量设计**:提高CPU性能的两种主要技术,如何通过并行执行多个指令来减少等待时间。 8. **冯诺依曼体系结构**:计算机硬件的基本组织原则,包括输入、处理、输出和存储四个部分。 9. **RISC(精简指令集计算机)和CISC(复杂指令集计算机)**:两种指令集设计理念的对比。 相关问题-- 1. CPU中的ALU和CU分别负责什么? 2. 简述指令流水线的工作原理及其优势? 3. 冯诺依曼体系结构中输入和输出是如何处理的? 4. RISC和CISC架构各有什么特点?
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值