亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

管理位平面資源的方法和裝置的制作方法

文檔序號(hào):6657070閱讀:125來源:國(guó)知局
專利名稱:管理位平面資源的方法和裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及SMID并行處理,尤其涉及位平面資源的分配。
背景技術(shù)
;
采用并行度最高的并行處理結(jié)構(gòu)是遵循單指令多數(shù)據(jù)(SMID) 方法及使用最簡(jiǎn)單可行的處理元件(PE)結(jié)構(gòu) 一個(gè)單比特運(yùn)算處理 器。因?yàn)槊總€(gè)PE的處理輸出能力很低,PE邏輯的筒單性支持用大量 的PE來構(gòu)造處理器陣列。通過把這樣大量的PE組合成SIMD處理 器陣列,能夠獲得非常高的處理輸出。
位串行SIMD結(jié)構(gòu)的一種變體是將PE連接成2維網(wǎng)格,每個(gè)PE 與陣列內(nèi)其北面、南面、東面和西面的4個(gè)相鄰PE形成聯(lián)通。2維結(jié) 構(gòu)適用于,但并不限于,處理具有2維結(jié)構(gòu)的數(shù)據(jù),例如圖像像素?cái)?shù) 據(jù)。

發(fā)明內(nèi)容
本發(fā)明的一個(gè)方面提供了一種數(shù)字?jǐn)?shù)據(jù)處理系統(tǒng),其包括
* 一個(gè)處理元件陣列,其具有可尋址數(shù)據(jù)存儲(chǔ)裝置,適用于處 理位平面數(shù)據(jù);
* 一個(gè)分配表,其包括用于存儲(chǔ)物理地址的存儲(chǔ)裝置;
* 用于傳送一個(gè)包含虛擬地址屬性和尺寸屬性的圖像描述符的 裝置,所述虛擬地址和尺寸規(guī)定了分配表位置的范圍,其中存儲(chǔ)了包 含一個(gè)圖像的位平面的物理地址。
本發(fā)明的實(shí)施例的其他方面和優(yōu)點(diǎn)的進(jìn)一步細(xì)節(jié)將在后面結(jié)合 附圖描述。


附圖中
圖l示出了一個(gè)示例性處理元件(PE)的示意圖。圖2是處理元件陣列的圖示。
圖3示出了構(gòu)成處理元件組(PEG)的PE陣列的示意圖。
圖4是一個(gè)PEG的示意圖。
圖5是一個(gè)SIMD陣列處理器的示意圖。
圖6示出了分層次的陣列序列發(fā)生器的各級(jí)示意圖。
圖7示出了一個(gè)圖像描述符的組成。
圖8示出了一個(gè)位平面管理元件的圖示。
圖9示出了分配控制信號(hào)的表格。
圖IO示出了分配表內(nèi)的所分配的圖像的圖示。
圖11示出了與分配相關(guān)的事件信號(hào)的表格。
圖12示出了基本序列發(fā)生器產(chǎn)生的分配核查信號(hào)的表格。
具體實(shí)施例方式
本發(fā)明涉及數(shù)字?jǐn)?shù)據(jù)的并行處理,尤其涉及數(shù)字圖像像素?cái)?shù)據(jù)。 盡管本文公開的實(shí)施例涉及了圖像像素?cái)?shù)據(jù)的特定情況,需要理解的
是可以用任意數(shù)字?jǐn)?shù)據(jù)替換像素?cái)?shù)據(jù),并沒有偏離本發(fā)明的范圍和主
匕 曰。
本發(fā)明是并行處理器的一部分。該處理器包括一個(gè)處理元件 (PE)的陣列,序列控制邏輯,以及像素輸入/輸出邏輯。該結(jié)構(gòu)是單 指令多數(shù)據(jù)(SIMD),其中單指令流控制所有PE的執(zhí)行,并且所有 PE同時(shí)執(zhí)行各個(gè)指令。PE陣列被稱為SIMD陣列,整個(gè)并行處理器 被稱為SIMD陣列處理器。
SIMD陣列是網(wǎng)格連接的處理元件陣列。每個(gè)處理元件(PE)包 含存儲(chǔ)器、寄存器和處理1位數(shù)據(jù)的計(jì)算邏輯。在本發(fā)明的一個(gè)示例 性實(shí)施例中,陣列包括48行和64列PE。 SIMD陣列構(gòu)成了 SIMD陣 列處理器邏輯的主要部分,并執(zhí)行基本上所有的像素?cái)?shù)據(jù)計(jì)算。
每個(gè)PE 100包括存儲(chǔ)器、寄存器和處理1位數(shù)據(jù)的計(jì)算邏輯。 尤其參看圖1,示例性的PE 100包含處理1位數(shù)據(jù)的PERAM 110, ALU 101,邏輯模塊A 120, B 130以及寄存器C 140, D 150, NS 160, EW170, AL180, BL190和CM105。PE RAM 110對(duì)于每個(gè)PE是1個(gè)比特寬,存儲(chǔ)由PE處理的像 素?cái)?shù)據(jù)。多位像素值用RAM 110內(nèi)存儲(chǔ)的多個(gè)比特表示。通過依次 處理操作數(shù)像素的相應(yīng)比特來執(zhí)行多位操作數(shù)的運(yùn)算。在這個(gè)示例性 實(shí)施例中,RAM110在每個(gè)周期中執(zhí)行最多2次讀取和1次寫入。讀 取和寫入的組合是通過使用包括2組雙端口 RAM (每組1個(gè)讀取,1 個(gè)寫入)的"分段"RAM來實(shí)現(xiàn)的。對(duì)于每個(gè)PE的全部256個(gè)比特, 這兩組的深度分別是128位。只要源操作數(shù)是在相對(duì)的段中,分段 RAM方法允許每個(gè)周期中的2次讀取和1次寫入。另一個(gè)實(shí)施例中, 一個(gè)256位的3端口 RAM提供了相同的訪問,而不用考慮源操作數(shù) 的設(shè)置。其他實(shí)施例也可以采用其他多重訪問方法(例如,1次讀取 和l次寫入),或者在每個(gè)周期中提供單次讀取或?qū)懭朐L問。
如圖2所示,一個(gè)示例性的PE陣列1000包括48行和64列PE。 像素序號(hào)是從該陣列的西北角的0, 0到東南角的47, 63。
處理過程中,陣列的所有PE同時(shí)執(zhí)行每個(gè)操作步驟。每次讀取 或?qū)懭胍粋€(gè)操作比特,在PE寄存器之間每移動(dòng)一個(gè)比特,陣列的每 個(gè)PE同時(shí)執(zhí)行每個(gè)ALU輸出。在說明這種操作模式時(shí),總體考慮相 應(yīng)的圖像比特是比較有利的。相應(yīng)圖像比特的陣列大小的集合被稱為 一個(gè)"位平面"。根據(jù)(串行)指令流的觀點(diǎn),SIMD陣列操作被模塊 化為位平面操作。
這個(gè)示例性實(shí)施例中的每個(gè)指令包含指引流程或處理位平面的 指令。單指令可包含多個(gè)指令字段,l個(gè)字段用于各個(gè)寄存器資源,1 個(gè)字段用于PE RAM寫入端口 ,并且一個(gè)附加字段用于ALU 101的 控制處理。這種方法是陣列指令的常規(guī)微指令實(shí)現(xiàn)方式,為單個(gè)處理 周期提供了陣列控制。
示例性的PE陣列1000在實(shí)現(xiàn)中是分層次的,PE被分成PE組 (PEG )。每個(gè)PEG 200包含64個(gè)PE,表示一個(gè)8x8陣列區(qū)段。 因此48 x 64 PE陣列1000由6行PEG實(shí)現(xiàn),每行有8個(gè)PEG。每個(gè) PEG200被耦合到其相鄰的PEG,使得在PEG邊界處形成了 PE至 PE的聯(lián)通。這種耦合是無縫的,因此對(duì)于位平面的操作,PEG分區(qū)是不可見的。需要注意的是這些陣列尺寸僅是示例性的,使用其他尺 寸的陣列也沒有偏離本發(fā)明的范圍。
示例性的PEG 200包括一個(gè)64位寬的多重訪問PE RAM 210, PEG控制邏輯230,以及構(gòu)成PE陣列202中的64個(gè)PE的寄存器和 計(jì)算邏輯。PERAM210的每個(gè)位片被耦合到64個(gè)PE中的一個(gè)上, 為每個(gè)PE提供一個(gè)有效1位寬的PE RAM 110。
每個(gè)示例性的PEG除了與北面、南面、東面和西面的相鄰PEG 相聯(lián)通外,其還包括一個(gè)8比特輸入和輸出路徑,用于將像素?cái)?shù)據(jù)移 入和移出PE陣列202。 CM寄存器平面在輸入和輸出過程中處理位平 面數(shù)據(jù)。數(shù)據(jù)被移入和移出位平面形式的PE陣列1000。
上述PE陣列提供了執(zhí)行像素?cái)?shù)據(jù)運(yùn)算的計(jì)算邏輯。為了執(zhí)行這 些操作,PE陣列需要一個(gè)指令源,支持像素?cái)?shù)據(jù)移入和移出陣列。
圖5示出了一個(gè)示例性的SIMD陣列處理器2000。 SIMD陣列處 理器2000包括陣列序列發(fā)生器300,用于向PE陣列1000提供指令流。 還提供了 一個(gè)像素I/O單元400,用于控制像素?cái)?shù)據(jù)移入和移出PE陣 列1000??偟膩碚f,這些單元包含一個(gè)SIMD陣列處理器2000。
SIMD陣列處理器2000可用于執(zhí)行陣列大小的圖像部分的算法。 此處理器可以在一個(gè)集成電路設(shè)備上實(shí)現(xiàn),或者作為單個(gè)設(shè)備上的一 個(gè)較大系統(tǒng)的一部分。另一種實(shí)施方式中,SIMD陣列處理器2000是 系統(tǒng)控制處理器(本文中簡(jiǎn)稱為CPU)的從屬設(shè)備。SIMD陣列處理 器2000和CPU之間的接口通過CPU為示例性SIMD陣列處理器2000 提供初始化和控制。
像素I/O單元400通過稱為"Img Bus,,的圖像總線控制像素?cái)?shù)據(jù) 在PE陣列1000和外部存儲(chǔ)器之間的移動(dòng)。像素?cái)?shù)據(jù)的移動(dòng)和PE陣 列計(jì)算同時(shí)進(jìn)行,從而提供了更高的像素?cái)?shù)據(jù)處理的吞吐量。像素I/O 單元400執(zhí)行圖像數(shù)據(jù)在像素格式和位平面格式之間的轉(zhuǎn)換。Img Bus 數(shù)據(jù)是像素格式的,PE陣列數(shù)據(jù)是位平面格式的,這兩種格式之間的 數(shù)據(jù)轉(zhuǎn)換由像素I/O單元400執(zhí)行,并作為I/O處理的一部分。
SIMD陣列處理器2000處理稱作"子幀,,的陣列大小的部分中的圖像數(shù)據(jù)。典型的情況下,待處理的圖像幀比PE陣列1000的尺寸要 大得多。圖像幀的處理是通過依次處理子幀圖像部分來實(shí)現(xiàn)的,直到 圖像幀被全部處理。
對(duì)PE陣列1000處理子幀的控制是通過分層次設(shè)置序列發(fā)生器 單元來提供的(圖6)。這些單元包括程序序列發(fā)生器330,其對(duì)應(yīng)用 程序排序,并向基本序列發(fā)生器發(fā)生340分配圖像操作(也稱為"基 元"),基本序列發(fā)生器340對(duì)每個(gè)基本操作進(jìn)行排序,向覆蓋(overlay) 單元350分配單個(gè)位操作,覆蓋單元350把位操作微指令字段安排成 適當(dāng)?shù)墓艿兰?jí),從而解決了任何指令沖突。覆蓋單元350的輸出是微 指令流,其對(duì)于PE陣列提供時(shí)鐘到時(shí)鐘的控制,用于執(zhí)行子幀操作。
程序序列發(fā)生器330實(shí)現(xiàn)了一個(gè)看起來很常規(guī)的機(jī)器語言指令 集,其提供SIMD內(nèi)核的序列控制和各種支持操作,并向基本序列發(fā) 生器340分配"基本操作"形式的指令。基本操作是對(duì)于連續(xù)存儲(chǔ)器地 址序列重復(fù)的特定微指令(或一個(gè)微指令和適當(dāng)?shù)呐缮?,即對(duì)于 各個(gè)操作數(shù)比特(平面)重復(fù)。基本陣列操作,例如一個(gè)圖像ADD, 可以用單個(gè)基本操作來實(shí)現(xiàn)。
基本模型將一個(gè)圖像操作數(shù)定義為位平面集合,它從起始地址開
始,在PERAM內(nèi)從起始平面開始延伸一定數(shù)量的位平面。包含圖像 的位平面數(shù)量被稱為圖像"尺寸"。每個(gè)圖像還具有 一個(gè)"符號(hào),,屬性, 其表示各個(gè)像素值的位模式應(yīng)被解釋為有符號(hào)數(shù)據(jù)(符號(hào)=1)還是無 符號(hào)數(shù)據(jù)(符號(hào)=0)。這些屬性總稱為圖7中的"圖像描述符"。需要 注意的是這些實(shí)施例中給出的尺寸只是示例性的,可以采用任何不同 的尺寸來縮放,這并沒有偏離本發(fā)明的范圍。
圖像描述符被存儲(chǔ)(用于處理)在程序序列發(fā)生器330的寄存器 組內(nèi),并通過程序指令內(nèi)的寄存器號(hào)進(jìn)行索引。在執(zhí)行圖像操作數(shù)的 運(yùn)算之前,可能需要向處理器寄存器加載操作數(shù)描述符。程序序列發(fā) 生器330通過提供3個(gè)圖像操作數(shù)(2個(gè)源操作數(shù),l個(gè)目標(biāo)操作數(shù)) 的描述符信息以及PE陣列1000所使用的一個(gè)24位基本指令字向基 本序列發(fā)生器340分配基本操作?;拘蛄邪l(fā)生器340的基本操作序列用兩個(gè)源操作數(shù)圖像的相加 來表示,其結(jié)果被存儲(chǔ)在一個(gè)目標(biāo)操作數(shù)圖像內(nèi)。3個(gè)操作數(shù)中的每 個(gè)操作數(shù)用一個(gè)圖像描述符表示。第一個(gè)位操作向每個(gè)源操作數(shù)添加 比特0,把結(jié)果存儲(chǔ)在目標(biāo)操作數(shù)的比特0內(nèi)。從相應(yīng)圖像描述符的 基地址值導(dǎo)出每個(gè)圖像操作數(shù)位平面的地址?;拘蛄邪l(fā)生器340向 覆蓋單元350分配一個(gè)位操作,其包括3個(gè)操作數(shù)位平面地址和24 位基本指令字。當(dāng)基本序列發(fā)生器340工作時(shí),各個(gè)描述符的地址字 段被遞增,依次表示下一位(比特1等)的操作數(shù)地址。當(dāng)已經(jīng)處理 了和目標(biāo)尺寸相對(duì)應(yīng)的位個(gè)數(shù)之后,結(jié)束運(yùn)算序列。當(dāng)目標(biāo)尺寸超過 了源操作數(shù)的尺寸時(shí),源描述符的符號(hào)屬性被用于確定對(duì)于該源操作 數(shù)是符號(hào)擴(kuò)展還是零填充。
覆蓋單元350處理位操作,產(chǎn)生將要由陣列執(zhí)行的PE微指令字。 位操作包括必須安排在適當(dāng)?shù)墓艿篱g隙內(nèi)的微指令。覆蓋單元350執(zhí) 行已安排的任務(wù),并且解決內(nèi)部微指令沖突。PE微指令從覆蓋單元 350被分配到PE陣列1000的PEG用于執(zhí)行。
對(duì)于編程者來說,圖像被模塊化為PE RAM內(nèi)的位平面連續(xù)序 列。圖像描述符600提供一個(gè)基礎(chǔ)地址和一個(gè)表示圖像從基地址向上 延伸并占用了連續(xù)地址的尺寸屬性。在示例性的實(shí)施例中,只給出了 部分圖像。
圖像在算法執(zhí)行過程中不停來往,因此很難設(shè)置不采用無用集合 的最大PE RAM。編程者和軟件工具編寫者會(huì)遇到的困難是為了將分 散的位平面收集到可用的圖像模塊中,PERAM使用效率不高(由于 可用存儲(chǔ)器的不可使用的小模塊的增加),或者執(zhí)行時(shí)間發(fā)生損失。 由于PERAM和執(zhí)行時(shí)間都是SIMD芯片編程者的重點(diǎn)考慮方面,不 具有無用集合的支持最優(yōu)PE RAM的裝置被結(jié)合到本發(fā)明的SIMD芯 片中。
圖像描述符600包括一個(gè)9位基地址元件來描述圖像的基地址。 基地址值跨過512個(gè)位平面的空間,低256位是PERAM部分0,高 256位是部分1。這是一個(gè)虛擬空間,因?yàn)槭纠詫?shí)施例中的可用物理存儲(chǔ)器對(duì)于各個(gè)部分是128個(gè)PERAM平面。在此虛擬空間內(nèi),圖像 用連續(xù)的位平面模塊表示。虛擬空間的各個(gè)部分在給定時(shí)間可以增加 到128個(gè)位置。
PERAM平面根據(jù)需求被分配到圖像。在給定的時(shí)刻,圖像應(yīng)該 被分配到表示圖像像素的數(shù)值范圍所需的最小數(shù)量的位平面。操作目 標(biāo)圖像通常需要調(diào)整尺寸來容納操作結(jié)果。這種調(diào)整是通過指定目標(biāo) 操作數(shù)的尺寸控制值"Newsize (新尺寸)"來實(shí)現(xiàn)的。源圖像操作數(shù)也 稱為"Free,d",即整體重新分配。稍后本發(fā)明將詳細(xì)分配和重新分配 控制。
虛擬空間通過查詢表管理,即圖8中的分配表700。在這個(gè)示例 性實(shí)施例中,分配表700是一個(gè)512深的多端口 RAM,其為每個(gè)9 比特圖像描述符基地址值提供物理PE RAM地址的查詢。位平面分配 到圖像是通過從"比特池,,中讀取物理地址,并將其寫入一個(gè)分配表來 完成的。為了重新分配位平面,該地址從分配表700中讀出,并被寫 入比特池。
共有兩個(gè)比特池730和740,每個(gè)區(qū)段一個(gè)。在這個(gè)特定實(shí)施例 中,每個(gè)比特池是一個(gè)128深的FIFO,其在任意給定時(shí)間包含所有 可以用于分配的PERAM地址。
如圖8所示, 一個(gè)512位的記錄板寄存器,劃分成記錄板750和 記錄板760,用于表示哪個(gè)分配表位置在增長(zhǎng)。記錄板被基本序列發(fā) 生器340用來加強(qiáng)分配和重新分配的順序相關(guān)性,以及檢測(cè)分配誤差 條件。與分配相關(guān)的誤差被一個(gè)事件寄存器跟蹤,向編程者提供一個(gè) 報(bào)告。
在執(zhí)行應(yīng)用程序之前,分配邏輯應(yīng)該處在一個(gè)"清除,,狀態(tài)。比特 池應(yīng)該用256PE RAM地址來初始化,記錄板應(yīng)該全都是0。當(dāng)這兩 個(gè)條件都滿足時(shí),就存在了"清除"狀態(tài)。
指定了 一個(gè)陣列操作的程序序列發(fā)生器指令確定了 2個(gè)源操作數(shù) 和l個(gè)目標(biāo)操作數(shù)。源操作數(shù)可以是或者不是圖像操作數(shù),但陣列操 作的目標(biāo)操作數(shù)必須是一個(gè)圖像操作數(shù)。除了操作數(shù),指令還規(guī)定了如圖9所示的分配控制。
指令的分配控制字段允許編程者通過Newsize直接確定執(zhí)行操作 所得到的目標(biāo)操作數(shù)的尺寸。Newsize會(huì)使得目標(biāo)操作數(shù)變大(遞增 分配)、變小(遞增重新分配)或者保持與當(dāng)前目標(biāo)操作數(shù)的相同尺 寸。
Freel和Free2控制允許編程者指定要重新分配的第一個(gè)源操作 數(shù)(Free 1有效)和/或要重新分配的第二個(gè)源操作數(shù)(Free 2有效)。 當(dāng)Free控制被用于執(zhí)行陣列操作之后,該控制會(huì)導(dǎo)致重新分配全部相 應(yīng)的操作圖像。
圖像存儲(chǔ)器的管理直接受編程者的控制。編程者確定用于管理一 個(gè)圖像的分配表700內(nèi)的地址跨度。編程者確定何時(shí)和如何增加虛擬 地址空間區(qū)域。編程者通過生成適當(dāng)?shù)膱D像描述符數(shù)值來表示圖像, 并通過使用分配控制字段用于圖像操作。
為了更好地理解本發(fā)明的其他細(xì)節(jié),使用下列詞匯表 Free 1和Free 2 -用于Srcl和Src2操作數(shù)的重新分配控制信號(hào) Srcl和Src2-"源l"和"源2", 用于陣列操作的兩個(gè)源操作數(shù), 或輸入
Dest-用于陣列操作的"目標(biāo)"操作數(shù),或輸出
Zend -目標(biāo)基地址+Newsize,在乘法序列過程中,確定何時(shí)停 止生成位操作和分配位平面
Alloc.oldsize一crt -遞減計(jì)數(shù)器,在基本序列開始時(shí)加載初始 Dest操作數(shù)尺寸值
Dest一in -從程序序列發(fā)生器傳到基本序列發(fā)生器的信號(hào),其傳 送Dest操作數(shù)圖像描述符
Alloc—in -從程序序列發(fā)生器傳到基本序列發(fā)生器的信號(hào),其傳 送Free 1 , Free 2和Newsize值
Alloc—en—reg-保持分配使能信號(hào)的寄存器
Wadr_out-從程序序列發(fā)生器傳到覆蓋單元的信號(hào),其傳送位平 面操作的寫地址Wadr—sel -選擇Wadr—out值的源的選擇信號(hào)
Deall_en_reg-保存重新分配使能信號(hào)的寄存器
Alloc.deall_wrO或Alloc.deall_wrl -把位平面地址分別寫入(推 入)比特池0和比特池1的寫選通
Aadr - Bit—Op—Regl的PE RAM地址字段,在序列過程中依次 提供Srcl操作數(shù)虛擬地址
Badr - Bit—Op—Regl的PE RAM地址字段,在序列過程中依次 提供Src2操作數(shù)虛擬地址
Wadr - Bit—Op—Regl和Bit—Op—Reg2的PE RAM地址字段,在 序列過程中依次提供Dest操作數(shù)虛擬地址
Aadr一out -從基本序列發(fā)生器傳到覆蓋單元的信號(hào),其提供位 操作輸出的Srcl操作數(shù)物理地址分量給覆蓋單元
Badr一out -從基本序列發(fā)生器傳到覆蓋單元的信號(hào),其提供位 操作輸出的Src2操作數(shù)物理地址分量給覆蓋單元
Wadr—out-從基本序列發(fā)生器傳到覆蓋單元的信號(hào),其提供位 操作輸出的Dest操作數(shù)物理地址分量給覆蓋單元
Free—1—reg - Srcl操作數(shù)的重新分配任務(wù)描述符;該名稱的字段 被同時(shí)包括在基本寄存器和分配任務(wù)寄存器內(nèi)
Free—2一reg - Src2操作數(shù)的重新分配任務(wù)描述符;該名稱的字段 被同時(shí)包括在基本寄存器和分配任務(wù)寄存器內(nèi)
Free_3—reg - Dest操作數(shù)的重新分配任務(wù)描述符;該名稱的字段 被同時(shí)包括在基本寄存器和分配任務(wù)寄存器內(nèi)
圖10給出了圖像存儲(chǔ)器的一個(gè)實(shí)例。該實(shí)例中,圖像A和B是 分別存儲(chǔ)在字段0和字段1中的8比特圖像。這兩個(gè)圖像都被完全增 加,如陰影表示。假設(shè)A是無符號(hào),B有符號(hào),該描述符應(yīng)該是
A= ( 0《15 ) |(8《9)|0 = 0 x 1000
B= (1《15 ) |(8《9)|256 = 0 x 9100
現(xiàn)在,假設(shè)A和B被相加以生成圖像C,必須為C選擇某個(gè)位 置。必須有足夠大的連續(xù)空間來容納C的中間值,最好足夠大以能夠容納其有效跨距內(nèi)的所有數(shù)值c。所示實(shí)施例中,編程者選擇一個(gè)未 使用的分配表位置模塊給C使用,從地址10開始,并擴(kuò)展要由c所 4吏用的IO個(gè)比特。
關(guān)于這一點(diǎn),c是一個(gè)新圖像,因此沒有增加(即沒有給c分配
位平面)。假設(shè)C是一個(gè)有符號(hào)的圖像,C的描述符是 C- (1 15 ) |(0 9)1|0 = 0 x 800a
對(duì)于這個(gè)實(shí)例,上述描述符A、 B和C是在預(yù)備操作中置于寄存 器組331內(nèi)的值?,F(xiàn)在編程人員必須基于操作結(jié)果而決定C的尺寸。 在這個(gè)實(shí)例中,A和B有不同的信號(hào)屬性,而尺寸都是8位。
假定,操作結(jié)果是10位,從而容納像素A和B之間所有可能的 和。如果信號(hào)屬性相同,則結(jié)果尺寸很可能是9位。然而,編程人員 基于他/她對(duì)操作結(jié)果的認(rèn)識(shí),可能選擇8位結(jié)果,或者簡(jiǎn)單地保持結(jié) 果的最低8位。通過Newsize控制,程序人員能夠規(guī)定C的結(jié)果尺寸。
假設(shè)要得到的是10位結(jié)果,并且A和B沒有重新分配(釋放), 這個(gè)操作的分配控制應(yīng)該是
分配控制=(10<<2)(0 1)|0=(^28
這個(gè)操作的結(jié)果是C圖像增加了 IO個(gè)位平面。程序人員通過把 該操作的Newsize設(shè)定為10來確定該結(jié)果。程序序列發(fā)生器330根據(jù) 新的尺寸屬性來自動(dòng)更新C的描述符作為陣列操作的結(jié)果,因此現(xiàn)在 C描述符的值為
C=(l 15)|(10 9)|10=0x940a
由此,編程人員為每個(gè)陣列操作調(diào)整目標(biāo)操作數(shù)的尺寸,使得該 圖像是存儲(chǔ)操作結(jié)果的像素值所需要的最小尺寸。通過用Newsize來 更新目標(biāo)操作數(shù)寄存器,編程人員不需要由于描述符的數(shù)值變化而重 新載入描述符。
在這個(gè)實(shí)例中,C的初始尺寸是0。在許多情況下, 一個(gè)目標(biāo)操 作數(shù)將有一個(gè)非零尺寸,并且將根據(jù)陣列操作來調(diào)整尺寸。在所有情 況下,Newsize控制確定操作結(jié)果的尺寸,并且目標(biāo)操作數(shù)的尺寸屬 性(在寄存器組331中)被Newsize值所替代。如果Newsize大于目標(biāo)值,則發(fā)生一個(gè)增加分配,其中分配位平面以增加圖像的尺寸。如
果Newsize小于目標(biāo)值,則發(fā)生一個(gè)遞增重新分配,其中重新分配位 平面以減少圖像的尺寸。
當(dāng)不再需要一個(gè)圖像時(shí),它必須被重新分配。通常使用Freel或 Free2分配控制來完成重新分配。 一個(gè)釋放控制被施加于訪問圖像的 最后操作。 一個(gè)釋放控制只被施加于源操作數(shù)。這意味著圖像的最后 訪問被作為源操作數(shù),否則將產(chǎn)生一個(gè)值(寫入)并且不會(huì)被使用(讀 取)。使用釋放控制也可有助于確保在第一時(shí)機(jī)進(jìn)行重新分配,從而 使得重新分配位平面盡快可用。
當(dāng)應(yīng)用 一個(gè)釋放控制時(shí),編程人員必須確保采用了 一個(gè)完整的描 述符。例如, 一個(gè)圖像的最后訪問可以是該圖像的一部分而并非是整 個(gè)圖像。如果釋放控制被施加于一個(gè)圖像部分,則部分圖像會(huì)保持被 分配。 一種解決方案是將該釋放控制延遲成一個(gè)分離控制,它對(duì)整個(gè) 圖像進(jìn)行釋放控制。另 一種解決方案通過使用操作來釋放圖像部分, 然后產(chǎn)生一個(gè)表示其余位平面的描述符,并且對(duì)圖像的該部分進(jìn)行釋 放操作。
有多種方法來破壞圖像分配邏輯的狀態(tài)。再來看圖10中的實(shí)例, 可以看出圖像C沒有被增加,但是卻使用了一個(gè)尺寸為IO位的無效 描述符。在這種情況下,Newsize和尺寸相匹配,因此沒有出現(xiàn)分配 或重新分配。在這種情況下,在分配表700中將使用10到19位之間 的物理地址來執(zhí)行操作。如果這些地址屬于其它圖像,該位平面數(shù)據(jù) 將被破壞。如果這些地址全部在一個(gè)比特池中,并且圖像C從來沒有 被重新分配,那么編程人員將會(huì)僥幸避免此失誤。訪問沒有增加的分 配表地址將不會(huì),皮SIMD內(nèi)核所標(biāo)記。
繼續(xù)該實(shí)例,如果編程人員隨后重新分配圖像C,則會(huì)錯(cuò)誤地發(fā) 送地址到比特池。這會(huì)使得在比特池中復(fù)制值,導(dǎo)致圖像間串?dāng)_。這 也可能會(huì)導(dǎo)致比特池的溢出,因?yàn)橛蓄~外地址被寫入。并且,未增加 分配表位置的重新分配會(huì)被檢測(cè)到,并被標(biāo)記為一個(gè)重新分配的沖突。
如果一個(gè)圖像不止一次被釋放,將產(chǎn)生一個(gè)重新分配沖突并且由于額外地址被寫入比特池而導(dǎo)致最終比特池溢出。如果不能釋放一個(gè) 圖像,由于數(shù)位沒有被替換而連續(xù)分配,將最終導(dǎo)致數(shù)據(jù)庫下溢。如 果在沒有圖像重新分配的情況下再次使用該圖像的分配表空間(也就 是新的位平面被分配到相同的空間),將產(chǎn)生一個(gè)分配沖突事件。
可以列舉導(dǎo)致錯(cuò)誤發(fā)生的其它情況。簡(jiǎn)而言之,編程人員必須確
保圖像描述符不會(huì)與分配表700的實(shí)際狀態(tài)相沖突。他/她必須確定分 配表入口的增加先于作為源操作數(shù)被使用,以及操作表入口在最終使 用后^f皮重新分配。
一個(gè)圖像屬于一個(gè)區(qū)段或另一個(gè)區(qū)段;在示例性實(shí)施例中圖像沒 有跨過區(qū)段的邊界。圖像描述符地址屬性的高位(位8)表明圖像相 對(duì)于分配表700和PERAM的區(qū)段。分配表區(qū)段被巻繞,使得超過區(qū) 段末端的一個(gè)圖像塊被巻繞回相同區(qū)段的開始位置處。
因?yàn)楸忍爻氐某跏純?nèi)容為編程人員所控制,SIMD內(nèi)核可以具有 一定程度的容錯(cuò)量。尤其,如果一個(gè)單個(gè)PERAM平面發(fā)生錯(cuò)誤,可 以通過從所有比特池中去掉相應(yīng)的位平面地址來將其分離。這留給編 程人員更少的位平面,這可以通過在所涉及的應(yīng)用程序或軟件工具來 完成。
如果基本指令并未確定寫入到PERAM,則不會(huì)執(zhí)行遞增分配和 重新分配。換句話說,如果目標(biāo)操作數(shù)沒有被寫入,在示例性實(shí)施例 中將不會(huì)發(fā)生分配和重新分配。
在示例性實(shí)施例中,物理上存在256位平面的PE RAM用來存 儲(chǔ)有效圖像。這些256位平面被分成128位平面區(qū)段。每個(gè)區(qū)段的128 位平面由128個(gè)地址來表示。可用于分配的地址置駐留在FIFO比特 池中。有2個(gè)比特池,即比特池0 (730)和比特池1 (740),每個(gè) PERAM區(qū)段使用一個(gè)比特池。位平面分配給圖像包括從適當(dāng)?shù)谋忍?池中讀取位平面。為了進(jìn)行重新分配,位平面地址被寫回到比特池中。
通過查詢分配表700,將圖像描述符位平面地址映射到物理PE RAM地址。分配表700是一個(gè)512位深、8位寬的5端口 RAM ( 4 個(gè)讀取端口, l個(gè)寫入端口)。圖像描述符的基地址和尺寸屬性描述了分配表700中的分配范圍,該分配表包含圖4象操作數(shù)的PERAM地 址。由于位平面被分配給一個(gè)圖像,它們被寫入到分配表700中的相 應(yīng)位置。由于位平面被重新分配,它們被從分配表700中讀出并寫回 到適當(dāng)?shù)谋忍爻刂?。因此,在位平面的分配和重新分配過程中,使用 分配表的讀取端口和寫入端口中之一。其它三個(gè)讀取端口被用于在操 作過程中查詢記錄板750、記錄板760和目標(biāo)操作數(shù)的PE RAM地址。
在分配表700中,區(qū)段0 ( 710 )提供PE RAM區(qū)段0的地址映 射,而區(qū)段1 (720)提供PE RAM區(qū)段1的映射。圖像不能跨越區(qū) 段;每個(gè)圖像被完全存儲(chǔ)在一個(gè)區(qū)段內(nèi)。
分配表700所包含的位置數(shù)量是位平面數(shù)量的兩倍。這使得分配 表位置中可以使用"孔洞",而不會(huì)浪費(fèi)物理位平面地址。
應(yīng)該指出,在執(zhí)行過程中比特池中的位平面地址混雜會(huì)導(dǎo)致地址 序列內(nèi)的大量混亂。因此,分配給一個(gè)圖像的物理地址可以是PE RAM 中位平面的一個(gè)近似隨機(jī)集合。這點(diǎn)不會(huì)產(chǎn)生影響,因?yàn)榈刂肥菑姆?配表700中依次讀取的(也就是"虛擬"地址序列)。
序列操作過程中,基本寄存器342的Srcl、 Src2和Dest操作數(shù) 地址字段被提供到Bit Opl寄存器343的Aadr、 Badr和Wadr字段。 Aadr、 Badr和Wadr字段提供在分配表700中3個(gè)操作數(shù)的查詢地 址。從分配表700中讀取的物理地址包括輸出給覆蓋單元500的 Aadr—out、Badr—out和Wadr—out。由于分配表700是一個(gè)同步RAM, 此讀取提供了與其余位操作的地址數(shù)據(jù)同步的單個(gè)時(shí)鐘延遲,該延遲 分段通過Bit Op2寄存器344。
啟動(dòng)時(shí),比特池必須用物理位平面地址進(jìn)行初始化。比特池0 730 必須加栽地址0 ...127,比特池1 740必須加栽地址128...255。
只有當(dāng)圖像是目標(biāo)操作數(shù)時(shí),才執(zhí)行對(duì)圖像的位平面分配。基本 序列發(fā)生器340接收一個(gè)目標(biāo)操作數(shù)的當(dāng)前尺寸(Destjn[14:9)和 一個(gè)新尺寸(Alloc—in[7:2,也就是Newsize)。如果Newsize的數(shù)值大 于當(dāng)前尺寸,就為每個(gè)超過當(dāng)前尺寸的位平面進(jìn)行位平面分配,從而 將目標(biāo)圖像的尺寸調(diào)整為一個(gè)新的尺寸值。值被載入到基本寄存 器Dest一size字段以用于對(duì)基本序列進(jìn)行排序。Dest一in尺寸值被載入 到Alloc.oldsize一cnt計(jì)數(shù)器。在對(duì)基本序列進(jìn)行排序的過程中, Dest_size和Alloc.oldsize—cnt值被遞減計(jì)數(shù)。 一旦Alloc.oldsizecnt 值達(dá)到0 ,便開始位平面分配。而Dest—size繼續(xù)遞減計(jì)數(shù)(并且 Alloc.oldsize_cnt是0 ),位平面被分配到目標(biāo)操作數(shù)圖像。
如果是一個(gè)乘法操作,由于操作是多通道的,分配將更加復(fù)雜。 基本寄存器342的Zend字段跟蹤位平面的分配到乘法目標(biāo)操作數(shù)。 每次當(dāng)對(duì)目標(biāo)操作數(shù)的寫入超過Zend值時(shí),就執(zhí)行一次分配并且遞 增Zend。
基本序列發(fā)生器340通過設(shè)定Alloc—en_reg來請(qǐng)求分配。寄存器 用Bit Opl寄存器343進(jìn)行分段。響應(yīng)有效的Alloc—en_reg,從適當(dāng) 的比特池中讀取一個(gè)位平面地址,并且將位平面地址寫入到分配表 700內(nèi)由Bit Opl寄存器343的Wadr字段給出的地址上。
如果位操作沒有發(fā)生位平面分配,則從分配表700中讀取 Wadr_out值。然而,如果出現(xiàn)分配,則從比特池中產(chǎn)生一個(gè)新的位 平面地址而不是分配表輸出,并將其提供給Wadr_out。從比特池中 得到的新的位平面被載入到Bit—pool_wadr寄存器,使得與Bit Op2 寄存器命令同步提供。對(duì)應(yīng)于Alloc—en_reg值來設(shè)定Bit Op2寄存器 344的一個(gè)字段Wadr_sel,從而在Bit—pool_wadr值和分配表值之間 進(jìn)行適當(dāng)選擇,用來計(jì)算Wadr一out。
對(duì)一個(gè)操作的任何操作數(shù)都可以重新分配位平面。分配控制900 包括2個(gè)單個(gè)的位字段,其中的每個(gè)字段都指示源操作數(shù)的"釋放,,或 重新分配。此外,如果Newsize值小于Dest_in尺寸值,則表示進(jìn)行 遞增重新分配。 一個(gè)源操作數(shù)的釋放意味著由該源操作數(shù)描述符表示 的所有位平面的重新分配。然而,目標(biāo)操作數(shù)位平面的遞增重新分配 意味著位平面的重新分配超過了 Newsize值。
位平面的重新分配與基本操作同時(shí)進(jìn)行,盡管與分配不同,重新 分配并沒有作為基本操作的一部分。 一個(gè)分離的重新分配序列發(fā)生器為重新分配任務(wù)進(jìn)行排序。重新分配任務(wù)被寫入一個(gè)深度為8位的 FIFO,稱為重新分配隊(duì)列。當(dāng)該重新分配序列發(fā)生器完成了一個(gè)重新 分配任務(wù),便從該重新分配隊(duì)列中讀取出一個(gè)新的任務(wù)。
排列重新分配任務(wù)的過程從加栽基本寄存器(342)Free一l一reg、 Free_2—reg和Free—3—reg字段開始。將Srcl和Src2地址和尺寸字段 (低15位)加栽到Free_l_reg、 Free—2—reg寄存器。當(dāng)相應(yīng)的分配 控制輸入字段(Freel, Free2)有效時(shí),上述每個(gè)寄存器被設(shè)置為高 位。只有設(shè)定為高位時(shí),每一個(gè)寄存器都標(biāo)記為重新分配。Free_3—reg 被設(shè)定為代表執(zhí)行遞增重新分配的任務(wù)值。如果表示重新分配,則更 高位被設(shè)定,地址字段被i殳定為Dest—in地址值與Newsize值的和, 并且尺寸字段被設(shè)定為Dest—in地址值與Newsize值的差。
基本寄存器Free—1/2/3—reg字段被寫入到一個(gè)分配任務(wù)寄存器的 相應(yīng)Free_l/2/3—reg字段。這個(gè)載入是一同進(jìn)行的,即所有3個(gè)寄存 器被同時(shí)加載。只有在當(dāng)前Alloc Free—l/2/3_reg任務(wù)全部已經(jīng)排隊(duì)的 情況下,才允許把新任務(wù)從基本寄存器342載入到分配任務(wù)寄存器(分 配邏輯341)。并且,直到已經(jīng)生成了基本操作的第一位操作時(shí)(防 止出現(xiàn)不依照順序的重新分配),基本存儲(chǔ)器Free_l/2/3—reg的任務(wù) 才可以被載入到分配任務(wù)存儲(chǔ)器。
從Alloc Free寄存器將重新分配任務(wù)寫入到重新分配隊(duì)列。對(duì)于 每個(gè)具有有效的最高位(MSB )的空閑寄存器,向隊(duì)列寫入一個(gè)任務(wù)。 因?yàn)橛?個(gè)空閑寄存器,這個(gè)過程要進(jìn)行3個(gè)周期才能完成。當(dāng)任務(wù) 被寫入隊(duì)列時(shí),被讀出任務(wù)的寄存器的MSB位被清除,以表示寄存 器內(nèi)不再有一個(gè)有效的任務(wù)。
如果重新分配隊(duì)列已滿,則保持任務(wù)的順序,直到隊(duì)列不再排滿 為止。如果需要,為了允許完成排序,將保持基本任務(wù)的排序,以使 得基本寄存器Free字段值可以被傳輸?shù)紸lloc Free寄存器。
重新分配任務(wù)用重新分配序列發(fā)生器進(jìn)行排序。 一個(gè)重新分配任 務(wù)由基地址和尺寸來表示?;刂愤f加,同時(shí)尺寸遞減。對(duì)于每次計(jì) 數(shù),進(jìn)行一次重新分配。通過設(shè)置Dell一en一reg 以及向Dell—addr_reg載入用于重新分配 的位平面地址,來請(qǐng)求一個(gè)位平面重新分配。 一旦(重新分配序列發(fā) 生器的)尺寸計(jì)數(shù)器達(dá)到1,便從一個(gè)可用的重新分配隊(duì)列中讀取出 一個(gè)新的重新分配任務(wù)。如果沒有有效的重新分配任務(wù),則不會(huì)發(fā)生 重新分配。
一個(gè)有效的Dell —en_reg使得讀取Dell—addr一reg所提供的地址 處的分配表700。才艮據(jù)該區(qū)段,Alloc.deall—wrO或Alloc.deall—wrl被 設(shè)置為在下一周期內(nèi)將分配表讀取數(shù)據(jù)推入適當(dāng)?shù)腇IFO (比特池0 (730 )或比特池1 (740))。
分配和重新分配過程的不同之處在于,分配任務(wù)作為操作的一部 分來執(zhí)行,而重新分配任務(wù)被排序,從而具有獨(dú)立序列。由于重新分 配任務(wù)的排序,可以在順序之外執(zhí)行分配任務(wù)。也就是說,位平面的 重新分配可以由一個(gè)操作進(jìn)行排序,當(dāng)下一次操作試圖分配相同的位 平面時(shí),其仍然保持在隊(duì)列內(nèi)。從編程人員的角度來說,位平面是可 用的,但在執(zhí)行時(shí)它們有時(shí)會(huì)不能用。
對(duì)于編程人員或軟件撰寫者來說,進(jìn)行分配和重新分配能力分析 以判斷分配任務(wù)能何時(shí)發(fā)生會(huì)是一個(gè)困難并難以接受的負(fù)擔(dān)。由于必 須知道程序內(nèi)每個(gè)有效操作在程序之外的執(zhí)行效果,獨(dú)立程序內(nèi)的碼 序列封裝幾乎是不可行的。
強(qiáng)制執(zhí)行分配和重新分配指令的裝置被包含在基本定序器340 中。該指令執(zhí)行裝置是包含由512個(gè)寄存器組成的陣列的記錄板,每 個(gè)寄存器對(duì)應(yīng)一個(gè)分配表位置。當(dāng)發(fā)生一個(gè)分配時(shí),設(shè)置對(duì)應(yīng)于分配 表地址的記錄板寄存器。當(dāng)發(fā)生重新分配時(shí),記錄板寄存器被清除。
如果為一個(gè)分配表地址請(qǐng)求一個(gè)分配,并設(shè)置了相應(yīng)的記錄板存 儲(chǔ)器,如果有重新分配任務(wù)等待處理,就存在一個(gè)順序之外的分配狀 態(tài)。對(duì)應(yīng)這個(gè)狀態(tài),保持基本定序器340,以允許執(zhí)行該待處理的重 新分配任務(wù),然后在進(jìn)行分配操作時(shí)執(zhí)行此重新分配任務(wù)。如果記錄 板仍然表示順序之外的分配沒有待處理的重新分配任務(wù),或者如果記 錄板表示順序之外的重新分配任務(wù),則表示有一個(gè)分配錯(cuò)誤。在這種情況下,判定事件信號(hào)并且執(zhí)行操作。
基本序列發(fā)生器分配邏輯341不能防止上述類型的錯(cuò)誤,但是至 少它們能夠檢測(cè)出來這些錯(cuò)誤,并在事件寄存器中作為被記錄的事件 進(jìn)行傳遞?;径ㄐ蚱?40記錄7個(gè)事件,只有一個(gè)事件和分配有關(guān)。 圖ll對(duì)這些事件進(jìn)行了描述。
除了上述提到的情況,會(huì)產(chǎn)生2個(gè)核查信號(hào)。每個(gè)核查信號(hào)適用 于一個(gè)區(qū)段,并且當(dāng)相應(yīng)的比特池已滿并且相應(yīng)的半個(gè)記錄板被清除 (沒有被分配的位)時(shí),該核查信號(hào)有效。這些信號(hào)通過事件寄存器 傳送到程序序列發(fā)生器300,此時(shí)它們是可用的。核查信號(hào)為編程人 員提供了完整性檢查,他/她在應(yīng)用程序中期望進(jìn)行此檢查的停頓點(diǎn)處 檢查分配被"清除"。與其它事件信號(hào)不同,該核查信號(hào)在程序序列發(fā) 生器的事件寄存器中不是"停滯,,的,即它們被持續(xù)更新, 一旦設(shè)定后 不必保持判定結(jié)果。
權(quán)利要求
1、一種數(shù)字處理系統(tǒng),包括a、一個(gè)處理元件陣列,具有可尋址數(shù)據(jù)存儲(chǔ)裝置,適于處理位平面數(shù)據(jù);b、一個(gè)包含存儲(chǔ)物理地址的存儲(chǔ)裝置的分配表;c、用于傳遞包含一個(gè)虛擬地址屬性和一個(gè)尺寸屬性的圖像描述符的裝置,所述虛擬地址和尺寸指定了分配表的位置范圍,其中存儲(chǔ)了包含一個(gè)圖像的位平面的物理地址。
2、 如權(quán)利要求l所述的系統(tǒng),其中分配表中的存儲(chǔ)位置數(shù)量超 過包含有處理陣列的位平面數(shù)量。
3、 如權(quán)利要求l所述的系統(tǒng),其中所述圖像描述符還包括一個(gè) 符號(hào)屬性,以表示該圖像是否被作為有符號(hào)的數(shù)據(jù)被處理。
4、 如權(quán)利要求l所述的系統(tǒng),還包括一個(gè)用于控制處理器陣列 內(nèi)的位平面處理的序列發(fā)生器,所述序列發(fā)生器響應(yīng)于至少一個(gè)圖像 描述符產(chǎn)生至少一個(gè)微指令序列,所述微指令包含響應(yīng)于分配表中存 儲(chǔ)的物理地址而生成的至少一個(gè)位平面地址。
5、 如權(quán)利要求l所述的系統(tǒng),其中分配表被配置為提供多重同 步訪問。
6、 如權(quán)利要求1所述的系統(tǒng),其中所述陣列被分割為多個(gè)區(qū)段, 每個(gè)區(qū)段包含多個(gè)位平面,并且其中分配表被分割為相應(yīng)的區(qū)段,每 個(gè)分配表區(qū)段包括用于存儲(chǔ)屬于一個(gè)陣列區(qū)段的物理地址的存儲(chǔ)裝 置。
7、 如權(quán)利要求l所述的系統(tǒng),還提供了用于向一個(gè)圖像分配位 平面的第一分配裝置,所述第一分配裝置包括表示可用位平面的物理 地址庫,其中所述分配包括從該庫中讀取物理地址以及將該物理地址 寫入分配表。
8、 如權(quán)利要求7所述的系統(tǒng),其中所述庫是一個(gè)FIFO存儲(chǔ)器。
9、 如權(quán)利要求7所述的系統(tǒng),其中處理陣列被分割為多個(gè)區(qū)段,每個(gè)區(qū)段包含多個(gè)位平面,并且其中該庫被分割為相應(yīng)的區(qū)段,每個(gè) 庫區(qū)段包括用于存儲(chǔ)一個(gè)陣列區(qū)段的物理地址的存儲(chǔ)裝置。
10、 如權(quán)利要求7所述的系統(tǒng),還包括用于向一個(gè)未增加的圖 像分配位平面的第二分配裝置,所述圖像沒有被分配位平面,并且所 述第二分配裝置響應(yīng)于尺寸屬性為0的圖像描述符并且進(jìn)一步響應(yīng)于 被稱為"新尺寸"的尺寸控制信號(hào)進(jìn)行分配,所述新尺寸決定了要分配 的位平面數(shù)量。
11、 如權(quán)利要求7所述的系統(tǒng),還包括用于向一個(gè)部分增加的 圖像分配位平面的第三分配裝置,所述圖像具有分配給它的多個(gè)位平 面,并且所述第三分配裝置響應(yīng)于一個(gè)圖像描述符并且進(jìn)一步響應(yīng)于 被稱為"新尺寸,,的尺寸控制信號(hào)來進(jìn)行分配,以及分配額外數(shù)量的位 平面,使圖像增加了新尺寸數(shù)量的位平面。
12、 如權(quán)利要求7所述的系統(tǒng),還包括一個(gè)記錄板,所述記錄 板包含與分配表位置數(shù)量相等的存儲(chǔ)器組成的陣列,其中每個(gè)存儲(chǔ)器 適用于表示相應(yīng)的分配表位置是否被增加了 。
13、 如權(quán)利要求12所述的系統(tǒng),還包括檢測(cè)裝置,用于檢測(cè) 試圖對(duì)已增加的分配表位置進(jìn)行分配時(shí)的條件,并產(chǎn)生一個(gè)表示所述 條件的信號(hào),還進(jìn)一步包括用于響應(yīng)該信號(hào)來禁止分配、直到不再能 檢測(cè)到所述條件為止的響應(yīng)裝置。
14、 如權(quán)利要求12所述的系統(tǒng),還包括檢測(cè)裝置,用于檢測(cè) 試圖對(duì)已增加的分配表位置進(jìn)行分配時(shí)的條件,并產(chǎn)生一個(gè)表示所述 條件的信號(hào),還進(jìn)一步包括用于響應(yīng)該信號(hào)來設(shè)定事件存儲(chǔ)器的裝置。
15、 如權(quán)利要求12所述的系統(tǒng),其中分配表被劃分為多個(gè)區(qū) 段,每個(gè)區(qū)段包含多個(gè)存儲(chǔ)位置,并且其中記錄板被分割為相應(yīng)的區(qū) 段,每個(gè)記錄板區(qū)段包含一個(gè)由適用于表示分配表相應(yīng)區(qū)段內(nèi)的位置 分配狀態(tài)的存儲(chǔ)器組成的陣列。
16、 如權(quán)利要求1所述的系統(tǒng),還提供了用于重新分配圖像位 平面的第一重新分配裝置,所述第一重新分配裝置包含表示可用位平 面的一個(gè)物理地址庫,并且其中所述重新分配包括從分配表中讀取物理地址并將該物理地址寫入該庫中。
17、 如權(quán)利要求16所述的系統(tǒng),其中所述庫是一個(gè)FIFO存儲(chǔ)器o
18、 如權(quán)利要求16所述的系統(tǒng),其中處理陣列被劃分為多個(gè) 區(qū)段,每個(gè)區(qū)段包含多個(gè)位平面,并且其中該庫被劃分為相應(yīng)的區(qū)段, 每個(gè)庫區(qū)段包含用于存儲(chǔ)一個(gè)陣列區(qū)段的物理地址的存儲(chǔ)裝置。
19、 如權(quán)利要求16所述的系統(tǒng),還包括用于向一個(gè)增加的圖 像重新分配位平面的第二重新分配裝置,所述第二重新分配裝置響應(yīng) 于一個(gè)圖像描述符并進(jìn)一步響應(yīng)于一個(gè)釋放控制信號(hào)執(zhí)行重新分配, 所述釋放控制信號(hào)表示該圖像的所有位平面都將被重新分配。
20、 如權(quán)利要求16所述的系統(tǒng),還包括用于向一個(gè)增加的圖 像重新分配位平面的第三重新分配裝置,所述第三重新分配裝置響應(yīng) 于一個(gè)圖像描述符并進(jìn)一步響應(yīng)于被稱為"新尺寸"的尺寸控制信號(hào)執(zhí) 行重新分配,并且重新分配多個(gè)位平面,使得圖像增加了新尺寸數(shù)量 的位平面。
21、 如權(quán)利要求16所述的系統(tǒng),還包括一個(gè)記錄板,所述記 錄板包括與分配表位置數(shù)量相等的存儲(chǔ)器組成的陣列,其中每個(gè)存儲(chǔ) 器適用于表示相應(yīng)的分配表位置是否被增加了 。
22、 如權(quán)利要求21的系統(tǒng),還包括檢測(cè)裝置,用于檢測(cè)試圖 對(duì)未增加的分配表位置進(jìn)行重新分配時(shí)的狀態(tài),并產(chǎn)生一個(gè)表示所述 狀態(tài)的信號(hào),還進(jìn)一步包括用于響應(yīng)該信號(hào)來禁止重新分配、直到不 再能檢測(cè)到所述狀態(tài)為止的響應(yīng)裝置。
23、 如權(quán)利要求21的系統(tǒng),還包括檢測(cè)裝置,用于檢測(cè)試圖 對(duì)未增加的分配表位置進(jìn)行重新分配時(shí)的狀態(tài),并產(chǎn)生一個(gè)表示所述 狀態(tài)的信號(hào),還進(jìn)一步包括用于響應(yīng)該信號(hào)來設(shè)定事件存儲(chǔ)器的裝置。
24、 如權(quán)利要求21的系統(tǒng),其中分配表被劃分為多個(gè)區(qū)段, 每個(gè)區(qū)段包含多個(gè)存儲(chǔ)位置,并且其中該記錄板被劃分為相應(yīng)的區(qū)段, 每個(gè)記錄板區(qū)段包含一個(gè)由適用于表示分配表相應(yīng)區(qū)段內(nèi)的位置分配 狀態(tài)的存儲(chǔ)器組成的陣列。
25、 如權(quán)利要求1所述的系統(tǒng),還包括用于處理指令的處理裝 置,所述指令包括至少一個(gè)圖像描述符,并且還包括一個(gè)被稱為"新尺 寸,,的尺寸控制,以決定作為處理該指令的結(jié)果而使圖像增加的位平面 的數(shù)量。
26、 如權(quán)利要求25所述的系統(tǒng),還包括用于用圖像描述符的 所存儲(chǔ)的拷貝中的新尺寸值來替代尺寸屬性的替代裝置。
27、 如權(quán)利要求1所述的系統(tǒng),還包括用于處理指令的處理裝 置,所述指令包括至少一個(gè)圖像描述符,并且還包括至少一個(gè)釋放控 制,來決定作為處理該指令的結(jié)果而使圖像增加的所有位平面都被重 新分配。
全文摘要
管理位平面資源的系統(tǒng)和方法。因?yàn)镾IMD結(jié)構(gòu)內(nèi)的處理元件(PE)存儲(chǔ)器的缺乏,確保其使用效率最優(yōu)是非常重要的。本發(fā)明公開了一種實(shí)時(shí)管理PE存儲(chǔ)器的方法,從而能夠獲得接近100%的使用效率。所作用的方法允許在單個(gè)位平面增量?jī)?nèi)分配和重新分配存儲(chǔ)器。實(shí)時(shí)分配和重新分配連續(xù)發(fā)生,因此不能夠保證PE存儲(chǔ)器的鄰接模塊的可用性。本發(fā)明所采用的方法可以使用分散的位平面,而不必花費(fèi)執(zhí)行時(shí)間來執(zhí)行“無用集合”。
文檔編號(hào)G06K9/00GK101432760SQ200580034470
公開日2009年5月13日 申請(qǐng)日期2005年8月8日 優(yōu)先權(quán)日2004年8月31日
發(fā)明者伍德羅·L·梅克 申請(qǐng)人:硅奧普迪思公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1