《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 大的多 的 高速存储器 。
将 各种 职能 分离出来, 变成 独立 的 逻辑电路, 同时 让 这个 逻辑电路 拥有 大容量 的 高速内存,
这可以 让 摩尔定律 继续有效 。
这也是 并行计算 的 思想 。
附上 网友 发的 一幅图, 这个 图 挺清楚的 :