微型计算机俗称电脑(也被称为"个人电脑"),它是一种能够存储程序,并按照程序自动、高速、精确地进行大量计算和信息处理的电子机器。科技的进步促使电脑产生和迅速发展,而电脑的产生和发展又反过来促进科学技术和生产水平的提高。现在,电脑的发展和应用水平已经成为衡量一个国家科学、技术水平和经济实力的重要标志。 从本章开始,我们将通过介绍电脑的基础知识,帮助读者建立对电脑的初步认识。 本节在第一章中的位置 1.电脑系统组成 一个完整的电脑系统由硬件系统和软件系统两部分组成。用一张图来表示,应该是这样的。 其中,硬件系统是组成电脑系统的各种物理设备的总称,是电脑系统的物质基础,是看得见、摸得着的一些实实在在的有形实体。电脑的性能,例如运算速度、存储容量、计算精度、可靠性等,很大程度上取决于硬件的配置。只有硬件而没有任何软件支持的电脑称为"裸机",在裸机上只能运行机器语言程序,不仅使用很不方便,而且工作效率也很低,对于普通人来说几乎是没有用的。 电脑硬件系统 在人(电脑使用者)与电脑硬件之间,通过软件系统进行交互。软件系统根据人的要求,将处理问题的数据和指令传送给硬件系统,并将硬件处理后的结果反馈给人。 其中: 有些软件和硬件打交道,它们只关心电脑硬件能不能正常工作(例如数据与指令如何放置才最有效率,存放的数据会不会有错误,如果出现错误该如何发现并纠正错误),而很少关心甚至不关心人的要求。这类软件称为"系统软件"(包括Windows、Linux、Android、IOS等)。 有些软件需要和人打交道,满足人们提出的各种要求,所以这些软件在设计界面时尽可能做出统一风格,便于人们使用。这类软件被称为"应用软件"(包括Office、Premiere、Photoshop、After Effects等)。 电脑软件系统 在一个具体的电脑系统中,硬件、软件是紧密相关、缺一不可的,但是对某一具体功能来说,既可以用硬件实现,也可以用软件实现,这就是硬件、软件在逻辑功能上的等效。所谓硬件、软件在功能上的等效是指由硬件实现的操作,在原理上均可以使用软件模拟来实现;同样,任何由软件实现的操作,在原理上也可以由硬件来实现。 2.冯·诺依曼结构 1944年,美籍匈牙利数学家冯·诺依曼提出计算机基本结构和工作方式的设想,为后来微型计算机(电脑)的诞生和发展提供了理论基础。 冯·诺依曼 尽管许多年后的今天,计算机(电脑)不断发展,但其基本工作原理仍然是基于冯·诺依曼原理,其基本思想是存储程序与程序控制。存储程序是指人们必须事先把计算机的执行步骤序列(即程序)及运行中所需的数据,通过一定方式输入并存储在存储器中。程序控制是指计算机运行时能自动地逐一取出程序中的一条条指令,加以分析并执行规定的操作。 冯·诺依曼体系计算机的核心思想是"存储程序"的概念,它的特点如下: 计算机由运算器、存储器、控制器和输入设备、输出设备5大部件组成; 指令和数据都用二进制代码表示; 指令和数据都以同等地位存放于存储器内,并可按地址寻访; 指令是由操作码和地址码组成,操作码用来表示操作的性质,地址码用来表示操作数所在的存储器中的位置; 指令在存储器内时顺序存放的; 机器以运算器为核心,输入输出设备与存储器的数据传送通过运算器。 典型的冯·诺依曼结构计算机是以运算器为中心的。其中,输入、输出设备与存储器之间的数据传送都需通过运算器。 随着技术的发展,现代计算机(电脑)已转化为以存储器为中心,如下图所示,图中实线为控制线,虚线为反馈线,双线为数据线。 冯·诺依曼计算机框图 3.电脑硬件系统 前面介绍过,在冯·诺依曼体系计算机的核心思想中计算机的硬件系统由运算器、存储器、控制器和输入设备、输出设备5大部件组成。 存储器 存储器是电脑系统中的记忆设备,用来存放程序和数据。现代电脑系统都是以存储器为中心,电脑若要开始工作,必须先把有关程序和数据装到存储器中,程序才能开始运行。 在程序执行过程中,CPU所需的指令要从存储器中取出,运算器所需的原始数据要从存储器中取出,运算结果必须在程序执行完毕之前全部写到存储器中,各种输入输出设备也直接与存储器交换数据。因此,在电脑运行过程中,存储器是各种信息存储和交换的中心。 构成存储器的存储介质,目前主要采用半导体器件和磁性材料。存储器中最小的存储单位可以是一个双稳态半导体电路或一个CMOS晶体管或磁性材料的存储元,它可存储一个二进制代码。这个二进制代码位是存储器中最小的存储单位,称为一个存储位或存储元,若干个存储位可以组成一个存储单元,许多存储单元可以组成一个存储器,存储单元的集合也称为存储体。 存储器的分类 如果按在存储的层次分类存储器,可以将存储器分为主存储器、辅助存储器和高速缓冲存储器。 主存储器:即主存,内存,内存储器。用来存放计算机运行期间所需的大量程序数据。CPU可以直接访问主存。 辅助存储器:即外存储器,外存。是主存的后援存储器,用来存放当前主存不需要使用的程序和数据。 高速缓冲存储器:Cache。位于主存和CPU之间,用来存放正在执行的程序段和数据,使CPU高速运用它们。 如按存取方式分类存储,可以存储器分为随机存储器、只读存储器、串行访问存储器和相联存储器。 随机存储器(RAM):存储器内的任何存储单元都能够随机存取。读写方便,使用灵活。分为静态RAM(SRAM) 和动态RAM(DRAM)。 只读存储器(ROM):存储器内容只能随机读出,不能写入。通常存放固定不变的程序、常数、汉字库等。 串行访问存储器:按照其物理位置的先后顺序寻址。包括:顺序存取存储器(如磁带)、直接存取存储器(如磁盘)。 相联存储器:把存储单元所存储内容的某一部分作为索引项去检索该存储器,并将存储器中与该索引符合的存储单元内容进行读写。 如果按照信息的可保存型分类,可以将存储器分为易失性存储器和非易失性存储器。 易失性存储器:特点是断电后,存储的信息即消失。如RAM。 非易失性存储器:特点是断电后信息仍能够保存。如ROM。 存储器的性能指标 存储器的性能指标主要包括存储容量、存储速度和单位成本: 存储容量:存储容量就是存储器的容量,存储容量 = 存储字数 * 字长(如1M * 8位) 存储速度:存储速度就死存储器存储数据时的数据传输率,这个数据传输率 = 数据宽度 / 存储周期;其中存储周期不等于存取时间,而是大于等于存取时间(因为还需要加上一个恢复时间)。 单位成本:单位成本就是存储器存储每位数据的价格 ,每位的价格= 总成本 / 总容量 存储器的层次化结构 上面介绍过,一个存储器的性能通常用存储速度、存储容量和单位价格等三个主要指标来衡量。电脑对存储器的要求是容量大、速度快、成本低,需要尽可能地同时兼顾这三方面的要求。但是一般来讲,存储器速度越快,价格也越高,因而也越难满足大容量的要求。目前通常采用多级存储器体系结构,使用高速缓冲存储器、主存储器和外存储器,如下图所示。 CPU能直接访问的存储器称为内存储器(简称内存),包括高速缓冲存储器和主存储器。CPU不能直接访问的存储器称为外存储器(简称外存,也叫辅助存储器),外存的信息必须调入内存才能被CPU使用。 高速缓冲存储器(Cache)是电脑系统中的一个高速、小容量的半导体存储器,它位于高速的CPU和低速的主存之间,用于匹配两者的速度,达到高速存取指令和数据的目的。和主存相比,Cache的存取速度快,但存储容量小。 主存储器(主存),是电脑系统的主要存储器,用来存放电脑正在执行的大量程序和数据,主要由MOS半导体存储器组成。 外存储器(外存),是电脑系统的大容量辅助存储器,用于存放系统中的程序、数据文件及数据库。与主存相比,外存的特点是存储容量大,位成本低,但访问速度慢。常见的外存储器主要有磁盘存储器、磁带存储器和光盘存储器。 由Cache和主存储器构成的Cache-主存系统,其主要目标是利用与CPU速度接近的Cache来高速存取指令和数据以提高存储器的整体速度,从CPU角度看,这个层次的速度接近Cache,而容量和每一位的价格则接近主存;由主存和外存构成的虚拟存储器系统,其主要目的是增加存储器的容量,从整体上看,其速度接近于主存的速度,其容量则接近于外存的容量。 电脑存储系统的这种多层次结构,很好地解决了容量、速度、成本三者之间的矛盾。这些不同速度、不同容量、不同价格的存储器,用硬件、软件或软硬件结合的方式连接起来,形成一个系统。这个存储系统对应用程序而言是透明的,在应用程序看来它是一个存储器,其速度接近于最快的那个存储器,存储容量接近于容量最大的那个存储器,单位价格则接近最便宜的那个存储器。 运算器 运算器是电脑中处理数据的核心部件,主要由直线算术运算和逻辑运算的算术逻辑单元(Arithmetic Logic Unit,ALU)、存放操作数和中间结果的寄存器组以及连接各部件的数据通路组成,用于完成各种算术运算和逻辑运算。 在运算过程中,运算器不断得到主存储器提供的数据,运算后又把结果送回到主存储器保存起来。整个运算过程是在控制器的统一指挥下,按程序中编排的操作顺序进行的。 控制器 控制器是电脑中控制管理的核心部件。主要由程序计数器(PC)、指令寄存器(IR)、指令译码器(ID)、时序控制电路和微操作控制电路等组成,在系统运行过程中,不断地生成指令地址、取出指令】分析指令、向电脑的各个部件发出微操作控制信号,指挥各个部件告诉协调地工作。 由于运算器和控制器在逻辑关系和电路结构上联系十分紧密,尤其在大规模集成电路制作工艺出现后,这两大部件往往制作在同一芯片上,因此,通常将它们合起来统称为中央处理器,简称CPU(Central Processing Unit),是电脑的核心部件。 输入/输出设备 输入输出设备(简称I/O设备)又称为外部设备,它是与电脑主机进行信息交换,实现人机交互的硬件环境。 输入设备用于输入人们要求计算机处理的数据、字符、文字、图形、图像、声音等信息。以及处理这些信息所必须的程序,并把它们转换成计算机能接受的形式(二进制代码)。常见的输入设备有键盘、鼠标、扫描仪、手写板、光笔、麦克风(输入语音)等。 输出设备用于将计算机处理结果或中间结果,以人们可以识别的形式(如显示、打印、绘图)表达出来。常见的输出设备有显示器、打印机、绘图仪、音响等。 此外,由于外存储器(外存)可以把存放的信息输入到电脑主机,电脑主机处理后的数据也可以存储到外存储器中。因此,外存储设备既可以作为输入设备,也可以作为输出设备。 4.电脑软件系统 软件包括可在电脑运行的各种程序、数据及其有关文档。通常把电脑软件系统分为系统软件和应用软件两大类。 系统软件 系统软件是维持电脑系统正常运行,支持用户应用软件运行的基础软件,包括操作系统、程序设计语言和数据库管理系统等。 操作系统 为了使电脑系统的所有资源(包括中央处理器、存储器、各种外部设备以及各种软件)协调一致,有条不紊地工作,就必须由一个软件来进行统一管理和统一调度,这种软件称为操作系统(Operating System,OS)。它的功能就是管理电脑系统的全部硬件资源、软件资源及数据资源,使计算机系统所有资源最大限度地发挥作用,为用户提供方便、有效、友善的服务界面。 Windows 10操作系统的桌面 操作系统是一个庞大的管理控制程序,它大致包括以下5个管理功能:进程与处理机调度、作业管理、存储管理、设备管理、文件管理。实际的操作系统是多种多样的,根据侧重面不同和设计思想不同,操作系统的结构和内容存在很大的差别。对于功能比较完善的操作系统,应具备上述5个部分。 程序设计语言 计算机语言是程序设计的最重要的工具,它是指电脑能够接受和处理的、具有一定格式的语言。从计算机诞生至今,计算机语言发展经历了以下三代。 机器语言:机器语言是由0、1代码组成的,能被机器直接理解、执行的指令集合。这种语言编程质量高,所占空间小,执行速度快,是机器唯一能够执行的语言,但机器语言不易学习和修改,且不同类型机器的机器语言不同,只适合专业人员使用。 汇编语言:汇编语言采用助记符来代替机器语言中的指令和数据,又称为符号语言。汇编语言一定程度上克服了机器语言难读难改的缺点,同时保持了其变成质量高、占存储空间小、执行速度快的优点,目前在实时控制等方面的编程中仍有不少应用。汇编语言程序必须翻译成机器语言的目标程序后再执行。 高级语言:高级语言是一种完全符号化的语言,其中采用自然语言(英语)中的词汇和语法习惯,容易为人们理解和掌握;它完全独立于具体的计算机,具有很强的可移植性。用高级语言编写的程序称为源程序,源程序不能在计算机中直接执行,必须将它翻译或解释成目标程序后,才能为计算机所理解和执行。 将源程序翻译成目标程序,其翻译过程有解释和编译两种方式。解释是由解释程序对源程序逐句解释执行,直到程序结束。编译是在编写好源程序后,先用编译程序将源程序翻译成目标程序,再用连接程序将各个目标程序模块以及程序所调用的内部库函数连接成一个可执行程序,最后再运行这个可执行程序。 从源程序的输入到可执行的装入程序的过程如下图所示。 高级语言的种类繁多,如面向过程的FORTRAN、PASCAL、C、BISIC等,面向对象的C++、Java、Visual Basic、Visual C、Delphi等。 数据库管理系统 数据库管理系统是20世纪60年代末产生并发展起来的,它是计算机科学中应用最为广泛并且发展最快的领域之一。主要是面向解决数据处理的非数值计算问题。目前主要用于档案管理、财务管理、图书资料管理及仓库管理等数据处理。这类数据的特点是数据量比较大,数据处理的主要内容为数据的存储、查询、修改、排序、分类等。数据库技术针对这类数据的处理而产生发展起来,至今仍在不断的发展、完善。 常见数据库管理系统有Access、FoxRro、SQL Server、Oracle、Sybase、DB2等。 应用软件 应用软件也称为应用程序,是专业软件公司针对应用领域的需求,为解决某些实际问题而研制开发的程序,或由用户根据要编制的各种实用程序。应用程序通常需要系统软件的支持,才能在电脑硬件上有效运行。例如,后面要介绍到的文字处理软件Word、电子表格软件Excel、PPT制作软件PowerPoint、图像处理软件Photoshop等都属于应用软件。 5.电脑的工作过程 电脑启动后,CPU首先执行固化在主板上只读存储器(ROM)中的一小部分操作系统程序,这部分程序称为基本输入输出系统(BIOS),它启动操作系统的装载过程,先把一部分操作系统从磁盘(外存)中读入内存,然后再由读入的这部分操作系统装载其他的操作系统程序。 装载操作系统的过程称为自举或引导。操作系统被装载到内存后,电脑才能接收用户的命令,执行其他的程序,直到用户关机。程序的执行过程,也就是指令的分析和执行过程。 指令和程序的概念 指令 指令就是让电脑完成某个操作所发出的命令,即电脑完成某个操作的依据。一条指令通常由两个部分组成:操作码和操作数地址。 操作码指明该指令要完成的操作,如加、减、乘、除等。操作数地址是指参加运算的数或数所在的单元地址。一台电脑的所有指令的集合,称为该计算机的指令系统。 程序 电脑使用者根据解决某一问题的步骤,选用一条条指令进行有序的排列。电脑执行了这一指令序列,便可以完成预定的任务。这一指令序列就称为程序,程序即指令的有序集合。陷入,程序中的每一条指令必须是所用电脑的指令系统中的指令。因此指令系统是提供给使用者编制程序的基本依据。 电脑执行指令的过程 电脑执行指令一般分为两个阶段。首先将要执行的指令从内存中取出送入CPU,然后由CPU对指令进行分析译码,判断该条指令要完成的操作,向各部件发出完成该操作的控制信号,完成该指令的功能。当一条指令执行完成后就处理下一条指令。一般将第一阶段称为取指周期,第二阶段称为执行周期。 程序的执行过程 电脑在运行时,CPU从内存读出一条指令到CPU内执行,指令执行完成后,再从内存读出下一条指令到CPU内执行。CPU不断地取指令,执行指令,这就是程序的执行过程。 本节内容回顾 下面我们通过几个思维导图回顾本节所学的内容。 1.电脑系统组成 一个完整的电脑系统由硬件系统和软件系统两部分组成。 2.冯·诺依曼结构 1944年,美籍匈牙利数学家冯·诺依曼提出计算机基本结构和工作方式的设想,是现代电脑的理论基础。 3.电脑的硬件系统 在冯·诺依曼体系计算机的核心思想中,电脑的硬件系统由运算器、存储器、控制器和输入设备、输出设备5大部件组成。 4.电脑的软件系统 软件包括可在电脑运行的各种程序、数据及其有关文档。通常把电脑软件系统分为系统软件和应用软件两大类。 5.电脑的工作过程 电脑启动后,CPU首先执行BIOS,启动操作系统的装载过程,先把一部分操作系统从磁盘读入内存,然后再由读入的这部分操作系统装载其他的操作系统程序。操作系统被装载到内存后,电脑才能接收用户的命令,执行其他的程序,直到用户关闭电脑。程序的执行过程,也就是指令的分析和执行过程。 下一篇,我们将介绍详细介绍电脑的主要硬件设备。