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

关注 硬件 发展, 转载一篇介绍 VHDL 的文章的更多相关文章
- 《转载-两篇很好的文章整合》Android中自定义控件
两篇很好的文章,有相互借鉴的地方,整合到一起收藏 分别转载自:http://blog.csdn.net/xu_fu/article/details/7829721 http://www.cnblogs ...
- 转载一篇介绍CUDA
鉴于自己的毕设需要使用GPU CUDA这项技术,想找一本入门的教材,选择了Jason Sanders等所著的书<CUDA By Example an Introduction to Genera ...
- 上一篇括号配对让人联想起catalan数,顺便转载一篇归纳的还不错的文章
转载请注明来自souldak,微博:@evagle 怎么样才是合法的组合? 只要每一时刻保证左括号的数目>=右括号的数目即可. 直接递归就行,每次递归加一个括号,左括号只要还有就能加,右括号要保 ...
- 国内首篇介绍JanOS物联网操作系统的文章 - 如何把你的手机主板打造成物联网平台
天地会珠海分舵注:如无意外,您现在正在看的将是国内首篇且是唯一一篇介绍炙手可热的物联网的操作系统JanOS的文章!不信你去百度!希望大家能喜欢.但本文只是引言,更多信息请还是访问JanOS的官网:ht ...
- Java并发包下锁学习第一篇:介绍及学习安排
Java并发包下锁学习第一篇:介绍及学习安排 在Java并发编程中,实现锁的方式有两种,分别是:可以使用同步锁(synchronized关键字的锁),还有lock接口下的锁.从今天起,凯哥将带领大家一 ...
- spring cloud系列教程第一篇-介绍
spring cloud系列教程第一篇-介绍 前言: 现在Java招聘中最常见的是会微服务开发,微服务已经在国内火了几年了,而且也成了趋势了.那么,微服务只是指spring boot吗?当然不是了,微 ...
- 老猿学5G扫盲贴:推荐三篇介绍HTTP2协议相关的文章
专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 老猿学5G博文目录 5G中的服务化接口调用都是基于HTTP2协议的,老 ...
- (转)干货|这篇TensorFlow实例教程文章告诉你GANs为何引爆机器学习?(附源码)
干货|这篇TensorFlow实例教程文章告诉你GANs为何引爆机器学习?(附源码) 该博客来源自:https://mp.weixin.qq.com/s?__biz=MzA4NzE1NzYyMw==& ...
- 给B公司的一些建议(又一篇烂尾的文章)
感慨:太多太多的悲伤故事,发生在自己身上,发生在自己的身边.因此,为了避免总是走"弯路",走"错误"的道路,最近一直在完善自己的理论模型. 烂尾说明:本文是一篇 ...
随机推荐
- DevExpress WinForms使用教程:Data Grid - Find Panel模式
[DevExpress WinForms v18.2下载] DevExpress WinForms用户都熟知,Data Grid是整个产品线的主要产品.在v18.2中添加了一些新的功能,例如之前教程中 ...
- Configuring Ubuntu for deep learning with Python in Ubuntu16.04
博主最近浏览到一个网站PyImageSearch,看到里面的项目还不错,就顺手配置一下环境,试着去跑下里面的模型. 首先,需要配置好需要运行模型的环境,其实主要的步骤分为以下三步: 1. 安装Ubun ...
- 数位DP详解
算法使用范围 在一个区间里面求有多少个满足题目所给的约束条件的数,约束条件必须与数自身的属性有关 下面用kuangbin数位dp的题来介绍 例题 不要62 题意:在一个区间里面求出有多少个不含4和6 ...
- mysql encode decode加密和解密
加密:模板:insert into user(userpass) values(encode('useerpass','str')) insert into user(userid,username, ...
- Oracle 一些注意点
number精度问题 Number(p,s): p和s都是可选的. p指精度(precision),即总位数.默认情况下精度为38.精度的取值范围为1~38. s指小数位(scale),小数点右边的位 ...
- SpringSecurity自定义登陆页面和跳转页面
如果我们不用form-login说明登陆界面,springsecurity框架将自动为我们生成登陆界面 现在我们不想用自动生成的登陆界面了,而想使用自定义的漂亮的登陆界面 则需要使用<secur ...
- winform dataGridView中的button点击判断
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e) { if (e.RowI ...
- HDU1253-胜利大逃亡 (三维BFS)
题目传送门:http://acm.hdu.edu.cn/showproblem.php?pid=1253 胜利大逃亡 Time Limit:4000/2000MS(Java/Others)Memory ...
- NOI-1.3-05-计算分数的浮点数值-double要注意
05:计算分数的浮点数值 总时间限制: 1000ms 内存限制: 65536kB 描述 两个整数a和b分别作为分子和分母,既分数 a/b ,求它的浮点数值(双精度浮点数,保留小数点后9位) 输入 ...
- flask写入数据库
sqlalchemy是一个关系型数据库框架,它提供了高层的ORM 和底层的原生数据库的操作. sqlalchemy实际上是对数据库的抽象,通过python对象操作数据库,提高开发效率. 安装 flas ...