JP3144842B2 - マイクロプロセッサ - Google Patents
マイクロプロセッサInfo
- Publication number
- JP3144842B2 JP3144842B2 JP20051791A JP20051791A JP3144842B2 JP 3144842 B2 JP3144842 B2 JP 3144842B2 JP 20051791 A JP20051791 A JP 20051791A JP 20051791 A JP20051791 A JP 20051791A JP 3144842 B2 JP3144842 B2 JP 3144842B2
- Authority
- JP
- Japan
- Prior art keywords
- program
- schd
- scheduler
- data
- microprocessor
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3851—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Executing Machine-Instructions (AREA)
- Microcomputers (AREA)
Description
【0001】
【産業上の利用分野】本発明は、互いに他から独立した
2つまたはそれ以上のプログラムの同時実行に適したマ
イクロプロセッサのシステム構成に関するものである。
2つまたはそれ以上のプログラムの同時実行に適したマ
イクロプロセッサのシステム構成に関するものである。
【0002】
【従来の技術】従来のマイクロプロセッサとして、割り
込み方式、タイムスライス方式、マルチプロセッサ方式
等がある。
込み方式、タイムスライス方式、マルチプロセッサ方式
等がある。
【0003】割り込み方式とは、計算機のプログラム実
行中に特定の割り込み信号が発生された場合、実行中の
プログラムを中断し、その事象を処理する別のルーチン
ヘ分岐して、その実行終了後、再び元のルーチンへ戻っ
て実行を継続させる方式をいう。
行中に特定の割り込み信号が発生された場合、実行中の
プログラムを中断し、その事象を処理する別のルーチン
ヘ分岐して、その実行終了後、再び元のルーチンへ戻っ
て実行を継続させる方式をいう。
【0004】タイムスライス方式とは、複数個のプログ
ラムを設定された優先順位で一定時間(スケジューラが
プログラムに割り当てる中央処理装置の使用時間)おき
に実行する方式をいう。
ラムを設定された優先順位で一定時間(スケジューラが
プログラムに割り当てる中央処理装置の使用時間)おき
に実行する方式をいう。
【0005】マルチプロセッサ方式とは、複数のCPU
を設置して、並列に演算を行うことで、高速性、信頼
性、拡張性の点で優れた高性能の計算機システムを実現
する方式である。
を設置して、並列に演算を行うことで、高速性、信頼
性、拡張性の点で優れた高性能の計算機システムを実現
する方式である。
【0006】
【発明が解決しようとする課題】従来の割り込み方式、
タイムスライス方式、マルチプロセッサ方式等によって
構成されるマイクロプロセッサにおいては、以下のよう
な問題があった。
タイムスライス方式、マルチプロセッサ方式等によって
構成されるマイクロプロセッサにおいては、以下のよう
な問題があった。
【0007】まず、割り込み処理方式のマイクロプロセ
ッサでは、特定のプログラムを処理させる為に別のルー
チンへ分岐している間、他のプログラムの実行を中断す
る必要があった。その為、タイムロスを生じ、マイクロ
プロセッサの実行速度を低下させるという問題があっ
た。
ッサでは、特定のプログラムを処理させる為に別のルー
チンへ分岐している間、他のプログラムの実行を中断す
る必要があった。その為、タイムロスを生じ、マイクロ
プロセッサの実行速度を低下させるという問題があっ
た。
【0008】次に、タイムスライス方式のマイクロプロ
セッサでは、スケジューラがプログラムに割り当てる中
央処理装置の使用時間を大まかに(ms単位)分割する
為、時間的制約を受けるという問題があった。
セッサでは、スケジューラがプログラムに割り当てる中
央処理装置の使用時間を大まかに(ms単位)分割する
為、時間的制約を受けるという問題があった。
【0009】次に、マルチプロセッサ方式のマイクロプ
ロセッサでは、並列演算処理用のCPUが複数個必要な
為、コストが高くなると共にCPUの管理とCPUの効
率が一般的に高くなるという問題があった。
ロセッサでは、並列演算処理用のCPUが複数個必要な
為、コストが高くなると共にCPUの管理とCPUの効
率が一般的に高くなるという問題があった。
【0010】本発明は、上記実情に鑑みてなされたもの
で、時間の制限を受ける処理を含むプログラムの作成を
容易に出来、かつシステムの向上が図れるマイクロプロ
セッサを提供することである。
で、時間の制限を受ける処理を含むプログラムの作成を
容易に出来、かつシステムの向上が図れるマイクロプロ
セッサを提供することである。
【0011】
【課題を解決するための手段】本発明のマイクロプロセ
ッサは、独立した複数のプログラムのアドレスを保持す
る複数のプログラムカウント手段と、前記プログラムカ
ウント手段の選択順序を指示する複数のデータが設定さ
れる複数のスケジューラと、前記複数のスケジューラか
ら一つのスケジューラを選択し、前記プログラムカウン
ト手段を前記選択されたスケジューラに設定された前記
データに従って、繰り返し選択する選択手段と、前記複
数のスケジューラに前記データを設定し、且つプログラ
ムの実行中に前記選択手段により選択されている前記ス
ケジューラ以外のスケジューラの前記データを書き換え
ることが可能な設定手段とを具備している。
ッサは、独立した複数のプログラムのアドレスを保持す
る複数のプログラムカウント手段と、前記プログラムカ
ウント手段の選択順序を指示する複数のデータが設定さ
れる複数のスケジューラと、前記複数のスケジューラか
ら一つのスケジューラを選択し、前記プログラムカウン
ト手段を前記選択されたスケジューラに設定された前記
データに従って、繰り返し選択する選択手段と、前記複
数のスケジューラに前記データを設定し、且つプログラ
ムの実行中に前記選択手段により選択されている前記ス
ケジューラ以外のスケジューラの前記データを書き換え
ることが可能な設定手段とを具備している。
【0012】
【作用】上記構成により、前記設定部は複数の前記プロ
グラムカウンタの選択順序を前記スケジューラに設定す
る。前記選択部は、前記スケジューラに設定されたプロ
グラムカウンタの選択順序に従って複数のプログラムカ
ウンタを繰り返し選択する。
グラムカウンタの選択順序を前記スケジューラに設定す
る。前記選択部は、前記スケジューラに設定されたプロ
グラムカウンタの選択順序に従って複数のプログラムカ
ウンタを繰り返し選択する。
【0013】
【実施例】以下、図面を参照しながら本発明に係るマイ
クロプロセッサについて説明する。
クロプロセッサについて説明する。
【0014】本実施例のマイクロプロセッサは、疑似的
に4つのCPUを内蔵したものである。物理的にはCP
Uは1つであるが、これが時分割で交互にプログラムを
実行する。よって、リアルタイム制御用として使用する
のに便利である。まず、図1に示すマイクロプロセッサ
10の構成について説明する。図1(a)は、本発明の
実施例に係るマイクロプロセッサのブロック図である。
図1(b)は、図1(a)に示すPCブロック15とス
ケジューラブロック16の詳細な状態を示すブロック図
である。図1(a)のマイクロプロセッサ10は、1チ
ップ内に備えられる。
に4つのCPUを内蔵したものである。物理的にはCP
Uは1つであるが、これが時分割で交互にプログラムを
実行する。よって、リアルタイム制御用として使用する
のに便利である。まず、図1に示すマイクロプロセッサ
10の構成について説明する。図1(a)は、本発明の
実施例に係るマイクロプロセッサのブロック図である。
図1(b)は、図1(a)に示すPCブロック15とス
ケジューラブロック16の詳細な状態を示すブロック図
である。図1(a)のマイクロプロセッサ10は、1チ
ップ内に備えられる。
【0015】図1(a)に示すマイクロプロセッサ10
は、I/O11、ROM12、RAM13、ALU14
(Arithmetic Logical Uni
t)、PC(プログラムカウンタ)ブロック15とスケ
ジューラ(以下、SCHD)ブロック16を有する。I
/O11、ROM12、RAM13、ALU14、PC
ブロック15とSCHDブロック16は、バスライン1
7に接続されている。
は、I/O11、ROM12、RAM13、ALU14
(Arithmetic Logical Uni
t)、PC(プログラムカウンタ)ブロック15とスケ
ジューラ(以下、SCHD)ブロック16を有する。I
/O11、ROM12、RAM13、ALU14、PC
ブロック15とSCHDブロック16は、バスライン1
7に接続されている。
【0016】また、ROM12とRAM13、RAM1
3とALU14、ALU14とPCブロック15、PC
ブロック15とSCHDブロック16はそれぞれ直接接
続されている。I/O11、ROM12、RAM13は
従来のI/O、ROM、RAMと同様の機能を有する。
ALU14とPCブロック15はCPU部18を構成し
ている。
3とALU14、ALU14とPCブロック15、PC
ブロック15とSCHDブロック16はそれぞれ直接接
続されている。I/O11、ROM12、RAM13は
従来のI/O、ROM、RAMと同様の機能を有する。
ALU14とPCブロック15はCPU部18を構成し
ている。
【0017】図1(b)に示されるようにPCブロック
15は、PC選択部5とPC群6を有する。PC群6
は、PC0,PC1,PC2,PC3の4つのPCから
構成される。各PC(PC0,PC1,PC2,PC
3)は、次に実行する命令のアドレスを保持する為の専
用レジスタである。PC選択部5は、PC(PC0,P
C1,PC2,PC3)を選択する為のものである。
15は、PC選択部5とPC群6を有する。PC群6
は、PC0,PC1,PC2,PC3の4つのPCから
構成される。各PC(PC0,PC1,PC2,PC
3)は、次に実行する命令のアドレスを保持する為の専
用レジスタである。PC選択部5は、PC(PC0,P
C1,PC2,PC3)を選択する為のものである。
【0018】SCHDブロック16は、SCHD設定部
1,SCHD選択部3,SCHDレジスタファイル部2
とSCHDカウンタ部4を有する。SCHDブロック1
6は、SCHDのデータ設定(2ビット×8個×4ブロ
ック)と、SCHDの指定をする為のものである。
1,SCHD選択部3,SCHDレジスタファイル部2
とSCHDカウンタ部4を有する。SCHDブロック1
6は、SCHDのデータ設定(2ビット×8個×4ブロ
ック)と、SCHDの指定をする為のものである。
【0019】SCHDレジスタファイル部2は、8個の
レジスタから成る4つのSCHD(SCHD1,SCH
D2,SCHD3,SCHD4)から構成され、PC群
6の動作順序を設定する為のものである。
レジスタから成る4つのSCHD(SCHD1,SCH
D2,SCHD3,SCHD4)から構成され、PC群
6の動作順序を設定する為のものである。
【0020】尚、SCHDレジスタファイル部2は、最
大4つ(SCHD1乃至4)まで使用出来る。SCHD
設定部1は、SCHDレジスタファイル部2の各SCH
D(SCHD1乃至4)にPC(PC0乃至3)の動作
順序のデータを設定する。
大4つ(SCHD1乃至4)まで使用出来る。SCHD
設定部1は、SCHDレジスタファイル部2の各SCH
D(SCHD1乃至4)にPC(PC0乃至3)の動作
順序のデータを設定する。
【0021】SCHD選択部3は2ビットのデータ信号
をデータラインD2を介してPC選択部5に出力してい
る。SCHD選択部3は、SCHDレジスタファイル部
2の各SCHD(SCHD1乃至4)に設定されたデー
タを選択する。SCHDカウンタ部4は3ビットのデー
タ信号をデータラインD1を介して、SCHD選択部3
に供給している。I/O11は、データの入出力を行う
入出力インターフェイスである。次に、図面を参照しな
がら上記実施例のPCを動作させるまでのマイクロプロ
セッサ10の動作について説明する。マイクロプロセッ
サ10の動作について説明する前に、動作説明に使用す
る図について説明する。図2(a)は、マイクロプロセ
ッサにおけるPCの実行順序の一例を示す図である。例
えば、図2(a)のPC3はプログラムカウンタ3を示
している。図2(b)は、図2(a)に示すPCの動作
順序の一部を示す図である。
をデータラインD2を介してPC選択部5に出力してい
る。SCHD選択部3は、SCHDレジスタファイル部
2の各SCHD(SCHD1乃至4)に設定されたデー
タを選択する。SCHDカウンタ部4は3ビットのデー
タ信号をデータラインD1を介して、SCHD選択部3
に供給している。I/O11は、データの入出力を行う
入出力インターフェイスである。次に、図面を参照しな
がら上記実施例のPCを動作させるまでのマイクロプロ
セッサ10の動作について説明する。マイクロプロセッ
サ10の動作について説明する前に、動作説明に使用す
る図について説明する。図2(a)は、マイクロプロセ
ッサにおけるPCの実行順序の一例を示す図である。例
えば、図2(a)のPC3はプログラムカウンタ3を示
している。図2(b)は、図2(a)に示すPCの動作
順序の一部を示す図である。
【0022】図2(c)は、SCHD選択部3からPC
選択部5に出力される信号D2を示す図である。例え
ば、2ビット信号「11」はPC3を示しており、2ビ
ット信号「00」はPC0を示している。図2(d)
は、SCHDカウンタ部からSCHD選択部3に出力さ
れるセレクト信号D1を示す図である。
選択部5に出力される信号D2を示す図である。例え
ば、2ビット信号「11」はPC3を示しており、2ビ
ット信号「00」はPC0を示している。図2(d)
は、SCHDカウンタ部からSCHD選択部3に出力さ
れるセレクト信号D1を示す図である。
【0023】図2(e)は、PCの実行例を示すデータ
テーブルである。例えば、図2(e)の(1)乃至
(4)は、SCHD1に設けられた8つのレジスタに設
定されたデータを示している。例えば、図2(e)の
(2)の3ビット信号「3」は第1番目のレジスタに設
定されたPC3、3ビットの信号「2」は2つ目のレジ
スタに設定されたPC2を示している。次に、マイクロ
プロセッサ10の動作について説明する。まず、プログ
ラム上でバスライン17を介してSCHD設定部1にデ
ータが伝送される。
テーブルである。例えば、図2(e)の(1)乃至
(4)は、SCHD1に設けられた8つのレジスタに設
定されたデータを示している。例えば、図2(e)の
(2)の3ビット信号「3」は第1番目のレジスタに設
定されたPC3、3ビットの信号「2」は2つ目のレジ
スタに設定されたPC2を示している。次に、マイクロ
プロセッサ10の動作について説明する。まず、プログ
ラム上でバスライン17を介してSCHD設定部1にデ
ータが伝送される。
【0024】SCHD設定部1は、バスライン17から
のデータを受けて、図2(e)に示すようにSCHD
(SCHD1乃至4)にPCの(PC0乃至PC3)の
実行順序を設定する。
のデータを受けて、図2(e)に示すようにSCHD
(SCHD1乃至4)にPCの(PC0乃至PC3)の
実行順序を設定する。
【0025】具体例で説明すると、SCHD設定部1
は、SCHD1には図2(e)の(1)に示すデータを
設定し、SCHD2には、図2(e)の(2)に示すよ
うなPC(PC0乃至3)の動作順序を設定し、SCH
D3には、図2(e)の(3)に示すようなPC(PC
0乃至3)の動作順序を設定し、また、SCHD4には
図2(e)の(4)に示すようなPC(PC0乃至3)
の動作順序を設定する。
は、SCHD1には図2(e)の(1)に示すデータを
設定し、SCHD2には、図2(e)の(2)に示すよ
うなPC(PC0乃至3)の動作順序を設定し、SCH
D3には、図2(e)の(3)に示すようなPC(PC
0乃至3)の動作順序を設定し、また、SCHD4には
図2(e)の(4)に示すようなPC(PC0乃至3)
の動作順序を設定する。
【0026】一方、SCHD選択部3には図示せぬデー
タラインよりどのスケジューラを選択すべきかを指示す
るデータがプログラム等により供給される。SCHD選
択部3は、指示に従って、例えばSCHD2を選択す
る。
タラインよりどのスケジューラを選択すべきかを指示す
るデータがプログラム等により供給される。SCHD選
択部3は、指示に従って、例えばSCHD2を選択す
る。
【0027】SCHD設定部1でPC(PC0乃至3)
の動作順序が設定され、さらに、どのスケジューラを選
択すべきかが設定されると、常に3ビットのセレクト信
号D1がSCHDカウンタ部4からSCHD選択部3に
伝送されているので、SCHD選択部3が選択されたS
CHDに設定された8つのデータのいずれかを順番に選
択する。例えば、SCHD2が選択された場合には、図
2(e)の(2)、即ち、図2(b)に示される一連の
データが順番に選択される。SCHD選択部3は選択し
た図2(c)に示されるデータ2ビットのデータ信号を
PC選択部5に出力する。
の動作順序が設定され、さらに、どのスケジューラを選
択すべきかが設定されると、常に3ビットのセレクト信
号D1がSCHDカウンタ部4からSCHD選択部3に
伝送されているので、SCHD選択部3が選択されたS
CHDに設定された8つのデータのいずれかを順番に選
択する。例えば、SCHD2が選択された場合には、図
2(e)の(2)、即ち、図2(b)に示される一連の
データが順番に選択される。SCHD選択部3は選択し
た図2(c)に示されるデータ2ビットのデータ信号を
PC選択部5に出力する。
【0028】SCHD選択部3からのデータ信号を受け
て、PC選択部5が図2(a)に示すようにPC3,P
C2,PC3,PC1,PC3…の順にPC(PC0乃
至3)を選択する。図2(a)に示すようにPC0まで
選択されると、またPC3が選択される。上記動作よ
り、図2(a)に示すような動作順序でPCに保持され
たアドレスに従って、プログラムが実行される。尚、S
CHD1が設定された場合には、プログラムカウンタP
C0だけが実行され、他のPC(SCHD1乃至3)は
実行されない。図1のマイクロプロセッサ10は、バス
ライン17を介して動作終了の命令を受けると、その動
作を終了する。次に、図面を参照しながら各PCに保持
されたアドレスに従って実行されるプログラムの実行速
度について説明する。例えば、SCHD2に図2(a)
のようにPCの実行順序が設定されている場合には、各
PCに従うプログラムの実行速度は以下のようになる。
図2に示すように、一命令に割り当てられている中央処
理装置の使用時間T2を1μsと仮定する。一命令の実
行の中でPCは8回実行されるので、PCの1回の動作
時間は1/8μsで求められ、T1 は0.125μsと
なる。
て、PC選択部5が図2(a)に示すようにPC3,P
C2,PC3,PC1,PC3…の順にPC(PC0乃
至3)を選択する。図2(a)に示すようにPC0まで
選択されると、またPC3が選択される。上記動作よ
り、図2(a)に示すような動作順序でPCに保持され
たアドレスに従って、プログラムが実行される。尚、S
CHD1が設定された場合には、プログラムカウンタP
C0だけが実行され、他のPC(SCHD1乃至3)は
実行されない。図1のマイクロプロセッサ10は、バス
ライン17を介して動作終了の命令を受けると、その動
作を終了する。次に、図面を参照しながら各PCに保持
されたアドレスに従って実行されるプログラムの実行速
度について説明する。例えば、SCHD2に図2(a)
のようにPCの実行順序が設定されている場合には、各
PCに従うプログラムの実行速度は以下のようになる。
図2に示すように、一命令に割り当てられている中央処
理装置の使用時間T2を1μsと仮定する。一命令の実
行の中でPCは8回実行されるので、PCの1回の動作
時間は1/8μsで求められ、T1 は0.125μsと
なる。
【0029】よって、図2(b)のようにPCの動作順
序が設定されている場合には、1命令の中でPC0,P
C1は1回実行されるので、PC0に割り当てられる中
央処理装置の使用時間は0.125μsであり、その使
用速度は1.000μs/INSTである。
序が設定されている場合には、1命令の中でPC0,P
C1は1回実行されるので、PC0に割り当てられる中
央処理装置の使用時間は0.125μsであり、その使
用速度は1.000μs/INSTである。
【0030】PC2は2回実行されるので、PC2にお
ける中央処理装置の使用時間は0.25μsであり、そ
の使用速度は1/2で求められ、0.500μs/IN
STである。
ける中央処理装置の使用時間は0.25μsであり、そ
の使用速度は1/2で求められ、0.500μs/IN
STである。
【0031】PC3は4回実行されるので、PC3にお
ける中央処理装置の使用時間は0.5μsであり、その
使用速度は1/4で求められ、0.250μs/INS
Tである。尚、図2(a)に示すPC0,PC3,PC
2,PC3…PC0は、実行順序に従って各PCを並べ
たものである。
ける中央処理装置の使用時間は0.5μsであり、その
使用速度は1/4で求められ、0.250μs/INS
Tである。尚、図2(a)に示すPC0,PC3,PC
2,PC3…PC0は、実行順序に従って各PCを並べ
たものである。
【0032】図2(b)のPC3,PC2,PC3…P
C0は、図2(a)に示すPCの一部を示したものであ
る。また、SCHDカウンタ部4からの信号D1「1
1,10,11…00」は、PC3,PC2,PC3…
PC0に相当するように「3,2,3…0」を2ビット
の信号で示したものである。また、図2(d)の0乃至
7は、SCHD選択部3からPC選択部5に供給される
3ビットの信号D1を意味する。上記構成のマイクロプ
ロセッサにおいては、ユーザは複数のプログラムの処理
間隔(時間)を一命令単位でSCHDレジスタファイル
部2に設定出来る。
C0は、図2(a)に示すPCの一部を示したものであ
る。また、SCHDカウンタ部4からの信号D1「1
1,10,11…00」は、PC3,PC2,PC3…
PC0に相当するように「3,2,3…0」を2ビット
の信号で示したものである。また、図2(d)の0乃至
7は、SCHD選択部3からPC選択部5に供給される
3ビットの信号D1を意味する。上記構成のマイクロプ
ロセッサにおいては、ユーザは複数のプログラムの処理
間隔(時間)を一命令単位でSCHDレジスタファイル
部2に設定出来る。
【0033】また、中央処理装置は上記のような使用時
間及び使用速度で使用され、レジスタに設定された配列
順で繰り返しPCを動作させることにより、各PCはS
CHDに設定されたデータにより定まる一定時間おきに
実行される。これより、必要に応じてプログラム処理の
高速化が出来る。また、各々のプログラムに応じた処理
時間の配分が出来るので、システムの効率が図れる。
間及び使用速度で使用され、レジスタに設定された配列
順で繰り返しPCを動作させることにより、各PCはS
CHDに設定されたデータにより定まる一定時間おきに
実行される。これより、必要に応じてプログラム処理の
高速化が出来る。また、各々のプログラムに応じた処理
時間の配分が出来るので、システムの効率が図れる。
【0034】尚、SCHDレジスタファイル部2内の選
択されるべきSCHDのデータの設定(2ビット×8
個)は、プログラム実行中に必要に応じて命令により変
えることができる。これにより、プログラムの実行順序
を適宜プログラム実行中に切り換えることが出来る。
尚、本発明は上記実施例に限定されず種々の変更が可能
である。例えば、上記実施例ではSCHDを4つ設けた
が、2つ以上あればよい。また、上記実施例ではPCを
4つ設けたが、2つ以上でもよい。
択されるべきSCHDのデータの設定(2ビット×8
個)は、プログラム実行中に必要に応じて命令により変
えることができる。これにより、プログラムの実行順序
を適宜プログラム実行中に切り換えることが出来る。
尚、本発明は上記実施例に限定されず種々の変更が可能
である。例えば、上記実施例ではSCHDを4つ設けた
が、2つ以上あればよい。また、上記実施例ではPCを
4つ設けたが、2つ以上でもよい。
【0035】例えば、SCHD2を選択している際にS
CHD設定部1は、バスライン17からのコマンドに従
って、SCHD1,3,4を自由に書き換える。また、
SCHD選択部3はコマンドに従って、SCHDを自由
に選択して、例えばSCHD2からSCHD3に切り換
える。これにより、プログラムカウンタPCの選択順序
がプログラム実行中に切り換えられる。尚、プログラム
カウンタPCの選択中の内容自体を書き換えられるよう
にしてもよい。
CHD設定部1は、バスライン17からのコマンドに従
って、SCHD1,3,4を自由に書き換える。また、
SCHD選択部3はコマンドに従って、SCHDを自由
に選択して、例えばSCHD2からSCHD3に切り換
える。これにより、プログラムカウンタPCの選択順序
がプログラム実行中に切り換えられる。尚、プログラム
カウンタPCの選択中の内容自体を書き換えられるよう
にしてもよい。
【0036】
【発明の効果】上記構成より、CPUが1つ備えられた
マイクロプロセッサにおいても、ユーザが複数のプログ
ラムの処理時間を一命令単位で設定出来るので、必要に
応じたプログラムを高速で実行出来、プログラムに応じ
た処理時間の配分が出来ると同時にシステム全体の効率
化が図れる。また、プログラムの処理時間が明確化で
き、マイクロプロセッサにおけるリアルタイム(並列)
処理を容易に設計出来る。
マイクロプロセッサにおいても、ユーザが複数のプログ
ラムの処理時間を一命令単位で設定出来るので、必要に
応じたプログラムを高速で実行出来、プログラムに応じ
た処理時間の配分が出来ると同時にシステム全体の効率
化が図れる。また、プログラムの処理時間が明確化で
き、マイクロプロセッサにおけるリアルタイム(並列)
処理を容易に設計出来る。
【図1】本発明の実施例に係るマイクロプロセッサのブ
ロック図である。
ロック図である。
【図2】図1のマイクロプロセッサのPCの実行例を示
す図である。
す図である。
1…SCHD設定部、2…SCHDレジスタファイル
部、3…SCHD選択部、4…SCHDカウンタ部、5
…PC選択部、6…PC、D1…SCHDカウンタ部の
セレクト信号、D2…SCHD選択部の出力信号、10
…マイクロプロセッサ、11…I/O、12…ROM、
13…RAM、14…ALU、15…PC、16…SC
HDブロック、17…バスライン、18…CPU部。
部、3…SCHD選択部、4…SCHDカウンタ部、5
…PC選択部、6…PC、D1…SCHDカウンタ部の
セレクト信号、D2…SCHD選択部の出力信号、10
…マイクロプロセッサ、11…I/O、12…ROM、
13…RAM、14…ALU、15…PC、16…SC
HDブロック、17…バスライン、18…CPU部。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 植村 幸政 神奈川県川崎市川崎区駅前本町25番地1 東芝マイクロエレクトロニクス株式会 社内 (56)参考文献 特開 昭56−157541(JP,A) 特開 昭62−237531(JP,A) 特開 平3−222043(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 9/46
Claims (2)
- 【請求項1】 独立した複数のプログラムのアドレスを
保持する複数のプログラムカウント手段と、 前記プログラムカウント手段の選択順序を指示する複数
のデータが設定される複数のスケジューラと、 前記複数のスケジューラから一つのスケジューラを選択
し、前記プログラムカウント手段を前記選択されたスケ
ジューラに設定された前記データに従って、繰り返し選
択する選択手段と、 前記複数のスケジューラに前記データを設定するととも
に、プログラムの実行中に前記選択手段により選択され
ている前記スケジューラ以外のスケジューラの前記デー
タを書き換えることが可能な設定手段と を具備すること
を特徴とするマイクロプロセッサ。 - 【請求項2】 前記選択手段は、セレクト信号を出力す
るカウンタ部と、前記カウンタ部からのセレクト信号を
受けて前記スケジューラに設定されたデータを選択する
スケジューラ選択部と、前記スケジューラ選択部からの
出力信号に応じて前記プログラムカウント手段を選択す
るプログラムカウンタ選択手段から構成されることを特
徴とする請求項1記載のマイクロプロセッサ。
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP20051791A JP3144842B2 (ja) | 1991-08-09 | 1991-08-09 | マイクロプロセッサ |
| KR1019920014172A KR960003045B1 (ko) | 1991-08-09 | 1992-08-07 | 마이크로프로세서 |
| US08/337,196 US5991873A (en) | 1991-08-09 | 1994-11-07 | Microprocessor for simultaneously processing data corresponding to a plurality of computer programs |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP20051791A JP3144842B2 (ja) | 1991-08-09 | 1991-08-09 | マイクロプロセッサ |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH0546413A JPH0546413A (ja) | 1993-02-26 |
| JP3144842B2 true JP3144842B2 (ja) | 2001-03-12 |
Family
ID=16425632
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP20051791A Expired - Fee Related JP3144842B2 (ja) | 1991-08-09 | 1991-08-09 | マイクロプロセッサ |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US5991873A (ja) |
| JP (1) | JP3144842B2 (ja) |
| KR (1) | KR960003045B1 (ja) |
Families Citing this family (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6304957B1 (en) * | 1993-02-26 | 2001-10-16 | Nippondenso Co., Ltd. | Multitask processing unit |
| US5997873A (en) | 1994-01-13 | 1999-12-07 | Mount Sinai School Of Medicine Of The City University Of New York | Method of preparation of heat shock protein 70-peptide complexes |
| JP3097434B2 (ja) * | 1994-01-25 | 2000-10-10 | ヤマハ株式会社 | 効果付加用ディジタル信号処理装置 |
| JP2001117786A (ja) | 1999-10-19 | 2001-04-27 | Nec Corp | プロセススケジューリング装置およびプロセススケジューリング方法 |
| US6782441B1 (en) * | 2000-10-26 | 2004-08-24 | Sun Microsystems, Inc. | Arbitration method and apparatus |
| JP3813930B2 (ja) | 2002-01-09 | 2006-08-23 | 松下電器産業株式会社 | プロセッサ及びプログラム実行方法 |
| JP4825257B2 (ja) * | 2002-01-09 | 2011-11-30 | パナソニック株式会社 | プロセッサ |
| JP4750350B2 (ja) | 2003-03-13 | 2011-08-17 | パナソニック株式会社 | タスク切換装置、方法及びプログラム |
| JP5062950B2 (ja) * | 2004-10-20 | 2012-10-31 | キヤノン株式会社 | ダイレクトメモリアクセス装置及びその制御方法 |
Family Cites Families (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3573852A (en) * | 1968-08-30 | 1971-04-06 | Texas Instruments Inc | Variable time slot assignment of virtual processors |
| JPS4895747A (ja) * | 1972-03-21 | 1973-12-07 | ||
| US3972024A (en) * | 1974-03-27 | 1976-07-27 | Burroughs Corporation | Programmable microprocessor |
| JPS5849881B2 (ja) * | 1975-12-05 | 1983-11-07 | 株式会社日立製作所 | デ−タシヨリソウチ |
| US4167781A (en) * | 1976-10-12 | 1979-09-11 | Fairchild Camera And Instrument Corporation | Microprocessor system having a single central processing unit shared by a plurality of subsystems each having a memory |
| JPS5430074A (en) * | 1977-08-10 | 1979-03-06 | Seiko Epson Corp | Time measuring system |
| US4517637A (en) * | 1983-04-21 | 1985-05-14 | Inconix Corporation | Distributed measurement and control system for industrial processes |
| US4953078A (en) * | 1987-10-28 | 1990-08-28 | Digital Equipment Corporation | Apparatus and method for multi-threaded program execution in a microcoded data processing system |
| US5367678A (en) * | 1990-12-06 | 1994-11-22 | The Regents Of The University Of California | Multiprocessor system having statically determining resource allocation schedule at compile time and the using of static schedule with processor signals to control the execution time dynamically |
-
1991
- 1991-08-09 JP JP20051791A patent/JP3144842B2/ja not_active Expired - Fee Related
-
1992
- 1992-08-07 KR KR1019920014172A patent/KR960003045B1/ko not_active Expired - Fee Related
-
1994
- 1994-11-07 US US08/337,196 patent/US5991873A/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JPH0546413A (ja) | 1993-02-26 |
| KR960003045B1 (ko) | 1996-03-04 |
| US5991873A (en) | 1999-11-23 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP0377976B1 (en) | Microcode control apparatus utilizing programmable logic array circuits | |
| JPH0550022B2 (ja) | ||
| EP1293891A3 (en) | Arithmetic processor | |
| JPH08305585A (ja) | 割込制御装置 | |
| JP3144842B2 (ja) | マイクロプロセッサ | |
| US5410721A (en) | System and method for incrementing a program counter | |
| US4975837A (en) | Programmable unit having plural levels of subinstruction sets where a portion of the lower level is embedded in the code stream of the upper level of the subinstruction sets | |
| JPH11120115A (ja) | Pciバスの割り込みステアリング回路 | |
| JP2797760B2 (ja) | 並列処理コンピュータシステム | |
| JPS623332A (ja) | 情報処理装置 | |
| EP0177268B1 (en) | Programmable data path width in a programmable unit having plural levels of subinstructions sets | |
| JPS62145435A (ja) | コンカレント処理命令を有するマイクロプロセツサ | |
| JPH0199132A (ja) | マルチタスク実行装置 | |
| RU2099780C1 (ru) | Модульное вычислительное устройство с раздельным микропрограммным управлением арифметико-логическими секциями и чередующимся обслуживанием нескольких командных потоков | |
| JPH03188531A (ja) | 時分割マルチタスク実行装置 | |
| JP3601758B2 (ja) | 情報処理装置及びその処理方法 | |
| EP0333235A2 (en) | Programmable data path width in a programmable unit having plural levels of subinstructions sets | |
| JP2566139B2 (ja) | バスインタフエ−ス回路 | |
| JPH0683618A (ja) | フラグ制御回路 | |
| JPS62147545A (ja) | 情報処理装置における転送命令処理方式 | |
| JPH09106346A (ja) | 並列計算機 | |
| JPS58225469A (ja) | マルチプロセツサ制御方式 | |
| KR950703177A (ko) | 거대병렬 컴퓨터 장치(advanced massively-parallel computer apparatus) | |
| JPH01134653A (ja) | 共有バスの優先順位制御方式 | |
| JPH03263265A (ja) | ベクトル処理装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20001212 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080105 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090105 Year of fee payment: 8 |
|
| LAPS | Cancellation because of no payment of annual fees |