新四季網

用於大型數據緩存的有效標籤存儲的製作方法

2023-09-13 04:27:35 4

用於大型數據緩存的有效標籤存儲的製作方法
【專利摘要】本發明公開了一種用於在計算機系統中實現數據緩存的裝置、方法和介質。所述裝置包括第一數據緩存、第二數據緩存和緩存邏輯。所述緩存邏輯被配置成在所述第一數據緩存中緩存存儲器數據。在所述第一數據緩存中緩存所述存儲器數據包括在所述第一數據緩存中存儲所述存儲器數據並在所述第二數據緩存中,而非在所述第一數據緩存中存儲對應於所述存儲器數據的標籤數據。
【專利說明】用於大型數據緩存的有效標籤存儲
[0001]發明背景
[0002]構建更強大的計算機處理器的主要困難是處理內核可執行計算的速度與處理內核可從其上的存儲器檢索數據以執行那些計算的速度之間相差懸殊。儘管近年來已針對「存儲器間隙」做出了很多努力,但是處理能力仍繼續超過存儲器的速度。此外,由於當今的計算機處理器逐漸地變成多核(即包括多個計算單元,每個計算單元均被配置成執行軟體指令的對應流),對存儲器帶寬的需求持續增長。
[0003]為什麼對存儲器(例如,晶片外動態隨機存取存儲器)的訪問已不足以滿足對增長的多核處理器的吞吐量需求的一個原因是1/0(輸入/輸出)引腳的有限可擴展性。堆棧存儲器或3D堆棧是最近的提案,其通過將存儲器直接堆棧在處理器上來解決該限制,從而顯著地減少在處理器與存儲器之間的線延遲。例如,可使用結合有密集、低延遲、高帶寬的垂直互連的多層活性矽構造堆棧存儲器電路。與傳統的晶片外DRAM相比,堆棧存儲器提供了增加的數據帶寬、減少的延遲和較低的能量要求。存儲器堆棧還能使計算機設計師合併不同的存儲器技術,如高速CMOS (互補金屬氧化物半導體)、高密度的DRAM、eDRAM和/或其它。
[0004]堆棧存儲器技術已用於實現大型最末級數據緩存(即緩存層次結構的最低級別),如L4緩存。對於適應現代應用的相當大的存儲器佔用和/或多核處理器的高存儲器需求而目,大型最末級緩存可能是理想的。
[0005]使用堆棧存儲器(即堆棧存儲器緩存)實現大型最末級緩存具有數個優點。例如,可通過硬體而非軟體管理該類緩存,這可允許緩存輕易地適應應用相變並且避免與晶片內和晶片外的數據傳送相關聯的轉址旁路緩衝器(TLB)的清空。此外,由於傳統緩存是使用無效率地消耗晶片空間的快速但昂貴的靜態存儲器(例如,SRAM)而實現的,因此它們的生產成本高、具有小容量並且在固定的配置(例如,關聯性、塊大小等)中進行配置的。與此相反,可使用動態存儲器(例如,DRAM)實現堆棧存儲器緩存,與用於構建傳統緩存的靜態存儲器相比,動態存儲器更便宜且更密集。對應地,堆棧存儲器緩存可按低於傳統的基於SRAM的技術的成本提供大型最末級緩存。
發明概要
[0006]本發明公開了一種用於在計算機系統中實現數據緩存的裝置、方法和介質。裝置包括第一數據緩存、第二數據緩存和緩存邏輯。緩存邏輯被配置成在第一數據緩存中緩存存儲器數據。在第一數據緩存中緩存存儲器數據包括在第一數據緩存中存儲存儲器數據並在第二數據緩存中,而非在第一數據緩存中存儲對應於存儲器數據的標籤數據。
[0007]在一些實施例中,第一數據緩存可在運行時間動態地重新配置。例如,軟體(例如,作業系統)可通過修改第一數據緩存和/或第二數據緩存的一個或多個配置寄存器而修改第一數據緩存的大小、塊大小、塊的數量、關聯級別和/或其它參數。在一些實施例中,響應於對在一個或多個處理器上執行的工作負荷的特定特徵的檢測,軟體可重新配置第一數據緩存。[0008]在各種實施例中,第一和第二數據緩存可實現數據緩存層次結構中的相應級別。例如,第一數據緩存可實現在緩存層次結構中位於由第二數據緩存實現的級別下方的級別(例如,第一數據緩存實現L4緩存且第二數據緩存實現L3緩存)。在一些實施例中,第一數據緩存可以是大型最末級緩存,其可使用堆棧存儲器而實現。
[0009]附圖簡述
[0010]圖1為示出根據一些實施例的包括具有L3-實現的標籤陣列的可重新配置的L4數據緩存的處理器各組件的框圖。
[0011]圖2為示出根據一些實施例的給定緩存可將給定的存儲器地址分解成的各欄位的框圖。
[0012]圖3a為示出根據各實施例的可如何保留一些L3緩存塊以存儲L4標籤的框圖。
[0013]圖3b示出根據一些實施例的可用於存儲緩存標籤的標籤結構。
[0014]圖4a示出根據一些實施例的L3緩存邏輯可包括的用於實現可重新配置的L4緩存的各寄存器。
[0015]圖4b示出根據一些實施例的L4緩存邏輯可包括的用於實現可重新配置的L4緩存的各寄存器。
[0016]圖5為示出根據一些實施例的用於查閱存儲在L3緩存中的L4標籤以確定L4緩存是否存儲有與給定 存儲器地址對應的數據的方法的流程圖。
[0017]圖6示出在DRAM頁上的緩存塊的實例布置,其中每一頁均存儲有物理連續的存儲器。
[0018]圖7為示出根據一些實施例的用於定位與給定的物理地址對應的L4緩存塊的方法的流程圖。
[0019]圖8為示出根據一些實施例的在運行時間對L4緩存進行重新配置的方法的流程圖。
[0020]圖9為示出根據一些實施例的用於可重新配置的緩存實施方式的配置寄存器的4個實例配置的表。
[0021]圖10為示出根據一些實施例的被配置成利用如本文所述的堆棧DRAM緩存的計算機系統的框圖。
【具體實施方式】
[0022]本說明書包括參考「一個實施例」或「實施例」。短語「在一個實施例中」或「在實施例中」的出現並不一定是指相同的實施例。可通過任何符合本公開的合適方式結合特定特性、結構或特徵。
[0023]術語。以下段落提供了用於在本公開(包括所附權利要求)中所發現術語的定義和/或語境:
[0024]「包括」。該術語是開放式的。如在所附權利要求中所使用的,該術語並不排除附加的結構或步驟。考慮一個權利要求,其敘述:「一種裝置,包括一個或多個處理單元……」這樣的權利要求並不排除包括附加組件(例如,網絡接口單元、圖形電路等)的裝置。
[0025]「被配置成」。各單元、電路或其它組件均可被描述或要求為「被配置成」執行一個任務或多個任務。在這樣的語境下,「被配置成」用於通過指示單元/電路/組件包括在操作中執行那項任務或那些任務的結構(例如,電路系統)而表示結構的內涵。同樣的,單元/電路/組件可以被說成是被配置成執行任務即使當指定的單元/電路/組件當前並未操作(例如,未開啟)。與「被配置成」語言一同使用的單元/電路/組件包括硬體一例如,電路,存儲有可執行以實現操作等的程序指令的存儲器等。敘述單元/電路/組件「被配置成」執行一個或多個任務明確地王旨在調用35U.S.C.§ 112的第6段以用於該單元/電路/組件。此外,「被配置成」可包括通用結構(例如,通用電路系統),其由軟體和/或固件(例如,執行軟體的FPGA或通用處理器)所操控以按能夠執行待裁決任務的方式操作。「被配置成」還可包括使加工過程(例如,半導體製造設施)適於製造適於實現或執行一個或多個任務的設備(例如,集成電路)。
[0026]「第一」、「第二」等。如本文所使用的,這些術語用作位於其之後的名詞的標記且不暗示任何類型的順序(例如,空間上、時間上、邏輯上等)。例如,在具有8個處理元件或內核的處理器中,術語「第一」和「第二」處理元件可用於指8個處理元件中的任意兩個。換
句話說,「第一」和「第二」處理元件不限於邏輯處理單元O和I。
[0027]「基於」。如本文所使用的,該術語用於描述影響確定的一個或多個因素。該術語並不排除可能會影響確定的附加因素。即,確定可僅基於那些因素或至少部分地基於那些因素。考慮短語「基於B確定A」。雖然B可能是影響對A的確定的因素,但是這樣的短語並不排除對A的確定還基於C。在其它情況下,可僅基於B而確定A。
[0028]由於處理器需要支持應用的越來越大的存儲器佔用以及多編程級別的增加,緩存的大小正在以極高的速度增加。堆棧存儲器承諾提供顯著的大晶片區域,其可用於實現大型最末級DRAM緩存,且該緩存的大小範圍從幾百兆字節至未來更大。
[0029]在構建大的堆棧DRAM緩存中的一個困難是需支持這樣的緩存的標籤陣列的大小會消耗顯著的晶片區域。緩存通常被組織成兩個單獨的陣列:數據陣列和標籤陣列。數據陣列條目持有源自相應存儲器塊的存儲器數據而標籤陣列則持有識別那些存儲器塊的標識符(即標籤)。例如,在設置的關聯緩存中,標籤可唯一地識別源自那些可映射至特定組的給定存儲器塊。實現這樣的標籤陣列會消耗顯著的晶片空間。例如,具有64B緩存段的典型的256MB緩存會需要IlMB的標籤陣列。
[0030]由於標籤陣列常常需要與其容量不相稱的晶片區域的份額,因此進一步使問題加劇。由於對標籤陣列的訪問必須是快速的,因此此類陣列通常使用快速而昂貴的靜態RAM(SARM)或嵌入式動態RAM (eDRAM)構建,即使數據陣列是使用較慢、較便宜和較密集的RAM(DRAM)而實現的。不幸的是,諸如SRAM等技術的密度顯著小於DRAM(通常大12-15倍),其意指與DRAM實現的數據陣列相比,標籤陣列對每單位容量需要更多的晶片空間。因此,標籤陣列所需的晶片空間為實現大型堆棧DRAM緩存的顯著障礙。
[0031]根據各實施例,可配置大型堆棧存儲器緩存以在較低級別的緩存中使用緩存塊以存儲標籤信息。例如,在一些實施例中,可使用堆棧DRAM實現大型L4緩存的數據陣列,同時可使用系統的L3緩存中的各塊實現用於L4緩存的標籤陣列。
[0032]在一些實施例中,可將堆棧存儲器緩存實現為可重新配置的緩存。雖然傳統的緩存設計僅限於靜態配置(例如,總大小、關聯性、塊大小等),但如本文所述的可重新配置的緩存可適應和/或響應於系統的工作負荷,從而使特定緩存配置特製於工作負荷。
[0033]圖1為示出根據一些實施例的包括具有L3-實現的標籤陣列的可重新配置的L4數據緩存的處理器各組件的框圖。本文所述的實施例中的許多都是根據L4緩存示出的,L4緩存的標籤陣列存儲在L3中,且L3在緩存層次結構中位於L4的下方。然而,這些實例並不旨在將實施例局限於L4和L3緩存本身的合作。相反地,在不同實施例中,本文所述的技術和系統可被應用到位於緩存層次結構的各級別的緩存。如本文所使用的,如果處理器在嘗試搜索第二緩存前嘗試在第一緩存中找尋存儲器數據(例如,在第一緩存上緩存失效的事件中),第一緩存則被說成是在緩存層次結構中位於高於第二緩存(或位於其上方)的級另丨J上。
[0034]根據所述實施例,處理器100包括L3緩存110、L4緩存135和一個或多個處理內核105。處理內核105中的每一個可被配置成執行指令的相應流且各處理器105可共享對L3110和/或L4135的訪問。處理內核105還可包括相應的專用緩存(例如,LI)和/或其它共享的數據緩存(例如,L2)。
[0035]L3緩存110和L4緩存135可實現處理器100上的數據緩存層次結構中的相應級別(例如,L3緩存110可實現第三級緩存而L4緩存135則實現較低的第四級緩存)。根據這樣的層次結構,處理內核105可被配置成如果未在L3緩存110中找到數據,則搜索L4緩存135中的數據。在不同的實施例中,L3緩存110和L4緩存135可根據不同的政策和/或協議合作以從系統存儲器中緩存數據。
[0036]在一些實施例中,L4緩存135可被實現為使用DRAM存儲數據的堆棧緩存。例如,L4135包括L4數據陣列145,其可使用DRAM而實現。作為運行實例,我們將假設L4被配置成具有存儲在2KB的DRAM頁(例如,3KB的DRAM頁160)中的256B緩存塊的256MB的32路DRAM緩存,每一頁均被配置成存儲多個緩存塊,如CBl至CBN,其在緩存中可能是連續的。
[0037]L4緩存135包括用於管理緩存的緩存邏輯140。可使用硬體電路系統在硬體中實現緩存邏輯140 (和/或緩存邏輯115)。在一些實施例中,緩存邏輯140可被配置成確定所需數據是否存在於緩存中,從而從緩存移除過期數據和/或將新的數據插入緩存中。在確定源自特定存儲器地址的數據是否存儲在緩存中時,L4緩存邏輯140可將存儲器地址分解為一些欄位,包括標籤,並使用那些組件以確定與存儲器地址對應的數據是否存在於緩存中和/或存在於緩存中的哪個地方。
[0038]圖2為示出根據一些實施例的給定緩存可將給定的存儲器地址分解成的各欄位的框圖。可根據存儲器地址(例如,位數、字節序等)和/或緩存本身的配置(例如,關聯程度、塊的數量、塊的大小等)變化特定欄位和其長度。例如,圖2為示出48位存儲器地址的欄位的框圖,如我們的實例L4緩存(即具有256B緩存塊的256MB的32路緩存)所確定的。根據所示實施例,地址最高階的25位對應於標籤205,接下來較低階的15位對應於索引210且最低階的8位對應於偏移215。在這類實施例中,索引210可用於定位存儲器地址映射至的一組緩存塊(即如果與存儲器地址對應的數據存儲在緩存內,則其存儲在該組中的塊中的一個塊上)。緩存邏輯(例如,140)可確定與該組中緩存塊相關聯的各標籤並將那些標籤與標籤205比較。如果標籤之一與標籤205相匹配,那麼與該標籤對應的緩存段則存儲用於該存儲器地址的數據。接著,緩存邏輯可使用偏移215以確定該數據被存儲在匹配緩存塊中的哪個地方。
[0039]現在返回圖1,可將用於L4緩存段的數據存儲在L4數據145中。如上所述,L4緩存135可被實現為使用DRAM或另一密集存儲器技術以存儲數據145的堆棧存儲器緩存。因此,L4數據145可被配置成以相對低的成本具有高的存儲器容量。然而,由於L4數據145的高容量,實現對應標籤陣列可能需要大量的晶片空間,特別是如果出於性能方面的考慮指示應在相對稀疏的存儲器技術SRAM中實現這樣的標籤陣列。
[0040]根據所示實施例,可將L4135配置成在較低級別的緩存,如L3110中存儲其標籤而不是在L4本身實現L4標籤陣列。例如,在所示實施例中,L3緩存110包括用於管理L3緩存的L3緩存邏輯115 (即類似於L4緩存邏輯140)、L3標籤陣列120和L3數據陣列125。除了存儲L3數據外,L3110還可被配置成保留某個數量的L3數據125的緩存塊以代表L4135存儲標籤。例如,在所示的實施例中,L4標籤130被存儲在L3數據125內且可由L4135使用。如圖1所示,L3數據125中的每個緩存塊可持有多個L4標籤。
[0041]圖3a為示出根據各實施例的可如何保留一些L3緩存塊以存儲L4標籤的框圖。緩存組300包括一些塊,其中的一些(例如,315a-315x)用於存儲用於L3緩存的L3數據。然而,其它的塊(如保留塊310)則保留用於存儲L4標籤。
[0042]L3緩存可存儲每個L4標籤以作為標籤結構,如圖3b所示的標籤結構320。圖3b的標籤結構包括標籤本身(即標籤325),以及標籤元數據。在所示的實例中,標籤為25位且標籤元數據包括有效位330和髒位335。在其它的實施例中,標籤結構可包括其它標籤元數據。
[0043]為了我們的運行實例(256MB的32路256B塊的2KB DRAM頁L4、28位標籤結構),假設L3緩存110為具有64B緩存段的16MB的32路緩存,且L3緩存組300對應於L3110的緩存組(即在數據125中)。給定該實例配置,用於L4標籤的總空間需求為4MB。因此,每個L3緩存組(例如300)可保留其32個塊中的八個以存儲L4標籤數據。例如,緩存組300包括32個塊305並保留那些塊(310)中的8個以用於存儲L4標籤,而剩餘的(即,315a-315x)則照常存儲L3數據。八個保留塊(310)的總容量為512B,其足以存儲128個28位的標籤結構。因此,保留塊310足以存儲用於四個32路L4組的標籤數據。在所示的實施例中,緩存組300的第一塊存儲用於L4的組O的十六個標籤,下一個塊存儲用於組I的十六個標籤,依此類推直到組3。第五個塊存儲屬於組O的剩餘標籤,第六個塊存儲屬於組I的剩餘標籤,依此類推,使得八個保留塊310存儲用於L4的組0-3的所有標籤數據。在本文中,將N個連續L3塊中的每一個分配至不同的L4組,且然後對隨後的N個連續L3塊重複分配模式的技術可被稱為分拆。讀者應注意到圖3的分拆配置僅旨在說明,應理解的是,在不同的實施例中,保留塊可按不同的順序存儲L4標籤。
[0044]返回圖1,在一些實施例中,L3緩存邏輯110和L4緩存邏輯140可被配置成在實現分布式標籤方案的過程中相互合作。例如,要訪問(例如,讀或寫)L4標籤數據,L4緩存邏輯140可與L3緩存邏輯115通信,這進而可從L3數據125獲取所需的數據(例如,L4標籤 130)。
[0045]將L4標籤置於較低級別緩存的數據陣列,如L3中,可獲得多種好處。例如,本文所述的標籤存儲方案可使系統(I)更有效地使用晶片空間,和/或(2)響應於變化的工作負荷而對L4緩存重新配置。
[0046]就晶片空間而言,L3緩存通常為高度關聯的,其意指徵用一些緩存塊可能對L3的整體性能幾乎沒什麼影響。此外,在該方案中可能存在的大型L4緩存可抵消或消除由較小有效的L3導致的任何性能損失。此外,通過不實現專用L4標籤陣列而節約的附加晶片空間可用於放大L3緩存,從而減輕或完全消除L3的性能損失。
[0047]就可重新配置性而言,在一些實施例中,L3邏輯115和L4邏輯140可配置有控制L4緩存配置的寄存器。在運行時間中(或前),可修改這些寄存器中的值以引起緩存配置中的變化。例如,如果預期給定的工作負荷表現出非常高的空間局部性特徵,那麼L4緩存可被配置成使用較少但卻大的緩存塊。在另一實例中,如果預期給定的工作負荷表現出非常低的空間局部性,那麼L4緩存可被配置成使用較多但較小的緩存塊。處理器的工作負荷可包括在處理器上執行的一個或多個線程的存儲器訪問模式。
[0048]圖4a和4b示出L3和L4邏輯可包括的用於實現可重新配置的L4緩存的各寄存器。寄存器可以是各種大小,這取決於它們意圖持有的數據以及關於L4和/或L3配置的數據。此外,在各實施例中,不同的寄存器可被組合、被並分解成多個其它寄存器和/或可通過其它方式分布在寄存器中存儲的信息。圖4a的L3緩存邏輯115和圖4b的L4緩存邏輯140可分別對應於圖1的緩存邏輯115和140。
[0049]根據圖4a,L3緩存邏輯可包括標籤緩存路保留向量,如TCWR400。TCWR400可指示保留了 L3緩存中的哪些塊以用於存儲L4標籤。例如,TCWR400可存儲指示保留了每個緩存組中的哪些路用於L4標籤的掩碼向量。為了表示保留了每一組中的前八條路(例如,如圖3a中),向量可以是OxFF。因此,L3緩存可使用存儲在TCWR寄存器中的值以確定其可使用哪些緩存段以存儲L3數據以及保留了哪些緩存段以存儲L4標籤。
[0050]在圖4b中,L4緩存邏輯140包括一些寄存器以協助標籤訪問(例如,TCIM405,TCW410、TGM415 和 TGS420)、一些寄存器以協助 L4 數據訪問(例如,CBS430、PSM435、PS0440和PAB0445)以及一個或多個用於其它目的的雜項寄存器(例如,STN425)。這些寄存器和其用途如下所述。
[0051]標籤大小寄存器(TGS)420,其可用於指示每個標籤的位數。例如,使用圖2的實施例,TGS寄存器420可指示標籤大小為25位。在一些實施例中,TGS寄存器420可用於生成用於計算給定地址的標籤的標籤掩碼。
[0052]在所示的實施例中,L4緩存邏輯140包括標籤掩碼寄存器TGM415,其可用於從對應的物理地址獲得L4標籤。例如,可選擇TGM以便使用標籤掩碼和給定的物理地址執行的按位與運算(bitwise-AND operation)產生該地址的標籤。例如,為了從圖2的地址200提取最高階的25位,TGM寄存器可持有十六進位數字0XFFFFFF800000。
[0053]L4邏輯140還包括標籤緩存路寄存器(TCW)410。TCff寄存器410可用於識別哪些L3塊被配置來持有給定的L4標籤。例如,如果根據分拆的分配模式(如上所討論的)將標籤存儲在L3塊中,那麼TCW寄存器可包括三個欄位:路掩碼(指示存儲有用於給定L4組的標籤的L3組中的第一塊)、數量欄位(指示存儲有用於L4組的標籤數據的L3塊的數量)以及步幅欄位(指示L4組的數量,其中L3組存儲有用於L4組的標籤數據)。下面則更詳細地描述這些欄位及其用途。
[0054]路掩碼欄位可用於識別持有用於給定L4組的標籤數據的第一塊(在給定的L3組內)。為了進行說明,考慮圖3a的實例,其中每個L3組(例如,組300)存儲有用於分拆的分配模式中四個L4組的標籤數據。可使用兩個位確定前四個塊中的哪些存儲有用於給定組的標籤。在這樣的實例中,路掩碼欄位可進行配置,以便使用路掩碼對物理地址的掩碼(即在兩個位上執行邏輯與運算)產生L3塊的識別符,且L3塊存儲有與物理地址映射至的L4組對應的L4標籤。例如,TCW410可持有十六進位值0x300,當其用於掩碼物理地址如200時,其將產生物理地址的第八位和第九位。該兩個位可用於確定0-3之間的數字,其可用於識別前四個保留塊中的哪些(即L3緩存組300的310)持有用於物理地址映射至的L4組的標籤。例如,如果兩個位均為00,那麼該值可識別310中的第一塊,01值可識別第二塊,依此類推。
[0055]TCff寄存器的數量欄位可指示要讀取的塊的數量,以便獲得與L4組對應的所有標籤。例如,由於L3緩存組300使用兩個L3塊以存儲與任何給定的L4組對應的標籤,數量欄位可以為二。
[0056]TCff寄存器的步幅欄位可指示L4組的數量,且L3組存儲有用於L4組的標籤數據。例如,由於L3緩存組300存儲有用於四個L4組(即圖3a中的組0-3)的標籤數據,步幅欄位可以為四。
[0057]如果根據分拆的分配模式將L4標籤存儲於給定的L3緩存組中,則可使用路掩碼、數量和步幅欄位的組合定位與給定的L4組對應的L3組中的所有標籤。例如,為了獲得與給定的L4組相關聯的L4標籤數據,緩存邏輯110和/或135中的一個或多個可使用路掩碼以識別L3組中的第一相關塊。接著,邏輯可使用步幅和數量欄位以確定使用的分拆模式,從而定位和讀取在存儲有用於L4組的標籤數據的L3組中的所有其它塊。例如,為4的步幅值和為2的數量欄位值將指示在第一塊後有一個附加的塊要讀取,且該附加的塊為第一個後的第四個塊(即第五個塊,如圖3a所示)。因此,在這樣的實施例中,要讀取的第N個塊可被計算為(物理地址&路掩碼欄位+步幅欄位*(N-1))。為了讀取所有相關的塊,邏輯可為從O至數量欄位值的每個N重複該計算。
[0058]根據所示的實施例,緩存邏輯140還包括標籤緩存索引掩碼(TCM) 405。TCIM405可用於指示存儲有用於給定L4組的標籤的具體L3組。例如,TCM值可用於將L3索引計算為(物理地址&>TCM),其中「&>」表示邏輯與運算,隨後則進行右移以去掉尾隨零。例如,如在運行實例中所述,如果L3具有8192組(16MB/ (64Β塊*32-塊組),那麼L3組索引則可被計算為物理地址的位22-10。因此,TCIM405可持有值0x7FFC00。
[0059]圖5為根據一些實施例的用於查閱存儲在L3緩存中的L4標籤以確定L4緩存是否存儲有與給定存儲器地址對應的數據的方法的流程圖。可通過L4緩存邏輯135和/或通過L3緩存邏輯115執行方法500。相應緩存邏輯可被配置成如圖4a和4b中所示,包括如上所述的相應寄存器。
[0060]根據所示的實施例,方法開始於邏輯確定物理地址(PA)時,如在505中。例如,邏輯可確定正試圖訪問給定的物理地址的程序指令,作為響應,邏輯可能需要確定與該地址對應的數據是否存儲在L4緩存中。
[0061]在510中,邏輯確定用於物理地址的標籤。例如,在一些實施例中,邏輯可通過使用標籤掩碼掩碼物理地址而確定標籤,如存儲於TGM415中的那個標籤掩碼(例如,PA&TGM)。
[0062]在515中,邏輯可確定L3組,其中存儲有與物理地址對應的數據。例如,邏輯可通過使用TCM在物理地址上執行「&>」運算而識別特定L3組,如上所述。
[0063]一旦邏輯已識別要搜索的標籤(如510中所述)以及要在其中搜索該標籤的L3組(如515中所述),邏輯可確定要在所確定的L3組內搜索的第一塊(如520中所述)。例如,在一些實施例中,邏輯可通過使用TCW寄存器的路掩碼欄位掩碼物理地址(即PA&TCff-way-mask)而確定要在該組內搜索哪個塊,如520中所指示的。
[0064]根據所示的實施例,一旦邏輯確定了要檢查的第一 L3緩存塊,其可讀取L3塊(如525中所述)並確定(如530中所述)L3塊是否包含了在510中確定的PA標籤。如果塊包含PA標籤,如通過從530確認的退出所指示的,那麼緩存邏輯則可確定緩存命中,如在535中所述。否則,如通過從530確認的退出所指示的,那麼邏輯則無法確定緩存命中。相反,邏輯可檢查可存儲PA標籤的零個或更多其他的L3塊以確定那些塊中的任何塊是否存儲有該標籤。
[0065]在540中,緩存邏輯確定是否存在更多的標籤。例如,如果TCW寄存器的數量欄位持有大於已搜索的塊數量的值,則要搜索更多的塊。否則,邏輯則已搜索可能持有標籤的每個L3塊。
[0066]如果邏輯已搜索可能持有標籤的每個L3塊,如通過從540確認的退出所指示的,那麼邏輯則可斷定有一個緩存失效,如在545中。否則,如果要搜索更多的L3塊(例如,數量欄位大於已經搜索的塊),那麼邏輯則可確定要搜索的下一塊,如在550中。例如,在一些實施例中,邏輯可基於之前讀取的寄存器的標識和TCW寄存器的步幅欄位做出這樣的確定。一旦邏輯已確定要搜索的下一個L3緩存塊(如550中所述),其可搜索該L3緩存塊,如通過從550至525確認的反饋迴路所指示的。
[0067]如果緩存邏輯定位了 L3緩存中的標籤,那麼邏輯則可標註在其中找到標籤的塊。例如,邏輯可通過記錄指示塊在組內的位置的標籤偏移而標註塊。
[0068]如上所討論的,在一些實施例中,可使用可布置為多個DRAM頁的堆棧DRAM來實現L4。單一的DRAM頁可持有用於多個L4緩存塊的數據。
[0069]在一些實施例中,每個DRAM頁可存儲與物理存儲器的連續組對應的一組緩存塊。通過在每一頁中存儲存儲器的連續組,L4緩存可以更好地在應用訪問模式中利用空間局部性。
[0070]圖6圖示在DRAM頁上的緩存塊的實例布置,其中每一頁均存儲有物理連續的存儲器。根據所示實施例,L4數據145包括多頁,如頁0-21。每一頁具有2KB的容量且因此能夠存儲16個256位元組的緩存塊。
[0071]在圖6中,相鄰的緩存塊一起被存儲在同一頁上。例如,源自前八個組中每一個的第一緩存塊(組0-7的CB0)被存儲在頁O上,源自前八個組中每一個的第二緩存塊(組0-7的CBl)被存儲在頁I上,以此類推。對應地,在該實例中,L4數據145的前三十二頁累積存儲用於L4緩存135的前八個32路組的所有緩存塊。存儲有用於給定組的緩存塊的頁的連續組可被稱之為頁組,如圖6的頁組600。
[0072]除了上述與標籤相關的寄存器外,L4緩存邏輯還可包括一些可用於促進對L4數據(例如,L4數據145)的訪問的寄存器。例如,返回圖4a,這類寄存器可包括緩存塊大小寄存器(例如,CBS430)、頁組掩碼(例如,PSM435)、頁組偏移(例如,PS0440)和頁訪問基本偏移(例如,PAB0445)。
[0073]在一些實施例中,CBS寄存器430可存儲指示每個緩存塊大小的值。例如,CBS寄存器430可存儲值256以指示每個L4緩存塊(即緩存段)包括256個字節。
[0074]PSM寄存器435可存儲可用於確定給定物理地址所映射至的頁組的掩碼。例如,如果每一 DRAM頁持有八個緩存塊(如圖6中所示),那麼物理地址的位11-22則可用於識別DRAM頁組。為了從物理地址(例如,從物理地址200)提取那些位,緩存邏輯可在PSM寄存器中存儲十六進位值0x7FF800並使用該值以掩碼物理地址。
[0075]一旦緩存邏輯確定了物理地址所映射至的頁組(例如,通過使用PSM寄存器435掩碼地址),緩存邏輯可使用PSO寄存器440以在物理地址所映射至的所確定的頁組中確定具體的DRAM頁。由於最大偏移為L4的關聯性(例如,32),緩存邏輯可用log2 (L4_關聯性)移位頁組值並隨後添加標籤偏移(其可能已在上述標籤訪問階段中計算得出)。例如,對於32路L4緩存而言,PSO值可以為5(即log2(32))。
[0076]一旦緩存邏輯確定了物理地址所映射至的DRAM頁(例如,如上所述),緩存邏輯則可使用PABO寄存器445以識別在物理地址映射至的所確定的頁內的具體緩存塊。邏輯可通過使用PABO寄存器中的值掩碼物理地址而得到至DRAM頁的偏移。例如,如果每個DRAM頁持有八個緩存塊(如在圖6中),則可使用為0x700的PABO值以通過掩碼除物理地址的位8-10外的所有位而確定至頁中的索引。
[0077]圖7為圖示根據一些實施例的用於定位與給定的物理地址對應的L4緩存塊的方法的流程圖。可通過L4緩存邏輯,如圖1所示的145執行圖7的方法。
[0078]當緩存邏輯確定物理地址時,方法700始於705。響應於要求訪問(例如,讀/寫)給定物理地址的程序指令,緩存邏輯可確定物理地址。
[0079]在710中,L4緩存邏輯確定映射至物理地址的DRAM頁組。確定DRAM頁可包括使用頁組掩碼,如PSM寄存器435來掩碼物理地址。在715中,緩存邏輯確定在所確定的組內物理地址所映射至的特定頁。在組內確定特定頁可包括用PSO寄存器440的值對710中計算的頁組進行左移並添加標籤偏移,其可能已在標籤訪問階段中計算出。在720中,緩存邏輯確定在所確定的頁內存儲所需塊處的偏移。確定偏移可包括使用PABO寄存器445中的值執行「&>」(邏輯與,隨後進行右移以去掉尾隨零)。為了進行概括,在一些實施例中,物理地址PA所映射至的DRAM頁可通過[(PA&PSM) ?PS0] +標籤偏移給出,且緩存塊至頁中的偏移可通過ΡΑ&>ΡΑΒ0給出。一旦緩存邏輯確定了頁和偏移(如710-720中所述),其則可在確定的DRAM頁的確定偏移處訪問緩存塊(如725中所述)。
[0080]如上所述,傳統的緩存是靜態配置的(例如,塊大小、塊的數量、關聯程度等)。然而,沒有一種配置對於每種工作負荷都是最佳的。
[0081 ] 在各實施例中,可對L4緩存動態地重新配置以向當前的或預期的工作負荷提供最佳性能。在運行時間動態地重新配置的緩存可通過軟體(例如,OS)重新配置,而無需要求系統重啟和/或人工幹預。例如,系統BIOS可被配置成通過在配置寄存器400-445中設置默認值而啟動默認配置中的緩存。在運行時間,作業系統可監控工作負荷的特徵以確定當前緩存配置的有效性。如果作業系統確定不同的緩存配置將是有利的,那麼OS則可配置L4(和/或L3)緩存,如下所述。
[0082]圖8為根據一些實施例的在運行時間對L4緩存重新配置的方法的流程圖。可通過執行在 處理器上執行的一個或多個線程的作業系統執行方法800。
[0083]方法800開始於步驟805,其中OS凍結所有系統線程的執行。在810中,OS隨後獲取在存儲器總線上的鎖定,使得沒有程序指令或其他處理內核可訪問總線。在815中,OS將所有髒的緩存塊寫回至存儲器中。如果處理器已修改了緩存塊的值,但還未將該值寫回至存儲器,那麼該緩存塊則被認為是髒的。在820中,OS將所有的數據逐出緩存。在825中,OS調整配置寄存器中的一個或多個值以反映新的緩存配置。接著,OS釋放總線鎖定(在830中)並恢復執行(在835中)。
[0084]使用方法800,作業系統能夠修改L4緩存的各配置參數以反映當前的或預期的工作負荷。這類參數可包括塊大小、塊的數量、關聯性、分割或其他參數。例如,如果OS確定應用表現出具有高空間局部性的訪問模式,OS則可通過修改某個數量的配置寄存器400-445而增加L4緩存塊的大小,其可通過將更多的數據預取至L4中而增加用於高空間應用的性能。增加L4塊大小還可增加L3的大小,因為L4需要更小量的標籤存儲空間,其中L3能夠回收和利用標籤存儲空間以用於存儲L3數據。通過增加用於具有高空間局部性的訪問模式提高的性能的大小。在另一實例中,OS可修改L4緩存的關聯級別。如果它不會導致衝突性失效的顯著增加,那麼降低L4緩存的關聯級別則可導致較低的訪問延遲,以及緩存節電。相反地,較高的關聯性減少了衝突性失效,其可在一些工作負荷中提升性能。
[0085]在可重新配置性的另一實例中,OS可將L4重新配置為扇區緩存。如圖4b中所示,L4緩存邏輯140可包括扇區號寄存器(例如,STN425),其存儲有指示用於識別在給定的緩存塊中不同扇區的有效性所需的位數的扇區號。如果L4緩存沒有扇區,那麼扇區號則可以設為O。然而,OS可通過用不同的值修改STN寄存器而重新配置L4緩存以包括多個扇區。
[0086]在一些實施例中,OS可被配置成根據各預定的配置重新配置L4緩存。例如,圖9的表900給出用於配置寄存器的四個實例配置。每個配置均以各工作負荷特徵為目標。例如,表900包括默認配置(例如,BIOS啟動緩存的配置)、大的緩存段配置(即512B緩存塊)、高關聯性配置(即相關聯的64路組)以及扇區緩存設計(即兩個扇區)。在各實施例中,處理器可根據所觀察到的工作負荷而使用這些默認配置、其他默認配置和/或自定義配置。
[0087]圖10為示出根據一些實施例的被配置成利用如本文所述的堆棧DRAM緩存的計算機系統的框圖。計算機系統1000可對應於各種類型的設備中的任一個,包括但不限於個人計算機系統、臺式計算機、膝上型計算機或筆記本計算機、主機計算機系統、手持計算機、工作站、網絡計算機、消費設備、應用伺服器、存儲設備、外圍設備(如交換機、數據機、路由器等)或任何一般類型的計算設備。
[0088]計算機系統1000可包括一個或多個處理器1060,其中的任一個可包括多個物理和/或邏輯內核。處理器1060中的任一個可對應於圖1的處理器100且可包括數據緩存,如SRAM L3緩存1062和堆棧DRAM L4緩存1064,正如本文所述。緩存1062和1064可分別對應於圖1的L3緩存110和L4緩存135。因此,如本文所述,可通過0S1024對L4緩存1064進行重新配置。計算機系統1000還可包括一個或多個永久存儲設備1050(例如,光存儲、磁存儲、硬碟驅動器、磁帶驅動器、固態存儲器等),其可永久地存儲數據。
[0089]根據所示的實施例,計算機系統1000包括一個或多個共享存儲器1010 (例如:緩存 SRAM、DRAM、RDRAM、EDO RAM、DDR10RAM、SDRAM、Rambus RAM、EEPR0M 等中的一個或多個),其可在多個處理內核,如處理器1060中的一個或多個之間共享。一個或多個處理器1060、存儲設備1050和共享存儲器1010可經由相互連接1040而耦合。在各實施例中,系統可包括較少的或未在圖10中示出的附加組件(例如,顯卡,音效卡,附加的網絡接口,外圍設備,如ATM接口、乙太網接口、幀中繼接口的網絡接口,顯示器,鍵盤,揚聲器等)。此外,圖10中示出的不同組件可被結合或被進一步分成附加的組件。
[0090]在一些實施例中,共享存儲器1010可存儲程序指令1020,其可用平臺的本機二進位碼、任何詮釋性語言如Java?字節碼、或任何其他語言如C/C++、Java?等或其任何組合編碼。程序指令1020可包括程序指令以實現一個或多個應用1022,其中的任一個可以是多線程的。在一些實施例中,程序指令1020還可包括可執行用於實現作業系統1024的指令,該作業系統1024可被配置成監控處理器1060上的工作負荷以及重新配置緩存1064和1062,正如本文所述。0S1024還可提供其他的軟體支持,如調度、軟體信號處理等。
[0091]根據所示的實施例,共享存儲器1010包括共享數據1030,其可通過處理器1060中的一些和/或其各處理內核而進行訪問。處理器1060中的一些可在本地緩存(例如,1062和/或1064)中緩存共享數據1030的各組件並根據緩存一致性協議通過交換消息而在這些緩存中協調數據。在一些實施例中,處理器1060中的多個和/或處理器1060的多個處理內核可共享對緩存1062和1064以及可能存在於共享存儲器1010中的晶片外緩存的訪問。
[0092]程序指令1020,如用於實現應用1022和/或作業系統1024的那些,可存儲在計算機可讀存儲介質上。計算機可讀存儲介質可包括任何用於以機器(例如,計算機)可讀的形式(例如,軟體、處理應用)存儲信息的機制。計算機可讀存儲介質可包括,但不限於磁存儲介質(例如,軟盤)、光存儲介質(例如,CD-ROM)、磁光存儲介質、只讀存儲器(ROM)、隨機存取存儲器(RAM)、可擦除可編程存儲器(例如,EPROM和EEPR0M)、快閃記憶體、適於存儲程序指令的電性或其他類型的介質。
[0093]在一些實施例中,可使用如上所述的計算機可讀存儲介質存儲指令,該指令可通過程序進行讀取並直接或間接地予以使用以製造包括處理器1060中的一個或多個的硬體。例如,指令可描述一個或多個數據結構,其描述了硬體功能在高級設計語言(HDL)jnVerilog或VHDL中的行為級或寄存器傳輸級(RTL)的描述。描述可通過綜合工具被讀取,且該綜合工具可綜合描述以產生網表。網表可包括一組門(例如,在綜合庫中所限定的),其表示處理器500的功能。接著,可放置和路由該網表以產生描述要施加到掩碼的幾何形狀的數據組。接著,可在各半導體製造步驟中使用掩碼以產生與處理器100和/或1060對應的一個半導體電路或多個電路。可替代地,根據需要,資料庫可以是網表(具有或不具有綜合庫)或數據組。
[0094]雖然上面已經描述了具體實施例,但這些實施例並不旨在限制本公開的範圍,SP使其中僅有單一的實施例是關於特定特性描述的。除非另外註明,在本公開中提供的特性的實例都是說明性的而非限制性的。上面的描述旨在涵蓋這樣的替代方式、修改和等同物,其對於受益於本公開的本領域技術人員來說將是顯而易見的。
[0095]本公開的範圍包括本文所公開的(明示地或暗示地)任何特性或特性的組合,或其任何概括,而無論其是否減輕了本文所處理問題中的任何或全部。對應地,在本申請(或要求其優先性的申請)的起訴中可對特性的任何這樣的組合制定新的權利要求。具體來說,參照所附的權利要求,源自從屬權利要求的特性可與獨立權利要求的特性相結合,且源自各獨立權利要求的特性可按任何合適的方式,而不僅僅是所附權利要求中列舉的具體組合方式組合。
【權利要求】
1.一種裝置,其包括: 第一數據緩存; 第二數據緩存;以及 緩存邏輯,其被配置成通過下列方式在所述第一數據緩存中緩存存儲器數據: 在所述第一數據緩存中存儲所述存儲器數據;以及 在所述第二數據緩存中,而非在所述第一數據緩存中存儲對應於所述存儲器數據的標籤數據。
2.根據權利要求1所述的裝置,其中所述第一和第二數據緩存實現處理器的數據緩存層次結構中的相應級別。
3.根據權利要求2所述的裝置,其中由所述第一數據緩存實現的所述級別在所述緩存層次結構中位於由所述第二數據緩存實現的所述級別的下方。
4.根據權利要求1所述的裝置,其中使用堆棧存儲器在所述處理器上實現所述第一數據緩存。
5.根據權利要求4所述的裝置,其中: 所述堆棧存儲器被組織成多個存儲器頁,其中所述緩存邏輯被配置成在每個存儲器頁中存儲對應於物理系統存儲器的連續區域的存儲器數據。
6.根據權利要求1·所述的裝置,其中所述第一數據緩存可在運行時間動態地重新配置。
7.根據權利要求6所述的裝置,其中所述第一數據緩存可在運行時間動態地重新配置以修改所述第一數據緩存的大小、塊大小、塊的數量或關聯級別。
8.根據權利要求6所述的裝置,其中響應於作業系統做出的確定,所述第一數據緩存在運行時間通過所述作業系統動態地重新配置,其中所述確定取決於所述處理器的工作負荷的一個或多個特徵。
9.根據權利要求6所述的裝置,其中重新配置所述第一數據緩存包括修改所述第一數據緩存的一個或多個配置寄存器,其中所述配置寄存器可用於確定存儲有對應於所述第一數據緩存的給定塊的標籤信息的所述第二數據緩存的塊。
10.根據權利要求6所述的裝置,其中所述重新配置包括,作業系統執行下列操作: 凍結在所述處理器上執行的一個或多個線程的執行; 獲取將所述處理器連接至系統存儲器的存儲器總線上的鎖定; 將髒塊寫回至存儲器中; 使所述第一數據緩存中的數據無效; 釋放在所述存儲器總線上的所述鎖定;以及 恢復所述一個或多個線程的執行。
11.一種方法,其包括: 處理器在第一數據緩存中緩存由所述處理器訪問的存儲器數據; 所述處理器在第二數據緩存中,而非在所述第一數據緩存中存儲用於所述訪問的存儲器數據的標籤數據。
12.根據權利要求11所述的方法,其中所述第一和第二數據緩存實現所述處理器的數據緩存層次結構中的相應級別,其中由所述第一數據緩存實現的所述級別位於由所述第二數據緩存實現的所述級別的下方。
13.根據權利要求11所述的方法,其中使用堆棧存儲器在所述處理器上實現所述第一數據緩存。
14.根據權利要求13所述的方法,其中: 所述堆棧存儲器被組織成多個存儲器頁,其中所述緩存邏輯被配置成在每個存儲器頁中存儲對應於物理系統存儲器的連續區域的存儲器數據。
15.根據權利要求11所述的方法,其中所述第一數據緩存可在運行時間動態地重新配置。
16.根據權利要求15所述的方法,其中所述第一數據緩存可在運行時間動態地重新配置以修改所述第一數據緩存的大小、塊大小、塊的數量或關聯級別。
17.根據權利要求15所述的方法,其中響應於作業系統做出的確定,所述第一數據緩存可在運行時間通過所述作業系統動態地重新配置,其中所述確定取決於所述處理器的工作負荷的一個或多個特徵。
18.根據權利要求15所述的方法,其中重新配置所述第一數據緩存包括修改所述第一數據緩存的一個或多個配置寄存器,其中所述配置寄存器可用於確定存儲有對應於所述第一數據緩存的給定塊的標籤信息的所述第二數據緩存的塊。
19.根據權利要求11所述的方法,其還包括通過下列方式確定所述存儲器數據被存儲在所述第一數據緩存 中: 使用所述數據的物理存儲器地址確定所述物理存儲器地址的標籤值;以及 確定所述標籤值由所述第二數據緩存所存儲。
20.根據權利要求19所述的方法,其中確定所述標籤值由所述第二數據緩存所存儲包括: 確定所述第二數據緩存的緩存塊,所述緩存塊對應於所述物理存儲器地址,其中所述確定取決於存儲在所述第二數據緩存的一個或多個配置寄存器中的一個或多個緩存配置值;以及 確定所述緩存塊存儲有所述標籤值。
21.一種計算機可讀存儲介質,其包括通過計算機系統上的可執行程序操作的數據結構,所述程序在所述數據結構上操作以執行製造包括由所述數據結構描述的電路系統的集成電路的過程的一部分,在所述數據結構中描述的所述電路系統包括: 第一數據緩存; 第二數據緩存; 其中所述裝置被配置成在所述第一數據緩存中存儲緩存存儲器數據,且其中可用於訪問存儲在所述第一數據緩存中的所述緩存存儲器數據的標籤信息被存儲在所述第二數據緩存中而非所述第一數據緩存中。
22.根據權利要求21所述的計算機可讀存儲介質,其中所述存儲介質存儲HDL、Verilog或⑶SII數據。
23.—種方法,其包括: 通過將存儲器數據存儲在所述第一緩存的數據陣列中而在所述第一緩存中緩存存儲器數據,並且在第二數據緩存的數據陣列中而非所述第一數據緩存的標籤陣列中存儲用於所述第一緩存的對應的標籤數據。
【文檔編號】G06F12/08GK103597455SQ201280027342
【公開日】2014年2月19日 申請日期:2012年5月9日 優先權日:2011年5月10日
【發明者】鍾在雄, 尼蘭詹·孫達拉拉詹 申請人:超威半導體公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀