JPH0895850A - マイクロプロセッサ - Google Patents

マイクロプロセッサ

Info

Publication number
JPH0895850A
JPH0895850A JP6231420A JP23142094A JPH0895850A JP H0895850 A JPH0895850 A JP H0895850A JP 6231420 A JP6231420 A JP 6231420A JP 23142094 A JP23142094 A JP 23142094A JP H0895850 A JPH0895850 A JP H0895850A
Authority
JP
Japan
Prior art keywords
data
bit
microprocessor
transfer
register
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
Application number
JP6231420A
Other languages
English (en)
Other versions
JP3332606B2 (ja
Inventor
Hiroshi Tateishi
浩 立石
Hiroki Takahashi
裕樹 高橋
Kazuo Nakamura
和夫 中村
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.)
Renesas Design Corp
Mitsubishi Electric Corp
Mitsubishi Electric Semiconductor Systems Corp
Original Assignee
Renesas Design Corp
Mitsubishi Electric Corp
Mitsubishi Electric Semiconductor Systems 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 Renesas Design Corp, Mitsubishi Electric Corp, Mitsubishi Electric Semiconductor Systems Corp filed Critical Renesas Design Corp
Priority to JP23142094A priority Critical patent/JP3332606B2/ja
Priority to KR1019950011785A priority patent/KR100196270B1/ko
Priority to US08/487,170 priority patent/US5708800A/en
Publication of JPH0895850A publication Critical patent/JPH0895850A/ja
Application granted granted Critical
Publication of JP3332606B2 publication Critical patent/JP3332606B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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/22Microcontrol or microprogram arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Executing Machine-Instructions (AREA)
  • Memory System (AREA)
  • Microcomputers (AREA)

Abstract

(57)【要約】 【目的】 マイクロプロセッサ内で処理するデータの単
位よりも少ないビット数で、レジスタ間あるいはレジス
タとメモリ間でデータ転送する場合に、1度の命令の実
行で転送処理を完了させることで、メモリの使用効率を
高め、データ転送のための実行時間(マシンサイクル
数)が短縮されたマイクロプロセッサを得る。 【構成】 Mビットデータ(Mは整数)の一部のNビッ
ト転送元データ(Nは整数)を転送するための1つの転
送命令を受け取り、転送命令に基づいて、転送元である
第1記憶手段に記憶されているNビット転送元データを
転送先である第2記憶手段の転送先アドレスへ転送させ
る制御手段を備えたものである。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、マイクロプロセッサ
に関し、特に、マイクロプロセッサ内で処理されるデー
タの単位よりも少ないビット数をレジスタ間あるいはレ
ジスタとメモリ間でのデータ転送の高速化に関するもの
である。
【0002】
【従来の技術】従来のマイクロプロセッサにおいて、例
えば、8ビットのマイクロプロセッサであれば、8ビッ
ト単位でのデータの演算や転送の処理が行われていた。
そのため、4ビットで処理可能な場合も、8ビット単位
で処理する必要があった。携帯電話などの電話機では、
電話のダイヤルが0〜9の10進数であり、この10進
数が数桁集まって電話番号を構成している。電話番号の
1桁を「1」、「0」のデジタル値で表現すれば、2進
数で4ビット(16通りの表現が可能)あれば、電話番
号の1桁が表現可能である。例えば、電話機に内蔵され
た8ビット処理単位のマイクロプロセッサと、1アドレ
ス当たり8ビットデータとして電話番号が記憶されてい
るメモリとの間でデータ転送を行い、電話番号1桁のデ
ータ更新を実行する場合、メモリの該当するアドレスの
4ビットのみをすぐに変更することはできず、マイクロ
プロセッサとメモリとの間で、8ビットのバスを介し
て、数回、8ビット単位のデータ処理を実行した上で、
最終的に1アドレスの内の4ビットのみの更新が実行さ
れる。
【0003】図7は、従来のマイクロプロセッサの内部
を説明した図である。1は、8ビット単位でデータを処
理するためのマイクロプロセッサ、2は、マイクロプロ
セッサと接続された外部メモリであり、1アドレス当た
り8ビット単位でデータが記憶されている。3は、レジ
スタ群であり、アキュムレータA、アキュムレータB、
インデックスレジスタX、インデックスレジスタYを備
え、演算処理に必要なデータを一時記憶する。これらレ
ジスタも外部メモリと同様に、8ビット単位でデータが
一時記憶される。4は、演算手段としての演算ユニット
(以下、ALUと称す)であり、レジスタ群3とは第1
オペランドバス5および第2オペランドバス6を介して
接続されている。ALU4は、第1オペランドバス5お
よび第2オペランドバス6を介して与えられるオペラン
ドについて、オペランドのビットシフトおよび2つのオ
ペランドの論理和・論理積などの演算を実行し、その結
果をデスティネーションバス7へ出力する。8は、メモ
リデータレジスタであり、マイクロプロセッサ1と外部
メモリ2との間でやり取りされるデータを一時記憶する
ためのものである。デスティネーションバス7は、AL
U4、レジスタ群3およびメモリデータレジスタ8を接
続し、ALU4の演算結果をレジスタ群3あるいはメモ
リデータレジスタ8へ出力させる。第1オペランドバス
5および第2オペランドバス6は、ALU4、レジスタ
群3およびメモリデータレジスタ8をそれぞれ接続し、
メモリデータレジスタ8あるいはレジスタ群3からAL
U4へオペランドを出力させる。9は、ランダムロジッ
クあるいはマイクロプログラムにより構成された制御部
であり、マイクロプロセッサ1内部の各回路を制御す
る。制御部9からは、ALU4に対し、処理内容を指示
する演算制御信号10、メモリデータレジスタ8に対
し、データの入出力の制御を行うための入出力制御信号
11、レジスタ群3に対し、レジスタを選択するための
選択信号12がそれぞれ出力される。13は、デコード
回路であり、制御部9からの選択信号12を受け取り、
レジスタ群3内の各レジスタを選択するための選択制御
信号14をレジスタ群3へ出力する。デコード回路13
からのデコード結果は、レジスタ群3のどのレジスタか
ら、第1オペランドバス5あるいは第2オペランドバス
6へ出力させるかを決定したり、デスティネーションバ
ス7からのデータをレジスタ群3のどのレジスタに入力
させるかを決定する。15は、外部メモリ2とメモリデ
ータレジスタ8とを接続するバスである。
【0004】図8は、図7のマイクロプロセッサ1で動
作するプログラムを示した図である。このプログラム
は、8ビット単位で処理が行われるマイクロプロセッサ
1において、マイクロプロセッサ1と外部メモリ2との
間で、4ビットのデータ転送を実行させるためのもので
ある。プログラムは、アセンブリ言語で記述されてい
る。
【0005】1行目のLDA(LoaD Accumulator with m
emoryの略)命令は、読み出し命令であり、外部メモリ2
の”ZZ”番地のデータ8ビットをアキュムレータAあ
るいはBに記憶させる命令である。アキュムレータA
か、アキュムレータBであるかは、制御部9からの選択
信号12に基づいた選択制御信号14により選択され
る。この場合、アキュムレータAに記憶されたとす
る。”$”は、外部メモリ2のアドレスを表す。
【0006】2行目のAND(logical ANDの略)命令
は、論理積命令であり、アキュムレータAに記憶された
8ビットデータと即値データ”F0(16)”との論理積演
算を行い、アキュムレータAの下位4ビットをマスクす
る。その演算結果は、デスティネーションバス7を介し
て、アキュムレータAに記憶させる。”#$”は、即値
データを表す。
【0007】3行目のSTA(STore Accumulator in m
emoryの略)命令は、外部メモリ2へのデータ記憶命令で
あり、上記のマスク後の8ビットデータをメモリデータ
レジスタ8を介して、外部メモリ2のZYアドレスに記
憶させる。
【0008】4行目のTXA(Transfer index X to Ac
cumulatorの略)命令は、レジスタ間の転送命令であ
り、インデックスレジスタXに記憶されている8ビット
データをアキュムレータAに記憶させる。この8ビット
データは、制御部9により、インデックスレジスタXに
記憶されていたものである。
【0009】5行目〜8行目のROR(Rotate One bit
Rightの略)命令は、アキュムレータAに記憶されてい
る8ビットデータを右へ1ビット回転させるものであ
る。これを4回繰り返すと、アキュムレータAの上位4
ビットのデータが、下位4ビットに移動する。
【0010】9行目のAND命令は、アキュムレータA
に記憶されている8ビットデータと即値データ”0F
(16)”との論理積演算を行い、アキュムレータAの上位
4ビットをマスクする。その演算結果は、デスティネー
ションバス7を介して、アキュムレータAに記憶させ
る。
【0011】10行目のORA(OR memory with Accumu
latorの略)命令は、アキュムレータAの8ビットデー
タと外部メモリ2のZYアドレスに記憶された8ビット
データとの論理和演算を行う命令であり、演算結果をア
キュムレータAに記憶させる。
【0012】11行目のSTA命令により、アキュムレ
ータAに記憶された8ビットデータを外部メモリ2のZ
Z番地に記憶させる。
【0013】図8のプログラムの右側に、各命令のバイ
ト数およびマシンサイクル数を示す。特に、マシンサイ
クル数は、その命令がマイクロプロセッサ1で実行する
のに必要な時間である。
【0014】図8のプログラムは、外部メモリ2のZZ
アドレスの8ビットデータの内、下位4ビットの内容を
インデックスレジスタXの上位4ビットのデータに変更
するためのものである。
【0015】図9は、レジスタなどに記憶されている8
ビットデータにおいて、上位、下位がどちらであるかを
示した図である。
【0016】図10は、図7に示されたデコード回路1
3の詳細を示した図である。制御部9からの選択信号1
2(P1,P0)を受けて、メモリレジスタ群3の4つ
のレジスタのうちのどれを選択するかを示す選択制御信
号14(S0〜S3)を生成する。
【0017】
【発明が解決しようとする課題】従来のマイクロプロセ
ッサは以上のように構成されていたので、マイクロプロ
セッサ内で処理されるデータの単位(例えば8ビット)
よりも少ないビット数(例えば4ビット)をレジスタ間
あるいはレジスタとメモリ間でデータ転送する場合、そ
の実行に対応したデータ転送命令が無いので、数度の命
令で実行しなければならず、1回のデータ転送に数度の
命令をメモリに記憶させておく必要があり、メモリ(R
OM)の使用効率が悪いという問題点があった。
【0018】また、データ転送のために数度の命令を実
行した場合、その命令の実行で得られた結果をマイクロ
プロセッサからメモリに逐次記憶させていたため、マイ
クロプロセッサからメモリにデータを転送させるための
マシンサイクル数が必要となり、マイクロプロセッサで
のマシンサイクル数が多くなるという問題点があった。
【0019】この発明は、上記のような問題点を解決す
るためになされたものであり、マイクロプロセッサ内で
処理するデータの単位よりも少ないビット数で、レジス
タ間あるいはレジスタとメモリ間でデータ転送する場合
に、1度の命令の実行で転送処理を完了させることで、
メモリの使用効率を高め、データ転送のための実行時間
(マシンサイクル数)が短縮されたマイクロプロセッサ
を得ることを目的とする。
【0020】
【課題を解決するための手段】この発明に係るマイクロ
プロセッサは、Mビットデータ(Mは整数)の一部のN
ビット転送元データ(Nは整数)を転送するための1つ
の転送命令を受け取り、転送命令に基づいて、転送元で
ある第1記憶手段に記憶されているNビット転送元デー
タを転送先である第2記憶手段の転送先アドレスへ転送
させる制御手段を備えたものである。
【0021】また、制御手段は、転送命令を受け取り、
解読するデコード回路と、デコード回路からの解読結果
を受け取り、マイクロプロセッサ内での転送命令の実行
の処理手順を決めたマイクロプログラムで構成されたマ
イクロROMあるいはランダムロジックとを備えたもの
である。
【0022】また、マイクロROMあるいはランダムロ
ジックは、第1記憶手段の転送元アドレスに記憶されて
いるMビットの第1データ中のNビット転送元データの
記憶位置と第2記憶手段の転送先アドレスの第2データ
中の転送先の記憶位置とが一致するように、第1データ
内でNビットデータを移動させ、第1データのNビット
転送元データ以外をマスクし、第2データのNビット転
送元データの記憶位置をマスクし、第1データと第2デ
ータとの論理演算を行い、その演算結果を第2記憶手段
の転送先アドレスに記憶させる制御を行うものである。
【0023】また、マイクロROMあるいはランダムロ
ジックは、第1記憶手段の転送元アドレスに記憶されて
いるMビットの第1データ中のNビット転送元データ以
外をマスクし、第2記憶手段の転送先アドレスの第2デ
ータ中のNビット転送元データの記憶位置をマスクし、
第1データと第2データとの論理演算を行い、その演算
結果を第2記憶手段の転送先アドレスに記憶させる制御
を行うものである。
【0024】また、第1記憶手段はマイクロプロセッサ
内部に設けられ、第2記憶手段はマイクロプロセッサ外
部に設けられ、マイクロROMは、転送命令の実行中の
中間処理結果をすべて第1記憶手段に記憶させ、第1デ
ータと第2データとの論理演算結果のみを第2記憶手段
へ出力させるものである。
【0025】さらに、第1記憶手段は、第1データが記
憶される第1レジスタと、転送命令の実行中の中間処理
結果がすべて記憶される第2レジスタとを備えている。
【0026】そして、制御手段は、第1データのビット
数の1/2のビット数を第1記憶手段から第2記憶手段
へ転送させる制御を行うものである。
【0027】
【作用】この発明に係るマイクロプロセッサは、制御手
段により、1つの転送命令で、マイクロプロセッサ内で
処理されるデータの単位よりも少ないビット数のデータ
を第1記憶手段から第2記憶手段へ転送させる。
【0028】また、制御手段は、転送命令の実行中の中
間処理結果をすべて第1記憶手段に記憶させ、第1デー
タと第2データとの論理演算結果のみを第2記憶手段へ
出力させるので、転送命令のためのマシンサイクル数を
減少させる。
【0029】
【実施例】
実施例1.図1は、この発明の第1の実施例であるマイ
クロプロセッサの構成を示した図である。マイクロプロ
セッサは、8ビット単位でデータ処理を行う。従来のマ
イクロプロセッサ1のレジスタ群3には、アキュムレー
タ、インデックスレジスタが設けられていたが、この発
明のレジスタ群16には、以下で説明する転送命令のフ
ァーマットのために、レジスタR0〜R3を設けた。こ
のレジスタ群16には、従来どおり、アキュムレータや
インデックスレジスタを設けても良い。
【0030】17は、マスクROMであり、制御部9か
らの信号により、8ビットデータの内の上位4ビットを
マスクするデータ”0F(16)”あるいは8ビットデータ
の内の下位4ビットをマスクするデータ”F0(16)”を
第1オペランドバス5あるいは第2オペランドバス6を
介して、ALU4に出力する。制御部9は、外部メモリ
2からマイクロプロセッサ1が受け取った命令に基づい
て、マイクロプロセッサ1内の各装置の動作の制御を行
うためのランダムロジックあるいはマイクロプログラム
により構成されている。図中1〜15は、従来装置と同
一あるいは相当する部分である。
【0031】図2は、図1の制御部9の内部を示した図
である。18は、デコード回路であり、外部メモリ2か
らの命令をフェッチし、デコードする。外部メモリ2か
ら制御部9へ出力される信号については、図7では省略
した。19は、ランダムロジックあるいはマイクロプロ
グラムで構成されたマイクロROMであり、受け取った
デコード結果に基づき、マイクロプロセッサ1内の各装
置に対し、演算制御信号10などの制御信号を生成す
る。1つの命令で、マイクロプロセッサ1において、ど
のような処理をすべきかについて、マイクロROM19
で予め取り決められている。
【0032】次に、8ビット単位でデータ処理が行われ
るマイクロプロセッサ1において、4ビットデータの転
送についてその動作を説明する。
【0033】レジスタR0に記憶されている8ビットの
データの上位4ビットを外部メモリ2の任意のアドレス
の8ビットの領域の下位4ビットの記憶位置に転送する
4ビット転送命令を次に示す。
【0034】MOVHL R0,[外部メモリアドレ
ス](MOVHLは、MOVe High to Lownibbleの略)
【0035】外部メモリ2の命令記憶領域から、MOV
HL命令を制御部9がフェッチし、MOVHL命令に応
じたマイクロプログラムにより、制御部9からマイクロ
プロセッサ1内の各装置に制御信号が出力される。レジ
スタR0には、例えば、ALU4の計算結果である8ビ
ットデータが記憶されているものとする。レジスタR3
については、何らかの8ビットデータが記憶されている
場合は、MOVHL命令が制御部9でフェッチされた時
には、外部メモリ2などに、一時退避させる必要がある
が、この明細書においては、レジスタR3は、ALU4
でのデータ回転結果を記憶させるものとする。
【0036】図3は、MOVHL命令の動作を表したも
のであり、マイクロプロセッサ1内での1マシンサイク
ル毎の動作を示している。次の〜の番号は、図3の
番号に対応する。
【0037】レジスタR0に記憶されている8ビット
データを第1オペランドバス5を介してALU4に入力
させ、ALU4において、右に1ビット回転させ、その
結果をデスティネーションバス7を介して、レジスタR
3(テンポラリレジスタ)に記憶させる。右に1ビット
回転させるとは、すべてのビットを右に移動させ、あふ
れたビット0をビット7に移動させることである。ま
た、すべてのビットを右に回転させ、キャリーフラグの
内容がビット7に移動し、ビット0がキャリーフラグに
入力されることである。
【0038】レジスタR3に記憶されている内容を第
1オペランドバス5を介して、ALU4に入力させ、A
LU4において、8ビットデータを右に1ビット回転さ
せ、デスティネーションバス7を介してレジスタR3に
記憶させる。
【0039】上記と同様の動作を行う。
【0040】上記と同様の動作を行う。
【0041】レジスタR3に記憶されている4回右回
転された8ビットデータを第1オペランドバス5を介し
て、マスクROM17からのデータ”0F(16)”を第2
オペランドバス6を介して、それぞれALU4に入力さ
せ、論理積演算を行い、その演算結果をデスティネーシ
ョンバス7を介してレジスタR3に記憶させる。マスク
ROM17に記憶されているデータ”F0(16)””0F
(16)”のどちらを選択するかは、制御部9からのデータ
選択信号20により選択される。
【0042】レジスタR0の上位4ビットを記憶(転
送)させたい外部メモリ2のアドレスから、8ビットデ
ータをメモリデータレジスタ8に記憶させる。
【0043】メモリデータレジスタ8に記憶された上
記 の8ビットデータを第1オペランドバス5、マスク
ROM17からデータ”F0(16)”を第2オペランドバ
ス6を介して、それぞれALU4に入力させ、論理積演
算を行い、その演算結果をデスティネーションバス7を
介してメモリデータレジスタ8に記憶させる。
【0044】レジスタR3に記憶されている8ビット
データを第1オペランドバス5、メモリデータレジスタ
8に記憶されている8ビットデータを第2オペランドバ
ス6を介して、それぞれALU4に入力させ、論理和演
算を行い、その結果をデスティネーションバス8を介し
てメモリデータレジスタ8に記憶させる。
【0045】メモリデータレジスタ8に記憶されてい
る8ビットデータを上記 の外部メモリ2のアドレスへ
記憶させる。
【0046】ALU4において、右回転、論理和演算、
論理積演算のどの処理を実行させるかは、制御部9内に
設けられているマイクロROMから出力される演算制御
信号10により決定される。
【0047】また、1マシンサイクルとは、レジスタR
0〜R3間のデータ転送、外部メモリ2とマイクロプロ
セッサ1との間のデータ転送、ALU4での演算などの
1つの処理期間のことである。データ転送や演算のため
のバスの使用、演算のためのデータの読み出しおよび演
算結果の書き込みは、1つのマシンサイクル内で行われ
る。
【0048】以上のように、レジスタに記憶されている
データ8ビットの上位4ビットを外部メモリ2の任意の
アドレスの8ビットの領域の下位4ビットの記憶位置に
転送するMOVHL命令1つで、制御部9のランダムロ
ジックあるいはマイクロプログラムに基づき、上記〜
(9マシンサイクル)の短いマシンサイクルの期間
で、外部メモリ2とマイクロプロセッサ1との間の4ビ
ットデータの高速転送を行うことができる。
【0049】実施例2.次に、この発明の第2の実施例
について説明する。この実施例では、図1のマイクロプ
ロセッサ1において、図4に示すように、レジスタR0
に記憶されているデータ8ビットの上位4ビットを外部
メモリ2の任意のアドレスの8ビットの領域の上位4ビ
ットの記憶位置に転送する4ビット転送命令について説
明する。その命令を次に示す。
【0050】MOVHH R0,[外部メモリアドレ
ス](MOVHHは、MOVe High to High nibbleの略)
【0051】外部メモリ2の命令記憶領域から、MOV
HH命令を制御部9によりフェッチされ、MOVHH命
令に応じたマイクロプログラムにより、制御部9からマ
イクロプロセッサ1内の各装置に制御信号が出力され
る。レジスタR0には、例えば、ALU4の計算結果で
ある8ビットデータが記憶されているものとする。レジ
スタR3は、ALU4でのデータ回転結果を記憶させる
ものとする。
【0052】図4の〜は、MOVHH命令の動作を
表したものであり、マイクロプロセッサ1内での1マシ
ンサイクル毎の動作を示している。次の〜の番号
は、図4の番号に対応する。
【0053】レジスタR0に記憶されている8ビット
データを第1オペランドバス5を介し、マスクROM1
7からのデータ”F0(16)”を第2オペランドバス6を
介して、それぞれALU4に入力させ、論理積演算を行
い、その演算結果をデスティネーションバス7を介し
て、レジスタR3に記憶させる。
【0054】レジスタR0の上位4ビットを記憶(転
送)させたい外部メモリ2のアドレスから、8ビットデ
ータをメモリデータレジスタ8に記憶させる。
【0055】メモリデータレジスタ8に記憶された上
記 の8ビットデータを第1オペランドバス5、マスク
ROM17からデータ”0F(16)”を第2オペランドバ
ス6を介して、それぞれALU4に入力させ、論理積演
算を行い、その演算結果をデスティネーションバス7を
介してメモリデータレジスタ8に記憶させる。
【0056】レジスタR3に記憶されている8ビット
データを第1オペランドバス5、メモリデータレジスタ
8に記憶されている8ビットデータを第2オペランドバ
ス6を介して、それぞれALU4に入力させ、論理和演
算を行い、デスティネーションバス8を介してメモリデ
ータレジスタ8に記憶させる。
【0057】メモリデータレジスタ8に記憶されてい
る8ビットデータを上記の外部メモリ2のアドレスへ
記憶させる。
【0058】以上のように、レジスタに記憶されている
データ8ビットの上位4ビットを外部メモリ2の任意の
アドレスの8ビットの領域の上位4ビットの記憶位置に
転送させるMOVHH命令1つで、制御部9のランダム
ロジックあるいはマイクロプログラムに基づき、上記
〜(5マシンサイクル)の短いマシンサイクルの期間
で、外部メモリ2とマイクロプロセッサ1との間の4ビ
ットデータの高速転送を行うことができる。
【0059】実施例3.次に、この発明の第3の実施例
について説明する。この実施例では、図1のマイクロプ
ロセッサ1において、図5に示すように、レジスタR0
に記憶されているデータ8ビットの下位4ビットを外部
メモリ2の任意のアドレスの8ビットの領域の上位4ビ
ットの記憶位置に転送する4ビット転送命令について説
明する。その命令を次に示す。
【0060】MOVLH R0,[外部メモリアドレ
ス](MOVLHは、MOVe Low to Highnibbleの略)
【0061】図5の〜は、MOVLH命令の動作を
表したものであり、マイクロプロセッサ1内での1マシ
ンサイクル毎の動作を示している。次の〜の番号
は、図5の番号に対応する。
【0062】レジスタR0に記憶されている8ビット
データを第1オペランドバス5を介してALU4に入力
させ、ALU4において、左に1ビット回転させ、その
結果をデスティネーションバス7を介して、レジスタR
3(テンポラリレジスタ)に記憶させる。左に1ビット
回転させるとは、すべてのビットを左に移動させ、あふ
れたビット7をビット0に移動させることである。ま
た、すべてのビットを左に回転させ、キャリーフラグの
内容がビット0に移動し、あふれたビット7がキャリー
フラグに入力されることである。
【0063】レジスタR3に記憶されている内容を第
1オペランドバス5を介して、ALU4に入力させ、A
LU4において、8ビットデータを左に1ビット回転さ
せ、デスティネーションバス7を介してレジスタR3に
記憶させる。
【0064】上記と同様の動作を行う。
【0065】上記と同様の動作を行う。
【0066】レジスタR3に記憶されている4回左回
転された8ビットデータを第1オペランドバス5、マス
クROM17からのデータ”F0(16)”を第2オペラン
ドバス6を介して、それぞれALU4に入力させ、論理
積演算を行い、その演算結果をデスティネーションバス
7からレジスタR3に記憶させる。
【0067】レジスタR0の下位4ビットを記憶(転
送)させたい外部メモリ2のアドレスから、8ビットデ
ータをメモリデータレジスタ8に記憶させる。
【0068】メモリデータレジスタ8に記憶された上
記 の8ビットデータを第1オペランドバス5、マスク
ROM17からデータ”0F(16)”を第2オペランドバ
ス6を介して、それぞれALU4に入力させ、論理積演
算を行い、その演算結果をデスティネーションバス7を
介してメモリデータレジスタ8に記憶させる。
【0069】レジスタR3に記憶されている8ビット
データを第1オペランドバス5、メモリデータレジスタ
8に記憶されている8ビットデータを第2オペランドバ
ス6を介して、それぞれALU4に入力させ、論理和演
算を行い、デスティネーションバス8を介してメモリデ
ータレジスタ8に記憶させる。
【0070】メモリデータレジスタ8に記憶されてい
る8ビットデータを上記 の外部メモリ2のアドレスへ
記憶させる。
【0071】以上のように、レジスタに記憶されている
データ8ビットの下位4ビットを外部メモリ2の任意の
アドレスの8ビットの領域の上位4ビットの記憶位置に
転送するMOVLH命令1つで、制御部9のランダムロ
ジックあるいはマイクロプログラムに基づき、上記〜
(9マシンサイクル)の短いマシンサイクルの期間
で、外部メモリ2とマイクロプロセッサ1との間の4ビ
ットデータの高速転送を行うことができる。
【0072】実施例4.次に、この発明の第4の実施例
について説明する。この実施例では、図1のマイクロプ
ロセッサ1において、図6に示すように、レジスタR0
に記憶されているデータ8ビットの下位4ビットを外部
メモリ2の任意のアドレスの8ビットの領域の下位4ビ
ットの記憶位置に転送する4ビット転送命令について説
明する。その命令を次に示す。
【0073】MOVLL R0,[外部メモリアドレ
ス](MOVLLは、MOVe Low to Lownibbleの略)
【0074】図6の〜は、MOVLL命令の動作を
表したものであり、マイクロプロセッサ1内での1マシ
ンサイクル毎の動作を示している。次の〜の番号
は、図6の番号に対応する。
【0075】レジスタR0に記憶されている8ビット
データを第1オペランドバス5、マスクROM17から
のデータ”0F(16)”を第2オペランドバス6を介し
て、それぞれALU4に入力させ、論理積演算を行い、
その演算結果をデスティネーションバス7を介してレジ
スタR3に記憶させる。
【0076】レジスタR0の下位4ビットを記憶(転
送)させたい外部メモリ2のアドレスから、8ビットデ
ータをメモリデータレジスタ8に記憶させる。
【0077】メモリデータレジスタ8に記憶された上
記 の8ビットデータを第1オペランドバス5、マスク
ROM17からデータ”F0(16)”を第2オペランドバ
ス6を介して、それぞれALU4に入力させ、論理積演
算を行い、その演算結果をデスティネーションバス7を
介してメモリデータレジスタ8に記憶させる。
【0078】レジスタR3に記憶されている8ビット
データを第1オペランドバス5、メモリデータレジスタ
8に記憶されている8ビットデータを第2オペランドバ
ス6を介して、それぞれALU4に入力させ、論理和演
算を行い、デスティネーションバス8を介してメモリデ
ータレジスタ8に記憶させる。
【0079】メモリデータレジスタ8に記憶されてい
る8ビットデータを上記の外部メモリ2のアドレスへ
記憶させる。
【0080】以上のように、レジスタに記憶されている
データ8ビットの下位4ビットを外部メモリ2の任意の
アドレスの8ビットの領域の下位4ビットの記憶位置に
転送するMOVLL命令1つで、制御部9のランダムロ
ジックあるいはマイクロプログラムに基づき、上記〜
(5マシンサイクル)の短いマシンサイクルの期間
で、外部メモリ2とマイクロプロセッサ1との間の4ビ
ットデータの高速転送を行うことができる。
【0081】上記各実施例においては、右あるいは左に
1ビットずつの回転処理を行っていたが、4ビットを一
度に回転させても良い。4ビットを一度に回転させるこ
とにより、さらにマシンサイクル数を少なくできる。
【0082】
【発明の効果】以上のように、この発明によれば、制御
手段により、1つの転送命令で、マイクロプロセッサ内
で処理されるデータの単位よりも少ないビット数のデー
タを第1記憶手段から第2記憶手段へ転送させるように
したので、メモリに記憶される転送命令のためのメモリ
記憶領域が少なくなるので、メモリを他のデータ処理の
ために使用でき、メモリの使用効率を高めることができ
るという効果が得られる。
【0083】また、制御手段は、転送命令の実行中の中
間処理結果をすべて第1記憶手段に記憶させて、マイク
ロプロセッサにおける最終の処理結果(論理和結果)の
みをメモリへ出力させるようにしているので、マイクロ
プロセッサとメモリとの間のデータ転送のためのマシン
サイクル数が減少し、マイクロプロセッサにおけるデー
タ転送のための実行時間(マシンサイクル数)が短縮で
きるという効果が得られる。
【図面の簡単な説明】
【図1】 この発明のマイクロプロセッサの構成を示し
た図である。
【図2】 図1の制御部9の内部を示した図である。
【図3】 この発明のMOVHL命令の動作を表した図
である。
【図4】 この発明のMOVHH命令の動作を表した図
である。
【図5】 この発明のMOVLH命令の動作を表した図
である。
【図6】 この発明のMOVLL命令の動作を表した図
である。
【図7】 従来のマイクロプロセッサの内部を説明した
図である。
【図8】 図7のマイクロプロセッサ1で動作するプロ
グラムを示した図である。
【図9】 レジスタなどに記憶されている8ビットデー
タにおいて、上位、下位がどちらであるかを示した図で
ある。
【図10】 図7に示されたデコード回路13の詳細を
示した図である。
【符号の説明】
1…マイクロプロセッサ、2…外部メモリ、4…AL
U、5…第1オペランドバス、6…第2オペランドバ
ス、7…デスティネーションバス、8…メモリデータレ
ジスタ、9…制御手段、10…演算制御信号、11…入
出力制御信号、12…選択信号、13、18…デコード
回路、14…選択制御信号、15…バス、16…レジス
タ群、17…マスクROM、19…マイクロROM。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 高橋 裕樹 兵庫県伊丹市瑞原4丁目1番地 三菱電機 株式会社北丹製作所内 (72)発明者 中村 和夫 兵庫県伊丹市瑞原4丁目1番地 三菱電機 株式会社北丹製作所内

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 Mビットデータ(Mは整数)の一部のN
    ビット転送元データ(Nは整数)を転送するための1つ
    の転送命令を受け取り、前記転送命令に基づいて、転送
    元である第1記憶手段に記憶されている前記Nビット転
    送元データを転送先の第2記憶手段の転送先アドレスへ
    転送させる制御手段を備えたことを特徴とするマイクロ
    プロセッサ。
  2. 【請求項2】 前記制御手段は、前記転送命令を受け取
    り、解読するデコード回路と、前記デコード回路からの
    解読結果を受け取り、マイクロプロセッサ内での前記転
    送命令の実行の処理手順を決めたマイクロプログラムで
    構成されているマイクロROMあるいはランダムロジッ
    クとを備えたことを特徴とする請求項第1項記載のマイ
    クロプロセッサ。
  3. 【請求項3】 前記マイクロROMあるいは前記ランダ
    ムロジックは、前記第1記憶手段の転送元アドレスに記
    憶されているMビットの第1データ中のNビット転送元
    データの記憶位置と第2記憶手段の転送先アドレスの第
    2データ中の転送先の記憶位置とが一致するように、前
    記第1データ内で前記Nビットデータを移動させ、前記
    第1データのNビット転送元データ以外をマスクし、前
    記第2データの前記Nビット転送元データの記憶位置を
    マスクし、前記第1データと前記第2データとの論理演
    算を行い、その演算結果を前記第2記憶手段の転送先ア
    ドレスに記憶させる制御を行うことを特徴とする請求項
    第2項記載のマイクロプロセッサ。
  4. 【請求項4】 前記マイクロROMあるいは前記ランダ
    ムロジックは、前記第1記憶手段の転送元アドレスに記
    憶されているMビットの第1データ中のNビット転送元
    データ以外をマスクし、前記第2記憶手段の転送先アド
    レスの第2データ中の前記Nビット転送元データの記憶
    位置をマスクし、前記第1データと前記第2データとの
    論理演算を行い、その演算結果を前記第2記憶手段の転
    送先アドレスに記憶させる制御を行うことを特徴とする
    請求項第2項記載のマイクロプロセッサ。
  5. 【請求項5】 前記第1記憶手段はマイクロプロセッサ
    内部に設けられ、前記第2記憶手段はマイクロプロセッ
    サ外部に設けられ、前記マイクロROMは、前記転送命
    令の実行中の中間処理結果をすべて前記第1記憶手段に
    記憶させ、前記第1データと前記第2データとの前記論
    理演算結果のみを前記第2記憶手段へ出力させることを
    特徴とする請求項第3項および第4項記載のマイクロプ
    ロセッサ。
  6. 【請求項6】 前記第1記憶手段は、前記第1データが
    記憶される第1レジスタと、前記転送命令の実行中の中
    間処理結果がすべて記憶される第2レジスタとを備えた
    ことを特徴とする請求項第5項記載のマイクロプロセッ
    サ。
  7. 【請求項7】 前記制御手段は、前記第1データのビッ
    ト数の1/2のビット数を前記第1記憶手段から前記第
    2記憶手段へ転送させる制御を行うことを特徴とする請
    求項第1項ないし第6項のいずれかに記載のマイクロプ
    ロセッサ。
JP23142094A 1994-09-27 1994-09-27 マイクロプロセッサ Expired - Fee Related JP3332606B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP23142094A JP3332606B2 (ja) 1994-09-27 1994-09-27 マイクロプロセッサ
KR1019950011785A KR100196270B1 (ko) 1994-09-27 1995-05-13 마이크로프로세서
US08/487,170 US5708800A (en) 1994-09-27 1995-06-07 High speed microprocessor for processing and transferring N-bits of M-bit data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP23142094A JP3332606B2 (ja) 1994-09-27 1994-09-27 マイクロプロセッサ

Publications (2)

Publication Number Publication Date
JPH0895850A true JPH0895850A (ja) 1996-04-12
JP3332606B2 JP3332606B2 (ja) 2002-10-07

Family

ID=16923310

Family Applications (1)

Application Number Title Priority Date Filing Date
JP23142094A Expired - Fee Related JP3332606B2 (ja) 1994-09-27 1994-09-27 マイクロプロセッサ

Country Status (3)

Country Link
US (1) US5708800A (ja)
JP (1) JP3332606B2 (ja)
KR (1) KR100196270B1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3201716B2 (ja) * 1996-02-22 2001-08-27 シャープ株式会社 コンピュータ装置
US7680990B2 (en) * 2003-05-30 2010-03-16 Hewlett-Packard Development Company, L.P. Superword memory-access instructions for data processor
US7594094B2 (en) * 2006-05-19 2009-09-22 International Business Machines Corporation Move data facility with optional specifications
US9252996B2 (en) * 2012-06-21 2016-02-02 Micron Technology, Inc. Apparatuses and methods to change information values

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4533992A (en) * 1982-02-22 1985-08-06 Texas Instruments Incorporated Microcomputer having shifter in ALU input
GB2120896B (en) * 1982-04-06 1987-01-28 Canon Kk Half-tone facsimile system
US4486848A (en) * 1982-07-28 1984-12-04 Sperry Corporation Microprocessor parallel additive execution of a computer count ones instruction
JPS61177539A (ja) * 1985-02-01 1986-08-09 Mitsubishi Electric Corp マイクロプロセツサ
JPS61223956A (ja) * 1985-03-29 1986-10-04 Hitachi Ltd ストアバツフア制御方式
JPS61288243A (ja) * 1985-06-17 1986-12-18 Fujitsu Ltd コンペアアンドスワツプ命令処理方式
US5185859A (en) * 1985-10-22 1993-02-09 Texas Instruments Incorporated Graphics processor, a graphics computer system, and a process of masking selected bits
JPS62147545A (ja) * 1985-12-23 1987-07-01 Hitachi Ltd 情報処理装置における転送命令処理方式
JPS63172332A (ja) * 1987-01-10 1988-07-16 Fujitsu Ltd 半導体集積回路装置
JPS63250763A (ja) * 1987-04-07 1988-10-18 Nec Corp プロセツサ間通信方式
JPH01259415A (ja) * 1988-04-08 1989-10-17 Matsushita Electric Ind Co Ltd データ補正回路
JPH01302457A (ja) * 1988-05-30 1989-12-06 Nec Corp データ転送方式
JPH087738B2 (ja) * 1989-11-17 1996-01-29 株式会社日立製作所 エンディアン変換方式
US5590350A (en) * 1993-11-30 1996-12-31 Texas Instruments Incorporated Three input arithmetic logic unit with mask generator
US5459681A (en) * 1993-12-20 1995-10-17 Motorola, Inc. Special functions arithmetic logic unit method and apparatus

Also Published As

Publication number Publication date
KR100196270B1 (ko) 1999-06-15
JP3332606B2 (ja) 2002-10-07
KR960011681A (ko) 1996-04-20
US5708800A (en) 1998-01-13

Similar Documents

Publication Publication Date Title
JP3592230B2 (ja) データ処理装置
US10963256B2 (en) Systems and methods for performing instructions to transform matrices into row-interleaved format
JP3619939B2 (ja) 中央処理装置
KR100328162B1 (ko) 정보처리회로와마이크로컴퓨터와전자기기
JP3233163B2 (ja) メモリ拡張スキームを切り替える疑似直線バンクを有するマイクロコントローラ
JPS6117484Y2 (ja)
JP6635438B2 (ja) ベクトルビット反転およびクロスを実行するための方法および装置
JPS6097435A (ja) 演算処理装置
JP6778375B2 (ja) ベクトルビット反転を実行するためのプロセッサ、方法、およびシステム
US4424563A (en) Data processor including a multiple word processing method and device
US6499099B1 (en) Central processing unit method and apparatus for extending general instructions with extension data of an extension register
US4611278A (en) Wraparound buffer for repetitive decimal numeric operations
JP2003501773A (ja) 算術論理演算装置およびスタックを備えたデータプロセッサ
US4691282A (en) 16-bit microprocessor system
JP3332606B2 (ja) マイクロプロセッサ
JPH034936B2 (ja)
JPH03141434A (ja) マイクロコンピュータ
US20040024992A1 (en) Decoding method for a multi-length-mode instruction set
JP3504355B2 (ja) プロセッサ
GB2069733A (en) Conditional instruction execution in a pipelined processor
JPS6155130B2 (ja)
JPH05282133A (ja) 演算方式
JPS59106047A (ja) マイクロコンピユ−タ
JP2878250B2 (ja) データ処理装置
CA1250666A (en) Central processing unit for a digital computer

Legal Events

Date Code Title Description
S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313115

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313115

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: 20080726

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080726

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090726

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100726

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110726

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110726

Year of fee payment: 9

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313115

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110726

Year of fee payment: 9

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: 20120726

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees