单片微型计算机原理及应用
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

第1章 微型计算机基础

电子计算机的产生和发展是20世纪最重要的科技成果之一。进入20世纪70年代,微型计算机开始登上历史舞台,并以不可阻挡的势头迅猛发展,成为当今计算机发展的一个主流方向。当前,以微型计算机为代表的计算机已日益普及,其应用已深入社会的各个角落,极大地改变着人们的工作方式、学习方式和生活方式,成为信息时代的主要标志。本章主要介绍微型计算机的发展、分类、主要指标、系统组成及计算机中常用的数制与码制等基础知识。学完本章,要求学生对微型计算机的基本概念有一个全面的了解,掌握微型计算机的基本结构、数制的转换、无符号数、有符号数及常用的二进制编码等的表示方法。

1.1 概述

电子计算机是一种不需要人工直接干预,能够对各种数字信息进行算术和逻辑运算的快速电子设备,它的出现和发展是20 世纪最重要的科学技术成就之一。计算机已渗透到国民经济和社会生活的各个领域,极大地改变着人们的工作方式和生活方式,并成为推动社会发展的巨大生产力。以微处理器为核心,配上大容量的半导体存储器及功能强大的可编程接口芯片,连上外设(包括键盘、显示器、打印机和软驱、光驱等外部存储器)及电源所组成的计算机,称为微型计算机,简称微型机或微机,有时又称为PC(Personal Computer)或MC(Micro Computer)。微机加上系统软件,就构成了微型计算机系统(MCS,简称微机系统)。微型计算机的问世和发展把计算机技术推向了整个社会,目前计算机已广泛应用到国民经济和国防建设的各个领域,并且在人们日常生活中也发挥着不可缺少的作用。

1.1.1 计算机的基本概念

现在广泛使用的计算机,其全称是数字电子式计算机,俗称电脑。简单地讲,计算机是一种能够存储程序,并能自动连续地执行程序,对各种数字化信息进行运算的现代化电子设备。

首先,计算机是能够进行各种运算的设备。运算可分为两类:算术运算和逻辑运算。算术运算的对象是数值型数据,以四则运算为基础,许多复杂的数学问题都可以通过各种算法转换成若干四则运算;逻辑运算用来解决逻辑问题,如信息检索、逻辑判断和分析等。因此,计算机的工作实际上就是对各种信息的处理。

其次,计算机如何表示这些信息呢?简单地说,是用数字代码(即二进制数)来表示各种信息,因此称为数字计算机。

最后,计算机如何对这些信息进行处理呢?它采用的是一种存储程序的工作方式,即先编写程序,再由计算机将这些程序存储起来,然后自动连续地、快速地执行程序,从而实现各种运算处理。

为了存储程序与数据,需要存储器;为了进行运算,需要运算器;为了输入程序和数据及输出运算结果,需要有输入设备和输出设备;此外还需要控制器对计算机各个部件的工作进行控制和管理。

上述要领是由计算机技术的先驱冯·诺依曼提出的。他在1945 年提出了数字计算机的若干思想,后被称为冯·诺依曼体制,这是计算机发展史上的一个里程碑。几十年来计算机的体系结构发生了深刻的变化,但冯·诺依曼体制的核心概念仍沿用至今。冯·诺依曼体制的要点归纳如下:

① 采用二进制代码表示数据和指令。

② 采用存储程序的工作方式,即先编写程序,然后存储程序,最后自动连续地执行程序。

③ 由运算器、存储器、控制器、输入设备和输出设备组成计算机硬件系统。

下面首先阐述其中两点:存储程序的工作方式、信息的数字化表示。

1.存储程序的工作方式

计算机的工作最终体现为执行程序。前面提到,计算机采用存储程序的工作方式,这是冯·诺依曼体制最核心的思想。它有三点含义,体现了计算机解决问题的过程。

(1)编写程序

为了使用计算机解决问题,需要先编写程序。在程序中规定了计算机需要做哪些工作,按什么步骤去做。程序还包括需要处理的原始数据,此外还规定了计算机何时从输入设备去获取数据。一件事情一般要分成几步来完成,每步执行的操作命令称为一条指令。计算机最终执行的程序是一系列指令序列,即若干指令的有序集合。换言之,我们事先编写的程序最终变成指令序列和原始数据。

(2)存储程序

编写完成的程序经输入设备送入计算机,存放在存储器中。编写程序时是用字符书写的,通过键盘将字符变成二进制编码,然后再送入计算机。

(3)自动、连续地执行程序

由于程序已存储在存储器中,启动计算机后,计算机就可以按照一定的顺序从存储器中逐条读取数据,按照指令的要求完成相应的操作,直到程序被执行完毕。原则上,程序在执行过程中不需要人工干预。当然,有些工作本身需要以人机对话的形式进行,例如通过计算机进行查询时,计算机通过屏幕向操作人员询问,操作人员通过键盘或鼠标进行选择。这种情况要求计算机能分段执行程序,之间允许用户进行人工干预。所以计算机在自动、连续地执行程序的过程中,往往允许使用者以外部请求方式进行干预。

上述计算机的基本工作方式,称为控制流驱动方式。在程序执行过程中,根据指令发出的控制信息称为一种控制信息流,简称控制流,它驱动着计算机的工作;而处理的数据信息称为一种数据信息流,简称数据流,它是被调用(处理)的对象。

2.信息的数字化表示

上面讲到,现在广泛使用的计算机,其全称是电子式数字计算机。

“电子”指计算机的主要部件是由电子电路组成的,计算机内传送与处理的信息是电子信号。例如,计算机中的算术运算单元(ALU)主要由加法器构成,而加法器由各种门电路(与门、非门等)组成。

“数字”则表示计算机中的信息(控制信息和数据信息)均采用数字化表示方法。例如,二进制11001表示-9,01000001表示字符A等。

1.1.2 计算机的工作过程

计算机的工作过程实际上是执行程序的过程,而程序是由一系列指令组成的,因此执行程序的过程就是按顺序执行指令的过程。

通常,计算机要运行某个程序时,该程序预先要调入内存的一系列单元中,在程序执行过程中完全由计算机自动执行而不需要人工干预,具体包括下列几步。

(1)取出指令

从存储器某个地址中取出要执行的指令送到CPU内部的指令寄存器暂时保存。

(2)分析指令

把指令寄存器中的指令送到指令译码器,分析出该指令对应的操作。

(3)执行指令

根据指令译码结果,向各个部件发出相应的控制信号,完成指令规定的各种操作。

(4)形成下一条指令地址

为执行下一条指令做好准备,即形成下一条指令的地址。

具体过程如图1-1所示。

图1-1 程序的执行过程

1.1.3 微型计算机的发展、分类、特点及应用

计算机技术是20 世纪发展最为迅速、普及程度最高、应用最为广泛的科学技术之一。自从1946 年美国宾夕法尼亚大学研制了第一台电子计算机ENIAC(Electronic Numerical Integrator And Computer)以来,计算机的发展经历了电子管计算机、晶体管计算机、集成电路计算机、大规模及超大规模集成电路计算机几代。电子计算机按其规模、性能和价格可分为巨型机、大型机、中型机、小型机和微型机五类。从系统结构和基本工作原理上说,微型机与其他几类计算机并没有本质上的区别,所不同的是微机采用了集成度相当高的器件和部件,它的核心部分是微处理器。

1.微型计算机的发展

微处理器是指由一片或几片大规模集成电路组成、具有运算器和控制器功能的中央处理器(CPU)。微型计算机的发展是以微处理器的发展为标志的,而微处理器的发展常以字长和功能为主要指标,大体可以划分为6个时期。

(1)第一时期(1971—1973年):4位或8位低档微处理器和微机

1971年,Intel公司发布了4004微处理器。它是一种4位微处理器,其运算速度为50kI/s(千条指令/秒),指令周期是20μs,时钟周期是1MHz,集成度是2000管/片。寻址能力为4KB,有45条指令。另一种4位微处理器是4040。同年又出现了4004的低档8位扩展型产品8008,其寻址能力为16KB,有48条指令。

(2)第二时期(1973—1977年):8位中高档微处理器和微机

1973年,Intel公司发布了8位中档微处理器8080,其运算速度为500kI/s,指令周期是2μs,寻址能力为64KB。同期Motorola公司的MC6800与8080相当。Zilog公司的Z80和Intel公司1977年发布的最后一款8位微处理器8085属于8位高档微处理器。8085的运算速度为770KI/s,指令周期为1.3μs。

在这一时期,出现了以8080A/8085A、Z80和MC6502为CPU组装成的微机。其中,基于8080 CPU的第一台个人计算机Altair 8800在1974年问世。而以MC6502为CPU的Apple-II具有很大的影响力。这些个人计算机普遍采用了汇编语言、高级语言(如Basic、Fortran、PL/I等),其中Altair 8800的BASIC解释程序就是由BiLL Gates开发的,后期配上了操作系统(如CP/M、Apple-II、DOS等),从而使微机开始配上磁盘和各种外设。

(3)第三时期(1978—1984年):16位微处理器和微机

1978年以后,出现了16位微处理器,代表产品如Intel公司的8086(集成度为29000管/片)、8088、80286、Motorola公司的MC68000(集成度为68000管/片)和Zilog公司的Z8000(集成度为17500管/片)等。

8086/8088扩大了存储容量并增加了指令功能(如乘法指令和除法指令)。指令总量从8085的246条增加到8086/8088的2万多条,所以被称为CISC(Complex Instruction Set Computer)处理器。8086/8088还增加了内部寄存器,使用8086/8088指令集更容易编写高效、复杂的软件。

用16位微处理器组装的微机(如IBM PC、PC/XT、PC/AT、AST286、COMPAQ286)在功能上已达到和超过了低档小型机PDP-11/45。

(4)第四时期(1985—1992年):32位微处理器和微机

1986年,Intel公司推出了80386 CPU,Motorola同期相继发布了MC68020~68050四款32位微处理器。1989年,Intel公司又推出了80486微处理器,其主要性能为80386的2~4倍。

这一时期的主要微机产品有IBM-PSII/80、AST386、COMPAQ386等。

(5)第五时期(1993—1999年):超级32位Pentium微处理器和微机

1993年3月,Intel公司推出了Pentium微处理器(俗称586)。其内部集成了310万个晶体管,采用了全新的体系结构,性能大大高于Intel系列其他微处理器。Pentium系列CPU的主频从60MHz到100MHz不等,它支持多用户、多任务,具有硬件保护功能,支持构成多处理器系统。

1996年,Intel公司推出了高能奔腾(Pentium Pro)微处理器,它集成了550万个晶体管,内部时钟频率为133MHz,采用了独立总线和动态执行技术,处理速度大幅度提高。

1996 年底,Intel又推出了多能奔腾(Pentium MMX)微处理器,MMX(Multi Media eXtension)技术是Intel公司最新发明的一项多媒体增强指令集技术,它为CPU增加了57条MMX指令,此外,还将CPU芯片内的高速缓冲存储器(Cache)由原来的16KB增加到32KB,使处理器多媒体的应用能力大大提高。

1997年5月,Intel公司推出了Pentium II微处理器,它集成了约750万个晶体管,8个64位的MMX寄存器,时钟频率达450MHz,二级Cache达到512KB,它的浮点运算功能、MMX性能都有了很大的提高。

1999年2月,Intel公司推出了Pentium III微处理器,它集成了950万个晶体管,时钟频率为500MHz。随后又推出了新一代高性能32位Pentium 4微处理器,它采用了NetBurst的新式处理器结构,可以更好地处理互联网用户的各种需求,在数据加密、视频压缩和对等网络等方面的性能都有较大幅度的提高。

早在1993 年底,世界上的主要微机生产厂商都有自己的586 微机系列,其更新的产品主要定位于多媒体、网络文化服务器。当前,高档微机以其很高的性价比,正向着社会各个领域乃至家庭日常生活不断渗透,使人类迈步奔向信息社会新纪元。

(6)第六时期(2000年以后):新一代64位微处理器Merecd和微机

在不断完善Pentium系列处理器的同时,Intel公司与HP公司联手开发了更先进的64位微处理器——Merecd。

Merecd采用全新的结构设计,这种结构称为IA-64(Intel Architecture-64),IA-64不是原Intel 32位X86结构的64位扩展,也不是HP公司的64位PA-RISC结构的改造。IA-64是一种采用长指令字(LIW)指令预测、分支消除、推理装入和其他一些先进技术从程序代码提出更多并行性的全新结构。

微型计算机发展的主要方向,是把计算机的运算器、控制器、存储器、输入/输出(I/O)接口等部分集成在一个硅片上,于是就出现了以一个大规模集成电路为主组成的微型计算机——单片微型计算机(Single chip microcomputer),简称单片机。由于单片机的主要应用领域为智能化电子产品,一般需要嵌入设备产品内,故又称为嵌入式微控制器(Embedded Microcontroller)。

2.微型计算机的分类

微型计算机的品种繁多,系列各异,最常见的有以下4种分类方法。

(1)按微处理器的位数分类

按微处理器的位数分为4位机、8位机、16位机、32位机、64位机,即分别以4位、8位、16位、32位、64位处理器为核心组成的微机。

在数值计算的场合,主要以32位机、64位机为主;在控制或检测的场合,主要使用的是8位、16位计算机。

(2)按微型计算机的用途分类

按微型计算机的用途可分为通用机和专用机两类。

在日常办公过程中使用的计算机以通用微型计算机为主;在控制和检测系统中使用的计算机以专用微型计算机为主。在后面各章的内容中,主要介绍专用微型计算机的设计技术。

(3)按微型计算机的档次分类

按微型计算机的档次可分为低档机、中档机和高档机。计算机中的核心部件是它的微处理器,也可以根据所使用的微处理器档次,将微机分为8086机、286机、386机、486机、Pentium机、Pentium II机、Pentium III机和Pentium 4机等。

(4)按微型计算机的组装形式和系统规模分类

按微型计算机的组装形式和系统规模,可分为单片机、单板机、个人计算机。

单片机是将微机的主要部件,如微处理器、存储器、输入/输出接口等集成在一片大规模集成电路芯片上形成的微机,它具有完整的微机功能。单片机具有体积小、可靠性高、成本低等特点,广泛应用于智能仪器、仪表、家用电器、工业控制等领域。

单板机是将微处理器、存储器、输入/输出接口、简单外设等部件,安装在一块印制电路板上形成的微机。单板机具有结构紧凑、使用简单、成本低等特点,常应用于工业控制和实验教学等领域。

个人计算机也就是人们常说的PC,它是将一块主机板(包括微处理器、内存储器、输入/输出接口等芯片)和若干接口卡、外部存储器、电源等部件组装在一个机箱内,并配置显示器、键盘、鼠标等外设和系统软件构成的微机系统。PC具有功能强、配置灵活、软件丰富、使用方便等特点,是目前最普及、应用最广泛的微机。

3.微型计算机的特点

由于微型计算机广泛采用了集成度相当高的大规模集成(LSI)和超大规模集成(VLSI)电路,因此它除了具有一般计算机运算速度快、计算精度高、记忆功能和逻辑判断力强、自动工作等常规功能外,还具有独特的优点。

(1)体积小、质量轻、功耗低

由于采用大规模和超大规模集成电路,微型计算机所包含的器件数目大为减少,体积也显著缩小。20世纪50年代要由占地上百平方米、耗电上百千瓦的电子计算机实现的功能,已被内部只含几十片集成电路的微型机所取代。近年来,微型机已从台式发展到便携乃至笔记本式。随着微处理器技术的发展,今后推出的高性能微处理器产品体积更小、功耗更低而功能更强,对于航空、航天、智能仪器、仪表等领域具有特别重要的意义。

(2)可靠性高、使用环境条件要求低

微型计算机采用大规模集成电路以后,系统内使用的芯片数量大大减少,从而使印制电路板上的连线减少,接插件数目大幅度减少,同时由于集成电路芯片本身功耗低、发热量小,提高了微型计算机的可靠性,降低了对使用环境的要求。

(3)结构简单灵活、系统设计方便、适应性强

微型计算机采用了模块化的硬件结构,特别是采用总线结构后,使微型计算机系统成为一个开放的体系结构,系统中各功能部件通过标准化的插槽和接口相连,用户选择不同的功能部件(板卡)和相应外设就可构成不同要求和规模的微型计算机系统。由于微型计算机的模块化结构和可编程功能,使得一个标准的微型计算机在不改变系统硬件设计或只部分地改变某些硬件时,在相应软件的支持下就能适应不同应用任务的要求,或升级为更高档次的微机系统,从而使微型计算机具有很强的适应性和宽广的应用范围。

(4)性价比高

随着大规模和超大规模集成电路技术的不断成熟,集成电路芯片的价格越来越低,微型机成本不断下降,同时也使许多过去只在大、中型计算机中采用的技术也在微型机中得到采用,许多高性能的微型计算机的性能实际上已经超过了中、小型计算机的性能,但其价格要比中、小型机低几个数量级。随着超大规模集成电路技术的进一步成熟,生产规模和自动化程度的不断提高,微型机的价格还会越来越便宜,而性能也会越来越高,这将使微型计算机得到更广泛的应用。

4.微型计算机的应用

由于微型计算机具有体积小、质量轻、价格低、可靠性高、功耗低和结构灵活等一系列优点,所以得到广泛应用。迄今为止,微型计算机不仅在工业、农业、国防、科学技术和国民经济各个领域发挥了巨大作用,而且在日常生活中也日益显示出它强大的生命力,其应用主要有以下几个方面。

(1)科学计算

科学计算一直是计算机的重要应用领域。发明计算机的最初目的就是为了科学计算,如利用计算机高速、高精度地进行大量复杂的数学运算(如导弹飞行轨迹计算、天气预告、地震预测等)。随着微处理器技术的不断发展,性能不断升级,高档微型计算机已具有较强的运算能力,已能满足相当大范围的科学计算的需要,特别是微型机的发展及多个微处理器组成的并行处理机系统,其功能和计算速度已可与大型计算机匹敌,而成本只有大型机的几分之一,使微型计算机用于科学计算的前景更为广阔。

(2)数据处理与信息管理

数据处理通常是指计算机对实时采集的和人工送入的大量数据进行加工处理、转换分析、分类统计、显示打印和通信等。这在航空、航天、邮电通信、军事科学中的应用十分广泛。信息管理是指计算机对人工输入的信息和历史信息进行分类检索、查找统计、绘制图表和输出打印的过程。这在机票预订、情报检索、气象预报、办公自动化等系统中得到了广泛应用。

(3)CAD、CAM、CAA和CAI的应用

计算机辅助设计(CAD,Computer-Aided Design),是指工程技术人员借助于计算机进行新产品开发和设计的过程。计算机辅助制造(CAM,Computer-Aided Manufacturing),是指计算机自动对设计好的零件进行加工的过程。计算机辅助装配(CAA,Computer-Aided Assemble),是指计算机自动把零件装配成部件或把部件装配成整机的过程。计算机辅助教学(CAI,Computer-Aided Instruction),是指教师借助于计算机对学生进行形象化教学或学生借助于计算机进行形象化学习的过程。CAD、CAM、CAA和CAI都要求有一台高性能的微型计算机或工程工作站,其运算速度要快,存储容量要大,并要有相应的软件支持。目前,我国的CAD使用较为普遍,在服装设计、电子、建筑、造船、机械制造和飞机制造业等领域使用尤其广泛。

(4)过程控制和仪器仪表智能化

微型计算机对生产过程的控制是借助于传感器、A/D和D/A转换器以及执行机构进行的。计算机实时采集生产现场的信息并加以处理,然后输出命令控制生产现场的有关设备或参数,使生产现场达到较佳的状态,如数控机床、化工自动控制、交通自动控制、自动灭火、智能仪器等。

(5)军事领域的应用

微型计算机在军事领域中的应用虽然鲜为人知,但应用却十分广泛。微型计算机通常可用来帮助指挥和协调作战、进行军事通信、搜集情报、信息管理,也可以直接用在坦克、火炮、军舰、潜艇、军用飞机、巡航导弹等武器中。

(6)多媒体系统和信息高速公路

多媒体系统是一种集声音、动画、文字和图像等多媒体于同一载体或平台的系统,以实现与外部世界进行多功能和多用途的信息交流。多媒体技术广泛用于工业生产、教育培训、医疗卫生、商业广告和娱乐生活等方面。

(7)家用电器和家庭自动化

微处理器在家用电器中应用很普遍,最常见的有微电脑洗衣机、微电脑冰箱、微电脑空调、微电脑音响系统和微电脑电视机等。此外,微电脑计时装置和微电脑报警系统等已经进入发达国家的家庭。微电脑盲人阅读机也为盲人提供了极大的方便。

(8)人工智能的应用

人工智能就是用计算机模拟人类的智能,使计算机具有听、看、说和“思维”的能力。人工智能包括的内容有:图形与语言的识别、语言的翻译、专家系统、机器人、自动程序设计等。

1.1.4 现代微型计算机技术的发展趋势

随着微电子技术和计算机技术的发展,一些新思维和新技术被陆续应用于微型计算机领域。

(1)多级流水线结构

为了提高微型计算机的工作速度,将某些功能部件分离,把一些大的顺序操作分解为由不同功能部件分别完成、在时间上可以重叠的子操作,这种技术被称为“流水线技术”。在一般的微处理器中,在一个总线周期(或一个机器周期)未执行完前,地址总线上的地址是不能更新的。在多级流水线的情况下,当前一个指令周期正执行命令时,下一条指令的地址已被送到地址线,这样从宏观上来看两条指令执行在时间上是重叠的。这种流水线结构大大提高了微处理器的处理速度。

(2)片上存储器管理技术

片上存储器管理技术是把存储器管理部件与微处理器集成在一个芯片上。目前把数据高速缓存、指令高速缓存与MMU(存储器管理单元)结合在一起的趋势已十分明显,这样可以减少CPU的执行时间,减轻总线的负担。例如,摩托罗拉的MC68030将256B的指令高速缓存及256B的数据高速缓存与MMU结合在一起构成Cache/Memory Unit。

(3)虚拟存储技术

虚拟存储是一种存储管理技术,目的是扩大面向用户的内存容量。在一般情况下,系统除配备一定的主存外,还配备有较大容量的辅助存储器,二者相比,前者速度快,但价格贵、容量小;后者速度慢,但容量大,所以大量的程序和数据平时是存放在辅助存储器中的,到用时才调入内存。当程序规模较大而内存数量相对不足时,编程者就需要做出安排,分批将程序调入内存,也就是说,需要不断用新的程序段来覆盖内存中暂时不用的老程序段。所谓“虚拟存储”技术,就是采用软、硬件相结合的方法,由系统自动进行这项调度。对于用户来说,这意味着他们可放心使用更大的虚拟内存,而不必过问实际内存的大小,并可得到接近实际内存的工作速度。

(4)并行处理的哈佛结构

为了进一步提高系统的工作速度和工作能力,一些系统采用了多处理器结构。所谓“多处理器系统”,是指一个系统中同时有几个部件可以接受命令,并进行指令的译码操作。为了克服CPU数据总线宽度的限制,尤其是在单处理器的情况下,进一步提高微处理器的处理速度,采用高度并行处理技术——哈佛结构(Havard Structure)已成为引人注目的趋势。哈佛结构的基本特性是:采用多个内部数据/地址总线;将数据和指令缓存分开;使MMU和转换后缓冲存储器(TLB)与CPU实现并行操作。

(5)RISC结构

所谓RISC结构,就是简化指令集的微处理器结构。其指导思想是在微处理器芯片中,将那些不常用的由硬件实现的复杂指令改由软件来实现,而硬件只支持常用的简单指令。这种方法可以大大降低硬件的复杂程度,并显著减少处理器芯片的逻辑门个数,从而提高处理器的总性能。这种结构更适于当前微处理器芯片新半导体材料的开发和应用。

(6)整片集成技术

目前高档微处理器基本转向CMOS VLS工艺,集成度已突破千万个晶体管大关。一个令人瞩目的动向是新一代的微处理器芯片已将更多的功能部件集成在一起,并做在一个芯片上。目前在一个CPU的芯片上已实现片上存储管理、高速缓存、浮点协处理器部件、通信I/O接口、时钟定时器等。同时,单芯片多处理器并行处理技术也被不少厂家研制出来。

目前,微型计算机仍继续向着微型化的方向发展,同时也在向着网络化和智能化方向发展。随着微电子技术的发展,微处理器的集成度越来越高,芯片功能越来越强,从而使微型计算机的体积进一步减小,重量进一步减轻,而功能则在不断地增强。另外,从微型计算机系统角度来看,采用多机系统结构、增强图形处理能力、提高网络通信性能等方面都是当今微型计算机系统所追求的目标。