
基于microblaze同构多核系统及在soclib平台上的实现.pdf
70页上海交通大学 硕士学位论文 基于Microblaze同构多核系统及在Soclib平台上的实现 姓名:李剑阳 申请学位级别:硕士 专业:计算机系统结构 指导教师:付宇卓 20081201 基于 Microblaze 同构多核系统及在 Soclib 平台上的实现 基于 Microblaze 同构多核系统及在 Soclib 平台上的实现 摘 要 摘 要 本文研究的是通用的多核处理器体系结构首先完成在 Soclib 仿真 平台上的验证,然后将整个系统结构移植到 FPGA 开发板上本文设计 的多核系统是基于 Microblaze 软核,通过平台 FPGA 设计技术实现的 核间互连采用 OPB 总线,通过 OPB 总线的优先级设置来仲裁每个核对 总线的访问控制 每个核都有 IP 模块来记录编号, 在多核的启动过程中, 初始的代码装载只能加载到一个核上(主核) ,因此必须通过核号来区分 主核和从核另外,通过实现的硬件锁完成了对多核的启动和多核的同 步的控制最后将操作系统 Mutek 移植到该系统上,完成线程调度和任 务分配,本课题解决了多核的启动的这一难题,突破了单核处理器的瓶 颈,提高了系统的整体性能。
该系统结构具有良好的可扩展性,即可以增加内核的数量,也可以 替换核间的互连方式,而且由于有操作系统的调度,因此也是进行操作 系统的调度和任务划分的良好研究平台 本文对该系统结构进行了测试,除了 FFT 快速傅立叶变换这些测试 基准程序以外, 还利用了 MJPEG 视频解码程序对系统进行功能验证, 从 解码结果和最终得到的测试数据证明所实现的多核处理器是可靠的、高 效的 最后,本文认为在 FPGA 开发板上实现的该多核处理器系统是多核 领域研究的良好平台,据此可以进行有关多核内部结构、处理器整体结 构乃至包括内存及总线(互连)的系统级研究,具有一定的学术价值 关键词:关键词:多核,Microblaze,多线程,MJPEG,FFT DESIGN MULTI-CORE SYSTEM USING MICROBLAZE AND REALIZE ON THE SOCLIB ABSTRACT This paper’s research is on the general architecture of Multi-core processor. Firstly finish the validation on the Soclib simulation platform, then transplant the whole system to FPGA platform. This paper designs a multi-core system based on Microblaze software core, realizing it through the platform FPGA. Using OPB bus to connect and communicate, through OPB’s priority options to arbitrate each cores’ access. Each cores has its own IP module to record its ID number because in the process of Multi-cores’ startup, the initialized code only can be loaded to one core(main core). So we must distinguish the cores with cores’ ID number. In addition spin lock complete the multi-core’s booting and synchronizing. Finally transplant the operator system Mutek to this system to complete scheduling threads and assigning tasks. The system solves the problem of multi-core’s startup and increases the performance of the system. The system has a good expansibility. We can increase the number of cores and also take the place of method of interconnection. And with the operate system, the system is a good platform for the reseach of oprate system’s scheduling and task partition. The system is well tested. Besides the FFT and some benchmark, we use the MJPEG to validate the correction. The system is reliable and efficient with the result of decode and data of test. Finally we believe that the Multi-cores’ system realized on FPGA platform is a good platform to do research on Multi-cores. Research topics based on the platform include architecture of multi-core, overall architecture of a multi-core processor as well as the bus and memory channels. KEY WORDS: Multi-cores, Microblaze, Multi-threads, MJPEG, FFT 图片目录 图片目录 图1 Hydra处理器的结构框图.3 图2 Power5处理器结构.3 图3 TI OMAP1510硬件架构.5 图4 Soclib结构图.13 图5 cache块数据结构14 图6 基于Soclib的双核SPARC系统17 图7 Microblaze系统功能框图.19 图 8 OPB 总线工作时序图.20 图 9 FSL总线读写时序图20 图10 数据Cache结构图21 图11 指令Cache结构图22 图12 Soclib基本架构范例.23 图13 系统硬件框架图.27 图14 硬件锁状态转换图.28 图 15 PROC_ID 内部状态机30 图16带有总线侦听器的Cache实现方案.32 图17带有中断控制器的Cache实现方案.33 图18 带I-只cache的系统结构图.34 图19 从核启动流程图.35 图20 硬件锁的验证波形图.37 图 21 PROC_ID 的验证波形图37 图22 目标系统框架图.38 图23 elf文件生成流程图.41 图24 子线程在核间的调度过程.42 图 25 MJPEG 解码算法框图43 图 26 MJPEG 管道建立和线程划分44 图 27 MJPEG 解码结果输出界面图45 图 28 FFT 线程划分示意图46 图29 带Cache和只带指令Cache的系统结构对照图.49 表格目录 表格目录 表1 Soclib与Xilinx FPGA的资源对比24 表2 八核MB架构资源评估.25 表3 对Mutek移植的分析.26 表4 硬件锁状态转换表.28 表 5 PROC_ID 状态转换表31 表 6 Pthreads 数据类型.40 表 7 MJPEG 测试结果数据47 表8 1024点FFT测试结果数据.48 表9 1024点FFT (带I-cache) 测试结果数据.50 上海交通大学上海交通大学 学位论文原创性声明学位论文原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独 立进行研究工作所取得的成果。
除文中已经注明引用的内容外,本论 文不包含任何其他个人或集体已经发表或撰写过的作品成果 对本文 的研究做出重要贡献的个人和集体,均已在文中以明确方式标明本 人完全意识到本声明的法律结果由本人承担 学位论文作者签名:李剑阳 日期:2009 年 1 月 8 日 上海交通大学上海交通大学 学位论文版权使用授权书学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定, 同意学校保留并向国家有关部门或机构送交论文的复印件和电子版, 允许论文被查阅和借阅 本人授权上海交通大学可以将本学位论文的 全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫 描等复制手段保存和汇编本学位论文 保密保密□,在 年解密后适用本授权书 本学位论文属于 不保密√ 不保密√ (请在以上方框内打“√√” ) 学位论文作者签名:李剑阳 指导教师签名:付宇卓 日期:2009 年 1 月 8 日 日期:2009 年 1 月 8 日 第 1 页 1 绪论 1 绪论 1965 年,英特尔创始人 Gordon Moore 提出,半导体芯片中集成的晶体管的数量 每年将增加一倍,1975 年他又提出修正说,芯片上集成的晶体管数量将每两年翻一 番。
尽管这一技术进步的周期已经从最初预测的 12 个月延长到如今的近 18 个月, 但“摩尔定律”依然有效 “摩尔定律”推动着微电子技术不断向前发展,也推动着处理器的速度不断地攀 升这一切都得益于工艺的不断进步,例如1995年Pentium处理器推出时,采用的是 0.6微米的制造工艺,而现在90纳米的工艺已经被广泛采用然而,一方面晶体管不 可能无限地变小,另一方面,随着芯片的集成度和速度的不断提升,芯片厂商已经 为两大关键问题——功耗和散热而苦恼 针对以上情况,制造商正在制造散热效果更好、效率更高的多核处理器,而不是 像过去那样仅仅依靠单个芯片性能的提高多核处理器的运行速度不需要和最高速 的单核芯片一样快,但是多核处理器通过并行方式做更多的工作,从而使整体性能 得到提升 所谓同构,指的是芯片上集成的多个相同的微处理器核心,同构多核系统大多 数由通用的处理器组成,多个处理器执行相同或者类似的任务 1.1 多核技术背景介绍多核技术背景介绍 多年来微处理器性能的提升大都基于提高单个处理器主频或者指令级并行度进 行的但是随着单个处理器的发展,处理器结构越来越复杂[1],单处理器主频的提升 也变得举步维艰。
集成电路制造技术的快速发展使得芯片上的晶体管集成度不断提高, 为了有效的 利用这些晶体管,各种复杂的技术被加入到处理器中,这些技术大都着眼于提高单 个处理的指令级并行执行能力比如超标量技术就是让处理器在同一时钟周期中发 射多条指令,来提高并行执行能力例如 MIPS R10000,PowerPC,Sun UltraSparc 等但是这种技术依然没有摆脱传统处理器上应用程序的串行模式处理器要使用 各种复杂技术来从串行程序中找出可以并行执行的指令,比如乱序执行、猜测执行 和硬件分支预测等这种技术已经很难进一步地提高单处理器的并行能力,晶体管 数目的进一步增加也只能得到有限的性能提升转而一些新的低复杂度高并行度的 第 2 页 技术被提出,其中多核技术以及多线程技术是提高单处理器性能运用最为广泛的两 种技术借助多核多线程技术提升处理器性能成为如今处理器发展的主流最近著 名的处理器公司 Intel 就对它的产品路线图进行了大幅修改, 放弃了 4GHz Pentium 4 开发计划,转而推出多核处理器多核多线程技。
