JPS6028014B2 - マイクロプロセツサ - Google Patents

マイクロプロセツサ

Info

Publication number
JPS6028014B2
JPS6028014B2 JP10855680A JP10855680A JPS6028014B2 JP S6028014 B2 JPS6028014 B2 JP S6028014B2 JP 10855680 A JP10855680 A JP 10855680A JP 10855680 A JP10855680 A JP 10855680A JP S6028014 B2 JPS6028014 B2 JP S6028014B2
Authority
JP
Japan
Prior art keywords
instruction
register
data
memory
microcycle
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
Application number
JP10855680A
Other languages
English (en)
Other versions
JPS5734252A (en
Inventor
雅彦 山越
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP10855680A priority Critical patent/JPS6028014B2/ja
Publication of JPS5734252A publication Critical patent/JPS5734252A/ja
Publication of JPS6028014B2 publication Critical patent/JPS6028014B2/ja
Expired 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, look ahead
    • G06F9/3802Instruction prefetching

Description

【発明の詳細な説明】 この発明は、先行制御方式によって行なわれるマイクロ
プログラム制御のマイクロプロセッサに関するものであ
る。
マイクロプログラム制御のマイクロプロセッサにおいて
は、機械命令の実行を布線論理の回路で行うことなく、
マイクロプログラム化された制御ユニットを備え、マイ
クロ命令の実行により、各機械命令に対する処理を行っ
ている。
機械命令を実行するには、命令の読み出し、命令の解読
、オペランドの生成およびデータの処理などの各ステッ
プを順次、処理していくが、命令実行時間を短くするた
めに複数の命令をオーバー・ラップして処理する先行制
御が行なわれている。この方式を探る従来の装置の例を
第1図に示す。
第1図において、1はつぎのつぎに実行する機械命令を
記憶しているプログラムメモリ(図示せず)のアドレス
を示すプログラムカウンタ、2は処理データの入出力時
のアドレスレジスタ、3はこのプログラムカウンタ1ま
たはアドレスレジスタ2の内容を出力するアドレスバス
、4はこのアドレスバス3によりアクセスされる上記プ
ログラムメモリもしくはデータメモリ(図示せず)への
入力データもしくは出力データを転送するデータバスで
ある。
5は機械命令の読み出し時に、このデータバス4の内容
を記憶するィンストラクションレジスタ、6はこのイン
ストラクシヨンレジスタ5の内容を記憶する実行ィンス
トラクションレジスタ、7は前記ィンストラクションレ
ジスタ5の内容により、該機械命令のマイクロ命令が格
納されているアドレスを指定するマイクロ分岐アドレス
生成部、8はこのマイクロ分岐アドレス生成部7もしく
はマイクロ命令により制御され、つぎに実行するマイク
ロ命令のアドレスを指定するマイクロプログラム制御部
、9はマイクロ命令を格納しているマイクロプログラム
メモリ、10はこのマイクロプログラムメモリ9の出力
データを記憶するマイクロインストラクシヨンレジスタ
、11はデータ処理を行い、かつ演算時の一時記憶とし
て用いる汎用レジスター4を内蔵した演算部、12はデ
ータの処理時にデータメモリからのデータを入力するデ
ータ入力レジスタ、13はデータメモリへ書き込むデー
タを格納するデ−タ出力レジスタである。
つぎに上記構成の動作について説明する。
通常、1つの機械命令を実行するには、命令の読み出し
、命令の解読、データの処理の3ステップを連続して実
行する。
命令の読み出しおよび命令の解読の各ステップは、1マ
イクロサイクルで実行し、データの処理ステップは、処
理の内容により1〜数10マイクロサイクルで実行され
る。さて、第2図に示すように、演算部11に内蔵され
ている汎用レジスター4相互間のデータ処理を行う機械
命令のレジスタ間演算命令であるA命令、B命令、C命
令が、この順序で連続して実行されるとすると、A命令
は、命令の読み出し、命令の解読、データの処理の各ス
テップが、1マイクロサイクルで各処理されて、合計3
マイクロサイクルで実行される。命令の読み出しステッ
プでは、プログラムカウン夕1の内容をアドレスバス3
に出力し、プログラムメモリは、それによってアクセス
され、デ−タバス4に機械命令を出力するので、その機
械命令をインストラクションレジスタ5に記憶する一連
の処理を行う。
ついで、命令の解読ステップでは、ィンストラクション
レジスタ5に記憶された機械命令をマイクロ分岐アドレ
ス生成部7により、該機械命令に対応するマイクロ命令
が格納されているマイクロプログラムメモリ9のアドレ
スを生成し、マイクロプログラム制御部8を通して、マ
イクロプログラムメモリ9をアクセスし、マイクロ命令
をマイクロィンストラクションレジスタ10‘こ記憶す
る。
そして、同時に、機械命令を実行ィンストラクションレ
ジスタ6に記憶する一連の処理を行う。
つぎのデータの処理ステップでは、演算部11が内蔵す
る汎用レジスタ14のデータにより、データ処理を行い
、その結果を再度、上記汎用レジスター4に記憶する処
理を行う。しかし、その時、各命令のステップはオーバ
ラップして実行される。
たとえば、A命令のデータの処理ステップの1マイクロ
サイクルでは、同時に、つぎに実行される命令であるB
命令の命令の解読ステップが実行され、つぎのつぎに実
行される命令であるC命令の命令の読み出しステップが
実行されている。この時、A命令の機械命令に対応する
マイクロ命令が全ての処理を制御している。したがって
レジスタ間演算命令においては、実算的な命令実行時間
は、1マイクロサイクルとなつている。
つぎに、レジスタとデータメモリ間の演算を行う機械命
令であるレジスタ・メモリ間の演算命令の場合は、命令
の読み出しおよび命令の解読の各ステップは、前記レジ
スタ間演算命令と同一であり、1マイクロサイクルで実
行されるが、データの処理ステップは、レジスタ間演算
命令と異なっている。
第3図にレジスタ間演算命令A、レジスタ・メモリ間演
算命令B、レジスタ間演算命令C、レジスタ演算命令D
の順序で命令を実行する場合の手順を示す。
ここで、B命令のデータの処理ステップの処理手順を第
1図および第3図により説明すると、まず始めのマイク
ロサイクルで実行インストラクションレジスタ6に記憶
されている機械命令のオペランドを演算部1 1を通し
て、データメモリから読み出すデータのアドレスとして
、アドレスレジスタ2に記憶させる。
つぎのマイクロサイクルで、アドレスレジスタ2の内容
をアドレスバス3に出力し、それによりアクセスされる
データメモリからの読み出しデータを、データバス4を
介して、データ入力レジスタ12に記憶させ、そのつぎ
のマイクロサイクルで、前記データ入力レジスタ12の
内容と、演算部11内の汎用レジスタ14の内容とを演
算部11により演算し、その結果をデータ出力レジスタ
13に記憶させる。
そしてつぎのマイクロサイクルで、アドレスレジスタ2
の内容をアドレスバス3に出力するとともに、データ出
力レジスタ13の内容をデータバス4に出力し、演算結
果をデータメモリに書き込む。ここで、このマイクロサ
イクルは、B命令におけるデータの処理ステップの最終
の実行マイクロサイクルであるので、本来は、C命令の
命令の解読ステップおよび、D命令の命令の読み出しス
テップも同時に実行するべきである。しかし、このマイ
クロサイクルでは、データメモリへのデータの書き込み
のため、アドレスバス3およびデータバス4を使用して
いるので、D命令の命令の読み出しステップは、同時に
実行できない。したがって、つぎのマイクロサイクルで
、C命令の命令の解読ステップおよびD命令の命令の読
み出しの各ステップを実行する。この時、B命令のデー
タの処理ステップでは、実際のデータの処理は何も実行
されていない。従来のこの種の装置は、以上のように構
成されているので、レジスタ・メモリ間演算の場合のよ
うに、命令の実行ステップの実際の命令実行の最終マイ
クロサイクルが、メモリへのデータの書き込み処理であ
る場合、プログラムメモリと、データメモリが共通のバ
スを使用しているため、通常は、命令の実行ステップの
最終ステップに、同時に行なわれるところのつぎのつぎ
に実行する命令の読み出しステップが、実際の命令実行
と同時に行なうことができず、命令実行ステップの最後
に1マイク,ロサィクルを追加し、つぎのつぎに実行す
る命令の読み出しステップを行うことが必要であり、1
命令に対するマイクロサイクルの増加、すなわち命令実
行速度が低下するうえマイクロプログラム容量も増大す
るという欠点があった。
この発明は、これらの欠点を解消するためになされたも
ので、ハードウェア量の増加を極力抑えたうえで命令実
行速度の高速化およびマイクロプログラム容量の縮少化
を図り得るマイクロプロセッサを提供することを目的と
している。以下、この発明の一実施例を図面にしたがっ
て説明する。
第4図は、この発明の一実施例のブロック図であり、第
1図と同一部所には同一番号を付して説明を省略する。
同図において、15は前もって機械命令を読み出し、一
時記憶しておくブリインストラクションレジスタ、16
は機械命令の読み出し時に、インストラクションレジス
タ5に記憶する内容をデータバス4の内容か、前記プリ
ィンストラクションレジスタ15の内容かを切り替える
マルチプレクサである。第5図に、レジス夕闇演算命令
、レジスタ・メモリ間演算命令B、レジスタ間演算命令
C、レジスタ間演算命令Dの順序で命令を実行する場合
の処理手順を示す。
ここでB命令のデータの処理ステップの処理手順を第4
図および第5図により説明すると、まず最初のマイクロ
サイクルで前記第3図と同様にデータメモリアドレスの
生成を行つoそして、同じマイクロサイクルで、D命令
の命令を先読みしておく。
すなわち、プログラムカウンタ1の内容をアドレスバス
3に出力し、プログラムメモリは、それによってアクセ
スされ、データバス4にD命令の内容を出力するので、
その内容をプリィンストラクションレジスタ15に記憶
させ、その時、インストラクションレジス夕5の内容は
、そのまま保持しておく。つぎのマイクロサイクルでは
、B命令は第3図と同じようにメモリからのデータ読み
出しを行い、そのつぎのマイクロサイクルでは演算を行
い、さらにそのつぎのマイクロサイクルにはメモリへの
データ書き込みを行う。このサイクルが、データ処理ス
テップの最終の実行マイクロサイクルであるので、同時
にC命令の命令の解読ステップを実行し、D命令の命令
の読み出しステップを実行するが、この実行は、通常の
命令の読み出しステップとは異なり、B命令の実行ステ
ップの最初のマイクロサイクルでプリィンストラクショ
ンレジス夕15に記憶してあった内容をマルチプレクサ
16により選択して、ィンストラクションレジスタ5に
記憶する。
以上のようにレジスタ・メモリ間演算命令においては、
命令の先読み出しを行って、プリィンストラクションレ
ジスタ15に機械命令を記憶しておくので、データの処
理ステップの最終マイクロサイクルでは、インストラク
シヨンレジスタ5に記憶するデータをマルチプレクサ1
6により切り替えてプリィンストラクションレジスタ1
5からのデータとすることにより、命令の読み出しステ
ップの処理は、通常の命令の読み出しステップと同一の
制御を行うことができ、また、レジスタ間演算命令の場
合のように、メモリへのデータ書き込み処理を伴なわな
い命令の場合は、マルチプレクサ16により、インスト
ラクシヨンレジスタ5に入力するデータバス4からのデ
ータとすることにより、従来と全く同一の処理が行なえ
るものである。
なお、上記実施例では、命令実行ステップの始めのマイ
クロサイクルで、つぎに読み出すべき機械命令を先読み
してし、たが、命令実行ステップ中のプログラムメモリ
もしくは、データメモリ等を使用していないマイクロサ
イクルであれば、どのマイクロサイクルで先読みしても
よく、また、上記実施例では、レジスタ・メモリ間演算
命令のみについて説明したが、この発明は、メモリへの
データの書き込みを伴うすべての機械命令に対して、広
く適用できるものである。
以上のように、この発明によれば、従来のものに読み出
しや書き込みを行なわないマイクロプログラムの1ステ
ップの間に、つぎに読み出すべき機械命令をプログラム
メモリから読み出して一時記憶しておくためのプリィン
ストラクションレジスタと、このブリインストラクシヨ
ンレジスタの出力とプログラムメモリの出力とを切り替
えるマルチプレクサとを付加するだけの簡単な構成によ
り、機械命令実行時の最後のマイクロサイクルで、メモ
リへのデータの書き込みと命令の読み出しを同時に実行
できるから、1つの機械命令のマイクロサイクル数が短
縮でき、それによって、命令実行の高速化とマイクロプ
ログラム容量の減少化を図ることができるという効果が
ある。
【図面の簡単な説明】
第1図は従来のマイクロプロセッサの一例を示すブロッ
ク図、第2図及び第3図は第1図のマイクロプロセッサ
の命令実行のフローチャート、第4図はこの発明の一実
施例におけるブ。 ック図、第5図は第4図の実施例の命令実行のフローチ
ャートである。1……プログラムカウンタ、2……アド
レスレジスタ、3……アドレスバス、4……データバス
、5……インストラクシヨンレジスタ、6……実行ィン
ストラクションレジスタ、7..・..・マイクロ分岐
アドレス生成部、8・・・・・・マイクロプログラム制
御部、9・・・・・・マイクロプログラムメモリ、10
”””マイクロインストラクシヨンレジスタ、11・・
・・・・演算部、12・・・・・・データ入力レジスタ
、13・・・…データ出力レジスタ、14…・・・汎用
レジスタ、15……プリインストラクシヨンレジスタ、
16……マルチプレクサ。 なお、図中、同一符号は同一もしくは相当部分を示す。 第5図第1図 図 N 船 図 の 船 第4図

Claims (1)

    【特許請求の範囲】
  1. 1 機械命令をマイクロプログラムにより実行し、先行
    制御を行つているマイクロプロセツサにおいて、メモリ
    への読み出しもしくは書き込みを行なわないマイクロプ
    ログラムの1ステツプを利用して、つぎに読み出すべき
    機械命令を機械命令が格納されているプログラムメモリ
    から読み出して一時記憶しておくプリインストラクシヨ
    ンレジスタと、前記プリインストラクシヨンレジスタの
    出力とプログラムメモリの出力とを切り替えるマルチプ
    レクサと、前記マルチプレクサの出力をつぎに実行する
    機械命令として記憶するインストラクシヨンレジスタと
    を備えたマイクロプロセツサ。
JP10855680A 1980-08-04 1980-08-04 マイクロプロセツサ Expired JPS6028014B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10855680A JPS6028014B2 (ja) 1980-08-04 1980-08-04 マイクロプロセツサ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10855680A JPS6028014B2 (ja) 1980-08-04 1980-08-04 マイクロプロセツサ

Publications (2)

Publication Number Publication Date
JPS5734252A JPS5734252A (en) 1982-02-24
JPS6028014B2 true JPS6028014B2 (ja) 1985-07-02

Family

ID=14487816

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10855680A Expired JPS6028014B2 (ja) 1980-08-04 1980-08-04 マイクロプロセツサ

Country Status (1)

Country Link
JP (1) JPS6028014B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6290721U (ja) * 1985-11-27 1987-06-10

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6290721U (ja) * 1985-11-27 1987-06-10

Also Published As

Publication number Publication date
JPS5734252A (en) 1982-02-24

Similar Documents

Publication Publication Date Title
JPH0374434B2 (ja)
JPS6028015B2 (ja) 情報処理装置
US4539635A (en) Pipelined digital processor arranged for conditional operation
JPS5852265B2 (ja) デ−タ処理装置
JPS6313215B2 (ja)
JPH0248931B2 (ja)
JPS62197830A (ja) デ−タ処理システム
JP3237858B2 (ja) 演算装置
US5390306A (en) Pipeline processing system and microprocessor using the system
JPS623461B2 (ja)
JPS6028014B2 (ja) マイクロプロセツサ
JPH0218729B2 (ja)
JPH0222413B2 (ja)
JP2583506B2 (ja) データ処理装置
JP3490191B2 (ja) 計算機
JPH07110769A (ja) Vliw型計算機
JPS5925264B2 (ja) ベクトル命令処理方式
JP2982129B2 (ja) マイクロプログラム制御装置
JPH0561660B2 (ja)
JPS6047617B2 (ja) 情報処理装置
JPH0234058B2 (ja)
JP2583614B2 (ja) ベクトル演算装置
JPS5896346A (ja) 階層型演算方式
JPH0218732B2 (ja)
JPH03164945A (ja) データ処理装置