JP2006500673A - 処理装置、処理方法及びコンパイラ - Google Patents

処理装置、処理方法及びコンパイラ Download PDF

Info

Publication number
JP2006500673A
JP2006500673A JP2004539270A JP2004539270A JP2006500673A JP 2006500673 A JP2006500673 A JP 2006500673A JP 2004539270 A JP2004539270 A JP 2004539270A JP 2004539270 A JP2004539270 A JP 2004539270A JP 2006500673 A JP2006500673 A JP 2006500673A
Authority
JP
Japan
Prior art keywords
dedicated
instruction
instructions
issue
issue slot
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
JP2004539270A
Other languages
English (en)
Inventor
イエルーン、アー.イェー.レイーテン
ウィレム、セー.マロン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
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 Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of JP2006500673A publication Critical patent/JP2006500673A/ja
Pending legal-status Critical Current

Links

Images

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/30145Instruction analysis, e.g. decoding, instruction word fields
    • G06F9/3016Decoding the operand specifier, e.g. specifier format
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields
    • G06F9/30149Instruction analysis, e.g. decoding, instruction word fields of variable length instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields
    • G06F9/3016Decoding the operand specifier, e.g. specifier format
    • G06F9/30167Decoding the operand specifier, e.g. specifier format of immediate specifier, e.g. constants
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/3017Runtime instruction translation, e.g. macros
    • G06F9/30178Runtime instruction translation, e.g. macros of compressed or encrypted instructions
    • 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
    • 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

Landscapes

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

Abstract

命令の符号化効率の差は、即値を必要とせずまたは小さい即値を必要とする演算ではなく、ある種の演算が非常に大きい即値をオペランドとして必要とする場合に生じる。本発明は、データを処理し、大きい即値データを必要とする命令の使用を可能にさせ、同時に命令の効率的な符号化および解読を維持する処理装置、コンパイラ、並びに、方法を説明する。処理装置は複数の発行スロット(UC0,UC1,UC2,UC3)を具備し、各発行スロットは複数の機能ユニット(FU20,FU21,FU22)を具備する。処理装置は、並列に実行される命令のセットから生成された制御信号に基づいて、データを処理するように構成される。処理装置は、専用命令(IMM)に応じて即値(IMV1)をロードするように構成された専用発行スロット(UC4)をさらに具備する。即値(IMV1)は専用レジスタファイル(RF2)に記憶され、この値を必要とする発行スロットは専用レジスタファイル(RF2)からその値を取り出すことができる。

Description

本発明は、並列に実行される命令のセットから生成された制御信号に基づいてデータを処理する処理装置に関し、この処理装置は複数の発行スロットを具備し、各発行スロットが複数の機能ユニットを具備し、複数の発行スロットが命令のセットに対応した制御語のセットによって制御される。
本発明はさらにデータを処理する方法に関し、上記方法は、
入力データをレジスタファイルに記憶するステップと、
命令のセットから生成された制御語のセットによって制御される複数の発行スロットを使用し、並列に実行される命令のセットから生成された制御信号に基づいて、レジスタファイルから取り出されたデータを処理するステップと、
を含み、
各発行スロットが複数の機能ユニットを具備する。
本発明はさらに上記処理装置による実行のための複数の命令を含む命令セットに関する。
本発明はさらにコンピュータシステムに上記方法のステップを実行するよう命令するコンピュータプログラムコード手段を含むコンピュータプログラムに関する。
本発明はさらに上記処理装置による実行のために構成された命令のセットのシーケンスを生成するコンパイラプログラムプロダクトに関係する。
本発明はさらに上記処理装置による実行のために構成された命令のセットのシーケンスを含む情報担体に関係する。
コンピュータアーキテクチャは制御語のセットによって制御される固定データパスで構成される。各制御語はデータパスの一部分を制御し、これらの部分は、レジスタアドレス、および、演算論理装置(ALU)もしくはその他の機能ユニットの演算コードを含む。命令のセットのそれぞれは、一般にバイナリフォーマットの命令を対応した制御語に翻訳する命令デコーダ、または、マイクロ記憶装置、すなわち、制御語をそのまま格納するメモリを用いて、新しい制御語のセットを生成する。典型的に、制御語は、演算コード、2個のオペレンドレジスタインデックス、および、結果レジスタインデックスを含むRISCのような演算を表現する。オペランドレジスタインデックスおよび結果レジスタインデックスはレジスタフィル内のレジスタを参照する。
超長命令語(VLIW)プロセッサの場合、多数の命令が一つの長い命令、いわゆるVLIW命令に詰め込まれる。VLIWプロセッサは、これらの多数の命令を並列に実行するため多数の独立した機能ユニットを使用する。プロセッサは、プログラムで命令レベルの並列性を利用することを可能にさせ、したがって、2個以上の命令を同時に実行する。ソフトウェアプログラムがVLIWプロセッサ上で動くために、ソフトウェアプログラムはVLIW命令のセットに翻訳されるべきである。コンパイラは並列性を最適化することによりプログラムを実行するために要する時間を最小限に抑えようとする。コンパイラは、単一のVLIW命令に割り当たられた複数の命令を並列に実行可能であるという制約、並びに、データ依存性制約の下で、命令をVLIW命令に統合する。命令の解読は、データ固定型VLIWプロセッサおよび時間固定型VLIWプロセッサのそれぞれのための2種類の方式で行われる。データ固定型VLIWプロセッサの場合、所定のデータ項目について実行されるべき演算の所定のパイプラインに関係したすべての情報が単一のVLIW命令に符号化される。時間固定型VLIWプロセッサの場合、所定のデータ項目について実行されるべき演算のパイプラインに関係した情報が種々のVLIW命令中の多数の命令に分散されるので、プログラム中にプロセッサの上記パイプラインが現れる。
実際的なアプリケーションにおいて、機能ユニットのすべてが一緒に動作中になることは稀である。したがって、一部のVLIWプロセッサでは、機能ユニットのすべてに対して同時に必要となる命令よりも少ない命令が各VLIW命令に与えられる。各命令は、たとえば、マルチプレクサを使用して、動作状態であるべき選択された機能ユニットに向けられる。このようにして、性能を殆ど犠牲にすることなく、命令メモリサイズを節約することが可能である。このアーキテクチャでは、命令は異なるクロックサイクルで異なる機能ユニットへ向けられる。対応した制御語はVLIW発行レジスタのそれぞれの発行スロットへ発行される。各発行スロットには機能ユニットのグループが関連付けられる。特定の制御語は、特定の発行スロットと関連付けられたグループに含まれる機能ユニットのうちの特定の一つに向けられる。
VLIW命令中の並列命令の符号化はコードサイズの深刻な増加を招く。大きなコードサイズは、必要なメモリサイズ、並びに、必要なメモリ帯域幅の両方の点でプログラムメモリのコストを増加させる。最新のVLIWプロセッサでは、コードサイズを縮小するため種々の手段が講じられる。一つの重要な例は、データ固定型VLIWプロセッサにおけるノーオペレーション(NOP)演算のコンパクト表現であり、すなわち、NOP演算は、VLIW命令の前方に添付された特殊なヘッダ内の単一ビットによって符号化され、これにより、圧縮VLIW命令が得られる。
命令ビットがそれでもなおVLIW命令の各命令で無駄に使用される可能性があるのは、一部の命令が他の命令よりもコンパクトな形で符号化できるからである。命令の符号化効率の差が生じるのは、たとえば、ある種の演算がオペランドとして非常に大きい即値を必要とするのに対して、他の演算が即値を必要としないか、もしくは、小さい即値を必要とするからである。非常に大きい即値を必要とする命令は、一般的にレジスタ値の初期化のため使用される。特に広いデータパス幅、典型的に16ビットよりも広いデータパス幅を備えたプロセッサでは、単一命令を使用してレジスタを初期化することは非常にコストがかかる可能性がある。即値を符号化するだけでも既にデータパス幅と同数のビットが必要であり、演算コードおよびレジスタインデックスを符号化するための余分なビットが同様に必要である。同じ発行スロットに対して様々な命令を符号化する必要があり、これらの命令が必要とするビット数が少ない場合には、非常に非効率的な命令符号化がこの特定の発行スロットのために行われる。これは、たとえば、命令幅の変化に伴って解読プロセスの効率が徐々に低下するため、固定制御語幅のVLIWアーキテクチャの事例に相当する。米国特許第5,745,722号は、即値データを含むプログラムを実行する装置と、装置が実行する命令を生成するプログラム変換方法とを開示する。このプログラム変換方法は、プログラムを希望のプログラムフォーマットに変換する時に即値データを符号化するため使用されるので、命令コードのサイズを縮小する。このプログラム変換方法は主としてコンパイラによって使用される。結果として生じるプログラムを実行するとき、即値データを有する命令を含む命令は順番にフェッチされ、解読され、実行部はフェッチされた命令を実行する。命令コードが即値データを含むことが命令デコーダによって検出されたとき、即値データはデータデコーダへ送られる。即値データが符号化されたとき、データデコーダは所定のルールに従ってデータを解読し、これにより、解読された即値データを生成する。解読された即値データは、次に、実行ユニットへ送られ、処理される。供給された即値データが符号化されていないとき、データデコーダはそのままのデータを実行ユニットへ送る。
従来技術の処理装置の欠点は、命令の解読中、符号化された即値データを解読するため付加的なステップが必要になることである。
本発明の目的は、命令の効率的な符号化と解読を維持すると共に、大きい即値をオペランドとして使用可能にさせる処理装置を提供することである。
上記目的は、上記の種類の処理装置であって、即値を含む専用命令に応じて即値をロードするように構成された専用発行スロットをさらに具備することを特徴とする処理装置によって実現される。本発明による処理装置では、大きい即値は、複数の発行スロットへ発行される命令内に符号化する必要がなく、専用発行スロットへ発行される専用命令内に符号化することができる。その結果として、対応した命令の幅が減少し、これはその特定の発行スロット用の命令のより効率的な解読を可能にさせる。大きい即値は一般的にレジスタ値を初期化するためだけに使用されるので、効率の著しい増加が達成される。
本発明による処理装置の一実施形態は、専用発行スロットが、専用命令を実行するためだけに構成された単一の機能ユニットを具備する。その結果として、1タイプだけの命令を専用発行スロットのため符号化すればよく、すなわち、演算コードを符号化するためのビットが不要であり、専用命令の幅を縮小する。
本発明による処理装置の一実施形態は、上記即値を記憶する専用レジスタファイルをさらに具備し、専用レジスタファイルが専用発行スロットによってアクセス可能であることを特徴とする。したがって、結果データの宛先を符号化するために必要な専用命令内のビット数が削減される。
本発明による装置の一実施形態は、上記装置がVLIWプロセッサであり、上記命令のセットがVLIW命令にグループ化される。VLIWプロセッサは、多数の命令を並列に実行することを可能にさせ、全体的な演算速度を増加させ、その一方で比較的簡単なハードウェアを有する。
本発明によれば、データを処理する方法は、即値を含む専用命令に応じて即値を専用発行スロットにロードするステップをさらに有することを特徴とする。この方法は、効率的な符号化プロセスおよび解読プロセスを維持すると共に、大きい即値を必要とする命令の使用を可能にさせる。
本発明によれば、命令セットは即値を含む専用命令をさらに有し、その専用命令が、専用発行スロットによって実行されるとき、専用発行スロットに即値をロードさせることを特徴とする。本発明による命令セットは、命令の符号化および解読の効率を犠牲にすることなく、大きい即値を使用する演算の使用を可能にさせる。
本発明によれば、コンパイラプログラムプロダクトは、命令のセットのシーケンスが即値を有する専用命令をさらに含み、その専用命令が、専用発行スロットによって実行されるとき、専用発行スロットに即値をロードさせることを特徴とする。本発明によるコンパイラは、効率的に符号化された命令を生成し、大きい即値の使用を可能にさせ、同時に、その命令に対する効率的な解読プロセスを維持する。
本発明の好ましい実施形態は従属請求項に記載されている。本発明によるデータ処理方法を実施するコンピュータプログラムは請求項10に記載されている。本発明によるデータを処理する処理装置によって実行するように構成された命令のセットのシーケンスを含む情報担体は請求項12に記載されている。
図1を参照すると、概略的なブロック図は、発行スロットUC、UC、UCおよびUCを含む複数の発行スロットと、レジスタファイルセグメントRFおよびRFを含むレジスタファイルと、を具備するVLIWプロセッサを示す。プロセッサは、コントローラSQと、レジスタファイルセグメントRFおよびRFと発行スロットUC、UC、UCおよびUCを結合するコネクションネットワークCNとを有する。レジスタファイルセグメントRFおよびRFは、図1に示されないバスに結合され、このバスを介してレジスタファイルセグメントは入力データを受信する。発行スロットUC、UC、UCおよびUCへ発行される命令は、2個のオペランドだけを必要とし、1個の結果だけを生成するRISCのような演算と、3個以上のオペランドを使い及び/又は2個以上の結果を生成し得るカスタム演算とを含む。一部の命令は、オペランドデータとして小さい即値または大きい即値を必要とする。コネクションネットワークCNは、レジスタファイルセグメントRFおよびRFと、発行スロットUC、UC、UCおよびUCとの間で入力データおよび結果データの受け渡しを可能にさせる。
VLIWプロセッサは、専用発行スロットUCおよび専用レジスタファイルRFをさらに具備する。専用発行スロットUCは専用レジスタファイルRFに結合される。専用レジスタファイルRFはコネクションネットワークCNを介して複数の発行スロットUC−UCに結合される。専用命令は発行スロットUCへ発行され、この命令は即値を含み、この即値は複数の発行スロットUC−UCのうちの一つの発行スロットにおける命令の実行中に要求される。専用発行スロットUCは単一の機能ユニットIMUを具備し、この機能ユニットは専用命令を実行する能力を備えている。この命令を実行するとき、対応した即値が専用発行スロットUCによって専用レジスタファイルRFへ送られる。この即値は、複数の発行スロットUC−UCによって、コネクションネットワークCNを経由して、専用レジスタファイルRFから読み出し可能であり、その後、さらなる処理のため使用される。
有利な一実施形態において、専用レジスタファイルRFは単一のレジスタを具備する。その結果として、レジスタアドレスを符号化するためのビットは専用命令において必要ない。さらに、発行スロットUCだけがその専用レジスタファイルRFにデータを書き込むことが許されるので、データが書き込まれるべきレジスタファイルの選択を符号化するためのビットは専用命令において必要ない。最後に、発行スロットUCは単一の機能ユニットIMUだけを具備し、1タイプの命令、すなわち、専用命令だけが発行スロットUCへ発行される。その結果として、1個の命令だけが発効スロットUCのため符号化されるべきであり、演算コードを符号化するためのビットは専用命令において必要ない。即値のローディングはオペランドを全く必要としないので、オペランドレジスタインデックスも専用命令において符号化する必要がない。最終的な結果として、即値のローディングのための専用命令は即値自体の幅に一致するビット数で符号化することが可能である。
一部の実施形態では、レジスタファイルセグメントRFおよびRFは分散レジスタファイルであり、すなわち、限定された発行スロットの組に対して一つずつの複数のレジスタファイルが、全発行スロットUC−UCのための一つの中央レジスタファイルの代わりに使用される。分散レジスタファイルの利点は、1レジスタファイルセグメント当たりに必要な読み出しポートおよび書き込みポートが減少し、レジスタファイル帯域幅が狭くなることである。さらに、分散レジスタファイルは、中央レジスタファイルの場合よりもプロセッサの拡張可能性を高める。
一部の実施態様では、コネクションネットワークCNは、部分的に接続されたネットワークであり、すなわち、それぞれの発行スロットUC−UCがそれぞれのレジスタファイルセグメントRFおよびRFに結合されるのではない。部分的に接続された通信ネットワークの使用は、消費電力だけでなくコードサイズを削減し、また、プロセッサの性能を向上させる。さらに、部分的に接続された通信ネットワークは、完全に接続されたコネクションネットワークよりもプロセッサの拡張可能性を向上させる。
図2を参照すると、概略的なブロック図は発行スロットUCの一実施形態を表す。発行スロットUCは、デコーダDEC、タイムシェイプ(time shape)コントローラTSC、入力ルーティングネットワークIRN、出力ルーティングネットワークORN、並びに、複数の機能ユニットFU20、FU21およびFU22を具備する。デコーダDECは、各クロックサイクルで発行スロットに供給された制御語CWを解読する。解読ステップの結果は、実行されるべき演算のためのオペランドデータが記憶されるレジスタファイルセグメントRFおよびRF内のレジスタを指定するオペランドレジスタインデックスORIである。解読ステップのさらなる結果は、結果データが記憶されるべきレジスタファイルセグメントRFおよびRF内のレジスタを指定する結果ファイルインデックスRFIおよび結果レジスタインデックスRRIである。デコーダDECは、カップリングIを介してインデックスORI、RFIおよびRRIをタイムシェイプコントローラTSCへ渡す。タイムシェイプコントローラTSCは、演算が実行される機能ユニットの入力/出力挙動に応じてインデックスORI、RFIおよびRRIを適当な量だけ遅延させ、図1に示されるように、インデックスをコネクションネットワークCNへ渡す。VLIW命令が発行スロットUCのための命令を含むならば、デコーダDECは、カップリングSELを介して、機能ユニットFU20、F21またはFU22のうちの一つを選択し、演算を実行する。さらに、デコーダDECは、カップリングOPTを用いて、実行されるべき演算のタイプに関する情報をその機能ユニットへ渡す。入力ルーティングネットワークIRNは、カップリングIDを介して、オペランドデータOPDを機能ユニットFU20、F21およびFU22へ渡す。機能ユニット機能ユニットFU20、F21およびFU22は、カップリングODを介してそれらの結果データを出力ルーティングネットワークORNへ渡し、次に、出力ルーティングネットワークORNは、図1に示されるように、その結果データRDをコネクションネットワークCNへ渡す。コネクションネットワークCNを介して、結果データRDはレジスタファイルセグメントRFおよびRFに記憶される。命令有効ビットIVはデコーダDECへ渡され、NOP演算の場合に、このビットはゼロと一致する。デコーダDECは機能ユニットの選択中にこの情報を使用し、命令有効ビットIVがゼロと一致するならば、結果データRDはその機能ユニットによって出力ルーティングネットワークORNに書き込まれることはなく、レジスタファイルRFおよびRFに記憶されたデータの汚染を防止する。命令有効ビットは図4に詳しく説明される。カスタム演算を実行するため、機能ユニットFU20およびFU21は3個のオペランドデータを取り扱うことが可能であり、機能ユニットFU21およびFU22は2個の出力データを生成することが可能である。さらに、機能ユニットは大きい即値をオペランドとして使用してもよい。
発行スロットUC、UCおよびUCの実施形態は図示されていない。これらの発行スロットも、RISCのような命令またはそれよりも複雑な命令を実行し、3個以上のオペランドを要求し、および/または、2個以上の結果データを生成する能力を備えた機能ユニットの組を具備する。これらの機能ユニットもまたオペランドデータとして小さい即値または大きい即値を要求してもよい。
図3を参照すると、専用発行スロットUCの有利な実施形態が示される。専用発行スロットUCは、専用命令を実行する能力だけを備えた単一の機能ユニットIMUと、デコーダDECを具備する。専用発行スロットUCへ発行された専用命令は大きい即値だけを含み、オペランドデータレジスタ、レジスタファイルインデックスおよび結果レジスタインデックスを符号化するためのビットと、オペランドコードは必要ない。対応した制御語CWは同様に大きい即値だけを含む。制御語CWはカップリング301を介してデコーダDECへ供給され、対応した大きい即値IMVは、カップリング303を介して、デコーダDECの出力への経路に沿ってそのまま送られる。大きい即値IMVはさらに、カップリング305を介して、機能ユニットIMUの即値データ入力へ渡される。機能ユニットIMUの内部で、大きい即値IMVは、カップリング307を介して、機能ユニットの結果データ出力への経路に沿ってそのまま送られる。最後に、大きい即値IMVは、カップリング309を介して、専用レジスタファイルRFへ渡される。命令有効ビットIVはデコーダDECによって受信され、カップリング311、313および315を介して機能ユニット選択入力へ渡される。機能ユニットIMUの結果有効出力は、カップリング317を介して、機能ユニット選択入力へそのまま接続される。NOP演算の場合に、命令有効ビットIVはゼロと一致する。結果有効出力ビットRVもゼロと一致し、その結果として、大きい即値IMVは専用レジスタファイルRFへ渡されない。命令有効ビットは図4に詳しく説明される。実際には、デコーダDECおよび機能ユニットIMUは空である。制御語CWに対応する大きい即値IMVは、カップリング301、303、305および307を介して、機能ユニットIMUの結果データ出力への経路に沿ってそのまま送られる。命令有効ビットIVは、カップリング311、313、315および317を介して、機能ユニットIMUの結果有効出力への経路に沿ってそのまま送られる。発行スロットUCは入力または出力ルーティングネットワークを必要としない。発行スロットUCはタイムシェイプコントローラも不要であり、その理由は結果ファイルインデックスと結果レジスタインデックスが必要とされないからである。
図4を参照すると、図1に示されたVLIWプロセッサのためのVLIW命令の例が表されている。VLIW命令401は5個の制御語411〜419を含む。制御語413〜419には、対応した発行スロットUC、UC、UCおよびUCのそれぞれの命令がマッピングされる。制御語411には、専用発行スロットUCのための専用命令がマッピングされる。制御語413、415および419は、発行スロットUC、UCおよびUCのそれぞれと関連付けられたNOP演算を含む。制御語411は専用発行スロットUCに対応した専用命令IMMを含み、制御語417は発行スロットUCに対応した命令InstrCを含む。有利な一実施形態では、命令IMMのための命令フォーマットが命令403によって示され、この命令フォーマットは大きい即値IMV1だけを含む。命令InstrCに対して考えられる命令フォーマットは命令405によって示され、演算コードOC1と、2個の結果レジスタインデックスD1およびD2と、3個のオペランドレジスタインデックスS1、S2およびS3のそれぞれに関連付けられた6個のフィールド421〜431を有する。同じ制御語411〜419にマッピングされた異なる命令のための異なる命令フォーマットを使用してもよい。命令フォーマットは、たとえば、実行されるべき命令のタイプに応じて、または、レジスタファイルからオペランドを取り出すのではなく、オペランドとしての即値の使用に応じて変わる。たとえば、命令405には、より多数のビットがより多くの演算もしくは小さい即値の符号化に用いられ、より少ないビットがオペランドレジスタインデックスに用いられる。制御語411は、専用発行スロットUCによって即値をロードする必要がない場合、NOP演算を含んでもよい。
非圧縮VLIW命令401は、専用ビットの組を使用してNOP演算を符号化することにより圧縮することが可能である。圧縮命令の一実施例は、VLIW命令401の圧縮後のVLIW命令407によって表され、この圧縮命令は、専用ビットの組を有するフィールド433と、命令IMMおよびInstrCをそれぞれ有する制御語435および437と、を含む。専用ビットの組の中の単一ビットは、VLIW命令401の制御語413、415および419にマッピングされたNOP演算を符号化する。ビット「0」はNOP演算を表し、フィールド433内のビットの位置はこのNOP演算を保持するVLIW命令401内の制御語を指定する。フィールド433内の位置2、位置3および位置5における「0」ビットは、それぞれ、制御語413、415および419内のVLIW命令401に存在するNOP演算を表す。フィールド433に存在するビット「1」は、非NOP演算を有する命令を表し、フィールド433内でのこのビットの位置は、この命令がマッピングされたVLIW命令401内の制御語を指定する。フィールド433内の位置1および位置4における「1」ビットは、それぞれ、制御語411および417内の命令IMMおよびInstrCを表す。他の実施態様では、当業者に知られているように、VLIW命令を圧縮する異なる方式が適用される。
図1に示されたVLIWプロセッサは、大きい即値を必要とする命令を実行する能力を備えている。VLIWプロセッサ上で動かすためのソフトウェアプログラムのコンパイル中に、コンパイラはソフトウェアプログラムに存在する定数を認識する。これらの定数が単一の命令内に即値として符号化され得ない場合、コンパイラはこの即値をローディングするための専用命令を作成する。即値を必要とする命令において、専用レジスタファイルRFのアドレスは、即値を取り出すため符号化される。たとえば、命令InstrCによって要求される大きい即値IMV1をローディングするため、専用命令IMMが符号化される。大きい即値IMV1は、次に、オペランドレジスタインデックスS3として、命令405内でレジスタファイルRFのアドレスによって置き換えられる。このようにして、VLIW命令の効率的な符号化が実現されるのは、命令幅の減少が許されるからである。有利な一実施形態において、VLIW命令は、コードサイズをさらに縮小するため、圧縮VLIW命令407である。フィールド433における専用ビットは、それらの対応した発行スロットのため、命令有効ビットIVおよびIVとして同時に使用可能である。圧縮VLIW命令407は、フィールド433内の「0」ビットおよびその位置を使用して、NOP演算を含む制御語をVLIW命令407に追加することにより、コントローラSQ内に存在する伸長ロジックによって伸長される。VLIW命令401を実行するときに、大きい即値IMV1は専用発行スロットUCによってロードされ、専用レジスタファイルRFに記憶される。命令InstrCを実行するときに、発行スロットUCは、オペランドレジスタインデックスS3を使用して、コネクションネットワークCNを介して、この値を専用レジスタファイルRFから取り出す。効率的な解読プロセスは、付加的な解読ステップを必要とすることなく、命令がデコーダDECによって解読されるときに実現される。専用発行スロットUCのハードウェアは、制御ロジックを必要としない配線を用いることにより、非常に簡単にすることができる。大きい即値をローディングすることが特定のVLIW命令において要求されない場合に、NOP演算が制御語411にマッピングされる。
スーパースカラプロセッサは、VLIWプロセッサの場合と同様に、多数の演算を並列に実行可能である複数の発行スロットを具備する。しかし、そのプロセッサのハードウェア自体は、存在する演算依存性をランタイムで判定し、その依存性に基づいて並列に実行すべき演算を決定し、同時にリソース衝突が生じないことを保証する。この欄で説明されたVLIWプロセッサの実施形態の原理はスーパースカラプロセッサにも同様に適用される。一般に、VLIWプロセッサは、スーパースカラプロセッサよりも多数の発行スロットを有する。VLIWプロセッサのハードウェアはスーパースカラプロセッサよりも複雑さの程度が低く、より優れた拡張可能性のあるアーキテクチャをもたらす。発行スロットの個数と各発行スロットの複雑さは、特に、本発明を使用して達成できる利益の大きさを決める。
上記の実施形態は本発明を限定するのではなく本発明を例示するものであり、当業者が請求項に記載された事項の範囲から逸脱することなく多数の代替的な実施形態を設計可能であることに注意すべきである。用語「具備する、含む(comprising)」は請求項に列挙されていない要素またはステップを除外しない。要素の前に置かれた冠詞(「a」または「an」)はこのような要素が複数個であることを除外しない。複数の手段を列挙する装置請求項において、これらの手段の幾つかは全く同一のハードウェアによって具現化できる。単にある特定の手段が相互に異なる従属請求項に記載されていることは、これらの手段の組み合わせを有利になるように使用できないことを示すものではない。
本発明によるVLIWプロセッサの概略図である。 3台の機能ユニットを具備する発行スロットUCの概略図である。 単一の機能ユニットを具備する専用発行スロットUCの概略図である。 VLIW命令および対応した圧縮VLIW命令を表す図である。

Claims (12)

  1. 並列に実行される命令のセットから生成された制御信号に基づいてデータを処理する処理装置であって、
    複数の発行スロットであって、各発行スロットが複数の機能ユニットを具備し、前記複数の発行スロットが前記命令のセットに対応した制御語のセットによって制御される、複数の発行スロットを備え、
    さらに、即値を含む専用命令に応じて即値をロードするように構成された専用発行スロットを具備する、処理装置。
  2. 前記専用発行スロットが、前記専用命令を実行するためだけに構成された単一の機能ユニットを含む、請求項1に記載の装置。
  3. 前記即値を記憶する専用レジスタファイルをさらに具備し、
    前記専用レジスタファイルが前記専用発行スロットによってアクセス可能である、
    請求項1に記載の装置。
  4. 当該処理装置がVLIWプロセッサであり、
    前記命令のセットがVLIW命令にグループ化される、
    請求項1に記載の装置。
  5. 前記VLIW命令が、NOP演算を符号化するための専用ビットを含む圧縮VLIW命令である、請求項4に記載の装置。
  6. 前記複数の発行スロットと関連付けられたレジスタファイルをさらに具備する、請求項1に記載の装置。
  7. 前記複数の発行スロットと前記レジスタファイルを結合するコネクションネットワークCNをさらに具備する、請求項6に記載の装置。
  8. 入力データをレジスタファイルに記憶するステップと、
    命令のセットから生成された制御語のセットによって制御される複数の発行スロットであって各々の発行スロットが複数の機能ユニットを具備する複数の発行スロットを使用して、並列に実行される前記命令のセットから生成された制御信号に基づいて、前記レジスタファイルから取り出されたデータを処理するステップと、
    即値を含む専用命令に応じて前記即値を専用発行スロットにロードするステップをさらに含む、データ処理方法。
  9. 請求項1のプリアンブル部分に記載された処理装置によって実行される複数の命令を具備する命令セットであって、
    即値を含む専用命令をさらに具備し、
    前記専用命令は、専用発行スロットによって実行されるとき、前記専用発行スロットに前記即値をロードさせる、
    命令セット。
  10. コンピュータシステムに請求項8に記載の方法のステップを実行するよう指示するコンピュータプログラムコード手段を含む、コンピュータプログラム。
  11. 請求項1のプリアンブル部分に記載された処理装置により実行されるように構成された命令のセットのシーケンスを生成するコンパイラプログラムであって、
    前記命令のセットのシーケンスが即値を有する専用命令をさらに含み、
    前記専用命令は、専用発行スロットによって実行されるとき、前記専用発行スロットに前記即値をロードさせる、
    コンパイラプログラム。
  12. 請求項1のプリアンブル部分に記載された処理装置により実行されるように構成された命令のセットのシーケンスを含む情報担体であって、
    前記命令のセットのシーケンスが即値を有する専用命令をさらに含み、
    前記専用命令は、専用発行スロットによって実行されるとき、前記専用発行スロットに前記即値をロードさせる、
    情報担体。
JP2004539270A 2002-09-24 2003-08-08 処理装置、処理方法及びコンパイラ Pending JP2006500673A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP02078956 2002-09-24
PCT/IB2003/003561 WO2004029796A2 (en) 2002-09-24 2003-08-08 Apparatus, method ,and compiler enabling processing of load immediate instructions in a very long instruction word processor

Publications (1)

Publication Number Publication Date
JP2006500673A true JP2006500673A (ja) 2006-01-05

Family

ID=32039163

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004539270A Pending JP2006500673A (ja) 2002-09-24 2003-08-08 処理装置、処理方法及びコンパイラ

Country Status (6)

Country Link
US (1) US7574583B2 (ja)
EP (1) EP1546869B1 (ja)
JP (1) JP2006500673A (ja)
CN (1) CN1685310A (ja)
AU (1) AU2003253159A1 (ja)
WO (1) WO2004029796A2 (ja)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006164279A (ja) * 2004-12-03 2006-06-22 Picochip Designs Ltd プロセッサ・アーキテクチャ
US8463312B2 (en) 2009-06-05 2013-06-11 Mindspeed Technologies U.K., Limited Method and device in a communication network
US8559998B2 (en) 2007-11-05 2013-10-15 Mindspeed Technologies U.K., Limited Power control
US8712469B2 (en) 2011-05-16 2014-04-29 Mindspeed Technologies U.K., Limited Accessing a base station
US8798630B2 (en) 2009-10-05 2014-08-05 Intel Corporation Femtocell base station
JP2014524097A (ja) * 2011-07-28 2014-09-18 クアルコム,インコーポレイテッド エントロピ符号化命令シーケンスの記憶および実行可能な形式への変換のための方法および装置
US8849340B2 (en) 2009-05-07 2014-09-30 Intel Corporation Methods and devices for reducing interference in an uplink
US8862076B2 (en) 2009-06-05 2014-10-14 Intel Corporation Method and device in a communication network
US8904148B2 (en) 2000-12-19 2014-12-02 Intel Corporation Processor architecture with switch matrices for transferring data along buses
US9042434B2 (en) 2011-04-05 2015-05-26 Intel Corporation Filter
US9107136B2 (en) 2010-08-16 2015-08-11 Intel Corporation Femtocell access control
US9201652B2 (en) 2011-05-03 2015-12-01 Qualcomm Incorporated Methods and apparatus for storage and translation of entropy encoded software embedded within a memory hierarchy
US10856302B2 (en) 2011-04-05 2020-12-01 Intel Corporation Multimode base station

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2414308B (en) 2004-05-17 2007-08-15 Advanced Risc Mach Ltd Program instruction compression
CN101027635A (zh) * 2004-09-22 2007-08-29 皇家飞利浦电子股份有限公司 其中功能单元共用读取端口的数据处理电路
US8049760B2 (en) * 2006-02-06 2011-11-01 Via Technologies, Inc. System and method for vector computations in arithmetic logic units (ALUs)
KR101603751B1 (ko) * 2010-02-18 2016-03-16 삼성전자주식회사 명령어 병렬 처리 컴퓨터를 위한 명령어 압축 장치 및 방법
KR102270790B1 (ko) 2014-10-20 2021-06-29 삼성전자주식회사 데이터 처리 방법 및 장치
CN111124495B (zh) * 2019-12-16 2021-02-12 海光信息技术股份有限公司 一种数据处理方法、解码电路及处理器
JP7487535B2 (ja) * 2020-04-08 2024-05-21 富士通株式会社 演算処理装置

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0440525A (ja) * 1990-06-06 1992-02-10 Seiko Epson Corp 並列処理型マイクロプロセッサ
JPH04299436A (ja) * 1990-10-05 1992-10-22 Philips Gloeilampenfab:Nv メモリ回路および機能ユニットのグループを備えた処理装置
JPH06230969A (ja) * 1992-12-29 1994-08-19 Philips Electron Nv プロセッサ
JPH07182169A (ja) * 1993-12-24 1995-07-21 Toshiba Corp 並列処理型コンピュータ
JPH09292991A (ja) * 1996-04-30 1997-11-11 Nec Corp 命令処理方法及び命令処理装置
WO1998027486A1 (en) * 1996-12-16 1998-06-25 Hewlett-Packard Company Method and apparatus for storing and expanding programs for vliw processor architectures
JPH117387A (ja) * 1997-06-16 1999-01-12 Matsushita Electric Ind Co Ltd Vliwプロセッサ
JP2001022581A (ja) * 1999-07-06 2001-01-26 Canon Inc データ処理装置及びコンピュータ読み取り可能な記憶媒体
JP2001515635A (ja) * 1998-01-16 2001-09-18 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 異なった幅のvliwプロセッサコマンド
JP2001515628A (ja) * 1997-12-29 2001-09-18 トリメディア テクノロジーズ インコーポレイテッド 極長命令語(vliw)プロセッサ
WO2002029562A2 (en) * 2000-10-05 2002-04-11 Koninklijke Philips Electronics N.V. Retargetable compiling system and method
WO2002048871A1 (en) * 2000-12-11 2002-06-20 Koninklijke Philips Electronics N.V. Signal processing device and method for supplying a signal processing result to a plurality of registers
WO2002061574A1 (en) * 2001-01-30 2002-08-08 Koninklijke Philips Electronics N.V. Computer instruction with instruction fetch control bits
JP2002229780A (ja) * 2001-01-30 2002-08-16 Handotai Rikougaku Kenkyu Center:Kk 大規模データパス・アーキテクチャの実行機構

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6002880A (en) * 1992-12-29 1999-12-14 Philips Electronics North America Corporation VLIW processor with less instruction issue slots than functional units
JP3505266B2 (ja) 1995-06-15 2004-03-08 三洋電機株式会社 プログラム実行装置
US5787302A (en) * 1996-05-15 1998-07-28 Philips Electronic North America Corporation Software for producing instructions in a compressed format for a VLIW processor
JP3327818B2 (ja) * 1997-08-29 2002-09-24 松下電器産業株式会社 プログラム変換装置及び記録媒体

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0440525A (ja) * 1990-06-06 1992-02-10 Seiko Epson Corp 並列処理型マイクロプロセッサ
JPH04299436A (ja) * 1990-10-05 1992-10-22 Philips Gloeilampenfab:Nv メモリ回路および機能ユニットのグループを備えた処理装置
JPH06230969A (ja) * 1992-12-29 1994-08-19 Philips Electron Nv プロセッサ
JPH07182169A (ja) * 1993-12-24 1995-07-21 Toshiba Corp 並列処理型コンピュータ
JPH09292991A (ja) * 1996-04-30 1997-11-11 Nec Corp 命令処理方法及び命令処理装置
WO1998027486A1 (en) * 1996-12-16 1998-06-25 Hewlett-Packard Company Method and apparatus for storing and expanding programs for vliw processor architectures
JPH117387A (ja) * 1997-06-16 1999-01-12 Matsushita Electric Ind Co Ltd Vliwプロセッサ
JP2001515628A (ja) * 1997-12-29 2001-09-18 トリメディア テクノロジーズ インコーポレイテッド 極長命令語(vliw)プロセッサ
JP2001515635A (ja) * 1998-01-16 2001-09-18 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 異なった幅のvliwプロセッサコマンド
JP2001022581A (ja) * 1999-07-06 2001-01-26 Canon Inc データ処理装置及びコンピュータ読み取り可能な記憶媒体
WO2002029562A2 (en) * 2000-10-05 2002-04-11 Koninklijke Philips Electronics N.V. Retargetable compiling system and method
WO2002048871A1 (en) * 2000-12-11 2002-06-20 Koninklijke Philips Electronics N.V. Signal processing device and method for supplying a signal processing result to a plurality of registers
WO2002061574A1 (en) * 2001-01-30 2002-08-08 Koninklijke Philips Electronics N.V. Computer instruction with instruction fetch control bits
JP2002229780A (ja) * 2001-01-30 2002-08-16 Handotai Rikougaku Kenkyu Center:Kk 大規模データパス・アーキテクチャの実行機構

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8904148B2 (en) 2000-12-19 2014-12-02 Intel Corporation Processor architecture with switch matrices for transferring data along buses
US9104426B2 (en) 2004-12-03 2015-08-11 Intel Corporation Processor architecture for processing variable length instruction words
JP2006164279A (ja) * 2004-12-03 2006-06-22 Picochip Designs Ltd プロセッサ・アーキテクチャ
US8559998B2 (en) 2007-11-05 2013-10-15 Mindspeed Technologies U.K., Limited Power control
US8849340B2 (en) 2009-05-07 2014-09-30 Intel Corporation Methods and devices for reducing interference in an uplink
US8892154B2 (en) 2009-06-05 2014-11-18 Intel Corporation Method and device in a communication network
US8862076B2 (en) 2009-06-05 2014-10-14 Intel Corporation Method and device in a communication network
US8463312B2 (en) 2009-06-05 2013-06-11 Mindspeed Technologies U.K., Limited Method and device in a communication network
US9807771B2 (en) 2009-06-05 2017-10-31 Intel Corporation Method and device in a communication network
US8798630B2 (en) 2009-10-05 2014-08-05 Intel Corporation Femtocell base station
US9107136B2 (en) 2010-08-16 2015-08-11 Intel Corporation Femtocell access control
US9042434B2 (en) 2011-04-05 2015-05-26 Intel Corporation Filter
US10856302B2 (en) 2011-04-05 2020-12-01 Intel Corporation Multimode base station
US9201652B2 (en) 2011-05-03 2015-12-01 Qualcomm Incorporated Methods and apparatus for storage and translation of entropy encoded software embedded within a memory hierarchy
US10754653B2 (en) 2011-05-03 2020-08-25 Qualcomm Incorporated Methods and apparatus for storage and translation of entropy encoded software embedded within a memory hierarchy
US8712469B2 (en) 2011-05-16 2014-04-29 Mindspeed Technologies U.K., Limited Accessing a base station
JP2014524097A (ja) * 2011-07-28 2014-09-18 クアルコム,インコーポレイテッド エントロピ符号化命令シーケンスの記憶および実行可能な形式への変換のための方法および装置
US10120692B2 (en) 2011-07-28 2018-11-06 Qualcomm Incorporated Methods and apparatus for storage and translation of an entropy encoded instruction sequence to executable form

Also Published As

Publication number Publication date
US7574583B2 (en) 2009-08-11
AU2003253159A1 (en) 2004-04-19
WO2004029796A3 (en) 2004-07-22
WO2004029796A2 (en) 2004-04-08
AU2003253159A8 (en) 2004-04-19
US20060168424A1 (en) 2006-07-27
EP1546869B1 (en) 2013-04-03
CN1685310A (zh) 2005-10-19
EP1546869A2 (en) 2005-06-29

Similar Documents

Publication Publication Date Title
KR100991700B1 (ko) 처리 장치, 처리 방법 및 컴퓨터로 판독가능한 기록 매체
JP2006500673A (ja) 処理装置、処理方法及びコンパイラ
US6848041B2 (en) Methods and apparatus for scalable instruction set architecture with dynamic compact instructions
US5805875A (en) Vector processing system with multi-operation, run-time configurable pipelines
TWI517041B (zh) 有條件的傳播在單一指令多重資料/向量執行中之評估值的裝置與方法
WO2001016710A1 (fr) Processeur de donnees
US20130151822A1 (en) Efficient Enqueuing of Values in SIMD Engines with Permute Unit
WO2004111836A2 (en) Apparatus and method that accommodate multiple instruction sets and multiple decode modes
US7143268B2 (en) Circuit and method for instruction compression and dispersal in wide-issue processors
US6925548B2 (en) Data processor assigning the same operation code to multiple operations
JP5122277B2 (ja) データ処理方法、処理装置、多重命令ワードセット生成方法、コンパイラプログラム
JP4828409B2 (ja) タイムステーショナリプロセッサにおける条件動作のためのサポート
EP1220092B1 (en) System and method for executing variable latency load operations in a data processor
JP2006164279A (ja) プロセッサ・アーキテクチャ
WO2005036384A2 (en) Instruction encoding for vliw processors
US6922773B2 (en) System and method for encoding constant operands in a wide issue processor

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060807

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20070509

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20071101

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080425

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080430

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080725

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080801

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080819

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080912

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20081212

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20081219

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090113

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090306

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090604

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20090709

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20090911

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110301

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110304

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20110419

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110824

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110830

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110830