JPH0895781A - プロセッサの算術論理装置 - Google Patents

プロセッサの算術論理装置

Info

Publication number
JPH0895781A
JPH0895781A JP6226433A JP22643394A JPH0895781A JP H0895781 A JPH0895781 A JP H0895781A JP 6226433 A JP6226433 A JP 6226433A JP 22643394 A JP22643394 A JP 22643394A JP H0895781 A JPH0895781 A JP H0895781A
Authority
JP
Japan
Prior art keywords
data
bit
register
circuit
arithmetic logic
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
JP6226433A
Other languages
English (en)
Inventor
Hidenori Tsuchiya
英紀 土屋
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP6226433A priority Critical patent/JPH0895781A/ja
Publication of JPH0895781A publication Critical patent/JPH0895781A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】 【目的】 1データ中に変更するビットが2種類以上あ
っても、一度の演算で目的のデータを得ることができる
プロセッサの算術論理装置を得ることを目的とする。 【構成】 デコーダ20がメインメモリ1から汎用レジ
スタ部3に取出された命令が、互いに異なる種類のビッ
ト値を変更する命令と解読したときは、従来の一命令毎
に一つの演算をする算術論理ユニット5に代えて、同時
演算回路13a〜13hが所定ビットの第1のデータと
この第1のデータを操作するための第2のデータとを同
時に入力し、第3のデータのビット毎の演算命令値に基
づいて両データを同時に一度に演算する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はプロセッサの算術論理装
置に関し、特に、互いに異なるビット値を同時に変更す
る算術論理装置に関する。
【0002】
【従来の技術】図4は従来のプロセッサの概略構成図で
ある。同図に示すように、従来のプロセッサは、少なく
とも制御部1、複数のレジスタを備える汎用レジスタ部
3、算術論理ユニット5、算術論理ユニット5の結果を
一時記憶するバッファ7等は全て内部バスに接続されて
いる。
【0003】制御部1は外部のメインメモリ9から順次
プログラム命令を汎用レジスタ部3に取出し、このプロ
グラム命令に基づいて算術論理ユニット5を制御しなが
ら、メインメモリ9から取出したデータを加工する。ま
た、制御部1は、例えばレジスタに記憶されるデータが
8ビットであれば、8ビット分を一度に算術論理ユニッ
ト5に出力させて算術演算させるようにしている。算術
論理ユニット7は、内部に少なくともOR、AND等を
並列接続した構成となっている。
【0004】上記のように構成されたプロセッサについ
て以下に動作を説明する。図5は従来のプロセッサの動
作を説明する説明図である。例えば、プログラムの命令
が36(00100100)を96(0110000
0)に変更する命令のとき、つまり、変更するビットの
種類が互いにことなる場合は、一度にレジスタのデータ
を算術論理ユニット5に出力して論理演算させるため、
一度の演算で全てのビットを変更することはできない。
そこで、以下のような演算過程で処理していた。
【0005】例えば、汎用レジスタ部3のレジスタ3a
(以下入力レジスタ3aという)に00100100が
格納され、この入力レジスタ3aの第1ビットを“0”
から“1”に、また第5ビットを“1”から“0”に変
更させる場合は、図5に示すように、初めに入力レジス
タ3aに対応するレジスタ3b(以下ビット操作レジス
タという)の第1ビットを“1”にして、ビット列を0
1000000に操作する。この両レジスタのビット値
はプログラムによって予め決めるものである。
【0006】次に、制御部1は、図5に示すように、算
術論理ユニット5のORに、入力レジスタ3aとビット
操作レジスタ3bの両データを出力してORを取らせて
バッファ7に一時記憶させた後に、例えば汎用レジスタ
部3のレジスタ3dを出力レジスタとして記憶させる。
次に、プログラムによって図5に示すように、レジスタ
3cを新たなビット操作レジスタとし、このビット操作
レジスタ3cの第5ビットを“0”にしたデータ(11
111010)を用意する。
【0007】次に、制御部1は算術論理ユニットのAN
Dに出力レジスタ3dのデータ(01100100)と
ビット操作レジスタ3cのデータ(11111011)
とを出力させてANDを取らせ、バッファ7を介して目
的の01100000を汎用レジスタ部のレジスタ3e
を出力レジスタとして記憶する。つまり、従来は、ある
レジスタの値から目的のデータの値を得るとき、まず他
のレジスタに、“1”を立てたいビット位置に、1を立
て、その他のビットは“0”にしたデータを用意し、こ
のデータと先のレジスタのデータとでORを取り、その
後に、“0”を立てたいビット位置に、0を立て、その
他のビットは“1”にしたデータを用意し、このデータ
とOR後のデータとでANDを取ってていた。
【0008】
【発明が解決しようとする課題】しかしながら、従来の
プロセッサは、所定ビットのデータを変更する場合は、
制御部が一度にそのデータを算術論理ユニットに出力し
て目的の演算をするようにしているため、変更するビッ
トが1データ中に2種類以上あると、最低2度の演算を
させなければならない。従って、3オペランド形式にし
ていても、プログラムのステップ数が増加し、結果とし
て演算処理速度が低下するという問題点があった。ま
た、互いに異なるビットを変更する場合は、最低2度の
演算が必要であるため、ビット操作レジスタとして使用
するレジスタが最低2つ必要となる。このため、複数ビ
ットに渡って異なる種類のビットを変更する場合はレジ
スタも多く必要となるので、メモリサイズも大きくなけ
ればならないという問題点があった。
【0009】本発明は、上記の問題点を解決するために
なされたものであり、1データ中に変更するビットが2
種類以上あっても、一度の演算で目的のデータを得るこ
とができるプロセッサの算術論理装置を得ることを目的
とする。
【0010】
【課題を解決するための手段】本発明に係わるプロセッ
サの算術論理装置は、メインメモリから順次、プログラ
ム命令をレジスタに取出し、この命令に従って、演算を
実施する第1の算術論理回路を制御しながら、メインメ
モリから取出したレジスタの情報を加工するプロセッサ
において、取出された命令が、互いに異なる種類のビッ
ト値を変更する命令のときは、第1の算術論理回路に代
えて第2の算術論理回路を起動させると共に、操作した
い所定ビットの第1のデータ、第1のデータを操作する
ための所定のビットの第2のデータ及び両データのビッ
ト同志を演算させるためのビット毎の演算指令値が書込
まれた所定ビットの第3のデータを第2の算術論理回路
に出力する解読手段と、起動に伴って、第3のデータが
示すビットの演算指令値に基づいて、第第1のデータの
ビット値と第2のデータのビット値とを、ビット毎に同
時に演算する第2の算術論理回路とを備えたものであ
る。
【0011】
【作用】本発明においては、解読手段が取出された命令
が、互いに異なる種類のビット値を変更する命令のとき
は、従来の一命令毎に一つの演算をする第1の算術論理
回路に代えて、第2の算術論理回路を起動させると共
に、操作したい第1のデータ、第1のデータを操作する
ための第2のデータ及び両データのビット同志を演算さ
せるための演算指令値が書込まれた第3のデータを第2
の算術論理回路に出力する。第2の算術論理回路は第3
のデータの各ビットの演算指令値に基づいて、第1のデ
ータと第2のデータとを1ビット毎に演算するため、一
回の演算でもって同時に目的のデータが得られる。
【0012】
【実施例】本実施例では8ビットのプロセッサを例にし
て説明する。
【0013】実施例1 図1は実施例1の概略構成図である。図において、1〜
7は上記図4と同様なものである。同図に示すように本
実施例1の算術論理ユニット9は従来の算術論理回路5
と8ビット分の第2の算術論理回路(以下同時演算回路
13a〜同時演算回路13hという)、デコーダ20を
備えている。同時演算回路13a〜同時演算回路13h
は、ビット数に対応し、それぞれ内部にOR15、AN
D17及びセレクタ18を備え、OR15とAND17
の入力を並列接続し、それぞれの出力を単独にセレクタ
18に出力する構成となっている。また、それぞれのセ
レクタ18はデコーダ20からのビット列に基づいて、
OR15又はAND17を選択し、その値をバッファ7
に記憶する構成になっている。
【0014】デコーダ20は、汎用レジスタより出力さ
れた3オペランド形式の命令が互いに異なる種類のビッ
トを変更する命令かどうかを判断し、異なる種類のビッ
トを変更するときのみ、同時演算回路13a〜同時演算
回路13hを起動させると共に、3オペランド形式の3
つのレジスタのデータを同時演算回路13a〜同時演算
回路13hに出力する。
【0015】上記のように構成されたプロセッサについ
て動作を以下に説明する。図2は実施例1の動作を説明
する説明図である。この図2では、同時演算回路はビッ
トに対応して備えられているが動作はすべて同じである
ので、一つの同時演算回路のみを記載して説明する。ま
た、データは操作したい所定ビットの第1のデータ、第
1のデータを操作するための所定のビットの第2のデー
タ及び両データのビット同志を演算させるためのビット
毎の演算指令値が書込まれた所定ビットの第3のデータ
からなる3オペランド形式になっている。また、命令は
互いに異なる種類のビットを変更する命令であるとす
る。
【0016】例えば、従来例と同様に36(00100
100)を96(01100000)に変更する場合
は、予め入力レジスタ3aに00100100のデータ
を格納し、この操作レジスタ3aの第1ビットを“0”
から“1”に、第5ビットを“1”から“0”に変更す
るために、0を立てる。つまり、変更するビットの種類
が互いに異なる場合は、操作レジスタに、入力レジスタ
の変化させるビットに対応する場所に変化させたい値を
書き込む。また、汎用レジスタ部3のいずれかのレジス
タを論理選択レジスタとし、論理回路内のOR又はAN
Dを選択するビットを立てるプログラムにされていると
する。本例では、図2に示すように、論理選択レジスタ
の第5ビットのみが“1”にセットされている。
【0017】そして、制御部1によってメインメモリの
命令が取出され、例えば36(00100100)を9
6(01100000)に変更する命令と、このような
第1及び第2のデータがそれぞれパラレルで算術論理ユ
ニット側に出力されると、デコーダ20はこの命令を解
読し、同時演算回路群を選択し、論理選択レジスタの第
3のデータであるビット列を内部のレジスタに設定す
る。これにより、同時演算回路13aの入力には、入力
レジスタの第1ビットの値と操作レジスタの第1ビット
の値が出力され、同時演算回路13bの入力には、入力
レジスタの第2ビットの値と操作レジスタの第2ビット
の値が出力され、同時演算回路13cの入力には、入力
レジスタの第3ビットの値と操作レジスタの第3ビット
の値が出力される。
【0018】また、同時演算回路13dの入力には、入
力レジスタの第4ビットの値と操作レジスタの第4ビッ
トの値が、同時演算回路13eの入力には、入力レジス
タの第5ビットの値と操作レジスタの第5ビットの値
が、同時演算回路13fの入力には、入力レジスタの第
6ビットの値と操作レジスタの第6ビットの値が出力さ
れる。さらに、同時演算回路13gの入力には、入力レ
ジスタの第7ビットの値と操作レジスタの第7ビットの
値が出力され、同時演算回路13hの入力には、入力レ
ジスタの第8ビットの値と操作レジスタの第8ビットの
値が出力される。そして、各同時演算回路のOR及びA
NDにより、入力された2つのビット値が論理演算され
る。
【0019】また、このとき、論理選択レジスタのビッ
ト列が00000100であるため、同時演算回路13
a〜同時演算回路13eのセレクタと同時演算回路13
g及び同時演算回路13hはORを選択し、同時演算回
路13fのセレクタのみがANDを選択する。すなわ
ち、出力レジスタには、01100000が設定され
る。従って、互いに異なる種類のビットの値を変更する
命令であっても、一度の演算でもって、互いに異なる種
類のビットの値を変更できている。さらに、一度に演算
が終了するため、出力レジスタは1つでよいため、メモ
リ容量は小さくて済む。
【0020】実施例2 上記実施例1では、36(00100100)を96
(01100000)に変更する場合は、操作レジスタ
に01000000を論理選択レジスタに011000
00を設定するプログラムとしたが図3に示すように、
ビット操作レジスタの値を11111011とし、論理
選択レジスタの値を10111111としても、出力レ
ジスタの値は実施例1と同様に01100000が設定
される。つまり、上記各実施例で説明したように本発明
の同時演算回路は以下に説明する論理となっている。
【0021】
【表1】 表1に示すように、入力レジスタのビットの値が0又は
1のとき、この出力レジスタに1をセットするプログラ
ム命令の場合は、プログラムによってビット操作レジス
タに1を、論理選択レジスタを0に設定させると、同時
演算回路は出力レジスタに1をセットする。
【0022】また、入力レジスタのビットの値が0又は
1のとき、この値をリセットするプログラム命令の場合
は、プログラムによってビット操作レジスタに0を、論
理選択レジスタを1に設定させると、同時演算回路は出
力レジスタに0を立てる。さらに、入力レジスタの値を
変化させないプログラム命令のとき、操作レジスタと論
理選択レジスタの対応するビットの値がプログラムによ
って同じ論理にされると、出力レジスタの値は操作レジ
スタの値と同じになることを示すものである。例えば表
1においては、入力レジスタの値が0又は1のときは、
操作レジスタと論理レジスタの値が1又は0にされる
と、本同時演算回路からの出力は0又は1になる。な
お、上記各実施例では、8ビットとして説明したがビッ
ト数に応じて上記の同時演算回路を設けると、何ビット
でもよい。
【0023】
【発明の効果】以上のように本発明によれば、取出され
た命令が、互いに異なる種類のビット値を変更する命令
のときは、従来の一命令毎に一つの演算をする第1の算
術論理回路に代えて、第2の算術論理回路が所定ビット
の第1のデータとこの第1のデータを操作するための第
2のデータとを同時に入力し、第3のデータのビット毎
の演算命令値に基づいて両データを一度に演算すること
により、互いに異なる種類のビット値を変更する命令で
あっても、一度の演算でもって目的のデータが得られる
ので、演算処理速度が向上すると共に、レジスタ数を少
なくできるため、メモリ容量を低減できるという効果が
得られている。
【図面の簡単な説明】
【図1】実施例1の概略構成図である。
【図2】実施例1の動作を説明する説明図である。
【図3】実施例2の動作を説明する説明図である。
【図4】従来のプロセッサの概略構成図である。
【図5】従来の動作を説明する説明図である。
【符号の説明】 1 制御部 3 汎用レジスタ部 5 算術論理ユニット 7 バッファ 9 外部のメインメモリ 13a〜13h 同時演算回路 15 OR 17 AND 18 セレクタ 20 デコーダ

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 メインメモリから順次、プログラム命令
    をレジスタに取出し、この命令に従って、演算を実施す
    る第1の算術論理回路を制御しながら、前記メインメモ
    リから取出したレジスタの情報を加工するプロセッサに
    おいて、 前記取出された命令が、互いに異なる種類のビット値を
    変更する命令のときは、前記第1の算術論理回路に代え
    て第2の算術論理回路を起動させると共に、操作したい
    所定ビットの第1のデータ、該第1のデータを操作する
    ための所定のビットの第2のデータ及び両データのビッ
    ト同志を演算させるためのビット毎の演算指令値が書込
    まれた所定ビットの第3のデータを前記第2の算術論理
    回路に出力する解読手段と、 起動に伴って、前記第3のデータが示すビットの演算指
    令値に基づいて、前記第第1のデータのビット値と第2
    のデータのビット値とを、ビット毎に同時に演算する第
    2の算術論理回路とを有することを特徴とするプロセッ
    サの算術論理装置。
  2. 【請求項2】 前記第2の算術論理回路は、 前記ビットに対応して設けられ、互いの入力側を並列接
    続した論理和回路と論理積回路とよりなる演算回路群
    と、 前記演算回路に対応するビット数を有し、該ビット領域
    に前記論理和回路又は論理積回路のいずれかを選択する
    フラグを書込みさせるための内部レジズタと、 前記演算回路及び前記内部レジスタのビットに対応して
    設けられ、該対応する内部レジスタのビット値が論理和
    の選択を示しているときは、前記論理和の出力を、また
    前記論理積の選択を示しているときは前記論理積の出力
    を選択して出力レジスタの対応するビット領域に出力す
    るセレクタ群とを有することを特徴とする請求項1記載
    のプロセッサの算術論理装置。
  3. 【請求項3】 前記第1のデータ、第2のデータ及び第
    3のデータは3オペランド形式でプログラムによって汎
    用レジスタ部に設定されることを特徴とする請求項1記
    載のプロセッサの算術論理装置。
JP6226433A 1994-09-21 1994-09-21 プロセッサの算術論理装置 Pending JPH0895781A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6226433A JPH0895781A (ja) 1994-09-21 1994-09-21 プロセッサの算術論理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6226433A JPH0895781A (ja) 1994-09-21 1994-09-21 プロセッサの算術論理装置

Publications (1)

Publication Number Publication Date
JPH0895781A true JPH0895781A (ja) 1996-04-12

Family

ID=16845043

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6226433A Pending JPH0895781A (ja) 1994-09-21 1994-09-21 プロセッサの算術論理装置

Country Status (1)

Country Link
JP (1) JPH0895781A (ja)

Similar Documents

Publication Publication Date Title
US4037213A (en) Data processor using a four section instruction format for control of multi-operation functions by a single instruction
JPH09294069A (ja) プログラマブルlsiおよびその演算方法
JP3237858B2 (ja) 演算装置
JPH06162228A (ja) データフロープロセッサ装置
JPH03286332A (ja) デジタルデータ処理装置
US5479620A (en) Control unit modifying micro instructions for one cycle execution
JPH034936B2 (ja)
JP3804778B2 (ja) プロセッサ及び命令実行方法
JPS59114677A (ja) ベクトル処理装置
JPH0895781A (ja) プロセッサの算術論理装置
JP3000857B2 (ja) プログラマブルコントローラ
JPH06309349A (ja) プログラム制御のプロセッサ
JP2793357B2 (ja) 並列演算装置
JP2513219B2 (ja) デ−タ処理用プロセツサ
JP2000112754A (ja) データ処理装置
JP2918570B2 (ja) 中央演算処理装置
JP3088956B2 (ja) 演算装置
JPH03164849A (ja) マイクロプロセッサおよびマイクロプロセッサシステム
JPH1185463A (ja) 演算ネットワーク装置
JPS58201138A (ja) デイジタル信号処理回路
JP3471388B2 (ja) 補助処理装置
JPH0470987A (ja) 並列データ処理方式
JPH08297583A (ja) 割り込み処理装置およびその方法
JPH0319570B2 (ja)
JPH04138582A (ja) 単一命令型並列計算機