双MicroBlaze软核处理器的SOPC系统设计※
2013-09-21李金凤施慧彬杨定定
李金凤,施慧彬,杨定定
(南京航空航天大学 计算机科学与技术学院,南京 210016)
引 言
随着时代的发展,单核片上可编程系统SOPC(System On a Programmable Chip)解决复杂问题的能力与处理速度已很难满足用户的需求,面向多处理器SOPC系统的设计成为片上系统发展的必然趋势[1]。具有高密度、大容量逻辑的FPGA(Field Programmable Gate Array)的出现使得高性能片上多处理器的设计成为现实。目前,片上多核系统的设计已有一定发展,但在处理器间通信和中断方面仍需进一步的研究。本文在处理器间通信和中断控制方面进行了深入的研究。
MicroBlaze是一个被优化过的可以在Xilinx公司FPGA中运行的软核处理器,可以和其他外设IP核一起完成可编程系统芯片的设计。它具有运行速度快、占用资源少、可配置性强等优点,广泛应用于通信、高端消费市场等领域[2]。MicroBlaze处理器采用 RISC(Reduced Instruction Set Computer)指令集结构和哈佛存储结构,指令、数据总线位宽均为32位。本文MicroBlaze处理器采用面积优化,流水线分为3级,即取指、译码和执行,减少了硬件开销[3]。
1 系统设计
1.1 双MicroBlaze SOPC系统结构
双MicroBlaze SOPC系统结构图如图1所示。从图1中可知,整个SOPC系统可以分为两个处理器子系统。系统采用两个PLB(Processor Local Bus)v46总线作为系统的通信结构,所有的模块都是直接或间接地连接到这两个总线上[4]。两个总线上均挂有用于处理器间通信和同步的核,即 Mailbox和Mutex,因此两个处理器并不是完全独立的。表1列出了SOPC系统包含的主要模块。
表1中的BRAM有两种用途:一是作为单个处理器的私有存储器用来存储指令和数据,它通过存储器局部总线LMB与处理器相连;……
