计算机系统结构-教学大纲(1)学时数:48教学方式:讲授预备知识:计算机导论,汇编语言程序设计,数据结构,计算机组成原理。平行课程:编译原理,操作系统。后续课程:分布式/并行程序设计。教材:计算机体系结构(张晨曦等编)计算机系统结构-教学大纲(2)教学内容:本课程主要介绍计算机系统结构和组成的基本概念、基本原理、基本结构和基本分析方法,计算机系统的分层结构,指令系统和数据表示,中断和输出输入系统,存储体系,重叠、流水和向量处理机,并行处理机,相联处理机,多处理机。计算机系统结构-教学大纲(3)课程设置为48学时,分6章讲授:第一章,计算机系统结构的基本概念,6学时。主要介绍计算机系统结构的概念,计算机系统结构的发展,定量分析技术。第二章,计算机指令集结构设计,8学时。主要介绍计算机指令集结构的分类,寻址技术,计算机指令集结构的功能设计。第三章,流水线技术,10学时。主要介绍流水线的基本概念,流水线中的相关及其处理,向量的流水处理机。计算机系统结构-教学大纲(2)第四章,存储体系,12学时。主要介绍存储体系的层次结构,Cache基本知识,主存系统。第五章,输入输出系统,10学时。主要介绍输入输出系统的发展,输入输出设备与CPU和存储器的连接。第六章,多处理机,2学时。主要介绍多处理机的结构和互连方式。第0章概述0.1课程的设置目的系统全面地学习、了解和掌握计算机系统结构的基本知识(理论和技术)和发展0.2课程的性质和特点计算机系统是软件和硬件相结合的一个复杂的综合体。要研究如何更好地实现软硬件功能分配,使系统有尽可能高的性能价格比0.3学习中应注意的问题对所学的基本原理、方法等理论性、概念性较强的部分,着眼于理解其内涵,进行必要的归纳和小结,理出有关要点和思路。对于典型的应用或计算、设计等问题,应领会其分析的方法和解题的思路和步骤。计算系统结构第一章计算机系统结构的基本概念本章基本要求1.领会一台完整的通用计算机系统可以被看成是由多个不同机器级构成的多级层次结构,每一级都可看成是一台机器,都有自己的机器语言和实现方法。2.掌握计算机系统结构、计算机组成和计算机实现三者的定义及各自研究的方面和内容。3.领会一个功能分别用软件和硬件实现的优点和缺点。掌握在功能分配中的软、硬件比例取舍原则。4.理解系统结构设计为什么要解决好软件的可移植性。掌握实现软件移植的三种途径、各自的方法、适用场合、存在问题及应采取的对策。领会系列机软件的各种兼容的定义及基本要求。5.了解应用和器件的发展对系统结构设计的影响6.领会并行性的定义,并行性的二重含义和开发并行性的三种途径。1.1引言计算机性能增长的表现特征:速度和容量的快速增长;体积的快速下降;价格的快速下降。性能快速增长的技术因素:电路技术:电子管→晶体管→集成电路→微处理器;计算机体系结构技术:冯·诺依曼(VonNeumann)计算机体系结构的提出→系列机→微处理器→RISC1.1引论(续)微处理器对计算机系统的影响第一,性能的快速增长;第二,计算机产品的批量化、标准化;第三,计算机系统的兼容化。应用的变化字符界面向多媒体转化。1.2计算机体系结构的概念通用计算机设计的目标:追求高的性能/价格比。计算机系统的层次概念:计算机语言分层:计算机语言由低级到高级发展,高一级的语言相对于低一级的语言功能更强,更便于应用,但又都是以低级语言为基础。1.2计算机体系结构的概念计算机系统的分层:计算机系统按语言的功能划分成多级层次结构,每一层以一种不同的语言为特征。虚拟机器和实际机器:对于每一层来说,这一层的程序员似乎有一种机器,这层的语言就是这种机器的机器语言。完全由软件实现的机器为虚拟机器,由硬件或固件实现的机器为实际机器。1.2计算机体系结构的概念第六级:应用语言虚拟机第五级:高级语言虚拟机第四级:汇编语言虚拟机第三级:操作系统虚拟机第二级:机器语言(传统机器级)第一级:微程序机器级1.2计算机体系结构的概念高层语言的实现高层语言是以低层语言为基础实现的。翻译和解释是两种基本的实现技术,它们都是以执行一串N级指令来实现一条N+1级指令。它们的区别是:翻译技术是先把N+1级程序全部变换成N级程序后,再去执行新产生的N级程序,在执行过程中N+1级程序不再被访问。而解释技术是每当一条N+1级指令被译码后,就直接去执行一串等效的N级指令,然后再去取下一条N+1级的指令,依此重复进行。仿真:由微程序解释指令集。1.2计算机体系结构的概念计算机体系结构计算机体系结构是程序员所看到的计算机的属性,即概念性结构与功能特性。一般来说,计算机体系结构是指传统机器级的体系结构,即一般所说的机器语言程序员所看到的传统机器级所具有的属性。1.2计算机体系结构的概念透明性概念本来是存在的事物或属性,但从某种角度看又好像不存在的概念称为透明性。在一个计算机系统中,低层机器的属性对高层机器的程序员往往是透明的。1.2计算机体系结构的概念计算机体系结构的研究内容(1)数据表示;(2)寻址规则;(3)寄存器定义;(4)指令集;(5)中断系统;(6)机器工作状态;(7)存储系统;(8)信息保护;(9)I/O结构。研究目的:(1)合理的软硬件功能分配(软件和硬件在逻辑功能上是等效的,而在性能上是不等效的);(2)好的性能价格比。1.2计算机体系结构的概念计算机组成和计算机实现技术计算机组成是计算机体系结构的逻辑实现,而计算机实现是计算机组成的物理实现。系列机所谓系列机,就是指在一个厂家内生产的具有相同的体系结构,但是具有不同组成和实现的一系列不同型号的机器。一种体系结构可以有多种组成。同样,一种组成可以有多种物理实现。1.2计算机体系结构的概念软件兼容一个软件可以不加修改地运行于体系结构相同的各档机器上,而所获得的结果是一样的,差别只在于运行时间不同。在这种情况下各档机器是软件兼容的。兼容机,不同厂家生产的具有相同体系结构的计算机。硬件兼容功能上和电器性能上相同的主机和设备。1.2计算机体系结构的概念向上(下)兼容、向前(后)兼容所谓向上(下)兼容指的是按某档机器编制的程序,不加修改就能运行于比它高(低)档的机器。所谓向前(后)兼容指的是按某个时期投入市场的某种型号机器编制的程序,不加修改就能运行于在它之前(后)投入市场的机器。一般来说必须做到向后兼容。1.2计算机体系结构的概念当前机器机器档次时间低高向上兼容向下兼容向前兼容向后兼容1.3计算机体系结构的发展软件和硬件在逻辑功能上是等效的,而在性能上是不等效的。存储程序计算机体系结构及其发展存储程序计算机又称为冯·诺依曼结构计算机。1.3计算机体系结构的发展运算器(ALU)控制器存储器输入设备输出设备数据流控制流存储程序计算机在体系结构上的主要特点:(1)以运算器为中心;(2)采用存储程序原理;(3)存储器按地址访问、地址空间是线性编制的;(4)控制流由指令流产生;指令由操作码和地址码组成;(5)数据以二进制编码表示,采用二进制运算;(6)软硬件完全分开,硬件固定软件适应硬件。1.3计算机体系结构的发展冯·诺依曼结构计算机评价:(1)以运算器为中心,由控制器集中控制缺点:运算器与I/O设备速度不匹配,控制器成为瓶颈问题。改进:增设IOP、以存储器为中心、分布/并行处理。(2)采用存储程序原理,指令和数据同等对待,先存储后执行缺点:执行时需区分指令与数据,字长不同造成空间浪费改进:指令与数据分别存储,指令执行时不可修改。(3)存储器按地址访问、地址空间是线性编址,顺序存储顺序执行缺点:对与执行顺序无关的程序难以发挥系统的并行性改进:数据驱动的数据流机器,先行控制、重叠与流水。1.3计算机体系结构的发展(4)控制流由指令流产生,操作码指定操作性质和数据类型缺点:操作数的数据类型在译码阶段才能长生改进:高级数据表示,数据自带类型标识。(5)数据以二进制编码表示,采用二进制运算缺点:不利于事务处理等非数值运算改进:高级数据表示,字符、图形类型标识。(6)软硬件完全分开,硬件固定软件适应硬件缺点:软硬件功能僵化,不利于优化程序设计改进:软硬件结合设计,动态自适应机器。1.3计算机体系结构的发展1.2计算机体系结构的概念第六级:应用语言虚拟机第五级:高级语言虚拟机第四级:汇编语言虚拟机第三级:操作系统虚拟机第二级:机器语言(传统机器级)第一级:微程序机器级1.3计算机体系结构的发展体系结构的发展概况:(1)分布的I/O处理能力输入/输出方式程序控制DMAI/O处理机程序等待程序中断成组传送周期挪用通道外围处理机1.3计算机体系结构的发展(2)保护存储空间。在执行过程中不准修改程序。这是通过存储管理硬件的支持,由操作系统软件实现的。(3)存储器组织结构的发展。随机访问存储器;相联存储器;寄存器;高速缓冲存储器cache。(4)并行处理技术。重叠(流水);向量计算机;多机并行处理系统。(5)指令集的发展。复杂指令集计算机CISC;精简指令集计算机RISC。寻址方式由直接寻址发展到间接寻址、变址寻址、相对寻址、基址寻址、页式寻址等。1.3计算机体系结构的发展计算机的分代和分型第一代(1945~1954)电子管和继电器存储程序计算机、程序控制I/O机器语言和汇编语言第二代(1955~1964)晶体管、磁芯、印刷电路浮点数据表示、寻址技术、中断、I/O处理机高级语言和编译、批处理系统第三代(1965~1974)SSI和MSI、多层印刷电路、微程序流水、cache、先行处理、系列机多道程序和分时操作系统第四代(1974~1990)LSI和VLSI、半导体存储器向量处理、分布式存储器并行和分布处理第五代(1991~)高性能处理器、高密度电路超标量、超流水、SMP、MP、MPP1.3计算机体系结构的发展性能和技术的下移价格时间巨型机大型机中型机小型机微型机虚线为等性能线应用需求的发展(1)指令集结构必须能够适应硬件技术、软件技术及应用特性的变化。(2)计算机的设计受两方面因素的影响:一方面是计算机现在和未来的使用方法,另一方面是下层的实现技术。(3)软件技术的发展趋势:一方面是程序和数据所使用存储器容量的不断增大,另一方面是高级语言广泛使用。(4)编译器成为用户界面,编译技术增加新的功能。1.3计算机体系结构的发展1.3计算机体系结构的发展计算机实现技术的发展(1)逻辑电路。集成度和工作频率不断提高。(2)半导体DRAM。芯片密度不断提高,但存储周期时间减少比较缓慢。(3)磁盘。磁盘密度快速增长。但存取时间下降比较缓慢。1.3计算机体系结构的发展体系结构的生命周期(1)任何一种体系结构是有其生命周期的,从诞生、发展、成熟到消亡。(2)新的体系结构的诞生,往往以硬件为标志。(3)它的发展和成熟以其配套的系统软件和应用软件为标志。(4)一种体系结构不能满足应用的需要,这种体系结构就消亡,新的体系结构就诞生了。1.4定量分析技术基础软硬件取舍问题硬件比例↑→速度↑→控制程序存储容量↓→成本↑→灵活性↓→适应性↓1.4定量分析技术基础软件比例↑→速度↓→控制程序存储容量↑→成本↓→灵活性↑→适应性↑1.4定量分析技术基础实现费用分析:Ds:软件一次设计费用;Dh:硬件一次设计费用;C:软件重复设计次数;R:软件重复使用次数;Ms:软件重复生产费用;Mh:硬件重复生产费用;V:同一系列机生产台数1.4定量分析技术基础每次设计费用:Dh≈100Ds每次重复生产费用:Mh≈100Ms软件设计成功费用:C×Ds每台机器硬件实现费用:Dh/V+Mh每台机器软件实现费用:C×Ds/V+R×Ms1.4定量分析技术基础分析:1.Dh/V+Mh<C×Ds/V+R×Ms时适合硬件实现;2.100Ds/V+100Ms<C×Ds/V+R×Ms软件重复使用次数R和软件重复设计次数C越大越适合硬件生产;1.4定量分析技术基础3.Ds远大于Ms,可取Ds≈104×Ms,有:106/V+100<104×C/V+R可设C<100有:106/V+100<106/V+