0.前序
上一篇链接:
也是由于之前的篇幅已经过长,不便于更新
并且到教材的第五章I/O系统结束,我们已经学完了一些高效本科计算机专业的基础课程范围(当然后期提高,考研范围肯定是要学完的)
因此不妨断一p出来
在之前的课程中我们已经学习了计算机中 总线 I/O 主存 CPU之间的联系结构,通信方式,对于整个计算机硬件体系已经有了一个大体框架的了解
之后的课程中,我们将深入CPU的内部,了解CPU是如何组成,如何工作的
好的,不为补课,不为考研,没有任何功利,让我们继续了解计算机组成原理
第六章 计算机的运算方法
CPU的一大功能就是完成算术逻辑运算,为此我们需要将一些最基本的数据形式通过硬件表示,让CPU直接识别,并通过硬件组织实现一些最基本的逻辑运算处理,
在程序的编写中,我们使用的 int float 一类的基础值类型数据就是直接实现在硬件上的数据形式,+/- 运算也是直接对应硬件实现来完成
程序中所有复杂的运算处理,都是通过组合硬件实现的基本运算来完成的,为此就需要我们编写机器语代码 汇编代码 上层语言代码来完成
---6.1 数字表示
------6.1.1 无符号数的表示
无符号数即没有正负的数/不需要符号位的数/恒正的数
只需要将数字转换为二进制填入到内存/寄存器中即可
内存/寄存器的长度,将直接影响/反应无符号数的范围,例如保存在8bit长度寄存器中的无符号数范围是0~255(对应8bit二进制的所有状态)
------6.1.2 有符号数
有符号数需要1bit二进制作为符号位来记录正负号,0为正1为符,其它二进制位作为数字位(同无符号数)
例如8bit长度有符号数对应 -128~+127 范围(2^7=128),
(至于为什么负数多一位,后面介绍补码的时候会讲到)
对于有符号数的保存,就需要提出真值和机器数的概念
真实是数据在参与实际运算时所表现的数值,而机器数是一串二进制码
例如8bit二进制
保存真值+5就对应机器数0,0000101
------6.1.3 小数点的位置约定(定点表示)
实时上图中与计算机真正保存浮点类型的方式仍有一定的差异,这里不必纠结,只需理解小数点位置约定的概念即可