欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

基于單端口sram的零耗時矩陣轉置實現(xiàn)方法

文檔序號:10511875閱讀:298來源:國知局
基于單端口sram的零耗時矩陣轉置實現(xiàn)方法
【專利摘要】本發(fā)明公開了一種基于單端口SRAM的零耗時矩陣轉置實現(xiàn)方法,包括:基于單端口SRAM來存儲矩陣數(shù)據(jù);當開啟設置在單端口SRAM前端的矩陣轉置開關后,所要訪問的目標地址:第n行第m列,通過矩陣轉置進行行列地址交叉轉換為:第m行第n列;所述單端口SRAM將轉換后的地址作為目標地址,并輸出該地址中存放的數(shù)據(jù)。本發(fā)明的方案將矩陣轉置的時間復雜度直接降為0,不需要耗費任何時間即可實現(xiàn)矩陣的轉置,與傳統(tǒng)的軟件實現(xiàn)方式相比較,能極大的節(jié)省時間開銷。
【專利說明】
基于單端口 SRAM的零耗時矩陣轉置實現(xiàn)方法
技術領域
[0001] 本發(fā)明涉及矩陣數(shù)據(jù)處理技術領域,尤其涉及一種基于單端口 SRAM的零耗時矩陣 轉置實現(xiàn)方法。
【背景技術】
[0002] 在計算機數(shù)據(jù)處理過程中,經常會遇到矩陣轉置的數(shù)學問題,傳統(tǒng)CPU在處理此類 問題時將會消耗大量的資源,目前最快的軟件轉置算法時間復雜度也在O(mXn),其中m、n 為矩陣的列數(shù)和行數(shù),對于一個1000X1000的矩陣來說,其時間復雜度為1〇6量級。
[0003] 傳統(tǒng)方案中只能夠通過軟件算法來實現(xiàn)矩陣轉置,由于軟件無法直接操控底層硬 件(尤其是存儲單元的地址),并且矩陣數(shù)據(jù)只能以固定順序存儲在內存空間;因此,傳統(tǒng)的 軟件實現(xiàn)轉置算法時只能按以下步驟實現(xiàn):申請與原矩陣A[M][N]容量相同大小的一塊空 間B[N] [M];執(zhí)行兩層for循環(huán),依次將A矩陣中的所有元素復制到B矩陣的對應位置上:
[0004] for( i = 0 ; i<M; i++)
[0005] for( j = 0; j<N; j++)
[0006] B[ j][i]=A[i][ j];
[0007] 即,軟件實現(xiàn)算法中,矩陣有多少元素,就要執(zhí)行多少次賦值操作,從而消耗大量 時間。

【發(fā)明內容】

[0008] 本發(fā)明的目的是提供一種基于單端口SRAM的零耗時矩陣轉置實現(xiàn)方法,極大的節(jié) 省了時間開銷。
[0009] 本發(fā)明的目的是通過以下技術方案實現(xiàn)的:
[0010] -種基于單端口 SRAM的零耗時矩陣轉置實現(xiàn)方法,包括:
[0011]基于單端口 SRAM來存儲矩陣數(shù)據(jù);
[0012] 當開啟設置在單端口 SRAM前端的矩陣轉置開關后,所要訪問的目標地址:第η行第 m列,通過矩陣轉置進行行列地址交叉轉換為:第m行第η列;
[0013] 所述單端口 SRAM將轉換后的地址作為目標地址,并輸出該地址中存放的數(shù)據(jù)。
[0014] 進一步的,所述單端口SRAM中所存儲矩陣數(shù)據(jù)的煒度為N行第Μ列;M2 m,N2 η;
[0015] 所述單端口 SRAM的容量為2a+b;其中,a為滿足2a 2 Μ的最小正整數(shù);b為滿足2b 2 Ν的 最小正整數(shù)。
[0016] 由上述本發(fā)明提供的技術方案可以看出,通過直接對底層硬件進行操作,當需要 進行矩陣轉置時,直接對存儲矩陣的單端口 SRAM的地址進行操作,將矩陣轉置的時間復雜 度直接降為〇,不需要耗費任何時間即可實現(xiàn)矩陣的轉置,與傳統(tǒng)的軟件實現(xiàn)方式相比較, 能極大的節(jié)省時間開銷。
【附圖說明】
[0017] 為了更清楚地說明本發(fā)明實施例的技術方案,下面將對實施例描述中所需要使用 的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本 領域的普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他 附圖。
[0018] 圖1為本發(fā)明實施例提供的單端口 SRAM的存儲矩陣示意圖;
[0019] 圖2為本發(fā)明實施例提供的轉置之前的圖像示意圖;
[0020] 圖3為本發(fā)明實施例提供的轉置之后的圖像示意圖;
[0021] 圖4為本發(fā)明實施例提供的基于單端口 SRAM的零耗時矩陣轉置實現(xiàn)方法的示意 圖。
【具體實施方式】
[0022] 下面結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整 地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒?發(fā)明的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施 例,都屬于本發(fā)明的保護范圍。
[0023] 本發(fā)明實施例提供一種基于單端口 SRAM的零耗時矩陣轉置實現(xiàn)方法,其主要包 括:
[0024]基于單端口 SRAM來存儲矩陣數(shù)據(jù);
[0025] 當開啟設置在單端口 SRAM前端的矩陣轉置開關后,所要訪問的目標地址:第η行第 m列,通過矩陣轉置進行行列地址交叉轉換為:第m行第η列;
[0026] 所述單端口 SRAM將轉換后的地址作為目標地址,并輸出該地址中存放的數(shù)據(jù)。 [0027]如圖1所示,所述單端口SRAM中所存儲矩陣數(shù)據(jù)的煒度為N行第Μ列;M2 m,N2 η;
[0028] 所述單端口 SRAM的容量為2a+b;其中,a為滿足2a 2 Μ的最小正整數(shù);b為滿足2b 2 Ν的 最小正整數(shù);
[0029] 列地址通過sram的0~(a_l)位進行尋址;
[0030] 行地址通過sram的a~(a+b-Ι)位進行尋址;
[0031]本發(fā)明實施例中,當開啟矩陣轉置開關后,其輸出相應的使能信號,從而觸發(fā)相應 的行列地址交叉轉換;當不需要進行矩陣轉置時,關閉矩陣轉置開關,即可訪問單端口SRAM 中的原始矩陣。
[0032] 本發(fā)明實施例的上述方案可以應用與各種需要對存儲數(shù)據(jù)矩陣進行轉置的場景。 示例性的,在視頻顯示中,有一部分的顯示區(qū)域的圖像如圖2所示,若用戶需要將其變?yōu)閳D3 所示圖像,即需要將圖2所示圖像的數(shù)據(jù)矩陣進行轉置。按照傳統(tǒng)方法,需要將圖2所示圖像 的矩陣中的數(shù)據(jù)依次取出,并重新寫入新的位置;而用本發(fā)明所提供的方法,不需要耗費取 出再重新寫入的時間,而是通過矩陣轉置直接在兩種圖像狀態(tài)之間轉換。
[0033] 此外,上述示例中只是為說明應用場景而舉的一個例子,其將兩種圖像狀態(tài)進行 轉換的原理與圖像處理軟件直接翻轉圖像并不相同;實際上在數(shù)學計算中,有很多地方需 要用到矩陣的轉置。為了便于理解,下面結合一具體示例做進一步說明。
[0034]本示例中,應用場景為FPGA或ASIC等專用集成電路,可直接對底層硬件進行操作, 因此只需對存儲矩陣的單端口 SRAM的地址進行操作即可。
[0035] 當關閉矩陣轉置開關時,將矩陣數(shù)據(jù)寫入單端口sram,比如向目標地址:{addr[a+ b_l :a],addr[a-l :0]}寫入數(shù)據(jù)。
[0036] 如圖4所示,將矩陣轉置開關打開后,其輸出相應的使能信號,從而觸發(fā)相應的行 列地址交叉轉換;此時,再次訪問目標地址:{addr[a+b_l :a],addr[a_l :0]},將進行行列地 址交叉轉換,地址變?yōu)椋簕addr[a_l :0],addr[a+b_l :a]},即實際讀取的數(shù)據(jù)為單端口 sram 中{addr[a_l :0],addr[a+b_l :a]}存放的數(shù)據(jù)。
[0037] 以3X3矩陣為例進行說明,2維矩陣在計算機存儲器內是按一維數(shù)組的形式排列 的:
[0039]該矩陣在存儲器中的存儲順序如下:
[0041]轉置后的矩陣為:
[0043]轉置矩陣在存儲器中的存儲順序如下:
[0045] 傳統(tǒng)方法中,為了計算轉置矩陣,需要一一變換矩陣中元素的存儲位置。可以看 出,上述變換需要進行約次操作(η為矩陣維度)。而采用本發(fā)明的方案可以顯著降低這 種操作成本。
[0046] 本發(fā)明實施例的上述方案中,通過直接對底層硬件進行操作,當需要進行矩陣轉 置時,直接對存儲矩陣的單端口 SRAM的地址進行操作,將矩陣轉置的時間復雜度直接降為 〇,不需要耗費任何時間即可實現(xiàn)矩陣的轉置,與傳統(tǒng)的軟件實現(xiàn)方式相比較,能極大的節(jié) 省時間開銷。
[0047]以上所述,僅為本發(fā)明較佳的【具體實施方式】,但本發(fā)明的保護范圍并不局限于此, 任何熟悉本技術領域的技術人員在本發(fā)明披露的技術范圍內,可輕易想到的變化或替換, 都應涵蓋在本發(fā)明的保護范圍之內。因此,本發(fā)明的保護范圍應該以權利要求書的保護范 圍為準。
【主權項】
1. 一種基于單端口 SRAM的零耗時矩陣轉置實現(xiàn)方法,其特征在于,包括: 基于單端口 SRAM來存儲矩陣數(shù)據(jù); 當開啟設置在單端口 SRAM前端的矩陣轉置開關后,所要訪問的目標地址:第η行第m列, 通過矩陣轉置進行行列地址交叉轉換為:第m行第η列; 所述單端口 SRAM將轉換后的地址作為目標地址,并輸出該地址中存放的數(shù)據(jù)。2. 根據(jù)權利要求1所述的方法,其特征在于,所述單端口 SRAM中所存儲矩陣數(shù)據(jù)的煒度 為N行第Μ列;M>m,N>n; 所述單端口 SRAM的容量為2a+b;其中,a為滿足2a 2 Μ的最小正整數(shù);b為滿足2b 2 N的最小 正整數(shù)。
【文檔編號】G06F9/345GK105867882SQ201610184959
【公開日】2016年8月17日
【申請日】2016年3月24日
【發(fā)明人】盧建良
【申請人】中國科學技術大學
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
同德县| 苏尼特左旗| 江安县| 启东市| 白沙| 长海县| 临湘市| 鄂托克旗| 新宁县| 定安县| 鹰潭市| 富平县| 永靖县| 民和| 兴宁市| 社会| 定安县| 洪雅县| 万荣县| 长垣县| 沧源| 积石山| 巫溪县| 浏阳市| 庆云县| 海口市| 从化市| 湘西| 江山市| 克拉玛依市| 南木林县| 江达县| 西华县| 抚宁县| 昌宁县| 兴海县| 鹤山市| 诸城市| 铅山县| 邯郸市| 襄樊市|