×

多核DSP在数字化应用中面临的挑战

消耗积分:1 | 格式:rar | 大小:0.8 MB | 2017-10-19

分享资料个

DSP是对数字信号进行高速实时处理的专用处理器。
  在当今的数字化的背景下,DSP以其高性能和软件可编程等特点,已经成为电子工业领域增长最迅速的产品之一,人们对其性能、功耗和成本也提出了越来越高的要求,迫使DSP厂商开始在单一矽片上集成更多的处理器内核。本文分析了多核DSP必须面临的挑战,介绍了一些常见的多核DSP产品。
  数字信号处理器(DSP)是对数字信号进行高速实时处理的专用处理器。在当今的数字化的背景下,DSP以其高性能和软件可编程等特点,已经成为电子工业领域增长最迅速的产品之一。据市场研究公司In-Stat的最新报告,全球DSP市场今後将一直保持高速增长,其中2004年的付运量估计为15亿颗,2009年该数字可望达到28亿颗。其中,浮点DSP的应用市场可望从2004年的10亿美元增长到2009年的22亿美元。因此,全球DSP市场的前景非常广阔,DSP已成为数字通信、智慧控制、消费类电子产品等领域的基础器件,而通信市场2009年的比例可望达到61%。
  Forward Concepts最近公布的DSP/无线市场报告指出,Q2/2006 DSP晶片付运量较Q1上升了3.3%,达21亿美元。报告指出,虽然无线依然主宰著DSP市场72%的份额,其Q2增长幅度仅有2.8%,而来自汽车和消费领域的增长则分别高达38.7%和37.2%。数据显示,亚太地区依然是DSP的主要应用市场,而嵌入式DSP则占据了66%以上的市场份额。
  多核DSP在数字化应用中面临的挑战
  图1 DSP市场概况
  随著应用领域的扩大以及终端产品性能的日益丰富,人们对DSP系统的性能、功耗和成本提出了越来越高的要求,迫使DSP厂商开始在单一矽片上集成更多的处理器内核,於是多核DSP应运而生。
  1、多核DSP关键技术
  晶片制造工艺技术的进步和SoC设计与验证水准的提升分别是多核DSP诞生的硬体基础和软件基础。
  目前,DSP巨头德州仪器公司(TI)的DSP晶片生产工艺已经达到75nm水准,能够在一块仅有拇指大小的单晶片上集成8个TMS320DSP内核。同时,多核DSP也离不开SoC设计水准的进步。SoC设计可以对整个系统的模型演算法、软硬体功能、晶片结构、各电路模块直至器件的设计进行综合考虑,可以在同样的工艺条件下,实现更高性能的系统指标。
  以下介绍多核DSP必须面对的一些关键技术∶软硬体协同设计、软硬体协同验证、IP核生成与复用、高速互连总线、低功耗设计等。
  (1)低功耗
  多核DSP带来了更高的性能,但它相比传统的单核DSP也带来了更大的功耗。嵌入式应用,例如手机、数码相机等对功耗非常敏感。在以前的2G通信时代,人们习惯了200小时待机时间的手机,当然很难接受待机时间仅仅为一天的3G手机。因此多核DSP必须解决的第一大技术难题就是如何有效的降低平均功耗。
  从硬体技术上来看,可以采用动态电源管理技术,设置全速、半速、休眠等工作模式,根据当前的任务强度和功耗监测信息,及时调整电压和频率,关闭暂时不使用的模块,以降低功耗。另外,根据特定的应用需求,设置专门的协处理器,同样可以减少DSP内核的运算强度。
  从软件技术上来看,在编译指导下的多核DSP低功耗优化技术非常具有潜力。低功耗编译技术主要包括编译指导的动态电压调节、多线程功耗模型下的低功耗编译调度等。在操作系统的支持下,通过合理的调度,使处理器资源与演算法需求相适应,例如在DSP核+MCU的模式下,MCU就不应该处理DSP的有关程式。
  (2)互连与存储系统
  随着晶片面积的增大,长线互连延迟和信号完整性已经成为制约晶片主频的关键因素。当片上DSP核较少时,可用简单的总线结构或者Crossbar互连;当DSP核较多时可用二维mesh网络、3D Torus等进行互连,设计者必须在网络开销以及多核之间耦合的程度之间进行权衡,同时还要注意互连拓扑的可扩展性。为提高互连性能,应该采用高频、高带宽的超深亚微米片上互连结构,以便高效地实现节点间通信。
  针对数据密集型的应用,多核DSP必须解决存储系统的效率问题。为此,必须要解决一系列关键技术,例如应该设计多大的片内存储器?数据的共用和通信在存储层次的哪一级来完成?Cache一致性在哪一级实现更合理?是通过片内共用存储器还是高速总线进行多核之间的通信?存储结构如何支持多线程的应用?
  (3)编译技术与操作系统
  多核DSP能否发挥最高的性能,在很大程度上取决於编译优化和嵌入式操作系统的有力支持。例如,多核DSP对多线程程式能够提供较高的性能,但是对于单线程应用的性能反而不高,甚至比单核DSP的性能还要低。
  采用硬体动态提取线程是一种方法,但编译器更要担负起自动并行化的工作,即将串列程式自动地转换为等价的多线程并行代码,使用户不关心叠代空间划分、数据共用、线程调度和同步等细节,减轻用户负担。 更重要的是多线程优化编译技术,包括线程并发机制的实现、线程调度、线程级前瞻执行等技术。
  多核之间的任务调度是充分利用多处理器性能的关键。为满足实时处理的要求,均衡各处理器负载,需要研究的任务调度机制有分散式实时任务调度演算法、动态任务迁移技术等。已有的几种嵌入式操作系统,例如μcLinux、PalmOS、WinCE等,都还无法有效地支持多核处理器。嵌入式多核操作系统的研究任重而道远。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !

'+ '

'+ '

'+ ''+ '
'+ ''+ ''+ '
'+ ''+ '' ); $.get('/article/vipdownload/aid/'+webid,function(data){ if(data.code ==5){ $(pop_this).attr('href',"/login/index.html"); return false } if(data.code == 2){ //跳转到VIP升级页面 window.location.href="//m.lene-v.com/vip/index?aid=" + webid return false } //是会员 if (data.code > 0) { $('body').append(htmlSetNormalDownload); var getWidth=$("#poplayer").width(); $("#poplayer").css("margin-left","-"+getWidth/2+"px"); $('#tips').html(data.msg) $('.download_confirm').click(function(){ $('#dialog').remove(); }) } else { var down_url = $('#vipdownload').attr('data-url'); isBindAnalysisForm(pop_this, down_url, 1) } }); }); //是否开通VIP $.get('/article/vipdownload/aid/'+webid,function(data){ if(data.code == 2 || data.code ==5){ //跳转到VIP升级页面 $('#vipdownload>span').text("开通VIP 免费下载") return false }else{ // 待续费 if(data.code == 3) { vipExpiredInfo.ifVipExpired = true vipExpiredInfo.vipExpiredDate = data.data.endoftime } $('#vipdownload .icon-vip-tips').remove() $('#vipdownload>span').text("VIP免积分下载") } }); }).on("click",".download_cancel",function(){ $('#dialog').remove(); }) var setWeixinShare={};//定义默认的微信分享信息,页面如果要自定义分享,直接更改此变量即可 if(window.navigator.userAgent.toLowerCase().match(/MicroMessenger/i) == 'micromessenger'){ var d={ title:'多核DSP在数字化应用中面临的挑战',//标题 desc:$('[name=description]').attr("content"), //描述 imgUrl:'https://'+location.host+'/static/images/ele-logo.png',// 分享图标,默认是logo link:'',//链接 type:'',// 分享类型,music、video或link,不填默认为link dataUrl:'',//如果type是music或video,则要提供数据链接,默认为空 success:'', // 用户确认分享后执行的回调函数 cancel:''// 用户取消分享后执行的回调函数 } setWeixinShare=$.extend(d,setWeixinShare); $.ajax({ url:"//www.lene-v.com/app/wechat/index.php?s=Home/ShareConfig/index", data:"share_url="+encodeURIComponent(location.href)+"&format=jsonp&domain=m", type:'get', dataType:'jsonp', success:function(res){ if(res.status!="successed"){ return false; } $.getScript('https://res.wx.qq.com/open/js/jweixin-1.0.0.js',function(result,status){ if(status!="success"){ return false; } var getWxCfg=res.data; wx.config({ //debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 appId:getWxCfg.appId, // 必填,公众号的唯一标识 timestamp:getWxCfg.timestamp, // 必填,生成签名的时间戳 nonceStr:getWxCfg.nonceStr, // 必填,生成签名的随机串 signature:getWxCfg.signature,// 必填,签名,见附录1 jsApiList:['onMenuShareTimeline','onMenuShareAppMessage','onMenuShareQQ','onMenuShareWeibo','onMenuShareQZone'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2 }); wx.ready(function(){ //获取“分享到朋友圈”按钮点击状态及自定义分享内容接口 wx.onMenuShareTimeline({ title: setWeixinShare.title, // 分享标题 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享给朋友”按钮点击状态及自定义分享内容接口 wx.onMenuShareAppMessage({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 type: setWeixinShare.type, // 分享类型,music、video或link,不填默认为link dataUrl: setWeixinShare.dataUrl, // 如果type是music或video,则要提供数据链接,默认为空 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到QQ”按钮点击状态及自定义分享内容接口 wx.onMenuShareQQ({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到腾讯微博”按钮点击状态及自定义分享内容接口 wx.onMenuShareWeibo({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到QQ空间”按钮点击状态及自定义分享内容接口 wx.onMenuShareQZone({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); }); }); } }); } function openX_ad(posterid, htmlid, width, height) { if ($(htmlid).length > 0) { var randomnumber = Math.random(); var now_url = encodeURIComponent(window.location.href); var ga = document.createElement('iframe'); ga.src = 'https://www1.elecfans.com/www/delivery/myafr.php?target=_blank&cb=' + randomnumber + '&zoneid=' + posterid+'&prefer='+now_url; ga.width = width; ga.height = height; ga.frameBorder = 0; ga.scrolling = 'no'; var s = $(htmlid).append(ga); } } openX_ad(828, '#berry-300', 300, 250);