计算机学院COMPUTERARCHITECTURE1计算机系统结构COMPUTERARCHITECTURE东北师大计算机学院孙铁利主讲Email:suntl@nenu.edu.cn2010年计算机学院COMPUTERARCHITECTURE2第1章计算机系统结构概论计算机学院COMPUTERARCHITECTURE3第1章计算机系统结构概论1.1计算机系统的多级层次结构1.层次结构划分的角度使用语言2.层次结构划分的目的3.多级层次结构的划分操作系统的位置计算机学院COMPUTERARCHITECTURE4传统机器级M1具有L1机器语言(机器指令系统)汇编语言机器级M2具有L2机器语言(汇编语言)第一级实际机器第二级虚拟机器用硬件译码器/微程序解释机器指令汇编语言程序经汇编程序翻译成机器语言程序高级语言机器级M3具有L3机器语言(高级语言)第三级虚拟机器高级语言程序经编译程序翻译成汇编语言(或某种中间语言程序,或机器语言程序)应用语言机器级M4具有L4机器语言(应用语言)第四级虚拟机器应用语言程序经应用程序包翻译成高级语言程序计算机系统多级层次结构计算机学院COMPUTERARCHITECTURE5传统机器级M1具有L1机器语言(机器指令系统)操作系统机器级M2具有L2机器语言(作业控制语言等)第一级实际机器第二级虚拟机器用硬件译码器/微程序解释机器指令汇编语言程序经汇编程序翻译成机器语言程序汇编语言机器级M3具有L3机器语言(汇编语言)第三级虚拟机器高级语言机器级M4具有L4机器语言(高级语言)第四级虚拟机器第零级实际机器微程序机器级M0具有L0机器语言(微指令系统)微指令由硬件直接执行第五级虚拟机器应用语言机器级M5具有L5机器语言(应用语言)应用语言程序经应用程序包翻译成高级语言程序高级语言程序经编译程序翻译成汇编语言(或某种中间语言程序,或机器语言程序)一般使用机器语言程序解释作业控制语句等计算机学院COMPUTERARCHITECTURE6第1章计算机系统结构概论1.1计算机系统的多级层次结构4.几个术语解释(Interpretation)翻译(Translation)机器(Machine)虚拟机器(Virtualmachine)计算机学院COMPUTERARCHITECTURE7第1章计算机系统结构概论机器:能存储和执行相应语言程序的算法和数据结构的集合体虚拟机器:以软件为主实现的机器称为虚拟机器翻译:先用转换程序将高一级机器上的程序全部变换成低一级机器上可运行的等效程序,然后再在低一级机器上去实现的技术.解释:在低一级机器上,用它的一串语句或指令来仿真高一级机器级上的一条语句或指令的功能,通过对高一级机器语言程序中的每条语句或指令逐条解释来实现的技术.计算机学院COMPUTERARCHITECTURE8第1章计算机系统结构概论5.多级层次结构划分的好处有利于正确理解软件、硬件、固件在计算机系统中的地位和作用推动了计算机系统结构的发展计算机学院COMPUTERARCHITECTURE9计算机学院COMPUTERARCHITECTURE10第1章计算机系统结构概论VonNeumann型计算机系统结构的特点存储器是按地址访问的顺序编址的一维结构,每个单元的位数是固定的。指令由操作码和地址码组成。操作数的数据类型由操作码确定。指令在存储器中按其顺序存储,由程序计数器指明每条指令所在单元的地址。在存储器中,指令与数据同等对待,它们本身无法区别。计算机学院COMPUTERARCHITECTURE11第1章计算机系统结构概论VonNeumann型计算机系统结构的特点机器以运算器为中心,I/O设备与存储器的数据传送均经过运算器。所有操作由控制器进行。信息以二进制编码表示,采用二进制运算。硬件与软件分离,设计单独进行。*****VonNeumann型计算机系统结构的发展计算机学院COMPUTERARCHITECTURE12第1章计算机系统结构概论1.2计算机系统结构、计算机组成与计算机实现1.2.1定义与内涵1.计算机系统结构(ComputerArchitecture)定义的提出:Amdahl,IBM,1964定义:计算机系统结构是对计算机系统中各机器级之间的界面的划分和定义,以及对各级界面上、下的功能进行分配。特定含义:层次结构中传统机器级的系统结构,界面之上为软件,界面之下为硬件/固件。计算机学院COMPUTERARCHITECTURE13第1章计算机系统结构概论1.2计算机系统结构、计算机组成与计算机实现1.2.1定义与内涵1.计算机系统结构透明性:本来存在的事物或属性,从某个角度看却好象不存在一样,我们称之为透明性。研究内容:软、硬件之间的功能分配以及对传统机器级界面的确定。计算机学院COMPUTERARCHITECTURE14第1章计算机系统结构概论计算机系统结构的属性范围数据表示寻址方式寄存器组织指令系统存储系统组织中断结构机器状态的定义和切换I/O结构信息保护计算机学院COMPUTERARCHITECTURE15第1章计算机系统结构概论2.计算机组成(ComputerOrganization)定义:指计算机系统结构的逻辑实现,包括机器级内的数据流和控制流的组成以及逻辑设计等。着眼点:机器级内各事件的排序方法与控制结构、各部件的功能及各部件间的联系。计算机学院COMPUTERARCHITECTURE16第1章计算机系统结构概论计算机组成设计考虑的主要方面数据通路宽度专用部件的设置部件的共享程度功能部件的并行度控制结构的组成方式缓冲和排队技术预估、预判技术可靠性技术计算机学院COMPUTERARCHITECTURE17第1章计算机系统结构概论3.计算机实现(ComputerImplementation)定义:指的是计算机组成的物理实现。着眼点:器件技术和微组装技术。涉及范围:处理机、主存等部件的物理结构器件的集成度和速度器件、模块、插件、底板的划分与连接专用器件的设计微组装技术信号传输电源、冷却及整机装配技术计算机学院COMPUTERARCHITECTURE18第1章计算机系统结构概论4.举例:具体问题中系统结构、组成、实现的任务举例系统结构组成实现指令系统确定实现:操作安排电路、器件的设计与排序及装配技术乘法指令是否设置硬件实现还是乘法、加法器的加法移位物理实现:集成度、微组装技术主存系统容量与编址速度器件、逻辑电路逻辑结构设计、微组装具体机器的举例:IBM370DECPDP-11计算机学院COMPUTERARCHITECTURE194.举例:具体问题中系统结构、组成、实现的任务计算机学院COMPUTERARCHITECTURE204.举例:具体问题中系统结构、组成、实现的任务计算机学院COMPUTERARCHITECTURE211.2.2计算机系统结构、组成和实现的相互关系一种计算机系统结构可以有多种计算机组成不同计算机系统结构可以使采用的组成技术产生差异计算机组成对系统结构的反作用一种计算机组成可以有多种计算机实现计算机实现对系统结构和组成的反作用三者的相互转化计算机学院COMPUTERARCHITECTURE221.2.2计算机系统结构、组成和实现的相互关系课程(学科)内容:软硬件的功能分配,实现硬件的功能程序设计者看到的计算机系统结构:软硬件功能的分配和确定机器级界面的系统结构计算机设计者看到的计算机系统结构:着眼于如何最佳最合理地实现分配给硬件的功能的计算机组成计算机学院COMPUTERARCHITECTURE23举例:欲计算:A:=B+CD:=E*F采用面向寄存器的采用面向三地址寻址方式系统结构,程序为:的系统结构,程序为:LOADR1,BADDB,C,AADDR1,CMPYE,F,DSTORER1,ALOADR2,EMPYR2,FSTORER2,D共同要求:若加乘并行,则均需要并行加法器和乘法器不同的需求:同时访问R1和R2能同时形成多个操作数的地址和并行访问存储器计算机学院COMPUTERARCHITECTURE241.3系统软硬取舍、性能评价及定量设计原理1.3.1软硬取舍的基本原则软件和硬件逻辑功能的等效性软件硬件功能分配比例必需的硬件目前的计算机系统程序不可编计算机学院COMPUTERARCHITECTURE251.3系统软硬取舍、性能评价及定量设计原理1.3.1软硬取舍的基本原则原则一:在现有硬件和器件条件下,系统要有高的性能价格比软件和硬件费用分析计算机学院COMPUTERARCHITECTURE261.3系统软硬取舍、性能评价及定量设计原理1.3.1软硬取舍的基本原则原则二:采用和拟采用的组成技术不应该过多或不合理地限制各种组成和实现技术的采用原则三:确定软硬件界面时,把为编译和操作系统的实现、高级语言程序的设计更强的硬件支持放在首位语义差距:指不同语言之间语义的不同或差异,如高级语言和机器语言之间,不同的高级语言之间等计算机学院COMPUTERARCHITECTURE271.3系统软硬取舍、性能评价及定量设计原理1.3.2系统的性能评价与定量设计原理1.计算机系统的性能评价影响计算机系统性能的因素硬件软件计算机性能的分类峰值性能持续性能算术性能平均值调和性能平均值几何性能平均值计算机学院COMPUTERARCHITECTURE281.3系统软硬取舍、性能评价及定量设计原理1.3.2系统的性能评价与定量设计原理算术性能平均值表达形式作用:衡量速率衡量时间计算机学院COMPUTERARCHITECTURE291.3系统软硬取舍、性能评价及定量设计原理1.3.2系统的性能评价与定量设计原理调和性能平均值表达形式作用:衡量时间(速度)性能比较准确计算机学院COMPUTERARCHITECTURE301.3系统软硬取舍、性能评价及定量设计原理1.3.2系统的性能评价与定量设计原理几何性能平均值作用:归一化衡量,大于1的机器性能好,反之亦然计算机学院COMPUTERARCHITECTURE311.3系统软硬取舍、性能评价及定量设计原理1.3.2系统的性能评价与定量设计原理加权方法加权算术平均值加权调和平均值加权几何平均值表达形式(P10-11)作用:各程序出现的比例不同情况计算机学院COMPUTERARCHITECTURE321.3系统软硬取舍、性能评价及定量设计原理1.3.2系统的性能评价与定量设计原理程序执行时间(Tcpu)的计算前提:忽略CPU以外的系统开销时间Tcpu=IC×CPI×1/fcIC:程序执行指令总数CPI:每条指令的时钟数fc:主时钟频率n:指令的种类Ii:表示第i种指令计算机学院COMPUTERARCHITECTURE331.3系统软硬取舍、性能评价及定量设计原理1.3.2系统的性能评价与定量设计原理CPU运行速度的指标单位时间执行指令数:MIPS6-6MIPS=IC/(Tcpu×10)=fc/CPI×10适用场合:衡量相同指令系统的计算机的性能标量计算机的性能计算机学院COMPUTERARCHITECTURE341.3系统软硬取舍、性能评价及定量设计原理1.3.2系统的性能评价与定量设计原理CPU运行速度的指标单位时间处理浮点数:MFLOPS-6MFLOPS=IFN/Tcpu×10IFN程序运行中的浮点运算总次数适用场合:衡量计算机的向量处理性能比较不同向量计算机的向量处理能力影响因素:程序中浮点运算与定点运算的比例计算机学院COMPUTERARCHITECTURE351.3软硬取舍与计算机系统的设计思路1.3.2系统的性能评价与定量设计原理MIPS与MFLOPS的对应关系1MFLOPS≈3MIPS计算机学院COMPUTERARCHITECTURE361.3.2系统的性能评价与定量设计原理基准程序(Benchmark)评价方法基准程序,用于测试硬件或软件性能的程序。硬件基准程序利用程序来测试设备的性能,例如:CPU执行指令的速度。软件基