现代计算机体系结构介绍


在最近几十年中,计算机的体系结构和组织经历了许多变化。本文将讨论一些常见的体系结构和组织。

指令集与指令流水线

CISC

CISC(读作sisk)是复杂指令集计算机(complex instruction set computer)的缩写。CISC 体系结构的设计策略是使用大量的指令,包括复杂指令。和其他设计相比,在 CISC 中进行程序设计要比在其他设计中容易得多,因为每一项简单或复杂的任务都有一条对应的指令。程序员不需要写一大堆指令去完成一项复杂的任务。
指令集的复杂性使得CPU 和控制单元的电路非常复杂。CISC 体系结构的设计者已经提出减少这种复杂性的解决方案:程序在两个层面上运行。CPU不直接执行机器语言指令。CPU只执行被称为微操作的简单操作。复杂指令被转化为一系列简单操作然后由 CPU 执行。这种执行机制需要一个被称为微内存的特殊内存,它负责保存指令集中的每个复杂指令的一系列操作。使用微操作的程序设计被称为微程序设计。
反对CISC体系结构的一个理由便是微程序设计和存取微内存所带来的开销。然而,这种体系结构的支持者则认为这使得程序在机器层上的程序更简洁。CISC 体系结构的一个例子便是英特尔公司所开发的奔腾系列处理器。

RISC

RISC(读作risk)是精简指令集计算机(reduce instruction set computer)的缩写。RISC 体系结构的设计策略是使用少量的指令完成最少的简单操作。复杂指令用简单指令子集模拟。在 RISC 中进行程序设计比在其他设计中更难、更费时,因为复杂指令都用简单指令来模拟。

流水线

计算机对于每条指令使用取指令、译码和执行三个阶段。在早期计算机中,每条指令的这三个阶段需要串行完成。换言之,指令n需要在指令n+1开始它的阶段之前完成它的所有阶段。现代计算机使用称为流水线的技术来改善吞吐量(在单位时间内完成的指令总数)。这个理念是如果控制单元能同时执行两个或三个阶段,那么下一条指令就可以在前一条指令完成前开始。图 1-a 显示了三条连续的指令不使用流水线时是如何处理的,图 1-b 显示了通过允许属于不同指令的不同阶段的同时执行,流水线是如何能提高计算机的吞吐量的。换言之,当计算机在执行第一条指令的译码阶段时,它还能执行第二条指令的取指令阶段。第一台计算机在指定时间内平均执行9个阶段,而流水线计算机在相同的时间内能执行24个阶段。如果假定每个阶段使用相同的时间,那第一台计算机完成9/3-3条指令,而第二台计算机完成了24/3=8条指令。因此吞吐量提高了8/3或266%。
图 1 指令流水线
图 1 指令流水线

当然,流水线并不像这样简单。像当遇到转移指令时,就会出现一些问题。在这种情况下,在管道中的指令应该被丢弃。但是,新的CPU 的设计已经克服了大部分缺点,有些新的CPU设计甚至能同时进行多个取指令周期。

并行处理

计算机传统上有单个控制单元、单个算术逻辑单元、单个内存单元。随着技术的进步和计算机硬件成本的下降,如今可以拥有具有多个控制单元、多个算术逻辑单元和多个内存单元的计算机。这个思想称为并行处理。像流水线一样,并行处理能改善吞吐量。
并行处理涉及多种不同的技术。并行处理的总体视图是由 M.J.Flynn提出的分类法给出的。这种分类法把计算机的组织(从数据处理来看)分成4类:

  • SISD:单指令流,单数据流。
  • SIMD:单指令流,多数据流。
  • MISD:多指令流,单数据流。
  • MIMD:多指令流,多数据流。

按照Flynn的观点,并行处理可能发生在数据流、指令流或两者都有。

SISD组织

单指令流,单数据流(SISD)组织表示计算机有一个控制单元、一个算术逻辑单元和一个内存单元。指令被顺序执行,每条指令可以存取数据流中的一个或多个数据项。图 2 显示了SISD组织的配置概念。
图 2 SISD组织
图 2 SISD组织

SIMD组织

单指令流,多数据流(SIMD)组织表示计算机有一个控制单元、多个处理单元和一个内存单元。所有处理器单元从控制单元接收相同的指令,但在不同的数据项上操作。同时操作于一阵列数据的处理器阵列就是属于这一类的。图 3 显示了SIMD组织的概念和实现。
图 3 SIMD组织
图 3 SIMD组织

MISD组织

多指令流,单数据流(MISD)体系结构是属于多个指令流的多个指令作用于相同的数据项的体系结构。图 4 显示了这个概念,但它从来就未被实现。

图 4 MISD组织
图 4 MISD组织

MIMD组织

多指令流,多数据流(MIMD)体系结构是属于多个指令流的多个指令作用于多个数据流(每条指令作用于一个数据项)。图 5 显示了概念和实现。一些专家认为MIMD组织是真正的并行处理体系结构。在这种体系结构中,可以同时执行多个任务。这个体系结构可以使用单个的共享内存或多个内存区。
图 5 MIMD组织
图 5 MIMD组织

并行处理有多种用途,大多用于科学团体,它们的任务如果使用传统的计算机体系结构可能需要几个小时或几天。这些例子有:大矩阵的相乘、天气预报的大量数据的同时处理或空间的飞行模拟。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值