下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、多CPU系统级芯片设计的CPU内核选择 在系统级芯片(SoC)设计中采用多个CPU已经成为一种越来越常用的设计方法。为多CPU应用而设计的处理器内核应具备几个重要特性,例如较高的性能密度、有效的处理器内部通信能力、支持调试,以及可灵活实现和可配置性。本文将针对这些与多CPU设计相关的内核性能进行讨论。 由于业界对SoC器件的可编程性要求越来越高,所以采用多CPU进行SoC设计变得更加普遍。对许多应用来说,单CPU很难满足人们对设备性能飞速提高的要求。而在复杂的实时系统中,采用多CPU通常会使性能分配更
2、加容易做到,因此响应时间也更容易达到要求。同时,外围器件或专用加速器中的专用CPU也能够分担主CPU中那些比较低级的功能,从而使主CPU能够专注于高级功能的实现。 目前,多CPU设计在很多重要市场中都有应用,例如网络路由器,大多数新一代NPU都是基于多CPU设计。除了这些标准的NPU以外,核心ASSP也开始采用多处理器构建更加优化的针对特定应用的路由解决方案。对于很多应用来说,特定目标应用的ASSP比标准NPU效率高。一个ASSP可以集成合适的物理接口,根据目标应用确定存储器大小,并可以为处理器提供最佳配置。 诸如DSLAM和基站或高性能网络存储设备等的相关应用中,在采用这种多处理器的“分而治
3、之”的方法来构建高性能可编程解决方案时,都实现了较好的工作性能。而且,为了节约成本并降低功耗,甚至终端用户设备都开始采用多CPU来获取最佳性能密度。例如,在设计机顶盒、住宅网关,甚至智能移动设备时也可采用多CPU方法。需要说明的是,这里的多CPU并不是单用一个RISC处理器和一个DSP,而是采用多个RSIC处理器和多个DSP。 如何获得优秀的CPU内核 一个适用于多CPU设计的处理器内核,必须具备以下几个重要的特性: 首先最重要的是它必须能够提供较高的性能密度。多CPU设计的目的就在于在每平方毫米内,或在单位功耗内获得尽可能高的总性能。因此,理想的效果是在最小的空间内或最低的功耗内得到最佳的M
4、IPS性能。 其次,它必须能够在处理器内实现有效通信。因为尽管许多多CPU设计都是软件相关的,但在设计过程中仍然十分需要进行处理器内的通信。如果处理器内核不提供一种支持处理器内的通信机制,那么这种内部通信的功能就必须由SoC设计工程师来开发。这不仅非常耗时,而且也从其它方面增加了设计的复杂性。而如果在处理器内核处提供对内部通信的支持将简化SoC设计工程师的工作,从而也缩短开发周期。 通常,多CPU设计在调试时比较困难,因为这些处理器内核既相互独立又相互影响,而且在调试多CPU SoC时,设计工程师必须看到各处理器之间相互影响的情况。这就要求在CPU内置一种功能,使多CPU能够同时进行调试,并且
5、充分地相互作用。否则,多CPU SoC的调试工作将十分艰难,甚至根本不可能对所有CPU进行全面调试。同时,调试工具必须支持这些CPU,这样,设计工程师才能利用CPU内嵌的调试功能进行调试。 此外,在判断一个处理器内核是否适用于多CPU设计时,还需考虑配置和实现该CPU内核时的灵活度。在进行一个多CPU设计时,应尽量将产品尺寸和功耗降至最低,同时必须尽力提高其性能。设计工程师只有采用高度可配置和高度可综合的CPU,才能设计出尺寸、功耗和频率都满足特定应用要求的SoC产品。而对于一个固化的或不可配置的CPU内核,则不可能构造出满足各种要求的产品。 基于这些思想,MIPS Technologies公
6、司最近研制出一款专门针对多CPU设计的CPU内核-MIPS32 M4K。该内核可达到很高的性能,而且尺寸和功耗都很低。同时,该内核还具备可综合性,并内带一个快速响应的存储器系统。 处理器间通信 M4K中,通过外部执行MIPS结构中的负载链接(Load Linked,LL)指令和条件存储(SC)指令来支持多CPU旗语(semaphore),并以此使得系统能够对各CPU保持必要的监控。同时,为实现对系统的最大控制和灵活性,SYNC指令动作也被移出到信号接口。通过执行该指令,可以为系统提供一个内存排序器(memory barrier),以保证分类指令语义正确。 如图1所示,当系统执行一个典型的旗语访
7、问代码序列时,使用LL和SC指令就可以无需对系统传输一个锁定信息而直接执行自动的Read-Modify-Write序列。 例如,在一个测试-设置旋转锁(spin-lock)中,执行LL指令时会在信号接口上产生一个读操作,这个信号接口在系统中标记为LL。然后,系统会在该地址设置一个监测器,监测该接口所在地址的状态。此时,如果另一个处理器向这个被监测的地址进行写操作,那么监测器的pass/fail标志位将被清零。而系统执行SC指令时,系统逻辑会根据监测器的状态有条件地执行存储操作,即有条件地向存储器中写入数据。接着,系统会将监测器的Pass/fail标志位返回给处理器,然后将工作交给处理器中的软件
8、去执行。 该软件执行的操作起初通常会失败,但它会不断重复执行,直到成功为止。类似地,SYNC指令的语义解释也被转移到CPU外执行,这样系统才能保证内存排序器正确操作。 如图2中范例所示,SYNC位于连接到共享缓冲的最后一个存储器和释放控制信号的存储器之间。在执行SYNC指令时,CPU向系统逻辑发送信号,表示它已经准备接收同步响应。一旦系统确保工作次序正常,就向CPU返回一个信号,接着,负载和存储内容才得以释放。如果系统是一个简单系统,那么必须按部就班地等待所有重要的转换完成;但如果系统比较复杂,就能够保持其序列中的次序,并以更快的速度进行响应。但在这两种情况下,CPU软件和硬件的运行机制都是相同的。 M4K上的处理器内部通信机制得到业界的标准开发工的全面支持。设计工程师如果用M4K内核进行多CPU设计,那么他们就可以利用M4K的这些特性在不同的处理器内核间方便快捷地进行通信,从而缩短设计时间并降低风险。 多CPU系统的应用 与此类似,在一个加速器内使用一个或多个M4K处理器内核,可以将一些特殊的高性能的功能从主处理器中分离出来,而同时并不影响标准可再编程器件的优势。 多CPU设计能够提供可扩展、可编程的特性,非常适用于将许多网络和嵌入式系统设计中的功能分离出主处理器,因而这种
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 车间员工绩效考核辅导时机
- 液化气考试试题及答案
- 史记讲读考试题及答案
- 公路重要委托协议
- 高一化学下学期期中试题汉语班无答案
- 服装定制化服务合同
- 碧波实验小学三年级信息科技期末测试卷
- 银行运营与票据业务合规考核试题
- 云计算排他性维修合同
- 《高二服装表演暑假系统复习课件》
- 2026福建泉州市惠安县人民法院招聘知识产权纠纷专职人民调解员3人笔试题库含答案详解(基础题)
- 2026年贵阳中考英语考试试题及答案
- 2026年电力交易员(中级工)题库
- 2026年刮痧医师考试题及答案
- 2025年四川省拟任乡科级领导干部任职资格试题及参考答案
- 小学班级期末成绩分析与教学改进总结
- 人教 九上 英语 Unit 4 Section A《合作探究一》课件
- 2026年宗教教职人员管理办法测试
- 指数均值与对数均值不等式-2026高考数学一轮常考题
- 16D303-3 常用水泵控制电路图
- 2026年环境工程专业综合考前冲刺模拟题库及参考答案详解(完整版)
评论
0/150
提交评论