计算机组成原理 02 计算机的发展

1.2 计算机的发展


  1. 什么是 计算机系统

计算机系统 = 硬件 + 软件

硬件:计算机的实体部分,比如说 主机,外设,显卡 这些。(计算机的身体)

软件:由具有各类特殊 功能 的程序组成,比如说 操作系统,管理程序软件,应用程序软件 等等。(计算机的灵魂)有些时候,软件可以决定 发挥硬件 性能的多少

计算机性能的好坏 取决于 "软"、"硬" 的结合。比如说:我们知道 安卓手机 大多数都比 苹果手机硬件好,但是 苹果手机可以 通过 自家的IOS操作系统,和应用软件 达到 甚至比 安卓手机 更好的体验。


  1. 软件的大致分类

软件:大致可分为 系统软件 应用软件

系统软件:用来管理整个计算机系统,起着非常非常重要的作用,我们现如今写的程序,都要运行在 操作系统这样的 一个 平台上。(甚至是 如果没有操作系统帮我们 去完成 诸多的操作,现在的 程序员 工作 也并不会好做!而且 高级语言 甚至也不会诞生!

操作系统 DBMS 数据库管理系统(比如 MySQL) 标准的程序库(编程时需要用到的) 网络软件 语言处理程序(就是高级语言翻译成汇编或机器语言) 服务程序(代码调试就是服务程序)

应用软件:按任务 需要编制成的 各种程序。(一般都是由一序列,一堆 指令组成的集合体 )

爱奇艺 网易云音乐 快手 b站 LOL(当然游戏也算是应用软件)


1.2.1 硬件的发展

  1. 第一台电子数字计算机:ENIAC(1946)埃尼亚克

在这里插入图片描述
占地面积约 170 平方米,耗电量 150 千瓦,运算速度 5000次 加法/秒在那个时代,计算机还主要是用来进行 加减乘除 计算的呢。所以 当然以 加法计算的速度来 衡量性能。

该项目 在研发的时候,请了一个 资深的顾问:冯诺依曼

这台计算机采用的 逻辑元件 是 "电子管"。

所谓逻辑元件,就是 处理电信号 的最小的 元器件,在当时,电子管 算是最小的了。所以 我们 需要用 很多很多的 这东西 来进行组装 变成计算机。

在这里插入图片描述
在当时,其实也存在 "程序猿" 这样的生物,但是 他们要进行 编程的话,就需要 用 类似于 打孔机的东西,一个 0 一个 1 的 弄。也就是我们 说的 "机器语言" 因为 那个 时候 是 第一代计算机,所以你要编程的话,也是很原生态的。

  1. 晶体管计算机

晶体管的体积要比 电子管小的多。在这里插入图片描述
也因此,我们可以 用更多的晶体管 去组成 计算机。这一样的话 计算机 就变得 更加的 完善,复杂。为了让其 拥有 各种功能,我们在那个年代,引入了 第一个 面向过程的编程语言 "FORTRAN" 而且 操作系统也有了 雏形。(如果计算机 比以前更能实现逻辑化,为什么不让它自力更生呢?这是当时的一个想法,当然也持续至今。在这里插入图片描述

  1. 中小规模集成电路

把元器件缩的更小,然后 放在一起,集成在 一个 基片上。这样 即保证了 小巧,又保证了 安全性。不用再去自己 手动的 焊接。
在这里插入图片描述
从此,计算机主要用于 科学计算等专业用途

也因此,高级语言 迅速的发展了起来。随着高级语言的发展,操作系统 也越来越 显著,在那时 已经 从所谓的 雏形,变成了 发版,可以供 我们使用。

  1. 大规模、超大规模集成电路

由于 更加的 小,而且 集成的 基片 也很小了。也就代表着 可以有 更多的 组合,更多的可能性。更多的逻辑处理,数据处理,等等 各种东西 快速的 发展。
在这里插入图片描述
在这里插入图片描述
也从这个阶段开始,计算机 步入了 人类的生活。我们终于 有了 "个人计算机"

而用于 考虑到 人性化,有几个操作系统 也脱颖而出了。比如:Windows MacOS Linux . . .


1.2.2 微处理器的发展

首先要先了解一下 机器字长:机器字长指的是,计算机在进行一次 整数运算 所能处理的二进制位数。

如果机器字长 比较大,就可以 对 复杂的运算,只进行 一次!如果 机器字长 小,就要进行 多次的运算。而 计算的次数,也决定了 性能!

在这里插入图片描述

在这里插入图片描述

摩尔这个人 不仅 创立了 Intel 而且还提出了 "摩尔定律"

在这里插入图片描述
注意: 他只是为了 揭示了信息技术进步的速度即一个 在当时发展速度的预言,而不是说明 这个 定律会一直有效!或一定有效!

集成电路上可容纳的晶体管数目,约每隔18个月便会增加一倍,整体性能也将提升一倍

由于 确实硬件在这样的定律下 发展,也导致了 业界的一句话:"加量不加价!" 如果你在现在 花2000元买的电子设备,再在两年后 同样买的 电子设备,不仅比你当初买的 先进,性能高,小巧。而且 价格 还可能 比 2000 元要低一些。。

存储器 其实也 符合 摩尔定律哟 ~ (毕竟都是电子器件嘛)
在这里插入图片描述
不过一定要注意的是,现在 好像这个 定律 已经被撼动了。似乎 不成立了呢。(毕竟 只是 摩尔 当初为了 揭示了信息技术进步的速度 随意提的这么一嘴罢了。


1.2.3 软件的发展

说到 软件发展,那就肯定 要从 编程语言 说起。

如果没有编程语言,那么 计算机 也不会 有真正意义的软件!!

在这里插入图片描述

说起 第一代 编程语言,和第二代,就是一把辛酸泪。

第一代编程语言,由于 其不好记,而且还复杂。每个 CPU 架构都有自己的 二进制代码。这就使得 当初 基本 没有 程序猿。至少 只有 一些科学家 兼职着 程序猿的工作。

后来的第二代,也就是 汇编语言,通过 英文单词这样的 助记符,翻译成 对应的 二进制代码,可以使得 开发的效率提高,难度大大下降。变得 可以 让人们接受。这才 让 一些 普通人,开始接触了 编程 这个东西,我国著名的第一代程序猿之一 雷军 就是从 汇编语言 开始学起的。

但是 我们知道 汇编语言 只不过是 对 二进制代码 进行了一下 翻译的工作。实际上 对于 不同的 CPU 架构 你写的 代码 还是 会 出现各种 异常。即 在什么 硬件上编写的程序,就必须在 该硬件上运行!

这也代表着,注定着 在那个时期,不可能产生 多少软件。(编写极难,完全没有可移植性这个概念

在这里插入图片描述

后来 出现了 第二代语言,就是我们说的 "高级语言"

这些语言,解决了两个问题。

第一个就是 编写的难度,这些语言,完全把 二进制代码,变成了 我们 人类能够 读懂的 英文,甚至还具有 独特的 易于理解的 语法结构。

第二个就是 可移植性的引入,在操作系统出现后,可移植性 也就正式有了话题。如果 可以通过 操作系统 对 程序 进行 一个 调节。不就可以 在相应的 操作系统下 运行程序了吗?(这就不需要 考虑 硬件的事情了。实际上 是 操作系统帮我们 解决了 硬件差异的问题。从此之后,才有了真正意义上的 程序!

不过这也 导致了一个问题,如果 我么说 操作系统 是我们 普通用户 直接接触的东西。那么 操作系统 一旦不支持 某个 硬件。这个硬件 也就会被 迅速的 淘汰!!!

题外话:随着 网络的迅速发展,网络对我们计算机 时代的影响越来越大,最后 从计算机时代,来到了 互联网 时代。在互联网时代,也萌发了一款新的编程语言 Java 而随着互联网 时代的不断发展,Java 变成了 现如今 世界上最受欢迎,最火爆的 高级语言之一。

操作系统发展:DOS --> Windows/MacOS/Linux --> Android/IOS在这里插入图片描述


1.2.4 目前计算机的发展趋势

"两级" 分化:

  1. 微型计算机向更微型化、网络化、高性能、多用途方向发展。
    在这里插入图片描述

  2. 巨型机 向巨型化、超高速、并行处理、智能化方向发展。

在这里插入图片描述
在这里插入图片描述

原文地址:https://www.cnblogs.com/MuQuanyu-YuGod/p/15178592.html