JPH08320797A - プログラム制御システム - Google Patents
プログラム制御システムInfo
- Publication number
- JPH08320797A JPH08320797A JP7125355A JP12535595A JPH08320797A JP H08320797 A JPH08320797 A JP H08320797A JP 7125355 A JP7125355 A JP 7125355A JP 12535595 A JP12535595 A JP 12535595A JP H08320797 A JPH08320797 A JP H08320797A
- Authority
- JP
- Japan
- Prior art keywords
- program
- program counter
- controlled
- processes
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 claims abstract description 81
- 238000012545 processing Methods 0.000 claims description 30
- 230000015654 memory Effects 0.000 abstract description 43
- 230000006870 function Effects 0.000 abstract description 15
- 238000010586 diagram Methods 0.000 description 13
- 230000005540 biological transmission Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3818—Decoding for concurrent execution
- G06F9/3822—Parallel decoding, e.g. parallel decode units
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
- G06F9/321—Program or instruction counter, e.g. incrementing
-
- 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/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; 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
- G06F9/3869—Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking
-
- 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/461—Saving or restoring of program or task context
- G06F9/462—Saving 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)
- Multimedia (AREA)
- Programmable Controllers (AREA)
Abstract
(57)【要約】
【目的】 独立した複数の処理のプログラムを1つに編
集する必要がなく、各処理の切替えパターンの変更の際
にもプログラムの再編集や再インストールの必要がない
プログラム制御システムを提供する。 【構成】 プログラムカウンタ切替制御部7は、外部か
ら通知されるプログラムカウンタ切替規則に基づき、各
被制御部4−1〜4−nからの命令完了信号に従い、セ
レクタ6に対してプログラムカウンタ切替指示を行な
う。セレクタ6は、プログラムカウンタ切替指示に従っ
て、プログラムカウンタ1−1〜1−nを選択する。選
択されたプログラムカウンタによってプログラムメモリ
2から読み出された命令は、各デコーダ3−1〜3−n
でデコードされ、対応する被制御部に制御信号が出力さ
れる。被制御部は、制御信号に従い、必要なら共有化機
能部5を用いて処理を行なう。処理終了後、命令完了信
号をプログラムカウンタ切替え制御部7へ通知する。
集する必要がなく、各処理の切替えパターンの変更の際
にもプログラムの再編集や再インストールの必要がない
プログラム制御システムを提供する。 【構成】 プログラムカウンタ切替制御部7は、外部か
ら通知されるプログラムカウンタ切替規則に基づき、各
被制御部4−1〜4−nからの命令完了信号に従い、セ
レクタ6に対してプログラムカウンタ切替指示を行な
う。セレクタ6は、プログラムカウンタ切替指示に従っ
て、プログラムカウンタ1−1〜1−nを選択する。選
択されたプログラムカウンタによってプログラムメモリ
2から読み出された命令は、各デコーダ3−1〜3−n
でデコードされ、対応する被制御部に制御信号が出力さ
れる。被制御部は、制御信号に従い、必要なら共有化機
能部5を用いて処理を行なう。処理終了後、命令完了信
号をプログラムカウンタ切替え制御部7へ通知する。
Description
【0001】
【産業上の利用分野】本発明は、内部の記憶装置に格納
されているプログラムにより一連の処理が制御される被
制御手段を有し、被制御手段でそれぞれ独立に複数の処
理が行なわれるプログラム制御システムに関するもので
ある。
されているプログラムにより一連の処理が制御される被
制御手段を有し、被制御手段でそれぞれ独立に複数の処
理が行なわれるプログラム制御システムに関するもので
ある。
【0002】
【従来の技術】図2は、一般的なプログラム制御システ
ムの基本構成図である。図中、11はプログラムカウン
タ、12はプログラムメモリ、13はデコーダ、14は
被制御部である。図2には、単一の処理(処理番号#
1)を行なうシステムを示している。プログラムカウン
タ11は、読み出すプログラムのメモリ・アドレスを指
定する。プログラムメモリ12は、プログラムを記憶す
る。図2中の#1−(1),(2),(3),・・・が
プログラムの内容、即ち、命令を示している。デコーダ
13は、命令を解釈し、制御信号に変換する。被制御部
14は、制御信号に従い、処理を行なう。1つの命令の
実行が完了すると、被制御部14は完了信号をプログラ
ムカウンタ11へ通知する。プログラムカウンタ11
は、被制御部14からの完了信号を受けて、メモリ・ア
ドレスを次の値に更新する。
ムの基本構成図である。図中、11はプログラムカウン
タ、12はプログラムメモリ、13はデコーダ、14は
被制御部である。図2には、単一の処理(処理番号#
1)を行なうシステムを示している。プログラムカウン
タ11は、読み出すプログラムのメモリ・アドレスを指
定する。プログラムメモリ12は、プログラムを記憶す
る。図2中の#1−(1),(2),(3),・・・が
プログラムの内容、即ち、命令を示している。デコーダ
13は、命令を解釈し、制御信号に変換する。被制御部
14は、制御信号に従い、処理を行なう。1つの命令の
実行が完了すると、被制御部14は完了信号をプログラ
ムカウンタ11へ通知する。プログラムカウンタ11
は、被制御部14からの完了信号を受けて、メモリ・ア
ドレスを次の値に更新する。
【0003】図2に示すシステムでは、被制御部14が
一つであり、単一の処理を行なうのみである。被制御部
が複数存在し、その各々の被制御部が独立した処理を行
なうシステムも存在する。その場合、すべての独立した
処理を制御するプログラム制御システムの形態として、
以下のような従来方式が提案されている。
一つであり、単一の処理を行なうのみである。被制御部
が複数存在し、その各々の被制御部が独立した処理を行
なうシステムも存在する。その場合、すべての独立した
処理を制御するプログラム制御システムの形態として、
以下のような従来方式が提案されている。
【0004】まず、処理ごとにシステム全体を独立に設
ける方式がある。図3は、従来のプログラム制御システ
ムの一例の説明図である。図中、21,21−1,21
−2,・・・,21−nはプログラムカウンタ、22,
22−1,22−2,・・・,22−nはプログラムメ
モリ、23,23−1,23−2,・・・,23−nは
デコーダ、24,24−1,24−2,・・・,24−
nは被制御部である。図3に示した構成は、例えば、特
開昭62−168231号公報等に記載されている。
ける方式がある。図3は、従来のプログラム制御システ
ムの一例の説明図である。図中、21,21−1,21
−2,・・・,21−nはプログラムカウンタ、22,
22−1,22−2,・・・,22−nはプログラムメ
モリ、23,23−1,23−2,・・・,23−nは
デコーダ、24,24−1,24−2,・・・,24−
nは被制御部である。図3に示した構成は、例えば、特
開昭62−168231号公報等に記載されている。
【0005】この構成では、n個の被制御部24−1,
24−2,・・・24−nに対応して、n個のプログラ
ムカウンタ、n個のプログラムメモリ、n個のデコーダ
を有している。そして、i番目の処理については、プロ
グラムカウンタ21−i、プログラムメモリ22−i、
デコーダ23−i、被制御部24−iにより実行され
る。このように、個々の処理については、図2と同様に
それぞれのプログラムカウンタ、プログラムメモリ、デ
コーダ、被制御部を有している。そのため、システムの
構成要素を処理数に応じて全て設けることになるため、
回路規模が増大するという問題がある。
24−2,・・・24−nに対応して、n個のプログラ
ムカウンタ、n個のプログラムメモリ、n個のデコーダ
を有している。そして、i番目の処理については、プロ
グラムカウンタ21−i、プログラムメモリ22−i、
デコーダ23−i、被制御部24−iにより実行され
る。このように、個々の処理については、図2と同様に
それぞれのプログラムカウンタ、プログラムメモリ、デ
コーダ、被制御部を有している。そのため、システムの
構成要素を処理数に応じて全て設けることになるため、
回路規模が増大するという問題がある。
【0006】別の方式として、プログラムを時分割でデ
コーダに与える方式がある。図4は、従来のプログラム
制御システムの別の例の説明図である。図中、31はプ
ログラムカウンタ、32はプログラムメモリ、33−
1,33−2,・・・,33−nはデコーダ、34−
1,34−2,・・・,34−nは被制御部、35は共
有化機能部である。図4に示した構成は、例えば、特開
昭62−168231号公報等に記載されている。
コーダに与える方式がある。図4は、従来のプログラム
制御システムの別の例の説明図である。図中、31はプ
ログラムカウンタ、32はプログラムメモリ、33−
1,33−2,・・・,33−nはデコーダ、34−
1,34−2,・・・,34−nは被制御部、35は共
有化機能部である。図4に示した構成は、例えば、特開
昭62−168231号公報等に記載されている。
【0007】この方式では、デコーダ33−1,33−
2,・・・,33−nおよび被制御部34−1,34−
2,・・・,34−nは処理ごとに設けられており、各
被制御部34−1,34−2,・・・,34−nに共通
のプログラムカウンタ31およびプログラムメモリ32
を有している。そして、プログラムメモリ32から読み
出された各処理の命令は、各デコーダ33−1,33−
2,・・・,33−nが時分割で受け取る。さらに、各
処理が時分割で実行されるため、状態保持を必要とせず
に実行可能な各処理間に共通した機能は、共有化するこ
とができる。共有化機能部34は、このような各処理間
に共通した機能について処理を行なう。このように、こ
の方式では、プログラムメモリ32が1つとなり、共有
化機能部34を共有するので、上述の図3に示した方式
と比較して回路規模を小さくすることができる。
2,・・・,33−nおよび被制御部34−1,34−
2,・・・,34−nは処理ごとに設けられており、各
被制御部34−1,34−2,・・・,34−nに共通
のプログラムカウンタ31およびプログラムメモリ32
を有している。そして、プログラムメモリ32から読み
出された各処理の命令は、各デコーダ33−1,33−
2,・・・,33−nが時分割で受け取る。さらに、各
処理が時分割で実行されるため、状態保持を必要とせず
に実行可能な各処理間に共通した機能は、共有化するこ
とができる。共有化機能部34は、このような各処理間
に共通した機能について処理を行なう。このように、こ
の方式では、プログラムメモリ32が1つとなり、共有
化機能部34を共有するので、上述の図3に示した方式
と比較して回路規模を小さくすることができる。
【0008】図5、図6は、被制御部の動作順序の一例
の説明図である。この方式では、プログラムカウンタ3
1が1つであるため、プログラムメモリ32に格納され
ているプログラムは、各デコーダ33−1,33−2,
・・・,33−nに渡す順に並べられていなければなら
ない。例えば、図5に示すように、n個の独立処理(処
理番号#1〜#n)が1命令ごとに切り替わり、順次実
行される場合を考える。この場合、図4に示すように、
プログラムメモリ32には、まず処理番号#1の1番目
の命令が格納され、次に処理番号#2の1番目の命令が
格納されていなくてはならない。同様に、処理番号#n
の1番目の命令までが順に格納された後、処理番号#1
の2番目の命令から処理番号#nの2番目の命令が並ぶ
ことになる。このように並べておけば、プログラムカウ
ンタ31が順にプログラムを取り出し、デコーダ33−
1,33−2,・・・,33−nに順に渡すことによっ
て、図5に示すような順序で各被制御部34−1,34
−2,・・・,34−nが動作することができる。
の説明図である。この方式では、プログラムカウンタ3
1が1つであるため、プログラムメモリ32に格納され
ているプログラムは、各デコーダ33−1,33−2,
・・・,33−nに渡す順に並べられていなければなら
ない。例えば、図5に示すように、n個の独立処理(処
理番号#1〜#n)が1命令ごとに切り替わり、順次実
行される場合を考える。この場合、図4に示すように、
プログラムメモリ32には、まず処理番号#1の1番目
の命令が格納され、次に処理番号#2の1番目の命令が
格納されていなくてはならない。同様に、処理番号#n
の1番目の命令までが順に格納された後、処理番号#1
の2番目の命令から処理番号#nの2番目の命令が並ぶ
ことになる。このように並べておけば、プログラムカウ
ンタ31が順にプログラムを取り出し、デコーダ33−
1,33−2,・・・,33−nに順に渡すことによっ
て、図5に示すような順序で各被制御部34−1,34
−2,・・・,34−nが動作することができる。
【0009】しかし、この方式によって図5に示すよう
に動作させるには、各処理のプログラムを、図4のプロ
グラムメモリ32に示すような順序の1つのプログラム
に編集する必要がある。また、例えば、図5に示すよう
な1命令ごとの切替えを、図6に示すような2命令ごと
の切替えに変更したい場合のように、複数処理の切替え
パターンを変更したい場合、プログラムの再編集が必要
となる。また、その再編集したプログラムを格納したR
OM等のプログラムメモリを交換したり、あるいはシス
テムにダウンロードするなど、システムへの再インスト
ールが必要である。同様に、デバッグ時など、ある一つ
の処理のみを実行させてその動作を確認したい場合に
も、デバッグ専用のプログラムを編集してインストール
する必要がある。
に動作させるには、各処理のプログラムを、図4のプロ
グラムメモリ32に示すような順序の1つのプログラム
に編集する必要がある。また、例えば、図5に示すよう
な1命令ごとの切替えを、図6に示すような2命令ごと
の切替えに変更したい場合のように、複数処理の切替え
パターンを変更したい場合、プログラムの再編集が必要
となる。また、その再編集したプログラムを格納したR
OM等のプログラムメモリを交換したり、あるいはシス
テムにダウンロードするなど、システムへの再インスト
ールが必要である。同様に、デバッグ時など、ある一つ
の処理のみを実行させてその動作を確認したい場合に
も、デバッグ専用のプログラムを編集してインストール
する必要がある。
【0010】
【発明が解決しようとする課題】本発明は、上述した事
情に鑑みてなされたもので、独立した複数の処理をプロ
グラム制御システムにより実行する際に、各処理のプロ
グラムを1つのプログラムへ編集する必要がなく、各処
理の切替えパターンの変更を行ないたい場合にも、プロ
グラムの再編集や再インストールの必要がないシステム
を回路規模を増大させずに実現することを目的とするも
のである。
情に鑑みてなされたもので、独立した複数の処理をプロ
グラム制御システムにより実行する際に、各処理のプロ
グラムを1つのプログラムへ編集する必要がなく、各処
理の切替えパターンの変更を行ないたい場合にも、プロ
グラムの再編集や再インストールの必要がないシステム
を回路規模を増大させずに実現することを目的とするも
のである。
【0011】
【課題を解決するための手段】本発明は、プログラムに
より一連の処理が制御される被制御手段を有し、該被制
御手段でそれぞれ独立に複数の処理が行なわれるプログ
ラム制御システムにおいて、前記被制御手段で行なわれ
る処理を制御するプログラムが格納される共通の記憶手
段と、前記複数の処理にそれぞれ対応して設けられ前記
記憶手段からプログラムを読み出すアドレスを発生する
複数のプログラムカウンタと、前記複数のプログラムカ
ウンタの出力から1つを選択し前記記憶手段に供給する
選択手段を備えていることを特徴とするものである。
より一連の処理が制御される被制御手段を有し、該被制
御手段でそれぞれ独立に複数の処理が行なわれるプログ
ラム制御システムにおいて、前記被制御手段で行なわれ
る処理を制御するプログラムが格納される共通の記憶手
段と、前記複数の処理にそれぞれ対応して設けられ前記
記憶手段からプログラムを読み出すアドレスを発生する
複数のプログラムカウンタと、前記複数のプログラムカ
ウンタの出力から1つを選択し前記記憶手段に供給する
選択手段を備えていることを特徴とするものである。
【0012】前記被制御手段においては、それぞれ独立
に複数の処理が行なわれるが、特に請求項2に記載の発
明のように、複数の処理にそれぞれ対応した複数の個別
被制御手段を有する構成とすることができる。このと
き、請求項3に記載の発明のように、前記被制御手段
は、前記複数の処理に共通する部分の処理を行なう共有
化機能手段を有する構成とすることができる。
に複数の処理が行なわれるが、特に請求項2に記載の発
明のように、複数の処理にそれぞれ対応した複数の個別
被制御手段を有する構成とすることができる。このと
き、請求項3に記載の発明のように、前記被制御手段
は、前記複数の処理に共通する部分の処理を行なう共有
化機能手段を有する構成とすることができる。
【0013】また、請求項4に記載の発明のように、前
記被制御手段からの制御信号に基づき前記選択手段を制
御するプログラムカウンタ切り替え制御手段を有する構
成とすることもできる。
記被制御手段からの制御信号に基づき前記選択手段を制
御するプログラムカウンタ切り替え制御手段を有する構
成とすることもできる。
【0014】さらに、請求項5に記載の発明のように、
与えられた切り替え規則に従って前記選択手段を制御す
るプログラムカウンタ切り替え制御手段を有する構成と
することもできる。
与えられた切り替え規則に従って前記選択手段を制御す
るプログラムカウンタ切り替え制御手段を有する構成と
することもできる。
【0015】
【作用】本発明によれば、独立した複数の処理を実行す
るプログラム制御システムにおいて、それぞれの処理に
対応したプログラムカウンタを設け、これらのプログラ
ムカウンタを選択手段で切り替えて共通のプログラムメ
モリをアクセスするように構成している。そのため、プ
ログラムメモリは1つでよく、例えば、図3に示した従
来のシステムと比較して回路規模を小さくすることがで
きる。また、例えば、図4に示した従来のシステムと比
較しても、プログラムカウンタおよび選択回路の増加だ
けであるので、回路規模はそれほど増加しない。被制御
手段は、請求項2に記載の発明のように、複数の処理に
それぞれ対応した複数の個別被制御手段を有する構成と
することができるが、このとき、請求項3に記載の発明
のように、複数の処理に共通する部分の処理を行なう共
有化機能手段を有する構成とすることによっても、回路
規模の減少を図ることができる。
るプログラム制御システムにおいて、それぞれの処理に
対応したプログラムカウンタを設け、これらのプログラ
ムカウンタを選択手段で切り替えて共通のプログラムメ
モリをアクセスするように構成している。そのため、プ
ログラムメモリは1つでよく、例えば、図3に示した従
来のシステムと比較して回路規模を小さくすることがで
きる。また、例えば、図4に示した従来のシステムと比
較しても、プログラムカウンタおよび選択回路の増加だ
けであるので、回路規模はそれほど増加しない。被制御
手段は、請求項2に記載の発明のように、複数の処理に
それぞれ対応した複数の個別被制御手段を有する構成と
することができるが、このとき、請求項3に記載の発明
のように、複数の処理に共通する部分の処理を行なう共
有化機能手段を有する構成とすることによっても、回路
規模の減少を図ることができる。
【0016】また、本発明では、それぞれの処理に対応
したプログラムカウンタを用いるので、プログラムメモ
リに格納されるそれぞれの処理のプログラムは、例え
ば、図4に示したような従来のシステムのように編集す
る必要はなく、個々の処理のプログラムを順番にプログ
ラムメモリ内に配置すればよい。そのため、例えば、請
求項5に記載の発明のように、与えられた切り替え規則
に従って行なう場合に、その切り替え規則を変更して処
理の切り替えパターンを変更する場合でも、プログラム
メモリに格納されているプログラムの再編集および再イ
ンストールは必要なく、切り替え規則に従って選択手段
を制御し、プログラムカウンタを選択するのみで実現す
ることができる。なお、切り替え規則の変更は、システ
ム動作中であっても可能である。また、選択手段による
プログラムカウンタの切り替えのタイミング制御は、例
えば、請求項4に記載の発明のように、被制御手段から
の制御信号に基づいて行なうことができる。
したプログラムカウンタを用いるので、プログラムメモ
リに格納されるそれぞれの処理のプログラムは、例え
ば、図4に示したような従来のシステムのように編集す
る必要はなく、個々の処理のプログラムを順番にプログ
ラムメモリ内に配置すればよい。そのため、例えば、請
求項5に記載の発明のように、与えられた切り替え規則
に従って行なう場合に、その切り替え規則を変更して処
理の切り替えパターンを変更する場合でも、プログラム
メモリに格納されているプログラムの再編集および再イ
ンストールは必要なく、切り替え規則に従って選択手段
を制御し、プログラムカウンタを選択するのみで実現す
ることができる。なお、切り替え規則の変更は、システ
ム動作中であっても可能である。また、選択手段による
プログラムカウンタの切り替えのタイミング制御は、例
えば、請求項4に記載の発明のように、被制御手段から
の制御信号に基づいて行なうことができる。
【0017】
【実施例】図1は、本発明のプログラム制御システムの
一実施例を示す構成図である。図中、1−1〜1−nは
プログラムカウンタ、2はプログラムメモリ、3−1〜
3−nはデコーダ、4−1〜4−nは被制御部、5は共
有化機能部、6はセレクタ、7はプログラムカウンタ切
替制御部、8はCPUインタフェース部である。
一実施例を示す構成図である。図中、1−1〜1−nは
プログラムカウンタ、2はプログラムメモリ、3−1〜
3−nはデコーダ、4−1〜4−nは被制御部、5は共
有化機能部、6はセレクタ、7はプログラムカウンタ切
替制御部、8はCPUインタフェース部である。
【0018】このプログラム制御システムは、独立した
処理を実行するn個の被制御部4−1〜4−nを有して
いる。プログラムカウンタ1−1〜1−nは、各被制御
部4−1〜4−nに対応して設けられ、それぞれの被制
御部4−1〜4−nが実行すべきプログラムメモリ2中
のプログラムを指し示している。プログラムメモリ2に
は、複数の処理のプログラムが、個々の処理ごとに格納
されている。デコーダ3−1〜3−nは、各処理ごとに
複数設けられ、プログラムメモリ2から出力される命令
を制御信号に変換する。被制御部4−1〜4−nは、そ
れぞれ対応するデコーダ3−1〜3−nから出力される
制御信号に従って処理を行なう。処理終了後は、命令完
了信号をプログラムカウンタ切替制御部7に送る。共有
化機能部5は、各処理間に共通して必要な機能について
の処理を行なう。
処理を実行するn個の被制御部4−1〜4−nを有して
いる。プログラムカウンタ1−1〜1−nは、各被制御
部4−1〜4−nに対応して設けられ、それぞれの被制
御部4−1〜4−nが実行すべきプログラムメモリ2中
のプログラムを指し示している。プログラムメモリ2に
は、複数の処理のプログラムが、個々の処理ごとに格納
されている。デコーダ3−1〜3−nは、各処理ごとに
複数設けられ、プログラムメモリ2から出力される命令
を制御信号に変換する。被制御部4−1〜4−nは、そ
れぞれ対応するデコーダ3−1〜3−nから出力される
制御信号に従って処理を行なう。処理終了後は、命令完
了信号をプログラムカウンタ切替制御部7に送る。共有
化機能部5は、各処理間に共通して必要な機能について
の処理を行なう。
【0019】セレクタ6は、複数のプログラムカウンタ
1−1〜1−nの出力から1つを選択し、プログラムメ
モリに供給する。プログラムカウンタ切替制御部7は、
プログラムカウンタ切替規則に基づき、各被制御部4−
1〜4−nからの命令完了信号に従って、セレクタ6に
よるプログラムカウンタ1−1〜1−nの切り替えを制
御する。CPUインタフェース部8は、外部のCPU等
から指定されるプログラムカウンタ切替規則を、プログ
ラムカウンタ切替え制御部7に与える。
1−1〜1−nの出力から1つを選択し、プログラムメ
モリに供給する。プログラムカウンタ切替制御部7は、
プログラムカウンタ切替規則に基づき、各被制御部4−
1〜4−nからの命令完了信号に従って、セレクタ6に
よるプログラムカウンタ1−1〜1−nの切り替えを制
御する。CPUインタフェース部8は、外部のCPU等
から指定されるプログラムカウンタ切替規則を、プログ
ラムカウンタ切替え制御部7に与える。
【0020】次に、本発明のプログラム制御システムの
一実施例における動作の一例を説明する。まず、外部の
CPU等からCPUインタフェース部8に対してプログ
ラムカウンタ切替規則が通知される。CPUインタフェ
ース部8は、入力されたプログラムカウンタ切替規則を
プログラムカウンタ切替制御部7に渡す。プログラムカ
ウンタ切替規則を受け取ったプログラムカウンタ切替制
御部7は、各被制御部4−1〜4−nからの命令完了信
号に従って、セレクタ6に対してプログラムカウンタ切
替指示を行なう。プログラムカウンタ切替指示を受けた
セレクタ6は、その指示に従って、複数のプログラムカ
ウンタ1−1〜1−nの出力から1つを選択し、選択し
たプログラムカウンタの出力をプログラムメモリ2にア
ドレスとして供給する。プログラムメモリ2では、各プ
ログラムカウンタ1−1〜1−nの出力が示すメモリ・
アドレスに、各処理のプログラムが配置されており、他
のプログラムカウンタの出力が示すメモリ・アドレスに
は配置されていない。そのため、選択したプログラムカ
ウンタに対応した処理のプログラムがプログラムメモリ
2から読み出される。例えば、セレクタ6がi番目のプ
ログラムカウンタ、すなわちプログラムカウンタ1−i
を選択している場合、プログラムカウンタ1−iの出力
がプログラムメモリ2に供給され、処理#iのプログラ
ムの1つがプログラムメモリ2から出力される。
一実施例における動作の一例を説明する。まず、外部の
CPU等からCPUインタフェース部8に対してプログ
ラムカウンタ切替規則が通知される。CPUインタフェ
ース部8は、入力されたプログラムカウンタ切替規則を
プログラムカウンタ切替制御部7に渡す。プログラムカ
ウンタ切替規則を受け取ったプログラムカウンタ切替制
御部7は、各被制御部4−1〜4−nからの命令完了信
号に従って、セレクタ6に対してプログラムカウンタ切
替指示を行なう。プログラムカウンタ切替指示を受けた
セレクタ6は、その指示に従って、複数のプログラムカ
ウンタ1−1〜1−nの出力から1つを選択し、選択し
たプログラムカウンタの出力をプログラムメモリ2にア
ドレスとして供給する。プログラムメモリ2では、各プ
ログラムカウンタ1−1〜1−nの出力が示すメモリ・
アドレスに、各処理のプログラムが配置されており、他
のプログラムカウンタの出力が示すメモリ・アドレスに
は配置されていない。そのため、選択したプログラムカ
ウンタに対応した処理のプログラムがプログラムメモリ
2から読み出される。例えば、セレクタ6がi番目のプ
ログラムカウンタ、すなわちプログラムカウンタ1−i
を選択している場合、プログラムカウンタ1−iの出力
がプログラムメモリ2に供給され、処理#iのプログラ
ムの1つがプログラムメモリ2から出力される。
【0021】各デコーダ3−1〜3−nは、プログラム
メモリ2から出力される命令のデコードを行なう。デコ
ードした命令がそのデコーダに対応する被制御部の処理
に対する実行指示であると解釈した場合には、その命令
に対応した制御信号を被制御部に対して出力する。他の
被制御部で行なう処理に対する実行指示であると解釈し
た場合には、何も出力しない。各被制御部4−1〜4−
nは、各デコーダ3−1〜3−nからの制御信号に従っ
てそれぞれの処理を行なう。その際、必要に応じて共有
化機能部5を用いる。処理が終了すると、命令完了信号
をプログラムカウンタ切替え制御部7へ通知する。
メモリ2から出力される命令のデコードを行なう。デコ
ードした命令がそのデコーダに対応する被制御部の処理
に対する実行指示であると解釈した場合には、その命令
に対応した制御信号を被制御部に対して出力する。他の
被制御部で行なう処理に対する実行指示であると解釈し
た場合には、何も出力しない。各被制御部4−1〜4−
nは、各デコーダ3−1〜3−nからの制御信号に従っ
てそれぞれの処理を行なう。その際、必要に応じて共有
化機能部5を用いる。処理が終了すると、命令完了信号
をプログラムカウンタ切替え制御部7へ通知する。
【0022】以上のように、このプログラム制御システ
ムでは、プログラムカウンタ1−1〜1−nを切り替え
ることにより、複数の処理が時分割で実行される。
ムでは、プログラムカウンタ1−1〜1−nを切り替え
ることにより、複数の処理が時分割で実行される。
【0023】以下、具体例を用いて上述の動作を説明す
る。ここでは一例として、上述の図5に示すように、各
処理を1命令づつ順次実行する場合について説明する。
まず、外部のCPU等からCPUインタフェース部8を
介してプログラムカウンタ切替制御部7へプログラムカ
ウンタ切替規則が通知される。この例の場合、「プログ
ラムカウンタを1命令づつ順次切り替える」旨のプログ
ラムカウンタ切替規則が通知される。以下の説明では、
通知されるプログラムカウンタ切替規則を各処理の命令
数比で表わすことにする。ここでは、具体的には「#
1:#2:#3:・・・:#n=1:1:1:・・・:
1」というプログラムカウンタ切替規則が通知される。
る。ここでは一例として、上述の図5に示すように、各
処理を1命令づつ順次実行する場合について説明する。
まず、外部のCPU等からCPUインタフェース部8を
介してプログラムカウンタ切替制御部7へプログラムカ
ウンタ切替規則が通知される。この例の場合、「プログ
ラムカウンタを1命令づつ順次切り替える」旨のプログ
ラムカウンタ切替規則が通知される。以下の説明では、
通知されるプログラムカウンタ切替規則を各処理の命令
数比で表わすことにする。ここでは、具体的には「#
1:#2:#3:・・・:#n=1:1:1:・・・:
1」というプログラムカウンタ切替規則が通知される。
【0024】通知を受けたプログラムカウンタ切替制御
部7は、最初にセレクタ6がプログラムカウンタ1−1
を選択するようにセレクタ6に対してプログラムカウン
タ切替指示を行なう。プログラムカウンタ切替え指示を
受けたセレクタ6は、指示に従ってプログラムカウンタ
1−1の出力を選択し、プログラムメモリ2にアドレス
として供給する。このとき、プログラムカウンタ1−1
のアドレスが図1のプログラムメモリ2のうち、命令#
1−(1)を指し示しているとすれば、これがプログラ
ムメモリ2から読み出され、デコーダ3−1〜3−nに
入力される。デコーダ3−1は、この命令#1−(1)
をデコードして制御信号を被制御部4−1に対して出力
する。被制御部4−1は、デコーダ3−1からの制御信
号に従って処理を行なう。その際、必要に応じて共有化
機能部5を用いる。処理が終了すると、命令完了信号を
プログラムカウンタ切替え制御部7へ通知する。
部7は、最初にセレクタ6がプログラムカウンタ1−1
を選択するようにセレクタ6に対してプログラムカウン
タ切替指示を行なう。プログラムカウンタ切替え指示を
受けたセレクタ6は、指示に従ってプログラムカウンタ
1−1の出力を選択し、プログラムメモリ2にアドレス
として供給する。このとき、プログラムカウンタ1−1
のアドレスが図1のプログラムメモリ2のうち、命令#
1−(1)を指し示しているとすれば、これがプログラ
ムメモリ2から読み出され、デコーダ3−1〜3−nに
入力される。デコーダ3−1は、この命令#1−(1)
をデコードして制御信号を被制御部4−1に対して出力
する。被制御部4−1は、デコーダ3−1からの制御信
号に従って処理を行なう。その際、必要に応じて共有化
機能部5を用いる。処理が終了すると、命令完了信号を
プログラムカウンタ切替え制御部7へ通知する。
【0025】プログラムカウンタ切替制御部7は、被制
御部4−1からの命令完了信号を受けると、セレクタ6
がプログラムカウンタ1−2を選択するように、セレク
タ6に対してプログラムカウンタ切替指示を行なう。セ
レクタ6は、指示に従ってプログラムカウンタ1−2の
出力を選択し、プログラムメモリ2にアドレスとして供
給する。プログラムカウンタ1−2は、被制御部4−2
が実行すべきプログラムの先頭のアドレスが設定されて
いるので、命令#2−(1)が読み出され、デコーダ3
−2から被制御部4−2へ制御信号が出力されて、被制
御部4−2で制御信号に従った処理が実行される。処理
が終了すると、命令完了信号がプログラムカウンタ切替
制御部7へ通知される。
御部4−1からの命令完了信号を受けると、セレクタ6
がプログラムカウンタ1−2を選択するように、セレク
タ6に対してプログラムカウンタ切替指示を行なう。セ
レクタ6は、指示に従ってプログラムカウンタ1−2の
出力を選択し、プログラムメモリ2にアドレスとして供
給する。プログラムカウンタ1−2は、被制御部4−2
が実行すべきプログラムの先頭のアドレスが設定されて
いるので、命令#2−(1)が読み出され、デコーダ3
−2から被制御部4−2へ制御信号が出力されて、被制
御部4−2で制御信号に従った処理が実行される。処理
が終了すると、命令完了信号がプログラムカウンタ切替
制御部7へ通知される。
【0026】以下、同様にして、被制御部4−1〜4−
nからの命令完了信号がプログラムカウンタ切替制御部
7へ通知されるたびに、プログラムカウンタ切替制御部
7はプログラムカウンタ切替指示をセレクタ6に対して
行ない、プログラムカウンタ1−1〜1−nが順次選択
され、被制御部4−1〜4−nにおいて処理が順次行な
われる。プログラムカウンタ1−1〜1−nは、指し示
している命令が実行されるごとに次の命令を指し示すよ
うに構成されており、プログラムカウンタ1−1〜1−
nが順次選択されて命令#1−(1)〜#n−(1)が
実行された後は、再びプログラムカウンタ1−1が選択
されて次の命令#1−(2)が実行され、順次#2−
(2),・・・,#n−(mn )が実行される。
nからの命令完了信号がプログラムカウンタ切替制御部
7へ通知されるたびに、プログラムカウンタ切替制御部
7はプログラムカウンタ切替指示をセレクタ6に対して
行ない、プログラムカウンタ1−1〜1−nが順次選択
され、被制御部4−1〜4−nにおいて処理が順次行な
われる。プログラムカウンタ1−1〜1−nは、指し示
している命令が実行されるごとに次の命令を指し示すよ
うに構成されており、プログラムカウンタ1−1〜1−
nが順次選択されて命令#1−(1)〜#n−(1)が
実行された後は、再びプログラムカウンタ1−1が選択
されて次の命令#1−(2)が実行され、順次#2−
(2),・・・,#n−(mn )が実行される。
【0027】次に、処理の切替えパターンを図6に示す
ように各処理を2命令ずつ順次実行としたい場合を考え
る。この場合には、プログラムカウンタ切替制御部7に
対し、プログラムカウンタ切替規則として「#1:#
2:#3:・・・:#n=2:2:2:・・・:2」と
通知すればよい。プログラムカウンタ切替制御部7は、
最初にプログラムカウンタ1−1の出力を選択するよう
にセレクタ6に対してプログラムカウンタ切替指示を行
なう。これにより、被制御部4−1は命令#1−(1)
を実行する。被制御部4−1から命令完了信号を受ける
と、プログラムカウンタ切替制御部7は命令完了信号を
内部のカウンタでカウントし、この時点ではプログラム
カウンタ切替指示を行なわない。すると、プログラムカ
ウンタ1−1は、次の命令のアドレスをプログラムメモ
リ2に出力し、被制御部4−1は命令#1−(2)を実
行する。プログラムカウンタ切替制御部7は、被制御部
4−1から2回目の命令完了信号を受けると、セレクタ
6に対してプログラムカウンタ切替指示を行ない、プロ
グラムカウンタ1−2の出力を選択するように切り替え
られる。これにより、被制御部4−2が2命令について
動作する。同様にして、被制御部4−3〜4−nについ
ても2命令ずつ実行する。このような動作が繰り返し行
なわれることになる。
ように各処理を2命令ずつ順次実行としたい場合を考え
る。この場合には、プログラムカウンタ切替制御部7に
対し、プログラムカウンタ切替規則として「#1:#
2:#3:・・・:#n=2:2:2:・・・:2」と
通知すればよい。プログラムカウンタ切替制御部7は、
最初にプログラムカウンタ1−1の出力を選択するよう
にセレクタ6に対してプログラムカウンタ切替指示を行
なう。これにより、被制御部4−1は命令#1−(1)
を実行する。被制御部4−1から命令完了信号を受ける
と、プログラムカウンタ切替制御部7は命令完了信号を
内部のカウンタでカウントし、この時点ではプログラム
カウンタ切替指示を行なわない。すると、プログラムカ
ウンタ1−1は、次の命令のアドレスをプログラムメモ
リ2に出力し、被制御部4−1は命令#1−(2)を実
行する。プログラムカウンタ切替制御部7は、被制御部
4−1から2回目の命令完了信号を受けると、セレクタ
6に対してプログラムカウンタ切替指示を行ない、プロ
グラムカウンタ1−2の出力を選択するように切り替え
られる。これにより、被制御部4−2が2命令について
動作する。同様にして、被制御部4−3〜4−nについ
ても2命令ずつ実行する。このような動作が繰り返し行
なわれることになる。
【0028】このように、プログラムカウンタ切替規則
の設定によって、1つの処理に与える時間を任意に設定
することができる。図7、図8は、被制御部の動作順序
の別の例の説明図である。図7に示す例では、被制御部
4−1と被制御部4−2の処理のみを1:3の比率で行
なう場合を示している。この場合には、プログラムカウ
ンタ切替制御部7に対してプログラムカウンタ切替規則
として「#1:#2:#3:・・・:#n=1:3:
0:・・・:0」と通知すればよい。この場合、プログ
ラムカウンタ切替制御部7は、比率が0のプログラムカ
ウンタの出力をセレクタ6が選択しないように、プログ
ラムカウンタ切替指示をセレクタ6に対して行なう。こ
のようなプログラムカウンタ切替規則を用いることによ
って、実行する処理の選択と各処理間の動作比率を任意
に設定することができる。
の設定によって、1つの処理に与える時間を任意に設定
することができる。図7、図8は、被制御部の動作順序
の別の例の説明図である。図7に示す例では、被制御部
4−1と被制御部4−2の処理のみを1:3の比率で行
なう場合を示している。この場合には、プログラムカウ
ンタ切替制御部7に対してプログラムカウンタ切替規則
として「#1:#2:#3:・・・:#n=1:3:
0:・・・:0」と通知すればよい。この場合、プログ
ラムカウンタ切替制御部7は、比率が0のプログラムカ
ウンタの出力をセレクタ6が選択しないように、プログ
ラムカウンタ切替指示をセレクタ6に対して行なう。こ
のようなプログラムカウンタ切替規則を用いることによ
って、実行する処理の選択と各処理間の動作比率を任意
に設定することができる。
【0029】さらに、図8に示すように、ある1つの処
理のみを連続して実行したい場合には、例えば、被制御
部4−1のみを連続して実行させるときには、プログラ
ムカウンタ切替制御部7に対してプログラムカウンタ切
替規則「#1:#2:#3:・・・:#n=1:0:
0:・・・:0」を通知すればよい。これは、デバッグ
時等、一つの処理のみの動作の確認を行ないたい場合に
有効である。
理のみを連続して実行したい場合には、例えば、被制御
部4−1のみを連続して実行させるときには、プログラ
ムカウンタ切替制御部7に対してプログラムカウンタ切
替規則「#1:#2:#3:・・・:#n=1:0:
0:・・・:0」を通知すればよい。これは、デバッグ
時等、一つの処理のみの動作の確認を行ないたい場合に
有効である。
【0030】このように、プログラムカウンタ切替制御
部7に通知するプログラムカウンタ切替規則を変更する
だけで、被制御部の選択および動作比率を変更すること
ができる。このとき、プログラムメモリ2に格納されて
いるプログラムを再編集したり、再インストールする必
要はない。以上のようなプログラムカウンタ切替規則の
変更動作は、例えば、CPU等による指定により実現で
きるため、システム動作中の変更も可能である。例え
ば、外部のユーザインタフェースからの指示や、被制御
部4−1〜4−nの動作状態を監視し、最適な動作割合
を求めてプログラムカウンタ切替規則を生成することも
可能である。
部7に通知するプログラムカウンタ切替規則を変更する
だけで、被制御部の選択および動作比率を変更すること
ができる。このとき、プログラムメモリ2に格納されて
いるプログラムを再編集したり、再インストールする必
要はない。以上のようなプログラムカウンタ切替規則の
変更動作は、例えば、CPU等による指定により実現で
きるため、システム動作中の変更も可能である。例え
ば、外部のユーザインタフェースからの指示や、被制御
部4−1〜4−nの動作状態を監視し、最適な動作割合
を求めてプログラムカウンタ切替規則を生成することも
可能である。
【0031】上述のプログラムカウンタ切替規則では、
各被制御部4−1〜4−nの動作の有無および動作割合
しか指定できないが、これに限らず、種々の指定を可能
にすることができ、例えば各プログラムカウンタ1−1
〜1−nの選択順序などを指定可能に構成することもで
きる。なお、プログラムカウンタ切替規則の書式は、上
述のものに限らない。
各被制御部4−1〜4−nの動作の有無および動作割合
しか指定できないが、これに限らず、種々の指定を可能
にすることができ、例えば各プログラムカウンタ1−1
〜1−nの選択順序などを指定可能に構成することもで
きる。なお、プログラムカウンタ切替規則の書式は、上
述のものに限らない。
【0032】上述の実施例の構成において、プログラム
カウンタ切替規則が予め決まっているようなシステムで
は、CPUインタフェース部8は不要であるし、また、
図5や図6に示したように、ある特定のパターンのみに
従ってプログラムカウンタ1−1〜1−nの切り替えを
行なう場合には、プログラムカウンタ切替制御部7を設
けず、セレクタ6に命令完了信号を直接入力して、切り
替えを行なうように構成してもよい。さらに、共有化機
能部5は必ずしも設ける必要はない。
カウンタ切替規則が予め決まっているようなシステムで
は、CPUインタフェース部8は不要であるし、また、
図5や図6に示したように、ある特定のパターンのみに
従ってプログラムカウンタ1−1〜1−nの切り替えを
行なう場合には、プログラムカウンタ切替制御部7を設
けず、セレクタ6に命令完了信号を直接入力して、切り
替えを行なうように構成してもよい。さらに、共有化機
能部5は必ずしも設ける必要はない。
【0033】上述の説明では、各被制御部4−1〜4−
nは、時分割で動作するものとしたが、例えば並列的に
動作させることも可能である。この場合には、プログラ
ムカウンタ切替制御部7は、各被制御部4−1〜4−n
から出力される命令完了信号を受けると、その命令完了
信号を発した被制御部に対応するプログラムカウンタの
出力を選択するように、セレクタ6に対してプログラム
カウンタ切替指示を行なうことができる。このようにす
ると、処理の速く終了した被制御部から順に次の命令を
供給して処理を続行させることができる。
nは、時分割で動作するものとしたが、例えば並列的に
動作させることも可能である。この場合には、プログラ
ムカウンタ切替制御部7は、各被制御部4−1〜4−n
から出力される命令完了信号を受けると、その命令完了
信号を発した被制御部に対応するプログラムカウンタの
出力を選択するように、セレクタ6に対してプログラム
カウンタ切替指示を行なうことができる。このようにす
ると、処理の速く終了した被制御部から順に次の命令を
供給して処理を続行させることができる。
【0034】上述のプログラム制御システムの応用例と
しては、例えば、通信端末への適用が考えられる。例え
ば、被制御部4−1において行なわれる処理として送信
処理とし、被制御部4−2において行なわれる処理とし
て受信処理とする。アプリケーションデータの送信時お
よび同データの受信時とも、フロー制御などのプロトコ
ル処理のために、送信処理および受信処理の両方の処理
が必要である。しかし、アプリケーションデータの送信
時には送信処理の割合が高く、逆に同データの受信時に
は受信処理の割合が高い。このような場合、上述のプロ
グラム制御システムを用いれば、アプリケーションデー
タの送信時と同データの受信時とでプログラムカウンタ
切替規則を変更し、送信処理と受信処理の動作比率を変
更することによって、効率よく処理を制御することが可
能となる。
しては、例えば、通信端末への適用が考えられる。例え
ば、被制御部4−1において行なわれる処理として送信
処理とし、被制御部4−2において行なわれる処理とし
て受信処理とする。アプリケーションデータの送信時お
よび同データの受信時とも、フロー制御などのプロトコ
ル処理のために、送信処理および受信処理の両方の処理
が必要である。しかし、アプリケーションデータの送信
時には送信処理の割合が高く、逆に同データの受信時に
は受信処理の割合が高い。このような場合、上述のプロ
グラム制御システムを用いれば、アプリケーションデー
タの送信時と同データの受信時とでプログラムカウンタ
切替規則を変更し、送信処理と受信処理の動作比率を変
更することによって、効率よく処理を制御することが可
能となる。
【0035】
【発明の効果】以上の説明から明らかなように、本発明
によれば、独立した複数の処理が共有するプログラムメ
モリを設けているので、回路規模の増大を防ぐことがで
きるとともに、各処理に対応したプログラムカウンタを
設け、複数のプログラムカウンタを時分割で切り替えて
処理を実行するので、従来のようにプログラムそのもの
の編集を行なう必要はない。また、処理の切替えパター
ンを変更する際には、プログラムカウンタ切替規則を変
更するだけで対応可能であり、従来のようにプログラム
の再編集や再インストールの必要がない。さらに、プロ
グラムカウンタ切替規則によって各処理を行なうか否
か、および、各処理間の動作比率、1つの処理の連続実
行時間を任意に設定することができる。また、プログラ
ムカウンタ切替規則は外部からの指定によって設定また
は変更できるため、システム動作中にダイナミックに変
更を行なうことができる、等の効果がある。
によれば、独立した複数の処理が共有するプログラムメ
モリを設けているので、回路規模の増大を防ぐことがで
きるとともに、各処理に対応したプログラムカウンタを
設け、複数のプログラムカウンタを時分割で切り替えて
処理を実行するので、従来のようにプログラムそのもの
の編集を行なう必要はない。また、処理の切替えパター
ンを変更する際には、プログラムカウンタ切替規則を変
更するだけで対応可能であり、従来のようにプログラム
の再編集や再インストールの必要がない。さらに、プロ
グラムカウンタ切替規則によって各処理を行なうか否
か、および、各処理間の動作比率、1つの処理の連続実
行時間を任意に設定することができる。また、プログラ
ムカウンタ切替規則は外部からの指定によって設定また
は変更できるため、システム動作中にダイナミックに変
更を行なうことができる、等の効果がある。
【図1】 本発明のプログラム制御システムの一実施例
を示す構成図である。
を示す構成図である。
【図2】 一般的なプログラム制御システムの基本構成
図である。
図である。
【図3】 従来のプログラム制御システムの一例の説明
図である。
図である。
【図4】 従来のプログラム制御システムの別の例の説
明図である。
明図である。
【図5】 被制御部の動作順序の一例の説明図である。
【図6】 被制御部の動作順序の別の例の説明図であ
る。
る。
【図7】 被制御部の動作順序のさらに別の例の説明図
である。
である。
【図8】 被制御部の動作順序のさらに別の例の説明図
である。
である。
1−1〜1−n…プログラムカウンタ、2…プログラム
メモリ、3−1〜3−n…デコーダ、4−1〜4−n…
被制御部、5…共有化機能部、6…セレクタ、7…プロ
グラムカウンタ切替制御部、8…CPUインタフェース
部。
メモリ、3−1〜3−n…デコーダ、4−1〜4−n…
被制御部、5…共有化機能部、6…セレクタ、7…プロ
グラムカウンタ切替制御部、8…CPUインタフェース
部。
Claims (5)
- 【請求項1】 プログラムにより一連の処理が制御され
る被制御手段を有し、該被制御手段でそれぞれ独立に複
数の処理が行なわれるプログラム制御システムにおい
て、前記被制御手段で行なわれる処理を制御するプログ
ラムが格納される共通の記憶手段と、前記複数の処理に
それぞれ対応して設けられ前記記憶手段からプログラム
を読み出すアドレスを発生する複数のプログラムカウン
タと、前記複数のプログラムカウンタの出力から1つを
選択し前記記憶手段に供給する選択手段を備えているこ
とを特徴とするプログラム制御システム。 - 【請求項2】 前記被制御手段は、前記複数の処理にそ
れぞれ対応した複数の個別被制御手段を有することを特
徴とする請求項1に記載のプログラム制御システム。 - 【請求項3】 前記被制御手段は、前記複数の処理に共
通する部分の処理を行なう共有化機能手段を有すること
を特徴とする請求項2に記載のプログラム制御システ
ム。 - 【請求項4】 前記被制御手段からの制御信号に基づき
前記選択手段を制御するプログラムカウンタ切り替え制
御手段を有することを特徴とする請求項1ないし3のい
ずれか1項に記載のプログラム制御システム。 - 【請求項5】 与えられた切り替え規則に従って前記選
択手段を制御するプログラムカウンタ切り替え制御手段
を有することを特徴とする請求項1ないし3のいずれか
1項に記載のプログラム制御システム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7125355A JPH08320797A (ja) | 1995-05-24 | 1995-05-24 | プログラム制御システム |
US08/634,732 US5761522A (en) | 1995-05-24 | 1996-04-18 | Program control system programmable to selectively execute a plurality of programs |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP7125355A JPH08320797A (ja) | 1995-05-24 | 1995-05-24 | プログラム制御システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH08320797A true JPH08320797A (ja) | 1996-12-03 |
Family
ID=14908086
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP7125355A Pending JPH08320797A (ja) | 1995-05-24 | 1995-05-24 | プログラム制御システム |
Country Status (2)
Country | Link |
---|---|
US (1) | US5761522A (ja) |
JP (1) | JPH08320797A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011170873A (ja) * | 2011-04-05 | 2011-09-01 | Canon Inc | ダイレクトメモリアクセスシステム及びその制御方法 |
Families Citing this family (54)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0863462B8 (en) * | 1997-03-04 | 2010-07-28 | Panasonic Corporation | Processor capable of efficiently executing many asynchronous event tasks |
US6986141B1 (en) * | 1998-03-10 | 2006-01-10 | Agere Systems Inc. | Context controller having instruction-based time slice task switching capability and processor employing the same |
US6317820B1 (en) * | 1998-06-05 | 2001-11-13 | Texas Instruments Incorporated | Dual-mode VLIW architecture providing a software-controlled varying mix of instruction-level and task-level parallelism |
US6571273B1 (en) * | 1998-07-13 | 2003-05-27 | Yokogawa Electric Corporation | Process control system |
US6185484B1 (en) * | 1998-08-05 | 2001-02-06 | Eaton Corporation | Method of operating a motor vehicle management computer system |
US6826749B2 (en) * | 1998-12-08 | 2004-11-30 | Nazomi Communications, Inc. | Java hardware accelerator using thread manager |
US6535905B1 (en) | 1999-04-29 | 2003-03-18 | Intel Corporation | Method and apparatus for thread switching within a multithreaded processor |
US6507862B1 (en) * | 1999-05-11 | 2003-01-14 | Sun Microsystems, Inc. | Switching method in a multi-threaded processor |
US6341347B1 (en) | 1999-05-11 | 2002-01-22 | Sun Microsystems, Inc. | Thread switch logic in a multiple-thread processor |
US6427196B1 (en) * | 1999-08-31 | 2002-07-30 | Intel Corporation | SRAM controller for parallel processor architecture including address and command queue and arbiter |
US6668317B1 (en) * | 1999-08-31 | 2003-12-23 | Intel Corporation | Microengine for parallel processor architecture |
US6983350B1 (en) | 1999-08-31 | 2006-01-03 | Intel Corporation | SDRAM controller for parallel processor architecture |
US7546444B1 (en) | 1999-09-01 | 2009-06-09 | Intel Corporation | Register set used in multithreaded parallel processor architecture |
US7191309B1 (en) | 1999-09-01 | 2007-03-13 | Intel Corporation | Double shift instruction for micro engine used in multithreaded parallel processor architecture |
US6357016B1 (en) | 1999-12-09 | 2002-03-12 | Intel Corporation | Method and apparatus for disabling a clock signal within a multithreaded processor |
US6889319B1 (en) * | 1999-12-09 | 2005-05-03 | Intel Corporation | Method and apparatus for entering and exiting multiple threads within a multithreaded processor |
US6496925B1 (en) * | 1999-12-09 | 2002-12-17 | Intel Corporation | Method and apparatus for processing an event occurrence within a multithreaded processor |
US6532509B1 (en) | 1999-12-22 | 2003-03-11 | Intel Corporation | Arbitrating command requests in a parallel multi-threaded processing system |
US6694380B1 (en) | 1999-12-27 | 2004-02-17 | Intel Corporation | Mapping requests from a processing unit that uses memory-mapped input-output space |
US6625654B1 (en) * | 1999-12-28 | 2003-09-23 | Intel Corporation | Thread signaling in multi-threaded network processor |
US6307789B1 (en) * | 1999-12-28 | 2001-10-23 | Intel Corporation | Scratchpad memory |
US6631430B1 (en) * | 1999-12-28 | 2003-10-07 | Intel Corporation | Optimizations to receive packet status from fifo bus |
US6661794B1 (en) | 1999-12-29 | 2003-12-09 | Intel Corporation | Method and apparatus for gigabit packet assignment for multithreaded packet processing |
US6952824B1 (en) | 1999-12-30 | 2005-10-04 | Intel Corporation | Multi-threaded sequenced receive for fast network port stream of packets |
US6584522B1 (en) * | 1999-12-30 | 2003-06-24 | Intel Corporation | Communication between processors |
US6976095B1 (en) | 1999-12-30 | 2005-12-13 | Intel Corporation | Port blocking technique for maintaining receive packet ordering for a multiple ethernet port switch |
US7480706B1 (en) | 1999-12-30 | 2009-01-20 | Intel Corporation | Multi-threaded round-robin receive for fast network port |
US6631462B1 (en) * | 2000-01-05 | 2003-10-07 | Intel Corporation | Memory shared between processing threads |
US6671795B1 (en) * | 2000-01-21 | 2003-12-30 | Intel Corporation | Method and apparatus for pausing execution in a processor or the like |
US7150018B2 (en) * | 2000-02-16 | 2006-12-12 | Microsoft Corporation | Method and system for deterministic ordering of software modules |
US7856633B1 (en) | 2000-03-24 | 2010-12-21 | Intel Corporation | LRU cache replacement for a partitioned set associative cache |
US7681018B2 (en) | 2000-08-31 | 2010-03-16 | Intel Corporation | Method and apparatus for providing large register address space while maximizing cycletime performance for a multi-threaded register file set |
US7020871B2 (en) | 2000-12-21 | 2006-03-28 | Intel Corporation | Breakpoint method for parallel hardware threads in multithreaded processor |
US6628293B2 (en) * | 2001-02-23 | 2003-09-30 | Mary Susan Huhn Eustis | Format varying computer system |
US6868476B2 (en) * | 2001-08-27 | 2005-03-15 | Intel Corporation | Software controlled content addressable memory in a general purpose execution datapath |
US7126952B2 (en) | 2001-09-28 | 2006-10-24 | Intel Corporation | Multiprotocol decapsulation/encapsulation control structure and packet protocol conversion method |
US7158964B2 (en) * | 2001-12-12 | 2007-01-02 | Intel Corporation | Queue management |
US7107413B2 (en) | 2001-12-17 | 2006-09-12 | Intel Corporation | Write queue descriptor count instruction for high speed queuing |
US7269179B2 (en) | 2001-12-18 | 2007-09-11 | Intel Corporation | Control mechanisms for enqueue and dequeue operations in a pipelined network processor |
US20030126416A1 (en) * | 2001-12-31 | 2003-07-03 | Marr Deborah T. | Suspending execution of a thread in a multi-threaded processor |
US7127561B2 (en) | 2001-12-31 | 2006-10-24 | Intel Corporation | Coherency techniques for suspending execution of a thread until a specified memory access occurs |
US7363474B2 (en) * | 2001-12-31 | 2008-04-22 | Intel Corporation | Method and apparatus for suspending execution of a thread until a specified memory access occurs |
US20030126379A1 (en) * | 2001-12-31 | 2003-07-03 | Shiv Kaushik | Instruction sequences for suspending execution of a thread until a specified memory access occurs |
US7895239B2 (en) | 2002-01-04 | 2011-02-22 | Intel Corporation | Queue arrays in network devices |
US7181573B2 (en) | 2002-01-07 | 2007-02-20 | Intel Corporation | Queue array caching in network devices |
US6934951B2 (en) | 2002-01-17 | 2005-08-23 | Intel Corporation | Parallel processor with functional pipeline providing programming engines by supporting multiple contexts and critical section |
US7181594B2 (en) * | 2002-01-25 | 2007-02-20 | Intel Corporation | Context pipelines |
US7149226B2 (en) | 2002-02-01 | 2006-12-12 | Intel Corporation | Processing data packets |
EP1387253B1 (en) * | 2002-07-31 | 2017-09-20 | Texas Instruments Incorporated | Dynamic translation and execution of instructions within a processor |
US7433307B2 (en) | 2002-11-05 | 2008-10-07 | Intel Corporation | Flow control in a network environment |
US6941438B2 (en) * | 2003-01-10 | 2005-09-06 | Intel Corporation | Memory interleaving |
US7310722B2 (en) * | 2003-12-18 | 2007-12-18 | Nvidia Corporation | Across-thread out of order instruction dispatch in a multithreaded graphics processor |
US7213099B2 (en) | 2003-12-30 | 2007-05-01 | Intel Corporation | Method and apparatus utilizing non-uniformly distributed DRAM configurations and to detect in-range memory address matches |
KR101624636B1 (ko) * | 2015-03-03 | 2016-05-27 | 주식회사 에이디칩스 | 명령어 패치 장치 및 방법 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2028931B2 (de) * | 1970-06-12 | 1972-12-21 | Licentia Patent-Verwaltungs-Gmbh, 6000 Frankfurt | Digitale rechenmaschine mit mehreren akkumulatorregistern |
JPS62168231A (ja) * | 1986-01-21 | 1987-07-24 | Mitsubishi Electric Corp | デ−タ処理装置 |
US5317745A (en) * | 1992-01-10 | 1994-05-31 | Zilog, Inc. | Minimal interrupt latency scheme using multiple program counters |
JPH06131173A (ja) * | 1992-10-20 | 1994-05-13 | Toshiba Corp | マイクロプログラム制御システム |
DK0627100T3 (da) * | 1992-12-23 | 2000-06-26 | Ebauchesfabrik Eta Ag | Laveffekt-multitaskkontroller |
US5664167A (en) * | 1995-03-27 | 1997-09-02 | Delco Electronics Corporation | Microprogrammed timer processor having a variable loop resolution architecture |
-
1995
- 1995-05-24 JP JP7125355A patent/JPH08320797A/ja active Pending
-
1996
- 1996-04-18 US US08/634,732 patent/US5761522A/en not_active Expired - Lifetime
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011170873A (ja) * | 2011-04-05 | 2011-09-01 | Canon Inc | ダイレクトメモリアクセスシステム及びその制御方法 |
Also Published As
Publication number | Publication date |
---|---|
US5761522A (en) | 1998-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH08320797A (ja) | プログラム制御システム | |
JP3593439B2 (ja) | 画像処理装置 | |
US6360328B1 (en) | Plural sampling frequency signal processing by performing designated routines during sub-multiple time slots of each period | |
JP3141850B2 (ja) | 時分割スイッチング装置および時分割スイッチング方法、並びに記録媒体 | |
JP2003280895A (ja) | プロセッサ及び命令実行方法 | |
JPH11175113A (ja) | プログラマブルコントローラ | |
US5745740A (en) | Parallel processing computer system, constituent units for use therein, and clock tuning method for a parallel processing computer system | |
JP3580134B2 (ja) | デジタル信号処理装置 | |
JPH05143447A (ja) | デイジタルプロセツサ及びその制御方法 | |
JPH1185463A (ja) | 演算ネットワーク装置 | |
JP3691339B2 (ja) | 複数系システムおよび通信方法 | |
JPH10171509A (ja) | プロセス制御装置 | |
JPH10340220A (ja) | 記憶装置のデータ初期化制御方式 | |
JPH0563448A (ja) | 波形発生装置 | |
JPH0553961A (ja) | データ転送装置 | |
JPH01207826A (ja) | マイクロ制御システム | |
JPH07175744A (ja) | チャネル制御方式 | |
JP2002117003A (ja) | アクセス要求選択制御方式 | |
JPH05224583A (ja) | プラントシミュレーション装置 | |
JPH11355537A (ja) | 画像分配装置 | |
JPH098860A (ja) | 通信ボード切換方式 | |
JP2001045113A (ja) | 電話装置の動作状態制御装置 | |
JPH11338819A (ja) | Lsi構成方式 | |
JPH10240316A (ja) | プログラマブルコントローラ | |
JP2004362035A (ja) | データ入出力装置とデータ処理装置 |