复用多种软CPUIP核.DOC

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
复用多种软CPUIP核

基于SOPC技术构建FPGA上的B/S系统 郑安兵(桂林工学院)转载请注明出处 摘要:本文论述了使用FPGA器件,利用SOPC嵌入式开发技术,复用多种软CPU IP核,使用片内总线代替机群内的计算机网络,移植现有的软件开发方法,在片上构建包含WEB 服务器、业务逻辑应用服务器、数据库服务器的B/S系统的可行性及实现方法,并给出一个具体实现方案。 引言 B/S系统一直是基于大中小型服务器、台式机等通用计算机而设计的。为具体单个的B/S系统从芯片开始量身订做一整套计算机软硬件系统,使其安全、可靠、高效地运行,长期以来被认为是一件不现实的事情。 近年来, FPGA器件和SOPC嵌入式开发技术的迅速发展为多处理器片上系统的实现提供了灵活的解决方案。利用可配置处理器软核复用的多处理器片上系统,借以实现B/S系统软硬件一体化,已经成为一个值得研究的课题。 本文探讨使用FPGA器件,利用SOPC技术,复用多种软CPU IP核,移植现有的编程模式,在片上构建一个多处理器B/S系统的可行性及实现方法。这种系统不仅效率、处理事务的吞吐率与现有的以通用机为主的B/S系统相当,且其安全性、可靠性更好,成本更为低廉。 可行性 当前的典型B/S系统一般分为三层:数据访问层、业务逻辑层、表示层,另外,其后台一般都需要DBMS为其提供数据库服务。系统所需的机器主要有:数据库服务器、业务逻辑应用服务器、Web服务器,三种服务器软件可以部署在一台机器上,也可部署在多台机器上,各机器之间用计算机网络互连,目前流行的部署方式属于后者。 在B/S系统中,一个用户从浏览器输入URL到一桩事务处理完毕基本上要经历如下几个过程: Web服务器解释页面脚本 在遇到业务逻辑运算时调用业务逻辑层API 业务逻辑应用程序进行业务逻辑运算 业务逻辑应用程序在遇到数据库操作时向DBMS传递SQL语句 DBMS操作数据库,并返回结果给应用逻辑应用程序 应用逻辑应用程序运行完毕时返回结果给Web服务器 Web服务器生成结果HTML页面返回给客户端 其中2-6的过程可能会在一个页面里处理多次,3-5的过程可能会在一次业务逻辑运算时处理多次。因此,通常情况下,负荷最重的是DBMS,其次是业务逻辑应用子系统,最后才是Web服务子系统。其中,DBMS还要受限于磁盘读写速度瓶颈。 当多个用户请求页面时,不同架构的B/S系统执行时间是不同的。为了简便测算系统的执行时间,先假设每次页面请求时,Web服务器、应用服务器、数据库服务器线性执行。 设单个页面在Web服务器上运行的时间为TW,在应用服务器上运行的时间为TA,在数据库服务器上运行的时间为TD,通信开销为TC。则,串行执行一个页面处理所需的时间为: (1) 流水执行时,负荷最重的DBMS显然是瓶颈,当n个页面处理流水执行时,流水线的执行时间为: (2) 由(2)式可以看出,当n非常大,且页面处理过程线性流水执行时,TW、TA、TC可以忽略不计,系统的吞吐率只与TD有关,即,数据库服务器吞吐率实际上决定了整个B/S系统的吞吐率。 数据库服务器上CPU的运行时间与磁盘读写时间相比,相差约为六个数量级,即使采用了磁盘阵列、缓存管理、数据预处理等先进技术加快磁盘访问速度,也至少相差三到四个数量级,因此,可以这样认为,在B/S系统中, CPU的运算速度并不是最重要的因素。 现在在FPGA上可运行的软CPU核中,Altera的Nios II 可以达到200DMIPS,Xilinx的MicroBlaze可以达到166DMIPS,OpenCores的OpenRisc 1200性能介于ARM7到ARM9之间,在主频300MHz时,性能可以达到300DMIPS,虽然与主流通用机CPU相比,它们的速度有很大差距,但在B/S系统中,这种差别已经为页面处理过程的磁盘读写瓶颈所淡化。 Nios II软核的耗费约600到3000个逻辑单元,MicroBlaze 与Nios II的耗费相当,OpenRisc 1200耗费约为4000个逻辑单元,而一片Altera的高端Stratix II FPGA器件EP2S180有179400个逻辑单元,一片Xilinx的高端Virtex-4型 LX系列 FPGA器件最大有89088个Slice。在其上复用多个CPU软核(至少三个以上)构成多处理器硬件系统已经不再是非常困难的事情。 OpenCores已经在OpenRisc 1200上移植了Linux内核版本2.6.15(当前最新版本为2.6.24),并提供GCC 4.0的交叉编译工具链;Altera 为其Nios II提供了uCos II 开发插件,同时,Microtronix也为其提供了uClinux内

文档评论(0)

youbika + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档