TWI313822B - Method and apparatus for interfacing a processor to a coprocessor - Google Patents
Method and apparatus for interfacing a processor to a coprocessor Download PDFInfo
- Publication number
- TWI313822B TWI313822B TW091132761A TW91132761A TWI313822B TW I313822 B TWI313822 B TW I313822B TW 091132761 A TW091132761 A TW 091132761A TW 91132761 A TW91132761 A TW 91132761A TW I313822 B TWI313822 B TW I313822B
- Authority
- TW
- Taiwan
- Prior art keywords
- broadcast
- signal
- processor
- register
- coprocessor
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 18
- 239000004020 conductor Substances 0.000 claims description 33
- 238000012545 processing Methods 0.000 claims description 21
- 239000000872 buffer Substances 0.000 claims description 18
- 238000004891 communication Methods 0.000 claims description 12
- 238000012546 transfer Methods 0.000 claims description 5
- 230000000903 blocking effect Effects 0.000 claims description 3
- 238000012790 confirmation Methods 0.000 claims description 2
- 239000000126 substance Substances 0.000 claims 2
- 230000002195 synergetic effect Effects 0.000 claims 1
- 238000012360 testing method Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 19
- 230000005540 biological transmission Effects 0.000 description 15
- 230000006870 function Effects 0.000 description 12
- 230000008901 benefit Effects 0.000 description 7
- 101100269850 Caenorhabditis elegans mask-1 gene Proteins 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 239000000463 material Substances 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 241000251468 Actinopterygii Species 0.000 description 1
- 206010011469 Crying Diseases 0.000 description 1
- 239000006227 byproduct Substances 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3877—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
- Multi Processors (AREA)
- Executing Machine-Instructions (AREA)
Description
⑴ 1313822 (發明說明應:敘明發明所屬之技術領域、先前技術、内容、實施方式及圖式簡單說明) 先前專利申請案參考 本發明已於2001年11月13曰於美國申請為專利申請案第 10/054,577 號。 技術領域 本發明通常係關於具有一處理器與至少一協同處理器之 資料處理系統,而更特定言之’ '係關於介接處理器至一協 同處理器之方法與裝置。 先前技術 經由專用與限定的硬體功能性元件,延伸基線結構與處 理器功能性的能力是可縮放與可延伸結構重要的態樣。 延伸基線架構與處理器功能性之較佳的方法之一,是經 由協同處理器的使用。這些是專用的,通常是在處理器的 指導下運作之單一目的處理器。協同處理器的傳統用途之 一是作為數值運算協同處理器,以選擇性地提供不直接支 援該結構的浮點運算能力給該結構。此一數值運算協同處 理器的一些實例是英特爾(加叫肋”與8〇287。一些其他可能 的用途或協同處理器的類型包含:多重累加器,調制器/解 調制器(數據機)’數位信號處理器(Dsp),菲特比(Vittel) 計算器,密碼處理器,影像處理器,以及向量處理器。 實用協同處理器的-個方法是藉由協同處理器介面的使 用’此-協同處理器介面足夠緊密地耦合,使介面的使用 足夠快,使得即使是請求相當簡單的功能也是有益的,同 時將介面抽象化成處理器結構儘可能地從任何已知協同處
81624-960213.DOC (2) 1313822 理器的細節中獨立出來。舉例來說,此一緊密耦合的協同 處理器可以經由主處理器專用的介面,接收運算元並控制 字組。通常,在主處理器依據一系列由主處理器執行的運 作之後,主處理器便傳輸其產生的數值到協同處理器。在 最後的修改之後,其可能送到協同處理器。可是,此一最 後的傳輸包含一冗餘工作,可能是某些協同處理器運作不 接受的。 圖式簡單說明 本發明以實例的方式說明,並且不受限於附圖,其中相 似的參考數字指示類似的元件,而其中: 圖1係一方塊圖,說明資料處理系統之一具體實施例,其 係根據本發明; 圖2係一方塊圖,說明圖1之處理器部分之一具體實施例; 圖3係一方塊圖,說明圖1之協同處理器部分之一具體實 施例。 圖4係一時序圖,說明暫存器廣播運作之一具體實施例; 圖5係一方塊圖,說明廣播遮罩暫存器之一具體實施例; 圖6係一方塊圖,說明廣播區域之一具體實施例; 圖7係一時序圖,說明暫存器廣播運作之一另一具體實施 例; 圖8係一方塊圖,說明圖2之控制電路部分之一具體實施 例;及 圖9係一方塊圖,說明圖2之廣播區域控制單元部分之一 具體實施例。 81624-960213.DOC -8- 1313822 熟諳此藝之士將了解附圖中的元件是為了簡單與清楚說 明,並不需要依照尺寸描繪。舉例來說,附圖中的一些元 件可以相對於其他元件誇大,以幫助改善對本發明之具體 實施例的了解。 實施方式 在下列敘述中,將提出許多特定細節,如特定的字或位 元長度,等等,以提供本發明之徹底了解。可是,對熟諳 此藝之士而言,顯然可以實作本發明而不需要特定的細 節。在其他的情況中,電路已經表示成方塊圖的形式,以 不使本發明包含不必要之細節而變得模糊不清。在很大的 程度上,與時序考量有關的細節及其類似之物,將儘可能 省略與獲得本發明之完全了解所不需要的,以及屬於原本 熟諳此藝之士所了解的細節。 「匯流排」一詞將用來指稱複數個信號或傳導器,其可 用來傳輸一個或更多個不同類型的資訊,如資料,位址, 控制與狀態。在信號的翻譯,狀態位元,或類似的裝置進 入其邏輯正確或邏輯錯誤的類似裝置,分別使用「確證 (assert)」與「否定(negate)」等詞。如果邏輯正確的狀態是 在邏輯電平1,則邏輯錯誤的狀態將是邏輯電平0。而如果 邏輯正確的狀態是邏輯電平0,則邏輯錯誤狀態將是邏輯電 平1。信號名稱後面的「*」的符號指示信號是有源的低信 號(意指邏輯正確狀態是邏輯電平0)。 圖1係一方塊圖,說明資料處理系統10之一具體實施例, 此一資料處理系統10包含一處理器12,一協同處理器14,一 81624-960213.DOC -9-
1313822 協同處理器16,一記憶體18,其他模組20與外部匯流排介面 22,這些均經由匯流排28雙向地耦合。本發明之其他具體. 實施例可以僅包含一個協同處理器14,兩個協同處理器14 與16 ’或甚至更多協同處理器(未顯示)。外部匯流排介面22 係經由積體電路終端35 ’雙向地耦合到外部匯流排26。記 憶體24係雙向地耦合到外部匯流排26。處理器12經由積體電 路終端3 1 ’選擇性地外部耦合到資料處理系統1〇。協同處 理器14可以經由積體電路終端32,選擇性地外部耦合到資 料處理系統1 〇。記憶體18可以經由積體電路終端3 3,選擇性 _ 地耦合到資料處理系統1〇。其他模組2〇可以經由積體電路 終端34,選擇性地外部耦合到資料處理系統1〇。處理器12 經由協同處理器介面30雙向地耦合到協同處理器14與協同 - 處理器16。圖1中雖然未顯示,其他具體實施例也可以具有_ 類似於經由匯流排28耦合之記憶體18的額外的記憶體。 圖2係一方塊圖,說明圖i之處理器12部分。在一具體實 施例中,處理器12包含控制電路40 ,指令解碼電路42,指令 管線44,暫存器46,算術邏輯單元(ALu)48,閉鎖多工器鲁 (MUX)50 ’閉鎖多工器(Μυχ)52,多工器(Μυχ)54,廣播區 域控制單元120 ’與程式計數單元13〇。在本發明之一具體實 施例中,協同處理器介面30包含信號6〇〜72與128。時脈信號 60係由控制電路4〇產生。協同處理器運作信號61係由控制電 路40產生,並提供給協同處理器14與16。 管理者模式信號62係由控制電路40產生,並提供給協同 處理器14與16。解碼信號63係由控制電路4〇產生,並提供給 81624-960213.DOC -10- (5) 1313822
協同處理器14與16。控制電路40從協同處理器i4或協同處理 器16接收協同處理器忙碌信號64。執行信號65係由控制電路 40產生’並提供給協同處理器14與16。控制電路職協同處 理器14或16接收例外信號66。暫存器寫入(regwr*)信號π 係由控制電路40產生,並提供給協同處理器“與丨心暫存器 信號(REG[4:〇])68係由控制電路4〇產±,並提供給協同處理 器14與16。錯誤信號(H—ERR*)69係由控制電路4〇產生,並提 供給協同處理器14與16。資料選通脈衝信號(Η,*”。係由 控制電路40產生,並提供給協同處理器"與16。控制電路牝 從協同處理器14與η接收資料確認信號(H—則71。區域信 號(H_REGION[N:l])係由廣播區域控制單元產纟,並提供仏 控制電路40與協同處理器…。…料琿信: (HDP[31:G])72也可以當作部分協同處理H介® 處理器14與16,與處理器12的内部電路之間是雙向的。 在本發明之一具體實施例中,爲了进λ + μ备一 Ύ 為了載入或儲存賁料於記 憶體18與/或記憶體24中,而样 而提i、複數個信號給匯流排28或 自其取出。在一具體眚姑,丨士 ^ 貫施例中,這些信號包含一傳輸請求 信號(TREQ*)73,其由抟备丨带妨j + 控制電路40產生,並提供給匯流排28。 控制電路40經由匯泠妯, J,L 28 ’提供傳輸錯誤確認信號 (TEA*)74。控制電路4〇經, 、、由匯流排28,提供傳輸確認信號 (TA*)75。指令係經由傳導 斧导器76 ’從匯流排28提供至指令管 線44。資料係經由傳導gω 牙提供至Μυχ 54。驅動資料信號 79啟動三態缓衝區95,w μ丄& 由傳導器88與76,從閉鎖MUX 52 提供資料。位址選摆卢躲π & 戒78啟動閉鎖MUX50,以經由傳導
81624-960213.DOC -11 - (6) 1313822 器77提供位址至匯流排28。對MUX 54之另一輸入係由HDP 信號(HDP[31:0])72所提供。經由ALU結果傳導器86,提供對 MUX 54之另一輸入。MUX 54之輸出,結果信號83,係提供 給暫存器46與三態緩衝區96之輸入。啟動廣播 (ENABLE_BROADCAST)信號82啟動三態緩衝區96,以驅動 HDP[3 1:0] 72上的結果信號83。三態緩衝區96的輸出亦耦合 到閉鎖MUX 52的輸入。結果信號83係提供作MUX 50的輸 入,以及控制電路40的輸入。結果信號83係經由MUX 54提 供給暫存器46。結果選擇信號(RESULT_SELECT)81選擇MUX 54之哪一個輸入於結果傳導器83上驅動。來源選擇信號 (SOURCE_SELECT)80係提供給閉鎖MUX 52,以選擇哪一個 信號應該驅動至傳導器88上的三態緩衝區95。控制電路40 提供控制資訊,並經由傳導器91,從暫存器46接收狀態資 訊。控制電路40提供控制信號,並經由傳導器92從算術邏 輯單元48接收狀態信號。控制電路40提供控制與資訊信 號,並經由區域區分符REGION SPECIFIERS 122,從廣播區 域控制單元20接收控制與資訊信號。控制電路40提供控制 信號,並經由傳導器124從程式計數單元130接收狀態信號。 控制電路40提供控制信號,並經由傳導器93,從指令管線 44與指令解碼電路42接收狀態信號。耦合指令管線44以經由 傳導器89,提供指令給指令解碼電路42。指令解瑪電路42 經由傳導器90,提供解碼指令資訊給控制電路40與程式計 數單元130。暫存器46經由傳導器84,提供來源運算元給算 術邏輯單元48。暫存器46經由傳導器84,閉鎖MUX 52,三 81624-960213.DOC -12- 1313822
態緩衝區95與傳遵 的次料。„ 76,如供待儲存於記憶體18與記憶體24 哭貝’\ U 46經由料11 84,閉鎖MUX 50與位址傳導 ° 77 ’提供位址資訊給記憶體18或記憶體24。暫存器46經由 傳導器85 ’提供第二來源運算元給算術邏輯單元48。程式 十數單元130經由傳導器126,閉鎖Μυχ5〇與位址傳導器π, ^供程式計數給記憶體18或記憶體24。程式計數器ΐ3〇亦提 仏%式计數貝訊給廣播區域控制單元12〇。程式計數器 從閉鎖MUX 50接收輸出位址當作輸入,以產生下一個記憶 體位址。 注意本發明之其他注意本發明之其他具體實施例可以在 暫存器46中,包含任意數目的暫存器。而且,本發明之其 他具體實施例可以使用一對單向匯流排,而不是雙向匯流 排,以及使用多工器邏輯,而不是三態緩衝區來傳輸資訊。 舉例來說,ΗΕ)Ρ[3 1:0]或其他雙向匯流排可以實作成分開的 輸入與輸出部分。 圖3係一方塊圖,說明協同處理器14部分之一具體實施 例。在一具體實施例中,協同處理器14包含控制電路100, 計算電路102與選擇性的儲存電路104。控制電路1〇〇經由協 同處理器介面30,雙向地耦合到處理器12,其中協同處理 器介面30包含信號60〜72與128。在本發明之一具體實施例 中,控制電路1〇〇包含從處理器12接收運作信號61與解碼信 號63的解碼電路1〇6。控制電路100提供控制資訊,並經由傳 導器108,從選擇性的儲存電路104接收狀態資訊。控制電路 100提供控制資訊,並經由傳導器109,從計算電路1〇2接收 81624-960213.DOC -13- ⑻ 1313822 狀態資訊。計算電路102與選擇性儲存電路1〇4係經由傳導器 11〇雙向地耦合◎可以提供匯流排28或積體電路終端32一個 或更多#號,或自其取出。控制電路1〇〇可以經由傳導器 112 ’提供資訊給匯流排28或積體電路終端32,或自其接收 資訊。信號72可以雙向地耦合到計算電路1〇2與選擇性的儲 存電路104此外’ h號72可以雙向地耦合到匯流排28或積 體電路終端32。在本發明之另一具體實施例中,可以不用 選擇性的儲存電路104。在本發明之具體實施例中,其中使 用選擇性的儲存電路1G4,其可以使用暫存器,任何類型的 記憶體’任何類型的儲存㈣,包含閉鎖或可程式化邏輯 陣列’等等’來實現。在本發明之其他具體實施例 算電路102可以執行任何類型的邏輯或計算功能。 此-系統藉由外部協同處理器14(或硬體加速器),提供任 務加速的支援,其中外部協同處理器_與運作有關之 定運用做最佳A。這些外部協同處理器Μ,啊 執行母體計算的協同處理器14,或更複雜的功冑,二 尚速多重/累加操作的DSP加速協同處理器“或Μ。 b 資料是藉由-個或更多個適於特殊實用的機 器12與一協同處理器“之間傳輪。這些可以分成傳= 同處理器14,以及從協同處理器i4傳輸。 協 傳輸資料到協同處理ϋ 14的機制之—是暫存 制,其不包括原始指令,而是枰 11廣播機 社a人地' ‘準處理器12運作的副產物 、3㉟介面’反映更新给處理器以一般目的。。 (GPR)46,使協同處理器14可 〒益 皿視一個或更多個處理器12 81624-960213.DOC -14- 1313822
暫存器的更新。對於内部暫存器或功能,#果協同處理器 14與卿46重4,這可能是合適的。在此—情況中,不需 要明確的參數從處理器12傳輸到協同處理器14。 傳輸 資料驅 理器。 之協同 通訊的 為了 之運算 供信號 注意 此已知 即使可 貝科到 動方法 這些項 處理器 減少, 在外部 元與指 交換的 協同處 單元之 能存在 協同處理器14的m,是對協同處理之 ’其包含傳輸一個或更多資料項目到協同處 目的傳輸可以引起協同處理操作,而無明確 命令或指令的傳輸。與協同處理器14之冗餘 可以導致明顯的性能改善。 協同處理器14,16與處理器12之間,傳輸明確 令,而在基本處理器12中提供原始指令。提 機制,以允許指令速率及資料傳輪上的控制。 理器14之功能係設計成實用的特殊單元因 確切功能性在不同的實用上是可以改變的, 相同的指令映射。 圖4係一時序圖,說明暫存器廣播運作。為了避免傳送到 協同處理器14或外部監視器之參數表現過頭,而提供暫存 器廣播機制(亦稱為暫存器窺探機制)。這允許協同處理^ 14實現一個或更多個處理器12之一般暫存器的影子複製。 此一能力係藉由傳輸將寫入處理器Gp /、τ < —的數 值,以及對每一 GPR更新,指示哪一個暫存器46將更新,來 實現。(注意下面畫線的暫存器,如尺八與RC,分別指示相應 指令之目的暫存器,如ADDC或OR)。對每個暫存器更新 確認選通脈衝信號REGWR*67。數值傳輸跨過32位元之雙η 貧料路桎HDP[31:〇] 72,而5位元暫存器數目匯流排,β 只1J提 81624-960213.DOC -15- (10) 1313822 七、才曰示(REG[4:〇])68給實際更新之戍理哭姑士 數目可以在標準…:之處理'暫存器46。暫存器 ,,,, 袷案或另一檔案中,參考一暫存器46。在 、體實她例中’其他的檔案暫存器係以RE,卜1扑 二而標準檔案暫存器則是以卿卜〇指示。可是,注; 本發明並不以任何方式依賴暫存器組的實際劃分。 協同處理器14可以沿著目的暫存器46數目的指示,内部 地閉鎖數值,卩避免在後來的時間中,暫存器資訊之明顯 移動。除錯協同處理器14也可以使用此—功能性來追縱暫 存’ ‘案46或其子集的狀態。圖4顯示廣播能力的實例。 圖4所不之廣播能力經由HDp[3i:〇] ”,為暫存器檔案之 每:個寫入異冑’執行廣播。因此,此—能力允許協同處 理器14保持處理器12之暫存器擋案(亦即,GpR 46)的影子複 製,並去除明確地從處理器12傳送一些參數到協同處理器 14的需要。可是,進一步控制處理器12與協同處理器14廣播 性此之能力的需求是存在的。因此,圖5〜9書名本發明之一 具體實施例,其允許處理器12之選擇性的廣播能力,以及 允許協同處理器14之選擇性的更新策略。 圖5說明一廣播遮罩暫存器,其允許選擇性廣播能力的實 現,其係根據本發明之一具體實施例。因此,不是對GPR 46 廣播每個結果更新’而是對協同處理器14廣播該結果,使 用廣播遮罩暫存器,以選擇GPR 46之子集。舉例來說,對 於GPR 46中的每一個暫存器,可以使用單一位元作為廣播 指示器,以決定對該特定暫存器之更新,是否將導致對協 同處理器14(經由HDP[31:0] 72)傳輸更新内容。圖5說明廣播 81624-960213.DOC -16- 〇i) 1313822
w__矚MW 遮罩暫存 。 實例,其中假設GPR 46具有16個暫存器。 在此一實例Φ,n4t _ ° . 、 曰不與特殊位元有關的暫存器要求A fet杲 廣播失效,而丨則指千命π 受心八、、,〇果 與特殊位元有關之暫存器要求其結果 廣播啟動。因敁,+ 圖5的實例中,只有對協同處理器U廣 播對應於位元位置8鱼 ^ ± 8與9(在—具體實施例中,稱為GPR 46中 的暫存器R8與暫存!§ Μ、# & & 存15 R9)的暫存器更新。如果GPR 46僅含有 8個暫存器,則廣播护1 另 A述 八播遮罩暫存器僅需要是8位元長。因此, 廣播遮罩暫存器可以當 作疋具有一組對應於GPR 46之廣播 扣不器的廣播區分符。
在一具體實施例中,癟她A 廣播遮罩暫存器(如廣播區分符)是 使用者可程式化的(款體左 存取),因此可以隨系統狀態.的改 變而修改,以在時問卜陆— 吁]上隨耆新要求的出現,考慮到不同的 協同處理活動。在另一且撕也 八體實施例中’廣播遮罩暫存器或 廣播區分符是可以由特殊沪 沐知令之中間欄位存取的,此一特 殊指令係設計來更新廣播遮罩暫存器。其他的具體實施例 可以使用不同的廣播區分符與不同的方法,為每—暫存器 提供相應之廣播指示器,每— 母暫存器需要其結果由處理器 12廣播,而不是使用圖 斤說明的廣播遮罩暫存器。舉例 來說,暫存器遮罩攔位可!^ Μ + Γ u儲存在對應於GPR 46的記憶體 18或24中。 經由廣播遮罩暫存器(或其# 共他的遮罩區分符),HDP[31:〇] 7 2的負載與整體功率消耗可以隊μ ^ 枚j从降低。舉例來說,如果不需 要由協同處理器14窺探一數值…數值可以藉由分派儲 存此-數值之GPR 46暫存器,由處理器12廣播其失效,並 81624-960213.DOC -17. 1313822 ⑼ 使用廣播遮罩使此一暫存器之廣播失效。 計算數值之子集需要從處理器12廣播到協丨 46之子集可以保留以容納這些數值,然後 暫存器之一的更新引起計算數值的廣播。 指令數目是高的,廣播所有寫入結果 HDP[31:0] 72的負擔,並消耗能量。因此, 對協同處理器14廣播暫存器更新之子集, 功率消耗的減少,並降低HDP[3 1:0] 72過度 為了進一步控制廣播能力,可以使用廣4 樣品程式空間172,其被分成四個廣播區 164,廣播區域2 166,廣播區域3 168,與廣 式空間172可以是處理器12中的任何程式空 於任何程式記憶體,如記憶體18或24中。 位址之範圍(亦即,程式區域或執行區域) 控制的。在圖6中,每一廣播區域具有一對 舉例來說,廣播區域1 164對應於廣播遮罩 166與廣播區域4 170兩者對應於廣播遮罩2 3 168則對應於廣播遮罩3 162。因此,廣播 過一個廣播區域。 對一廣播區域之廣播遮罩賦予可以用許 其可以是固定的,或其可以是軟體控制而 式化的。程式化可以經由配對廣播遮罩與 區域的控制暫存器,或經由其他儲存裝置 統執行進行,廣播遮罩與廣播區域的關聯 :纖顆顆 因此,如果只有 司處理器14,GPR 將僅這些保留之 既然產生結果的 不必要地加重 遮罩廣播使得僅 造成處理器12中 的負載。 畨區域。圖6說明 域:廣播區域1 播區域4 170。程 間,並且可以位 廣播區域指指令 ,其中廣播是受 應之廣播遮罩。 1 158廣播區域2 160,而廣播區域 遮罩可以對應超 多方法來控制^ 且是使用者可程 每一實用之廣播 來執行。隨著系 ,可以在使用者 81624-960213.DOC -18- (13)1313822
程式,或藉 處理系統之 當代碼在 供更新結果 只有對協同 的那些。在 器14廣播廣 168中,對協 新。 此專廣播 舉例來說, 送精確的驅 求知道來自 的方式運作 理器12可以 器14之驅動 消除與傳送 的冗餘工作 或者是, 用。舉例來 生的區域。 之任何更新 域2,使得3 因此,廣播 由系統事件之硬體監視,或藉由任何適於資料 其他控制裝置的控制下改變。 廣播區域中執行時,使用相應之廣播遮罩以提 之選擇性廣播。舉例來說,在廣播區域丨164中, 處理器14廣播廣播遮罩丨158指示之暫存器更新 廣播區域2 166或廣播區域4 17〇中,對協同處理 播遮罩2 160指示之暫存器更新。在廣播區域3 同處理器14廣播廣播遮罩3 162指示之暫存器更 區域之使用亦允許協同處理器14之簡化運作。 在一些情況中,既然處理器12可以設計成僅傳 動項目給協同處理器14,協同處理器14不再要 處理器12之明確指令的形式’而是以資料驅動 。因此’經由廣播區域與廣播遮罩的使用,處 控制其廣播能力,因此控制其傳送至協同處理 項目。藉由以資料驅動方式運作,可以減少或 單獨控制操作或指令給協同處理器14或16有關 ,因而改善系統性能並降低系統功率浪費。 圖6之廣播區域1~4可以獨立於廣播遮罩1〜3使 說,廣播區域可以定義為其中廣播發生或不發 也就是說,對於廣播區域1 164中的代碼,GPR 46 ,可能總是發生廣播。可是,可以定義廣播區 吁於此一區域中的代碼,廣播並不是總是發生。 能力可以選擇性地純粹基於廣播區域,而不是 81624-960213.D〇c -19- (14) (14)1313822 純粹基於廣播遮罩或廣播遮罩與區域的結合。 圖7說明選擇性暫存器廣播運作之實例的時序圖。指令 ADD脸’ R2與〇R M,R5落在圖6之廣播區域i⑹中,因此 對應於廣播遮罩i 158,其實例亦顯示於圖
τ ^ AND M’ R7,漏脸,R4,與MULM,R1〇落在圖6之廣播區域2 166中,因此對應於廣播遮罩216〇,其實例亦顯示於圖7中, 圖7之時序圖指示當指令處於指令管線44之執行狀態時。每 一指令中,下面畫線的暫存器指示目的暫存器(結果將寫入 之暫存器)。 在區域1 164中’ ADD脸,R2之結果係寫入暫存器R3(其中 R3 = R3 + R2)中。既然廣播遮罩1 158有一個「i」寫入位元位 置3 ’任何對暫存器R3之寫入將經由HDP[31:〇] 72,由處理 器12廣播。因此,在圖7之時序圖的第一時脈循環中,add 指令的結果(寫入處理器12中之R3的結果)在hdp[31:0] 72 上,對協同處理器14廣播。既然其將被廣播,也可以藉由 REG[4:0] 68’提供對應於R3之暫存器數目給協同處理器 14。確證REGWR*67以允許協同處理器將輸入結果寫入其暫 存器之一,並確證ENABLE_BROADCAST 82,使圖2之三態缓 衝區96可以將結果驅動到HDP[31:0] 72上面。而且,區域指 示器係由H_REGION[N: 1] 128提供給協同處理器14。因此, 當代碼在區域1中執行時,H_REGION[N: 1] 128(對應於N位元 數值)指示一個「1」。 OR M,R5指令緊接著ADD R2指令之後,並且仍然在 廣播區域1 164之中;可是,其目的暫存器是R4。根據廣播 81624-960213.DOC -20- 1313822 (15)
遮罩1 158,寫入R4之結果是不廣播的;因此’ OR指令的結 果並不提供給協同處理器14,經由REG[4:0] 68,不需要暫 存器數目,而且REGWR*與ENABLE—BROADCAST皆是不確證 的0 下三個指令 and μ,R7 ’ SUB ’ R4,與 MUL R9.,RIO 接落在廣播區域2 166中。R6,R3,與R9是下面畫線的, 指示其為相應指令之目的暫存器。一旦進入廣播區域2
166’ H_REGION[N: 1] 128改變狀態以指示「2」。廣播區域2 166 具有相應之廣播遮罩2 160,其指示只有寫入暫存器R9與R6 應該廣播。因此,在圖7之時序圖中可見,只有AND與MUL 指令的結果經由HDP[31:0] 72’對此時處於廣播區域2 166 之協同處理器14廣播每一個暫存器數目也經由reg[ 4:0] 68傳送,並確證reGWR* 與ENABLE—BROADCAST82。可是, SUB指令的結果是不廣播的,因為廣播遮罩2 16〇指示在廣 播區域2 166中’寫入暫存器R3應該不廣播。
圖8以方塊圖的形式說明圖2之控制電路4〇部分之一具體 實施例。控制電路4〇的部分包含廣播遮罩i暫存器134,廣播 遮罩2暫存器136,與廣播遮罩Μ暫存器138,遮罩選擇電路 132。與目的比較單元142。控制電路包含μ個廣播遮罩暫 存器(也'主意控制電路40可以包含只有}或2廣播遮罩暫存 器,即使說明的是3)。控制電路4〇也包含遮罩選擇電路^ 其耦σ到廣播遮罩丨暫存器134,廣播遮罩2暫存器136,與 播遮罩Μ暫存11 138。遮罩選擇電路也接收H_REGI0N[N:1 並提供目前的廣播遮罩14〇給目的比較單元142。目的比較
81624-960213.DOC -21 - 1313822 (16)
元142也從指令解碼42耦合到傳導器90,並提供 ENABLE BROADCAST 82給三態缓衝區 96。 在運作上,可以經由結果信號83,載入廣播遮罩暫存器 134 ’ 136與138的數值。因此,可以指派指令給處理器丨2, 以將數值載入廣播遮罩暫存器中;因此,控制信號經由傳 導器90可以指示指令載入廣播遮罩暫存器134,136與138是 待執行的’實際的數值提供作來自MUX 54之結果信號83。 因此,在此一具體實施例中,廣播遮罩暫存器器134,136 與138是使用者可程式化的。遮罩選擇電路132接收 H—REGION[N· 1 ] 128 ’其為指示目前代碼執行區域(亦即目前 的程式區域)的N位元數值。(注意區域的數目,γ,取決於 處理器12的設計’可以多於或少於廣播遮罩暫存器的數目。) 遮罩選擇電路132可以用許多不同的方式來實現,以將廣播 遮罩暫存器134,136,…,138之一與每一個由H_REGION[N: 1] 128指示之區域關聯起來。在一具體實施例中,遮罩選擇電 路132將唯一的廣播遮罩與每一個廣播區域關聯起來。在其 他具體實施例中’遮罩選擇電路131可以包含使用者可程式 化暫存器或其他電路,以允許選擇之廣播遮罩對每一廣播 區域之任意關聯’因而允許由不同廣播區域分享廣播遮 罩。或者是’廣播遮罩與廣播區域之關聯,可以基於資料 處理系統10的狀態,並且可以動態地改變,而無軟體介入。 因此’遮罩選擇電路m使用h_REGION[N: 1] 128以選擇向 映之廣播遮罩暫存器(134,136,或138),並提供其作為目 前的廣播遮罩140〇舉例來說,如果h_REGION[N: 1] 128指示 81624-960213.DOC -22- (17) 1313822 圖6之廣播區域2 166,則遮罩選擇電路132將選擇具有相應 於廣播遮罩2 160之數值(可以儲存於廣播遮罩暫存器134 , 136,或138之任一)的廣播遮罩暫存器。接著,目的比較單 元142決定何時指令導致運算元寫入GpR 46之目的暫存 器,並藉由指令解碼42,比較經由傳導器9〇所提供之目的 暫存器與目前的廣播遮罩i40,以決定是否啟動廣播。如果 比較扣示結果應該廣播,便破證ENABLE_BR〇ADCAST 82, 以便於啟動三態緩衝區96,以將結果驅動至HDp[31:〇] 72。 圖9以方塊圖的形式說明圖2之廣播區域控制單元12〇部 分之一具體實施例。廣播區域控制單元120包含區域上限暫 存器146 ’區域1下限暫存器148,區域2上限暫存器15〇 ,區 域2下限暫存器152 ’區域Y上限暫存器154,區域γ下限暫存 器156,與邊界比較單元144。區域1上限暫存器14ό,區域夏 下限暫存器148,區域2上限暫存器150,區域2下限暫存器 152,區域Υ上限暫存器154 ,區域γ下限暫存器156可以從控 制單元40接收REGION_SPECIFIERS 122,並儲存這些區分 符。可以為每一邊界暫存器146,148,150,152,154,與156, 提供唯一的區分符。這些區分符可以由控制電路4〇從結果 83選擇,因此是指令執行結果數值的函數,或者可以經由 指令解碼90來提供,或者是藉由其他的方式。邊界暫存器 146 , 148,150,152,154,與156提供邊界比較單元144之輸 出。邊界比較單元144也經由程式計數單元130,耦合到傳導 器126,並提供H_REGION[N: 1] 128作為輸出。 在運作上’區域1上限暫存器146與區域1下限暫存器148 81624-960213.DOC -23- (18) 1313822 疋義對應於廣播區域丨(舉例來說,如圖6之廣播區域1丨64) 之起始與結束指令位址。因此,當程式計數器(在程式計數 單元13 0中)落於起始與結束指令位址中(亦即,區域1之上下 限中)時’邊界比較單元144輸出H—REgi〇n[n:i] 128至指示 區域1。同樣地’每一對上下區域界限,舉例來說,如15〇 與152或154與150’定義廣播區域,而當程式計數器落於這 些區域之任一時,相應區域便輸出為H_REGION[N: 1] 128。 注意’如圖9所說明的,廣播區域控制單元12〇包含3個廣播 去定義;可是,可地定義任意數目的區域,γ。經由 REGI0N—SPECIFIERS 122,這些上下限暫存器(146, 148, 15〇, 152, 154,與156)可以全是使用者定義的,其中 REGION—SPECIFIERS 122提供數值與控制信號以載入這些暫 存器。 在其他具體實施例中,可以使用其他的方法與暫存器, 以定義廣播區域。舉例來說,可以使用基本位址與遮罩以 定義每一廣播區域,而不是上下限。而且,利用保護或重 新定位控制(如表格側尋緩衝區,TLB),可以使用頁面屬性 以定義系統中的廣播區$。在其他的具體實施例中,廣播 區域控制單元120也可以位於控制電路仂中,或者是,可以 結合廣播遮罩暫存器與廣播區域㈣暫存_,使得由特殊 區域選擇特殊遮罩。如此一更新遮罩與區域定義的冗 餘工作可以減少。而且,如上所述,+同的廣播區域可以 分享同一個廣播遮罩,也減少 而且,其他具體實施例可以不 了廣播遮罩暫存器的數目。 需要提供廣播區域資訊給協 81624-960213.DOC -24- 1313822 (19)
同處理器14,因此消除了 H_REGI0N[N:1] 128的需求。 在本發明之另一具體實施例中,圖6之廣播區域1〜4也可 以允許協同處理器14實現選擇執行模式策略《廣播區域也 稱為執行區域。舉例來說,藉由傳送指示上述目前之執行 區域(如H—REGI0N[N:1] 128)的信號,處理器12可以提供執 行的上下文給協同處理器14。也就是說,可以使用 H_REGI0N[N:1] 128以允許協同處理器14將其本身建立起 來’以操作不同與唯一的資料驅動運作模式,其中資料驅 動運作模式是在處理器12運作期間,由H_REGIONfN: 11 128 動態選擇的。舉例來說,依據目前的執行區域(亦即,目前 執行之程式代碼部分),可以建立協同處理器14以響應 H_REGI0N[N:1] 128,以不同的模式操作,或執行不同的功 能。舉例來說,如果H_REGION[N: 1] 128指示執行區域2,協 同處理器14可以在傳輸到記憶體時,執行循環冗餘核對, 而如果H_REGION[N: 1] 128指示執行區域3,則協同處理器14 可以執行過濾功能或硬體雜湊法功能。因此,協同處理器 14可以響應目前的執行區域,改變其功能性。 在本發明之一些具體實施例中,響應經由h_REgI〇n[n: 接收目前執行區域區分符,修改協同處理器14之操作的概 念,允許簡化協同處理器,以及降低處理器12與協同處理 器14之間指令傳輸的冗餘工作。協同處理器14可以用資料 驅動的方式傳輸,其中經由HDp[31:〇] 72之資料傳輸,響應 來自處理器12,以及經由待更新之GpRs粍暫存器的reg[4:〇] 68的指示,而執行處理。當與廣播遮罩之觀念耦合時,只 81624-960213.DOC -25- (20)1313822
有確切的 資 來,REG[4:0] 之指令目的暫 作為協同處理 暫存器廣播操 GPRs 46中的特 擇的功能。此 擇的功能,可 上下文,而不 14之冗餘工作 在前述專利 發明。可是, 與改變,而不 圍。舉例來說 電路,或這超 此’專利說明 而且所有這種 以上已經敘 決方法。可是 與可能引起任 其他元件,並 必須的,或基 括」,「包含」 含,因此包括 坪驅動項目被傳送到協同處理器14。如此一 68指示之每一數值對應於將由處理器12執行 存器,可以進一步加入功能,以指示特殊操 器14執行作為目前執行之上下文的功能。當 作發生時’處理器12所執行之指令可以指向 殊暫存器’以不直接影響協同處理器14所選 外’對REG[4:0] 68所對應之該特殊編碼所選 以改變成由H_REGION[N: 1]改變所指示之執行 需要由處理器12明確地重新配置協同處理器 〇 說明書中’已經參考特殊具體實施例敘述本 原本熟諳此藝之士將了解可以做各種的修改 脫離下面申請專利範圍所陳述之本發明的範 ’本文中所敘述之電路可以做成單一的積體 過一個積體電路或是硬體與軟體的結合。因 書與附圖是當作說明’而不是侷限的意思, 修改傾向於包含在本發明之範圍内。 述關於本發明之益處,其他優點與問題的解 ’這些益處,其他優點,問題的解決方法, 何益處’優點,或方法發生或變得更顯著的 未當作任何所所有申請專利範圍之緊要的, 本的特徵或元素。如本文中所使用的,「包 或其任何其他變化傾向於涵蓋非排他性的包 _多元件的過程,方法,文件,或裝置,並
81624-960213.DOC 26- (21) 1313822 不是只包含那些元件,而是包含未明確表列或屬於此一過 程,方法,文件,或裝置之其他元件。 圖式 代 表 符 號 說 明 10 資 料 處 理 系 統 12 處 理 器 14,16 協 同 處 理 器 18,24 記 憶 體 20 其 他 模 組 22 外 部 匯 流 排 介 面 28 匯 流 排 26 外 部 匯 流 排 31,35,32,33,34 積 體 電 路 終 端 30 協 同 處 理 器 介 面 40,100 控 制 電 路 42 指 令 解 碼 電 路 44 指 令 管 線 46,R8,R9 暫 存 器 48 算 術 邏 輯 單 元 50,52 閉 鎖 多 工 器 54 多 工 器 120 廣 播 區 域 控 制 〇〇 — 早兀 130 程 式 計 數 單 元 61 協 同 處 理 器 運 作信號 62 管 理 者 模 式 信 號 81624-960213.DOC -27- (22) 1313822 63 解碼信號 64 協同處理器忙碌信號 65 執行信號 66 例外信號 67 暫存器寫入信號 68 暫存器信號 69 錯誤信號 70 資料選通脈衝信號 71 資料確認信號 72 硬體資料埠信號 73 傳輸請求信號 74 傳輸錯誤確認信號 75 傳輸確認信號 76,88,77,124,86,91,92,12 4,93,89,90,84,126,108,10 傳導器 9,110,112 79 驅動資料信號 95 三態緩衝區 78 位址選擇信號 83 結果信號 96 三態缓衝區之輸入 82 啟動廣播信號 81 結果選擇信號 80 來源選擇信號 81624-960213.DOC -28- mwmm 1313822 (23) 122 區域區分符 102 計算電路 104 選擇性的儲存電路 106 解碼電路 8,9 位元位置 172 樣品程式空間 164 廣播區域1 166 廣播區域2 168 廣播區域3 170 廣播區域4 158 廣播遮罩1 160 廣播遮罩2 162 廣播遮罩3 134 廣播遮罩1暫存器 136 廣播遮罩2暫存器 142 比較單元 140 廣播遮罩 120 廣播區域控制單元 146 區域1上限暫存器 148 區域1下限暫存器 150 區域2上限暫存器 144 邊界比較單元 152 區域2下限暫存器 154 區域Y上限暫存器 81624-960213.DOC -29- 1313822 (24) 156 區域Y下限暫存器
81624-960213.DOC 30-
Claims (1)
- I313f22 1132761號專利申請案 El τ文申睛專利範圍替換本(98年1月) 拾、,讀專利範園 ¥ 1. 一種用於處理器之方法,其旦 _ ' 之暫存考俨茔. 己括複數個暫存g 符,:广、、、—對應於該暫存器檔案之廣播區矣 符,该方法包括: n 知供儲存有該廣播區分餘夕^ —A、 刀符之儲存電路,該廣播區分符 複數個廣播指示器,在 隹及等廣播指示器中的每一個 廣播指示器對應於該等暫存 守3什窃甲的一個暫存器以及指示 是否到該對應的暫存器之一寫 I ^ ^ r ^ ^ 馬入要經由一協同處理器通 訊匯流排廣播; 接收待寫入至該暫存器檔案之一運算元; 在該暫存器檔案中’選擇該複數個暫存器之一; 提供待寫入該暫存器檔案之該運算元至該暫存器樓 案;及 經由該協同處理器通訊匯流排,依據該廣播區分符, 選擇性地提供待寫入該暫存器檔案之該運算元,其中告 | 宙 對應於該等暫存器中之該選定的暫存器之該廣播指示器 指示廣播被啟動時,該運算元提供至該協同處理器通訊 匯流排;以及當對應於該等暫存器中之該選定的暫存器 之該廣播指示器指示廣播未被啟動時,該運算元未被提 供至該協同處理器通訊匯流排。 2. —種用於一處理器之方法,該處理器具有包含複數個暫 存器之一暫存器檔案,該方法包括: 接收待寫入該暫存器檔案之一運算元; 於該暫存器檔案中選擇該複數個暫存器中之一; 81624-980119.doc 1313822提供該暫存器檔案待寫入該暫存器檔案之該運算元;及 經由—協同處理器通訊匯流排’依據該處理器之目前 的執行區域,選擇 算元,其中該目前 該範圍是由該處理 址所落入的範圍以 於該目前的執行區 的執行區域廣播是 匯流排提供該運算 播不是啟動的話, 供該運算元。 性地提供待寫入該 的執行區域對應一 器之一程式計數器 及其中該選擇性地 域廣播是否啟動, 啟動的話,則經由 元’以及若對於該 則不經由該協同處 暫存器檔案之該運 指令位址之範圍, 指不之〜目前的位 提供包含:決定對 以及若對於該目前 該協同處理器通訊 目前的執行區域廣 理器通訊匯流排提 3· —種處理器,包括: 複數個暫存器; 中之 —執行寫入操 執行電路,用來對該複數個暫存器 作; 數個暫存器之一; 儲存-組廣播區分符之健存電路, 中之每-廣播區分符包含複數個廣播指矛二廣播區分 廣播指示器對應到該複數個暫存器中的—每,其中每 指示是否到該對應的暫存器之一寫 j存器,以 比較電路,用來比較該複數個暫存器 之廣播區分符之-中之—對應的廣播#_1在所選 提供-廣播啟動信號,其中當 9不自,以及用 給該複數個暫存器中 ^ "虐的廣播指示器指 该暫存器廣播時,該廣播啟動] 81624-980119.doc 1313822 號啟動廣播;以及當該對應的廣播指示器 數個暫存器中之該暫存器廣播時,該廣播 動廣播;及 耦合到該比較電路之一連接埠,用來與 通訊匯流排進行通訊,該埠包括至少一個 訊匯流排信號,以在當該廣播啟動信號啟 供該運算元,以及當該廣播啟動信號不啟 提供該運算元。 4. 如申請專利範圍第3項之處理器,進一步g 一程式計數單元,用來指示位址位置; 一廣播區域控制單元,其耦合到該程式 來指示來自該程式計數單元之指示的位址 一組廣播區域之一中。 5. —種處理器,包括: 複數個暫存器; 執行電路,用來對該複數的暫存器之一 I 傳導器,用來提供寫入操作之運算元給 器之一; 一程式計數單元,用來指示位址位置; 一執行區域控制單元,其耦合到該程式 來指示來自該程式計數單元之該指示的該 落於一組執行區域之一中,每一執行區域 址之範圍;及 耦合到該執行區域控制單元之一連接埠 同處理器通訊匯流排進行通訊,該埠包括 81624-980119.doc 申請專利範圍續頁 不指示給該複 啟動信號不啟 一協同處理器 協同處理器通 動廣播時,提 動廣播時,不 L括· 及 計數單元,用 位置何時落於 L行寫入操作; 該複數個暫存 計數單元,用 位址位置何時 指示一指令位 ,用來與一協 至少一個協同 1313822 申請專利範圍續頁 處理器通訊匯流排信號,當該指示之位址位置落於該組 執行區域之一中時,該通訊匯流排信號從該組執行區域 中,指示一目前的執行區域。 81624-980119.doc -4- 1313822 陸、(一)、本案指定代表圖為:第2.圖 (二)、本代表圖之元件代表符號簡單說明: 12 處 理 器 52 閉 鎖 多 工 器 14 協 同 處 理 器 54 多 工 器 16 協 同 處 理 器 60 時 脈 信 號 18 記 憶 體 6 1 協 同 處 理 器 運 作 信 號 24 記 憶 體 62 管 理 者 模 式 信 號 30 協 同 處 理 器 介 通 63 解 碼 信 號 40 控 制 電 路 64 協 同 處 理 器 忙 碌 信 號 42 指 令 解 碼 電 路 65 執 行 信 號 44 指 令 管 線 66 例 外 信 號 46 暫 存 器 67 暫 存 器 寫 入 48 算 術 邏 輯 單 元 68 暫 存 器 信 號 50 閉 鎖 多 工 器 69 錯 誤 信 號 70 資 料 選 通 脈 衝 信 號 8 1 結 果 選 擇 信 號 7 1 接 收 資 料 確 認 信 號 82 啟 動 廣 播 信 號 72 硬 體 資 料 埠 信 號 83 結 果 信 號 73 傳 ¥m 請 求 信 號 84 傳 導 器 74 傳 m 錯 誤 確 認 信 號 85 傳 導 器 75 傳 確 認 信 號 86 ALU結 果 傳 導 器 76 傳 導 器 88 傳 .導 .器 77 位 址 傳 導 器 89 傳 導 器 78 位 址 選 擇 信 號 90 傳 導 器 79 驅 動 資 料 信 號 9 1 傳 導 器 80 來 源 選 擇 信 號 92 傳 導 器 81624-960213.DOC -4- 1313822 93 傳導器 - 9 5 三態缓衝區 , 9 6 三態缓衝區 120廣播區域控制單元 122區域區分符 124傳導器 126傳導器 130程式計數單元 柒、本案若有化學式時,請揭示最能顯示發明特徵的化學式: 81624-960213.DOC -5-
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/054,577 US7228401B2 (en) | 2001-11-13 | 2001-11-13 | Interfacing a processor to a coprocessor in which the processor selectively broadcasts to or selectively alters an execution mode of the coprocessor |
Publications (2)
Publication Number | Publication Date |
---|---|
TW200300230A TW200300230A (en) | 2003-05-16 |
TWI313822B true TWI313822B (en) | 2009-08-21 |
Family
ID=21992061
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW091132761A TWI313822B (en) | 2001-11-13 | 2002-11-07 | Method and apparatus for interfacing a processor to a coprocessor |
Country Status (7)
Country | Link |
---|---|
US (1) | US7228401B2 (zh) |
EP (1) | EP1446717A1 (zh) |
JP (1) | JP4098241B2 (zh) |
KR (1) | KR100981033B1 (zh) |
CN (1) | CN1290003C (zh) |
TW (1) | TWI313822B (zh) |
WO (1) | WO2003042819A1 (zh) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6986023B2 (en) | 2002-08-09 | 2006-01-10 | Intel Corporation | Conditional execution of coprocessor instruction based on main processor arithmetic flags |
US7392368B2 (en) * | 2002-08-09 | 2008-06-24 | Marvell International Ltd. | Cross multiply and add instruction and multiply and subtract instruction SIMD execution on real and imaginary components of a plurality of complex data elements |
AU2003256870A1 (en) * | 2002-08-09 | 2004-02-25 | Intel Corporation | Multimedia coprocessor control mechanism including alignment or broadcast instructions |
US20050131561A1 (en) * | 2003-12-16 | 2005-06-16 | Dell Products L.P. | Information handling system including docking station with digital audio capability |
US7395410B2 (en) * | 2004-07-06 | 2008-07-01 | Matsushita Electric Industrial Co., Ltd. | Processor system with an improved instruction decode control unit that controls data transfer between processor and coprocessor |
US7490223B2 (en) * | 2005-10-31 | 2009-02-10 | Sun Microsystems, Inc. | Dynamic resource allocation among master processors that require service from a coprocessor |
US8914618B2 (en) | 2005-12-29 | 2014-12-16 | Intel Corporation | Instruction set architecture-based inter-sequencer communications with a heterogeneous resource |
US7921195B2 (en) * | 2008-06-09 | 2011-04-05 | International Business Machines Corporation | Optimizing service processing based on business information, operational intelligence, and self-learning |
CN102207919A (zh) | 2010-03-30 | 2011-10-05 | 国际商业机器公司 | 加速数据传输的处理单元、芯片、计算设备和方法 |
WO2013095575A1 (en) * | 2011-12-22 | 2013-06-27 | Intel Corporation | Broadcast operation on mask register |
US9336000B2 (en) * | 2011-12-23 | 2016-05-10 | Intel Corporation | Instruction execution unit that broadcasts data values at different levels of granularity |
CN110471699B (zh) | 2011-12-23 | 2023-07-28 | 英特尔公司 | 用于指令处理的处理器核、方法和系统 |
US9864602B2 (en) | 2011-12-30 | 2018-01-09 | Intel Corporation | Packed rotate processors, methods, systems, and instructions |
US9361116B2 (en) | 2012-12-28 | 2016-06-07 | Intel Corporation | Apparatus and method for low-latency invocation of accelerators |
US9417873B2 (en) | 2012-12-28 | 2016-08-16 | Intel Corporation | Apparatus and method for a hybrid latency-throughput processor |
US10140129B2 (en) | 2012-12-28 | 2018-11-27 | Intel Corporation | Processing core having shared front end unit |
US10346195B2 (en) * | 2012-12-29 | 2019-07-09 | Intel Corporation | Apparatus and method for invocation of a multi threaded accelerator |
US9785444B2 (en) | 2013-08-16 | 2017-10-10 | Analog Devices Global | Hardware accelerator configuration by a translation of configuration data |
CN104298639B (zh) * | 2014-09-23 | 2017-03-15 | 天津国芯科技有限公司 | 主处理器与若干协处理器的嵌入式连接方法及连接接口 |
US10409601B2 (en) * | 2017-12-29 | 2019-09-10 | Intel Corporation | Apparatus and method for loop flattening and reduction in a single instruction multiple data (SIMD) pipeline |
US10719329B2 (en) * | 2018-06-28 | 2020-07-21 | Arm Limited | Apparatus and method for using predicted result values |
US12026555B2 (en) | 2020-12-15 | 2024-07-02 | International Business Machines Corporation | Adjunct processor command-type filtering |
US11487556B2 (en) * | 2020-12-15 | 2022-11-01 | International Business Machines Corporation | Command-type filtering based on per-command filtering indicator |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5117350A (en) * | 1988-12-15 | 1992-05-26 | Flashpoint Computer Corporation | Memory address mechanism in a distributed memory architecture |
US5283881A (en) * | 1991-01-22 | 1994-02-01 | Westinghouse Electric Corp. | Microcoprocessor, memory management unit interface to support one or more coprocessors |
DE69229657T2 (de) | 1991-06-19 | 1999-12-02 | Hewlett-Packard Co., Palo Alto | Co-Prozessor unterstützende Architektur für einen Prozessor, der keine Zusatzprozessorfähigkeit hat |
US6047122A (en) * | 1992-05-07 | 2000-04-04 | Tm Patents, L.P. | System for method for performing a context switch operation in a massively parallel computer system |
US5983338A (en) | 1997-09-05 | 1999-11-09 | Motorola, Inc. | Method and apparatus for interfacing a processor to a coprocessor for communicating register write information |
US5923893A (en) * | 1997-09-05 | 1999-07-13 | Motorola, Inc. | Method and apparatus for interfacing a processor to a coprocessor |
US6505290B1 (en) | 1997-09-05 | 2003-01-07 | Motorola, Inc. | Method and apparatus for interfacing a processor to a coprocessor |
US6223277B1 (en) * | 1997-11-21 | 2001-04-24 | Texas Instruments Incorporated | Data processing circuit with packed data structure capability |
US6138185A (en) * | 1998-10-29 | 2000-10-24 | Mcdata Corporation | High performance crossbar switch |
-
2001
- 2001-11-13 US US10/054,577 patent/US7228401B2/en not_active Expired - Lifetime
-
2002
- 2002-10-30 JP JP2003544586A patent/JP4098241B2/ja not_active Expired - Fee Related
- 2002-10-30 KR KR1020047007338A patent/KR100981033B1/ko active IP Right Grant
- 2002-10-30 CN CNB028264991A patent/CN1290003C/zh not_active Expired - Fee Related
- 2002-10-30 WO PCT/US2002/034955 patent/WO2003042819A1/en active Application Filing
- 2002-10-30 EP EP02789344A patent/EP1446717A1/en not_active Withdrawn
- 2002-11-07 TW TW091132761A patent/TWI313822B/zh not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
CN1290003C (zh) | 2006-12-13 |
EP1446717A1 (en) | 2004-08-18 |
KR20050058240A (ko) | 2005-06-16 |
US20030093648A1 (en) | 2003-05-15 |
US7228401B2 (en) | 2007-06-05 |
KR100981033B1 (ko) | 2010-09-10 |
JP4098241B2 (ja) | 2008-06-11 |
WO2003042819A1 (en) | 2003-05-22 |
CN1610880A (zh) | 2005-04-27 |
JP2005528669A (ja) | 2005-09-22 |
TW200300230A (en) | 2003-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI313822B (en) | Method and apparatus for interfacing a processor to a coprocessor | |
US20180293199A1 (en) | Multicore bus architecture with non-blocking high performance transaction credit system | |
US6449700B2 (en) | Multiprocessing computer system employing a cluster protection mechanism | |
CN108351834B (zh) | 用于针对核到核数据传送优化指令减少性能逆转的低开销硬件预测器 | |
US20120198165A1 (en) | Mechanism to Update the Status of In-Flight Cache Coherence In a Multi-Level Cache Hierarchy | |
US20130304990A1 (en) | Dynamic Control of Cache Injection Based on Write Data Type | |
WO2009007170A1 (en) | Data transfer between thread register sets | |
TWI307042B (en) | Idling a processor pipeline | |
KR20100053593A (ko) | 컴퓨터 시스템에서 다른 프로세서들에 대한 시스템 관리 인터럽트들을 방송하기 위한 메커니즘 | |
US20090013397A1 (en) | Processor communication tokens | |
US6594711B1 (en) | Method and apparatus for operating one or more caches in conjunction with direct memory access controller | |
JP2001195384A (ja) | 処理装置及び処理装置の入出力ピンを制御する方法 | |
JP2012128788A (ja) | 車両制御装置、データ通信方法 | |
JP2011501265A (ja) | データ処理システムにおいて用いるためのデバッグ命令 | |
JP2009296195A (ja) | 複数のcpuコアを備えたfpgaを用いた暗号装置 | |
US5671400A (en) | Programmable bus interface unit data path | |
US8135960B2 (en) | Multiprocessor electronic circuit including a plurality of processors and electronic data processing system | |
EP0840223B1 (en) | Microcomputer capable of accessing an external memory | |
US20090013331A1 (en) | Token protocol | |
US9886396B2 (en) | Scalable event handling in multi-threaded processor cores | |
WO2019169582A1 (zh) | 处理中断的方法和装置 | |
WO2003034225A2 (en) | Debugging of processors | |
CN114172695A (zh) | 串行防火墙报文转发方法、装置、设备及存储介质 | |
US6697931B1 (en) | System and method for communicating information to and from a single chip computer system through an external communication port with translation circuitry | |
JP2003330873A (ja) | 情報処理装置及び入出力方法並びにプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |