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

一種應(yīng)用于圖像處理的Cache的硬件實(shí)現(xiàn)的制作方法

文檔序號:6357662閱讀:648來源:國知局
專利名稱:一種應(yīng)用于圖像處理的Cache的硬件實(shí)現(xiàn)的制作方法
技術(shù)領(lǐng)域
本發(fā)明主要涉及圖形處理芯片設(shè)計(jì)中的圖像處理領(lǐng)域,特指圖像二維插值算法中 的數(shù)據(jù)讀取。
背景技術(shù)
在圖像處理應(yīng)用中,經(jīng)常需要使用到二維線型插值算法,例如圖象處理應(yīng)用時(shí)的 圖像旋轉(zhuǎn)、3D圖像中的紋理貼圖等等,在這種應(yīng)用過程中,二位線型插值算法需要先從外存 中讀取相鄰的四個(gè)像素點(diǎn)的信息,然后將相鄰四個(gè)像素點(diǎn)的各項(xiàng)信息值按照某種特定的算 法進(jìn)行計(jì)算。上級運(yùn)算處理單元輸出的全部為像素坐標(biāo),存儲單元采用按塊組織存儲的方 式,即Cache中的每一個(gè)CacheLine中存儲的為以像素坐標(biāo)尋址的某一個(gè)矩形方陣塊, Cache Tag中存儲的為矩形方陣塊的橫縱坐標(biāo)(x,y)的高位部分,橫縱坐標(biāo)的低位部分為 CacheLine內(nèi)的地址尋址。

發(fā)明內(nèi)容
針對二維線型插值算法應(yīng)用過程中,如果采用普通的數(shù)據(jù)Cache,上層邏輯接口需 要連續(xù)發(fā)送四次讀數(shù)據(jù)請求以及讀數(shù)據(jù)坐標(biāo)(X,y),(χ+l, y),(χ, y+1),(χ+1, y+1)的現(xiàn)象, 這樣每執(zhí)行一次插值運(yùn)算需要至少四次讀數(shù)據(jù)Cache的周期的瓶頸,導(dǎo)致上層邏輯接口等 待周期過長效率低下,為了解決這一問題,本發(fā)明公開了一種專用的數(shù)據(jù)Cache,可以保證 只發(fā)送一個(gè)讀數(shù)據(jù)請求以及讀數(shù)據(jù)坐標(biāo)(X,y)的情況下,在Cache命中的基本條件下,一個(gè) 時(shí)鐘周期內(nèi)同時(shí)返回(X,y),(x+l,y),(χ, y+1), (χ+l, y+1)四組像素坐標(biāo)的數(shù)據(jù)信息,消除 數(shù)據(jù)Cache的等待瓶頸,大幅提高上層邏輯的整體運(yùn)行速度。與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)點(diǎn)就在于
1、邏輯簡單本發(fā)明提出的數(shù)據(jù)Cache實(shí)現(xiàn)結(jié)構(gòu)并未采用復(fù)雜的算法,都是比較利于 硬件實(shí)現(xiàn)的算法,組織結(jié)構(gòu)清晰明了 ;
2、性能優(yōu)良本發(fā)明提出的數(shù)據(jù)Cahce采用全流水的執(zhí)行坐標(biāo)比較,命中檢測,數(shù)據(jù)讀 取,數(shù)據(jù)發(fā)送的方法,在保證數(shù)據(jù)返回的效率的同時(shí),盡量的減少硬件資源;
3、使用方便本發(fā)明提出的數(shù)據(jù)Cache組織結(jié)構(gòu)清晰明了,具有很好的可重用性和可 移植性。


圖1本發(fā)明所述Cache內(nèi)部結(jié)構(gòu); 圖2像素坐標(biāo)跨塊分布;
圖3 Cache存儲體數(shù)據(jù)組織。
具體實(shí)施例方式以下將結(jié)合附圖和具體實(shí)施例對本發(fā)明做進(jìn)一步詳細(xì)說明。如圖1所示,本發(fā)明公開的數(shù)據(jù)Cache內(nèi)部結(jié)構(gòu)包括CacheTag,Cache命中判 定,Cache Line替換,Cache數(shù)據(jù)存儲體,數(shù)據(jù)分配和排序一共五個(gè)部分組成。本發(fā)明的數(shù) 據(jù)Cache是基于按坐標(biāo)尋址的,Tag中存儲的為像素的塊坐標(biāo),CacheTag中的每一項(xiàng)(即 CacheLine)都對應(yīng)Cache數(shù)據(jù)存儲體中一塊相應(yīng)的像素塊的信息,下面以CacheLine數(shù)據(jù) 體為4x4的塊為例進(jìn)一步說明,如圖2所示,A,B, C,D為相鄰的四個(gè)像素坐標(biāo)塊,每個(gè)塊包 含像素橫坐標(biāo)低兩位和縱坐標(biāo)低兩位的像素塊,一共16個(gè)像素,假定外存圖像像素橫縱坐 標(biāo)分別為(X[max 0],Y[max 0]),則CacheTag中存儲像素橫縱坐標(biāo)的高位部分(X[max 2], Y[max 2]),像素橫縱坐標(biāo)的低位部分(X[l 0],Y[1 0])作為CacheLine內(nèi)的 具體像素尋址。Cache命中判定。對于一個(gè)新的像素讀取請求,因數(shù)據(jù)返回端口需同時(shí)返回 (x,y),(x+l,y),(x, y+1), (x+1, y+1)四組像素坐標(biāo)的數(shù)據(jù)信息,命中判定邏輯需同時(shí) 判定四組坐標(biāo)是否都在數(shù)據(jù)Cache中。如圖2所示,相鄰的四個(gè)像素可能分布于一到四 個(gè)CacheLine中,模塊先必須確定像素點(diǎn)跨Line的問題。通過比較橫縱坐標(biāo)的低位部分 (X[1:0 ],Y[1: 0])可以實(shí)現(xiàn)這一算法,如果橫坐標(biāo)X[1 0]等于2’bll,則像素點(diǎn)將橫跨 左右相鄰兩個(gè)的CacheLine中(圖2中的b和f點(diǎn));如果像素點(diǎn)縱坐標(biāo)Y[1:0]等于2’bll, 則像素點(diǎn)將分布于上下相鄰的兩個(gè)CacheLine中(圖2中的c點(diǎn)和e點(diǎn));如果像素點(diǎn)的橫 縱坐標(biāo)X[1 0]和Y[1 0]都等于2’bll,這像素點(diǎn)將分布與相鄰的四個(gè)CacheLine中 (圖2中的d點(diǎn));否則該像素點(diǎn)坐標(biāo)相鄰的四個(gè)數(shù)據(jù)將同在一個(gè)CacheLine中(圖2中的a 點(diǎn))。完成像素點(diǎn)跨Line判定后,接著完成像素高位地址部分與CacheTag中存儲部分的比 較,如果像素點(diǎn)所在的塊都命中,則此時(shí)可認(rèn)為Cache命中,否則認(rèn)為Cache失效。CacheLine的裝載和替換,該模塊接收Cache失效的像素坐標(biāo)的高位地址,完成 坐標(biāo)到外存物理地址的轉(zhuǎn)化,從外存讀取相應(yīng)的塊并執(zhí)行相應(yīng)的替換算法,此處發(fā)明設(shè)計(jì) 中采用偽的先進(jìn)先出算法,其實(shí)現(xiàn)如下設(shè)定一初始裝載地址指針,如果發(fā)生CacheLine的 裝載和替換時(shí),首先檢測當(dāng)前裝載地址指針的CacheLine是否有效,如果該行非有效行則 替換此行;否則檢測該有效行裝載的數(shù)據(jù)是否為當(dāng)前待裝載數(shù)據(jù)塊臨近的數(shù)據(jù)塊,如果屬 于臨近的數(shù)據(jù)塊,則檢測裝載地址指針的下一個(gè)CacheLine,連續(xù)檢測3個(gè)CacheLine,即可 大幅的避免Cache塊替換產(chǎn)生沖突發(fā)生的概率;一旦找到裝載的CacheLine地址,則將待裝 載數(shù)據(jù)裝入Cache的這一個(gè)Line中,裝載地址指針指向數(shù)據(jù)裝載行的下一行。Cache存儲體的組織。Cache的數(shù)據(jù)存儲體通常都比較大,考慮面積和功耗,設(shè)計(jì) 中采用四個(gè)單端口的RAM并聯(lián)實(shí)現(xiàn),如圖3所示,對于一個(gè)X[1:0],Y[1:0]的虹4的數(shù)據(jù) 塊矩陣來說,發(fā)明設(shè)計(jì)中將其按相鄰坐標(biāo)的不同拆分存放到四個(gè)不同的RAM中。這樣可以 保證外部訪問的每一個(gè)像素坐標(biāo),所需要的相鄰坐標(biāo)的四個(gè)像素分別存在四個(gè)RAM中,相 互獨(dú)立。對于一個(gè)命中的訪問請求,每個(gè)RAM將各自返回自己坐標(biāo)地址對應(yīng)的像素,盡可能 的減小了 RAM的端口總數(shù)。Cache數(shù)據(jù)分配和排序,該模塊完成存儲體送出的四個(gè)的數(shù)據(jù)的排序,按照客戶 接口要求的順序重新組織四個(gè)數(shù)據(jù)。
權(quán)利要求
1.Cahche以坐標(biāo)尋址和分塊組織,設(shè)計(jì)中將需要訪存的數(shù)據(jù),以數(shù)據(jù)的坐標(biāo)分為矩形 塊,每個(gè)數(shù)據(jù)塊對應(yīng)Cache中的Cacheline,CacheTag中存儲矩形數(shù)據(jù)塊的高位坐標(biāo)。
2.Cache命中判定算法,檢測訪問的像素橫縱坐標(biāo)的最低幾位,是否為像素矩形塊的邊 界坐標(biāo),如果坐標(biāo)為矩形的塊的右或者下邊界則,認(rèn)為相鄰四個(gè)像素存在于多個(gè)Cache行 中。
3.偽的先進(jìn)先出算法,設(shè)定一初始裝載地址指針,如果發(fā)生CacheLine的裝載和替換 時(shí),首先檢測當(dāng)前裝載地址指針的CacheLine是否有效,如果該行非有效行則替換此行;否 則檢測該有效行裝載的數(shù)據(jù)是否為當(dāng)前待裝載數(shù)據(jù)塊臨近的數(shù)據(jù)塊,如果屬于臨近的數(shù)據(jù) 塊,則檢測裝載地址指針的下一個(gè)CacheLine,如果仍然屬于臨近塊,則繼續(xù)下移,直到找到 可以替換的Cacheline。
4.Cache存儲體的組織,Cache體用四個(gè)并聯(lián)的RAM實(shí)現(xiàn),將每個(gè)CacheLine內(nèi)塊內(nèi)坐 標(biāo)相鄰的四個(gè)像素分別存放到四個(gè)不同的RAM存儲體中,在Cache命中時(shí),各RAM體返回各 自存儲的像素信息值。
全文摘要
本發(fā)明公開了一種專門針對二維線型插值算法應(yīng)用的數(shù)據(jù)Cache,二維線型插值算法需要先讀取相鄰的四個(gè)像素點(diǎn)的信息,然后將相鄰四個(gè)像素點(diǎn)的各項(xiàng)信息值按照某種特定的算法進(jìn)行計(jì)算,如果采用普通的數(shù)據(jù)Cache,上層邏輯接口需要連續(xù)發(fā)送四次讀數(shù)據(jù)請求以及讀數(shù)據(jù)坐標(biāo)(x,y),(x+1,y),(x,y+1),(x+1,y+1)的現(xiàn)象,導(dǎo)致計(jì)算過程效率低下,本發(fā)明公開的數(shù)據(jù)Cache可以保證在接收一個(gè)讀數(shù)據(jù)請求以及讀數(shù)據(jù)橫縱坐標(biāo)(x,y)的情況下,在一個(gè)時(shí)鐘周期內(nèi)同時(shí)返回(x,y),(x+1,y),(x,y+1),(x+1,y+1)四組像素坐標(biāo)的數(shù)據(jù)信息,消除數(shù)據(jù)Cache的等待瓶頸,大幅提高上層邏輯的整體運(yùn)行速度。
文檔編號G06T1/60GK102136130SQ201110085908
公開日2011年7月27日 申請日期2011年4月7日 優(yōu)先權(quán)日2011年4月7日
發(fā)明者焦勇, 陳寶民, 龍斌 申請人:長沙景嘉微電子有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
郯城县| 通辽市| 定安县| 正宁县| 清涧县| 滦平县| 岳普湖县| 个旧市| 皋兰县| 开远市| 阿拉善左旗| 邯郸县| 星子县| 海晏县| 三河市| 温州市| 聂拉木县| 正安县| 罗城| 九龙县| 松阳县| 南丰县| 石家庄市| 山东省| 赫章县| 西昌市| 泰州市| 留坝县| 武川县| 东兰县| 康定县| 韶关市| 肃宁县| 大同县| 苗栗市| 太仓市| 清水县| 宁陵县| 安化县| 措美县| 广州市|