资源描述
公司公司徽标徽标计算机组织与结构教材内容的组织本教材在内容的组织上,按照CC2005和2006年我国教育部高等学校计算机科学与技术教学指导委员会制定的“计算机科学与技术专业规范”中的知识领域“CSAR计算机体系结构与组织”所要求的内容进行编写。各章节涵盖的知识单元包括1.AR2数据的机器级表示(核心学时):第2章2.AR3汇编级机器组织(核心学时):第3章3.AR4存储系统组织与结构(核心学时):第4章4.AR5接口和通信(核心学时):第5、6章6.AR7多处理和体系结构(核心学时):第8章5.AR6功能组织(核心学时):第7章第1章第2章第3章第4章计算机的发展历程;按IEEE分类法的计算机的分类;最后作为本书的一个序,概括性地介绍计算机的硬件组成及计算机的层次结构。进位计数制;计算机中数值数据和非数值数据的表示;数值数据在计算机中的二进制运算方法和实现;数据传递过程中进行差错控制的数据校验码。计算机中汇编级指令的格式、地址结构;指令及操作数的寻址方式,以及指令的种类和功能、典型指令系统的组成等;精简指令系统RISC。存储器的组织、分类和分层结构;计算机主存储器的组成与工作原理;提高存储系统性能的交叉存储技术、高速缓冲存储器及虚拟存储器技术等。各章节主要内容第5章第6章第7章第8章计算机输入输出系统组成;计算机输入输出的控制方式;计算机存储设备磁盘系统以及由磁盘阵列组成的RAID技术。总线的基本概念、总线的类别和总线的控制方式等;常用总线标准:ISA、PCI等;常用的外部总线接口标准:USB、IEEE1394和SCSI等。CPU的功能与组成;CPU的指令周期及执行指令的过程;CPU控制部件设计的两种主要方法:硬布线设计法和微程序设计法。计算机系统的并行性概念,提高并行性的技术途径;现代计算机普遍采用的流水线技术和多处理机技术;机群系统。各章节主要内容公司公司徽标徽标第1章 计算机系统概论本章结构11.1计算机的发展历程21.2计算机的种类31.3计算机的基本组成51.5计算机系统的分层组织结构41.4计算机语言1.1计算机的发展历程计算机技术的飞速发展离不开其所依赖的器件技术的发展。在计算机界,人们普遍把计算机的发展划分为5个年代,而这一划分所依据的正是计算机所使用的基本元器件。可以说,器件技术是计算机发展的重要物质基础和技术保障。计算机的发展年代第四代第四代第三代第三代第二代第二代第一代第一代第零代第零代第零代:机械时代世界上第一台以齿轮驱动的计算机器是由德国人WilhelmSchickard教授于1623年设计并建造的计算钟(CalculatingClock)。1642年法国数学家、物理学家帕斯卡发明的机械加法器Pascaline。英国数学家巴贝奇CharlesBabbage于1822年设计的差分机DifferenceEngine。1938年,德国工程师朱斯(KonradZuse)成功制造了第一台二进制计算机Z1,此后他继续研制了Z系列计算机,其中Z3型计算机是世界上第一台通用程序控制的机电计算机,它使用了2600个继电器,采用二进制进行运算,运算一次加法只用0.3秒。1944年,美国麻省理工学院科学家艾肯研制成功了一台通用型机电计算机MARKI。更多内容可参见网站:http:/第一代:真空管计算机电子计算机区别于机械式计算机的最主要特点是使用了电子元器件作为其存储和控制部件,计算机能够依靠电子元器件自动完成计算。电子计算机发展阶段也正是以其所采用的基本电子元器件及技术作为划分的基础。计算机的发展阶段表发展阶段大致时间所采用的技术典型速度1 19461957 真空管 几万次2 19581964 晶体管 十几到几十万次3 19651971 中小规模集成电路 百万次4 19721977 大规模集成电路 千万次 19781991 超大规模集成电路 亿次 1991巨大规模集成电路 十亿次以上1946年诞生的第一台电子计算机ENIAC第一代电子计算机的主要特点:采用真空管作为基本元器件,体积庞大,功耗大,可靠性低。引入存储程序的思想,开始使用存储器存储程序,但最初使用的存储设备为汞延迟线或静电存储管,存储容量很小,后来采用了磁鼓、磁芯,虽有一定改进,但存储空间仍然有限。输入输出设备简单,主要采用穿孔纸带或卡片,速度很慢。程序设计语言为机器语言,几乎没有系统软件。第二代:晶体管计算机第一代真空管技术的计算机并不是非常可靠,原因是这些真空管被烧坏的速度太快,以至于这种真空管计算机的停机维修时间常常比正常运行的时间还多。1948年,贝尔实验室的三位研究员JohnBardeen、WalterBrattain和WilliamShockley发明了晶体管,这项影响深远的发明,让他们共同获得了1956年度诺贝尔物理学奖。这种新型的技术不但掀起了电子器件、电视和无线电广播等领域的革命,也推动计算机的发展进入了一个新的时代。第二代电子计算机的主要特点:采用晶体管代替电子管作为基本元器件。与电子管相比,晶体管具有体积小、重量轻、耗电少、速度快、寿命长等优点,这使计算机的设计结构和性能都发生了飞跃。采用磁芯存储器作为主存,使用磁盘和磁带作为辅存。使存储容量增大,可靠性提高,为系统软件的发展创造了条件。提出了操作系统的概念,开始出现汇编语言,并产生了如COBOL、FORTRAN等编程语言以及批处理系统。第三代:集成电路计算机1952年,英国皇家雷达研究所的G.W.A.Dummer首先提出了集成电路设想:根据电子线路的要求,将电子线路所需要的晶体管、晶体二极管和其他必要元件统统完整地制作(集成)在单块半导体晶片上,从而构成一个具有预定功能的电子线路。1958年,美国的JackKilby和RobertS.Noyce同时发明了集成电路,并分别在德克萨斯仪器公司和仙童公司研制成功第一块集成电路,从而开创了第三代乃至以后计算机发展的新纪元。第三代电子计算机的主要特点:采用集成电路取代晶体管作为基本元器件。采用半导体存储器作为计算机主存储器,存储容量进一步扩大,而体积更小,可靠性更高。操作系统功能进一步明确和完善,高级语言进一步发展,使计算机功能更强。计算机的研制生产开始系列化、通用化和标准化。计算机应用范围扩大到企业管理和辅助设计等领域。系列化:即同一公司在不同时期生产的机器采用相同的系统结构,在指令系统、数据格式、字符编码、控制方式、输入输出等方面保持统一,从而保证了程序兼容(称为向前兼容)。这种向前兼容在很大程度上可以保护用户在尤其是软件方面的投资,当用户进行机器更新时,原来在低档机上编写的程序可以不作修改就使用在高档机上。这一时期典型的系列机如IBM360/370。通用化:机器指令系统丰富,兼顾科学计算、数据处理、实时控制等方面,可以适应各种应用的需要。标准化:采用标准的输入输出接口,因而各个机型的外部设备都是通用的,除各个型号机器的CPU独立设计以外,存储器、外部设备等都采用标准部件组装。第四代:大规模超大规模集成电路计算机集成度:单个芯片上所容纳的晶体管数量。集成电路发展阶段单块芯片集成的晶体管数量小规模集成电路(SSI)10-100中规模集成电路(MSI)100-1000大规模集成电路(LSI)1000-10000超大规模集成电路(VLSI)10000以上巨大规模集成电路(ULSI)1000000以上第四代电子计算机:在计算机体系结构上,发展了如虚拟存储器技术、流水线技术、高速缓冲存储器技术及各种并行处理技术等。在计算机内存配置上,容量和速度都大大提高。计算机外围设备的种类越来越丰富,从文字的处理发展到图像、声音等多媒体信息的处理。系统软件功能越来越强,从单用户、单道程序系统发展到多用户、多道程序系统,从字符界面的命令行操作系统发展到图形界面的视窗操作系统。应用软件越来越丰富,计算机在办公自动化、数据处理、图像处理、语音识别和人工智能等领域大显身手。随着微型计算机技术的发展,计算机价格越来越便宜,计算机应用越来越普及。二十世纪80年代计算机网络的发展和90年代Internet技术的发展,一方面使计算机的应用越来越普及,另一方面在很大程度上改变着人们的生活和工作方式。不同时期微处理器性能:型号400480088086PentiumPIV发布时间1971年19721978年1993年2000年时钟频率108KHz108KHz5MHz166MHz1.8GHz总线宽度4位8位16位32位64位晶体管数23003500290003.1百万42百万工艺(微米)101030.80.18可寻址存储器640B16KB1MB4GB64GB虚拟存储器64TB64TB第五代计算机1981年10月,日本首先向世界宣告开始研制第五代计算机,并于1982年4月制订了为期10年的“第五代计算机技术开发计划”。紧接其后美国和欧洲等国家也先后提出了发展第五代计算机的计划。第五代计算机又称新一代计算机或人工智能计算机,它是一个能把信息采集、存储、处理、通信同人工智能结合在一起的智能计算机系统。它除了能进行数值计算及信息处理外,还能面向知识处理,具有形式化推理、联想、学习和解释的能力;能够帮助人们进行判断、决策、开拓未知领域和获得新的知识;人机之间可以直接通过自然语言(声音、文字)或图形图像交换信息。我国计算机技术的发展概况我国从1956年开始研制计算机,1958年研制成功第一台电子管计算机103机,1959年又研制成功运行速度为每秒1万次的104机。103机和104机的研制成功填补了我国在计算机技术领域的空白,为促进我国计算机技术的发展做出了贡献。1965年,中科院计算所研制成功第一台大型晶体管计算机109乙,之后推出109丙机,该机在我国两弹试验中发挥了重要作用。1971年我国开始研制以集成电路为主要器件的DJS系列计算机,1974年,清华大学等单位联合设计、研制成功采用集成电路技术的DJS130小型计算机,运算速度达每秒100万次。该系列计算机在上个世纪70年代在我国很多行业和部门得到了广泛应用。在微型计算机方面,1985年,电子工业部计算所研制成功与IBMPC机兼容的长城0520CH微机。此后我国的长城系列、方正系列、联想系列等微型计算机,如雨后春笋般涌现,为我国计算机的普及应用做出了贡献,也使目前以联想公司为代表的中国计算机公司成为了一个有着巨大影响力的跨国公司,走在了世界先进计算机技术的行列。在巨型计算机研制方面,1983年,国防科技大学研制成功运算速度每秒亿次的银河I巨型机,这是我国高性能计算机研制领域的一个重要里程碑。1992年,国防科技大学又推出了银河II通用并行巨型机,峰值速度达每秒10亿次。1997年6月,国防科大研制成功银河III百亿次并行巨型计算机系统,采用可扩展分布共享存储并行处理体系结构,由130多个处理结点组成,峰值性能为每秒130亿次浮点运算,系统综合技术达到90年代中期国际先进水平。1995年,曙光公司推出了国内第一台具有大规模并行处理机(MPP)结构的并行机曙光1000(含36个处理机),峰值速度每秒25亿次浮点运算。1997至1999年,曙光公司先后在市场上推出具有机群结构(Cluster)的曙光1000A、曙光2000I和曙光2000II等超级服务器,峰值计算速度已突破每秒1000亿次浮点运算。2000年,曙光公司推出每秒3000亿次浮点运算的曙光3000超级服务器。2003年,百万亿次数据处理超级服务器曙光4000L通过国家验收,再一次刷新国产超级服务器的历史纪录,使得国产高性能机产业再上一个新台阶。知识拓展:摩尔定律知识拓展:摩尔定律摩尔定律是前英特尔联合创始人戈登.摩尔(GordonMoore)首先提出的,其内容是指:集成电路(IC)芯片中所能集成的晶体管数量每18个月翻一番,性能也随之提升一倍。1.2计算机的种类计算机按照其用途分为通用计算机和专用计算机。专用计算机主要是为某一专用领域设计的,在这一领域具有高性能或适应性,如一些专为图像处理设计的计算机,具有很高的图像处理速度;再如工控机,专为一些环境较为恶劣的工业控制领域而设计,具有防尘、防振、高可靠性等特点。通用计算机则不是专为某一领域而设计,它能适应各种应用的要求。对计算机种类的划分,更为传统和更为普遍的方法是按照1989年由IEEE科学巨型机委员会提出的运算速度分类法,将计算机分为巨型机、大型机、小型机、工作站和微型计算机。1.巨型计算机巨型计算机巨型机有极高的速度、极大的容量。主要应用于国防尖端技巨型机有极高的速度、极大的容量。主要应用于国防尖端技术、空间技术、大范围长期性天气预报、石油勘探等领域。术、空间技术、大范围长期性天气预报、石油勘探等领域。目前这类机器的运算速度已超过每秒万亿次。目前这类机器的运算速度已超过每秒万亿次。这类计算机在技术上朝两个方向发展:一是开发高性能器件,这类计算机在技术上朝两个方向发展:一是开发高性能器件,特别是缩短时钟周期,提高单机性能;二是采用多处理器结特别是缩短时钟周期,提高单机性能;二是采用多处理器结构,构成超级并行计算机,通常由构,构成超级并行计算机,通常由100台以上的处理器组成台以上的处理器组成超级并行巨型计算机系统,它们同时解算一个题目,来达到超级并行巨型计算机系统,它们同时解算一个题目,来达到高速运算的目的。高速运算的目的。巨型机的研制水平、生产能力及其应用程度,已成为衡量一巨型机的研制水平、生产能力及其应用程度,已成为衡量一个国家经济实力与科技水平的重要标志。个国家经济实力与科技水平的重要标志。2.大型计算机大型计算机这类计算机具有很强的综合处理能力,性能高,管理能力强。这类计算机具有很强的综合处理能力,性能高,管理能力强。作为通用计算机,主要应用在政府、银行、大公司、大企业作为通用计算机,主要应用在政府、银行、大公司、大企业等部门或行业,作为中心数据库服务器或应用服务器等,可等部门或行业,作为中心数据库服务器或应用服务器等,可同时可支持几十个大型数据库和支持上万个用户使用。同时可支持几十个大型数据库和支持上万个用户使用。3.小型计算机小型计算机小型机相对大型机来说,规模更小、性能也次之。但由于其小型机相对大型机来说,规模更小、性能也次之。但由于其可靠性高、易于维护等特点,得到了广泛应用。在七、八十可靠性高、易于维护等特点,得到了广泛应用。在七、八十年代,小型机的发展非常迅猛,很多行业和部门都使用了小年代,小型机的发展非常迅猛,很多行业和部门都使用了小型机,国际上一些大的计算机公司,如型机,国际上一些大的计算机公司,如IBM、HP、DEC等等纷纷推出了自己的小型机系列。从九十年代开始,随着微型纷纷推出了自己的小型机系列。从九十年代开始,随着微型计算机的性能不断提高和成本不断降低,小型机市场受到了计算机的性能不断提高和成本不断降低,小型机市场受到了很大冲击,一些原来使用小型机的场合被高性能微机服务器很大冲击,一些原来使用小型机的场合被高性能微机服务器所取代。所取代。目前,小型机主要采用的是基于目前,小型机主要采用的是基于RISC技术的技术的CPU和类和类UNIX操作系统。操作系统。4.微型计算机微型计算机1971 年,美国年,美国Intel公司生产出了世界上第一块微处理器芯公司生产出了世界上第一块微处理器芯片片Intel4004,1981年美国年美国IBM公司使用公司使用Intel8088微处理器微处理器生产了具有里程碑意义的微型计算机生产了具有里程碑意义的微型计算机IBM PC,从而揭开了,从而揭开了微型计算机大发展的序幕。微型机技术在短短微型计算机大发展的序幕。微型机技术在短短20多年的时间多年的时间里发展迅猛,平均每两年芯片的集成度可提高一倍,从而使里发展迅猛,平均每两年芯片的集成度可提高一倍,从而使得性能提高,价格降低。平均得性能提高,价格降低。平均23年产品就更新换代一次,年产品就更新换代一次,几乎每个月都有相关周边新产品出现。几乎每个月都有相关周边新产品出现。随着随着Internet的普及,微型计算机已经像家用电器一样走向的普及,微型计算机已经像家用电器一样走向千家万户。千家万户。5.工作站工作站工作站也是一台独立的计算机,性能一般介于小型机和微型工作站也是一台独立的计算机,性能一般介于小型机和微型机之间。它往往作为独立的机器(或联网)应用于一些具有机之间。它往往作为独立的机器(或联网)应用于一些具有特殊要求的领域,如电影动画特技制作和制造业机械特殊要求的领域,如电影动画特技制作和制造业机械CAD就就广泛使用了图形工作站。广泛使用了图形工作站。知识拓展:计算机系统性能评测 1.TPC评测体系TPC(TransactionprocessingPerformanceCouncil,事务处理性能委员会)是由数十家会员公司创建的非盈利组织,总部设在美国。TPC的成员主要是计算机软硬件厂家,而非计算机用户,其功能是制定商务应用基准程序的标准规范、性能和价格度量,并管理测试结果的发布。TPC不给出基准程序的代码,而只给出基准程序的标准规范。任何厂家或其他测试者都可以根据规范,最优地构造出自己的测试系统(测试平台和测试程序)。为保证测试结果的完整性,被测试者(通常是厂家)必须提交给TPC一套完整的报告,包括被测系统的详细配置、分类价格和包含5年维护费用在内的总价格。该报告必须由TPC授权的审核员核实。TPC在全球只有不到10名审核员,全部在美国。2.SPEC评测体系SPEC指标体系由StandardPerformanceEvaluationCorp.制定,被引用最广泛的指标主要包括针对CPU性能的SPECCPU2000和针对Web服务器的SPECweb2005等。SPECCPU2000是一组针对CPU和内存的测试,它主要测试的对象是CPU、内存。SPECCPU2000由许多源代码程序组成,分成“整数”和“浮点数”两组。SPECint2000就是“整数”部分,而SPECfp2000则是“浮点数”部分。“整数”部分有12个程序,使用C或C+语言,它们不使用CPU的浮点单元;而“浮点数”部分有14个程序,使用FORTRAN77/90和C语言,这些程序的主要运算是浮点数的。SPECint2000和SPECfp2000的结果,以执行时间为准。每个程序的执行时间和一个参考平台(SunUltra5/10300MHz)相比,计算出其倍数。如果执行时间和参考平台相同,结果就是100。如果只花了一半时间完成,结果就是200。“整数”的12个程序的结果,取其平均值,得到的就是SPECint2000的测试结果。“浮点数”的14个程序也是一样。SPECweb2005测试的原理是,通过多台客户机向服务器发出httpGet请求,请求调用Web服务器上的网页文件,这些文件从数千字节到数兆字节不等。在相同的时间里,服务器回答的请求越多,就表明服务器对客户端的处理能力越强,系统的Web性能就越好。1.3计算机的基本组成计算机经历了几十年的发展,虽然性能越来越高,适应各种应用的产品越来越丰富,但从其基本的硬件组成上讲,仍然采用的是当初冯诺依曼(VonNeumann)结构进行设计的。无论是巨型机、大型机还是小型机、微型机,它们主要的不同在于性能的高低,而从硬件组成上讲是基本相同的。1981年IBM公司生产的IBMPCIntel8088CPU,4.77MHz64KB内存640480分别率单色显示器5”软驱 键盘DOS操作系统现代PC机Intel双核CPU512M DDRII内存160G 7200转高速 SATA硬盘19”宽屏液晶显示器10/100M集成网卡光电鼠标/人体工学程功能键盘高品质音响系统Windows Vista操作系统PC机主机板CPU插座PCI总线插槽内存条插座显卡插槽键盘鼠标接口串行接口并行接口显示器接口LAN接口USB接口音频插孔电源接口硬盘、光驱接口计算机硬件组成CPU显示接口内存键盘接口鼠标接口磁盘接口串行接口并行接口从功能结构上讲,计算机硬件主要由CPU、存储器、输入输出接口及设备三大部分组成。从设计和实现上讲,CPU、存储器(目前在计算机中是以内存条的方式出现)直接插在主板上,同时在主板上还集成了一些输入输出接口电路。显示器作为标准输出设备,键盘和鼠标则作为标准输入设备,分别与主板上对应的接口相连。另外,磁盘(包括软盘和硬盘)、光盘等从功能上讲属于计算机的辅助存储器(第4章详细介绍),但从操作系统的角度上讲,是将它们作为输入输出设备进行管理的。另外,CPU、存储器和输入输出接口及设备间需要进行数据的通信,因此,它们之间需要通过某种方式连接起来。在现代计算机中,普遍采用的是一种总线连接方式,如图112所示。总线图1-12 计算机硬件之间的总线连接1运算器运算器就是计算机内用于完成各种运算的部件,其基本结构如图113所示。运算器中有一个核心部件算术逻辑运算单元ALU,它能完成各种算术运算和逻辑运算。最基本的算术运算主要包括加、减、乘、除等,逻辑运算主要包括与、或、非、异或及移位运算等。ALU一般有两个输入端,它能一次完成两个操作数的运算。另外在运算器中还会设置一些通用寄存器R,用于暂时存放运算中产生的中间结果。2控制器控制器是计算机的指挥中心,它按照人们预先编好的程序进行工作,根据程序中指令的要求,有序地向计算机中各个部件发出控制信号,使计算机中各个部件有条不紊地工作,从而完成指令所要求的功能。控制器的基本结构如图114所示。在控制器中主要包括程序计数器PC、指令寄存器IR、指令译码器ID、地址生成器AG、地址寄存器AR、数据寄存器DR、时序部件CP和控制信号产生部件等。程序计数器PC(ProgramCounter)实际上是一个地址寄存器,其中存放的是下一条要执行的指令在存储器中的单元地址。指令寄存器IR(InstructionRegister)主要用于存放由PC指向的从存储器中取出的指令代码。指令寄存器一般为一个指令字长,它主要由两个字段组成,一是指令操作码OP字段,二是操作数或转移地址Addr字段。OP字段用于指出该指令是一条什么样的指令,如加法、移位等;Addr字段根据指令的不同功能有所不同,对于顺序指令,Addr字段用于指出操作数的类型及存放的位置或地址,而对于转移或转子指令,Addr字段则用于指出要转向的指令的地址。指令译码器ID(InstructionDecoder)用于对指令寄存器中的OP字段进行译码,并将译码结果输出给控制信号产生部件,如图116所示。地址生成器AG(AddressGenerator)主要用于生成操作数在存储器中的单元地址,从而为取该操作数做好准备。地址寄存器AR(AddressRegister)主要有两个用途:一是用于存放由地址生成器按寻址方式进行计算得到的操作数在存储器中的地址;二是用于存放由当前转移或转子指令产生的要转向的指令的地址。最后,所有指令的执行都是在一定的操作控制信号的控制下完成的,操作控制信号产生部件就是根据指令译码的结果产生当前指令执行过程中所需的全部操作控制信号,这些控制信号在时序部件产生的时序下按照一定的顺序逐个产生,从而控制不同的部件完成相应的操作。3存储器存储器是计算机重要的组成部件之一,主要用来存储程序和数据。从物理上讲,存储器是由具有一定记忆功能的物理器件构成的,如目前计算机内存普遍采用的半导体存储器和计算机外存采用的磁介质存储器或光存储器等。这些物理器件是通过自身的一些物理特性来表示和存储二进制0、1信息的。从逻辑上讲,存储器是由一个个存储单元构成的,它也正是利用这一个个的存储单元来存储或记忆二进制信息的。存储器所有存储单元的总数称为存储器的存储容量,通常用单位KB(K字节)、MB(M字节)、GB(G字节)等表示,存储容量越大,表示存储器能够存储记忆的信息量越大。4输入输出接口与设备输入输出系统由输入输出设备和与设备配套的适配器(Adaptor)或接口电路组成。计算机的输入输出设备又称为外围设备,它们主要完成人机间的信息交换。由于输入输出设备种类繁多,在处理速度、数据格式、机械及电器特性等方面差异较大,因此,CPU与输入输出设备间的数据交换通常是通过相应输入输出适配器(又称输入输出接口)来实现的。1.4计算机语言计算机语言按照与硬件相关程度由高到低分为机器语言、汇编语言和高级语言。高级语言是与机器无关的程序设计语言,采用一种高级语言是与机器无关的程序设计语言,采用一种更接近自然的表达方式表示数据的运算和程序的控更接近自然的表达方式表示数据的运算和程序的控制结构等制结构等汇编语言是一种采用助记符表示的程序设计语言。汇编语言是一种采用助记符表示的程序设计语言。汇编语言的指令和机器语言的指令在很大程度上汇编语言的指令和机器语言的指令在很大程度上是一一对应的。是一一对应的。机器语言属于硬件机器级语言,是一机器语言属于硬件机器级语言,是一种用二进制代码表示的能够被计算机种用二进制代码表示的能够被计算机硬件直接识别和执行的语言。硬件直接识别和执行的语言。高级语言高级语言汇编语言汇编语言机器语言机器语言1.5计算机系统的分层组织结构从一般使用者的角度来看,计算机系统是由硬件和软件组成的,而计算机软件根据其在计算机系统中所起的作用又可进一步分为系统软件和应用软件。系统软件是指能够对计算机硬件资源进行管理,对用户方便使用计算机硬件资源提供服务的软件,其核心就是操作系统。应用软件则是人们使用各种计算机语言为解决各种应用问题而编制的程序。因此,从这一层面上看,计算机系统自下而上可以看成是由三个层次构成的,即:计算机硬件、系统软件和应用软件,从计算机设计者的角度看,计算机系统可以进一步划分为不同的层次来实现其功能。这种划分可以看成是概念上的划分。我们可以设想计算机是按照不同的层次结构来建造的。这里的每一个层次都实现某项特定功能,并有一个特定的假想机器与之对应。对应计算机的每一个层次的这种假想机器称之为虚拟机。每一层的虚拟机都执行自己特有的指令集,必要时还可以调用较低层次的虚拟机来完成各种任务。如图117是一个业界普遍接受的代表不同抽象的虚拟机器的计算机组织结构层次图。从功能上讲,任何可以利用软件实现的功能也可以利用硬件实现,反之,任何可以利用硬件实现的功能同样也可以利用软件实现,这就是所谓硬件和软件等效原理。当研制一台计算机的时候,设计者必须明确软硬件的功能划分。随着大规模集成电路和计算机体系结构的发展,由硬件实现的功能范围逐步扩大,这也就使计算机的处理速度越来越快,性能越来越高。本章小结本章主要讲述了以下内容:1.计算机的发展历程。从机械计算机发展到电子计算机,电子计算机按所使用电子器件划分年代:电子管计算机、晶体管计算机、中小规模集成电路计算机和大规模超大规模集成电路计算机。2.计算机的种类。按照1989年由IEEE科学巨型机委员会提出的运算速度分类法,将计算机分为巨型机、大型机、小型机、工作站和微型计算机。3.计算机的硬件组成。主要包括中央处理器CPU、存储器和输入输出系统,CPU主要由运算器和控制器组成,这也是冯诺依曼提出的计算机组成结构。4.计算机语言。由低到高分为机器语言、汇编语言和高级语言。5.计算机的层次结构。从计算机的基本硬件开始分为数字逻辑层、控制层、机器层、系统软件层、汇编语言层、高级语言层和用户层。优点优点优点优点配置数据源配置数据源配置数据源配置数据源负责系统与数据库负责系统与数据库的连接。的连接。创建创建创建创建SessionFactorySessionFactorySessionFactorySessionFactory实例实例实例实例完成实体映射。完成实体映射。声明事务管理声明事务管理声明事务管理声明事务管理声明式事务管理,声明式事务管理,配置配置Bean的方法的方法的事务处理策略。的事务处理策略。123前端前端前端前端UIUI设计设计设计设计UIUI功能功能功能功能设计设计设计设计后端类及后端类及后端类及后端类及接口设计接口设计接口设计接口设计后端类及后端类及后端类及后端类及接口实现接口实现接口实现接口实现前端功能前端功能前端功能前端功能实现实现实现实现循环图文本文本文本文本文本循环名称循环名称添加文本流程图阶段阶段 1阶段阶段 2阶段阶段 3表文本文本文本文本文本文本文本文本文本文本标题标题 A标题标题 B标题标题 C标题标题 D标题标题 E标题标题 F三维饼图文本文本文本文本文本文本市场分析图标题标题文本文本文本文本公司公司徽标徽标第2章 数据的机器级表示及运算本章结构12.1 数制及转换数制及转换22.2 数值数据的机器表示数值数据的机器表示32.3 非数值数据的机器表示非数值数据的机器表示52.5 浮点数的运算浮点数的运算42.4 定点数的运算及实现定点数的运算及实现62.6 数据校验码数据校验码2.1数制及转换进位计数制进位计数制:将数字符号按序排列成数位,并遵照某种由低位到高位的进位方式计数来表示数值的方法,称为进位计数制,简称计数制。无论使用哪种进位计数制,数值的表示都包含两个基本要素:基数和位权。一种进位计数制允许使用的基本数字符号的个数称为这种进位计数制的基数。一般而言,K进制数的基数为K,可供选用的基本数字符号有K个,它们分别为0K1,每个数位计满K就向其高位进1,即“逢K进1”。进位计数制中每位数字符号所表示的数值,等于该数字符号值乘以一个与数字符号所处位置有关的常数,这个常数就称为位权,简称权。位权的大小是以基数为底、数字符号所处位置的序号为指数的整数次幂。各数字符号所处位置的序号计法为:以小数点为基准,整数部分自右向左依次为0、1、递增,小数部分自左向右依次为1、2、递减。任何进制数的值都可以表示成该进制数中各位数字符号值与相应位权乘积的累加和形式,该形式称为按权展开的多项式和。一个K进制数(N)K,用按权展开的多项式和形式可表示为:(N)KDmKm+Dm1Km1+D1K1+D0K0+D1K1+D2K2+DnKn二进制数:二进制的基数为2,只有0和1两个数字符号,计数“逢二进一”。用按权展开的多项式和形式可表示为:(N)2Dm2m+Dm12m1+D121+D020+D121+D222+Dn2n计算机内部采用二进制表示,具有以下优点:技术容易实现。运算规则简单。与逻辑量吻合。十六进制数:十六进制的基数为16,由09、AF共16个数字、字母符号组成。其中,09共10个数字符号含义与十进制数相同,AF共6个字母符号的值分别对应十进制数的1015,计数“逢十六进一”。用按权展开的多项式和形式可表示为:(N)16Dm16m+Dm116m1+D1161+D0160+D1161+D2162+Dn16n八进制数:八进制的基数为8,由07共8个数字组成,计数“逢八进一”。用按权展开的多项式和形式可表示为:(N)8Dm8m+Dm18m1+D181+D080+D181+D282+Dn8n数制的转换1.二进制数、十六进制数转换成十进制数“加权求和法”具体方法为:将要转换的二进制数或十六进制数表示成按权展开的多项式和的形式,然后逐项相加,所得的和值便是对应的十进制数。2.十进制数转换成二进制数十进制数的整数部分采用“除2取余”法进行转换。具体方法为:将要转换的十进制整数除以二进制的基数2,取商的余数作为二进制整数最低位的系数K0,继续将商的整数部分除以2,再取商的余数作为二进制整数次低位的系数K1,这样依次相除,直至商为0为止,最后一位余数作为二进制整数最高位的系数Kn。余数序列KnKn1K1K0便构成了对应的二进制数。第二代:晶体管计算机2.十进制数转换成二进制数十进制的小数部分采用“乘2取整法”进行转换。具体方法为:将要转换的十进制小数部分乘以二进制的基数2,取积的整数部分作为二进制小数的最高位的系数K1,继续将积的小数部分乘以2,再取积的整数部分作为二进制小数次高位的系数K2,这样依次相乘,直至积的小数部分为0或达到所需精度为止,最后一位积的整数部分作为二进制小数最低位的系数Km。积的整数部分序列0.K1K2Km+1Km便构成了对应的二进制数。3.二进制数与十六进制数的相互转换十六进制数与二进制数存在着简单的转换关系,每1位十六进制数正好对应4位二进制数。以小数点为界,整数部分向左、小数部分向右分成4位一组,各组分别用对应的一位十六进制数表示,即可得到所求的十六进制数。两头的分组不足4位时,在小数点左边的高位和小数点右边的低位可用0补足。2.2数值数据的机器表示所谓数据的机器数表示是指计算机硬件能够直接表示、存储和处理的数据形式。数值数据是一种带符号数,即有正负之分。在计算机中,数的符号(+或)和数的值一样都要采用二进制0、1编码。对数值数据的编码表示常用的有原码、补码、反码和移码表示等。为了区分一般书写时表示的数和机器中编码表示的数,我们称前者为真值,后者为机器数。机器数包含两部分:符号位和数值部分。1.原码表示法具体表示方法是:符号位表示该数的符号,正(+)用“0”表示,负()用“1”表示,而数值部分保持与其真值相同。纯小数的原码表示:设纯小数的原码形式为0.12n,则原码表示的定义为:原 10 1-1+|0-1纯整数的原码表示:设纯整数的原码形式为012n,则原码表示的定义为:原 2n0 2n-2n+|0-2n原码表示法的优点是比较直观、简单易懂,但它的最大缺点是加法运算复杂。这是因为,当两数相加时,如果是同号则数值相加;如果是异号,则要进行减法。而在进行减法运算时,还要比较绝对值的大小,然后减去小数,最后还要给结果选择恰当的符号。显然,利用原码作加减法运算是不太方便的。另外,原码的零是不唯一的。2.补码表示法补码表示法是计算机中实际采用的一种编码方法,与原码表示相同的是,其符号位表示该数的符号,正(+)用“0”表示,负()用“1”表示,但数值部分有所不同。纯小数的补码表示:设纯小数的原码形式为0.12n,则补码表示的定义为:补 10 2+2-|0-1纯整数的补码表示:设纯整数的原码形式为012n,则补码表示的定义为:补 2n0 2n+1+2n+1-|0-2n补码有两条重要的性质:补码的零是唯一的。补码的减法可以化为加法实现,即:X+Y补X补+Y补 XY补X补+-Y补反码表示法中,符号的表示法与原码相同;而对于数值部分,正数的反码与正数的原码数值部分相同,负数的数值部分则通过将负数原码的数值部分各位取反(0变1,1变0)得到。3.反码表示法纯小数的反码表示:设纯小数的原码形式为0.12n,则反码表示的定义为:反 10 2-2-n+2-|0-1纯整数的补码表示:设纯整数的原码形式为012n,则补码表示的定义为:反 2n0 2n+1-1+0-2n通过比较小数与整数的反码与补码的公式可得到:补反+2n(0 x1)补反+1(0 x2n)这两个公式告诉我们,若要将一个负数用补码表示,其方法是:符号位置1,数值部分各位变反,末位加1。4.移码表示法移码主要用于表示我们后面要讲到的浮点数的阶码,而且通常表示的是纯整数。对于纯整数012n,移码表示的定义是:移2n+x(2nx2n)定点数和浮点数定点数和浮点数我们日常表示的数据类型主要有两种:一是一般的数据表示形式,如125、98.6等;二是科学记数法表示的数据形式,如1.25108等。这两种数据类型对应在计算机中的表示形式就是定点数和浮点数。1.定点数的表示方法所谓定点数是指数据的小数点位置是固定不变的。在计算机中,定点数主要分为两种:一是定点整数,即纯整数;二是定点小数,即纯小数。假设用一个n+1位二进制来表示一个定点数x,其中一位0用来表示数的符号位,其余n位数代表它的数值。这样,对于任意定点数012n,其在机器中的定点数表示如下:符号01 2 .n 数值如果数x表示的是纯小数,那么小数点位于0和1之间,其数值范围为:012n如果数x表示的是纯整数,那么小数点位于最低位n的右边,其数值范围为:02n+112.浮点数的表示方法在浮点数表示中,数据被分为两部分:尾数和阶码。尾数表示数的有效数位,阶码则表示小数点的位置。加上符号位,浮点数据可以表示为:N(1)SMRE其中M是浮点数的尾数,R是基数,E是阶码,S是浮点数的符号位。在计算机中表示为:数符尾数阶码阶符E0E1 E2 .Em SM1 M2 .Mn 在计算机中,基数R取2,
展开阅读全文