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
Application number
JP7125355A
Other languages
English (en)
Inventor
Takanori Hisanaga
隆則 久永
Fumiyoshi Kawase
史義 川瀬
Isao Uesawa
功 上澤
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox 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 Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP7125355A priority Critical patent/JPH08320797A/ja
Priority to US08/634,732 priority patent/US5761522A/en
Publication of JPH08320797A publication Critical patent/JPH08320797A/ja
Pending legal-status Critical Current

Links

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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3818Decoding for concurrent execution
    • G06F9/3822Parallel decoding, e.g. parallel decode units
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/321Program or instruction counter, e.g. incrementing
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3851Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
    • G06F9/3869Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking
    • 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)
  • 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へ通知する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、内部の記憶装置に格納
されているプログラムにより一連の処理が制御される被
制御手段を有し、被制御手段でそれぞれ独立に複数の処
理が行なわれるプログラム制御システムに関するもので
ある。
【0002】
【従来の技術】図2は、一般的なプログラム制御システ
ムの基本構成図である。図中、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号公報等に記載されている。
【0005】この構成では、n個の被制御部24−1,
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号公報等に記載されている。
【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に示した方式
と比較して回路規模を小さくすることができる。
【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が動作することができる。
【0009】しかし、この方式によって図5に示すよう
に動作させるには、各処理のプログラムを、図4のプロ
グラムメモリ32に示すような順序の1つのプログラム
に編集する必要がある。また、例えば、図5に示すよう
な1命令ごとの切替えを、図6に示すような2命令ごと
の切替えに変更したい場合のように、複数処理の切替え
パターンを変更したい場合、プログラムの再編集が必要
となる。また、その再編集したプログラムを格納したR
OM等のプログラムメモリを交換したり、あるいはシス
テムにダウンロードするなど、システムへの再インスト
ールが必要である。同様に、デバッグ時など、ある一つ
の処理のみを実行させてその動作を確認したい場合に
も、デバッグ専用のプログラムを編集してインストール
する必要がある。
【0010】
【発明が解決しようとする課題】本発明は、上述した事
情に鑑みてなされたもので、独立した複数の処理をプロ
グラム制御システムにより実行する際に、各処理のプロ
グラムを1つのプログラムへ編集する必要がなく、各処
理の切替えパターンの変更を行ないたい場合にも、プロ
グラムの再編集や再インストールの必要がないシステム
を回路規模を増大させずに実現することを目的とするも
のである。
【0011】
【課題を解決するための手段】本発明は、プログラムに
より一連の処理が制御される被制御手段を有し、該被制
御手段でそれぞれ独立に複数の処理が行なわれるプログ
ラム制御システムにおいて、前記被制御手段で行なわれ
る処理を制御するプログラムが格納される共通の記憶手
段と、前記複数の処理にそれぞれ対応して設けられ前記
記憶手段からプログラムを読み出すアドレスを発生する
複数のプログラムカウンタと、前記複数のプログラムカ
ウンタの出力から1つを選択し前記記憶手段に供給する
選択手段を備えていることを特徴とするものである。
【0012】前記被制御手段においては、それぞれ独立
に複数の処理が行なわれるが、特に請求項2に記載の発
明のように、複数の処理にそれぞれ対応した複数の個別
被制御手段を有する構成とすることができる。このと
き、請求項3に記載の発明のように、前記被制御手段
は、前記複数の処理に共通する部分の処理を行なう共有
化機能手段を有する構成とすることができる。
【0013】また、請求項4に記載の発明のように、前
記被制御手段からの制御信号に基づき前記選択手段を制
御するプログラムカウンタ切り替え制御手段を有する構
成とすることもできる。
【0014】さらに、請求項5に記載の発明のように、
与えられた切り替え規則に従って前記選択手段を制御す
るプログラムカウンタ切り替え制御手段を有する構成と
することもできる。
【0015】
【作用】本発明によれば、独立した複数の処理を実行す
るプログラム制御システムにおいて、それぞれの処理に
対応したプログラムカウンタを設け、これらのプログラ
ムカウンタを選択手段で切り替えて共通のプログラムメ
モリをアクセスするように構成している。そのため、プ
ログラムメモリは1つでよく、例えば、図3に示した従
来のシステムと比較して回路規模を小さくすることがで
きる。また、例えば、図4に示した従来のシステムと比
較しても、プログラムカウンタおよび選択回路の増加だ
けであるので、回路規模はそれほど増加しない。被制御
手段は、請求項2に記載の発明のように、複数の処理に
それぞれ対応した複数の個別被制御手段を有する構成と
することができるが、このとき、請求項3に記載の発明
のように、複数の処理に共通する部分の処理を行なう共
有化機能手段を有する構成とすることによっても、回路
規模の減少を図ることができる。
【0016】また、本発明では、それぞれの処理に対応
したプログラムカウンタを用いるので、プログラムメモ
リに格納されるそれぞれの処理のプログラムは、例え
ば、図4に示したような従来のシステムのように編集す
る必要はなく、個々の処理のプログラムを順番にプログ
ラムメモリ内に配置すればよい。そのため、例えば、請
求項5に記載の発明のように、与えられた切り替え規則
に従って行なう場合に、その切り替え規則を変更して処
理の切り替えパターンを変更する場合でも、プログラム
メモリに格納されているプログラムの再編集および再イ
ンストールは必要なく、切り替え規則に従って選択手段
を制御し、プログラムカウンタを選択するのみで実現す
ることができる。なお、切り替え規則の変更は、システ
ム動作中であっても可能である。また、選択手段による
プログラムカウンタの切り替えのタイミング制御は、例
えば、請求項4に記載の発明のように、被制御手段から
の制御信号に基づいて行なうことができる。
【0017】
【実施例】図1は、本発明のプログラム制御システムの
一実施例を示す構成図である。図中、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は、各処理間に共通して必要な機能について
の処理を行なう。
【0019】セレクタ6は、複数のプログラムカウンタ
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から出力される。
【0021】各デコーダ3−1〜3−nは、プログラム
メモリ2から出力される命令のデコードを行なう。デコ
ードした命令がそのデコーダに対応する被制御部の処理
に対する実行指示であると解釈した場合には、その命令
に対応した制御信号を被制御部に対して出力する。他の
被制御部で行なう処理に対する実行指示であると解釈し
た場合には、何も出力しない。各被制御部4−1〜4−
nは、各デコーダ3−1〜3−nからの制御信号に従っ
てそれぞれの処理を行なう。その際、必要に応じて共有
化機能部5を用いる。処理が終了すると、命令完了信号
をプログラムカウンタ切替え制御部7へ通知する。
【0022】以上のように、このプログラム制御システ
ムでは、プログラムカウンタ1−1〜1−nを切り替え
ることにより、複数の処理が時分割で実行される。
【0023】以下、具体例を用いて上述の動作を説明す
る。ここでは一例として、上述の図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へ通知する。
【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へ通知される。
【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 )が実行される。
【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命令ずつ実行する。このような動作が繰り返し行
なわれることになる。
【0028】このように、プログラムカウンタ切替規則
の設定によって、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」を通知すればよい。これは、デバッグ
時等、一つの処理のみの動作の確認を行ないたい場合に
有効である。
【0030】このように、プログラムカウンタ切替制御
部7に通知するプログラムカウンタ切替規則を変更する
だけで、被制御部の選択および動作比率を変更すること
ができる。このとき、プログラムメモリ2に格納されて
いるプログラムを再編集したり、再インストールする必
要はない。以上のようなプログラムカウンタ切替規則の
変更動作は、例えば、CPU等による指定により実現で
きるため、システム動作中の変更も可能である。例え
ば、外部のユーザインタフェースからの指示や、被制御
部4−1〜4−nの動作状態を監視し、最適な動作割合
を求めてプログラムカウンタ切替規則を生成することも
可能である。
【0031】上述のプログラムカウンタ切替規則では、
各被制御部4−1〜4−nの動作の有無および動作割合
しか指定できないが、これに限らず、種々の指定を可能
にすることができ、例えば各プログラムカウンタ1−1
〜1−nの選択順序などを指定可能に構成することもで
きる。なお、プログラムカウンタ切替規則の書式は、上
述のものに限らない。
【0032】上述の実施例の構成において、プログラム
カウンタ切替規則が予め決まっているようなシステムで
は、CPUインタフェース部8は不要であるし、また、
図5や図6に示したように、ある特定のパターンのみに
従ってプログラムカウンタ1−1〜1−nの切り替えを
行なう場合には、プログラムカウンタ切替制御部7を設
けず、セレクタ6に命令完了信号を直接入力して、切り
替えを行なうように構成してもよい。さらに、共有化機
能部5は必ずしも設ける必要はない。
【0033】上述の説明では、各被制御部4−1〜4−
nは、時分割で動作するものとしたが、例えば並列的に
動作させることも可能である。この場合には、プログラ
ムカウンタ切替制御部7は、各被制御部4−1〜4−n
から出力される命令完了信号を受けると、その命令完了
信号を発した被制御部に対応するプログラムカウンタの
出力を選択するように、セレクタ6に対してプログラム
カウンタ切替指示を行なうことができる。このようにす
ると、処理の速く終了した被制御部から順に次の命令を
供給して処理を続行させることができる。
【0034】上述のプログラム制御システムの応用例と
しては、例えば、通信端末への適用が考えられる。例え
ば、被制御部4−1において行なわれる処理として送信
処理とし、被制御部4−2において行なわれる処理とし
て受信処理とする。アプリケーションデータの送信時お
よび同データの受信時とも、フロー制御などのプロトコ
ル処理のために、送信処理および受信処理の両方の処理
が必要である。しかし、アプリケーションデータの送信
時には送信処理の割合が高く、逆に同データの受信時に
は受信処理の割合が高い。このような場合、上述のプロ
グラム制御システムを用いれば、アプリケーションデー
タの送信時と同データの受信時とでプログラムカウンタ
切替規則を変更し、送信処理と受信処理の動作比率を変
更することによって、効率よく処理を制御することが可
能となる。
【0035】
【発明の効果】以上の説明から明らかなように、本発明
によれば、独立した複数の処理が共有するプログラムメ
モリを設けているので、回路規模の増大を防ぐことがで
きるとともに、各処理に対応したプログラムカウンタを
設け、複数のプログラムカウンタを時分割で切り替えて
処理を実行するので、従来のようにプログラムそのもの
の編集を行なう必要はない。また、処理の切替えパター
ンを変更する際には、プログラムカウンタ切替規則を変
更するだけで対応可能であり、従来のようにプログラム
の再編集や再インストールの必要がない。さらに、プロ
グラムカウンタ切替規則によって各処理を行なうか否
か、および、各処理間の動作比率、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インタフェース
部。

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 プログラムにより一連の処理が制御され
    る被制御手段を有し、該被制御手段でそれぞれ独立に複
    数の処理が行なわれるプログラム制御システムにおい
    て、前記被制御手段で行なわれる処理を制御するプログ
    ラムが格納される共通の記憶手段と、前記複数の処理に
    それぞれ対応して設けられ前記記憶手段からプログラム
    を読み出すアドレスを発生する複数のプログラムカウン
    タと、前記複数のプログラムカウンタの出力から1つを
    選択し前記記憶手段に供給する選択手段を備えているこ
    とを特徴とするプログラム制御システム。
  2. 【請求項2】 前記被制御手段は、前記複数の処理にそ
    れぞれ対応した複数の個別被制御手段を有することを特
    徴とする請求項1に記載のプログラム制御システム。
  3. 【請求項3】 前記被制御手段は、前記複数の処理に共
    通する部分の処理を行なう共有化機能手段を有すること
    を特徴とする請求項2に記載のプログラム制御システ
    ム。
  4. 【請求項4】 前記被制御手段からの制御信号に基づき
    前記選択手段を制御するプログラムカウンタ切り替え制
    御手段を有することを特徴とする請求項1ないし3のい
    ずれか1項に記載のプログラム制御システム。
  5. 【請求項5】 与えられた切り替え規則に従って前記選
    択手段を制御するプログラムカウンタ切り替え制御手段
    を有することを特徴とする請求項1ないし3のいずれか
    1項に記載のプログラム制御システム。
JP7125355A 1995-05-24 1995-05-24 プログラム制御システム Pending JPH08320797A (ja)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011170873A (ja) * 2011-04-05 2011-09-01 Canon Inc ダイレクトメモリアクセスシステム及びその制御方法

Families Citing this family (54)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (1)

* Cited by examiner, † Cited by third party
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) データ入出力装置とデータ処理装置