计算机的基本概念
计算机系统通常由硬件和软件两大部分组成。硬件是指看得见、摸得着且物理存在的设备实体,如运算器、控制器、存储器和输入/输出设备等,软件则是指不能直接触摸但又确实在逻辑上存在的对象,如程序和文档等。设计计算机硬件系统的基本原则是功能部件的逻辑化,即用逻辑电路构造各种部件,如用基本的门电路、触发器来构造运算器、控制器、存储器等。
计算机系统是如何工作的?
计算机在运行程序之前,必须将源程序编译转换为机器指令,并将这些指令按一定顺序存放在存储器的若干个单元中。每个单元对应一个称为地址的固定编号,只要给出确定的地址,就能访问相应的存储单元,对该单元的内容进行读/写操作。
比如,执行一条加法指令,先要从存储单元或寄存器取出操作数,送入运算器,再将两个操作数相加,并将运算处理的结果送回存储单元或寄存器存放。如果用户要了解处理结果,则计算机可通过输出设备(如显示器、打印机等),将结果显示在屏幕或打印在纸上。
信息的数字化表示
计算机中的信息可以分为两大类:控制信息和数据信息。控制信息用来控制计算机的工作,指令序列和微命令序列属于控制信息类。数据信息是计算机加工处理的对象,数据信息又分为数值型数据和非数值型数据两类。
在计算机中如何表示这些信息呢?
,计算机的主要部件是用逻辑电路,即电子电路构成的,所以,在电子数字计算机中传送与处理的信息都采用数字化表示方法
在计算机中用数字代码表示各类信息
数字代码是指一组数字的集合,这里的数字代码通常指二进制数字代码。我们可以根据需要描述的信息(某类控制信息或某类数据信息),用一组约定了含义的数字代码来表示它。
用数字代码表示数值型数据:可以约定,用一位二进制代码表示每个数的符号,如用0表示正数,用1表示负数;再用4位二进制代码表示每个数的大小,也可以用8位二进制代码表示一个数的大小。代码位数增多,数的表示范围将扩大。
用数字代码表示字符:字符本身没有大小和正负之分,但仍然可以用数字代码来表示它。计算机中常约定用7代码表示一个西文字符,如用1000001表示字符A,用1000010表示字符B;或用7位代码表示一个控制字符,如用0001100表示换页(FF),用0001101表示回车(CR)。字符的这种编码称为ASCII码,是国际上广泛采用的一种字符表示方法。另外,还可以约定用两组8位二进制代码表示一个中文字符,如用01010110 01010000表示“中”,用00111001 01111010表示“国”等。总之,用数字代码可以表示各种字符,而以字符为基础又可以表示范围广泛的各种文字。
用数字代码表示图像:字符的种类总是有限的,因而可以用若干位编码来表示。图像则不然,其变化是无穷无尽的,那么,如何用数字代码来表示这些随机分布的图像信息呢?实际上,一幅图像可以被细分为若干个点,这些点称为像素。也就是说,我们可以用像素的组合来逼近真实的图像。图像划分得越细,像素越多,组成的图像也就越真实。按照信息表示数字化的思想,可以用数字代码表示像素。例如,用一位代码表示一个像素,若像素是亮的,则用代码1表示;若像素是暗的,则用代码0表示。再将表示一幅图像所有像素的代码按照像素在图像中的位置进行组织,就可以实现用数字代码来表示图像了。
用数字代码表示声音:为了对声音信息数字化,首先要将声波转换为电流波,再按一定频率对电流波进行采样,即在长度相同的时间间隔内分别对电流波的幅值进行测量,每次测到的电流幅值都用一个数字量来表示。只要采样频率足够高,所得到的数字信息就能逼真地保持声波信息,还原后真实地再现原来的声音。
用数字代码表示指令:指令属于控制信息。通常,一条指令需提供要求计算机做什么操作,以及如何获取操作数等信息。因此,可以用一段数字代码表示操作类型,这段代码称为操作码;用另一段代码表示获取操作数的途径,这段代码称为地址码。将操作码和地址码组合在一起,就形成了机器指令代码。
用数字代码表示设备状态:计算机在工作时往往需要了解外部设备的状态,根据外设状态决定做什么操作。不同的外部设备可能有不同的工作状态,如打印机将字符打印在纸上,而显示器则将字符显示在屏幕上。这些设备的状态可以抽象、归纳为三种:空闲(设备没有工作)、忙(设备正在工作)、完成(设备做完一次操作)。相应地,可以用约定的数字代码表示这三种状态,如用00表示空闲,01表示忙,10表示完成。
在物理机制上用数字信号表示数字代码
为什么能用数字代码来表示各种信息呢?这就涉及计算机的物理机制。计算机是一种复杂的电子线路,传送和处理的实际对象是电信号。电信号又分为模拟信号和数字信号两种。
模拟信号是一种随时间连续变化的电信号,如电流信号、电压信号等。数字信号是一种在时间上或空间上断续变化的电信号。
处理数字信号的计算机称为数字计算机,电平信号和脉冲信号是数字计算机中最基本的电信号形式。用数字信号可以表示数字代码,用数字代码又可以表示各种信息,因而数字计算机能用于各行各业
用一组电平信号表示4位数字代码:
电平信号利用信号电平的高、低状态表示不同的代码,所以电平信号通常需要一段有效维持时间。可以用4根信号线分别输出4个电平信号,每个电平信号表示1位代码。我们约定,+5 V为高电平,表示1;0 V为低电平,表示0,如下图,4位电平信号表示4位数字代码1011
用一串脉冲信号表示4位数字代码:
与电平信号不同,脉冲信号的电平维持时间很短,如信号电平从0V向+5V(或-5V)跳变,维持极短时间后再回到原来的 0 V 状态。因此,信号出现时其电平为+5 V(或-5 V),信号未出现时其电平为 0 V,由于脉冲信号在时间上的分布是离散的,因而可以用一根信号线发出一串脉冲信号,在约定的时间内有脉冲表示1,无脉冲表示0,如下图脉冲串表示4位数字代码1011。
用数字化方法表示信息的主要优点
(1)在物理上容易实现信息的表示与存储
(2)抗干扰能力强,可靠性高
(3)数值的表示范围大,表示精度高
(4)可表示的信息类型极其广泛
(5)能用数字逻辑技术进行信息处理
存储程序工作方式
存储程序是计算机的核心内容,表明了计算机的工作方式,包含三个要点:事先编制程序,存储程序,自动、连续地执行程序。这三点体现了用计算机求解问题的过程
指令和数据都是以二进制代码的形式存放在存储器中的,那么计算机如何区分它们?又如何自动地从存储器中读取指令呢?
首先,将指令和数据分开存放。由于在多数情况下,程序是顺序执行的,因此大多数指令需要依次相邻存放,而将数据放在该程序区中不同的区间。其次,可以设置一个程序计数器(Program Counter,PC),用它存放当前指令所在的存储单元的地址。如果程序顺序执行,则在读取当前指令后将PC的内容加1(当前指令只占用一个存储单元),指示下一条指令的地址。如果程序要进行转移,则将转移目标地址送入PC,以便按照转移地址读取后续指令。所以,依靠PC的指示,计算机就能自动地从存储器中读取指令,再根据指令提供的操作数地址读取数据。
计算机的分类
按计算机中处理信息的制式,计算机可以分为数字计算机和模拟计算机。
其次,如果按照计算机通用性的差异,计算机可以分为专用计算机和通用计算机。
通用计算机:
(1)微型机
(2)小型机
(3)大型机
(4)超级计算机