JP5268841B2 - 情報処理装置 - Google Patents
情報処理装置 Download PDFInfo
- Publication number
- JP5268841B2 JP5268841B2 JP2009209889A JP2009209889A JP5268841B2 JP 5268841 B2 JP5268841 B2 JP 5268841B2 JP 2009209889 A JP2009209889 A JP 2009209889A JP 2009209889 A JP2009209889 A JP 2009209889A JP 5268841 B2 JP5268841 B2 JP 5268841B2
- Authority
- JP
- Japan
- Prior art keywords
- status information
- command
- data transfer
- transfer
- unit
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Bus Control (AREA)
Description
しかしながら、転送の状態をCPUが確認するには、CPUが設定した転送の数によって複数存在する転送状態を表すステータス情報を、CPUによるポーリングやDMAからの割り込みによって確認しなければならず、転送状態の確認を行う時間が大きい。
つまり、CPUが複数の転送を設定した場合は複数のステータス情報が存在し、CPUは複数のステータス情報の各々をポーリングやDMAからの割り込みにより読み出さなければならず、転送状態の確認を行う時間が大きい。
しかし、汎用ユニットは専用ユニットからの命令に対する処理結果を全て専用ユニットに返すため、専用ユニットが処理結果を取得する時間が長くなる。
しかし、転送を複数実行した場合は、CPUはステータス情報を確認するためにメモリからステータス情報を複数回リードしなければならない。
特許文献1の処理ユニットをDMA転送装置とCPUで考えた場合に、CPUが複数の転送をDMA転送装置に要求すると、CPUは全ての転送のステータス情報を確認しなければならず、CPUの負荷が高くなるという課題がある。
特にPCIExpressなどの読み出しのレイテンシが大きいバスを使用した場合には、この課題は顕著になる。
また近年では、LSI実装時にIP(Intellectual Property)を活用して複数のDMA転送装置を併用する事も多く、転送状態を示すステータス情報の格納位置が統一されていないため、単純な回路でステータス情報を加工することが出来ないことも多い。
各々にデータ転送の状況が表される複数のステータス情報を入力するステータス情報入力部と、
前記ステータス情報入力部により入力された複数のステータス情報を加工し、前記複数のステータス情報にて表わされているデータ転送の状況が集約されて表される集約ステータス情報を生成するステータス情報加工部と、
前記ステータス情報加工部により生成された集約ステータス情報を出力する集約ステータス情報出力部とを有することを特徴とする。
本実施の形態では、DMA転送装置が複数の転送を行う場合にステータス情報を集約する技術を説明する。ステータス情報は、DMA転送装置におけるデータ転送が正常に完了したか、転送中であるか、転送時に異常が発生したかといったデータ転送の状況が表される情報である。
前述したように、DMA転送装置が複数の転送を行う場合に、転送状態を表すステータス情報も転送の数だけ存在し、CPUが転送状態の確認をするために複数回ステータス情報を読み込まねばならず、CPUの負荷が高くなる。
また、DMA転送装置がCPUから複数の転送の設定を行われた場合に、転送毎に存在する転送状況を表すステータス情報は、一つのアドレスにまとまっておらず、また転送によってステータス情報内の必要な情報のビット位置や情報のビット数が違う。そのため、CPUが転送状態を確認するための負荷が高くなる。
本実施の形態では、CPUの負荷を減らすために、複数あるステータス情報を加工して、必要な情報だけを小さいステータス情報に集約する機能を備え、CPUが転送状態の確認をする回数を減らし、ステータス情報の確認にかかる時間を短縮する。
より具体的には、CPUからDMA転送装置の各チャネルが、転送を行うための情報(転送元アドレス、転送先アドレス、転送長)と、各チャネルの転送状態のステータス情報を加工するためのステータス演算コマンドを格納するコマンドメモリを持ち、コマンドメモリに格納されているコマンドを判別し、判別した結果が転送用の転送コマンドであれば転送を実行し、ステータス情報の演算コマンドであればステータス情報中の必要な情報を加工し集約する。
複数の転送のステータス情報を集約することでCPUがステータス情報の確認行う回数が少なくなり、また、確認に要する時間も短縮することができる。
I/O装置はチャネルが管理し、チャネルは主記憶に書き込まれたチャネルプログラムと呼ばれる制御用のプログラムにセットされたCCW(チャネルコマンドワード)を読み込んで、CCWに従ったI/O装置の操作を行う。
CCWにはコマンドチェーンフラグがあり、読み込んだCCWのコマンドチェーンフラグがイネーブルである限り、チャネルは次のCCWを読み込んで処理を実行し続ける。この処理にはデータを転送するコマンドも含まれる。この機構により、複数のコマンドや複数の転送をまとめて行うことが出来る。
一方、単純なDMAでは1つの転送しか出来ないが、DMA転送装置にもこのチェーニングの概念をとりいれたものが近年実用化されている。
DMAでチェーニングを行う時は、IBM(登録商標) S/370のCCWに相当するデータがDMA装置が直接アクセスできるメモリに置かれるのが一般的である。
DMA転送には2種類あり、1つはDMA転送装置内部にあるデータをメモリに書き込んだり、読み込むタイプであり、もう1つはメモリ間の転送を行うものである。
後者では、I/O装置のもつ内部メモリも転送の対象となる。
本実施の形態では、一例として、このような概念に基づいたDMA装置に実装されたチャネルとCCW(チャネルコマンドワード)を使用する。
CPU10、メモリ20、DMA転送装置100は、メモリバス21、バス11で接続される。
本実施の形態の対象としているDMA転送装置100は、メモリ20又は内部バス1200あるいは外部バスによって接続されるI/Oデバイス(図示せず)のアドレスAから転送長Xのデータを、メモリ20又は前述のI/OデバイスのアドレスBに転送するための装置である。
DMA転送装置100は、データ処理システムの例である。
CPU10は複数のCCWをコマンドメモリ400、410にセットして一度にまとめて起動することができ、DMA転送装置100はセットされた複数のCCWを順次実行する。
このように、転送はCCW単位で行われ、その単位をチャネルと呼ぶ。
複数のチャネルがある場合には、それぞれのチャネルをCPUが個別に起動し、チャネル間の動作は並行して行われるがステータス情報は別々に生成され、CPUは各々のステータス情報を確認する必要がある。
複数の転送を順次実行する場合、転送の状態を表すステータス情報が、実行される転送の数によらず1個の場合も複数の場合もありうる。またチャネルが複数ある場合にはステータスは複数存在する。
CPU10は転送の完了を確認するために、全てのステータス情報を取得しなければならないが、複数あるステータス情報を加工して、必要な情報を集約することで、CPUがステータス情報を取得する回数を減らす方法について示す。
バス制御回路200は、バス11、バス210及び内部バス1200のバス制御を行う。
起動レジスタ300はDMA転送装置100の起動指示を行う。
コマンドメモリ400及びコマンドメモリ410は、転送元アドレス、転送先アドレス、転送長からなる転送コマンドと、転送の状態を表すステータス情報をマージするための演算コマンドを格納する。
ステータスレジスタ群500は、ステータス情報を保持する。
論理チャネル0(610)は、コマンドメモリ400からCCW(チャネルコマンドワード)を読み出し転送を実行する。論理チャネル1(620)は、コマンドメモリ410からCCWを読み出し転送を実行する。
バスブリッジ1250は内部バス1200及び外部バス1260のバス制御を行う。
内部バス1200は、バス210とバスの制御を行うバス制御回路200によって、バス11と接続される。
また、内部バス1200はバスブリッジ1250を介して外部バス1260とも接続される。
なお、本実施の形態では、論理チャネルは2つであるが、論理チャネルの数は3つ以上でも良いものとする。
また、論理チャネル0(610)及び論理チャネル1(620)は、情報処理装置及びデータ転送装置の例である。
論理チャネル0(610)を情報処理装置の例として見た場合には論理チャネル1(620)はデータ転送装置の例となり、論理チャネル1(620)を情報処理装置の例として見た場合には論理チャネル0(610)はデータ転送装置の例となる。
言い換えると、後述する図16に示すステータス情報の集約等の処理を論理チャネル0(610)が行う場合は、論理チャネル0(610)が情報処理装置の例となり、論理チャネル1(620)がデータ転送装置の例となる。逆に、図16に示すステータス情報の集約等の処理を論理チャネル1(620)が行う場合は、論理チャネル1(620)が情報処理装置の例となり、論理チャネル0(610)がデータ転送装置の例となる。
本実施の形態及び実施の形態2では、論理チャネル0(610)及び論理チャネル1(620)の両者がステータス情報の集約等の処理を行う場合もあるので、両者はともに情報処理装置として動作する場合がある。
コマンド読み出し回路700は、コマンドメモリ400からCCWを読み出す。
コマンド判別回路810は、コマンド読み出し回路700が読み出したCCWが転送コマンドであるか、ステータス情報を加工するための演算コマンドであるかを判別する。
演算コマンド供給回路820は、演算コマンドを供給する。
ステータスアクセス回路900は、ステータスレジスタ群500に対してリード、ライトを行う。
ステータス演算回路910は、ステータス情報の加工を行う。
ワークレジスタ920は、加工時のステータス情報を格納する。
転送制御回路1000は、転送の制御を行う。
転送回路1100は、転送を実行する。
転送回路1100は、データ転送部の例であり、コマンド読み出し回路700により読み出されたコマンドが転送コマンドである場合に、転送コマンドに従ってデータ転送元アドレスからデータ転送先アドレスにデータを転送する。
転送制御回路1000は、ステータス情報生成部の例であり、転送回路1100によりデータ転送が行われる度に、転送回路1100によるデータ転送の状況を表すステータス情報を生成し、生成したステータス情報をステータスレジスタ群500に出力する。また、転送制御回路1000は、コマンドのセットも行う。
ステータスアクセス回路900は、ステータス情報入力部及び集約ステータス情報出力部の例であり、コマンド読み出し回路700により読み出されたコマンドがステータス情報入力コマンドである場合に、ステータス情報入力コマンドに従って、ステータスレジスタ群500から複数のステータス情報を入力し、また、コマンド読み出し回路700により読み出されたコマンドがステータス情報出力コマンドである場合に、ステータス情報出力コマンドに従って、ステータス演算回路910により加工・集約されたステータス情報である集約ステータス情報をステータスレジスタ群500に出力する。
ステータス演算回路910は、ステータス情報加工部の例であり、コマンド読み出し回路700により読み出されたコマンドがステータス情報加工コマンドである場合に、ステータス情報加工コマンドに従って、ステータスアクセス回路900により入力された複数のステータス情報を加工し、複数のステータス情報にて表わされているデータ転送の状況が集約されて表される集約ステータス情報を生成する。
集約ステータス情報のデータサイズは、加工元の複数のステータス情報のデータサイズの総和よりも小さいことが望ましい。
以下では、原則として、2つある論理チャネルの代表として論理チャネル0(610)について説明する。また、コマンドメモリについても、同様に、コマンドメモリ400について説明する。
論理チャネル1(620)及びコマンドメモリ410についても、以下の説明がそのまま適用可能である。
書き込むコマンドは、論理チャネル0(610)にデータ転送を行わせるために必要な、データの読み出し元のアドレスである転送元アドレス、データの書き込み先である転送先アドレス、転送するデータの大きさである転送長がセットになった転送コマンドと、各転送の転送状態を表すステータス情報を加工し、必要な情報を集約するための演算コマンドの2種類があり、コマンドメモリ400に書き込まれる。
コマンドメモリ400内にセットされている論理チャネル0(610)が実行するCCW(チャネルコマンドワード)420の例を図3に示す。
図3において、CCW0(421)及びCCW1(422)が転送コマンドであり、CCW2(423)〜CCW6(427)が演算コマンドである。
演算コマンドのうち、CCW2(423)及びCCW3(424)がステータス情報入力コマンドであり、CCW4(425)及びCCW5(426)がステータス情報加工コマンドであり、CCW6(427)がステータス情報出力コマンドである。
ステータス情報入力コマンドでは、複数のステータス情報の入力が指示され、ステータス情報加工コマンドでは複数のステータス情報の加工・集約が指示される。ステータス情報出力コマンドでは、加工後の集約ステータス情報の出力が指示される。
論理チャネル0(610)はCCW0(421)〜CCW6(427)の順番に従って、転送とステータス情報の加工を実行する。各CCWには、コマンドチェーンフラグがセットされている。
コマンド判別回路810は、CCWが転送コマンドであるか、演算コマンドであるかを判別する。コマンドチェーンフラグは、フラグがイネーブルである場合は次のCCWがあることを示し、DMA転送装置100は連続してCCWに従った処理を実行できる。また、図示は省略しているが、コマンドメモリ410には、論理チャネル1(620)が実行するCCWが存在している。
これにより、DMA転送装置100はCCWの内容に従った転送処理を開始する。
コマンド読み出し回路700は起動の通知を受けると(S1501)、コマンドメモリ400に対して読み出したいCCWが格納されているアドレスを送り、そのアドレスに存在するCCWを読み込み実行を開始する(S1502)。
次にコマンド判別回路810は、読み込んだCCWのコマンドから、転送コマンドであるか、ステータス情報を加工するための演算コマンドであるか判別する(S1503)。
また、CCWにセットされているコマンドチェーンフラグの内容を、転送制御回路1000のコマンド全体制御部1010に送る。
その後、転送制御回路1000及び転送回路1100によりデータ転送が行われる(S1504)。
具体的には、コマンド個別制御部1020は供給された転送コマンドを構成する、転送元アドレス、転送先アドレス、転送長を転送回路1100の転送要求部1110にセットする。
そして、転送要求部1110は、設定された転送元アドレス、転送長に従って、内部バス1200を経由して、転送元アドレスから転送長分のデータを読み込み、バッファ1120に格納する。
バッファ1120に読み込んだデータの格納が完了すると、転送要求部1110がバッファ1120に格納されたデータを設定された転送先アドレスに書き込む。
書き込みが完了すると、データ転送も完了する。
データ転送が完了すると転送要求部1110が転送完了の通知を、転送制御回路1000のコマンド個別制御部1020に送る。
コマンド個別制御部1020が転送完了通知を受けると、コマンド全体制御部1010にセットした転送が完了したことを通知する(S1505でNO)。
コマンド全体制御部1010が、データ転送の完了通知を受け、コマンド読み出し回路700に次のCCWを読み出すように指令を出す。
また、コマンド全体制御部1010は、コマンド判別回路810より送られるコマンドチェーンフラグがディセーブルであれば(S1511でYES)、完了した転送のステータス情報(未集約のステータス情報)をステータスレジスタ群500に送り、ステータス情報を書き込む(S1512)。
論理チャネル0(610)は、コマンドチェーンフラグがディセーブルであるCCWを実行し終わると、コマンド読み出し回路700がアイドル状態であるため、動作を停止する。
コマンド個別制御部1020はコマンド全体制御部1010に対して、異常が発生したことを通知する。
コマンド全体制御部1010は、ステータスレジスタ群500に、エラーのステータス情報を書き込む(S1506)。
エラーのステータス情報を書き込んだ後は、DMA転送装置100は後続のCCW実行を行わず、一定の時間がたつとCPU10はタイムアウトを検出してエラーが発生したと判断し、ステータスレジスタ群500からエラーのステータス情報を取得する。
コマンド判別回路810は、演算コマンドを演算コマンド供給回路820に送る。
演算コマンド供給回路820は、送られた演算コマンドのコマンド種別を確認し(S1507)、ステータスレジスタ群500からステータス情報をリードするCCWであればステータス情報の読み出しが行われ(S1508)、集約ステータス情報をステータスレジスタ群500にライトするCCWであれば、集約ステータス情報の書き込みが行われる(S1510)。
演算コマンド供給回路820は、演算コマンドをステータスアクセス回路900に供給する。
図3の演算コマンドの例では、“read r0 ステータス1”、“read r1 ステータス2”がステータス情報をリードする演算コマンド(ステータス情報入力コマンド)であり、“write r0 ステータス1”が集約ステータス情報をライトする演算コマンド(ステータス情報出力コマンド)に相当する。
なお、ステータスアクセス回路900の動作の詳細は後述する。
一方、ステータス情報を加工する演算コマンドであった場合は、ステータス情報の加工が行われる(S1509)。
具体的には、演算コマンド供給回路820は、ステータス演算回路910に演算コマンドを供給する。
図3の演算コマンドの例では、“AND r0[0] r0[0] r1[2]”、“OR r0[3] r0[3] r1[5]”がステータス情報を加工する演算コマンド(ステータス情報加工コマンド)に相当する。
なお、ステータス演算回路910の動作の詳細は後述する。
リードの場合は、ステータスアクセス回路900は、リードしたステータス情報をワークレジスタ920に送る。
ライトの場合は、ステータスアクセス回路900は、ワークレジスタ920から加工されたステータス情報(集約ステータス情報)を読み込み、ステータスレジスタ群500に書き込む。
リード又はライトが完了すると、ステータスアクセス回路900は、ステータス情報のリード又はライト完了の通知を演算コマンド供給回路820に出す。
演算コマンド供給回路820は完了の通知を受けると、コマンド読み出し回路700に、次のCCWを読み出すように指令を送る。
演算が完了すると、ステータス演算回路910は演算コマンド供給回路820に、演算完了の通知を行う。
演算コマンド供給回路820は、ステータスアクセス回路900から完了の通知を受けた時と同様に、コマンド読み出し回路700に、次のCCWを読み出すように指令を送る。
全ての論理チャネルの動作が停止すると、DMA転送装置100は起動レジスタ300の起動フラグをディセーブルにする。
そのため、S1509での加工の対象となるステータス情報は、ステータス情報を加工をする論理チャネル以外の論理チャネルのステータス情報が対象となる。
つまり、論理チャネル0(610)がS1509で加工するステータス情報は、S1508のステータス情報の読み出し処理時点で論理チャネル1(620)によりステータスレジスタ群500に既に書き込まれているステータス情報であり、論理チャネル0(610)がS1512又はS1506で書きこむステータス情報ではない。
一方、図16に示すように、論理チャネルが実行するCCWによるデータ転送毎にステータス情報を生成する場合は、S1509で加工する対象のステータス情報は、全ての論理チャネルで生成したステータス情報となる。
つまり、図16の場合は、論理チャネル0(610)がS1509で加工するステータス情報は、S1508のステータス情報の読み出し処理時点で論理チャネル0(610)及び論理チャネル1(620)の双方によりステータスレジスタ群500に既に書き込まれているステータス情報である。
CCW0(421)はコマンド判別回路810で転送コマンドであると判別される。
CCW0(421)は、転送元アドレス(0x10000)から転送長(10Byte)のデータを、転送先アドレス(0x11000)に書き込むコマンドであり、コマンド判別回路810によってコマンド個別制御部1020に供給される。
コマンド個別制御部1020は、供給された転送コマンドである、転送元アドレス(0x10000)、転送先アドレス(0x11000)、転送長(10Byte)を転送要求部1110にセットする。
転送要求部1110が、内部バス1200を経由して転送元アドレス(0x10000)から転送長(10Byte)分のデータリード要求を出し、要求したデータを読み込んでバッファ1120に格納する。
バッファ1120が要求したデータの格納を完了すると、転送要求部1110がコマンド個別制御部1020によってセットされた転送先アドレス(0x11000)に、バッファ1120に格納されたデータを書き込む。
書き込みが完了すると、転送要求部1110がコマンド個別制御部1020に転送完了の通知を出す。
コマンド個別制御部1020は、転送完了の通知をコマンド全体制御部1010に送る。コマンド全体制御部1010は、転送完了の通知を受け、コマンド読み出し回路700に、コマンドメモリ400から次のCCWを読み出すように指令を出す。
この転送コマンドも先ほどの転送と同様に、コマンド判別回路810によってコマンド内容を判別されて転送制御回路1000に供給される。
転送制御回路1000によってセットされた転送設定に従って、転送回路1100は転送を実行する。
転送が完了すると、コマンド読み出し回路700は次のCCW2(423)を読み込む。
コマンド読み出し回路700によって読み込まれたCCW2(423)は、ステータスレジスタ群500からステータス情報1をリードするコマンドである。
コマンド判別回路810により演算コマンドであると判別される。
コマンド判別回路810はCCW2(423)を演算コマンド供給回路820に送る。
演算コマンド供給回路820は、送られたCCW2(423)のコマンド種別を確認し、ステータスレジスタ群500からステータス情報1をリードするコマンドであるCCW2(423)“read r0 ステータス1”をステータスアクセス回路900に供給する。
ステータスアクセス回路900は、コマンドに従ってステータス情報1のリード要求を出し、ステータスレジスタ群500からステータス情報1を読み込み、ワークレジスタ920の領域“r0”に格納する。
ステータスアクセス回路900は、読み込みの完了通知を演算コマンド供給回路820に出し、演算コマンド供給回路820は、コマンド読み出し回路700に次のCCW3(424)を読み出すように指令をだす。
CCW3(424)は、ステータス情報2を読み出すコマンドであり、ステータスアクセス回路900に供給する。
ステータスアクセス回路900は先ほどと同様に、ステータス情報2のリード要求をステータスレジスタ群500に出し、ステータスレジスタ群500からステータス2を読み込み、ワークレジスタ920の領域“r1”に格納する。
ここで、CCW4(425)のコマンドは、“AND r0[0] r0[0] r1[2]”であり、読み込んだステータス情報同士の加工を行うコマンドとして、演算コマンド供給回路820はステータス演算回路910にコマンドを供給する。
ステータス演算回路910は、コマンドに従ってワークレジスタ920の“r0”と“r1”に格納されたステータス情報1とステータス情報2を加工する演算(ステータス情報1の0ビット目と、ステータス情報2の2ビット目の論理積をとり、ステータス情報1の0ビット目に保存する)を実行する。
演算が完了するとステータス演算回路910は、演算完了の通知を演算コマンド供給回路820に出す。
演算コマンド供給回路820は、コマンド読み出し回路700に次のCCW5(426)を読み出すように指令を出す。
ステータス演算回路910はコマンドに従った演算(ステータス情報1の3ビット目と、ステータス情報2の5ビット目の論理和をとり、ステータス情報1の3ビット目に保存する)を実行する。
そして、ステータス演算回路910は演算が完了したことを演算コマンド供給回路820に通知する。
演算コマンド供給回路820は、コマンド読み出し回路700に次のCCW6(427)を読み出すように指令を出す。
コマンド判別回路810は、コマンド読み出し回路700に対して次のCCWを読み込まないように、読み込み停止通知を出し、コマンド読み出し回路700はアイドル状態となる。
コマンド読み出し回路700は、再び起動レジスタ300から起動通知を受けるまでアイドル状態のままである。
また、コマンド全体制御部1010は、コマンド判別回路810から送られるコマンドチェーンフラグがディセーブルであると、転送完了時のステータス情報をステータスレジスタ群500にライトする。
演算コマンド供給回路820によりステータスアクセス回路900に供給され、ステータスアクセス回路900は、ワークレジスタ920から加工されたステータス情報1を読み出し、ステータスレジスタ群500にライト要求を出し、ライトを実行する。
ライトが完了すると、ステータスアクセス回路900は、完了の通知を演算コマンド供給回路820に通知し、演算コマンド供給回路820はコマンド読み出し回路700に次のCCWを読み出すように指令を出す。
コマンド読み出し回路700はアイドル状態であるため、CCWを読み出す指令を受けても、動作を行わない。
しかし、本実施の形態によれば、ステータス情報を集約することで、複数転送の完了確認のために、CPUがステータス情報をステータスレジスタ群まで読み込みに行く回数が減り、従来技術よりも転送完了の確認にかかる時間が短縮される。
また、本実施の形態では、複数のステータス情報のデータサイズの総計よりも小さいデータサイズのステータス情報に集約されるためデータ読み出しに要する時間を短縮化することができる。
データを読み出す転送元のアドレスとデータを書き込む転送先アドレスと転送長を指定して転送を行い、その転送に先立ち転送元アドレスと転送先アドレスと転送長の情報を転送コマンドとしたチャネルコマンドワードを1つ又は複数格納し、転送完了の状況を表すステータス情報を保持するDMA転送装置であって、
そのDMA転送装置と外部バスによりメモリ又はI/Oデバイスが内部バス又は外部バスと接続され、
前記転送コマンドの他に前記ステータス情報を加工して連続する小さなデータにするための演算コマンドをコマンドメモリに格納し、
前記コマンドメモリから前記転送コマンドあるいは前記複数の転送に係わるステータス情報を加工するための前記演算コマンドを読み出すコマンド読み出し回路が接続され、
読み出したコマンドを前記転送コマンドであるか前記演算コマンドであるかを判別するコマンド判別回路と、
複数の前記ステータス情報が格納されているステータスレジスタ群から前記ステータス情報を読み出すステータス読み出し回路と、
前記ステータス読み出し回路によって読み出された前記ステータス情報を前記演算コマンドに従った加工を実行するステータス演算回路と、を備え
複数の前記転送コマンドと複数の前記演算コマンドは前記CPUによってコマンドメモリに設定され、
前記コマンド判別回路によって前記転送コマンドであると判別されれば転送を実行し、
前記演算コマンドであると判別された時は演算コマンド供給回路が前記ステータス読み出し回路と前記ステータス演算回路に前記演算コマンドを供給し、前記ステータス情報の加工を実行する事で、正常動作を示すステータス情報を連続した小さなデータに加工することで、CPUのステータス情報の読み出し回数を減らし、転送時間を短縮するDMA転送装置を説明した。
本実施の形態は、実施の形態1と同様にステータス情報を加工してステータス情報の必要な情報を集約する。
加工されたステータス情報をDMA転送装置100のデータ転送を実行する機能を使用して、CPU10と接続されているメモリ20に転送する方法であり、実施の形態1との差分について示す。
図4の論理チャネル0(610)の構成例を、図5に示す。
論理チャネル1(620)は論理チャネル0(610)と同様の構成である。
本実施の形態では、内部バス1210を通じて、ステータスレジスタ群500から転送回路1100にステータス情報を送ることが可能となることで、転送回路1100がCPU10と接続されたメモリ20にステータス情報を転送することが出来る。
本実施の形態では、転送回路1100も集約ステータス情報出力部の例となる。
図6は本実施の形態におけるコマンドメモリ400の例である。
図6に示すように、本実施の形態のコマンドメモリ400には、CPU10がステータス情報を加工する演算コマンドの後に、加工されたステータス情報を転送する転送用のCCW(CCW7)が書き込まれる。
実施の形態1と同様に、CCWをコマンド読み出し回路700が読み込み、転送処理とステータス情報を加工する演算を実行する。
ステータス情報の演算が完了すると、ステータス演算回路910は演算コマンド供給回路820に演算の完了を通知する。
コマンド読み出し回路700は、次のコマンドである、CCW7(428)の集約ステータス情報の転送コマンドを読み出す。
読み出したCCW7(428)は、コマンド判別回路810で集約ステータスの転送コマンドであると判別され、転送制御回路1000のコマンド個別制御部1020に供給される。
ここで、CCW7(428)のコマンドチェーンフラグはディセーブルであるため、最後のCCWである事も判定され、コマンド読み出し回路700はアイドル状態になる。
また、コマンド全体制御部1010にコマンドチェーンフラグがディセーブルであることを通知し、コマンド全体制御部1010は転送完了のステータス情報をステータスレジスタ群500にライトする。
転送要求部1110は、設定された転送元アドレスと転送長の読み出しの要求を、内部バス1210を経由してステータスレジスタ群500に出し、ステータスレジスタ群500から集約ステータス情報を読み込んでバッファ1120に格納する。
転送要求部1110はバッファ1120に集約ステータス情報が格納されると、設定された転送先アドレス(メモリ20)に、格納した集約ステータス情報を書き込む指令を出す。
バッファ1120は集約ステータス情報の格納が完了すると、転送要求部1110に格納完了の通知をする。
コマンド個別制御部1020は転送完了の通知をコマンド全体制御部1010に伝える。
コマンド全体制御部1010は転送完了の通知を受け、コマンド読み出し回路700から次のCCWを読み出すように指令を出す。
実施の形態1の場合と同様に、コマンド読み出し回路700はアイドル状態となっているため、次のCCWは読み込まない。また、コマンドチェーンフラグがディセーブルであるCCWを実行したため、コマンド全体制御部1010は、ステータスレジスタ群500にステータス情報を書き込む。
ステータス情報が書き込まれた後、DMA転送装置100は起動レジスタ300の起動フラグをディセーブルにし、CPU10が次のCCWを書き込むまで待機する。
ステータス演算回路によって加工された前記ステータス情報を、DMA転送装置のデータ転送を実行する機能を使用してCPUに接続されたメインメモリに転送して、CPUがDMA転送装置とCPU間のバス読み出しをせず、転送時間を短縮するDMA転送装置を説明した。
本実施の形態は、複数の転送を複数のチャネルで並列に実行する場合に、各転送が完了して完了時のステータス情報を生成する前に、ステータス情報の加工を実行しないための方法であり、実施の形態1、2との差分について説明する。
論理チャネル0(610)が実行するCCW430には、転送コマンド431のみがあり、論理チャネル0(610)が実行するCCW440には、転送コマンド441、442とステータス情報を加工するための演算コマンド443〜447がある。
CPU10は、コマンドメモリ400、410に複数の転送コマンドを書き込む際に、最後に実行される転送を行う論理チャネルに、ステータス情報の加工を行わせるようにCCWを書き込む。
ここで、図7のコマンドメモリ400、410に書き込まれている転送の実行順序は、CCW0_0(431)が最初に実行され、次にCCW1_0(441)が実行され、最後の転送としてCCW1_1(442)が実行されるものとする。
最後に実行する転送は、CCW1_1(442)であり、論理チャネル1(620)が実行する。
従って、CPU10は、論理チャネル1(610)にステータス情報の加工を行わせるために、演算コマンド443〜447をコマンドメモリ440に書き込む。
転送コマンドに従って転送を実行するチャネルが複数あり、チャネルはチャネルコマンドワードの並びの順序に従って転送を行うものであり、実行する全ての転送の中で一番最後の転送の後に、転送用の一連のチャネルコマンドワードの後にステータス演算用のチャネルコマンドワードを配置することにより、全ての転送が完了した後のステータス情報を加工するチャネルコマンドワードのプログラム記述制御について説明した。
本実施の形態は実施の形態3と同様に、各転送が完了して完了時のステータス情報を生成する前に、ステータス情報の加工を実行しないための方法であり、実施の形態1、2との差分について説明する。
図8の論理チャネルには、タイマ回路1300が備わっており、コマンド判別回路810においてコマンドメモリ400から読み込んだCCWがタイマ起動のコマンドであると判別されると、タイマ回路1300は起動する。
タイマ回路1300が時間をカウントし、カウントしている間は論理チャネルは後続のCCWを読み込めず、指定された時間のカウントが完了すると、コマンド読み出し回路700に次のCCWを読み出すように指令を出す。
本実施の形態のコマンドメモリ400の例を図9に示す。
CPU10は、論理チャネル0(610)が実行するCCWにタイマ起動のコマンド452を書き込む。
タイマ起動のコマンド452は、論理チャネル内に備わっているタイマ回路1300を起動するコマンドであり、CPU10がコマンドメモリ400、410に書き込む全ての転送が完了するのに必要な時間を持つ。
ここで、タイマはどの論理チャネルに実行させても良いが、必ずステータスを加工する演算コマンドの直前にCCWをセットし実行する。
次のCCW1(452)は、コマンド判別回路810によりタイマ起動のコマンドであると判別され、タイマ回路1300が起動する。
タイマ回路1300は、タイマ起動のコマンドが持つ時間をセットされる。
タイマにセットされた時間が経過すると、タイマ回路1300はコマンド読み出し回路700に次のCCWを読み出しように指令を出し、論理チャネル0(610)は、次のCCW2(453)を読み込み、ステータス情報の加工する演算コマンドを実行する。
タイマ回路1300にセットされる時間は、コマンドメモリ400に書き込まれている全ての転送が完了するのに必要な時間であるため、タイマのカウントが完了する時には、全ての転送が完了している。
そのため、転送が完了する前にステータス情報を加工する障害が発生することがない。
CPUによってコマンドメモリ内のチャネルコマンドワードによりタイマの起動を行うか、または他の要因により起動されるタイマを利用して、前記タイマに予め全ての転送に必要な時間を設定しその時間のカウントを終えると、ステータスを加工する演算コマンドを実行することが可能となり、全ての転送が完了した後にステータス情報を加工することが可能となることで、正確なステータス情報を提供するDMA転送装置を説明した。
本実施の形態は実施の形態3、4と同様に、各転送が完了して完了時のステータス情報を生成する前に、ステータス情報の加工を実行しないための方法であり、実施の形態1、2との差分について説明する。
図10のDMA転送装置100には、チャネル動作確認回路1400が備わっている。
チャネル動作確認回路1400は、各論理チャネルからの動作中を示す信号を監視し、全ての論理チャネルの転送が非動作状態になったことを各論理チャネルに伝え、ステータス情報を加工する演算コマンドを実行させる。
つまり、チャネル動作確認回路1400は各論理チャネルのデータ転送の完了及びステータス情報の出力の完了を検知する機能を有し、完了検知部の例に相当する。
なお、本実施の形態では、論理チャネル0(610)とチャネル動作確認回路1400とを組み合わせたものが情報処理装置の例に相当し、論理チャネル1(620)がデータ転送装置の例に相当する。
また、逆に、論理チャネル1(620)とチャネル動作確認回路1400とを組み合わせたものが情報処理装置の例に相当し、論理チャネル0(610)がデータ転送装置の例に相当する。
図11において、CCW1(462)はチャネル動作確認回路1400の起動を指示するコマンドである。
論理チャネル0(610)は、CCW0(461)を読み込んで、転送を開始する。
転送が完了すると、次にCCW1(462)を読み込む。
コマンド判別回路810は、CCW1(462)をチャネル動作確認回路起動のコマンドであると判別し、チャネル動作確認回路1400を起動する。
チャネル動作確認回路1400は、起動すると全てのチャネルの動作状態を監視し、全てのチャネルの転送が非動作状態になった事を確認すると、コマンド読み出し回路700に次のCCWを読み出す指令を出す。
各論理チャネルは、動作中は転送動作中であることを示す信号を出力している。
論理チャネル停止フラグがセットされている間は、チャネル動作確認回路1400は、コマンド読み出し回路700に次のCCWを読み出すように指示を出せない。
論理チャネル停止フラグが解除された際、つまり、各論理チャネルでデータ転送が完了し、ステータス情報の出力が完了したことが検知された場合に、コマンド読み出し回路700は次のCCWを読み込む。この結果、コマンド読み出し回路700は、演算コマンド463以降を読み込み、ステータスアクセス回路900がステータスレジスタ群500から複数のステータス情報を入力し、ステータス演算回路910が集約ステータス情報を生成する。
このように、各論理チャネルの転送が非動作であること確認しているため、転送が完了する前にステータス情報を加工する障害が発生することがない。
ここで、論理チャネル停止フラグの解除は、必ず演算コマンドの直前に実行する事とする。
論理チャネル停止フラグの解除の後に転送コマンドを実行した場合、転送が完了する前にステータス情報を加工する可能性がある。
複数のチャネルは転送動作中を示す信号を出力し、それらの信号を常に監視するチャネル動作確認回路を備え、
全てのチャネルからの転送動作中を示す信号が非動作状態になった後に、演算コマンドに従ってステータス情報の加工を実行することで、必ず全ての転送が終了した事を確認してからステータス情報の加工を行えることで、正確なステータス情報を提供するDMA転送装置を説明した。
本実施の形態における論理チャネル0(610)の構成図を図12に示す。
本実施の形態の論理チャネルは、完了時刻記憶機構1030と演算時刻記憶機構930を設けることで、転送が完了しステータス情報を書き込む時刻と、ステータス情報の加工が実行された時刻をステータス情報に追加することが出来、障害発生時に原因の解析を容易にする。
完了時刻記憶機構1030は、転送回路1100によりデータ転送が行われ、コマンド全体制御部1010が当該データ転送のステータス情報を生成した時刻をステータス情報生成時刻として計時し、コマンド全体制御部1010により生成されたステータス情報にステータス情報生成時刻を示す情報を付加する。
演算時刻記憶機構930は、ステータス演算回路910が集約ステータス情報を生成した時刻を集約ステータス情報生成時刻として計時し、ステータス演算回路910により生成された集約ステータス情報に集約ステータス情報生成時刻を示す情報を付加する。
完了時刻記憶機構1030及び演算時刻記憶機構930は、時刻計時部の例である。
なお、論理チャネル1(620)も図12と同様の構成とする。
コマンド判別回路810は、コマンド読み出し回路700が読み込んだCCWのコマンドチェーンフラグを転送制御回路1000のコマンド全体制御部1010に対して通知する。
コマンド全体制御部1010は、通知されたコマンドチェーンフラグがディセーブルであれば、コマンドメモリ400に書き込まれている論理チャネル0(610)が実行する転送完了のステータス情報を生成し、ステータスレジスタ群500に書き込む。
その際に、コマンド全体制御部1010は完了時刻記憶機構1030に、転送が完了しステータス情報を生成することを通知し、完了時刻記憶機構1030はステータス情報が生成され書き込みが行われる時刻(ステータス情報生成時刻)を記憶する。
完了時刻記憶機構1030は、ステータスレジスタ群500に書き込まれるステータス情報にステータス情報が生成された時刻(ステータス情報生成時刻)を示す情報を追加する。
また、演算コマンドに従って、ステータス演算回路910がステータス情報の加工が完了したことを、演算時刻記憶機構930に通知する。
演算時刻記憶機構930は、通知を受けた時刻(集約ステータス情報生成時刻)を記憶し、ステータスアクセス回路900がステータスレジスタ群500に加工したステータス情報を書き込む際に、ステータス情報の加工が完了した時刻(集約ステータス情報生成時刻)を示す情報を追加する。
チャネルに演算コマンドに従ってステータス情報の加工を実行した時刻情報をステータス情報に付け加える演算時刻記憶機構と、
転送完了時に更新した時間をステータス情報に付け加える完了時刻記憶機構の一方又は両方を備えることにより、複数の転送の並列動作時に時刻情報を比較することにより障害解析を容易にする手段を提供するDMA転送装置を説明した。
本実施の形態における論理チャネル0(610)の構成図を図13に示す。
本実施の形態は、論理チャネルに転送異常確認回路1500を備え、転送が正常に転送が完了しなかった場合に異常を検出し、コマンドメモリ400内にセットされているエラー時の動作コマンドを実行するための方法である。
転送異常確認回路1500は、転送回路1100のデータ転送における異常を検知する。転送異常確認回路1500は、転送異常検知部の例である。
なお、論理チャネル1(620)も図13と同様の構成とする。
コマンドメモリ400内の論理チャネル0(610)が実行するCCWには、転送コマンドとステータスを加工するための演算コマンドがあり、演算コマンドは、転送が正常に完了している場合に実行するコマンド(CCW1(472)〜CCW5(476))と、転送に異常が発生した場合に実行するコマンド(CCW6(477)〜CCW9(480))に分かれる。
転送が正常に完了している場合に実行するコマンドであるCCW1(472)〜CCW5(476)は第1の加工手順の例であり、転送に異常が発生した場合に実行するコマンドであるCCW6(477)〜CCW9(480)は第2の加工手順の例である。
本実施の形態では、ステータス演算回路910は、転送異常確認回路1500により正常にデータ転送が完了した場合に第1の加工手順に従って複数のステータス情報を加工して第1の加工手順に従った集約ステータス情報を生成し、転送異常確認回路1500により転送回路1100のデータ転送において異常が検知された場合に第1の加工手順と異なる第2の加工手順に従って複数のステータス情報を加工して第2の加工手順に従った集約ステータス情報を生成する。
DMA転送装置100は転送の実行途中に異常が発生しなければ、CCW0(471)から順にCCWを読み込み、コマンドチェーンフラグがディセーブルであるCCW5(476)の実行を完了した段階でアイドル状態となり、CPU10から次のCCWのセットと起動されるのを待つ。
転送の実行途中に異常が発生した場合、転送要求部1110がコマンド個別制御部1020に対して、転送異常の通知を出す。
コマンド個別制御部1020は、転送異常の通知を受けると、転送異常確認回路1500に対して異常が発生したことを通知する。
転送異常確認回路1500は、転送異常発生の通知を受け、異常動作時に実行するCCWに分岐する。分岐の方法には、予め決められているアドレスに分岐する、CCWに分岐先のアドレスを記述しておきそのアドレスに分岐するなどが考えられるが、これに限定されない。
CCW6(477)〜CCW9(480)はエラー発生時に、エラーのステータス情報(ステータス3、ステータス4)を加工し、集約するための演算コマンドである。
チャネルコマンドワード内には、転送コマンドと演算用のコマンドの他に、チャネルが正常に転送を完了出来なかった場合に実行するエラー発生時用のコマンドが格納されており、
チャネルが正常に転送を完了出来なかった場合には、正常動作時と異なるチャネルコマンドワードを実行するコマンドワードに分岐を行いエラー発生時用のコマンドの実行を開始することで、
異常発生時にCPUが行うべき処理をDMA転送装置が代行することを説明した。
Claims (6)
- データ転送元アドレスからデータ転送先アドレスにDMA(Direct Memory Access)によりデータを転送するデータ転送部と、
前記データ転送部によるデータ転送が行われる度に、前記データ転送部によるデータ転送の状況を表すステータス情報を生成し、生成したステータス情報を所定のステータス情報蓄積領域に出力するステータス情報生成部と、
前記データ転送部が所定数のデータ転送を完了し前記ステータス情報生成部が前記所定数のデータ転送のステータス情報を前記データ蓄積領域に出力するのに十分な時間が経過するのを待って、前記ステータス情報蓄積領域から複数のステータス情報を入力するステータス情報入力部と、
前記ステータス情報入力部により入力された複数のステータス情報を論理演算し、前記複数のステータス情報にて表わされているデータ転送の状況が集約されて表される、特定のCPU(Central Processing Unit)に参照される集約ステータス情報を生成するステータス情報加工部と、
前記ステータス情報加工部が集約ステータス情報を生成した時刻を集約ステータス情報生成時刻として計時し、前記ステータス情報加工部により生成された集約ステータス情報に集約ステータス情報生成時刻を示す情報を付加する時刻計時部と、
前記時刻計時部により集約ステータス情報生成時刻を示す情報が付加された後の集約ステータス情報を、前記ステータス情報蓄積領域又は前記CPUに接続されているメモリに出力する集約ステータス情報出力部とを有することを特徴とする情報処理装置。 - 前記時刻計時部は、
前記ステータス情報生成部がステータス情報を生成した時刻をステータス情報生成時刻として計時し、前記ステータス情報生成部により生成されたステータス情報にステータス情報生成時刻を示す情報を付加することを特徴とする請求項1に記載の情報処理装置。 - 前記情報処理装置は、更に、
前記データ転送部のデータ転送における異常を検知する転送異常検知部とを有し、
前記ステータス情報加工部は、
前記データ転送部により正常にデータ転送が完了した場合に第1の加工手順に従って複数のステータス情報を論理演算して前記第1の加工手順に従った集約ステータス情報を生成し、前記異常検知部により前記データ転送部のデータ転送において異常が検知された場合に前記第1の加工手順と異なる第2の加工手順に従って複数のステータス情報を論理演算して前記第2の加工手順に従った集約ステータス情報を生成することを特徴とする請求項1又は2に記載の情報処理装置。 - 前記情報処理装置は、
データ転送元アドレスからデータ転送先アドレスにデータを転送し、データ転送の状況を表すステータス情報を生成するデータ転送装置とともにデータ処理システムに含まれ、
前記ステータス情報入力部は、
前記データ転送装置によるデータ転送及びステータス情報の生成が終了し、前記データ転送部によるデータ転送及び前記ステータス情報生成部によるステータス情報の生成が終了した後に、前記データ転送装置によるステータス情報と、前記ステータス情報生成部によるステータス情報を入力することを特徴とする請求項1〜3のいずれかに記載の情報処理装置。 - 前記情報処理装置は、
データ転送元アドレスからデータ転送先アドレスにデータを転送するとともにデータ転送の状況を表すステータス情報を生成するデータ転送装置と、前記データ転送装置により生成されたステータス情報を蓄積するステータス情報蓄積領域とともにデータ処理システムに含まれ、
前記情報処理装置は、更に、
前記データ転送部によるデータ転送の完了及び前記ステータス情報生成部によるステータス情報の出力の完了と、前記データ転送装置によるデータ転送の完了及びステータス情報の出力の完了を検知する完了検知部を有し、
前記ステータス情報入力部は、
前記完了検知部により、前記データ転送部によるデータ転送の完了及び前記ステータス情報生成部によるステータス情報の出力の完了と、前記データ転送装置によるデータ転送の完了及びステータス情報の出力の完了が検知された後に、複数のステータス情報を入力することを特徴とする請求項1〜4のいずれかに記載の情報処理装置。 - 前記データ転送部は、
特定のCPUの指示に従って、データ転送元アドレスからデータ転送先アドレスにデータを転送し、
前記情報処理装置は、更に、
前記CPUからのコマンドであって前記データ転送部によるデータ転送を指示する転送コマンドと、前記CPUからのコマンドであって前記ステータス情報入力部による複数のステータス情報の入力を指示するステータス情報入力コマンドと、前記ステータスコマンド加工部によるステータス情報の論理演算を指示するステータス情報加工コマンドを入力するコマンド入力部を有し、
前記データ転送部は、
前記コマンド入力部により入力されたコマンドが転送コマンドである場合に、転送コマンドに従ってデータ転送元アドレスからデータ転送先アドレスにデータを転送し、
前記ステータス情報入力部は、
前記コマンド入力部により入力されたコマンドがステータス情報入力コマンドである場合に、ステータス情報入力コマンドに従って、複数のステータス情報を入力し、
前記ステータス情報加工部は、
前記コマンド入力部により入力されたコマンドがステータス情報加工コマンドである場合に、ステータス情報加工コマンドに従って、前記ステータス情報入力部により入力された複数のステータス情報を論理演算して集約ステータス情報を生成することを特徴とする請求項1〜5のいずれかに記載の情報処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009209889A JP5268841B2 (ja) | 2009-09-11 | 2009-09-11 | 情報処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009209889A JP5268841B2 (ja) | 2009-09-11 | 2009-09-11 | 情報処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011060051A JP2011060051A (ja) | 2011-03-24 |
JP5268841B2 true JP5268841B2 (ja) | 2013-08-21 |
Family
ID=43947596
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009209889A Expired - Fee Related JP5268841B2 (ja) | 2009-09-11 | 2009-09-11 | 情報処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5268841B2 (ja) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5835788A (en) * | 1996-09-18 | 1998-11-10 | Electronics For Imaging | System for transferring input/output data independently through an input/output bus interface in response to programmable instructions stored in a program memory |
US7120708B2 (en) * | 2003-06-30 | 2006-10-10 | Intel Corporation | Readdressable virtual DMA control and status registers |
JP4589768B2 (ja) * | 2005-03-17 | 2010-12-01 | 株式会社リコー | 情報処理装置 |
JP2006277583A (ja) * | 2005-03-30 | 2006-10-12 | Hitachi Ltd | データ処理システム、データ処理方法、及びプログラム |
JP4839489B2 (ja) * | 2008-02-06 | 2011-12-21 | Necシステムテクノロジー株式会社 | ディスクリプタ制御方法、ダイレクトメモリ転送装置およびプログラム |
-
2009
- 2009-09-11 JP JP2009209889A patent/JP5268841B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2011060051A (ja) | 2011-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10877766B2 (en) | Embedded scheduling of hardware resources for hardware acceleration | |
US9733831B2 (en) | Generation-based memory synchronization in a multiprocessor system with weakly consistent memory accesses | |
US6332181B1 (en) | Recovery mechanism for L1 data cache parity errors | |
KR101231558B1 (ko) | 마이크로프로세서에서의 전압 및 주파수의 신뢰성있는 설정 | |
JP2011070655A (ja) | 情報処理装置、メモリダンプシステムおよびメモリダンプ方法 | |
TWI492040B (zh) | 處理器、資訊處理設備、及電力消耗管理方法 | |
JP2010140361A (ja) | コンピュータシステム及び異常検出回路 | |
US8522076B2 (en) | Error detection and recovery in a shared pipeline | |
JP4992740B2 (ja) | マルチプロセッサシステム、障害検出方法および障害検出プログラム | |
TWI596612B (zh) | 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置 | |
WO2011137833A1 (zh) | 一种网络处理器和网络处理器所存程序的诊断方法 | |
JP2006309276A (ja) | デバッグ機構およびデバッグレジスタ | |
US8135960B2 (en) | Multiprocessor electronic circuit including a plurality of processors and electronic data processing system | |
JP5054558B2 (ja) | マルチコアlsi | |
US8874965B2 (en) | Controlling program code execution shared among a plurality of processors | |
JP5268841B2 (ja) | 情報処理装置 | |
US7603489B2 (en) | Direct memory access controller including first and second transfer setting registers | |
JPH07141176A (ja) | コマンドリトライ制御方式 | |
US7916146B1 (en) | Halt context switching method and system | |
WO2019169582A1 (zh) | 处理中断的方法和装置 | |
US7711885B2 (en) | Bus control apparatus and bus control method | |
WO2012101759A1 (ja) | プロセッサ処理方法、およびプロセッサシステム | |
CN101311909A (zh) | 诊断***异样的方法 | |
JP5844134B2 (ja) | マルチプロセッサ装置及びマルチプロセッサ装置の制御方法 | |
US11010318B2 (en) | Method and apparatus for efficient and flexible direct memory access |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120201 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130131 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130205 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130312 |
|
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: 20130409 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130507 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |