《第4章 计算机的运算基础》由会员分享,可在线阅读,更多相关《第4章 计算机的运算基础(45页珍藏版)》请在金锄头文库上搜索。
1、第 2 部分 硬件层,硬件层在计算机系统的位置,第 4 章 计算机的运算基础,本章讨论的主要问题是:1. 二进制的理论基础是数理逻辑,什么是数理逻辑?2. 二、十进制数进行转换?3. 任何数据必须以二进制形式存储在计算机中,各种类型的数据如何表示成二进制?指令如何表示成二进制?4. 计算机之所以具有逻辑处理能力,是由于计算机内部具有能够实现各种逻辑功能的逻辑电路,逻辑电路的基本原理是什么?逻辑电路是如何工作的?,情景问题模拟数据和数字数据,模拟信息:用连续形式表示的信息称为模拟信息。真实世界的信息大多是连续的、无限的,如天气的变化、移动的距离、色彩的渐变、声音的波,等等。 数字信息:用离散形式
2、表示的数字化信息称为数字信息。如何用有限的计算机表示无限的真实世界。 解决方法是数字化,将连续的信息分割成独立的片断,然后单独表示每一个片断。换言之,把一个连续的实体分割成若干个离散的元素,然后用二进制数字单独表示每个离散元素。,情景问题模拟数据和数字数据,用有限的计算机精确地表示无限的真实世界几乎是不可能的,只能将目标定位在满足实际的计算需要,满足人类的视觉及听觉等感知官能。,4.1 数理逻辑基础,数理逻辑定义:把逻辑思维所涉及的概念、判断、推理用符号来表示,用公理化体系来刻画,并基于符号串形式的演算来描述推理过程的一般规律,从而实现人类思维过程的演算化、机械化,最终计算机化(即在计算机上实
3、现)。别称:数理逻辑又称为形式逻辑或符号逻辑,1854年,布尔(Boole )创立了逻辑代数,为数字计算机的开关电路设计提供了重要的数学方法和理论基础。,4.1 数理逻辑基础,4.2 二进制,二进制的起源,乾天 坤地 震雷 巽风 坎水 离火 艮山 兑泽,进位计数制采用位置记数法表示数。若以 r 代表基数,则 r=10为十进制,可使用0, 1, 2, , 9共10个数码; r=2为二进制,可使用0, 1共2个数码; r=8为八进制,可使用0, 1, 2, , 7共8个数码; r=16为十六进制,可使用0, 1, , 9, A, B, C, D, E, F共16个数码。r进制数通常写作(ana1a
4、0.a-1a-m)r 例如, (1101)2, (689.12)10。,进位计数制,4.2 二进制,位置记数法有两个要点:(1)按基数进位或借位。执行运算时,遵守“逢r进1,借1当r”的规则。(2)用位权值计数。每个位置都对应一个位权值。对于r进制数(ana1a0.a-1a-m)r,小数点左面的位权值依次为r0, r1, , rn,小数点右面的位权值依次为r-1, , r-m。每个位置上的数码所表示的数值等于该数码乘以该位置的位权值。,进位计数制,(198.63)101102+9101+8100+610-1+310-2(1101.11)2123+122+021+120+12-1+22-2,4.
5、2 二进制,4.2 二进制,二进制数十进制数之间,转换规则:将二进制数按位权值展开然后求和,所得结果即为对应的十进制数。,4.2 二进制,转换规则:将十进制数分解为整数部分和小数部分,分别进行转换,然后相加得到最终结果。整数部分的转换:除基取余,逆序排列 小数部分的转换:乘基取整,正序排列,除数 商 余数 45 22 1 22 11 0 11 5 1 5 2 1 2 1 0 1 0 1则:(45)10=(101101)2,乘数 积 整数0.375 0.75 00.75 1.5 10.5 1.0 1则:(0.375)10=(0.011)2,十进制数二进制数,4.2 二进制,十进制小数转换为二进制
6、小数可能存在精度上的误差。,例: 将十进制小数0.325转换为二进制小数。 乘数 积 整数 0.325 0.65 0 0.65 1.3 1 0.3 0.6 0 0.6 1.2 1 0.2 0.4 0 0.4 0.8 0 0.8 1.6 1 0.6 1.2 1,此后处于无限循环状态,假设精度为小数点后8位,则:(0.325)10=(0.01010011)2,第 4 章 计算机的运算基础二进制,二进制数和十进制数之间的转换,在数学中,数的长度是指该数所占的实际位数;在计算机中,数的长度是指该数所占的二进制位数。 在数学中,数的长度不是固定的,实际应用时有几位就写几位;在计算机中,同类型的数据长度一
7、般是固定的,由机器的字长确定,不足部分用0补足。换言之,计算机中同一类型的数据具有相同长度,与数据的实际长度无关。 不失一般性,假设用八位二进制表示一个整数。,4.3 信息的编码,4.3.1 整数的编码,补码定义:一种使用最广泛的整数表示方法编码规则:正数的补码其符号位为0,其余各位与数的绝对值相同,负数的补码其符号位为1,其余各位是数的绝对值取反然后在最末位加1。例如: X1000101 X补01000101 X1000101 X补10111011,如何表示零?,0补000000000补0反1111111111000000000,4.3 信息的编码,4.3.1 整数的编码,方便进行算术运算。
8、符号位可以作为数值参与运算,减法运算可以转换为加法运算,简化了硬件的逻辑电路。,4.3 信息的编码,4.3.1 整数的编码,产生溢出的原因是所要表示的值超过了系统能够表示的值的范围,例如,4位二进制数表示的整数范围是-2323-1。,4.3 信息的编码,4.3.1 整数的编码,4.3.2 浮点数的编码,一个数X的浮点形式(即科学计数法)表示为: XMrE 其中,r为基数,二进制的基数为2;E为r的幂,称为数的阶码,阶码确定了数 X 的小数点的位置;M为数 X 的有效数字,称为数X的尾数,其位数反映了数据的精度。,M中的小数点可以随E值的变化而左右浮动,所以称为浮点表示法。目前,大多数计算机都把
9、尾数M规定为纯小数,把阶码E规定为整数。,4.3 信息的编码,计算机中浮点数的表示由阶码和尾数两部分组成,其中阶码一般用定点整数表示(多采用补码),尾数用定点小数表示(多采用原码或补码)。,4.3.2 浮点数的编码,4.3 信息的编码,例4.12 设X3.625,假设用12位二进制数表示一个浮点数,其中阶码占4位,尾数占8位,则其浮点表示如下: (3.625)10(11.101)20. 11101210阶码为+10,其补码为010,由于阶码占4位,则阶码表示为0010(注意是在阶码的前面补0,因为阶码是整数);尾数为+0.11101,其补码为011101,由于尾数占8位,则尾数表示为01110
10、100(注意是在尾数的后面补0,因为尾数是纯小数)。最后,X的浮点表示为:001001110100。,4.3.2 浮点数的编码,4.3 信息的编码,例4.13 设X3.625,假设用8位二进制数表示一个浮点数,其中阶码占3位,尾数占5位,则其浮点表示如下: (3.625)10(11.101)20. 11101210阶码为+10,其补码为010;尾数为+0.11101,其补码为011101,由于尾数占5位,空间不够,则尾数表示为01110。最后,X的浮点表示为:01001110。 但是01001110是3.5的浮点表示,由于尾数的空间不够大,从而产生了截断误差。 使用较长的二进制位表示尾数可以减
11、少截断误差的产生,今天所用的大多数计算机都使用32位二进制数来表示一个浮点数。,4.3.2 浮点数的编码,4.3 信息的编码,4.3.3 字符的编码,微机上常用的字符集是标准ASCII码(American Standard Code for Information Interchange,美国信息交换标准代码),它由7位二进制数表示一个字符,总共可以表示128个字符。 扩展ASCII码由8位二进制数表示一个字符,总共可以表示256个字符,通常各个国家都把扩展ASCII码作为自己国家语言文字的代码,如汉字的编码GB2312。 Unicode由16位二进制数表示一个字符,总共可以表示6万5千多个字
12、符,能够表示世界上所有语言的所有字符,包括亚洲国家的表意字符,此外,还能表示许多专用字符。,4.3 信息的编码,4.3.4 汉字的编码,为了在计算机系统的各个环节方便和确切地表示汉字,需要使用多种汉字编码。 由输入设备产生的汉字输入码,五笔、拼音; 用于计算机内部存储和处理的汉字机内码; 用于汉字显示和打印输出的汉字字形码等。,4.3 信息的编码,不同的输入法对应不同的汉字输入码,例如,汉字“西”用智能ABC输入法时,需依次按下“x”、“i”,则“xi”即为“西”字的输入码。 机内码是在计算机内部存储和处理使用的汉字编码,每个汉字用两个7位的二进制数表示,在计算机中用两个字节表示,为了与ASC
13、II码相区别,将每个字节的最高位置为1。 汉字字形码就是一个汉字字形的点阵编码,全部汉字字形码称为汉字库。,4.3.4 汉字的编码,4.3 信息的编码,4.3.5 声音的编码,将声音数字化,就是每隔一段时间对声波进行采样,将采样点的振幅值用一组二进制数来表示。,4.3 信息的编码,显然,采样的间隔时间越短,数字化音频的质量就越高,所需的存储量也越多。例如,音乐CD的采样频率是44KHz,假定它是双声道,每声道占用2字节存储采样值,则1秒钟的音乐就需要4400022160KB,存储一首4分钟长的歌曲,总计需要460160KB36MB。可见,数字化的声音文件需要相当大的存储量。,4.4.6 图形和
14、图像的编码,图形一般是指通过绘图软件绘制的,由直线、圆、弧等曲线组成的画面,即图形是由计算机产生的;图像是由扫描仪、数码相机等输入设备捕捉的画面,即图像是真实的场景或图片输入计算机的。 数字化一幅图形通常采用的是矢量技术,就是把图形分解为一些基本元素,通过图形的基本元素及其属性来表示图形。,4.3 信息的编码,数字化一幅图像采用的是位图技术,把图像分解为一些点,这些点称为像素,每个像素由一种颜色构成。,用于表示颜色的二进制位数称为色深度,增强彩色是指色深度为16位的颜色,真彩色是指色深度为24位的颜色,能够表示1670万种以上的颜色。表示一幅图像使用的像素个数称为分辨率。,4.3.7 指令的编
15、码,由于指令系统中包含指令的数量有限,所以,处理器的设计者只需列出所有的指令,再给每个指令分配一个二进制编码。例如8086/8088共有133条基本指令,由于2713328,因此,可以用8位二进制数表示一条指令,比如11110100表示加法指令处理器的电子器件能够识别指令系统中的每一个二进制编码,计算机硬件只能够识别并执行机器指令。,4.3 信息的编码,4.4 逻辑电路,4.4.1 门,门(也称门电路):是对电信号执行基础运算的设备,一个门接受一个或多个输入信号,生成一个输出信号。 由于计算机处理的是二进制信息,所以,每个门的输入和输出只能是 0(对应低电平)或 1(对应高电平) 门的表示方法有三种: (1)逻辑表达式:即数学表示法; (2)逻辑框图:即图形符号表示法; (3)真值表:列出所有可能的输入组合和相应输出的表。,