JP2008052750A - プロセッサ - Google Patents

プロセッサ Download PDF

Info

Publication number
JP2008052750A
JP2008052750A JP2007263941A JP2007263941A JP2008052750A JP 2008052750 A JP2008052750 A JP 2008052750A JP 2007263941 A JP2007263941 A JP 2007263941A JP 2007263941 A JP2007263941 A JP 2007263941A JP 2008052750 A JP2008052750 A JP 2008052750A
Authority
JP
Japan
Prior art keywords
thread
instruction
unit
configuration information
processor
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.)
Granted
Application number
JP2007263941A
Other languages
English (en)
Other versions
JP5175517B2 (ja
JP2008052750A5 (ja
Inventor
Hiroyuki Morishita
広之 森下
Takashi Hashimoto
隆 橋本
Tokuzo Kiyohara
督三 清原
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2007263941A priority Critical patent/JP5175517B2/ja
Publication of JP2008052750A publication Critical patent/JP2008052750A/ja
Publication of JP2008052750A5 publication Critical patent/JP2008052750A5/ja
Application granted granted Critical
Publication of JP5175517B2 publication Critical patent/JP5175517B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】回路規模を抑えつつ、柔軟且つ高性能なプロセッサの提供を目的とする。
【解決手段】本発明に係るプロセッサは、複数のスレッドを巡回的に、そのスレッドに割当てられた時間ずつ実行するプロセッサであって、再構成可能な集積回路を備え、複数のスレッド各々に対応する回路構成情報を記憶しておき、回路構成情報に基づいて、前記集積回路の一部分を再構成し、順次、スレッドに対応する回路構成情報に基づき再構成された集積回路を用いて、当該スレッドを実行させる。あるスレッドが実行している間に、次に実行するスレッドを選択し、実行しているスレッドが使用している前記集積回路の部分以外の部分について、次に実行するスレッドのために再構成をする。
【選択図】図1

Description

本発明はプロセッサに関するものであり、特に、再構成可能な集積回路を有するプロセッサに関する。
近年のプロセッサ、例えば、デジタル信号を用いた映像、音響機器に搭載されるプロセッサは、複数の処理に対応する必要がある。
映像を圧縮する場合を見てみると、その圧縮方法としてMPEG(Moving Picture Experts Group)2、MPEG4、H.263、H.264など、多数の規格が実用化されている。
従って、ユーザの利便性などを考慮し、近年の映像、音響機器は、1機器で、これら複数の規格への対応など、複数の機能の実現が求められる。
この要求に答える為には、一つの処理を行うハードウェアを複数搭載することで複数の処理を実現するか、又は、ハードウェアは一つ搭載して、ソフトウェアで複数の処理を実行するかの方法が考えられる。
前者の方法は、高性能を実現できるという利点があるものの、実現すべき機能が多数になった場合、回路規模が大きくなるという欠点がある。更に、新しい機能を追加する場合などには、ハードウェアの追加が必要となる。
一方、後者の方法は、ソフトウェアの追加、変更等により、複数の機能の実現、追加などを柔軟に行うことができるという利点があるが、性能を上げることが困難であるという欠点がある。
そこで、均質な回路構成の一部に特定の処理に適した回路を組み込み、動的にハードウェア構成を変更することにより、特定の処理に関して、柔軟且つ高性能な処理を実現する再構成可能なハードウェアが提案されている(特許文献1参照)。
国際公開第2002/095946号パンフレット
しかし、このような再構成可能なハードウェアは、回路機能を実装する部分のほかに、配線部分やスイッチなども必要であり、回路規模が大きくならざるを得ず、また、再構成のためには時間を必要とする。
そこで、本発明は、回路規模を抑えつつ、柔軟且つ高性能なプロセッサの提供を目的とする。
上記課題を解決する為に、複数のスレッドを巡回的に、そのスレッドに割当てられた時間ずつ実行するプロセッサであって、再構成可能な集積回路と、回路構成情報に基づいて、前記集積回路の一部分を再構成する再構成手段と、複数のスレッド各々に対応する回路構成情報を記憶する構成情報記憶手段と、順次、スレッドに対応する回路構成情報に基づき再構成された集積回路を用いて、当該スレッドを実行させる制御手段と、前記制御手段があるスレッドを実行させている間に、次に実行するスレッドを選択する選択手段とを備えることを特徴とする。
本発明に係るプロセッサは、上述の構成を備えることにより、スレッドごとに回路を再構成できるので、そのスレッドに適した回路を用いて実行することができるようになる。
また、前記制御手段は、更に、スレッドを実行させている間に、実行させているスレッドが使用している前記集積回路の部分以外の部分について、前記再構成手段に前記選択手段で選択されたスレッドに対応する回路構成情報に基づいた再構成をさせることとしてもよい。
これにより、スレッドを実行中に、次のスレッドの為の再構成を行うことできるようになるので、再構成に要する時間が不要となり、柔軟且つ高性能なプロセッサを実現できるようになる。
また、前記プロセッサは、更に、演算器を含み、前記制御手段は、前記演算器と前記再構成された集積回路とを用いて、当該スレッドを実行させることとしてもよい。
これにより、通常の演算器と、再構成した集積回路を使用してスレッドを実行することができ、処理に応じて通常の演算器を使用したり、再構成した演算器を使用したり、又は、双方使用したりできるので、回路規模を抑えつつ、柔軟且つ高性能な処理が出来るようになる。例えば、再構成した集積回路を、特定処理用の演算器として使用するなどである。
すなわち、全ての処理のために集積回路を再構成するのではないので、再構成可能な回路の規模を抑え、プロセッサ全体の規模を小さくすることが可能となり、且つ、処理に必要な回路は再構成できるので柔軟且つ高性能な処理が可能となる。
また、複数の命令から成るプログラムを実行するプロセッサであって、再構成可能な集積回路と、回路構成情報に基づいて、前記集積回路の一部分を再構成する再構成手段と、複数の命令各々に対応する回路構成情報を記憶する構成情報記憶手段と、前記回路構成情報に基づいて前記集積回路を同時に再構成可能な2以上の命令を選択する選択手段と、前記選択手段で選択された2以上の命令に対応する回路構成情報に基づき再構成された集積回路を用いて、当該2以上の命令を並列実行する実行手段とを備えることを特徴とする。
本発明に係るプロセッサは、上述の構成を備えることにより、命令毎に集積回路を再構成でき、再構成する回路の規模などに応じて、複数の命令用の再構成を同時に行えるので、回路規模を抑えつつ、柔軟且つ高性能な処理が出来るようになる。再構成を同時に行うためには、命令の順序を考慮するだけでなく、ある命令に必要な集積回路の回路規模と、別の命令に必要な集積回路の回路規模とを合わせても、再構成可能な論理回路の回路規模を越えない必要がある。
<実施形態1>
<概要>
本発明に係るプロセッサは、通常のプロセッサが備えている演算器のほかに、再構成可能なハードウェアを備え、処理を分担することで、回路規模を抑えつつ、高性能な処理を実現するものである。
すなわち、複数の処理であっても、処理の全てが異なっているわけではなく、共通する処理や命令、頻繁に使用される処理や命令があることに着目し、共通するものは通常の演算装置で行い、各処理に特有の処理は再構成可能なハードウェアによって構成された演算装置で行わせることで、プロセッサ全体としての回路規模を押さえつつ、高性能を維持するものである。
本実施形態のプロセッサは、マルチスレッドプロセッサであり、マルチスレッドを実現するための方法として、各タスクを一定時間ずつ順番に実行していくラウンドロビン方式を取るものとする。
各スレッドは、それぞれに固有の回路の方が適していたり、固有の回路を必要とする処理は、再構成可能なハードウェアで再構成した回路を使用して実行する。
すなわち、本プロセッサは、スレッドそれぞれに固有の回路を備える必要が無いため、全体の回路規模を抑えることが可能となる。
但し、再構成には時間を要するため、その時間を削減することがポイントとなる。
以下、本発明の実施形態のマルチスレッドプロセッサについて説明する。
<構成>
以下、図1を用いて、本発明にかかるプロセッサ1000の構成を説明する。
図1は、プロセッサ1000の構成例を表す図である。
プロセッサ1000は、マルチスレッドプロセッサ1100、再構成可能演算器1200、構成情報記憶部1300及び再構成制御部1400で構成される。
マルチスレッドプロセッサ1100は、通常のプロセッサであり、複数の異なる処理を時分割で実行することができる、いわゆるマルチスレッドプロセッサである。
マルチスレッドプロセッサ1100は、通常の演算器である固定機能演算器1120とスレッドスケジュール部1110とを有し、スレッドスケジュール部1110は、次に実行するスレッドを決定するなど、スレッドのスケジューリング機能を有する。
このスレッドスケジュール部1110は、次に実行するスレッドを決定して、レジスタの退避・復帰などの準備を行う他、本発明に特有の処理も行う。
具体的には、スレッド実行中に、次に実行するスレッドを選択し、そのスレッドを再構成制御部1400に通知するなどである。
このマルチスレッドプロセッサ1100は、内部の固定機能演算器1120と外部の再構成可能演算器1200の双方と、必要に応じて演算データのやり取りを行いながら処理を実行していく。
次に、再構成可能演算器1200は、組合せ回路や順序回路を実現できる論理ブロックと、論理ブロック間の配線部分から成る。論理ブロックは、ルックアップテーブルとフリップフロップを含む回路ユニットであり、ルックアップテーブルの設定値を変えることで、所望の論理回路を実現する。また、配線部分には、トランジスタスイッチなどが配され、配線経路が自由に設定可能となっている。
本実施形態では、論理ブロックはすべて同一の構成であるとし、個々に機能を変更でき、それらを組み替え可能な配線群で接続することで、各種機能の回路を実現する。
また、再構成可能演算器1200は、同一な構成の10個のエリアに分割されているものとする。これらエリアはそれぞれ独立して再構成が可能であり、エリア間は組み替え可能な配線が引かれ、複数エリアで一つの回路を実現できるものとする。
構成情報記憶部1300は、再構成可能演算器1200を所望の回路に再構成する為の構成情報を記憶する機能を有する。構成情報は、所望の回路の個数分あるものとする。
この構成情報は、論理ブロックのルックアップテーブルの設定値や、配線経路を設定する為の各トランジスタスイッチへの制御信号の情報を含むものである。
また、構成情報記憶部1300は、構成情報以外に、後で説明するスレッド情報テーブル1410を記憶しておく機能を有する。このテーブルは、スレッドとそのスレッドで使用する構成情報を対応付けているものである。
再構成制御部1400は、スレッド実行中にスレッドスケジュール部1110から次のスレッドの通知を受けて、通常の固定機能演算器1120のみで実行可能なのか、再構成可能演算器1200を必要とするのかを判断し、再構成可能演算器1200を再構成する場合には、再構成可能演算器1200と構成情報記憶部1300に指示を出す機能を有する。
再構成可能演算器1200に対して再構成を行う旨と再構成を行うエリアとを通知し、構成情報記憶部1300には、構成情報を指定して、その構成情報を再構成可能演算器1200に供給するよう指示する。
また、再構成ができない場合には、その旨をスレッドスケジュール部1110に返す機能を有する。再構成ができない場合とは、再構成可能演算器1200に、再構成できるエリアが無い場合である。
<動作>
次に、図2〜図4を用いて、本発明に係るプロセッサの動作を説明する。
図2を用いて、実行順通りにスレッドを実行する場合の例を説明し、図3を用いて、スレッドの実行順を変える場合の例を説明する。
最後に、図4を用いて、スレッドの制御処理をフローチャートを用いて説明する。
<実行順通りにスレッドを実行する場合>
図2(a)は、スレッド情報テーブル1410の構成例及び内容例を示す図であり、図2(b)は、スレッドの実行例を示すタイムチャートである。
図2(a)で示すスレッド情報テーブル1410のスレッドを実行した場合のタイムチャートが、図2(b)で示すタイムチャートである。
まず、図2(a)のスレッド情報テーブル1410を説明する。
このスレッド情報テーブル1410は、構成情報記憶部1300に記憶されているものである。
スレッド情報テーブル1410は、スレッド名1411、構成情報1412及び使用エリア数1413で構成される。
スレッド名1411は、スレッドの識別子である。以下、「TH0」〜「TH3」で表される4つのスレッドが順に実行されるものとして説明する。
構成情報1412は、スレッド名1411で表されるスレッドが、再構成可能演算器1200を使用する場合の再構成の為の構成情報を示している。
使用エリア数1413は、再構成可能演算器1200を使用する場合に必要なエリア数を表す。
例えば、スレッド名1411「TH0」のスレッドは、構成情報1412「構成A」の構成で再構成された再構成可能演算器1200を使用し、構成情報1412「構成A」で再構成可能演算器1200を再構成するには、使用エリア数1413「6」個のエリアが必要となる。また、スレッド名1411「TH1」に対応する構成情報1412「―」は、再構成可能演算器1200を使用しない旨を示し、当然に使用エリア数1413「0」個である。
次に、図2(b)を用いて、スレッドの実行例を説明する。
ここでは、スレッドが固定機能演算器1120を使用しているタイムチャート10と、そのスレッドが、再構成可能演算器1200を使用している場合の構成情報を表すタイムチャート20、及び、そのスレッドが実行中に、再構成可能演算器1200を再構成している構成情報を表すタイムチャート30を示している。また、時間を示す矢印の上方には構成情報を、下方には構成情報が必要とするエリア数を示す。尚、本図2(b)では、全てのスレッドは固定機能演算器1120を使用する場合を示しているが、使用しない期間があってももちろん良い。
まず、スレッド名「TH0」、「TH1」、「TH2」、「TH3」の順で、スレッドが実行され、それぞれのスレッドが実行中に、次のスレッドが使用する再構成可能演算器1200を再構成しておくものとする。
このように事前に準備することで、再構成に要する時間を取る必要がなくなり、実質的にスレッドの実行時間のみとなる。
例えば、スレッド名「TH1」のスレッド100が、固定機能演算器1120のみを使用して、スレッドを実行している。
この間に、次に実行予定のスレッド名1411「TH2」のスレッド110が使用する構成情報1412「構成C」で再構成可能演算器1200を再構成する。
この場合、再構成可能演算器1200は全部で10個のエリアを備えていることから、使用している再構成可能演算器1200のエリア数は、「構成C」に必要な「3/10」エリア101となる。
同様に、スレッド名「TH2」のスレッド110が、固定機能演算器1120と、再構成可能演算器の「構成C」を使用して、スレッドを実行している。
この間に、次に実行予定のスレッド名1411「TH3」のスレッドが使用する構成情報1412「構成D」で再構成可能演算器1200を再構成する。
この場合、使用している再構成可能演算器1200のエリア数は、「構成C」が使用している「3/10」エリアと「構成D」が必要とする「4/10」エリアを加えた「7/10」エリア111となる。
このように、順繰りにスレッド実行前に、必要な再構成を事前に行う。
<スレッドの実行順を変える場合>
次に、図3を用いて、スレッドの実行順を変えることにより、スレッド実行中に、次のスレッドの為の再構成が可能となる例を説明する。
図3(a)は、スレッド情報テーブル1420の構成例及び内容例を示す図であり、図3(b)及び(c)は、スレッドの実行例を示すタイムチャートである。
図3(a)で示すスレッド情報テーブル1420のスレッドを実行した場合のタイムチャートが、図3(b)及び(c)で示すタイムチャートである。
まず、図3(a)のスレッド情報テーブル1420を説明する。
この図3(a)のスレッド情報テーブル1420は、図2(a)のスレッド情報テーブル1410とほとんど同じである為、差異のみを説明する。
異なる点は、スレッド名1411「TH1」のスレッド1421が、再構成可能演算器1200を使用する点である。構成情報1412「構成B」、使用エリア数1413「5」個である。
次に、図3(b)を用いて、スレッドの実行例を示すタイムチャートを説明する。タイムチャートの意味するところは、図2(b)と同様である。
スレッド名「TH0」のスレッド200が、固定機能演算器と、再構成可能演算器の「構成A」を使用して、スレッドを実行している。
この間に、次に実行予定のスレッド名1411「TH1」のスレッドが使用する構成情報1412「構成B」で再構成可能演算器1200を再構成しようとする。
この場合、使用している再構成可能演算器1200のエリア数は、「構成A」が使用している「6/10」エリアと「構成B」が必要とする「5/10」エリアを加えた「11/10」エリア201となり、スレッド名「TH0」のスレッドの実行中に「構成B」の再構成は出来ない。
そこで、図3(c)に示すように、スレッド名「TH1」のスレッド230の前に、スレッド名「TH2」のスレッド220を実行する。すなわち、実行順序を入れ替えて、スレッドを実行する。
とすると、スレッド名「TH0」のスレッド実行中に、再構成するのはスレッド名「TH2」のスレッド220が使用する「構成C」であり、「構成A」が使用している「6/10」エリアと「構成C」が必要とする「3/10」エリアを加えた「9/10」エリア211となり、事前に再構成を行うことが出来るようになる。
同様に、スレッド名「TH2」のスレッド220が、固定機能演算器1120と、再構成可能演算器1200の「構成C」を使用して、スレッドを実行している間に、次に実行予定のスレッド名1411「TH1」のスレッドが使用する構成情報1412「構成B」で再構成可能演算器1200を再構成する。
この場合、使用している再構成可能演算器1200のエリア数は、「構成C」が使用している「3/10」エリアと「構成B」が必要とする「5/10」エリアを加えた「8/10」エリア222となる。
通常、ラウンドロビン方式では、各スレッドで実行すべき処理に応じて、スレッドに割り当てられるタイムスライスの長さが考慮される。すなわち、処理時間を保障しなければいけない場合などには、タイムスライスの長いスレッドを割り当てるなどである。
したがって、周期が崩れないことが、処理をスレッドに割り当てる際の前提条件となる。
しかし、一つのタイムスライスの時間は、処理全体の実行時間に比べれば、非常に小さいものであるので、本プロセッサでは、所定時間内で、各スレッドの実行時間が予定通りになるようにスレッドスケジュール部1110で調整を行うこととする。例えば、全スレッドが10回実行することを一区切りとし、各スレッドの実行回数をカウントしておいて、最初のスレッドが11回目の実行を開始する前に、他のスレッドで10回に足りないものは、優先的に実行する。全スレッドが10回実行後、最初のスレッドの11回目の実行を開始するなどである。
<スレッドの制御処理>
次に、図4を用いて、本プロセッサのスレッド制御の処理について説明する。
図4は、本プロセッサのスレッド制御の処理を示すフローチャートである。
スレッドスケジュール部1110が、次に実行するスレッドを選択する(ステップS100)。制御処理を開始直後の場合は、最初のスレッドである。
各スレッドに割り当てられている処理がすべて終了している場合は(ステップS110:Y)、スレッドの制御処理を終了する。
選択されたスレッドである次スレッドを実行する場合は、そのスレッド名1411を再構成制御部1400に渡し、再構成を依頼する。
依頼を受けた再構成制御部1400は、受取ったスレッド名1411が、再構成可能演算器1200を使用するか否かを構成情報記憶部1300に記憶されているスレッド情報テーブル1410を参照し、判断する。具体的には、受取ったスレッド名1411に対応する構成情報1412に構成が指定されている場合は、再構成可能演算器1200を使用すると判断する。
使用しないと判断した場合(ステップS120:N)、再構成制御部1400は、その旨スレッドスケジュール部1110に返し、スレッドスケジュール部1110は、現在実行中のスレッドが終了次第、次スレッドの実行を開始する(ステップS150)。
一方、使用すると判断した場合は(ステップS120:Y)、再構成するエリアが空いているか否かを判断する(ステップS130)。具体的には、受取ったスレッド名1411に対応する使用エリア数1413に示されている数分のエリアが空いているかを判断する。
再構成制御部1400は、内部に、現在使用されているエリアの番号を記憶しているものとし、使用しているスレッドのタイムスライスが終了した場合は、使用していたエリアは空いたものとされ、記憶しているエリア番号から消去する。
エリアが空いていないと判断した場合は(ステップS130:N)、再構成制御部1400は、スレッドスケジュール部1110にその旨通知する。スレッドスケジュール部1110は、異なるスレッドを選択する(ステップS100)。スレッドスケジュール部1110は、各スレッドの実行回数を記憶しておき、適切な時に優先的に選択して、全スレッドの実行回数をあわせるものとする。
一方、エリアが空いていると判断した場合には(ステップS130:Y)、再構成制御部1400は、再構成可能演算器1200に再構成する旨通知し、構成情報記憶部1300には、受取ったスレッド名1411に対応する構成情報1412を、エリアを指定して送信させる。送信後、再構成制御部1400は、内部に記憶している使用中のエリア番号を更新する。
再構成可能演算器1200は、構成情報記憶部1300から送られた構成情報で、再構成を行い(ステップS140)、完了したら再構成制御部1400に通知する。
再構成が完了した旨の通知を受けた再構成制御部1400は、その旨スレッドスケジュール部1110に返し、スレッドスケジュール部1110は、現在実行中のスレッド終了後、すぐに次スレッド実行を開始する(ステップS150)。
スレッドを開始させたスレッドスケジュール部1110は、次のスレッドを選択する(ステップS100)。
<実施形態2>
<概要>
実施形態1が、スレッド毎に、再構成した再構成可能演算器を使用したのに対して、本実施形態では、命令毎に、再構成した再構成可能演算器を使用するものである。
以下、本実施形態2の構成等を説明する。
<構成>
図5は、実施形態2のプロセッサ5000の構成例を表す図である。
プロセッサ5000は、命令フェッチ部5100、命令デコード部5200、演算制御部5300、アドレステーブル記憶部5400、再構成情報記憶部5500、再構成可能演算器5600及び固定機能演算器5700を備え、外部に命令記憶部5010を備える。
命令記憶部5010は、プロセッサ5000で実行する命令コードを記憶しておく機能を有する。
命令フェッチ部5100は、命令記憶部5010から、命令コードを読み込み、命令デコード部5200に渡す機能を有する。
命令デコード部5200は、命令フェッチ部5100から命令コードを受け取り、解析する通常の機能のほか、本発明に独自の機能を有する。
具体的には、デコードの結果、再構成可能演算器5600を用いる命令の場合は、命令種別から構成情報の記憶されているアドレスをアドレステーブル記憶部5400から取得し、再構成情報記憶部5500にアドレスを渡して再構成可能演算器5600に構成情報を送信させる機能である。
アドレステーブル記憶部5400は、命令種別とその構成情報のアドレスとを対応付けて記憶している機能を有している。
演算制御部5300は、命令デコード部5200がデコードした結果に従って、演算動作を制御する機能を有する。固定機能演算器5700と再構成可能演算器5600とに対して、タイミングをとりながら命令を発行していく。
再構成情報記憶部5500は、複数の各命令に対応して、構成情報を記憶する機能を有する。ここで記憶されている各構成情報の先頭アドレスが、アドレステーブル記憶部5400で、命令種別と対応付けて記憶されている。この構成情報は、実施形態1の構成情報記憶部1300に記憶されている構成情報と同様である。
また、再構成情報記憶部5500は、命令デコード部5200からの指示で、指定されたアドレスの構成情報を、再構成可能演算器5600に送信する機能も有している。
再構成可能演算器5600は、再構成が可能な演算器であって、実施形態1の再構成可能演算器1200と同様である。但し本実施形態では、4つのエリアに分割されているものとする。
固定機能演算器5700は、複数の固定機能演算器で構成され、本実施形態では3つの固定機能演算器(5701、5702、5703)で構成されるものとする。
以下、命令と構成情報との対応関係を簡単に説明し、動作を説明する。
<命令コードと構成情報との対応関係>
本発明で使用する命令コードから、その命令の実行に必要な再構成を行う為の構成情報の求め方を、図6及び図7を用いて説明する。
図6は、本発明で使用する命令コードの構成例を示す図であり、図7は、命令情報テーブル5410の構成例及び内容例を示す図である。
まず、図6の命令コードの構成例から説明する。
本発明で使用する命令コード5110は、命令の種別を示すオペコード5111と、この命令で扱う値などを示すオペランド5112で構成される。
本発明では、このオペコード5111と構成情報が対応付けられており(矢印参照)、命令の実行には再構成可能演算器5600が必要であると、プロセッサによって判断された場合には、対応付けられている構成情報によって再構成された再構成可能演算器5600で命令が実行される。
プロセッサによって、命令の実行には再構成可能演算器5600は不要であると、判断された場合には、固定機能演算器5700を用いて、実行がなされる。
次に、図7の命令情報テーブル5410について説明する。
この命令情報テーブル5410は、アドレステーブル記憶部5400に記憶されているものとする。
命令情報テーブル5410は、オペコード種別5411、アドレス5412及び使用エリア数5413とで構成される。
オペコード種別5411は、命令コードのオペコード、すなわち、命令を示すものである。ここでは、再構成可能演算器5600を用いる命令のみが記載されているものとする。
従って、ここに記載されていない命令は、固定機能演算器5700で実行することになる。
次に、アドレス5412は、オペコード種別5411で表されるオペコードに対応付けられている構成情報の、再構成情報記憶部5500内でのアドレスを示す。尚、本実施形態ではアドレスとしているが、ID等、再構成情報を特定できるものであればよい。
使用エリア数5413は、再構成可能演算器5600を使用する場合のエリア数を表す。例えば、オペコード種別5411「Sub」の命令は、アドレス5412「addr1」で示されるアドレスに記憶されている構成情報で再構成された再構成可能演算器5600を使用し、再構成可能演算器5600を再構成するには、使用エリア数5413「3」個のエリアが必要である。
本実施形態の場合、命令の使用する再構成可能演算器5600のエリア数を考慮し、プログラムを機械語に変換するコンパイル時に、本実施形態では命令コード5110に変換する時に、命令の順序及び命令で再構成するエリアの番号を決めておくものとする。すなわち、コンパイル時に、実行する命令の順序を考慮した上で、前の命令の実行中に再構成できるような命令順に構成し、それぞれの再構成を行うエリアを決めておくものとする。また、使用するエリア番号は、例えば、オペランドでエリア番号を指定したり、命令毎にエリア番号を決めておくなどして、命令デコード部が知ることができるようにしてあるものとする。
<動作>
次に、図8〜図10とを用いて、どのように命令が実行されるかを説明する。
図8は、本発明に係る命令セットを用いたプログラム例であり、図9は、プログラムを動作させたプロセッサのパイプライン動作の例である。
また、図10は、本実施形態のプロセッサの命令実行処理を示すフローチャートである。
まず、図8のプログラムについて簡単に説明する。
オペコード5111「Add」、オペランド5112「r0,r1,r2」の命令コードは、レジスタ1の内容とレジスタ2の内容を加算し、結果をレジスタ0に代入することを意味し、オペコード5111「Sub」、オペランド5112「r3,r1,r3」の命令コードは、レジスタ1の内容からレジスタ3の内容を減算し、結果をレジスタ3に代入することを意味する。
また、オペコード5111「Reconf0」、オペランド5112「r2,r0,0xfe」の命令コードは、レジスタ0の内容と即値「0xfe」を用いて、演算「Reconf0」を行い、結果をレジスタ2に代入することを意味し、オペコード5111「Reconf1」、オペランド5112「r3,r1,r3」の命令コードは、レジスタ1の内容とレジスタ3の内容とを用いて、演算「Reconf1」を行い、結果をレジスタ3に代入することを意味する。
次に、図9及び図10を用いて、プログラムを実行するプロセッサの動作を説明する。図10のフローチャートに沿って、図9のタイムチャートを参照しながら説明する。
図8に示すプログラムが命令記憶部5010に記憶されているものとする。
まず、命令フェッチ部5100は、命令コード「Add r0,r1,r2」をフェッチし(図10:ステップS800、図9:ステップS500)、命令デコード部5200に渡す。
命令コードを受取った命令デコード部5200は、受取った命令コードを解析する。
受取った命令コードが終了を示す旨のコードである場合には(図10:ステップS810:Y)、命令デコード部5200は、処理を終了する。
また、命令コードが終了を示す旨のコードでない場合には(図10:ステップS810:N)、命令デコード部5200は、オペコード5111「Add」をアドレステーブル記憶部5400に渡して、構成情報のアドレスを要求する。
アドレステーブル記憶部5400は、命令情報テーブル5410を参照し、オペコード種別5411に、渡されたオペコード5111「Add」が在るかを検索し、結果、ないことから、再構成可能演算器5600は使用しない旨を命令デコード部5200に返す(図10:ステップS820:N、図9:ステップS510)。
再構成可能演算器5600を使用しない旨を受取った命令デコード部5200は、「Add r0,r1,r2」のデコード済みの命令を演算制御部5300に渡す。
デコード結果を渡された演算制御部5300は、固定機能演算器5700に命令を発行し、命令コード「Add r0,r1,r2」を実行する(図10:ステップS830、840)。
命令フェッチ部5100は、命令コード「Add r0,r1,r2」をフェッチ後、次の命令コード「Sub r3,r1,r3」をフェッチし(図10:ステップS800、図9:ステップS520)、命令デコード部5200に渡す。
命令コードを受取った命令デコード部5200は、オペコード5111「Sub」をアドレステーブル記憶部5400に渡して、構成情報のアドレスを要求する。
アドレステーブル記憶部5400は、命令情報テーブル5410を参照し、オペコード種別5411に、渡されたオペコード5111「Sub」が在るかを検索し、結果、あることから、アドレス5412「addr1」を命令デコード部5200に返す(図10:ステップS820:Y、図9:ステップS600)。
アドレスを受取った命令デコード部5200は、再構成情報記憶部5500に受取ったアドレス5412「addr1」を渡し、そのアドレスの構成情報を再構成可能演算器5600に送信して再構成を行う旨を指示する。
指示を行った命令デコード部5200は、「Sub r3,r1,r3」のデコード済みの命令を演算制御部5300に渡す。
一方指示を受取った再構成情報記憶部5500は、受取ったアドレスの構成情報を再構成可能演算器5600に送信して再構成を行う(図10:ステップS850、図9:ステップS610)。
この再構成は、再構成可能演算器5600の4エリアのうち、3エリアを再構成する(図7参照)。
デコード結果を渡された演算制御部5300は、再構成可能演算器5600に命令を発行し、命令コード「Sub r3,r1,r3」を実行する(図10:ステップS860、図9:ステップS620)。
その後、実行結果をレジスタ3に書き出す(図9:ステップS630)。
このように、命令を順次同時に行っていく。
ここで、命令コード「Sub r3,r1,r3」の次の命令コード「Reconf0 r2,r0,0xfe」を実行する場合を見ると、このオペコード「Reconf0」は再構成可能演算器5600を使用する。
従って、「Sub r3,r1,r3」を実行中(図9:ステップS620)に、再構成を行うことになる(図9:ステップS700)。
このオペコード種別5411「Reconf0」は、使用エリア数5413「1」個であることから、「Sub r3,r1,r3」がエリアを3個使用して実行中であっても、再構成が可能となる。
次の命令コード「Reconf1 r3,r1,r3」を実行する場合も同様である。
このように、再構成可能な演算器を持つプロセッサにおいて、命令単位で再構成可能な演算器を制御することが可能となり、柔軟且つ高性能な演算処理を、高い面積効率で実現することができる。
<変形例>
次に、実施形態2の変形例について説明する。
実施形態2では、1命令ごとに再構成可能演算器を再構成したが、本変形例では、複数の命令を一度に再構成する例を説明する。同時に複数の命令を実行できることから、処理速度の向上を図ることができる。
図11〜図13とを用いて、どのように命令が実行されるかを説明する。
図11は、本変形例の命令セットを用いたプログラム例であり、図12は、プログラムを動作させたプロセッサのパイプライン動作の例である。
また、図13は、本変形例のプロセッサの命令実行処理を示すフローチャートである。
まず、図11のプログラムの、各命令の内容については、図8と同様である。
但し、「Reconf0 r2,r0,0xfe」と「Reconf1 r3,r1,r3」とを同じステージで行う点が異なる。図11では、説明の便宜上、「Reconf0 r2,r0,0xfe」と「Reconf1 r3,r1,r3」とを横に並べて記載することで、同時に実行されることを示しているが、2命令を同時に実行することを命令デコード部5200が解釈できるように、コンパイラが出力しておくこととする。
例えば、命令の使用する再構成可能演算器5600のエリア数を考慮し、コンパイル時に、命令の順序及び命令で再構成するエリアの番号を決める。すなわち、コンパイル時に、命令実行の順序を考慮して、同時に実行可能で、且つ、同時に再構成できる命令を選択し、それぞれの再構成を行うエリアを決める。この並列に実行する命令と使用するエリア番号とは、例えば、並列実行を示す命令コードを設けて、そのオペランドにこれら命令とエリア番号などを記載する。
具体的には、コンパイルにおいて、使用エリア数5413が考慮されて、「Sub」と「Reconf0」とは同時に再構成可能であるが、「Sub」と「Reconf1」とは同時に再構成は出来ないことになる。「Sub」と「Reconf0」とは合わせて4つのエリアを使用するが、「Sub」と「Reconf1」とは合わせて5つのエリアを必要とするからである(図7参照)。
図12及び図13を用いて、プログラムを実行するプロセッサの動作を簡単に説明する。図13のフローチャートに沿って、図12のタイムチャートを参照しながら説明する。
図13のフローチャートは、図10のフローチャートとの差異のみを説明する。具体的には、ステップS900〜ステップS920までである。
「Reconf0 r2,r0,0xfe」と「Reconf1 r3,r1,r3」は、再構成可能演算器を使用し、且つ、同時に実行することを解析した命令デコード部5200は、オペコード5111「Reconf0」と「Reconf1」とをアドレステーブル記憶部5400に渡して、構成情報のアドレスを要求する。
アドレステーブル記憶部5400は、命令情報テーブル5410を参照し、アドレス5412「addr4」と「addr5」とを命令デコード部5200に返す(図13:ステップS820:Y、ステップS900:Y)。
アドレスを受取った命令デコード部5200は、再構成情報記憶部5500に受取ったアドレス5412「addr4」と「addr5」を渡し、そのアドレスの構成情報を再構成可能演算器5600に送出して再構成を行う旨を指示する。
指示を行った命令デコード部5200は、「Reconf0 r2,r0,0xfe」と「Reconf1 r3,r1,r3」のデコード済みの命令を演算制御部5300に渡す。
一方指示を受取った再構成情報記憶部5500は、受取ったアドレスの構成情報を再構成可能演算器5600に送信して再構成を行う(図13:ステップS910、図12:ステップS700)。
デコード結果を渡された演算制御部5300は、再構成可能演算器5600に命令を発行し、命令コード「Reconf0 r2,r0,0xfe」と「Reconf1 r3,r1,r3」を実行する(図13:ステップS920、図12:ステップS710)。
命令コードを受取った命令デコード部5200は、再構成可能演算器を使用しない場合(図13:ステップS820:N)と、使用したとしても1つの命令の場合(図13:ステップS900:N)とには、それぞれ図10と同様の処理を行う(図13:ステップS830〜ステップS870)。
尚、ここでは、再構成可能な演算器を用いる二つの命令を同時に処理する場合を説明したが、同時に発行できる命令数は二つに限るものではない。また、固定機能演算器5700を使用する命令と同時に処理してもよい。
<補足>
以上、本発明に係るプロセッサについて実施形態に基づいて説明したが、このプロセッサを部分的に変形することもでき、本発明は上述の実施形態に限られないことは勿論である。即ち、
(1)実施形態2では、命令コードのオペコードと構成情報とを対応付けていたが、これに限られない。
例えば、オペランドの一部に構成情報を示すコードを入れておいても良い。図14に示すように、命令コード5150のオペランドのフィールド5160に、構成情報のIDなどを入れておき、実行時にIDに応じて構成情報を特定する。
(2)実施形態2では、説明の便宜上、複数の固定機能演算器の実行については詳細な説明はしていないが、これらの固定機能演算器と再構成可能演算器とが同時に実行できるものである場合には、同時に複数の命令を発行することとしても良い。
同時に発行すべき命令の決定如何によっては、演算効率を大幅に向上させることが可能となる。
すなわち、再構成可能なハードウェアによって構成された演算器においては、複数種類の演算機能が選択的に実行可能である。従って、任意の命令を実行することでき、本発明による命令セットを用いることにより、命令の並列度を向上させた最適な機能を実現するプログラムを作成することが可能となるからである。
同時に発行すべき命令を決定する動作は、例えば、プロセッサの内部で命令解釈時に行われるものでも、プロセッサに対して与えられるプログラムの時点で、予め行われているものでもよい。
(3)実施形態では、再構成可能演算器は、均質な複数のエリアに分かれていることとしているが、エリア毎に異なる論理ブロックを有していてもよく、また、そのエリアの大きさが異なっていても良い。
(4)実施形態では、再構成可能演算器を構成する論理ブロックは、ルックアップテーブルとフリップフロップを含む回路ユニットであることとしているが、論理ブロックは、ALU(Arithmetic and Logical Unit)、シフトやデータ制御、論理演算を行なうユニット、フリップフロップなどから構成されるもの、すなわち、一般の論理回路の組合せで構成されるものであってもよい。
本発明にかかるプロセッサは、回路規模を抑えつつ柔軟かつ高性能な処理を実現することが可能であるため、画像処理LSIの演算器等として特に有用である。
プロセッサ1000の構成例を表す図である。 図2(a)は、スレッド情報テーブル1410の構成例及び内容例を示す図であり、図2(b)は、スレッドの実行例を示すタイムチャートである。 図3(a)は、スレッド情報テーブル1420の構成例及び内容例を示す図であり、図3(b)及び(c)は、スレッドの実行例を示すタイムチャートである。 本プロセッサのスレッド制御の処理を示すフローチャートである。 実施形態2のプロセッサ5000の構成例を表す図である。 実施形態2で使用する命令コードの構成例を示す図である。 命令情報テーブル5410の構成例及び内容例を示す図である。 実施形態2に係る命令セットを用いたプログラム例である。 プログラムを動作させたプロセッサのパイプライン動作の例である。 実施形態2のプロセッサの命令実行処理を示すフローチャートである。 変形例の命令セットを用いたプログラム例である。 変形例のプログラムを動作させたプロセッサのパイプライン動作の例である。 変形例のプロセッサの命令実行処理を示すフローチャートである。 実施形態2で使用する命令コードの構成の変形例を示す図である。
符号の説明
1000 5000 プロセッサ
1100 マルチスレッドプロセッサ
1110 スレッドスケジュール部
1110 旨スレッドスケジュール部
1120 固定機能演算器
1200 再構成可能演算器
1300 構成情報記憶部
1300 再構成情報記憶部
1400 再構成制御部
1410 1420 スレッド情報テーブル
5010 命令記憶部
5100 命令フェッチ部
5110 5150 命令コード
5111 オペコード
5112 オペランド
5200 命令デコード部
5300 演算制御部
5400 アドレステーブル記憶部
5410 命令情報テーブル
5413 使用エリア数
5500 再構成情報記憶部
5600 再構成可能演算器
5700 固定機能演算器

Claims (1)

  1. 複数の命令から成るプログラムを実行するプロセッサであって、
    再構成可能な集積回路と、
    回路構成情報に基づいて、前記集積回路の一部分を再構成する再構成手段と、
    複数の命令各々に対応する回路構成情報を記憶する構成情報記憶手段と、
    前記回路構成情報に基づいて前記集積回路を同時に再構成可能な2以上の命令を選択する選択手段と、
    前記選択手段で選択された2以上の命令に対応する回路構成情報に基づき再構成された集積回路を用いて、当該2以上の命令を並列実行する実行手段と
    を備えることを特徴とするプロセッサ。
JP2007263941A 2005-04-12 2007-10-10 プロセッサ Expired - Fee Related JP5175517B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007263941A JP5175517B2 (ja) 2005-04-12 2007-10-10 プロセッサ

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2005114133 2005-04-12
JP2005114133 2005-04-12
JP2005309352 2005-10-25
JP2005309352 2005-10-25
JP2007263941A JP5175517B2 (ja) 2005-04-12 2007-10-10 プロセッサ

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2007513029A Division JP4102425B2 (ja) 2005-04-12 2006-04-12 プロセッサ

Publications (3)

Publication Number Publication Date
JP2008052750A true JP2008052750A (ja) 2008-03-06
JP2008052750A5 JP2008052750A5 (ja) 2009-05-14
JP5175517B2 JP5175517B2 (ja) 2013-04-03

Family

ID=39236684

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007263941A Expired - Fee Related JP5175517B2 (ja) 2005-04-12 2007-10-10 プロセッサ

Country Status (1)

Country Link
JP (1) JP5175517B2 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009153977A1 (ja) * 2008-06-19 2009-12-23 パナソニック株式会社 マルチプロセッサ
JP2010287159A (ja) * 2009-06-15 2010-12-24 Fujitsu Ltd 信号処理システム、信号処理モジュール、及びこれらの動作方法
US8365179B2 (en) 2008-09-30 2013-01-29 Renesas Electronics Corporation Multi-thread processor and its hardware thread scheduling method
US8539203B2 (en) 2008-09-30 2013-09-17 Renesas Electronics Corporation Multi-thread processor selecting threads on different schedule pattern for interrupt processing and normal operation
US8607030B2 (en) 2008-09-30 2013-12-10 Renesas Electronics Corporation Scheduling threads instructions in variably selected or predetermined order periods of requested time ratio
JP2017135698A (ja) * 2015-12-29 2017-08-03 株式会社半導体エネルギー研究所 半導体装置、コンピュータ及び電子機器
JP2018530025A (ja) * 2015-06-26 2018-10-11 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッドAdvanced Micro Devices Incorporated 高速で再構成可能な回路及び高帯域幅のメモリインタフェースを用いたコンピュータアーキテクチャ

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0869377A (ja) * 1994-05-10 1996-03-12 Sgs Thomson Microelectron Sa コプロセッサを使用するための電子回路及び方法
JPH08286908A (ja) * 1995-04-17 1996-11-01 Ricoh Co Ltd 動的に再設定自在な処理ユニット、システム及び方法
JPH10320214A (ja) * 1997-04-09 1998-12-04 Ricoh Co Ltd コンパイルシステム及びコンピュータプログラム製品
JP2000242613A (ja) * 1999-02-23 2000-09-08 Ricoh Co Ltd 動的再構成計算のためのメタアドレスアーキテクチャ及びアドレス指定方法
JP2001068993A (ja) * 1999-08-25 2001-03-16 Fuji Xerox Co Ltd 情報処理システム
JP2004070869A (ja) * 2002-08-09 2004-03-04 Sony Corp 演算システム
JP2007334538A (ja) * 2006-06-14 2007-12-27 Fuji Xerox Co Ltd プログラマブルデバイス制御装置、プログラマブル論理回路装置及びプログラマブルデバイスの制御方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0869377A (ja) * 1994-05-10 1996-03-12 Sgs Thomson Microelectron Sa コプロセッサを使用するための電子回路及び方法
JPH1083303A (ja) * 1994-05-10 1998-03-31 Sgs Thomson Microelectron Sa コプロセッサを使用するための電子回路及び方法
JPH08286908A (ja) * 1995-04-17 1996-11-01 Ricoh Co Ltd 動的に再設定自在な処理ユニット、システム及び方法
JPH10320214A (ja) * 1997-04-09 1998-12-04 Ricoh Co Ltd コンパイルシステム及びコンピュータプログラム製品
JP2000242613A (ja) * 1999-02-23 2000-09-08 Ricoh Co Ltd 動的再構成計算のためのメタアドレスアーキテクチャ及びアドレス指定方法
JP2001068993A (ja) * 1999-08-25 2001-03-16 Fuji Xerox Co Ltd 情報処理システム
JP2004070869A (ja) * 2002-08-09 2004-03-04 Sony Corp 演算システム
JP2007334538A (ja) * 2006-06-14 2007-12-27 Fuji Xerox Co Ltd プログラマブルデバイス制御装置、プログラマブル論理回路装置及びプログラマブルデバイスの制御方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
CSNG200300033016; 飯田全広、外2名: 'マルチスレッド制御ライブラリのハードウェア化によるリコンフィギャラブルシステム' 電子情報通信学会技術研究報告 第96巻、第426号, 19961213, 第135頁乃至第142頁, 社団法人電子情報通信学会 *
JPN6007013659; 飯田全広、外2名: 'マルチスレッド制御ライブラリのハードウェア化によるリコンフィギャラブルシステム' 電子情報通信学会技術研究報告 第96巻、第426号, 19961213, 第135頁乃至第142頁, 社団法人電子情報通信学会 *
JPN7007002241; OKADA, M., et al.: 'A Reconfigurable Processor based on ALU array architecture with limitation on the interconnection' Parallel and Distributed Processing Symposium, 2005. Proceedings. 19th IEEE International , 20050404, pp. 1 - 6, IEEE *

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009153977A1 (ja) * 2008-06-19 2009-12-23 パナソニック株式会社 マルチプロセッサ
CN102067088A (zh) * 2008-06-19 2011-05-18 松下电器产业株式会社 多处理器
US8433884B2 (en) 2008-06-19 2013-04-30 Panasonic Corporation Multiprocessor
US8365179B2 (en) 2008-09-30 2013-01-29 Renesas Electronics Corporation Multi-thread processor and its hardware thread scheduling method
US8539203B2 (en) 2008-09-30 2013-09-17 Renesas Electronics Corporation Multi-thread processor selecting threads on different schedule pattern for interrupt processing and normal operation
US8607030B2 (en) 2008-09-30 2013-12-10 Renesas Electronics Corporation Scheduling threads instructions in variably selected or predetermined order periods of requested time ratio
US9098336B2 (en) 2008-09-30 2015-08-04 Renesas Electronics Corporation Multi-thread processor and its hardware thread scheduling method
US9501320B2 (en) 2008-09-30 2016-11-22 Renesas Electronics Corporation Scheduling threads according to real time bit in predetermined time period or in variable time period of requested time ratio
US9529597B2 (en) 2008-09-30 2016-12-27 Renesas Electronics Corporation Multithread processor with different schedule pattern cycle state for handling interrupt processing
JP2010287159A (ja) * 2009-06-15 2010-12-24 Fujitsu Ltd 信号処理システム、信号処理モジュール、及びこれらの動作方法
JP2018530025A (ja) * 2015-06-26 2018-10-11 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッドAdvanced Micro Devices Incorporated 高速で再構成可能な回路及び高帯域幅のメモリインタフェースを用いたコンピュータアーキテクチャ
JP2017135698A (ja) * 2015-12-29 2017-08-03 株式会社半導体エネルギー研究所 半導体装置、コンピュータ及び電子機器

Also Published As

Publication number Publication date
JP5175517B2 (ja) 2013-04-03

Similar Documents

Publication Publication Date Title
JP5175517B2 (ja) プロセッサ
US7577826B2 (en) Stall prediction thread management
US7366874B2 (en) Apparatus and method for dispatching very long instruction word having variable length
JP3797471B2 (ja) マルチスレッドvliwプロセッサにおける分割可能なパケットを識別するための方法および装置
US8869147B2 (en) Multi-threaded processor with deferred thread output control
JP4102425B2 (ja) プロセッサ
US8650554B2 (en) Single thread performance in an in-order multi-threaded processor
JP3832623B2 (ja) マルチスレッドvliwプロセッサにおいて機能単位を割り当てるための方法および装置
JP5173714B2 (ja) マルチスレッドプロセッサ及びその割り込み処理方法
JP2008123045A (ja) プロセッサ
JP3777541B2 (ja) マルチスレッドvliwプロセッサにおけるパケット分割の方法および装置
KR20050016170A (ko) 실시간 동작 수행방법 및 시스템
US20150287159A1 (en) Process synchronization between engines using data in a memory location
KR20150019349A (ko) 다중 쓰레드 실행 프로세서 및 이의 동작 방법
US20050257027A1 (en) Processing apparatus, processing method and compiler
JP5825261B2 (ja) 情報処理装置、その方法及びそのプログラム
CN100492296C (zh) 处理器
US20130024488A1 (en) Semiconductor device
JP5576605B2 (ja) プログラム変換装置およびプログラム変換方法
JP5096923B2 (ja) 動的再構成論理回路を有するマルチスレッドプロセッサ
WO2024093541A1 (zh) 多线程处理器的译码方法、处理器、芯片及电子设备
JPH03150633A (ja) 命令解読装置
JP2008009473A (ja) データ処理装置及びプログラム実行方式
JPH11203145A (ja) 命令スケジューリング方法
JP5013966B2 (ja) 演算処理装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090331

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090331

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120403

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120525

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: 20121211

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130107

R150 Certificate of patent or registration of utility model

Ref document number: 5175517

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees