zoukankan      html  css  js  c++  java
  • 关注 硬件 发展, 转载一篇介绍 VHDL 的文章

    《VHDL学习笔记》

    https://www.eefocus.com/hrbeulvcaho/blog/12-11/289109_978e2.html

     

    VHDL 和  “可编程逻辑阵列”     等 硬件技术 的 发展,   未来 硬件层 的 地位 会 不一样,  工作内容 也会 更丰富 。

     

    说实在的, 没必要 担心 摩尔定律 失效,  CPU 的 能力 现在 实际上 并没有 得到 太大 的 利用  。

    有很多 因素 左右 着 计算机 的 执行速度  。

     

    比如,  无阻塞模式, 可以参考《无阻塞 编程模型》  https://www.cnblogs.com/KSongKing/p/10287882.html

    又比如 三级缓存 对于 线程切换性能消耗 的 影响, 可以参考《后线程时代 的 应用程序 架构》  https://www.cnblogs.com/KSongKing/p/10228842.html

    还有就是 今天 说的   VHDL,    VHDL +  “可编程逻辑阵列”   是   复杂指令集 思想 的 解放式 发展  。

    将 越来越多 的 逻辑 放到 一个 指令 里 执行,

     

    如果从 程序 设计的角度,  从 软件 的 角度,   VHDL 和 “可编程逻辑阵列”   可以看作 是 一个  超级高效 的   库(Lib),

    VHDL 和 “可编程逻辑阵列”   可以为 开发人员  提供  高速   的   API,

    这个 API 可以是  图形处理 、 图像处理 、 人工智能  以及  操作系统 内核 操作 ,  以及  各方各面 的 业务需求 。

    事实上 操作系统 已经在 用 这个原理了, 比如 操作系统 虚拟内存 的 管理工作 就是通过 CPU 的 “存储管理部件” 实现的 。

     

    VHDL 和 “可编程逻辑阵列”   的 应用领域 在 未来 可能 非常 广泛,

    比如 数据库 也可以 利用 这个 硬件编程 的 福利,  

    可以设想 有一些  数据库 操作 的 “宏指令”  (宏指令 这个名字 是 和 微指令 相对,  在 VHDL 下, 一个 宏指令 由 非常多 的 微指令 组成),

    在 VHDL 下,  可以设计一个  很大 的  电路  作为 一条  宏指令,

    这个 电路 里包含了 很大 的   电子存储器,   以及 执行 遍历, Hash,  排序   的   逻辑电路,

    这样的  宏指令  可以用于 数据库  。

     

    所以, 通过 以上 的 种种方式, 通过 硬件 的 “多样化” 、 “职能复杂化”,  同样 可以 保持 摩尔定律 继续有效 。

    不一定 只有 更加 微观 的 制造工艺  。

     

    通过 上面 的 想象, 我们发现, 如果从 “大处着眼”  硬件执行速度  的 发展 的话,  会发现 有一个 重要的关系 关系 到 摩尔定律 的 继续 有效 。

    这个 关系 就是      CPU 和 内存      的 关系  。

     

    CPU 和 内存 离 的 越近,   离 CPU 近 的 内存 越大,  则 执行速度 越快 。

     

    如果 从 广义 上来讲,   这个 关系 可以说是       逻辑电路 和 存储器电路       的 关系  。

     

    CPU 是 中央处理器, 必须保持 高速运行,

    但是 可以  把 一些    “业务性”  的 职能  分离  出来,  这些 业务性 的 逻辑电路 可以 独立出来, 放在 和  CPU  相对较远 的 地方,

    因为 和 CPU 相对较远, 所以 可以 采用 和 CPU 不同的 制造工艺,

    这样 在 技术上 就可能 让 这块 业务逻辑电路 拥有 比 CPU Cache 大的多 的 高速存储器  。

     

    将 各种 职能 分离出来, 变成 独立 的 逻辑电路, 同时 让 这个 逻辑电路 拥有 大容量 的 高速内存,

    这可以 让 摩尔定律 继续有效 。

     

    这也是 并行计算 的 思想 。

     

    附上 网友 发的 一幅图,  这个 图 挺清楚的 :

                  

     

     

     

     

  • 相关阅读:
    if控制器+循环控制器+计数器,控制接口分支
    前置处理器
    逻辑控制器
    配置元件
    基础元件
    docker etcdctl报错:etcdctl No help topic for 'put'
    celery定时执行ansible api返回为空的问题
    Ansible+Jenkins+Gitlab搭建及配置
    进击的Python【第十六章】:Web前端基础之jQuery
    进击的Python【第十五章】:Web前端基础之DOM
  • 原文地址:https://www.cnblogs.com/KSongKing/p/10306158.html
Copyright © 2011-2022 走看看