原创 方舟CPU体系结构及其嵌入式SOC

2009-9-20 09:34 11706 6 6 分类: MCU/ 嵌入式
作者:张丽杰, 吕少中    时间:2006-12-01    来源: 
 
       摘要:在我国的军事和国防领域,国产CPU的使用势在必行。从CPU设计和使用的角度,对目前已有一定应用的国产CPU方舟(Arca)的体系结构和基于Arca2嵌入式芯片进行了研究和探讨。Arca2 CPU是一款32位的微处理器,他不但具有RISC体系结构的典型特征,同时具有一套全新的高性能、低功耗的指令体系结构。介绍了基于Arca2 CPU的高集成度SOC Arca210,Arca210集成了嵌入式产品所需的大量外设以及PC架构南北桥中的大部分功能,为嵌入式系统的设计提供了一个很好的选择。
关键词:方舟;SOC;嵌入式;Arca2

1引言

随着后PC时代的到来,嵌入式系统已被广泛用于航空、航天、军事、测控、医学等众多领域。嵌入式系统包括硬件和软件2部分,硬件包括处理器/微处理器、存储器、I/O端口、外设器件等,软件包括操作系统软件和应用程序。其中,嵌入式微处理器是嵌入式系统的核心。嵌入式微处理器又称为片上系统(SystemOnChip,SOC),与传统计算机中的CPU相比,嵌入式微处理器更加专业化,具有体积小、重量轻、成本低、可靠性高的优点。SOC芯片中通常包括一定容量的存储器(ROM,RAM,FLASH)、总线接口、常用设备控制器、外设器件等,从而大大减少了基于SOC的系统的体积和复杂性。方舟科技是我国第一家嵌入式CPU提供商,2001年发布的Arca1 CPU,是我国历史上第一款实用的32位RISC微处理器,2002年发布的Arca2CPU,在技术指标上已达到ARM和MIPS的水平。目前,方舟微处理器已应用于网络终端、金融税务专用机、VPN和网关等设备。在国防和军事领域,国产CPU的选取和使用更为重要,因此,本文研究探讨了方舟CPU的体系结构及其嵌入式SOC,对系统设计时CPU的选型具有借鉴意义。

2方舟体系结构

体系结构是微处理器的灵魂,作为一种RISC体系结构的微处理器,方舟微处理器不但具有RISC体系结构的典型特征,同时他又是一套具有自主知识产权的全新的、高性能、低功耗的指令体系结构。

2.1数据的类型与组织
方舟支持的数据类型有Byte(8b)、Halfword(16b)、Word(32b)三种。仅有load/store指令可以操作8位和16位数据类型,并且当数据装入时,load/store指令可自动进行零扩展和符号扩展;而其余指令只能操作32位数据。数据在寄存器中的组织方式如图1所示,0位存放数据的最低位,而31位、15位和7位分别存放32位数据、16位数据和8位数据的最高位。
1871.jpg
图1寄存器中数据组织方式

与ARM体系结构类似,方舟体系中存储器的数据组织方法也采用big-endian和little-endian两种格式。每个字单元包含4个字节单元和2个半字单元,1个半字单元包含2个字节单元,但在字单元中,不同的存储格式字节的排列顺序不一样,如图2所示。通常,采用littleendian格式。
1872.jpg
图2两种存储系统字节排列排序

2.2处理器模式
方舟处理器提供2种运行模式:用户模式(usermode)和特权模式(supervisormode)。两种模式的切换受软件控制,仅在有异常发生时才使处理器从用户模式切换到特权模式,同时仅有RTE指令可以使处理器从特权模式切换到用户模式。大部分应用程序在用户模式下运行。当处理器处于用户模式时,所执行的程序不但无法访问一些已保护的系统资源,而且也不能改变模式,否则会导致异常发生。因此,需要设计一个合适的操作系统来控制系统资源的使用。当处理器处于特权模式时,应用程序不但可以访问所有的系统资源,而且能够自由地进行模式切换,所以系统控制指令也仅能在特权模式下使用。与其他微处理器相比,方舟精炼的特权模式模型,可以大大简化操作系统等系统软件的编写、移植和维护。

2.3寄存器结构
方舟有38个寄存器,其中包括32个通用寄存器(R0~R31),5个控制寄存器及1个程序计数器(PC)。当处理器处于特权模式时,所有寄存器均是可见的(可访问);而在用户模式下,仅有通用寄存器和程序计数器可见。32个通用寄存器中存放指令操作数和地址信息。R0是只读寄存器,其值为0。因为在某些应用中0是普遍采用的常数,所以R0可用作给任意寄存器操作数置零。此外,R0还可用作目的寄存器以消除一条指令的运行结果。

PC寄存器中存放正在执行的指令地址。当指令执行时,PC的内容将自动更新,而有异常发生时,PC中的值将变成一个指向异常处理的入口地址指针,以便系统进行自动的异常处理。对于软件来说,PC是不可见的,但是可使用J指令跟踪PC的值。

5个控制寄存器分别为状态寄存器(SR)、非调试异常发生时的PC备份寄存器(EPC)和SR备份寄存器(ESR)、调试异常发生时的PC备份寄存器(DPC)和SR备份寄存器(DSR)。其中,SR为方舟的主控制寄存器,他包含当前处理器的操作模式、中断使能位以及其他的状态和控制信息。当发生异常时,SR的值将自动存储在DSR或ESR中。

2.4异常
在当前程序流正常执行的过程中,中断、复位、存储器访问错误、TLB丢失等均会导致异常发生。当方舟CPU核实一个异常请求时,他将暂停正常的运行,并保存当前的处理器状态,然后进入异常处理程序。在异常处理服务之后,方舟CPU再恢复正常的运行。

2.5指令集
方舟体系结构中有78条指令,分为10大类:直接装入指令、跳转指令、分支指令、算术指令、比较指令、逻辑指令、移位指令、装入/存储指令、多功能指令、系统指令。这些指令主要采用6种指令格式,如图3所示。指令由操作符域和操作数域组成。操作符分为主操作符OP1和次操作符OP2,每条指令包括一个主操作符OP1,而不一定包含次操作符OP2。操作数分为寄存器操作数和立即数操作数两种,两种操作数编码的长度是不一样的。
1873.jpg
图3指令格式

方舟指令集中不但凝聚了传统RISC结构的精髓,而且其指令功能和指令编码格式有利于高效率、低成本指令流水线的实现,同时有利于低功耗的实现和优化。

3基于Arca2的SOC Arca210

Arca210是一款基于32位RISC微处理器Arca2的高集成度SOC,其中集成了嵌入式产品所需的大量外设以及PC架构南北桥中的大部分功能,系统结构如图4所示。
1874.jpg
图4Arca210系统结构图

3.1Arca2 CPU核
Arca2 CPU核包括CPU核、存储器管理单元、高速缓存以及总线接口单元。处理器采用哈佛存储器结构,其中包括16kB的指令缓存和16kB的数据缓存。对于数据缓存,写回缓冲器中的16个字的数据用于减少由于总线冲突而导致的功能丢失。指令地址和数据地址通过独立的指令TLB和数据TLB进行转换。嵌入核中的JTAG接口调试模块可以辅助软件进行内核调试。PMON模块用于监视CPU核的功能,例如时钟数、执行的指令数、已用的缓存数等。

Arca2 CPU核的特点可以总结如下:
(1)5级流水线,330~400MHz主频
(2)内存管理支持4kB,16kB,1MB和16MB的可变页面大小。
(3)提供32路指令TLB和数据TLB。
(4)8kB数据缓存和8kB指令缓存。
(5)采用循环轮换替换算法,支持表项锁存。
(6)支持异步中断和异步引导。
(7)通过JTAG接口与主机相连。

3.2OCS总线设备和OCP总线设备
对于要求高性能存储器带宽的设备均连至片上系统(OCS)总线,高速的OCS总线可以满足CPU与高速外设间的高带宽需求,因此这些设备又统称为OCS总线设备。OCS总线设备包括存储器控制(SDRAM,SRAM,FLASH,ROM)、同步DRAM控制器、32位PCI总线接口控制器、DMA控制器、USB111控制器和以太网控制器。不需要高带宽连接的设备均连至片上外设OCP总线,这些设备又统称为OCP总线设备。OCP总线设备包括时钟产生单元、电源控制单元、中断控制器、时钟定时器、看门狗时钟、通用I/O、UART、智能卡控制器、红外串行接口(IrDA)、I2C接口、AC97控制器。

由于片上集成了常用的外设模块,使得基于Arca210的嵌入式系统体积小、功耗低、设计周期短、复杂度小,从而降低了设计风险,便于设计者使用,为产品尽快上市提供了可靠的保证。

Arca210的特点可以总结如下:
(1)核心:Arca2CPU。
(2)大量的OCS总线外设和OCP总线外设。
(3)供电:I/O采用313V供电,内部采用118V供电。
(4)功耗:在400MHz主频下运行时的最大功耗是360mW。
(5)工艺:采用0118LmCMOS工艺。
(6)封装:采用先进的PBGA封装方式,304管脚,面积是23mm×23mm。

4结语

Arca2 CPU的速度、功耗、工艺、体系结构、性能等技术指标已达到ARM和MIPS的水平;与另一款国产CPU龙芯相比,龙芯1号的主频最高仅达266MHz,功耗低于400mW,同时龙芯中仅集成了PC架构中的南桥功能,所以如果设计基于龙芯1号的嵌入式系统还需另外设计或采用芯片实现北桥功能。此外,方舟科技移植、增强了GNU编译开发环境,使其对方舟CPU体系结构提供全面的支持,其中包括编译工具、调试工具、运行库、实用工具等,特别是其支持图形界面的调试工具GDB,是龙芯调试工具中仅有的下载-运行模式无法比拟的。因此,我国嵌入式产品的设计与开发,尤其是军用国防产品的设计与开发,方舟SOC产品将是一个很好的选择。

文章评论0条评论)

登录后参与讨论
我要评论
0
6
关闭 站长推荐上一条 /2 下一条