



前文提及OpenRISC项目,其包括OpenRISC 1000、OpenRISC 2000两个子项目。OpenRISC 1000项目产生了OpenRISC 1000架构,OR1200就是符合OpenRISC 1000架构的处理器。本小节将简单介绍OpenRISC 1000架构。
图1.1 OpenRISC项目
OpenRISC 1000架构是一个开放的架构,其目标是使用在中、高性能的网络和嵌入式计算环境,因此强调通过多种措施改善性能,同时力求简单、低功耗。OpenRISC 1000架构的特点如下。
● 免费、开源的架构
● 32位或64位线性地址空间
● 简单、长度统一的指令,有基本指令集及扩展指令
◇基本指令集(ORBIS32/64,OpenRISC Basic Instruction Set):指令长32位,数据宽度为32或64位
◇向量/DSP扩展指令(ORVDX64,OpenRISC Vector/DSP eXtension):指令长32 位,数据宽度为8、16、32或64位
◇浮点扩展指令(ORFPX32/64,OpenRISC Floating-Point eXtension):指令长32 位,数据宽度为32或64位
● 简单的内存寻址方式
● 大多数指令中有两个源寄存器(或者一个寄存器、一个常数),一个目的寄存器
● 32个通用寄存器,也可以有多组影子寄存器
● 支持分支延迟
● 可以采用Harvard结构,即分开的指令、数据缓存,分开的指令、数据MMU,也可以不分开,即采用Stanford结构
● 部分功能既可以通过硬件实现也可以使用软件辅助实现
● 对异常(Exception)情况进行了简单区分
● 支持快速上下文切换
OR1200处理器中实现了OpenRISC 1000架构的部分,而不是全部,作为一本剖析OR1200的书,笔者本着够用就行的原则不对OpenRISC 1000着过多的笔墨,只对OR1200做详细介绍。