TW213998B - - Google Patents

Download PDF

Info

Publication number
TW213998B
TW213998B TW80109901A TW80109901A TW213998B TW 213998 B TW213998 B TW 213998B TW 80109901 A TW80109901 A TW 80109901A TW 80109901 A TW80109901 A TW 80109901A TW 213998 B TW213998 B TW 213998B
Authority
TW
Taiwan
Prior art keywords
instruction
instructions
group
time
order
Prior art date
Application number
TW80109901A
Other languages
English (en)
Original Assignee
Supercomp Systems Ltd Partnership
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Supercomp Systems Ltd Partnership filed Critical Supercomp Systems Ltd Partnership
Application granted granted Critical
Publication of TW213998B publication Critical patent/TW213998B/zh

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Description

213998 經濟郝屮央標準沿β工消费合作社印5i 五、發明説明(,) 技術領域 本發明係概略有關於軟體编器技術之領域,並有關 於將機器指令分發(schedulin2)至一處理器中之多脑功 能性I源。待別是,本發明偽有關一重新安排次序之方法 ,其中一基本指令區塊内之機器指令偽被發送至一含有多 個功能性資源之處理器,以ffi減少該基本指令區塊之整® 執行時間。 技術背景 在改良電腦處理糸统之效能之努力中,目前的電腦處 理器利甩了多脑功能性資源,以便於一單一屆處理器内同 時執行數痼操作。為達本發明之目的,一功能性資源可含 有可為一處理器直接利用之任何硬體資源,例如為暫存器 、控制構件/、以及持別是蓮算和邏輯功能性單元。例如, 於美國專利第4 , 1 2 3 , 8 8 0號案中,向量處理器偽提供有三 ©向量功能性單元和四脑純量功能性單元。數個功能性單 元之存在,例如可使此處理器同時執行兩個加法蓮算(一 ®為純量、一滴為向量),因而增加該處理器之整體效能 。多画功能性資溺溪最常附隨以陣列或向量處理器以及純 量/向量處理器,但是亦可採用於傳統的純量處理器中。 另一種通常附隨於具有多重功能性單元高效能處理器 ’用以增進處理器效能之機制,偽>管線式為一 # @地使用於向量處理器中之處理器實施技術,其藉由同 多重指令(各指令需要不止一摘鐘脈衝循環來完成 (請先Ml讀背而之;>-*事項洱项?·''.. S) 線- 本紙5fc尺度边用中國困家榀準(CNS)T4規格(21〇χ29γ公釐) 213998 經濟部中央櫺準局只工消费合作杜印52. 五、發明説明(二) )之各値執行階段,而增加了絰由該處理器所執行指令之 流程。欲由每一多重循環指令所作的工作偽拆成各小片段 ,以使得在任一給定時間下,許多指令於管線中偽處於不 同的執行階段。管線技術亦安裝並啓用於用以將指令饋入 處理器之方法中,而且許多現有技術的高速電腦採用了指 令管绨。一指令管線增加了到達處理器之指令流,其傜藉 由雒持整値備妥被饋入,或發送到該處理器之等待中指令 行列於正好下一個鐘循環,以便得該處理器可接受該指令 Λ 潘管一具多重功能性資溧之處理器具有顯著增進效能 之潛能,多重功能性資源之存在大大地增加了一處理器中 指令流執行之複雜度。對於高效能處理器.執行指令流之 複雜度偽進而因管線技術(功能性單元管線和指令管線二 者)之使用而加大。例如,者康隨附有不同算術功能,需 要不同時間量去完成,例如一除法指令相對於一乘法指令 之指令流。於此情況中,不同的功能性單元管線將具有不 同的等數時間(latency )。當一處理器具有具不同等數 時間之坊能性單元時,可能在指令A已開始執行之後.指 令B開始執行並完成,然而指令A仍然在執行中。通常, 這些等數時間不會影蜜到功能性蜇元管综之效能,只要指 令並非彼此相依(有闘)。 不幸的是,熟知為危險(h a z a Γ d)的情況可能於一待 定鐘循環中,阻止了指令佇列中下一指令之開始。指令相 • . . . —-....- -4- (請tM請背而之注意事項#Λ-1Κ .汀) 本紙5艮尺度边用中國S家樣準(CNS)〒4規格(210x297公龙) 213998 Λ 6 η 6 經濟部屮央橾準局员工消费合作杜印$1 五、發明説明(<) 依性為此類型之一共通危除。例如,一add指令可能需 要利用來自一目前執行中MULT I PLY指令之結果作 為一蓮算元。因此,該ADD指令傜與該jyjULT I PL Y指令有關,而且無法執行,直到來自早先指令之结果為 可利用時。為處理此等危險,處理器中之硬體利用了一指 令管線交聯,其將指令管線暫停於目前指令,直到危險不 再存在。於此處所給的例子中.當MULT I PLY指令 之结果可為該相關的ADD指令利用時,該指令管鎳交聯 偽清除。 相應於此等危除之存在,使一處理器之效能最佳化方 式之一者為指令排程(scheduling)。指令排程為一编譯 器或?LH算時間技術.其重新安排由一電腦程式所编譯 指令之執行順序和功能性資源配置,以便該等指令以可能 的最快速和最有效順序執行。儘管經重新安排的指令流在 意義上等於原來的指令流,指令排程器偽安排並使指令之 執行重鲞,以便滅少整體執行時^。指令傺被排定以便滅 小其相依性和功能性單元等數時間對管線效能所將産生的 任词相乘效應。多重功能性資源之存在以及相互相顏指令 之間的平行性,亦可能使得排程器隱藏一値或更多鹪處理 器上功能性單元之等數時間,並因而維持管線式指令之執 行。 Λ 目前,指令排程典型地偽利用動態及/或靜態排程技 術為之。某些處理器,像CDC6600和ΙΒΜ360 -5 - 本紙张尺度边用中a a家標準(CNS) Τ4規格(210x297公*) 213998 Λ 6 Π 6 五、發明説明(4) /9 1 ,實施動態指令铢程作為在利用一稱為計算板( scoreboarding )技術的執行時間下,功能性資源配置之 —方法。計算板為一種配置暫存器空間,以確保指令不會 被發出,除非其所需要的暫存器資源可利用時的方法。於 高效能處理器之處理器架構方面的進展,例如多重算術和 邏輯功能性單元之加入,需要超過計箄板能力之排程技術 。對於此等處理器,指令排程不僅必須因應功能性資源, 例如暫存器,亦必須因應功能性單元等數時間和其他時間 要求。因此,習用指今排程可能亦利用靜態指令,俥解決 此等問題。 經济部中央標準局κι:工消费合作杜印3i 指 一相令間成資 ” 器立的指時完之 S 程 機逞間之數令算 η 排 在 器之中 等指估 U 碼 其譯令流元一兩 h 和 ,编指令單每此 C 置 術 ,中指性於自 一配 技地流於能對來 i 器 的型令先功及據 。e 存 礎典指首計以依序/W暫 基 。程器估 , C 順由之 為成排程器 }量後如構 體完作排譯間間最例架 軟下被 ,编時時一 ,存 以間欲圖 ,的的 之中儲 一 時據依箸要需旁器 \ 為譯依相接需所指程入 程编傜令 。所換生排載 排於此指序行轉産令於 令後 ,該順執韹器指用 指之 圖:用步態億程用“ 態生依利初常記排習於 靜:産相 。一令自該於U 被 令性生 指料· S 令指依産 ί 資訊 Η (Register Allocation and Code Scheduling for Load/ Store Architectures )中所描述者,假設所有管線聯鎖 偽在指令發出時間下解決。此假設偽依據一指令發出之典 本紙尺度边用中sa家標準(CNS)甲4規格(210X297公龙) ........................^.....玎· · · 4 (請fIVJ讀背而之注意事項#埙^'豆) - . Λ fi Π 6 型模式, 中,向置 有指令之 了指令執 —•由 之新架構 制分離之 向量指令 及的。 雖然 此種指令 213998 五、發明説明(5) 其中純虽和向置指令偽依序地發出。於實際操作 指令之較長執行時間可能阻塞發送管線並停住所 發出。於習用条統中,此等停住情況不當地影饗 行速率。 本發明讓受人所提出,用於一純量/向量處理器 ,傜針對此問題,其係藉由提供一與指令發出機 向置起始機制,以避免因為一硬體聯鎖而暫停之 之延遲。此類型處理器偽習用指令排程器所未觸 ^用指今排程器對於許多管综式處理器為適當, 排程器之一不適當處為對具多重向置功能性單元 管線客純量/向量處理器之功能性資源作排程。此等處理 ,_-—<· ^ —'*· " 1 _ —1 ... ......·,… . … ........-I I----II ——-r . nJ__- -,------..- 器具有至少兩痼功能性單元,其執行相同的向量算術蓮算 in 先· 閲 ΐπ 背 而 之 意 事 項 η 執者 可一 令 任 指之 一 无 , 單 中性 器 能 理功 處之 量算 向蓮 之術 元算 單求 性要 能所 功行 重執 多夠 具能 1 0 於數 〇 於 組行 分該 作將 須要 必需 器有 程法 排方 令程 指排 1 令 致指 以 一 擇此 選因 的 。 新中 出定 現決 展程 況排 情入 此列 〇 並 中析 經濟部中央標準局Π3:工消ft->合作社印製 執 , 令到 指慮 佳考 最亦 取一 選供 中提 徑要 路需 他有 其 ,M夕 1 此 自 〇 可 慮 器考 程入 fch Η- 令訊 指資 得之 使徑 將路 組行 啓 和 出 發 令 指 於 用 中 0 器器 理程 處排 量令 向指 元的 單在 性存 能之ί' 功式一 重模一 多他 具其 一 之 於動
令 指 用 器 ηΕ 理 處 源 資 性 能 功 重 多 具1 於 用 種1 要傜 概明 本紙5fc尺度逍用中8 S家標準(CNS) T4規格(210x297公龙) 五、發明説明( Λ 6 Η 6 經濟部屮央櫺準局只工消价合作社印31 排程之方法.其中該等指令之重行排序偽相應於目的機器 之執行時間環境之一模擬而達成。此目的機器執行時間環 境之模擬,偽於機器指令已由编譯器所産生之後,或是於 指令由一解譯器産生之後,在编譯時間下實施。本發明將 用於一基本指令區段之機器指令重新排列出一順序,此順 序依據該目的機器中多重功能性資源之交互作用之模擬結 果,將産生最快速的執行/。 本發明之方法作用在一基本指令區段上,而且首先決定 何指令為導引組(L e a d e r S e t)之成員,以一類似於習用 靜態指令排程器之方式。然後.對於該導引組中每一指令 之所欲發出時間(Σ>ΙΤ,desired issue time )被決定, 而且該等可由早期發出(由D IT計算而決定)jfe受益之 指令傺移入備妥組(Ready Set )。自該備妥组,指令傜 被排定供以最高累積價值之順序發出。 導引組指令偽那些下一値被排定前導候選之指令。一 指令傷被包含於該導引組中,若所有其所相依的指今皆己 被發出的話。因為現有的靜態指令排程器只可估計多重功 能性資源之間的等數時間和硬證顳鎖,於前技中之備妥組 含有導引組中其相依性在發出時已解決之所有指令。 不同於習用技術静態指令排程器,ϋ明依據一编譯 時間模擬之結果.決定何指令將為備考組之成員。以一般 方式決定該導引組之後,本發明然後對該導引組中每一指 令算出一所欲發出時間(DI T , D e s i r e d I s s u e T i π e ) c, -S - ih 先. 間 ifi ?; 而 之 注 意 市 項 孙 ΛΠ; 裝 玎 線 本紙5fc尺度逍用中
21399B Λ fi Ιί 6 五、發明説明(7 ) 對於一指 成的時候 近點。此 及那些可 那些D I 指令,傜 執行而獲 出獲利之 行獲利之 bubble) 器,本發 硬疆聯鎖 令,傷在 之方法將 相較 等數時間 令之D ,該指 可用以 予延缓 丁小於 移入該 利之指 指令推 指令得 到欲被 明自該 之指今 若立即 該指今 於前技 之模擬 I T為在萬一該指 令可發出並 辨認出那些 至一稍後時 在编譯時間 備妥組中。 令之發出的 回到發出順 以移至該備 排序指令之 備妥組排除 仍然可 可自立 間而無 模擬中 此法具 效應。 序中, 妥組, 頂部, 那些在 一 D I T大於所 發出時將逋遇一聪 視為其尚未 靜態排程方 以及多重資 令已立 完成執 卽發出 損於完 所模擬 有延遲 藉由將 本發明 亦卽, 此外, 立即發 模擬時 鎖之指 卽發出 行的時 獲利之 成時間 時間之 任何無 一無法 時將已完 間中之最 指令,以 之指令。 目前值的 法由早期 自早期發 自早期執 使得可 “浮升》 ( 不同於前技排程 出時將遭遇到一 間之目 今,因 前值之指 此本發明 準備好被發出 法,本發明一處理器中,實際 源之間的硬髏聯鎖,偽提供一 先· IU,] 背 而 之 注 意 項 經濟部屮央標準局员工消#合作杜印製 備該 而中若 該於算組在 { C 含估妥可 間 中 S 守備然 。時 組經保該仍令出 妥已過於並指發 備該太含出之能 該匯之包發成可 於些鎖被才完早 位那聯該間下最 應於或應時間之 令關間不後時令 指 ,時些稍同指 何加數那 一相一 定增等及在的測 決偽對以可成預 以度為 ,其完先 , 確因令道將首 法精是指知所由 方之但之不時藉 的員 ,中為出明 確成中其因發發 褚中組於是些本 為組妥含但早 更妥備未 ,其 本紙张尺度遑用中a S家標準(CHS) Τ 4規格(210x297公龙) 213998_ 五、發明説明(p) EPIT, earliest possible issue time)(依據純量聯鎖 ),然後模擬指令完成時間(依據剛預測的EP IT)並 比較可利用功能性資源之所有組合上的完成時間而決定出 D I T。該D I T偽一指令可發出並仍可在最早完成時間 完成之最晩模擬時間。以此點來看,該D IT傜選取出一 組可利用路徑間之最佳指令執行路徑。 己決定出該備妥组之成員後,本發明之方法對該備妥 組中之指令排定出一由指令之相對價值所決定出之順序。 一指令之“價值” (C 0 s t )代表不依據有多少其他相依於 (請先閲讀背而之注意事項孙^rc页) 經濟部中央?準局员工消伢合作杜印驭 依上令艏 處或向處向指相一執 相其指整 之量一量级屆 \ ,被 令於之對 源純有向次 5 始輯定 指依值些 資重具 \ 1 ί 起邏指 他相價那 C 性多及量由列及制或 其令高認行能有以纯偽佇以控動 多指最辨執功具 ,式制令 、始啓 許他具以先重 一算線機指 _ 起被 有其中甩為多於蓮管始量深依中 一 少組傜定具關術之起向令相元 較妥算排式有算離量一指 / 單 價有備計並型偽的分向有個始性 代一 該值令何用同制該含 1 起能 之較於價指任使柑機 ,其丨此功 令一些此之於佳行出中 ,列由一 指有那 。要用較執發器成佇藉於 之具 C 行重適之可令理組始 .傜 出將值執為可明 ,指處所起組令 發,價先行明發元與型線量輯指 而今的為執發本單 ,類管向邏量 成指高定之本是性制此出 一制向 完之為排段然但能機於發、控的 令上今被區雖 ,功始 。令} 始中 指其指傜本 器量起器指深起待 此於之,.基 理向量理童令依等 裝· -5 - 線- 本紙尺度ϋ用中a Η家標準(CNS)TM規格(210;<297公龙) A 6 Ιϊ 6 五、發明説明(9 ) 行,或者是相依地為被保留但是無立卽可用的功能性單元 之向量暫存器所啓動。不同於向置指令,於此處理器中一 純量指令並不發出,直到其所有的運箕元資料為可利用。 —旦一纯S指令發出,其執行(記億體載入和貯存除外) 偽以一固定的循環數目完成。 指今流之最高階以及用於較佳實施例之排程分析,在 當指令傜自指令發生管绨發出時,俗可看到。指令排程器 可將向S指令之數目離載(offload )入含於向量起始管 線中佇列之序列中。向量起始延伸到指令發出,提供了該 排程器一“發射窗” (launch window ),以由其上對整 暫存器、記億體、和功能性單元之有效向量指令資源要求 。碼之高度向量化部分因而偽有效地堆曼於該向量處理器 中,因而減少了由於等待中向量指令之累稹,於指令發出 管線和纯S指令之發出中之聯鎖中止。 經濟部中央標準局EX工消赀合作社印製 請 先· 間 ifl 背 而 之 注 t 項 Λ .U π 用於較佳實施例,下一階指令流和排程分析可於該向 量起始管線中看到。向量指令移動通過該向量起始管線及 其騎鎖,直到該等向量指令於一功能性單元中被釋出並開 始執行:對於一具一向量起始佇列之機器,純量管線騷鎖 係在發出時間下解決,但是向量管線聪鎖直到向量起始時 間之後才解決。本發明之排程式利用模擬時序於向量指今 發出、起始、開始、執行及完成時間,並具有估算的記憶 髏轉移時間於定出向量指令流之順序。而且,該排程器說 ζδ 了向量指令之間的相依性,以及說明了所排定順序中具 -11- 本紙5艮尺度A用中國81家標準(CNS)TM規格(210x297公放) 扒S998 五、發明説明Uc) 有純置蓮算元相依性之純fi /向董指令。因此,離載入向 置起始管線中之指令偽排定為最佳執行完成時間之顒序。 因為於較佳純量/向量處理器中可執行相同運算或邏 輯功能之多重功能性單元之存在,本發明提供一種在當用 於該向量起始之標準規則須予避免時,用於産生對該處理 器作指示之路徑導引指令。當一向量指令被發出並且該指 令可於多於一個功能性單元上執行時,該指令常態地偽起 始於該最近起始一指令之功能性單元上。然而,依據编譯 時間模擬,本發明之排程器可決定出何時一將内定於一功 能性單元上起始之向最指令,事實上將較早開始於一不同 的功能性單元上。當排程器決定出是為上述情況時.一稱 為PATH指令之獨特指令,偽正好插於被排定向量指令 之前ύ該? AT Η指令指定接下來指令所將啓動的功能性 單元之數目,並蓋過由向量起始管線中控制邏輯所作的内 定選擇。 經济部屮央檑準局K3:工消"合作社印製 本發明之排程器利用許多種可為習用编譯器為基礎的 指令排程器所利用之習知資訊,包括對於記億體轉移次數 ..m和指令相依性。為使功能性單元之選取最佳化以及 為確實決定何功能性單元提供一持別指令之最早開始,本 發明之排程器亦者盧了一些新類型的資訊。為使指令流有 序,所考處的資訊包括用於指令發出、開始、執行和完成 時間之模擬時序、向量起始時間、和向量功能性單元之前 瞻狀態。於取該等向量功能性單元之狀態中,該排程器對 -12- 本紙5>C尺度边用中SH家樣準(CNS)TM規格(210x297公龙) 五、發明説明(") 出現在所有功能性單元之執行流向前檢裸.並自此前膽, 對一持定指令決定出功能性單元之最佳瘘擇。此檢視包括 100到200舾指令之分析並非不尋常。 因此,本發明之一目的在於,鬱應於目的機器之執行 時間環境之模擬,提供一種用於使欲在一具多重功能性資 源上執行之指令之重組為最佳化之方法。 本發明之另一目的在於提供一指令排程方法,其考盧 到了該組將使得指令排程器,可自多重功能性單元之中的 一组其他路徑,選取最佳化指令執行路徑之資訊。 本發明之又一目的在於,提供一指令排程器,其考慮 到了用於一具多重功能性單元之向量處理器中指令發出和 起始之其他模型之存在,並且可對具一延伸向量指令起始 之管線式處理器,執行有效的靜態指令排程。 本發明之再一目的在於提供一方法,用於産生路徑導 引指令,指示處理器间算術或邏輯功能性單元須用以執行 一给定指令。 經濟部屮央標準局貝工消费合作社印虹 (請先閲請背而之注意卞項A^,rr,.:ris) 本發明之又一目的,在於增加指令流率,以及減少於 一具多重功能性單元純量/向量處理器之指令發出管線中 斷。 本發明之上逑及其他目的,參照於圖式、較佳實施例 之詳細說明、以及申諳專利範圍,將變得更為清楚。 附圖之簡略說明 圖1 a為由習用靜態指令排程器所産生,用於—基本 -13- 本紙5fc尺度边用中國B家標準(CNS) T4規格(2〗0x297公;《;) A fi Π 6 213998 五、發明説明 (請先閲讀背而之注意节項再艰良4頁) 區段(Basic Block )之導引组(Leader Set)和備妥组 (Ready Set )之文氏圖(Venn diagram)。 圖lb為由本發明所産生,用於一基本區段之導引組 和備妥組,對應於圖1中所示者之文氏圖。 圖2偽由本發明指令排程器所使用,\ 一相依性導引的 非周期性圖之實例。 圖3為一程序圖,顯示出一典型的習用指令排程方法 〇 圔4為一程序圖.顯示出本發明之指令排程方法。 圖5傷一程序圖,顯示出依據本發明,用於計算指令 之D IT,以及用於在適當時插入路徑(PATH)指令 之方法。 線· 較佳資施例之詳細說明 經沭部屮央梂準局员工消费合作社印製 現參見圖1 a和1 b ,將説明本發明和習用技術産生 用於一指令排程器之導引組和備妥組之方法間的差異。目 前的编譯器於藉由辨認出程式之基本區段而産生一可執行 檔案之程序中.操作來源碼程式。一基本區段1〇偽定義 為一 Μ具有一單一痼入口和一單一値出口之指令。該導引 組12偽一基本區段中之一組指令,其為接下來要被排程 之前導候選。其由一基本區段中之所有指令組成,其中所 談到指令所相依之指令至少已發出。前技指令排程器和本 發明二者以一類似方式産生該導引组〗2 ,其將依據圖2 和3作詳細描述。該備妥組14、 ]6偽用於一基本區段 -1 4 - 本紙51尺度逸用中a Η家橒準(CNS)肀4規格(210x297公龙) 213998 經濟部屮央梂準局C3:工消#合作杜印5i 五、發明説明(β) 之指令組,其在時間之一給定點上,傜決定為備妥被發出 。如下述中將可得知,該備妥组14、 16為該導引組1 2之一副組。 前技和本發明之差異,在於該備妥組14、 16之産 生。雖然此並非明顯,一習於此技人士將可了解到,任何 指令之目的在於使得該備妥组1 4、 1 6儘可能小,因而 增加於該備妥組14、 16中指令事實上將執行到完成而 無硬髏聯鎖之可能性。由於目前的靜態指令排程器僅可估 計多重功能性資源間的等數時間和硬體聪鎖.前技備妥組 1 4含有其相依性在發出的時間解決之所有指今。不同於 前技靜態指令排程器,本發明依據一编譯時間模擬之結果 ,決定出何指令將為該備妥組丨6之成員。 本發明藉由先算出用於該導引组12中每一指令之所 欲發出時間(DI Τ,D e s i r e d I s s u e T i π e ),測試了該導 引組]2之每一成員,供包含入該備妥組1 6中。那些其 D I T小於编譯時間模擬中所模擬時間之目前值的指令. 傷詖包含於該備妥組]6中。此法具有延遲任何無法自早 執行中獲利之指今之發出的效果。該等無法自立即發出中 獲利之指令,偽為那些若立即執行的話,將遛遇到一聯鎖 之指令,並且偽於圖1 b以“具聯鎖之指令”( Instruction with Interlocks ) 1 8 表示。藉由將此等 指今推回到發出順序中,本發明使得可自立即執行中獲利 之指今被移到該備妥組,亦卽,“上升” (b u b b 1 e)到欲 -15- 冬紙張尺度i4用中S國家榀準(CNS)T4規格(210x297公址) (請_先間讀背而之注念市項再碣ΤΪ-,頁) 裝· 訂 線- 213998 Λ fi Π 6 經濟部中央標準局3工消#合作社印3i 五、發明説明(#) 被排程指令之頂部。換言之,由本發明處理器中多重資源 間之實際等數時間和硬體聯鎖之楔擬.傜提供一更為精確 的方法,以決定何指令須處於該備妥組中。雖然對於任何 給定的基本區段,在任何給定時間下該備妥組中指令之數 目可不同於前技備妥组中者,於該備妥组中成員之精確度 偽增加。那些應己包含於該備妥組中之指令(但因等數時 間或滕鎖之一太過保守估計),傜加入於該備妥組中。那 些不窿該己包含於該備妥组中,但是因為不知道其可在一 稍後時間發出並仍可在與若其較早被發出的話,其將已完 成的相同時間下完成之指令,偽自該備妥組謂除。最後结 果是,由本發明排程器所作指令之重组,將造成對指令之 一更佳組继.以及因此增加處理器之效能。 於決定該導引組12中之成員時,本發明之指令排程 器苜先建構用於欲被排程之區段碼10之一相依DAG ( 導引的非周期性圖,directed acyclic graph)。典型地 .指令排程器對一中間語言之一基本區段執行排程,其中 該中間語言極近似該目的機器之組合語言。 於下逑討論中,將描逑排定指令供執行之程序。所逑 排程偽在编譯(或組譯)時間執行,並且偽以分析該目的 機器之執行時間環境之模擬為之。因此,將已排定之指令 視為己經“發出”(以模擬觀點)在概念上會有所肋益。 由於本發明之方法偽有關在编譯或組譯時間上的碼最佳化 技術,習於此技S人士將可了解到,談到一已經發出之指 -1 5 _ (請先叫請背而之注意卞項孙塥贫,汀) 裝· •6 線· 本紙张尺度逡用中a S家烊準(CNS)甲4規格(210x297公放) ί\6 五、發明説明(七) 令,事實上即談到於模擬中之發出,而非一目的機器中之 現參見圖2,其顯示出來源碼、中間語言碼、以及一 相對應的相依DAG。來源方程式20被顯示為伴随以其 由一条列九個中間語言陳述2 1所作的表f .所逑九舾中 間語言陳述偽近似組合語言階指令。自該等中間語言指令 2 1,排程器産生一相依DAG22。該相依DAG22 之每一節點偽相對應於一傾.组合語言指令。如圖2中所對 應编號者。例如,該相依D A G 2 2之節點2 2 a偽相對 陲於組合語言指令2 1 a λ D A G 2 2中節點之間的緣部 傜査成箭號並指示出指令之間的相依闊偽。節黏2 2 b和 節點22g之間緣部24指示出,指令21b必須在指令 21g之前執行。無入流绨部之節點於基本區段中不具相 依性.而且其在可被發出之前不需要等待任何其他指令。 於該相依D A G 2 2中之(¾¾然後各被以相反順序賦 予一累積價值數值在槪念上,一指令之“價值M為不發 (' 經濟部+央標準局β工消费合作杜印Μ (請先IV.I請背而之;.£.意卞項#艰7>-4页) 出該指令之時間结果。換言之,一為許多其他指令所依附 之指令,較之一為較少其他指令所依附之指令,具有一更 高的價值。在算術上,一指令έ價值傷算作為該指令之執 八 行時間加上依附於其上所有其他指令之累計執行時間。換 一種方式來說,一指令之價值,為該基本S段内所有接續 節點之價值.加上目前節點之執行的時間a自該相依D A G 2 2以此方式所計算得的相對價值.代表了於該基本區 -17- 本紙尺度逡用中a Η家楳準(CNS)肀4規格(2丨0X297公龙) 經濟部屮央櫺準局Α工消费合作杜印51 五、發明説明(4) 段中指令之臨界路徑。整體言之,該相依DAG22因而 對該基本區段中之指令外加一部分順序。依據所逑相依性 ,排程器可自由重排該等指令,只要該部分順序被保持著 0 依據本發明.重排指令之順序之程序,傷經由目的機 器之執行時間瑁境之模擬而産生/Λ。藉由利用該DAG22 ,於該基本區段中尚未被排程之指令.若其來相依於任何 未發出的指今,傜置於該導引組12中。一導引指令於一 DAG中.傜為一不具後接指令之節點。例如.於DAG 22 中,節點 22a、 22b、 22d 和 22(?為 m 點,代表中間語言指令2 1 a、 2 1 b、. 2 1 d和2 1 e 。一指令直到其成為一導引指令才適合被發出。當指令被 發出時,其節點被自該DAG22中移除,而且某些後接 節點變成為新的導引指令。一旦舁入導引組12,—指令 仍然位於該導引組1 2中,直到其被發出為止。 M_3顯示出一習用指令排程法.〇排程傷透過對一産生 供被排程基本區段用DAG之操動而為之.如前所逑。首 先,前技方法在步驟4 0辨認出該導引組1 2為相對應於 該DAG2 2中,不具ίΐ入的緣部之指於該導引組1 2之指令中,那些無^指令傜在步驟4 2移入該 備妥組14 聪鎖傷由為一指令所需要,但是由於其被 —仍然執行先前指今之機器資源,例如為暫存器所造成。 聯鎖偽依據一預先定義的指今完成時間而作估計。依據習 -18- 本紙尺度遏用中困國家標準(CNS)甲4規格(210X297公龙) A 6 Π 6 五、發明説明(β) 用方法於該導引組12中無聯鋇之指令偽準備好要執行, 並因而偽適當地置於該備妥組1 4中。 若該備妥組14在步驟44含有一個或更多値指令, 習用方法在步驟46對該備妥組1 4中具有最高價值之指 令作排定。所排定的指令然後在步驟48被自該DAGS 2移除,機器資源在步驟50被賦予該排定的指令.並且 於該備妥组14中此時將遭遇一聯鎖之任何指令,在步驟 52傜自該備妥组14移入該導引組12中。此程序然後 藉由回返到開始而重覆,以排定其他的指令。 若在步驟44該備妥組14中無任何指令,所述程序 然後在步驟5 4撿査該導引组,以看看其中是否亦無任何 指令。若該備妥組1 4和該導引組〗2二者中皆為空的, 此指示出基本區段中無其他指令欲被作排程,然後此程序 裝. 訂_ 經濟部屮央櫺準局A工消费合作杜印51 前此計 無指上完 量 目 。估 組之徑到 向 於行作 。該值路直 一 由執間除自價的行 當 則令時清器計要執 在 ,指成將程累重將 其 的一 完鎖排高為令 但 空下令繇 ,最最指 , 是供指的下具在一 效 不除和成覆 了了毎 有 4 清間造重取取 , 偽 5 被時所一選選出 器 驟 6 行令每 ,其發 機 步 5 執指之 中為旦 用 在驟令中法令因一 習 2 步指行方指 , 。 於 1 在對執用之效出 對 組鎖序由習鎖有發 法 引聯程時示聯偽予 方 導之逑何所線此令 述 該令所計 3 管於指 上 若指求估圖決技之 然 C 中要便於未前鎖 雖 束行然以 而。聯 。 結執當 . 懸令無 線- 本紙張尺度边用中S困家楳準(CNS)T4規格(210x297公龙) 經濟部中央榣準局貝工消费合作杜印^ 五、發明説明(if) 處理器具有一延伸的向量發出管線,例如於本較佳實施例 之情況下,或是當機器具有多重功能性單元(各功能性單 元可執行一給定的功能類型)時,其偽較無效。於此情況 下,向量指令在發出時間之後可能受到管線聯鎖,因為在 發出時間,一向貴指令只清除了纯量聯鎖,並已被允許加 入起姶佇列。一向S指令可能由於向量暫存器取用限制或 功能性單元限制而經歴到進一步的延遲,或是可能由於一 影遨到該起始佇列中一後鑲向受指令之聯鎖而經歴到一中 止。 不同於習用排程法,依據本發明之排程傜透過目的機 器執行時間環境之一模擬,以及經由對一産生供被排程基 本區段用DAG22之操作而為之。本發明不同於前技之 處在於.用於移動向量指令到該備妥組14之方法.以及 用於追踪排程器之模擬時間之方法。藉由在条統時鐘循環 階段執行該目的機器之一完全模擬,指令執行時間可被精 確地估計而非僅預估,而且利用其他經由其餘功能性單元 之執行路徑可被決定出,以便選取最有效的可利用執行路 徑。習於此技S人士將可了解到,所逑模擬之細節傜依目 的機器而定,因此非為本發明之範圍。於較佳實施例中, 模擬傺經由一指今描逑表之利用而增進,所逑指令描述表 含有關於每一指令執行時間之資訊、於執行中被讀或寫的 控制暫存器(例如向量掩模)、以及顯暫存器(例如用於 蓮算元或結果)。 -20- tL· ^ · 線· 本紙張尺度边用中a Η家楳準(CNS)TM規格(210x297公龙) 經濟部中央櫺準局β工消ίϊ·合作杜印製 五、發明説明(θ) 現參見@4,其顯示出依據本發明較佳實施例排定指 一—.........—-— ----- 令之一方法。如同於前技中,依據本發明之程序偽作用在 一基本Β段碼上,並以將所有指令移入導引組12中而開 始,所逑導引組於該DAG22中之相對應節點在步驟4 0無進入的緣部。對於該等導引指令之各者的所欲發出時 間.(D I T )然後在步驟6 0被計算。對於一指令該d I T偽時間1:之最近點,在此時一指令可被發出,並仍然在 相同時間完成,所逑相同時間指的是若其立即被發出的話 ,其將己完成的時間。例如,若一在t=〇發出之指令將 在t = 2 0 0完成,刖對於該指今,D ϊ T為於時間上發 出該指令.同時使得該指令在t = 2 0 0完成執行之最近 點。D ί T計算之細節偽參照圖5作描述。 _ _丨|丨|· ...... ,,,ι r · — '·" ....... ............ "”一.. 已在步驟60對該導引組1 2中所有指令箕出D I T 之後,所述程序然後在步驟62,將D IT小於目前模擬 壬彳可令移入該備妥导1 6中。若在步驟44該備 妥組1 6為空的並且在步驟5 4該導引組1 2為空的,刖 該基本區段中所有指令己被排程並且所逑程序結束。若該 備妥組1 6在步憇4 4不是空的,則於該購妥組1 6中具 有最高價值之指令偽在步驟46被排程,而且其節點和向 外緣部在步驟48自該DAG22中移除。模擬時間然後 在步驟64前行到時間上當模凝決定出剛被排程的指令實 際上將發出之點。機器資源,例如為暫存器和功能性單元 .傜在步驟50指定予所排定的指令,而且任何由機器資 -2 1- (請先閲請背而之注意卞項洱项寫彳u) 裝- 訂· 線· 本紙5IL尺度遑用中國困家橒準(CNS)甲4規格(210x297公龙) A 6 η 6 五、發明説明(/) 源之指定所造成新的聯鎖偽被檢査,以看看是否該備妥组 16中之指令需要被移回到該導引组12中(在步驟52 )。此程序然後回返到開始,以排定下一値指令。 若在步驟44該備妥組16為空的情況下,而且在步 驊54該導引組12不是空的,模擬時間然後在步驟66 前進到該導引組12中一指令可被移入該備妥組1中之 點。此程序然後回返到開始.並持纗直到該基本匾段中所 有指令己被排程。 習於此技藝人士將可了解到,對圖4中所描述之方法 可作許多變化設計,而仍不镉離本發明之範圍,,例如.執 行步驟4 8、 6 4和5 0之順序對於本發明之適當操作並 不重要。 經濟部屮央櫺準局CI:工消设合作社印製 (請先閲讀背而之注意卞項再頁) 現參見圖5,其顯示出決定一指令之DIT之方法。 首先.該指令之最早可能發出時間(EP IT, earliest possible issue tine )偽在步憇7 0決定。此將發生在 當機器中之纯量睇鎖已為了所逑指令而清除。若在步驟7 2該指令為一純1指令,刖在步驟74該DIΤ被設定為 等於該EP I Τ,面且因為若在EP I Τ發出,該纯童指 令將執行到完成,而不會逋遇到任何聯鎖,所逑程序乃结 束。一純量指令之延遷發出超過EP I Τ,將因而延遲了 該指令之完成時間。
若所討論的指令為一向S指令(步驟72),該模擬 在步驟7 6預估該指今之完成時間,假設該指令在EP I -22- 本紙張尺度逡用中困困家標準(CNS) Ή規怙(210x297公龙) 五、發明説明(>l) τ下被發出到内定功能性單元。於本發明之較佳實施例中 ,目的機器具有向量指令管線•以及一指令起始流程。該 目的機器架構之意意對於圖5中所示之方法,僅在於目的 執行時間環境之模擬必須認知到所涉及的待別機器架構, 以便精確地估計指令完成時間。因此於較佳S施例中·當 —向量指令被移到該導引組12時,該指令之最早起始時 間,傷依據該指令於起始佇列中所將遭遇到的E P I T和 向量管線聯鎖而計算出。該〇 Ϊ T然後由算出該指令將在 最早可能時間下産生起始之最晩可能發出時間而決定。該 D Τ Τ將缌是大於或等於該Ε Ρ I Τ.,於較佳曹施例中. 一指令在當所模擬時間到達該D IT時,自該導引組12 移到該備妥組1 6。 所逑程序接fjS步驟7 8決定是否有多於一痼功能性 —~~ — ,···— 單元可供該指令於其上執行。若沒有的話.則該D IT在 _____________ . -----------------------------------------—------------ * 經濟部中央櫺準局cx工消#合作社印51 步驟8 0被設定為等於在時間中該指令可被發出之最近點 .以便仍可在預估的完成時間下完成。若有多於一値功能 性單元可供該指令完成於其上(步驟78),所逑程序在 步驟S 2估計用於該指令之完成時間、用於其餘功能性單 元之每一者、再假設在EPIT下發出。若在另一功能性 單元上完成將較早(步驟84),則該指令在步驟86標 示為需要一路徑(PATH)指今,以蓋過功能性單元之 内定選擇。當該指令被排程.若另一路徑為較佳,則一P AT Η指令被1插入指令流中。於任一方式下,所述程序在 -2 3 - 本Λ張尺度边用中Β Β孓標準(CNS)甲4規格(210x297公龙) 五、發明説明(y>) 步驟80依據最早的預估完成時間(如先前所決定)設定 D I T 0 雖然已對較佳S施例作說明,但可知可在不偏離本發 明之範圍下作各式變化設計。因此,本發明之範圍將由所 附Φ諳專利範圍而決定,而非由較佳實施例之説明。 (諳先IV.I1?背而之注意卞項#祕^'„頁) 裝· 訂 經濟部屮央標準局工消1V合作杜印3i *24 本紙5艮尺度逍用中國Η家楳準(CNS) T4規格(210x297公龙)

Claims (1)

  1. 鱷濟部中央橾準局Λ工消费合作社印製 令改 内 中;間成 其 指之 段 其出時完 中 碼行 區 ,發出該 组 的執 令 間邸發在 引 目供 指 時立欲可 導 生以 本 成之所仍 於 産程 基 完令一並 等 以排 該 一指之出 該 式作 與 之該令發 為 程令:些 令據指被 作 碼指驟那 指依一可 , 源中步為.,一偽每令 組 來段列其令每間中指 •,妥 一 區下 ·指中時中該點備 譯令有组之段成组偽間 一 组指括令性區完引間時之 或本包指依本之導時晚令 譯基法引相基令該出最指 编一 方導源該指於發之逑 一對述 一 資於一用欲成所 在,所出無用每出所完出 種中 * 識令擬於定該前識 一 腦法辨指模用決中之辨 . 電方 他 述 其間 2 之良 其 所 ,時 A7 B7 C7 D7 六、申請專利範圍 1 . 一種在一编譯或組譯一來源碼程式以産生目的碼指令 之電腦中,對一基本指令區段中指令作排程以供執行之改 良方法,所述方法包括有下列步驟: 辨識出一導引指令组,其為那些與該基本指令區段内 其他指令無資源相依性之指令; 辨識一備妥組,其為該導引組中若立即發出將可執行 而無聯鎖中斷,所述辨議乃依據對該目的電腦中可用功能 性箪元之所有組合,該導引组中指令執行之一模擬;以及 發出該備妥组中具最高累稹相依代價之指令,在此處 該累積相依代價係表示不發出該指令之代價,以有多少指 令相依於此指令發出為表示之。 本紙任尺及逍用中aa家梂孕(CNS)甲4说格(no X 297公兑) ------------------『--------裝------tr (請先閲讀背面之注意事項再塡寫本頁) 經濟部中夹揉準居典工消费合作社印製 A7 B7 广8_^_ 六、申請專利範圍 所欲發出時間傺立邸或較早之指令;以及 發出該備妥組中具最高累積相依代價之指令,在此處 該累積相依代價偽表示不 '發出該指令之代價,以有多少指 令相依於此指令發出為表示之。 3. —種在一编譯或組譯一來源碼程式以産生目的碼指令 之電腦中,決定一備妥指令組,並作為對一基本指令區段 中供執行指令作排程之方法之一部的方法,所述決定一備 妥指令組之方法包括有下列步驟: 辨識出一導引指令組,其為那些與該基本指令區段内 其他指令無資源相依性之指令; 估計用於該導引組中每一指令之指令完成時間,所述 估計乃依據對該目的電腦中可用功能性單元之所有組合, 該導引組中每一指令執行之一模擬; 決定出用於該導引組中中每一指令之一所欲發出時間 ,其中該所欲發出時間係該指令可被發出並仍可在該預計 完成時間之前完成之最晚時間點;以及 辨識出所述指令之一備妥組,作為該等於導引組中其 所欲發出時間偽立卽或較早之指令。 4. 如申請專利範圍第3項所述之方法,進而包括有下列 步驟: 在用於一指令之數健可用功能性單元之間,決定執行 之最佳路徑;以及 若該執行之最佳路徑不同於執行之一内定路徑,則插 本紙铱又度適用中國因家撐準(CNS)甲4〗見格(210 X 297公兮) -----------------''------裝------訂 (请先閲讀背面之注意事項再塡寫本頁》 六、申請專利範圍 A7 B7 C7 D7 之 徑 路 行 執 佳 最 該 間 之 元 單 性 能 功 用 可 個 數 該 出 認 辨 0 一 令 入指 ----------------- ------裝------訂 * (請先閲讀背面之注意事項再塡寫本頁> 娌濟部中央標準局R工消费合作社印製 本紙張尺度適用中aa家櫺準(CNS)甲4 4見格(210 X 297公分)
TW80109901A 1990-08-23 1991-12-18 TW213998B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US57150090A 1990-08-23 1990-08-23

Publications (1)

Publication Number Publication Date
TW213998B true TW213998B (zh) 1993-10-01

Family

ID=51357159

Family Applications (2)

Application Number Title Priority Date Filing Date
TW80109901A TW213998B (zh) 1990-08-23 1991-12-18
TW82104744A TW237529B (zh) 1990-08-23 1991-12-18

Family Applications After (1)

Application Number Title Priority Date Filing Date
TW82104744A TW237529B (zh) 1990-08-23 1991-12-18

Country Status (1)

Country Link
TW (2) TW213998B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI483182B (zh) * 2011-11-07 2015-05-01 Nvidia Corp 一種用於減少一電腦程式中所包括的組合語言指令之數目的方法與系統

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI483182B (zh) * 2011-11-07 2015-05-01 Nvidia Corp 一種用於減少一電腦程式中所包括的組合語言指令之數目的方法與系統

Also Published As

Publication number Publication date
TW237529B (zh) 1995-01-01

Similar Documents

Publication Publication Date Title
JP6894377B2 (ja) 専用プロセッサ用ハードウェア命令生成ユニット
US8214831B2 (en) Runtime dependence-aware scheduling using assist thread
TW479198B (en) Method and apparatus for implementing execution predicates in a computer processing system
US8793692B2 (en) Language for task-based parallel programming
US9262161B2 (en) Tracking multiple conditions in a general purpose register and instruction therefor
TWI451340B (zh) 使用交易以平行化循序框架之方法及電腦可讀取媒體
US9753727B2 (en) Partial vectorization compilation system
TW518511B (en) Method of executing an interpreter program
CN101681272A (zh) 使用事务来并行化顺序框架
US20140372732A1 (en) Accelerated reversal of speculative state changes and resource recovery
TW201721410A (zh) 用於執行疊接操作的裝置和方法
KR20010001022A (ko) 병렬 프로세서를 위한 무순서 명령어 발행 방법 및 장치
CN108027736B (zh) 使用通过对物理寄存器预分配的乱序重命名的运行时代码并行化
TW213998B (zh)
Kiessling An introduction to parallel programming with OpenMP
CN101164042A (zh) 在条件指令将不执行时停止等待源操作数
US20140013312A1 (en) Source level debugging apparatus and method for a reconfigurable processor
JPH05508040A (ja) 命令スケジューリング最適化方法
JP2014194746A (ja) シミュレーション装置及びシミュレーション方法及びプログラム
RU2815599C1 (ru) Способ исполнения процессором программ с использованием таблицы адресов спекулятивности по данным
KR20100059822A (ko) 커맨드 실행 순서 결정 방법 및 이를 수행하기 위한 컴퓨팅 디바이스와 컴퓨터 판독가능 기록 매체
Moon Compile-time parallelization of non-numerical code: VLIW and Superscalar
Huang Worst-case timing analysis of concurrently executing DMA I/O and programs
Rassomakhin et al. PARALLELIZATION OF THE MATHEMATICAL MODEL OF GABOR FILTER
Jebali et al. Ensuring consistency between cycle-accurate and instruction set simulators