TW476887B - Data processor comprising an arithmetic logic unit - Google Patents

Data processor comprising an arithmetic logic unit Download PDF

Info

Publication number
TW476887B
TW476887B TW089111731A TW89111731A TW476887B TW 476887 B TW476887 B TW 476887B TW 089111731 A TW089111731 A TW 089111731A TW 89111731 A TW89111731 A TW 89111731A TW 476887 B TW476887 B TW 476887B
Authority
TW
Taiwan
Prior art keywords
data
instruction
stack
alu
logic unit
Prior art date
Application number
TW089111731A
Other languages
English (en)
Inventor
Marc Duranton
Original Assignee
Philips 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
Priority claimed from US09/333,633 external-priority patent/US6405301B1/en
Application filed by Philips Corp filed Critical Philips Corp
Application granted granted Critical
Publication of TW476887B publication Critical patent/TW476887B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • G06F9/30134Register stacks; shift registers
    • 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/3853Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution of compound instructions
    • 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
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/57Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical 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/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30029Logical and Boolean instructions, e.g. XOR, NOT
    • 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/3004Arrangements for executing specific machine instructions to perform operations on memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/32Address formation of the next instruction, e.g. by incrementing the instruction counter

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Executing Machine-Instructions (AREA)
  • Image Processing (AREA)

Description

476887 五、發明說明(1) 本發明係有關藉由一算術邏輯單元及一堆疊共同操作之 資料處理。本發明能以一處理器形式而例如應用在包含一 控制器之多媒體產品,用以將控制資料提供給各種不同的 功能%元。 一算術邏輯單元(ALU)典型可在亦稱為運算元的兩輸入 資料上實施一運算,如此對便可獲得一輸出資料。ALU實 施的操作通常能以位元串流的形式而透過亦稱為微碼的一 指令所定義。該指令可使ALU實施一算術運算,例如,一 加算:Z = X + Y ; X和γ係表示輸入資料及z輸出資料。該指令 亦可使ALU實施一邏輯運算,例如_ANI)、〇R、NAND、或 NOR功能。 ALU可與堆疊共同操作。一堆疊是儲存元件的組合,每-個儲存元件係包含資料。很快可由A l u處理的輸入資料可 暫時儲存在堆疊。來自ALU的輸出資料亦可暫時儲存在堆 疊。一堆疊指標通常指示構成堆疊頂端的儲存元件。在 疊放置的一資料通常會寫入堆疊頂端,而且從堆疊移除 一資料通常亦可從堆疊頂端讀取。將資料寫入及從堆疊 取可稱^推入及取出。通常,ALU的輸入資料可透過將資 料從堆《取出而獲得,而且輸出資料可透過將資料推入堆 疊而儲存。以此方式作之一處理器在案號w〇95/3〇9 54出版 的國際專利中是稱為一以堆疊為基礎之處理器。 本發明的一目的在允許降低成本。
476887 五、發明說明(2) 係進一步包含用以儲存資料之一堆疊。在該堆疊具有某一 位置的資料可當作第一輸入資料而提供給算術邏輯單元。 該資料處理器可執行包含一位址的一指令,用以指示在複 數記憶體位置之中的一記憶體位置。該位址可使在記憶體 位置中所包含的資料當作第二輸入資料而提供給該算術邏 輯單元。 本發明採用下列觀點的考慮,其通常需要一以堆疊為基 礎之處理器的某些步驟數目,以實行一算術或邏輯運算。 由A LU實施的算術或邏輯運算本身可組成一步驟。一或多 個額外步驟是需要,以使想要的輸入資料可提供給ALU。 此額外步驟通常包括例如一或多個推入或取出操作或兩組 合的堆疊處理。大體上,每個步驟需要至少一時脈週期。 結果,它通常採用一以堆疊為基礎之處理器的數個時脈週 期以實施一算術或邏輯運算。亦即資料處理將會較慢。結 果,在一相當短暫時間間隔内需要實行一連串算術與邏輯 運算的一以堆疊為基礎之處理器必須使用相當快的元件實 施。此實施是相當昂貴。 上述速度問題的一解決係使用一以暫存器為基礎之處理 器,用以取代一以堆疊為基礎之處理器而實施算術與邏輯 運算。在一以暫存器為基礎之處理器中,ALU的輸入資料 可取代一堆疊配置而儲存在一組暫存器。ALU的想要輸入 資料可透過定址兩暫存器而從暫存器組取得,其中每個暫 存器可提供ALU的輸入資料。因此,一以暫存器為基礎之 處理器的一指令係包含兩位址欄位。每個位址欄位係包含
476887 五、發明說明(3) 一值,用以指示在暫存器組之中的一特殊暫存器。結果, 它通常需要比一以堆疊為基礎之處理器為少的一以暫存器 為基礎之處理器的時脈週期,以便將想要輸入資料提供給 ALU。結果,一以暫存器為基礎之處理器可使用相對較一 堆疊為基礎之處理器相比較較慢的元件實施。在這一點 上,一以暫存器為基礎之處理器應允許更經濟有效實施。 · 然而,需要儲存定義一連串算術與邏輯運算的一軟體程 式之記憶體量從成本的觀點可扮演一重要角色。當儲存軟 體程式的記憶體形成主要不是一記憶體電路的積體電路部 分時,此特別會是真實的。此一應用的範例是一積體電路 φ 形式的數位信號處理器,該積體電路係包含用以儲存所謂 内建軟體之一記憶體。此一記憶是相當昂貴。 從記憶體成本的觀點,其始終不是立刻很清楚哪一類型 的處理器、以堆疊為基礎、或以處理器為基礎是較多的優 點。在一方面,它通常需要較多的指令用以使一以堆疊為 基礎之處理器實施一算術或邏輯運算,使一以暫存器為基 礎之處理器做相同的事情。因此,從指令數目的觀點而 言,一以暫存器為基礎之處理器比一以堆疊為基礎的處理 器更有效率。另一方面,一以暫存器為基礎之處理器的一 指令比一以堆疊為基礎之處理器的指令較長。此理由是一❿ 以暫存器為基礎之處理器係如前述係包含兩位址攔位,然 而一以堆疊為基礎之處理器未包含任何位址欄位。因此, 從指令長度的觀點而言,一以堆疊為基礎之處理器比一以 暫存器為基礎之處理器更有效率。哪一類型的處理器、以
第7頁 476887 五、發明說明(4) — 堆疊為基礎、或以暫存器為基礎允許某一功能的最小軟體 程式係決疋在功此本身。根據本發明,一處理器係包含 功能上類似暫存器的一堆疊及複數記憶體位置。處理器处 以如下所示操作。在一堆疊中具有某一位置的資料可;^ 一第一輸入資料而提供給ALU。來自一記憶體位置(暫^ 器)的貧料可當作一第二輸入資料而提供給ALU。提供 輸入資料的記憶體位置可經由在一指令中的位址而定址y 因此,第二輸入資料不需要在堆疊上,其亦不必 在堆疊上的某一位置。結果,根據本發明的一處理器需 一以堆疊為基礎之處理器為少的堆疊處理。結果,根 發明的一處理器需要比一以堆疊為基礎之處理器為少的 令,從記憶體成本的優點,此會是優點。而且,根 = 期 效 明需要比一以堆疊為基礎之處理器為少的一處理哭 ^ :以實行一算術或邏輯運算。此進一步使成本ς濟有週 此外,根據本發明的一處理器允許指令只包含一位 結果,根據本發明的一處理器允許指令短於一二】=二 ΐ礎之ίί!的指令。同樣地’Λ可減少記憶體成本。: 卜,裉據本發明的一處理器之軟體程式通常不 暫存器為基礎之處理器的一類似軟體程式更 以 理由這是一算術或邏輯運算的—結果通常放置在;:浐: 育料提供給AU的堆疊位置上,而的確時常發生,姓輪入 =:隨後運算的輪…。結果,需要相對較少;堆果二
第8頁 476887 五、發明說明(5) 簡言之,從指令數目的觀點,根據本發明的一處理器是 有效率的,而且從指指令長度的觀點亦是有效率的。結 果,本發明允許較小的軟體程式可儲存在一相當小的記憶 體。結果,本發明允許經濟有效的成本。 本發明的這些及其他觀點可從下面連同附圖的描述而變 得更顯然。 · 圖1係描述如申請專利範圍第1項之本發明的基本特徵及 如申請專利範圍第2項之額外特徵的一觀念圖。 圖2係根據本發明而描述一多媒體裝置範例方塊圖。 圖3係描述在圖2所述在多媒體裝置中的一影像輸出單元 φ 程控方法之矩陣。 圖4係描述影像輸出單元必須提供給一顯示裝置之影像‘ 圖框觀念圖。 圖5係描述一連串主要指令流程圖,這些指令是提供給 在影像輸出單元中的一事件控制處理器。 圖6係描述主控制處理器的一實施方塊圖。 圖7係描述在主控制處理器的各種不同類型指令與在這 些指令中所包含位元之間的一關係。 圖8係描述主控制處理器執行指令的方式圖式。 下列說明係有關參考符號。類似實體是透過在所有圖中 馨 的相同字參考表定。數個類似實體可在單一圖出現。在此 情況,一數字或一字尾係加入字參考,為了要區別類似的 實體。數字或字尾為了方便可省略,或在值不重要(可忽 略值)情況可透過一星號取代。此適用於描述與申請專
第9頁 476887 五、發明說明(6) 利。 圖1係詳細描述本發明的基本特徵。一資料處理器係包 含一算術邏輯單元[ALU],用以在一第一及第二輸入資料 [0P1、0P2 ]上實施一算術或邏輯運算。它係進一步包含用 以儲存資料的一堆疊[STCK]。在堆疊具有某一位置的資料 可當作第一輸入資料[0P1]而提供給算術邏輯單元[ALU]。 資料處理器可執行包含一位址[ADDR]的指令[INSTR],用 以指示在複數記憶體位置之中的一記憶體位置[REG ( i )]。 位址[ADDR ]可使在記憶體位置[RFG( i )]中包含的一資料當 作第二輸入資料[0P2]而提供給算術邏輯單元[ALU]。 圖1係進一步以虛線描述一額外特徵。各種不同堆疊位 置[P ]可形狀複數記憶體位置的部份,其任何的記憶體色 置可透過在指令[INSTR]的位址[ADDR]表示。即是,堆疊 [STCK]可包含在藉由在指令[INSTR]的位址[ADDR]而定 址。因此,它可經由單一指令而在頂端堆疊資料及在堆疊 的任何其他資料上定義一算術或邏輯運算。 圖1所述的特徵可應用例如在一控制處理器,該控制處 理器可形成例如一多媒體裝置的一多重處理器配置部分。 控制處理器可執行一組指令,可使控制處理器將控制資料 提供給在多重處理器配置中所包含的各種不同處理器。指 令組可整個或部份包含在一内部程式記憶體。 圖2係描述結合圖1所述特徵的一多媒體裝置範例。該多 媒體裝置處理包含編碼影像資料的輸入資料I N,以致於在 其他方面可提供適合在一顯示裝置上顯示的一影像資料流
O:\64\64843.ptd 第10頁 476887 五、發明說明(7) """ " """' ~一" --— 麵·"一——一 VDS。該多媒體裝置包含一主取 一中央處理單元CPU、—主於、-主匯流排HWY、 主處理器。以處理器分^Λ暫—存/REG、及各種不同的 像輸出單元HDVO。影像輸出=1 ^像解碼器VDEC及一影 MCP及下列資料處理元件.—疋 包含一主控制處理器 mB/R、記憶體區物、處理界;^讀㈣π、-寫 so。串流輸出電路so包括 ^ 串流輸出電路 在圖2顯示的控制暫存哭呈# i ^另控制暫存器。未 控制暫存器係包含—V端;有存如器圖 多媒體裝置基本操作如下 ^,暫存器。 由主指令字而控制多媒體裝置的各種不;理:元cpu可藉 可拾取來自例如—外部主乂憶種不同几件。主界面
憶體未在圖2顯示。影像解碼|/DEc可2入貧料ΙΝ。此記 中所包含的編碼影像資料。 解碼在輸入資料IN 得,而可暫時儲存在外的影像資料可獲 合在一特殊顯示裝置上顯示的以二:像輸出單元靡適 輸出單元HDV0可結合編碼 f料^貝料。此外,影像 便可提供例如特殊影像或混合之他影像資料,如此 影像輪出單元HDV0的操作現要更二 β 元《_交替實施建構步驟及處理c。影像輸出草 主控制處理器MCP可將一載入命八在—建構步驟中, 控制暫存器。先前提到每個控制:存'、?料處理元件的 -前端暫存器及一影像暫存器制::\包:如圖3所述的
衫像暫存器可隨I
第11頁 476887 五、發明說明(8) 載入,令而載入在前端暫存器所包含的一指令字。因此, 指令字可決定在完成建構步驟的處理步驟期間的資料處理 元件,作、。,如,在問Χβ/? *χβ/κ的影像暫存器中載入的 指令字可決定在一方面的記憶體區塊腳及在另一方面的界 面串流輸出電路SO、肖處理器ρ之間的連接。當影像 暫存載入才日令予時,一 #制射左奖、—p aJ. ^ 徑制暫存器可將一建構完成信號 提供給主控制處理器MCP。當主控制處理器Mcp接收來自所 有資料處理元件控制暫存器的接收建構完成信號時,主控 制處理器MCP便可將一開始處理/ j 处段1σ唬袪供給處理器P。開始 處理信號可標記一處理步驟的開始。 在一處理步驟中,每個處理哭. 处 P處理可處理在處理器P連 接的一記憶體區塊MB中所儲存的一牲A . ^ r 将定像辛數目。一處理 器P在一處理步驟處理的像素數目不扣 、 素數目可例如透過一指令字定義目不^過256.要處理^象 時’主控制處理器MCP可藉著寫新的;4人理=處理=理 W和令字寫入貧料處理 :件的前端暫存器而組成-新的vuw。只要一處理㈤已 處理它的像素數目’它便會停止處理,並且 運算結束 信號傳送給主控制處理器MCP。當所古# ^ 、宏瞀 ^ ^ 田尸汁有處理器P已將一運异 結束信號提供給主控制處理器MCP味 ^ ^ ^ 土 上祕 ^ ,處理步驟便會結 束。在響應上,主控制處理器Mcp蔣 ^ ^ . ^將可實施一新的建構步 驟0 因此,影像輸出單元HDV0能 像資料。例如,在一第一處理 像素的一區塊經由寫閂XB/W寫 以—區塊方式處理解碼的影 步驟中,界面IF可將256個 入記憶體區塊MB1。在一第
4i^887
-處理步驟中,虛搜突P 1 素區塊,並且將它#理^ 〃記憶體區塊01讀取2 56個像 像遽波器,可產s ^ Η 2如’處理器p 1可以是—水平影 因此,處理ϋρ1ΐ=線的數個像素之-加權組合。 區塊寫人Μ Μ細像素的—區塊,並且將此 Ρ2可從記憶體區塊ΜΒ2讀取水平^ =步驟中,處理器 將它處理。例如,處千 '慮像素區塊’並且 ίΐ素屬線=rr 一加權組合。…平過 條之水平過濾像素之上i理=便:讀取屬於相鄰線 水平盥垂禍I ^ i &塊因此,處理器P2便可提供 ei 3 ΛΓ,ΓΛ ν ^ ^ ^ Ρ4、或雨步的處理步驟,其中處理器ρ3或… 濾像素的ΐ:理=憶體區塊ΜΒ3中包含水平與垂直過 i準備π:邮精由軛例,假設水平與垂直過濾像素的區 iiί成份的影像資料流vds。因此,在一第四處理 Γ電路so=該區塊將可從記憶體區塊MB3轉送給串流輸 出電路SO的緩衝器BUF。
二輸出電路so通常在每個處理步驟可接收處理過的 =二W田亚且將它儲存在它的缓衝器BUF。串流輸出電路 可k用以提供影像資料流VDS的緩衝器BUF讀取處理過' 像素。例如從線頻率、圖場頻率、每線條的像素數目、 ^,1έ ^ f,i ^ # # ^ ^ 流 ύ心要格式的涊知。控制器C0N能使處理過的像素可立 及以想要的速率而從緩衝器BUF讀取。控制器⑶N可進一
五、發明說明(ίο) 控制多工器MUX ,嗲炙丁扭π & 同步信號H S的數個^制接收像素及例如水平與垂直 立即在像素之間】^ 因此,適當的控制信號可 的=處=輸trv。是由下列資料處理元件組成 r二 鍵·界面IF、讀閃XB/W、窵問XR/1?、々暗鲈 區塊MB、處理器p、及 5己隐體
可決定資枓声饰以& 粉出私路如。主控制處理器MCP 的組成…可決定在鏈中每-元件的 入資料,理:㉟制處理器mcp係透過將適當指令字寫 M C Ρ Λ^ ^ f,i ^ ^ 1 ^ Λ ^ ^ ^ ^ ^«1 4 通、種不同機器的製造通道的一監工。製造 口係付合影像輸出單元HDV〇,而且 二 :早感V”的資料處理元件。該監工是由一生ί;ί輪 ^並且可命令機器做什麼。該生產線係符合資料:;; 的線條數目及每線條的像素數目的觀點,可假 = = =,出單元HDV0必須將單一影像信號從一格式轉換= 理鍅;ί c此可透過包含適當水平與垂直過濾的-資料户 义’次成。在格式轉換開始上,在資料處理鏈完全操^ 刖L負料處理鏈首先必須填滿像素。在格式轉換結束 在貝料處理鏈停止或耗損之前,資料處理鏈必須是空 例^ ^當要轉換的影像信號像素的第一區塊提供=#德 輸出單元HDVO時,只有在資料處理鏈開始上的資料處=一 件應動作。此時,記憶體區塊MB仍然未填滿圖框像素 = 著每個處理步驟,越來越多的記憶體區塊將會填滿像素隨 476887 五、發明說明(11) 而且越來越多的資料處理元件可變成動作。此可持續,直 到在資料處理鏈的每個記憶體區塊MB使用像素填滿為止。 資料處理鏈然後可完全操作,而且串流輸出電路SO可啟動 以提供像素。 圖3係描述影像輸出單元H D V 0的一程控方法。圖3是一矩 陣。此矩陣的欄係表示資料處理元件。更明確而言,一欄 係表示有關資料處理元件的一影像暫存器。矩陣的該等列 係表示處理步驟PS。矩陣的該等單元係表示指令字。一 VLIW是單元的一組合,而該等單元係屬於該矩陣的某一 列;即是,一VLIW是一處理步驟PS的指令字之一組合。一 VL I W係定義有關資料處理元件應平行實施的操作。 主控制處理器MCP能以各種不同的方式組成一 VL I W。教 如,主控制處理器M C Ρ可藉著將一指令字寫入每個控制暫 存器而組成一特殊處理步驟的VLIW ^然而,主控制處.理:器 MCP亦可藉著將指令字寫入一或多個特殊控制暫存器而組 成一 V L I W,然而,它並未將指令字寫入其他控制暫存器。 後者的控制暫存器可保存在前述處理步驟中所包含的指令 字。 在圖3描述的矩陣係對應於例如一圖框的顯示。處理步 驟P S [ 1 ]是實施的第一處理步驟,為了要顯示一圖框,而 且處理步驟P S [ N ]是最後的處理步驟。例如,假設一圖框 具有7 0 0線條,而每線條有1 0 2 4個像素。可進一步假設在 一處理步驟中,2 5 6個輸出像素典型係提供給串流輸出電 路SO。此表示在影像信號中每線條典型有四個處理步驟
〇:\64\64843.ptd 第15頁 476887 五、發明說明(12) PS,結果,每個圖框將有四倍的7 〇 〇個處理步驟,其中每 個圖框有2 8 0 0個處理步驟·· N = 2 8 〇 〇。 最,=二些處理步驟PS係構成一圖框顯示的開始相位’ 而且农後的一些處理步驟PS係構成—結束相位。如前述, 處理鏈必須^滿,而且逐步變成空白。在開始相位及在結 束相:二c ’有至少一資料處理元件在一處理步驟的 T指:Πί隨後的處理步驟中由—不同的指令字所取 Ϊ: 立與結束相位’此進一步暗示每個處理步驟 + i 鍤π π 。在開始相位與結束相位之間的處理步驟亦 mmiwv如果相同的處理鏈在整個圖框期 m : 開始相位與結束相位之間的整個處 ,s二广_ & $例如,此可以是如果影像輸出單元HDVO只必 須將#號影像從一格式轉換成另一格式。 -- ^4係描述影像輸出單元HDV〇必須提供給—顯示 :Ϊ円4 /框是由插入一子影像SPIC之—主影像MPIC所 從透過由圖2顯示的主控制處理器Mcp實施的控I: FZ6 點’母個圖框區域F Z係有關於一特殊相位。 在圖框區域FZ1中,主控制處理器MCp可建立 顯示的一處理鏈。在圖框區域FZ2中,主控制處理衫「 、、隹持後者的處理鏈。圖框區域FZ2係包含X個線 σ ^ 是整數值。在圖框區域FZ3中,主控制處理器中Χ 以顯不主影像MPIC的處理鏈,並且建立用以可知頓用 MPIC及在此插入子影像spic 處 η『主影像 仕圖樞區域FZ4
第16頁 476887 五、發明說明(13) ----- 中,主控制處理器MCP可維持後者處理鏈。圖框區域FZ4係 包含Y個線條,其中Y是整數值。在圖框區域FZ5中,主控 制處理器MCP可停頓處理鏈,用以顯示主影像Mplc及在此 插入的子衫像S p I c,並且重新建立處理鏈,用以顯示主影 像MPIC。在圖框區域FZ6中,主控制處理器MCp可維持後者 的處理鏈。圖框區域FZ6係包含Z個線條,其中z是整數 值。 圖5係描述提供給主控制處理器MC p的一連串主要指令 Μ 11 -Μ I 8 ’為了要實施前述的控制動作。主要指令M n可使 主控制處理器MCP執行在一内部記憶體中所儲存的副常式 STRT一MAIN。主要指令…1可以是例如副常式STRT-MAIN的 開始位址。副常式SIRT_MAIN的執行可產生一連串的 一 VLIWs,供在一圖框區域1^1中所包含的處理步驟。對於每 個處理步驟而言,一不同的VL〗w可產生及提供給影像輸出 單元HDVO的資料處理元件。一連串的VLIWs可透過處理步 驟而使處理鏈用於顯示建立處理步驟之主影像。 主指令MI2可使主控制處理器MCP連續執行X次的一副常 式ΜΑΙΝ:ΧχΜΑΙΝ。副常式MAIN的執行可產生一VLIW,其可 應用於一線條所包含的處理步驟。因此,此V L I W可應用在 整個圖框區域F Z 2。它可使資料處理元件實施用以顯示主 影像MP 1C所需的處理。 主要指令Μ I 3可使主控制處理器MC P執行一副常式 END_MA IN。副常式END_MAIN的執行玎產生一連串的 VLIWs,用於在圖框區域!?23的一上半部中所包含的處理步
第17頁 476887 五、發明說明(14) 驟。對於每個處理步驟而言,一不同VLIW可產生及提供給 影像輪出單元H D V 0的資料處理元件。一連串的V L I W s使得 用於顯示主圖像之處理鏈會被以一個處理步驟接著一個處 理步驟方式分解。 主要指令ΝΙ4可使主控制處理器MCP執行一副常式 STRT 一 PIP。副常式STRT_PIP的執行產生一連串的VLIWs, 用於在圖框區域F Z 3的一下半部中所包含的處理步驟。對 於每個處理步驟而言,一不同的VLIW可產生及提供給影像 輸出單元HDVO的資料處理元件。一連串的VLIWs使得用於 以插入其中之次圖像SPic顯示主圖像MPIC的處理鏈會以一 個處理步驟接著一個處理步驟方式建立。 主要指令MI 5可使主控制處理器MCP連續執行Y次的一 常式PIP :YxPLP。副常式PIP的執行可產生運用於在一線 條中所包含處理步驟的一 V L I W U丨因此,此v L I W可應用在整 個圖框區域FZ4。它可使資料處理元件執行用以顯示具插 入子應像SPIC的主影像MPIC所必_需的處理。 主要指令MI 6可使主控制處理器MCP執行一副常式 END 一 PIP。副常式END —PIP的執行可產生一連串的VLIWs, 用於在圖框區域FZ5的一上半部中所包含的處理步驟。.對 於每個處理步驟而言,一不同的VLIW可產生及提供給影像 輸出單元HDVO的資料處理元件。一連串的VLIWs可透過處 理步驟而使處理鏈用於顯示具插入子影像SP丨c之主影像 MPIC,而該主影像MPIC可停頓處理步驟。 主要指令Μ I 7可重新使主控制處理器μ C P執行副常式
O:\64\64843.ptd 第18頁 476887 五、發明說明(15) -- STRT一MAIN其中副常式在先前已描述。主要指令可使 主控制處理器MCP連續執行Z次的副常式MAIN : ZxMAIN。副 常式ΜΑ I N先前已描述。 可說是已提到,主控制處理器MCP可視為各種不同機器 的製造過道的一監工。製造過道符合影像輸出單元帅”, 而且機器符合在影像輸出單元HDV0的資料處理元件。主要 指令Μ I可說視為監工從管理員接受的製造命令。監工可將 一製造命令翻譯成機器指令。可同時平行攜帶的指令之一 收集係符合VLIW。 主要指令Μ 11可視為一命令以開始一產品Α的一生產線。 主要指令ΜΙ2可視為一命令,以便在此生產線上生產產品a 的X樣品。主要指令MI 3和MI4看視為停頓產品a的生產線〜友 開始一產品B生產線的命令。主要指令MI5可視為一命令以 便在此產線上生產產品B的Y樣品等等。 圖6係描述在圖2所示主控制處理器Mcp的一實施。主控 制處理器MCP可經由在圖2亦顯示的主匯流排HWY而與影像 輸出單元H D V 0的外部元件溝通。例如,主控制處理器Μ ς p 可藉由主匯流排HWY接收主要指令。主控制處理器Mcp可藉 由一控制匯流排CBUS而與在影像輪出單元HDV〇中的資料處 理元件溝通。例如,主控制處理器可將指令字藉由控制匯 流排C B U S而傳送給資料處理元件。主控制處理器μ c p可進 一步經由連接XC而接收資料來自及將資料傳送給在影像輸 出單元HDVO中的記憶體區塊MB。
主控制處理器MCP係包含一主匯流排介面HWYI NT、一控
第19頁 476887 五、發明說明(16) 制匯流排介面CBUSINT、一算術邏輯單元ALU、包括一程式 σ十數器PC的暫存器REG之一組合、中斷單元的一組合、 一計算堆疊CSTCK、一傳回堆疊RSTCK、一程式記憶體 PMEM、一資料記憶體DMEM、及一直接記憶體存取電路 DMAC。計算堆疊CSTCK與傳回堆疊RSTCK之其中每個具有一 堆疊指標。該堆疊指標係定義在有關堆疊中相對儲存元件 的位置。在計算堆疊CSTCK中的頂端堆疊位置與第二堆疊 位置以下分別稱為T0S與sos。傳回堆疊RSTCK的頂端堆疊 位置與第二堆疊位置以下可分別稱為與8抑。 =控制處理器MCP基本操作如下所示。程式計算器pc係 =1典型可隨著每個時脈週期增量的一程式計數值。該程 數值可藉著將一新的程式計算值寫入程式計數器pc^ 文。程式计數值可構成程式記憶體pMEM的一位址,其中 為μΠ處理15 MCP的指令可被儲存。這些指令以下將可稱 ?。、一 MCP指令係定義算術邏輯單元ALU實施的一 聶可進一步定義用以控制傳回堆疊RSTCK與計算堆 ^ ^ ,下面將更詳細說明。用以產生如前述VLIWS之一 岫书式可透過一組MCP指令形成。 曰參ί t 7 5下列方式館存在程式記憶體PMEM。指令組 :产4二媒、肢义置外部的-來源而經由主匯流排HWY載入 細藉由連接κ而複製t:可從記憶體複區 ΡΜΕΜ包含數排。在此^私式記憶體ΡΜΕ1。程式記憶體 -排所包含的指令時:白當主控制處理器MCP執行在另 呀 采自記憶體區塊MB的安裝便可複製
第20頁 476887 五、發明說明(17) 給一排。 一指令能以下列方沬^ t 力乃式儲存在記憶體區塊MB。一第一 體區塊MB1係包含指令的-最有效部…第二記憶體區隐 塊MB2的中間有效部份、及_第三記憶體區塊㈣的最 效部份,而每部份包含例如8個位元。當這些部份傳送/ 程式記憶體PMEM時,共同形成包含24個位元之一指令。、、" 應注意到儲存指令的記憶體區塊Μβ可附加給儲存要處理次 料的記憶體區塊MB。即是,多媒體裝置可包含數組的記= 體區塊,例如,一組用於資料且另一組用於控制,每組二 憶體區塊具有它本身的閃。 下列是MCP指令的一語法範例。一MCp指令係包含24個位 元:b2 3-bO。位元b23係定義一 MCP指令是否為無條件或'肴 條件。如果MCP指令的位元b23具有值0(零),一 MCP指令便 是無條件。一無條件的MCP指令始終可執行。如果μCP指令 的位元b23具有值1 ( 一),一MCP指令便是有條件。一有條^ 件的MCP指令只可在某一暫存器中的最低有效位元具有值 〇(零)執行。位元b22、b21、和bl2可用來在不同類型的 MCP指令之間區別。任何類型的MCP指令可以是無條件或有 條件。如果MCP指令的位元b22具有值1( 一),一MCP指令便 是一類型0指令。類型〇指令可用來將資料寫入例如暫存器 的内部記憶體位置。一類型0指令的位元b2 1 -b 1 2可構成寫 入的資料。位元bl Ι-bO可定義寫入資料的一記憶體位置之 位址。如果記憶體位置具有大於1 〇個位元的一大小,資料 是有符號的延伸。
第21頁 476887 五、發明說明(18) 如果位元b 2 2和b 2 1皆是零(〇 ),一 M C P指令便是類型1或 類型1 Α指令。類型1與類型1 a可用來處理資料。此外,如 果位元bl2具有值零(〇),一MCP指令在是類型1指令,一類 型1指令的位元b 1 1 -b0係定義一位址。在此位址下所儲存 的資料可形成算術邏輯單元ALU的輸入資料。如果位元b 1 2 具有值一(1 ),一MCP指令便是類型1 A。一類型丨A指令的位 元b 11-b0係表示資料。這資料係形成算術邏輯單元从^的 輸入資料。資料可以是有符號的延伸,以便在提供給算術 邏輯單元ALU之前形成一 16位元二進位字。 類型1或1A指令係包括由位元b20 —bl7形成的一運算碼部 份。從,理算術邏輯單元ALU在輸入資料上實施運算及此 處理運算結果可儲存的觀點,該運算碼部份可決定一運〜 算。該結果可寫入T0S或程式計算器PC。類型i指令有16個 不同,算,而且類型U指令亦有16個不同的運算。例如, 一運算可進行輸入資4與T0S内容的_AND組合,並且將此 and組合結果寫入T0S。其他的運算可進行N〇R、χ⑽、 NAND、或xN0R 組合。 如果位元b22具有值零(〇)而且位元b2l具有值一(1),一 MCP指令便是類型2指令。類型2指令可用來傳送資料。一一 類型2指令係包括由位元bl〇—bl7所形成的一傳輸控制部 份。,輸控制部份係定義傳輸資料的來源與目的地。更 確,位元bl8-bl7係定義來源,而且位元b2〇—bl9係 義資料的目的地位址。有四個資料來源·· T〇s、、 T〇R、或程式計算器PC。有四個目的地位址·· T〇s内容、
第22頁 斗/6887 五 、發明說明(19) $内各、具或不具有加入索引值的MCP指令本身之位元 bll-b〇 。 類型〇、類型1、與類型1A指令主要是用來在圖2所示影 像^出單元HDVO中產生資料處理元件的指令字。類型2資 ; 々主要疋用來傳送產生的指令字’以控制資料處理元 件的暫存器。後者MCP指令可輸出MCP指令。 、類型1、1 A、和2的MCP指令係包括由位元bl6-bl3所形成 $ 一堆疊控制部份。計算堆疊CSTCK係根據位元bl6—bl5而 f,制:而且傳回堆疊RSTCK係根據位元bl4-bl3而控制。 十r堆宜CSTCK有4個控制動作,而且傳回堆疊rstcK有四 p控制動作。位元b16-bl5與位元bl4_bl3的值可決定有四個 相對控制動作之其中何者要實施。 一 =7係描述前述各種不同類型Mcp指令與在這些指令中所 =I Ϊ 2b23—b2l和1512之間的關係。在圖7中,參考字可 件二二疋種不同類型的MCP指令:UNC〇ND係指定一無條 件^令,COND係指定一有條件指令,而且TpQ、τρι、 型2卜和TPj係分別指定一類型〇、類型1、類型1 Α、與類 夫I曰。圖7係進一步包括表示後者四個MCP指令本質的 二指令可用來寫資料:wrt。-類型1指令 RD&PR〇c。一_f1AfH、體的資料及處理此資料 料。即是,^/曰7可用來處理在指令中所包含的資 用爽值…一 ^ " 來立即處理資料I PROC。一類型2指令可 用來傳迗貧料TRNSFR。圖7总a 份的參考字·· 〇PC ; 浐柃* 一步包括指示一運算碼部 丨寻%控制部份·· WOPC ;及一堆疊控
476887
制部份:STC。
如前述’位元bl6、bl5係定義計算堆疊以仉1(的四個控 制動作。有一N〇p、Cpy、Psh、與p〇p控制動作。N師栌制 動作不改變計算堆疊RSTCK。Cpy控制動作可將T〇S的内二容 複製給SOS。在算術邏輯單元ALU實施該指令之前,此複製 可完成。Psh控制動作可增量堆疊指標。結果,在指令之& :的tos之儲存元件會在該指令之後變成s〇s。在該指令之 前的tos之健存元件内容是在該指令之後預定複製給T〇s的 儲存7L件。因此,在該指令之前的内容T〇s是在該指令之 後的T0S内谷。然而,如果該指令是算術邏輯單元ALU將資 料寫入T0S,在該指令之後的T0S内容將會是該資料。p〇p 控制動作可減少堆疊指標。結果,在該指令之前的sos乏-儲存元件可在該指令之後變成TOS。 如刖述,位元bl 4、bl 3係定義傳回堆疊RSTCK的四個控 制動作。有一Rnop、Rpc、Rpsh、*Rp〇p 控制動作。Rn〇p 動作不改變傳回堆疊RSTCK。控制動作Rpc可增量堆疊指 標。一固定值可加入程式計數值,而且此加算的結果是複 製給TOR。固定值依賴實施。Rpsh%作可增量堆疊指標。 結果,在該指令之前的TOr之儲存元件可在該指令之後變 成S0R。在該指令之前的T0S之儲存元件中所包含的資料是籲 預設推入傳回堆疊RSTCK。即是,在該指令之後的T〇R内容 是在該指令之前的T0S内容。然而,如果該指令使算術邏 輯單元ALU將資料寫入T0R,在該指之後的T〇R内容將會是 該資料。Rpop控制動作可減少堆疊指標。結果,在該指令
第24頁 476於 / 五、發明說明(21) ^則疊中的儲存元件可在指令之後變成TQR。即 疋大f t曰1之後的T0R内容是在該指令之前的8仰内容。 的^何堆疊相關控制動作的實施是與在類 二1/、A “ 7的運鼻碼部份所定義的一運算無關。任何 ^控制=作的實施是與在類型2指令的傳輸控制部份 所,μ的Γ貝料傳輸無關。因此,可有各種不同的組合。 计异堆豐CSTC](與傳回堆疊RSTCK皆根據下列規則而受护
制二,算術邏輯單元ALU實施有關的指令之前,堆疊指枳I 會增量,,而堆疊指標隨後會減少。因此,一推入類型丁指 令之後接著一取出類型指令將使堆疊指標不改變。如果 疊控制包括將資料從一堆疊位置複製到另一堆疊位置, 製的貢料便始終是在該指令之前的堆疊位置中所包含的、實 料。 、 當主控制處理器MCP執行一指令時,算術邏輯單元ALu想 要寫入一堆疊位置便會發生,然而指令的堆疊控制部份想 要寫入j同的堆疊位置。在此情況會有衝突發生。此衝突 可透過异術邏輯單元ALU具有的優先權而解決。算術邏輯 單元ALU的輸出資料可寫入有關的堆疊位置。在任何情 況’堆疊指標可根據甚至在衝突情況發生的指令堆疊控制 部份而修改。 工 有各種不同方式可隨著一MCp指令的分別位元^ 6、b ^ 5 與位元bl4、bl3而達成如前述的計算堆疊CSTCK與傳回 疊RSTCK。例如,每個堆疊可透過如先進 體配置的儲存元件开> 成。此一 $ _體i °思 卞❿凤此…己隐骽典型可隨著一時脈的
第25頁 476887
五、發明說明(22) —正或一負緣而將 方向典型可透過運 料定義。相當簡單 位元的適當控制資 它包含的資料移位 用在F ILO記憶體的 的邏輯電路通常足 料。 一位置。資料移位的 一控制輸入之控制資 以驅動來自指令有關 圖8係描述主控制處理器MCP執行指令的 :ί H表示時間及垂直大小係表示指令1N:TR的圖I : ϋ 8個不同ί步驟S1_S8執行。每個步驟係 + 〇時脈週期CC。結果,匕採用8個時脈週期以完全^ 一指令。主控制處理器MCP可在每個時脈週螭上開始奋= 二新的指令。因此,在一特定的時脈週期上,主控制
Is MCP可平行實施不同的步驟’每個步驟係屬於一不同的 指令。 在步驟S1中,主控制處理器MCP可拾取_指令。在此步 驟的程式計算器可被讀取。在步驟S2中,指令可被解竭V。 在步驟S3中,算術邏輯單元ALU的輪入資料是從一内部儲 存元件讀取。步驟S4是一内部資料延遲。在步驟85中,_ 算術或邏輯運算可依指令的定義而實施。在步驟%中,嘗 術或邏輯運算的結果可寫入一内部儲存元件。在此步驟的 TOS可有效寫回。此外,程式計算器可被更新。步騍S7是 一延遲。在步驟S8中,任何的資料可有效運用在控制匯、凉 排CBUS,該控制匯流排係將主控制處理器MCP耦合至在多& 媒體裝置中所包含的各種不同資料處理器。 主控制處理器MCP係包含必需的管線階段及省略堆叠寫 入,如此便允許堆疊指令可相繼執行,而無需增加額夕卜纟
476887 發明說明(23) __ 等待週期。例如,主 元AU的該輸出盘—於控入^處pf器MP係包含在算術邏輯單 算術或邏輯運算的一社里間的一資料傳輪路徑’所以一 TOS資料使用。_ 可當作一隨後算術或邏輯運算的 -M C "旨令可使二似所的; 二料路徑可用於傳回堆疊。 —直接記憶體存取交嗲y在f接記憶體存取電路DMAC實施 記憶體存取電糊AC ^自:直接記憶體存取期間,直接 字的-區塊,以控制在 傳送旦在-記憶體中所包含指令 種不同資料處理元件的暫斤不衫像輸出單元HDVO中的各 體存取交談的一位址及一模;:指令係定義直接記憶 存取模式。 、巧。有二種不同的直接記憶體 DMAC可將指::G :::模式中,直接記憶體存取電% 圍。該區塊的立址的控制暫存器之-範 暫存器,第二指令字^ ^入f址是開始位址之一控制 存器等等。 7子叮寫入位址是開始位址+ 1的一控制暫 在一第二直接記憶體存取 義可先讀取—範本。該型板是4直接^憶體^取電路 疋係對應到具在有連續位址的控制 子/、中母個位 不同控制魁六π 句什器之一犯圍中的— 」控暫存器。範圍是在開始位址上開始 接圯憶體存取電路DMAC可逐一位元 1 ^直 的箆一尨人〜# 〜现不’並且將區堍 暫存器,;u對應值是一 (1)的第-讀取位元之控制 位元之护^丨Ϊ —私令字寫入對於值是_(1)的第二讀取 位TL之控制暫存器等等。 取 第27頁 476887 五、發明說明(24) 在一第二直接記憶體存取模式中,在直接記憶體存取電 路DMAC將一指令字寫入一控制暫存器之前,它可先讀取一 偏移值。指令字可寫入控制暫存器,而該控制暫存器的位 址是先前寫入的控制暫存器的位址+偏移值。一區塊的第 一指令字可寫入位址是開始位址+第一次讀取偏移值之一 控制暫存器。 主控制處理器MCP理想可使用直接記憶體存取電路⑽“ 以構成一VLIW,而該VLIf係明顯不同於一先前的凡^,或 如果沒有先前的VL I W。例如,一直接記憶體存取交談可用 來初始化影像輸出單元HDVO。一直接記憶體存取交談可避 免主控制處理器MC P本身必須將相對許多的指令字寫入俨 制暫存器。主控制處理器MCP係代表直接記憶體存取電^ DMAC的工作。然後,直接記憶體存取電路⑽虹可利用栌制 匯流排CBUS,用以將指令字寫入該等控制暫存器。因=, 在一直接的記憶體存取交談期間,在主控制處理器Mcp的 其他元件不能存取控制匯流排CBUS。 主控制處理器MCP不需要使用直接記憶體存取電路dmac 以構成一VLIW而該VLIff係類似一先前的几1?。此一類似的 VLIW可藉著修改相對一些控制暫存器的内容而構成^主护 制處理器MCP然後可將新的指令字直接寫入適當的栌制暫二 因此,從一程式化的觀點,有兩技術可用於構成 VUWs。一第一技術係使用一或多個Mcp指令,'而使主控制 處理器MCP將新的指令字寫入特殊的控制暫存器。此技術
476887 五、發明說明(25) 理想可應用於構成一類似的VL I W。一第二技術係使用一 MCP指令,以使主控制處理器MCP開始一直接記憶體存取交 談。此技術理想可用於構成一VL I W,而該VLI W係明顯不同 於一先前的VLIW,或用以初始化影像輸出單元。
在圖6所述的主控制處理器MCP能以各種不同方式實施。 主控制處理器MCP通常包含一指令解碼器。它可進一步包 ^在各種不同資料路徑中配置的多工器,用以將資料輸入 算術邏輯單元ALU及用以將來自算術邏輯單位ALU的輸出資 ,傳达給例如堆疊頂端的一儲存元件。例如,在算術邏輯 ,tlALU的每個輸入上有一多工器及在輸出上有一多工 器。輸入資料的各種可能來源係耦合至在算術邏輯單元 A^U輸入上的一多工器:堆疊頂端、堆疊的第二、及複C 存器之其中每一暫存器。多工器可藉由指令解碼器控 制’所以該等來源之其中一來源係耦合至算術邏輯單元的 輸入’其決定在指令的類型及在指令中所包含的資料。因 此’控制此多工器的一信號便可根據提供給算術邏輯單元 ALU的指令產生。上述信號可例如藉由一進一步的多工器 產生’該多工器可接收當作一選取信號指令的位運算碼元 b3-bO及位元bi2,而且可接收如同該等選取信號之其中一 信號的位元bll-bO。另一要選取的信號可透過指標位元 bl 1 -bO而形成。 上面的影像及其描述係闡述而不是對本發明的限制。顯 然地,各種不同的修改並未達背附錄申請專利的範圍。在 這一點,結論將在下面描述。
第29頁 476887 五、發明說明(26) 在圖1所述構成軟體I WCS的指令字可包含例如在記憶 體。它在工廠已寫入記憶體。然而,使用者將組成軟體 I WCS的指令字從資訊載體複製給記憶體亦可能。因此,使 用者可使在圖1所述的資料處理配置DPA實施某一功能。包 含構成軟體I WSC的指令字資訊載體可以是例如一磁碟片。 構成軟體的指令字能亦可經由例如網際網路的一通訊網路 例如獲得。
在各種不同單元上具有實際擴展功能或功能元件之許多 方法。有關這一點,影像是真正的圖式,每個只表示本發 明的一可能的具體實施例。因此,雖然一影像係顯示當作 不同區塊的不同功能的元件,但是此決未排除如同單一實 體單元的一些功能元件或所有功能元件的實施。 〜 在申請專利範圍内的任何參考符號應不構成對申請專利 範圍的限制。
第30頁

Claims (1)

  1. 476887 六、申請專利範圍 1 . 一種資料處理器,包含:一算術邏輯單元[A L U ],用 以實施第一及第二輸入資料[0P1,0P2]之算術或邏輯運 算;及一堆疊[S T C K ],用以儲存資料及用以將在該堆疊中 具有某一位置[P ( 1 )]的一資料施加至該算術邏輯單元 [ALU],當作該第一輸入資料[0P1 ];其特徵在於 該處理器係配置以執行包含一位址[A D D R ]的指令 [INSTR],用以指示在複數記憶體位置[REG]之中的一記憶 體位置[REG(i)],該位址[ADDR]造成在該記憶體位置 [REG(i)]中包含的一資料施加至該算術邏輯單元[ALU], 當作該第二輸入資料[0P2]。 2 .如申請專利範圍第1項之資料處理器,其特徵在於各 種不同堆疊位置[P ]形成複數個記憶體位置的部份其中包 何位置可透過指令[INSTR]的位址[ADDR]指示。 3 · —種藉由資料處理器的資料處理之方法,其包含: 一算術邏輯單元[ALU],用以實施一第一及第二輸入 資料[Ο P 1、Ο P 2 ]之算術或邏輯運算;及 一堆疊[STCK],用以儲存資料及用以將在堆疊具有某 一位置[P]的資料施加至該算術邏輯單元[ALU],當作該第 一輸入資料[0 P 1 ];該方法包含下列步驟: 執行包含一位址[ADDR]的一指令[INSTR],用以指 示在複數個記憶體位置[REG ]之中的一記憶體位置 [REG( i )],該位址可使在該記憶體位置[REG ]所包含的一 資料施加至該算術邏輯單元[A L U ],當作該第二輸入資料 [0P2] °
    O:\64\64843.ptd 第31頁 476887 六、申請專利範圍 · 4. 一種用於一資料處理器之電腦程式產品,其包含: 一算術邏輯單元[ALU],用以實施一第一及第二輸入 資料[Ο P 1、Ο P 2 ]算術或邏輯運算;及 一堆疊[STCK],用以儲存資料及將在堆疊具有某一位 置[P]的資料施加至該算術邏輯單元[ALU],當作該第一輸 入資料[0P1 ];該電腦程式產品包含一指令[INSTR],該指 令係包含一位址[ADDR ],用以指示在複數記憶體位置 [REG]之中的一記憶體位置;當執行時,該指令[INSTR]可 使資料處理器將在該記憶體位置[REG ]中包含的一資料當 作該第二輸入資料[0P2]而提供給該算術邏輯單元[ALU]。 5 . —種包含一控制器而用以將控制資料提供給各種不同 功能單元之多媒體裝置,該控制器包含: _ 一算術邏輯單元[ALU],用以實施一第一及第二輸入 資料[Ο P 1、Ο P 2 ]之算術或邏輯運算;及 一堆疊[STCK],用以儲存資料及將在堆疊具有某一位置 [P(l)]的資料施加至該算術邏輯單元[ALU],當作該第一 輸入資料[0P 1 ];其特徵為該控制器的配置可執行一指令 [INSTR],該指令包含一位址[ADDR]用以指示在複數記憶 體位置[REG]之中的一記憶體位置[REG(i)],該位址 [ADDR ]可使在該記憶體位置[REG( i )]中包含的一資料施加 至該算術邏輯單元[ALU],當作該第二輸入資料[0P2]。
    〇;\64\64843.ptd 第32頁
TW089111731A 1999-06-15 2000-06-15 Data processor comprising an arithmetic logic unit TW476887B (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/333,633 US6405301B1 (en) 1999-06-15 1999-06-15 Parallel data processing
US09/584,812 US6564312B1 (en) 1999-06-15 2000-05-31 Data processor comprising an arithmetic logic unit

Publications (1)

Publication Number Publication Date
TW476887B true TW476887B (en) 2002-02-21

Family

ID=26988828

Family Applications (1)

Application Number Title Priority Date Filing Date
TW089111731A TW476887B (en) 1999-06-15 2000-06-15 Data processor comprising an arithmetic logic unit

Country Status (7)

Country Link
US (1) US6564312B1 (zh)
EP (1) EP1104558A1 (zh)
JP (1) JP2003502753A (zh)
KR (1) KR20010072490A (zh)
CN (1) CN1151432C (zh)
TW (1) TW476887B (zh)
WO (1) WO2000077622A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100602374B1 (ko) * 2000-08-31 2006-07-14 어보브반도체 주식회사 스택 구조를 사용하여 코드 집적도를 높인 리스크 프로세서
US7975127B2 (en) * 2000-08-31 2011-07-05 Hajime Seki Computer system for processing instructions each containing a group of operations to be executed out of order
JP2005327078A (ja) * 2004-05-14 2005-11-24 Matsushita Electric Ind Co Ltd レジスタ設定方法及びレジスタ設定装置
US20060265555A1 (en) * 2005-05-19 2006-11-23 International Business Machines Corporation Methods and apparatus for sharing processor resources
US7844804B2 (en) * 2005-11-10 2010-11-30 Qualcomm Incorporated Expansion of a stacked register file using shadow registers

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5522051A (en) 1992-07-29 1996-05-28 Intel Corporation Method and apparatus for stack manipulation in a pipelined processor
EP0938703B1 (en) 1996-11-13 2003-07-02 Paran, Arik Real time program language accelerator
EP0851343B1 (en) * 1996-12-31 2005-08-31 Metaflow Technologies, Inc. System for processing floating point operations
US5859998A (en) 1997-03-19 1999-01-12 Advanced Micro Devices, Inc. Hierarchical microcode implementation of floating point instructions for a microprocessor

Also Published As

Publication number Publication date
CN1151432C (zh) 2004-05-26
JP2003502753A (ja) 2003-01-21
CN1320235A (zh) 2001-10-31
US6564312B1 (en) 2003-05-13
KR20010072490A (ko) 2001-07-31
EP1104558A1 (en) 2001-06-06
WO2000077622A1 (en) 2000-12-21

Similar Documents

Publication Publication Date Title
US10599407B2 (en) Compiler for translating between a virtual image processor instruction set architecture (ISA) and target hardware having a two-dimensional shift array structure
US10216487B2 (en) Virtual image processor instruction set architecture (ISA) and memory model and exemplary target hardware having a two-dimensional shift array structure
US7143265B2 (en) Computer program product memory access system
US11941399B2 (en) Exposing valid byte lanes as vector predicates to CPU
TWI291096B (en) A processing system for accessing data in a memory
US20040193837A1 (en) CPU datapaths and local memory that executes either vector or superscalar instructions
US10996988B2 (en) Program code transformations to improve image processor runtime efficiency
US20230385063A1 (en) Streaming engine with early exit from loop levels supporting early exit loops and irregular loops
CN109992302A (zh) 远程原子操作的空间和时间上的归并
KR100765567B1 (ko) 산술 논리 유닛 및 스택을 가지는 데이터 프로세서, 멀티미디어 장치 및 컴퓨터 판독가능 기록 매체
TW476887B (en) Data processor comprising an arithmetic logic unit
US20180121202A1 (en) Simd channel utilization under divergent control flow
US11176083B2 (en) Switching crossbar for graphics pipeline
TW504644B (en) Parallel data processing
KR19990077799A (ko) 마이크로프로세서, 연산 처리 실행 방법 및 기억 매체

Legal Events

Date Code Title Description
GD4A Issue of patent certificate for granted invention patent
MM4A Annulment or lapse of patent due to non-payment of fees