一、计算机和微型计算机的发展概况
1、 计算机的发展
1)第一代电子计算机称为电子管计算机。
2)第二代计算机称为晶体管计算机,其主要逻辑元
件采用的是晶体管。
3)第三代计算机的内存储器采用了半导体存储器,
可靠性和存取速度有了明显的改善。
4)第四代计算机以采用大规模和超大规模集成电路
为标志。
2、微型计算机的特点和应用范围
特点:
1)体积小、重量轻、功能强、功耗低、价格低廉、维护方便;
2)运算速度快、结构简单灵活、可靠性高、使用环境要求低;
3)应用广泛;
微型机的应用范围:
1)科学计算
2)数据处理
3)办公自动化
4)过程控制
5)辅助系统
6)仿真
二、微型计算机的基本组成
微机系统是一个复杂的工作系统,它由硬件系统和软件系统组成。
硬件系统:通俗地说就是构成计算机的看得见摸得着的部件,即构成计算机的硬设备。例如:计算机的主机、显示器、键盘、磁盘驱动器等。
软件系统:操作计算机工作的指令集,分为汇编语言和高级语言。
微系统的基本组成如图所示。
1、 微型计算机的硬件组成
微型计算机的硬件组成部分主要有微处理器(CPU)、存储器(RAM)、(ROM)、I/O设备和系统总线。
见图所示。系统总线包括地址总线AB、数据总线DB和控制总线CB组成(三总线)。
在微机中,各功能部件之间通过系统总线相连,这使得各个部件的之间的相互关系变为面向系统总线的单一关系。
一个部件只要满足总线标准,就可以连接到采用这种总线标准的系统中。
2、 微型计算机的软件组成
要使计算机正常工作除满足需要的基本硬件电路外,必须要有与之相适应的软件,硬件好比是一个人的肢体,
软件好比是大脑,计算机完成的所有工作都是在程序(指令集)的指挥下实现的。
软件由系统软件和应用软件两部分组成:
系统软件:操作系统如DOS或WINDOWS,监控软件,但对一些专用的计算机系统如仪器仪表或控制系统,可以没有系统软件而只有应用软件。
应用软件:专门用于完成某一操作的程序,如打印程序、显示程序、控制程序等。
三、计算机中的数制及转换
计算机内部的信息分为两大类:控制信息和数据信息。控制信息是一系列的控制命令,用于指挥计算机如何操作;
数据信息是计算机操作的对象,一般又可分为数值数据和非数值数据。数值数据用于表示数量的大小,
它有确定的数值;非数值数据没有确定的数值,它主要包括字符、汉字、逻辑数据等等。对计算机而言,
不论是控制命令还是数据信息,它们都要用“0”和“1”两个基本符号(即基2码)来编码表示,这是由于以下三个原因:
(1) 基2码在物理上最容易实现。例如,用“1”和“0”表示高、低两个电位,或表示脉冲的有无,还可表示
脉冲的正、负极性等等,可靠性都较高。
(2) 基2码用来表示二进制数,其编码、加减运算规则简单。
(3) 基2码的两个符号“1”和“0”正好与逻辑数据“真”与“假”相对应,为计算机实现逻辑运算带来了方便。
因此,不论是什么信息,在输入计算机内部时,都必须用基2码编码表示,以方便存储、传送和处理。
1、二进制数的基本原理(在JAVASE 中第一篇讲过其转化方法)
计算机的数据处理或运算都以二进制表示,二进制是以2为基数的数制称为二进位计数制,它只包括0和1两个数码,
特点是可以用电子元件的两种不同的状态来表示,例如,用高电平表示1,用低电平表示0。
所以,计算机中通常采用二进制数。
二进制数的计数特征:逢二进一,运算简单。
二进制数也可完成加、减、乘、除四则运算,乘法实质上是做移位加法,除法则是移位减法。
计算机常用的其它进制:为了书写和阅读方便,计算机常采用十六进制数作为二进制的缩写形式。
十进制数、二进制数、十六进制数的对照表如表所示。在计数时,逢十六进一,这样书写长度
短,且可方便将十六进制数转换为二进制数或将二进制数转换为十六进制数。
1)二进制数的表达方式
计算机都采用二进制计数和数字计算,在二进制计数系统中,表示数据的数字符号只有两个,即0和1;
大于1的数就需要两位或更多位来表示;以小数点为界向前诸位的位权依次是…
2^2,2^1,2^0,向后依次为2^1,2^2,2^3,…;
一个二进制数也可以通过各位数字与其位权之积的和来计算其大小。
2)二进制到十进制的转换
一个二进制的数向十进制转化十分简单,只要
把它按位权展开相加即可
十进制数转化为二进制数时,整数和纯小数的转化方法不同,而一个既有整数部分又有小数部分的
数,则须分成整数和小数两部分分别转化。
3)十进制到二进制的转换
十进制数转化为二进制数时,整数和纯小数的转化方法不同,而一个既有整数部分又有小数部分的数,
则须分成整数和小数两部分分别转化
· 十进制整数转换成二进制整数
方法:除2取余法。
原理为: 将十进制数除以2,得到一个商和一个余数;再将商除以2,又得到一个商和一个余数;继续这一过程,
直到商等于0为止。每次得到的余数(必定是0或1)就是对应的二进制数的各位数字。
注意:第一次得到的余数为二进制数的最低位,最后得到的余数为二进制数的最高位
·十进制小数转换成二进制小数
方法:乘2取整法
具体做法:用2乘以十进制小数,得到整数和小数部分;再用2乘以小数部分,又得到一个整数和一个小数部分;
继续这一过程,直到余下的小数部分为0或满足精度要求为止(有乘不尽的可能,如循环小数);
最后将每次得到的整数部分(必定是0或1)按先后顺序从左到右排列,即得到所对应的二进制小数
·4)二进制到十进制的转换
二进制到十进制的转换方法较简单,将二进制数按位权展开相加即可得到对应的十进制数。
·5)二进制转换成十六进制数
方法:从小数点所在位置分别向左向右每四位一组进行划分。若小数点左侧的位数不是4的整数倍,在数的最左侧补零;
若小数点右侧的位数不是4的整数倍,在数的最右侧补零。然后参照表,将每四位二进制数转换成对应的一位十六进制数,
即为二进制数对应的十六进制数
·6)十六进制数转换成二进制数
方法:参照表,将每一位十六进制数转换成对应的四位二进制数,即为十六进制数对应的二进制数。
由以上方法可以看出,(25)10=(11001)2=(19)16,(0.5)10=(0.1)2=(0.8)16。
在计算机里,通常用数字后面跟一个英文字母来表示该数的数制,十进制数用D(Decimal)、二进制数用B (Binary)、十六进制数用H(Hexadecimal)来表示。
另外,在计算机操作中使用十进制数时,十进制数可以不标进制(为默认)。
例如,25D=1100B=19H,0.5D=0.1B=0.8H。当然,也可以用这些字母的小写形式来表示数制。例如:25d=1100b=19h,0.5d=0.1b=0.8h。
十六进制数主要用来简化二进制数的书写,所以使用十六进制数表示的二进制数较短,便于记忆。
IBM-PC机中主要使用十六进制数表示二进制数和编码,本门课中的所用的数据进制为十六进制数,所以必须十分熟悉二进制数与十六进制数的对应关系。
2、有符号数的表示方法
计算机只识别0和1组成的数或代码,所以有符号数的符号也只能用0和1来表示,
用0表示正,用1表示负,但由于数值部分的表示方法不同,
有符号数可有三种表示方法,分别叫做原码、反码和补码。
·1)二进制数原码编码方法
原码编码的方法如下:
设真值为X,机器字长为n位,则当X≥0时,[X]原码的最高位填0,其余n-1位填X的各数值位的位值。
例如,n=8时,[+0]原=00000000,[+1]原=00000001,[+127]原=0 1111111。当X≤0时,[X]原的最高位填1
(表示为负数),其余n-1位填X的各数值位的位值。例如,n=8时,[-0] 原=1 0000000,[-1]原=10000001,
[-127] 原=1 1111111。8位能表示的数据范围为+127 到-127。
结论:原码表示的有符号数,最高位为符号位,数值位部分就是该数的绝对值。
例如:假设某机器为8位机,即一个数据用8位(二进制)来表示,则:
+23的原码为 00010111
-23的原码为 10010111
其中最高位是符号位,后7位是数值位。注意:在原码的表示中,真值0的原码可表示为两种不同的形式,+0和-0。
原码表示法的优点是简单易于理解,与真值间的转换较为方便。它的缺点是进行加减运算时较麻烦,
既要考虑是做加法还是做减法运算,还要考虑数的符号和绝对值的大小。这不仅使运算器的设计较为复杂,
而且降低了运算器的运算速度。
·2)二进制数反码编码方法
反码编码的方法如下:设真值为X,机器字长为n位,则当X≥0时,[X]反码的最高位填0,
其余n-1位填X的各数值位的位值,即采用符号—绝对值表示。例如,n=8时,[+0]反=0 0000000,
[+1]反=0 0000001,[+127]反=0 1111111。当X≤0时,[X] 反=2n-1+X (MOD 2n)。例如,
n=8时,[-0] 反=11111111,[-1] 反=1 1111110,[-127] 反=1 0000000。
结论:二进制正数的反码就是其原码。二进制负数的反码就是机器数符号位保持不变,其余按位取反。例如:
+23的反码为00010111
-23的反码为11101000