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

2014-4-2 16:30 992 12 12 分类: FPGA/CPLD 文集: OpenRisc-1200

三:数据和指令高速缓存(IcacheDcache

OR1200数据高速缓存与指令缓存的机制是一样的,仅一数据缓存为例。OR1200数据高速缓存的默认配置是8KB的一条通道直接映射的数据高速缓存,它允许CPU核心快速访问数据。数据高速缓存也可以配置为1248KB的形式,其特征如下:

数据缓存独立于指令缓存(哈弗结构)

数据缓存采用a least-recently used (LRU)替代算法实现

缓存目录采用物理寻址方式,物理地址的tag存储在缓存的目录中

支持连续写操作

靠写特殊的目的寄存器可实现无效和非使能

缓存采用16bytes突发长度进行组织,突发组织被描述为关键字先操作,关键字同时写入cache中,然后是请求单元(requesting 单元),因而由于cache fill延时的原因会使stalls最小化。Cache cache tagscache line替换功能提供存储单元。

     数据cache和外部接口是紧密耦合的,能够允许有效的访问系统存储控制器。

数据cache利用32bits的且连接至LSU单元的接口为GPRs单元提供数据,LSU单元同所有的逻辑用于计算有效地址,控制数据输入输出数据cache时的边界对齐,维持存取操作的秩序。数据缓存的写操作可以是整字节的,半字的或全字的。

数据缓存按照512 sets of one line进行组织的,每行包括16字节,状态位及地址标记。每行包含4个来自存储器的连续字节,这些字节在存储器中是边界对齐的。这样cache line也与页边界对齐。

RTL级代码分析:(data cache instruction cache

20140402162837170001.png 20140402162843635002.png

RTL层级也可以看出data cache instruction cache的机制是一样的,包括缓存状态机模块(or1200_dc_fsm),缓存数据存储模块(or1200_dc_ram),缓存标签存储器(or1200_dc_tag),它们与其它模块的连接关系可以由下图示意出:

20140402162847467003.png

模块图:

20140402162853682004.png

20140402162900285005.png

OR1200数据缓冲存储器由两部分构成,即OR1200_dc_tag模块和OR1200_dc_ram模块。Dcache的默认大小为8KBdcache512行,每行由16个字节,1个标志地址标签有效的状态位和19位的地址标签组成。因此缓存行内的偏移为4,可由虚拟地址的低4位得到。OR1200_dc_ram的默认大小为2048*32位,OR1200_dc_tag的默认大小为512*20位,他们都是同步ramDache采用直接映射方式,因此虚拟地址的【12:4】位为缓存的行地址,可访问512行,虚拟地址的【31:13】共19位,可作为地址标签。

这两个模块其实就是ram,模型可以如下:

20140402162906676006.png

OR1200_dc_fsm模块

状态切换图如下:

20140402162914568007.png

20140402162922670008.png

20140402162930850009.png

20140402162937891010.png

 

文章评论0条评论)

登录后参与讨论
相关推荐阅读
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,甚至更低的电压。目前的低功耗设计主要从芯片...
我要评论
0
12
1
2
3
4
5
6
7
8
9
0
关闭 热点推荐上一条 /4 下一条