JPH05108341A - マイクロプロセツサ - Google Patents
マイクロプロセツサInfo
- Publication number
- JPH05108341A JPH05108341A JP3267790A JP26779091A JPH05108341A JP H05108341 A JPH05108341 A JP H05108341A JP 3267790 A JP3267790 A JP 3267790A JP 26779091 A JP26779091 A JP 26779091A JP H05108341 A JPH05108341 A JP H05108341A
- Authority
- JP
- Japan
- Prior art keywords
- control
- register
- address
- micro
- memory
- 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
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/22—Microcontrol or microprogram arrangements
- G06F9/226—Microinstruction function, e.g. input/output microinstruction; diagnostic microinstruction; microinstruction format
-
- 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/22—Microcontrol or microprogram arrangements
-
- 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/22—Microcontrol or microprogram arrangements
- G06F9/28—Enhancement of operational speed, e.g. by using several microcontrol devices operating in parallel
-
- 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
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)
Abstract
(57)【要約】
【目的】 大規模プログラムの実行機能と実時間応答性
の高いプログラムの実行機能を併せ持つマイクロプロセ
ッサを小型化して提供する。 【構成】 単一のマイクロ命令メモリ7に対して、マク
ロ命令に関連するマイクロプログラムの実行とマイクロ
命令だけで閉じて実行するマイクロプログラムを時分割
で使用するプログラマブル制御回路2,3,5,6を備
える。 【効果】 単一のプロセッサで複数の異質のプログラム
を同時に実行できるため、応用システムに要求される複
雑な機能を小型化して実現することが出来る。
の高いプログラムの実行機能を併せ持つマイクロプロセ
ッサを小型化して提供する。 【構成】 単一のマイクロ命令メモリ7に対して、マク
ロ命令に関連するマイクロプログラムの実行とマイクロ
命令だけで閉じて実行するマイクロプログラムを時分割
で使用するプログラマブル制御回路2,3,5,6を備
える。 【効果】 単一のプロセッサで複数の異質のプログラム
を同時に実行できるため、応用システムに要求される複
雑な機能を小型化して実現することが出来る。
Description
【0001】
【産業上の利用分野】本発明は、マイクロプロセッサに
関し、さらに詳しくは、複雑な大規模プログラム処理と
実時間処理向きの高速プログラム処理とを両方とも可能
にしたマイクロプロセッサに関する。
関し、さらに詳しくは、複雑な大規模プログラム処理と
実時間処理向きの高速プログラム処理とを両方とも可能
にしたマイクロプロセッサに関する。
【0002】
【従来の技術】例えば特開昭56−108149号に、
マイクロプログラム方式のプロセッサが開示されてい
る。このプロセッサでは、多数の異なるマクロ命令に共
通なマイクロ命令ルーチンをナノ命令メモリに格納して
おき、それを共用する制御構造になっている。
マイクロプログラム方式のプロセッサが開示されてい
る。このプロセッサでは、多数の異なるマクロ命令に共
通なマイクロ命令ルーチンをナノ命令メモリに格納して
おき、それを共用する制御構造になっている。
【0003】一方、例えば特願昭63−244156号
に、複数の独立したプログラムを実行可能なマイクロコ
ンピュータが開示されている。このマイクロコンピュー
タは、メインプロセッサとサブプロセッサとを有してい
る。メインプロセッサは、通常のプロセッサである。例
えば上記特開昭56−108149号に開示のプロセッ
サがそれに相当する。サブプロセッサは、複数の独立プ
ログラムを高速に実行することができる実時間処理向き
のプロセッサである。
に、複数の独立したプログラムを実行可能なマイクロコ
ンピュータが開示されている。このマイクロコンピュー
タは、メインプロセッサとサブプロセッサとを有してい
る。メインプロセッサは、通常のプロセッサである。例
えば上記特開昭56−108149号に開示のプロセッ
サがそれに相当する。サブプロセッサは、複数の独立プ
ログラムを高速に実行することができる実時間処理向き
のプロセッサである。
【0004】
【発明が解決しようとする課題】上記特開昭56−10
8149号に開示のプロセッサでは、複数の独立したプ
ログラムを実行させる場合には、それら独立したプログ
ラムをサブプログラムとして作成し、それらサブプログ
ラムをメインプログラムで繋ぎ合わせる、などのプログ
ラム上の工夫が必要である。しかし、これでは、一つの
サブプログラムが終了した後に別のサブプログラムが実
行されるといった具合に動作するため、高速な実時間処
理、すなわち、入力信号に即座に応答するような処理を
実現することが難しい問題点がある。
8149号に開示のプロセッサでは、複数の独立したプ
ログラムを実行させる場合には、それら独立したプログ
ラムをサブプログラムとして作成し、それらサブプログ
ラムをメインプログラムで繋ぎ合わせる、などのプログ
ラム上の工夫が必要である。しかし、これでは、一つの
サブプログラムが終了した後に別のサブプログラムが実
行されるといった具合に動作するため、高速な実時間処
理、すなわち、入力信号に即座に応答するような処理を
実現することが難しい問題点がある。
【0005】一方、上記特願昭63−244156号に
開示のマイクロコンピュータでは、通常のプログラム処
理と高速な実時間処理とを両方とも実現できる。しか
し、2つのプロセッサで構成されるために、回路規模が
大きくなる問題点がある。
開示のマイクロコンピュータでは、通常のプログラム処
理と高速な実時間処理とを両方とも実現できる。しか
し、2つのプロセッサで構成されるために、回路規模が
大きくなる問題点がある。
【0006】そこで、本発明の目的は、通常のプログラ
ム処理すなわち大規模プログラム処理と,実時間処理向
きの高速プログラム処理とを両方とも実現でき、しか
も、小さな回路規模で構成できるマイクロプロセッサを
提供することにある。
ム処理すなわち大規模プログラム処理と,実時間処理向
きの高速プログラム処理とを両方とも実現でき、しか
も、小さな回路規模で構成できるマイクロプロセッサを
提供することにある。
【0007】
【課題を解決するための手段】本発明は、マイクロアド
レスを保持する複数のマイクロアドレスレジスタと、マ
クロ命令を保持するマクロ命令レジスタと、マイクロ命
令を記憶するマイクロ命令メモリと、前記マイクロアド
レスレジスタのいずれか又は前記マクロ命令レジスタを
選択してその保持値を前記マイクロ命令メモリにアドレ
スとして与えるマルチプレクサと、前記マイクロ命令メ
モリから読み出されたマイクロ命令に基づく制御を行う
と共に次マクロ命令アドレスまたは次マイクロアドレス
を生成するマイクロ命令制御実行手段と、前記次マクロ
命令アドレスにより次マクロ命令をマクロ命令メモリよ
り読み出して前記マクロ命令レジスタに保持させるマク
ロ命令読み出し制御手段と、前記マイクロアドレスレジ
スタのいずれかを選択してそのマイクロアドレスレジス
タに前記生成された次マイクロアドレスを保持させるセ
レクタと、前記マルチプレクサおよび前記セレクタにお
ける選択の制御を行う選択制御手段とを具備したことを
特徴とするマイクロプロセッサを提供する。
レスを保持する複数のマイクロアドレスレジスタと、マ
クロ命令を保持するマクロ命令レジスタと、マイクロ命
令を記憶するマイクロ命令メモリと、前記マイクロアド
レスレジスタのいずれか又は前記マクロ命令レジスタを
選択してその保持値を前記マイクロ命令メモリにアドレ
スとして与えるマルチプレクサと、前記マイクロ命令メ
モリから読み出されたマイクロ命令に基づく制御を行う
と共に次マクロ命令アドレスまたは次マイクロアドレス
を生成するマイクロ命令制御実行手段と、前記次マクロ
命令アドレスにより次マクロ命令をマクロ命令メモリよ
り読み出して前記マクロ命令レジスタに保持させるマク
ロ命令読み出し制御手段と、前記マイクロアドレスレジ
スタのいずれかを選択してそのマイクロアドレスレジス
タに前記生成された次マイクロアドレスを保持させるセ
レクタと、前記マルチプレクサおよび前記セレクタにお
ける選択の制御を行う選択制御手段とを具備したことを
特徴とするマイクロプロセッサを提供する。
【0008】
【作用】本発明のマイクロプロセッサでは、複数のマイ
クロアドレスレジスタのうちの一つをマクロプログラム
の処理用に割り当て、残りのマイクロアドレスレジスタ
をマクロプログラムと独立に実行されるマイクロプログ
ラムの処理用に割り当てる。そして、マルチプレクサお
よびセレクタにより各アドレスレジスタが関与する処理
を時分割制御で交互に実行させることで、マクロプログ
ラムとマイクロプログラムを実質的に同時に実行する。
従って、大規模プログラム処理と,実時間処理向きの高
速プログラム処理とを両方とも実現でき、しかも、プロ
セッサは1つであるから小さな回路規模で構成できる。
また、選択制御手段における選択の制御をプログラム可
能にすることで、応用システムに最適の処理シーケンス
を実現できる。
クロアドレスレジスタのうちの一つをマクロプログラム
の処理用に割り当て、残りのマイクロアドレスレジスタ
をマクロプログラムと独立に実行されるマイクロプログ
ラムの処理用に割り当てる。そして、マルチプレクサお
よびセレクタにより各アドレスレジスタが関与する処理
を時分割制御で交互に実行させることで、マクロプログ
ラムとマイクロプログラムを実質的に同時に実行する。
従って、大規模プログラム処理と,実時間処理向きの高
速プログラム処理とを両方とも実現でき、しかも、プロ
セッサは1つであるから小さな回路規模で構成できる。
また、選択制御手段における選択の制御をプログラム可
能にすることで、応用システムに最適の処理シーケンス
を実現できる。
【0009】
【実施例】以下、本発明の実施例を図を用いて詳細に説
明する。なお、これにより本発明が限定されるものでは
ない。
明する。なお、これにより本発明が限定されるものでは
ない。
【0010】図1に、本発明の一実施例のマイクロプロ
セッサ1の構成を示す。マイクロプロセッサ1は、4個
のマイクロアドレスレジスタ(μARa〜μARd)2-1,2
-2,2-3,2-4を有している。マイクロアドレスレジス
タ2-1,2-2,2-3,2-4は、各々10ビットで構成さ
れ、初期値設定回路45によりマイクロ命令メモリ7の
初期アドレスを設定される。
セッサ1の構成を示す。マイクロプロセッサ1は、4個
のマイクロアドレスレジスタ(μARa〜μARd)2-1,2
-2,2-3,2-4を有している。マイクロアドレスレジス
タ2-1,2-2,2-3,2-4は、各々10ビットで構成さ
れ、初期値設定回路45によりマイクロ命令メモリ7の
初期アドレスを設定される。
【0011】マイクロアドレスレジスタ2-1,2-2,2
-3,2-4の入力は、セレクタ3にそれぞれ接続される。
マイクロアドレスレジスタ2-1の出力は、第1のマルチ
プレクサ4の一つの入力に接続される。また、マイクロ
アドレスレジスタ2-2,2-3,2-4の出力は、第2のマ
ルチプレクサ5にそれぞれ接続される。
-3,2-4の入力は、セレクタ3にそれぞれ接続される。
マイクロアドレスレジスタ2-1の出力は、第1のマルチ
プレクサ4の一つの入力に接続される。また、マイクロ
アドレスレジスタ2-2,2-3,2-4の出力は、第2のマ
ルチプレクサ5にそれぞれ接続される。
【0012】第1のマルチプレクサ4の別の入力は、マ
クロ命令レジスタ(IR)17に接続される。また、そ
の出力は、第2のマルチプレクサ5の一つの入力に接続
される。マルチプレクサ5の出力は、マイクロ命令メモ
リ7のアドレス情報になる。時分割制御回路6は、セレ
クタ3とマルチプレクサ5における選択を制御する。
クロ命令レジスタ(IR)17に接続される。また、そ
の出力は、第2のマルチプレクサ5の一つの入力に接続
される。マルチプレクサ5の出力は、マイクロ命令メモ
リ7のアドレス情報になる。時分割制御回路6は、セレ
クタ3とマルチプレクサ5における選択を制御する。
【0013】マイクロ命令メモリ7のデータは、 (1)アドレスフィールド (2)入出力フィールド (3)演算フィールド (4)レジスタフィールド (5)インタフェースフィールド の5つのフィールドで構成される。マイクロ命令メモリ
7の一部には、マクロ命令実行用の1セットのマイクロ
プログラム群が格納されている。
7の一部には、マクロ命令実行用の1セットのマイクロ
プログラム群が格納されている。
【0014】マイクロ命令メモリ7から読みだされた上
記各フィールドのデータは、マイクロデータレジスタ8
に取り込まれる。
記各フィールドのデータは、マイクロデータレジスタ8
に取り込まれる。
【0015】マイクロデータレジスタ8の上記各フィー
ルドに対応する出力は、インタフェース制御回路9,レ
ジスタ制御回路10,演算制御回路11,マイクロアド
レス制御回路12,入出力制御回路40にそれぞれ伝達
される。これらインタフェース制御回路9,レジスタ制
御回路10,演算制御回路11,マイクロアドレス制御
回路12,入出力制御回路40は、プロセッサ1の制御
信号をそれぞれ生成する。
ルドに対応する出力は、インタフェース制御回路9,レ
ジスタ制御回路10,演算制御回路11,マイクロアド
レス制御回路12,入出力制御回路40にそれぞれ伝達
される。これらインタフェース制御回路9,レジスタ制
御回路10,演算制御回路11,マイクロアドレス制御
回路12,入出力制御回路40は、プロセッサ1の制御
信号をそれぞれ生成する。
【0016】インタフェース制御回路9は、マルチプレ
クサ4に接続され、マイクロアドレスレジスタ2-1とマ
クロ命令レジスタ17の何れかを選択する信号を伝達す
る。また、インタフェース制御回路9は、インタフェー
ス回路32に接続される。インタフェース回路32は、
実行部データバス18と周辺バス16の間のデータのや
り取りを行なう。
クサ4に接続され、マイクロアドレスレジスタ2-1とマ
クロ命令レジスタ17の何れかを選択する信号を伝達す
る。また、インタフェース制御回路9は、インタフェー
ス回路32に接続される。インタフェース回路32は、
実行部データバス18と周辺バス16の間のデータのや
り取りを行なう。
【0017】レジスタ制御回路10は、レジスタファイ
ル13に接続される。レジスタファイル13は、複数の
レジスタ群からなり、データバス18を介してデータを
入出力する。
ル13に接続される。レジスタファイル13は、複数の
レジスタ群からなり、データバス18を介してデータを
入出力する。
【0018】演算制御回路11は、演算回路14に接続
される。演算回路14は、実行部データバス18を介し
てインタフェース回路32およびレジスタファイル13
からのデータを受け取り、演算処理を施し、その結果を
実行部データバス18を介してインタフェース回路32
およびレジスタファイル13に転送する。また、演算回
路14は、マイクロアドレス制御回路12にも接続され
る。
される。演算回路14は、実行部データバス18を介し
てインタフェース回路32およびレジスタファイル13
からのデータを受け取り、演算処理を施し、その結果を
実行部データバス18を介してインタフェース回路32
およびレジスタファイル13に転送する。また、演算回
路14は、マイクロアドレス制御回路12にも接続され
る。
【0019】入出力制御回路40は、入出力回路15に
接続される。入出力回路15は、実行部データバス18
に接続される。また、入出力線41を介してマイクロプ
ロセッサ外部とのデータ通信を行なう。
接続される。入出力回路15は、実行部データバス18
に接続される。また、入出力線41を介してマイクロプ
ロセッサ外部とのデータ通信を行なう。
【0020】周辺バス16には、マクロプログラム格納
用EPROM19,データ格納用RAM20,入出力回
路21が接続される。入出力回路21は、入出力線42
を介してマイクロプロセッサ外部とのデータ通信を行な
う。
用EPROM19,データ格納用RAM20,入出力回
路21が接続される。入出力回路21は、入出力線42
を介してマイクロプロセッサ外部とのデータ通信を行な
う。
【0021】マイクロアドレス制御回路12は、マイク
ロ命令メモリ7に格納されたマイクロプログラムの実行
順を制御するためのものであり、実行中のワードに記述
されたアドレスフィールドと演算回路14による演算の
結果に基づき、実行中のマイクロ命令の次に実行すべき
マイクロ命令メモリのアドレスすなわち次アドレスを生
成する。
ロ命令メモリ7に格納されたマイクロプログラムの実行
順を制御するためのものであり、実行中のワードに記述
されたアドレスフィールドと演算回路14による演算の
結果に基づき、実行中のマイクロ命令の次に実行すべき
マイクロ命令メモリのアドレスすなわち次アドレスを生
成する。
【0022】図2に、時分割制御回路6とマイクロアド
レス制御回路12にかかる要部構成を示す。時分割制御
回路6は、クロック線44が接続された6ビットループ
カウンタ22と、その6ビットループカウンタ22で制
御される制御メモリ23と、遅延回路24とで構成され
る。制御メモリ23は、2ビット出力の64ワードのメ
モリであり、6ビットループカウンタ22のカウント値
をアドレスとしてデータを出力する。そのデータは、第
2のマルチプレクサ5に入力され、図1に示したマルチ
プレクサ入力線43のうちの一つを選択してマイクロ命
令メモリ7のアドレスとする。また、前記データは、遅
延回路24を介してセレクタ3に入力され、前記選択し
たマルチプレクサ入力線43のうちの一つに対応するマ
イクロアドレスレジスタを1クロック遅れて再び選択す
る。この結果、第2のマルチプレクサ5で選択したのと
同じアドレスレジスタに、実行結果で発生する次アドレ
スが格納される。
レス制御回路12にかかる要部構成を示す。時分割制御
回路6は、クロック線44が接続された6ビットループ
カウンタ22と、その6ビットループカウンタ22で制
御される制御メモリ23と、遅延回路24とで構成され
る。制御メモリ23は、2ビット出力の64ワードのメ
モリであり、6ビットループカウンタ22のカウント値
をアドレスとしてデータを出力する。そのデータは、第
2のマルチプレクサ5に入力され、図1に示したマルチ
プレクサ入力線43のうちの一つを選択してマイクロ命
令メモリ7のアドレスとする。また、前記データは、遅
延回路24を介してセレクタ3に入力され、前記選択し
たマルチプレクサ入力線43のうちの一つに対応するマ
イクロアドレスレジスタを1クロック遅れて再び選択す
る。この結果、第2のマルチプレクサ5で選択したのと
同じアドレスレジスタに、実行結果で発生する次アドレ
スが格納される。
【0023】マイクロアドレス制御回路12は、分岐制
御回路25と、次アドレス生成回路26とで構成され
る。分岐制御回路25は、マイクロ命令メモリ7に格納
された分岐条件の情報(信号線30)と,演算回路14
の実行結果として発生するキャリーやゼロなどの状態信
号(状態信号出力線31の信号)とから分岐条件が成立
するか否かを判別する回路である。条件が成立した場合
には次アドレス読みだし線27の最下位ビット信号を反
転して次アドレスとし、条件が成立しない場合には次ア
ドレス読みだし線27の最下位ビット信号を反転せずに
そのまま次アドレスとすることにより、マイクロプログ
ラムの条件付き分岐を可能にする。次アドレス生成回路
26の出力は、次アドレス信号線28によりセレクタ3
に伝達される。
御回路25と、次アドレス生成回路26とで構成され
る。分岐制御回路25は、マイクロ命令メモリ7に格納
された分岐条件の情報(信号線30)と,演算回路14
の実行結果として発生するキャリーやゼロなどの状態信
号(状態信号出力線31の信号)とから分岐条件が成立
するか否かを判別する回路である。条件が成立した場合
には次アドレス読みだし線27の最下位ビット信号を反
転して次アドレスとし、条件が成立しない場合には次ア
ドレス読みだし線27の最下位ビット信号を反転せずに
そのまま次アドレスとすることにより、マイクロプログ
ラムの条件付き分岐を可能にする。次アドレス生成回路
26の出力は、次アドレス信号線28によりセレクタ3
に伝達される。
【0024】マイクロ命令メモリ7と制御メモリ23と
しては、RAM(ランダムアクセスメモリ),ROM
(リードオンリメモリ),PROM(プログラマブルリ
ードオンリメモリ)など種々のメモリを使用することが
出来る。RAMを用いた場合には、電源投入後にプログ
ラムを初期設定する回路が必要になるが、動的な変更が
可能になる。ROMを用いた場合には、ユーザサイドで
の変更はできないが、回路面積を小規模にできる。PR
OMを用いた場合には、電源投入後のプログラムの初期
設定が不要であり、また、ユーザサイドでプログラムす
ることも可能になる。
しては、RAM(ランダムアクセスメモリ),ROM
(リードオンリメモリ),PROM(プログラマブルリ
ードオンリメモリ)など種々のメモリを使用することが
出来る。RAMを用いた場合には、電源投入後にプログ
ラムを初期設定する回路が必要になるが、動的な変更が
可能になる。ROMを用いた場合には、ユーザサイドで
の変更はできないが、回路面積を小規模にできる。PR
OMを用いた場合には、電源投入後のプログラムの初期
設定が不要であり、また、ユーザサイドでプログラムす
ることも可能になる。
【0025】図3に、インタフェース回路32と,それ
に接続された実行部データバス18(リードバス18
r,ライトバス18w)と,周辺バス16(アドレスバ
ス16a,データバス16d)とにかかる要部構成を示
す。インタフェース回路32は、次の回路で構成され
る。 メモリデータバッファ(MDB)37:データバス16
dに接続された双方向バッファであり、リードデータレ
ジスタ33,ライトデータレジスタ34,プログラムカ
ウンタ35に接続される。 メモリアドレスバッファ(MAB)38:アドレスバス
16aに接続された出力バッファであり、プログラムカ
ウンタ35,スタックポインタ36,メモリアドレスレ
ジスタ39の内容をアドレスバス16aに伝え、EPR
OM19,RAM20,入出力回路21に含まれるレジ
スタのアドレスとする。
に接続された実行部データバス18(リードバス18
r,ライトバス18w)と,周辺バス16(アドレスバ
ス16a,データバス16d)とにかかる要部構成を示
す。インタフェース回路32は、次の回路で構成され
る。 メモリデータバッファ(MDB)37:データバス16
dに接続された双方向バッファであり、リードデータレ
ジスタ33,ライトデータレジスタ34,プログラムカ
ウンタ35に接続される。 メモリアドレスバッファ(MAB)38:アドレスバス
16aに接続された出力バッファであり、プログラムカ
ウンタ35,スタックポインタ36,メモリアドレスレ
ジスタ39の内容をアドレスバス16aに伝え、EPR
OM19,RAM20,入出力回路21に含まれるレジ
スタのアドレスとする。
【0026】リードデータレジスタ(RDR)33:メ
モリデータバッファ37を介してデータバス16dの内
容を取り込み、その内容をリードバス18rに伝達す
る。 ライトデータレジスタ(WDR)34:ライトバス18
wの内容を取り込み、その内容をメモリデータバッファ
37を介してデータバス16dに伝達する。 プログラムカウンタ(PC)35:実行部データバス1
8,メモリデータバッファ37,メモリアドレスバッフ
ァ38に接続される。通常はメモリアドレスバッファ3
8を介してアドレスバス16aに対してメモリアドレス
を出力する。カウンタ値は、リードバス18rを介して
演算回路14に取り込まれ、インクリメントやアドレス
値の加算などの演算が行なわれ、ライトバス18wを介
して再びプログラムカウンタ35に取り込むことで更新
される。
モリデータバッファ37を介してデータバス16dの内
容を取り込み、その内容をリードバス18rに伝達す
る。 ライトデータレジスタ(WDR)34:ライトバス18
wの内容を取り込み、その内容をメモリデータバッファ
37を介してデータバス16dに伝達する。 プログラムカウンタ(PC)35:実行部データバス1
8,メモリデータバッファ37,メモリアドレスバッフ
ァ38に接続される。通常はメモリアドレスバッファ3
8を介してアドレスバス16aに対してメモリアドレス
を出力する。カウンタ値は、リードバス18rを介して
演算回路14に取り込まれ、インクリメントやアドレス
値の加算などの演算が行なわれ、ライトバス18wを介
して再びプログラムカウンタ35に取り込むことで更新
される。
【0027】スタックポインタ36(SP):実行部デ
ータバス18とメモリアドレスバッファ38に接続され
る。サブルーチンコール命令(CAL)の時にプログラ
ムカウンタ35の内容をRAM20に格納し、リターン
命令(RET)でRAM20からプログラムカウンタ3
5に値を戻すためのものである。ポインタ値は、プログ
ラムカウンタ35と同様に演算回路14でインクリメン
トやデクリメントなどの演算が行なわれて更新される。 メモリアドレスレジスタ39(MAR):ライトバス1
8wとメモリアドレスバッファ38に接続される。マイ
クロ命令の実行によりデータがセットされる。このデー
タはメモリアドレスバッファ38を介してメモリアドレ
スとしてアドレスバス16aに出力される。
ータバス18とメモリアドレスバッファ38に接続され
る。サブルーチンコール命令(CAL)の時にプログラ
ムカウンタ35の内容をRAM20に格納し、リターン
命令(RET)でRAM20からプログラムカウンタ3
5に値を戻すためのものである。ポインタ値は、プログ
ラムカウンタ35と同様に演算回路14でインクリメン
トやデクリメントなどの演算が行なわれて更新される。 メモリアドレスレジスタ39(MAR):ライトバス1
8wとメモリアドレスバッファ38に接続される。マイ
クロ命令の実行によりデータがセットされる。このデー
タはメモリアドレスバッファ38を介してメモリアドレ
スとしてアドレスバス16aに出力される。
【0028】以上のインタフェース回路32の制御に必
要な信号29aは、マイクロデータレジスタ8のデータ
に基づき、インタフェース制御回路9で生成される。
要な信号29aは、マイクロデータレジスタ8のデータ
に基づき、インタフェース制御回路9で生成される。
【0029】また、インタフェース制御回路9では、E
PROM19のリード信号29b,RAM20のリード
/ライト信号29c,入出力回路21のリード/ライト
信号29h,マクロ命令レジスタ17のライト信号29
d,マルチプレクサ4の切り替え信号29eが生成され
る。
PROM19のリード信号29b,RAM20のリード
/ライト信号29c,入出力回路21のリード/ライト
信号29h,マクロ命令レジスタ17のライト信号29
d,マルチプレクサ4の切り替え信号29eが生成され
る。
【0030】インタフェース回路32の上記各レジスタ
やカウンタ,ポインタの選択情報やレジスタファイル1
3,入出力回路15が含む各種レジスタの選択情報は、
マイクロ命令メモリ7のレジスタフィールドに記述され
る。図11に、レジスタフィールドに記述されているレ
ジスタのマップを示す。IODRは、入出力データレジ
スタであり、外部端子からのデータ入力と外部端子への
データ出力を行なう。IOCRは、上記のそれぞれの入
出力データレジスタに付随した入出力制御レジスタであ
り、外部端子の機能やデータの方向性などを制御する。
やカウンタ,ポインタの選択情報やレジスタファイル1
3,入出力回路15が含む各種レジスタの選択情報は、
マイクロ命令メモリ7のレジスタフィールドに記述され
る。図11に、レジスタフィールドに記述されているレ
ジスタのマップを示す。IODRは、入出力データレジ
スタであり、外部端子からのデータ入力と外部端子への
データ出力を行なう。IOCRは、上記のそれぞれの入
出力データレジスタに付随した入出力制御レジスタであ
り、外部端子の機能やデータの方向性などを制御する。
【0031】図4に、マイクロ命令を実行する動作タイ
ミングチャートを示す。タイミングクロックとして非オ
ーバラップ二相クロックφ1,φ2を用いている。T1
はマイクロ命令リードサイクル,T2はマイクロ命令実
行サイクルであり、以下の〜のタイミングで動作す
る。 第2のマルチプレクサ5で選択されたマルチプレクサ
入力線43の一つの内容がマイクロ命令メモリ7に対し
てアドレスとして図中a−cの期間入力され、マイクロ
命令メモリ7のデータがリードされる。 マイクロ命令メモリ7の出力データはb点でマイクロ
データレジスタ8にラッチされ、b−dの期間その値を
保持する。 マイクロデータレジスタ8の出力はインタフェース制
御回路9,レジスタ制御回路10,演算制御回路11,
マイクロアドレス制御回路12,入出力制御回路40に
入力され、これらの制御回路は実行制御信号を生成し、
c−eの期間その実行制御信号を保持する。 T2サイクルの前半(c−d期間)ではレジスタファ
イル13のうち選択されたレジスタ,入出力回路15に
含まれるレジスタ,インタフェース回路12の各レジス
タのリードと演算が行なわれる。この結果、d点では演
算回路14の出力データとキャリー,ゼロなどの状態信
号が確定する。
ミングチャートを示す。タイミングクロックとして非オ
ーバラップ二相クロックφ1,φ2を用いている。T1
はマイクロ命令リードサイクル,T2はマイクロ命令実
行サイクルであり、以下の〜のタイミングで動作す
る。 第2のマルチプレクサ5で選択されたマルチプレクサ
入力線43の一つの内容がマイクロ命令メモリ7に対し
てアドレスとして図中a−cの期間入力され、マイクロ
命令メモリ7のデータがリードされる。 マイクロ命令メモリ7の出力データはb点でマイクロ
データレジスタ8にラッチされ、b−dの期間その値を
保持する。 マイクロデータレジスタ8の出力はインタフェース制
御回路9,レジスタ制御回路10,演算制御回路11,
マイクロアドレス制御回路12,入出力制御回路40に
入力され、これらの制御回路は実行制御信号を生成し、
c−eの期間その実行制御信号を保持する。 T2サイクルの前半(c−d期間)ではレジスタファ
イル13のうち選択されたレジスタ,入出力回路15に
含まれるレジスタ,インタフェース回路12の各レジス
タのリードと演算が行なわれる。この結果、d点では演
算回路14の出力データとキャリー,ゼロなどの状態信
号が確定する。
【0032】T2サイクルの後半(d−e期間)では
上記c−d期間の結果に基づきライト動作が行なわれ
る。ライト動作にはレジスタファイル13の選択された
レジスタ,入出力回路15に含まれるレジスタ,インタ
フェース回路12の各レジスタへのライトと、それと並
行して実行されるマイクロアドレスレジスタ2へのライ
トがある。マイクロアドレスレジスタ2へのライトで
は、図2で説明したように、マイクロ命令メモリ7に格
納された分岐条件の情報(信号線30)と演算回路14
の実行結果で発生するキャリー,ゼロの信号(信号線3
1)から次アドレスを生成し、時分割制御回路6で選択
されたマイクロアドレスレジスタ2へ書き込む。
上記c−d期間の結果に基づきライト動作が行なわれ
る。ライト動作にはレジスタファイル13の選択された
レジスタ,入出力回路15に含まれるレジスタ,インタ
フェース回路12の各レジスタへのライトと、それと並
行して実行されるマイクロアドレスレジスタ2へのライ
トがある。マイクロアドレスレジスタ2へのライトで
は、図2で説明したように、マイクロ命令メモリ7に格
納された分岐条件の情報(信号線30)と演算回路14
の実行結果で発生するキャリー,ゼロの信号(信号線3
1)から次アドレスを生成し、時分割制御回路6で選択
されたマイクロアドレスレジスタ2へ書き込む。
【0033】以上のような制御により2レベルのパイプ
ライン制御が可能になる。即ち、a−c期間では次に実
行するマイクロ命令のリードと1サイクル前にリードし
たマイクロ命令の命令実行とを同時に行なうことが出
来、c−e期間ではa−c期間でリードしたマイクロ命
令の実行とその次に実行するマイクロ命令のリードとを
同時に行なうことが出来る。図5に、パイプライン制御
により実行が進む例を示す。この例では、時分割制御回
路6の制御メモリ23には、マイクロアドレスレジスタ
2の選択順序情報として次の2進データによる時分割制
御プログラムが格納されている。 ……→[00]→[01]→[10]→[11]→…… 従って、マイクロアドレスレジスタ2の各レジスタは次
の順序で選択される。 ……→(2ー1)→(2ー2)→(2ー3)→(2ー4)→…… すなわち、カウンタ22のカウントアップに従って制御
メモリ23から上記選択順序情報が順に出力される。
ライン制御が可能になる。即ち、a−c期間では次に実
行するマイクロ命令のリードと1サイクル前にリードし
たマイクロ命令の命令実行とを同時に行なうことが出
来、c−e期間ではa−c期間でリードしたマイクロ命
令の実行とその次に実行するマイクロ命令のリードとを
同時に行なうことが出来る。図5に、パイプライン制御
により実行が進む例を示す。この例では、時分割制御回
路6の制御メモリ23には、マイクロアドレスレジスタ
2の選択順序情報として次の2進データによる時分割制
御プログラムが格納されている。 ……→[00]→[01]→[10]→[11]→…… 従って、マイクロアドレスレジスタ2の各レジスタは次
の順序で選択される。 ……→(2ー1)→(2ー2)→(2ー3)→(2ー4)→…… すなわち、カウンタ22のカウントアップに従って制御
メモリ23から上記選択順序情報が順に出力される。
【0034】マイクロアドレスレジスタ2ー1が選択され
るサイクルを基準点(t1)として説明すると、t1サ
イクルでは、マイクロアドレスレジスタ2-1またはマク
ロ命令レジスタ17の関与するマイクロ命令のリード
と、t1サイクルの1サイクル前にリードされたマイク
ロ命令(前命令)の実行が行なわれる。t2サイクルで
は、マイクロアドレスレジスタ2-2の関与するマイクロ
命令のリードと、マイクロアドレスレジスタ2-1または
マクロ命令レジスタ17の関与するマイクロ命令の実行
が行なわれる。同様に、t3サイクル以降も命令リード
と前命令の実行が同時に行なわれる。
るサイクルを基準点(t1)として説明すると、t1サ
イクルでは、マイクロアドレスレジスタ2-1またはマク
ロ命令レジスタ17の関与するマイクロ命令のリード
と、t1サイクルの1サイクル前にリードされたマイク
ロ命令(前命令)の実行が行なわれる。t2サイクルで
は、マイクロアドレスレジスタ2-2の関与するマイクロ
命令のリードと、マイクロアドレスレジスタ2-1または
マクロ命令レジスタ17の関与するマイクロ命令の実行
が行なわれる。同様に、t3サイクル以降も命令リード
と前命令の実行が同時に行なわれる。
【0035】図6に、マクロ命令とマクロ命令シーケン
スの例を示す。マクロ命令シーケンスは、マクロ命令フ
ェッチサイクル(マシンサイクル:M1〜M3)と,マ
クロ命令実行サイクル(マシンサイクル:M4〜M7)
に分かれている。マクロ命令フェッチサイクルは、全マ
クロ命令に共通なサイクルである。一方、マクロ命令実
行サイクルは、マクロ命令の種類によってその処理とサ
イクル数が異なる。
スの例を示す。マクロ命令シーケンスは、マクロ命令フ
ェッチサイクル(マシンサイクル:M1〜M3)と,マ
クロ命令実行サイクル(マシンサイクル:M4〜M7)
に分かれている。マクロ命令フェッチサイクルは、全マ
クロ命令に共通なサイクルである。一方、マクロ命令実
行サイクルは、マクロ命令の種類によってその処理とサ
イクル数が異なる。
【0036】各マシンサイクルでは、インタフェース制
御回路9の制御により次のように動作する。 M1:プログラムカウンタ35からメモリアドレスバッ
ファ38を介してアドレスバス16aにメモリアドレス
が出力される。同時に、アドレスバス16aに接続され
たメモリ19,20や入出力回路21に対してリード信
号が出力され、選択されたメモリや入出力回路からマク
ロ命令(図6ではMで示す)の第1ワードがデータバス
16dに出力され、データバス16dに接続されたマク
ロ命令レジスタ17のライト信号29dを出力すること
でマクロ命令の第1ワードがマクロ命令レジスタ17に
取り込まれる。
御回路9の制御により次のように動作する。 M1:プログラムカウンタ35からメモリアドレスバッ
ファ38を介してアドレスバス16aにメモリアドレス
が出力される。同時に、アドレスバス16aに接続され
たメモリ19,20や入出力回路21に対してリード信
号が出力され、選択されたメモリや入出力回路からマク
ロ命令(図6ではMで示す)の第1ワードがデータバス
16dに出力され、データバス16dに接続されたマク
ロ命令レジスタ17のライト信号29dを出力すること
でマクロ命令の第1ワードがマクロ命令レジスタ17に
取り込まれる。
【0037】M2:プログラムカウンタ35の内容をリ
ードバス18rを介して演算回路14に入力し、+1す
る加算演算を行なった後にライトバス18wを介してプ
ログラムカウンタ35に戻すことで、アドレス情報のイ
ンクリメントを行なう。
ードバス18rを介して演算回路14に入力し、+1す
る加算演算を行なった後にライトバス18wを介してプ
ログラムカウンタ35に戻すことで、アドレス情報のイ
ンクリメントを行なう。
【0038】M3:上記M1と同様にプログラムカウン
タ35からメモリアドレスバッファ38を介してアドレ
スバス16aにメモリアドレスを出力してマクロ命令の
第2ワードをデータバス16dに出力させ、そのマクロ
命令の第2ワードをメモリデータバッファ37を介して
リードデータレジスタ33に取り込む。
タ35からメモリアドレスバッファ38を介してアドレ
スバス16aにメモリアドレスを出力してマクロ命令の
第2ワードをデータバス16dに出力させ、そのマクロ
命令の第2ワードをメモリデータバッファ37を介して
リードデータレジスタ33に取り込む。
【0039】以下、図6のに示したSTR(IND)
命令の例で、マシンサイクルM4〜M7を説明する。S
TR(IND)命令は、間接アドレッシングによるデー
タ転送(ストア)を行なうマクロ命令であり、レジスタ
R1の内容をメモリアドレスとして、レジスタR2に格
納されたデータを格納するものである。 M4:レジスタファイル13に含まれるレジスタR1の
内容をリードバス18r,演算回路14,ライトバス1
8wを経由してメモリアドレスレジスタ39に取り込
む。この場合、演算回路14はデータを単に通過させる
だけであり、演算は行なわない。 M5:上記M4と同様に、レジスタファイル13に含ま
れるレジスタR2の内容をライトデータレジスタ34に
取り込む。 M6:アドレスバス16aにメモリアドレスレジスタ3
9の内容を出力し、同時にデータバス16dにライトデ
ータレジスタ34の内容を出力して、メモリ19,20
や入出力回路21に含まれるレジスタにデータを書き込
む。 M7:上記M2サイクルと同様の動作で、プログラムカ
ウンタ35のアドレス情報をインクリメントし、一連の
マクロ命令シーケンスを終了する。
命令の例で、マシンサイクルM4〜M7を説明する。S
TR(IND)命令は、間接アドレッシングによるデー
タ転送(ストア)を行なうマクロ命令であり、レジスタ
R1の内容をメモリアドレスとして、レジスタR2に格
納されたデータを格納するものである。 M4:レジスタファイル13に含まれるレジスタR1の
内容をリードバス18r,演算回路14,ライトバス1
8wを経由してメモリアドレスレジスタ39に取り込
む。この場合、演算回路14はデータを単に通過させる
だけであり、演算は行なわない。 M5:上記M4と同様に、レジスタファイル13に含ま
れるレジスタR2の内容をライトデータレジスタ34に
取り込む。 M6:アドレスバス16aにメモリアドレスレジスタ3
9の内容を出力し、同時にデータバス16dにライトデ
ータレジスタ34の内容を出力して、メモリ19,20
や入出力回路21に含まれるレジスタにデータを書き込
む。 M7:上記M2サイクルと同様の動作で、プログラムカ
ウンタ35のアドレス情報をインクリメントし、一連の
マクロ命令シーケンスを終了する。
【0040】上記M1〜M7のサイクルのうちM4のみ
がマクロ命令レジスタ17の内容をアドレスとしてマイ
クロ命令メモリ7を読み出し、その他のサイクルではマ
イクロアドレスレジスタ2-1の内容をアドレスとしてマ
イクロ命令メモリ7を読み出す。この切り替え制御は、
図3で示したインタフェース制御回路9からの出力29
eで行なわれる。
がマクロ命令レジスタ17の内容をアドレスとしてマイ
クロ命令メモリ7を読み出し、その他のサイクルではマ
イクロアドレスレジスタ2-1の内容をアドレスとしてマ
イクロ命令メモリ7を読み出す。この切り替え制御は、
図3で示したインタフェース制御回路9からの出力29
eで行なわれる。
【0041】一連のマクロ命令シ−ケンスのマイクロプ
ログラムと,他のマイクロアドレスレジスタ2-2、2-
3、2-4の関与するマイクロプログラムの実行順序は、
図2に示す制御メモリ23に時分割制御プログラムとし
て設定される。図7に、時分割制御プログラムの一例を
示す。但し、図7では、図4で説明したマイクロ命令リ
ードサイクルT1とマイクロ命令実行サイクルT2のう
ち、マイクロ命令実行サイクルT2のみを□印で示し
た。
ログラムと,他のマイクロアドレスレジスタ2-2、2-
3、2-4の関与するマイクロプログラムの実行順序は、
図2に示す制御メモリ23に時分割制御プログラムとし
て設定される。図7に、時分割制御プログラムの一例を
示す。但し、図7では、図4で説明したマイクロ命令リ
ードサイクルT1とマイクロ命令実行サイクルT2のう
ち、マイクロ命令実行サイクルT2のみを□印で示し
た。
【0042】図7において、時分割制御プログラムによ
り4個の独立したマイクロプログラムP1,P2,P
3,P4が図中(a)で示したフローで順に実行され
る。マクロ命令レジスタ17とマイクロアドレスレジス
タ2ー1が関与するマイクロプログラム(マクロ命令を実
行するマイクロプログラム)P1は、サイクルt1,t
3,t5,t7,t9,t11,t13,…でそれぞれ
1ワードが実行される。マイクロアドレスレジスタ2ー2
が関与するマイクロプログラムP2は、サイクルt2,
t8,t14,…で実行される。マイクロアドレスレジ
スタ2-3が関与するマイクロプログラムP3は、サイク
ルt4,t10,…で実行される。マイクロアドレスレ
ジスタ2ー4が関与するマイクロプログラムP4は、サイ
クルt0,t6,t12,…で実行される。すなわち、
この例では、t0〜t5を繰返し周期として、その繰返
し周期の中でマイクロプログラムP1は3回実行され、
マイクロプログラムP2,P3,P4はそれぞれ1回実
行される。STR(IND)命令の場合は、マシンサイ
クルM1〜M7(図7のA)で構成されるマクロ命令で
あるが、この時分割制御プログラムではt1〜t13
(図7のB)に展開されて実行される。
り4個の独立したマイクロプログラムP1,P2,P
3,P4が図中(a)で示したフローで順に実行され
る。マクロ命令レジスタ17とマイクロアドレスレジス
タ2ー1が関与するマイクロプログラム(マクロ命令を実
行するマイクロプログラム)P1は、サイクルt1,t
3,t5,t7,t9,t11,t13,…でそれぞれ
1ワードが実行される。マイクロアドレスレジスタ2ー2
が関与するマイクロプログラムP2は、サイクルt2,
t8,t14,…で実行される。マイクロアドレスレジ
スタ2-3が関与するマイクロプログラムP3は、サイク
ルt4,t10,…で実行される。マイクロアドレスレ
ジスタ2ー4が関与するマイクロプログラムP4は、サイ
クルt0,t6,t12,…で実行される。すなわち、
この例では、t0〜t5を繰返し周期として、その繰返
し周期の中でマイクロプログラムP1は3回実行され、
マイクロプログラムP2,P3,P4はそれぞれ1回実
行される。STR(IND)命令の場合は、マシンサイ
クルM1〜M7(図7のA)で構成されるマクロ命令で
あるが、この時分割制御プログラムではt1〜t13
(図7のB)に展開されて実行される。
【0043】次に、図8に、インタフェース回路32と
インタフェース制御回路9の第2の実施例を示す。この
インタフェース回路32は、実行部バスインタフェース
回路32aと,外部バスインタフェース回路32bとで
構成される。インタフェース制御回路9は、前記実行部
バスインタフェース回路32aを制御するための実行部
バスインタフェース制御回路9aと,前記外部バスイン
タフェース回路32bを制御するための外部バスインタ
フェース制御回路9bとで構成される。
インタフェース制御回路9の第2の実施例を示す。この
インタフェース回路32は、実行部バスインタフェース
回路32aと,外部バスインタフェース回路32bとで
構成される。インタフェース制御回路9は、前記実行部
バスインタフェース回路32aを制御するための実行部
バスインタフェース制御回路9aと,前記外部バスイン
タフェース回路32bを制御するための外部バスインタ
フェース制御回路9bとで構成される。
【0044】ところで、図6に示すマクロ命令シーケン
スの各マシンサイクルでの処理の中で破線で表した処理
(全マクロ命令共通にM1,M3のサイクル。STR
(IND)命令のM6サイクルなど。)は、実行部デー
タバス18と演算回路14とを使用しないで実行できる
処理である。そこで、図8の実施例では、実行部データ
バス18と演算回路14を用いないマシンサイクルの実
行は、実行部データバス18と演算回路14を用いたマ
シンサイクルの実行に引き続いて自動的に実行するよう
に構成される。すなわち、実行部バスインタフェース制
御回路9aは、実行部バスインタフェース制御線29g
により実行部バスインタフェース回路32aを制御する
と共に、外部バスインタフェース制御回路9bに対して
その情報を伝達する。外部バスインタフェース制御回路
9bは、その情報から外部バスインタフェース回路32
bの制御信号29fを1サイクル遅れて出力する。
スの各マシンサイクルでの処理の中で破線で表した処理
(全マクロ命令共通にM1,M3のサイクル。STR
(IND)命令のM6サイクルなど。)は、実行部デー
タバス18と演算回路14とを使用しないで実行できる
処理である。そこで、図8の実施例では、実行部データ
バス18と演算回路14を用いないマシンサイクルの実
行は、実行部データバス18と演算回路14を用いたマ
シンサイクルの実行に引き続いて自動的に実行するよう
に構成される。すなわち、実行部バスインタフェース制
御回路9aは、実行部バスインタフェース制御線29g
により実行部バスインタフェース回路32aを制御する
と共に、外部バスインタフェース制御回路9bに対して
その情報を伝達する。外部バスインタフェース制御回路
9bは、その情報から外部バスインタフェース回路32
bの制御信号29fを1サイクル遅れて出力する。
【0045】以上の制御方式による動作例を図9に示
す。時分割制御プログラムは図7の例と同一のものであ
り、個々のマイクロプログラムP2,P3,P4の動作
とマイクロプログラムの実行フロー(a)は図7と同様
である。図9のサイクルM1〜M7の一連のシーケンス
は、マイクロプログラムP1の前のマクロ命令の最後の
マイクロプログラム(図中(b))の実行で起動され、
図中(c)の矢印のフローで処理が進む。このフロー
中、演算回路14での演算やレジスタファイルアクセス
の必要なサイクルM2,M4,M5,M7は、マイクロ
プログラムを用いて処理される。一方、演算回路14で
の演算やレジスタファイルアクセスの不要なサイクルM
1,M3,M6は、マイクロプログラムと歩調を合わせ
て、インタフェース回路12で順に実行される。そし
て、図中Cの期間で一つのマクロ命令を実行する。
す。時分割制御プログラムは図7の例と同一のものであ
り、個々のマイクロプログラムP2,P3,P4の動作
とマイクロプログラムの実行フロー(a)は図7と同様
である。図9のサイクルM1〜M7の一連のシーケンス
は、マイクロプログラムP1の前のマクロ命令の最後の
マイクロプログラム(図中(b))の実行で起動され、
図中(c)の矢印のフローで処理が進む。このフロー
中、演算回路14での演算やレジスタファイルアクセス
の必要なサイクルM2,M4,M5,M7は、マイクロ
プログラムを用いて処理される。一方、演算回路14で
の演算やレジスタファイルアクセスの不要なサイクルM
1,M3,M6は、マイクロプログラムと歩調を合わせ
て、インタフェース回路12で順に実行される。そし
て、図中Cの期間で一つのマクロ命令を実行する。
【0046】このように、第2の実施例(図8)では、
第1の実施例(図3)に比べて、マクロ命令の実行速度
を早くすることが出来る。
第1の実施例(図3)に比べて、マクロ命令の実行速度
を早くすることが出来る。
【0047】図10は、時分割制御プログラムを変えた
動作例である。この動作例では、図9の動作例に比較し
て、マイクロプログラムP2,P3,P4の繰返し周期
が短くなり、処理速度が速くなっている。しかし、その
反面、マイクロプログラムP1の実行速度が遅くなって
いる。このように、時分割制御プログラムの書き方によ
ってどのマイクロプログラムの実行頻度を高め、高速に
実行させるかを自由に設定することが出来る。なお、図
10は、図8のインタフェース制御方式の例で示した
が、図3のインタフェース制御方式であっても同様であ
る。
動作例である。この動作例では、図9の動作例に比較し
て、マイクロプログラムP2,P3,P4の繰返し周期
が短くなり、処理速度が速くなっている。しかし、その
反面、マイクロプログラムP1の実行速度が遅くなって
いる。このように、時分割制御プログラムの書き方によ
ってどのマイクロプログラムの実行頻度を高め、高速に
実行させるかを自由に設定することが出来る。なお、図
10は、図8のインタフェース制御方式の例で示した
が、図3のインタフェース制御方式であっても同様であ
る。
【0048】以上の説明から理解されるように、このマ
イクロプロセッサ1によれば、外部バスを介して取り込
むマクロプログラムと,そのマクロプログラムの動作に
影響されない実時間処理向きの3個の独立したマイクロ
プログラムとを、並行して実行できる。外部バスに接続
される各種メモリや入出力回路は拡張が容易であり、大
規模なプログラムを構築することが可能である。また、
実行部データバス18に結合された入出力回路15はマ
イクロプログラムによって直接制御するため、データ入
力に対する応答性の良い処理を実現できる。更に、マイ
クロプログラムをユーザサイドで書き込み出来るため、
仕様が変わった場合の変更への即応性が良好である。
イクロプロセッサ1によれば、外部バスを介して取り込
むマクロプログラムと,そのマクロプログラムの動作に
影響されない実時間処理向きの3個の独立したマイクロ
プログラムとを、並行して実行できる。外部バスに接続
される各種メモリや入出力回路は拡張が容易であり、大
規模なプログラムを構築することが可能である。また、
実行部データバス18に結合された入出力回路15はマ
イクロプログラムによって直接制御するため、データ入
力に対する応答性の良い処理を実現できる。更に、マイ
クロプログラムをユーザサイドで書き込み出来るため、
仕様が変わった場合の変更への即応性が良好である。
【0049】
【発明の効果】本発明のマイクロプロセッサによれば、
単一のプロセッサで複数の異質のプログラムを同時に実
行できる。このため、応用システムに要求される複雑な
機能を小型化して実現することが出来る。また、複数の
プログラムを独立して開発することが出来るため、プロ
グラム開発が容易になり、期間も短縮できる。
単一のプロセッサで複数の異質のプログラムを同時に実
行できる。このため、応用システムに要求される複雑な
機能を小型化して実現することが出来る。また、複数の
プログラムを独立して開発することが出来るため、プロ
グラム開発が容易になり、期間も短縮できる。
【図1】本発明の一実施例のマイクロプロセッサのブロ
ック図である。
ック図である。
【図2】時分割制御回路とマイクロアドレス制御回路と
それらの周辺の回路のブロック図である。
それらの周辺の回路のブロック図である。
【図3】インタフェース回路とその周辺の回路の第1の
実施例のブロック図である。
実施例のブロック図である。
【図4】マイクロ命令実行の動作タイミングチャートで
ある。
ある。
【図5】パイプライン制御の動作説明図である。
【図6】マクロ命令を実行するシーケンスの説明図であ
る。
る。
【図7】時分割制御の第1の例の動作説明図である。
【図8】インタフェース回路とその周辺の回路の第2の
実施例のブロック図である。
実施例のブロック図である。
【図9】時分割制御の第2の例の動作説明図である。
【図10】時分割制御の第3の例の動作説明図である。
【図11】レジスタマップ図である。
1 マイクロプロセッサ 2 マイクロアドレスレジスタ 6 時分割制御回路 7 マイクロ命令メモリ 8 マイクロデータレジスタ 10 レジスタ制御回路 11 演算制御回路 12 マイクロアドレス制御回路 13 レジスタファイル 14 演算回路 15 入出力回路 16 周辺バス 17 マクロ命令レジスタ 18 実行部データバス 19 EPROM 20 RAM 21 入出力回路 23 制御メモリ 25 分岐制御回路 32 インタフェース回路
Claims (12)
- 【請求項1】 マイクロアドレスを保持する複数のマイ
クロアドレスレジスタと、マクロ命令を保持するマクロ
命令レジスタと、マイクロ命令を記憶するマイクロ命令
メモリと、前記マイクロアドレスレジスタのいずれか又
は前記マクロ命令レジスタを選択してその保持値を前記
マイクロ命令メモリにアドレスとして与えるマルチプレ
クサと、前記マイクロ命令メモリから読み出されたマイ
クロ命令に基づく制御を行うと共に次マクロ命令アドレ
スまたは次マイクロアドレスを生成するマイクロ命令制
御実行手段と、前記次マクロ命令アドレスにより次マク
ロ命令をマクロ命令メモリより読み出して前記マクロ命
令レジスタに保持させるマクロ命令読み出し制御手段
と、前記マイクロアドレスレジスタのいずれかを選択し
てそのマイクロアドレスレジスタに前記生成された次マ
イクロアドレスを保持させるセレクタと、前記マルチプ
レクサおよび前記セレクタにおける選択の制御を行う選
択制御手段とを具備したことを特徴とするマイクロプロ
セッサ。 - 【請求項2】 請求項1に記載のマイクロプロセッサに
おいて、選択制御手段は、選択の順序を規定するプログ
ラムを記憶する制御メモリを含むことを特徴とするマイ
クロプロセッサ。 - 【請求項3】 請求項1または請求項2に記載のマイク
ロプロセッサにおいて、選択制御手段は、パイプライン
制御を行うように選択の制御を行うことを特徴とするマ
イクロプロセッサ。 - 【請求項4】 請求項3に記載のマイクロプロセッサに
おいて、マイクロ命令に基づく処理シーケンスの各サイ
クルを、マイクロ命令に基づかない処理シーケンスの各
サイクルと独立に実行できる第1グループおよび独立に
実行できない第2グループに分けたとき、マイクロ命令
制御実行手段は、前記第2グループの各サイクルについ
てはパイプライン制御の下で制御を実行し、前記第1グ
ループの各サイクルについては独立に制御を実行するこ
とを特徴とするマイクロプロセッサ。 - 【請求項5】 請求項1から請求項4のいずれかに記載
のマイクロプロセッサにおいて、マイクロ命令メモリが
書き換え可能なメモリからなることを特徴とするマイク
ロプロセッサ。 - 【請求項6】 請求項2に記載のマイクロプロセッサに
おいて、制御メモリが書き換え可能なメモリからなるこ
とを特徴とするマイクロプロセッサ。 - 【請求項7】 第1記憶手段(19)と,第2記憶手段
(7)を含む第1制御手段と,実行手段とを有し、前記
第1記憶手段は第1の制御データを記憶し、前記第2記
憶手段は前記第1の制御データに基づく制御のための第
2の制御データを記憶し、前記実行手段は第1記憶手段
から第1の制御データを読み出して第1制御手段に与
え、前記第1制御手段は与えられた第1の制御データに
対応する第2の制御データに基づいて上記実行手段を制
御するマイクロプロセッサにおいて、 第3記憶手段(23)を含む第2制御手段(6)を有
し、前記第3記憶手段は第3の制御データを記憶し、前
記第2制御手段は前記第3記憶手段に記憶した第3の制
御データにより上記第1制御手段による上記第1の制御
データに基づく制御の処理サイクルを制御することを特
徴とするマイクロプロセッサ。 - 【請求項8】 請求項7に記載のマイクロプロセッサに
おいて、第1制御手段は、第2記憶手段から第2の制御
データを読み出すためのアドレス情報を保持する複数の
アドレスレジスタ(2,17)を有し、与えられた第1
の制御データを前記複数のアドレスレジスタのうちの第
1のレジスタ(17)に保持することを特徴とするマイ
クロプロセッサ。 - 【請求項9】 請求項8に記載のマイクロプロセッサに
おいて、実行手段は、第2記憶手段から第2の制御デー
タを読み出すためのアドレス情報を生成し、第1制御手
段は、前記アドレス情報を複数のアドレスレジスタのう
ちの第1のレジスタ(17)以外のレジスタに保持する
ためのレジスタ選択手段を含むことを特徴とするマイク
ロプロセッサ。 - 【請求項10】 請求項7から請求項9のいずれかに記
載のマイクロプロセッサにおいて、第2記憶手段は、第
1の制御データに関連付けられてアクセスされる第1領
域と、第1の制御データとは無関係にアクセスされる第
2領域とを有することを特徴とするマイクロプロセッ
サ。 - 【請求項11】 請求項7から請求項10のいずれかに
記載のマイクロプロセッサにおいて、第2記憶手段およ
び第3記憶手段の少なくとも一方が書き換え可能なメモ
リからなることを特徴とするマイクロプロセッサ。 - 【請求項12】 請求項7から請求項11のいずれかに
記載のマイクロプロセッサにおいて、第1記憶手段と第
1制御手段とが別チップであることを特徴とするマイク
ロプロセッサ。
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3267790A JPH05108341A (ja) | 1991-10-16 | 1991-10-16 | マイクロプロセツサ |
| KR1019920018528A KR930008604A (ko) | 1991-10-16 | 1992-10-09 | 마이크로프로세서 및 그의 제어 방법 |
| US07/960,505 US5410658A (en) | 1991-10-16 | 1992-10-13 | Microprocessor for carrying out a plurality of different microprograms at the same time and method for controlling the microprocessor |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3267790A JPH05108341A (ja) | 1991-10-16 | 1991-10-16 | マイクロプロセツサ |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH05108341A true JPH05108341A (ja) | 1993-04-30 |
Family
ID=17449633
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP3267790A Pending JPH05108341A (ja) | 1991-10-16 | 1991-10-16 | マイクロプロセツサ |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US5410658A (ja) |
| JP (1) | JPH05108341A (ja) |
| KR (1) | KR930008604A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5951673A (en) * | 1994-01-25 | 1999-09-14 | Yamaha Corporation | Digital signal processing device capable of selectively imparting effects to input data |
Families Citing this family (14)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6199152B1 (en) | 1996-08-22 | 2001-03-06 | Transmeta Corporation | Translated memory protection apparatus for an advanced microprocessor |
| KR100488536B1 (ko) * | 1997-08-21 | 2005-08-24 | 삼성전자주식회사 | 마이크로프로세서제어회로 |
| US7120783B2 (en) * | 1999-12-22 | 2006-10-10 | Ubicom, Inc. | System and method for reading and writing a thread state in a multithreaded central processing unit |
| US7308686B1 (en) | 1999-12-22 | 2007-12-11 | Ubicom Inc. | Software input/output using hard real time threads |
| US7925869B2 (en) | 1999-12-22 | 2011-04-12 | Ubicom, Inc. | Instruction-level multithreading according to a predetermined fixed schedule in an embedded processor using zero-time context switching |
| KR20010091132A (ko) * | 2000-03-13 | 2001-10-23 | 구자홍 | 마이크로 프로세서의 데이터 연산 처리기 |
| US6968469B1 (en) | 2000-06-16 | 2005-11-22 | Transmeta Corporation | System and method for preserving internal processor context when the processor is powered down and restoring the internal processor context when processor is restored |
| US6684342B1 (en) | 2000-06-22 | 2004-01-27 | Ubicom, Inc. | Apparatus and method of dynamic and deterministic changes in clock frequency for lower power consumption while maintaining fast interrupt handling |
| US7010612B1 (en) | 2000-06-22 | 2006-03-07 | Ubicom, Inc. | Universal serializer/deserializer |
| US7047396B1 (en) | 2000-06-22 | 2006-05-16 | Ubicom, Inc. | Fixed length memory to memory arithmetic and architecture for a communications embedded processor system |
| US6654646B2 (en) * | 2000-12-13 | 2003-11-25 | Lucent Technologies Inc. | Enhanced memory addressing control |
| US7822950B1 (en) | 2003-01-22 | 2010-10-26 | Ubicom, Inc. | Thread cancellation and recirculation in a computer processor for avoiding pipeline stalls |
| US9329865B2 (en) * | 2013-06-11 | 2016-05-03 | Intel Corporation | Context control and parameter passing within microcode based instruction routines |
| KR102270791B1 (ko) * | 2014-12-10 | 2021-06-29 | 삼성전자주식회사 | 매크로 명령어를 처리하는 방법 및 장치 |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4320453A (en) * | 1978-11-02 | 1982-03-16 | Digital House, Ltd. | Dual sequencer microprocessor |
| US4342078A (en) * | 1979-05-21 | 1982-07-27 | Motorola, Inc. | Instruction register sequence decoder for microprogrammed data processor and method |
| US4841434A (en) * | 1984-05-11 | 1989-06-20 | Raytheon Company | Control sequencer with dual microprogram counters for microdiagnostics |
| KR860007588A (ko) * | 1985-03-25 | 1986-10-15 | 미쓰다 가쓰시게 | 데이터 처리장치 |
-
1991
- 1991-10-16 JP JP3267790A patent/JPH05108341A/ja active Pending
-
1992
- 1992-10-09 KR KR1019920018528A patent/KR930008604A/ko not_active Withdrawn
- 1992-10-13 US US07/960,505 patent/US5410658A/en not_active Expired - Fee Related
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5951673A (en) * | 1994-01-25 | 1999-09-14 | Yamaha Corporation | Digital signal processing device capable of selectively imparting effects to input data |
| US6189085B1 (en) | 1994-01-25 | 2001-02-13 | Yamaha Corporation | Digital signal processing device |
Also Published As
| Publication number | Publication date |
|---|---|
| US5410658A (en) | 1995-04-25 |
| KR930008604A (ko) | 1993-05-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4050058A (en) | Microprocessor with parallel operation | |
| US4168523A (en) | Data processor utilizing a two level microaddressing controller | |
| US4862407A (en) | Digital signal processing apparatus | |
| US4984151A (en) | Flexible, next-address generation microprogram sequencer | |
| US4118773A (en) | Microprogram memory bank addressing system | |
| US4038643A (en) | Microprogramming control system | |
| US4314333A (en) | Data processor | |
| US3760369A (en) | Distributed microprogram control in an information handling system | |
| US4631663A (en) | Macroinstruction execution in a microprogram-controlled processor | |
| EP0476722B1 (en) | Data processing system | |
| US4075687A (en) | Microprogram controlled digital computer | |
| US3953833A (en) | Microprogrammable computer having a dual function secondary storage element | |
| JPH05108341A (ja) | マイクロプロセツサ | |
| US4539635A (en) | Pipelined digital processor arranged for conditional operation | |
| US4980819A (en) | Mechanism for automatically updating multiple unit register file memories in successive cycles for a pipelined processing system | |
| US4388682A (en) | Microprogrammable instruction translator | |
| US4598358A (en) | Pipelined digital signal processor using a common data and control bus | |
| US5247624A (en) | Microprogram controller including leading microinstruction from a generator executed while succeeding microinstruction from memory is read out | |
| US5034879A (en) | Programmable data path width in a programmable unit having plural levels of subinstruction sets | |
| US4812970A (en) | Microprogram control system | |
| JPH0447335B2 (ja) | ||
| US4451882A (en) | Data processing system | |
| 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 | |
| KR940002478B1 (ko) | 정보 처리장치 | |
| US5050076A (en) | Prefetching queue control system |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| EXPY | Cancellation because of completion of term |