TWI249130B - Semiconductor device - Google Patents

Semiconductor device Download PDF

Info

Publication number
TWI249130B
TWI249130B TW091132079A TW91132079A TWI249130B TW I249130 B TWI249130 B TW I249130B TW 091132079 A TW091132079 A TW 091132079A TW 91132079 A TW91132079 A TW 91132079A TW I249130 B TWI249130 B TW I249130B
Authority
TW
Taiwan
Prior art keywords
software
drc
register
unit
instruction
Prior art date
Application number
TW091132079A
Other languages
English (en)
Other versions
TW200406701A (en
Inventor
Hiroshi Tanaka
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Publication of TW200406701A publication Critical patent/TW200406701A/zh
Application granted granted Critical
Publication of TWI249130B publication Critical patent/TWI249130B/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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction prefetching
    • G06F9/3808Instruction prefetching for instruction reuse, e.g. trace cache, branch target cache
    • G06F9/381Loop buffering
    • 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/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/322Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
    • G06F9/325Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for loops, e.g. loop detection or loop counter
    • 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/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3838Dependency mechanisms, e.g. register scoreboarding
    • 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/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)
  • Microcomputers (AREA)
  • Stored Programmes (AREA)
  • Executing Machine-Instructions (AREA)

Description

1249130 ⑴ 玖、發明說明 (發明說明應敘明:發明所屬之技術領域、先前技術、内容、實施方式及圖式簡單說明) 發明的技術領域 本發明係關於搭載可動態重配置之電路之半導體裝置之 構成及其利用方法。 背景技術 近年來,隨著資訊處理機器之普及與高性能化,各式各 樣之應用程式紛紛登場,此等應用程式係以採用以軟體描 述,並以通用處理器執行之形態為其主流。然而,在應用 程式之中,也有要求比通用處理器更高度之運算處理能力 之應用程式存在,對處理器要求更進一步提高其處理能力β 因此’出現除了通用處理器外,將特殊化成為特定應用 程式之專用電路搭載於1個晶片上,藉以提高處理能力之例 子。另外,特開平10-4345號公報及特開平1〇-335462號公報 曰揭不以可動態重配置之電路(Dynamically Re configurable Circuit,以下稱DRC)構成此專用電路之例。 在此種先行技術中,在製作應用程式之軟體時,事先作 成DRC重配置資料,利用DRC重配置資料來重新配置drc, 因此,DRC具有作為特定應用程式用之專用電路之機能。通 用處理器所執行之軟體令包含D RC重配置資料與重配置指 令。 因此,通用處理器可利用在應用程式之執行中,重新配 置DRC使其具有作為專用電路之機能,以提高其處理能力。 本案發明人等發現:如以上之先行技術所示,在採用配 合所欲利用之DRC與晶片構成而事先準備DRC重配置資料 1249130
與驅動軟體,並將DRC重配置指令與DRC重配置資料描述於 軟體内之構成時,在DRC之構成不同之晶片中,會有不能執 行其軟體之問題發生。此一現象表示可適用之軟體之範圍 受到DRC之構成所限制,雖屬於具有相同指令系統之處理器 軟體,也可能因DRC之構成之不同而發生無法利用軟體之事 本發明之目的在於雖利用DRC提高處理能力,但卻可不受 DRC之構成拘束而提供可確保軟體之互換性之半導體積體 電路裝置。 發明之揭示 本案所揭示之發明中,較具有代表性之發明之概要可簡 單說明如下.·· 本發明所提供之半導鱧裝置係可執行含運算指令之軟體 之半導體裝置,其係包含運算電路,其係含多數運算單元 與多數暫存器單元,而可設定運算單元所欲執行之運算種 類與多數運算單元及多數暫存器單元間之配線連接者;及 控制電路,其係產生依據軟體設定運算單元之運算種類及 配線連接之設定資料、與利用運算電路施行與軟艘等效之 處理用之驅動軟體者。 在此,所謂運算種類,係包含可執行單元運算之”或,·、 ”與"、"異"(排他”或")之邏輯運算、加減乘除之算術運算、 比較運算。利用此構成,可在半導體裝置上產生驅動軟艘, 確保軟體之互換性。另外’利用在軟艘之執行中,作成媒 動軟體,可使用戶在不察覺有作成驅動軟體之額外時間之 -6- (3) 1249130
情沉下,施行❹運算電路之高速處理。 又本發明~提供之+導艘裝i係可執行含運算指令之 軟髏之半導體裝置, 兵係包含暫存器;運算器;運算電路, ^ 其係含多數運算單元愈夕 平70與多數暫存器單元,而可設定運算單 · 元所欲執行之運算錄# , 异種類與多數運算單元及多數暫存器單元 間之配線連接者’第一記憶體區域,其係儲存軟體者;第 二f己憶體區域’其係儲存利用運算電路施行與軟體等效之 處理用之驅動軟體者;及控制電路,其係控制執行之軟體籲 者;軟體之處理係反復施行II次,第一次至第i次(i <!〇之處 理係利用以暫存器與運算器執行由第一記憶體區域讀出之 軟體之方式所施行,控制電路係接受第i次之處理而將執行 之軟體切換·為驅動軟體,第i+ 1次至第η次之處理係利用以運 算電路執行由第二記憶體區域讀出之驅動軟體之方式所施 行。利用將此種軟體與驅動軟體記憶於傭別不同之記憶體一 區域,而由控制電路切換軟體與驅動軟體之構成方式’可 確保軟體之互換性。 參 此種構成方式特別可有效應用於需要反覆執行多數〜之 軟體(例如,形成循環處理之軟體),此種循環處理係在影像 處理及聲音處理中常常出現的處理方式。 圖式之簡單說明 圖1係表示本發明之半導體積體電路裝置之構成之^ _ 圖。 圖2係表示DRC驅動SW之產生及執行之時間之圖 圖3係表示DRC之構成例之區塊圖°
1249130 圖4係表示DRC之構成要素之輸出入暫存器單元I〇RC之 構成例之區塊圖。 圖5係表示DRC之構成要素之運算單元CC之構成例之區 塊圖。 圖6係表示重配置判定部CDU之構成例之區塊圖。 圖7係表示重配置判定部CDU之動作之流程圖。 圖8(A)係通常SW,圖8(B)係通常SW被HW/SW產生部GU 分出之通常SW,圖8(C)係利用HW/SW產生部GU所作成之 DRC驅動SW,圖8(D)係程式中之指令之動作一覽表。 圖9係表示HW/SW產生部GU之動作之流程圖。 圖10係CDFG之例。 圖1 1係執行縮減處理之CDFG之例。 圓12係利用ALAP (As Late As Possib le ;儘慢)算法執# 調度處理之C D F G之例。 圖13係再利用ASAP (As Soon As Possible;儘快)算法執^ 行調度處理之CDFG之例。 圖14係表示本發明之半導體積體電路裝置之另一構成< 區塊圖。 圖15係表示本發明之半導體積體電路裝置之又另一構成 之區塊圖。 發明之最佳實施形態 以下依據圖式,詳細說明本發明之代表性之實施形態。 又,在以下之說明中,相同之參照符號表示相同或類似之 部分。 -8- 1249130
(5) 在本發明中,係在不使用DRC之情況下,由在通用處理器 執行之應用軟體(以下稱此種軟體為「通常SW」),自動產 生在DRC執行應用軟體之一部分用之DRC驅動軟趙(以下稱 此種軟體為「DRC驅動SW」),通用處理器係將通常SW2 一部分置換成DRC驅動SW,並加以執行,以提高處理能力。 茲利用圖8(A)〜(D)說明通常SW與DRC驅動SW之關係。圖 8(A)之例係高速傅里葉變換之程式之一部分.高連傅里葉變 換係多媒體處理中常用的處理方法。圖8(A)之程式係被通用 處理裔之指令系統所指述’程式之各指令之意義如圖8(D) 所示。由以下之說明可以知悉:圖8所使用之指令系統僅係 一例,本發明並不限定於該指令系統。 在本實施·形態中,係使DRC執行通常SW中需要反覆執行 之軟體部分(循環處理)。此係由於可在通常SW之執行中自 動產生DRC驅動SW,因此,使DRC執行通常SW中需要執行 多次之軟體部分時較為有效之故。在圖8(A)之例中,第4列 至第18列之程式為其對象(圖8(B))。 在本發明中,係依據圖8(B)之通常SW產生DRC重配置資 料與DRC驅動SW(圖8(C))。DRC重配置資料係用以設定 DRC,使DRC執行以圖8(B)之程式執行之運算之資料。又, DRC驅動SW係用以執行通常SW之程式_之DRC不能執行 之指令,並將資料由通用處理器輸入至DRC,將DRC執行之 結果回送至通用處理器用之程式。因此,通用處理器可利 用執行圖8(C)之程式而用DRC執行運算,以取代用通用暫存 器GR與運算器ALU執行圖8(B)之程式,藉以提高處理能力。 1249130 ⑹
WmSBBSB^y 圖1係表示本發明之LSI晶片100之構成。LSI晶片100係由 匯流排狀態控制器BSC、直接記憶鳢存取控制器DMAC、晶 片記憶體OCM、DRC驅動SW儲存記憶體DSM、指令高速緩 衝記憶體ICH、資料高速緩衝記憶體DCH、高速緩衝記憶體 控制部CCN、CPU 101所構成。CPU 101係由DRC控制部102、 指令缓衝器IBF、指令取出部IFU、選擇器SEL、指令解碼器 IDC、通用暫存器GR、運算器ALU及DRC所構成。DRC控制 部102係由重配置判定部CDU、硬體/軟體產生部GU(以下稱 HW/SW產生部GU)所構成。 CPU 101執行之指令係儲存於指令高速\緩衝記憶體ICH, 依據指令取出部IFU之指令碼訊號,儲存於指令高速緩衝記 憶體ICH内.之指令被轉送至指令缓衝器IBF »同時,重配置 判定部CDU經常監視著由指令高速緩衝記憶體ICH被轉送 至指令緩衝器IBF之指令。 就圖8(A)之例而言,重配置判定部CDU係檢出條件分歧指 令BF,依據此指令,分出並儲存圖8(B)所示之軟體部分, 以作為DRC所欲執行之候補的程式。當〇厌(:所欲執行之軟體 部分決定好以後,重配置判定部CDU即對HW/SW產生部GU 下指示,使其執行DRC重配置資料之作成、DRC重配置、及 DRC驅動SW之作成。 HW/SW產生部GU由被分出之程式產生DRC重配置資料, 並執行DRC之重配置。且產生利用被重配置之DRC用之DRC 驅動SW,所產生之DRC驅動SW係被儲存於DRC驅動SW儲存 記憶體DSM。此等處理結束後,HW/SW產生部GU向重配置 .10 - 1249130
判定部CDU通知處理已結束,並通知儲存DRc驅動SW之前 頭位址。 又,一般而言,通常SW係被儲存於晶片記憶體〇cm或外 部記憶體晶片EXTM。 CPU 101執行程式之過程如下。以圖8之例加以說明時, 首先,照原樣執行圖8(A)之通常SW »當由HW/SW產生部GU 接到處理已結束之通知後,重配置判定部CDU確認到由指令 高速緩衝記憶體ICH被轉送至指令緩衝器IBF之通常SW之 執行中之指令已經進行處理到重配置於DRC驅動SW之程式 之條件分歧指令(圖8(B)之第15列,即相當於圖8(A)之第18 列)時,即經由指令取出部IFU切換選擇器SEL,並將輸入至 指令解碼器IDC之指令由指令緩衝器IBF切換至重配置判定 部CDU。其次’將條件分歧指令之分歧對象位址變換成儲存 DRC驅動SW之前頭位址之指令,經由選擇器SEL輸出至指令 解碼器IDC。在其次之CPU時鐘週期中,重配置判定部CDU 經由指令取出部IFU切換選擇器SEL,並將輸入至指令解碼 器ID C之指令由重配置判定部c D U切換至指令緩衝器IB F。 因此,其後即可執行DRC驅動SW。DRC驅動SW之最後之指 令係對儲存分出之通常S W之次一指令之位址之無條件分歧 指令(圖8(C)第15列),經由此指令之執行而返回通常SW之 執行。 在此’指令储存於指令高速緩衝記憶體ICH之動作係在接 收到指令解碼器IDC之執行信息後,利用高速緩衝記憶體控 制部CCN執行儲存動作。高速緩衝記憶體控制部CCN之特徵 • 11 · 1249130
⑻ 之一在於·除了對作為處理器疆流排PRCB上之模組之晶片 記憶體OCM、直接記憶體存取控制器dmAC、匯流排狀態控 制器BSC(對外部記憶體晶片eXTM存取時)執行存取動作以 外,亦構成可對DRC驅動SW儲存記憶體執行存取動作。 圖2係表示DRC驅動SW之產生及執行之時間。 首先’執行通常SW,在對儲存於指令取出部IFu内之程式 計數器之現在執行中之指令之位址之前一個位址產生條件 分歧指令時(圖8(A)之第18列),暫時決定重配置判定部CDU 在通常SW中有循環執抒__ 重配置判定部CDU在以下之執行中取得並儲存由指令高 速緩衝記憶體ICH被載入指令緩衝器ibf之指令,即取得圖 8 (A)第4列〜第1 8列之指令,並加以儲存。在再度因條件分 歧指令而返回被儲存之前頭之指令時,判定被儲存之指令 已形成循環,並正式決定利用DRC。 HW/SW產生部GU在第三次之循環處理中執行DRC重配置 資料之作成、DRC驅動SW之作成及DRC之重配置。由於在 第三次之循環處理中,可利用DRC,故CPU101在第四次以 後之循環處理中,藉著執行DRC驅動sw,利用DRC執行運 算,以取代利用運算器ALU執行運算。又,DRC之重配置未 能在第三次之循環處理之執行_結束時’ CPU 101會執行通 常SW,直到包含DRC之重配置完成之時點之循環處理之最 後為止。 其次,利用圖3〜圖5,詳細說明DRC之構造。圖3係表示 DRC之内部構成。DRC係由輸出入暫存器單元I0RC、運算 • 12· 1249130
(9) 單元CC、對輸出入暫存器單元10 RC之資料輸入口 200、暫 存器指定輸入口 201、單元輸入線20 3a、203 b、203c、DRC 之資料輸入口 202、來自各單元之單元輸出線204 a、204b、 配線區域205、配線程式元件206所構成。配線程式元件206 係由決定配線區域205中之配線彼此之連接用之開關元 件、與記憶此等開關元件之通電/斷電狀態用之未圖示之記 憶元件(例如靜態隨機存取記憶體SRAM、快閃記憶鱧Flash memory等)所構成。 資料輸入DRC時,暫存器指定訊號由指令解碼器idc被輸 入至暫存器指定輸入口 2〇1,以選擇1個輸出入暫存器單元 IORC。資料係由資料輸入口 2〇〇被輸入,且僅被輸入至所選 擇之輸出入暫存器單元I0RC。又,由DRC輸出資料時,暫 存器指定訊號由指令解碼器IDC被輸入至暫存器指定輸入 口 201,藉以切換輸出選擇器〇SEl,以選擇1個輸出入暫存 益單疋10RC ,使資料由單元輸出線2〇4a被輸入至輸出選擇 器OSEL’僅將所選擇之資料由資料輸入口2〇2輸出。 圖4係表示囷3之輸出入暫存器單元l〇R(:之構成。輸出入 暫存益單元IORC係由輸入選擇器ISEL與單元暫存器CR所 構成輸入選擇器IS EL依據來自暫存器指定輸入口2〇1之輸 入而被切換至來自配線之單元輸入線203a或資料輸入口 經由輸入選擇器ISEL被輸入之資料係被保持於單元暫 存g§CR。此單元暫存器CR係與時鐘輸入同步地施行動 作’並被復位輸入302所復位β又,在圖3中,雖省略時鐘 及復位之配線,但實際上係被連接至全部之輸出入暫存器 -13· !249130
(10) 單元IORC與運算單元CO被保持於單元暫存器CR之資料係 由單元輸出線204a被輸出至外部。 瓤 又,在本實施例中,資料雖係以8位元為單位被輸出入, 但並不限定於此大小。 * 圖5係表示圖3之運算單元CC之構成。運算單元CC係由單 元運算部CALU、觸發器FF、運算程式元件400所構成。單 元運算部CALU具有與CPU内之ALU相同之機能,並利用運 算程式元件400設定使用何種運算機能。運算程式元件40 0 φ 係由單元運算部C A L U可執行之”或"、"與"、"異"(排他"或") 之邏輯運算、加減乘除之算術運算、比較運算中,設定單 元運算部CALU所要執行之運算。 如此,利用運算單元CC之運算程式元件400之設定,可決 定運算單元CC之運算内容。且可利用配線程式元件206之設 定,來設定將何種資料輸入至輸出入暫存器單元I0RC、運 算單元CC、以及將輸出入暫存器單元iorc之資料或運算單 元CC之運算結果輸出至何處。如此,DRC重配置資料係包 _ 含運算程式元件400之設定值與配線程式元件206之設定 值,可藉此執行所希望之運算。 圖6係表示重配置判定部CDU之構成,圖7係表示重配置判 , 定部CDU之動作。重配置判定部CDU係由分歧位址儲存緩衝 . 器BAB、循環計數器LC、指令位址判定部IADU、DRC狀態 暫存器DSR、通常SW暫時儲存緩衝器TBF、分歧控制器BCL · 所構成β另外,DRC狀態暫存器DSR係由表示HW/SW產生部 GU之狀態之部分、將分歧位址儲存至DRC驅動SW之部分、 -14· 1249130 (u) 及儲存有置換KDRC驅動sw之通常sw之次一指令之位址 之部分之3個部分所構成。 以下,就圖7說明重配置判定部CDU之動作。首先,將由 指令高速緩衝記憶體1(:11送至指令緩衝器IBF之指令取入指 令位址判定部IADU(500)。指令位址判定部IADU取出指令 取出部IFU中之程式計數器PC内之位址,判定其現在執行中 之指令之位址是否符合處在DRC驅動sw儲存記憶體1)3]^之 位址區域之條件(5 0 1)。 符合條件時’意味著現在處於執行DRC驅動SW之中《此 時,循環計數器LC若為〇以外之值(502),表示其指令為DRC 驅動S W之第1列之指令(即圓8 (C)之第1列之Μ Ο V指令),故 將循環計數器LC復位為0,分歧控制器BCL使選擇器SEL切 換於指令缓衝器181?側。循環計數器LC為〇時,不執行任何 動作。循環計數器LC中保持著通常SW中連續被執行之循環 處理次數,並被復位訊號所復位。 不符合條件時,意味著現在處於執行通常SW之中。指令 位址判定部IADU判定指令是否為條件分歧指令,若非為條 件分歧指令,且此時循環計數器LC之值為1時,執行第二次 之循環處理動作。因此,取得通常SW(參照囷2),故指令俊 址判定部IADU將指令儲存於通常SW暫時儲存指令緩衝器 TBF 〇 在步驟505中,指令位址判定部IADU檢查DRC狀態暫存器 DSR。DRC狀態暫存器DSR係由表示DRC狀態之第一暫存 器、儲存對DRC驅動SW之分歧位址(例如儲存圖8(C)中之第 -15· 1249130 (12)
1列之MOV指令之位址)之第二暫存器、儲存被切換於drc 驅動SW之通常SW之次一位址(例如圓8(A)夺之L003 :(第19 列))之第三暫存器所構成。第一暫存器中儲存著「不可利用 DRC」、「利用DRC準備中」、「利用DRC準備完成」之3種狀 態中之一種。在接到CPU復位指令時,被更新為「不可利用 DRC」之值,在HW/SW產生部GU之利用DRC準備開始時, 被更新為「利用DRC準備中」之值,在利用DRC準備完成時, 被更新為「利用DRC準備完成」之值。在利用DRC準備完成 時,第二暫存器被更新,在對GU通知開始動作時,第三暫 存器被更新。 DRC狀態暫存器DSR之第一暫存器之值為「利用DRC準備 完成」之值時,分歧控制器BCL經由指令取出部IFU,將選 擇器SEL切換至重配置判定部CDU而使來自重配置判定部 CDU之輸出連接至指令解碼器IDC。其後,傳送將分歧指令 之分歧對象位址變更為DRC驅動SW儲存記憶體DSM内之 DRC驅動SW之前頭值址之分歧指令。 DRC狀態暫存器DSR之第一暫存器為「利用drc準備完 成」之值以外之值時,執行是否有循環處理存在之判定(圖2 中之暫時決定處理)。首先,指令位址判定部IADIJ比較現在 之程式計數?5 PC之值與分歧對象位址之值(5丨3卜分歧對象 位址之值較大時,表示循環處理不存在,故(使循環計數器 LC之值為0(514)。裎式計數器pc之值較大時,指令位址判 定部IADU進一步比較儲存於分歧位址儲存緩衝器bab之分 歧對象位址與分歧指令之分歧對象。分歧位址儲存緩衝器 -16- 1249130
〇3) B A B係在執行分歧指令時,用於疊寫並保存其分歧對象位址 之緩衝器,因此,若分歧對象等於分歧位址儲存緩衝器ΒΑΒ 之位址時,判定循環處理存在,而轉移至DRC重配置資料、 DRC驅動SW之產生處理之動作上。具體而言,係在循環計 數器之值上加1 (509),若該值為2(5 1 0)時,指令位址判定部 IADU將分歧指令儲存於通常SW暫時儲存緩衝器TBF,將現 在之PC之值進1之值(例如圖8(A)中之L003 :(第19列)之位 址)代入DRC狀態暫存器DSR之第三暫存器,而對HW/SW產 生部GU傳送利用DRC準備之開始訊號(511)。 另一方面,若分歧對象與分歧位址儲存緩衝器BAB之位址 不同時,就有新的循環處理存在之可能性。因此,指令位 址判定部IA D U將1代入循環計數器L C而整個清除通常s W暫 時儲存緩衝器TBF。 上述動作依據圖8之程式例說明時,如以下所述。 在執行第一次之循環處理時,圓8(A)之第1列〜第17列之 指令由於循環計數器LC為0,在圖7之流程中不執行任何動 作。第1 8列之條件分歧指令BF被取入時,使循環計數器LC 為1 (508),同時將分歧對象位址(第4列)疊寫在分歧位址儲 存緩衝器B A B。 在執行第二次之循環處理時’第5列〜第i 7列之各指令由 於循環計數器LC為丨,故被儲存於通常3以暫時儲存緩衝器 TBF(504)。第18列之條件分歧指令BF被取入時,由於其分 歧對象位址與儲存於分歧位址儲存緩衝器BAB之位址一致 (507),故使循環計數器LC為2(509),將條件分歧指令bf送 1249130 (14)
至通常SW暫時儲存緩衝器TBF,同時使HW/SW產生部GU開 始執行DRC之利用準備(510、511)。 在執行第三次之循環處理時,第5列〜第17列之各指令由 於循環計數器L C為2,在圖7之流程中不執行任何動作。第 1 8列之條件分歧指令BF被取入,若處於可利用DRC之狀態 時,利用將分歧指令之分歧對象位址變更為DRC驅動SW之 前頭位址(圖8(C)之第1列),其後之動作即可利用DRC加以 執行。 在執行DRC驅動SW中,可利用JMP指令(圖8(C)之第15 列),將處理動作分歧至通常SW之L003(圖8(A)之第19列), 並恢復至通常SW之執行。 其次,依據圖9之流程圖,說明HW/SW產生部GU之動作。 HW/SW產生部GU接受到來自重配置判定部CDU之指令,由 通常SW暫時儲存緩衝器TBF取得通常SW(圖8(B)),同時將 「利用DRC準備中」之值輸入至drc狀態暫存器DSR之第一 暫存器(600)。 HW/SW產生部GU首先由所取得之通常sw作成圖10所示 之 CDFG(Control Data Flow Graph :控制資料流程圖)(601)。 CDFG係以節點(指令)表示通常sw之各指令,並以邊緣(箭 號)表不指令操作數之資料依存關係。又,圖丨〇中之區塊之 括號内之數表示圊8(B)中之對應列數。 圖10係由圖8(B)之通常SWi接作成CDF(}之情形。依存關 係有「控制上之依存關係」與「資料上之依存關係」2種。 所謂「控制上之依存關係」,係指例如以DT指令設定暫存器 •18· 1249130 (15) R0之值,依據暫存器R0之值執行條件分歧指令B F之依存關 係。由於此依存關係係依存於通用處理器之指令系統,故 有必要事先登錄依存關係。「資料上之依存關係」例如係利 用以MOV指令所轉送之資料而以SliB執行運算之依存關 係。因此,有必要依照程式之内容加以決定。將操作數中 與其他指令之操作數無依存關係者配置於最上位,並依照 依存關係將其他配置於更下位。「資料上之依存關係」具體 上係以下列方式加以決定。 圖8(B)之第2列〜第4列、第1〇列之指令之操作數由於與其 前面之指令之操作數無依存關係,故位於同一行。所謂 「MOV@R6,R2」係表示「將儲存於暫存器r6所指示之位址 之資料轉送至暫存器R2」之意。即,操作數之右邊之值含@ 之MOV指令係由外部將資料讀入暫存器之指令,另外,帶 有@之操作數因係在圖8(B)中初次出現,故在「資料上之依 存關係」上,位於最上位之位置。第5列之指令「MUL」因 係使用暫存益R2、R3之資料,故與第3列〜第4列之指令具 有依存關係。第7列之指令由於「MUL」之執行結果被輸入 至暫存器MACL,故屬於用來將暫存器MACl之資料轉送至 暫存器R7之指令。 對於以下之程式,也可利用同樣方式決定依存關係,但 有必要沒意的是:有時在邊緣之決定中,即使相同之暫存 器名,其内谷也已被更新。例如,第8列之「SUB R7,R1」 係表示「將暫存器R7之資料與暫存器汉丨之資料差儲存於暫 存器R1」之意由於在第8列之指令之執行中,資料已被更 〜19· 1249130
(16) 新,故第9列之「MO V R 1,@R5」雖與第8列之扣a 扣7有依存關 係,但與第ό列之「MOV @R4,R1」已無依存關係存在。 如此,對所著眼之指令,可在其前面所執行之指令中, 利用設定與具有共通於操作數之暫存器名之指令之依存關 係來作成CDFG。但,具有共通於操作數之暫存器名之指令 有多數個存在時’考慮到暫存器之資料有被更新之可能 性,而將依存關係設定於其與前面剛執行過之指令之間。 圖1 1之C D F G係將圖10之C D F G加以縮減後之情形β利用減 縮而具有可使D R C之電路構成更單純,以便高速地執行利用 DRC之運算處理之效果。 第一種縮減形態係將701之2個指令(圖1〇)縮減成801之1 個指令(圖11)。STS指令係不執行一切運算處理而在暫存器 間轉送資料之指令。此種轉送在以通用處理器處理時’雖 為指令系統之構成上必要之指令,但以D R C處理時’卻只要 將儲存直接必要之資料之暫存器與運算單元加以連接即 可,故無必要將此指令反映於DRC之構成中"將此種在暫存 器間轉送資料之指令事先登錄作為縮減對象之指令’即可 執行第一種縮減。 第二種縮減形態係將7〇2之4個指令(圖1〇)縮減成802之3 個指令(圏1 1)。在通用處理器處理_,因係以時間系列處理 資料,故有可能發生即使暫存器名不同’其内容也有可此 相同之情形。以DRC處理時’因只要將儲存必要之資料之暫 存器與運算單元加以連接即可,故無必要將此種暫存器名 之不同反映於DRC之構成中。因此,就運算指令(圖8之例 1249130
⑼ 中,有MUL指令、ADD指令、SUB指令),比較其暫存器之 資料之内容,在即使暫存器名不同,其内容也相同之情形 時,將其縮減。例如,第8列之SUB指令與第1 1列之ADD指 令之操作數具有共同之暫存器尺7,在暫存器R1、暫存器R3 上卻有不同。但追究其各資料上之依存關係時,儲存於其 各暫存器之内容均屬於「儲存於暫存器R4所指示之位址之 資料」,故可執行上述之縮減β 其次,HW/SW產生部GU對步驟601所作成之圖11所示之 CDFG之各節點,在考慮調度處理,即考慮硬體資源之節省 上,施行執行各節點之時鐘循環之分配(602)。 圖12及圖13係將ALAP算法與ASAP算法一併適用於圖11 之CDFG,以作為此調度處理之一種方法之例。ALAP (As Late As Possible ;儘慢)算法係由後面縮減可同時執行之指 令之調度處理方法。屬於不可同時執行之指令,第一為相 互具有依存關係之指令,第二為在DRC之外部存取之指令, 此係由於在其週期中只能執行1個指令。此結果如圖1 2所 示0 另外,對應於® 12之調度處理,圖13係適用由前面縮減 可同時執行之指令之ASAP (As Soon As Possible ;儘快)算 法之情形。利用盡可能地由前面縮減執行指令之週期,可 使處理時間產生餘裕。 1週期所含之指令可在1時鐘週期中執行,在週期1〜8之8 時鐘週期中,可執行全部之指令。
HW/SW產生部GU由ffl 13之調度處理後之CDFG產生DRC -21 ·
1249130 重配置資料。具體的產生過程如下。將節雜部分分配至輸 出入暫存器單元IORC及運算單元CC。就MOV指令’分配輸 出入暫存器單元IORC,就運算指令,分s己運算單元CO依 據運算指令之内容,作成執行運算單元之運算内容之設定 · 之運算程式元件400之設定資料。又,CDFG之邊緣係表示 資料之流程,因此,可作成配線程式元件206之設定資料 (603),以便依照CDFG之邊緣之連接關係,將輸出入暫存器 單元IORC及運算單元CC相互配線。此運算程式元件400之 φ 設定資料及配線程式元件206之設定資料為DRC重配置資 料。 HW/SW產生部GU係依照DRC重配置資料,重新配置DRC 之運算程式元件303與配線程式元件206(604),與此並行地 執行DRC驅動SW之作成(605)。 其次,說明有關DRC驅動SW之作成方法。由圖13之CDFG 可產生圖8(C)所示之DRC驅動SW。 首先,有必要使儲存於通用暫存器GR之資料移動至DRC φ 之輸出入暫存器單元IORC。例如,圓8(B)第3列之「MOV @R6,R3」之指令係「將儲存於通用暫存器R6所指示之位址 之資料轉送至通用暫存器R3j之指令。為了在Drc執行此 · 指令,有將通用暫存器R6之資料移動至DRC中之必要。因 · 此,設定圖8(C)第1列之r M〇v R《,dR6」之指令。此指令係 -表示「將儲存於通用暫存器R6所指示之資料(位址)轉送至 、 DRC之輸出入暫存器單元此6」之意。此種指令係設於圖8(c) 第1列〜第3列》 -22· 1249130
其後,在圖13之各節點中,將在DRC以外所執行之指令設 於DRC驅動SW。圖8(C)第5列〜第12列之指令係分別對應於 圖13之週期1〜8所含之節點。 圖8(C)第5列之「MOV @dR6,dR3」之指令係「將錯存於 輸出入暫存器單元所指示之位址之資料轉送至輪出入 暫存器單元dR3」之指令。此指令對應於圖1 3之週期i之 「MOV @R6,R3」。以下之情形亦同。例如,在週期3中 有 「MOV @R4,R1」、「MUL」2個節點存在,後者因係〇11(:所 執行之指令,故不顯現於DRC驅動SW。又,週期6只存在i 個稱為「ADD」之DRC所執行之指令。該情形視為發生空週 期,因而追加不操作指令(NOP)。 又’為了在D R C執行有關運算指令,運算所需之資料並非 儲存於通用暫存器GR,而是儲存於DRC之輸出入暫存器單 元IORC。因此,運算執行後之值有送回通用暫存器Gr之必 要,故設置圖8(C)之第13列與第14列之指令。例如,「M〇v dR5,R5」係表示「將儲存於輸出入暫存器單元士尺5所指示之 資料轉送至通用暫存器R5」之指令。 最後,為了返回通常SW之執行狀態, 設置對通常SW之條
暫存器之第三暫存器之位址。
素後加以考慮時,與原 良據圖13之調配處理後之CDFG產生圖8(c)之 。排除南速緩衝記憶體之錯誤及中斷等外在因 匕時,與原來之通常3貿執行一次循環處理需要 -23- 1249130
(20) 14個週期相比,DRC驅動SW只要用循環處理之核心部分(圖 8(C)之第5列〜第12列)之8個週期即可執行。 所作成之DRC驅動SW係被儲存於DRC驅動sw儲存記情 體DSM。在儲存之場所方面,第一次為DRC驅動sw儲存$ 憶體DSM之前頭位址,其後,則寫入前次寫入之部分之後 面。寫入區域不充分時’再度由DRC驅動SW儲存記憶體dsm 之前頭位址寫入。 在步驟605以前結束時,HW/SW產生部GU將「利用DRC 準備完成」之值寫入DRC狀態暫存器DSR之第一暫存器,將 儲存步驟605所作成之DRC驅動SW之記憶體之前頭位址寫 入DRC狀態暫存器DSR之第二暫存器(606)。 依據以上所述之流程,使HW/SW產生部GU執行動作時, 即可在執行程式時,自動地執行DRC重配置資料之作成及重 配置、與DRC驅動SW之作成。 其次,利用圖1 4說明圖1之構成之變形例。本實施例係有 關由CPU 101分離圖1所示之第一實施例之DRC、重配置判 定部CDU、HW/SW產生部GU之例。具體而言,係將DRC連 接於處理器匯流排PRCB,並由重配置判定部CDU直接控制 選擇器SEL。且將指令緩衝器IBF配置於選擇器SEL之後。
與圖1之構成在動作上不同之處在於:對DRC之輸出入暫 存器單元IORC之存取係利用指定位址之方式執行。例如’ 對(圖8(C)之DRC驅動SW之第1列【MOVR6 dR6】等之DRC 之輸出入暫存器單元IORC存取之指令由於DRC直接連接於 處理器匯流排PRCB,因此,並非由輸出入暫存器單元I0RC -24- 1249130
(21) 直接指定,而是間接指定。例如,採用如【MOV R6 @R1 2】 之位址指定方式。此指令係表示將通用暫存器R6之資料轉 送至通用暫存器R1 2所指示之輸出入暫存器單元IORC之意。 在此變形例中,可利用將DRC配置在CPU之外部而將DRC 之尺寸增大得比圖1之構成還大,且由於DRC、重配置判定 部CDU、及HW/SW產生部GU係與CPU 101分離,故設計之 變更較為容易。另外,CPU以外之模組也可利用DRO例如, 可藉直接記憶體存取控制器DMAC在DRC上之輸出入暫存 器單元10 RC存取而利用DRC。此時,也可使其同時執行因 DRC與CPU 101而異之處理。 其次,利用圖1 5說明圖1之構成之又另一變形例。在此構 成例中,所不同之處在於:利用DRC控制專用處理器DCP實 現圖1所示之DRC控制部102之機能。在此構成例中,因在 DRC控制專用處理器DCP安裝有DRC控制部102之機能,故 可利用軟體實現其内部之重配置判定部CDU及HW/SW產生 部GU之動作,因此,只要更換DRC控制專用處理器DCP之 軟體,即可容易地更新DRC控制部102,在利用本技術製造 LSI晶片後,仍可提高本LSI之性能。當然,也可組合圖14 之構成與圖1 5之構成而加以實施。 另外,本發明可施行種種不同之變形。也可預備性地執 行所欲執行之通常SW,並預先登錄DRC重配置資料及DRC 驅動SW。此時,由於在通常SW之執行中不需要DRC重配置 資料及DRC驅動SW之產生處理,因此,可利用第二次之循 環處理來執行運算處理。 -25- 1249130
(22) 利用本發明之構成,在搭載處理器與DRC之半導體裝置 中,可由軟體自動產生DRC重配置資料及DRC駆動SW〇藉 此種構成,在利用DRC之時,也不需要描述配合drc之專用 之程式,而可確保軟體之互換性。如此,由於可維持軟體 之互換性,可沿用既有之軟體資產,只要有至少可藉相同 指令系統發揮機能之處理器,即可使用相同之軟體。 產業上之可利用性 本發明特別可有效應用於需要反復執行多數次之軟艘(例 如,形成循環處理之軟體),此種循環處理係在影像處理及 聲音處理中常常出現的處理方式。 圖式代表符號說明
200 資 料 輸 入 〇 201 暫 存 器 指 定 輸入口 202 資 料 輸 入 σ 203a, 203b, 203c 單 元 輸 入 線 204a,204b 單 元 輸 出 線 205 配 線 域 206 配 線 程 式 元 件 301 時 鐘 輪 入 302 復 位 輸 入 400 運 算 程 式 單 元 ALU 運算 器 BAB 分 歧 位 址 儲 存緩衝器 BCL 分 歧 控 制 器 -26 - 1249130 (23) BSC 匯 流 排 狀 態 控 制 器 CC 運 算 單 元 CCN 高 速 緩 衝 記 檍 體 控 制 部 CDU 重 配 置 判 定 部 DSM 儲 存 記 憶 體 DMAC 直 接 記 憶 體 存 取 控 制 器 EXTM 外 部 記 憶 體 晶 片 FF 觸 發 器 IADU 指 令 位 址 判 定 部 IBF 指 令 緩 衝 器 ICH 指 令 高 速 緩 衝 記 憶 體 IDC 指 令 解 碼 器 IFU 指 令 取 出 部 IORC 輸 出 入 暫 存 器 單 元 ISEL 輸 入 選 擇 器 PRCB 處 理 器 匯 流 排 OCM 晶 片 記 憶 體 OSEL 輸 出 選 擇 器 SEL 選 擇 器 TBF 暫 時 儲 存 緩 衝 器
·1Ί ·

Claims (1)

124^1(3〇32〇79號專利申請案 公告本 申睛專利範圍替換本(94年9月) 圍 ¥、申請專利範 I =種半導體裝置,其係可執行含運算指令之軟體者;且 暫存器; 運算器,· 運算電路’其係含多數運算單元與 而可設定上述運笪留- 卞訪早7〇, 運算單元,欲執行之運算種類與上述多數 述多數暫存器單元間之配線連接者 控制電路,其係產生 丧者,及 之上述運算種類及上述 疋運异早兀 述運算電路執行與上二:接之設定資料、與利用上 者。 、軟體等效之處理用之驅動軟體 I如:請專利範圍第1項之半導體裝置,其中 上述控制電路係構成在 執行上迷軟體之期間中返暫存器與上述運算器 動軟體者。 座生上述設定資料及上述驅 3. 如申請專利範圍第1或2項之半導體壯 述軟體之處理係'反覆施行η·欠 '、 第一:欠至第i次(i<n)之處理 述運算器執行上述軟體之方式7利用以上述暫存器與上 第1+1 -欠至第n次之處理係=用 ^ 述驅動軟體之方式所施行者。 上述運算電路執行上 4. 如申請專利範圍第i項之仃半導 上述驅動軟體至少包含由上 ,其中 '暫存器對上述運算電路 ^13〇 上迷暫存哭。0 之上n 雜早元之資料轉送指令、與由上述遠》 吨智存考时- 、 - 攻運算電路 如申$ 早元對上述暫存裔之資料轉送於八 —專利# m 9々者。 中 fe圍第1、2、4項中任一項之半導 凝裝置,其 控制電路係μ 體之款用執行產生上述設定資料及上述驅動軟 者。 方式而產生上述設定資料及上述躯紅 勒軟體 如申請專利r m 控制 乾圍第3項之半導體裝置,其中 趙之軟趙之:用執行產生上述設定資料及上述驅動軟 者。 方式而產生上述設定資料及上述驄包土 細動軟體 如申請專 彳範圍第丨項之半導體裝置,其中 如申兮 更路係連接於匯流排者。 τ晴專利# _ 執行、、乾圍第1項之半導體裝置,其中 m ^ ^述軟體所需之時鐘週期數小於執行上Μ γ & 體所需夕η全w N工述驅動齡 一⑥之時鐘週期數者。 動軟 —種半導體襞置,其 包含 具係了執仃含運异扣令之軟體者,且 暫存器; 運算器; 運算電路,其係含多數運算單元與多數暫存器單元, 而可設定上述運算單元所執行之運算種類與上述 算單元及上述多數暫存器單元間之配線連接者; 第一記憶體區域,其係儲存上述軟體者;
1249130 第二記憶體區域,其係儲存利用上述運算電路施行與 上述軟體等效之處理用之驅動軟體者;及 控制電路,其係控制執行之軟體者; 上述軟體之處理係反覆施行η次, 第一次至第i次(i < η)之處理係利用以上述暫存器與上 述運算器執行由上述第一記憶體區域讀出之上述軟體之 方式所施行, 上述控制電路係接受上述第i次之處理而將執行之軟 體切換為上述驅動軟體,使第i+ 1次至第η次之處理係利 用以上述運算電路執行由上述第二記憶體區域讀出之上 述驅動軟體之方式所施行者。 10. 如申請專利範圍第9項之半導體裝置,其中 上述控制電路係產生依據上述軟體設定上述運算單元 之上述運算種類及上述配線連接之設定資料、與利用上 述運算電路執行與上述軟體等效之處理用之驅動軟體 者。 11. 如申請專利範圍第9項之半導體裝置,其中 上述控制電路具有設定運算電路之上述運算種類及上 述配線連接之設定資料, 在執行上述軟體之期間中,上述運算電路係利用上述 設定資料設定上述運算單元之上述運算種類及上述配線 連接者。 1 2.如申請專利範圍第9項之半導體裝置,其中 上述驅動軟體至少包含由上述暫存器對上述運算電路 1249130 之上述暫存器單元之資料轉送指令、與由上述運算電路 之上述暫存器單元對上述暫存器之資料轉送指令者。 13.如申請專利範圍第9項之半導體裝置,其中 執行上述驅動軟體所需之時鐘週期數小於執行上述軟 體所需之時鐘週期數者。
TW091132079A 2002-09-13 2002-10-29 Semiconductor device TWI249130B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2002/009437 WO2004025468A1 (ja) 2002-09-13 2002-09-13 半導体装置

Publications (2)

Publication Number Publication Date
TW200406701A TW200406701A (en) 2004-05-01
TWI249130B true TWI249130B (en) 2006-02-11

Family

ID=31986105

Family Applications (1)

Application Number Title Priority Date Filing Date
TW091132079A TWI249130B (en) 2002-09-13 2002-10-29 Semiconductor device

Country Status (6)

Country Link
US (1) US20050272197A1 (zh)
EP (1) EP1550950A4 (zh)
JP (1) JPWO2004025468A1 (zh)
CN (1) CN1639690A (zh)
TW (1) TWI249130B (zh)
WO (1) WO2004025468A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4594666B2 (ja) * 2004-07-12 2010-12-08 富士通株式会社 再構成可能な演算装置
JP5617282B2 (ja) * 2010-03-09 2014-11-05 富士通セミコンダクター株式会社 データ処理システム
JP5971214B2 (ja) * 2013-08-16 2016-08-17 富士ゼロックス株式会社 データ処理装置及びデータ処理プログラム
JP6713410B2 (ja) * 2016-11-21 2020-06-24 日立オートモティブシステムズ株式会社 電子制御装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5752035A (en) * 1995-04-05 1998-05-12 Xilinx, Inc. Method for compiling and executing programs for reprogrammable instruction set accelerator
US6112020A (en) * 1996-10-31 2000-08-29 Altera Corporation Apparatus and method for generating configuration and test files for programmable logic devices
EP1059580A1 (de) * 1999-06-10 2000-12-13 Siemens Aktiengesellschaft Programmgesteuerte Einheit
JP3678270B2 (ja) * 1999-08-25 2005-08-03 富士ゼロックス株式会社 情報処理システムおよび情報処理方法
US6438737B1 (en) * 2000-02-15 2002-08-20 Intel Corporation Reconfigurable logic for a computer
JP3636986B2 (ja) * 2000-12-06 2005-04-06 松下電器産業株式会社 半導体集積回路
US6766406B1 (en) * 2001-10-08 2004-07-20 Lsi Logic Corporation Field programmable universal serial bus application specific integrated circuit and method of operation thereof
JP3940668B2 (ja) * 2002-12-05 2007-07-04 株式会社東芝 論理回路設計方法、論理回路設計プログラムおよび論理回路設計装置
FR2850768B1 (fr) * 2003-02-03 2005-11-18 St Microelectronics Sa Dispositif electronique configurable a granularite mixte

Also Published As

Publication number Publication date
TW200406701A (en) 2004-05-01
WO2004025468A1 (ja) 2004-03-25
JPWO2004025468A1 (ja) 2006-01-12
EP1550950A1 (en) 2005-07-06
US20050272197A1 (en) 2005-12-08
EP1550950A4 (en) 2007-03-07
CN1639690A (zh) 2005-07-13

Similar Documents

Publication Publication Date Title
US9934196B2 (en) Thread optimized multiprocessor architecture
JP3714598B2 (ja) マルチスレッド式プロセッサでのスレッド優先順位の変更
JP4006180B2 (ja) マルチスレッド式プロセッサでスレッド切替えイベントを選択するための方法および装置
US8977836B2 (en) Thread optimized multiprocessor architecture
US20060294344A1 (en) Computer processor pipeline with shadow registers for context switching, and method
US20110231616A1 (en) Data processing method and system
US20090063824A1 (en) Compound instructions in a multi-threaded processor
US20070260857A1 (en) Electronic Circuit
JP3756410B2 (ja) 述語データを提供するシステム
JP4073721B2 (ja) データ処理装置
TWI249130B (en) Semiconductor device
JP4465081B2 (ja) Vliwプロセッサにおける効率的なサブ命令エミュレーション
JP3952856B2 (ja) キャッシュ方法
JP4444305B2 (ja) 半導体装置
JP4088763B2 (ja) コンピュータシステム及び該コンピュータシステムに適したハードウェア/ソフトウェアロジック並びにキャッシュ方法
JP4756599B2 (ja) データ処理装置
KR100631396B1 (ko) 반도체장치
JP4151497B2 (ja) パイプライン処理装置
JP4703735B2 (ja) コンパイラ、コード生成方法、コード生成プログラム
JP2004048228A (ja) プログラマブル論理回路及びコンピュータシステム並びに回路の初期化方法
JP3874104B2 (ja) プログラム処理装置及びプログラム処理方法
JP2009048322A (ja) インタフェースモジュール及び半導体集積回路
JP2004005739A (ja) データ処理装置の制御方法
JP2007048316A (ja) データ処理装置
JPH03168832A (ja) 分散型マイクロプログラム制御方式

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees