技术专家谈单片机“低能”续:与OS区别在哪?

技术专家谈单片机“低能”续:与OS区别在哪?,第1张

  电子发烧友网讯:自上次在本站独家报道的《单片机“低能”,请不要诋毁 *** 作系统》,得到大家的积极认可与热烈反响。部分电子发烧友网读者纷纷来邮件表示意犹未尽,要求再次深入浅出地对单片机与OS进行探讨。在此,电子发烧友网编辑部再次邀请音视频技术专家及芯片设计专家潘昶,以最擅长的音频领域为例(本文主要涉及嵌入式播放系统),为各位读者分享技术心得,以飨读者。

  单片机”低能”后续

  本文相对有一定的专业性,如果非理工科的读者看起来会很费工夫,笔者尽量深入浅出的进行分析,希望让大部分读者能看明白。

  目前针对部分厂家混淆概念的说法,这里从理论上分析一下单片机(或者说裸奔)和 *** 作系统的区别。从网络的宣传上看,无非单片机族的理论根据是单片机可以“单线程”进行播放和解码。从而杜绝jitter(时基抖动)的问题。以笔者从事单片机/嵌入式系统设计超过15年的经验,从理论上分析一下,这个Jitter是如何产生的,是否多线程会产生Jitter呢?

  何谓线程?

  因为一个CPU只有一个ALU(算术逻辑单元),因此要同时响应不同的事件,就要引进“线程”的概念,所谓线程就是CPU针对多个任务,实行分时分段执行多个任务的一个机制。举个很简单的例子,假如有10个任务,完成每个任务的执行时间都是10个时间单位,理论上总执行时间就是10x10=100个时间单位,如果单线程执行,就是顺序执行这些任务,第一个任务在10的时间单位完成,第二个在20的时间单位完成,如此类推,最后一个在时间点100的时间单位完成,而分时执行,就是每个任务都执行1个时间单位,然后切换到另外一个任务执行,那么在最后的时候,第一个任务在91的时间点完成,第二个任务在92的时间点完成,最后一个任务在100的时间点完成。我们举的例子比较特殊,运行时间都一样,但实际上,绝大部分的程序运行时间都不一样,因此,如果最短运行时间的程序最后一个执行,等待的时间就会很漫长,线程的概念因此而来,如果有一个运行时间为2 的线程替换刚刚的执行队列中的一个任务,那么就会在20-30之间完成那个最短的程序,节省了用户等待的时间,线程因此得到迅速的发展。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/2714720.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-17
下一篇 2022-08-17

发表评论

登录后才能评论

评论列表(0条)

保存