zoukankan      html  css  js  c++  java
  • 天才冯·诺依曼与冯·诺依曼瓶颈

    天才 冯·诺依曼

    冯·诺依曼1903年12月28日出生于奥匈帝国布达佩斯,1957年2月8日卒于美国,终年53岁。在他短暂的一生中,他取得了巨大的成就,远不止于世人熟知的“冯·诺依曼架构”。

    约翰·冯·诺伊曼,出生于匈牙利的美国籍犹太人数学家,现代电子计算机与博弈论的重要创始人,在泛函分析、遍历理论、几何学、拓扑学和数值分析等众多数学领域及计算机学、量子力学和经济学中都有重大贡献。

    -- 约翰·冯·诺伊曼的维基百科

    除了对计算机科学的贡献,他还有一个称号不被大众所熟知:“博弈论之父”。博弈论被认为是20世纪经济学最伟大的成果之一。(说到博弈论,我相信大多数人第一个想到的肯定跟我一样,那就是“纳什均衡”)

    冯·诺依曼架构

    冯·诺依曼由于在曼哈顿工程中需要大量的运算,从而使用了当时最先进的两台计算机 Mark I 和 ENIAC,在使用 Mark I 和 ENIAC 的过程中,他意识到了存储程序的重要性,从而提出了存储程序逻辑架构。

    “冯·诺依曼架构”定义如下:

    1. 以运算单元为中心
    2. 采用存储程序原理
    3. 存储器是按地址访问、线性编址的空间
    4. 控制流由指令流产生
    5. 指令由操作码和地址码组成
    6. 数据以二进制编码

    优势

    冯·诺依曼架构第一次将存储器和运算器分开,指令和数据均放置于存储器中,为计算机的通用性奠定了基础。虽然在规范中计算单元依然是核心,但冯·诺依曼架构事实上导致了以存储器为核心的现代计算机的诞生。

    注:请各位在心里明确一件事情:存储器指的是内存,即 RAM。磁盘理论上属于输入输出设备。

    该架构的另一项重要贡献是用二进制取代十进制,大幅降低了运算电路的复杂度。这为晶体管时代超大规模集成电路的诞生提供了最重要的基础,让我们实现了今天手腕上的 Apple Watch 运算性能远超早期大型计算机的壮举,这也是摩尔定律得以实现的基础。

    冯·诺伊曼瓶颈

    冯·诺依曼架构为计算机大提速铺平了道路,却也埋下了一个隐患:在内存容量指数级提升以后,CPU 和内存之间的数据传输带宽成为了瓶颈。

    上图是 i9-7980XE 18 核 36 线程的民用最强 CPU,其配合超频过的 DDR4 3200MHz 的内存,测试出的内存读取速度为 90GB/S。看起来很快了是不是?看看图中的 L1 Cache,3.7TB/S。

    我们再来算算时间。这颗 CPU 最大睿频 4.4GHz,就是说 CPU 执行一个指令需要的时间是 0.000000000227273 秒,即 0.22ns(纳秒),而内存的延迟是 68.1ns。换句话说,只要去内存里取一个字节,就需要 CPU 等待 300 个周期,何其的浪费 CPU 的时间啊。

    CPU L1 L2 L3 三级缓存是使用和 CPU 同样的 14 纳米工艺制造的硅半导体,每一个 bit 都使用六个场效应管(通俗解释成三极管)构成,成本高昂且非常占用 CPU 核心面积,故不能做成很大容量。

    https://lvwenhan.com/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/492.html

  • 相关阅读:
    Python 基础 -2.4.2 生成器,迭代器
    Python 基础 -2.4.1 装饰器
    Python 基础 -2.4 函数进阶,名称空间,闭包,高阶函数,递归,匿名函数,生产式,生成器,迭代器
    Python 基础 -2.3 函数
    python中字典,元组,列表和字符串之间的转换
    input和raw_input区别
    Python 基础 -2.2 文件操作
    Golang之AES/DES加密解密
    Golang与MySQL
    RTFM
  • 原文地址:https://www.cnblogs.com/doit8791/p/10049448.html
Copyright © 2011-2022 走看看