JP2743947B2 - マイクロプログラム制御方式 - Google Patents
マイクロプログラム制御方式Info
- Publication number
- JP2743947B2 JP2743947B2 JP3021850A JP2185091A JP2743947B2 JP 2743947 B2 JP2743947 B2 JP 2743947B2 JP 3021850 A JP3021850 A JP 3021850A JP 2185091 A JP2185091 A JP 2185091A JP 2743947 B2 JP2743947 B2 JP 2743947B2
- Authority
- JP
- Japan
- Prior art keywords
- address
- instruction
- microprogram
- map
- code
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Executing Machine-Instructions (AREA)
Description
ローラ等の演算処理装置のマイクロプログラム制御方式
に関する。
方式に基づく演算処理装置の構成図である。
出力される命令は、データバス11を経由してインスト
ラクションキュー12に取り込まれる。このインストラ
クションキュー12に取り込まれた命令は、インストラ
クションデコード13でデコードされ、デコードされた
情報の内その命令を実行するマイクロプグラムの1ステ
ップ目が格納されているマイクロプログラムメモリ16
(後述する)上のアドレス(以下、このアドレスをマッ
プアドレスと呼ぶ)が、マルチプレクサ14を経てマイ
クロプログラムカウンタ15へ格納される。
で指定されるアドレスのデータ(指令データ)がマイク
ロプログラムメモリ16から読み出され、ALU16に
出力される。
は、各命令のマイクロプログラムの1ステップ目のプロ
グラムデータを集めたテーブルをマイクロプログラムメ
モリ16上に設けている(以下、これをマップテーブル
と呼ぶ)。そして、命令をデコードしたときに、このマ
ップテーブルを参照してそれぞれの命令を実行するよう
になっている。
従ってデータバス11を介してデータメモリ18やI/
O装置19との間でデータの転送や演算を実行する。
尚、マイクロプログラムカウンタ15は、動作クロック
毎にカウントアップする他に、ALU17に出力される
指令データに従って任意の値がロードされたり、あるい
はスタック20にセットされたデータがロードされ、サ
ブルーチンや元のプログラムアドレス等に進むことがで
きる。
は、図5に示すようにオペレーションコードと、アドレ
ス指定部とで構成されている。アドレス指定には、直接
アドレス指定、間接アドレス指定、修飾化アドレス指
定、リテラル(数値、文字データ)等があり、アドレス
指定部は、それらのアドレス指定を識別する為の部分
(以下、アドレス指定子と呼ぶ)と、数値の部分(以
下、アドレスデータと呼ぶ)とに分けられる。
ロプログラム制御方式では、オペレーションコードとア
ドレス指定子との組み合わせでマップアドレスを生成し
ている。
32種類、アドレス指定子が0〜7の8種類ある場合に、
オペレーションコード「20」、アドレス指定子「4」の
命令に対応するマップアドレスは、両者の積「20×4」
に一定のオフセットを加算した値として求めている。
ペレーションコードの種類) ×( アドレス指定子の種
類)となり、マップテーブルの大きさもマップアドレス
の数だけ必要となる。
指定子の種類が増えるにつれて、マイクロプロラムメモ
リ上でマップテーブルの占める領域が大きくなり、マイ
クロプログラムの2ステップ目以降のプログラムデータ
を格納する領域がその分少なくなるという問題点があっ
た。
有される領域を少なくし、マイクロプログラムメモリの
記憶領域をより有効に活用できるようにすることであ
る。
明図である。本発明のマイクロプログラム制御方式は、
命令コードのアドレス指定子に対応するマイクロプログ
ラムの1ステップ目の指令データを記憶する第1のマッ
プテーブルと、命令コードのオペレーションコードに対
応するマイクロプログラムの1ステップ目の指令データ
を記憶する第2のマップテーブルとをマイクロプログラ
ムメモリ5上に設け、命令コードのアドレス指定子4に
対応する第1のアドレスと、命令コードのオペレーショ
ンコード3に対応する第2のアドレスを生成するアドレ
ス生成手段1と、第1のアドレスにより指定される第1
のマップテーブルの指令データに従ってアドレス指定子
に対応するオペランドの処理を実行し、第2のアドレス
により指定される第2のマップテーブルの指令データに
従ってオペレーションコードに対応する命令実行処理を
実行する命令実行手段2とを備える。
するマイクロプログラムの1ステップ目と、命令コード
のオペレーションコードに対応するマイクロプログラム
の1ステップ目を、マイクロプログラムメモリ5のそれ
ぞれ別のマップテーブルに記憶する。そして、アドレス
指定子4に対応する第1のアドレスで指定される第1の
マップテーブルの指令データに従ってオペランドの書き
込みまたは読み出しを行い、オペレーションコード3に
対応する第2のアドレスで指定される第2のマップテー
ブルの指令データに従ってオペレーションコード3に対
応する命令実行処理を実行する。
は読み出しかの識別は、例えば命令に識別用のビットを
設けるか、あるいはオペランドの処理を実行するときに
オペレーションコードを同時にデコードして、その命令
がオペランドの書き込みか、あるいは読み出しかを識別
するようにすれば良い。
マイクロプログラムメモリ5上に設ける場合に、マップ
テーブルの大きさは、(オペレーションコードの種類+
アドレス指定子の種類)となるので、マイクロプログラ
ムメモリ上でマップテーブルの占める領域を大幅に少な
くでき、マイクロプログラムメモリの記憶領域をより有
効に活用できる。
説明する。図2は、本発明のマイクロプログラム制御方
式に基づく演算処理装置のインストラクションデコード
30の構成図である。
クションデコード30以外の他の部分は、図4に示した
従来の演算処理装置の構成と同様である。図4のインス
トラクションキュー12でフェッチされた命令は、図2
のインストラクションデコード30でデコードされ、マ
ルチプレクサ14(図4)に出力される。
ェッチされた命令のオペレーションコードは、図2の加
算器22の一方の入力端子に入力する。この加算器22
の他方の入力端子には、レジスタ21に記憶されている
オペレーションコードのオフセットアドレスが入力して
いる。
12から出力されるオペレーションコードと、レジスタ
21のオフセットアドレスとを加算して、その加算結果
をOマップアドレスとしてマルチプレクサ27に出力す
る。
ションコードで指定される命令を実行するマイクロプロ
グラムの1ステップ目が格納されているマイクロプログ
ラムメモリ16(図4)上のアドレスを示すものであ
る。
ェッチされた命令のオペランド(アドレス指定子)は、
加算器23の一方の入力端子に入力する。この加算器2
3の他方の入力端子にはマルチプレクサ26の出力が入
力している。
4に記憶されているオペランド読み出し用のオフセット
アドレスと、レジスタ25に記憶されているオペランド
書き込み用のオフセットアドレスとが入力している。マ
ルチプレクサ26は、命令がオペランドに対する書き込
みか、あるいは読み出しかを判断して上記の2つのレジ
スタのオフセットアドレスの一方を選択して加算器23
に出力する。
に対する書き込みか、あるいは読み出しかを判断する場
合には、例えば命令に書き込み及び読み出しを識別する
識別ビットを付加し、その識別ビットにより判断する
か、あるいはオペレーションコードのデコード結果(例
えば、ストア命令ならオペランドの書き込み、ロード命
令ならオペランドの読み出し)などから、オペランドに
対する読み出しか、あるいは書き込みかを判断してい
る。
12から出力されるアドレス指定子と、マルチプレクサ
26から出力される書き込み又は読み出し用のオフセッ
トアドレスとを加算して、その加算結果をAマップアド
レスとして出力する。
ようにアドレス指定子で指定される処理を実行するマイ
クロプログラムの1ステップ目が格納されているマイク
ロプログラムメモリ16(図4)上のアドレスを示して
いる。
プアドレス及びAマップアドレスは、マルチプレクサ2
7に格納される。そして、先ずAマップアドレスが、マ
ルチプレクサ27から図4のマルチプレクサ14に出力
され、さらにマイクロプログラムカウンタ15にセット
される。
スがセットされると、そのアドレスに該当するマイクロ
プログラムメモリ16のデータ(指令データ)がALU
17に出力される。ALU17は、その指令データに従
ってデータメモリ18やI/O19との間でデータの転
送を行い、オペランドの処理を実行する。
サ27から図4のマルチプレクサ14に出力され、さら
にそのOマップアドレスがマイクロプログラムカウンタ
15にセットされる。
スがセットされると、そのアドレスに該当するマイクロ
プログラムメモリ16の指令データがALU17に出力
される。そして、ALU17は、その指令データに従っ
てオペレーションコードに対応する命令を実行する。
いて、A+B−CをDに代入する演算を実行する場合に
ついて説明する。A+B−CをDに代入する演算をプロ
グラム言語で表せば、「LD A、ADD B、SUB
C、ST D」となる。
ションコードを、「LD、ADD、SUB、ST」の4
種類とし、それぞれのコードを「0、1、2、3」とす
る。また、アドレス指定子を即値(immediate)、直接ア
ドレス指定、間接アドレス指定、インデックス修飾の4
種類とし、それぞれのコードを「0、1、2、3」とす
る。
のオフセットアドレスを「0」、オペランド読み出し用
のAマップアドレスを生成する為のオフセットアドレス
を「4」、オペランド書き込み用のAマップアドレスを
生成する為のオフセットアドレスを「8」とする。
及びAマップテーブルを作成すると、図3に示すものと
なる。この場合、各オペレーションコードの値が「0、
1、2、3」であり、オペレーションコードのオフセッ
トアドレスが「0」であるので、マイクロプログラムメ
モリ16のOマップテーブルのアドレス「0」には、L
D命令の演算の1ステップ目が格納され、アドレス
「1」には、ADD命令の演算の1ステップ目が格納さ
れ、アドレス「2」には、SUB命令の演算の1ステッ
プ目が格納され、アドレス「3」には、ST命令の演算
の1ステップ目が格納される。
1、2、3」であり、オペランド読み出し用のAマップ
アドレスを生成する為のオフセットアドレスが「4」で
あるので、Aマップテーブルのアドレス「4」には、即
値の読み出し処理の1ステップ目が格納され、アドレス
「5」には、直接アドレス指定の読み出し処理の1ステ
ップ目が格納されている。以下、間接アドレス指定、イ
ンデックス修飾の読み出し処理の1ステップ目が順に格
納される。
成する為のオフセットアドレスが「8」であるので、ア
ドレス「8」には、即値の書き込み処理の1ステップ目
が格納され、アドレス「9」には、直接アドレス指定の
書き込み処理の1ステップ目が格納されている。以下、
間接アドレス指定、インデックス修飾の書き込み処理の
1ステップ目が順に格納される。
したプログラム「LD A、ADDB、SUB C、S
T D」を実行する。先ず、「LD A」がインストラ
クションキュー12でフェッチされ、インストラクショ
ンデコード30でデコードされる。この命令は、即値読
み出しのLD命令であるので、加算器23において、オ
ペランドの即値読み出しのコード「0」と、レジスタ2
4に記憶されているオペランド読み出し用のオフセット
アドレス「4」とが加算され、Aマップアドレスとして
アドレス「4」が指定される。
ムカウンタ15にセットされ、マイクロプログラムメモ
リ16のマップテーブル上のアドレス「4」の即値の読
み出し処理の1ステップ目が実行される。
「0」と、レジスタ21に記憶されているオフセットア
ドレス「0」とが、加算器22で加算されOマップアド
レスとしてアドレス「0」が指定される。
ムカウンタ15にセットされ、マップテーブル上のアド
レス「0」のLD命令の演算の1ステップ目が実行さ
れ、LD命令の演算が行われる。
と、この命令は直接アドレス指定読み出しのADD命令
であるので、先ず、加算器23においてオペランドの直
接アドレス指定読み出しのコード「1」と、レジスタ2
4に記憶されているオペランドの読み出し用のオフセッ
トアドレス「4」とが加算され、Aマップアドレスとし
て「5」が指定される。
「5」の直接アドレス指定の読み出し処理の1ステップ
目が実行される。その後、ADD命令のオペレーション
コード「1」と、レジスタ21に記憶されているオペレ
ーションコードのオフセットアドレス「0」とが加算器
22で加算され、Oマップアドレスとして「1」が指定
される。
「1」のADD命令の演算の1ステップ目が実行され、
ADD命令の演算が行われる。次に、「SUB C」が
デコードされると、この命令は間接アドレス指定読み出
しのSUB命令であるので、加算器23においてオペラ
ンドの間接アドレス指定読み出しのコード「2」と、オ
ペランドの読み出し用のオフセットアドレス「4」とが
加算され、Aマップアドレスとして「6」が指定され
る。
「6」の間接アドレス指定の読み出し処理の1ステップ
目が実行される。その後、SUB命令のオペレーション
コード「2」と、オペレーションコードのオフセットア
ドレス「0」とが加算器22で加算され、Oマップアド
レスとして「2」が指定される。
「2」のSUB命令の演算の1ステップ目が実行され、
SUB命令の演算が行われる。さらに、「ST D」が
デコードされると、この命令はインデックス修飾書き込
みのST命令であるので、加算器23においてオペラン
ドのインデックス修飾書き込みのコード「3」と、オペ
ランドの書き込み用のオフセットアドレス「8」とが加
算され、Aマップアドレスとして「11」が指定される。
「11」のインデックス修飾の書き込み処理の1ステップ
目が実行される。その後、ST命令のオペレーションコ
ード「3」と、オペレーションコードのオフセットアド
レス「0」とが加算器22で加算され、Oマップアドレ
スとして「3」が指定される。
「3」のST命令の演算の1ステップ目が実行され、S
T命令の演算が行われる。以上のように、上記実施例で
は、命令のオペレーションコードとアドレス指定子とか
ら、それぞれ別にマップアドレスを生成するようにした
ので、従来のようにオペレーションコードの種類とアド
レス指定子の種類との組み合わせの数だけのマップアド
レスを持つ必要がなく、マイクロプグラムメモリ16に
おけるマップテーブルの占める領域を小さくすることが
できる。
8 種類、アドレス指定子の種類が16種類で、マイクロプ
ログラムメモリ16の大きさが4096ステップであるとす
ると、従来のマイクロプログラム制御方式では、マップ
テーブルの大きさは1288×16=2048ステップとなり、メ
モリ16の領域の半分をマップテーブルが占めてしまう
ことになる。
制御方式では、Oマップテーブルが128 ステップ、Aマ
ップテーブルが16×2=32ステップとなり、全体で160
ステップで済む。
2ステップ目以降のマイクロプログラムデータに使用で
きる領域が、従来の2048ステップから3936ステップとな
り、使用可能な領域が約1.9 倍に増えたことになる。
成は、実施例に示した回路に限定されず種々の変形が可
能である。例えば、上記実施例では、インストラクショ
ンキュー12でフェッチされたオペレーションコード及
びアドレス指定子のコードから、直接マイクロプログラ
ムメモリ16上のアドレスを算出するようにしている
が、オペレーションコードとマイクロプグラムメモリ1
6上のアドレスとが直接対応しない場合には、フェッチ
したコードをインストラクションデコード30内でデコ
ードでして、マイクロプログラムメモリ16上のアドレ
スに変換するようにしても良い。
に対応するマイクロプログラムの1ステップ目と、オペ
レーションコードに対応するマイクロプログラムの1ス
テップ目を、それぞれ別のマップテーブルに記憶するよ
うにしたので、マイクロプログラムメモリに占めるマッ
プテーブルの領域を小さくすることができ、マイクロプ
ログラムメモリをより有効に活用できる。
である。
の構成図である。
Claims (2)
- 【請求項1】命令コードのアドレス指定子に対応するマ
イクロプログラムの1ステップ目の指令データを記憶す
る第1のマップテーブルと、該命令コードのオペレーシ
ョンコードに対応するマイクロプログラムの1ステップ
目の指令データを記憶する第2のマップテーブルとをマ
イクロプログラムメモリ上に設け、 前記命令コードのアドレス指定子に対応する第1のアド
レスと、該命令コードのオペレーションコードに対応す
る第2のアドレスを生成するアドレス生成手段と、 前記第1のアドレスにより指定される前記第1のマップ
テーブルの指令データに従って前記アドレス指定子に対
応するオペランドの処理を実行し、前記第2のアドレス
により指定される前記第2のマップテーブルの指令デー
タに従って前記オペレーションコードに対応する命令実
行処理を実行する命令実行手段 とを備えることを特徴と
するマイクロプログラム制御方式。 - 【請求項2】前記アドレス生成手段は、前記アドレス指
定子がオペランド書き込みのとき、該アドレス指定子の
アドレスに第1のオフセットアドレスを加算する第1の
加算手段と、該アドレス指定がオペランド読み出しのと
き、該アドレス指定子のアドレスに第2のオフセットア
ドレスを加算する第2の加算手段と、前記オペレーショ
ンコードに第3のオフセットアドレスを加算する第3の
加算手段とを有することを特徴とする請求項1記載のマ
イクロプログラム制御方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3021850A JP2743947B2 (ja) | 1991-02-15 | 1991-02-15 | マイクロプログラム制御方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3021850A JP2743947B2 (ja) | 1991-02-15 | 1991-02-15 | マイクロプログラム制御方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH04260131A JPH04260131A (ja) | 1992-09-16 |
JP2743947B2 true JP2743947B2 (ja) | 1998-04-28 |
Family
ID=12066581
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3021850A Expired - Fee Related JP2743947B2 (ja) | 1991-02-15 | 1991-02-15 | マイクロプログラム制御方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2743947B2 (ja) |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02110631A (ja) * | 1989-08-04 | 1990-04-23 | Hitachi Ltd | マイクロプログラム制御方法 |
-
1991
- 1991-02-15 JP JP3021850A patent/JP2743947B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH04260131A (ja) | 1992-09-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4616313A (en) | High speed address calculation circuit for a pipeline-control-system data-processor | |
US4954943A (en) | Data processing system | |
US4539635A (en) | Pipelined digital processor arranged for conditional operation | |
JPH0827716B2 (ja) | データ処理装置及びデータ処理方法 | |
JPH0248931B2 (ja) | ||
US4656581A (en) | Vector mask control system | |
JPH03233630A (ja) | 情報処理装置 | |
JPS62226231A (ja) | プロセツサ | |
JP2743947B2 (ja) | マイクロプログラム制御方式 | |
JPS6217773B2 (ja) | ||
US5187782A (en) | Data processing system | |
JP2583506B2 (ja) | データ処理装置 | |
JPH0218729B2 (ja) | ||
JPH056281A (ja) | 情報処理装置 | |
JP2525492B2 (ja) | プログラマブルコントロ―ラ | |
JPS58200349A (ja) | マイクロプログラム制御装置 | |
JP2000112754A (ja) | データ処理装置 | |
JP3140028B2 (ja) | サブルーチンの引数の受け渡し方式 | |
JPH06332701A (ja) | 情報処理装置 | |
JPH02242335A (ja) | 電子計算機 | |
JPH028330B2 (ja) | ||
JPH0367331A (ja) | マイクロプロセッサ | |
JPH0673104B2 (ja) | マイクロプログラム制御装置 | |
JPS6091448A (ja) | マイクロプログラム制御型デ−タ処理装置 | |
JPS59189451A (ja) | 情報処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 19980120 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080206 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090206 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090206 Year of fee payment: 11 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090206 Year of fee payment: 11 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100206 Year of fee payment: 12 |
|
LAPS | Cancellation because of no payment of annual fees |