LEON微处理器综述
摘要:随着集成电路设计水平和IC制造工艺水平的快速发展,在单芯片上集成微电子应用产品所需的所有功能的系统芯片(SoC)得到广泛应用。系统芯片(SoC)开发的核心是微处理器IP核,实际上多数公司和研究机构不具备开发自己的处理器的能力,较为普遍的做法是购买已成产品的微处理器IP核,但是这需要支付为数不少的使用许可费用。还有另一种选择,即使用开放源代码的微处理器IP核。本文介绍了LEON系列微处理器的软核架构、在SoC设计中的优势以及片上总线。 关键词:LEON;可配置性;可移植性;AMBA 1LEON软核架构介绍 LEON系列微处理器是欧洲航天局下属研究机构(ESA)所开发的基于SPARC V8架构的32位精简指令集计算机微处理器(Reduced Instruction Set Computer,RISC),包括Leon、Leon2、Leon3。LEON系列处理器软核均以RTL级VHDL源代码形式免费公布,使用者可以在GNUL GPL (Library General Public License )下使用和研究其源代码。 LEON软核是一个与SPARC V8兼容的整数处理单元IU(Integer Unit),LEON2是5级流水线,LEON3是7级流水线。LEON3微处理器具有以下特点: ●七级流水线结构; ●具有硬件乘法/除法和MAC功能; ●独立的指令和数据Cache(哈佛结构); ●可根据需求灵活配置Cache的容量; ●片上总线使用AMBA2.0规范,支持APB和AHB标准; ●具备一些片上常用外设(如UART、中断控制、I/O接口、实时时钟、看门狗等)。LEON3微处理器软核的可配置体系架构如图1所示。 除了关键的微处理器外,外围模块也是制约系统性能的重要因素,在本文主要介绍以下几个模块: IU单元LEON3的整数单元完全执行SPARC V8标准,包括硬件乘法和除法指令。寄存器窗口默认为8个,在SPARC标准(2-32)的界限内,可根据具体需求进行配置。七级流水线内含分立的指令和数据缓存接口,属于哈佛结构。LEON3有一个可配置性优异的缓存系统,由一个分立的指令和数据缓存组成。指令缓存在线回填时使用流来最小化回填延迟。数据缓存使用直写式(write-through)策略来执行双字的写缓冲。 FPU和协处理器LEON3提供浮点单元的接口和一个自定义的协处理器。有两个可用的FPU控制器,一个是用于高性能的GRFPU,另一个是用于Meiko FPU。只要不存在数据或者资源的依赖,浮点处理器、协处理器以及整数单元的并行执行并不会阻碍操作。 内存管理单元MMU内存管理单元MMU(memory management unit)遵循所有的SPARC V8的规范,实现了32位虚拟地址和36位物理存储器的映射。MMU可配置多达64个完全关联TLB入口,用于访问正在运行的硬件和软件代码,方便后期调试。 2LEON在SoC芯片开发中的优势 LEON微处理器具有良好的综合性能,使用Dhrystone 2.1测试平台对其进行测试时,其运算速度可以达到0.85 MIPs/MHz。 LEON软核最突出的优势是其良好的可配置性和可移植性,以及遵循GPL许可证协议的开源性。 开源性 基于GPL许可证协议,LEON非容错版本软核IP提供VHDL源代码,仅是容错版本的LEON软核需要商业授权。源代码公开使研究者和开发者从根本上研究软核的细节从而定制满足具体应用的软核成为可能。 可配置性 LEON软核有一套非常丰富的接口和运算单元IP核库,用户可以根据自己的需要对LEON软核的绝大多数模块进行配置,以达到性能、功耗和面积的平衡和优化。软核IU可以配置流水线深度、地址和数据高速缓存;外围设备可以挂载在AMBA总线上;而硬件加速单元可以根据需求集成。 可移植性 LEON软核通过层次分明的VHDL模型实现。通过VHDL中特定的配置接口,LEON核的关键参数(例如修改Cache的大小和组织方式,乘法器的生成,速度、芯片面积的调整以及容错方案的选择)都能够灵活的设置和移植。 3LEON的总线系统 SoC设计往往涉及到IP核的可移植性和设计复用。这些IP可能是自己开发的,也有可能是来自第三方的。要把这些不同的IP核组成一个SoC系统,就需要这些IP核具有标准的接口,使用片上总线(OCB)就是解决这一问题的有效途径。片上总线是基于以下原因而出现的:首先在SoC设计中,确实需要一个好的、可靠的SoC集成方法;其次,在大型的系统设计中需要有一个公用的接口规范来方便结构化设计,最后它还受到传统的微机总线,如PCI、VME、ISA等系统集成方法的影响。作为SOC集成系统的互连结构,总线可以解决各个功能模块间的相互通信问题,包括数据格式、通信联络、时序、协议等方面,从而为设计人员免去相当大的精力去考虑如何将自己设计的功能模块和其它功能模块连接起来,使得IP模块集成起来更加方便。 目前已形成较有影响力的三种总线标准为:IBM公司的CoreConnect,ARM公司的AMBA(Advanced Microcontroller Bus Architecture)和SilicoreCorp公司的Wishbone。LEON系列微处理器采用的是AMBA总线结构,本文详细介绍AMBA总线。 AMBA(先进微控制器总线结构)提供了一种特殊的机制可以将RISC处理器和IP核与外设集成,定义了找组总线:AHB(AMBA高性能总线),ASB(AMBA系统总线)和APB(AMBA外设总线)。一个典型的基于AMBA总线的系统框图如图2所示。 AMBA总线是一种层次化的总线结构,如图3所示。从图中可以看出,一个由AMBA总线构成的片上系统可以归纳为以下三个部分: 1、总线主设备:任何一个功能IP核都可以成为AMBA总线架构中的AHB主设备,只要其提供AHB高速总线所需要的主设备接口。而对于APB来说,它的主设备只有一个,即AHB- APB总线桥。 2、总线从设备:相应的总线也存在从设备,任何一个功能IP核也可以成为AMBA总线架构中的从设备,同样的IP核也需提供AMBA总线架构(包括高速总线AHB,低速外设总线APB)所需的从设备接口。 3、总线互连模块:这是整个AMBA总线架构的核心部分,它负责完成数据、地址和控制信号的选择传输以及仲裁主设备分时占有总线的任务。 AHB 是一个高性能、高时钟频率的系统总线。AHB作为高性能系统的中枢总线,它支持处理器、片外存储器与低功耗外设的高性能连接。同时,AHB的设计使得系统集成和自动测试技术的设计流程都更加方便、有效。AHB地址和数据总线独立,最多支持16个主模块和16个从模块,所有从模块都采用地址映射。AHB主要包括以下一些特性:单个时钟边沿操作;非三态的实现方式;支持突发传输;支持分段传输;支持多个主控制器;可配置32位 ~ 128位总线宽度;支持字节、半字和字的传输。 APB是为低功耗的外围设备而设计的,AMBA APB为支持外围设备而进行了降低功耗以及接口复杂性的优化设计,并且APB通过连接桥(Bridge)可以与任何版本的系统总线连接。APB只有一个主模块即Bridge模块,最多也可以支持16个外设,如通用IO接口,UART等。APB最重要的特点是最小功耗和易于使用,还包括以下主要特性:低性能、低功率;单控制器;非常简单,只有4个控制信号(PRESETn、PSELx、PENABLE和PWRITE);有32位地址空间;多达32位数据总线;分开读和写数据总线等。 4结束语 本文介绍了LEON微处理器软核的体系架构及IU、FPU等单元,论述了LEON微处理器自身的特点以及在SoC芯片开发中的优势;说明了片上总线对SoC芯片的重要性,具体说明了LEON微处理器所应用的AMBA总线结构及各自的工作方式、特点。 参考文献 [1] 孔璐,吴武臣,侯立刚,朱超. 基于Leon3的SoC平台设计与SPI嵌入. 微电子学与计算机, 2010年3月 [2] 李林,张晓琳,杨希. 基于LEON开源软核的SoC平台构建与测试. 单片机与嵌入式系统的应用. 2007年第1期 [3] 张学慧,张晓林,张展,张向阳.基于一种微处理器的SOC设计.遥测遥控.2009年1月 第30卷第1期 [4] 李乙成,周祖成,陈尚松,SoC片上总线技术的研究. Semiconductor Technology Vol.28 No.235 [5] 张庆利,王进祥,叶以正,朱昌盛. AMBA片内总线结构的设计.微处理机 2002年5月第2期) [6] 黄荣志,AMBA总线的在集成电路中的研究.中文核心期刊《微计算机信息》. 2007年第23卷第5-2期 [7]The SPARC Architecture Manual Version 8 Revision SAV080SI9308, SPARC International Inc. [8]JamesKim.Configurable Processors a New ErainChip Design[EB/OL].http://www.省略,[2005-12-27](2007-06-18).
本文为全文原貌 未安装PDF浏览器用户请先下载安装 原版全文