JPH04260131A - マイクロプログラム制御方式 - Google Patents
マイクロプログラム制御方式Info
- Publication number
- JPH04260131A JPH04260131A JP2185091A JP2185091A JPH04260131A JP H04260131 A JPH04260131 A JP H04260131A JP 2185091 A JP2185091 A JP 2185091A JP 2185091 A JP2185091 A JP 2185091A JP H04260131 A JPH04260131 A JP H04260131A
- Authority
- JP
- Japan
- Prior art keywords
- address
- instruction
- map
- microprogram
- operation 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.)
- Granted
Links
- 238000000034 method Methods 0.000 claims description 12
- 238000010586 diagram Methods 0.000 description 8
- 238000012986 modification Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 102100024348 Beta-adducin Human genes 0.000 description 1
- 101000689619 Homo sapiens Beta-adducin Proteins 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
Landscapes
- Executing Machine-Instructions (AREA)
Abstract
め要約のデータは記録されません。
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」の命令に対応するマップアドレスは、両者の積「2
0×4」に一定のオフセットを加算した値として求めて
いる。
オペレーションコードの種類) ×( アドレス指定子
の種類)となり、マップテーブルの大きさもマップアド
レスの数だけ必要となる。
指定子の種類が増えるにつれて、マイクロプロラムメモ
リ上でマップテーブルの占める領域が大きくなり、マイ
クロプログラムの2ステップ目以降のプログラムデータ
を格納する領域がその分少なくなるという問題点があっ
た。
有される領域を少なくし、マイクロプログラムメモリの
記憶領域をより有効に活用できるようにすることである
。
明図である。本発明では、演算処理装置で処理される算
術演算命令、論理演算命令、転送命令等の命令のオペラ
ンドに対する処理を、オペランドのアドレス(又はデー
タ)に対する書き込み又は読み出しの2種類の処理に分
類することができ、しかもそれらの処理がオペレーショ
ンコードに依存しないことに着目し、オペランドの処理
とオペレーションコードの処理とを分けて実行するよう
にしている。
ペレーションコード3に対応するマイクロプログラムメ
モリ5上のアドレス(以下、Aマップアドレスと呼ぶ)
と、命令のアドレス指定子4に対応するマイクロプログ
ラム5上のアドレス(以下、Oマップアドレスと呼ぶ)
とを独立に生成する。
おいて命令のアドレス指定子4から生成されるアドレス
で指定されるマイクロプログラムメモリ5上の指令デー
タに従い、データメモリ等に対して読み出し又は書き込
みを行った後、オペレーションコード3から生成される
アドレスで指定されるマイクロプログラムメモリ5上の
指令データに従い、オペレーションコードで指定される
処理を実行する。
アドレス指定子から生成するアドレスと、オペレーショ
ンコードから生成するアドレスとを別々に生成するよう
にしている。
応するAマップアドレスで指定されるマイクロプログラ
ムを実行して、オペランドのアドレス(又はデータ)に
対して書き込み又は読み出しを行い、次にオペレーショ
ンコードに対応するOマップアドレスで指定されるマイ
クロプログラムを実行して、オペレーションコードに対
応する命令を実行する。
は読み出しかの識別は、例えば命令に識別用のビットを
設けるか、あるいはオペランドの処理を実行するときに
オペレーションコードを同時にデコードして、その命令
がオペランドの書き込みか、あるいは読み出しかを識別
するようにすれば良い。
ップテーブルをマイクロプログラムメモリ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、S
UB 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
、ST D」を実行する。先ず、「LD A」がイ
ンストラクションキュー12でフェッチされ、インスト
ラクションデコード30でデコードされる。この命令は
、即値読み出しのLD命令であるので、加算器23にお
いて、オペランドの即値読み出しのコード「0」と、レ
ジスタ24に記憶されているオペランド読み出し用のオ
フセットアドレス「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に
おけるマップテーブルの占める領域を小さくすることが
できる。
28 種類、アドレス指定子の種類が16種類で、マイ
クロプログラムメモリ16の大きさが4096ステップ
であるとすると、従来のマイクロプログラム制御方式で
は、マップテーブルの大きさは1288×16=204
8ステップとなり、メモリ16の領域の半分をマップテ
ーブルが占めてしまうことになる。
制御方式では、Oマップテーブルが128 ステップ、
Aマップテーブルが16×2=32ステップとなり、全
体で160 ステップで済む。
2ステップ目以降のマイクロプログラムデータに使用で
きる領域が、従来の2048ステップから3936ステ
ップとなり、使用可能な領域が約1.9 倍に増えたこ
とになる。
成は、実施例に示した回路に限定されず種々の変形が可
能である。例えば、上記実施例では、インストラクショ
ンキュー12でフェッチされたオペレーションコード及
びアドレス指定子のコードから、直接マイクロプログラ
ムメモリ16上のアドレスを算出するようにしているが
、オペレーションコードとマイクロプグラムメモリ16
上のアドレスとが直接対応しない場合には、フェッチし
たコードをインストラクションデコード30内でデコー
ドでして、マイクロプログラムメモリ16上のアドレス
に変換するようにしても良い。
ドとアドレス指定子から、それぞれ独立にアドレスを生
成することで、マイクロプログラムメモリに占めるマッ
プテーブルの領域を小さくすることができ、マイクロプ
ログラムメモリをより有効に活用できる。
である。
の構成図である。
Claims (1)
- 【請求項1】マイクロプログラム制御方式において、命
令をデコードするときに、命令のオペレーションコード
(3) に対応するマイクロプログラムメモリ(5)
上のアドレスと、アドレス指定子(4) に対応するマ
イクロプログラムメモリ(5) 上のアドレスとを、独
立に生成するアドレス生成手段(1) と、命令実行時
に、前記アドレス生成手段(1) において命令のアド
レス指定子(4) から生成されるアドレスで指定され
るマイクロプログラムメモリ上の指令データに従い、デ
ータメモリ等に対して読み出し又は書き込みを行った後
、命令のオペレーションコード(3) から生成される
アドレスで指定されるマイクロプログラムメモリ(5)
上の指令データに従い、加減算等の演算を実行する命
令実行手段(2) とを備えることを特徴とするマイク
ロプログラム制御方式。
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 true JPH04260131A (ja) | 1992-09-16 |
JP2743947B2 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) |
Citations (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
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02110631A (ja) * | 1989-08-04 | 1990-04-23 | Hitachi Ltd | マイクロプログラム制御方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2743947B2 (ja) | 1998-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20130016246A (ko) | 다중 명령 세트에 의해 사용되는 레지스터 간의 매핑 | |
JPH04172533A (ja) | 電子計算機 | |
EP0199173A2 (en) | Data processing system | |
US7546442B1 (en) | Fixed length memory to memory arithmetic and architecture for direct memory access using fixed length instructions | |
JPS62197830A (ja) | デ−タ処理システム | |
JP2003044273A (ja) | データ処理装置及びデータ処理方法 | |
JPH1165839A (ja) | プロセッサの命令制御機構 | |
JP2685245B2 (ja) | プログラマブルコントローラ | |
JPS6212529B2 (ja) | ||
JP2551167B2 (ja) | マイクロコンピュータ | |
JPH0523447B2 (ja) | ||
JPH034936B2 (ja) | ||
JPH056281A (ja) | 情報処理装置 | |
JPH04260131A (ja) | マイクロプログラム制御方式 | |
JPS6217773B2 (ja) | ||
JP2000112754A (ja) | データ処理装置 | |
JPH0218729B2 (ja) | ||
JPH07110769A (ja) | Vliw型計算機 | |
JP3733746B2 (ja) | プログラマブルコントローラ | |
JPH03204004A (ja) | プログラマブルコントローラ | |
JP3140028B2 (ja) | サブルーチンの引数の受け渡し方式 | |
JPH05274341A (ja) | ベクトル命令処理装置 | |
JP4702004B2 (ja) | マイクロコンピュータ | |
JPH05250156A (ja) | Riscプロセッサ | |
JPH0916399A (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 |