tag 标签: 评测

相关帖子
相关博文
  • 热度 5
    2021-7-24 11:24
    1223 次阅读|
    2 个评论
    《嵌入式C语言自我修养》- 读书笔记
    《嵌入式C语言自我修养》- 读书笔记 感谢“面包板社区”,我得到了这次评测机会,可以得到一本新书。 《XXX的自我修养》这样的名字,可不是等闲之名,轻易就能叫的。在我印象中有4部这样的书: 1)少奇同志《论共产党员的自我修养》 2)周星星的《演员的自我修养》在周氏电影里出镜颇高 3)俞甲子的《程序员的自我修养》 4)还有这本: 王利涛的《嵌入式C语言自我修养》 -------------------------------------------------------------------- 我在很多年以前,因为工作关系,使用过 WindRiver风河 开发和编译驱动代码。 在我的知识体系中:对嵌入式和C语言的印象是这样的: 1)所谓“嵌入式C语言”,和普通C语言相比,在语法上没有差异。 所谓“嵌入式C语言”,也并不是普通C语言的子集或超集。 2)所谓“嵌入式C语言”,指的是它工作在“嵌入式系统”而已; 相比而言,“普通C语言”,则工作在通用图灵机上,即 Windows/Linux操作系统机器上 两者的区别在于硬件平台,是否已经有了操作系统的支持: 如果没有就是嵌入式,需要自己来支持自己,自己动手,原始小哥的丛林生活; 如果有则是“普通C语言”,相当于市政配套成熟,生活轻松,虽然自己可能没有意识到 3)所谓“嵌入式C语言”,功夫全在“C语言”之外,需要了解非常多的嵌入式系统知识才能驾驭: “嵌入式C语言”并不是C语言的简化版,而是野外求生版。 使用“嵌入式C语言”以后,才能更深刻理解 C语言为什么要设计成这样子,而不是那个样子。 -------------------------------------------------------------------- 但是毕竟我不再从事嵌入式开发,也已经有很多年了。 我读了《嵌入式C语言自我修养》书后,感慨很多。 本书的作者:王利涛老师,我居然不认识,我当年做嵌入式研究时,不知道还有这样一位大牛。 上网一搜:《嵌入式工程师自我修养》视频教学,资料一大把。本书是他在大量的培训课程中,沉淀总结下来的知识汇总。 -------------------------------------------------------------------- 俞甲子的《程序员的自我修养》, 是我非常喜欢的;现在 王老师的这本书, 我觉得完全配得上这个书名, 两本书并列照片: 算是找到伙伴了, 两本书都不在孤单了。 我自己的一些感悟, 完全都在书本里。 书本里的一些知识点,是我以前 完全未知的,或 知而不解的,或一知半解的。 我已经不从事 嵌入式系统开发了, 还真是有点庆幸。 忽然又有些悲凉。
  • 热度 7
    2021-7-21 11:53
    1198 次阅读|
    0 个评论
    【大联大友尚英特尔神经计算棒】+(0)评测的准备功课
    【大联大友尚英特尔神经计算棒】+(0)评测的准备功课 1: 这是什么? NCS2 是 Neural Compute Stick 2的缩写,神经网络计算棒的意思。 该棒子来自英特尔,通体英特尔蓝。外壳是铝合金质地,猜测是散热用的 原厂又称其为VPU(视觉vision 处理单元)即专为处理 视频流的AI训练单元。 我们知道,视频处理的神经网络,规模庞大,其训练和推理的计算量庞大。 一般的视频神经网络训练,都需要GPU连续运行几个小时才能收敛的; 对这么一根小小的棒子来说,应该是专为加速 神经网络推理而用的。否则英伟达真没天理了 简而言之,NCS 2就像用于推理机器学习模型的微GPU,主要用于推理(也可用于训练) 2:棒子里面长什么样? 就是一个USB棒,USB3.0 (USB2.0速率480M bps半工;USB 3.0速率5G bps全工) 我的PC机器还不支持 USB3.0,不过幸好 USB是向下兼容的,只要 type匹配,能插进去,问题就不大。 USB3.0的棒子可以插在USB2.0的槽位中,不过速率只有SB2.0的速度而已 在这个棒子里,除了USB接口和驱动以外,就是一个 VPU芯片 3:VPU芯片的基础知识 芯片全名:Intel Movidius Myriad X VPU ,这其实混合了三家子的话: Intel 是最终的品牌; Movidius 名字很明显在碰瓷 Nvida,是Intel在2016年收购的计算机视觉新创公司 Myriad 是该收购公司的VPU品牌,该VPU芯片通过Myriad Development Kit(MDK)进行编程,MDK包括所有必要的开发工具、框架和API,以在芯片上实现定制视觉、成像和深度神经网络工作负载 Myriad X 其实是该公司的第三代VPU产品 Intel在收购 Movidius以后,在MDK 基础上再封装一层,形成 OpenVINO(开放的视觉推理和神经网络优化)工具包,不仅能做编解码的加速,也能做一些视频处理工作。照例是英特尔主导开源 4:VPU芯片结构 Movidius成立于2008年,技术坐镇的三人组有: 被苹果收购的 P.A.Semi 创始人丹尼尔·多伯普尔(Daniel Dobberpuhl), 卡内基梅隆大学计算机科学/计算机视觉专家金出武雄, 以及前苹果 iPhone 和 iPod 部门工程副总裁、资深工程师大卫·图普曼(David Tupman) 从上图可以看出这款处理器 主要由SPARC处理器作为主控制器 ,加上专门的DSP处理器和硬件加速电路來处理专门的视觉和图像信号。 这是一款以DSP架构为基础的视觉处理器,在视觉相关的应用领域有极高的能耗比,可以将视觉计算普及到几乎所有的嵌入式系统中。 5:怎么用: NCS2棒运行在USB,不再需要其他硬件。 NCS2所必须的 OpenVINO软件有Windows 10和Ubuntu两大版本。 官网上说NCS2只支持和提前编译好(pre-compiled)的OpenVINO使用。 即:从不能采用从源代码安装(install from source)的方式来驱动NCS2。原因未知。 好处是: 省事;Intel每季度都会发新版本,论坛支持也很及时到位 缺点是: 如有bug只能干等,到下一个版本Intel自己来解决。 6:OpenVINO的介绍: OpenVINO分为模型优化器(Model optimizer)和推理引擎(Inference Engine)分别支持训练和推理。 两者的接口,就是 IR 英特尔中介码(Intel's intermediate representation)。 即:训练好的 神经网络,由两个文件构成:一个xml文件描述神经网络的架构。一个二进制文件,用来存储神经网络的权重。 对 NCS2 来说,IR是输入。NCS只是 IR的执行期间。所以我们只要关心推理引擎就好了。 该引擎主要是用C++写的,提供C++ API,和 Python API(较为简陋) OpenVINO的训练引擎,本质上一个文件转换器:拟定深度神经网络,利用训练数据得到权重。 补充:OpenVINO是支持用CPU来训练的,只要CPU是Intel的就好。 另外:OpenVINO还可以用CPU中的集成GPU进行训练。可以极大提升学习速度 此外:OpenVINO还支持从TensorFlow, Caffe, ONNX等其他模型转换(convert)得到IR。 这个NCS2 模型优化器是用Python写的,可以直接使用进行模型设计和训练并得出 IR.
  • 热度 6
    2021-7-20 20:19
    1228 次阅读|
    5 个评论
    【大联大友尚英特尔神经计算棒】+(0)评测准备 刚才面包板管理员通知我,入选了这个测评。 大联大友尚英特尔神经计算棒 我回头仔细看了一下评测规则: 1、务必在规定时间内完成评测,提交不少于 1篇评测及视频 。 2、作品要求"产品开箱、应用思路、操作方法、功能体验、客观评价、总结、代码展示"为主,且具有 通篇完整性 (请勿连载) 。 3、务必有 实体产品开发成型 。 4、文内不得少于 5张开发板横拍图片 (截图不算在内) ,字数不限。 5、所有展示及介绍实物作品需 公开源代码 。 6、作品未完成前,禁止将产品转赠、售卖给他人。已完成作品经社区管理员审核后,后续处置须遵守相关法规。 7、文章标题【大联大友尚英特尔神经计算棒】+自定义标题 视频提交规则: 1、时间:3~5分钟内 2、画面:统一 横向录制 , 画质高清,画面稳定,背景干净,需能明显辨认出使用的开发版 3、声音:表 述清楚,收音清晰 ,请尽量使用标准普通话 (若设字幕更佳) 4、建议包含作品介绍、使用方法、应用思路、功能实现呈现(展示成型的作品) 5、对功能展(演)示, 需要清楚明了。例如: (1)介绍演示时会使用到的相关装置 (2)演示时, 同步描述过程与结果 (3)若结果是以Log(Message)呈现, 请务必解释清楚思路和意义. 6、视频标题【大联大友尚英特尔神经计算棒】+自定义标题 ===================================================== 我把 关键要求 列举出来了,下个月将会很充实。 我要用手机拍摄,编辑,并增加字幕;编辑一份视频提交。 1)开箱视频,比较容易,一边开箱一边讲解,容易做到 2)应用设计,需要酝酿一段时间。要讲解设计思路、操作方法。 我就打算用 demo 凑数了 3) 功能体验、客观评价、总结、代码展示, 也就是 demo代码了 这三段视频完成后, 需要合成在一起,配上字幕。 我要做的东西还是比较多的。 有挑战性,我很喜欢, 来吧,看一下我的潜力究竟有多大!!
  • 热度 5
    2021-7-17 12:05
    1047 次阅读|
    1 个评论
    《 http:// CPU设计实战》-(6) 后续章 感谢“面包板社区”的评测机会,让我可以刷新自己的知识架构。回顾一下, 《CPU设计实战》-(1) 前四章的初印象 《CPU设计实战》-(2) booth算法 《CPU设计实战》-(3) booth乘法器 《CPU设计实战》-(4) Wallace tree 乘法器 《CPU设计实战》-(5) 除法器 我们这里将会结束本书的阅读 ================================================ 第六章: 在流水线中添加转移指令和访存指令 ================================================ 这个话题,对RISC指令体系,MIPS/ARM 等指令体系,对编译器后端等是非常重要的 书中从165页到157页, 总共9页的篇幅来讲, 龙芯是如何做的 "HOW问题"。可惜没有"WHY问题" ================================================ 第七章: 例外和终端的支持 ================================================ 感觉很明显,这章内容 是两位作者的 "经验总结",书中从166页到184页, 总共19页的篇幅来讲,写得非常用心。既有"HOW",也有"WHAT","WHY": 从“例外和终端”的概念,到运行机制的讲述,到实现方法的讲述。 从“例外和终端”的种类,到指令级的支持,讲得很详尽。 读到这里,我才有“参与龙芯开发”的感觉 ================================================ 第八章: AXI总线接口设计 ================================================ CPU core 核其实是比较简单的,仅占20%的工作量; 而实际的 CPU 不能仅有一个 CPU core 就完事的,剩下的 80%的工作量,就围绕着这个 core,在如何配搭外部设备,使用连接外部接口,等等。这些内容在 第一章 简单说过。在这里应该还需要强敌一下的。 CPU 内部链接关系是 龙芯 CPU设计最重要的环节。本书对此很重视:从184页到210页。这才是本书的着眼点。我觉得这章才反应出 本书作者的真实水平。 从中可以看到:龙芯的重点都在什么地方。龙芯的核心技术是什么。龙芯的本质是什么。 ================================================ 第九章: TLB MMU 设计: 存储管理,虚实地址映射 第十章: 高速缓存 设计: cache 设计 ================================================ 对存储的访问效率问题, 对 CPU 而言是永远不会过时的问题。 第十章的讲解实在是详实,应该是另外一位作者主笔的,我打算以后详细研究,或许能有所借鉴 到这里,全书的评测初步 告一段落。以后研究有心得再单独贴出吧
  • 热度 4
    2021-7-16 11:35
    1060 次阅读|
    0 个评论
    《CPU设计实战》-(5) 除法器 感谢“面包板社区”的评测机会,让我可以刷新自己的知识架构。 回顾一下: 《CPU设计实战》-(1) 前四章的初印象 《CPU设计实战》-(2) booth算法 《CPU设计实战》-(3) booth乘法器 《CPU设计实战》-(4) Wallace tree 乘法器 ================================================ 我们目前还是停留在 第五章: 在流水线中添加运算类指令 ================================================ 除法器,几乎没有可投机取巧的地方! 只能一步一步循环移位除下去,手工能计算二进制除法过程,逻辑就容易实现。 我看到书里只计算到 商和余数, 其实余数也可以继续计算浮点。 浮点运算不在第五章里, 我学过 IEEE 关于小数的表示法,以及小数数值的获取方法等知识,留待后续章节印证吧。 书中没有更多关于除法器的更新理论。 ----------------------------------------------- 看到一篇真能扯的妙文:转帖如下: 问:为什么除法比乘法难? 答:嗯,从信息论的角度看……加减乘除是对物理世界的一种反映,比如加法就是若干堆(数量各不相同的)物体放在一起是多少物体之类。 按照热力学第二定律,现实世界倾向于将各种分开的、有一定信息的东西混在一起。比如两队苹果,一堆3个另一堆5个,加起来8个;然后如果把它们混起来,虽然还是有一些信息,比如总和信息还在;但失去了一点信息,比如原来的3和5两个数字就没有了。也就是说,加法并不产生什么新的信息,只是得到原来就有的信息(8)而已。而且世界自然就倾向于两堆苹果混起来,不需做什么。乘法也是类似的。 而减法和除法则不同,是某种需要创建新信息的运算。“一共8个苹果,如果拿走3个,还剩几个”。这里的3并不是已经存在于某处的信息,而是假设性的信息。换言之,8-3的过程涉及引入一个信息3,要求创建另一个信息5——将一堆物体分成两个有指定数量的堆的过程。 如前所述,这时信息增加,熵减少。熵减少的方向是逆着热力学第二定律的,所以需要引入外部信息流,例如人脑的判断(试商的过程其实就是人脑判断太大还是太小的过程)。 ----------------------------------------------- 在这些天南地北胡诌乱扯的头昏脑涨中,让我们结束 第五章吧
相关资源
广告