• STM32属于哈佛结构还是冯诺依曼结构?

    现代的CPU基本上归为冯诺伊曼结构(也成普林斯顿结构)和哈佛结构。 冯洛伊曼结构就是我们所说的X86架构,而哈佛结构就是ARM架构。一个广泛用于桌面端(台式/笔记本/服务器/工作站等),一个雄踞移动领域,我们的手持设备(平板\手机用的大多就是他了)。 0 1 冯·诺依曼体系 冯·诺依曼体系的特点: A、数据与指令都存储在同一存储区中,取指令与取数据利用同一数据总线。 B、被早期大多数计算机所采用。 C、ARM7——冯诺依曼体系结构简单,但速度较慢。取指不能同时取数据 冯 · 诺依曼结构也称普林斯顿结构,是一种将程序指令存储器和数据存储器合并在一起的存储器结构。程序指令存储地址和数据存储地址指向同一个存储器的不同物理位置,因此程序指令和数据的宽度相同,如英特尔公司的 8086 中央处理器的程序指令和数据都是 16 位宽。 冯.诺依曼结构处理器具有以下几个特点: 1:必须有一个存储器; 2:必须有一个控制器; 3:必须有一个运算器,用于完成算术运算和逻辑运算; 4:必须有输入设备和输出设备,用于进行人机通信。另外,程序和数据统一存储并在程序控制下自动工作。 冯·诺依曼 结构 : 英特尔公司的8086。 英特尔公司的其他中央处理器。 ARM的ARM7。 MIPS公司的MIPS处理器。 0 2 哈佛体系 结构特点: A、程序存储器与数据存储器分开. B、提供了较大的存储器带宽,各自有自己的总线。 C、适合于数字信号处理. D、大多数DSP都是哈佛结构. E、ARM9是哈佛结构,取指和取数在同一周期进行,提高速度,改进哈佛体系结构分成三个存储区:程序、数据、程序和数据共用。 哈佛结构是一种存储器并行体系结构,主要特点是将程序和数据存储在不同的存储空间中,即程序存储器和数据存储器是两个独立的存储器,每个存储器独立编址、独立访问。程序指令存储和数据存储分开,可以使指令和数据有不同的数据宽度。 哈佛结构能基本上解决取指和取数的冲突问题.而对另一个操作数的访问,就只能采用Enhanced哈佛结构了,例如像TI那样,数据区再split,并多一组总线.或向AD那样,采用指令cache,指令区可存放一部分数据.。 哈佛结构: 1、ARM(除arm7) 2、大部分DSP 哈佛体系架构有个致命的弱点在动态加载程序上面,想象我们从外存中读取一段程序然后加载到RAM,这个程序是在数据内存当中的,我们需要一种机制将数据内存再传输到程序内存当中去,这反而增加了设备复杂度。 对于多任务操作系统来说,管理程序内存是一件非常重要的事情,而且仅仅是保护模式下的页面映射等等机制就已经足够复杂了,如果还要求将程序和数据分开管理,复杂度就太高了。这种时候冯诺依曼体系结构就有非常大的优势了。 0 3 arm和哈佛、冯·诺依曼的关系 哈佛架构是针对cpu从cache中取指而言,指令和数据在主存中并未分开,但在加载到cache中的时候被分离为指令和数据两份存储空间,cpu可以同时从cache取到指令和数据. 所以arm系统CPU(除arm7)对外表现为冯.诺伊曼架构,对内则表现为哈佛架构。 0 4 实际芯片制造 实际上,绝大多数现代计算机使用的是所谓的“ModifiedHarvard Architecture”,指令和数据共享同一个address space,但缓存是分开的。可以说是两种架构的一种折中吧。 在现实世界中很少有非常纯粹的概念,特别是在实际的应用里。教科书里的大多是理想化的模型,便于掌握某个概念的重点和本质,但实际中很难达到这种理想化的状态。 哈佛结构和冯诺依曼结构主要区别在是否区分指令与数据。在教科书里这是两种截然不同的做法。 但实际上在内存里,指令和数据是在一起的。而在CPU内的缓存中,还是会区分指令缓存和数据缓存,最终执行的时候,指令和数据是从两个不同的地方出来的。你可以理解为在CPU外部,采用的是冯诺依曼模型,而在CPU内部用的是哈佛结构。 大部分的DSP都没有缓存,因而直接就是哈佛结构。 哈佛结构设计复杂,但效率高。冯诺依曼结构则比较简单,但也比较慢。CPU厂商为了提高处理速度,在CPU内增加了高速缓存。也基于同样的目的,区分了指令缓存和数据缓存。有时为了解决现实问题,究竟是什么主义真的没那么重要。因而个人认为争论到底是哪种结构意义不大。

    嵌入式ARM STM32 冯诺依曼结构 哈佛结构

  • 六种单片机数字滤波算法详解

    单片机主要作用是控制外围的器件,并实现一定的通信和数据处理。但在某些特定场合,不可避免地要用到数学运算,尽管单片机并不擅长实现算法和进行复杂的运算。下面主要是介绍如何用单片机实现数字滤波。 在单片机进行数据采集时,会遇到数据的随机误差,随机误差是由随机干扰引起的,其特点是在相同条件下测量同一量时,其大小和符号会现无规则的变化而无法预测,但多次测量的结果符合统计规律。为克服随机干扰引起的误差,硬件上可采用滤波技术,软件上可采用软件算法实现数字滤波。滤波算法往往是系统测控算法的一个重要组成部分,实时性很强。 采用数字滤波算法克服随机干扰的误差具有以下优点: 数字滤波无需其他的硬件成本,只用一个计算过程,可靠性高,不存在阻抗匹配问题。尤其是数字滤波可以对频率很低的信号进行滤波,这是模拟滤波器做不到的。 数字滤波使用软件算法实现,多输入通道可共用一个滤波程序,降低系统开支。 只要适当改变滤波器的滤波程序或运算,就能方便地改变其滤波特性,这对于滤除低频干扰和随机信号会有较大的效果。 在单片机系统中常用的滤波算法有限幅滤波法、中值滤波法、算术平均滤波法、加权平均滤波法、滑动平均滤波等。 限幅滤波算法 该运算的过程中将两次相邻的采样相减,求出其增量,然后将增量的绝对值,与两次采样允许的最大差值A进行比较。A的大小由被测对象的具体情况而定,如果小于或等于允许的最大差值,则本次采样有效;否则取上次采样值作为本次数据的样本。 算法的程序代码如下: #defineA //允许的最大差值chardata; //上一次的数据char filter(){ chardatanew; //新数据变量 datanew=get_data(); //获得新数据变量 if((datanew-data)>A||(data-datanew>A)) return data; else returndatanew;} 说明:限幅滤波法主要用于处理变化较为缓慢的数据,如温度、物体的位置等。使用时,关键要选取合适的门限制A。通常这可由经验数据获得,必要时可通过实验得到。 中值滤波算法 该运算的过程是对某一参数连续采样N次(N一般为奇数),然后把N次采样的值按从小到大排列,再取中间值作为本次采样值,整个过程实际上是一个序列排序的过程。 算法的程序代码如下: #define N11 //定义获得的数据个数char filter(){ charvalue_buff[N]; //定义存储数据的数组 char count,i,j,temp; for(count=0;count { value_buf[count]=get_data(); delay(); //如果采集数据比较慢,那么就需要延时或中断 } for(j=0;j { for(value_buff[i]>value_buff[i+1] { temp=value_buff[i]; value_buff[i]=value_buff[i+1]; value_buff[i+1]=temp; } } returnvalue_buff[(N-1)/2];} 说明:中值滤波比较适用于去掉由偶然因素引起的波动和采样器不稳定而引起的脉动干扰。若被测量值变化比较慢,采用中值滤波法效果会比较好,但如果数据变化比较快,则不宜采用此方法。 算数平均滤波算法 该算法的基本原理很简单,就是连续取N次采样值后进行算术平均。 算法的程序代码如下: char filter(){ int sum=0; for(count=0;count { sum+=get_data(); delay(): } return (char)(sum/N);} 说明:算术平均滤波算法适用于对具有随机干扰的信号进行滤波。这种信号的特点是有一个平均值,信号在某一数值附近上下波动。信号的平均平滑程度完全决于N值。当N较大时,平滑度高,灵敏度低;当N较小时,平滑度低,但灵敏度高。为了方便求平均值,N一般取4、8、16、32之类的2的整数幂,以便在程序中用移位操作来代替除法。 加权平均滤波算法 由于前面所说的“算术平均滤波算法”存在平滑度和灵敏度之间的矛盾。为了协调平滑度和灵敏度之间的关系,可采用加权平均滤波。它的原理是对连续N次采样值分别乘上不同的加权系数之后再求累加,加权系数一般先小后大,以突出后面若干采样的效果,加强系统对参数变化趋势的认识。各个加权系数均小于1的小数,且满足总和等于1的结束条件。这样加权运算之后的累加和即为有效采样值。其中加权平均数字滤波的数学模型是: 式中:D为N个采样值的加权平均值:XN-i为第N-i次采样值;N为采样次数;Ci为加权系数。加权系数Ci体现了各种采样值在平均值中所占的比例。一般来说采样次数越靠后,取的比例越大,这样可增加新采样在平均值中所占的比重。加权平均值滤波法可突出一部分信号抵制另一部分信号,以提高采样值变化的灵敏度。 样例程序代码如下: char codejq[N]={1,2,3,4,5,6,7,8,9,10,11,12};//code数组为加权系数表,存在程序存储区char codesum_jq=1+2+3+4+5+6+7+8+9+10+11+12;char filter(){ char count; char value_buff[N]; int sum=0; for(count=0;count { value_buff[count]=get_data(); delay(); } for(count=0;count sum+=value_buff[count]*jq[count]; return(char)(sum/sum_jq);} 滑动平均滤波算法 以上介绍和各种平均滤波算法有一个共同点,即每获取一个有效采样值必须连续进行若干次采样,当采速度慢时,系统的实时得不到保证。这里介绍的滑动平均滤波算法只采样一次,将一次采样值和过去的若干次采样值一起求平均,得到的有效采样值即可投入使用。如果取N个采样值求平均,存储区中必须开辟N个数据的暂存区。每新采集一个数据便存入暂存区中,同时去掉一个最老数据,保存这N个数据始终是最新更新的数据。采用环型队列结构可以方便地实现这种数据存放方式。 程序代码如下: char value_buff[N];char i=0;char filter(){ char count; int sum=0; value_buff[i++]=get_data(); if(i==N) i=0; for(count=0;count sum=value_buff[count]; return (char)(sum/N);} 低通滤波算法 将普通硬件RC低通滤波器的微分方程用差分方程来求,可以采用软件算法来模拟硬件滤波的功能,经推导,低通滤波算法如下: Yn=a* Xn+(1-a) *Yn-1 式中: Xn—本次采样值 Yn-1—上次的滤波输出值 a—滤波系数,其值通常远小于1 Yn—本次滤波的输出值 由上式可以看出,本次滤波的输出值主要取决于上次滤波的输出值(注意不是上次的采样值,这和加权平均滤波是有本质区别的),本次采样值对滤波输出的贡献是比较小的,但多少有些修正作用,这种算法便模拟了具体有较大惯性的低通滤波器功能。滤波算法的截止频率可用以下式计算: fL=a/2Pit pi为圆周率3.14… 式中: a—滤波系数 t—采样间隔时间 例如: 当t=0.5s(即每秒2次),a=1/32时,fL=(1/32)/(2*3.14*0.5)=0.01Hz 当目标参数为变化很慢的物理量时,这是很有效的。另外一方面,它不能滤除高于1/2采样频率的干搅信号,本例中采样频率为2Hz,故对1Hz以上的干搅信号应采用其他方式滤除。 低通滤波算法程序与加权平均滤波相似,但加权系数只有两个:a和1-a。为计算方便,a取一整数,1-a用256-a,来代替,计算结果舍去最低字节即可,因为只有两项,a和1-a,均以立即数的形式编入程序中,不另外设表格。虽然采样值为单元字节(8位A/D)。为保证运算精度,滤波输出值用双字节表示,其中一个字节整数,一字节小数,否则有可能因为每次舍去尾数而使输出不会变化。

    嵌入式ARM 算法 单片机 数字滤波算法

  • NI加入纽约大学无线产业联盟计划,推进6G研究和创新

    2021年4月26日-NI和纽约大学无线研究中心(NYU WIRELESS)宣布,NI加入纽约坦顿工程学院大学研究中心,成为无线产业联盟一员。组织成员将共同努力解决行业定义的问题,推动下一代无线通信的研究。 早在2012年,NI和纽约大学无线研究中心就在5G技术上有成功的合作。现在,我们再次携手,与行业联盟成员一起开展新的无线技术研究。6G的目标之一是进一步扩大整体网络的容量。作为行业联盟的成员,NI的参与主要集中在太赫兹(THz)频率的研究,探索还没有被充分开发利用的频谱、并解决与之相关的问题,帮助6G通信获取成果。此外,NI还将获得授权访问广泛的研究成果以及不断推动频谱研究边界的教职人员和研究生。 纽约大学无线产业联盟计划为产业界和学术界的合作提供了重要的途径,增强竞争优势研究的推进,为未来的无线通信网络奠定基础。 “我们与纽约大学无线研究中心在5G领域有着成功的合作历史,很高兴再次携手加速下一代无线技术的发展,”NI技术研究员Charles Schroeder说:“太赫兹和亚太赫兹频率仍然是6G领域中的关键技术,这是我们迫切需要去探索和研究的。我们期待着提供原型和测试解决方案,帮助我们的客户进行创新,将6G理念变为现实。” 纽约大学无线研究中心是全球电信领域领先的研究中心之一,为全球所有5G无线网络的发展建设提供了重要而又扎实的基础。纽约大学无线研究中心为其行业联盟成员提供获取国际认可的研究、高质量的工程人才梯队、以及仅限成员参加的技术研讨会和相关活动。 “我们行业联盟成员的支持和反馈对帮助我们进行下一代无线研究至关重要。”纽约大学无线研究中心教授兼主任Thomas Marzetta说:“一直以来,NI是我们值得信赖的成员,感谢他们再次的支持。” NI致力于推动下一代无线技术标准的发展,积极参与联合通信感知、人工智能和机器学习、太赫兹/亚太赫兹和极限MIMO等课题的研究。纽约大学无线研究中心是NI与之合作的几个研究合作者之一,我们致力于推动下一代无线技术的发展和无线测试软硬件的研发。在推进无线技术的进程中,NI一如既往贯彻我们Engineer Ambitiously™的使命, 在6G标准正式确定之前推动6G研究。

    NI 无线技术 6G NI

  • 这么简单的算法,九成程序员写的都不对!

    前段时间,在论坛上看到有统计说“90%的程序员都不能够写对简单的二分法”。这???  其实,二分法真的不那么简单,尤其是二分法的各个变种。 最最简单的二分法,就是从一个排好序的数组之查找一个key值,如下面的程序: /** * 二分查找,找到该值在数组中的下标,否则为-1 */static int binarySearch(int[] array, int key) { int left = 0; int right = array.length - 1; // 这里必须是

    嵌入式ARM 算法 程序员 二分法

  • 家里有矿的90后:因为一杯咖啡成了华为软件工程师……

    软件少年,小蔡不“菜” 蔡灏旻 一杯咖啡的机缘 我嘛,一个典型而又非典型性的90后,出生在不错的家庭,不为生计担忧,经常被父母“教导”:混不下去就回家歇着;读了一所不错的大学,也会打打游戏,跟同学们在一起玩得比谁都high;也喜欢一个人安静地摆弄摆弄乐高和高达,家里还有属于我的玩具房;人们广为熟知的程序员打扮——格子衫,我没什么“兴趣”,什么潮、什么奇装异服我都喜欢往身上套;大大咧咧,南方人生得北方人的体格和性格,爱贫嘴,爱“说相声”,还想过组建华为德云社,参加脱口秀大会;另外,我还研究生没毕业就结了婚,提前进入人生新旅程…… 就是这样一个我,一脸大胡子的我,看上去可能比90后都要成熟的我,是什么机缘让我加入了华为EulerOS大家庭?且听我道来。 那是2016年的夏天,来自华为中央软件院的一位工程师请我们专业几个学生喝咖啡,那天的风儿有点喧嚣,阳光有点刺眼,但是咖啡挺香的。“我们部门是基础软件领域的,主要是操作系统。”那位工程师如是介绍,我一听顿时来了精神,这不就是传说中的程序员三大“浪漫”(编译器、操作系统、图形学)之一嘛! 华为,这个在我印象中一直踏实做事,低调中还带着点奢华的公司,让我产生了浓厚的兴趣。为了心中的“浪漫”,为了默默改变世界的梦想,带着渴望脱离父母的庇护,打造一番属于自己的天地的憧憬,二话不说,我举手要求加入。 经过了不算漫长的等待,我终于如愿成为了一名华为软件工程师。 天赋和蛮干 操作系统,像是一个幕后工作者,平时我们感觉不到它的存在,但是作为软件运行重要的基石,就如摩天大楼的坚实底座,很多时候你看不见它,但它很重要。 进入部门后,我从事的领域是操作系统基础设施中的容器领域。容器这个词,当你第一眼看它或许脑子里是这东西:瓶瓶罐罐、装水、装其他东西的玩意儿。但在软件世界里,这里面装的是我们开发的各种应用以及它们的运行环境。 刚进组的时候,我们组就六七个人,大家也大多是刚刚接触这块业务。过了一段时间,大家发现我经常能说出一二,觉得我是个有“天赋”的人。但其实,我干了一件听上去很“蛮”的事——我把容器docker那几十万行的代码全部“背”下来了,当然并不是全都精准地记住,至少基本每一行在哪,每一个函数的位置,我都了然于胸。要知道,那段时间每天下班回家我都把代码打开看看,如此日积月累,潜移默化,自然融会贯通了。正是这些点滴的积累,才让平日里大家一起讨论的时候,我能立刻脱口而出。 这件事给我很大的启发:进入华为的少年们,基本都是学校的佼佼者,大家都不差,水平也差不多。无非是你多看了几行代码,多思考了一些问题。在此,我也要打破一下自己在团队中的“神话”:大家常说我有过目不忘的本领,其实只是因为我忘记的时候,我又拿出来看了一下,加深了印象。 一直以来,我都保留着一颗对未知事物好奇与敬畏的心,每天早上醒来,我都期待新的一天要比昨天更进步一点点,所以这就是我的WeLink签名:“每天进步一点点”的来历。 “以战代练”与“吸星大法” 2017年年中,印度运营商举行了一次全新NFV(网络功能虚拟化)架构的大比拼,各大厂商蜂拥而至。还记得当时我还没有转正,真的是临危受命作为操作系统接口人扛起了这个任务。这个项目周期很短,就几个月时间,但涉及的部门很多,软件栈也很复杂。 当时的我才刚刚弄明白了三大世界级“哲学难题”:我是谁?我在哪儿?我要干啥?连大部门的人都还没有认全,就直接被拉上了“战场”。上了“战场”,那就“战”呗!战场上总是士兵成长最快的地方,我这个人从来都是不惧怕挑战的,我想反正早晚都是要学这些的,不如当下立刻就学起来吧! 这就不得不说我另一个特点——“脸皮厚”,那时我在组里年纪最小,有什么不懂的,总是爱问身边的同事,一声“哥哥”、“姐姐”他们都会热心帮助我,我这一路的请教,最大的感受就是“找对的人请教对的事”。 当时操作系统的内核在比拼的时候出现了一个存储性能问题,我自己和团队小伙伴研究了半天都没有搞明白,我多方打听到,我司之前招了一个文件系统方面的技术大牛,我赶紧发了信息过去“勾搭”,大牛哥哥很快给了我回复,但我总觉得“纸上得来终觉浅”,不如见面痛快地交流更有效率。经过一番“侦查”,我发现这位大牛的工位就在我楼下,于是我厚着脸皮就过去登门拜访了。后来我就经常过去追着大牛使劲问,终于把这个特性搞清楚了,如今大牛哥哥也成为我的日常请教老师之一。 说起我的“厚脸皮”,还体现在我是个很爱“拱”的人。我觉得知识和技术都不是独立的,应该在一个网状结构的里面,每一个人都不应该局限于自己的小天地里,视野应该更宽广一点:作为一位基础软件的开发者,难道不好奇自己写的代码,在一线、在客户那边是如何使用、评价如何吗? 带着这份好奇,我一个劲地“往前拱”、“往上拱”,从一线“吸收”客户到底如何使用我们的产品,我们的产品上面到底在跑些什么业务,并把由此收获的改进纳入我们的方案。就这样,靠着“厚脸皮”的请教,靠着自学,靠着整个团队的努力,我们交出了满意的答卷:华为的解决方案在这次大比拼中拔得头筹,这也向业界证明了我们的实力。 现在,大家开玩笑地调侃说,终于搞清楚,原来我是一个拥有“吸星大法”的人。我觉得这个功夫非常不错:可以快速学习、汲取别人的知识与能力,并且化为自己的“内功”。 意外的”生日礼物“ 2019年5月16日,对于我来说是一个特别的日子,因为这天是我生日。我还记得,当晚我和我老婆两个人特意找了家餐厅一起吃饭庆祝,席间我还在准备吹蜡烛、吃蛋糕,突然手机蹦出数条消息:华为被美国列入实体清单了。 当时的心情还历历在目,那是一种很复杂的情感,一方面明白未来工作面临的压力会很大,一方面又有种痛快与期待。20世纪艺术大师安迪沃霍尔曾经有个著名的观点“每个人都能在15分钟成名”,那现在,属于我们的“15分钟”来了!因为外界环境的变化,我们一直埋头研发的方案就要登场,支撑华为服务器的运转了。我把这份沉重的“生日礼物”看作是给我的一次锻炼的机会,顿时使命感和责任感冲上了脑门,旁边的老婆也和我一样“中二”了起来,生日祝福变成给我鼓劲加油,一定要好好工作的话语。 从此,我们进入了“攻坚战”,在这个艰巨又漫长的过程中,我和小伙伴们每天都泡在代码里。还记得之前爸妈常说“干不好,就赶紧滚回家!”,但这段时间里,家人也给予了我十足的支持,全方位给我各种照顾,让我后顾无忧地进入“战时状态”。 经过半年多持续的努力,我们完成了“备胎转正”,但是随之而来的“魔幻”2020让我们奋斗的路程变得更加艰难,各种新的不利因素接踵而至。但伴随着2020新年钟声的敲响,openEuler(华为服务器操作系统)来了——今后的日子里我们不是孤军奋战了。 见更大的世界 我很早就接触了开源,觉得Linus满脸大胡子的样子很有范儿。开源到底为这个世界带来了什么?其实不太好讲,但是确实给我带来了一些触动:一群素未蒙面的“网友”凭借相同的爱好和兴趣,聚集在一起,做同样一件事,听听就很让人神往。 但大家提起开源的时候,往往都是一些国外的项目,而我国的工程师大多是去国外的项目里贡献。就拿我的容器领域作为例子,开始的时候也是追随着国外的项目docker发展,虽然贡献很多,但是总是要受人掣肘。 后来,我们萌生了一个想法,为什么不自己写一个呢?那就干吧。于是我们重新造了一个“轮子”,一个“国产”容器引擎iSulad诞生了。并且随着openEuler操作系统的开源,我们的“小小蚂蚁”(iSula为拉丁语子弹蚁)也终于扬帆出航。 但刚开始的时候,它“偏科”严重,内存消耗很低,可是启动速度不够快速,功能上也有一些缺失。但这就是开源的魅力所在,你总能遇到那么一群人,和你同行。在社区伙伴的反馈和帮助下,我们一起努力让“小蚂蚁”变得更好。到现在为止,它已经在各方面可以说碾压了“docker”。但这并是我们的终点,我和我们的小伙伴们一起成立了云原生兴趣组,持续推出了更多云原生、容器相关的项目,openEuler上云原生生态也越来越繁荣。 我一直认为一个有生机的开源项目一定是褒贬并发的,积极的或负面的反馈都将成为前进的激励和动力,只有这样循环迭代,才能打造出一个好的项目。从公司走出来,见到一个更大的世界,遇到更多同路的小伙伴们在为中国的基础软件发展做着贡献,这也许就是开源带给我的成长吧! 从“激情”到“热爱” 我常出去参加各种技术论坛或者沙龙,有好几次,在会议现场看到自己心目中的技术大牛就在眼前,那种激动和兴奋真的难以言表,我也体会到了“追星”的乐趣。但是给我感触最深的,是在一个技术沙龙上,一位坐在我旁边的大叔,操着浓浓的宁波口音和我探讨技术,我们很多想法都不谋而合。等我发表完自己的演讲报告,他在下面给我热烈地鼓掌,还邀请我去外面聊一聊。 谈论中,他告诉我自己已经55岁了,经营着一家公司,自己孩子也独立工作了,但是还是在编码的一线。我问他,为什么要坚持着这样一份工作呢?他当时停顿了很久,说:“我87年就开始教别人汇编,干到现在30多年,我觉得任何时候都得学习,一不学习就要被时代给淘汰了!”当时外面下着雨,我们在一个创业的咖啡厅里,中间是天井,他一边抽着烟,一边望着落地玻璃窗,缓缓地吐出一口烟圈:“但说到底,还是因为热爱吧!” 一位花白头发的先生,西装微微敞开,仰着头伫立在我眼前。备受触动的我回家和家人聊起,告诉他们我有多受震动,亲爱的家人们都对我说了差不多的话:“希望你55岁的时候也可以这样。”这种简单纯粹的热爱深深感染了我,所以后来我工作上遇到不顺心的事情,特别丧的时候,我脑海里立刻都是那位先生的模样和他当时的那句话——只有因为热爱才能坚持下去! 如今,匆匆四年过去了,我已经从刚进部门的小蔡,变成带领团队的“老蔡”了,从之前开源会议上“追星”到现在也会有人“追”我。但我依旧爱乐高、爱高达、爱玩游戏、B站老粉加重度用户,还爱打台球。我觉得玩物并不丧志,我曾经花了几个小时拼成了那个有名的“千年隼”,也曾拼尽全力把黑魂、只狼刷到白金奖杯……正是这些工作之外的乐趣,磨练了我的毅力和耐性。 2020年11月,我升级做了父亲,开启了又一段人生新旅程。我觉得吧,人活这一辈子,总应该折腾点什么,如果问我未来的愿望的话,我期望自己以后可以帅气地和孩子说:小菜籽儿,你老爸也曾是中国基础软件界一号响当当的人物呐!

    嵌入式ARM 华为 软件工程师

  • 英特尔宋继强:摩尔定律是一面旗帜,异构集成是推动其发展的重要方式

    英特尔宋继强:摩尔定律是一面旗帜,异构集成是推动其发展的重要方式

    图注:英特尔中国研究院院长宋继强 2021年4月24日,英特尔中国研究院院长宋继强受邀参加了由中国工程院信息与电子工程学部创办的信息与电子工程前沿论坛,发表了主题为《全景透视英特尔异构计算技术》的报告,内容覆盖英特尔在产品级先进的异构集成技术以及研究院正在探索的前沿技术。宋继强表示,目前已经不太可能仅通过CMOS晶体管微缩的形式推动摩尔定律的发展,摩尔定律实际上已经成为产业的一面旗帜,而异构集成是推动摩尔定律继续发展的重要方式。 为此,英特尔一直在驱动转型。早在2015年,英特尔洞察到了数据发生的颠覆性变化,并在2017年正式开始以数据为中心的转型。通过自身的技术累积以及系列收购,英特尔已经从一家CPU的公司转型为包含多种计算架构XPU的公司,并在此基础上推出了适配的软件,并构建相应的生态,引领异构计算的发展。 在今年3月份,英特尔新任CEO帕特·基辛格宣布英特尔将从传统的IDM升级至IDM2.0的战略,增加制造业务比重,服务全球客户。宋继强在此次演讲中表示,英特尔之所以能够实现XPU以及IDM2.0,其六大底层的核心技术以及分解技术起到了关键的作用。除此之外,宋继强也介绍了英特尔正在大力推进的前沿计算研究,为更快、更高能效比的计算未来奠定了重要基础。 异构计算的基础:六大技术支柱 根据宋继强介绍,英特尔六大技术支柱中,制程和封装、架构是英特尔“Tick-tock”模式最基础也是最根本的能力。在此之上,英特尔也提供先进的内存以及多种范围的互连技术。除硬件之外,英特尔的软件能力也是释放硬件性能至关重要的一环。最后,英特尔还拥有贯穿全程的安全技术,确保整个系统更加安全。 宋继强在此次演讲中特别介绍了英特尔在异构集成领域一种创新性的方法,即将单节点芯片分解为多节点异构集成。这种方法是将带有不同属性的计算晶片(Compute Die),如CPU晶片或GPU晶片,以及一些不同功能的IO做成Chiplet,再将这些Chiplet通过英特尔先进的封装技术按需进行组合,可以快速实现目标芯片,灵活性强,同时减少了测试以及系统验证时间,效率极高。 要实现这样的操作,封装技术是至关重要的一环。目前英特尔封装技术领先业界,EMIB、3D Foveros已经运用在产品中,CO-EMIB、ODI拥有一些开放标准,推动产业实现更多规模化地生产制造。在去年的“架构日”上,英特尔还率先推出了混合结合(Hybrid Bonding)封装技术,这项新技术能够加速实现10微米及以下的凸点间距,提供更高的互连密度、带宽和更低的功率。同时,英特尔在硬件产品领域的积累也是实现这种分解设计的必要基础。宋继强表示,英特尔产品覆盖从物联网到云端、通讯,而整个通讯中从基站到核心网的产品都有,这些性能都可以成为实现Chiplet的重要资源,从而让芯片拥有更强大的能力。 除了在硬件层面的异构,英特尔特别强调软件对于异构计算的重要性。在将不同硬件集成到一起之后,如果不能通过软件进行调优和优化,性能无法达到要求。宋继强举了一个例子,在经过软件优化后,英特尔最新的异构计算硬件所实现的性能是此前没有软件优化性能的200倍。因此,软件是释放异构计算性能的重要一环。 为此,早在2019年年底,英特尔就推出了开源的跨架构编程模型oneAPI, 致力于解决异构计算痛点,帮助软件人员可以在不同计算架构上通过统一语言进行编程。英特尔oneAPI是一个开源系统,目前已经有40多家企业、大学机构宣布支持oneAPI,其中包括微软、谷歌等,成为一股重要的生态力量。 前沿计算,奠定未来计算创新基础 英特尔同时也着眼于未来,在颠覆性计算领域投入巨大,并取得了瞩目的成果。宋继强在此次演讲中也重点介绍了英特尔在神经拟态计算(类脑计算)和量子计算的最新研究成果。 神经拟态计算模拟的是大脑的计算模式,包含很多并行计算和异步计算,不需要提前进行数据训练,可以在工作的过程中自我进行学习,大幅提升效率和能耗。英特尔已经推出了神经拟态计算基础芯片Loihi,拥有128个核,每个核里面可以去模拟1000个神经元,每个神经元又可以跟1000个另外的神经元构建联系,就是所谓的突触。宋继强表示,Loihi可以构造出13万个神经元,1.3亿个突触,支持自学习,内部是异步网络,而且没有浮点运算,没有乘加器,和现在深度神经网络加速器完全不同,同时它深度整合了计算和存储。 图注: Loihi芯片架构 英特尔还推出了由768个Loihi组成的神经拟态计算系统Pohoiki Spring,拥有1亿个神经元,相当于一个小仓鼠的大脑。神经拟态计算的实际应用需要由更多合作伙伴来探索,英特尔也成立了神经拟态计算社区,推动神经拟态计算落地。 量子计算已经成为全球科技领域关注的焦点,英特尔在其中也扮演了重要的角色,是唯一一家推动量子实用性的厂商。据宋继强介绍,要想真正实现量子计算商业化使用,必须要进行全栈式的考量。在硬件上,英特尔独创的硅自旋量子位契合了英特尔在半导体领域的优势,并提高了量子计算运行的温度,为以后规模化发展奠定了基础。芯片商业化的必要步骤之一是测试,英特尔的量子低温探测仪,就是为硅自旋量子位建立的一条300mm的大容量制造和测试线。 仅有硬件还不够,量子计算需要通过一套控制系统,让芯片对软件暴露出一个可控制的操作界面也很重要。英特尔为此推出了代号为“Horse Ridge”的低温控制芯片,实现了对多个量子位的控制,可以实现更大的量子系统扩展。 作为领先的半导体公司,英特尔始终致力于为全世界计算提供重要基石。不仅前瞻性地布局异构计算,引领异构计算发展,同时着眼于未来,为更复杂、要求更高的计算需求提供解决方案。在全球化数字变革加速之际,英特尔的计算创新将成为浓墨重彩的一笔。

    intel 英特尔 摩尔定律 异构集成

  • Bloomy和NI宣布建立面向航空航天和国防组织的HIL技术演进中心

    Bloomy和NI宣布建立面向航空航天和国防组织的HIL技术演进中心

    2021年4月21日,德克萨斯州奥斯汀–航空航天和国防领域测试系统专家Bloomy Controls Inc. (Bloomy)和NI宣布建立行业首创的硬件在环(HIL)技术演进中心,由Bloomy在位于康涅狄格州南温莎的公司总部主持管理。 具有集成电子控件和计算机的现场可更换单元(LRU)在所有航空航天和国防应用中几乎无处不在。为了确保在所有任务场景中都能可靠地运行,在系统集成实验室(SIL)中,使用HIL测试系统模拟一项任务期间对车辆的所有输入输出,完成对这些组件的全面测试。这些测试系统通常包含定制的、上一代遗留的、以及商用货架上的现货(COTS)技术的混合方案,必须保证能持续运行数十年。 HIL技术演进中心可以帮助航空航天和国防行业内的组织降低将测试资产迁移到新技术的风险和成本,包括采用可转换的新型COTS硬件和软件,例如NI PXI,SLSC和VeriStand,在Bloomy Simulation参考系统中都有展现;它还可以在不对现有运行中的测试资产造成风险的前提下,对新测试方法进行评估。该中心还可以作为一个低风险的试验场,用于管理客户的硬件和软件过时问题、并制定经过验证的部署计划,使现有测试资产在其生命周期内可以完全正常运行。 “在航空航天和国防领域建立测试系统并不是一次性的事情,支持技术插入、代码迁移和其他维护需要考虑10-15年、甚至更长时间。” NI航空、国防和政府业务事业部总经理兼副总裁Luke Schreier说:“随着NI提供的产品不断发展以解决复杂的LRU并支持客户的数字化转型计划,我们的合作伙伴也将为实现这一长期价值而努力。我们很高兴与Bloomy合作建立这一技术演进中心,帮助我们共同的客户降低整体项目风险和成本。” HIL技术演进中心的核心是一个由来自多个供应商提供的多种最先进的HIL / SIL技术组成的系统。 Bloomy和NI工程师可以与客户一起使用该系统进行实时协作,用COTS技术和客户的组件、模型和仿真进行互操作性和集成测试。我们可以对这一系统进行定制,从固定翼或旋翼飞机到无人水下航行器,复制各种客户配置。这种灵活性对Bloomy的客户非常关键,使他们的系统得以采用新技术来提高保真度、简化工作流程并与数字孪生互相作用-这些是基于模型的系统工程(MBSE)和数字化转型的所有关键举措。该中心还使Bloomy能够根据客户的生命周期和正常运行时间要求履行长期服务协议。 Bloomy总裁兼创始人Peter Blume说:“我们的客户在最大化利用现有测试资产方面经受着众多挑战,包括数字化转型、互操作性、过时淘汰和面临退休的专家。他们不仅希望获得最新、最出色的COTS技术和优势,还需要长期的稳定性、正常运行时间、维护和支持。HIL技术演进中心是同类实验室中唯一一家可以使航空航天和国防行业内公司在可控的环境中受益于最新的COTS测试技术,并且确保长期的保障性和稳定性。向Bloomy和NI客户提供的这一独特支持能力,表明了我们对客户长期成功的共同承诺。”

    NI NI Bloomy HIL

  • 苹果M2芯片要来了?

    苹果M2芯片要来了?

    去年11月,Apple正式发布了M1版MacBook,并计划在2022年之前将Mac产品线过渡到自研ARM芯片,M1芯片也正式用到了iPad pro上。新款iMac原本应该会在今年3月份发布的产品,结果由于某些原因,发布时间延后到了今年10月。 在去年11月份苹果发布了一款搭载自家研发的M1处理器的笔记本,经过几个月的测试,搭载M1芯片的苹果笔记本在口碑方面还是值得称赞的,也正因如此,不少小伙伴也开始好奇,搭载M2处理器的苹果电脑会在什么时候到来?它将会是一款全新的笔记本,还是不一样的台式机呢?某泄密者根据他的描述和图片分享了产品的渲染图。第一款是小型Mac Pro,被描述为类似G4 Cube机型的概念,底部是计算单元,顶部是散热器。第二张泄露的图片与重新设计的iMac有关。图片显示了一个全面屏,颜色组合与iPad Air相似。其指出,渲染图的背面有当前的接口设计,但这只是渲染图,并不代表真实情况,因为他还没有看到重新设计的iMac的背面是什么样子的。目前还不清楚这些渲染图是否就是传闻了近一年的新版24英寸iMac。 根据LeaksApplePro的最新消息,Apple之所推迟发布新款iMac,可能是因为它将会搭载M2芯片。也就是说,M2芯片不会在今年Apple春季发布会上亮相,而是推迟到了10月份。就目前掌握的信息来看,M2芯片将采用5nm制程工艺,可能会配备12个内核,包括8个性能内核和4个省电内核。如果消息属实,相比M1芯片,M2性能提升了将近1倍。但是现在网传消息并不统一。据彭博社报道称,M2芯片将最高配备32核心和128核心的GPU,毕竟是给iMac用的,性能自然要比MacBook更强,目前Apple已经在测试16核或32核的芯片。而苹果供应链消息称,今年Apple会发布两款适用于iMac的芯片,分别是桌面级的A14T和M2。A14T同样采用5nm工艺,配备Apple自研GPU,内部代号为Mt. Jade。据报道,苹果M2芯片让然将由台积电制造,将采用4纳米工艺。相比于采用5纳米技术的M1芯片,M2芯片将由更好的性能表现。根据Digitimes的报道,4纳米生产工艺将会提前,也许今年下半年便会正式使用。 台积电从苹果那里获得订单越来越多,除了原来的A系列外,现在还有M系列。据DigiTimes最新报告,为了下一代苹果芯片,苹果已经订购了台积电TSMC 4nm芯片的首批产能。与此同时,苹果还联系台积电,使用5nm或5nm Plus工艺生产下一代iPhone(即iPhone 13系列)芯片A15,冠以M2名称的新芯片将会基于4nm工艺,苹果会进一步提升多核性能表现(有32核心、甚至是64核心的),应足以应付更多线程,当然无论是M2还是A15,性能一定是拔群的。 去年发布的M1处理器由于采用了极为激进的设计,将CPU核心与内存芯片封装在一个芯片上,大大缩短了CPU与内存交换数据的距离,从而使得M1处理的性能爆炸增长,同时功耗爆炸降低,以15W的功耗和桌面顶级处理器INtel Core i9-11900k一战高下,还不甘示弱,PassMark - CPU Mark上Intel Core i9 - 11900k@3.50GHz分数为3741,Intel Core i7 -11700k@3.60GHz分数为3542,而Apple M1 8 Core 3200MHz分数介于两者之间,为3550分,AMD的线程撕裂者一众顶级CPU都被甩在后面。作为台积电的“重量级”客户,苹果的M1x、M2芯片将会优先享用台积电的4nm工艺(两枚芯片预计会升级到12核,甚至16核规模)。苹果的A15芯片将优先享用台积电的5nm+工艺。换句话说,在5nm、7nm产能满载的前提下,台积电的首批4nm、5nm+工艺被苹果提前预定“出道即售空”。 不出意外的话,新款iMAC Pro将是苹果一体机“前无古机”的一款产品,除了芯片的史无前例,在外观上应该也会有所创新,毕竟现在是个看脸的时代。满大街的手机都已经是全面屏,其他厂商的电视机、电脑都在努力往全面屏的方向发展,对外观一向挑剔的苹果公司,新款iMAC Pro必然也要搞款全面屏出来,不然怎么对得起乔帮主的初心。

    嵌入式新闻 苹果 M2芯片

  • 矿工危机!巨头英伟达限制GPU硬件

    矿工危机!巨头英伟达限制GPU硬件

    作为老牌芯片巨头,英伟达近期动作不断,包括斥资400亿美元收购芯片设计公司ARM,发布了首款基于ARM架构的数据中心处理器Grace、可以测试使用英伟达AI芯片的自动驾驶汽车的平台Omniverse、客户可根据需要免费租用的DGX Station迷你超算、用于数据中心计算的Bluefield 3数据处理单元(DPU) ,以及用于自动驾驶汽车的Atlan芯片等。显然,英伟达正横跨多个领域布局,打造属于自己的“元宇宙”(metaverse,或称虚拟世界)。 但是最近,英伟达的一系列动作可能预示着矿工的危机。对于显卡挖矿,英伟达的态度似乎在逐渐变得强硬,以前对挖矿的表态比较暧昧,暗示不会打压,现在英伟达要下重手了,RTX 30系显卡可能会全部升级,封杀挖矿性能。 RTX 3060显卡将会升级新的GPU核心——GA106-302-A1,这次会屏蔽挖矿性能,从硬件上就封杀掉。前两天又有消息称即将发布的RTX 3080 Ti也会如此,厂商收到的新版显卡核心代号为GA102-202 or GA102-302,跟之前的QS版不同了。这些新核心跟原有的GPU核心不同,使用的是不同的硬件ID,不能互刷固件,也就避免了驱动破解的可能。当然,不止如此,RTX 3060/3080 Ti显卡封杀挖矿可能只是开始,最新消息称RTX 30全系显卡都会升级新的核心,也会封杀挖矿性能,后续还有RTX 3060 Ti、RTX 3070、RTX 3070 Ti、RTX 3080、RTX 3090等显卡换核心。这消息的真假暂时不得而知,但是听着就大快人心,谁也没想到只认钱的老黄这波突然对着矿老板下手了,你不是高价收显卡挖矿吗?来来来,专业矿卡八千八,随便卖。如果消息属实的话,即使不是在4月份,未来显卡市场A卡和N卡两家大厂都会想着办法逼着矿老板只能买高价的专业矿卡。原因很简单,首先是减轻显卡市场的压力,其次就是产能不足的情况之下,桌面级显卡要是让矿老板这么折腾,迟早会发生显卡市场的大崩盘,到时候谁都没有好果子吃。NVIDIA相当清楚这一点,所以才开始了锁定算力的行动,而3060其实可以算是异常实验,实验基本成功了,下一步就开始准备全面开启专业矿卡的生产,并且针对桌面级显卡开始算力的限制。 看得出来老黄已经开始着手分离开混乱的挖矿和游戏市场,用专业矿卡来全面替代游戏显卡,保护游戏玩家和普通消费者群体。但早在三月中旬,英伟达就宣布在软件层面对RTX 3060进行挖矿的驱动封锁,一时间玩家们都觉得有救了。可随后不到一周时间,就传出英伟达内部流出解锁驱动,黑客已经进行破解。暂未知当时英伟达究竟是“无意”还是“有意”流出破解驱动。但我们能清楚的是,一旦消费级显卡市场崩溃或者直接矿难矿卡大幅流出,对英伟达都没有好处。英伟达相信这种严格的分离,将防止游戏GPU业务形成另一个泡沫,同时令公司能够在瞬息万变的加密货币采矿市场中立足。 英伟达的决定将不可避免地使加密货币矿工感到沮丧,但这是一个明智之举,它牺牲了与加密相关销售的短期增长,以确保游戏业务有长期稳定性。据报导,AMD还正在开发一种用于加密货币挖掘专用的GPU,为其Radeon GPU采用类似限制策略是明智的。 二手市场开始了疯狂的乱象,1660系列显卡和2060系列显卡开始疯狂的回收和扫货。而A卡这边的RX500系列的显卡也是各种疯狂回收,而有心的人早就看出来这明显是矿老板在中间捣鬼,显然矿老板们这是知道了什么内幕,在提前做好准备,相信这些动作和NVIDIA以及AMD的矿卡推出就有关。 英伟达在显卡市场占据了可谓是天时地利人和,AMD独显市场不是对手,英特尔核显才刚起步。在STEAM三月硬件调查报告中,英伟达系显卡占据了75.41%的STEAM游戏平台市场,且还包揽了单卡的排名前10中的前9。如此情况下,英伟达很难因为一时的矿潮而放弃了整个长久的游戏显卡市场。

    嵌入式硬件 英伟达 GPU 矿工

  • 落幕!32 位安卓程序的时代在中国结束

    落幕!32 位安卓程序的时代在中国结束

    我们知道电脑上有32位和64位的操作系统,目前的电脑几乎都是64位结构的了。其实在手机上我们可以看到这一架构的存在,就简单来说,目前很多APP都是以32位架构运行,但是这种现象即将发生根本性的转变,因为全面普及64位架构的时代来临了! 在2020年10月,ARM就表示ARM Cortex -A CPU大核自2022年起将仅支持64位代码的执行,并且在近日也宣布,从2023年起,所有的Cortex-A系列移动CPU内核(大核与小核)都将只支持64位。如此一来,后期使用ARM架构的移动终端设备,软件必须支持64位编码才可以运行。 根据相关数据表明,64位应用的安全性相较于32位会更高,同时性能上也会有20%的提升。而在实际体验的过程中,64位应用能够为用户提供更快的加载速度,支持更高帧率以及更好的沉浸式用户体验。而这几点也是很好的对应了现阶段智能手机硬件和系统的发展趋势。 早在 2017 年,iOS 平台就彻底抛弃了 32 位 APP,全面实现 64 位化。 然而,安卓迄今都还以 32 位主导。2019 年的时候,谷歌开始推进安卓平台的 64 位化,今年 8 月后 Play Store 将不再为既有 32 位程序提供后续更新。对于中国智能手机品牌来说,媒体报道称,本周一,小米应用商店、OPPO 软件商店、vivo 应用商店、腾讯应用宝、百度手机助手宣布,今后发布于各应用商店的所有应用必须有序支持 64 位 ARM 架构,今年底前全体应用及游戏均需按计划上传含有 64 位构建的 APK(涵盖存量应用更新及新版本发布)。 2021年4月20日,小米向全体应用开发者发出了正式通知,要求所有安卓应用开发者共同推进国内安卓生态对54位架构的升级支持,并且制定了具体的时间表。2021年12月底,现有和新发布的应用、游戏,需要上传包含64位包体的APK包。也就是说所有上传的应用都应该包含64位代码的版本,不再接受仅有32位版本的应用上传。2022年8月底,对于支持64位的硬件系统,将只接收64位版本的APK包。也就是如果到时用户手中的硬件设备支持64位系统的话,那么将只运行64位版本的应用。2023年底,硬件将仅支持64位APK,32位应用将寿终正寝。值得关注的是,小米的这个通知提到,小米应用商店将联合OPPO应用商店、Vivo应用商店共同推进这一计划,可以说,这一次小米不是单独在行动。 作为iOS和Android设备CPU指令集架构开发者,ARM在本周举办的开发者峰会上宣布,2022年开始,其Cortex大核CPU将取消对32位的支持。从ARM分享的路线图来看,2022年的大核CPU架构代号Makalu,性能较Cortex-A78提升30%左右。不过,通常,新的公版大核架构需要1年的时间才会被高通、联发科等企业吸收到SoC设计中并商用。 前几日谷歌刚刚更新了安卓11的新版本系统,国内的许多手机厂商纷纷对其进行适配,近日,据可靠消息,谷歌又有了新的动作,他的X86 gun 64模拟器将不再支持安卓12系统。这也是谷歌正式抛弃32位应用,将应用强制为64位,其实这也是大势所趋,为了系统的发展,就必须抛弃32位固有的架构,这样才能迎来系统的发展,前段时间微软也迎来了WINDOWS 10系统的v2004版本,从这个版本开始,微软就会停止32位系统,而且苹果的iOS系统早已经切换到了64位,所以谷歌废弃32位架构也是大势所趋。谷歌全面转向64位其实并不稀奇,32位固有的架构限制了系统的发展,但这也是操作系统必经之路,按照苹果在iOS 11上的迁移经验,谷歌明年推出的Android 12系统将会拒绝老旧的32位应用,开发者需要重新适配才能在新系统上运行。根据此前iOS 11上的经验,明年的Android S(安卓12)上,那些老旧的32位程序很可能无法直接运行。

    嵌入式软件 32 安卓 安卓系统

  • 库克的疯狂,ipad pro用上M1芯片

    库克的疯狂,ipad pro用上M1芯片

    苹果2021春季发布会终于来了。2021年是库克十年CEO任期的最后一年,库克时代接近尾声,就在这关键时刻,库克终于放出了大招。在苹果春季发布会上,库克宣布了一个决定,iPadPro2021款正式搭载M1芯片,和MacBook采用同款。4月21日凌晨,苹果发布了有史以来最强大的iPad Pro,当笔者看到iPad Pro搭载M1芯片时,脑子里只有一个想法:下一台电脑,何必是电脑?相信有不少人在观看了苹果春季新品发布会后都会有这样的想法,毕竟M1芯片原本就是为PC设计的,如今塞进iPad Pro里,简直太疯狂了。 虽然刚发布的新iPad Pro被认为是继iPhone之后,另一款能撑起万亿市值的产品,但是苹果公司股价还是迎来了下跌,截止周二收盘,苹果股价下跌1.28%,市值蒸发290亿美元,相当于是1888亿元人民币 本次发布会也是精彩纷呈,苹果带来了新款iPad Pro、iMac一体电脑,AirTag蓝牙防丢器、Apple TV 4K、Apple card等,此外苹果还推出了紫色的iPhone 12/iPhone12mini。苹果每一代iPhone都会换一代芯片,去年年底发布的iPhone12系列用上了5nm制程的A14芯片,考虑到iPad Pro产品线已经用了两代A12X芯片了,所以业界都认为苹果今年的新款iPad Pro会升级到最新的A14X芯片,从而进一步拉开与旧款设备的性能,但是让人没有想到的是,苹果居然在新款iPad Pro上用了自研的M1芯片,和去年的Macbook笔记本看齐从iPad Pro配备M1芯片开始,我们可以看到苹果的确在下一盘大棋,据了解,目前苹果M1芯片设备的出货量已经超越了同期的英特尔芯片出货量,未来苹果的主要产品线或许都会配备自研芯片,iPhone可能也不例外 iPad诞生于2010年,11年的发展中有两次重大转折,一次是带触控板的妙控键盘发布,一次就是现在,iPad Pro与最新款MacBook使用了同一款芯片。如果说上一次转折让用户对iPad的讨论从“能否提供生产力”转变成“能提供多少生产力”,那么这次可能会变成“iPad何时取代MacBook”。 新款iPad升级了屏幕、提高了运行内存和硬盘储存空间,最主要的是库克“偷”了MacBook的M1芯片,“瞒着所有人”装入了iPad Pro里面。现在遮住产品名称只看参数,可能有些人已经分不清这是iPad Pro还是MacBook了。至于新iPad Pro搭载的M1芯片,虽然现在全球芯片短缺,但是M1去年便已经量产,并且苹果作为台积电第一大客户,相信台积电会全力保证苹果M1芯片的供应。由于新iPad Pro多个供应链都要面临供应压力,所以猜测苹果可能会推迟一个月发售新版iPad Pro。要知道,A12Z在移动端里已经是无敌的存在了。而M1芯片在A12Z的基础上,CPU性能提升了50%,GPU性能提升了40%。根据geekbench5的数据显示,M1芯片的单核跑分是1687,多核跑分7433。而骁龙888的单核是1135,多核3818分。GPU的差距就更大了,M1的GPU性能几乎可以媲美台式机上的1050Ti显卡,骁龙888只能和A13称兄道弟,对比M1简直就是云泥之别。按照骁龙888的提升幅度来看,至少也要4年才能追平M1芯片。苹果居然把它用在了iPad上,直接降维打击。有了M1之后,iPadPro的综合性能较上一代足足提升了50%,GPU比起第一代更是提升1500倍,无论是PS、建模,还是在iPadPro上玩原神,都不在话下。这次 iPad Pro 升级诚意十足。不仅带来了桌面级的 M1 芯片,还有下一代现实技术 miniLED 加持。对于消费者来说,同样的芯片,相似的价格,是选传统键鼠的 MacBook,还是选触控加笔的 iPad Pro,无疑又是一个值得深思的问题。 总体来说,苹果2021年的春季新品发布会算得上是精彩纷呈,新版iPad Pro不仅用上了Mac产品的处理器,而且还首发了mini-LED技术屏幕,让新iPad Pro实现了突破性的升级,一改近两年苹果给用户留下的“挤牙膏”印象。相信本次发布会只是一个开始,后面苹果还将拿出更多让我们意想不到的惊喜,值得我们期待。

    嵌入式分享 库克 M1芯片 ipadPro

  • 联发科或在今年推出4nm 处理器天玑2000

    联发科或在今年推出4nm 处理器天玑2000

    联发科凭借天玑系列的5G芯片,得以在5G时代有着更高的市场份额,但目前有专家称,虽说之前的天玑1000+和新发的天玑1200都表现不俗,但这并不是联发科最终的“大招”。 而近日,有业内人士透露,联发科的4nm芯片曝光了,而下半年联发科将会开始量产,联发科将会在今年Q4试产基于该工艺的旗舰芯片,并随之量产。据国外媒体报道,已推出了多款天玑系列 5G 智能手机处理器的联发科,在准备推出 4nm 处理器天玑 2000。联发科是计划在业内率先推出 4nm 的处理器,预计会在今年年底或者明年年初开始生产,多家智能手机厂商已经向联发科预订了 4nm 处理器。在报道中,外媒还提到,联发科已从台积电获得了 4nm 工艺的产能。 联发科冲刺的高端技术并非外界预期的5nm,而是更先进的4nm制程,同时联发科还开出3nm产品。众所周知,在大多数人的印象中,联发科都是中低端芯片的代表。可士别多日当刮目相看,如今的联发科早已不是当年那个畏畏缩缩的中国芯片企业,而是美国高通不容忽视的竞争对手,同时也是华为海思的接班人。从去年的天玑1000开始,联发科手机芯片的性能逐渐追赶上了高通。特别是今年的天玑1100和天玑1200,两者的安兔兔跑分均超过了60W,已经非常接近高通骁龙865的水平。并且,得益于联发科芯片价格上的优势,对应的机型售价更便宜不少,性价比更高且更受市场欢迎。 在2020年8月25日举办的“台积电第26届技术研讨会”上,台积电公布其最新工艺路线图,计划在2022年量产4nm工艺(5nm N4工艺)。但在今年3月初,业界有消息传出,台积电4nm工艺量产时间有望提前至2021年第四季度。技术指标方面,台积电4nm工艺作为5nm工艺(5nm N5工艺)的改进版,相比后者在速度、功耗、密度上有所提升,但提升幅度低于3nm工艺。据台积电工艺路线图,3nm相比5nm,相同功耗下性能可提升10~15%,相同性能下功耗可降低25~30%。同时,4nm与5nm有100%的IP相容性,能够沿用5nm工艺既有的设计基础架构、加速产品创新。 天玑1100和天玑1200的出现,显然给高通带来了巨大压力,迫使其不得不推出骁龙870和骁龙860两款次旗舰芯片。并且降低芯片的价格,让对应机型的售价能下探到2000元,如此才稳固住了2000元档位的市场。明年,高端市场的竞争应该也会更加激烈,虽然少了麒麟芯片,但天玑2000显然势头更猛,有望抢占高通在高端旗舰市场的份额。作为消费者自然是乐意看到巨头火拼的局面,说不定还能从中获利,希望明年高端旗舰机的价格能便宜一些。 由于发布时间较晚,天玑4nm旗舰芯片还有望会采用上X2、A79、G79之类的全新架构,能在性能、续航等方面带来更加强劲的表现。值得注意的是,这款4nm旗舰芯片的定位可能要超过天玑1000系列迭代产品,联发科或许会开辟一条单独的旗舰产品线。此前曾有消息称,联发科天玑2000将采用5nm工艺打造,且目前已经获得了多家国内手机厂商的订单,该芯片将同样采用全新架构,同样定位旗舰产品,目前已经接近流片,正处在后面的测试验证阶段。 2020年,联发科营收109.29亿美元,同比增幅达到37.3%,位列世界第四。如今全球芯片短缺状况并未得到有效缓解,联发科这头“猛兽”有望再创佳绩。期待国产猛兽的逆袭。 如果目前的爆料信息属实,毫无疑问也就意味着天玑2000大概率将会是联发科旗下定位最高的旗舰主控产品,并且其所面向的也极有可能将会是旗舰机型。但由于目前联发科方面尚未公布这款旗舰主控的相关信息,因此至于其具体详情也还有待后期更进一步消息的确认,有兴趣的朋友不妨继续保持关注。

    嵌入式硬件 联发科 4nm 天玑2000

  • C语言函数返回1和返回0究竟哪个好?

    编排 | strongerHuang 微信公众号 | 嵌入式专栏 基本上,没有人会将大段的C语言代码全部塞入 main() 函数。更好的做法是按照复用率高、耦合性低的原则,尽可能的将代码拆分不同的功能模块,并封装成函数。 C语言代码的组合千变万化,因此函数的功能可能会比较复杂,不同的输入,常常产生不同的输出结果。 嵌入式专栏 1 C语言函数的返回值 C语言函数可以通过返回值表示输出结果,例如 log() 函数的返回值会根据不同的输入,返回不同的值。 再比如,我们定义一个函数 myopen(),用于打开某个文件,那么,这个函数要么能够成功打开文件,要么打开文件失败,这时,可以通过返回值区分“成功”和“失败”。 当然,myopen() 函数失败的原因可能很多,但不是本文关注的重点,本文更关心的是,该以何值表示“成功”,何值表示“失败”。 按照C语言语法, 0 表示假,非零(常常用 1)表示真,那是否函数也用 0 返回值表示“失败”,1 返回值表示“成功”呢? 嵌入式专栏 2 行业“潜规则” C语言函数当然可以使用返回值 0 表示“失败”,用返回值 1 表示“成功”。 事实上,C语言函数用什么样的返回值表示成功或者失败,只是一种人为的约定,函数的调用者遵守这个“约定”就可以了。 C语言也有“行业潜规则”, 不过,对于一般的函数,大多数C语言程序员常常使用返回值 0 表示成功,非零值表示失败。 因此,如果希望我们定义的函数能够被大多数人愉快的使用,最好不要反其道而行,遵守“行业潜规则”更好一点。 仔细考虑下,其实C语言函数使用返回值 0 表示成功是有原因的。更一般的C语言函数返回值并不一定只有两种可能值(成功/失败),它可能还会返回对应错误原因的返回值。总之,函数成功只有一种可能,函数失败却有多种可能。 实数要么是 0,要么非 0,因此可以将 0 看作一个比较特殊的“唯一”数值,使用 0 这个“唯一”的返回值,表示唯一的“成功”,多种非零的返回值,表示多种原因的失败,无疑更好一些。 当然,我们也可以说“实数要么是 1,要么非 1”,不过这显然也不是“行业潜规则”。 例如我们可以规定,如果 myopen() 函数因为“文件或者目录不存在”的原因失败,返回 -1,如果因为“权限不够”的原因失败,则返回 -2。-1 和 -2 都是“非零值”,而成功作为失败的对立面,也即“非零值”的对立面,myopen() 函数使用返回值 0 表示成功无可厚非。 嵌入式专栏 3 C语言程序员中另一中行业“潜规则” 当然,C语言程序员中还有一种“行业潜规则”。 如果定义的函数是个布尔函数,也即返回值显式的使用类似于 bool 关键字定义,或者函数名类似于 is_true(),那么显然此时应该遵守C语言语法,使用“真”值表示成功,“假”值表示失败。 if( is_true() ) printf("true\n"); 请看上面这两行C语言代码,显然,遵守C语言语法的布尔函数更便于程序员写出布尔判断类的代码。 嵌入式专栏 4 小结 本文主要讨论了C语言程序开发中关于函数返回值的问题。 可见,使用什么样的返回值表示成功,什么用的返回值表示失败,其实只是一种人为约定。 只不过,如果希望我们编写的代码能够被大多数同行愉快的使用,最好遵守下“行业潜规则”。 当然了,若是希望我们的C语言代码应用性更广,则可以使用标准头文件里预先定义好的 EXIT_SUCCESS 和 EXIT_FAILURE 宏。

    strongerHuang C语言 代码

  • 5号和25号发工资有啥区别?

    内容综合自人力葵花、BOSS直聘 5号发工资和25号发工资,就能看出一个公司是否靠谱? 对很多工薪族来说,发工资这一天基本上是脱贫致富的重要日子,也是很多人的还款日子,交房租,还信用卡……想到接下来的日子又得靠拆东墙补西墙过。 即使发薪日就是还款日,但这个美好的日子还是值得每个职场人期待的! 为什么有的人5号、10号就发工资,有的人要到25号才发呢?发薪日是公司生态的一个缩影,可以由此看出一个公司的好坏。 我们把发薪日分为三个时间段: 10号以前:多为高科技公司、上市公司、外资公司、国企。 10-15号:部分A股上市公司和效益比较好的、制度比较健全的、注重管理的公司。 15号以后:多为小企业,尤其是社会服务业、劳动密集型公司。 1 10号前发工资 多为高大上的好企业 规模较大、管理较规范的企业,发薪日多在次月10日之前。 这些公司大多为高科技公司、上市公司、外资公司或是国企,规模比较大,福利待遇也很好,而且制度方面都很完善,不仅仅是高薪,神马过节福利、加班补助、高温费、带薪年假、年终奖啥的,统统都会有。 发薪日也一般是在次月的5号到10号之间,如遇到发薪日与节假日、休息日冲突,多数企业会提前发放。年终奖一般会在次年初发放。 外资企业中,欧美企业是遵守中国法律的典范,法定的节假日都会有,为员工提供的福利、待遇也较好,工资会在次月10日前发放,而且还会有节日礼金、过年红包之类的人文关怀。 国有企业、国有控股企业,这类企业因为是“国”字号,所以不用太担心发工资的问题,在执行国家政策上不会打折,像双休日、加班费、高温费、带薪年假等国家规定的福利、待遇都不会少。 一般来说,他们在次月10日之前铁定是要发上月工资的,也有在当月最后一天就把本月工资发了的。 2 10-15号发工资 多为制度较健全的公司 到月中(含15号)发薪的公司虽然比不上第一类公司那么正规,但也差不到哪里去,至少也是一些A股上市公司或者是效益比较好、制度比较健全、注重管理的公司。 至于双休日、节假日和福利啥的,一般也不会少,不过可能木有年终奖或是双休日等等,不过比起那些扛到月底才发工资的公司,咱就阿弥陀佛吧! 3 15号后发工资 多为小企业 15号以后,多为小企业,尤其是社会服务业、劳动密集型公司。他们一般都在次月15-25日发工资。其目的,主要是为了稳住员工,用工资圈住员工,因为你不管什么时候离职,都会有一部分工资压在他手里。 这类企业员工稳定性差、流动频繁,企业主只好出此下策。 这类企业的工资一般都处于社会偏低水平。 有些小企业甚至常年没有节假日和休息日,也不会付加班费和安排调休。(按照规定,如果安排劳动者延长工作时间,企业应该支付不低于工资的150%的工资报酬;休息日安排劳动者工作又不能安排补休的,支付不低于工资200%的工资报酬;法定休假日安排劳动者工作的,支付不低于工资300%的工资报酬) 4 遇到企业拖欠工资 我们该咋办? 正常情况下,企业需要按月支付工资,不得拖欠。 但是如果遇到特殊情况,比如用人单位因生产经营困难暂时无法按时支付工资的,按照规定,应当向劳动者说明情况,并经与工会或者职工代表协商一致后,可以延期支付工资,但最长不得超过30日。 作为企业主,不应该拖欠员工工资,许多企业主没有意识到这一点。 员工是靠工资吃饭的,如果不能按时领到工资,劳动者可以向当地的劳动监察部门进行投诉举报或者申请劳动仲裁,要求用人单位发放其工资。 这里又分两种情况: 如果是给企业工作:劳动者可以到当地人力资源和社会保障局劳动监察投诉;可以到当地人力资源和社会保障局劳动争议仲裁委员会申请仲裁,要求支付工资。如果未签订劳动合同,可以要求支付未签订劳动合同的双倍工资。如果是以拖欠工资提出的解除劳动关系,还可以要求支付经济补偿金。 如果是给个人工作:不算劳动关系,可以直接去法院起诉该个人老板,要求支付劳动报酬。 5 这些扣工资行为 是违法的! 请假扣3倍工资违法 劳动者如果请事假,则工资的计算公式为:(21.75天-请假天数)×日工资 例如:假设甲每月的工资为2175元,则日工资为2175÷21.75=100元,假若10月份甲请事假4天,则10月份甲实际工作了17.75天。因此10月份的工资是17.75×100=1775元。 孕期女职工产检扣工资违法 《女职工劳动保护规定》第六条规定,怀孕女职工在劳动时间内进行产前检查,所需时间计入劳动时间。 《<女职工劳动保护规定>问题解答》中就产前检查曾进一步解释为:女职工产前检查应按出勤对待,不能按病假、事假、旷工处理;对在生产第一线的女职工,要相应地减少生产定额,以保证产前检查时间。 用人单位为捐赠强扣工资违法 根据《公益事业捐赠法》第4条的规定,职工有权自行决定捐款的数额,是否捐款以及如何捐款都必须出于职工的自愿,任何用人单位都不得强行扣除职工的工资。 根据《劳动法》第九十一条的规定,克扣劳动者工资的,由劳动行政部门责令用人单位支付劳动者的工资报酬、经济补偿,并可以责令支付赔偿金。 员工辞职单位扣工资违法 《劳动法》第50条规定:工资应当以货币形式按月支付给劳动者本人,不得克扣或者无故拖欠劳动者的工资。 《劳动合同法》第37条规定:劳动者提前30日以书面形式通知用人单位,可以解除劳动合同。 上班迟到单位扣工资合法吗? 上班迟到是很多人都会经历过的事,那么迟到可以扣工资吗?迟到扣工资是否合法呢? 劳动者肆意迟到等行为应属于违反劳动纪律,用人单位应当有权在规章制度或企业奖惩制度中,对此类行为进行一定的处罚,以实现双方的权利义务平等。 1982年国务院颁布施行的《企业职工奖惩条例》第十一条、第十二条规定了企业的罚款权,然而,该条例已经在2008年1月15日废止。 也就是说,2008年1月15日以后,用人单位已经不能再根据该条例的规定在规章制度中设立罚款条款了。 你们几号发工资?

    strongerHuang 工资 公司 国企

  • 通过一个故事告诉你:什么是卷积?

    通过一个故事告诉你:什么是卷积?

    引子 这样的命题非常好,因为没有深入的理解一个命题,没有仔细的思考一个东西的设计哲学,我们就会陷入细节的泥沼: 背公式,数学推导,积分,做题;而没有时间来回答"为什么要这样"。做大学老师的做不到"把厚书读薄"这一点,讲不出哲学层面的道理,一味背书和翻讲 ppt,做着枯燥的数学证明,然后责怪"现在的学生一代不如一代",有什么意义吗?

    嵌入式ARM 信号与系统 卷积

发布文章