JPWO2013011620A1 - マルチプロセッサシステム - Google Patents

マルチプロセッサシステム Download PDF

Info

Publication number
JPWO2013011620A1
JPWO2013011620A1 JP2013524581A JP2013524581A JPWO2013011620A1 JP WO2013011620 A1 JPWO2013011620 A1 JP WO2013011620A1 JP 2013524581 A JP2013524581 A JP 2013524581A JP 2013524581 A JP2013524581 A JP 2013524581A JP WO2013011620 A1 JPWO2013011620 A1 JP WO2013011620A1
Authority
JP
Japan
Prior art keywords
instruction
processor
processing
specifying
debug mode
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.)
Withdrawn
Application number
JP2013524581A
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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2013524581A priority Critical patent/JPWO2013011620A1/ja
Publication of JPWO2013011620A1 publication Critical patent/JPWO2013011620A1/ja
Withdrawn 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • 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/30181Instruction operation extension or modification
    • G06F9/30185Instruction operation extension or modification according to one or more bits in the instruction, e.g. prefix, sub-opcode
    • 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/3877Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor

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)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)
  • Advance Control (AREA)

Abstract

一のプロセッサの動作と他のプロセッサの動作とについて、効率的にデバッグできるマルチプロセッサシステムを提供する。第1プロセッサと、当該第1プロセッサからの通知を受けて処理を実行する第2プロセッサとを有するマルチプロセッサシステムにおいて、前記第1プロセッサは、命令列中から実行対象となる命令を逐次特定し、特定した命令が処理依頼命令である場合には前記第2プロセッサに対して当該処理依頼に基づく通知を行い、処理依頼命令でない場合には当該命令を実行するともに、デバッグモードが設定されているか否かを判別し、デバッグモードが設定されていると判断する場合に処理依頼命令を特定すると以降の命令の特定は停止し、前記通知をした後、前記第2プロセッサが前記通知に応じた処理を完了したことを検知すると命令の特定を再開する。

Description

本発明は、メインプロセッサとコプロセッサを備えるマルチプロセッサシステムにおいて、ソフトウェアデバッグ効率を向上させる技術に関する。
デジタル化された映像データや、音声データなどの圧縮、伸張等を行うメディア処理は非常に演算量が大きい。このため、メディア処理を行うための専用ハードウェアや高性能なDSP(Digital Signal Processor)などが普及している。
このようなメディア処理について、MPEG(Moving Picture Experts Group)−2、MPEG−4、H.263、H.264等、非常に多数の規格が実用化されている。このため、デジタルAV(Audio-Visual)機器は、複数の規格のメディア処理に対応することが要求されている。さらに、各メディア処理アプリケーションの複雑度は上昇しており、画像サイズ、音声のチャネル数等も増加する傾向にあり、演算量は増大の一歩をたどっている。
そこで、特定の演算に特化したコプロセッサを備えることにより演算効率を大幅に向上させた、高性能なプロセッサを用いることにより、性能向上を図っている。
コプロセッサを備えるマルチプロセッサシステムでは、メインプロセッサでの処理とコプロセッサでの処理間で、ソフトウェア上のデータ依存性及び、使用するハードウェアリソースに競合が無い場合、それらの処理を同時に実行することにより、より性能向上を図ることが可能である。
例えば、特許文献1には、実行モードを設定することによって、メインプロセッサとコプロセッサ(FPU:Floating Point number processing Unit)それぞれの命令実行動作が変化する構成が開示されている。この特許文献1によると、メインプロセッサとコプロセッサ(FPU)の命令実行モード(シリアル・スカラ)を統一させ、浮動小数点命令(コプロセッサに相当)の実行時に、メインプロセッサの命令実行モードをコプロセッサ(FPU)側にあわせるという制御を行っている。これにより、メインプロセッサとコプロセッサとの処理を同時に行うことができる。
特開平7-319694号公報
しかしながら、上述の技術では、メインプロセッサ側の命令実行モードがコプロセッサ側の動作に同期させることで、動作を単純化し性能を向上させることができるが、その反面、メインプロセッサ及びコプロセッサについてのソフトウェアデバッグ効率が下がってしまうという問題がある。
そこで、本発明は、一のプロセッサの動作と他のプロセッサの動作とについて、効率的にデバッグできるマルチプロセッサシステム及び方法を提供することを目的とする。
上記目的を達成するために、本発明は、第1プロセッサと、当該第1プロセッサからの通知を受けて処理を実行する第2プロセッサとを有するマルチプロセッサシステムであって、前記第1プロセッサは、デバッグモードが設定されているか否かを判別する判別手段と、命令列中から実行対象となる命令を逐次特定する特定手段と、特定された命令が、処理依頼命令である場合には前記第2プロセッサに対して当該処理依頼に基づく通知を行い、処理依頼命令でない場合には当該特定された命令を実行する実行手段と、前記第2プロセッサが前記通知に応じた処理を完了したことを検知する検知手段とを備え、前記特定手段は、前記判別手段でデバッグモードが設定されていると判別される場合において、処理依頼命令を特定すると以降の命令の特定は停止し、前記完了が検知されると命令の特定を再開することを特徴とする。
上記構成によると、マルチプロセッサシステムは、前記判別手段でデバッグモードが設定されていると判別される場合において、処理依頼命令を特定すると以降の命令の特定は停止し、前記完了が検知されると命令の特定を再開する。これにより、マルチプロセッサは、処理依頼命令を特定後において、以降の命令の特定を停止することで、第2プロセッサが処理する命令と、処理依頼命令の特定後以降の命令とは並列に発行されないので、効率的にデバッグすることができる。
マルチプロセッサシステム10の構成を示す図である。 発行命令決定処理を示す流れ図である。 通常モードの場合におけるメインプロセッサ11とコプロセッサ12との処理を説明する図である。 デバッグモードの場合におけるメインプロセッサ11とコプロセッサ12との処理を説明する図である。 マルチプロセッサシステム1000の構成を示す図である。 発行命令決定処理を示す流れ図である。 第2のデバッグモードの場合におけるメインプロセッサ1001とコプロセッサ1002との処理を説明する図である。 マルチプロセッサシステム10を用いたデコード処理を説明する図である。 マルチプロセッサシステム10を用いたエンコード処理を説明する図である。
(本発明の基礎となった知見)
上記特許文献1で開示された技術は、上述したように、メインプロセッサ側の命令実行モードがコプロセッサ側の動作に同期させることで、動作を単純化し性能を向上させることができる。
しかしながら、上記特許文献1で開示された技術では、メインプロセッサ及びコプロセッサについてのソフトウェアデバッグ効率が下がってしまう。例えば、コプロセッサ側のソフトウェアが、メインプロセッサが使用するメモリ領域の一部分を誤って破壊してしまっていた場合、同時にメインプロセッサとコプロセッサとが並列に実行していることで障害原因となるプログラムの切り分けが困難となる。そのため、その不具合は、ソフトウェアのうちメインプロセッサが実行している命令列による不具合なのか、コプロセッサが実行している命令列による不具合なのか、つまりはメインプロセッサ側のソフトウェアが持つソフトウェア不具合なのか、コプロセッサ側のソフトウェアが持つソフトウェア不具合なのかが不明となってしまう。
そこで、発明者が鋭意検討し、一のプロセッサの動作と他のプロセッサの動作とについて、効率的にデバッグできるマルチプロセッサシステムを見出し、発明に至った。
本発明の一態様である、第1プロセッサと、当該第1プロセッサからの通知を受けて処理を実行する第2プロセッサとを有するマルチプロセッサシステムは、前記第1プロセッサは、デバッグモードが設定されているか否かを判別する判別手段と、命令列中から実行対象となる命令を逐次特定する特定手段と、特定された命令が、処理依頼命令である場合には前記第2プロセッサに対して当該処理依頼に基づく通知を行い、処理依頼命令でない場合には当該特定された命令を実行する実行手段と、前記第2プロセッサが前記通知に応じた処理を完了したことを検知する検知手段とを備え、前記特定手段は、前記判別手段でデバッグモードが設定されていると判別される場合において、処理依頼命令を特定すると以降の命令の特定は停止し、前記完了が検知されると命令の特定を再開することを特徴とする。
1.第1の実施の形態
以下、本発明に係る第1の実施の形態について、図面を参照しながら説明する。
1.1 構成
図1は、第1の実施の形態におけるマルチプロセッサシステム10の構成を示すブロック図である。
マルチプロセッサシステム10は、図1に示すように、メインプロセッサ11とコプロセッサ12とから構成されている。マルチプロセッサシステム10において、デバッグモードが設定されていない状態、つまり通常モードの状態である場合には、メインプロセッサ11とコプロセッサ12とは、並列に処理を行う。デバッグモードが設定されている場合には、並列処理は行わない。
(1)メインプロセッサ11について
メインプロセッサ11は、図1に示すように、命令メモリ101、命令フェッチ制御部102、命令群決定部103、命令バッファ104、発行命令決定部105、レジスタファイル106、演算器群107、データメモリ109、ライトバックバス110、及びデバッグモード判別部111から構成されている。
(1−1)命令メモリ101
命令メモリ101は、メインプロセッサ11において実行される命令を保持するメモリであり、複数の命令の組み合わせからなる命令流を保持している。
(1−2)命令フェッチ制御部102
命令フェッチ制御部102は、プログラムカウンタ(PC)を保持し、次に実行する命令を命令メモリから読み出すとともに、プログラムカウンタ値を次読み出し命令の値に更新する。
また、命令フェッチ制御部102は、演算器群107から、分岐命令実行や、及び例外発生に相当する特殊処理ベクタへの分岐処理要求を受け取り、読み出しプログラムカウンタの制御を行う。
(1−3)命令群決定部103
命令群決定部103は、命令メモリ101から、命令流に属する命令を読み出し、デコードを行い、命令バッファ104に書き込む。
(1−4)命令バッファ104
命令バッファ104は、命令流に属する命令を受け取り、保持するものである。
(1−5)デバッグモード判別部111
デバッグモード判別部111は、デバッグモードが設定されているか否かを判別するものである。
具体的には、デバッグモード判別部111は、デバッグモード指定レジスタを保持し、その値によってデバッグモードか否かを判別し、その結果を発行命令決定部105へ通知する。ここで、デバッグモード指定レジスタは、ソフトウェアによって設定される制御レジスタである。
(1−6)発行命令決定部105
発行命令決定部105は、命令バッファ104からマシンサイクル毎に発行すべき命令を決定し、決定した命令に応じて、メインプロセッサ11内で命令の実行及びコプロセッサ12へ処理依頼を行う。
発行命令決定部105は、図1に示すように、命令特定部201、命令実行部202及び検知部203を有している。
命令特定部201は、命令バッファ104からマシンサイクル毎に発行すべき命令を特定するものである。命令特定部201は、デバッグモード判別部111でデバッグモードが設定されていると判断する場合において、コプロセッサ12が処理実行中であるときには、発行すべき命令の特定を中止し、コプロセッサ12の処理が完了すると命令の特定を再開する。
命令実行部202は、命令特定部201で特定された命令がコプロセッサ12への処理依頼命令である場合にはコプロセッサ12に対して当該処理依頼に基づく通知(以降、起動命令という。)を行う。また、命令実行部202は、特定された命令がコプロセッサ12への処理依頼命令以外の命令である場合には当該命令の実行、つまり演算群に対して当該命令に基づく処理を行わせる。
検知部203は、デバッグモード判別部111でデバッグモードが設定されていると判断する場合において、コプロセッサ12での処理完了を検知するものである。具体的には、検知部203は、コプロセッサ12から出力される信号(例えば、ビジー信号)を受信している間はコプロセッサ12は処理実行中であると判断し、ビジー信号を受信しなくなると、処理が完了したと判断する。
(1−7)レジスタファイル106
レジスタファイル106は、命令バッファ104に保持された命令流を実行することによって、読み出し及び書き込みの対象とされるデータを保持するレジスタ群である。
(1−8)演算器群107
演算器群107は、加算器や乗算器などの複数の演算器107a、107b、107cを含む処理部であり、図1に示すように、メモリアクセス部108をも有している。
ここで、メモリアクセス部108は、データメモリ109とアクセスする命令を実行するための演算器である。
(1−9)ライトバックバス110
ライトバックバス110は、演算器群107からの出力をレジスタファイル106に書き戻すためのバスである。
(1−10)データメモリ109
データメモリ109は、当該メモリとアクセスする命令によってアクセスされ、プログラムを実行する際のデータを保持している。
(2)コプロセッサ12について
コプロセッサ12は、図1に示すように、命令処理部121、レジスタファイル122、演算器群123、データメモリ125と、ライトバックバス126とから構成されている。
(2−1)命令処理部121
命令処理部121は、発行命令決定部105から、起動命令を受け取ることによって、コプロセッサ命令流を起動し、実行する。
命令処理部121は、メインプロセッサ11の命令流とは独立した、複数のコプロセッサ命令流を記憶しており、メインプロセッサ11からの起動命令は、いずれの命令流を実行するかを指定する情報を含んでいる。例えば、起動命令の中に、3ビットの指定情報を持った場合、8種類のコプロセッサ命令流の中から1つを指定することができる。
命令処理部121は、起動されたコプロセッサ命令流の実行中は、メインプロセッサ11の発行命令決定部105に対してビジー信号を出力する。起動されたコプロセッサ命令流の実行が完了すると、ビジー信号の出力を停止する。ここで、コプロセッサ命令流には、命令流の終端を示す命令が含まれており、順次実行した結果、終端を示す命令に達するとコプロセッサ処理の完了として扱う。
(2−2)レジスタファイル122
レジスタファイル122は、コプロセッサ命令流を実行することによって、読み出し及び書き込みの対象とされるデータを保持するレジスタ群である。
(2−3)演算器群123
演算器群123は、コプロセッサ命令流によって用いられる加算器や乗算器などの複数の演算器を含む処理部である。
また、演算器群123は、図1に示すように、メモリアクセス部124をも有している。ここで、メモリアクセス部124は、データメモリとアクセスする命令を実行するための演算器である。
(2−4)ライトバックバス126
ライトバックバス126は、演算器群123からの出力をレジスタファイル122に書き戻すためのバスである。
(2−5)データメモリ125
データメモリ125は、当該メモリとアクセスする命令によってアクセスされ、プログラムを実行する際のデータを保持している。
1.2 動作
ここでは、発行命令決定部105があるサイクルに発行する命令を確定する処理について、図2に示す流れ図を用いて説明する。あるサイクルに発行する命令を確定する処理とは、命令バッファ104内に蓄積された命令の中から、演算器群107に渡すことによって実行する命令を確定させる動作である。
命令特定部201は、命令バッファ104内に、発行可能な命令が存在するかを確認する(ステップS5)。ここで、発行可能な命令には、命令バッファ104内で、バリッド信号が付与されている。バリッド信号が付与された命令が存在しないケースは、分岐やメモリアクセスレイテンシ等の要因で、命令供給が間に合っていないケースが主である。また、命令は供給されているが、先行命令とのデータ依存が解決されていないためにバリッド信号が付与されていないケースも考えられる。
命令バッファ104にバリッド信号が付与された命令が存在する場合(ステップS5における「Yes」)は、命令特定部201は、デバッグモード設定がされているかどうかを確認する(ステップS10)。デバッグモードが設定されているか否かは、デバッグモード判別部111による判別結果に基づいて行われる。
デバッグモードが設定されていると判断する場合(ステップS10における「Yes」)、検知部203がコプロセッサが実行中であるかどうかを確認する(ステップS15)。 コプロセッサが実行中かどうかは、命令処理部121から出力されるビジー信号の受信の有無に基づいて行われる。
コプロセッサが実行中である場合(ステップS15における「Yes」)は、命令特定部201は、当該サイクルの命令発行無し、と決定し(ステップS20)、処理はステップS5へ戻る。
命令バッファ104にバリッド信号が付与された命令が存在しない場合(ステップS5における「No」)、命令特定部201の動作は、ステップS20に遷移する。
デバッグモード設定がなされていないと判断する場合(ステップS10における「No」)、及びコプロセッサが実行中でないと判断する場合(ステップS15における「No」)、命令特定部201は、当該サイクルの命令発行有りと決定し(ステップS25)、処理は、ステップS5へ戻る。
1.3 具体例
ここでは、通常モードの場合と、デバッグモードが設定されている場合とについて、メインプロセッサ11及びコプロセッサ12の処理について説明する。
まず通常モードの場合について図3を用いて説明する。
通常モードの場合には、メインプロセッサ11が命令流の命令を実行中において(t5)、処理依頼命令に基づいてコプロセッサ12へ通知を行う(t10)。コプロセッサ12では、通知を受け取ると、動作が起動される(t15)。また、同時にメインプロセッサ11では、通常モード時にはコプロセッサ処理とメインプロセッサ処理に依存関係が無いので、後続の処理を続けて実行する(t20)。
次にデバッグモード時について図4を用いて説明する。
デバッグモードが設定されている場合、メインプロセッサ11が命令流の命令を実行中において(t50)、処理依頼命令に基づいてコプロセッサ12へ通知を行う(t55)。コプロセッサ12では、通知を受け取ると、動作が起動される(t60)。このとき、コプロセッサ12はt60において動作がなされている間は、メインプロセッサ11に対してビジー信号を出力する。メインプロセッサ11においては、ビジー信号を受け取っている間は、処理は実行しない。その後、コプロセッサ12において動作が完了するとビジー信号の出力を中止する(t65)。メインプロセッサ11は、コプロセッサ12の動作完了を検知すると、処理を再開する(t70)。
これにより、デバッグモードが設定されている場合には、コプロセッサの処理が開始されると、メインプロセッサ11においては、後続の処理は実行されず、コプロセッサが動作中の期間は排他動作が保証される。また、一連の動作の中で、デバッグモード時におけるメインプロセッサ11内の命令単位の並列性を用いた動作と、コプロセッサ12内の命令単位の並列性を用いた動作は、プログラマが最終的に意図したもの(非デバッグモード動作)とほぼ同等である。
1.4 まとめ
以上により、本実施の形態で示すマルチプロセッサシステム10は、デバッグモードの設定に基づいて、コプロセッサ12における命令の実行をメインプロセッサ11と並列に行う、メインプロセッサ11の実行と排他にするという切り替えを行うことができる。
本実施の形態により、高性能なコプロセッサつきのプロセッサにおけるデバッグ時の要因切り分けを、ソフトウェアの改変無しに、容易に行うことができる。
2.第2の実施の形態
以下、本発明に係る第2の実施の形態について、図面を参照しながら説明する。
2.1 構成
図5は、第2の実施の形態におけるマルチプロセッサシステム1000の構成を示すブロック図である。
マルチプロセッサシステム1000は、第1の実施の形態で示すデバッグモード(以下、「第1のデバッグモード」という。)での機能に加えて、第2のデバッグモードの機能を有している。
以下においては、第2のデバッグモードについての機能説明を行う。また、第1の実施の形態で示す機能要素と同一の機能要素については、同じ符号を付する。
マルチプロセッサシステム1000は、図5に示すように、メインプロセッサ1001とコプロセッサ1002とから構成されている。マルチプロセッサシステム1000において、デバッグモードが設定されていない状態、つまり通常モードの状態である場合には、第1の実施の形態と同様にメインプロセッサ1001とコプロセッサ1002とは、並列に処理を行う。第1のデバッグモードが設定されている場合には、並列処理は行わない。また、第2のデバッグモードが設定されている場合には、メインプロセッサ1001とコプロセッサ1002とは並列処理を行うが、コプロセッサ1002において、異なる命令流、つまり異なる処理依頼の通知に基づく処理については、並列に処理をしない。
(1)メインプロセッサ1001について
メインプロセッサ1001は、図5に示すように、命令メモリ101、命令フェッチ制御部102、命令群決定部103、命令バッファ104、発行命令決定部1105、レジスタファイル106、演算器群107、データメモリ109、ライトバックバス110、及びデバッグモード判別部1111から構成されている。
以下、発行命令決定部1105及びデバッグモード判別部1111の機能について説明する。
(1−1)デバッグモード判別部1111
デバッグモード判別部1111は、デバッグモードが設定されているか否かを判別するものである。また、デバッグモードが設定されている場合には、第1デバッグモードであるか第2のデバッグモードであるかを判別する。
具体的には、デバッグモード判別部111は、デバッグモード指定レジスタを保持し、その値により第1のデバッグモードが設定されているか、第2のデバッグモードが設定されているか、何れのデバッグモードも設定されていないのかを判別し、その結果を発行命令決定部105へ通知する。ここで、デバッグモード指定レジスタは、ソフトウェアによって設定される制御レジスタである。
(1−2)発行命令決定部1105
発行命令決定部1105は、命令バッファ104からマシンサイクル毎に発行すべき命令を決定し、決定した命令に応じて、メインプロセッサ1001内で命令の実行及びコプロセッサ1002へ処理依頼を行う。
発行命令決定部1105は、図5に示すように、命令特定部1201、命令実行部1202及び検知部1203を有している。
命令特定部1201は、命令バッファ104からマシンサイクル毎に発行すべき命令を特定するものである。命令特定部1201は、デバッグモード判別部1111で第1のデバッグモードが設定されていると判断する場合においては、上記第1の実施の形態と同様の動作を行う。
デバッグモード判別部1111で第2のデバッグモードが設定されていると判断する場合には、命令特定部1201は、次に発行すべき命令がコプロセッサへの処理依頼命令であって、コプロセッサ1002が処理実行中であるときには、発行すべき命令の特定を中止し、コプロセッサ12の処理が完了すると命令の特定を再開する。
命令実行部1202は、命令特定部1201で特定された命令がコプロセッサ12への処理依頼命令である場合にはコプロセッサ1002に対して起動命令の通知を行う。また、命令実行部202は、特定された命令がコプロセッサ12への処理依頼命令以外の命令である場合には当該命令の実行、つまり演算群に対して当該命令に基づく処理を行わせる。
検知部1203は、デバッグモード判別部111で第1のデバッグモードが設定されている、又は第2のデバッグモードが設定されていると判断する場合において、コプロセッサ12での処理完了を検知するものである。具体的には、検知部203は、コプロセッサ12から出力される信号(例えば、ビジー信号)を受信している間はコプロセッサ12は処理実行中であると判断し、ビジー信号を受信しなくなると、処理が完了したと判断する。
2.2 動作
ここでは、発行命令決定部1105があるサイクルに発行する命令を確定する処理について、図6に示す流れ図を用いて説明する。あるサイクルに発行する命令を確定する処理とは、命令バッファ104内に蓄積された命令の中から、演算器群107に渡すことによって実行する命令を確定させる動作である。
命令特定部1201は、命令バッファ104内に、発行可能な命令が存在するかを確認する(ステップS100)。ここで、発行可能な命令には、命令バッファ104内で、バリッド信号が付与されている。バリッド信号が付与された命令が存在しないケースは、分岐やメモリアクセスレイテンシ等の要因で、命令供給が間に合っていないケースが主である。また、命令は供給されているが、先行命令とのデータ依存が解決されていないためにバリッド信号が付与されていないケースも考えられる。
命令バッファ104にバリッド信号が付与された命令が存在する場合(ステップS100における「Yes」)は、命令特定部1201は、第1のデバッグモード設定がされているかどうかを確認する(ステップS105)。第1のデバッグモードが設定されているか否かは、デバッグモード判別部1111による判別結果に基づいて行われる。
第1のデバッグモードが設定されていると判断する場合(ステップS105における「Yes」)、検知部1203がコプロセッサが実行中であるかどうかを確認する(ステップS110)。 コプロセッサが実行中かどうかは、命令処理部121から出力されるビジー信号の受信の有無に基づいて行われる。
コプロセッサが実行中である場合(ステップS110における「Yes」)は、命令特定部1201は、当該サイクルの命令発行無し、と決定し(ステップS130)、処理はステップS100へ戻る。
コプロセッサが実行中でないと判断する場合(ステップS110における「No」)、命令特定部1201は、当該サイクルの命令発行有りと決定し(ステップS135)、処理は、ステップS100へ戻る。
命令バッファ104にバリッド信号が付与された命令が存在しない場合(ステップS100における「No」)、命令特定部1201の動作は、ステップS135に遷移する。
第1のデバッグモード設定がなされていないと判断する場合(ステップS105における「No」)、命令特定部1201は、第2のデバッグモードが設定されているか否かを判断する(ステップS120)。第2のデバッグモードが設定されているか否かは、デバッグモード判別部1111による判別結果に基づいて行われる。
第2のデバッグモードが設定されていると判断する場合(ステップS115における「Yes」)、命令特定部1201は、発行すべき命令がコプロセッサ1002への処理依頼命令であるか否かを判断する(ステップS120)。
命令特定部1201で発行すべき命令がコプロセッサ1002への処理依頼命令であると判断される場合(ステップS120における「Yes」)、検知部1203がコプロセッサが実行中であるかどうかを確認する(ステップS125)。 コプロセッサが実行中かどうかは、命令処理部121から出力されるビジー信号の受信の有無に基づいて行われる。
コプロセッサが実行中である場合(ステップS125における「Yes」)は、命令特定部1201は、当該サイクルの命令発行無し、と決定し(ステップS130)、処理はステップS100へ戻る。
コプロセッサが実行中でないと判断する場合(ステップS125における「No」)、命令特定部1201は、当該サイクルの命令発行有りと決定し(ステップS135)、処理は、ステップS100へ戻る。
2.3 具体例
ここでは、第2のデバッグモードが設定されている場合とについて、メインプロセッサ11及びコプロセッサ12の処理について、図7を用いて説明する。なお、通常モードの場合と、第1のデバッグモードが設定されている場合については、第1の実施の形態で示す図3、4と同様でるので、個々での説明は省略する。
第2デバッグモードが設定されている場合、メインプロセッサ1001が命令流の命令を実行中において(t100)、処理依頼命令に基づいてコプロセッサ1002へ通知を行う(t1055)。この場合、コプロセッサ1002は実行されていないので、通知が行われる。
コプロセッサ12では、通知を受け取ると、動作が起動される(t110)。このとき、コプロセッサ1002はt110において動作がなされている間は、メインプロセッサ1001に対してビジー信号を出力する。
メインプロセッサ1001は、コプロセッサ1002が実行中(t110)であっても、発行すべき命令が処理依頼命令でない場合には、処理を続行する(t115)。そして、発行すべき命令が処理依頼命令であって、ビジー信号を受け取っている間は、メインプロセッサ1001は、処理を実行しない(t120)。その後、コプロセッサ1002において動作が完了するとビジー信号の出力を中止する(t125)。メインプロセッサ1001は、コプロセッサ12の動作完了を検知すると、処理を再開、つまり処理依頼命令を発行する(t130)。
その後、コプロセッサ1002では、通知を受け取ると、動作が起動される(t135)。メインプロセッサ1001では、コプロセッサ1002が実行中(t135)であっても、発行すべき命令が処理依頼命令でない場合には、処理が続行される(t140)。
3.第3の実施の形態
ここでは、本発明に係る第3の実施の形態として、第1の実施の形態で示すマルチプロセッサを用いた適用例について説明する。
図8に示すマルチプロセッサシステム1501は、デジタルAV機器向けのシステムLSI映像のデコード処理を行うものである。
例えば、H.264等の規格を用いて圧縮された映像信号をデコードするためには、ビットストリームの解析・可変長符号化された信号の可変長復号処理(VLD)・逆量子化及び逆周波数変換(IQT)・動き補償(MC)・画像の再構成(Recon)・デブロックフィルタ処理(DBF)を行う必要がある。
この中で逆量子化及び逆周波数変換(IQT)・動き補償(MC)・画像の再構成(Recon)・デブロックフィルタ処理(DBF)は(処理群1505を参照)、データ並列性を活用した処理が可能であり、特殊な演算器を用いたコプロセッサ処理に適しているため、これらの処理をコプロセッサ1503での処理として実行することにより、高性能なデコード処理を実現することができる。
さらに、例えば、マクロブロック単位でパイプラインを組み、メインプロセッサ1502での可変長復号処理(VLD)処理1504と、コプロセッサでの処理群1505を並列に行うことによってさらに高性能化することができる。
この場合に、第1の実施の形態で述べたデバッグモード機能を用いることによって、効率的なデバッグを実現することが可能となる。
図9に示すマルチプロセッサシステム1601は、デジタルAV機器向けのシステムLSI映像のエンコード処理を行うものである。
マクロブロックのエンコード処理には、通常、符号化対象の画像データに対する予測誤差を算出する動き推定処理、予測誤差に対して周波数変換及び量子化を行う量子化処理、量子化DCT係数及び動きベクトルを可変長符号化する符号化処理、参照画像の生成に係る処理、動き補償に係る処理が含まれる。
この中で符号化対象の画像データに対する予測誤差を算出する動き推定処理、予測誤差に対して周波数変換及び量子化を行う量子化処理、参照画像の生成に係る処理、動き補償は(処理群1605を参照)、データ並列性を活用した処理が可能であり、特殊な演算器を用いたコプロセッサ処理に適しているため、これらの処理をコプロセッサ1603の処理として実行することにより、高性能なデコード処理を実現することができる。
さらに、例えば、マクロブロック単位でパイプラインを組み、メインプロセッサ1602での量子化DCT係数及び動きベクトルを可変長符号化する符号化処理1604とコプロセッサ1603での処理群1605を並列に行うことによってさらに高性能化することができる。
この場合に、第1の実施の形態で述べたデバッグモード機能を用いることによって、効率的なデバッグを実現することが可能となる。
4.変形例
以上、各実施の形態に基づいて説明したが、本発明は上記の各実施の形態に限られない。例えば、以下のような変形例が考えられる。
(1)上記各実施の形態において、メインプロセッサは、コプロセッサが処理実行中か否かの判断に、コプロセッサから処理実行中に出力されるビジー信号を用いたが、これに限定されない。
コプロセッサは起動されたコプロセッサ命令流の実行が完了すると、発行命令決定部105に対してコプロセッサ処理が完了したことを通知し、メインプロセッサは、メインプロセッサは当該通知を受け取ることで、コプロセッサの処理完了を検知してもよい。
コプロセッサによるメモリアクセスの完了を当該コプロセッサの処理完了とみなしてもよい。例えば、コプロセッサの命令流内でメモリアクセスを使用した、データメモリに対するメモリアクセスが行われた場合、メモリへの読み出し又は書き込みアクセスの完了は、プロセッサ内の命令実行に対して遅延することがある。このような場合、メモリアクセスの完了をコプロセッサ処理の完了とすることで、例えば、意図しないメモリアクセスのアドレス一致による不具合を検出することが可能となる。
(2)第1の実施の形態において、非デバッグモード動作時においても、コプロセッサ起動命令の後続のメインプロセッサ命令を、コプロセッサ起動命令と同時発行しないよう制約してもよい。これにより、デバッグモードにおけるメインプロセッサ内の命令単位の並列性を用いた動作と、コプロセッサ内の命令単位の並列性を用いた動作は、プログラマが最終的に意図したもの(非デバッグモード動作)と完全に一致させることができる。
(3)上記第2実施の形態において、マルチプロセッサシステム1000は、out−of−order実行を許容するものであってもよい。
この場合、プログラムカウンタと異なる順番で命令が実行されることが許されるため、次の通知されるべき処理依頼命令の後続命令であっても、当該次に通知されるべき処理依頼命令に依存が無い場合、当該後続命令を先に実行することが可能となる。
(4)上記の実施の形態で説明した手法の手順を記述したプログラムをメモリに記憶しておき、CPU(Central Processing Unit)などがメモリからプログラムを読み出して、読み出したプログラムを実行することによって、上記の手法が実現されるようにしてもよい。
また、当該手法の手順を記述したプログラムを記録媒体に格納して、頒布するようにしてもよい。
(5)上記の実施の形態におけるマルチプロセッサシステムの各構成要素は、ハードウェア資源(プロセッサとメモリ上のプログラムとの協働)により実現される。
(6)上記実施の形態及び変形例を組み合わせるとしてもよい。
5.補足
(1)本発明の一実施態様である、第1プロセッサと、当該第1プロセッサからの通知を受けて処理を実行する第2プロセッサとを有するマルチプロセッサシステムにおいて、前記第1プロセッサは、デバッグモードが設定されているか否かを判別する判別手段と、命令列中から実行対象となる命令を逐次特定する特定手段と、特定された命令が、処理依頼命令である場合には前記第2プロセッサに対して当該処理依頼に基づく通知を行い、処理依頼命令でない場合には当該特定された命令を実行する実行手段と、前記第2プロセッサが前記通知に応じた処理を完了したことを検知する検知手段とを備え、前記特定手段は、前記判別手段でデバッグモードが設定されていると判別される場合において、処理依頼命令を特定すると以降の命令の特定は停止し、前記完了が検知されると命令の特定を再開することを特徴とする。
この構成によると、マルチプロセッサシステムは、前記判別手段でデバッグモードが設定されていると判別される場合において、処理依頼命令を特定すると以降の命令の特定は停止し、前記完了が検知されると命令の特定を再開する。これにより、マルチプロセッサは、処理依頼命令を特定後において、以降の命令の特定を停止することで、第2プロセッサが処理する命令と、処理依頼命令の特定後以降の命令とは並列に発行されないので、効率的にデバッグすることができる。
(2)ここで、前記第2プロセッサは前記通知に応じた処理を実行中は、当該処理を実行中である旨を示す信号を前記第1プロセッサへ出力し、前記検知手段は、前記第2プロセッサから前記信号が出力されている間は、前記第2プロセッサが前記通知に応じた処理を実行中であると判断し、当該信号が出力されなくなると前記通知に応じた処理が完了したと判断するとしてもよい。
この構成によると、マルチプロセッサシステムにおいて第1プロセッサは、第2プロセッサから出力される信号の有無により、第2プロセッサの動作の終了の完了を検知することができる。
(3)ここで、前記通知に応じた処理の完了とは、前記第2プロセッサが前記通知に応じた処理を実行するための命令流に含まれる全てのメモリアクセス命令のメモリへのアクセスが完了したことであるとしてもよい。
この構成によると、マルチプロセッサシステムは、メモリアクセスの完了を第2プロセッサ処理の完了とするので、例えば、意図しないメモリアクセスのアドレス一致による不具合を検出することができる。
(4)ここで、前記判別手段は、さらに、前記デバッグモードとは別のデバッグモードが、前記デバッグモードに代わって設定されているか否かを判別し、前記判別手段で前記別のデバッグモードが設定されていると判別される場合、前記特定手段が前記処理依頼命令を特定すると、前記実行手段は前記検知手段により前記完了が検知されるまでの間に、前記第2プロセッサに対する次の処理依頼命令の出現までに存在する命令を実行、又は前記次の処理依頼命令の出現までに存在する命令及び前記次の処理依頼命令の後続に位置し、且つ前記次の処理依頼命令に依存しない命令を実行し、前記検知手段により前記完了が検知されると当該次の処理依頼命令に基づく通知を前記第2プロセッサに対して行うとしてもよい。
この構成によると、マルチプロセッサシステムは、別のデバッグモードが設定されている場合には、第2プロセッサにおいて異なる処理依頼命令に基づく通知に対する処理を並列に行うことはない。これにより、第2プロセッサにおいて異なる処理依頼命令に基づく通知に対する処理の並列化を実行する前に、第1プロセッサと第2プロセッサとの並列処理のデバッグを行うことで、効率的に不具合を排除することができる。
(5)ここで、前記第1プロセッサは、さらに、前記判別手段でデバッグモードが設定されていないと判別する場合において、前記特定手段に処理依頼命令を特定すると以降の命令の特定を停止させ、前記完了が検知されると命令の特定を再開するよう制御する制御手段を備えるとしてもよい。
この構成によると、マルチプロセッサシステムは、デバッグモードが設定されていない場合においても、処理依頼命令を特定すると以降の命令の特定は停止し、前記完了が検知されると命令の特定を再開する。これにより、デバッグモードにおけるメインプロセッサ内の命令単位の並列性を用いた動作と、コプロセッサ内の命令単位の並列性を用いた動作は、非デバッグモードの動作と完全に一致させることができる。
(6)ここで、前記第1プロセッサ及び前記第2プロセッサそれぞれで実行される命令は、画像のデコード処理を行うためのものであり、前記マルチプロセッサシステムは、画像のデコード処理を行う画像処理装置に備えられるとしてもよい。
この構成によると、マルチプロセッサシステムは、デコード処理のデバッグを効率良く行うことができる。
(8)ここで、前記第1プロセッサ及び前記第2プロセッサそれぞれで実行される命令は、画像のエンコード処理を行うためのものであり、前記マルチプロセッサシステムは、画像のエンコード処理を行う画像処理装置に備えられるとしてもよい。
この構成によると、マルチプロセッサシステムは、エンコード処理のデバッグを効率良く行うことができる。
本発明に係るマルチプロセッサシステムは、柔軟で高性能な演算処理を実現する機能を有するため、DVDレコーダやデジタルTV等の映像や音声のメディア処理を行うシステムLSI等に適用できる。
10、1000 マルチプロセッサシステム
11、1001 メインプロセッサ
12、1002 コプロセッサ
101 命令メモリ
102 命令フェッチ制御部
103 命令群決定部
104 命令バッファ
105、1105 発行命令決定部
106 レジスタファイル
107 演算器群
108 メモリアクセス部
109 データメモリ
110 ライトバックバス
111、1111 デバッグモード判別部
121 命令処理部
122 レジスタファイル
123 演算器群
124 メモリアクセス部
125 データメモリ
126 ライトバックバス
201、1201 命令特定部
202、1202 命令実行部
203、1203 検知部

Claims (8)

  1. 第1プロセッサと、当該第1プロセッサからの通知を受けて処理を実行する第2プロセッサとを有するマルチプロセッサシステムであって、
    前記第1プロセッサは、
    デバッグモードが設定されているか否かを判別する判別手段と、
    命令列中から実行対象となる命令を逐次特定する特定手段と、
    特定された命令が、処理依頼命令である場合には前記第2プロセッサに対して当該処理依頼に基づく通知を行い、処理依頼命令でない場合には当該特定された命令を実行する実行手段と、
    前記第2プロセッサが前記通知に応じた処理を完了したことを検知する検知手段とを備え、
    前記特定手段は、前記判別手段でデバッグモードが設定されていると判別される場合において、処理依頼命令を特定すると以降の命令の特定は停止し、前記完了が検知されると命令の特定を再開する
    ことを特徴とするマルチプロセッサシステム。
  2. 前記第2プロセッサは前記通知に応じた処理を実行中は、当該処理を実行中である旨を示す信号を前記第1プロセッサへ出力し、
    前記検知手段は、前記第2プロセッサから前記信号が出力されている間は、前記第2プロセッサが前記通知に応じた処理を実行中であると判断し、当該信号が出力されなくなると前記通知に応じた処理が完了したと判断する
    ことを特徴とする請求項1に記載のマルチプロセッサシステム。
  3. 前記通知に応じた処理の完了とは、前記第2プロセッサが前記通知に応じた処理を実行するための命令流に含まれる全てのメモリアクセス命令のメモリへのアクセスが完了したことである
    ことを特徴とする請求項2に記載のマルチプロセッサシステム。
  4. 前記判別手段は、さらに、
    前記デバッグモードとは別のデバッグモードが、前記デバッグモードに代わって設定されているか否かを判別し、
    前記判別手段で前記別のデバッグモードが設定されていると判別される場合、前記特定手段が前記処理依頼命令を特定すると、前記実行手段は前記検知手段により前記完了が検知されるまでの間に、前記第2プロセッサに対する次の処理依頼命令の出現までに存在する命令を実行、又は前記次の処理依頼命令の出現までに存在する命令及び前記次の処理依頼命令の後続に位置し、且つ前記次の処理依頼命令に依存しない命令を実行し、前記検知手段により前記完了が検知されると当該次の処理依頼命令に基づく通知を前記第2プロセッサに対して行う
    ことを特徴とする請求項1に記載のマルチプロセッサシステム。
  5. 前記第1プロセッサは、さらに、
    前記判別手段でデバッグモードが設定されていないと判別する場合において、前記特定手段に処理依頼命令を特定すると以降の命令の特定を停止させ、前記完了が検知されると命令の特定を再開するよう制御する制御手段を備える
    ことを特徴とする請求項1に記載のマルチプロセッサシステム。
  6. 前記第1プロセッサ及び前記第2プロセッサそれぞれで実行される命令は、画像のデコード処理を行うためのものであり、
    前記マルチプロセッサシステムは、
    画像のデコード処理を行う画像処理装置に備えられる
    ことを特徴とする請求項1に記載のマルチプロセッサシステム。
  7. 前記第1プロセッサ及び前記第2プロセッサそれぞれで実行される命令は、画像のエンコード処理を行うためのものであり、
    前記マルチプロセッサシステムは、
    画像のエンコード処理を行う画像処理装置に備えられる
    ことを特徴とする請求項1に記載のマルチプロセッサシステム。
  8. 判別手段、特定手段、実行手段及び検知手段を備える第1プロセッサと、当該第1プロセッサからの通知を受けて処理を実行する第2プロセッサとを有するマルチプロセッサシステムで用いられる処理方法であって、
    前記判別手段が、デバッグモードが設定されているか否かを判別する判別ステップと、
    前記特定手段が、命令列中から実行対象となる命令を逐次特定する特定ステップと、
    前記実行手段が、特定された命令が処理依頼命令である場合には前記第2プロセッサに対して当該処理依頼に基づく通知を行い、処理依頼命令でない場合には当該特定された命令を実行する実行ステップと、
    前記検知手段が、前記第2プロセッサが前記通知に応じた処理を完了したことを検知する検知ステップとを含み、
    前記特定ステップは、前記判別ステップでデバッグモードが設定されていると判別される場合において、処理依頼命令を特定すると以降の命令の特定は停止し、前記完了が検知されると命令の特定を再開する
    ことを特徴とする処理方法。
JP2013524581A 2011-07-19 2012-06-06 マルチプロセッサシステム Withdrawn JPWO2013011620A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013524581A JPWO2013011620A1 (ja) 2011-07-19 2012-06-06 マルチプロセッサシステム

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2011158123 2011-07-19
JP2011158123 2011-07-19
JP2013524581A JPWO2013011620A1 (ja) 2011-07-19 2012-06-06 マルチプロセッサシステム

Publications (1)

Publication Number Publication Date
JPWO2013011620A1 true JPWO2013011620A1 (ja) 2015-02-23

Family

ID=47557824

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013524581A Withdrawn JPWO2013011620A1 (ja) 2011-07-19 2012-06-06 マルチプロセッサシステム

Country Status (4)

Country Link
US (1) US9317287B2 (ja)
JP (1) JPWO2013011620A1 (ja)
CN (1) CN103718158B (ja)
WO (1) WO2013011620A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10776115B2 (en) * 2015-09-19 2020-09-15 Microsoft Technology Licensing, Llc Debug support for block-based processor
CN116149603A (zh) * 2021-11-23 2023-05-23 广东跃昉科技有限公司 运算指令处理方法及系统、主处理器和协处理器

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07113902B2 (ja) 1987-10-20 1995-12-06 富士通株式会社 並列処理デバッグ制御方法
US5361352A (en) 1989-11-27 1994-11-01 Hitachi, Ltd. Method for debugging in a parallel computer system and system for the same
JPH03218539A (ja) 1989-11-27 1991-09-26 Hitachi Ltd 並列計算機システムにおけるデバッグ方法
JPH0659908A (ja) * 1992-08-11 1994-03-04 Toshiba Corp プログラム実行装置
JP3481301B2 (ja) 1994-05-27 2003-12-22 富士通株式会社 プロセッサ制御装置
JPH11232135A (ja) 1998-02-10 1999-08-27 Mitsubishi Electric Corp 半導体装置
JP4717492B2 (ja) * 2005-04-12 2011-07-06 富士通株式会社 マルチコアモデルシミュレータ
JP4425177B2 (ja) * 2005-05-20 2010-03-03 株式会社ソニー・コンピュータエンタテインメント グラフィックプロセッサ、情報処理装置
JP4633553B2 (ja) * 2005-06-22 2011-02-16 ルネサスエレクトロニクス株式会社 デバッグシステム、デバッグ方法およびプログラム
CN101231584A (zh) * 2007-01-23 2008-07-30 矽统科技股份有限公司 处理系统以及用以处理该处理系统中指令的相关方法
JP5891758B2 (ja) * 2011-12-06 2016-03-23 サンケン電気株式会社 電子装置

Also Published As

Publication number Publication date
US9317287B2 (en) 2016-04-19
CN103718158B (zh) 2016-10-19
WO2013011620A1 (ja) 2013-01-24
CN103718158A (zh) 2014-04-09
US20140136821A1 (en) 2014-05-15

Similar Documents

Publication Publication Date Title
JP5043560B2 (ja) プログラム実行制御装置
JP5379122B2 (ja) マルチプロセッサ
WO2018040494A1 (zh) 一种扩展处理器指令集的方法及装置
US9213546B2 (en) Implementation of instruction for direct memory copy
KR100983135B1 (ko) 패킷의 의존성 명령을 그룹핑하여 실행하는 프로세서 및 방법
US20140143524A1 (en) Information processing apparatus, information processing apparatus control method, and a computer-readable storage medium storing a control program for controlling an information processing apparatus
RU2375768C2 (ru) Процессор и способ осуществления операций непрямого чтения и записи регистра
JP5853217B2 (ja) プロセッサ
US8055882B2 (en) Multiplexing commands from processors to tightly coupled coprocessor upon state based arbitration for coprocessor resources
WO2013011620A1 (ja) マルチプロセッサシステム
KR101077425B1 (ko) 효율적 인터럽트 리턴 어드레스 저장 메커니즘
US8245015B2 (en) Processor monitoring execution of a synchronization instruction issued to execution sections to detect completion of execution of preceding instructions in an identified thread
US11150906B2 (en) Processor with a full instruction set decoder and a partial instruction set decoder
JP2009506410A (ja) コンピュータ装置におけるコプロセッサ支援
KR100837400B1 (ko) 멀티스레딩/비순차 병합 기법에 따라 처리하는 방법 및장치
US9395962B2 (en) Apparatus and method for executing external operations in prologue or epilogue of a software-pipelined loop
US9983932B2 (en) Pipeline processor and an equal model compensator method and apparatus to store the processing result
JP5236386B2 (ja) 画像復号装置及び画像復号方法
Lafond et al. Interrupt costs in embedded system with short latency hardware accelerators
KR20070118543A (ko) 재구성 어레이를 위한 멀티태스킹 방법 및 장치
JP4006065B2 (ja) プロセッサ
CN117043747A (zh) 用于促进高效的硬件-固件交互的装置、系统和方法
Akramullah et al. Video Coding Performance
Fang et al. Design and implementation of a videotext extractor on dual-core platform
WO2012144149A1 (ja) マルチスレッドプロセッサ、マルチプロセッサシステム、実行装置、プロセッサボード

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150216

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20160322

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160407