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

マイクロプロセッサ

Info

Publication number
JPH07160498A
JPH07160498A JP5311577A JP31157793A JPH07160498A JP H07160498 A JPH07160498 A JP H07160498A JP 5311577 A JP5311577 A JP 5311577A JP 31157793 A JP31157793 A JP 31157793A JP H07160498 A JPH07160498 A JP H07160498A
Authority
JP
Japan
Prior art keywords
bit
instruction
circuit
input
data
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.)
Pending
Application number
JP5311577A
Other languages
English (en)
Inventor
Tadashi Kamata
忠 鎌田
Teruhiro Nakamoto
彰宏 中本
Hiroshi Fujii
裕志 藤井
Hideji Azuma
秀治 我妻
Yoshinori Yunosawa
義則 湯野沢
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.)
Denso Corp
Original Assignee
NipponDenso Co Ltd
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 NipponDenso Co Ltd filed Critical NipponDenso Co Ltd
Priority to JP5311577A priority Critical patent/JPH07160498A/ja
Publication of JPH07160498A publication Critical patent/JPH07160498A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】 【目的】 ハードウェアを大幅に設計変更することなく
ビット演算命令の処理速度を高める。 【構成】 入力ビットセレクタ15は、内部バスからの
入力に基づいてビット演算命令が指定する所定のレジス
タのビットデータを出力する。ビットアキュムレータ1
7は、第1のタイミングで記憶回路30の記憶ビットデ
ータを出力する。論理演算回路16はビット演算命令に
対応した論理回路を有しており、内部バスから入力に基
づいて選択したビット演算命令に対応した論理回路によ
り入力ビットセレクタ15及びビットアキュムレータ1
7から出力されたビットデータの論理演算を行ってその
結果を出力する。ビットアキュムレータ17は、第2の
タイミングで論理演算器16が出力した論理演算結果を
記憶する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ビット演算命令を含む
各種命令を実行するマイクロプロセッサに関する。
【0002】
【従来の技術】従来より、マイクロプロセッサにおいて
は、ビット演算命令を実行するものが供されている。こ
のビット演算命令とは、1ビットのみで行う論理演算の
ことで、ビット演算命令で指定したレジスタ或いはメモ
リにおける指定した1ビットと1ビットのアキュムレー
タの間で論理演算を実行する命令である。
【0003】ところで、この種のマイクロプロセッサ
(例えば日立製作所H8/300)では、1ビットのア
キュムレータとして、マイクロコンピュータの動作を示
すためのコンディションコードレジスタ(CCR)に設
けられたキャリーフラグを共用して使用している。この
場合、ビット演算命令は、レジスタ或いはメモリの指定
された1ビットとキャリーフラグとの間で行われ、その
結果はキャリーフラグに格納されるようになっている。
【0004】ここで、コンディションコードレジスタに
設けられているキャリーフラグは、ワード系の演算命令
を実行した際にキャリーが発生したか否かを記憶するめ
たに本来設けられているものであるが、キャリーフラグ
の有効利用を図るために1ビットのアキュムレータの機
能を付加しているのである。従って、ビット演算プログ
ラムを中断した状態でワード系の演算プログラムを実行
するときは、ワード系の演算命令によりキャリーフラグ
の内容が破壊されてしまうので、キャリーフラグの内容
を汎用レジスタ或いはメモリに一旦セーブする等の処置
を行った状態でビット演算プログラムを中断する必要が
あった。このため、プログラムの実行速度が低下した
り、プログラムサイズの増大を招来していた。
【0005】そこで、特公昭59−4049号公報のも
のでは、ビット演算命令用の演算器及び演算結果を記憶
するためのビットアキュムレータを新規に設ける方法が
提案されている。この場合、ビット演算命令をワード系
の演算命令から独立して実行することができるので、プ
ログラムの実行速度を高めることができると共に、プロ
グラムサイズを縮小することができる。
【0006】
【発明が解決しようとする課題】しかしながら、上記従
来例で示した特公昭59−4049号公報のものでは、
ビット演算用の処理回路をワード系演算用の処理回路に
新規に付加するようにしているので、ハードウェアの設
計コスト及びハードウェア自体のコストが大幅に上昇す
るという欠点がある。
【0007】本発明は上記事情に鑑みてなされたもの
で、その目的は、ハードウェアを大幅に設計変更するこ
となく、プログラムの実行速度を高めることができると
共にプログラムサイズを縮小することができるマイクロ
プロセッサを提供することにある。
【0008】
【課題を解決するための手段】本発明は、命令記憶部に
記憶されたビット演算命令を含む各種命令を解読して各
種制御信号を順次出力する命令フェッチ・デコード部を
設け、この命令フェッチ・デコード部が解読したビット
演算命令が指示するレジスタ若しくはデータ記憶部の記
憶データを入力すると共に、その記憶データのうちから
所定のビットを選択して出力する入力ビットセレクタを
設け、第1のタイミングで記憶データを出力すると共に
第2のタイミングで入力データを記憶するビットアキュ
ムレータを設け、予め設けられた論理演算回路のうちか
ら前記命令フェッチ・デコード部が解読したビット演算
命令に対応した論理演算回路を選択し、且つ選択した論
理演算回路により前記第1のタイミングで前記入力ビッ
トセレクタ及びビットアキュムレータから出力されたデ
ータを論理演算すると共に前記第2のタイミングでその
論理演算結果を出力する論理演算器を設けたものであ
る。
【0009】この場合、前記ビットアキュムレータを、
ステータスレジスタ内に設けるようにしてもよい。
【0010】
【作用】請求項1記載のマイクロプロセッサの場合、命
令フェッチ・デコード部は、ビット演算命令を入力した
ときは、そのビット演算命令を解読して各種制御信号を
順次出力する。入力ビットセレクタは、ビット演算命令
が指示するレジスタ若しくはデータ記憶部における所定
のビットデータを選択して出力する。また、ビットアキ
ュムレータは、第1のタイミングで記憶データを出力す
る。このとき、論理演算器は、命令フェッチ・デコード
部が解読したビット演算命令に対応した論理演算回路を
選択し、その論理演算回路により入力ビットセレクタ及
びビットアキュムレータから出力されたビットデータを
論理演算すると共に、第2のタイミングで論理演算結果
を出力する。そして、ビットアキュムレータは、第2の
タイミングで論理演算器から出力された論理演算結果を
記憶する。従って、ビットアキュムレータには、ビット
演算命令による演算結果が記憶される。
【0011】請求項2記載のマイクロプロセッサの場
合、割込命令或いはサブルーチンコールの際にステータ
スレジスタは自動的にデータ記憶部にスタックされるの
で、斯様なステータスレジスタに設けられているビット
アキュムレータの内容退避及び復帰が不要となる。
【0012】
【実施例】以下、本発明の一実施例を図面を参照して説
明する。図2はマイクロプロセッサの全体を概略的に示
している。この図2において、マイクロプロセッサは、
命令記憶部1、データ記憶部2及び処理部3を主体とし
て成り、それらがデータバス4及びアドレスバス5によ
り接続されている。
【0013】図3は、図2で示した処理部3をブロック
図で示している。この図3において、命令フェッチ・デ
コーダ部6は、命令記憶部1からプログラムカウンタ7
により指定したアドレスに記憶された命令を読込むと共
に、その命令を解読して第1及び第2のサイクル信号等
の各種制御信号を順次出力する。プログラムカウンタ7
は、命令フェッチ・デコード部6からの指令に応じて次
に実行する命令のアドレスを更新状態で記憶する。入出
力バッファ群8は、内部バス9,10からのデータを入
力して一時的に保持する。レジスタ群11は、命令の実
行に応じてデータを記憶する。演算処理部12は、レジ
スタ群11若しくはデータ記憶部2に記憶されたデータ
に対して論理演算を実行する。ステータスレジスタ13
は、ワード系の演算命令の処理結果を記憶すると共に、
後述するようにビット演算命令の処理結果を記憶するた
めのビットアキュムレータを有して構成されている。メ
モリアドレスレジスタ14は、汎用レジスタの機能に加
えて、スタックポインタとしてサブルーチンコールに使
用される。
【0014】図4は、図3で示した演算処理部12及び
ステータスレジスタ13において本発明に関連する部分
についての構成を示している。即ち、演算処理部12に
は所定の内部バスと接続された入力ビットセレクタ15
が設けられており、その入力ビットセレクタ15の出力
側が論理演算器16の入力側と接続されている。また、
ステータスレジスタ13にはビットアキュムレータ17
が設けられており、そのビットアキュムレータ17と論
理演算器16の入力側及び出力側とが所定の内部バスを
通じて接続されている。
【0015】図1は、図4で示した入力ビットセレクタ
15及び論理演算器16における特定のビット演算命令
に関わる部分、並びにビットアキュムレータ17を論理
回路で示すもので、特にビット演算命令のうちのビット
アンド命令(ビット同士の論理積)及びビットオア命令
(ビット同士の論理和)の処理回路を示しており、他の
命令に関する処理回路は省略している。この図1におい
て、入力ビットセレクタ15は、所定の内部バスとアン
ド回路18乃至21の入力端子とをインバータ回路22
を介して図示のように接続すると共に、アンド回路18
乃至21の出力端子とオア回路23の入力端子とを接続
して構成されている。
【0016】論理演算器16におけるビットアンド命令
にかかわる処理回路は、所定の内部バスとアンド回路2
4の入力端子とをインバータ回路25を介して図示のよ
うに接続し、アンド回路23の出力端子及び所定の内部
バスb1 とアンド回路26の入力端子とをクロックドイ
ンバータ27を介して接続すると共に、アンド回路2
4,26の出力端子とアンド回路28の入力端子とを接
続し、さらにアンド回路28の出力端子とオア回路29
の入力端子とを接続して構成されている。この場合、ク
ロックドインバータ27は、命令フェッチ・デコード部
6から出力される第1のサイクル信号に同期して動作す
る。
【0017】論理演算器16におけるビットオア命令に
かかわる処理回路は、所定の内部バスとアンド回路30
の入力端子とをインバータ回路31を介して図示のよう
に接続し、アンド回路23の出力端子及び所定の内部バ
スb1 とアンド回路32の入力端子とをクロックドイン
バータ33を介して接続すると共に、アンド回路30,
32の出力端子とアンド回路34の入力端子とを接続
し、アンド回路34の出力端子とオア回路29の入力端
子とを接続して構成されている。
【0018】そして、オア回路29の出力端子はクロッ
クドインバータ35を介して所定の内部バスと接続され
ている。この場合、クロックドインバータ35は、命令
フェッチ・デコード部6からの第2のサイクル信号に同
期して動作する。
【0019】ビットアキュムレータ17は、所定のバス
b1 とインバータ回路36aを組合わせて成る記憶回路
36の入力側とをゲート回路37を介して接続すると共
に、この記憶回路36の出力側と所定の内部バスb1 と
をゲート回路38を介して接続して構成されている。こ
の場合、ゲート回路37は、所定の内部バスの出力に応
じて動作する。また、ゲート回路38は、所定の内部バ
スの内容を論理和するオア回路39からの出力に同期し
て動作する。
【0020】さて、本実施例のマイクロプロセッサが使
用するビット演算命令の一例を以下に示す。ここで、ビ
ット演算命令で使用されているrrはレジスタ群のうち
の一つを指し示すレジスタ番号であり、bbはレジスタ
中のビット位置を示すビットオフセットである。
【0021】 命令コードa7a6a5a4a3a2a1a0 ニーモニック 内容 1100rrbb band ビットデータとビットアキュムレータとの論理積 1101rrbb bor ビットデータとビットアキュムレータとの論理和 1110rrbb bxor ビットデータとビットアキュムレータとの排他的 論理和 1111rrbb bnot ビットデータの反転 0101rrbb bst ビットデータにビットアキュムレータから転送 1000rrbb bcmp ビットデータとビットアキュムレータとの比較 1001rrbb btst ビットデータのテストとセット 1010rrbb bset ビットデータのテストとクリア 00xxxxxx ………… その他の命令
【0022】次に上記構成の作用について説明する。こ
こでは、ビット同士の論理和命令であるband命令を
実行したときの動作を説明するもので、具体的には、レ
ジスタr0 のビットb1 とビットアキュムレータとを論
理積するためのビット操作命令[band r0 ,b1
]の実行を説明する。この場合、レジスタとしてはr0
,r1 ,r2 ,r3 が設定されていると共に、各レジ
スタr0 〜r3 はビットb0 ,b1 ,b2 ,b3 が夫々
有しているものとする。尚、本実施例では、レジスタ群
11中のレジスタ数を4に設定し、レジスタのビット数
を4に設定したが、これに限定されることはない。
【0023】さて、命令記憶部1にはビット演算命令を
含んで各種命令が記憶されており、band命令を示す
アドレスがプログラムカウンタ7から出力されると、命
令記憶部1からband命令が読み出されて処理部3の
命令フェッチ・デコード部6に導入される。また、ba
nd命令に続く演算データ(r0 ,b1 )は、データ記
憶部2よりアドレスバス,処理部の一部である入出力バ
ッファ群、及び内部バスを経てレジスタ群11に導入さ
れる。
【0024】このとき、band命令が実行されるとき
は、所定の内部バスにはband命令の命令コード(a
7 ,a6 ,a5 ,a4 )が出力されると共に、所定のバ
スにはband命令のビットオフセット(a1 ,a0 )
が出力される。また、所定の内部バスにはband命令
で指定したレジスタrrの4ビット(b3 ,b4 ,b3
,b0 )が出力されるようになっている。
【0025】ここで、band命令[band r0 ,
b1 ]の2進数コードは、“11000001”である
ので、(a7 ,a6 ,a5 ,a4 )を出力する内部バス
には(1,1,0,0)が出力され、(a1 ,a0 )を
出力する内部バスには(0,1)が出力されると共に、
(b3 ,b2 ,b1 ,b0 )を出力する内部バスにはレ
ジスタr0 の内容が出力される。
【0026】入力ビットセレクタ15においては、(a
1 ,a0)は(0,1)であることから、AND回路1
8,19,21は非選択となる一方、AND回路20は
選択されるので、所定の内部バスに出力されたb1 の内
容はオア回路20から出力されるようになる。以上の動
作により、入力ビットセレクタ15による所定のビット
の選択出力動作が行われる。
【0027】論理演算器16においては、(a7 ,a6
,a5 ,a4 )は(1,1,0,0)となるので、b
or命令に対応したAND回路30は非選択となる一
方、band命令に対応したAND回路24は選択され
て“1”を出力する。
【0028】また、ビットアキュムレータ17において
は、(a7 ,a6 )は(1,1)となるので、オア回路
39からは“1”が出力される。これにより、記憶回路
36は第1のタイミングで記憶データを所定の内部バス
b1 に出力するので、アンド回路26の入力端子には第
1のサイクル信号の出力タイミングでアンド回路23か
らの“b1 ”とビットアキュムレータ17の記憶内容と
が入力するので、それらの論理和がアンド回路26ひい
てはアンド回路2及びオア回路29から出力される。
【0029】続く第2のサイクル信号の出力タイミング
において、オア回路29の出力は、第2サイクル信号に
同期して動作するクロックドインバータ35の動作によ
り内部バスb1 に出力される。
【0030】このとき、a7 は“1”であるので、ゲー
ト回路37の動作により論理演算器16からの出力は記
憶回路36に出力されてここに保持される。
【0031】以上の動作により、band命令による演
算結果がビットアキュムレータ17に記憶される。
【0032】尚、上記実施例では、ビット演算命令であ
るband命令を実行する際の動作を説明したが、bo
r命令を実行する際は論理演算器16におけるオア回路
32が選択されるので、上記動作と同様にしてbor命
令を実行することができると共に、その他の命令でも、
同様な動作が行われる。
【0033】上記構成のものによれば、ビットアキュム
レータ17を他のワード系の演算処理結果を記憶する回
路から独立するように構成したので、ビットアキュムレ
ータとしてワード系の演算処理結果を記憶するためのキ
ャリーフラグを共用している従来例のものと違って、ビ
ット演算プログラムの実行中にワード系の演算命令プロ
グラムを実行することによりキャリーフラグを変化させ
てしまった場合であっても、前処理を何ら実行すること
なくビット演算プログラムを再開することができる。
【0034】また、本実施例では、従来からマイクロプ
ロセッサに設けられている論理演算器16にクロックド
インバータ27,33及び35を追加することで実施す
ることができるので、ビット演算命令のための演算器を
別個に設ける構成に比べて、設計変更は容易である。
【0035】さらに、ビットアキュムレータ17が設け
られたステータスレジスタ13は、割込命令或いはサブ
ルーチンコール等の処理フローの変更操作時にはデータ
記憶部2に自動的にスタックされるので、割込命令或い
はサブルーチンコールを実行する際に、何ら特別の処理
を行うことなくビット演算命令の中断若しくは再開が可
能である。従って、ビットアキュムレータ17の内容退
避及び復帰が不要となり、プログラマの設計負担が軽減
されるばかりでなく、プログラム量が大幅に減少するの
で、命令記憶部1の容量を減少することができると共
に、動作速度の向上を図ることができる。
【0036】
【発明の効果】以上の説明から明らかなように、本発明
のマイクロプロセッサによれば、以下の効果を奏する。
【0037】請求項1記載のものによれば、ビット演算
命令による演算結果を記憶するためのビットアキュムレ
ータを簡単な構成の追加で設けるようにしたので、ハー
ドウェアを大幅に設計変更することなく、プログラムの
実行速度を高めることができると共にプログラムサイズ
を縮小することができる。
【0038】請求項2記載のものによれば、ビットアキ
ュムレータをステータスレジスタ内に設けるようにした
ので、ビットアキュムレータの内容退避及び復帰が不要
となる。
【図面の簡単な説明】
【図1】本発明の一実施例における要部を示す論理回路
【図2】全体の概略図
【図3】処理部を示すブロック図
【図4】演算処理部及びステータスレジスタの要部を示
すブロック図
【符号の説明】
1は命令記憶部、2はデータ記憶部、6はフェッチ・デ
コード部、15は入力ビットセレクタ、16は論理演算
器、17はビットアキュムレータである。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 我妻 秀治 愛知県刈谷市昭和町1丁目1番地 日本電 装株式会社内 (72)発明者 湯野沢 義則 愛知県刈谷市昭和町1丁目1番地 日本電 装株式会社内

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 命令記憶部に記憶されたビット演算命令
    を含む各種命令を解読して各種制御信号を順次出力する
    命令フェッチ・デコード部と、 この命令フェッチ・デコード部が解読したビット演算命
    令が指示するレジスタ若しくはデータ記憶部の記憶デー
    タを入力するように設けられ、その記憶データのうちか
    ら所定のビットを選択して出力する入力ビットセレクタ
    と、 第1のタイミングで記憶データを出力すると共に第2の
    タイミングで入力データを記憶するビットアキュムレー
    タと、 予め設けられた論理演算回路のうちから前記命令フェッ
    チ・デコード部が解読したビット演算命令に対応した論
    理演算回路を選択するように設けられ、選択した論理演
    算回路により前記第1のタイミングで前記入力ビットセ
    レクタ及びビットアキュムレータから出力されたデータ
    を論理演算すると共に前記第2のタイミングでその論理
    演算結果を出力する論理演算器とを備えたことを特徴と
    するマイクロプロセッサ。
  2. 【請求項2】 前記ビットアキュムレータは、ステータ
    スレジスタ内に設けられていることを特徴とする請求項
    1記載のマイクロプロセッサ。
JP5311577A 1993-12-13 1993-12-13 マイクロプロセッサ Pending JPH07160498A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5311577A JPH07160498A (ja) 1993-12-13 1993-12-13 マイクロプロセッサ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5311577A JPH07160498A (ja) 1993-12-13 1993-12-13 マイクロプロセッサ

Publications (1)

Publication Number Publication Date
JPH07160498A true JPH07160498A (ja) 1995-06-23

Family

ID=18018914

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5311577A Pending JPH07160498A (ja) 1993-12-13 1993-12-13 マイクロプロセッサ

Country Status (1)

Country Link
JP (1) JPH07160498A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007257033A (ja) * 2006-03-20 2007-10-04 Yamaha Corp 信号処理方法及び信号処理装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007257033A (ja) * 2006-03-20 2007-10-04 Yamaha Corp 信号処理方法及び信号処理装置

Similar Documents

Publication Publication Date Title
US7694109B2 (en) Data processing apparatus of high speed process using memory of low speed and low power consumption
US4648034A (en) Busy signal interface between master and slave processors in a computer system
US4794524A (en) Pipelined single chip microprocessor having on-chip cache and on-chip memory management unit
US6959367B2 (en) System having read-modify-write unit
US4926318A (en) Micro processor capable of being connected with a coprocessor
US5710914A (en) Digital signal processing method and system implementing pipelined read and write operations
JP2773471B2 (ja) 情報処理装置
US5410721A (en) System and method for incrementing a program counter
US5938759A (en) Processor instruction control mechanism capable of decoding register instructions and immediate instructions with simple configuration
US4777592A (en) Information processing system comprising a register renewal waiting control circuit with renewal register number registering means
KR950009271B1 (ko) 정보처리시스템
US5237664A (en) Pipeline circuit
JPH07160498A (ja) マイクロプロセッサ
JPH1091395A (ja) プロセッサ
US6425047B1 (en) Process containing address decoders suited to improvements in clock speed
US4991130A (en) Normalization control system for floating point arithmetic operation
JPH01255035A (ja) プロセサ
JPS61500992A (ja) コンピュ−タシステムにおける、またはそれに関する改良
US5649229A (en) Pipeline data processor with arithmetic/logic unit capable of performing different kinds of calculations in a pipeline stage
JPH04280334A (ja) ワンチップマイクロコンピュータ
JP2511063B2 (ja) パイプライン制御方式
JP2922979B2 (ja) 中央演算処理装置
JP3239042B2 (ja) マイクロコンピュータ
JP2721610B2 (ja) プログラマブルコントローラ
US20030163499A1 (en) Limiting the valve of a 64-bit number to a maximum value, a minimum value, or both in a 32-bit environment