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

   2023-12-16 互联网1370
核心提示:  1引言  随着后PC时代的到来,嵌入式系统已被广泛用于航空、航天、军事、测控、医学等众多领域。嵌入式系统包括硬件和软件2

  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位数据的最高位。

  图1寄存器中数据组织方式

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

  图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。操作数分为寄存器操作数和立即数操作数两种,两种操作数编码的长度是不一样的。

  图3指令格式

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

  3 基于Arca2的SOC Arca210

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

  图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评论 0
 
更多>同类资讯
推荐图文
推荐资讯
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  隐私政策  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  RSS订阅