TWI221250B - Multi-processor system - Google Patents

Multi-processor system Download PDF

Info

Publication number
TWI221250B
TWI221250B TW091109116A TW91109116A TWI221250B TW I221250 B TWI221250 B TW I221250B TW 091109116 A TW091109116 A TW 091109116A TW 91109116 A TW91109116 A TW 91109116A TW I221250 B TWI221250 B TW I221250B
Authority
TW
Taiwan
Prior art keywords
processor
data
memory
arithmetic
patent application
Prior art date
Application number
TW091109116A
Other languages
English (en)
Inventor
Atsushi Kunimatsu
Takashi Fujiwara
Jiro Amamiya
Kenzi Shirakawa
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Application granted granted Critical
Publication of TWI221250B publication Critical patent/TWI221250B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/484Precedence

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Hardware Redundancy (AREA)

Description

1221250 9 3 6 5pif1 玖、發明說明: 發明領域 本發明是關於一種由可以處理影像資料等的大容量 資料的多個處理器(Processor)所構成之多處理器系統 (multi processor system) 本發明之優先權係爲2002年3月7日提出申請之曰本 第2002-61576號專利。且本發明係以此專利案之全部內容 爲參考文獻所組合而成。 發明背景 通常之處理器係在以對小容量之資料進行處理爲前 提之情形下,一般係在電阻(resistor)上使用高價格之小容 量的多埠記憶體。爲此,使用多個前述通常的處理器所構 成之多處理器系統,係在各處理器之間頻繁地進行資料之 存取動作,而使各處理器之控制變得很複雜。 在現存之多處理器系統中,其代表類型係爲共有記憶 體型並列處理器系統及向量(vector)處理器系統。 共有記憶體型並列處理器系統,爲使運算器用的處理 益可以自發性的取得貧料’因而程式(program)難以使各處 理器之處理達到最佳之排程(scheduling)。例如,當爲進行 圖形(graphics)之重複描繪之情形時,由於小處理單位反覆 處理形成大容量之資料,因而在同系統中,各處理器自發 性的取得任一資料’導致反覆處理的結果,進而使各處理 器之處理在事實上無法達到最佳化。 6 1221250 9365pif1 再者,在向量處理器系統中,係由主機(host computer) 對向量處理器之處理進行控制。然而’習知在同一系統中’ 主機難以在進行向量處理器之網路存取(network access)或 記憶體存取的排程之際,進行編譯程式(comPiler)之排程。 例如,在同一系統中,當爲進行圖形之重複描繪之情形時, 在與資料具有依存關係之全部編譯程式上,無法進行排程 之檢查(check),而導致編譯處理時間的延長。 發明槪述 本發明提出一種多處理器系統,包括有一個以上之運 算處理器及控制處理器。一個以上之運算處理器係用以對 儲存於記憶體之資料進行作業。控制處理器係用以控制運 算處理器之作業之實行,且控制處理器更包括有依存關係 檢查部、排程部。其中,依存關係檢查部係用以在實行作 業之際,檢查資料彼此之間的依存關係。排程部係以所檢 查得到之依存關係爲基準,對記憶體進行存取、進行從記 # 憶體至運算處理器之貪料的傳送、及進行運算處理器之運 算排程。 爲讓本發明之述和其他目的、特徵、和優點能更明 顯易懂’下文f寸舉較佳實施例,並配合所附圖式,作詳細 說明如下: 圖式之簡單說明 第1 Η所π觀本购之—較佳麵例之多處理器 系統的槪略結構的方塊_。 7 1221250 9365pif1 第2圖所示用以說明本發明之一較佳實施例之處理 內容的示意圖。 第3圖所示係爲Blend命令之一實例的示意圖。 第4圖所示係爲第3圖之Blend命令之中間命令的變 換示意圖。 第5圖所示係爲用以說明控制處理器之動作的示意 圖。 第6圖所示係爲控制處理器之動作的流程圖。 第7A圖至第7C圖所示係爲控制處理器6進行排程 管理的一實例的示意圖。 第8圖所示係爲本發明之一較佳實施例之排程方法 的一實例的流程圖。 第9圖所示係爲排程管理部之內部結構的一實例的 方塊圖。 第10圖所示係爲資料塊之有效利用率及傳送速度提 升率的圖形。 第11圖所示係爲本發明之影像處理專用之多處理器 系統的一實例的方塊圖。 圖式之標記說明: 1 :記憶體 2:運算處理器 3:運算處理部 4 :交錯部 5 :交錯控制部 1221250 93 6 5pif 1 6:控制處理器 7:外部記憶體 8:外部界面部 9:靜態隨機存取記憶體 10 :緩衝器 21 :依存關係檢查部 22 :資源檢查部 23 :排程管理部 24 : DMA控制器 25 :命令儲存部 31 :實行作業情報部 32 :實行條件情報部 33 :資源管理表 34 :識別子(identification)表 41 :畫素管 42 :安置/DDA部 S1〜S8、S21〜S26 :步驟 較佳實施例之詳細說明 接著,請參照圖式對本發明之一較佳實施例之多處理 器系統進行具體的說明。 (第一較佳實施例) 第1圖所示係爲本發明之一較佳實施例之多處理器 系統的槪略結構的方塊圖。第1圖之多處理器系統係包括 可對由多個組合(bank)所構成之組合單位進行存取(access) 1221250 93 65pi f1 的記憶體1、具有使用從組合單位中所讀出之資料塊(bl〇ck data)進f了所疋之運算處理之多個蓮算處理器2的運算處理 部(LDALU)3、對多個運算處理器2及記憶體1之間之資料 的接收傳送進行控制的交錯(crossbar)部(X-bar)4、對交錯 部4進行控制的交錯控制部5、控制運算處理部3的控制 處理器(LDPCU)6、以及進行外部記憶體7之資料之接收傳 送的外部界面(interface)部8。 記憶體1例如是由多個組合所構成之單埠記憶體(one port memory)。運算處理器3係具有使用由組合單位所讀 出之資料塊進行作業(task)的多個運算處理器2、以及對應 各運算處理器2而設置的靜態隨機存取記憶體(static random access memory,SRAM)9 〇 記憶體1、運算處理部3及外部界面部8係藉著緩衝 器(buffer)lO而與交錯部4進行資料的接收傳送。 控制處理器6係包括用以檢查用於各作業之資料塊彼 此之依存關係的依存關係檢查部21、用以掌握運算處理器2 或父錯邰4之處理狀況的貧源檢查(resource check)部22、進 行從記憶體1至運算處理器2之資料傳送、對記憶體1之存 取、及對運算處理器2之資料處理的排程等的排程(schedule) 管理部23、控制記憶體1與運算處理器2之間之dMA傳送的 DMA控制器(C〇ntroller)24、以及儲存由程式設計師 (programer)所給予之命令列的命令儲存部25。 第2圖所不用以說明本發明之一較佳實施例之處理 內容的示意圖。在圖式中,本較佳實施例係以將對2個影 1221250 9365pif1 像進行合成(以下統稱blend)之作業進行多次反覆處理的 一個線程(thread),且同時實行彼此之間沒有依存關係的多 個線程的假設爲例進行說明。在此,當產生同一或相異之 合成影像之際,共同使用之作業彼此之間存在有依存關 係,此外的作業則無依存關係。 在第2圖中,各方塊所附之符號〇〜12係表示影像資 料,且於各方塊之上側所記載之addrxx係表示對應影像資 料之預先儲存的位址(address)。例如,addrOa係表示記憶 體1之位址〇a。 第2圖之線程0所進行之處理,係將儲存於記憶體1 之位址〇a的影像0與儲存於位址la的影像1利用識別號 碼P0之運算處理器2合成成影像8,並將之儲存於位址 0c。同時,將儲存於位址2a的影像2與儲存於位址3a的 影像3利用識別號碼P2之運算處理器2合成成影像9,並 將之儲存於位址2c °之後’利用識別號碼P〇之運算處理 器將影像8、9合成成影像12 ’並將之儲存於位址〇d中。 再者,第2圖之線程1所進行之處理,係將儲存於記 憶體1之位址3c的影像4與儲存於位址0b的影像5利用 識別號碼P1之運算1處理器2合成成影像10 ’並將之儲存 於位址lb。同時,將儲存於位址Id的影像6與儲存於位 址2b的影像7利用識別號碼P3之運算處理器2合成成影 像11,並將之儲存於位址3b °之後’利用識別號碼P1之 運算處理器將影像10、11合成成影像13 ’並將之儲存於 位址1 c中。 11 1221250 9365pif1 在本較佳實施例中,對用以合成2個影像之專用命令 而言,係指 Blend命令。Blend命令係記載成 Blend(p,x,y,z)。p係表示運算處理器2之識別號碼。y係表 示從記憶體1所讀出之第一輸入資料塊的位址。z係表示 從記憶體1所讀出之第二輸入資料塊的位址。X係表示寫 入記憶體1之輸出資料塊的位址。亦即,Blend(p,x,y,z)係 表示利用識別號碼p之運算處理器2將記憶體1之位址y、 z之第一及第二輸入資料塊合成所得之資料塊儲存於位址 X ° 第2圖之線程0、1係記述了如第3圖所示之6個Blend 命令。第3圖之線程0之:6^11(1(?0,0(:,(^,13)係與第2圖之 生成影像8的處理相對應,:81^1(1(?2,2(:,2&,33)係與生成影 像9的處理相對應,Blend(P0,0d,0c,2c)係與生成影像12 的處理相對應。 再者,線程1之:6101^(?1,11),3(:,〇1))係與第2圖之生 成影像10的處理相對應,:6&11(1(?3,31),1(1,213)係與生成影 像11的處理相對應,Blend(Pl,lc,lb,3b)係與生成影像13 的處理相對應。 第3圖所示之命令列係儲存於第1圖所示之命令儲存 部25中。控制處理器6或未圖示之編譯程式或解譯器 (interpreter)係用以將第3圖所示之命令列變換成第4圖所 示之中間命令。所變換之中間命令也儲存於命令儲存部25 內,也可以個別設置用以儲存中間命令的儲存部。 在圖式中,一個Blend命令係變換成三個中間命令, 1221250 9365pifl 另外,在未圖示之組譯器(assembler)中對機械語言進行轉 換,而使控制處理器6進行動作。 例如,以:8卜11(1(?0,0(:,(^,14爲例進行說明,首先,藉 由中間命令DMA(POSPM,Oa),將記憶體1之位址0a之資
料塊以DMA傳送至與識別號碼P〇之運算處理器2相對應 的靜態隨機存取記憶體9中。接著,藉由中間命令 DMA(POSPM,la),將記憶體1之位址la之資料塊以DMA 傳送至與識別號碼P0之運算處理器2相對應的靜態隨機 存取記憶體 9中。之後,藉由中間命令 kick(P〇,〇c,P〇SPM,Blend),將儲存於靜態隨機存取記憶體 9之2個資料塊之彼此利用識別號碼P0之運算處理器2進 行合成,並將合成所得之資料塊儲存於記憶體1之位址0c 中。Kick命令之最後的引數之Blend係具有Blend處理之 命令列所是之位趾的標籤(tag)。
在第4圖之中間命令列右側所記載之數字〇A、0B等 係爲各中間命令的識別號碼。 第5圖所示係爲用以說明控制處理器6之動作的示意 圖,其中第5圖之朝右的方向係表示時間軸。第5圖係用 以說明第4圖所示之對線程〇、1進行處理之情形的控制處 理器6的動作。 首先,控制處理器6順著線程〇之中間命令〇A、0B、 〇C的順序進行處理。此時,控制處理器6係依據對應設於 排程管理部23內之作業佇列(task queue)的指示DMA傳 送,並馬上進行下一個中間命令之處理。 1221250 9 3 6 5p i f 1 在上述中,控制處理器6各中間命令不進行DMA傳 送,而只進行把DMA傳送指示積蓄至作業序列之處理。 在線程0之中間命令0C之處理爲完成之階段時’例 如,從未圖示之計時器(timer)把線程的切換插隊信號輸入 排程管理部23時,取代線程0的是控制處理器6依據線程 1之中間命令1A、IB、1C之順序進行處理。在此,控制 g 處理器6係依據對應設於排程管理部23內之作業佇列的指 示進行DMA傳送,並於完成後進行下一個中間命令之處 理。 在線程1之中間命令1C之處理爲完成之階段時,例 如,從未圖示之計時器把線程的切換插隊信號輸入排程管 理部23時,排程管理部23進行關於積蓄至作業佇列的中間 命令之實行處理之作業的排程。之後,依據所排程之順序, 控制處理器6控制DMA控制器24或運算處理器2以進行各 作業。 _ 線程的切換插隊信號或排程插隊信號,係從例如是微 處理器系統(micro-processor system)內之未圖示之計時器 或計數器(counter)等具有時間計測機能的電路週期性的輸 入。或者,也可以從微處理器系統之外部電路提供此些插 隊信號。 在第5圖中,雖線程0、1之各中間命令是在以3個3個 實行之際,輸入排程插隊信號,再於對線程0或1之中間命 令以3個3個實行之後,輸入線程切換插隊信號等情形爲例 1221250 9365pif1 進行說明,但不以此爲限’此種插隊信號輸入時機可視實 際狀況適時地進行種種的變更。 第5圖之隨時間序列所進行之動作係爲第6圖所不之 流程圖。首先,控制處理器6選擇線程’依據各中間命令之 順序實行(步驟S1),並對應排程管理部23之作業仔列指 示DMA傳送(步驟S2)。 接著,控制處理器6判斷線程切換插隊信號是否有輸 入排程管理部23 (步驟S3),反覆進行步驟SI、S2之處理 直到輸入此插隊信號爲止。 輸入線程切換信號’且控制處理器6對可實行的線程 進行彼此間的調節,再選擇一個線程實行(步驟s4) °在 第5圖中,由於2個線程無法同時實行,因此線程〇之後係實 行線程1。 之後,當輸入排程插隊信號(步驟S5)時,排程管理 部23便進行排程處理。輸入排程插隊信號時,首先,排程 管理部23係從作業疗列中讀取已進入(entry)之作業(步驟 S6)之後,藉由對與所讀取之作業有資料依存關係的位址 進行檢查’以檢查出資源衝突(交錯部4或記憶體丨之埠號 碼),進而以最有效率之方式對作業進行排程(步驟S7)。 itu排f壬使控制處理益6之軟體(software)之安裝變得有可 能,因而可以對應安裝狀態而有種種的變更可能。 之後’控制處理器6依據排程後之順序,對實際可行 之作業進行貫際的執行,以控制〇]^人控制器24或運算處理 1221250 9365pif1 器2 (步驟S8)。 第7A圖至第7C圖所示係爲控制處理器6進行排程 管理的一實例的示意圖。請參照第7A圖所示,對應識別 號碼P0之運算處理器2之作業E〇、El、E0、E2,以及對 應識別號碼P1之運算處理器2之作業E0、E0、E2、E2 係爲積蓄至作業丨宁列。前述之作業之具體的內容不需特別 加以限制,在以下敘述中,係以實行上述之Blend命令之 作業爲例進行說明。 當未進行任何排程管理之際’控制處理器6係依照最 初所輸入的作業佇列之作業的順序實行,以識別號碼p0、 P1之運算處理器2任一,實行最初的作業E0。因此,作 業E0係在利用同一 Blend命令實行,當此命令實行之際, 係利用儲存於記憶體1內之同一資料,因而無法於識別號 碼P0、P1之運算處理器2中同時進行此相同的處理。爲 此,請參照第7B圖所示’將識別號碼P1之運算處理器2 待機至識別號碼P0之運算處理器2之作業E0處理完成之 後才開始動作。如此,則會使識別號碼P1之運算處理器2 完全處理完畢爲止的時間變長。 另一方面,本較佳實施例之排程管理部23之識別號 碼P0、P1之運算處理器2要以最有效率之方式進行作業, 以此方式,對積蓄至作業佇列的作業進行排程。第7C圖 所示係爲將識別號碼P1之運算處理器2之作業E2排程成 先實行的一實例。如此可使作業E0、E2分別使用個別的 資料實行Blend命令,進而使不同的運算處理器2可同時 16 1221250 9365pif1 實行各自的作業。 另外,在本較佳實施例中,多個運算處理器2並列進 行作業之際,可以藉由控制處理器6對各運算處理器2之 作業的排程,使各運算處理器2可以更有效率地進行作業 處理。亦即,在本較佳實施例中,可藉由排程而使各運算 處理器2之處理變得更有效率。 在上述之較佳實施例中,雖以實行Blend命令之作業 爲例進行說明,然而,可實行之命令並不以Blend命令爲 限。以構成作業之要素而言,也可以具備有以下3種命令。 1) 表示作業所必要進行之資料的識別子 (identificatino)。在此,識別子可以爲指示記憶體1之資料 塊的資料,且識別子也可以爲多個所組成。 2) 表示實行作業之運算器的識別子。 3) 表示作業之實行結果之資料的識別子。 1)〜3)之識別子,並不一定需要在存取記憶體1之位 址本體上,也可以爲對應位址之識別子(符記(token))。 排程管理部23係藉由展現作業順序之依存關係的識別子 彼此之間的依存關係,而實現作業之排程。 以下,係以一實例對排程管理部23之排程方法進行 詳述。排程管理部23之處理可藉由軟體與硬體中任一種獲 得實現,也可以由軟體與硬體之間的協調動作而獲得實現。 第8圖所示係爲本發明之一較佳實施例之排程方法 1221250 9365pifl 的一實例的流程圖。在第8圖之流程中,係爲對各運算處 理器2中之處理之開始及結束,利用對應位址之識別子進 行管理的實例。 首先,控制處理器6傳送與開始處理相對應之識別子 到運算處理器2 (步驟S21)。接受此識別子之運算處理 器2進行所指定的處理(步驟S22)。完成處理之後,此 識別子返回控制處理器6(步驟S23)。 控制處理器6將返回之識別子傳送到控制處理器6內 之排程管理部23。排程管理部23決定是否將次一個識別 子傳送至運算處理器2 (步驟S24)。藉此,排程管理部 23進行全部的資料塊之依存關係檢查。排程管理部23在 資料塊之依存關係之其他方面時,需將運算處理器2或交 錯部4之處理狀況等的資源情報考慮進去,並以此決定是 否將次一個識別子傳送至運算處理器2。 之後’控制處理器6在適當的依存關係檢查之後,且 於確保資源的情況下,對運算處理器2傳送對應位址的識 別子(步驟S25)。 反覆進行上述動作,直到實行作業情報部中所登陸之 作業全部貫f了兀畢時爲止(步驟S26) 〇 第9圖所示係爲排程管理部23之內部結構的一實例 的方塊圖。在圖式中,排程管理部23係包括有用以紀錄對 應所實行之作業的識別子的一覽的實行作業情報部31、用 以紀錄作業之實行條件的實行條件情報部32、用以紀錄在 作業實行之際可資利用的運算處理器2之種類及其他的資 1221250 9365pif1 源情報的資源管理表(table)33、以及表示識別子與作業之 對應關係的識別子表34。 作業例如是上述之Blend命令,識別子係指對應各 Blend命令而言。例如,第9圖之識別子表34係爲識別子 T1與 Blend(P0,0c,0a,la)相對應、識別子 T2與 3卜11(1(?2,2〇,23,33)相對應、識別子丁3與則印(1(?0,0(1,0(:,2(:) 相對應、識別子T4與則印(1(?1,113,3〇,013)相對應等的實例。 在實行條件情報部32中所紀錄之條件係與實行作業 情報部31中所記錄之識別子相互對應。例如,在第9圖中, 當實行對應識別子T2之Blend命令及對應識別子T5之 Blend命令之際,實行對應作業情報部31之識別子T4的 Blend命令。再者,當實行對應識別子T2之Blend命令及 對應識別子T3之Blend命令之際,則實行對應作業情報部 31之識別子T1的Blend命令。 再者,當實行作業情報部31完成對應於識別子T4 的Blend命令之際,實行條件情報部32是把全部已記錄的 識別子T4當作結束來處理。若無法把多個位元欄位(bit field)依識別子分開時,則實行作業情報部中會出現多個 T4。在此情形下,作爲結束的T4便決定實行作業情報部 中之此T4開始直到次一個出現的T4之間的磁格(slot)的作 業。 19 1221250 93 65pif1 當實行作業情報部31實行對應識別子T4之Blend命 令之際,參照資源管理表33,以決定進行對應之Blend命 令之實行的運算處理器。排程管理部23係參照資源管理表 33之情報,決定實行Blend命令之運算處理器2之種類及 實行Blend命令的時期。 當所決定之運算處理器2完成處理時,此運算處理器 2釋放其資源,並將此事記錄於資源管理表33中。再者, 當多個運算處理器2可對同一資源之要求進行回應的情形 時,原則上係以先發出之Blend命令爲優先處理。 在本較佳實施例中,從記憶體1中進行以資料塊爲單 位得讀取,可提升資料之傳送速度,資料塊之資料尺寸 (data size)較佳係設定成1千位元組以上。如此,一般的框 緩衝記憶體(frame buffer)之厚片尺寸(chunk size)至少需 要2千位元組較爲妥當。但,隨著安裝型態之變化,最佳 之資料塊之資料尺寸也隨之變化。 第10圖所示係爲在作業中,表示資料塊之中進行運 算處理時之有效被使用資料之比率的有效利用率,以及從 記憶體1至運算處理器2之資料塊的傳送速度提高率。有 效利用率係隨著資料尺寸之變小而提高,而傳送速度提高 率則是隨著資料尺寸之變大而提高。 在上述中,資料塊係指1千位元組以上之資料尺寸。 在資料塊之傳送及處理之過程中,通常之處理器之系統時 脈(system clock)需要數週期(cycle)。由於記憶體丨及運算 處理器2係進行以資料塊爲單位之處理,因此,控制處理 20 1221250 93 65pif1 器6係以資料塊之處理時間爲單位的時脈進行動作。藉 此,將通常之處理器之系統時脈在較緩之時脈下進行控制 處理器6之動作時,則不需要使用高價之高速組件或高速 處理,而使硬體之較適設計變得更容易。 再者,運算處理器2之數量並未特別加以限制,當運 算處理器2之數量資佳時’運算處理器2 —次可處理之資 料塊之資料尺寸也會變大。藉此,當一個運算處理器2之 處理時間較長時,此部分控制處理器6可不需對運算處理 器2進行頻繁地切換,進而可以減輕控制處理器6之處理 負擔。 另外,爲提升多處理器系統全體的表現,也可以考慮 提升同系統全體之動作頻率數的方法或增加運算處理器2 之數量的方法。當運算處理器2之數量增加之際,各運算 時脈可處理之資料塊之尺寸可變大。 (第二較佳實施例) 第二較佳實施例係爲適用於利用特殊系統進行本發 明之影像處理的一實例。 第11圖所示係爲本發明之影像處理專用之多處理器 系統的第二較佳實施例的方塊圖。在圖式中,各自進行個 別的影像處理的多個運算處理部(LDALU)3、控制處理器 (LDPCU)6、記憶體1等皆與交錯部4相連接。 在運算處理部3之內部,設有多個畫素管(pixel pipe)41、與各畫素管41相連接的靜態隨機存取記憶體 (SRAM)9、以及進行前處理的安置(set-up)/DDA部42。 21 1221250 9 3 6 5pi f1 各運算處理部3內之畫素管41係相當於第1圖之運 算處理器2,用以進行多邊形(polygon)之透視圖(rendedng) 或透明座標板(template) ·配對(matching)處理等的影像處 理。 第Π圖之控制處理器6係檢查像處理用之作業所使 用之資料塊的依存關係,再以此檢查結果爲基準,排程運 算處理部3內之畫素管41之動作。藉此,即使各畫素管 41並列動作之際,也可以高速地進行各種影像處理。 在上述較佳實施例中,雖然以在運算處理部3內設置 多個運算處理器2爲例進行說明,然並不以此爲限,本發 明也可以適用於僅具有一個運算處理器2的情形。 在上述較佳實施例中,雖然以進行影像資料之合成的 處理爲例進行說明,然並不以此爲限,本發明也可以適用 於影像資料之合成處理以外的各種的運算處理。 第5圖及第 再者’也可以實現使用軟體替代第1圖 9圖所示之方塊圖之至少一部份硬體的情形 22

Claims (1)

1221250 9365pif1 拾、申請專利範圍: 1. 一種多處理器系統,包括: 一個以上之一運算處理器,用以對儲存於一記憶體之 一資料進行一作業;以及. 一控制處理器,用以控制該運算處理器之該作業之實 行,且該控制處理器更包括: 一依存關係檢查部,用以在實行該作業之際,檢查該 資料彼此之間的依存關係,以及 一排程部,以該依存關係檢查部所檢查得到之依存關 係爲基準,對該記憶體進行存取、進行從該記憶體至該運 算處理器之該資料的傳送、及進行該運算處理器之運算排 程。 2. 如申請專利範圍第1項所述之多處理器系統,其中 該運算處理器係將該資料以區塊爲單位存取於該記憶體 nju 〇 3. 如申請專利範圍第1項所述之多處理器系統,其中 該依存關係檢查部係於實行同一或相異的該作業之際,檢 查出共通使用之該資料之間的依存關係。 4. 如申請專利範圍第1項所述之多處理器系統,更包 括: 一資料傳送控制部,用以控制該記憶體及一個以上之 該運算處理器之間的資料接收傳送,且該排程部將該資料 傳送控制部所輸出之一傳送控制信號列入考量,進行排程。 23 1221250 9365pif1 5. 如申請專利範圍第1項所述之多處理器系統,更包 括: 一命令儲存部,用以儲存一巨集命令,該巨集命令包 括: 一識別子,指定該運算處理器進行之處理內容; 該記憶體之一第一位址,用以顯示該運算處理器之當 作輸入貪料使用之貪料的儲存,以及 該記憶體之一第二位址,用以顯示該運算處理器之運 算結果的儲存, 且該依存關係檢查部係以該第一位址及該第二位址 爲基準檢查該資料彼此之間的依存關係。 6. 如申請專利範圍第1項所述之多處理器系統,更包 括: 一條件表,藉由識別出應實行作業一識別子,紀錄該 作業彼此間的依存關係;以及 一資源管理表,以該條件表爲基準,紀錄應實行作業 之一實行條件情報,及各該作業實行時所使用之一資源情 報, 且該依存關係檢查部係以該資源管理表所記載之情 報爲基準,檢查該應實行作業中所使用之該資料之依存關 係。 7. 如申請專利範圍第1項所述之多處理器系統,其中 該資料包括一影像資料, 且該依存關係檢查部於生成同一或相異的一合成影 24 1221250 9365pif1 像之際,判斷所共通使用之該資料彼此之依存關係。 8. 如申請專利範圍第1項所述之多處理器系統,其中 該資料之資料尺寸係設定成1千位元組以上。 9. 如申請專利範圍第8項所述之多處理器系統,其中 當實行複數個作業之該運算處理器之數目愈增加,則該資 料之資料尺寸也變大。 10. 如申請專利範圍第1項所述之多處理器系統,其中 該控制處理器係根據在該記憶體及該運算處理器之間之該 資料之接收傳送所需要之時間單位爲基準的一時脈,進行 一處理動作。 11. 如申請專利範圍第1項所述之多處理器系統,其中 該記憶體包括分割成複數個組合之一單埠記憶體。 12. 如申請專利範圍第1項所述之多處理器系統,其中 在該記憶體及該運算處理器之間之資料傳送及該運算處理 器之資料處理爲平行進行,更包括有該記憶體及該運算處 理器之間之資料傳送用之緩衝器、以及該運算處理器之資 料處理用之緩衝器。 25 公告芩I 9365pif1 η η JI:: i2iL 爲第9 11 Ο 9ΓΤ6^號中文說明書無劃線修正本 修正日期93年3月12日 1221250 發明專利說明書 (本說明書格式、順序及粗體字,請勿任意更動,※記號部分請勿填寫) ※申請案號: ※I P C 分類: ※申請曰期·· q I、s、久 壹、 發明名稱:(中文/英文) 多處理器系統/MULTI-PROCESSOR SYSTEM 貳、 申請人:(共1人) 姓名或名稱:(中文/英文) 東芝股份有限公司/KABUSHIKI KAISHA TOSHIBA 代表人:(中文/英文)岡村正/〇KAMURA,TADASHI 住居所或營業所地址:(中文/英文) 曰本東京都港區芝浦一丁目1番1號 1-1,Shibaura l-chome,Minato-ku,Tokyo,Japan 國 籍:(中文/英文)曰本/ JAPAN (共4人) 參、發明人: 姓名:(中文/英文) V 5Ϊ ? / KUNIMATSU, ATSUSHI •滕原示 / FUJIWARA,TAKASHI • J,治郎 / AMAMIYA,JIRO •白川健治 / SHIRAKAWA,KENZI 住居所地址··(中文/英文) •曰士 奈川縣川崎市川崎區本町1-9-9九里緒川试 壹番館405號室 j匕+」丄” y几里緒川崎 2·阿曰蕾本以^317市中原區木月住吉町193丨克蕾 3·日丨崎市多摩區登戶法蕾東芝向 θ本神奈川縣川崎市幸區下平間274-15-302
TW091109116A 2002-03-07 2002-05-02 Multi-processor system TWI221250B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002061576A JP2003263331A (ja) 2002-03-07 2002-03-07 マルチプロセッサシステム

Publications (1)

Publication Number Publication Date
TWI221250B true TWI221250B (en) 2004-09-21

Family

ID=28034834

Family Applications (1)

Application Number Title Priority Date Filing Date
TW091109116A TWI221250B (en) 2002-03-07 2002-05-02 Multi-processor system

Country Status (6)

Country Link
US (1) US20030177288A1 (zh)
EP (1) EP1365321A3 (zh)
JP (1) JP2003263331A (zh)
KR (1) KR100538727B1 (zh)
CN (1) CN1444154A (zh)
TW (1) TWI221250B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI410866B (zh) * 2004-12-01 2013-10-01 新力電腦娛樂股份有限公司 排程方法、排程裝置、多工處理器系統及排程用程式
CN104714838A (zh) * 2013-12-12 2015-06-17 ***通信集团四川有限公司 一种任务调度方法及装置

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3793062B2 (ja) * 2001-09-27 2006-07-05 株式会社東芝 メモリ内蔵データ処理装置
US7467383B2 (en) * 2004-03-08 2008-12-16 Ab Initio Software Llc System for controlling task execution using a graphical representation of task dependency
GB0420442D0 (en) * 2004-09-14 2004-10-20 Ignios Ltd Debug in a multicore architecture
US20090158293A1 (en) * 2005-09-05 2009-06-18 Nec Corporation Information processing apparatus
KR100791296B1 (ko) * 2006-03-03 2008-01-04 삼성전자주식회사 멀티 코어 시스템에서 협력적 스케줄링을 제공하는 장치 및방법
US8345053B2 (en) * 2006-09-21 2013-01-01 Qualcomm Incorporated Graphics processors with parallel scheduling and execution of threads
US7809926B2 (en) * 2006-11-03 2010-10-05 Cornell Research Foundation, Inc. Systems and methods for reconfiguring on-chip multiprocessors
KR100856468B1 (ko) * 2007-01-08 2008-09-04 재단법인서울대학교산학협력재단 임베디드 소프트웨어의 객체지향 태스크 모델을멀티프로세서 시스템 온 칩 하드웨어 아키텍처로 자동할당하기 위한 방법
JP5146444B2 (ja) * 2007-03-20 2013-02-20 富士通株式会社 マルチプロセッサシステム及びその制御方法
EP2138937A4 (en) 2007-04-12 2011-01-26 Nec Corp DATA PROCESSING DEVICE OF ARRAY PROCESSORYPSY
KR100957060B1 (ko) * 2007-12-12 2010-05-13 엠텍비젼 주식회사 명령어 병렬 스케줄러, 방법 및 그 기록매체
US8561072B2 (en) * 2008-05-16 2013-10-15 Microsoft Corporation Scheduling collections in a scheduler
JP5365201B2 (ja) * 2009-01-07 2013-12-11 日本電気株式会社 プロセス実行制御システム、プロセス実行制御方法、及びプロセス実行制御プログラム
KR101083049B1 (ko) 2010-06-11 2011-11-16 엘아이지넥스원 주식회사 시뮬레이션 시스템 및 시뮬레이션 방법
KR20120017294A (ko) 2010-08-18 2012-02-28 삼성전자주식회사 어플리케이션을 효율적으로 처리하는 스케쥴링 시스템 및 스케쥴링 방법
JP5238876B2 (ja) * 2011-12-27 2013-07-17 株式会社東芝 情報処理装置及び情報処理方法
KR102270791B1 (ko) 2014-12-10 2021-06-29 삼성전자주식회사 매크로 명령어를 처리하는 방법 및 장치
CN108021563B (zh) * 2016-10-31 2021-09-07 华为技术有限公司 一种指令间数据依赖的检测方法和装置
CN111052084B (zh) * 2017-08-30 2023-10-17 富士胶片株式会社 图像处理装置、图像处理方法以及图像处理程序
CN109522048B (zh) * 2017-09-18 2023-05-23 展讯通信(上海)有限公司 一种同步多线程中断验证方法及***
CN110059024B (zh) * 2019-04-19 2021-09-21 中国科学院微电子研究所 一种内存空间数据缓存方法及装置

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2064383C3 (de) * 1970-01-12 1981-02-26 Fujitsu Ltd., Kawasaki, Kanagawa (Japan) Datenverarbeitungsanlage mit mehreren zentralen Verarbeitungseinrichtungen
JP2628079B2 (ja) * 1988-11-25 1997-07-09 三菱電機株式会社 マルチプロセサシステムにおけるダイレクト・メモリ・アクセス制御装置
JP2658397B2 (ja) * 1989-06-13 1997-09-30 日本電気株式会社 マルチプロセッサシステム
JPH0640324B2 (ja) * 1989-10-26 1994-05-25 インターナショナル・ビジネス・マシーンズ・コーポレーション マルチプロセッサ・システムおよびそのプロセス同期方法
US5303369A (en) * 1990-08-31 1994-04-12 Texas Instruments Incorporated Scheduling system for multiprocessor operating system
US5276798A (en) * 1990-09-14 1994-01-04 Hughes Aircraft Company Multifunction high performance graphics rendering processor
JPH0695879A (ja) * 1992-05-05 1994-04-08 Internatl Business Mach Corp <Ibm> コンピュータシステム
JP2861647B2 (ja) * 1992-07-08 1999-02-24 松下電器産業株式会社 画像生成装置
US6105053A (en) * 1995-06-23 2000-08-15 Emc Corporation Operating system for a non-uniform memory access multiprocessor system
US5742814A (en) * 1995-11-01 1998-04-21 Imec Vzw Background memory allocation for multi-dimensional signal processing
US5991542A (en) * 1996-09-13 1999-11-23 Apple Computer, Inc. Storage volume handling system which utilizes disk images
US6069705A (en) * 1996-10-07 2000-05-30 Texas Instruments Incorporated Managing interpreter cofunctions on multiprocessor-based printer
KR19980027320A (ko) * 1996-10-15 1998-07-15 김광호 멀티 프로세서 컴퓨터 시스템
US6012142A (en) * 1997-11-14 2000-01-04 Cirrus Logic, Inc. Methods for booting a multiprocessor system
EP0918280B1 (en) * 1997-11-19 2004-03-24 IMEC vzw System and method for context switching on predetermined interruption points
US6230151B1 (en) * 1998-04-16 2001-05-08 International Business Machines Corporation Parallel classification for data mining in a shared-memory multiprocessor system
US6212622B1 (en) * 1998-08-24 2001-04-03 Advanced Micro Devices, Inc. Mechanism for load block on store address generation
KR100400165B1 (ko) * 1998-11-16 2003-10-01 텔레폰아크티에볼라게트 엘엠 에릭슨 처리 시스템 스케쥴링
SE9902373D0 (sv) * 1998-11-16 1999-06-22 Ericsson Telefon Ab L M A processing system and method
SE9803901D0 (sv) * 1998-11-16 1998-11-16 Ericsson Telefon Ab L M a device for a service network
US6272522B1 (en) * 1998-11-17 2001-08-07 Sun Microsystems, Incorporated Computer data packet switching and load balancing system using a general-purpose multiprocessor architecture
US6675380B1 (en) * 1999-11-12 2004-01-06 Intel Corporation Path speculating instruction scheduler
AU2001239559A1 (en) * 2000-03-23 2001-10-03 Sony Computer Entertainment Inc. Image processing apparatus and method
US20030105620A1 (en) * 2001-01-29 2003-06-05 Matt Bowen System, method and article of manufacture for interface constructs in a programming language capable of programming hardware architetures

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI410866B (zh) * 2004-12-01 2013-10-01 新力電腦娛樂股份有限公司 排程方法、排程裝置、多工處理器系統及排程用程式
CN104714838A (zh) * 2013-12-12 2015-06-17 ***通信集团四川有限公司 一种任务调度方法及装置

Also Published As

Publication number Publication date
EP1365321A2 (en) 2003-11-26
CN1444154A (zh) 2003-09-24
US20030177288A1 (en) 2003-09-18
JP2003263331A (ja) 2003-09-19
EP1365321A3 (en) 2005-11-30
KR20030074047A (ko) 2003-09-19
KR100538727B1 (ko) 2005-12-26

Similar Documents

Publication Publication Date Title
TWI221250B (en) Multi-processor system
Chen et al. GFlink: An in-memory computing architecture on heterogeneous CPU-GPU clusters for big data
JP6047747B2 (ja) 制御タイプの実行モードとデータフロータイプの実行モードとの組み合わせによりタスクを並列に実行可能な複数の処理ユニットを有するシステム
JP4678623B2 (ja) 非対称型異種混合マルチプロセッサ環境(asymmetric heterogeneous multiprocessor environment)におけるメモリバリア要素(Primitive)
TWI386814B (zh) 具動態工作管理能力之多處理器界面及其程式載卸方法
Ramirez et al. The SARC architecture
EP2187316B1 (en) Gated storage system and synchronization controller and method for multiple multi-threaded processors
US9485303B2 (en) Cluster system based on parallel computing framework, and host node, computing node and method for executing application therein
US20150106597A1 (en) Computer Processor With Deferred Operations
US20070250682A1 (en) Method and apparatus for operating a computer processor array
JP2010244563A (ja) グラフに基づく計算の実行方法、当該方法を実行させる命令を格納するコンピュータ可読記憶媒体、並びに当該方法を実行するためのシステム
US8387061B2 (en) Logic for synchronizing multiple tasks at multiple locations in an instruction stream
CN107729267B (zh) 资源的分散分配以及用于支持由多个引擎执行指令序列的互连结构
KR20200014378A (ko) 직무 관리
CN110908716B (zh) 一种向量聚合装载指令的实现方法
US20200319893A1 (en) Booting Tiles of Processing Units
JP2000047887A (ja) 投機的マルチスレッド処理方法および投機的マルチスレッド処理装置
Govindarajan et al. Design and performance evaluation of a multithreaded architecture
WO2023165484A1 (zh) 一种分布式任务的处理方法、分布式***及第一设备
JP5238876B2 (ja) 情報処理装置及び情報処理方法
JP2006048661A (ja) プロセッサとコプロセッサとの間でのデータ転送を制御する演算処理装置
JP2005528671A (ja) 多重プロセッサデータ処理システムにおけるデータ処理方法及び対応するデータ処理システム
JP4631442B2 (ja) プロセッサ
Ohno et al. Dynamic Task Scheduling Scheme for a GPGPU Programming Framework
Ostheimer Parallel Functional Computation on STAR: DUST—

Legal Events

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