TW527540B - Prioritized bus request scheduling mechanism for processing device - Google Patents
Prioritized bus request scheduling mechanism for processing device Download PDFInfo
- Publication number
- TW527540B TW527540B TW089127868A TW89127868A TW527540B TW 527540 B TW527540 B TW 527540B TW 089127868 A TW089127868 A TW 089127868A TW 89127868 A TW89127868 A TW 89127868A TW 527540 B TW527540 B TW 527540B
- Authority
- TW
- Taiwan
- Prior art keywords
- array
- flag
- register
- patent application
- item
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1642—Handling requests for interconnection or transfer for access to memory bus based on arbitration with request queuing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/18—Handling requests for interconnection or transfer for access to memory bus based on priority control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/362—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0862—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Small-Scale Networks (AREA)
- Selective Calling Equipment (AREA)
- Bus Control (AREA)
- Multi Processors (AREA)
- Train Traffic Observation, Control, And Security (AREA)
- Digital Computer Display Output (AREA)
- Image Processing (AREA)
Description
527540 五、發明說明(1) 發明背景 本發明是關於使用在處理裝置及其他代理之排程器。 眾所周知,很多現代計算系統皆使用多重代理架構,典 型的系統如圖1所示。圖中,複數個的代理1 1 〇 一 1 6 0根據 預定的匯流排通訊協定在外部匯流排1 7 0上通訊,"代理" 可能包含通用處理器1 1 0 — 1 4 0、記憶體控制器1 5 0、介面 晶片集160、輸入輸出裝置和/或其他積體電路(無標示) 來處理資料要求。匯流排1 7 0可容許多個外部匯流排交易 同時進行處理。 在多重代理系統,外部匯流排1 7 0的頻寬可界定系統效 能的限制。代理内的時鐘速度通常較外部匯流排的時鐘速 度快上許多。例如在某一段時間内,處理器核心(無標示) 可發出多個資料要求(讀取要求及寫入要求),而外部匯流 排1 7 〇則僅執行一單獨要求。此外,一代理更必需與其他 代理共同分旱匯流排1 7 0。這些因素都會對代理内處理資 料要求的過程產生不必要之潛伏期。 ' 並非所有資料要求皆是平等產生的。現在,本發明的受 讓人一 一英代爾公司,正從事一種代理的設計,此代理將 處理核心的讀取要求、預取要求以及寫入要求。核心讀取 要求乃代理之處理核心(π核心π )對己定址的資料提出^取 的要求,通常核心讀取要求會識別代理即時所需的資f。 相對來說,預取要求則涉及那些核心似乎在短期内^會用 到的資料;在核心實際發出讀取要求之前,預取進入二理 的貧料儲存於内部快取記憶體,並成為核心可用的資料。
第5頁 527540 五、發明說明(2) 内部快取記憶體以快於外部匯流排的時鐘速度運作,因此 能減短潛伏期以滿足預期的核心要求。寫入要求通常用 識別那些要從代理回傳至系統儲存裝置的資料;這些資 因為代理不再需要而將被驅逐’而代理則會讀取新資料並 取代其原先所佔用的記憶體位置。至於其他資料要求則盥 其他優先化條件相聯。 〃 為了對外部匯流排施以頻寬限^,以及觀察到代理内所 要處理之不同資料要求間的相對優先化條件,發明者 這裡需要一種匯流排控制演算法之技藝,此技藝根據預定 的優先化方案來排行要告示在外部匯流排的要求。 發明概述 本發明的具體實施例提供一儲存需要排程的資料之排程 器。此排程器可包含一陣列,該陣列將根據 案來識別序列輸入項間的相對優先化條件;以及一優先化 暫存器陣列’ &陣列則根據第二優先化方案來識別序列輸 )項間的相對優先化條件。另有複數個相器耦合至該陣 列及。亥4先化暫存器陣列,用以確定所要排程的料。 圖式之簡短說明 、 :1為-適合本發明具體實施例之多重代理計算機系統 万塊圖。 圖2為根據本發明的具體實施例,說明—處理器體 實施例。 圖3為-根據本發明的具體實施例之外部異動佇列方塊 圖〇 527540 五、發明說明(3) 圖4為一根據本發明 圖。 的具肢實施例之優先化矩陣方塊 圖5為一根據本發明 流程圖。 的一體實施例之異動佇列處理方法 圖6為一根據本發明的另— 方塊圖。 種具體實施例之優先化陣列 圖7為一根據本發明呈 說明優先化矩陣陣列之宜、一-汽施例之方塊圖,此方塊圖 通訊。 呆一列’與相聯旗標偵測器之間的 發明之詳細説明 本舍明的具體實施例,摇 易管理系统使用。# % '、棱先化排私器給代理的交 定眾多要Γ :可包含一優先化矩陣…確 優先化要告示在外部匯流排上。此 二ίϊ;Γ子中之要求的帳戶。優先化矩陣亦可包ί4 對陣列應用最高優先:非;:ί—,求時,優先化矩陣會 之要求,將合+ $、,#、罩,瑕早且與要求型態相聯 肝a被識別出來亚進行排程。 圖2乃根據本發明的具體實^ ^ ^ ^ ^ ^ ^ 2 0 0。交易管理器本質上A P 4 兄明父易官理系統 一 kkg 尽上為已知,可能包含一仲裁哭21 η 240和一外邱薙^ 勒彳τ列23〇、一外部異動佇列 不 外部匯流排控制器2 5 0。伸哉哭9 ! η桩a " 源送來的要卡加M > 作裁器21 0接收從不同資 = 、又或者是外部異動仔列24。 、i之要求包含代表產生型態 要衣代碼,而如果合適的 527540
話,還會5含識別所要執行之要求,其資料的位址。仲裁 器2 1 0把這些要求作優先化處理,並以優先化後的順序來 實施。 、 快取記憶體220可能是内部記憶體。典型的,快取記憶 體22ϋ ί統Γ快取記憶體,其儲存指令資料和變數資料 稱 資料)。由仲裁器21Q送來的要求將會輸入快取記憔 體2 20和内部異動佇列“ο。對於讀取要求,快取記憶體心 2 2 0可包含控制邏輯(無標示)來確定被要求的資料是否存 於其内;如果是,則該要求便被稱為”命中”快取記憶體 0,,快取§己憶體2 2 〇就會透過一通訊路徑(同樣無標示)把 貝料提供給核心。不然,則該要求便被稱為,,未中"快取記 憶體。快取記憶體2 2 G也可透過線路2 2 2通知内部異動件列 2 3 0命中或未中的結果。 内部異動佇列2 3 0可包含控制電路與缓衝記憶體來處理 仲裁器2 1 0送來的要求。仲裁器2丨〇發出的每一要求皆置於 内部異動佇列2 3 0内。内部異動佇列2 3 〇亦同時接收來自快 取記憶體22 0的命中/未中指示符。假如一要求命中快取 冗憶體22 0,則當該已序列之要求前進離開内部異動佇列 2 3 0 %,序列2 3 0準許其終結。但假如要求未中快取記憶體 220,則會透過從外部記憶體(無標示)取回所需資料來&完 成該要求。在這一例子,當要求前進離開内部異動佇列 2 30時,内部異動佇列23〇引發其進入外部異動佇列24〇。 同樣的,外部異動佇列24〇可包含控制電路與緩衝記憶 體。按照處理器内所發出的序列要求,其將使外部匯流排
第8頁 527540 五、發明說明(5) 交易告示在外部匯流排1 70上。外部異動佇列240可透過外 部匯流排控制器2 5 0來控制匯流排1 7 0之運作。典型的,一 種匯流排通訊協定會定義給匯流排1 7 0、外部異動佇列2 4 0 及控制器2 5 0,此通訊協定將控制它們之間信號之產生與 接收。 在另一實施例中,内部異動佇列2 3 0以及外部異動佇列 2 4 0可被單一序列取代。因此,圖2亦把内部異動符列2 3 0 與外部異動佇列2 4 0包含於單一之π異動佇列”内來說明。 本發明的原理皆可應用在以上兩種具體實施例。
典型的,一次讀取資料的外部匯流排交易,將引發預定 單位大小的資料被處理器讀取。例如,單一的匯流排交易 將引發6 4個位元組的資料被處理器讀取。這種單位大小通 常被稱為”快取列”;不同的系統擁有不同大小的快取列。 所以,雖然處理器需要的資料可能僅是快取列之某一部 分’但卻會讀取整個快取列。處理器會從快取列儘量取用 本身程式流程所需要的資料。
本發明的具體實施例可提供交易管理系統2 〇 〇 一預取序 列2 6 0。預取序列2 6 0將監視仲裁器21〇發出的要求,並且 確定讀取要求有否顯現出一種或多種預定型樣。當核心發 出一系列讀取要求至順序的記憶體位置(例如·· A,a + 1, ^+2,或B,B 一1,B —2),此可能表示核心正進行處理一 糸列有規則的、順序的指令或資料。假如任何型樣被識別 出來’預取序列2 6 0會發出一要發出之讀取要求,此讀取 要求會在需要同樣資料的核心要求前產生。預取會對改善
第9頁 527540 處 前 資 以 發明說明(6) 里二效此方面有所貢獻,因為在核心2 〇 〇要求資之 料巴資料儲存於快取記憶體22"。當核二… 使用次:f料已存於快取記憶體22 0中,則在核心200 ^ ^用[核心_不需再被迫等待外部匯流排交易 圖3為根據本發明的具體實施例,所引伸之代理 動佇列—3 0 0方塊圖。外部異動佇列3〇〇可能包含—控制器、 0、複數個的序列暫存器32Q —0至32〇 —7(集體標示為 、以及一優先化矩陣33〇。雖然在圖3中標示出八個暫
存器32 0,但根據本發明的原理,暫存器數量的多寡可視 需求而定。 控制器3 1 0中介外部異動佇列3 〇 〇至代理内其他元件。控 制器310可引發交易進入序列暫存器32〇或從其中移除,也 可把資料寫入其攔位。控制器3丨〇亦可把要告示在外部匯 流排1 7 0 (圖1)上的交易排行次序。在一具體實施例,控制 器3 1 0可以是一種狀態機器。 暫存器3 2 0可於異動仔列3 〇 〇儲存序列相關資料。每一序 列暫存器3 2 0可由多個攔位構成,並包含一位址欄位3 4 0、 一第一狀態欄位3 5 0以及一第二狀態欄位3 6 0。狀態欄位 3 4 0、3 5 0可儲存關於各別交易之管理資訊。所以,每一序 列暫存器3 2 0維護一對外部匯流排交易之資料是可行的。 位址欄位3 4 0可識別要求所指向的一外部記憶體位址範 圍。 狀態欄位3 5 0、3 6 0可識別關於各別交易之管理資訊。例
第10頁 527540 五、發明說明(7) ' ~- 如,狀態欄位3 5 0、3 6 0可識別交易狀態一〜嬖如說, 交易正等待在外部匯流排上告示,或已經告示了 ,或易 已接收到快取記憶體一致性結果,又或交易已完成 的’當狀態欄位3 50、3 6 0 —同指示各別交易已完成,交' 將會從暫存器3 20中清除。 勿 暫存32 0亦可承載資訊,無論在狀態搁位或盆他地 方,這些資訊可分辨出暫存器間何者儲存讀取要求、何 fd寫入要求,以及何者儲存有效資肖、何者可用來配置 新貧料。 如前討論,異動佇列3 0 0之具體實施例可儲存一對外 匯流排交易之資料於每一暫存器32 0。此雙 用:執行資料"盲預取"之代^當一核心讀取要求引發適從 外:記憶體讀取資料之動料,盲預取將引發相鄰記憶體 位;且的貝枓同時,代理讀取。通常,核心會使用複數個同 ,:己憶體位置的資料。透過預取相鄰記憶體位置的資料, 貝料將置於較快的内部快取記憶體,且為可用的,核心可 攸預取位置取用需要的資料。因此,盲預取可改善代理效 能。 〜在盲預取系統中,控制器3丨〇會接收核心讀取要求的資 料,輸入適當貧料至位址攔位34〇,以及狀態欄位35〇、 3 6 0之一。然後控制器3丨〇則輸入盲預取資料至狀態欄位 3 j 0、3 餘下者。如圖· 3所示,狀態欄位3 5 〇、3 6 〇被標示 來反映父易中何者為與核心要求相關、何者為與盲預取要 求相關。所以,當核心要求儲存於異動佇列3 0 0時,盲預
527540 五、發明說明(8) ------- :要2也隨其同時儲存於異動佇列3。〇内。在圖3的例子 二曰存1§32〇 — 〇、32〇〜1、3 20 -3、3 2 0 - 6 和 3 2 0 - 7 說明核 心項取要求盥盲:¥ 爻J /、售預取要求間可能的組合。 異動 >[宁列3 Q Q亦y (| ^ ,, j儲存預取要求發出的,,圖型化預取要求 Μ料。在一圖别 >(卜& π 〇 匕預取系統中,控制器3 1 0接收型樣化預 彳°號輸入適當資料至位址欄位3 4 0,以及狀態欄 位 3 6 〇之。控制器3 1 0本身亦增加盲預取予圖型化 預求’亚輸入盲預取相聯資料至狀態欄位3 5 0、3 6 0餘 I比炎在此例中,暫存器狀態欄位3 5 0、3 6 0會識別兩種要 二白:、、預取要求。在圖3的例子中,暫存器3 2 0 - 4和3 2 0 - 5 η月由圖型化預取要求與盲預取要求如何儲存於異動佇列 3 0 0 中。 根據本發明的具體實施例,優先化矩陣330確定告示在 外部^流排上的指令之行程。在第一具體實施例中,優先 化矩陣3 3 0使核心讀取要求優先於預取要求(兩種皆可), 預取要求優先於寫人要求。根據本發明的另一種具 趾只施例,優先化矩陣3 3 〇確定核心内配置之暫存器的行 程0 圖4為根據本發明的具體實施例,說明優先化矩陣4〇〇。 優先化矩陣4GG由陣列41〇、核心讀取遮罩42Q、預取讀取 =13〇於、寫入遮罩440與旗標福測器450構成。陣列41〇識 7,、動仔列3 0 0 (圖3)内儲存的各種要求之相對時齡。核心 讀取遮罩42 0識別儲存在異動仵列内尚未告示至外部匯流 排的核心讀取要求。預取遮罩43〇識別儲存在異動佇列内
第12頁 527540 五、發明說明(9) " ' --- =未告示至外部匯流棑的預取要求。寫入遮罩44〇識別儲 存j異動佇列内尚未告示至外部匯流排的寫入要求。在具 體貝施例中,核心讀取遮罩4 2 0、預取讀取遮罩4 3 〇、 遮罩400各別可為暫存器。 "、、 對於一N暫存器異動佇列來說,優先化矩陣4〇〇可包含n 乘N陣列410。陣列内每一位置儲存一代表兩暫存器間相 $先化條件之旗標,旗標列與各別暫存器3 2 〇 (圖3 )相聯。 當旗標被設定於某一列,此指示出其他暫存器儲存的要求 皆較與此列相聯的儲存中之要求早。因此,在圖4的例子 中,如旗標被設定於列〇,則代表儲存於暫存器3 2 〇 — 〇的要 求較異,動佇列3 0 0 (圖3)内其他地方所儲存的要求都晚。圖 4中’列之時齡順序以括號標示於每一列旁。此例中,列& 的旗標識別其為最早的儲存中之要求,列3的旗標識別其 為最晚的儲存中之要求。 ’、 陣列4 1 0的行可與其他暫存器相聯。例如,行〇與暫存器 3 2 0 - 0 (圖3 )相聯。旗標可被設定於陣列41 〇行0,而其他列 則指示出其他暫存器與暫存器3 2 0 - 0間之相對優先化條 件。例如,圖4中標示旗標被設定於列1、3、5及6與行〇交 會的位置,表示對應於暫存器(暫存器3 2 0 - 1、3 2 0-3、 320 -5、3 20 -6)的要求較儲存於暫存器3 2 0- 0的要求來得 晚。 核心讀取遮罩4 2 0由複數個旗標、異動佇列内任一暫存 器3 2 0構成。核心讀取遮罩4 2 0内每一位置與陣列41 0的各 別行相聯。核心讀取遮罩42 0的旗標識別儲存在暫存器320
第13頁 527540 五、發明說明(ίο) 内,尚未告示至外部匯流排的核心讀取 4的例子n。讀取遮罩識別儲存 Hi。在圖 32H、32。—3、32"以及32。_7的核心讀取二0、 圖3提供的例子吻合。 受木。此例與 預取遮罩43 0由複數個旗標、異動佇列内任 構成。預取遮罩内每一位置與陣列41〇的各別行::器32。 取遮罩430的旗標識別儲存在暫存器32〇内,尚 '預 部匯流排的核心預取要求為何者。在圖4的例子中二至外 預取要求儲存在暫存器32〇_〇、32。_丨、32〇_3成 320-5、3 20-6以及320_7内。根據本發明的具體實施例 預取遮罩43G不需分辨型樣化預取要求與盲預取要求。, 寫入遮罩440同樣由複數個旗標、異動佇列内任—斬 器構成。寫人遮罩㈣内每-位置與陣列41()的各曰子 聯。寫入遮罩440的旗標識別儲存在暫存器32〇内 示至外龍流排的寫人要求為何1。圖 未。 在暫存器32 0-2内的寫入要求。 两〜储存 根據一具體實施例,核心讀取遮罩42〇、預取遮罩43〇鱼 寫入遮罩440的旗標位置用來與陣列41 〇各別行的旗標位置 互相通訊。例如,各遮罩42〇—44〇的行〇用來與陣列41〇行〇 ^所有旗標位置互相通訊。根據一具體實施例,無論核心 喟取遮罩42 0、預取遮罩430或寫入遮罩44〇的旗標狀態皆 可在一相對應旗標位置使旗標失能。典型的,在同一時 内,遮罩42 0-440中只有一可賦能。此原理將會詳加討論 如下。
527540 五'發明說明(11) 優$化矩陣4 0 0包含旗標偵測器45〇、陣列41〇内任一 列三每一旗標偵測器4 5 0從陣列4 1 0内相聯列的旗標位置接 收第一輸入。每一旗標偵測器45〇亦從每一遮罩42〇—44Q的 預疋旗標位置接收一輸入。如一旗標偵測器4 5 〇偵測不到 陣列41 0内相聯列的旗標,但卻從任一遮罩42〇 — 44〇中積測 到有效旗標,則其會產生一有效輸出。再次的,在一具體 實施例中,同一時間内,遮罩42〇-44〇 t只有一可賦能, 只有一旗標偵測器45 0會產生一有效輸出。此有效輸出會 識別出異動佇列下一會排程的儲存t之要求。 根據一具體實施例,遮罩420 -44 0會根據相對優先化方 案來賦能。例如,核心讀取要求優先於預取要求,以及預 取要求優先於寫入要求。要實施此優先化方案,控制邏輯 (無標示)可識別核心讀取遮罩42 0有否儲存任何旗標,如 有的話,則核心讀取遮罩420賦能,而其他遮罩43〇、44〇 則使其失能。核心讀取遮罩4 2 0的内容確定陣列4 1 〇内的旗 標為何者,如有任何旗標,則使其失能。核心讀取遮罩" 4 2 0的内容亦可能輸入至偵測器4 5 〇。預取遮罩4 3 〇及寫入 遮罩4 4 0的内容將不被準許去影響陣列4 1 〇或偵測器4 5 〇之 運作。 假如核心讀取遮罩4 2 G並未儲存任何旗標,控制邏輯會 確定預取遮罩4 3 0有否儲存任何旗標。如有的話,則預取 遮罩4 3 0赋能’核心讀取遮罩4 2 0及寫入遮罩4 4 〇則使其失 能。預取遮罩430的内容會應用在陣列41〇去使某些旗標失 能。預取遮罩4 3 0的内容亦可能輸入至偵測器μ 〇。
第15頁 527540 五、發明說明(12) 假如核心讀取遮罩4 2 0及預取遮罩4 3 0並未儲存任何旗 標,則寫入遮罩440賦能。寫入遮罩440的内容會應用在陣 列410去使其内某些旗標失能。寫入遮罩440的内容亦可能 輸入至旗標偵測器4 5 0。 透過提供遮罩(如核心讀取遮罩4 2 0 )内容至偵測器,該 遮罩可防止旗標偵測器45 0對遮罩4 20無法辨識的要求類型 產生一有效輸出。在圖4的例子中,雖然儲存於列4的要求 為異動彳宁列(圖3)中最早的,但此要求並非核心讀取要求 (因在核心讀取遮罩行4中並無設定旗標)。因此,其他某 些暫存器所儲存最早的核心讀取要求,會優先於與列4相 聯的要求。透過輸入核心讀取要求行4的内容至與行4相聯 之旗標偵測器450,^標偵測器450將會被禁止產生一有效 輸出信號。 根據一具體實施例,當遮罩420-440應用在陣列41 0,遮 罩旗標會引致陣列内旗標失能。使陣列旗標失能可防止其 相聯之旗標偵測器4 5 0接收到該旗標;即便該旗標已設 定。考慮圖3的例子,如前所論,核心讀取遮罩4 2 0防止旗 標偵測器4 5 0識別列4為最早的要求,因為列4並未與核心 讀取要求相聯。列2所識別的第二早要求,同樣是與寫入 要求相聯,所以核心讀取遮罩4 2 0也防止了旗標偵測器4 5 0 與列2相聯而產生一有效輸出信號。優先化矩陣4 0 0所識別 出最早之核心讀取要求,其實乃全部要求中的第三早,即 列7所識別的。因此,旗標偵測器4 5 0識別暫存器3 2 0 - 7儲 存了下一排程指令。
第16頁 527540 五、發明說明(13) 當核心讀取遮罩4 2 0應用在陣列4 1 0,核心讀取遮罩4 2 0 確定旗標的那一行需賦能,餘者全部失能。在圖4的例子 中,在行0、1、3、6及7的旗標賦能,在行2、4及5的旗標 失能。因此,當核心讀取遮罩4 2 0應用在陣列41 0時,列7 的兩個旗標失能;因該等旗標並未在核心讀取遮罩4 2 〇相 對應的位置設定。於是,對應列7之旗標偵測器4 5 0便產生 一有效輸出信號。 當預取遮罩430或寫入遮罩440應用在陣列41〇時,旗標 之失能就像前面對核心讀取遮罩42 〇的描述一般。 因此,優先化矩陣40G之具體實施例,提供陣列41〇來維 濩一異動佇列3 0 0 (圖3 )内各部分要求之時齡的絕對帳戶。 各種遮罩準許優先化矩陣4〇〇按要求類型來優先化那些要 求"奐言之’不管是核心讀取要求、預取要求或寫入要 求。 當要求儲存至異動佇列3 0 0或從其中清除一二 °當w接收到一新要4 儲暫存 充分地把對庫士 i ΐ 佇列内最晚的要求,故月 :=之列(列3)的旗標全部設定。 暫存器便被清除。於/存器的要求已完成後, 設。透過清除對應行的旗標二應;^的旗標全部重 易’如陣㈣。所代表,時齡均會:已上除指令晚的交 527540 五、發明說明(14) 前述討論所介紹之陣列4 1 〇為一儲在始 娘械目一^ , 城存旗標的正規化N乘N 很據一具體η施例’陣列4 1 〇實咚 士 ΛΑ + d n k上包含的旗標位 陣列 置數,少於一真正的N方陣。圖4%明、才1工;^的旗標位 上的母一位置一一即位置(〇,0),(1,n,(2, Τ ή π,趵皆為Χ。陣列410主對角線上並不需要提供旗標位 置,因為暫存器不用記錄本身時齡之優先化條件。因此, 使用11正規化陣列”或類似的言詞,只是意欲表明1為一真 正正規化且為Ν乘Ν之陣列。除了主對角線外,旗標位置;f 存於陣列内任何地方。 圖5根據本發明的具體實施例,說明異動佇列3 〇 〇之作業 1 0 0 0之處理方法。當異動佇列3 0 0決定新要求要告示至外、 部匯机排時,其將決定異動佇列内有否非告示性的核心讀 ,要求(步驟101 〇)。如有,則異動佇列將對陣列使用核心 續,遮罩(步驟1 0 2 〇 ),並對儲存於已識別之暫存器内的核 心讀取要求進行排程(步驟1 0 3 0 )。 使Ϊ Ϊ ί動佇列並未存有任何非告示性的核心讀取要求, 了如^疋異動佇列内有否非告示性的預取要求(步驟1 〇4〇) 已4別二!! ΐ動彳宁列將對陣列使用預取遮罩,並對儲存於 } 曰子器内的預取要求進行排程(步驟1 0 5 0 - 1 〇 6 〇 決ΐ = = = = :任何非告示性的預取要求’其將 有,則 有否非告不性的寫入要求(步驟1 0 7 0 )。如 別之暫存對陣列使用寫人遮罩,1㈣存於已識 的寫入要求進行排程(步驟丨〇 8 〇 -丨〇 9 〇 )。依 第18頁 527540
據步驟1 0 3 0、1 〇 6 〇、1 〇 9 〇的結果, 存 或假如異動佇列並未 07’則方法1 ο〇〇結 有任何非告示性的寫入要求(步驟1 束。 =排程環境之應用例也符合本發明的原理。例如, 示至外部匯流排之要求夕卜,異動仔列亦與代理: 八他凡件通訊(譬如核心),以協助此等元件管理資料
很多讀取要求會需要元件為其新接收的資料配 這裡,儲存新接收的資料至暫存器稱為” ,要一次資料填充的讀取或預取要求稱為" ^要求。可是,有些要求需要在資料填充前,先把儲 ^子^"已配置之暫存器的資料驅逐。這種要求則稱為"驅逐 f、,,。因為先作資料驅逐而後填充,其處理時間較單獨 的貝料填充久,所以為了滿足對這些通訊排程之目的,里 動佇列會置驅逐要求優先於資料填充。本發明的原理可應 用在此實施例中。 圖6為根據本發明的另一種具體實施例,說明優先化矩 陣500。優先化矩陣5 0 0包含陣列51〇、核心讀取遮罩52〇、 預取遮罩5 3 G、寫人遮罩5 4 G與旗標偵測器5 5 Q。核心讀取 遮罩520、預取遮罩5 3 0、寫入遮罩54〇可組成一優先化暫 存P車列5 6 0 °在某一 % ’優先化暫存器陣列中的遮罩 520 540,其中僅有一者為有效的。這些元件可依循之前 描述的具體實施例來運作。 圖6的具體實施例還包含一第二優先化暫存器陣列57〇, 其又包含驅逐遮罩580及填充遮罩59〇。如之前各個具體實
第19頁 527540 五、發明說明(16) 施例所論’在某一刻,優先化暫存器陣列5 7 〇中的遮罩 580 590 ’其中僅有一者為有效的。對應於異動符列中每 暫存器’遮罩580-590各包含一旗標位置。每一遮罩之 旗標位置用來與陣列41 0的對應行互相通訊。 驅逐遮罩58 0之旗標會識別異動佇列暫存器32〇 (圖3)有 否儲存驅逐要求。根據一具體實施例,當對應的驅逐要求 已被告示在外部匯流排後,驅逐遮罩5 8 〇會設定旗標。對 於待決中的驅逐要求並不需要設定旗標。 填充遮罩5 9 0之旗標會識別異動佇列暫存器3 2 〇 (圖3 )有 否儲存填充要求。根據一具體實施例,當對應的填充要求 已被告示在外部匯流排後,填充遮罩5 9 〇會設定旗標。不 同的是,在交易對相關驅逐要求安排通訊後,對於此驅逐 要求’填充遮罩5 9 0會設定旗標。 。優先化暫存器陣列5 〇 〇尚可包含一組與第二優先化暫存 抑陣列5 7 0相聯之旗標偵測器6 〇 〇。每一旗標偵測器⑽〇會 接收彳文陣列5 1 〇相聯列傳來的第一輸入,以及從第二優先 =暫f器陣列5 7 〇内有效遮罩5 8 0或5 9 0之相聯旗標位置傳 =的第二個輸入。旗標偵測器可從第二優先化暫存器陣列 接收有效旗標,但不能偵測陣列51〇内,可產生有效輸 出信號的有效旗標。異動佇列3 0 0 (圖3)透過暫存器3 20與 有效旗標偵測器6 0 0相聯來通訊。 哭在$ 一組旗標偵測器550或第二組6〇〇内的每一旗標偵測 器,皆透過一獨立的通訊路徑(圖6中無標示)與陣列51〇内 相聯列之旗標位置聯繫。
心/MO 五、發明說明(17) 本發明之原理可作f隹一 用途,優先化矩陣可===步的延伸。只要符合本發明的 視所需而定。根據數量之優先化暫存器陣列, 的有效輸出信號,合盥=例,一組旗標偵測器所產生 處理。因此,當多重^ &偵測器所產生的信號平行 陣列時,其皆為^行化方案使用在多重優先化暫存器 圖7為一根據本發明的呈者 中列71 0(圖6之列2)盥相鹋f %例之方塊圖,說明陣列 訊。關於旗標偵測^^2() f標偵測器72〇、730之間的通 内,列的每一旌根據—具體實施例,該陣列 一單獨的平行資;;=旗標偵測器720間,均包含 74。、75。。傳輸閑74。:、;5;2徑上可能設有傳輸閘 各別相聯旗標控制。 一 ° !由優先化暫存器陣列内之 陣列傳來的旗標,把浐;,態了,由各別優先化暫存器 而防止抓旗、75G改變成非傳導的,從 在另一狀態下,由夂入相聯旗標福測器720、730 ° 傳輸間740改變成由可^先化暫存器陣列傳來的旗標,把 入相聯旗標偵测器m 從而容許列川把旗標狀態輸 先列中的-列咖一)、優 720。之一旗標1^ ’將直接輸入相聯旗標偵測器 為第’第一優先化暫存器陣列之旗標2標示 I旗桿2枵W則ν器72〇的輸入,而第二優先化暫存器陣列 桿第二旗標偵測器73〇的輸入。所有其他的旗 ^ k控制傳輪閘。因此,如圖7的例子所示,第一優先化
第21頁 527540 五、發明說明(18) 暫存器陣列之旗標0-1及3-7控制相聯於列710之旗標位置 0- 1及3-7的傳輸閘。同樣的,第二優先化暫存器陣列之旗 標0-1及3-7控制相聯於列710之旗標位置0-1及3-7的傳輸 閘。 本發明的許多具體實施例已在這裡作出明確的說明與描 述。然而,可理解的,在不違背本發明的精神與預期範圍 下,本發明的修改例及變形例皆涵蓋於前述教義中,且均 在隨附申請範圍内。
第22頁 527540 圖式簡單說明
第23頁
Claims (1)
- W7540 六、申請專利範圍 1 * 一種排程器,包含: 供需要排程之資料 一根據第一優先化方 化條件之陣列,以及 一根據第二優先化方 化條件之優先化暫存器陣 複數個偵測器耦合至 2 ·如申請專利範圍第j 維陣列。 3 ·如申請專利範圍第i 器陣列包含複數個遮罩暫 第二優先化方案内每一 ^ 4 ·如申凊專利範圍第3 之輪入項用來與偵測器互 相對應行互相通訊。 5 ·如申請專利範圍第3 等複數個遮罩暫存器内容 器的控制邏輯。 6 ·如申請專利範圍第1 在輪入端偵測到從優先化 測不到該陣列的旗標時, 7 ·如申請專利範圍第j 一根據第三優先化方 化條件之第二優先化暫存 二 使用的記憶體, 案來識別序列輸入項間相對優先 案來識別序列輸入項間相對優先 列,以及 該陣列及優先化暫存器陣列。 項之排程器,其中該陣列為一 項之排程器,其中該優先化暫存 存器,该專遮罩暫存器的每一與 先狀態關聯。 項之排程器,其中遮罩暫存器内 相通訊’以及陣列内之輸入項的 項之排程器,進一步包含依據該 來有選擇的啟動其中一遮罩暫存 項之排程器,其中每一偵測器如 暫存器陣列傳來的旗標,但卻偵 會產生有效輸出。 項之排程器,進一步包含: 案來識別序列輸入項間相對優先 器陣列,以及第24頁 527540一第二複數個偵測器 化暫存器陣列。 其耦合至該陣列及該第二優先 8· 一種外部異動彳宁列,包含: 相關資料 複數個序列輸入項,用以儲存待決要求的 一優先化矩陣,包含: 列,及 一識別序列輸入項内之資料 之相對時齡的時齡陣 要求類型使 應於各別序 内相對應之 一優先化暫存器 用的遮罩暫存器,每一 列輸入項之旗標位置, 序列互’相通訊。 陣列’其具有供複數個 遮罩暫存器都具有相對 该旗標位置用來與陣列 陣9進一如:Λ專第1 2 3 4 5 6 7 8項之異動件列…該優先化矩 :-二一與相對應之序列輪入項關聯的旗標债測 益’母一旗軚偵測器用來與該時齡陣列内之序列的欄互相第25頁 1 0'如申請專利範圍第9項之異動佇列,其中該優先化 2 暫存器陣列之旗標位置應用在時齡陣列,以防止該旗標積 3 測器偵測時齡陣列内之旗標,但設定於該優先化暫存器陣 4 列内相對應之旗標位置的旗標除外。 5 11·如申請專利範圍第9項之異動佇列,其中每一旗標 6 #'測1§用來與該優先化暫存器陣列内相對應之旗標位置互 相通訊。 7 12·如申請專利範圍第8項之異動佇列,每次只能用某 8 遮罩暫存器’而根據按要求類型定義之預定優先化方 527540木,此一遮罩暫存器會成為最高非空暫存哭 13.如申請專利範圍第8項之異動佇列,。進— ::優先化暫存器陣列’具有複數個暫-步包含 要處理之驅逐要求與資料填充要求關··:二異動们 T標位置相對應於各別序列輸入項,言玄 暫存器, 陣列内相對應之輸入項。 T位置耦g 所 有 至 14· 一種外部異動佇列,包含·· 複數個序列輸入項用來儲存待決要求的相 一優先化矩陣,包含: 關資料 列,及 識別序列輸入項内 + 一優先化暫存器陣列,其具有供異動件 之資料填充要求與驅逐要求使用的遮罩暫存器,所要處 暫存器都具有相對應於各別序列輸入項之旗f U 一遮 位置用來與陣列内相對應之序列互相通訊。π ι,旗 1 5·如申請專利範圍第1 4項之異動佇列,其中节 ^陣進一步包含一與相對應之序列輸入項關聯的^债 时’母一旗標偵測器用來與該時齡陣列内之序列之互 通訊。 16·如申請專利範圍第丨5項之異動佇列,進一步包含 $合至該等旗標偵測器之控制器,當驅逐要求之遮罩暫 器使用在陣列時,控制器通知核心一資料驅逐要求,以 應旗標偵測器之輸出。 17·如申請專利範圍第1 5項之異動佇列,其中該優先 理 罩 標 化 相 存響 化第26頁 527540 六、申請專利範圍 暫存器陣列之旗標位置應用在時齡陣列,以防止該旗標偵 測器偵測時齡陣列内之旗標,但設定於該優先化暫存器陣 列内相對應之旗標位置的旗標除外。 18. 如申請專利範圍第1 5項之異動佇列,其中每一旗標 偵測器用來與該優先化暫存器陣列内相對應之旗標位置互 相通訊。 19. 如申請專利範圍第1 4項之異動佇列,其中在每次只 啟用某一遮罩暫存器,而根據按要求類型定義之預定優先 化方案,此一遮罩暫存器會成為最高非空暫存器。20. 一種供處理核心讀取要求、預取要求及寫入要求之 代理使用的排程方法,包含: 假如代理具有待決之核心讀取要求,則排程最早之核 心讀取要求; 否則,假如代理具有待決之預取要求,則排程最早之 預取要求, 否則,假如代理具有待決之寫入要求,則排程最早之 寫入要求。21. 如申請專利範圍第2 0項之方法,進一步包含,在第 一排程步驟前: 對暫存器實施旗標偵測,以識別代理是否存有非告示 性之核心讀取要求,以及 除非該旗標僅被識別為奉行上述實施步驟,否則確定 核心有無待決之核心讀取要求。 2 2.如申請專利範圍第2 0項之方法,進一步包含,在第第27頁 527540 六、申請專利範圍 一排程步驟前: 對暫存器實施旗標偵測,以識別代理是否存有非告示 性之預取要求,以及 除非該旗標僅被識別為奉行上述實施步驟,否則確定 核心有無待決之預取要求。 23. 如申請專利範圍第20項之方法,進一步包含,在第 一排程步驟前: 對暫存器實施旗標偵測,以識別代理是否存有非告示 性之寫入要求,以及除非該旗標僅被識別為奉行上述實施步驟,否則確定 核心有無待決之寫入要求。 m第28頁
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/474,010 US6499090B1 (en) | 1999-12-28 | 1999-12-28 | Prioritized bus request scheduling mechanism for processing devices |
Publications (1)
Publication Number | Publication Date |
---|---|
TW527540B true TW527540B (en) | 2003-04-11 |
Family
ID=23881855
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW089127868A TW527540B (en) | 1999-12-28 | 2000-12-26 | Prioritized bus request scheduling mechanism for processing device |
Country Status (10)
Country | Link |
---|---|
US (5) | US6499090B1 (zh) |
EP (2) | EP1242894B1 (zh) |
KR (1) | KR100604220B1 (zh) |
CN (1) | CN1316392C (zh) |
AT (2) | ATE478379T1 (zh) |
AU (1) | AU1627101A (zh) |
DE (2) | DE60044851D1 (zh) |
HK (2) | HK1051726A1 (zh) |
TW (1) | TW527540B (zh) |
WO (1) | WO2001048617A2 (zh) |
Families Citing this family (111)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6499090B1 (en) * | 1999-12-28 | 2002-12-24 | Intel Corporation | Prioritized bus request scheduling mechanism for processing devices |
US6826644B1 (en) * | 2000-08-10 | 2004-11-30 | Serverworks Corporation | Peripheral component interconnect arbiter implementation with dynamic priority scheme |
US6604160B1 (en) * | 2000-09-28 | 2003-08-05 | International Business Machines Corporation | Computing system arbitrating and selectively providing resource-seeking tasks with takeaway of non-shareable resources |
US7752400B1 (en) * | 2000-12-14 | 2010-07-06 | F5 Networks, Inc. | Arbitration and crossbar device and method |
US6996120B2 (en) * | 2001-03-14 | 2006-02-07 | Siemens Communications, Inc. | Methods for improving bus performance and bandwidth utilization of a parallel bus LAN |
US7305008B2 (en) * | 2001-03-14 | 2007-12-04 | Siemens Communications, Inc. | Parallel bus LAN |
US7107386B1 (en) | 2001-08-08 | 2006-09-12 | Pasternak Solutions, Llc | Memory bus arbitration using memory bank readiness |
US6804738B2 (en) * | 2001-10-12 | 2004-10-12 | Sonics, Inc. | Method and apparatus for scheduling a resource to meet quality-of-service restrictions |
US7194561B2 (en) * | 2001-10-12 | 2007-03-20 | Sonics, Inc. | Method and apparatus for scheduling requests to a resource using a configurable threshold |
US7143157B2 (en) * | 2002-03-25 | 2006-11-28 | Hewlett-Packard Development Company, L.P. | Managing the network impact of a digital transmitter |
US6732242B2 (en) | 2002-03-28 | 2004-05-04 | Intel Corporation | External bus transaction scheduling system |
US7058937B2 (en) * | 2002-04-12 | 2006-06-06 | Intel Corporation | Methods and systems for integrated scheduling and resource management for a compiler |
DE10218646A1 (de) * | 2002-04-25 | 2003-11-13 | Infineon Technologies Ag | An einen Bus angeschlossene Einrichtung |
US20040059879A1 (en) * | 2002-09-23 | 2004-03-25 | Rogers Paul L. | Access priority protocol for computer system |
US6941428B2 (en) * | 2002-09-25 | 2005-09-06 | International Business Machines Corporation | Memory controller optimization |
US6931493B2 (en) * | 2003-01-16 | 2005-08-16 | International Business Machines Corporation | Implementation of an LRU and MRU algorithm in a partitioned cache |
US7062582B1 (en) | 2003-03-14 | 2006-06-13 | Marvell International Ltd. | Method and apparatus for bus arbitration dynamic priority based on waiting period |
US8386648B1 (en) | 2003-06-26 | 2013-02-26 | Nvidia Corporation | Hardware support system for accelerated disk I/O |
WO2005015805A2 (en) * | 2003-08-08 | 2005-02-17 | Visionflow, Inc. | Software and hardware partitioning for multi-standard video compression and decompression |
US8683132B1 (en) | 2003-09-29 | 2014-03-25 | Nvidia Corporation | Memory controller for sequentially prefetching data for a processor of a computer system |
US7665069B2 (en) * | 2003-10-31 | 2010-02-16 | Sonics, Inc. | Method and apparatus for establishing a quality of service model |
US9087036B1 (en) | 2004-08-12 | 2015-07-21 | Sonics, Inc. | Methods and apparatuses for time annotated transaction level modeling |
US8504992B2 (en) | 2003-10-31 | 2013-08-06 | Sonics, Inc. | Method and apparatus for establishing a quality of service model |
US8356142B1 (en) * | 2003-11-12 | 2013-01-15 | Nvidia Corporation | Memory controller for non-sequentially prefetching data for a processor of a computer system |
US8700808B2 (en) * | 2003-12-01 | 2014-04-15 | Nvidia Corporation | Hardware support system for accelerated disk I/O |
US7543142B2 (en) | 2003-12-19 | 2009-06-02 | Intel Corporation | Method and apparatus for performing an authentication after cipher operation in a network processor |
US20050149744A1 (en) * | 2003-12-29 | 2005-07-07 | Intel Corporation | Network processor having cryptographic processing including an authentication buffer |
US7512945B2 (en) | 2003-12-29 | 2009-03-31 | Intel Corporation | Method and apparatus for scheduling the processing of commands for execution by cryptographic algorithm cores in a programmable network processor |
US7529924B2 (en) * | 2003-12-30 | 2009-05-05 | Intel Corporation | Method and apparatus for aligning ciphered data |
US8243744B2 (en) * | 2004-03-01 | 2012-08-14 | Futurewei Technologies, Inc. | Priority sorting |
US8427490B1 (en) | 2004-05-14 | 2013-04-23 | Nvidia Corporation | Validating a graphics pipeline using pre-determined schedules |
US7441087B2 (en) * | 2004-08-17 | 2008-10-21 | Nvidia Corporation | System, apparatus and method for issuing predictions from an inventory to access a memory |
US8624906B2 (en) * | 2004-09-29 | 2014-01-07 | Nvidia Corporation | Method and system for non stalling pipeline instruction fetching from memory |
US8356143B1 (en) | 2004-10-22 | 2013-01-15 | NVIDIA Corporatin | Prefetch mechanism for bus master memory access |
US7331010B2 (en) | 2004-10-29 | 2008-02-12 | International Business Machines Corporation | System, method and storage medium for providing fault detection and correction in a memory subsystem |
US7739436B2 (en) * | 2004-11-01 | 2010-06-15 | Sonics, Inc. | Method and apparatus for round robin resource arbitration with a fast request to grant response |
US8698817B2 (en) | 2004-11-15 | 2014-04-15 | Nvidia Corporation | Video processor having scalar and vector components |
JP4305378B2 (ja) * | 2004-12-13 | 2009-07-29 | ソニー株式会社 | データ処理システム、アクセス制御方法、その装置およびそのプログラム |
US8065457B2 (en) * | 2005-09-09 | 2011-11-22 | Advanced Micro Devices, Inc. | Delayed memory access request arbitration |
US9092170B1 (en) | 2005-10-18 | 2015-07-28 | Nvidia Corporation | Method and system for implementing fragment operation processing across a graphics bus interconnect |
US7685392B2 (en) | 2005-11-28 | 2010-03-23 | International Business Machines Corporation | Providing indeterminate read data latency in a memory system |
US7616218B1 (en) * | 2005-12-05 | 2009-11-10 | Nvidia Corporation | Apparatus, system, and method for clipping graphics primitives |
US8593474B2 (en) * | 2005-12-30 | 2013-11-26 | Intel Corporation | Method and system for symmetric allocation for a shared L2 mapping cache |
US7461216B2 (en) * | 2006-02-23 | 2008-12-02 | Hewlett-Packard Development Company, L.P. | Memory controller |
US20070255613A1 (en) * | 2006-05-01 | 2007-11-01 | International Business Machines Corporation | Method and apparatus for execution of a process |
US8543792B1 (en) | 2006-09-19 | 2013-09-24 | Nvidia Corporation | Memory access techniques including coalesing page table entries |
US8601223B1 (en) | 2006-09-19 | 2013-12-03 | Nvidia Corporation | Techniques for servicing fetch requests utilizing coalesing page table entries |
US8352709B1 (en) | 2006-09-19 | 2013-01-08 | Nvidia Corporation | Direct memory access techniques that include caching segmentation data |
US8347064B1 (en) | 2006-09-19 | 2013-01-01 | Nvidia Corporation | Memory access techniques in an aperture mapped memory space |
US7870459B2 (en) * | 2006-10-23 | 2011-01-11 | International Business Machines Corporation | High density high reliability memory module with power gating and a fault tolerant address and command bus |
US8700883B1 (en) | 2006-10-24 | 2014-04-15 | Nvidia Corporation | Memory access techniques providing for override of a page table |
US8707011B1 (en) | 2006-10-24 | 2014-04-22 | Nvidia Corporation | Memory access techniques utilizing a set-associative translation lookaside buffer |
US8706975B1 (en) | 2006-11-01 | 2014-04-22 | Nvidia Corporation | Memory access management block bind system and method |
US8347065B1 (en) * | 2006-11-01 | 2013-01-01 | Glasco David B | System and method for concurrently managing memory access requests |
US8504794B1 (en) | 2006-11-01 | 2013-08-06 | Nvidia Corporation | Override system and method for memory access management |
US8607008B1 (en) | 2006-11-01 | 2013-12-10 | Nvidia Corporation | System and method for independent invalidation on a per engine basis |
US8533425B1 (en) * | 2006-11-01 | 2013-09-10 | Nvidia Corporation | Age based miss replay system and method |
US8700865B1 (en) | 2006-11-02 | 2014-04-15 | Nvidia Corporation | Compressed data access system and method |
US8868397B2 (en) | 2006-11-20 | 2014-10-21 | Sonics, Inc. | Transaction co-validation across abstraction layers |
US20080162735A1 (en) * | 2006-12-29 | 2008-07-03 | Doug Voigt | Methods and systems for prioritizing input/outputs to storage devices |
JP4410270B2 (ja) * | 2007-04-17 | 2010-02-03 | 株式会社東芝 | バス制御装置 |
JP4710024B2 (ja) * | 2007-06-20 | 2011-06-29 | 富士通株式会社 | キャッシュメモリ制御装置およびキャッシュメモリ制御方法 |
US8683126B2 (en) | 2007-07-30 | 2014-03-25 | Nvidia Corporation | Optimal use of buffer space by a storage controller which writes retrieved data directly to a memory |
US7923341B2 (en) * | 2007-08-13 | 2011-04-12 | United Solar Ovonic Llc | Higher selectivity, method for passivating short circuit current paths in semiconductor devices |
US8411096B1 (en) | 2007-08-15 | 2013-04-02 | Nvidia Corporation | Shader program instruction fetch |
US9024957B1 (en) | 2007-08-15 | 2015-05-05 | Nvidia Corporation | Address independent shader program loading |
US8659601B1 (en) | 2007-08-15 | 2014-02-25 | Nvidia Corporation | Program sequencer for generating indeterminant length shader programs for a graphics processor |
US8698819B1 (en) | 2007-08-15 | 2014-04-15 | Nvidia Corporation | Software assisted shader merging |
US8308545B2 (en) * | 2007-11-09 | 2012-11-13 | Wms Gaming Inc. | Wagering game with enhanced player-selection bonus feature |
US9064333B2 (en) | 2007-12-17 | 2015-06-23 | Nvidia Corporation | Interrupt handling techniques in the rasterizer of a GPU |
US8780123B2 (en) | 2007-12-17 | 2014-07-15 | Nvidia Corporation | Interrupt handling techniques in the rasterizer of a GPU |
US7734854B2 (en) * | 2008-01-04 | 2010-06-08 | International Business Machines Corporation | Device, system, and method of handling transactions |
US8923385B2 (en) | 2008-05-01 | 2014-12-30 | Nvidia Corporation | Rewind-enabled hardware encoder |
US8681861B2 (en) | 2008-05-01 | 2014-03-25 | Nvidia Corporation | Multistandard hardware video encoder |
US8356128B2 (en) * | 2008-09-16 | 2013-01-15 | Nvidia Corporation | Method and system of reducing latencies associated with resource allocation by using multiple arbiters |
US8370552B2 (en) * | 2008-10-14 | 2013-02-05 | Nvidia Corporation | Priority based bus arbiters avoiding deadlock and starvation on buses that support retrying of transactions |
SE533007C2 (sv) | 2008-10-24 | 2010-06-08 | Ilt Productions Ab | Distribuerad datalagring |
US8489851B2 (en) | 2008-12-11 | 2013-07-16 | Nvidia Corporation | Processing of read requests in a memory controller using pre-fetch mechanism |
CN101510164B (zh) * | 2009-03-25 | 2013-05-22 | 北京中星微电子有限公司 | 一种多业务调度方法、装置与系统 |
US8698823B2 (en) * | 2009-04-08 | 2014-04-15 | Nvidia Corporation | System and method for deadlock-free pipelining |
US10721269B1 (en) | 2009-11-06 | 2020-07-21 | F5 Networks, Inc. | Methods and system for returning requests with javascript for clients before passing a request to a server |
EP2387200B1 (en) | 2010-04-23 | 2014-02-12 | Compuverde AB | Distributed data storage |
US8775754B2 (en) * | 2011-06-24 | 2014-07-08 | Arm Limited | Memory controller and method of selecting a transaction using a plurality of ordered lists |
US8490107B2 (en) | 2011-08-08 | 2013-07-16 | Arm Limited | Processing resource allocation within an integrated circuit supporting transaction requests of different priority levels |
US8769138B2 (en) | 2011-09-02 | 2014-07-01 | Compuverde Ab | Method for data retrieval from a distributed data storage system |
US9021053B2 (en) | 2011-09-02 | 2015-04-28 | Compuverde Ab | Method and device for writing data to a data storage system comprising a plurality of data storage nodes |
US8997124B2 (en) | 2011-09-02 | 2015-03-31 | Compuverde Ab | Method for updating data in a distributed data storage system |
US8645978B2 (en) | 2011-09-02 | 2014-02-04 | Compuverde Ab | Method for data maintenance |
US9626378B2 (en) | 2011-09-02 | 2017-04-18 | Compuverde Ab | Method for handling requests in a storage system and a storage node for a storage system |
US8650365B2 (en) * | 2011-09-02 | 2014-02-11 | Compuverde Ab | Method and device for maintaining data in a data storage system comprising a plurality of data storage nodes |
US8856459B1 (en) * | 2011-12-07 | 2014-10-07 | Apple Inc. | Matrix for numerical comparison |
US9148384B2 (en) * | 2012-02-10 | 2015-09-29 | Hewlett-Packard Development Company, L.P. | Posted and unencumbered queues |
US10146545B2 (en) | 2012-03-13 | 2018-12-04 | Nvidia Corporation | Translation address cache for a microprocessor |
US9880846B2 (en) | 2012-04-11 | 2018-01-30 | Nvidia Corporation | Improving hit rate of code translation redirection table with replacement strategy based on usage history table of evicted entries |
US10241810B2 (en) | 2012-05-18 | 2019-03-26 | Nvidia Corporation | Instruction-optimizing processor with branch-count table in hardware |
CN102799487A (zh) * | 2012-06-29 | 2012-11-28 | 记忆科技(深圳)有限公司 | 基于阵列/lun的io调度方法及装置 |
US9612972B2 (en) * | 2012-12-03 | 2017-04-04 | Micron Technology, Inc. | Apparatuses and methods for pre-fetching and write-back for a segmented cache memory |
US20140189310A1 (en) | 2012-12-27 | 2014-07-03 | Nvidia Corporation | Fault detection in instruction translations |
US20140250272A1 (en) * | 2013-03-04 | 2014-09-04 | Kabushiki Kaisha Toshiba | System and method for fetching data during reads in a data storage device |
US10108424B2 (en) | 2013-03-14 | 2018-10-23 | Nvidia Corporation | Profiling code portions to generate translations |
US9569385B2 (en) | 2013-09-09 | 2017-02-14 | Nvidia Corporation | Memory transaction ordering |
KR101993028B1 (ko) | 2015-02-05 | 2019-06-26 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 |
JP2017027479A (ja) * | 2015-07-24 | 2017-02-02 | 富士通株式会社 | データ読出し方法及び情報処理システム |
CN107193761B (zh) * | 2016-03-15 | 2021-07-27 | 厦门旌存半导体技术有限公司 | 队列优先级仲裁的方法与装置 |
US11874782B1 (en) * | 2018-07-20 | 2024-01-16 | Robert Gezelter | Fast mass storage access for digital computers |
US11288199B2 (en) | 2019-02-28 | 2022-03-29 | Micron Technology, Inc. | Separate read-only cache and write-read cache in a memory sub-system |
US10908821B2 (en) | 2019-02-28 | 2021-02-02 | Micron Technology, Inc. | Use of outstanding command queues for separate read-only cache and write-read cache in a memory sub-system |
US10970222B2 (en) | 2019-02-28 | 2021-04-06 | Micron Technology, Inc. | Eviction of a cache line based on a modification of a sector of the cache line |
US11106609B2 (en) | 2019-02-28 | 2021-08-31 | Micron Technology, Inc. | Priority scheduling in queues to access cache data in a memory sub-system |
US11507522B2 (en) * | 2019-12-06 | 2022-11-22 | Advanced Micro Devices, Inc. | Memory request priority assignment techniques for parallel processors |
US10963402B1 (en) * | 2019-12-28 | 2021-03-30 | Advanced Micro Devices, Inc. | Using age matrices for managing entries in sub-queues of a queue |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2587229B2 (ja) * | 1987-03-11 | 1997-03-05 | 日本テキサス・インスツルメンツ株式会社 | アービタ回路 |
US4958820A (en) * | 1987-08-20 | 1990-09-25 | Minolta Camera Kabushiki Kaisha | Sheet storing apparatus for copying machine |
US5222223A (en) | 1989-02-03 | 1993-06-22 | Digital Equipment Corporation | Method and apparatus for ordering and queueing multiple memory requests |
US5168570A (en) * | 1989-12-29 | 1992-12-01 | Supercomputer Systems Limited Partnership | Method and apparatus for a multiple request toggling priority system |
US5535395A (en) | 1992-10-02 | 1996-07-09 | Compaq Computer Corporation | Prioritization of microprocessors in multiprocessor computer systems |
US5586294A (en) | 1993-03-26 | 1996-12-17 | Digital Equipment Corporation | Method for increased performance from a memory stream buffer by eliminating read-modify-write streams from history buffer |
US5537573A (en) | 1993-05-28 | 1996-07-16 | Rambus, Inc. | Cache system and method for prefetching of data |
US5524220A (en) * | 1994-08-31 | 1996-06-04 | Vlsi Technology, Inc. | Memory subsystems having look-ahead instruction prefetch buffers and intelligent posted write buffers for increasing the throughput of digital computer systems |
US5761706A (en) | 1994-11-01 | 1998-06-02 | Cray Research, Inc. | Stream buffers for high-performance computer memory system |
US5638534A (en) * | 1995-03-31 | 1997-06-10 | Samsung Electronics Co., Ltd. | Memory controller which executes read and write commands out of order |
US5701426A (en) | 1995-03-31 | 1997-12-23 | Bull Information Systems Inc. | Data processing system and method using cache miss address prediction and forced LRU status in a cache memory to improve cache hit ratio |
JPH08328941A (ja) * | 1995-05-31 | 1996-12-13 | Nec Corp | メモリアクセス制御回路 |
WO1996041271A1 (en) | 1995-06-07 | 1996-12-19 | Advanced Micro Devices, Inc. | Programmable bus arbiter including real time priority indicator fields for arbitration priority selection |
US5740399A (en) | 1995-08-23 | 1998-04-14 | International Business Machines Corporation | Modified L1/L2 cache inclusion for aggressive prefetch |
US5790813A (en) * | 1996-01-05 | 1998-08-04 | Unisys Corporation | Pre-arbitration system allowing look-around and bypass for significant operations |
US5761452A (en) | 1996-03-18 | 1998-06-02 | Advanced Micro Devices, Inc. | Bus arbiter method and system |
US6272600B1 (en) * | 1996-11-15 | 2001-08-07 | Hyundai Electronics America | Memory request reordering in a data processing system |
US6178466B1 (en) * | 1998-06-12 | 2001-01-23 | Unisys Corporation | System for maximizing bandpass on an interface directly coupling two units where the interface has independently operative data and address interconnections, and computer sysem employing same. |
US6286083B1 (en) * | 1998-07-08 | 2001-09-04 | Compaq Computer Corporation | Computer system with adaptive memory arbitration scheme |
US6499090B1 (en) | 1999-12-28 | 2002-12-24 | Intel Corporation | Prioritized bus request scheduling mechanism for processing devices |
JP3839288B2 (ja) * | 2001-09-12 | 2006-11-01 | 株式会社ルネサステクノロジ | メモリカード |
-
1999
- 1999-12-28 US US09/474,010 patent/US6499090B1/en not_active Expired - Lifetime
-
2000
- 2000-11-22 DE DE60044851T patent/DE60044851D1/de not_active Expired - Lifetime
- 2000-11-22 AU AU16271/01A patent/AU1627101A/en not_active Abandoned
- 2000-11-22 DE DE60045804T patent/DE60045804D1/de not_active Expired - Lifetime
- 2000-11-22 CN CNB00801311XA patent/CN1316392C/zh not_active Expired - Fee Related
- 2000-11-22 KR KR1020027006363A patent/KR100604220B1/ko not_active IP Right Cessation
- 2000-11-22 AT AT00978857T patent/ATE478379T1/de not_active IP Right Cessation
- 2000-11-22 AT AT09176441T patent/ATE504041T1/de not_active IP Right Cessation
- 2000-11-22 WO PCT/US2000/032022 patent/WO2001048617A2/en active IP Right Grant
- 2000-11-22 EP EP00978857A patent/EP1242894B1/en not_active Expired - Lifetime
- 2000-11-22 EP EP09176441A patent/EP2157515B1/en not_active Expired - Lifetime
- 2000-12-26 TW TW089127868A patent/TW527540B/zh not_active IP Right Cessation
-
2002
- 2002-09-18 US US10/245,329 patent/US6606692B2/en not_active Expired - Fee Related
-
2003
- 2003-05-19 HK HK03103535A patent/HK1051726A1/xx not_active IP Right Cessation
- 2003-06-05 US US10/454,625 patent/US6782457B2/en not_active Expired - Fee Related
-
2004
- 2004-05-11 US US11/095,623 patent/US7133981B2/en not_active Expired - Fee Related
-
2006
- 2006-11-07 US US11/557,183 patent/US7487305B2/en not_active Expired - Fee Related
-
2010
- 2010-08-23 HK HK10108037.6A patent/HK1141603A1/xx not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
ATE504041T1 (de) | 2011-04-15 |
US6782457B2 (en) | 2004-08-24 |
US7133981B2 (en) | 2006-11-07 |
HK1051726A1 (en) | 2003-08-15 |
CN1382276A (zh) | 2002-11-27 |
EP2157515B1 (en) | 2011-03-30 |
WO2001048617A2 (en) | 2001-07-05 |
US20050268051A1 (en) | 2005-12-01 |
US6606692B2 (en) | 2003-08-12 |
US7487305B2 (en) | 2009-02-03 |
WO2001048617A3 (en) | 2002-01-31 |
US20030018863A1 (en) | 2003-01-23 |
EP2157515A1 (en) | 2010-02-24 |
US6499090B1 (en) | 2002-12-24 |
DE60044851D1 (de) | 2010-09-30 |
EP1242894B1 (en) | 2010-08-18 |
KR100604220B1 (ko) | 2006-07-24 |
HK1141603A1 (en) | 2010-11-12 |
CN1316392C (zh) | 2007-05-16 |
DE60045804D1 (de) | 2011-05-12 |
KR20020069186A (ko) | 2002-08-29 |
US20070094462A1 (en) | 2007-04-26 |
ATE478379T1 (de) | 2010-09-15 |
US20030196050A1 (en) | 2003-10-16 |
EP1242894A2 (en) | 2002-09-25 |
AU1627101A (en) | 2001-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW527540B (en) | Prioritized bus request scheduling mechanism for processing device | |
US8180974B2 (en) | System, apparatus, and method for modifying the order of memory accesses | |
US8266389B2 (en) | Hierarchical memory arbitration technique for disparate sources | |
US7284102B2 (en) | System and method of re-ordering store operations within a processor | |
JP5118199B2 (ja) | マルチスレッドおよびマルチコア・システムのためのキャッシュ、および、その方法 | |
US5265233A (en) | Method and apparatus for providing total and partial store ordering for a memory in multi-processor system | |
US8352712B2 (en) | Method and system for specualtively sending processor-issued store operations to a store queue with full signal asserted | |
US20080189501A1 (en) | Methods and Apparatus for Issuing Commands on a Bus | |
TW200417913A (en) | Microprocessor including cache memory supporting multiple accesses per cycle | |
US9311244B2 (en) | Enforcing ordering of snoop transactions in an interconnect for an integrated circuit | |
US20020188807A1 (en) | Method and apparatus for facilitating flow control during accesses to cache memory | |
EP1668513B1 (en) | Cache bank interface unit | |
KR100282118B1 (ko) | 하이스루풋단일포트다중갱신유니트태그제어기 | |
US7552247B2 (en) | Increased computer peripheral throughput by using data available withholding | |
Comisky et al. | A scalable high-performance DMA architecture for DSP applications | |
US5926840A (en) | Out-of-order fetching | |
CN114721996B (zh) | 一种分布式原子操作的实现方法与实现装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GD4A | Issue of patent certificate for granted invention patent | ||
MM4A | Annulment or lapse of patent due to non-payment of fees |