JPH08137661A - デジタル処理装置 - Google Patents

デジタル処理装置

Info

Publication number
JPH08137661A
JPH08137661A JP6294010A JP29401094A JPH08137661A JP H08137661 A JPH08137661 A JP H08137661A JP 6294010 A JP6294010 A JP 6294010A JP 29401094 A JP29401094 A JP 29401094A JP H08137661 A JPH08137661 A JP H08137661A
Authority
JP
Japan
Prior art keywords
input
general
output
data
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.)
Granted
Application number
JP6294010A
Other languages
English (en)
Other versions
JP3628361B2 (ja
Inventor
Tatsuya Aizawa
龍也 相澤
Shigenori Maruyama
繁徳 丸山
Yoshiyuki Miwa
善幸 三輪
Hideji Miyaoka
秀治 宮岡
Makoto Hayashi
誠 林
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 ULSI Engineering Corp
Hitachi Ltd
Original Assignee
Hitachi ULSI Engineering Corp
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 ULSI Engineering Corp, Hitachi Ltd filed Critical Hitachi ULSI Engineering Corp
Priority to JP29401094A priority Critical patent/JP3628361B2/ja
Publication of JPH08137661A publication Critical patent/JPH08137661A/ja
Application granted granted Critical
Publication of JP3628361B2 publication Critical patent/JP3628361B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)
  • Microcomputers (AREA)

Abstract

(57)【要約】 【目的】 その入出力処理に関する性能及び分解能を低
下させることなく、複数の周辺装置としての機能を時分
割的にかつ効率的にエミュレートしうるマイクロプロセ
ッサMPU等のデジタル処理装置を実現する。 【構成】 算術論理演算ユニット出力バスAOBUS及
び算術論理演算ユニット入力バスAIBUSを介して算
術論理演算ユニットALUに結合される汎用レジスタG
R0〜GRmのうち例えば2個の汎用レジスタGR0及
びGR1に、その保持データに所定のデータ加工処理を
施すデータ加工部DPをそれぞれ設ける。また、このよ
うなデータ加工部DPを含む機能付き汎用レジスタGR
0及びGR1を、インタフェースバスIBUSを介して
入出力ポートに直結するとともに、各機能付き汎用レジ
スタに対応して、その動作を制御するためのプログラム
メモリPM0及びPM1ならびに制御回路PC0及びP
C1を設ける。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明はデジタル処理装置に関
し、例えば、周辺装置をソフトウェアでエミュレートす
るためのインテリジェントサブプロセッサとして機能す
るマイクロプロセッサならびにこのようなマイクロプロ
セッサを搭載するシングルチップマイクロコンピュータ
に利用して特に有効な技術に関するものである。
【0002】
【従来の技術】中央処理装置やリードオンリーメモリ及
びランダムアクセスメモリ等の記憶装置ならびにダイレ
クトメモリアクセスコントローラ,シリアルコミュニケ
ーションインタフェース及びタイマー回路等の周辺装置
を1個のチップ(半導体基板)上に搭載したシングルチ
ップマイクロコンピュータがある。これらのシングルチ
ップマイクロコンピュータにおいて、各周辺装置は、そ
れぞれ専用化されたハードウェアにより実現され、その
メーカは、複数の周辺装置を種々の組み合わせで搭載す
ることにより、シングルチップマイクロコンピュータの
品種展開を図ってきた。このため、シングルチップマイ
クロコンピュータのユーザは、限られた品種の中から最
もその用途に近いものを選択せざるを得ず、選択した品
種が必ずしもユーザのニーズに対応した最適品とはなら
ないケースも多い。また、メーカがユーザの多様化され
た要求に応えようとしても、ハードウェアの変更を伴う
ために比較的長い開発期間を要し、製品の価格上昇を招
く結果となる。
【0003】これに対処するため、中央処理装置の他に
サブプロセッサとなるマイクロプロセッサをシングルチ
ップマイクロコンピュータに設け、各種の周辺装置の機
能をソフトウェア的にエミュレートする方法が特開平4
−195481号によって提案されている。このシング
ルチップマイクロコンピュータは、入出力ポート(外部
ポート)に直結された多機能メモリを備え、マイクロプ
ロセッサは、中央処理装置を介することなくしかもビッ
トごとに多機能メモリをアクセスできるため、ソフトウ
ェアの実行速度と入出力装置の処理速度との間のタイム
ラグを解消しつつ、複数の周辺装置の機能を並行してエ
ミュレートできるものである。
【0004】
【発明が解決しようとする課題】ところが、ユーザニー
ズがさらに多様化し高性能化するにしたがって、上記に
記載されるシングルチップマイクロコンピュータにも次
のような問題点が生じることが本願発明者等によって明
らかとなった。すなわち、上記シングルチップマイクロ
コンピュータでは、マイクロプロセッサと多機能メモリ
との間のデータ授受が1ビット又は2ビット単位で行わ
れ、多機能メモリ自体も、マイクロプロセッサ又は入出
力装置から与えられたデータをそのまま伝達するだけで
いわゆるデータ加工機能を有さない。このため、マイク
ロプロセッサ及び入出力ポート間のデータ授受が充分に
高速化されず、また並行処理に伴うマイクロプロセッサ
の処理負担が増大する結果となり、これによってシング
ルチップマイクロコンピュータの入出力処理に関する性
能及び分解能が低下するものである。
【0005】この発明の目的は、その入出力処理に関す
る性能及び分解能を低下させることなく、複数の周辺装
置としての機能を時分割的にかつ効率的にエミュレート
しうるマイクロプロセッサ等のデジタル処理装置を実現
することにある。
【0006】この発明の前記ならびにその他の目的と新
規な特徴は、この明細書の記述及び添付図面から明らか
になるであろう。
【0007】
【課題を解決するための手段】本願において開示される
発明のうち代表的なものの概要を簡単に説明すれば、次
の通りである。すなわち、シングルチップマイクロコン
ピュータ等に搭載され複数の周辺装置としての機能をソ
フトウェア的にかつ時分割的にエミュレートするマイク
ロプロセッサ等において、算術論理演算ユニットに結合
される汎用レジスタの一部又は全部に、その保持データ
に所定の加工処理を施すためのデータ加工機能を持たせ
る。また、このようなデータ加工機能を持つ機能付き汎
用レジスタを入出力ポートに直結するとともに、各機能
付き汎用レジスタに対応して、その動作を制御するため
のプログラムメモリ及び制御回路を設ける。
【0008】
【作用】上記した手段によれば、算術論理演算ユニット
と入出力ポートとの間を機能付き汎用レジスタを介して
論理的に直結し、マイクロプロセッサ及び入出力ポート
間のデータ授受を高速化できるとともに、入出力データ
に対するマスク処理やシフト処理を機能付き汎用レジス
タにより算術論理演算ユニットを介することなく並行し
て行うことができる。この結果、その入出力処理に関す
る性能及び分解能を低下させることなく、複数の周辺装
置としての機能を時分割的にかつ効率的にエミュレート
しうるマイクロプロセッサ等を実現することができる。
【0009】
【実施例】図1には、この発明が適用されたマイクロプ
ロセッサMPUを含むシングルチップマイクロコンピュ
ータMCの一実施例のシステム構成図が示されている。
同図により、まずこの実施例のマイクロプロセッサMP
Uを含むシングルチップマイクロコンピュータMCの構
成及び動作の概要について説明する。なお、図1の各ブ
ロックを構成する回路素子は、公知の半導体集積回路の
製造技術により、単結晶シリコンのような1個の半導体
基板上に形成される。
【0010】図1において、シングルチップマイクロコ
ンピュータMCは、いわゆるストアドプログラム方式の
中央処理装置CPUと、システムバスSBUSを介して
中央処理装置CPUに結合されるリードオンリーメモリ
ROM及びランダムアクセスメモリRAMとを備える。
このうち、中央処理装置CPUは、いわゆるメインプロ
セッサとして機能し、リードオンリーメモリROMに格
納された制御プログラムに従ってステップ動作して、所
定の演算処理を実行するとともに、シングルチップマイ
クロコンピュータMCの各部の動作を制御・統轄する。
【0011】シングルチップマイクロコンピュータMC
のシステムバスSBUSには、さらにマイクロプログラ
ム方式のマイクロプロセッサMPUが結合されるととも
に、ダイレクトメモリアクセスコントローラDMAC,
シリアルコミュニケーションインタフェースSCI及び
入出力ポートIOPが結合される。このうち、マイクロ
プロセッサMPUは、m+1個の汎用レジスタGR0〜
GRmと図示されない算術論理演算ユニットALUとを
含み、複数の周辺装置としての機能をソフトウェア的に
エミュレートするいわゆるサブプロセッサとして機能す
る。また、ダイレクトメモリアクセスコントローラDM
ACは、中央処理装置CPU又はマイクロプロセッサM
PUを介することなくリードオンリーメモリROM又は
ランダムアクセスメモリRAMとシリアルコミュニケー
ションインタフェースSCI又は入出力ポートIOPと
の間のデータ授受を仲介し、シリアルコミュニケーショ
ンインタフェースSCIは、データの直並列又は並直列
変換機能を有し、外部のシリアル入出力装置との間で一
連のデータのシリアル転送を行う。なお、マイクロプロ
セッサMPUは、前述のように、複数の周辺装置を時分
割的にエミュレートするサブプロセッサとして機能する
が、論理構成が複雑で相当な高速性を要求されることの
多いダイレクトメモリアクセスコントローラDMAC及
びシリアルコミュニケーションインタフェースSCIに
ついては専用ハードウェアも搭載し、ユーザの高度なニ
ーズに応えることができる構成とした。
【0012】この実施例において、マイクロプロセッサ
MPUに含まれるm+1個の汎用レジスタGR0〜GR
mのうち2個の汎用レジスタGR0及びGR1は、イン
タフェースバスIBUSを介して入出力ポートIOPの
ポートP0及びP1にそれぞれ直結される。また、これ
らの汎用レジスタGR0及びGR1は、後述するよう
に、データ加工部DPをそれぞれ含み、その保持データ
に対して所定のデータ加工処理を独立に施しうるいわゆ
る機能付き汎用レジスタとされる。一方、入出力ポート
IOPを起点とするインタフェースバスIBUSには、
さらに中央処理装置CPUが結合されるとともに、ダイ
レクトメモリアクセスコントローラDMAC及びシリア
ルコミュニケーションインタフェースSCIが結合され
る。また、シリアルコミュニケーションインタフェース
SCIは、入出力ポートIOPのポートP2に結合さ
れ、入出力ポートIOPのポートP1ないしP2には、
対応する入出力装置IO0〜IO2がそれぞれ結合され
る。なお、インタフェースバスIBUSは、システムバ
スSBUSのような確固たる共通バス形態を採るもので
はなく、特定のブロック間に設けられた多くの専用信号
線を含む。
【0013】図2には、図1のシングルチップマイクロ
コンピュータMCに含まれるマイクロプロセッサMPU
の一実施例のブロック図が示されている。また、図3に
は、図2のマイクロプロセッサMPUに含まれる機能付
き汎用レジスタGR0の一実施例のブロック図が示さ
れ、図4には、図3の機能付き汎用レジスタGR0のビ
ットB0の一実施例のブロック図が示されている。これ
らの図をもとに、マイクロプロセッサMPUの具体的構
成及び動作ならびにその特徴について説明する。なお、
機能付き汎用レジスタGR1については、図3の機能付
き汎用レジスタGR0に関する説明から類推され、機能
付き汎用レジスタGR0のビットB1〜BFについて
は、図4のビットB0に関する説明から類推されたい。
【0014】図2において、マイクロプロセッサMPU
は、前述のように、マイクロプログラム方式の処理装置
とされ、プログラムメモリ部PM,制御回路部PCなら
びに演算回路部AEを含む。このうち、プログラムメモ
リ部PMは、それぞれ所定ビットからなるj+1個のプ
ログラムメモリPM0〜PMjを含み、これらのプログ
ラムメモリから出力される命令は一つのワードを構成す
る。プログラムメモリPM0〜PMjすなわちプログラ
ムメモリ部PMは、特に制限されないが、512のアド
レスを有し、そのアドレスは、図示されないプログラム
カウンタによって所定の順序で択一的に指定される。マ
イクロプロセッサMPUは、所定のクロック信号に従っ
て同期動作し、マイクロプロセッサMPUから読み出さ
れる各ワードの命令に沿った処理をクロック信号の1サ
イクル内に実行する。
【0015】一方、制御回路部PCは、プログラムメモ
リ部PMのプログラムメモリPM0〜PMjに対応して
設けられるj+1個の制御回路PC0〜PCjを含む。
このうち、制御回路PC0及びPC1は、演算回路部A
Eの機能付き汎用レジスタGR0及びGR1の動作をそ
れぞれ制御し、制御回路PC2は、算術論理演算ユニッ
ト入力バスAIBUSに対する入力を制御する。また、
制御回路PCiは、後述するPリード機能を制御し、制
御回路PCjは、算術論理演算ユニットALUの動作を
制御する。なお、図示されない制御回路PC3は、算術
論理演算ユニット出力バスAOBUSに対する出力を制
御し、制御回路PCi−1は、後述するOUT命令に供
される。制御回路PC0〜PCjは、対応するプログラ
ムメモリPM0〜PMjから読み出される命令をそれぞ
れデコードして、対応するブロックの動作制御に必要な
制御信号を選択的に形成する。これにより、この実施例
のマイクロプロセッサMPUは、プログラムメモリPM
0〜PMjに格納された命令を制御回路PC0〜PCj
つまりは複数の機能単位を使って同時にかつ並行して実
行し、複数の機能を同時にかつ並行して実現する。
【0016】次に、演算回路部AEは、算術論理演算ユ
ニットALUと、算術論理演算ユニット入力バスAIB
US及び算術論理演算ユニット出力バスAOBUSを介
して算術論理演算ユニットALUに結合されるm+1個
の汎用レジスタGR0〜GRmとを含む。このうち、算
術論理演算ユニットALUは、各種演算機能を有し、算
術論理演算ユニット入力バスAIBUSを介して入力さ
れるデータに所定の演算処理を施し、算術論理演算ユニ
ット出力バスAOBUSに出力する。また、汎用レジス
タGR0〜GRmは、算術論理演算ユニットALUから
算術論理演算ユニット出力バスAOBUSを介して出力
されるデータを取り込み、保持するとともに、必要に応
じて算術論理演算ユニット出力バスAOBUSつまり算
術論理演算ユニットALUに出力する。前述のように、
汎用レジスタGR0〜GR1と算術論理演算ユニット入
力バスAIBUS及び算術論理演算ユニット出力バスA
OBUSとの間の接続は、制御回路PC2等つまりプロ
グラムメモリPM2等に格納された命令に従って制御さ
れる。また、汎用レジスタGR0〜GRmから算術論理
演算ユニットALUに出力されたデータは、クロック信
号の同一サイクル内において算術論理演算ユニットAL
Uで処理され、再び汎用レジスタGR0〜GRmに取り
込まれる。この結果、汎用レジスタGR0〜GRmは、
算術論理演算ユニットALUに直結された形となり、算
術論理演算ユニットALUつまりはマイクロプロセッサ
MPUの演算処理に直接関与しうるものとなる。
【0017】この実施例において、汎用レジスタGR0
及びGR1は、データ加工部DPをそれぞれ含み、機能
付き汎用レジスタとされる。また、汎用レジスタGR0
及びGR1は、インタフェースバスIBUSを介して入
出力ポートIOPの対応するポートP0及びP1に直結
されるとともに、システムバスSBUSを介して中央処
理装置CPU及びランダムアクセスメモリRAM等に結
合される。上記のように、機能付き汎用レジスタGR0
及びGR1は、算術論理演算ユニットALUつまりはマ
イクロプロセッサMPUの演算処理に直接関与しうるも
のとされる。このため、算術論理演算ユニットALUつ
まりマイクロプロセッサMPUは、機能付き汎用レジス
タGR0又はGR1を介して入出力ポートIOPのポー
トP0及びP1に関する入力処理又は出力処理に直接関
与できるものとなる。
【0018】ところで、演算回路部AEの汎用レジスタ
GR0及びGR1は、図3の汎用レジスタGR0に代表
されるように、16個のビットB0〜BF(ここで、1
6個設けられる汎用レジスタのビット等の追番を16進
数により表す。以下同様)を含み、これらのビットB0
〜BFは、第1相のクロック信号CLK1に従って動作
するスタティックラッチSLと、第2相のクロック信号
CLK2に従って動作するダイナミックラッチDLとを
それぞれ含む。また、ビットB0〜BFのダイナミック
ラッチDL及びスタティックラッチSL間に設けられる
4個のライトセレクタWSa〜WSdを含み、スタティ
ックラッチSLの出力信号を受けるリードセレクタRS
を含む。このうち、ライトセレクタWSaのデータ入力
端子(入力ノード)には、回路の接地電位に結合され、
ライトセレクタWSb〜WSdのデータ入力端子は、そ
れぞれインタフェースバスIBUS,算術論理演算ユニ
ット出力バスAOBUS及びシステムバスSBUSに結
合される。また、その制御端子には、制御回路部PCの
制御回路PC0からセレクタ制御信号SCa〜SCdが
それぞれ供給される。なお、これらのセレクタ制御信号
SCa〜SCdは、リードセレクタRSにも供給され
る。リードセレクタRSの第1の出力端子(出力ノー
ド)は、システムバスSBUSに結合され、その第2〜
第3の出力端子は、算術論理演算ユニット入力バスAI
BUS及びインタフェースバスIBUSにそれぞれ結合
される。また、その第4の出力端子は、Pリード用の出
力端子とされ、システムバスSBUSの対応するビット
に結合される。
【0019】ここで、機能付き汎用レジスタGR0のビ
ットB0〜BFを構成するライトセレクタWSa〜WS
dは、図4に例示されるように、それぞれ2個のライト
セレクタWSPa及びWSNaないしWSPd及びWS
Ndからなり、リードセレクタRSも、4個のリードセ
レクタRSa〜RSdからなる。このうち、ライトセレ
クタWSPaのデータ入力端子は、回路の接地電位に結
合され、その制御端子には、セレクタ制御信号SCaが
供給される。また、ライトセレクタWSNaのデータ入
力端子は、ダイナミックラッチDLの出力端子に結合さ
れ、その制御端子には、セレクタ制御信号SCaの反転
信号が供給される。これらのライトセレクタWSPa及
びWSNaの出力端子は、共通結合された後、ライトセ
レクタWSNbのデータ入力端子に結合される。一方、
ライトセレクタWSPbのデータ入力端子は、インタフ
ェースバスIBUSの対応するビットB0に結合され
る。また、その制御端子には、セレクタ制御信号SCb
が供給され、ライトセレクタWSNbの制御端子には、
セレクタ制御信号SCbの反転信号が供給される。これ
らのライトセレクタWSPb及びWSNbの出力端子
は、共通結合された後、ライトセレクタWSNcのデー
タ入力端子に結合される。
【0020】同様に、ライトセレクタWSPcのデータ
入力端子は、算術論理演算ユニット出力バスAOBUS
の対応するビットB0に結合される。また、その制御端
子には、セレクタ制御信号SCcが供給され、ライトセ
レクタWSNcの制御端子には、セレクタ制御信号SC
cの反転信号が供給される。これらのライトセレクタW
SPc及びWSNcの出力端子は、共通結合された後、
ライトセレクタWSNdのデータ入力端子に結合され
る。一方、ライトセレクタWSPdのデータ入力端子
は、システムバスSBUSの対応するビットB0に結合
される。また、その制御端子には、セレクタ制御信号S
Cdが供給され、ライトセレクタWSNdの制御端子に
は、セレクタ制御信号SCdの反転信号が供給される。
これらのライトセレクタWSPd及びWSNdの出力端
子は、共通結合された後、スタティックラッチSLの入
力端子に結合される。
【0021】ライトセレクタWSPa〜WSPdは、対
応するセレクタ制御信号SCa〜SCdのハイレベルを
受けてそれぞれ選択的に伝達状態とされ、そのデータ入
力端子に供給される回路の接地電位あるいはインタフェ
ースバスIBUS,算術論理演算ユニット出力バスAO
BUS又はシステムバスSBUSのビットB0を介して
入力されるデータを次段のライトセレクタWSNb,W
SNc又はWSNdのデータ入力端子あるいはスタティ
ックラッチSLの入力端子にそれぞれ選択的に伝達す
る。また、ライトセレクタWSNa〜WSNdは、対応
するセレクタ制御信号SCa〜SCdのロウレベルつま
りはその反転信号のハイレベルを受けてそれぞれ選択的
に伝達状態とされ、そのデータ入力端子に供給されるダ
イナミックラッチDLの出力信号あるいは前段の一対の
ライトセレクタWSPa及びWSNa,WSPb及びW
SNbならびにWSPc及びWSNcの出力信号を次段
のライトセレクタWSNb,WSNc又はWSNdのデ
ータ入力端子あるいはスタティックラッチSLの入力端
子にそれぞれ選択的に伝達する。
【0022】これらのことから、スタティックラッチS
Lの入力端子には、セレクタ制御信号SCaがハイレベ
ルとされかつセレクタ制御信号SCb〜SCdがすべて
ロウレベルであることを条件に、回路の接地電位つまり
論理“0”が選択的に伝達される。また、セレクタ制御
信号SCbがハイレベルとされかつセレクタ制御信号S
Cc及びSCdがともにロウレベルであることを条件
に、インタフェースバスIBUSのビットB0を介して
入力されるデータが選択的に伝達され、セレクタ制御信
号SCcがハイレベルとされかつセレクタ制御信号SC
dがロウレベルであることを条件に、算術論理演算ユニ
ット出力バスAOBUSのビットB0を介して入力され
るデータが選択的に伝達される。さらに、セレクタ制御
信号SCdがハイレベルであることを条件に、システム
バスSBUSのビットB0を介して入力されるデータが
選択的に伝達され、セレクタ制御信号SCa〜SCdが
すべてロウレベルである場合には、ダイナミックラッチ
DLの出力信号が選択的に伝達される。つまり、ライト
セレクタWSPa〜WSPdならびにWSNa〜WSN
dは、一つの優先順序回路を構成する訳であって、スタ
ティックラッチSLの入力端子には、システムバスSB
USのビットB0を介して入力されるデータが最優先で
伝達され、ついで算術論理演算ユニット出力バスAOB
US,インタフェースバスIBUSのビットB0を介し
て入力されるデータ又は回路の接地電位あるいはダイナ
ミックラッチDLの出力信号の順序で伝達される。
【0023】なお、この実施例におけるライトセレクタ
WSa〜WSdの優先順位は、マイクロプロセッサMP
UつまりはシングルチップマイクロコンピュータMCの
使い勝手が良くなるよう工夫される。すなわち、例え
ば、外部の入出力装置IO0〜IO2から入出力ポート
IOPを介して入力される信号より、プログラマが人為
的に書き込むデータの方が優先されるとともに、信号の
伝達遅延時間の大きな出力回路をスタティックラッチS
Lの近くに配置し、マイクロプロセッサMPU全体とし
ての高速化を図っている。また、中央処理装置CPU等
からシステムバスSBUSを介して行われる書き込みや
OUT命令による書き込みは、プログラムに直接関係の
ないリードクリア機能ならびに入出力ポートIOPを介
する外部からの書き込みよりも優先され、プログラムに
従って同期動作する中央処理装置CPUによる書き込み
は、専用ハードウェア化されたダイレクトメモリアクセ
スコントローラDMACやシリアルコミュニケーション
インタフェースSCI等の周辺装置からの書き込みより
も優先される。さらに、回路が複雑なために比較的伝達
遅延時間の大きなOUT命令による書き込みは、算術論
理演算ユニットALUからの書き込みよりも優先され、
リードクリア機能による書き込みと入出力ポートIOP
を介する外部からの書き込みとが競合した場合には、入
出力処理の高速化に寄与する度合の大きな外部からの書
き込みが優先される。
【0024】スタティックラッチSLの入力端子に伝達
されたデータは、クロック信号CLK1の立ち上がりエ
ッジに同期してスタティックラッチSLに取り込まれ、
保持される。また、このスタティックラッチSLの出力
信号は、クロック信号CLK2の立ち上がりエッジに同
期してダイナミックラッチDLに取り込まれ、保持され
る。これにより、汎用レジスタGR0は、セレクタ制御
信号SCa〜SCdつまりは対応するプログラムメモリ
PM0から読み出された命令に従って、システムバスS
BUS,算術論理演算ユニット出力バスAOBUS,イ
ンタフェースバスIBUSのビットB0を介して入力さ
れるデータ又は回路の接地電位あるいはダイナミックラ
ッチDLの出力信号を選択的に取り込み、保持する言わ
ば入力選択機能を有し、対応するデータ加工機能を有す
るものとなる。
【0025】言うまでもなく、システムバスSBUSを
介して入力されるデータは、中央処理装置CPU又はラ
ンダムアクセスメモリRAM等から出力されるものであ
り、算術論理演算ユニット出力バスAOBUSを介して
入力されるデータは、算術論理演算ユニットALUの演
算結果である。また、インタフェースバスIBUSを介
して入力されるデータは、対応する入出力装置IO0か
ら入出力ポートIOPのポートP0を介して入力される
外部入力データであり、回路の接地電位は、後述するP
リードのリードクリア時におけるクリア信号となる。一
方、クロック信号CLK1及びCLK2の周波数が高く
されマイクロプロセッサMPUが高速動作を行うとき、
各ライトセレクタに入力されるデータやセレクタ制御信
号にはハザード発生の可能性があり、最終的にスタティ
ックラッチSLが不定状態となるケースが生じるおそれ
もある。セレクタ制御信号SCa〜SCdがすべてロウ
レベルとされるときダイナミックラッチDLの出力信号
がスタティックラッチSLにそのまま伝達されること
は、このようなケースにダイナミックラッチDLの保持
データをそのままスタティックラッチSLに伝達し、少
なくとも前回値を回復して、ハザードによる障害を防止
することをその目的としている。
【0026】次に、リードセレクタRSを構成するリー
ドセレクタRSa〜RSdのデータ入力端子には、スタ
ティックラッチSLの出力信号が共通に供給され、その
制御端子には、対応するセレクタ制御信号SCa〜SC
dがそれぞれ供給される。また、リードセレクタRSa
〜RScの出力端子は、システムバスSBUS,算術論
理演算ユニット入力バスAIBUS及びインタフェース
バスIBUSの対応するビットB0にそれぞれ結合さ
れ、リードセレクタRSdの出力端子は、システムバス
SBUSの所定ビットBxに結合される。リードセレク
タRSdによるデータ出力は、いわゆるPリードと呼ば
れるものであって、このビットBxは、例えば図示され
ない信号経路を介して算術論理演算ユニットALUのシ
フタ命令の入力端子等に結合され、マイクロプロセッサ
MPUの判定動作に供される。
【0027】リードセレクタRSa〜RSdは、対応す
るセレクタ制御信号SCa〜SCdのハイレベルを受け
てそれぞれ選択的に伝達状態とされ、スタティックラッ
チSLの出力信号つまりは汎用レジスタGR0のビット
B0により保持されるデータをシステムバスSBUS,
算術論理演算ユニット入力バスAIBUS又はインタフ
ェースバスIBUSの対応するビットB0あるいはシス
テムバスSBUSの所定ビットBxに選択的に伝達す
る。これにより、汎用レジスタGR0は、その保持デー
タをシステムバスSBUS,算術論理演算ユニット入力
バスAIBUS又はインタフェースバスIBUSに選択
的に伝達する言わば出力選択機能を有するものとなり、
言わばデータ出力に関するデータ加工機能を有するもの
となる。なお、Pリード時、システムバスSBUSのビ
ットBxに出力されるデータが論理“1”である場合に
は、前記セレクタ制御信号SCaが選択的にハイレベル
とされ、これによって選択的にリードクリアが実現され
る。また、リードセレクタRSa〜RSdは、それぞれ
独立してデータの出力機能を実現できるため、この実施
例ではデータ出力に関する競合が発生することはない。
【0028】ところで、この実施例のマイクロプロセッ
サMPUは、前述のように、OUT命令機能を有し、例
えば機能付き汎用レジスタGR1は、算術論理演算ユニ
ットALUの演算結果として得られるゼロフラグ又はキ
ャリーフラグを条件とし又は無条件で、その指定された
ビットに1ビット単位でデータを取り込み、入出力ポー
トIOPの対応するポートP1に伝達する機能を有す
る。言うまでもなく、ゼロフラグとは、算術論理演算ユ
ニットALUの演算結果が“0”のとき選択的に論理
“1”とされるフラグであり、キャリーフラグとは、算
術論理演算ユニットALUによる演算が行われた結果、
桁あふれや桁落ちが生じたとき選択的に論理“1”とさ
れるフラグである。この実施例のマイクロプロセッサM
PUは、OUT命令による出力と、例えば機能付き汎用
レジスタGR0を介する16ビット単位の出力とを同時
に実行できるため、データを16+1ビットつまり17
ビット単位で外部の入出力装置に出力できるものとな
る。
【0029】ここで、機能付き汎用レジスタGR0を使
用して入出力ポートIOPのポートP0から所定の出力
信号を出力する場合のプログラムを例示しよう。まず、
最初に、マイクロプロセッサMPUは、算術論理演算ユ
ニットALUから算術論理演算ユニット出力バスAOB
USを介して16ビットの2進データ“0000000
010000111”をイミディエイト値として機能付
き汎用レジスタGR0に書き込む命令を実行させる。次
に、s秒後に、2進データ“000000001100
0011”を書き込む命令を実行させ、さらにs秒が経
過するごとに、2進データ“000000001110
0001”,“0000000011110000”,
“0000000001111000”,“00000
00000111100”,“00000000000
11110”及び“000000000000111
1”を書き込む命令を順次実行させ、これらの8個の命
令をもってプログラムループを形成させる。
【0030】これらのことから、ポートP0の上位8個
の外部端子には、常に論理“0”の固定波形が出力され
るが、下位8個の外部端子には、周期8s秒、デューテ
ィ50%とされ、かつ互いに45度の位相差を有する8
相の出力信号波形を得ることができる。このとき、機能
付き汎用レジスタGR0は、入出力ポートIOPのポー
トP0とともに信号発生回路となるタイマー回路等をエ
ミュレートしている訳であって、データの入出力経路や
組み合わせならびに命令を変えることで、各種の周辺装
置をソフトウェア的にエミュレートできるものとなる。
また、このようなエミュレーションは、機能付き汎用レ
ジスタのそれぞれにおいて独立しかつ並行して実現でき
るものであって、1個のマイクロプロセッサMPUの時
分割処理によって複数の周辺装置を同時にエミュレート
できるものとなる。
【0031】図5には、図2のマイクロプロセッサMP
Uの演算回路部AEに含まれる機能付き汎用レジスタG
R0の第2の実施例のブロック図が示されている。な
お、この実施例の機能付き汎用レジスタGR0は、前記
図3の実施例を基本的に踏襲するものであるため、これ
と異なる部分についてのみ説明を追加する。
【0032】図5において、機能付き汎用レジスタGR
0のビットB0を構成するライトセレクタWSaの第1
の入力端子には、所定のシフト入力端子を介してシフト
入力信号Sinが供給され、第2の入力端子には、対応
するダイナミックラッチDLの出力信号が供給される。
また、その第1の制御端子には、セレクタ制御信号SC
aが供給され、第2の制御端子には、前回値選択信号P
SLが供給される。一方、機能付き汎用レジスタGR0
のビットB1〜BFを構成するライトセレクタWSaの
第1の入力端子には、前段のビットB0〜BEを構成す
るスタティックラッチSLの出力信号S0〜SEがそれ
ぞれ供給され、第2の入力端子には、対応するダイナミ
ックラッチDLの出力信号がそれぞれ供給される。ま
た、その制御端子には、上記セレクタ制御信号SCaが
共通に供給される。
【0033】機能付き汎用レジスタGR0のビットB0
〜BFを構成するライトセレクタWSaは、セレクタ制
御信号SCaがロウレベルとされるとき、対応するダイ
ナミックラッチDLの出力信号を選択し、ライトセレク
タWSbに伝達する。また、セレクタ制御信号SCaが
ハイレベルとされるとき、シリアル入力信号Sin又は
前段のビットB0〜BEを構成するスタティックラッチ
SLの出力信号S0〜SEを選択し、ライトセレクタW
Sbに伝達する。ライトセレクタWSbに伝達された信
号は、セレクタ制御信号SCb〜SCdがロウレベルで
あることを条件に選択的にスタティックラッチSLに伝
達され、さらに対応するダイナミックラッチDLに伝達
される。これにより、機能付き汎用レジスタGR0のビ
ットB0〜BFは、セレクタ制御信号SCaがハイレベ
ルとされることを条件に選択的にシフタ構成とされて直
並列又は並直列変換回路として機能し、ソフトウェア的
にシリアルコミュニケーションインタフェースSCIあ
るいはパルスワイズモジレーションタイマ等をエミュレ
ートしうるものとなる。なお、機能付き汎用レジスタG
R0がシフタ構成とされるとき、最下位ビットのビット
B0を構成するライトセレクタWSaは、前回値選択信
号PSLがハイレベルであることを条件に、ダイナミッ
クラッチDLの出力つまりはその前回値を繰り返し選択
し、シフト入力信号Sinは無効となる。
【0034】前記図3の実施例で示したように、機能付
き汎用レジスタGR0は、セレクタ制御信号SCcがハ
イレベルとされることで、算術論理演算ユニット出力バ
スAOBUSを介して供給される算術論理演算ユニット
ALUの出力をパラレルに取り込み、またそのビットB
0〜BFを構成するスタティックラッチSLの出力を算
術論理演算ユニット出力バスAOBUSを介して算術論
理演算ユニットALUにパラレルに出力する機能を持
つ。したがって、まずセレクタ制御信号SCaをハイレ
ベルとして機能付き汎用レジスタGR0をシフタ構成と
し、16ビットのシフト入力信号Sinが入力された時
点でセレクタ制御信号SCcをハイレベルとして機能付
き汎用レジスタGR0の各スタティックラッチSLの出
力を算術論理演算ユニット入力バスAIBUSつまり算
術論理演算ユニットALUにパラレル出力することで、
16ビットの直並列変換回路をエミュレートできる。ま
た、まずセレクタ制御信号SCcをハイレベルとして機
能付き汎用レジスタGR0に算術論理演算ユニットAL
Uの出力をパラレル入力した後、セレクタ制御信号SC
aをハイレベルとして機能付き汎用レジスタGR0をシ
フタ構成することで、やはり16ビットの並直列変換回
路をエミュレートできる。このとき、ビットBFのスタ
ティックラッチSLの出力信号SFは、シリアル出力信
号Soutとして所定のシリアル出力端子からシリアル
に出力することができる。
【0035】ところで、この実施例のマイクロプロセッ
サMPUは、前述のように、専用ハードウェアとして構
成されるシリアルコミュニケーションインタフェースS
CIを備え、このシリアルコミュニケーションインタフ
ェースSCIは、周知のように、上記機能付き汎用レジ
スタGR0がシフタ構成とされる場合と同様な直並列又
は並直列変換機能を持つ。しかし、シフタ構成とされる
機能付き汎用レジスタGR0の動作がプログラムメモリ
PM0に格納された命令に従って制御されるのに比べ
て、専用ハードウェアたるシリアルコミュニケーション
インタフェースSCIの動作は、変換終了時における1
6ビットごとの割り込み処理を必要とし、これによって
中央処理装置CPUの処理負担が増大する。言い換える
ならば、マイクロプロセッサMPUによってエミュレー
トされるシリアルコミュニケーションインタフェースS
CIは、中央処理装置CPUの介入を必要とすることな
くしかも中央処理装置CPUによる他の処理と並行して
実現できる訳であって、結果的に中央処理装置CPUの
処理負担が著しく軽減されるものとなる。
【0036】ここで、二つのプログラム例をあげ、シフ
タ構成とされる機能付き汎用レジスタの応用方法を説明
する。まず、第1のプログラム例では、機能付き汎用レ
ジスタGR0のシリアル出力端子Soutが結合される
入出力ポートIOPのポートP0の外部端子Xと、機能
付き汎用レジスタGR1のシリアル出力端子Soutが
結合されるポートP1の外部端子Yに、位相差180
度、デューティ20%、周波数が基本クロック信号の1
/10とされる2相の出力信号を得る。
【0037】マイクロプロセッサMPUは、最初に外部
端子Xに対応する機能付き汎用レジスタGR0に2進デ
ータ“1100000000000000”を、また外
部端子Yに対応する機能付き汎用レジスタGR1に2進
データ“0000011000000000”を、算術
論理演算ユニットALUから書き込むための命令を実行
する。次に、機能付き汎用レジスタGR0及びGR1の
ビットB0のシフト入力信号Sinとして論理“0”又
は“1”のデータを代入した後、セレクタ制御信号SC
aをハイレベルとし、機能付き汎用レジスタGR0及び
GR1をシフタ構成とする。そして、基本クロック信号
の10サイクルが経過した時点で機能付き汎用レジスタ
GR0の上位8ビットに2進データ“1100000
0”を書き込み、さらに5サイクル後には機能付き汎用
レジスタGR1の上位8ビットに同じ2進データ“11
000000”を書き込む。以下、5サイクルが経過す
るごとに機能付き汎用レジスタGR0及びGR1の上位
8ビットに2進データ“11000000”を交互に書
き込み、これらの命令をループさせる。
【0038】これらの結果、入出力ポートIOPのポー
トP0及びP1の外部端子X及びYには、位相差180
度、デューティ20%、周波数がクロック信号の1/1
0とされる2相の出力波形が得られ、この出力信号によ
って例えばモータ等を駆動することが可能となる。この
プログラム例の場合、マイクロプロセッサMPUの算術
論理演算ユニットALUは、基本クロック信号の5サイ
クルおきに2進データ“11000000”を書き込む
命令を実行すればよい訳であり、残りの4サイクルでは
他の処理を実行し、その処理能力を高めることができ
る。
【0039】次に、第2のプログラム例として、機能付
き汎用レジスタGR0のシフト出力端子Soutが結合
される入出力ポートIOPのポートP0の外部端子Z
に、デューティ75%、周波数が基本クロック信号の1
/40とされる出力波形を得る場合を掲げる。マイクロ
プロセッサMPUは、まず算術論理演算ユニットALU
から機能付き汎用レジスタGR0に2進データ“111
1111111111111”を書き込む命令を実行す
る。また、前回値選択信号PSLをハイレベルとした
後、セレクタ制御信号SCaをハイレベルとし、機能付
き汎用レジスタGR0をシフタ構成とする。そして、基
本クロック信号の20サイクルが経過した時点で、算術
論理演算ユニットALUから機能付き汎用レジスタGR
0に2進データ“1111111111000000”
を書き込む命令を実行した後、さらに基本クロック信号
の20サイクルが経過するごとに、2進データ“111
1111111111111”及び“11111111
11000000”を交互に書き込むための命令を実行
し、これらの命令をループさせる。
【0040】これらの結果、入出力ポートIOPのポー
トP0の外部端子Zには、2進データ“1111111
1111111111111111111111100
00000000”に対応するデューティ75%、周波
数が基本クロック信号の1/40の出力波形が得られ
る。なお、シフタ構成とされる機能付き汎用レジスタG
R0が16ビット構成とされその並直列変換処理が16
ビットを単位として行われるにもかかわらず、上記一連
の2進データを書き込むための命令は20サイクルごと
に実行されるが、この実施例の場合、前回値選択信号P
SLがハイレベルとされ機能付き汎用レジスタGR0の
ビットB0がその前回値を繰り返し入力するため、上記
のような信号波形を得ることができるものとなる。この
ことは、比較的サイクルの長い各種の信号波形の生成に
有効となり、これによってマイクロプロセッサMPUの
利便性がさらに高められるものとなる。
【0041】図6には、図2のマイクロプロセッサMP
Uに含まれる演算回路部AEの第3の実施例のブロック
図が示されている。なお、この実施例の演算回路部AE
は前記図2及び図3の実施例を基本的に踏襲するもので
あるため、これと異なる部分についてのみ説明を追加す
る。また、図6では、リードセレクタRS,スタティッ
クラッチSL,ライトセレクタWS及び算術論理演算ユ
ニットALUが、上位又は下位の8ビットを単位とする
ブロックにまとめて示される。
【0042】図6において、機能付き汎用レジスタGR
0は、上位又は下位の8ビットを単位として分割された
二つのリードセレクタRSU及びRSLを含む。このう
ち、上位リードセレクタRSUの入力端子は、8ビット
からなるスタティックラッチSLの出力端子に結合さ
れ、その出力端子は、上位算術論理演算ユニット入力バ
スAIBUSUならびにインタフェースバスIBUSの
上位8ビットに結合される。一方、下位リードセレクタ
RSLの入力端子は、8ビットからなるグランド部GN
Dに結合され、その出力端子は、下位算術論理演算ユニ
ット入力バスAIBUSLに結合される。なお、グラン
ド部GNDの各ビットの出力端子には、常に回路の接地
電位つまり論理“0”が出力される。リードセレクタR
SLの制御端子には、算術論理演算ユニットALUから
みて入力選択信号となるセレクタ制御信号SCaiが供
給される。また、リードセレクタRSUの第1の制御端
子には、上記セレクタ制御信号SCaiが供給され、そ
の第2の入力端子には、外部データの入力選択信号とな
るセレクタ制御信号SCedが供給される。
【0043】リードセレクタRSUは、セレクタ制御信
号SCaiがハイレベルとされるとき、スタティックラ
ッチSLによって保持される8ビットのデータを上位算
術論理演算ユニット入力バスAIBUSUを介して算術
論理演算ユニットALUの上位8ビットつまり上位算術
論理演算ユニットACUに入力する。このとき、下位リ
ードセレクタRSLは、グランド部GNDから供給され
る8ビットの論理“0”データを下位算術論理演算ユニ
ット入力バスAIBUSLを介して算術論理演算ユニッ
トALUの下位8ビットつまり下位算術論理演算ユニッ
トACLに入力する。一方、リードセレクタRSUは、
セレクタ制御信号SCedがハイレベルとされるとき、
スタティックラッチSLによって保持される8ビットの
データをインタフェースバスIBUSの下位8ビットな
らびに入出力ポートIOPのポートP0を介して外部の
入出力装置IO0に出力する。
【0044】機能付き汎用レジスタGR0は、さらに8
ビットからなるライトセレクタWSを含む。このライト
セレクタWSの第1及び第2の入力端子は、下位算術論
理演算ユニット出力バスAOBUSL及び上位算術論理
演算ユニット出力バスAOBUSUにそれぞれ結合さ
れ、その第3の入力端子は、インタフェースバスIBU
Sに結合される。また、ライトセレクタWSの第1の制
御端子には、算術論理演算ユニットALUからみて出力
選択信号となるセレクタ制御信号SCaoが供給され、
その第2の制御端子には、上記セレクタ制御信号SCe
dが供給される。ライトセレクタWSの出力端子は、ス
タティックラッチSLの入力端子に結合され、このスタ
ティックラッチSLの出力端子は、図示されないダイナ
ミックラッチDLを介してライトセレクタWSの第4の
入力端子に結合される。
【0045】この実施例において、ライトセレクタWS
は、セレクタ制御信号SCedがハイレベルとされると
き、外部の入出力装置IO0から入出力ポートIOP及
びインタフェースバスIBUSを介して入力される外部
データを取り込み、スタティックラッチSLに伝達す
る。また、セレクタ制御信号SCaoがハイレベルとさ
れるとき、上位算術論理演算ユニットACUから上位算
術論理演算ユニット出力バスAOBUSUを介して入力
される8ビットのデータを、下位算術論理演算ユニット
ACLから下位算術論理演算ユニット出力バスAOBU
SLを介して入力される8ビットのデータをマスクとし
て選択的に取り込み、スタティックラッチSLに伝達す
る。すなわち、ライトセレクタWSは、上位算術論理演
算ユニットACUから上位算術論理演算ユニット出力バ
スAOBUSUを介して入力される8ビットのデータ
を、対応するマスクデータが論理“0”であることを条
件に選択的に取り込み、スタティックラッチSLの対応
するビットに伝達する。対応するマスクデータが論理
“1”とされるとき、上位算術論理演算ユニット出力バ
スAOBUSUを介して入力されるデータは無視され、
スタティックラッチSLの対応するビットは変化しな
い。また、セレクタ制御信号SCed及びSCaoがと
もにロウレベルとされるとき、ライトセレクタWSは、
スタティックラッチSLによって保持される前回値をそ
のまま再度取り込み、保持する。
【0046】ここで、三つのプログラム例をあげて、こ
の実施例の演算回路部AEの応用方法について説明す
る。まず、第1のプログラム例は、機能付き汎用レジス
タGR0に対応する入出力ポートIOPのポートP0の
8個の外部端子から、命令Aに含まれる3ビットのイミ
ディエイトデータ“abc”と命令Bに含まれる5ビッ
トのイミディエイトデータ“lmnop”とを組み合わ
せて出力するケースである。この実施例の場合、マイク
ロプロセッサMPUは、最初に“MOV abcdef
gh00011111→GR0”なる命令Aを実行した
後、引き続いて“MOV ijklmnop11100
000→GR0”なる命令Bを実行する。なお、これら
の命令A及びBに代表される“MOV X→Y”なるい
わゆるムーブ命令は、“データXをYに出力せよ”を意
味するものであり、Xは上記のようなイミディエイト値
でも良いし指定されたレジスタの中身であってもよい。
言うまでもなく、Yは機能付き汎用レジスタGR0を示
し、あわせて入出力ポートIOPのポートP0の8個の
外部端子をも示すものである。
【0047】演算回路部AEの機能付き汎用レジスタG
R0では、まず命令Aを受けてセレクタ制御信号SCa
oがハイレベルとされ、算術論理演算ユニットALUの
上位8ビットつまり2進データ“abcdefgh”が
下位8ビットつまりマスクデータ“00011111”
に従って選択的にスタティックラッチSLに取り込まれ
る。前述のように、2進データの各ビットは、対応する
マスクデータが論理“0”であることを条件に選択的に
スタティックラッチSLの対応するビットに伝達される
ため、スタティックラッチSLには、2進データの上位
3ビットつまり2進データ“abc”のみが選択的に取
り込まれる。このとき、スタティックラッチSLの下位
5ビットは、破壊されずにそのまま保持される。次に、
この状態で命令Bが実行されると、機能付き汎用レジス
タGR0では、セレクタ制御信号SCaoが再度ハイレ
ベルとされ、算術論理演算ユニットALUの上位8ビッ
トつまり2進データ“ijklmnop”が下位8ビッ
トつまりマスクデータ“11100000”に従って選
択的にスタティックラッチSLに取り込まれる。この結
果、スタティックラッチSLには、2進データの下位5
ビットつまり2進データ“lmnop”のみが選択的に
取り込まれ、上位3ビットの2進データ“abc”は、
そのまま破壊されずに保持される。
【0048】前述のように、機能付き汎用レジスタGR
0は、入出力ポートIOPのポートP0に直結され、ス
タティックラッチSLにおいて組み合わされた8ビット
の2進データ“abclmnop“は、ポートP0の8
個の外部端子を介して対応する入出力装置IO0に出力
される。
【0049】一方、第2のプログラム例は、例えば入出
力ポートIOPのポートP0の8個の外部端子から8ビ
ットの外部データを機能付き汎用レジスタGR0に入力
した後、その上位4ビットを破壊することなく算術論理
演算ユニットALUによって“1”を加算し、再度もと
の8個の外部端子から出力するものである。マイクロプ
ロセッサMPUでは、“ADD 0000000111
110000→GR0”なる命令Cが実行される。この
命令Cに代表される加算命令“ADD X→Y”は、
“XのデータをYのデータに加算し、Yに出力せよ”を
意味し、Xはイミディエイト値でもよく指定されたレジ
スタの中身であってもよい。
【0050】マイクロプロセッサMPUの機能付き汎用
レジスタGR0では、命令Cの実行によってまずセレク
タ制御信号SCedがハイレベルとされ、入出力ポート
IOPのポートP0からインタフェースバスIBUSの
上位8ビットを介して伝達される8ビットの外部データ
がスタティックラッチSLに取り込まれる。これらの外
部データは、セレクタ制御信号SCaiがハイレベルと
されることで算術論理演算ユニットALUの上位8ビッ
トつまり上位算術論理演算ユニットACUの一方の入力
端子に伝達され、その下位8ビットつまり下位算術論理
演算ユニットACLの一方の入力端子には、グランド部
GNDを介して2進データ“00000000”が入力
される。このとき、上位算術論理演算ユニットACUの
他方の入力端子には、命令Cのイミディエイト値の上位
8ビットつまり2進データ“00000001”が入力
され、下位算術論理演算ユニットACLの他方の入力端
子には、その下位8ビットつまり2進データ“1111
0000”が入力される。したがって、外部データの初
期値を例えば“00001111”とした場合、算術論
理演算ユニットALUは、“000000011111
0000”+“0000111100000000”な
る加算処理を実行し、その結果として桁上げ信号を含む
2進データ“0001000011110000”を得
る。
【0051】算術論理演算ユニットALUの演算結果
は、前述のように、その上位8ビットを意味のある2進
データとしその下位8ビットをマスクデータとして機能
付き汎用レジスタGR0に再書き込みされ、入出力ポー
トIOPのポートP0に伝達される。この結果、ポート
P0の8個の外部端子には、2進データ“000000
00”が出力され、加算結果の第12ビットに含まれる
桁上げ信号は無視され、外部データの上位4ビットも破
壊されることなく残される。つまり、この実施例の場
合、算術論理演算ユニットALUの下位8ビットの一方
の入力端子には、グランド部GNDから常に2進データ
“00000000”が入力されるため、加算結果の下
位8ビットつまりマスクデータには桁上げが発生せず、
第7ビットから第4ビットは常に論理“1”となる。こ
のため、加算結果の第11ビットから第8ビットのみが
対応する下位4個の外部端子から出力されるとともに、
加算結果の桁上げ信号は無視され、外部データの上位4
ビットは保護される。
【0052】最後に、第3のプログラム例として、上記
加算命令においてキャリーフラグ及びゼロフラグを有効
化する方法をあげる。このマイクロプロセッサMPUで
は、前述のように、機能付き汎用レジスタGR0の上位
8ビットに意味のある2進データを割り当て、下位8ビ
ットにマスクデータを割り当てているため、マスクデー
タの全ビットを論理“0”とする加算命令Dつまり“A
DD 1111111100000000→GR0”を
実行すればよい。このとき、外部データの初期値を“0
0000001”とすると、算術論理演算ユニットAL
Uは、“1111111100000000”+“00
00000100000000”なる加算処理を実行
し、その結果として桁上げを伴う2進データ“0000
000000000000”を得る。このうち、上位8
ビットは、マスクされることなく機能付き汎用レジスタ
GR0に再書き込みされ、ポートP0の8個の外部端子
を介して入出力装置IO0に出力される。また、算術論
理演算ユニットALUのゼロフラグ及びキャリーフラグ
には、演算結果に応じて有効なフラグがそれぞれ選択的
に設定されるため、マイクロプロセッサMPUは、分岐
命令によってこれらのフラグを活用し、あるいはOUT
命令によって外部に出力できる。
【0053】以上のように、この実施例のマイクロプロ
セッサMPUは、算術論理演算ユニット入力バスAIB
US及び算術論理演算ユニット出力バスAOBUSを介
して算術論理演算ユニットALUに結合されるm+1個
の汎用レジスタGR0〜GRmを備え、このうち2個の
汎用レジスタGR0及びGR1は、機能付き汎用レジス
タとされ、その保持データに対して所定の加工処理を施
すためのデータ加工部DPをそれぞれ含む。また、機能
付き汎用レジスタGR0及びGR1は、入出力ポートI
OPのポートP0及びP1にそれぞれ直結されるため、
その保持データを外部の入出力装置IO0及びIO1に
直接出力し、またこれらの入出力装置から出力されるデ
ータを直接入力することができる。さらに、この実施例
のマイクロプロセッサMPUは、機能付き汎用レジスタ
GR0及びGR1に対応して設けられるプログラムメモ
リPM0及びPM1ならびに制御回路PC0及びPC1
を備えるため、機能付き汎用レジスタGR0及びGR1
は、算術論理演算ユニットALUとは独立にかつ並行し
て複数の処理を実行する。これらの結果、この実施例の
マイクロプロセッサMPUは、同時に複数の周辺装置と
しての機能をエミュレートし、しかも効率的な入出力処
理を実現しうるものとなる。
【0054】以上の実施例から得られる作用効果は、下
記の通りである。すなわち、 (1)シングルチップマイクロコンピュータに搭載され
複数の周辺装置としての機能をソフトウェア的にかつ時
分割的にエミュレートするマイクロプロセッサ等におい
て、算術論理演算ユニットに結合される汎用レジスタの
一部又は全部に、その保持データに所定の加工処理を施
すデータ加工機能を持たせるとともに、このようなデー
タ加工機能を持つ機能付き汎用レジスタを入出力ポート
に直結し、各機能付き汎用レジスタに対応してその動作
を制御するためのプログラムメモリ及び制御回路を設け
ることで、算術論理演算ユニットと入出力ポートとの間
を機能付き汎用レジスタを介して論理的に直結し、マイ
クロプロセッサ及び入出力ポート間のデータ授受を高速
化できるという効果が得られる。 (2)上記(1)項により、入出力データに対するマス
ク処理やシフト処理を機能付き汎用レジスタにより算術
論理演算ユニットを介することなく並行しかつ効率良く
実現することができるという効果が得られる。 (3)上記(1)項及び(2)項により、その入出力処
理に関する性能及び分解能を低下させることなく、複数
の周辺装置としての機能を時分割的にかつ効率的にエミ
ュレートしうるマイクロプロセッサ等のデジタル処理装
置を実現することができるという効果が得られる。
【0055】以上、本発明者によってなされた発明を実
施例に基づき具体的に説明したが、この発明は、上記実
施例に限定されるものではなく、その要旨を逸脱しない
範囲で種々変更可能であることは言うまでもない。例え
ば、図1において、シングルチップマイクロコンピュー
タMCは、ダイレクトメモリアクセスコントローラDM
AC及びシリアルコミュニケーションインタフェースS
CI以外の専用ハードウェアを備えることができるし、
このような専用ハードウェアを備えることを必須条件と
もしない。また、入出力ポートIOPは、任意数のポー
トを備えることができるし、これらのポートとマイクロ
プロセッサMPUの機能付き汎用レジスタ又は入出力装
置との間の組み合わせも、任意に設定できる。シングル
チップマイクロコンピュータは、任意のブロック構成を
採りうる。
【0056】図2において、プログラムメモリ部PMを
構成するプログラムメモリPM0〜PMjならびに制御
回路部PCを構成する制御回路PC0〜PCjと汎用レ
ジスタを含む機能単位との関係は、この実施例による制
約を受けない。また、データ加工部DPは、任意数の汎
用レジスタに設けることができるし、汎用レジスタGR
0〜GRmのすべてに設けてもよい。プログラムメモリ
部PMのアドレス構成は、任意に設定できるし、マイク
ロプロセッサMPUのブロック構成及びバス構成は、こ
の実施例による制約を受けない。
【0057】図3及び図4において、機能付き汎用レジ
スタGR0のビットB0〜BFに設けられるライトセレ
クタWSの数は、その用途及び機能に応じて任意に設定
できるし、その優先順位も任意である。また、機能付き
汎用レジスタGR0の最下位ビットに設けられるリード
クリア機能は、その論理レベルを任意に設定できるいわ
ゆるリードプリセット機能としてもよい。汎用レジスタ
GR0〜GRmのビット数は任意に設定できるし、各ビ
ットのブロック構成も任意である。図6において、ライ
トセレクタWSは、下位算術論理演算ユニット出力バス
AOBUSLを介して入力される8ビットの2進データ
を、上位算術論理演算ユニット出力バスAOBUSUを
介して入力される8ビットのマスクデータに従って選択
的にスタティックラッチSLに伝達するものであっても
よい。
【0058】以上の説明では、主として本発明者によっ
てなされた発明をその背景となった利用分野であるシン
グルチップマイクロコンピュータならびにそのマイクロ
プロセッサに適用した場合について説明したが、それに
限定されるものではなく、例えば、周辺プロセッサとし
て単体で形成されるマイクロプロセッサや、マイクロプ
ロセッサを搭載するゲートアレイ集積回路等にも適用で
きる。汎用レジスタにデータ加工部を設けることで算術
論理演算ユニットつまりプロセッサとしての処理能力を
高める方法は、マイクロプロセッサに限らず各種のプロ
セッサに応用できる。この発明は、少なくとも汎用レジ
スタ及び算術論理演算ユニットを含みあるいは周辺装置
としての機能をエミュレートするデジタル処理装置なら
びにこのようなデジタル処理装置を含むシステムに広く
適用できる。
【0059】
【発明の効果】本願において開示される発明のうち代表
的なものによって得られる効果を簡単に説明すれば、下
記の通りである。すなわち、シングルチップマイクロコ
ンピュータ等に搭載され複数の周辺装置としての機能を
ソフトウェア的にかつ時分割的にエミュレートするマイ
クロプロセッサ等において、算術論理演算ユニットに結
合される汎用レジスタの一部又は全部に、その保持デー
タに所定の加工処理を施すデータ加工機能を持たせると
ともに、このようなデータ加工機能を持つ機能付き汎用
レジスタを入出力ポートに直結し、各機能付き汎用レジ
スタに対応して、その動作を制御するためのプログラム
メモリ及び制御回路を設けることで、算術論理演算ユニ
ットと入出力ポートとの間を機能付き汎用レジスタを介
して論理的に直結し、マイクロプロセッサ及び入出力ポ
ート間のデータ授受を高速化できるとともに、入出力デ
ータに対するマスク処理やシフト処理を機能付き汎用レ
ジスタによりしかも算術論理演算ユニットを介すること
なく並行して行うことができる。この結果、その入出力
処理に関する性能及び分解能を低下させることなく、複
数の周辺装置としての機能を時分割的にかつ効率的にエ
ミュレートしうるマイクロプロセッサ等のデジタル処理
装置を実現することができる。
【図面の簡単な説明】
【図1】この発明が適用されたマイクロプロセッサを含
むシングルチップマイクロコンピュータの一実施例を示
すシステム構成図である。
【図2】図1のシングルチップマイクロコンピュータに
含まれるマイクロプロセッサの一実施例を示すブロック
構成図である。
【図3】図2のマイクロプロセッサの演算回路部に含ま
れる機能付き汎用レジスタの第1の実施例を示すブロッ
ク構成図である。
【図4】図3の機能付き汎用レジスタの第0ビットの一
実施例を示すブロック構成図である。
【図5】図2のマイクロプロセッサの演算回路部に含ま
れる機能付き汎用レジスタの第2の実施例を示すブロッ
ク構成図である。
【図6】図2のマイクロプロセッサに含まれる演算回路
部の第3の実施例を示す部分的なブロック構成図であ
る。
【符号の説明】
MC・・・シングルチップマイクロコンピュータ、CP
U・・・中央処理装置(メインプロセッサ)、MPU・
・・マイクロプロセッサ(サブプロセッサ)、GR0〜
GRm・・・汎用レジスタ、SBUS・・・システムバ
ス、IBUS・・インタフェースバス、ROM・・・リ
ードオンリーメモリ、RAM・・・ランダムアクセスメ
モリ、DMAC・・・ダイレクトメモリアクセスコント
ローラ、SCI・・・シリアルコミュニケーションイン
タフェース、IOP・・・入出力ポート、P0〜P2・
・・ポート、IO0〜IO2・・・入出力装置。PM・
・・プログラムメモリ部、PM0〜PMj・・・プログ
ラムメモリ、PC・・・制御回路部、PC0〜PCj・
・・制御回路、AE・・・演算回路部、GR0〜GR1
・・・機能付き汎用レジスタ、DP・・・データ加工
部、ALU・・・算術論理演算ユニット、AIBUS・
・・・算術論理演算ユニット入力バス、AOBUS・・
・算術論理演算ユニット出力バス。B0〜BF・・・汎
用レジスタ各ビット、SL・・・スタティックラッチ、
DL・・・ダイナミックラッチ、WSa〜WSd・・・
ライトセレクタ、RS・・・リードセレクタ、SCa〜
SCd・・・セレクタ制御信号、CLK1〜CLK2・
・・クロック信号。RSa〜RSd・・・リードセレク
タ、WSPa〜WSPd,WSNa〜WSNd・・・ラ
イトセレクタ。PSL・・・前回値選択信号、Sin・
・・シリアル入力端子、Sout・・・シリアル出力端
子、S0〜SF・・・スタティックラッチ出力信号。A
CU・・・上位算術論理演算ユニット、ACL・・・下
位算術論理演算ユニット、RSU・・・上位リードセレ
クタ、RSL・・・下位リードセレクタ、GND・・グ
ランド部、AIBUSU・・・上位算術論理演算ユニッ
ト入力バス、AIBUSL・・・下位算術論理演算ユニ
ット入力バス、AOBUSU・・・上位算術論理演算ユ
ニット出力バス、AOBUSL・・・下位算術論理演算
ユニット出力バス、SCai,SCao,SCed・・
・セレクタ制御信号、SAC・・・算術論理演算ユニッ
ト制御信号。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 丸山 繁徳 東京都小平市上水本町5丁目20番1号 日 立超エル・エス・アイ・エンジニアリング 株式会社内 (72)発明者 三輪 善幸 東京都小平市上水本町5丁目20番1号 株 式会社日立製作所半導体事業部内 (72)発明者 宮岡 秀治 東京都小平市上水本町5丁目20番1号 株 式会社日立製作所半導体事業部内 (72)発明者 林 誠 東京都小平市上水本町5丁目20番1号 日 立超エル・エス・アイ・エンジニアリング 株式会社内

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】 所定の演算機能を有する算術論理演算ユ
    ニットと、所定のバスを介して上記算術論理演算ユニッ
    トに結合される汎用レジスタとを具備し、上記汎用レジ
    スタの一部又は全部がその保持データに対して所定の加
    工処理を施すデータ加工部を含むことを特徴とするデジ
    タル処理装置。
  2. 【請求項2】 上記デジタル処理装置は、上記算術論理
    演算ユニットと上記データ加工部を含む汎用レジスタと
    に対応して設けられるプログラムメモリ及び制御回路
    と、外部装置に結合される入出力ポートとを具備するも
    のであって、上記データ加工部を含む汎用レジスタは、
    上記入出力ポートの対応するポートに結合されるもので
    あることを特徴とする請求項1のデジタル処理装置。
  3. 【請求項3】 上記データ加工部を含む汎用レジスタ
    は、上記算術論理演算ユニットとは独立にかつ並行して
    動作し、実質的に対応する上記外部装置との間の入力処
    理又は出力処理を制御する周辺装置として機能しうるも
    のであることを特徴とする請求項1又は請求項2のデジ
    タル処理装置。
  4. 【請求項4】 上記データ加工部は、複数の入力ノード
    及び出力ノードと、上記複数の入力ノードを介して入力
    される入力データを所定の優先順位で選択的に取り込む
    ライトセレクタと、対応する上記汎用レジスタの保持デ
    ータを対応する上記出力ノードに選択的に出力するリー
    ドセレクタとを含むものであることを特徴とする請求項
    1,請求項2又は請求項3のデジタル処理装置。
  5. 【請求項5】 上記データ加工部は、対応する上記汎用
    レジスタの所定ビットを出力した後、選択的にクリアし
    又はプリセットしうるものであることを特徴とする請求
    項1,請求項2,請求項3又は請求項4のデジタル処理
    装置。
  6. 【請求項6】 上記データ加工部は、対応する上記汎用
    レジスタの各ビットを選択的にシリアル結合し、シフタ
    構成としうるものであることを特徴とする請求項1,請
    求項2,請求項3又は請求項4のデジタル処理装置。
  7. 【請求項7】 上記データ加工部は、対応する上記汎用
    レジスタがシフタ構成とされるとき、最下位ビットの出
    力信号を選択的に繰り返しその入力端子に入力しうるも
    のであることを特徴とする請求項6のデジタル処理装
    置。
  8. 【請求項8】 上記データ加工部は、算術論理演算ユニ
    ット又は入出力ポートからパラレルに入力されるデータ
    の上位又は下位ビットを、その下位又は上位ビットをマ
    スクとして選択的に取り込みうるものであることを特徴
    とする請求項1,請求項2,請求項3又は請求項4のデ
    ジタル処理装置。
JP29401094A 1994-11-02 1994-11-02 デジタル処理装置 Expired - Fee Related JP3628361B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP29401094A JP3628361B2 (ja) 1994-11-02 1994-11-02 デジタル処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP29401094A JP3628361B2 (ja) 1994-11-02 1994-11-02 デジタル処理装置

Publications (2)

Publication Number Publication Date
JPH08137661A true JPH08137661A (ja) 1996-05-31
JP3628361B2 JP3628361B2 (ja) 2005-03-09

Family

ID=17802088

Family Applications (1)

Application Number Title Priority Date Filing Date
JP29401094A Expired - Fee Related JP3628361B2 (ja) 1994-11-02 1994-11-02 デジタル処理装置

Country Status (1)

Country Link
JP (1) JP3628361B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001016712A1 (fr) * 1999-08-31 2001-03-08 Matsushita Electric Industrial Co., Ltd. Appareil de traitement du signal numerique et procede pour la commande de cet appareil
JP2007058330A (ja) * 2005-08-22 2007-03-08 Canon Inc マイクロプロセッサ及びi/oポート置換方法
CN111859829A (zh) * 2019-04-04 2020-10-30 北京比特大陆科技有限公司 控制算力板的方法、装置和设备以及介质、程序产品
CN113626364A (zh) * 2021-06-30 2021-11-09 海光信息技术股份有限公司 一种高速串行接口以及用于高速串行接口的转换电路

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001016712A1 (fr) * 1999-08-31 2001-03-08 Matsushita Electric Industrial Co., Ltd. Appareil de traitement du signal numerique et procede pour la commande de cet appareil
US6704853B1 (en) 1999-08-31 2004-03-09 Matsushita Electric Industrial Co., Ltd. Digital signal processing apparatus and method for controlling the same
JP2007058330A (ja) * 2005-08-22 2007-03-08 Canon Inc マイクロプロセッサ及びi/oポート置換方法
CN111859829A (zh) * 2019-04-04 2020-10-30 北京比特大陆科技有限公司 控制算力板的方法、装置和设备以及介质、程序产品
CN111859829B (zh) * 2019-04-04 2024-04-16 北京比特大陆科技有限公司 控制算力板的方法、装置和设备以及介质、程序产品
CN113626364A (zh) * 2021-06-30 2021-11-09 海光信息技术股份有限公司 一种高速串行接口以及用于高速串行接口的转换电路
CN113626364B (zh) * 2021-06-30 2024-05-31 海光信息技术股份有限公司 一种高速串行接口以及用于高速串行接口的转换电路

Also Published As

Publication number Publication date
JP3628361B2 (ja) 2005-03-09

Similar Documents

Publication Publication Date Title
US6226735B1 (en) Method and apparatus for configuring arbitrary sized data paths comprising multiple context processing elements
US6108760A (en) Method and apparatus for position independent reconfiguration in a network of multiple context processing elements
EP0102242B1 (en) Data processing apparatus
Bittner et al. Wormhole run-time reconfiguration
US5915123A (en) Method and apparatus for controlling configuration memory contexts of processing elements in a network of multiple context processing elements
US6122719A (en) Method and apparatus for retiming in a network of multiple context processing elements
US6745317B1 (en) Three level direct communication connections between neighboring multiple context processing elements
JPH06150023A (ja) マイクロコンピュータ及びマイクロコンピュータシステム
KR850004680A (ko) 집적 프로세서
KR100288170B1 (ko) 레지스터 화일군을 공유하는 연산 유닛을 갖춘 데이타 처리기
JPH0210592A (ja) 出力端子または入力端子として選択的に構成可能なピンを有する集積回路
US5734927A (en) System having registers for receiving data, registers for transmitting data, both at a different clock rate, and control circuitry for shifting the different clock rates
JPH08137661A (ja) デジタル処理装置
WO2002043075A1 (en) Edge triggered function clock generator and method of deriving a clock signal for executing instruction sequences in an i/o interface
JPH0312742A (ja) 中央演算処理装置
JP3851008B2 (ja) プロセッサおよびそれを有する半導体集積回路、処理装置ならびに命令処理方法
JPH0749854A (ja) マイクロコンピュータ素子及びそれを用いた マイクロコンピュータ装置
JPH04359323A (ja) マイクロコンピュータ
RU2180969C1 (ru) Процессор однородной вычислительной среды
Srini et al. Parallel DSP with memory and I/O processors
KR100243114B1 (ko) 상위수준 합성을 위한 트윈 래치를 갖는 분할 버스 구조
JP2594690B2 (ja) セット・リセット回路
JPH04286213A (ja) コンフィグレーション容易なプログラマブルロジックデバイス
JPS6043757A (ja) 1チツプのマイクロコンピユ−タ
US20090113083A1 (en) Means of control for reconfigurable computers

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040601

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040615

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040803

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20041207

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20041208

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313117

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20081217

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees