1、第1章绪论,2022年7月7日星期四,2,主要内容,1.1 计算机的产生1.2 计算机的发展1.3 计算机的主要指标1.4 计算机的特点和分类1.5 计算机的应用领域1.6 计算机科学与技术,2022年7月7日星期四,3,本章知识结构:,2022年7月7日星期四,4,学习目标:,了解计算机发展过程和发展趋势;了解计算机学科的体系和方法论;掌握计算机的主要技术指标;理解计算机的特点与分类。,1.1 绪论,1.1.1 图灵机模型1.1.2 第一台计算机1.1.3 冯诺依曼机模式,2022年7月7日星期四,6,1.1 计算机的产生,推动计算机发展的最重要原因是人类社会的需求。随着现代社会和科学技术的
2、发展,对新型的计算工具提出了更为强烈的需求。在计算机发展史中,图灵机模型、第一台计算机和冯诺依曼机模式是计算机产生过程中重要的三个事件。,2022年7月7日星期四,7,1.1.1 图灵机模型,1936年,英国剑桥大学著名数学家图灵在研究解决数学的一个基础理论问题时,发表了著名的“理想计算机”的论文。在该文中提出了现代通用数字计算机的数学模型。这种理论机器被称为图灵机。图灵分析和证明了这种图灵机可达到的功能。在理论上,图灵机的功能和现代计算机的功能基本类似。在随后的几十年时间里,图灵机成为计算机科学家、数学家、电子工程师研制实际计算机时,视其为在功能方面要达到的目标。另外,图灵在分析和证明图灵机
3、功能时所使用的形式化证明方法,也为计算机科学奠定了理论基础。,2022年7月7日星期四,8,1.1.2 第一台计算机,1946年2月,世界上第一台电子数字计算机ENIAC(Electronic Numerical Integrator AndComputer),即“电子数字积分式计算机”,在美国宾西法尼亚大学莫尔学院研制成功。ENIAC是二次大战时应美国军方快速计算导弹弹道的需求研制的,但它正式完工时已是1945年年底。ENIAC主要由电子管和继电器组成,计算速度为5千次秒,这样的计算速度比当时的计算工具有了很大的提高。 在此以前,对新的计算工具研制的主流是机械式实现方法,ENIAC的出现,引
4、导众多科学家和工程师把自己的注意力重点转向了电子实现方法,这为现代电子计算机的出现奠定了基础。,2022年7月7日星期四,9,1.1.3 冯诺依曼机模式,冯诺依曼出生于匈牙利,以后移居美国,成为普林斯特大学的数学教授。在J普雷斯泊埃克特与约翰冯。诺依曼的一次偶然会面中,他们讨论了ENIAC的工作原理和操作中的问题。冯诺依曼经过认真思考,提出了一个全新的电子计算机设计方案。这个方案的核心是存储程序方法。并且,冯诺依曼和宾夕法尼亚大学莫尔学院合作,于1952年按照这种方案设计完成了取名为EDVAC(电子离散变量自动计算机的英文缩写)的电子计算机。冯诺依曼提出的存储程序方法,就是设计一个包括存储部件
5、和处理部件的机器,程序存储在存储部件中,处理部件按照存储的程序有序地执行。存储程序方法是计算机发展的一个重要里程碑,现代计算机都是采用存储程序方法来实现自动计算的。通常把采用0、1符号编码方法和存储程序方法设计的计算机称为冯诺依曼计算机。把具有冯诺依曼计算机的特征简称为冯诺依曼机特征。,2022年7月7日星期四,10,1.2 计算机的发展,1.2.1 计算机的发展简史1.2.2 计算机的发展趋势,2022年7月7日星期四,11,1.2 计算机的发展,历史是一面镜子,学习它,将给你新的启迪。通过计算机发展史的学习,可以了解到计算机的强大生命力,以及人类对其寄予的厚望。,2022年7月7日星期四,
6、12,1.2.1 计算机发展简史,从第一台电子数字计算机诞生至今已有六十多年历史,发展速度是突飞猛进,给人类社会带来巨大的变化。计算机的发展经历了4代发展历程,每一代计算机的变革在技术上都是一次新的突破,在性能上都是一次质的飞跃。根据制造电子计算机采用的物理器件的不同,可以将计算机的发展过程分成如下几个阶段。,2022年7月7日星期四,13,1第一代计算机(1946年一1957年),第一代计算机的硬件主要采用电子管,一个电子管的体积和成人一个指头的体积近似,而一台计算机需要许多许多的电子管,所以这时的计算机体积非常庞大、价格也很高,运算速度每秒仅几千次。使用机器语言与符号语言编制程序。计算机只
7、能在少数尖端领域中应用,主要用于军事和科学计算。虽然第一代计算机与今天的计算机无法相比,但是它的诞生奠定了计算机发展的基础,对以后计算机的发展产生了深远影响。,2022年7月7日星期四,14,2第二代计算机(1958年一1964年),第二代计算机的硬件主要采用晶体管,外设采用磁盘、磁带,运算速度每秒几十万次。晶体管的体积较电子管的体积小,因此,晶体管计算机的体积较电子管计算机的体积小了很多。体积的缩小及相关技术的发展,带来了计算机运算速度的提高,存储容量的增大,功耗的降低以及可靠性的提高。晶体管是用半导体材料制造的,半导体材料便于控制并且功耗很低,集成度的提高有很大的发展空间,因此,这一时代为
8、未来计算机的迅速发展铺平了道路。在软件方面提出了操作系统的概念,开始使用FORTRAN,COBOL,ALGOL等高级程序语言,第二代计算机不仅用于科学计算,还用于数据处理和事务处理,并逐渐应用于工业控制领域。,2022年7月7日星期四,15,3第三代计算机(1965年一1971年),第三代计算机的硬件主要采用中、小规模集成电路,用半导体存储器代替了磁心存储器。运算速度可达每秒几十万次到几百万次。集成电路是把若干个元件集成在一个指关节大小的半导体基片上,并进行封装,具有一定功能的电子电路。开始时,集成电路的集成度比较低,称为小规模集成电路。随后集成电路的集成度提高了很多,称为中规模集成电路。在这
9、个时期,计算机系统软件也有了很大发展,出现了操作系统和会话式语言以及结构化程序设计的方法。计算机向标准化、多样化和通用化方向发展,并开始应用于各个领域。,2022年7月7日星期四,16,4第四代计算机(1972年至今),第四代计算机的硬件主要采用大规模与超大规模集成电路。单就集成度来说,这一时代和第3代相比,除集成度进一步提高外,没有太大的差别。但是,由于大规模、超大规模集成电路技术的发展,可以把整个处理器制造在一个指关节大小的芯片上,因此计算机的体系结构和构成方式有了很大的发展。计算机的各种性能都得到了大幅度的提高,运算速度从每秒几百万次到亿万次以上。操作系统不断完善,计算机软件产业高度发展
10、,层出不穷,计算机不断进人人们生产、生活的各个方面。微型机的产生为计算机的普及奠定了基础,计算机的发展进人了以计算机网络为特征的时代。,2022年7月7日星期四,17,1.2.2 计算机的发展趋势,计算机的应用有力地推动了国民经济的发展和科学技术的进步,同时也对计算机技术提出了更高的要求,从而促进了计算机的进一步发展。以超大规模集成电路为基础,未来的计算机将向巨型化、微型化、网络化与智能化的方向发展。,2022年7月7日星期四,18,1.3 计算机的主要指标,评价计算机性能主要有下述基本技术指标。 1.3.1 主频 主频是计算机的主要指标之一,主频决定了计算机的运行速度,主频的单位是兆赫兹(M
11、HZ),例如Intel 8086为非5 MHZ,80286为8 MHZ,奔腾(Pentium)芯片已达到GHZ。,2022年7月7日星期四,19,1.3.2 字长,字长是指参与运算的数的二进制位数。字长标志着计算的精度,微型计算机的字长有8位、16位、32位等,Pentium芯片已达64位。运算精度与字长有关。字长越长,精度越高,当k位十进制数与k位二进制数相比较时,有如下关系: 10k=2c 两边取对数后,有下式: C/K=ln10/ln2=3.3 上式说明要保持k位十进制数的精度,至少要3.3倍c位二进制数位数。,2022年7月7日星期四,20,1.3 计算机的主要指标,1.3.3 存储容
12、量以字为单位的计算机可用字数乘以字长来表示存储容量,例如409616表示有4096个单元,每个单元字长为16位。1.3.4 运算速度计算机对执行不同的操作所需的时间可能不同,因而计算速度存在不同的计算方法。现在通常采用下述两种方法:指明加减、乘、除各需要多少时间;给出每秒执行的机器指令条数。,2022年7月7日星期四,21,1.3 计算机的主要指标,1.3.5 外围设备配置允许配置外围设备的最大数量和输入输出处理能力等。 1.3.6 指令系统的功能计算机的指令系统功能强大与否,也是计算机的一个重要指标。此外,系统软件的配置情况、诊断能力和容错能力等也是衡量计算机性能的重要指标。,2022年7月
13、7日星期四,22,1.4 计算机的特点和分类,1.4.1 计算机的特点1.4.2 计算机的分类,2022年7月7日星期四,23,1.4 计算机的特点和分类,虽然计算机种类繁多,而且不同类型的计算机的功能和性能不同。但各种类型的计算机具有相同的特点,下面将介绍计算机的主要特点和分类。1.4.1 计算机的特点计算机的主要特点表现在以下几个方面。,2022年7月7日星期四,24,1运算速度快,运算速度是计算机的一个重要性能指标。计算机的运算速度通常用每秒钟执行定点加法的次数或平均每秒钟执行指令的条数来衡量。运算速度快是计算机的一个突出特点。计算机的运算速度已由早期的每秒几千次(如ENIAC机每秒钟仅
14、可完成5000次定点加法)发展到现在的最高可达每秒几千亿次乃至万亿次。计算机高速运算的能力极大地提高了工作效率,把人们从浩繁的脑力劳动中解放出来。过去用人工旷日持久才能完成的计算,而计算机在瞬间即可完成。对于许多数学问题,由于计算量太大,数学家们终其毕生也无法完成,使用计算机则可轻易地解决。,2022年7月7日星期四,25,2计算精度高,在科学研究和工程设计中,对计算的结果精度有很高的要求。一般的计算工具只能达到几位有效数字(如过去常用的四位数学用表、八位数学用表等),而计算机对数据的结果精度可达到十几位、几十位有效数字,根据需要甚至可达到任意的精度。,2022年7月7日星期四,26,3存储容
15、量大计算机的存储器可以存储大量数据,目前计算机的存储容量越来越大,已高达千兆数量级的容量。这是与传统计算工具的一个重要区别。4具有逻辑判断功能 计算机的运算器除了能够完成基本的算术运算外,还具有进行比较、判断等逻辑运算的功能。这种能力是计算机处理逻辑推理问题的前提。5自动化程度高,通用性强 由于计算机的工作方式是将程序和数据先存放在机内,工作时按程序规定的操作,一步一步地自动完成,一般无须人工干预,因而自动化程度高。计算机通用性的特点能能求解科学中各种类型的问题,并广泛地应用各个领域。,2022年7月7日星期四,27,1.4.2 计算机的分类,计算机的种类很多,分类如下。 1基于信息的形式和处
16、理方式的分类(1)数字计算机,是通过电信号的有无来表示数,并利用算术和逻辑运算法则进行计算的。它具有运算速度快、精度高、灵活性大和便于存储等优点,因此适合于科学计算、信息处理、实时控制和人工智能等应用。目前我们所用的计算机,一般都是数字计算机。(2)模拟计算机,是通过电压的大小来表示数,即通过电的物理变化过程来进行数值计算的。其优点是速度快,适合于解高阶的微分方程。在模拟计算和控制系统中应用较多,但通用性不强,信息不易存储,且计算机的精度受到了设备的限制。因此,不如数字计算机的应用普遍。,2022年7月7日星期四,28,1.4.2 计算机的分类,2基于用途的分类(1)专用计算机,它是为了解决一
17、些专门的问题而设计制造的。因此,它可以增强某些特定的功能,而忽略一些次要功能,使得专用计算机能够达到高速度、高效率地解决某些特定的问题。一般地,模拟计算机通常都是专用计算机。在军事控制系统中,广泛地使用了专用计算机。(2)通用计算机,具有功能多、配置全、用途广、通用性强等特点,我们通常所说的就是指通用计算机。,2022年7月7日星期四,29,1.4.2 计算机的分类,3按照计算机规模,并参考其运算速度、输入输出能力、存储能力等因素划分,通常将计算机分为巨型机、大型机、小型机、微型机等几类。(1)巨型机巨型机运算速度快,存储量大,结构复杂,价格昂贵,主要用于尖端科学研究领域,如:核武器、反导弹武
18、器、空间技术、大范围天气预报、石油勘探等领域。巨型机从技术上朝两个方向发展:一方面是开发高性能器件,缩短时钟周期,提高单机性能。目前巨型机的时钟周期大约在2ns7ns。另一方面是采用多处理器结构,提高整机性能,如CRAY-4就采用了64个处理器。研制巨型机是现代科学技术、尤其是国防尖端技术发展的需要。很多国家竟相投入巨资开发速度更快、性能更强的超级计算机。巨型机的研制水平、生产能力及其应用程度已成为衡量一个国家经济实力和科技水平的重要标志。,2022年7月7日星期四,30,1.4.2 计算机的分类,(2)大型机大型机规模次于巨型机,有比较完善的指令系统和丰富的外部设备,其特点表现在通用性强、具
19、有很强的综合处理能力、性能覆盖面广等,主要应用在计算机网络和大型计算中心中,如:公司、银行、政府部门、社会管理机构和制造厂家等,如IBM4300机等。在信息化社会里,随着信息资源的剧增,带来了信息通信、控制和管理等一系列问题,而这正是大型机的特长。未来将赋予大型机更多的使命,它将覆盖“企业”所有的应用领域,如大型事务处理、企业内部的信息管理与安全保护、大型科学与工程计算等。,2022年7月7日星期四,31,1.4.2 计算机的分类,(3)小型机小型机规模小、结构简单、设计试制周期短,便于及时采用先进工艺。这类机器由于可靠性高,对运行环境要求低,易于操作且便于维护,用户使用机器不必经过长期的专门
20、训练。因此小型机对广大用户具有吸引力,加速了计算机的推广普及。小型机应用范围广泛,如用在工业自动控制、大型分析仪器、测量仪器、医疗设备中的数据采集、分析计算等,也用作大型、巨型计算机系统的辅助机,并广泛运用于企业管理以及大学和研究所的科学计算等。,2022年7月7日星期四,32,1.4.2 计算机的分类,(4)微型机微型机采用微处理器、半导体存储器和输入输出接口等芯片组成,使得它较之小型机体积更小、价格更低、灵活性更好,可靠性更高,使用更加方便。目前许多微型机的性能已超过以前的大中型机。1971年,美国的Intel公司成功地在一个芯片上实现了中央处理器的功能,制成了世界上第一片4位微处理器MP
21、U(microprocessing unit),也称Intel 4004,并由它组成了第一台微型计算机MCS-4,由此揭开了微型计算机大普及的序幕。随后,许多公司,如Motorola、Zilog等也争相研制微处理器,相继推出了8位、16位、32位微处理器。芯片内的主频和集成度也在不断提高,芯片的集成度几乎每18个月就提高一倍,而由它们构成的微型机在功能上也不断完善。,2022年7月7日星期四,33,1.4.2 计算机的分类,美国IBM公司采用Intel微处理器芯片,自1981年推出IBM PC(personal computer)微型个人机后,又推出IBM PC XT、IBM PC 286、3
22、86等一系列微型计算机,由于其功能齐全、软件丰富、价格便宜,很快占据了微型计算机市场的主导地位。目前,在微机领域,IBM已不再独领风骚,许多国内外厂商都生产各种兼容的采用Pentium III、K7等先进CPU的个人计算机。,2022年7月7日星期四,34,1.4.2 计算机的分类,(5)网络计算机(NC,network computer)当计算机最初用于信息管理时,信息的存储和管理是分散的。这种方式的弱点是数据的共享程度低,数据的一致性难以保证,于是以数据库为标志的一代信息管理技术发展起来,同时以大容量磁盘为手段、以集中处理为特征的信息系统也发展起来。20世纪80年代PC机的兴起冲击了这种集
23、中处理的模式,而计算机网络的普及更加剧了这一变化。数据库技术也相当延伸到了分布式数据库,客户机服务器的应用模式也应运而生。当然,这不是面向分散处理的简单的回归,而是螺旋式的上升。随着Internet的迅猛发展,网络安全、软件维护与更新、多媒体应用等迫使计算机工作者再次权衡集中与分散的问题,如是否可以把需要共享和需要保持一致的数据相对集中地存放,把经常更新的软件比较集中地管理,而把用户端的功能仅限于用户界面与通信功能等问题,这就导致了网络计算机的出现。,2022年7月7日星期四,35,1.4.2 计算机的分类,从NC的角度来看,可以把整个网络看成是一个巨大的磁盘驱动器,而NC可以通过网络从服务器
24、上下载大多数乃至全部应用软件。这就表明PC的使用者,从此可以不再为PC机的软硬件配置和文件的保存煞费苦心。由于应用软件和文件都是存储在服务器而不是各自的PC机上,因此无论是数据还是应用软件,用户总能获得最新的版本。,2022年7月7日星期四,36,4基于工作模式分类,(1)服务器服务器是一种可供网络用户共享的高性能计算机、服务器一般具有大容量的存储设备和丰富的外部设备,其上运行网络操作系统,要求较高的运行速度,因此,很多服务器都配置了双CPU,服务器上的资源可供网络用户共享。,2022年7月7日星期四,37,1.4.2 计算机的分类,(2)工作站工作站是一种高档的微机系统。它具有较高的运算速度
25、,既具有大、中、小型机的多任务、多用户能力,又兼具微型机的操作便利和良好的人机界面。它可连接多种输入、输出设备,其最突出的特点是图形性能优越,具有很强的图形交互处理能力,因此在工程领域、特别是在计算机辅助设计(CAD)领域得到了广泛运用,可以说,工作站是专为工程师设计的机型。由于工作站出现的较晚,一般都带有网络接口,采用开放式系统结构,即公开计算机的软、硬件接口,并遵守国际工业界流行标准,以鼓励其他厂商、用户围绕工作站开发软、硬件产品。目前,多媒体等各种新技术已普遍集成到工作站中,其应用领域也已从最初的计算机辅助设计扩展到商业、金融、办公领域,并可作为网络服务器。,2022年7月7日星期四,3
26、8,1.5 计算机的应用领域,2022年7月7日星期四,39,1.5 计算机的应用领域,计算机用途广泛,归纳起来有以下几个方面。,2022年7月7日星期四,40,1.5 计算机的应用领域,1.5.1 数值计算数值计算即科学计算,是指应用计算机处理科学研究和工程技术中所遇到的数学计算。应用计算机进行科学计算,如卫星运行轨迹,水坝应力,气象预报,油田布局,潮汐规律等等,可为问题求解带来质的进展,使需要几百名专家几周、几月甚至几年才能完成的计算,只要几分钟就可得到正确结果。 1.5.2信息处理 信息处理是对原始数据进行收集、整理、分类、选择、存储、制表、检索、输出等的加工过程。信息处理是计算机应用的
27、一个重要方面,涉及的范围和内容十分广泛。如自动阅卷、图书检索、财务管理、生产管理、医疗诊断、编辑排版、情报分析等等。,2022年7月7日星期四,41,1.5 计算机的应用领域,1.5.3实时控制 实时控制是指及时搜集检测数据,按最佳值对事物进程的调节控制,如工业生产的自动控制。利用计算机进行实时控制,既可提高自动化水平,保证产品质量,也可降低成本,减轻劳动强度。1.5.4辅助设计 计算机辅助设计为设计工作自动化提供了广阔的前景。利用计算机的制图功能,实现各种工程的设计工作,称为计算机辅助设计。即CAD。如桥梁设计、船舶设计、飞机设计、集成电路设计、计算机设计、服装设计等等。当前,人们已经把计算
28、机辅助设计、辅助制造(CAM)和辅助测试(CAT)联系在一起,组成了设计、制造、测试的集成系统,形成了高度自动化的生产系统。,2022年7月7日星期四,42,1.5 计算机的应用领域,1.5.5智能模拟 智能模拟亦称人工智能。利用计算机模拟人类智力活动,以替代人类部分脑力劳动,这是一个很有发展前途的学科方向。第五代计算机的开发,将成为智能模拟研究成果的集中体现。具有一定学习、推理和联想能力的机器人的不断出现,正是智能模拟研究工作取得进展的标志。智能计算机作为人类智能的辅助工具,将被越来越多地应用到人类社会的各个领域。,2022年7月7日星期四,43,1.6 计算机科学与技术学科,1.6.1 当
29、前计算机学科特点1.6.2 学科体系1.6.3 方法论,2022年7月7日星期四,44,1.6 计算机科学与技术学科,计算机科学与技术学科简称为计算机学科。计算机学科是对描述和变换信号的算法过程,包括对其理论、分析、设计、效率、实现和应用等进行的系统研究。,2022年7月7日星期四,45,1.6.1 当前计算机学科特点,计算机学科呈现学科内涵宽泛化、分支相对独立化、社会需求多样化、专业规模巨大化和计算教育大众化的特点。,2022年7月7日星期四,46,1.6.1 当前计算机学科特点,(1) 内涵宽泛化当今社会趋向于信息化,计算机专业显现动态和泛化的特性。动态是指知识体膨胀快,内容更新快。泛化是
30、大众化。(2) 分支相对独立化计算机科学与技术专业分解为更多的、更具体的分支。教育部本科招生目录中的与计算机相关的专业有:计算机科学与技术、软件工程、计算机软件、网络工程、信息安全、电子商务、信息与计算科学、智能科学与技术等。(3) 社会需求多样化对计算机专业本科人才需求与信息化的目标和进程密切相关 ,学科的发展与应用的宽泛化导致人才需求的多样化,计算机市场很大程度上决定了计算机人才的层次结构、就业去向、能力与素质等方面的具体要求 。,2022年7月7日星期四,47,1.6.1 当前计算机学科特点,(4) 专业规模巨大化计算机科学与技术是信息化的核心技术,信息化建设需要大量人才,计算机专业是规
31、模最大的专业,高校专业点最多时为771个;学生人数最多达44万;计算机专业是情况最复杂的专业;学科涵盖面和应用面宽、应用层次跨度大;办学条件差异大;学生跨度最大。(5) 计算机教育大众化计算机科学与技术是研究计算机的设计与制造和利用计算机进行信息获取、表示、存储、处理、控制等的理论、原则、方法和技术的学科。计算机科学侧重研究对象、揭示规律,计算机技术侧重于研制计算机和研究使用计算机进行信息处理的方法与技术手段。科学是从特殊到一般的归纳过程,而技术是从一般到特殊的演绎过程。科学是技术的依据,技术是科学的体现。计算机科学与技术具有较强的理论与实践结合的特征。,2022年7月7日星期四,48,1.6
32、.2 学科体系,计算机科学与技术主要包括计算机科学、计算机工程、软件工程和信息技术等学科分支。1计算机科学科学具有规律性,计算机科学寻找是什么能够被有效地自动计算。从国家根本利益出发,计算机科学培养从事计算机基础理论与核心技术的研究的科学型人才。主要的知识领域包括14个,简述如下。,2022年7月7日星期四,49,1.6.2 学科体系,(1)离散结构(2)程序设计基础(3)算法与复杂性(4)计算机体系结构与组织(5)操作系统(6)网络及计算(7)程序设计语言(8)人机交互(9)图形学与可视化计算(10)智能系统(11)信息系统(12)社会和职业问题(13)软件工程,2022年7月7日星期四,5
33、0,1.6.2 学科体系,2计算机工程计算机工程研究如何构建计算机系统,如何低成本、高效地实现自动计算,即计算机的理论、设计、实现、开发和应用,培养从事开发满足国家需求的计算机工程产品的工程型人才。主要的知识领域包括18个,简述如下。,2022年7月7日星期四,51,(1)算法与复杂性(2)计算机体系结构与组织(3)计算机系统工程(4)电路与信号(5)数据库系统(6)数字逻辑(7)数字信号处理(8)电子学(9)嵌入式系统(10)人机交互(11)计算机网络(12)操作系统(13)程序设计基础(14)社会和职业问题(15)软件工程(16)时序逻辑电路(17)离散结构(18)概率与统计,2022年7
34、月7日星期四,52,1.6.2 学科体系,3软件工程 软件工程是指导计算机软件开发和维护的一门学科。它采用工程的概念、原理、技术和方法,把经过时间考验而证明是正确的管理技术和当前能够得到的最好的技术方法结合起来,用于开发与维护软件。软件工程研究实现服务方法,如何方便有效地利用系统进行计算,培养IT企业需要的、从事开发满足国家需求的软件产品的工程型人才。软件工程学科方向的10个知识结构如下:,2022年7月7日星期四,53,1.6.2 学科体系,(1)软件需求软件需求解决现实世界某个问题的软件问题的软件产品及对软件产品的约束。(2)软件设计设计是软件工程最核心的内容,包括软件体系结构设计和详细设
35、计两部分组成。(3)软件构造软件构造除了要符合设计功能外,还要控制和降低程序复杂性、预计变更、进行程序验证和制定软件构造标准。(4)软件测试软件测试是软件生存周期的重要部分,涉及测试标准、测试技术、测试度量测试过程。测试的目的是标识缺陷和问题,改善软件质量。测试围绕软件整个开发和维护过程。,2022年7月7日星期四,54,1.6.2 学科体系,(5)软件维护软件维护是软件生存周期的组成部分,软件产品交付后,需要改正软件缺陷,提高软件性能或其他属性,进而使软件产品适应新的环境。软件维护是软件进化的继续,支持系统地快速敏捷地满足新的要求。(6)软件配置管理为了系统地控制配置变更,维护软件生命周期中
36、一致性和可追踪性,必须按时管理软件的不同培植,主要包括配置管理过程的管理、软件配置鉴别、配置管理控制、配置管理状态记录、配置管理审计、软件发布和交付使用等。(7)软件工程管理运用管理活动,例如计划、协调、度量、监控、控制和报告等,确保软件开发和维护是系统的、规范的、可度量的。,2022年7月7日星期四,55,1.6.2 学科体系,(8)软件工程过程管理软件工程过程的目的是实现一个新的或更好的过程。软件工程过程关注软件过程定义、实现、评估、测量、管理、变更、改进、及过程和产品的度量。(9)工具与方法软件开发工具是以计算机为基础的,用于辅助软件生存周期过程。软件工程方法支持存在于整个软件工程活动,
37、是软件开发更为系统,主要方法包括:启发式方法、基于数学的形式化方法、原形方法等。(10)软件质量软件质量软件生存周期,涉及软件质量需求、软件质量度量、软件属性检测、软件质量管理和过程等。,2022年7月7日星期四,56,1.6.2 学科体系,4信息技术信息技术实现服务,研究如何方便有效地利用系统进行计算,培养企事业、国家IS的建设与运行(主流需求)的信息化技术应用型人才。,2022年7月7日星期四,57,1.6.3 方法论,计算机科学与技术方法论是计算领域认识和实践过程中的一般方法、性质、及内在联系和变化发展进行系统研究的学问,是认知计算学科的方法和工具,也是计算学科认识领域的理论体系。计算机
38、科学与技术方法论主要包括学科形态、基本概念和典型方法三方面的内容。,2022年7月7日星期四,58,1.6.3 方法论,1. 学科形态计算机科学与技术学科具有抽象、理论和设计三个形态。(1)抽象抽象是人类在认识复杂现象的过程中使用的最强有力的思维工具。在现实世界中的事物、状态或过程之间存在着某些共性。把这些共性集中,并去掉它们之间的差异和具体的物理描述,这就是抽象。抽象就是抽出事物的本质特性而忽略它们的细节。抽象的结果是概念、符号和模型。,2022年7月7日星期四,59,1.6.3 方法论,(2)理论计算机科学与技术学科中的理论与数学方法相类似,主要要素是定义、公理、定理、证明和结构的解释。通
39、过上述过程建立和理解计算机科学与技术学科的数学原理,具有构造性数学特征。(3)设计设计源于工程学,主要用于开发求解问题的系统和设备。主要要素为需求说明、规格说明、设计和实现方法、测试和分析等。,2022年7月7日星期四,60,1.6.3 方法论,2. 基本概念在计算机科学与技术学科中常用到基本概念总结为下述的12个基本概念。(1)绑定通过把一个抽象概念和附加特性相联系,使抽象概念具体化的过程。也就是说,具体问题的合理抽象描述和抽象描述对具体问题的恰当表示。(2)大问题的复杂性问题的复杂性随问题规模的增大而非线性增加,这是区分和选择各种方法的重要因素,并依此来度量不同的数据规模、问题空间和程序规
40、模。,2022年7月7日星期四,61,1.6.3 方法论,(3)概念与形式化模型对一个想法或问题形式化、特征化、可视化和思维的各种方法是实现计算机问题求解的最典型、最有效的途径。(4)一致性和完备性一致性和完备性包括正确性、鲁棒性和可靠性等相关概念,一致性和完备性是计算机系统所追求的目标。(5)效率在设计和实现系统时,要考虑空间、时间、人才和财力等资源的使用与度量。(6)演化演化是指变更的实施和它的意义。其中包括在变更时对整个系统的各层次所造成的影响,也包括面对变更的事实,抽象、技术和系统的适应性和充分性等。,2022年7月7日星期四,62,1.6.3 方法论,(7)抽象层次抽象层次是指在计算
41、中的抽象的本质和使用。在处理复杂事物、构造系统、隐藏细节和获取重复模式方面使用了抽象,通过不同层次的细节和指标的抽象来表达一个实体和系统。 (8)按空间排序按空间排序是指事件排序的空间概念。在计算机科学与技术中,存在局部性和近邻性的概念,这种概念主要表现在物理上的定位、组织方式上的定位和概念上的定位。例如在网络和存储中存在物理上的定位,在处理机进程、类型定义和有关操作中存在组织关系的定位,在软件的辖域、偶合和内聚中,存在概念定位。局部性和近邻性可以用按空间排序来表示。(9)按时间排序按时间排序是指事件排序的时间概念。包括在形式概念中把时间作为参数,把时间作为分布于空间的进程的同步手段,作为算法
42、执行的基本要素。,2022年7月7日星期四,63,1.6.3 方法论,(10)重用在新的情况和环境下,系统中各类实体、技术、概念等可被再次使用的能力。如软件库和硬件部件的重用等。(11)安全性安全性是指软件和硬件系统对合适的请求的响应,并抗拒不合适的、非预期的请求,以保护自己的能力;系统承受灾难事件的能力。(12)折衷与结论折衷是指为满足系统可实施性,对系统设计中的技术、方案所作出的一种合理的取舍。结论是折衷的结论,即选择一种方案代替另一种方案所产生的技术、经济、文化及其他方面的影响。折衷是存在于计算机科学与技术各层次的基本事实。例如在算法的研究中,要考虑空间和时间的折衷;对于互相矛盾的设计目
43、标,要考虑易用性和完备性、灵活性和简单性、低成本和高可靠性等方面所采取折衷等。,2022年7月7日星期四,64,1.6.3 方法论,3. 典型方法计算机科学与技术学科的典型方法主要包括数学方法和系统科学方法。(1)数学方法数学方法是指以数学为工具的科学研究方法,用数学语言表达事物的状态、关系和过程,并经过推导形成解释和判断。这种方法的基本特征是高度抽象、高度精确、具有普遍意义。数学语言是科学研究的简洁精确形式化语言。,2022年7月7日星期四,65,1.6.3 方法论,(2)系统科学方法系统科学方法是将研究的对象看成一个整体,并且使思维对应于适当的抽象级别。一般遵循整体性、动态性、最优化和模型
44、化原则。常用的系统科学方法有:系统分析法、黑箱法、功能模拟法、整体优化法和信息分析法等。,2022年7月7日星期四,66,小 结,本章主要介绍了计算机的发展史、计算机的主要指标、计算机的特点与应用、计算机科学与技术学科体系和方法论等方面的内容,通过本章的学习,可以对本学科的内容有基本的了解,为以后各章节的学习建立初步的基础。,2022年7月7日星期四,67,习题1,1计算机的发展经历了几个阶段?2计算机系统有哪些主要的指标?3计算机有那些特点?可以分为几类?4简述计算机学科的内容和特点。 5. 简述计算机学科方法论。,第2章计算机工作原理,2022年7月7日星期四,69,主要内容,2.1 计算
45、机中的数据的表示2.2 计算机的硬件组成2.3 计算机的基本工作过程,2022年7月7日星期四,70,本章知识结构:,2022年7月7日星期四,71,学习目标:,理解数制与转换、数在计算机中的表示;了解计算机的工作原理;掌握指令执行过程。程序存储是冯诺依曼机的最基本特征。为了实现计算机的自动计算,必须先根据问题的要求,选择算法和程序语言,设计出解决该问题的程序,并通过输入设备将该程序存入计算机的存储器中,然后计算机运行这个程序,就可获得计算结果。在计算机中,程序及数据是用二进制代码表示的,计算机只能存储并识别二进制代码表示的程序和数据,这是冯诺依曼机的另一个主要特征。,2.1 计算机中的数据的
46、表示,2.1.1 数制与转换2.1.2 数在计算机中的表示2.1.3 非数值数据的表示2.1.4 运算规则,2022年7月7日星期四,73,2.1 计算机中数据的表示,计算机的内部的信息分为两大类型,即控制信息和数据信息。控制信息是控制计算机进行一系列的操作的信息,数据信息是计算机加工处理的对象。指令是主要控制信息,数据信息包括数值数据和非数值数据。数值数据能表示大小,可以在数轴上找到确定的点。非数值数据没有确定的数值,例如字符、汉字、图形、图像、声音等,又称符号数据。数值数据包括整数和小数。通常有两种方法来确定小数点的位置:一种是规定小数点位置固定不变,称为定点数;另一种是小数点的位置不固定
47、,可以浮动,称为浮点数。一般来说,定点格式容许的数值范围有限,要求的硬件结构比较简单;浮点格式容许的数值范围很大,但要求的处理硬件比较复杂。在计算机中,通常是用定点数来表示整数和纯小数,分别称为定点整数和定点小数。对于既有整数部分、又有小数部分的数,一般用浮点数表示。,2022年7月7日星期四,74,2.1 计算机中数据的表示,在计算机内部,无论哪一种数据,都以二进制形式表示。它们的从属关系如下所示。,2022年7月7日星期四,75,2.1 计算机中数据的表示,在计算机中,数据信息是由不同位数的二进制数组成,为了表示位数的多少,引入了“位”、“字节”和“字”的概念。位(bit):位是指一位二进
48、制的代码,它只具有“0”、“1”两个状态。字节(byte):把8位二进制代码称为一个字节,它是表示二进制代码长度的一种单位。字(word):字由字节构成,一般为字节的整数倍。,2022年7月7日星期四,76,2.1.1 数制与转换,在十进制系统中,进位原则是逢十进一;在二进制系统中,进位原则是逢二进一;在八进制系统中,进位原则是逢八进一;在十六进制系统中,进位原则是逢十六进一。在十进制数中,每一项的数字都可以用09十个数字中的一个来表示;二进制数中每一项的数字都可以用0,1表示;八进制中可以使用07;十六进制中可使用09,A,B,C,D,E,F。为了比较二进制、八进制、十进制和十六进制系统,表
49、2-1给出了四种进位制的对应关系。,2022年7月7日星期四,77,2.1.1 数制与转换,2022年7月7日星期四,78,2.1.1 数制与转换,1、十进制数转换为二进制数(1)十进制整数转换为二进制整数将已知的十进制整数反复除2,余数为1,相应位为1;余数为0,相应位为0。从低位向高位逐次进行,一直到用2去除后,商为0时为止。例1: 将十进制数22转换成二进制数,2022年7月7日星期四,79,2.1.1 数制与转换,(2)十进制纯小数转换成二进制小数首先将十进制纯小数反复乘以2,每次乘2之后所得的数的整数部分若为1,则二进制小数的相应位也为1;如果整数部分为0,则相应位为0。从高位向低位
50、逐次进行,直到满足精度要求为止。,2022年7月7日星期四,80,2.1.1 数制与转换,2、二进制数转换为十进制数二进制数转换为十进制数的方法极为简单,只要将二进制数按位展开,并计算出结果,便可以得到相应的十进制数。,2022年7月7日星期四,81,2.1.1 数制与转换,3、非十进制数之间的相互转换 1位八进制数对应3位二进制数,而1位十六进制数对应4位二进制数。因此,二进制数与八进制数之间、二进制数与十六进制数之间的相互转换十分容易。(1)八进制数与二进制数的互换将每一位八进制数直接写成相应的3位二进制数即可。反之,二进制数转换成八进制数的方法是:以小数点为界,向左或向右将每3位二进制数
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100