TW200825908A - Parallel operation device - Google Patents

Parallel operation device Download PDF

Info

Publication number
TW200825908A
TW200825908A TW096130440A TW96130440A TW200825908A TW 200825908 A TW200825908 A TW 200825908A TW 096130440 A TW096130440 A TW 096130440A TW 96130440 A TW96130440 A TW 96130440A TW 200825908 A TW200825908 A TW 200825908A
Authority
TW
Taiwan
Prior art keywords
data
bit
command
register
entry
Prior art date
Application number
TW096130440A
Other languages
English (en)
Inventor
Toshinori Sueyoshi
Masahiro Iida
Mitsutaka Nakano
Fumiaki Senoue
Katsuya Mizumoto
Original Assignee
Renesas Tech 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 Renesas Tech Corp filed Critical Renesas Tech Corp
Publication of TW200825908A publication Critical patent/TW200825908A/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/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/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30036Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
    • 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/3887Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by a single instruction for multiple data lanes [SIMD]

Landscapes

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

Description

200825908 九、發明說明: 【發明所屬之技術領域】 本發明係關於半導體運算裝置,特別有關於使用半導體 記憶體以高速地進行大量資料之運算處理之運算電路之 構造。 【先前技術】 近年來隨著攜帶式終端機器之普及,以高速處理如聲音 和影像之大量資料之數位信號處理之重要性逐漸變高。數 位信號處理一般大多是使用DSP(digital signai processor ’數位信號處理器)作為專用之半導體裝置。在 對聲音和影像進行之數位信號處理中,進行著過濾處理等 =資料處理,在此種處理中W是重複進行積和運算之運 f處理。因此,一般在DSP之構造中,設有乘算電:,加 异電路和累計運算用之暫存器。當使用此種專用之卿 =演算可以以1個機器週期實行,而可以進行高速 直^是’當處理對象之資料量非常多之情況時,即使使用 專用之DSP要大幅地提高性能亦會有困難。例如 對象之資料為Π)_組之情況時,即使對丨< ^ 個因ΤΓ=運算,最低亦_^^ 期之肩异。因此,在使用暫存器 ,U3a 造之情況’雖然Η固1個之處理是:高速:广异之構 處理是串列進行,所以當資料量變多時,^ ’因為資料 使處理時間變長,不能實現高速處理。一/、成正比例地 312ΧΡ/發明說明書(補件)/96_12/96130440 6 200825908
另外,在使用此種專用之DSP之情況時,因為處理性能 和動作頻率具有报大之相關性,所以在高速處 情況,消耗電力會增大。 K 因此’本申請人已提案有能夠以高速對大量資料進行運 算處理之構造(先前文獻i,日本專利特開2〇〇6_12謂 號公報)。 在該先前文獻1所示之構造中’記憶體單元墊(_ cel 1 mat)被分割成為多個之入口(entry),就每一個入口 設置演算器(arithmetic logic unit,ALU)。在盥各個入 口對應之演算器(_之間’以位元串列態樣進;;資料轉 送,在多個之入口平行地實行運算。例如,在二項運算之 情況時,讀出二項之資料,進行運算,並儲存該運算結 以位元為單位實行該等之資料操作。在資料位元之妹 (裝載,load)運算,和運算結果之寫入(儲存,伽二, 分別需要1個機器週期之情況,運算對象之資料字之位元 幅度為N之情況’各個人口之運算成為需要、4. n個機= 週期。運算對象之資料字之位元幅度為從8位元至 元之程度。藉由使人D數例如大至1G24,例如在8位元 f料之情況時,利用32個機器週期可以獲得1〇24個之運 算結果’當與依順序處ί! 1〇24組之資料之情況比較時, 可以大幅地縮短處理時間。 另外,在該專利文獻i所示之構造中,與人口❹地, 設有資料轉送電路。經由設fALU間互相連接用開關電路 (貧料轉送電路:ECM(entry communicat〇r)),而在演算 312XP/發明說明書(補件)/96-12/96130440 7 200825908 器間進行資料轉送,且因為經由人σ内部之專用匯产排淮 打資料之轉送’所以當與經由純匯流排在人口間^行資 ==之構造比較時,可以實行以高速進行資料轉送之運 异處理1外’利用則間互相連接用開關電路,可以對 吕己憶體早疋塾内之各種區域所儲存之#料實現 算之自由度’可以實現進行多樣之運算之半導體 【發明内容】 在該先前文獻1所示之構造中,在記憶體單元墊間之所 有之入:之演算器中’可以平行地實行相同之運算處理。 亦即,忒先刖文獻1所示之平行運算裝置(Μτχ)是以 SIMD(single instruction stream-multiple data stream單心令多資料流程)架構作為基礎之運算裝置。 另外,使用有ALU互相連接之開關電路,在各個入口可以 在進行實體上遠離入口間之通信之同時,亦可以實行入口 間之跨越處理。 另外’在先剞文獻1所示之構造中,可以實行:指標暫 存器印令,用來操作表不記憶體單元塾内之存取位置之指 標暫存器之内容;1位元裝載·儲存命令,2位元裝載· 儲存命令,1位元入口間資料移動命令,2位元入口間資 料移動命令,1位元算術運算命令,和2位元算術運算命 令’用來在入口之資料記憶部和對應之演算器之間轉送資 料。另外,經由將被設在演算器内之遮罩暫存器(v暫存 器)之值設定為,,〇,,,對該入口之運算進行遮罩(mask),而 312XP/發明說明書(補件)/96-12/96130440 8 200825908 可以將運算設定在不實行狀態。 該先前文獻1所示之運算裝置是以SIMD為基礎’使所 有之入口平行地,實行相同之運算。因此,在對多個” 之群組實行相同之運算處理之情況時,可以進行高速運曾 處理,因此’可以以高速實行例如影像f料之過濾處理等。 但是’平行性較低之運算處理,在運算裝置内,對運算 對象以外之運异施加遮罩,成為分別對各個順序地實行運 算處理,或利用主機CPU進行處理。因此,該平行性較低 之運算處理之逐次處理成為對高速化之一個障礙,會發生 不能獲得該平行運算裝置之最大限度性能之問題。x 另外,在入口間通信時,在咖型架構之構造令,所 有之入口平行地,與離開同一距離之入口進行通信(依昭 :口間資料移動命令)。但是,在各個入口與離開任意 離之入口進彳了 it信之情科,冑要組合人 (資料移動命令)和演算器之V ”多動^
L 資料移動之距離,距離不同之而調整 行地進行處理。 n之“間之㈣之移動不能平 因此,假如能夠有效率地進行該平行性較低之運曾和/ 或貝科移動處理時,亦可以使運算裝置之用途變廣。 因此,本發明之目的是提供平 ;、 地進行平行性較卞仃建汁4置,可以有效率 延仃卞仃’生季乂低之運异和資料移動等之處理。 本發明之第1觀點之平行運算裝置具備有: 部,係具有分別具有多個位元巾5 ' ; 之多個之資料入口;和多二τ置成與入口對應 夕個之運异處理元#,被酉己置成與 312XP/發明說明書(補件)/9_613〇44〇 9 200825908 該資料記憶部之資料入口對應,在各個設定有運算内容, 對所給與之資料,實行所設定之運算。 本發明之第2觀點之平行運算裝置具備有:資料記憶 部,係具有分別具有多位元幅度且被配置入口對應之多個 之資料入口;多個之運算處理元件,被配置成與各個入口 對應,分別對所給與之資料實行所設定之運算;和多個之 資料通信電路,被設置成與多個之入口對應,分別在對應 之入口和另外一個入口之間進行資料通信。該等之多個之 資料通信電路分別設定有資料移動之入口間距離和方向。 本發明之第3觀點之平行運算裝置具備有:資料記憶 部,係具有分別具有多位元幅度且被配置成與入口對應之 多個之資料入口;多個之運算處理元件,被配置成與該入 口對應,分別被設定有運算内容,對所給與之資料實行所 設定之運鼻,和多個之貧料通信電路’被設置成與該等之 多個入口對應,分別在對應之入口和另外一個入口之間進 行貧料通信。多個之貧料通信電路分別設定有資料移動之 入口間距離和方向。 另外,各個入口之運算處理元件之運算内容和資料通信 電路之資料移動量和方向,係被設定在儲存有在該運算處 理元件内所設之運算資料和運算遮罩用之資料之暫存器 内。 在本發明之第1觀點之平行運算裝置中,構建成在各個 運算處理元件設定運算内容,而平行性較低之運算,則可 以就每一個入口平行地實行,可以更進一步地改善性能。 312XP/發明說明書(補件)/96-12/96130440 10 200825908 特別是不需要將資料轉送到主機CPU,以+ 内,閉合地實行資料運算處理,因此 ^運算裝置 時間可以縮短。 、科轉适所需要之 另外,在本發明之第2觀點之平行運瞀 入口設定資料移動量,可以古 开t中,在各個 .^ 了 ^以问速進仃資料在入口 Η銘 動,可以縮短資料轉送所需要之時間。 入口間移 另外’在本發明之第3觀點之平行運 個運算處狀暫存Μ,儲存料算㈣ 移動量^料’不需要使料用之暫存器就可以抑 ::之增大。另外’在每一個入口設定資料移 内容,可以實現高速之處理。 建开 本發明之上述和其他之目的、特徵、態樣和優點,可由 兵所附之圖式之關聯而理解,並經由對本發明之 細說明可以更加明白。 " 【實施方式】 [實施形態1] ,1概略地表示依據本發明之實施形態丨之利用半導體 運算裝置之處理系統之全體之構造。在圖丨中,處理系統 包含有:半導體運算裝i 1,用來實行平行運算;主機 CPU2,用來進行該半導體運算裝置i之處理之控制,系統 全體之控制和資料處理;記憶體3,被利用作為系統之主 記憶體,用來儲存必要種類之資料;和DM(direct access,直接記憶體存取)電路4,不經由主機cpu2對記 憶體3直接存取。利用DMA電路4之控制,可以在記憶體 312XP/發明說明書(補件)/^:^/9^0440 11 200825908 3和半導體運算裝置R間直接進行資料轉送,亦可以直 接存取半導體運算裝置1。 主機CPU2,記憶體3,DMA電路4和半導體運算裝置J 經由系統匯流排5互相連接。半導體運算裝置丨包含有: 基本演算區塊(平行運算裝置)m_FBn,被設置成多個並 列;輸入/輸出電路10 ’在與系、统匯流排5之間轉送資料 /命令;和集中控制單元15,用來控制在該半導體運 置1内部之運算處理和資料轉送。 & 基本演算區域FB卜FBn和輸入/輸出電路1〇結合到内部 資料匯流排12。集中控制單元15,輸入/輸出電路⑺和 基本演算塊FB卜FBn結合到内部匯流排⑷在基本演算 區塊FB⑽-FBn)之總稱)之間設有鄰接區塊間資料匯: j 16。在此處之圖i中,代表性地顯示被配置在基本演 异區塊FBI和FB2之間之鄰接區塊間資料匯流排16。 基本演算塊FB卜FBn平行地設置,在半導體運算裝置i 中,平行地實行相同或不同之運算處理。該等之基本演算 區塊m-FBn,因為具有相同之構造,所以在圖]中代表性 地顯示基本演算區塊FB1之構造。 基本演算區塊FBI包含有:主運算電路2〇,含有記憶 體單元陣列(墊)和演算器·料寇— 〜 上、 ,铽耘式儲存記憶體23,用來 儲存被微碼化之實行程式;批也丨to 十 往式,控制态21,用來控制基本演 算區塊FBI之内部動作;暫存哭 八 ^ ;和熔絲(fuse)電路24 ’為進行主運算電路2〇之不 良之救濟而實行熔絲程式。 312XP/發明說明書(補件)/96-12/96130440 200825908 ^制21依知來自主機cpU2經由系統匯流排5和輸入 别出電路1〇給與之控制命令而移轉控制,以控制對應之 ^本演算區塊FB1_FBn之動作。在基本演算區塊FBi FBn 有微程式儲存記憶體23,控制器21經由將實行程式 儲存在該記憶體23内,在各個基本運算區塊可 =變=所實狀處理内容,在基本運算區塊可以 刀別變更被實行之處理内容。 鄰接區塊間資料匯流排16不利用内部資料匯流排 ❹料轉送,而可進行基本運算區塊間之高速#料轉送'。 1 在严個基本運算區塊,在經由内部#料匯流排 L料進轉料轉送中’可以在其他之基本運算區塊間進行 本中控制單凡15包含有:控制用CPU25 ;命令記情體 已3有控制用CPU25之工作暫存器或指標儲存用之暫 隹f程式庫儲存記憶體28,用來館存微程式之程 式庫〜中控制單元15經由内部匯流排14移轉來自主機 ⑽之控制件,控制包含經由内部匯流排“之以 區塊齡服之運算和轉送之處理動作。之土本運开 之庫儲存記憶體28,將各種順序處理編碼化 之I::程式’將其儲存在基本運算區塊 式儲存記憶體23,藉此可以軟性地因應該 萃之基本運异區塊FBi_FBn之處理内容之變更。 312XP/發明說明書(補件)/96-12/9613⑽〇 13 200825908 炝絲屯路24在各個基本運算區塊FB1—FBn,當不良發 生時,使用冗餘替換而用來進行不良救濟。 圖2概略地表示圖i所示之基本運算區塊FBi(FBhFBn) 之主要部份之構造。在圖2中,在基本運算區塊FBi中, 主運异電路20包含有:記憶體單元墊3〇,係將記憶體單 元排列成行列狀;和運算處理單元群(ALU處理元件 ,)32,用來對被儲存在該記憶體單元墊3〇之資料進行運 算處理。記憶體單元墊30被分割成為多個之資料入口 DERY。该貧料入口 DERY包含附加有號碼q到 之資料入口。各個資料入口具有作為位元位置之〇到 MAX-BIT,其位元幅度為max—Βΐτ+1。
在運算處理元件群(ALU群)32,與各個資料入口 DERY 對應地配置運算處理單元(以下,適當地稱為ALu處理元 件)34。對該運算處理單元群32設有ALU間互相連接用開 關電路44。 在以下之說明,入口(ERY)被規定成包含有資料入口 DERY,和與該資料入口對應而設置之ALU處理元件。 該主運算電路20之動作係依照被儲存在程式儲存記憶 體23之程式(微程式)設定。控制器21依據被儲存在該^ 式儲存記憶體2 3之程式實行處理。 在暫存群22中,設有指標暫存器r〇—r3。運算對象 資料之記憶體單元墊30之位址,被儲存在該等之指俨= 存器r0-r3。控制器21依據被儲存在該等之指標二 r〇-r3之指標,產生用以指定主運算電路2〇 :态 〜八口(育料 312XP/發明說明書(補件)/96-12/96130440 14 200825908 30和tC:内之位置之位址,而控制記憶體單元塾 3〇和次异處理早元群32《間之資料之轉送( 衫料處理單元群32中,則處理元件之運算== 依妝動作模態決定,在SIMD型運算時,以全部之入口 ^ 同來決定,在MIMD型演算時,以各個入口單位來決:共 另外,ALU間互相連接開關電路44亦包含與各個二斟 ”之則間資料轉送電路。在入口間 送對象可以依照運算模態設定,亦即㈣心 運异日才各個入口為共同設定,和在麵型運算時 口為分別設定。 當實行SIMD型運算,在入口實行相同之運算 時’利用控制器21之控制’共同設定該舢群32之運瞀 内容和ALU間互相連接用開關電路44之連接路徑。該: 接,徑’如圖2中之虛線所示,控制器21依據被儲存在 程式儲存記憶體23之命令,選擇性地實行路徑設定之押 制(在_D型運算時,在各個入口之運算内容和轉送對^ 係依據貧料入口之記憶資料設定。在漏運算時 用控制器21將運算内容和轉送對象於人口設定為相同)。 圖3更具體地表示圖2所示之主運算電路20之構造。 在圖3中,記憶體單元墊3〇被分割成為2個之記憶體塾 30Α和3GB。在該等之記憶體塾遍# _中記憶體單 元MC被排列成為行列狀。記憶體單元此在圖3中且有分 別設置寫入埠和讀出埠之雙埠口記憶體單元之構造。但是 該記憶體單元MC亦可為單璋口記憶體單元。記憶體單元 312XP/發明說明書(補件)/96-12/90130440 200825908 MC 為 SRAM 單元(static random access memory,靜態隨 機存取記憶器)。 在該等各個之記憶體墊30A和30B,與在列方向排列而 配置之記憶單元MC對應地,設有寫入字線WWL和讀出字 線RWL。另外,與在行方向排列而配置之記憶單元MC對 應地,分別設有寫入位元線對WBLP和讀出位元線對RBLP。 該等之記憶體墊30A和30B分別具有資料入口 DERYO-DERY(m-l)之m個之資料入口。與各個寫入位元線 對WBLP和讀出位元線對RBLP之群組對應地,設有資料入 π。 利用寫入字線WWL和讀出字線RWL,平行地選擇資料入 口 DERYO-DERY(m-l)之相同位元位置之記憶體單元。 在記憶體墊30A和30B之間設有運算處理單元群32。 對於該運算處理單元群32,在圖3中未明確顯示,設有 ALU間互相連接用開關電路44。 在運算處理單元群32和記憶體墊30A之間,配置有感 測放大器群40A和寫入驅動器群42A,在運算處理單元群 32和記憶體墊30B之間,配置有感測放大器群40A和寫 入驅動器群4 2 B。 感測放大器群40A包含有感測放大器SA,分別被配置 成與記憶體墊 30A 之讀出位元線對 RBLP(RBLPO-RBLP(m-1))對應。寫入驅動器群42A包含有 寫入驅動器WB,分別被配置成與記憶體墊30A之寫入位 元線對 WBLP(WBLPO-WBLP(m-l))對應。 312XP/發明說明書(補件)/96-12/96130440 16 200825908 感測放大器群30B亦同樣地,包含有感測放大器SA, 分別被設置成與記憶體墊30B之讀出位元線對 RBLP(RBLPO-RBLP(m-l))對應。寫入驅動器群42B包含有 寫入驅動器WB,分別被配置成與記憶體墊30A之寫入位 元線對WBLP(WBLPO-WBLP(m-1))對應。另外,在使用單埠 口記憶單元之情況時,寫入位元線對WBLP和讀出位元線 對RBLP由共同之位元線對BLP構成,在該位元線對BLP 共同結合有感測放大器和寫入驅動器。 對於記憶體墊30A,設有讀取用列解碼器36rA,用來選 擇讀出字線RWL,和設有寫入用列解碼器36wA,用來選擇 寫入字線WWL。對於記憶體墊30B亦同樣地,設有讀取用 列解碼器36rB,用來選擇讀出記憶體單元RWL和寫入用 列解碼器36wB,用來選擇寫入字線WWL。 對於該等之感測放大器群40A,寫入驅動器群42A,寫 入驅動器群42B,和感測放大器群40B,設有輸入/輸出電 路49用來進行與内部資料匯流排(圖1所示之匯流排12) 之資料之轉送。 該輸入/輸出電路49平均地接受和轉送分別轉送到記 憶體墊30A和30B之資料。分別被儲存在記憶體墊30A和 30B之資料,可以在各個記憶體墊,可以儲存進行位元位 置重排之資料,另外,亦可以各個在記憶體墊30A和30B 設置資料排列變換用之暫存器電路,以字線為單位在該暫 存器電路和記憶體墊之間進行資料之寫入和讀出。 當輸入/輸出電路49之轉送資料之位元幅度小於入口 312XP/發明說明書(補件)/96-12/96130440 17 200825908 (動貝:群入口2:數目之情況時’對於感測放大器群和寫入驅 =,,二置用以選擇資料入口之入口選擇電路(行選擇 “雪;二圖3中未明確顯示。亦可以使用依照輸入/ =電路49之轉送資料位元幅度,平行選擇適當數目之 之广以。輸入/輸出電路49具有位元幅度變換功 月匕’可以在輸入/輸出電路49和資料入口願㈣職^) 之間平行地進行資料棘读,£ & 一十轉k另外,亦可以在輸入/輸出電
$ 一口内部貧料匯流排(圖i之匯流排12)之間,進行以 内部資料匯流排之位元幅度為單位之資料轉送。 在該圖3所示之構造中,讀取用列解碼器36rA和36rB 具有相同之構造’依照相同之位址’將相同位元位置之讀 出字線驅動成為選擇狀態。在運算處理結果被儲存在記憶 體墊30A之情況時,寫入用列解碼器被活性化,對 應之寫入字線被驅動成為選擇狀態。在此種情況,對記憶 體墊30B所設置之寫入用列解碼器36wB維持為非活性狀 態0 在該圖3所示之主運算電路之構造之情況,準備記憶體 墊30A和30B之2個之記憶體墊,在該等之記憶體墊3〇a 和30B之間配置ALU群32。因此,在各個記憶體墊3〇a 和3〇β,分別儲存各個運算對象之資料之群組,藉以在各 個之機器週期可以進行運算,資料之寫入和資料之讀出, 用來實現高速演算處理。 另外,在使用單埠口記憶體單元之情況時,寫入用列解 碼器和讀取用列解碼器係使用共同之列解碼器實現。在該 312ΧΡ/發明說明書(補件)/96-12/96130440 18 200825908 構造之情況, 行0 資料之裝载和儲存利用 不同之機器週期實 在该圖3所示之主運算電路2f) #丨主、。士 〇 包峪W中,當實行SIMD型運算 之炀況呤,在各個入口實行相同 m ri nr ^ ^ , 丁相门之馮异。該SIMD運算利 用以下之方式實行。 (i)攸吕己憶體塾3 〇 A和3 0 B ★啬Ψ、蓄μ & ⑽靖出運异對象之資料DA和 DB之同一位元位置之資料位开n「 貝才十位兀DA[1]和DB[i],將其轉送 到對應之入口之ALU處理元件(進行裝载)。 ⑴)在ALU處理元件,對該等之資料位元da⑴和 實行指定之運算。 (⑴)將運算結果資料位元c⑴寫人到被指定之入口之 位元位置(進行儲存)。與該寫人動作平行地,將下一個之 位元位置之資料DA[i + l]和DB[i + 1]裝載到ALU處理元件。 (IV)重複進行上述之G)到(丨丨丨)操作直至運算對象之 資料之位元全部被運算。 另外,對於MIMD型運算之實行順序,於後面詳細說明。 另外,亦有^況疋以2位元為單位實行運算(sIMD型運算 和MIMD型運算均有),在此種情況由2個之資料入口 dery 構成一個之入口 ERY。 圖4概略地表示ALU群32所含之單位元件之ALU處理 元件34之構造。在ALU處理元件34中,可以進行以1位 元為單位和以2位元為單位之運算操作◊在各個記憶體墊 30A和30B,資料入口 DERYA和DERYB之構成各包含有: 偶數資料入口 DERYe,用來儲存偶數位址之資料位元 312XP/發明說明書(補件)/96-:12/9^0440 19 200825908 A [ 2 i ];和奇數資料入口 DERYo,用來儲存奇數位址之資 料位兀A[2i + 1]。對偶數貢料入口 DERYe和奇數貢料入口 DERYo之相同位址之資料位元平行地進行運算處理,可以 高速地實行處理。 資料入口 DERYA之奇數資料入口 DERYo和偶數資料入口 DERYe分別結合到内部資料線65a和66a。資料入口 DERYB 之奇數資料入口 DERYOo和偶數資料入口 DERYe分別結合 到内部資料線6 5 b和6 6 b。 ALU處理元件34包含有串接連接之全加算器50和51, 作為用以進行運算處理之運算電路。為設定該ALU處理元 件34之處理資料和運算内容,而設有X暫存器52、C暫 存器53、F暫存器54、V暫存器55和N暫存器56。X暫 存器52用來儲存運算資料,或對其他之ALU處理元件進 行資料轉送。C暫存器53用來儲存加算運算時之進位。F 暫存器54依據其儲存值選擇性地進行運算位元之反轉, 藉以實現減算處理。 V暫存器55儲存遮罩位元V,用來對該ALU處理元件 34之運算操作(包含資料轉送)進行遮罩。亦即,遮罩位 元V被設定為”1”時,ALU處理元件34實行指定之運算操 作,當遮罩位元V被設定為”0”時,禁止運算操作。利用 此種方式,以ALU處理元件為單位,選擇性地實行演算操 作。 ALU處理元件34更包含有:XH暫存器57和XL暫存器 58,用來平行地儲存2位元資料;選擇器(SEL)60,依據 312XP/發明說明書(補件)/96-12/96130440 20 200825908 一之儲存值選擇來自暫存器52、5?和58之資 J 、且之方之2位兀;選擇反轉電路61,依據F暫 存器54之儲存位元對選擇器6()所選擇之2位元進行 /非反㈣作;和閘62和63 ’依據暫存器55和: 存資料,選擇性地輸出全加算器5〇和51之總和輪出S。 4擇反轉電路61之2位元輸出分別給與到全加算哭5〇 和51之A輸入。X暫存器52經由開關電路⑽,連接到 内部食料線65a # 65b之任一個,和經由開關電路挪連 接到内部資料、線66a矛口 66b之任一個。利用該開關電路 SWa和SWb,在進行i位元運算之情況,將記憶體塾_ 和30B之-方之資料儲存在χ暫存器,和在資料轉送時, 將轉送資料儲存在X暫存器。 ί ΧΗ暫存器57經由開關電路SWc可以連接到内部資料線 65a和65b之一方,和經由開關電路SWm可以連接到内部 資料線66a和66b之一方。XL暫存器58經由開關電路SWd 可以連接到内部資料線66a和66b之任一方。 全加异态5 0之B輸入經由開關電路s.連接到内部資 料線65a和65b之任一個。閘62經由開關電路swf連接 到内部資料線65a和65b之任一個。全加算電路51之β 輸入經由開關電路SWg和開關電路sWh可以連接到内部資 料線65a、65b、66a和66b之任一個。 閘63經由開關電路SW j可以連接到内部資料線65a和 6 5 b之任一個’和經由開關電路sWk可以連接到内部資料 線66a和66b之任一個。 312XP/發明說明書(補件)/96-12/90130440 21 200825908 2 該等之開關電路他―、SW j、珊和進行 串^仃除算處理之情況時,實現以1位福單位之位 儿串列處理,和在資料軤矣 韓i……一 1 貫現以2位元為單位之資料 、 1位元為單位之資料轉送。 ALU處理元件34在進杆1办$、蛋曾 士 虫^ 丁 1位兀運才,亦即在以1位元 串列恶樣進行運算之情況日车,入 加异裔51之進位輸入Un 利用開關67結合到c暫存器53。閘⑽和63在乂暫存哭 55和N暫存器56之儲存值均為「 〜 m _ . w仔值岣為1」時,實行被指定之 :处理,在此以外之情形使閘62和63成為輸出高阻抗 狀m 〇 c暫存态53之儲存值經由開關電路67連接到全加算器 50之進位輸入Cin。開關電路67在實行以i位元為單位 之運算處理時,使全加算器5〇之進位輸出c〇分離,將全 加算器51之進位輸入Cin連接到c暫存器53(在此時, 在全加算器51實行加算運算)。 在該圖4所示之ALU處理元件34中,使用χ暫存器52 和XH暫存器57,或XH暫存器57和XL暫存器58,在其 他之入口和對應之入口之間,可以進行以2位元為單位^ 資料轉送。 為控制該資料轉送,在ALU間互相連接用開關電路44 設有:移動資料暫存器(reconfigurable entry communication register可重組態入口通信暫存器;recm 暫存器)70 ’對應到入口;和ALU間通信電路 (reconfigurable entry communicator 可重組態入口通 312XP/發明說明書(補件)/96-12/90130440 22 200825908 信器;RECM)71,依據該移動資料暫存器70所儲存之資料 位元EO-E3,設定資料轉送路徑。 在該ALU處理元件34設有:MIMD命令暫存器72,以入 口為單位,用來對各個設定其運算内容;和MIMD用命令 解碼器74,對被儲存在該MIMD命令暫存器之位元值M0 和Μ1進行解碼,設定全加算器5 0之運算内容,藉以產生 用以實現組合邏輯之控制信號。利用MIMD命令暫存器72 之位元M0和Ml,可以對每一個之入口實現不同之運算操 作,而實現 MIMD(mul tipi e instruct ion stream-mul tipi e data stream,多指令多資料流)型運算。在說明該ALU處 理元件34之MIMD運算和資料通信之前,首先說明SIMD 運算時之預先準備之命令群。 用以指定該記憶體墊之位址之指標暫存器使用指標暫 存器p0-p3。另外,如圖2所示,通用暫存器内之指標暫 存器rO-r3亦同樣地被利用。指標暫存器p0-p3被包含在 圖2所示之暫存器群22。 圖5以一欄表表示進行指標暫存器p0-p3之操作之指標 暫存器命令。 命令”pti\set n,px”是將任意之值η設定在指標暫存 器ρχ之命令。該任意之值η可以在1個之資料入口之位 元幅度(0-ΜΑΧ__ΒΙΤ)之範圍中,取任意之值。X是0至3 之任一個。 命令”ptr.cpy px,py”是將指標暫存器ρχ之内容轉送 到指標暫存器py和進行儲存之複製命令。 312XP/發明說明書(補件)/96-12/96130440 23 200825908 命令”ptr. inc Px,,是使指標暫存器ρχ之指標增加工之 命令。 命令”Ptr. inc2 ΡΧ”是使指標暫存器ρχ之指標增加2之 命令。 命令’’ptr.dec Ρχ”是使指標暫存器ρχ之指標減少!之 命令。 命令ptr. dec2 ρχ”是使指標暫存器ρχ之指標減 之命令。 命令’’Ptr.sft ρχ”是使指標暫存器ρχ之指標向左 位元之命令。 1 、ί 由利用命令”ptr. inc2 ΡΧ”和命令,,Ptr. dec2 ΡΧ,,可 、、τ 2位元平行之處理(奇數位址和偶數位址同時更 新在該2位元動作時,即使指標以2位元為單位 1=匕記憶體塾,選擇字線之位置係以每次i個列㈣進 圖6以-覽表表示1位元動作時之對則處理元件之 載•儲存命令。 ^ 在圖6中’命令”鼠ld. _ρχ,,是將指標暫存器 =之指標所示之位置Aj[px]之資料位元,儲存在暫存器 ⑽之進行裝載)命令。暫存器#R是指χ暫存器、N暫存 :和C t Ϊ器、F暫存器、D暫存器、X L暫存器、Χ Η暫存 用器之任一個。另外,在1位元則運算時是利 令人^态,而不使用XL暫存器或XH暫存器。 °p 7 mem· st· #⑽PX”是將暫存器#R之儲存值寫入 3____件)鎖2/%_() 24 200825908 (進行儲存)到 Aj[px]之命令。 該儲存命令, 實行。 指標暫存器PX之指定記憶體單元位 在遮罩暫存器(V暫存器55)被清除時,
不 在儲存命令中, 暫存器、F暫存器 C暫存器之任—個 暫存器#R是指X暫存器、N暫存器、V 、1>暫存器、XL暫存器、XH暫存器,和 和=暫=X@PX”是交換X暫存器52之储存值 命令。該置換。人^指定記憶體單元位置Aj[PX]之資料之 56 , 、°卩7在遮罩暫存器(V暫存器55)和N暫存哭 曰子™ 52之清除/設定,而使電路構造簡化。 载=命一令覽表表示2位元動作時之對⑽ 在圖7中’命令2. Id. X@px,,是將指標暫存哭 叩”所指定之記憶體單元位置Aj[px> A#川之 »己L體單70之貧料’分別儲存在η暫存器58和罚暫存 器57之命令。亦即,連續位址位置之資料之下位位元被 儲存在XL暫存器58,上位位元被儲存在χΗ暫存器5?。 命令,’ mem. 2. st. Χ@ρχ,,是對指標暫存器ρχ之指標 所指定之位址之連續位址Aj[px]* Aj[px+1]之記憶體單 疋,分別儲存XL暫存器和XH暫存器之儲存值之命令。但 是,該動作在遮罩暫存器(V暫存器)55為清除狀態時不實 行0 312XP/發明說明書(補件)/96-12/96130440 25 200825908 匕命令,’ mem. 2· swp. X@px”是指標暫存器ρχ之指標 指定之位址和上位位址幻[叩]和Aj[px+1]之資料,日二 與XL暫存器58和XH暫存器57之儲存值交換之命人刀。但 ,’該置換命令在V暫存器55#σΝ暫存器56 7_ 態時不實行。 月丨示狀 在該2位元動作時,經由使用指標暫存器ρχ 同呀存取連續位址Aj[px]和Aj[pX+i],可以實行2 ^行處,。經由利用該2位元動作,可以實行^料^ 至1移動資料暫存器7 〇和ΜIMD命令暫存器π。、 另外,在該2位元運算命令 蘄在哭桕0 + .......π从臀存器和χΗ 二暫存盗’在_D運算命令時利用x暫存器 二另外,亦可以在議型運算和咖子 X暫存器和XH暫存器。 t叩有才J用 圖《以-覽表表示!位元動作時之進行人口間資 (move ·· vcopy)之命令。在該入口 、 R暫“ rn。並使用有4個之指標暫存器♦ 入口間資料移動用指標暫存器rn之候補暫存* ’、、、 命令” ecm. mv. n #n,,是將離開有 1 之二存器之儲存值’轉送到入口⑷暫;=+: 存值之人π j+rnU暫存器 有暫存㈣之館 存器之操作之命令。^之值“到入口 J•之X暫 命令”-n.swp”是指令將鄰接入口叫和j之X暫存 312XP/發明說明書(補件)/96-12/96130440 26 200825908 器X]和XHl之儲存值進行交換之操作之命令。 該圖8所示之入口間資料移動對各個入口共同地實行。 圖9以-覽表表示指令2位元動作時之則之入口間進 移動(謂e)之操作之命令。在該2位元操作時 用命令敘述號” ecm2”以冲祛,, ” 代9 1位兀操作時之命令敘逑 號⑽。當指定該命令敘述號”⑽,,時,以2 算處理就被指定,在XH暫存器和xl暫存器間 =XL曰存IM口 XH暫存器間)進行平行資料轉送。在各個 mv· rn ^子器間之轉送内容之指定時,使用與先前之Μ元動作 日守相同之命令敘述號,,mv. η#η” 、 和” swp” 。 因此’。在S型運算之實行時,可以利用XH暫存器和 XL暫存益作為轉送時之資料暫存器’亦可以利用X暫存 :和XH暫存器。在該以2位元為單位之移動操作之情況 4,各個入口之資料轉送之移動量亦相同。 另外’準備加算命令” alu. ade@px”,減算命令” 卿”、反轉命令” alu. in_x”,和依照函數值之 暫存器值設定命令,,心let Γ作為算術運算命令。 加算命令” alu. adc@px,’使指標暫存器px之指^ 定記憶體位址之資料和X暫存器之值進行加算,將盆 送回記憶體塾。在記憶體單元位址Aj儲存加算後ϋ 在c暫存器儲存進位。 值’ 減算命令” alu. sbc@px ”使指標暫存器ρχ所指定 fe體位址之資料和X暫存器之值進行減算,將其妗果送回 312XP/發明說明書(補件)/96-12/96130440 21 200825908 記憶體墊。在記憶體單元Aj儲存減算後之值,在C暫存 器儲存進位。 - 反轉命令” alu. inv@px”使指標暫存器px之指標所指 • 定之記憶體位址之資料反轉,將其送回記憶體墊(原來之 位置)。 函數值命令” alu· let f”依據函數f = (F · 8+D · 4 + N · 2+C)所表示之函數值,以對應之位元值設定F暫存器、D 暫存器、N暫存器和C暫存器之值。 ( 另外,設置布思(booth)命令” alu2· booth”和實行命 令” alu2. exe@px”作為2位元演算命令。 布思命令” alu2. booth”是依據二次之布思演算法進 行乘算之命令,由XH暫存器,XL暫存器和F暫存器之值, 決定N暫存器,D暫存器和F暫存器之下一個之運算用之 值。另外,實行命令” alu2. exe@px”是依據D暫存器和 F暫存器之值,使條件分岐之運算命令。 利用該等之命令,在各個入口,依據相同之運算命令可 V 以實行運算或資料轉送。該命令之實行之控制由圖1所示 之控制器21而控制。 其次說明先前之圖4所示之使用有資料移動暫存器 (RECM暫存器)70和MIMD命令暫存器72之MIMD型運算操 . 作。 在該MIMD形式之邏輯運算實行時,使用命令” alu. op. mimd” 。在該MIMD形式運算時,只準備邏輯運算命令作 為可實行之命令。亦即,準備AND命令、0R命令、X0R命 312XP/發明說明書(補件)/96-12/96130440 28 200825908 令,和NOT命令之4種之命令。從該等之4種命令中實行 命令之選擇其最低限度之必要之位元數為2個位元。因 - 此,在該MIMD命令暫存器72儲存有2位元資料M0和Ml。 . 假如追加該MIMD型運算之内容時,可以依照可實行之 MIMD運算之數目,設定命令位元數。 圖10概略地表示MIMD型運算,亦即MIMD形式之命令 實行時之ALU處理元件之内部連接構造。以下參照圖10 對MIMD形式命令實行時之ALU處理元件之内部構造進行 ί 說明。 MIMD形式命令之實行時,使用X暫存器52和ΧΗ暫存 器57作為2位元運算操作用暫存器。XL暫存器58在該 MIMD運算實行時未被使用。因此,開關電路SWa將内部 資料線65a連接到X暫存器52,開關電路SWm將内部資 料線66a結合到XH暫存器57。開關電路SWe將内部資料 線65b結合到加算器50之B輸入,開關電路SWf將閘62 之輸出結合到内部資料線65b。開關電路SWh將内部資料
I v 線66b連接到加算器51之B輸入,開關SWk將閘63之輸 出連接到内部資料線66b。 利用MIMD用命令解碼器74,加算器50依照上述方式 實行AND命令、0R命令、X0R命令和NOT命令之任一個。 . 將該邏輯運算結果儲存在記憶體墊30B之資料入口 DERYB。在不只進行1個之邏輯演算,而是在加算器5 0和 51平行地進行相同之邏輯運算處理之情況時,ΜIMD用命 令解碼器74之輸出之控制信號共同地給與到加算器50和 312ΧΡ/發明說明書(補件)/90-12/90130440 29 200825908 51在此處疋使用加异盗5〇對各個入口實行邏輯運曾。 另外,ALU間通信電路⑽_卜依據被儲存^ 料暫存器⑽CM暫存器)70之位元值Ε〇_Ε3,將χ哭 52和ΧΗ暫存⑤57結合到内部資料線,進行將資料轉送 到該資料位元Ε0-Ε3所指定之轉送對象。 在該圖Μ所示之則處理元件34中,依據mimd用命 令解碼斋74之控制信號,設定加算$ 5()之内部運算内 容,就每-個ALU處理元件,實行指定之邏輯運算,:利 用ALU間通信電路71,就各個入口設定資料移動量和轉 送方向,而可以實行資料移動。 圖11以一覽表表示MIMD命令用暫存器72之儲存資料 位元(MIMD命令位元)M〇和M1,與在加算器5〇實行之運 算之對應關係。在圖11中,當位元M〇和M1均為,,〇,,時, 指定否定運算NOT。當位元M0和Ml分別為,,〇,,和” 時’指定邏輯和演算〇R。當位元M0和Μι分別為” Γ 和〇”時,指定互斥邏輯和運算X0R。當位元Μ〇和M1 均為” Γ時,指定邏輯積運算and。 因此,在本實施形態中,準備4種之邏輯運算,依照2 =元之MIMD命令M0和Ml,指定運算内容。假如該被指 定之運算内容很多時,與其對應地,MIMD命令用暫存器 72之儲存資料位元之數目亦變很大。 圖12以一覽表表示該MIMD運算命令和其實行之内容。 在圖12中’MOj和Mlj表示ALU處理元件aluj之MIMD 命令位元,Aj表示處理元件ALUj之運算結果。在此處] 312XP/發明說明書(補件)/96-12/96130440 30 200825908 為入口號碼’範圍為入口號碼之〇至MAX ENTRY。 該運算命令在遮罩位元V j為” 1 ”時實行。”丨,,表示 否定運算(反轉)。因此,當位元MO j和Ml j均為,,〇,,, 遮罩位元Vj為1 ”時,實行否定運算命令” aiu 〇p not” 。在此種情況,在入口 j,求得指標ρχ所指定之位 元Aj[px]之反轉值!Aj[px]作為運算結果資料位元Aj。 在邏輯和運算命令” alu· op· or,,之情況時,位元M〇j 被設定為” 0” ,位元Ml j被設定為,,1” 。遮罩位元Vj· 在命令貫行時為Γ 。在該邏輯和運算之情況時,求得 指標ρχ所指定之資料位元Aj[px]和X暫存器所儲存之資 料位元X j之邏輯和。 、 在互斥邏輯和運算” alu· op· xor”時,位元M〇j被設 定為”1” ,位元Mlj被設定為,’〇” 。遮罩位元以在命 令實行時為”1” 。在該邏輯和運算命令之情況,求得指 標ρχ所指定之資料位元幻[叩]和χ暫存器所儲存之資料 位兀X j之互斥邏輯和。 在邏輯積運算命令” alu. op. and”時,位元M〇j和
Mij均被設定為”广’。遮罩位元Vj為” Γ。在此種情 況,求得指標ρχ所指定之資料位元Aj[px]和X暫存器之 儲存資料位元X j之邏輯積。 、圖13概略地表示i個之資料人口之資料位元之儲存區 域°亥貝料入口 DERY被區分為至少3個之區域RGa、RGb 和RGc。區域RGa是由指標ap指定最下位位址位元(開始 位址as),其區域之位元幅度為n位元。區域RGb是由指 312XP/發明說明書(補件)/% 12/96130440 31 200825908 標⑽指定開始位址bs,位元幅度從該開始位址 =元之區區域RGc是儲存遮罩資料和運算麵命令 貝料之區1該區域RGc之位元幅度,與硬體(請),亦 即可實行ί令之數目具有相祕。在該記憶體墊中,依照 實際所欲實行之運算内交^、溶』丄名 逻#円奋和運异對象之資料位元幅度和 資料數’決定該區4 RGc之位元幅度。開始位址由指標 CS設定。 另外,亦使用有儲存作業資料用之暫時區域。在後面於 說明具體之運算操作時,將_併說明f料區域之構造。 圖14表示在各個入口分別實行各個運算命令之MI仙型 運算實行時之命令之形式。言亥麵$算命令以 碼” mx 一 mimd’,表示。該MIMD運算” mx-mimd”利用圖ι 所不之控制器21實行。該MIMD運算之原型以,,v〇id mx一mimd(intap,lntbp,intcp,intn)” 表示。引數 ap 為目的位址,bp為來源位址,cp表示ΜΙ〇命令儲存位址。 η是各個區域之位元長度。亦即,利用化⑽設定圖13 所示區域RGa之開始位址as,利用intbp指定圖13所示 之區域RGb之開始位址bs,利用intcp設定圖13所示之 區域RGc之開始位址cs。n為各個區域RGa和RGb之區域 之位元幅度。在圖14所示之原型中,各個區域RGa和RGb 之位元幅度被設定為η位元,區域RGc之位元幅度被設定 為可實行命令數之以2為底之對數。 在该圖14所示之MIMD運算實行時,實行以下之處理步 驟0 312XP/發明說明書(補件)/96-12/96130440 32 200825908 步驟l : 在控制器實行mx_mimd命令。依據裝載命令ld,將指 標cp所指定之位元位置(位址)之miMD運算用命令M〇、 Μ1 ’袓製到圖1 〇所示之μ IMD命令用暫存器7 2。利用此 種方式,設定欲以入口為單位實行之運算内容alu· 〇ρ· mimd。在此處之” mimd” 為 〇Γ、xor、and 和 η〇ΐ 之任一 個。 步驟2 : 以1位元為單位,讀出指標ap所指定之位元位置(位址) 之區域之内容和指標bp所指定之位元位置(位址)之區域 之内容’將其轉送到ALU處理元件(進行裝載)。 步驟3 : 對該等被裝載之資料位元,進行依照MIMD用命令暫存 器72之儲存資料所指定之邏輯運算。該MIMD運算命令在 ALU處理το件,只有在遮罩位元(v暫存器55)被設定為工 時實行。 步驟4 : 將其凟异結果儲存在開始位址as之圖i 3所示區域尺以 之指標ap所示之位元位置(位址)。 步驟5 : 對運算對象之資料位元之全部’重複實行步冑2至4之 操作。在各個運算時,以位元串列方式實行,並在多個之 入口實行平行處理,利用SIMD型運算之高速運算性,可 以平行地實行平行性較低之運算,而實現高速處理。 312XP/發明說明書(補件)/96-12/96130440 33 200825908 在MIMD運算實行時,指標ap、卟和cp共同給與到記 憶體墊之入口,在各個入口,依據¥1肋運算命令ah ininul指定之運算(邏輯運算)分別以位元串列態樣實行叩· 圖15表示圖10所示之加算器5〇之構造之一實例。在 圖15中,加算器50包含有:X0R間81,用來接受給與輸 入“口 B之資料位元,閘82 ’用來接受輸入a和β之 位元;反相器80,用來使給與輸入Α之位元反轉;x〇R閘 83,用來接受來自進位輸入以之位元和1〇1?閘81之輪出 位元;AND閘84,用來接受X0R閘81之輸出位元和來自 進位輸入ci之位元;和0R閘85,用來接受AND閘82和 84之輸出位元’藉以產生進位輸出c〇。總和輸出s將從 X0R閘83給與。 在該加算器50中更設有開關電路87a—87g,用來依據 Μ一 IMD控制資料切換内部路#。開關電路87&依據反轉指 不L^;0not,將反相器80之輸出信號結合到總和輸出 S。開關電路87b依據邏輯積指示信號0and,將MD閘82 =輸出結合到總和輸出s。開關電路87c依據互斥邏輯和 才曰不L號0 xor ’將X〇r閘81之輸出結合到總和輸出s。 開關電路87e依據邏輯和指示信號φ〇Γ,將x〇R閘81之 輸出結合到0R閘85之第1輸入。開關電路87f依據邏輯 和才曰不#唬0 or,將〇R閘85之輸出結合到總和輸出s。 開關電路87d依據邏輯和指示信號之反轉信號/(^〇r,將 AND閘84之輸出,選擇性地結合到〇R閘85之第i輸入。 開關電路87g依據MIMD運算指示信號之反轉信號/0 312XP/發明說明書(補件)/96-12/96130440 200825908 mind,將X0R閘83之輸出結合到總和輪出s。 MIMD指示信號/0mimd在進行_運算時被
活性狀態,將開關電路87g設定在鈐φ丄 ^ W g疋在輸出尚阻抗狀態。同樣 地’在開關電路8 7 d亦是在邏輯和運瞀每— 7 不逆#只仃時,依據邏輯 和指示信號之反轉信號/〜r,成為輸出高阻抗狀態。 該圖15所示之加算器、50是全加算器,成為一般使用之 電路構造。反相II 80是用來進行否定運算而新設者,但 是亦可以設置成選擇如圖10所示之選擇反轉電路61之輪 出。在此種情況,F暫存器(參照圖1〇)之資料位元,其: 元值被設定成進行反轉運算。 〃 另外,代替此種方式者,係可以在x〇R閘81設置反相 器,並利用該X0R閘81内之反相器作為Ν〇τ運算實行用 之反相器。 ' 在該圖15所示之加算器50之構造中,當進行否定運算 NOT之情況時,開關電路87a進行導通,其餘之開關電路 全部成為非導通狀態,對總和輸出s傳達反相器8〇之輸 出信號。 在實行邏輯積運算AND之情況時,邏輯積指示信號0and 被活性化,開關電路87b進行導通,其餘之開關電路成為 非導通狀態(輸出高阻抗狀態)。因此,AND閘82之輸出 位元經由開關電路8 7 b傳達到總和輸出s。 在邏輯和演算0R之實行時,邏輯和指示信號0 〇r被活 性化,開關電路87e和87f進行導通,其餘之開關電路成 為輸出高阻抗狀態。因此,接受X0R閘81和AND閘82之 312XP/發明說明書(補件)/96-12/96130440 35 200825908 輸出位元之〇R 8 ς 4 , ._ n〇卜 5之輸出位元,被傳達到總和輪出ς 在該OR運算實杆拄vnn 、々别出S。 一 、 X0R閘81在給與到輸入A和β之朽 兀值之璉輯值為不同 ^ 在給與到輸入Α和Β之位二,二1 )。_閘82 之位7〇均為1日寸,輸出,,1” 万虎。利用此種方或火从t ^ 万式虽給與在輸入Λ和β之位元之至 方為邏輯值” 1 # AU 夕 ,,” 守,攸0R閘85經由開關電路87f, 將1之信號輸出到總和輸出s,求得0R運算結果。 囷15所示,依照所實行之MIMD運算將開關電路 仏―87g選擇性地設定為導通狀態,利用加算1 50之内 部構成元件之邏輯閘可以實行指定之運算命令。 另外·,該加算器50之構造只是一實例,例如與 FPGA(field programmable gate array 現場可程式化閘 陣列)之構造同樣地,亦可以使用内部之連接路徑被排列 成矩陣狀,和其内部佈線係依照運算指示信號設定之構 造0 另外,該圖15所示之全加算器50之構造只是一實例, 並不只限定為該構造。亦可以依照所利用之全加算器之構 造’使内部之連接路徑依照運算指示信號被設定。 圖16概略地表示進行入口間之資料通信用之佈線區 域。在圖16中,在記憶體塾30A和ALU間互相連接用開 關電路44之間,設有資料通信用佈線區域90。該資料通 信用佈線區域90包含有:區域91,配置有±1位元移位用 佈線;區域92,配置有±4位元之移位用佈線;區域93, 配置有±16位元之移位用之佈線;區域94,配置有±64位 312ΧΡ/發明說明書(補件)/96-12/96130440 36 200825908 元移位用佈線;和區域95 ’配置有±256位元移位用之佈 線。 士 i位元移位佈線進行離開有i位元之入口間之資料通 k。在此處所準備之佈線係用來進行土1、土4、土169、土64, 和±256位元之移位,以及〇位元移位之總共合計11種之 資料通信。因為以2位元為單位進行資料通信,所以在該 等之佈線區域91 -95配置與各個入口對應之使用X暫存器 和XH暫存器轉送資料之佈線。 圖17疋表不圖16所不之佈線區域91和9 2之佈線之配 置之一實例。在該圖17中,所示之一實例是入口設置1 〇24 個’成為设有ALU處理元件0-1 〇 23之情況之佈線之配置 之一實例。 在圖17中,±1位元移位佈線區域91包含有+1位元移 位佈線區域91a和-1位元移位佈線區域91b。在+ 1位元 移位佈線區域91a包含有··佈線i〇〇a,對大1號之入口 進行單方向之資料轉送;和佈線100b,實現對最大號碼 之入口(ALU1023)之1位元移位。該佈線1 〇〇a為在鄰接入 口(ALU處理元件)間進行移位,所以佈線1 〇〇a被排列而 配置。 在-1位元移位佈線區域91b,同樣地包含有:佈線 l〇la,連接在鄰接入口間;和佈線i〇lb,從最小號碼之 入口(ALU處理元件〇)朝向最大號碼之入口(ALU1023)進 行資料轉送。在此種情況,佈線1 〇 1 a亦被排列而配置。 因此,在該等之佈線區域9ia和91b,就轉送資料之每 312XP/發明說明書(補件)/96-12/96130440 37 200825908 1個位元配置2行之佈線。因此,在2位元資料轉送用之 佈線時,該佈線l〇〇a、l〇〇b、101a和101b分別被配置成 平行地進行2位元資料轉送。 ±4位元移位佈線區域92包含有+4位元移位佈線區域 92a和-4位元移位佈線區域92b。在圖π Φ,姑_ w 位元移位佈線區域92a之佈線之配置,_4位元移位佈線 £域9 2 b以虛線方塊表示。 、、' 該+4位元移位佈線區域92a包含有佈線1〇2a,被佈線 成為分別各偏移1個入口之位置。該等之佈線1〇2a排列 成4行,對分別離開有4位元之入口進行資料轉送。在此 種情況,為對號碼大之入口進行+4位元移位,所以設有 佈線102b。在該圖17中,佈線l〇2a和l〇2b之號碼表示 入口號碼。在此種情況,+4位元移位佈線102&被配置成 4行,和用以實現從最大號碼朝向最小號碼方向之移位之 佈線102b被配置成4行。因此,在該佈線區域92a對轉 送資料之母1個位元配置8行之佈線。 如該圖17所示,經由將佈線配置成所謂之菱形之四邊 形形狀,可以避免佈線之錯綜複雜,可以有效的配置移位 用佈線,可以減小佈線布置面積。 在此種情況,經由將入口轉回用佈線1〇〇b、1〇lb* 1〇2b 配置成分別與移位用配線l〇〇a、i〇ia、i〇2a重疊,可以 更進一步地減小佈線布置面積(利用多層佈線構造)。 圖18概略地表示該圖16所示之±16位元移位佈線區域 93之佈線之配置之一實例。在此處之±ι 6位元移位佈線區 312XP/發明說明書(補件)/96-12/96130440 38 200825908 域93中包含有+16位元移位佈線區域93aa和93ab,和_16 位元移位佈線區域93ba和93bb。在+16位元移位佈線區 域93aa ’利用佈線1 〇3a用來與離開有16位元之入口連 接。為在入口間循環地進行移位動作,所以設有入口轉回 佈線103b。在此處於-16位元移位佈線區域93ba設有佈 線104a ’連接於離開有16位元之入口間。佈線1 〇4b是 入口轉回佈線,同樣地,循環地連接離開有16位元之入 D 〇 在遠± 16位元移位佈線區域9 3亦是經由將轉送2位元 資料之佈線配置成各移位1個入口,而在入口方向(垂直 方向)’可以平行地配置佈線1 〇3a和1 〇4a,並可以使佈 線布置面積減小。在此種情況,在佈線區域93aa、93ab、 93ba、93bb分別配置16行之佈線。 圖19概略地表示圖16所示之±64位元移位佈線區域94 和±256位元移位佈線區域95之佈線之布置。在該圖19 中’ ±64位元移位佈線區域包含有+64位元移位用佈線區 域94aa和94ab,和-64位元移位用佈線區域94ba和 94bb。在該等之區域94aa、94ab、94ba和94bb分別配置 有64行之佈線(轉送資料之每丨位元)。在此種情況,移 位佈線分別在+方向和—方向,連接於離開有64位元之 入口之間。 ±256位元移位佈線區域95亦同樣地,連接到佈線區域 95aa、95ab、95ba,和95bb。在此種情況,在各個區域, 佈線被配置成每1位元之轉送資料為256行,連接離開有 312XP/發明說明書(補件)/96-12/96130440 39 200825908 256位元之入口。 使用°亥等之移位饰線,經由對各個入口設置用以進行士 彳元—16位元、±64位元和±256位元之移位動作之佈 . 、,,可以以各個入口為單位,設定資料移動時之資料移動 里^入口/間距離和移動方向)。在以下之說明中,「資料移 動量」係包含有移動距離和移動方向。 囷20概略地表示圖4所示之間通信電路(狀⑶)η ,之構造。在圖20中,代表性地顯示ALU處理元件%所含 1之存器52和XH暫存器57。該等之X暫存器52和χΗ 暫存态57,如圖10所示,在ΜΙ·型運算時和μι型資 料轉送時,分別連接到内部資料線65a和66a。 ALU間通信電路71包含有:發信緩衝器12〇,用來接受 該X暫存器52和XH暫存器57之儲存值;多工器122, 依據移動資料暫存器之儲存位元E〇-E3,設定來自發信緩 衝器120之資料位元之轉送路徑;和收信緩衝器124,經 、由使佈線群U5對該ALU處理元件共同地結合之信號線 116,接文發信資料,藉以產生轉送後之資料。 多工122選擇性地驅動被設置成與該入口對應之信 號線llOau-llOed之1個。信號線11〇au-11〇ed分別為2 位兀信號線,用來表示圖17到圖19所示之±1位元移位 -佈線到±256位元佈線。如該圖2〇所示,在每一個入口設 •有移位佈線,分別以唯一性之方式設定該等之移位佈線 110au-ll〇ed之連接對象。例如,+1位元移位佈線11〇抓 結合到號碼大1之入口之鄰接ALU處理元件之收信緩衝 312XP/發明說明書(補件)/96-12/96130440 40 200825908 器,_1位元移位佈線11 〇ad結合到號碼小1之鄰接入口 之收信缓衝器。 對於收信緩衝器124,共同地接受對應之信號線群(自+ 1位元移位線至±256位元信號線)。該等之信號線群 之信號線成為佈線〇R(wired OR)連接。 圖21概略地表示信號線116對該收信緩衝器之連接 該信號線群115,如先前之圖17至圖19所示,在入口間, 包含資料轉送方向,以1對1對應地連接。亦即,信號線 群115包含±1位元移位信號線,±4位元信號線,位 元移位信號線,±64位元移位信號線,和±256位元移位俨 號線。a亥荨為共同佈線係連接到信號線116。 在資料轉送時,在該ALU間通信電路71,多工界122 依據該移動資料暫存器之儲存值E〇-E3選擇資料轉送俨 號線(位元移位線),將該選擇移位信號線結合到發信 器120。因此,對於!個人^處理元件,選擇ι 移位 信號線。該移位信號線為單方向之信號線, 入口⑽處理元件,,在結合到收信緩衝== 號線116中,信號線群115之1個被驅動。因此,即㈣ ^之移位信號線群進行佈線〇R連接,亦可 行資料轉送,並在轉送對象H Ά 送#料。 狀對象之入口進订接收而藉以產生轉 在此種情況,當對信號線116之負载變大,有 夠經由發信緩衝器12〇以高速進行:#_ = 於收信緩衝器,與多工器122同樣地’亦設置二:
312XP/發明說明書(補件)/96-12/96130440 4J 200825908 工器。在此種情況,收信用之多工器根據資料轉送時之資 吼,選擇貢料轉送來源。經由設定與資料轉送來源之移動 資料E0-E3相同之資料,作為資料轉送目的之收信緩衝器 選擇控制貧料,可以用來在收信緩衝器丨24中之選擇傳達 轉送資料之移位信號線。 圖22表示該入口間資料移動之命令之描述之一實例。 在圖22中顯示以2位元為單位進行資料移動之可程式鋸 齒形複製(programmable zigzag copy) (2 位元模態)。該 2位兀模態複製碼以” mx2—cp—zp,,表示。該2位元模態 複製之原型以” void mx2—cp—zp(intap,intbp,intcp, intn)表不。在此處引數ap為目的位址,引數bp為來 源位址。引數Cp為入口間移動距離儲存位址,引數η為 轉送資料儲存區域之位元長度。 在該2位元複製碼中,將指標cp所指之位址之入口移 動距離貧料,以2位元為單位複製到RECM暫存器(移動資 料暫存器)。從指標bp所指之初期位址bs起之n位元之 内容,以2位元為單位轉送到RECM暫存器之資料所指定 之入口。在轉送對象之入口,以2位元為單位將轉送資料 複製到從指標ap所示之初期位址as起之起始區域。 圖=3表示以丨位元為單位,進行資料移動之可程式鋸 ω形複衣(1位元模悲)之命令之描述。該丨位元模態複製 馬以mx—CP-ZP表示。該1位元模態複製碼之原型為 voidmx—cp—zp(intap,intbp,intcp, intn)”。丨位元 模態複製碼之引數ap,bp和cp之定義與2位元模態複製 312XP/發日月說明書(補件)/96-12/96130440 42 200825908 碼之引數相同。在〗位元模態複 一 位元為單位每^&制舌 、"、、中$之實行時’以1 :二為早位n仃複製動作’除了此點之 杈怨鋸齒形複製命令實行時相同之動作。 /、 70 圖24係表示圖22和圖23γ j ^ 令實行時之資料移動模式。二之2:;=形= ::τ;广向資料入,b之資料轉送 作之一貝例。如圖24所示,力姐|… ^ 在鋸回形複製模態時,依據 ;Γ a之指標叩所指定之開頭… -n :又之區域脱之區域之移動量資料E0—E3,設 疋轉达對象之資料入口 DERYb(設定圖2〇 連接態樣)〇 々之 ,次,指# bp所指定之起始位址bs起開始之〇位元幅 ,之區域RGb之資料,以i位元為單位(1位元模態可程 式鑛齒形複製命令實行時)或以2位元為單位(2位元模態 可f式鋸齒形複製命令實行時),轉送到資料入口此尺几 之指標ap所指定之開始位址as起開始之n位元幅度之區 域RGa。資料轉送路徑分別在入口間設置成i對}地對應, 不會伴隨產生資料之衝突,在各個入口,指定資料轉送對 象,而可以進行資料轉送。 另外,資料發信係使用X暫存器,或X暫存器和ΧΙΙ暫 存器進行,經由收信緩衝器進行資料接收。在此種情況, 亦可以在一旦收信資料被儲存在X/XH暫存器之後,依據 儲存命令將轉送資料儲存在位址指標ap所指定之位元位 置。另外,代替此種方式者,亦可以在鋸齒形複製動作時, 12XP/發明說明書(補件)/96-12/96130440 43 200825908 資料直接寫入到位址指 從收信緩衝器經由内部信號線將 標ap所指定之位元位置。 發信動作和收信動作不料進行。例如,亦可 個 ^週期之料騎發信,錢钱行㈣。代替此種方 式者,亦可以在不同之機器週期進行發信和收信。因此, 在1個之入口,可以進行發信和收信。 發信和收信之選擇性活性化,例如 '可以利用遮罩位元 V设定。利用遮罩位元,經由在發信時使遮罩進行裝載命 令之實行,和在收信時使遮罩進行儲存命令之實行,可以 選擇性地實行發信和收信。代替此種方式者,利用收信緩 衝器驅動對應之資料人口之位元線對,可以在全部之入口 平仃地貝仃收k貧料之寫入(寫入時之位址指標因為在全 部之入口其字線為共同,所以對全部之入口成為相同)。 圖25以一覽表表示在圖1〇所示之移動資料暫存器 (RECM暫存器)7〇所儲存之移動量資料E〇—E3和通信距離 及通信方向。利用4位元移動資料E0-E3可以將通信方向 設定在向上(+ )方向(入口號碼增大之方向)和向下方向 (入口號碼減小之方向),另外,可以將資料通信距離設定 在1、4、16、64和256之任一個。包含通信距離為〇, 可以實現合計11種之入口間資料通信。 圖26表示該入口間資料移動之一實例。在圖26中,代 表性地顯示入口 ERYO-ERY8。在ALU間互相連接開關電路 44中,依據移動量資料E0-E3,設定資料轉送路徑。入口 ERYO、ERY2,和ERY3及ERY7,分別被指定+1位元移位動 312XP/發明說明書(補件)/96-12/96130440 44 200825908 作。對入口 ERY1,指定+4位元移位動作。對入口狀以指 定一4位元移位動作,對入口 ERY6指定_4位元移位動作。 另外,在入口 ERY8指定位元移位動作。 另外三在圖26所示之表示資料移動之箭頭中,以黑圓 表:之箭頭之來源,經由多工器結合到發信緩衝器,箭頭 之別端結合到轉送對象之收信緩衝器。 對ALU間互相連接開關電路44配置之入口間 佈線是單方向之佈線,在人口 __刪,可以平行地杏 行該等之資料移動,而不會伴隨發生資料之衝突。Λ ―其次說明圖22和® 23所示m切齒频製命令實 行時之動作。 、 步驟1 : 、,:行鋸齒形複製’在各個入口進行資料移動之情況時, 百先,在預先由資料入口之指標cp所指定之區域, 表示對應之入口之資料移動晋夕次 一 _ 十秒勒里之貝枓。這時,更將遮罩位 兀V设定在不同之區域。 步驟2 : 控制器(21)實行鑛齒形複勢会人 —# ^ *丨 攸衣°卩令,在該控制器之控制 :丄將資料入口之指標卬指定之區域所儲存之入口移動 里負料Ε0-Ε3,儲存在務動杳斗止^ + 予长移動貝枓暫存器(RECM暫存器)。田 此該操作對全部之入口共同地進行。 步驟3 : 依據被儲存在該資料移動暫存器⑽ 資料Ε0-Ε3,設定多工器(圖2n + 之移動 (圓20之元件122)之連接路徑。 312XP/發明說明書(補件)/96-12/96130440 45 200825908 步驟4 : 、=照運算對象之資料(移動對象之資料),和1位元模態 稷製或2位元模態複製’將發信資料設定在則處理元; ^ =日存⑨(X暫存器和ΧΗ暫存器,或χ暫存器)。這時, 貝料入口之指標bp所指定之η位元幅度之區域之資料, 被,存在對應之則處理元件内之暫存器。該操作亦在控 制為(21)之控制下,對全部之入口共同地實行。 步驟5 : ' 被設定在轉送用之暫存器(X和XH暫存器,或X暫存哭) 之資料經由圖2〇所示之多王器122轉送到移動對象时之) 二口、。在移動對象之人口,將經由收信緩衝ϋ轉送之資 2以1位7L為單位或以2位元為單位,儲存在對應之資 口之指標ap所指定之區域(此操作之實行亦是利用 控制器21對全部之人口產生共同之指標)。t疋利用 步驟6 : 行直至移動對象之資 該步驟3至步驟5之動作將重複 料位元全部被轉送。 位ΐ該:’料轉送時’經由在遮罩暫存器(¥暫存器)設定為 斬’則不進行從人σ之諸人口朝向對應之資料 «存裔(X、ΧΗ和移動資料暫存器)之資料設定和發信。 其之說明MIMD運算動作。 步驟1 : 首先, 度之區域 在事前於資料入口之指標 ,設定用以進行MIMD運算 CP所指定之η位元鴨 之命令(Μ0, Ml)。 312XP/發明說明書(補件)/96·12/96130440 46 200825908 步驟2 : 在控制器(21)之控制下實行裝載命令,用來將被設定在 該貧料入口之MIMD運算命令中之該MIMD用命令儲存 MIMD命令暫存器。 步驟3 : 在控制裔(21)之控制之下,對成為運算對象之資料實行 暫存裔裝載命令,將資料入口之區域(RGa和RGb)之指標 a p和b p所指定之位元位置之資料位元,轉送到對應之A l ^ 處理元件,將另外一方之(先前轉送者)資料位元設定在γ 暫存斋。在ALU處理元件,以實行被設定在MIMD命令暫 存器之命令之方式,利用MIMD用命令解碼器設定運算内 容。對於從資料入口之指標叩和bp所指定之位址位置裴 載之資料,實行被設定之運算。在控制器(21)實行儲存命 令,用來將該運算結果儲存在指標ap所指定之資料入口 之位元位置。 步驟4 : 重複實行步驟3之動作,直至運算次數達到指定之次 數亦即,元成運异對象之資料位元之全部之運算處理。 運算次數是否達到指定次數之識別是經由觀察指標叩或 bp是否達到所設定之最大值。 时另外,在實行SIMD運算之情況時,在圖2所示之控制 器21之控制下,對全部之入口共同地設定Auj間互相連 接用開關電路44之連接路徑,和對全部之人口亦丘同地 設定ALU處理元件34之運算内容。在此種情況,^㈣ 312XP/發明說明書(補件)/96-12/96130440 47 200825908 制器21平行地實行資料入口 DERY之指標控制,而在各個 入口平行地實行同一命令。這時可以具體地考慮進行4位 元加算之操作。 [組合電路之適用例] 圖27表示通常之4位元加算器之構造之一實例。如該 圖27所示’用來加算4位元資料AO—A3和B0-B3之4位 兀加算器,係利用7個之半加算器(HA)13〇a-13〇g和3個 之0R閘132a-132c實現。半加算器之内部構造可以使用 X0R閘和AND閘之構造,或使用and閘、〇R閘和not閘之 構造等而利用之各種構造。半加算器13〇a—13〇d分別接受 對應之位置之2位元。半加算器(HA)13〇a—13〇§之設置用 來產生輸出S3-SI,0R閘132a-132c用來產生進位c3-cl。 在半加算器130a-130g接受前段之半加算器(1位元下之 半加异态)之進位輸出,和對應之位元位置之半加算器之 ,和輸出。0R閘132a—132c接受對應之位元位置之^加 算器之進位輸出。 該圖27所示之4位元加算器之實現是利用1輸入}輸 出之N〇T閘,2輸入1輸出之AND閘,2輸入1輸出之0R 閘,和2輸入i輸出之x〇R閘之組合之電路,用來獲得圖 28所示之4位元加算器之邏輯電路。 如,圖28所示,分割成為8段之階段STG,實行4位 元加算。可以平行進行之半加算運算係構建成平行實行, 接受進位之傳輸之部份之運算,並在以後進行運算。利用 该圖28所示之邏輯閘之組合電路所實現之4位元加算器 3l2^/^mmmmm/96A2/96130440 48 200825908 之構造,考慮如圖27所干夕4 a ; a曾口口 μ ώ ,尸;r不之4位兀加异裔之進位傳播 可以藉由邏輯閘之展開而獲得。 28所示之4位元加算器中’從4位元輸入 .]和BIN[3:〇]產生4位元輸出d〇ut[3: 出C—0UT。 铷 、在至目«Γ所說明之平行運算裝置中,使該目28所示之 L輯包路之邏輯運异依據Μ 命令,順序地實行各個階 奴。在圖28中,在該MIMD運算時,於各個階段STG,對 1個之入口分配1個之單元(邏輯閘)。在運算階段的每一 人I:化%域輯閘之輸出信號被傳輸到不同之入口,和邏 輯閘之輸出之移動量就各個單元亦不相同。另外,在各個 階段之入口(單元)所實行之運算成為不同。因此,在各個 入口设定移動量和命令,分別實行互不相同之MIMD運算 命令^。 圖29表示在該圖28所示之邏輯電路之階段STG4之運 二時,階段開始時之資料入口之儲存資料之狀態。使用資 料入口 DERYO-DERY7作為該資料入口。在4個之資料入口 DERYO-DERY3,4位元資料A之各個位元被儲存在位址指 標ap所指定之位置,在資料入口 DERy4—dERY7,4位元資 料B之各個位元同樣地被儲存在位址指標a。所指定之位 置。因此,在該ΜIMD命令之實行時,與ς IMD型運算實行 日守不同地’運异對象之資料係分散到多個入口而被儲存, 演异結果分別傳達到邏輯閘之傳播對象之入口,被儲存在 暫時區域。 312ΧΡ/發明說明書(補件)/96-12/96130440 49 200825908 暫時區域t卜tmp是儲存加工資料之區域,在暫時指標 tl、t2、t3所指定之位址,儲存各個階段之邏輯閘之輸 出值。在暫時指標tmp所指定之區域5儲存各個入口之另 / 外一方運算資料。亦即,在各個入口,對被儲存在暫時指 " 標t i ( i為mp以外之值)所示之位元位置之資料位元,和 被儲存在暫時指標tmp所示之位元位置之資料位元,實行 2項邏輯運算。在進行反轉操作之否定運算實行時,對被 儲存在暫時指標ti所示之位元位置(以下適當地稱為暫 時位址t i)之資料位元進行反轉操作。 在圖29中表示A+B=(0011) + (1101)之運算實行時之資 料之流程。 MIMD命令用位元,在資料入口 DERYO-DERY7,以2位元 模態儲存在對應之ALU處理元件之MIMD命令暫存器。 在該運算階段STG4之開始前(階段STG3結束時),在4 個之資料登錄DERY0、DERY2、DERY5和DERY7進行運算(遮 罩位元V[V暫存器内容]分別被設定為” Γ )。在此種情 I 況,對於資料入口 DERY0和DERY2,運算命令位元M0和 Ml表示AND運算,而對於資料入口 DERY5、MIMD運算命 令(位元MO、Ml)指定NOT運算。對於資料DERY7、MIMD 命令位元M0和Ml指定OR運算。資料入口 DERYO和DERY2 /實行階段STG4之0R閘G2前段之AND閘之運算,並將該 /運算結果儲存在暫時位址t3。資料入口 DERY5和DERY7 分別將閘G1前段之反相器之輸出和閘G3前段之0R閘之 輸出儲存在暫時位址t3。 312XP/發明說明書(補件)/96-12/96130440 50 200825908 亦即,在圖29中,在階段4開始時(階段STG3完成時), 確定階段3之輸出值,資料入口 DERY0和DERY2之邏輯值 成為” Γ ,資料入口 DERY5之否定結果成為” 0” ,在資 料入口 DERY7儲存0R運算結果之” Γ 。在運算時,在資 料入口 DERYO-DERY7,依據遮罩位元(V暫存器内容)選擇 性地實行運算,將運算結果儲存在對應之資料入口之暫時 位址t3。因此,在資料入口 DERY0和DERY2,進行暫時位 址t3和tmp之位元之AND運算,將位元” Γ儲存在暫時 位址13。 在資料入口 DERY5實行NOT運算,使先前所儲存之位元 值” Γ反轉,將位元” 0”儲存在暫時位址t3。在資料 入口 DERY7,進行被儲存在暫時指標t3和tmp之位元值 之0R運算,將其之運算結果再度儲存在暫時位址t3。因 此,在資料入口 DERY7之暫時位址t3儲存” Γ 。 其次,為進行圖28所示之階段STG4之運算實行,因而 進行資料之重排。 在此處將資料入口 DERY1分配給0R閘G2之運算區域, 將資料入口 DERY4分配給AND閘G1之區域,將資料入口 DERY5分配給0R閘G5之區域。將資料入口 DERY6之區域 分配給進行NOT演算之反相器G3。將資料入口 DERY7分 配給進行該AND運算之AND閘G4。 圖30係表示階段STG4之演算實行時之資料之移動模 式。0R閘G2需要接受前段之AND閘之輸出位元。因此, 在此種情況,將0R閘G2之前段之AND閘之輸出值,儲存 312XP/發明說明書(補件)/96-12/96130440 51 200825908 在資料入口 DERY0和DER2之暫時指標t3所指定之位元位 置,將該等之位元轉送到資料入口 DERY1之暫時位址t4。 • 在此種情況,資料入口 DERY0之暫時位址t3之位元被儲 •存在資料入口 DERY1之暫時位址tmp,資料入口 DERY2之 ' 暫時位址t3之位元被儲存在資料入口 DERY1之暫時位址 t4 ° 對資料入口 DERY4分配AND閘G1。在此種情況,使前 段之反相器和0R閘之輸出移動到資料入口 DERY4。亦即, { 使資料入口 DERY2之暫時位址11之位元移動到資料入口 DERY4之暫時位址tmp,在第3階段STG3使被確定之資料 入口 DERY5之暫時位址13之反相器之輸出,移動到資料 入口 DERY4之暫時位址t4。 將資料入口 DERY5分配給0R閘G5。在此種情況,0R閘 G5之前段之AND閘和0R閘之輸出亦需要移動,資料入口 DERY2之暫時指標tl所示之位元位置之資料和暫時指標 12所示之資料入口 DERY 1之資料位元,分別移動到暫時 \ 指標tmp和t4所示之位置。 將資料入口 DERY6分配給反相器G3。在此種情況,前 段之0R閘之輸出位元需要移動到資料入口 DERY6之暫時 位址t4,在先前之階段STG3所運算之資料入口 DERY7之 - 暫時位址t3之運算結果,被轉送到資料入口 DERY6之暫 / 時位址t4之位置。 將資料登錄DERY7分配給AND閘G4。該AND閘G4接受 最上位位元BIN[3]和AIN[3]。因此,使資料入口 DERY7 312XP/發明說明書(補件)/96-12/96130440 52 200825908 之位址指標ap所示之位元位置之資 tmp所示之位置,使被儲存在資料入=移動到暫指標 ap所示之位元位置之資料位元, 之位址指標 之暫時位址14之位置。利用此種方4到資料入口 D E R Υ 7 個閉.G5之輸人,儲存在各個資^=階段⑽之各 和tmp所示之位元位置。 之暫時指標t4 在該資料移動操作時,基本資料移動量為小$ -和±2m,儘可能地將資料轉送到基本資料 里所不之區域。在該資料轉送時,使 1 動 不之區域,其次,同樣地實行鋸齒形入八 暫時位址⑽。該資料移動亦可;= =進:=分謂時位址t4和tmp… 進仃朝向暫時位址tmp之資料移動。 在資料移動時,資料入口贿2和_3之資料 Γ動:ί’在該2個入口間之資料移動時,+1位元移 位動作將實行2次。 ^ 另外i在該資料移動操作時,在各個資料入口,利用圖 5顯示之列解碼器,進行同一位元位置之資料位元之; (裝载),並進行資料之轉送和儲存。因此,在對暫時位 =t4和tmp轉送資料時,分別將指標更新為邛和ti至 ^ 進行資料之移動。在此種情況,移動之實行/非實行 係由遮罩暫存器(V暫存器)之遮罩位元V設定。 在該資料轉送時,亦可以首先,順序地變更來源位址, 3l2XP/__ 書(補件)孤12/9613_ 200825908 實行裝載命令,並在各個入口,將轉送資料位元儲存在對 應之X暫存器之後,以暫時位址t4和tmp作為目標,順 序變更目標位址,而實行資料之轉送(1位元模態鋸齒形 複製命令)。例如,在圖23所示之複製命令mx_cp_zp實 ' 行時,順序更新指標bp,並在將轉送資料位元儲存在對 應之X暫存器之後,實行轉送命令而使發信緩衝器活性 化,實行從X暫存器朝向目標入口之資料轉送。為順序更 新目標位址使成為t4和tmp,依照目標位址遮罩位元V ( 之設定/清除,正確地進行從各個入口朝向暫時位址t4和 tmp之資料移動。 圖31表示MIMD命令用位元儲存時之入口内之操作。當 將該MIMD命令設定在每一個入口之情況時,如圖31所 示,實行圖14所示之MIMD運算命令mx_mimd,將指標cp 所指定之階段STG4用之命令用位元M0和Ml複製到MIMD 用暫存器,作為MIMD命令用位元。這時,對於要進行運 算之資料入口 DERY1,和DERY4至DERY7,將遮罩暫存器 \ (V暫存器)之位元值設定為” 1” ,對於其餘之入口,將 遮罩位元設定為” 0” 。利用此種方式,如圖31所示,被 儲存在資料入口 DERY1,和DERY4至DERY7之MIMD命令 用位元,儲存在ΜIMD命令暫存器,指定所欲實行之運算。 其次,如圖3 2所示,依據被設定在ΜIMD命令暫存器之 位元值Μ0和Ml,對位址t4和tmp之位元實行MIMD運算 命令alu. op. mimd。在圖32中,在資料入口 DERY1進 行0R運算,在資料入口 DERY4進行AND運算,在資料入 312XP/發明說明書(補件)/96-12/96130440 54 200825908 口 DERY5進行OR運算,在資料入口 DERY6進行NOT運算, 在資料入口 DERY7進行AND運算。 在該運算時,實行對被儲存在暫時位址14和tmp之位 元值之運算,將其運算結果儲存在暫時位址t4之位元位 置。對於未進行運算之資料入口,使對應之遮罩位元V成 為” 0” 。在該階段STG4之運算實行後,如圖32所示, 在資料入口 DERY1,和DERY4-DERY7之暫時位址t4之位 元位置,儲存運算結果。 以下,進行同樣之操作,實行階段STG5至STG8之運算。 儲存各個階段所需要之MIMD命令控制位元,作為MIMD 命令用控制位元,因此,儲存ΜIMD運算命令控制位元之 區域之位元幅度亦依照運算階段之段數設定,另外,暫時 指標所指定之區域亦依照運算階段之段數,設定其位元幅 度。 [順序電路之適用例] 圖33表示作為順序電路之一實例之2位元計數器之一 般之構造。該圖33所示之2位元計數器33包含有2段串 接連接之D正反器DFF0和DFF1。初段之D正反器DFF0 在其時脈輸入接受時脈信號CLK,下一段之D正反器DFF1 在其時脈輸入接受來自初段D正反器DFF0之輸出/Q之信 號。該D正反器DFF0和DFF1分別使其互補之輸出/Q結 合到輸入D。從D正反器DFF0和DFF1之輸出Q分別輸出 計數位元Q0和Q1。 在該圖33所示之2位元計數器中,D正反器DFF0和 312ΧΡ/發明說明書(補件)/96-12/96130440 55 200825908 DFF卜在給與到其時脈輸人之信號之上升時, 先前之D輸入之信號之狀態。因此,D正反器^ DFF1,與給與在時脈輸入之信號之上升同步地,變更來自 其輸出Q之h號之狀態。該圖33所示之2位元計數界之 構造被使用作為對時脈信號CLK進行分頻之分頻電路二 圖34表示利用x〇R閘和AND閘表現圖33所示之2位元 計數器之構造。在該圖34 +,2位^計數器包含有:正 反器FF0和FF1 ; X〇R閘G10,用來接受正反器ff〇之輸 出Q之信號和輸入信號IN; AND閘GU,用來接受輸入^ 唬IN和來自正反器FF0之輸出Q之信號;和x〇R閘G12, 接受AND閘G11之輸出信號和來自正反器Fn之輸出q之 信號。X0R閘G10之輸出信號係給與到正反器FF〇之輸入 D,而X0R閘G12之輸出信號係給與到正反器FF1之輸入 D。 另外,在正反器FF0和FF1之時脈輸入共同地被給與時 脈信號CLK。 ^ 在该圖34所示之2位元計數器中,正反器FF〇和FF1 利用在資料入口内確保之記憶體單元區域而實現。在該圖 34所示之2位元計數器之情況,邏輯運算段數係利用3 段之階段STG。對正反器FF〇、FF1之信號之取入和保持 之實現是經由將X0R閘610和G12之輸出值儲存在對應之 資料入口内之對應之位元位置。 圖35表示模擬該圖34所示之2位元計數器之動作時之 位兀配置之一實例。在資料入口 DERY0-DERY7中,在位址 312XP/發明說明書(補件)/96·12/9613〇44〇 56 200825908 指標ap所指定之位元位置,儲存輸入信號IN。該輸入信 號IN為位元值” 1”。暫時位址t卜t3之位元值分別對應 到階段STG卜STG3之輸出位元。在該2位元計數器動作 時,不利用暫時位址tmp。 為記憶正反器FFO-FF1之儲存值,在資料入口,準備指 標位址FF0和FF1(將表示正反器和位元位置之指標位址 以相同之符號表示)。 在該圖35中,資料入口 DERY0-DERY7設有8個,其理 由如下所述。正反器FF0和FF1之初期狀態存在有4種, 對4個之初期狀態,使用1組4個之資料入口。在1組之 資料入口中,係表示1個階段之動作。在圖35中,階段 STG2和STG3之狀態分別以資料入口 DERY4-DERY7之群組 和資料入口 DERY0-DERY3之群組表示。在該圖34所示之 2位元計數器之情況,可以使用4個之資料入口模擬計數 動作。MIMD命令用位元分別對應到階段STG卜STG3,用來 順序實行X0R運算,AND運算和X0R運算,藉以確保6位 元之區域(遮罩位元之儲存區域等未顯示)。 在資料入口 DERY0-DERY3中,運算命令(控制)位元M0 和Ml被設定為” 1,0” ,用來指定X0R運算。另外一方面, 對於資料入口 DERY4-DERY7之儲存資料,運算命令(控制) 位元M0和Ml均被設定為” Γ ,用來指定AND運算。 首先說明資料入口 DERY0-DERY3之運算操作。在暫時位 址t3所示之區域儲存正反器FF1之初期值。對於正反器 FF0,依照其初期值使階段STG1之運算結果成為不同,並 312XP/發明說明書(補件)/96-12/96130440 57 200825908 將其運算結果儲存在位址指標FF0。在圖35中,儲存表 示階段STG1之運算結果之暫時位址t丨之位元值。 才曰&位址12之位元值對應到時脈信號clk之上升前之 狀悲’成為將資料儲存在正反器FF〇前之邏輯值。因此, 暫時位址1:2之位置之位元值和正反器FF〇之儲存值成為 相反之邏輯值。 在1¾ #又STG3 ’進行該暫時位置12之位元值和被儲存在 正反器FF1之位元值之X0R運算,將其運算結果再度儲存 在正反器FF1之位元位置。 亦即,在資料入口 DERYO-DERY3,將作為正反器FF1和 FF0之初期值之(〇,〇)、(〇,!)、(1,〇)和(M)分別儲存在 指標位址FF1和FF0。在時脈信號CLK之上升前,依據該 正反态FF0之儲存值,決定x〇r閘gi〇之輸出值,決定暫 時位址ti之位元值,和依據時脈信號CLK之上升,利用 X0R閘G10之輸出位元值決定正反器ff〇之儲存值。 在階段STG2,依據時脈信號Clk之上升前之正反器FF〇 之儲存值,決定AND閘G11之輸出位元值,該位元值被儲 存在暫時位址t2。因此,暫時位址t2和tl之位元值之 邏輯值成為相反。 在1¾段STG3 ’依據該AND閘Gl 1之輸出值和正反器ffi 之儲存值’決定X0R閘G12之輸出值。x〇R閘G12之輸出 值,與日π脈仏號CLK之上升同步地被儲存在正反器ffi。 在圖35中’顯示在該階段STG3,於時脈信號clk上升前 所進行之X0R運算之狀態。亦即,在暫時位址t3,正反 312XP/發明說明書(補件)/96-12/96130440 58 200825908 器FF1之儲存值被設定成為輸入位元值,進行該暫時位址 t2和t3之位元值之X〇R運算,將其運算結果在階段STG3 之運算完成時,儲存在指標位址FF1,作為正反器FF1之 儲存值。在該運算時,將X0R運算結果寫入(進行儲存) 到暫時位址13,其次,在指標位址FF 1之位置寫入暫時 位址t3。利用此種方式,在以下之操作,在暫時位址t3, 經常在階段STG3之開始實行時,可以將正反器FF1之儲 存值設定成為對X0R閘G12之輸入位元。 在資料入口 DERY4-DERY7之位元配置中,開始實行階段 STG2之運算。在該階段STG2、MIMD命令位元(控制位元)M0 和Μ1均被設定為” 1 ” ,進行AND運算。 在此種情況之階段STG1,依據正反器FF0之儲存值, 決定其輸出位元(X〇R閘之輸出位元)之邏輯值。X0R值 G10進行反相器之動作,在暫時位址tl儲存正反器FF0 之儲存值之反轉值。 在該階段STG2之實行演算時,尚未進行將資料寫入到 正反器FF0,在該等之資料入口 DERY4-DERY7之指標位址 FF0和FF1,顯示維持2位元計數器之初期值之狀態。因 此,階段STG2之暫時位址t2之位元值等於正反器FF0之 儲存位元之邏輯值(輸入信號IN成為邏輯值” Γ )。 在階段STG2,在各個入口實行該正反器FF0之儲存值 和位址指標ap之位元位置之位元之邏輯積運算(AND運 算)。 如圖35所示’經由準備作為MIMD型運算命令之邏輯運 312XP/發明說明書(補件)/96-窗613〇440 59 200825908 算^尤每-個人π分別進行運算,可以進行順序電路之仿 真模擬(emulation)。 另外’經由重複實行該運算’在資料人σ deryq_dery7, -將正反器FF0和FF1之狀態儲存在指標位址ff〇和Fn, •藉此可以表示正反器之狀態。 依照以上之方式,經由在ALU處理元件内追加_用 命令暫存器和解碼器,可以使SIMD型架構之平行運瞀事 置作為MIMD型處理裝置地進行動作。利用此種方式了 ^ '以一次地實行以入口為單位之不同之命令,可以減少處理 時間。 —另外,利用MIMD用命令暫存器和解碼器,在該平行運 算裝置上,可以實現邏輯電路之仿真模擬。具體來說,因 為由NOT元件(1輸入1輸出),AND元件(2輸入i輸出), 〇R元件(2輸入1輸出)和X0R元件(2輸入·】輸出)構成 邏輯完全系統,所以可以表現所有之組合電路。另外,經 、由在資料入口内準備資料保持用之區域,亦可以表現正反 器或問扣等之順序電路。利用此種方式,在依據本發明之 平行運算裝置中’可以架設所有之硬體電路。因此,在該 平行運算裝置中,可以使依照通命令之軟體實行和依 照邏輯電路之硬體實行部共存,而可以實現高通用性之處 理裝置。 另外’在利用硬體電路構成該圖33或圖34所示之2位 几计數裔之情況時,在正反器FF〇成為延遲i段之閘,另 外一方面,在正反器FF1成為延遲2段之閘。因此,為配 312XP/發明說明書(補件)/96-12/96130440 60 200825908 〇與名等之時脈信號同步之動作時序,需要預估該2段之 閘G11和G12之延遲並進行時序設定,需要使時脈信號 CLl^之動作餘裕變大,則要使時脈信號高速化成為困難。 仁疋在忒平行運异裝置中,就每一個階段進行運算操 =,各個階段之週期依照時脈信號(平行運算裝置之時脈 仏號)而規定。各個實行階段之運算結果和輸入可以在任 意之時序從記憶單元讀出。因此,在2位元計數器之情況 時,初段正反器之臨界路徑(critical path)成為延遲一 段之閘,而對於次段之正反器成為延遲2段之閘。對各個 正反器成為可以變更臨界路徑。利用此種方式,不需要進 行正反斋間之時序調整,可以進行正確之運算操作,以及 可以貫現南速動作。 另外,經由成為可以實行MIMD運算,可以用來減少對 處理之平行性之相關要因,可以使該平行運算裝置(MTX) 之適用範圍擴大。利用此種方式,在先前技術中由主機 CPU擔當之運算處理亦可以被閉合在該平行運算裝置(Μτχ) 内,CPU和平行運算裝置(MTX)間之資料轉送所需要之時 間可以減少,而可以提高系統全體之處理能力。 另外,可以以可重組態之方式以各個入口為單位設定資 料之處理,更軟性地控制複雜之資料轉送(垂直移動··入 口間之資料移動),可以使資料轉送高速化。 圖36以一覽表表示在先前技術之半導體平行運算裝置 (MTX)所使用之垂直移動命令” vcopy”(與moVe命令相 同)’和依據本發明之實施形態1所使用之入口間通信電 312XP/發明說明書(補件)/96-12/96130440 61 200825908 路(RECM :可重組態入口通信器)之資料移動時所需要之週 期數。在該圖36所示之列表中,係使用平行運算裝置 之=式模擬器之版本0. 03· 01,並以2位元為單位進行 運算之2位元ALU作為模型。對該RECM利用方式模擬器 之版本0. 03· 01之週期數計算,用來進行程式庫化。时 在圖36中,資料移動距離以丨位元、2位元、4位元、 8位元、16位元、32位元、64位元、128位元、256位 512位元和1024位元之移動距離所需要之週期數 在利用垂直移動命令,’ VCC)py,,(=_e)之情況,資料之移 動就全部之資料入口被共同地設定在同一方向。使16位 元資料以2位元為單位進行移動。在資料位元之轉送時, 需要8個循環,另外’轉送資料之裝載和儲存等之資料移 動所需要之循環,利用方式模擬器預先設定。 如圖36所示,在使用咖進行入口通信之情況時,需 要將通信控制用㈣EG_E3儲存到通信控制用資料暫存 器(RECM暫存器),該週期數(在圖%中為3個週期)、移 動週期數如所見地變長。#資料移動量為基本移動量之情 況時’在實行垂直移動命令時為26個週期,在重複同一 距離之移動之情況時為8個週期,資料通信所需要之㈣ 因此,資料移動係使用垂直複製命令” vc〇py,,一齊移 動,且在與全部之入口離開有等距離之入口通信之情況 時’在使用删實行使資料移動到各個入口之情況,會 使動作變慢。另外,就| —加 r就母個入口,用以設定資料移動量 312XP/發明說明書(補件)/96-12/96130440 62 200825908 之控制資料需要儲存在資料入口,在記憶體塾伴 該通信控制用資料儲存區域。 要確保 仁疋各個入口,在分別離開有互不相同之距離之入口 通信之情況時,可以各個入口為單位實現通信控制,並可 以以更少之週期數完成處理。亦即,在就每一個入口之通 :距離(貧料移動距離)不同之情況時,在先前技術之方法 而要使用垂直移動命令VCQpy” #遮罩暫存器(v暫存哭) 之遮罩,元,選擇性地進行移動。因此,需要就每一個; 料移動里’重稷實行資料移動’處理時間需要長時間。但 是,在使用RECM暫存器進行通信控制之情況時,即使是 -次之通信亦可以選擇各個入口之通信距離,而可以以更 少之時間完成資料移動處理。因此,在進行例如圖託所 不之貢料移動之情況時’存在有5種之資料移動量。因 此’在利用垂直移動命令vc〇py或移動命令之情況, 需要實行5次資料轉送命令。但是,依據本實施形態i時, ,由對各個入口設定移動量,可以以一次之資料通信完成 貝料移動,而可以減少轉送時間。 另外,該資料移動用之佈線,可以直接援用至目前所使 用之平仃運算裝置之實行移動命令vc〇py或所使用 之佈線。因此,可以使資料移動所需要之週期數減少而不 會使佈線面積增大。以下具體地說明資料移動處理。 [收集處理] 收集處理是收集每8個入口之資料,依照從最初之入口 起之順序,排列收集到之入口資料之資料移動處理。通常 312XP/發明說明書(補件)/96-12/96130440 63 200825908 在影像處理時,將變動之雜訊(類比式之雜訊)導入到境界 區域,用來使境界區域之色調變化平滑化。圖37表示對 64個入π實行此種情況之處理時之資料移動之流程圖。 在圖37中,在記憶體單元墊準備有2〇48個入口作為入 口。取出入口 ERY7、ERY15、ERY23、ERY3卜 Ery39、ery47、 ERY55和ERY63之内容A_H,從入口 〇起順序地排列。在 該圖37所示之收集處理中,實行以下之處理 步驟1 : 首先將資料移動控制用之資料⑽训,儲存在資料入
口之控制資料儲存區域。在此處之各個資料人口共同之入 口内之資料儲存區域係依據指標設定。 A 步驟2 : E二口起依照資料移動量’將資料移動控制用資料 E儲存在對應之聽暫存器(移動資料暫存器如圖π 所示’在資料移動控制資料Ea連續使用多次 通信資料移動時’於最初設定—次,進行 口間資料移動。 貝丁 步驟3 : 其次,依據該删暫存器所儲存之值e(e〇_e3), 一個入口設定移動距離和移動方向,進行資料移動。 謝:3:二’首先依據移動控制資料群組Ea,將入口 im5之貧料B轉送到入口 _047。入口猶 個位元=口順3之資料c被轉送到切觀(_16 位几之私幻。其餘之入口 D—Η分別移動_16位元,各個 312ΧΡ/發明說明書(補件)/96-12/96130440 64 200825908 資料D-Η之入口位置係朝向減小16位元之方向移位(向下 移位動作)。 其次,在各個入口,再度實行相同之移動命令,將被儲 存在入口 ERY15之資料轉送到入口 2047,入口 ERY7之資 料向下方向移位1個位元。對於入口 ERY23進行-16位元 之移位,和對於其餘之入口 ERY23、ERY31、ERY39和ERY47 亦進行同樣之移位動作。這時,入口 ERY2047之資料B被 轉送到入口 ERY3(向上移位4位元)。 再度地在下一個週期亦依據控制資料群組進行資料移 動,在入口 ERY2至ERY7儲存資料B、D、A、C、E和G, 在入口 ERY15儲存資料Η。 步驟4 : 其次,使指標移動,將下一個之移動控制資料儲存在對 應之RECM暫存器。依據該移動控制資料群組Eb進行資料 移動。亦即,對於入口 ERY2047之資料,進行向上移位4 位元操作,對於入口 ERY4之資料A,進行向下移位4位 元操作,對於其餘之入口 ERY2、ERY3、ERY5-ERY7,進行 向下移位1位元操作,對於入口 ERY15,進行向下移位4 位元操作。 步驟5 : 更新指標,將下一個之移動控制資料儲存在對應之RECM 暫存器。在將轉送資料儲存在X/XH暫存器之後,依據控 制資料Ec,進行資料移動。對於轉送資料位元,重複實 行該移動操作。利用該操作,在入口 ERY3和ERY4 ’進行 312XP/發明說明書(補件)/96·12/96130440 65 200825908 下移位’並儲存和交換該資料 位元移位被儲存在入口 ERY7。 入 ϊ位元之向上移位和向 口 ERY11之資料利用4 步驟6 : 口。字最後之^動控制貧料群組儲存在對應之狀⑶暫存 ^將„移動量設定在每—個人口。將轉送資料儲存在Χ/ΧΗ =依據控制資料群組Ed進行資料移動。在該操 r依據控制資料群組Ed ’使人口 Em和聰與入 ERY4和ERY5之内容進行交換。利用此種方式在入口 ERY0至ERY7,順序地儲存資料A_H。 口匕對於此種收集處理,亦可以經由進行個別之移動 操作而實現收集處理,並可以實現高速之處理。 私在圖37所示之資料移動流程中’存在有依據移 動控制貧料群、組Ea,進行資料移動之人口和不進行資料 圖38以一覽表表示對16位元資料進行圖”所示之收 集處理之情況時之入口數和必要之週期數及控制位元之 關係。V旗標是被儲存在遮罩暫存器(ν暫存器)之遮罩位 兀。控制位元表示用來決定鋸齒形複製模態實行時之轉送 移ίΐ入口。資料移動之實行/不實行可以經由遮罩位元 =设定,在各個移動操作時,亦可以使遮罩位元被設定/ 清除。另外,在此時遮罩位元所設定之入口即使實行移動 #作’如圖37之斜線方塊所示’不需要之轉送資料可以 被在後來之週期轉送之資料重寫,即使遮罩位元對相同之 移動控制資料群組被設為相同之狀態時’只要是利用後來 之週期之轉送資料進行重寫,不會產生特別之問題。 312ΧΡ/發明說明書(補件)/96-12/96130440 66 200825908 對象/移動量之資料(E0-E3)數。在此情況,未顯示初期資 料之儲存區域。該圖3 8所示之入口數和實行週期數之關 係’亦是利用先前之模擬器版本〇· 〇3· 01之週期數計算。 圖38所示之入口數為64之情況,對應到圖37所示之 操作。移動命令有4種,控制位元為合計16位元,另外, 為停止與資料轉送無關之部份之區域(入口)之資料轉送 時’利用遮罩旗標。因此,分別使用4位元之遮罩旗標= 為控制位元,當與各個移動時所使用之移動命令比較時, 僅該遮罩位元之數目增大。 、 圖=表示圖38所示之收集處理之入口數和週期數之關 ,、。在圖3 9中,橫軸表示入口數,縱轴表 HI刊# - ^ .. 敬孕由表不週期數。如 二 斤不,奴者入口數之增大,當然,必要之週期數允 增大。但是,在使用RECM暫存 ’ ’、 ^ 曰廿-就母一個入口進行資 枓移動之情況,與利用垂直移動命令vc : 個入Γ7、仓—άα人r-n 在各 V. 入進仃朝向同-方向之移動之構 週期是減少的。 平乂吋可以看出 圖40表示圖38所示之收集處理之 佔用區域之位元幅度。在 數和控制位元之 ㈣控制資料儲存區:::元^ 使用_暫存器,以各個入二如定^ 而進行資料移動之情況時,需要一疋貝料移動量, 制資料,控制位元之館存區域之=母—個入口儲存移動控 用垂直移動命令彻的之情況㈣當與通常之利 區域之位元幅度比較時,大_ 治、、、罩位元(V旗標)之 田增大。但是,轉送資料為 312XP/發明說明書(補件)/96-12/96130440 67 200825908 16位元,1個資料入口之位元幅度很廣(成為1個位元線 對之記憶體單元之數目,對應到字線之數目),可以充八 確保儲存該等之控制位元之區域。 [去交錯處理] 去交錯處理(de-inter leave process)是進行資料之移 動之處理,用來使在入口之垂直方向排列之資料行,於 口群組之上半部份之區域儲存偶數入口之資料,於下半立 份之入口群組儲存奇數入口之資料。 。 圖41表示依據該圖面之實施形態丨之平行運算轳 (MTX)之去交錯處理之資料之流程。在該圖4丨中,二= SA表示人π⑽之儲存資料之初期狀態,狀態处 ^ 入口之處理完成時之狀態。狀態sc表示設有 ERY之情況時之去交錯處理完成時之狀態。 口 地1 口該=二所示,利用移動控制資料群組Eai,順序 也進订一貝料移動,在各個入口間,經由使偶數入 數 i 入口之内容進行交換’可以用來將偶數 入口之資料分類。 < 貝科和可數 圖42表示通常之依據SiMD型移 直移動命令),,〜_,,進行移動操作之情= 驟。在此種情況,各個入口之 2^兄4之處理步 量移動,所以分割成為偶口/:要在同一方向以相同 資料移動地而實行處理之貝料移動和奇數入口之 命令vcopy進y次σ回42所示,在使用垂直複製 vcopy進仃貧料移動之 且饺衣 (初期資料)分成偶數入口 T,*要將原來之資料 可數入口而進行分類,所以在 31辦明說明書(補件)/96-】2/9613嶋 200825908 各個入口 ERYO-ERY7 fr 亜、仓 > 持在斬時IS祕向丨5 — 進仃保持。因此,將轉送資料保 料。在哕轉:护二地轉送被保持在該暫時區域内之資 料轉送用送:因此暫時區域需要設有奇數行資 貧料之2倍之位元幅度之暫時區域。 而要屬达 ΐΛ4二二覽表表示圖41和圖42所示之去交錯處理之 及轉送二:時之入口數和資料儲存區域之位元幅度 Ϊ轉:週期數。該圖仏所示之週期數之求得亦是使用; 述之RECM模擬哭之版太η ΛΟ n a行万疋使用上 資料轉送時之處°理。 以2位元為單位之 在入口數為4之情況,如圖41所示,在從 在广位元係使用移動控制資料仏。因I, 罩位m/,控制位元需要該命令^之4位元(遮 此種可以實行。位元移位作為資料移動。在 扣徑It况不需要遮罩位元)。 器=即需使要在有進:亍將移動控制資㈣^ 有對_暫_之轉送要 ” k對轉送對象之寫人之週期。例如 月况柑,貧料移動需要33週期,但是,即 '、、、 為4之情況’當利用垂直複製命令vCQpy時數 :貝科轉运和奇數行資料轉送時之分別轉送, -之遮罩旗標。另外,各個移動需要進行同一移動量 3物發明說明書(補件)趣4〇 69 200825908 之Γ1 轉送闰’則週期數大幅地增加成為例如172個週期。 目44以圖形表示圖43所示之去 入 數和週期數之關係。圖45表示圖43所=二 -和控制位元之幅度。在圖43中 數 表示週期數。在圖45中,橫軸表入口數’縱轴 罩/控制位元幅度。 軸表不入口數,縱軸表示遮 如圖44所示,經由使用删暫存器進行資料移動,可 (以^速地進行資料之移動。另外,如圖Μ所示,在資 " 料移動入口數較少之格、、卩士 -Γ丨、,, 、 匱况4,可以減小記憶體墊之利用區 域。在此種情況,不需要設置用以儲存偶數行入口之資料 二之資料之暫時區域,可以直接進行將移動資 到原來之位址指標所示之位置。因此,在利用嶋 之6況時,控制位元之幅度增大,但不需要暫時區域,資 料移動時之記憶體塾之使用區域位元幅度可以成為與垂 直移動命令實行時相同之程度或更小。 [抗鋸齒化處理] 鋸齒化通常表示原來之資料未含有之虛像資料。抗鋸齒 化(anti-aliasing)處理是用來除去或避免該鋸齒化成分 之處理。在影像處理之領$,該抗鑛齒化處理表示將所產 生之圖形中所含之鋸齒形(圖形之位置係沿著圖素單元成 .為=梯狀之鑛齒形之狀態)除去之處理。在該抗鑛齒化處 理,求得该區域之圖素平均值之處理。鋸齒化處理是在 涵蓋入口沿著垂直方向排列之資料中,交換一定範圍之資 料之處理。 、 312XP/發明說明書(補件)/96-12/96130440 70 200825908 圖46表示鋸齒化處理.从 圖Μ令,使入口則0 =科排列之交換之一實例。在 重排,和依照入口 ERY25至入口 _5之貧料在垂直方向 之順序配置。 口 ERH 0之原來之儲存資料 圖47表示該鋸齒化處理次 移動時之資料之产㈣彳/ 4排列交換時之資料垂直 貝付之机耘杈式。在該圖47 入口 t之上位或下位之“ Τ T先只仃16個 次,對於I餘之8個入〜人口之資料移動之處理,其 料轉送量以8、4、2和1之^科轉达。在此種情況,資 之重排。_ θ ρ 之順序減小’可以用來進行資料 室排仁疋,在貫施形態1中,因為其士次 土卜±4、+16,所以㈣…"為基本貧料轉送量為 要實行2次之移位4位元 之位置之通仏’需 時,需要實行連續2次之移 σ移位2位70動作 送操作時,其一實例是 二:之動作。在該資料轉 和i點鏈線所示^移位^也Λ订實線所示之+移位命令 之區域有衝突之情、、兄护:点在貝枓保持和資料移動用 為確保其中間:貧料,變成需、 送,所以i甬赍泰®,功 口々進订Ζ次轉 域。吊而要+移位用和-移位用之2個之暫時資料區 餘^ 口 _至_進行之資料轉送’對其 資料m 貪料移動,所以需要使用遮罩位元,遮罩 況柃,亦需要進行遮罩。 隋 312XP/發明ift明書(補件娜巧觀⑶柳 圖48表示圖47所示之32位元資料之鑛齒化處理實行 71 200825908 時之模擬結果。模擬器利用十 心 式版本〇· 〇3· 01 ,而該模 擬裔係利用程式庫化之週期I 、 八八 皮η J數汁核擬器,在使用垂直移動 命令vcopy使32位元資斜梦知4m ,.s ^ ^ 貝科私動之情況時,需要613週期, 暫時位元,需要2個上 之區域,而且為儲存 一 . 貝料之位元幅度,亦即需要64位 2卜一方面’在利用_暫存器之情況時,週期數 為442,控制位元使用1 β ^ 一 文用ib位兀。亦即,需要實行4次之 移動命令(因為移動量被限定為丨、4、16)。 因此,從該圖48之列表可以丢山如仏 ^ j衣了以看出,在使用RECM暫存芎 之資料通信之情況時,處理週ΰ t " 处埋週期數鉍短,可以實現高速之 處理。 ΡΡνη 暫存器之情況,因為可以使該入口 =0至·25之内容全部移動,所以不需要暫時區域, dk、體墊之貧料通信所使用之區域幅度可以減小。 經由設置使用有資料移動通信電路之RECM暫存哭,可 以獲得以下之效果。亦即,在使用進行—齊移動^直複 製命令vcopy或move之情況時,可以只進行一次之同一 距離之入口間之資料移動’在需要以各個入口為單位使資 料移動不同距離之情況時,需要使入口間之移動,就每j ,資料移動量重複進行多次。但是,依據本發明之實施形 態1,經由使用ALU間資料通信電路(RECM暫存器),可以 以各個入口為單位,以可程式之方式設定入口間之資料移 動距離,另外,可以進行資料移動。利用此種方式,可以 高速地進行入口間之賢料移動。另外,依照資料移動量, 312XP/發明說明書(補件)/96-12/96130440 72 200825908 使資 只利用一次之資料移動命令實行,可以在各個入口 料移動所希望之不同之距離。 另外’只要將該入口間之資料移動之 號,代替平行運瞀奘罟Γ 士、蓄瞀+ Ασ &擇^ :換制信號,就可以控制以入口為單位之資料路轉) 迗而不而要追加新的佈線資源。 [實施形態2] ,49概略地表示依據本發明之實施形態2之則 兀件之構造。該圖49所示之則 之部份與圖ίο所示之依攄構造在以下 構造不同。亦即,利二1之則„處理元件之 器59和XL暫存器、58,作 二,:54、D暫存 e㈣之暫存器。亦即,利動控利資料 令曾獻六叫 扪用破叹在ALU處理元件34 哭ίο ::料用來代替MiMD用命令暫存器(R£CM暫存 二以不使^^動時’因為不實行算術運算或邏輯運算, Γ= L暫存器58,D暫存器59、。暫二 =和F暫存器54。在該資料移動操作時,= 未被;用之暫存器作為移動控制資料儲存用之暫存上; 亥 二不=要设置專用之咖命令暫存器⑽ ; 可^減小該_間連接_電路之佔^ )而 奋亥圖49所示之ALU # :f田-从 、 ALU處理元件之構造相同,二件之其他構造與圖Μ所示之 號碼,其詳細之說明…’,對應之部份附加相同之參照 312ΧΡ/發明說明書(補件)/96-12/96130440 月則加以省略。但是,在圖49中所顯 73 200825908 示之多工器(MUX) 150之每加〆 MTAm ^ , 之貝例,係用來在SIMD型架構之運 异日守和MIMD型架構之谨瞀 ^ x „ 1Rn 之運开k,切換移動控制之路徑。該 多工為150依據切換SI_人 態控制信M/M,朴麵命令實行之模 、擇來自控制器21之控制信號,以及 制°卩々位兀E0-E3之一方。模態控 希Η口號係依據移動命令實杆Β士 3 X法 之判定結果,從控制哭21 :二疋IMD型移動命令 時,模擬控制信號:^ 控制資料之狀態)。R成為選擇來自暫存器之移動 在圖 49 中,並 一 ^ ^ jl. ^ E3,在F財二只*疋在C暫存器53儲存控制位元 存Ff),卢η盤— 卫制位兀E1 ’在XL暫存器58儲 存E0,在D暫存器59儲存控 該等之暫存器53、54、==2。但是, 他之組合。 59之控制位元亦可以使用其 用來將移動量資料轉送(進行 53、54、59和58之命 二“亥等之暫存益 示之裝載命令,可以將移動旦41 令一覽表所 依據如移動里貧料儲存在該等之暫存器。 户勒六 式之本發明之實施形態2時,移動資料儲 存暫存器利用被設纟則處理單元二,動=科儲 移動操作時未被使用之暫存 中之在資料 電路之佔用面積。另外,在移動^^則間移動用之 銘叙批以u載中 以儲存移動控制資料,使資料 移動控制之程式之描述變為容易。 〗貝付使貝枓 [實施形態3 ] 312XP/#___〇抓 12/96130440 74 200825908 圖50概略地表示依據本發明之實施形態3之ALU處理 元件之構造。該圖50所示之ALU處理元件,在以下之部 份與圖10所示之依據實施形態1之ALU處理元件之構造 不同。亦即,將MIMD命令給與到MIMD用命令解碼器74 之暫存器,使用C暫存器53和XL暫存器58。該圖50所 示之ALU處理元件之其他之構造,與圖10所示之ALU處 理元件之構造相同,在對應之部份附加相同之參照號碼, 其詳細之說明則加以省略。 但是,在圖5 0所示之構造中,亦是對於ALU間通信電 路(RECM) 71設有多工器150,該多工器150被設置成依據 模態控制信號S/Μ,切換來自資料暫存器(RECM暫存器)70 之位元E0-E3和來自控制器21之控制信號之一方,藉以 設定ALU間通信電路71之連接路徑。 在該圖50所示之ALU處理元件34之構造中,不需要儲 存MIMD命令之專用暫存器,可以減小ALU處理元件之布 置面積。如該圖50所示之方式,利用暫存器53和58作 為ΜIMD命令暫存器之情況而實行ΜIMD運算時之命令,係 以下之方式描述。 ΜΤΧ一MIMD(as, bs, cs, bit—count) 0 * ptr. set#cs, pi ·, 1 : men. ldC@pl++ ; 2 : men· ldXL@pl ; 3 · ptr. set#as, p2 ; ptr. set#bs, p3 ; 4 ·· for(i = 0 ; i<bit—count ; i + + ){ 312XP/發明說明書(補件)/96-12/96130440 75 200825908 5 : men· ldX@p2++ ; 6 : alu· op. mimd@p3++ ; 7 : } 在上述之操作描述中,依據列號碼〇之命令, 存器pi之指標設定為指標邙之初期值cs。、曰票暫 依據列號碼1之命令,將指標暫存器 之位置之位元裝載到C暫存哭,梯如押撕―彳本所指定 值增加卜冑⑴存使心標暫存Μ之計數 依據歹J唬碼2之命令,在XL暫存 所指定之位元位置之眘料仞-壯讲,卞扣铩暫存盗以 证置之貝枓位兀裝载到XL·暫存器。 依據列號碼3之命令,將指標暫存器p2之指標 俨所P 期值as,和設定指標暫存H P3之扣 “曰疋之值’作為位址指標bp之初期值bs。 曰 利用列號碼4之for沪人.々Μ 起到位元幅度μΓ 範圍㈣定在從0 加。 又—count之乾圍,而且每次操作時i會增 利用列號碼5之命令 之位置之位元裝載到χ 指標增加。 ,將指標暫存器ρ2之指標所指定 暫存器,其次使指標暫存器ρ2之 利用列號碼6之命合,姻^ t μ ^ ^ 之位置之資料位元和子子器p3之指標所指定 存器和紅暫存器58之:1 =二依據被儲存在C暫 仙.叩· _,將1實行t果Γ/定之麵運算命令 之指標所指定之位元位置f 又錯存在指標暫存器P3 312聊發明說明書(補件购2/9613044〇 200825908 利用列號碼7描述命令處理之妹束 因此,在實行MIMD運算時,在刹
τ 牡利用C暫存哭μ知YT
暫存器58儲存運算命令(控制位) # XL 狄 )Μ1和Μ 0之後,將運 鼻對象之資料位元轉送到X暫存哭,者> 〇 > ^ 曰仔為貫行與指標暫存器 Ρ 3之指標所指定之位置之位元 ’仔 间 < 運异。在此種愔況, §實行以1位元為單位之運算時, 丈开于利用X和ΧΗ暫存哭實 行邏輯運算處理。在實行以i位元Α貝 ^ 1 70為早位之運算時,於列 號碼5之後’將指標暫存器ρ3之指 ^ Ρ 知所指定之位元位置 :貧料轉送到ΧΗ暫存器,並實行運算。在實行 命令,時,對於被儲存在R暫存器和ΧΗ暫存器之位: 中之預定之暫存器之位元值’實行反轉操作。 依照此種方式,利用通常之SIMD型架構之命令將麵 命令分別設定在各個則處理元件之暫存器 運算處理。 Λ仃 如上述方式,依據本發明之實施形態3時,利用詹 理元件之運算資料儲翻之暫存器,作為麵命令儲= 用之暫存器,不需要設置專用之MIMD運算命令暫存器, 可以減小ALU處理元件之佔用面積。 [實施形態4] 一圖51概略地表示依據本發明之實施形態42Alu處理 元件34之構造。該圖51所示之ALU處理元件,與圖μ 所示之ALU處理元件,在以下部份具有不同之構造。亦 即,對於ALU間通信電路(RECM)71,將移動控制資料位元 E0-E3分別儲存在c暫存器53、F暫存器54、辽暫存器 312XP/發明說明書(補件)/96-12/96130440 77 200825908 5WD暫存器59。另外,將卿命令位 在XL暫存器58和0暫存器53。 几〇和Mi儲存 其一實例是在XL暫存哭π辟六人人 料Ε0,在c暫存% 子〒々位元Μ〇和控制資 节仔w儲存MIMD運算 量控制位元E3。在F暫存哭5“ 和貝科移動 蒋動詈柝^ u 暫存器59分別儲存 - MIMD運μ八71 ^ E2。在貧料移動操作時,同時地實 仃運异中令。因此,該c暫存器53和紅暫存哭58 即使用來儲存MIMJ)運算命令和盤| 曰°° 〜ρ τ和鋸齒形複製動作之控制位 亦不$產生任何之資料位元之衝突。 ,圖51所示之實施形態4之ALU處 圖49和圖5°所示之構造之組合係為等效。在上不、 需要設置專用之暫存器用來進行以人口為單位之移動資 料量設定和儲存以入口為單位之咖命令,而可以更進 一步地減小ALU處理元件之佔用面積。 如上述之方式,依據本發明之實施形態4時,分別儲存 MIMD命令和RECM資料之控制位元之暫存器,係利用被設 在ALU處理元件之暫存器。因此’則處理元件不需要增 加新的暫存器,而可以抑制ALU處理元件之增大。例如, 在設有1024個入口 ERY之情況時,經由使每一個腳處 理το件共用6個之暫存器(画用暫存器2位元和議 暫存器之4位元)’可以削減6144個之暫存器,而可以大 幅地抑制面積之增大。 、另外,對各個暫存器之資料和移動/命令控制資料之裝 載,和實行MIMD命令之步驟,與先前所示之實施形態工 312XP/發明說明書(補件)/96-12/96130440 78 200825908
之情況相同,經由!^ 7 A 運算命令,可以以各個 之鑛齒形複製命令和瞻 運算。 個入口為早位,分別進行資料轉送和 [實施形態5 ] 圖Μ表示該實施形態^4所示之譲 74之具體之構造之一竇 .^ ς〇 ^ ρ π解碼态
丨,貝例。在圖52所不之構造中,MIMD ^位兀Μ0和Ml分別從XL暫存器58和c暫存哭 生:但是,該咖命令位元亦可以如實施形態&示之 方式,被儲存在專用之MIMD用暫存器。 在圖52中,MIMD用命令解碼器74包含有:反相器i6i 和16j’分別接受命令位元训和M1 ; AND電路163厂接受 反相器161和162之輸出信號,用來產生否定運算指定信 號“t; AND電路164,接受反相器161之輪出信二二 令位兀Ml,用來產生邏輯和運算指定信號0奸;and電路 165,接受命令位元屻和反相器161之輸出信號用來產 生互斥邏輯和運算指定信號0 xoi* ;和AND電路丨66,接受 命令位元M0和Μ卜用來產生邏輯積運算指定信號0and= 依據命令位元M0和Ml之邏輯值而使1個之運算指定作號 0mimd活性化,在加算器50設定用以實行對應二2輯= 异之内部連接。 該圖52所示之MIMD用命令解碼器74,係使用反相器 和AND電路(NAND閘和反相器)之組合電路而實現。經由 利用組合電路實現該MIMD用命令解碼器74,可以減小命 令解碼器74之佔用面積,和可以以高速進行解碼動作。 312XP/發明說明書(補件)/96-12/96130440 79 200825908 另外,圖52所示之MIMD用命令解碼器74之組合電路 之構造只是一實例,亦可以使用其他之邏輯閘之組合。 [實施形態6] 圖53概略地表示依據本發明之實施形態6之MIMD用命 令解碼器74之構造。在圖53所示之構造中,亦是利用來 自C暫存器53和XL暫存器58之位元Ml和M0用來表現 MIMD用命令。但是,該MIMD命令位元亦可以從專用之MIMD 命令暫存器給與。 在圖53中,MIMD用命令解碼器74係由多工器(MUX) 170 所構成,並依據命令位元M0和Ml,選擇MIMD運算命令 alu. op. not、alu. op. or、alu. op. xor,和 alu· op. and之任一個,將其給與到加算器50。 給與到多工器170之MIMD運算命令,係分別以位元展 開之以碼之形態給與。依據控制位元M0和Ml,選擇表示 被指定之運算命令之碼,並將其給與到加算器50。 圖54概略地表示圖53所示之多工器170之具體之構 造。在圖54中,多工器170包含有選擇器SEU-SELn, 分別依據MIMD命令位元M0和Ml,進行4對1選擇。 為產生MIMD運算命令之位元圖案(bit pattern),設有 命令圖案記憶體ROM。該命令圖案記憶體ROM成為讀出專 用記憶體,分別包含有 4位元幅度之記憶體區域 匪卜匪η,而被設置成分別與選擇器SELl-SELn對應。在 記憶體區域MM 1 -MMn之相同號碼之位元位置,儲存相同之 MIMD運算命令之碼位元。因此,利用選擇器SEL卜SELn, 312XP/發明說明書(補件)/96-12/96130440 80 200825908 依據演算命令位元MO和Ml,選擇該等之記憶體區域 MM卜MMn之相同位元位置之儲存值,選擇以位元圖案(碼) 表示運算命令之η位元幅度之控制圖案,將其給與到加算 器5 0。該位元圖案之位元幅度η依照加算器5 〇内之内部 構造設定,並使用加算器5 0内之用以實現指定之邏輯運 算之信號傳輸路徑之切換所需要之位元數。 該命令圖案記憶體ROM被設置成由主運算電路内之所 有之入口之ALU處理元件所共用。命令圖案記憶體R〇M之 &己值係在製造步驟日^由遮罩所設定。因此,在命令記憶 體ROM之遮罩時’經由變更該遮罩值,對於作為μ IMD命 令而實行之命令,亦可以容易地變更,並可以容易地變更 欲實行之運算内容。另外,經由擴張選擇器SELl-SELn和 吕己憶體區域MM 1 -MMn之位元幅度,可以容易地因應μ I md 運算命令之種類之擴張。 該命令圖案記憶體ROM亦可以不使用遮罩r〇m而是使用 電子式可重寫之非揮發性記憶體構成。在此種情況,經由 電子式地重寫記憶内容,可以容易地因應邏輯運算命令之 變更和擴張。 [實施形態7] 圖55概略地表示依據本發明之實施形態7 iMIMD用命 令解碼器74之構造。在圖55中,MIMD用命令解碼器74 包含有記憶體175,用來儲存展開成為位元圖案之ΜΙ· 運算命令。該記憶體175具有與MIMD運算命令對應之4 位址(1個位址為η位元幅度)。記憶體17 5以運算命令位 312ΧΡ/發明說明書(補件)/96-12/96130440 81 200825908 元MO和Ml作為位址,讀出所指定之位址之運算命令圖牵 (命令碼)。 β ' 記憶體175只要是可以隨機存取之記憶體即可,亦可以 利用通# 之 SRAM(static random access memory 靜態隨 機存取記憶體)和快閃記憶體等。另外,在圖55未明確顯 示者,記憶體175當然具有對命令位元M〇和M1進行解碼 之位址解碼器,和對位元圖案(命令碼)進行寫入/讀出之 輸入/輸出電路。該記憶體175亦可以由暫存器楷案構成。 在該記憶體175之命令組之變更時,將各個命令組之碼 (位元圖案)儲存在各個對應之資料人σ。在此種情況,所 使用之構造可以是在記憶體m Μ,將串列/並列變換用 之暫存W以㈣前段’以丨位元為單位將命令碼從 對應之貢料入口轉送到記憶體175;將各個命令組之η位 元命令碼以位Μ列方式轉送之命令碼,以η位元並列方 式寫入到對應之位址位置。 另外,代替此種方式所使用之错、生 ,σ 用之構化可以對MIMD命令用 解碼設置ΜIMD命令轉送專用夕雁 ^ + 寻用之匯流排,經由該專用之
匯流排,再經由圖1所示之内部 /寻用I 丨〃丨l排14轉送命合坡之 各個命令碼,在控制器21之#制 " ^制下寫入到記情體17 5。 另外,亦可使用之構造是在主運/體 產生MIMD命令碼,而將其寫入到各 21 用之記憶體175。 之〒令解碼器 另外’亦可使用之構造是使記憶體⑺ 度之A埠和η位元幅度之B埠 為1/2位兀巾田 2埠構造,在向記憶體 312XP/發明說明書(補件)/96-12/96130440 82 200825908 175之將命令碼寫入時,係經由a埠寫 a人& 時,係經由β埠讀出。 ’’’’,在々碼讀出 如圖5 5所不’經由以記愔轉 用觫踩哭74 -r 心體(RAM)175實現MIMD命令 用解碼杰74,可以獲得以 憶體Π5所保持之命令碼,平:二亦即’經由重寫記 作中,亦π w料击 丁運才衣置(MTX)即使在動 作中,亦可以變更可使用之咖命令之 本發明經由適用在具有實行平行運 = ,置可以以高速實行平 只限於平行運算處理 低之連斤不 模擬ϋ。 门叫料麵輯電路之仿真 二已ΓΓ說明本發明’但是只作舉例用,不用來限定 =解發明之範圍係由所附之申請專利範圍解釋當可 明白理解。 【圖式簡單說明】 /圖1概略地表示㈣本發明所適用之運算裝置之處理 系統之全體構造。 圖2概略地表示圖i所示之主運算電路之構造。 圖3表示圖2所示之記憶體單元塾之具體之構造。 圖4概略地表示被包含在圖3所示之ALU群組之ALU處 理元件之構造。 圖5以一I表表不操作圖2所示之主運算電路之指標暫 存器之操作命令。 圖6以-覽表表示圖2所示之主運算電路之則命令。 圖7以—覽表表示目2所示之主運算電路之ALU命令。 312Xp/發明說明書(補件)/96-12/96130440 83 200825908 圖8以一覽表表示圖2所示之主運算電路之入口間資料 移動命令。 ' 圖9以一覽表表示圖2所示之主運算電路之入口間資料 移動命令。 ' 圖10概略地表示依據本發明之實施形態i之ALu處理 單元之構造。 此 圖11以一覽表表示圖10所示之MIMD用暫存器之位元 和被指定之ΜIMD運算命令之對應關係。 圖12以一覽表表示圖u所示之MIMD運算命令之邏輯。 圖13概略地表示圖3所示之記憶體墊之指標之指定區 域。 圖14表示MIMD運算命令之構造。 圖15概略地表示圖1 〇所示之加算器之内部構造之一實 例。 圖16概略地表示圖3所示之ALU間互相連接用開關電 路圖之佈線區域。 圖17概略地表示圖16所示之丨位元和4位元移位佈線 區域之佈線配置。 圖18表示圖16所示之16位元移位佈線區域之佈線之 配置之一實例。 圖19概略地表示圖16所示之64位元和256位元移位 佈線區域之佈線之配置之構造。 圖20概略地表示與圖1〇所示之ALU間通信電路之構造 對應之佈線。 312XP/發明說明書(補件)/96-12/96130440 84 200825908 圖21表示對圖20所示之收信緩衝器之佈線之連接之一 實例。 圖22表示2位元模態之鋸齒形複製命令。 圖23表示1位元模態之鋸齒形複製命令。 圖24概略地表示鋸齒形複製模態時之資料之流程。 圖25以一覽表表示對圖1 〇所示之alu間通信電路之控 制位元和移位距離及移位方向。 圖26表示鋸齒形複製操作之一實例。 圖2 7表示4位元加算器之構造之一實例。 圖2 8表示將圖2 7所示之4位元加算器以組合電路展開 之情況時之構造。 圖29表示圖28所示之階段4之資料入口之資料之配 圖30表示圖28所示之階段4之運算對象位元之移動。 圖31表示圖28所示之階段4之運算命令決定時之命令 用位元之流程。 圖32表示圖28所示之階段4之運算操作結果時之位元 之配置。 圖3 3表示2位元計數器之一實例。 圖34表示以邏輯閘和正反器之順序電路實現圖犯所示 之2位元計數器之情況時之構造。 圖35表示圖34所示之2位元計數器之i個週期之資料 之位7〇之流程。 圖36以一覽表表示16位元資料之一起移動動作所需要 312XP/發明說明書(補件)/96-12/96130440 % 200825908 之週期數。 圖37表示本發明之實施形態1之集中處理之資料之流 程0 圖38以一覽表表示圖37所示之集中處理之入口數和必 要週期數及控制儲存區域位元幅度。 圖39以圖形表示圖38所示之列表之入口數和週期數。 圖4 0以圖形表不圖3 8所不之列表之入口數和护^制^立_ 幅度。 圖41表示本發明之實施形態1之裴置之去交錯處理時 之資料之流程。 圖4 2概略地表示利用垂直移動命令之去交錯處理日卞之 資料之流程。 ’ 圖43以一覽表表示® 41㈣42戶斤示之去交錯處理時 之入口數和週期數及動作控制用記憶區域之位元幅度。 圖44表示圖43所示之列表之入口數和週期數。 圖45表示圖43所示之列表之入口數和動作控制用記憶 體區域之位元幅度。 〜 圖46表示抗鋸齒化處理時之資料之流程。 一圖47表示目46戶斤示之抗鋸齒化處理之鋸齒化處理時之 資料之流程之一實例。
*圖48以一覽表表示32位元資料之鑛齒化處理時之週期 數和動作控制用記憶區域之位元幅度。 J 圖49概略地表示依據本發明之/施形態 元件之構造。 心儿u慝理 312XP/發明說明書(補件)/96-12/96130440 86 200825908 圖50概略地表示依據本發明之實施形態3之ALU處理 元件之構造。 圖51概略地表示依據本發明之實施形態4之ALU處理 元件之構造。 圖52表示依據本發明之實施形態5之MIMD用命令解碼 器之構造之一實例。 圖53表示依據本發明之實施形態6之MIMD用命令解碼 器之另一構造。 圖54更詳細地表示圖53所示之多工器之構造。 圖55概略地表示依據本發明之實施形態7之MIMD用命 令解碼器之構造。 【主要元件符號說明】 1 半導體運算裝置 2 主機CPU 3 記憶體 4 DMA電路 5 系統匯流排 10、49 輸入/輸出電路 12 内部資料匯流排 14 内部匯流排 15 集中控制單元 16 資料匯流排 20 主運算電路 21 控制器 312XP/發明說明書(補件)/90-12/90130440 87 200825908 i 22 暫存Is群 23 微程式儲存記憶體 24 熔絲電路 25 控制用CPU 26 命令記憶體 27 暫存器群 28 微程式庫儲存記憶體 30 記憶體單元墊 30A 、 30B 記憶體墊 32 ALU處理元件群(ALU群) 34 ALU處理元件 36wA 、 36wB 寫入用列解碼器 36rA 、 36rB 讀取用列解碼器 40A 、 40B 感測放大器群 42A 、 42B 寫入驅動器群 44 ALU間互相連接用開關電路 50、51 加算器 52 X暫存器 53 C暫存器 54 F暫存器 55 V暫存器 56 N暫存器 57 XH暫存器 58 XL暫存器 312XP/發明說明書(補件)/96-12/96130440 88 200825908 59 D暫存器 60 選擇器 61 選擇反轉電路 62 ^ 63 閘 65a 、65b、 > 66a、66b 内部資料線 67 開關電路 70 RECM暫存器 71 ALU間通信電路(RECM) 72 MIMD命令用暫存器 74 MIMD用命令解碼器 80 反相為 81 XOR閘 82 AND閘 83 X0R閘 84 AND閘 85 0R閘 87a-87g 開關電路 90 資料通信用佈線區域 91 ±1位元移位佈線區域 91a + 1位元移位佈線區域 91b -1位元移位佈線區域 92 ±4位元移位佈線區域 92a + 4位元移位佈線區域 92b -4位元移位佈線區域 312XP/發明說明書(補件)/96-12/96130440 89 200825908 93 ± 16位元移位佈線區域 93aa、93ab + 16位元移位佈線區域 93ba、93bb -16位元移位佈線區域 94 ±64位元移位佈線區域 94aa、94ab + 6 4位元移位佈線區域 94ba、94bb - 6 4位元移位佈線區域 95 ±256位元移位佈線區域 95aa 、 95ab + 256位元移位佈線區域 95ba 、 95bb -256位元移位佈線區域 100a 、 100b 佈線 101a 、 101b 佈線 102a、102b 佈線 103a 、 103b 佈線 104a、104b 佈線 115 信號線群 116 信號線 120 發信緩衝器 122 多工器 124 收信緩衝器 130a-130g 半加算器 132a-132c OR閘 150 多工器 16卜 162 反相器 163〜166 AND電路 312XP/發明說明書(補件)/96-12/96130440 90 200825908 170 多工器 175 記憶體 FBI-FBn 基本演鼻區塊 G10 、 G12 X0R閘 G11 AND閘 MM1-MMn 記憶體區域 ROM 命令圖案記憶體 r0-r3 指標暫存器 SELl-SELn 選擇器 312XP/發明說明書(補件)/96-12/90130440 91

Claims (1)

  1. 200825908 十、申請專利範圍: 1. 一種平行運算裝置,其特徵在於具備有: 資料記憶部,係具有分別具有多個位元幅度之多個之資 料入口(entry);和 多個之運算處理元件,被配置成與上述多個之資料入口 對應,在各個設定有運算内容,對所給與之資料,分別地 實行所設定之運算。 2. 如申請專利範圍第1項之平行運算裝置,其中, 各個上述運算處理元件具備有: 命令暫存器,用來儲存指定運算内容之資料; 命令解碼器,對上述命令暫存器之資料進行解碼,用來 產生規定運算内容之信號;和 運算電路,依據上述命令解碼器之輸出信號設定演算内 容。 3. 如申請專利範圍第2項之平行運算裝置,其中, 各個上述運算處理元件包含有多個之暫存器,用來儲存 在上述運算電路之運算中所利用之資料,和對上述運算施 加遮罩(mask)之遮罩資料; 而上述命令暫存器由在上述多個暫存器中之命令解碼 器之輸出所規定之命令於實行時不使用之暫存器構成。 4. 如申請專利範圍第2項之平行運算裝置,其中,上述 命令解碼器由組合電路構成。 5. 如申請專利範圍第2項之平行運算裝置,其中,上述 命令解碼器由多工器構成,係依據上述命令暫存器所儲存 312XP/發明說明書(補件)/96-12/96130440 92 200825908 之資料,分別從碼形態之多個命令之中選擇命令。 6·如申請專·圍第2項之平行運算裝置,1卜上 二令解碼器具備有以碼形態儲存多個命: f以被儲存在上述命令暫存器之資料作為位址,從上^ 命令記憶體讀出與被指定之命令 攸上述 控制信號群。 對應之命令碼作為上述 7·如申請專利範圍第丨項之平行運算裝置, =算處理元件依據上述命令暫存器之儲存資料,;: 邏輯積’邏輯和,和互斥邏輯和運算中之任 8. -種平行運算裝置,其特徵在於 =記憶部,係具有分別具❹位 與各個入口對應之多個之資料入口; 且被配置成 多個之運算處理元件,被配置 分別對被給與之資料實行所設定之運算=個入口對應, 夕個之寅料通信電路,枯钟 在對應之入口和另外一個入口之間進口對應’分別 多個之資料通信電路分別設定有資:;料通信;二上述 和方向。 π貝卄移動之入口間距離 9. 如申$專利範圍第&項之平曾 上述資料通信電路具備有: 運#凌置,其中,各個 移動資料暫存器,用來儲存設定 一 多工器,依據上述移動資料暫存哭之,量之貧料;和 轉送路徑。 %之储存資料設定資料 3麵發明說明書(補件)抓12/9613〇44〇 93 200825908 被運瞀之資S' 備有多個之暫存器,用來儲存 運开之貝枓,和將運算遮罩之遮罩資料; 二欠、、上述移動資料暫存器由在上述多個暫存器中之上、才、 貧料移動時不使用之暫存器構成。 a 11·如申請專利範圍帛8項之平 移動量之移動資料係用來指定包丄; 二之多個資料移動量中之1個之資料移動 時,循環地指定該:象“過取上位或最下位之入口 L2.一種平行運算裝置,其特徵在於具備有: 入二分別具有多位元幅度’和具有被配置成與 入口對應之多個之資料入口; 八二處f元件’被配置成與上述多個人口對應, ^;和认疋運异内容,對被給與之資料實行被設定之運 分=Γ通信電路,被設置成與上述多個入口對應, 上if夕個…之^入口和另外一個入口之間進行資料通信;而 上返多個之貨料通信電路合 距離和方向;1°電路刀別°又疋有貧料移動之入口間 路運算處理元件之運算内容和資料通信電 内所12里之貧料’被設定在位於上述運算處理元件 用之二I次#以儲存被演算之資料和用以儲存遮罩運算 之遮罩貝料之多個暫存器中之空的暫存器。 312ΧΡ/發明說明書(補件)/^-1^6130440 94
TW096130440A 2006-08-21 2007-08-17 Parallel operation device TW200825908A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006224244A JP2008047031A (ja) 2006-08-21 2006-08-21 並列演算装置

Publications (1)

Publication Number Publication Date
TW200825908A true TW200825908A (en) 2008-06-16

Family

ID=39180680

Family Applications (1)

Application Number Title Priority Date Filing Date
TW096130440A TW200825908A (en) 2006-08-21 2007-08-17 Parallel operation device

Country Status (3)

Country Link
US (2) US7769980B2 (zh)
JP (1) JP2008047031A (zh)
TW (1) TW200825908A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI499907B (zh) * 2009-07-17 2015-09-11 Genesys Logic Inc 快閃記憶體之平行處理架構及其方法

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090254694A1 (en) * 2008-04-02 2009-10-08 Zikbit Ltd. Memory device with integrated parallel processing
JP2010003151A (ja) 2008-06-20 2010-01-07 Renesas Technology Corp データ処理装置
US8139668B2 (en) * 2009-03-31 2012-03-20 Mitsubishi Electric Research Laboratories, Inc. Unified STTC encoder for WAVE transceivers
IL210169A0 (en) * 2010-12-22 2011-03-31 Yehuda Binder System and method for routing-based internet security
CN104699219B (zh) * 2013-12-10 2020-06-23 联想(北京)有限公司 一种电子设备及信息处理方法
RU2571376C1 (ru) * 2014-11-21 2015-12-20 Открытое Акционерное Общество "Информационные Технологии И Коммуникационные Системы" Способ и устройство для параллельной обработки цифровой информации в вычислительной системе
US11132253B2 (en) 2018-12-06 2021-09-28 Micron Technology, Inc. Direct-input redundancy scheme with dedicated error correction code circuit
KR20210093521A (ko) 2020-01-20 2021-07-28 삼성전자주식회사 고대역폭 메모리 및 이를 포함하는 시스템

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0428770B1 (de) * 1989-11-21 1995-02-01 Deutsche ITT Industries GmbH Datengesteuerter Arrayprozessor
US5404550A (en) * 1991-07-25 1995-04-04 Tandem Computers Incorporated Method and apparatus for executing tasks by following a linked list of memory packets
JPH0713757A (ja) * 1993-06-28 1995-01-17 Mitsubishi Electric Corp データ処理装置
US5673407A (en) * 1994-03-08 1997-09-30 Texas Instruments Incorporated Data processor having capability to perform both floating point operations and memory access in response to a single instruction
US5487022A (en) * 1994-03-08 1996-01-23 Texas Instruments Incorporated Normalization method for floating point numbers
US6079008A (en) * 1998-04-03 2000-06-20 Patton Electronics Co. Multiple thread multiple data predictive coded parallel processing system and method
US6272616B1 (en) * 1998-06-17 2001-08-07 Agere Systems Guardian Corp. Method and apparatus for executing multiple instruction streams in a digital processor with multiple data paths
US6397324B1 (en) * 1999-06-18 2002-05-28 Bops, Inc. Accessing tables in memory banks using load and store address generators sharing store read port of compute register file separated from address register file
US6735690B1 (en) * 1999-06-21 2004-05-11 Pts Corporation Specifying different type generalized event and action pair in a processor
JP3902374B2 (ja) * 2000-02-18 2007-04-04 三菱電機株式会社 バイエンディアン複数命令長実行方法
US6816961B2 (en) * 2000-03-08 2004-11-09 Sun Microsystems, Inc. Processing architecture having field swapping capability
US7028170B2 (en) * 2000-03-08 2006-04-11 Sun Microsystems, Inc. Processing architecture having a compare capability
US6941446B2 (en) * 2002-01-21 2005-09-06 Analog Devices, Inc. Single instruction multiple data array cell
JP2006127460A (ja) * 2004-06-09 2006-05-18 Renesas Technology Corp 半導体装置、半導体信号処理装置、およびクロスバースイッチ
US20060126726A1 (en) * 2004-12-10 2006-06-15 Lin Teng C Digital signal processing structure for decoding multiple video standards

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI499907B (zh) * 2009-07-17 2015-09-11 Genesys Logic Inc 快閃記憶體之平行處理架構及其方法

Also Published As

Publication number Publication date
US7769980B2 (en) 2010-08-03
JP2008047031A (ja) 2008-02-28
US20100325386A1 (en) 2010-12-23
US20080052497A1 (en) 2008-02-28

Similar Documents

Publication Publication Date Title
TW200825908A (en) Parallel operation device
CN107729989B (zh) 一种用于执行人工神经网络正向运算的装置及方法
US10157138B2 (en) Array of processing units of an image processor and methods for calculating a warp result
CN1326061C (zh) 流形阵列处理方法和装置
ES2300633T3 (es) Coprocesador canalizado.
CN110163363B (zh) 一种计算装置及方法
WO1992018935A1 (en) Data processor and data processing method
TWI525537B (zh) 具有為向量衝突指令與置換指令所共享的全連接互連的處理器
TW200416594A (en) Improved computing architecture and related system and method
JPH0922404A (ja) 同報通信プロセッサ命令を備えたアレイ・プロセッサ通信アーキテクチャ
JP2001509336A (ja) フィールドプログラマブルプロセッサデバイス
JPH0773149A (ja) データ処理システムとその方法
JPH11251442A (ja) 再構成可能プロセッサデバイス
CN103959238A (zh) 使用gpu/cpu体系结构的rsa的高效实现
CN105912501A (zh) 一种基于大规模粗粒度可重构处理器的sm4-128加密算法实现方法及***
EP3605544B1 (en) Image processor comprising a shift register with reduced wiring complexity
JP2019521445A (ja) Simdアーキテクチャにおけるレーンのシャッフルのためのシャッフラー回路
CN105975251A (zh) 一种基于粗粒度可重构架构的des算***迭代***及迭代方法
JP2011141823A (ja) データ処理装置および並列演算装置
JP3458518B2 (ja) 並列プロセッサ
KR100722428B1 (ko) 리소스 공유 및 파이프 라이닝 구성을 갖는 재구성가능배열구조
US20220070116A1 (en) Image processor and methods for processing an image
Kyparissas et al. An FPGA-based architecture to simulate cellular automata with large neighborhoods in real time
JP5370352B2 (ja) Simd型プロセッサアレイシステム及びそのデータ転送方法
WO2007099950A1 (ja) 高速pe間データ再配置機能を有するプロセッサアレイシステム