JP3910165B2 - High speed processor - Google Patents

High speed processor Download PDF

Info

Publication number
JP3910165B2
JP3910165B2 JP2003278296A JP2003278296A JP3910165B2 JP 3910165 B2 JP3910165 B2 JP 3910165B2 JP 2003278296 A JP2003278296 A JP 2003278296A JP 2003278296 A JP2003278296 A JP 2003278296A JP 3910165 B2 JP3910165 B2 JP 3910165B2
Authority
JP
Japan
Prior art keywords
bus
cycle
master
signal
shared
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.)
Expired - Fee Related
Application number
JP2003278296A
Other languages
Japanese (ja)
Other versions
JP2004013907A (en
Inventor
周平 加藤
高一 佐野
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.)
SSD Co Ltd
Original Assignee
SSD Co 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 SSD Co Ltd filed Critical SSD Co Ltd
Priority to JP2003278296A priority Critical patent/JP3910165B2/en
Publication of JP2004013907A publication Critical patent/JP2004013907A/en
Application granted granted Critical
Publication of JP3910165B2 publication Critical patent/JP3910165B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Bus Control (AREA)

Description

本発明は、例えばテレビゲーム機器、通信ネットワーク情報機器、携帯用情報機器、通信カラオケ用機器、カーナビゲーション機器、知育玩具、学習教材機器、ワードプロセッサ、実用情報提供機器、工場の生産ライン等で用いられる検査用機器、各種測定機器等において用いられる高速プロセッサに関する。   The present invention is used in, for example, a video game device, a communication network information device, a portable information device, a communication karaoke device, a car navigation device, an educational toy, a learning material device, a word processor, a practical information providing device, a factory production line, and the like. The present invention relates to a high-speed processor used in inspection equipment, various measuring equipment, and the like.

従来より、複数のプロセッサ(バスマスタ)が分担及び協力して処理を行うマルチプロセッサシステムは多数存在する。このようなシステムにおいては、複数のプロセッサ(バスマスタ)が単一のバス及びこのバスに接続された資源を共有する構成が多く見られる。ここにバスに接続される資源とは、メモリ装置、入出力制御装置、その他の機能ブロック等のアドレスを受理する側の装置を指す。アドレスを発行する側のバスマスタに対して、この明細書ではこれらをバススレーブという。このように複数のプロセッサ(バスマスタ)が資源を共有するシステムには、資源の共有化によるシステムの簡略化と資源間のデータ転送の必要性を少なくすることによるシステムの効率化という大きな長所がある。   Conventionally, there are many multiprocessor systems in which a plurality of processors (bus masters) share and cooperate to perform processing. In such a system, there are many configurations in which a plurality of processors (bus masters) share a single bus and resources connected to the bus. Here, the resources connected to the bus refer to devices on the side of receiving addresses such as memory devices, input / output control devices, and other functional blocks. In this specification, these are called bus slaves for the bus master that issues the address. In this way, a system in which a plurality of processors (bus masters) share resources has the great advantages of simplifying the system by sharing resources and reducing the need for data transfer between resources. .

しかしながら近年、プロセッサ(バスマスタ)の性能向上はめざましく、メモリ装置等との速度差が広がり、プロセッサ(バスマスタ)とメモリ装置間のデータ転送がプロセッサ(バスマスタ)の処理における大きなボトルネックとなってきている。多くのシステムにおいては、高速なキャッシュメモリ等を用い、このボトルネックを緩和するよう努めている。   However, in recent years, the performance of the processor (bus master) has been remarkably improved, and the speed difference between the memory device and the like has widened, and data transfer between the processor (bus master) and the memory device has become a major bottleneck in the processing of the processor (bus master). . Many systems strive to alleviate this bottleneck by using high-speed cache memory or the like.

共有バスを備えるマルチプロセッサシステムおいては、各々のプロセッサ(バスマスタ)が共有バスを利用できる期間が単一のプロセッサ(バスマスタ)のみを備えるシステムに比べて少なくなるため、このボトルネックはより大きな問題となる。多くのシステムでは、プロセッサ(バスマスタ)内部のキャッシュメモリや各々のプロセッサ(バスマスタ)が専有するローカルメモリ等を積極的に導入し、共有バスを用いるデータ転送の必要性を可能な限り減らすように努めている。   In a multiprocessor system having a shared bus, the period during which each processor (bus master) can use the shared bus is reduced compared to a system having only a single processor (bus master). It becomes. In many systems, the cache memory inside the processor (bus master) and local memory dedicated to each processor (bus master) are actively introduced to try to reduce the need for data transfer using the shared bus as much as possible. ing.

また、このボトルネックを解決する別の方法として、プロセッサ(バスマスタ)が複数の外部バスを備える場合もある。その既知の例としては、命令取得用のバスとデータアクセス用のバスとを分離したハーバード・アーキテクチャ・プロセッサが挙げられる。あるいは、メモリアクセス用のバスと入出力制御用のバスを分離したプロセッサの例もある。   As another method for solving this bottleneck, a processor (bus master) may include a plurality of external buses. A known example is a Harvard architecture processor in which an instruction acquisition bus and a data access bus are separated. Alternatively, there is an example of a processor in which a memory access bus and an input / output control bus are separated.

ところで、単一のバスシステムにおいては、全てのバススレーブがこのバスに接続されるが、応答速度(アクセススピード)やデータバス幅に差のあるバススレーブが混在する場合には、バスの利用効率が落ちることになる。   By the way, in a single bus system, all bus slaves are connected to this bus. However, when there are bus slaves with different response speeds (access speeds) and data bus widths, the bus utilization efficiency Will fall.

そこで、図16に示されるように、データ転送能力の異なるバスを複数設け、各々の転送能力に応じたバススレーブを接続して、バスの利用効率を上げるシステムも存在する。なお、この明細書においてバスのデータ転送能力とは、バスサイクル周波数とデータバスのビット幅の積で比較されるものをいうものとする。この様にデータ転送能力別に複数のバスを設けたシステムの例としては、パーソナルコンピュータやワークステーションに多く見られる階層構造的なバスシステムが挙げられる。   Therefore, as shown in FIG. 16, there is a system in which a plurality of buses having different data transfer capacities are provided and bus slaves corresponding to the respective transfer capacities are connected to increase the bus utilization efficiency. In this specification, the data transfer capability of the bus refers to that compared by the product of the bus cycle frequency and the bit width of the data bus. As an example of a system in which a plurality of buses are provided for each data transfer capability as described above, a hierarchical bus system often found in personal computers and workstations can be cited.

CPU(中央演算処理装置)としてインテル社製ペンティアムプロセッサを搭載した近年のPC/AT互換機を例に取ると、バスサイクル周波数60メガヘルツもしくは66メガヘルツでデータバス幅64ビットのプロセッサ外部バス、バスサイクル周波数33メガヘルツでデータバス幅32ビットのPCIバス、バスサイクル周波数10メガヘルツ前後でデータバス幅8ビットのATバスの三つの異なるデータ転送能力を持ったバスが備えられるのが一般的である。   Taking a recent PC / AT compatible machine equipped with an Intel Pentium processor as a CPU (Central Processing Unit) as an example, a processor external bus with a bus cycle frequency of 60 MHz or 66 MHz and a data bus width of 64 bits, a bus cycle Generally, a bus having three different data transfer capacities, a PCI bus having a frequency of 33 MHz and a data bus width of 32 bits, and an AT bus having a bus cycle frequency of about 10 MHz and a data bus width of 8 bits, are provided.

DRAM等の半導体メモリはプロセッサ外部バスに、グラフィック処理装置等の高速なデータ転送が必要とされる周辺装置はPCIバスに、磁性体メモリ等の比較的低速なデータ転送が行われる周辺装置はATバスに接続される。   Semiconductor memory such as DRAM is connected to the processor external bus, peripheral devices such as graphic processing devices that require high-speed data transfer are connected to the PCI bus, and peripheral devices such as magnetic memory that perform relatively low-speed data transfer are AT Connected to the bus.

このシステムにおいては、CPUがバスマスタとして直接制御を行っているのはプロセッサ外部バス(高速な第一のバス)に対してのみであり、PCIバス(低速な第二のバス)とATバス(低速な第三のバス)に関してはバス相互間インターフェース装置が仲介してデータ転送を行っている。一般的には、プロセッサ外部バス(高速な第一のバス)とPCIバス(低速な第二のバス)間をインターフェースするバス相互間インターフェース装置と、PCIバス(低速な第二のバス)とATバス(低速な第三のバス)間をインターフェースするバス相互間インターフェース装置との二つが備えられる。このシステムにおいては、下位側のバスへのアクセスは上位側のバスを経由して行われることになる。   In this system, the CPU directly controls as the bus master only for the processor external bus (high-speed first bus), and the PCI bus (low-speed second bus) and AT bus (low-speed). For the third bus), the inter-bus interface device mediates data transfer. Generally, an inter-bus interface device that interfaces between a processor external bus (high-speed first bus) and a PCI bus (low-speed second bus), a PCI bus (low-speed second bus), and an AT Two bus interface devices for interfacing between buses (a low-speed third bus) are provided. In this system, access to the lower bus is performed via the upper bus.

ところで、複数のプロセッサ(バスマスタ)がバス及びバススレーブを共有するシステムにおいては、バス調停のためのシステムが不可欠である。何故ならば、バスは時分割方式で共有されており、ある一時点に着目すると一つのプロセッサ(バスマスタ)しかバスを使用できないからである。   By the way, in a system where a plurality of processors (bus masters) share a bus and a bus slave, a system for bus arbitration is indispensable. This is because the bus is shared in a time-sharing manner, and only one processor (bus master) can use the bus when paying attention to a certain temporary point.

一般的には、プロセッサ(バスマスタ)はバス調停回路に対してバス使用要求を発行し、バス調停回路はこのバス使用要求に基づいて調停を行い、プロセッサ(バスマスタ)はバス調停回路よりバス使用許可を受理した後にバスを使用するといった方式が多く用いられている。   Generally, the processor (bus master) issues a bus use request to the bus arbitration circuit, the bus arbitration circuit performs arbitration based on this bus use request, and the processor (bus master) permits the bus use from the bus arbitration circuit. A method of using a bus after accepting the card is often used.

しかしながら、上述のシステムでは、ある1つのバスマスタが自らバスを開放するまでの期間、あるいは定められた一定期間、他のバス及びバススレーブは上記1つのバスマスタに占有されてしまう。   However, in the above-described system, the other bus and bus slave are occupied by the one bus master for a period until one bus master releases the bus by itself or for a predetermined fixed period.

特に、複数のバスマスタを備えたマルチプロセッサシステムにおいては、共有バスの使用効率が悪くなると、システム全体としての処理能力が低くなるという難を有するものであった。   In particular, in a multiprocessor system having a plurality of bus masters, if the use efficiency of the shared bus is deteriorated, the processing capacity of the entire system is lowered.

従来技術において多くみられるようなキャッシュメモリやローカルメモリ等を用いた方式では、システムを安価で構成することは難しい。   In a system using a cache memory, a local memory, or the like often found in the prior art, it is difficult to configure the system at a low cost.

キャッシュメモリは、高速なメモリ素子で構成される必要があるのみならず、データを格納するメモリ素子の他にアドレス情報を格納するメモリ素子、キャッシュメモリと共有バス上のメモリ装置の内容を同一に保つための制御回路等が必要になりシステム全体として高価、複雑になるものであった。   The cache memory not only needs to be composed of a high-speed memory element, but also the memory element for storing address information in addition to the memory element for storing data, and the contents of the memory device on the shared bus and the cache memory are the same. As a result, a control circuit and the like for maintaining were required, and the entire system was expensive and complicated.

また、キャッシュメモリやローカルメモリは、共有バス上のメモリ装置と同じ内容のデータを保持することも多く、同一のデータが複数のメモリ装置間で重複して保持されるため、メモリ資源の有効活用という点で望ましくないものであった。   In addition, cache memory and local memory often hold data with the same contents as memory devices on a shared bus, and the same data is held redundantly among multiple memory devices, making effective use of memory resources. This is undesirable.

而して、この発明は、キャッシュメモリ等の手法を用いず、共有バスの使用効率を可能な限り高めることにより、バスマスタとバススレーブ相互間のデータ転送上のボトルネックを解決することを目的とする。   Thus, an object of the present invention is to solve a bottleneck in data transfer between a bus master and a bus slave by increasing the use efficiency of the shared bus as much as possible without using a technique such as a cache memory. To do.

また共有バスが単一である場合、データ転送能力の異なる全てのバススレーブがこのバスに接続されることになる。これはバスのデータ転送の総量が低くなることを意味し、バスの効率的利用を妨げる要因の一つとなる。この点を鑑みるに、共有バスをデータ転送能力の異なる複数のバスに分離し、各々のデータ転送能力に見合ったバススレーブを接続することは、バスの効率的利用を達成する上で有効な手段である。しかしながら、既知の階層構造的バスシステムには、下位側のバスへのアクセスを行うために上位側のデータ転送幅を消費しなければならないという問題点が存在する。また、バス相互間インターフェース装置内には、下位側のバスをバスマスタとして制御するための機能や、バスのデータ転送能力の差を吸収するためのFIFO(ファースト・イン・ファースト・アウト)メモリ等を用いる場合も多く、安価で構成することを目的としたシステムには適さない。   When there is a single shared bus, all bus slaves with different data transfer capabilities are connected to this bus. This means that the total amount of data transfer on the bus is reduced, which is one of the factors that hinder the efficient use of the bus. In view of this point, separating the shared bus into a plurality of buses having different data transfer capacities and connecting bus slaves corresponding to the respective data transfer capacities is an effective means for achieving efficient use of the buses. It is. However, the known hierarchical bus system has a problem that the upper data transfer width has to be consumed in order to access the lower bus. The inter-bus interface device also has a function for controlling the lower-level bus as a bus master, a FIFO (first-in-first-out) memory for absorbing differences in bus data transfer capability, and the like. It is often used and is not suitable for a system intended to be configured at low cost.

従って、この発明においては、従来既知の階層構造的バスシステムによらず、安価に構成することができ、しかも効率的なバスの利用が可能な、新規なシステムを構築することをも目的とする。   Therefore, an object of the present invention is to construct a new system that can be configured at low cost and can use the bus efficiently without relying on a conventionally known hierarchical bus system. .

またこの発明は、低価格でありながら可能な限り高性能である高速プロセッサの提供をも目的とする。   Another object of the present invention is to provide a high-speed processor that is as inexpensive as possible but has the highest possible performance.

ここで調停方式に着目すると、既存の調停方式には、ある時間幅を持つ期間中プロセッサ(バスマスタ)がバスを占有して使用するという方式が多く見られる。このような調停方式においては、プロセッサ(バスマスタ)が内部動作を行っている期間や、内部キャッシュメモリ等にアクセスしている期間中、プロセッサ(バスマスタ)は実際にはバスを使用していないにも拘わらず、他のプロセッサ(バスマスタ)はバスを使用できない。また、バスサイクル速度は、バスの使用権を与えられたプロセッサ(バスマスタ)のバスサイクル速度に依存し、低速なプロセッサ(バスマスタ)がバスを占有する場合はバスの使用効率が落ちることになる。従って、この発明においては、独自のバス調停方式を採用することによってもバスの効率的利用を実現することをも目的とする。   Here, paying attention to the arbitration method, there are many existing arbitration methods in which a processor (bus master) occupies and uses a bus during a period having a certain time width. In such an arbitration method, the processor (bus master) does not actually use the bus during the period when the processor (bus master) is performing internal operations or accessing the internal cache memory or the like. Regardless, other processors (bus masters) cannot use the bus. Also, the bus cycle speed depends on the bus cycle speed of the processor (bus master) that is given the right to use the bus. When a low-speed processor (bus master) occupies the bus, the bus use efficiency decreases. Therefore, an object of the present invention is to realize efficient use of the bus even by adopting a unique bus arbitration method.

請求項1の発明は、共有バス、それぞれが前記共有バスに直接接続される複数のバスマスタ、それぞれが前記共有バスに接続される複数のバススレーブ、前記共有バスのバスサイクル毎に必ずバス使用権の判定を行い、前記バスマスタの内1つに1バスサイクル単位の始端で共有バス使用許可信号を与えるバス調停回路を備え、前記共有バスは第1の領域と第2の領域に分割され、さらに前記共有バス使用許可信号を受領した前記バスマスタの発行するアドレスが前記第1の領域と前記第2の領域のいずれに該当するかを前記共有バスのバスサイクル毎に判別し、前記第1の領域に該当すると判別した場合には第1のバスサイクル期間長を、前記第2の領域に該当すると判別した場合には第2のバスサイクル期間長を当該バスサイクルの長さとして定め、定められたバスサイクルの長さに従って各バスサイクルの終端でバスサイクル終了信号を発行するバスサイクル長制御手段を備え、前記バスマスタは、前記共有バス使用許可信号によって前記共有バスにおけるデータの送受を開始し、前記バスサイクル終了信号によってデータの送受を終了する、高速プロセッサである。   According to the first aspect of the present invention, a shared bus, a plurality of bus masters each directly connected to the shared bus, a plurality of bus slaves each connected to the shared bus, and a right to use the bus every bus cycle of the shared bus And a bus arbitration circuit that gives a shared bus use permission signal to one of the bus masters at the start of one bus cycle unit, and the shared bus is divided into a first area and a second area, It is determined for each bus cycle of the shared bus whether the address issued by the bus master that has received the shared bus use permission signal corresponds to the first area or the second area. If it is determined that it corresponds to the second bus cycle period length, and if it is determined that it corresponds to the second area, the second bus cycle period length is set to the length of the bus cycle. And a bus cycle length control means for issuing a bus cycle end signal at the end of each bus cycle according to the determined bus cycle length, wherein the bus master uses the shared bus use permission signal to transmit data in the shared bus Is a high-speed processor that starts data transmission / reception and terminates data transmission / reception by the bus cycle end signal.

請求項1の発明では、たとえば実施例の第2のバス(11)である共有バスに、同じく実施例のバスマスタがそれぞれ直接接続され、バススレーブがそれぞれ接続される。バス調停回路は、その共有バスのバスサイクル毎にバス使用権を判定し、バスマスタに使用許可を1バスサイクル単位で与える。   In the first aspect of the present invention, for example, the bus master of the embodiment is directly connected to the shared bus which is the second bus (11) of the embodiment, and the bus slave is connected to the shared bus. The bus arbitration circuit determines the right to use the bus for each bus cycle of the shared bus, and gives the use permission to the bus master in one bus cycle unit.

共有バスは実施例の第2バス領域Aと第2バス領域Bとのように、第1の領域および第2の領域に分割される。そして、たとえば実施例の外部メモリインターフェース回路(図15:1314)のようなバスサイクル長制御手段は、使用権を有するバスマスタからのアドレスをたとえばデコードしてそのアドレスが第1の領域または第2の領域のいずれに属するかを判別し、たとえば判別した領域に対応するバスサイクル長制御レジスタを参照することによって、バスサイクル終了信号を生成する。したがって、バスマスタは、バス使用許可信号を受けてデータの送受を開始し、バスサイクル終了信号に応答しててデータの送受を終了する。   The shared bus is divided into a first area and a second area like the second bus area A and the second bus area B in the embodiment. Then, for example, the bus cycle length control means such as the external memory interface circuit (FIG. 15: 1314) of the embodiment decodes the address from the bus master having the right to use and the address is in the first area or the second area. A bus cycle end signal is generated by determining which of the areas it belongs to, for example, by referring to the bus cycle length control register corresponding to the determined area. Therefore, the bus master starts data transmission / reception in response to the bus use permission signal, and ends data transmission / reception in response to the bus cycle end signal.

請求項2の発明は、前記バス調停回路は、前記バスマスタのバスサイクル速度に依存せず、前記共有バスに接続されるバススレーブにアクセス可能な最速の時間と前記共有バスが動作可能である最速の時間の内のどちらか遅い方を前記共有バスのバスサイクル期間と定め、そのバスサイクル毎に必ず前記バス使用権の判定を行う、請求項1記載の高速プロセッサである。   According to a second aspect of the present invention, the bus arbitration circuit does not depend on the bus cycle speed of the bus master, and is the fastest time during which the shared bus can operate and the fastest time during which the bus slave connected to the shared bus can operate. 2. The high-speed processor according to claim 1, wherein the later one of the two times is defined as a bus cycle period of the shared bus, and the right to use the bus is always determined for each bus cycle.

請求項3の発明は、前記第1の領域および前記第2の領域を第1の形態で配置する第1のメモリマップモードと、前記第1の領域および前記第2の領域を第2の形態で配置する第2のメモリマップモードとを切り替えるメモリマップモード切替制御レジスタをさらに備え、前記第1のメールマップモードおよび前記第2のメモリマップモードは、それぞれ、全ての前記バスマスタに共有される、請求項1または2に記載の高速プロセッサである。   According to a third aspect of the present invention, there is provided a first memory map mode in which the first area and the second area are arranged in a first form, and the first area and the second area in a second form. A memory map mode switching control register for switching between the second memory map mode and the second memory map mode, wherein the first mail map mode and the second memory map mode are respectively shared by all the bus masters. A high speed processor according to claim 1 or 2.

前記バスマスタとしては、前記バス調停回路に対して、バス使用要求信号を出力する機能、バス使用許可信号が得られるまで前記バスに対するアクセスを待機する機能および前記バスに対してアドレスを送出する機能を、接続された前記バス毎に独立に有するものであって、接続された前記バスに対してバス毎に独立したインターフェースを備えているものを用いることが好ましい。   The bus master has a function of outputting a bus use request signal to the bus arbitration circuit, a function of waiting for access to the bus until a bus use permission signal is obtained, and a function of sending an address to the bus. It is preferable to use one that is independently provided for each connected bus and that has an interface that is independent for each bus with respect to the connected bus.

上記インターフェースとしては、前記バスに対するアドレスの出力・非出力を制御する、バス毎に独立した複数組の3ステートバッファと、前記バスに対するデータの入出力および接続・非接続を制御する、バス毎に独立した複数組の双方向3ステートバッファと、バス調停回路からのバス使用許可に基づいて3ステートバッファを制御する手段とを備えてなるものを用いても良い。   As the interface, a plurality of independent 3-state buffers for controlling the output / non-output of addresses to the bus, and the input / output and connection / non-connection of data to the bus are controlled for each bus. A plurality of independent bidirectional three-state buffers and a means for controlling the three-state buffer based on the bus use permission from the bus arbitration circuit may be used.

前記プロセッサとしては、少なくともいずれかが論理アドレスをプロセッサの内部で発行する手段と、発行された論理アドレスをデコードするデコーダと、デコードされたアドレス情報に基づいて複数のバスの内の一つを選択してバス使用要求信号を出力する手段と、論理アドレスの内の必要なアドレス情報のみ選択して物理アドレスを生成する手段、あるいは論理アドレスを変換して物理アドレスを生成する手段と、生成された物理アドレスをバスに対して出力する前記複数組の3ステートバッファとを備え、これにより、バス毎に独立な複数の物理アドレス空間を単一の論理アドレス空間の内の一部に割り当てられるものとなされたものであることが望ましい。   As the processor, at least one of them issues a logical address inside the processor, a decoder that decodes the issued logical address, and selects one of a plurality of buses based on the decoded address information A means for outputting a bus use request signal, a means for selecting only necessary address information in the logical address and generating a physical address, or a means for converting the logical address to generate a physical address, and A plurality of sets of three-state buffers for outputting physical addresses to the bus, whereby a plurality of independent physical address spaces can be allocated to a part of a single logical address space for each bus; It is desirable to have been made.

また前記バス調停回路は、バスマスタ相互の優先順位を定めたバスマスタ優先順位情報を1組とする複数組みのバスマスタ優先順情報を格納する優先順位情報格納手段と、該格納手段から、前記複数組みのバスマスタ優先順位情報を繰り返し単位として、1バスサイクル毎に1組づつ前記バスマスタ優先順位情報を順次的に選択する優先順位情報選択手段と、該選択手段によって選択された1組の前記優先順位情報に基づいて、バス使用要求をしているバスマスタのうち当該組において最も優先順位の高いバスマスタに対して1バスサイクルだけバスの使用を許可すべくバス使用許可信号を出力するバス使用許可信号生成回路とを具備してなるものであることが望ましい。   The bus arbitration circuit stores priority order information storing means for storing a plurality of sets of bus master priority order information including a set of bus master priority order information that determines the priority order of the bus masters. Priority information selection means for sequentially selecting the bus master priority information for each bus cycle, with the bus master priority information as a repeating unit, and a set of the priority information selected by the selection means. A bus use permission signal generating circuit for outputting a bus use permission signal to permit use of the bus for one bus cycle to a bus master having the highest priority in the set among the bus masters requesting bus use, It is desirable to comprise.

更に、前記の全ての構成要素が単一の半導体素子内に集積されてなるものであっても良い。   Further, all the above-described components may be integrated in a single semiconductor element.

また前記プロセッサとして、1または複数の中央演算処理プロセッサと、グラフィック処理を行いビデオ信号を発生する手段を備えるプロセッサと、サウンド処理を行いオーディオ信号を発生する手段を備えるプロセッサとを含むもの、前記バスとして、半導体素子内部の機能ブロック及び高速な半導体メモリとのデータ転送、交換を司る第1のバスと、半導体素子外部の周辺装置及び低速な半導体メモリとのデータ転送、交換を司る第2のバスとを含むもの、前記バススレーブとして前記第1のバスに接続される半導体メモリを含むもの、前記バス調停回路として前記第1のバスの調停を司る第1のバス調停回路と、前記第2のバスの調停を司る第2のバス調停回路とを含むものを用いることが望ましい。   The bus includes, as the processor, one or more central processing processors, a processor having means for performing graphic processing and generating a video signal, and a processor having means for performing sound processing and generating an audio signal, the bus A first bus that manages data transfer and exchange with a functional block inside a semiconductor element and a high-speed semiconductor memory, and a second bus that manages data transfer and exchange with a peripheral device outside the semiconductor element and a low-speed semiconductor memory Including a semiconductor memory connected to the first bus as the bus slave, a first bus arbitration circuit that controls arbitration of the first bus as the bus arbitration circuit, and the second It is desirable to use a circuit including a second bus arbitration circuit that controls bus arbitration.

この発明によれば、バスサイクル毎に必ず使用許可の判別を行い、1バスサイクル単位で使用許可信号を与え、さらにバスマスタからのアドレスがどの領域のものかに応じて、その領域毎に設定されたバスサイクル長で終了信号を与えるようにしているので、効率的なバスの利用が可能な、高速プロセッサが得られる。   According to the present invention, use permission is always determined for each bus cycle, a use permission signal is given for each bus cycle, and the address from the bus master is set for each area according to which area. Since the end signal is given by the bus cycle length, a high-speed processor capable of efficiently using the bus can be obtained.

以下、この発明にかかる高速プロセッサの基本概念を図1に基づいて説明する。   The basic concept of the high speed processor according to the present invention will be described below with reference to FIG.

図1に示すように、このシステムは、一又は複数のバスマスタ(1)(2)と、データ転送能力あるいは動作速度の異なる複数のバス(10)(11)と、前記各バスの転送能力あるいは動作速度に対応した速度で応答可能な複数のバススレーブ(20)(21)とを備えている。   As shown in FIG. 1, this system includes one or a plurality of bus masters (1) (2), a plurality of buses (10) (11) having different data transfer capabilities or operation speeds, And a plurality of bus slaves (20) and (21) capable of responding at a speed corresponding to the operation speed.

前記各バススレーブ(20)(21)は、それに対応する転送能力あるいはその応答速度に対応する動作速度を有する前記いずれかのバス(10)(11)にそれぞれ接続されている。ここにいずれのバス(10)(11)もそれぞれ独立したアドレスバスおよびデータバスを有するものである。而して、前記バスマスタ(1)(2)が、前記各バス(10)(11)のアドレスバスおよびデータバスに直接接続されている。ここにこの明細書において直接接続されているとは、図16に示す従来既知の階層構造的バスシステムのようにバス相互間に介在されたバス相互間インターフェースを介することなく各バスマスタ(1)(2)が各バス(10)(11)に接続されていることを意味するものとする。いうまでもなくバスマスタ(1)(2)とバス(10)(11)とは、従来既知のインターフェースを介して接続されるものであるが、このインターフェースは前記バス相互間インターフェースと比べて極めて構成が簡素なものである。   Each of the bus slaves (20) and (21) is connected to one of the buses (10) and (11) having an operation speed corresponding to a transfer capability corresponding to the bus slave or a response speed thereof. Here, each of the buses (10) and (11) has an independent address bus and data bus. Thus, the bus masters (1) and (2) are directly connected to the address bus and data bus of each of the buses (10) and (11). Here, in this specification, the direct connection means that each bus master (1) (without the inter-bus interface interposed between the buses as in the conventionally known hierarchical bus system shown in FIG. 2) is connected to each bus (10) (11). Needless to say, the bus masters (1), (2) and the buses (10), (11) are connected via a conventionally known interface, but this interface is extremely configured compared to the inter-bus interface. Is simple.

更に各バス(10)(11)には、それぞれ複数の前記バスマスタ(1)(2)からのバスに対するアクセスを調停する図示しないバス調停回路が備えられている。もっとも、バスマスタが単一の場合には基本的にはバス調停回路は不要である。   Further, each bus (10) (11) is provided with a bus arbitration circuit (not shown) that arbitrates access to the bus from the plurality of bus masters (1) (2). However, when there is a single bus master, a bus arbitration circuit is basically unnecessary.

なお、前記バスマスタ(1)(2)は、上記バス調停回路に対して、バス使用要求信号を出力する機能、バス使用許可信号が得られるまで前記バスに対するアクセスを待機する機能、前記バスに対してアドレスを送出する機能およびバス調停回路の定めるバスサイクル期間内にてデータの送受を完結させる機能を有するものであって、接続された前記バス(10)(11)に対してバス毎に独立した図示しないインターフェースを備えている。   The bus masters (1) and (2) output a bus use request signal to the bus arbitration circuit, wait for access to the bus until a bus use permission signal is obtained, Having a function of transmitting addresses and a function of completing transmission and reception of data within a bus cycle period determined by the bus arbitration circuit, and is independent for each bus with respect to the connected buses (10) and (11). An interface (not shown) is provided.

該インターフェースとしては、前記バス(10)(11)に対するアドレスの出力・非出力を制御する、バス毎に独立した複数組の3ステートバッファと、前記バス(10)(11)に対するデータの入出力および接続・非接続を制御する、バス毎に独立した複数組の双方向3ステートバッファと、前記バス調停回路からのバス使用許可に基づいて前記3ステートバッファを制御する手段とを備える。   The interface includes a plurality of sets of three-state buffers independent for each bus for controlling output / non-output of addresses to the buses (10) and (11), and data input / output to the buses (10) and (11). And a plurality of sets of bidirectional three-state buffers independent for each bus for controlling connection / disconnection, and means for controlling the three-state buffers based on a bus use permission from the bus arbitration circuit.

少なくとも前記いずれかのバスマスタ(1)(2)は、論理アドレスをバスマスタ内部で発行する手段と、発行された論理アドレスをデコードするデコーダと、デコードされたアドレス情報に基づいて複数のバスの内の一つを選択してバス使用要求信号を出力する手段と、論理アドレスの内の必要なアドレス情報のみ選択して物理アドレスを生成する手段、あるいは論理アドレスを変換して物理アドレスを生成する手段と、生成された物理アドレスをバスに対して出力する前記複数組の3ステートバッファとを備え、これにより、バス毎に独立な複数の物理アドレス空間を単一の論理アドレス空間の内の一部に割り当てられるものとなされる。   At least one of the bus masters (1) and (2) includes means for issuing a logical address within the bus master, a decoder for decoding the issued logical address, and a plurality of buses based on the decoded address information. Means for selecting one and outputting a bus use request signal; means for selecting only necessary address information in a logical address to generate a physical address; or means for converting a logical address to generate a physical address; A plurality of sets of three-state buffers for outputting the generated physical addresses to the bus, whereby a plurality of physical address spaces independent for each bus are made part of a single logical address space. Will be assigned.

前記バス調停回路は、前記バススレーブ(20)(21)にアクセス可能な最速の時間とバスが動作可能である最速の時間の内のどちらか遅い方をバスサイクル時間と定め、このバスサイクル毎に必ずバス使用権の判定を行い、1バスサイクル単位でのみバスマスタ(1)(2)にバス(10)(11)の使用許可を与える機能を備え、前記バスマスタ(1)(2)は、前記バスサイクル期間内にてデータを送受する機能を備えている。   The bus arbitration circuit determines the slower of the fastest time accessible to the bus slaves (20) and (21) and the fastest time during which the bus can operate as the bus cycle time. The bus use right is always determined, and the bus master (1) (2) is provided with a function of granting the bus master (1) (2) permission to use the bus (10) (11) only in one bus cycle unit. A function of transmitting and receiving data within the bus cycle period is provided.

また前記バス調停回路は、バスマスタ相互の優先順位を定めたバスマスタ優先順位情報を1組とする複数組みのバスマスタ優先順情報を格納する優先順位情報格納手段と、該格納手段から、前記複数組みのバスマスタ優先順位情報を繰り返し単位として、1バスサイクル毎に1組づつ前記バスマスタ優先順位情報を順次的に選択する優先順位情報選択手段と、該選択手段によって選択された1組の前記優先順位情報に基づいて、バス使用要求をしているバスマスタのうち当該組において最も優先順位の高いバスマスタに対して1バスサイクルだけバスの使用を許可すべくバス使用許可信号を出力するバス使用許可信号生成回路とを具備している。   The bus arbitration circuit stores priority order information storing means for storing a plurality of sets of bus master priority order information including a set of bus master priority order information that determines the priority order of the bus masters. Priority information selection means for sequentially selecting the bus master priority information for each bus cycle, with the bus master priority information as a repeating unit, and a set of the priority information selected by the selection means. A bus use permission signal generating circuit for outputting a bus use permission signal to permit use of the bus for one bus cycle to a bus master having the highest priority in the set among the bus masters requesting bus use, It has.

ところで、前記の全ての構成要素、即ちバスマスタ(1)(2)、バス(10)(11)およびバススレーブ(20)(21)を含む全ての構成要素は、単一の半導体素子内に集積されている。   By the way, all the above-mentioned components, that is, all the components including the bus master (1) (2), the bus (10) (11) and the bus slave (20) (21) are integrated in a single semiconductor device. Has been.

この発明にかかる高速プロセッサは、バスマスタ(1)(2)とバススレーブ(20)(21)間のデータ転送上のボトルネックを解決するために、上述のようにデータ転送能力の異なる複数のバス(10)(11)を備え、またこれらのバス(10)(11)にバスマスタ(1)(2)が直接アクセスする手法を採用している。これにより、データ転送能力の異なるバススレーブ(20)(21)が混在することによるバスの使用効率の低下を防ぎ、効率的なバス使用を実現できる。   In order to solve the bottleneck in data transfer between the bus master (1) (2) and the bus slave (20) (21), the high-speed processor according to the present invention provides a plurality of buses having different data transfer capabilities as described above. (10) and (11) are provided, and the bus masters (1) and (2) directly access the buses (10) and (11). As a result, it is possible to prevent a decrease in bus use efficiency due to a mixture of bus slaves (20) and (21) having different data transfer capabilities, and to realize efficient bus use.

また、階層構造的バスシステムにみられる転送能力の高いバス(10)のデータ転送幅が転送能力の低いバス(11)によって消費されるという問題も解決される。更に、バス(10)(11)間をインターフェースする装置等としては特別な回路は必要とされないため、安価にシステムを構成することが可能となる。   Further, the problem that the data transfer width of the bus (10) having a high transfer capability, which is found in the hierarchical bus system, is consumed by the bus (11) having a low transfer capability is also solved. Furthermore, since a special circuit is not required as a device for interfacing between the buses (10) and (11), a system can be configured at low cost.

また、複数のバスマスタ(1)(2)が同時に同一のバスを使用することを要求した場合において、バスの使用権の判定をバス毎に独立して行なうことにより、バスマスタ(1)(2)は使用許可を与えられたバスのみを使用し、他のバスを占有することはない。従って、バスマスタが使用していないバス及びバススレーブを占有する機会が減り、バスの使用効率を一層向上させることが可能となる。   Further, when a plurality of bus masters (1) and (2) request to use the same bus at the same time, the bus master (1) and (2) are determined by determining the right to use the bus independently for each bus. Uses only authorized buses and does not occupy other buses. Therefore, the opportunity to occupy the buses and bus slaves that are not used by the bus master is reduced, and the use efficiency of the bus can be further improved.

バス調停回路として、バスの使用許可をバスサイクル毎に判定し、1バスサイクル単位でのみバス使用許可をバスマスタに対して与えるものとすることにより、バスサイクルは常に有効なアクセスを行うバスマスタに対して動的に割り当てられ、内部動作等のバスを使用していない期間中にバスマスタがバスを占有することが無くなる。   As a bus arbitration circuit, the bus use permission is determined for each bus cycle, and the bus use permission is given to the bus master only in units of one bus cycle. Therefore, the bus master does not occupy the bus during a period when the bus is not used for internal operation or the like.

また、バスサイクルの速度をバス調停回路によって定めれば、バスマスタのバスサイクル速度に依存しないものとすることができる。従って、バスマスタ間でバスサイクルに速度差のある場合でも、常にバスは最高速度にて動作可能である。バスマスタのバスサイクル速度が低速な場合には、例えばデータバスにリードバッファ、ライトバッファを設けたり、バス使用要求信号の出力を遅延させるといった手法にて、バスサイクルの速度差を緩衝すれば良い。   If the bus cycle speed is determined by the bus arbitration circuit, it can be made independent of the bus cycle speed of the bus master. Therefore, even when there is a speed difference in the bus cycle between the bus masters, the bus can always operate at the maximum speed. When the bus cycle speed of the bus master is low, the difference in bus cycle speed may be buffered by, for example, providing a read buffer or a write buffer on the data bus or delaying the output of the bus use request signal.

また、複数のバスが有する物理アドレス空間を、単一の論理アドレス空間内に配置することにより、全てのバスの物理アドレス空間を統一的に扱うことが可能となるばかりか、一つの処理単位としてのデータブロックを、複数のバスの物理アドレス空間に跨るように配置することが可能となり、プログラミングは容易さと自由度が高くなる。   In addition, by arranging the physical address space of multiple buses within a single logical address space, not only can the physical address space of all buses be handled uniformly, but also as a single processing unit. This data block can be arranged across the physical address spaces of a plurality of buses, and programming is easy and flexible.

ここで、 先ず、本発明に係る中央演算処理プロセッサの例について説明する。   Here, first, an example of a central processing processor according to the present invention will be described.

この中央演算処理プロセッサは、本発明に係る高速プロセッサを構成する複数のバスマスタの内の一つである。本中央演算処理プロセッサは第1のバス及び第2のバスの2組の共有バスに対してアクセスする機能を有する。   The central processing processor is one of a plurality of bus masters constituting the high speed processor according to the present invention. The central processing processor has a function of accessing two sets of shared buses, the first bus and the second bus.

第1バスは、16ビットのアドレスバス、リードライト信号、8ビットのデータバスから成る共有バスであり、第1バス調停回路によって複数のバスマスタからのアクセスが調停される。これはクロック信号の1サイクルを1バスサイクルとする高速なバスであり、主に高速な半導体メモリへのアクセスや高速マルチプロセッサ内部の機能ブロック間のデータ転送に用いられる。   The first bus is a shared bus including a 16-bit address bus, a read / write signal, and an 8-bit data bus. Access from a plurality of bus masters is arbitrated by the first bus arbitration circuit. This is a high-speed bus in which one cycle of a clock signal is one bus cycle, and is mainly used for access to a high-speed semiconductor memory and data transfer between functional blocks in a high-speed multiprocessor.

第2バスは、24ビットのアドレスバス、リードライト信号、8ビットのデータバスから成る共有バスであり、第2バス調停回路によって複数のバスマスタからのアクセスが調停される。これはクロック信号の2〜8サイクル(但し整数)を1バスサイクルとする比較的低速なバスであり、主に低速な半導体メモリへのアクセスや高速マルチプロセッサ外部の機器とのデータ転送に用いられる。1バスサイクルのクロックサイクル数の設定は、外部メモリインターフェース回路に含まれる第2バスサイクル長制御レジスタによって制御される。   The second bus is a shared bus including a 24-bit address bus, a read / write signal, and an 8-bit data bus. Access from a plurality of bus masters is arbitrated by the second bus arbitration circuit. This is a relatively low-speed bus in which 2 to 8 cycles (however, an integer) of the clock signal is one bus cycle, and is mainly used for access to a low-speed semiconductor memory and data transfer with devices outside the high-speed multiprocessor. . The setting of the number of clock cycles in one bus cycle is controlled by a second bus cycle length control register included in the external memory interface circuit.

図2に中央演算処理プロセッサの要部の概略を示す。本中央演算処理プロセッサは、プロセッサコア(50)、アドレスデコーダ(51)、第1バスインターフェース制御手段(52)、第2バスインターフェース制御手段(53)、クロック制御手段(54)、2組みの3ステートバッファ(55)(60)、2組みの双方向3ステートバッファ(56)(61)、周辺機能ブロック(57)、内部アドレスバス及びリードライト信号(58)、内部データバス(59)からなる。   FIG. 2 shows an outline of the main part of the central processing processor. The central processing processor includes a processor core (50), an address decoder (51), first bus interface control means (52), second bus interface control means (53), clock control means (54), and two sets of three. It consists of a state buffer (55) (60), two sets of bidirectional three-state buffers (56) (61), a peripheral function block (57), an internal address bus and read / write signal (58), and an internal data bus (59). .

プロセッサコア(50)は、メモリに格納されたプログラムに従い、各種演算やシステム全体の制御を司る。クロック制御手段(54)から入力されるクロック信号によって動作し、24ビットアドレスバス、リードライト信号、8ビットデータバスをバスインターフェース信号として有する。また、自身のバスサイクルに同期したアクセス有効信号を出力し、内部動作サイクル時は該バスインターフェース信号が無効であることをプロセッサコア(50)の外部に知らせる機能を有する。   The processor core (50) governs various calculations and control of the entire system according to programs stored in the memory. It operates according to a clock signal input from the clock control means (54), and has a 24-bit address bus, a read / write signal, and an 8-bit data bus as bus interface signals. It also has a function of outputting an access valid signal synchronized with its own bus cycle and notifying the outside of the processor core (50) that the bus interface signal is invalid during an internal operation cycle.

ここで、プロセッサコア(50)に接続されているアドレスバス及びリードライト信号は、内部アドレスバスおよびリードライト信号(58)に、データバスは内部データバス(59)に接続されており、第1バス及び第2バスに対しては直接に接続されない。以降、この内部アドレスバスの有する空間はプログラムから見た論理アドレス空間として、第1バス及び第2バスの有する物理アドレス空間とは分けて扱われるものとする。   Here, the address bus and read / write signal connected to the processor core (50) are connected to the internal address bus and read / write signal (58), and the data bus is connected to the internal data bus (59). It is not directly connected to the bus and the second bus. Hereinafter, it is assumed that the space of the internal address bus is handled as a logical address space viewed from the program separately from the physical address space of the first bus and the second bus.

周辺機能ブロック(57)は、乗算回路、バレルシフタ、内部ベクトルレジスタ、割り込み要求信号のステータスレジスタを備える。また、6つの割込み要求信号の論理和をとった信号をプロセッサコア(50)への割り込み要求信号として出力する機能を有する。   The peripheral function block (57) includes a multiplication circuit, a barrel shifter, an internal vector register, and an interrupt request signal status register. Further, it has a function of outputting a signal obtained by logically summing six interrupt request signals as an interrupt request signal to the processor core (50).

アドレスデコーダ(51)は、論理アドレス信号のデコードを行い、デコードされたアドレス情報と、アクセス有効信号と、図示しない外部メモリインターフェース回路より送出されるメモリマップモード制御信号から、アクセスが第1バス、第2バス、周辺機能ブロック(57)のいずれの領域に該当するかを判別する。アクセスが第1バス領域に該当する場合は、第1バスインターフェース制御手段(52)に対し第1バス領域選択信号を、アクセスが第2バス領域に該当する場合は、第2バスインターフェース制御手段(53)に対し第2バス領域選択信号を送出する。アクセスが内部の周辺機能ブロック領域に該当する場合及びアクセスが有効でない場合、第1バス及び第2バス領域選択信号は送出されず、本中央演算処理プロセッサは外部機能ブロックに対しアクセスを行わない。   The address decoder (51) decodes the logical address signal, and the access is made from the decoded first address information, the access valid signal, and the memory map mode control signal sent from the external memory interface circuit (not shown). It is determined which area corresponds to the second bus or the peripheral function block (57). When the access corresponds to the first bus area, a first bus area selection signal is sent to the first bus interface control means (52), and when the access corresponds to the second bus area, the second bus interface control means ( 53), a second bus area selection signal is transmitted. When the access corresponds to the internal peripheral function block area or when the access is not valid, the first bus and second bus area selection signals are not sent, and the central processing processor does not access the external function block.

第1バスインターフェース制御手段(52)は、アドレスデコーダ(51)より受領した第1バス領域選択信号から第1バス使用要求信号を生成し、これを第1バス調停回路に送出する。第1バス使用要求信号は、第1バス調停回路からの第1バス使用許可信号を受領するまでの期間送出される。第1バス使用許可信号は、第1バスの1バスサイクル期間即ち1クロックサイクル期間のみ出力され、第1バスインターフェース制御手段(52)は、この期間中のみ3ステートバッファ(60)に対する出力許可、及び双方向3ステートバッファ(61)に対する入出力許可を行う。   The first bus interface control means (52) generates a first bus use request signal from the first bus area selection signal received from the address decoder (51), and sends it to the first bus arbitration circuit. The first bus use request signal is transmitted during a period until the first bus use permission signal is received from the first bus arbitration circuit. The first bus use permission signal is output only during one bus cycle period of the first bus, that is, one clock cycle period, and the first bus interface control means (52) permits output to the 3-state buffer (60) only during this period. And input / output permission to the bidirectional three-state buffer (61).

第2バスインターフェース制御手段(53)は、アドレスデコーダより受領した第2バス領域選択信号から第2バス使用要求信号を生成し、これを第2バス調停回路に送出する。第2バス使用要求信号は、第2バス調停回路からの第2バス使用許可信号を受領するまでの期間送出される。第2バスの使用は、第2バス使用許可信号を受領してから第2バスサイクル終了信号を受領するまでの期間許可されるので、第2バスインターフェース制御手段(53)は、この期間中のみ3ステートバッファ(55)に対する出力許可、及び双方向3ステートバッファ(56)に対する入出力許可を行う。   The second bus interface control means (53) generates a second bus use request signal from the second bus area selection signal received from the address decoder, and sends it to the second bus arbitration circuit. The second bus use request signal is transmitted during a period until the second bus use permission signal is received from the second bus arbitration circuit. Since the use of the second bus is permitted for a period from when the second bus use permission signal is received to when the second bus cycle end signal is received, the second bus interface control means (53) is used only during this period. Output permission for the 3-state buffer (55) and input / output permission for the bidirectional 3-state buffer (56) are performed.

クロック制御手段(54)は、第1バスインターフェース制御手段(52)及び第2バスインターフェース制御手段(53)から送出されるプロセッサウェイト制御信号に従い、プロセッサコア(50)に供給するクロックを停止し、プロセッサコア(50)をウェイト状態にする。   The clock control means (54) stops the clock supplied to the processor core (50) according to the processor wait control signal sent from the first bus interface control means (52) and the second bus interface control means (53), The processor core (50) is put into a wait state.

3ステートバッファ(60)は第1バスインターフェース制御手段(52)から送信される制御信号に従って、内部アドレスの下位16ビットとリードライト信号の第1バスに対する出力の制御を行う。即ちこの3ステートバッファ(60)は17本の信号線の制御を行うものである。   The 3-state buffer (60) controls the lower 16 bits of the internal address and the output of the read / write signal to the first bus according to the control signal transmitted from the first bus interface control means (52). That is, the three-state buffer (60) controls 17 signal lines.

3ステートバッファ(55)は第2バスインターフェース制御手段(53)から送信される制御信号に従って、内部アドレス24ビットとリードライト信号の第2バス対する出力の制御を行う。即ちこの3ステートバッファ(55)は25本の信号線の制御を行うものである。   The 3-state buffer (55) controls the output of the internal address 24 bits and the read / write signal to the second bus according to the control signal transmitted from the second bus interface control means (53). That is, the three-state buffer (55) controls 25 signal lines.

双方向3ステートバッファ(61)は、第1バスインターフェース制御手段(52)から送信される制御信号に従って、内部データバス(59)から第1データバスに対する出力と第1データバスから内部データバス(59)に対する入力を制御する。即ちこの双方向3ステートバッファ(61)は8本の信号線の制御を行うものである。   The bidirectional three-state buffer (61) outputs from the internal data bus (59) to the first data bus and from the first data bus to the internal data bus (in accordance with a control signal transmitted from the first bus interface control means (52). 59) is controlled. That is, this bidirectional three-state buffer (61) controls eight signal lines.

双方向3ステートバッファ(56)は、第2バスインターフェース制御手段(53)から送信される制御信号に従って、内部データバス(59)から第2データバスに対する出力と第2データバスから内部データバス(59)に対する入力を制御する。即ちこの双方向3ステートバッファ(56)は8本の信号線の制御を行うものである。   The bidirectional three-state buffer (56) outputs from the internal data bus (59) to the second data bus and from the second data bus to the internal data bus (in accordance with a control signal transmitted from the second bus interface control means (53). 59) is controlled. That is, the bidirectional three-state buffer (56) controls eight signal lines.

以下に本中央演算処理プロセッサのアドレス空間について説明する。以降16進数の表現に関しては、これを10進数と区別するために数字の末尾に「h」を付けて表記する。   The address space of this central processing processor will be described below. Hereinafter, in order to distinguish this from a decimal number, “h” is added to the end of the number.

本中央演算処理プロセッサのプロセッサコア(50)は24ビットのアドレス信号即ち16メガバイトのアドレス空間を有する。これは、該プロセッサコア(50)で実行されるプログラムから見た論理アドレス空間である。   The processor core (50) of the central processor has a 24-bit address signal, that is, a 16 megabyte address space. This is a logical address space viewed from a program executed by the processor core (50).

第1バスは16ビットのアドレス信号即ち64キロバイトの物理アドレス空間を有する。   The first bus has a 16-bit address signal, that is, a physical address space of 64 kilobytes.

第2バスは24ビットのアドレス即ち16メガバイトの物理アドレス空間を有する。第2バスのアドレス空間は大きく2つの領域に分けられ、それぞれに異なるバスサイクル長を設定されることが可能である。ここではこれらの二つの領域を第2バス領域A及び第2バス領域Bという。   The second bus has a 24-bit address or 16 megabytes physical address space. The address space of the second bus is roughly divided into two areas, and different bus cycle lengths can be set for each. Here, these two areas are referred to as a second bus area A and a second bus area B.

本中央演算処理プロセッサにおいては、プロセッサコア(50)の論理アドレス空間内に複数の物理アドレス空間が配置され、プロセッサコア(50)がアクセスを行う度にこれらの物理アドレス空間の内の一つが選択され使用される。選択されなかったバスについては、プロセッサコア(50)はそれらを占有せず、他のバスマスタが利用可能な開放状態にある。   In this central processing processor, a plurality of physical address spaces are arranged in the logical address space of the processor core (50), and one of these physical address spaces is selected each time the processor core (50) accesses. And used. For the unselected buses, the processor core (50) does not occupy them and is in an open state available to other bus masters.

本中央演算処理プロセッサには図3及び図4に示されるように2種類の異なるメモリマップのモードが用意されている。ここではこれらをメモリマップモード1及びメモリマップモード2と呼ぶ。これらのモードは、図示しない外部メモリインターフェース回路に含まれるメモリマップモード切替制御レジスタによって切り替えられる。   As shown in FIGS. 3 and 4, the central processor has two different memory map modes. Here, these are called memory map mode 1 and memory map mode 2. These modes are switched by a memory map mode switching control register included in an external memory interface circuit (not shown).

メモリマップモード切替制御レジスタは第1バスに接続され、本中央演算処理プロセッサを含む第1バスのバスマスタから読み書きが可能である。このようになされることにより、本中央演算処理プロセッサのみならず他のバスマスタがこのメモリマップモードを制御可能となり、このメモリマップモードを共有できる。   The memory map mode switching control register is connected to the first bus and can be read and written from the bus master of the first bus including the central processing processor. By doing in this way, not only this central processing processor but other bus masters can control this memory map mode, and can share this memory map mode.

プロセッサコア(50)の発行する24ビットのアドレスは上位8ビットと下位16ビットに大きく分かれ、上位8ビットのアドレスはバンクアドレスと呼ばれる働きをする。即ち16メガバイトの論理アドレス空間は256個の64キロバイトのバンクと呼ばれる単位空間に分けられており、例を挙げると00hバンクのFFFFh番地と01hバンクの0000h番地は連続していない。したがって図3及び図4に示すメモリマップは、これを明確に表すためにバンク毎に並列に表記したものとしている。   The 24-bit address issued by the processor core (50) is roughly divided into upper 8 bits and lower 16 bits, and the upper 8-bit address functions as a bank address. That is, the logical address space of 16 megabytes is divided into 256 unit spaces called 64 kilobyte banks. For example, the FFFFh address of 00h bank and the 0000h address of 01h bank are not continuous. Therefore, the memory maps shown in FIG. 3 and FIG. 4 are written in parallel for each bank in order to express this clearly.

メモリマップモード1について説明する。   The memory map mode 1 will be described.

周辺機能ブロック(57)は論理アドレスの下位16ビットが00FEh、00FFh、7FF0h〜7FFFhを示す空間に配置される。   The peripheral function block (57) is arranged in a space in which the lower 16 bits of the logical address indicate 00FEh, 00FFh, 7FF0h to 7FFFh.

第1バスの物理アドレスが0000h〜7FEFh(00FEh、00FFhを除く)を示す空間は、論理アドレスの下位16ビットが0000h〜7FEFh(00FEh、00FFhを除く)を示す空間に配置される。第1バスの物理アドレスが00FEh、00FFh、7FF0〜FFFFhを示す空間は本中央演算プロセッサからはアクセス不可である。   The space where the physical address of the first bus indicates 0000h to 7FEFh (excluding 00FEh and 00FFh) is arranged in the space where the lower 16 bits of the logical address indicate 0000h to 7FEFh (excluding 00FEh and 00FFh). The space in which the physical address of the first bus indicates 00FEh, 00FFh, 7FF0 to FFFFh cannot be accessed from the central processor.

メモリマップモード1においては、周辺機能ブロック領域及び第1バス領域は00h〜FFhの全てのバンクに同一のイメージが配置される。例を挙げると、論理アドレス空間の000000hに対するアクセスと010000hに対するアクセスは共に第1バスの物理アドレス空間の0000hへのアクセスとなる。   In the memory map mode 1, the same image is arranged in all banks 00h to FFh in the peripheral function block area and the first bus area. For example, access to 000000h in the logical address space and access to 010000h are both accesses to 0000h in the physical address space of the first bus.

第2バスの物理アドレスが008000h〜00FFFFhからFF8000h〜FFFFFFhを示す空間は、論理アドレスが008000h〜00FFFFhからFF8000h〜FFFFFFhを示す空間に配置される。ここで論理アドレスが008000h〜00FFFFhから7F8000h〜7FFFFFhを示す空間は第2バス領域Aとなり、論理アドレス空間が808000h〜80FFFFhからFF8000h〜FFFFFFhを示す空間は第2バス領域Bとなる。メモリマップモード1においては、第2バスの物理アドレスが000000h〜007FFFhからFF0000h〜FF7FFFhを示す空間は本中央演算処理プロセッサからはアクセス不可である。   The space where the physical address of the second bus is from 00800h to 00FFFFh to FF8000h to FFFFFFh is arranged in the space where the logical address is from 00800h to 00FFFFh to FF8000h to FFFFFFh. Here, the space indicating logical addresses from 00800h to 00FFFFh to 7F8000h to 7FFFFFh is the second bus region A, and the space indicating logical address spaces from 808000h to 80FFFFh to FF8000h to FFFFFFh is the second bus region B. In the memory map mode 1, the space where the physical address of the second bus indicates 000000h to 007FFFh to FF0000h to FF7FFFh cannot be accessed from the central processing processor.

メモリマップモード2について説明する。   The memory map mode 2 will be described.

周辺機能ブロックは論理アドレス空間中のバンクアドレスが00h〜7Fhを示し、かつ下位16ビットアドレスが00FEh、00FFh、7FF0h〜7FFFhを示す空間に配置される。   The peripheral function block is arranged in a space where the bank address in the logical address space indicates 00h to 7Fh and the lower 16-bit address indicates 00FEh, 00FFh, 7FF0h to 7FFFh.

第1バスの物理アドレスが0000h〜7FEFh(00FEh、00FFhを除く)を示す空間は論理アドレス空間のバンクアドレス00h〜7Fhを示し、かつ下位16ビットアドレスが0000h〜7FEFh(00FEh、00FFhを除く)を示す空間に配置される。メモリマップモード1と同様、第1バスの物理アドレスが00FEh、00FFh、7FF0〜FFFFhを示す空間は本中央演算プロセッサからはアクセス不可である。   The space where the physical address of the first bus indicates 0000h-7FEFh (excluding 00FEh, 00FFh) indicates the bank address 00h-7Fh of the logical address space, and the lower 16-bit address is 0000h-7FEFh (except 00FEh, 00FFh) Arranged in the space shown. As in the memory map mode 1, the space where the physical address of the first bus indicates 00FEh, 00FFh, 7FF0 to FFFFh cannot be accessed from this central processing processor.

第2バスの物理アドレスが008000h〜00FFFFhから7F8000h〜7FFFFFhを示す空間は、論理アドレスが008000h〜00FFFFhから7F8000h〜7FFFFFhを示す空間に、第2バスの物理アドレスが800000h〜80FFFFhからFF0000h〜FFFFFFhを示す空間は、論理アドレスが800000h〜80FFFFhからFF0000h〜FFFFFFhを示す空間に配置される。ここで論理アドレスが008000h〜00FFFFhから3F8000h〜3FFFFFhを示す空間及び800000h〜80FFFFhからBF0000h〜BFFFFFhを示す空間は、第2バス領域Aとなり、論理アドレスが408000h〜40FFFFhから7F8000h〜7FFFFFhを示す空間及びC00000h〜C0FFFFhからFF0000h〜FFFFFFhを示す空間は、第2バス領域Bとなる。メモリマップモード2においては、第2バスの物理アドレスが000000h〜007FFFhから3F0000h〜3F7FFFhを示す空間は本中央演算処理プロセッサからはアクセス不可である。   The space where the physical address of the second bus is from 00800h to 00FFFFh to 7F8000h to 7FFFFFh is the space where the logical address is from 00800h to 00FFFFh to 7F8000h to 7FFFFFh, and the physical address of the second bus is from 800000h to 80FFFFh to FF0000h to FFFFFFh The space is arranged in a space where logical addresses indicate from 800,000h to 80FFFFh to FF0000h to FFFFFFh. Here, the space indicating logical addresses from 00800h to 00FFFFh to 3F8000h to 3FFFFFh and the space indicating from 800000h to 80FFFFh to BF0000h to BFFFFFh are the second bus area A, and the space from 408000h to 40FFFFh to 7F8000h to 7FFFFFh and C00000h. The space from ˜C0FFFFh to FF0000h to FFFFFFh is the second bus area B. In the memory map mode 2, the space in which the physical addresses of the second bus indicate 000000h to 007FFFh to 3F0000h to 3F7FFFh cannot be accessed from the central processing processor.

上記の様に第1バスの約32キロバイトの物理アドレス空間と第2バスの8メガバイト(モード1)もしくは12メガバイト(モード2)の物理アドレス空間がプロセッサコアの16メガバイトの論理アドレス空間に配置され、プログラム上で統一的かつ連続的に扱われることが可能となる。   As described above, the physical address space of approximately 32 kilobytes of the first bus and the physical address space of 8 megabytes (mode 1) or 12 megabytes (mode 2) of the second bus are arranged in the 16 megabyte logical address space of the processor core. , It can be handled uniformly and continuously in the program.

また、論理アドレスの値によって、アクセスの度に周辺機能ブロック、第1バス、第2バスを選択的に使用するので、本中央演算処理プロセッサが第1バス及び第2バスを同時に占有することはなく、本中央演算処理プロセッサが一方のバスを使用している期間においても、他のバスマスタは他方のバスを使用可能である。   Further, since the peripheral function block, the first bus, and the second bus are selectively used for each access depending on the value of the logical address, the central processing processor cannot occupy the first bus and the second bus at the same time. In addition, even in a period in which the central processing processor is using one bus, the other bus master can use the other bus.

以下に本中央演算処理プロセッサからの第1バス及び第2バスに対するアクセスの例を示す。   An example of access to the first bus and the second bus from the central processing processor will be shown below.

図5に本中央演算処理プロセッサの第1バスに対するアクセスのタイミングチャートの例を示す。   FIG. 5 shows an example of a timing chart of access to the first bus of the central processing processor.

第1バスの1バスサイクル期間はクロック信号の1サイクル期間に相当し、第1バス調停回路によってバスサイクル毎に、本中央演算処理プロセッサを含む複数のバスマスタからのアクセスが調停される。   One bus cycle period of the first bus corresponds to one cycle period of the clock signal, and access from a plurality of bus masters including the central processing processor is arbitrated for each bus cycle by the first bus arbitration circuit.

これに対し、本中央演算処理プロセッサのプロセッサコア(50)の1バスサイクル期間は、ウェイト状態無しで動作する場合においてもクロック信号の3サイクルに相当し、第1バスのバスサイクル期間より長い。バスマスタに与えられる第1バスの使用許可期間は1バスサイクル即ち1クロックサイクルであり、低速な本中央演算処理プロセッサがアクセスを行うためには、図5に示した前述の機能と、以下に示すタイミング制御が必要である。   On the other hand, one bus cycle period of the processor core (50) of the central processing processor corresponds to three clock signal cycles even when operating without a wait state, and is longer than the bus cycle period of the first bus. The use permission period of the first bus given to the bus master is one bus cycle, that is, one clock cycle. In order for the low-speed central processing processor to access, the above-described functions shown in FIG. Timing control is required.

本中央演算処理プロセッサのプロセッサコアは、これに供給されるクロック信号の立ち下がりを基準として動作を行う。即ち一つの立ち下がり時点から次の立ち下がり時点までがプロセッサコアの1動作サイクルとなり、プロセッサコアの1バスサイクルもこれに同じである。   The processor core of this central processing processor operates on the basis of the falling edge of the clock signal supplied thereto. That is, one operation cycle of the processor core is from one falling time point to the next falling time point, and one bus cycle of the processor core is the same.

プロセッサコアへのクロック信号の立ち下がりを基準として、プロセッサコアより論理アドレスが送出され、アドレスデコーダはこの論理アドレスとアクセス有効信号とメモリマップモード情報よりアクセスが第1バス領域に該当するか否かを判定する。アクセスが第1バス領域に該当する場合、アドレスデコーダは第1バス領域選択信号を第1バスインターフェース制御手段に送出し、第1バスインターフェース制御手段はこの信号を基に第1バス使用要求信号を生成し、これを第1バス調停回路に送出する。   Based on the falling edge of the clock signal to the processor core, a logical address is transmitted from the processor core, and the address decoder determines whether the access corresponds to the first bus area based on the logical address, the access valid signal, and the memory map mode information. Determine. When the access corresponds to the first bus area, the address decoder sends a first bus area selection signal to the first bus interface control means, and the first bus interface control means sends a first bus use request signal based on this signal. It is generated and sent to the first bus arbitration circuit.

第1バス調停回路は、各バスマスタからの第1バス使用要求信号を受け付け、第1バスのバスサイクル毎にバス使用許可を与えるバスマスタを決定し、そのバスマスタに対し第1バス使用許可信号を送出する。この際に同時に2つ以上のバスマスタに第1バスの使用が許可されることはない。   The first bus arbitration circuit receives the first bus use request signal from each bus master, determines the bus master to which the bus use is permitted every bus cycle of the first bus, and sends the first bus use permission signal to the bus master. To do. At this time, use of the first bus is not permitted to two or more bus masters at the same time.

第1バス使用許可信号は1バスサイクル単位でのみ発行され、夫々のバスマスタは第1バス使用許可信号を受け取ったバスサイクルのみ第1バスの使用を許可される。   The first bus use permission signal is issued only in units of one bus cycle, and each bus master is permitted to use the first bus only in the bus cycle that has received the first bus use permission signal.

クロック制御手段は、本中央演算処理プロセッサが第1バス使用許可信号を受け取るまでの期間、プロセッサコアに供給するクロックをハイレベルのまま停止させ、ウェイト状態にする。本中央演算処理プロセッサが第1バス使用許可信号を受け取ると、クロックをロウレベルに落としプロセッサコアにバスサイクルを終了させ、ウェイト状態を解除する。   The clock control means stops the clock supplied to the processor core at a high level for a period until the central processing processor receives the first bus use permission signal, and enters a wait state. When the central processing processor receives the first bus use permission signal, the clock is lowered to the low level, the processor core ends the bus cycle, and the wait state is released.

本中央演算処理プロセッサは、第1バスの使用を許可されている期間、第1アドレスバス及びリードライト信号に対し、内部アドレスバスの一部及びリードライト信号を送出する。ここで、リードライト信号のロウレベルはデータのライトを示し、ハイレベルはデータのリードを示す。   The central processing processor sends a part of the internal address bus and the read / write signal to the first address bus and the read / write signal while the use of the first bus is permitted. Here, the low level of the read / write signal indicates data write, and the high level indicates data read.

本中央演算処理プロセッサが第1バスに対してデータのリードを行う際は、第1バスの使用を許可されているバスサイクルにて、内部データバス信号を第1データバスに対して出力する。但し第1データバス上でのデータの衝突を防ぐために、クロック信号がロウレベルの期間は出力しない。   When the central processing processor reads data from the first bus, it outputs an internal data bus signal to the first data bus in a bus cycle in which use of the first bus is permitted. However, in order to prevent data collision on the first data bus, no output is made during a period when the clock signal is at a low level.

本中央演算処理プロセッサが第1バスに対してデータのライトを行う際は、第1バスの使用を許可されているバスサイクルにて、第1データバス信号を内部データバスに入力する。プロセッサコアへのクロック信号の立ち下がりを基準として、プロセッサコア(50)はデータを取得する。   When the central processing processor writes data to the first bus, the first data bus signal is input to the internal data bus in a bus cycle in which use of the first bus is permitted. The processor core (50) acquires data on the basis of the falling edge of the clock signal to the processor core.

図6に本中央演算処理プロセッサの第2バスに対するアクセスのタイミングチャートの例を示す。   FIG. 6 shows an example of a timing chart of access to the second bus of the central processing processor.

第2バスの1バスサイクル期間はクロック信号の2〜8サイクル期間に相当し、バスサイクル毎に第2バス調停回路によって本中央演算処理プロセッサを含む複数のバスマスタからのアクセスが調停される。   One bus cycle period of the second bus corresponds to 2 to 8 cycle periods of the clock signal, and access from a plurality of bus masters including the central processing processor is arbitrated by the second bus arbitration circuit every bus cycle.

第2バスの1バスサイクル期間長は、図示しない外部メモリインターフェース回路に含まれる第2バスサイクル長制御レジスタによって定められる。第2バスサイクル長制御レジスタは第1バスに接続され、中央演算処理プロセッサ等のバスマスタから読み書きが可能である。また第2バスの領域は第2バス領域Aと第2バス領域Bの二つの領域に分けられ、それぞれに異なるバスサイクル長制御レジスタが設けられ、異なるバスサイクル長を設定されることが可能である。但し図6に示す例においては説明を簡単にするために、1バスサイクル期間がクロック信号の4サイクルに設定された領域へのアクセスに限定している。   The length of one bus cycle period of the second bus is determined by a second bus cycle length control register included in an external memory interface circuit (not shown). The second bus cycle length control register is connected to the first bus and can be read and written from a bus master such as a central processing processor. The area of the second bus is divided into two areas, the second bus area A and the second bus area B, and each is provided with a different bus cycle length control register, so that different bus cycle lengths can be set. is there. However, in the example shown in FIG. 6, in order to simplify the explanation, the access is limited to an area in which one bus cycle period is set to four cycles of the clock signal.

プロセッサコアへのクロック信号の立ち下がりを基準として、プロセッサコアより論理アドレスが送出され、アドレスデコーダはこの論理アドレスとアクセス有効信号とメモリマップモード情報よりアクセスが第2バス領域に該当するか否かを判定する。アクセスが第2バス領域に該当する場合、アドレスデコーダは第2バス領域選択信号を第2バスインターフェース制御手段に送出し、第2バスインターフェース制御手段はこの信号を基に第2バス使用要求信号を生成し、これを第2バス調停回路に送出する。   Based on the falling edge of the clock signal to the processor core, a logical address is transmitted from the processor core, and the address decoder determines whether the access corresponds to the second bus area based on the logical address, the access valid signal, and the memory map mode information. Determine. When the access corresponds to the second bus area, the address decoder sends a second bus area selection signal to the second bus interface control means, and the second bus interface control means sends a second bus use request signal based on this signal. It is generated and sent to the second bus arbitration circuit.

第2バス調停回路は、各バスマスタからの第2バス使用要求信号を受け付け、第2バスのバスサイクル毎にバス使用許可を与えるバスマスタを決定し、そのバスマスタに対し第2バス使用許可信号を送出する。第1バスの場合と同様、同時に2つ以上のバスマスタに第2バスの使用が許可されることはない。   The second bus arbitration circuit receives a second bus use request signal from each bus master, determines a bus master to which the bus use is permitted for each bus cycle of the second bus, and sends a second bus use permission signal to the bus master. To do. As in the case of the first bus, two or more bus masters are not permitted to use the second bus at the same time.

第2バス使用許可信号は1バスサイクル単位でのみ発行され、バスマスタは第2バス使用許可信号を受け取って後、第2バスサイクル終了信号を受け取るまでの期間、第2バスの使用を許可される。この期間は第2バスサイクル長制御レジスタにて設定されるバスサイクル長に等しい。この例においては、1バスサイクルはクロック信号の4サイクルに相当する。   The second bus use permission signal is issued only in units of one bus cycle, and the bus master is permitted to use the second bus after receiving the second bus use permission signal and before receiving the second bus cycle end signal. . This period is equal to the bus cycle length set by the second bus cycle length control register. In this example, one bus cycle corresponds to four cycles of the clock signal.

本中央演算処理プロセッサは、第2バスの使用を許可されている期間、第2アドレスバス及びリードライト信号に対し、内部アドレスバス及びリードライト信号を送出する。ここで、リードライト信号のロウレベルはデータのライトを示し、ハイレベルはデータのリードを示す。   The central processing processor sends the internal address bus and the read / write signal to the second address bus and the read / write signal during the period when the use of the second bus is permitted. Here, the low level of the read / write signal indicates data write, and the high level indicates data read.

外部メモリインターフェース回路は、バスマスタより発行された第2アドレスバスのアドレス信号をデコードし、デコードされたアドレス情報とメモリマップモード情報から、アクセスが第2バス領域Aと第2バス領域Bのいずれの領域に該当するかを判別し、夫々の領域に対応する第2バスサイクル長制御レジスタの値より、第2バスサイクル終了信号を生成し、第2バスの全バスマスタ及び第2バス調停回路に対して送出する。   The external memory interface circuit decodes the address signal of the second address bus issued by the bus master, and access is made to either the second bus area A or the second bus area B from the decoded address information and memory map mode information. The second bus cycle end signal is generated based on the value of the second bus cycle length control register corresponding to each area, and the second bus cycle end signal is generated for each bus master and the second bus arbitration circuit. And send it out.

クロック制御手段は、本中央演算処理プロセッサが第2バス使用許可信号を受け取り、第2バスサイクル終了信号を受け取るまでの期間、プロセッサコアに供給するクロックをハイレベルのまま停止させウェイト状態にする。本中央演算処理プロセッサが第2バスサイクル終了信号を受け取るとクロックをロウレベルに落とし、プロセッサコアにバスサイクルを終了させ、ウェイト状態を解除する。   The clock control means stops the clock supplied to the processor core at a high level and waits until the central processing processor receives the second bus use permission signal and receives the second bus cycle end signal. When the central processing processor receives the second bus cycle end signal, the clock is lowered to a low level, the processor core ends the bus cycle, and the wait state is released.

本中央演算処理プロセッサが第2バスに対してデータのライトを行う際は、第2バスの使用を許可されているバスサイクルにて、内部データバス信号を第2データバスに対して出力する。但し第2データバス上でのデータの衝突を防ぐために、バスサイクルの先頭にあたるクロックサイクルにおいては、クロック信号がロウレベルの期間はデータを出力しない。   When the central processing processor writes data to the second bus, it outputs an internal data bus signal to the second data bus in a bus cycle in which use of the second bus is permitted. However, in order to prevent data collision on the second data bus, no data is output during a period when the clock signal is at a low level in the clock cycle corresponding to the head of the bus cycle.

本中央演算処理プロセッサが第2バスに対してデータのリードを行う際は、第2バスの使用を許可されているバスサイクルにて、第2データバス信号を内部データバスに入力する。プロセッサコアへのクロック信号の立ち下がりを基準として、プロセッサコアはデータを取得する。   When the central processing processor reads data from the second bus, the second data bus signal is input to the internal data bus in a bus cycle in which use of the second bus is permitted. The processor core acquires data on the basis of the falling edge of the clock signal to the processor core.

以下に第1バス調停回路及び第2バス調停回路の例を挙げ、バス調停のシステムについて説明する。第1バス調停回路の構成を図7に示す一方、第2バス調停回路の構成を図12に示す。   Hereinafter, an example of the first bus arbitration circuit and the second bus arbitration circuit will be described, and the bus arbitration system will be described. The configuration of the first bus arbitration circuit is shown in FIG. 7, while the configuration of the second bus arbitration circuit is shown in FIG.

図7に示す第1バス調停回路は、図示しない4つの通常のバスマスタA、B、C、Dと1つの特権的なバスマスタS(以下、特権バスマスタSという)の計5つのバスマスタからの第1バスに対するアクセスの調停を司るものである。この第1バス調停回路は、1つの特権バスマスタSからの第1バスの使用要求に対しては必ず次の1バスサイクルにおいて当該第1バスの使用許可を与えるものとしている。一方、他の4つの通常のバスマスタA、B、C、Dからの第1バスの使用要求に対しては優先順位情報に従って最も優先順位の高いバスマスタに対してのみ次の1バスサイクルにおいて使用許可を与えるように調停を行うものである。ここに特権バスマスタSとしてはDRAMリフレッシュ制御回路等が想定される一方、通常のバスマスタとしては前記の中央演算処理プロセッサ等が想定される。   The first bus arbitration circuit shown in FIG. 7 includes first normal bus masters A, B, C, D (not shown) and one privileged bus master S (hereinafter referred to as privileged bus master S). It is responsible for mediating access to the bus. The first bus arbitration circuit always grants the use permission of the first bus in the next one bus cycle in response to the use request of the first bus from one privileged bus master S. On the other hand, for the first bus use requests from the other four normal bus masters A, B, C, D, use is permitted in the next one bus cycle only for the bus master with the highest priority according to the priority information. Mediation to give Here, a DRAM refresh control circuit or the like is assumed as the privileged bus master S, while the central processing processor or the like is assumed as a normal bus master.

この第1バス調停回路においては、第1のアドレスバス及びリードライト信号、第1のデータバスからなる第1バスの調停を司り、内蔵するレジスタへは第1バスからアクセスされるものとなされている。バスサイクルはクロック信号の1サイクルに相当し、バスサイクル毎に調停が行われる。   In this first bus arbitration circuit, the first bus consisting of the first address bus, the read / write signal, and the first data bus is arbitrated, and the built-in registers are accessed from the first bus. Yes. The bus cycle corresponds to one cycle of the clock signal, and arbitration is performed every bus cycle.

上記第1バス調停回路は、図7に示すように、16個の固定優先順位情報格納手段(101〜116)、16個のプログラマブル優先順位情報格納手段(レジスタ)(101'〜116')、アドレスデコーダ(117)、固定/プログラマブル切替制御レジスタ(118)、バスサイクルカウンタ(119)、優先順位情報選択手段(セレクタ)(120)、使用許可信号生成手段(121)、データセレクタ(122)、3ステートバッファ(123、124)および代替アドレス発生手段(125)を備えている。   As shown in FIG. 7, the first bus arbitration circuit includes 16 fixed priority information storage means (101 to 116), 16 programmable priority information storage means (registers) (101 ′ to 116 ′), Address decoder (117), fixed / programmable switching control register (118), bus cycle counter (119), priority order information selection means (selector) (120), use permission signal generation means (121), data selector (122), A 3-state buffer (123, 124) and an alternative address generating means (125) are provided.

前記アドレスデコーダ(117)は、第1のアドレスバス及びリードライト信号のデコードを行い、各プログラマブル優先順位情報レジスタ(101'〜116')の選択信号、データセレクタ(122)の制御信号、3ステートバッファ(123)の制御信号を生成するものである。   The address decoder (117) decodes the first address bus and the read / write signal, selects signals from the programmable priority information registers (101 ′ to 116 ′), control signals from the data selector (122), three states A control signal for the buffer (123) is generated.

前記固定/プログラマブル切替制御レジスタ(118)は、固定優先順位情報格納手段(101〜116)とプログラマブル優先順位情報レジスタ(101'〜116')を切り換えて、固定優先順位情報又はプログラマブル優先順位情報のいずれかを選択するものである。   The fixed / programmable switching control register (118) switches between the fixed priority information storage means (101 to 116) and the programmable priority information register (101 ′ to 116 ′), so that the fixed priority information or the programmable priority information Either one is selected.

前記各プログラマブル優先順位情報レジスタ(101'〜116')は、各1組のプログラマブルな優先順位情報を格納するレジスタであり、第1バスにアクセスするプロセッサ等のバスマスタがこれらの情報を書き換えることできるようになされている。   Each of the programmable priority information registers (101 ′ to 116 ′) stores a set of programmable priority information, and a bus master such as a processor accessing the first bus can rewrite the information. It is made like that.

前記各固定優先順位情報格納手段(101〜116)は、各1組の固定優先順位情報を格納する手段であり、ワイヤードロジックにより構成されている。この情報は書き換え不能である。この例においては、これらの優先順位情報の値の大きさは2ビットであり、4つの優先順位の組み合わせを表わす。但し、この値の大きさは2ビットでなくとも良い。調停対象となるバスマスタの数、優先順位の組み合わせの数、回路規模を考慮し最適な値が用いられるべきである。   Each of the fixed priority order information storage means (101 to 116) is a means for storing a set of fixed priority order information, and is composed of wired logic. This information is not rewritable. In this example, the magnitude of the value of the priority information is 2 bits and represents a combination of four priorities. However, the magnitude of this value need not be 2 bits. The optimum value should be used in consideration of the number of bus masters to be arbitrated, the number of priority combinations, and the circuit scale.

また、この例においては、固定優先順位情報格納手段(101〜116)及びプログラマブル優先順位情報レジスタ(101'〜116')の数はともに16個であり、16バスサイクルを繰り返しの単位として調停が行われる。但し、この数は16でなくとも良い。調停対象となるバスマスタの数、及び各バスマスタへのバスサイクルの配分比率、回路規模を考慮し最適な値が用いられるべきである。   In this example, the fixed priority information storage means (101 to 116) and the programmable priority information registers (101 'to 116') are both 16, and arbitration is performed using 16 bus cycles as a repeating unit. Done. However, this number need not be 16. The optimum value should be used in consideration of the number of bus masters to be arbitrated, the distribution ratio of bus cycles to each bus master, and the circuit scale.

前記バスサイクルカウンタ(119)は、第1バスのバスサイクル数をカウントし、16バスサイクルを繰り返し単位とする現在値を指し示す。カウントの最大値は優先順位情報の組数と等しく設定されるべきである。   The bus cycle counter (119) counts the number of bus cycles of the first bus and indicates a current value with 16 bus cycles as a repeating unit. The maximum value of the count should be set equal to the number of sets of priority information.

前記セレクタ(120)は、上記バスサイクルカウンタ(119)が指し示すバスサイクルの現在値の情報から、16組の優先順位情報のうちの1組を選択する。   The selector (120) selects one set of 16 sets of priority order information from the current value information of the bus cycle indicated by the bus cycle counter (119).

前記使用許可信号生成手段(121)は、バスマスタA、バスマスタB、バスマスタC、バスマスタDの4つの通常のバスマスタと、1つの特権バスマスタSからの第1バスの使用要求信号を受け付け、前記セレクタ(120)により選択された優先順位情報から最も優先順位の高いバスマスタに対して第1バスの使用許可信号を生成し、これを当該バスマスタに対して発行する。   The use permission signal generating means (121) receives the first bus use request signals from the four normal bus masters of the bus master A, the bus master B, the bus master C, and the bus master D and the one privileged bus master S, and the selector ( The first bus use permission signal is generated for the bus master with the highest priority from the priority information selected in step 120) and issued to the bus master.

ここで特権バスマスタSからの第1バス使用要求信号を受け付けた場合、他のバスマスタA、B、C、Dからの第1バス使用要求信号やこれらバスマスタA、B、C、Dの優先順位情報に拘わらず、無条件で次の1バスサイクルの使用許可が特権バスマスタSに与えられる。但し、この発明においてはアクセス対象となるバスマスタの数や特権バスマスタの有無はこの実施の態様に限定されるものではない。   Here, when the first bus use request signal from the privileged bus master S is received, the first bus use request signal from the other bus masters A, B, C, D and the priority information of these bus masters A, B, C, D Regardless, the use permission of the next one bus cycle is unconditionally given to the privileged bus master S. However, in the present invention, the number of bus masters to be accessed and the presence or absence of a privileged bus master are not limited to this embodiment.

前記データセレクタ(122)は、プロセッサ等のバスマスタより第1バスを介して各レジスタ(118,101'〜116')の値の読み出しが行われる際に、アドレスデコーダ(117)にて生成された制御信号にしたがって、読み出すデータの選択を行うものである。   The data selector (122) is a control signal generated by the address decoder (117) when the value of each register (118, 101 ′ to 116 ′) is read from a bus master such as a processor via the first bus. The data to be read is selected according to the above.

前記3ステートバッファ(123)は、アドレスデコーダ(117)にて生成された制御信号によって、データセレクタ(122)より送られるレジスタの値を第1のデータバスに出力するか否かを制御するものである。   The 3-state buffer (123) controls whether or not to output the register value sent from the data selector (122) to the first data bus according to the control signal generated by the address decoder (117). It is.

もう一方の前記3ステートバッファ(124)は、バスマスタからのバス使用要求信号が全く無い場合に、前記代替アドレス発生手段(125)から発せられる代替アドレスを第1のアドレスバス及びリードライト信号に出力するように作用する。   The other three-state buffer (124) outputs an alternative address issued from the alternative address generation means (125) to the first address bus and read / write signal when there is no bus use request signal from the bus master. Acts like

次に、上述した第1バス調停回路の調停例を説明する。以下に示す調停例においては、説明を簡潔にする目的で、バスマスタAおよびバスマスタBのみからバス使用要求信号が発行され、バスマスタCおよびバスマスタDからはバス使用要求信号が発行されないものとしている。即ち調停の対象をバスマスタAおよびバスマスタBの2つに限定している。   Next, an arbitration example of the first bus arbitration circuit described above will be described. In the arbitration example shown below, for the purpose of simplifying the explanation, it is assumed that the bus use request signal is issued only from the bus master A and the bus master B, and the bus use request signal is not issued from the bus master C and the bus master D. That is, arbitration is limited to two bus masters A and B.

第1バスの1バスサイクルはクロック信号の1サイクルに相当する。バスサイクルカウンタ(119)はバスサイクル毎に値をインクリメントし、0から15までの値を周期的にカウントする。そして1バスサイクル毎に、バスサイクルカウンタ(119)の値に1対1で対応する優先順位情報格納手段(101,101'〜116,116')のいずれかが選択され、選択された格納手段に格納されていた優先順位情報が取り出される。この例においては、優先順位情報は2ビットの大きさを持つもので、0、1、2、3の4つの値のうちのいずれか1を示す。   One bus cycle of the first bus corresponds to one cycle of the clock signal. The bus cycle counter (119) increments the value every bus cycle and periodically counts values from 0 to 15. For each bus cycle, one of the priority information storage means (101, 101 'to 116, 116') corresponding to the value of the bus cycle counter (119) on a one-to-one basis is selected and stored in the selected storage means. The priority information is retrieved. In this example, the priority information has a size of 2 bits, and indicates any one of four values of 0, 1, 2, and 3.

バスサイクルカウンタの値に対応する上記優先順位情報の値の設定例を、図8に示す。この優先順位情報の設定は、固定の優先順位情報およびプログラマブルな優先順位情報のいずれの場合にも適用可能である。また優先順位情報の値0、1、2、3とこれに対応するバスマスタA、B、C、Dの優先順位の序列の設定例を図8に示す。   FIG. 8 shows a setting example of the priority information value corresponding to the bus cycle counter value. This setting of priority information can be applied to both fixed priority information and programmable priority information. FIG. 8 shows an example of setting the priority order values 0, 1, 2, and 3 and the priority order of the bus masters A, B, C, and D corresponding thereto.

図10に調停例その1を示し、図11に調停例その2を示す。図10に示す調停例その1および図11に示す調停例その2は、互いに一部異なる設計方式によるものである。両者の相違点は、バスマスタがバスの使用許可を得た際に、即座に自らの発行するバスの使用要求信号にそれを反映可能であるか否か、という点にある。   FIG. 10 shows a first arbitration example, and FIG. 11 shows a second arbitration example. The arbitration example 1 shown in FIG. 10 and the arbitration example 2 shown in FIG. 11 are based on partially different design methods. The difference between the two is that, when the bus master obtains the use permission of the bus, it can be immediately reflected in the bus use request signal issued by itself.

図10に示す調停例その1を実現する設計方式においては、バスマスタはバスの使用許可を得たサイクル内で、即座にバスの使用要求信号にそれを反映させることが可能であるため、同一のバスマスタが連続してバス使用要求信号を行うことが許されている。   In the design method for realizing the arbitration example 1 shown in FIG. 10, the bus master can immediately reflect it in the bus use request signal within the cycle in which the bus use permission is obtained. The bus master is allowed to continuously issue a bus use request signal.

一方、図11に示す調停例その2を実現する設計方式においては、バスマスタはバスの使用許可を得たサイクル内では、バスの使用要求信号にそれを反映させることができないため、バス調停回路はバスの使用許可を与えたサイクルでは、使用許可を与えたバスマスタからの使用要求は無視している。従って、調停例その2の設計方式においては、同一のバスマスタが連続してバスの使用権を得ることはできない。しかしながら、調停例その1の設計方式に比べて設計が容易であり、特に高速での調停が必要とされる場合には有効な設計手法である。   On the other hand, in the design method for realizing the arbitration example 2 shown in FIG. 11, the bus master circuit cannot reflect the bus use request signal within the cycle in which the bus use permission is obtained. In the cycle in which the use permission of the bus is given, the use request from the bus master giving the use permission is ignored. Therefore, in the arbitration example 2 design method, the same bus master cannot obtain the right to use the bus continuously. However, it is easier to design than the design method of the arbitration example 1 and is an effective design method especially when arbitration at high speed is required.

以下に第1バス調停例その1およびその2に共通の点を先ず説明する。   In the following, the points common to the first bus arbitration examples 1 and 2 will be described first.

いずれのバスマスタもバス使用要求信号を発行していない場合には、バス調停回路はいずれのバスマスタにもバス使用許可信号を発行しない。例えば最初のバスサイクル(701,801)においては、バスマスタA、バスマスタBのいずれもバス使用要求信号を発行していないので、バス調停回路はいずれのバスマスタに対しても次のバスサイクル(702,802)ではバスの使用を許可しない。   When no bus master issues a bus use request signal, the bus arbitration circuit does not issue a bus use permission signal to any bus master. For example, since neither bus master A nor bus master B issues a bus use request signal in the first bus cycle (701, 801), the bus arbitration circuit does not issue a bus in the next bus cycle (702, 802) to any bus master. Is not allowed.

いずれか一方のバスマスタのみがバス使用要求信号を発行している場合には、バス調停回路はそのバスマスタに対してバス使用要求信号を発行する。例えば第2番目のバスサイクル(702,802)においてはバスマスタAのみがバス使用要求信号を発行しているので、次のバスサイクル(703,803)においてバスマスタAに使用許可されている。   When only one of the bus masters has issued a bus use request signal, the bus arbitration circuit issues a bus use request signal to that bus master. For example, since only the bus master A issues a bus use request signal in the second bus cycle (702, 802), the use is permitted to the bus master A in the next bus cycle (703, 803).

2つ以上のバスマスタが同時にバス使用要求信号を発行している場合には、バス調停回路は優先順位情報の表す優先順位序列に従って優先順位の高い方のバスマスタを選択し、該バスマスタに対してバス使用許可信号を発行する。例えば第6番目のバスサイクル(706,806)においては、バスマスタAとバスマスタBが同時にバス使用要求信号を発行しており、バスマスタBがバスマスタAより高い優先順位を設定されているので、次のバスサイクル(707,807)ではバスマスタBが使用許可されている。   When two or more bus masters issue a bus use request signal at the same time, the bus arbitration circuit selects a bus master having a higher priority according to the priority order represented by the priority information, and the bus master selects the bus master. Issue a usage permission signal. For example, in the sixth bus cycle (706, 806), the bus master A and the bus master B issue a bus use request signal at the same time, and the bus master B has a higher priority than the bus master A. In (707, 807), use of the bus master B is permitted.

次に前記両調停例の相違点を説明する。   Next, differences between the two examples of arbitration will be described.

調停例その1においては、あるバスマスタがバスの使用許可を得たサイクルにおいて使用要求信号の発行を終了した場合であって、当該サイクルにおいて別のバスマスタが使用要求信号を発行している場合には、当該別のバスマスタのみが使用要求していることとなる。従って、当該別のバスマスタAが次の1バスサイクルにおいてバスの使用許可を得る。例えば、図10に示すようにバスマスタAがバスの使用許可を得た第3番のバスサイクル(703)において使用要求信号の発行を終了しており、当該バスサイクル(703)においてバスマスタBが使用要求信号を発行しているので、バスマスタBのみが使用要求していることとなり、次の1バスサイクル(704)ではバスマスタBが使用許可されている。   In the first arbitration example, when a bus master has finished issuing a use request signal in a cycle in which use of the bus has been granted, and another bus master has issued a use request signal in the cycle. Only the other bus master requests use. Therefore, the other bus master A obtains a bus use permission in the next one bus cycle. For example, as shown in FIG. 10, the bus master A has finished issuing the use request signal in the third bus cycle (703) where the bus use permission has been obtained, and the bus master B uses it in the bus cycle (703). Since the request signal is issued, only the bus master B requests use, and the bus master B is permitted to use in the next one bus cycle (704).

これに対し調停例その2では、あるバスマスタがバスの使用許可を得たバスサイクルにおいて使用要求信号の発行を終了していない場合であって、当該バスサイクルにおいて別のバスマスタが使用要求信号を発行している場合には、使用許可を得ているバスマスタからの使用要求を無視して、当該別のバスマスタからの使用要求のみを受け付ける。従って、当該別のバスマスタが次の1バスサイクルにおいてバスの使用許可を得る。例えば、バスマスタAがバスの使用許可を得た第3番のバスサイクル(803)において使用要求信号の発行を終了していないが、当該バスサイクル(803)においてバスマスタBが使用要求信号を発行している場合には、このバスサイクル(803)ではバスマスタAの使用要求を無視して、バスマスタBからの使用要求のみを受け付ける。従って、次の1バスサイクル(804)ではバスマスタBが使用許可されている。   On the other hand, in the second arbitration example, when a certain bus master has not finished issuing a use request signal in a bus cycle in which permission to use the bus is obtained, another bus master issues a use request signal in the bus cycle. In such a case, the use request from the bus master having the use permission is ignored, and only the use request from the other bus master is accepted. Therefore, the other bus master obtains the bus use permission in the next one bus cycle. For example, although the bus master A has not finished issuing the use request signal in the third bus cycle (803) in which the bus use permission has been obtained, the bus master B issues the use request signal in the bus cycle (803). In this case, in this bus cycle (803), the use request of the bus master A is ignored, and only the use request from the bus master B is accepted. Accordingly, the bus master B is permitted to use in the next one bus cycle (804).

また調停例その1では、同一のバスマスタが連続してバス使用要求を行った場合(707,708)、同一のバスマスタに対して連続して2バスサイクル以上の使用許可を与えることが可能である。例えばバスマスタAは第7および第8番目のバスサイクル(707,708)において連続してバスの使用要求をしており、連続して次の2バスサイクル(708,709)において使用許可されている。   Further, in the arbitration example 1, when the same bus master makes a bus use request continuously (707, 708), it is possible to continuously grant use permission for two or more bus cycles to the same bus master. For example, the bus master A requests use of the bus continuously in the seventh and eighth bus cycles (707, 708), and is continuously permitted in the next two bus cycles (708, 709).

これに対して調停例その2では、バスマスタに使用許可を与えたバスサイクル(808)においては、そのバスマスタからの使用要求信号を無視するので、同一のバスマスタに対し、連続した2バスサイクル以上の使用許可を与えることはできない。例えばバスマスタAは第8番目のバスサイクル(808)において使用許可されているので、当該バスサイクル(808)における使用要求信号は無視され、次のバスサイクル(809)では使用許可されていない。   On the other hand, in the arbitration example 2, the use request signal from the bus master is ignored in the bus cycle (808) for which the use permission is given to the bus master. No license can be granted. For example, since the bus master A is permitted in the eighth bus cycle (808), the use request signal in the bus cycle (808) is ignored and is not permitted in the next bus cycle (809).

次に第2バスに対する複数のバスマスタからのアクセスを調停する第2バス調停回路について説明する。この調停回路は、4つのバスマスタの調停を司るものであり、第2のアドレスバス及びリードライト信号、第2のデータバスからなる第2バスの調停を司り、内蔵するレジスタへは第1のバスからアクセスされる。バスサイクルはクロック信号の2〜8サイクル(但し整数のみ)に相当し、バスサイクル毎に調停を行なう。   Next, a second bus arbitration circuit that arbitrates access from a plurality of bus masters to the second bus will be described. This arbitration circuit controls the arbitration of the four bus masters, controls the second bus consisting of the second address bus, the read / write signal, and the second data bus, and the built-in register has the first bus. It is accessed from. The bus cycle corresponds to 2 to 8 cycles (only an integer) of the clock signal, and arbitration is performed every bus cycle.

図12に第2バス調停回路の要部の概略を示す。   FIG. 12 shows an outline of a main part of the second bus arbitration circuit.

この第2バス調停回路は、アドレスデコーダ(217)、固定/プログラマブル切替制御レジスタ(218)、8個の固定優先順位情報格納手段(201〜208)、8個のプログラマブル優先順位情報レジスタ(201'〜208')、バスサイクルカウンタ(219)、セレクタ(220)、使用許可信号生成手段(221)、データセレクタ(222)、3ステートバッファ(223,224)、代替アドレス発生手段(225)からなる。   The second bus arbitration circuit includes an address decoder (217), a fixed / programmable switching control register (218), eight fixed priority information storage means (201 to 208), and eight programmable priority information registers (201 ′ 208 '), a bus cycle counter (219), a selector (220), a use permission signal generating means (221), a data selector (222), a three-state buffer (223, 224), and an alternative address generating means (225).

以下、第1バス調停回路との相違点を示す。   Hereinafter, differences from the first bus arbitration circuit will be described.

第2バス調停回路では第2バスに対する各バスマスタのアクセスの調停を目的としているので、使用許可信号生成手段(221)は、各バスマスタからは第2バス使用要求信号を受け付け、各バスマスタに対し第2バスの使用許可信号を発行する。また、調停の対象となるバスマスタはバスマスタA、バスマスタB、バスマスタC、バスマスタDの4つである。これらのバスマスタとしては、前述の中央演算処理プロセッサ等が想定される。   Since the second bus arbitration circuit is intended to arbitrate access of each bus master to the second bus, the use permission signal generating means (221) receives the second bus use request signal from each bus master and Issue a bus 2 permission signal. There are four bus masters, bus master A, bus master B, bus master C, and bus master D, to be arbitrated. As these bus masters, the aforementioned central processing processor or the like is assumed.

固定優先順位情報格納手段(201〜208)およびプログラマブル優先順位情報レジスタ(201'〜208')共に、その数は8個である。これに伴い、アドレスデコーダ(217)、バスサイクルカウンタ(219)、セレクタ(220)、データセレクタ(222)の回路規模も第1バス調停回路と比べて小さいものとなる。   The number of the fixed priority information storage means (201 to 208) and the programmable priority information register (201 ′ to 208 ′) is eight. As a result, the circuit scale of the address decoder (217), bus cycle counter (219), selector (220), and data selector (222) is also smaller than that of the first bus arbitration circuit.

但し、固定優先順位情報格納手段(201〜208)およびプログラマブル優先順位情報レジスタ(201'〜208')の数は8個でなくとも良い。調停対象となるバスマスタの数、及び各バスマスタへのバスサイクルの配分比率、回路規模を考慮し最適な値が用いられるべきである。   However, the number of fixed priority information storage means (201 to 208) and programmable priority information registers (201 ′ to 208 ′) need not be eight. The optimum value should be used in consideration of the number of bus masters to be arbitrated, the distribution ratio of bus cycles to each bus master, and the circuit scale.

3ステートバッファ(224)は、バスマスタA、B、C、Dからの要求信号が全く無い場合に、代替アドレス発生手段(225)から発せられる代替アドレスを第2のアドレスバス及びリードライト信号に出力する。   When there is no request signal from the bus masters A, B, C, and D, the 3-state buffer (224) outputs the alternative address issued from the alternative address generation means (225) to the second address bus and the read / write signal. To do.

図13に第2バス調停例を示す。この調停例においても、説明を簡潔にするために、バスマスタCおよびバスマスタDからはバス使用要求信号が発行されないものとし、調停の対象をバスマスタAおよびバスマスタBの2つに限定している。   FIG. 13 shows a second bus arbitration example. Also in this arbitration example, in order to simplify the explanation, it is assumed that the bus use request signal is not issued from the bus master C and the bus master D, and the target of arbitration is limited to the bus master A and the bus master B.

前述の様に、第2バスは大きく2つの領域を持ち、それぞれに異なったバスサイクルを設定されることが可能である。この例ではバスマスタAがアクセスする領域の1バスサイクルはクロック信号の4サイクル、バスマスタBがアクセスする領域の1バスサイクルはクロック信号の2サイクルに相当する。   As described above, the second bus has two areas, and different bus cycles can be set for each of them. In this example, one bus cycle in the area accessed by the bus master A corresponds to four clock signal cycles, and one bus cycle in the area accessed by the bus master B corresponds to two clock signal cycles.

但し、いずれのバスマスタもバスを使用していない期間は、1バスサイクルはクロック信号の1サイクルに相当する。   However, during the period when no bus master uses the bus, one bus cycle corresponds to one cycle of the clock signal.

バス使用許可信号は、バスの使用を許可するバスマスタに対し、1バスサイクルの最初のクロック信号の1サイクル期間のみハイレベルを示す。バス使用許可信号を受領したバスマスタは、このバスサイクルが終了するまでの期間のバス使用を許可される。   The bus use permission signal indicates a high level only for one cycle period of the first clock signal of one bus cycle for the bus master permitting use of the bus. The bus master that has received the bus use permission signal is permitted to use the bus during the period until this bus cycle is completed.

バスサイクル終了信号は、1バスサイクルの最後のクロック信号の1サイクル期間のみハイレベルを示し、これ以外の期間はロウレベルを示す。いずれのバスマスタもバスを使用していない期間はハイレベルを出力される。この信号は、全てのバスマスタに対しても共通の信号である。   The bus cycle end signal indicates a high level only during one cycle period of the last clock signal of one bus cycle, and indicates a low level during other periods. A high level is output during a period when no bus master uses the bus. This signal is common to all bus masters.

バスサイクルカウンタ(219)は、バスサイクル毎に値をインクリメントし、0から7の値を周期的にカウントする。   The bus cycle counter (219) increments the value every bus cycle and periodically counts values from 0 to 7.

バスサイクル毎に、バスサイクルカウンタ(219)の値に1対1で対応する優先順位情報の値が選択される。この例においては、優先順位情報は2ビットの大きさを持ち、0〜3の4つの値のうちのいずれかを示す。   For each bus cycle, the value of the priority information corresponding to the value of the bus cycle counter (219) on a one-to-one basis is selected. In this example, the priority information has a size of 2 bits and indicates one of four values 0 to 3.

この例における優先順位情報の内容は、図14に示されている。ここでは、これが固定の優先順位情報であるか、プログラマブルな優先順位情報であるかは特に規定されていないが、どちらの場合にも適用可能である。   The contents of the priority order information in this example are shown in FIG. Here, it is not particularly specified whether this is fixed priority information or programmable priority information, but it is applicable to either case.

優先順位情報の値は、これに対応するバスマスタの優先順位の序列を表す。ここでも第1バスの調停例と同様の図8に示す設定例が用いられている。   The value of the priority order information represents an order of the priority order of the bus master corresponding thereto. Here, the setting example shown in FIG. 8 similar to the arbitration example of the first bus is used.

いずれのバスマスタも第2バス使用要求信号を発行していない場合には、第2バス調停回路はいずれのバスマスタにもバス使用許可信号を発行しない。例えば最初のバスサイクル(901)においては、バスマスタA、バスマスタBのいずれもバス使用要求信号を発行していないので、バス調停回路はいずれのバスマスタに対しても次のバスサイクル(902)ではバスの使用を許可しない。   When no bus master issues a second bus use request signal, the second bus arbitration circuit does not issue a bus use permission signal to any bus master. For example, in the first bus cycle (901), neither the bus master A nor the bus master B issues a bus use request signal, so the bus arbitration circuit does not issue any bus master to the bus cycle (902) in the next bus cycle (902). Is not allowed.

いずれか一方のバスマスタのみがバス使用要求信号を発行している場合には、バス調停回路はそのバスマスタに対してバス使用要求信号を受け付けた次のサイクルでバス使用許可信号を発行し、バスサイクル終了信号を発行するまで当該バスサイクルの使用許可を与える。例えば第2番目のバスサイクル(902)においてはバスマスタAのみがバス使用要求信号を発行しており、次のバスサイクル(903)の途中においてバス使用終了信号が発行されているので、当該バスサイクル(903)の全ての期間においてバスマスタAに使用許可されている。   When only one of the bus masters has issued a bus use request signal, the bus arbitration circuit issues a bus use permission signal to the bus master in the next cycle after receiving the bus use request signal, and the bus cycle The use permission of the bus cycle is given until the end signal is issued. For example, in the second bus cycle (902), only the bus master A issues a bus use request signal, and a bus use end signal is issued in the middle of the next bus cycle (903). The bus master A is permitted to use in all periods of (903).

2つ以上のバスマスタが同時にバス使用要求信号を発行している場合には、バス調停回路は優先順位情報の表す優先順位序列に従って優先順位の高い方のバスマスタを選択し、該バスマスタに対してバス使用許可信号を発行する。例えば第6番目のバスサイクル(906)においては、バスマスタAとバスマスタBが同時にバス使用要求信号を発行しており、バスマスタBがバスマスタAより高い優先順位を設定されているので、次のバスサイクル(907)ではバスマスタBが使用許可されている。   When two or more bus masters issue a bus use request signal at the same time, the bus arbitration circuit selects a bus master having a higher priority according to the priority order represented by the priority information, and the bus master selects the bus master. Issue a usage permission signal. For example, in the sixth bus cycle (906), the bus master A and the bus master B issue a bus use request signal at the same time, and the bus master B has a higher priority than the bus master A. In (907), the bus master B is permitted to use.

この例においては、バスマスタはバス使用許可信号をクロック信号の立ち下がりで検知し、その結果を自らの発行するバス使用要求信号に反映している。この例においては、バスマスタに与えられる最短のバスサイクルがクロック信号の2サイクルに相当するために、バスマスタはバスサイクルの終了までに前記動作を完了可能である。従って、同一のバスマスタが連続してバス使用要求を行うことが許されている。   In this example, the bus master detects the bus use permission signal at the falling edge of the clock signal, and reflects the result in the bus use request signal issued by itself. In this example, since the shortest bus cycle given to the bus master corresponds to two cycles of the clock signal, the bus master can complete the operation by the end of the bus cycle. Therefore, the same bus master is permitted to make bus use requests continuously.

あるバスマスタが使用を許可されているバスサイクル(908)の終了時に、同じバスマスタがバス使用要求信号を発行している場合、バス調停回路は同じバスマスタに対し、次のバスサイクル(909)の使用許可を再び与える。   If the same bus master issues a bus use request signal at the end of a bus cycle (908) that is permitted to be used by a bus master, the bus arbitration circuit uses the next bus cycle (909) for the same bus master. Give permission again.

以下、本発明に係る高速マルチプロセッサについて説明する。   The high-speed multiprocessor according to the present invention will be described below.

図15に高速マルチプロセッサの要部の概略を示す。本実施例にかかるこの高速マルチプロセッサは、1つの中央演算処理プロセッサ(バスマスタ)(1301)、1つのグラフィック処理プロセッサ(バスマスタ)(1302)、1つのサウンド処理プロセッサ(バスマスタ)(1303)、1つのダイレクトメモリ転送(DMA)制御プロセッサ(バスマスタ)(1304)、内部メモリ(バススレーブ)(1305)、第1バス調停回路(1306)、第2バス調停回路(1307)、入出力制御回路(バススレーブ)(1308)、タイマ回路(バススレーブ)(1309)、アナログ/デジタル(A/D)コンバータ(バススレーブ)(1310)、PLL回路((1311)、クロックドライバ(1312)、低電圧検出回路(1313)、外部メモリインターフェース回路(1314)を有し、必要に応じてDRAMリフレッシュ制御回路(バスマスタ)(1315)を有する。   FIG. 15 shows an outline of the main part of the high-speed multiprocessor. This high-speed multiprocessor according to this embodiment includes one central processing processor (bus master) (1301), one graphic processing processor (bus master) (1302), one sound processing processor (bus master) (1303), one Direct memory transfer (DMA) control processor (bus master) (1304), internal memory (bus slave) (1305), first bus arbitration circuit (1306), second bus arbitration circuit (1307), input / output control circuit (bus slave) ) (1308), timer circuit (bus slave) (1309), analog / digital (A / D) converter (bus slave) (1310), PLL circuit ((1311), clock driver (1312), low voltage detection circuit ( 1313), having an external memory interface circuit (1314) and, if necessary, a DRAM refresh control circuit (bus master) (1315) Have.

また、第1のアドレスバス及びリードライト信号(1316)と第1のデータバス(1317)が高速な第1バスを構成し、第2のアドレスバス及び第2のリードライト信号(1318)と第2のデータバス(1319)が低速な第2バスを構成している。   The first address bus and read / write signal (1316) and the first data bus (1317) constitute a high-speed first bus, and the second address bus and second read / write signal (1318) and the first data bus (1318). Two data buses (1319) constitute a low-speed second bus.

第2のアドレスバス及びリードライト信号(1318)は外部アドレスバス及びリードライト信号(1320)に、第2のデータバス(1319)は外部データバス(1321)に、それぞれ外部メモリインターフェース回路(1314)を通じて接続されている。   The second address bus and read / write signal (1318) are connected to the external address bus and read / write signal (1320), the second data bus (1319) is connected to the external data bus (1321), and the external memory interface circuit (1314). Connected through.

本マルチプロセッサの外部には、1つ以上の外部リードオンリーメモリ(ROM)(バススレーブ)(1322)、必要に応じて1つ以上の外部ランダムアクセスメモリ(RAM)(バススレーブ)(1323)、水晶振動子(1324)により構成される発振回路、及び必要に応じてスタティックメモリ(SRAM)のデータ保持のためのバッテリ(1325)が必要とされる。   External to the multiprocessor is one or more external read only memory (ROM) (bus slave) (1322), one or more external random access memory (RAM) (bus slave) (1323) if necessary, An oscillation circuit constituted by a crystal resonator (1324) and a battery (1325) for holding data in a static memory (SRAM) are required as necessary.

本マルチプロセッサが備える中央演算処理プロセッサ(1301)は、前記中央演算処理プロセッサがそのまま用いられている。   The central processing processor (1301) provided in the present multiprocessor is the same as the central processing processor.

本マルチプロセッサが備える第1バス調停回路(1306)と第2バス調停回路(1307)は、前記第1及び第2調停回路がそのまま用いられている。   As the first bus arbitration circuit (1306) and the second bus arbitration circuit (1307) provided in the multiprocessor, the first and second arbitration circuits are used as they are.

図15中に示される第1バス調停信号は、第1バス使用要求信号、第1バスの使用許可信号からなり、第2バス調停信号は、第2バス使用要求信号、第2バス使用許可信号、第2バスのバスサイクル終了信号からなる。   The first bus arbitration signal shown in FIG. 15 includes a first bus use request signal and a first bus use permission signal, and the second bus arbitration signal includes a second bus use request signal and a second bus use permission signal. The bus cycle end signal of the second bus.

ここで、バスマスタA、バスマスタB、バスマスタC、バスマスタDは、夫々サウンド処理プロセッサ、(1303)、グラフィック処理プロセッサ(1302)、DMA制御プロセッサ(1304)、中央演算処理プロセッサ(1301)に相当し、特権バスマスタはDRAMリフレッシュ制御回路(1315)に相当する。   Here, the bus master A, the bus master B, the bus master C, and the bus master D correspond to a sound processing processor (1303), a graphic processing processor (1302), a DMA control processor (1304), and a central processing processor (1301), respectively. The privileged bus master corresponds to the DRAM refresh control circuit (1315).

本マルチプロセッサを構成する各部の機能について説明する。   The function of each part constituting this multiprocessor will be described.

中央演算処理プロセッサ(1301)は、メモリに格納されたプログラムに従い、各種演算やシステム全体の制御を行う。   The central processing processor (1301) performs various operations and controls the entire system according to a program stored in the memory.

グラフィック処理プロセッサ(1302)は、グラフィックデータの合成、カラーテレビジョン受像機に合わせた映像信号の生成を行う。グラフィックデータは、テレビジョン受像機のスクリーンを全て覆う大きさを持つ矩形の画素集合の2次元配列からなるグラフィック要素と、スクリーン上のいずれの位置にも配置可能な1つの矩形の画素集合からなるグラフック要素から合成される。ここでは、前者をテキストスクリーン、後者をスプライトと呼称し、それぞれの矩形の画素集合を共にキャラクタと呼称する。本実施例に用いられたものは最大で2枚のテキストスクリーンと最大で256個のスプライトが表示可能である。合成されたグラフックデータより、NTSC規格及びPAL規格に準ずる受像機に表示可能な映像信号が生成される。   The graphic processor (1302) synthesizes graphic data and generates a video signal suitable for the color television receiver. The graphic data consists of a graphic element composed of a two-dimensional array of rectangular pixel sets having a size that covers the entire screen of the television receiver, and one rectangular pixel set that can be placed at any position on the screen. Synthesized from graphic elements. Here, the former is called a text screen, the latter is called a sprite, and each rectangular pixel set is called a character. The one used in this embodiment can display a maximum of two text screens and a maximum of 256 sprites. A video signal that can be displayed on a receiver conforming to the NTSC standard and the PAL standard is generated from the synthesized graphic data.

サウンド処理プロセッサ(1303)は、サウンドデータの合成、音声信号の生成を行う。サウンドデータは、基本の音色となるPCM(パルスコードモジュレーション)データに対し、ピッチ変換及び振幅変調を行い合成される。振幅変調では、中央演算処理プロセッサ(1301)によって指示されるボリューム制御の他に、ピアノ、ドラムといった楽器の波形を再現するためのエンベロープ制御の機能が用意される。   The sound processor (1303) synthesizes sound data and generates an audio signal. Sound data is synthesized by performing pitch conversion and amplitude modulation on PCM (pulse code modulation) data, which is a basic timbre. In amplitude modulation, in addition to volume control instructed by the central processing processor (1301), an envelope control function for reproducing the waveform of an instrument such as a piano or drum is prepared.

DMA制御プロセッサ(1304)は、外部ROMもしくは外部RAMから内部メモリへのデータ転送を司る。   The DMA control processor (1304) manages data transfer from the external ROM or external RAM to the internal memory.

内部メモリ(1305)は、マスクROM、スタティックメモリ(SRAM)、ダイナミックメモリ(DRAM)のうち、必要なものを備える。SRAMのバッテリによるデータ保持が必要とされる場合、本マルチプロセッサ外部にバッテリ(1325)が必要とされる。DRAMが搭載される場合、定期的にリフレッシュと呼ばれる記憶内容保持のための動作が必要とされる。   The internal memory (1305) includes a necessary one of mask ROM, static memory (SRAM), and dynamic memory (DRAM). When data retention by the SRAM battery is required, a battery (1325) is required outside the multiprocessor. When a DRAM is installed, an operation for holding stored contents called refresh is required periodically.

第1バス調停回路(1306)は、第1バスに接続されている各バスマスタからの第1バス使用要求信号を受け付け、第1バスの優先順位情報に従って調停を行い、各バスマスタへのバスの使用許可信号を発行する。本実施例での第1バスのバスサイクルは、クロック信号の1サイクルに相当するので、バス調停回路は前記の動作をクロック信号の1サイクル毎に行う。   The first bus arbitration circuit (1306) receives a first bus use request signal from each bus master connected to the first bus, performs arbitration according to the priority information of the first bus, and uses the bus to each bus master. Issue permission signal. Since the bus cycle of the first bus in this embodiment corresponds to one cycle of the clock signal, the bus arbitration circuit performs the above operation every cycle of the clock signal.

第2バス調停回路(1307)は、第2バスに接続されている各プロセッサからの第2バスの使用要求信号を受け付け、第2バスの優先順位情報に従って第2バスの調停を行い、プロセッサへのバス使用許可信号を発行する。本実施例での第2バスのバスサイクルは、クロック信号の2〜8サイクルに相当するので、バス調停回路は上記の動作をバスサイクル毎に行うと共に、バスサイクル終了信号を発行し、プロセッサにバスサイクルの終了を知らせる。   The second bus arbitration circuit (1307) receives a second bus use request signal from each processor connected to the second bus, performs arbitration of the second bus according to the priority information of the second bus, and sends it to the processor. The bus use permission signal is issued. Since the bus cycle of the second bus in this embodiment corresponds to 2 to 8 cycles of the clock signal, the bus arbitration circuit performs the above operation every bus cycle and issues a bus cycle end signal to the processor. Signals the end of the bus cycle.

入出力制御回路は(1308)は、人間からの入力を受け付ける外部入力装置や外部の半導体素子との通信などに主に用いられる。   The input / output control circuit (1308) is mainly used for communication with an external input device that accepts an input from a human or an external semiconductor element.

タイマ回路(1309)は、プログラムが設定した時間間隔に基づき、中央演算処理プロセッサ(1301)に対し、割り込み要求信号を発生する機能を有する。   The timer circuit (1309) has a function of generating an interrupt request signal to the central processing processor (1301) based on the time interval set by the program.

A/Dコンバータ(1310)は、アナログレベルの入力電圧信号をデジタル数値へと変換する。   The A / D converter (1310) converts an analog level input voltage signal into a digital numerical value.

PLL回路(1311)は、フェイズロックドループ(PLL)により、構成され、プロセッサ外部の水晶振動子(1324)より得られる正弦波信号をM/N倍(M、Nは整数)した高周波クロック信号を生成する。   The PLL circuit (1311) is configured by a phase-locked loop (PLL), and a high-frequency clock signal obtained by M / N times (M and N are integers) a sine wave signal obtained from a crystal resonator (1324) outside the processor. Generate.

クロックドライバ(1312)は、PLL回路より受け取った高周波信号を、各機能ブロックへのクロック信号を供給するのに充分な信号強度へと増幅する。   The clock driver (1312) amplifies the high frequency signal received from the PLL circuit to a signal strength sufficient to supply a clock signal to each functional block.

低電圧検出回路(1313)は、電源電圧を監視し、電源電圧が定められた一定電圧以下の時に、PLL回路のリセット、その他のシステム全体のリセットを制御する信号を発行する。また、本プロセッサ内部または外部にSRAMが設けられていて、なおかつSRAMのバッテリによるデータ保持が要求される場合、電源電圧が定められた一定電圧以下の時に、バッテリバックアップ制御信号を発行する機能を有する。   The low voltage detection circuit (1313) monitors the power supply voltage, and issues a signal for controlling reset of the PLL circuit and other system reset when the power supply voltage is equal to or lower than a predetermined voltage. In addition, when an SRAM is provided inside or outside the processor and data retention by the battery of the SRAM is required, it has a function of issuing a battery backup control signal when the power supply voltage is lower than a predetermined voltage. .

外部メモリインターフェース回路(1314)は、第2バスを外部バスに接続するための機能、第2バスサイクル長制御レジスタ、メモリマップモード制御レジスタを有する。   The external memory interface circuit (1314) has a function for connecting the second bus to the external bus, a second bus cycle length control register, and a memory map mode control register.

本高速マルチプロセッサには2種類のメモリマップモード存在し、制御レジスタにより切替が可能である。いずれのメモリマップモードにおいても、外部バスの空間はROM領域とROM/RAM領域の大きく二つに分けられており、それぞれに異なる1バスサイクルのクロック数を指定することが可能である。ROM領域は、前記の第2バス領域Aに、ROM/RAM空間は前記の第2バス領域Bに相当する。   This high-speed multiprocessor has two types of memory map modes and can be switched by a control register. In any memory map mode, the space of the external bus is roughly divided into two areas, a ROM area and a ROM / RAM area, and a different number of clocks for one bus cycle can be designated for each. The ROM area corresponds to the second bus area A, and the ROM / RAM space corresponds to the second bus area B.

DRAMリフレッシュ制御回路(1315)は、一定期間毎に第1バスの使用権を無条件で獲得し、DRAMのリフレッシュ動作を制御する。   The DRAM refresh control circuit (1315) unconditionally acquires the right to use the first bus at regular intervals and controls the refresh operation of the DRAM.

サウンド処理プロセッサ(1303)、グラフィック処理プロセッサ(1302)、DMA制御プロセッサ(1304)、タイマ回路(1309)、入出力制御回路(1308)、A/Dコンバータ(1310)は、中央演算処理プロセッサ(1301)に対し、割り込み要求信号を発生する機能を有する。これらは夫々図15に示す割り込み要求信号A〜Fに相当する。   The sound processing processor (1303), graphic processing processor (1302), DMA control processor (1304), timer circuit (1309), input / output control circuit (1308), A / D converter (1310), central processing processor (1301) ) For generating an interrupt request signal. These correspond to the interrupt request signals A to F shown in FIG.

上記高速マルチプロセッサを用いた場合の第1の効果は、バススレーブの応答速度及びデータ転送能力に合わせてバスを第1バスと第2バスの二つに分割しているので、これらの共有バスの使用効率が高まり、高速マルチプロセッサ全体としての処理能力が向上することである。   The first effect when the high-speed multiprocessor is used is that the bus is divided into the first bus and the second bus according to the response speed and data transfer capability of the bus slave. This increases the processing efficiency of the high-speed multiprocessor as a whole.

第2の効果は、各々のバスマスタが第1バスと第2バスに対するインターフェースを独立に有しており、片方のバスを使用する際に、もう一方のバスを無駄に占有することがなく、前述の効果と同様に共有バスの使用効率が高まることである。   The second effect is that each bus master has an interface to the first bus and the second bus independently, and when one bus is used, the other bus is not occupied unnecessarily. As with the effect of, the use efficiency of the shared bus is increased.

第3の効果は、バスサイクルがバスマスタのバスサイクルスピードによって定められず、バススレーブ及びバスそのものが動作可能な最速でバスサイクルが定められることにより、実施例に示される中央演算処理プロセッサのように低速なバスサイクルを有するバスマスタがアクセスする場合でも、バスの使用効率が落ちることが無いことである。   The third effect is that the bus cycle is not determined by the bus cycle speed of the bus master, but the bus cycle is determined at the highest speed at which the bus slave and the bus itself can operate. Even when a bus master having a low-speed bus cycle accesses, the bus use efficiency does not decrease.

第4の効果は、実施例に示す中央演算処理プロセッサのように、単一の論理アドレス空間上に複数の物理アドレス空間が配置されるようになされることにより、これら複数の物理アドレス空間をプログラム上で統一的かつ連続的に扱うことが可能になることである。   The fourth effect is that a plurality of physical address spaces are arranged on a single logical address space as in the central processing processor shown in the embodiment, so that the plurality of physical address spaces can be programmed. It is possible to handle it uniformly and continuously.

第5の効果は、前述のようにバス調停回路が構成されることにより、各バスマスタのバス使用権の配分に重み付けを与えることと、全てのバスマスタに対して一定期間内においてバス使用権の取得を保証することが可能となり、さらに処理内容の変化に対応してバスマスタのバス使用権の配分の重み付けを動的に変化させることにより、システム全体としての総合処理能力を高めることが可能となることである。   The fifth effect is that the bus arbitration circuit is configured as described above to give weight to the distribution of the bus use right of each bus master and to acquire the bus use right for all the bus masters within a certain period. In addition, it is possible to increase the overall processing capacity of the entire system by dynamically changing the weighting of the bus usage right allocation of the bus master in response to changes in processing contents. It is.

第6の効果は、この実施例に示す高速マルチプロセッサを単一半導体素子上で実現することにより、複数バスを備えることや、各々のバスマスタが複数バスに対するインターフェースを独立に有することによる配線の多さが問題にならなくなり、非常に簡素な外部回路にて高性能なシステムを実現することが可能となることである。   The sixth effect is that the high-speed multiprocessor shown in this embodiment is realized on a single semiconductor element, thereby providing a plurality of buses, and each bus master independently having an interface to a plurality of buses. Therefore, it becomes possible to realize a high-performance system with a very simple external circuit.

本発明にかかる高速プロセッサの概要を示す説明図である。It is explanatory drawing which shows the outline | summary of the high-speed processor concerning this invention. 上記高速プロセッサに用いられる中央演算処理プロセッサの構成例を示す説明図である。It is explanatory drawing which shows the structural example of the central processing processor used for the said high speed processor. 上記中央演算処理プロセッサの論理アドレス空間のメモリマップモード1を示す説明図である。It is explanatory drawing which shows the memory map mode 1 of the logical address space of the said central processing processor. 上記中央演算処理プロセッサの論理アドレス空間のメモリマップモード2を示す説明図である。It is explanatory drawing which shows the memory map mode 2 of the logical address space of the said central processing processor. 上記中央演算処理プロセッサの第1バス使用例を示すタイミングチャートである。It is a timing chart which shows the 1st bus usage example of the said central processing processor. 上記中央演算処理プロセッサの第2バス使用例を示すタイミングチャートである。It is a timing chart which shows the 2nd bus usage example of the said central processing processor. 第1バス調停回路の概要を示す回路図である。It is a circuit diagram which shows the outline | summary of a 1st bus arbitration circuit. 第1バス調停回路における優先順位情報の設定例を示す表である。It is a table | surface which shows the example of a setting of the priority order information in a 1st bus arbitration circuit. 優先順位情報の表す優先順位序列の例を示す表である。It is a table | surface which shows the example of the priority order | rank order which priority order information represents. 第1バスの調停例その1を示すタイミングチャートである。It is a timing chart which shows the example 1 of arbitration of the 1st bus. 第1バスの調停例その2を示すタイミングチャートである。It is a timing chart which shows the example 2 of arbitration of the 1st bus. 第2バス調停回路の概要を示す回路図である。It is a circuit diagram which shows the outline | summary of a 2nd bus arbitration circuit. 第2バスの調停例を示すタイミングチャートである。It is a timing chart which shows the example of mediation of the 2nd bus. 第2バス調停回路における優先順位情報の設定例を示す表である。It is a table | surface which shows the example of a setting of the priority order information in a 2nd bus arbitration circuit. 本発明にかかる高速プロセッサを用いた実施例を示す回路図である。It is a circuit diagram which shows the Example using the high-speed processor concerning this invention. 従来のバスシステムの説明図である。It is explanatory drawing of the conventional bus system.

符号の説明Explanation of symbols

1 …バスマスタ
2 …バスマスタ
10 …バス
11 …バス
20 …バススレーブ
21 …バススレーブ
DESCRIPTION OF SYMBOLS 1 ... Bus master 2 ... Bus master 10 ... Bus 11 ... Bus 20 ... Bus slave 21 ... Bus slave

Claims (3)

共有バス、
それぞれが前記共有バスに直接接続される複数のバスマスタ、
それぞれが前記共有バスに接続される複数のバススレーブ、
前記共有バスのバスサイクル毎に必ずバス使用権の判定を行い、前記バスマスタの内1つに1バスサイクル単位の始端で共有バス使用許可信号を与えるバス調停回路を備え、
前記共有バスは第1の領域と第2の領域に分割され、さらに
前記共有バス使用許可信号を受領した前記バスマスタの発行するアドレスが前記第1の領域と前記第2の領域のいずれに該当するかを前記共有バスのバスサイクル毎に判別し、前記第1の領域に該当すると判別した場合には第1のバスサイクル期間長を、前記第2の領域に該当すると判別した場合には第2のバスサイクル期間長を当該バスサイクルの長さとして定め、定められたバスサイクルの長さに従って各バスサイクルの終端でバスサイクル終了信号を発行するバスサイクル長制御手段を備え、
前記バスマスタは、前記共有バス使用許可信号によって前記共有バスにおけるデータの送受を開始し、前記バスサイクル終了信号によってデータの送受を終了する、高速プロセッサ。
Shared bus,
A plurality of bus masters each connected directly to the shared bus;
A plurality of bus slaves each connected to the shared bus;
A bus arbitration circuit that always determines the right to use the bus for each bus cycle of the shared bus, and gives a shared bus use permission signal to one of the bus masters at the start of one bus cycle;
The shared bus is divided into a first area and a second area, and an address issued by the bus master that has received the shared bus use permission signal corresponds to either the first area or the second area. Is determined for each bus cycle of the shared bus, the first bus cycle period length is determined if it corresponds to the first area, and the second length is determined if it corresponds to the second area. Bus cycle length control means for determining the bus cycle period length of the bus cycle as a length of the bus cycle and issuing a bus cycle end signal at the end of each bus cycle according to the determined bus cycle length,
The high-speed processor, wherein the bus master starts transmission / reception of data on the shared bus by the shared bus use permission signal and ends transmission / reception of data by the bus cycle end signal.
前記バス調停回路は、前記バスマスタのバスサイクル速度に依存せず、前記共有バスに接続されるバススレーブにアクセス可能な最速の時間と前記共有バスが動作可能である最速の時間の内のどちらか遅い方を前記共有バスのバスサイクル期間と定め、そのバスサイクル毎に必ず前記バス使用権の判定を行う、請求項1記載の高速プロセッサ。   The bus arbitration circuit does not depend on the bus cycle speed of the bus master, and is one of the fastest time for accessing the bus slave connected to the shared bus and the fastest time for which the shared bus is operable. 2. The high speed processor according to claim 1, wherein the later one is defined as a bus cycle period of the shared bus, and the right to use the bus is always determined every bus cycle. 前記第1の領域および前記第2の領域を第1の形態で配置する第1のメモリマップモードと、前記第1の領域および前記第2の領域を第2の形態で配置する第2のメモリマップモードとを切り替えるメモリマップモード切替制御レジスタをさらに備え、
前記第1のメールマップモードおよび前記第2のメモリマップモードは、それぞれ、全ての前記バスマスタに共有される、請求項1または2に記載の高速プロセッサ。
A first memory map mode in which the first area and the second area are arranged in a first form; and a second memory in which the first area and the second area are arranged in a second form. A memory map mode switching control register that switches between map modes is further provided.
The high speed processor according to claim 1 or 2, wherein the first mail map mode and the second memory map mode are respectively shared by all the bus masters.
JP2003278296A 2003-07-23 2003-07-23 High speed processor Expired - Fee Related JP3910165B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003278296A JP3910165B2 (en) 2003-07-23 2003-07-23 High speed processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003278296A JP3910165B2 (en) 2003-07-23 2003-07-23 High speed processor

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP13280097A Division JP3467382B2 (en) 1997-02-17 1997-05-06 High speed processor

Publications (2)

Publication Number Publication Date
JP2004013907A JP2004013907A (en) 2004-01-15
JP3910165B2 true JP3910165B2 (en) 2007-04-25

Family

ID=30438668

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003278296A Expired - Fee Related JP3910165B2 (en) 2003-07-23 2003-07-23 High speed processor

Country Status (1)

Country Link
JP (1) JP3910165B2 (en)

Also Published As

Publication number Publication date
JP2004013907A (en) 2004-01-15

Similar Documents

Publication Publication Date Title
US6070205A (en) High-speed processor system having bus arbitration mechanism
US7908416B2 (en) Data processing unit and bus arbitration unit
KR100265263B1 (en) Programmable shared memory system and method
EP0735490A1 (en) Data transfer device and video game apparatus using the device
JPH07175783A (en) Digital signal processing processor
JP2539058B2 (en) Data processor
JP3467382B2 (en) High speed processor
JP2000211210A (en) Method and apparatus for control of composite device
JP2001043180A (en) Microprocessor and storage device therefor
US20040068590A1 (en) Data processor
JP2001134542A (en) Array of processors sharing collective memory
JP3541112B2 (en) Bus arbitration system
JP4260720B2 (en) Bus control device
JP3910165B2 (en) High speed processor
JP4042088B2 (en) Memory access method
WO2006004166A1 (en) Data processing unit and compatible processor
JPH0883237A (en) Data processor
KR101128898B1 (en) Direct memory access controller, system and method for transferring a data using the same
JP2004110852A (en) Bus arbitration system
JPH07271654A (en) Controller
JP2004127245A (en) Semiconductor integrated circuit device
JP3698483B2 (en) Serial I / O
JP2550868B2 (en) Communication control LSI
JP4642398B2 (en) Shared bus arbitration system
JP2001209609A (en) Microcomputer system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040405

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070123

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130202

Year of fee payment: 6

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

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

Free format text: PAYMENT UNTIL: 20130202

Year of fee payment: 6

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20130202

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130202

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130202

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130202

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees