针对流处理的存储访问与调度装置制造方法及图纸

技术编号:2839286 阅读:170 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种针对流处理的存储访问与调度装置,它包括由地址生成层和访存序列重排序层组成的两条访存流通道以及DDR控制器层,访存流通道在流控制器的控制下可同时进行访存操作;每个访存流通道中的地址生成层用来将记录为单位的流分解成以单个访存元素为序列的流,访存序列重排序层将地址生成层产生出来的离散地址序列重新进行整理排列,使其尽可能的组织成连续的访存地址序列,所述DDR控制器层内设有存储调度操作机构,用来将发送给DDR控制层的访存地址请求分解成一系列访存操作,对访存序列进行重新调度。本发明专利技术能够使硬件具有简单、面积小、功耗低等优点、同时为上层存储层次结构提供充足的访存带宽以获得较高访存性能。

【技术实现步骤摘要】

本专利技术主要涉及到微处理器设计中的存储访问
,特指一种针对流处理的存储访问与调度装置
技术介绍
流处理器结构是一类针对流应用能高效处理的SIMD类型的处理器结构。流应用对带宽有很高要求,其数据有量大、持续流入且较少重用等特点。流处理器核心处理部件为一系列并行工作的计算群。其处理单位为流(stream),流由一些有序同构的记录(record)组成,组成记录的则是一系列相关的数据元素(element),其中一个数据元素为一个字,记录内部的数据元素在存储器中是连续存放的。存储控制器是流处理器中至关重要的部件,主要负责从流控制器和主机接收访存请求,生成访存地址,有效控制外部DRAM数据读取等工作,是流处理器和主处理器与外部存储器的共同接口部件。其为用户提供了三条可用的访存通道两个流访问通道和一个标量处理机访问通道。两个流访问通道能够支持两个访存流并行工作,通过访存序列重排序、存储调度等技术能够大幅度提高存储控制器的数据传输效率,为上层单元提供充足的片外访存带宽;标量处理机访问通道为流处理器和标量处理机之间的数据通讯提供了高带宽的批量传输通道。
技术实现思路
本专利技术要解决的技术问题就在于针对现有技术存在的技术问题,本专利技术提供一种能够使硬件具有简单、面积小、功耗低等优点、同时为上层存储层次结构提供充足的访存带宽以获得较高访存性能的针对流处理的存储访问与调度装置。为解决上述技术问题,本专利技术提出的解决方案为一种针对流处理的存储访问与调度装置,其特征在于它包括由地址生成层和访存序列重排序层组成的两条访存流通道以及DDR控制器层,访存流通道在流控制器的控制下可同时进行访存操作;每个访存流通道中的地址生成层用来将记录为单位的流分解成以单个访存元素为序列的流,访存序列重排序层将地址生成层产生出来的离散地址序列重新进行整理排列,使其尽可能的组织成连续的访存地址序列,所述DDR控制器层内设有存储调度操作机构,用来将发送给DDR控制层的访存地址请求分解成一系列访存操作,对访存序列进行重新调度。所述存储调度机构包括体缓冲、预充管理器、行仲裁器、列仲裁器和地址仲裁器,其中体缓冲是一个动态优先级FIFO并使用队列结构,根据调度策略,优先级无法在访存请求入队时确定,是动态变化的;预充管理器用来在体缓冲里不存在任何对该bank活跃行的访问的时候,对该bank进行预充,预充管理器中保留有该bank当前活跃行的信息,它查找bank对应的队列中的各种请求,如果发现没有对当前活跃的行的请求,那么就对这个bank进行预充,地址仲裁器根据保存在它中间的当前活跃行的信息,将地址信息发到DRAM中,地址信息中包含有预充启动信息,预充完成之后该bank即处于空闲(idle)状态,可以进行行激活操作;行仲裁器用来在bank被预充之后,最早进入该bank的访问所请求的行将被激活,行仲裁器应当知道当前bank处于什么状态,当一个bank被预充之后,没有活跃的行,行仲裁器就会选择一个行,并将其激活,激活后该bank就处于活跃(active)状态;列仲裁器在最早对活跃行进行请求的访问的列操作将被执行;地址仲裁器预充和行激活一般都早于列访问,当有多个行激活可以选择的时候,地址仲裁器会选择最早被访问的那个行进行激活。所述DDR控制器层内设有软件可见的采样时刻寄存器和同步时钟寄存器,通过设置采样时刻寄存器确定在哪一拍进行数据采样,通过设置同步时钟寄存器选择一种相位的时钟作为同步时钟对输入数据进行同步,采样时刻寄存器和同步时钟寄存器都为软件可见的全局编址寄存器。与现有技术相比,本专利技术的优点就在于1、本专利技术为访存提供了两条访存通道、三种访存模式,为用户编程作了灵活有效的硬件支持;2、本专利技术使用简洁有效的结构调度优化访存序列,有效地提高了访存效率;3、本专利技术采用配置非常灵活的软件硬件结合方式对DDR SDRAM读接口逻辑中的数据采样,降低了芯片面积和功耗;4、本专利技术为流处理器和主机之间通信提供了快速有效的通道。附图说明图1是存储控制系统在整个流处理器中的位置示意图;图2是存储控制器两条独立访存通道的示意图;图3是DDR控制器中存储调度结构的示意图;图4是DDR控制器读接口逻辑中数据采样逻辑的结构示意图。具体实施例方式本专利技术的一种针对流处理的存储访问与调度装置,其特征在于它包括由地址生成层和访存序列重排序层组成的两条访存流通道以及DDR控制器层,访存流通道在流控制器的控制下可同时进行访存操作;每个访存流通道中的地址生成层用来将记录为单位的流分解成以单个访存元素为序列的流,访存序列重排序层将地址生成层产生出来的离散地址序列重新进行整理排列,使其尽可能的组织成连续的访存地址序列,所述DDR控制器层内设有存储调度操作机构,用来将发送给DDR控制层的访存地址请求分解成一系列访存操作,对访存序列进行重新调度。存储调度机构包括体缓冲、预充管理器、行仲裁器、列仲裁器和地址仲裁器,其中体缓冲是一个动态优先级FIFO并使用队列结构,根据调度策略,优先级无法在访存请求入队时确定,是动态变化的;预充管理器用来在体缓冲里不存在任何对该bank活跃行的访问的时候,对该bank进行预充,预充管理器中保留有该bank当前活跃行的信息,它查找bank对应的队列中的各种请求,如果发现没有对当前活跃的行的请求,那么就对这个bank进行预充,地址仲裁器根据保存在它中间的当前活跃行的信息,将地址信息发到DRAM中,地址信息中包含有预充启动信息,预充完成之后该bank即处于空闲(idle)状态,可以进行行激活操作;行仲裁器用来在bank被预充之后,最早进入该bank的访问所请求的行将被激活,行仲裁器应当知道当前bank处于什么状态,当一个bank被预充之后,没有活跃的行,行仲裁器就会选择一个行,并将其激活,激活后该bank就处于活跃(active)状态;列仲裁器在最早对活跃行进行请求的访问的列操作将被执行;地址仲裁器预充和行激活一般都早于列访问,当有多个行激活可以选择的时候,地址仲裁器会选择最早被访问的那个行进行激活。DDR控制器层内设有软件可见的采样时刻寄存器和同步时钟寄存器,通过设置采样时刻寄存器确定在哪一拍进行数据采样,通过设置同步时钟寄存器选择一种相位的时钟作为同步时钟对输入数据进行同步,采样时刻寄存器和同步时钟寄存器都为软件可见的全局编址寄存器。其中,本专利技术的提供两条软件可见的访存流通道,支持三种访存模式,根据通道状态软件选择空闲通道进行流访存操作,流通道生成的访存地址序列通过访存地址重排技术进行了访存地址连续性的初步整合,然后再通过存储调度技术进一步重排使得访存地址序列更适合DDR存储器的访存特性后进行存储器访问。每个访存流通道都含有一个包括三种适合流处理的地址生成方式的地址产生器作为地址产生层、一套访存序列重排序机制作为访存序列重排序层。在访存请求进入外部DDR存储器之前还有一套存储调度结构对访存序列进行重新调度,对片外DRAM数据采用了采样点可配置的采样技术。地址产生器负责将记录为单位的流分解成以单个访存元素为序列的流。根据访存模式的不同,流记录的分解方式和过程也各有不同。由于流处理器的处理对象是经过特殊组织的流,与普通微处理器的处理对象为单个数据元素不同,因此许多微处理器上的访存方式不本文档来自技高网...

【技术保护点】
一种针对流处理的存储访问与调度装置,其特征在于:它包括由地址生成层和访存序列重排序层组成的两条访存流通道以及DDR控制器层,访存流通道在流控制器的控制下可同时进行访存操作;每个访存流通道中的地址生成层用来将记录为单位的流分解成以单个访存元素为序列的流,访存序列重排序层将地址生成层产生出来的离散地址序列重新进行整理排列,使其尽可能的组织成连续的访存地址序列,所述DDR控制器层内设有存储调度操作机构,用来将发送给DDR控制层的访存地址请求分解成一系列访存操作,对访存序列进行重新调度。

【技术特征摘要】

【专利技术属性】
技术研发人员:蒋江杨学军张民选邢座程陈海燕高军李晋文衣晓飞张明穆长富阳柳曾献君马驰远李勇倪晓强唐遇星张承义
申请(专利权)人:中国人民解放军国防科学技术大学
类型:发明
国别省市:43[中国|湖南]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1