Tips_编程模型(SoC)(application programming model)
2006-03-31 15:06
309 查看
http://www.eetchina.com/ART_8800379562_865371_33004f16_no.HTM
任何计算平台都必须具备一个编程模型,以此来确定如何开发出运行在该平台上的软件。一个好的模型能够利用抽象化(abstract)来屏蔽底层执行平台的某些细节,同时也能使编程人员充分发掘硬件的功能。然而,正如MPSoC研讨者们所指出的,现有的编程模型并不适用于复杂SoC。我们需要新的编程模型,它能够更好地抽象化硬件/软件接口和内部交互,以及定义这些接口的CPU。
法国Grenoble的TimaLaboratory正开发一种“基于服务的组件模型”,能够同时对硬件和软件进行抽象化,这种方法将功能服务从其本身的访问机制中分离出来,建立一个能够表示每个从抽象特性到RTL代码的单一模型。
当一个SoC中存在多个CPU时,通常用户希望能有一个并行编程模型来充分发挥硬件的性能。圣彼得堡航空航天仪器仪表大学(St.PetersburgStateUniversityofAerospaceInstrumentation)的研究人员正致力于这项技术,他们主要研究任务级和进程级的并行处理,同时利用Visa(一种采用AGP模型的交互、图形化并行编程语言)开发了一系列“异步发生过程”模型。
飞利浦研发机构PhilipsResearch也在对多处理器SoC的并行编程模型进行研究。由于目前的编程模型过于面向底层,飞利浦正着重于开发它称为“任务传输层”(tasktransactionlevel)的“以接口为中心”的设计。
随着所有公司进军具有知识产权、工具和服务的SoC市场,会有越来越多的编程模型不断出现。近来一些非常引人注目的多处理器SoC已经进入市场,如IBM的Cell处理器。MPSoC的几个分组会议中都介绍了Cell的硬件设计,但没有关于编程模型的更多信息。
如果你是一个SoC设计小组的成员,那么在下一个设计总结会上你就可能会提出一个敏感的问题——毫无疑问,我们能够在SoC中设计多处理器、存储器、外围接口和快速总线结构,但我们的用户真的能够对这些SoC实现编程吗?他们能充分发挥我们所设计的这些硬件的全部性能吗?
作者:RichardGoering(rgoering@cmp.com),EETimes设计自动化专栏编辑主任
http://www.eetchina.com/ART_8800372114_865371_848c6340200507.HTM
《多处理SoC需新思维,业界展示SoC编程改进模型》
日前参与多处理器系统级芯片(MPSoC)研讨会的人士表示,必须改进编程模型以充分利用下一代SoC。
编程模型定义了一种SoC平台开发的方式。它采用抽象来隐藏潜在的执行平台。传统上,编程模型来自于软件世界,但MPSoC主办者兼法国TIMA实验室系统级综合部负责人AhmedJerraya表示,现在业界需要面向多处理SoC的新思维。
“当我们开发硬件/软件接口时,我们需要不同的编程模型。硬件和软件都必须抽象化。”Jerraya表示。此外,他指出,编程模型还必须抽象定义硬件/软件接口的CPU。当今的编译通常忽略了CPU环境。
因此,面向SoC的并行编程模型必须变得更为直截了当,以说明CPU结构组织、总线功能模型接口、指令集仿真、交易级模型,以及最终的RTL硬件。“硬件/软件接口协同设计需要统一的代表硬件、软件和CPU的模型。”Jerraya表示。
TIMA的系统级综合部FredericPetrot展示了一种可能的解决方案。他表示,TIMA正在开发一种“基于服务的元件模型”,能处理硬件和软件。这种模型有两部分——接口,包含服务声明和数据结构,以及参数化的实现。目标是实现一个单一模型,能从抽象规范到RTL描述系统设计,并自动生成wrappers和交易器(transactor)。
丹麦技术大学信息及数学建模教授JanMadsen则展示了一种称为ARTS的系统级建模框架。“总体思路是愿意尝试新事物,如新处理器和新时序安排。”
ARTS是基于SystemC的仿真环境,能检测所选特定的实时操作系统、处理器、网络拓扑及任务映射的因果关系。他演示了该模型如何检测处理器利用、总线冲突及存储文件。
加拿大蒙特利尔Ecole理工学院教授GabrielaNicolescu则畅谈了包含MEMS、光学或电生物元件的异类SoC规范和验证要求。
关键是构建减少物理原型的模拟并仿真。一种可能性是扩展语言,例如Verilog-AMS,另外一种可能性是创建允许不同类模型计算的环境,如伯克莱大学的Ptolemy。Nicolescu表示,其大学拥有一个SystemC/Simulink环境的工作原型,能够提供集成连续及离散项目的仿真。
俄国圣彼得堡航空仪器州立大学高性能计算机和网络技术学院院长YuriySheynin认为,多处理器SoC编程需要高效的语言、方法论和工具。他领导的小组开发出一套用于并行计算的“异步成长流程(AGP)”图形化模型,基于异步分配控制,能描述所有流程的互动。该小组还开发出了一种并行编程语言Visa,特别针对AGP模型使用。
www.linuxsir.org/bbs/printthread.php?t=74857
GUI编程-同步化的编程模型
http://nalai.net/content/view/316128/32/《 J2EE开发框架发展简史》
JDBC以一种错误的编程模型来强制开发者用Java代码来处理关系思想。
Hibernate并不是全新的,它的ORM思想在这个领域很普遍,但它提供的编程模型比其他任何竞争者都容易使用、都来的直接,它为ORM的使用提供了更加易用、廉价的途径。
下一代的J2EE规范将拥抱更简单的POJO编程模型,就像Spring和Hibernate做的一样。
一个基于struts,hibernate的项目,业务逻辑很难搞定。尽管对于这种问题,J2EE规范提出了解决方案(EJB),但仍旧没有一个合适的编程模型。(spring很好地解决了这个问题)
复杂SoC开发需要新的编程模型
从最近为期一周的多处理器SoC(MPSoC)会议中可以清晰地得到一个结论:许多工作正围绕下一代系统级芯片(SoC)的硬件开发而展开,然而在如何对这些复杂芯片进行编程的问题上,我们却没有拿出非常理想的解决方案。任何计算平台都必须具备一个编程模型,以此来确定如何开发出运行在该平台上的软件。一个好的模型能够利用抽象化(abstract)来屏蔽底层执行平台的某些细节,同时也能使编程人员充分发掘硬件的功能。然而,正如MPSoC研讨者们所指出的,现有的编程模型并不适用于复杂SoC。我们需要新的编程模型,它能够更好地抽象化硬件/软件接口和内部交互,以及定义这些接口的CPU。
法国Grenoble的TimaLaboratory正开发一种“基于服务的组件模型”,能够同时对硬件和软件进行抽象化,这种方法将功能服务从其本身的访问机制中分离出来,建立一个能够表示每个从抽象特性到RTL代码的单一模型。
当一个SoC中存在多个CPU时,通常用户希望能有一个并行编程模型来充分发挥硬件的性能。圣彼得堡航空航天仪器仪表大学(St.PetersburgStateUniversityofAerospaceInstrumentation)的研究人员正致力于这项技术,他们主要研究任务级和进程级的并行处理,同时利用Visa(一种采用AGP模型的交互、图形化并行编程语言)开发了一系列“异步发生过程”模型。
飞利浦研发机构PhilipsResearch也在对多处理器SoC的并行编程模型进行研究。由于目前的编程模型过于面向底层,飞利浦正着重于开发它称为“任务传输层”(tasktransactionlevel)的“以接口为中心”的设计。
随着所有公司进军具有知识产权、工具和服务的SoC市场,会有越来越多的编程模型不断出现。近来一些非常引人注目的多处理器SoC已经进入市场,如IBM的Cell处理器。MPSoC的几个分组会议中都介绍了Cell的硬件设计,但没有关于编程模型的更多信息。
如果你是一个SoC设计小组的成员,那么在下一个设计总结会上你就可能会提出一个敏感的问题——毫无疑问,我们能够在SoC中设计多处理器、存储器、外围接口和快速总线结构,但我们的用户真的能够对这些SoC实现编程吗?他们能充分发挥我们所设计的这些硬件的全部性能吗?
作者:RichardGoering(rgoering@cmp.com),EETimes设计自动化专栏编辑主任
《多处理SoC需新思维,业界展示SoC编程改进模型》
日前参与多处理器系统级芯片(MPSoC)研讨会的人士表示,必须改进编程模型以充分利用下一代SoC。
编程模型定义了一种SoC平台开发的方式。它采用抽象来隐藏潜在的执行平台。传统上,编程模型来自于软件世界,但MPSoC主办者兼法国TIMA实验室系统级综合部负责人AhmedJerraya表示,现在业界需要面向多处理SoC的新思维。
“当我们开发硬件/软件接口时,我们需要不同的编程模型。硬件和软件都必须抽象化。”Jerraya表示。此外,他指出,编程模型还必须抽象定义硬件/软件接口的CPU。当今的编译通常忽略了CPU环境。
因此,面向SoC的并行编程模型必须变得更为直截了当,以说明CPU结构组织、总线功能模型接口、指令集仿真、交易级模型,以及最终的RTL硬件。“硬件/软件接口协同设计需要统一的代表硬件、软件和CPU的模型。”Jerraya表示。
TIMA的系统级综合部FredericPetrot展示了一种可能的解决方案。他表示,TIMA正在开发一种“基于服务的元件模型”,能处理硬件和软件。这种模型有两部分——接口,包含服务声明和数据结构,以及参数化的实现。目标是实现一个单一模型,能从抽象规范到RTL描述系统设计,并自动生成wrappers和交易器(transactor)。
丹麦技术大学信息及数学建模教授JanMadsen则展示了一种称为ARTS的系统级建模框架。“总体思路是愿意尝试新事物,如新处理器和新时序安排。”
ARTS是基于SystemC的仿真环境,能检测所选特定的实时操作系统、处理器、网络拓扑及任务映射的因果关系。他演示了该模型如何检测处理器利用、总线冲突及存储文件。
加拿大蒙特利尔Ecole理工学院教授GabrielaNicolescu则畅谈了包含MEMS、光学或电生物元件的异类SoC规范和验证要求。
关键是构建减少物理原型的模拟并仿真。一种可能性是扩展语言,例如Verilog-AMS,另外一种可能性是创建允许不同类模型计算的环境,如伯克莱大学的Ptolemy。Nicolescu表示,其大学拥有一个SystemC/Simulink环境的工作原型,能够提供集成连续及离散项目的仿真。
俄国圣彼得堡航空仪器州立大学高性能计算机和网络技术学院院长YuriySheynin认为,多处理器SoC编程需要高效的语言、方法论和工具。他领导的小组开发出一套用于并行计算的“异步成长流程(AGP)”图形化模型,基于异步分配控制,能描述所有流程的互动。该小组还开发出了一种并行编程语言Visa,特别针对AGP模型使用。
www.linuxsir.org/bbs/printthread.php?t=74857
GUI编程-同步化的编程模型
JDBC以一种错误的编程模型来强制开发者用Java代码来处理关系思想。
Hibernate并不是全新的,它的ORM思想在这个领域很普遍,但它提供的编程模型比其他任何竞争者都容易使用、都来的直接,它为ORM的使用提供了更加易用、廉价的途径。
下一代的J2EE规范将拥抱更简单的POJO编程模型,就像Spring和Hibernate做的一样。
一个基于struts,hibernate的项目,业务逻辑很难搞定。尽管对于这种问题,J2EE规范提出了解决方案(EJB),但仍旧没有一个合适的编程模型。(spring很好地解决了这个问题)
相关文章推荐
- Qt 模型视图编程基础 model/view programming
- Qt的模型/视图编程方法(model/view programming)
- 模型/视图编程(Model/View Programming)
- Qt的模型/视图编程方法(model/view programming)
- .NET编程模型体会(Programming Model/Paradigm)
- QT Basic 014 Model/View programming (模型、视图编程)
- .NET编程模型体会(Programming Model/Paradigm)
- Oracle Announces Oracle Cloud Resource Model Application Programming Interface
- IAP(In Application Programming)在线应用编程
- 异步编程模型(APM,Asynchronous Programming Model)
- QtCreator 模块/视图编程( 一) 模型类,自定义模型QStringListModel,QStandardItemModel,QFileSystemModel,QSqlQueryModel,
- [网络编程]_[Socket]_[Socket 阻塞模式(blocking)下的 I/O模型(model) 之 Select 模型(model)初探]
- WebApplication编程模型与WebSite编程模型
- openHAB 体系结构与编程模型 (2) --- Web Application Servlet 架构
- API(Application Programming Interface)应用程序编程接口
- PatentTips - Heterogeneous Parallel Primitives Programming Model
- [网络编程]_[Socket]_[Socket 阻塞模式(blocking)下的 I/O模型(model) 之 Select 模型(model)初探]
- Scalaz(54)- scalaz-stream: 函数式多线程编程模式-Free Streaming Programming Model
- Asynchronous Programming Model (APM)异步编程模型
- The Linux Programming Interface 04 File I/O: The Universal I/O Model 通用I/O模型