TW495711B - Control program product and data processing device - Google Patents

Control program product and data processing device Download PDF

Info

Publication number
TW495711B
TW495711B TW089117579A TW89117579A TW495711B TW 495711 B TW495711 B TW 495711B TW 089117579 A TW089117579 A TW 089117579A TW 89117579 A TW89117579 A TW 89117579A TW 495711 B TW495711 B TW 495711B
Authority
TW
Taiwan
Prior art keywords
information
processing
data
execution
data processing
Prior art date
Application number
TW089117579A
Other languages
English (en)
Inventor
Tomoyoshi Sato
Original Assignee
Ip Flex Inc
Tomoyoshi Sato
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 Ip Flex Inc, Tomoyoshi Sato filed Critical Ip Flex Inc
Application granted granted Critical
Publication of TW495711B publication Critical patent/TW495711B/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
    • 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/30145Instruction analysis, e.g. decoding, instruction word fields
    • G06F9/3016Decoding the operand specifier, e.g. specifier format
    • 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/30003Arrangements for executing specific machine instructions
    • G06F9/30076Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
    • 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/30145Instruction analysis, e.g. decoding, instruction word fields
    • 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/30145Instruction analysis, e.g. decoding, instruction word fields
    • G06F9/3016Decoding the operand specifier, e.g. specifier format
    • G06F9/30167Decoding the operand specifier, e.g. specifier format of immediate specifier, e.g. constants
    • 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/30181Instruction operation extension or modification
    • 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/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • 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/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • G06F9/3893Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator
    • G06F9/3895Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator for complex operations, e.g. multidimensional or interleaved address generators, macros
    • G06F9/3897Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator for complex operations, e.g. multidimensional or interleaved address generators, macros with adaptable data path

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)
  • Stored Programmes (AREA)
  • Executing Machine-Instructions (AREA)
  • Debugging And Monitoring (AREA)
  • Communication Control (AREA)
  • Circuits Of Receivers In General (AREA)
  • Image Processing (AREA)
  • Saccharide Compounds (AREA)
  • Eye Examination Apparatus (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Facsimiles In General (AREA)
  • Vehicle Body Suspensions (AREA)
  • Steering Control In Accordance With Driving Conditions (AREA)
  • Input Circuits Of Receivers And Coupling Of Receivers And Audio Equipment (AREA)

Description

五、發明說明(1) 發明的詳細說明 技術領域 m是有關用微代碼等記述 執彳丁该程式的資料處理裝置。 背景技術 P 4 :: Ϊ進仃常用的處理及專用的數位資料的處理裝置, ”^^\其内置有所謂微處理機(MPU)、數位信號處理器 钟班^异功能的處理機(資料處理裝置或LS I )。在對這些 :〖生此提咼上卓有成效的主要原因,可列舉出:管線 1匕技超管線化技術、超標量(scaier)化技術、几⑺技 術^将殊化型資料通路(專用指令)追加。而且,也可列舉 出/^i(^ranCh)預測或暫存器元件(register bank)、高 速緩衝暫存器(cache)技術等。 一 線及管!間的性能差異是明顯的。若基本上是同 ㈢7 %,僅由官線的段數便可確實地提高總處理能力 t ^ough pu t)。例如,在四段的管線中,總處理能力能 期付達到4倍以上,若是8段的管線,則能達到8倍的計算 ,^,超管線化技術將使性能再提高2倍以上。實際上, k著處理的進步,因可將關鍵路徑細分化,可期待產生大 =改善動作頻率的上限效果,所以,其有效程度顯得更為 大出。,而,分支指令的性能延遲化(性能惡化)並未消〃 除,超管線方式的機械能否成工力,與依靠編譯程序的指令 排程等能否對應於記憶體存取(mem〇ry access)或分 較深段數延遲處理到什麼程度有關。
\\CHENLIN\Lika\ 1 ika\imal 1122.ptci 第4頁 495711 五、發明說明(2) ^其次,雖是超標量技術,但 θ 〜 向性能化,同時執行程式計數器二疋將内部的資料通路 為編譯程序的最佳化技術的進步辦^的拍令而已。該技術 八知丨q北入丄 所支援,能同時執行4指 7到8指令左右。然而,指令本/ 紹苴今品 ΑΑ ^ ^ 4母大多頻繫地使用兵刖面 為^:結果或記憶體的結果’峰值性能更不用説,即使作 為:區動前進或指令再排列、無序、暫存器重新命名 eglster renaming)等各種技巧,同時可執行的指令數 平均上也要比上述值低很多。特別是,因不能執行多個 二件分支指令等,所以,使超標量技術的成效更加變得低 劣。因此’作為對處理器性能提高的有效程度,〆般認為 平均也應達到2 · 〇至2 · 5倍左右。即使在適配性祚常良好的 應用時,實際上的有效程度則在4倍以下。 VL I W技術因以下技術要求而興起。它是為了能平行執 行而事先構成資料通路,編譯程序是為了提高該肀行執 行’生成旨在最佳化的VL I W指令碼想法,採用這個想法是 極為合理的。由此,如超標量那樣,因不需要檢查一個一 個指令平行執行可能性的電路,所以,作為進行爭行執行 的硬體實際安裝手段,被認為是極其有希望的。然而’, 上述的超標量技術一樣,並不能執行多個條件分支指令等 指令’因此,作為對實際性能提高的有效程度,〆般認為 能達到3 · 5倍〜5倍左右。然而,若考慮以必須進行圖像處「 理或特殊資料處理應用的處理為用途的處理器時’則=1 % 也不能成為最適當的解決方法。那是因為尤其是在用遠= 面要求對運算結果連續處理,在常用記憶體帶著資料的運
\\CHENLIN\Lika\lika\imai1122.ptd 第5頁 495711
495711 _案號89Π7579_年€f : 修正_ 五、發明說明(4) ___ 及其控制方法也正是本發明的追求目的。 發明要旨 本發明人從非管線化技術到目前技術所用指令集 (s e t )的特權(p r i v i 1 e g e d ),發現會產生上述問題。亦 . 即,規定在處理器上進行的資料處理程式(微碼、組合語, 言程式代碼、機械言語等)的指令集(指令格式)是規定在 執行指令操作(執行指令)和執行該指令時所用暫存器等的 環境或規定界面的運算元加以組合的助記碼(m n e m ο n i c c o d e )。因此,若觀察指令集,雖可完全把握由它所指示 的處理内容,但直到將指令集解碼,處理的内容還不能完 全判定。因此,在本發明中,通過大幅度地變更指令集的 構成方法本身,巧妙地解決已知技術中難以對應的上述問 題,從而可大幅度地提高資料處理裝置的性能。 亦即,在本發明中,設有第一資訊欄的指令集,該第 一資訊攔具有能記述用構成資料處理裝置至少一個處理單 元指示執行的運算或其他資料處理内容的執行指令,還設 有第二資訊攔的指令集,該第二資訊攔具有能記述用執行 指令執行的運算或其他資料處理在可執行狀態中設定處理 單元的準備資訊;在第一資訊襴内記述執行指令的内容, 獨立的運算或是其他資料處理的準備資訊則可記述在第二 資訊襴内。於是,在本發明中,提供具有此指令集的控制 程式產品或控制程式裝置。該控制程式能提供並記錄在資 料處理裝置可讀取的適當記錄媒體内,也能將該控制程式
i mal1122Amend01.ptc. 第 7 頁 2002.05.02.007 495711 五、發明說明(5) - 嵌入以電腦網路或提供其他通信媒介作為傳送介質來傳 胃 运 ° - 處理早元是構成資料處理发置適當功能的貢科通路3 分割的單位,包含具有控制單元、算術運算單元,還具有 某種緊密程度資料通路且具備以樣板方式處理的特定資料 通路的處理單元或資料流程處理單元等。 |
而且,本發明的資料處理裝置具有:執行運算或其他 I 資料處理的至少一個處理單元;第一資訊欄的指令集,該I 第一資訊欄具有可記述能指示闱處理單元執行的運算或其| 他資料處理内容的執行指令,以及第二資訊欄的指令集並|_ 取出該指令集的取出單元,該第二資訊攔具有可記述用執 | 行指令執行的運算或其他資料處理在可執行狀態中設定處 i理單元的準備資訊;將第一資訊欄的執行指令解碼,通過 第一執行控制單元,該第一執行控制單元是為了能執行該 執行指令的運算或其他資料處理而事先設定的處理單元進 行相應運算或其他資料處理的;將第二資訊欄的準備資訊 | 解碼,獨立於第一執行控制單元的執行内容,第二執行控 | 制單元將處理單元的狀態設成能執行運算或其他資料處 I理。 · | 還有,本發明具有執行運算或其他資料處理的至少一 處理單元的資料處理裝置控制方法具有:取出具備上述第 一資訊欄及第二資訊欄的指令集步驟;將第一資訊欄的執 行指令解碼,通過為能執行該執行指令的運算或其他資料 處理而事先設定的處理單元,進行相應運算或其他資料處
\\CHENLIN\Lika\lika\imalll22.ptd 第8頁 495711 五、發明說明(6) 理的第一控制步驟;獨立於該第一控制步驟,第二控制步 驟是為了能執行運算或其他資料處理而將第二資訊欄準備 資訊解碼設定處理單元狀態的。 與本發明有關的指令集具有記載執行指令的第一資訊 欄、以及獨立於該執行指令,記載暫存器的資訊及立即值 (i mmed i a t e )等準備資訊(準備指令)的第二資訊欄。因 此,在算術指令等指令中,因A D D等的指令操作可記載在 第一資訊欄内,特定出暫存器的指令或資訊可記載在第二 資訊欄内,所以,猛然一看,成為與已知組合語言程式代 碼相同的指令集。然而,執行指令和準備資訊是獨立的, 並沒對應在同一指令集内。因此,在該指令集中,具有不 特定用控制單元等資料處理裝置的處理單元所能執行的處 理特性。亦即,與本發明有關的指令集與已知助記碼大大 不同。於是,以前在一個指令集中所記載的指令操作及與 該指令操作相對應的運算元可設成能個別單獨地來定義, 可簡單地執行在已知指令集中無法實現的處理。 首先,在第二資訊欄内,可記載準備資訊以執行在後 續指令集的第一資訊攔内所記載的執行指令。甴此,在具 有執行指令的指令集出現之前,可進行執行該執行指令的 準備工作。亦即,用執行指令執行的運算或其他資料處理 能在可能執行的狀態中設定處理單元。例如,在某指令集 (指令格式或指令記錄)的第一資訊攔内,記載操作包含在 資料處理裝置的某控制單元内至少一個算術邏輯運算單元 的指令,在該指令之前指令集的第二資訊欄内,可記載規
\\CHENLIN\Lika\lika\imalll22.ptd 第9頁 495711 五、發明說明(7) (destinaU個异術避運异單元中的源惻暫存器或目的地 嶋器的所謂算術邏輯運算單元的界面 算單元的暫存器U 2::曰:破?出之前,算術邏輯運 出的執行浐人佰、。 ’”、,暫存器被設定,由其後被取 =;;;r=r邏輯運算1結果則被保存 -起記述在U訊::也側的暫存器也可能與執行指令 處评::二j ?本發明有關的指令集内,#可能如管線化 Γ'…多階段執行資料處理來提高總處理能力。還 1;〇123^ 歸摄志 乂 ’丁、加亚將結果收容在暫存器R0中,但在硬
:行指令的:以ίϊ指:!的!巧迴圈重疊’執行ADD 二軻六屬貝+通路的輸入暫存器内先執行讀出(read), 的::,AC特性因可純粹地執行算術 :執:=特性提高。在管線化處理中,使管線化段數 :,α矸在來自暫存器讀出迴圈專用階段的設計方 :&度上回避此問題。然而’其結果是確實增 *目反,在本發明中,不增加延遲也可解決問 題。 ^是,在本發明的指令集中,因能先於執行指令記載 準備-貝^,所以,在條件分支指令等的分支指令中,分支 物件的貝汛能先於執行指令傳給控制單元。亦即,在已知
495711 五、發明說明(8) 助記碼中’指令集内容人們可一目了然,但在該指八 現之珂則無法判斷處理内容。於此相反,在與本發:集出 的指令集中,指令集的内容雖然不能一目了然,但在有關 指令出現之前’能判斷與該執行指令相關的資訊。丸订 因先於執行指令判斷分支物件,所以,有可能取此’ 物件的指令集’而且,也有可能先於分支物件的二分支 而進行其準備工作。 L仃指令 通常’幾乎現在的CPU/DSP都將管線化處理轉 段(在時間轴後方),在謀求處理的高速化方面雖然夕Λ後 的’但在程式分支或執行CALL/RET時,該問題即呈成功 .匕即’因撕法先行獲得取址(fetch address)資却面 本貝上形成性能惡化,無法在原理上消除此現象所 :,在分支預測或延遲轉移(deUyed branch)、^當 ^器或DSP所採用的高速環() 间連分支 ,能惡化上相當成功,但若連續分支大量發生時在兮每和 知的事實。 ‘乃不-達到本質上的解決’這是眾所周 還有’因事先無法得知後續指令所需的暫存器… 為此而使同於管線化#採古 σ貝nfl, 、老 深化處理同速化的前向處理或旁通 (by-pass)處理的複雜性 本身即成為招致魔大的硬體成本上已升V支主^ 因此’在已知指令集中,八 解碼後得到,在本質上難解^ 的地址資訊只能在 μ δ , h β %決執行條件分支時所μ ί·生此惡化,相反,在本發明 n、上的 、巿中,因可事前傳給分
WCHENLiN\Lika\l ika\imal 1122.ptd 第11頁 隱 495711 五、發明說明(9) 支物件的資訊,所以,可減少執行條件分支時的性能惡 化。而且,在硬體上若有多餘時,取出分支物件的準備指 令,也可能進行後續執行指令的準備工作。分支條件未被 整理時,只是使其準備工作成為浪費,無法成為執行時間 的性能惡化。 還有,後續指令所需的暫存器資訊因能與執行指令同 時或先於執行指令判斷,所以,有可能在不增加硬體成本 增加的條件下謀求高速化。亦即,在本發明中對以往在硬 體方面進行管線化處理的一個階段作部分處理,在編譯程 序時或組合語言程式時由軟體處理,這件事在事前便靜悄 悄地實現,因而是成功的。 在本發明的資料處理裝置中,執行基於準備資訊處理 的第二執行控制單元,即便是如F P G A (資訊欄可編程化閘 陣列)那樣能以動態控制可變更電晶體間的連接架構也是 很好的。然而,如FPGA那樣以動態變更硬體需要耗費時 間,而且為縮短其時間必須採用硬體。將FPGA的再構成資 訊保持在二面以上的RAM中,通過在後臺執行,也可能以 動態變更架構方式在表面上較短的時間進行,但是,若為 了使其有可能在幾個同步脈衝(c 1 〇 c k)以内進行這種再構 成,則必須實際安裝能全部收容所預測組合數的再構成資 訊的RAM,這在本質上根本沒有解決,此時所謂經濟性問 題需大量耗費FPGA的再構成時間。還有,FPGA本身在實現 高效率的硬體閘電路配對(m a p p i n g )上存在問題,亦即, 在實用上AC特性的拙劣性目前似乎仍未解決。
\\CHENLIN\Lika\lika\imalll22.ptd 第12頁 495711 五、發明說明(10) 束獲ί ϊ ί二點,在本發明中,作為舉備資訊,獨立於兮 出界面,在第處 的輸入及/或輪 。於該第二控制步驟中,*可能 妒班中,/# _ μ在具有夕個處理早元的資料處理 衣具 一執行控制單元或第二控制步驟,有可能松 制源於這些處理單元的資料通路的組合。亦即,在第二t 訊攔内三璁過記載或記述規定ή包含在資料處理裝置= 少厂個算術邏丨輯運算單元等的處理單元界面的指令,^ 能進:貧料流程指$。由此,有可能提高資料通路的獨立 性,…果,在邊執行別的指令程式邊進行資料流程指定, 將處於空間(idle)狀態的控制單元或資料處理裝置内部的 資料通路借出,使其在外部的其他控制單元或資料處理裝 置中執行較緊急的處理,也很容易提供適用的構造。 =且,在準備資訊内,採用也規定處理單元的處理内 容或電路構成的資訊,由第二執行控制單元或第二控制步 驟’也通過規定處理單元的處理内容或電路構成來更進一 步靈活地構成資料通路。 還有’在第二執行控制單元或第二控制步驟中,通過 管理使其具有對暫存器資訊解碼並取出等算術邏輯運算單 元界面’或其他處理單元界面所規定排程器(scheduler) 功能的資料通路組合,即可對應各式各樣的資料處理。例 如,僅在某些時間進行矩陣計算,隨後進行濾波(f i丨ter) 處理時’預先指定出這些處理所需資料處理裝置内部的處
\\CH£MIN\LikaU ika^imall 122.ptd 第13頁 4^5711 五、發明說明(11) 理單元間的連 數用計數器與 相互置換,即 在各個處 以動態變更硬 體。因此,在 是很困難的。 使以瞬間轉換 脈衝單位下的 基本上FPGA内 的,且在作成 (timing),必 種構成用目前 對應,為控制 發明那樣的新 因此,在 特定内部資料 備已具有某種 料通路間的組 罪準備資訊或 部分,通過變 在短時間内再 接,使用 另外的比 可實現更 理單元上 體則需要 應用執行 假設,將 方式,為 轉換,也 部的巨集 可編程構 須具有利 的FPGA是 以動態控 的指令控 本發明中 通路的電 緊密程度 合並帶入 準備指令 更處理單 構成硬體 計數時間的計數器便可實現。將計 車父電路或外部事件(e v e n t)檢測器 複雜且更靈活的排程處理。 有可能有採用FPGA的架構。然而, 時間,且為縮短其時間而必需用硬 中以動態控制處理單元内部的硬體 多個RAM以資料庫(bank)構成,即 實現在幾個同步脈衝至幾十個同步 必須要有相當數量的資料庫構成, 單元(macrocell) —個個是獨立 造的同時,檢測出該轉換同步 用程式的控制機構。可是,對應這 不夠的。❿且’意味著即使有;: 制所需的轉換同步等,, 制機構。 、員要有本
’作為處理單元’ t好是採用呈六 路單元。巾即,事先以樣板方;: 的資料通路處理單元,扣〜 八+ 資料流程型的處理β=其資 來選擇處理單元内部資料=依 元的處理内容,即可進—丰 J οβΐ» 、、"f «y»» 。 / i /古而 例如’具有事先已有適當邏輯閘和連接該 出界面的内部資料通路,又可以樣板方c 1之用的
495711 五、發明說明(12) ,資料通路的處理單元,在以下的說明中被稱作樣板。若 疋沒樣的處理早几,則通過改變被輸入輸出的資料順序、 改變邏輯閘間的連接或選擇,便可變更處理單元的處理内 谷。於是,若與以電晶體級(transist()r le 路的FPGA相比較,因只選擇事先 )再構成電 -部分即可,戶斤以,能在短時間内m J白勺内部:料通路的 因使用事先準備的内部資料通路又处理内备。而且, 少,電晶體的面積利用效率也言;所以,冗長的電路要素 高,且具經濟性。而且,能構g泣因此,實降安裝密度也 路,AC特性也高。因此,在本= > 於高速處理的資料通 訊在第二執行控制單元及第二^ ^中,最好是通過準備資 單元的内部資料通路一部分。^制步驟,設成能選擇處理 而且,為了管理保持基於舉一 單元界面的排程,第二執行押脊貧訊而設定的各個處理 理單元界面的排程器功能。工卓元最好具有用作管理處 還有,最好能通過準備資— 成處理塊(block)的輸入及/或;J規定由多個處理單元所構 將可變更多個處理單元的界面^出界面。通過同一個指令 理單元相關的資料通路的變更。可用—個指令處理多個處 元或步驟中,基於準備資訊,最^此’在第一丁 制單 元所構成的處理塊輸入及/或輪出ζ是能變£由^個處理單 二f 广Ά有已收 '規定處理塊輸人及/或輸出界 訊選擇出被收容在記憶體中的多個vyv;之-,便可變
第 、 \\CHEN;LIN\Lika\lika\irrlalll22.ptd
更,理塊輸入及/或輸出界面 可指定組態資料,指令本身無 處理單元的界面變更。 通過資料流程指定指令便 需冗長便可由程式控制多個 備作為過單元,該控制單元設有適於已 為处理早兀的鼻術邏輯運算 控制單元,姑k ^ π - 4 ,早凡的常用處理、和第二 t ^ ^ ^ ^7 -早兀、t於已具備作為處理單元的特定 適於1程處理單元的專用處㉟,有可能提供 處理的系統LS卜於是,若是本性/^^ 汛攔内能記述操作算術邏輯運算單 $ 貝 眘郃蛔如D , 斤平兀的執仃指令,在弟二 、、ϋ^ 、ϋ可能記述規定出算術邏輯運算單元及/或資料 iliH理/元的界面準備資訊,因而可提供適於上述系統 LSI的控制程式產品。 以狂 採用相應 點,在本 資訊攔記 可能將管 因此,本 個以上物 行也可提 以上上下 自分離的 用本發明 錶的貢料處理是準備專用電路,對該專用電路僅 專罔指令化方法的硬體會使成本增加。針對這一 發明的指令集中,因能獨立於執行指令而由第二 述邏輯運算單元的界面及其處理内容,所以,有 線化控制或資料通路控制的構造納入指令集中。 發明不僅執行稃式計數器附近的平行處理,對二 件的同時仿真執行或二個以上函數的同時仿真執 供有效的手段。即,在已知指令集中,基於二個 文(context)不同的資料處理或演算法執行等各 程式計數器的處理=能同時啟動,相反,通過採 的指令集並適當地定義資料流程,就有可能不管
外 5711
五、發明說明(14) 程式計數器而執行處理。 因此,若採用本發明的指令集,對平行處理,將事先 從應用角度觀察出的認為對提高性能有效的資料通路,有 可能採用第二資訊棚由軟體編入,必要時再由軟體以指令 級啟動由此實現的資料通路(資料流程)。該資料通路不僅 是對應於特定目的的資料處理’旨在啟動—般的狀態機時 也可使用,所以,其自由度極高。
遢有,通過該第一貝汛襴的資訊,因能先行簡單地使 下一指令的準備周期發生,所以,以往是不得已將其運算 物件存入暫存内,但若以緩衝存儲(buf fering)為前提 4,則用記憶體(單埠/雙埠)或暫存器文卷便可代用。亦 即,在第二資訊欄内,有可能使記述指示出處理單元等所 含的暫存器或緩衝暫存器與記憶體間的輸入輸出的指令, 在第二執行控制單元或第二控制步驟中,如果帶有控制暫 存為或緩衝暫存為與έ己憶體間的輸入輸出的功能,則能獨 立於執行指令進行對記憶體的輸入輸出。
因這樣做會在提高一個一個指令順序關聯性的同時, 對事先回避硬體資源的衝突是有成效的,所以,有可能提 前應對多個指令的平行同時執行或來自外部的分割主因。 因此,因基本上把記憶體看作暫存器,所以,有可能實現 高速任務的轉換。而且,因採用預裝入(preload ing)型的 高速緩衝暫存器就有可能取代以往無法消除第一取出 (f i r s t f e t c h )使性能惡化的高速記憶體’所以’有可能 實現邊保證1 0 0 %的命中率邊遠到不發生一切性能惡化的高
495711 五、發明說明(15) 速組合系統。 亦即,通過把記憶體看作暫存器, 的多個非同步處理要求的高速進行,又可非拿,割等 複雜資料處理或連續資料處理。還有,二莖活地對應 行對比及重定所花費的時間,所以,對任而要,存器進 對應極為簡單。於是,因可完全消除外二=等的高速 憶體的存取速度差的影響,戶斤以,使高速部記 能有效地解決第一取出性能惡化問題的優點曰子益具有 高速處理CALL/RET或分割處理/1RET,所以。处因此,因可 築回應事件的環境,依據事件不同來此間早地構 降低。 々止貝枓處理性能的 而且,如VL I W那樣,把多個執行指令 記^的資訊攔,第-或第二控制單元獨立於已記。” 或第二資訊襴内的多個執行指令或準備指♦,::二: 理的多個執行控制部分,則可進一步提高性能右/、 ^ 於疋,通過已將與本發明有關的控制單元麻 ί、處理速度快且經濟的資料處理裝置。 ’ 實施發明的最佳方式 以下參閱附圖來詳細說明本發明。圖!表示鱼本發明 有關的指令集(指令格式)的構成。與本發明有 \隹 (DAP/ΜΑ的指令集)10具有被稱作第_資訊襴的指令S 7 基本資訊欄(X資訊欄)1 1的部分,和可課求 ,一 效率化的第二資訊欄被稱作指令執行準備迴圈(追加資訊
\\CHHNLIN\Lika\1ika\imal 1122.ptd 第18頁 495711 五、發明說明(16) 攔或Y資訊攔)1 2這樣二個資訊欄。指令執行基本資訊攔(X 資訊欄)1 1指定出加減運算、邏輯和、邏輯積、比較等資 料運算,以及分支等其他各種資料處理的内容,指定出 其結果被收容的物件(目標)。還有,X資訊欄1 1是為提高 指令長度的使闬效率,實際上僅包含被執行指令的資訊。 另一方面,追加資訊攔1 2可不取決於同一指令集的X資訊 欄1 1的執行指令來記述指令(資訊),例如,被分配於下一 指令的執行準備迴圈。 若再詳細說明指令集1 0,則X資訊欄丨1具有記述算術 邏輯運算單元等處理單元指令操作或執行指令(Execution I D )的執行指令資訊欄1 5,還有表示Y資訊欄1 2的有效/無 效和用Y資訊攔1 2表示的準備指令(準備資訊)類型的資訊 欄(類型資訊欄)1 6,以及表示目標暫存器的資訊欄1 7,類 型資訊欄1 6的内容與Y資訊欄1 2相關聯,並不取決X資訊欄 1 1的其他資訊欄内容,另外能定義的如上所述。 還有,Y資訊攔1 2能記述由類型資訊欄所規定的準備 資訊,被這個Y資訊欄所記述的準備資訊是可供執行運算 或其他資料處理狀態用的資訊,圖2中示出幾個具體實 例。首先,類型資訊欄1 6雖包含在X資訊欄11内,但能記 述獨立或無關於執行指令資訊欄1 5的資訊。因此,在Y資 訊欄1 2中可利用地址I D (A I D) 2 1,還矸利用記述由地址2 1 所規定的地址資訊22,例如,用作記述地址(ADRS)、輸入 輸出地址(ADRS,FR0M/T0)等地址資訊的地址資訊欄26。 被該Y資訊攔1 2所記述的地址資訊被用於暫存器或緩衝暫
\\CHE\LIN\Lika\lika\imalll22.ptd 第19頁 495711 五、發明說明(IT) 存器與記憶體C包含暫存器文卷)之間的讀寫,也可構成如 DMA那樣的塊傳送。還有,不僅輸入/輸出功率(R/W),表 示已執行分支指令的分支物件位址(取出位址)和平行執行 時的啟動地址等資訊也可以記述在γ資訊欄1 2内。 還有’對暫存益型指令,例如算術運算或其他邏輯運 算指令(也包含MOVE,記憶體讀/寫等),規定源暫存器 (Reg )的資5凡或立即值(immediate)資訊23也可記述在Y 資訊欄1 2内。亦即,可對γ資訊欄丨2規定作為以後執行指 令的源貢訊爛2 7來用。 逛有’在Y貧訊攔丨2内,也能記述規定算術邏輯運算 單元(A L U )或其他資料處理單元,例如具有規定資料通路 處理單元(以下稱作樣板,t em丨a t e )的界面(源,目標)及 處理内容的組合資訊流指定 對重組態的資料通路等進行 它們資料流程指定指令2 5的 訊攔1 2内,有可能記述啟動 資料流程的資訊。因此,通 重組態資料通路的資料流程 出代碼的程式計數器處理。 而且,圖1及圖2所示的 關的二個獨立指令資訊攔的 限於這些。例如,X及γ資訊 定的。還有’獨立的資訊攔 並不限於本例’有可能被放 指令2 5。亦即,Y資訊欄1 2為 特定的資料處理,可定義作為 資訊欄28來用。當然’在Y資 該資料流程的資訊以及、结束該 過利用Υ資訊攔1 2定義並生成 ,可進行獨立於從代瑪RAM取 指令集格式是具有與本發明f 指令集一實例,當然,,不又 攔内的資訊欄位置旅不&被二 ,例如,類型資訊攔1 6的j立置 置在Y資訊欄12的前項。遂 495711 五、發明說明(18) 有’也可能改變X資訊欄11和γ資訊攔12的順序。在本例 中’通過使Y資訊攔1 2的資訊包含在記述執行指令的X資訊 攔11中,將X資訊欄11解碼,就能判斷Y資訊欄丨2内是否有 準備資δΚ以及該資訊的種類。 下面雖則說明在X資訊攔1 1以及Υ資訊欄1 2内被記載或 3己述的執行指令或準備指令的實例,但在這些資訊爛内益 沒記述指令(記述Ν0Ρ),僅X資訊攔丨i 4Υ資訊襴12也可能 作為具有價值的指令集。而且,具有關於記述在X資訊攔 11内執行指令的暫存器資訊等運算元的準備指令,亦即, 在同一指令集1 0的Y資訊欄1 2内,也可能同時記述相對X資 訊攔11的執行指令並不獨立的準備指令的指令集。於是, 也有可能將這些指令集獨立于本發明的X資訊欄丨丨資訊 搁1 2且f同一指令集内作為無關的指令集混雜並程式化。 下面並,有為了易於說明本發明,而具體地記載那樣的實 例。但疋j §己錄了記述在X資訊欄1 1和Y資訊欄内的是内容 獨立的指令集1 0,而記述在X資訊欄和Y資訊欄内的則是内 容相關的指令集已混雜的程式產品或裎式的記錄媒體等, 這些也包含在本發明的範圍内。 圖3中示-出本案的指令集1〇的簡例。第卜^個指令集1〇 的τ (j 1)表不在它的$資訊欄丨丨的類型資訊欄16内,3 2位 的立即值被記述在闾一沾八隹欠 • ^ ^ Η 扣7集的Υ貧訊攔丨2内。於是,在 其指令集T ( j - 1 )的γ資謂間1 9 · 貝汛械U円,圮载有「#0 0 0 0 1 234H」 ^在下—個第j個指令#T( j)内,MOVE被記述 在X貝㈣U的執行指令資訊攔15内,暫存器㈣記載在
\\CHENLIN\Lika\lika\irp.alll22.ptd 第21頁 聊711
目士標資訊欄17内。因此,當一取出該第】個指令集T(j) =,控制單元的ALU便把由前一指令資訊襴Τ ι)所定義 的立即值r#0 0 0 0 1 234H」收容在 這樣,在本案的指令集戰後,=内令辈τ⑴表示 二上令集10)中,執行指令通過記述指令集Τ。)的前- 來進行其執行指令的準備。因此,僅依靠指 二木(])雖不能判斷構成控制單元的ALU所執行的處理内 =二但依據二個指令集T(卜:^及^])可直接決定出ALU所 仃的處理内容,而且,在指令集τ(卜n的執行指令集15
二通過不取決於該指令集的γ資訊欄12的指令集T( j — j ) 2前指令集的y貧訊欄12,能記述待執行準備處理的指 令。而且,在指令集T( j)的類型資訊欄1 6以及Y資訊欄1 2 ^ 。己述著被兄述於下一指令集的執行指令資訊欄内的執 行指令準備資訊。
人隹在本例中’某些執行指令是在記述於X資訊欄11内指 :集T ( j )的前一個指令集T ( j —丨)的γ資訊攔丨2内記述著該 $行指令的準備資訊(準備指令)。亦即,準備指令的等待 ^間雖成為1個同步脈衝的例子,但記述準備資訊的指令 不並非局限於它的前一個指令集。例如,以具有多個ALU 2拉制單元的控制程式或旨在控制後述資料流程準備指令 寻’無需其前面的指令集。由準備指令所設定的ALU狀態 (f ^或界面)或樣板的構成若能保持到具有對應於其準備 指令的執行指令的指令集取出並執行,則用具有執行指令 的指令集1 0的數個指令前的指令集丨〇的Y資訊攔1 2便可記
495711
五、發明說明(20) 述準備指令。 抑圖4、表示^按圖3所示的指令集,在作為暫存器功能的暫 存态文卷或圯憶體内收容資料的方式。處理器取出第一1 個指令集T(j-l),通過該γ資訊欄12的準備指令使立^
「# 0 0 0 0 1 234#」鎖存在處理器中ALU的源暫存器Dp〇 R 内。於是,處理器取出下一個第j個指令集丁(〗),用執行 其X資訊欄11的執行指令M0VE迴圈而儲存在緩衝暫存器 内。隨後,將緩衝暫存器29b的資料收容於記憶體或ς 器文卷29a的暫存器!^3地址内。因此,收容物件即使^是 暫存器而是記憶體,若採用本案的指令集丨〇,通過在執^行 指令之前進行基於準備資訊的處理,便能用執行指令的迴擊 圈來取數(1 〇 a d )或儲存資料。 、圖5表示通過本案的指令集1 0具有可執行記述處理内 容的程式的控制單元30的處理器(資料處理裝置)38的概略 構成。具有本案指令集1 〇的微代碼或微程式丨8被記憶在代 碼ROM39内。控制單元30具有通過程式計數器從代碼r〇M39 中隨時取出微程式的指令集10的取出單元31,以及將被取 出的指令集1 0的X資訊襴11解碼,且同時具有選擇目標暫 存器34d並鎖存ALU34邏輯運算結杲功能的第一執行控制單 元3 2兩部分來決定或斷定A L U 3 4的處理内容。 Φ 還有’控制單元3 0具有基於X資訊攔1 1的類型資訊襴 1 6中資訊將被取出的指令集1 〇的γ資訊攔〗2解碼,並具備 選擇運算處理單元(ALU) 34的源暫存器34s功能的第二執行 控制单元3 3。該第二執行控制單元3 3除類型資訊攔1 6的資
\\CHENLIN\Lika\1ika\imal1122.ptd
495711 發明說明(21) 訊外,能獨立於X資訊攔n的内容解釋γ資訊欄丨2的指令或 資訊。第二執行控制單元33若是被記述在γ資訊欄12内的 資訊規定資料流程時,它也具備ALU34的源及目標的選擇 或設定,亦即具有能決定出ALU34的界面並進一步連續地 保持該狀態直至有指定的同步脈衝或解除的指示為止的功 能。還有,對於Y資訊攔丨2的資訊規定資料流程,該第二 執行控制單元33也進一步決定ALU34的處理内容,在指定 的期間内保持其狀態。 因此,第一執行控制單元32為了將χ資訊欄丨丨的執行 指令解碼,以執行該執行指令的運算或其他資料處理,可 通過事先被設定的處理單元進行運算或其他資料處理的第 &制步騄。3 一方面,第二執行控制單元則為了將γ :訊攔1—2的準備資訊解碼、獨立於第一執行控制單元以的 執灯内W及在該第—執行控制單元32進行的第—控制步 驟能=運算或其他資料處if,進行設定處理單 弟二控制步驟。 本案的控制單凡30進一步具備多個這種執行控制 與?34,的組合,通過這種組合便可執行各種各樣 "匕’以本案控制單元30為芯或周邊電路,構成 以南速處理圖像資料的DSP,有 又 處理的CPU或ΜΡϋ等。 门ι退仃吊用數位 民在一圖6,圖9中表示用本案控制單元3〇執行的程式例。 二所^的^式樣程式41是作成可用已知cpu或執行的 例。该程式疋從#START的位址開始的表中取出最大值,、一
495711 五、發明說明(22) 檢測出表示最終資料的#END程式便結束。 圖7所記載的程式4 2是將與圖6相同的處理轉換成適於 可執行與本發明有關的指令集控制單元3 〇的程式,表示用 一個指令集可執行兩個指令的例。圖7所示的程式通過編 澤’轉換成與本發明有關指令集的執行程式,便可用控制 卓元3 0加以執行。 圖8表示具有編譯後的本發明指令集1 〇的程式4 3,能 提供具有這種指令集1 0的程式產品1 8,該程式產品被記憶 在用R0M39、RAM或其他適當資料處理裝置可讀取的記錄媒 體上。還有,有可能在以網路環境交換的傳送媒體内填入 式產品4 3或1 8流通。為比較和判斷該程式4 3和程式4 2, 在第一個指令集1 0的Y資訊欄1 2中進行第二個指令集丨〇的 執行指令的準備工作=亦即,表示著在類型資訊攔“内 作為準備資訊的立即值被記述在γ資訊攔丨2内,通過已對γ 資訊襴12解碼的第二執行控制單元32將立即值提供給成為 ALU34源的高速緩衝暫存器或暫存器。於是,執行第二個 指令集1〇時,能對已整理進行該執行指令準備工作的 tLU3l進Λ執行指Λ15。亦即’對於目標資訊攔1 7中所規 =的曰子為,/、疋單一地執行執行指令資訊搁1 5的謝Ε指 令0 同樣’在第二個指令集1〇的 4,+. -第三個指令集1〇的執行指」攔12内,§己述者下 為Μ_及ADD的準備資訊設定= ㈣行指令’和作 類型資訊欄16中定義的暫存^側^存器的指令。因此, ^☆和立即值均被記述在資訊攔
495711 五、發明說明(23) 1 2内。 本木的43記述著與上述相同的第三個以 Ϊ Ϊ ::個指令集1 〇的類型資訊攔1 6及¥資訊欄;2^ 集1 ^ if 個指令集10的執行指令15的準備資吼。 _。因此^第ΛΓΛ處條件分支處理 牡弟一個扣令集丨0中.,通過其類 1 6和Y資訊攔1 2,在下一勃 、貝戒鈿 ^Ρ1 , _ΜηΛΑ 卜執仃指令15中成為比較物件暫存
口口丨口 :END的立即值貢料UFFFFFFFFH)和分支物件#UE _〇〇5_),並且作為準備資訊被記述。因J 二執仃弟四個指令集10的執行指令15時,因在用作比咬帝 路2動作運算處理單元34内設定輸入值,戶斤以,可由其】 ,:=比較結[還有’因跳躍位址被設定在取出位:止 2内,所以,在執行指令15的條件分支上,由比較結果 用其迴圈能取出過渡物件的指令集丨〇。 在第四個指令集10中,通過I類型資訊攔16&γ資訊 欄12叫乍為下一第五個指令集1〇執行指令15的比較處理 jMP)和條件义支處理(j cc)的準備資訊記述比較暫存器的 資訊(R0及R1)和分支物件#L〇〇p的位址(#〇〇〇〇〇496h)。°因 此i與第四個指令集一樣,執行第五個指令集1 〇時,因用 運异處理單元34執行已記述在χ資訊欄n内的CMp和JCC的 界面正在整理著,所以,比較和條件分支處理用其迴圈便 可執行。 在其第五個指令集10的Y資訊攔12内,作為下一第六 個指令集ίο的執行指令傳送處理(M〇VE)及分支處理(jMp) 495711 五、發明說明(24) 的準備貢訊記述著源側的暫存器資訊(R丨)和過渡物件 UOOP的地址。因此,執行第六個指令集1〇時〜,用該 將資料收容在目標暫存器R0内,就能從過渡物件#赚的 位址取出指令。 這樣,若根據本發明的指令集,就能分離執行指令和 記述為進行該執行指令而用的界面等的準備指令。而且, 在執行扎令之别將準備指令記述在被取出的指令集並加以 處理。因此,在執行被記述在各個指令集内的執^亍指令 ,,因數據從ALU34的源側讀出,故變為只是執行純粹的 二術=令。因此,^特性良好,執行頻率數特性提高。而 ,執仃指令雖有前後差異,但與已知的管線相同,可以 μ性地進行指令取出,暫存器解 以提高總處理能力。 处-寻也可 集,所以 多條指令 還有 分支條件 运有,因本案的程式能將二個指令記述為一個指八 行與VLIW同樣的程式計數器附i的 就可提咼處理速度。 ί第四個指令集的執行指令資訊欄15内記述有 二π 以义支物件的位址被記述在該指令隼之前的第 —個礼令集的Y資訊欄丨2内。因此, 、· 支條件成立時能取出或執二位址,在分 也可事先取出分支物件件指令 支物件的執行指令準備工作=,::=執行分 令,也無需1個同步脈衝便 疋刀支物件的指 /衝便可執行,可用1個同步脈衝單位
UCHENLlNALlkaUik^imalll22.ptd 第27頁
495711 五、發明說明
30中’使供其處理而用的專用兩 態,脫離程式計數哭的_制i 7 =為事先被設置的狀 I妖叩的ί工制亚可通過三個曾 M Si’匕知的那樣’通過定義資料流程而不 採用刀支心令便可執行與圖6或圖7所記載程 理。因此,雖是常用的控制單位3〇,卻可能非常高^ 效地進行與具有專用電路控制單元同樣的特定處理了 通過與本發明有關的指令集以及控制單元,可將進
各種^理的貧料流程或仿真資料流程設置在控制單元内。 攻些貝料流程作為樣本也可適用於其他處理或其他程式, 採用^體:隨時變更硬體使之成為適於特定資料處理的構 成,意味著即使是其他程式或其他硬體也可實現該構成。 於是’也可能設定多個這種資料流程,也可採用軟體在控 制早元中疋義多才曰令流(mu^ti command stream)。因此, 平行執行多個處理變得極為簡單,而通過程式設計則可自 由控制其執行内容。
圖1 1用系統LS I 5 0圖像表示由已具有本案X資訊欄丨丨及 Y資訊欄1 2的指令集1 〇來定義資料流程具有多個處理單元 (樣板)的資料處理裝置概略構成。該系統LSI 50具有進行 資料處理動作的處理器領域5 1、收容控制該處理器領域5 1 處理程式1 8的代碼RAM52、和記憶其他控制資訊或處理闬 資料並成為初級網路領域的資料r A Μ 5 3。處理器領域5 1具 有取出程式碼的取出單元(FU55)、進行多目的處理的常用
495711 五、發明說明(27) 資料處理早元(多目的A L ϋ、第一控制單元)5 6、和能以資 料流程方式處理資料的資料流程處理單元(DFU、第二控制 單元)57。 本例的LS I 5 0能將包含在一個指令集丨〇内一個X資訊攔 1 1及Y貢訊欄12的程式碼解碼並執行處理。因此,FU55具 有能收容已取出的指令集丨〇的X資訊欄丨丨指令的取出暫存 器(FR(X) )61x ’還具有能收容γ資訊欄丨丨指令的取出暫存 器(FR(Y))61y °此外,還具有將被鎖存在FR(x)6hx的指令 解碼的X解碼器62x和將被鎖存在FR(Y)61y的指令解碼的γ 解碼器62y。還具備通過這些解碼器62χ及62y的解碼結 果,收容下一指令集的位址,作為程式計數器發揮作用的 暫存器(PC)63。因此,從被收容在代碼RAM52内锃 定地址可隨時取出下一指令集。 一气勺才曰 一在^例的LSI5〇中,X解碼器62X具有用作上述第一執 订控制單兀32的功能。因此,χ解碼器62χ基於記述人 集1 0的X貧訊欄1 1内執行指令執行本發明的第一控制+曰7 驟。還有,Υ解碼器62y具有用作第二執行控制單工元'二 能。因此,Y解碼器62y基於記述在指令集丨〇的γ資' 内準備資訊執行本發明的第二控制步驟。亦即,、° /安 資料處理裝置控制,在取出單元55中進行取出本八 集的步驟,即在X解碼器62x中,I 了能將第H ^ 行指令解碼,並能執行其執行指令的運算或其他料 而進行第一控制步驟,該步驟由事先設定的處理單=理 相應運算或其他資料處s,在γ解碼器62y中,為了能獨:
\\CHENLIX\Lika\lika\imal1122.ptd 第30頁 495711 五、發明說明(28) 於第一控制步驟並執行運算或豆他 巧步驟,該步驟對第二資訊攔的準備:心,進”二控 單元的狀態。 貝σ艮解碼並設定處理 多目的ALU56具有在圖5中說明 收容該ALUM的輸入輪出資异早元(ALU)34和 解碼的指令若是ALU34的執行指3 。在F㈣中被 62X中的解碼信號'隼備-貝訊’ X解碼器 供給多目的ALU56,如上$二^ Υ的解碼信號4 y被提 理。 上兄明的那樣執行在ALU34中的處 DFU57具有為構成能進行多種次 資料流程而配置的多個m $ 、貝料、飢程或仿真 基於圖Θ以及圖1 〇的說明那样 θ ^ 各掭板7 1如 元耸那样… 疋具有用作如運算處理覃 、:U寺那樣的4寸疋資料通路或資田 早几(處理電路)。於是,名V次1,〇 "b 1 ^ ^ 作爲進供次_品1 、 在Y貝讯欄1 2内,Y解碼器62y將 :“1 ί 破記述的資料流程指定指令25解碼,利用 ’即可規定出則57的處理單元的樣 :
界面及處理内容。 J 因此,有可能通過記述在γ資訊欄12内的資料流 令25來變更這些樣板71的連接及處理内容。因此,通過曰這 些樣板71的組合,利用程式18在樣板領域72内有可能愈、、= 地構成適於特定資料處理的資料通路。因此,在處理 中’形成為特定處理而設置專用電路的狀態,脫離程式計 數為的控制而能執行在該處的處理。亦即,因能通過資料 級程4日疋指令2 5變更樣板7 1的輸入輸出及處理内容,本例
\\CHENLIN\Lika\lika\imal1122.ptd
495711
的處理器5 1採用軟體便可將硬體隨時變更成適於特定資料 處理的構成。 如圖1 2 (a)所示那樣,在用本例的處理器& 1的肝u 5 7對 输入資料4 in加以處理並使之成為輸出資料0 〇ut的情況 下,例如,如圖1 2 (b)所示那樣,為了能將樣板卜丨,卜2 及1 一3進订串聯的資料處理,用資料流程指定指令25便可 設定樣板71的界面。同樣,即使對樣板領域72的其他樣板 7 1 L二定匕們的界面並適當地組合多個樣板7 1,也可能構 成1料,路或資料流程,利用多個程式丨8在樣板領域72可 叶構木適於輸入資料0 i n處理的專用處理單元用 料通路7 3。 、 另_方面,當對輸入資料0 i η的處理改變時,象圖 12(c)所示那樣,通過資料流程指定指令25能改變樣板71 之間的連接。亦即,γ解碼器62y將資料流程指令%
1更符合樣板71的界面。通過這樣來作為γ解碼器62丫的 控φ|](弟一控制步驟),在樣板領域72内串聯樣板K 2 - η及m-η,有可能構築適於執行其他不同處理的一 少 種資料通路73。 、•垔或夕 逛有’也可能單獨組合樣板7 1或組合多個樣板7丨所構 成的處理單元分配給平行執行的其他處理或其他程式。若 多個處理器51以適當的路徑連接,則為了以其他理= 5 1為主而進行的資料處理,也可能構成已組合樣板^的^ 列(train)(資料通路)73,使其能極有效地活用稱作樣板τ 7 1的資料處理資源。 $
\\CHENLIN\Lika\lika\imal1122.ptd 第32頁 而 FPGA, 寺功能 為更南 令25, 合,就 料流程 但此時 接,以 71中所 且,不 與本發 或邏輯 水準的 通過定 構成適 指定指 也因變 選擇樣 執行的 同於旨在 明有關的 閘的特定 資料處理 義或再定 於特定處 令2 5雖能 更樣板71 板7 1内部 處理内容 TO/11
五、發明說明(30) 貫現涵蓋AND或OR等單純邏輯閘的 ‘板7 1是將基本上已具有作為a l U 資料通路實際安裝在内部,使其成 單元。於是,利用資料流程指定指 義樣板7 1的界面來改變它們的組 理的更大資料通路。而且,通過資 定義在樣板7 1中執行的處理内容, 内部的ALU或其他邏輯閘等的連 資料通路一部分的方式來定義樣板 匕將配有夕個本例樣板7 1的D F U 5 7硬體變更成適 於特疋貪料處理的構成時,沒有必要如FpGA那樣重新配對 mapping)整個基片或被限定的邏輯塊單元,轉換事先設 ,^樣板71或樣板領域72内的資料通路,通過選擇其中一 部=,採用事先準備的ALU或邏輯閘便可實現所要求的資 料通路。亦即,在樣板7 1内部必要的範圍内重新設定邏輯 閘2結合即可,也即在樣板71間必要的範圍内重新設定其 組合。因此,在極短的時間内以同步脈衝單位就能將硬體 變更成適於特定資料處理的構成。 而且’未内置有邏輯閘的FPGA是極為常用的,相反, 為形成可貫現特定應用功能的邏輯電路,浪費的配線也多 且几長,彳§號路徑也沒變短。因此,在執行應用時,對已 特殊化的ASIC來說,實際安裝面積變大使AC特性也低劣 化。針對這一點’在採用預先内置適當邏輯閘的本例樣板
495711
五、發明說明(31) 7 1處理器5 1中,如FPGA那樣玎防止形成龐大的浪費領域, AC特性也可得到改善。因此,以樣板7 1為基礎的本例資轉 處理單元5 7是用程式來變更硬體組態構成的處理裝置,亦 即,能以更高的水平提供具有軟體靈活性和硬體高速性的 資料處理裝置。 的邏輯 實際安 料處理 置的情 地進行 處理速 的處理 的必然 硬體的 上,也 不同, 提供執 以適當的 板7 1的資 料處理裝 檢查頻繁 間也成為 例樣板71 蓋其降低 。於是, 在這些點 處理裝置 能簡單地 裝密度實現 單元是較經 況下,為涵 再構成邏輯 度降低的原 器51中,因 性減少,因 再構成也可 與以FPGA為 它是通過軟 行速度报快 於是,本例樣板71因預先 為實現特定應用的處理,就能 必要的邏輯閘。因此,採用樣 濟的。還有,在以FPGA構成資 蓋實際安裝密度的降低,必須 程式的下載,為此而花費的時 因。針對這一點,在已採用本 實際安裝密度較高,所以,涵 此,對再構成硬體的要求減少 用同步脈衝單位來控制。即使 主的重組態(reconfigurable) 體能再構築硬體的處理裝置, 的資料處理裝置。 而且,圖11所示的DFU57具有能匯總定義或設定被配 置在樣板領域72内的樣板71界面及處理内容(以後為纟且能 資料)的組態暫存器(CREG)75,和已記憶了設置在該 心 CREG75内多個組態資料Ci( i表示適當的整數,下同%的 恶RAM(CRAM)76。於是,作為資料流程指定指令25被稱 「DFSETCi」的指令預先準備,γ解碼器62y 一將該指令解
495711
碼,、就從被記憶在CREG76内的組態資料Ci中將所要求的 =載入到CREG75内。、结果,能匯總並變更被配置在樣板領 V 7 2内的多個樣板7}組態,或者,能用由多個樣板”構成 的處理塊單元來變更該組態。 、、還有,通過Y解碼器62y對稱作DFLWI或DFLWC的上述資 料*私私令2 5解碼,也可能設定或變更各個樣板7 1的组 態。因此,在本例的DFU57中,有可能就用一指令來變更 必須具有多個資訊的多個樣板71的組態,指令效率良好, 而且也能縮短再構成所消耗的時間。 〆
而且,本例的DFU57在CRAM76中具有以塊為單位下 制器77。還有,預先準備作為資料流程指定 才曰々25的DFLOADBCi」,Υ解碼器62y 一將該指令解碼, 就從預先準備在資料RAM53等内的多個組態資料78中, 進行中的處理或今後會發生的處採 \ 片 下載到組態記憶體中二態資料Cl事先 _内採用小容量的高速内這種構成的 、 . . 乂止 口己^ 體(associative memory )’而且能在短時間内靈活地變更硬體。 在圖1 3中不出樣板71的—圖例。 DFU57内的資料流程RAM(DFRAM)79為媒介,成為疋能乂交車^直在
他樣板7 1和資料的構成,以I / Q m N 板71的處理結果輸入到輸入高逮缓將其他樣 將處理的結果輸出到輸出高速唛 < 子态82a〜82d内’ 樣板在這些輸入高速緩衝;;=存器83a,d内。該 存的資料A, B,C及D執行以下;:82a/82d内對各個被儲 〜里’違樣板具有將運算結
495711 五、發明說明(33) 2存於輸出高速緩衝暫存器83b内’將此較的 於輸出高速緩衝暫存器83c内的資料通路』’才 老 〇。邊標^板7 1的 :王結果再以I/O界面及DFRAM79為媒介輪出到其他樣板 IF A = ? THEN (C+B):0 ELSE (C-B)-D (A) 該樣板7 1具有獨自的組態暫存器84,丄 ^ 存器的資料控制多個選擇器89,有選擇奋於该暫 85、加算器86、比較器87等的邏輯閘信規。因&,様 通過變更組態暫存器84的資料,也 ^ v + ^ 此私用貧料通路88的 :部分來處理。例如,也可能不採用控制部分85 行以下處理。 丨义 < 机 (b+c):d (B - C)二 D.........(B) 還有,通過同樣地變更組態暫存器84的 4 m采用資料通糊的—部分,即使作為利用基於_ 85的條件也可使用判定電路、加法器86的加減運算帝^二 比較為8 7的比較電路。這些邏輯閘因用事先製作 I 上的專用電路所構成,即使作為電路構成,二處理】=· ,:浪費’於是,輸入及輸出資料的組態更可能通過二能 的界面δ:來變更’用本例的樣板μ 處理所要未貢料處理的資料流程的全部或一部分。 該樣板7 1基於來自上述獨自組態暫存器資料的
495711 五、發明說明(34) CREG75資料,以及來自FU55的Y解碼器(YDEC)62y的資料均 砰能改寫,其選擇可由來自Y解碼器62y的信號控制。亦 即,如上述那樣樣板71的組態可通過基於資料流程指定指 令2 5的Y解碼為6 2 y或用该Y解碼器6 2 y所執行的第一梓制 少驟來,而且,通過嶋指令等,隨 憶的組恶貧料C 1 ’與其它的樣板一起改變組態,也可能變 更硬體構成。還有,因能通過資料流程指定指令25設定組 態暫存器84的資料,因而能部分地選擇使用樣板了丨的特定 資料通路8 8。 因此,不論使樣板71以個別或群組或塊為單位,通過 資料流程指定指令25均可改變組態,#能靈活地構理 器5 1的資料通路。 “ 樣板71的構成並不局限於本例,通過事先準備 組合就能使適當種類和數量的樣板實現其他資料戍 、, 通過改變它們的組合來變更部分處理内容,诵码,丄$ 板71的資料通路可處理多數的資料處理。亦5了 μ =二, 發明’先準備某種緊密程度的資料通路作為二:: 板,指示出該資料通路間的組合,有 頒的樣 W」月匕過入咨止丨、六
程螌的處理内來4求高性能化。於是,在 N ,^ ^ ^ ii: ffl ^ 疋 在樣板中無法對庫 的處理有可把祙用處理器51的多目的ALU56的/心 行。而且,本例的多目的ALU56通過記述 隹b .丸 訊欄12内的準備指♦,將由分支等所發生的性V;10的Y資 在最小限度内。因此,通過已搭載本例處理哭制止 LSI50 ’使變更硬體與用程式記述處理同樣^順、利^
\\CHENLIN\Lika\l ika\imal H22.ptd 第37頁 4yy/ii 五、發明說明(35) --------- $ I,從而把提供可咼速處理或即時處理的高性能L S I。 :^對於應用的變更或規格變更等,也可靈活地與之對 心 C可防止伴隨規格變更等而導致的處理性能降低。 開發或設計系統1^150時,在採用系統LSI50來判明 ^,應用概要情況,以適於該應用處理構成的樣板為 、二、、可構成樣板領域7 2,用資料流程型的處理執行更多 料處理’就有可能提高處理性能。在提供常用⑻的 二婉:以適於以浮動小數點運算、乘除運算、圖像處理 1、二㊉用處理構成的樣板為中心,也可構成樣板領域 (ί ° 2樣’依罪與本發明有關的指令集以及資料處理裝 斜、、1 Γ口 L能提供具有可進行各種處理的資料流程或仿真資 =二^81,抓用軟體可將執行資料流程的硬體隨時變 ΐ f t於特ί資料處理的構成。$有,依靠上述說明的樣 °執仃貝料流程型處理的架構體系即DFU57或樣板 二$ Α不取決於具有X資訊欄1 1及Υ資訊欄1 2的指令集1 〇, ,可此列入控制單兀或處理器等資料處理裝置内,從而能 硬體變更時間縮M,AC特性也良好的資料處理裝 還有將本例的D F U 5 7或樣板領域7 2,用通用塑常同 組合處理器即助記碼一同列入動作的處理器,也可構成系 、、先LS I、用樣板7 1無法對應的處理可由常用處理器來處 理。然而,在常用處理器中,如上述那樣,會存在因準備 分支的性能惡化或供運算處理而用的暫存器消耗同步脈衝
\\CHENLIN\Lika\l ika\irr.al 1122.ptd 第38頁 ^5711
集10 五、發明說明(36) 寺問題,最好是形成將具有本例的X - Y資訊攔的指令 解碼並能執行如處理器5 1那樣的方式。 而且’若是本例處理器51以及指令集10採用γ =,平行於其他的處理,有可能在執行資料處理前設定 '定更DFU57的組態’在處理效率及程式效率方面都很停 越。通過將已知的助記碼的指令碼以及資料流程型指夂令 記述在一指令集中,也可能提高程式效率。然而,如I址 那樣,本例指令集10的Y資訊欄12功能不只是記述資料漭l 還有,與本發明有關的處理器可利用γ資訊攔丨2在 行之前來改變實際的資料通路構成。針對這一點,在已4 , 的處理器中,多個多處理器間的連接方法只有=過共有= 億體等方法,即使存在空閒(i d 1 e )狀態的處理器,也& 從外部利用其内部的資料處理單元。在與本發明有關的= 料處理裝置中,通過設定適當的資料流程,也可能由其他 控制單元或資料處理使用其中剩餘的硬體。 而且,作為次要的效果,通過指令執行順序的效率化 和確保内部資料通路的獨立性以及自由度(流用度)的提 高,在與本發明有關的控制單元或採用該單元的處理器 中’只要在執行硬體方面男多餘,即使同時供給性貿完全i藝 不同的上下文(context)的指令順序也能毫無問題地執 行。 而且’在目前’源于加強硬體和軟體的設計所引起的 優點正被大量地指出,但通過採用基於本發明的指令集及
495711 五、發明說明(37) 控制單元,能夠對滿足用戶要求作演譯或資料處理的硬體 成本提供一個有效而經濟的解決方案,例如,在抑制硬體 成本最小化的同時,將對性能提高有成效的資料通路(資 料流程)和與過去的資料通路有關的構成結果資訊與本發 明有關的指令集(舊DAP/DNA)的資料資訊和其後被追加的 硬體構成資訊以及執行資料處理的順序資訊進行新的類型 組合結果,亦即,導入可定義新資料流糕的軟體,使其有 可能提供浪費極少的最佳解決方案。
還有,以往因硬體構成難以要素化,所以,不存在其 相互組合本身的靈活性,為提高性能,主流的作法基本上 是以追加一個新的資料通路。於是,不論是在為提高性能 而採用的資訊累積這一點上,還是實際在實現該點上追加 必需的硬體資訊觀點,都難以資料化,資料庫化是很困難 的。對於這/點,若依靠本發明,事先以樣板方式準備若 干某種緊密程度的資料通路,指示出其資料通路間的組 合,通過帶入資料流程型處理内即可謀求高性能化。於 是,使極微細單位硬體和軟體間的合作的估算也變得容易 了。還有,也可能累積硬體和軟體的折衷(trade 〇f f )資 訊。以資料通路為單位,其組合的可能性與對處理性能的 有效程度有密=的關係。因此,有可能累積硬體和軟體緊 铪的執行性犯資料或正確估算對應於處理要求的性能成 本。當然,因k些貧斜通路可能是在不停止執行主要處理 或常用處理下實現的,所以,針對性能要I,有可能從純 粹的過去累積的與本發明有關的指令集以及硬體的資料來
495711 五、發明說明(38) 預測追加什麼、如何追加以及追加後所要求的結果。 不僅對目前進行中的設計成本或規格制定成本的顯 著降低有貢獻,對以後的新設計,以所需最低限度來完成 應追加所需硬體和軟體的折衷也有成效。還有,將因對應 於處理形態的内部資料通路向外部借出而變得很容易,所 以’有可能達到硬體資源分享化,在多個與本發明有關的 模組(module) (DAP/DNA模組)間用緊密的硬體來實現平行 處理化。 而且,上述所示的資料處理裝置以及指令集等只不過 是本發明的一實例’例如,在資料處理裝置中,將代碼 RAM或資料RAM等作成外部的RAM或㈧纟丨,也可能加上這些來 設計外部的DRAM或讣^等間的界面。而且,作為與外部其 他I置連接用的輸入輸出界面等,具有用作系統L $ I等資 料處理裝置眾所周知功能的資料處理裝置也被包含在本貝發 明之中。因此,本發明應按以下申請專利範圍所記載的^ 理解和掌握,包含在這些申請專利範圍内的變型 证 包含在本發明的範圍内。 、 :良 還有,在由本發明指令集以及資料處理裝置 的程式環境中’即使在上述指令以外也可能設置特=新 令。例如,與現在的程式不同,同時啟動一個以上: (程式),結束用指令級(1 eve 1)支援平行處理啟4 XF0RK、指定物件(程式)間同步的χδγΝΚ、指令、 :管線結合的XPIPE、現在的物件啟動下-物件的
寺這些都屬於正在被考慮之列。 XSWITCH
4M711
匕八^上所說明的那樣,與本發明有關的指令集和採用兮 ^令集的程式以及可執行該程式的資料處理裝置的技術f ,此可大幅地變更已知的指令集構成方法本身,從而,可 得心應手地解決上述用已知技術難以對應的問題, 求較大的性能提高。 ^ 匕$即’與本發明有關的指令集,通過以完全不同於已 $指令集構成方法的觀點來重新看待指令集的構成方法, 其有政地解決用已知技術認為極難解決的眾多問題。
奋/, j方法,由於極為統一地採罔傳統的先入觀點加以 : 丄所以,使其解決方案遠離本質上的意義,由非常廢 t =雜的硬體構成來解決這些問題,這是導致該項= 二旦二,的技術及其上所構築各種資訊處理產品開發成本 2 =入=的原因。本發明通過實現原本以應用要求為優先 得品性能達到有成效,❿且還可較易獲 二k t、#又问開發效率和保證產品質量的手段。 逖有次依據本發明,就可能積累對性能提高有成效的資料 通路(貝料流程)稱作樣板的資產,和使用該資的 隹 二欠 . ^ ^ J "2 Θ 二= 。而且’基於其後所追加的硬體構成資訊及執行
=料處理的順序資訊,能隨時求得更新的最佳解決方案。 因此’對以往存在的應用間資產的共有化和硬體資產的共 有$ ’以及對高性能化的適當硬體投資使其朝更健全的方 向發展’即使作為構築在網路化社會上的技術基礎建設也 可期待會有較大的成效。
495711
495711
圖1表示本發明的指令集的概要圖。 少纤細說啊 _ Z马進 — π 丫呆的 圖3表示實際應用圖丨所示指令集的簡例。 式 圖4表示按圖3所示指令集將資料收容在暫存器内的方 圖5表示可執行本發明指令集的資料處理裝置 圖6為可用已知CPU或DSP執行的試樣程式例。回 圖7為與本發明有關的資料處理裝置的程式例。 圖8表示將圖7所示的程式編譯成盥本發 集的執行程式例。 成……關的指令 圖9為不同于與本發明有關的資料處理裝置 例。 "王八 圖 圖1 0表示由圖9的程式所構成的資料流程圖。 理裝置概略構成。 11表不利用本發明指今隹可拥 欠虹南 概略構成。 4曰…執仃,、枓處理的資料處 圖1 2表示改變樣板的組合而燋士 丁 π蚕田+ Α 、且。向構成不同專用電路的方 式。 圖1 3表示樣板的一圖例。 圖號說明 1 5指令資訊欄 2 3資訊 3 0、3 2、3 3控制單元 3 4處理單% 16類型 2 1地址 2 9b緩衝暫存器 3 6排程器 4 1 - 4 4程式 1 7資訊攔 2 5流程指定指令
3 1取出單元 3 5暫存器群 56多目的ALU 5 1處理器
\\CHENLIN\Lika\lika\imalll22.ptd 第44頁 495711 圖式簡單說明 7 1樣板
HHI 第45頁 \\CHENLIN\Lika\lika\imalll22.ptd

Claims (1)

  1. 495711 六、申請專利範圍 1. 一種控制程式產品,該控制程式產品設有第一資 訊攔指令集,該第一資訊攔具有町記述指示出構成資料處 理裝置至少一個處理單元所執行的運算或其他資料處理内 容的執行指令,還設有第二資訊檮1的指令集可記述以所述 執行指令執行的運算或其他資料處理在可執行狀態中設定 所述處理單元的準備資訊,對於所述第一資訊攔所記述的 執行指令的内容,獨立運算或其他資料處理的所述準備資 訊被記述在所述第二資訊攔内的所述指令集。 2. 述第二 該準備 第一資 3. 所述準 所述處 4· 所述準 5. 所述資 資訊, 6. 所述處 訊,可 程式產品’在所 的所述指令集, 述指令集的所述 程式產品,通過 時期,可指示出 程式產品,通過 處理内容。 秋式座品,其中 ,通過所述準備 通路組合。 程式產品,其中 通過所述準備資 如申請寻利範圍第1項所述的徑制 資訊欄内具有所述準備資訊被記述 資訊則是為執行被記述在後續的所 訊爛内所述執行指令而用的。 如申請專利範圍第1項所述的控制 備資訊,獨立於其處理單元的執行 理單元的輸入及/或輸出界面。 如申請專利範圍第1項所述的控制 備資訊,可指示出所述處理 :’ 平凡的 如申請專利範圍第1項所述的 料處理裝置具有多個所述處理^刺 可指示出源於所述處理單元丄元 如申請專利範圍第1項所述的=料 理單元具有特定的内部資制 選擇所述内部資料通路的—八’ 程式產 通過
    \\CHENLIN\Lika\l ika\imaUl22.ptci 第46頁 如申請專利範圍第1項所刀。 処的控制 495711 六、申請專利範圍 所述準備資訊,可指示出由多個所述處理單元所構成的處 理塊輪入及/或輸出界面。 8 ·如申請專利範圍第1項所述的控制程式產品,其中 所述資料處理裝置具有收容了規定著所述處理塊輸入/或 輸出界面多個組態資料的記憶體;通過所述準備資訊,選 擇收容在所述記憶體中的所述多個組態資料之一,可變更 前述處理塊的輸入及/或輸出界面。 所述資 運算單 内部資 所述第 述執行 運算單 訊被記 10 過所述 料通路 如申請專利範圍第1項所述的控制程式產品,其中 料處理裝置具有用作所述處理單元的具有算術邏輯 7L的第一控制單元,和作為所述處理單元具備特定 料通路多個資料流程處理單元的第二控制單元·,在 一貝说欄内記述有操作所述算術邏輯運算單元的所 才一曰令,在所述第二資訊襴内具有規定所述算術邏輯 元及/或所述資料流转_ σσ if &所/ 處早元界面的所述準備資 迷的所返指令集。 • 如申請專利範圍第q c 準備資— ^ 員所述的控制程式產品,通 組人。 、所述貢料流程處理單元的資 過所述準備資訊,可選擇貝所述的控制程式產品, 1 2·如申請專利範圍第^内部資料通路的一部分。 所述第二資訊攔内記述有指;所述的控制程式產品, 記憶體間的輸入輸出指A f不暫存器或高速緩衝暫存塞 1 3 ·如申凊專利範圍第 貝所述的控制程式產品,
    495711 六、申請專利範圍 述弟一及/或弟二貧訊爛有具備可記述多個所述執行指令 或所述準備資訊的所述指令集。 14. 一種被記錄控制程式的記錄媒體,該控制程式設 有第一資訊攔指令集,該資訊攔指令集具有可記述指示出 用構成資料處理裝置至少一個處理單元執行的運算或其他 資料處理内容的執行指令,和第二資訊欄指令集,該資訊 攔指令集可記述以所述執行指令執行的運算或其他資料處 理在可執行狀態中設定處理單元的準備資訊;所述指令集 具有對於所述第一資訊欄所記述的所述執行指令的内容, 獨立對準備資訊運算或資料處理。 15· —種嵌入控制程式的傳送媒體,該控制程式設 有第一資訊欄指令集,該資訊櫊指令集具有可記述指示出 用構成資料處理裝置至少一個處理單元執行的運算或其他 資料處理内容的執行指令,和第二資訊欄指令集,該資訊 攔指令集可記述以所述執行指令執行的運算或其他資料處 理在可執行狀態中設定處理單元的準備資訊;該所述指令 集具有對於所述第一資訊欄所記述的執行指令的内容,獨 立運算或其他資料處理所述準備資訊記述在所述第二資訊 欄内。 16· —種資料處理裝置,包含: 執行運算或其他資料處理的至少一個處理單元; 取出第一資訊欄和第二資訊欄指令集的單元,其中第 一資訊襴指令集具有可記述能指示用所述處理單元執行的 運算或其他資料處理内容的執行指令,而第二資訊攔指令
    \\CHENLIN\Lika\lika\imalll22.ptd 第48頁 495711 六、申請專利範圍 集則可記述用所述執行指令執行的運算或其他資料處理在 可執行狀態中設定所述處理單元的準備資訊; 為了將第一資訊欄的所述執行指令解碼,第一執行控 制單元執行其執行指令的運算或其他資料處理可由事先設 定的處理單元進行相應運算或其他資料處理;及 為了將所述第二資訊欄的準備資訊解碼,第二執行控 制單元獨立於第一執行控制單元的執行内容,能執行運算 或其他資料處理而設定所述處理單元的狀態。 17· 如申請專利範圍第1 6項所述的資料處理裝置, 其中所述第一或第二執行控制單元具有可獨立處理的多個 執行控制部分,這些執行控制部分記述在所述第一或第二 資訊欄内多個獨立的所述執行指令或所述準備資訊。 18· 如申請專利範圍第1 6項所述的資料處理裝置, 其中所述第二執行控制單元獨立於其處理單元的執行時 期,設定所述處理單元的輸入及/或輸出界面。 19· 如申請專利範圍第1 6項所述的資料處理裝置, 其中所述第二執行控制單元規定所述處理單元的處理内 容。 2 0· 如申請專利範圍第1 6項所述的資料處理裝置, 其中所述第二執行單元具有多個所述處理單元,所述第二 執行單元控制源於這些處理單元的資料通路組合。 21· 如申請專利範圍第1 6項所述的資料處理裝置, 其中所述處理單元具有特定的内部資料通路。 2 2· 如申請專利範圍第1 6項所述的資料處理裝置,
    \\CHRNLIN\I.ika\l ika\imalll22.ptd 第49頁 495711 y、申請專利範圍 " 豆中戶斤述處理單元具有$少 從綠閘與 其f 1贸二ΛΑ〜* 一 個邏輯閘和連接該避料 輸入输出界面的内部資料通路。 9 3 # 如申請專利範圍笼9 1 妙看, nn生項所述的資料處理表置祕 直中所述弟一執仃控制單元谝 ^ 4 #擇所 β ; Μ %、+、h A 通過所述準備資訊,玎 述處理爭疋的所述内部資料通路的一部分。 24.如申請專利範圍第16項所述的資料處理裝置, 其中所述第二,行控制單元通過所述準備資訊,矸變更由 多個所述處理單元所構成的處理塊輸入及/或輸出界面 25 ·如申請專利範圍第24項所述的資料處理裝 具有已收容了規定所述處理塊輸入及/或輸出界面的多们 組態資料的記憶體·,所述第二執行控制單元通過所述準, 資訊,選擇出被收容在所述記憶體内所述多個組態資料 一,矸變更所述處理塊的輸入及/或輸出界面。 2 6·如申請專利範圍第1 6項所述的資料處理裝置 其中所述第二執行控制單元具有用作管理所述處理單元界 面的排程器功能。 •如申請專利範圍第丨6項所述的資料處理裝置, r〇 Μ 提運 1 ;从货 t 秘奴装从能。 2 7 其中還有具備.用作所述處理單元算術 ^用.^-下尸汀迷處理單兀#㈣邏,,算單元的第 控制單元,和具備用作所述處理單元特=貝料通路多個資 料流程處理單元的第二控制單元;所述f —執仃控制單元 操作所述算術邏輯運算單元,所述第〆。行拴制單元設定 所述算術邏輯運算單元及/或所述資料处"'單元的界 面 2 8·如申請專利範圍第2 頊 所 述的資料處理裝置,
    \\CHENLIN\Lika\lika\imall122.ptd 第50頁 495711 六、 申請專利範圍 其 中所 述 第 二 執 行控 制 單 元 控 制 源 於 所 述資料流程處理 單 元 的資 料 通 路 組 合。 29 • 如申請專利範圍第2 7項所述的資料處理裝置” ) 其 中所 述 資 料 流 程處 理 單 元 具 備 特 定 的 内部資料通路, 所 述 第二 執 行 控 制 口 σ 一 早兀 通 過 所 述 準 備 資 訊 ,可選擇所述資 料 流 程處 理 單 元 的 所述 内 部 資 料 通 路 的 一 部分。 30 • 如申請專利範圍第1 6項所述的資料處理裝置’ 其 中所 述 第 二 執 行控 制 單 元 具 有 控 制 暫 存器或高速緩衝 暫 存 器和 記 憶 體 間 輸入 科J 出 的 功 能 〇 31 • -種資料處理裝置控制方法, •該控制方法具有 執 行運 算 或 其 他 資料 處 理 至 少 _— 個 處 理 早元的資料處理 裝 置 ,具 有 • 取 出 下 列 資 訊欄 指 令 集 的 步 驟 其 中第一資訊攔指 令 集 具有 可 記 述 能 指不 用 所 述 處 理 單 元 執 行運算或其他資 料 處 理内 容 的 執 行 指令 而 第 二 資 訊 爛 指 令集則具有可記 述 甩 所述 執 行 指 令 執行 運 算 或 其 他 資 料 處 理在可執行狀態 中 θ又 定所 述 處 理 單 元的 準 備 資 訊 和 為 了 將 第 一 資訊 爛 的 所 述 執 行 指 令 解碼,第一控制 步 驟 執行 其 執 行 指 令的 運 算 或 其 他 —^ 貢 料 處 理,可通過事先 設 定 的所 述 處 理 單 元進 行 相 應 運 算 或 其 他 資料處理;和 為 了 將 所 述 第二 資 訊搁 的 所 述 準 備 資訊解碼,第二 控 制 步驟 獨 立 於 第 一控 制 步 驟 能 執 行 運 算或其他資料處 理 而 設定 所 述 處 理 〇σ — 早兀 的 狀 態 〇 32 • 如申請專利範圍第3 1項所述的資料處理裝置控
    \\CHENTLiN\Lika\lika\imalll22.ptd 第51頁 495711 六、申請專利範圍 制方法,其中在所述第二控制步驟中,獨立於該處理單元 的執行時期,設定所述處理單元的輸入及/或輸出界面。 33 · 如申請專利範圍第31項所述的的資料處理裝置控制 方法,其中在所述第二控制步驟中,規定所述處理單元的 處理内容。 34 · 如申請專利範圍第3 1項所述的資料處理裝置控 制方法,其中所述資料處理裝置具有多個所述處理單元, 在所述第二控制步驟中,控制源於這些處理單元的資料通 路組合。 3 5· 如申請專利範圍第3 1項所述的資料處理裝置控 制方法,其中所述處理單元具有特定的内部資料通路,在 所述第二控制步驟中,可選擇所述處理單元的所述内部資 料通路一部分。 3 6· 如申請專利範圍第3 1項所述的資料處理裝置控 制方法,在所述第二控制步驟中,可變更由多個所述處理 單元所構成的處理塊輸入及/或輸出界面。 3 7· 如申請專利範圍第3 1項所述的資料處理裝置控 制方法,其中所述資料處理裝置具有收容了規定著所述處 理塊輸入及/或輸出界面多個組態資料的記憶體;在所述 第二控制步驟中,選擇被收容在所述記憶體中的所述多個 組態資料之一,可變更所述處理塊的輸入及/或輸出界 面。 38 · 如申請專利範圍第3 1項所述的資料處理裝置控 制方法,在所述第二控制步驟中,管理著保持所述處理單
    \\CHENLiN\Lika\lika\imalll22.ptd 第52頁 495711
    \ \ C Η ΕΝ LIN \ L i k a \ 1 i k a \ i m a 1112 2. p t d 第53頁
TW089117579A 1999-08-30 2000-08-30 Control program product and data processing device TW495711B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP24413799 1999-08-30

Publications (1)

Publication Number Publication Date
TW495711B true TW495711B (en) 2002-07-21

Family

ID=17114319

Family Applications (2)

Application Number Title Priority Date Filing Date
TW089117580A TW504608B (en) 1999-08-30 2000-08-30 Program product and data processing device
TW089117579A TW495711B (en) 1999-08-30 2000-08-30 Control program product and data processing device

Family Applications Before (1)

Application Number Title Priority Date Filing Date
TW089117580A TW504608B (en) 1999-08-30 2000-08-30 Program product and data processing device

Country Status (16)

Country Link
US (4) US6826674B1 (zh)
EP (2) EP1134654A4 (zh)
JP (2) JP4234925B2 (zh)
KR (2) KR100497078B1 (zh)
CN (3) CN1145879C (zh)
AT (1) ATE466330T1 (zh)
AU (3) AU782238B2 (zh)
BR (2) BR0013595A (zh)
CA (2) CA2348259A1 (zh)
DE (1) DE60044300D1 (zh)
EA (2) EA004071B1 (zh)
HK (1) HK1047326A1 (zh)
IL (4) IL142676A0 (zh)
NZ (2) NZ516679A (zh)
TW (2) TW504608B (zh)
WO (3) WO2001016717A1 (zh)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW504608B (en) * 1999-08-30 2002-10-01 Ip Flex Inc Program product and data processing device
JP2003140886A (ja) * 2001-10-31 2003-05-16 Seiko Epson Corp インストラクションセット及びコンパイラ
US7093225B2 (en) 2002-07-17 2006-08-15 Osann Robert Jr FPGA with hybrid interconnect
US7679398B2 (en) * 2002-07-17 2010-03-16 Osann Jr Robert Reprogrammable instruction DSP
JP4002151B2 (ja) * 2002-07-31 2007-10-31 富士通株式会社 情報処理装置
RU2006100275A (ru) * 2003-06-18 2006-07-10 Амбрик, Инк. (Us) Система разработки интегральной схемы
US20070186076A1 (en) * 2003-06-18 2007-08-09 Jones Anthony M Data pipeline transport system
US20050097306A1 (en) * 2003-09-29 2005-05-05 Gajski Daniel D. No-instruction-set-computer processor
DE10360998B4 (de) * 2003-12-23 2008-09-04 Infineon Technologies Ag Schutz von Chips gegen Attacken
US7937557B2 (en) 2004-03-16 2011-05-03 Vns Portfolio Llc System and method for intercommunication between computers in an array
US9047094B2 (en) * 2004-03-31 2015-06-02 Icera Inc. Apparatus and method for separate asymmetric control processing and data path processing in a dual path processor
JP4451733B2 (ja) * 2004-06-30 2010-04-14 富士通マイクロエレクトロニクス株式会社 半導体装置
JP4893309B2 (ja) * 2004-10-28 2012-03-07 富士ゼロックス株式会社 再構成可能な論理回路を有するデータ処理装置
CN100346292C (zh) * 2005-12-02 2007-10-31 浙江大学 多地址空间异步计算等待响应指令的控制方法
JP4795025B2 (ja) * 2006-01-13 2011-10-19 キヤノン株式会社 ダイナミックリコンフィギャラブルデバイス、制御方法、及びプログラム
US7617383B2 (en) * 2006-02-16 2009-11-10 Vns Portfolio Llc Circular register arrays of a computer
US7966481B2 (en) 2006-02-16 2011-06-21 Vns Portfolio Llc Computer system and method for executing port communications without interrupting the receiving computer
US7904615B2 (en) * 2006-02-16 2011-03-08 Vns Portfolio Llc Asynchronous computer communication
JP4410297B2 (ja) * 2006-03-09 2010-02-03 富士通株式会社 リコンフィギャラブル回路
US7555637B2 (en) * 2007-04-27 2009-06-30 Vns Portfolio Llc Multi-port read/write operations based on register bits set for indicating select ports and transfer directions
WO2008142750A1 (ja) * 2007-05-17 2008-11-27 Fujitsu Limited 演算ユニット、プロセッサ及びプロセッサアーキテクチャ
US7752592B2 (en) * 2007-10-10 2010-07-06 International Business Machines Corporation Scheduler design to optimize system performance using configurable acceleration engines
US20100023730A1 (en) * 2008-07-24 2010-01-28 Vns Portfolio Llc Circular Register Arrays of a Computer
US9069918B2 (en) * 2009-06-12 2015-06-30 Cadence Design Systems, Inc. System and method implementing full-rate writes for simulation acceleration
JP5718558B2 (ja) * 2009-09-16 2015-05-13 富士ゼロックス株式会社 画像データ処理装置
TWI563479B (en) * 2009-12-30 2016-12-21 Tatung Co Field emission display
JP5617282B2 (ja) * 2010-03-09 2014-11-05 富士通セミコンダクター株式会社 データ処理システム
JP5580404B2 (ja) * 2010-03-29 2014-08-27 株式会社東芝 半導体装置
GB2483903A (en) * 2010-09-24 2012-03-28 Advanced Risc Mach Ltd Instruction which specifies the type of the next instruction to be executed
US9412022B2 (en) * 2012-09-06 2016-08-09 Leonard Flom Iris identification system and method
US9880842B2 (en) * 2013-03-15 2018-01-30 Intel Corporation Using control flow data structures to direct and track instruction execution
JP6321325B2 (ja) 2013-04-03 2018-05-09 ルネサスエレクトロニクス株式会社 情報処理装置および情報処理方法
US20170083313A1 (en) * 2015-09-22 2017-03-23 Qualcomm Incorporated CONFIGURING COARSE-GRAINED RECONFIGURABLE ARRAYS (CGRAs) FOR DATAFLOW INSTRUCTION BLOCK EXECUTION IN BLOCK-BASED DATAFLOW INSTRUCTION SET ARCHITECTURES (ISAs)
KR102276718B1 (ko) * 2015-11-25 2021-07-13 삼성전자주식회사 Vliw 인터페이스 장치 및 제어 방법
DE102017208818A1 (de) * 2017-05-24 2018-11-29 Wago Verwaltungsgesellschaft Mbh Initialisierung von Datenbusteilnehmern
RU182446U1 (ru) * 2018-03-13 2018-08-17 Федеральное государственное бюджетное образовательное учреждение высшего образования "Казанский государственный энергетический университет" Усовершенствованное устройство проверки однородности нескольких однотипных выборок
CN110209629B (zh) * 2019-07-15 2023-12-15 北京一流科技有限公司 协处理器的数据处理路径中的数据流动加速装置及其方法
CN113760364B (zh) * 2020-06-03 2022-06-17 广东高云半导体科技股份有限公司 逻辑器件的控制器

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5626062B2 (zh) 1973-12-12 1981-06-16
JPS61294548A (ja) * 1985-06-21 1986-12-25 Toshiba Corp 機械命令実行装置
US5038386A (en) 1986-08-29 1991-08-06 International Business Machines Corporation Polymorphic mesh network image processing system
JPS6482131A (en) * 1987-09-24 1989-03-28 Mitsubishi Electric Corp Data processor
JPH01156824A (ja) * 1987-12-14 1989-06-20 Hitachi Ltd マイクロプロセッサ
JPH02183332A (ja) 1989-01-10 1990-07-17 Fujitsu Ltd プログラムド制御方式
GB9123271D0 (en) 1991-11-02 1991-12-18 Int Computers Ltd Data processing system
US5452455A (en) * 1992-06-15 1995-09-19 International Business Machines Corporation Asynchronous command support for shared channels for a computer complex having multiple operating systems
JP3684579B2 (ja) 1993-04-27 2005-08-17 富士通株式会社 分散型並列計算機のプロセッサエレメント
US5535406A (en) * 1993-12-29 1996-07-09 Kolchinsky; Alexander Virtual processor module including a reconfigurable programmable matrix
US5551570B1 (en) 1994-02-02 1999-10-05 Tartan Paper Products Decorative packaging system including a method and kit therefor
JPH07253882A (ja) * 1994-03-15 1995-10-03 Hitachi Ltd 命令制御装置
JPH07319692A (ja) 1994-05-25 1995-12-08 Fuji Electric Co Ltd プログラマブルコントローラ
US5617431A (en) * 1994-08-02 1997-04-01 Advanced Micro Devices, Inc. Method and apparatus to reuse existing test patterns to test a single integrated circuit containing previously existing cores
US6128720A (en) * 1994-12-29 2000-10-03 International Business Machines Corporation Distributed processing array with component processors performing customized interpretation of instructions
US6052773A (en) 1995-02-10 2000-04-18 Massachusetts Institute Of Technology DPGA-coupled microprocessors
US5742180A (en) 1995-02-10 1998-04-21 Massachusetts Institute Of Technology Dynamically programmable gate array with multiple contexts
JP2987308B2 (ja) * 1995-04-28 1999-12-06 松下電器産業株式会社 情報処理装置
US5826072A (en) * 1995-11-13 1998-10-20 Oasis Design, Inc. Pipelined digital signal processor and signal processing system employing same
US5956518A (en) 1996-04-11 1999-09-21 Massachusetts Institute Of Technology Intermediate-grain reconfigurable processing device
US5771362A (en) * 1996-05-17 1998-06-23 Advanced Micro Devices, Inc. Processor having a bus interconnect which is dynamically reconfigurable in response to an instruction field
US6023564A (en) * 1996-07-19 2000-02-08 Xilinx, Inc. Data processing system using a flash reconfigurable logic device as a dynamic execution unit for a sequence of instructions
US5805875A (en) * 1996-09-13 1998-09-08 International Computer Science Institute Vector processing system with multi-operation, run-time configurable pipelines
DE19654846A1 (de) * 1996-12-27 1998-07-09 Pact Inf Tech Gmbh Verfahren zum selbständigen dynamischen Umladen von Datenflußprozessoren (DFPs) sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen (FPGAs, DPGAs, o. dgl.)
JPH10260832A (ja) * 1997-03-18 1998-09-29 Hitachi Ltd 情報処理装置
JP3790607B2 (ja) * 1997-06-16 2006-06-28 松下電器産業株式会社 Vliwプロセッサ
US5970254A (en) * 1997-06-27 1999-10-19 Cooke; Laurence H. Integrated processor and programmable data path chip for reconfigurable computing
US5966534A (en) 1997-06-27 1999-10-12 Cooke; Laurence H. Method for compiling high level programming languages into an integrated processor with reconfigurable logic
JP3414209B2 (ja) 1997-07-30 2003-06-09 松下電器産業株式会社 プロセッサ
JP3449186B2 (ja) * 1997-08-19 2003-09-22 富士通株式会社 パイプラインバイパス機能を有するデータ処理装置
US6282627B1 (en) * 1998-06-29 2001-08-28 Chameleon Systems, Inc. Integrated processor and programmable data path chip for reconfigurable computing
US6647511B1 (en) * 1998-09-17 2003-11-11 Texas Instruments Incorporated Reconfigurable datapath for processor debug functions
JP2000207202A (ja) 1998-10-29 2000-07-28 Pacific Design Kk 制御装置およびデ―タ処理装置
US6181163B1 (en) * 1999-01-21 2001-01-30 Vantis Corporation FPGA integrated circuit having embedded SRAM memory blocks and interconnect channel for broadcasting address and control signals
US6477683B1 (en) * 1999-02-05 2002-11-05 Tensilica, Inc. Automated processor generation system for designing a configurable processor and method for the same
TW504608B (en) * 1999-08-30 2002-10-01 Ip Flex Inc Program product and data processing device

Also Published As

Publication number Publication date
CA2348261C (en) 2006-02-14
AU782238B2 (en) 2005-07-14
NZ516679A (en) 2004-03-26
JP4234925B2 (ja) 2009-03-04
EP1215569A1 (en) 2002-06-19
IL142676A0 (en) 2002-03-10
CN1321271A (zh) 2001-11-07
KR100497078B1 (ko) 2005-06-27
JP3842129B2 (ja) 2006-11-08
KR20010080366A (ko) 2001-08-22
IL142675A (en) 2006-07-05
IL142675A0 (en) 2002-03-10
CN1301459C (zh) 2007-02-21
EP1134654A1 (en) 2001-09-19
US20050240757A1 (en) 2005-10-27
EA004196B1 (ru) 2004-02-26
KR20010080367A (ko) 2001-08-22
WO2001016717A8 (fr) 2001-04-12
CN1321270A (zh) 2001-11-07
KR100491593B1 (ko) 2005-05-27
AU776972B2 (en) 2004-09-30
IL142676A (en) 2006-08-20
WO2001016711A1 (fr) 2001-03-08
CN1532692A (zh) 2004-09-29
EA200200310A1 (ru) 2002-10-31
CN1145879C (zh) 2004-04-14
BR0013594A (pt) 2002-07-16
CA2348259A1 (en) 2001-03-08
EP1215569B1 (en) 2010-04-28
WO2001016717A1 (fr) 2001-03-08
BR0013595A (pt) 2002-07-16
US6904514B1 (en) 2005-06-07
US6826674B1 (en) 2004-11-30
US20050038550A1 (en) 2005-02-17
WO2001016710A1 (fr) 2001-03-08
NZ516680A (en) 2004-01-30
EA004071B1 (ru) 2003-12-25
TW504608B (en) 2002-10-01
HK1047326A1 (zh) 2003-02-14
EA200200309A1 (ru) 2002-08-29
AU6864300A (en) 2001-03-26
ATE466330T1 (de) 2010-05-15
AU6864400A (en) 2001-03-26
EP1215569A4 (en) 2006-08-23
AU6864200A (en) 2001-03-26
CA2348261A1 (en) 2001-03-08
DE60044300D1 (de) 2010-06-10
EP1134654A4 (en) 2006-08-23
CN1148647C (zh) 2004-05-05

Similar Documents

Publication Publication Date Title
TW495711B (en) Control program product and data processing device
DE102018005181B4 (de) Prozessor für einen konfigurierbaren, räumlichen beschleuniger mit leistungs-, richtigkeits- und energiereduktionsmerkmalen
US7840777B2 (en) Method and apparatus for directing a computational array to execute a plurality of successive computational array instructions at runtime
CN109213523A (zh) 具有存储器系统性能、功率减小和原子支持特征的可配置空间加速器的处理器、方法和系统
CN109597458A (zh) 用于空间阵列中的可配置时钟门控的处理器和方法
CN111868702A (zh) 用于可配置空间加速器中的远程存储器访问的装置、方法和系统
CN111512298A (zh) 用于可配置空间加速器中的条件队列的装置、方法和系统
CN109213723A (zh) 用于具有安全、功率降低和性能特征的可配置空间加速器的处理器、方法和系统
CN109597459A (zh) 用于空间阵列中的特权配置的处理器和方法
EP1877927B1 (en) Reconfigurable instruction cell array
CN111512292A (zh) 用于可配置空间加速器中的非结构化数据流的装置、方法和系统
CN109992306A (zh) 用于可配置空间加速器存储器一致性的装置、方法和系统
KR101594090B1 (ko) 공유 메모리에 대한 액세스들의 동기화를 완화하기 위한 프로세서들, 방법들 및 시스템들
CN111767080A (zh) 用于可配置空间加速器中的操作的设备、方法和系统
CN105279016A (zh) 线程暂停处理器、方法、系统及指令
US20220100680A1 (en) Apparatuses, methods, and systems for a configurable accelerator having dataflow execution circuits
CN112148647A (zh) 用于存储器接口电路仲裁的装置、方法和系统
CN112148664A (zh) 用于可配置空间加速器中的时间复用的装置、方法和系统
US20110283089A1 (en) modularized micro processor design
US10990394B2 (en) Systems and methods for mixed instruction multiple data (xIMD) computing
Panda et al. Extending course-grained reconfigurable arrays with multi-kernel dataflow
Schaffer et al. A prototype multithreaded associative SIMD processor
Endecott Superscalar instruction issue in an asynchronous microprocessor
JP2004005739A (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