JPH0776917B2 - マイクロコンピユ−タ - Google Patents
マイクロコンピユ−タInfo
- Publication number
- JPH0776917B2 JPH0776917B2 JP59276835A JP27683584A JPH0776917B2 JP H0776917 B2 JPH0776917 B2 JP H0776917B2 JP 59276835 A JP59276835 A JP 59276835A JP 27683584 A JP27683584 A JP 27683584A JP H0776917 B2 JPH0776917 B2 JP H0776917B2
- Authority
- JP
- Japan
- Prior art keywords
- instruction
- cycle
- information
- program counter
- cycles
- 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 - Lifetime
Links
- 230000006835 compression Effects 0.000 description 16
- 238000007906 compression Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 6
- 238000007796 conventional method Methods 0.000 description 5
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005669 field effect Effects 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/3802—Instruction prefetching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
- G06F9/321—Program or instruction counter, e.g. incrementing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/3824—Operand accessing
- G06F9/383—Operand prefetching
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Executing Machine-Instructions (AREA)
- Advance Control (AREA)
Description
【発明の詳細な説明】 〔産業上の利用分野〕 この発明はマイクロコンピュータ、特に命令実行サイク
ルの圧縮を行う場合等に用いて好適なマイクロコンピュ
ータに関する。
ルの圧縮を行う場合等に用いて好適なマイクロコンピュ
ータに関する。
一般にランダムアクセスメモリ(ROM)を内蔵するシン
グルチップ型のマイクロコンピュータでは、命令の実行
と命令のフエッチ(読み出し)はオーバラップしてい
る。これはいわゆるパイプライン処理と呼ばれている。
この命令の実行時間と命令のフエッチ時間が同一であれ
ば、100%オーバラップすることができるが、ほとんど
の場合命令のフエッチ時間の方が短いため、ROMをアク
セスしない時間がある。
グルチップ型のマイクロコンピュータでは、命令の実行
と命令のフエッチ(読み出し)はオーバラップしてい
る。これはいわゆるパイプライン処理と呼ばれている。
この命令の実行時間と命令のフエッチ時間が同一であれ
ば、100%オーバラップすることができるが、ほとんど
の場合命令のフエッチ時間の方が短いため、ROMをアク
セスしない時間がある。
各命令は基本命令サイクルを単位として実行され、バイ
ト単位のプログラムエリアを持つ4ビットマイクロコン
ピュータであれば、1バイト命令は1命令サイクル、2
バイト命令は2命令サイクル、3バイト命令は3命令サ
イクルが夫々必要で通常のルーチンでは1バイトを読み
出す毎にプログラムカウンタを1つ、1命令サイクル毎
に増加させるのがこれまでの方法である。
ト単位のプログラムエリアを持つ4ビットマイクロコン
ピュータであれば、1バイト命令は1命令サイクル、2
バイト命令は2命令サイクル、3バイト命令は3命令サ
イクルが夫々必要で通常のルーチンでは1バイトを読み
出す毎にプログラムカウンタを1つ、1命令サイクル毎
に増加させるのがこれまでの方法である。
ところが、上述の如き従来法の場合、ROMをアクセスし
ない無駄な時間が多く、また2命令サイクル、3命令サ
イクルを区別するための命令デコーダのマシンステート
信号(マシンサイクルを区別する信号)が多くなり、し
かもサイクル数が多いだけそのサイクルに必要な制御信
号を発生する回路が多くなる等の欠点があった。
ない無駄な時間が多く、また2命令サイクル、3命令サ
イクルを区別するための命令デコーダのマシンステート
信号(マシンサイクルを区別する信号)が多くなり、し
かもサイクル数が多いだけそのサイクルに必要な制御信
号を発生する回路が多くなる等の欠点があった。
この発明は斯る点に鑑みてなされたもので、命令実行時
間を短縮することができ、しかも命令デコードに必要な
マシンステート信号を減らして命令デコーダを小型化す
ることができるマイクロコンピュータを提供するもので
ある。
間を短縮することができ、しかも命令デコードに必要な
マシンステート信号を減らして命令デコーダを小型化す
ることができるマイクロコンピュータを提供するもので
ある。
この発明によるマイクロコンピュータは、n個の単位情
報からなる命令情報が記憶されたメモリと、該メモリに
記憶された命令情報の内容を解析する命令デコーダと、
m個の単位サイクルからなる基本命令サイクル毎にイン
クリメントするプログラムカウンタとを有し、上記メモ
リに記憶された命令情報による処理を行う際に、上記命
令情報を構成するn個の単位情報を、上記プログラムカ
ウンタのインクリメント毎に上記基本命令サイクル内の
先頭の単位サイクル内で取り出し、該取り出された命令
情報の内容を上記命令デコーダが解析し、該解析結果に
基いて上記n個の単位情報の内の最後の単位情報が取り
出された基本命令サイクル内の2番目以降の単位サイク
ル内において処理を実行するマイクロコンピュータにお
いて、上記命令デコーダは、上記命令情報を構成する単
位情報の個数nが2以上のときに、上記基本命令サイク
ルの少なくとも2番目以降の単位サイクル内において上
記プログラムカウンタに制御信号を供給して上記プログ
ラムカウンタにインクリメント動作させ、少なくとも1
つの基本命令サイクルにおいて上記単位情報を2以上取
り出すよう制御するものである。
報からなる命令情報が記憶されたメモリと、該メモリに
記憶された命令情報の内容を解析する命令デコーダと、
m個の単位サイクルからなる基本命令サイクル毎にイン
クリメントするプログラムカウンタとを有し、上記メモ
リに記憶された命令情報による処理を行う際に、上記命
令情報を構成するn個の単位情報を、上記プログラムカ
ウンタのインクリメント毎に上記基本命令サイクル内の
先頭の単位サイクル内で取り出し、該取り出された命令
情報の内容を上記命令デコーダが解析し、該解析結果に
基いて上記n個の単位情報の内の最後の単位情報が取り
出された基本命令サイクル内の2番目以降の単位サイク
ル内において処理を実行するマイクロコンピュータにお
いて、上記命令デコーダは、上記命令情報を構成する単
位情報の個数nが2以上のときに、上記基本命令サイク
ルの少なくとも2番目以降の単位サイクル内において上
記プログラムカウンタに制御信号を供給して上記プログ
ラムカウンタにインクリメント動作させ、少なくとも1
つの基本命令サイクルにおいて上記単位情報を2以上取
り出すよう制御するものである。
命令情報を構成する単位情報の個数nが2以上のとき
に、命令デコーダが、基本命令サイクルの少なくとも2
番目以降の単位サイクル内において上記プログラムカウ
ンタに制御信号を供給して上記プログラムカウンタにイ
ンクリメント動作させ、少なくとも1つの基本命令サイ
クルにおいて上記単位情報を2以上取り出すよう制御す
るようにしたので、基本命令サイクルの少なくとも2番
目以降の単位サイクルを有効に使用して命令時間を大幅
に短縮することができる。
に、命令デコーダが、基本命令サイクルの少なくとも2
番目以降の単位サイクル内において上記プログラムカウ
ンタに制御信号を供給して上記プログラムカウンタにイ
ンクリメント動作させ、少なくとも1つの基本命令サイ
クルにおいて上記単位情報を2以上取り出すよう制御す
るようにしたので、基本命令サイクルの少なくとも2番
目以降の単位サイクルを有効に使用して命令時間を大幅
に短縮することができる。
以下、この発明の一実施例を図面を参照して説明する。
先ず、この発明の基本原理を第3図〜第6図を参照し、
従来法と対比させ乍ら説明する。
従来法と対比させ乍ら説明する。
第3図及び第4図はLDA(8ビットのオペコード)RAM
(オペランドで8ビットのアドレスデータ命令)の場
合、すなわちRAMで示される8ビットのRAMアドレスから
アキュムレータにデータを移す命令の場合で、第3図が
圧縮前(従来法)、第4図が圧縮後(この発明による)
である。
(オペランドで8ビットのアドレスデータ命令)の場
合、すなわちRAMで示される8ビットのRAMアドレスから
アキュムレータにデータを移す命令の場合で、第3図が
圧縮前(従来法)、第4図が圧縮後(この発明による)
である。
第3図では、最初のクロックM1でオペコード(LDA)を
フエッチし、クロックM2〜M1で示される第1命令サイク
ルの最後のクロックM1でRAMアドレスをフエッチし、次
のクロックM2〜M1で示される第2命令サイクルのクロッ
クM0でRAMデータを読み出し、次のクロックM1でアキュ
ムレータにデータを移す。このとき、プログラムカウン
タPCはクロックM1で1個ずつインクリメントされる。
フエッチし、クロックM2〜M1で示される第1命令サイク
ルの最後のクロックM1でRAMアドレスをフエッチし、次
のクロックM2〜M1で示される第2命令サイクルのクロッ
クM0でRAMデータを読み出し、次のクロックM1でアキュ
ムレータにデータを移す。このとき、プログラムカウン
タPCはクロックM1で1個ずつインクリメントされる。
一方、第4図では、最初のクロックM1でオペコード(LD
A)をフエッチし、第1命令サイクル中のクロックM3でR
AMアドレスをフエッチし、次のクロックM0でRAMデータ
を読み出し、次のクロックM1でアキュムレータにデータ
を移す。このとき、プログラムカウンタPCはクロックM1
で1個ずつインクリメントされるのは上述同様である
が、ここでは第1命令サイクル内の途中にあるクロック
M3でも1個インクリメントされる。つまり、これは圧縮
命令があったことを意味している。
A)をフエッチし、第1命令サイクル中のクロックM3でR
AMアドレスをフエッチし、次のクロックM0でRAMデータ
を読み出し、次のクロックM1でアキュムレータにデータ
を移す。このとき、プログラムカウンタPCはクロックM1
で1個ずつインクリメントされるのは上述同様である
が、ここでは第1命令サイクル内の途中にあるクロック
M3でも1個インクリメントされる。つまり、これは圧縮
命令があったことを意味している。
従って、第3図では第1命令サイクルの全期間にわたっ
てRAMアドレスの読み出しが行われたのに対し、第4図
では第1命令サイクルの約半分を用いてRAMアドレスの
読み出しが行われ、残りの空き時間に次の命令をフエッ
チすることができる。このようにして第4図では2バイ
ト1命令サイクルの圧縮が可能となる。
てRAMアドレスの読み出しが行われたのに対し、第4図
では第1命令サイクルの約半分を用いてRAMアドレスの
読み出しが行われ、残りの空き時間に次の命令をフエッ
チすることができる。このようにして第4図では2バイ
ト1命令サイクルの圧縮が可能となる。
第5図及び第6図はCALL(8ビットのオペコード)P
H(オペランドで8ビットのアドレスデータ(ハイアド
レス))PL(オペランドで8ビットのアドレスデータ
(ローアドレス))の場合、すなわちPH,PLで示される
2バイトのアドレスのジャンプ先にサブルーチンコール
する命令の場合で、第5図が圧縮前(従来法)、第6図
が圧縮後(この発明による)である。
H(オペランドで8ビットのアドレスデータ(ハイアド
レス))PL(オペランドで8ビットのアドレスデータ
(ローアドレス))の場合、すなわちPH,PLで示される
2バイトのアドレスのジャンプ先にサブルーチンコール
する命令の場合で、第5図が圧縮前(従来法)、第6図
が圧縮後(この発明による)である。
第5図では最初のクロックM1で命令すなわちオペコード
(CALL)をフエッチし、クロックM2〜M1で示される第1
命令サイクルの最終クロックM1で即値データ(PH)をフ
エッチし、次のクロックM2〜M1で示される第2命令サイ
クルの最終クロックM1で即値データ(PL)をフエッチ
し、合計3命令サイクルでサブルーチンコールする。こ
のとき、プログラムカウンタPCはクロックM1で1個ずつ
インクリメントされる。
(CALL)をフエッチし、クロックM2〜M1で示される第1
命令サイクルの最終クロックM1で即値データ(PH)をフ
エッチし、次のクロックM2〜M1で示される第2命令サイ
クルの最終クロックM1で即値データ(PL)をフエッチ
し、合計3命令サイクルでサブルーチンコールする。こ
のとき、プログラムカウンタPCはクロックM1で1個ずつ
インクリメントされる。
一方第6図では最初のクロックM1で命令すなわちオペコ
ード(CALL)をフエッチし、クロックM2〜M1で示される
第1命令サイクル内のクロックM3で即値データ(PH)を
フエッチし、次のクロックM1で即値データ(PL)をフエ
ッチし、合計2命令サイクルでサブルーチンコールす
る。このとき、プログラムカウンタPCはクロックM1で1
個ずつインクリメントされるのは上述同様であるが、こ
こでは第1命令サイクル内の途中にあるクロックM3でも
1個インクリメントされる。つまり、これは圧縮命令が
あったことを意味している。
ード(CALL)をフエッチし、クロックM2〜M1で示される
第1命令サイクル内のクロックM3で即値データ(PH)を
フエッチし、次のクロックM1で即値データ(PL)をフエ
ッチし、合計2命令サイクルでサブルーチンコールす
る。このとき、プログラムカウンタPCはクロックM1で1
個ずつインクリメントされるのは上述同様であるが、こ
こでは第1命令サイクル内の途中にあるクロックM3でも
1個インクリメントされる。つまり、これは圧縮命令が
あったことを意味している。
従って、第5図では第1命令サイクルで即値データ
(PH)を読み出し、第2命令サイクルで即値データ
(PL)を読み出していたのに対し、第6図では第1命令
サイクル中に即値データ(PH)と(PL)の読み出しがな
され、次の第2命令サイクルでは次の命令をフエッチす
ることができる。このようにして第6図では3バイト2
命令サイクルの圧縮が可能となる。
(PH)を読み出し、第2命令サイクルで即値データ
(PL)を読み出していたのに対し、第6図では第1命令
サイクル中に即値データ(PH)と(PL)の読み出しがな
され、次の第2命令サイクルでは次の命令をフエッチす
ることができる。このようにして第6図では3バイト2
命令サイクルの圧縮が可能となる。
第1図はこの発明の一実施例を示すもので、同図におい
て、(1)はプログラムROM、(2)はデータバッフ
ァ、(3)は命令レジスタ、(4)は例えばプログラマ
ブルロジックアレイ(PLA)で構成された命令デコー
ダ、(5)はプログラムカウンタ、(6)はRAMアドレ
スレジスタ、(7)〜(9)はゲート用の電界効果トラ
ンジスタ(FET)である。
て、(1)はプログラムROM、(2)はデータバッフ
ァ、(3)は命令レジスタ、(4)は例えばプログラマ
ブルロジックアレイ(PLA)で構成された命令デコー
ダ、(5)はプログラムカウンタ、(6)はRAMアドレ
スレジスタ、(7)〜(9)はゲート用の電界効果トラ
ンジスタ(FET)である。
次にこの回路動作を第2図を参照して説明する。
プログラムROM(1)からのデータは、命令の実行をす
るため、最初第2図Aに示す最初のクロックM1の時にFE
T(8)を介して命令レジスタ(3)に読み込まれ、更
に命令デーコダ(4)に入る。そして、命令が解読さ
れ、その命令が通常の圧縮を必要としない1バイト1命
令サイクルであれば、命令デコーダ(4)からは圧縮命
令のときのみ発生される特定の制御信号PCUPがプログラ
ムカウンタ(5)に供給されないので、プログラムカウ
ンタ(5)は自動的にクロックM1とM2の境界でフエッチ
後インクリメントされて次の命令フエッチにそなえ、次
のクロックM1で次の命令をフエッチする。第2図Bはこ
の時のプログラムカウンタ(5)の動きを示している。
るため、最初第2図Aに示す最初のクロックM1の時にFE
T(8)を介して命令レジスタ(3)に読み込まれ、更
に命令デーコダ(4)に入る。そして、命令が解読さ
れ、その命令が通常の圧縮を必要としない1バイト1命
令サイクルであれば、命令デコーダ(4)からは圧縮命
令のときのみ発生される特定の制御信号PCUPがプログラ
ムカウンタ(5)に供給されないので、プログラムカウ
ンタ(5)は自動的にクロックM1とM2の境界でフエッチ
後インクリメントされて次の命令フエッチにそなえ、次
のクロックM1で次の命令をフエッチする。第2図Bはこ
の時のプログラムカウンタ(5)の動きを示している。
一方フエッチした命令がLDA RAMのような2バイト1命
令サイクルの圧縮命令であれば、クロックM3でプログラ
ムROM(1)からの次のデータをFET(7)を介してデー
タバッファ(2)にフエッチし、FET(9)及びデータ
バスを介してRAMアドレスレジスタ(6)に入れる。そ
してこのデータはその命令サイクルの後半で使用され
る。
令サイクルの圧縮命令であれば、クロックM3でプログラ
ムROM(1)からの次のデータをFET(7)を介してデー
タバッファ(2)にフエッチし、FET(9)及びデータ
バスを介してRAMアドレスレジスタ(6)に入れる。そ
してこのデータはその命令サイクルの後半で使用され
る。
ここで、クロックM3とM0の境界で命令デコーダ(4)よ
り圧縮命令を表わす特定の制御信号PCUPをプログラムカ
ウンタ(5)に供給し、次のクロックM1で次の命令がフ
エッチできるようにインクリメントさせ、プログラムRO
M(1)のアクセスするアドレスとプログラムカウンタ
(5)の示すアドレスの値に矛盾が起きないようにす
る。すなわち、命令コードを含まない2バイト,3バイト
目のデータをメモリアクセスの空き時間を利用してデー
タバッファに読み込むが、その際に、通常の命令サイク
ルより多くROMアクセスをしているので、このような実
行が圧縮される命令では、プログラムカウンタ(5)を
1つ増加させてプログラムの実行が正しく行われるよう
にしている。第2図Cはこの時のプログラムカウンタ
(5)の動きを示している。
り圧縮命令を表わす特定の制御信号PCUPをプログラムカ
ウンタ(5)に供給し、次のクロックM1で次の命令がフ
エッチできるようにインクリメントさせ、プログラムRO
M(1)のアクセスするアドレスとプログラムカウンタ
(5)の示すアドレスの値に矛盾が起きないようにす
る。すなわち、命令コードを含まない2バイト,3バイト
目のデータをメモリアクセスの空き時間を利用してデー
タバッファに読み込むが、その際に、通常の命令サイク
ルより多くROMアクセスをしているので、このような実
行が圧縮される命令では、プログラムカウンタ(5)を
1つ増加させてプログラムの実行が正しく行われるよう
にしている。第2図Cはこの時のプログラムカウンタ
(5)の動きを示している。
上述から理解されるように、圧縮される場合、2バイ
ト,3バイト目にはオペコードを含まず、命令サイクルの
後半で使用されるデータかアドレスである必要がある。
ところが、ほとんど全ての4ビットマイクロコンピュー
タの命令セットの2バイト,3バイト目はアドレスが演算
に使用されるデータであるので、問題なく、大部分が圧
縮されることになる。
ト,3バイト目にはオペコードを含まず、命令サイクルの
後半で使用されるデータかアドレスである必要がある。
ところが、ほとんど全ての4ビットマイクロコンピュー
タの命令セットの2バイト,3バイト目はアドレスが演算
に使用されるデータであるので、問題なく、大部分が圧
縮されることになる。
第7図は圧縮命令による命令サイクル数の削減と処理速
度の向上を模式化したもので、同図において、左側部分
は2バイト1命令サイクルの圧縮の場合(第3図,第4
図相当)、右側部分は3バイト2命令サイクルの圧縮の
場合(第5図,第6図相当)である。すなわち、2バイ
ト1命令サイクルの圧縮の場合、従来第7図Aに示すよ
うに2命令サイクルでなる実行時間を要していたが、こ
の発明によれば第2図Bに示すように命令サイクルが1
つ減り、実行時間も1/2に短縮されていることがわか
る。また、3バイト2命令サイクルの圧縮の場合、従来
第7図Aに示すように3命令サイクルでなる実行時間を
要していたが、この発明によれば第2図Bに示すように
命令サイクルが1つ減り、実行時間も2/3に短縮されて
いることがわかる。
度の向上を模式化したもので、同図において、左側部分
は2バイト1命令サイクルの圧縮の場合(第3図,第4
図相当)、右側部分は3バイト2命令サイクルの圧縮の
場合(第5図,第6図相当)である。すなわち、2バイ
ト1命令サイクルの圧縮の場合、従来第7図Aに示すよ
うに2命令サイクルでなる実行時間を要していたが、こ
の発明によれば第2図Bに示すように命令サイクルが1
つ減り、実行時間も1/2に短縮されていることがわか
る。また、3バイト2命令サイクルの圧縮の場合、従来
第7図Aに示すように3命令サイクルでなる実行時間を
要していたが、この発明によれば第2図Bに示すように
命令サイクルが1つ減り、実行時間も2/3に短縮されて
いることがわかる。
第8図は圧縮命令による命令デコーダ(PLA)のマシン
ステート数の削減と面積の縮小を説明するためのもの
で、ここでは3バイト命令の場合である。
ステート数の削減と面積の縮小を説明するためのもの
で、ここでは3バイト命令の場合である。
第8図Aは圧縮サイクル導入前を示し、第8図Bは圧縮
サイクル導入後を夫々示している。各図において、縦の
線はAND項による選択ラインを表わし、M1はマシンステ
ート1選択入力、M2はマシンステート2選択入力、M3は
マシンステート3選択入力を夫々表わしている。AND項
の縦の線が選ばれると、これに対して交差するOR項の横
の線、即ち制御信号ラインに制御信号が出力される。
サイクル導入後を夫々示している。各図において、縦の
線はAND項による選択ラインを表わし、M1はマシンステ
ート1選択入力、M2はマシンステート2選択入力、M3は
マシンステート3選択入力を夫々表わしている。AND項
の縦の線が選ばれると、これに対して交差するOR項の横
の線、即ち制御信号ラインに制御信号が出力される。
第8図A及び第8図Bの対比からもわかるように、圧縮
された結果命令デコードに必要なマシンステート入力数
が減少し、2命令サイクル、3命令サイクルの命令の場
合に必要な2サイクル目,3サイクル目に出力するOR項か
らの制御信号がいらなくなるため、命令デコーダのAND
項を大幅に削減でき、命令デコーダを小型にできる。
された結果命令デコードに必要なマシンステート入力数
が減少し、2命令サイクル、3命令サイクルの命令の場
合に必要な2サイクル目,3サイクル目に出力するOR項か
らの制御信号がいらなくなるため、命令デコーダのAND
項を大幅に削減でき、命令デコーダを小型にできる。
上述せる本発明によれば、命令情報を構成する単位情報
の個数nが2以上のときに、命令デコーダが、基本命令
サイクルの少なくとも2番目以降の単位サイクル内にお
いて上記プログラムカウンタに制御信号を供給して上記
プログラムカウンタにインクリメント動作させ、少なく
とも1つの基本命令サイクルにおいて上記単位情報を2
以上取り出すよう制御するようにしたので、基本命令サ
イクルの少なくとも2番目以降の単位サイクルを有効に
使用して命令時間を大幅に短縮することができる。例え
ば従来2バイト命令は2命令サイクル、3バイト命令は
3命令サイクル必要であった命令処理サイクルを、2バ
イト命令は1命令サイクルに圧縮することができる。
の個数nが2以上のときに、命令デコーダが、基本命令
サイクルの少なくとも2番目以降の単位サイクル内にお
いて上記プログラムカウンタに制御信号を供給して上記
プログラムカウンタにインクリメント動作させ、少なく
とも1つの基本命令サイクルにおいて上記単位情報を2
以上取り出すよう制御するようにしたので、基本命令サ
イクルの少なくとも2番目以降の単位サイクルを有効に
使用して命令時間を大幅に短縮することができる。例え
ば従来2バイト命令は2命令サイクル、3バイト命令は
3命令サイクル必要であった命令処理サイクルを、2バ
イト命令は1命令サイクルに圧縮することができる。
また、命令デコーダを構成するPLAのAND項の中にマシン
ステートを識別する入力を与えるのに必要な信号線が減
り、第2,第3命令サイクル時に必要な制御信号を出力す
るOR項を選択するAND項が大幅に減少し、命令デコーダ
を小型化(面積の縮小)が可能となる。
ステートを識別する入力を与えるのに必要な信号線が減
り、第2,第3命令サイクル時に必要な制御信号を出力す
るOR項を選択するAND項が大幅に減少し、命令デコーダ
を小型化(面積の縮小)が可能となる。
第1図はこの発明の一実施例を示すブロック図、第2図
は第1図の動作説明に供するための線図、第3図〜第6
図はこの発明の基本原理の説明に供するためのもので、
第3図及び第5図は圧縮前の線図、第4図及び第6図は
圧縮後の線図、第7図はこの発明と従来例を対比説明す
るための図、第8図は圧縮サイクル導入前と導入後の命
令デコードPLAを示す線図である。 (1)はプログラムROM、(2)はデータバッファ、
(3)は命令レジスタ、(4)は命令デコーダ、(5)
はプログラムカウンタ、(6)はRAMアドレスレジスタ
である。
は第1図の動作説明に供するための線図、第3図〜第6
図はこの発明の基本原理の説明に供するためのもので、
第3図及び第5図は圧縮前の線図、第4図及び第6図は
圧縮後の線図、第7図はこの発明と従来例を対比説明す
るための図、第8図は圧縮サイクル導入前と導入後の命
令デコードPLAを示す線図である。 (1)はプログラムROM、(2)はデータバッファ、
(3)は命令レジスタ、(4)は命令デコーダ、(5)
はプログラムカウンタ、(6)はRAMアドレスレジスタ
である。
Claims (1)
- 【請求項1】n個の単位情報からなる命令情報が記憶さ
れたメモリと、該メモリに記憶された命令情報の内容を
解析する命令デコーダと、m個の単位サイクルからなる
基本命令サイクル毎にインクリメントするプログラムカ
ウンタとを有し、上記メモリに記憶された命令情報によ
る処理を行う際に、上記命令情報を構成するn個の単位
情報を、上記プログラムカウンタのインクリメント毎に
上記基本命令サイクル内の先頭の単位サイクル内で取り
出し、該取り出された命令情報の内容を上記命令デコー
ダが解析し、該解析結果に基いて上記n個の単位情報の
内の最後の単位情報が取り出された基本命令サイクル内
の2番目以降の単位サイクル内において処理を実行する
マイクロコンピュータにおいて、 上記命令デコーダは、 上記命令情報を構成する単位情報の個数nが2以上のと
きに、上記基本命令サイクルの少なくとも2番目以降の
単位サイクル内において上記プログラムカウンタに制御
信号を供給して上記プログラムカウンタにインクリメン
ト動作させ、少なくとも1つの基本命令サイクルにおい
て上記単位情報を2以上取り出すよう制御することを特
徴とするマイクロコンピュータ。
Priority Applications (14)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP59276835A JPH0776917B2 (ja) | 1984-12-29 | 1984-12-29 | マイクロコンピユ−タ |
CN85109719A CN1024960C (zh) | 1984-12-29 | 1985-09-27 | 一种对具有流水线结构的微处理机的操作方法 |
KR1019850009098A KR930009754B1 (ko) | 1984-12-29 | 1985-12-04 | 마이크로컴퓨터 |
CA000497968A CA1242802A (en) | 1984-12-29 | 1985-12-18 | Microprocessor with improved instruction cycle |
NL8503516A NL193474C (nl) | 1984-12-29 | 1985-12-19 | Werkwijze voor het bedrijven van een microprocessor. |
AU51477/85A AU582408B2 (en) | 1984-12-29 | 1985-12-19 | Microprocessor with improved instruction cycle |
GB08531800A GB2169115B (en) | 1984-12-29 | 1985-12-24 | Methods of operating microprocessors |
FR858519331A FR2575563B1 (fr) | 1984-12-29 | 1985-12-27 | Procede d'exploitation d'un microcalculateur a cycle d'instruction perfectionne |
AT0376385A AT396409B (de) | 1984-12-29 | 1985-12-27 | Mikrorechner mit verbessertem befehlszyklus |
IT8548990A IT1208731B (it) | 1984-12-29 | 1985-12-27 | Metodo di funzionamento di micropro cessore |
DE3546332A DE3546332C2 (de) | 1984-12-29 | 1985-12-30 | Mikroprozessor mit verbessertem Befehlszyklus |
US08/082,822 US5630085A (en) | 1984-12-29 | 1993-06-28 | Microprocessor with improved instruction cycle using time-compressed fetching |
US08/382,392 US5621907A (en) | 1984-12-29 | 1995-02-01 | Microprocessor with memory storing instructions for time-compressed fetching of instruction data for a second cycle within a first machine cycle |
US08/488,082 US6484252B1 (en) | 1984-12-29 | 1995-06-07 | Microprocessor with improved instruction cycle using time-compressed fetching |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP59276835A JPH0776917B2 (ja) | 1984-12-29 | 1984-12-29 | マイクロコンピユ−タ |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS61157946A JPS61157946A (ja) | 1986-07-17 |
JPH0776917B2 true JPH0776917B2 (ja) | 1995-08-16 |
Family
ID=17575063
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP59276835A Expired - Lifetime JPH0776917B2 (ja) | 1984-12-29 | 1984-12-29 | マイクロコンピユ−タ |
Country Status (12)
Country | Link |
---|---|
US (3) | US5630085A (ja) |
JP (1) | JPH0776917B2 (ja) |
KR (1) | KR930009754B1 (ja) |
CN (1) | CN1024960C (ja) |
AT (1) | AT396409B (ja) |
AU (1) | AU582408B2 (ja) |
CA (1) | CA1242802A (ja) |
DE (1) | DE3546332C2 (ja) |
FR (1) | FR2575563B1 (ja) |
GB (1) | GB2169115B (ja) |
IT (1) | IT1208731B (ja) |
NL (1) | NL193474C (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5088035A (en) * | 1988-12-09 | 1992-02-11 | Commodore Business Machines, Inc. | System for accelerating execution of program instructions by a microprocessor |
GB2230116B (en) * | 1989-04-07 | 1993-02-17 | Intel Corp | An improvement for pipelined decoding of instructions in a pipelined processor |
US5293592A (en) * | 1989-04-07 | 1994-03-08 | Intel Corporatino | Decoder for pipelined system having portion indicating type of address generation and other portion controlling address generation within pipeline |
US6003127A (en) * | 1995-10-04 | 1999-12-14 | Nippondenso Co., Ltd. | Pipeline processing apparatus for reducing delays in the performance of processing operations |
US5901293A (en) * | 1996-06-25 | 1999-05-04 | Claxton; Daniel Dean | Bus interface controller for serially-accessed variable-access-time memory device |
KR100308211B1 (ko) | 1999-03-27 | 2001-10-29 | 윤종용 | 압축 명령을 갖는 마이크로 컴퓨터 시스템 |
US6978360B2 (en) * | 2001-05-11 | 2005-12-20 | International Business Machines Corporation | Scalable processor |
US7552427B2 (en) * | 2004-12-13 | 2009-06-23 | Intel Corporation | Method and apparatus for implementing a bi-endian capable compiler |
US9112495B1 (en) * | 2013-03-15 | 2015-08-18 | Mie Fujitsu Semiconductor Limited | Integrated circuit device body bias circuits and methods |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3609700A (en) * | 1970-02-24 | 1971-09-28 | Burroughs Corp | Data processing system having an improved fetch overlap feature |
US3771138A (en) * | 1971-08-31 | 1973-11-06 | Ibm | Apparatus and method for serializing instructions from two independent instruction streams |
BE789583A (fr) * | 1971-10-01 | 1973-02-01 | Sanders Associates Inc | Appareil de controle de programme pour machine de traitement del'information |
US3793631A (en) * | 1972-09-22 | 1974-02-19 | Westinghouse Electric Corp | Digital computer apparatus operative with jump instructions |
US3840861A (en) * | 1972-10-30 | 1974-10-08 | Amdahl Corp | Data processing system having an instruction pipeline for concurrently processing a plurality of instructions |
US3961313A (en) * | 1974-12-04 | 1976-06-01 | International Business Machines Corporation | Computer control apparatus |
US4079455A (en) * | 1976-12-13 | 1978-03-14 | Rca Corporation | Microprocessor architecture |
DE2702586C3 (de) * | 1977-01-22 | 1979-07-05 | Standard Elektrik Lorenz Ag, 7000 Stuttgart | Schaltungsanordnung zum Steuern des Speicherzugriffs bei einem Rechner |
US4363091A (en) * | 1978-01-31 | 1982-12-07 | Intel Corporation | Extended address, single and multiple bit microprocessor |
US4462073A (en) * | 1978-11-08 | 1984-07-24 | Data General Corporation | Apparatus for fetching and decoding instructions |
CA1134952A (en) * | 1979-04-24 | 1982-11-02 | Thomas E. Kloos | Means and method within a digital processing system for prefetching both operation codes and operands |
US4346437A (en) * | 1979-08-31 | 1982-08-24 | Bell Telephone Laboratories, Incorporated | Microcomputer using a double opcode instruction |
US4316247A (en) * | 1979-10-30 | 1982-02-16 | Texas Instruments, Inc. | Low power consumption data processing system |
US4399507A (en) * | 1981-06-30 | 1983-08-16 | Ibm Corporation | Instruction address stack in the data memory of an instruction-pipelined processor |
US4541045A (en) * | 1981-09-21 | 1985-09-10 | Racal-Milgo, Inc. | Microprocessor architecture employing efficient operand and instruction addressing |
US4654781A (en) * | 1981-10-02 | 1987-03-31 | Raytheon Company | Byte addressable memory for variable length instructions and data |
JPS58134350A (ja) * | 1982-02-04 | 1983-08-10 | Matsushita Electric Ind Co Ltd | メモリ制御装置 |
JPS58149541A (ja) * | 1982-03-01 | 1983-09-05 | Hitachi Ltd | デ−タ処理装置 |
JPS58205256A (ja) * | 1982-05-24 | 1983-11-30 | Matsushita Electric Ind Co Ltd | データ処理方法 |
JPS5920049A (ja) * | 1982-07-26 | 1984-02-01 | Nec Corp | 演算処理装置 |
US4471432A (en) * | 1982-10-13 | 1984-09-11 | Wilhite John E | Method and apparatus for initiating the execution of instructions using a central pipeline execution unit |
US4613935A (en) * | 1983-02-02 | 1986-09-23 | Couleur John F | Method and apparatus for pipe line processing with a single arithmetic logic unit |
US4742451A (en) * | 1984-05-21 | 1988-05-03 | Digital Equipment Corporation | Instruction prefetch system for conditional branch instruction for central processor unit |
-
1984
- 1984-12-29 JP JP59276835A patent/JPH0776917B2/ja not_active Expired - Lifetime
-
1985
- 1985-09-27 CN CN85109719A patent/CN1024960C/zh not_active Expired - Lifetime
- 1985-12-04 KR KR1019850009098A patent/KR930009754B1/ko not_active IP Right Cessation
- 1985-12-18 CA CA000497968A patent/CA1242802A/en not_active Expired
- 1985-12-19 NL NL8503516A patent/NL193474C/nl not_active IP Right Cessation
- 1985-12-19 AU AU51477/85A patent/AU582408B2/en not_active Expired
- 1985-12-24 GB GB08531800A patent/GB2169115B/en not_active Expired
- 1985-12-27 IT IT8548990A patent/IT1208731B/it active
- 1985-12-27 FR FR858519331A patent/FR2575563B1/fr not_active Expired - Lifetime
- 1985-12-27 AT AT0376385A patent/AT396409B/de not_active IP Right Cessation
- 1985-12-30 DE DE3546332A patent/DE3546332C2/de not_active Expired - Fee Related
-
1993
- 1993-06-28 US US08/082,822 patent/US5630085A/en not_active Expired - Lifetime
-
1995
- 1995-02-01 US US08/382,392 patent/US5621907A/en not_active Expired - Lifetime
- 1995-06-07 US US08/488,082 patent/US6484252B1/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN85109719A (zh) | 1986-07-02 |
KR860005297A (ko) | 1986-07-21 |
AU5147785A (en) | 1986-07-03 |
GB2169115B (en) | 1989-01-11 |
US5630085A (en) | 1997-05-13 |
DE3546332C2 (de) | 1995-09-21 |
DE3546332A1 (de) | 1986-07-10 |
KR930009754B1 (ko) | 1993-10-09 |
JPS61157946A (ja) | 1986-07-17 |
CA1242802A (en) | 1988-10-04 |
GB2169115A (en) | 1986-07-02 |
IT8548990A0 (it) | 1985-12-27 |
GB8531800D0 (en) | 1986-02-05 |
NL193474C (nl) | 1999-11-02 |
NL193474B (nl) | 1999-07-01 |
FR2575563B1 (fr) | 1990-12-07 |
AU582408B2 (en) | 1989-03-23 |
US6484252B1 (en) | 2002-11-19 |
AT396409B (de) | 1993-09-27 |
NL8503516A (nl) | 1986-07-16 |
ATA376385A (de) | 1992-12-15 |
US5621907A (en) | 1997-04-15 |
IT1208731B (it) | 1989-07-10 |
FR2575563A1 (fr) | 1986-07-04 |
CN1024960C (zh) | 1994-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0803091B1 (en) | Computer system | |
US4825355A (en) | Instruction format for program control type data processing systems | |
US4539635A (en) | Pipelined digital processor arranged for conditional operation | |
US4954943A (en) | Data processing system | |
US5255382A (en) | Program memory expander for 8051-based microcontrolled system | |
JPH0776917B2 (ja) | マイクロコンピユ−タ | |
US5077659A (en) | Data processor employing the same microprograms for data having different bit lengths | |
JPS6212529B2 (ja) | ||
US6249858B1 (en) | Information processing apparatus having a CPU and an auxiliary arithmetic unit for achieving high-speed operation | |
US5479620A (en) | Control unit modifying micro instructions for one cycle execution | |
KR900005284B1 (ko) | 마이크로 컴퓨터 | |
JPH0962533A (ja) | シングルチップマイクロプロセッサのテスト回路 | |
JP3000857B2 (ja) | プログラマブルコントローラ | |
JPH0218729B2 (ja) | ||
JP3511691B2 (ja) | 演算処理装置 | |
JPS6362065A (ja) | デ−タ転送制御方式 | |
KR950003884B1 (ko) | 퍼스컴 버스 인터페이스 회로 | |
US4516862A (en) | Electronic timepiece having address designation circuits of ROM and RAM | |
JP3063593B2 (ja) | プログラマブルコントローラ | |
JPH0131218B2 (ja) | ||
JPH01284926A (ja) | 演算装置の命令読出方式 | |
JPS59191612A (ja) | シ−ケンスコントロ−ラの入出力指定方式 | |
Morris et al. | A Simple Microcomputer System | |
JPH0658629B2 (ja) | データ処理装置 | |
JPS63228332A (ja) | 命令実行制御方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EXPY | Cancellation because of completion of term |