1/1122/1123/112第1章计算机系统结构的基础知识第2章指令系统的设计第3章流水线技术第4章向量处理机第5章指令级并行及其开发----硬件方法第6章指令级并行的开发------软件方法第7章存储系统第8章输入输出系统第9章互连网络第10章多处理机第11章机群系统第12章阵列处理机第13章数据流计算机4/1121.1引言1.2计算机体系结构的概念1.3计算机体系结构的发展1.4影响计算机体系结构的成本和价格因素1.5定量分析技术基础1.6计算机体系结构中并行性的发展第一章计算机体系结构的基本概念5/1121.1引言1.计算机性能的高速增长受益于:2.体系结构的重要性3.基于微处理器的系统电路技术的发展体系结构技术的发展第一章计算机体系结构的基本概念6/1121.2.1计算机系统中的层次概念1.计算机系统=软件+硬件/固件2.计算机语言由低级向高级发展高一级语言的语句相对于低级语言功能更强,更便于应用,但又都以低级语言为基础。3.从计算机语言的角度,把计算机系统按功能划分成多级层次结构。1.2计算机体系结构的概念第一章计算机体系结构的基本概念7/112第6级:应用语言虚拟机第5级:高级语言虚拟机第4级:汇编语言虚拟机第3级:操作系统虚拟机第2级:机器语言(传统机器级)第1级:微程序机器级软件硬件或固件8/112(1)虚拟机:由软件实现的机器。(2)语言实现的两种基本技术◆翻译:先把N+1级程序全部变换成N级程序后,再去执行新产生的N级程序,在执行过程中N+1级程序不再被访问。◆解释:每当一条N+1级指令被译码后,就直接去执行一串等效的N级指令,然后再去取下一条N+1级的指令,依此重复进行。解释执行比翻译花的时间多,但存储空间占用较少。1.2计算机体系结构的概念9/1121.2.2计算机体系结构1.计算机体系结构的定义:程序员所看到的计算机的属性,即概念性结构与功能特性。2.按照计算机系统的多级层次结构,不同级程序员所看到的计算机具有不同的属性。3.透明性在计算机技术中,对这种本来是存在的事物或属性,但从某种角度看又好象不存在。1.2计算机体系结构的概念10/1124.Amdahl提出的体系结构:传统机器级的体系结构。即一般所说的机器语言程序员所看到的传统机器级所具有的属性。5.对于通用寄存器型机器,这些属性主要是指:(1)数据表示(硬件能直接辩认和处理的数据类型)(2)寻址规则(包括最小寻址单元、寻址方式及其表示)(3)寄存器定义(包括各种寄存器的定义、数量和使用方式)1.2计算机体系结构的概念11/112(4)指令集(包括机器指令的操作类型和格式、指令间的排序和控制机构等)(5)中断系统(中断的类型和中断响应硬件的功能等)(6)机器工作状态的定义和切换(如管态和目态等)(7)存储系统(主存容量、程序员可用的最大存储容量等)1.2计算机体系结构的概念12/112(8)信息保护(包括信息保护方式和硬件对信息保护的支持)(9)I/O结构(包括I/O连接方式、处理机/存储器与I/O设备间数据传送的方式和格式以及I/O操作的状态等)经典计算机体系结构概念的实质:计算机系统中软硬件界面的确定,其界面之上的是软件的功能,界面之下的是硬件和固件的功能。1.2计算机体系结构的概念13/1121.2.3计算机组成和计算机实现技术1.计算机组成:计算机体系结构的逻辑实现。2.计算机实现:计算机组成的物理实现。一种体系结构可以有多种组成。一种组成可以有多种物理实现。3.系列机(1)系列机在一个厂家内生产的具有相同的体系结构,但具有不同组成和实现的一系列不同型号的机器。1.2计算机体系结构的概念14/112(2)IBMPC系列机(处理器、处理器字宽、主要I/O总线、存储空间、主要操作系统和计算机结构)如:IBM370系列有370/115、125、135、145、158、168等一系列从低速到高速的各种型号。1.2计算机体系结构的概念15/11280386/80486CPU(b)80386/80486PC存储器I/O设备ISA总线总线控制器处理器总线/VL总线VL设备1.2计算机体系结构的概念16/112PentiumCPU存储器PCI设备PCI总线总线控制器1处理器总线(c)PentiumPCI/O设备ISA总线总线控制器21.2计算机体系结构的概念17/112PentiumII/ⅢCPU存储器PCI设备PCI总线总线控制器1处理器总线(d)PentiumII/ⅢPCI/O设备ISA总线总线控制器2AGP总线AGP显示卡1.2计算机体系结构的概念18/112Pentium4CPU存储器PCI设备PCI/PCI-E总线总线控制器1处理器总线(e)Pentium4PCUSB设备USB总线总线控制器2PCI-E设备1.2计算机体系结构的概念19/1124.软件兼容:同一个软件可以不加修改地运行于体系结构相同的各档机器,而且它们所获得的结果一样,差别只在于有不同的运行时间。时间机器档次高低向上兼容向下兼容向前兼容向后兼容当前机器1.2计算机体系结构的概念20/112◆向上(下)兼容:按某档机器编制的程序,不加修改的就能运行于比它高(低)档的机器。◆向前(后)兼容:按某个时期投入市场的某种型号机器编制的程序,不加修改地就能运行于在它之前(后)投入市场的机器。向后兼容是软件兼容的根本特征,也是系列机的根本特征。5.兼容机不同厂家生产的具有相同体系结构的计算机。1.2计算机体系结构的概念21/1121.3计算机体系结构的发展1.3.1存储程序计算机体系结构及其发展运算器(ALU)控制器存储器输入设备输出设备数据流控制流第一章计算机体系结构的基本概念22/1121.存储程序计算机的主要特点(1)机器以运算器为中心;(2)采用存储程序原理;(3)存储器是按地址访问的、线性编址的空间;(4)控制流由指令流产生;(5)指令由操作码和地址码组成;(6)数据以二进制编码表示,采用二进制运算。1.3计算机体系结构的发展23/1122.对体系结构进行的改进(1)分布的I/O处理能力以运算器为中心带来了慢速输入/输出操作占用快速运算器的问题。为了解决这一问题,人们提出了各种输入/输出方式。1.3计算机体系结构的发展24/112程序控制输入输出方式DMAI/O处理机程序等待程序中断成组传递周期挪用通道外围处理机1.3计算机体系结构的发展25/112(2)保护的存储器空间是否把指令和数据放在同一存储器中?优点:不必预先区分指令和数据,易实现存储管理软件;程序和指令在执行过程中可以被修改,因而可以编写出灵活的可修改的程序;对于存取指令和数据仅需一套读/写和寻址电路,硬件简单;数据可以分配于任何可用空间,从而可更有效地利用存储空间等。1.3计算机体系结构的发展26/112缺点:不利于进行程序调试诊断;不利于实现程序的可再入性和程序的递归调用;不利于重叠和流水方式的操作。现在绝大多数计算机都规定,在执行进程中不准修改程序。1.3计算机体系结构的发展27/112(3)存储器组织结构的发展相联存储器和相联处理机通用寄存器高速缓冲存储器和多级存储器组织结构(4)并行处理技术如何挖掘传统机器中的并行性?◆改进CPU的组成重叠方式先行控制1.3计算机体系结构的发展28/112◆在体系结构上对某些计算问题实现并行计算如向量计算◆多机并行处理系统把一个作业(程序)划分成能并行执行的多个任务(程序段),把每个任务分配给一个处理机执行。多操作部件流水方式1.3计算机体系结构的发展29/112复杂指令集计算机(CISC)精简指令集计算机(RISC)(5)指令集结构的发展◆指令集的功能◆指令的地址空间和寻址方式多种灵活的寻址方式1.3计算机体系结构的发展30/1121.3.2计算机的分代和分型1.计算机到目前为止已经发展了五代这五代计算机分别具有明显的器件、体系结构技术和软件技术的特征。2.计算机可以根据价格分为五个档次巨型机、大型机、中型机、小型机、微型机1.3计算机体系结构的发展31/112第一代(1945-1954)电子管和继电器存储程序计算机、程序控制I/O机器语言和汇编语言普林斯顿ISA、ENIAC、IBM701第二代(1955-1964)晶体管、磁芯、印刷电路浮点数据表示、寻址技术、中断、I/O处理机高级语言和编译、批处理监控系统UnivacLARC、CDC1604、IBM7030第三代(1965-1974)SSI和MSI、多层印刷电路、微程序流水线、Cache、先行处理、系列计算机多道程序和分时操作系统IBM360/370、CDC6600/7600、DECPDP-8第四代(1974-1990)LSI和VLSI、半导体存储器向量处理、分布式存储器并行与分布处理Cray-1、IBM3090、DECVAX9000、Convax-1第五代(1991-)高性能微处理器、高密度电路指令级并行、SMP、MP、MPP、网络大规模、可扩展并行与分布处理SGICrayT3E、IBMSP2、DECAlphaServer840032/112时间价格(对数坐标)巨型机t大型机中型机小型机微型机虚线为等性能线3.计算机系统性能随时间“下移”1.3计算机体系结构的发展33/1121.3.4计算机实现技术的发展1.现代计算机实现技术的基础核心是以晶体管为基本单元的平面集成电路2.摩尔定律集成电路密度大约每两年翻一番。3.内存芯片和Intel微处理器的发展变化1.3计算机体系结构的发展34/1121101001000100001000001000000100000001000000001000000000100000000001965197019751980198519901995200020052010存储器(位)Intel处理器(晶体管数)1K4K16K64K256K1M4M16M64M128M256M512M4004800880868028680386DX80486DXPentiumPentiumIIPentiumIIIPentium480801G2G4G图1.7内存芯片密度和Intel微处理器集成度的发展1.3计算机体系结构的发展35/1124.四种实现技术对于当代计算机的发展发挥着非常关键的作用逻辑电路半导体DRAM(动态随机访问存储器)磁盘网络1.3计算机体系结构的发展36/1121.3.5技术的挑战和体系结构的生命周期1.对计算机系统设计人员的技术挑战体系结构、设计工具、制造工艺、软件和应用等多个方面,甚至包括经济的问题。2.集成电路制造中的重要技术指标之一:特征尺寸1.3计算机体系结构的发展37/112型号4004800880808086/80888028680386DX80486DXPentiumPentiumProPentiumIIPentiumIIIPentium4发布日期197119721974197819821985198919931995199719992000制造工艺PMOSPMOSNMOSNMOSCMOSCMOSCMOSBiCMOSBiCMOSCMOSCMOSCMOS特征尺寸(m)1010631.51.51.00.80.350.350.180.18集成度(晶体管)2300350060002900013400027500012000003100000550000075000002800000042000000工作频率108KHz200kHz2MHz5MHz6MHz16MHz25/33MHz60/66MHz150MHz233MHz500MHz1400MHz基片面积(mm2)13.515.220.028.668.7104163264310209140224表1.4Intel公司部分微处理器的部分工艺参数38/1123.随着特征尺寸减小,挑战首先是功耗。原因:1.3计算机体系结构的发展(1)导致集成电路连线的相对长度增加,单位长度阻抗也增大,更高的电路工作主频需要更大的电流来驱动电平的翻转和信号变化的传递;(2)电路密度增加,导致芯片单位面