JP6697457B2 - プロセッサ・コアをスレッド・モードからレーン・モードに遷移させ、2つのモードの間のデータ転送を可能にすること - Google Patents
プロセッサ・コアをスレッド・モードからレーン・モードに遷移させ、2つのモードの間のデータ転送を可能にすること Download PDFInfo
- Publication number
- JP6697457B2 JP6697457B2 JP2017525632A JP2017525632A JP6697457B2 JP 6697457 B2 JP6697457 B2 JP 6697457B2 JP 2017525632 A JP2017525632 A JP 2017525632A JP 2017525632 A JP2017525632 A JP 2017525632A JP 6697457 B2 JP6697457 B2 JP 6697457B2
- Authority
- JP
- Japan
- Prior art keywords
- lane
- mode
- thread
- registers
- instructions
- 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.)
- Active
Links
- 238000012546 transfer Methods 0.000 title description 6
- 238000000034 method Methods 0.000 claims description 97
- 230000007704 transition Effects 0.000 claims description 23
- 238000004590 computer program Methods 0.000 claims description 9
- 230000008859 change Effects 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 17
- 230000008569 process Effects 0.000 description 12
- 238000012545 processing Methods 0.000 description 10
- 238000004364 calculation method Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 230000001419 dependent effect Effects 0.000 description 6
- 230000009977 dual effect Effects 0.000 description 6
- 230000004044 response Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000002747 voluntary effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
- G06F9/3009—Thread control instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30181—Instruction operation extension or modification
- G06F9/30189—Instruction operation extension or modification according to execution mode, e.g. mode flag
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8007—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
- G06F9/3012—Organisation of register space, e.g. banked or distributed register file
- G06F9/30123—Organisation of register space, e.g. banked or distributed register file according to context, e.g. thread buffers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3851—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Multimedia (AREA)
- Advance Control (AREA)
- Information Transfer Systems (AREA)
- Executing Machine-Instructions (AREA)
Description
1 命令をPCでフェッチする
2 命令をN個すべてのレーンにディスパッチする
3 各々の物理レーンiは、論理アイデンティティiをセットし、命令を、レジスタ・セットR_i(レーンiのレジスタ・セット)を使用して実行する
4 PC=次のPC
5 go to 1
各々の物理レーンにマッピングされる複数のアーキテクチャ化されたレーンによって、プロセッサは、異なる動きをする。最初に、N=K*L個のアーキテクチャ化されたレーンがあり、ここで、Lは物理レーンの数であり、Kは乗数である。ここでプロセッサは、命令を次のように実行する。
1 命令をPCでフェッチする
2 for round=0; round<ceil(K); ++round
3 命令をL個すべてのレーンにディスパッチする
4 各々の物理レーンiは、論理アイデンティティi*roundをセットし、命令を、レジスタ・セットR_(i*round)(アーキテクチャ化されたレーンi*roundのレジスタ・セット)を使用して実行する(i*round<Nであるとき)
5 endfor
6 PC=次のPC
7 go to 1
用語「論理アイデンティティxをセット」は、物理レーンが、アーキテクチャ化されたレーン「x」として挙動することになるということを意味し、このアイデンティティはしばしば、レーン・モードで実行される命令の内側で使用される。したがって、アーキテクチャ化されたレーンを作成することは、アイデンティティ・レジスタを適正にセットした後に命令を複数回物理レーンにディスパッチし、かつ、正しいレジスタ・セットへのルーティングをサポートするために、何らかの追加的な論理をプロセッサ上で追加することである。プロセッサの挙動に関する上記の説明は、命令実行を重複させることの可能性に制限を与えるものではない。例えば、2つの物理レーン(P1、P2)、および、3つのアーキテクチャ化されたレーン(A1、A2、A3)を有するプロセッサでは、2つの命令の実行を3つのアーキテクチャ化されたレーン上で重複させることが可能である。すなわち、それらの命令は、3つの反復(iteration)で実行され、反復1は、命令1を、アーキテクチャ化されたレーンA1、A2で実行し、反復2は、命令1を、アーキテクチャ化されたレーンA3で、命令2を、アーキテクチャ化されたレーンA1で実行し、反復3は、命令2を、アーキテクチャ化されたレーンA2、A3で実行する。
smile_foo(A,B,…){
for(i=0;i<L;i++){ //必要なステートをスレッドからレーンに転送する
LGR(i)[6]=N; //
LGR(i)[5]=B; // パラメータを、スレッド・レジスタからコピーすることによりコールに対して準備する
LGR(i)[4]=A; // レーン・レジスタに
LGR(i)[2]=GPR[2]; // 各々のレーンは、スレッド・モードでのものと同じTOCを得る
LGR(i)[1]=stack(i); // 各々のレーンは、それ自体のスタックを得る
LGR(i)[0]=i; // 各々のレーンは、レーンidを得る(専用レジスタ(SPR)またはスタック・ロケーションであり得る)
}
eal // すべてのレーンを有効にする
switch2lm // レーン・モードにスイッチする
各々のレーンがfoo(A,B)をコールする
switch2tm //スレッド・モードにスイッチする
}
Claims (19)
- プロセッサで、交互に配置された直列領域および並列領域を有するシングル命令ストリームを実行するための方法であって、
前記シングル命令ストリームの各々のアーキテクチャ化されたスレッドに対して、スレッド・レジスタの1つのセット、および、N個のレーンにわたるレーン・レジスタのN個のセットを有する、プロセッサ・アーキテクチャを作成するステップと、
前記シングル命令ストリームの前記直列領域内の命令を、スレッド・モードで前記スレッド・レジスタに対して実行するステップと、
前記シングル命令ストリームの前記並列領域内の命令を、レーン・モードで前記レーン・レジスタに対して実行するステップと、
前記シングル命令ストリームの実行を、前記スレッド・モードから前記レーン・モードに、または、前記レーン・モードから前記スレッド・モードに遷移させるステップと
を含む、方法。 - スレッド・レジスタの前記1つのセットは、レーン・レジスタの前記N個のセットの少なくとも1つと同じ、構成要素レジスタの組合せを含む、請求項1に記載の方法。
- スレッド・レジスタの前記1つのセットは、レーン・レジスタの前記N個のセットの1つまたは複数と異なる、構成要素レジスタの組合せを含む、請求項1に記載の方法。
- 前記シングル命令ストリームの前記直列領域内の前記命令を、前記スレッド・モードで実行する前記ステップは、
前記シングル命令ストリームの前記直列領域内の前記命令を1回、前記スレッド・レジスタを使用して実行されるようにディスパッチするステップ
を含む、請求項1に記載の方法。 - 前記シングル命令ストリームの前記並列領域内の前記命令を、前記レーン・モードで実行する前記ステップは、
前記シングル命令ストリームの前記並列領域内の前記命令を、前記N個のレーンの各々に対して1回ずつ、合計N回ディスパッチするステップ
を含む、請求項1に記載の方法。 - 前記シングル命令ストリームの前記並列領域内の前記命令を、前記レーン・モードで前記レーン・レジスタに対して実行する前記ステップは、ロックステップで、前記N個のレーンのすべてにわたって生じる、請求項1に記載の方法。
- 前記シングル命令ストリームの前記並列領域内の前記命令を、前記レーン・モードで前記レーン・レジスタに対して実行する前記ステップは、前記N個のレーンにわたって非同期的に進行する、請求項1に記載の方法。
- 前記シングル命令ストリームの前記並列領域内の前記命令を、前記レーン・モードで前記レーン・レジスタに対して実行する前記ステップは、前記N個のレーンの各々のステートに左右される、請求項1に記載の方法。
- 前記N個のレーンの各々の前記ステートは、有効または無効のいずれかである、請求項8に記載の方法。
- 前記シングル命令ストリームの実行を、前記スレッド・モードから前記レーン・モードに、または、前記レーン・モードから前記スレッド・モードに遷移させる前記ステップは、
前記スレッド・レジスタが有する情報を前記レーン・レジスタに、または、前記レーン・レジスタが有する情報を前記スレッド・レジスタにコピーするステップ
を含む、請求項1に記載の方法。 - 前記シングル命令ストリームの前記直列領域内の前記命令が、前記スレッド・モードで前記スレッド・レジスタに対して実行され、さらに、前記シングル命令ストリームの実行が、前記スレッド・モードから前記レーン・モードに遷移させられる場合において、
前記プロセッサのステートを、スレッド・リソースからレーン・リソースに転送するステップと、
前記N個のレーンのすべてをアクティブとマーキングするステップと、
特殊命令を呼び出して、前記プロセッサのモードを前記スレッド・モードから前記レーン・モードに変化させるステップと
を実行する、請求項1に記載の方法。 - 前記プロセッサの前記ステートを、前記スレッド・リソースから前記レーン・リソースに転送する前記ステップは、
コンテンツを前記スレッド・レジスタから前記レーン・レジスタに転送するステップ
を含む、請求項11に記載の方法。 - 前記プロセッサの前記ステートを、前記スレッド・リソースから前記レーン・リソースに転送する前記ステップは、
前記レーン・レジスタの1つまたは複数を初期化するステップ
を含む、請求項11に記載の方法。 - 前記プロセッサの前記ステートを、前記スレッド・リソースから前記レーン・リソースに転送する前記ステップは、
メモリ・スタックを前記N個のレーンの各々に割り振るステップ
を含む、請求項11に記載の方法。 - 前記シングル命令ストリームの前記並列領域内の前記命令が、前記レーン・モードで前記レーン・レジスタに対して実行され、さらに、前記シングル命令ストリームの実行が、前記レーン・モードから前記スレッド・モードに遷移させられる場合において、
前記プロセッサのステートを、レーン・リソースからスレッド・リソースに転送するステップと、
特殊命令を呼び出して、前記プロセッサのモードを前記レーン・モードから前記スレッド・モードに変化させるステップと、
前記N個のレーンにより使用されるステートを解放するステップと
を実行する、請求項1に記載の方法。 - 前記プロセッサの前記ステートを、前記レーン・リソースから前記スレッド・リソースに転送する前記ステップは、
前記レーン・レジスタが有する情報をメモリに退避させるステップと、
コンテンツを前記レーン・レジスタから前記スレッド・レジスタ内に移動させるステップと
を含む、請求項15に記載の方法。 - 前記シングル命令ストリームの前記並列領域内の前記命令は、前記レーン・モードで前記レーン・レジスタに対して実行され、さらに、命令の実行により例外が引き起こされる場合において、
前記レーン・モードを再開するために必要なステートを退避させるステップと、
特殊命令を呼び出して、前記プロセッサのモードを前記レーン・モードから前記スレッド・モードに変化させるステップと、
前記例外を解決するステップと、
レーン・モード・ステートを復元するステップと
を実行する、請求項1に記載の方法。 - 請求項1ないし17のいずれかに記載の方法のすべてのステップを実行するように適合された手段を備えるシステム。
- コンピュータ・プログラムであって、前記コンピュータ・プログラムがコンピュータ・
システム上で実行される時、請求項1ないし17のいずれかに記載の方法のすべてのステップを実行するための命令を含む、コンピュータ・プログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/552,145 US20160147536A1 (en) | 2014-11-24 | 2014-11-24 | Transitioning the Processor Core from Thread to Lane Mode and Enabling Data Transfer Between the Two Modes |
US14/552,145 | 2014-11-24 | ||
PCT/IB2015/058700 WO2016083930A1 (en) | 2014-11-24 | 2015-11-11 | Transitioning the processor core from thread to lane mode and enabling data transfer between the two modes |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017535872A JP2017535872A (ja) | 2017-11-30 |
JP6697457B2 true JP6697457B2 (ja) | 2020-05-20 |
Family
ID=56010274
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017525632A Active JP6697457B2 (ja) | 2014-11-24 | 2015-11-11 | プロセッサ・コアをスレッド・モードからレーン・モードに遷移させ、2つのモードの間のデータ転送を可能にすること |
Country Status (5)
Country | Link |
---|---|
US (2) | US20160147536A1 (ja) |
JP (1) | JP6697457B2 (ja) |
DE (1) | DE112015005274T5 (ja) |
GB (1) | GB2547159B (ja) |
WO (1) | WO2016083930A1 (ja) |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6003129A (en) * | 1996-08-19 | 1999-12-14 | Samsung Electronics Company, Ltd. | System and method for handling interrupt and exception events in an asymmetric multiprocessor architecture |
JP2970553B2 (ja) * | 1996-08-30 | 1999-11-02 | 日本電気株式会社 | マルチスレッド実行方法 |
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 |
US6574725B1 (en) * | 1999-11-01 | 2003-06-03 | Advanced Micro Devices, Inc. | Method and mechanism for speculatively executing threads of instructions |
US6651163B1 (en) * | 2000-03-08 | 2003-11-18 | Advanced Micro Devices, Inc. | Exception handling with reduced overhead in a multithreaded multiprocessing system |
JP2002196924A (ja) * | 2000-12-27 | 2002-07-12 | Fujitsu Ltd | プロセッサ制御装置及びプロセッサ制御方法 |
US6954846B2 (en) * | 2001-08-07 | 2005-10-11 | Sun Microsystems, Inc. | Microprocessor and method for giving each thread exclusive access to one register file in a multi-threading mode and for giving an active thread access to multiple register files in a single thread mode |
US6671196B2 (en) * | 2002-02-28 | 2003-12-30 | Sun Microsystems, Inc. | Register stack in cache memory |
US20040268093A1 (en) * | 2003-06-26 | 2004-12-30 | Samra Nicholas G | Cross-thread register sharing technique |
GB2409064B (en) * | 2003-12-09 | 2006-09-13 | Advanced Risc Mach Ltd | A data processing apparatus and method for performing in parallel a data processing operation on data elements |
US20050144604A1 (en) * | 2003-12-30 | 2005-06-30 | Li Xiao F. | Methods and apparatus for software value prediction |
US7418582B1 (en) * | 2004-05-13 | 2008-08-26 | Sun Microsystems, Inc. | Versatile register file design for a multi-threaded processor utilizing different modes and register windows |
US7437581B2 (en) * | 2004-09-28 | 2008-10-14 | Intel Corporation | Method and apparatus for varying energy per instruction according to the amount of available parallelism |
US7584346B1 (en) * | 2007-01-25 | 2009-09-01 | Sun Microsystems, Inc. | Method and apparatus for supporting different modes of multi-threaded speculative execution |
DE102007025397B4 (de) * | 2007-05-31 | 2010-07-15 | Advanced Micro Devices, Inc., Sunnyvale | System mit mehreren Prozessoren und Verfahren zu seinem Betrieb |
US7809925B2 (en) * | 2007-12-07 | 2010-10-05 | International Business Machines Corporation | Processing unit incorporating vectorizable execution unit |
US8312254B2 (en) * | 2008-03-24 | 2012-11-13 | Nvidia Corporation | Indirect function call instructions in a synchronous parallel thread processor |
JP5547208B2 (ja) * | 2008-11-24 | 2014-07-09 | インテル コーポレイション | シーケンシャル・プログラムを複数スレッドに分解し、スレッドを実行し、シーケンシャルな実行を再構成するシステム、方法および装置 |
US8650554B2 (en) * | 2010-04-27 | 2014-02-11 | International Business Machines Corporation | Single thread performance in an in-order multi-threaded processor |
US8423750B2 (en) * | 2010-05-12 | 2013-04-16 | International Business Machines Corporation | Hardware assist thread for increasing code parallelism |
-
2014
- 2014-11-24 US US14/552,145 patent/US20160147536A1/en not_active Abandoned
-
2015
- 2015-09-30 US US14/870,367 patent/US20160147537A1/en not_active Abandoned
- 2015-11-11 JP JP2017525632A patent/JP6697457B2/ja active Active
- 2015-11-11 WO PCT/IB2015/058700 patent/WO2016083930A1/en active Application Filing
- 2015-11-11 GB GB1707830.4A patent/GB2547159B/en active Active
- 2015-11-11 DE DE112015005274.7T patent/DE112015005274T5/de active Pending
Also Published As
Publication number | Publication date |
---|---|
GB2547159A (en) | 2017-08-09 |
GB201707830D0 (en) | 2017-06-28 |
US20160147536A1 (en) | 2016-05-26 |
WO2016083930A1 (en) | 2016-06-02 |
DE112015005274T5 (de) | 2017-09-28 |
US20160147537A1 (en) | 2016-05-26 |
GB2547159B (en) | 2017-12-13 |
JP2017535872A (ja) | 2017-11-30 |
GB2547159A8 (en) | 2017-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106991478B (zh) | 用于执行人工神经网络反向训练的装置和方法 | |
CN107341541B (zh) | 一种用于执行全连接层神经网络训练的装置和方法 | |
US8607247B2 (en) | Method and system for workitem synchronization | |
CN106991476B (zh) | 用于执行人工神经网络正向运算的装置和方法 | |
Kuehn et al. | The Horizon supercomputing system: architecture and software | |
US9052957B2 (en) | Method and system for conducting intensive multitask and multiflow calculation in real-time | |
JP6373425B2 (ja) | 複数のビットを左にシフトし、複数の1を複数の下位ビットにプルインするための命令 | |
US9424099B2 (en) | Method and system for synchronization of workitems with divergent control flow | |
US20140157287A1 (en) | Optimized Context Switching for Long-Running Processes | |
CA2879531A1 (en) | Neural processing engine and architecture using the same | |
US10599404B1 (en) | M/A for compiling parallel program having barrier synchronization for programmable hardware | |
US20160364352A1 (en) | Low latency data exchange between processing elements | |
KR20150019349A (ko) | 다중 쓰레드 실행 프로세서 및 이의 동작 방법 | |
US20120029900A1 (en) | Simulation method and system for simulating a multi-core hardware platform | |
US8407453B2 (en) | Facilitating processing in a computing environment using an extended drain instruction | |
KR102228502B1 (ko) | 컴퓨터 프로세싱의 타이밍 제어 | |
KR102668340B1 (ko) | 설정가능한 하드웨어 런타임 최적화 | |
WO2018149495A1 (en) | A method and system to fetch multicore instruction traces from a virtual platform emulator to a performance simulation model | |
Wolf et al. | AMIDAR project: lessons learned in 15 years of researching adaptive processors | |
CN110799955B (zh) | 具有预编程功能的高速计算机加速器 | |
Paul et al. | Resource-awareness on heterogeneous MPSoCs for image processing | |
JP2023527227A (ja) | プロセッサ、処理方法、および関連デバイス | |
JP6697457B2 (ja) | プロセッサ・コアをスレッド・モードからレーン・モードに遷移させ、2つのモードの間のデータ転送を可能にすること | |
CN110569105A (zh) | 分布式虚拟机自适应内存一致性协议及其设计方法、终端 | |
US9836323B1 (en) | Scalable hypervisor scheduling of polling tasks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180725 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190827 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20191121 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20200421 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200424 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6697457 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |