1.1 计算机的发展
要想深入全面地了解微型计算机,首先要了解计算机的发展史。
1.1.1 计算机发展简史
计算机从诞生至今已超过60年,在历史的长河中不过是一瞬间,但就在这一瞬间,由于计算机的出现使社会产生了翻天覆地的变化,人类在科技、国防、工业、农业及日常生活的各个领域都产生了飞跃。计算机的生产、推广和应用已成为各国现代化的战略产业。
世界上公认的第一台电子计算机是1946年由美国宾夕法尼亚大学研制出来的,在今天看来,这台计算机既昂贵又笨重,功能也很低,但它却是引起20世纪工业革命的先驱。此后的60多年,计算机的发展日新月异,至今已经历了电子管计算机、晶体管计算机、大规模集成电路计算机和超大规模集成电路计算机四代的发展。
第五代计算机是具有人工智能的计算机。人工智能计算机将人类的智慧,推理能力,逻辑判断,图形、语音辨识等功能集成于一体。
第六代是神经电脑计算机。它是用许多微处理机模仿人脑的神经元结构,采用大量的并行分布式网络构成神经电脑。神经电脑有类似神经的节点,因此,神经电脑又称为人工大脑,它是人类开发的第六代计算机。
正在研发的还有量子计算机、生物计算机、光子计算机和超导计算机等。
由于计算机所显示出的功能和作用越来越大,各行业对它的需求也越来越大,这促使计算机也在不断革新和发展。目前,在世界各行业中,发展速度最快的首推计算机行业,这和社会对它的需求是分不开的。
由于社会的需求和发展,在20世纪70~80年代,派生出大小不一、花样繁多的各种类型的计算机。人们曾经按规模、性能、用途和价格等特征,把计算机分为巨、大、中、小、微型计算机。20世纪90年代后,计算机的发展趋势是:一方面向着高速、大容量、智能化的超级巨型机的方向发展;另一方面向着微型计算机的方向发展。
巨型(也称超级)计算机主要用于大型科学研究、试验及超高速、大容量的数学计算。它的研制水平可以在一定程度上体现一个国家科技、经济和国防的综合实力。
微型计算机(Microcomputer)简称微机,即大家所熟知的个人计算机(Personal Computer,PC),也称通用计算机或者微型计算机系统(因为通常还包括显示器及键盘等外设),主要用于一般的计算、管理和办公,还可用于工业控制等领域。微型计算机的核心部件中央处理器(Central Processing Unit,CPU)集成在一个小硅片上,而巨型计算机的CPU则是由多处理器并行处理电路组成的。为了与巨型计算机的CPU相区别,微型计算机的CPU又称微处理器(Micro Processing Unit,MPU或Microprocessor)。除此之外,因为微型计算机充分利用了大规模和超大规模集成电路工艺,所以体积小、成本低、容易掌握,加之其适用面广,因此,自20世纪70年代微型计算机诞生之后,就把计算机的应用推向了社会的各行业,使计算机进入到现代计算机发展阶段。
1.1.2 微型计算机的发展及两大分支
1971年,Intel公司研制出来第一块微处理器4004,虽然它运算能力差,速度低,但却是微型计算机的鼻祖。在此基础上,40年来,为适应社会发展的需要,微处理器不断地更新换代,新产品层出不穷。
随着各种机电设备及众多体积小的对象,如家用电器、仪器仪表等智能化要求的提出,1976年诞生的Intel MCS-8051单片机(后来简称微控制器MCU)迅速实现了对该类设备的智能化控制,由此,计算机便改变了原来的形态与通用计算机的功能。为了与原有的通用计算机系统区别,把嵌入到对象体系中、实现对对象体系智能化控制的计算机称为单片机,后统一归类为嵌入式计算机(见1.2节)。从1976年开始至今30多年的时间里,嵌入式计算机已发展成为一个品种齐全、功能丰富的庞大家族。嵌入式计算机主要承担发展与普及嵌入式系统的任务,用于将传统的电子系统向智能化、网络化方向发展。
与此同时,1974—1978年,诞生了8位微处理器,此时的代表产品有Intel8080、Z80、MC6800及6502等。1978年后,又诞生了16位微处理器8086。以这些微处理器为基础,1976年,诞生了世界上第一台微型计算机,即苹果机Apple II,它是能独立运行、完成特定功能的计算机。
第一台PC诞生于1981年8月12日,IBM公司为其命名为IBM PC,这对全球计算机产业来说是一个值得纪念的日子,它使计算机进入了办公室与家庭。
微型计算机的普及与广泛应用,应归功于Apple计算机的发明,以及IBM公司出品的PC,虽然早在IBM PC推出之前,就已经出现了世界上第一台微型计算机,但是,IBM PC的诞生才真正具有划时代的意义,因为它首创了个人计算机的概念,并为PC制定了全球通用的工业标准。由此,揭开了计算机神秘的面纱,使PC变成人人可独立使用的工具,因而称为个人计算机,这是一种通用微型计算机。习惯上将这些通用个人计算机简称为微型计算机、PC、微机或电脑。用于微型计算机的通用微处理器迅速从286、386、486、586发展到奔腾系列,操作系统则迅速提高处理海量数据文件的能力和多媒体等多功能应用能力,使通用微型计算机日趋完美。
现在微型计算机一词泛指所有的个人通用微型计算机及单片机等,但在一般的微型计算机原理及应用类教材中所称的微型计算机通常是指通用台式微型计算机,习惯上简称微机。
如果说微型计算机的出现,使计算机进入到现代通用计算机发展阶段,那么嵌入式计算机的诞生,则标志着微型计算机进入了通用计算机与嵌入式计算机两大分支并行发展的时代,通用计算机与嵌入式计算机的专业化分工共同推动了计算机产业革命的高速发展。
因此,微型计算机技术发展的两大分支的意义在于:它不仅形成了计算机发展的专业化分工,而且将计算机技术扩展到各个领域,使人类迅速进入全球化的网络、通信、虚拟世界和数字化生活的新时代。
1.1.3 单片机与微型计算机的主要异同点
综上所述,可知单片机与微型计算机均是计算机大家庭的一员,它们的主要异同点如下。
1.主要相同点
第一台电子数字计算机虽然是作为一种计算工具出现的,然而经过半个多世纪的发展,不管从构成器件、性能和应用上都出现了惊人的变化。但是当前大多数微型计算机,它们的基本组成及工作原理,还是可以用图1.1来概括。即计算机由中央处理器、存储器、输入/输出接口及总线等部分组成。这几大基本组成部分是计算机的实体。
图1.1 计算机基本组成原理框图
它们的核心部件都是基于计算机的基本原理,衡量它们的主要技术指标也是基本相同的,详见1.1.4节。
由图1.1可见,计算机的核心部分是中央处理器(CPU),它是计算机的“大脑”,主要由运算器、控制器组成,由它统一指挥和协调各部分的工作,其余各部分说明如下:
(1)时钟电路用于给计算机提供工作时所需要的时序信号。
(2)程序存储器和数据存储器分别用于存放计算机工作的各种软件和临时数据,详见第2章。
(3)中断系统用于处理系统工作时出现的突发事件,详见第4章。
(4)总线把计算机的各主要部件连接为一体,是CPU与各功能部件信息交换的通道。按总线的功能可分为地址总线、数据总线和控制总线。其中,地址总线的作用是为数据交换时提供地址,CPU通过它们将地址输出到存储器或I/O接口;数据总线的作用是在CPU与存储器或I/O接口之间或存储器与外设之间交换信息;控制总线包括CPU发出的控制信号线和外部送入CPU的应答信号线等。
(5)I/O接口是计算机与I/O设备之间的接口。I/O设备是计算机与人或其他设备交换信息的装置,如显示器、键盘和打印机等。
它们的指令系统功能大部分也是相同的,程序运行原理也有很多相似之处,详见后面章节的指令系统。
计算机中的CPU、存储器及中断系统等部件的详细内容将在后面章节陆续介绍。
2.主要不同点
虽然它们的基本组成看起来是基本相同的,但由于用途不同,技术要求与发展方向完全不同,所以它们在结构、外形与功能上有很大差别。单片机在组成结构上的最大特点是把图1.1中的所有电路集成在一块芯片上,通常还包括定时器等其他辅助功能电路。就其组成和基本工作原理而言,一块单片机芯片就是一台计算机,所以它最初被人们称为单片微型计算机,其外形就如同一块普通的电子芯片。它体积小、可靠性高,其软件均固化在内部的程序存储器中,通常是用于控制,被安装在控制对象中。单片机是向着单芯片化道路的方向发展,技术要求则是不断提高嵌入性能、控制能力与可靠性。
而微型计算机则是把微处理器(CPU)、存储器、I/O接口、定时器等不同的芯片组成在一块底板上,然后配上机箱、外设等。通用计算机主要是为满足高速、海量的数值计算、实现多媒体技术和网络通信等功能,技术发展方向是不断提高计算速度,不断扩大存储容量。
1.1.4 计算机的主要技术指标
衡量一台计算机的技术指标有很多,其主要指标有如下几项。
1)字长
字长是指计算机能处理的二进制数的位数,习惯上称为位长。基本字长一般是指参加一次运算的操作数的位数。基本字长可反映寄存器、运算部件和数据总线的位数。在计算机中每个存储单元存放二进制数的位数一般情况下和它的算术运算单元的位数是相同的。字长越长,计算精度越高,速度也越快。
2)主频
主频是指计算机中的主时钟频率,是CPU工作的频率,主频的快慢在很大程度上可以决定计算机运算的速度。主频的常用单位是MHz、GHz。
在微型计算机中,CPU的主频=外频×倍频系数。外频是由外部振荡器提供的基准频率,外频决定着整块主板的运行速度。在CPU中时钟电路按一定比例关系把外频提高到主频,这个提高的比例即倍频系数。
3)运算速度
运算速度是指计算机每秒执行指令的条数,它反映计算机运算和对数据处理的速度,单位通常采用MIPS(百万条指令/s)。
4)内存容量
存储器容量是指存储器最多能够存储的二进制数据的信息量,因此容量的最小存储单位是二进制数的位数。
常用容量单位有KB(1KB=1024B),MB(1MB=1024KB),GB(1GB=1024MB),TB(1TB=1024GB)。