JP2005322232A - タスクの移動に関するシステムおよび方法 - Google Patents
タスクの移動に関するシステムおよび方法 Download PDFInfo
- Publication number
- JP2005322232A JP2005322232A JP2005130463A JP2005130463A JP2005322232A JP 2005322232 A JP2005322232 A JP 2005322232A JP 2005130463 A JP2005130463 A JP 2005130463A JP 2005130463 A JP2005130463 A JP 2005130463A JP 2005322232 A JP2005322232 A JP 2005322232A
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- address
- value
- memory
- data
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4482—Procedural
- G06F9/4484—Executing subprograms
- G06F9/4486—Formation of subprogram jump address
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Executing Machine-Instructions (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
【解決手段】命令群、静的データおよび動的に生成されるデータが、異なるメモリやプロセッサに、そのポインタ値を変更することなく移動できるように、命令群、静的データおよび動的に生成されたデータのアドレスに対するポインタを保持するための方法やシステムを提供する。これにより、たとえば分岐命令はターゲットオフセット値のみ保持し、実際の物理アドレスはグローバルベースアドレス値との加算により得られる。
【選択図】図6
Description
この方法は、アドレス指定可能なメモリに命令を保持するステップと、命令が保持されているアドレスに関連するベース値を設定するステップと、ターゲット命令にジャンプするための命令であって、パラメータ値を含むジャンプ命令を取得するステップと、命令が保持されているメモリにおけるルーチンにジャンプすることによって、ジャンプ命令を実行するステップと、を備え、このルーチンは、(a)パラメータ値とベース値に基づいてターゲット命令のアドレスを特定するステップと、(b)ターゲット命令の物理アドレスにジャンプするステップと、を含む。
この方法は、ターゲットルーチンへのパラメータ値付きのジャンプ命令、ターゲットルーチンにおけるリターン命令、ターゲットルーチンの実行後に続いて実行されるべき命令を含む命令群をアドレス指定可能なメモリに保持するステップと、命令群が保持されているアドレスに関連する第1のベース値を設定するステップと、第1のベース値とジャンプ命令のアドレスに基づいてリターンオフセットを特定し、リターンオフセットを保持し、パラメータ値と第1のベース値に基づいてターゲットルーチンのアドレスを特定し、ターゲットルーチンのアドレスにジャンプすることにより、ジャンプ命令を実行するステップと、命令群が保持されているアドレスを変更し、変更後のアドレスに関連する第2のベース値を保持するステップと、命令群のアドレスが変更された後に、リターンオフセットと第2のベース値に基づいて次の命令のアドレスを特定し、そのアドレスにジャンプすることによりリターン命令を処理するステップと、を含む。
このシステムは、複数のサブプロセッシングユニットと、サブプロセッシングユニットによって実行可能な命令と、各サブプロセッシングユニットごとに対応してグローバルベース値を保持するグローバルベースアドレスレジスタと、命令に応じてサブプロセッシングユニットによりアクセスされ、命令の実行前からその値が保持される静的データと、命令に応じてサブプロセッシングユニットによりアクセスされ、命令の実行前にはその値が保持されない動的データと、ジャンプ先の命令の物理アドレスとは独立したパラメータ付きのジャンプ命令と、アクセス対象となるデータの物理アドレスとは独立したパラメータ値付きのデータポインタと、を備え、ジャンプ命令とデータポインタはそれぞれのパラメータ値およびグローバルアドレス値に基づいてアドレスを解決され、それらのパラメータ値を維持しつつグローバルベース値を変更することによって、あるプロセッサから別のプロセッサに命令を移動させる。
この方法は、第1のプロセッサによりアクセス可能であって、アドレス指定可能メモリに、第1の命令サブセットと、第1の命令サブセットによって生成されたデータにアクセスする第2の命令サブセットを含む命令群を保持するステップと、命令群が保持されている物理アドレスに応じた第1のベース値を保持するステップと、ターゲットとなるべき動的データへのポインタを含む動的データを、第1のプロセッサが第1の命令サブセットの実行によって生成するステップと、第1のベース値とポインタの値に基づいてターゲットデータの物理アドレスを特定することにより、第1のプロセッサがそのターゲットとなるべき動的データにアクセスするステップと、第1の命令サブセットが実行された後に、ポインタの値を変更することなく第2のプロセッサによってアクセス可能で、アドレス指定可能メモリに命令と動的データを保持させるステップと、第2のプロセッサが第2の命令サブセットを実行し、第2のベース値とポインタの値に基づいてターゲットとなるべき動的データにアクセスするステップと、を備える。
このシステムは、アドレス指定可能メモリに保持された命令と、命令が保持されているアドレスに応じたベース値を保持するメモリと、ターゲット命令にジャンプするための命令であって、パラメータ値を含むジャンプ命令を保持するメモリと、命令が保持されているメモリにおけるルーチンにジャンプすることによりジャンプ命令を実行する手段と、を備え、そのルーチンは、(a)パラメータ値とベース値に基づいてターゲット命令のアドレスを特定するステップと、(b)ターゲット命令の物理アドレスにジャンプするステップと、を含む。
このシステムは、ターゲットルーチンに対するパラメータ値付きのジャンプ命令、ターゲットルーチンにおけるリターン命令、ターゲットルーチンの実行後に続いて実行されるべき命令を含み、アドレス指定可能メモリに保持される命令群と、命令群が保持されているアドレスに関連する第1のベース値を設定する手段と、第1のベース値とジャンプ命令のアドレスに基づいてリターンオフセットを特定し、リターンオフセットを保持し、パラメータ値と第1のベース値に基づいてターゲットルーチンのアドレスを特定し、ターゲットルーチンのアドレスにジャンプすることにより、ジャンプ命令を実行する手段と、命令群が保持されているアドレスを変更し、変更後のアドレスに関連する第2のベース値を保持する手段と、を備え、命令群のアドレスが変更された後に、リターンオフセットと第2のベース値に基づいて次の命令のアドレスを特定し、そのアドレスにジャンプことによってリターン命令を実行する。
このシステムは、第1プロセッサと、第1プロセッサに関連づけられた第1メモリと、第1メモリにロードされたときのタスクイメージの物理アドレスに応じた値を保持する第1ベースレジスタと、第2プロセッサと、第2プロセッサに関連づけられた第2メモリと、第2のメモリにロードされたときのタスクイメージの物理アドレスに応じた値を保持する第2ベースレジスタと、パラメータ付きのジャンプ命令、パラメータ付きのデータアクセス命令、第1プロセッサによる命令群の実行前に生成される静的データ、第1プロセッサによる命令群の実行に応じて生成され、命令やデータの位置に応じたパラメータとスタックを含むヒープと、を含むタスクイメージと、ジャンプ命令とデータアクセス命令の実行に応じて実行されるルーチンであって、命令の実行やデータアクセスを行うプロセッサに関連づけられたレジスタの値と、ジャンプ命令やデータアクセス命令のパラメータに基づいて物理アドレスを特定するアドレス解決ルーチンと、を備え、第1メモリに保持されているタスクイメージは、割込要求に応じて、パラメータの値も含めて第1メモリか第2メモリにコピーされる。
リターンオフセット=(分岐ジャンプスタブ命令のアドレス)−(グローバルベースアドレス値)+1
図4に示すサンプル値を使うと、リターンオフセットは、1400−1000+1により401となる。リターンオフセット値は、リターンアドレスレジスタ830に保持される。
物理的なリターンアドレス=リターンオフセット+グローバルベースアドレス値
図4に示したサンプル値を用いると、物理的なリターンアドレスは401+1000により1401となる。
Claims (37)
- アドレス指定可能なメモリに命令を保持するステップと、
命令が保持されているアドレスに関連するベース値を設定するステップと、
ターゲット命令にジャンプするための命令であって、パラメータ値を含むジャンプ命令を取得するステップと、
命令が保持されているメモリにおけるルーチンにジャンプすることによって、前記ジャンプ命令を実行するステップと、を備え、
前記ルーチンは、
(a)前記パラメータ値と前記ベース値に基づいて前記ターゲット命令のアドレスを特定するステップと、
(b)前記ターゲット命令の物理アドレスにジャンプするステップと、
を含むことを特徴とするタスク処理方法。 - 前記ジャンプ命令は、条件付き命令であることを特徴とする請求項1に記載のタスク処理方法。
- 前記ジャンプ命令は、条件付きでない命令であることを特徴とする請求項1に記載のタスク処理方法。
- 前記ベース値はレジスタに保持され、1以上の命令の物理アドレス位置に応じた値であることを特徴とする請求項1から3のいずれかに記載のタスク処理方法。
- 命令と、その命令の実行によって生成される動的データを含むタスクイメージを取得するステップを更に備え、
前記ベース値は、そのタスクイメージの最小物理アドレスに応じた値であることを特徴とする請求項4に記載のタスク処理方法。 - 命令を別のメモリ位置へ移動できるかを示すマスク値を保持するステップを更に備えることを特徴とする請求項1から5のいずれかに記載のタスク処理方法。
- メモリに保持されているルーチンにジャンプして前記ターゲット命令のアドレスを特定する処理の実行中においては、タスクイメージを移動させるための割込要求を抑止するステップを更に含むことを特徴とする請求項1から6のいずれかに記載のタスク処理方法。
- メモリに保持されているルーチンにジャンプして前記ターゲット命令のアドレスを特定する処理が終了した後に、前記割込要求に対する抑止を解除するステップを更に含むことを特徴とする請求項7に記載のタスク処理方法。
- 前記ターゲット命令のアドレスは前記パラメータ値と前記ベース値を加算することにより特定されることを特徴とする請求項1から8のいずれかに記載のタスク処理方法。
- ターゲットルーチンに対するパラメータ値付きのジャンプ命令、前記ターゲットルーチンにおけるリターン命令、前記ターゲットルーチンの実行後に続いて実行されるべき命令、を含む命令群をアドレス指定可能なメモリに保持するステップと、
前記命令群が保持されているアドレスに関連する第1のベース値を設定するステップと、
前記第1のベース値と前記ジャンプ命令のアドレスに基づいてリターンオフセットを特定し、前記リターンオフセットを保持し、前記パラメータ値と前記第1のベース値に基づいて前記ターゲットルーチンのアドレスを特定し、前記ターゲットルーチンのアドレスにジャンプすることにより、前記ジャンプ命令を処理するステップと、
前記命令群が保持されているアドレスを変更し、変更後のアドレスに関連する第2のベース値を保持するステップと、
前記命令群のアドレスが変更された後に、前記リターンオフセットと前記第2のベース値に基づいて次の命令のアドレスを特定し、そのアドレスにジャンプすることによって前記リターン命令を実行するステップと、
を備えることを特徴とするタスク処理方法。 - 前記リターンオフセットは、前記ジャンプ命令のアドレスから前記第1のベース値を減算することにより、特定されることを特徴とする請求項10に記載のタスク処理方法。
- 前記ジャンプ命令を処理中においては、命令が保持されているアドレスの変更を抑止するステップを更に備えることを特徴とする請求項10または11に記載のタスク処理方法。
- アドレスの変更を抑止するために、命令のアドレス位置を変更させるための割込要求を抑止することを特徴とする請求項12に記載のタスク処理方法。
- 前記第1および第2のベース値とは異なる第1のデータベース値を設定するステップと、
前記第1のデータベース値からのオフセットとしてデータを指し示すためのポインタを含む動的データを、命令の実行に応じて生成するステップと、
前記ポインタの値を維持しつつ動的データのアドレスを変更するステップと、
変更後のアドレスに関連する第2のデータベース値を保持するステップと、
前記動的データのアドレスが変更された後に、前記ポインタ値と前記第2のデータベース値に基づいてデータのアドレスを特定することにより、データアクセス命令を実行するステップと、
を更に備えることを特徴とする請求項10から13のいずれかに記載のタスク処理方法。 - 複数のプロセッシングユニットと、
前記プロセッシングユニットによって実行可能な命令と、
各プロセッシングユニットごとに対応してグローバルベース値を保持するグローバルベースアドレスレジスタと、
命令に応じてプロセッシングユニットによりアクセスされ、命令の実行前からその値が保持される静的データと、
命令に応じてプロセッシングユニットによってアクセスされ、命令の実行前にはその値が保持されない動的データと、
ジャンプ先の命令の物理アドレスとは独立したパラメータ値付きのジャンプ命令と、
アクセス対象となるデータの物理アドレスとは独立したパラメータ値を持つデータポインタと、を備え、
前記ジャンプ命令と前記データポインタはそれぞれのパラメータ値とグローバルアドレス値に基づいてアドレスを解決され、
それらのパラメータ値を維持しつつグローバルベース値を変更することによって、あるプロセッシングユニットから別のプロセッシングユニットに命令を移動させることを特徴とするタスク処理システム。 - ジャンプ先のルーチンが実行された後に戻るべきアドレスに関連する値を保持するリターンアドレスレジスタを更に備えることを特徴とする請求項15に記載のタスク処理システム。
- 命令のメモリアドレスが変更可能であるかを示す割込マスク値を更に備えることを特徴とする請求項15または16に記載のタスク処理システム。
- 命令は、サブプロセッシングユニットに一意に対応づけられたローカルメモリに保持されることを特徴とする請求項15から17のいずれかに記載のタスク処理システム。
- 前記動的データは、ヒープとスタック含むことを特徴とする請求項15から18のいずれかに記載のタスク処理システム。
- 少なくともデータアクセス命令におけるパラメータとなるポインタが保持されており、少なくともポインタのいくつかは動的データ内に保持されることを特徴とする請求項15から19のいずれかに記載のタスク処理システム。
- 命令の実行に応じて生成される全てのデータポインタは、アクセス対象となるデータの物理アドレスとは独立したパラメータ値であることを特徴とする請求項20に記載のタスク処理システム。
- 第1の命令サブセットと、前記第1の命令サブセットによって生成されたデータにアクセスする第2の命令サブセットを持つ命令群を、第1のプロセッサによってアクセス可能であって、アドレス指定可能なメモリに保持するステップと、
前記命令群が保持されている物理アドレスに応じた第1のベース値を保持するステップと、
ターゲットとなるべき動的データへのポインタを含む動的データを、前記第1のプロセッサが、第1の命令サブセットの実行に応じて生成するステップと、
第1のベース値とポインタの値に基づいてターゲットデータの物理アドレスを特定することにより、前記第1のプロセッサがそのターゲットとなるべき動的データにアクセスするステップと、
第1の命令サブセットが実行された後に、ポインタの値を維持したままで、第2のプロセッサによってアクセス可能であって、アドレス指定可能なメモリに、命令と動的データを保持させるステップと、
第2のプロセッサが第2の命令サブセットを実行し、第2のベース値とポインタの値に基づいてターゲットとなるべき動的データにアクセスするステップと、
備えることを特徴とするタスク処理方法。 - アドレス指定可能なメモリに保持された命令と、
命令が保持されているアドレスに応じたベース値を保持するメモリと、
ターゲット命令にジャンプするための命令であって、パラメータ値を含むジャンプ命令を保持するメモリと、
命令が保持されているメモリにおけるルーチンにジャンプすることによって、前記ジャンプ命令を実行する手段と、を備え
前記ルーチンは、
(a)前記パラメータ値と前記ベース値に基づいて前記ターゲット命令のアドレスを特定するステップと、
(b)前記ターゲット命令の物理アドレスにジャンプするステップと、
を含むことを特徴とするタスク処理システム。 - 前記ベース値はレジスタに保持され、1以上の命令の物理アドレス位置に応じた値であることを特徴とする請求項23に記載のタスク処理システム。
- 命令と、命令の実行によって生成される動的データを含むタスクイメージを更に備え、
前記ベース値は、そのタスクイメージの最小物理アドレスに応じた値であることを特徴とする請求項23または24に記載のタスク処理システム。 - 命令を別のメモリ位置へ移動できるかを示すマスク値を更に備えることを特徴とする請求項23から25のいずれかに記載のタスク処理システム。
- メモリに保持されているルーチンにジャンプして前記ターゲット命令のアドレスを特定する処理が終了した後に、割込要求ついてのマスク値を変更する手段を更に含むことを特徴とする請求項26に記載のタスク処理システム。
- ターゲットルーチンに対するパラメータ値付きのジャンプ命令、前記ターゲットルーチンにおけるリターン命令、前記ターゲットルーチンの実行後に続いて実行されるべき命令、を含み、アドレス指定可能なメモリに保持される命令群と、
前記命令群が保持されているアドレスに関連する第1のベース値を設定する手段と、
前記第1のベース値と前記ジャンプ命令のアドレスに基づいてリターンオフセットを特定し、前記リターンオフセットを保持し、前記パラメータ値と前記第1のベース値に基づいて前記ターゲットルーチンのアドレスを特定し、前記ターゲットルーチンのアドレスにジャンプすることにより、前記ジャンプ命令を実行する手段と、
前記命令群が保持されているアドレスを変更し、変更後のアドレスに関連する第2のベース値を保持する手段と、を備え、
前記命令群のアドレスが変更された後に、前記リターンオフセットと前記第2のベース値に基づいて次の命令のアドレス位置を特定し、そのアドレスにジャンプすることによって前記リターン命令を実行することを特徴とするタスク処理システム。 - 前記リターンオフセットは、前記ジャンプ命令のアドレスから前記第1のベース値を減算することにより特定されることを特徴とする請求項28に記載のタスク処理システム。
- ジャンプ命令の実行中においては前記命令群が保持されているアドレスの変更を抑止する手段を更に備えることを特徴とする請求項28または29に記載のタスク処理システム。
- 前記抑止する手段は、前記命令群のアドレスを変更するための割込要求を抑止する手段を含むことを特徴とする請求項30に記載のタスク処理システム。
- 前記第1および第2のベース値とは異なる第1のデータベース値を設定する手段と、
前記第1のデータベース値からのオフセットとして保持されるデータポインタを含む動的データを、前記命令群の実行に応じて生成する手段と、
前記ポインタの値を維持しつつ動的データのアドレスを変更する手段と、
変更後のアドレスに関連する第2のデータベース値を保持する手段と、
前記動的データのアドレスが変更された後に、前記ポインタの値と前記第2のデータベース値に基づいてデータのアドレスを特定することにより、データアクセス命令を実行する手段と、
を更に備えることを特徴とする請求項28または29に記載のタスク処理システム。 - 第1プロセッサと、
前記第1プロセッサに関連づけられた第1メモリと、
前記第1メモリにロードされたときのタスクイメージの物理アドレスに応じた値を保持する第1ベースレジスタと、
第2プロセッサと、
前記第2プロセッサに関連づけられた第2メモリと、
前記第2メモリにロードされたときのタスクイメージの物理アドレスに応じた値を保持する第2ベースレジスタと、
パラメータ付きのジャンプ命令、パラメータ付きのデータアクセス命令、前記第1プロセッサによる命令群の実行前に生成される静的データ、前記第1プロセッサによる命令群の実行に応じて生成され、命令やデータの位置に応じたパラメータとスタックを含むヒープと、を含むタスクイメージと、
ジャンプ命令とデータアクセス命令の実行に応じて実行されるルーチンであって、命令の実行やデータアクセスを行うプロセッサに関連づけられたレジスタの値と、ジャンプ命令やデータアクセス命令のパラメータに基づいて物理アドレスを特定するアドレス解決ルーチンと、を備え、
前記第1メモリに保持されているタスクイメージは、割込要求に応じて、パラメータの値も含めて前記第1メモリか前記ら第2メモリにコピーされることを特徴とするタスク処理システム。 - 割込要求に応じて前記第1メモリから前記第2メモリへタスクイメージをコピーできるか否かを示すマスク値を保持する割込マスクレジスタを更に備え、
割込要求は、アドレス解決ルーチンの少なくとも一部によって抑止されることを特徴とする請求項33に記載のタスク処理システム。 - アドレス解決ルーチンは、第1または第2プロセッサのいずれがジャンプ命令を実行しているかに応じた前記第1または第2ベースレジスタのいずれかの値と、ジャンプ命令のアドレスに基づいて、リターンオフセットを計算するための命令を更に備え、
リターンアドレスを解決するためのルーチンは、リターン命令に応じて、ジャンプ命令のあとに実行されるべき命令の物理アドレスを特定するために実行され、第1または第2プロセッサのいずれがリターン命令を実行しているかに応じた第1または第2ベースレジスタのいずれかの値と、リターンオフセットに基づいてその物理アドレスを特定することを特徴とする請求項33または34に記載のタスク処理システム。 - 割込要求に応じて、前記第1メモリから前記第2メモリにタスクイメージをコピーする第3プロセッサを更に備えることを特徴とする請求項33から35のいずれかに記載のタスク処理システム。
- 第3プロセッサは、プロセッシングユニットであり、第1および第2プロセッサはサブプロセッサであることを特徴とする請求項36に記載のタスク処理システム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/838,050 US7437536B2 (en) | 2004-05-03 | 2004-05-03 | Systems and methods for task migration |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005322232A true JP2005322232A (ja) | 2005-11-17 |
JP4015159B2 JP4015159B2 (ja) | 2007-11-28 |
Family
ID=35240713
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005130463A Active JP4015159B2 (ja) | 2004-05-03 | 2005-04-27 | タスクの移動に関するシステムおよび方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US7437536B2 (ja) |
EP (1) | EP1620800B1 (ja) |
JP (1) | JP4015159B2 (ja) |
WO (1) | WO2005106662A1 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009075948A (ja) * | 2007-09-21 | 2009-04-09 | Mitsubishi Electric Corp | マルチコアプロセッサ |
KR20110083243A (ko) * | 2010-01-14 | 2011-07-20 | 삼성전자주식회사 | 태스크 이동 시스템 및 그 방법 |
JP2014010661A (ja) * | 2012-06-29 | 2014-01-20 | Fujitsu Ltd | 分岐アドレス管理プログラム、方法、及び装置 |
US11794340B2 (en) | 2019-12-10 | 2023-10-24 | Fanuc Corporation | Robot controller |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7730456B2 (en) * | 2004-05-19 | 2010-06-01 | Sony Computer Entertainment Inc. | Methods and apparatus for handling processing errors in a multi-processing system |
US7855672B1 (en) * | 2004-08-19 | 2010-12-21 | Ixys Ch Gmbh | Compressed codeset database format for remote control devices |
US7788668B2 (en) * | 2005-06-09 | 2010-08-31 | Lockheed Martin Corporation | System and method for implementing distributed priority inheritance |
US7450131B2 (en) * | 2005-09-30 | 2008-11-11 | Intel Corporation | Memory layout for re-ordering instructions using pointers |
US7934063B2 (en) * | 2007-03-29 | 2011-04-26 | International Business Machines Corporation | Invoking externally assisted calls from an isolated environment |
JP5214537B2 (ja) * | 2009-05-25 | 2013-06-19 | 株式会社東芝 | マルチプロセッサシステム |
KR101697937B1 (ko) * | 2010-01-08 | 2017-02-01 | 삼성전자주식회사 | 멀티프로세서 시스템에서 동적 태스크 마이그레이션을 위한 방법 및 시스템 |
US20120198458A1 (en) * | 2010-12-16 | 2012-08-02 | Advanced Micro Devices, Inc. | Methods and Systems for Synchronous Operation of a Processing Device |
US8782645B2 (en) * | 2011-05-11 | 2014-07-15 | Advanced Micro Devices, Inc. | Automatic load balancing for heterogeneous cores |
US8683468B2 (en) * | 2011-05-16 | 2014-03-25 | Advanced Micro Devices, Inc. | Automatic kernel migration for heterogeneous cores |
US20140223062A1 (en) * | 2013-02-01 | 2014-08-07 | International Business Machines Corporation | Non-authorized transaction processing in a multiprocessing environment |
US9569613B2 (en) * | 2014-12-23 | 2017-02-14 | Intel Corporation | Techniques for enforcing control flow integrity using binary translation |
US10491524B2 (en) | 2017-11-07 | 2019-11-26 | Advanced Micro Devices, Inc. | Load balancing scheme |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5189733A (en) * | 1989-08-22 | 1993-02-23 | Borland International, Inc. | Application program memory management system |
EP0416767A3 (en) * | 1989-09-08 | 1992-04-29 | Digital Equipment Corporation | Position independent code location system |
CA2045790A1 (en) | 1990-06-29 | 1991-12-30 | Richard Lee Sites | Branch prediction in high-performance processor |
US5539911A (en) | 1991-07-08 | 1996-07-23 | Seiko Epson Corporation | High-performance, superscalar-based computer system with out-of-order instruction execution |
US5835743A (en) * | 1994-06-30 | 1998-11-10 | Sun Microsystems, Inc. | Application binary interface and method of interfacing binary application program to digital computer |
US5655132A (en) * | 1994-08-08 | 1997-08-05 | Rockwell International Corporation | Register file with multi-tasking support |
JP3639366B2 (ja) | 1995-11-29 | 2005-04-20 | 富士通株式会社 | アドレス空間共有システム |
US5797014A (en) * | 1995-12-14 | 1998-08-18 | International Business Machines Corporation | Method for reducing processor cycles used for global offset table address computation in a position independent shared library |
JP3658072B2 (ja) | 1996-02-07 | 2005-06-08 | 株式会社ルネサステクノロジ | データ処理装置およびデータ処理方法 |
WO1999009472A1 (en) | 1997-08-18 | 1999-02-25 | Koninklijke Philips Electronics N.V. | Data processing device with relative jump instruction |
US6625718B1 (en) * | 1998-02-05 | 2003-09-23 | Avaya Technology Corp. | Pointers that are relative to their own present locations |
US6345276B1 (en) * | 1998-09-18 | 2002-02-05 | Microsoft Corporation | Representing base pointers in a shared memory heap |
US6324689B1 (en) * | 1998-09-30 | 2001-11-27 | Compaq Computer Corporation | Mechanism for re-writing an executable having mixed code and data |
EP1139222A1 (en) * | 2000-03-31 | 2001-10-04 | Texas Instruments Incorporated | Prefetch for TLB cache |
US6728962B1 (en) * | 2000-06-28 | 2004-04-27 | Emc Corporation | Context swapping in multitasking kernel |
GB0029115D0 (en) * | 2000-11-29 | 2001-01-10 | Sgs Thomson Microelectronics | Assembling an object code module |
US6526491B2 (en) | 2001-03-22 | 2003-02-25 | Sony Corporation Entertainment Inc. | Memory protection system and method for computer architecture for broadband networks |
US7086049B2 (en) * | 2002-02-26 | 2006-08-01 | International Business Machines Corporation | Background code update for embedded systems |
-
2004
- 2004-05-03 US US10/838,050 patent/US7437536B2/en active Active
-
2005
- 2005-04-27 JP JP2005130463A patent/JP4015159B2/ja active Active
- 2005-04-28 EP EP05738845.6A patent/EP1620800B1/en active Active
- 2005-04-28 WO PCT/JP2005/008574 patent/WO2005106662A1/en not_active Application Discontinuation
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009075948A (ja) * | 2007-09-21 | 2009-04-09 | Mitsubishi Electric Corp | マルチコアプロセッサ |
KR20110083243A (ko) * | 2010-01-14 | 2011-07-20 | 삼성전자주식회사 | 태스크 이동 시스템 및 그 방법 |
KR101662030B1 (ko) | 2010-01-14 | 2016-10-14 | 삼성전자주식회사 | 태스크 이동 시스템 및 그 방법 |
JP2014010661A (ja) * | 2012-06-29 | 2014-01-20 | Fujitsu Ltd | 分岐アドレス管理プログラム、方法、及び装置 |
US11794340B2 (en) | 2019-12-10 | 2023-10-24 | Fanuc Corporation | Robot controller |
JP7409852B2 (ja) | 2019-12-10 | 2024-01-09 | ファナック株式会社 | ロボット制御装置 |
Also Published As
Publication number | Publication date |
---|---|
EP1620800B1 (en) | 2019-03-27 |
US20050251667A1 (en) | 2005-11-10 |
US7437536B2 (en) | 2008-10-14 |
JP4015159B2 (ja) | 2007-11-28 |
EP1620800A4 (en) | 2011-09-28 |
WO2005106662A1 (en) | 2005-11-10 |
EP1620800A1 (en) | 2006-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4015159B2 (ja) | タスクの移動に関するシステムおよび方法 | |
US8079035B2 (en) | Data structure and management techniques for local user-level thread data | |
JP5668014B2 (ja) | プロセッサにおけるタスクおよびデータ管理 | |
JP5366552B2 (ja) | 集中特化したマルチタスク及びマルチフロー処理をリアルタイム実行する手法及びシステム | |
US20100268862A1 (en) | Reconfigurable processor and method of reconfiguring the same | |
TWI457759B (zh) | 用於處理分頁錯誤的方法和裝置以及非暫時性的電腦可讀取媒體 | |
JP2007122305A (ja) | 仮想計算機システム | |
EP3128415B1 (en) | Computing device, process control method, and process control program | |
JPH11505652A (ja) | 単一アドレス空間内の保護ドメイン | |
JP2006259821A (ja) | 並列計算機の同期方法及びプログラム | |
CN105051680A (zh) | 使用硬件指针的simd核心中的发散分支解决方案 | |
JP2011118743A (ja) | ベクトル型計算機及びベクトル型計算機の命令制御方法 | |
JP2006323824A (ja) | プロセッサシステム内においてスタックを分離して管理する方法および装置 | |
JP2008234490A (ja) | 情報処理装置および情報処理方法 | |
KR20130018742A (ko) | 가비지 콜렉션을 위한 gpu 서포트 | |
US20140189713A1 (en) | Apparatus and method for invocation of a multi threaded accelerator | |
JP2006216060A (ja) | データ処理方法およびデータ処理システム | |
CN105074657A (zh) | 并行管道中的发散分支的硬件和软件解决方案 | |
WO2016124259A1 (en) | System and method for memory synchronization of a multi-core system | |
JP2008234491A (ja) | 情報処理装置および情報処理方法 | |
KR20230121884A (ko) | 어드레스 매핑 인식 태스킹 메커니즘 | |
JPWO2010024071A1 (ja) | キャッシュメモリ、そのシステム、その利用方法及びその利用プログラム | |
JP5035227B2 (ja) | 情報処理装置、プログラムの起動制御方法、及び起動制御プログラム | |
US7617380B2 (en) | System and method for synchronizing translation lookaside buffer access in a multithread processor | |
WO2005106647A1 (en) | Methods and apparatus for indexed register access |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070626 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070821 |
|
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: 20070911 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070912 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100921 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4015159 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100921 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110921 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120921 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130921 Year of fee payment: 6 |
|
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 |
|
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 |