JP4388005B2 - コンテキスト切替え装置 - Google Patents

コンテキスト切替え装置 Download PDF

Info

Publication number
JP4388005B2
JP4388005B2 JP2005294190A JP2005294190A JP4388005B2 JP 4388005 B2 JP4388005 B2 JP 4388005B2 JP 2005294190 A JP2005294190 A JP 2005294190A JP 2005294190 A JP2005294190 A JP 2005294190A JP 4388005 B2 JP4388005 B2 JP 4388005B2
Authority
JP
Japan
Prior art keywords
transfer
context
processor
priority
processors
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
Application number
JP2005294190A
Other languages
English (en)
Other versions
JP2007102646A5 (ja
JP2007102646A (ja
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 JP2005294190A priority Critical patent/JP4388005B2/ja
Priority to US11/538,542 priority patent/US7822952B2/en
Publication of JP2007102646A publication Critical patent/JP2007102646A/ja
Publication of JP2007102646A5 publication Critical patent/JP2007102646A5/ja
Application granted granted Critical
Publication of JP4388005B2 publication Critical patent/JP4388005B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/46Multiprogramming arrangements
    • G06F9/461Saving or restoring of program or task context
    • G06F9/462Saving or restoring of program or task context with multiple register sets

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System (AREA)
  • Multi Processors (AREA)

Description

本発明は、プロセッサに関するものであり、特にマルチプロセッサシステムにおいて効率的にプログラムを実行する技術に関する。
複数のプログラムを1つのプロセッサで並列実行する並列処理システムにおいて、プロセッサはプログラムの実行単位であるタスクを決められた要因によって切替えながら実行する。この制御により、1つのプロセッサで複数のプログラムを擬似的に並列実行させている。
また、各タスクは各々がプロセッサを独占して使用するように実行されるため、各々のタスクが個別に仮想的なプロセッサに割り当てられて実行されていると考えることができる。
仮想的なプロセッサは、実際のプロセッサの全機能を持つ必要はなく、タスクを実行するために必要な情報、すなわちプログラムカウンタ、フラグレジスタ、スタック領域、汎用レジスタなどの制御情報やデータ情報のみを持てばよい。タスクを実行するために必要なこれらの情報を「コンテキスト」という。
実行中のタスクを別のタスクに切替えるときには、コンテキストを切替えなければならない。通常、コンテキストはメモリに格納されているため、コンテキストの切替えとは現在実行しているタスクのコンテキストをメモリに書き出し(ここでは「退避」と書く)、次に実行するタスクのコンテキストをメモリから読み出す(ここでは「復帰」と書く)動作を意味する。
従来、このコンテキストの切替えはOS(Operating System)が行う方法の他に、例えば特許文献1のようにハードウェアで行う方法があった。コンテキストの切替えを行うハードウェアのことをコンテキスト切替え装置という。
図17は、従来のコンテキスト切替え装置の構成を示す機能ブロック図である。
図17において、従来のコンテキスト切替え装置1001は、プロセッサ1002と、コンテキストを格納するメモリ1003とを備える。なお、ここではコンテキストを切替える動作の説明を簡単にするため、本図では説明に必要な機能ブロックのみを記載している。
プロセッサ1002は、プロセッサユニット1004と、コンテキストを格納するレジスタ群A1005,レジスタ群B1006と、コンテキスト選択部1007とから構成される。
プロセッサ1002は、次の手順でタスクの切替えを行う。ここでは、現在実行しているタスクをタスク1とし、次にタスク2に処理を切替える場合について説明する。現在実行中のタスク1のコンテキストがレジスタ群A1005に格納されているとする。
1. 次に実行するタスク2のコンテキストをメモリ1003からレジスタ群B1006に復帰させる。
2.実行するタスクがタスク1からタスク2に切り換わるときに、プロセッサユニット1004がレジスタ群B1006、およびコンテキスト切替え装置1001がレジスタ群A1005をアクセスするようにコンテキスト選択部1007が制御する。
3.タスク2の実行を開始したのち、レジスタ群A1005に格納されているタスク1のコンテキストをメモリ1003に退避する。
図18は、このコンテキスト切替えの手順を図に示したものである。
まず、処理の前提を、図18(a)で説明する。
プログラム(1)とプログラム(2)という2つのプログラムをプロセッサ1002で実行するとする。各プログラムは、独立した2つの仮想的なプロセッサの各々に割り当てられているように動作するが、この仮想的なプロセッサのことを論理プロセッサ(以後LPと記す)と呼ぶ。そして、プロセッサ1002は2つのプログラム(1)および(2)を、タスクごとに切替えながら実行する。以後、例えばプログラム(1)を実行することを「プロセッサ1002でLP(1)を実行する」と記す。
図18(b)は、プロセッサ1002で実行するLP(1)及びLP(2)の実行時間とLP(2)のコンテキスト復帰要求との関係を表す図である。
プロセッサ1002は時刻T0でLP(1)の実行を開始し、時刻T3でLP(2)に処理を切替える。
時刻T3でLP(2)の実行を開始するために時刻T1でLP(2)のコンテキストの復帰を開始する。コンテキストの復帰を開始する要因を「コンテキストの復帰要求」と書く。コンテキストの復帰要求が発生するとコンテキスト切替え装置1001のデータ転送制御部1009はコンテキストの復帰処理を開始して、時刻T2に完了する。
以後、「コンテキストの復帰要求」と「コンテキストの退避要求」を合わせて、「コンテキスト切替え要求」と書く。
コンテキスト切替え要求は、コンテキスト切替え装置1001の内部で生成する。生成の方法についてはいくつかの手法が考えられるが、ここでは各LPの実行開始時間を基準として、ある特定の時間が経過したときにコンテキスト切替え装置1001内で生成するという手法を用いる。各LPの実行時間は図17のカウンタ1500で計数する。
また、タスクを切替えるタイミングを決める方法についてもいくつかの手法が考えられるが、ここではカウンタ1500で計数したLPの実行時間が、ある特定の時間に達したときにタスクを切替える要因をコンテキスト切替え装置1001内で生成する手法を用いる。
この従来例によれば、確かに1つのプロセッサではコンテキストの切替えによるオーバーヘッドがなく、効率的にタスクの切替えを行うことができる。
特開2003−271399号公報
ところで、近年、処理の高速化のため、共有メモリの数を少なくしつつプロセッサの複数化を図りたいといった要望がある。
しかしながら、このように複数のタスクを擬似並行的に処理するプロセッサ1002を複数個並列に動作させ、かつ共有メモリにすべてのプロセッサで実行するタスクのコンテキストを格納する場合、複数個のプロセッサの共有メモリへのアクセス(すなわち、コンテキストの復帰や退避)が競合することがあり、タスクの実行完了から次のタスクの実行開始までに時間がかかってしまうという問題がある。
図18(b)の記号で説明すると、共有メモリへのアクセスの競合の問題で、コンテキストの復帰が完了する時刻T2が、本来LP(1)からLP(2)へ処理を切替える時刻T3よりも遅れてしまう場合がある。LP(1)のコンテキストの復帰が完了するまでLP(2)の実行を開始できないので、結果としてタスク切替え時に不要な時間を消費してしまうことになる。
そこで、上述の課題を解決し、複数のプロセッサにおけるコンテキストの復帰や退避によるアクセスの競合を軽減することが可能なコンテキスト切替え装置を提供することを目的とする。
上記目的を達成するために、コンテキスト切替え装置においては、複数のプログラムを切替えながら実行するN個のプロセッサと、M(M<N)個のアクセスポートを有し、前記N個のプロセッサから退避されたコンテキストデータを記憶する共有メモリとを含む並列システムに用いられ、各プロセッサと共有メモリとの間でコンテキストデータを並列に転送することによって各プロセッサのコンテキストを切替えるコンテキス切替え装置であって、コンテキストデータの転送を連続サイクルで行う第1転送モード、およびコンテキストデータ転送をサイクル毎に対象とするプロセッサを切替えながら行う第2転送モードの少なくとも一方によりコンテキストデータを転送する転送手段と、M個より多い数のプロセッサからのコンテキスト切替え要求が競合した場合に、第1転送モードの対象とすべきプロセッサと、第2転送モードの対象とすべきプロセッサとを決定し、決定に従って転送手段を制御する制御手段とを備えることを特徴とする。
これによって、共有メモリに対して複数のプロセッサがコンテキストデータ転送を行う場合においても、共有メモリへのアクセスの競合がタスクの切替え処理に与える影響を最小限に抑えられ、タスクの切替えの時間ロスを大幅に削減することが可能となる。したがって、上述の課題を解決し、複数のプロセッサにおけるコンテキストの復帰や退避によるアクセスの競合を軽減することが可能なコンテキスト切替え装置を提供することができる。
なお、本発明は、このようなコンテキスト切替え装置として実現することができるだけでなく、このようなコンテキスト切替え装置を含む並列システムとして構成したり、コンテキスト切替え装置を一体化したLSIとして実現したり、コンテキスト切替え装置が備える特徴的な手段をステップとするコンテキスト切替え方法として実現したり、それらのステップをコンピュータに実行させるプログラムとして実現したりすることもできる。そして、そのようなプログラムは、CD−ROM等の記録媒体やインターネット等の伝送媒体を介して配信することができるのは言うまでもない。
以上の説明から明らかなように、本発明によれば、共有メモリに対して複数のプロセッサがコンテキストデータ転送を行う場合においても、共有メモリへのアクセスの競合がタスクの切替え処理に与える影響を最小限に抑えられ、タスクの切替えの時間ロスを大幅に削減することが可能となる。
よって、本発明により、オーバーヘッドが軽減され、並列システムが普及してきた今日における本願発明の実用的価値は極めて高い。
以下、本発明の実施の形態について、図面を用いて詳細に説明する。
(実施の形態1)
図1は本発明の実施の形態1に係るコンテキスト切替え装置を用いた、並列システムの全体構成を示す機能ブロック図である。
図1に示されるように、並列システム1は、複数の物理的プロセッサから構成されるプロセッサ20と、複数のコンテキストメモリから構成される共有メモリ30と、コンテキスト切替え装置10とを備える。プロセッサ20は、コンテキスト切替え装置10を介して、共有メモリ30に対してコンテキストデータの復帰あるいは退避を行う。
コンテキスト切替え装置10は、転送モード格納部11と、優先度判定部12と、データ転送制御部13と、複数のカウンタ15とを備える。
転送モード格納部11は、レジスタで構成され、プロセッサ20が1つのプロセッサとして動作するシステムモードにおいて、コンテキスト転送モードに関する情報をこのプロセッサ20から書き込む。このコンテキスト転送モードに関する情報は、連続転送プロセッサ数111と、コンテキスト転送属性112と、選択情報113と、モード選択情報114とで構成される。
優先度判定部12は、転送モード格納部11に格納されているコンテキスト転送モードに関する情報と、上記システムモードにおいてプロセッサ20から転送されてくる優先度情報等とに基づいてデータ転送制御部13に必要な情報を生成するものであり、優先度格納部121と、実行時間比較部122と、割り込み情報生成部123と、転送待ち時間計数部124と、選択部125と、データ転送情報生成部126とを備える。
データ転送制御部13は、優先度判定部12が生成した情報に基づいて、コンテキストを転送する順番を動的に切替えることにより、複数のプロセッサにおけるコンテキストの復帰や退避によるアクセスの競合を軽減するものであり、転送中断制御部131と、最大アクセス数格納部132と、制御部133と、データ経路切替え部134とを備える。
カウンタ15は、各LPに割り当てられた実行サイクル数の残り時間を計数する。
なお、データ転送制御部13のデータ経路切替え部134は、請求項における転送手段を構成し、転送モード格納部11、優先度判定部12およびデータ転送制御部13の転送中断制御部131、最大アクセス数格納部132、制御部133によって請求項における制御手段が構成される。
次いで、転送モード格納部11、優先度判定部12およびデータ転送制御部13の構成をさらに詳細に説明する。
まず転送モード格納部11について、図2を用いて説明する。
コンテキスト転送モードに関する情報は、上記したように、連続転送プロセッサ数111と、コンテキスト転送属性112と、選択情報113と、モード選択情報114との4つの情報で構成される。
連続転送プロセッサ数111は、複数のLPのコンテキスト切替え要求が競合したときに、コンテキストデータを連続転送するプロセッサの個数の情報である。共有メモリ30には最大M個のプロセッサからのデータ転送を実行することができるので、連続転送プロセッサ数111の有効な最小の設定値は「0」、また有効な最大の設定値は「M」である。
コンテキスト転送属性112は、各LPを実行する際のコンテキストデータの転送を、連続転送するか否かを指定する情報である。なお、ここではプロセッサ20で実行するLPの最大数を「S」として説明する。
選択情報113は、連続転送プロセッサ数111の情報とコンテキスト転送属性112のいずれの情報を有効にするかを選択する情報である。選択情報113によって選択した連続転送プロセッサ数111の情報またはコンテキスト転送属性112の情報を、転送モード情報110として出力する。
モード選択情報114は、優先度格納部121が生成する情報と、実行時間比較部122が生成する情報とのいずれかを、優先度判定部12の選択部125に選択させる情報である。
次に、優先度判定部12について図3を用いて説明する。
優先度判定部12は、優先度格納部121と、実行時間比較部122と、割り込み情報生成部123と、転送待ち時間計数部124と、選択部125と、データ転送情報生成部126とを備える。
優先度格納部121は、各LPのコンテキストデータ転送の優先度情報を格納する。この優先度情報は最大S個の情報で構成される。ここでは便宜上、優先度情報「1」が最も優先度が高いことを表すものとし、順に優先度情報「1」、「2」、…、「S」と割り振る。たとえば、S=3のとき、LP(1),LP(2),LP(3)の3つのLPが定義されているが、LP(2),LP(1),LP(3)の順にコンテキストデータの転送優先度の高い場合、LP(1),LP(2),LP(3)の各LPの優先度情報はそれぞれ「2」、「1」、「3」である。なお、優先度格納部121には、システムモードにおいてプロセッサ20から優先度情報が格納される。
実行時間比較部122は、各LPに割り当てられた実行サイクル数の残り時間を計数するカウンタ15の計数値を入力し、タスク切替えまでの残り時間が短いものから順に上述した優先度情報を付与した情報を生成する。
割り込み情報生成部123は、外部から割り込み信号400が入力されると、割り込み信号400に対応づけられたLPを特定し、さらに特定したLP番号の優先度を特定する。そののち、割り込み情報生成部123は選択部125に対して、割り込み信号400に対応したLPのLP番号情報、特定した優先度情報、及び切替え要求信号を出力する。
転送待ち時間計数部124は、制御部133からの情報に基づき、コンテキストデータ転送待ちの状態になったあとに転送をスキップされた回数(先にコンテキストデータを転送したLPの個数)を計数し、計数した値が所定の回数に達したときには、転送待ちのLPに最も高い優先度を付与して、切替え要求とともに選択部125に出力する。
選択部125は、転送モード格納部11が出力するモード選択情報114を入力し、実行時間比較部122が生成する各LPの優先度情報と、優先度格納部121が生成する各LPの優先度情報のいずれか一方の情報を選択して出力する。ただし、選択部125は、割り込み情報生成部123や転送待ち時間計数部124が生成する切替え要求信号が入力されているときは、後述するようにそれぞれが生成するLP番号情報を受け付ける。
データ転送情報生成部126は、転送モード情報110の情報と、選択部125の情報とを入力し、連続転送するプロセッサ番号情報127、連続転送しないプロセッサ番号情報128、及び転送中断情報129を出力する。
例えば、M=3のシステムで、転送モード情報110が「連続転送プロセッサ数が1である」という情報であり、さらに選択部125から入力する情報が「プロセッサP(1)でLP(1)、プロセッサP(2)でLP(2)、プロセッサP(3)でLP(3)が実行されており、LP(1),LP(2),LP(3)の優先度がそれぞれ「2」、「1」、「3」である」場合、連続転送するプロセッサ番号情報127としてLP(2)を実行しているプロセッサP(2)のプロセッサ番号すなわち「2」、連続転送しないプロセッサ番号情報128としてLP(1)とLP(3)をそれぞれ実行しているプロセッサP(1)およびP(3)のプロセッサ番号すなわち「1」と「3」を出力する。
さらにデータ転送情報生成部126は、後述するように、あるプロセッサのコンテキストデータを転送中に、より高い優先度のLPを実行しているプロセッサのコンテキスト切替え要求が発生したときには、転送中断情報129を出力する。
次に、データ転送制御部13について図4を用いて説明する。
データ転送制御部13は、転送中断制御部131と、最大アクセス数格納部132と、制御部133と、データ経路切替え部134とを備える。
転送中断制御部131は、優先度判定部12が生成する転送中断情報129を入力し、コンテキストデータ転送中の場合はその転送を中断することを指示する情報と、転送中断情報129に含まれるプロセッサ番号のプロセッサのコンテキストデータを転送することを指示する情報とを、制御部133に出力する。
最大アクセス数格納部132は、プロセッサ20の中で、同時に並列に実行するプロセッサの個数を格納する。情報の格納は、プロセッサ20が行う。
制御部133は、連続転送するプロセッサ番号情報127及び連続転送しないプロセッサ番号情報128を入力し、データ経路切替え部134を制御する。
また、プロセッサ20及び共有メモリ30に対しては、コンテキストデータのアドレスや、データをアクセスするタイミングを示すイネーブル情報を出力する。
データ経路切替え部134は、制御部133の制御情報に従って、プロセッサ20の各プロセッサP(k)(k=1〜N)と共有メモリ30の各メモリCM(j)(j=1〜M)との間のデータ線の接続を切替える。
次に、コンテキスト切替え装置10の動作について、図を用いて説明する。なお、本実施の形態1では、各LPのコンテキストデータはすべて10個であるとし、さらに1つのプロセッサは1サイクルにつき1個のコンテキストデータを転送できるものとして説明する。これらの値は説明の便宜上決めたものであり、これらの値に限るものではない。
図5は、連続転送プロセッサ数111の設定を有効にした場合におけるコンテキストデータ転送のタイミングチャートである。
なお、ここでは、連続転送プロセッサ数111には値「2」を設定し、選択情報113には連続転送プロセッサ数111が有効になる値を設定する。さらにモード選択情報114には、選択部125が優先度格納部121の情報を有効とする設定を行うものとする。また、プロセッサ20はN=3個のプロセッサで構成され、共有メモリ30はM=2、つまり2個のプロセッサが同時にアクセス可能であるとする。
さらにP(1)、P(2)、P(3)ではいずれもタスク切替え後にLP(1),LP(2),LP(3)をそれぞれ実行するものとし、優先度格納部121の優先度情報はLP(1),LP(2),LP(3)にそれぞれ「1」、「3」、「2」を設定する。本実施の形態1では、コンテキストデータの転送は、各LPのコンテキストの復帰を表すものとする。
さて、図5(a)は、時刻T0で3つのプロセッサLP(1),LP(2),LP(3)のコンテキスト切替え要求が発生した場合のタイミングチャートである。図では、各LPを実行するプロセッサ番号で表している。連続転送プロセッサ数111の設定が「2」であるので、この情報とLPの優先度情報とを合わせて、連続転送するプロセッサ番号情報127は[1,3]となる。
連続転送しないプロセッサ番号情報128は、連続転送するプロセッサ番号情報127以外のプロセッサ番号であるから、この例では[2]のみである。
制御部133と、データ経路切替え部134は、連続転送するプロセッサ番号情報127の情報[1,3]と、連続転送しないプロセッサ番号情報128の情報[2]とに基づき、T0から10サイクルの期間にLP(1)のコンテキストデータ及びLP(3)のコンテキストデータを全て連続転送する。そして、転送が完了した時刻T10で残りのLP(2)のコンテキストデータを転送する。
この結果、LP(1)及びLP(3)のコンテキストデータ転送は、いずれも切替え要求から10サイクル後に完了する。しかし、LP(2)のコンテキストデータ転送は切替え要求から20サイクル後に完了することになる。
次に、図5(b)は連続転送プロセッサ数111の設定が「1」である点を除いて、図5(a)と全く同じ設定を行う。この場合、連続転送するプロセッサ番号情報127は[1]、連続転送しないプロセッサ番号情報128は[3,2]である。
制御部133と、データ経路切替え部134は、連続転送するプロセッサ番号情報127の情報[1]と、連続転送しないプロセッサ番号情報128の情報[3,2]とに基づき、T0から最初の10サイクルの期間にLP(1)のコンテキストデータを全て連続転送する。
一方、LP(3)とLP(2)のコンテキストデータは1サイクルごとに交互に転送する。LP(1)のコンテキストデータ転送が完了する時刻T10以降は、LP(3)とLP(2)のコンテキストデータを並列に転送する。
この結果、LP(1)のコンテキストデータ転送はいずれも切替え要求から10サイクル後に完了する。一方、LP(3)及びLP(2)のコンテキストデータ転送は切替え要求から15サイクル後に完了することになる。
図5(a)と比較して、LP(3)のコンテキストデータ転送の完了が5サイクル増加するが、LP(1),LP(2),LP(3)の全てのコンテキストデータ転送の完了が5サイクル削減できることになる。
図6および図7は、N=4,M=3の場合において、連続転送プロセッサ数111の設定を使用したときのコンテキストデータ転送のタイミングチャートである。
LPの優先度は、高い優先度ものから順にLP(1),LP(3),LP(4),LP(2)であり、LP(1),LP(2),LP(3),LP(4)はそれぞれプロセッサP(1),P(2),P(3),P(4)で実行する。
図6(a)より、連続転送プロセッサ数の設定値が「3」のときは、LP(1),LP(3),LP(4)のコンテキストデータ転送が切替え要求から10サイクル後、LP(2)のコンテキストデータ転送は20サイクル後に完了する。
図6(b)より、連続転送プロセッサ数の設定値が「2」のときは、LP(1)とLP(3)のコンテキストデータ転送が切替え要求から10サイクル後、LP(4)とLP(2)のコンテキストデータ転送は15サイクル後に完了する。
図7(a)より、連続転送プロセッサ数の設定値が「1」のときは、LP(1)のコンテキストデータ転送が切替え要求から10サイクル後、LP(3)とLP(4)が12サイクル後、LP(2)が13サイクル後にコンテキストデータ転送を完了する。
図7(b)より、連続転送プロセッサ数の設定値が「0」のときは、図7(a)の結果と同じである。
次に、コンテキスト転送属性112の設定を使用した場合について説明する。
図8および図9は、N=3、M=2、S=6の場合で、コンテキスト転送属性112の設定はLP(1),LP(2),LP(4)が「連続転送する」、LP(3),LP(5),LP(6)が「連続転送しない」である場合のコンテキストデータ転送のタイミングチャートである。
図8(a)は、タスク切替え後にLP(1),LP(2),LP(3)をそれぞれプロセッサP(1),P(2),P(3)で実行することになっており、かつ3つのプロセッサのコンテキストデータ転送が競合した場合である。
LP(1)と、LP(2)のコンテキスト転送属性が「連続転送する」であるので、切替え要求が発生した時刻T0から10サイクル間でLP(1)とLP(2)コンテキストデータ転送を完了し、時刻T10からLP(3)のコンテキストデータ転送を行う。
図8(b)は、タスク切替え後にLP(4),LP(5),LP(6)をそれぞれプロセッサP(1),P(2),P(3)ですることになっており、かつ3つのプロセッサのコンテキストデータ転送が競合した場合である。
LP(4)のコンテキスト転送属性のみが「連続転送する」であるので、切替え要求が発生した時刻T0から10サイクル間で、LP(4)のコンテキストデータ転送を完了する。一方、LP(5)とLP(6)のコンテキストデータ転送は時刻T0から1サイクルごとに交互に転送を行い、時刻T10からは並列に転送して時刻T15で転送を完了する。
図9(a)はタスク切替え後にLP(1),LP(2),LP(4)をそれぞれプロセッサP(1),P(2),P(3)で実行することになっており、かつ3つのプロセッサのコンテキストデータ転送が競合した場合である。
LP(1),LP(2),LP(4)のコンテキスト転送属性が全て「連続転送する」であるが、M=2であるので、全てのプロセッサのコンテキストデータ全てを連続転送することができない。この場合は、LPの番号の小さいLPの優先度が高いとする。したがって、LP(1)とLP(2)のコンテキストデータをT0から10サイクルの間に連続転送し、時刻T10からLP(4)のコンテキストデータを連続転送する。従って、図8(a)と同じ結果となる。
なお、ここで「LPの番号の小さいLPの優先度が高い」と決めたが、優先度の決め方はこれに限定するものではない。
図9(b)は、タスク切替え後にLP(3),LP(5),LP(6)をそれぞれプロセッサP(1),P(2),P(3)で実行することになっており、かつ3つのプロセッサのコンテキストデータ転送が競合した場合である。
LP(1),LP(2),LP(4)のコンテキスト転送属性が全て「連続転送しない」であるので、時刻T0からLP(3),LP(5),LP(6)のコンテキストデータを1サイクルごとに交互に転送する。全てのコンテキストデータ転送は15サイクル後に完了する。
このように、コンテキストデータ転送を10サイクルで転送完了させたいLPを指定することで、データ転送の競合がM個以内であれば、必ずデータ転送を10サイクルで完了させることができる。
また、それ以外のLPについては、「連続転送しない」というコンテキスト転送属性を設定することにより、図5(b)と同様の理由で全体のコンテキストデータ転送を早く完了させることができるという効果がある。
次に、実行時間比較部122を使用した場合について、図を用いて説明する。
モード選択情報114には、選択部125が実行時間比較部122の情報を選択してデータ転送情報生成部126へ出力することを指定する情報を設定する。
図10は、実行時間比較部122において実施される処理を示すフローチャートである。また、図11は、図10のフローチャートを説明するための処理の例である。
まず、タスク切替え後にLP(1),LP(2),LP(3)をそれぞれ実行する3つのプロセッサP(1),P(2),P(3)のコンテキストデータの切替え要求が、時刻T0で同時に発生する。
次いで、実行時間比較部122は、ステップS001でコンテキストデータの切替え要求が競合したLP番号を特定する。図11では、LP(1),LP(2),LP(3)が該当するので、LP番号はそれぞれ「1」、「2」、「3」である。
次に、実行時間比較部122は、ステップS002で、ステップS001において特定した各LPに割り当てられた実行時間の残り時間を特定する。図11では、LP(1),LP(2),LP(3)の実行に割り当てられた残り時間が、それぞれR1(符号1221)、R2(符号1222)、R3(符号1223)である。
次に、実行時間比較部122は、ステップS003、ステップS002で特定した残り時間の大小判定を実施する。図11では、残り時間を最も短いものから並べるとR3,R1,R2の順となる。
最後に、実行時間比較部122は、ステップS004で、残り時間の少ないLPから順に高い優先度情報を生成する。図11では、LP(3)の優先度情報として「1」、LP(1)の優先度情報として「2」、LP(2)の優先度情報として「3」を生成する。
実行時間比較部122によって優先度情報を生成した後の動作については、図8と同様であるため、詳細な説明は省略する。
このように、タスク切替えまでの残り時間を比較してコンテキスト切替えの優先度を決定するので、コンテキスト切替えが競合したときにおいても、タスク切替えまでにコンテキスト切替えを完了する頻度がより高くなる。
次に、転送中断制御部131を使用した場合の動作について説明する。
図12は、転送中断制御部131を使用した場合のタイミングチャートである。
コンテキスト転送属性112には、LP(1),LP(2),LP(3)のいずれについても「連続転送する」を設定し、選択情報113にはコンテキスト転送属性112が有効になる値を設定する。さらにモード選択情報114には、選択部125が優先度格納部121の情報を有効とする設定を行うものとする。また、プロセッサ20はN=3個のプロセッサで構成され、共有メモリ30はM=2、つまり2個のプロセッサが同時にアクセス可能であるとする。さらに、タスク切替え後にLP(1),LP(2),LP(3)はそれぞれプロセッサP(1),P(2),P(3)で実行するものとし、優先度格納部121の優先度情報はLP(1),LP(2),LP(3)にそれぞれ「1」、「3」、「2」を設定するものとする。
図12(a)において、時刻T0でLP(1)及びLP(2)のコンテキストデータの切替え要求が発生している。連続転送プロセッサ数111の設定が「2」であるので、LP(1)及びLP(2)のコンテキストを同時に転送する。
図12(b)は、図12(a)の時刻T2に、LP(3)のコンテキストデータ切替え要求が発生している。このとき、LP(3)の優先度がLP(2)の優先度よりも高いので、LP(2)のコンテキストデータ転送を一時的に中断し、先にLP(3)のコンテキストデータの転送を行う。LP(1),LP(2),LP(3)のコンテキスト転送属性112はいずれも「連続転送する」を指定しているので、LP(1)とLP(3)はコンテキストデータ転送を連続に実行し、いずれもデータ転送開始から10サイクルで転送を完了する。
時刻T10において、P(1)のコンテキストデータ転送が完了するので、中断していたP(2)のコンテキストデータ転送を時刻T10から再開する。
なお、ここで説明したLP(3)のコンテキストデータ切替え要求は、割り込み情報生成部123によっても発生する。割り込み情報生成部123は、外部から割り込み信号400が入力されると、割り込み信号400に対応づけられたLPを特定し、さらに特定したLP番号の優先度を特定する。そののち、割り込み情報生成部123は選択部125に対して、割り込み信号400に対応したLPのLP番号情報、特定した優先度情報、及び切替え要求信号を出力する。
ここで、割り込み信号400とLP番号との対応に関する情報は、優先度格納部121に格納されており、この情報はプロセッサ20から設定可能である。
また図12の動作について、複数ある割り込み信号400の2本がLP(1)とLP(3)に関連付けられており、本実施の形態で10個と仮定したコンテキストデータの数がさらに多いシステムを想定すると、割り込み信号400が頻繁に入力された場合にLP(2)のコンテキストデータ転送が長時間にわたって実行できないことがある。この問題を解決するために、転送待ち時間計数部124は、制御部133からの情報に基づいて、コンテキストデータ転送待ちの状態になったあとに転送をスキップされた回数、すなわちP(2)より先にコンテキストデータを転送したLPの個数を計数する。転送待ち時間計数部124は、LP(2)の転送待ち回数情報を保持しており、転送待ち時間計数部124の計数した値がこの回数に達したときには、LP(2)に最も高い優先度を付与して、切替え要求とともに選択部125に出力する。
ここで、LP(2)の最大の転送待ち回数情報と書いたが、この転送待ち回数情報はすべてのLPについて設定可能であり、また格納する機能ブロックは転送待ち時間計数部124に限らず、例えば優先度格納部121でもよい。また、この転送待ち回数情報はプロセッサ20から設定可能である。
なお、共有メモリ30はM個のプロセッサが同時にアクセスできる構成を用いると説明したが、これは例えばM個の入力ポート及び出力ポートを持つマルチポートメモリを用いれば実現できる。
あるいは、共有メモリ30については、シングルポートのメモリをM個並列に接続することによっても実現できる。ただし、任意の番号のLPがプロセッサ20で順不同に実行されるため、例えばLP(1)のコンテキストをシングルポートのメモリのCM(1)にすべて配置する方法を用いると、必ずCM(1)のメモリへのアクセスが競合してしまう。これを解決する方法として、例えば図13(a)に示すデータの格納方法を行い、図13(b)のようにインターリーブ方式によってアクセスする方法がある。
図13(a)では共有メモリCM(1)にLP(1)を実行するときのコンテキストデータLP(1)_1,LP(1)_4,LP(1)_7,LP(1)_10と、LP(2)を実行するときのコンテキストデータLP(2)_1,LP(2)_4,LP(2)_7,LP(2)_10を格納する。LP(1)_1の添え字“_1”はコンテキストデータに割り振ったデータ番号である。CM(2),CM(3)についても同様とする。
そして、図13(b)のタイミングチャートで示すように、共有メモリ30に対してタイミングチャート中のデータ番号と上記のデータ番号が一致するようにアクセスすればよい。この図のデータ格納方法と、データアクセス方法を用いれば、任意のLP番号の順にアクセスが同時に発生しても、アクセスするプロセッサの数が3個までならば、同時並列してアクセス可能である。
ここでは説明の便宜上、プロセッサ数を「3」としたが、M個の同時並列アクセスを実現する場合も同様に考えればよい。また、図13(b)に示したアクセスの方法も1つの例であり、これに限定するものではない。
また、共有メモリ30にシングルポートのメモリをM個並列に接続する構成をとる場合、M個のメモリの中で使用する最大アクセス数格納部132に、使用するメモリの個数を設定する。
通常、共有メモリ30のメモリ容量はLPの実装数「S」から決定する。しかし、アプリケーションによっては実装したLP数よりも少ないLP数で動作させる場合がある。例えばLPの実装数が「8」であっても、アプリケーションでは4つのLPしか使用しない場合も考えられる。このとき、実装する共有メモリ30の個数M(ここでは同時アクセス可能なプロセッサ数と等しいと想定する)が4個である場合、共有メモリ30の容量としては2個のメモリで足りる。
このとき、最大アクセス数格納部132には値「2」を設定する。制御部133は、共有メモリ30の同時アクセス可能なプロセッサ数Mが「2」であるとして、データ切替え部134を制御する。詳細な説明図は省略するが、共有メモリ30の中で、同時アクセス可能なプロセッサ数Mの対象となるメモリのみ稼動させ、残りのメモリの電力供給を止めることにより、消費電力を小さくすることが可能となる。
なお、本実施の形態1では、コンテキストの復帰に関して説明したが、コンテキストの退避に関しても全く同様である。
さらに、コンテキストの復帰と退避の競合が発生する場合には、共有メモリのポート数あるいはメモリ数を増設するか、本実施の形態と同様のデータ転送の制御を行うことで効率的にデータ転送を行うことができる。
なお、この実施の形態1に書かれた構成は説明の便宜上のものであり、実施の形態を限定するものではない。
(実施の形態2)
本発明の実施の形態2について、図面を参照しながら詳細に説明する。
実施の形態2は図1と同じ機能ブロックで構成されるが、実施の形態1と異なる点は実行時間比較部122の機能である。
図14は、実施の形態2における、実行時間比較部122において実施される処理を示すフローチャートである。ステップS003までは図10と同じであるため、詳細な説明を省略する。
ステップS010からステップS018では、実行時間比較部122は、コンテキストデータの連続転送プロセッサ数を1〜Mの範囲で変化させ、それぞれの場合において各プロセッサに割り当てられた時間内にすべてのプロセッサのコンテキストデータの転送完了を全て完了するための連続転送プロセッサの数を探索し、連続転送プロセッサ数情報とする。
もし、すべてのプロセッサのコンテキストデータの転送完了が全て完了する連続転送プロセッサの数が存在しなければ、すべてのプロセッサのコンテキストデータの転送完了待ち時間の最大値tMAXが最小になる連続転送プロセッサ数を探索する。
そして、連続転送プロセッサ数を決定したのち、各LPの優先度情報と、決定した連続転送プロセッサ数情報を選択部125に出力する。
なお、本実施の形態2では、転送モード情報110は使用しない。すなわち、本実施の形態2における連続転送プロセッサ数は転送モード情報110に設定する連続転送プロセッサ数111とは異なる。
次に図15を用いて、N=3,M=2の場合について、図14の具体的な動作を説明する。図15において、P(1),P(2),P(3)のタスク切替え時刻がそれぞれT11,T13,T21であるとする。
図15(a)は、連続転送を行うプロセッサ数を「1」とした場合のタイムチャートである。このとき、P(1)とP(2)についてはタスク切替え時刻までにコンテキストデータ転送が完了するが、P(3)は完了しない。
一方、図15(b)は、連続転送を行うプロセッサ数を「2」とした場合のタイムチャートである。このとき、P(1),P(2),P(3)のすべてのプロセッサにおいて、タスク切替え時刻までにコンテキストデータ転送が完了する。すなわち、tMAX(2)=0である。
従って、ステップS018で生成する連続転送プロセッサ数情報を[2]と決定することになる。
また、別の例として、図16を用いて説明する。図16において、P(1),P(2),P(3)のタスク切替え時刻がそれぞれT11,T13,T13であるとする。
図16(a)は、連続転送を行うプロセッサ数を「1」とした場合のタイムチャートである。このとき、P(1)についてはタスク切替え時刻までにコンテキストデータ転送が完了するが、P(2)とP(3)は完了しない。
一方、図16(b)は、連続転送を行うプロセッサ数を「2」とした場合のタイムチャートである。このとき、P(1)とP(3)についてはLP切替え時刻までにコンテキストデータ転送が完了するが、P(2)は完了しない。
いずれの場合も、tMAXの値が0にならないので、tMAXの値の大きさで評価することになる。
図16(a)では、P(1),P(2),P(3)のLP切替え時刻に対してそれぞれ0サイクル、2サイクル、2サイクルの待ち時間が発生するので、tMAX(1)=2である。
図16(b)では、P(1),P(2),P(3)のLP切替え時刻に対してそれぞれ0サイクル、7サイクル、0サイクルの待ち時間が発生するので、tMAX(2)=7である。
従って、ステップS018で生成する連続転送プロセッサ数情報は、tMAXの値が最小となる連続転送プロセッサの数をとるので、連続転送プロセッサ情報は[1]と決定することになる。
なお、本実施の形態においては、図16のフローチャートに従って処理を実施する回路で構成してもよいし、プロセッサ数Nや共有メモリの同時並列アクセス数M、そして実行時の残りサイクル数などを用い、あらかじめ処理の一部あるいは全ての処理を数値テーブルにして実装しておいてもよい。
また、本実施の形態では、全プロセッサのコンテキスト転送完了待ち時間を最小にするという評価を行っているが、他にも特定のLPに関しては常に優先度情報を高くするといった方法も考えられる。評価する対象は本実施の形態で説明した内容に限定するものではない。
なお、この実施の形態2に書かれた構成は説明の便宜上のものであり、実施の形態を限定するものではない。
本発明にかかるコンテキスト切替え装置は、携帯電話機等のモバイル機器等における音楽再生処理や、映像再生処理を複数のプロセッサで並行して実行する再生機器や、映像再生機器として適用できる。
本発明の実施の形態1におけるコンテキスト切替え装置の機能ブロック図である。 転送モード格納部11の機能ブロック図である。 優先度判定部12の機能ブロック図である。 データ転送制御部13の機能ブロック図である。 連続転送プロセッサ数111の設定を有効にした場合の、コンテキストデータ転送のタイミングチャートである(N=3、M=2)。 連続転送プロセッサ数111の設定を使用した場合のコンテキストデータ転送のタイミングチャートである(N=4、M=3)。 連続転送プロセッサ数111の設定を使用した場合のコンテキストデータ転送のタイミングチャートである(N=4、M=3)。 コンテキスト転送属性112の設定を用いた場合のコンテキストデータ転送のタイミングチャートである。 コンテキスト転送属性112の設定を用いた場合のコンテキストデータ転送のタイミングチャートである。 実行時間比較部122において実施される処理を示すフローチャートである。 図10のフローチャートを説明するための処理の例である。 転送中断制御部131を使用した場合のタイミングチャートである。 共有メモリ30の構成例である。 本発明の実施の形態2における、実行時間比較部122において実施される処理を示すフローチャートである。 本発明の実施の形態2における、コンテキストデータ転送のタイミングチャートである(tMAX=0の場合)。 本発明の実施の形態2における、コンテキストデータ転送のタイミングチャートである(tMAX≠0の場合)。 従来のコンテキスト切替え装置の機能ブロック図である。 従来のコンテキスト切替え装置におけるプログラム、LP、及びプロセッサの関係と、コンテキスト切替え処理を説明する図である。
符号の説明
1 並列システム
10 コンテキスト切替え装置
11 転送モード格納部
12 優先度判定部
13 データ転送制御部
15 カウンタ
20 プロセッサ
30 共有メモリ
110 転送モード情報
111 連続転送プロセッサ数
112 コンテキスト転送属性
113 選択情報
114 モード選択情報
121 優先度格納部
122 実行時間比較部
123 割り込み情報生成部
124 転送待ち時間計数部
125 選択部
126 データ転送情報生成部
127 連続転送するプロセッサ番号情報
128 連続転送しないプロセッサ番号情報
129 転送中断情報
131 転送中断制御部
132 最大アクセス数格納部
133 制御部
134 データ経路切替え部
400 割り込み信号

Claims (19)

  1. 複数のプログラムを切替えながら実行するN個のプロセッサと、M(M<N)個のアクセスポートを有し、前記N個のプロセッサから退避されたコンテキストデータを記憶する共有メモリとを含む並列システムに用いられ、各プロセッサと共有メモリとの間でコンテキストデータを並列に転送することによって各プロセッサのコンテキストを切替えるコンテキス切替え装置であって、
    コンテキストデータの転送を連続サイクルで行う第1転送モード、およびコンテキストデータ転送をサイクル毎に対象とするプロセッサを切替えながら行う第2転送モードの少なくとも一方によりコンテキストデータを転送する転送手段と、
    M個より多い数のプロセッサからのコンテキスト切替え要求が競合した場合に、第1転送モードの対象とすべきプロセッサと、第2転送モードの対象とすべきプロセッサとを決定し、決定に従って転送手段を制御する制御手段と
    を備えることを特徴とするコンテキスト切替え装置。
  2. 前記制御手段は、
    プロセッサの転送モードに関する転送モード情報を格納する転送モード格納手段と、
    転送モード情報に基づいて前記競合に関わるプロセッサのうち第1転送モードの対象とすべきプロセッサを優先度を用いて判定し、判定結果に応じて第1および第2転送モードそれぞれの対象とすべきプロセッサを決定する優先度判定手段と
    を備えることを特徴とする請求項1記載のコンテキスト切替え装置。
  3. 前記転送モード情報は、第1転送モードの対象とすべきプロセッサの数を示し、
    前記優先度判定手段は、転送モード情報に示される数の範囲内で第1転送モードの対象とすべきプロセッサを判定する
    ことを特徴とする請求項2記載のコンテキスト切替え装置。
  4. 前記転送モード情報は、プロセッサで実行されるプログラム毎に、第1転送モードの対象とすべきか否かを示す
    ことを特徴とする請求項2記載のコンテキスト切替え装置。
  5. 前記優先度判定手段は、プロセッサで実行されるプログラム毎に定められた優先度を格納する優先度格納手段を備える
    ことを特徴とする請求項2記載のコンテキスト切替え装置。
  6. 前記優先度判定手段は、各プロセッサで実行中のプログラムに割り当てられた時間の残り時間を比較することによって、プログラム毎に残り時間に依存する前記優先度を生成する実行時間比較手段を備える
    ことを特徴とする請求項2記載のコンテキスト切替え装置。
  7. 前記残り時間が最も少ないプログラムの優先度は最も高い
    ことを特徴とする請求項6記載のコンテキスト切替え装置。
  8. 前記実行時間比較手段は、さらに、転送手段において転送中の各コンテキストデータの転送完了待ち時間の最大値が最小になるように、第1転送モードの対象とすべきプロセッサ数を特定し、
    前記転送手段は、特定された前記プロセッサ数に従ってコンテキストデータ転送を行う
    ことを特徴とする請求項6記載のコンテキスト切替え装置。
  9. 前記転送モード情報はモード選択情報を含み、
    前記優先度判定手段は、
    各プロセッサで実行中のプログラムに割り当てられた時間の残り時間を比較することによって、残り時間に依存する第1の優先度をプログラム毎に生成する実行時間比較手段と、
    プロセッサで実行されるプログラム毎に定められた第2の優先度を格納する優先度格納手段と、
    前記モード選択情報に従って、前記第1の優先度と前記第2の優先度とのいずれかを前記優先度として選択する選択手段とを備える
    ことを特徴とする請求項2記載のコンテキスト切替え装置。
  10. 前記優先度判定手段は、さらに、
    前記選択手段によって選択された優先度と、前記転送モード情報とに従って、第1および第2転送モードそれぞれの対象とすべきプロセッサを示すデータ転送情報を生成するデータ転送情報生成手段を備える
    ことを特徴とする請求項9記載のコンテキスト切替え装置。
  11. 前記データ転送情報は、第1転送モードの対象とするプロセッサのプロセッサ番号と、第2転送モードの対象とするプロセッサのプロセッサ番号とを示す
    ことを特徴とする請求項10記載のコンテキスト切替え装置。
  12. 前記優先度判定手段は、さらに、
    プログラムを実行させるための割り込み信号が入力されたとき、割り込み対象のプログラムを実行するプロセッサのコンテキストデータの転送を優先するための情報を前記転送手段に出力する割り込み情報生成手段を備える
    ことを特徴とする請求項2記載のコンテキスト切替え装置。
  13. 前記優先度判定手段は、さらに、
    前記割り込み対象のプログラムのコンテキストデータ転送の待ち時間を計数し、計数した待ち時間が所定数に達したことを要因として前記割り込み対象プログラムの優先度を高くする転送待ち時間計数手段を備える
    ことを特徴とする請求項12記載のコンテキスト切替え装置。
  14. 前記待ち時間は、コンテキストデータの転送がスキップされた回数である
    ことを特徴とする請求項13記載のコンテキスト切替え装置。
  15. 前記転送手段は、
    第1のプログラムを実行するプロセッサのコンテキストデータの転送を一時的に中断し、中断中に第1のプログラムとは異なる第2のプログラムを実行するプロセッサのコンテキストデータを転送する転送中断制御手段を備える
    ことを特徴とする請求項2記載のコンテキスト切替え装置。
  16. 前記共有メモリは複数のメモリで構成され、
    前記転送手段は、インターリーブ方式によるアクセスにより複数の前記プロセッサの複数のコンテキストデータを同時に転送する
    ことを特徴とする請求項1記載のコンテキスト切替え装置。
  17. 前記転送手段は、同時並列に転送するプロセッサの最大数を保持する最大アクセス数格納手段を備え、
    前記転送手段は、1転送サイクルあたりに並列に入力または出力するデータ数を、最大アクセス数格納手段に設定された数の範囲内で行う
    ことを特徴とする請求項1記載のコンテキスト切替え装置。
  18. 前記共有メモリは、M個のプロセッサが同時にアクセスすることが可能なマルチポートメモリで構成されている
    ことを特徴とする請求項1記載のコンテキスト切替え装置。
  19. 複数のプログラムを切替えながら実行するN個のプロセッサと、M(M<N)個のアクセスポートを有し、前記N個のプロセッサから退避されたコンテキストデータを記憶する共有メモリとを含む並列システムに用いられ、各プロセッサと共有メモリとの間でコンテキストデータを並列に転送することによって各プロセッサのコンテキストを切替えるコンテキス切替え方法であって、
    M個より多い数のプロセッサからのコンテキスト切替え要求が競合した場合に、コンテキストデータの転送を連続サイクルで行う第1転送モードの対象とすべきプロセッサと、コンテキストデータ転送をサイクル毎に対象とするプロセッサを切替えながら行う第2転送モードの対象とすべきプロセッサとを決定する決定ステップと、
    決定に従って、第1転送モードおよび第2転送モードの少なくとも一方によりコンテキストデータを転送する転送ステップと
    を含むことを特徴とするコンテキスト切替え方法。
JP2005294190A 2005-10-06 2005-10-06 コンテキスト切替え装置 Expired - Fee Related JP4388005B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005294190A JP4388005B2 (ja) 2005-10-06 2005-10-06 コンテキスト切替え装置
US11/538,542 US7822952B2 (en) 2005-10-06 2006-10-04 Context switching device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005294190A JP4388005B2 (ja) 2005-10-06 2005-10-06 コンテキスト切替え装置

Publications (3)

Publication Number Publication Date
JP2007102646A JP2007102646A (ja) 2007-04-19
JP2007102646A5 JP2007102646A5 (ja) 2008-03-06
JP4388005B2 true JP4388005B2 (ja) 2009-12-24

Family

ID=37912247

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005294190A Expired - Fee Related JP4388005B2 (ja) 2005-10-06 2005-10-06 コンテキスト切替え装置

Country Status (2)

Country Link
US (1) US7822952B2 (ja)
JP (1) JP4388005B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010066785A (ja) * 2006-12-08 2010-03-25 Nec Corp 半導体集積回路、半導体集積回路制御装置、負荷分散方法、負荷分散プログラムおよび電子装置
JP2008177900A (ja) * 2007-01-19 2008-07-31 Fujitsu Ltd データ通信装置、設定情報更新方法および設定情報更新プログラム
JP2009025866A (ja) * 2007-07-17 2009-02-05 Nec Electronics Corp メモリコントローラ、バスシステム、集積回路、及び、集積回路の制御方法。
US8031496B2 (en) * 2007-11-07 2011-10-04 Panasonic Corporation Driving circuit for power switching device, driving method thereof, and switching power supply apparatus
JP5336423B2 (ja) * 2010-05-14 2013-11-06 パナソニック株式会社 計算機システム
US10534743B2 (en) * 2013-10-30 2020-01-14 Advanced Micro Devices, Inc. Method and apparatus for providing performance data over a debug bus
US9678903B1 (en) * 2014-10-15 2017-06-13 Intel Corporation Systems and methods for managing inter-CPU interrupts between multiple CPUs
US10318356B2 (en) * 2016-03-31 2019-06-11 International Business Machines Corporation Operation of a multi-slice processor implementing a hardware level transfer of an execution thread

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS643739A (en) 1987-06-26 1989-01-09 Toshiba Corp Information processor
JPH09288585A (ja) 1996-04-19 1997-11-04 Toshiba Chem Corp 自動機械の動作順序制御方法
JP3999943B2 (ja) 2001-03-13 2007-10-31 株式会社東芝 マルチバンクアクセス制御装置及びマルチバンクアクセス制御方法
JP2002312302A (ja) 2001-04-09 2002-10-25 Denso Corp 周辺装置
JP3813930B2 (ja) 2002-01-09 2006-08-23 松下電器産業株式会社 プロセッサ及びプログラム実行方法
US6981083B2 (en) * 2002-12-05 2005-12-27 International Business Machines Corporation Processor virtualization mechanism via an enhanced restoration of hard architected states
JP4546775B2 (ja) * 2004-06-30 2010-09-15 富士通株式会社 時分割多重処理可能なリコンフィギュラブル回路

Also Published As

Publication number Publication date
US20070083865A1 (en) 2007-04-12
JP2007102646A (ja) 2007-04-19
US7822952B2 (en) 2010-10-26

Similar Documents

Publication Publication Date Title
JP4388005B2 (ja) コンテキスト切替え装置
KR100613923B1 (ko) 다수의 파이프라인을 이용해 패킷을 다수의 프로그래밍 엔진에 할당하는 방법, 프로세서, 컴퓨터 판독 가능 저장 매체 및 멀티프로세싱 시스템
JPWO2008087779A1 (ja) アレイ型プロセッサおよびデータ処理システム
US20070186030A1 (en) Fast random access DRAM management method
JPH06318178A (ja) キャッシュタグメモリ用キャッシュタグ制御装置及び制御方法
JP2006202271A (ja) ストリームプロセッサ及び情報処理装置
JP4536189B2 (ja) Dma転送装置及びdma転送システム
JP4440181B2 (ja) ストリーミングidメソッドによるdmac発行メカニズム
JPH06214875A (ja) 記憶制御装置
JP2009505178A (ja) 少なくとも2つの命令実行部と少なくともデータ及び/または命令のための第1記憶装置または記憶領域とを備えたコンピュータシステムにおいて、データ及び/または命令を格納する装置及び方法
JP2008102599A (ja) プロセッサ
WO2018138975A1 (ja) 演算処理装置および情報処理システム
JP2004118300A (ja) Dmaコントローラ
JP2000227895A (ja) 画像データ転送装置および画像データ転送方法
JP3799451B2 (ja) 電子計算機システム
JPH07230358A (ja) 多重化ボリューム装置
JP4624715B2 (ja) システムlsi
JPH06348592A (ja) ライトバッファ制御方式
JP2000250852A (ja) バス調停装置、バスシステムおよびバス調停方法
JP2005063358A (ja) 命令供給制御装置および半導体装置
JPH07152650A (ja) キャッシュ制御装置
JP2003228546A (ja) ダイレクト・メモリ・アクセス制御装置
JPH1083373A (ja) プログラマブルコントローラ
JP2000066946A (ja) メモリコントローラ
JP2004102576A (ja) メモリアクセス装置およびそれを用いた演算システム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080116

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080116

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090819

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091001

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121009

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131009

Year of fee payment: 4

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

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

LAPS Cancellation because of no payment of annual fees