JP2001134548A - Multiprocessor system - Google Patents

Multiprocessor system

Info

Publication number
JP2001134548A
JP2001134548A JP31399299A JP31399299A JP2001134548A JP 2001134548 A JP2001134548 A JP 2001134548A JP 31399299 A JP31399299 A JP 31399299A JP 31399299 A JP31399299 A JP 31399299A JP 2001134548 A JP2001134548 A JP 2001134548A
Authority
JP
Japan
Prior art keywords
bus
address
signal
cpu
decoder
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
JP31399299A
Other languages
Japanese (ja)
Inventor
Atsutake Asai
淳毅 朝井
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.)
Sharp Corp
Original Assignee
Sharp 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 Sharp Corp filed Critical Sharp Corp
Priority to JP31399299A priority Critical patent/JP2001134548A/en
Publication of JP2001134548A publication Critical patent/JP2001134548A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To provide a multiprocessor system which can switch programs to become visible by processors even with the same physical address and then simplify the circuit constitution, lower the cost, and improve software development efficiency. SOLUTION: The multiprocessor system is constituted by connecting CPUs 1 and 2, on-chip ROMs 12 and 13 stored with programs, and an external ROM 14 and an external RAM 15 to a common system bus 3 and comprises an arbiter 6 which determines a CPU allowed to occupy the bus according to specific bus priority in response to bus request signals REQ4 and REQ5 from the CPUs 1 and 2 and outputs bus permission signals GNT7 and GNT8, a decoder 10 which outputs a select signal CSa for selecting memories corresponding to the CPUs 1 and 2 according to the bus permission signals GNT7 and GNT8 and the address signal A31-A0 of the system bus, etc.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、複数のプロセッサ
が共通のシステムバスに接続されたマルチプロセッサシ
ステムに関する。
The present invention relates to a multiprocessor system in which a plurality of processors are connected to a common system bus.

【0002】[0002]

【従来の技術】図5は、従来のマルチプロセッサシステ
ムの一例を示すブロック図である。2つのCPU(Centr
al Processing Unit) 51,52が単一のシステムバス
53に接続され、同じ物理アドレスを共有している。C
PU51,52のバスアクセス競合を調停するアービタ
56が設けられる。
2. Description of the Related Art FIG. 5 is a block diagram showing an example of a conventional multiprocessor system. Two CPUs (Centr
al Processing Units) 51 and 52 are connected to a single system bus 53 and share the same physical address. C
An arbiter 56 for arbitrating bus access competition between the PUs 51 and 52 is provided.

【0003】システムバス53には、デコーダ60、オ
ンチップROM(Read Only Memory)62,63、メモリ
インタフェイス61等の周辺回路が接続され、さらにメ
モリインタフェイス61を介して外部バス66が接続さ
れ、外部バス66には外部ROM64、外部RAM(Ran
dom Access Memory)65等の周辺回路が接続される。
[0003] Peripheral circuits such as a decoder 60, on-chip ROMs (Read Only Memory) 62 and 63, and a memory interface 61 are connected to a system bus 53, and an external bus 66 is connected via the memory interface 61. An external ROM 64 and an external RAM (Ran
A peripheral circuit such as a dom access memory (65) is connected.

【0004】デコーダ60は、システムバス53のアド
レス空間に割り当てられた周辺回路を選択するセレクト
信号CSa を出力する。メモリインタフェイス61もアド
レスデコーダ機能を有し、システムバス53のアドレス
空間に割り当てられた周辺回路を選択するセレクト信号
CSb を出力する。
[0004] The decoder 60 outputs a select signal CSa for selecting a peripheral circuit assigned to the address space of the system bus 53. The memory interface 61 also has an address decoder function, and a select signal for selecting a peripheral circuit assigned to the address space of the system bus 53.
Outputs CSb.

【0005】アービタ56の動作について説明する。C
PU51,52のいずれかがバスアクセスを開始する前
に、アービタ56にバス要求信号54,55を出力す
る。するとアービタ56は所定のバス優先度に従ってバ
スアクセスを許容するCPUを決定して、該CPUにバ
ス許可信号57,58を出力する。バス許可信号を受け
たCPUはシステムバス53へのアクセスを開始する。
バス許可信号を受けなかったCPUはシステムバス53
へのアクセスを一時中断して、バス許可信号が出るまで
待機する。
[0005] The operation of the arbiter 56 will be described. C
Before any of the PUs 51 and 52 starts bus access, the bus request signals 54 and 55 are output to the arbiter 56. Then, the arbiter 56 determines the CPU that permits the bus access according to the predetermined bus priority, and outputs the bus permission signals 57 and 58 to the CPU. The CPU that has received the bus permission signal starts accessing the system bus 53.
The CPU that has not received the bus permission signal is the system bus 53
Suspends access to and waits for a bus permission signal.

【0006】こうしてCPU51,52は、バスアクセ
スの競合を回避しつつ、オンチップROM62,63や
外部ROM64、外部RAM65等のメモリを共有でき
る。
In this way, the CPUs 51 and 52 can share memories such as the on-chip ROMs 62 and 63, the external ROM 64, and the external RAM 65 while avoiding contention for bus access.

【0007】[0007]

【発明が解決しようとする課題】一般に、CPUはリセ
ット時あるいは割込み発生時に同じ物理アドレスから起
動することが多い。複数のCPUが単一のバスに接続さ
れている場合、CPUのリセット時あるいは割込み発生
時には、CPUによって異なるプログラムを起動させた
い。
Generally, a CPU is often started from the same physical address at the time of reset or occurrence of an interrupt. When a plurality of CPUs are connected to a single bus, it is desired to start different programs depending on the CPUs when the CPUs are reset or when an interrupt occurs.

【0008】しかしながら、図5のような回路構成では
2つのCPU51,52が共通の物理アドレスを有する
ため、リセット時あるいは割込み発生時の起動プログラ
ムをCPU別に切換えることは不可能である。
However, in the circuit configuration shown in FIG. 5, since the two CPUs 51 and 52 have a common physical address, it is impossible to switch the startup program at the time of reset or at the time of occurrence of an interrupt for each CPU.

【0009】関連する先行技術として特開平5−197
617号があり、バスの上位アドレスをプロセッサ別に
割り付けて、バッファを介して共有メモリにアクセスす
る方法が記載されている。しかし、共有バスの調停とい
う概念は無く、プロセッサ毎に物理アドレスが固定され
てしまうため、プログラム設計の自由度が制限されてし
まう。
A related prior art is disclosed in Japanese Patent Laid-Open No. 5-197.
No. 617 describes a method of allocating an upper address of a bus for each processor and accessing a shared memory via a buffer. However, there is no concept of arbitration of the shared bus, and the physical address is fixed for each processor, so that the degree of freedom in program design is limited.

【0010】共有バス方式を採用することによって、シ
ステムオンチップ等を開発する際に、ピン数の削減、単
一バスによるチップ面積の削減を実現でき、コスト低減
および消費電力低減が図られる。そのため効率的なバス
調停を行ないながら、共有メモリの効率的な割り付け方
法が必要になる。
By adopting the shared bus system, when developing a system-on-a-chip or the like, the number of pins can be reduced and the chip area can be reduced by using a single bus, so that cost and power consumption can be reduced. Therefore, there is a need for an efficient method of allocating shared memory while performing efficient bus arbitration.

【0011】さらに、単一バスを使用することによっ
て、複数のプロセッサが同じ物理アドレスにアクセスす
る場合に、プロセッサごとに可視となるプログラムを切
換える必要がある。また、プログラム開発時の相互作用
を無くし、プロセッサ間の独立性を高めるには、共有メ
モリに対する書き込み制限等の機能が必要となり、これ
によってプログラム開発の効率が向上する。
Further, by using a single bus, when a plurality of processors access the same physical address, it is necessary to switch a visible program for each processor. Further, in order to eliminate the interaction at the time of program development and to increase the independence between the processors, a function such as a write restriction to the shared memory is required, thereby improving the efficiency of program development.

【0012】本発明の目的は、同じ物理アドレスであっ
てもプロセッサごとに可視となるプログラムを切換える
ことができ、これによって回路構成の簡素化、コスト低
減およびソフトウエア開発効率の向上が図られるマルチ
プロセッサシステムを提供することである。
An object of the present invention is to switch a program which can be visualized for each processor even with the same physical address, thereby simplifying a circuit configuration, reducing costs and improving software development efficiency. It is to provide a processor system.

【0013】[0013]

【課題を解決するための手段】本発明は、複数のプロセ
ッサおよびプログラムを格納する複数のメモリが共通の
システムバスに接続されたマルチプロセッサシステムに
おいて、各プロセッサからのバス要求信号に応じて所定
のバス優先度に従ってバス専有を許可するプロセッサを
決定し、バス許可信号を出力するバスアービタと、バス
許可信号およびシステムバスのアドレス信号に基づい
て、各プロセッサに対応したメモリを選択するセレクト
信号を各メモリに出力するデコーダとを備えることを特
徴とするマルチプロセッサシステムである。
SUMMARY OF THE INVENTION The present invention is directed to a multiprocessor system in which a plurality of processors and a plurality of memories for storing programs are connected to a common system bus, in accordance with a bus request signal from each processor. A bus arbiter that outputs a bus permission signal according to a bus priority according to a bus priority and a select signal that selects a memory corresponding to each processor based on the bus permission signal and a system bus address signal are stored in each memory. And a decoder for outputting to a multiprocessor system.

【0014】本発明に従えば、デコーダがバスアービタ
からのバス許可信号を調べることによって、システムバ
スを専有するプロセッサを識別できる。そのため、各プ
ロセッサが同じ物理アドレスを共有していても、バス専
有中のプロセッサに対応したメモリを切り換えることに
よって、プロセッサごとに異なるプログラムを起動でき
る。
According to the present invention, the processor that occupies the system bus can be identified by checking the bus grant signal from the bus arbiter by the decoder. Therefore, even if the processors share the same physical address, a different program can be started for each processor by switching the memory corresponding to the processor that is occupying the bus.

【0015】また本発明は、バスアービタとデコーダと
の間に介在し、バスアービタからのバス許可信号のタイ
ミングを変換してデコーダに出力するタイミング変換回
路を備えることを特徴とする。
Further, the present invention is characterized by including a timing conversion circuit interposed between the bus arbiter and the decoder, for converting the timing of the bus permission signal from the bus arbiter and outputting the converted signal to the decoder.

【0016】本発明に従えば、バスアービタとシステム
バスとは回路構成の独立性が高く、一般にはバス許可信
号のタイミングとシステムバスのクロックとは同期して
いないため、デコーダでの信号処理が複雑になるが、タ
イミング変換回路を設けることによってバス調停に関す
る信号とシステムバスとを同じタイミングで処理できる
ため、デコーダでの信号処理を簡素化できる。
According to the present invention, the bus arbiter and the system bus have a high degree of circuit configuration independence. Generally, the timing of the bus enable signal is not synchronized with the clock of the system bus, so that the signal processing in the decoder is complicated. However, by providing the timing conversion circuit, the signal relating to bus arbitration and the system bus can be processed at the same timing, so that signal processing in the decoder can be simplified.

【0017】また本発明は、メモリは、全てのプロセッ
サからの読出しアクセスを許可する第1物理アドレス空
間と、特定のプロセッサによる書込みアクセスを許可
し、他のプロセッサによる書込みアクセスを禁止する第
2物理アドレス空間とを有することを特徴とする。
Further, according to the present invention, the memory has a first physical address space for permitting read access from all processors, and a second physical address space for permitting write access by a specific processor and prohibiting write access by other processors. And an address space.

【0018】本発明に従えば、書込みアクセスが許可ま
たは禁止されるメモリアドレス空間をプロセッサごとに
割り付けることによって、特定のプロセッサだけが専用
できるメモリアドレス空間を確保できるため、プログラ
ム開発時の相互作用を無くすことができ、プログラム開
発の効率が向上する。
According to the present invention, a memory address space in which write access is permitted or prohibited is allocated to each processor, so that a memory address space that can be used exclusively by a specific processor can be secured. Can be eliminated, and the efficiency of program development is improved.

【0019】[0019]

【発明の実施の形態】図1は、本発明の実施の一形態を
示すブロック図である。2つのCPU1,2が単一のシ
ステムバス3に接続され、同じ物理アドレスを共有して
いる。CPU1,2のバスアクセス競合を調停するアー
ビタ6が設けられる。
FIG. 1 is a block diagram showing an embodiment of the present invention. The two CPUs 1 and 2 are connected to a single system bus 3 and share the same physical address. An arbiter 6 for arbitrating bus access contention between the CPUs 1 and 2 is provided.

【0020】システムバス3には、デコーダ10、オン
チップROM12,13、メモリインタフェイス11等
の周辺回路が接続され、さらにメモリインタフェイス1
1を介して外部バス16が接続され、外部バス16には
外部ROM14、外部RAM15等の周辺回路が接続さ
れる。
Peripheral circuits such as a decoder 10, on-chip ROMs 12, 13 and a memory interface 11 are connected to the system bus 3.
1, an external bus 16 is connected to the external bus 16, and peripheral circuits such as an external ROM 14 and an external RAM 15 are connected to the external bus 16.

【0021】デコーダ10は、システムバス3のアドレ
ス空間に割り当てられた周辺回路を選択するセレクト信
号CSa を出力する。メモリインタフェイス11もアドレ
スデコーダ機能を有し、システムバス3のアドレス空間
に割り当てられた周辺回路を選択するセレクト信号CSb
を出力する。アービタ6とデコーダ10との間にはタイ
ミング変換回路9が介在する。
The decoder 10 outputs a select signal CSa for selecting a peripheral circuit assigned to the address space of the system bus 3. The memory interface 11 also has an address decoder function, and a select signal CSb for selecting a peripheral circuit assigned to the address space of the system bus 3.
Is output. A timing conversion circuit 9 intervenes between the arbiter 6 and the decoder 10.

【0022】図2は、動作を示すタイミングチャートで
ある。まずCPU1がシステムバス3へのアクセスを必
要としたとき、CPU1のバス要求信号REQ4をアクティ
ブ(ハイレベル)にしてアービタ6に出力する。一方、
CPU2がシステムバス3へのアクセスを必要としたと
き、CPU2のバス要求信号REQ5をアクティブ(ハイレ
ベル)にしてアービタ6に出力する。
FIG. 2 is a timing chart showing the operation. First, when the CPU 1 needs access to the system bus 3, the CPU 1 makes the bus request signal REQ 4 of the CPU 1 active (high level) and outputs it to the arbiter 6. on the other hand,
When the CPU 2 needs access to the system bus 3, it makes the bus request signal REQ 5 of the CPU 2 active (high level) and outputs it to the arbiter 6.

【0023】アービタ6は、予め定められたバス優先度
に従ってバス専有を許可するプロセッサを決定する。C
PU1にバス専有を許可する場合、バス許可信号GNT7を
アクティブにしてCPU1に出力するとともに、バス許
可信号GNT8を非アクティブ(ローレベル)してCPU2
に出力する。一方、CPU2にバス専有を許可する場
合、バス許可信号GNT8をアクティブにしてCPU2に出
力するとともに、バス許可信号GNT7を非アクティブして
CPU1に出力する。
The arbiter 6 determines a processor that permits occupation of the bus according to a predetermined bus priority. C
When permitting the PU1 to occupy the bus, the bus permit signal GNT7 is activated and output to the CPU1, and the bus permit signal GNT8 is deactivated (low level).
Output to On the other hand, when permitting the CPU 2 to occupy the bus, the bus permission signal GNT8 is activated and output to the CPU 2, and the bus permission signal GNT7 is deactivated and output to the CPU 1.

【0024】ここでCPU1,2の両方が内部に命令キ
ャッシュメモリを持つプロセッサである場合、命令キャ
ッシュメモリに格納された命令を読み込むことができ、
いわゆるキャッシュがヒットしたときはバスアクセスの
必要がないため、バス許可信号をアクティブにしないで
命令を実行できる。したがってキャッシュがヒットした
状態が続けば、CPU1,2ともに同時に動作可能にな
る。しかし、実行予定の命令が命令キャッシュメモリに
格納されておらず、いわゆるキャッシュがミスヒットし
たときはバスアクセスが必要になり、バス要求信号をア
クティブにして、アービタ6のバス専有許可を待って、
周辺メモリに格納された命令を読み込む。
If both the CPUs 1 and 2 are processors having an instruction cache memory therein, the instructions stored in the instruction cache memory can be read.
When a so-called cache hit occurs, there is no need to access the bus, so that the instruction can be executed without activating the bus permission signal. Therefore, if the cache hit continues, both CPUs 1 and 2 can operate simultaneously. However, when the instruction to be executed is not stored in the instruction cache memory and a so-called cache miss occurs, a bus access is required. The bus request signal is activated and the arbiter 6 waits for the bus occupation permission.
Reads instructions stored in peripheral memory.

【0025】CPU2へのバス許可信号GNT8がアクティ
ブで、CPU2がバスアクセスを行なっている状態で、
CPU1がキャッシュをミスヒットして、バス要求信号
REQ4をアクティブにした場合、アービタ6は現在のバス
アクセスが終了した時点でCPU1,2のバス優先度を
判定する。たとえばCPU1のバス優先度の方が高いと
きはバス専有をCPU1に譲って、CPU1へのバス許
可信号GNT7をアクティブにし、CPU2へのバス許可信
号GNT8を非アクティブにして、CPU2のバスアクセス
を中断させる。逆に、CPU2のバス優先度の方が高い
ときは、CPU1へのバス許可信号GNT7を非アクティブ
のままとし、CPU2へのバス許可信号GNT8をアクティ
ブのままとして、CPU2のバスアクセスを続行させ
る。
When the bus permission signal GNT8 to the CPU 2 is active and the CPU 2 is performing the bus access,
CPU1 mishits the cache and generates a bus request signal.
When REQ4 is activated, the arbiter 6 determines the bus priority of the CPUs 1 and 2 when the current bus access ends. For example, when the bus priority of the CPU 1 is higher, the exclusive use of the bus is transferred to the CPU 1, the bus permission signal GNT7 to the CPU 1 is activated, the bus permission signal GNT8 to the CPU 2 is deactivated, and the bus access of the CPU 2 is interrupted. Let it. Conversely, when the bus priority of the CPU 2 is higher, the bus permission signal GNT7 to the CPU 1 is kept inactive, and the bus permission signal GNT8 to the CPU 2 is kept active, and the CPU 2 continues the bus access.

【0026】図2を参照すると、システムバス3は、ク
ロックCLK に同期して動作する同期バスとして構成され
る。クロックCLK の立上りである時刻T1でCPU1が周
辺メモリに格納された命令を読み込もうとして、バス要
求信号REQ4をアクティブ(ハイレベル)にする。このと
きCPU2のバス要求信号REQ5は非アクティブ(ローレ
ベル)である。アービタ6はバス要求信号REQ4の状態に
基づいて、CPU1へのバス許可信号GNT7をアクティブ
にする。
Referring to FIG. 2, the system bus 3 is configured as a synchronous bus operating in synchronization with a clock CLK. At time T1, which is the rising edge of the clock CLK, the CPU 1 sets the bus request signal REQ4 to active (high level) in order to read an instruction stored in the peripheral memory. At this time, the bus request signal REQ5 of the CPU 2 is inactive (low level). The arbiter 6 activates the bus permission signal GNT7 to the CPU 1 based on the state of the bus request signal REQ4.

【0027】次にクロックCLK の立下りである時刻T2
で、CPU1はバス専有が許可されたことを知って、次
のクロックCLK の立上りである時刻T3からバスアクセス
を開始し、システムバス3のアドレス信号A31-A0を駆動
する。
Next, at time T2 when the clock CLK falls.
Then, the CPU 1, knowing that the bus occupation has been permitted, starts the bus access at time T3, which is the rising of the next clock CLK, and drives the address signals A31-A0 of the system bus 3.

【0028】ここで、バス許可信号GNT7,GNT8 はタイミ
ング変換回路9に入力される。
Here, the bus permission signals GNT7 and GNT8 are input to the timing conversion circuit 9.

【0029】図3は、タイミング変換回路9の一例を示
す回路図である。タイミング変換回路9は、D型フリッ
プフロップで構成され、バス許可信号GNT7がD端子に入
力され、バス許可信号GNT8は特に使用していない。ここ
では、マルチプロセッサシステムとして2つのCPU
1,2を使用しているため、1つのバス許可信号だけを
監視していればバス競合を防止できるからである。3つ
以上のプロセッサを使用した構成では各バス許可信号を
使用することになる。
FIG. 3 is a circuit diagram showing an example of the timing conversion circuit 9. The timing conversion circuit 9 is composed of a D-type flip-flop. The bus permission signal GNT7 is input to the D terminal, and the bus permission signal GNT8 is not used. Here, two CPUs are used as a multiprocessor system.
This is because the bus conflict can be prevented if only one bus permission signal is monitored since the buses 1 and 2 are used. In a configuration using three or more processors, each bus permission signal is used.

【0030】システムバス3のクロックCLK はD型フリ
ップフロップのクロック端子に入力され、バス許可信号
GNT7をクロックCLK の立上りでラッチして、Q端子から
アドレス信号A32 として出力する。図2の時刻T3におい
て、アクティブであるバス許可信号GNT7をラッチして、
アドレス信号A32 をハイレベルにする。こうしてバス許
可信号GNT7は、クロックCLK に同期したアドレス信号A3
2 に変換されるため、デコーダ10ではアドレス信号A3
1-A0およびアドレス信号A32 を同じタイミングで処理で
き、デコーダ10の回路構成を簡素化できる。
The clock CLK of the system bus 3 is input to a clock terminal of a D-type flip-flop, and a bus enable signal
GNT7 is latched at the rising edge of the clock CLK and output from the Q terminal as an address signal A32. At time T3 in FIG. 2, the active bus permission signal GNT7 is latched,
Set the address signal A32 to high level. Thus, the bus permission signal GNT7 is the address signal A3 synchronized with the clock CLK.
2 so that the decoder 10 outputs the address signal A3
1-A0 and the address signal A32 can be processed at the same timing, and the circuit configuration of the decoder 10 can be simplified.

【0031】時刻T4において、CPU2が周辺メモリに
格納された命令を読み込もうとした場合、バスアクセス
開始前にバス要求信号REQ5をアクティブにする。ここ
で、バス優先度はCPU2の方がCPU1より高いと仮
定すると、アービタ6はバス許可信号GNT8をアクティブ
にしてCPU2にバス使用権を与え、さらにバス許可信
号GNT7を非アクティブにしてCPU1のバス使用を禁止
する。
At time T4, when the CPU 2 attempts to read an instruction stored in the peripheral memory, the bus request signal REQ5 is activated before starting the bus access. Here, assuming that the bus priority is higher in the CPU 2 than in the CPU 1, the arbiter 6 activates the bus permission signal GNT8 to give the right to use the bus to the CPU 2, and further deactivates the bus permission signal GNT7 to activate the bus of the CPU 1. Prohibit use.

【0032】クロックCLK の立下りである時刻T5におい
て、CPU2はバス専有が許可されたことを知って、次
のクロックCLK の立上りである時刻T6からバスアクセス
を開始し、システムバス3のアドレス信号A31-A0を駆動
する。タイミング変換回路9は、バス許可信号GNT7の非
アクティブ状態を時刻T6でラッチし、アドレス信号A32
をローレベルにする。
At time T5, which is the falling edge of the clock CLK, the CPU 2 knows that the bus occupation has been permitted and starts bus access from time T6, which is the rising edge of the next clock CLK, and the address signal of the system bus 3 Drive A31-A0. The timing conversion circuit 9 latches the inactive state of the bus permission signal GNT7 at time T6, and outputs the address signal A32
To low level.

【0033】図1に戻って、システムバス3のアドレス
信号A31-A0およびタイミング変換回路9のアドレス信号
A32 がデコーダ10に入力されると、プロセッサ毎に異
なって割り付けられたアドレスマップに従ってデコーダ
10はセレクト信号CSa を出力する。
Returning to FIG. 1, the address signals A31-A0 of the system bus 3 and the address signals of the timing conversion circuit 9
When A32 is input to the decoder 10, the decoder 10 outputs a select signal CSa in accordance with an address map differently assigned to each processor.

【0034】図4は、アドレスマップの一例を示す説明
図である。CPU1のアドレスマップは、アドレスAD0
からアドレスAD1 の手前までがオンチップROM12、
アドレスAD2 からアドレスAD3 の手前までが外部ROM
14、アドレスAD4 からアドレスAD7 の手前までが外部
RAM15に割り付けられている。
FIG. 4 is an explanatory diagram showing an example of the address map. The address map of the CPU 1 has the address AD0
From on to the address AD1 before the on-chip ROM 12,
External ROM from address AD2 to address AD3
14. Addresses AD4 to AD7 are allocated to the external RAM 15.

【0035】CPU2のアドレスマップは、アドレスAD
0 からアドレスAD1 の手前までがオンチップROM1
3、アドレスAD2 からアドレスAD3 の手前までが外部R
OM14、アドレスAD4 からアドレスAD7 の手前までが
外部RAM15に割り付けられている。
The address map of the CPU 2 has an address AD
On-chip ROM 1 from 0 to just before address AD1
3. External R from address AD2 to address AD3
The OM 14 and the addresses from the address AD4 to the address AD7 are allocated to the external RAM 15.

【0036】したがって、CPU1がアドレスAD0 から
AD1 の手前までの間のアドレスにアクセスを開始する
と、デコーダ10はセレクト信号CSa の1つをアクティ
ブにして、オンチップROM12を選択する。一方、C
PU2がアドレスAD0 からAD1の手前までの間のアドレ
スにアクセスを開始すると、デコーダ10はセレクト信
号の1つをアクティブにして、オンチップROM13を
選択する。
Accordingly, the CPU 1 determines that the address AD0
When the access to an address before AD1 is started, the decoder 10 activates one of the select signals CSa to select the on-chip ROM 12. On the other hand, C
When the PU2 starts accessing an address between the addresses AD0 and AD1, the decoder 10 activates one of the select signals to select the on-chip ROM 13.

【0037】こうしてCPU1,2の物理アドレス空間
が同じであっても、アドレスAD0 からアドレスAD1 の手
前までのアドレス空間は、バス使用権を有するCPUに
応じて、オンチップROM12,13のいずれかに切替
わる。
Thus, even if the physical address spaces of the CPUs 1 and 2 are the same, the address space from the address AD0 to just before the address AD1 is stored in one of the on-chip ROMs 12 and 13 according to the CPU having the bus use right. Switch.

【0038】通常、CPUはリセット時あるいは割込み
発生時に同じ物理アドレスから起動することが多く、複
数のCPUが単一のバスに接続されている場合、CPU
のリセット時あるいは割込み発生時には、CPUによっ
て異なるプログラムを起動させたいときがある。
Normally, the CPU often starts up from the same physical address at the time of reset or occurrence of an interrupt. When a plurality of CPUs are connected to a single bus,
At the time of reset or interrupt occurrence, there are times when it is desired to start a different program depending on the CPU.

【0039】本実施形態では、アドレスAD0 からアドレ
スAD1 の手前までのアドレス空間にリセット時のスター
トアドレスや割込み発生時のスタートアドレスを設定す
ることによって、起動するCPUに応じてオンチップR
OM12,13のいずれかが選択可能となる。そのた
め、各スタートアドレスからの起動プログラムをオンチ
ップROM12,13毎に異ならせることによって、C
PUによって異なるプログラムを起動できる。
In this embodiment, by setting a start address at the time of reset or a start address at the time of occurrence of an interrupt in the address space from the address AD0 to a position immediately before the address AD1, the on-chip R is set according to the CPU to be started.
Either of the OMs 12 and 13 can be selected. Therefore, the start program from each start address is made different for each of the on-chip ROMs 12 and 13 so that C
Different programs can be started by PU.

【0040】メモリインタフェイス11はシステムバス
3と外部バス16とをバッファ等を介して双方向接続す
るとともに、デコーダ10からのセレクト信号CSa およ
びタイミング変換回路9からのアドレス信号A32 に基づ
いて、セレクト信号CSb を外部ROM14、外部RAM
15へ出力する。
The memory interface 11 bidirectionally connects the system bus 3 and the external bus 16 via a buffer or the like, and selects based on a select signal CSa from the decoder 10 and an address signal A32 from the timing conversion circuit 9. The signal CSb is supplied to the external ROM 14, the external RAM
15 is output.

【0041】図4のアドレスマップを参照すると、外部
RAM15はアドレスAD4 からアドレスAD7 の手前まで
に割り付けられ、CPU1,2から見て同じアドレス空
間となっている。そのうちCPU1のアドレスマップに
関して、アドレスAD4 からアドレスAD5 の手前までのア
ドレス空間、およびアドレスAD6 からアドレスAD7 の手
前までのアドレス空間は読出し可能/書込み可能の領域
に、アドレスAD5 からアドレスAD6 の手前までのアドレ
ス空間は読出し可能/書込み禁止の領域となるようにメ
モリインタフェイス11がメモリプロテクト機能を備え
る。また、CPU2のアドレスマップに関して、アドレ
スAD5 からアドレスAD6 の手前までのアドレス空間、お
よびアドレスAD6 からアドレスAD7 の手前までのアドレ
ス空間は読出し可能/書込み可能の領域に、アドレスAD
4 からアドレスAD5 の手前までのアドレス空間は読出し
可能/書込み禁止の領域となるようにメモリインタフェ
イス11がメモリプロテクト機能を備える。
Referring to the address map of FIG. 4, the external RAM 15 is allocated from the address AD4 to a position immediately before the address AD7, and has the same address space as viewed from the CPUs 1 and 2. In the address map of the CPU 1, the address space from the address AD4 to the address AD5 and the address space from the address AD6 to the address AD7 are located in a readable / writable area. The memory interface 11 has a memory protect function so that the address space is a readable / writable area. Regarding the address map of the CPU 2, the address space from the address AD5 to a position before the address AD6 and the address space from the address AD6 to a position before the address AD7 are stored in a readable / writable area.
The memory interface 11 has a memory protect function so that the address space from 4 to just before the address AD5 is a readable / writable area.

【0042】したがって、アドレスAD4 からアドレスAD
5 の手前までのアドレス空間はCPU2による書込みが
禁止され、アドレスAD5 からアドレスAD6 の手前までの
アドレス空間はCPU1による書込みが禁止され、アド
レスAD6 からアドレスAD7 の手前までのアドレス空間は
両方のCPU1,2が自由にアクセス可能となる。
Therefore, from address AD4 to address AD
The address space before the address 5 is inhibited from being written by the CPU 2, the address space from the address AD5 to the address before the address AD6 is inhibited from being written by the CPU 1, and the address space from the address AD6 to the address before the address AD7 is the address space of both CPUs 1. 2 becomes freely accessible.

【0043】このようにCPU毎に異なるアクセス権を
持つ複数の物理アドレス空間を確保することによって、
特定のCPUだけが専用できるアドレス空間を確保でき
る。そのため、たとえばCPU1のプログラムの不具合
によってCPU2の動作に影響を及ぼすといったプログ
ラム開発時の相互作用を無くすことができ、プログラム
開発の効率が向上する。
As described above, by securing a plurality of physical address spaces having different access rights for each CPU,
An address space that can be used exclusively by a specific CPU can be secured. For this reason, it is possible to eliminate the interaction at the time of program development such that the operation of the CPU 2 is affected by the failure of the program of the CPU 1, and the efficiency of the program development is improved.

【0044】[0044]

【発明の効果】以上詳説したように本発明によれば、デ
コーダがバスアービタからのバス許可信号を調べること
によって、システムバスを専有するプロセッサを識別で
きる。そのため、各プロセッサが同じ物理アドレスを共
有していても、バス専有中のプロセッサに対応したメモ
リを切り換えることによって、プロセッサごとに異なる
プログラムを起動できる。
As described above, according to the present invention, the processor which occupies the system bus can be identified by the decoder checking the bus grant signal from the bus arbiter. Therefore, even if the processors share the same physical address, a different program can be started for each processor by switching the memory corresponding to the processor that is occupying the bus.

【0045】また、バス許可信号のタイミングを変換す
るタイミング変換回路を設けることによってバス調停に
関する信号とシステムバスとを同じタイミングで処理で
きるため、デコーダでの信号処理を簡素化できる。
Further, by providing a timing conversion circuit for converting the timing of the bus permission signal, a signal relating to bus arbitration and a system bus can be processed at the same timing, so that signal processing in the decoder can be simplified.

【0046】また、書込みアクセスが許可または禁止さ
れるメモリアドレス空間をプロセッサごとに割り付ける
ことによって、特定のプロセッサだけが専用できるメモ
リアドレス空間を確保できるため、プログラム開発時の
相互作用を無くすことができ、プログラム開発の効率が
向上する。
Further, by allocating a memory address space in which write access is permitted or prohibited for each processor, a memory address space that can be used exclusively by a specific processor can be secured, so that interaction during program development can be eliminated. The efficiency of program development is improved.

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

【図1】本発明の実施の一形態を示すブロック図であ
る。
FIG. 1 is a block diagram showing an embodiment of the present invention.

【図2】動作を示すタイミングチャートである。FIG. 2 is a timing chart showing an operation.

【図3】タイミング変換回路9の一例を示す回路図であ
る。
FIG. 3 is a circuit diagram illustrating an example of a timing conversion circuit 9;

【図4】アドレスマップの一例を示す説明図である。FIG. 4 is an explanatory diagram showing an example of an address map.

【図5】従来のマルチプロセッサシステムの一例を示す
ブロック図である。
FIG. 5 is a block diagram illustrating an example of a conventional multiprocessor system.

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

1,2 CPU 3 システムバス 6 アービタ 9 タイミング変換回路 10 デコーダ 11 メモリインタフェイス 12,13 オンチップROM 14 外部ROM 15 外部RAM 16 外部バス 1, 2 CPU 3 System bus 6 Arbiter 9 Timing conversion circuit 10 Decoder 11 Memory interface 12, 13 On-chip ROM 14 External ROM 15 External RAM 16 External bus

Claims (3)

【特許請求の範囲】[Claims] 【請求項1】 複数のプロセッサおよびプログラムを格
納する複数のメモリが共通のシステムバスに接続された
マルチプロセッサシステムにおいて、 各プロセッサからのバス要求信号に応じて所定のバス優
先度に従ってバス専有を許可するプロセッサを決定し、
バス許可信号を出力するバスアービタと、 バス許可信号およびシステムバスのアドレス信号に基づ
いて、各プロセッサに対応したメモリを選択するセレク
ト信号を各メモリに出力するデコーダとを備えることを
特徴とするマルチプロセッサシステム。
In a multiprocessor system in which a plurality of processors and a plurality of memories for storing programs are connected to a common system bus, exclusive use of a bus is permitted according to a predetermined bus priority in response to a bus request signal from each processor. Determine which processor to use,
A multiprocessor comprising: a bus arbiter that outputs a bus permission signal; and a decoder that outputs a select signal for selecting a memory corresponding to each processor to each memory based on the bus permission signal and an address signal of a system bus. system.
【請求項2】 バスアービタとデコーダとの間に介在
し、バスアービタからのバス許可信号のタイミングを変
換してデコーダに出力するタイミング変換回路を備える
ことを特徴とする請求項1記載のマルチプロセッサシス
テム。
2. The multiprocessor system according to claim 1, further comprising a timing conversion circuit interposed between the bus arbiter and the decoder, for converting a timing of a bus permission signal from the bus arbiter and outputting the converted signal to the decoder.
【請求項3】 メモリは、全てのプロセッサからの読出
しアクセスを許可する第1物理アドレス空間と、特定の
プロセッサによる書込みアクセスを許可し、他のプロセ
ッサによる書込みアクセスを禁止する第2物理アドレス
空間とを有することを特徴とする請求項1または2記載
のマルチプロセッサシステム。
3. The memory has a first physical address space for permitting read access from all processors, a second physical address space for permitting write access by a specific processor, and prohibiting write access by other processors. The multiprocessor system according to claim 1, further comprising:
JP31399299A 1999-11-04 1999-11-04 Multiprocessor system Pending JP2001134548A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP31399299A JP2001134548A (en) 1999-11-04 1999-11-04 Multiprocessor system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP31399299A JP2001134548A (en) 1999-11-04 1999-11-04 Multiprocessor system

Publications (1)

Publication Number Publication Date
JP2001134548A true JP2001134548A (en) 2001-05-18

Family

ID=18047931

Family Applications (1)

Application Number Title Priority Date Filing Date
JP31399299A Pending JP2001134548A (en) 1999-11-04 1999-11-04 Multiprocessor system

Country Status (1)

Country Link
JP (1) JP2001134548A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100874439B1 (en) 2007-03-29 2008-12-16 (주)부리멀티미디어 Voice decoding device based on microcontroller and voice decoding method using same

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100874439B1 (en) 2007-03-29 2008-12-16 (주)부리멀티미디어 Voice decoding device based on microcontroller and voice decoding method using same

Similar Documents

Publication Publication Date Title
US5079737A (en) Memory management unit for the MIL-STD 1750 bus
US6272582B1 (en) PCI-PCI bridge allowing controlling of a plurality of PCI agents including a VGA device
EP1236122B1 (en) Cache memory system for a digital signal processor
JP3226055B2 (en) Information processing device
JP2007219816A (en) Multiprocessor system
US20030033489A1 (en) Semaphore management circuit
JP2000242612A (en) System sharing memory and bus
JP2001005676A (en) Interruption processor
JP5382113B2 (en) Storage control device and control method thereof
JP2001134548A (en) Multiprocessor system
JP2001167058A (en) Information processor
JP2001306542A (en) Multiprocessor system
US6915366B2 (en) Computer system with a communication bus
JPH11272632A (en) Multiprocessor system
JP7468112B2 (en) INTERFACE CIRCUIT AND METHOD FOR CONTROLLING INTERFACE CIRCUIT - Patent application
JP2005346513A (en) Semiconductor device
JPH10320349A (en) Processor and data transfer system using the processor
JP3206656B2 (en) Prefetch device and prefetch method on bus
JP2007108858A (en) Pin sharing device and pin sharing method
US5799160A (en) Circuit and method for controlling bus arbitration
JP3868316B2 (en) Multiprocessor and control method thereof
KR20000026338A (en) Method for controlling bus of micro controller having arm cpu
JP2021174051A (en) Interface circuit and control method of interface circuit
JP2003308289A (en) Data processor
JP2806700B2 (en) Multi-processing system

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040913

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040928

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050301