JPS62145434A - コンカレントル−プを有するマイクロプロセツサ - Google Patents

コンカレントル−プを有するマイクロプロセツサ

Info

Publication number
JPS62145434A
JPS62145434A JP28847385A JP28847385A JPS62145434A JP S62145434 A JPS62145434 A JP S62145434A JP 28847385 A JP28847385 A JP 28847385A JP 28847385 A JP28847385 A JP 28847385A JP S62145434 A JPS62145434 A JP S62145434A
Authority
JP
Japan
Prior art keywords
instruction
storage means
address
data
program
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
JP28847385A
Other languages
English (en)
Inventor
Hiroshi Mizuguchi
博 水口
Kenichi Suehiro
憲一 末廣
Norihide Kinugasa
教英 衣笠
Yutaka Oota
豊 太田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP28847385A priority Critical patent/JPS62145434A/ja
Publication of JPS62145434A publication Critical patent/JPS62145434A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 産業上の利用分野 本発明は新規なマイクロプロセッサの構成に関し、特に
、データ処理効率の高いマイクロプロセッサを提供する
ものである。
従来の技術 近年、ノイマン方式のマイクロプロセッサはあらゆる方
面で多用されており、その構成としては、順次実行され
る命令群からなるプログラムを格納するプログラム格納
手段と、ディジタルデータの読み書きが可能なデータ格
納手段と、ディジタルデータの演算を実行する演算手段
と、前記データ格納手段の入出力端子と前記演算手段の
入出力端子を接続するデータバスと、前記プログラム格
納手段から送出される命令に基づいて前記データ格納手
段と前記演算手段の動作をコントロールするコントロー
ル手段と、命令の実行タイミング信号を発生するタイミ
ングジェネレータと、前記タイミングジェネレータの出
力に基づいて前記プログラム格納手段に格納された特定
の命令を選択する命令選択手段を備えていることに特徴
づけられる。
また、その代表的な構成が特公昭58−33584号公
報(以下、文献lと略記する。)に示されている。
発明が解決しようとする問題点 ところで、前記文献1に示されるようなノイマン方式の
マイクロプロセッサはあらかじめ定められた順序にした
がってデータの処理を実行していくために、プログラム
が膨大になるにつれて非同期で入力される外部データの
取り込みやそれに基づくデータの処理のサイクルが長く
なるという問題を有している。このような問題に対して
、従来は割り込みという手段を用いたり、データフロー
マシンに代表されるような非ノイマン方式のプロセッサ
が用いられてきた。しかしながら、割り込み手段を用い
る方法では、割り込みチャンネル数が増加するほどプロ
セッサ自身が割り込みサービスルーチンを開始するため
の手続き処理に多くの時間を費やすことになり、データ
の処理効率が悪化する。また、データフローマシンでは
、一般に、数値データに処理情報が付加されて巡回する
ためにシステムが大規模化する。
問題点を解決するための手段 前記した問題点を解決するために本発明のマイクロプロ
セッサは、命令の実行タイミング信号を発生するタイミ
ングジェネレータの出力に基づいてプログラム格納手段
に格納された特定の命令を選択する第1の命令選択手段
と、前記第1の命令  、選択手段による命令の選択に
続いて前記タイミングジェネレータの出力に基づいて前
記プログラム格納手段の命令を逐次選択して第1の処理
ループを形成する第1の命令選択手段と、前記第1の命
令選択手段によって選択された命令によって指定された
開始位置から格納された命令を選択して前記第1の処理
ループに対してコンカレントな関係にある第2の処理ル
ープを形成する第2の命令選択手段と、前記第1の処理
ループのプログラムの実行に伴って次々と指定される前
記開始位置を格納するアドレス格納手段と、前記アドレ
ス格納手段の空きエリアが未実行のプログラムの予約で
満たされたときに新たなプログラムの開始位置の格納を
拒否するりジェクションフラグを備えている。
作用 本発明では前記した構成によって、データ処理効率の高
いマイクロプロセッサを得ることができる。
実施例 以下、本発明の実施例について図面を参照しながら説明
する。
第1図Aは本発明の一実施例におけるマイクロプロセッ
サの構成図を示したものであり、順次実行される命令群
からなるプログラムが格納されるプログラマブルロジッ
クアレイ (図中においてPLAなる略記号で示されて
いる。以下、PLAと略記する。)100と、ディジタ
ルデータの読み書きを行うランダムアクセスメモリ(図
中においてRAMなる略記号で示されている。以下、R
AMと略記する。)200およびレジスタファイル25
0と、ディジタルデータの算術および論理演算を実行す
る第1の演算器(一般にはALUなる略記号で示される
。)300および第2の演算器350と、前記RAM2
00および前記レジスタファイル250の共通の入出力
端子と前記演算器300. 350の入出力端子を接続
するデータバス400と、前記PLA100から送出さ
れる命令に基づいて前記RAM200、レジスタファイ
ル250と前記演算器300゜350の動作ヲコントロ
ールするコントロールバス450と、外部クロック入力
端子10に供給されるクロック信号をもとに命令の実行
タイミング信号を発生するタイミングジェネレータ(図
中においてTGなる略記号で示されている。)500と
、前記タイミングジェネレータ500の出力に基づいて
前記PLA100に格納された特定の命令を選択する第
1のプログラマブルカウンタ(図中においてPCIなる
略記号で示されている。)600と、前記第1のプログ
ラマブルカウンタ600による命令の選択に続いて前記
タイミングジェネレータ500の出力に基づいて前記P
LA100の特定の命令を選択する第2のプログラマブ
ルカウンタ(図中においてPO2なる略記号で示されて
いる。)650と、前記第2のプログラマブルカウンタ
650によって選択されて実行されるプログラムの開始
位置が前記第1のプログラマブルカウンタ600によっ
て選択された命令によって格納されるウィンドウ700
を備えている。また、前記タイミングジェネレータ50
0の出力信号がクロック信号として供給される16ビツ
トのカウンタ800と、前記カウンタ800のカウント
値を前記データバス400に送出するためのスイッチ回
路900と、前記カウンタ800の特定のビット出力信
号と前記第1のプログラマブルカウンタ600の特定の
カウント値を示す出力信号(例えば、[000・・、0
0]をデコードする出力信号、)の周波数比較を行って
、プログラムが無限ループに突入したときなどに前記第
1のプログラマブルカウンタ600と前記第2のプログ
ラマブルカウンタ650をリセットする周波数比較器1
000を備えている。さらに、前記タイミングジェネレ
ータ500の出力信号をクロック信号とし、外部信号入
力端子20に印加される信号のエツジが到来したときも
しくはプログラムによってスタートさせられたときに動
作するタイマー1100と、前記タイマー1100の出
力信号によってマスターラッチ部のデータがスレイブラ
ッチ部に転送されるマスタースレイプ形式の出力ボート
1200と、前記データバス400に送出されるデータ
を取り込んでアナログ電圧に変換するD−Aコンバータ
1300と、前記コントロールバス450に送出される
指令にしたがって前記データバス400に特定のデータ
を送出する読みだし専用メモリ(図中においてROMな
る略記号で示されている。以下、ROMと略記する。)
 1400と、前記RAM200および前記レジスタフ
ァイル250のアドレスを選択する(前記RAM200
および前記レジスタファイル250はたがいに異なるア
ドレス上に配置されている。)アドレスデコーダ150
0ならびに前記ROM1400のアドレスを選択するア
ドレスデコーダ1600を備えている。なお、入力コン
トローラ1700は、外部信号入力端子30.40.5
0゜60、70.80に印加される入力信号のエツジが
到来したときに、その時点のカウンタ800のカウント
値をレジスタファイル250の中の特定のレジスタに転
送させる(同時に複数の入力信号のエツジが到来したと
きには、複数のレジスタが選択される。)とともに、図
示されてはいない入力信号受は付はフラグをセットする
機能を有している。
つぎに、第1図Bは、PLAlooと第1のプログラマ
ブルカウンタ600および第2のプログラマブルカウン
タ650ならびにウィンドウ700の接続関係を示した
ブロック構成図で、PLAlooは第1のプログラマブ
ルカウンタ600と第2のプログラマブルカウンタ65
0によって交互にアドレッシングされ、前記PLA10
0からのコントロール信号とアドレス選択信号はローカ
ルバス150を介してウィンドウ700と前記第1のプ
ログラマブルカウンタ600および前記第2のプログラ
マブルカウンタ650に供給される。前記ウィンドウ7
00は第1および第2のアドレス格納エリア710.7
20(以後の説明ではこれらを総称してアドレス格納ブ
ロックという。)と、これらのいずれかを選択するポイ
ンター730と、アドレス格納ブロックに空きエリアが
なくなったときにそれ以上のアドレスの格納を拒否する
リジェクションフラグ740を有しいる。なお、前記ポ
インター730によって選択されたアドレス格納エリア
からのアドレス情報はウィンドウバス750を介して前
記第2のプログラマブルカウンタ650に供給される。
以上のように構成されたマイクロプロセッサについて、
第1図A、Bに示した構成図と、第2図に示した主要部
のタイミングチャートによりその動作を説明する。
まず、第2図Aは第1図Aの外部クロック入力端子10
に供給されるクロック信号波形を示したものであり、第
2図Bはタイミングジェネレータ500を介してカウン
タ800およびタイマー1100.入力コントローラ1
700に供給されるクロック信号波形を示したものであ
り、第2図C,Dはそれぞれタイミングジェネレータ5
00を介して第1.第2のプログラマブルカウンタ60
0. 650に供給されるクロック信号波形を示したも
のである。また、第2図EはPLAlooからコントロ
ールバス450に送出される命令の実行サイクルを表し
ている。さらには、第2図Fはデータバス400に送出
されるデータの切り換えサイクルを表している。
つまり、第1のプログラマブルカウンタ600によって
PLAlooの特定の命令が選択されて、第2図EのM
記号を付したタイミングにおいてコントロールバス45
0にその命令が送出された後に、第2のプログラマブル
カウンタ650によって選択された命令が、第2図Eの
S記号を付したタイミングにおいてコントロールバス4
50に送出されることになる。第2図Fに示されたデー
タバス400の切り換え期間が第2図Eに示されたコン
トロールバス450のそれに比べて半分になっているの
は、第2図Bの信号波形がアクティブレベルにある期間
を入力コントローラ1700によるカウンタ800のカ
ウント値のレジスタファイル250への転送に割り当て
ているためである。なお、第1.第2のプログラマブル
カウンタはそれぞれ第2図C,Dの矢印を付したエツジ
においてカウント値を更新させられるが、第2図Eにお
いて、実際に命令がコントロールバス450に送出され
るタイミングが半周期遅らされているのは、PLAlo
oでの遅延マージンを考慮したためである。
さて、第2図のタイミングチャートは従来からも実施さ
れている2系統のコンカレントな処理ループ、つまり、
厳密な意味での並列処理ではないが、データバスを共用
するために時分割による異なるプログラムの同時処理を
示しているが、本発明の特徴は、第2のプログラマブル
カウンタ650によって選択されて実行されるプログラ
ムの開始位置、すなわち開始アドレスが第1のプログラ
マブルカウンタ600によって選択された命令によって
決定され、その開始アドレスが格納されるアドレス格納
ブロックと、アドレス格納ブロックへの新たな予約アド
レスの格納を許可するかあるいは拒否するかを決定する
りジェクションフラグ740を設けた点にある。
本発明によるマイクロプロセッサにおけるデータ処理の
概念を第3図に示したデータ処理フローに基づいて説明
する。
第3図は、第1のプログラマブルカウンタ600によっ
て選択されて実行される命令群と第2のプログラマブル
カウンタ650によって選択されて実行される命令群の
連鎖関係を図式化したものであり、ml、m2.m3.
m4.m5.m6はそれぞれ第1のプログラマブルカウ
ンタ600によって実行される命令群であり、s2.s
4.s5.s6はそれぞれ第2のプログラマブルカウン
タ650によって実行される命令群である。
さて、第1のプログラマブルカウンタ600によるプロ
グラムの実行が第3図のa点からスタートしたとすると
、まず、命令群mlが実行され、処理は命令群m2に移
行するが、命令群m2において、あたかも従来のサブル
ーチンコールのような形で第2のプログラマブルカウン
タ650によって命令群S2が起動される。ただ、従来
のサブルーチンコールと異なるのは、第1のプログラマ
ブルカウンタ600は命令群m2において命令群S2を
起動させた後に命令群S2における処理の完了を待たず
に残りの命令を実行し、続く命令群m3での処理に移行
する点である。同様にして、命令群m4.m5.m6に
おいて命令群s4.s5.s6が呼び出されるが、これ
らの命令群における処理を待つことなく第1のプログラ
マブルカウンタ600による命令の実行は一巡してa点
に戻る。
これによって、比較的多くの処理時間を必要とする処理
を命令群32〜S6からなる外側のループに配置してお
けば、命令群m1〜m6からなる内側のループにおける
処理は短い時間で一巡する。
したがって、外部信号のエツジが到来したか否かのセン
ス処理などの即断性を要する処理を内側のループで行え
ば、短い巡回サイクルで判断処理が次々と実行できるこ
とになる。
ただ、このようなデータ処理フローでは必然的に外側の
ループの処理に多くの時間を要することになるので、外
側のループでのデータ処理速度が内側でのそれに比べて
十分に高くないと、全体としてのデ」ダの処理効率は低
下する0例えば、外側のループでのデータ処理速度が内
側でのそれと同等であれば、命令群S2を実行している
間に内側のループでの処理が何回も繰り返されることに
なるが、内側のループにおいて命令群m6の実行が完了
した直後に命令群S2の実行が完了したとすると、命令
群m1の実行が行われている間は外側での処理は休止状
態となって処理効率が低下するだけでなく、命令群m2
において再び命令群S2が起動された場合には、命令群
s4.s5.s6を一度も実行することなく命令群S2
を続けて2回実行してしまうことになる。
第1図に示した本発明のマイクロプロセッサでは第2の
プログラマブルカウンタ650によって次に実行される
プログラムの開始位置をアドレス格納ブロックに格納し
ておくとともに、その空きエリアがなくなったときには
以後の新たなアドレスの格納を拒否するりジェクション
フラグ740を用意することによって前記した問題を解
決している。
すなわち、PLAlooにおいて無条件ジャンプ命令や
条件ブランチ命令が選択されたときには、ローカルバス
150を介して第1.第2のプログラマブルカウンタ6
00. 650に直接アドレス選択信号が送出されるが
、第3図の内側の処理ループを実行する第1のプログラ
マブルカウンタ600によって外側の処理ループの命令
群が起動されたとき、ローカルバス150を介してPL
Alooから送出されるアドレス選択信号はウィンドウ
700に導かれ、第2のプログラマブルカウンタ650
が動作中でなければ、そのままウィンドウ700を通過
して第2のプログラマブルカウンタ650のプリセント
データとなるが、第2のプログラマブルカウンタ650
が動作中の場合には、ポインター730の指す側のアド
レス格納エリアにアドレス情報を格納したうえでポイン
ター730の出力を反転させる。なお、このとき、ポイ
ンター730の指した側のアドレス格納エリアに既にア
ドレス情報が格納されている場合にはりジェクシッンフ
ラグ740がセットされて以後のアドレス選択信号の受
付が拒否される。
一方、第3図の外側のループを構成する各命令群の最後
には終了命令が置かれるが、PLAlooからこの終了
命令が送出されると、第2のプログラマブルカウンタ6
50には第1.第2のアドレス格納エリア710. 7
20のうち古い方のアドレス情報(ポインター730と
りジェクションフラグ740の出力状態から判別できる
。)が転送され、そのデータが[00・・・000]で
なければプリセントされたうえで、転送したアドレス情
報を格納していたアドレス格納エリアがクリアされ、さ
らに、リジェクションフラグ740はリセフトされる。
このようにして、第3図の外側の処理ループにおける各
命令群の実行に多くの時間を要したとしても、第2のプ
ログラマブルカウンタ650は内側の処理ループから起
動された順序にした゛がって各命令群を次々と実行して
いくことができる。なお、第1図Bに示した例ではウィ
ンドウ700がアドレス格納エリアを2ケ所しか有して
いないので、現在実行中の命令群も含めて3種類の命令
群のバッファリング能力しかないが、多くの場合、外側
の処理ループに配置される命令群は、一度処理が終われ
ば続いて起動されることは少なく (第3図のデータ処
理フローそのものが、リアルタイム性を要求される命令
群を内側の処理ループに配置することを示している。)
、あまり支障はない。また、バッファリング能力を高め
るために、ウィンドウ700のアドレス格納ブロックの
エリアを増加させたり、第3図の外側の処理ループと同
様の第3゜第4の処理ループを増設することも可能であ
る。
ところで、第1図Aに示した構成図において、演算器3
00と演算器350の2個の演算器が用意されているが
、前記演算器300は、第3図の内側の処理ループにお
いて主としてデータの加算および減算を行い、前記演算
器350は外側の処理ループにおいて乗算を主体にした
演算を行う。内外の処理ループのためにそれぞれほぼ専
用の演算器を用意しているのは、加算器を用いた乗算な
どを実行するときに外側の処理ループで頻繁に加算器を
使用した場合にデータのシフト操作やキャリーの処理が
複雑となり、それに伴ってハードウェアの負担が重(な
るのを回避するためである。
なお、上記実施例においては前記プログラム格納手段と
して唯一のPLAlooを用い、前記第1゜第2の命令
選択手段としてそれぞれ第1.第2のプログラマブルカ
ウンタ600. 650を用いているが、前記第1の命
令選択手段によって命令が選択される第1のプログラム
格納手段と、前記第2の命令選択手段によって命令が選
択される第2のプログラム格納手段を用いてもよく、さ
らに、命令選択手段は第1のプログラマブルカウンタ6
00による方法だけでなくアドレスラッチと加算器の組
み合わせなどによっても構成できる。
発明の効果 本発明のマイクロプロセッサは以上の説明からも明らか
なように、データの処理効率の高いマイクロプロセッサ
を得ることができ、大なる効果を奏する。
【図面の簡単な説明】
第1図A、Bは本発明の一実施例におけるマイクロプロ
セッサの構成図、第2図は第1図の主要算器、350・
・・・・・演算器、400・・・・・・データバス、4
50・・・・・・コントロールバス、500・・・・・
・タイミングジェネレータ、600・・・・・・第1の
プログラマブルカウンタ、650・・・・・・第2のプ
ログラマブルカウンタ、710・・・・・・アドレス格
納エリア、720・・・・・・アドレス格納エリア、7
40・・・・・・リジェクシッンフラグ。 代理人の氏名 弁理士 中尾敏男 ばか1名第 1 図
     720−一一アドレス格何エリアB 第2図 第3図

Claims (1)

    【特許請求の範囲】
  1. (1)順次実行される命令群からなるプログラムを格納
    するプログラム格納手段と、ディジタルデータの読み書
    きが可能なデータ格納手段と、ディジタルデータの演算
    を実行する演算手段と、前記データ格納手段の入出力端
    子と前記演算手段の入出力端子を接続するデータバスと
    、前記プログラム格納手段から送出される命令に基づい
    て前記データ格納手段と前記演算手段の動作をコントロ
    ールするコントロール手段と、命令の実行タイミング信
    号を発生するタイミングジェネレータと、前記タイミン
    グジェネレータの出力に基づいて前記プログラム格納手
    段に格納された命令を逐次選択して第1の処理ループを
    形成する第1の命令選択手段と、前記第1の命令選択手
    段によって選択された命令によって指定された開始位置
    から格納された命令を選択して前記第1の処理ループに
    対してコンカレントな関係にある第2の処理ループを形
    成する第2の命令選択手段と、前記第1の処理ループの
    プログラムの実行に伴って次々と指定される前記開始位
    置を格納するアドレス格納手段と、前記アドレス格納手
    段の空きエリアが未実行のプログラムの予約で満たされ
    たときに新たなプログラムの開始位置の格納を拒否する
    リジェクションフラグを備えてなるコンカレントループ
    を有するマイクロプロセッサ。
JP28847385A 1985-12-20 1985-12-20 コンカレントル−プを有するマイクロプロセツサ Pending JPS62145434A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP28847385A JPS62145434A (ja) 1985-12-20 1985-12-20 コンカレントル−プを有するマイクロプロセツサ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP28847385A JPS62145434A (ja) 1985-12-20 1985-12-20 コンカレントル−プを有するマイクロプロセツサ

Publications (1)

Publication Number Publication Date
JPS62145434A true JPS62145434A (ja) 1987-06-29

Family

ID=17730659

Family Applications (1)

Application Number Title Priority Date Filing Date
JP28847385A Pending JPS62145434A (ja) 1985-12-20 1985-12-20 コンカレントル−プを有するマイクロプロセツサ

Country Status (1)

Country Link
JP (1) JPS62145434A (ja)

Similar Documents

Publication Publication Date Title
US4197579A (en) Multi-processor for simultaneously executing a plurality of programs in a time-interlaced manner
EP0045634B1 (en) Programmable digital data processing apparatus arranged for the execution of instructions in overlap
CA1145478A (en) High speed synchronous computer
JPS59133650A (ja) マイクロコンピユ−タおよびマイクロコンピユ−タのネツトワ−クならびにこれらを動作させる方法
US4443848A (en) Two-level priority circuit
US4837688A (en) Multi-channel shared resource processor
EP0355961A2 (en) Microprogrammed timer processor
JPS62145435A (ja) コンカレント処理命令を有するマイクロプロセツサ
JPS62145434A (ja) コンカレントル−プを有するマイクロプロセツサ
JPS62164138A (ja) コンカレントル−プを有するマイクロプロセツサ
JP2503984B2 (ja) 情報処理装置
JP2659603B2 (ja) 演算処理方法および演算処理装置
JPS6269351A (ja) マイクロプロセツサ
JPH0199132A (ja) マルチタスク実行装置
JPS6269352A (ja) マイクロプロセツサ
JPH0584545B2 (ja)
EP0359823A1 (en) Method and apparatus for controlling the execution of microprogram
JP2503983B2 (ja) 情報処理装置
JPH02254544A (ja) マルチタスク型シーケンスプロセッサおよびその起動方法
JPS61182135A (ja) 処理選択方法
JPH0462093B2 (ja)
JPS62296236A (ja) マイクロプロセツサの割り込み処理装置
JPS62271022A (ja) マイクロプログラム制御装置
JPS62500821A (ja) 同時プロセスを作動させる方法及びマイクロコンピュータ
JPS61226839A (ja) イベント処理方式