为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

z1概述

2011-12-15 23页 pdf 401KB 20阅读

用户头像

is_104057

暂无简介

举报
z1概述 1 第 1 章 计算机系统概论 电子计算机的诞生是当代最卓越的科学技术成就之一,它的发明与应用标志着人类文明进 入了一个新的历史阶段。它的迅速发展成为了当今新技术革命浪潮中最活跃的因素,也成为 衡量世界各国现代化科学技术水平的重要标志。 本章对计算机的发展与应用、计算机特性、计算机的基本组成、基本的术语、计算机系 统的层次结构等内容简要介绍。作一重点分析计算机硬/软件系统组成与功能、计算机系统的 性能评价指标。使读者能从总体上对计算机的构成及各主要部件的功能有一个初步的了解, 并建立整体概念,为...
z1概述
1 第 1 章 计算机系统概论 电子计算机的诞生是当代最卓越的科学技术成就之一,它的发明与应用标志着人类文明进 入了一个新的历史阶段。它的迅速发展成为了当今新技术革命浪潮中最活跃的因素,也成为 衡量世界各国现代化科学技术水平的重要标志。 本章对计算机的发展与应用、计算机特性、计算机的基本组成、基本的术语、计算机系 统的层次结构等内容简要介绍。作一重点分析计算机硬/软件系统组成与功能、计算机系统的 性能评价指标。使读者能从总体上对计算机的构成及各主要部件的功能有一个初步的了解, 并建立整体概念,为后续知识的学习奠定基础。 1.1 计算机的发展与应用 计算机是一种不需要人工直接干预,能够按照事先存储的程序,自动、高速、准确地 对各种信息进行处理的电子设备。从数据表示来看,计算机可分为数字计算机和模拟计算机。 今天的计算机以数字计算机为主,本书的主要研究对象也是数字计算机。 1.1.1 国内、外计算机发展概况 1946 年 2 月世界上第一台电子数字计算机“埃尼阿克”(ENIAC)在美国宾夕法尼亚大学 诞生,它标志着科学技术的发展进入了新的时代——电子计算机时代。从第一台电子计算机 的诞生到现在的短短六十多年的时间里,按照所采用的微电子器件的发展水平,计算机的发 展已经历了四代。 (1)电子管计算机(1946-1958 年) 这一时期的计算机以电子管为基本电子器件。 存储器采用延迟线,存储容量小,只有几 千个存储单元。运算速度每秒约几千次至几万次。输入和输出的设备为穿孔卡片或穿孔带。 这一代计算机具有体积大、功耗高、可靠性差等特点。主要应用于科学计算,编程语言为汇 编语言。 (2)晶体管计算机(1958-1964 年) 第二代计算机的基本电子器件为晶体管。主存采用磁芯,存储容量增至 10 万存储单元以 上;磁鼓被用做辅助存储器。运算速度已达到每秒几万次至几十万次。相对于电子管计算机, 其体积和功耗均有所降低。应用领域从科学计算扩展到数据处理,开始使用 Fortran 和 Algol 等高级语言。 (3)集成电路计算机(1964-1978 年) 第三代计算机的基本电子器件普遍采用了集成电路。主存采用半导体存储器,而磁盘代 替磁鼓成为辅助存储器;主存和辅存容量显著增加;高速缓存和虚拟存储技术被引入存储系 统。运算速度已达每秒几十万次至几百万次。体积和功耗均显著减小,可靠性大大提高。在 此期间,出现了向大型和小型化两极发展的趋势,典型有 IBM 公司的 360(1964)、Digital Equipment(数字设备)公司的 PDP-11(1971 年)以及第一台向量计算机 CRAY-1(1974 年)。与此 同时,计算机品种开始出现多样化和系列化;微程序、流水线和并行性等技术也陆续被引入到 计算机中;软件技术与计算机外围设备发展迅速,应用领域不断扩大。 (4)超大规模集成电路计算机(1978 以后) 第四代计算机的基本电子器件普遍采用了超大规模集成电路。存储容量和速度进一步提 高,网络存储开始出现。运算速度从 MIPS(每秒 106 条指令)级提高到 GIPS(每秒 109 条指 令)级乃至 TIPS(每秒 1012 条指令)水平。超大规模集成电路技术的发展,进一步缩小了计 算机的体积和功耗,增强了计算机的功能。1980 年,采用 Intel 8086 系列芯片的个人电脑 IBM PC(PC: Person Computer)诞生;出现了精减指令系统计算机 RISC(典型代表是 1985 年推 出的 MIPS 机)和复杂指令系统计算机 CISC(典型代表是 1978 年推出的 SPARC)两个发展方向。 2 与此同时,多机并行处理与网络化也成为这一时代计算机的重要特征,大规模并行处理系统、 分布式系统、计算机网络的研究和实施进展迅速;系统软件的发展不仅实现了计算机运行的 自动化,而且正在向工程化和智能化迈进。 我国电子计算机的研究从 1953 年开始,到 1958 年研制出第一台 103 型通用数字电子计 算机,它属于第一代电子管计算机。60 多年来,我国已相继研制出多代新的计算机。从 1982 年开始,我国的计算机事业进入了新的发展时期,研制出每秒 1 亿次的巨型机——银河 I 型 机,中型机,32 位超级小型系列机,微型计算机、超级微型计算机、服务器都实现了批量生 产。现在已形成了自己的计算机工业体系,并具备相当的计算机硬件、软件和外部设备的生 产能力。1995 年 5 月,由中科院计算技术研究所研制的“曙光 1000”大规模并行处理机宣布 诞生。该机的峰值速度可达每秒 25 亿次单精度浮点运算,或每秒 20 亿次双精度浮点运算, 内存容量为 1000MB,结点机间总通信容量为每秒 4800MB。该机的研制成功,标志着我国已掌 握了大规模并行处理尖端技术,进入该高技术领域的世界先进行列。为加快我国经济信息化 的进程,国家组织实施了一系列重大信息工程并已经取得丰硕成果。目前,电子商务、电子 政务的实施正方兴未艾。计算机网络的应用已从机关、企业、学校普及到寻常百姓家,我国 网民的数量已跃居世界前列。计算机应用已渗透到我国的各行各业和千家万户。 1.1.2 摩尔定律 1965 年,英特尔公司创始人之一戈登.摩尔(Gordon Moore)在一篇论文里对集成电路上 可容纳的晶体管数目、性能和价格等发展趋势进行了预测,其主要内容可概括为:成集 电路上可容纳的晶体管数量每 18 个月翻一番,性能将提高一倍,而其价格将降低一半。这 就是著名的摩尔定律的核心思想。 作为迄今为止半导体发展史上意义最深远的定律,摩尔定律已被集成电路近 40 年的发展 历史准确无误地验证着。1971 年 Intel4004CPU 芯片上集成了 2300 个晶体管,至 2001 年 Intel Pentium4 芯片上已集成了 4200 万个晶体管,增长了 180 多倍。 虽然摩尔后来对 1965 年发表论文中晶体管数量的增长率进行了重新审定和修正, 而且近年来部分部件的发展已经开始偏离摩尔定律的预测,但这些都不能否定摩尔定律 的深远影响和巨大贡献。这里需要特别指出的是,摩尔定律并非数学、物理定律,而是 对发展趋势的一种分析预测,因此,无论是它的文字表述还是定量计算,都应当容许一 定的宽裕度。 目前,微处理器的制造已从微米级进化到纳米级,戈登.摩尔的预言仍然正确。虽然 摩尔定律从物理角度来说终归要结束,然而,摩尔定律的影响是非常深远的,它表现在: 1)单个芯片集成度提高后,其成本变化不大,因此总体成本明显下降; 2)高集成度的芯片中,电路间的距离更近,其连线更短,工作速度可以更高; 3)增加了芯片内部的连线,从而减少了外部连线,可靠性得以提高; 4)计算机变得更小,减少了电能的消耗,适应性更好。 1.1.3 计算机的发展趋势 随着超大规模集成电路、新型高速器件不断涌现,计算机产品的生命周期大大缩短,计 算机工业已成为当今世界发展最快的工业之一。20 世纪 90 年代,微型计算机已迈入 64 位的 新时代;RISC 出现并逐步成熟;随机存取存储器、光盘、磁盘阵列和高速缓冲存储(Cache)、 网络存储等信息存储技术以及计算机网络技术正以惊人的速度发展;大规模并行处理系统 (MPP)的处理速度已达到 TFLOPS 级(每秒 1012 条浮点指令);超立方体计算机、神经网络计 算机等高性能计算机正在加紧研究、试制之中。随着电子器件速度极限的逼近,人们又开始 了光计算机、生物计算机和量子计算机的研究,这些计算机的诞生将会使计算机的发展进入 一个全新时代。 3 在软件方面,20 世纪 40 年代是手工编程序时代,50 年代是高级语言时代,60 年代是操 作系统时代,70 年代是软件工程和数据库时代,80 年代是软件开发环境时代。而今,具有良 好图形用户界面的 32 位操作系统和各种网络操作系统得到广泛使用,版本不断更新。计算机 辅助工程(CAS)、面向对象的技术以及形形色色的诊断、测试、调试和开发工具如雨后春笋; 窗口软件、集成操作环境已相当成熟。软件在计算机系统中所占的比重越来越大,专门生产 软件的公司越来越多,软件产业已形成相对独立的专门产业。只需要人们给出设计思想和解 步骤,由计算机自动编程的时代已为期不远。 计算机外部设备的发展速度也异常迅速,垂直磁记录技术、磁盘阵列技术、激光存储技 术、激光印字机、高分辨率显示器、平面显示技术的研究和开发不断取得新成果。 可以预料,21 世纪将实现全球信息化。人们将通过信息高速公路查阅各地的报刊、资料; 点播各国的电视节目;召开电视会议;进行网上购物;开展基于网络的远程教学和远程医疗 等活动。 1.1.4 多核处理器 经过多年的发展,目前通用微处理器的主频已经突破了 4GHz,数据宽度也达到甚至超过 64位。在制造工艺方面也同样以惊人的速度在发展。英特尔已经推出了具有革命性技术的45nm 工艺系列产品 Penryn,根据摩尔定律可预测芯片上集成的晶体管数目将不断快速增长。如何 有效地利用这些晶体管开发出效能更高的处理器是目前国际上的研究热点。 多核通过在一个芯片上集成多个简单的处理器以充分利用这些晶体管资源,发挥其最大 的能效,采用多核技术具有下列优点: (1)当芯片的制造工艺达到 0.18 微米甚至更小时,线延迟已超过门延迟并成为制约集成 电路性的主要因素;目前处理器芯片已经采用了0.13微米的制造工艺,设计工作频率达到3GHz 以上。此时,采用分布式结构的多核处理器可减少全局信号线,从而克服线延迟对处理器性 能的影响; (2)按照 Pollack 规则,处理器性能的提升与其复杂性的平方根成正比,如果一个处理 器的硬件逻辑提高一倍,至多能提高性能 40%,而如果采用两个简单的处理器构成一个相同 硬件规模的双核处理器,则可以获得 70%~80%的性能提升,同时在面积上也同比缩小; (3)多核处理器通过关闭(或降频)一些处理器核等多层次低功耗调度技术,可以有效 地降低能耗; (4)多核处理器通过处理器 IP 核(Intellectual Property Core)的复用,可以极大降低设计 的成本。同时模块的验证成本也显著下降。 同时,多核处理器还能充分利用不同应用的指令级并行和线程级并行。具有较高线程级 并行性的应用如数据库等商业应用可以很好地利用这种结构来提高性能。多核处理器已经成 为处理器体系结构发展的必然。 目前,因特尔在 45nm 工艺条件下,在一个处理器中可支持 2、4、8 个核;其它处理器生 产厂家如 AMD 和 RMI 也都推出了多核处理器。不难看出,多核处理器是处理器发展的必然趋 势。无论是移动/嵌入式应用、桌面应用还是服务器应用,都将采用多核的架构。 1.1.5 嵌入式计算机 嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系 统对功能、可靠性、成本、体积、功耗等有严格要求的专用计算机系统(非 PC 系统)。它一般 由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户应用程序等四个部分组成,用 于实现对其他设备的控制、监视或管理。 嵌人式计算机不同于通用计算机,嵌入式计算机具有专用性和用户定制等基本特征。嵌入 式系统通常是面向用户、面向产品、面向特定应用,并与具体应用有机地结合在一起。 4 嵌入式系统的核心是嵌入式处理器。据不完全统计,目前全世界嵌入式处理器的种类已 达到 1000 余种,其中流行的体系结构有 30 多个系列。现在几乎每个半导体制造商都生产嵌 入式处理器。嵌入式微处理器的体系结构经历了从 CISC 到 RISC 和 Compact RISC 的转变;位 数由 4 位、8位、16 位、32 位到 64 位;寻址空间一般为 64KB~16MB,处理速度为 0.1MIPS~ 2000MIPS(Million Instructions Per Second:每秒百万条指令);常用的封装为 8~144 个引脚。目 前的嵌入式处理器可以分为嵌入式微处理器(Embedded Microprocessor Unit:EMPU)、嵌入 式微控制器(Embedded Microcontroller Unit:EMCU)、嵌入式 DSP 处理器(Embedded Digital Signal Processor:EDSP)和嵌入式片上系统(Embedded System on Chip:ESOC)4 类。 早期的嵌入式系统很少用操作系统,从 20 世纪 80 年代开始,嵌入式操作系统得到了快速 发展,目前较常见的几种商用嵌入式操作系统有 VxWorks、pSOS、μC/OS-II 和 Windows CE 等。 嵌入式系统在制造工业、过程控制、通信、仪器、仪表、汽车、船舶、航空、航天、军 事装备等方面有着非常广泛的应用。在日常生活中,嵌入式系统也有非常广泛的应用,如 PDA、 机顶盒、IP 电话、洗衣机、微波炉等消费类电子中都包含有嵌入式系统的应用。 1.1.6 计算机的应用 计算机的应用几乎涉及到人类社会的所有领域;从军事部门到民用部门;从尖端科学到消 费类电子;从厂矿企业到个人家庭;无处不出现计算机的踪迹。计算机的主要应用表现在: 1)科学技术计算 计算机的应用最早源于科学计算。在科学计算和工程设计领域使用计算机不仅能减轻计 算工作量,而且还能解决很多复杂的问题。例如,宇宙飞船运动轨迹和气动干扰问题的计算; 人造卫星和洲际导弹发射后,正确制导入轨计算;高能物理中热核反应控制条件及能量计算; 天文测量和天气预报的计算等等。现代工程中,电站、桥梁、水坝、隧道等最佳的设计 和选择也离不开计算机。 2)算数据处理 数据处理是指对数据进行一系列的操作。例如,对数据进行加工、分析、传送、存储及 检测等。数据处理已渗透在日常工作、生活的每一个方面。如金融数字的统计、核算;财务 帐务的处理;各种文献资料及书刊的保存、查阅、整理;仓库管理、人事管理、统计报表等 数据处理;铁路、机场、港口的交通调度等。 随着网络技术的发展,数据处理已从单功能转向多功能、多层次。管理信息系统(MIS) 逐渐成熟,它把数据处理与经济管理模型的优化计算和仿真结合起来,具有决策、控制和预 测功能。管理信息系统在引入人工智能之后就形成决策支持系统(Decision Support System: DSS)。 3) 计算机控制 过程控制就是利用计算机对连续的工业生产过程进行控制,被控对象可以是一台机床、 一个窑炉、一条生产线、一个车间,甚至整个工厂。计算机在工业生产过程的使用,不仅减 轻工人的劳动强度,而且还能大幅提高产品的质量和生产效率,更为重要的是,一些靠人很 难进行的生产过程(如有毒或其他对人体健康有害的生产环境、地下或高空作业等)使用计算 机后变得非常容易。 目前用于过程控制的有单片微机、可编程序控制器(Programmable Logic Controller :PLC)、 微机测控系统和分散式计算机测控系统。我国有许多企业在生产过程中都引人了计算机控制 技术。国家、地方和企业在利用微电子技术特别是计算机技术改造传统产业方面投入了大量 资金,正在逐步取得成效。 此外,计算机控制技术在军事、航空、航天、核能利用等领域的 应用已是“历史悠久”,硕果累累。 4) 计算机辅助技术 计算机辅助技术包含计算机辅助设计(Computer Aided Design:CAD),计算机辅助制造 5 (Computer Aided Manufacturing:CAM),计算机辅助测试(Computer Assisted Testing:CAT), 计算机辅助教学(Computer Assisted Instructlon:CAI)等。 计算机辅助设计就是利用计算机来帮助设计人员进行设计。其中有机械 CAD、建筑 CAD、 服装 CAD 以及电子电路 CAD(又称电子设计自动化 EDA)等。使用这种技术能提高设计工作的 自动化程度,节省人力和时间。现在,计算机都采用这种技术来完成自身的体系结构模拟、 逻辑模拟、大规模及超大规模电路设计以及印制电路板的自动布线等工作,使新型计算机的 设计周期大大缩短,设计质量大大提高。 计算机辅助制造是利用计算机进行生产设备的管理、控制和操作的过程。如工厂在制造 产品的过程中,用计算机来控制机器的运行,处理制造中所需的数据,控制和处理的流 动以及对产品进行测试和检验等。 CAM 发展到现在,已形成了一种称为 CIM 的技术。(Computer Integrated Manufacturing: CIM)就是计算机集成制造。用这种技术组成的系统称为计算机集成 制造系统(CIMS)。它是将企业的全部生产活动所需的各种自动化系统有机地集成起来,以获 得高效益、高柔性的智能生产系统,是 CAD、CAM 和 MIS 通过计算机网络的集成。采用 CIMS 将给企业带来生产力的飞跃和生产方式的根本变革。 计算机辅助测试是利用计算机帮助人们进行各种测试工作。如大规模特别是超大规模集 成电路因为过于复杂,需要测试的参数又很多,若用人工测试,一是不准确,二是速度太慢。 采用 CAT 系统则可快速自动完成各种参数的测试和报告结果,还可分类和筛选产品。 计算机辅助教学是利用计算机帮助教师和学生进行课程内容的教学和测验。学生可以通 过人机对话的方式学习有关章节的内容并回答计算机提出的问题,计算机可以判断学生的回 答是否正确。目前,CAI 软件已大量涌现。从小学、中学到大学的许多课程都有成熟的 CAI 软 件产品。有些软件图文并茂,提高了学生的学习积极性。CAI 与多媒体技术相结合组成多媒体 计算机辅助教学系统,在这个系统中图、文、声、像俱全,在实现远程教学和网络教学中发 挥重要作用。 5)计算机通信 计算机通信是计算机技术与通信技术相结合的产物,其典型的代表是计算机网络。随着 互联网和多媒体的技术的迅速普及,网上会议,远程医疗,网上银行,电子商务,网络会计 等基于计算机通信的远程处活动已经或将要获得普及。 6)人工智能 人工智能(Artificial Intelligence:AI)是指利用计算机模拟人类的智能活动,使计算机具有 判断,理解,学习,问题求解的能力。目前人工智能的研究已取得一些成果,如在医疗诊断, 文字翻译,密码分析,智能机器人等领域的应用都有突破。 随着的不断发展和普及,计算机的应用领域将越来越广泛,除上述所列七方面的应用外,计 算机的的应用领域还有很多,这里不再一一列举。 1.2 计算机系统的组成 一台完整的计算机应包括硬件和软件两部分。硬件与软件的结合,才能使计算机正常运 行并发挥作用。因此,对计算机的理解不能仅局限于硬件部分,应该把它看作一个包含软件 系统与硬件系统的完整系统。 1.2.1 计算机硬件系统 计算机硬件系统(Hardware system)是指构成计算机系统的电子线路和电子元件等物理 设备的总称。硬件是构成计算机的物质基础,是计算机系统的核心。 20 世纪 40 年代中期,美国科学家冯·诺依曼(John Von Neumann)大胆地提出了采用二 进制作为数字计算机数制基础的理论。同时,他还提出了计算机组成结构、程序存储和程序 设计等思想。所谓“存储程序”,就是人们将解题的步骤编成程序,然后把程序存放到计算机 6 的存储器中。计算机的控制器根据程序控制全机执行程序,从而完成该项任务。后者称为“程 序控制”。因此,存储程序和程序控制就是冯·诺依曼型计算机的主要设计思想。人们把冯·诺 依曼的这些理论总结为冯·诺依曼体系结构。 半个多世纪以来,计算机已发展为一个庞大的家族,在这个家族中有巨型机、大型机、 中型机、小型机和微型机等,每种规模的计算机又有很多机种和型号。尽管它们在硬件配置 上不同,在性能、结构、应用等方面存在着较大的差异,但它们的基本组成结构却是相同的。 现代计算机仍然以冯诺依曼体系结构为主流结构。 按照冯·诺依曼的设计思想,计算机的硬件系统包含运算器、控制器、存储器(此节指 主存储器)、输入设备和输出设备等五大部件。运算器与控制器又合称为中央处理器(Central Processing Unit:CPU);CPU 和存储器通常称为主机;输入设备和输出设备统称输入输出设备, 有时也称外部设备,因为它们位于主机的外部。图 1.1 给出了计算机硬件系统中五大部件的 相互关系。 图 1.1 计算机硬件系统基本框图 下面将对图 1.1 中各部分的功能进行简要分析。 1. 存储器 存储器的主要功能是存放程序和数据。程序是计算机操作的依据,数据是计算机操作的 对象。不管是程序还是数据,在存储器中都是用二进制的形式表示,统称为信息。为实现自 动计算,这些信息必须预先放在主存储器中才能被 CPU 读取。 目前,计算机的主存储器都是半导体存储器。存储体由许多存储单元组成,信息按单元 存放。存储单元按某种顺序编号,每个存储单元对应一个编号,称为单元地址,用二进制编 码表示。存储单元地址与存储在其中的信息—一对应。每个存储单元的单元地址只有一个, 固定不变,而存储在其中的信息则可改变,图 1.2 给出了一个存储器的组织框图。 图 1.2 存储器组成框图 000 输入设备 输出设备 主 存 运算器 控制器 外 设 CPU 主 机 存储单元 地 址 译 码 存储单元 存储单元 存储体单元地址 读写控制 读/写命令 001 111 … … 地址总线 数据总线 辅助存储器 (磁盘、外接存储) 存储器 数据 数据 指令流 控制流 控制流 7 向存储单元存入或从存储单元取出信息,都称为访问存储器。访问存储器时,先由地址 译码器将送来的单元地址进行译码,找到相应的存储单元;再由读写控制电路确定访问存储 器的方式,即取出(读)或存入(写);然后,按规定的方式具体完成取出或存入的操作。 与存储器有关的部件还有地址总线与数据总线。它们分别为访问存储器传递地址信息和 数据信息。地址总线是单向的,数据总线是双向的。有关存储器的讨论详见第四章。 2. 运算器 运算器是一种用于信息加工的部件,又称执行部件。它对数据进行算术运算和逻辑运算。 算术运算是按照算术规则进行的运算,如加、减、乘、除及它们的复合运算。逻辑运算一般 泛指非算术性运算。如比较、移位、逻辑加、逻辑乘、逻辑取反及“异或”操作等。 运算器通常由算术逻辑部件(ALU)和一系列 寄存器组成。图 1.3 给出了一个最简单的运算器 示意图。ALU 是具体完成算术与逻辑运算的部件; 寄存器用于存放运算操作数;累加器除存放运算操 作数外,在连续运算中,还用于存放中间结果和最 后结果,累加器由此而得名。寄存器与累加器中的原始数 据既可从存储器取得,也可以来自其它寄存器;累加器的 最后结果既可存放到存储器中,也可送入其它寄存器。 图 1.3 运算器示意图 运算器一次运算处理的二进制位数称为字长。它是计算机的重要性能指标。常用的计算 机字长有 8 位、16 位、32 位及 64 位。寄存器、累加器及存储单元的长度一般与 ALU 的字长 相等或者是它的整数倍。现代计算机的运算器具有多个寄存器,如 8 个、16 个、32 个,多的 达到上百个,这些寄存器统称被称为通用寄存器组。设置通用寄存器组可以减少访问存储器 的次数,提高运算器的速度。有关运算器的详细内容将在第三章中叙述。 3. 控制器 控制器是全机的指挥中心,它使计算机各部件自动协调地工作。控制器工作的实质就是 解释程序,它每次从存储器读取一条指令,经过分析译码,产生一串操作命令,发向各个部 件,控制各部件动作,使整个机器连续地、有条不紊地运行,以实现指令和程序的功能。 计算机中有两股信息在流动:一股是控制信息,即操作命令,它分散流向各个部件;一 股是数据信息,它受控制信息的控制,从一个部件流向另一个部件,在流动的过程被相应的 部件加工处理。 控制信息的发源地是控制器。控制器产生控制 信息的依据来自以下三个方面,如图 1.4 所示。一是 指令,它存放在指令寄存器中,是计算机操作的主 要依据。二是各部件的状态触发器,用于存放反映 机器运行状态的有关信息。机器在运行过程中,根 据各部件的即时状态,决定下一步操作是按顺序执 行下一条指令,还是转移执行其它指令,或者转向 其它操作。三是时序电路,它能产生各种时序信号, 使控制器的操作命令被有序地发送出去,以保证整 个机器协调地工作,不至于造成操作命令间的冲突 或先后次序上的错误。关于指令系统和控制器的详细 知识将分别在第五章和第六章讨论。 ALU 寄存器 累加器 指 令 寄存器 状 态 触发器 时 序 电 路 控制 信号 产生 逻辑 … … 操 作 命 令 图 1.4 控制器结构简图 8 4.输入设备 输入设备就是将信息输入到计算机的外部设备,它将人们熟悉的信息形式变换成计算机 能接收并识别的信息形式。输入的信息形式有数字、字母、符号、文字、图形、图像、声音 等多种形式。送入计算机的只有一种形式,就是二进制数据。一般的输入设备用于原始数据 和程序的输入。 常用的输入设备有键盘、鼠标、扫描仪及模/数转换器等。模/数转换器(A/D 转换器) 能将模拟量转换成数字量。模拟量是指用连续物理量表示的数据,如电流、电阻、压力、速 度及角度等。 输入设备与主机之间通过接口连接。设置接口主要有以下几个方面的原因。一是输入设 备大多数是机电设备,传送数据的速度远远低于主机,因而需用接口作数据缓冲。二是输入 设备表示的信息格式与主机不同,例如,由键盘的按键输入的字母、数字,先由键盘接口转 换成 8 位二进制码(ASCII 码),再拼接成主机认可的字长送入主机。因此,需用接口进行信 息格式的变换。三是接口还可以向主机报告设备运行的状态,传达主机的命令等。 5. 输出设备 输出设备就是将计算机运算结果转换成人们或其它设备能接收和识别形式的设备,如字 符、文字、图形、图像、声音等。输出设备与输入设备一样,需要通过接口与主机相联系。 常用的输出设备有:打印机、显示器、数/模(D/A)转换器等。 外存储器也是计算机中重要的外部设备,它既可以作为输入设备,也可以作为输出设备, 此外,它还有存储信息的功能,因此,它常常作为辅助存储器使用。人们常将暂时还未使用 或等待使用的程序和数据存放在其中。计算机的存储管理软件将它与主存储器一起统一管理, 作为主存储器的补充。常见的外存储设备有磁盘、光盘与磁带机。它们与输入输出设备一样, 也要通过接口与主机相联。 总之,计算机硬件系统是运行程序的基本组成部分,人们通过输入设备将程序与数据存 入存储器,运行时,控制器从存储器中逐条取出指令,将其解释成控制命令,去控制各部件 的动作。数据在运算器中加工处理,处理后的结果通过输出设备输出。 关于输出/输入系统和输入/输出设备的详细内容将在第九章详细讨论。 6.系统互连 前面已经介绍了构成计算机系统各部件的基本功能。为了构成一个完整的计算机硬件系 统,上述各部件还需要有组织地以某种方式连接起来,实现数据信息和控制信息在不同部件 之间的流动和对数据信息的加工处理。实现部件互连的方法很多,本节只介绍最简单的连接 方法,即基于单总线结构的互连方法。 总线(Bus)是连接两个或多个设备(部件)的公共信息通路。它主要由数据线、地址线 和控制线组成。连接计算机中各主要部件的总线称系统总线。基于单总线结构的系统互连如 图 1.5 所示。 图 1.5 基于单总线结构的互连 总 线 运 算 器 控 制 器 主存 输入接口 输出接口 输入设备 输出设备 CPU 主机 9 图 1.5 中,所有设备均与总线相连。由于总线是多个设备的公共连接线,因此每次只能有 一个设备向总线输出信息,但允许多个设备同时接收来自总线的信息。关于总线的详细内容 将在第八章详细介绍。 1.2.2 计算机的软件系统 计算机的软件是将解决问题的方法、思想和过程用程序进行描述,因此,程序是软件的核 心组成部分。程序通常存储在介质上,人们可以看到的是存储程序的介质,而程序则是无形 的。 一台计算机中全部程序的集合,统称为这台计算机的软件系统。软件按其功能分成应用 软件和系统软件两大类。 应用软件是用户为解决某种应用问题而编制的一些程序,如科学计算程序、自动控制程 序、工程设计程序、数据处理程序、情报检索程序等。随着计算机的广泛应用,应用软件的 种类及数量将越来越多、功能也越来越强大。 系统软件用于对计算机系统的管理、调度、监视和服务等功能,其目的是方便用户、提 高计算机使用效率、扩充系统的功能。通常将系统软件分为以下六类: 1. 操作系统 操作系统是管理计算机各种资源、自动调度用户作业、处理各种中断的软件。由操作系 统管理的资源,通常有硬件、软件和数据信息。操作系统的规模和功能可大可小,随不同的 要求而异。常见的操作系统有:DOS、UNIX、WINDOWS、LINUX。 2. 语言处理程序 计算机能识别的语言与机器能直接执行的语言并不一致。计算机能识别的语言很多,如 汇编语言、Basic 语言、Fortran 语言、Pascal 语言、C 语言等,它们各自都规定了一套基本 符号和语法规则。用这些语言编制的程序叫源程序。用“0”或“1”的机器代码按一定规则 组成的语言,称为机器语言。用机器语言编制的程序,称为目标程序。语言处理程序的任务, 就是将源程序翻译成目标程序。不同语言的源程序,对应有不同的语言处理程序。 常见的语言处理程序,按其翻译的方法不同,可分为解释程序与编译程序两大类。前者 对源程序的翻译采用边解释、边执行的方法,并不生成目标程序,称解释执行,如 BASIC 语 言;后者必须先将源程序翻译成目标程序后,才能开始执行,称编译执行,如 C语言。 3.标准程序库 为方便用户编制程序,通常将一些常用的程序段按照标准的格式事先编制好,组成一个 标准程序库,存入计算机系统中;需要时,由用户选择合适的程序段嵌入自己的程序中。 例如,求解方程(sinx2)+2sinx-3=0 的根时,只要从标准程序库中调出一元二次方程 求根子程序和正弦函数子程序,将它们正确地装配起来,就可得到解此方程的程序。 4. 服务性程序 服务性程序,亦称实用程序,它提供多种计算机系统运行所需的服务功能,是一种辅助 计算机工作的程序。例如,用于程序的装入、连接、编辑及调试用的装入程序、连接程序、 编辑程序及调试程序等都属于服务性程序。又如诊断故障程序、纠错程序、监督程序等;此 外,还有二-十进制转换程序等为系统提供更多实用功能的服务性程序。 5. 数据库管理系统 数据库管理系统(DataBase Management System:DBMS),又称数据库管理软件。它用 10 来管理系统中的所有文件,实现数据共享。数据库是为了满足大型企业的数据处理和信息管 理的需要,在文件系统的基础上发展起来的。数据库包含大量文件,有数据、表格、文字档 案、信息资料等,它们彼此间存在着一定的关系,通过数据库管理系统将它们联系在一起, 对它们进行检索、组合、扩建,或按用户要求形成新的文件。这类软件,在信息处理、情报 检索、办公室自动化和各种管理信息系统中起着重要的支撑作用。 6. 计算机网络软件 计算机网络软件是为计算机网络配置的系统软件。它负责对网络资源进行浏览、组织和 管理,实现相互之间的通讯。计算机网络软件包括网络操作系统和数据通讯处理程序等。前 者用于协调网络中各机器的操作系统及实现网络资源的管理,后者用于网络内的通讯,实现 网络操作。 总之,软件系统是在硬件系统的基础上。为有效地使用计算机而配置的。没有系统软件, 现代计算机系统就无法正常地、有效地运行;没有应用软件,计算机就不能发挥效能。 1.3 计算机的性能指标和性能评价 计算机的性能由多方面因素共同决定,评价一台计算机的性能要综合多项指标。本节将 介绍评价计算机性能的常用技术指标,并就这些指标对计算机性能的影响进行简要的分析 1.3.1 基本性能指标 1.字长 计算机的字长一般指一次参与运算数据的基本长度,用二进制数位的长度来衡量。一般 与计算机内部寄存器、加法器、数据总线的位数以及存储器字长等长,因此,字长直接影响 硬件的代价。 为便于灵活表达和处理信息,字长一般以字节(Byte)为基本单位。不同的计算机字长可 以不同,有的计算机还支持变字长,如支持半字长、全字长、双字长和多字长等,不过它们 都是字节的整数倍。早期的计算机字长较短,一般为 16 位,现代计算机字长一般为 32 位和 64 位。 字长对计算机性能有下列几方面的影响: 1)影响运算精确度。字长越长,计算精确度就越高,反之计算精确度就越低。 2)影响数据的表示范围。字长越长,数据的表示范围就越大。对于浮点数据表示而言, 字长越长,数据表示的范围和精确度还可同时提高。 3)影响运算速度。当需要运算的数据位较多,而字长又比较短时,需要经过多次运算才 能完成计算任务,降低了运算速度 2.主存容量 主存容量是指主存能存储的最大信息量,一般用 M × N 表示,其中 M 表示存储单元数, 也称字容量;N 表示每个存储单元存储的二进制位数,也称位容量。当计算机按字节编址时, M 即为存储容量,如果按字编址,则 M 的值随一个字包含的字节数的不同而变化。主存常用容 量单位的定义如表 1.1 所示。 表 1.1 主存常用单位定义 单位 对应的存储容量 访问该空间最少所需地址线 KB(Kilo) 1024 个存储单元 10 位 MB(Mega) 1024K 个存储单元 20 位 GB(Giga) 1024M 个存储单元 30 位 TB(Tera) 1024G 个存储单元 40 位 11 PB(Peta) 1024T 个存储单元 50 位 增加主存容量能减少程序运行期间访问辅助存储器的次数,从而提高程序的执行速度, 也有利于计算机性能的提高。 1.3.2 与执行时间有关的性能指标 时间是衡量计算机系统性能最基本的标准,完成同样的任务所需要的时间越少,表明该 计算机的性能越高。随着计算机系统中软件规模不断增大,系统复杂度不断提高,系统的性 能评价也变得越来越困难。即便是两款不同类型的计算机具有相同的 CPU、数据通路宽度和存 储容量,它们执行同一程序的时间也可能不相同。通过前面几个简单的静态指标很难准确评 价计算机系统的性能。人们已经把程序的执行速度作为评价计算机性能最主要的指标。 1.几个基本概念 1)时钟周期 时钟周期是时钟频率的倒数,也称为节拍周期或 T 周期,是处理操作最基本的时间单位。 显然,随着 CPU 主频的提高,对应的时钟周期时间也越短,例如,主频为 100MHz CPU 的时钟 周期为 10ns(纳秒),主频为 1GHz CPU 的时钟周期为 1ns。 2)CPI 计算机中一条指令的执行时间等于该指令实际执行过程中所用到的时钟周期时间之和。 CPI(Clock cycles Per Instruction)是指执行每条指令所需要的平均时钟周期数。由于指令 功能不同且同一功能的指令还可能具有多种不同的寻址方式,因此,指令执行时所需要的时 钟周期数也可能不同。CPI 既可表示每条指令执行所需要的时钟周期数,也可指一类指令(如 算术运算类指令)或一段程序中所有指令执行所需时钟周期数的平均值。 对于具有相同指令系统的不同计算机系统而言,同一段程序被编译后所生成的指令条数 相同,但是执行这些指令所需要的时间不一定相同,因此,可将 CPI 作为计算机性能评价的 指标之一。 根据上述 CPI 的定义,可用公式 1.1 和公式 1.2 计算 CPI: CPI= 程序执行所需要的 CPU 时钟周期总数/ 程序所包含的指令条数 若能知道某程序中每类指令的使用频度(设用 Pi表示)、每类指令的 CPI(设用 CPIi表示)、 每类指令的条数(设用 ICi表示)和程序中包含的总指令条数(设用 IC 表示)。则程序的 CPI 可 用公式 1.1 和公式 1.2 表示: )( 1 i n i i PCPICPI ×= ∑ = (1.1) ∑ = ×= n i i i IC ICCPI 1 )( (1.2) 3)CPU 时间 CPU 时间即计算某个任务时 CPU 实际消耗的时间,也即 CPU 真正花费在某程序上的时间。 该时间不包括因为等待输入/输出操作的时间。我们用汇编语言编写延时程序时,其延长的时 间就是程序包含的每条指令执行时间的总和。 根据上述定义和描述,可以采用公式 1.3 求某段程序的 CPU 时间: CPU 时间 = 程序中所有指令的 CPU 时钟周期数之和 × CPU 的时钟周期 (1.3) 等价的算式也可以表示为公式 1.4: 12 CPU 时间 = 程序中所有指令的 CPU 时钟周期数之和 / CPU 时钟频率 (1.4) 考虑 CPI 后,CPU 时间还可表示为公式 1.5: CPU 时间 = CPU 时钟周期 × CPI × 指令条数 = CPI × 指令条数/时钟频率 (1.5) 公式 1.5 就是通常所说的 CPU 全性能公式,之所以称为全性能公式,是因为它从 CPU 的 主频、指令的 CPI 和程序中包含的指令数量等多个方面来综合评价计算机的性能。 从公式 1.1-1.5 可以看出 CPU 的执行时间与下列三个因素紧密相关: (1)时钟周期(时钟频率)。显然,计算机的时钟周期越短(对应计算机的主频越高),程序 执行速度就越快。微处理器的时钟频率主要受超大规模集成电路生产工艺的影响。 (2)CPI。如果每条指令所需要的时钟周期数越少,则程序的执行速度快。CPI 的长短与 CPU 的体系结构,包括指令系统的设计、指令执行过程的安排(如数据通路)等因素有关。 (3)指令条数。当 CPI 和时钟周期固定时,程序中包含的指令条数越少,程序的执行速度 就越快。完成相同功能的程序所包含的指令条数主要与指令系统的设计和编译技术有关。 从上面的描述中还可以看出 CPU 的性能与计算机体系的关系: (1)时钟频率反映了计算机的实现技术和生产工艺; (2)CPI 反映了计算机的实现技术和指令集结构; (3)IC 反映了计算机指令系统的设计和编译技术。 4)MIPS MIPS(Million Instruction Per Second)即每秒百万条指令,用每秒钟执行完成的指令 数量作为衡量计算机性能的一个指标,不过要注意这个指标考核的指令数是以百万条为单位。 根据 MIPS 的定义,可用公式 1.6 计算 MIPS: MIPS = 程序中指令的条数/ (程序 CPU 时间 × 106 ) (1.6) 将公式 1.5 代入公式 1.6 可得: MIPS = 6C P I 1 0× 时 钟 频 率 (1.7 式其中 106表示百万,时钟频率的单位采用 HZ。 应用 MIPS 作为衡量计算机系统性能时要注意以下问题: (1)该指标没有考虑不同指令在功能和执行速度上的差异性,因此,不能用于不同指令系 统计算机之间性能的比较; (2)对同一台计算机,当测试程序中使用了不同类型的指令时测量出的 MIPS 也不相同, 因此,当对同类计算机通过 MIPS 比较性能时应使用同一测试程序; (3)在一些情况下,MIPS 值可能与计算机的实际性能成反比,在应用 MIPS 比较性能时, 要避免在这样条件下应用MIPS比较计算机性能。最经典的例子就是带浮点运算硬件的计算机, 使用浮点硬件执行浮点运算的计算机比使用软件进行浮点操作的计算机具有更高的实际性能, 而 MIPS 则较低。 5)MFLOPS MFLOPS(Million Floating-Point Operations Per Second)描述的是计算机每秒执行浮 点操作次数,而不是 MIPS 所衡量的单位时间内执行的指令条数。如某系统的运算速度为 2MFLOPS,表示该系统的浮点运算速度为每秒钟 200 万次。 它不是机器实际执行程序时的速度,而是机器在理论上能完成的浮点处理速度。与 MIPS 13 类似,MFLOPS 用程序中浮点运算次数除法以程序在特定输入时的执行时间得到,即: MFLOPS = 程序中的浮点运算次数/(执行时间 × 106 ) (1.8) 与 MIPS 相似,MFOPS 也不能全面反映计算机系统的性能,在应用 MFLOPS 作为衡量计算机 系统性能时也要注意以下问题: (1)MFLOPS 仅能反映浮点数的运算速度; (2)使用该评价指标也可能得到与实际浮点运算性能相反的结果。由于 MFLOPS 是根据程 序中单位时间内执行浮点运算的次数来衡量计算机的浮点运算能力,若一个计算机有浮点数 乘法指令,则执行一条指令就能完成乘法运算;而对于一个不具备浮点乘法的计算机而言, 需要使用多条非乘法指令才能完成相同的乘法运算,此时后者的 MFLOPS 比前者还高。 (3)MFLOPS 的计算结果与所使用的程序相关。不同程序中包含的浮点运算的量不同,用该 程序测量该计算机的 MFLOPS,得到的结果也不相同。 综上所述,采用 MFLOPS 衡量计算机的性能会受到一些条件的限制,为了能利用该指标客 观评价计算机的浮点运算性能,实际应用中要注意上述限制条件可能对测试结果的影响。当 然,在一般情况下,对体系结构系统相同或相近的两个系统,采用相同的程序计算 MFLOPS, MFLOPS 值越大表明该系统的浮点运算能力越强。 计算机的性能很难用某一个指标来精确衡量,上述几个衡量计算机性能的指标之间也不 是完全独立的,改变其中的一项指标可能会影响到其它指标。在处理器设计中引入一个新的 特征,只有在程序运行的总时间减少的情况下才能算是对计算机的性能的有效改善。一个具 有 1GHZ 时钟的处理器未必比一个 800MHZ 的处理器性能好,因为他们可能具有不同的 CPI。 1.3.3 CPU 性能公式及其应用 本节通过几个具体的实例简要分析上述几个与时间有关的基本概念在计算机性能评价中 的应用。 例 1.1 某程序的目标代码主要由 4 类指令组成,它们在程序中所占的比例和各自的 CPI 如表 1.2 所示。 表 1.2 各类指令的比例及 CPI 指令类型 CPI 所占比例 算数逻辑运算 1 60% 内存读写 2 18% 转移 4 12% 其它 8 10% 完成下列问题: 1)求该程序的 CPI; 2)若该 CPU 的主频为 400MHZ,求该机的 MIPS. 解: 1)根据 CPI= ∑ = ×= n i i i IC ICCPI 1 )( 得 CPI = 1× 0.6 + 2× 0.18 + 4× 0.12 + 8× 0.1 = 2.24 2)根据 公式 MIPS = 6C P I 1 0× 时 钟 频 率 得 MIPS = (400×106)/(2.24×106) = 178.6 例 1.2 假设计算机 A 和 B 是基于相同指令集设计的两种不同类型的计算机,机器 A 的时钟周 14 期为 2ns,某程序在机器 A 上运行时的 CPI 为 3.0。机器 B 的时钟周期为 4ns,同一程序在机器 B 上运行的 CPI 为 2,对这个程序而言,计算机 A 与 B 哪个机器更快?快多少? 解:根据 CPU 时间定义: CPU 时间 A = CPU 时钟周期 A × CPIA × 指令条数 A = 2 × 3 × 指令条数 A CPU 时间 B = CPU 时钟周期 B × CPIB × 指令条数 B = 4 × 2 ×指令条数 B 由于是同一程序在 A、B 两机器上运行,因此指令数量相同,由此得到同一程序在两机 器上的 CPU 时间之比为: ACPU 6 CPU 8B =时间时间 = 0.75 即计算机 A快,且其速度约为机器 B 速度的 1.3 倍。 例 1.3 设某计算机中 A、B、C 三类指令的 CPI 如表 1.3 所示: 表 1.3 各类指令的 CPI 指令 A B C CPI 1 2 3 现有两种不同的编译器,将同一高级语言语句编译成两种不同类型的代码序列,其中包含 的上述 3 类指令数量如表 1.4 所示: 表 1.4 不同代码中三类指令的数量 代码序列 代码中三类指令的条数 A B C 1 2 1 2 2 4 1 1 问: 1)哪种代码包含的指令条数少? 2)两种代码序列的 CPI 分别是多少? 3)哪种代码的执行速度快? 解: 1)根据题目给定条件很容易求出两种代码所包含的指令数: 代码 1 所包含的指令条数= 2+1+2 = 5 条 代码 2 所包含的指令条数= 4+1+1 = 6 条 2)根据公式 CPI ∑ = ×= n i i i IC ICCPI 1 )( 可求出两类代码的 CPI: CPI1 = 1 × 2/5 + 2 × 1/5 + 3 × 2/5 = 2 CPI2 = 1 × 4/6 + 2 × 1/6 + 3 × 1/6 =1.5 3)设 f 表示 CPU 的时钟频率。根据公式 CPU 时间= CPI × 指令条数/时钟频率 ,可求出两类代 码的运行时间: CPU 时间 1 = 2× 5 /f = 10/f 秒 CPU
/
本文档为【z1概述】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索