01-概述

计算机系统的层次结构

计算机系统的组成

计算机系统=硬件+软件

硬件:运算器、控制器、存储器、输入设备、输出设备

软件:系统软件、应用软件

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

  1. 从使用语言的角度,一台由软、硬件组成的通用计算机以看作按功能划分的多层机器组成的层次结构

  2. 计算机层次划分

    1. 第5级虚拟应用语言机器 M5
    2. 第6级虚拟高级语言机器 M4
    3. 第3级虚拟汇编语言机器 M3
    4. 第2级虚拟机器 操作系统机器 M2
    5. 第1级实际机器 传统机器语言机器 M1
    6. 第0级实际机器 微程序机器 M0
  3. 机器:被定义为能够存储和执行相应语言程序的算法和数据结构的集合体

    实际上只有二进制机器指令,即传统所讲的机器语言与机器硬件直接对应才能够被硬件识别和执行

  4. 固件:是一种具有软件功能的硬件

  5. 以软件为主实现的机器称为虚拟机器

image

解释与翻译技术

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

  2. 解释技术 在低级机器级上用一串语句或指令来仿真高级机器级上的一条语句或指令的功能

    是通过对高级机器级语言程序中每条语句或指令逐条解释来实现的技术

计算机系统结构的定义

从计算机的层次结构角度来看,系统结构(System Architecture)是对计算机系统中各级界面的定义及其上下的功能分配。每级都有其自己的系统结构。

透明:客观存在的事务或数据从某个角度看不到,则称对它是透明的。

机器语言机器级界面上包括操作系统级、汇编语言级、高级语言级、应用语言级中所有软件的功能,该界面下包括所有硬件和固件的功能, 因此它是软件和硬件/固件的交界面。

界面:不同机器级的程序员看到的计算机属性是不同的;

计算机系统结构也称计算机系统的体系结构,它只是系统结构的一部分, 指的是传统机器语言机器级的系统结构。

  • 该界面之上包含操作系统级、汇编语言级、高级语言级、应用语言级中所有软件的功能
  • 该界面下包含所有硬件和固件的功能

计算机系统结构的内涵

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

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

  1. 硬件能直接识别和处理的数据类型及格式等的数据表示
  2. 最小可寻址单位、寻址种类、地址计算等的寻址方式
  3. 通用/专用寄存器的设置、数量、字长、使用约定等的寄存器组织
  4. 二进制或汇编指令的操作类型、格式、排序方式、控制机构等的指令系统
  5. 主存的最小编址单位、编址方式、容量、最大可编址空间等的存储系统组织
  6. 中断的分类与分级、中断处理程序功能及入口地址等的中断机构
  7. 系统机器级的管态和用户态的定义与切换。
  8. 输入/输出设备的连接、使用方式、流量、操作结束、出错指示等的机器级I/O 结构
  9. 系统各部分的信息保护方式和保护机构等属性。

系统结构、组成、实现

计算机组成和计算机实现的定义与内涵

计算机组成

计算机组成(Computer Organization)指的是计算机系统结构的逻辑实现,包括机器级内部的数据流和控制流的组成以及逻辑设计等。计算机组成着眼于机器级内部各事件的排序方式与控制机构、各部件的功能及各部件间的联系。

计算机组成设计要确定的方面一般应包括
1)数据通路宽度
2)专用部件的设置
3)各种操作对部件的共享程度
4)功能部件的并行度
5)控制机构的组成方式
6)缓冲和排队技术。
7)预估、预判技术
8)可靠性技术

计算机组成设计主要是围绕提高速度,着重提高操作的并行度、重叠度,以及功能的分散和设置专用功能部件来进行。

计算机实现

计算机实现(Computer Implementation)指的是计算机组成的物理实现,包括处理机、主存等部件的物理结构,器件的集成度和速度,器件、模块、插件、底板的划分与连接, 专用器件的设计,微组装技术,信号传输,电源、冷却及整机装配技术等。

计算机实现的设计着眼于器件技术微组装技术,其中,器件技术起着主导作用。
确定指令系统中是否要设置乘法指令属于计算机系统结构;主存容量与编址方式(按位、按字节,还是按字访问等)的确定属于计算机系统结构。

⭐相同结构(如指令系统相同)的计算机,可以因速度不同而采用不同的组成。同样,一种组成可有多种不同的实现方法。结构不同会使可能采用的组成技术不同。

系统结构、组成、实现相互关系和影响

三者互不相同、但又相互影响。

⭐计算机系统结构设计的任务是进行软硬件的功能分配, 确定传统机器级的软硬件界面;研究的是软硬件功能分配以及如何更好、跟合理地实现分配给硬件的功能。

  • 程序设计者看到的计算机系统结构
    • 把着眼于软、硬件功能分配和确定程序设计者所看到的机器级界面的计算机系统结构
  • 计算机设计者看到的计算机系统结构
    • 把着眼于如何更好、更合理地实现分配给硬件的功能的计算机组成称为计算机设计者看到的计算机系统结构

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

软硬件功能取舍原则

软、硬件功能分配是计算机系统结构的主要任务,而软件和硬件在逻辑功能上是等效的。

从原理上讲,软件的功能可以用硬件或固件完成;硬件的功能可以用软件模拟完成, 只是它们在性能、价格和实现的难易程度上是不同的

提高硬件功能的比例可提高解题速度,减少程序所需的存储空间,但是会增加硬件成本,降低硬件利用率和计算机系统的灵活性和适应性。

提高软件功能的比例可以降低硬件成本,提高系统的灵活性和适应性,但解题速度会降低,软件设计费用和所需的存储器用量增加。

原则一

应考虑在现有硬、器件的条件下,系统要有高的性能价格比,主要从实现费用、速度和其他性能要求来综合考虑

原则二

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

原则三

不能仅从硬的角度考虑如何为便于应用组成技术的成果和便于发挥器件技术的进展

还应从软的角度把如何为编译和操作系统的实现以及为高级语言程序的设计提供更多更好的硬件支持放在首位。

定量设计原理

哈夫曼压缩原理

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

Amdahl定律

改进效果好的高性能系统应是一个各部分性能均能平衡得到提高的系统, 不能只是其中某个功能部件性能的提高

程序访问的局部性定律

程序访问的局部性包括时间上和空间上的两个局部性。

时间局部性:现在正在使用的信息可能在不久的将来还要使用(程序的循环)

空间局部性:最近的将来要用到的信息很可能与现在正在使用的信息在程序位置上是临近的(指令是按顺序存放、循序执行;数据通常是向量、矩阵、树、表等簇聚地粗放在一起)

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

主要任务

计算机系统设计的主要任务包括系统结构、组成和实现的设计。 它涉及软硬件功能的分配、计算机指令系统设计、功能组成、逻辑设计、集成电路设计、封装、电源、冷却等许多方面。

首先要根据市场和应用情况,确定用户对计算机系统的功能、性能、价格的要求; 其中应用软件对功能的确定起主要作用。

  1. 要弄清其应用领域是专用还是通用的
  2. 要弄清软件的兼容放在哪级层次
  3. 要弄清对操作系统有何要求
  4. 要如何保证有高的标准化程度(各种国家、国际标准)

设计方法

  1. “由上往下”设计, 也称为“由顶向底”设计
  2. “由下往上”设计, 也称为“由底向顶”设计
  3. 从“中间开始”向两边设计。 这是通用机一般采用的方法。虚实之间,一般在机器语言机器与操作系统机器之间

前两种设计方法存在软硬件设计分离和脱节的致命缺点;

设计方法

软件人员依次设计操作系统级、汇编语言级、高级语言级和应用语言级

硬件人员依次设计传统机器语言机器级、微程序机器级和数字逻辑级

设计步骤

  1. 先进行需求分析
  2. 编写需求分析说明书
  3. 进行概念设计
  4. 最后通过模拟、测试反复对所设计的系统进行优化和性能评价

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

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

应在新的系统结构上解决好软件的可移植性问题。

软件的可移植性:软件不修改或只是少量修改就可以由一台机器移到另一台机器上运行,同一软件可以适应不同的环境。

实现软件移植的技术

  1. 统一高级语言
  2. 采用系列机
    1. 在一定范围内不同型号的机器之间统一汇编语言,就可以在一定程度上解决汇编语言软件的移植问题
    2. 系列机:在软、硬件界面上设计好一种系统结构(系列结构),然后软件设计者按此设计软件,硬件设计者根据机器速度、性能、价格的不同采用不同器件、硬件和组成、实现技术, 研制并提供不同档次的机器。
    3. 系列机较好地解决了软件环境要求相对稳定和硬/器件技术迅速发展的矛盾
  3. 模拟和仿真

模拟

实现在不同系统结构的机器之间的机器语言软件移植,必须做到在一种机器的系统结构上实现另一种机器的系统结构---在一种机器上实现另一种机器的指令系统。

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

为了使虚拟机的应用软件可以在宿主机上运行,除了模拟虚拟机的机器语言外还需要模拟其存储体系、IO系统和控制台的操作,以及形成虚拟机的操作系统,让虚拟机的操作系统受宿主机操作系统的控制。

所有为各种模拟所编制的解释程序称为模拟程序。 模拟程序编制复杂且费时。 模拟的运行速度显著降低、实时性变差。

仿真

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

仿真和模拟的主要区别在于解释用的语言

仿真是用微程序解释, 其解释程序存储于控制存储器中;

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

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

选择

不同系列机之间软件移植一般仿真和模拟并行。

频繁使用且易于仿真的指令宜用仿真以提高速度,很少使用的、难以仿真的指令及IO操作宜用模拟。即使两种机器系统差别不大,也需要用模拟来完成机器间映像

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

计算机应用可以归纳为向上升级的4类:数据处理、信息处理、知识处理、智能处理

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

  1. 器件集成度的提高,使器件的速度迅速提高,机器主频和速度也有数量级的提高
  2. 器件可靠性有数量级的提高,保证流水技术的实现
  3. 高速廉价的半导体存储器的出现,使解题速度得以迅速提高的高速缓冲存储器和虚拟存储器的概念真正实现
  4. 现场型PROM器件,使微程序技术得以实现
  5. 高速相联存储器的实现,促进相联处理机这种结构的发展, 推动向量机、数组机、数据库机的发展

系统结构中并行性开发

无论是数值计算、数据处理、信息处理、知识处理还是智能处理,都隐含有同时进行运算或操作的成分。

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

并行性包含同时性和并发性二重含义。

同时性:指两个或多个事件在同一时刻发生; 并行性:指两个或多个事件在同一时间间隔内发生。

并行性的不同等级

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

  1. 指令内部:一条指令内部各个微操作之间的并行执行
  2. 指令之间:多条指令的并行执行
  3. 任务或进程之间:多个任务或程序段的并行执行
  4. 作业或程序之间:多个作业或多道程序之间的并行执行

从计算机系统中处理数据的角度来看,并行性等级由低到高可以为四级:

  1. 位串字串:同时只对一个字的一位进行处理, 没有并行, 传统的串行单处理机
  2. 位并字串:同时对一个字的全部位进行处理, 开始出现并行, 传统的并行单处理机
  3. 位片串字并:同时对许多字的同一位进行处理, 开始进入并行处理领域
  4. 全并行:同时对许多字的全部或部分位组进行处理

并行性贯穿于计算机信息加工的各个步骤和阶段, 从这个角度并行性等级可以分为:

  1. 存储器操作并行
  2. 处理器操作步骤并行
  3. 处理器操作并行
  4. 指令、任务、作业并行

并行性的开发途径

  1. 时间重叠
  2. 资源重复
  3. 资源共享

时间重叠

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

资源重复

在并行概念中引入空间因素,通过重复设置硬件资源来提高可靠性或性能。 双工系统是通过使用两台相同的计算机完成同一任务来提高可靠性的。

资源共享

是用软件的方法,让多个用户按一定时间顺序轮流使用同一套资源来提高资源的利用率, 相应地也就提高了系统的性能。

计算机的分类

1966年,弗林分类法:按指令流和数据流的多倍性对计算机系统进行分类

  1. 单指令流单数据流 SISD
  2. 单指令流多数据流 SIMD
  3. 多指令流单数据流 MISD
  4. 多指令流多数据流 MIMD

1972年, 冯泽云, 按数据处理的并行度来定量的描述各种计算机系统特性的冯氏分类法

  1. 字串位串 WSBS:位串处理方式
  2. 字串位并 WSBP:字(字片)处理方式
  3. 字并位串 WPBS:位(位片)处理方式
  4. 字并位并 WPBP:全并行处理方式

1978年,库克, 按指令流和执行流及其多倍性来描述计算机系统总控制器的特定:

  1. 单指令流单执行流 SISE:典型的单处理机系统
  2. 单指令流多执行流 SIME:带多操作部件的处理机
  3. 多指令流单执行流 MISE:带指令级多道程序的单处理机
  4. 多指令流多执行流 MIME:典型的多处理机系统
posted @ 2023-10-01 22:29  Dreamsrj  阅读(44)  评论(0)    收藏  举报