《计算机系统结构》 李学干 北京:机械工业出版社

ISBN 978-7-111-39635-2

自考独本段教材。


 第1章 概 论

1.1 计算机系统的层次结构

从使用语言的角度,一台由软、硬件组成的通用计算机系统可以被看成是按功能划分的多层机器级组成的层次结构。

具体的计算机系统,其层次数的多少可以有所不同。

计算机系统的多级层次结构

计算机系统的多级层次结构

翻译(Translation)技术是先用转换程序将高一级机器级上的程序整个地变换成低一级机器级上等效的程序,然后在低一级机器级上实现的技术。

解释(Interpretation)技术则是在低级机器级上用它的一串语句或指令来仿真高级机器级上的一条语句和指令的功能,是通过对高级机器级语言程序中的每条语句或指令逐条解释来事先的技术。

1.2 计算机系统结构、计算机组成和计算及实现

1.2.1 计算机系统结构的定义和内涵

透明(Transparent):如果客观存在的事物或属性从某个角度看不到,则称对它是透明的。

计算机系统结构研究的是软、硬件之间的功能分配以及对传统机器级界面的确定。为机器语言、汇编语言程序设计者或编译程序生成系统设计或生成的程序能在机器上正确运行提供应看到和遵循的计算机属性。

就目前的通用机来说,计算机系统机构的属性包括:

1) 硬件能直接识别和处理的数据类型及格式等的数据表示。

2) 最小可寻址单位、寻址种类、地址计算等的寻址方式。

3) 通用/专用寄存器的设置、数量、字长、使用约定等的寄存器组织。

4) 二进制或汇编指令的操作类型、格式、排序方式、控制机构等的指令系统。

5) 主存的最小编址单位、编址方式、容量、最大可编编址空间等的存储系统组织。

6) 中断的分类与分级、中断处理程序功能及入口地址等的中断机构。

7) 系统机器级的管态和用户态的定义与切换。

8)输入/输出设备的连接、使用方式、数量、操作结束、出错指示等的机器级I/O结构。

9) 系统各部分的信息保护方式和保护机构等属性。、

1.2.2 计算机组成与计算机实现的内涵

1. 计算机组成

计算机组成指计算机系统结构的逻辑实现,包括机器级内部的数据流和控制流的组成以及逻辑设计等。

计算机组成着眼于机器级内部各时间的排序方式与控制机构、各部件的功能及各部件之间的联系。它要解决的问题是希望达到的性能和价格的情况下,如何更好、更合理地把各种设备和部件组织成计算机,实现所确定的系统结构。

计算机组成设计要确定的方面一般包括:

1) 数据通路宽度(数据总线一次并行传送的信息位数)

2) 专用部件的设置

3) 各种操作对部件的共享程度

4) 功能部件的并行度

5) 控制机构的组成方式

6) 缓冲和排队技术

7) 预估、预判技术

8) 可靠性技术

2.计算及实现

计算机实现指的是计算机组成的物理实现。

1.2.3 计算机系统结构、组成和实现的相互关系和影响

计算机系统结构、组成、实现三者互不相同,但又相互影响。

相同结构的计算机可以采用不同的组成,一种组成也可有多种不同的实现方法。

组成也会影响结构,组成设计向上决定于结构,向下受限于实现技术。

计算机组成和计算机实现关系密切,可以合称为计算机实现,即计算机系统的逻辑实现和物理实现。

1.3 计算机系统的软、硬件取舍及定量设计原理

1.3.1 软、硬件取舍的基本原则

原则1 应考虑在现有硬、器件(主要是逻辑器件和存储器件)条件下,系统要有搞的性能价格比,主要从实现费用、速度和其他性能要求来综合考虑。

原则2 要考虑到准备采用和可能采用的组成技术,使之尽可能不要过多或不合理地限制各种组成、实现技术的应用。

原则3 不能仅从“硬”的角度考虑如何便于应用组成技术的成果和便于发挥器件技术的发展,还应从“软”的角度把如何为编译和操作系统的实现以及为高级语言程序设计提供更多、更好的硬件支持放在首位。

应当进一步缩短高级语言与机器语言、操作系统与计算机系统结构、程序设计环境等于计算机系统结构之间存在的语义差距。计算机系统结构、机器语言是用硬件和固件实现的,而这些语义差距是用软件来填补的。语义差距的大小实际上取决于软、硬件的功能分配,差距缩小了,系统结构对软件设计的支持就加强了。

1.3.2 计算机系统的定量设计原理

1.哈夫曼(Huffman)压缩原理

尽可能加速处理高概率的事件远比加速处理概率很低的事件对性能的提高要显著。

2.Amdahl定律

1967年由IBM公司的Amdahl在设计IBM360系列机时首先提出。

该定于可用于确定对系统中性能平静不见采取措施提高速度后系统性能改进的程度,即系统加速比Sp。系统加速比Sp定义为系统改进后的性能与未改进时的性能的比值,或者定义为系统未改进时的程序执行时间Told与改进后的程序执行时间Tnew的比值。系统加速比Sp与两个因素有关,即性能可改进比fnew和部件加速比rnew
这样,系统加速比为:

式中,分母的(1-fnew)为不能改进性能这部分的比例。

可见,当系统性能可改进比fnew为0时,Sp=1;而当部件加速比rnew趋于无穷大时,分母中fnew/rnew将趋于0,这里有

就是说,性能提高的幅度受限于性能改进部分所占比例的大小,而性能改善的极限又受性能可改进比fnew的约束。

Amdahl定律告诉我们,改进效果好的高性能系统应使一个各部分性能均能平衡得到提高的系统,不能只是其中某个功能部件性能的提高。

3.程序访问的局部性定律

程序访问的局部性包括了时间上和空间上的两个局部性。时间上的局部性指的是现则正是用的信息可能不久还要使用,这是因为程序存在着循环。空间上的局部性指的是最近的将来要用到的信息可能与现在正在使用的信息在程序位置上是邻近的,这是因为指令通常是顺序存放、顺序执行的,数据也通常是以向量、阵列、树、表等形式簇聚集存放在一起的。

1.3.3 计算机系统设计的主要任务和方法

1.计算机系统设计的主要任务

计算机系统设计的主要任务包括系统结构、组成和实现的设计,首先要根据市场和应用情况,确定用户对计算机系统的功能、性能和价格的要求。

1)确定应用领域是专用还是通用。

2)确定软件兼容层次。

3)确定对操作系统的要求。

4)保证有高的标准化程度。

2.计算机系统的设计方法

从多级层次出发,计算机系统的设计按多级层次结构的由上、下、中开始设计可以有“由上往下”、“由下往上”、“由中间开始”3中不同的设计方法。

1)“由上往下”设计,也称“由顶向低”设计。根据满足应用要求,定好面向应用的那个虚拟机器级的特性和工作环境,再逐级向下设计。由上向下设计师一种串行设计方法,设计周期长,是一种对环境要求比较稳定的专用机设计方法。

2)“由下往上”设计,也称“由底向顶”设计,根据目前能用的器件,参照、吸收已有各种机器的特点,将微程序机器级和传统机器级研制出来。然后加配适用的操作系统和编译系统软件。该类设计一体式串行设计,同样会延长设计周期,现在已经很少使用。

3)“从中间开始”向两边设计,这是通用机一般采用的方法,它可以克服其他两种设计方法中,软硬件设计分离和脱节的致命缺点。该类设计是选择从层次结构的主要软硬件界面开始设计,即在传统机器语言级与操作系统机器级之间进行合理的软硬件分配。定义好界面后,向上向下同时展开设计。

1.4 软件、应用、器件的发展对系统结构的影响

1.4.1软件发展对系统结构的影响

软件的可移植性指的是软件不修改或只经少量修改就可由一台机器移到另一台机器上运行,统一软件可用用于不同的环境。

实现软件移植的技术主要有如下几种

1.统一高级语言

由于高级语言是面向题目和算法的,与机器的具体结构关系不大。但目前没有一种对各种应用真正通用的高级语言,有如下原因:

1)不同的用途要求语言的语法、语义结构不同。

2)人对语言的基本结构看法不一

3)即使同一种高级语言在不同厂家的机器上也不能完全通用。

4)习惯

2.采用系列机

3.模拟和仿真

(1)模拟

系列机只能在系统结构相同或相近的机器之间实现汇编语言软件的移植。为实现不同系统结构的机器之间的机器语言软件一直,就必须做到一种机器的系统结构上实现另一种机器的系统结构。从系统结构的主要方面——指令系统来看,就是要在一种机器上实现另一种机器的指令系统。

这种用机器语言程序解释实现软件移植的方法称为模拟(Simulation)。进行模拟的机器称为宿主机,被模拟的机器称为虚拟机。

为了使虚拟机的应用软件在宿主机上运行,除了模拟虚拟机的机器语言之外,还得模拟其存储体系、I/O系统和控制台操作。以及形成虚拟机的操作系统。让虚拟机的操作系统受到宿主机操作系统的控制,实际上是把它作为徐主机的一道应用程序,使原来分别在宿主机和虚拟机上运行的应用软件可以再宿主机上共同执行。

所有为各种模拟所编制的解释程序统称为模拟程序。

模拟程序的编制非常复杂费时,同时虚拟机的指令不能直接被宿主机硬件执行,需要在宿主机上解释,这使得模拟的运行速度降低,实时性变差。

模拟的方法只适合于移植运行时间短。使用次数少,而且在时间关系上没有约束和受限制的软件。

(2)仿真

用微程序直接解释另一种机器指令系统的方法称为仿真(Emulation)。进行仿真的机器称为宿主机,被仿真的机器称为目标机。

为仿真缩写的解释程序被称为仿真微程序。与模拟一样,除仿真目标机的指令系统之外,还要仿站其存储系统、I/O系统和控制台。

区别在于解释用语言。仿真是微程序解释,其解释程序存储于控制存储器中。

模拟是用机器语言程序解释,其解释程序存储在主存中。

仿真方法可以提高被移植软件的运行速度,但由于微程序机器级机构深深依赖于传统机器级结构,故当两种机器结构差别较大时,就很难仿真。特别是I/0系统差别较大时。

1.4.2 应用的发展对系统结构的影响

根据应用的发展,促使计算机系统结构在支持高速并行处理、自然语言理解、知识获取、只是表示等方面有了新进展和突破

1.4.3 器件的发展对系统结构的影响、

电子管到集成电路再到光电子集成电路技术的发展

非用户片也称为通用片,其功能是有厂家生产时固定的,器件用户只能使用,不能改变期间内部功能。

现场片,用户可根据需要改变器件内部功能。例如可编程只读存储器PROM、现场可编程逻辑阵列FPLA等。

用户片是专门按照用户要求生产的高密度VLSI器件,完全按照用户要求设计生产的称为全用户片。

全用户片设计时间长,设计费用高,销量小,成本高。

后发展出门阵列等半用户片。

1.5 系统结构中的并行性开发及计算机系统的分类

1.5.1 并行性的概念与开发

1.并行性的含义与级别

解题中具有可以同时进行运算或操作的特性,称为并行性。

并行性包含同时性和并发性二重含义。同时性指两个或多个事件在同一时刻发生。并发性指两个或多个事件在同一时间间隔内发生。

开发并行性的目的是为了能并行处理,以提高计算机解题的效率。

从不同角度,并行性有不同的等级。

1)从计算机系统执行程序的角度来看,并行性等级由低到高分为4级:

1.指令内部——一条指令内部各个微操作并行执行。

2.指令之间——多条指令的并行执行。

3.任务或进程之间——多个任务或程序段的并行执行。

4.作业或程序之间——多个作业或多道程序的并行执行。

 2)从计算机系统处理数据的角度来看,并行性等级从低到高可以分4级:

1.位串字串——同时只对一个字的以为进行处理,无并发。

2.位并字串——同时对一个字的全部位进行处理,开始出现并发性。

3.位片串字并——同时对许多字的同一位(位片)进行处理,开始进入并行处理领域。

4.全并行——同时对许多字的全部或部分位组进行处理。

3)并行性是贯穿于计算机信息加工的各个步骤和阶段的,从这个角度看,并行性等又分为:

1.存储器操作并行——用单体单字、多体单字或多体多字方式在一个存储周期内访问多个字。

2.处理器操作步骤并行——指令的取指、分析、执行,在时间哈桑重叠流水地进行。

3.处理器操作并行——通过重复设置大量处理单元,让它们在同一控制器控制下按同一指令要求进行同时操作。

4.指令、任务、作业并行——多个处理机同时对多条指令和相关的多数据组进行处理。

2.并发性开发的途径

(1)时间重叠

在并行性概念中引入时间因素,让多个处理过程在时间上相互错开,轮流重叠地使用同一套硬件设备的各个部分,加快硬件周转。

(2)资源重复

在并行性概念中引入空间因素,通过重复设置硬件资源来提高可靠性或性能。

(3)资源共享

软件方法,让多个用户按一定时间顺序轮流使用同一套资源来提高资源利用率。

3.计算机系统的并行性发展

4.多机系统的耦合度

多机系统包含多处理机和多计算机系统。

多处理机系统是由多台处理机组成的单一系统,各处理机都有自己的控制部件,可带本地存储器,能执行各自的程序,但都受逻辑上统一的操作系统控制。

处理机之间以文件、单一数据或向量、数组等形式交互作用,全面实现作业、任务、指令、数据各级的并行。

多计算机系统则是由多台独立的计算机组成的系统,各计算机分别在逻辑上独立的操作系统控制下运行,计算机之间可以互不通信,即使通信也只是经通道或通信线路以文件或数据集的方式进行,实现多个作业间的并行。

一般用耦合度反应多机系统中各机器之间物理连接的紧密度和交叉作用能力的强弱,有最低耦合、松散耦合、紧密耦合之分。

各种脱机处理系统是最低耦合系统,其耦合度最低,除通过某种存储介质之外,各计算机之间无物理连接,也无共享的联机硬件资源。

多台计算机通过心道或通信线路实现互联,共享某些如磁带、磁盘等外围设备,以较低的频带在文件或数据集一级相互作用,被称为松散耦合系统或间接耦合系统。

多台计算机经总线或高速开关互联,共享主存,有较高的信息传输速率,可实现数据集一级、任务级、作业级并行,则成为紧密耦合系统或直接耦合系统。

1.5.2 计算机系统分类

弗林分类法

按照指令流和数据流的多倍性对计算机系统分类。

指令流:机器执行的指令序列。

数据流:由指令流调用的数据序列。

据此,把计算机系统分成:

  • 单指令流单数据流(SISD)
  • 单指令流多数据流(SIMD)
  • 多指令流单数据流(MISD)
  • 多指令流多数据流(MIMD)

四大类。

SISD系统是传统的单处理器计算机。

SIMD系统,阵列处理机和相联处理机。

MISD系统,脉动阵列流水机

MIMD系统是指能实现作业、任务、指令、数组各级全面并行的多机系统。

SISD

SIMD

MISD

MIMD

1978年美国库克提出用指令流和执行流及其多倍性来描述计算机系统总控制器的结构特点。

  • 单指令流单执行流(SISE)——典型的单处理机系统。
  • 单指令流多执行流(SIME)——带做操作部件的处理机。
  • 多指令流单执行流(MISE)——带指令集多道程序的单处理机。
  • 多指令流多执行流(MIME)——典型的多处理机系统。

1972年美籍华人冯泽云提出了用数据处理的并行度来定量地描述各种计算机系统特性的冯氏分类法。他把计算机系统分成四类:

  • 字串位串(WSBS)——称位串处理方式,每次只处理一个字中的一位。
  • 字串位并(WSBP)——称字(字片)处理方式。每次处理一个字中的n位,如传统的位并行机。
  • 字并位串(WPBS)——称位(位片)处理方式。一次处理m个字中的1位,如某些相联处理机及阵列处理机。
  • 字并位并(WPBP)——称全并行处理方式。一次处理m个字,每个字为n位。

1977年联邦德国汉德勒在冯氏分类法基础上提出基于硬件结构所含可并行处理单元数和可刘水处理的级数的分类方法。

还可以从对执行程序或指令的控制方式上,将计算机系统分为由控制驱动的控制流方式,由数据驱动的数据流方式,按需求驱动的规约方式,以按模式驱动的匹配方式等。

与本文相关的文章
版权声明
转载保留版权: 大D综合研究院 | 《《计算机系统结构》读书笔记(一)》
本文链接地址:https://www.dadclab.com/archives/2804.jiecao
转载须知:如果您需要转载本文,请将版权信息,版权授权方式,以及本文的链接地址注明,谢谢合作。
本文被贴上了: , , , , 标签