[go: up one dir, main page]

JP2003140964A - Data processing system - Google Patents

Data processing system

Info

Publication number
JP2003140964A
JP2003140964A JP2001339349A JP2001339349A JP2003140964A JP 2003140964 A JP2003140964 A JP 2003140964A JP 2001339349 A JP2001339349 A JP 2001339349A JP 2001339349 A JP2001339349 A JP 2001339349A JP 2003140964 A JP2003140964 A JP 2003140964A
Authority
JP
Japan
Prior art keywords
data processing
microprocessors
data
memories
microprocessor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2001339349A
Other languages
Japanese (ja)
Other versions
JP3870756B2 (en
Inventor
Toshihiko Matsuoka
俊彦 松岡
Hideaki Ishihara
秀昭 石原
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.)
Denso Corp
Original Assignee
Denso Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Denso Corp filed Critical Denso Corp
Priority to JP2001339349A priority Critical patent/JP3870756B2/en
Publication of JP2003140964A publication Critical patent/JP2003140964A/en
Application granted granted Critical
Publication of JP3870756B2 publication Critical patent/JP3870756B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To heighten the efficiency of access to storage devices of the respective data processors in a system including a plurality of data processors sharing a plurality of storage devices. SOLUTION: Microprocessors X, Y read out an instruction from memories A, B through a control unit U. In a storage part formed of memories A, B, two consecutive addresses make one group, and the address group is periodically allocated to the memories A, B in an ascending order. When the microprocessors X, Y respectively jump to a leading address of a program PRGX and a leading address of a program PRGY at the same time, the microprocessor Y with a low priority is kept waiting for two processing cycles, and from that time on, an instruction can be read out from the different memory simultaneously with the microprocessor X.

Description

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

【0001】[0001]

【発明の属する技術分野】本発明は、複数のデータ処理
装置が個別にアクセス可能な複数の記憶装置を共有する
データ処理システムに関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a data processing system in which a plurality of data processing devices share a plurality of individually accessible storage devices.

【0002】[0002]

【発明が解決しようとする課題】データ処理システム例
えばマイクロコンピュータシステムにおいては、処理の
高速化およびハードウェアとソフトウェアの効率的利用
を図るために、1つのシステムに複数のマイクロプロセ
ッサと複数のメモリとを備えたものが提案されている。
In a data processing system such as a microcomputer system, a plurality of microprocessors and a plurality of memories are provided in one system in order to speed up the processing and efficiently use hardware and software. The one with is proposed.

【0003】図7は、2つのマイクロプロセッサと2つ
のメモリ(ROM)とを備えたマイクロコンピュータシ
ステムの従来構成を示している。2つのマイクロプロセ
ッサX、Yと2つのメモリA、Bとの間には、マイクロ
プロセッサX、Yの各データバスDX、DYとメモリ
A、Bの各データバスDA、DBとを接続制御するため
のコントロールユニットUが設けられている。各データ
バスDX、DY、DA、DBは全て同じバス幅(16ビ
ット)を有しており、メモリAには、例えばFD000
0HからFDFFFFHまでの連続したアドレスが割り
当てられており、メモリBには、例えばFE0000H
からFEFFFFHまでの連続したアドレスが割り当て
られている。
FIG. 7 shows a conventional configuration of a microcomputer system having two microprocessors and two memories (ROM). Between the two microprocessors X and Y and the two memories A and B, for connecting and controlling the data buses DX and DY of the microprocessors X and Y and the data buses DA and DB of the memories A and B. A control unit U is provided. The data buses DX, DY, DA, and DB all have the same bus width (16 bits), and the memory A has, for example, FD000.
Consecutive addresses from 0H to FDFFFFH are assigned, and the memory B has, for example, FE0000H.
To FEFFFFH are assigned consecutive addresses.

【0004】メモリAのアドレス領域には、例えば命令
0ないし命令4から構成されマイクロプロセッサXのみ
が実行するプログラムPRGXと,命令20ないし命令
24から構成されマイクロプロセッサYのみが実行する
プログラムPRGYとが書き込まれている。また、メモ
リBのアドレス領域には、命令10ないし命令14から
構成されマイクロプロセッサX、Yがともに実行するサ
ブルーチンプログラムPRGZが書き込まれている。
In the address area of the memory A, there are, for example, a program PRGX composed of instructions 0 to 4 and executed only by the microprocessor X, and a program PRGY composed of instructions 20 to 24 and executed only by the microprocessor Y. It has been written. Further, in the address area of the memory B, a subroutine program PRGZ composed of instructions 10 to 14 and executed by the microprocessors X and Y is written.

【0005】これから分かるように、複数のマイクロプ
ロセッサX、Yが複数のメモリA、Bを共有するマイク
ロプロセッサシステムでは、マイクロプロセッサX、Y
がサブルーチンプログラム、割り込み処理ルーチンプロ
グラム、テーブルデータなどを共有化でき、しかもプロ
グラムやデータをメモリA、Bの全記憶容量まで無駄な
く配置することができるので記憶容量の低減を図ること
ができる。
As can be seen, in a microprocessor system in which a plurality of microprocessors X and Y share a plurality of memories A and B, the microprocessors X and Y are
Can share a subroutine program, an interrupt processing routine program, table data, and the like, and moreover, the programs and data can be allocated to the entire storage capacities of the memories A and B without waste, so that the storage capacity can be reduced.

【0006】しかしながら、マイクロプロセッサXとY
は同時に同じメモリAまたはBにアクセスすることがで
きないので、同一メモリに対し同時読み出しが発生した
場合には優先度の低いマイクロプロセッサのアクセスが
禁止されることになる。図8は、マイクロプロセッサ
X、Yの命令読み出しタイミングを示したものである。
マイクロプロセッサX、YがそれぞれメモリAに書き込
まれたプログラムPRGXの先頭アドレス、プログラム
PRGYの先頭アドレスに同時にジャンプした場合、マ
イクロプロセッサXがメモリAに書き込まれている命令
0ないし命令4を読み出すまでの間、優先度の低いマイ
クロプロセッサYはメモリAへのアクセスが禁止され待
機(ウェイト)状態となる。
However, microprocessors X and Y
Cannot access the same memory A or B at the same time, therefore, when simultaneous reading is performed on the same memory, access by a microprocessor having a low priority is prohibited. FIG. 8 shows instruction read timings of the microprocessors X and Y.
When the microprocessors X and Y simultaneously jump to the start address of the program PRGX and the start address of the program PRGY written in the memory A, respectively, until the microprocessor X reads the instruction 0 to the instruction 4 written in the memory A. During this period, the microprocessor Y having a low priority is prohibited from accessing the memory A and enters a waiting state.

【0007】この例では、マイクロプロセッサYが待つ
時間は、マイクロプロセッサXがメモリBに書き込まれ
たサブルーチンプログラムPRGZに移行するまでの5
命令となっている。しかし、実際のプログラムは命令数
が非常に多く、またプログラムやデータの共有化を図り
つつ同一メモリへの同時読み出しとならない配置とする
ことは非常に難しいため、待機状態の増大によるアクセ
ス効率の低下が避けられなかった。
In this example, the waiting time of the microprocessor Y is 5 before the microprocessor X shifts to the subroutine program PRGZ written in the memory B.
It is an order. However, since the actual program has an extremely large number of instructions and it is very difficult to arrange the programs and data in such a way that they cannot be read simultaneously to the same memory, the efficiency of access decreases due to an increase in wait states. Was unavoidable.

【0008】本発明は上記事情に鑑みてなされたもの
で、その目的は、複数のデータ処理装置が個別にアクセ
ス可能な複数の記憶装置を共有するものにおいて、各デ
ータ処理装置の記憶装置に対するアクセス効率が高いデ
ータ処理システムを提供することにある。
The present invention has been made in view of the above circumstances, and an object thereof is to share a plurality of storage devices that can be individually accessed by a plurality of data processing devices, and to access the storage devices of each data processing device. It is to provide a highly efficient data processing system.

【0009】[0009]

【課題を解決するための手段】請求項1に記載した手段
によれば、m個(m≧2)のデータ処理装置とn個(n
≧m)の記憶装置とを備え、連続するp個(p≧1)の
アドレスが一群となって、そのアドレス群(p=1の場
合は各アドレス)が所定の順序を持つ前記n個の記憶装
置に対し昇順または降順となるように周期的に割り当て
られている。例えばプログラムの読み出し時のようにデ
ータ処理装置が読み出しアドレスを1ずつ増やしながら
記憶装置にアクセスする場合、各データ処理装置がアク
セスする記憶装置はp回の読み出しごとに所定の順序に
従って周期的に移行していく。従って、例えば2個のデ
ータ処理装置が同一の記憶装置に同時にアクセスを要求
した場合、優先度の低いデータ処理装置は最大でp回の
命令読み出し期間だけ待機すれば当該記憶装置にアクセ
ス可能となる。
According to the means described in claim 1, m (m ≧ 2) data processing devices and n (n ≧ n) data processing devices.
.Gtoreq.m) storage devices, and a group of consecutive p (p.gtoreq.1) addresses is formed, and the n address groups (each address when p = 1) have a predetermined order. Periodically assigned to the storage device in ascending or descending order. For example, when the data processing device accesses the storage device while incrementing the read address by 1 such as when reading a program, the storage device accessed by each data processing device periodically shifts in a predetermined order every p times of reading. I will do it. Therefore, for example, when two data processing devices request access to the same storage device at the same time, the low-priority data processing device can access the storage device by waiting for at most p instruction read periods. .

【0010】また、本データ処理システムでは、データ
処理装置の数以上の数の記憶装置が存在するため、全て
のデータ処理装置がプログラムの読み出し動作を実行し
ている場合において、ジャンプ命令、サブルーチンコー
ル、割り込み処理などの発生がなく且つデータ処理装置
の内部処理(パイプライン処理など)に停滞が発生しな
い限りにおいて、全てのデータ処理装置はアクセス待ち
を生じることがなく互いに異なる記憶装置に連続してア
クセス可能となる。このように本手段によれば、記憶装
置ごとに連続したアドレスを割り当てられていた従来構
成に比べ、各データ処理装置の記憶装置に対するアクセ
ス効率を高めることができる。
Further, in the present data processing system, since there are more storage devices than the number of data processing devices, a jump instruction or subroutine call is executed when all the data processing devices are executing the program read operation. As long as no interrupt processing occurs and internal processing (pipeline processing, etc.) of the data processing device does not stagnate, all data processing devices do not wait for access and are continuously stored in different storage devices. It becomes accessible. As described above, according to the present means, it is possible to improve the access efficiency of each data processing device to the storage device, as compared with the conventional configuration in which consecutive addresses are assigned to each storage device.

【0011】請求項2に記載した手段によれば、アドレ
ス群は連続する2個(q≧0)のアドレスから構成さ
れるので、アクセス制御装置はデータ処理装置が出力す
るアドレスの所定ビットの値に基づいて各記憶装置への
アクセスを振り分ける(デコードする)ことが可能とな
る。これにより、アクセス制御装置の構成が簡単とな
る。
According to the means described in claim 2, since the address groups is composed of addresses of 2 q number of continuous (q ≧ 0), the access control device of a predetermined bit of the address output by the data processing device It is possible to allocate (decode) access to each storage device based on the value. This simplifies the configuration of the access control device.

【0012】請求項3に記載した手段によれば、アドレ
ス群を構成するアドレスの数は1(p=1)であるた
め、2個のデータ処理装置が同一の記憶装置に同時にア
クセスを要求する場合に生じる待ちは最大で1回の読み
出し期間だけになり、本発明において最も効率的なアク
セスが可能となる。
According to the means described in claim 3, since the number of addresses forming the address group is 1 (p = 1), two data processing devices simultaneously request access to the same storage device. The waiting that occurs in some cases is only one reading period at the maximum, and the most efficient access is possible in the present invention.

【0013】請求項4に記載した手段によれば、データ
処理装置の数mと記憶装置の数nとが等しいので、上述
した本発明の効果を保ちつつ記憶装置の数を極力減らす
ことができる。
According to the means described in claim 4, since the number m of data processing devices is equal to the number n of storage devices, the number of storage devices can be reduced as much as possible while maintaining the above-described effect of the present invention. .

【0014】[0014]

【発明の実施の形態】(第1の実施形態)以下、本発明
をマイクロコンピュータシステムに適用した第1の実施
形態について図1ないし図4を参照しながら説明する。
図1はマイクロコンピュータシステムの概略的な電気的
構成を示すもので、マイクロコンピュータシステム1
(データ処理システムに相当)は、各種プログラムやデ
ータが記憶された2つのメモリA、B(記憶装置に相
当、n=2)と、これらメモリA、Bを共有する2つの
マイクロプロセッサX、Y(データ処理装置に相当、m
=2)と、マイクロプロセッサX、YとメモリA、Bと
の間に介在して両者の接続を制御するコントロールユニ
ットU(アクセス制御装置に相当)とから構成されてい
る。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS (First Embodiment) A first embodiment in which the present invention is applied to a microcomputer system will be described below with reference to FIGS.
FIG. 1 shows a schematic electrical configuration of a microcomputer system.
(Corresponding to a data processing system) is two memories A and B (corresponding to a storage device, n = 2) in which various programs and data are stored, and two microprocessors X and Y that share these memories A and B. (Equivalent to a data processing device, m
= 2) and a control unit U (corresponding to an access control device) that intervenes between the microprocessors X and Y and the memories A and B to control the connection therebetween.

【0015】このうち、メモリA、Bは、それぞれコン
トロールユニットUから制御バスCA、CBを介して供
給されるアドレス信号および制御信号(リード信号、チ
ップセレクト信号等)に従って、16ビットのデータバ
スDA、DBに対し独立にデータを出力可能なROMか
ら構成されている。
Among them, the memories A and B are 16-bit data buses DA according to address signals and control signals (read signals, chip select signals, etc.) supplied from the control unit U via the control buses CA and CB, respectively. , And a ROM that can output data independently to the DB.

【0016】これらメモリA、Bからなる記憶部は、F
D0000HからFEFFFFHまでのアドレス領域を
有している。アドレスは、連続する2つのアドレスが一
群となって(p=2、q=1)、そのアドレス群がメモ
リA、Bに昇順となるように周期的に割り当てられてい
る。すなわち、メモリAにはFD0000H、FD00
01H、FD0004H、FD0005H、…が割り当
てられ、メモリBにはFD0002H、FD0003
H、FD0006H、FD0007H、…が割り当てら
れている。各アドレス領域はワード(16ビット)単位
となっている。
The storage unit consisting of these memories A and B is F
It has an address area from D0000H to FEFFFFH. Addresses are cyclically assigned such that two consecutive addresses form a group (p = 2, q = 1) and the address groups are arranged in the memories A and B in ascending order. That is, FD0000H and FD00 are stored in the memory A.
01H, FD0004H, FD0005H, ... Are allocated, and the memory B is FD0002H, FD0003.
H, FD0006H, FD0007H, ... Are assigned. Each address area is in units of words (16 bits).

【0017】マイクロプロセッサX、Yは同一の命令体
系を持ち、同一のクロックに同期して動作するようにな
っている。これらマイクロプロセッサX、Yは、メモリ
A、Bと同様に16ビットのデータバスDX、DYを有
し、1クロックごとに1命令を実行するRISCタイプ
のプロセッサである。内部は32ビット幅の内部データ
バスを有しており、バイト(8ビット)単位、ワード
(16ビット)単位、ロング(32ビット)単位にてデ
ータを扱うことが可能なように構成されている。ここ
で、ロング単位のデータ読み出しを行う場合には、上位
データ、下位データの2回に分けて連続して読み出しを
行い、バイト単位のデータ読み出しを行う場合には、ワ
ード単位のデータ読み出しを行った後下位バイトのみを
有効とするようになっている。
The microprocessors X and Y have the same instruction system and operate in synchronization with the same clock. Like the memories A and B, these microprocessors X and Y are RISC type processors that have 16-bit data buses DX and DY and execute one instruction every clock. The inside has an internal data bus with a width of 32 bits, and is configured to be able to handle data in units of bytes (8 bits), words (16 bits), and longs (32 bits). . Here, when reading data in long units, upper data and lower data are continuously read in two times, and when reading data in bytes, data reading is performed in word units. After that, only the lower byte is valid.

【0018】また、マイクロプロセッサX、Yは、それ
ぞれ制御バスCX、CYを介してアドレスおよび制御信
号をコントロールユニットに供給し、また、コントロー
ルユニットUから供給される停止信号HX、HYがアク
ティブの時には一時的に動作を停止(ウェイト動作)す
るようになっている。
The microprocessors X and Y supply address and control signals to the control unit via the control buses CX and CY, respectively, and when the stop signals HX and HY supplied from the control unit U are active. The operation is temporarily stopped (wait operation).

【0019】コントロールユニットUは、図2に示すよ
うに、データバスDX、DYとデータバスDA、DBと
の間の接続を行うデータパス部10と、制御バスCX、
CYと制御バスCA、CBとの間の接続を行うコントロ
ールパス部20と、データパス部10およびコントロー
ルパス部20を駆動するための各種パス制御信号および
マイクロプロセッサX、Yへの停止信号HX、HYを生
成する制御部30から構成されている。
As shown in FIG. 2, the control unit U includes a data path unit 10 for connecting the data buses DX, DY and the data buses DA, DB, and a control bus CX,
A control path unit 20 for connecting the CY and the control buses CA and CB, various path control signals for driving the data path unit 10 and the control path unit 20 and a stop signal HX to the microprocessors X and Y, It is composed of a control unit 30 that generates HY.

【0020】このうち、データパス部10は、X側読出
パス回路11とY側読出パス回路12とを備えている。
X側読出パス回路11は、制御部30からのパス制御信
号Sx(S11〜S14)に従って、データバスDA、DB
を介して供給されるメモリA、Bから読み出されたデー
タを、データバスDXを介してマイクロプロセッサXに
供給するようになっている。同様に、Y側読出パス回路
12は、制御部30からのパス制御信号Sy(S21〜S
24)に従って、データバスDA、DBを介して供給され
るメモリA、Bから読み出されたデータを、データバス
DYを介してマイクロプロセッサYに供給するようにな
っている。
Of these, the data path unit 10 includes an X-side read path circuit 11 and a Y-side read path circuit 12.
The X-side read path circuit 11 receives the data buses DA and DB according to the path control signal Sx (S11 to S14) from the control unit 30.
The data read from the memories A and B supplied via the data bus is supplied to the microprocessor X via the data bus DX. Similarly, the Y-side read path circuit 12 receives the path control signal Sy (S21 to S21) from the control unit 30.
According to 24), the data read from the memories A and B supplied via the data buses DA and DB are supplied to the microprocessor Y via the data bus DY.

【0021】これらX側読出パス回路11とY側読出パ
ス回路12は同一構成であって、例えばパス回路11
は、一対のデータバスDA、DBの何れかを選択信号S
i1に従って選択する選択回路M1と、選択回路M1の出
力をラッチ信号Si2のタイミングで格納するワークレジ
スタM2と、一対のデータバスDA、DBとワークレジ
スタM2の出力との何れかを選択信号Si3に従って選択
する選択回路M3と、選択回路M3の出力とデータバス
DXとの間をゲート信号Si4に従って開閉するトライス
テートのゲート回路M4とから構成されている。ここ
で、X側読出パス回路11の選択信号Si1、Si2、Si
3、Si4はそれぞれS11、S12、S13、S14(=Sx)
であり、Y側読出パス回路12の選択信号Si1、Si2、
Si3、Si4はそれぞれS21、S22、S23、S24(=S
y)である。
The X-side read pass circuit 11 and the Y-side read pass circuit 12 have the same structure.
Is a selection signal S for selecting one of the pair of data buses DA and DB.
According to the selection signal Si3, a selection circuit M1 that selects according to i1, a work register M2 that stores the output of the selection circuit M1 at the timing of the latch signal Si2, and a pair of data buses DA and DB and the output of the work register M2 are selected. It is composed of a selection circuit M3 for selection and a tri-state gate circuit M4 which opens and closes between the output of the selection circuit M3 and the data bus DX according to a gate signal Si4. Here, the selection signals Si1, Si2, Si of the X-side read path circuit 11 are
3 and Si4 are S11, S12, S13 and S14 (= Sx) respectively
And the selection signals Si1, Si2 of the Y-side read path circuit 12,
Si3 and Si4 are S21, S22, S23 and S24 (= S
y).

【0022】コントロールパス部20は、A側制御パス
回路21とB側制御パス回路22とを備えている。A側
制御パス回路21は、制御部30からのパス制御信号S
caに従って、制御バスCX、CYを介してマイクロプロ
セッサX、Yから供給されるアドレスおよび制御信号
を、制御バスCAを介してメモリAに供給するためのコ
ントロールパスを形成するようになっている。同様に、
B側制御パス回路22は、制御部30からのパス制御信
号Scbに従って、制御バスCX、CYを介してマイクロ
プロセッサX、Yからの供給されるアドレスおよび制御
信号を、制御バスCBを介してメモリBに供給するため
のコントロールパスを形成するようになっている。
The control path unit 20 comprises an A side control path circuit 21 and a B side control path circuit 22. The A-side control pass circuit 21 receives the pass control signal S from the control unit 30.
In accordance with ca, a control path for supplying the address and control signal supplied from the microprocessors X and Y via the control buses CX and CY to the memory A via the control bus CA is formed. Similarly,
The B-side control path circuit 22 stores the address and control signal supplied from the microprocessors X and Y via the control buses CX and CY in accordance with the path control signal Scb from the control unit 30 via the control bus CB. A control path for supplying to B is formed.

【0023】これらA側制御パス回路21とB側制御パ
ス回路22は同一構成であって、例えばA側制御パス回
路21は、制御バスCX、CYの何れかをパス制御信号
Scaに従って選択する選択回路M6と、選択回路M6の
出力と制御バスCAとの間に接続されたバッファ回路M
5とから構成されている。
The A-side control path circuit 21 and the B-side control path circuit 22 have the same structure. For example, the A-side control path circuit 21 selects either the control buses CX or CY according to the path control signal Sca. A circuit M6 and a buffer circuit M connected between the output of the selection circuit M6 and the control bus CA.
It is composed of 5 and.

【0024】制御部30は、図3に示すように、X側タ
イプ識別部32、Y側タイプ識別部33、X側調停/変
換部34、Y側調停/変換部35、優先権レジスタ3
6、データパス制御部37、コントロールパス制御部3
8および停止制御部39から構成されている。
As shown in FIG. 3, the control unit 30 includes an X-side type identification unit 32, a Y-side type identification unit 33, an X-side arbitration / conversion unit 34, a Y-side arbitration / conversion unit 35, and a priority register 3.
6, data path control unit 37, control path control unit 3
8 and a stop control unit 39.

【0025】X側タイプ識別部32は、マイクロプロセ
ッサXが出力するアドレス信号、制御信号、LONG信
号に基づいて、マイクロプロセッサXが要求するアクセ
スタイプを識別するもので、Y側タイプ識別部33も同
様である。ここで、LONG信号とは、マイクロプロセ
ッサX、Yがロング単位でのデータの入出力を行ってい
る時に、その状態を表すために出力される信号である。
The X-side type identifying unit 32 identifies the access type requested by the microprocessor X based on the address signal, the control signal, and the LONG signal output from the microprocessor X, and the Y-side type identifying unit 33 also. It is the same. Here, the LONG signal is a signal output to indicate the state when the microprocessors X and Y are inputting / outputting data in long units.

【0026】X側調停/変換部34は、X側タイプ識別
部32にて識別されたアクセスタイプ(以下「識別アク
セスタイプ」と称す)を、Y側タイプ識別部33からの
識別アクセスタイプと比較することによりアクセスの競
合の有無を調べ、必要に応じてマイクロプロセッサXに
対する停止要求を出力するとともに、マイクロプロセッ
サX側の識別アクセスタイプを、実際の制御に用いる実
施アクセスタイプに変換するようになっている。Y側調
停/変換部35も同様である。
The X-side arbitration / conversion unit 34 compares the access type identified by the X-side type identification unit 32 (hereinafter referred to as "identification access type") with the identification access type from the Y-side type identification unit 33. By doing so, the presence or absence of access conflict is checked, a stop request to the microprocessor X is output if necessary, and the identification access type on the microprocessor X side is converted into an execution access type used for actual control. ing. The same applies to the Y-side arbitration / conversion unit 35.

【0027】優先権レジスタ36は、アクセスの競合が
発生した時に、何れのマイクロプロセッサに優先権があ
るかを示すレジスタである。この優先権レジスタ36
は、外部からの切替信号(例えばディップスイッチによ
る設定)によって、優先権をマイクロプロセッサX側に
固定、マイクロプロセッサY側に固定、競合が発生する
毎に交互に切替の何れかに設定できるように構成されて
いる。
The priority register 36 is a register indicating which microprocessor has priority when access conflict occurs. This priority register 36
Allows the priority to be fixed to the microprocessor X side, fixed to the microprocessor Y side, or alternately switched whenever conflict occurs by an external switching signal (for example, setting by a dip switch). It is configured.

【0028】データパス制御部37は、調停/変換部3
4、35にて生成された実施アクセスタイプに従って、
データパス部10を制御するためのパス制御信号Sx、
Syを生成するようになっている。また、コントロール
パス制御部38は、実施アクセスタイプに従って、コン
トロールパス部20を制御するためのパス制御信号Sc
a、Scbを生成するようになっている。さらに、停止制
御部39は、調停/変換部34、35からの停止要求に
従って、1処理サイクル(本実施形態では1クロック)
の間、対応するマイクロプロセッサの処理を停止させる
ための停止信号HX、HYを生成するようになってい
る。
The data path control unit 37 includes an arbitration / conversion unit 3.
According to the enforcement access type generated in 4, 35,
A path control signal Sx for controlling the data path unit 10,
Sy is generated. The control path control unit 38 also controls the path control signal Sc for controlling the control path unit 20 according to the access type.
a and Scb are generated. Further, the stop control unit 39, in accordance with the stop request from the arbitration / conversion units 34 and 35, performs one processing cycle (one clock in this embodiment).
During this period, stop signals HX and HY for stopping the processing of the corresponding microprocessor are generated.

【0029】次に、マイクロプロセッサX、Yがワード
単位のアクセスによりプログラムの読み出しおよび実行
を行う場合の動作について、マイクロプロセッサX、Y
の命令読み出しタイミングを示す図4も参照しながら説
明する。
Next, regarding the operation when the microprocessors X and Y read and execute the program by accessing in word units, the microprocessors X and Y will be described.
The instruction read timing will be described with reference to FIG.

【0030】メモリA、BのFD0000H以降のアド
レス領域には、命令0、1、…、A、B、…から構成さ
れマイクロプロセッサXのみが実行するプログラムPR
GXが格納され、FE0000H以降のアドレス領域に
は、命令20、21、…、2A、2B、…から構成され
マイクロプロセッサYのみが実行するプログラムPRG
Yが格納されている。また、その他のアドレス領域に
は、種々のサブルーチンプログラム、割り込み処理ルー
チンプログラム、テーブルデータなど(図示せず)が格
納されている。
In the address area after FD0000H of the memories A and B, a program PR composed of instructions 0, 1, ..., A, B, ...
GX is stored, and in the address area after FE0000H, a program PRG including instructions 20, 21, ..., 2A, 2B ,.
Y is stored. Further, in other address areas, various subroutine programs, interrupt processing routine programs, table data and the like (not shown) are stored.

【0031】マイクロプロセッサX、Yがそれぞれプロ
グラムPRGXの先頭アドレス(FD0000H)、プ
ログラムPRGYの先頭アドレス(FE0000H)に
同時にジャンプした場合、調停/変換部34、35で生
成される実施アクセスタイプはともに「A側ワードリー
ド」となり、アクセスの競合が発生する。この時、優先
権レジスタ36は、予め外部からの切替信号により設定
されたレジスタ値に従って、マイクロプロセッサX側を
優先してアクセスさせる。すなわち、データパス制御部
37は、X側読出パス回路11を通して「命令0」を読
み出すためのパス制御信号Sxを出力し、停止制御部3
9は、マイクロプロセッサYの処理を一時的に停止(ウ
ェイト)させるための停止信号HYを出力する。この読
出サイクルの終了後、マイクロプロセッサXのプログラ
ムカウンタがインクリメントされる。
When the microprocessors X and Y simultaneously jump to the start address (FD0000H) of the program PRGX and the start address (FE0000H) of the program PRGY, the execution access types generated by the arbitration / conversion units 34 and 35 are both ". It becomes "A side word read", and access conflict occurs. At this time, the priority register 36 preferentially accesses the microprocessor X side according to the register value set in advance by a switching signal from the outside. That is, the data path control unit 37 outputs the path control signal Sx for reading “command 0” through the X-side read path circuit 11, and the stop control unit 3
The reference numeral 9 outputs a stop signal HY for temporarily stopping (waiting) the processing of the microprocessor Y. After the end of this read cycle, the program counter of the microprocessor X is incremented.

【0032】次のサイクルにおいても、マイクロプロセ
ッサX、YがともにメモリAへのアクセスとなるため競
合が発生し、マイクロプロセッサXが優先的にメモリA
から「命令1」を読み出す一方、マイクロプロセッサY
の処理は停止(ウェイト)する。
Also in the next cycle, since the microprocessors X and Y both access the memory A, contention occurs, and the microprocessor X gives priority to the memory A.
While reading the "instruction 1" from the microprocessor Y
The process of is stopped (waited).

【0033】しかし、続くサイクルにおいては、マイク
ロプロセッサXの「命令2」の読み出しがメモリBから
となるため、競合状態が解消される。すなわち、データ
パス制御部37は、X側読出パス回路11を通してメモ
リBから「命令2」を読み出すためのパス制御信号Sx
を出力するとともに、Y側読出パス回路12を通してメ
モリAから「命令20」を読み出すためのパス制御信号
Syを出力する。これ以降は、ジャンプ命令、サブルー
チンコール、割り込み処理などの発生により同一メモリ
からの命令読み出しとならない限り、マイクロプロセッ
サXとYとは連続して同時に異なるメモリから命令の読
み出しが可能となる。
However, in the subsequent cycle, the "instruction 2" of the microprocessor X is read from the memory B, so that the race condition is resolved. That is, the data path control unit 37 reads the “command 2” from the memory B through the X-side read path circuit 11, and the path control signal Sx.
And the path control signal Sy for reading the “command 20” from the memory A through the Y-side read path circuit 12. After that, as long as the instruction is not read from the same memory due to the occurrence of a jump instruction, a subroutine call, an interrupt process, etc., the microprocessors X and Y can read the instruction continuously and simultaneously from different memories.

【0034】以上説明したように、本実施形態のマイク
ロコンピュータシステム1によれば、命令の読み出し時
に、ジャンプ命令やサブルーチンコールの実行、割り込
みの発生などによりマイクロプロセッサXとYとの間で
アクセスの競合が発生した場合、優先度の低いマイクロ
プロセッサYが最大で2処理サイクルだけ待たされるこ
とがあるものの、それ以降はマイクロプロセッサXと同
時に命令を読み出せるようになる。従って、マイクロプ
ロセッサX、YのメモリA、Bに対するアクセス効率が
高まり、処理の高速化が図られる。
As described above, according to the microcomputer system 1 of the present embodiment, when the instruction is read, the jump instruction or the subroutine call is executed, the interrupt is generated, and the access between the microprocessors X and Y is performed. When a conflict occurs, the microprocessor Y having a low priority may wait for a maximum of two processing cycles, but thereafter, instructions can be read simultaneously with the microprocessor X. Therefore, the access efficiency to the memories A and B of the microprocessors X and Y is improved, and the processing speed is increased.

【0035】また、アドレスは、連続する2つのアドレ
スが一群となってそのアドレス群が昇順となるようにメ
モリAとBとに周期的に割り当てられているので、デー
タバス制御部37はアドレスのA1ビット(下位から2
番目のビット)の値のみに基づいてメモリAとBとのア
クセスを振り分ける(デコードする)ことが可能とな
る。これにより、データバス制御部37内のデコード回
路の構成を簡単化することができる。
Further, the addresses are periodically assigned to the memories A and B so that two consecutive addresses form a group and the addresses are arranged in ascending order. A1 bit (from the lower 2
The access to the memories A and B can be distributed (decoded) based only on the value of the (second bit). As a result, the structure of the decoding circuit in the data bus control unit 37 can be simplified.

【0036】さらに、2つのマイクロプロセッサX、Y
が2つのメモリA、Bを共有しているので、プログラム
やデータをメモリA、Bの全記憶容量まで無駄なく配置
することができ、記憶容量の低減を図ることができる。
Furthermore, two microprocessors X and Y
Share the two memories A and B, it is possible to arrange programs and data up to the total storage capacity of the memories A and B without waste, and to reduce the storage capacity.

【0037】(第2の実施形態)次に、本発明の第2の
実施形態について、図5および図6を参照しながら説明
する。図5に示すマイクロコンピュータシステム2は、
図1に示したマイクロコンピュータシステム1に対し、
メモリA、Bに対するアドレスの割り当て方法が異なっ
ている。すなわち、メモリAには偶数アドレスFD00
00H、FD0002H、FD0004H、…が割り当
てられ、メモリBには奇数アドレスFD0001H、F
D0003H、FD0005H、…が割り当てられてい
る(p=1、q=0の場合に相当)。メモリA、BのF
D0000H以降のアドレス領域にはプログラムPRG
Xが格納され、FE0000H以降のアドレス領域には
プログラムPRGYが格納されている。その他の部分は
図1ないし図3に示した構成と同じである。
(Second Embodiment) Next, a second embodiment of the present invention will be described with reference to FIGS. 5 and 6. The microcomputer system 2 shown in FIG.
For the microcomputer system 1 shown in FIG.
The address allocation methods for the memories A and B are different. That is, the memory A has an even address FD00.
00H, FD0002H, FD0004H, ... Are assigned, and the memory B has odd addresses FD0001H, F
D0003H, FD0005H, ... Are assigned (corresponding to the case of p = 1 and q = 0). F of memory A, B
Program PRG in the address area after D0000H
X is stored, and the program PRGY is stored in the address area after FE0000H. The other parts are the same as those shown in FIGS. 1 to 3.

【0038】図6は、マイクロプロセッサX、Yの命令
読み出しタイミングを示している。マイクロプロセッサ
X、YがそれぞれプログラムPRGXの先頭アドレス
(FD0000H)、プログラムPRGYの先頭アドレ
ス(FE0000H)に同時にジャンプした場合、図4
と同様にアクセスの競合が発生し、マイクロプロセッサ
Yの処理が一時的に停止(ウェイト)する。しかし、次
のサイクルでは、マイクロプロセッサXの命令読み出し
がメモリBからとなるため、競合状態が解消される。
FIG. 6 shows the instruction read timing of the microprocessors X and Y. When the microprocessors X and Y simultaneously jump to the start address (FD0000H) of the program PRGX and the start address (FE0000H) of the program PRGY, respectively, as shown in FIG.
Similarly, the access conflict occurs, and the processing of the microprocessor Y is temporarily stopped (waited). However, in the next cycle, the instruction read of the microprocessor X is from the memory B, so the race condition is resolved.

【0039】すなわち、本実施形態のマイクロコンピュ
ータシステム2によれば、命令の読み出し時に、マイク
ロプロセッサXとYとの間でアクセスの競合が発生した
場合、優先度の低いマイクロプロセッサYが最大で1処
理サイクルだけ待たされることがあるものの、それ以降
はマイクロプロセッサXと同時に命令を読み出せるよう
になる。従って、マイクロプロセッサX、Yのメモリ
A、Bに対するアクセス効率が一層高まり、処理の一層
の高速化が図られる。
That is, according to the microcomputer system 2 of the present embodiment, when an access conflict occurs between the microprocessors X and Y at the time of reading an instruction, the microprocessor Y having a low priority has a maximum of 1. Although only the processing cycle may be kept waiting, the instruction can be read simultaneously with the microprocessor X after that. Therefore, the access efficiency to the memories A and B of the microprocessors X and Y is further improved, and the processing speed is further increased.

【0040】(その他の実施形態)なお、本発明は上記
し且つ図面に示す各実施形態に限定されるものではな
く、例えば以下のように変形または拡張が可能である。
メモリA、BはROMに限らずRAMであっても良い。
この場合には、コントロールユニットUのデータパス部
10に、制御部30からのパス制御信号に従って、デー
タバスDX、DYを介してマイクロプロセッサX、Yか
ら供給される書込データを、データバスDAを介してメ
モリAに供給するためのA側書込パス回路と、制御部3
0からのパス制御信号に従って、データバスDX、DY
を介してマイクロプロセッサX、Yから供給される書込
データを、データバスDBを介してメモリBに供給する
ためのB側書込パス回路とを付加すれば良い。
(Other Embodiments) The present invention is not limited to the embodiments described above and shown in the drawings, and can be modified or expanded as follows, for example.
The memories A and B are not limited to ROM but may be RAM.
In this case, write data supplied from the microprocessors X and Y via the data buses DX and DY to the data path DA of the control unit U according to the path control signal from the controller 30. A side write path circuit for supplying to the memory A via the control unit 3,
According to the path control signal from 0, the data buses DX, DY
It is sufficient to add a B-side write path circuit for supplying write data supplied from the microprocessors X and Y via the data bus DB to the memory B.

【0041】マイクロプロセッサの数は3個以上であっ
ても良い。また、メモリの数nは、マイクロプロセッサ
の数m以上であれば良い。これにより、全てのマイクロ
プロセッサが命令の読み出し動作を実行している場合に
おいて、ジャンプ命令、サブルーチンコール、割り込み
処理などの発生がなく且つマイクロプロセッサの内部処
理(パイプライン処理など)にストールが発生しない限
りにおいて、全てのマイクロプロセッサはアクセス待ち
を生じることがなく互いに異なるメモリに連続してアク
セス可能となる。
The number of microprocessors may be three or more. Further, the number n of memories may be the number m or more of microprocessors. This prevents jump instructions, subroutine calls, interrupt processing, etc. from occurring and stalls in the microprocessor's internal processing (pipeline processing, etc.) when all microprocessors are executing instruction read operations. As far as possible, all microprocessors can successively access different memories without waiting for access.

【0042】マイクロプロセッサX、YはRISCタイ
プに限らずCISCタイプのプロセッサであっても良
い。また、命令の先読みなどにより命令を連続してフェ
ッチするものであれば、固定長に限らず可変長の命令体
系を有するものであっても適用できる。上記実施形態で
説明したように命令読み出し(フェッチ)の場合に特に
アクセス効率の向上が期待できるが、連続したアドレス
から順次データを読み出す処理などにおいてもアクセス
効率が向上する。アドレス群を構成するアドレス数
(p)は3以上であっても良いが、アドレス数(p)が
増えるに従ってアクセス効率が低下するため、処理速度
を考慮して決定することが好ましい。
The microprocessors X and Y are not limited to RISC type and may be CISC type processors. Further, as long as the instructions are continuously fetched by prefetching the instructions, the instruction system is not limited to the fixed length, and the variable length instruction system can be applied. As described in the above embodiment, the access efficiency can be expected to be improved especially in the case of instruction reading (fetch), but the access efficiency is also improved in the process of sequentially reading data from consecutive addresses. The number of addresses (p) forming the address group may be three or more, but since the access efficiency decreases as the number of addresses (p) increases, it is preferable to determine the processing speed in consideration.

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

【図1】本発明の第1の実施形態を示すマイクロコンピ
ュータシステムの概略的な電気的構成図
FIG. 1 is a schematic electrical configuration diagram of a microcomputer system showing a first embodiment of the present invention.

【図2】コントロールユニットの電気的構成図FIG. 2 is an electrical configuration diagram of a control unit.

【図3】制御部の電気的構成図FIG. 3 is an electrical configuration diagram of a control unit.

【図4】マイクロプロセッサX、Yの命令読み出しタイ
ミングを示す図
FIG. 4 is a diagram showing instruction read timings of microprocessors X and Y.

【図5】本発明の第2の実施形態を示す図1相当図FIG. 5 is a view corresponding to FIG. 1 showing a second embodiment of the present invention.

【図6】図4相当図FIG. 6 is a view corresponding to FIG.

【図7】従来技術を示す図1相当図FIG. 7 is a diagram corresponding to FIG. 1 showing a conventional technique.

【図8】図4相当図FIG. 8 is a view corresponding to FIG.

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

1、2はマイクロコンピュータシステム(データ処理シ
ステム)、A、Bはメモリ(記憶装置)、X、Yはマイ
クロプロセッサ(データ処理装置)、Uはコントロール
ユニット(アクセス制御装置)である。
Reference numerals 1 and 2 are a microcomputer system (data processing system), A and B are memories (storage devices), X and Y are microprocessors (data processing devices), and U is a control unit (access control device).

Claims (4)

【特許請求の範囲】[Claims] 【請求項1】 同じ命令体系を持ち互いに同期したクロ
ックに基づいて動作するm個(m≧2)のデータ処理装
置と、 これらm個のデータ処理装置に共有され、それぞれ前記
データ処理装置と同じデータバス幅を有するとともに個
別にアクセス可能なn個(n≧m)の記憶装置と、 前記データ処理装置と前記記憶装置との間に介在し、前
記各データ処理装置が出力するアドレスに従ってそのア
ドレスにより指定される前記各記憶装置へのアクセスを
制御するアクセス制御装置とを備え、 連続するp個(p≧1)のアドレスが一群となって、そ
のアドレス群が所定の順序を持つ前記n個の各記憶装置
に対し昇順または降順となるように周期的に割り当てら
れていることを特徴とするデータ処理システム。
1. m (m ≧ 2) data processing devices having the same instruction system and operating on the basis of clocks synchronized with each other, and m data processing devices shared by these m data processing devices, each of which is the same as the data processing device. N (n ≧ m) storage devices having a data bus width and individually accessible, and the addresses interposed between the data processing devices and the storage devices according to the addresses output by the data processing devices. And an access control device for controlling access to each of the storage devices specified by the above, wherein the consecutive p addresses (p ≧ 1) form one group, and the n address groups have a predetermined order. The data processing system is characterized in that the storage devices are periodically allocated to each storage device in ascending or descending order.
【請求項2】 前記アドレス群は、連続する2個(q
≧0)のアドレスが一群となって構成されていることを
特徴とする請求項1記載のデータ処理システム。
2. The address group includes 2 q consecutive (q
The data processing system according to claim 1, wherein the addresses of ≧ 0) are configured as a group.
【請求項3】 前記アドレス群を構成するアドレスの数
は1(p=1)であることを特徴とする請求項1または
2記載のデータ処理システム。
3. The data processing system according to claim 1, wherein the number of addresses forming the address group is 1 (p = 1).
【請求項4】 前記データ処理装置の数mと前記記憶装
置の数nとが等しいことを特徴とする請求項1ないし3
の何れかに記載のデータ処理システム。
4. The number m of the data processing devices and the number n of the storage devices are equal to each other.
The data processing system according to any one of 1.
JP2001339349A 2001-11-05 2001-11-05 Microcomputer system Expired - Fee Related JP3870756B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001339349A JP3870756B2 (en) 2001-11-05 2001-11-05 Microcomputer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001339349A JP3870756B2 (en) 2001-11-05 2001-11-05 Microcomputer system

Publications (2)

Publication Number Publication Date
JP2003140964A true JP2003140964A (en) 2003-05-16
JP3870756B2 JP3870756B2 (en) 2007-01-24

Family

ID=19153707

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001339349A Expired - Fee Related JP3870756B2 (en) 2001-11-05 2001-11-05 Microcomputer system

Country Status (1)

Country Link
JP (1) JP3870756B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005293596A (en) * 2004-04-02 2005-10-20 Arm Ltd Arbitration of data requests
US7366968B2 (en) 2004-03-31 2008-04-29 Nec Corporation Data processing apparatus, and its processing method, program product and mobile telephone apparatus

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7366968B2 (en) 2004-03-31 2008-04-29 Nec Corporation Data processing apparatus, and its processing method, program product and mobile telephone apparatus
JP2005293596A (en) * 2004-04-02 2005-10-20 Arm Ltd Arbitration of data requests

Also Published As

Publication number Publication date
JP3870756B2 (en) 2007-01-24

Similar Documents

Publication Publication Date Title
US4181938A (en) Processor device
JP3776449B2 (en) Multitasking low power controller
US3931613A (en) Data processing system
JPH0219945A (en) Main memory controller
JPH05205477A (en) Randomly accessible memory having time overlap memory-access
JP2002530731A (en) Method and apparatus for detecting data collision on a data bus during abnormal memory access or performing memory access at different times
US5968159A (en) Interrupt system with fast response time
JP2002366507A (en) Multi-channel DMA controller and processor system
US4089052A (en) Data processing system
JP2003140964A (en) Data processing system
KR100899514B1 (en) How to Interface a Processor to External Memory That Supports Burst Mode
US6795911B1 (en) Computing device having instructions which access either a permanently fixed default memory bank or a memory bank specified by an immediately preceding bank selection instruction
US6742087B2 (en) Control of access by multiple data processing units to multiple memories
JP3006676B2 (en) Multiprocessor
KR20220099399A (en) Interrupt controller using peripheral device information prefetch and interrupt handling method using the same
US20040034748A1 (en) Memory device containing arbiter performing arbitration for bus access right
JP2666839B2 (en) Microcomputer system
WO2003088036A1 (en) System and method for instruction level multithreading
JP4498705B2 (en) Cash system
JPS6014435B2 (en) Storage device
JP2004199564A (en) Microprocessor
JP2000285091A (en) Multi CPU circuit
JPWO2002056608A1 (en) Private branch exchange and private branch exchange control method
JP2000330866A (en) Method and system for controlling memory
JPS642971B2 (en)

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060228

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060427

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060530

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060728

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20060824

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060926

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20061009

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20101027

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20101027

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20111027

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20121027

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20121027

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20131027

Year of fee payment: 7

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees