您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 经营企划 > 计算机系统结构(张晨曦)基本概念
第1章计算机系统结构的基本概念多级层次结构从计算机语言的角度,把计算机系统按功能划分成多级层次结构。虚拟机器由软件实现的机器。解释语言实现的一种基本技术。每当一条N+1级指令被译码后,就直接去执行一串等效的N级指令,然后再去取下一条N+1级的指令,依此重复进行。翻译语言实现的一种基本技术。先把N+1级程序全部变换成N级程序后,再去执行新产生的N级程序,在执行过程中N+1级程序不再被访问。计算机系统结构程序员所看到的计算机的属性,即概念性结构与功能特性。经典计算机系统结构概念的实质计算机系统中软、硬件界面的确定,其界面之上的是软件的功能,界面之下的是硬件和固件的功能。透明性在计算机技术中,对本来存在的事物或属性,但从某种角度看又好象不存在的概念称为透明性。计算机组成计算机系统的逻辑实现。计算机实现计算机系统的物理实现。冯氏分类法冯氏分类法是用系统的最大并行度对计算机进行分类。它是由冯泽云先生于1972年提出的。最大并行度计算机系统在单位时间内能够处理的最大的二进制位数。可以用平面直角坐标系中的一个点L6:应用语言虚拟机L5:高级语言虚拟机L4:汇编语言虚拟机L3:操作系统虚拟机L2:机器语言(传统机器级)L1:微程序机器级第6级第5级第4级第3级第2级第1级代表一个计算机系统,其横坐标表示字宽(n位),纵坐标表示一次能同时处理的字数(m字)。m×n就表示了其最大并行度。Flynn分类法按照指令流和数据流的多倍性进行分类,它是M.J.Flynn于1966年提出的。指令流机器执行的指令序列。数据流由指令流调用的数据序列。多倍性在系统受限的部件上,同时处于同一执行阶段的指令或数据的最大数目。以经常性事件为重点对于大概率事件(最常见的事件),赋予它优先的处理权和资源使用权,以获得全局的最优结果。系统的加速比对系统中的某些部件进行改进,改进后的系统性能与改进前的系统性能之比。Amdahl定律加快某部件执行速度所获得的系统性能加速比,受限于该部件在系统中所占的重要性。可改进比例在改进前的系统中,可改进部分的执行时间在总的执行时间中所占的比例。部件加速比可改进部分改进以后性能提高的倍数。它是改进前所需的执行时间与改进后执行时间的比。程序的局部性原理程序在执行时所访问地址的分布不是随机的,而是相对地簇聚;这种簇聚包括指令和数据两部分。程序的时间局部性程序即将用到的信息很可能就是目前正在使用的信息。程序的空间局部性程序即将用到的信息很可能与目前正在使用的信息在空间上相邻或者临近。CPU性能公式程序执行的CPU时间=CPIIC/时钟频率IC程序执行过程中所处理的指令数。反映了计算机指令集的结构和编译技术。CPI指令时钟数。CPI=总时钟周期数/IC反映了计算机实现技术、计算机指令集的结构和计算机组织。响应时间从事件开始到结束之间的时间,也称为执行时间。即计算机完成某一任务所花费的全部时间,包括访问磁盘、访问存储器、输入/输出、操作系统开销等。流量在单位时间内所能完成的工作量。CPU时间CPU为用户程序工作的时间,不包含I/O等待时间及运行其他程序的时间。可细分为用户CPU时间及系统CPU时间。核心测试程序由从真实程序中提取的较短但很关键的代码构成。小测试程序通常是指代码在几十行到100行的具有一些特定目的的测试程序。用户可以随时编写一些这样的程序来测试系统的各种功能,并产生用户已预知的输出结果,如皇后问题、迷宫问题、快速排序、求素数、计算π等。合成测试程序首先对大量的应用程序中的操作进行统计,得到各种操作比例,再按这个比例构造测试程序。Whetstone与Dhrystone是最流行的合成测试程序。基准测试程序套件为了能比较全面地反映计算机在各个方面的处理性能,通常采用整套测试程序。这组程序称为基准测试程序套件,它是由各种不同的真实应用程序构成的。目前最成功和最常见的测试程序套件是SPEC系列。事务处理测试程序主要测试在线事务处理(On-LineTransactionProcessing,OLTP)系统的性能,包括数据库访问和更新等。存储程序计算机冯·诺依曼结构计算机输入/输出方式程序控制(程序等待、程序中断)、DMA、通道、I/O处理机相联存储器CAM可按内容访问的存储器。相联处理机以相联存储器为核心的处理机。相联存储器除了完成信息检索任务外,还能进行一些算术逻辑运算。系列机由同一厂家生产的具有相同的系统结构,但具有不同组成和实现的一系列不同型号的机器。软件兼容同一个软件可以不加修改地运行于系统结构相同的各档机器,而且它们所获得的结果一样,差别只在于运行时间不同。兼容机不同厂家生产的具有相同系统结构的计算机。向上(下)兼容按某档计算机编制的程序,不加修改的就能运行于比它高(低)档的计算机。向前(后)兼容按某个时期投入市场的某种型号机器编制的程序,不加修改地就能运行于在它之前(后)投入市场的机器。模拟用软件的方法在一台现有的机器(称为宿主机host)上实现另一台机器(称为虚拟机)的指令集。仿真用一台现有机器(称为宿主机)上的微程序去解释实现另一台机器(称为目标机)的指令集。并行性在同一时刻或是同一时间间隔内完成两种或两种以上性质相同或不相同的工作。只要时间上互相重叠,就存在并行性。同时性两个或多个事件在同一时刻发生的并行性。并发性两个或多个事件在同一时间间隔内发生的并行性。字串位串每次只对一个字的一位进行处理。这是最基本的串行处理方式。字串位并同时对一个字的全部位进行处理,不同字之间是串行的。字并位串同时对许多字的同一位(称为位片)进行处理。全并行同时对许多字的全部位或部分位进行处理。指令内部并行单条指令中各微操作之间的并行。指令级并行并行执行两条或两条以上的指令。线程级并行并行执行两个或两个以上的线程,通常是以一个进程内派生的多个线程为调度单位。任务级或过程级并行并行执行两个或两个以上的过程或任务(程序段),以子程序或进程为调度单元。作业或程序级并行并行执行两个或两个以上的作业或程序。时间重叠多个处理过程在时间上相互错开,轮流使用同一套硬件设备的各个部分,以加快硬件周转而赢得速度。资源重复通过重复设置资源,尤其是硬件资源,大幅度提高计算机系统的性能。资源共享是一种软件方法,它使多个任务按一定时间顺序轮流使用同一套硬件设备。同构型(对称型)多处理机由多个同类型,至少担负同等功能的处理机组成,同时处理同一作业中能并行执行的多个任务。异构型(非对称型)多处理机由多个不同类型,至少担负不同功能的处理机组成,按照作业要求的顺序,利用时间重叠原理,依次对它们的多个任务进行加工,各自完成规定的功能动作。分布处理系统把若干台具有独立功能的处理机(或计算机)相互连接起来,在操作系统的全盘控制下,统一协调地工作,而最少依赖集中的程序、数据或硬件。耦合度反映多机系统各机器之间物理连接的紧密程度和交互作用能力的强弱。松散耦合通过通道或通信线路实现计算机间互连,共享某些外围设备,机间的相互作用是在文件或数据集一级进行。紧密耦合机间物理连接的频带较高,它们往往通过总线或高速开关实现互连,可以共享主存。第2章计算机指令集结构设计堆栈型机器其CPU中存储操作数的主要单元是堆栈。累加器型机器其CPU中存储操作数的主要单元是累加器。通用寄存器型机器CPU中存储操作数的主要单元是通用寄存器。三种类型指令集结构根据CPU内部存储单元类型,将指令集结构分为堆栈型指令集结构、累加器型指令集结构和通用寄存器型指令集结构。通用寄存器型指令集结构的三种类型寄存器-寄存器型(RR:Register-Register)寄存器-存储器型(RM:Register-Memory)存储器-存储器型(MM:Memory-Memory)CISC复杂指令集计算机。RISC精简指令集计算机。指令集结构的完整性在一个有限可用的存储空间内,对于任何可解的问题,编制计算程序时,指令集所提供的指令足够使用。指令集结构的规整性没有或尽可能减少例外的情况和特殊的应用,以及所有运算都能对称、均匀地在存储器单元或寄存器单元之间进行。规整性主要包括对称性和均匀性。对称性指所有与指令集有关的存储单元的使用、操作码的设置等都是对称的。均匀性指对于各种不同的操作数类型、字长、操作种类和数据存储单元,指令的设置都要同等对待。面向高级语言(HL)的机器采用各种对高级语言和编译程序提供支持的措施,使机器语言和高级语言的语义差距比传统的冯·诺依曼型机器缩小许多。这种机器统称为面向高级语言(HL)的机器。间接执行型高级语言机器使高级语言成为机器的汇编语言。即高级语言和机器语言是一一对应的,这种机器称为间接执行型高级语言机器。直接执行型高级语言机器高级语言机器本身没有机器语言,或者说高级语言就作为机器语言。它可以直接由硬件或固件对高级语言源程序的语句逐条进行解释并执行。这种机器称为直接执行型高级语言机器。跳转当控制指令为无条件改变控制流时,称之为跳转。分支当控制指令是有条件改变控制流时,称之为分支。位置无关代码在执行时与它被载入的位置无关。操作数类型面向应用、面向软件系统所处理的各种数据结构。操作数表示硬件结构能够识别、指令系统可以直接调用的那些数据结构。操作数的类型主要有:整数(定点)、浮点、十进制、字符、字符串、向量、堆栈等。变长编码格式指令的长度是可变的。定长编码格式将操作类型和寻址方式组合编码在操作码中,所有指令的长度是固定唯一的。混合型编码格式通过提供一定类型的指令字长,期望能够兼顾降低目标代码长度和降低译码复杂度两个目标。第3章流水线技术一次重叠执行方式把执行第k条指令与取第k+l条指令同时进行。二次重叠执行方式为了进一步提高执行速度,可以增加指令重叠执行的程度。把取第k+l条指令提前到与分析第k条指令同时进行,把分析第k+l条指令与执行第k条指令同时进行。哈佛结构程序空间和数据空间相互独立,因而具有独立的指令总线和数据总线的系统结构。先行控制技术缓冲技术和预处理技术的结合。缓冲技术在工作速度不固定的两个功能部件之间设置缓冲器,用以平滑它们的工作。预处理技术指预取指令、对指令进行加工以及预取操作数等。流水线技术将一个重复的时序过程分解成为若干个子过程,而每一个子过程都可有效地在其专用功能段上与其他子过程同时执行。时(间)空(间)图用来描述流水线的工作,横坐标表示时间,纵坐标代表流水线的各段。流水线的深度流水线的段数。通过时间流水线中第一个任务流出结果所需的时间。单功能流水线只能完成一种固定功能的流水线。功能流水线流水线的各段可以进行不同的连接,从而使流水线在不同的时间,或者在同一时间完成不同的功能。TIASC的多功能流水线静态流水线在同一时间内,流水线的各段只能按同一种功能的连接方式工作。动态流水线在同一时间内,当某些段正在实现某种运算时,另一些段却在实现另一种运算。部件级流水线(运算操作流水线)把处理机的算术逻辑部件分段,以便为各种数据类型进行流水操作。处理机级流水线(指令流水线)把解释指令的过程按照流水方式处理。处理机间流水线(宏流水线)由两个以上的处理机串行地对同一数据流进行处理,每个处理机完成一项任务。标量流水处理机不具有向量数据表示,仅对标量数据进行流水处理的处理机。向量流水处理机具有向量数据表示,并通过向量指令对向量的各元素进行处理的流水处理机。线性流水线流水线的各段串行连接,没有反馈回路。非线性流水线流水线中除有串行连接的通路外,还有反馈回路。非线性流水线的调度在非线性流水线中,确定什么时候向流水线引进新的任务,才能使该任务不会与先前进入流水线的任务发生冲突——争用流水段。顺序流水线流水线输出端任务流出的顺序与输入端任务流入的顺序完全相同。每一个任务在流水线的各求阶差对阶相加规格化相乘累加输出12346578输入输入相加规格化输出输出累加相乘输入求阶差对阶2345678678(b)浮点连接(a)分段(c)定乘连接112345段中是一个跟着一个顺序流动的。乱序流水线流水线输出端任务流出的顺序与输入端任务流入的顺序可以不同,允许后进入流水线的任务先完成(从输出端流出)。又称为无序流水线、错序流水线、异步流水线。
本文标题:计算机系统结构(张晨曦)基本概念
链接地址:https://www.777doc.com/doc-6003905 .html