系统架构设计-计算机组成与体系结构

Posted 小毕超

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了系统架构设计-计算机组成与体系结构相关的知识,希望对你有一定的参考价值。

一、计算机硬件的组成

在这里插入图片描述
控制器。控制器是分析和执行指令的部件,也是统一指挥并控制计算机各部件协调工作的中心部件,所依据的是机器指令。控制器的组成包含如下:

  1. 程序计数器PC:存储下一条要执行指令的地址
  2. 指令寄存器IR:存储即将执行的指令;
  3. 指令译码器ID:对指令中的操作码字段进行分析解释;
  4. 时序部件:提供时序控制信号。

运算器。运算器也称为算术逻辑单元(ArithmeticandLogicUnit,ALU),其主要功能是在控制器的控制下完成各种算术运算和逻辑运算

二、计算机系统分类

1. 存储程序的概念

“存储程序”的概念是冯•诺依曼等人于1946年6月首先提出来的,它可以简要地概括为以下几点:

  1. 计算机(指硬件)应由运算器、存储器、控制器、输入设备和输出设备五大基本部件组成。
  2. 计算机内部采用二进制来表示指令和数据。
  3. 将编好的程序和原始数据事先存入存储器中,然后再启动计算机工作

2. Flynn 分类

1966年,Michael.J.Flynn 提出根据指令流、数据流的多倍性特征对计算机系统进行分类(通常称为 Flynn 分类法),有关定义如下。

  1. 指令流:指机器执行的指令序列;
  2. 数据流:指由指令流调用的数据序列,包括输入数据和中间结果,但不包括输出数据。

在这里插入图片描述

3. 复杂指令集系统CISC和精简指令集系统 RISC

在这里插入图片描述
CISC 指令系统的特点

  1. 指令数量众多。指令系统拥有大量的指令,通常有 100~250 条。
  2. 指令使用频率相差悬殊。最常使用的是一些比较简单的指令,仅占指令总数的20%,但在程序中出现的频率却占80%。而大部分复杂指令却很少使用。
  3. 支持很多种寻址方式。支持的寻址方式通常为 5~20 种。
  4. 变长的指令。指令长度不是固定的,变长的指令增加指令译码电路的复杂性。
  5. 指令可以对主存单元中的数据直接进行处理。典型的 CISC 通常都有指令能够直接对主存单元中的数据进行处理,其执行速度较慢。
  6. 以微程序控制为主。CISC 的指令系统很复杂,难以用硬布线逻辑(组合逻辑)电路实现控制器,通常采用微程序控制。

RISC 指令系统的特点

  1. 指令数量少。优先选取使用频率最高的一些简单指令和一些常用指令,避免使用复杂指令。只提供了 LOAD(从存储器中读数)和 STORE(把数据写入存储器)两条指令对存储器操作,其余所有的操作都在 CPU 的寄存器之间进行。
  2. 指令的寻址方式少。通常只支持寄存器寻址方式、立即数寻址方式和相对寻址方式。
  3. 指令长度固定,指令格式种类少。因为 RISC 指令数量少、格式少、相对简单,其指令长度固定,指令之间各字段的划分比较一致,译码相对容易。
  4. 以硬布线逻辑控制为主为了提高操作的执行速度,通常采用硬布线逻辑(组合逻辑)来构建控制器。
  5. 单周期指令执行,采用流水线技术。因为简化了指令系统,很容易利用流水线技术,使得大部分指令都能在一个机器周期内完成。少数指令可能会需要多周期,例如, LOAD/STORE 指令因为需要访问存储器,其执行时间就会长一些。
  6. 优化的编译器:RISC 的精简指令集使编译工作简单化。因为指令长度固定、格式少、寻址方式少,编译时不必在具有相似功能的许多指令中进行选择,也不必为寻址方式的选择而费心,同时易于实现优化,从而可以生成高效率执行的机器代码。
  7. CPU 中的通用寄存器数量多,一般在 32 个以上,有的可达上千个。
    大多数 RISC 采用了 Cache 方案,使用 Cache 来提高取指令的速度。而且,有的 RISC 使用两个独立的 Cache 来改善性能。一个称为指令 Cache,另一个称为数据 Cache。这样,取指令和取数据可以同时进行,互不干扰。

三、层次化的存储结构

存储器中数据常用的存取方式有顺序存取、直接存取、随机存取和相联存取四种。

  1. 磁带存储器采用顺序存取的方式
  2. 磁盘存储器采用直接存取的方式
  3. 主存储器采用随机存取的方式
  4. Cache 采取相联存取的方式

在这里插入图片描述
在这里插入图片描述
如上题,计算有多少个地址单元和存储位,首先根据题目为AC000H到C7FFFH,那么首先计算中间相差多少内存,即 C7FFFH + 1 - AC000H = 1C000H,由于1k 转为 2 进制的话为 10000000000,而1C000H 转为二进制为 0001 1100 0000 0000 0000 ,后者除以前者即 1110000 ,再将 1110000 化为十进制即 0111 0000 => 64 + 32 + 16 = 112 即第一个选B,又因为内存地址按字(16bit)编制,由28片存储器芯片构成,即一个存储单元存储: 112 * 16 / 28 * 16 = 4,即选A。

磁盘存储

一台硬盘驱动器中有多个磁盘片,每个盘片有两个记录面,每个记录面对应一个磁头,所以记录面号就是磁头号。

磁盘访问时间(存取时间) = 寻道时间+旋转延迟时间

在这里插入图片描述
上题,由题意可知磁道被划分为11个物理块,磁盘旋转周期为33ms,即一个物理块需要3毫秒,又因为使用单缓冲区,每个记录需要3ms,即直接读取一个物理块 需要 3 + 3 = 6ms 的时间,但由于是使用磁盘结构,需要考虑寻到时间,可以分析当磁头在R0的开始处时,读取数据需要花费3ms 读取数据,然后还需3ms 放入缓冲区中,在放入缓冲区时磁盘的旋转是不会停止的即R0读取和放入缓冲区结束,磁头应该在R2的开始处,此时读取R1的数据需要磁盘旋转一周到R1的开始处,就需要耗费 (11 - 1)3 = 30ms的时间,即读取后面的都该如此,即总时长应该为 (30 + 3 + 3) * 10 + (3 + 3 )= 366 ms,此时即为最长时间,由上面的分析可以看出耗时主要在 寻转一周 到上一个物理块的地方,加入没有这个处理速度肯定会大大提高,那怎么优化呢,分析下,上面的情况,就是每个物理块都是顺序排列的,读完R0 ,R1就被转过去了,读完R1 而 R2又被转过去了,那如果改为 间隔着放的,R0读完放入缓冲区被来到R2的开始处,将R2换为R1,同理下面都换位,就没有旋转一周的时间,那此时耗时就为 (3 + 3) 11 = 99ms。

四、流水线

流水线技术把一个任务分解为若干顺序执行的子任务,不同的子任务由不同的执行机构负责执行,而这些机构可以同时并行工作。在任一时刻,任一任务只占用其中一个执行机构,这样就可以实现多个任务的重叠执行,以提高工作效率。

计算流水线执行时间

在这里插入图片描述
流水线执行时间=第1条指令的执行时间+(n-1)*流水线周期

流水线的吞吐率

在这里插入图片描述

流水线的最大吞吐率

在这里插入图片描述

流水线的加速比

在这里插入图片描述

流水线的效率

在这里插入图片描述

五、性能评测

性能指标,是软、硬件的性能指标的集成。在硬件中,包括计算机、各种通信交换设备、各类网络设备等;在软件中,包括:操作系统、协议以及应用程序等。

在这里插入图片描述

在这里插入图片描述

以上是关于系统架构设计-计算机组成与体系结构的主要内容,如果未能解决你的问题,请参考以下文章

系统架构设计-计算机组成与体系结构

软考 系统架构设计师计算机组成与体系结构③ 存储管理

软考 系统架构设计师计算机组成与体系结构② 存储系统

软考 系统架构设计师计算机组成与体系结构⑦ 校验码

软考 系统架构设计师计算机组成与体系结构⑤ CISC与RISC

软考 系统架构设计师计算机组成与体系结构⑥ 流水线