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

1.1 计算机的基本概念

现在广泛应用的计算机,其全称是电子式数字计算机,简称电脑。那么,什么是计算机呢?简单地讲,计算机是一种能够存储程序,并能够自动连续地执行程序,对各种数字化信息进行算术运算或逻辑运算的电磁装置。先对这个定义做一些初步的解释:首先,计算机是能够运算的设备,分为算术运算和逻辑运算两大类。其中,算术运算的数据类型是数值型数据,以加、减、乘除为基本运算。而逻辑运算是用来解决逻辑问题,如信息检索、判断分析和决策等。所以通常将计算机的工作称为对信息进行运算处理。计算机中的信息用什么形式来表示呢?它采用二进制代码来表示各类信息,所以也称为数字计算机。那么,计算机又是怎样对数字化信息进行处理呢?它采用的是一种存储程序的工作方式,程序是指为了得到某种结果而可以由计算机等具有信息处理能力的装置执行的代码化指令序列,或者可被自动转换成代码化指令序列的符号化指令序列或者符号化语句序列。即先编写程序,再由计算机将这些程序存储起来,然后连续地、快速地、高效地执行程序,从而实现各种运算处理。因此,为了存储程序与数据需要的是存储器;为了进行运算需要的是运算器;为了输入程序及数据,输出运算结果,需要有输入设备和输出设备;而控制器是对整个计算机的工作过程进行控制管理。所以计算机一般由5部分组成:运算器、控制器、存储器、输入设备、输出设备。

这些理论是由计算机技术的先驱者冯·诺依曼首先提出的,他在1945年提出了数字化计算机的若干设计思想,此后,被人们称为诺依曼体制,这是计算机发展史上的一个里程碑。几十年来计算机的体系结构发生了许多演变,但诺依曼体制的核心作用沿用至今,绝大多数实用的计算机仍属于这一体系。计算机主要有以下特点:

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

② 采用存储程序的工作方式,先编程序,存储程序、自动运行。

③ 由运算器、控制器、存储器、输入设备和输出设备五大部分成为计算机的硬件。

1.1.1 存储程序的工作方式

计算机的工作最终体为执行程序。前面提到,计算机采用存储程序工作方式,这是计算机最核心的思想之一。以下3点含义,充分体现了使用计算机解决问题的过程。

1.先编程序

为了使用计算机来解决问题,需要事先编制好程序,即在程序中规定计算机需要做哪些事,按什么步骤去做。在程序中还包括需要运算处理的原始数据,可以规定计算机在什么时候从输入设备获得要处理的数据。一件事往往分步进行,同理,要求计算机硬件在一步中执行的操作命令称为一条指令。计算机最终执行的程序,其形态就是指令序列,即若干条指令的有序集合,每一步执行一条指令。换句话说,事先编好的程序是由指令序列和有关的原始数据组成的。

2.事先存储程序

编好的程序经由输入设备送入计算机,存放在存储器中,编写程序时是用字符书写的,通过键盘将字符编成二进制编码,然后输入计算机。二进制代码中的每一位,不是0就是1,可以保存在存储器中。

最早的电子计算机是靠许多开关和拔插连线来体现程序的,被称为台外程序式,意思是指程序不在计算机内部。按照诺依曼体制设计计算机后,才采取这种事先存储程序的工作方式,这一点有很重要的意义。

3.自动、连续地执行程序

由于程序已经事先存储在存储器中,启动计算机运行后,计算机就可以依照一定顺序从存储器中逐条读取指令,按照指令的要求执行操作,直到运行的程序执行完毕。原则上不需操作者通过人工操作去逐条读取指令,所以是自动、连续地执行程序,使得计算机可以高速地运行。当然,有些工作本身要求以人机对话方式进行,例如,通过计算机进行查询,首先,计算机通过显示屏幕向用户询问:需查询什么项目?然后,用户通过键盘或鼠标进行选择。这种情况要求计算机分段执行程序,并且中间允许用户时行人工干预。所以计算机在自动、连续地执行程序的同时,往往允许用户以外部请求的方式进行干预。

上面描述了计算机的基本工作方式。诺依曼机的这种工作方式被称为控制流驱动方式。就是按照指令的执行序列依次读取指令,并根据指令所含的控制信息调用数据,再进行运算处理。在这一过程中,逐步发出的控制信息成为一种控制信息流,简称控制流,它是驱动计算机工作的因素。而依次处理的数据信息成为一种信息流,简称为数据流,它是被调用的对象,或者说是被驱动的部分。

1.1.2 信息的数字化表示

计算机中的信息可以分为控制信息和数据信息两大类。随着程序的逐步执行,依次取出的指令代码序列,以及在此基础上产生的微命令,就成为控制信息流。它们是控制计算机工作的有关信息。而依据指令要求依次读取的数据,以及运算处理的结果等,成为数据信息流。它们是计算机加工处理的对象。数据可以分为数值型数据和非数值型数据两大类。前者有数值的大小及正负之分,后者指字符、文字、图像和声音等一类的信息,以及条件、命令、状态一类的逻辑信息。这就需要解决一个问题:怎样让计算机处理上述信息。

现在广泛应用的计算机,其全称是电子式数字计算机。其中“电子式”的含义是指计算机的主要部件是电子电路构成的,计算机内传送与处理的信息是电子信号。

数字计算机的含义简单地说,计算机中的信息(控制流、数据流)都采用数字化表示方法,它包括以下两层含义:

1.在计算机中的各种信息用数字代码表示

下面通过一组例子来说明如何用数字代码表示各类信息,这是了解计算机工作原理的又一重要基础。

(1)用二进制数字代码表示数值的大小

用一组数字代码表示一个数值型的数据,其中每一位数字只有两种,不是0就是1,逢2进位,所以称为二进制。数的正负符号也用一位数字代码表示,称为符号位。如约定符号为0,表示数为正,符号为1,表示求数为负。例如,10001001B表示为-9。

(2)用数字编码表示中、西文字符

例如,字符 A 的二进制编码为01000001B,例如,“波”的二进制编码为1011001010101000B。

(3)用数字代码表示图像

与字符相比,图像信息变化多,哪里亮哪里暗,这是随机的。但是却可以将一幅图像细分为许多像素点,用这些像素点的组合逼近真实的图像。如果分得足够细也就是说点数足够多时,则在人的视觉中这幅由许多像素点组成的图像几乎是连续的。相应的,用一位数字代码表示一个像素点,例如,用1表示一个亮点,用0表示暗点。再按照一定的扫描规律,如逐行地从左到右地扫描,就可以将这些像素点信息以数字代码的形式组织,存入计算机中,此时,就可以用计算机图像运行处理了。

(4)用数字代码表示机器指令

程序在计算机中的最终(可执行)形态是指令序列,按照事先约定的指令格式,每条指令用一组数字代码表示。一条指令往往分为几个字段,如操作码字段,地址码字段,并且约定用不同的编码表示不同的指令含义。例如,约定操作码的编码码含义为:0000表示传送,0001表示相加,0010表示相减等。

(5)用数字代码表示设备的状态

计算机在控制打印机、显示器这些设备时,常常需要根据设备的工作状态来决定操作。可以将这些状态抽象化,然后完成用数字代码的表示。例如,用00表示设备当前空闲,用01表求设备在忙,用10表示设备已完成一次操作。

2.用数字型电信号表示数字代码

数字代码需要用电信号去体现,这样才能用电子电路部件信号进行传送和运算处理。电信号分为模拟信号和数字信号两类。

模拟信号是用信号的某些参量去模拟信息,例如,用电信号的幅值去模拟数值的大小,所以称为模拟信号。许多物理量如压力、温度等先通过传感器变为模拟信号,再转换为数字信号,才可以用计算机处理。

数字信号是这样一种信号,它的单个数字信号仅取有限的几种状态,一般是只取两种状态,例如,高电平和低电平、有脉冲和无脉冲。可用来表示数字代码的1或0,称为二值逻辑。相应地,数字信号有两种形式:电平信号和脉冲信号。依靠多位数字信号的组合,可以表示多位数字代码,换句话说,一位数字信号只能表示一位数字代码。

例如,计算机传输数据时,常用多根传输线同时传送,每根线传送一位。如果某一根线的电平为高,则该位为1;若另一根线电平为低,则该位为0。各线之间相互分离,可独立传送电平信号。

用数字代码表示各种信息,用数字信号表示数字代码,这就是信息数字化的含义。计算机是用来处理信息的,它可以处理的信息类型范围广泛。要了解计算机的工作原理,并且能够在今后的工作中灵活地进行设计,首先要深刻理解和熟练掌握信息的数字化表示方法。

采用数字化方法表示信息,具有以下重要的优点:

① 抗干扰能力强,可靠性高。因为每位数字的取值非0即1,相应地,表示数字的电信号也只需两种状态。假定电源为+5V,用高电平表示1,低电平(0V)表示0,则在1和0之间有比较大的差别,即使受到一定干扰也还能够区分是0还是1。

② 依靠多位数字信号的组合,在表示数值时可以获得很宽的表示范围,以及很高的精度。

在理论上,位数的增加并无限制,取决于愿意付出的硬件代价。

③ 数字化的信息可以存储,信息传送也比较容易实现。因为每一位数字非0即1,相应地,在物理实现上也只需取两种可能的极端状态来表示0或1,因而可以有多种方法来体现。如开关连通或断开,晶体管导通或截止,电容上有电荷或无电荷,磁性材料的正向磁饱和或反向磁饱和,磁化状态改变或不变等。相应地,可用双稳态触发器去存储信息,或利用电容上存储电荷来存储信息。

④ 可表示的信息类型与范围极其广泛,几乎没有限制,这一点通过前面的例子已经说明。

⑤ 能用逻辑代数等数字逻辑技术进行信息处理,是计算机的硬件设计的基础。计算机的各项具体操作最终是用数字逻辑电路来实现的,可以称为处理功能逻辑化。由于采用二进制数代码来表示各类信息,能用种类有限的几种逻辑单元(与、或、非门),构造出多种多样的计算机系统。