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

存儲(chǔ)器分配的設(shè)置的制作方法

文檔序號(hào):6477162閱讀:245來源:國(guó)知局
專利名稱:存儲(chǔ)器分配的設(shè)置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及多處理器計(jì)算機(jī)領(lǐng)域,更具體地,涉及管理處理器的存儲(chǔ) 器分配的設(shè)置。
背景技術(shù)
一種流行的多單元并行處理器配置是單指令流、多數(shù)據(jù)流(SIMD ) 架構(gòu)。在SIMD系統(tǒng)中,向所有活動(dòng)的處理單元提供相同的指令。每個(gè)處 理單元可具有自己的寄存器集,以及用于處理單元接收唯一數(shù)據(jù)的一些裝 置。在更新的多處理器芯片中,可實(shí)現(xiàn)多個(gè)小型處理單元(PU),有時(shí)稱 為"協(xié)同處理元件(SPE)",其中每個(gè)SPE通常是利用更筒單的指令集 的精簡(jiǎn)指令集計(jì)算機(jī)。SPE可具有極大精簡(jiǎn)的存儲(chǔ)器分配。在多處理器配 置中,每個(gè)處理器可具有相對(duì)較小的存儲(chǔ)器分配,例如只有256K存儲(chǔ)器。
在處理單元處理指令和生成結(jié)果之后,必須將結(jié)果存儲(chǔ)在此相對(duì)較小 的存儲(chǔ)器空間中。此存儲(chǔ)器典型地用于文本、數(shù)據(jù)、以及棧和堆(heap) 操作。堆可以是動(dòng)態(tài)分配的變量的集合,或是用于分配存儲(chǔ)的區(qū)域(其生 命期與當(dāng)前例程的執(zhí)行無關(guān)),以及是由系統(tǒng)軟件和系統(tǒng)擴(kuò)展分配的保存 頻繁使用的指令的區(qū)域。棧可以是在后進(jìn)后出基礎(chǔ)上使用數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)。
大型計(jì)算機(jī)中的存儲(chǔ)器分配硬件和軟件非常復(fù)雜。然而,當(dāng)利用較小 的處理單元和存儲(chǔ)器系統(tǒng)時(shí),由于缺乏用于此類開銷的空間,所以無法利 用復(fù)雜的存儲(chǔ)器分配算法。但是,這種較小的存儲(chǔ)器空間對(duì)有效使用存儲(chǔ) 器或存儲(chǔ)器分配產(chǎn)生了甚至更大的需求。
在操作期間,以及當(dāng)例如PU的請(qǐng)求方需要存儲(chǔ)數(shù)據(jù)或利用存儲(chǔ)器時(shí), 請(qǐng)求方(即PU)可請(qǐng)求指定量的存儲(chǔ)器,以及被請(qǐng)求方或分配器可處理請(qǐng)
4求,并向請(qǐng)求方返回地址或地址塊。被請(qǐng)求方可以是PU,并且可能不是專
用硬件,但是可以是在同一硬件(即同一處理單元)上運(yùn)行的軟件。分配 器可識(shí)別可用的或"釋放的"存儲(chǔ)器區(qū)域,并向請(qǐng)求方返回這些地址。隨 后,請(qǐng)求方可向存儲(chǔ)器發(fā)送數(shù)據(jù),將數(shù)據(jù)存儲(chǔ)在由分配器分配的地址處。 這通常稱為動(dòng)態(tài)存儲(chǔ)器分配,其中使用并l^釋放存儲(chǔ)器區(qū)域,并且分配 器可跟蹤存儲(chǔ)器單元的狀態(tài),并且基于存儲(chǔ)器中空閑的單元向處理單元返 回地址。靜態(tài)存儲(chǔ)器分配更快,但是由于其具有固定的限制而不靈活。
通常,數(shù)據(jù)對(duì)齊和存儲(chǔ)器分配是在計(jì)算機(jī)存儲(chǔ)器中排列和訪問數(shù)據(jù)的 方式。對(duì)于所有現(xiàn)代的計(jì)算機(jī),數(shù)據(jù)對(duì)齊是基礎(chǔ),但卻是難題。不同的計(jì) 算機(jī)語言截然不同地處理數(shù)據(jù)存儲(chǔ)分配和數(shù)據(jù)對(duì)齊,其中一些方案具有相
當(dāng)大的開銷并且非常復(fù)雜。通常,存儲(chǔ)器系統(tǒng)基于16字節(jié)運(yùn)行或被優(yōu)化為 基于16字節(jié)運(yùn)行(即存儲(chǔ)和檢索數(shù)據(jù))。典型地,這基于存儲(chǔ)器總線的大 小、寄存器大小等。處理更小的數(shù)據(jù)段可為分配器帶來重要問題。例如, 當(dāng)僅需要存儲(chǔ)4個(gè)字節(jié)時(shí),系統(tǒng)可向具有16個(gè)可用字節(jié)的區(qū)域僅寫入4 個(gè)字節(jié)。當(dāng)發(fā)生這種情況并隨后檢索這4個(gè)字節(jié)時(shí),數(shù)據(jù)結(jié)構(gòu)對(duì)齊還會(huì)產(chǎn) 生額外的低效率。
當(dāng)返回分配以便使用時(shí),存儲(chǔ)器分配器通常將使用所分配存儲(chǔ)器之前 的一些空間或?qū)⒔Y(jié)構(gòu)中的其他位置用于內(nèi)部使用。這通常稱為"標(biāo)頭"。 標(biāo)頭通常包含例如分配大小的信息。因?yàn)榇藰?biāo)頭僅由存儲(chǔ)器分配器內(nèi)部使 用,所以其被認(rèn)為是"開銷"并減少了可分配的可用空閑存儲(chǔ)器。

發(fā)明內(nèi)容
通過管理存儲(chǔ)器的方法和設(shè)置可解決以上的大部分問題。在一個(gè)實(shí)施 例中, 一種方法可包括接收對(duì)特定大小的連續(xù)存儲(chǔ)器量的請(qǐng)求,定位足 夠大以填充所述請(qǐng)求的空閑存儲(chǔ)器區(qū)域,以及返回指向該空閑存儲(chǔ)器的指 針或與所述請(qǐng)求的大小相關(guān)的地址。所述地址可以是段大小的倍數(shù)。系統(tǒng) 可在所述存儲(chǔ)器地址處存儲(chǔ)產(chǎn)生該請(qǐng)求的數(shù)據(jù)。
在另一方法實(shí)施例中, 一種系統(tǒng)可接收存儲(chǔ)器分配請(qǐng)求,其中所述請(qǐng)
5求指示要存儲(chǔ)的數(shù)據(jù)量;確定要存儲(chǔ)的數(shù)據(jù)量是否為非標(biāo)準(zhǔn)量;如果所述 量是非標(biāo)準(zhǔn)量,則基于要存儲(chǔ)的數(shù)據(jù)量的倍數(shù)定位未分配的存儲(chǔ)器地址。 如果系統(tǒng)以16字節(jié)對(duì)齊為基礎(chǔ)建立,則8字節(jié)、4字節(jié)、2字節(jié)和l字節(jié) 可以是非標(biāo)準(zhǔn)分配。相同的非標(biāo)準(zhǔn)分配可應(yīng)用于128、 64、 32、 8和4字節(jié) 系統(tǒng)。定位還可包括從存儲(chǔ)器地址池定位未分配的存儲(chǔ)器地址,其中所 述地址池包括要存儲(chǔ)的數(shù)據(jù)量的整數(shù)倍,并且不包括是要存儲(chǔ)的數(shù)據(jù)量的 2倍的倍數(shù)的地址。
在一個(gè)實(shí)施例中,^S開了一種方法,用于為一組處理單元中的處理器 單元分配存儲(chǔ)器。該方法可包括接收存儲(chǔ)器分配請(qǐng)求,其中所述請(qǐng)求可 指示完成指令執(zhí)行所需的連續(xù)存儲(chǔ)器量。該方法可確定所述指示符或所述 量是否指示非標(biāo)準(zhǔn)分配,并且如果所述指示符是非標(biāo)準(zhǔn)分配,則基于所述 量的倍數(shù)定位未分配的存儲(chǔ)器地址。該方法還可包括從存儲(chǔ)器地址池定 位未分配的存儲(chǔ)器地址,其中所述地址池包括所請(qǐng)求量的整數(shù)倍,并且不 包括是所述量的2倍的地址,從而可利用所述地址來確定分配大小。
在另一實(shí)施例中,公開了一種方法,用于為處理單元分配存儲(chǔ)器。該 方法可包括確定要在存儲(chǔ)器中存儲(chǔ)的段的大小;請(qǐng)求要存儲(chǔ)所述段的存 儲(chǔ)器地址;接收是所述段的大小的倍數(shù)的存儲(chǔ)器地址;以及在代表所述倍 數(shù)的存儲(chǔ)器地址處存儲(chǔ)所述段。相應(yīng)地,該方法可基于要存儲(chǔ)的數(shù)據(jù)量在 地址邊界上對(duì)齊字節(jié)。這種設(shè)置允許固定長(zhǎng)度的分配器在不同時(shí)鐘期間在 相同固定長(zhǎng)度分配中存儲(chǔ)字節(jié),從而壓縮可由標(biāo)準(zhǔn)固定長(zhǎng)度分配器存儲(chǔ)的 數(shù)據(jù)量。
在另一實(shí)施例中,公開了一種存儲(chǔ)器分配系統(tǒng)。該系統(tǒng)可包括存儲(chǔ) 器,其具有預(yù)定分配大?。获詈现了龃鎯?chǔ)器的處理器,其提供具有小于 所述預(yù)定分配大小的字節(jié)數(shù)的存儲(chǔ)器分配請(qǐng)求;以及存儲(chǔ)器分配器。由例 如存儲(chǔ)器分配器的硬件執(zhí)行的指令可響應(yīng)于所述存儲(chǔ)器分配請(qǐng)求而提供可 用存儲(chǔ)器單元的至少 一個(gè)存儲(chǔ)器地址。
所述至少一個(gè)存儲(chǔ)器地址可提供小于預(yù)定最小分配大小但足夠大以滿 足請(qǐng)求的分配。在另一實(shí)施例中,該系統(tǒng)可包括發(fā)送器,其向存儲(chǔ)器單
6元發(fā)送與所述存儲(chǔ)器單元對(duì)應(yīng)的結(jié)果。該系統(tǒng)還可包括編碼器,其編碼 與所述存儲(chǔ)器分配相關(guān)的數(shù)據(jù)。此外,該系統(tǒng)可包括跟蹤器,其跟蹤被 部分填充的預(yù)定分配大??;以及多功能定位器模塊,其可定位是要存儲(chǔ)的 字節(jié)大小的函數(shù)的地址。


圖1示出處理系統(tǒng)的實(shí)施例;
圖2示出存儲(chǔ)器分配系統(tǒng)的框圖;以及
圖3示出存儲(chǔ)器分配系統(tǒng)的流程圖。
以下是附圖中描述的本發(fā)明實(shí)施例的具體實(shí)施方式
。實(shí)施例的細(xì)節(jié)足 以清楚地傳達(dá)發(fā)明。然而,所提供的細(xì)節(jié)量并非旨在限制實(shí)施例的期望變 型;相反,其旨在覆蓋落入由所附權(quán)利要求限定的本發(fā)明的精神和范圍內(nèi) 的所有修改、等同物、和備選物。盡管以下參照特定電路或邏輯配置描述 特定實(shí)施例,但是本領(lǐng)域普通技術(shù)人員可理解,通過其他類似的配置也可 有利地實(shí)現(xiàn)本發(fā)明的實(shí)施例。
如上所述,多處理單元環(huán)境中的處理單元可具有例如僅256K的較小 存儲(chǔ)器分配。有限的存儲(chǔ)器典型地用于文本、數(shù)據(jù)、以及棧和堆操作。由 于此有限的存儲(chǔ)器空間和存儲(chǔ)較小數(shù)據(jù)段的需求非常罕見,所以實(shí)踐中無 法使用復(fù)雜的存儲(chǔ)器分配算法。可理解,用于此類算法的最小代碼是如此 大而復(fù)雜,以致存儲(chǔ)和執(zhí)行此類代碼的經(jīng)濟(jì)性抵消了由此類系統(tǒng)提供的高 效存儲(chǔ)器分配所帶來的任何節(jié)省。典型地,多處理器系統(tǒng)具有較小處理單 元,其中每個(gè)處理單元具有精簡(jiǎn)指令集。許多可用多處理器產(chǎn)品將這種單 元的存儲(chǔ)器分配成16字節(jié)的倍數(shù),因此16字節(jié)對(duì)齊通常是所支持的僅有 方法。在此一維模式下運(yùn)行的這種簡(jiǎn)化的存儲(chǔ)器分配系統(tǒng)是經(jīng)濟(jì)的,但是 在要存儲(chǔ)的段小于16字節(jié)時(shí),可通過利用不同對(duì)齊來被極大地改進(jìn)。
典型地,這些16字節(jié)分配器存儲(chǔ)同樣可減少帶寬和消耗大量存儲(chǔ)器的某種形式的標(biāo)頭,給這些系統(tǒng)帶來了缺陷。許多當(dāng)前的系統(tǒng)利用4字節(jié)標(biāo) 頭??衫脴?biāo)頭來跟蹤所需的分配。當(dāng)處理單元請(qǐng)求少量字節(jié)(在這種情 況下小于16)時(shí),由于當(dāng)l字節(jié)需要存儲(chǔ)時(shí)將與l字節(jié)一起存儲(chǔ)4字節(jié)標(biāo) 頭,所以這種i史置導(dǎo)致低效率浪費(fèi)。這種低效率操作出現(xiàn)在大部分嵌入式 處理器中,而不僅僅是單元類型處理器或處理單元。
現(xiàn)在轉(zhuǎn)到附圖,圖l用框圖形式示出具有存儲(chǔ)器分配器的多處理器處 理系統(tǒng)100。系統(tǒng)100可以是例如個(gè)人計(jì)算機(jī)系統(tǒng)、高性能^L頻系統(tǒng)、或 服務(wù)器。所公開的系統(tǒng)100可利用存儲(chǔ)器分配器118來存儲(chǔ)指令,并基于 數(shù)據(jù)大小、或要存儲(chǔ)的數(shù)據(jù)量對(duì)齊此類數(shù)據(jù)。通常,系統(tǒng)100是可實(shí)現(xiàn)這 里公開的高效存儲(chǔ)器分配設(shè)置的許多系統(tǒng)之一。
系統(tǒng)100可執(zhí)行在操作系統(tǒng)上運(yùn)行的所有軟件集,并且系統(tǒng)100可根 據(jù)加栽的軟件應(yīng)用(多個(gè))通過使用MCC 110來執(zhí)行大量處理任務(wù)。盡 管這里將描述一個(gè)系統(tǒng),但是工作站或主機(jī)和其他配置、操作系統(tǒng)或計(jì)算 環(huán)境將不脫離本發(fā)明的范圍。
MCC110還包括協(xié)同處理單元,其可以是專用數(shù)據(jù)處理器;存儲(chǔ)器 分配器128和存儲(chǔ)器,包括本地存儲(chǔ)器118,隨M取存儲(chǔ)器112,只讀存 儲(chǔ)器114。系統(tǒng)100還可包括輸入輸出適配器122、用戶接口適配器(UIA) 120、通信接口適配器124、和多媒體控制器126。
輸入輸出(1/0 )適配器122可連接至和控制盤驅(qū)動(dòng)器147、打印機(jī)145、 可移動(dòng)存^i殳備146、以及其他標(biāo)準(zhǔn)和專用1/Oi殳備。UIA120可看作專用 1/0適配器。圖示的UIA120連接至鼠標(biāo)140和鍵盤141。此外,UIA120 可連接至能夠提供各種類型的用戶控制的其他設(shè)備,例如觸摸屏設(shè)備(未 示出)。
通信接口適配器124可連接至橋接器150,與本地或廣域網(wǎng)橋接;以 及連接至調(diào)制解調(diào)器151。通過將系統(tǒng)執(zhí)行102連接至各個(gè)通信設(shè)備,可 獲得對(duì)信息的外部訪問。多媒體控制器126通常包括視頻圖形控制器,其 能夠在監(jiān)視器160上顯示圖像,以及向外部組件(未示出)提供音頻。通 常,可由存儲(chǔ)器分配器128執(zhí)行這里所述的存儲(chǔ)器管理設(shè)置。存儲(chǔ)器分配
8器128可為請(qǐng)求存儲(chǔ)器以存儲(chǔ)所執(zhí)行的指令和數(shù)據(jù)的結(jié)果的處理單元分配 存儲(chǔ)器單元。
存儲(chǔ)器分配器128可比傳統(tǒng)分配器更有效地運(yùn)行,并且可增加本地存 儲(chǔ)器118中數(shù)據(jù)存儲(chǔ)的密度。存儲(chǔ)器分配器128可與MCC 110集成,可 與本地存儲(chǔ)器118集成,和/或可作為MCC 110的同一集成電路上的獨(dú)立 模塊來實(shí)現(xiàn)。此外,存儲(chǔ)器分配器可以是由處理單元(例如MCC 110中 包含的處理單元)運(yùn)行的算法。
公開了有效管理和分配存儲(chǔ)器單元并以較低硬件和執(zhí)行開銷存儲(chǔ)數(shù)據(jù) 的設(shè)置。在一個(gè)實(shí)施例中,可利用"無標(biāo)頭"通信或具有精簡(jiǎn)標(biāo)頭的通信 將數(shù)據(jù)從MCC 110移動(dòng)至本地存儲(chǔ)器118,以及從本地存儲(chǔ)器118移動(dòng)至 MCC110。當(dāng)有時(shí)MCC110具有需要存儲(chǔ)的數(shù)據(jù)時(shí),MCC110的多個(gè)部 分可請(qǐng)求此類數(shù)據(jù)的存儲(chǔ)器地址,并且來自MCC110的請(qǐng)求可包括MCC 110期望在本地存儲(chǔ)器118中存儲(chǔ)的數(shù)目或字節(jié)。存儲(chǔ)器分配器128可返 回存儲(chǔ)器地址,其中由分配器128返回的實(shí)際地址或"數(shù)目"取決于要存 儲(chǔ)的字節(jié)數(shù)目,從而基于要存儲(chǔ)在一起的字節(jié)數(shù)目對(duì)齊存儲(chǔ)的數(shù)據(jù)。
參照?qǐng)D2,公開了處理模塊200的筒化配置的框圖。模塊200可包括 一個(gè)處理單元102,其具有存儲(chǔ)器和專用分配器104。分配器可包括乘法器 210、編碼器212和5艮蹤器214。在一個(gè)實(shí)施例中,來自多處理器環(huán)境的處 理單元202可請(qǐng)求和接受來自存儲(chǔ)器(例如系統(tǒng)存儲(chǔ)器220)的指令,并 在處理指令之后可將此類處理的結(jié)果存儲(chǔ)在本地存儲(chǔ)器206中。因此,在 操作中,處理單元202可確定其需要存儲(chǔ)器分配,并且可向分配器204發(fā) 送請(qǐng)求。請(qǐng)求可包括處理單元需要存儲(chǔ)的字節(jié)的數(shù)目。分配器214通過利 用跟蹤模塊214檢查具有基于字節(jié)數(shù)目的對(duì)齊的可用存儲(chǔ)器單元。當(dāng)發(fā)現(xiàn) 存儲(chǔ)器206中的適當(dāng)單元時(shí),分配器204可向處理單元202發(fā)送回此存儲(chǔ) 器地址。
存儲(chǔ)器分配器204可通過采用在分配請(qǐng)求中的字節(jié)數(shù)目以及利用乘法 器模塊210將此數(shù)目與乘數(shù)相乘來提供數(shù)據(jù)對(duì)齊。得到的地址將提供取決 于要存儲(chǔ)的字節(jié)數(shù)目的對(duì)齊。可以說,由分配器204提供的地址可提供取
9決于要存儲(chǔ)的字節(jié)數(shù)目的具有"自然,,邊界或?qū)R的地址。當(dāng)基于要存儲(chǔ) 的這些數(shù)目或相關(guān)字節(jié)在特定單元存儲(chǔ)數(shù)據(jù)時(shí),將產(chǎn)生自然邊界,從而當(dāng) 在隨后時(shí)鐘周期中需要時(shí),數(shù)據(jù)可被有效檢索并與適當(dāng)?shù)奶幚韱卧獙?duì)齊。
為了示例性目的,基于利用16字節(jié)存儲(chǔ)器邊界的系統(tǒng)提供以下論述。 由于此配置常用于許多目前的多處理器系統(tǒng)中,所以利用16字節(jié)的基J出。 然而,以下公開內(nèi)容用作實(shí)例,并非以任意方式作為對(duì)這里所述的任何特 征的限制。例如,如下描述可應(yīng)用于8、 32、 64和128字節(jié)對(duì)齊的系統(tǒng)。 傳統(tǒng)地,包含多于16個(gè)字節(jié)的數(shù)據(jù)段將利用在是16的倍數(shù)的地址處存儲(chǔ) 第一字節(jié)的第一位的16字節(jié)對(duì)齊。然而,當(dāng)在存儲(chǔ)器中需要對(duì)齊具有16 字節(jié)的一部分的數(shù)據(jù)段時(shí),傳統(tǒng)配置可具有嚴(yán)重的低效率。
根據(jù)本發(fā)明,當(dāng)處理單元需要分配8至15個(gè)字節(jié)時(shí),可利用8個(gè)字節(jié) 來對(duì)齊分配;當(dāng)處理單元需要存儲(chǔ)4至7個(gè)字節(jié)時(shí),可利用4字節(jié)對(duì)齊; 當(dāng)要存儲(chǔ)2和3個(gè)字節(jié)時(shí),可利用2字節(jié)對(duì)齊;以及當(dāng)要存儲(chǔ)1個(gè)字節(jié)時(shí), 可利用1字節(jié)對(duì)齊。此對(duì)齊過程允許將字節(jié)更緊湊地封裝到存儲(chǔ)器,還允 許更小的開銷來提供此類對(duì)齊。
以二進(jìn)制形式提供計(jì)算機(jī)中的存儲(chǔ)器地址。當(dāng)以十六進(jìn)制(基數(shù)16) 形式呈現(xiàn)地址時(shí),個(gè)人將通常更易于理解二進(jìn)制(基數(shù)2)地址,因?yàn)?2*8=16,使得每個(gè)十六進(jìn)制數(shù)字代表8個(gè)二進(jìn)制數(shù)字。在一個(gè)實(shí)例中,當(dāng) 需要2個(gè)字節(jié)的分配時(shí),分配器204可返回可能為十六進(jìn)制的存儲(chǔ)器地址 或"數(shù)目,,,其具有要存儲(chǔ)的字節(jié)數(shù)目的倍數(shù)或以此結(jié)束。因此,可利用 由處理單元請(qǐng)求的與整數(shù)(即1、 2、 3...)相乘的要分配的字節(jié)數(shù)目至少 生成地址單元的低位以l更進(jìn)行分配。例如,當(dāng)處理單元請(qǐng)求2個(gè)字節(jié)時(shí), 可由分配器214返回的地址可以是56的"2"倍(對(duì)于2個(gè)字節(jié))或112, 在十六進(jìn)制下是0x70,在十六進(jìn)制下習(xí)慣地在十六進(jìn)制數(shù)目的前端放置前 導(dǎo)的Ox以指示該地址是十六進(jìn)制形式。
這種分配設(shè)置形成對(duì)于2個(gè)字節(jié)"自然的"地址邊界,因此基于要存 儲(chǔ)的字節(jié)數(shù)目提供了動(dòng)態(tài)的地址邊界。在傳統(tǒng)系統(tǒng)中,通過傳統(tǒng)存儲(chǔ)器分 配器在這種情形下一致地提供統(tǒng)一地址邊界(即16或32字節(jié)的邊界)。根據(jù)本發(fā)明,可基于處理單元202期望存儲(chǔ)的字節(jié)數(shù)目向處理單元202提 供存儲(chǔ)器地址和地址邊界。
基于要存儲(chǔ)的字節(jié)數(shù)目安排邊界允許用各種組合(2字節(jié)、4字節(jié)和8 字節(jié)組合)來填充16字節(jié)段,從而將處理單元存儲(chǔ)的數(shù)據(jù)壓縮到更小的存 儲(chǔ)區(qū)域中。如上所述,這里討論的和用以描述本發(fā)明特征的16字節(jié)邊界僅 是地址邊界的一個(gè)實(shí)例/標(biāo)準(zhǔn),并且以上討論同樣很好地用于8字節(jié)、32 字節(jié)、64字節(jié)和128字節(jié)邊界。
當(dāng)在一個(gè)時(shí)鐘周期期間存儲(chǔ)16個(gè)字節(jié)時(shí),可將16字節(jié)段看作同構(gòu)的, 當(dāng)利用小于16字節(jié)的邊界并且在16字節(jié)區(qū)域中存儲(chǔ)2個(gè)4字節(jié)與8字節(jié) 的組合時(shí),16字節(jié)區(qū)域可變?yōu)?非同構(gòu)"。
此外,在這種非同構(gòu)區(qū)域中存儲(chǔ)的字節(jié)可以是不相關(guān)的。根據(jù)本發(fā)明, 存儲(chǔ)器分配器204中的跟蹤器模塊214可跟蹤或標(biāo)記存儲(chǔ)器206中的每個(gè) 非同構(gòu)16字節(jié)邊界,以及跟蹤每個(gè)非同構(gòu)16字節(jié)段中的存儲(chǔ)器地址單元 的使用,從而當(dāng)處理單元202需要非標(biāo)準(zhǔn)的"小型,,分配時(shí),分配器204 可提供此類單元,并且處理單元202可利用這些單元以通過利用這種"非 標(biāo)準(zhǔn)"字節(jié)對(duì)齊填充存儲(chǔ)器空缺。
相應(yīng)地,跟蹤器模塊214可根據(jù)這些特征跟蹤存儲(chǔ)器分配,并且可識(shí) 別構(gòu)成的16字節(jié)邊界中的各個(gè)可用的部分填充的段。當(dāng)處理單元202需要 存儲(chǔ)較小的段時(shí)(任何標(biāo)準(zhǔn)以下的,在提供的實(shí)例中為16字節(jié)),分配器 204可通過利用這里所述的字節(jié)大小倍數(shù)的分配提供具有所需小段容量的 地址。
這允許將緊湊配置中的一小組"多余大小的(odd sized)"字節(jié)封裝 到標(biāo)準(zhǔn)存儲(chǔ)器分配大小(即這里的16字節(jié))中。這些存儲(chǔ)器段可以#^口標(biāo) 簽或標(biāo)記為存儲(chǔ)器的非同構(gòu)段,并且可在此類非傳統(tǒng)的單元中放置這樣的 特定地址,即可容易定位的具有是要存儲(chǔ)的字節(jié)數(shù)目的倍數(shù)的"數(shù)目"的 特定地址。
在一個(gè)實(shí)例中,可基于2字節(jié)對(duì)齊(可除以2的地址)存儲(chǔ)2字節(jié)段, 然后利用4字節(jié)對(duì)齊(可除以4的地址)在同一 16字節(jié)存儲(chǔ)器單元中存儲(chǔ)隨后4個(gè)字節(jié)。分配器204可定位此4字節(jié)次標(biāo)準(zhǔn)或"小"段的可用性, 并返回同一16字節(jié)分配中是4的倍數(shù)的地址,用以存儲(chǔ)2個(gè)字節(jié)。然后, 跟蹤器214可記錄在此16字節(jié)段中另夕卜10個(gè)字節(jié)是可用的,并且該10 個(gè)字節(jié)可與2和4字節(jié)段共享。
假設(shè)將上述實(shí)例中的硬件(即202、 204、 206和208) i更計(jì)為作為16 字節(jié)系統(tǒng)有效運(yùn)行,可能由于16字節(jié)地址總線,以上特征可將不相關(guān)的數(shù) 據(jù)的各個(gè)段封裝到同一 16字節(jié)^/分配。因此,不是使得數(shù)據(jù)的一個(gè)小段
(1、 2、 4或8字節(jié))消耗整個(gè)16字節(jié)字段,而是系統(tǒng)200可將各種更小 的2、 4和8字節(jié)段封裝到16字節(jié)字私分配中。
根據(jù)一個(gè)實(shí)施例,更小分配可能在傳輸中不利用標(biāo)頭,并且可能不需 要與存儲(chǔ)的數(shù)據(jù)一起存儲(chǔ)標(biāo)頭。具體地,當(dāng)要存儲(chǔ)小段(例如1字節(jié)或2 字節(jié))時(shí),通過放棄標(biāo)頭設(shè)置可以在包括傳輸帶寬的開銷和存儲(chǔ)器使用中 實(shí)現(xiàn)大量節(jié)省。因此,可縮減標(biāo)頭的大小,或者可取消標(biāo)頭,并且編碼器 212可將位編碼到地址的低位中。相應(yīng)地,分配器204可將小段的數(shù)據(jù)在
"自然的"邊界上對(duì)齊,其中這些自然的邊界不是更大分配對(duì)齊(例如16 和32位)的倍數(shù),并且編碼器212可在邊界所在的位置編碼。
典型地,標(biāo)頭提供分配大小的指示。如果將標(biāo)頭存儲(chǔ)在除直接在分配 之前的某處(在相鄰地址處),其典型地還具有分配的地址,并且這進(jìn)一 步增加了開銷。標(biāo)頭可具有其他數(shù)據(jù),例如請(qǐng)求分配的線程和其他"內(nèi)部 事務(wù),,數(shù)據(jù),但是在一個(gè)實(shí)施例中,可僅存儲(chǔ)地址和大小以降低所公開系 統(tǒng)的開銷。
因此,在接收到指示期望的連續(xù)存儲(chǔ)器量或大小的存儲(chǔ)器分配請(qǐng)求時(shí), 分配器204可確定數(shù)目是否指示非標(biāo)準(zhǔn)分配。例如,在16字節(jié)環(huán)境下,8、 4、 2和1個(gè)字節(jié)可能是非標(biāo)準(zhǔn)分配。如果數(shù)目指示處理單元202正在進(jìn)行 非標(biāo)準(zhǔn)分配,則分配器204可基于要存儲(chǔ)的字節(jié)數(shù)的倍數(shù)定位未分配的存 儲(chǔ)器地址。
在一個(gè)實(shí)施例中,分配器可以從存儲(chǔ)器地址池定位未分配的存儲(chǔ)器地 址,其中地址池包括二進(jìn)制段的整數(shù)倍,并且不包括是二進(jìn)制段數(shù)的2倍的地址。這樣,地址將始終指定在分配的字段中存儲(chǔ)多少字節(jié),并且由于 可利用地址本身確定分配大小,所以將不需要標(biāo)頭信息。
備選地,在地址池實(shí)施例中,所述池是特定非標(biāo)準(zhǔn)字節(jié)大小的地址的 集合,其中所述集合包括非標(biāo)準(zhǔn)字節(jié)大小的倍數(shù),但是不包括是更大非標(biāo) 準(zhǔn)分配和標(biāo)準(zhǔn)分配大小的倍數(shù)的地址,標(biāo)頭信息是"冗余的"。在一個(gè)"池"
的實(shí)例中,當(dāng)存儲(chǔ)的數(shù)據(jù)具有是八(8)的倍數(shù),但并非十六(16)的倍數(shù) 的地址時(shí),處理單元(多個(gè))202可從該地址確定該分配的大小將至多為 八(8)個(gè)字節(jié)長(zhǎng)。例如,0x208將保存8字節(jié)分配而非16字節(jié)分配。同 樣,如果地址是四(4)的倍數(shù),但并非八(8)或十六(16)的倍數(shù),則 處理單元202可通過該地址確定該分配至多為四(4)個(gè)字節(jié)長(zhǎng)。可理解, 地址0x204將保存4個(gè)字節(jié),并且該地址也是4的整數(shù)倍,但并非16的整 數(shù)倍。在一個(gè)實(shí)施例中,分配器204可將十六(16)乘以整數(shù)并加上八(8 ), 以得到八(8)字節(jié)分配。分配器204還可通過僅添加8或4吏用標(biāo)準(zhǔn)或16 字節(jié)倍數(shù)對(duì)該值"取或(oring)"來得到此分配。
因此,對(duì)于8字節(jié)分配,十六(16)—字節(jié)_值卜八(8)是一種表示, 或16_字節(jié)_值+=8可以是另一可用分配。如上通過傳統(tǒng)系統(tǒng)所述,只有分 配器選擇分配16字節(jié)塊而不考慮所請(qǐng)求的大小時(shí),分配器才能通it^目減來 添加總16字節(jié),以得到原始的16字節(jié)對(duì)齊的地址。
在標(biāo)頭僅存儲(chǔ)分配的大小的系統(tǒng)中,由于僅由地址即可確定分配,所 以處理單元(多個(gè))202不需要標(biāo)頭來檢測(cè)分配的大小。在這種系統(tǒng)中, 由于不需要與分配大小相關(guān)的冗余數(shù)據(jù),所以可去除標(biāo)頭。
在另 一實(shí)施例中,系統(tǒng)可避免在是8的倍數(shù)的地址上創(chuàng)建4字節(jié)分配, 以向處理單元(多個(gè))202提供附加分辨率。因此,可以從對(duì)于4字節(jié)分 配可用的列表去除是8和16的倍數(shù)的地址。同樣,可以從對(duì)于2字節(jié)分配 可用的列表去除是4、 8和16的倍數(shù)的地址。相應(yīng)地,當(dāng)要分配8個(gè)字節(jié) 時(shí),分配器204可在是8的倍數(shù)但并非16的倍數(shù)的地址上進(jìn)行完整8字節(jié) 分配。此設(shè)置可以是優(yōu)選的方案,但并非絕對(duì)如此。例如,當(dāng)需要4字節(jié) 分配時(shí),假設(shè)分配器204不能夠發(fā)現(xiàn)是4的倍數(shù)的分配,但是可發(fā)現(xiàn)是8
13的倍數(shù)的分配,則分配器204可返回比所請(qǐng)求的分配更大的分配,并且由 于"過多分配",放棄標(biāo)頭仍舊可彌補(bǔ)潛在浪費(fèi)的空間。
可理解,可針對(duì)利用所公開的設(shè)置的指令和數(shù)據(jù)進(jìn)行存儲(chǔ)器分配。相 應(yīng)地,不存在硬性需求來實(shí)現(xiàn)在代碼行以及當(dāng)編譯時(shí)代碼將在存儲(chǔ)器中消 耗的位之間的一對(duì)一映射。然而,如果每個(gè)代碼行對(duì)應(yīng)于一個(gè)匯編指令, 并且每個(gè)指令是三十二 ( 32 )位指令,則指令將等同于每行4字節(jié),并且 六(6)個(gè)代碼行將占用32字節(jié)或256位??墒褂么丝臻g來存儲(chǔ)處理數(shù)據(jù) 的指令而非存儲(chǔ)數(shù)據(jù)本身。如上所述,具有有P艮存儲(chǔ)器的系統(tǒng)可分配存儲(chǔ) 器空間,以存儲(chǔ)處理數(shù)據(jù)的指令,保留有限的剩余空間存儲(chǔ)數(shù)據(jù)。
通過利用自然邊界(即,要存儲(chǔ)的字節(jié)的倍數(shù)),可將典型地在標(biāo)頭 中的信息編碼到地址中或地址的低位中。此外,編碼器212可確保"無標(biāo) 頭"分配對(duì)于每個(gè)小型/非標(biāo)準(zhǔn)分配節(jié)省4字節(jié)的存儲(chǔ)器空間。當(dāng)取消標(biāo)頭 時(shí),可節(jié)省大量的存儲(chǔ)器空間,并且當(dāng)為每個(gè)處理單元202僅分配較小存 儲(chǔ)器空間時(shí)尤其如此。為了 "代替"標(biāo)頭邊界數(shù)據(jù)或例如存儲(chǔ)數(shù)據(jù)的指示 符的信息,可將邊界信息置于地址的低位。
在存儲(chǔ)器分配處理的操作期間,在分配器204提供16字節(jié)分配之后, 如果要存儲(chǔ)的段大小小于或等于8字節(jié),則為了存儲(chǔ)指令或數(shù)據(jù)所選的地 址可以是與8相乘的整數(shù)"N,,。如果指令或數(shù)據(jù)的大小大于8字節(jié),則 分配器204可通過發(fā)送具有^皮分配的地址以;5L每個(gè)傳統(tǒng)^^作的大小的標(biāo)頭 來分配空間。當(dāng)是8的倍數(shù)的地址單元被釋放時(shí),分配器204可向空閑單 元列表添加例如十六進(jìn)制的地址&OxFFFFFFFO,其是16的倍數(shù)。
與傳統(tǒng)的僅16字節(jié)的分配系統(tǒng)(其中分配器向信息添加標(biāo)頭以跟蹤分 配)中使用的16個(gè)字節(jié)相比,所公開的設(shè)置可為每個(gè)分配節(jié)省4字節(jié)。在 一個(gè)實(shí)施例中,可向傳統(tǒng)的固定16字節(jié)系統(tǒng)添加附加代碼,以將16字節(jié) 分配進(jìn)一步細(xì)分成更小分配而不使用標(biāo)頭。然而,處理更小的指令段不是 規(guī)范并且可很少發(fā)生,因此對(duì)于這些更小指令段所需的代碼不能確保專用 的處理,并且當(dāng)這種較小分配不常見時(shí),系統(tǒng)可能不適應(yīng)使用分段代碼。
例如,可將16字節(jié)分配細(xì)分成1字節(jié)、2字節(jié)、4字節(jié)、和8字節(jié)段
14(其中1 + 2 + 4 + 8-15),并且此設(shè)置可利用被分配的16字節(jié)中的15個(gè) 字節(jié)。
12 4 8 _16^_
在所示的情況下,在存儲(chǔ)器中存儲(chǔ)更小指令或數(shù)據(jù)段所需的空間總共
是16字節(jié),其中傳統(tǒng)16字節(jié)系統(tǒng)將分配80個(gè)字節(jié),因?yàn)槊總€(gè)分配(l、 2、 4和8字節(jié))將占用16字節(jié),因此4 x 16 = 64+16字節(jié)用于標(biāo)頭(即,4 個(gè)標(biāo)頭,每個(gè)4字節(jié))將等于80??衫斫?,所公開的設(shè)置在存儲(chǔ)器中提供 了 64字節(jié)的節(jié)省(即80 - 16 - 64)。
在另一實(shí)施例中,如下所示,2個(gè)1字節(jié)分配,2個(gè)2字節(jié)分配,以及 2個(gè)4字節(jié)分配可凈皮封裝成16字節(jié)分配,以利用16個(gè)可用字節(jié)中的14個(gè)。
12 412 4 __16 _
在上述情況下,存儲(chǔ)指令或小段的數(shù)據(jù)所需的空間或存儲(chǔ)器是16字 節(jié),其中傳統(tǒng)系統(tǒng)將分配120字節(jié)(6 x (16 + 4))。可理解,以上設(shè)置 可在存儲(chǔ)器中提供104字節(jié)的節(jié)省(120-16)。在以上壓縮或"緊湊"的 形式中,所公開的設(shè)置可提供在代碼大小和效率之間的均衡,這對(duì)于嵌入 式處理器(例如具有有限存儲(chǔ)器資源的單元型存儲(chǔ)器)非常有用。如上所 述,可將標(biāo)頭類型信息編碼到所利用的地址中。
參照?qǐng)D3,公開了用于分配存儲(chǔ)器資源的方法的流程圖。如框302所 示,來自多核平臺(tái)的處理單元可執(zhí)行指令并產(chǎn)生結(jié)果。如框304所示,處 理單元可確定需要多少字節(jié)的存儲(chǔ)器來存儲(chǔ)結(jié)果。在決策框306,可確定 所需的字節(jié)數(shù)目是標(biāo)準(zhǔn)字節(jié)分配還是接近于標(biāo)準(zhǔn)字節(jié)分配。這可以是特定 的或預(yù)定的標(biāo)準(zhǔn),在一個(gè)實(shí)施例中,可以是16字節(jié)標(biāo)準(zhǔn)。如果字節(jié)分配滿足標(biāo)準(zhǔn),滿足預(yù)定分配框或接近于標(biāo)準(zhǔn),則如才醫(yī)308 所示,可^t出標(biāo)準(zhǔn)的固定長(zhǎng)度"加標(biāo)頭"分配,并且可存儲(chǔ)結(jié)果,如框309 所示,可結(jié)束處理。如果在決策框306,所需的字節(jié)分配小于標(biāo)準(zhǔn)或預(yù)定 長(zhǎng)度,則如框310所示,處理單元可請(qǐng)求是存儲(chǔ)結(jié)果所需的字節(jié)數(shù)的倍數(shù) 的非標(biāo)準(zhǔn)分配。
當(dāng)要存儲(chǔ)2個(gè)字節(jié)時(shí),在是2的倍數(shù)的地址上對(duì)齊2個(gè)字節(jié),或者該 地址可具有是8的倍數(shù)的邊界。當(dāng)要存儲(chǔ)4個(gè)字節(jié)時(shí),在具有4的倍數(shù)的 邊界的地址位置上對(duì)齊4個(gè)字節(jié)。當(dāng)要存儲(chǔ)8個(gè)字節(jié)時(shí),在是8的倍數(shù)的 邊界上對(duì)齊8個(gè)字節(jié),以及在是16的倍數(shù)的地址邊界上對(duì)齊16個(gè)字節(jié)。
如框312所示,分配器可找到具有所需"倍數(shù)"的釋放的地址。如上 所述,可選擇低位地址,從而其編碼與對(duì)齊配置和/或分配大小相關(guān)的信息, 從而可無需標(biāo)頭。如框314所示,處理單元可利用非標(biāo)準(zhǔn)地址存儲(chǔ)結(jié)果, 以及如框316所示,可將與對(duì)齊相關(guān)的信息編碼到地址中。隨后,處理可 結(jié)束。
本發(fā)明的其他實(shí)施例可作為實(shí)現(xiàn)上述i殳置的程序產(chǎn)品來實(shí)現(xiàn)。程序產(chǎn) 品的程序(多個(gè))定義了實(shí)施例(包括這里所述的方法)的功能,并且可 包含在各種數(shù)據(jù)和/或信號(hào)承載介質(zhì)上。示例性數(shù)據(jù)和/或信號(hào)承載介質(zhì)包括 但不限于(i)在非可寫存儲(chǔ)介質(zhì)(例如計(jì)算機(jī)中的只讀存儲(chǔ)器設(shè)備,如 可由CD-ROM驅(qū)動(dòng)器讀取的CD-ROM盤)上永久存儲(chǔ)的信息;(ii)在 可寫存儲(chǔ)介質(zhì)(例如盤驅(qū)動(dòng)器或硬盤驅(qū)動(dòng)器中的軟盤)上存儲(chǔ)的可變信息; 以及(iii)經(jīng)由通信介質(zhì),例如通過計(jì)算^U或電話網(wǎng)(包括無線通信)向 計(jì)算機(jī)傳送的信息。后一實(shí)施例具體地包括從因特網(wǎng)和其他網(wǎng)絡(luò)下載的信 息。此類數(shù)據(jù)和/或信號(hào)承載介質(zhì)當(dāng)承載引導(dǎo)本發(fā)明功能的計(jì)算機(jī)可讀指令 時(shí),代表本發(fā)明的實(shí)施例。
一般地,被執(zhí)行以實(shí)現(xiàn)本發(fā)明實(shí)施例的例程可以是操作系統(tǒng)或?qū)S脩?yīng) 用、部件、程序、模塊、對(duì)象、或指令序列的一部分。本發(fā)明的計(jì)算積4呈 序典型地包括由計(jì)算機(jī)轉(zhuǎn)換成機(jī)器可讀格式的大量指令并由此作為可執(zhí)行 指令。此外,程序包括本地駐留在程序或在存儲(chǔ)器中或在存儲(chǔ)i殳備上發(fā)現(xiàn)的 變量和數(shù)據(jù)結(jié)構(gòu)。此外,以下描述的各種程序可以基于在本發(fā)明的特定實(shí) 施例中實(shí)現(xiàn)的應(yīng)用來識(shí)別。然而,可理解,隨后的^f壬意特定程序命名僅為 了方^更而4吏用,因此本發(fā)明不應(yīng)限于僅在通過此命名標(biāo)識(shí)和/或暗示的任意 特定應(yīng)用中使用。
對(duì)于從本發(fā)明受益的本領(lǐng)域普通技術(shù)人員將顯而易見的是,本發(fā)明提 出了方法和^殳置以對(duì)異步接口的行為建才莫??衫斫?,在具體實(shí)施方式
和附 圖中所示和所述的本發(fā)明的形式僅用作實(shí)例。目的是,以下權(quán)利要求可被 廣泛地解釋,以包含所公開的實(shí)例性實(shí)施例的所有變型。
盡管對(duì)于一些實(shí)施例詳細(xì)描述了本發(fā)明及其一些優(yōu)點(diǎn),但是應(yīng)理解, 在不脫離由所附權(quán)利要求限定的本發(fā)明的精神和范圍的情況下,在此可以 做出各種更改、替換和改變。盡管本發(fā)明的實(shí)施例可實(shí)現(xiàn)多個(gè)目的,但是 并非落入所附權(quán)利要求范圍內(nèi)的每個(gè)實(shí)施例都可實(shí)現(xiàn)每個(gè)目的。此外,本 發(fā)明的范圍不限于在說明書中描述的處理、機(jī)器、產(chǎn)品、物質(zhì)組成、裝置、 方法、和步驟的特定實(shí)施例。
根據(jù)本發(fā)明的公開,本領(lǐng)域普通技術(shù)人員可容易理解,可根據(jù)本發(fā)明 利用基本上執(zhí)^f亍與這里所述的相應(yīng)實(shí)施例相同的功能或?qū)崿F(xiàn)與其相同的效 果的現(xiàn)有的或以后要開發(fā)的處理、機(jī)器、產(chǎn)品、物質(zhì)組成、裝置、方法、 或步驟。相應(yīng)地,所附權(quán)利要求旨在將這種處理、機(jī)器、產(chǎn)品、物質(zhì)組成、 裝置、方法、或步驟包含在其范圍內(nèi)。
1權(quán)利要求
1.一種方法,包括接收存儲(chǔ)器分配請(qǐng)求,所述請(qǐng)求指示要存儲(chǔ)的數(shù)據(jù)量;確定要存儲(chǔ)的數(shù)據(jù)量是非標(biāo)準(zhǔn)量;以及基于要存儲(chǔ)的非標(biāo)準(zhǔn)數(shù)據(jù)量的倍數(shù)定位未分配的存儲(chǔ)器地址。
2. 如權(quán)利要求1所述的方法,還包括利用所述未分配的存儲(chǔ)器地址存儲(chǔ)所述數(shù)據(jù)。
3. 如權(quán)利要求1或2所述的方法,所述定位進(jìn)一步包括從存儲(chǔ)器地址池定位未分配的存儲(chǔ)器地址,其中所述地址池包括要存儲(chǔ)的數(shù)據(jù)量的整數(shù)倍,并且不包括是要存儲(chǔ)的數(shù)據(jù)量的2倍的倍數(shù)的地址。
4. 如權(quán)利要求l所述的方法,其中標(biāo)準(zhǔn)分配是存儲(chǔ)器空間的16字節(jié)分配,非標(biāo)準(zhǔn)分配是8、 4、 2或1字節(jié)分配之一。
5. —種方法,包括基于指令的處理確定要存儲(chǔ)數(shù)據(jù)的連續(xù)存儲(chǔ)器量;通過使用請(qǐng)求來請(qǐng)求要存儲(chǔ)所述數(shù)據(jù)的存儲(chǔ)器地址,所述請(qǐng)求包含所請(qǐng)求的連續(xù)存儲(chǔ)器量的指示符;接收是所述連續(xù)存儲(chǔ)器量的倍數(shù)的存儲(chǔ)器地址;以及在所述存儲(chǔ)器地址處存儲(chǔ)所述數(shù)據(jù)。
6. 如權(quán)利要求5所述的方法,還包括其中定位還包括從存儲(chǔ)器地址池定位未分配的存儲(chǔ)器地址,其中所述地址池包括二進(jìn)制段的整數(shù)倍,并且不包括是二進(jìn)制段數(shù)的2倍的倍數(shù)的地址。
7. 如權(quán)利要求5所述的方法,還包括確定所述數(shù)據(jù)是否為標(biāo)準(zhǔn)大小,當(dāng)所述數(shù)據(jù)是標(biāo)準(zhǔn)大小時(shí)提供標(biāo)準(zhǔn)分配;以及可選地,其中標(biāo)準(zhǔn)分配是存儲(chǔ)器空間的16字節(jié)分配,非標(biāo)準(zhǔn)分配是8、 4、 2或1字節(jié)分配之一。
8. —種系統(tǒng),包括存儲(chǔ)器,其具有預(yù)定分配大?。获詈现了龃鎯?chǔ)器的處理器,其提供具有小于所述預(yù)定分配大小的字節(jié)數(shù)的存儲(chǔ)器分配請(qǐng)求;以及存儲(chǔ)器分配器模塊,其響應(yīng)于所述存儲(chǔ)器分配請(qǐng)求而提供可用存儲(chǔ)器 單元的至少一個(gè)存儲(chǔ)器地址,所述至少 一個(gè)存儲(chǔ)器地址提供小于所述預(yù)定 分配大小的分配。
9. 如權(quán)利要求8所述的系統(tǒng),還包括發(fā)送器,其向存儲(chǔ)器單元發(fā) 送與所述存儲(chǔ)器單元對(duì)應(yīng)的結(jié)果,以及可選地還包括編碼器,其編碼與 所述存儲(chǔ)器分配相關(guān)的數(shù)據(jù)。
10. 如權(quán)利要求8所述的系統(tǒng),還包括跟蹤器,其跟蹤被部分填充 的預(yù)定分配大小,或者還包括定位器模塊,其定位^^要存儲(chǔ)的字節(jié)大小 的函數(shù)的地址。
11. 一種機(jī)器可訪問介質(zhì),包含分配存儲(chǔ)器使用的指令,當(dāng)由機(jī)器執(zhí) 行所述指令時(shí)使得所述機(jī)器執(zhí)行以下操作,包括確定要在存儲(chǔ)器中存儲(chǔ)的段的大小; 請(qǐng)求要存儲(chǔ)所述段的存儲(chǔ)器地址; 接收是所述段的大小的倍數(shù)的存儲(chǔ)器地址;以及 在是所述段的大小的倍數(shù)的存儲(chǔ)器地址處存儲(chǔ)所述段。
12. 如權(quán)利要求11所述的機(jī)器可訪問介質(zhì),其中所述操作還包括 在是4的倍數(shù)的地址邊界上對(duì)齊4個(gè)字節(jié)。
13. 如權(quán)利要求11或12所述的機(jī)器可訪問介質(zhì),其中所述操作還包 括在是8的倍數(shù)的地址邊界上對(duì)齊8個(gè)字節(jié)。
14. 如權(quán)利要求ll、 12或13所述的機(jī)器可訪問介質(zhì),其中所述操作 還包括在是2的倍數(shù)的地址邊界上對(duì)齊2個(gè)字節(jié)。
15. 如權(quán)利要求11至14中的任一項(xiàng)所述的機(jī)器可訪問介質(zhì),其中所 述操作還包括將邊界信息編碼到所述地址中,或其中所述操作還包括 識(shí)別在標(biāo)準(zhǔn)分配中的已釋放非標(biāo)準(zhǔn)分配的大小。
全文摘要
在一個(gè)實(shí)施例中,公開了一種方法,用于為一組處理單元中的處理器單元分配存儲(chǔ)器。該方法可包括接收存儲(chǔ)器分配請(qǐng)求,其中所述請(qǐng)求可指示要存儲(chǔ)的二進(jìn)制段的數(shù)目。該方法可確定所述數(shù)目是否指示非標(biāo)準(zhǔn)分配,并且如果所述數(shù)目指示非標(biāo)準(zhǔn)分配,則可基于所述數(shù)目的倍數(shù)定位未分配的存儲(chǔ)器地址。該方法還可包括從存儲(chǔ)器地址池定位未分配的存儲(chǔ)器地址,其中所述地址池包括二進(jìn)制段的整數(shù)倍,并且不包括是二進(jìn)制段的數(shù)目的2倍的地址,從而可利用所述地址來確定所述分配。
文檔編號(hào)G06F12/02GK101681297SQ200880015840
公開日2010年3月24日 申請(qǐng)日期2008年5月30日 優(yōu)先權(quán)日2007年6月5日
發(fā)明者J·H·朔普 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1