JPH0784963A - Semiconductor integrated circuit with cpu - Google Patents

Semiconductor integrated circuit with cpu

Info

Publication number
JPH0784963A
JPH0784963A JP5231233A JP23123393A JPH0784963A JP H0784963 A JPH0784963 A JP H0784963A JP 5231233 A JP5231233 A JP 5231233A JP 23123393 A JP23123393 A JP 23123393A JP H0784963 A JPH0784963 A JP H0784963A
Authority
JP
Japan
Prior art keywords
signal
processor
data
cpu
address
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
JP5231233A
Other languages
Japanese (ja)
Inventor
Hiroshi Osuga
宏 大須賀
Yoshiki Noguchi
孝樹 野口
Kunio Uchiyama
邦男 内山
Yoshito Nene
義人 禰寝
Hiroshi Ikeda
宏 池田
Akio Amano
明雄 天野
Haruo Kamimaki
春雄 上牧
Yoshiaki Asakawa
吉章 淺川
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 JP5231233A priority Critical patent/JPH0784963A/en
Publication of JPH0784963A publication Critical patent/JPH0784963A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To improve the efficiency of the data arithmetic processing of multiple CPUs by performing an interruption request processing from a peripheral module at a high speed. CONSTITUTION:Peripheral modules 11, 12, and 13 are connected to an I/O system data bus 201, an interruption control circuit 17 is connected to an I/O system processor 101 and the peripheral modules, and an interruption control circuit 17 transfers interruption requests from the peripheral modules to the I/O system processor 101. The peripheral modules need to perform data transfer through an I/O system data bus 102 and selecting circuits 18 and 19 when sending or receiving data to or from outside the chip. The data transfer between the peripheral modules and the outside of the chip through the I/O system data bus 102 is performed under the control of the I/O system processor 101, so an interruption request for this data transfer is not sent to an arithmetic system processor 100.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明はCPU(中央処理装置)を
有する半導体集積回路に関し、特に、同一のチップ上に
2つのCPUを搭載したシングルチップマイクロコンピ
ュータのデータ演算処理の処理効率向上を行うために、
同一チップ上にデータ演算処理対応のためのCPUとI
/O処理対応(周辺モジュール処理対応)のためのCPU
とを設けたシングルチップマイクロコンピュータに関す
る。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a semiconductor integrated circuit having a CPU (central processing unit), and more particularly to improving the processing efficiency of data arithmetic processing of a single chip microcomputer having two CPUs mounted on the same chip. for,
CPU and I on the same chip for data processing
CPU for I / O processing (peripheral module processing)
And a single-chip microcomputer provided with.

【0002】[0002]

【従来の技術】シングルチップマイクロコンピュータの
従来例として、日立シングルチップマイクロコンピュー
タHD6475328がある。このHD6475328
では、一つのデータバスにCPU、メモリの他に、タイ
マやシリアルコミュニケーションインタフェースといっ
た周辺モジュールが接続されている。CPUは、メモリ
から命令を読込み、読み込んだ命令に従ってデータを入
力、演算、結果の格納という処理を実行する。そのほか
にCPUは、周辺モジュールからの割込み要求を受付
け、割込みを発生した周辺モジュールに対して割込み要
求処理を行う。一方、特開昭62−152064号公報
には、複数のCPUが独立に内部アドレスデータバスと
内蔵メモリとを所有し、これらの内部アドレスデータバ
スが共通のバス制御装置を介して外部アドレスデータバ
スと接続されることにより処理能力の向上を図ったシン
グルチップマイクロコンピュータが開示されている。一
方、周知のように計算機システムでは、動作の柔軟性を
実現する手段として割込み機能を備えている。特に、外
部割込みは、プログラムの実行と独立な原因で生じる割
込みであり、電源異常、タイマ割込み、入出力割込み、
外部信号などが具体的な要因である。このような割込み
要因が検出されて割込みが生じると、プログラムの実行
が中断され、そのプログラムの実行状態を規定するプロ
グラム状態語ないしはプログラム状態ベクタが一定の領
域に退避され、割込み処理を行うルーチンへ制御が移さ
れる。
2. Description of the Related Art As a conventional example of a single chip microcomputer, there is a Hitachi single chip microcomputer HD6475328. This HD6475328
Then, in addition to the CPU and the memory, peripheral modules such as a timer and a serial communication interface are connected to one data bus. The CPU reads an instruction from the memory, executes data input, calculation, and result storage according to the read instruction. In addition, the CPU receives an interrupt request from the peripheral module and performs an interrupt request process for the peripheral module that has generated the interrupt. On the other hand, in JP-A-62-152064, a plurality of CPUs independently have an internal address data bus and a built-in memory, and these internal address data buses are connected to an external address data bus via a common bus control device. There is disclosed a single-chip microcomputer which has an improved processing capability by being connected to the. On the other hand, as is well known, a computer system has an interrupt function as a means for realizing flexibility of operation. In particular, external interrupts are interrupts that occur independently of program execution, such as power supply abnormalities, timer interrupts, input / output interrupts,
External signals are specific factors. When such an interrupt factor is detected and an interrupt occurs, the execution of the program is interrupted, the program status word or program status vector that defines the execution status of the program is saved in a certain area, and the interrupt processing routine is executed. Control is transferred.

【0003】[0003]

【発明が解決しようとする課題】CPUを1個のみ有す
る従来のシングルチップマイクロコンピュータにおいて
は、CPUが本来実行すべきデータ演算処理の他に周辺
モジュールからの割込み要求処理を行わなければなら
ず、データ演算処理の効率が低下していた。すなわち、
CPUのデータ演算処理の効率向上に関する考慮がなさ
れていなかった。また特開昭62−152064号公報
に開示された複数のCPUを有する従来のシングルチッ
プマイクロコンピュータにおいても、複数のCPUが割
込み要求処理をどのように実行すれば、データ演算処理
の効率の低下を回避できるかについては開示されていな
い。
In a conventional single-chip microcomputer having only one CPU, in addition to the data arithmetic processing that the CPU should originally perform, interrupt request processing from peripheral modules must be performed. The efficiency of data calculation processing was reduced. That is,
No consideration has been given to improving the efficiency of the data calculation processing of the CPU. Also in the conventional single-chip microcomputer having a plurality of CPUs disclosed in Japanese Patent Laid-Open No. 62-152064, how the plurality of CPUs execute the interrupt request processing may reduce the efficiency of the data calculation processing. It does not disclose whether it can be avoided.

【0004】従って、発明の目的とするところは、複数
のCPUを有するシングルチップマイクロコンピュータ
において、周辺モジュールからの割込み要求処理を高速
に実行するとともに、CPUのデータ演算処理の効率を
向上させることにある。
Therefore, it is an object of the invention to execute an interrupt request process from a peripheral module at high speed in a single-chip microcomputer having a plurality of CPUs and to improve the efficiency of the CPU's data operation process. is there.

【0005】[0005]

【課題を解決するための手段】上記目的を達成するため
に、本願で開示される代表的な実施形態の半導体集積回
路は、アドレスを出力する第1と第2のプロセッサ(10
0,101)と、上記第1のプロセッサ(100)と接続された第
1のアドレスバス(202)および第1のデータバス(200)
と、上記第2のプロセッサ(101)と接続された第2のア
ドレスバス(204)および第2のデータバス(201)と、上記
第1と第2のアドレスバスおよび上記第1の第2のデー
タバスとに接続された内蔵メモリ(10)と、上記第1と第
2のアドレスバスの選択された一方と上記第1の第2の
データバスの選択された一方とを外部アドレスバス(22)
と外部データバス(21)とに接続する選択回路(18,19)と
を具備してなり、上記第2のデータバス(201)には、タ
イマ(11)、A/D変換器およびD/A変換器(12)、シリ
アル入出力インターフェース(13)の少なくともひとつで
ある周辺モジュールが接続され、上記第2のプロセッサ
(101)と上記周辺モジュールとには割込み制御回路(17)
が接続され、上記割込み制御回路(17)は上記周辺モジュ
ールからの割込み要求(250)を上記第2のプロセッサ(10
1)に転送することを特徴とする(図1参照)。
In order to achieve the above object, a semiconductor integrated circuit according to a typical embodiment disclosed in the present application includes a first and a second processor (10) for outputting an address.
0, 101) and a first address bus (202) and a first data bus (200) connected to the first processor (100).
A second address bus (204) and a second data bus (201) connected to the second processor (101), the first and second address buses and the first second bus. A built-in memory (10) connected to the data bus, a selected one of the first and second address buses and a selected one of the first and second data buses are connected to an external address bus (22). )
And a selection circuit (18, 19) connected to the external data bus (21), and the second data bus (201) includes a timer (11), an A / D converter and a D / D converter. A peripheral module which is at least one of the A converter (12) and the serial input / output interface (13) is connected to the second processor.
Interrupt control circuit (17) between (101) and the above peripheral modules
Is connected, and the interrupt control circuit (17) sends an interrupt request (250) from the peripheral module to the second processor (10).
It is characterized in that it is transferred to 1) (see FIG. 1).

【0006】本発明の好適な実施形態による半導体集積
回路は、上記割込み制御回路(17)はさらに上記第1のプ
ロセッサ(100)と接続され、上記第2のプロセッサ(101)
による外部データの上記内蔵メモリ(10)への転送終了時
に生成される上記第2のプロセッサ(101)からの割込み
要求を上記割込み制御回路(17)は上記第1のプロセッサ
(100)に転送することを特徴とする(図1参照)。
In the semiconductor integrated circuit according to a preferred embodiment of the present invention, the interrupt control circuit (17) is further connected to the first processor (100), and the second processor (101).
The interrupt control circuit (17) generates an interrupt request from the second processor (101) generated at the end of transfer of external data to the built-in memory (10) by the first processor.
It is characterized in that it is transferred to (100) (see FIG. 1).

【0007】本発明の他の好適な実施形態による半導体
集積回路は、上記第1と上記第2のプロセッサの一方を
指定する指定手段(53)をさらに具備してなり、上記第1
のプロセッサ(100)からの複数のアクセスと上記第2の
プロセッサ(101)からの複数のアクセスに際して、上記
選択回路(18,19)は上記指定された一方からの上記複数
のアクセスを上記指定された一方と上記外部アドレスバ
スとの接続により独占的に連続して実行することを特徴
とする(図21および図23参照)。
A semiconductor integrated circuit according to another preferred embodiment of the present invention further comprises a designation means (53) for designating one of the first and second processors.
In the plurality of accesses from the processor (100) and the plurality of accesses from the second processor (101), the selection circuit (18, 19) is designated to the plurality of accesses from the designated one. One of them is continuously executed exclusively by connecting the other one to the external address bus (see FIGS. 21 and 23).

【0008】本発明のより好適な実施形態による半導体
集積回路は、上記内蔵メモリは複数のバンク(115,116,1
17,118)から構成され、上記複数のバンクへのアクセス
を制御する情報を格納する格納手段(119)が上記第2の
データバス(201)に接続され、上記第1のアドレスバス
(202)を介しての上記第1のプロセッサ(100)から上記複
数のバンクへのアクセスを上記第1のアドレスバス(20
2)の上位ビットと上記格納手段(119)の情報とに応答し
て制御する第1のアドレスデコーダ(113)が上記第1の
アドレスバス(202)に接続されてなり、上記第2のプロ
セッサ(101)によりアクセスされた外部データの複数の
バンク(115,116,117,118)の少なくとも一つのバンクへ
のデータ転送の終了の度に生成される上記第2のプロセ
ッサ(101)からの割込み要求を上記割込み制御回路(17)
は上記第1のプロセッサ(100)に転送せしめ、上記第2
のプロセッサ(101)によりアクセスされた外部データの
複数のバンク(115,116,117,118)の少なくとも一つのバ
ンクへのデータ転送の終了の度に上記第2のプロセッサ
(101)は上記第2のデータバス(201)を介して上記格納手
段(119)の情報を更新し、上記第1のプロセッサ(100)は
上記データ転送終了時の各割込み要求に応答して同一の
アクセスアドレスを上記第1のアドレスバス(202)へ送
出することを特徴とする(図15参照)。
In a semiconductor integrated circuit according to a more preferred embodiment of the present invention, the built-in memory has a plurality of banks (115, 116, 1).
A storage means (119) for storing information for controlling access to the plurality of banks is connected to the second data bus (201) and includes the first address bus.
The access to the plurality of banks from the first processor (100) via the (202) is made to the first address bus (20
A second address decoder (113) connected to the first address bus (202) for controlling in response to the upper bits of 2) and the information of the storage means (119), and the second processor The interrupt control circuit sends an interrupt request from the second processor (101) generated each time data transfer to at least one of the plurality of banks (115, 116, 117, 118) of external data accessed by (101) is completed. (17)
Is transferred to the first processor (100) and the second processor (100) is transferred.
The second processor each time data transfer to the at least one bank of the plurality of banks (115, 116, 117, 118) of external data accessed by the processor (101) is completed.
(101) updates the information in the storage means (119) via the second data bus (201), and the first processor (100) responds to each interrupt request at the end of the data transfer. The same access address is sent to the first address bus (202) (see FIG. 15).

【0009】本発明のより具体的な実施形態による半導
体集積回路は、上記第1のデータバス(200)には乗除算
器(14)、関数演算器(15)、浮動小数点演算プロセッサの
少なくともひとつである補助演算モジュールが接続され
てなることを特徴とする(図1参照)。
In a semiconductor integrated circuit according to a more specific embodiment of the present invention, the first data bus (200) has at least one of a multiplier / divider (14), a function calculator (15), and a floating point processor. It is characterized by being connected with the auxiliary calculation module (see FIG. 1).

【0010】[0010]

【作用】本願で開示される代表的な実施形態の半導体集
積回路(図1参照)では、特に、第2のデータバス(201)
にはタイマ(11)、A/D変換器およびD/A変換器(1
2)、シリアル入出力インターフェース(13)の少なくとも
ひとつである周辺モジュールが接続され、第2のプロセ
ッサ(101)とこの周辺モジュールとには割込み制御回路
(17)が接続され、この割込み制御回路(17)は周辺モジュ
ールからの割込み要求を第2のプロセッサ(101)に転送
するものであるため、下記の如き動作が可能となる。す
なわち、タイマ(11)、A/D変換器およびD/A変換器
(12)、シリアル入出力インターフェース(13)等の周辺モ
ジュールはチップ外部とのデータの送信もしくは受信に
際して、第2のデータバス(102)と選択回路(18,19)とを
介してのデータ転送を行う必要が有る。この第2のデー
タバス(102)を介してのチップ外部と周辺モジュールと
のデータ転送は第2のプロセッサ(101)の管理下で行わ
れるので、このデータ転送のための割込み要求が第1の
プロセッサ(100)に伝達されることはない。従って、こ
の間に第1のプロセッサ(100)は第1のアドレスバス(20
2)と第1のデータバス(200)とを介して内蔵メモリ(10)
をアクセスでき、このアクセス・データに論理演算の処
理を行うことができる。その具体的な内容は、下記の通
りである。すなわち、タイマ(11)はタイマ定数レジスタ
にセットされたデータとクロックに同期して更新される
データとを比較し、一致するとタイマコントロール/ス
テータスレジスタへフラグを立てる。また、タイマ(11)
のタイマ定数レジスタへのデータのセットは第2のプロ
セッサ(101)によってチップ外部から選択回路(18,19)と
第2のデータバス(201)とを介して行われるが、この間
に第1のプロセッサ(100)にはタイマ定数レジスタへの
データのセットのための割込みが伝達されないので第1
のプロセッサ(100)は第1のアドレスバス(202)と第1の
データバス(200)とを介して内蔵メモリ(10)をアクセス
でき、このアクセス・データに論理演算の処理を行うこ
とができる。さらに、タイマ(11)による上記のカウント
動作終了時の割込みに基づいて第1のプロセッサ(100)
による内蔵メモリ(10)のデータのアクセス、さらにはア
クセス・データの論理演算を可能とするために、タイマ
(11)からのカウント動作終了時の割込みは内部要求割込
み信号(250)として割込み制御回路(17)を介して第1の
プロセッサ(100)へ伝達することが望ましい。また、シ
リアル入出力インターフェース(13)は内部のデータとシ
リアルポートのデータをシフトレジスタ部でデータの並
列−直列変換もしくは直列−並列変換を行って送受信を
行うもので、チップ外部からのデータ受信時には直列デ
ータから並列データへの変換を行い、また、チップ外部
へのデータ送信時には並列データから直列データへの変
換を行う。また、受信時の直列−並列変換および送信時
の並列−直列変換に際してチップ外部との接続のための
デジタルポート(DP)と第2のデータバス(201)との間の
データ転送は第2のプロセッサ(101)の管理によって行
われるが、この間に第1のプロセッサ(100)にはこのデ
ータ転送のための割込みが伝達されないので第1のプロ
セッサ(100)は第1のアドレスバス(202)と第1のデータ
バス(200)とを介して内蔵メモリ(10)をアクセスでき、
このアクセス・データに論理演算の処理を行うことがで
きる。また、シリアル入出力インターフェース(13)によ
る受信時の直列−並列変換の完了の割込みに基づいて変
換データの第2のプロセッサ(101)による内蔵メモリ(1
0)への格納および第1のプロセッサ(100)による内蔵メ
モリ(10)のデータのアクセス、さらにはアクセス・デー
タの論理演算を可能とするために、シリアル入出力イン
ターフェース(13)からの変換動作終了時の割込みは内部
要求割込み信号(250)として割込み制御回路(17)を介し
て第1のプロセッサ(100)と第2のプロセッサ(101)とへ
伝達することが望ましい。また、A/D変換器およびD
/A変換器(12)は内部のデータとアナログポートとの間
でアナログ−デジタル変換(A/D変換)もしくはデジタ
ル−アナログ変換(D/A変換)を行って送受信を行うも
ので、チップ外部からのアナログ信号受信時にはアナロ
グデータからデジタルデータへの変換(A/D変換)を行
い、また、チップ外部へのアナログ信号送信時にはデシ
タルデータからアナログデータへの変換(D/A変換)を
行う。また、受信時および送信時のA/D変換およびD
/A変換に際してチップ外部との接続のためのアナログ
ポート(AP)と第2のデータバス(201)との間のデータ転
送は第2のプロセッサ(101)の管理によって行われる
が、この間に第1のプロセッサ(100)にはこのデータ転
送のための割込みが伝達されないので第1のプロセッサ
(100)は第1のアドレスバス(202)と第1のデータバス(2
00)とを介して内蔵メモリ(10)をアクセスでき、このア
クセス・データに論理演算の処理を行うことができる。
また、A/D変換器およびD/A変換器(12)による受信
時のA/D変換の完了の割込みに基づいて変換データの
第2のプロセッサ(101)による内蔵メモリ(10)への格納
および第1のプロセッサ(100)による内蔵メモリ(10)の
データのアクセス、さらにはアクセス・データの論理演
算を可能とするために、A/D変換器およびD/A変換
器(12)からの変換動作終了時の割込みは内部要求割込み
信号(250)として割込み制御回路(17)を介して第1のプ
ロセッサ(100)と第2のプロセッサ(101)とへ伝達するこ
とが望ましい。
In the semiconductor integrated circuit of the typical embodiment disclosed in the present application (see FIG. 1), in particular, the second data bus (201)
Includes a timer (11), an A / D converter and a D / A converter (1
2), a peripheral module which is at least one of the serial input / output interface (13) is connected, and an interrupt control circuit is provided between the second processor (101) and this peripheral module.
(17) is connected, and since this interrupt control circuit (17) transfers an interrupt request from the peripheral module to the second processor (101), the following operation is possible. That is, the timer (11), the A / D converter and the D / A converter
Peripheral modules such as (12) and serial input / output interface (13) transfer data via the second data bus (102) and selection circuits (18, 19) when transmitting or receiving data to or from the outside of the chip. Need to do. Since the data transfer between the outside of the chip and the peripheral module via the second data bus (102) is performed under the control of the second processor (101), the interrupt request for this data transfer requires the first interrupt. It is not transmitted to the processor (100). Therefore, during this period, the first processor (100) is connected to the first address bus (20
Built-in memory (10) via 2) and the first data bus (200)
Can be accessed, and processing of logical operations can be performed on this access data. The specific contents are as follows. That is, the timer (11) compares the data set in the timer constant register with the data updated in synchronization with the clock, and if they match, sets a flag in the timer control / status register. Also, the timer (11)
The setting of the data in the timer constant register is performed by the second processor (101) from the outside of the chip via the selection circuit (18, 19) and the second data bus (201). Since the processor (100) does not receive the interrupt for setting the data in the timer constant register,
The processor (100) can access the internal memory (10) through the first address bus (202) and the first data bus (200), and can perform logical operation processing on the access data. . Further, the first processor (100) is based on the interrupt at the end of the counting operation by the timer (11).
In order to enable access to the data in the internal memory (10) by the
It is desirable that the interrupt from (11) at the end of the counting operation is transmitted to the first processor (100) as an internal request interrupt signal (250) via the interrupt control circuit (17). Further, the serial input / output interface (13) transmits / receives internal data and serial port data by performing parallel-serial conversion or serial-parallel conversion of data in the shift register unit, and when transmitting / receiving data from outside the chip. The serial data is converted to parallel data, and the parallel data is converted to serial data when the data is transmitted to the outside of the chip. In addition, during serial-parallel conversion during reception and parallel-serial conversion during transmission, data transfer between the digital port (DP) for connection to the outside of the chip and the second data bus (201) is the second. This is performed by the management of the processor (101), but during this time, since the interrupt for this data transfer is not transmitted to the first processor (100), the first processor (100) operates as a first address bus (202) The internal memory (10) can be accessed via the first data bus (200),
Logical processing can be performed on this access data. In addition, based on the interrupt of the completion of the serial-parallel conversion at the time of reception by the serial input / output interface (13), the second processor (101) of the conversion data stores the internal memory (1
Conversion operation from the serial I / O interface (13) to enable storage in the (0) and access of data in the internal memory (10) by the first processor (100), and further logical operation of access data It is desirable to transmit the interrupt at the end to the first processor (100) and the second processor (101) via the interrupt control circuit (17) as the internal request interrupt signal (250). Also, an A / D converter and a D
The A / A converter (12) performs analog-digital conversion (A / D conversion) or digital-analog conversion (D / A conversion) between internal data and an analog port to perform transmission / reception. When analog signals are received from the chip, analog data are converted to digital data (A / D conversion), and when analog signals are sent to the outside of the chip, digital data are converted to analog data (D / A conversion). In addition, A / D conversion and D during reception and transmission
During the A / A conversion, data transfer between the analog port (AP) for connection with the outside of the chip and the second data bus (201) is performed by the management of the second processor (101). Since the interrupt for this data transfer is not transmitted to the first processor (100),
(100) is the first address bus (202) and the first data bus (2
00) and the built-in memory (10) can be accessed, and this access data can be processed by a logical operation.
Further, the conversion data is stored in the internal memory (10) by the second processor (101) based on the interruption of the completion of the A / D conversion at the time of reception by the A / D converter and the D / A converter (12). In order to enable access to the data in the internal memory (10) by the first processor (100) and further the logical operation of the access data, the A / D converter and the D / A converter (12) It is desirable that the interrupt at the end of the conversion operation is transmitted to the first processor (100) and the second processor (101) via the interrupt control circuit (17) as the internal request interrupt signal (250).

【0011】本発明の好適な実施形態の半導体集積回路
では、割込み制御回路(17)はさらに第1のプロセッサ(1
00)と接続され、第2のプロセッサ(101)による外部デー
タの内蔵メモリ(10)への転送終了時に生成される第2の
プロセッサ(101)からの割込み要求を割込み制御回路(1
7)は第1のプロセッサ(100)に転送するであるため、内
蔵メモリ(10)中の転送データの第1のプロセッサ(100)
によるアクセスと論理演算を速やかに開始させることが
可能となる。
In the semiconductor integrated circuit of the preferred embodiment of the present invention, the interrupt control circuit (17) further includes a first processor (1
00) to generate an interrupt request from the second processor (101) when the second processor (101) finishes transferring external data to the internal memory (10).
7) is to be transferred to the first processor (100), the first processor (100) of the transfer data in the internal memory (10)
It is possible to quickly start access and logical operation by.

【0012】本発明の他の好適な実施形態の半導体集積
回路では、第1のプロセッサ(100)からの複数のアクセ
スと第2のプロセッサ(101)からの複数のアクセスに際
して、指定手段(53)によって指定された第1と上記第2
のプロセッサの一方からの複数のアクセスを選択回路(1
8,19)は独占的に連続して実行するものである。従っ
て、ユーザが指定された一方として第2のプロセッサ(1
01)を指定した場合は、周辺モジュール(11,12,13)とチ
ップ外部とのデータ転送を処理する第2のプロセッサ(1
01)に外部アドレスバス(22)と外部データバス(21)の独
占的連続使用権が付与される。この場合は、チップ内部
のデータ論理演算を主に処理する第1のプロセッサ(10
0)よりも周辺モジュール(11,12,13)の機能が重視されて
いる。逆の場合には、周辺モジュール(11,12,13)よりも
チップ内部のデータ論理演算を主に処理する第1のプロ
セッサ(100)の機能が重視されることとなる。いずれの
場合にも、種々のユーザの志向に適したアクセスモード
が指定手段(53)によって指定されることができる。
In a semiconductor integrated circuit according to another preferred embodiment of the present invention, the designation means (53) is used for a plurality of accesses from the first processor (100) and a plurality of accesses from the second processor (101). The first and the second specified by
Multiple access from one of the processors in the selection circuit (1
(8, 19) is an exclusive and continuous execution. Therefore, the second processor (1
When 01) is specified, the second processor (1) that handles data transfer between the peripheral modules (11, 12, 13) and the outside of the chip
The exclusive continuous use right of the external address bus (22) and the external data bus (21) is given to 01). In this case, the first processor (10
The functions of peripheral modules (11, 12, 13) are more important than 0). In the opposite case, the function of the first processor (100) that mainly processes the data logic operation inside the chip is more important than the peripheral modules (11, 12, 13). In any case, an access mode suitable for the orientation of various users can be designated by the designating means (53).

【0013】本発明のより好適な実施形態の半導体集積
回路(図15参照)では、内蔵メモリは複数のバンク(11
5,116,117,118)から構成され、複数のバンクへのアクセ
スを制御する情報を格納する格納手段(119)が第2のデ
ータバス(201)に接続され、第1のアドレスバス(202)を
介しての第1のプロセッサ(100)から複数のバンクへの
アクセスを第1のアドレスバス(202)の上位ビットと格
納手段(119)の情報とに応答して制御する第1のアドレ
スデコーダ(113)が第1のアドレスバス(202)に接続され
てなり、第2のプロセッサ(101)によりアクセスされた
外部データの複数のバンク(115,116,117,118)の少なく
とも一つのバンクへのデータ転送の終了の度に第2のプ
ロセッサ(101)は第2のデータバス(201)を介して格納手
段(119)の情報を更新し、第2のプロセッサ(101)により
アクセスされた外部データが複数のバンク(115,116,11
7,118)の少なくとも一つのバンクへのデータ転送の終了
の度に生成される第2のプロセッサ(101)からの割込み
要求を割込み制御回路(17)は第1のプロセッサ(100)に
転送せしめ、第1のプロセッサ(100)はデータ転送終了
時の各割込み要求に応答して同一のアクセスアドレスを
第1のアドレスバス(202)へ送出するものである。従っ
て、一つのバンクへのデータ転送の終了の度に生成され
る第2のプロセッサ(101)からの各割込み要求に応答し
て第1のプロセッサ(100)が同一のアクセスアドレスを
第1のアドレスバス(202)へ送出するにもかかわらず、
格納手段(119)の更新情報により同一のアクセスアドレ
スはその都度アドレス変換される。この変換アドレスは
複数のバンク(115,116,117,118)を次々に指定するの
で、第1のプロセッサ(100)からの同一のアクセスアド
レスによって複数のバンク(115,116,117,118)のデータ
が次々にアクセスされることができる。従って、第1の
プロセッサ(100)のアドレス空間中での複数のバンク(11
5,116,117,118)をアクセスするためのアドレス領域を削
減でき、その他のアドレス領域をチップ内部のデータ論
理演算を主に処理する第1のプロセッサ(100)のための
プライベートのメモリおよびレジスタ等の記憶手段に割
り当てることができる。
In a semiconductor integrated circuit of a more preferred embodiment of the present invention (see FIG. 15), the built-in memory has a plurality of banks (11
5,116,117,118), and storage means (119) for storing information for controlling access to a plurality of banks is connected to the second data bus (201) and is connected to the first address bus (202). A first address decoder (113) controls the access from the one processor (100) to the plurality of banks in response to the upper bits of the first address bus (202) and the information of the storage means (119). One of the plurality of banks (115, 116, 117, 118) of external data, which is connected to the first address bus (202) and is accessed by the second processor (101), completes the second transfer every time data transfer to at least one bank is completed. The processor (101) updates the information in the storage means (119) via the second data bus (201), and the external data accessed by the second processor (101) is stored in a plurality of banks (115, 116, 11).
The interrupt control circuit (17) causes the first processor (100) to transfer an interrupt request from the second processor (101) generated at the end of data transfer to at least one bank (7, 118). The first processor (100) sends the same access address to the first address bus (202) in response to each interrupt request at the end of data transfer. Therefore, in response to each interrupt request from the second processor (101) generated at the end of data transfer to one bank, the first processor (100) sends the same access address to the first address. Despite sending to the bus (202)
The same access address is converted each time by the update information of the storage means (119). Since this conversion address designates a plurality of banks (115, 116, 117, 118) one after another, data of a plurality of banks (115, 116, 117, 118) can be successively accessed by the same access address from the first processor (100). Therefore, a plurality of banks in the address space of the first processor (100) (11
5,116,117,118) can be reduced in address area, and other address areas are allocated to a storage means such as a private memory and a register for the first processor (100) mainly processing the data logic operation in the chip. be able to.

【0014】本発明のより具体的な実施形態で半導体集
積回路(図1参照)は、第1のデータバス(200)には乗除
算器(14)、関数演算器(15)、浮動小数点演算プロセッサ
の少なくともひとつである補助演算モジュールが接続さ
れているので、チップ内部のデータ論理演算を主に処理
する第1のプロセッサ(100)の演算機能がこの補助演算
モジュールによって補助されることができる。本発明の
その他の目的と特徴は、以下の実施例から明らかとなろ
う。
In a more specific embodiment of the present invention, a semiconductor integrated circuit (see FIG. 1) has a first data bus (200) having a multiplier / divider (14), a function calculator (15), and a floating point calculator. Since the auxiliary arithmetic module, which is at least one of the processors, is connected, the arithmetic function of the first processor (100) mainly processing the data logic operation in the chip can be assisted by this auxiliary arithmetic module. Other objects and features of the present invention will be apparent from the following examples.

【0015】[0015]

【実施例】以下、本発明の実施例を、図面を用いて詳細
に説明する。本発明の実施例においては、基本的に、1
チップ内に命令セットのほとんどの命令を実行可能な2
つのプロセッサ100,101を内蔵し、それぞれのプ
ロセッサに接続される2組の内部バス202,200;
204,201を備えることで、データ演算処理用のプ
ロセッサ100と周辺モジュール処理用のプロセッサ1
01とに分けることができる。さらに、プロセッサ10
1と周辺モジュール11,12,13とには割込み制御
回路17が接続され、割込み制御回路17は周辺モジュ
ール11,12,13からの割込み要求250を周辺モ
ジュール処理用のプロセッサ101に転送することによ
り、データ演算処理用のプロセッサ100に対して周辺
モジュール11,12,13からの割込み要求が無くな
るため、プロセッサ100のデータ演算処理の効率が向
上することが可能となる。さらに、2組の内部バス20
2,200;204,201に選択回路18,19を接
続し、外部ポートよりチップ外部の外部アドレスバス2
2と外部データバス21への接続が可能となるようにす
ることで、少ない面積でシングルチップマイクロコンピ
ュータを実現することが可能となる。
Embodiments of the present invention will be described below in detail with reference to the drawings. In the embodiment of the present invention, basically, 1
2 which can execute most of the instructions in the chip
Two sets of internal buses 202, 200, each of which has one processor 100, 101 and is connected to each processor;
By including 204 and 201, the processor 100 for data arithmetic processing and the processor 1 for peripheral module processing
It can be divided into 01 and. Further, the processor 10
1 and the peripheral modules 11, 12, and 13 are connected to the interrupt control circuit 17, and the interrupt control circuit 17 transfers the interrupt request 250 from the peripheral modules 11, 12, and 13 to the processor 101 for processing the peripheral module. Since there is no interrupt request from the peripheral modules 11, 12, 13 to the processor 100 for data arithmetic processing, the efficiency of data arithmetic processing of the processor 100 can be improved. Furthermore, two sets of internal buses 20
2, 200; 204, 201 are connected to the selection circuits 18 and 19, and the external address bus 2 outside the chip is connected to the external port.
2 and the external data bus 21 can be connected, a single-chip microcomputer can be realized with a small area.

【0016】図1に、マルチCPUシングルチップマイ
クロコンピュータの1チップの内のブロック構成を示
す。チップ内部の演算系内部データバス200および演
算系アドレスバス202には、演算系CPU100、乗
除算器14、音声・画像処理等で有用な三角関数等の関
数演算器15が接続され、さらには浮動小数点演算プロ
セッサ等の補助演算モジュールが接続されことができ
る。CPU100は加算、減算、反転等の処理を行う論
理演算ユニット(ALU)とビットシフト等のシフト処理
を行うバレルシフタ等を含むのみであり、乗除算、関数
演算、浮動小数点演算等に関するCPU100のデータ
演算処理機能は充分とは言えない。この補助演算モジュ
ール14,15は、これらのデータ演算処理機能を補助
する。関数演算器15は例えば、参画関数sinX=Y
の複数の入力X0,X1…Xnとその複数の出力Y0,Y1
…Ynとを格納したルックアップテーブルで構成される
ことができ、このルックアップテーブルは複数の入力X
0,X1…Xnを格納キーと検索キーとして、格納キーと
検索キーと一致により、出力データを出力する連想メモ
リにより構成することが望ましい。一方、I/O系内部
データバス201およびI/O系アドレスバス204に
は、I/O系CPU101、タイマ11、A/Dおよび
D/A変換器12、シリアル入出力インターフェース1
3等の周辺モジュールが接続される。この周辺モジュー
ルの機能と動作は既に説明した通りである。さらに図示
されてはいないが、このI/O系内部データバス20
1、I/O系アドレスバス204には、従来のシングル
チップマイクロコンピュータに組込まれていたDMA
(ダイレクトメモリアクセス)コントローラ等の内蔵周辺
回路を接続することが望ましい。内蔵メモリ10、内部
/外部バス制御回路16、割込み制御回路17は、演算
系バス200および202、I/O系内部データバス2
01およびI/O系アドレスバス204の両者に接続さ
れる。また、内蔵メモリ10は、演算系CPU100と
I/O系CPU101とからアクセスされるシェアドメ
モリ(共有メモリ)としての機能と、演算系CPU100
とI/O系CPU101といずれか一方からアクセスさ
れるプライベートメモリ(私有メモリ)としての機能とを
有する。尚、内蔵メモリ10は、スタティックRAM、
マスクROM、不揮発性メモリ(EPROM、EEPR
OM等)等により構成されることができる。演算系CP
U100とI/O系CPU101とは、シングルチップ
マイクロコンピュータの命令セットのほとんどの同一命
令コードで動作するCPUである。演算系CPU100
は主に音声画像処理等のデータ演算処理を行ない、I/
O系CPU101は外部デバイスとこのシングルチップ
マイクロコンピュータとの間のデータ入出力処理を主に
行なう。シングルチップマイクロコンピュータ等、一般
のロジックLSIでは、外部ピン数の制約がある。その
ため、チップ内部では演算系とI/O系に分離されてい
たアドレスとデータの内部バス202,200;20
4,204も、チップ外部とのインタフェース(外部ピ
ン)部分ではマルチプレックスさせる必要が有る。従っ
て、演算系データバス200とI/O系データバス20
1は、選択回路としてのマルチプレクサ18に入力さ
れ、このマルチプレクサ18を介して外部データバス2
1に接続される。同様に、演算系アドレスバス202と
I/O系アドレスバス204は、マルチプレクサ19に
入力され、このマルチプレクサ19を介して外部アドレ
スバス22に接続される。チップ外部のデバイスとのデ
ータの受け渡しは、この外部データバス21、外部アド
レスバス22と、バスサイクルの期間延長制御を行なう
WAIT制御信号23を用いて行なう。従って、演算系
CPU100とI/O系CPU101とは、内部バス2
02,200;204,204とマルチプレクサ18,
19と外部データバス21と外部アドレスバス22とを
介して、外部メモリ等の外部デバイスをアクセスするこ
とができる。内部/外部バス制御回路16は、演算系C
PU100あるいはI/O系CPU101から出力され
るアドレス情報202、204に従い、アドレスマップ
されたチップ内部の内蔵メモリ10、周辺モジュール1
1、12、13、補助演算モジュール14、15の各種
レジスタ、および、チップ外部の外部デバイスとの間の
データ転送サイクルを制御する。外部デバイスとのデー
タ転送を行なう場合には、演算系あるいはI/O系のど
ちらの内部バスと外部デバイスとを接続させるかを制御
信号20で指定する。バスサイクル終了時点では、演算
系CPU100に対しては制御信号24で、I/O系C
PU101に対しては制御信号25で、バスサイクルが
完了したことを知らせ、次のデータ転送要求を行なうよ
うに指令する。割込み制御回路17には、タイマ11、
A/DおよびD/A変換器12、シリアル入出力インタ
ーフェース13等の内蔵の周辺モジュールから出力され
る内部割込み要求信号250と、チップ外部から入力さ
れる外部割込み要求信号249とを入力される。これら
の割込み要求をもとに、演算系CPU100に対する割
込みは割込み要求信号245で、I/O系CPU101
に対する割込みは割込み要求信号247で、割込み処理
を起動させる。外部割込み要求信号249は電源異常な
どによる割込みであり、タイマ11、A/DおよびD/
A変換器12、シリアル入出力インターフェース13等
の内蔵の周辺モジュールから出力される内部割込み要求
信号250については、実施例の前に既に詳細に説明し
た通りである。尚、割込み処理後に実行すべきプログラ
ムアドレスを指定するためのベクタ番号は、割込み制御
回路17と2つのCPU100、101間の専用バス
(図1の破線)を介して指定する方法と、図1に示すよう
に2つの内部データバス200、201とを介して指定
する方法とを採ることができる。以上説明したように本
実施例のマルチCPUシングルチップマイクロコンピュ
ータは、内部/外部バス制御回路16、割込み制御回路
17、内蔵メモリ10を演算系CPU100とI/O系
CPU101で共有させ、2つのシングルチップマイク
ロコンピュータを1チップ化させた構成となっている。
そのため、共有化させた部分の動作を考えなければ、そ
れぞれのCPU100、101は、従来のシングルチッ
プマイクロコンピュータと同様な動作を行なう。
FIG. 1 shows a block configuration within one chip of a multi-CPU single-chip microcomputer. The arithmetic system internal data bus 200 and the arithmetic system address bus 202 in the chip are connected to the arithmetic system CPU 100, the multiplier / divider 14, and the functional arithmetic unit 15 such as a trigonometric function useful in voice / image processing and the like. An auxiliary arithmetic module such as a decimal point arithmetic processor can be connected. The CPU 100 only includes a logical operation unit (ALU) that performs processing such as addition, subtraction and inversion, and a barrel shifter that performs shift processing such as bit shift, and the data operation of the CPU 100 relating to multiplication / division, function operation, floating point operation, etc. The processing function is not sufficient. The auxiliary arithmetic modules 14 and 15 assist these data arithmetic processing functions. The function calculator 15 is, for example, a participation function sinX = Y.
Of inputs X 0 , X 1 ... X n and its outputs Y 0 , Y 1
, Y n and a look-up table that stores Y n, and the look-up table may include a plurality of inputs X.
It is desirable that the associative memory that outputs the output data when 0 , X 1 ... X n are used as the storage key and the search key and the storage key and the search key match. On the other hand, the I / O system internal data bus 201 and the I / O system address bus 204 include an I / O system CPU 101, a timer 11, an A / D and D / A converter 12, and a serial input / output interface 1.
Peripheral modules such as 3 are connected. The function and operation of this peripheral module are as described above. Although not shown, the I / O system internal data bus 20
1. The I / O system address bus 204 has a DMA built in a conventional single-chip microcomputer.
(Direct memory access) It is desirable to connect a built-in peripheral circuit such as a controller. The internal memory 10, the internal / external bus control circuit 16, and the interrupt control circuit 17 are used for the operation system buses 200 and 202 and the I / O system internal data bus 2.
01 and I / O system address bus 204. Further, the built-in memory 10 has a function as a shared memory (shared memory) accessed by the arithmetic CPU 100 and the I / O CPU 101, and the arithmetic CPU 100.
And a function as a private memory (private memory) accessed from either the I / O system CPU 101 or the I / O system CPU 101. The built-in memory 10 is a static RAM,
Mask ROM, non-volatile memory (EPROM, EEPR
OM etc.) and the like. Operation system CP
The U100 and the I / O system CPU 101 are CPUs that operate with almost the same instruction code of the instruction set of the single-chip microcomputer. Arithmetic CPU 100
Mainly performs data operation processing such as voice image processing, and I /
The O-system CPU 101 mainly performs data input / output processing between an external device and this single-chip microcomputer. A general logic LSI such as a single-chip microcomputer has a limitation on the number of external pins. Therefore, the address and data internal buses 202, 200; 20 separated into the operation system and the I / O system inside the chip
4, 204 also need to be multiplexed in the interface (external pin) portion with the outside of the chip. Therefore, the arithmetic data bus 200 and the I / O data bus 20
1 is input to the multiplexer 18 as a selection circuit, and the external data bus 2 is input via this multiplexer 18.
Connected to 1. Similarly, the arithmetic address bus 202 and the I / O address bus 204 are input to the multiplexer 19 and connected to the external address bus 22 via the multiplexer 19. Data is exchanged with a device external to the chip by using the external data bus 21, the external address bus 22, and the WAIT control signal 23 for controlling the extension of the bus cycle period. Therefore, the arithmetic CPU 100 and the I / O CPU 101 are connected to the internal bus 2
02,200; 204,204 and multiplexer 18,
An external device such as an external memory can be accessed via the 19, the external data bus 21, and the external address bus 22. The internal / external bus control circuit 16 is an arithmetic system C
According to the address information 202 and 204 output from the PU 100 or the I / O system CPU 101, the internal memory 10 in the chip and the peripheral module 1 that are address-mapped
It controls the data transfer cycle between the registers 1, 12, 13 and various registers of the auxiliary arithmetic modules 14, 15 and external devices outside the chip. When data is transferred to an external device, the control signal 20 specifies which internal bus of the operation system or the I / O system is connected to the external device. At the end of the bus cycle, the control signal 24 is sent to the arithmetic CPU 100 and the I / O C
The PU 101 is informed by the control signal 25 that the bus cycle is completed, and is instructed to make the next data transfer request. The interrupt control circuit 17 includes a timer 11,
An internal interrupt request signal 250 output from a built-in peripheral module such as the A / D and D / A converter 12 and the serial input / output interface 13, and an external interrupt request signal 249 input from outside the chip are input. Based on these interrupt requests, the interrupt to the arithmetic system CPU 100 is the interrupt request signal 245, and the I / O system CPU 101
Is an interrupt request signal 247 and activates interrupt processing. The external interrupt request signal 249 is an interrupt due to a power failure or the like, and the timer 11, A / D and D /
The internal interrupt request signal 250 output from the built-in peripheral modules such as the A converter 12 and the serial input / output interface 13 has been described in detail before the embodiment. The vector number for designating the program address to be executed after the interrupt processing is a dedicated bus between the interrupt control circuit 17 and the two CPUs 100 and 101.
A method of designating via (indicated by a broken line in FIG. 1) and a method of designating via two internal data buses 200 and 201 as shown in FIG. 1 can be adopted. As described above, in the multi-CPU single-chip microcomputer of this embodiment, the internal / external bus control circuit 16, the interrupt control circuit 17, and the built-in memory 10 are shared by the arithmetic CPU 100 and the I / O CPU 101, and two single CPUs are shared. The chip microcomputer is configured as one chip.
Therefore, if the operation of the shared portion is not considered, the respective CPUs 100 and 101 perform the same operation as that of the conventional single chip microcomputer.

【0017】図1に示した内蔵メモリ10を具体的に実
現する例として、図2にマルチCPUのシェアドメモリ
部におけるメモリ割当ての構成を示す。図2は、演算系
CPU100のデータ演算処理効率の低下を防ぎつつ、
演算系CPU100およびI/O系CPU101へのシ
ェアドメモリの割り振りを可変にする構成を示した図で
ある。
As a concrete example of realizing the built-in memory 10 shown in FIG. 1, FIG. 2 shows a memory allocation configuration in a shared memory unit of a multi-CPU. FIG. 2 is a block diagram for preventing a decrease in data calculation processing efficiency of the calculation system CPU 100.
FIG. 3 is a diagram showing a configuration in which allocation of shared memory to arithmetic CPU 100 and I / O CPU 101 is variable.

【0018】図2は、演算系CPU100、アドレスデ
コーダ102、メモリ割当てレジスタ108、選択回路
107、シェアドメモリA104、シェアドメモリB1
05、I/O系CPU101、アドレスデコーダ103
より構成されている。メモリ割当てレジスタ108は、
I/O系CPU101から書き込まれた値を2つのアド
レスデコーダ102、103と選択回路107に出力す
る。アドレスデコーダ102および103はメモリ割当
てレジスタ108の値により、メモリを選択するCS4
信号211、CS5信号212、CS6信号213、C
S7信号214を制御する。選択回路107は、メモリ
割当てレジスタ108の値により、シェアドメモリA1
04およびシェアドメモリB105を演算系CPU10
0とI/O系CPU101のどちらに論理的に接続する
かを決めるSL0信号215、SL1信号216を制御
する。演算系内部データバス200は、シェアドメモリ
A104およびシェアドメモリB105に接続されてい
る。演算系アドレスバス202は、演算系下位アドレス
220を通してシェアドメモリA104に接続されてい
る。演算系アドレスバス202は、演算系下位アドレス
221を通してシェアドメモリB105に接続されてい
る。また演算系アドレスバス202の上位アドレスは、
演算系上位アドレス203を通してアドレスデコーダ1
02に接続されている。I/O系内部データバス201
は、シェアドメモリA104およびシェアドメモリB1
05に接続されている。I/O系アドレスバス204
は、I/O系下位アドレス222を通してシェアドメモ
リA104に接続されている。I/O系アドレスバス2
04は、I/O系下位アドレス223を通してシェアド
メモリB105に接続されている。またI/O系アドレ
スバス204の上位アドレスは、I/O系上位アドレス
205を通してアドレスデコーダ103に接続されてい
る。メモリ割当てレジスタ108は、信号線206を通
してI/O系内部データバス201に接続されている。
メモリ割当てレジスタ108は、信号線209、210
を通してアドレスデコーダ102および選択回路107
に接続されている。メモリ割当てレジスタ108は、信
号線207、208を通してアドレスデコーダ103に
接続されている。アドレスデコーダ102より出力され
たCS4信号211およびCS5信号212は、それぞ
れシェアドメモリA104およびシェアドメモリB10
5に接続されている。アドレスデコーダ103より出力
されたCS6信号213およびCS7信号214は、そ
れぞれシェアドメモリA104およびシェアドメモリB
105に接続されている。選択回路107より出力され
たSL0信号215およびSL1信号216は、シェア
ドメモリA104およびシェアドメモリB105にそれ
ぞれ接続されている。
FIG. 2 shows an arithmetic CPU 100, an address decoder 102, a memory allocation register 108, a selection circuit 107, a shared memory A104, a shared memory B1.
05, I / O system CPU 101, address decoder 103
It is composed of The memory allocation register 108
The value written from the I / O system CPU 101 is output to the two address decoders 102 and 103 and the selection circuit 107. The address decoders 102 and 103 select the memory according to the value of the memory allocation register 108 CS4
Signal 211, CS5 signal 212, CS6 signal 213, C
Control the S7 signal 214. The selection circuit 107 selects the shared memory A1 according to the value of the memory allocation register 108.
04 and the shared memory B105 as the arithmetic CPU 10
It controls the SL0 signal 215 and the SL1 signal 216 that determine which of 0 and the I / O system CPU 101 is logically connected. The arithmetic system internal data bus 200 is connected to the shared memory A 104 and the shared memory B 105. The operation system address bus 202 is connected to the shared memory A 104 through the operation system lower address 220. The operation system address bus 202 is connected to the shared memory B105 through the operation system lower address 221. The upper address of the arithmetic address bus 202 is
Address decoder 1 through arithmetic system upper address 203
02 is connected. I / O system internal data bus 201
Is shared memory A104 and shared memory B1
05 is connected. I / O system address bus 204
Are connected to the shared memory A 104 through the I / O system lower address 222. I / O system address bus 2
04 is connected to the shared memory B105 through the I / O system lower address 223. Further, the upper address of the I / O system address bus 204 is connected to the address decoder 103 through the I / O system upper address 205. The memory allocation register 108 is connected to the I / O system internal data bus 201 through a signal line 206.
The memory allocation register 108 includes signal lines 209 and 210.
Through address decoder 102 and selection circuit 107
It is connected to the. The memory allocation register 108 is connected to the address decoder 103 via signal lines 207 and 208. The CS4 signal 211 and the CS5 signal 212 output from the address decoder 102 are shared memory A104 and shared memory B10, respectively.
Connected to 5. The CS6 signal 213 and the CS7 signal 214 output from the address decoder 103 are the shared memory A 104 and the shared memory B, respectively.
It is connected to 105. The SL0 signal 215 and the SL1 signal 216 output from the selection circuit 107 are connected to the shared memory A104 and the shared memory B105, respectively.

【0019】演算系CPU100のメモリマップを図3
に示す。この図3より、H’00000000からH’
7FFFFFFFに外部メモリ空間を、H’80000
000からH’9FFFFFFFに内部メモリ空間を、
H’A0000000からH’BFFFFFFFにメモ
リ割当て空間0、1をそれぞれ設けており、それ以外に
はメモリが設けられていないことがわかる。I/O系C
PU101のメモリマップを図4に示す。この図4よ
り、H’00000000からH’7FFFFFFFに
外部メモリ空間を、H’80000000からH’9F
FFFFFFに内部メモリ空間を、H’A000000
0からH’BFFFFFFFにメモリ割当て空間0、1
を、H’C0000000からH’FFFFFFFFに
内部メモリ空間をそれぞれ設けていることがわかる。
尚、図2のメモリ割当てレジスタ108にセットされた
値に従って、演算系CPU100とI/O系CPU10
1のメモリ割当て空間0、1にシェアドメモリA104
およびシェアドメモリB105を割当てる。
A memory map of the arithmetic system CPU 100 is shown in FIG.
Shown in. From this figure 3, from H'00000000 to H '
External memory space in 7FFFFFFF, H'80000
000 to H'9FFFFFFF, internal memory space,
It can be seen that the memory allocation spaces 0 and 1 are provided in H'A00000000 to H'BFFFFFF, respectively, and no other memory is provided. I / O system C
The memory map of PU101 is shown in FIG. From FIG. 4, the external memory space is set from H'00000000 to H'7FFFFFFF, and from H'80000000 to H'9F.
FFFFFF with internal memory space, H'A000000
0 to H'BFFFFFFF memory allocation space 0, 1
From H'C0000000 to H'FFFFFFFF, it is understood that the internal memory spaces are provided.
In addition, according to the value set in the memory allocation register 108 of FIG.
Shared memory A104 in memory allocation space 0, 1
And the shared memory B105 is allocated.

【0020】メモリ割当てレジスタ108の構成を図5
に示す。図2に示すように、メモリ割当てレジスタ10
8は、信号線206およびI/O系内部データバス20
1を通して、I/O系CPU101より読書き可能であ
る。メモリ割当てレジスタ108は、MD1、MD0の
2ビットより構成されている。メモリ割当てレジスタ1
08の2ビットMD1、MD0値をセットした時の演算
系CPU100とI/O系CPU101のメモリマップ
を図6に示す。図6より、モード00では演算系CPU
100側にメモリが全て割当てられ、モード01では演
算系CPU100とI/O系CPU101にそれぞれメ
モリが割当てられ、モード10では演算系CPU100
側にはメモリが割当てられないことがわかる。モード1
1は定義していない。
The structure of the memory allocation register 108 is shown in FIG.
Shown in. As shown in FIG. 2, the memory allocation register 10
8 is a signal line 206 and an I / O system internal data bus 20.
1 can be read and written by the I / O CPU 101. The memory allocation register 108 is composed of 2 bits of MD1 and MD0. Memory allocation register 1
FIG. 6 shows a memory map of the arithmetic CPU 100 and the I / O CPU 101 when the 2-bit MD1 and MD0 values of 08 are set. From FIG. 6, in the mode 00, the arithmetic CPU
All the memory is allocated to the 100 side, the memory is allocated to each of the arithmetic CPU 100 and the I / O CPU 101 in the mode 01, and the arithmetic CPU 100 in the mode 10.
It can be seen that no memory is allocated on the side. Mode 1
1 is not defined.

【0021】演算系CPU100側のアドレスデコーダ
102のブロック図を図7に示す。この図より、演算系
上位アドレス203のうちA31、A30、A29、A
28とMD1、MD0で、CS4信号211とCS5信
号212を制御していることがわかる。CS4信号21
1とCS5信号212は、それぞれシェアドメモリA1
04、シェアドメモリB105を選択するための信号線
である。
A block diagram of the address decoder 102 on the arithmetic system CPU 100 side is shown in FIG. From this figure, A31, A30, A29, A of the arithmetic system upper address 203
28, MD1 and MD0 control the CS4 signal 211 and the CS5 signal 212. CS4 signal 21
1 and CS5 signal 212 are shared memory A1 respectively.
04, a signal line for selecting the shared memory B105.

【0022】図7に示したアドレスデコーダ102の機
能を、図8に示す。
The function of the address decoder 102 shown in FIG. 7 is shown in FIG.

【0023】A31=0の時は、外部空間を指定するの
で、CS4信号211、CS5信号212にはメモリを
選択しないために0を出力する。(A31、A30)=
(1、1)は、H’C0000000からH’FFFF
FFFFの空間を指定し、(A31、A30、A29)
=(1、0、0)の時は内部メモリ空間を指定するの
で、CS4信号211、CS5信号212には0を出力
する。(A31、A30、A29、A28)=(1、
0、1、0)の時は、メモリ割当て空間0を指定する。
この時は、MD1、MD0の値によってCS4信号21
1、CS5信号212の値が決定される。(MD1、M
D0)=(0、0)と(0、1)の時は、メモリ割当て
空間0にシェアドメモリA104を割当てるので、シェ
アドメモリA104を選択するCS4信号211に1、
シェアドメモリB105を選択するCS5信号212に
0を出力する。(MD1、MD0)=(1、0)の時
は、メモリ割当て空間0にはメモリを割当てないので、
CS4信号211、CS5信号212ともに0を出力す
る。(MD1、MD0)=(1、1)の時は、モードを
定義していないので、CS4信号211、CS5信号2
12ともにdon't care(以後 *と記述)とする。(A3
1、A30、A29、A28)=(1、0、1、1)の
時は、メモリ割当て空間1を指定する。この時は、MD
1、MD0の値によってCS4信号211、CS5信号
212の値が決定される。(MD1、MD0)=(0、
0)の時は、メモリ割当て空間1にシェアドメモリB1
05を割当てるので、シェアドメモリA104を選択す
るCS4信号211に0、シェアドメモリB105を選
択するCS5信号212に1を出力する。(MD1、M
D0)=(0、1)と(1、0)の時は、メモリ割当て
空間1にはメモリを割当てないので、CS4信号21
1、CS5信号212ともに0を出力する。(MD1、
MD0)=(1、1)の時は、モードを定義していない
ので、CS4信号211、CS5信号212ともに*と
する。
When A31 = 0, the external space is designated, so that 0 is output to the CS4 signal 211 and the CS5 signal 212 to select no memory. (A31, A30) =
(1, 1) is from H'C0000000 to H'FFFF
Specify the FFFF space (A31, A30, A29)
When = (1, 0, 0), since the internal memory space is designated, 0 is output to the CS4 signal 211 and the CS5 signal 212. (A31, A30, A29, A28) = (1,
In the case of 0, 1, 0), the memory allocation space 0 is designated.
At this time, the CS4 signal 21 depends on the values of MD1 and MD0.
1, the value of the CS5 signal 212 is determined. (MD1, M
When D0) = (0,0) and (0,1), the shared memory A104 is allocated to the memory allocation space 0. Therefore, the CS4 signal 211 for selecting the shared memory A104 is 1,
0 is output to the CS5 signal 212 for selecting the shared memory B105. When (MD1, MD0) = (1,0), no memory is allocated to the memory allocation space 0.
The CS4 signal 211 and the CS5 signal 212 both output 0. When (MD1, MD0) = (1, 1), the mode is not defined, so CS4 signal 211, CS5 signal 2
Both 12 are don't care (*). (A3
When 1, A30, A29, A28) = (1, 0, 1, 1), the memory allocation space 1 is designated. At this time, MD
The values of CS4 signal 211 and CS5 signal 212 are determined by the values of 1 and MD0. (MD1, MD0) = (0,
0), the shared memory B1 is allocated to the memory allocation space 1.
Since 05 is allocated, 0 is output to the CS4 signal 211 that selects the shared memory A104, and 1 is output to the CS5 signal 212 that selects the shared memory B105. (MD1, M
When D0) = (0,1) and (1,0), since the memory is not allocated to the memory allocation space 1, the CS4 signal 21
Both 1 and CS5 signal 212 output 0. (MD1,
When MD0) = (1,1), the mode is not defined, so both CS4 signal 211 and CS5 signal 212 are set to *.

【0024】図2のI/O系CPU101側のアドレス
デコーダ103のブロック図を図9に示す。この図よ
り、I/O系上位アドレス205のうちA31、A3
0、A29、A28とMD1、MD0で、CS6信号2
13とCS7信号214を制御していることがわかる。
FIG. 9 is a block diagram of the address decoder 103 on the I / O system CPU 101 side of FIG. From this figure, A31 and A3 of the I / O system upper address 205
0, A29, A28 and MD1, MD0, CS6 signal 2
13 and the CS7 signal 214 is controlled.

【0025】図9に示したアドレスデコーダ103の機
能を、図10に示す。図10の機能表の考え方は、図8
の機能表の考え方と基本的には同じなので詳細な説明は
省略する。図8と異なるところは、モードを指定した時
にメモリ割当て空間へのメモリの割当て方が演算系CP
U100とI/O系CPU101では正反対のため、C
S6信号213、CS7信号214の出力値が、CS4
信号211、CS5信号212の値と異なるという点で
ある。
The function of the address decoder 103 shown in FIG. 9 is shown in FIG. The concept of the function table of FIG. 10 is as shown in FIG.
Since the concept of the function table is basically the same, detailed description is omitted. The difference from FIG. 8 is that when the mode is specified, the method of allocating memory to the memory allocation space is the operation system CP.
Since U100 and I / O CPU 101 are the opposite, C
The output values of the S6 signal 213 and the CS7 signal 214 are CS4
It is different from the values of the signal 211 and the CS5 signal 212.

【0026】図11に選択回路107のブロック図を示
す。この図より、MD1、MD0でSL0信号215、
SL1信号216を制御していることがわかる。
FIG. 11 shows a block diagram of the selection circuit 107. From this figure, SL1 signal 215 for MD1 and MD0,
It can be seen that the SL1 signal 216 is controlled.

【0027】選択回路107の機能を、図12に示す。
機能表において、SL信号は、シェアドメモリに入力さ
れている演算系とI/O系のCS信号、下位アドレスお
よび内部データバスの選択信号であり、信号が1の時は
演算系のCS信号、下位アドレスおよび内部データバス
を選択し、信号が0の時はI/O系のものを選択する。
(MD1、MD0)=(0、0)の時は、シェアドメモ
リA104およびシェアドメモリB105を演算系CP
U100に接続するので、SL0信号215、SL1信
号216ともに1を出力する。(MD1、MD0)=
(0、1)の時は、シェアドメモリA104のみを演算
系CPU100に接続するので、SL0信号215に
1、SL1信号216に0を出力する。(MD1、MD
0)=(1、0)の時は、演算系CPU100にはメモ
リを接続しないので、SL0信号215、SL1信号2
16ともに0を出力する。(MD1、MD0)=(1、
1)の時はサポートしていないモードなので、SL0信
号215、SL1信号216ともに*とする。
The function of the selection circuit 107 is shown in FIG.
In the function table, SL signals are operation system and I / O system CS signals input to the shared memory, lower address and internal data bus selection signals, and when the signal is 1, the operation system CS signals, The lower address and the internal data bus are selected, and when the signal is 0, the I / O type is selected.
When (MD1, MD0) = (0, 0), the shared memory A104 and the shared memory B105 are set to the operation system CP.
Since it is connected to U100, both SL0 signal 215 and SL1 signal 216 output 1. (MD1, MD0) =
In the case of (0, 1), since only the shared memory A104 is connected to the arithmetic system CPU 100, 1 is output to the SL0 signal 215 and 0 is output to the SL1 signal 216. (MD1, MD
When 0) = (1,0), no memory is connected to the arithmetic CPU 100, so that the SL0 signal 215 and the SL1 signal 2
Both 16 output 0. (MD1, MD0) = (1,
In the case of 1), the mode is not supported, so both SL0 signal 215 and SL1 signal 216 are set to *.

【0028】図13に図2のシェアドメモリA104の
構成図を示す。このシェアドメモリA104は、メモリ
109、選択回路110、111、112より構成され
ている。選択回路110は、SL0信号215の値によ
って演算系下位アドレス220とI/O系下位アドレス
バス222の選択を行い、信号線217に出力する。選
択回路111は、SL0信号215の値によって演算系
内部データバス200とI/O系内部データバス201
の選択を行い、信号線218に出力する。選択回路11
2は、SL0信号215の値によって、CS4信号21
1とCS6信号213の選択を行い、信号線219に出
力する。選択回路110、111および112は、SL
0信号が1の時にCS4信号211、演算系下位アドレ
ス220および演算系内部データバス200を選択し、
SL0信号215が0の時にCS6信号213、I/O
系下位アドレス222およびI/O系内部データバス2
01を選択する回路である。シェアドメモリB105も
図13の構成と同じである。以下動作について述べる。
今、モード00を指定してシェアドメモリA104とシ
ェアドメモリB105を2つとも演算系CPU100側
に接続する場合を考える。この時、メモリ割当てレジス
タ108に00を設定する。始めに演算系CPU100
がメモリ割当て空間0へアクセスした場合について述べ
る。この時(A31、A30、A29、A28)=
(1、0、1、0)となる。メモリ割当てレジスタ10
8は、(MD1、MD0)=(0、0)となっているの
で、図8の機能表よりシェアドメモリA104を選択す
るCS4信号211のみに1が出力される。また、選択
回路107は、(MD1、MD0)=(0、0)となっ
ているので、図12の機能表より、演算系CPU100
側にシェアドメモリA104およびシェアドメモリB1
05を接続するためにSL0信号215、SL1信号2
16に1が出力される。シェアドメモリA104は、S
L0信号215が1となっているため、演算系CPU1
00からのCS4信号211、演算系下位アドレス22
0、演算系内部データバス200に接続される。よって
演算系CPU100からシェアドメモリA104へのア
クセスが可能となる。シェアドメモリB105も演算系
CPU100側に接続されるが、CS5信号212が0
のため、演算系CPU100からはアクセスされない。
次に演算系CPU100が、メモリ割当て空間1へアク
セスした場合を考える。図8の機能表より(A31、A
30、A29、A28)=(1、0、1、1)、(MD
1、MD0)=(0、0)なので、CS5信号212の
み1が出力される。選択回路107からは、演算系CP
U100側にシェアドメモリA104およびシェアドメ
モリB105が接続されるように、SL0信号215、
SL1信号216ともに1が出力される。シェアドメモ
リB105は、SL1信号216が1となっているた
め、演算系CPU100からのCS5信号212、演算
系下位アドレス222、演算系内部データバス200に
接続される。よって演算系CPU100からシェアドメ
モリB105へのアクセスが可能となる。シェアドメモ
リA104も演算系CPU100側に接続されるが、C
S4信号211が0のため、演算系CPU100からは
アクセスされない。一方、I/O系CPU101がメモ
リ割当て空間0およびメモリ割当て空間1にアクセスす
ることを考える。図10の機能表より、CS6信号21
3およびCS7信号214には1が出力されない。ま
た、選択回路107から出力されるSL0信号215、
SL1信号216にはシェアドメモリA104とシェア
ドメモリB105を演算系CPU100に接続させるた
めに1が出力されている。そのため、シェアドメモリA
104およびシェアドメモリB105は演算系CPU1
00に接続されて、I/O系CPU101には接続され
ない。従って、I/O系CPU101からは、アクセス
できない。以上のことより、モード00を指定した場合
は、シェアドメモリA104およびシェアドメモリB1
05を演算系CPU100側に接続してしまうので、I
/O系CPU101からはメモリ割当て空間0およびメ
モリ割当て空間1をアクセスすることはできなくなるこ
とがわかる。モードを01、10に設定しても、上記に
述べた動作と同じ動作により図6に示したようなメモリ
の割当て方が行われる。本実施例によれば、メモリ割当
てレジスタ108、メモリ割当てレジスタ108で制御
可能なアドレスデコーダ102、103および選択回路
107を設けることにより、演算系CPU100とI/
O系CPU101に割当てるメモリを可変にすることが
可能となる。さらにメモリ割当てレジスタ108への読
み書きは、I/O系CPU101がすべて行うので、演
算系CPU100のデータ演算処理の効率低下を防ぐこ
とができる。さらにI/O系CPU101がメモリ割当
てレジスタ108への値の書込みができるので、チップ
動作中にメモリ割当てを変えることが可能である。
FIG. 13 shows a block diagram of the shared memory A104 of FIG. The shared memory A104 includes a memory 109 and selection circuits 110, 111 and 112. The selection circuit 110 selects the operation system lower address 220 and the I / O system lower address bus 222 according to the value of the SL0 signal 215, and outputs it to the signal line 217. The selection circuit 111 uses the value of the SL0 signal 215 to determine the operation system internal data bus 200 and the I / O system internal data bus 201.
Is selected and output to the signal line 218. Selection circuit 11
2 depends on the value of the SL0 signal 215 and the CS4 signal 21
1 and the CS6 signal 213 are selected and output to the signal line 219. The selection circuits 110, 111 and 112 are SL
When the 0 signal is 1, the CS4 signal 211, the operation system lower address 220 and the operation system internal data bus 200 are selected,
CS6 signal 213, I / O when SL0 signal 215 is 0
System lower address 222 and I / O system internal data bus 2
This is a circuit for selecting 01. The shared memory B105 also has the same configuration as that of FIG. The operation will be described below.
Now, consider the case where mode 00 is designated and both shared memory A 104 and shared memory B 105 are connected to the arithmetic CPU 100 side. At this time, 00 is set in the memory allocation register 108. First, CPU 100
Will access the memory allocation space 0. At this time (A31, A30, A29, A28) =
It becomes (1, 0, 1, 0). Memory allocation register 10
Since 8 is (MD1, MD0) = (0, 0), 1 is output only to the CS4 signal 211 that selects the shared memory A104 from the function table of FIG. Further, since the selection circuit 107 has (MD1, MD0) = (0, 0), from the function table of FIG.
Shared memory A104 and shared memory B1 on the side
SL0 signal 215, SL1 signal 2 to connect 05
1 is output to 16. Shared memory A104 is S
Since the L0 signal 215 is 1, the arithmetic CPU 1
CS4 signal 211 from 00, operation system lower address 22
0, connected to the operation system internal data bus 200. Therefore, it becomes possible to access the shared memory A 104 from the arithmetic CPU 100. The shared memory B105 is also connected to the arithmetic system CPU 100 side, but the CS5 signal 212 is 0.
Therefore, it is not accessed from the arithmetic CPU 100.
Next, consider a case where the arithmetic CPU 100 accesses the memory allocation space 1. From the function table of FIG. 8 (A31, A
30, A29, A28) = (1, 0, 1, 1), (MD
Since 1, MD0) = (0,0), only 1 is output as the CS5 signal 212. From the selection circuit 107, the operation system CP
The SL0 signal 215, so that the shared memory A104 and the shared memory B105 are connected to the U100 side,
1 is output for both SL1 signals 216. Since the SL1 signal 216 is 1, the shared memory B105 is connected to the CS5 signal 212 from the arithmetic CPU 100, the arithmetic lower address 222, and the arithmetic internal data bus 200. Therefore, it becomes possible to access the shared memory B105 from the arithmetic CPU 100. The shared memory A104 is also connected to the arithmetic CPU 100 side, but C
Since the S4 signal 211 is 0, it is not accessed by the arithmetic CPU 100. On the other hand, consider that the I / O system CPU 101 accesses the memory allocation space 0 and the memory allocation space 1. From the function table of FIG. 10, the CS6 signal 21
No 1 is output for the 3 and CS7 signals 214. Further, the SL0 signal 215 output from the selection circuit 107,
1 is output to the SL1 signal 216 in order to connect the shared memory A104 and the shared memory B105 to the arithmetic CPU 100. Therefore, shared memory A
104 and the shared memory B105 are the arithmetic CPU 1
00 and not to the I / O CPU 101. Therefore, it cannot be accessed from the I / O system CPU 101. From the above, when the mode 00 is designated, the shared memory A104 and the shared memory B1
05 will be connected to the arithmetic system CPU 100 side, so I
It is understood that the memory allocation space 0 and the memory allocation space 1 cannot be accessed from the / O system CPU 101. Even if the mode is set to 01 and 10, the memory allocation shown in FIG. 6 is performed by the same operation as described above. According to the present embodiment, by providing the memory allocation register 108, the address decoders 102 and 103 controllable by the memory allocation register 108, and the selection circuit 107, the arithmetic CPU 100 and the I / O
It is possible to make the memory allocated to the O-system CPU 101 variable. Further, since the I / O system CPU 101 performs all reading and writing from and to the memory allocation register 108, it is possible to prevent a decrease in the efficiency of the data computing process of the computing CPU 100. Further, since the I / O system CPU 101 can write a value to the memory allocation register 108, it is possible to change the memory allocation during the chip operation.

【0029】また、チップ動作開始時に外部からメモリ
割当てレジスタ108にデータを書き込むことで、ユー
ザごとにプログラマブルにメモリ割当てを行うこともで
きる。その構成例を図14に示す。図14はパッド12
9、パッド130、パストランジスタ131、パストラ
ンジスタ132およびメモリ割当てレジスタ108より
構成されている。接続関係を以下に示す。パッド129
は、信号線260を通してパストランジスタ131に接
続されている。書込み信号線259は、パストランジス
タ131に接続されている。パストランジスタ131
は、信号線261を通してメモリ割当てレジスタ108
のMD1ビットに接続されている。パッド130は、信
号線262を通してパストランジスタ132に接続され
ている。書込み信号線259は、パストランジスタ13
2に接続されている。パストランジスタ132は、信号
線263を通してメモリ割当てレジスタ108のMD0
ビットに接続されている。動作を説明する。チップ動作
開始時に、パッド129およびパッド130にメモリ割
当てレジスタ108にセットしたい値を印加する。書込
み信号線259に信号を送る。書込み信号線259の信
号は、パストランジスタ131およびパストランジスタ
132のゲートに入力される。パストランジスタ131
およびパストランジスタ132は、書込み信号線259
より信号が入力されると、ON状態になる。パストラン
ジスタ131がON状態になると、パッド129に印加
された値は、信号線260、パストランジスタ131、
信号線261を通してメモリ割当てレジスタ108のM
D1ビットに入力される。パッド130に印加された値
も同様に、信号線262、パストランジスタ132、信
号線263を通してメモリ割当てレジスタ108のMD
0ビットに入力される。以上のように、メモリ割当てレ
ジスタ108にパッド129、パッド130、パストラ
ンジスタ131、パストランジスタ132を接続するこ
とにより、チップ動作開始時にユーザがプログラマブル
に演算系CPU100とI/O系CPU101へのメモ
リの割当てが可能になる。上記説明では、信号線259
は書込み信号線としたが、リセット信号線入力しても同
様の機能を実現できる。また、メモリ割当てレジスタ1
08は、不揮発性メモリ(EPROM、EEPROM
等)やヒューズで実現することもできる。尚、本実施例
では2つのシェアドメモリを用いて説明を行ったが、シ
ェアドメモリの数に対応するだけメモリ割当てレジスタ
のビット数を増加させれば、2つ以上のシェアドメモリ
についても同様な効果を実現することが可能である。
Further, by externally writing data to the memory allocation register 108 at the start of the chip operation, it is possible to programmatically allocate memory for each user. An example of the configuration is shown in FIG. FIG. 14 shows the pad 12
9, a pad 130, a pass transistor 131, a pass transistor 132 and a memory allocation register 108. The connection relationship is shown below. Pad 129
Are connected to the pass transistor 131 through the signal line 260. The write signal line 259 is connected to the pass transistor 131. Pass transistor 131
Is allocated via the signal line 261 to the memory allocation register 108.
Connected to the MD1 bit. The pad 130 is connected to the pass transistor 132 through the signal line 262. The write signal line 259 is connected to the pass transistor 13
Connected to 2. The pass transistor 132 is connected to MD0 of the memory allocation register 108 through the signal line 263.
Connected to a bit. The operation will be described. At the start of the chip operation, the value to be set in the memory allocation register 108 is applied to the pads 129 and 130. A signal is sent to the write signal line 259. The signal of the write signal line 259 is input to the gates of the pass transistor 131 and the pass transistor 132. Pass transistor 131
And the pass transistor 132 is connected to the write signal line 259.
When a more signal is input, it turns on. When the pass transistor 131 is turned on, the value applied to the pad 129 changes to the signal line 260, the pass transistor 131,
M of the memory allocation register 108 through the signal line 261
Input to D1 bit. Similarly, the value applied to the pad 130 is the MD of the memory allocation register 108 through the signal line 262, the pass transistor 132, and the signal line 263.
Input to 0 bit. As described above, by connecting the pad 129, the pad 130, the pass transistor 131, and the pass transistor 132 to the memory allocation register 108, the user can programmably store the memory for the arithmetic CPU 100 and the I / O CPU 101 at the start of the chip operation. Can be assigned. In the above description, the signal line 259
Is the write signal line, but the same function can be realized by inputting the reset signal line. Also, memory allocation register 1
08 is a non-volatile memory (EPROM, EEPROM)
Etc.) or a fuse. Although the present embodiment has been described using two shared memories, the same effect can be obtained for two or more shared memories if the number of bits of the memory allocation register is increased by the number of shared memories. Can be realized.

【0030】図1に示した内蔵メモリ10を実現する他
の実施例として、図15にマルチCPUのシェアドメモ
リ部におけるバンク切換えの構成を示す。図15は、演
算系CPU100のメモリマップ上に存在する内部メモ
リ空間に4つのシェアドメモリのうち、2つの任意のシ
ェアドメモリを割当てることを可能にする構成を示した
図である。この構成を用いれば、演算系CPU100は
バンク切換え操作を行うことなく、I/O系CPU10
1より複数のシェアドメモリに書き込まれたデータを次
々に取り込むことが可能となる。すなわち、実施例の前
に詳細に説明したように、一つのバンクへのデータ転送
の終了の度に生成されるI/O系CPU101からの各
割込み要求に応答して演算系CPU100が同一のアク
セスアドレスをアドレスバス202へ送出するにもかか
わらず、レジスタ119の更新情報により同一のアクセ
スアドレスはその都度アドレス変換され、この変換アド
レスは複数のバンク115,116,117,118を
次々に指定するので、演算系CPU100からの同一の
アクセスアドレスによって複数のバンク115,11
6,117,118のデータが次々にアクセスされるこ
とができる。図15は、演算系CPU100、I/O系
CPU101、アドレスデコーダ113、アドレスデコ
ーダ114、シェアドメモリC115、シェアドメモリ
D116、シェアドメモリE117、シェアドメモリF
118、バンク切換えレジスタ119、割込み制御回路
17より構成されている点は図1の実施例と基本的に同
一であり、バンク切換えレジスタ119が付加されてい
る。すなわち、バンク切換えレジスタ119は、信号線
240を通してI/O系内部データバス201に接続さ
れ、SA1信号241、SA0信号242、SB1信号
243、SB0信号244を通してアドレスデコーダ1
13に接続されている。アドレスデコーダ113より出
力されたCS0信号224、CS1信号225、CS2
信号226およびCS3信号227は、それぞれシェア
ドメモリC115、シェアドメモリD116、シェアド
メモリE117およびシェアドメモリF118にそれぞ
れ接続されている。アドレスデコーダ114より出力さ
れたCS8信号228、CS9信号229、CS10信
号230およびCS11信号231は、それぞれシェア
ドメモリC115、シェアドメモリD116、シェアド
メモリE117およびシェアドメモリF118にそれぞ
れ接続されている。演算系CPU100のメモリマップ
を図16に示す。この図16より、H’8000000
0からH’AFFFFFFFに内部メモリ空間A、Bを
設けていることがわかる。I/O系CPU101がバン
ク切換えレジスタ119に値をセットすることにより、
内部メモリ空間A、Bに、シェアドメモリC115、シ
ェアドメモリD116、シェアドメモリE117、シェ
アドメモリF118の中の任意の2つを割当てる。従っ
て、演算系CPU100は、4つのシェアドメモリを同
時に認識することができない。
As another embodiment for realizing the built-in memory 10 shown in FIG. 1, FIG. 15 shows a bank switching configuration in a shared memory section of a multi-CPU. FIG. 15 is a diagram showing a configuration that makes it possible to allocate two arbitrary shared memories among the four shared memories to the internal memory space existing on the memory map of the arithmetic CPU 100. With this configuration, the arithmetic CPU 100 does not perform the bank switching operation and the I / O CPU 10
It becomes possible to take in the data written in a plurality of shared memories one after another. That is, as described in detail before the embodiments, the arithmetic CPU 100 responds to the same access in response to each interrupt request from the I / O CPU 101 generated at the end of data transfer to one bank. Even though the address is sent to the address bus 202, the same access address is converted each time by the update information of the register 119, and this converted address specifies a plurality of banks 115, 116, 117, 118 one after another. , A plurality of banks 115, 11 by the same access address from the arithmetic CPU 100.
6,117,118 data can be accessed one after another. FIG. 15 shows an arithmetic CPU 100, an I / O CPU 101, an address decoder 113, an address decoder 114, a shared memory C115, a shared memory D116, a shared memory E117, and a shared memory F.
The point that it is composed of 118, a bank switching register 119, and an interrupt control circuit 17 is basically the same as the embodiment of FIG. 1, and a bank switching register 119 is added. That is, the bank switching register 119 is connected to the I / O system internal data bus 201 through the signal line 240, and the address decoder 1 through the SA1 signal 241, the SA0 signal 242, the SB1 signal 243, and the SB0 signal 244.
It is connected to 13. CS0 signal 224, CS1 signal 225, CS2 output from the address decoder 113
The signal 226 and the CS3 signal 227 are connected to the shared memory C115, the shared memory D116, the shared memory E117, and the shared memory F118, respectively. The CS8 signal 228, the CS9 signal 229, the CS10 signal 230, and the CS11 signal 231 output from the address decoder 114 are connected to the shared memory C115, the shared memory D116, the shared memory E117, and the shared memory F118, respectively. FIG. 16 shows a memory map of the arithmetic CPU 100. From this Figure 16, H'8000000
It can be seen that the internal memory spaces A and B are provided from 0 to H'AFFFFFFF. By setting the value in the bank switching register 119 by the I / O CPU 101,
Any two of the shared memory C115, the shared memory D116, the shared memory E117, and the shared memory F118 are allocated to the internal memory spaces A and B. Therefore, the arithmetic CPU 100 cannot simultaneously recognize the four shared memories.

【0031】I/O系CPU101のメモリマップを図
17に示す。この図17は、I/O系CPU101から
は、4つのシェアドメモリを同時に認識することができ
ることを示している。よってI/O系CPU101は、
シェアドメモリC115、シェアドメモリD116、シ
ェアドメモリE117およびシェアドメモリF118を
アクセスすることが可能である。
A memory map of the I / O system CPU 101 is shown in FIG. FIG. 17 shows that the I / O CPU 101 can simultaneously recognize four shared memories. Therefore, the I / O system CPU 101
The shared memory C115, shared memory D116, shared memory E117 and shared memory F118 can be accessed.

【0032】バンク切換えレジスタ119の構成を図1
8に示す。バンク切換えレジスタ119は、図15に示
すように信号線240およびI/O系内部データバス2
01を通して、I/O系CPU101より読み書き可能
である。バンク切換えレジスタ119は、SA1、SA
0、SB1、SB0の4ビットより構成されている。S
A1、SA0の2ビットにより、演算系CPU100の
メモリマップ上の内部メモリ空間Aに割当てるシェアド
メモリの設定を行う。SB1、SB0の2ビットによ
り、演算系CPU100のメモリマップ上の内部メモリ
空間Bに割当てるシェアドメモリの設定を行う。
The configuration of the bank switching register 119 is shown in FIG.
8 shows. As shown in FIG. 15, the bank switching register 119 includes a signal line 240 and an I / O system internal data bus 2.
Through 01, the I / O system CPU 101 can read and write. The bank switching register 119 has SA1, SA
It is composed of 4 bits of 0, SB1, and SB0. S
The shared memory to be allocated to the internal memory space A on the memory map of the arithmetic CPU 100 is set by 2 bits of A1 and SA0. The shared memory to be allocated to the internal memory space B on the memory map of the arithmetic CPU 100 is set by 2 bits of SB1 and SB0.

【0033】演算系CPU100側のアドレスデコーダ
113のブロック図を図19に示す。この図19より、
演算系上位アドレス203のうちA31、A28とSA
1信号241、SA0信号242、SB1信号243、
SB0信号244で、CS0信号224、CS1信号2
25、CS2信号226およびCS3信号227を制御
していることがわかる。CS0信号224、CS1信号
225、CS2信号226およびCS3信号227は、
それぞれシェアドメモリC115、シェアドメモリD1
16、シェアドメモリE117、シェアドメモリF11
8を選択するための信号線である。
FIG. 19 shows a block diagram of the address decoder 113 on the arithmetic system CPU 100 side. From this Figure 19,
A31, A28 and SA of the arithmetic system upper address 203
1 signal 241, SA0 signal 242, SB1 signal 243,
SB0 signal 244, CS0 signal 224, CS1 signal 2
25, the CS2 signal 226 and the CS3 signal 227 are controlled. The CS0 signal 224, CS1 signal 225, CS2 signal 226 and CS3 signal 227 are
Shared memory C115 and shared memory D1 respectively
16, shared memory E117, shared memory F11
8 is a signal line for selecting 8.

【0034】アドレスデコーダ113の機能を、図20
に示す。A31=0のときは、外部空間を指定するの
で、CS0信号224、CS1信号225、CS2信号
226およびCS3信号227にはメモリを選択しない
ために0を出力する。(A31、A28)=(1、0)
は、メモリ空間Aを指定する。この場合は、空間A指定
のSA1信号241、SA0信号242の値が有効にな
る。(SA1、SA0)=(0、0)のときは、シェア
ドメモリC115を指定するCS0信号224のみ1が
出力される。(SA1、SA0)=(0、1)のとき
は、シェアドメモリD116を指定するCS1信号22
5のみ1が出力される。(SA1、SA0)=(1、
0)のときは、シェアドメモリE117を指定するCS
2信号226のみ1が出力される。(SA1、SA0)
=(1、1)のときは、シェアドメモリF118を指定
するCS3信号227のみ1が出力される。(A31、
A28)=(1、1)は、メモリ空間Bを指定する。こ
の場合は、空間B指定のSB1信号243、SB0信号
244の値が有効になる。(SB1、SB0)=(0、
0)のときは、シェアドメモリC115を指定するCS
0信号224のみ1が出力される。(SB1、SB0)
=(0、1)のときは、シェアドメモリD116を指定
するCS1信号225のみ1が出力される。(SB1、
SB0)=(1、0)のときは、シェアドメモリE11
7を指定するCS2信号226のみ1が出力される。
(SB1、SB0)=(1、1)のときは、シェアドメ
モリF118を指定するCS3信号227のみ1が出力
される。以下、動作説明を行う。I/O系CPU101
がシェアドメモリC115とシェアドメモリD116に
書込んだデータを演算系CPU100に引き渡す動作に
ついて説明する。I/O系CPU101は、H’C00
00000からH’CFFFFFFFの空間をアクセス
してシェアドメモリC115にデータを書込む。シェア
ドメモリC115へのデータ書込みが終わったら、次に
I/O系CPU101は、H’D0000000から
H’DFFFFFFFの空間をアクセスしてシェアドメ
モリD116にデータを書込む。シェアドメモリC11
5とシェアドメモリD116にデータを書込み終わった
ところで、I/O系CPU101はバンク切換えレジス
タ119に値をセットする。シェアドメモリC115、
シェアドメモリD116、シェアドメモリE117、シ
ェアドメモリF118を表す値をそれぞれ00、01、
10、11とすると、演算系CPU100にシェアドメ
モリC115およびシェアドメモリD116を接続する
ために、バンク切換えレジスタ119に(SA1、SA
0)=(0、0)、(SB1、SB0)=(0、1)の
値をセットする。バンク切換えレジスタ119への値の
セットが終えたところで、I/O系CPU101は演算
系CPU100へ割込み手段により、シェアドメモリC
115、シェアドメモリD116へのデータセット完了
を知らせる。その後I/O系CPU101は、演算系C
PU100がアクセスしないシェアドメモリE117お
よびシェアドメモリF118へデータの書込みを行う。
一方割込みを受けた演算系CPU100は、それまで実
行していたデータ演算処理を中断し、内部メモリ空間A
および内部メモリ空間Bへのデータセットが完了したと
認識して、内部メモリ空間Aおよび内部メモリ空間Bへ
アクセスを開始する。内部メモリ空間Aへアクセスする
ときは、(A31、A28)=(1、0)となる。バン
ク切換えレジスタ119のSA1信号241、SA0信
号242には(SA1、SA0)=(0、0)がセット
されているので、シェアドメモリC115を選択するC
S0信号224のみに1が出力される。従って、内部メ
モリ空間Aへアクセスすると、シェアドメモリC115
をアクセスできる。内部メモリ空間Bへアクセスすると
きは、(A31、A28)=(1、1)となる。バンク
切換えレジスタ119のSB1信号243、SB0信号
244には(SB1、SB0)=(0、1)がセットさ
れているので、シェアドメモリD116を選択するCS
1信号225のみに1が出力される。従って、内部メモ
リ空間Bへアクセスすると、シェアドメモリD116を
アクセスできる。シェアドメモリC115およびシェア
ドメモリD116へのアクセスが終了すると、演算系C
PU100はI/O系CPU101へ割込みを発生さ
せ、アクセスが終了したことを知らせる。その後、演算
系CPU100は本来のデータ演算処理に復帰する。一
方I/O系CPU101は、シェアドメモリE117お
よびシェアドメモリF118へのデータセットが完了し
ていたら、バンク切換えレジスタ119に値をセットし
て、再び演算系CPU100に割込みを発生させる。以
上のことより、I/O系CPU101がメモリへの値の
セットおよびバンク切換え操作を行うので、演算系CP
Uのデータ演算処理効率の低下を防ぎつつ、バンク切換
えが可能となる。尚、演算系CPU100の内部メモリ
空間AにあるシェアドメモリC115、E117は演算
系CPU100の同一のアクセスアドレスH’8000
0000からアクセスされることができ、演算系CPU
100の内部メモリ空間BにあるシェアドメモリD11
6、F118は演算系CPU100の同一のアクセスア
ドレスH’90000000からアクセスされることが
できる。
The function of the address decoder 113 is shown in FIG.
Shown in. When A31 = 0, the external space is designated, and therefore 0 is output to the CS0 signal 224, the CS1 signal 225, the CS2 signal 226, and the CS3 signal 227 because no memory is selected. (A31, A28) = (1,0)
Specifies the memory space A. In this case, the values of the SA1 signal 241 and the SA0 signal 242 designated by the space A are valid. When (SA1, SA0) = (0, 0), only 1 is output as the CS0 signal 224 designating the shared memory C115. When (SA1, SA0) = (0, 1), the CS1 signal 22 that specifies the shared memory D116
Only 5 is output as 1. (SA1, SA0) = (1,
When it is 0), CS that specifies the shared memory E117
Only the 2 signal 226 is output as 1. (SA1, SA0)
When = (1,1), 1 is output only for the CS3 signal 227 designating the shared memory F118. (A31,
A28) = (1,1) specifies the memory space B. In this case, the values of the SB1 signal 243 and the SB0 signal 244 that specify the space B are valid. (SB1, SB0) = (0,
When 0), CS that specifies the shared memory C115
Only the 0 signal 224 is output as 1. (SB1, SB0)
When = (0,1), only 1 is output as the CS1 signal 225 designating the shared memory D116. (SB1,
When SB0) = (1,0), the shared memory E11
Only the CS2 signal 226 designating 7 is output as 1.
When (SB1, SB0) = (1, 1), only 1 is output as the CS3 signal 227 designating the shared memory F118. The operation will be described below. I / O CPU 101
The operation of passing the data written in the shared memory C115 and shared memory D116 to the arithmetic CPU 100 will be described. The I / O CPU 101 is H'C00.
The space of H'CFFFFFFF is accessed from 00000 and the data is written in the shared memory C115. After writing the data to the shared memory C115, the I / O system CPU 101 next accesses the space from H'D0000000 to H'DFFFFFFF and writes the data to the shared memory D116. Shared memory C11
5 and the data is written in the shared memory D116, the I / O system CPU 101 sets a value in the bank switching register 119. Shared memory C115,
The values representing the shared memory D116, shared memory E117, and shared memory F118 are 00, 01, and
10 and 11, in order to connect the shared memory C115 and the shared memory D116 to the arithmetic CPU 100, the bank switching register 119 (SA1, SA
The values 0) = (0,0) and (SB1, SB0) = (0,1) are set. When the setting of the value in the bank switching register 119 is completed, the I / O system CPU 101 interrupts the arithmetic system CPU 100 by the interrupt means.
115, Notify completion of data set to the shared memory D116. After that, the I / O system CPU 101 operates the arithmetic system C
Data is written to the shared memory E117 and the shared memory F118 that the PU 100 does not access.
On the other hand, the arithmetic system CPU 100 that has received the interrupt interrupts the data arithmetic processing that has been executed until then, and the internal memory space A
And recognizing that the data set to the internal memory space B is completed, the access to the internal memory space A and the internal memory space B is started. When accessing the internal memory space A, (A31, A28) = (1, 0). Since (SA1, SA0) = (0, 0) is set in the SA1 signal 241 and the SA0 signal 242 of the bank switching register 119, C which selects the shared memory C115.
1 is output only to the S0 signal 224. Therefore, when the internal memory space A is accessed, the shared memory C115
Can be accessed. When accessing the internal memory space B, (A31, A28) = (1, 1). Since (SB1, SB0) = (0, 1) is set in the SB1 signal 243 and the SB0 signal 244 of the bank switching register 119, the CS for selecting the shared memory D116 is selected.
1 is output only to one signal 225. Therefore, when the internal memory space B is accessed, the shared memory D116 can be accessed. When the access to the shared memory C115 and the shared memory D116 is completed, the arithmetic system C
The PU 100 generates an interrupt to the I / O system CPU 101 to notify that the access is completed. After that, the arithmetic CPU 100 returns to the original data arithmetic processing. On the other hand, the I / O system CPU 101 sets a value in the bank switching register 119 when the data set in the shared memory E117 and the shared memory F118 is completed, and causes the arithmetic system CPU 100 to generate an interrupt again. From the above, the I / O system CPU 101 performs the value setting to the memory and the bank switching operation.
Banks can be switched while preventing a decrease in the U data calculation processing efficiency. The shared memories C115 and E117 in the internal memory space A of the arithmetic CPU 100 have the same access address H'8000 of the arithmetic CPU 100.
Operation system CPU that can be accessed from 0000
Shared memory D11 in the internal memory space B of 100
6, F118 can be accessed from the same access address H'90000000 of the arithmetic CPU 100.

【0035】図21は、図1の内部/外部バス制御回路
16の詳細を示している。内部/外部バス制御回路16
の内部は、外部バス制御回路50、演算系内部バス制御
回路51、I/O系内部バス制御回路52の3つの順序
回路と、アクセス権設定レジスタ53、および2つのO
R論理ゲート54、55から構成されている。外部バス
制御回路50には、演算系アドレスバス202、I/O
系アドレスバス204、アクセス権設定レジスタ53お
よびチップ外部から入力されるバスサイクルの期間延長
制御を行なうWAIT制御信号23のデータが入力され
る。これらの入力データをもとに、外部バス制御回路5
0は、順序回路の内部状態を遷移させるとともに、演算
系データバス200とI/O系内部データバス201の
マルチプレクサ18および演算系アドレスバス202と
I/O系アドレスバス204のマルチプレクサ19の制
御信号20、演算系CPU100の外部アクセス終了信
号56、I/O系CPU101の外部アクセス終了信号
58を出力する。アクセス権設定レジスタ53は、I/
O系内部データバス201に接続され、I/O系CPU
101がデータを読み書きできる構成になっている。演
算系内部バス制御回路51には、演算系アドレスバス2
02上のデータが入力される。このデータをもとに、順
序回路の内部状態を遷移させると同時に、演算系CPU
100の内部アクセス終了信号57を出力する。I/O
系内部バス制御回路52には、I/O系アドレスバス2
04上のデータが入力される。このデータをもとに、順
序回路の内部状態を遷移させると同時に、I/O系CP
U101の内部アクセス終了信号59を出力する。演算
系CPU100の外部アクセス終了信号56と内部アク
セス終了信号57は、OR論理ゲート54で論理和がと
られ、バスサイクルが完了したことを指令する制御信号
24として出力される。同様に、I/O系CPU101
の外部アクセス終了信号58と内部アクセス終了信号5
9は、OR論理ゲート55で論理和がとられ、バスサイ
クルが完了したことを指令する制御信号25として出力
される。演算系CPU100およびI/O系CPU10
1がデータアクセスをするために出力するアドレスは、
図3、図4、図16、図17に示したように、チップ仕
様としてそのアドレス・マップが決められている。その
ため、そのアドレス・マップによって外部アクセスと内
部アクセスの区別が行なえるので、順序回路で構成され
た3つのバス制御回路50、51、52は制御すべきバ
スサイクルを認知することができる。例えば、演算系C
PU100が外部アクセスを行なっている期間は、演算
系内部バス制御回路51は内部データ・アクセス制御を
行なっていないので、内部アクセス終了信号57は’
0’レベルを出力する。外部バス制御回路50に入力さ
れるアクセス権設定レジスタ53のデータは、演算系C
PU100とI/O系CPU101とのいずれが外部ア
クセスの優先権を有するのかを指定する。高速ページ・
アクセスが可能なダイナミックメモリ(DRAM)上の
アドレスが連続する空間に格納されたデータを大量に読
み込む場合には、同一ページ内のデータアクセスが高速
化されるため、連続読み出しをした方が、実際に必要と
なるメモリアクセス時間の総和が少なくなる。また、デ
ータ転送サイクルが規定されているデバイスに対するア
クセスでは、バースト・アクセスをしなければならない
場合もある。そのため、演算系とI/O系のどちらかの
CPUに外部アクセスを専有させるモードを持つことが
必要となる。この指定を、I/O系CPU101がI/
O系内部データバス201を介してアクセス権設定レジ
スタ53にモード情報を書き込むことにより行なう。
FIG. 21 shows details of the internal / external bus control circuit 16 of FIG. Internal / external bus control circuit 16
In the inside of, the three sequential circuits of an external bus control circuit 50, an arithmetic system internal bus control circuit 51, an I / O system internal bus control circuit 52, an access right setting register 53, and two O
It is composed of R logic gates 54 and 55. The external bus control circuit 50 includes an operation system address bus 202 and I / O.
The system address bus 204, the access right setting register 53, and the data of the WAIT control signal 23 for controlling the extension of the bus cycle input from the outside of the chip are input. Based on these input data, the external bus control circuit 5
0 changes the internal state of the sequential circuit, and controls signals of the multiplexer 18 of the arithmetic system data bus 200 and the I / O system internal data bus 201 and the multiplexer 19 of the arithmetic system address bus 202 and the I / O system address bus 204. 20, an external access end signal 56 for the arithmetic CPU 100 and an external access end signal 58 for the I / O CPU 101 are output. The access right setting register 53 is
I / O system CPU connected to O system internal data bus 201
The configuration is such that 101 can read and write data. The arithmetic system internal bus control circuit 51 includes an arithmetic system address bus 2
The data on 02 is input. Based on this data, the internal state of the sequential circuit is transited, and at the same time, the arithmetic CPU
The internal access end signal 57 of 100 is output. I / O
The system internal bus control circuit 52 includes the I / O system address bus 2
The data on 04 is input. Based on this data, the internal state of the sequential circuit is transitioned, and at the same time, the I / O system CP
The internal access end signal 59 of U101 is output. The external access end signal 56 and the internal access end signal 57 of the arithmetic CPU 100 are ORed by the OR logic gate 54 and output as the control signal 24 instructing the completion of the bus cycle. Similarly, I / O CPU 101
External access end signal 58 and internal access end signal 5
9 is ORed by the OR logic gate 55 and output as the control signal 25 instructing the completion of the bus cycle. Arithmetic CPU 100 and I / O CPU 10
The address output by 1 for data access is
As shown in FIGS. 3, 4, 16 and 17, the address map is determined as the chip specification. Therefore, since the external access and the internal access can be distinguished by the address map, the three bus control circuits 50, 51, 52 composed of sequential circuits can recognize the bus cycle to be controlled. For example, arithmetic system C
Since the arithmetic system internal bus control circuit 51 is not performing internal data access control while the PU 100 is performing external access, the internal access end signal 57 is “1”.
Output 0'level. The data of the access right setting register 53 input to the external bus control circuit 50 is the operation system C
It specifies which of the PU 100 and the I / O system CPU 101 has the priority of external access. Fast page
When reading a large amount of data stored in a space where addresses on a dynamic memory (DRAM) that can be accessed are continuous, data access within the same page is speeded up, so continuous reading is actually preferable. The total amount of memory access time required for this is reduced. Burst access may be required in some cases when accessing a device for which a data transfer cycle is specified. Therefore, it is necessary to have a mode in which either the CPU of the operation system or the I / O system is dedicated to external access. I / O CPU 101 makes this designation
This is performed by writing mode information to the access right setting register 53 via the O-system internal data bus 201.

【0036】図21には、アクセス権設定レジスタ53
に、演算系とI/O系の2つのCPUの外部アクセス優
先権を等しく設定した場合のタイミング・チャートを示
す。T1の期間には、I/O系CPU101と演算系C
PU100とは、同時に内部アクセス1、内部アクセス
Aを行なっている。T2の期間では、I/O系CPU1
01が外部アクセス2を実行し、同時に演算系CPU1
00が内部アクセスB、Cを行なっている。T3の期間
には、I/O系CPU101の外部アクセス2が継続中
なので、演算系CPU100の外部アクセスDが待ち状
態となっている。T4の期間では、待ち状態になってい
た演算系CPU100の外部アクセスDが実行され、I
/O系CPU101の外部アクセス3が待ち状態になっ
ている。この待ち状態になった外部アクセス3は、T5
の期間から実行される。このように、このモードでは、
2つの演算系CPU100と101の外部アクセスの割
合は、均等に設定されている。
FIG. 21 shows the access right setting register 53.
FIG. 7 shows a timing chart in the case where the external access priorities of the two CPUs of the operation system and the I / O system are set equal. During the period of T1, the I / O CPU 101 and the arithmetic C
The internal access 1 and the internal access A are simultaneously performed with the PU 100. During the period of T2, I / O system CPU1
01 executes external access 2 and, at the same time, arithmetic CPU 1
00 performs internal access B and C. During the period T3, the external access 2 of the I / O system CPU 101 is continuing, so the external access D of the arithmetic system CPU 100 is in a waiting state. During the period T4, the external access D of the CPU 100 in the waiting state is executed, and I
External access 3 of the / O system CPU 101 is in a waiting state. The external access 3 in the waiting state is T5.
Will be executed from the period. Thus, in this mode,
The external access ratios of the two arithmetic CPUs 100 and 101 are set to be equal.

【0037】図23には、アクセス権設定レジスタ53
で、I/O系CPU101に外部アクセスを専有させる
モード(I/O系CPU101への独占的連続使用権)を
設定した場合のタイミング・チャートを示す。T1の期
間は、I/O系CPU101と演算系CPU100と
は、同時に内部アクセス1、内部アクセスAを行なって
いる。T2の期間では、I/O系CPU101が外部ア
クセス2を実行し、同時に演算系CPU100が内部ア
クセスB、Cを行なっている。T8の期間に行なわれよ
うとしている演算系CPU100の外部アクセスDは、
アクセス権設定レジスタ53がI/O系CPU101の
外部アクセス専有モードの指定を解除するまで、実行さ
れない。そのため、このモードでは、I/O系CPU1
01が外部アクセスを専有することになる。この例とは
逆に、アクセス権設定レジスタ53演算系CPU100
に外部アクセスを専有させるモードを作ることが可能で
あることは言うまでもない。
FIG. 23 shows the access right setting register 53.
2 shows a timing chart when the mode (exclusive continuous use right to the I / O system CPU 101) for monopolizing the I / O system CPU 101 for external access is set. During the period of T1, the I / O CPU 101 and the arithmetic CPU 100 are simultaneously performing the internal access 1 and the internal access A. During the period of T2, the I / O system CPU 101 executes the external access 2, and at the same time, the arithmetic system CPU 100 executes the internal access B and C. The external access D of the arithmetic CPU 100 which is about to be performed during the period of T8 is
It is not executed until the access right setting register 53 releases the designation of the external access exclusive mode of the I / O system CPU 101. Therefore, in this mode, I / O system CPU1
01 will have exclusive access to the outside. Contrary to this example, the access right setting register 53 arithmetic system CPU 100
It goes without saying that it is possible to create a mode that allows external access to be exclusively used.

【0038】次に、図1に示した割込み制御回路17の
一実施例として、図24にマルチCPUの割込み系の構
成図を示す。図24は、演算系CPU100、I/O系
CPU101、割込み制御回路120、割込みフラグレ
ジスタ121、割込み制御回路122、割込みフラグレ
ジスタ123、A/DおよびD/A変換器124、タイ
マTMR125、シリアル入出力インターフェースSC
I126、割込みベクタレジスタ127、128より構
成されている。この構成により、I/O系CPU101
から演算系CPU100への割込み、および演算系CP
U100からI/O系CPU101への割込みが可能と
なる。すなわち、演算系内部データバス200は、割込
みフラグレジスタ123および割込みベクタレジスタ1
28に接続されている。割込みベクタレジスタ128
は、さらにI/O系内部データバス201に接続されて
いる。割込みフラグ123は、信号線248を通して割
込み制御回路122に接続されている。割込み制御回路
122には、外部割込み要求信号249および内部割込
み要求信号250が接続されている。割込み制御回路1
22は、割込みフラグクリア信号257を通して割込み
フラグ123に接続されている。割込み制御回路122
は、割込みベクタ読み出し信号256を通して割込みベ
クタレジスタ127に接続されている。割込み制御回路
122は、割込み要求信号247および割込みベクタ信
号258を通してI/O系CPU101に接続されてい
る。I/O系内部データバス201は、割込みフラグレ
ジスタ121および割込みベクタレジスタ127に接続
されている。I/O系内部データバス201は、信号線
251を通してA/DおよびD/A変換器124に接続
され、信号線252を通してTMR125に接続され、
信号線253を通してSCI126に接続されている。
割込みベクタレジスタ127は、演算系内部データバス
200に接続されている。割込みフラグ121は、信号
線246を通して割込み制御回路120に接続されてい
る。割込み制御回路120は、割込み要求信号245を
通して演算系CPU100に接続されている。割込み制
御回路120は、割込みフラグクリア信号254を通し
て割込みフラグ121に接続されている。割込み制御回
路120は、割込みベクタ読み出し信号255を通して
割込みベクタレジスタ127に接続されている。以下に
動作の説明を行う。演算系CPU100は、演算系内部
データバス200を通してベクタアドレスを割込みベク
タ128にセットし、さらに、演算系内部データバス2
00を通して割込みフラグ123に値をセットする。割
込みフラグ123は、信号線248を通して割込み制御
回路122に伝達される。割込み制御回路122は、信
号線248より信号を受けると割込み要求信号247に
信号を出力する。同時に割込みベクタ読み出し信号25
6に信号を出力する。割込みベクタレジスタ128は、
割込みベクタ読み出し信号256から信号を受けると、
I/O系内部データバス201にベクタアドレスを出力
する。I/O系CPU100は割込み要求信号247よ
り信号を受けると、演算系CPU100からの割込みで
あることを認識し、I/O系内部データバス201に出
力されているベクタアドレスを読み込み、この値に従っ
て割込み要求処理を開始する。このとき割込み制御回路
122は、I/O系CPU100が割込み要求信号24
7の信号を受けとったことを認識すると、信号線257
に信号を出力して、割込みフラグ123にセットされた
値をリセットする。外部割込み要求信号249や内部割
込み要求信号250から割込みが発生した場合、割込み
制御回路122は割込み要求信号247に信号を出力す
ると同時にベクタアドレスを割込みベクタ信号258に
出力する。さらに割込みベクタレジスタ128からベク
タアドレスが出力されないように、割込み制御回路12
2は割込みベクタ読み出し信号256に信号を出力しな
い。I/O系CPU100は割込み要求信号247から
の信号を受けとると、外部割込みまたは内部割込みであ
ることを認識し、割込みベクタ信号258に出力されて
いるベクタアドレスを読み込み、この値に従って割込み
処理を実行する。I/O系CPU100から演算系CP
U100へ割込みを発生させる時には、割込み制御回路
120、割込みフラグレジスタ123、および割込みベ
クタレジスタ127により上記と同じ方法で実現するこ
とができる。
Next, as an embodiment of the interrupt control circuit 17 shown in FIG. 1, FIG. 24 shows a block diagram of an interrupt system of a multi-CPU. FIG. 24 shows an arithmetic CPU 100, an I / O CPU 101, an interrupt control circuit 120, an interrupt flag register 121, an interrupt control circuit 122, an interrupt flag register 123, an A / D and D / A converter 124, a timer TMR 125, and a serial input. Output interface SC
I126 and interrupt vector registers 127 and 128. With this configuration, the I / O system CPU 101
From the CPU to the arithmetic CPU 100, and the arithmetic CP
It is possible to interrupt the U100 to the I / O CPU 101. That is, the arithmetic system internal data bus 200 includes the interrupt flag register 123 and the interrupt vector register 1
28 is connected. Interrupt vector register 128
Are further connected to the I / O system internal data bus 201. The interrupt flag 123 is connected to the interrupt control circuit 122 through a signal line 248. An external interrupt request signal 249 and an internal interrupt request signal 250 are connected to the interrupt control circuit 122. Interrupt control circuit 1
22 is connected to the interrupt flag 123 through the interrupt flag clear signal 257. Interrupt control circuit 122
Are connected to the interrupt vector register 127 through the interrupt vector read signal 256. The interrupt control circuit 122 is connected to the I / O system CPU 101 through an interrupt request signal 247 and an interrupt vector signal 258. The I / O system internal data bus 201 is connected to the interrupt flag register 121 and the interrupt vector register 127. The I / O system internal data bus 201 is connected to the A / D and D / A converter 124 through a signal line 251, and is connected to the TMR 125 through a signal line 252.
It is connected to the SCI 126 through a signal line 253.
The interrupt vector register 127 is connected to the arithmetic system internal data bus 200. The interrupt flag 121 is connected to the interrupt control circuit 120 via a signal line 246. The interrupt control circuit 120 is connected to the arithmetic system CPU 100 through an interrupt request signal 245. The interrupt control circuit 120 is connected to the interrupt flag 121 through an interrupt flag clear signal 254. The interrupt control circuit 120 is connected to the interrupt vector register 127 through the interrupt vector read signal 255. The operation will be described below. The arithmetic system CPU 100 sets a vector address in the interrupt vector 128 through the arithmetic system internal data bus 200, and further, the arithmetic system internal data bus 2
A value is set in the interrupt flag 123 through 00. The interrupt flag 123 is transmitted to the interrupt control circuit 122 through the signal line 248. When the interrupt control circuit 122 receives a signal from the signal line 248, it outputs a signal to the interrupt request signal 247. Interrupt vector read signal 25 at the same time
The signal is output to 6. The interrupt vector register 128 is
When receiving a signal from the interrupt vector read signal 256,
The vector address is output to the I / O system internal data bus 201. When the I / O CPU 100 receives the signal from the interrupt request signal 247, it recognizes that it is an interrupt from the arithmetic CPU 100, reads the vector address output to the I / O internal data bus 201, and according to this value. Start interrupt request processing. At this time, the interrupt control circuit 122 causes the I / O CPU 100 to interrupt the interrupt request signal 24
When it recognizes that the signal No. 7 has been received, the signal line 257
To reset the value set in the interrupt flag 123. When an interrupt occurs from the external interrupt request signal 249 or the internal interrupt request signal 250, the interrupt control circuit 122 outputs a signal to the interrupt request signal 247 and at the same time outputs a vector address to the interrupt vector signal 258. Further, the interrupt control circuit 12 is configured so that the vector address is not output from the interrupt vector register 128.
2 does not output a signal to the interrupt vector read signal 256. When the I / O system CPU 100 receives the signal from the interrupt request signal 247, it recognizes that it is an external interrupt or an internal interrupt, reads the vector address output to the interrupt vector signal 258, and executes interrupt processing according to this value. To do. I / O CPU 100 to operation CP
The interrupt control circuit 120, the interrupt flag register 123, and the interrupt vector register 127 can be used to generate an interrupt to the U100 in the same manner as described above.

【0039】図15、図24に示したシングルチップマ
イコロコンピュータの応用として、音声処理を考える。
演算系CPU100が処理すべき入力データの処理手順
の様子を、演算系メモリマップの形で図25に示す。図
25ではシェアドメモリC115、シェアドメモリD1
16、シェアドメモリE117の順番にデータが処理さ
れる。図24(1)の状態は、現在演算系CPU100
が扱っているシェアドメモリを表している。この場合、
内部メモリ空間AにはシェアドメモリC115が、内部
メモリ空間BにはシェアドメモリD116が接続されて
いる。シェアドメモリC115およびシェアドメモリD
116のデータ演算処理が順次終了すると、図24
(2)のようにシェアドメモリを接続しなければならな
い。図24(2)を見ると、(1)の内部メモリ空間A
にあったシェアドメモリC115が接続されなくなり、
代わりに内部メモリ空間Bに接続されていたシェアドメ
モリD116が内部メモリ空間Aに接続されている、さ
らに内部メモリ空間BにはシェアドメモリE117が新
たに接続されていることがわかる。音声処理では、デー
タをある大きさごとに区切って処理する場合、区切った
境界部分のデータ演算処理の質を低下させないために、
直前に処理したデータを残して、その部分から再度処理
を開始する必要がある。そのため図25(1)の処理が
終了した後、直前に処理したデータであるシェアドメモ
リD116のデータを図25(2)の状態で最初に処理
できるようにし、その後に新たなデータを記憶している
シェアドメモリE117を接続している。以上の動作を
実現するために、以下に図15に示したシングルチップ
マイコロコンピュータの動作の説明を行う。演算系CP
U100にすでに接続されているシェアドメモリにデー
タの書込みを行わないために、I/O系CPU101は
処理すべきデータをシェアドメモリに入力する前にバン
ク切換えレジスタ119を読み込み、現在演算系CPU
100にどのシェアドメモリが接続されているかを調べ
る。今は、最初の音声処理データを転送する段階で、演
算系CPU100には、いずれのシェアドメモリも接続
されていないものとする。I/O系CPU101は、図
21の内部/外部バス制御回路16内のアクセス権レジ
スタ53に値を設定して、I/O系CPU101が外部
アクセスを専有するモードにする。その結果、アクセス
権レジスタ53は設定された値を、外部バス制御回路5
0に出力する。図21の外部バス制御回路50は、アク
セス権レジスタ53に設定された値を受けると、制御信
号20に信号を出力する。制御信号20の信号は、外部
データバス21と外部アドレスバス22がそれぞれI/
O系内部データバス201とI/O系アドレスバス20
4に接続されるようにマルチプレクサ18および19を
制御する。I/O系CPU101は外部アクセスを行う
ために、外部空間のアドレスをI/O系アドレスバス2
04に出力する。I/O系CPU101からI/O系ア
ドレスバス204に出力されたアドレスは、マルチプレ
クサ19を通して外部アドレスバス22に出力される。
出力されたアドレスによりアクセスされた外部メモリの
データは、外部データバス21、マルチプレクサ18を
通してI/O系内部データバス201に入力される。I
/O系CPU101は、I/O系内部データバス201
に入力されたデータをシェアドメモリに転送する。現在
の状態は音声処理に初期であり、演算系CPU100に
接続されているシェアドメモリは存在しないので、シェ
アドメモリC115、シェアドメモリD116の順番に
外部から取り込んだデータを転送する。2つのシェアド
メモリへのデータ転送が終了したら、I/O系CPU1
01はデータ転送が終了したシェアドメモリを表すため
に、図15のバンク切換えレジスタ119に値をセット
する。この場合は、シェアドメモリC115およびシェ
アドメモリD116の順番にデータを格納したので、バ
ンク切換えレジスタ119へは(SA1、SA0、SB
1、SB0)=(0、0、0、1)をセットする。次に
I/O系CPU101は、シェアドメモリに転送したデ
ータを演算系CPU100が取り込み、データ演算処理
することを知らせるベクタアドレスを図24の割込みベ
クタレジスタ127にセットする。最後にI/O系CP
U101は、割込みフラグ121に値をセットする。そ
の後I/O系CPU101は、現在演算系CPU100
に接続されていないシェアドメモリE117、シェアド
メモリF118の順番に外部データを転送する。一方、
図24の割込みフラグレジスタ121に値がセットされ
ると、割込みフラグレジスタ121は信号線246に信
号を出力する。割込み制御回路120は信号線246よ
り信号を受けると、割込み要求信号245に割込み要求
信号を出力する。同時に割込み制御回路120は、割込
みベクタレジスタ127に格納されているベクタアドレ
スを演算系内部データバス200へ出力するために、ベ
クタアドレス読み出し信号255に”1”を出力する。
割込みベクタレジスタ127はベクタアドレス読み出し
信号255より信号を受け取ると、演算系内部データバ
ス200へベクタアドレスを出力する。演算系CPU1
00は、割込み要求信号245より割込み要求信号を受
けるとそれまでのデータ演算処理を中断し、I/O系C
PU101からの割込みであることを認識し、演算系内
部データバス200に出力されているベクタアドレスを
取り込む。割込み制御回路120は、演算系CPU10
0が割込みを受け付けたところで、割込みフラグ121
にセットされた値をクリアするために割込みフラグクリ
ア信号254に”1”を出力する。割込みフラグレジス
タ121は、割込みフラグクリア信号254より信号を
受け取ると、割込みフラグをクリアする。演算系CPU
100は、取り込んだベクタアドレスより、シェアドメ
モリに格納されたデータを処理するプログラムを読み込
み、プログラムを実行する。この場合、演算系CPU1
00は内部メモリ空間Aおよび内部メモリ空間Bへアク
セスを行う。内部メモリ空間Aへアクセスするとき、演
算系アドレスバスのA31とA28は(A31、A2
8)=(1、0)となる。このとき(SA1、SA0)
=(0、0)となっているので、シェアドメモリC11
5を指定するCS0信号224のみに”1”が出力され
る。従って演算系CPU100は、I/O系CPU10
1がシェアドメモリC115へ転送したデータを取り込
むことができる。さらに演算系CPU100が内部メモ
リ空間Bへアクセスするときは、演算系アドレスバスの
A31とA28は(A31、A28)=(1、1)とな
る。このとき(SA1、SA0)=(0、1)となって
いるので、シェアドメモリD116を指定するCS1信
号225のみに”1”が出力される。従って演算系CP
U100は、I/O系CPU101がシェアドメモリD
116へ転送したデータを取り込むことができる。以上
のことより、I/O系CPU101がシェアドメモリC
115およびシェアドメモリD116へ転送したデータ
を演算系CPU100へ引き渡すことができ、図25
(1)の状態を実現することができる。演算系CPU1
00は、I/O系CPU101が外部データを取り込
み、メモリに格納して割込み要求信号を発生するまで本
来のデータ演算処理を実行できるので、データ演算処理
効率の低下を防ぐことが可能になる。演算系CPU10
0は、シェアドメモリC115およびシェアドメモリD
116のデータを取り込み終わったら、演算系内部デー
タバス200を通して割込みベクタレジスタ128にベ
クタアドレスをセットする。次に、演算系CPU100
は、演算系内部データバス200を通して割込みフラグ
レジスタ123に値をセットした後、演算系CPU10
0は本来のデータ演算処理を続行する。割込みフラグレ
ジスタ123は信号をセットされると、信号線248に
セットされた信号を出力する。割込み制御回路122
は、信号線248から信号を受けると演算系CPU10
0からの割込みであることを認識し、割込み要求信号2
47に割込み要求信号を出力する。同時に割込み制御回
路122は、割込みベクタ読み出し信号256に信号を
出力する。割込みベクタ読み出し信号256から信号を
受けた割込みベクタレジスタ128は、I/O系内部デ
ータバス201に値を出力する。このとき割込み制御回
路122は、割込みベクタ信号258にベクタアドレス
を出力しない。I/O系CPU101は、割込み要求信
号247より割込み要求信号を受けると、演算系CPU
100からの割込みであることを認識し、I/O系内部
データバス201に出力されているベクタアドレスを取
り込む。割込み制御回路122は、I/O系CPU10
1が割込みを受け付けたところで、割込みフラグクリア
信号257に信号を出力して、割込みフラグレジスタ1
23をクリアする。I/O系CPU101は、取り込ん
だベクタアドレスより演算系CPU100がシェアドメ
モリのデータを取り込み終わった後の処理プログラムを
実行する。I/O系CPU101がシェアドメモリE1
17へのデータ転送がまだ終了していない場合には、デ
ータ転送を続けて行う。一方、シェアドメモリE117
へのデータ転送が終了している場合には、図25(2)
の状態にするために以下のような動作を行う。I/O系
CPU101は、バンク切換えレジスタ119へ新たに
値をセットする。この場合は、(SA1、SA0、SB
1、SB0)=(0、1、1、0)をセットし、内部メ
モリ空間AにはシェアドメモリD、内部メモリ空間Bに
はシェアドメモリEを割り当てる。音声処理では、サン
プルデータを適当な長さに区切って処理した場合、次の
データの処理を始める前に直前に処理したデータの処理
をもう一度行ってから、新たなシェアドメモリのデータ
の処理に移らなければならない。これは、データを区切
った境界部分での音声処理の質を低下させないためであ
る。そのためにシェアドメモリDを内部メモリ空間Aへ
移動させた。バンク切換えレジスタ119への値のセッ
トが完了したら、I/O系CPU101は上記と同じ手
順で演算系CPU100へ割込み要求を出す。演算系C
PU100は、I/O系CPU101より割込み要求信
号を受けた場合、演算系内部データバス200よりベク
タアドレスを取り込む。取り込んだベクタアドレスよ
り、シェアドメモリのデータを取り込むプログラムを入
力し、プログラムを実行する。この場合、内部メモリ空
間AにはシェアドメモリD116が、内部メモリ空間B
にはシェアドメモリE117が接続されている。ここで
先程と異なる点は、シェアドメモリD116のデータ
は、すでに処理が終了しているということである。従っ
てシェアドメモリD116の最初から処理を行うと同じ
処理を二度行うことになる。そこでこの場合、割込み要
求により取り込んだプログラムの中で、実際の処理を例
えばH’80000000以後のプログラマが必要と思
われる任意のアドレスから開始するようにする。ここか
ら処理を始めて、シェアドメモリの値を取り込み終わっ
たら、再び上記と同じ手順により、演算系CPU100
からI/O系CPU101へ割込み要求を出す。I/O
系CPU101は、演算系CPU100から割込み要求
を受けたら、新たにシェアドメモリにデータをセット
し、演算系CPU100へ引き渡す。以上の動作を繰り
返すことにより、CPUのデータ演算処理効率を低下さ
せることなく、音声処理を実行できる。このように、本
応用例では、バンク切換えレジスタ、シェアドメモリ、
CPUから読み書き可能な割込みフラグと割込みベクタ
レジスタを備えたマルチCPUシングルチップマイコン
を用いることにより、音声処理の効率を低下させずに実
行させることが可能である。さらに本発明の構成を1チ
ップ上に実現することにより、複数のチップで実現する
場合に比べ高速動作が可能となる。さらに複数のチップ
で実現する場合に比べ、1チップのピン数を削減するこ
とができる。さらに複数のチップで実現する場合に比
べ、安価に供給することができる。尚、本発明では、4
つのシェアドメモリを用いて説明を行った。バンク切換
えレジスタのビット数をシェアドメモリの数を表わせる
だけ設ければ、4つ以上のシェアドメモリについても対
応できる。また、アドレスデコーダへ入力するアドレス
信号の数を増加させれば、メモリを割り当てる内部メモ
リ空間の数を増加させることが可能である。またこのと
きの一つのメモリ空間の大きさを小さくすることも可能
である。
Voice processing will be considered as an application of the single-chip Mycoro computer shown in FIGS.
FIG. 25 shows a processing procedure of input data to be processed by the arithmetic CPU 100 in the form of an arithmetic memory map. In FIG. 25, shared memory C115 and shared memory D1
16, the data is processed in the order of the shared memory E117. The state of FIG. 24 (1) shows the present operation CPU 100.
Represents the shared memory handled by. in this case,
A shared memory C115 is connected to the internal memory space A, and a shared memory D116 is connected to the internal memory space B. Shared memory C115 and shared memory D
When the data calculation processing of 116 is completed in sequence, FIG.
The shared memory must be connected as in (2). Looking at FIG. 24B, the internal memory space A of FIG.
The shared memory C115 that was there was no longer connected,
Instead, it can be seen that the shared memory D116, which was connected to the internal memory space B, is connected to the internal memory space A, and the shared memory E117 is newly connected to the internal memory space B. In voice processing, when data is divided into certain sizes and processed, in order not to deteriorate the quality of the data calculation processing at the divided boundaries,
It is necessary to leave the data processed immediately before and restart the processing from that part. Therefore, after the processing of FIG. 25 (1) is completed, the data in the shared memory D116, which is the immediately preceding data, can be processed first in the state of FIG. 25 (2), and then new data is stored. The shared memory E117 is connected. In order to realize the above operation, the operation of the single-chip Mycoro computer shown in FIG. 15 will be described below. Operation system CP
In order not to write data to the shared memory already connected to U100, the I / O system CPU 101 reads the bank switching register 119 before inputting the data to be processed to the shared memory, and the current operation system CPU
Find out which shared memory is connected to 100. Now, it is assumed that no shared memory is connected to the arithmetic CPU 100 at the stage of transferring the first audio processing data. The I / O system CPU 101 sets a value in the access right register 53 in the internal / external bus control circuit 16 of FIG. 21 to set the mode in which the I / O system CPU 101 exclusively uses external access. As a result, the access right register 53 transfers the set value to the external bus control circuit 5
Output to 0. When receiving the value set in the access right register 53, the external bus control circuit 50 in FIG. 21 outputs a signal to the control signal 20. The signals of the control signal 20 are input / output through the external data bus 21 and the external address bus 22, respectively.
O system internal data bus 201 and I / O system address bus 20
Control multiplexers 18 and 19 to be connected to 4. The I / O system CPU 101 transfers the address of the external space to the I / O system address bus 2 in order to perform external access.
Output to 04. The address output from the I / O system CPU 101 to the I / O system address bus 204 is output to the external address bus 22 through the multiplexer 19.
The data of the external memory accessed by the output address is input to the I / O system internal data bus 201 through the external data bus 21 and the multiplexer 18. I
The I / O system CPU 101 is an I / O system internal data bus 201.
Transfer the data input to the shared memory. Since the current state is the initial stage of voice processing and there is no shared memory connected to the arithmetic CPU 100, the data fetched from the outside is transferred in the order of the shared memory C115 and the shared memory D116. When data transfer to the two shared memories is completed, I / O system CPU1
A value 01 is set in the bank switching register 119 of FIG. 15 in order to represent the shared memory for which the data transfer is completed. In this case, since the data is stored in the shared memory C115 and the shared memory D116 in this order, the bank switching register 119 receives (SA1, SA0, SB).
1, SB0) = (0, 0, 0, 1) is set. Next, the I / O system CPU 101 fetches the data transferred to the shared memory, and sets a vector address in the interrupt vector register 127 of FIG. Finally I / O system CP
The U 101 sets a value in the interrupt flag 121. After that, the I / O system CPU 101 replaces the current operation system CPU 100.
The external data is transferred in the order of the shared memory E117 and the shared memory F118 which are not connected to each other. on the other hand,
When a value is set in the interrupt flag register 121 of FIG. 24, the interrupt flag register 121 outputs a signal to the signal line 246. When the interrupt control circuit 120 receives a signal from the signal line 246, it outputs an interrupt request signal to the interrupt request signal 245. At the same time, the interrupt control circuit 120 outputs "1" to the vector address read signal 255 in order to output the vector address stored in the interrupt vector register 127 to the arithmetic system internal data bus 200.
When the interrupt vector register 127 receives the signal from the vector address read signal 255, it outputs the vector address to the arithmetic system internal data bus 200. Arithmetic CPU 1
00 receives the interrupt request signal from the interrupt request signal 245, interrupts the data operation processing up to that point, and the I / O system C
Recognizing that it is an interrupt from the PU 101, the vector address output to the arithmetic system internal data bus 200 is fetched. The interrupt control circuit 120 is the arithmetic CPU 10.
0 receives an interrupt, interrupt flag 121
"1" is output to the interrupt flag clear signal 254 in order to clear the value set in. When receiving the signal from the interrupt flag clear signal 254, the interrupt flag register 121 clears the interrupt flag. Arithmetic CPU
100 reads a program for processing the data stored in the shared memory from the fetched vector address and executes the program. In this case, the arithmetic CPU 1
00 accesses the internal memory space A and the internal memory space B. When accessing the internal memory space A, the arithmetic address buses A31 and A28 are (A31, A2).
8) = (1,0). At this time (SA1, SA0)
= (0,0), the shared memory C11
"1" is output only to the CS0 signal 224 designating "5". Therefore, the arithmetic CPU 100 is the I / O CPU 10
The data transferred by the 1 to the shared memory C115 can be fetched. Further, when the arithmetic CPU 100 accesses the internal memory space B, the arithmetic address buses A31 and A28 are (A31, A28) = (1, 1). At this time, since (SA1, SA0) = (0, 1), “1” is output only to the CS1 signal 225 designating the shared memory D116. Therefore, the calculation system CP
In U100, I / O CPU 101 is shared memory D
The data transferred to 116 can be captured. From the above, the I / O system CPU 101 has the shared memory C
The data transferred to the shared memory D116 and the shared memory D116 can be transferred to the arithmetic system CPU 100.
The state of (1) can be realized. Arithmetic CPU 1
In 00, the original data arithmetic processing can be executed until the I / O system CPU 101 fetches the external data, stores it in the memory, and generates the interrupt request signal, so that it is possible to prevent the deterioration of the data arithmetic processing efficiency. Arithmetic CPU 10
0 is a shared memory C115 and a shared memory D
When the data of 116 has been taken in, the vector address is set in the interrupt vector register 128 through the internal data bus 200 of the operation system. Next, the arithmetic CPU 100
Sets a value in the interrupt flag register 123 through the arithmetic system internal data bus 200, and then the arithmetic system CPU 10
0 continues the original data calculation processing. When the signal is set, the interrupt flag register 123 outputs the signal set on the signal line 248. Interrupt control circuit 122
When receiving a signal from the signal line 248, the arithmetic CPU 10
Recognizes that it is an interrupt from 0, and interrupt request signal 2
An interrupt request signal is output to 47. At the same time, the interrupt control circuit 122 outputs a signal to the interrupt vector read signal 256. The interrupt vector register 128 receiving the signal from the interrupt vector read signal 256 outputs a value to the I / O system internal data bus 201. At this time, the interrupt control circuit 122 does not output the vector address to the interrupt vector signal 258. When the I / O CPU 101 receives the interrupt request signal from the interrupt request signal 247, the arithmetic CPU
The interrupt from 100 is recognized, and the vector address output to the I / O system internal data bus 201 is fetched. The interrupt control circuit 122 is the I / O system CPU 10
When 1 receives an interrupt, it outputs a signal to the interrupt flag clear signal 257, and the interrupt flag register 1
Clear 23. The I / O CPU 101 executes the processing program after the arithmetic CPU 100 has fetched the data in the shared memory from the fetched vector address. I / O CPU 101 is shared memory E1
If the data transfer to 17 is not yet completed, the data transfer is continued. On the other hand, shared memory E117
When the data transfer to the terminal has been completed, FIG. 25 (2)
The following operations are performed to bring the state into. The I / O system CPU 101 newly sets a value in the bank switching register 119. In this case, (SA1, SA0, SB
1, SB0) = (0, 1, 1, 0) is set, and the shared memory D is allocated to the internal memory space A and the shared memory E is allocated to the internal memory space B. In voice processing, if the sample data is divided into appropriate lengths and processed, the previously processed data is processed again before the next data is processed, and then the new shared memory data is processed. There must be. This is because the quality of the audio processing at the boundary portion that divides the data is not deteriorated. Therefore, the shared memory D is moved to the internal memory space A. When the setting of the value in the bank switching register 119 is completed, the I / O system CPU 101 issues an interrupt request to the arithmetic system CPU 100 in the same procedure as described above. Arithmetic system C
When receiving an interrupt request signal from the I / O system CPU 101, the PU 100 takes in a vector address from the arithmetic system internal data bus 200. From the fetched vector address, enter the program that fetches the shared memory data and execute the program. In this case, the shared memory D116 is stored in the internal memory space A and the shared memory D116 is stored in the internal memory space B.
A shared memory E117 is connected to. Here, the point different from the above is that the processing of the data in the shared memory D116 has already been completed. Therefore, if the processing is performed from the beginning of the shared memory D116, the same processing is performed twice. Therefore, in this case, in the program fetched by the interrupt request, the actual processing is started from an arbitrary address which is considered necessary by the programmer after H'80000000, for example. When the processing is started from here and the value of the shared memory is read in, the arithmetic CPU 100
Issues an interrupt request to the I / O system CPU 101. I / O
Upon receiving an interrupt request from the arithmetic CPU 100, the CPU 101 newly sets data in the shared memory and transfers it to the arithmetic CPU 100. By repeating the above operation, the voice processing can be executed without reducing the data calculation processing efficiency of the CPU. Thus, in this application example, the bank switching register, the shared memory,
By using a multi-CPU single-chip microcomputer provided with a CPU readable / writable interrupt flag and an interrupt vector register, it is possible to execute the voice processing without lowering its efficiency. Further, by realizing the configuration of the present invention on one chip, it becomes possible to operate at a higher speed than in the case where it is realized by a plurality of chips. Furthermore, the number of pins of one chip can be reduced as compared with the case of realizing with a plurality of chips. Further, it can be supplied at a low cost as compared with the case where it is realized by a plurality of chips. In the present invention, 4
The explanation was made using two shared memories. If the number of bits of the bank switching register is set to represent the number of shared memories, four or more shared memories can be supported. Also, by increasing the number of address signals input to the address decoder, it is possible to increase the number of internal memory spaces to which the memory is allocated. It is also possible to reduce the size of one memory space at this time.

【0040】[0040]

【発明の効果】本発明によれば、複数のCPUを有する
シングルチップマイクロコンピュータにおいて、周辺モ
ジュールからの割込み要求処理を高速に実行するととも
に、CPUのデータ演算処理の効率を向上させることが
できる。
According to the present invention, in a single-chip microcomputer having a plurality of CPUs, interrupt request processing from peripheral modules can be executed at high speed, and the efficiency of data arithmetic processing of the CPUs can be improved.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明の実施例によるマルチCPUを示す図で
ある。
FIG. 1 is a diagram showing a multi-CPU according to an embodiment of the present invention.

【図2】図1のマルチCPUのシェアドメモリ部の示す
図である。
FIG. 2 is a diagram showing a shared memory unit of the multi-CPU of FIG.

【図3】図1の演算系CPUのメモリマップを示す図で
ある。
FIG. 3 is a diagram showing a memory map of the arithmetic CPU of FIG.

【図4】図1のI/O系CPUのメモリマップを示す図
である。
4 is a diagram showing a memory map of the I / O system CPU of FIG. 1. FIG.

【図5】図2のメモリ割当てレジスタを示す図である。5 is a diagram showing the memory allocation register of FIG. 2;

【図6】図2のマルチCPUのモード指定とメモリマッ
プとの関係を示す図である。
FIG. 6 is a diagram showing a relationship between a mode designation and a memory map of the multi CPU shown in FIG.

【図7】演算系CPU側のアドレスデコーダのブロック
図である。
FIG. 7 is a block diagram of an address decoder on the arithmetic system CPU side.

【図8】演算系CPU側のアドレスデコーダの機能を示
す図である。
FIG. 8 is a diagram showing the function of an address decoder on the arithmetic system CPU side.

【図9】I/O系CPUのアドレスデコーダのブロック
図である。
FIG. 9 is a block diagram of an address decoder of an I / O system CPU.

【図10】I/O系CPUのアドレスデコーダの機能を
示す図である。
FIG. 10 is a diagram showing a function of an address decoder of an I / O system CPU.

【図11】選択回路のブロック図である。FIG. 11 is a block diagram of a selection circuit.

【図12】選択回路の機能を示す図である。FIG. 12 is a diagram showing a function of a selection circuit.

【図13】シェアドメモリの構成を示す図である。FIG. 13 is a diagram showing a configuration of a shared memory.

【図14】他のメモリ割当てレジスタの構成を示す図で
ある。
FIG. 14 is a diagram showing a configuration of another memory allocation register.

【図15】シェアドメモリ部におけるバンク切換えを実
現するマルチCPUの実施例を示す図である。
FIG. 15 is a diagram showing an embodiment of a multi-CPU that realizes bank switching in the shared memory unit.

【図16】演算系CPUのメモリマップを示す図であ
る。
FIG. 16 is a diagram showing a memory map of an arithmetic CPU.

【図17】I/O系CPUのメモリマップを示す図であ
る。
FIG. 17 is a diagram showing a memory map of an I / O system CPU.

【図18】バンク切換えレジスタの構成を示す図であ
る。
FIG. 18 is a diagram showing a configuration of a bank switching register.

【図19】演算系CPU側のアドレスデコーダのブロッ
ク図である。
FIG. 19 is a block diagram of an address decoder on the arithmetic system CPU side.

【図20】演算系CPU側のアドレスデコーダの機能を
示す図である。
FIG. 20 is a diagram showing the function of an address decoder on the arithmetic system CPU side.

【図21】内部/外部バス制御回路の構成を示す図であ
る。
FIG. 21 is a diagram showing a configuration of an internal / external bus control circuit.

【図22】アクセス権設定レジスタに2つのCPUの外
部アクセスを等しく設定した場合のタイミング・チャー
トを示す図である。
FIG. 22 is a diagram showing a timing chart when the external access of two CPUs is equally set in the access right setting register.

【図23】アクセス権設定レジスタにI/O系CPUが
外部アクセスを専用するモードを設定した場合のタイミ
ング・チャートを示す図である。
FIG. 23 is a diagram showing a timing chart when the I / O system CPU sets a mode dedicated to external access in the access right setting register.

【図24】割込み制御回路の構成をより詳細に示す図で
ある。
FIG. 24 is a diagram showing the configuration of an interrupt control circuit in more detail.

【図25】音声処理実行時における演算系CPUメモリ
マップの変化を示す図である。
FIG. 25 is a diagram showing a change in an arithmetic CPU memory map during execution of voice processing.

【符号の説明】[Explanation of symbols]

10…内蔵メモリ、11…タイマ、12…A/Dおよび
D/A変換器、13…シリアル入出力インタフェース、
14…乗除算器、15…関数演算器、16…内部/外部
バス制御回路、17…割込み制御回路、18…マルチプ
レクサ、19…マルチプレクサ、20…制御信号、21
…外部データバス、22…外部アドレスバス、23…W
AIT制御信号、24…制御信号、25…制御信号、5
0…外部バス制御回路、51…演算系内部バス制御回
路、52…I/O系内部バス制御回路、53…アクセス
権設定レジスタ、54…OR回路、55…OR回路、5
6…外部アクセス終了信号、57…内部アクセス終了信
号、58…外部アクセス終了信号、59…内部アクセス
終了信号、100…演算系CPU、101…I/O系C
PU、102…アドレスデコーダ、103…アドレスデ
コーダ、104…シェアドメモリA、105…シェアド
メモリB、107…選択回路、108…メモリ割当てレ
ジスタ、109…メモリ、110…選択回路、111…
選択回路、112…選択回路、113…アドレスデコー
ダ、114…アドレスデコーダ、115…シェアドメモ
リC、116…シェアドメモリD、117…シェアドメ
モリE、118…シェアドメモリF、119…バンク切
換えレジスタ、120…割込み制御回路、121…割込
みフラグ、122…割込み制御回路、123…割込みフ
ラグ、124…A/D、125…TMR、126…SC
I、127…割込みベクタレジスタ、128…割込みベ
クタレジスタ、129…パッド、130…パッド、13
1…パストランジスタ、132…パストランジスタ、2
00…演算系内部データバス、201…I/O系内部デ
ータバス、202…演算系アドレスバス、203…演算
系上位アドレス、204…I/O系アドレスバス、20
5…I/O系上位アドレス、206…信号線、207…
信号線、208…信号線、209…信号線、210…信
号線、211…CS4信号、212…CS5信号、21
3…CS6信号、214…CS7信号、215…SL0
信号、216…SL1信号、217…信号線、218…
信号線、219…信号線、220…演算系下位アドレ
ス、221…演算系下位アドレス、222…I/O系下
位アドレス、223…I/O系下位アドレス、224…
CS0信号、225…CS1信号、226…CS2信
号、227…CS3信号、228…CS8信号、229
…CS9信号、230…CS10信号、231…CS1
1信号、232…演算系下位アドレス、233…演算系
下位アドレス、234…演算系下位アドレス、235…
演算系下位アドレス、236…I/O系下位アドレス、
237…I/O系下位アドレス、238…I/O系下位
アドレス、239…I/O系下位アドレス、240…信
号線、241…SA1信号、242…SA0信号、24
3…SB1信号、244…SB0信号、245…割込み
要求信号、246…信号線、247…割込み要求信号、
248…信号線、249…外部割込み要求信号、250
…内部割込み要求信号、251…信号線、252…信号
線、253…信号線、254…割込みフラグクリア信
号、255…割込みベクタ読み出し信号、256…割込
みベクタ読み出し信号、257…割込みフラグクリア信
号、258…割込みベクタ読み出し信号、259…書込
み信号線、260…信号線、261…信号線、262…
信号線、263…信号線。
10 ... Built-in memory, 11 ... Timer, 12 ... A / D and D / A converter, 13 ... Serial input / output interface,
14 ... Multiplier / divider, 15 ... Function calculator, 16 ... Internal / external bus control circuit, 17 ... Interrupt control circuit, 18 ... Multiplexer, 19 ... Multiplexer, 20 ... Control signal, 21
... External data bus, 22 ... External address bus, 23 ... W
AIT control signal, 24 ... control signal, 25 ... control signal, 5
0 ... External bus control circuit, 51 ... Arithmetic system internal bus control circuit, 52 ... I / O system internal bus control circuit, 53 ... Access right setting register, 54 ... OR circuit, 55 ... OR circuit, 5
6 ... External access end signal, 57 ... Internal access end signal, 58 ... External access end signal, 59 ... Internal access end signal, 100 ... Arithmetic CPU, 101 ... I / O system C
PU, 102 ... Address decoder, 103 ... Address decoder, 104 ... Shared memory A, 105 ... Shared memory B, 107 ... Selection circuit, 108 ... Memory allocation register, 109 ... Memory, 110 ... Selection circuit, 111 ...
Selection circuit, 112 ... Selection circuit, 113 ... Address decoder, 114 ... Address decoder, 115 ... Shared memory C, 116 ... Shared memory D, 117 ... Shared memory E, 118 ... Shared memory F, 119 ... Bank switching register, 120 ... Interrupt control circuit, 121 ... Interrupt flag, 122 ... Interrupt control circuit, 123 ... Interrupt flag, 124 ... A / D, 125 ... TMR, 126 ... SC
I, 127 ... Interrupt vector register, 128 ... Interrupt vector register, 129 ... Pad, 130 ... Pad, 13
1 ... pass transistor, 132 ... pass transistor, 2
00 ... Operation system internal data bus, 201 ... I / O system internal data bus, 202 ... Operation system address bus, 203 ... Operation system upper address, 204 ... I / O system address bus, 20
5 ... I / O system upper address, 206 ... Signal line, 207 ...
Signal line, 208 ... Signal line, 209 ... Signal line, 210 ... Signal line, 211 ... CS4 signal, 212 ... CS5 signal, 21
3 ... CS6 signal, 214 ... CS7 signal, 215 ... SL0
Signal, 216 ... SL1 signal, 217 ... Signal line, 218 ...
Signal line, 219 ... Signal line, 220 ... Operation system lower address, 221 ... Operation system lower address, 222 ... I / O system lower address, 223 ... I / O system lower address, 224 ...
CS0 signal, 225 ... CS1 signal, 226 ... CS2 signal, 227 ... CS3 signal, 228 ... CS8 signal, 229
... CS9 signal, 230 ... CS10 signal, 231 ... CS1
1 signal, 232 ... Operation system lower address, 233 ... Operation system lower address, 234 ... Operation system lower address, 235 ...
Operation system lower address, 236 ... I / O system lower address,
237 ... I / O system lower address, 238 ... I / O system lower address, 239 ... I / O system lower address, 240 ... Signal line, 241 ... SA1 signal, 242 ... SA0 signal, 24
3 ... SB1 signal, 244 ... SB0 signal, 245 ... Interrupt request signal, 246 ... Signal line, 247 ... Interrupt request signal,
248 ... Signal line, 249 ... External interrupt request signal, 250
... internal interrupt request signal, 251 ... signal line, 252 ... signal line, 253 ... signal line, 254 ... interrupt flag clear signal, 255 ... interrupt vector read signal, 256 ... interrupt vector read signal, 257 ... interrupt flag clear signal, 258 ... interrupt vector read signal, 259 ... write signal line, 260 ... signal line, 261, ... signal line, 262 ...
Signal line, 263 ... Signal line.

───────────────────────────────────────────────────── フロントページの続き (72)発明者 禰寝 義人 東京都国分寺市東恋ケ窪1丁目280番地 株式会社日立製作所中央研究所内 (72)発明者 池田 宏 東京都国分寺市東恋ケ窪1丁目280番地 株式会社日立製作所中央研究所内 (72)発明者 天野 明雄 東京都国分寺市東恋ケ窪1丁目280番地 株式会社日立製作所中央研究所内 (72)発明者 上牧 春雄 東京都国分寺市東恋ケ窪1丁目280番地 株式会社日立製作所中央研究所内 (72)発明者 淺川 吉章 東京都国分寺市東恋ケ窪1丁目280番地 株式会社日立製作所中央研究所内 ─────────────────────────────────────────────────── ─── Continued front page (72) Inventor Yoshihito Yoshihito 1-280, Higashi Koikeku, Kokubunji, Tokyo Central Research Laboratory, Hitachi, Ltd. (72) Inventor Hiroshi Ikeda 1-280, Higashi Koikeku, Kokubunji, Tokyo Hitachi, Ltd. Central Research Laboratory (72) Inventor Akio Amano 1-280 Higashi Koikekubo, Kokubunji, Tokyo Hitachi Central Research Laboratory (72) Inventor Haruo Uemaki 1-280 Higashi Koikeku, Kokubunji, Tokyo Hitachi Central Research Center ( 72) Inventor Yoshiaki Asakawa 1-280 Higashi Koigokubo, Kokubunji City, Tokyo Inside Hitachi Central Research Laboratory

Claims (5)

【特許請求の範囲】[Claims] 【請求項1】アドレスを出力する第1と第2のプロセッ
サと、 上記第1のプロセッサと接続された第1のアドレスバス
および第1のデータバスと、 上記第2のプロセッサと接続された第2のアドレスバス
および第2のデータバスと、 上記第1と第2のアドレスバスおよび上記第1の第2の
データバスとに接続された内蔵メモリと、 上記第1と第2のアドレスバスの選択された一方と上記
第1の第2のデータバスの選択された一方とを外部アド
レスバス(22)と外部データバス(21)とに接続する選択回
路とを具備してなり、 上記第2のデータバスには、タイマ、A/D変換器およ
びD/A変換器、シリアル入出力インターフェースの少
なくともひとつである周辺モジュールが接続され、 上記第2のプロセッサと上記周辺モジュールには割込み
制御回路が接続され、 上記割込み制御回路は上記周辺モジュールからの割込み
要求を上記第2のプロセッサに転送することを特徴とす
る半導体集積回路。
1. A first and second processor for outputting an address, a first address bus and a first data bus connected to the first processor, and a first processor connected to the second processor. A second address bus and a second data bus; a built-in memory connected to the first and second address buses and the first second data bus; and a first and a second address bus. A selection circuit for connecting the selected one and the selected one of the first and second data buses to an external address bus (22) and an external data bus (21); A peripheral module, which is at least one of a timer, an A / D converter and a D / A converter, and a serial input / output interface, is connected to the data bus of, and an interrupt control is provided to the second processor and the peripheral module. Circuit is connected, the interrupt control circuit semiconductor integrated circuit, characterized in that forwarding the interrupt request from the peripheral module to said second processor.
【請求項2】上記割込み制御回路はさらに上記第1のプ
ロセッサと接続され、 上記第2のプロセッサによる外部データの上記内蔵メモ
リへの転送終了時に生成される上記第2のプロセッサか
らの割込み要求を上記割込み制御回路は上記第1のプロ
セッサに転送することを特徴とする請求項1に記載の半
導体集積回路。
2. The interrupt control circuit is further connected to the first processor, and receives an interrupt request from the second processor generated at the end of transfer of external data by the second processor to the internal memory. 2. The semiconductor integrated circuit according to claim 1, wherein the interrupt control circuit transfers the interrupt control circuit to the first processor.
【請求項3】上記第1と上記第2のプロセッサの一方を
指定する指定手段をさらに具備してなり、 上記第1のプロセッサからの複数のアクセスと上記第2
のプロセッサからの複数のアクセスに際して、上記選択
回路は上記指定された一方からの上記複数のアクセスを
上記指定された一方と上記外部アドレスバスとの接続に
より独占的に連続して実行することを特徴とする請求項
1に記載の半導体集積回路。
3. A designation means for designating one of the first processor and the second processor, further comprising a plurality of accesses from the first processor and the second processor.
The plurality of accesses from the processor, the selection circuit executes the plurality of accesses from the designated one exclusively and continuously by connecting the designated one to the external address bus. The semiconductor integrated circuit according to claim 1.
【請求項4】上記内蔵メモリは複数のバンクから構成さ
れ、 上記複数のバンクへのアクセスを制御する情報を格納す
る格納手段が上記第2のデータバスに接続され、 上記第1のアドレスバスを介しての上記第1のプロセッ
サから上記複数のバンクへのアクセスを上記第1のアド
レスバスの上位ビットと上記格納手段の情報とに応答し
て制御する第1のアドレスデコーダが上記第1のアドレ
スバスに接続されてなり、 上記第2のプロセッサによりアクセスされた外部データ
の複数のバンクの少なくとも一つのバンクへのデータ転
送の終了の度に上記第2のプロセッサは上記第2のデー
タバスを介して上記格納手段の情報を更新し、 上記第2のプロセッサによりアクセスされた外部データ
が複数のバンクの少なくとも一つのバンクへのデータ転
送の終了の度に生成される上記第2のプロセッサからの
割込み要求を、上記割込み制御回路は、上記第1のプロ
セッサに転送せしめ、 上記第1のプロセッサは上記データ転送終了時の各割込
み要求に応答して同一のアクセスアドレスを上記第1の
アドレスバスへ送出することを特徴とする請求項1に記
載の半導体集積回路。
4. The built-in memory is composed of a plurality of banks, and storage means for storing information controlling access to the plurality of banks is connected to the second data bus, and the first address bus is connected to the first data bus. A first address decoder for controlling access to the plurality of banks from the first processor via the first address bus in response to upper bits of the first address bus and information in the storage means. A second bus via the second data bus each time data transfer to the at least one of the plurality of banks of external data accessed by the second processor is completed. And updating the information in the storage means to transfer the external data accessed by the second processor to at least one of the plurality of banks. The interrupt control circuit transfers an interrupt request from the second processor generated at the end of each transmission to the first processor, and the first processor causes each interrupt request at the end of the data transfer. 2. The semiconductor integrated circuit according to claim 1, wherein the same access address is sent to the first address bus in response to the response.
【請求項5】上記第1のデータバスには乗除算器、関数
演算器、浮動小数点演算プロセッサの少なくともひとつ
である補助演算モジュールが接続されてなることを特徴
とする請求項1から請求項4までのいずれかひとつに記
載の半導体集積回路。
5. An auxiliary arithmetic module, which is at least one of a multiplier / divider, a function arithmetic unit, and a floating point arithmetic processor, is connected to the first data bus. The semiconductor integrated circuit described in any one of the above.
JP5231233A 1993-09-17 1993-09-17 Semiconductor integrated circuit with cpu Pending JPH0784963A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5231233A JPH0784963A (en) 1993-09-17 1993-09-17 Semiconductor integrated circuit with cpu

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5231233A JPH0784963A (en) 1993-09-17 1993-09-17 Semiconductor integrated circuit with cpu

Publications (1)

Publication Number Publication Date
JPH0784963A true JPH0784963A (en) 1995-03-31

Family

ID=16920411

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5231233A Pending JPH0784963A (en) 1993-09-17 1993-09-17 Semiconductor integrated circuit with cpu

Country Status (1)

Country Link
JP (1) JPH0784963A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6356976B1 (en) 1998-11-18 2002-03-12 International Business Machines Corporation LSI system capable of reading and writing at high speed
US6993597B2 (en) 1995-10-09 2006-01-31 Renesas Technology Corp. Terminal apparatus

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6993597B2 (en) 1995-10-09 2006-01-31 Renesas Technology Corp. Terminal apparatus
US8090398B2 (en) 1995-10-09 2012-01-03 Renesas Electronics Corporation Terminal apparatus
US6356976B1 (en) 1998-11-18 2002-03-12 International Business Machines Corporation LSI system capable of reading and writing at high speed

Similar Documents

Publication Publication Date Title
US4149242A (en) Data interface apparatus for multiple sequential processors
CA1324835C (en) Modular crossbar interconnection network for data transaction between system units in a multi-processor system
US6070205A (en) High-speed processor system having bus arbitration mechanism
US5685005A (en) Digital signal processor configured for multiprocessing
US4470113A (en) Information processing unit
US5634076A (en) DMA controller responsive to transition of a request signal between first state and second state and maintaining of second state for controlling data transfer
US7581054B2 (en) Data processing system
US5136500A (en) Multiple shared memory arrangement wherein multiple processors individually and concurrently access any one of plural memories
US5611075A (en) Bus architecture for digital signal processor allowing time multiplexed access to memory banks
CA2478570A1 (en) Data processing apparatus and system and method for controlling memory access
JP3619532B2 (en) Semiconductor integrated circuit device
JP2001043180A (en) Microprocessor and storage device therefor
JPH01320564A (en) Parallel processor
JPH0784963A (en) Semiconductor integrated circuit with cpu
JPH0227696B2 (en) JOHOSHORISOCHI
JPH11259417A (en) Bus access system and bus access controller
JP2000099452A (en) Dma control device
JP2002182975A (en) Multi-processor system
US20060064553A9 (en) Data processing apparatus and system and method for controlling memory access
JPS59116866A (en) Storage device of computer system
JPH10254767A (en) Memory controller and memory system by the controller
JPS63175964A (en) Shared memory
JPH01205339A (en) Microcomputer system
JP2777387B2 (en) Data processing device with direct memory access method with improved transfer control
JP2504535B2 (en) Bus unit configuration method