原创 【博客大赛】OpenRisc-1200设计分析1

2014-3-27 09:44 1651 21 22 分类: FPGA/CPLD 文集: OpenRisc-1200

  OpenRisc 1200 设计分析

一:  OpenRSIC1200架构

20140327094331328001.png

OpenRisc1200由核心部分与外围部分组成,包括核心部分CPU/DSP,外围部分指令和数据高速缓存(IcacheDcache),数据和指令MMUMMUvirtual memory supportDMMU,IMMU),电源管理单元(PowerM),调试单元(Debug),定时器(Tick timer),PICProgrammable Interrupt Controller)中断控制器,及它们分别对应的接口。

指令单元(instruction unit):指令单元应用基本指令流水线从内存子系统取指令,把指令分发到各可用的执行单元,并保存状态历史记录确保可实现精确的异常模型和指令按次序执行。它还执行条件分支和非条件跳转指令。如果合适的执行单元可用,序列发生器能在每个时钟上分发一个有序的指令。执行单元必须辨别源数据是否可用,并确保没有其它指令公用一个目的寄存器。指令单元仅处理ORBIS32指令类,当前OR1200不支持ORFPX32/64ORVDX64指令类。

通用寄存器(GPRs)OR1200使用了32个通用32位寄存器。OR1000架构提供了寄存器文件的映像拷贝,用来在工作上下文之间快速切换,但目前OR1200没有提供。OR1200把通用寄存器文件作为两个带有3232位字能力同步双端口内存使用。

Load/Store单元(LSU):load/store单元在GPRscpu内部总线之间传输所有的数据,它被应用为一个独立的执行单元,安装在内存子系统中。如果有数据依赖性时,仅影响主流水线。

下面是LSU的主要特点:

所有的存取指令都采用硬件实现(也包括原子指令)

地址入口缓存(address entry buffer

流水线操作

快速存储访问时采用对其访问方式

当存取指令发送时,LSU会确定是否所有的操作都是可执行的,包括:

地址寄存操作(address register operand

源数据寄存操作(source data register operand for store instructions

目的数据寄存操作(destination data register operand for load instructions

整数执行流水线(Integer Execution Pipeline

核采用32位整数指令实现下面的指令:

算术指令

比较指令

逻辑指令

翻转和移位指令

大部分的整数指令可以在一个周期内执行完毕,更多详细的关于时序的内容请参考表TBD

MAC单元(MAC unit

MAC单元执行DSP MAC指令,MAC操作是32*32 with 48-bit的累加器,MAC单元全部采用流水线,在任意一个时钟都可以接受新的MAC操作。

系统单元(system unit

系统单元连接其它没有连接到指令和数据接口的CPU/DSP信号,它也实现了所有的系统目标寄存器(如管理员寄存器)。

异常(exception

在异常条件发生时会产生核异常,在OR1200核中的异常来源有以下:

外部中断请求

某些存储器访问情况

内部错误,如尝试执行不能执行的指令

系统调用

内部异常,如断点异常

异常操作对于软件用户而言是透明的,其它异常也采用同样的机制。当一个异常发生时,控制信号会发送到异常处理程序中,异常在管理模式中进行处理。

 

20140327094340157002.png

 

RTL级视图:

20140327094347975003.png

文章评论1条评论)

登录后参与讨论

用户437027 2015-11-25 15:40

你好!我也想做这块 我能不能和你交流一下
相关推荐阅读
sunyzz 2017-08-19 10:38
【博客大赛】AVALON总线介绍
1、AVALON总线简介Avalon总线是一种协议较为简单的片内总线,是ALTERA公司定义的片上互联总线,该总线可以将诸如NIOS II的CPU与其他外设连接起来,进而进行数据交换。AVALON总线...
sunyzz 2017-08-17 21:36
【博客大赛】不要轻易做职场滥好人
小A毕业于国内普通高校,但是他聪明,勤奋,能干,动手能力强,可是即便有这些优点也不能让小A轻轻松松找到一份好工作。这不,去年9月份小A好不容易找到一份工作,然后立马就入职了C公司,生怕C公司过两天不要...
sunyzz 2017-08-16 21:15
【博客大赛】IC设计低功耗技术四
五:工艺层面的降低功耗前面几节都是在讨论设计人员如何在前期阶段,中期阶段降低功耗,涉及到软件层面的,硬件层面的,这些技巧基本都是前辈总结出来的,或者根据理论推论出来的。但是到了后期,想降低功耗基本就要...
sunyzz 2017-08-14 22:35
【博客大赛】IC设计之低功耗技术三
四:RTL(寄存器传输)级的低功耗设计4.1 状态机的设计状态机编码中一般有两种方式,普通的二进制编码,特殊的格雷码,格雷码的特点是两个数据之间的跳变时只会有一个bit在toggle,显然比起多bit...
sunyzz 2017-08-12 16:51
【博客大赛】IC设计之低功耗技术二
三、架构层面的降低功耗系统的实现有很多的方式,每种方式对功耗的影响都不相同,本节主要介绍架构对功耗的影响。3.1 高级门口电路 在同步电路系统中,时钟占据了大部分的动态功耗,因而在一些情况下,如果有些...
sunyzz 2017-08-12 10:37
【博客大赛】IC 设计之低功耗技术一
一、前言随着计算机技术和微电子技术的迅速发展,嵌入式系统应用领域越来越广泛。节能是全球化的热潮,如计算机里的许多芯片过去用5V供电,现在用3.3V,1.8V,甚至更低的电压。目前的低功耗设计主要从芯片...
我要评论
1
21
关闭 站长推荐上一条 /2 下一条