第1章:计算机系统结构的基础知识

  • 第1章:计算机系统结构的基础知识
    • 1.1 计算机系统结构的基本概念
      • 1.1.1 计算机系统的层次结构 ⭐
      • 1.1.2 计算机系统结构的定义 ⭐
        • (1)定义:
        • (2)计算机系统结构的实质:
      • 1.1.3 计算机组成和计算机实现 ⭐
      • 1.1.4 计算机系统结构的分类 ⭐
        • Flynn分类法
        • 冯氏分类法
        • Handler分类法
    • 1.2 计算机系统的设计
      • 1.2.1 定量原理(4个)
        • 大概率事件优先原则(以经常性事件为重点)
        • Amdahl定律 ⭐
        • 程序的局部性原理 ⭐
        • CPU性能公式 ⭐
          • CPU性能公式的进一步优化 ⭐
      • 1.2.2 计算机系统设计者的主要任务
        • 主要任务:
        • 设计计算机系统所要完成的3个方面的工作:
      • 1.2.3 计算机系统设计的主要方法
        • 由上往下的设计(top-down)
        • 由下往上的设计(bottom-up)
        • 从中间开始设计(middle-out)
    • 1.3 计算机系统的性能评测
      • 执行时间和吞吐率
        • 执行时间
      • 基准测试程序
        • 测试程序的分类
        • 测试程序包
    • 1.4 计算机系统结构的发展
      • 存储程序的计算机
        • 冯诺依曼计算机的四个组成部分 ⭐
        • 存储程序计算机的主要特点
        • 程序的执行过程
        • 一个机器周期里面安排的操作序列
      • 软件对系统结构的影响 ⭐
        • 系列机
        • 软件兼容
        • 兼容机
        • 模拟与仿真 ⭐
          • 模拟
          • 仿真
      • 器件发展对系统结构的影响
        • 集成电路的发展和摩尔定律
      • 应用对系统结构的影响
    • 1.5 计算机系统结构中并行性的发展 ⭐
      • 并行性概念
        • 从数据处理的角度看并行的等级
        • 从执行程序的角度看并行的等级
      • 提高并行性的方法 ⭐
      • 并行性的发展
        • 单机系统-并行性的发展
        • 多机系统中并行性的发展
          • 耦合度
          • 功能专用化
          • 机间互连
      • 并行机的发展

第1章:计算机系统结构的基础知识

1.1 计算机系统结构的基本概念

1.1.1 计算机系统的层次结构 ⭐

计算机系统=硬件+软件\text{计算机系统=硬件+软件}计算机系统=硬件+软件

  • 硬件
    包括控制器存储器系统结构运算器显示器键盘鼠标打印机磁盘网络外设等。
  • 软件
    包括编译器解释器运行环境调试器测试程序等。

计算机的语言是从低级向高级进行发展的:

高一级语言的语句相对于低一级语言来说功能更强,更便于应用,但又都以低级语言为基础

从计算机语言的角度,把计算机系统按功能划分成 多级层次结构,每一层以一种语言为特征

  • 物理机:用硬件/固件实现的机器(最下面的两级机器)(固件是指:具有一定软件功能的硬件)
  • 虚拟机:由软件实现的机器

六个层次结构:

  • 微程序机器

    • 微程序机器级的机器语言是微指令集
    • 由该语言编写的微程序一般是直接由硬件解释实现的
  • 传统机器语言机器

    • 该机的语言是指该计算机的指令集,比如不同的cpu对应的不同的指令集
    • 机器指令程序可以由微程序进行解释,从而可以实现多种指令集
  • 操作系统机器

    • 直接管理计算机的软硬件资源
  • 汇编语言机器

    • 用汇编语言编写的程序,首先翻译解释成第 3 级和第 2 级语言,然后再由相应的机器执行
    • 汇编程序:完成汇编语言翻译的程序
  • 高级语言机器

    • 用这些语言所编写的程序一般是由称为编译程序翻译到第4级或第 3 级上,然后再被计算机执行
    • 也就是说,当编写完高级语言之后,需要对其进行翻译或者解释,然后再由计算机执行
  • 应用语言机器

    • 为使计算机满足某种用途而专门设计的:比如:SQL语言等
    • 应用语言编写的程序一般由应用程序包翻译到第5级语言上再去由它执行

各机器级的实现主要靠翻译或解释,或两者的结合

注意:
(1)翻译:先用转换程序把高一级机器上的程序转换为低一级机器上等效的程序然后再在低一级机器上运行,实现程序的功能(2)解释:对于高一级机器上的程序中的每一条语句或指令,是转去执行低一级机器上的一段等效程序。执行完后,再去高一级机器取下一条语句或指令,再进行解释执行,如此反复,直到解释执行完整个程序解释执行比编译后再执行所花的时间多,但占用的存储空间较少

1.1.2 计算机系统结构的定义 ⭐

(1)定义:

传统机器程序员所看到的计算机属性,即概念性结构与功能特性,因为按照计算机系统的多级层次结构,不同级程序员所看到的计算机具有不同的属性
比如:数据表示寻址规则寄存器定义指令系统中断系统机器工作状态的定义和切换存储系统信息保护I/O 结构

(2)计算机系统结构的实质:

确定计算机系统中软硬件的界面,界面之上是软件实现的功能,界面之下是硬件和固件实现的功能

1.1.3 计算机组成和计算机实现 ⭐

计算机系统结构VS计算机组成VS计算机实现

  1. 计算机系统结构

    • 计算机系统的软、硬件的界面,即机器语言程序员所看到的传统机器级所具有的属性
  2. 计算机组成
    • 计算机系统结构的逻辑实现,包含物理机器级中的数据流和控制流的组成以及逻辑设计等。
    • 着眼于:物理机器级内各事件的排序方式与控制方式、各部件的功能以及各部件之间的联系。
  3. 计算机实现
    • 计算机组成的物理实现
    • 包括处理机、主存等部件的物理结构,器件的集成度和速度,模块、插件、底板的划分与连接,信号传输,电源、冷却及整机装配技术等
    • 着眼于:器件技术(起主导作用)、微组装技术

具有相同系统结构的计算机可以采用不同的计算机组成。

同一种计算机组成又可以采用多种不同的计算机实现。

1.1.4 计算机系统结构的分类 ⭐

Flynn分类法

按照指令流和数据流的多倍性进行分类

  • 指令流
    计算机执行的指令序列
  • 数据流
    由指令流调用的数据序列
  • 多倍性
    在系统最受限的部件上,同时处于同一执行阶段的指令或数据的最大数目

可以把计算机系统结构分为四类:

  1. 单指令流单数据流SISD(Single Instruction stream Single Data stream)
  1. 单指令流多数据流SIMD(Single Instruction stream Multiple Data stream)
  1. 多指令流单数据流MISD(Multiple Instruction stream Single Data stream)
    (人为的划分,并没有实际机器的实现)
  1. 多指令流多数据流MIMD(Multiple Instruction stream Multiple Data stream)

注意:IS:指令流,DS:数据流,CS:控制流,CU:控制部件,PU:处理部件,MM和SM:存储器

冯氏分类法

用系统的最大并行度对计算机进行分类

最大并行度:计算机系统在单位时间内能够处理的最大的二进制位数

用平面直角坐标系中的一个点代表一个计算机系统,其横坐标表示字宽(n位),纵坐标表示一次能同时处理的字数(m字)。m×n就表示了其最大并行度

  1. 字串位串(WSBS):n=1,m=1。(第一代计算机发展初期的纯串行计算机)
  2. 字串位并(WSBP) : n>1,m=1。这是传统的单处理机,同时处理单个字的多个位,如16位、32位等。
  3. 字并位串(WPBS) :n=1,m>1。同时处理多个字的同一位(位片)。
  4. 字并位并(WPBP) :n>1,m>1。同时处理多个字的多个位。

平均并行度:

与最大并行度密切相关的一个指标。取决于系统的运用程度,与应用程序有关。

Handler分类法

根据并行度和流水线对计算机进行分类

把计算机的硬件结构分成3个层次

  • 程序控制部件(PCU)的个数k
  • 算术逻辑部件(ALU)或处理部件(PE)的个数d
  • 每个算术逻辑部件包含基本逻辑线路(ELC)的套数w

t(系统型号)=(k,d,w)t(系统型号)=(k,d,w)t(系统型号)=(k,d,w)

改进:
t(系统型号)=(k×k’,d×d’,w×w’)t (系统型号)=(k×k’,d×d’,w×w’)t(系统型号)=(k×k’,d×d’,w×w’)

  • k’:宏流水线中程序控制部件的个数
  • d’:指令流水线中算术逻辑部件的个数
  • w’:操作流水线中基本逻辑线路的套数

1.2 计算机系统的设计

1.2.1 定量原理(4个)

大概率事件优先原则(以经常性事件为重点)

对于大概率事件 ( 最常见的事件 ) ,赋予它优先的处理权和资源使用权,以获得全局的最优结果

也就是常说的经常性事件:对经常发生的情况采用优化方法的原则进行选择,以得到更多的总体上的改进,优化是指分配更多的资源、达到更高的性能或者分配更多的电能等。

Amdahl定律 ⭐

当我们对系统的某个部分加速时,其对系统整体性能的影响取决于该部分的重要性和加速程度。

假设我们对机器(部件)进行某种改进,那么机器系统(部件)的加速比就是

系统加速比=系统性能改进后系统性能改进前=总执行时间改进前总执行时间改进后\text{系统加速比} = \frac{系统性能_{改进后}}{系统性能_{改进前}} = \frac{总执行时间_{改进前}}{总执行时间_{改进后}}系统加速比=系统性能改进前​系统性能改进后​​=总执行时间改进后​总执行时间改进前​​

性能=同一过程执行时间性能 = \frac{同一过程}{执行时间}性能=执行时间同一过程​

核心概念:时间

系统加速比依赖于两个因素

  • 可改进比例

    • 可改进部分在原系统计算时间所占的比例
    • 它总是小于或等于1
  • 部件加速比

    • 可改进部分改进以后的性能提高了多少,一般情况是大于1的,比如,设部件加速比为KKK,那么,现在该部分执行同一个操作所用时间就为:Tnew=ToldKT_{new} = \frac{T_{old}}{K}Tnew​=KTold​​

所以,我们可以设:可改进比例为α\alphaα,部件加速比为KKK,所以,改进后的总执行时间为:

Tnew=(1−α)×Told+α×ToldKT_{new} = (1 -\alpha) \times T_{old} + \frac{\alpha \times T_{old}}{K}Tnew​=(1−α)×Told​+Kα×Told​​

Tnew=Told×((1−α)+αK)T_{new} =T_{old} \times ((1 -\alpha) + \frac{\alpha}{K})Tnew​=Told​×((1−α)+Kα​)

所以,系统加速比即为:

系统加速比=1(1−α)+αK\text{系统加速比} = \frac{1}{(1 -\alpha) + \frac{\alpha}{K}}系统加速比=(1−α)+Kα​1​

要想显著加速整个系统,必须提升全系统中相当大的部分的速度

定律观点:

  • 性能增加具有递减规则
    仅仅对计算机中的一部分做性能改进,则改进的越多,系统获得的效果越小
  • 针对整个任务的一部分进行优化,则最大加速比不大于:11−可改进比例\frac{1}{1-\text{可改进比例}}1−可改进比例1​
  • 衡量好的计算机系统
    好的计算机系统是一个带宽平衡的系统,而不是看它使用的某些部件的性能

所以:这个地方可能会出计算题

  • 例1
    将计算机系统中某一功能处理速度加快15倍,该功能的处理时间仅占系统运行时间的40%,则采用此改进方法后,系统的性能提高多少?

  • 例2
    某计算机系统采用浮点运算部件后,使浮点运算速度提高到原来的25倍,而系统运行某一程序的整体性能提高到原来的4倍,试计算该程序中浮点操作所占的比例。

程序的局部性原理 ⭐

  • 时间局部性
    时间局部性是指如果程序中的某条指令一旦执行,则不久之后该指令可能再次被执行;
    如果某数据被访问,则不久之后该数据可能再次被访问。
  • 空间局部性
    空间局部性是指一旦程序访问了某个存储单元,则不久之后,其附近的存储单元也将被访问。

CPU性能公式 ⭐

CPU时间: 执行一个程序所需要的cpu时间

CPU时间=执行程序所需的时钟周期数×时钟周期时间CPU时间 = 执行程序所需的时钟周期数 \times 时钟周期时间CPU时间=执行程序所需的时钟周期数×时钟周期时间

其中:时钟周期时间是系统时钟频率的倒数

CPI:每条指令执行的平均时钟周期数

CPI=执行程序所需的时钟周期数该程序所具有的指令条数=CLKICCPI = \frac{执行程序所需的时钟周期数}{该程序所具有的指令条数} = \frac{CLK}{IC}CPI=该程序所具有的指令条数执行程序所需的时钟周期数​=ICCLK​

IC:程序所具有的指令条数 Instruction Count

所以,程序执行的CPU时间可以写为:
CPU时间=IC×CPI×时钟周期时间CPU时间 = IC \times CPI \times 时钟周期时间CPU时间=IC×CPI×时钟周期时间

所以,cpu的性能取决于三个参数:

  • 时钟周期时间:取决于硬件实现技术和计算机组成;
  • CPI:取决于计算机组成和指令系统的结构;
  • IC:取决于指令系统的结构和编译技术。
CPU性能公式的进一步优化 ⭐

假设:计算机系统有nnn种指令

CPIi\mathrm{CPI}_{i}CPIi​ :第iii种指令的时钟周期数

ICi\mathrm{IC}_{\mathrm{i}}ICi​:在程序中第iii种指令出现的次数则:
CPU时钟周期数=∑i=1n(CPIi×ICi)CPU时钟周期数 =\sum_{i=1}^{n}\left(\mathrm{CPI}_{\mathrm{i}} \times \mathrm{IC}_{\mathrm{i}}\right)CPU时钟周期数=i=1∑n​(CPIi​×ICi​)

CPU时间=执行程序所需的时钟周期数×时钟周期时间=∑i=1n(CPIi×ICi)×时钟周期时间CPU时间 = 执行程序所需的时钟周期数×时钟周期时间 = \sum_{i=1}^{n}(CPIi×ICi)×时钟周期时间CPU时间=执行程序所需的时钟周期数×时钟周期时间=i=1∑n​(CPIi×ICi)×时钟周期时间

CPI=时钟周期数 IC=∑i=1n(CPi×ICi)IC=∑i=1n(CPIi×ICiIC)\mathrm{CPI}=\frac{\text { 时钟周期数 }}{IC}=\frac{\sum_{i=1}^{n}\left(\mathrm{CP}_{\mathrm{i}} \times \mathrm{IC}_{\mathrm{i}}\right)}{IC}=\sum_{\mathrm{i}=1}^{n}\left(\mathrm{CP} \mathrm{I}_{\mathrm{i}} \times \frac{IC_{\mathrm{i}}}{IC}\right)CPI=IC 时钟周期数 ​=IC∑i=1n​(CPi​×ICi​)​=i=1∑n​(CPIi​×ICICi​​)

ICiIC\frac{IC_{\mathrm{i}}}{IC}ICICi​​ 反映了第i种指令在程序中所占的比例

例题:

1.2.2 计算机系统设计者的主要任务

目标:设计出能满足用户的功能需求、有较长的生命周期、且又具有很高的性能价格比的系统。

主要任务:

  1. 指令系统的设计
  2. 数据表示的设计
  3. 功能的组织
  4. 逻辑设计以及物理实现

设计计算机系统所要完成的3个方面的工作:

  1. 确定用户对计算机系统的功能、价格和性能的要求
    功能需求:根据市场的需要以及所设计系统的应用领域来确定具体可以考虑以下功能需求

    1. 应用领域
    2. 软件兼容
      软件兼容是指一台计算机上的程序不加修改就可以搬到另一台计算机上正常运行
    3. 操作系统需求
      包括地址空间大小、存储管理、保护等。从系统结构上对操作系统的需求提供支持,是很重要的一点。
    4. 标准
      确定系统中哪些方面要采用标准以及采用什么标准。如:浮点数标准、I/O总线标准、程序设计语言标准等。
  2. 软硬件功能分配
    软件和硬件在实现功能上是 等价的

    • 用软件实现
      优点:设计容易、修改简单,而且可以减少硬件成本。
      缺点:所实现的功能的速度较慢。
    • 用硬件实现
      优点:速度快、性能高,
      缺点:修改困难,灵活性差
  3. 设计出生命周期长的系统结构

    • 特别注意计算机应用计算机技术的发展趋势
    • 设计出具有一定前瞻性的系统结构,以使得它具有较长的生命周期

1.2.3 计算机系统设计的主要方法

由上往下的设计(top-down)

适合于专用机的设计,而不适合通用机的设计。

从层次结构中的最上面一级开始,逐层往下设计各层的机器

首先确定面对使用者的那级机器的基本特征、数据类型和格式、基本命令等然后再逐级往下设计,每级都考虑如何优化上一级的实现

由下往上的设计(bottom-up)

在早期被采用得比较多,现在已经很少被采用了

从层次结构的最下面一级开始,逐层往上设计各层的机器。采用这种方法时,软件技术完全处于被动状态,这会造成软件和硬件的脱节使整个系统的效率降低

从中间开始设计(middle-out)

“由上往下”和“由下往上”设计方法的主要缺点----软、硬件设计分离和脱节

解决方法:综合考虑软、硬件的分工,从中间开始设计。

“中间”:层次结构中的软硬件的交界面,目前一般是在传统机器语言机器级操作系统机器级之间。

1.3 计算机系统的性能评测

执行时间和吞吐率

  1. 单个程序的执行时间(执行单个程序所花的时间很少)
  2. 吞吐率(在单位时间里能够完成的任务很多 )

执行时间

计算机完成某一任务所花费的全部时间,包括磁盘访问、存储器访问、输入/输出、操作系统开销等。

CPU时间: CPU执行所给定的程序所花费的时间,不包含I/O等待时间以及运行其它程序的时间。
用户CPU时间:用户程序所耗费的CPU时间。
系统CPU时间:用户程序运行期间操作系统耗费的CPU时间。

基准测试程序

测试程序的分类

  • 真实程序
  • 修正的(脚本化)应用程序
  • 核心程序
  • 小测试程序
  • 合成测试程序

测试程序包

参考网站:测试程序包

选择一组各个方面有代表性的测试程序组成尽可能全面地测试了一个计算机系统的性能

  • SPEC测试程序包 最成功和最常见的测试程序套件
  • TPC-x
  • EEMBC测试程序包

1.4 计算机系统结构的发展

存储程序的计算机

冯诺依曼计算机的四个组成部分 ⭐

  • 运算器:计算机的主要部件,负责数值计算
  • 存储器:用于存储 数据和程序
  • 输入/输出设备:完成计算机和外部的数据交互
  • 控制器:根据程序形成控制序列(例如:指令、命令),指导硬件去完成对数据的运算

存储程序计算机的主要特点

  1. 机器以运算器为中心
  2. 采用存储程序的原理(也就是将程序也看成数据存储在存储器中)
  3. 存储器按地址访问线性编址的地址空间来获取程序或数据
  4. 控制流由指令流产生(所以,解题的算法是具有顺序性的)
  5. 指令由操作码地址码组成
  6. 数据采用二进制编码

程序的执行过程

  1. 分解程序指令,从而形成控制计算机四个主要部分进行工作的控制流
  2. 在控制流的控制下,对数据进行加工运算形成数据流
  3. 不断循环产生指令流与数据流
  4. 直到得到程序的结果

一个机器周期里面安排的操作序列

  • 取指
    指令取指是指将指令从存储器中读取出来的过程。
  • 译码
    指令译码是指将存储器中取出的指令进行翻译的过程。
    将操作码和地址码分离出来,以便指令执行。
  • 执行
    指令译码之后所需要进行的计算类型都已得知,并且已经从通用寄存器组中读取出了所需的操作数,那么接下来便进行指令执行。
    指令执行是指对指令进行真正运算的过程。
    在“执行”阶段的最常见部件为算术逻辑部件运算器ALU,作为实施具体运算的硬件功能单元。
  • 访存
    访存是指存储器访问指令将数据从存储器中读出,或者写入存储器的过程。
  • 写回
    写回是指将指令执行的结果写回通用寄存器组的过程。
    如果是普通运算指令,该结果值来自于“执行”阶段计算的结果;如果是存储器读指令,该结果来自于“访存”阶段从存储器中读取出来的数据。

软件对系统结构的影响 ⭐

系列机

系列机( family machine )是具有相同体系结构,但组成和实现不同的一系列不同型号的计算机系统

各计算机厂家仍按系列机研发产品

现代计算机不但系统系列化,其构成部件和软件也系列化

也可以这样定义:一种指令集结构可以有多种组成。同样,一种组成可以有多种物理实现。系列机就是指在一个厂家生产的具有相同的指令集结构,但具有不同组成和实现的一系列不同型号的机器

软件兼容

系列机具有相同的体系结构,软件可以在该种系列计算机的各档机器上运行,也就是说同一个软件可以不加修改地运行于体系结构相同的各档机器,而且它们所获得的结果一样,差别只在于有不同的运行时间

兼容机

不同厂家生产的具有相同体系结构的计算机,计算机厂家为了能利用大的计算机厂家的开发成果,采用新的计算机组织和实现技术,研制一些软件兼容的产品,具有更加低廉的价格

  • 向上 ( 下 ) 兼容

    • 指的是按某档机器编制的程序,不加修改的就能运行于比它高 ( 低 ) 档的机器
  • 向前 ( 后 ) 兼容

    • 指的是按某个时期投入市场的某种型号机器编制的程序,不加修改地就能运行于在它之前 ( 后 ) 投入市场的机器

向后兼容是才是软件兼容的根本特征,也是系列机的根本特征

模拟与仿真 ⭐

模拟

使软件能在具有不同系统结构的机器之间相互移植

  • 在一种系统结构上实现另一种系统结构。
  • 从指令集的角度来看,就是要在一种机器上实现另一种机器的指令集。
仿真

用一台现有机器(宿主机)上的微程序去解释实现另一台机器(目标机)的指令集。

  • 运行速度比模拟方法的
  • 仿真只能在系统结构差距不大的机器之间使用

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

集成电路的发展和摩尔定律

集成电路密度大约每两年翻一番

应用对系统结构的影响

  • 不同的应用对计算机系统结构的设计提出了不同的要求。
  • 应用需求是促使计算机系统结构发展的最根本的动力
  • 一些特殊领域:需要高性能的系统结构

1.5 计算机系统结构中并行性的发展 ⭐

并行性概念

计算机系统在同一时刻或者同一时间间隔内进行多种运算或操作。

从数据处理的角度看并行的等级

  • 字串位串:每次只对一个字的一位进行处理。
    最基本的串行处理方式,不存在并行性。
  • 字串位并:同时对一个字的全部位进行处理,不
    同字之间是串行的。开始出现并行性。
  • 字并位串:同时对许多字的同一位(称为位片)进行处理。
    具有较高的并行性。
  • 全并行:同时对许多字的全部位或部分位进行处理。
    最高一级的并行。

从执行程序的角度看并行的等级

  • 指令内部并行:单条指令中各微操作之间的并行。
  • 指令级并行:并行执行两条或两条以上的指令。
  • 线程级并行:并行执行两个或两个以上的线程。通常是以一个进程内派生的多个线程为调度单位。
  • 任务级或过程级并行:并行执行两个或两个以上的过程或任务(程序段)以子程序或进程为调度单元。
  • 作业或程序级并行:并行执行两个或两个以上的作业或程序。

提高并行性的方法 ⭐

  1. 时间重叠
    让多个处理过程在时间上相互错开,轮流重叠地使用同一套硬件设备的各个部分
  2. 资源重复
    通过重复设置硬件资源,大幅度地提高计算机系统的性能
  3. 资源共享
    这是一种软件方法,它使多个任务按一定时间顺序轮流使用同一套硬件设备。

并行性的发展

单机系统-并行性的发展

在发展高性能单处理机过程中,起主导作用的是 时间重叠原理。

实现时间重叠的基础:部件功能专用化

还有资源重复利用的原理:

  • 多体存储器
  • 多操作部件
  • 阵列处理机

在单处理机中,资源共享的概念实质上是用单处理机模拟多处理机的功能,形成所谓虚拟机的概念----分时系统

多机系统中并行性的发展

多机系统遵循时间重叠资源重复资源共享原理,发展为3种不同的多处理机:同构型多处理机异构型多处理机分布式系统

耦合度

反映多机系统中各机器之间物理连接的紧密程度和交互作用能力的强弱

  • 紧密耦合系统(直接耦合系统)

    • 一般是通过总线或高速开关互连,可以共享主存。
  • 松散耦合系统(间接耦合系统)
    • 一般是通过通
      道或通信线路实现计算机之间的互连,可以共享外存设备(磁盘、磁带等)。机器之间的相互作用是在文件或数据集一级上进行。
功能专用化
  • 专用外围处理机
    例如:输入/输出功能的分离
  • 专用处理机
    如数组运算、高级语言翻译、数据库管理等,分离出来。
  • 异构型多处理机系统
    多个不同类型、至少担负不同功能的处理机组成,它们按照作业要求的顺序,利用时间重叠原理,依次对它们的多个任务进行加工,各自完成规定的功能动作。
机间互连
  • 容错系统
  • 可重构系统
    高带宽、低延迟、低开销的机间互连网络是高效实现程序或任务一级并行处理的前提条件。
  • 同构型多处理机系统
    多个同类型或至少担负同等功能的处理机组成,它们同时处理同一作业中能并行执行的多个任务。

并行机的发展

  1. 并行机的萌芽阶段(1964年~1975年)
    在处理器中使用流水线和重复设置功能单元
  2. 向量机的发展和鼎盛阶段(1976年~1990年)
    向量计算机的发展呈两大趋势

    • 提高单处理器的速度
    • 研制多处理器系统
  3. MPP出现和蓬勃发展阶段(1990年~1995年)
  4. 各种体系结构并存阶段(1995年~2000年)
    PVP(并行向量处理机)、MPP、SMP、DSM(分布式共享存储多处理机)、COW(工作站机群)等各种体系结构进入并存发展的阶段。
  5. 机群蓬勃发展阶段(2000年以后)
    机群系统:将一群工作站或高档微机用某种结构的互连网络互连起来,充分利用其中各计算机的资源,统一调度、协调处理,以达到很高的峰值性能,并实现高效的并行计算。

第1章:计算机系统结构的基础知识相关推荐

  1. 计算机专业英语基础知识,第一章 计算机专业英语基础知识

    1.1 计算机专业英语的特点 :清晰.精练.严密.准确 1.1.1 用词和语法的特点 用词:专业术语多,缩略词汇多且都仍在扩充. 语法:被动语态为主体,常用非谓语动词,名词化结构和从句等. 1.1.2 ...

  2. 计算机辅助设计的概念.doc,计算机辅助设计的基础知识.DOC

    计算机辅助设计的基础知识 第2章 计算机辅助设计的基础知识 2.1 几何建模 2.1.1 图形元素的概念 一个几何模型或一个图形,不管它有多么复杂,都是由基本的图形元素组成的, 这些基本图形元素简称为 ...

  3. 计算机辅助技术基础知识点,计算机辅助设计技术基础知识.PPT

    计算机辅助设计技术基础知识 第二章计算机辅助设计技术基础知识 计 算 机 辅 助 设 计 主讲: 阮培英 maryruan@sdut.edu.cn 第2章 计算机辅助设计 的基础知识 2.1 几何建模 ...

  4. 计算机信息处理的基础知识,计算机和信息处理基础知识.ppt

    第一章 计算机与信息处理基础知识 1.1 计算机概述 1.2 电子计算机的发展 1.3 计算机系统的组成 堪庭锨婆铝胰饼箱娘窜禁磁括痢若互腆怖筏溺橡般颂骆桑猴溅躺怖摄滓现计算机与信息处理基础知识计算机 ...

  5. 计算机二级基础知识 文库,计算机二级--公共基础知识(第1章)

    计算机二级--公共基础知识(第1章) (13页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 19.9 积分 第1章 数据结构与算法1.1 算法1.1.1 ...

  6. 计算机系统结构pdf张晨曦刘依,第1章计算机系统结构的基本概念张晨曦刘依www.Arch365.ppt...

    第1章计算机系统结构的基本概念张晨曦刘依www.Arch365 1.4 计算机系统结构的发展 不同的应用对计算机系统结构的设计提出了不同的要求 应用需求是促使计算机系统结构发展的最根本的动力 一些特殊 ...

  7. 计算机二级公共基础知识总结百度云,计算机二级公共基础知识总结详细版本[精]...

    计算机二级公共基础知识总结详细版本[精] (15页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 15.9 积分 全国计算机等级考试二级公共基础知识总结第一 ...

  8. 计算机二级公共基础知识证书,计算机二级公共基础知识

    计算机二级公共基础知识 下面是小编收集整理的计算机二级公共基础知识,希望对您有所帮助!如果你觉得不错的话,欢迎分享! 第一章 数据结构与算法 1.1算法 算法:是指解题方案的准x而完整的描述. 算法不 ...

  9. 16第一章 ASP.Net编程基础知识

    第一章        ASP.Net编程基础知识 第一章        ASP.Net编程基础知识 本章首先介绍用ASP.Net技术编制服务器端动态网页所需的网络和HTML标记语言方面的有关知识.然后 ...

最新文章

  1. 全站仪和手机连接软件_全站仪USB口数据线驱动-USB全站仪器数据线驱动程序下载免费版-西西软件下载...
  2. git 上传代码到码云
  3. DW06、DW07 锂电保护IC手册电路,锂电池过充过放过流短路保护芯片电路
  4. python 错误类型及解释
  5. 为什么选择spark
  6. [leetcode]5343. 多次求和构造目标数组
  7. CVPR 2022 | 增加0.008M参数,显式局部点云表征实现多项任务SOTA
  8. 学会Zynq(15)UDP sendto函数的使用
  9. 【详解】计算机网络从总到细——UDP与TCP
  10. 微信小程序-云开发数据库基础操作(自用)
  11. c语言代码查重,C语言过滤重复文本数据+代码【原创】
  12. CUDA error: device-side assert triggered
  13. RT-Thread柿饼控件(1)-- AnimatedImage
  14. 了不起的Node.js: 将JavaScript进行到底(Web开发首选,实时,跨多服务器,高并发)...
  15. 使用Aeon Timeline 2 for mac如何恢复丢失的文件
  16. CSS 3.0实现立体书本特效
  17. 20176408李俊 类与对象
  18. 2019-1-29-win10-uwp-使用-Microsoft.Graph-发送邮件
  19. 协同办公系统(OA系统)选型对比参考
  20. matlab 测量矩阵,压缩感知中的常见测量矩阵及其MATLAB实现代码

热门文章

  1. 为什么桌面图标移动后刷新就会变位置?桌面出现空图标怎么删掉?
  2. 从调整RSRQ测量参数提升4G驻留比
  3. 电信机顶盒怎么连接鸿蒙系统电视,「天翼高清电视」电信高清机顶盒怎么连接电视 - 鲲鹏装修网...
  4. Windows 安装 Brave Browser
  5. [Spring实战系列](12)Bean的自动装配
  6. [黑科技] 发现了一个Amazon黑科技插件,可以查看亚马逊卖家邮箱和电话。
  7. 【Festo仿生】放大招丨你见过比他灵活的“机械手”吗?
  8. 第01讲:技术人职业发展路径
  9. linux 消息对lie_详解linux进程间通信-消息队列
  10. 结合 ArcGIS 对 CAD 地图入库处理