[计算机组成原理-001]计算机的分类&发展趋势&发展历程

计算机的分类

以实现方式和应用领域分类

从实现方式的角度划分,电子计算机可以划分成模拟计算机和数字计算机,如图 1:

图 1

电子计算机处理的是一些连续的电信号,数字计算机处理的是一些离散的电信号 (如 0 或 1). 模拟计算机容易被干扰,但是由于模拟计算机可以处理的数据量更大(因为可以处理的信号更多),因此,虽然模拟计算机对运行环境的要求比较高,但是,在科学研究领域仍然有应用。

数字计算机又分为专用的和通用的两大类。专用的数字计算机有游戏主机,军工计算机,而通用计算机中最常见的就是我们平时常用的个人电脑(个人电脑属于微型机)。

以指令流和数据流的处理方式分类

以指令流和数据流的处理方式进行分类其实就是费林分类法。费林分类法认为,计算机中的资讯流可以分为指令流和数据流两种,根据指令流和数据流的数量可以对计算机进行分类。

费林分类法将计算机分为了以下四种类型:

  • 单指令流单数据流计算机 (SISD);
  • 单指令流多数据流计算机 (SIMD);
  • 多指令流单数据流计算机 (MISD);
  • 多指令流多数据流计算机 (MIMD).

以下是对上述四种类型的计算机的解释。

1.单指令流单数据流

英文全称为:Single Instruction, Single Data, 英文缩写:SISD.

在 SISD 计算机中,每个指令部件每次仅译码一条指令,而且在执行时仅为操作部件提供给一份数据。单指令流单数据流的一个典型应用就是冯·诺伊曼结构。

图 2. 冯·诺伊曼结构,CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=1393357

2.单指令流多数据流

英文全称:Single Instruction, Multiple Data, 英文缩写:SIMD.

在 SIMD 计算机中采用一个控制器控制多个处理器,实现了对同一组数据(亦称为”数据向量“)中的每一个分别执行相同的操作,从而达到空间上的并行性(同一组数据中的不同部分在不同的处理单元上完成计算)。SIMD 的应用有阵列处理器和向量处理器等。

克雷 YMP 向量计算机的处理器板:

图 3. 由Hannes Grobe & Chresten Wübber, Alfred Wegener Institute for Polar and Marine Research, Bremerhaven, Germany – 自己的作品,CC BY-SA 2.5,https://commons.wikimedia.org/w/index.php?curid=1135061

3.多指令流单数据流

英文全称:Multiple Instruction, Single Data, 英文缩写:MISD.

多指令流单数据流计算机的存在是没有意义的。一般情况下,一条指令中即包含对多个数据流的操作,多指令流中将包含对更多数据流的操作,如果这时候只有一条数据流,那么完全是“吃力不讨好”,因为更多的指令流并没有带来更大的效率提升。

4.多指令流多数据流

英文全称:Multiple Instruction, Multiple Data, 英文缩写:MIMD.

在 MIMD 计算机中,多个独立的处理单元可以单独的连接到内存,可以进行并行计算。MIMD 计算机的应用主要有多处理器组成的单个计算机或者多计算机组成的集群。

MIMD 工作示意图:

图 4. 图中的”PU”指的是处理单元,但是”PU”不一定必须是处理器,可以只是能完成处理功能的单元。该图展示了指令、数据和对数据的处理之间的关系。由I, Cburnett,CC BY-SA 3.0,https://commons.wikimedia.org/w/index.php?curid=2233543

计算机的发展趋势

计算机目前有两种发展趋势,一方面是小型化,便携化,满足个人用户的需要,例如手机和各种可穿戴设备。另一方面,计算机还向着高性能的方向发展,例如超级计算机。

图 5 是美国高峰(也有译作“顶点”,英文名称:Summit)超级计算机的一部分机组(2018 年 06 月 25 日,Summit 正式获得 TOP500 认证为全球运行速度最快的超级计算机):

图 5. 由Carlos Jones/ORNL – https://www.flickr.com/photos/olcf/42957291821/in/photolist-NsW4ML-25mPCpZ-JkN2vk-28rZmfr-YYYjk1-282ZTzq-271XTpf-271XZao-26JSfsB-25mPBPa-287nqxR-FENxmy-22HVvNY-227b4AU-XgBEPE-W6iPRi-XZZrnP-28rxs9o-XqcFKR-28rZmpK-H4EmiH-27ZDEwH-26JSngB-279g4ti-25moRES-28vVuuM,CC BY 2.0,https://commons.wikimedia.org/w/index.php?curid=73905694

计算机的发展历程

硬件

从 1946 年 02 月 14 日,世界上第一台电子计算机 ENIAC 在美国宾夕法尼亚大学诞生至今,计算机硬件的发展历程可以分为四个时代,如 表 1:

发展阶段时间逻辑元件运行速度(次/秒)内存介质外存介质
第 1 代1946-1957电子管(真空管)几千-几万汞延迟线,磁鼓打孔卡片
第 2 代1958-1964晶体管几万-几十万磁芯存储器磁带
第 3 代1964-1971中小规模集成电路几十万-几百万半导体存储器磁带,磁盘
第 4 代1972-Now大规模与超大规模集成电路千万级-亿万级半导体存储器磁盘,磁带,光盘,半导体存储器

表 1

电子管(也称之为“真空管”)的缺点是体积大,容易坏掉。

图 6. 常用的 6922 双三极真空管,公有领域, https://commons.wikimedia.org/w/index.php?curid=3152281

晶体管的体积比电子管小了很多,稳定性上也有很大的提升:

图 7. 由英语维基百科的Transisto – 自己的作品,CC BY-SA 3.0,https://commons.wikimedia.org/w/index.php?curid=11885148

微型计算机的发展是以微处理器 (CPU) 的发展为标志的。微处理器性能的一个重要指标是机器字长。机器字长指的是做一次整数运算所能处理的二进制数位数。例如,我们今天常说的 64 位处理器和 32 位处理器,他们做一次整数运算所能处理的二进制数的位数就分别是 64 位和 32 位。在此之前,还出现过 8 位机器字长和 16 位机器字长的微处理器。

这里我们要把机器字长和操作系统的位数区分开,因为操作系统的位数是由其所依赖的指令集的位数决定的,操作系统的位数影响的是整个系统能够访问的存储空间的大小。机器字长和操作系统的位数是两个不同的概念,这一点从他们各自的发展就可以看出来,X 位 CPU 和 X 位操作系统的出现与发展并不是同步的。

在计算机硬件的发展过程中,有一个定律不可忽视,这就是摩尔定律。摩尔定律是由 Intel 创始人之一戈登·摩尔(Gordon Moore)提出的。摩尔定律描述了计算机硬件(信息技术)进步的速度。摩尔定律描述如下:

当价格不变时,集成电路上可容纳的元器件的数目,约每隔18-24个月便会增加一倍,性能也将提升一倍。

图 8. 由 Wgsimon – 自己的作品,CC BY-SA 3.0,https://commons.wikimedia.org/w/index.php?curid=15193542

软件

编程语言:机器语言⇨汇编语言⇨高级语言 (如 C++, Java 等)。

操作系统:DOS, Unix, Linux, Windows, Android.

EOF