课程名称:计算机系统结构ComputerArchitecture教材:计算机组成与系统结构ComputerOrganizationandArchitecture授课教师:曲英杰青岛科技大学信息科学技术学院第1章计算机组成与系统结构综述本章主要内容计算机系统的基本组成及其层次结构计算机的体系结构、组成和实现计算机发展简史计算机系统的评价标准计算机系统设计的主要方法1.1计算机系统的定义计算机系统有硬件子系统和软件子系统组成。硬件就是构成计算机的物理设备,软件指控制计算机运行的程序。1.计算机系统的基本组成及其层次结构计算机是一种信息处理系统,它能够接收信息,根据事先编好的程序,对信息进行处理,并给出处理结果。1.2计算机系统的硬件组成计算机硬件系统五大功能部件包括:运算器、控制器(合称中央处理单元或微处理器,CPU或microprocessor)存储器(高速缓存、主存储器、硬盘、光盘、软盘等,ROM/RAM/SRAM/DRAM/CACHE)输入设备、输出设备(键盘、鼠标、显示器、打印机等,统称为I/O设备)这些设备和部件通过总线和接口连结在一起,构成一台完整的计算机,如下图所示:1.计算机系统的基本组成及其层次结构输入设备输出设备入出接口和总线控制器运算器硬盘等主存储器高速缓存1.2计算机系统的硬件组成1.计算机系统的基本组成及其层次结构运算器运算器部件是计算机中进行数据加工的部件,其主要功能包括:1.执行数值数据的加减乘除等算术运算,执行逻辑数据的与或非等逻辑运算,由一个被称为ALU的线路完成。2.暂时存放参加运算的数据和中间结果,由多个通用或专用寄存器承担。3.运算器通常也是数据传输的通路。1.2计算机系统的硬件组成1.计算机系统的基本组成及其层次结构控制器运算器控制器是计算机中控制指令执行的部件,向计算机各功能部件提供每一时刻协同运行所需要的控制信号:1.正确分析与执行每条指令:取指令-分析指令-执行指令。2.保证指令按规定序列自动连续地执行。3.对各种异常情况和请求及时响应和处理。1.2计算机系统的硬件组成1.计算机系统的基本组成及其层次结构硬盘主存储器高速缓存控制器运算器由高速缓冲存储器、主存储器、硬盘等所组成的多级存储器系统,是计算机中用于存储程序和数据的部件。这三级存储器各自的功能分工、所用的存储介质的工作原理和特性各不相同。1.2计算机系统的硬件组成1.计算机系统的基本组成及其层次结构输入设备硬盘主存储器高速缓存控制器运算器输入设备是向计算机中送入程序和数据的具有一定独立功能的设备,通过接口和总线与计算机主机连通,用于人机交互联系,如计算机键盘和鼠标等。1.2计算机系统的硬件组成1.计算机系统的基本组成及其层次结构输入设备输出设备硬盘主存储器高速缓存控制器运算器输出设备是计算机中用于送出计算机内部信息的设备,例如打印机、显示器等。1.2计算机系统的硬件组成1.计算机系统的基本组成及其层次结构输入设备输出设备硬盘等主存储器高速缓存控制器运算器这些部件和设备通过总线和接口连接在一起,构成计算机整机系统,协同运行。入出接口和总线1.2计算机系统的硬件组成1.计算机系统的基本组成及其层次结构计算机语言:计算机使用者用于进行程序设计的语言。包括机器语言、汇编语言、高级语言等。机器语言又称为二进制代码语言,也就是计算机的指令系统;汇编语言是采用助记符表示的机器语言;高级语言是为了减少自然语言与机器语言之间的语义差距、降低编程难度而开发的程序设计语言,包括FORTRAN/BASIC/PASCAL/COBOL/C/C++/JAVA等。计算机软件的组成:系统软件和应用软件。系统软件包括操作系统、编译器、解释器、汇编器等。高级语言程序的执行过程:通常用高级语言编写的程序首先由编译器或解释器翻译成汇编程序,然后由汇编器翻译成机器语言程序,再由连接器连接构成目标代码,最后在计算机硬件上执行。1.3计算机系统的软件组成1.计算机系统的基本组成及其层次结构图中可以看到的计算机系统的7层结构。在不同层次之间的关系表现为:上面的一层是建立在下一层的基础上实现出来的,实现的功能更强大,更接近人解决问题的思维方式和处理问题的具体过程,对使用人员更方便,使用这一层提供的功能时,不必关心下一层的实现细节。下面一层是实现上一层的基础,更接近计算机硬件实现的细节,实现的功能相对简单,人们使用这些功能更感到困难。在实现这一层的功能时,可能尚无法了解其上一层的目标和将要解决的问题,也不必理解其更下一层实现中的有关细节问题,只要使用下一层所提供出来的功能来完成本层次的功能处理即可。采用这种分层次的方法来分析和解决某些问题,有利于简化处理问题的难度,在某一段时间,在处理某一层中的问题时,只需集中精力解决当前最需要关心的核心问题即可,而不必牵扯各上下层中的其他问题。汇编语言层操作系统层指令系统层微体系结构层数字逻辑层高级语言层应用层1.4计算机系统的层次结构1.计算机系统的基本组成及其层次结构2.计算机的体系结构、组成和实现计算机体系结构(computerarchitecture):通常是指涉及机器语言或者汇编语言的程序设计人员所见到的计算机系统的属性,更多说的是计算机的外特性,是硬件子系统的结构概念及其功能特性。计算机体系结构的内容包括:计算机的字长,计算机硬件能够直接识别和处理的数据类型及其表示、存储、读写方式,指令系统(指令类别、格式、功能及寻址方式),存储器、输入输出设备和CPU之间数据传送的方式和控制,也包括中断的类型和处理流程,对各种运行异常或者出错的检测和处理方案等等,这些都是程序设计人员编写出高质量程序并确保其正常运行必须深入了解的计算机的属性。计算机体系结构主要研究硬件和软件功能的划分,确定硬件和软件的界面,即哪些功能应划分给硬件子系统完成,哪些功能应划分到软件子系统中完成。2.1计算机体系结构计算机组成(computerorganization):是依据计算机体系结构确定并且分配给硬件子系统的概念结构和功能特性,设计计算机各部件的具体组成,它们之间的连接关系,实现机器指令级的各种功能和特性。从这一点又可以说,计算机组成是计算机体系结构的逻辑实现。为了实现相同的计算机体系结构所要求的功能,完全可以有多种不同的计算机组成设计方案。因为半导体器件性能的提高,新的技术成果的面世,或者又有新的价格/性能比的需求出现,都会带来计算机组成的变化。同一个计算机体系结构可以对应多个不同的计算机组成,最典型的例子就是系列计算机(familycomputer),同一个系列的计算机往往保持软件兼容(softwarecompatibility)特性。2.计算机的体系结构、组成和实现2.2计算机组成计算机实现(computerimplementation):是计算机组成的物理实现。包括中央处理机、主存储器、输入输出接口和设备的物理结构,所选用的半导体器件的集成度和速度,器件、模块、插件、底板的划分,电源、冷却、装配等技术,生产工艺和系统调试等各种问题,一句话,就是把完成逻辑设计的计算机组成方案转换为真实的计算机,也就是把满足设计和运行、价格等各项要求的计算机系统真正地制作并调试出来。计算机体系结构、计算机组成和计算机实现是三个不同的概念,各自有不同的含义,但是又有着密切的联系,而且随着时间和技术的进步,这些含意也会有所改变。在某些情况下,有时也无须特意地去区分计算机体系结构和计算机组成的不同含义。计算机组织与体系结构相结合已经成为当今计算机科学与技术发展的一个显著趋势。2.计算机的体系结构、组成和实现2.3计算机实现按照MichaelFlynn对计算机系统结构的分类方法,计算机系统结构可以分为以下4类:(1)单指令流单数据流SISD(singleinstructionstreamsingledatastream)(2)单指令流多数据流SIMD(singleinstructionstreammultipledatastream)(3)多指令流单数据流MISD(multipleinstructionstreamsingledatastream)(4)多指令流多数据流MIMD(multipleinstructionstreammultipledatastream)SISD就是传统的单处理机系统,SIMD一般是指向量机和阵列处理机,MISD不常用,MIMD通常指多处理机系统或多计算机系统。2.计算机的体系结构、组成和实现2.4计算机系统结构的分类从制作计算机使用的元器件的不同,计算机的发展,依次经历了电子管时代,晶体管时代,中小规模集成电路时代,大规模、超大规模集成电路时代等几个不同的发展阶段。电子管计算机时代(1946~1959):电子管,是封装在玻璃外壳内的一种电真空器件,用它可以设计出实现反相功能的反相器线路,在此基础上,再实现出计算机使用的全部组合逻辑线路,诸如加法器、译码器等线路,和触发器、寄存器、计数器等各种时序逻辑线路。用电子管线路实现的属于电子管计算机。世界上第一台电子数字计算机ENIAC(ElectronicNumericalIntegratorAndcalculator),1946年由美国宾夕法尼亚大学研制,字长12位,运算速度5000次/秒,使用18800个电子管、1500个继电器,功耗150kw/h,占地170m2,重达30吨,造价100万美元。见下页图。3.电子计算机发展简史晶体管计算机时代(1959~1964):晶体管,通常指的是晶体三极管,是用半导体材料制作出来、封装在一个金属壳内的带有三个管脚的小器件,1958年进入批量生产阶段。用它可以设计出实现反相功能的反相器线路,在此基础上,再实现出计算机使用的全部组合逻辑线路,和触发器、寄存器、计数器等各种时序逻辑线路。用分立的晶体管线路实现的属于晶体管计算机。中小规模集成电路时代(1964~1975):随着半导体器件生产工艺与技术上的进步,在一片半导体基片上,可以生产出多个晶体管,并用它们形成具有一定处理功能的逻辑器件,这就是集成电路(integratedcircuit,IC)。此时集成到一个芯片内的晶体管数量还相当有限,实现的还只限于简单的、完成基本处理功能的组合逻辑门一级的电路,和简单的触发器,寄存器之类的电路,故被称为中、小规模集成电路(MSI、SSI)。3.电子计算机发展简史大规模和超大规模集成电路时代(1975-1990):半导体器件生产工艺的改进,使得在一片半导体基片上,可以生产出数量更多的晶体管,就形成了大规模集成(largescaleintegration,LSI)电路,若在一个芯片上的晶体管数量达到更多,就被叫做超大规模(verylargescaleintegration,VLSI)电路。甚大规模和极大规模集成电路时代(1990-):单个芯片内的晶体管数量达到百万个时被叫做甚大规模电路(ultralargescaleintegration,ULSI),达到一亿个时被叫做极大规模电路(extremelylargescaleintegration,ELSI)。摩尔(GordonMoore)定律:线宽每三年降低30%,单个芯片上集成的晶体管数量每18个月翻一番。3.计算机发展简史各种规模集成电路所包含的晶体管数量:SSI(small-scaleintegration):Upto100electroniccomponentsperchipMSI(medium-scaleintegration):From100to3,000electroniccomponentsperchipLSI(large-scaleintegration):From3,000to100,000electroniccomponentsperchipVLSI(verylarge-scaleintegration):From100,000to1,000,000electroniccomponentsperchipULSI(ult