JPH1097462A - ビット演算プロセッサ及び計算機システム - Google Patents

ビット演算プロセッサ及び計算機システム

Info

Publication number
JPH1097462A
JPH1097462A JP8249382A JP24938296A JPH1097462A JP H1097462 A JPH1097462 A JP H1097462A JP 8249382 A JP8249382 A JP 8249382A JP 24938296 A JP24938296 A JP 24938296A JP H1097462 A JPH1097462 A JP H1097462A
Authority
JP
Japan
Prior art keywords
bit
instruction
data
decimal
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.)
Pending
Application number
JP8249382A
Other languages
English (en)
Inventor
Yutaka Arita
有田  裕
Tetsuaki Nakamigawa
哲明 中三川
Kenichi Kurosawa
憲一 黒沢
Tadashi Okamoto
正 岡本
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP8249382A priority Critical patent/JPH1097462A/ja
Publication of JPH1097462A publication Critical patent/JPH1097462A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)
  • Multi Processors (AREA)
  • Memory System (AREA)

Abstract

(57)【要約】 【課題】ビット演算プロセッサを備えた計算機システム
において、10進表記されたデータの処理の高速化を図
る。 【解決手段】1ビット長のビット演算を行うビット演算
プロセッサに、10進表記されたデータを2進データに
変換する10進2進変換器を内蔵する。このようにする
ことで、メモリのアドレス指定等に10進数を扱えるよ
うにすることができる。また、内蔵することで、10進
2進変換処理を高速に行うことができる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ビット演算プロセ
ッサ、および該プロセッサと汎用プロセッサとを備えた
計算機システムに関するものである。
【0002】
【従来の技術】従来より、工場ライン等の産業設備を制
御するプログラマブル・コントローラとして、汎用プロ
セッサとビット演算プロセッサとを備えた計算機システ
ムが用いられている。この種の計算機システムでは、産
業設備上に設置されたセンサから送られてきた信号の状
態を検知し、検知結果に応じてリレー等をオン・オフ操
作して、該産業設備を制御すると云った動作を行う。こ
こで、センサ信号の状態やリレー等のオン・オフ操作
は、通常、1ビットのデータで表現されるため、1ビッ
ト長のビット演算が必要となる。このため、上記の計算
機システムでは、この1ビット長の演算をビット演算プ
ロセッサを用いて行っている。
【0003】ところで、この種の計算機システムは、ユ
ーザーインターフェースの観点から、データや、機器、
ワーク用メモリの番号等を10進表記で扱えることが好
ましい。しかしながら、一般に汎用プロセッサが扱える
のは2進数のみであるため、従来のこの種の計算機シス
テムでは、特開昭58−212297号公報記載のよう
に、I/O装置に接続されている10進変換器を用いた
り、汎用プロセッサ上で実行されるソフトウエアで対処
をしたりすることで、10進数を扱っている。尚、通
常、この10進表記には、4ビットで10進1桁を表現
するBCD(Binary Coded Decimal)表記が使用されて
いる。図30にBCD表記と10進との対応を示す。
【0004】また、この種の計算機システムでは、汎用
プロセッサとビット演算プロセッサとの間でお互いの処
理の同期をとる必要があるが、従来はこの同期をとる手
段として、割り込み処理やコプロセッサインターフェー
スを用いていた。
【0005】割込み処理を用いた計算機システムでは、
ビット演算プロセッサは汎用プロセッサのI/Oバスに
接続される。そして、ビット演算命令を含む命令のフェ
ッチをビット演算プロセッサで行う。ビット演算プロセ
ッサでフェッチした命令が該ビット演算プロセッサで実
行不可能な命令である場合、汎用プロセッサに割込みを
かけて当該命令を汎用プロセッサに転送し、当該命令を
汎用プロセッサで実行する。
【0006】コプロセッサインターフェースを用いた計
算機システムでは、汎用プロセッサとビット演算プロセ
ッサとがコプロセッサインターフェースを介して接続さ
れる。そして、ビット演算命令を含む命令のフェッチを
汎用プロセッサで行う。汎用プロセッサでフェッチした
命令がビット演算プロセッサで実行すべき命令である場
合、当該命令をコプロセッサインターフェースを介して
ビット演算プロセッサに転送し、当該命令をビット演算
プロセッサで実行する。
【0007】
【発明が解決しようとする課題】しかしながら、上記従
来のデータ等を10進表記で扱えるようにした計算機シ
ステムには、以下のような問題がある。
【0008】I/O装置に接続されている10進変換
器を用いた計算機システムでは、10進データから2進
データへ、またその逆の変換である2進データから10
進データへの変換を行なう際に、その都度10進変換器
に要求を出す必要があり、ハードウエア的に制御が複雑
になってしまう。
【0009】汎用プロセッサ上で実行されるプログラ
ムで対処する計算機システムでは、入力された10進デ
ータを該ソフトウエアで2進データに変換し、ビット演
算プロセッサで処理する。また、2進データを該ソフト
ウエアで10進データに変換した後、該データを表示器
等で表示する。したがって、変換オーバーヘッドがあ
る。
【0010】また、上記従来の汎用プロセッサ及びビッ
ト演算プロセッサ間で同期を図った計算機システムに
は、以下のような問題がある。
【0011】汎用プロセッサに割込みをかける計算機
システムでは、汎用プロセッサで命令が実行されるまで
のオーバーヘッドが大きく、性能低下を引き起こすこと
がある。
【0012】コプロセッサインターフェースを用いた
計算機システムでは、ビット演算プロセッサが汎用プロ
セッサのコプロセッサとして使用されることになるの
で、ビット演算プロセッサで実行される命令の命令コー
ドが汎用プロセッサのコプロセッサ命令に依存してしま
う。このため、汎用のビット演算プロセッサを作ること
が難しい。また、一般に、コプロセッサはメモリコント
ローラを持たないため、メモリアクセスはすべて汎用プ
ロセッサが行なう必要がある。このため、汎用プロセッ
サは、ビット演算プロセッサの可動中はフリーになら
ず、並列に動作できない。
【0013】本発明は上記事情を鑑みてなされたもので
あり、本発明の目的は、10進2進変換を高速に行うこ
とができるビット演算プロセッサ及び計算機システムを
提供することにある。
【0014】また、本発明の他の目的は、汎用プロセッ
サ及びビット演算プロセッサ間での同期処理を高速行う
ことができるビット演算プロセッサ及び計算機システム
を提供することにある。
【0015】
【課題を解決するための手段】上記課題を解決するため
に、本発明のビット演算プロセッサは、命令をフェッチ
する命令フェッチ部と、前記命令フェッチ部でフェッチ
した命令をデコードしてオペランドアドレスを切り出す
命令デコード部と、前記命令デコード部で切り出したオ
ペランドアドレスを基に、データが格納されたメモリか
らデータを読み出すアドレス計算部と、前記アドレス計
算部で読み出したデータを基に1ビット長のビット演算
を行うビット演算部と、を有するビット演算プロセッサ
であって、前記アドレス計算部は、10進データを2進
データに変換する10進2進変換器を備え、前記アドレ
ス計算部は、前記命令デコード部で切り出したオペラン
ドアドレスが10進表記されている場合は、当該オペラ
ンドアドレスを前記10進2進変換器で2進表記アドレ
スに変換し、当該2進表記されたオペランドアドレスで
前記メモリにアクセスすることで、前記メモリからデー
タを読み出すと共に、前記メモリから読み出したデータ
が、実行オペランドアドレスであって、当該実行オペラ
ンドアドレスが10進表記されている場合は、当該実行
オペランドアドレスを前記10進2進変換器で2進表記
アドレスに変換し、当該2進表記された実行オペランド
アドレスで前記メモリにアクセスすることで、前記メモ
リからデータを読み出すことを特徴とする。
【0016】ここで、ビット演算プロセッサは、外部と
データの送受を行うために、当該データを格納するイン
ターフェースレジスタを備えていることが好ましい。
【0017】また、本発明の計算機システムは、インタ
ーフェースレジスタを備えた前記ビット演算プロセッサ
と、ワード演算命令を実行する汎用プロセッサと、前記
ビット演算プロセッサ及び汎用プロセッサで実行される
命令やデータが格納されたメモリと、を有する計算機シ
ステムであって、前記ビット演算プロセッサ及び前記汎
用プロセッサが、前記インターフェースレジスタを介し
て互いに接続されており、一方のプロセッサでフェッチ
した命令が、当該プロセッサで実行不可能、あるいは実
行すべきでない命令である場合、前記一方のプロセッサ
は、当該命令を前記インターフェースレジスタに格納す
ることで、当該命令を他方のプロセッサに実行させるこ
とを特徴とする。
【0018】
【発明の実施の形態】以下に、本発明の一実施形態につ
いて図面を参照して説明する。
【0019】図1は本実施形態を用いた計算機システム
の概略構成図である。
【0020】図1に示す計算機システム1は、本実施形
態である1ビット演算や10進演算を行うビット演算プ
ロセッサ10(以下、BPUともいう)と、ワード演算
等を行う汎用プロセッサ(以下、CPUともいう)20
と、BPU10及びCPU20で実行される命令が格納
された命令RAM30と、当該命令の実行に必要なデー
タ(演算データ、演算データのアドレス等)が格納され
ると共にワークエリアとして使用されるデータRAM4
0と、命令RAM30及びデータRAM40のBPU1
0、CPU20への接続を切り替えるメモリアクセスセ
レクタ50と、を備えている。計算機システム1は、例
えば、工場ライン等の産業設備を制御するプログラマブ
ル・コントローラとして用いられる。
【0021】計算機システム1は、BPU10と、CP
U20とを並列に動作できるように構成されている。そ
して、CPU20がメモリアクセスの主導権を握るCP
Uモードと、BPU10がメモリアクセスの主導権を握
るBPUモードのいずれかで動作する。ここで、CPU
モード及びBPUモードは、各々メモリアクセスの主導
権を握っている方がメインとなって動作し、他方のプロ
セッサがサブとなって命令の実行を助ける。
【0022】次に、本実施形態のBPU10について説
明する。
【0023】図2はBPU10の概略構成図である。
【0024】BPU10は、本来、CPU20が不得意
な1ビット演算や、10進演算を行うためのものであ
る。BPU10は、メモリアクセスセレクタ50を介し
て、命令RAM30、データRAM40に接続されてい
る。また、I/Oバス60を介して、図示していない入
出力装置と接続されている。
【0025】BPU10は、図2に示すように、命令フ
ェッチ部101と、命令デコード部103と、メモリア
ドレス計算部105と、ビット演算実行部107と、イ
ンターフェースレジスタ(以下、I/Fレジスタともい
う)109と、を備えている。尚、図2において、BP_I
_ADR701は命令RAM30へのアドレス出力信号、BP
_I_RDAT702は命令RAM30からのデータ入力信
号、BP_D_ADR703はデータRAM40へのアドレス出
力信号、BP_D_RDAT704はデータRAM40からのデ
ータ入力信号、BP_D_WDAT705はデータRAM40へ
のデータ出力信号、CPU_ADR706はCPU20からの
アドレス出力信号、CPU_RDAT707はCPU20へのデ
ータ出力信号、CPU_WDAT708はCPU20からのデー
タ入力信号である。これらの信号は、図1に示すバス7
0上を搬送される。また、CPU_ADR706、CPU_RDAT707
及びCPU_WDAT708は、メモリアクセスセレクタ50を
介して、図1に示すバス70、75上を搬送される。
【0026】命令フェッチ部101は、BP_I_ADR701
を介してフェッチアドレスを命令RAM30に出力す
る。また、BP_I_RDAT702から命令をフェッチし、フ
ェッチした命令を命令デコード部103に送出する。
【0027】命令デコード部103は、命令フェッチ部
101から送られてきた命令をデコードし、オペコード
とオペランドに切り分ける。そして、オペランドをメモ
リアドレス計算部105に送出する。
【0028】メモリアドレス計算部105は、オペラン
ドレジスタ105aと、10進2進変換器105bとを
有する。メモリアドレス計算部105は、命令デコード
部103から送られてきたオペランドをオペランドレジ
スタ105aに格納する。そして、格納したオペランド
が演算データを示す場合は該オペランドをビット演算実
行部107に送出する。また、格納したオペランドがデ
ータRAM40のアドレスを示す場合、直接アドレッシ
ングモードであるか、あるいは間接アドレッシングモー
ドであるかによって、それぞれ以下のように動作する。
【0029】直接アドレッシングモードの場合、オペラ
ンドレジスタ105aに格納したオペランドが示すデー
タRAM40のアドレスに、BP_D_ADR703を用いてア
クセスし、BP_D_RDAT704を介してデータRAM40
から送られてきたデータをオペランドレジスタ105a
に格納する。その後、該データをビット演算実行部10
7に送出する。
【0030】間接アドレッシングモードの場合、オペラ
ンドレジスタ105aに格納したオペランドが示すデー
タRAM40のアドレスに、BP_D_ADR703を用いてア
クセスし、BP_D_RDAT704を介してデータRAM40
から送られてきた、データRAM40のアドレスを示す
データ(このデータは、BCD表記された10進データ
としてデータRAM40に格納されているものとする)
を、オペランドレジスタ105aに格納する。次に、オ
ペランドレジスタ105aに格納したBCD表記の10
進データを、10進2進変換器105bで、2進データ
に変換した後、BP_D_ADR703を用いて、該2進データ
が示すデータRAM40のアドレスにアクセスし、BP_D
_RDAT704を介してデータRAM40から送られてき
たデータを、オペランドレジスタ105aに格納する。
その後、該データをビット演算実行部107に送出す
る。
【0031】尚、命令デコード部103から送られてき
たオペランドが演算データであるか、直接アドレッシン
グモードであるか、あるいは間接アドレッシングモード
であるかは、命令デコード部103でのデコードにより
判別される。
【0032】ビット演算実行部107は、1ビット演算
を行うビット演算器107aと、10進演算を行う10
進演算器107bとを有する。ビット演算器107a
は、ビット演算を行う回路であり、内部にビットスタッ
クを有している。ビット演算器107aで実行できる演
算は、BUFF、INV、AND、OR、XOR、NA
ND、NOR、XNOR演算である。10進演算器10
7bは、タイマ命令でのタイマの残り時間のデクリメン
トを行なう際に使用する。
【0033】ビット演算実行部107は、命令デコード
部103でのデコード結果に従って、メモリアドレス計
算部105から送られてきたデータを用いて、1ビット
演算あるいは10進演算のいずれかを実行する。そし
て、演算結果をBP_D_WDAT705に送出する。
【0034】I/Fレジスタ109は、BPU10とC
PU20との間で同期、即ち役割分担を図るために設け
られている。ワード演算等はBPU10では実行するこ
とができない。一方、1ビット演算等はCPU20で実
行するよりもBPU10で実行した方が処理が速い。そ
こで、本実施形態のBPU10では、BPU10がワー
ド演算等のBPU10では実行できない命令をフェッチ
した場合には、該命令をCPU20で実行するように、
また、CPU20での処理実行中にビット演算等が必要
になった場合には、BPU10でビット演算等を行なう
ように、すなわち、互いのハードウエア資源を利用でき
るように、BPU10にI/Fレジスタ109を設けて
いる。
【0035】I/Fレジスタ109は、命令フェッチ部
101でフェッチした命令がワード演算等、BPU10
では実行できない命令である場合、その旨をI/Fレジ
スタ109内の状態を示すレジスタにセットすると共に
該命令をI/Fレジスタ109内に格納する。該命令
は、CPU20が、CPU_ADR706、CPU_RDAT707を
用いて、I/Fレジスタ109を定期的にアクセスする
ことで、CPU20に取得される。そして、CPU20
により実行される。
【0036】また、I/Fレジスタ109は、CPU_ADR
706、CPU_WDAT708を介してCPU20から送られ
てきた1ビット演算又は10進演算の命令を、CPU_ADR
706が示すアドレスに格納する。該命令は、命令フェ
ッチ部101にフェッチされ、BPU10で実行され
る。
【0037】以上説明したように、本実施形態のビット
演算プロセッサ10は、BCD表記された10進データ
を2進データに変換する10進2進変換器105bを備
えている。このようにすることで、ユーザは、データR
AM40のアドレスを10進表記で扱うことができる。
【0038】また、10進2進変換器105bをビット
演算プロセッサ10内部に設けることで、従来の技術で
説明した、I/O装置を介して10進変換器が接続され
ている計算機システムに比べ、ハードウエアの制御を簡
易にすることができる。
【0039】また、従来の技術で説明した、汎用プロセ
ッサ上で実行されるプログラムで10進2進変換を対処
する計算機システムと異なり、10進2進変換をソフト
ウエア的に行わなくて済むので、変換オーバーヘッドを
抑制することができる。
【0040】また、本実施形態のビット演算プロセッサ
10は、タイマ命令でのタイマの残り時間のデクリメン
トを行なう際に使用する10進演算器107bを備えて
いる。このように、10進演算器107bをビット演算
プロセッサ10内部に設けることで、10進演算を高速
に処理することができる。
【0041】さらに、本実施形態のビット演算プロセッ
サ10は、汎用プロセッサ20との間で同期を図るため
のI/Fレジスタ109を備えている。このようにする
ことで、従来の技術で説明した、汎用プロセッサに割込
みをかける計算機システムが抱えている、割り込み処理
後のオーバーヘッドといったような問題がなくなる。し
たがって、ビット演算プロセッサ10及び汎用プロセッ
サ20間の同期の高速化を図ることができる。
【0042】また、従来の技術で説明した、コプロセッ
サインターフェースを用いた計算機システムと異なり、
ビット演算プロセッサ10で実行される命令の命令コー
ドがコプロセッサ命令に依存しない。このため、ビット
演算プロセッサに汎用性をもたせることができる。
【0043】以下、上述した本実施形態のビット演算プ
ロセッサ10を、図面を用いて更に詳細に説明する。
【0044】図3は図2に示すビット演算プロセッサ1
0のハードウエア構成を示す図である。
【0045】命令フェッチ部101は、BPU_I_ADR70
1、BP_I_RDAT702を用いて、命令RAM30から命
令をフェッチし、該命令を命令デコード部103に送出
する。
【0046】命令デコード部103は、命令フェッチ部
101でフェッチした命令をデコードし、オペコードを
レジスタ102(IR)に保持すると共に、オペランド
を切り出してメモリアドレス計算部105に送出する。
【0047】メモリアドレス計算部105は、10進2
進変換器105bと、命令デコード部103で切り出さ
れたオペランド、あるいは10進2進変換器105bで
変換されたデータRAM40のアドレスを示す2進デー
タを格納するレジスタ104a(OR0)、レジスタ1
04b(OR1)、レジスタ104c(OR2)と、オ
ペランドをデータRAM40に書込むためのアドレスを
格納するレジスタ104d(OAR0)、レジスタ10
4e(OAR1)と、オペランド値を格納するレジスタ
104f(ODR0)、レジスタ104g(ODR1)
と、セレクタ106a〜106eと、を有する。レジス
タ104a〜104gは、図2に示すメモリアドレス計
算部105のオペランドレジスタ105aに相当するも
のである。
【0048】セレクタ106aは、命令デコード部10
3で切り出されたオペランド、あるいは10進2進変換
器105bで変換されたデータRAM40のアドレスを
示す2進データを選択して、レジスタ104a〜104
cに送出する。
【0049】セレクタ106bは、レジスタ104a〜
104cの出力のいずれかを選択する。尚、セレクタ1
06bの出力は、レジスタ104d、104eに格納さ
れる。
【0050】セレクタ106cは、セレクタ106bの
出力、あるいはBP_D_RDAT704を介してデータRAM
40から送られてきたデータのいずれかを選択する。
尚、セレクタ106cの出力は、レジスタ104f、1
04gに格納される。また、レジスタ104gに格納さ
れたデータは、10進2進変換器105bに入力され
る。
【0051】セレクタ106dは、レジスタ104d、
104eの出力のいずれかを選択する。セレクタ106
eは、セレクタ106b、106dの出力のいずれかを
選択する。セレクタ106eの出力は、データRAM4
0へのアドレス出力信号として、BP_D_ADR703を介し
てデータRAM40に送出される。
【0052】ビット演算実行部107は、ビット演算器
107aと、BCDデクリメンタ107cと、レジスタ
108(WDR)と、セレクタ111a、111bと、
を有する。BCDデクリメンタ107cは、図2に示す
ビット演算実行部107の10進演算器107bに相当
するものである。
【0053】ビット演算器107aは、レジスタ104
fに格納されたデータを基にビット演算を実行する。B
CDデクリメンタ107cは、レジスタ104gに格納
されたデータから1デクリメントした値をBCD表記で
出力する。
【0054】セレクタ111aは、BCDデクリメンタ
107cの出力及び10進2進変換器105bの出力の
うちのいずれかを選択する。このセレクタ111aは、
汎用プロセッサモードではCPU20が10進2進変換
機能を利用するときにのみ10進2進変換器105bの
出力を選択し、それ以外はBCDデクリメンタ107c
の出力を選択する。尚、セレクタ111aの出力は、レ
ジスタ108に格納される。
【0055】セレクタ111bは、ビット演算器107
aの出力及びレジスタ108の出力のうちのいずれか一
方を選択する。セレクタ111bの出力は、データRA
M40へのデータ出力信号として、BP_D_WDAT705を
介してデータRAM40に送出される。
【0056】I/Fレジスタ109は、レジスタ(I
R)102、レジスタ(OAR0)104d、レジスタ
(ODR0)104f、レジスタ(ODR1)104
g、レジスタ(WDR)108、そして後述する状態レ
ジスタ113を利用し、これ等のレジスタをデコードす
ることで、BPU10及びCPU20間のデータ転送時
のオーバーヘッドを減らしている。
【0057】ここで、レジスタ102は命令コード、レ
ジスタ104dはデストネーション、レジスタ104f
は第一オペランド、レジスタ104gは第二オペラン
ド、レジスタ108は演算結果レジスタとして機能す
る。
【0058】状態レジスタ113は、本実施形態を用い
た計算機システム1の動作モード(汎用プロセッサモー
ド、ビット演算プロセッサモード)を示すのに用いる。
【0059】次に、図3に示す10進2進変換器105
bについてより詳細に説明する。
【0060】図4は10進2進変換器105bのハード
ウエア構成を示す図である。ここでは、一例として、4
桁16ビット10進2進変換器のハードウエア構成を示
している。この10進2進変換器は、10進1桁を4ビ
ットBCD表記で表わすものである。
【0061】10進2進変換器105bは、図4に示す
ように、BCD表記された4桁16ビットの10進デー
タを4ビット毎に切り分けて、レジスタ155a〜15
5dに格納する。次に、レジスタ155b〜155dに
格納された、1桁目(1の位)を除く各桁のデータを、
それぞれROM115a〜115cにアドレスとして入
力する。そして、ROM115a〜115c各々から、
当該ROMに入力されたアドレスに格納された、該アド
レス(4ビットBCD表記された10進データ)に対応
する2進データを出力する。
【0062】図5にROM115a〜115c各々の内
容を示す。たとえば、10進表記の50を2進表記に変
換すると110010となるが、10の倍数は2の倍数
でもあるので10の位では必ず下位1ビット(LSB)
が0となる。このことを利用して、10の位を表すデー
タをLSBを除いた6ビットで表示している。したがっ
て、たとえば、ROM115aの5番地(0101)に
格納される10進表記の50を示すデータは、6ビット
のデータ11001(16進では19)となる。同様
に、100の位を2進表記で表すと下位2ビットが0に
なり、1000の位を2進表記で表すと下位3ビットが
0となるので、ROM115bに格納される100の位
の値は8ビット、ROM115cに格納される1000
の位の値は11ビットとなる。
【0063】10進2進変換器105bは、ROM11
5a〜115cから出力された10の位〜1000の位
を示す2進データを、レジスタ115aに格納された1
の位を示すデータに加えて、16ビットBCD表記を1
4ビットの2進数に変換し、その後、上位に2ビットの
0を加えて16ビットの2進数を生成する。
【0064】1の位と10の位との加算は、6ビット加
算器117aで行われ、加算結果はキャリーも含むた
め、7ビットで、1の位の下位1ビットはそのまま通過
の8ビットになる。同様に、100の位との加算は、8
ビット加算器117bで行われ、加算結果はキャリーを
含む9ビットとなり、下位2ビット通過の11ビットと
なる。また、1000の位との加算は、11ビット加算
器117cで行われる。ここでは、加算結果にキャリー
が発生しないので11ビットとなり、下位3ビット通過
の14ビットとなる。この14ビットはレジスタ119
に格納され、ここで上位2ビットに0が追加されて、最
終的に16ビット2進数となる。その後、レジスタ11
9から出力される。
【0065】次に、図3に示すビット演算器105bに
ついてより詳細に説明する。
【0066】図6はビット演算器107aのハードウエ
ア構成を示す図である。
【0067】ビット演算器107aは、図6に示すよう
に、ビット演算を行うビット演算回路112と、ビット
演算回路112の出力をスタックするビットスタック1
14と、入力信号から任意の1ビットを切り出すビット
セレクト116と、入力信号の任意の1ビットにビット
演算回路112の出力信号をマージするビットマージ1
18と、を有する。尚、ビットマージ118は、ビット
演算回路112の出力のマージ相手として、レジスタ1
04fからの出力の他に、オール0ともマージ可能であ
る。
【0068】図7にビットスタック114のハードウエ
ア構成を示す。ビットスタック114は、図7に示すよ
うに、ビットメモリ120と、ビットメモリ120のア
ドレスを示すスタックポインタ156と、スタックポイ
ンタ156をインクリメントするインクリメンタ121
と、スタックポインタ156をデクリメントするデクリ
メンタ123と、スタックポインタ156の出力、イン
クリメンタ121の出力、およびデクリメンタ123の
出力の中からいずれか一つを選択するセレクタ125
と、ラッチ127a、127bと、を有する。
【0069】ビットメモリ120は、ビット演算回路1
12の出力をセレクタ125の出力が示すアドレスに格
納する。また、セレクタ125の出力が示すアドレスに
格納された先頭要素データ(ビットメモリ120から最
初に読み出すべきデータ)と次要素データ(ビットメモ
リ120から先頭要素データの次に読み出すべきデー
タ)とを、各々ラッチ127a、127bを介して出力
する。
【0070】ビットスタック114は、セレクタ125
で、スタックポインタ156が示す値をデクリメンタ1
23でデクリメントした値を選択し、ビット演算回路1
25の出力をビットメモリ120に新たな先頭要素デー
タとして書き込むことで、今まで先頭要素データだった
ものを次要素データとするプッシュ動作と、セレクタ1
25で、スタックポインタ156が示す値をインクリメ
ンタ121でインクリメントした値を選択し、ビット演
算回路125の出力をビットメモリ120に新たな次要
素データとして書き込むことで、今まで次要素データだ
ったものを先頭要素データとするポップ動作の他に、ス
タックポインタ156が示す値を選択し、先頭要素デー
タをビット演算回路125の出力に書き換える動作を行
なうことができる。
【0071】すなわち、ビットスタック114は、ビッ
トメモリ120に格納されたデータを、セレクタ125
で選択したアドレスに従って読み出したり、ビット演算
回路112の出力データを、セレクタ125で選択した
アドレスに従って書き込むことで、スタックとして用い
ることができる。
【0072】図8にビット演算回路112のハードウエ
ア構成を示す。このビット演算回路112では、2入力
1出力論理回路AND、NAND、OR、NOR、XO
R、XNOR、および1入力1出力論理回路BUFF、
INVの計8種類の演算を実行することができる。図9
(a)に2入力1出力論理の真理表を、そして図9
(b)には1入力1出力論理の真理値表を示す。
【0073】ビット演算回路112において、1入力1
出力の演算は、セレクタ129で選択された、ビットセ
レクト116の出力データ及びビットスタック114の
先頭要素データのうちのいずれか一方を基に実行され
る。また、2入力2出力の演算は、ビットスタック11
4の先頭要素データとビットセレクト116の出力デー
タの組、またはビットスタック114の先頭要素データ
とビットスタック114の次要素データの組みを基に実
行される。
【0074】論理回路122a〜122cには、ビット
スタック114の先頭要素データと、セレクタ124で
選択されたビットスタック114の次要素データ及びビ
ットセレクト116の出力データのうちのいずれか一方
とが入力される。そして、論理回路122aでは論理和
(OR)を実行し、論理回路122bでは論理積(AN
D)を実行し、論理回路122cでは排他的論理和(X
OR)を実行する。
【0075】セレクタ126は、セレクタ129の出
力、および論理回路122a〜122cの出力の中から
いずれかを一つを選択する。
【0076】論理回路122dは、セレクタ126の出
力の否定(NOT)を実行する。
【0077】セレクタ128は、セレクタ126の出力
及び論理回路122dの出力のうちのいずれか一方を選
択して、出力する。この出力がビット演算回路112の
出力となる。
【0078】次に、図3に示すBCDデクリメンタ10
7bについてより詳細に説明する。
【0079】図10はBCDデクリメンタ107bのハ
ードウエア構成を示す図である。このBCDデクリメン
タ107bは、16ビット4桁10進デクリメンタであ
り、BPU10で実行されるタイマ命令でタイマの残り
時間を1つ減算するのに使用される。
【0080】BCDデクリメンタ107bは、図10に
示すように、BCD表記された4桁16ビットの10進
データを4ビット毎に切り分けて、各桁毎に、1桁BC
Dデクリメンタ131a〜131dで計算を実行する。
1桁BCDデクリメンタ131a〜131dの動作は、
基本的に同じであるので、ここでは、1の位を計算する
1桁BCDデクリメンタ131aについてのみ動作を説
明する。
【0081】1桁BCDデクリメンタ131aには、B
inに下位からの桁借りが入力され、Ainに1の位のBC
Dが入力される。そして、Boutから上位への桁借りが
出力され、Doutから1の位のBCDが出力される。
【0082】Binに入力された下位からの桁借りが論理
0の場合、Ainに入力された1の位のBCDをDoutか
らそのまま出力する。一方、Binに入力された下位から
の桁借りが論理1の場合、Ainに入力された1の位のB
CDから1を引いた数をDoutから出力する。また、Bi
nに入力された下位からの桁借りが論理1であって、Ai
nに入力されたBCDが0の場合にのみ、Boutから1を
出力し、それ以外の場合は0を出力する。この動作の真
理値表を図11に示す。
【0083】1桁BCDデクリメンタ131a〜131
b各々は、下位桁のBoutが上位桁のBinに接続されて
いる。そして、1の位の1桁BCDデクリメンタ131
aのBinに論理1を入力し、1000の位の1桁BCD
デクリメンタ131dのBout(ボロー出力)を命令デ
コード部103に出力することで、タイマ命令でタイマ
時間のタイムアップ検出を行う。
【0084】次に、図3に示すI/Fレジスタ109に
ついてより詳細に説明する。
【0085】図12はI/Fレジスタ109のハードウ
エア構成を示す図である。
【0086】I/Fレジスタ109は、CPU_ADR706
を介してCPU20から送られてきたアドレス出力信号
をデコーダ133でデコードし、図3に示すレジスタ1
02、レジスタ104d、レジスタ104f、レジスタ
104g、レジスタ108、状態レジスタ113に対し
てイネーブル信号E0〜E5を出力する。また、書き込み
時には、図3に示す上記各レジスタに、書き込みイネー
ブル信号WEを出力する。イネーブル信号E0〜E5は、
高々1アウトオブ6符号であり、それぞれ図3に示す上
記各レジスタの出力イネーブル信号となっている。
【0087】図3に示す上記各レジスタ(レジスタ10
2、レジスタ104d、レジスタ104f、レジスタ1
04g、レジスタ108、状態レジスタ113)からの
出力は、OR回路135で論理和がとられ、その後、CP
U_RDAT707に出力される。図3に示す上記各レジスタ
の構造は同じであるため、ここではレジスタ104d
(OAR0)について説明する。
【0088】レジスタ137の書き込みイネーブル信号
は、OR回路139で、AND回路132の出力と命令
デコード部103からの書込み信号との論理和をとった
ものである。
【0089】AND回路132は、デコーダ133から
出力されたイネーブル信号E1と、同じくデコーダ13
3から出力された書込みイネーブル信号WEとの論理積
を出力する。
【0090】セレクタ134は、CPU_WDAT708及び図
3に示すセレクタ106bの出力のうちのいずれか一方
を選択する。イネーブル信号E1が1の場合、CPU_WDAT
708を選択する。一方、イネーブル信号E1が0の場
合、セレクタ106bの出力を選択する。このセレクタ
134の出力は、OR回路139から出力されたライト
イネーブル信号に基づき、レジスタ137に格納され
る。レジスタ137の出力は、AND回路136で、イ
ネーブル信号E1でマスクされ、その後、OR回路13
5に送出される。
【0091】次に、図3に示す状態レジスタ109につ
いて説明する。
【0092】図13は状態レジスタのビット構成を示す
図である。
【0093】第0ビットがステータスビットである。ス
テータスビットが0のときは汎用プロセッサモード、1
のときはビット演算プロセッサモードであることを示
す。
【0094】第1ビット〜第3ビットは、ビット演算プ
ロセッサモード時に、CPU20でワード演算等を実行
する際のインターフェースとして使用される。第1ビッ
トは、スタートビットで、BPU10が実行に必要な情
報をセットしたこと示す。BPU10がこのビットを1
にセットするで、CPU20が起動する。
【0095】第2ビットは、完了ビットで、CPU20
での処理が完了すると、CPU20がこのビットを1に
セットする。BPU10はスタートビットを1にセット
すると、完了ビットが1になるまで命令のフェッチを中
断して待機する。
【0096】第3ビットは、エラービットで、CPU2
0での実行中にエラーが発生したことを示す。エラー処
理はCPU20で行う。
【0097】第4〜7ビットは未使用である。
【0098】第8〜10ビットは、汎用プロセッサモー
ド時に、BPU10のビット演算機能やBCD演算機能
を使用する際のインターフェースとして使用される。第
8ビットは、演算スタートビットで、CPU20がBP
U10での演算の実行に必要な情報をセットしたこと示
す。CPU20が1にセットすることで、BPU10で
演算が開始される。
【0099】第9ビットは、演算完了ビットで、BPU
10での演算が完了すると、BPU10がこのビットを
1にセットする。この際、演算結果は、CPU_RDAT707
を介してI/Fレジスタ109からCPU20に送られ
る。
【0100】第10ビットは、演算エラービットで、B
PU10で演算実行中にエラーが発生したことを示す。
両モードとも、エラー処理はCPU20で行う。第11
〜15ビットは未使用である。
【0101】次に、ビット演算プロセッサ10で使用さ
れる命令のフォーマットについて説明する。
【0102】図14はビット演算プロセッサ10で使用
される命令のフォーマットを説明するための図であり、
図14(a)はタイマ命令以外の命令のフォーマット
を、そして図14(b)はタイマ命令のフォーマットを
示している。
【0103】BPU10で使用される命令の命令長は、
2ワード32ビットである。タイマ命令以外の命令は、
図14(a)に示すように、オペコード(op)と、デ
ストネーション(D)と、ソースオペランド(S)と、
ソースのアドレッシングモードを示すビット(M)とで
構成されている。ビット(M)が0の場合、直接アドレ
ッシングモードを示し、ビット(M)が1の場合、間接
アドレッシングモードを示す。
【0104】タイマ命令は、図14(b)に示すよう
に、オペコード(TIMER)と、タイマ番号(#タイ
マ)と、BCDによるタイマの初期値(初期値)とで構
成されている。
【0105】次に、タイマ命令の実行時に使用されるタ
イマ状態ワードと、タイマのタイムアップまでの時間
(残り時間)を格納するワークエリアについて説明す
る。
【0106】図15(a)はタイマ命令の実行時に使用
されるタイマ状態ワードを説明するための図であり、図
15(b)はタイマのタイムアップまでの時間(残り時
間)を格納するワークエリアを説明するための図であ
る。尚、図15(a)、(b)に示すタイマ状態ワード
及びワークエリア各々は、1ワード構成で、BPU10
が持っているタイマの数だけ存在する。また、タイマ状
態ワードとワークエリアは、図1に示すデータRAM4
0に格納される。
【0107】タイマ状態ワードの第0ビットは、タイマ
が動作中か否かを示す動作ビットであり、該ビットが1
ならば動作中であることを示す。第1ビットは、タイマ
の残り時間を減算するかどうかを示すカウントダウンビ
ットであり、該ビットが1ならば残り時間を1減算する
ことを示す。第2ビットは、タイマが終了したかを示す
終了ビットであり、該ビットが1ならばタイマが終了し
たことを示す。第3ビット以降は未使用である。
【0108】ワークエリアに格納する残り時間はBCD
表記であり、16ビット4桁で表現する。
【0109】次に、図1に示すメモリアクセスセレクタ
50について更に詳細に説明する。
【0110】図16は図1に示すメモリアクセスセレク
タ50のハードウエア構成を示す図である。
【0111】尚、図16において、I_RAM_ADR801は
命令RAM30へのアドレス出力信号、I_RAM_DAT80
3は命令RAMとのデータ入出力信号である。これらの
信号は、図1に示すバス80上を搬送される。また、D_
RAM_ADR851はデータRAM40へのアドレス出力信
号、D_RAM_DAT853はデータRAM40とのデータ入
出力信号である。これらの信号は、図1に示すバス85
上を搬送される。また、CPU_DAT751はCPU20の
データ入出力信号である。CPU_DAT751と、CPU_ADR7
06は、図1に示すバス75上を搬送される。
【0112】I_RAM_ADR801は、セレクタ501で選
択された、CPU_ADR706及びBP_I_ADR701のいずれ
か一方となる。I_RAM_DAT803は、BP_I_RDAT702
と、CPU_WDAT708とに接続されている。命令RAM3
0からデータが出力されるときは、当該データはBP_I_R
DAT702上に出力される。一方、命令RAM30にデ
ータが入力されるときは、CPU_WDAT708上のデータが
I_RAM_DAT803上に出力される。
【0113】D_RAM_ADR851は、セレクタ503で選
択された、CPU_ADR706及びBP_D_ADR703のいずれ
か一方となる。D_RAM_DAT853は、BP_D_RDAT704
と、D_RAM_WDAT855とに接続されている。ここで、D_
RAM_WDAT855は、セレクタ505で選択された、CPU_
WDAT708及びBP_D_WDAT705のうちのいずれか一方
となる。データRAM40からデータが出力されるとき
は、当該データはBP_D_RDAT704上に出力される。一
方、データRAM40にデータが入力されるときは、D_
RAM_WDAT855上のデータがD_RAM_DAT853上に出力
される。
【0114】CPU_DAT751は、CPU_WDAT708と、セ
レクタ507とに接続されている。セレクタ507は、
BP_I_RDAT702と、CPU_RDAT707と、BP_D_RDAT70
4とのうちのいずれかを一つを選択する。CPU20か
らデータが出力されるときは、当該データはCPU_WDAT7
08上に出力される。一方、CPU20にデータが入力
されるときは、セレクタ507で選択されたデータがCP
U_DAT751上に出力される。ここで、メモリセレクタ
50の各セレクタの選択状態と動作モードについて図1
7に示す。
【0115】次に、図3に示す本実施形態のビット演算
プロセッサ10の動作について説明する。
【0116】先ず、BPU10主導で動作し、CPU2
0がサポートに回るビット演算プロセッサモードにおけ
るBPU10で命令実行処理の概要について図18及び
図26を用いて説明する。図18はBPU10での命令
実行処理の概要を説明するためのフロー図、図26は図
18に示すステップ1802、および図19に示すステ
ップ19001でのBPU10の各部の動作を説明する
ための図である。
【0117】先ず、フェッチ部101で命令をフェッチ
する(ステップ1801)。フェッチ部101は、フェ
ッチアドレスをBP_I_ADR701に出力し、BP_I_RDAT7
02からフェッチデータを受け取ることで、命令をフェ
ッチする。
【0118】次に、デコード部103でフェッチした命
令をデコードして、命令種類を判断する(ステップ18
02)。デコード部103は、図26(a)に示すよう
に、フェッチ部101でフェッチされた命令をデコード
し、命令コードとオペランド(ソース、デストネーショ
ン)とに切りわけ、ソースのアドレッシングモード(直
接か間接か)を特定し、命令コードをレジスタ102
(IR)に、ソースオペランドをセレクタ106aに出
力する。これにより、命令コードはレジスタ102(I
R)に格納される。また、ソースオペランドは、セレク
タ106aを介して、レジスタ104a(OR0)に格
納される。
【0119】その後、ステップ1802でデコードした
命令の実行に移行する(ステップ1803〜180
5)。尚、フェッチ部101でフェッチされる命令は、
ビット演算命令、タイマ命令、そしてCPU20で実行
するワード命令の3種類である。
【0120】次に、BPU10でのビット演算命令の実
行処理について図19及び図26を用いて説明する。図
19はBPU10におけるビット演算命令の実行処理を
説明するためのフロー図である。
【0121】ビット演算命令では、ソース、デストネー
ションは共にアドレスで与えられる。
【0122】先ず、図18に示すステップ1802のデ
コードで特定されたソースアドレスのアドレッシングモ
ードが直接アドレッシングモードであるか、または間接
アドレッシングモードであるかを判断する(190
1)。
【0123】直接アドレッシングモードの場合、ソース
アドレスを用いてメモリアクセスを行い、データRAM
40からソースデータを得る。(1902)。ソースオ
ペランドのフェッチは、図26(b)に示すように、図
3において、セレクタ106bがレジスタ104a(O
R0)の出力を選択することで、データRAM40への
アドレス出力信号BP_D_ADR703にソースアドレスを出
力する。そして、BP_D_RDAT704を介してデータRA
M40から送られてきたソースデータを、セレクタ10
6cで選択することで、レジスタ104f(ODR0)
に格納する。これと同時に、セレクタ106aがデコー
ド部103の出力を選択することで、デストネーション
アドレスをレジスタ104b(OR1)に格納する。
【0124】次に、このソースデータを基に、ビット演
算107aでビット演算を実行する。そして、デストネ
ーションアドレスで指定されたメモリアドレスに、演算
結果を書き込む(ステップ1903)。ビット演算の実
行は、図26(c)に示すように、図3において、セレ
クタ106bがレジスタ104b(OR1)の出力を選
択し、セレクタ106eがセレクタ106bの出力を選
択する。このようにすることで、データRAM40への
アドレス出力信号BP_D_ADR703にデストネーションア
ドレスを出力する。また、セレクタ111bがビット演
算器107aの出力を選することで、データRAM40
へのデータ出力信号BP_D_WDAT705にビット演算結果
を出力する。
【0125】ビット演算器107aで論理積(AND)
を実行した場合を考えると、ビット演算器107aの動
作は、図8において、セレクタ124、126、128
各々がビットセレクト116の出力、論理回路122b
の出力、セレクタ126の出力を選択する。
【0126】一方、間接アドレッシングモードの場合、
先ず、ソースアドレスを用いて1回目のメモリアクセス
を行い、データRAM40からBCD表記された10進
データのアドレスを得る(ステップ1904)。図26
(d)に示すように、図3において、セレクタ106
b、106eが各々レジスタ104a(OR0)の出
力、セレクタ106bを選択することで、データRAM
40へのアドレス出力信号BP_D_ADR703にソースアド
レスを出力する。そして、BP_D_RDAT704を介してデ
ータRAM40から送られてきたBCD表記の10進デ
ータを、セレクタ106cで選択することで、レジスタ
104g(ODR1)に格納する。これと同時に、セレ
クタ106aでデコード部103の出力を選択すること
で、レジスタ104b(OR1)に、デストネーション
アドレスを格納する。
【0127】次に、レジスタ104gに格納されたBC
D表記の10進データを、10進2進変換器105bで
2進データに変換する(ステップ1905)。図26
(e)に示すように、図3において、レジスタ104g
(ODR1)の出力を10進2進変換器105bに入力
することで、BCD表記の10進データを2進データに
変換する。そして、この2進データをセレクタ106a
を介してレジスタ104a(OR0)に格納する。これ
と同時に、レジスタ104b(OR1)の格納したデス
トネーションアドレスを、セレクタ106bを介して、
レジスタ104d(OAR0)に格納する。
【0128】次に、10進2進変換器105bで変換し
た2進データをアドレスとして2回目のメモリアクセス
を行ない、データRAM40からソースデータを得る
(ステップ1906)。図26(f)に示すように、図
3において、セレクタ106bがレジスタ104a(O
R0)の出力を選択し、BP_D_ADR703に2進変換した
アドレスを出力する。そして、BP_D_RDAT704を介し
てデータRAM40から送られてきたソースデータを、
セレクタ106cで選択することで、レジスタ104f
(ODR0)に格納する。
【0129】次に、レジスタ104f(ODR0)に格
納したソースデータを基に、ビット演算器107aでビ
ット演算を実行する。そして、デストネーションアドレ
スで指定されたメモリアドレスに、演算結果を書き込む
(1907)。
【0130】ビット演算の実行は、図26(g)に示す
ように、図3において、セレクタ106dがレジスタ1
04d(OAR1)の出力を選択し、セレクタ106e
がセレクタ106dの出力を選択する。このようにする
ことで、データRAM40へのアドレス出力信号BP_D_A
DR703にデストネーションアドレスを出力する。ま
た、セレクタ111bがビット演算器107aの出力を
選択することで、データRAM40へのデータ出力信号
BP_D_WDAT705にビット演算結果を出力する。
【0131】ビット演算器107aで論理和(OR)を
実行した場合を考えると、ビット演算器107aの動作
は、図26(h)に示すように、図8において、セレク
タ124、126、128各々が、ビットセレクト11
6の出力、論理回路122aの出力、セレクタ126の
出力を選択する。これにより、ビットセレクト116の
出力とビットスタック114の先頭要素データとの論理
和(OR)を出力する。また、ビットスタック114
は、図7において、セレクタ125がデクリメンタ12
3の出力を選択することで、スタックポインタを1つ減
らし、ビット演算回路112の出力をビットメモリ12
0に書き込む(PUSH動作)。
【0132】次に、BPU10でのタイマ命令の実行処
理について図20、図27及び図28を用いて説明す
る。
【0133】図20はBPU10におけるタイマ命令の
実行処理を説明するためのフロー図、図27、図28は
図20に示すフローでのBPU10の各部の動作を説明
するための図である。
【0134】尚、図18に示すステップ1802の命令
デコードの段階で、タイマの動作に必要なタイマ状態ワ
ード、残り時間のアドレス、タイマの初期値を検出する
ことができる。この場合、図26(a)に示すように、
図3において、セレクタ106aがデコード部103を
選択することで、タイマ状態ワードのアドレスがレジス
タ104a(OR0)に格納される。
【0135】先ず、ステップ2001では、タイマ命令
で指定された図15(a)に示すようなタイマ状態ワー
ドを読み込む。タイマ状態ワードの読み込みは、図27
(a)に示すように、図3において、セレクタ106b
がレジスタ104a(OR0)を選択することで、タイ
マ状態ワードのアドレスをレジスタ104d(OAR
0)に格納する。また、セレクタ106cが、データR
AM40からのデータ入力信号BP_D_RDAT704を選択
することで、タイマ状態ワードのデータをレジスタ10
4f(ODR0)に格納する。これと同時に、セレクタ
106aがデコード部103を選択することで、レジス
タ104b(OR1)に残り時間のアドレスを格納す
る。
【0136】次に、このタイマ状態ワードの第0ビット
(動作ビット)を調べて、当該タイマが動作中であるか
否かを調べる(ステップ2002)。動作ビットが0の
場合はステップ2003に移行し、動作ビットが1の場
合はステップ2006に移行する。
【0137】動作ビットの判定は、図27(b)に示す
ように、図6において、ビットセレクト116によりタ
イマ状態ワードの第0ビット(動作ビット)を切り出
す。そして、ビット演算回路112において、図8に示
すように、セレクタ129、126、128各々にビッ
トセレクト116、セレクタ129、セレクタ126を
選択させ、ビット演算回路112をバッファとして動作
させることで、動作ビットを命令デコード部103に送
出する。このようにすることで、動作ビットが判定され
る。尚、タイマ状態ワードの動作ビットの送出と同時
に、図3において、セレクタ106がデコード部103
を選択することで、タイマの初期値をレジスタ104c
(OR2)に格納する。
【0138】ステップ2003では、タイマ状態ワード
の動作ビットに1をセットする。タイマ状態ワードの動
作ビットのセットは、図27(c)に示すように、図3
において、セレクタ106b、106c各々が、レジス
タ104c(OR2)、セレクタ106bを選択するこ
とで、レジスタ104g(ODR1)にレジスタ104
c(OR2)に格納されたタイマの初期値を格納する。
【0139】次に、図6において、ビットセレクト11
6によりタイマ状態ワードの第0ビット(動作ビット)
を切り出す。ビット演算回路112において、図8に示
すように、セレクタ129、126、128各々がビッ
トセレクト116、セレクタ129、論理回路122d
を選択することで、論理否定(INV)として動作され
る。そして、ビット演算回路112の出力をビットマー
ジ118でタイマ状態ワードの第0ビット(動作ビッ
ト)にマージすることで、動作ビットに1がセットされ
る。尚、タイマ状態ワードの動作ビットの送出と同時
に、図3において、セレクタ106がデコード部103
を選択することで、タイマの初期値をレジスタ104c
(OR2)に格納する。
【0140】また、図3において、セレクタ106d、
111b、106e各々が、レジスタ104d(OAR
0)、ビット演算器107a、セレクタ106dを選択
することで、データRAM40へのアドレス出力信号BP
_D_ADR703にアドレスを出力すると共に、データRA
M40へのデータ出力信号BP_D_WDAT705にデータを
出力する。
【0141】ステップ2004では、タイマの初期値を
1つ減算する。タイマの初期値の減算は、BCDデクリ
メンタ107cがレジスタ104g(ODR1)に格納
されたタイマの初期値を基に行う。そして、図27
(d)に示すように、図3において、セレクタ111a
がBCDデクリメンタ107cを選択することで、レジ
スタ108(WDR)にBCDデクリメンタ107cの
演算結果が格納される。これと同時に、レジスタ104
b(OR1)の格納した残り時間のアドレスを、セレク
タ106bを介して、レジスタ104e(OAR1)に
格納する。
【0142】ステップ2005では、図15(b)に示
すようなワークエリアに初期値をセットする。ワークエ
リアへの初期値のセットは、図27(e)に示すよう
に、セレクタ106d、111b、106e各々が、レ
ジスタ104e、レジスタ108、セレクタ106dを
選択することで、データRAM40へのアドレス出力信
号BP_D_ADR703にアドレスを出力すると共に、データ
RAM40へのデータ出力信号BP_D_WDAT705にデー
タを出力する。
【0143】ステップ2006では、タイマ状態ワード
の第1ビット(カウントダウンビット)を調べる。カウ
ントダウンビットの判定は、図27(f)に示すよう
に、図6において、ビットセレクト116によりタイマ
状態ワードの第1ビット(カウントダウンビット)を切
り出す。そして、ビット演算回路112において、図2
7(b)と同様にバッファとして動作させることで、カ
ウントダウンビットを命令デコード部103に送出す
る。このようにすることで、カウントダウンビットが判
定される。
【0144】このビットが1の場合、残り時間を読み込
み(ステップ2007)、その後、残り時間を1つ減算
して、タイムアップになったか否かを調べる(ステップ
2008)。
【0145】残り時間の読み込みは、図28(g)に示
すように、図3において、セレクタ106bがレジスタ
104b(OR1)を選択することで、セレクタ104
e(OAR1)にタイマの残り時間のアドレスを格納す
る。また、セレクタ106cがデータRAM40からの
データ入力信号BP_D_RDAT704を選択することで、レ
ジスタ104g(ODR1)にタイマ状態ワードのデー
タを格納する。
【0146】タイマの残り時間の減算は、BCDデクリ
メンタ107cがレジスタ104g(ODR1)に格納
されたタイマ状態ワードのデータを基に行う。そして、
図28(h)に示すように、図3において、セレクタ1
11aがBCDデクリメンタ107cを選択すること
で、レジスタ108(WDR)にBCDデクリメンタ1
07cの演算結果が格納される。
【0147】タイムアップしたか否かの判定は、BCD
デクリメンタ107cのボロー出力(図10に示す1桁
デクリメンタ131dのBout)を命令デコード部10
3に送出することで判定される。ボロー出力が1の場合
はタイムアップしたと判定し、ボロー出力が0の場合は
タイムアップしていないと判定する。
【0148】ステップ2008でタイムアップであると
判定された場合、タイマ状態ワードの第2ビット(終了
ビット)に1をセットする(ステップ2009)。
【0149】終了ビットのセットは、図28(i)に示
すように、先ず、図6において、ビットセレクト116
により、タイマ状態ワードの第2ビット(終了ビット)
を切り出して、ビット演算回路112に入力する。次
に、ビット演算回路112は、図8において、セレクタ
129、126、128各々がビットセレクト116、
セレクタ129、論理回路122dを選択することで、
論理否定(INV)として動作される。そして、ビット
演算回路112の出力をビットマージ118でタイマ状
態ワードの第2ビット(終了ビット)にマージすること
で終了ビットに1がセットされる。
【0150】また、図3において、セレクタ106d、
111b、106e各々が、レジスタ104d(OAR
0)、ビット演算器107a、セレクタ106dを選択
することで、データRAM40へのアドレス出力信号BP
_D_ADR703にアドレスを出力すると共に、データRA
M40へのデータ出力信号BP_D_WDAT705にデータを
出力する。
【0151】一方、ステップ2008でタイムアップで
ないと判定された場合は、ステップ2008で計算した
残り時間を書き込み(ステップ2010)、その後、カ
ウントダウンビットをクリアする(ステップ201
1)。
【0152】残り時間の書込みは、図28(j)に示す
ように、図3において、セレクタ106d、111b、
106e各々が、レジスタ104e(OAR1)、レジ
スタ108(WDR)、セレクタ106dを選択するこ
とで、データRAM40へのアドレス出力信号BP_D_ADR
703にタイマの残り時間のアドレスを出力すると共
に、データRAM40へのデータ出力信号BP_D_WDAT7
05にデータの残り時間を出力する。
【0153】カウントダウンビットのクリアは、図28
(k)に示すように、先ず、図6において、ビットセレ
クト116により、タイマ状態ワードの第1ビット(カ
ウントダウンビット)を切り出して、ビット演算回路1
12に入力する。次に、ビット演算回路112は、図8
において、セレクタ129、126、128各々がビッ
トセレクト116、セレクタ129、論理回路122d
を選択することで、論理否定(INV)として動作され
る。そして、ビット演算回路112の出力をビットマー
ジ118でタイマ状態ワードの第1ビット(カウントダ
ウンビット)にマージすることでカウントダウンビット
がクリアされる。
【0154】また、図3において、セレクタ106d、
111b、106e各々が、レジスタ104d(OAR
0)、ビット演算器107a、セレクタ106dを選択
することで、データRAM40へのアドレス出力信号BP
_D_ADR703にアドレスを出力すると共に、データRA
M40へのデータ出力信号BP_D_WDAT705にデータを
出力する。
【0155】尚、ステップ2006でビットが0の場
合、何もしないでこのフローを終了する。
【0156】次に、ビット演算プロセッサモードでのワ
ード演算命令等の実行処理について説明する。
【0157】先ず、BPU10におけるワード演算命令
等の処理について図21及び図29を用いて説明する。
【0158】図21はBPU10におけるワード演算命
令等の処理を説明するためのフロー図、図29は図21
及び図23に示すフローでのBPU10の各部の動作を
説明するための図である。
【0159】先ず、図18に示すステップ1802での
デコード後、第1ソース、第2ソースの読込みを行う
(ステップ2101、2102)。ステップ1802で
のデコードが実行されると、図26(a)に示すよう
に、図3において、セレクタ106aがデコード部10
3を選択することで、レジスタ104a(OR0)に第
1オペランドが格納されると共に、レジスタ102(I
R)に命令コードが格納される。
【0160】たとえば、フェッチした命令がワード加算
命令であって、ソースオペランドのアドレッシングモー
ドが、第1オペランドが即値、第2オペランドが直接の
場合、図29(a)に示すように、図3において、セレ
クタ106b、106c各々が、レジスタ104a(O
R0)、セレクタ106bを選択することで、レジスタ
104a(OR0)のデータをレジスタ104f(OD
R0)に転送する。また、セレクタ106aがデコード
部103を選択することで、第2オペランドをレジスタ
104b(OR1)に格納する。
【0161】その後、図29(b)に示すように、図3
において、セレクタ106b、106c各々が、レジス
タ104b(OR1)、データRAM40からのデータ
入力信号BP_D_RDAT704を選択することで、BP_D_RDAT
704からの読込みデータをレジスタ104g(ODR
1)に格納すると共に、セレクタ106aがデコード部
103を選択することで、デストネーションオペランド
をレジスタ104c(OR2)に格納する。
【0162】次に、I/Fレジスタ109に命令種類と
オペランド(ソースデータ、デストネーションアドレ
ス)を書込み、図13に示す状態レジスタ113のスタ
ートビットに1をセットする(ステップ2103)。図
29(c)に示すように、図3において、セレクタ10
6bがレジスタ104c(OR2)を選択することで、
レジスタ104e(OAR1)にデストネーションアド
レスを格納すると共に、状態レジスタ113のスタート
ビットに1をセットする。これを受けて、CPU20は
ワード演算命令等を実行する。
【0163】CPU20での演算実行が終了すると、C
PU20によって、図13に示す状態レジスタ113の
完了ビットに1がセットされる。完了ビットに1がセッ
トされると(ステップ2104)、図13に示す状態レ
ジスタ113のエラービットを判定する(ステップ21
05)。エラービットが1の場合、CPU20での実行
中にエラーが発生したことを示しており、CPU20で
エラー処理を行なう(ステップ2106)。
【0164】次に、CPU20でのワード演算命令等の
実行処理について説明する。
【0165】図22はCPU20でのワード演算命令等
の実行処理を説明するためのフロー図である。
【0166】ビット演算プロセッサモードにおいて、B
PU10の図13に示す状態レジスタ113のスタート
ビットが0である間、CPU20は待機中であり(ステ
ップ2201)、CPU20は当該スタートビットが1
になったのを確認して(ステップ2202)、BPU1
0のI/Fレジスタ109から命令種類とオペランド
(第1ソース、第2ソース、デストネーションアドレ
ス)とを読込む(ステップ2203)。そして、演算の
実行を開始する(ステップ2204)。演算の実行が終
了すると、BPU10の状態レジスタ113の完了ビッ
トに1をセットする(ステップ2205)。尚、実行中
にエラーが発生した場合(ステップ2206)、BPU
10の状態レジスタ113のエラービットに1をセット
し(ステップ2207)、エラー処理(ステップ220
8)を行なう。
【0167】次に、CPU20主導で動作し、BPU1
0がサポートに回る汎用プロセッサモードにおいて、C
PU20が実行中にビット演算命令又は10進デクリメ
ント演算をフェッチしたときの動作について説明する。
【0168】先ず、CPU20の動作について図23を
用いて説明する。
【0169】図23は汎用プロセッサモードにおいてC
PU20が実行中にビット演算命令等をフェッチしたと
きのCPU20の動作を説明するためのフロー図であ
る。
【0170】CPU20は、ビット演算命令又は10進
デクリメント演算をフェッチすると(ステップ230
1)、BPU10のI/Fレジスタ109に、当該命令
実行に必要なデータを書込む(ステップ2302)。命
令コードはレジスタ102(IR)に、ソースデータ
は、実行したい命令がビット演算の場合はレジスタ10
4f(ODR0)に、BCD演算の場合はレジスタ10
4e(ODR1)に書込み、図13に示す状態レジスタ
113のスタートビットに1をセットする。その後、図
13に示す状態レジスタ113の完了ビットが1になる
まで待機する(ステップ2303)。状態レジスタ11
3の完了ビットが1にセットされたのを確認すると、状
態レジスタ113のエラービットを確認する(ステップ
2304)。エラービットが1にセットされている場
合、エラー処理を行なう(ステップ2305)。
【0171】次に、BPU10の動作について図24を
用いて説明する。
【0172】図24は汎用プロセッサモードにおいてB
PU10がビット演算命令等を実行する際の動作を示す
フロー図である。
【0173】BPU10は、図13に示す状態レジスタ
113の演算スタートビットに1がセットされるまで待
機状態にあるが(ステップ2401)、演算スタートビ
ットに1がセットされると(ステップ2402)、レジ
スタ102(IR)の内容をデコードする(ステップ2
403)。その後、デコードした内容が10進デクリメ
ント命令の場合はデクリメント(ステップ2404)、
10進2進変換命令の場合は10進2進変換(ステップ
2405)、およびビット演算命令の場合はビット演算
(ステップ2406)を実行する。
【0174】ステップ2404での処理(デクリメン
ト)について説明する。CPU20は、図23のステッ
プ2302に示すように、命令コードとソースデータと
を、それぞれレジスタ102(IR)、レジスタ104
g(ODR1)に書き込むと共に、図13に示す状態レ
ジスタの演算スタートビットを1にセットする。これを
受けて、BPU10は、レジスタ1025(IR)にセ
ットされた情報から、ステップ2404でのデクリメン
トを実行する。このデクリメントは、図29(d)に示
すように、図3において、セレクタ111aがBCDデ
クリメンタ107cを選択することで、演算結果をレジ
スタ108(WDR)に保持する。次に、図28(f)
に示すように、セレクタ111b、図16に示すメモリ
アクセスセレクタ50のセレクタ507各々が、レジス
タ108(WDR)、データRAM40へのデータ出力
信号BP_D_WDAT705を選択することで、演算結果をC
PU20に転送する。
【0175】尚、ステップ2405での処理(10進2
進変換)の場合は、図29(e)に示すように、図3に
おいて、セレクタ111aが10進2進変換器105b
を選択することで、演算結果をレジスタ108(WD
R)に保持する。その後、図28(f)に示すように、
セレクタ111b、図16に示すメモリアクセスセレク
タ50のセレクタ507各々が、レジスタ108(WD
R)、データRAM40へのデータ出力信号BP_D_WDAT
705を選択することで、演算結果をCPU20に転送
する。
【0176】また、ステップ2406での処理(ビット
演算)の場合は、図29(g)に示すように、セレクタ
111b、図16に示すメモリアクセスセレクタ50の
セレクタ507各々が、ビット演算器107a、データ
RAM40へのデータ出力信号BP_D_WDAT705を選択
することで、演算結果をデータ出力信号BP_D_WDAT70
5に出力する。
【0177】次に、デコードした内容に応じた演算を実
行した後、演算結果をデータRAM40へのデータ出力
信号BP_D_WDAT705に出力すると同時に、図13に示
す演算完了ビット1562を1にセットする(ステップ
2406、2407)。尚、命令実行中にエラーが発生
した場合には(ステップ2408)、図13に示す状態
レジスタ113のエラービットに1をセットする(ステ
ップ2409)。
【0178】次に、図1に示す本実施形態を用いた計算
機システムのリセット動作について説明する。
【0179】図25(a)はBPU10のリセット動作
を説明するための図、図25(b)はCPU20のリセ
ット動作を説明するための図である。
【0180】先ず、BPU10、CPU20共にハード
リセットを実行し(ステップ2501、2504)、そ
の後、CPU20が、CPU20自身やBPU10等の
計算機システム全体のソフトリセットを行なう(ステッ
プ2505)。リセット処理が終了した後、CPU20
は、図13に示す状態レジスタ113のステータスビッ
トに1をセットし(ステップ2507)、その後、待機
状態に入る(ステップ2508)。一方、BPU20
は、I/Fレジスタ109の状態レジスタ113のステ
ータスビットが1になるまで待機し(ステップ250
2)、その後、レジスタ108(WDR)をフェッチ開
始アドレスとしてフェッチ動作を開始し、演算を始める
(ステップ2503)。
【0181】上述したように、本実施形態のビット演算
プロセッサ10は、10進2進変換器105bを備えた
ことにより、従来の技術で説明した、I/O装置を介し
て10進変換器が接続されている計算機システムに比
べ、ハードウエアの制御を簡易にすることができ、ま
た、従来の技術で説明した、汎用プロセッサ上で実行さ
れるプログラムで10進2進変換を対処する計算機シス
テムと異なり、10進2進変換をソフトウエア的に行わ
なくて済むので、変換オーバーヘッドを抑制することが
できる。
【0182】また、本実施形態のビット演算プロセッサ
10は、10進演算器107bを備えたことにより、1
0進演算を高速に処理することができる。
【0183】さらに、本実施形態のビット演算プロセッ
サ10は、汎用プロセッサ20との間で同期を図るため
のI/Fレジスタ109を備えたことにより、従来の技
術で説明した、汎用プロセッサに割込みをかける計算機
システムに比べ、ビット演算プロセッサ10及び汎用プ
ロセッサ20間の同期の高速化を図ることができ、ま
た、従来の技術で説明した、コプロセッサインターフェ
ースを用いた計算機システムに比べ、ビット演算プロセ
ッサに汎用性をもたせることができる。
【0184】尚、上記の実施形態では、直接アドレッシ
ングモードの場合、命令デコード部103で切り出した
オペランドが示すデータRAM40のアドレスが、2進
表記されているものとして説明した。しかしながら、本
発明はこれに限定されるものではない。命令デコード部
103で切り出したオペランドが示すデータRAM40
のアドレスが10進表記されている場合でも、間接アド
レッシングモードの場合と同様に、当該アドレスを10
進2進変換器105bで2進表記に変換することで、デ
ータRAM40にアクセスすることが可能となる。
【0185】
【発明の効果】以上説明したように、本発明によれば、
10進2進変換を高速に行うことができる。また、汎用
プロセッサ及びビット演算プロセッサ間での同期処理を
高速行うことができる。
【図面の簡単な説明】
【図1】本発明の一実施形態を用いた計算機システムの
概略構成図である。
【図2】本発明の一実施形態であるビット演算プロセッ
サの概略構成図である。
【図3】図2に示すビット演算プロセッサのハードウエ
ア構成を示す図である。
【図4】10進2進変換器のハードウエア構成を示す図
である。
【図5】図4に示すROM115a〜115cの内容を
示す図である。
【図6】図3に示すビット演算器のハードウエア構成を
示す図である。
【図7】図6に示すビットスタック114のハードウエ
ア構成を示す図である。
【図8】図6に示すビット演算回路112のハードウエ
ア構成を示す図である。
【図9】2入力1出力論理の真理及び1入力1出力論理
の真理値を示す図である。
【図10】図3に示すBCDデクリメンタのハードウエ
ア構成を示す図である。
【図11】図10に示す1桁BCDデクリメンタの真理
値を示す図である。
【図12】図3に示すI/Fレジスタのハードウエア構
成を示す図である。
【図13】図3に示す状態レジスタのビット構成を示す
図である。
【図14】本発明の一実施形態であるビット演算プロセ
ッサ10で使用される命令のフォーマットを説明するた
めの図である。
【図15】タイマ命令の実行時に使用されるタイマ状態
ワード及びタイマのタイムアップまでの時間(残り時
間)を格納するワークエリアを説明するための図であ
る。
【図16】図1に示すメモリアクセスセレクタのハード
ウエア構成を示す図である。
【図17】図16に示すメモリセレクタの各セレクタの
選択状態と動作モードについて説明するための図であ
る。
【図18】本発明の一実施形態であるビット演算プロセ
ッサでの命令実行処理の概要を説明するためのフロー図
である。
【図19】本発明の一実施形態であるビット演算プロセ
ッサでのビット演算命令の実行処理を説明するためのフ
ロー図である。
【図20】本発明の一実施形態であるビット演算プロセ
ッサでのタイマ命令の実行処理を説明するためのフロー
図である。
【図21】本発明の一実施形態であるビット演算プロセ
ッサでのワード演算命令等の処理を説明するためのフロ
ー図である。
【図22】図1に示す汎用プロセッサでのワード演算命
令等の実行処理を説明するためのフロー図である。
【図23】汎用プロセッサモードにおいて、図1に示す
汎用プロセッサが実行中にビット演算命令等をフェッチ
したときの当該汎用プロセッサの動作を説明するための
フロー図である。
【図24】汎用プロセッサモードにおいて、本発明の一
実施形態であるビット演算プロセッサがビット演算命令
等を実行する際の動作を示すフロー図である。
【図25】図1に示す計算機システムのリセット動作に
ついて説明するための図である。
【図26】図18に示すステップ1802、および図1
9に示すステップ19001でのビット演算プロセッサ
の各部の動作を説明するための図である。
【図27】図20に示すフローでのビット演算プロセッ
サの各部の動作を説明するための図である。
【図28】図20に示すフローでのビット演算プロセッ
サの各部の動作を説明するための図である。
【図29】図21及び図23に示すフローでのビット演
算プロセッサの各部の動作を説明するための図である。
【図30】BCD表記と10進との対応を示す図であ
る。
【符号の説明】
1 計算機システム 10 ビット演算プロセッサ 20 汎用プロセッサ 30 命令RAM 40 データRAM 50 メモリアクセスセレクタ 60 I/Oバス 70、75、80、85 バス 101 フェッチ部 102、104a〜104g、108、113、11
9、155a〜155d、137 レジスタ 103 デコード部 105 メモリアドレス計算部 105a オペランドレジスタ 105b 10進2進変換器 106a〜106e、111a、111b、125、1
24、126、128、129、134、501、50
3、505、507 セレクタ 107 ビット演算実行部 107a ビット演算器 107b 10進演算器 107c BCDデクリメンタ 109 I/Fレジスタ 112 ビット演算回路 114 ビットスタック 115a〜115c ROM 116 ビットセレクト 117a〜117c 加算器 118 ビットマージ 120 ビットメモリ 121 インクリメンタ 122a〜122d、132、135、136、139
論理回路 123 デクリメンタ 127a、127b ラッチ 131a〜131d 1桁BCDデクリメンタ 133 デコーダ 156 スタックポインタ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 岡本 正 茨城県日立市大みか町五丁目2番1号 株 式会社日立製作所大みか工場内

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】命令をフェッチする命令フェッチ部と、前
    記命令フェッチ部でフェッチした命令をデコードしてオ
    ペランドアドレスを切り出す命令デコード部と、前記命
    令デコード部で切り出したオペランドアドレスを基に、
    データが格納されたメモリからデータを読み出すアドレ
    ス計算部と、前記アドレス計算部で読み出したデータを
    基に1ビット長のビット演算を行うビット演算部と、を
    有するビット演算プロセッサであって、 前記アドレス計算部は、10進データを2進データに変
    換する10進2進変換器を備え、 前記アドレス計算部は、前記命令デコード部で切り出し
    たオペランドアドレスが10進表記されている場合は、
    当該オペランドアドレスを前記10進2進変換器で2進
    表記アドレスに変換し、当該2進表記されたオペランド
    アドレスで前記メモリにアクセスすることで、前記メモ
    リからデータを読み出すと共に、 前記メモリから読み出したデータが、実行オペランドア
    ドレスであって、当該実行オペランドアドレスが10進
    表記されている場合は、当該実行オペランドアドレスを
    前記10進2進変換器で2進表記アドレスに変換し、当
    該2進表記された実行オペランドアドレスで前記メモリ
    にアクセスすることで、前記メモリからデータを読み出
    すことを特徴とするビット演算プロセッサ。
  2. 【請求項2】請求項1において、 前記アドレス計算部で読み出したデータを基に10進演
    算を行う10進演算部と、 前記命令デコード部でデコードした命令がビット演算命
    令の場合には、前記アドレス計算部で読み出したデータ
    を前記ビット演算部に送出し、前記命令デコード部でデ
    コードした命令が10進演算命令の場合には、前記アド
    レス計算部で読み出したデータを前記10進演算部に送
    出する選択部と、 を備えていることを特徴とするビット演算プロセッサ。
  3. 【請求項3】請求項2において、 前記10進演算命令はタイマ命令であり、 前記10進演算部は、10進演算デクリメンタであるこ
    とを特徴とするビット演算プロセッサ。
  4. 【請求項4】請求項1、2又は3において、 外部とデータの送受を行うために当該データを格納する
    インターフェースレジスタを備えていることを特徴とす
    るビット演算プロセッサ。
  5. 【請求項5】請求項4記載のビット演算プロセッサと、
    ワード演算命令を実行する汎用プロセッサと、前記ビッ
    ト演算プロセッサ及び汎用プロセッサで実行される命令
    やデータが格納されたメモリと、を有する計算機システ
    ムであって、 前記ビット演算プロセッサ及び前記汎用プロセッサは、
    前記インターフェースレジスタを介して互いに接続され
    ており、 一方のプロセッサでフェッチした命令が、当該プロセッ
    サで実行不可能、あるいは実行すべきでない命令である
    場合、前記一方のプロセッサは、当該命令を前記インタ
    ーフェースレジスタに格納することで、当該命令を他方
    のプロセッサに実行させることを特徴とする計算機シス
    テム。
JP8249382A 1996-09-20 1996-09-20 ビット演算プロセッサ及び計算機システム Pending JPH1097462A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8249382A JPH1097462A (ja) 1996-09-20 1996-09-20 ビット演算プロセッサ及び計算機システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8249382A JPH1097462A (ja) 1996-09-20 1996-09-20 ビット演算プロセッサ及び計算機システム

Publications (1)

Publication Number Publication Date
JPH1097462A true JPH1097462A (ja) 1998-04-14

Family

ID=17192184

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8249382A Pending JPH1097462A (ja) 1996-09-20 1996-09-20 ビット演算プロセッサ及び計算機システム

Country Status (1)

Country Link
JP (1) JPH1097462A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112699067A (zh) * 2021-01-04 2021-04-23 瑞芯微电子股份有限公司 一种指令寻址方法及装置
JP2024510082A (ja) * 2020-10-10 2024-03-06 閔少維 10進計算機の基礎技術原理及び実現方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2024510082A (ja) * 2020-10-10 2024-03-06 閔少維 10進計算機の基礎技術原理及び実現方法
CN112699067A (zh) * 2021-01-04 2021-04-23 瑞芯微电子股份有限公司 一种指令寻址方法及装置
CN112699067B (zh) * 2021-01-04 2024-05-14 瑞芯微电子股份有限公司 一种指令寻址方法及装置

Similar Documents

Publication Publication Date Title
EP0169565B1 (en) Microprocessor compatible with any software represented by different types of instruction formats
US4794524A (en) Pipelined single chip microprocessor having on-chip cache and on-chip memory management unit
US4463421A (en) Serial/parallel input/output bus for microprocessor system
EP0627681B1 (en) Apparatus and method for processing data with a plurality of flag groups
US4367524A (en) Microinstruction execution unit for use in a microprocessor
US4402042A (en) Microprocessor system with instruction pre-fetch
EP0199173B1 (en) Data processing system
US5091853A (en) Chained addressing mode pipelined processor which merges separately decoded parts of a multiple operation instruction
US5682531A (en) Central processing unit
JP3248992B2 (ja) マルチプロセッサ
US5704052A (en) Bit processing unit for performing complex logical operations within a single clock cycle
JPH04260930A (ja) データ処理装置
JP2669158B2 (ja) データ処理装置
US4771376A (en) Processor
US4309753A (en) Apparatus and method for next address generation in a data processing system
US4224668A (en) Control store address generation logic for a data processing system
JPH04260929A (ja) データ処理装置
US6249858B1 (en) Information processing apparatus having a CPU and an auxiliary arithmetic unit for achieving high-speed operation
JPH034936B2 (ja)
JPS5838819B2 (ja) デ−タ処理システム用制御ファイル装置
JP2668456B2 (ja) ビット検索回路及びそれを備えたデータ処理装置
US5269008A (en) Method and apparatus for pre-processing the source of a pop instruction in a pipeline computer
US5361338A (en) Pipelined system for decomposing instruction into two decoding parts and either concurrently generating two operands addresses of merging decomposing decoding codes based upon the second operand
EP0601716A1 (en) Binary multiplier
CA1247744A (en) Operation code selected overflow interrupts