TW385410B - Method and apparatus for interfacing a processor to a coprocessor - Google Patents

Method and apparatus for interfacing a processor to a coprocessor Download PDF

Info

Publication number
TW385410B
TW385410B TW087114309A TW87114309A TW385410B TW 385410 B TW385410 B TW 385410B TW 087114309 A TW087114309 A TW 087114309A TW 87114309 A TW87114309 A TW 87114309A TW 385410 B TW385410 B TW 385410B
Authority
TW
Taiwan
Prior art keywords
coprocessor
processor
instruction
cycle
communication bus
Prior art date
Application number
TW087114309A
Other languages
English (en)
Inventor
William C Moyer
John Arends
Jeffrey W Scott
Original Assignee
Motorola Inc
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 Motorola Inc filed Critical Motorola Inc
Application granted granted Critical
Publication of TW385410B publication Critical patent/TW385410B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/30105Register structure
    • G06F9/30116Shadow registers, e.g. coupled registers, not forming part of the register space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3861Recovery, e.g. branch miss-prediction, exception handling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
    • G06F9/3879Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor for non-native instruction execution, e.g. executing a command; for Java instruction set
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
    • G06F9/3879Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor for non-native instruction execution, e.g. executing a command; for Java instruction set
    • G06F9/3881Arrangements for communication of instructions and data

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)
  • Microcomputers (AREA)

Description

經濟部中央標準局員工消費合作社印製 A 7 B7五、發明説明(1 ) 先前申請案之參考 此申請案已於1997年9月5曰於美國申請爲專利申請案 號第 08/924,518 號。 發明領域 本發明一般而言有關一具有一處理器和至少一協同處理 器的資料處理系統,並且更特別地,本發明係有關接口該 處理器至該協同處理器之方法及裝置。 發明背景 經由專用及特殊的硬體功能先件而沿伸一基準架構處理 器功能性的能力爲可按比例大小和可擴充架構之一重要觀 念。 將一基準架構處理器功能性沿伸的較佳方法之一是透% 協同處理器的.使用.。這名U且.1-常.1-二_目.的的處理器-是 在一處理器的指示下運作。協同處理器的傳統應用之一是 當作數學協同處理器,對於不直接支援此能力的架構選擇 性地提供浮點運算能力。此種數學協同處理器的一些範例 如英特爾8087及80287。協同處理器的一些其它可能的用 法或類型包括:乘法累加器,調變器/解調變器(數據機), 數位信號處理器(DSP),vitturbi計算器,密碼法的處理器 ,影像處理器,及向量處理器。 協同處理器有兩種不同的方式。一方面,數位設備公司 (DEC) PDP-1 1計算機家族的浮點單元是非常緊密地核合至 其主要處理器。所產生的一問題是,忠_緊密地搞合要矣荽 主要處理器知道相當多實際有亂該..協同_處理_器_.m。這._ 請 先 閱 讀 背 之 注 意- 事 項
訂 Λ線 4- 本紙張尺度適用中國國家標準(CNS ) Α4規格(210X297公釐) A7 B7 五、發明説明(2 ) 使電路設計複_雜化」以至於將一新的協同處理器^入一已 整.合過的系統内将爲主要的工程上的問題。 替_代的實現是將該協同處理器鬆散地耦合至該主要處毯_ 夢。這的確有將該協同處.理器、.的_運算從主要處理票中精.簡 和分離的優點,並且因而實質地減少蔣一新的協同處理器 與一現有的處理器整合所要花的心力。然而,代價也相--當 $。此方法的一問題是缺乏效能;。此鬆散耦合效能類型的 一問題是採用此一協同處理器,損益兩平點也隨之增高。 因而,協同處理器許多其它吸'引的應用並非是成本有效的 。此外,此一方法通常需使用一匯流排,及所有相關的額 外電路及晶片面積。 里^蓋支要,處莩器介面),能緊密地耦合到 足以讓該介面的使用快到即使激發相當簡單的功能也很有 利,且將該介面精簡至讓該處理器架構從任何已知協同處 理器中分離_的愈詳細愈好的程度。t有部份包括讓該介面 程式設計更容易,以便促進在軟體而非在硬體中.通合新..的..… 協同處理器應用。 圖示之簡單説明 從以下詳細敘述及相同編號代表相同且對應的零件的附 圖中將能更清楚了解本發明的特色及優點,並且其中·· 圖1圖示如本發明之資料處理系統的一具體實例方塊圖; 圖2爲圖示圖1.處理器的一部份的方塊圖; 圖3爲圖示圖1協同處理器的一部份的具體實例方塊圖; 圖4圖示如本發明之暫存器瘴視運算的時序圖; 5- 本紙乐尺度適用中國國家標準(〇阳)六4規格(210';<297公釐) 請 先 閲 背 Ί& 之 注 意. 事 項
訂 經濟部中央楳準局員工消費合作社印製 圖二圖示指令握手之基礎指令介面運算的時序圖; 國6圖示當使用h_bijsy*俨號於栌制 令執w人人— 唬、控制铽同處理器介面指 .丁時,扭令介面運算的時序圖; 圖7圖示指令丟棄的時序圖; 圖8爲圖示指令管道停止範例的時序圖: 爲圖示一無停止的緊接的執行範例的時序圖; =10圖示有内部管道停止的緊接的運算時序圖; 囷圖示有H_BUSY*停止的緊接 指令的時序圖; · 财Μ處&介面3(
圖12圖示一協同處理器對應於 Η ΕΥρο*,· ^ 必杯碼而王張IS - 信號,以及一協同處理器介面運嘗g & & μ ip 的範例的時序圖; 面乇一馬所做的執巧 ^3圖示當該協同處理器介面指令被丟棄時,—協同虑 2應料解碼而主張該H_EXCp*信號,以及—協同處 a。。4面運算碼所做的執行的範例的時序圖; 贫圖不已王張H—以延遲一協同處理器介面運 碼執行的範例的時序圖; 經濟部中—買工消—作社 圖15圖示與該H call原型茲例右 時序圖。 ' 〜例有關的一暫存器移轉的 圖16圖示與該η RET原型有關认 的時序圖; —的—暫存器移轉的範例 圖1 7圖示一 H LD移轉到該锫n 士 ~ 同處理器介面的順序的gi 序圖,· " 圖 !8圓示當—記憶體存取導致-存取例外的協定 -6 · 本纸張尺度賴巾g财辟(CNS〉A4規格(2l〇xl^Jy~~~ A7五、發明説明(4 ) 經濟部中央標準局員工消費合作社印製 序圖; 圖19圖示與U々原型有關的移轉、 圖2。圓示-有已延遲儲存資科的的時岸圖,· 圖^示當_存導致_存取 ^時序圖; 圖; 铴疋信號的時序 圖22圖示如本發明 浪/J ( H—CALL原型指令格 圖23圖示如本發明 A ’ 貧明< H-RET原型指令格式· 圖24圖示如本發明 ’ ”蘭… -C原型指令袼式,· 圖h圖不如本發明之H—ld•指令的指令格式 圖26圔示如本發明之H_ST指令的指令格式 發明之詳細説明 菩述中’將事先説明例如特定字句或位元組長度 寺的各種扣定細節,以便對本發明能透徹了解 '然而,對 熟^先前技術的人而言將很明顯的是:無需此特定細節也 可實際應用本發明。在其它情況下,爲了不以不必要的每 節而使本發明變得難以了解,電路是以方塊圖的形式表現 。大體而言,已省略有關時序考慮等的細節,只要此細節 對於完整了解本發明並非必要且已涵蓋於相關技術的一般 技巧中。 該術語"匯流排"將用於代表一複數個信號或導體,可將 一個或多個各種類型,例如資料’位址,控制,或狀態等 的資訊移轉。當將一信號,狀態位元’或類似裝置分別提 供給其邏輯地眞或邏輯地假的狀態時’將使用,,主張》及,, 使無效"的術語3若該邏輯地眞的狀態爲一邏輯的1階 請 先 閱 讀 背 面 之 注 意· 事 項 再· 以及 該 訂 7- 本紙疚尺度適用中國國家橾準(CNS ) A4规格(210X297公釐) 五、發明説明(5 邏輯地,的狀態將爲一邏輯的〇階》且若該邏輯地眞的牧 態爲邏輯的〇階,該邏輯地假的狀態將爲一邏輯的【階a 圖1圖示一資料處理系統10之具體實例方塊圖,包括〜 處理為12 ’ —協同處理器I4,一協同處理器Μ ’ 一記憶 體18 ’其Έ模組2〇和外部匯流排介面22,皆透過匯流掷 28雙向耗合。本發明之替代具體實例中可以只有一降同處 理器14,二協同處理器和16或是更多的協同處理器( 未顯不)°外部匯流排介面22經由積體電路終端35雙向辑 合至外部匯流排26。記憶體2·4雙向耦合至外部匯流排% 。處理器12可經由積體電路終端3丨隨選地外部耦合至資 料處理系統ίο。協同處理器14可經由積體電路終端32隨 選地外部耦合至資料處理系統10 :記憶體18可經由積體 私路终鲕32隨選地外部耦合至資料處理系統〗〇。其它模 組20可經由積體電路終端34隨選地外部耦合至資料處理 系統10。處理器12經由協同處理器介面3〇雙向耦合至協 同處理器14和協同處理器16兩者。 圖2圖示圖1之處理器ρ的部份方塊圖。在一具體實例 中,處理器12包括控制電路40,指令解碼電路42,指令 經濟部中央標準局貝工消費合作社印製 管道44,暫存器46,算術邏輯單元(ALU) 48,問鎖多功 器(MUX) 50,閃鎖多功器(MUX) 52,及多功器:(Μυχ) 54 。在本發明之一具體實例中,協同處理器介面3〇包括信號 60-71。控制電路40產生時序信號6〇 ^控制電路4〇產生 _同處理器運异信號61並且將此信號提供給協同處理器 14 和 16 〇 • 8 - 本紙張尺度適用中國國家梯準(CNS ) A4規格(210X297公趁 A7 A7 經濟部中央標準局員工消費合作社印製 流排 0在 五、發明説明(6 ^ Y 一路40產生監督者模式信E 62 ϋ且將此信號提供 ::處理器14和16。控制電路4〇產生时信羹Η並且 1 :號提供給協同處理H 14 * ! 6。控制電路從谅同 理器U或協同處理器16接收協同處理器忙線信薄^。. 乂 f電路4 0產生也赶信號6 5並且將此信號提供給協同處 理益14和16。控制電路40從協同處理器U或協同處理器 B接收例外信輩66 ^空制電路4〇產生暫存器窝入 (REGWR*)«fs號67並且將此信號提供給協同處理器μ和 Μ。控制電路40產生暫存器馕號(11£(}{4 : 〇}) 68並且锊 此L號ie供給協同處理器14和16 ^控制電路4〇產生錯誤 L號(H—ERR*) 69並且將此信號提供給協同處理器14和i6 3控制電路40產生資料獲閃信薦(H_DS*) 7〇並且將此信 號h供给協同處理器14和16。控制電路40從協同處理器 14或協同處理器I6接收資料確認信號丄H_;DA*) 71。也被 視爲協同處理器介面30的一部份的硬體資料埠信號 (HDP{3i : 0}) 協同處理器I4和I6及處理器内的 内部電路之間是雙向的。 在f發明的一具體實例中,提供一複數個信號來回於匯 28以便在記憶體18和/或記憶體24内載入或儲存資料 具體實例中,這些信號包括一控制電路40所產生的 移轉‘求信號(TREQ*) 73並且提供給匯流排28。經由匯 流排28將移轉錯誤確認信號(TEA*) 74提供給控制電路4( 。經由匯流排28將移轉確認信號(TA*) 75提供給控制電路 40。經由導體76將指令從匯流# 2S提供至指令管道44 » -S - 本紙掁尺度適用中國國家標準(CNS ) A4規格(210X297公釐) (請先閱讀背面之注*意事項本I ) 裝. 、-°
Λ7 IT 五、發明説明(7 ) 經由導體76將資料提供給MUX 54。驅動資料信號79致 能三態缓衝器95經由導體88和76從閂鎖MUX 52提供資 料。位址選擇信號78致能閂鎖MUX 50經由導體77將位 址提供給匯流排28。該HDP信號(HDP{31 : 0}) 72提供 另一至MUX 54的輸入。經由該ALU結果導體86提供另一 至MUX 54的輸入。將MUX 54的輸出,結果信號83提供 給暫存器46及三態緩衝器96的輸入。驅動HDP信號82致 能三態緩衝器96驅動在該HDP信號72上的結果信號83。 三態缓衝器96的輸出也耦合到_閂鎖MUX 52的輸入。在本 發明之替代具體實例在暫存器46内可包括任何數目的暫 存器。將結果信號83提供作爲一至閂鎖MUX 50的輸入。 經由MUX 54將結果信號83提供給暫存器46。結果選擇 信號(RESULT一SELECT) 8 1選擇MUX 54的哪一個輸入要 在結果導體83上驅動。將來源選擇信號(SOURCE_SELECT) 80提供給閂鎖MUX 52以選擇應驅動哪一個信號至在導體 88上的三態緩衝器95。控制電路40提供控制資訊並經由 導體9 1從暫存器46接收狀態資訊。控制電路40提供控制 信號,並經由導體92從算術邏輯單元48接收狀態信號= 控制電路40提供控制信號,並經由導體93從指令管道44 和指令解碼電路42接收狀態信號。耦合指令管道44並經 由導體89將指令提供給指令解碼電路42。指令解碼電备 42經由導體90將已解碼的指令資訊提供給控制電路40。 暫存器46經由導體84將來源運算元提供給算術邏輯單元 48。暫存器46經由導體84,閂鎖MUX 52,三態緩衝b 10 本纸浪尺度適用中國國家標準(CNS ) A4規格(210X297公釐) 請 先 閱 背 之 注 意* 事 項 訂 經濟部中央標準局貝工消費合作社印製 經濟部中央標準局貝工消費合作社印製 A7 B? 五、發明説明(8 和導體76提供要儲存在記憶體18或記憶體24内的資料 :暫存器46經由導體84,閂鎖Μυχ 5〇和位址導體乃 位址資訊提供給記憶體丨8或記憶體24。暫存器Μ經壤 體85锊一第二來源運算元提供給算術邏輯單元μ。节 圖3圖示一協同處理器14的部份具體實例方塊圖。在— 具體實例中’協同處理器14包括控制電路1〇〇 : 1〇2及随選錯存電路1〇4。控制電路_經由包括信^ 72 一的理器介面3〇雙向接合至處理器12。在本發明 二6=中’控制電路1〇0包括從處理器12接收運算 = 碼電路1〇6。控制電路⑽經由 I ^ 供控制資訊並且從隨選儲存電路104接收狀能 ::。控制電…由導體⑽提供控制資訊 ^路1〇2接收狀態資訊。計算電路ι〇2和 ^ 104經由導體11〇猶1^逛儲存电路 路…提供===,或積體電 體112可來回於里* 蘇 £ ·'是路100透過導 。e # π 、 排或積體電路终端32接收 < 提供 貝訊,72可雙向耦合 m供 104。此外,作^ 卞异包路102和隨選儲存電路 、山”产士 °72可雙向輕合到匯流排28或積一 ^欠 端…在本發明之—替代且戈積隨電路终 _路1。“在實現隨選=法實現隨選 例令,可使用暫存哭,…& 路 的本發明具體實 ”m 何類型的記憶體,包捂門心可 ·-式化的避輯陣列等的任何 .]扃… 發明之替代具體實例中装:勺儲存色路來實現。在本 邏輯或計算功能。 %路102可執行任何類型的
A? 發明説明( 忑系統透過一外部協同處理器14(或硬體加迷器 工 加㈣支援’該處理器被最佳化以供特定應用的 ::::㈣協同,器14, 16可能如協同處理器‘ 處理⑽:# I間早’或例如-數位信號處理器加速協同 14或能高速乘法/累加運算的協同處理器u的較複 雖功能。 =在該處理器12和一協同處理器14之間視特別實現 :::個或多個機制來移轉。這些可被區分爲到該協 5理态Η的移轉,和從該協同處理器M來的移轉。 將資料移轉到—協同處理器14的該機制之_是暫存器 ::視:制,此機制涉及無指令原型,但爲正常處理器。運 二I門產物。這涉及將更新穿越該介面反映至該處理器 一的’又目的暫存器("GPU”)46,以致於一協同處理器14 可=視到一個或多個處理器12暫存器的更新。若一協同處 ,器^爲了一内部暫存器或功能而"覆蓋"一 GPR 46時, k可邊是適當的。在此情沉下’不需要將參數明確地從該 處理器12傳送至—協同處理器14。 爲了為運算751和指令明確地在外部協同處理器14, 16 及=處理器12之間移轉,在基處理器12内提供指令原麼 。提供一握手機制以容許控制指令及資料移轉的速率。 4 /-思铴同處理器i 4的功能是被設計用於實現指定單 元’因而一特定單元確實的功能性可在不同實現間自甴改 變’即使可能出現該相同指令映成。 圖4圖示—暫存器窥視運算的時序圖。爲避免參數的效 -12- 本紙張尺度適用'α4^Ϊ210Χ 297^¾ 請 先 閱 讀 背 之 注 意‘ 事 項 号, 填 % 本 頁
經濟部中央標準局員工消费合作社印聚 Λ7 B7 五、發明説明(1〇 〜費用傳送至—協同處理器】4或外部監視 I 請 1 | 先 1 閱 | 讀 1 背 1 面 I 之 1 注 I 意· 1 | 4· Μ 寫 本 装 頁 1 :器窥视機制。這可讓一協同處理器“實現該暫 的一個或多個一妒蕲六^ ^ ^ 1 理器GPRs “、 可透過將正窝入該處 ~ p 又—内的數値移轉來實現該能力,並且在每 個fPR更新中指示正在更新哪-個暫存器46。每—個 暫存益更新將主張_頻間信號R£gwr* π。該數値穿越該 32位元雙向資料通路舰[31 : g]72而移轉,並丑一)_ 包元暫存器數目匯流排提供一指標给已更新的實際處理器 =存备46 (REG[4 : 0]) μ。’該暫存器數目可視爲在—正 #檔系内或在一替代檔案内的暫存器46。在該較佳具體實 例中,替代的檔案暫存器以REG[4]==1來表示,且以 訂 REG[4]==:0表示正常檔案暫存器。然而,要注意本發明並 未以任何方式依賴該暫存器组的實際分割。 一诗同處理器14可依該目的暫存器46數目的指示於内 郅閃鎖住該數値以避免稍後的明確移動。一除錯協同處理 器14也可使用此功能以追蹤暫存器檔案46或其子集的狀 態。圖4圖示該窺視能力的—範例。 經濟部中央標準局貝工消费合作社印裝 一專用的12-位元指令匯流排(h_〇p[ii : 〇])61將已發 佈的該協同處理器介面3 0運算碼提供至該外部協同處理 器14 »此匯流排反映該處理器的運算碼較低階的12位元 。該高階的4位元由於總是Ob0100而未被反映。也提供一 監督者模式指標(H_SUP) 62以表示該PSR (S)位元的目前 狀態,表示該處理器是在監督者或使用者模式内運作。這 對於將某些協同處理器的功能限制爲監督的模式將會很有 • 13 - 本纸浪尺度適用中國國家標準(CNS>A4见格( 210X297公釐) 五、發明説明(11 用。在處理器12和外部協同處理器14,16間的一組握手 信號協調協同處理器介面30指令執行。 請 閱 讀 背 & 之 注 意* 事 項 4. 填々 寫 本 頁 由處理器12所產生的控制信號爲該處理器12内部管道 式結構的反映。該處理器管道44包含指令提取,指令解碼 42,執行,及結果回寫等的階段。它包含一個或多個指令 暫存器(IR)。該處理器12也包含一指令事先提取缓衝器, 在解碼階段42之前緩衝一指令。指令,透過進入該指令解 碼暫存器IR,從此緩衝器進行到該指令解碼階段42。 該指令解碼器42從該IR接叔輸入,並且根據在該IR内 的該數値產生輸出。這些解碼42輸出並非總是有效,並且 可能由於指令流程内的例外情況或變動而被丟棄。即使在 有效時,指令可能留在IR内直到他們可進行到該指令管道 的執行階段。除非前一個指令已完成執行(可能要花多重時 序),否則這將不會發生,該解碼器將持續將留在該IR内 的該數値解碼,直到更新該IR爲止。 經濟,邵中央標準局員工消費合作社印製 圖5圖示指令握手之基礎指令介面運算的時序圖。提供 一指令解碼頻閃(H_DEC*)信號63以表示該處理器12解碼 一協同處理器介面30運算碼。當一協同處理器介面30運 算碼常駐於該IR内時,即使該指令可能被丢棄而不執行, 仍將主張此信號。相同指令的該H_DEC* 63輸出可維持主 張多重時序,直到實際發出或丟棄該指令爲止。 該處理器12監視一忙線信號(H—BUSY*) 64,以決定是 否一外部協同處理器14可接受該協同處理器介面30指令 ,並且當發生該指令發佈時可做部份地控制。當H_DEC* -14 本紙張尺度適用中國國家標準(CNS M4規格(2l〇X^7公釐) 經濟部中央標隼局員工消费合作社印裝 A7 B?五、發明説明(12 ) 63主張時,若該HLBUSY* 64信號是無效的,該介面將不 會停止指令執行,並且一旦可進行指令執行時即主張該 H—EXEC* 65信號。若當該處理器12解碼一協同處理器介 面30運算碼時(以該H_DEC* 63的主張來表示)主張該 H—BUSY* 64信號,將被迫停止該協同處理器介面30運算 碼的執行。一旦該H—BUSY* 64信號是無效的,該處理器 12可透過主張H_EXEC* 65而發佈該指令。若一協同處理 器14能將指令缓衝,可使用該H—BUSY* 64信號以協助該 缓衝器的填入。 _ 圖6圖示當使用H—BUSY* 64控制協同處理器介面30指 令執行時,指令介面運算的時序圖。一旦解決任何内部停 止情況,並且該H_BUS Y* 64信號已無效,該處理器可主 張H_EXEC* 65以表示該協同處理器介面30指令已進入該 管道的執行階段。既然在某些情況下該處理器在執行之前 可丟棄該指令,一外部協同處理器14應監視該H_EXEC* 65 信號以控制指令的實際執行。若執行一較早的指令導致採 行一例外,將不主張該H—EXEC* 65信號,並且該H—DEC* 63輸出將是無效的。若在該IR内的該指令由於程式流程中 變動的結果而被丟棄,將會發生一類似的處理。 圖7圖示指令丟棄的時序圖。若丟棄一指令,在另一個 協同處理器介面30運算碼被放在該11_0?[11 : 0]61匯流 排之前該H_DEC* 63信號將無效。 圖S圖示指令管道停止的範例時序圖。即使主張H_DEC* 63且H BUSY* 64是無效的,仍有處理器12延遲主張 請 閱 背 面 之 注 事 項 I .裝 頁 訂 -15- 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) 五、發明説明(13) h_exEC*65的情況。這可發生#料—較早指令完成時一 々圖9圖示無停止的緊接的執行的範例時序圖。對緊接的 協同處理器介面30指令而言,即使當新指令進入該汉時 该η一: 0] 61匯流排已更新,該H—dec*。信號仍 :維持王張的狀態而不會無效。總言之,主張H—EXEC* “ 符合该指令已在該前一時序中解碼的執行。 。圖10圖示有内部管道停止的緊接的運算時序圖。在此情 1 ’ H—BUS Y* 64是無效的,但該處理器在第二協同處 理器介面30指令並未主張H_exEC*65,直到該 情況消失。 ' 圖11圖示有H_BUSY*64停止的緊接的協同處理器介面 3〇指令時序圖。在此範例中,外部協同處理器“正忙綠, 並且無法立即接受第二個指令。主張H—Bus γ* Μ以避免 茲處理器12發佈第二個指令。—旦該協同處理器有含 ’ H_BUSY*64無效’並且該下—個協同處理器介面叫旨 令進行至執行階段。 經濟部中央標隼局員工消費合作社印製 外部協同處理器14可以η一EXCP* 66信號警示協同處理 器介面30運算碼解碼的例外。在主張H—DEc* 〇且 H_BUS Y* 64是典效的時序週期期間抽樣此到該處理器p 的輸入,並且若該協同處理器介面3〇運算碼未如前述般被 丟棄時,將導致硬體協同處理器14例外的例外處理。此例 外處理的細節敘述如下。 圖12圖示一協同處理器14對應於該解碼而主張該 H—EXCP* 66信號,以及協同處理器介面3〇運算碼所做的 ___ -16- 本紙張尺度適用中國國家標準(cns )A4規 五、發明説明(14) 執行的範例的時序圖。名幸福_ Η ηρΓ * Μ 〇 A . 7 固在王張 H_DEC* 63 且 ii—BUSY* 64 疋’、、致^時序期間内,該處理器12抽樣該H_EXCP* 66信 不管介面是否警示有例外發生皆主張該Η—ΕχΕ〇 Μ L = ’此王張使得該例外發生情沉有別於該指令丟棄情況。 叫;L外符合在該前—個時序週期已解碼過的指人 階=土實際執行發生。在該處理器管道要被確認的執: 限〈則,—協同處理器14必須接受該使指令且警示一 外。在H—DEC* 63是盖效的成主張M RTT<jv* ^ 張-USY 64的所有時 序週期均忽視該H_EXCP* 66饴號。 圖13圖示一協同處理器14對應於該解碼 信號,以及—協同處理器介面3。運算;= 的執仃的範例的時序圖。將此圖與圖14的該時序圖對昭, 在此範例中該協同處理器介面3〇指令是被丟棄的,故了 ’’ 張該Η一EXEC* 65信號,並且該^赃*63是鼻效的:王 圖示-範例的時序圖,在此範例中已主_ 64以延遲-協同處理器介面3G運算碼的執行 致一例外。 、村τ 該 H—BUSY* 64 及 H EXCP* 66 作获 & & 士 „ ^ . — 。號馬所有的協同處理 經濟部中央標準局員工消費合作社印製 為 14 ’ 16所共有,因而必須以協調過 .β Q的万式驅動。該 同處理器14,16對應在已主張η DEC* gt -L 63的時序週 的H_OP[il : 10J61而驅動這些信號(每古 社 Μ及间或低,視哪_ 最通當而足)。透過僅在該時序的低電位部 ' Μ刀如動孩輪由 這些信號可爲多重協同處理器14,16 & u … 1 6所共用而益毐与 在此輸入上提供一位於處理器12内部的φ持„ ^ ° 文輝閂鎖,以在該 -17- 本k張尺度適用中國國家樣準(CNS ) Α4規格(210X297公犮) A? 五、發明説明(15 ) ' —- 時序的高電位階段而無單元正驅動它時,將它綠持在有效 狀態》 。。某些該協同處理器介㊉3"旨令原m未著在該處理 12和外部韬同處理器14之間資料項的移轉。運算元 可穿越該k同處理器介面3〇而移轉爲該特別原型已執行 的項功此。爲了將—個或多個該處理器的GPRS穿越 位7L雙向資料通路來回移轉於協同處理器Μ,必須 做準備。此外,爲了以該資料6沉入/來源做爲該協同處理 器介面30而將一單—資料項來回載入或鍺存於記憶體18 ,也須做準備。在CLK6〇6〇該高電位部份的期間,該處理 ,12透過該HDP[31 : 0]72匯流排將參數傳送至外部協同 k理备14 ’ 16 ;在該時序的低電位階段,該處理器12接 收連算兀並且從該協同處理器介面3〇閂鎖住運算元。提供 —延遲當該時序轉換高電位在驅動發生之前,以讓匯流排 把有一小段期間放手。一協同處理器14介面在下降的時序 邊緣必須提供同樣小的延遲。資料項握手支援該資料頻閃 (H_DS* 70)輸出’該資料確認(H—DA:!! 71)輸入,和該資料 錯誤(H—ERR* 69)輸出信號。 經濟部中央標嗥局員工消費合作社印製 -------->|裝— (請先閱讀背面之注會^項再^寫本頁) 該處理器12提供將—呼叫或返回參數表移轉至該協同 處理器介面30的能力,該方式十分類似呼叫軟體次常式或 傳回的方式。在該H_CALL或H_RET原型内指示引數的計 算’以控制所傳送的參數數目。以處理器12暫存器R4的 内容開始的暫存器値被移轉至(從)該外部協同處理器14做 爲該H_CALL (H_RET)原型執行的一部份。最多可傳送7 ——---... ________ - 18 - 本紙張尺度^-— 經濟部中央標準局員工消«合作社印製 發明説明(16 個暫存器參數。此慣例類似於該软體次常式呼叫慣例。 孩資料頻閃(H—DS* 7〇)輸出和資料確認(H—DA* 輸入 信號控制該運算元移轉的握手。在該移轉期間,該處Z器 12將主張資料頻閃,並且移轉會以—重疊的方式產生,^ 分類似於處理器12介面運算。資料確認(H〜DA*) 71用於 表示—協同處理器14已接收或驅動一資料元件。 ; 圖! 5圖示與H_CALL原型有關暫存器46移轉的範例的 時序圖。提供指令原型以將多重處理器暫存器移轉並且該 移轉理想上可於每個時序產生。對至—外部協同處理器二 的移轉而言,該處理器將在目前項目確認之前(或同時)自 動地開始驅動下一個運算元(若需要)。外部邏辑必彡§能— 階^衝,以確保無資料流失。此圖圖示一 call移轉至 琢協同處理器介面30的順序,其中要移轉兩個暫存器。由 於一已無效的資料確認(H—DA*) 71的關係,要重覆第二a 移轉。 —& 久 在從一外部協同處理器14移轉至處理器暫存器46的情 況下,該處理器丨2在主張H_DS*川之後的每—個時序^ 期,能接受從一外部協同處理器14來的數値,莖且這些數 値在被接收時即寫入該暫存器檔46,故不需緩衝。 圖16圖示與該H_RE丁原型有關的暫存器杯移轉的範例 的時序圖。在此範例中,移轉兩個暫存器46 處理器Μ可在主張該H—EXEC*65信號之後的該時序2 驅動資料’由於這是H_DS*70首先被主張的時序。該^防* 70輸出在CLK 60的上升邊緣開始移轉,而在CLK 6〇的低 19- olt— (請先閱讀背面之注^'事項再,痕离本頁) .-I I 1 i · m -II · 本紙ft尺度賴t國國家梯準(CNS ) 格(?Qx 297公廣 A? * 1 B7 --- ------- - 五、發明説明(17 ) -' 階段期間抽樣該H—DA* 71輸入ϋ 該處理器12能以H_LD或1^_5丁指令原型將一單〜記, 體運异元移轉至該同處理器介面30或從該協同處理^ 介面30移轉一單一記憶體運算元。 " 該H—LD原型用於將資料從記憶體18移轉到—協同處理 器14。該資料頻閃(H_DS*) 70信號控制該運算元移轉至梦 協同處理器14的握手。處理器〗2將主張資料頻閃以表示 一已在HDP[31 : 〇] 72匯流排上放置一有效運算元。此移 轉將忽略該資料確認(H_DA*) 7 i輸入。 圖17圖示一 Η一LD移轉到該協同處理器介面3〇的順序的 時序圖。在此情況下,有一無等待狀態記憶體i 8存取。斜 有η個等待狀態的s己憶體18存取而言,該運算元和η DS* 70將在η時序之後驅動若選擇以該載入的有效位址更新 該基底暫存器46 ’該更新值在被計算之後(該時序主張 H—EXEC* 65之後的時序),在第一時序的HDP[3 1 : 0] 72 上驅動。 圖1 8圖示當一記憶體18存取導致—存取例外的協定的 時序圖。在此一情況下’該H_ERR* 69信號被主張回到該 外部協同處理器14。 經濟部中央標隼局員工消費合作社印製 可使用該H__ST原型將資料從一協同處理器14移轉到記 憶體18。若選擇以儲存的有效位址更新該基底暫存器46 ,該更新値在被計算之後(主張H_EXEC* 65之後的時序) ,在第一時序的HDP[3 1 : 0] 72上驅動。 圖19圖示一與該H_ST原型有關的移轉的範例的時序圖 -20- 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公犮) —1 " B7 五、發明説明(18 ) 。與該Η一ST原型有關的握手包括兩個,部份,來自該協同 處理器14的起始握手,此部份必須提供用於儲存的資料, 以及一旦已完成到記憶體18的儲存時,來自該處理器12 的冗成握手。 該起始握手將該H_DA* 71輪入用至該處理器u,以警 示該協同處理器14已將儲存資料驅動至該處理器12。在 該協同處理器14已將資料驅動至該HDP[3 1 : 72匯流排 的相同時序時主張該H—DA* 71信號。將儲存資料從該匯 /荒排較低的一半取出用於半個字.句大小的儲存,較上面的 16位元將不會被寫入記憶體18内。在以主張該h_£xEc* 65信號爲開始的該時序抽樣該h_DA* 71信號。在H DA:i! 71被確認的該時序期間需求該記憶:體週期,並且在該後續 時序中將儲存資料驅動至記憶體18。一旦已完成該错存, 該處理器12將主張H_DS* 70信號。 圖2 0圖示有已延遲的像存資料的移轉的範例的時序圖。 經濟部中央標準局員工消费合作社印製 則 圖 圖21圖示當該儲存導致一存取錯誤時,協定信號的時序 圖。請注意已主張H_ERR* 69信號。若該硬體單元在主張 H_E〒EC* 65的時序透過主張H—EXCP* 66而放棄該指令時 不應主張該H_DA* 7 1信號。 2 2到2 6圖指令將做馬该指令集到介面的部份提供 给硬^加速器(或協同處理器)Μ。該處理器12將在該原型 内的某些欄直譯,其它的欄則僅由該協同處理器14直譯3 圖22圖示該Η一CALL原型之指令格式β此指令用於"呼 叫"協同處理器14所實現的一节能。該變化類似一標準軟 -21 - 本紙張尺度適用中國國家梯準(CNS ) Α4規格(210X297公釐) 五、發明説明(19 ) 體呼叫慣例,但在一硬體内文内。該Η一CALL原型由該處 理器12和該協同處理器14兩者直譯,以從該處理器1<?移 請 閱 讀 背 面 % 項 再. % 本 頁 轉一"呼叫參數"表或引數,並且激發在該協同處理器14内 的特別功能。 該指令字句的該UU和CODE攔未由該處理器12直譯, 使用這些欄來指定一協同處理器14特殊功能。該uu搁可 指定一特定協同處理器14,16,並且該CODE欄可指定 一特別運算。該CNT欄由該處理器12和該協同處理器14 兩者直譯,並且指定要傳送至刼協同處理器14的暫存器引 數的數目。 引數伙R4開始的一般暫存器46傳送並且繼續至R (4 + CNT-1)。可在一單一 η一CALL請求中傳送最多7個參數 或暫存器46。 經濟部中央標準局員工消费合作社印製 可使用該H—CALL指令來實現模組模式請求。很早即已 知道使用此類型介面來提高軟體系統的信賴性及減少錯誤 。功能參數通常多以數値來傳送。這大大地減低了副作用 。在許多情況下,用於區塊結構語言例如C和C++的現代 編譯器傳送短的參數或引數順序至已請求的功能或在暫存 器46内的次常式。可用該h—CALL指令來實現此技術。可 將一編譯器結構化以將至多7個參數或引數載入從R4開始 的連續的暫存器46,然後產生該H—CALL指令,此指令取 代遠標準編譯器所產生的次常式連結指令。 圖23圖示該H_RET原型之指令格式。此指令用於"從傳 回”協同處理_ 14所實現的功能《該變化類似處理器12所 22- 本纸張尺度適用中國國家標準(CNS ) A4規格(210X297公澄 A? 五、發明説明(20 ) 使用的該軟體呼叫慣例,但在一硬體内容内。該h—ret原 型由孩處理器12和該協同處理器〗4兩者直譯,以將”傳回 參數"表或數値從協同處理器14移轉至該處理器12。 孩指令字句的UU和CODE欄未由該處理器12直譯,這 些欄用於指定—協同處理器14特殊功能。該Ul7襴可指定 一硬體單元,並且該可指定—特別運算或在^ 同處理器14内的暫存器组46傳回。該CNT欄由該處理器 η和該協同處理器14兩者直譯,並且指定暫存器46引數 要從協同處理器14傳送至該處理器12的數目。 引數被傳送至該處理器12從r4開始的—般暫存器46並 且繼續至R (4 + CNT_1)e最多可返還7個參數(或暫存器内 容)。 經濟*邓中央標準局員工消費合作社印製 j如同該H—CALL指令一樣,孩Η一RET指令也可用於實 現模組化程式。結構化的程式要求功能傳回數値以數値的 形式傳回至一呼叫常式。通常這可由編譯器在暫存器内放 置一個或多個傳回數値供一次常式或功能傳回而有效地達 成。應注意的是傳統的結構化程式期望—次常式或功能在 該次常式或功能請求之後立即傳回。在協同處理器的情 況下,執行通常與該請求處理器12的執行是非同步的。該 H_RET指令可用於再同步而將該處理器12和協同處理器 14重新同步化。因而,該處理器12可載入一個或多個暫存 器46 ’以一個或多個H_CALL指令啓動該協同處理器14 ,執行不相關的指令,並且然後透過發佈該H RET指令, 從該協同處理器14接收一個或數個結果數値時’與該協同 ____ -23- (度適用巾關家辟(CNS〉A4規格(2]Qx297公楚)'~~~~ ---- A7 B7 五、發明説明(21 處理器14重新同步化。 請 先 閱 ik 背 面 之 注 意 事 項 圖24圖示該H_EXEC原型的指令格式。此指令用於激發 一功能或進入加速器所實現的一運算模式。可使用該 H—EXEC指令控制在特殊協同處理器14,16内由UU欄所 指定的功能。該CODE欄未由該處理器12直譯但被保留給 所指定的協同處理器14,16。處理器12並不直譯該指令 字句的UU和CODE欄,這些欄用於指定一協同處理器14 的特殊功能。該UU欄可指定一特定協同處理器14, 16 ,並且該CODE攔可指定一特殊運算。 圖25圖示該H_LD指令的指令格式。此指令用於將一數 値從記憶體18傳送至一協同處理器14而不需將該記憶體 運算元暫時儲存於——般目的暫存器(GPR) 46内。使用一 基底指標和一基準値將該記憶體運算元定址。 經濟部中央標牟局員工消費合作社印製 該H_LD指令執行在記憶體18内數値的載入,並且將該 記憶體運算元傳送至該協同處理器14而不需將它儲存於 一暫存器46内。該H_LD運算有三種選擇,w-字句,h-半個字句及u -更新。透過將該ί Μ Μ 2搁按載入的大小的比 例,以及在後面加0的方式來取得Disp。將此數値加入暫 存器RX的數値内,並且從此位址執行該指定大小的載入 ,該載入的結果會傳送至該硬體介面28。對半個字句的載 入而言,在所抓取的資料之後加0而成爲32位元。若指定 該u選擇,在該半個字句被計算過後,將該載入的有效位 址放在暫存器RX46内。 該指令字句的該UU欄未由該處理器12直譯,此欄可指 .0Δ - 本纸張尺度適用中國國家#準(CNS ) Α4規格(210X297公釐) A? ---- __ _B7 五、發明説明(22 ) 足一特定協同處理器14,16。該82櫚指定該運算元(半個 +句或+句)的大小。該Disp欄指定一要被加至由該Rbase 欄扣定的該暫存器的内容的未簽名的基準値欄,以形成該 載入的有效位址。該Disp襴的數値是按要移傳的該運算元 大小來形成比例。該Up欄指定是否在該欄經計算過後’該 Rbase暫存器46應以載入的有效位址更新。此随選允許一” 自動更新"定址模式。 圖26圖不該H—ST指令的指令格式。此指令用於將一數 値從一協同處理器14傳送至訖憶體18,而不需將該記憶 體運算元暫時儲存於處理器12的暫存器46内。使用一基 底指標和一基準値將該記憶體運算元定址。 經濟部中央標準局—工消费合作社印製 孩指令字句的UU攔未由該處理器12直譯。相反地此欄 可指定一特定協同處理器14,16。該Sz欄指定該運算元 的大小(半個字句或僅字句)。該Disp欄指定一要被加至由 遠Rbase欄指定的該暫存器46的内容的未簽名的基準値欄 ,以形成該儲存的有效位址。該Disp攔的數値是按被移轉 的運算7L大小來形成比例。該Up欄指定是否在該欄經計算 過後,該Rbase暫存器應以儲存的有效位址更新。此隨選 允許一_'自動更新"定址模式。 該H—ST指令執行至記憶體18的儲存,有來自協同處理 器14的運异元’而不需將它儲存於一暫存器46内。該η st 運算有三種選擇,w-字句,h-半個字句和u_更新。透過將 該IMM2斕按該儲存的大小的比例,以及在後面加〇的方 式來取得Disp。將此數値加至暫存器RX的數値内,並且 -25-
本紙張尺度適用中國國家標準(CNS ) A4規格(2丨0X 297公U A7 A7 經濟部中央標準局員工消費合作社印製 五、發明説明(a ) 在此位址執杆指金, , ... 大+的儲存,用砵該儲存的該眘料θ… 琢硬體介面取得的。芸把a,、 ,、科疋伙 算過後,將該載入選擇,在該半個字句被計 戰入的有政位址放在暫存器RX内。 孩Η一LD指令及該H_ST指令提供一將運算 18移至一協同處理器14 ,思體 * η以及從一協同處理器14移 體18的有效機制,而該 — 至自己憶 獅今其、,隹技 料不而疋期地經由暫存器46移 及索引準備提供—有效步過睁列的機 而’廷些指令在迴圏内特別有用。應注意 或已《的運算元而言,二種指令皆將該處理器 同處理益14同步。若這並非必要或即使是較佳的,透過以 從記憶體18來的資料重覆地載入一指定的暫存器或暫产 器46 ’可替代地將資料流至該協同處理器14 ,並且由= 該協同處理器介面匯流排30也用於暫存器窺視,而讓該= 同處理器14偵測這些載入。 ^冲 熟於光前技術的人將了解到可從事各種改良及變動而不
偏離本發明之精神。因而,本發明也意圖涵蓋所附申請專 利範圍範疇内之所有此種變動及改良a B -26 本纸張尺度適用中國國家標準(CNS〉A4規格(2丨OX 297公釐)

Claims (1)

  1. 871 H309 經濟部中央標準局®t工消費合作社印装 A8 B8 4 C8 D8 · 六' 申請專利範圍 ~一~— L —種執行指令的方法,該方法係在與-協同處理器(14 ,16)合作的處理器(12)内執行,該協同處理器包括—計 數欄和一代碼欄的至少一指令(H—CALL)並經由—通訊 匯流排(30)耦合在該處理器上,包括以下步驟: 吞 接收該指令; 透過在該通訊匯流#上的第—遇期,將該計數和代碼 攔提供給該協同處理器; 若該計數欄有一大於0的數値η,透過在該通訊匯流 排上的第二週期將一第一運算元提供至該協同處理器;及 完成該指令。 2.如申請專利範圍第1項之方法,更包括以下步驟: 在該第一週期期間,透過通訊匯流排從協同處理器接 收一第一輪入信號(64); 其中,若在該第一週期勘間,透過該通訊匯流排,從 該協同處理器所接收的第一輸入信號有一第一狀態,則 重覆該第一週期,其中重覆該第一週期的步驟包括· '透過在該通訊匯流排上的該第/週期將該計數及代辟 欄提供給該協同處理器;以及 在該第一週期期間,透過該通訊匯流排從該協同處理 器接收該第一輸入信號; 並且其中,若在第一週期期間,透過該通訊匯流排 從該協同處理器所接收到的該第/輸入信號有一第二狀 態,則透過在該通訊匯流排上的第二週期’將一第一輸 出信號(65)提供至該協同處理器。 -27- 本紙張尺度逋用中國國家標準(CNS ) Α4規格(210X297公釐) C請先閲讀背面之注意事項再填寫本頁) •裝. 訂. Λ. 六、申請專利範圍 A8 B8 C8 D8 3.如申青專利範圍第!項之方法,更包括以下步緣: 經濟部中央標準局貝工消費合作社印^ 若一計數掷値η大於 個(η-1)週期將: 透過該通訊匯流排,將下一個(n-i)運算元提供给該協 同處理器;以及 透過該通訊匯流排,從該協同處理器接收—第二輸入 信號。 4.如申請專利範圍第!項之方法,其中該處理器與一複數 個協同處理器合作,該複數個協同處理器,在該指令執 行内,經由該通訊匯流排搞合至該處理器,該方沣更勹 括以下步驟: “I 在該第一週期期間,透過該通餌麗流排,將—辨識欄 提供给該複數個協同處理器,該辨識欄有一能獨特辨識 已選擇的該複數個協同處理器中之—的數値。^ 5·如申請專利範圍帛Μ之方法,其中該處二器白括4 數個用於儲存已選擇運算元的暫存器,並且其中在該& 二週期期間,透過該通訊匯流摒將梦梦 ^ _ 弟 、- 町必弟—運异7C提供給 該協同處理器的步驟特徵在於: Ρ 若該計數欄有-大於〇的數値η,透過在該通訊區法 排上的第二週期將一儲存在預定的複數個暫存器中之: 的運算元提供給該協同處理器。 6. —種執行指令的方法,該方法係在 n、 知同處理器(14 ,16)合作的處理器(12)内執行,該钨同處理器白扛—有 效位址計數櫚的至少一指令(Η-LD)並經由匯流 則在該通訊匯流棑上的每 28- (請先聞讀背面之注意事項再填寫本頁) 裝· 訂 !i - I m 經濟部中央標準局貝工消費合作社印裝 A8 BS C8 . D8六、申請專利範圍 排(3 0)耦合在該處理器上,包括以下步驟: 接收該指令; 透過在該通訊匯流排上的第一週期,將該有效位址計 算攔提供給該協同處理器; 根據該有效位址計算欄計算一有效位址; 提取一儲存在該已計算過的有效位址上的運算元; 透過在該通訊匯流排上的第二週期,將該已提取的運 算元提供給該協同處理器;及 完成該指令。 7. 如申請專利範圍第6項之方法,更包括以下步驟: 在該第一週期期間内,透過該通訊匯流据,從該協同 處理器接收一第一輸入信號(64) 其中,若在該第一週期期間,透過該通訊匯流排從該 協同處理器所接收到的第一輸入信號有一第一狀態,則 重覆該第一週期,其中重覆該第一週期的步驟包括: 透過在該通訊匯流排上的第一週期’將該有效位址計 算欄提供給該協同處理器;並且. 在該第一週期期間,透過該通訊匯流排,從該協同處 理器接收該第一輸入信號; 並且其中,若在該第一週期期間,透過該通訊匯流# ,從該協同處理器所接收到的第一輸入信號有一第二狀 態,則透過在該通訊匯流排上的該第二週期,將一第一 輸出信號(65)提供給該協同處理器。 8. 如申請專利範圍第6項之方法,其中該處理器包括複數 -29- (請先聞讀背面之注意事項再填寫本I) -裝. 訂 H^_ 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) 經濟部中央標率局員工消費合作社印策 AS B8 C8 · D8七、申請專利範圍 個用於儲存已選擇的運算元的暫存器,其中該有效位址 計算攔包括一基底暫存器指定器子襴和一換置子欄,並 且其中根據該有效位址計算欄來計算該有效位址的步驟 包括將該換置子欄的内容加至該基底暫存器指定器子欄 的内容所指定的該複數個暫存器之一的内容。 9. 一種執行指令的方法,該方法係在與一協同處理器(14 ,1 6)合作的處理器(12)内執行,該協同處理器在包括一 有效位址計算欄的至少一指令(H_ST)並經由一通訊匯流 排(3 0)耦合到該處理器上,包括以下步驟: 接收該指令; 透過在該通訊匯流排上的第一週期,將該有效位址計 算欄提供給該協同處理器; _ 根據該有效位址計算欄計算一有效位址; 透過在該通訊匯流排上的第二週期,從該協同處理器 接收一運算元; 在該已計算過的有效位址上儲存該已接收的運算元;及 完成該指令。 10. 如申專利範圍第9項之方法,其中該處理器包括複數 個用於儲存已選擇的運算元的暫存器,其中有效位址計 算欄包括一基底暫存器指定器子攔(Rx)和一換置子溻 (IMM2),並且其中根據該有效位址計算欄計算該有效位 址的步驟包括將該換置子欄的内容加至該基底暫存器指 定器子欄的内容所指定的該複數個暫存器之一的内容, 其中該有效位址計算欄包括一更新欄(UP),並且其中根 -30- (請先閲讀背面之注意事項再填寫本頁) 裝. 、11 •^.^ 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) 經濟部t央標準局員工消費合作社印袈 A8 B8 C8 · D8 六、申請專利範圍 據該有效位址計算欄計算該有效位址的步驟包括,若該 更新搁有一第一數値時’將該已計其過的有效位址错存 於該所指定的複數個暫存器之一内。 -31 - 本紙張尺度適用中國國家標準(CNS ) A4規格(210X297公釐) (請先閱讀背面之注意事項再填寫本萸)
TW087114309A 1997-09-05 1998-08-28 Method and apparatus for interfacing a processor to a coprocessor TW385410B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US08/924,518 US6505290B1 (en) 1997-09-05 1997-09-05 Method and apparatus for interfacing a processor to a coprocessor

Publications (1)

Publication Number Publication Date
TW385410B true TW385410B (en) 2000-03-21

Family

ID=25450311

Family Applications (1)

Application Number Title Priority Date Filing Date
TW087114309A TW385410B (en) 1997-09-05 1998-08-28 Method and apparatus for interfacing a processor to a coprocessor

Country Status (8)

Country Link
US (3) US6505290B1 (zh)
EP (2) EP1282035A1 (zh)
JP (1) JP3920994B2 (zh)
KR (1) KR100563012B1 (zh)
CN (3) CN100573445C (zh)
DE (1) DE69814268T2 (zh)
SG (2) SG102528A1 (zh)
TW (1) TW385410B (zh)

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001092663A (ja) * 1999-09-17 2001-04-06 Sanyo Electric Co Ltd データ処理装置
EP2804106A1 (en) * 2000-09-06 2014-11-19 Ericsson Modems SA Inter-processor communication system
US6829697B1 (en) * 2000-09-06 2004-12-07 International Business Machines Corporation Multiple logical interfaces to a shared coprocessor resource
JP2002149402A (ja) * 2000-11-14 2002-05-24 Pacific Design Kk データ処理装置およびその制御方法
JP2002169724A (ja) * 2000-12-01 2002-06-14 Oki Electric Ind Co Ltd キャッシュメモリにおける部分無効化装置
US6754804B1 (en) * 2000-12-29 2004-06-22 Mips Technologies, Inc. Coprocessor interface transferring multiple instructions simultaneously along with issue path designation and/or issue order designation for the instructions
US7287147B1 (en) * 2000-12-29 2007-10-23 Mips Technologies, Inc. Configurable co-processor interface
US7237090B1 (en) 2000-12-29 2007-06-26 Mips Technologies, Inc. Configurable out-of-order data transfer in a coprocessor interface
US7168066B1 (en) 2001-04-30 2007-01-23 Mips Technologies, Inc. Tracing out-of order load data
US7240203B2 (en) * 2001-07-24 2007-07-03 Cavium Networks, Inc. Method and apparatus for establishing secure sessions
GB2378271B (en) * 2001-07-30 2004-12-29 Advanced Risc Mach Ltd Handling of coprocessor instructions in a data processing apparatus
US7228401B2 (en) 2001-11-13 2007-06-05 Freescale Semiconductor, Inc. Interfacing a processor to a coprocessor in which the processor selectively broadcasts to or selectively alters an execution mode of the coprocessor
US6886092B1 (en) * 2001-11-19 2005-04-26 Xilinx, Inc. Custom code processing in PGA by providing instructions from fixed logic processor portion to programmable dedicated processor portion
US6795877B2 (en) * 2001-11-29 2004-09-21 Intel Corporation Configurable serial bus to couple baseband and application processors
FR2834154B1 (fr) * 2001-12-21 2005-03-11 Oberthur Card Syst Sa Unite electronique incluant des moyens de cryptographie capables de traiter des informations a haut debit
US7305567B1 (en) 2002-03-01 2007-12-04 Cavium Networks, In. Decoupled architecture for data ciphering operations
US7154941B2 (en) * 2002-06-28 2006-12-26 Nokia Corporation Modem having a vector-architecture processor, and associated methodology therefor
EP1387259B1 (en) * 2002-07-31 2017-09-20 Texas Instruments Incorporated Inter-processor control
JP4182801B2 (ja) * 2003-04-24 2008-11-19 日本電気株式会社 マルチプロセサシステム
KR100849296B1 (ko) * 2003-06-13 2008-07-29 삼성전자주식회사 주제어부와 보조제어부를 구비하는 시스템에서의보조제어부의 초기화 장치 및 방법
JP4224430B2 (ja) * 2003-07-07 2009-02-12 株式会社ルネサステクノロジ 情報処理装置
US7441106B2 (en) 2004-07-02 2008-10-21 Seagate Technology Llc Distributed processing in a multiple processing unit environment
ATE463786T1 (de) * 2004-07-09 2010-04-15 Michael Colin George Chapman Hochleistungsfähiger benutzer-konfigurierbarer prozessor
JP3768516B1 (ja) * 2004-12-03 2006-04-19 株式会社ソニー・コンピュータエンタテインメント マルチプロセッサシステムとそのシステムにおけるプログラム実行方法
US20060155974A1 (en) * 2005-01-07 2006-07-13 Moyer William C Data processing system having flexible instruction capability and selection mechanism
JP3867804B2 (ja) * 2005-03-22 2007-01-17 セイコーエプソン株式会社 集積回路装置
US7472261B2 (en) * 2005-11-08 2008-12-30 International Business Machines Corporation Method for performing externally assisted calls in a heterogeneous processing complex
KR100781340B1 (ko) * 2006-09-18 2007-11-30 삼성전자주식회사 사용자 정의 확장 연산을 처리하는 연산 시스템 및 방법
US8095699B2 (en) * 2006-09-29 2012-01-10 Mediatek Inc. Methods and apparatus for interfacing between a host processor and a coprocessor
WO2008045341A1 (en) * 2006-10-05 2008-04-17 Arc International Inter-processor communication method
US20080147357A1 (en) * 2006-12-15 2008-06-19 Iintrinisyc Software International System and method of assessing performance of a processor
FR2942556B1 (fr) * 2009-02-24 2011-03-25 Commissariat Energie Atomique Unite d'allocation et de controle
CN102804136B (zh) 2009-06-23 2015-03-11 精工爱普生株式会社 副处理器、集成电路装置及电子设备
EP2278452A1 (en) * 2009-07-15 2011-01-26 Nxp B.V. Coprocessor programming
JP5632651B2 (ja) * 2010-05-19 2014-11-26 スパンション エルエルシー 半導体回路及び設計装置
US20130305020A1 (en) * 2011-04-01 2013-11-14 Robert C. Valentine Vector friendly instruction format and execution thereof
CN102736895B (zh) 2011-04-07 2015-06-10 中兴通讯股份有限公司 一种实现寄存器文件间的数据传输方法及装置
EP2525286A1 (en) * 2011-05-17 2012-11-21 Nxp B.V. Co-processor interface
JP2012252374A (ja) * 2011-05-31 2012-12-20 Renesas Electronics Corp 情報処理装置
JP5653865B2 (ja) * 2011-08-23 2015-01-14 日本電信電話株式会社 データ処理システム
CN104011670B (zh) 2011-12-22 2016-12-28 英特尔公司 用于基于向量写掩码的内容而在通用寄存器中存储两个标量常数之一的指令
US9329870B2 (en) 2013-02-13 2016-05-03 International Business Machines Corporation Extensible execution unit interface architecture with multiple decode logic and multiple execution units
US9203835B2 (en) 2013-03-01 2015-12-01 Paypal, Inc. Systems and methods for authenticating a user based on a biometric model associated with the user
US20150261535A1 (en) * 2014-03-11 2015-09-17 Cavium, Inc. Method and apparatus for low latency exchange of data between a processor and coprocessor
CN105988773B (zh) * 2015-02-10 2021-03-09 恩智浦美国有限公司 硬件接口组件和用于硬件接口组件的方法
CN106648400B (zh) * 2015-11-03 2020-04-03 华为终端有限公司 一种触摸数据上报的方法及电子设备
CN108076476B (zh) * 2016-11-18 2020-11-06 华为技术有限公司 用于传输数据的方法和装置
US11263014B2 (en) * 2019-08-05 2022-03-01 Arm Limited Sharing instruction encoding space between a coprocessor and auxiliary execution circuitry
CN110532040A (zh) * 2019-08-29 2019-12-03 北京地平线机器人技术研发有限公司 固件程序的加载方法及装置、存储介质和电子设备
CN111917471B (zh) * 2020-09-09 2021-09-28 西安工程大学 一种自由空间可见光通信系统及其通信性能优化算法

Family Cites Families (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4270167A (en) 1978-06-30 1981-05-26 Intel Corporation Apparatus and method for cooperative and concurrent coprocessing of digital information
US4547849A (en) 1981-12-09 1985-10-15 Glenn Louie Interface between a microprocessor and a coprocessor
US4509116A (en) 1982-04-21 1985-04-02 Digital Equipment Corporation Special instruction processing unit for data processing system
US4729094A (en) 1983-04-18 1988-03-01 Motorola, Inc. Method and apparatus for coordinating execution of an instruction by a coprocessor
US4715013A (en) 1983-04-18 1987-12-22 Motorola, Inc. Coprocessor instruction format
US4731736A (en) 1983-04-18 1988-03-15 Motorola, Inc. Method and apparatus for coordinating execution of an instruction by a selected coprocessor
US4763242A (en) * 1985-10-23 1988-08-09 Hewlett-Packard Company Computer providing flexible processor extension, flexible instruction set extension, and implicit emulation for upward software compatibility
JPH079643B2 (ja) 1986-09-24 1995-02-01 株式会社日立マイコンシステム コプロセツサデ−タ転送制御方式
US5001624A (en) 1987-02-13 1991-03-19 Harrell Hoffman Processor controlled DMA controller for transferring instruction and data from memory to coprocessor
US5091845A (en) * 1987-02-24 1992-02-25 Digital Equipment Corporation System for controlling the storage of information in a cache memory
IN171198B (zh) 1987-02-24 1992-08-15 Digital Equipment Corp
US5226170A (en) * 1987-02-24 1993-07-06 Digital Equipment Corporation Interface between processor and special instruction processor in digital data processing system
US5341482A (en) * 1987-03-20 1994-08-23 Digital Equipment Corporation Method for synchronization of arithmetic exceptions in central processing units having pipelined execution units simultaneously executing instructions
JPS63259727A (ja) 1987-04-17 1988-10-26 Hitachi Ltd コプロセツサのインタ−フエイス方式
US4991078A (en) 1987-09-29 1991-02-05 Digital Equipment Corporation Apparatus and method for a pipelined central processing unit in a data processing system
JPH0679307B2 (ja) 1987-10-22 1994-10-05 日本電気株式会社 コプロセッサの並行動作制御方式
JPH01147656A (ja) 1987-12-03 1989-06-09 Nec Corp マイクロプロセッサ
JPH01277934A (ja) * 1988-04-29 1989-11-08 Nec Corp パラメータリスト参照方法の切換え方式
JP2741867B2 (ja) * 1988-05-27 1998-04-22 株式会社日立製作所 情報処理システムおよびプロセツサ
US5109514A (en) * 1988-07-28 1992-04-28 Sun Microsystems, Inc. Method and apparatus for executing concurrent CO processor operations and precisely handling related exceptions
JP2754825B2 (ja) 1989-02-03 1998-05-20 日本電気株式会社 マイクロプロセッサ
US5093908A (en) 1989-04-17 1992-03-03 International Business Machines Corporation Method and apparatus for executing instructions in a single sequential instruction stream in a main processor and a coprocessor
US5218711A (en) 1989-05-15 1993-06-08 Mitsubishi Denki Kabushiki Kaisha Microprocessor having program counter registers for its coprocessors
US5247650A (en) * 1989-08-30 1993-09-21 Industrial Technology Institute System for combining originally software incompatible control, kinematic, and discrete event simulation systems into a single integrated simulation system
WO1991011765A1 (en) 1990-01-29 1991-08-08 Teraplex, Inc. Architecture for minimal instruction set computing system
DE69127936T2 (de) 1990-06-29 1998-05-07 Digital Equipment Corp Busprotokoll für Prozessor mit write-back cache
US5305446A (en) 1990-09-28 1994-04-19 Texas Instruments Incorporated Processing devices with improved addressing capabilities, systems and methods
US5826101A (en) 1990-09-28 1998-10-20 Texas Instruments Incorporated Data processing device having split-mode DMA channel
US5283881A (en) * 1991-01-22 1994-02-01 Westinghouse Electric Corp. Microcoprocessor, memory management unit interface to support one or more coprocessors
JP3206006B2 (ja) * 1991-01-25 2001-09-04 株式会社日立製作所 二重化バス制御方法及び装置
US5488729A (en) 1991-05-15 1996-01-30 Ross Technology, Inc. Central processing unit architecture with symmetric instruction scheduling to achieve multiple instruction launch and execution
US5430850A (en) 1991-07-22 1995-07-04 Massachusetts Institute Of Technology Data processing system with synchronization coprocessor for multiple threads
US5767939A (en) 1991-10-09 1998-06-16 Seiko Epson Corporation Eyeglass lens
US5708784A (en) * 1991-11-27 1998-01-13 Emc Corporation Dual bus computer architecture utilizing distributed arbitrators and method of using same
WO1993016437A1 (en) 1992-02-18 1993-08-19 Apple Computer, Inc. A programming model for a coprocessor on a computer system
US5481743A (en) 1993-09-30 1996-01-02 Apple Computer, Inc. Minimal instruction set computer architecture and multiple instruction issue method
US5706478A (en) * 1994-05-23 1998-01-06 Cirrus Logic, Inc. Display list processor for operating in processor and coprocessor modes
JP2987308B2 (ja) * 1995-04-28 1999-12-06 松下電器産業株式会社 情報処理装置
US5603047A (en) 1995-10-06 1997-02-11 Lsi Logic Corporation Superscalar microprocessor architecture
US5898897A (en) * 1996-10-18 1999-04-27 Samsung Electronics Company, Ltd. Bit stream signal feature detection in a signal processing system
US5953741A (en) * 1996-11-27 1999-09-14 Vlsi Technology, Inc. Stack cache for stack-based processor and method thereof
US5715439A (en) * 1996-12-09 1998-02-03 Allen-Bradley Company, Inc. Bi-directional co-processor interface
GB2326253A (en) 1997-06-10 1998-12-16 Advanced Risc Mach Ltd Coprocessor data access control
US6760833B1 (en) 1997-08-01 2004-07-06 Micron Technology, Inc. Split embedded DRAM processor
US6226738B1 (en) 1997-08-01 2001-05-01 Micron Technology, Inc. Split embedded DRAM processor
US6163836A (en) 1997-08-01 2000-12-19 Micron Technology, Inc. Processor with programmable addressing modes
US6216222B1 (en) 1998-05-14 2001-04-10 Arm Limited Handling exceptions in a pipelined data processing apparatus
US6247113B1 (en) 1998-05-27 2001-06-12 Arm Limited Coprocessor opcode division by data type
US6434689B2 (en) 1998-11-09 2002-08-13 Infineon Technologies North America Corp. Data processing unit with interface for sharing registers by a processor and a coprocessor
KR100308618B1 (ko) 1999-02-27 2001-09-26 윤종용 단일 칩 상의 마이크로프로세서-코프로세서 시스템을 구비한 파이프라인 데이터 처리 시스템 및 호스트 마이크로프로세서와 코프로세서 사이의 인터페이스 방법
US6446221B1 (en) 1999-05-19 2002-09-03 Arm Limited Debug mechanism for data processing systems
US6513091B1 (en) 1999-11-12 2003-01-28 International Business Machines Corporation Data routing using status-response signals
US6557069B1 (en) 1999-11-12 2003-04-29 International Business Machines Corporation Processor-memory bus architecture for supporting multiple processors
US6526469B1 (en) 1999-11-12 2003-02-25 International Business Machines Corporation Bus architecture employing varying width uni-directional command bus
US6658545B1 (en) 2000-02-16 2003-12-02 Lucent Technologies Inc. Passing internal bus data external to a completed system
US6626489B2 (en) * 2001-07-18 2003-09-30 Evenflo Company, Inc. Infant seat providing a cushioned carry

Also Published As

Publication number Publication date
EP0901071A3 (en) 1999-10-13
EP0901071A2 (en) 1999-03-10
US6505290B1 (en) 2003-01-07
SG102528A1 (en) 2004-03-26
CN1211012A (zh) 1999-03-17
US7007154B2 (en) 2006-02-28
KR100563012B1 (ko) 2007-04-10
CN1983167A (zh) 2007-06-20
CN1560729A (zh) 2005-01-05
KR19990029361A (ko) 1999-04-26
CN100573445C (zh) 2009-12-23
DE69814268D1 (de) 2003-06-12
EP1282035A1 (en) 2003-02-05
US20020049894A1 (en) 2002-04-25
SG103282A1 (en) 2004-04-29
JPH11154144A (ja) 1999-06-08
EP0901071B1 (en) 2003-05-07
US6327647B1 (en) 2001-12-04
JP3920994B2 (ja) 2007-05-30
CN1307536C (zh) 2007-03-28
CN1299218C (zh) 2007-02-07
DE69814268T2 (de) 2004-01-22

Similar Documents

Publication Publication Date Title
TW385410B (en) Method and apparatus for interfacing a processor to a coprocessor
US5923893A (en) Method and apparatus for interfacing a processor to a coprocessor
TW386193B (en) Circuits, system, and methods for processing multiple data streams
Heinrich MIPS R4000 Microprocessor User's manual
KR100323191B1 (ko) 다중명령세트를이용한데이터프로세싱장치
US5826089A (en) Instruction translation unit configured to translate from a first instruction set to a second instruction set
US5983338A (en) Method and apparatus for interfacing a processor to a coprocessor for communicating register write information
TW541466B (en) Dual-mode processor
TWI541658B (zh) 資料處理裝置及半導體積體電路裝置
US5218711A (en) Microprocessor having program counter registers for its coprocessors
US20040034757A1 (en) Fusion of processor micro-operations
US5822779A (en) Microprocessor-based data processing apparatus that commences a next overlapping cycle when a ready signal is detected not to be active
JP4098241B2 (ja) プロセッサをコプロセッサに接続する方法及び装置
GB2200484A (en) Detecting and handling memory-mapped i/o by a pipelined computer
JPH04309131A (ja) 命令群用マイクロコード生成装置及びコンピュータにおける組合せ装置
GB2200482A (en) Monitoring control flow in a microprocessor
US20060095723A1 (en) Method and apparatus for interfacing a processor to a coprocessor
JP4264622B2 (ja) プロセッサ
EP1615123B1 (en) High performance user configurable coprocessor
JP2644104B2 (ja) マイクロプロセッサ
JP2636074B2 (ja) マイクロプロセッサ
JPH0833820B2 (ja) マイクロプログラム制御装置
JPS63149735A (ja) 命令フェッチ制御方法

Legal Events

Date Code Title Description
GD4A Issue of patent certificate for granted invention patent
MK4A Expiration of patent term of an invention patent