JPH07302255A - 半導体集積回路装置およびそのエミュレーション用プロセッサならびにエミュレータ - Google Patents

半導体集積回路装置およびそのエミュレーション用プロセッサならびにエミュレータ

Info

Publication number
JPH07302255A
JPH07302255A JP6096039A JP9603994A JPH07302255A JP H07302255 A JPH07302255 A JP H07302255A JP 6096039 A JP6096039 A JP 6096039A JP 9603994 A JP9603994 A JP 9603994A JP H07302255 A JPH07302255 A JP H07302255A
Authority
JP
Japan
Prior art keywords
data processing
bus
interrupt
cpu
input
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
JP6096039A
Other languages
English (en)
Other versions
JP3839068B2 (ja
Inventor
Naomiki Mitsuishi
直幹 三ッ石
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 JP09603994A priority Critical patent/JP3839068B2/ja
Publication of JPH07302255A publication Critical patent/JPH07302255A/ja
Application granted granted Critical
Publication of JP3839068B2 publication Critical patent/JP3839068B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Bus Control (AREA)
  • Microcomputers (AREA)

Abstract

(57)【要約】 【目的】 多数の割込によるデータ転送および使用者毎
の固有の処理を可能とし、かつ処理効率が向上できる半
導体集積回路装置、さらにこの半導体集積回路装置のデ
バック効率の向上が可能なエミュレータを提供する。 【構成】 シングルチップマイクロコンピュータであっ
て、CPU1/2、ROM1/2、RAM1/2、RA
MP、タイマ、パルス出力回路、SCI、A/D変換
器、IOP0〜IOP11、割込コントローラ、バスコ
ントローラ、クロック発振器の機能ブロックから構成さ
れ、これらの機能ブロックは、CPU1,ROM1およ
びRAM1がIAB1,IDB1、CPU2,ROM2
およびRAM2がIAB2,IDB2、RAMPがPA
B,PDBに接続され、このIAB1,IAB2および
PABと、IDB1,IDB2およびPDBとの独立し
たインタフェースによってCPU1とCPU2が並列に
動作可能となっている。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、半導体集積回路装置に
関し、たとえばシングルチップマイクロコンピュータに
おける多数の割込によるデータ転送および使用者毎の固
有の処理を可能とし、かつ処理効率を向上させることが
でき、さらにこのシングルチップマイクロコンピュータ
のデバック効率の向上が可能な半導体集積回路装置およ
びそのエミュレーション用プロセッサならびにエミュレ
ータに適用して有効な技術に関する。
【0002】
【従来の技術】たとえば、シングルチップマイクロコン
ピュータは、昭和59年11月30日、オーム社発行の
『LSIハンドブック』P540およびP541に記載
されるように、中央処理装置(CPU)を中心にしてプ
ログラム保持用のROM(リードオンリメモリ)、デー
タ保持用のRAM(ランダムアクセスメモリ)、および
データの入出力を行うための入出力回路などの機能ブロ
ックが一つの半導体基板上に形成されてなる。
【0003】このようなシングルチップマイクロコンピ
ュータに、ダイレクトメモリアクセスコントローラ(D
MAC)を内蔵し、CPUとは独立にデータ転送を内蔵
したものに、平成5年3月、(株)日立製作所発行『H
8/3003 ハードウェアマニュアル』または特願平
4−137954号がある。このDMACは、割込要求
によって起動でき、リピートモード、ブロック転送モー
ドなどを行うことができ、ステッピングモータの制御や
プリンタの印字データ制御に好適である。たとえば、最
大8チャネルの転送を行うことができる。
【0004】また、DMACの転送はCPUと独立して
いるために、データ転送に必要なサイクル数のみCPU
を停止するのみでよく、CPUは実行中の処理を継続で
きる。たとえば、バイトデータの転送、転送元・転送先
アドレスをインクリメントする場合、前記の例では、デ
ッドサイクル1ステートを含めてデータ転送6ステート
である。
【0005】
【発明が解決しようとする課題】ところが、前記のよう
なDMACにおいては、転送元アドレス、転送先アドレ
ス、転送カウンタ、制御レジスタを各チャネルに持つた
めに、多数のチャネルのデータ転送を行おうとすれば、
前記レジスタを多数組み設けねばならず、DMACの、
ひいては半導体集積回路装置全体の論理的・物理的規模
を増大させてしまう。さらに、規模の増大は製造費用を
増大させてしまう。すなわち、割込要因の全て、あるい
は大多数のデータ転送を行うことは困難である。
【0006】一方、このようなレジスタを、記憶密度が
高い汎用のRAM上に配置し、論理的・物理的規模の増
大を防いだデータ転送装置、いわゆるデータトランスフ
ァコントローラ(DTC)を内蔵したものに、昭和63
年12月、(株)日立製作所発行『H8/532 ハー
ドウェアマニュアル』などがある。このDTCでは、実
質的に全ての割込要因によってデータ転送を行うことが
できる。
【0007】しかしながら、転送情報を保持するレジス
タを汎用のRAM上に配置したために、データ転送に先
だって、このレジスタをDTCに読み込み、この読み込
んだ内容に従ってデータ転送を行い、さらにデータ転送
によって更新されたレジスタ情報をRAMに退避する必
要がある。この期間はCPUを停止しなければならず、
データ転送に比較して、大きな時間をレジスタの読み込
み・退避に費やしてしまう。
【0008】このため、シングルチップマイクロコンピ
ュータまたは半導体集積回路装置全体の処理効率を低下
させてしまう。たとえば、バイトデータの転送、転送元
・転送先アドレスをインクリメントする場合、前記の例
では、データ転送5ステートに対してレジスタの読み込
み・退避に30ステートを要し、合計35ステートの期
間CPUは停止することになる。
【0009】また、DMACあるいはDTCの動作の制
御は、制御レジスタの制御ビットの内容によって指定さ
れるものであり、転送モードや起動要因を選択できるの
みである。この制御ビットのビット数を増やせば、転送
データの加算(チェックサム)や、パリティ計算などを
行うことも可能であるが、使用者毎に固有の処理を行わ
せることは困難である。また、多様な処理を実現しよう
とすれば、これを制御する回路の論理的・物理的規模が
増加してしまう。
【0010】当然、CPUを利用して、データ転送に付
随する使用者毎の固有の処理を行うことができる。たと
えば、割込が発生したときに、主たる処理を中断して所
望の処理を行うものである。しかしながら、CPUが行
うべき主たる処理を中断しなければならなくなってしま
い、またCPUの内部状態の退避・復帰を行わなければ
ならないために、オーバヘッドが発生し、シングルチッ
プマイクロコンピュータ全体の処理性能を向上すること
ができなくなってしまう。
【0011】そこで、本発明の目的は、多数の割込によ
るデータ転送および使用者毎の固有の処理を可能とし、
かつ処理効率を向上させることができるシングルチップ
マイクロコンピュータまたは半導体集積回路装置を提供
することにある。
【0012】さらに、このシングルチップマイクロコン
ピュータのデバック効率を向上させることができる半導
体集積回路装置のエミュレーション用プロセッサならび
にエミュレータを提供するものである。
【0013】本発明の前記ならびにその他の目的と新規
な特徴は、本明細書の記述および添付図面から明らかに
なるであろう。
【0014】
【課題を解決するための手段】本願において開示される
発明のうち、代表的なものの概要を簡単に説明すれば、
以下のとおりである。
【0015】すなわち、本発明の半導体集積回路装置
は、第2のデータ処理装置を設け、第1のデータ処理装
置の使用する第1のバスと第2のデータ処理装置の使用
する第2のバスを分離可能とし、第1のデータ処理装置
のバス使用と第2のデータ処理装置のバス使用を同時に
行うことを可能とし、さらに第1のデータ処理装置と第
2のデータ処理装置のそれぞれの動作に必要な機能ブロ
ックまたはモジュールをそれぞれの第1または第2のバ
スによって接続し、特に第1のデータ処理装置と第2の
データ処理装置が実行すべきプログラムを格納可能な第
1の読み出し可能な記憶手段と第2の読み出し可能な記
憶手段を設け、第1のデータ処理装置が第1の読み出し
可能な記憶手段から、第2のデータ処理装置が第2の読
み出し可能な記憶手段からプログラムを読み出して動作
するようにしたものである。
【0016】また、第1、第2のデータ処理装置と、こ
れらに共通の読み出し可能な記憶手段をバスによって相
互に接続し、第1のデータ処理装置は、単位時間に実行
可能な命令より大きい量の命令をバスを使用して記憶手
段から読み出し、連続的にバスを使用して記憶手段を読
み出すことなく、第1のデータ処理装置の命令実行速度
の低下を最小限として第2のデータ処理装置が命令を記
憶手段から読み出すようにしたものである。
【0017】この場合に、割込要因のうち、第1の要因
は第1のデータ処理装置に、第2の要因は第2のデータ
処理装置に要求可能にするものであり、第1のデータ処
理装置のアドレス空間は第2のデータ処理装置のアドレ
ス空間を包含するようにするとよく、また入出力手段は
第1のデータ処理装置と第2のデータ処理装置からリー
ド/ライト可能とし、2つのデータ処理装置の動作を調
停する機能を設けるようにしたものである。
【0018】また、この半導体集積回路装置を評価する
ためのエミュレーション用プロセッサは、第1、第2の
データ処理装置が排他的に動作するバスをいずれのデー
タ処理装置が使用しているかを示す信号を出力し、第
1、第2のデータ処理装置を停止するための第1、第2
のブレーク割込入力端子を有するものである。
【0019】さらに、このプロセッサを搭載したエミュ
レータは、第1、第2のデータ処理装置の動作情報を同
時に記憶手段に蓄積するか、一方のデータ処理装置の動
作情報を選択的に記憶手段に蓄積するかをシステム開発
装置からの指定に基づいて選択する手段を有したり、ま
たは第1、第2のデータ処理装置にブレーク割込を要求
する条件をシステム開発装置からの指定に基づいて独立
に設定する手段を有するものである。
【0020】
【作用】前記した半導体集積回路装置によれば、2つの
データ処理装置に並立したバスによって独立した2つの
読み出し可能な記憶手段に格納した命令のリード可能に
したり、バスの幅を拡張してデータ処理装置が単位時間
に実行可能な命令数以上の命令をリード可能にしたり、
2つのデータ処理装置を並立的に動作可能な命令を供給
する機能を内蔵することにより、複数の記憶手段を同時
に選択可能とし、複数の記憶手段の同時書込みまたは同
時読み出しを行うことによって割込によるデータ処理の
チャネル数の制約をなくし、さらにデータ処理内容を任
意とすることができる。
【0021】また、第1、第2のデータ処理装置が同時
に動作することにより、シングルチップマイクロコンピ
ュータまたは半導体集積回路装置の処理速度を向上する
ことができる。
【0022】さらに、エミュレーション用プロセッサ、
およびこれを搭載したエミュレータによれば、第1のブ
レーク割込によって第1のデータ処理装置を停止し、ま
た第2のブレーク割込によって第2のデータ処理装置を
停止でき、このように2つのデータ処理装置を独立に停
止する割込を有することにより、デバック効率を向上す
ることができる。
【0023】
【実施例】以下、本発明の実施例を図面に基づいて詳細
に説明する。
【0024】(実施例1)図1は本発明の一実施例であ
るシングルチップマイクロコンピュータを示すブロック
図、図2は本実施例のシングルチップマイクロコンピュ
ータにおける全体のアドレスマップの説明図、図3はシ
ングルチップマイクロコンピュータのバスの接続状態の
ブロック図、図4は割込コントローラの概略ブロック
図、図5は割込要求ビットおよび割込許可回路の概略ブ
ロック図、図6はバスの動作タイミング図、図7は低消
費電力状態制御回路の概略ブロック図、図8は入出力ポ
ートを制御するレジスタ構成の説明図、図9は入出力ポ
ートの概略ブロック図、図10はPROMのアドレスマ
ップ、図11はPROMモードの主要部のブロック図、
図12はテストモードの主要部のブロック図、図13は
エミュレーション用プロセッサの概略ブロック図、図1
4はエミュレータの概略ブロック図、図15は本実施例
におけるシングルチップマイクロコンピュータの変形例
を示すブロック図である。
【0025】まず、図1により本実施例のシングルチッ
プマイクロコンピュータの構成を説明する。
【0026】本実施例のシングルチップマイクロコンピ
ュータは、中央処理装置(CPU1:第1のデータ処理
装置、CPU2:第2のデータ処理装置)、リードオン
リメモリ(ROM1:第1の読み出し可能な記憶手段、
ROM2:第2の読み出し可能な記憶手段)、ランダム
アクセスメモリ(RAM1、RAM2、RAMP)、タ
イマ、パルス出力回路、シリアルコミュニケーションイ
ンタフェース(SCI)、A/D変換器(A/D)、入
出力ポート(IOP0〜IOP11:データ入出力手
段)、割込コントローラ(割込制御手段)、バスコント
ローラ(バス制御手段)、クロック発振器の機能ブロッ
ク(またはモジュール)から構成され、一つの半導体基
板上に形成されている。
【0027】これらの機能ブロックは、内部バスによっ
て相互に接続される。内部バスはアドレスバス、データ
バスの他、リード信号、ライト信号を含み、さらにバス
サイズ信号あるいはシステムクロックを含んでもよい。
この内部アドレスバスには、IAB1(第1のバス)、
IAB2(第2のバス)、PAB(第3のバス)が存在
し、また内部データバスにはIDB1(第1のバス)、
IDB2(第2のバス)、PDB(第3のバス)が存在
する。この内部データバスIDB1、IDB2、PDB
は16ビット構成である。また、CPU1、CPU2の
命令は16ビット単位としている。
【0028】なお、CPU1、ROM1、RAM1はI
AB1、IDB1に接続され、CPU2、ROM2、R
AM2はIAB2、IDB2に接続されている点で相違
される。また、RAMPはPAB、PDBに接続され
る。このIAB1、IAB2、PABはバスコントロー
ラでインタフェースされ、同様にIDB1、IDB2、
PDBはバスコントローラでインタフェースされる。
【0029】また、PAB、PDBはバスコントロー
ラ、RAMP、タイマ、パルス出力回路、SCI、A/
D変換器、割込コントローラ、IOP0〜11に接続さ
れる。CPU1、CPU2のいずれか一方がPAB、P
DBを使用して、これらをリード/ライトできる。割込
コントローラは、タイマ、SCI、入出力ポートの出力
する割込信号を入力し、CPU1またはCPU2に割込
要求信号とベクタ番号を出力する。
【0030】入出力ポートは、外部バス信号、入出力回
路の入出力信号と兼用とされている。IOP0〜3はア
ドレスバス出力、IOP4、5はデータバス入出力、I
OP6はバス制御信号入出力信号と兼用されている。外
部アドレス、外部データは、それぞれこれらの入出力ポ
ートに含まれるバッファ回路を介してIAB1、IDB
1と接続されている。PAB、PDBは入出力ポートの
レジスタをリード/ライトするために使用し、外部バス
とは直接の関係はない。
【0031】このバス制御信号出力は、アドレスストロ
ーブ、ハイ/ロウデータストローブ、リードストロー
ブ、ライトストローブ、バスアクノリッジ信号などがあ
り、またバス制御入力信号にはウェイト信号、バスリク
エスト信号などがある。これらの入出力信号は図示はさ
れない。外部バス拡張を行うことは、動作モードなどで
選択され、これらの入出力ポートの機能も選択される。
【0032】また、IOP7はタイマ入出力、IOP8
はパルス出力、IOP9はSCI入出力、IOP10は
アナログ入力、IOP11は外部割込要求(IRQ)入
力と兼用されている。なお、タイマ、SCI、A/D変
換器とIOP7、IOP9、IOP10との入出力信号
は図示はされない。
【0033】そのほか、電源端子Vcc、Vss、アナ
ログ電源端子AVcc、AVss、リセット入力RE
S、スタンバイ入力STBY、割込入力NMI、クロッ
ク入力EXTAL、XTAL、動作モード入力MD0、
MD1、MD2などの入力端子がある。
【0034】パルス出力回路は、タイマから与えられる
トリガ信号に従って、図示はされないレジスタ(ND
R)に保持した内容をIOP8と兼用の端子から出力す
る。
【0035】次に、図2によりシングルチップマイクロ
コンピュータのアドレスマップを説明する。
【0036】たとえば、CPU1は4Gバイトのアドレ
ス空間、CPU2は64kバイトのアドレス空間を持
つ。また、ROM1、RAM1はCPU1のアドレス空
間上にのみ、ROM2、RAM2はCPU2のアドレス
空間上にのみ存在する。斜線部で示されるRAMP、お
よびタイマ、パルス出力回路、SCI、A/D変換器、
IOP0〜11、割込コントローラの各機能ブロックの
アドレス、すなわち内部レジスタは、1つの物理的アド
レスに対し、それぞれのCPUのアドレス空間上で固有
の論理的アドレスを有する。
【0037】このアドレスは、それぞれアドレスで対応
付けられており、具体的にはCPU2のアドレスの上位
にH’FFFFを付加したアドレスがCPU1のアドレ
スになる。たとえば、RAMPの先頭アドレスはCPU
1ではH’FFFFFB80、CPU2ではH’FB8
0である。
【0038】すなわち、CPU1はROM1、RAM
1、RAMP、内部レジスタをリード/ライトでき、C
PU2はROM2、RAM2、RAMP、内部レジスタ
をリード/ライトできる。
【0039】次に、図3により、このシングルチップマ
イクロコンピュータのアドレスバス、データバスの接続
状態を説明する。
【0040】図3において、I/Oには図1のタイマ、
パルス出力回路、SCI、A/D変換器、IOP0〜1
1、割込コントローラの各機能ブロックを含む。クロッ
ク発振器はバスと接続されていないので省略する。
【0041】アドレスバス、データバスとして、CPU
1、ROM1、RAM1、外部を接続するIAB1、ま
たCPU2、ROM2、RAM2を接続するIAB2、
さらにRAMP、I/Oを接続するPABがある。この
ようなアドレスバス、データバスはバスコントローラ
(BSC)でインタフェースされている。
【0042】たとえば、CPU1がROM1からプログ
ラムをリードする場合、またはRAM1とのデータのリ
ード/ライトする場合、IAB1、IDB1を使用して
動作が行われる。このCPU1はPAB、PDBを使用
しない。
【0043】一方、CPU2がROM2からプログラム
をリードする場合、またはRAM2とのデータのリード
/ライトする場合、IAB2、IDB2を使用して動作
が行われる。このCPU2はPAB、PDBを使用しな
い。このとき、CPU1とCPU2は互いに独立したバ
スを用いて動作し、並列に動作することができる。
【0044】また、CPU1とCPU2のいずれか一方
が、RAMPまたはI/Oとのデータのリード/ライト
を行う場合、バス権調停が行われる。この場合に、CP
U2によるバス権要求がCPU1によるバス権要求より
優先される。このバス権調停は、IAB1/IAB2に
示されるアドレスとCPU1/2が出力するコマンド信
号によって、バスコントローラが行う。コマンド信号に
はリード要求、ライト要求、サイズ信号等を含む。
【0045】一方がRAMPまたはI/Oとのデータの
リード/ライト中に、他方がRAMPまたはI/Oとの
データのリード/ライトを行おうとすると、後者は前者
のリード/ライトが終了するまで、バスコントローラか
ら待機信号を与えられ、待機状態とされる。たとえば、
CPU2がRAMPまたはI/Oとのデータのリード/
ライトを行っている間、CPU1はROM1、RAM1
のリード/ライトを行うことができる。
【0046】さらに、CPU1とCPU2が、同時にR
AMPまたはI/Oとのデータのリード/ライトを行お
うとした場合、一方のCPUは停止状態にすることにな
るが、プログラムをRAMPまたはI/Oには配置しな
いことによって、RAMPまたはI/Oとのデータのリ
ード/ライトをデータのみに限定して頻度を低下するこ
とができる。
【0047】この場合に、リードした命令に基づいてデ
ータのリード/ライトを行うのであるから、命令のリー
ドとデータのリード/ライトの回数の比は1/2以上に
はならない。また、データのリード/ライト命令で全て
のプログラムが構成されることはないから、前記の比は
さらに小さくできる。一般的には1/4〜1/5程度で
あると考えられる。この実施例中に記載されるプログラ
ムによっても同様であることが示される。従って、CP
U1とCPU2の並列動作性を高めることができる。
【0048】このような並列動作を有効に利用するため
には、CPU1が全体的な設定と、ROM1、RAM1
あるいは外部のデバイスを用いた主たるプログラム処理
を行い、CPU2がI/Oの逐次的な制御を行うように
するとよい。また、CPUの命令をROM1またはRO
M2に配置し、作業領域をRAM1またはRAM2に配
置するとよい。
【0049】次に、図4により割込コントローラを詳細
に説明する。
【0050】たとえば、割込要因には内部割込、外部割
込の2種類があり、それぞれ割込要因フラグを有する。
この内部割込の要因フラグは、タイマ、SCI、A/D
変換器の入出力回路が所定の状態になったときに“1”
にセットされ、また外部割込の要因フラグは、外部割込
入力端子が所定のレベルになったとき、または所定の信
号変化が発生したときに“1”にセットされる。この割
込要因フラグは、CPU1/2のライト動作によって
“0”にクリアされる。
【0051】割込要因フラグの各ビットの出力は、割込
許可回路に入力され、この割込許可回路には、さらに割
込許可レジスタの内容、すなわち割込許可ビットが入力
される。この割込許可レジスタは、CPU1/2からリ
ード/ライト可能なレジスタで、対応する割込を許可す
るか、禁止するかを選択する。
【0052】たとえば、割込要因フラグが“1”にセッ
トされ、割込許可ビットが“1”にセットされている
と、割込が要求される。すなわち、割込許可回路は、対
応する割込要因フラグと割込許可ビットとを入力とした
論理積回路で構成される。
【0053】割込許可回路の出力は、CPU選択回路に
入力され、このCPU選択回路には、さらに割込選択レ
ジスタIRQSELの内容が入力される。この割込選択
レジスタは、割込が要求されたとき、CPU1またはC
PU2のいずれに割込を許可するかを選択する。
【0054】たとえば、割込選択レジスタのビットが
“1”にセットされていると、CPU2に割込が要求さ
れる。割込選択レジスタのビットが“0”にクリアされ
ていると、CPU1の割込が要求される。すなわち、C
PU選択回路は、対応する割込信号と割込選択ビットの
論理積回路、および割込信号と割込選択ビットの反転信
号の論理積回路で構成される。前者の論理積回路の出力
がCPU2割込要求信号とされ、後者の論理積回路の出
力がCPU1割込要求信号とされる。
【0055】CPU選択回路の出力は、CPU1割込要
求とCPU2割込要求が独立に、優先順位判定回路に入
力され、この優先順位判定回路には、さらにプライオリ
ティレジスタの出力が入力される。このプライオリティ
レジスタは割込要因のグループ毎に、たとえば2レベル
の優先順位を設定する。
【0056】この場合に、CPU1/2割込要求のそれ
ぞれについて優先順位を判定する。この判定の結果、優
先順位の最高のものが選択され、ベクタ番号が生成さ
れ、CPU1/2割込要求のそれぞれのベクタ番号が出
力される。
【0057】このCPU1/2割込要求信号、ベクタ番
号はマスクレベル判定回路に入力され、このマスクレベ
ル判定回路には、さらに対応するCPU1/2の割込マ
スクビットが入力される。ここで、要求された割込がC
PUの割込マスクレベル以下であれば保留される。そし
て、CPU1/2のそれぞれに対し、割込要求信号とベ
クタ番号が出力される。なお、CPU1は2ビットのマ
スクビットを持つが、CPU2は1ビットのマスクビッ
トを持つ。
【0058】さらに、それぞれのCPUに対する割込要
求信号が活性状態になると、このCPUは実行中の命令
の終了時点で割込例外処理を開始し、ベクタ番号に対応
するベクタアドレスから分岐先アドレスを取り出し、割
込処理ルーチンへ分岐する。
【0059】このような優先順位判定や割込マスクレベ
ルについては、前記平成5年3月、(株)日立製作所発
行『H8/3003 ハードウェアマニュアル』または
特願平4−137955号などによって公知であるの
で、詳細な説明は省略する。
【0060】また、CPU1またはCPU2のいずれに
要求されるかによらず、ベクタ番号は一定である。しか
し、アドレス空間の大きさに対応して、ベクタアドレス
は、CPU1では4バイト単位、CPU2では2バイト
単位とされる。
【0061】ノンマスカブル割込NMIは、1本の端子
NMIから入力されるが、2つのCPUに同時に割込を
要求できる。これは対応する割込許可ビットを持たな
い。このNMI割込は、マスク不可能な特性上、シング
ルチップマイクロコンピュータまたは半導体集積回路の
暴走時などに、CPUの処理を強制的に停止させるため
に用いるため、1本のNMI端子によって、CPU1お
よびCPU2の両方にNMI割込を要求することは都合
がよい。少なくとも2本の端子にするのに比較して、端
子1本を節約して、入出力ポートなどとして有効に使用
することができる。
【0062】また、割込要因フラグには、CPU2がラ
イト可能な割込要求ビットを持つ。この割込許可ビット
を“1”にセットすると、CPU1に割込を要求でき
る。また、割込要求ビットはCPU2から“1”にセッ
トすることが可能であり、CPU1からは“0”にクリ
アすることができる。CPU1が“0”にクリアする場
合は、事前に“1”の状態をリードした後、“0”をラ
イトする必要がある。
【0063】次に、割込コントローラにおいて、図5に
より割込要求ビットと割込許可回路を詳細に説明する。
【0064】たとえば、2つのフリップフロップFF
1、FF2を含む。このFF1は、割込要求ビットを構
成し、クリア信号CLRとしてリセット信号RESET
が入力される。また、セット信号Sには論理積回路AN
D1の出力が入力され、リセット信号Rには論理積回路
AND3Aの出力が入力され、出力Qは、論理積回路A
ND4を介して割込要求として出力されるほか、論理積
回路AND2、出力バッファに入力される。
【0065】論理積回路AND1には、CPU2のバス
権信号、レジスタライト信号、および内部データバスの
所定のビットが入力される。なお、レジスタリード/レ
ジスタライト信号は、リード信号/ライト信号と、アド
レスをデコードしてこのレジスタが選択されたことを示
す信号との論理積で生成される信号とする。たとえば、
レジスタライト信号は、CPU2またはCPU1がこの
割込要求ビットのアドレスにライトしたとき、活性状態
“1”となる。
【0066】FF2は、割込要求ビットの制御を行い、
クリア信号CLRとしてリセット信号RESETが入力
される。また、セット信号Sには論理積回路AND2の
出力が入力され、リセット信号Rには論理積回路AND
3Aの出力が入力され、出力Qは論理積回路AND3A
に入力される。
【0067】論理積回路AND2には、FF1の出力、
CPU1のバス権信号、およびレジスタリード信号が入
力される。
【0068】論理積回路AND3Aには、FF2の出
力、および内部データバスの所定のビットの反転、およ
びAND3Bの出力が入力される。このAND3Bに
は、CPU1のバス権信号、レジスタライト信号が入力
される。
【0069】論理積回路AND4には、FF1の出力、
および、図示はされない割込許可レジスタの所定のビッ
トの出力である割込許可信号を入力し、出力は割込要求
信号とされる。なお、選択ビットは設けられず、必ずC
PU1に割込を要求するとよい。
【0070】出力バッファは、FF1の出力をデータと
して入力し、レジスタリード信号をクロック信号として
入力する。この出力は内部データバスの所定のビットに
結合される。
【0071】従って、CPU2がこの割込要求ビットの
アドレスに“1”をライトしたとき、AND1の出力が
“1”となって、FF1が“1”にセットされる。この
ように、割込許可レジスタの所定のビットが“1”にセ
ットされていると、CPU1に割込が要求される。
【0072】さらに、CPU1がこの状態で割込要求ビ
ットのアドレスをリードすると、出力バッファを介して
データバスに割込要求ビットの内容を出力するととも
に、AND2の出力が“1”となって、FF2が“1”
にセットされる。
【0073】続いて、CPU1が割込要求ビットに
“0”をライトすると、AND3Aの出力が“1”とな
って、FF1およびFF2が“0”にクリアされる。同
様に、CPU1がライト可能な割込要求ビットを持ち、
この割込許可ビットはCPU2からのみライトでき、C
PU2に割込を要求できる。
【0074】いわゆるリードモディファイライト命令で
は、リードとライトの間にバスを解放しないようにする
とよい。たとえば、ビットセット命令は、指定されたア
ドレスのデータをバイトサイズでCPUに取込み、CP
U内部で指定された1ビットを“1”にセットし、バイ
トサイズでデータをライトするものである。
【0075】このリードとライトの間はPAB、PDB
を他方のCPUに解放しないようにする。このバスの解
放を禁止する信号は、CPU1/2がバスコントローラ
に出力する前記コマンド信号に含めることができる。
【0076】次に、図6により内部バスの動作タイミン
グの一例を説明する。
【0077】本実施例のシングルチップマイクロコンピ
ュータは、たとえばシステムクロックφに同期して動作
し、IAB1/2はφの反転信号であるφ#に同期して
出力され、またCPU1/2のROM1/2およびRA
M1/2に対するリードは1ステートで行われる。
【0078】まず、IAB1/2はφ#に同期して1ス
テート出力され、特に制限はされないものの、ROM1
/2およびRAM1/2の中でφに同期してラッチされ
る。これに対応するリードデータはφ#に同期して出力
され、φ#が活性状態の期間にCPUに取り込まれる。
たとえば、T1のφ#に同期してIAB1/2に出力さ
れたアドレスに対するデータはT2のφ#が活性状態の
期間に、それぞれCPU1/2に取り込まれる。
【0079】一方、RAMPに対するリード/ライトは
2ステート、I/Oに対するリード/ライトは3ステー
トで行われる。このφ#に同期したIAB1/2は、バ
スコントローラでφに同期化される。
【0080】この場合に、CPU1のプログラムは以下
の通りとする。なお、命令の表記方法は、平成元年7
月、(株)日立製作所発行『H8/300シリーズ プ
ログラミングマニュアル』に記載のCPUと同様とす
る。
【0081】CMP.B #CODE,R0L BEQ N1 BTST #0,@PORT BNE N2 たとえば、CMP、BEQ、BNE命令は2バイト長、
TST命令は4バイト長とする。
【0082】始めに、アドレスnからCMP命令をリー
ドする。このCMP命令の実行を開始すると、まずアド
レスn+2からBEQ命令をリードするとともに、内部
でイミディエイトデータCODEと汎用レジスタR0L
の内容を比較して、コンディションコードに反映する。
【0083】さらに、BEQ命令の実行を開始すると、
まず、アドレスn+4からBTST命令をリードする。
次に、分岐先のアドレスN1から命令をリードするとと
もに、前記比較結果が一致しているかを判定する。一致
していなければ、アドレスN1の命令は無視して、すで
にリード済みのBTST命令の実行を行う。
【0084】続いて、BTST命令の第2ワードをリー
ドする。このBTST命令を実行すると、絶対アドレス
PORTで指定されるI/Oから、PAB/PDBを使
用して、バイトサイズでデータをリードする。次にアド
レスn+6からBNE命令をプリフェッチする。
【0085】また、CPU2のプログラムは以下の通り
とする。
【0086】BCLR #RDRF,@SSR たとえば、BCLR命令は4バイト長とする。
【0087】始めに、アドレスm、アドレスm+2から
BCLR命令をリードする。このBCLR命令の実行を
開始すると、まず絶対アドレスSSRで指定されるI/
Oから、PAB/PDBを使用してバイトサイズでデー
タをリードする。
【0088】続いて、アドレスm+4から次の命令をプ
リフェッチするとともに、内部でリードデータのイミデ
ィエイトデータRDRFで指定されるビットを“0”に
クリアする。このデータを、絶対アドレスSSRで指定
されるI/Oへ、PAB/PDBを使用してライトす
る。次の命令の実行を開始し、さらにアドレスm+6か
ら次の命令をプリフェッチする。
【0089】T1では、CPU1/2のROM1/2か
らの命令フェッチが行われ、IAB1/2にアドレスが
出力される。
【0090】T2では、ROM1/2からIDB1/2
に読み出された命令コード(CMP命令、BCLR命令
の第1ワード)をCPU1/2がそれぞれ取り込むとと
もに、次の命令フェッチのアドレスがIAB1/2に出
力される。
【0091】T3では、ROM1/2からIDB1/2
に読み出された命令コード(BEQ命令、BCLR命令
の第2ワード)をCPU1/2がそれぞれ取り込むとと
もに、CPU1は次の命令フェッチのアドレスを、CP
U2はアドレスSSRを、それぞれIAB1/2に出力
する。
【0092】この場合に、PAB/PDBを使用するの
がCPU2だけなので、CPU2のPAB/PDBの使
用が許可される。ここで、SCIのリードが3ステート
必要であるため、CPU2待機信号がハイレベルにな
る。
【0093】T4では、バス権信号がロウレベルになっ
て、CPU2のPAB/PDBの使用を表示する。IA
B2の内容がPABに出力されて、SCIのレジスタS
SRの内容がリードされる。このリードデータはT6で
得られる。
【0094】この場合に、ROM1からIDB1に読み
出された命令コード(BTST命令の第1ワード)をC
PU1が取り込むとともに、CPU1は分岐先アドレス
N1をIAB1に出力する(BTST命令の第2ワー
ド)。
【0095】T5では、ROM1からIDB1に読み出
された命令コードをCPU1が取り込むが、これは分岐
条件が不成立で実行されない。先にフェッチ済みのBT
ST命令の第1ワードが有効になる。この場合に、CP
U1は次の命令フェッチのアドレスをそれぞれIAB1
に出力する。
【0096】T6では、SCIのレジスタSSRから読
み出されたデータをPDB、IDB2を介してCPU2
が取り込む。また、CPU2待機信号がロウレベルにな
り、次の命令フェッチのアドレスをIAB2に出力す
る。
【0097】この場合に、CPU1はアドレスPORT
をIAB1に出力し、またCPU2のPAB/PDBの
使用が終了しているので、CPU1のPAB/PDBの
使用が許可される。ここで、PORTのリードが3ステ
ート必要であるため、CPU1待機信号がハイレベルに
なる。
【0098】T7では、バス権信号がハイレベルになっ
て、CPU1のPAB/PDBの使用を表示する。IA
B1の内容がPABに出力されて、入出力ポートのレジ
スタPORTの内容がリードされる。このリードデータ
はT9で得られる。
【0099】この場合に、CPU1待機信号がロウレベ
ルになり、次の命令フェッチのアドレスをIAB1に出
力し、またCPU2はアドレスSSRをIAB2に出力
する。ここで、PAB/PDBをCPU1が使用してい
るので、CPU2の動作は保留され、CPU2待機信号
がハイレベルになる。
【0100】T8では、CPU2はアドレスSSRにラ
イトすべきデータをIDB2に出力する。
【0101】T9では、入出力ポートのレジスタPOR
Tから読み出されたデータをPDB、IDB2を介して
CPU1が取り込む。このCPU1は次の命令フェッチ
のアドレスをIAB1に出力する。この場合に、CPU
1待機信号がロウレベルになり、次の命令フェッチのア
ドレスをIAB1に出力する。
【0102】T10では、ROM1からIDB1に読み
出された命令コード(BNE命令)をCPU1が取り込
む。次の命令フェッチのアドレスをIAB1に出力す
る。この場合に、バス権信号がロウレベルになって、C
PU2のPAB/PDBの使用を表示する。IAB2の
内容がPABに出力されて、IDB2の内容がSCIの
レジスタSSRにライトされる。
【0103】T11、T12でライト動作が行われる。
この場合に、T12でCPU2待機信号がロウレベルに
なり、次の命令フェッチのアドレスをIAB2に出力す
る。また、CPU1は上記同様の動作を繰り返す。
【0104】なお、CPU1は、外部CPUとすること
もでき、共通部分を外部のCPUが周辺機能としてリー
ド/ライトすることができる。また、CPU2が共通部
分をリード/ライトする場合には、外部CPUにウェイ
ト信号を活性状態にして、待機させる。このとき、シン
グルチップマイクロコンピュータが外部CPUに対する
割込信号を出力する。
【0105】続いて、データ転送のプログラム例を以下
に示す。ここでは、SCIの受信データのチェックサム
を行い、結果は内蔵RAM2上に配置した作業用アドレ
スSUMに格納するものとする。また、受信データ数は
内蔵RAM2上に配置した作業用アドレスSUMに格納
されているものとする。
【0106】その他、転送回数を記憶する作業用アドレ
スCNT、およびSCIの受信データレジスタRDR、
ステータスレジスタSSR、割込コントローラの割込選
択レジスタIRQSELを使用する。
【0107】 PUSH R0 (1) MOV.B @RDR,R0L (2) MOV.B @SUM,R0H (3) ADD.B R0L,R0H (4) MOV.B R0H,@SUM (5) MOV.B @CNT,R0H (6) DEC.B R0H (7) MOV.B R0H,@CNT (8) BEQ L1 (9) BCLR #RDRF,@SSR (10) BRA L2 (11) L1:BNOT #RXI,@IRQSEL (12) L2:RTE (13) 始めに、CPU2に受信完了割込RXIが要求され、割
込ルーチンに分岐する。まず、汎用レジスタR0をスタ
ックに退避する(1)。そして、SCIの受信データレ
ジスタRDRの内容を汎用レジスタR0の下位8ビット
R0Lにリードする(2)。
【0108】また、内蔵RAM2上に配置した作業用ア
ドレスSUMの内容を汎用レジスタR0の上位8ビット
R0Hにリードする(3)。そして、R0HとR0Lの
内容を加算する(4)。この加算結果をアドレスSUM
にライトする(5)。
【0109】さらに、内蔵RAM2上に配置した作業用
アドレスCNTの内容を汎用レジスタR0Hにリードす
る(6)。そして、R0Hの内容をデクリメント(−
1)する(7)。このデクリメント結果をアドレスCN
Tにライトする(8)。
【0110】この内容が“0”であれば、L1に分岐し
(9)、割込選択レジスタIRQSELの受信完了割込
RXIに対応するビットを反転する(12)。このと
き、割込要求フラグRDRFが“1”にセットされたま
まなので、CPU1に受信完了割込RXIが要求され
る。そして、割込ルーチンから復帰する(13)。
【0111】また、前記アドレスCNTにライトされた
内容が“0”でなければ(9)、割込要求フラグRDR
Fを“0”にクリアする(10)。そして、分岐命令を
実行した(11)後、割込ルーチンから復帰する(1
3)。
【0112】また、以下のプログラム例により、マルチ
プロセッサ受信のアドレス判定を行うことができる。な
お、この場合にはアドレス判定の結果、受信したアドレ
スが自身のアドレスに一致していれば、受信完了割込の
要求先をCPU1に変更するものとする。
【0113】 PUSH R0 (1) MOV.B @RDR,R0L (2) CMP.B #ID,R0L (3) BEQ L1 (4) BCLR #RDRF,@SSR (5) BRA L2 (6) L1:BNOT #RXI,@IRQSEL (7) L2:RTE (8) 始めに、CPU2に受信完了割込RXIが要求され、割
込ルーチンに分岐する。まず、汎用レジスタR0をスタ
ックに退避する(1)。そして、SCIの受信データレ
ジスタRDRの内容を汎用レジスタR0の下位8ビット
R0Lにリードする(2)。
【0114】この内容を、マルチプロセッサ受信の自分
のIDと比較する(3)。この結果、一致していれば、
L1に分岐し(4)、割込選択レジスタIRQSELの
受信完了割込RXIに対応するビットを反転する
(7)。このとき、割込要求フラグRDRFが“1”に
セットされたままなので、CPU1に受信完了割込RX
Iが要求される。そして、割込ルーチンから復帰する
(8)。
【0115】また、自分のIDと比較した結果が一致し
ていなければ(4)、割込要求フラグを“0”にクリア
する(5)。そして、分岐命令を実行した(6)後、割
込ルーチンから復帰する(8)。
【0116】なお、この場合に1本の割込で複数の転送
を行うことができる。たとえば、ステッピングモータを
駆動して、かつこの加速/減速を行うことができる。ま
た、タイマのコンペアマッチ割込OCMI毎に、ポート
から出力するデータを更新してモータを駆動する。さら
に、コンペアレジスタの内容を更新して、データ出力の
周期を変更して加速/減速を行うことができる。
【0117】この状態の表示に、内蔵RAM2上に配置
した作業用アドレスUPDWの内容を用いる。このビッ
ト6が“0”にクリアされているときに定速動作であ
り、“1”にセットされているときは加速または減速、
すなわちビット7が“0”にクリアされているときは減
速、“1”にセットされているときには加速動作であ
る。なお、初期値はビット6、7ともに“1”にセット
しておく。
【0118】また、パルス出力回路のネクストデータレ
ジスタNDRに次の出力パルスを格納するものとし、タ
イマの定数レジスタOCRにパルス出力周期を設定する
ものとする。タイマカウンタが定数レジスタの値に一致
すると、図示はされないコンペアマッチ信号が発生し、
NDRの内容がIOP8と兼用の端子から出力される。
同時にタイマカウンタの値は0にクリアされる。このN
DRは4ビットとする。
【0119】このようなパルス出力については、特願平
4−117969号と同様とする。
【0120】 PUSH R0 (1) MOV.B @NDR,R0L (2) ROTL.B R0L (3) BLD #4、R0L (4) BST #0,R0L (5) MOV.B R0L,@NDR (6) 始めに、CPU2にコンペアマッチ割込OCMIが要求
され、割込ルーチンに分岐する。まず、汎用レジスタR
0をスタックに退避する(1)。そして、ネクストデー
タレジスタNDRの内容を汎用レジスタR0の下位8ビ
ットR0Lにリードする(2)。
【0121】この内容を回転する(3)。ここでは、4
ビット単位の回転とするために、回転後のビット4をキ
ャリフラグに格納し(4)、このキャリフラグをビット
0に格納する(5)。この4ビット単位の回転が終了し
た結果をNDRに書き込む(6)。この内容が次のコン
ペアマッチで端子から出力される。
【0122】 BTST #6,@UPDW (7) BEQ L3 (8) MOV.W @OCR,R0 (9) BTST #7,@UPDW (10) BNE L1 (11) SUB.W #CNST,R0 (12) BRA L2 (13) L1:ADD.W #CNST,R0 (14) L2:MOV.W R0,@OCR (15) 続いて、アドレスUPDWのビット6の内容を検査し
(7)、この内容が“0”(定速動作)であれば、L3
に分岐し(8)、定数レジスタOCRの内容は保持され
る。また、“0”でなければ、定数データレジスタOC
Rの内容を汎用レジスタR0にリードする(9)。
【0123】さらに、アドレスUPDWのビット7の内
容を検査し(10)、この内容が“0”(減速動作)で
あれば、L1に分岐し(11)、“0”でなければ(加
速動作)、定数値CNSTを汎用レジスタR0から減算
し(12)、L2に分岐する(13)。このL1では定
数値CNSTを汎用レジスタR0に加算し(14)、L
3では汎用レジスタR0の内容を定数レジスタOCRに
書き込む(15)。
【0124】 L3:MOV.B @CNT,R0H (16) DEC.B R0H (17) BNE L5 (18) BTST #6,@UPDW (19) BEQ L6 (20) BTST #7,@UPDW (21) BEQ L4 (22) BCLR #6,@UPDW (23) MOV #CNT1,R0H (24) BRA L5 (25) L4:BSET #6,@UPDW (26) BCLR #7,@UPDW (27) MOV #CNT2,R0H (28) L5:MOV.B R0H,@CNT (29) BRA L7 (30) L6:BNOT #OCMI,@IRQSEL (31) L7:RTE (32) 続いて、アドレスCNTの内容を汎用レジスタR0Hに
リードする(16)。この内容R0Hの内容をデクリメ
ント(−1)する(17)。この内容が“0”でなけれ
ば、L5に分岐し(18)、“0”であれば、アドレス
UPDWのビット6の内容を検査する(19)。
【0125】さらに、この内容が“0”(定速動作)で
あれば、L6に分岐し(20)、“0”でなければ、ビ
ット7の内容を検査し(21)、さらにこの内容が
“0”(減速動作)であれば、L6に分岐し(22)、
“0”でなければ(加速動作)、アドレスUPDWのビ
ット6を“0”にクリアして、定速動作に遷移し(2
3)、低速動作の回転数CNT1をR0Hに設定する
(24)。そして、L5に分岐する(25)。
【0126】L4では、減速動作に遷移するため、アド
レスUPDWのビット6を“1”にセット(26)し、
ビット7を“0”にクリアする(27)。また、減速動
作の回転数CNT2をR0Hに設定する(28)。
【0127】さらに、L5では、汎用レジスタR0Hの
内容をアドレスCNTにライトする(29)。そして、
分岐命令を実行(30)した後、割込ルーチンから復帰
する(32)。
【0128】そして、減速動作の終了後、L6では割込
選択レジスタIRQSELのにコンペアマッチ割込OC
MIに対応するビットを反転する(31)。このとき、
割込要求フラグOCMFが“1”にセットされたままな
ので、CPU1に受信完了割込RXIが要求される。そ
して、割込ルーチンから復帰する(32)。
【0129】また、起動は、前記割込要求レジスタを用
いて、CPU1からCPU2に割込を要求して、たとえ
ばRAMP上の所定のアドレスにコマンドを配置して指
示をすればよい。
【0130】以上により、たとえば特願平4−1379
54号または特願平4−117969号に記載の方法に
比べて、RAMにデータを展開しておく必要がなく、R
AMの使用量を節約できる。
【0131】また、CPU2を、割込に対応したデータ
処理に主として使用すれば、CPU2は常に処理すべき
プログラムがあるとは限らない。そこで、1つの割込に
よるデータ処理が終了した時点で、処理すべきプログラ
ムがなければ、CPU2は低消費電力状態、いわゆるス
リープ状態にするのがよい。
【0132】このスリープ状態では、専用のSLEEP
命令を実行することにより遷移する。そして、CPU2
に供給されるクロックが停止される。また、割込が要求
されると、スリープ状態は解除される。
【0133】次に、図7により低消費電力状態制御回路
を詳細に説明する。
【0134】なお、この低消費電力状態制御回路は、た
とえばクロック発振器内に構成され、この低消費電力状
態は3個のフリップフロップSLPF1、SLPF2、
SSBYFで制御される。
【0135】フリップフロップSLPF1は、CPU1
がSLEEP命令を実行すると、セット状態となる。こ
のとき、CPU1はスリープ状態となる。また、CPU
1に対する割込要求が発生するとクリア状態となる。
【0136】フリップフロップSLPF2は、CPU2
がSLEEP命令を実行すると、セット状態となる。こ
のとき、CPU2はスリープ状態となる。また、CPU
2に対する割込要求が発生するとクリア状態となる。
【0137】フリップフロップSSBYFは、図示はさ
れない制御ビットSSBYを“1”にセットした状態
で、一方のCPUがスリープ状態で、他方のCPUがS
LEEP命令を実行するとセット状態となる。このソフ
トウェアスタンバイ状態では、クロック発振器を始め、
全ての機能の動作が停止する。内部はリセット状態とな
る。
【0138】ただし、規定の電圧が与えられている限
り、RAM1、RAM2、RAMPの内容は保持され
る。また、入出力ポートの状態も保持される。そして、
NMI割込要求が発生するとクリア状態となる。なお、
内部はリセット状態となるためにNMI以外の割込要求
は発生しない。
【0139】このソフトウェアスタンバイ状態に遷移す
るためには、一方のCPUがSSBYビットを“1”に
セットし、SLEEP命令を実行すればよい。他方のC
PUの状態に応じて、直ちにソフトウェアスタンバイ状
態に遷移するか、一旦スリープ状態に遷移した後、他方
のCPUがSLEEP命令を実行した後にソフトウェア
スタンバイ状態に遷移するかが自動的に選択される。こ
のため、プログラムを作成する場合に、相互の動作状態
を確認する必要がなく、プログラムの作成効率を向上す
ることができる。
【0140】また、割込処理を開始したとき、直前が動
作中であったか、スリープ状態であったかを示すビット
を設けるとよい。この動作中に割込を受け付けた場合に
は、CPUの内部のレジスタの内容を退避しなければな
らないが、スリープ中に割込を受け付ければ、CPUの
内部のレジスタには作業中のデータはないので退避する
必要がない。この退避動作および処理終了時の復帰動作
を行わなければ、高速化を行うことができる。
【0141】さらに、入出力ポートは、いずれのCPU
からライト可能にするか選択可能にする。
【0142】次に、図8により入出力ポートのレジスタ
を詳細に説明する。
【0143】この入出力ポートのレジスタは、データデ
ィレクションレジスタ(DDR)、データレジスタ(D
R)、ポート制御レジスタ(PSEL)からなる。
【0144】DDRは、ライト専用レジスタであり、
“0”にクリアされているときに入力、“1”にセット
されているときには出力となる。
【0145】DRは、出力データを格納する。このDD
Rを“1”にセットすると、DRの内容が出力される。
リード時にはDRの内容または端子の状態が読み出され
る。すなわち、DDRが“0”にクリアされているとき
は端子の状態、“1”にセットされているときにはDR
の内容が読み出される。
【0146】PSELが、各入出力端子の制御をいずれ
のCPUで行うかを選択する。このポート制御レジスタ
(PSEL)の制御ビットは、データレジスタ(DR)
とデータディレクションレジスタ(DDR)のビットを
共通に制御する。PSELが“0”にクリアされている
ときはCPU1によって、“1”にセットされていると
きにはCPU2によってライトが行われる。
【0147】なお、ポートにプルアップMOSを内蔵し
たり、2重出力バッファとしたりする場合、これらの制
御を行うレジスタも、PSELで共通に制御すればよ
い。このようなレジスタの例は、前記平成5年3月、
(株)日立製作所発行『H8/3003 ハードウェア
マニュアル』P263〜P306、P419〜P445
に記載されている。
【0148】次に、図9により入出力ポートを詳細に説
明する。
【0149】本実施例の入出力ポートにおいては、デー
タディレクションレジスタ(DDR)、データレジスタ
(DR)、ポート制御レジスタ(PSEL)はフリップ
フロップで構成される。いずれも、内部データバスの所
定のビットをデータ入力(D)とし、リセット信号(R
ESET)をクリア入力(CLR)としている。
【0150】DDRの入力クロック(C)は、論理積回
路AND1の出力である。この出力(Q)は、出力バッ
ファOBUFの制御信号およびセレクタSEL1の選択
信号とされる。
【0151】DRの入力クロック(C)は、論理積回路
AND2の出力である。この出力(Q)は出力バッファ
OBUFのデータ入力およびセレクタ1のデータ入力と
される。
【0152】PSELの入力クロック(C)は、PSE
Lリード信号WRPSELである。この出力(Q)はセ
レクタSEL2の選択信号とされる。
【0153】出力バッファOBUFは、制御信号として
DDR出力、データ入力はDR出力とされ、出力信号は
端子Pに接続される。
【0154】入力バッファIBUFは、入力信号が端子
Pに接続され、出力信号がセレクタSEL1のデータ入
力とされる。
【0155】セレクタSEL1は、DDR出力を選択信
号、DR出力および入力バッファIBUF出力をデータ
入力とする。このDDR出力が“0”のときは入力バッ
ファIBUF出力が選択され、DDR出力が“1”のと
きにはDR出力が選択される。このセレクタSEL1の
出力はDRリードバッファの入力とされる。
【0156】セレクタSEL2は、PSEL出力を選択
信号、CPU1/2バス権信号をデータ入力とする。こ
の出力はライト許可信号となる。PSELが“0”のと
きはCPU1バス権で、CPU1がライト許可状態とな
る。PSELが“1”のときにはCPU2バス権で、C
PU2がライト許可状態となる。
【0157】DRリードバッファDRBUFは、セレク
タSEL1の出力を入力し、DRリード信号RDDRを
クロックとし、出力信号は内部データバスの所定のビッ
トに接続される。このRDDRが活性状態のとき、セレ
クタSEL1の出力を内部データバスに出力する。
【0158】PSELリードバッファPSBUFは、P
SELフリップフロップの出力を入力し、PSELリー
ド信号RDPSELをクロックとし、出力信号は内部デ
ータバスの所定のビットに接続される。このRDPSE
Lが活性状態のとき、PSELフリップフロップの出力
を内部データバスに出力する。
【0159】論理積回路AND1は、ライト許可信号と
DDRライト信号WRDDRを入力とし、出力信号はD
DRの入力クロックとなる。
【0160】論理積回路AND2は、ライト許可信号と
DRライト信号WRDRを入力とし、出力信号はDRの
入力クロックとなる。
【0161】ROM1およびROM2をPROMとする
ことができ、このPROMを外部からプログラムすると
き、2つのROMを外部から連続したアドレスとするよ
うにするとよい。
【0162】次に、図10によりPROMのアドレスマ
ップを説明する。
【0163】たとえば、PROM1は64kバイト、P
ROM2は32kバイトとする。MCUモードでは、P
ROM1はH’00000000〜H’0000FFF
Fに、PROM2はH’0000〜H’7FFFに配置
される。
【0164】また、PROMモードでは、PROM1は
H’00000〜H’0FFFFに、PROM2はH’
10000〜H’17FFFに配置される。
【0165】次に、図11によりPROMモードを詳細
に説明する。
【0166】このPROMモードは、モード端子MD
1、MD0、およびSTBY端子をいずれもロウレベル
とすることによって設定される。このとき、図示はされ
ないモード設定回路によって、内部信号EPMが活性状
態(ハイレベル)とされる。このPROMモードのとき
には、CPU1/2はBUFC1/2によって、アドレ
スバス、データバスから切り離される。
【0167】図11において、CS制御回路、バッファ
BUFC1/2などはバスコントローラに含まれてな
る。
【0168】PROMは、図1におけるROM1および
ROM2とし、メモリアレイ、アドレスデコーダ、入出
力回路、制御回路からなる。このアドレスデコーダには
アドレスが入力され、入出力回路はデータの入出力を行
い、また制御回路は制御信号を入力し、入出力回路を制
御してデータの書込み/読み出しなどを行う。また、メ
モリアレイは不揮発記憶素子が配列されている。
【0169】制御回路には、EPM、CS−1/2#、
OE#、PGM#、およびMS−1/2#、リード信号
が入力される。このEPMが活性状態のとき、PROM
としての書込み/読み出し動作が、CS−1/2#、O
E#、PGM#に基づいて行われる。また、EPMが非
活性状態のときには、CPUのアドレス空間上でのRO
Mとしての読み出し動作が、MS−1/2#、リード信
号に基づいて行われる。
【0170】PROMモードのとき、VPP、CS#、
OE#、PGM#で制御される。このような制御は、た
とえば1993年3月、(株)日立製作所発行『HIT
ACHI IC Memory Data Book
No.2(10th Edition)』P510〜P
524に記載されるPROMと同様である。
【0171】VPP端子はRES端子と、CS#、OE
#、PGM#はP61、P62、P63端子と、アドレ
スA0−15はP00−07、P10−17端子と、A
16はP60端子と、データD7−0はP40−P47
端子と兼用にされている。なお、VPPは図示はされな
いが、PROM1/2に与えられる。
【0172】内部信号としては、OE#、PGM#がバ
ッファ回路を介して入力され、PROM1、PROM2
に供給される。CS−1#は、アドレス上位信号A16
の反転信号との論理積信号、CS−2#は、アドレス上
位信号A15の反転信号、およびA16との論理積信号
で生成される。このCS−1#、CS−2#が、それぞ
れPROM1、PROM2に与えられる。
【0173】PROMモードのとき、IDB1とIDB
2がバッファを介して接続される。PROM2のデータ
はIDB2、IDB1およびIOP3を介して入出力さ
れる。すなわち、CS−2#が活性状態で読み出し動作
のとき、PROM2から読み出したIDB2の内容がI
DB1に出力される。さらに、読み出し動作のとき、I
DB1の内容がIOP3を介して外部に出力される。
【0174】また、書込み動作のとき、外部の内容がI
OP3を介してIDB1に入力される。CS−2#が活
性状態で書込み動作のとき、IDB1の内容がIDB2
に出力され、PROM2に与えられる。さらに、IDB
1の内容がIOP3を介して外部に出力される。
【0175】PROMモードのとき、IAB1とIAB
2がバッファを介して接続される。すなわち、IOP
1、2を介して入力されたIAB1のアドレスが、IA
B2に入力され、PROM2に与えられる。なお、PR
OM1/2の最大容量が64kバイトであるので、それ
ぞれのPROMに与えられるアドレスは16ビットであ
る。
【0176】たとえば、読み出し動作はCS−1/2
#、OE#が活性状態、PGM#が非活性状態のときに
行われ、書込み動作はCS−1/2#、PGM#が活性
状態、OE#が非活性状態のときに行われる。
【0177】その他、ベリファイやページ書込みなどが
可能とされるが、本発明には直接の関係はないので、詳
細な説明は省略する。
【0178】1つのPROMモードで、PROM1、P
ROM2を、外面的には1つのPROMとして一括して
書込むことができる。これによって、書込みを効率的に
行うことができる。
【0179】次に、図12によりテストモードを詳細に
説明する。
【0180】このテストモードは、モード端子MD1、
MD0をいずれもロウレベル、およびSTBY端子をハ
イレベルとすることによって設定される。このとき、図
示はされないモード設定回路によって、内部信号TMが
活性状態(ハイレベル)とされる。
【0181】図12において、制御回路1/2、バス権
調停回路、選択回路、バッファBSBUF、バッファB
UFC1/2はバスコントローラに含まれてなる。
【0182】バス権調停回路は、CPU1/2のいずれ
が、PAB/PDBを使用するかを選択して制御信号P
AKを出力する。このPAKがハイレベルのときはCP
U1、PAKがロウレベルのときにはCPU2がPAB
/PDBを使用する。テストモードの場合は、P62端
子から与えられる選択信号によってPAK信号は制御さ
れる。
【0183】テストモードのとき、CPU1/2はBU
FC1/2によって、アドレスバス、データバス、リー
ド信号/ライト信号から切り離される。
【0184】アドレスはIOP3〜IOP0から、バッ
ファBUFPを介してIAB1に入力され、さらにBS
BUFを介してIAB2およびPABに入力される。な
お、IAB1は4Gバイトのアドレス空間に対応して3
2本のアドレスを有するが、IAB2は64kバイトの
アドレス空間に対応して16本、PABはRAMP、I
/Oのアドレスに対応して10本のアドレスを有する。
従って、外部からアドレスを与えるためにはIAB1を
利用するのがよい。
【0185】データバスは、IOP4によって、バッフ
ァBUFPを介してIDB1と入出力される。リード/
ライト動作およびアドレスに対応して、IDB2または
PDBの内容がBSBUFを介してIDB1と入出力さ
れる。
【0186】リード信号、ライト信号は、P60端子、
P61端子からBUFPを介して入力される。RD1/
2、WR1/2として、ROM1、RAM1/ROM
2、RAM2に供給される。また、バス権信号PAKに
よって選択されてRDP、WRPとなって、RAMP、
I/Oに供給される。テストモードにおいては、PAK
信号によらず、RD1/2/Pは常に同様の動作とな
り、WR1/2/Pも常に同様の動作となる。
【0187】制御回路1/2は、IAB1/2のアドレ
スに基づいて、選択信号MSROM1/2、MSRAM
1/2、MSRAMP、MSIOを出力する。MSRA
MP、MSIOは共通信号であるので、PAK信号に基
づいて、一方が出力、他方はハイインピーダンスとな
る。たとえば、PAK信号がハイレベルのときは制御回
路1が出力し、制御回路2はハイインピーダンスとな
る。
【0188】また、テストモード時には、MSROM1
/2、MSRAM1/2はPAK信号に基づいて一方が
禁止される。これは外部から与えるアドレスに基づい
て、1つの機能ブロックが選択されるようにするためで
ある。たとえば、PAK信号がハイレベルのときはMS
ROM1、MSRAM1はIAB1に基づいた出力、M
SROM2、MSRAM2は非活性状態とされる。
【0189】ROM1/RAM1をテストする場合に
は、P62端子をハイレベルにして、PAK信号をハイ
レベルにした状態で、アドレス、リード信号/ライト信
号を与えることによってリード/ライトを行うことがで
きる。
【0190】また、ROM2/RAM2をテストする場
合には、P62端子をロウレベルにして、PAK信号を
ロウレベルにした状態で、アドレス、リード信号/ライ
ト信号を与えることによってリード/ライトを行うこと
ができる。このアドレスは下位16ビットのみが有効に
なる。
【0191】さらに、RAMP/I/Oをテストする場
合には、P62端子をハイレベルにして、PAK信号を
ハイレベルにした状態で、アドレス、リード信号/ライ
ト信号を与えることによってリード/ライトを行うこと
ができる。
【0192】上記によって、CPUによってアドレスが
与えられ、かつデータの入出力が行われるべき内部バス
に、内蔵の機能ブロックを外部からリード/ライトする
ためのアドレスデータなどを外部から供給可能にして、
この機能ブロックに必要なデータのリード/ライトを外
部から直接行うことができるようにし、このシングルチ
ップマイクロコンピュータに内蔵される機能ブロックの
テストの容易化、ならびにテスティング効率の向上を実
現できる。
【0193】また、内蔵RAMをテストする場合、デー
タのテストは独立して行い、アドレスデコーダのテスト
は並行して行うようにするとよい。このアドレスデコー
ダのテストを行うには、RAM1/2/Pを同時に選択
可能にすることによって同時にテストを行うことができ
る。
【0194】この場合に、図12に対してRAMテスト
モードを設ければよい。テストモードにした状態で、P
63端子をロウレベルとすると前記同様のテストモー
ド、P63端子をハイレベルにするとRAMテストモー
ドとなる。
【0195】このRAMテストモードでは、RAM1/
2/Pの選択信号MSRAM1、MSRAM2、MSR
AMPを同時に活性状態にすることができる。ただし、
リードするデータはそれぞれ、ビット0〜1、ビット2
〜3、ビット4〜7とする。
【0196】CPU1とCPU2は、実質的に同一のC
PUであるか、またはCPU1がCPU2を包含するよ
うにし、ソフトウェアの開発環境を共有できるようにす
るのがよい。このようなCPUには、たとえば特願平4
ー226447号がある。
【0197】以上のようなシングルチップマイクロコン
ピュータを評価するエミュレータは、使用者が外部から
ブレーク条件を設定するとき、いずれのCPUにブレー
クを設定するかを指定可能にするとよい。また、2つの
CPUの条件が両方成立したときにブレークするように
指定可能にするとよい。
【0198】次に、図13によりエミュレーション用プ
ロセッサの構成を説明する。
【0199】エミュレーション用プロセッサは、CPU
1、CPU2を含むマイクロコンピュータ部分、および
図示はされないバッファ回路などを含むエミュレーショ
ン用プロセッサ専用ブロックから構成され、公知の半導
体製造技術によって1つの半導体基板上に形成されてい
る。
【0200】このエミュレーション用プロセッサは、応
用システムと信号の送受信を行うユーザインタフェー
ス、およびマイクロコンピュータ開発装置と信号の送受
信を行うエミュレーションインタフェースを有してい
る。
【0201】エミュレーション用バスとしては、IAB
1およびIDB1、IAB2およびIDB2をエミュレ
ーションインタフェースを介して入出力する。また、P
ABおよびPDBのいずれのCPUが使用しているかを
示すバス権表示信号を出力している。これは図13のP
AK信号に相当するものとされる。また、バス権調停に
よって、CPUが待機状態とされていることを示す信号
を出力している。
【0202】PAB、PDBのアクセス状態は明示的に
は表示されないが、バス権表示信号とIAB1およびI
DB1、IAB2およびIDB2によるエミュレーショ
ン用バスの内容によって判断することができる。このP
AB、PDBによるエミュレーション用バスを出力しな
いことによって、エミュレーション用プロセッサの端子
数を削減でき、これによってパッケージサイズを小さく
して、ひいてはエミュレータのサイズを縮小できる。
【0203】ブレーク要求端子は、BRK1#、BRK
2#の2本がエミュレーションインタフェースに含まれ
てなる。これに基づいてBRK1、BRK2信号によっ
て、それぞれCPU1、CPU2にブレーク割込を要求
する。これらは対応するCPU選択ビットを持たず、優
先順位判定回路を経て、割込要求信号と並列したCPU
へのブレーク要求信号を活性状態にする。また、ベクタ
番号信号は一般の割込要求と兼用される。
【0204】CPU1、CPU2が、ブレーク割込を受
け付けると、それぞれブレークアクノリッジ信号BRK
AK1、BRKAK2が活性状態になる。たとえば、C
PU2が、前記のようなSCIの受信処理、パルス出力
処理を行っている場合、CPU1をブレーク割込によっ
て停止しても、CPU2はユーザの処理を実行するため
にSCIの受信を中断してしまい、いわゆるオーバラン
エラーが発生したり、パルス出力を中断してしまい、た
とえばユーザシステムのモータ駆動ができなくなってし
まうようなことを回避できる。
【0205】次に、図14により、エミュレーション用
プロセッサを搭載したエミュレータの構成を説明する。
【0206】コネクタ部がシングルチップマイクロコン
ピュータの代わりに応用システム(ユーザシステム)に
装着される。エミュレーション用プロセッサは、このコ
ネクタ部とインタフェースケーブルを介し、ターゲット
システムインタフェースを用いて応用システムと信号の
入出力を行う。
【0207】また、エミュレーション用プロセッサはエ
ミュレーションインタフェースを用いてエミュレーショ
ンバス1/2に接続される。このエミュレーションバス
1がIAB1/IDB1に対応し、エミュレーションバ
ス2がIAB2/IDB2に対応する。これらのエミュ
レーションバスには、図示はされない状態信号、制御信
号などを含む。
【0208】このエミュレーションバスを用いて、エミ
ュレーション用プロセッサから、応用システムとエミュ
レーション用プロセッサの内部状態に応じた情報などが
出力され、またエミュレーション用プロセッサに対し、
エミュレーションのための各種制御信号が入力される。
そして、エミュレーション用プロセッサの、図示はされ
ないエミュレートモード端子が電源レベルに固定され、
エミュレーション用プロセッサ内部ではエミュレートモ
ードが設定される。
【0209】また、エミュレーションバスには、特に制
限はされないものの、応用システムまたはターゲットマ
イクロコンピュータ内蔵のメモリを代行するためのRA
Mでなるようなエミュレーションメモリと、エミュレー
ション用プロセッサの制御状態やエミュレーションバス
の状態を監視して、その状態が予め設定された状態に達
した時に、エミュレータ専用割込を入力して、CPUに
よるユーザプログラムの実行を停止させ、エミュレーシ
ョン用プログラム実行状態に遷移させる(ブレーク)た
めのブレーク制御回路が接続される。
【0210】さらに、このエミュレーションバスには、
CPUのリード動作またはライト動作を示す信号、命令
リード動作を示す信号などに基づき、エミュレーション
バスに与えられるアドレスやデータさらには制御情報を
逐次蓄えるリアルタイムトレース回路などが接続され
る。本実施例においては、エミュレーションバス1/2
がエミュレーションメモリ、ブレーク制御回路、リアル
タイムトレース回路などにそれぞれ接続される。
【0211】従って、エミュレーションメモリは、IA
B1/IDB1およびIAB2/IDB2のデータを独
立して並立的に入出力する。また、ブレーク制御回路
は、IAB1/IDB1およびIAB2/IDB2のア
ドレス/データ、その他の情報を独立に判定する。この
IAB1/IDB1側の条件が成立した後、IAB2/
IDB2側の条件が成立したときにブレークを要求する
ことが可能にされる。前記の通り、ブレーク割込はCP
U1およびCPU2の両方に同時に要求することもでき
るし、一方のCPUのみに要求することもできる。
【0212】また、リアルタイムトレース回路は、IA
B1/IDB1およびIAB2/IDB2のアドレス/
データ、その他の情報を独立に蓄積し、一方のCPUが
ブレークしたときには、他方のCPUのアドレス/デー
タ、その他の情報のみを蓄積する。また、一方のCPU
のみのアドレス/データ、その他の情報を選択的に蓄積
することもできる。
【0213】このエミュレーションメモリ、ブレーク制
御回路、リアルタイムトレース回路はコントロールバス
に接続され、コントロールバスを介してコントロールプ
ロセッサの制御を受けるようになっている。このコント
ロールバスは、エミュレーション用プロセッサ制御回路
に接続されるとともに、インタフェース回路を介して、
特に制限はされないものの、パーソナルコンピュータな
どのシステム開発装置に接続される。
【0214】たとえば、システム開発装置から入力され
たプログラムをエミュレーションメモリに転送し、内蔵
ROM上に配置されるべきこのプログラムをCPUがリ
ードすると、エミュレーションメモリ上のプログラムが
リードされる。また、ブレーク条件や、リアルタイムト
レース条件などもシステム開発装置から与えることがで
きる。
【0215】このブレーク条件としては、少なくとも、
CPU1とCPU2の条件が独立して設定できるように
される。また、リアルタイムトレース条件としては、少
なくとも、CPU1とCPU2のアドレス/データ、そ
の他の情報を同時に蓄積するか、選択的に一方のCPU
のアドレス/データ、その他の情報のみを蓄積するかを
選択できるようにする。
【0216】従って、本実施例のシングルチップマイク
ロコンピュータによれば、データ処理装置としてのCP
U1,CPU2、バス制御手段としてのバスコントロー
ラ、読み出し可能な記憶手段としてのROM1,ROM
2、データ入出力手段としてのIOP0〜IOP11を
主要な構成とすることにより、以下の作用効果を得るこ
とができる。
【0217】(1).CPU1とROM1を接続するIAB
1,IDB1と、CPU2とROM2を接続するIAB
2,IDB2とを独立に設け、ROM1にCPU1のプ
ログラムを、ROM2にCPU2のプログラムを格納す
ることにより、CPU1とCPU2が並列動作すること
を可能にし、またRAMPとIOP0〜IOP11など
による入出力回路を共通のPAB,PDBに接続し、C
PU1およびCPU2が利用可能とすることにより、C
PU1とCPU2の制御すべきデータを任意に配分して
利用することができる。これによって、シングルチップ
マイクロコンピュータの処理速度を向上し、資源利用効
率を向上できる。
【0218】(2).1つのシングルチップマイクロコンピ
ュータで2つの処理を同時に行うことにより、従来の複
数の半導体集積回路装置を利用していたシステムを代替
して、小型化を実現することができる。
【0219】(3).CPU1およびCPU2が、相互に割
込を要求することを可能にすることにより、容易にCP
U1,2の相互の同期を実現することができる。
【0220】(4).CPU1およびCPU2の動作によっ
て、ソフトウェアスタンバイのようなシングルチップマ
イクロコンピュータの全体を停止状態とする場合、SS
BYビットを“1”にセットした状態で、一方のCPU
がSLEEP命令を実行したときに、他方のCPUの状
態に応じて、直ちにソフトウェアスタンバイ状態に遷移
するか、一旦スリープ状態に遷移した後、他方のCPU
がSLEEP命令を実行した後にソフトウェアスタンバ
イ状態に遷移するかが自動的に選択することによって、
プログラムを作成する場合に、相互の動作状態を確認す
る必要がなく、プログラムの作成効率を向上することが
できる。
【0221】(5).IOP0〜IOP11をビット単位
で、いずれのCPU1,2が利用するかを指定するレジ
スタDRを設けることにより、1本の入出力ポートを2
つのCPU1,2で利用することができ、資源の利用効
率をより向上することができる。
【0222】(6).割込を、いずれのCPU1,2に要求
するかを指定するレジスタを割込許可回路に設けること
により、入出力回路を2つのCPU1,2で任意に配分
して利用することができ、資源の利用効率をより向上す
ることができる。
【0223】(7).一方のCPUを、主に割込によるデー
タ転送を行うことに使用することにより、割込時の種々
の処理を容易に行うことができる。
【0224】(8).ROM1,2をPROMで構成した場
合、PROMモード時にはROM1とROM2を連続し
たアドレスに配置することにより、ROM1とROM2
を1つのPROMと互換性を持たせ、PROM書込みを
効率化することができる。
【0225】(9).1つの物理的アドレスに対応して、C
PU1,2毎に異なる論理的アドレスを有する場合、ま
たは異なるCPU1,2の1つの論理的アドレスに対応
して、異なる物理的アドレスを有する場合に、いずれの
論理アドレスを使用するかを選択する制御信号を与える
ことによって、CPU1,2によってアドレスが与えら
れ、かつデータの入出力が行われるべき複数の内部バス
に、外部から内蔵の機能ブロックをリード/ライトする
ためのアドレスデータなどを前記内部バスより少ないバ
ッファ回路を介して供給可能にして、この機能ブロック
に必要なデータのリード/ライトを外部から直接行うこ
とができるようにし、このシングルチップマイクロコン
ピュータに内蔵される機能ブロックのテストの容易化、
ならびにテスティング効率の向上を実現できる。
【0226】(10). CPU1とCPU2の互換性を持た
せることにより、開発効率を向上することができ、また
サポートツールを共通化することを可能にし、開発装置
の開発効率を向上することができる。これにより、使用
者が必要とする開発装置の数を低減し、開発装置に必要
な費用を低減することができる。
【0227】(11). このシングルチップマイクロコンピ
ュータのエミュレータにおいては、2つのCPU1,2
を独立に停止する割込を有することにより、デバック効
率を向上することができる。
【0228】また、本実施例においては、図15に示す
ように、図1のシングルチップマイクロコンピュータに
対して、ダイレクトメモリアクセスコントローラ(DM
AC)がCPU1と同様にIAB1,IDB1に接続さ
れて追加されることにより、CPU1とDMACを、バ
スコントローラのバス権調停に基づいて互いに排他的に
動作させることができる。
【0229】すなわち、DMACは、起動要因として、
CPU1が所定の制御ビットを“1”にセットすること
によって、データ転送を行うオートリクエストや、DM
A要求端子に所定の信号が与えられたときに、データ転
送を行う外部リクエスト機能を持ち、また転送モードと
して、オートリクエストのとき、CPU1を停止してバ
スを専有してデータ転送を行うバーストモードや、1回
の転送毎にバス権を解放してCPU1と交互に動作しつ
つ、データ転送を行うサイクルスチールモードを持つこ
とにより可能となる。
【0230】また、割込要求信号を起動要求信号とし
て、データ転送を行うことができ、CPU2が割込でデ
ータ転送を行うより高速のデータ転送が可能である。
【0231】さらに、バス調停は、リード/ライトの競
合時に行うほか、時分割で動作するようにしてもよい。
たとえば、8ステート毎にCPU1およびCPU2にバ
ス権を与える。また、8ステート間にバスが終了しなか
った場合には、終了するまで動作する。たとえば、CP
U1には4ステート、CPU2には12ステートずつバ
ス権を与えてもよい。
【0232】(実施例2)図16は本発明の他の実施例
であるシングルチップマイクロコンピュータを示すブロ
ック図、図17は本実施例のシングルチップマイクロコ
ンピュータにおけるバスの動作タイミング図である。
【0233】本実施例のシングルチップマイクロコンピ
ュータは、実施例1に対して、IAB1とIAB2、I
DB1とIDB2が共通化されてIAB/IDBとさ
れ、データバス幅を32ビットとし、同様にROM1と
ROM2、RAM1とRAM2が共通化されてリードオ
ンリメモリ(ROM:読み出し可能な記憶手段)/ラン
ダムアクセスメモリ(RAM)とされ、これらは32ビ
ット同時にリード/ライト可能にしている。
【0234】また、CPU1(第1のデータ処理装置)
およびCPU2(第2のデータ処理装置)は時分割で、
内部アドレスバス(IAB)/内部データバス(ID
B)を利用して、ROM/RAMをリード/ライトす
る。前記の通り、これらのCPU1/2の命令は16ビ
ット単位であり、最小命令を1ステートで実行する。
【0235】すなわち、1つのCPU1/2に対して、
命令については16ビットを1ステートでリードして、
命令リード量と命令実行量が同等となる。32ビットで
命令をリードすれば、命令リードの回数を半分にして、
IAB/IDBおよびROM/RAMの使用頻度を1/
2とすることができる。従って、CPU1およびCPU
2が交互にIAB/IDBを利用してROMから命令を
読み出すことができ、並列に実行可能とすることができ
る。
【0236】実際には、分岐命令などのように32ビッ
トで命令をリードしても、16ビットが無駄になってし
まったり、データアクセスのときには使用頻度を減らせ
なっかたりして完全な並列動作はできないが、前記の通
り命令のリード回数が多く、本実施例によっても、実施
例1に対して処理速度をそれほど低下させることがな
い。また、ROM/RAMを共通化することによって、
物理的規模を低下させたり、CPU1/2の使用するメ
モリ容量を任意に設定したりすることができる。
【0237】次に、図17により内部バスの動作タイミ
ングの一例を説明する。
【0238】なお、CPU1/2のプログラムは図6と
同様であり、バスの使用権は、前回バスを使用していた
CPU1/2が非優先とされ、そのほかの場合にはCP
U2を優先するものとする。
【0239】たとえば、IAB1/2は、φ#に同期し
て出力され、またCPU1/2のROMおよびRAMに
対するリードは、32ビット一括して1ステートで行わ
れる。ただし、これは4の倍数番地から始まる32ビッ
トデータに限定される。
【0240】まず、IAB1/2はφ#に同期して、1
ステート出力され、特に制限はされないものの、ROM
およびRAMの中でφに同期してラッチされる。これに
対応するリードデータはφ#に同期して出力され、φ#
が活性状態の期間にCPU1/2に取り込まれる。
【0241】また、前記同様に、RAMPに対するリー
ド/ライトは2ステート、I/Oに対するリード/ライ
トは3ステートで行われる。φ#に同期したIAB1/
2は、バスコントローラでφに同期化される。この場合
に、先頭命令の存在するアドレスm、nは4の倍数番地
とされる。
【0242】T1では、CPU1/2のROMからの命
令フェッチが要求されるが、CPU2の命令フェッチが
優先され、IABにアドレスmが出力される。
【0243】T2では、ROMからIDBに読み出され
た命令コード(BCLR命令の第1、第2ワード)をC
PU2が取り込むとともに、CPU1の命令フェッチの
アドレスnがIABに出力される。
【0244】T3では、ROMからIDBに読み出され
た命令コード(CMP、BEQ命令)をCPU1が取り
込むとともに、CPU2はアドレスSSRをIABに出
力する。自動的に、CPU2のPAB/PDBの使用が
許可される。この場合に、SCIのリードが3ステート
必要であるため、CPU2待機信号がハイレベルにな
る。
【0245】T4では、IABの内容がPABに出力さ
れて、SCIのレジスタSSRの内容がリードされる。
このリードデータはT6で得られる。一方、CPU1が
命令フェッチを要求するが、CPU2がバスを使用中で
あるので、保留とされ、CPU1待機信号がハイレベル
になる。
【0246】T5では、CPU1/2ともに待機状態と
される。
【0247】T6では、SCIのレジスタSSRから読
み出されたデータをPDB、IDBを介してCPU2が
取り込む。また、CPU2は次の命令フェッチを要求す
るが、CPU1の命令フェッチが優先され、CPU1待
機信号がロウレベルとなり、CPU2待機信号ハイレベ
ルのままである。この場合に、CPU1の命令フェッチ
のアドレスn+4をIABに出力する。
【0248】T7では、ROMからIDBに読み出され
た命令コード(BTST命令の第1ワード)をCPU1
が取り込む。この場合に、CPU1は分岐先命令のフェ
ッチを要求するが、CPU2の命令フェッチが優先さ
れ、CPU2待機信号がロウレベルとなり、CPU1待
機信号ハイレベルになる。
【0249】T8では、ROMからIDBに読み出され
た次の命令コードをCPU2が取り込む。この場合に、
CPU1待機信号がロウレベルとなり、CPU1の命令
フェッチのアドレスN1をIABに出力する。
【0250】T9では、ROMからIDBに読み出され
た命令コードをCPU1が取り込むが、これは分岐条件
が不成立で実行されない。先にフェッチ済みのBTST
命令の第1ワードが有効になる。この場合に、CPU1
は次の命令フェッチを要求するが、CPU2が優先さ
れ、CPU1待機信号ハイレベルになる。
【0251】一方、CPU2はアドレスSSRをIAB
に出力する。自動的に、CPU2のPAB/PDBの使
用が許可される。ここで、SCIのリードが3ステート
必要であるため、CPU2待機信号がハイレベルにな
る。
【0252】T10では、IABの内容がPABに出力
され、CPU2はアドレスSSRにライトすべきデータ
をIDB経由PDBに出力する。ここで、CPU1は待
機状態とされる。
【0253】T11では、CPU2待機信号がロウレベ
ルになる。
【0254】T12では、CPU1待機信号がロウレベ
ルとなり、CPU1の命令フェッチのアドレスn+6を
IABに出力する。
【0255】T13では、ROMからIDBに読み出さ
れた命令コード(BTST命令の第2ワード)をCPU
1が取り込む。この場合に、CPU1はアドレスPOR
Tのリードを要求し、CPU2はROMからの命令フェ
ッチを要求するが、CPU2が優先され、CPU1待機
信号ハイレベルになる。ここで、IABにCPU2の命
令フェッチのアドレスm+8が出力される。
【0256】T14では、ROMからIDBに読み出さ
れた次の命令コードをCPU2が取り込む。この場合
に、CPU1はアドレスPORTをIABに出力する。
ここで、入出力ポートのリードが3ステート必要である
ため、CPU1待機信号が再度ハイレベルとなる。
【0257】T15では、IABの内容がPABに出力
されて、入出力ポートのレジスタPORTの内容がリー
ドされる。このリードデータはT17で得られる。一
方、CPU2が命令フェッチを要求するが、CPU1が
バスを使用中であるので、保留とされ、CPU2待機信
号がハイレベルになる。
【0258】以上のように、本実施例においては、図6
の実施例1に比較して、実行時間が長くなっているが、
少なくとも1つのCPU1/2で実現する場合よりも短
くできる。
【0259】まず、割込やサブルーチン分岐などでCP
U1/2の内部状態を退避したり、復帰したりする作業
を除くことができる。また、2つのCPU1/2を単純
に交互に動作するよりも短くできる。これは、ROMか
らCPU1/2が単位時間に実行できるより大きい量の
命令を単位時間にリード可能にし、バスを使用しないで
よい時間を作り、これを他方のCPU1/2が利用可能
としているためである。
【0260】これは、内蔵のROMにプログラムを配置
する場合に特に有効であり、CPUがリード/ライトす
る大部分が命令のリードであることと、内部のメモリは
外部のメモリに対して読み出し速度を向上しやすいこ
と、バスの幅を容易に広げられるためである。
【0261】このとき、CPU2は、前記DMACやD
TCのようなデータ処理装置またはデータ転送装置であ
っても、同様にCPU1の処理速度を低下することを最
小限として、データ転送を行うことができる。特に、デ
ータ転送に先立って転送情報をRAMから読み出す必要
がある前記DTCに特に有効である。
【0262】従って、本実施例のシングルチップマイク
ロコンピュータによれば、データ処理装置としてのCP
U1,CPU2、読み出し可能な記憶手段としてのRO
Mを主要な構成とし、IAB/IDB、ROM/RAM
を共通化することにより、実施例1に加えて以下の作用
効果を得ることができる。
【0263】すなわち、CPU1/2が単位時間に実行
できる命令のバイト数より、大きなバイト数を単位時間
でリード可能なIAB/IDBに、複数のCPU1/2
を接続することにより、複数のCPU1/2が時分割的
にIAB/IDBを利用して実質的に並立動作を可能に
し、また共通のROM/RAMを任意に配分して利用
し、シングルチップマイクロコンピュータの処理速度を
向上し、資源利用効率を向上することができる。
【0264】以上、本発明者によってなされた発明を実
施例1および2に基づき具体的に説明したが、本発明は
前記実施例に限定されるものではなく、その要旨を逸脱
しない範囲で種々変更可能であることはいうまでもな
い。
【0265】たとえば、バスの具体的な回路構成につい
ても種々変更可能であり、IAB1、IDB1とPA
B、PDBを直結してもよい。この場合には、CPU1
とCPU2が並立的にプログラムを読み出して実行でき
るようにすればよく、これによって相互に動作を制約す
る頻度が高くなるが、物理的規模を縮小できる場合があ
る。
【0266】また、RAM1、RAM2、RAMPを1
つの機能ブロックとしてもよい。
【0267】さらに、CPUの数も3個以上にすること
ができ、この場合には複数のCPUを第1のバスに接続
して、バスを時分割で利用し、さらに別の単数または複
数のCPUを第2のバスに接続してもよい。
【0268】また、内蔵のROMはマスクROM、PR
OMの他、EEPROM、フラッシュメモリなどのCP
Uが実行すべきプログラムを格納するメモリであればよ
い。このROM1とROM2が異なっていてもよい。
【0269】さらに、タイマ、SCIなどの割込を要求
する機能ブロックあるいはパルス出力回路などの割込処
理の対象となる機能ブロックの種類、機能、数などには
何等制約されない。
【0270】以上の説明では、主として本発明者によっ
てなされた発明をその利用分野であるシングルチップマ
イクロコンピュータに適用した場合について説明した
が、これに限定されるものではなく、その他の半導体集
積回路装置にも適用可能であり、本発明は、少なくとも
複数のデータ処理装置を内蔵した半導体集積回路装置に
適用することができる。
【0271】
【発明の効果】本願において開示される発明のうち、代
表的なものによって得られる効果を簡単に説明すれば、
以下のとおりである。
【0272】(1).2つのデータ処理装置に並立したバス
によって独立した2つの読み出し可能な記憶手段に格納
した命令をリード可能にしたり、バスの幅を拡張してデ
ータ処理装置が単位時間に実行可能な命令数以上の命令
をリード可能にして、2つのデータ処理装置を並立的に
動作可能な命令を供給する機能を内蔵するシングルチッ
プマイクロコンピュータまたは半導体集積回路装置にお
いて、複数の記憶手段を同時に選択可能とし、複数の記
憶手段の同時書込みまたは同時読み出しを行うことによ
って割込によるデータ処理のチャネル数の制約をなく
し、さらにデータ処理内容を任意とすることができるの
で、任意の転送処理の実現、物理的規模の縮小、転送チ
ャネル数の制約解除、あるいはシングルチップマイクロ
コンピュータまたは半導体集積回路装置の製造費用の削
減が可能となる。
【0273】(2).前記(1) により、第1、第2のデータ
処理装置を同時に動作させることができるので、シング
ルチップマイクロコンピュータまたは半導体集積回路装
置の処理速度の向上が可能となる。
【0274】(3).前記シングルチップマイクロコンピュ
ータまたは半導体集積回路装置のエミュレーション用プ
ロセッサ、さらにエミュレータによれば、2つのデータ
処理装置を独立に停止させることができるので、デバッ
ク効率の向上を図ることが可能となる。
【図面の簡単な説明】
【図1】本発明の実施例1であるシングルチップマイク
ロコンピュータを示すブロック図である。
【図2】実施例1のシングルチップマイクロコンピュー
タにおける全体のアドレスマップの説明図である。
【図3】実施例1におけるシングルチップマイクロコン
ピュータのバスの接続状態のブロック図である。
【図4】実施例1における割込コントローラの概略ブロ
ック図である。
【図5】実施例1における割込要求ビットおよび割込許
可回路の概略ブロック図である。
【図6】実施例1におけるバスの動作タイミング図であ
る。
【図7】実施例1における低消費電力状態制御回路の概
略ブロック図である。
【図8】実施例1における入出力ポートを制御するレジ
スタ構成の説明図である。
【図9】実施例1における入出力ポートの概略ブロック
図である。
【図10】実施例1におけるPROMのアドレスマップ
である。
【図11】実施例1におけるPROMモードの主要部の
ブロック図である。
【図12】実施例1におけるテストモードの主要部のブ
ロック図である。
【図13】実施例1におけるエミュレーション用プロセ
ッサの概略ブロック図である。
【図14】実施例1におけるエミュレータの概略ブロッ
ク図である。
【図15】実施例1におけるシングルチップマイクロコ
ンピュータの変形例を示すブロック図である。
【図16】本発明の実施例2であるシングルチップマイ
クロコンピュータを示すブロック図である。
【図17】実施例2のシングルチップマイクロコンピュ
ータにおけるバスの動作タイミング図である。
【符号の説明】
CPU1 中央処理装置(第1のデータ処理装置) CPU2 中央処理装置(第2のデータ処理装置) ROM1 リードオンリメモリ(第1の読み出し可能な
記憶手段) ROM2 リードオンリメモリ(第2の読み出し可能な
記憶手段) RAM1,RAM2,RAMP ランダムアクセスメモ
リ SCI シリアルコミュニケーションインタフェース A/D A/D変換器 IOP0〜IOP11 入出力ポート(データ入出力手
段) IAB1 内部アドレスバス(第1のバス) IAB2 内部アドレスバス(第2のバス) PAB 内部アドレスバス(第3のバス) IDB1 内部データバス(第1のバス) IDB2 内部データバス(第2のバス) PDB 内部データバス(第3のバス) DMAC ダイレクトメモリアクセスコントローラ ROM リードオンリメモリ(読み出し可能な記憶手
段) RAM ランダムアクセスメモリ IAB 内部アドレスバス IDB 内部データバス

Claims (14)

    【特許請求の範囲】
  1. 【請求項1】 第1、第2のデータ処理装置と、バス制
    御手段と、第1、第2の読み出し可能な記憶手段と、デ
    ータ入出力手段とを有する半導体集積回路装置であっ
    て、前記第1のデータ処理装置と、前記バス制御手段
    と、前記第1の読み出し可能な記憶手段とが第1のバス
    によって相互に接続され、前記第2のデータ処理装置
    と、前記バス制御手段と、前記第2の読み出し可能な記
    憶手段とが第2のバスによって相互に接続され、かつ前
    記バス制御手段と、前記データ入出力手段とが第3のバ
    スによって相互に接続され、前記バス制御手段は前記第
    1のバスと前記第2のバスを前記第3のバスに接続する
    かしないかを選択し、前記第1のデータ処理装置の前記
    第1のバスを使用した読み出しと、前記第2のデータ処
    理装置の前記第2のバスを使用した読み出しとを並行し
    て行うことが可能であることを特徴とする半導体集積回
    路装置。
  2. 【請求項2】 第1、第2のデータ処理装置と、読み出
    し可能な記憶手段とを有する半導体集積回路装置であっ
    て、前記第1、第2のデータ処理装置と、前記読み出し
    可能な記憶手段とがバスによって相互に接続され、前記
    第1のデータ処理装置は、前記バスを使用して命令を読
    み出して実行するものであって、単位時間に実行可能な
    命令より大きい量の命令を前記バスを使用して前記読み
    出し可能な記憶手段から読み出し、連続的に前記バスを
    使用して前記読み出し可能な記憶手段を読み出すことな
    く、前記第1のデータ処理装置の命令実行速度の低下を
    最小限として、前記第2のデータ処理装置が命令を前記
    読み出し可能な記憶手段から読み出すことを特徴とする
    半導体集積回路装置。
  3. 【請求項3】 請求項1または2記載の半導体集積回路
    装置であって、割込を要求可能な入出力手段と割込制御
    手段とを有し、前記割込を要求可能な入出力手段が出力
    する割込信号を前記割込制御手段に入力し、前記割込制
    御手段は前記第1、第2のデータ処理装置にそれぞれ第
    1、第2の割込要求信号を出力し、前記割込信号が活性
    状態となることに呼応して、前記第1、第2の割込要求
    信号のいずれを活性状態とするかを選択する手段を有す
    ることを特徴とする半導体集積回路装置。
  4. 【請求項4】 請求項1、2または3記載の半導体集積
    回路装置であって、前記第2のデータ処理装置が書込み
    可能なレジスタ手段を有し、前記レジスタ手段の状態に
    よって前記第1のデータ処理装置に割込を要求すること
    を可能とすることを特徴とする半導体集積回路装置。
  5. 【請求項5】 請求項1、2、3または4記載の半導体
    集積回路装置であって、割込を要求する端子を有し、前
    記端子に所定の信号変化が発生することに呼応して、前
    記第1、第2のデータ処理装置の両方に割込を要求する
    ことを可能とすることを特徴とする半導体集積回路装
    置。
  6. 【請求項6】 請求項1、2、3、4または5記載の半
    導体集積回路装置であって、レジスタ手段を含む入出力
    手段を有し、前記入出力手段に含まれるレジスタ手段の
    少なくとも1つのレジスタ手段は複数のビットを持ち、
    別のレジスタ手段の状態によって前記第1、第2のデー
    タ処理装置のいずれから書込み可能とするかを選択可能
    とすることを特徴とする半導体集積回路装置。
  7. 【請求項7】 請求項6記載の半導体集積回路装置であ
    って、前記第1、第2のデータ処理装置のいずれから書
    込み可能とするかを選択可能とされるレジスタ手段は端
    子の状態を制御するものであることを特徴とする半導体
    集積回路装置。
  8. 【請求項8】 請求項1、2、3、4、5、6または7
    記載の半導体集積回路装置であって、前記半導体集積回
    路装置の全体を停止する全体停止状態、前記第1のデー
    タ処理装置を停止する第1の待機状態、前記第2のデー
    タ処理装置を停止する第2の待機状態をそれぞれ設定す
    る全体停止手段、第1の待機手段、第2の待機手段を有
    し、前記全体停止状態、前記第1の待機状態、前記第2
    の待機状態は前記第1、第2のデータ処理装置が所定の
    遷移命令を実行したことに呼応して遷移するものであっ
    て、前記第1のデータ処理装置が前記全体停止状態を設
    定する前記遷移命令を実行したとき、前記第2のデータ
    処理装置が前記第2の待機状態であれば前記全体停止状
    態に遷移し、前記第2のデータ処理装置が前記第2の待
    機状態でなければ前記第1の待機状態に遷移することを
    特徴とする半導体集積回路装置。
  9. 【請求項9】 請求項1、2、3、4、5、6、7また
    は8記載の半導体集積回路装置であって、テストモード
    設定手段と、バッファ手段とを有し、前記バッファ手段
    は、前記テストモード設定手段がテストモードを設定し
    たときに、アドレス、リードおよびライト信号、アドレ
    ス空間選択信号を入力し、前記リードおよびライト信号
    に従ってデータを入出力するものであって、前記アドレ
    ス空間選択信号は、前記入力されたアドレスが前記第
    1、第2のデータ処理装置のいずれのアドレス空間に対
    応するかを指定するものであって、前記アドレス空間選
    択信号と前記アドレスに従って前記読み出し可能な記憶
    手段または前記入出力手段が選択されて、前記リードお
    よびライト信号に従って前記読み出し可能な記憶手段ま
    たは前記入出力手段はリードおよびライトされることが
    可能とされることを特徴とする半導体集積回路装置。
  10. 【請求項10】 請求項1、3、4、5、6、7、8ま
    たは9記載の半導体集積回路装置であって、前記第1、
    第2の読み出し可能な記憶手段は第1、第2の電気的に
    書込み可能な記憶手段であって、書込みモード設定手段
    と、バッファ手段とを有し、前記バッファ手段は、前記
    書込みモード設定手段がテストモードを設定したとき
    に、アドレス、リードおよび制御信号を入力し、前記制
    御信号に従って前記第1、第2の電気的に書込み可能な
    記憶手段に書込みを行うものであって、前記第1、第2
    の電気的に書込み可能な記憶手段が連続的に書込み可能
    なアドレスに配置されることを特徴とする半導体集積回
    路装置。
  11. 【請求項11】 請求項1、2、3、4、5、6、7、
    8、9または10記載の半導体集積回路装置を評価する
    ためのエミュレーション用プロセッサであって、前記第
    1、第2のデータ処理装置が排他的に動作するバスをい
    ずれのデータ処理装置が使用しているかを示す信号を出
    力することを特徴とするエミュレーション用プロセッ
    サ。
  12. 【請求項12】 請求項11記載のエミュレーション用
    プロセッサであって、前記第1、第2のデータ処理装置
    を停止するための第1、第2のブレーク割込入力端子を
    有し、前記第1のブレーク割込入力端子の所定の状態に
    呼応して、前記第1のデータ処理装置を停止し、前記第
    2のブレーク割込入力端子の所定の状態に呼応して、前
    記第2のデータ処理装置を停止することを特徴とするエ
    ミュレーション用プロセッサ。
  13. 【請求項13】 請求項11または12記載のエミュレ
    ーション用プロセッサを搭載したエミュレータであっ
    て、さらに記憶手段とシステム開発装置とを有し、前記
    第1、第2のデータ処理装置の動作情報を同時に前記記
    憶手段に蓄積するか、一方のデータ処理装置の動作情報
    を選択的に前記記憶手段に蓄積するかを、前記システム
    開発装置からの指定に基づいて選択する手段を有するこ
    とを特徴とするエミュレータ。
  14. 【請求項14】 請求項11または12記載のエミュレ
    ーション用プロセッサを搭載したエミュレータであっ
    て、さらにブレーク割込要求手段とシステム開発装置と
    を有し、前記第1、第2のデータ処理装置にブレーク割
    込を要求する条件を前記システム開発装置からの指定に
    基づいて独立に設定する手段を有することを特徴とする
    エミュレータ。
JP09603994A 1994-05-10 1994-05-10 半導体集積回路装置 Expired - Fee Related JP3839068B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP09603994A JP3839068B2 (ja) 1994-05-10 1994-05-10 半導体集積回路装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP09603994A JP3839068B2 (ja) 1994-05-10 1994-05-10 半導体集積回路装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2005300848A Division JP2006040310A (ja) 2005-10-14 2005-10-14 半導体集積回路装置およびマイクロコンピュータ

Publications (2)

Publication Number Publication Date
JPH07302255A true JPH07302255A (ja) 1995-11-14
JP3839068B2 JP3839068B2 (ja) 2006-11-01

Family

ID=14154358

Family Applications (1)

Application Number Title Priority Date Filing Date
JP09603994A Expired - Fee Related JP3839068B2 (ja) 1994-05-10 1994-05-10 半導体集積回路装置

Country Status (1)

Country Link
JP (1) JP3839068B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007023975A1 (ja) * 2005-08-22 2007-03-01 Ssd Company Limited マルチプロセッサ、ダイレクトメモリアクセスコントローラ、及びシリアルデータ送受信装置
JP2007128189A (ja) * 2005-11-01 2007-05-24 Shinsedai Kk シリアルデータ送受信装置
JP2011091409A (ja) * 2010-10-29 2011-05-06 Renesas Electronics Corp 半導体集積回路装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007023975A1 (ja) * 2005-08-22 2007-03-01 Ssd Company Limited マルチプロセッサ、ダイレクトメモリアクセスコントローラ、及びシリアルデータ送受信装置
JP2007128189A (ja) * 2005-11-01 2007-05-24 Shinsedai Kk シリアルデータ送受信装置
JP2011091409A (ja) * 2010-10-29 2011-05-06 Renesas Electronics Corp 半導体集積回路装置

Also Published As

Publication number Publication date
JP3839068B2 (ja) 2006-11-01

Similar Documents

Publication Publication Date Title
US5212795A (en) Programmable DMA controller
US5535417A (en) On-chip DMA controller with host computer interface employing boot sequencing and address generation schemes
US4729094A (en) Method and apparatus for coordinating execution of an instruction by a coprocessor
US6272582B1 (en) PCI-PCI bridge allowing controlling of a plurality of PCI agents including a VGA device
US20020166018A1 (en) Multiprocessor interrupt handling system and method
JP4226085B2 (ja) マイクロプロセッサ及びマルチプロセッサシステム
JPH10134008A (ja) 半導体装置およびコンピュータシステム
US5577230A (en) Apparatus and method for computer processing using an enhanced Harvard architecture utilizing dual memory buses and the arbitration for data/instruction fetch
JPH06250871A (ja) Cpuコア、該cpuコアを有するasic、及び該asicを備えたエミュレーションシステム
US4731736A (en) Method and apparatus for coordinating execution of an instruction by a selected coprocessor
KR20010080515A (ko) 다수의 가상 직접 메모리 접근 채널들을 지원하기위한직접 메모리 접근 엔진
JP2822782B2 (ja) シングルチップマイクロコンピュータ
JPH0232659B2 (ja)
JPH07120338B2 (ja) 共同プロセッサによる命令の実行をデータプロセッサが調整する方法および該データプロセッサ
JP3839068B2 (ja) 半導体集積回路装置
JP2001109708A (ja) マイクロコンピュータ
JPH0855097A (ja) データ処理システム及びそのメモリアクセス方法
JP4322284B2 (ja) シングルチップマイクロコンピュータ
JP2001125786A (ja) データ処理装置及びデータ処理システム
JP3323341B2 (ja) エミュレーション用プロセッサおよびそれを搭載したエミュレータ
JPH0227696B2 (ja) Johoshorisochi
JP2006040310A (ja) 半導体集積回路装置およびマイクロコンピュータ
JP3077807B2 (ja) マイクロコンピュータシステム
JP3139310B2 (ja) ディジタル信号処理装置
JPH02252044A (ja) コプロセッサ及びデータ転送制御方式

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040526

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041124

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050121

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050816

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051014

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060411

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060609

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060802

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20090811

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20100811

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110811

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110811

Year of fee payment: 5

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

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

Free format text: PAYMENT UNTIL: 20110811

Year of fee payment: 5

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

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees