当前位置: 首页 > 专利查询>南京大学专利>正文

一种矩阵转置存储控制器制造技术

技术编号:7464392 阅读:280 留言:0更新日期:2012-06-26 19:16
本发明专利技术公开了一种矩阵转置存储控制器,该矩阵转置存储控制器包括处理器、总线、直接内存存取、网络接口、存储单元、中断和程序存储器;处理器通过总线与直接内存存取、网络接口,中断、程序存储器进行数据传输;存储单元通过直接内存存取与总线及网络接口连接;网络接口与总线连接,并通过片上网络与外部存储器连接。本发明专利技术选择SRAM作为存储器,控制简单,读写操作容易,在处理器的控制下,能充分发挥SRAM作为存储器的优势。本发明专利技术提供了三种转置模式;使用处理器控制完成矩阵转置,能灵活地选择转置方法,适用于对各种大小的矩阵进行转置,并具有很好的扩展性。同时,本发明专利技术使用DMA作为数据通道,可提供高速的数据传输速率。本发明专利技术适用于片上网络中。

【技术实现步骤摘要】

本专利技术涉及一种应用于矩阵转置的转置存储控制器,尤其是一种适合对多种尺寸的矩阵,采用软硬件协同设计的方法能灵活选择转置算法进行矩阵转置的转置存储控制器;具体地说,是一种适用于片上网络的矩阵转置存储控制器
技术介绍
矩阵数据结构常用工程计算、图像和信号处理等各种领域,常常涉及到矩阵转置这种数据处理过程。而矩阵转置的速度对数据处理效率有很大的影响。对于大规模矩阵转置,如果直接将矩阵读入高速缓存中,必须频繁访问外部存储器,这样会极大降低转置效率。所以一般采用硬件来完成矩阵转置。使用SDRAM做存储器的时候,由于SDRAM的列读写速率很低,这导致每次访问内存都消耗大量的时间。而使用SRAM集成规模小、价格高。如何正确的选择存储器并且使它们能高效的完成矩阵转置是矩阵转置常见的一个问题。目前,实现矩阵转置主要使用可编程逻辑器件控制存储单元实现转置存储,或者采用微控制器控制实现转置存储;前者实现转置控制较为复杂,而后者数据传输速率往往较低。合理的利用这两种方法共同完成矩阵转置,可以很好地融合两种方法的优点。同时, 目前实现矩阵转置,主要是在确定了矩阵大小和存储器大小后,再合理地选择转置方法,所以这些矩阵转置控制器是对固定大小的矩阵来实现矩阵转置的,而不能对多种尺寸的矩阵灵活的选择转置算法来实现矩阵转置。片上网络(Network-on-chip,NoC)是片上系统的一种设计方法。基于NoC的系统能很好地适应在现在复杂片上系统设计中常使用的是全局异步局部同步的时钟机制。NoC 方法带来了一种全新的片上通信方法,显著改善了传统总线式系统的性能。它被认为是未来集成工艺下多核技术发展的必然方向。
技术实现思路
本专利技术的目的是提供一种矩阵转置存储控制器,该矩阵转置存储控制器采用软硬件协同的方法,能对多种尺寸的矩阵,灵活的选择转置方法进行转置,并且能提供高速的数据传输速率。本专利技术的目的是通过以下技术方案来实现的一种矩阵转置存储控制器,其特征在于该矩阵转置存储控制器包括处理器、总线、直接内存存取(DMA)、网络接口(Ni)、存储单元(SRAM)、中断和程序存储器;处理器通过总线与直接内存存取、网络接口,中断、程序存储器进行数据传输;存储单元通过直接内存存取与总线及网络接口连接;网络接口与总线连接,并通过片上网络与外部存储器连接。本专利技术中,控制器数据的传输有数据输入与数据输出两种过程,它们是在处理器的控制下进行的;数据输入时,在处理器的控制下,DMA完成对数据地址的配置,NI在处理器的控制下,从外部存储器读取数据,根据DMA产生的地址,将数据存入SRAM ;数据读入SRAM后,处理器配置DMA,产生地址,将数据从SRAM读出,完成对读入矩阵的转置,然后将数据通过NI输出。矩阵转置由矩阵大小与存储单元的存储空间大小的关系决定,分三种模式,分别为1)SRAM可以存储一个矩阵所有的数据;转置控制器将数据读入,处理器配置DMA,按照行方向将矩阵存入SRAM,然后按照列方向,将矩阵读出,完成矩阵的转置;2)矩阵的数据大于SRAM的存储空间;转置控制器按照矩阵行数据方向读满SRAM,接着配置外部存储器的地址,按列方向,将读入的数据依次输出到外部存储器对应的地址;然后读取原始矩阵下一部分数据到SRAM,并且输出到外部存储器对应的地址中;重复以上过程,直到矩阵所有的数据输出,完成矩阵的转置;3)矩阵的数据远大于SRAM的存储空间;可以将矩阵分块,每块矩阵的大小正好等于 SRAM的存储空间大小;分行将块矩阵的数据全部读入到SRAM中;与第二种转置模式相同, 转置控制器按列方向输出SRAM数据到外部存储器中;接着读取第二块矩阵,将数据按行方向写入SRAM,按列方向读出,输出到外部存储器中;重复以上过程,直到矩阵所有的数据输出,完成矩阵的转置。以上对矩阵的转置有三种算法,对转置算法的选择,是由处理器控制DMA完成选择的。处理器配置的主要内容包括矩阵行数,矩阵列数,矩阵转置算法选择。转置模式3)中,需要确定分块矩阵的行数H和列数P。它们是由数据输入时建立数据通道所用时间Tl,与数据输出建立数据通道所用时间T2决定的。矩阵转置建立数据通道所用总时间为H*T1+P*T2,由于H*P是固定的,等于SRAM的存储空间,所以利用不等式x+y>2^可以计算得出H与P的值。本专利技术是一种使用SRAM作为存储器,使用微控制器与可编程逻辑器件共同实现的转置存储。选择SRAM作为存储器,控制简单,读写操作容易,不存在列读写速度比行读写速度慢的问题,在处理器的控制下,能充分发挥SRAM作为存储器的优势。本专利技术使用处理器控制完成矩阵转置,所以能灵活的选择转置方法,适用于对各种大小的矩阵进行转置,并且具有很好的扩展性。同时,本专利技术使用DMA作为数据通道,能提供高速的数据传输速率。本专利技术可以通过网络接口挂接在片上网络路由器上,如图1所示。通过片上网络与外部存储器建立数据通道,进行数据传输。本专利技术是一种适用于片上网络的矩阵转置存储控制器。附图说明图1是本专利技术挂接在片上网络结构上的示意图; 图2是本专利技术的结构示意图3是本专利技术转置存储控制器的数据流图; 图4是转置功能实现图; 图5是转置算法一原理图; 图6是转置算法二原理图; 图7是转置算法二的数据输出流程图; 图8是转置算法三原理图。具体实施例方式下面结合附图和实施例对本专利技术作进一步说明。一种适用于片上网络的矩阵转置存储控制器,如图2所示,该矩阵转置存储控制器包括处理器1,总线2,直接内存存取(DMA) 3,网络接口(NI)4,SRAM5,中断6,程序存储器 7;该转置控制器采用总线结构,嵌入式处理器1通过总线协议与DMA 3、NI 4,中断6,程序存储器7等功能模块进行通讯;其中SRAM 5通过DMA 3与其他模块相连;NI 4在连接到总线2的同时,一端直接与DMA 3相连,另一端与外部存储器连接。该转置存储控制器使用 ARM核作为处理器,选用AHB总线协议。图3是本专利技术转置存储控制器的数据流图;数据的传输有数据输入与数据输出两种过程,它们是在处理器的控制下进行的。数据输入的时候,在ARM核的控制下,DMA完成对数据地址的配置,NI模块在ARM的配置控制下,从外部存储器读取数据,根据DMA产生的地址,将数据存入SRAM ;数据读入SRAM以后,ARM核配置DMA,产生地址,将数据从SRAM读出,完成对读入矩阵的转置,然后将数据通过NI输出。通过对数据流的介绍,可以看出矩阵的转置主要是,在处理器的控制下,DMA产生地址,实现对SRAM地址的控制,完成矩阵的转置,图4是该转置功能实现图。数据输入时, DMA产生地址,将数据存入相应SRAM相应的地址中。这个过程中,SRAM的地址是从地址0 开始依次累加。数据输出的时候,由ARM控制DMA产生地址,从SRAM中读取相应的数据,完成矩阵的转置。所以,矩阵转置的控制主要是在数据输出时,由DMA产生的地址控制的。矩阵转置分三种模式,是由矩阵大小与SRAM的存储空间大小的关系决定的,选择 SRAM大小为64Mbit,每个数据为64bit,这样SRAM可以存储IM数据,矩阵的行数为C,列数为R。矩阵转置分三种模式,是由矩阵大小决定的,分别为1)SRAM可以存储一个矩阵所有的数据4K*2本文档来自技高网
...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:李丽潘红兵郑艳丽王佳文沙金何书专郑维山
申请(专利权)人:南京大学
类型:发明
国别省市:

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

1
相关领域技术