计算机概论九讲
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机概论论文
[摘要]:一个完整的计算机系统包括硬件系统和软件系统两大部分。
文章从计
算机的组成入手,先介绍计算机的工作原理,基本硬件系统的主要组成部分和功能,依次介绍了中央处理器、存储系统和输入输出系统,通过了解这些结构后,我们知道,中央处理器CPU对整个计算机系统运行极为重要,而我们是通过输入/输出系统与计算机进行人机交互的。
在介绍完硬件后,进而介绍计算机的软件系统,先是操作系统,它是最重要、最基本的软件,和计算机硬件系统两者是相辅相成,缺一不可的,通过操作系统能将硬件系统转化为有用的工具。
有了操作系统,软件就能发挥它的功能了,软件是计算机的灵魂,硬件只是运行软件的平台,对软件的概念、开发和编写作了阐述。
了解完软件的功能,最后我们介绍编写程序软件的语言,也是可以编写软件的程序语言,从机器语言发展到高级语言,使用越来越方便,容易接受,与此同时计算机软件的功能也越来越强大。
关键字:高级语言、CPU、汇编语言
1计算机的基本组成
计算机硬件系统是计算机系统中电子类。
机械类和光电类器件组成的各种计算机部件和设备的总称,是看得见摸得着的一些实实在在的物体,是组成计算机的物理实体,是计算机完成各项工作的物质基础。
计算机的性能,如计算速度,存储容量,计算精度,可靠性等,在很大程度上都取决于硬件的配置,而且,不同类型的计算机,其硬件组成是不一样的。
计算机的软件系统是在计算机硬件设备上运行的各种程序,相关的文档和数据的总称,计算机硬件系统和计算机软件系统共同构成一个完整的系统。
1.1计算机的结构
计算机,顾名思义就是用来计算,计算机工作运行的过程就是就是计算机执行程序的过程。
事先将设定好的程序代码存储于计算机存储器中,然后计算机按照设定的程序一步步执行,即计算机运行的简单描述。
现代计算机虽然在结构上有多种区别,但就其本质而言,多数都是基于冯·诺依曼提出的计算机体系结构理念。
其基本结构,由计算机硬件有运算器、控制器、存储器。
输入和输出设备5个基本功能部件组成,在计算中采用二进制,程序和数据都是采用二进制计算存储。
在存储程序方面,均是以二进制的形式按照一定的顺序预先放到计算机的存储器中,计算机运行程序时,依次从存储器中逐条取出指令,执行一系列基本的操作,完成该指令规定的复杂运算。
1.2计算机的工作原理
计算机的基本原理是存储程序和程序控制。
预先要把指挥计算机如何进行操作的指令序列和原始数据通过输入设备输送到计算机内存储器中。
每一条指令中明确规定了计算机从哪个地址取数,进行什么操作,然后送到什么地址去等步骤。
计算机在运行时,先从内存中取出第一条指令,通过控制器的译码,按指令
的要求,从存储其中取出数据,进行指定的运算和逻辑操作等加工,然后再按地址把结果送到内存中去。
接下来,再取出第二条指令,在控制的智慧下完成规定操作。
依此进行下去,直到停止指令。
程序与指令一样存储,按程序编排的顺序,一步一步的取出指令,自动的完成指令规定的操作只计算机最基本的工作原理。
1.3中央处理器
中央处理器(英文Central Processing Unit,CPU)是一台计算机的运算核心和控制核心。
CPU、内部存储器和输入/输出设备是电子计算机三大核心部件。
其功能主要是解释计算机指令以及处理计算机软件中的数据。
CPU由运算器、控制器和寄存器及实现它们之间联系的数据、控制及状态的总线构成。
差不多所有的CPU的运作原理可分为四个阶段:提取(Fetch)、解码(Decode)、执行(Execute)和写回(Writeback)。
CPU从存储器或高速缓冲存储器中取出指令,放入指令寄存器,并对指令译码,并执行指令。
所谓的计算机的可编程性主要是指对CPU的编程。
CPU具有指令控制、操作控制、时序控制和数据处理四项功能。
而评价CPU 性能的指标有很多,如主频、字长、外频、倍频、缓存大小、前段总线频率、指令集等等。
1.4存储系统
计算机的主存储器不能同时满足存取速度快、存储容量大和成本低的要求,在计算机中必须有速度由慢到快、容量由大到小的多级层次存储器,以最优的控制调度算法和合理的成本,构成具有性能可接受的存储系统。
存储系统的性能在计算机中的地位日趋重要,主要原因是:①冯诺伊曼体系结构是建筑在存储程序概念的基础上,访存操作约占中央处理器(CPU)时间的70%左右。
②存储管理与组织的好坏影响到整机效率。
③现代的信息处理,如图像处理、数据库、知识库、语音识别、多媒体等对存储系统的要求很高。
1.5输入/输出系统
计算机输入输出系统(通称I/O系统)担负着计算机与外界交换信息的任务,早在冯.诺依曼时代就被作为计算机体系结构的一个重要组成部分。
然而,许多年以来,I/O系统没有得到足够的重视,它只是被作为"外围"设备看待。
计算机体系结构设计者们重视的是用户程序运行的CPU时间,而I/O系统在程序执行所花的时间无论是多是少,都作为一种额外的开销而被忽略了。
在计算机技术突飞猛进的今天,I/O系统的重要性正与日俱增,除了存储系统(Storage System)的重要性已经为人所知之外,随着计算机网络化和网络并行计算技术的发展,网络I/O的性能提高也正成为一个引人注目的研究焦点,在第十章将介绍这方面的研究,此外,一直为人们所忽视,并被看作"低速设备"的数据表示系统(data presentation),也由于多媒体技术的兴起,而有了新的研究课题。
常用的输入/输出设备的信息交换方式有程序查询方式、程序中断方式、直接内存访问方式、通道方式和外围处理机方式。
而常用的输入设备有键盘、鼠标、扫描仪、光笔、书写输入板、触摸屏、游戏杆、摄像头、数码相机和视频采集卡。
对应的常用输出设备有显示器、打印机、绘图仪、投影仪等。
2操作系统
计算机系统由硬件系统和软件系统组成,软件必须依托和运行在硬件平台上,两者相辅相成,缺一不可。
硬件是计算机的物理基础,软件是硬件和用户之间的接口,我们是通过软件使用计算机的,其中最重要的软件就是操作系统。
2.1什么是操作系统
操作系统(Operating System,简称OS)是一管理电脑硬件与软件资源的程序,同时也是计算机系统的内核与基石。
操作系统是一个庞大的管理控制程序,大致包括5个方面的管理功能:进程与处理机管理、作业管理、存储管理、设备管理、文件管理。
以现代观点而言,标准个人电脑OS应提供以下功能:进程管理、记忆空间管理、文件系统、网络通讯、安全机制、使用者界面、驱动程序。
目前微机上常见的操作系统有DOS、OS/2、UNIX、XENIX、LINUX、Windows、Netware 等。
操作系统是控制其他程序运行,管理系统资源并为用户提供操作界面的系统软件的集合。
操作系统身负诸如管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络与管理文件系统等基本事务。
操作系统是管理计算机系统的全部硬件资源包括软件资源及数据资源;控制程序运行;改善人机界面;为其它应用软件提供支持等,使计算机系统所有资源最大限度地发挥作用,为用户提供方便的、有效的、友善的服务界面。
所有的操作系统具有并发性、共享性、虚拟性和不确定性四个基本特征。
2.2操作系统的组成部分
操作系统理论研究者有时把操作系统分成四大部分:
驱动程序:最底层的、直接控制和监视各类硬件的部分,它们的职责是隐藏硬件的具体细节,并向其他部分提供一个抽象的、通用的接口。
内核:操作系统之最内核部分,通常运行在最高特权级,负责提供基础性、结构性的功能。
接口库:是一系列特殊的程序库,它们职责在于把系统所提供的基本服务包装成应用程序所能够使用的编程接口(API),是最靠近应用程序的部分。
例如,GNU C运行期库就属于此类,它把各种操作系统的内部编程接口包装成ANSI C 和POSIX编程接口的形式。
外围:所谓外围,是指操作系统中除以上三类以外的所有其他部分,通常是用于提供特定高级服务的部件。
例如,在微内核结构中,大部分系统服务,以及UNIX/Linux中各种守护进程都通常被划归此列。
当然,上诉所提出的四部结构观也绝非放之四海皆准。
例如,在早期的微软视窗操作系统中,各部分耦合程度很深,难以区分彼此。
而在使用外核结构的操作系统中,则根本没有驱动程序的概念。
操作系统中四大部分的不同布局,也就形成了几种整体结构的分野。
常见的结构包括:简单结构、层结构、微内核结构、垂直结构、和虚拟机结构。
2.3操作系统的功能
操作系统的主要功能是资源管理,程序控制和人机交互等。
计算机系统的资源可分为设备资源和信息资源两大类。
设备资源指的是组成计算机的硬件设备,如中央处理器,主存储器,磁盘存储器,打印机,磁带存储器,显示器,键盘输入设备和鼠标等。
信息资源指的是存放于计算机内的各种数据,如文件,程序库,知识库,系统软件和应用软件等。
操作系统位于底层硬件与用户之间,是两者沟通的桥梁。
用户可以通过操作系统的用户界面,输入命令。
操作系统则对命令进行解释,驱动硬件设备,实现用户要求。
以现代观点而言,一个标准个人电脑的OS应该提供以下的功能:进程管理、记忆空间管理、文件系统、网络通讯、安全机制、使用者界面、驱动程序。
3计算机软件
计算机软件(Computer Software,也称软件,软体)是指计算机系统中的程序及其文档,程序是计算任务的处理对象和处理规则的描述;文档是为了便于了解程序所需的阐明性资料。
程序必须装入机器内部才能工作,文档一般是给人看的,不一定装入机器。
3.1软件的概念
计算机软件(Computer Software)是指计算机系统中的程序及其文档。
程序是计算任务的处理对象和处理规则的描述;文档是为了便于了解程序所需的阐明性资料。
程序必须装入机器内部才能工作,文档一般是给人看的,不一定装入机器。
软件是用户与硬件之间的接口界面。
用户主要是通过软件与计算机进行交流。
软件是计算机系统设计的重要依据。
为了方便用户,为了使计算机系统具有较高的总体效用,在设计计算机系统时,必须通盘考虑软件与硬件的结合,以及用户的要求和软件的要求。
3.2计算机软件的开发和编写
软件开发是根据用户要求建造出软件系统或者系统中的软件部分的过程。
软件开发是一项包括需求捕捉,需求分析,设计,实现和测试的系统工程。
软件一般是用某种程序设计语言来实现的。
通常采用软件开发工具可以进行开发。
不同的软件一般都有对应的软件许可,软件的使用者必须在同意所使用软件的许可证的情况下才能够合法的使用软件。
从另一方面来讲,某种特定软件的许可条款也不能够与法律相抵触。
未经软件版权所有者许可的软件拷贝将会引发法律问题,一般来讲,购买和使用这些盗版软件也是违法的。
计算机软件都是用各种电脑语言(也叫程序设计语言)编写的。
最底层的叫机器语言,它由一些0和1组成,可以被某种电脑直接理解,但人就很难理解。
上面一层叫汇编语言,它只能由某种电脑的汇编器软件翻译成机器语言程序,才能执行。
人能够勉强理解汇编语言。
人常用的语言是更上一层的高级语言,比如C, Java, Fortran, BASIC。
这些语言编写的程序一般都能在多种电脑上运行,但必须先由一个叫作编译器或者是解释器的软件将高级语言程序翻译成特定的机器语言程序。
编写计算机软件的人员叫程序设计员、程序员、编程人员。
他们当中的高手有时也自称为黑客。
由于机器语言程序是由一些0和1组成的,它又被称为二进制代码。
汇编语言和高级语言程序也被称为源码。
在实际工作中,一般来讲,编程人员必须要有源码才能理解和修改一个程序。
很多软件厂家只出售二进制代码。
近年来,国际上开始流行一种趋势,即将软件的源码公开,供全世界的编程人员共享。
这叫“开放源码运动”。
4程序设计与算法
4.1什么是程序
程序可以认为是一种行动设计方案或者工作流程。
在日常生活中,我们做一件事情通常是按时间顺序应先做什么后做什么,做一件繁琐、复杂的事情,需要进行一系列的具体工作,这些按一定的顺序安排的工作即操作程序,就是程序。
对于一个计算机程序主要涉及以下两部分的内容:
①数据的描述:即各种变量的定义,也成数据描述。
②数据的处理:即对变量的操作,这些操作按解决问题的要求有一定的先后顺序和规则,也称作求解算法。
因此,计算机程序可以用著名计算机科学家沃思提出的经典公式来表示:
算法 + 数据结构 = 算法
而对于程序设计语言来讲,它是用于书写计算机程序的语言。
语言的基础是一组记号和一组规则。
根据规则由记号构成的记号串的总体就是语言。
在程序设计语言中,这些记号串就是程序。
程序设计语言有3个方面的因素,即语法、语义和语用。
语法表示程序的结构或形式,亦即表示构成语言的各个记号之间的组合规律,但不涉及这些记号的特定含义,也不涉及使用者。
语义表示程序的含义,亦即表示按照各种方法所表示的各个记号的特定含义,但不涉及使用者。
语用表示程序与使用者的关系。
4.2算法
4.2.1算法的概念
计算机是一种按照程序,高速、自动地进行计算的机器。
用计算机解题时,任何答案的获得都是按指定顺序执行一系列指令的结果。
因此,用计算机解题前,
需要将解题方法转换成一系列具体的、在计算机上可执行的步骤,这些步骤能清楚地反映解题方法一步步“怎样做”的过程,这个过程就是通常所说的算法。
“算法”(algorithm)一词是从9世纪阿拉伯数学家花拉兹(al-Khowwarizmi)的名字派生的。
他一生发现了许多求解算术问题的方法,并写了一本叫作《合并与回代》(aljabr w’almuguabalah)的书。
合并与回代这两个词是指解方程时所用的两个主要过程。
这本书后来翻译成了拉丁文,书名被简化成现在人们所熟悉的“代数学”(algebra)。
4.2.2 算法的表示
可以用多种不同的方法来描述一个算法,流程图(flowchart)是一种比较直观易用的、用图形来描述算法的方法。
被普遍使用的《信息处理用流程图符号标准》是由美国国家标准化学会(ANSI)制定的,这套标准中最基本、最常用的成分有:
①处理框(矩形框):框中指出要处理的内容,该框有一个入口和一个出口。
②判断框(菱形框):用来表示分支情况,菱形框的四个顶点中,通常用上面的顶点表示入口,视需要用其余两个顶点来表示出口。
③连接框(圆形框):用于连接因画不下而断开的流程线。
④流程线(有向线段):指出流程控制方向,即,动作的次序。
⑤开始、结束符(椭圆框):用来表示算法的开始和结束。
一个算法只能有一个开始处,但可以有多个结束处。
一般常用的还有平行四边形表示输入、输出框,这里都用矩形框替代了。
4.3计算机程序的编写
编写程序的一般步骤:
(1)分析问题,(2)算法描述和程序设计,(3)编辑程序代码并编译和连接,(4)调试检测程序,(5)编写程序文档。
在处理过程中的每个步骤都是很重要的。
前两个步骤做好了,在后面的步骤中就会花费较少的时间和精力,少走弯路。
计算机程序用到的主要程序结构有三种,分别是:顺序结构、选择结构和循环结构。
按照这三个基本的结构,按照一定的思路顺序就能变换出不同的程序。
4.4程序语言的简介
4.4.1语言简介
目前通用的编程语言有两种形式汇编语言和高级语言。
汇编语言的实质和机器语言是相同的,都是直接对硬件操作,只不过指令采用了英文缩写的标识符,更容易识别和记忆。
它同样需要编程者将每一步具体的操作用命令的形式写出来。
汇编程序通常由三部分组成指令、伪指令和宏指令。
汇编程序的每一句指令只能对应实际操作过程中的一个很细微的动作,例如移动、自增,因此汇编源程序一般比较冗长、复杂、容易出错,而且使用汇编语言编程需要有更多的计算机专业知识,但汇编语言的优点也是显而易见的,用汇编
语言所能完成的操作不是一般高级语言所能实现的,而且源程序经汇编生成的可执行文件不仅比较小,而且执行速度很快。
4.4.2程序语言的应用
高级语言是目前绝大多数编程者的选择,与汇编语言相比,它不但将许多相关的机器指令合成为单条指令,并且去掉了与具体操作有关但与完成工作无关的细节,例如使用堆栈、寄存器等,这样就大大简化了程序中的指令。
同时,由于省略了很多细节,编程者也就不需要有太多的专业知识。
高级语言主要是相对于汇编语言而言,它并不是特指某一种具体的语言,而是包括了很多编程语言,如目前流行的vb、vc、foxpro、delphi等,这些语言的语法、命令格式都各不相同。
高级语言所编制的程序不能直接被计算机识别,必须经过转换才能被执行,按转换方式可将它们分为两类解释类执行方式类似于我们日常生活中的同声翻译”,应用程序源代码一边由相应语言的解释器翻译”成目标代码(机器语言),一边执行,因此效率比较低,而且不能生成可独立执行的可执行文件,应用程序不能脱离其解释器,但这种方式比较灵活,可以动态地调整、修改应用程序。
编译类编译是指在应用源程序执行之前,就将程序源代码翻译”成目标代码(机器语言),因此其目标程序可以脱离其语言环境独立执行,使用比较方便、效率较高。
但应用程序一旦需要修改,必须先修改源代码,再重新编译生成新的目标文件(* .obj)才能执行,只有目标文件而没有源代码,修改很不方便。
现在大多数的编程语言都是编译型的,例如visual c++、visual foxpro、delphi 等。
参考文献:
【1】崔俊凯,《计算机软件基础》,机械工业出版社,2007年09月
【2】南志红,《算法与程序设计》,中国物质出版社,2002年
【3】罗克露,俸志刚,《计算机组成原理》,电子工业出版社,2010年02月
【4】殷士勇,《计算机操作系统》,清华大学出版社,2010年04月。