当前位置: 首页 > article >正文

计算机组成原理-2-计算机的发展应用

2. 计算机的发展应用

文章目录

  • 2. 计算机的发展应用
    • 2.1 计算机的发展史
      • 2.1.1 计算机的产生和发展
      • 2.1.2 微型计算机的出现和发展
      • 2.1.3 软件技术的发展和兴起
    • 2.2 计算机的应用和展望

  • 本笔记参考哈工大刘宏伟老师的MOOC《计算机组成原理(上)_哈尔滨工业大学》、《计算机组成原理(下)_哈尔滨工业大学》。
  • 或者是B站《计算机组成原理(哈工大刘宏伟)135讲(全)高清》,大家一起听比较热闹。
  • 中文教材:《计算机组成原理(第二版)-唐朔飞.pdf》、《学习指导与习题解答(第2版)-唐朔飞.pdf》
  • 本篇笔记对应课程第二章(下图加粗)。

2.1 计算机的发展史

  • 第一台电子计算机是什么时候出现的?
  • 第一台电子计算机的基本指标?
  • 出现的驱动力是什么,发展的驱动力是什么?——>需求+技术发展
  • 主要部件的发展情况?
  • 主要部件的发展规律是什么?
  • 主要代表机型?
  • 微型计算机的发展?
  • 软件的发展?

这部分内容不是课程的主要内容,所以本章只是简单讲述,上面给出了本节关心的问题。

2.1.1 计算机的产生和发展

  实际上,当时有非常多计算机同时研制,所以谁是第一台计算机到目前仍然有争议。由于1946年诞生的 ENIAC 对后世计算机产生了非常深远的影响,并从中演化出第一台冯·诺依曼架构的 EDVAC,所以教材中默认 ENIAC 是第一台计算机。下面是ENIAC的基本指标:

  • 十进制运算。
  • 18000多个电子管、1500多个继电器。
  • 功耗150千瓦。
  • 重量30吨。
  • 占地面积1500平方英尺。
  • 运算速度5000次加法/秒。
  • 主要用途:计算弹道表。
  • 编程方式:手动搬动开关、手动插拔电缆,非常繁杂。

可以参考视频:【纪录片】第一台通用电子计算机的诞生-ENIAC的历史

  计算机发展的第一大驱动力就是“需求、需求、还是TM的需求”!比如当时弹道研究实验室每天需要给军方提供6张火力表,但是单个火力表包含几百条弹道、每个弹道又是一组非常复杂的非线性方程,即使200名研究人员加班加点,也需要两个月才能计算完一张火力表,所以才驱动了 ENIAC 的研究。计算机发展的另一大驱动力就是“技术发展”,“电子技术”和“计算机体系结构技术”的发展大大推动了计算机技术的发展。于是,我们便使用硬件技术的发展来衡量计算机发展的迭代次数:

表2-1 硬件技术对计算机更新换代的影响
时间硬件技术运算速度(次/秒)
一代1946-1957电子管40K
二代1958-1964晶体管100K
三代1965-1971中小规模集成电路1M
四代1972-1977大规模集成电路10M
五代1978-现在超大规模集成电路100M

下面总结一下历史上有重大影响的计算机:

  1. ENIAC:1943年研制,1946年投入使用,1955年退役,主要给军方计算弹道表。
  2. EDVAC:1945年提出,1949年交付,1961年退役。由ENIAC的顾问——冯·诺依曼,对ENIAC的架构进行改进而提出,也就是后来的“冯·诺依曼架构”。
  3. EDSAC:1946年研制,1949年投入使用。受EDVAC启发,是世界上第一台实际运行“冯·诺依曼架构”的计算机。
  4. IAS machine:1946年研制,1952年投入使用。采用“冯·诺依曼架构”。
  5. IBM360系列产品:1961年开始研制,1964年成功。IBM公司的里程碑产品,采用“大主机结构”。研制过程中提出“计算机系统结构”的概念,定义了计算机软硬件的交界面,标志着计算机的从低速发展跨入了快速迭代发展的时代。

2.1.2 微型计算机的出现和发展

  通常来说,“微处理器”是指用一片大规模集成电路组成的处理器,该处理器集成了运算器、控制器。“微型计算机”则是指使用微处理器的、使用大规模集成电路的、面向个人用户的、体积小、重量轻、价格低的计算机。显然关键器件就是“微处理器”、“微存储器”。Intel在1971年发布了第一款微处理器——Intel 4004,机器字长只有4位,慢慢发展到现在的64位。1969年则出现世界上第一个大容量SRAM存储器——C1103,存储容量只有256位,到现在的32GB、64GB。下表给出了 Intel 的典型微处理器产品:

参考鲜枣课堂官网:一文看懂内存芯片的发展史。

表2-2 Intel典型微处理器产品
产品编号机器字长发布年份规模
80808位1974年
808616位1979年2.9万个晶体管
8028616位1982年13.4万个晶体管
8038632位1985年27.5万个晶体管
8048632位1989年120.0万个晶体管
Pentium64位(准)1993年310.0万个晶体管
Pentium Pro64位(准)1995年550.0万个晶体管
Pentium II64位(准)1997年750.0万个晶体管
Pentium III64位(准)1999年950.0万个晶体管
Pentium IV64位2000年4200.0万个晶体管

上表引起我们思考,芯片能够集成晶体管的数量是否和时间有一定的关系呢?这就是“摩尔定律”。“摩尔定律”指出,时间坐标和晶体管集成规模具有指数关系,也就是“处理器的性能大约每两年翻一倍,同时价格下降为之前的一半”。

图2-1 摩尔定律示意图
来源:https://en.wikipedia.org/wiki/Moore%27s_law

2.1.3 软件技术的发展和兴起

  计算机能够得到广泛的应用,也离不开软件的发展,也就是编程语言的发展。最底层的编程语言是“机器语言”,但是机器语言面向机器,相同的应用程序很难在不同的机器上运行。在计算机发展早期,几乎是每台新机器都会有新的指令集。汇编语言也面向机器,但是比机器语言更加方便记忆书写。最后在“编译器”的封装下,高级语言面向问题,和底层具体的指令集关系不大,进而使编程效率大大提高。下面是一些常见的高级语言:

  • FORTRAN:科学计算和工程计算
  • PASCAL:结构化程序设计
  • C++:面向对象
  • Java:适应网络环境

  除了编程语言的发展外,系统软件的发展也至关重要。系统软件可以帮助程序员管理软硬件资源,下面给出常见的系统软件:

  • 语言处理程序:汇编程序、编译程序、解释程序…
  • 操作系统:DOS、UNIX、Windows、Linux…
  • 服务性程序:装配、调试、诊断、排错。
  • 数据库管理系统:数据库和数据库管理软件。
  • 网络软件。

  硬件开发中会有一些辅助工具,甚至可以组装自动化流水线,但是软件发展到今天,仍然还需要人来进行开发,包括开发、使用和维护程序所需要的所有文档(ChatGPT也需要基于已有的代码才能生成)。最后总结一下软件发展的特点:

  1. 开发周期长。大型软件都是几千万行代码甚至更长。
  2. 制作成本昂贵。软件开发人员多、薪资高。
  3. 检测软件产品质量的特殊性。很难检测到所有的场景。

一句话:很难的啦~🤣

2.2 计算机的应用和展望

下面给出目前计算机的常见的应用场景:

  1. 科学计算和数据处理:这是创造计算机的初衷。“科学计算”比如天体建模、核爆炸模拟、天气预报、流体建模等,通常使用HPC。“数据处理”比如电信、银行、税务等数据密集型的任务,单个事务运算量不大但是数量极多,主要使用“大主机结构”的计算机。
  2. 工业控制和实时控制:“自动化”、“自动驾驶”等都需要通过计算机来控制。
  3. 网络技术:比如电子商务、网络教育、敏捷制造等。
  4. 虛拟现实:显然需要计算机实时计算和显示。比如飞行员训练系统。
  5. 办公自动化和管理信息系统。
  6. CAD/CAM/CIMS:仿真软件。
  7. 多媒体技术。
  8. 人工智能。

最后是一些展望:

  1. AI的发展:计算机具有类似人脑的一些超级智能功能,要求计算机的速度够快、存储容量够大。
  2. 芯片集成度的提高会受到限制,摩尔定律会受到考验。比如因为以下因素导致芯片集成度难以持续提高:
  • 芯片集成度受物理极限的制约。
  • 制作成本按几何级数递增。
  • 芯片的功耗、散热、线延迟等缺陷会进一步增加。
  1. 传统硅基芯片会被替代:
  • 光计算机:现在已经实现了利用光子进行数据的存储和运输,是否能使用光子完成运算。
  • DNA生物计算机:通过控制DNA分子间的生化反应完成计算。
  • 量子计算机:利用原子所具有的量子特性完成计算,量子领域热门的话题是量子密码。

http://www.kler.cn/a/272866.html

相关文章:

  • 如何异地远程访问本地部署的Web-Check实现团队远程检测与维护本地站点
  • 建造者模式(或者称为生成器(构建器)模式)
  • JVM类加载器(附面试题)
  • 【大数据】机器学习-----模型的评估方法
  • Java中如何实现对象的深拷贝和浅拷贝?
  • 一次完整的tcpdump -XX输出报文详解
  • openEuler-22.03-LTS-SP2更改阿里云yum安装源
  • python异常:pythonIOError异常python打开文件异常
  • 阿里云云服务器ECS端口多个端口号开通教程
  • 组建对等网
  • Qt Excel文件读写
  • 深入理解Linux内核页表映射分页机制原理
  • 软考怎么考?高项科目这么多,应该怎么选?
  • 实现更高能效的汽车级低边驱动器NRVB140ESFT1G 带温度和电流限制 自保护低压侧驱动器
  • 过拟合欠拟合
  • Python爬虫 Day1
  • 网络编程--高并发服务器
  • 程序猿成长之路之socket篇-socket通信原理简介
  • web蓝桥杯真题:和手机相处的时光
  • python异常:Exception、BaseException接收异常,并打印异常信息msg
  • 接口优化:查询企业额度代码优化
  • 做老阳推荐的蓝海项目有成功的吗?
  • 【nfs报错】rpc mount export: RPC: Unable to receive; errno = No route to host
  • 英语单词--痛苦
  • web高可用集群(lvs负载均衡+keepalved高可用)
  • OpenvSwitch 配置 Trunk 端口实验