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

處理器的制作方法

文檔序號(hào):6593054閱讀:250來(lái)源:國(guó)知局
專利名稱:處理器的制作方法
技術(shù)領(lǐng)域
本申請(qǐng)涉及的領(lǐng)域是處理器以及在存儲(chǔ)器與處理器之間傳送數(shù)據(jù)的方法。更具體 地,本申請(qǐng)針對(duì)存取存儲(chǔ)器中的壓縮數(shù)據(jù)結(jié)構(gòu)內(nèi)的單個(gè)值、或者值的鄰近組或非鄰近組而 無(wú)需檢索并且解壓縮整個(gè)壓縮結(jié)構(gòu)的方法。
背景技術(shù)
在設(shè)計(jì)計(jì)算系統(tǒng)時(shí)有個(gè)基本問(wèn)題,就是使存儲(chǔ)器存取的時(shí)間成本最小化。這是關(guān)于計(jì)算機(jī)系統(tǒng)設(shè)計(jì)的根本限制,因?yàn)椴徽撌褂煤畏N存儲(chǔ)器技術(shù)支持計(jì)算, 并且不論使用何種技術(shù)將該存儲(chǔ)器連接到處理器,都存在關(guān)于在給定時(shí)間內(nèi)在處理器與存 儲(chǔ)器之間可以傳送多少信息的最大限制(亦即可用的存儲(chǔ)器帶寬),可用的存儲(chǔ)器帶寬對(duì) 計(jì)算機(jī)能力的限制常常稱為“存儲(chǔ)墻(memory-wall) ”。本申請(qǐng)尋求通過(guò)用數(shù)據(jù)壓縮來(lái)增加有效存儲(chǔ)器帶寬并且因此使“存儲(chǔ)墻”的限制 最小化。已知采用數(shù)據(jù)壓縮來(lái)減少“存儲(chǔ)墻”效應(yīng)。然而,編程人員使用壓縮存儲(chǔ)器子系統(tǒng) 的問(wèn)題在于,數(shù)據(jù)可以被施予運(yùn)算之前必須被解壓縮,如圖1的系統(tǒng)所示。這通常涉及將來(lái) 自存儲(chǔ)器10的一部分的壓縮數(shù)據(jù)讀取到處理器16的寄存器文件中,使用從程序存儲(chǔ)器18 檢索到的程序代碼對(duì)其進(jìn)行解壓縮,并且將解壓縮后的數(shù)據(jù)存儲(chǔ)在存儲(chǔ)器12的另一未壓 縮部分中。然而,這種方案的缺點(diǎn)在于,需要額外的存儲(chǔ)器帶寬來(lái)讀取壓縮數(shù)據(jù),將其存儲(chǔ)為 未壓縮的形式,并且將其讀回到處理器以施予運(yùn)算。還需要額外的存儲(chǔ)器容量來(lái)保存未壓 縮的數(shù)據(jù),并且解壓縮處理將對(duì)處理器寄存器文件增加壓力。顯見(jiàn),這是一種次優(yōu)方案,其 暗示的內(nèi)容解釋了為何這種壓縮存儲(chǔ)器子系統(tǒng)依舊是學(xué)術(shù)探奇而未進(jìn)入主流微處理器產(chǎn) 業(yè)。EP-0240032-A2公開(kāi)了一種矢量處理器,包括用于存儲(chǔ)并且檢索矢量數(shù)據(jù)的存儲(chǔ) 器。矢量處理器包括多個(gè)矢量寄存器,其中每一個(gè)都能夠并行讀取或者寫入多個(gè)(m個(gè))矢 量元素;至少一個(gè)掩碼(mask)矢量寄存器,能夠并行處理m個(gè)掩碼比特;傳遞部分,連接到 存儲(chǔ)器、多個(gè)矢量寄存器和掩碼矢量寄存器并且響應(yīng)于指令用于將來(lái)自存儲(chǔ)器內(nèi)規(guī)則分開(kāi) 的地址位置的矢量元素傳遞到與有效掩碼比特相對(duì)應(yīng)的所選矢量寄存器的所選存儲(chǔ)位置。 雖然這種方法有用,但局限在于矢量數(shù)據(jù)的存儲(chǔ)/檢索限于整個(gè)寄存器。寄存器模塊化是一種用于加速矩陣代數(shù)(尤其是有限元)的有用技術(shù),然而,其缺 點(diǎn)在于,對(duì)于很多矩陣(例如,如搜索引擎諸如GOOGLE 中所使用的)必須添加零填充,減 少了有效FLOPS (每秒浮點(diǎn)運(yùn)算),并且增加了存儲(chǔ)器帶寬需求,但這二者在現(xiàn)代計(jì)算系統(tǒng) 中皆為短缺的益處。實(shí)際上,在正分別以每年50%和7%的高度相異的速率增長(zhǎng)的處理能力與存儲(chǔ)器 帶寬之間的增長(zhǎng)的鴻溝,如上所述,被稱為“存儲(chǔ)墻”。已有很多人聲稱“突除” 了存儲(chǔ)墻,他 們通常包括使用緩存來(lái)減少必須離開(kāi)芯片的概率,和/或使用多線程從而可以減小與離開(kāi)
6芯片相關(guān)聯(lián)的等待時(shí)間和損失。這些方法只是掩蓋了有限外部存儲(chǔ)器帶寬的問(wèn)題,但未解決該問(wèn)題,并且通常依 賴于展現(xiàn)出充足的數(shù)據(jù)位置的數(shù)據(jù)集、和/或展現(xiàn)出充足的線程級(jí)并行性(TLP)的程序,以 便根本上有效,并且這可能并非對(duì)于所有問(wèn)題都是正確的,并且當(dāng)然并非總是事先知道的。 實(shí)際上,很多更大更被關(guān)注的問(wèn)題既不展現(xiàn)出充足的數(shù)據(jù)位置也不展現(xiàn)出TLP,整個(gè)系統(tǒng) 的吞吐量退化到受限于外部存儲(chǔ)器帶寬的地步,并且已經(jīng)在芯片上添加的額外硬件是無(wú)用 的。為此,大型工程應(yīng)用將處理器性能拉低到制造商所號(hào)稱的峰值性能規(guī)格的或更低并 不罕見(jiàn)。

發(fā)明內(nèi)容
本申請(qǐng)尋求增加有效的存儲(chǔ)器帶寬,并且通過(guò)以壓縮格式存儲(chǔ)數(shù)據(jù)來(lái)使“存儲(chǔ)墻” 對(duì)計(jì)算的局限最小化。這是通過(guò)提供壓縮和解壓縮裝置來(lái)實(shí)現(xiàn)的,該壓縮和解壓縮裝置適 合于在對(duì)必須存儲(chǔ)在存儲(chǔ)器中的龐大數(shù)據(jù)集進(jìn)行運(yùn)算的很多應(yīng)用(包括例如計(jì)算機(jī)圖形、 剛體動(dòng)力學(xué)、有限元分析和其它科學(xué)工程應(yīng)用)中使用的塊結(jié)構(gòu)數(shù)據(jù)。為了進(jìn)一步減少“存 儲(chǔ)墻”效應(yīng),處理器流水線也被修改為利用壓縮,將處理速率提高超過(guò)僅通過(guò)對(duì)壓縮數(shù)據(jù)進(jìn) 行運(yùn)算可以實(shí)現(xiàn)的速率。更特別地,本申請(qǐng)?jiān)试S通過(guò)使用值映射以及被指定為指令的一部分的相關(guān)聯(lián)字段 比特來(lái)隨機(jī)存取存儲(chǔ)器中存儲(chǔ)的壓縮結(jié)構(gòu)中的各個(gè)值。因此,本申請(qǐng)的第一實(shí)施例提供一種如權(quán)利要求1和38中詳述的處理器。本申請(qǐng) 還提供一種如權(quán)利要求21和56中詳述的方法。本申請(qǐng)進(jìn)一步提供一種如權(quán)利要求35和 69中詳述的數(shù)據(jù)處理機(jī)。在從屬權(quán)利要求中提供了有利的實(shí)施例。



,該 8比特值用于選擇八個(gè)四項(xiàng)壓縮矢量中的哪些實(shí)際上加載自/存儲(chǔ)到VRF。由于LSU端口寬度通常受限,因此在應(yīng)用于64比特的示例性布置方式的情況下, 應(yīng)當(dāng)理解,LDCV和STCV指令必須占用多個(gè)時(shí)鐘周期。結(jié)果,從LSU端口可見(jiàn),值映射按f比 特的順序以迭代方式被解碼,使得64比特壓縮項(xiàng)被寫入到或讀取自正確的VRF寄存器并且 存儲(chǔ)到或讀取自正確的存儲(chǔ)器(RAM)地址。圖7示出64比特存儲(chǔ)器子系統(tǒng)中典型壓縮結(jié) 構(gòu)在RAM中的布局。應(yīng)理解,該方法和布置方式不限于32比特字或64比特寬的存儲(chǔ)器,并且相似的布 局對(duì)于包括96和128比特寬的存儲(chǔ)器等的其它存儲(chǔ)器寬度是可能的,然而,為了簡(jiǎn)化解釋, 這些布置方式組織在此將不詳細(xì)討論。VRF可以用作完整壓縮結(jié)構(gòu)的駐留區(qū)域,用于在壓縮加載的情況下,在完整壓縮結(jié) 構(gòu)的各部分分散到處理器內(nèi)部的其它寄存器文件之前,或者用于將壓縮結(jié)構(gòu)存儲(chǔ)到附連于 LSU端口的外部RAM。現(xiàn)將參照?qǐng)D8討論用于LSU的示例性邏輯,圖8示出LSU壓縮結(jié)構(gòu)地址生成器的用 于在給定的基地址(base addr)從壓縮結(jié)構(gòu)內(nèi)加載值的邏輯。第一行加法器50 (壓縮器) 被提供以將排列為八個(gè)4比特值映射字段(bm7-bm0)的32比特的值映射結(jié)構(gòu)壓縮為八個(gè) 3比特?cái)?shù),其中每一個(gè)都表示在給定的4比特值映射中的1的數(shù)量。第二行加法器52被提
9供以將壓縮器的行的結(jié)果相加以生成每個(gè)值映射的開(kāi)始地址,使得可以通過(guò)在壓縮加載或 存儲(chǔ)操作碼中應(yīng)用適當(dāng)?shù)膄比特來(lái)根據(jù)需要對(duì)每個(gè)值映射字段進(jìn)行獨(dú)立尋址?!芭c”(AND) 門54的行被提供以根據(jù)壓縮加載/存儲(chǔ)操作碼中的f (字段)比特集的狀態(tài)來(lái)屏蔽掉不需 要的字段。然后這些AND門的輸出由另一組加法器56進(jìn)行求和,以生成必須基于操作碼f 比特來(lái)加載自/存儲(chǔ)到存儲(chǔ)器的32比特字的總數(shù)(word cnt)。最后的8 1復(fù)用器級(jí)58 受控于8個(gè)字段使能,其允許所選擇的所需值映射地址被依次施加到最后的加法器60,以 便生成所需的RAM地址。圖9示出示例壓縮數(shù)據(jù)結(jié)構(gòu)的各種信號(hào)的值。所示地址是根據(jù)所選擇的IRF(整 型數(shù)寄存器文件)寄存器中的值映射而統(tǒng)計(jì)計(jì)算出的,并且然后根據(jù)在壓縮加載或存儲(chǔ)指 令中指定的f比特的級(jí)來(lái)依次應(yīng)用。圖10示出用于壓縮加載/存儲(chǔ)操作的完整的地址生成邏輯,包括計(jì)數(shù)器和有限狀 態(tài)機(jī),以生成所需的控制信號(hào)。選擇要被應(yīng)用于地址選擇復(fù)用器的地址序列的fen[2:0]信號(hào)根據(jù)圖11所示的真 值表操作。如圖12所示,不僅生成由LSU地址生成器生成的壓縮加載/存儲(chǔ)操作所需的源地 址/目的地址,而且還生成相對(duì)于在壓縮加載/存儲(chǔ)操作中指定的地址的用于源/目的VRF 行的源/目的地址。在64比特LSU總線的情況下,可以在壓縮加載/存儲(chǔ)指令中尋址多達(dá) 2個(gè)VRF行。雖然在該示例性布置方式中,VRF被選取為在壓縮加載/存儲(chǔ)操作中加載或者 存儲(chǔ)的數(shù)據(jù)的源/目的,但在原理上,可以同樣地選取整型數(shù)寄存器文件(IRF)或標(biāo)量寄存 器文件(SRF)。圖12的示例性時(shí)序圖清楚地示出壓縮加載/存儲(chǔ)操作占用多個(gè)周期來(lái)執(zhí)行,并 且所有所需的控制信號(hào)是根據(jù)與在壓縮加載/存儲(chǔ)控制字中指定的f比特耦合的用于壓縮 結(jié)構(gòu)的IRF值映射描述符的知識(shí)而生成的??刂菩盘?hào)的序列是使用f比特以及值映射結(jié)合 受輸入到地址生成器的時(shí)鐘輸入驅(qū)動(dòng)的計(jì)數(shù)器而推導(dǎo)出的。該圖示出加載和存儲(chǔ)操作二者的行為,這兩種操作之間的僅有差別是1.在壓縮加載的情況下,生成用于從附連到LSU端口的RAM讀取的讀信號(hào),并且生 成用于適當(dāng)?shù)腣RF行(其充當(dāng)RAM內(nèi)容的目的地)的寫信號(hào)。實(shí)際上,一系列RAM讀取和 VRF寫入可以根據(jù)IRF中的值映射的狀態(tài)以及壓縮加載操作碼中的f比特集而生成。2.類似地,在壓縮存儲(chǔ)的情況下,一系列VRF讀取和RAM寫入可以根據(jù)IRF值映射 的狀態(tài)以及壓縮存儲(chǔ)操作碼中的f比特集而生成。圖13示出SVU架構(gòu)的框圖,SVU架構(gòu)的具有壓縮加載/存儲(chǔ)操作的加載存儲(chǔ)單元 (LSU)形成一部分??梢?jiàn),主要外部接口去往SVU指令存儲(chǔ)器、連接到數(shù)據(jù)存儲(chǔ)器庫(kù)的LSU 端口以及允許SVU寄存器和診斷信息經(jīng)由處理器總線被讀取/寫入的診斷控制單元(DCU)。指令字具有7個(gè)時(shí)隙,允許它每周期控制9個(gè)功能單元中的多達(dá)7個(gè)功能單元,如 圖14所示。在該示例性實(shí)施例中,128比特指令的最左邊的比特被反轉(zhuǎn)以提供未來(lái)特征,其余 127比特被劃分為多個(gè)字段,每個(gè)字段控制處理器架構(gòu)的優(yōu)選實(shí)施例中包含的多達(dá)9個(gè)功 能單元中的一個(gè)?!?1 X判定執(zhí)行單元(PEU)
· 1 X分支/重復(fù)單元(BRU)· 2 X加載存儲(chǔ)單元(LSU)· 1 X矢量算術(shù)單元(VAU)· 1 X標(biāo)量算術(shù)單元(SAU)· 2 X整型數(shù)算術(shù)單元(IAU)· 1 X比較/移動(dòng)單元(CMU)不在指令字的直接控制之下的最終功能單元是診斷控制單元(DCU),其允許處理 器監(jiān)視并且控制程序執(zhí)行,尤其是在異常條件和/或中斷出現(xiàn)的情況下。示例性的LSU允許編程人員將矢量數(shù)據(jù)從存儲(chǔ)器加載到VRF寄存器中。LSU受控 于24比特操作碼,并且可以執(zhí)行以下8種操作之一· NOP即不從存儲(chǔ)器加載任何數(shù)據(jù)(用于省電的時(shí)鐘關(guān)閉)· LDVX從存儲(chǔ)器加載4元素未壓縮矢量· STVX將4元素未壓縮矢量存儲(chǔ)到存儲(chǔ)器· LDCV從存儲(chǔ)器加載4元素壓縮矢量· STCV將4元素壓縮矢量存儲(chǔ)到存儲(chǔ)器· LDLI將16比特立即加載到所指定的IRF寄存器的低16比特· LDHI將16比特立即加載到所指定的IRF寄存器的高16比特· CPXI將IRF值映射中字段1_8的大小/地址拷貝到IRF基地址寄存器圖15示出LSU的示例性操作碼表。圖16示出未壓縮加載/存儲(chǔ)模式下的LSU的框圖。在該模式下,bru hold信號(hào) 防止BRU中的程序計(jì)數(shù)器(PC)前進(jìn),直到已經(jīng)完成加載/存儲(chǔ)操作。這在加載和存儲(chǔ)未在 單個(gè)周期中完成的情況下是重要的,因?yàn)?個(gè)矢量元素必須在Is或2s中被傳遞,而不是單 個(gè)周期中4個(gè)元素(128比特)。圖17示出用于非零值映射生成的值映射生成邏輯和去往VRF的加載/存儲(chǔ)路徑 的框圖。每當(dāng)將未壓縮的4元素矢量從存儲(chǔ)器加載到VRF時(shí),就使用4個(gè)比較器(4X32輸 入“或非”(NOR)門)的行來(lái)生成附加的4項(xiàng)非零值映射,并且將其插入在相應(yīng)的VRF行, 作為從存儲(chǔ)器取得的數(shù)據(jù)。該4比特值映射項(xiàng)可以稍后用于將數(shù)據(jù)以壓縮格式存儲(chǔ)回存儲(chǔ) 器,并且通過(guò)消除對(duì)于零值的簡(jiǎn)單運(yùn)算來(lái)使功率消耗最小化。此處描述的處理器架構(gòu)的獨(dú)特能力是支持以隨機(jī)存取方式對(duì)壓縮數(shù)據(jù)進(jìn)行加載 和存儲(chǔ),而無(wú)需檢索整個(gè)壓縮結(jié)構(gòu)。這種支持的原因在于,很多受關(guān)注的應(yīng)用對(duì)大量的稀疏 數(shù)據(jù)進(jìn)行運(yùn)算,稀疏數(shù)據(jù)即包含大量零(這些零必須從存儲(chǔ)器取得并且當(dāng)被運(yùn)算時(shí)生成零 結(jié)果)的數(shù)據(jù)。該架構(gòu)中的主要假設(shè)在于,要由處理器處理的所有數(shù)據(jù)都被封裝為要在存儲(chǔ)器中 存儲(chǔ)的4元素矢量,不論該數(shù)據(jù)是壓縮的還是未壓縮的,也不論數(shù)據(jù)是否包括矩陣、矢量和 封裝的標(biāo)量或整型數(shù)?;谶@種假設(shè),編程人員可以將矩陣/矢量/標(biāo)量/整型數(shù)數(shù)據(jù)組 織為32項(xiàng)壓縮塊,其中,僅有那些非零項(xiàng)被顯式地存儲(chǔ)。所有零值和非零值在非零值映射 中由1比特項(xiàng)表示,其然后可以被用于將32項(xiàng)壓縮/不壓縮為RAM中的32或更少的32比 特字。圖中所示的3D圖形和游戲物理(剛體動(dòng)力學(xué))應(yīng)用中使用的變換矩陣是很好的
11示例。圖2詳細(xì)示出與8個(gè)矩陣相對(duì)應(yīng)的32比特值映射。在圖18中可見(jiàn),圖形變換矩陣包含大百分比的簡(jiǎn)單值(零值),允許實(shí)現(xiàn)超過(guò) 50%的數(shù)據(jù)壓縮。壓縮值映射用于允許使用圖19所示的硬件來(lái)隨機(jī)存取編程人員定義的復(fù)雜數(shù)據(jù) 結(jié)構(gòu)。壓縮加載操作允許編程人員從開(kāi)始于在IRF中指定的基地址的地址收集由操作碼中 的8比特字段指定的一系列多達(dá)8X4元素值。該硬件自動(dòng)生成所需的地址和讀取信號(hào)以 及在需要多周期加載的情況下(例如,如果必須從存儲(chǔ)器加載多于4個(gè)非零)生成用于保 持BRU的保持信號(hào)。與之對(duì)照,在現(xiàn)有技術(shù)中,使用需要以基地址和偏移量來(lái)設(shè)置多個(gè)寄存 器以允許復(fù)雜數(shù)據(jù)結(jié)構(gòu)的索引的傳統(tǒng)處理器架構(gòu)來(lái)實(shí)現(xiàn)這種類型的復(fù)雜分散收集功能通 常是復(fù)雜的。而且,這樣的傳統(tǒng)處理器架構(gòu)不提供簡(jiǎn)單數(shù)據(jù)值的壓縮。適當(dāng)?shù)兀琇SU端口寬度是可經(jīng)由在部分6中詳述的SVU LCR寄存器獨(dú)立配置的。通 過(guò)允許在附連到SVU LSU端口的/2/4元素寬數(shù)據(jù)總線上在多個(gè)交易中加載/存儲(chǔ)4元素 矢量,端口寬度參數(shù)允許頂級(jí)SoC (片上系統(tǒng))互連相對(duì)于SVU的吞吐量而折衷,如圖20所
7J\ ο用于支持端口寬度參數(shù)化的附加地址最低有效位(Isb)的生成是使用計(jì)數(shù)器來(lái) 執(zhí)行的,所述計(jì)數(shù)器將0、1或2地址最低有效位附加到由LSU生成的地址,如圖21所示。圖22示出端口寬度參數(shù)對(duì)存儲(chǔ)到SVU RAM的4個(gè)元素的影響。在圖18中可見(jiàn), 圖形變換矩陣包含大百分比的簡(jiǎn)單值(零值),允許實(shí)現(xiàn)超過(guò)50%的數(shù)據(jù)壓縮。壓縮值映射用于允許使用圖19所示的硬件隨機(jī)存取編程人員定義的復(fù)雜數(shù)據(jù)結(jié) 構(gòu)。壓縮加載操作允許編程人員從開(kāi)始于在IRF中指定的基地址的地址收集由操作碼中的 8比特字段指定的一系列多達(dá)8X4元素值。該硬件自動(dòng)生成所需的地址和讀取信號(hào)以及 在需要多周期加載的情況下(例如,如果必須從存儲(chǔ)器加載多于4個(gè)非零)生成用于保持 BRU的保持信號(hào)。與之對(duì)照,在現(xiàn)有技術(shù)中,使用需要以基地址和偏移量來(lái)設(shè)置多個(gè)寄存器 以允許復(fù)雜數(shù)據(jù)結(jié)構(gòu)的索引的傳統(tǒng)處理器架構(gòu)來(lái)實(shí)現(xiàn)這種類型的復(fù)雜分散收集功能通常 是復(fù)雜的。而且,這樣的傳統(tǒng)處理器架構(gòu)不提供簡(jiǎn)單數(shù)據(jù)值的壓縮。適當(dāng)?shù)?,LSU端口寬度是可通過(guò)被提供為寄存器中的項(xiàng)的參數(shù)來(lái)獨(dú)立配置的。通 過(guò)允許在附連到SVU LSU端口的1/2/4元素寬數(shù)據(jù)總線上在多個(gè)交易中加載/存儲(chǔ)4元素 矢量,端口寬度參數(shù)允許頂級(jí)SoC互連相對(duì)于SVU的吞吐量而折衷,如圖20所示。用于支持端口寬度參數(shù)化的附加地址最低有效位(Isb)的生成是使用計(jì)數(shù)器來(lái) 執(zhí)行的,所述計(jì)數(shù)器將0、1或2地址最低有效位附加到由LSU生成的地址,如圖21所示。圖22示出端口寬度參數(shù)對(duì)存儲(chǔ)到SVU RAM的4個(gè)元素的影響??梢?jiàn),加載或存儲(chǔ) 128比特矢量所占用的周期數(shù)量當(dāng)端口寬度為1(32比特)時(shí)占用4個(gè)周期,當(dāng)端口寬度為 2 (64比特)時(shí)占用2個(gè)周期,當(dāng)端口寬度為4 (128比特)時(shí)占用1個(gè)周期。雖然已經(jīng)針對(duì)具有指令集(該指令集具有用于在存儲(chǔ)器與處理器之間執(zhí)行數(shù)據(jù) 傳送的所標(biāo)識(shí)的操作碼)的處理器描述了本申請(qǐng),但應(yīng)理解,可以在程序存儲(chǔ)中沒(méi)有顯式 指令集而是在狀態(tài)機(jī)或其它裝置的控制下執(zhí)行加載和存儲(chǔ)的情況下執(zhí)行功能。明顯的優(yōu)點(diǎn) 在于,可以從存儲(chǔ)器中的壓縮結(jié)構(gòu)檢索一個(gè)或多個(gè)數(shù)據(jù)項(xiàng),而無(wú)需檢索或解壓縮整個(gè)壓縮 結(jié)構(gòu)。相似地,單個(gè)數(shù)據(jù)項(xiàng)可以在存儲(chǔ)器中存儲(chǔ)的壓縮結(jié)構(gòu)中被更新,而無(wú)需檢索或解壓縮 整個(gè)壓縮結(jié)構(gòu)。
詞語(yǔ)“包括/包含”當(dāng)用在本說(shuō)明書(shū)中時(shí)是要指定所聲明的特征、整體、步驟或組 件的存在,但不排除一個(gè)或更多其它特征、整體、步驟、組件或其群組的存在或添加。
權(quán)利要求
一種具有指令集架構(gòu)的處理器,所述指令集架構(gòu)包括用于從隨機(jī)存取存儲(chǔ)器中存儲(chǔ)的壓縮結(jié)構(gòu)中提取數(shù)據(jù)值的至少一個(gè)加載指令,所述至少一個(gè)加載指令包括操作碼和標(biāo)識(shí)所述數(shù)據(jù)值在所述結(jié)構(gòu)的非壓縮形式中的位置的至少一個(gè)操作數(shù),所述處理器適于將所述數(shù)據(jù)值在非壓縮形式中的位置轉(zhuǎn)換為所述數(shù)據(jù)值在所述壓縮結(jié)構(gòu)中的存儲(chǔ)器位置,并且還適于從所述存儲(chǔ)器位置中提取所述數(shù)據(jù)值。
2.根據(jù)權(quán)利要求1所述的處理器,其中,所述結(jié)構(gòu)的非壓縮形式包括簡(jiǎn)單值和復(fù)雜值, 并且所述壓縮結(jié)構(gòu)僅包括復(fù)雜數(shù)據(jù)值。
3.根據(jù)權(quán)利要求1或權(quán)利要求2所述的處理器,其中,所述壓縮數(shù)據(jù)結(jié)構(gòu)包括表示復(fù)雜 數(shù)據(jù)值在所述結(jié)構(gòu)的非壓縮形式中的位置的映射。
4.根據(jù)權(quán)利要求3所述的處理器,其中,所述處理器被配置為在傳送所請(qǐng)求的值之前 獲得所述壓縮數(shù)據(jù)結(jié)構(gòu)的所述映射。
5.根據(jù)權(quán)利要求3或4所述的處理器,其中,所述復(fù)雜數(shù)據(jù)值為非零值。
6.根據(jù)權(quán)利要求3至5中任一項(xiàng)所述的處理器,其中,所述處理器根據(jù)所述映射確定所 請(qǐng)求的值是簡(jiǎn)單值還是復(fù)雜值。
7.根據(jù)權(quán)利要求6所述的處理器,其中,所述至少一個(gè)操作數(shù)包括所述壓縮結(jié)構(gòu)在存 儲(chǔ)器中的基地址。
8.根據(jù)權(quán)利要求7的處理器,其中,在所請(qǐng)求的值為復(fù)雜值的情況下,所述處理器被配 置為根據(jù)所述映射對(duì)所請(qǐng)求的值前面的復(fù)雜值的數(shù)量進(jìn)行計(jì)數(shù)并且將該數(shù)量作為偏移與 所述基地址相加,并相應(yīng)地設(shè)置所述隨機(jī)存取存儲(chǔ)器存取地址。
9.根據(jù)權(quán)利要求8的處理器,其中,所述計(jì)數(shù)是使用多個(gè)加法器來(lái)實(shí)現(xiàn)的。
10.根據(jù)權(quán)利要求8的處理器,其中,在所請(qǐng)求的值為簡(jiǎn)單值的情況下,所述處理器被 配置為返回所述簡(jiǎn)單值而不存取所述存儲(chǔ)器。
11.根據(jù)任一前述權(quán)利要求所述的處理器,其中,所述處理器適于響應(yīng)于所述指令來(lái)加 載多個(gè)數(shù)據(jù)值。
12.根據(jù)權(quán)利要求1所述的處理器,其中,所述數(shù)據(jù)值是浮點(diǎn)數(shù)。
13.根據(jù)權(quán)利要求12所述的處理器,其中,所述數(shù)據(jù)值是單精度浮點(diǎn)數(shù)。
14.根據(jù)權(quán)利要求12所述的處理器,其中,所述數(shù)據(jù)值是雙精度浮點(diǎn)數(shù)。
15.根據(jù)權(quán)利要求12所述的處理器,其中,所述數(shù)據(jù)值是擴(kuò)展精度浮點(diǎn)數(shù)。
16.根據(jù)權(quán)利要求12所述的處理器,其中,所述數(shù)據(jù)值是128比特精度浮點(diǎn)數(shù)。
17.根據(jù)權(quán)利要求1所述的處理器,其中,所述數(shù)據(jù)值是整型數(shù)。
18.根據(jù)權(quán)利要求1所述的處理器,其中,所述數(shù)據(jù)值是浮點(diǎn)、浮點(diǎn)矩陣、浮點(diǎn)矢量和固 定點(diǎn)整型數(shù)的組合。
19
20.一種將至少一個(gè)數(shù)據(jù)值從數(shù)據(jù)結(jié)構(gòu)內(nèi)加載到處理器中的方法,其中,所述數(shù)據(jù)結(jié)構(gòu) 以僅存在復(fù)雜數(shù)據(jù)值的壓縮形式存儲(chǔ)于存儲(chǔ)器中,所述壓縮形式還包括指定所述復(fù)雜數(shù)據(jù) 值在非壓縮結(jié)構(gòu)中的位置的映射,所述方法包括以下步驟接收要加載到所述非壓縮結(jié)構(gòu) 中的所述至少一個(gè)數(shù)據(jù)值的至少一個(gè)位置,使用所述映射來(lái)識(shí)別所述至少一個(gè)數(shù)據(jù)值在所 述壓縮結(jié)構(gòu)內(nèi)的至少一個(gè)存儲(chǔ)位置,并且使用所述至少一個(gè)存儲(chǔ)位置將所述至少一個(gè)數(shù)據(jù) 值從所述存儲(chǔ)器加載到所述處理器。
21.根據(jù)權(quán)利要求20所述的方法,其中,所述方法僅加載所識(shí)別出的至少一個(gè)位置的數(shù)據(jù)值。
22.根據(jù)權(quán)利要求21所述的方法,其中,所述方法包括在提取所述至少一個(gè)數(shù)據(jù)值之 前獲得所述壓縮數(shù)據(jù)結(jié)構(gòu)的映射的步驟。
23.根據(jù)權(quán)利要求22所述的方法,其中,所述獲得映射的步驟包括從所述存儲(chǔ)器中提 取映射。
24.根據(jù)權(quán)利要求21至23中任一項(xiàng)所述的方法,其中,所述復(fù)雜數(shù)據(jù)值為非零值。
25.根據(jù)權(quán)利要求21至24中任一項(xiàng)所述的方法,其中,在所請(qǐng)求的數(shù)據(jù)值為復(fù)雜值 的情況下,所述方法被配置為根據(jù)所述映射對(duì)所請(qǐng)求的數(shù)據(jù)值前面的復(fù)雜值的數(shù)量進(jìn)行計(jì) 數(shù),并相應(yīng)地設(shè)置所述隨機(jī)存取存儲(chǔ)器存取地址。
26.根據(jù)權(quán)利要求21至25中任一項(xiàng)所述的方法,其中,所述方法在所述處理器與存儲(chǔ) 器之間每次傳送多個(gè)數(shù)據(jù)值。
27.根據(jù)權(quán)利要求21至24中任一項(xiàng)所述的方法,其中,在所接收到的至少一個(gè)位置對(duì) 應(yīng)于簡(jiǎn)單值在所述非壓縮結(jié)構(gòu)中的位置的情況下,所述方法被配置為直接將所述簡(jiǎn)單值提 供給所述處理器。
28.根據(jù)權(quán)利要求21至27中任一項(xiàng)所述的方法,其中,所述數(shù)據(jù)值是浮點(diǎn)數(shù)。
29.根據(jù)權(quán)利要求28所述的方法,其中,所述數(shù)據(jù)值是單精度浮點(diǎn)數(shù)。
30.根據(jù)權(quán)利要求28所述的方法,其中,所述數(shù)據(jù)值是雙精度浮點(diǎn)數(shù)。
31.根據(jù)權(quán)利要求28所述的方法,其中,所述數(shù)據(jù)值是擴(kuò)展精度浮點(diǎn)數(shù)。
32.根據(jù)權(quán)利要求28所述的方法,其中,所述數(shù)據(jù)值是128比特精度浮點(diǎn)數(shù)。
33.根據(jù)權(quán)利要求21至27中任一項(xiàng)所述的方法,其中,所述數(shù)據(jù)值是整型數(shù)。
34.根據(jù)權(quán)利要求21所述的方法,其中,所述數(shù)據(jù)值是浮點(diǎn)、浮點(diǎn)矩陣、浮點(diǎn)矢量和固 定點(diǎn)整型數(shù)的組合。
35.一種具有數(shù)據(jù)傳送功能部件的數(shù)據(jù)處理機(jī),所述數(shù)據(jù)傳送功能部件用于將至少一 個(gè)數(shù)據(jù)值從壓縮結(jié)構(gòu)加載到存儲(chǔ)器中,所述壓縮結(jié)構(gòu)包括僅存在復(fù)雜數(shù)據(jù)值的多個(gè)數(shù)據(jù)值 以及標(biāo)識(shí)所述復(fù)雜數(shù)據(jù)值在等效非壓縮結(jié)構(gòu)中的位置的映射,所述數(shù)據(jù)傳送功能部件響應(yīng) 于指令來(lái)加載所述數(shù)據(jù)值,所述指令標(biāo)識(shí)所述數(shù)據(jù)值在所述等效非壓縮結(jié)構(gòu)中的位置,所 述數(shù)據(jù)傳送功能適于生成相對(duì)于所標(biāo)識(shí)的位置的存儲(chǔ)器偏移,并且適于使用所述偏移來(lái)從 存儲(chǔ)器傳送數(shù)據(jù)值。
36.根據(jù)權(quán)利要求35所述的數(shù)據(jù)處理機(jī),其中,所述數(shù)據(jù)處理機(jī)是處理器。
37.根據(jù)權(quán)利要求35的數(shù)據(jù)處理機(jī),其中,所述數(shù)據(jù)機(jī)是狀態(tài)機(jī)。
38.一種具有指令集架構(gòu)的處理器,所述指令集架構(gòu)包括用于將至少一個(gè)數(shù)據(jù)值從非 壓縮數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)到隨機(jī)存取存儲(chǔ)器中的對(duì)應(yīng)壓縮數(shù)據(jù)結(jié)構(gòu)中的至少一個(gè)存儲(chǔ)指令,所述 至少一個(gè)存儲(chǔ)指令包括操作碼以及標(biāo)識(shí)所述至少一個(gè)數(shù)據(jù)值在所述非壓縮數(shù)據(jù)結(jié)構(gòu)中的 位置的至少一個(gè)操作數(shù),所述處理器適于使用示出數(shù)據(jù)值在所述壓縮結(jié)構(gòu)內(nèi)的位置的映 射來(lái)將所述至少一個(gè)數(shù)據(jù)值在非壓縮形式中的位置轉(zhuǎn)換為所述數(shù)據(jù)值在所述壓縮結(jié)構(gòu)中 的存儲(chǔ)器位置,并且還適于在該存儲(chǔ)器位置處存儲(chǔ)所述至少一個(gè)數(shù)據(jù)值。
39.根據(jù)權(quán)利要求38所述的處理器,其中,所述非壓縮結(jié)構(gòu)包括簡(jiǎn)單值和復(fù)雜值,并且 所述壓縮結(jié)構(gòu)僅包括復(fù)雜數(shù)據(jù)值。
40.根據(jù)權(quán)利要求38或權(quán)利要求39所述的處理器,其中,所述映射是所述壓縮數(shù)據(jù)結(jié)構(gòu)的一部分,并且表示復(fù)雜數(shù)據(jù)值在所述非壓縮數(shù)據(jù)結(jié)構(gòu)中的位置。
41.根據(jù)權(quán)利要求40所述的處理器,其中,所述處理器被配置為在存儲(chǔ)所請(qǐng)求的值之 前從存儲(chǔ)器獲得所述壓縮數(shù)據(jù)結(jié)構(gòu)的映射。
42.根據(jù)權(quán)利要求40或41所述的處理器,其中,所述復(fù)雜數(shù)據(jù)值為非零值。
43.根據(jù)權(quán)利要求38至42中任一項(xiàng)所述的處理器,其中,所述處理器被配置為根據(jù)所 述映射對(duì)所述數(shù)據(jù)值前面的復(fù)雜值的數(shù)量進(jìn)行計(jì)數(shù),并相應(yīng)地設(shè)置所述隨機(jī)存取存儲(chǔ)器存 取地址。
44.根據(jù)權(quán)利要求43所述的處理器,其中,所述計(jì)數(shù)是使用一系列加法器來(lái)實(shí)現(xiàn)的。
45.根據(jù)權(quán)利要求38至44中任一項(xiàng)所述的處理器,其中,所述處理器響應(yīng)于所述操作 碼來(lái)每次存儲(chǔ)多個(gè)數(shù)據(jù)值。
46.根據(jù)權(quán)利要求38至45中任一項(xiàng)的處理器,其中,所述至少一個(gè)操作數(shù)包括隨機(jī)存 取存儲(chǔ)器中的所述壓縮數(shù)據(jù)結(jié)構(gòu)的基地址。
47.根據(jù)權(quán)利要求38至47中任一項(xiàng)的處理器,其中,所述壓縮數(shù)據(jù)結(jié)構(gòu)中的多個(gè)數(shù)據(jù) 值能夠通過(guò)一條指令被存儲(chǔ)。
48.根據(jù)權(quán)利要求38所述的處理器,其中,所述數(shù)據(jù)值是浮點(diǎn)數(shù)。
49.根據(jù)權(quán)利要求48所述的處理器,其中,所述數(shù)據(jù)值是單精度浮點(diǎn)數(shù)。
50.根據(jù)權(quán)利要求48所述的處理器,其中,所述數(shù)據(jù)值是雙精度浮點(diǎn)數(shù)。
51.根據(jù)權(quán)利要求48所述的處理器,其中,所述數(shù)據(jù)值是擴(kuò)展精度浮點(diǎn)數(shù)。
52.根據(jù)權(quán)利要求48所述的處理器,其中,所述數(shù)據(jù)值是128比特精度浮點(diǎn)數(shù)。
53.根據(jù)權(quán)利要求38所述的處理器,其中,所述數(shù)據(jù)值是整型數(shù)。
54.根據(jù)權(quán)利要求38所述的處理器,其中,所述數(shù)據(jù)值是浮點(diǎn)、浮點(diǎn)矩陣、浮點(diǎn)矢量和 固定點(diǎn)整型數(shù)的組合。
55.一種將數(shù)據(jù)值從處理器插入存儲(chǔ)器中的壓縮結(jié)構(gòu)中的方法,在所述壓縮結(jié)構(gòu)中僅 存在復(fù)雜數(shù)據(jù)值,所述壓縮結(jié)構(gòu)包括標(biāo)識(shí)所述復(fù)雜數(shù)據(jù)值在等效非壓縮結(jié)構(gòu)中的位置的映 射,所述方法包括以下步驟接收要被插入的所述數(shù)據(jù)值在所述非壓縮結(jié)構(gòu)中的位置,使用 所述映射來(lái)根據(jù)所接收到的位置識(shí)別所述數(shù)據(jù)值在所述壓縮結(jié)構(gòu)中的等效位置,以及使用 所述等效位置來(lái)將所述數(shù)據(jù)值存儲(chǔ)在所述存儲(chǔ)器中。
56.根據(jù)權(quán)利要求55所述的方法,其中,所述方法包括在存儲(chǔ)所述數(shù)據(jù)值之前獲得所 述壓縮數(shù)據(jù)結(jié)構(gòu)的所述映射的步驟。
57.根據(jù)權(quán)利要求56所述的方法,其中,所述獲得映射的步驟包括從所述存儲(chǔ)器中提 取所述映射。
58.根據(jù)權(quán)利要求55至57中任一項(xiàng)所述的方法,其中,所述復(fù)雜數(shù)據(jù)值為非零值。
59.根據(jù)權(quán)利要求55至58中任一項(xiàng)所述的方法,其中,在所請(qǐng)求的數(shù)據(jù)值為復(fù)雜值 的情況下,所述方法被配置為根據(jù)所述映射對(duì)所請(qǐng)求的數(shù)據(jù)值前面的復(fù)雜值的數(shù)量進(jìn)行計(jì) 數(shù),并相應(yīng)地設(shè)置所述隨機(jī)存取存儲(chǔ)器存取地址。
60.根據(jù)權(quán)利要求55至59中任一項(xiàng)所述的方法,其中,所述方法在所述處理器與存儲(chǔ) 器之間每次傳送多個(gè)雙數(shù)據(jù)值。
61.根據(jù)權(quán)利要求55至60中任一項(xiàng)所述的方法,其中,所述數(shù)據(jù)值是浮點(diǎn)數(shù)。
62.根據(jù)權(quán)利要求61所述的方法,其中,所述數(shù)據(jù)值是單精度浮點(diǎn)數(shù)。
63.根據(jù)權(quán)利要求61所述的方法,其中,所述數(shù)據(jù)值是雙精度浮點(diǎn)數(shù)。
64.根據(jù)權(quán)利要求61所述的方法,其中,所述數(shù)據(jù)值是擴(kuò)展精度浮點(diǎn)數(shù)。
65.根據(jù)權(quán)利要求61所述的方法,其中,所述數(shù)據(jù)值是128比特精度浮點(diǎn)數(shù)。
66.根據(jù)權(quán)利要求55至60中任一項(xiàng)所述的方法,其中,所述數(shù)據(jù)值是整型數(shù)。
67.根據(jù)權(quán)利要求55所述的方法,其中,所述數(shù)據(jù)值是浮點(diǎn)、浮點(diǎn)矩陣、浮點(diǎn)矢量和固 定點(diǎn)整型數(shù)的組合。
68.一種具有數(shù)據(jù)傳送功能部件的數(shù)據(jù)處理機(jī),所述數(shù)據(jù)傳送功能部件用于將數(shù)據(jù)值 直接存儲(chǔ)到存儲(chǔ)器中的壓縮結(jié)構(gòu)中,所述壓縮結(jié)構(gòu)包括僅存在復(fù)雜數(shù)據(jù)值的多個(gè)數(shù)據(jù)值以 及標(biāo)識(shí)所述復(fù)雜數(shù)據(jù)值在等效非壓縮結(jié)構(gòu)中的位置的映射,所述數(shù)據(jù)傳送功能部件響應(yīng)于 指令來(lái)存儲(chǔ)所述數(shù)據(jù)值,所述指令標(biāo)識(shí)所述數(shù)據(jù)值在所述等效非壓縮結(jié)構(gòu)中的位置,所述 數(shù)據(jù)傳送功能適于生成相對(duì)于所標(biāo)識(shí)的位置的存儲(chǔ)器偏移,以及適于使用所述偏移來(lái)存取 所述存儲(chǔ)器以將所述數(shù)據(jù)值存儲(chǔ)到存儲(chǔ)器中。
69.根據(jù)權(quán)利要求68所述的數(shù)據(jù)處理機(jī),其中,所述數(shù)據(jù)處理機(jī)是處理器。
70.根據(jù)權(quán)利要求68所述的數(shù)據(jù)處理機(jī),其中,所述數(shù)據(jù)機(jī)是狀態(tài)機(jī)。
全文摘要
本申請(qǐng)?zhí)峁┮环N隨機(jī)存取存儲(chǔ)器中的壓縮結(jié)構(gòu)而無(wú)需提取并且解壓縮整個(gè)壓縮結(jié)構(gòu)的方法。
文檔編號(hào)G06F9/312GK101971139SQ200980108397
公開(kāi)日2011年2月9日 申請(qǐng)日期2009年2月11日 優(yōu)先權(quán)日2008年2月11日
發(fā)明者大衛(wèi)·馬洛尼 申請(qǐng)人:線性代數(shù)技術(shù)有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1