JP2008505386A - Data processing device and compatible processor - Google Patents

Data processing device and compatible processor Download PDF

Info

Publication number
JP2008505386A
JP2008505386A JP2007518854A JP2007518854A JP2008505386A JP 2008505386 A JP2008505386 A JP 2008505386A JP 2007518854 A JP2007518854 A JP 2007518854A JP 2007518854 A JP2007518854 A JP 2007518854A JP 2008505386 A JP2008505386 A JP 2008505386A
Authority
JP
Japan
Prior art keywords
bus
signal
address
data
data processing
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.)
Withdrawn
Application number
JP2007518854A
Other languages
Japanese (ja)
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
Publication of JP2008505386A publication Critical patent/JP2008505386A/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0615Address space extension
    • G06F12/0623Address space extension for memory modules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/355Indexed addressing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Executing Machine-Instructions (AREA)
  • Storage Device Security (AREA)
  • Bus Control (AREA)

Abstract

前世代のプロセッサとの後方互換性を保持できるプロセッサを提供する。現世代のプロセッサ100が、前世代のプロセッサ500にて第0領域アクセスサイクル数レジスタが配置されるアドレス上に値を書き込むと、同じ値が第0領域ランダムアクセスサイクル数レジスタ170に書き込まれ、かつ、第0領域ページサイズレジスタ190の値が0(ページサイズ=0バイト)に設定され、ページモード・アクセスが行われなくなる。現世代のプロセッサ100が、前世代のプロセッサ500にて第1及び第2領域アクセスサイクル数レジスタが配置されるアドレス上に値を書き込むと、同じ値が第1領域ランダムアクセスサイクル数レジスタ171及び第2領域ランダムアクセスサイクル数レジスタ172に書き込まれ、かつ、第1領域ページサイズレジスタ191及び第2領域ページサイズレジスタ192の値がそれぞれ0に設定され、ページモード・アクセスが行われなくなる。  A processor capable of maintaining backward compatibility with previous generation processors is provided. When the current generation processor 100 writes a value on the address where the 0th area access cycle number register is arranged in the previous generation processor 500, the same value is written to the 0th area random access cycle number register 170, and The value of the 0th area page size register 190 is set to 0 (page size = 0 bytes), and page mode access is not performed. When the current generation processor 100 writes a value on the address where the first and second area access cycle number registers are arranged in the previous generation processor 500, the same value is stored in the first area random access cycle number register 171 and the first area access cycle number register 171. The two area random access cycle number register 172 is written, and the values of the first area page size register 191 and the second area page size register 192 are set to 0, and the page mode access is not performed.

Description

本発明は、前世代のデータ処理装置との後方互換性を有するデータ処理装置および互換プロセッサに関する。   The present invention relates to a data processing device and a compatible processor having backward compatibility with previous generation data processing devices.

特開平11−232098号公報、特開平11−232099号公報、特開平3−248240号公報などの文献には、前世代のプロセッサとの後方互換性を実現するための様々な技術が開示されている。   Various techniques for realizing backward compatibility with previous generation processors are disclosed in documents such as Japanese Patent Application Laid-Open Nos. 11-2332098, 11-2332099, and 3-248240. Yes.

上記文献には開示されていないが、後方互換性を実現する対象として、次のことを挙げることができる。   Although not disclosed in the above document, the following can be cited as a target for realizing backward compatibility.

第1は、バス調停に対する後方互換性である。   The first is backward compatibility for bus arbitration.

第2は、複数の領域に分割されたアドレス空間の各領域にアクセスする際のアクセススピードに対する後方互換性である。   The second is backward compatibility with respect to the access speed when accessing each area of the address space divided into a plurality of areas.

第3は、アドレス空間へアクセスする際のアクセスモードに対する後方互換性である。   The third is backward compatibility for the access mode when accessing the address space.

第4は、アクセスするアドレス空間の構造に対する後方互換性である。   The fourth is backward compatibility with the structure of the address space to be accessed.

そこで、本発明の目的は、バス調停に対して、前世代のデータ処理装置との後方互換性を実現できるデータ処理装置及び互換プロセッサを提供することである。   Therefore, an object of the present invention is to provide a data processing device and a compatible processor that can realize backward compatibility with the previous generation data processing device with respect to bus arbitration.

本発明の他の目的は、アドレス空間の各領域へのアクセススピードに対して、前世代のデータ処理装置との後方互換性を実現できるデータ処理装置及び互換プロセッサを提供することである。   Another object of the present invention is to provide a data processor and a compatible processor capable of realizing backward compatibility with the data processor of the previous generation with respect to the access speed to each area of the address space.

本発明のさらに他の目的は、アドレス空間へのアクセスモードに対して、前世代のデータ処理装置との後方互換性を実現できるデータ処理装置及び互換プロセッサを提供することである。   Still another object of the present invention is to provide a data processing device and a compatible processor capable of realizing backward compatibility with the previous generation data processing device in the access mode to the address space.

本発明のさらに他の目的は、アクセスするアドレス空間の構造に対して、前世代のデータ処理装置との後方互換性を実現できるデータ処理装置及び互換プロセッサを提供することである。   Still another object of the present invention is to provide a data processing apparatus and a compatible processor capable of realizing backward compatibility with the previous generation data processing apparatus with respect to the structure of the address space to be accessed.

本発明の第1の形態によると、データ処理装置は、所定数(2以上)のバスマスタからなる第1のバスマスタ群と、前記第1のバスマスタ群に含まれる前記バスマスタ間の優先順位を定めた第1の優先順位情報に従いバス調停を行う第1のバス調停手段と、を含む所定の別のデータ処理装置が実行可能なソフトウェア、及び前記所定の別のデータ処理装置が実行できないソフトウェアのいずれのソフトウェアも実行可能なデータ処理装置であって、前記第1のバスマスタ群に対して互換で、更に1または複数のバスマスタを加えた第2のバスマスタ群と、前記第2のバスマスタ群に含まれる前記バスマスタ間の優先順位を定めた第2の優先順位情報に従いバス調停を行う第2のバス調停手段と、を備え、前記第2の優先順位情報における前記第1のバスマスタ群のバスマスタに対して互換のバスマスタ間の優先順位は、前記第1優先順位情報と同じである。   According to the first aspect of the present invention, the data processing device determines a priority order between a first bus master group including a predetermined number (two or more) of bus masters and the bus masters included in the first bus master group. A first bus arbitration unit that performs bus arbitration according to the first priority order information, and software that can be executed by another predetermined data processing device and software that cannot be executed by the predetermined another data processing device A data processing device that can also execute software, is compatible with the first bus master group, and further includes a second bus master group including one or more bus masters, and the second bus master group includes the second bus master group Second bus arbitration means for performing bus arbitration according to second priority information that defines priorities among bus masters, and the second priority information in the second priority information Priorities among compatible bus master to one bus master group master is the same as the first priority information.

この構成によれば、現世代のデータ処理装置の第2の優先順位情報における第1のバスマスタ群のバスマスタ間の優先順位は、前世代のデータ処理装置の第1優先順位情報と同じであるため、前世代のデータ処理装置に含まれるバスマスタに、さらに新たなバスマスタを加えた現世代のデータ処理装置においても、前世代のデータ処理装置においても実行可能なソフトウェア(互換ソフトウェア)を正常に実行でき、バス調停に対する後方互換性が保持される。   According to this configuration, the priority between the bus masters of the first bus master group in the second priority information of the current generation data processing device is the same as the first priority information of the previous generation data processing device. The software (compatible software) that can be executed in both the current generation data processing device in which a new bus master is added to the bus master included in the previous generation data processing device and the previous generation data processing device can be executed normally. , Backward compatibility with bus arbitration is maintained.

本発明の第2の形態によると、データ処理装置は、所定数(2以上)のバスマスタからなる第1のバスマスタ群と、前記第1のバスマスタ群に含まれる前記バスマスタ間の優先順位を定めた第1の優先順位情報に従いバス調停を行う第1のバス調停手段と、を含む所定の別のデータ処理装置が実行可能なソフトウェア、及び前記所定の別のデータ処理装置が実行できないソフトウェアのいずれのソフトウェアも実行可能なデータ処理装置であって、前記第1のバスマスタ群に含まれる前記バスマスタにそれぞれ対応し、バス使用を要求する要因であるバス使用要求要因毎にバス使用の要求を行う前記所定数のバスマスタを含む第2のバスマスタ群と、前記第2のバスマスタ群に含まれる全てのバスマスタのバス使用要求要因間の優先順位を定めた第2の優先順位情報に従いバス調停を行う第2のバス調停手段と、を備え、前記第2の優先順位情報では、1つの前記バスマスタに複数のバス使用要求要因が含まれる場合には、当該複数のバス使用要求要因に連続した優先順位が割り当てられ、前記第2の優先順位情報における前記バスマスタ間の優先順位は、前記第1の優先順位情報における対応する前記バスマスタ間の優先順位と同じである。   According to the second aspect of the present invention, the data processing device determines a priority order between a first bus master group including a predetermined number (two or more) of bus masters and the bus masters included in the first bus master group. A first bus arbitration unit that performs bus arbitration according to the first priority order information, and software that can be executed by another predetermined data processing device and software that cannot be executed by the predetermined another data processing device A data processing apparatus that can also execute software, and corresponds to each of the bus masters included in the first bus master group, and requests the use of the bus for each bus use request factor that is a factor requesting use of the bus. The priority order between the bus use request factors of the second bus master group including a plurality of bus masters and all the bus masters included in the second bus master group is defined. A second bus arbitration unit that performs bus arbitration according to the second priority information, and when the second priority information includes a plurality of bus use request factors in one bus master, Successive priorities are assigned to the plurality of bus use request factors, and the priorities among the bus masters in the second priority information are the same as the priorities between the corresponding bus masters in the first priority information. It is.

この構成によれば、現世代のデータ処理装置の第2の優先順位情報では、1つのバスマスタに複数のバス使用要求要因が含まれる場合には、当該複数のバス使用要求要因に連続した優先順位が割り当てられる。このため、第2の優先順位情報は、バス使用要求要因毎にバス使用要求を行わない前世代のデータ処理装置においても実行可能なソフトウェア(互換ソフトウェア)からは、バスマスタ毎に優先順位を定めたように見える。しかも、現世代のデータ処理装置の第2の優先順位情報における第1のバスマスタ群のバスマスタ間の優先順位は、前世代のデータ処理装置の第1優先順位情報における対応するバスマスタ間の優先順位と同じである。   According to this configuration, in the second priority information of the current generation data processing device, when a plurality of bus use request factors are included in one bus master, the priority order consecutive to the plurality of bus use request factors Is assigned. For this reason, the second priority order information sets the priority order for each bus master from software (compatible software) that can be executed in the previous generation data processing device that does not make a bus use request for each bus use request factor. looks like. Moreover, the priority between the bus masters of the first bus master group in the second priority information of the current generation data processing device is the priority between the corresponding bus masters in the first priority information of the previous generation data processing device. The same.

以上の結果、現世代のデータ処理装置のバスマスタがバス使用要求要因毎にバス使用要求を行う場合においても、前世代のデータ処理装置においても実行可能なソフトウェア(互換ソフトウェア)を正常に実行でき、バス調停に対する後方互換性が保持される。   As a result, even when the bus master of the current generation data processing device makes a bus use request for each bus use request factor, the software (compatible software) that can be executed in the previous generation data processing device can be executed normally. Backwards compatibility for bus arbitration is maintained.

本発明の第3の形態によると、データ処理装置は、所定のアドレス領域にアクセスする際のバスサイクル期間長を定める第1のバスサイクル期間長情報格納手段を含む所定の別のデータ処理装置が実行可能なソフトウェア、及び前記所定の別のデータ処理装置が実行できないソフトウェアのいずれのソフトウェアも実行可能なデータ処理装置であって、前記データ処理装置によるアクセス対象としての前記所定のアドレス領域は複数の領域に分割され、前記データ処理装置は、前記複数の領域にそれぞれ対応し、対応する前記領域にアクセスする際のバスサイクル期間長を定める複数の第2のバスサイクル期間長情報格納手段を備え、前記データ処理装置により実行された、前記所定の別のデータ処理装置が実行可能な前記ソフトウェアが、前記第1のバスサイクル期間長情報格納手段の内容を書き換える操作を行ったときに、全ての前記第2のバスサイクル期間長情報格納手段の内容が前記第1のバスサイクル期間長情報格納手段の内容と同じになるように書き換えられる。   According to the third aspect of the present invention, the data processing device includes a predetermined other data processing device including a first bus cycle period length information storage unit that determines a bus cycle period length when accessing a predetermined address area. A data processing apparatus capable of executing both executable software and software that cannot be executed by the predetermined other data processing apparatus, wherein the predetermined address area as an access target by the data processing apparatus includes a plurality of software The data processing device includes a plurality of second bus cycle period length information storage units that respectively correspond to the plurality of areas and determine a bus cycle period length when accessing the corresponding area, The software executed by the predetermined data processing device executed by the data processing device is: When the operation of rewriting the contents of the first bus cycle period length information storage means is performed, all the contents of the second bus cycle period length information storage means are stored in the first bus cycle period length information storage means. Rewritten to be the same as the contents.

この構成によれば、現世代のデータ処理装置により実行された互換ソフトウェアが、第1のバスサイクル期間長情報格納手段の内容を書き換える操作を行ったときに、つまり、現世代のデータ処理装置により実行された互換ソフトウェアが、第1のバスサイクル期間長情報格納手段が配置されるアドレスに対して書き込み動作を行ったときに、全ての第2のバスサイクル期間長情報格納手段の内容が第1のバスサイクル期間長情報格納手段の内容と同じになるように書き換えられる。   According to this configuration, when the compatible software executed by the current generation data processing apparatus performs an operation of rewriting the contents of the first bus cycle period length information storage means, that is, by the current generation data processing apparatus. When the executed compatible software performs a write operation on the address where the first bus cycle period length information storage means is arranged, the contents of all the second bus cycle period length information storage means are the first. Is rewritten to be the same as the contents of the bus cycle period length information storage means.

その結果、アドレス領域が、前世代のデータ処理装置にとっては複数の領域に分割されていないが、現世代のデータ処理装置にとっては複数の領域に分割され、領域ごとにバスサイクル期間長を設定可能なようになされている場合でも、前世代のデータ処理装置においても実行可能なソフトウェア(互換ソフトウェア)を正常に実行でき、アドレス領域へのアクセススピードに対する後方互換性が保持される。   As a result, the address area is not divided into multiple areas for the previous generation data processor, but is divided into multiple areas for the current generation data processor, and the bus cycle period length can be set for each area. Even in such a case, software (compatible software) that can be executed in the previous generation data processing apparatus can be normally executed, and backward compatibility with respect to the access speed to the address area is maintained.

本発明の第4の形態によると、データ処理装置は、所定のアドレス領域にアクセスする際のバスサイクル期間長を定める第1のバスサイクル期間長情報格納手段を含む所定の別のデータ処理装置が実行可能なソフトウェア、及び前記所定の別のデータ処理装置が実行できないソフトウェアのいずれのソフトウェアも実行可能なデータ処理装置であって、前記所定のアドレス領域に第1のアクセスモードでアクセスする際のバスサイクル期間長を定める第2のバスサイクル期間長情報格納手段と、前記所定のアドレス領域に第2のアクセスモードでアクセスする際のバスサイクル期間長を定める第3のバスサイクル期間長情報格納手段と、を備え、前記データ処理装置により実行された、前記所定の別のデータ処理装置が実行可能な前記ソフトウェアが、前記第1のバスサイクル期間長情報格納手段の内容を書き換える操作を行ったときに、前記第2のバスサイクル期間長情報格納手段の内容と前記第3のバスサイクル期間長情報格納手段の内容とが前記第1のバスサイクル期間長情報格納手段の内容と同じになるように書き換えられる。   According to the fourth aspect of the present invention, the data processing device includes a predetermined other data processing device including a first bus cycle period length information storage unit that determines a bus cycle period length when accessing a predetermined address area. A data processing apparatus capable of executing both executable software and software that cannot be executed by the predetermined another data processing apparatus, and a bus for accessing the predetermined address area in a first access mode Second bus cycle period length information storage means for determining a cycle period length; and third bus cycle period length information storage means for determining a bus cycle period length when accessing the predetermined address area in a second access mode; The software that is executed by the data processing apparatus and that can be executed by the other predetermined data processing apparatus When the air performs an operation of rewriting the contents of the first bus cycle period length information storage means, the contents of the second bus cycle period length information storage means and the third bus cycle period length information storage The contents of the means are rewritten so as to be the same as the contents of the first bus cycle period length information storage means.

この構成によれば、現世代のデータ処理装置により実行された互換ソフトウェアが、第1のバスサイクル期間長情報格納手段の内容を書き換える操作を行ったときに、つまり、現世代のデータ処理装置により実行された互換ソフトウェアが、第1のバスサイクル期間長情報格納手段が配置されるアドレスに対して書き込み動作を行った場合、第1のアクセスモードに対応した第2のバスサイクル期間長情報格納手段の内容と第2のアクセスモードに対応した第3のバスサイクル期間長情報格納手段の内容とが、前世代のデータ処理装置の第1のバスサイクル期間長情報格納手段の内容と同じになるように書き換えられる。   According to this configuration, when the compatible software executed by the current generation data processing apparatus performs an operation of rewriting the contents of the first bus cycle period length information storage means, that is, by the current generation data processing apparatus. When the executed compatible software performs a write operation on the address where the first bus cycle period length information storage unit is arranged, the second bus cycle period length information storage unit corresponding to the first access mode And the contents of the third bus cycle period length information storage means corresponding to the second access mode are the same as the contents of the first bus cycle period length information storage means of the previous generation data processing device. To be rewritten.

その結果、第1のアクセスモードと第2のアクセスモードとが実質的に同じモードとなるため、前世代のデータ処理装置が第1のアクセスモードあるいは第2のアクセスモードの一方しかサポートしていない場合でも、前世代のデータ処理装置においても実行可能なソフトウェア(互換ソフトウェア)を正常に実行でき、アドレス領域へのアクセスモードに対する後方互換性が保持される。   As a result, since the first access mode and the second access mode are substantially the same mode, the previous generation data processing apparatus supports only one of the first access mode and the second access mode. Even in this case, software (compatible software) that can be executed in the previous generation data processing apparatus can be executed normally, and backward compatibility with the access mode to the address area is maintained.

本発明の第5の形態によると、データ処理装置は、所定のアドレス領域にアクセスする際のバスサイクル期間長を定める第1のバスサイクル期間長情報格納手段を含む所定の別のデータ処理装置が実行可能なソフトウェア、及び前記所定の別のデータ処理装置が実行できないソフトウェアのいずれのソフトウェアも実行可能なデータ処理装置であって、前記所定のアドレス領域にランダムアクセスモードでアクセスする際のバスサイクル期間長を定める第2のバスサイクル期間長情報格納手段と、前記所定のアドレス領域にページモードでアクセスする際のバスサイクル期間長を定める第3のバスサイクル期間長情報格納手段と、前記ページモードにおける1ページのサイズを定めるページサイズ情報格納手段と、を備え、前記データ処理装置により実行された、前記所定の別のデータ処理装置が実行可能な前記ソフトウェアが、前記第1のバスサイクル期間長情報格納手段の内容を書き換える操作を行ったときに、前記第2のバスサイクル期間長情報格納手段の内容が前記第1のバスサイクル期間長情報格納手段の内容と同じになるように書き換えられ、かつ、前記ページサイズ情報格納手段が示す1ページのサイズが前記ページモードを無効とする値に書き換えられる。   According to the fifth aspect of the present invention, the data processing device includes a predetermined other data processing device including a first bus cycle period length information storage unit that determines a bus cycle period length when accessing a predetermined address area. A data processing device capable of executing both executable software and software that cannot be executed by the predetermined another data processing device, and a bus cycle period when accessing the predetermined address area in a random access mode A second bus cycle period length information storage unit for determining a length; a third bus cycle period length information storage unit for determining a bus cycle period length for accessing the predetermined address area in a page mode; Page size information storage means for determining the size of one page, and the data processing device The second bus cycle period when the software executable by the predetermined another data processing apparatus performs an operation of rewriting the contents of the first bus cycle period length information storage means. The length information storage means is rewritten to be the same as the content of the first bus cycle period length information storage means, and the size of one page indicated by the page size information storage means invalidates the page mode. It is rewritten to the value to be.

この構成によれば、現世代のデータ処理装置により実行された互換ソフトウェアが、第1のバスサイクル期間長情報格納手段の内容を書き換える操作を行ったときに、つまり、現世代のデータ処理装置により実行された互換ソフトウェアが、第1のバスサイクル期間長情報格納手段が配置されるアドレスに対して書き込み動作を行った場合、ページサイズ情報格納手段が示す1ページのサイズが前記ページモードを無効とする値に書き換えられ、ページモードによるアクセスが行われなくなる。しかも、第2のバスサイクル期間長情報格納手段の内容が第1のバスサイクル期間長情報格納手段の内容と同じになるように書き換えられる。   According to this configuration, when the compatible software executed by the current generation data processing apparatus performs an operation of rewriting the contents of the first bus cycle period length information storage means, that is, by the current generation data processing apparatus. When the executed compatible software performs a write operation on the address where the first bus cycle period length information storage unit is arranged, the size of one page indicated by the page size information storage unit invalidates the page mode. This value is rewritten to prevent the page mode from being accessed. Moreover, the contents of the second bus cycle period length information storage means are rewritten so as to be the same as the contents of the first bus cycle period length information storage means.

以上の結果、前世代のデータ処理装置がページモードをサポートしていない場合でも、前世代のデータ処理装置においても実行可能なソフトウェア(互換ソフトウェア)を正常に実行でき、アドレス領域へのアクセスモードに対する後方互換性が保持される。   As a result, even if the previous generation data processing apparatus does not support the page mode, the software (compatible software) that can be executed in the previous generation data processing apparatus can be executed normally, and the address area access mode is supported. Backwards compatibility is maintained.

本発明の第6の形態によれば、データ処理装置は、所定のアドレス領域にアクセスする際のバスサイクル期間長を定める第1のバスサイクル期間長情報格納手段を含む所定の別のデータ処理装置が実行可能なソフトウェア、及び前記所定の別のデータ処理装置が実行できないソフトウェアのいずれのソフトウェアも実行可能なデータ処理装置であって、前記データ処理装置によるアクセス対象としての前記所定のアドレス領域は複数の領域に分割され、前記データ処理装置は、前記複数の領域にそれぞれ対応し、対応する前記領域にランダムアクセスモードでアクセスする際のバスサイクル期間長を定める複数の第2のバスサイクル期間長情報格納手段と、前記複数の領域にそれぞれ対応し、対応する前記領域にページモードでアクセスする際のバスサイクル期間長を定める複数の第3のバスサイクル期間長情報格納手段と、前記複数の領域にそれぞれ対応し、前記ページモードにおける1ページのサイズを定める複数のページサイズ情報格納手段と、を備え、前記データ処理装置により実行された、前記所定の別のデータ処理装置が実行可能な前記ソフトウェアが、前記第1のバスサイクル期間長情報格納手段の内容を書き換える操作を行ったときに、全ての前記第2のバスサイクル期間長情報格納手段の内容が前記第1のバスサイクル期間長情報格納手段の内容と同じになるように書き換えられ、かつ、全ての前記ページサイズ情報格納手段が示す1ページのサイズが前記ページモードを無効とする値に書き換えられる。   According to the sixth aspect of the present invention, the data processing device includes a predetermined another data processing device including first bus cycle period length information storage means for determining a bus cycle period length when accessing a predetermined address area. Is a data processing apparatus capable of executing both software that can be executed and software that cannot be executed by the predetermined another data processing apparatus, and a plurality of the predetermined address areas to be accessed by the data processing apparatus A plurality of second bus cycle period length information for determining a bus cycle period length corresponding to each of the plurality of areas and accessing the corresponding area in a random access mode. The storage means and each of the plurality of areas correspond to each other, and the corresponding area is accessed in the page mode. A plurality of third bus cycle period length information storage means for determining the bus cycle period length, and a plurality of page size information storage means for determining the size of one page in the page mode respectively corresponding to the plurality of areas. And when the software executed by the data processing device and executable by the predetermined other data processing device performs an operation of rewriting the contents of the first bus cycle period length information storage means, The second bus cycle period length information storage means is rewritten so that the content of the second bus cycle period length information storage means is the same as that of the first bus cycle period length information storage means, and all the page size information storage means indicate 1 The page size is rewritten to a value that invalidates the page mode.

この構成によれば、現世代のデータ処理装置により実行された互換ソフトウェアが、第1のバスサイクル期間長情報格納手段の内容を書き換える操作を行ったときに、つまり、現世代のデータ処理装置により実行された互換ソフトウェアが、第1のバスサイクル期間長情報格納手段が配置されるアドレスに対して書き込み動作を行ったときに、全ての第2のバスサイクル期間長情報格納手段の内容が第1のバスサイクル期間長情報格納手段の内容と同じになるように書き換えられるとともに、全てのページサイズ情報格納手段が示す1ページのサイズが前記ページモードを無効とする値に書き換えられ、ページモードによるアクセスが行われなくなる。   According to this configuration, when the compatible software executed by the current generation data processing apparatus performs an operation of rewriting the contents of the first bus cycle period length information storage means, that is, by the current generation data processing apparatus. When the executed compatible software performs a write operation on the address where the first bus cycle period length information storage means is arranged, the contents of all the second bus cycle period length information storage means are the first. Is rewritten to be the same as the contents of the bus cycle period length information storage means, and the size of one page indicated by all the page size information storage means is rewritten to a value invalidating the page mode, and access by the page mode is performed. Will not be performed.

その結果、アドレス領域が、前世代のデータ処理装置にとっては複数の領域に分割されていないが、現世代のデータ処理装置にとっては複数の領域に分割され、領域ごとにバスサイクル期間長を設定可能なようになされており、しかも、前世代のデータ処理装置がページモードをサポートしていない場合であっても、前世代のデータ処理装置においても実行可能なソフトウェア(互換ソフトウェア)を正常に実行でき、アドレス領域へのアクセススピード及びアクセスモードに対する後方互換性が保持される。   As a result, the address area is not divided into multiple areas for the previous generation data processor, but is divided into multiple areas for the current generation data processor, and the bus cycle period length can be set for each area. Even if the previous generation data processing device does not support page mode, software (compatible software) that can be executed in the previous generation data processing device can be executed normally. The backward compatibility with respect to the access speed and access mode to the address area is maintained.

本発明の第7の形態によると、データ処理装置は、論理アドレス空間がP(Pは1以上の整数)ビットのアドレス情報で示されるとともに、第1の所定数の第1のバスマスタと第2の所定数の第2のバスマスタとを含む所定の別のデータ処理装置が実行可能なソフトウェア、及び前記所定の別のデータ処理装置が実行できないソフトウェアのいずれのソフトウェアも実行可能なデータ処理装置であって、前記データ処理装置の論理アドレス空間は、Q(QはPより大きい2以上の整数)ビットのアドレス情報で示され、Qビットのアドレス情報のうちの上位(Q−P)ビットが「0」を示す第1のアドレス空間と、それ以外の空間全てを含む第2のアドレス空間とに分割され、前記データ処理装置は、前記第1の所定数の第3バスマスタと、前記第2の所定数の第4バスマスタと、第3の所定数の第5バスマスタと、を備え、前記第3のバスマスタは、前記第1のバスマスタと同じ機能を有し、前記第1のアドレス空間にのみアクセス可能であり、前記第4のバスマスタは、前記第2のバスマスタと同じ機能を有するとともに、前記第1のアドレス空間及び前記第2のアドレス空間の双方にアクセス可能な追加機能を有し、前記第5のバスマスタは、前記第1のバスマスタ及び前記第2のバスマスタと異なる機能を有し、前記第1のアドレス空間及び前記第2のアドレス空間の双方にアクセス可能な機能を有する。   According to the seventh aspect of the present invention, the data processing device includes a logical address space indicated by address information of P (P is an integer of 1 or more) bits, a first predetermined number of first bus masters and a second bus master. A data processing apparatus capable of executing both software that can be executed by a predetermined other data processing apparatus including a predetermined number of second bus masters and software that cannot be executed by the predetermined other data processing apparatus. The logical address space of the data processing apparatus is indicated by Q (Q is an integer greater than or equal to 2) bits of address information, and the upper (QP) bits of the Q-bit address information are “0”. , And a second address space including all other spaces, and the data processing device includes the first predetermined number of third bus masters, A second predetermined number of fourth bus masters and a third predetermined number of fifth bus masters, wherein the third bus master has the same function as the first bus master, and the first address The fourth bus master has the same function as the second bus master, and has an additional function capable of accessing both the first address space and the second address space. The fifth bus master has a function different from that of the first bus master and the second bus master, and has a function capable of accessing both the first address space and the second address space.

この構成によれば、前世代のデータ処理装置においても実行可能なソフトウェア(互換ソフトウェア)を現世代のデータ処理装置で実行する場合、Qビットのアドレス情報の上位(Q−P)ビットを「0」にして出力するだけで、現世代のデータ処理装置の第3のバスマスタ及び第4のバスマスタが第1のアドレス空間にアクセスすることができ、アドレス空間に対する互換性が容易に保持できる。   According to this configuration, when software (compatible software) that can be executed in the previous generation data processing apparatus is executed in the current generation data processing apparatus, the upper (QP) bits of the Q-bit address information are set to “0”. In this case, the third bus master and the fourth bus master of the current generation data processing apparatus can access the first address space, and compatibility with the address space can be easily maintained.

また、前世代のデータ処理装置の第2のバスマスタと同じ機能を有する、現世代のデータ処理装置の第4のバスマスタは、第1のアドレス空間だけでなく、第2のバスマスタがアクセスできない第2のアドレス空間にもアクセスできる追加機能を有しており、前世代のデータ処理装置との後方互換性を保持しながらも、アクセスできるアドレス領域を拡張できる。   In addition, the fourth bus master of the current generation data processing device having the same function as the second bus master of the previous generation data processing device is not only accessible by the second bus master in addition to the first address space. The address area can be extended while maintaining backward compatibility with the previous generation data processing apparatus.

さらに、現世代のデータ処理装置では、前世代のデータ処理装置に比べて新たな機能を有する第5のバスマスタを設け、第1のアドレス空間及び第2のアドレス空間の双方にアクセスできるようにしている。しかし、前世代のデータ処理装置には、そもそもそのような機能を有するバスマスタが設けられていないため、前世代のデータ処理装置との後方互換性の保持に何らの影響を与えるものではない。このように、現世代のデータ処理装置では、後方互換性を保持しながらも、新たな機能を有する第5のバスマスタを追加できる。   Furthermore, in the current generation data processing apparatus, a fifth bus master having a new function compared to the previous generation data processing apparatus is provided so that both the first address space and the second address space can be accessed. Yes. However, since the previous generation data processing apparatus is not provided with a bus master having such a function in the first place, it does not have any influence on maintaining backward compatibility with the previous generation data processing apparatus. As described above, in the current generation data processing apparatus, it is possible to add the fifth bus master having a new function while maintaining backward compatibility.

本発明の第8の形態によると、前世代のプロセッサで実行可能なソフトウェアが実行可能な互換プロセッサは、前記前世代のプロセッサの前世代のバスマスタの夫々と互換性を有する複数の互換バスマスタと、前記互換バスマスタが発行したバス使用の要求を調停する互換バス調停手段とを備え、前世代のプロセッサで実行可能なソフトウェアのいずれであっても、前記互換プロセッサ内で前記ソフトウェアの実行中に前記互換バスマスタが発行したバス使用の要求は、前記前世代のプロセッサ内で前記ソフトウェアの実行中に前記バスマスタが発行したバス使用の要求と、同一の優先順位で受け付けられる。   According to the eighth aspect of the present invention, the compatible processor capable of executing software executable by the previous generation processor includes a plurality of compatible bus masters compatible with each of the previous generation bus masters of the previous generation processor, Compatible bus arbitration means for arbitrating a bus use request issued by the compatible bus master, and any software that can be executed by a previous generation processor is compatible with the compatible processor during execution of the software. The bus use request issued by the bus master is accepted in the same priority as the bus use request issued by the bus master during execution of the software in the previous generation processor.

この構成によれば、バス調停に対して、前世代のプロセッサとの後方互換性を実現できる互換プロセッサを提供することができる。   According to this configuration, it is possible to provide a compatible processor capable of realizing backward compatibility with the previous generation processor for bus arbitration.

本発明の第9の形態によると、データを処理する演算論理回路と、データ処理動作を制御する物理制御レジスタを備えたプロセッサは、仮想のレジスタが、前記プロセッサの論理アドレス空間のアドレスへこの仮想のレジスタをマッピングすることにより定義され、前記プロセッサで実行可能なソフトウエアの構成において、前記仮想のレジスタのアドレスに値を書き込む命令は、一定の機能を有し、前記プロセッサの論理アドレス空間のアドレスが前記物理制御レジスタへマッピングされ、前記物理制御レジスタのアドレスは、前記仮想のレジスタのアドレスとは異なっており、前記物理制御レジスタは、前記一定の機能と同等の機能を、前記プロセッサのハードウエアにおいて提供し、前記仮想のレジスタのアドレスに値を書き込む前記命令が実行された場合、対応する値が、前記物理制御レジスタに書き込まれる。   According to the ninth aspect of the present invention, in a processor including an arithmetic logic circuit that processes data and a physical control register that controls data processing operations, a virtual register is transferred to an address in the logical address space of the processor. In the software configuration executable by the processor, an instruction to write a value to the virtual register address has a certain function, and the logical address space address of the processor Is mapped to the physical control register, and the address of the physical control register is different from the address of the virtual register, and the physical control register has a function equivalent to the certain function, and the hardware of the processor. And writing a value to the address of the virtual register If the decree is executed, the corresponding value is written to the physical control register.

この構成によれば、制御レジスタに対して、前世代のプロセッサとの後方互換性を実現できるプロセッサを提供することができる。   According to this configuration, it is possible to provide a processor that can realize backward compatibility with the previous generation processor for the control register.

本発明の第10の形態によると、前世代のプロセッサで実行可能なソフトウェアが実行可能な互換プロセッサによれば、前記互換プロセッサにおいて、バス使用要求は、複数の要因に基いて発行され、これら複数の要因間の優先順位に基いて受け付けられ、前記前世代のプロセッサ内においても、前記前世代のプロセッサで発行されるバスの使用要求は、複数の要因に基いて発行され、これら複数の要因間の優先順位に基いて受け付けられ、又、前記前世代のプロセッサのこれら複数の要因は、前記ソフトウェアの実行中のバスの使用要求に関して、前記互換プロセッサの複数の要因の実質的なサブセットとなっており、前記互換プロセッサの複数の要因の前記サブセット内での優先順位は、前記前世代のプロセッサにおける複数の要因の間での優先順位と同一である。   According to the tenth aspect of the present invention, according to the compatible processor capable of executing the software executable by the previous generation processor, in the compatible processor, the bus use request is issued based on a plurality of factors. The bus use request issued by the previous generation processor is issued based on a plurality of factors, even within the previous generation processor. And the plurality of factors of the previous generation processor are a substantial subset of the factors of the compatible processor with respect to bus usage requirements during execution of the software. And the priority within the subset of the factors of the compatible processor is between the factors of the previous generation processor. The same as the priority.

この構成によれば、バス調停に対して、前世代のプロセッサとの後方互換性を実現できる互換プロセッサを提供することができる。   According to this configuration, it is possible to provide a compatible processor capable of realizing backward compatibility with the previous generation processor for bus arbitration.

以下、本発明の実施の形態について、図面を参照しながら説明する。なお、図中、同一または相当部分については同一の参照符号を付してその説明を援用する。また、本明細書及び図面において、信号のどのビットかを示す必要があるときは、信号名の後に、[a:b]あるいは[a]を付する。[a:b]は、その信号の第a番目のビットから第b番目のビットを意味し、[a]は、その信号の第a番目のビットを意味する。16進数の表現に関しては、10進数と区別するために数字の末尾に「H」を付けて表記する。また、「0b」は2進数を、「0x」は16進数を意味する。1ビットの信号については、特に断らない限り、「1」をアサート(真)、「0」をネゲート(偽)、とする。   Hereinafter, embodiments of the present invention will be described with reference to the drawings. In the drawings, the same or corresponding parts are denoted by the same reference numerals, and the description thereof is incorporated. In the present specification and drawings, when it is necessary to indicate which bit of a signal, [a: b] or [a] is added after the signal name. [A: b] means the a-th bit to the b-th bit of the signal, and [a] means the a-th bit of the signal. Hexadecimal numbers are expressed by adding “H” at the end of the numbers to distinguish them from decimal numbers. “0b” means a binary number, and “0x” means a hexadecimal number. For 1-bit signals, “1” is asserted (true) and “0” is negated (false) unless otherwise specified.

図1は、本発明の実施の形態によるデータ処理装置としての現世代のプロセッサ100の全体構成を示すブロック図である。   FIG. 1 is a block diagram showing an overall configuration of a current generation processor 100 as a data processing apparatus according to an embodiment of the present invention.

図5は、本発明の実施の形態によるデータ処理装置としての前世代のプロセッサ500の全体構成を示すブロック図である。   FIG. 5 is a block diagram showing the overall configuration of the previous generation processor 500 as the data processing apparatus according to the embodiment of the present invention.

本実施の形態による現世代のプロセッサ100は、前世代のプロセッサ500が実行可能なソフトウェア(以下、互換ソフトウェア、と呼ぶ。)、及び、前世代のプロセッサ500が実行不可能なソフトウェア(以下、非互換ソフトウェア、と呼ぶ。)のいずれのソフトウェアも実行可能である。つまり、現世代のプロセッサ100は、前世代のプロセッサ500に対して、バイナリコードレベルでのソフトウェアの後方互換性、即ち命令セットの後方互換性を有している。まず、現世代のプロセッサ100の概要を説明し、その次に、前世代のプロセッサ500の概要を説明する。   The current generation processor 100 according to the present embodiment includes software that can be executed by the previous generation processor 500 (hereinafter referred to as compatible software) and software that cannot be executed by the previous generation processor 500 (hereinafter referred to as non-software). Any software can be executed. That is, the current generation processor 100 has backward compatibility of software at the binary code level, that is, backward compatibility of the instruction set, with respect to the previous generation processor 500. First, an overview of the current generation processor 100 will be described, and then an overview of the previous generation processor 500 will be described.

図1に示すように、このプロセッサ100は、中央演算処理装置(CPU:central processing unit)1、グラフィックプロセッサ3、ピクセルプロッタ5、サウンドプロセッサ7、DMA(direct memory access)コントローラ9、第1バスアービタ13、第2バスアービタ14、バックアップコントロール回路15、メインメモリ17、タイマ回路19、A/Dコンバータ(ADC:analog to digital converter)20、入出力制御回路21、外部メモリインタフェース回路23、クロックドライバ29、PLL(phase−locked loop)回路27、低電圧検出回路25、第1バス31、及び第2バス33を含む。   As shown in FIG. 1, the processor 100 includes a central processing unit (CPU) 1, a graphic processor 3, a pixel plotter 5, a sound processor 7, a DMA (direct memory access) controller 9, and a first bus arbiter 13. , Second bus arbiter 14, backup control circuit 15, main memory 17, timer circuit 19, A / D converter (ADC: analog to digital converter) 20, input / output control circuit 21, external memory interface circuit 23, clock driver 29, PLL A (phase-locked loop) circuit 27, a low voltage detection circuit 25, a first bus 31, and a second bus 33 are included.

ここで、本実施の形態では、メインメモリ17及び外部メモリ45,46,47を区別して説明する必要がないときは、「メモリMEMC」と表記する。   Here, in the present embodiment, when it is not necessary to distinguish between the main memory 17 and the external memories 45, 46, and 47, they are described as “memory MEMC”.

CPU1は、メモリMEMCに格納されたプログラムに従い、各種演算やシステム全体の制御を行う。CPU1は、第1バス31及び第2バス33のバスマスタであり、それぞれのバスに接続された資源にアクセスが可能である。   The CPU 1 performs various calculations and control of the entire system according to a program stored in the memory MEMC. The CPU 1 is a bus master of the first bus 31 and the second bus 33 and can access resources connected to the respective buses.

グラフィックプロセッサ3は、第1バス31及び第2バス33のバスマスタであり、メモリMEMCに格納されたデータをグラフィックデータに変換し、さらにこれを基にテレビジョン受像機(図示せず)に合わせたビデオ信号VDを生成して出力する。   The graphic processor 3 is a bus master of the first bus 31 and the second bus 33, converts data stored in the memory MEMC into graphic data, and further adjusts it to a television receiver (not shown) based on this data. A video signal VD is generated and output.

ここで、グラフィックデータは、バックグラウンドスクリーンとスプライトとビットマップスクリーンとから合成される。バックグラウンドスクリーンは、二次元配列からなり、テレビジョン受像機のスクリーンを全て覆う大きさを持つ。そして、各配列要素は、矩形の画素集合からなる。奥行きのある背景を形成できるように、バックグラウンドスクリーンとして、第1のバックグラウンドスクリーンと第2のバックグラウンドスクリーンとが用意される。スプライトは、テレビジョン受像機のスクリーンのいずれの位置にでも配置可能な1つの矩形の画素集合からなる。バックグラウンドスクリーンやスプライトを構成する矩形の画素集合を、キャラクタと呼ぶ。ビットマップスクリーンは自由に大きさと位置を設定可能な二次元ピクセル配列からなる。   Here, the graphic data is synthesized from the background screen, the sprite, and the bitmap screen. The background screen has a two-dimensional array and has a size that covers the entire screen of the television receiver. Each array element is composed of a rectangular pixel set. A first background screen and a second background screen are prepared as background screens so that a deep background can be formed. A sprite consists of one rectangular pixel set that can be placed at any position on the screen of a television receiver. A rectangular pixel group constituting a background screen or sprite is called a character. The bitmap screen consists of a two-dimensional pixel array whose size and position can be freely set.

グラフィックプロセッサ3が、メモリMEMCから、スプライトを構成するキャラクタのパターンデータ(キャラクタパターンデータ)をフェッチする際のアドレッシングモードについて説明する。8種類のアドレッシングモードが用意される。即ち、8ビットキャラクタ番号モード、16ビットキャラクタ番号モード、アラインメント付き16ビットポインタモード、16ビットアドレスポインタモード、24ビットアドレスポインタモード、16ビット拡張キャラクタ番号モード、16ビット拡張アドレスポインタモード、及びアラインメント付き24ビットポインタモードが用意される。そして、下記のようにして、各モードに応じて、実アドレスへの変換が行われる。   An addressing mode when the graphic processor 3 fetches pattern data (character pattern data) of characters constituting a sprite from the memory MEMC will be described. Eight types of addressing modes are prepared. That is, 8-bit character number mode, 16-bit character number mode, 16-bit pointer mode with alignment, 16-bit address pointer mode, 24-bit address pointer mode, 16-bit extended character number mode, 16-bit extended address pointer mode, and with alignment A 24-bit pointer mode is prepared. Then, conversion to a real address is performed according to each mode as described below.

図2Aは、8ビットキャラクタ番号モードの説明図、図2Bは、16ビットキャラクタ番号モードの説明図、図2Cは、アラインメント付き16ビットポインタモードの説明図である。   2A is an explanatory diagram of the 8-bit character number mode, FIG. 2B is an explanatory diagram of the 16-bit character number mode, and FIG. 2C is an explanatory diagram of the 16-bit pointer mode with alignment.

図3Aは、16ビットアドレスポインタモードの説明図、図3Bは、24ビットアドレスポインタモードの説明図である。   3A is an explanatory diagram of the 16-bit address pointer mode, and FIG. 3B is an explanatory diagram of the 24-bit address pointer mode.

図4Aは、16ビット拡張キャラクタ番号モードの説明図、図4Bは、16ビット拡張アドレスポインタモードの説明図、図4Cは、アラインメント付き24ビットポインタモードの説明図である。   4A is an explanatory diagram of the 16-bit extended character number mode, FIG. 4B is an explanatory diagram of the 16-bit extended address pointer mode, and FIG. 4C is an explanatory diagram of the 24-bit pointer mode with alignment.

図2Aに示すように、8ビットキャラクタ番号モードは、キャラクタの選択を8ビットの番号で行う。図2Bに示すように、16ビットキャラクタ番号モードは、キャラクタの選択を16ビットの番号で行う。   As shown in FIG. 2A, in the 8-bit character number mode, characters are selected using 8-bit numbers. As shown in FIG. 2B, in the 16-bit character number mode, characters are selected using a 16-bit number.

これらのモードでは、第0セグメントレジスタに格納された16ビットのセグメントアドレスから24ビットのベースアドレス(256バイトアラインメント、つまり、下位8ビットが全て「0」)が生成され、このベースアドレスをベースに、1ピクセルのビット数Mとサイズ情報Sとで示される1キャラクタの容量おきに配置された実アドレスが計算される。1ピクセルのビット数Mは、いわゆるカラーモード(Mビット/ピクセル)を示す情報であり、1〜8までの任意の値に設定できる。サイズ情報Sは、スプライトを構成するキャラクタのサイズ、つまり、そのキャラクタがいくつのピクセルで構成されているかを示す情報である。キャラクタの横サイズをXピクセル、縦サイズをYピクセルとすると、サイズ情報S=X×Y、となる。例えば、横サイズXは、8ピクセルまたは16ピクセルであり、縦サイズYは、8ピクセル又は16ピクセルである。   In these modes, a 24-bit base address (256-byte alignment, that is, all the lower 8 bits are all “0”) is generated from the 16-bit segment address stored in the 0th segment register. The real addresses arranged at the capacity of one character indicated by the bit number M of one pixel and the size information S are calculated. The bit number M of one pixel is information indicating a so-called color mode (M bits / pixel), and can be set to any value from 1 to 8. The size information S is information indicating the size of the character constituting the sprite, that is, how many pixels the character is composed of. If the horizontal size of the character is X pixels and the vertical size is Y pixels, the size information S = X × Y. For example, the horizontal size X is 8 pixels or 16 pixels, and the vertical size Y is 8 pixels or 16 pixels.

具体的には、(ベースアドレス)+(キャラクタの番号)×(1ピクセルのビット数M)×(サイズ情報Sが示す1キャラクタのピクセル数)/8により算出される24ビットのアドレスの上位に、3ビット(0b000)を付加することで、27ビットの実アドレスを生成する。なお、「8」で除算しているのは、実アドレスがバイトアドレスだからである。   Specifically, it is higher than the 24-bit address calculated by (base address) + (character number) × (number of bits of one pixel M) × (number of pixels of one character indicated by size information S) / 8. By adding 3 bits (0b000), a 27-bit real address is generated. Note that the division by “8” is because the real address is a byte address.

アラインメント付き16ビットポインタモードは、キャラクタの選択を、アラインメント付きの16ビットのアドレスポインタで行う。具体的には、図2Cに示すように、アラインメント付き16ビットポインタの上位3ビットで指し示される第Kセグメントレジスタ(K=0〜7)に格納された16ビットのセグメントアドレスから24ビットのベースアドレス(256バイトアラインメント、つまり、下位8ビットが全て「0」)が生成される。このベースアドレスと、アラインメント付き16ビットポインタの下位13ビットの下位に3ビット(0b000)を付加したもの(8バイトアラインメント)と、の和である24ビットのアドレスの上位に、3ビット(0b000)を付加して、27ビットの実アドレス(アドレスポインタ)を生成する。   In the 16-bit pointer mode with alignment, a character is selected by using a 16-bit address pointer with alignment. Specifically, as shown in FIG. 2C, a 24-bit base is generated from the 16-bit segment address stored in the K-th segment register (K = 0 to 7) indicated by the upper 3 bits of the aligned 16-bit pointer. An address (256 byte alignment, ie, all the lower 8 bits are “0”) is generated. 3 bits (0b000) above the 24-bit address that is the sum of this base address and the lower 13 bits of the aligned 16-bit pointer with 3 bits (0b000) added (8-byte alignment) Is added to generate a 27-bit real address (address pointer).

16ビットアドレスポインタモードは、キャラクタの選択を、16ビットのアドレスポインタで行う。具体的には、図3Aに示すように、16ビットアドレスポインタの上位4ビットで指し示される第Jセグメントレジスタ(J=0〜15)に格納された16ビットのセグメントアドレスから、24ビットのベースアドレス(256バイトアラインメント、つまり、下位8ビットが全て「0」)が生成される。このベースアドレスと、16ビットアドレスポインタの下位12ビットと、の和である24ビットのアドレスの上位に、3ビット(0b000)を付加して、27ビットの実アドレスを生成する。   In the 16-bit address pointer mode, characters are selected using a 16-bit address pointer. Specifically, as shown in FIG. 3A, a 24-bit base is generated from the 16-bit segment address stored in the J-th segment register (J = 0 to 15) indicated by the upper 4 bits of the 16-bit address pointer. An address (256 byte alignment, ie, all the lower 8 bits are “0”) is generated. Three bits (0b000) are added to the upper part of the 24-bit address that is the sum of the base address and the lower 12 bits of the 16-bit address pointer to generate a 27-bit real address.

24ビットアドレスポインタモードは、キャラクタの選択を、24ビットのアドレスポインタで行う。具体的には、図3Bに示すように、24ビットアドレスポインタの上位に、3ビット(0b000)を付加した値が27ビットの実アドレス(アドレスポインタ)となる。   In the 24-bit address pointer mode, characters are selected using a 24-bit address pointer. Specifically, as shown in FIG. 3B, a value obtained by adding 3 bits (0b000) to the upper part of the 24-bit address pointer is a 27-bit real address (address pointer).

16ビット拡張キャラクタ番号モードは、16ビットキャラクタ番号モードを拡張したモードである。図4Aに示すように、このモードでは、第0セグメントレジスタに格納された16ビットのセグメントアドレスから生成された27ビットのベースアドレス(2Kバイトアラインメント、つまり、下位11ビットが全て「0」)をベースに、1ピクセルのビット数Mとサイズ情報Sとで示される1キャラクタの容量おきに配置された実アドレスが計算される。具体的な計算方法は、16ビットキャラクタ番号モードと同様である。   The 16-bit extended character number mode is an extended version of the 16-bit character number mode. As shown in FIG. 4A, in this mode, a 27-bit base address (2K byte alignment, that is, all the lower 11 bits are “0”) generated from the 16-bit segment address stored in the 0th segment register. Based on the bit number M of one pixel and the size information S, real addresses arranged at every character capacity are calculated. A specific calculation method is the same as in the 16-bit character number mode.

具体的には、(ベースアドレス)+(キャラクタの番号)×(1ピクセルのビット数M)×(サイズ情報Sが示す1キャラクタのピクセル数)/8により、27ビットの実アドレス(アドレスポインタ)を生成する。   Specifically, a 27-bit real address (address pointer) by (base address) + (character number) × (number of bits of one pixel M) × (number of pixels of one character indicated by size information S) / 8 Is generated.

16ビット拡張アドレスポインタモードは、16ビットアドレスポインタモードを拡張したモードである。具体的には、図4Bに示すように、16ビットアドレスポインタの上位4ビット指し示される第Jセグメントレジスタ(J=0〜15)に格納された16ビットのセグメントアドレスから27ビットのベースアドレス(2Kバイトアラインメント、つまり、下位11ビットが全て「0」)を生成する。このベースアドレスと、16ビットアドレスポインタの下位12ビットと、の和が27ビットの実アドレス(アドレスポインタ)となる。   The 16-bit extended address pointer mode is an extended version of the 16-bit address pointer mode. Specifically, as shown in FIG. 4B, the 27-bit base address (from the 16-bit segment address stored in the J-th segment register (J = 0 to 15) indicated by the upper 4 bits of the 16-bit address pointer) 2K byte alignment, that is, all the lower 11 bits are “0”). The sum of this base address and the lower 12 bits of the 16-bit address pointer is a 27-bit real address (address pointer).

アラインメント付き24ビットポインタモードでは、図4Cに示すように、24ビットのポインタが、27ビットの実アドレスの上位24ビットとなり、下位3ビットは「0」で占められる(8バイトアラインメント)。下位3ビットを「0」にしても、最も小さいキャラクタパターンデータの容量が8バイトであり、また、それより大きいキャラクタパターンデータの容量も、8バイトの整数倍であるため、何らの不都合はない。むしろ、このようにすることで、限られたビット数で大きなアドレス空間にアクセスできる。   In the 24-bit pointer mode with alignment, as shown in FIG. 4C, the 24-bit pointer is the upper 24 bits of the 27-bit real address, and the lower 3 bits are occupied by “0” (8-byte alignment). Even if the lower 3 bits are set to “0”, the capacity of the smallest character pattern data is 8 bytes, and the capacity of the larger character pattern data is an integral multiple of 8 bytes, so there is no inconvenience. . Rather, this makes it possible to access a large address space with a limited number of bits.

図1に戻って、グラフィックプロセッサ3は、第1バス31を通じて、CPU1により制御され、また、CPU1に対して、割込み要求信号INRQを発生する機能を有する。   Returning to FIG. 1, the graphic processor 3 is controlled by the CPU 1 through the first bus 31 and has a function of generating an interrupt request signal INRQ to the CPU 1.

ピクセルプロッタ5は、第1バス31を通じて、CPU1により制御され、CPU1から与えられたピクセルデータの描画を実行する。この場合、ピクセル単位での描画が可能である。ここで言うピクセルデータは、1ピクセルの表示色をMビット(Mは1以上の整数)で表したデータである。本実施の形態では、M=1〜8の例を挙げる。   The pixel plotter 5 is controlled by the CPU 1 through the first bus 31 and executes drawing of pixel data given from the CPU 1. In this case, drawing in units of pixels is possible. The pixel data here is data representing the display color of one pixel in M bits (M is an integer of 1 or more). In the present embodiment, examples where M = 1 to 8 are given.

また、ピクセルプロッタ5は、キャッシュシステムにより、高速な描画と効率的なバス(第1バス31及び第2バス33)の使用を実現している。さらに、ピクセルプロッタ5は、第1バス31及び第2バス33のバスマスタであり、キャッシュ(図示せず)からメモリMEMCへのライト及びメモリMEMCからキャッシュへのライトを自律的に行うことができる。   The pixel plotter 5 realizes high-speed drawing and efficient use of the buses (the first bus 31 and the second bus 33) by the cache system. Further, the pixel plotter 5 is a bus master of the first bus 31 and the second bus 33, and can autonomously write from a cache (not shown) to the memory MEMC and from the memory MEMC to the cache.

サウンドプロセッサ7は、第1バス31及び第2バス33のバスマスタであり、メモリMEMCに格納されたデータをサウンドデータに変換し、さらにこれを基にオーディオ信号AUを生成して出力する。   The sound processor 7 is a bus master of the first bus 31 and the second bus 33, converts data stored in the memory MEMC into sound data, and further generates and outputs an audio signal AU based on the sound data.

サウンドデータは、基本の音色となるPCM(パルスコードモジュレーション)データに対し、ピッチ変換及び振幅変調を行い合成される。振幅変調では、CPU1によって指示されるボリューム制御の他に、楽器の波形を再現するための機能が用意される。   Sound data is synthesized by performing pitch conversion and amplitude modulation on PCM (pulse code modulation) data, which is a basic timbre. In the amplitude modulation, in addition to the volume control instructed by the CPU 1, a function for reproducing the waveform of the musical instrument is prepared.

また、サウンドプロセッサ7は、第1バス31を通じて、CPU1により制御され、また、CPU1に対して、割込み要求信号INRQを発生する機能を有する。   The sound processor 7 is controlled by the CPU 1 through the first bus 31 and has a function of generating an interrupt request signal INRQ to the CPU 1.

DMAコントローラ9は、外部バス43に接続された外部メモリ45,46,47から、メインメモリ17へのデータ転送を司る。外部メモリ45,46,47として、例えば、SRAM(static random access memory)、DRAM(dynamic random access memory)、若しくはROM(read only memory)等、任意のメモリを用いることができるし、その数も問わない。また、DMAコントローラ9は、データ転送の完了を通知するために、CPU1に対する割込み要求信号INRQを発生する機能を有する。さらに、DMAコントローラ9は、第1バス31及び第2バス33のバスマスタであり、また、第1バス31を通じてCPU1により制御される。   The DMA controller 9 manages data transfer from the external memories 45, 46, 47 connected to the external bus 43 to the main memory 17. As the external memories 45, 46, 47, for example, any memory such as SRAM (static random access memory), DRAM (dynamic random access memory), or ROM (read only memory) can be used. Absent. The DMA controller 9 has a function of generating an interrupt request signal INRQ for the CPU 1 in order to notify the completion of data transfer. Further, the DMA controller 9 is a bus master of the first bus 31 and the second bus 33, and is controlled by the CPU 1 through the first bus 31.

メインメモリ17は、マスクROM、SRAM、及び、DRAMのうち、必要なものを備える。本実施の形態では、メインメモリ17をSRAMで構成する。   The main memory 17 includes necessary ones of a mask ROM, SRAM, and DRAM. In the present embodiment, the main memory 17 is composed of SRAM.

バックアップコントロール回路15は、後述の低電圧検出回路25が低電圧を検知した場合に、メインメモリ17を非活性化する。そして、メインメモリ17には、バッテリ41から電源電圧が供給される。従って、電源電圧Vcc0及びVcc1の供給が停止された場合でも、SRAMたるメインメモリ17のデータが保持される。   The backup control circuit 15 deactivates the main memory 17 when a low voltage detection circuit 25 described later detects a low voltage. The main memory 17 is supplied with a power supply voltage from the battery 41. Therefore, even when the supply of the power supply voltages Vcc0 and Vcc1 is stopped, the data in the main memory 17 as the SRAM is retained.

第1バスアービタ13は、第1バス31の各バスマスタからの第1バス使用要求信号を受け付け、調停を行って、バスサイクル毎に1つのバスマスタに対して第1バス使用許可信号を発行する。具体的には、複数のバスマスタの第1バス31に対する優先順位を定めた優先順位情報セットが複数用意され、第1バスアービタ13は、複数の優先順位情報セットを順次的かつ巡回的に選択して、選択した優先順位情報セットに従って調停を行う。詳細は後述する。   The first bus arbiter 13 receives a first bus use request signal from each bus master of the first bus 31, performs arbitration, and issues a first bus use permission signal to one bus master every bus cycle. Specifically, a plurality of priority information sets that determine priorities of a plurality of bus masters with respect to the first bus 31 are prepared, and the first bus arbiter 13 selects a plurality of priority information sets sequentially and cyclically. Then, arbitration is performed according to the selected priority order information set. Details will be described later.

各バスマスタは、第1バス使用許可信号を受領することによって第1バス31の使用が許可される。ここで、第1バス使用要求信号及び第1バス使用許可信号は、図1では、第1バス調停信号FABとして示されている。   Each bus master is permitted to use the first bus 31 by receiving the first bus use permission signal. Here, the first bus use request signal and the first bus use permission signal are shown as a first bus arbitration signal FAB in FIG.

第1バス31は、例えば、8ビットのデータバス312(後述)、15ビットのアドレスバス311(後述)、及びコントロールバス313(後述)を含む。   The first bus 31 includes, for example, an 8-bit data bus 312 (described later), a 15-bit address bus 311 (described later), and a control bus 313 (described later).

第2バスアービタ14は、第2バス33の各バスマスタからの第2バス使用要求信号を受け付け、調停を行って、要求されたバイト数に対応する1または複数のバスサイクル毎に1つのバスマスタに第2バス使用許可信号を発行する。具体的には、複数のバスマスタの第2バス33に対する優先順位を定めた優先順位情報セットが複数用意され、第2バスアービタ14は、その複数の優先順位情報セットを順次的かつ巡回的に選択して、選択した優先順位情報セットに従って調停を行う。詳細は後述する。   The second bus arbiter 14 receives the second bus use request signal from each bus master of the second bus 33, performs arbitration, and transfers the first bus master to one bus master every one or more bus cycles corresponding to the requested number of bytes. Issue 2 bus use permission signal. Specifically, a plurality of priority information sets that determine priorities of the plurality of bus masters with respect to the second bus 33 are prepared, and the second bus arbiter 14 selects the plurality of priority information sets sequentially and cyclically. Then, arbitration is performed according to the selected priority information set. Details will be described later.

各バスマスタは、第2バス使用許可信号を受領することによって第2バス33の使用が許可される。ここで、第2バス使用要求信号及び第2バス使用許可信号は、図1では、第2バス調停信号SABとして示されている。   Each bus master is permitted to use the second bus 33 by receiving the second bus use permission signal. Here, the second bus use request signal and the second bus use permission signal are shown as the second bus arbitration signal SAB in FIG.

第2バス33は、例えば、16ビットのデータバス、27ビットのアドレスバス、及びコントロールバスを含む(図示せず)。   The second bus 33 includes, for example, a 16-bit data bus, a 27-bit address bus, and a control bus (not shown).

タイマ回路19は、設定された時間間隔に基づき、CPU1に対する割込み要求信号INRQを発生する機能を有する。時間間隔等の設定は、第1バス31を介してCPU1によって行われる。   The timer circuit 19 has a function of generating an interrupt request signal INRQ for the CPU 1 based on a set time interval. The time interval and the like are set by the CPU 1 via the first bus 31.

ADC20は、アナログ入力信号をデジタル信号に変換する。このデジタル信号は、第1バス31を介してCPU1によってリードされる。また、ADC20は、CPU1に対して、割込み要求信号INRQを発生する機能を有する。なお、外部からのアナログ信号は、例えば、6つのアナログポートAIN0〜5(図示せず)を介して、ADC20へ入力される。   The ADC 20 converts an analog input signal into a digital signal. This digital signal is read by the CPU 1 via the first bus 31. Further, the ADC 20 has a function of generating an interrupt request signal INRQ for the CPU 1. An external analog signal is input to the ADC 20 via, for example, six analog ports AIN0 to AIN5 (not shown).

入出力制御回路21は、外部入出力装置や外部の半導体素子との通信等を、入出力信号を介して行う。入出力信号は、第1バス31を介して、CPU1からリード/ライトされる。また、入出力制御回路21は、CPU1に対して、割込み要求信号INRQを発生する機能を有する。なお、入出力信号は、例えば、プログラマブルな入出力ポートIO0〜IO23(図示せず)を介して入出力される。   The input / output control circuit 21 communicates with an external input / output device or an external semiconductor element via an input / output signal. Input / output signals are read / written from the CPU 1 via the first bus 31. The input / output control circuit 21 has a function of generating an interrupt request signal INRQ for the CPU 1. The input / output signals are input / output via, for example, programmable input / output ports IO0 to IO23 (not shown).

低電圧検出回路25は、電源電圧Vcc0及びVcc1を監視し、いずれかの電源電圧がそれぞれについて定められた電圧以下になったときに、PLL回路27等のリセット信号及びその他のシステム全体のリセット信号RSETを発行する。   The low voltage detection circuit 25 monitors the power supply voltages Vcc0 and Vcc1, and when any one of the power supply voltages falls below a predetermined voltage, a reset signal for the PLL circuit 27 and other system-wide reset signals. Issue a RSET.

ここで、電源電圧Vcc0は、例えば、+2.5Vであり、主にプロセッサ100内のデジタル回路に供給される。また、電源電圧Vcc1は、例えば、+3.3Vであり、主にプロセッサ100内のアナログ回路及びI/O部に供給される。   Here, the power supply voltage Vcc0 is, for example, +2.5 V, and is mainly supplied to a digital circuit in the processor 100. The power supply voltage Vcc1 is, for example, + 3.3V, and is mainly supplied to the analog circuit and the I / O unit in the processor 100.

PLL回路27は、水晶振動子37より得られる正弦波信号を逓倍した高周波クロック信号を生成する。   The PLL circuit 27 generates a high frequency clock signal obtained by multiplying the sine wave signal obtained from the crystal resonator 37.

クロックドライバ29は、PLL回路27より受け取った高周波クロック信号を、十分な信号強度へ増幅して、内部クロックICLKとして、各ブロックへ供給する。   The clock driver 29 amplifies the high-frequency clock signal received from the PLL circuit 27 to a sufficient signal strength and supplies it to each block as the internal clock ICLK.

外部メモリインタフェース回路23は、第2バス33を外部バス43に接続するための機能を有する。   The external memory interface circuit 23 has a function for connecting the second bus 33 to the external bus 43.

図1のプロセッサ100におけるデータの転送経路を説明する。例えば、バスマスタたるCPU1が、バススレイブとして第1バス31に接続されている他の機能ブロック(グラフィックプロセッサ3、ピクセルプロッタ5、サウンドプロセッサ7、DMAコントローラ9、第1バスアービタ13、第2バスアービタ14、等)を制御する場合は、これら機能ブロックの制御レジスタ等へのライトデータは、第1バスアービタ13へ与えられ、調停後に、第1バス31から、各機能ブロックに与えられる。一方、これら機能ブロックの制御レジスタ等からのリードデータは、調停後に、第1バス31及び第1バスアービタ13を介して、CPU1に与えられる。但し、グラフィックプロセッサ3、ピクセルプロッタ5、サウンドプロセッサ7、DMAコントローラ9は、第1バス31のバスマスタとして、第1バスアービタ13へバス使用要求を行う機能を備える。   A data transfer path in the processor 100 of FIG. 1 will be described. For example, the CPU 1 serving as the bus master has other function blocks (graphic processor 3, pixel plotter 5, sound processor 7, DMA controller 9, first bus arbiter 13, second bus arbiter 14, etc.) connected to the first bus 31 as a bus slave. Etc.), the write data to the control registers of these functional blocks is given to the first bus arbiter 13, and after arbitration, is given to each functional block from the first bus 31. On the other hand, read data from the control registers of these functional blocks is given to the CPU 1 via the first bus 31 and the first bus arbiter 13 after arbitration. However, the graphic processor 3, the pixel plotter 5, the sound processor 7, and the DMA controller 9 have a function of making a bus use request to the first bus arbiter 13 as a bus master of the first bus 31.

バスマスタが、メインメモリ17に対してアクセスする場合は、ライトデータは、第1バスアービタ13に与えられ、調停後に、第1バス31から、メインメモリ17に与えられる。一方、リードデータは、調停後に、第1バス31及び第1バスアービタ13を介して、バスマスタに与えられる。また、バスマスタが、外部メモリ45〜47に対してアクセスする場合は、ライトデータは、第2バスアービタ14に与えられ、調停後に、第2バス33から、外部メモリインタフェース回路23及び外部バス43を介して、外部メモリに与えられる。一方、リードデータは、調停後に、外部バス43、外部メモリインタフェース回路23、第2バス33及び第2バスアービタ14を介して、バスマスタに与えられる。   When the bus master accesses the main memory 17, the write data is given to the first bus arbiter 13, and after arbitration, is given from the first bus 31 to the main memory 17. On the other hand, the read data is given to the bus master via the first bus 31 and the first bus arbiter 13 after arbitration. When the bus master accesses the external memories 45 to 47, the write data is given to the second bus arbiter 14, and after arbitration, the second bus 33 passes through the external memory interface circuit 23 and the external bus 43. To the external memory. On the other hand, the read data is given to the bus master via the external bus 43, the external memory interface circuit 23, the second bus 33, and the second bus arbiter 14 after arbitration.

図5を参照して、このプロセッサ500は、中央演算処理装置(CPU)501、グラフィックプロセッサ503、サウンドプロセッサ507、DMAコントローラ509、第1バスアービタ513、第2バスアービタ514、メインメモリ517、タイマ回路519、A/Dコンバータ(ADC)520、入出力制御回路521、外部メモリインタフェース回路523、クロックドライバ529、PLL回路527、低電圧検出回路525、第1バス531、第2バス533、及びDRAMリフレッシュ制御回路522を含む。   Referring to FIG. 5, a processor 500 includes a central processing unit (CPU) 501, a graphic processor 503, a sound processor 507, a DMA controller 509, a first bus arbiter 513, a second bus arbiter 514, a main memory 517, and a timer circuit 519. , A / D converter (ADC) 520, input / output control circuit 521, external memory interface circuit 523, clock driver 529, PLL circuit 527, low voltage detection circuit 525, first bus 531, second bus 533, and DRAM refresh control A circuit 522 is included.

ここで、本実施の形態では、メインメモリ517及び外部メモリ545,546,547を区別して説明する必要がないときは、「メモリMEMP」と表記する。   Here, in this embodiment, when it is not necessary to distinguish between the main memory 517 and the external memories 545, 546, and 547, they are expressed as “memory MEMP”.

CPU501は、メモリMEMPに格納されたプログラムに従い、各種演算やシステム全体の制御を行う。CPU501は、第1バス531及び第2バス533のバスマスタであり、それぞれのバスに接続された資源にアクセスが可能である。   The CPU 501 performs various calculations and control of the entire system according to a program stored in the memory MEMP. The CPU 501 is a bus master of the first bus 531 and the second bus 533, and can access resources connected to the respective buses.

グラフィックプロセッサ503は、第1バス531及び第2バス533のバスマスタであり、メモリMEMPに格納されたデータをグラフィックデータに変換し、さらにこれを基にテレビジョン受像機(図示せず)に合わせたビデオ信号VDを生成して出力する。   The graphic processor 503 is a bus master of the first bus 531 and the second bus 533, converts data stored in the memory MEMP into graphic data, and further adjusts it to a television receiver (not shown) based on this data. A video signal VD is generated and output.

ここで、グラフィックデータは、バックグラウンドスクリーンとスプライトとから合成される。現世代のプロセッサ100と同様に、バックグラウンドスクリーンとして、第1のバックグラウンドスクリーンと第2のバックグラウンドスクリーンとが用意される。   Here, the graphic data is synthesized from the background screen and the sprite. Similar to the current generation processor 100, a first background screen and a second background screen are prepared as background screens.

グラフィックプロセッサ503が、メモリMEMPから、スプライトを構成するキャラクタパターンデータをフェッチする際のアドレッシングモードについて説明する。5種類のアドレッシングモードが用意される。即ち、8ビットキャラクタ番号モード、16ビットキャラクタ番号モード、アラインメント付き16ビットポインタモード、16ビットアドレスポインタモード、及び24ビットアドレスポインタモードが用意される。これらのモードは、現世代のプロセッサ100における8ビットキャラクタ番号モード、16ビットキャラクタ番号モード、アラインメント付き16ビットポインタモード、16ビットアドレスポインタモード、及び24ビットアドレスポインタモードと同様である。ただし、最終的に生成される実アドレス(アドレスポインタ)は、24ビットである。なぜなら、現世代のプロセッサ100の論理アドレス空間より狭いからである。従って、現世代のプロセッサ100のように、上位に3ビット(0b000)を付加することはしない。   An addressing mode when the graphic processor 503 fetches character pattern data constituting a sprite from the memory MEMP will be described. Five types of addressing modes are prepared. That is, an 8-bit character number mode, a 16-bit character number mode, a 16-bit pointer mode with alignment, a 16-bit address pointer mode, and a 24-bit address pointer mode are prepared. These modes are the same as the 8-bit character number mode, 16-bit character number mode, aligned 16-bit pointer mode, 16-bit address pointer mode, and 24-bit address pointer mode in the current generation processor 100. However, the real address (address pointer) finally generated is 24 bits. This is because the logical address space of the current generation processor 100 is narrower. Therefore, unlike the current generation processor 100, 3 bits (0b000) are not added to the upper order.

また、グラフィックプロセッサ503は、第1バス531を通じて、CPU501により制御され、また、CPU501に対して、割込み要求信号INRQを発生する機能を有する。   The graphic processor 503 is controlled by the CPU 501 through the first bus 531 and has a function of generating an interrupt request signal INRQ to the CPU 501.

サウンドプロセッサ507は、第1バス531及び第2バス533のバスマスタであり、メモリMEMPに格納されたデータをサウンドデータに変換し、さらにこれを基にオーディオ信号AUを生成して出力する。   The sound processor 507 is a bus master of the first bus 531 and the second bus 533, converts data stored in the memory MEMP into sound data, and further generates and outputs an audio signal AU based on the sound data.

また、サウンドプロセッサ507は、第1バス531を通じて、CPU501により制御され、また、CPU501に対して、割込み要求信号INRQを発生する機能を有する。   The sound processor 507 is controlled by the CPU 501 through the first bus 531 and has a function of generating an interrupt request signal INRQ to the CPU 501.

DMAコントローラ509は、外部バス543に接続された外部メモリ545〜547から、メインメモリ517へのデータ転送を司る。外部メモリ545〜547としては、外部メモリ45〜47と同様に、任意のメモリを用いることができるし、その数も問わない。また、DMAコントローラ509は、データ転送の完了を通知するために、CPU501に対する割込み要求信号INRQを発生する機能を有する。さらに、DMAコントローラ509は、第1バス531及び第2バス533のバスマスタであり、また、第1バス531を通じてCPU1により制御される。   The DMA controller 509 manages data transfer from the external memories 545 to 547 connected to the external bus 543 to the main memory 517. As the external memories 545 to 547, any memory can be used similarly to the external memories 45 to 47, and the number thereof is not limited. The DMA controller 509 has a function of generating an interrupt request signal INRQ for the CPU 501 in order to notify the completion of data transfer. Further, the DMA controller 509 is a bus master of the first bus 531 and the second bus 533, and is controlled by the CPU 1 through the first bus 531.

メインメモリ517は、マスクROM、SRAM、及び、DRAMのうち、必要なものを備える。   The main memory 517 includes necessary ones among a mask ROM, an SRAM, and a DRAM.

第1バスアービタ513は、第1バス531の各バスマスタからの第1バス使用要求信号を受け付け、調停を行って、バスサイクル毎に1つのバスマスタに対して第1バス使用許可信号を発行する。具体的には、複数のバスマスタの第1バス531に対する優先順位を定めた優先順位情報セットが複数用意され、第1バスアービタ513は、複数の優先順位情報セットを順次的かつ巡回的に選択して、選択した優先順位情報セットに従って調停を行う。   The first bus arbiter 513 receives a first bus use request signal from each bus master of the first bus 531, performs arbitration, and issues a first bus use permission signal to one bus master every bus cycle. Specifically, a plurality of priority information sets that determine priorities of the plurality of bus masters with respect to the first bus 531 are prepared, and the first bus arbiter 513 selects the plurality of priority information sets sequentially and cyclically. Then, arbitration is performed according to the selected priority order information set.

各バスマスタは、第1バス使用許可信号を受領することによって第1バス531の使用が許可される。ここで、第1バス使用要求信号及び第1バス使用許可信号は、図5では、第1バス調停信号FABとして示されている。   Each bus master is permitted to use the first bus 531 by receiving the first bus use permission signal. Here, the first bus use request signal and the first bus use permission signal are shown as a first bus arbitration signal FAB in FIG.

第1バス531は、例えば、8ビットのデータバス、15ビットのアドレスバス、及びコントロールバスを含む(図示せず)。   The first bus 531 includes, for example, an 8-bit data bus, a 15-bit address bus, and a control bus (not shown).

第2バスアービタ514は、第2バス533の各バスマスタからの第2バス使用要求信号を受け付け、調停を行って、バスサイクル毎に1つのバスマスタに第2バス使用許可信号を発行する。具体的には、複数のバスマスタの第2バス533に対する優先順位を定めた優先順位情報セットが複数用意され、第2バスアービタ514は、その複数の優先順位情報セットを順次的かつ巡回的に選択して、選択した優先順位情報セットに従って調停を行う。   The second bus arbiter 514 receives the second bus use request signal from each bus master of the second bus 533, performs arbitration, and issues a second bus use permission signal to one bus master every bus cycle. Specifically, a plurality of priority information sets that determine the priority order of the plurality of bus masters with respect to the second bus 533 are prepared, and the second bus arbiter 514 sequentially and cyclically selects the plurality of priority information sets. Then, arbitration is performed according to the selected priority information set.

各バスマスタは、第2バス使用許可信号を受領することによって第2バス533の使用が許可される。ここで、第2バス使用要求信号及び第2バス使用許可信号は、図5では、第2バス調停信号SABとして示されている。   Each bus master is permitted to use the second bus 533 by receiving the second bus use permission signal. Here, the second bus use request signal and the second bus use permission signal are shown as a second bus arbitration signal SAB in FIG.

第2バス533は、例えば、8ビットのデータバス、24ビットのアドレスバス、及びコントロールバスを含む(図示せず)。   The second bus 533 includes, for example, an 8-bit data bus, a 24-bit address bus, and a control bus (not shown).

タイマ回路519は、設定された時間間隔に基づき、CPU501に対する割込み要求信号INRQを発生する機能を有する。時間間隔等の設定は、第1バス531を介してCPU501によって行われる。   The timer circuit 519 has a function of generating an interrupt request signal INRQ for the CPU 501 based on a set time interval. The time interval and the like are set by the CPU 501 via the first bus 531.

ADC520は、アナログ入力信号をデジタル信号に変換する。このデジタル信号は、第1バス531を介してCPU501によってリードされる。また、ADC520は、CPU501に対して、割込み要求信号INRQを発生する機能を有する。なお、外部からのアナログ信号は、例えば、6つのアナログポートAIN0〜5(図示せず)を介して、ADC520へ入力される。   The ADC 520 converts an analog input signal into a digital signal. This digital signal is read by the CPU 501 via the first bus 531. The ADC 520 has a function of generating an interrupt request signal INRQ to the CPU 501. Note that an external analog signal is input to the ADC 520 via, for example, six analog ports AIN0 to AIN5 (not shown).

入出力制御回路521は、外部入出力装置や外部の半導体素子との通信等を、入出力信号を介して行う。入出力信号は、第1バス531を介して、CPU501からリード/ライトされる。また、入出力制御回路521は、CPU501に対して、割込み要求信号INRQを発生する機能を有する。なお、入出力信号は、例えば、プログラマブルな入出力ポートIO0〜IO15を介して入出力される。   The input / output control circuit 521 performs communication with an external input / output device or an external semiconductor element via an input / output signal. Input / output signals are read / written from the CPU 501 via the first bus 531. The input / output control circuit 521 has a function of generating an interrupt request signal INRQ for the CPU 501. The input / output signals are input / output via, for example, programmable input / output ports IO0 to IO15.

低電圧検出回路525は、電源電圧Vccを監視し、電源電圧Vccが一定電圧以下になったときに、PLL回路527等のリセット信号及びその他のシステム全体のリセット信号RSETを発行する。また、メインメモリ517がSRAMで構成されており、かつ、バッテリ541によるSRAMのデータ保持が要求される場合、電源電圧Vccが一定電圧以下のときに、バッテリバックアップ制御信号BCTLを発行する機能を有する。   The low voltage detection circuit 525 monitors the power supply voltage Vcc and issues a reset signal for the PLL circuit 527 and other system-wide reset signals RSET when the power supply voltage Vcc falls below a certain voltage. In addition, when the main memory 517 is constituted by an SRAM and the data retention of the SRAM by the battery 541 is required, the battery backup control signal BCTL is issued when the power supply voltage Vcc is equal to or lower than a predetermined voltage. .

PLL回路527は、水晶振動子537より得られる正弦波信号を逓倍した高周波クロック信号を生成する。   The PLL circuit 527 generates a high frequency clock signal obtained by multiplying the sine wave signal obtained from the crystal resonator 537.

クロックドライバ529は、PLL回路527より受け取った高周波クロック信号を、十分な信号強度へ増幅して、内部クロックICLKとして、各ブロックへ供給する。   The clock driver 529 amplifies the high frequency clock signal received from the PLL circuit 527 to a sufficient signal strength and supplies the amplified signal to each block as the internal clock ICLK.

外部メモリインタフェース回路523は、第2バス533を外部バス543に接続するための機能、及び、第2バス533のサイクル終了信号CYLを発行することにより、第2バス533のバスサイクル長を制御する機能を有する。   The external memory interface circuit 523 controls the bus cycle length of the second bus 533 by issuing a function for connecting the second bus 533 to the external bus 543 and a cycle end signal CYL of the second bus 533. It has a function.

DRAMリフレッシュ制御回路522は、一定期間毎に第1バス531の使用権を無条件に獲得し、DRAMのリフレッシュ動作を行う。なお、DRAMリフレッシュ制御回路522は、メインメモリ517がDRAMを含む場合に設けられる。   The DRAM refresh control circuit 522 unconditionally acquires the right to use the first bus 531 at regular intervals, and performs a DRAM refresh operation. The DRAM refresh control circuit 522 is provided when the main memory 517 includes a DRAM.

また、前世代のプロセッサ500は、現世代のプロセッサ100が有するピクセルプロッタ5に相当するものは有していない。   Further, the previous generation processor 500 does not have a device corresponding to the pixel plotter 5 included in the current generation processor 100.

次に、前世代のプロセッサ500の論理アドレス空間について説明し、その後、現世代のプロセッサ100の論理アドレス空間について説明する。   Next, the logical address space of the previous generation processor 500 will be described, and then the logical address space of the current generation processor 100 will be described.

前世代のプロセッサ500は、24ビットのアドレス信号、即ち、16メガバイトの論理アドレス空間を有する。第1バス531は、15ビットのアドレス、即ち、32キロバイトの物理アドレス空間を有する。第2バス533は、24ビットのアドレス空間から一部を除いた12メガバイトの物理アドレス空間を有する。これらの点を図面を用いて説明する。   The previous generation processor 500 has a 24-bit address signal, ie, a 16 megabyte logical address space. The first bus 531 has a 15-bit address, that is, a physical address space of 32 kilobytes. The second bus 533 has a 12-megabyte physical address space obtained by removing a part from the 24-bit address space. These points will be described with reference to the drawings.

図6は、図5に示した前世代のプロセッサ500の論理アドレス空間の説明図である。図6に示すように、24ビットのアドレスは、上位8ビットと下位16ビットとに大きく分かれ、上位8ビットのアドレスはバンクアドレスと呼ばれる働きをする。即ち、16メガバイトの論理アドレス空間は、256個の64キロバイトのバンクと呼ばれる単位空間に分けられており、例を挙げると00hバンクのFFFFh番地と01hバンクの0000h番地は、CPU501およびサウンドプロセッサ507にとっては連続していない。従って、図6では、このことを明確に表すためにバンク毎に並列に表記している。   FIG. 6 is an explanatory diagram of the logical address space of the processor 500 of the previous generation shown in FIG. As shown in FIG. 6, the 24-bit address 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 16 megabyte logical address space 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 for CPU 501 and sound processor 507. Are not continuous. Therefore, in FIG. 6, in order to express this clearly, each bank is shown in parallel.

プロセッサ500の論理アドレス空間は大きく4つの領域に分割され、それぞれは、第1バス531の物理アドレス空間に相当する第1バス領域、第2バス533の物理アドレス空間に相当する第2バス第0領域、第2バス第1領域、及び第2バス第2領域である。   The logical address space of the processor 500 is roughly divided into four areas, the first bus area corresponding to the physical address space of the first bus 531 and the second bus 0th corresponding to the physical address space of the second bus 533, respectively. An area, a second bus first area, and a second bus second area.

第2バス第0領域は、外部メモリ545に割り当てられ、第2バス第1領域は、外部メモリ546に割り当てられ、第2バス第2領域は、外部メモリ547に割り当てられる。   The second bus 0th area is assigned to the external memory 545, the second bus first area is assigned to the external memory 546, and the second bus second area is assigned to the external memory 547.

外部メモリインタフェース回路523は、第2バス533から与えられた第2バスアドレスが、第2バス第0領域を指し示しているときは、第0領域セレクト信号ASSEL0をアサートし、第2バスアドレスが、第2バス第1領域を指し示しているときは、第1領域セレクト信号ASSEL1をアサートし、第2バスアドレスが、第2バス第2領域を指し示しているときは、第2領域セレクト信号ASSEL2をアサートする。そして、第0領域セレクト信号ASSEL0がアサートされた場合は、外部メモリ545が活性化され、第1領域セレクト信号ASSEL1がアサートされた場合は、外部メモリ546が活性化され、第2領域セレクト信号ASSEL2がアサートされた場合は、外部メモリ547が活性化される。   When the second bus address supplied from the second bus 533 indicates the second bus 0th area, the external memory interface circuit 523 asserts the 0th area select signal ASSEL0, and the second bus address is When the second bus first area is indicated, the first area select signal ASSEL1 is asserted. When the second bus address indicates the second bus second area, the second area select signal ASSEL2 is asserted. To do. When the 0th area select signal ASSEL0 is asserted, the external memory 545 is activated. When the first area select signal ASSEL1 is asserted, the external memory 546 is activated and the second area select signal ASSEL2 is activated. Is asserted, the external memory 547 is activated.

一方、現世代のプロセッサ100は、27ビットのアドレス信号、即ち、128メガバイトの論理アドレス空間を有する。第1バス31は、15ビットのアドレス、即ち、32キロバイトの物理アドレス空間を有する。第2バス33は、27ビットのアドレス空間から一部を除いた96メガバイトの物理アドレス空間を有する。これらの点を図面を用いて説明する。   On the other hand, the current generation processor 100 has a 27-bit address signal, that is, a logical address space of 128 megabytes. The first bus 31 has a 15-bit address, that is, a physical address space of 32 kilobytes. The second bus 33 has a 96 megabyte physical address space obtained by removing a part from the 27-bit address space. These points will be described with reference to the drawings.

図7は、図1に示した現世代のプロセッサ100の論理アドレス空間の説明図である。図7に示すように、27ビットのアドレスは、上位11ビットと下位16ビットとに大きく分かれ、上位11ビットのアドレスはバンクアドレスと呼ばれる働きをする。即ち、128メガバイトの論理アドレス空間は、2048個の64キロバイトのバンクと呼ばれる単位空間に分けられており、例を挙げると000hバンクのFFFFh番地と001hバンクの0000h番地は、CPU1およびサウンドプロセッサ7にとっては連続していない。従って、図7では、このことを明確に表すためにバンク毎に並列に表記している。   FIG. 7 is an explanatory diagram of the logical address space of the current generation processor 100 shown in FIG. As shown in FIG. 7, the 27-bit address is roughly divided into upper 11 bits and lower 16 bits, and the upper 11-bit address functions as a bank address. That is, the 128 megabyte logical address space is divided into 2048 unit spaces called 64 kilobyte banks. For example, the FFhh address of the 000h bank and the 0000h address of the 001h bank are for the CPU 1 and the sound processor 7. Are not continuous. Therefore, in FIG. 7, in order to express this clearly, each bank is shown in parallel.

プロセッサ100の論理アドレス空間は大きく4つの領域に分割され、それぞれは、第1バス31の物理アドレス空間に相当する第1バス領域、第2バス33の物理アドレス空間に相当する第2バス第0領域、第2バス第1領域、及び第2バス第2領域である。   The logical address space of the processor 100 is roughly divided into four areas, the first bus area corresponding to the physical address space of the first bus 31 and the second bus No. 0 corresponding to the physical address space of the second bus 33, respectively. An area, a second bus first area, and a second bus second area.

第2バス第0領域は、外部メモリ45に割り当てられ、第2バス第1領域は、外部メモリ46に割り当てられ、第2バス第2領域は、外部メモリ47に割り当てられる。   The second bus 0th area is assigned to the external memory 45, the second bus first area is assigned to the external memory 46, and the second bus second area is assigned to the external memory 47.

第2バスアービタ14は、第2バス33から与えられた第2バスアドレスが、第2バス第1領域を指し示しているときは、第1領域セレクト信号ASSEL1をアサートし、第2バスアドレスが、第2バス第2領域を指し示しているときは、第2領域セレクト信号ASSEL2をアサートする。   The second bus arbiter 14 asserts the first area select signal ASSEL1 when the second bus address given from the second bus 33 points to the second bus first area, and the second bus address is changed to the second bus address. When the second bus second area is indicated, the second area select signal ASSEL2 is asserted.

そして、第1領域セレクト信号ASSEL1がアサートされた場合は、外部メモリ46が活性化され、第2領域セレクト信号ASSEL2がアサートされた場合は、外部メモリ47が活性化される。   When the first area select signal ASSEL1 is asserted, the external memory 46 is activated, and when the second area select signal ASSEL2 is asserted, the external memory 47 is activated.

第0領域セレクト信号ASSEL0は、第2バスアドレス[22]により代用され、第2バスアドレス[22]が「0」を示していれば、外部メモリ45が活性化される。   The 0th area select signal ASSEL0 is substituted by the second bus address [22]. If the second bus address [22] indicates “0”, the external memory 45 is activated.

図6及び図7に示すように、27ビットアドレスからなる現世代のプロセッサ100の論理アドレス空間において、上位3ビットが「0b000」を示す空間のマッピングを、前世代のプロセッサ500の24ビットアドレスからなる論理アドレス空間のマッピングと同一にしている。従って、現世代のプロセッサ100において、前世代のプロセッサ500においても実行可能なソフトウェア(つまり、互換ソフトウェア)がそのまま実行できる。つまり、ソフトウェアのバイナリコードレベルでの互換性が保持される。   As shown in FIGS. 6 and 7, in the logical address space of the current-generation processor 100 consisting of 27-bit addresses, the mapping of the space in which the upper 3 bits indicate “0b000” is mapped from the 24-bit address of the previous-generation processor 500. It is the same as the mapping of the logical address space. Therefore, in the current generation processor 100, software that can be executed in the previous generation processor 500 (that is, compatible software) can be executed as it is. That is, compatibility at the binary code level of software is maintained.

現世代のプロセッサ100において、前世代のプロセッサ500にも搭載されているバスマスタのうち、CPU1、サウンドプロセッサ7、及びDMAコントローラ9については、拡張された上位3ビットのアドレス出力を常に「0b000」とすることにより、マッピングの互換性が保持される。   In the current generation processor 100, among the bus masters mounted in the previous generation processor 500, the CPU 1, the sound processor 7, and the DMA controller 9 always have the expanded upper 3-bit address output as “0b000”. By doing so, the compatibility of the mapping is maintained.

但し、グラフィックプロセッサ3では、前世代のプロセッサ500のグラフィックプロセッサ503における5種類のアドレッシングモードに、3種類のアドレシングモード(16ビット拡張キャラクタ番号モード、16ビット拡張アドレスポインタモード、及びアラインメント付き24ビットポインタモード)が追加されているため、グラフィックプロセッサ3によるスプライト及びバックグラウンドスクリーンのキャラクタデータフェッチにおいては、追加されたこれらのアドレシングモード使用時にのみ、全27ビットを用いるアドレシングが可能である。また、現世代のプロセッサ100に対して、前世代のプロセッサ500から新たに追加されたバスマスタであるピクセルプロッタ5は、27ビットのアドレス空間全域へのアクセスが可能である。   However, in the graphic processor 3, there are three types of addressing modes (16-bit extended character number mode, 16-bit extended address pointer mode, and 24-bit pointer with alignment) in the five types of addressing modes in the graphic processor 503 of the previous generation processor 500. Therefore, in the sprite and background screen character data fetching by the graphic processor 3, addressing using all 27 bits is possible only when these added addressing modes are used. Further, the pixel plotter 5 which is a bus master newly added from the previous generation processor 500 to the current generation processor 100 can access the entire 27-bit address space.

次に、前世代のプロセッサ500の第1バスアービタ513による調停の詳細について説明し、その後、現世代のプロセッサ100の第1バスアービタ13による調停の詳細について説明する。   Next, details of arbitration by the first bus arbiter 513 of the previous generation processor 500 will be described, and then details of arbitration by the first bus arbiter 13 of the current generation processor 100 will be described.

図8は、図5の第1バスアービタ513が有する優先順位テーブルの例示図である。図8に示すように、第1バス531に対するアクセスの優先順位情報としては、4つの優先順位情報セットが選択され、それぞれが4セットの内のいずれかを指し示す2ビットの優先順位情報番号0〜3へとエンコードされている。図8では、優先順位テーブルが、優先順位情報番号0〜3を対応する優先順位情報セットへと変換する例を挙げている。第1優先順位〜第4優先順位により一つの優先順位情報セットが構成される。第1バス531へのアクセスの優先順位は、第1優先順位が一番高く、番号が大きくなるにしたがって、優先順位が低くなる。第1バスアービタ513は、優先順位情報番号0〜3のいずれかを保持する16の優先順位レジスタを順次的かつ巡回的に選択する。そして、第1バスアービタ513は、選択した優先順位情報番号に対応した優先順位情報セットに従って、第1バス使用要求を行っているバスマスタのうち、現在第1バス531を使用しているバスマスタを除くバスマスタから、最も優先順位の高いバスマスタを選択し、第1バス使用許可を与える。ただし、特権バスマスタであるDRAMリフレッシュ制御回路522は、この調停対象から除かれ、優先的に扱われる。   FIG. 8 is a view for showing an example of a priority table included in the first bus arbiter 513 of FIG. As shown in FIG. 8, four priority information sets are selected as priority information for access to the first bus 531, each of which indicates one of the four sets. 3 encoded. FIG. 8 shows an example in which the priority order table converts priority order information numbers 0 to 3 to corresponding priority order information sets. One priority information set is constituted by the first to fourth priorities. The priority of the access to the first bus 531 is the highest in the first priority, and the priority becomes lower as the number increases. The first bus arbiter 513 sequentially and cyclically selects the 16 priority registers holding any of the priority information numbers 0 to 3. The first bus arbiter 513 then excludes the bus masters that are currently using the first bus 531 from the bus masters that are requesting the first bus use according to the priority information set corresponding to the selected priority information number. The bus master having the highest priority is selected and the first bus use permission is given. However, the DRAM refresh control circuit 522, which is a privileged bus master, is excluded from the arbitration target and treated with priority.

図9は、図2の第1バスアービタ513に備えられ、前世代のプロセッサ500の第1バスのアドレス空間にマッピングされたハードウェア制御レジスタの一覧を示す図である。図9に示すように、第1バスアービタ513は、第0スロット優先順位レジスタ〜第15スロット優先順位レジスタを備える。各レジスタには、図7の優先順位情報番号をコード化した情報が保持される。CPU1は、これらのレジスタにアクセスすることで、保持する優先順位情報番号を変更できる。なお、これらのレジスタは、前世代のプロセッサ500の第1バス531の物理アドレス空間において、図中対応する第1バスアドレスが指し示す位置に配置される。   FIG. 9 is a diagram showing a list of hardware control registers provided in the first bus arbiter 513 of FIG. 2 and mapped to the address space of the first bus of the processor 500 of the previous generation. As shown in FIG. 9, the first bus arbiter 513 includes a 0th slot priority register to a 15th slot priority register. Each register holds information obtained by encoding the priority information number in FIG. The CPU 1 can change the held priority information number by accessing these registers. Note that these registers are arranged in the physical address space of the first bus 531 of the previous generation processor 500 at the position indicated by the corresponding first bus address in the figure.

図10は、図1の第1バスアービタ13が有する優先順位テーブルの例示図である。図10に示すように、第1バス31に対するアクセスの優先順位情報として、4つの優先順位情報セットが用意され、それぞれが4セットの内のいずれかを指し示す2ビットの優先順位情報番号0〜3へとエンコードされている。図10では、優先順位テーブルが、優先順位情報番号0〜3を対応する優先順位情報セットへと変換する例を挙げている。   FIG. 10 is a view for showing an example of a priority table included in the first bus arbiter 13 of FIG. As shown in FIG. 10, four priority information sets are prepared as priority information for access to the first bus 31, each of which indicates a 2-bit priority information number 0 to 3 indicating one of the four sets. Is encoded. In FIG. 10, the priority table converts the priority information numbers 0 to 3 into corresponding priority information sets.

ここで、バスマスタ(CPU1、グラフィックプロセッサ3、ピクセルプロッタ5、サウンドプロセッサ7、及びDMAコントローラ9)は、第1バス31の使用を要求する要因(以下、「第1バス使用要求要因」と呼ぶ。)ごとにバス使用要求を行う。従って、優先順位情報番号0〜3が示す優先順位情報セットの各々は、全ての第1バス使用要求要因の優先順位を示している。本実施の形態では、12種類の第1バス使用要求要因が存在するので、優先順位情報セットの各々は、第1優先順位1〜第12優先順位により構成される。第1バス31へのアクセスの優先順位は、第1優先順位が一番高く、番号が大きくなるにしたがって、優先順位が低くなる。第1バスアービタ13は、優先順位情報番号0〜3のいずれかを保持する16の優先順位レジスタを順次的かつ巡回的に選択して、選択した優先順位レジスタに保持されている優先順位情報番号に対応する優先順位情報セットに従って、第1バス31へのアクセス調停を行う。この場合、第1バスアービタ13は、第1バス使用要求要因ごとに、アクセス調停を行う。   Here, the bus master (CPU 1, graphic processor 3, pixel plotter 5, sound processor 7, and DMA controller 9) is called a factor that requests the use of the first bus 31 (hereinafter referred to as “first bus use request factor”). ) Make a bus use request every time. Accordingly, each of the priority information sets indicated by the priority information numbers 0 to 3 indicates the priority of all the first bus use request factors. In the present embodiment, since there are twelve types of first bus use request factors, each of the priority order information sets is constituted by the first priority order 1 to the twelfth priority order. The priority of access to the first bus 31 is the highest in the first priority, and the priority becomes lower as the number increases. The first bus arbiter 13 sequentially and cyclically selects the 16 priority registers holding any of the priority information numbers 0 to 3, and sets the priority information numbers held in the selected priority registers. Access arbitration to the first bus 31 is performed according to the corresponding priority information set. In this case, the first bus arbiter 13 performs access arbitration for each first bus use request factor.

ここで、図中、バスマスタの略号「CPU」、「GP」、「SP」、「DMA」、及び「PLT」は、それぞれ、CPU1、グラフィックプロセッサ3、サウンドプロセッサ7、DMAコントローラ9、及びピクセルプロッタ5を示す。   Here, in the figure, the abbreviations “CPU”, “GP”, “SP”, “DMA”, and “PLT” of the bus master are CPU1, graphic processor 3, sound processor 7, DMA controller 9, and pixel plotter, respectively. 5 is shown.

また、図中、第1バス使用要求要因の略号「IST」、「DAT」、「TX1」、「TX2」、「SPR」、「HDR」、「CHR」、「BMP」、「WAV」、「ENV」、「DMAD」、及び「PLT」は、それぞれ、「命令フェッチ」、「データアクセス」、「第1バックグラウンドアレイデータ」、「第2バックグラウンドアレイデータ」、「スプライトDMA」、「キャラクタヘッダ」、「キャラクタデータ」、「ビットマップデータ」、「ウェーブデータ」、「エンベロープデータ」、「DMAデスティネーション」、及び「ピクセルプロッタ」を示す。各第1バス使用要求要因の意味は次の通りである。   In the figure, the abbreviations “IST”, “DAT”, “TX1”, “TX2”, “SPR”, “HDR”, “CHR”, “BMP”, “WAV”, “ “ENV”, “DMAD”, and “PLT” are “instruction fetch”, “data access”, “first background array data”, “second background array data”, “sprite DMA”, “character”, respectively. “Header”, “Character data”, “Bitmap data”, “Wave data”, “Envelope data”, “DMA destination”, and “Pixel plotter” are shown. The meaning of each first bus use request factor is as follows.

「命令フェッチ」は、CPU1がメインメモリ17から命令をフェッチすることが第1バス使用要求要因となっていることを意味する。   “Instruction fetch” means that the CPU 1 fetches an instruction from the main memory 17 as a first bus use request factor.

「データアクセス」は、CPU1が第1バス31に接続された資源にアクセス(データのリード/ライト)することが第1バス使用要求要因となっていることを意味する。   “Data access” means that the CPU 1 accesses a resource connected to the first bus 31 (data read / write) is the first bus use request factor.

「第1バックグラウンドアレイデータ」は、グラフィックプロセッサ3が第1のバックグラウンドスクリーンのアレイデータをメインメモリ17から取得することが第1バス使用要求要因となっていることを意味する。この場合のアレイデータは、第1のバックグラウンドスクリーンの全キャラクタの、パターンデータのアドレス情報からなり、カラーパレット情報及びデプス情報も含まれる場合がある。   The “first background array data” means that the graphic processor 3 acquires the array data of the first background screen from the main memory 17 as a first bus use request factor. The array data in this case consists of pattern data address information of all characters of the first background screen, and may include color palette information and depth information.

「第2バックグラウンドアレイデータ」は、グラフィックプロセッサ3が第2のバックグラウンドスクリーンのアレイデータをメインメモリ17から取得することが第1バス使用要求要因となっていることを意味する。この場合のアレイデータは、第2のバックグラウンドスクリーンの全キャラクタの、パターンデータのアドレス情報からなり、カラーパレット情報及びデプス情報も含まれる場合がある。   The “second background array data” means that the graphic processor 3 acquires the array data of the second background screen from the main memory 17 as a first bus use request factor. The array data in this case consists of pattern data address information of all characters of the second background screen, and may include color palette information and depth information.

「スプライトDMA」は、グラフィックプロセッサ3がスプライトメモリ(図示しないが、グラフィックプロセッサ3の内部に配置)へ転送するデータをメインメモリ17からリードすることが第1バス使用要求要因となっていることを意味する。   “Sprite DMA” indicates that the first bus use request factor is that the graphic processor 3 reads data to be transferred from the main memory 17 to the sprite memory (not shown, but arranged inside the graphic processor 3). means.

「キャラクタヘッダ」は、グラフィックプロセッサ3がメインメモリ17からキャラクタヘッダを取得することが第1バス使用要求要因となっていることを意味する。キャラクタヘッダは、カラーパレット情報、キャラクタの1ピクセルのビット数(Nビット/ピクセル)の情報、及びフリップ情報などにより構成される。   “Character header” means that the graphic processor 3 acquires the character header from the main memory 17 as a first bus use request factor. The character header includes color palette information, information on the number of bits of one pixel (N bits / pixel) of the character, flip information, and the like.

「キャラクタデータ」は、グラフィックプロセッサ3がメインメモリ17からキャラクタのパターンデータを取得することが第1バス使用要求要因となっていることを意味する。   “Character data” means that the graphic processor 3 acquires character pattern data from the main memory 17 as a first bus use request factor.

「ビットマップデータ」は、グラフィックプロセッサ3がビットマップデータをメインメモリ17からリードすることが第1バス使用要求要因となっていることを意味する。   “Bitmap data” means that the graphic processor 3 reads bitmap data from the main memory 17 as a first bus use request factor.

「ウェーブデータ」は、サウンドプロセッサ7がメインメモリ17からウェーブデータを取得することが第1バス使用要求要因となっていることを意味する。   “Wave data” means that the acquisition of wave data from the main memory 17 by the sound processor 7 is the first bus use request factor.

「エンベロープデータ」は、サウンドプロセッサ7がメインメモリ17からエンベロープデータを取得したり、メインメモリ17に仮想的に構成されるエンベロープ用FIFO(first−in first−out)のリードポインタをメインメモリ17に書き込むことが第1バス使用要求要因となっていることを意味する。   “Envelope data” is obtained when the sound processor 7 obtains envelope data from the main memory 17, or a read pointer of an envelope FIFO (first-in first-out) virtually configured in the main memory 17. This means that writing is the first bus use request factor.

「DMAデスティネーション」は、DMAコントローラ9がデータをメインメモリ17へライトすることが第1バス使用要求要因となっていることを意味する。   “DMA destination” means that the DMA controller 9 writes data to the main memory 17 as a first bus use request factor.

「ピクセルプロッタ」は、ピクセルプロッタ5がメインメモリ17に対してリード/ライトを行うことが第1バス使用要求要因となっていることを意味する。   “Pixel plotter” means that the pixel plotter 5 reads / writes to / from the main memory 17 as a first bus use request factor.

ここで、図10の優先順位テーブルの作成手法を説明する。バスマスタごとにバス使用要求要因の順列(バス使用要求要因順列、と呼ぶ。)を求め、データの転送量やバス使用の頻度などを勘案して、バスマスタごとにバス使用要求要因順列を1つ選択する。   Here, a method of creating the priority table in FIG. 10 will be described. The bus usage request factor permutation (referred to as bus usage request factor permutation) is obtained for each bus master, and one bus usage request factor permutation is selected for each bus master in consideration of the amount of data transfer and the frequency of bus usage. To do.

そして、バス使用要求要因順列と、図8に示した前世代のプロセッサ500の第1バスアービタ513が使用する優先順位テーブルにおける優先順位と、を組み合わせて、図10に示した現世代のプロセッサ100の第1バスアービタ13が使用する優先順位テーブルを作成する。具体例を挙げて説明する。   Then, by combining the bus use request factor permutation and the priority order in the priority table used by the first bus arbiter 513 of the previous generation processor 500 shown in FIG. 8, the current generation processor 100 shown in FIG. A priority table used by the first bus arbiter 13 is created. A specific example will be described.

図8の優先順位情報番号0を例にとると、優先順位は、図8の略号を使って、{SP,GP,DMA,CPU}、である。これを、バスマスタ順列と呼ぶことにする。また、図10の略号を使って、サウンドプロセッサ7に対して選択されたバス使用要求要因順列が、{WAV,ENV}であり、グラフィックプロセッサ3に対して選択されたバス使用要求要因順列が、{BMP,CHR,HDR,SPR,TX1,TX2}であり、ピクセルプロッタ5に対するバス使用要求要因順列が、{PLT}であり(なぜなら、ピクセルプロッタ5の第1バス31に対するバス使用要求要因は1つである。)、DMAコントローラ9に対するバス使用要求要因順列が、{DMAD}であり(ピクセルプロッタ5と同様の理由)、CPU1に対して選択されたバス使用要求要因順列が、{DAT,IST}であるとする。   Taking the priority information number 0 in FIG. 8 as an example, the priority is {SP, GP, DMA, CPU} using the abbreviations in FIG. This is called a bus master permutation. Also, using the abbreviations in FIG. 10, the bus use request factor permutation selected for the sound processor 7 is {WAV, ENV}, and the bus use request factor permutation selected for the graphic processor 3 is {BMP, CHR, HDR, SPR, TX1, TX2} and the bus use request factor permutation for the pixel plotter 5 is {PLT} (because the bus use request factor for the first bus 31 of the pixel plotter 5 is 1). The bus use request factor permutation for the DMA controller 9 is {DMAD} (for the same reason as the pixel plotter 5), and the bus use request factor permutation selected for the CPU 1 is {DAT, IST }.

そうすると、バスマスタ順列のSPに対してバス使用要求要因順列{WAV,ENV}を、バスマスタ順列のGPに対してバス使用要求要因順列{BMP,CHR,HDR,SPR,TX1,TX2}を、バスマスタ順列のDMAに対してバス使用要求要因順列{DMAD}を、バスマスタ順列のCPU対してバス使用要求要因順列{DAT,IST}を夫々置き換え、バスマスタPLTのバス使用要求要因順列{PLT}を適切な位置に加えると、図8に示されている前世代のプロセッサ500の優先順位情報番号0に対応して、図10に示されている現世代のプロセッサ100の第1バスアービタ13用のバス使用要求要因順列(優先順位情報番号0)が得られる。バス使用要求要因順列{PLT}の挿入は、他のバスマスタの順序関係に影響を与えない。その結果、図10に示すように、優先順位情報番号0に対応する優先順位情報セットが作成される。同様にして、図8の優先順位情報番号1〜3に対応する優先順位情報セットに基づいて、図10の優先順位情報番号1〜3に対応する優先順位情報セットが作成される。   Then, the bus use request factor permutation {WAV, ENV} for the bus master permutation SP, the bus use request factor permutation {BMP, CHR, HDR, SPR, TX1, TX2} for the bus master permutation GP, and the bus master permutation The bus use request factor permutation {DMAD} is replaced for the DMA of the bus master, and the bus use request factor permutation {DAT, IST} is replaced for the CPU of the bus master permutation, and the bus use request factor permutation {PLT} of the bus master PLT is appropriately positioned. In addition to the priority information number 0 of the previous generation processor 500 shown in FIG. 8, the bus use request factor for the first bus arbiter 13 of the current generation processor 100 shown in FIG. A permutation (priority information number 0) is obtained. The insertion of the bus use request factor permutation {PLT} does not affect the order relationship of other bus masters. As a result, as shown in FIG. 10, a priority information set corresponding to priority information number 0 is created. Similarly, priority information sets corresponding to priority information numbers 1 to 3 in FIG. 10 are created based on priority information sets corresponding to priority information numbers 1 to 3 in FIG.

以上のように、現世代のプロセッサ100では、第1バスへのアクセス要求要因が、前世代のプロセッサ500に比べて大幅に増加しているが、図8に示した前世代の優先順位テーブルを基に、図10の現世代の各優先順位情報セットにおける優先順位を定めているため、ソフトウェアの互換性が保持できる。   As described above, in the current generation processor 100, the factor for requesting access to the first bus is significantly increased compared to the previous generation processor 500, but the previous generation priority table shown in FIG. Based on the priority order in each priority order information set of the current generation in FIG. 10, the software compatibility can be maintained.

ところで、ピクセルプロッタ5は、前世代のプロセッサ500には備えられていないバスマスタであるが、画像処理に関するバスマスタであり、かつ第1バス31にアクセスするケースは稀であるため、グラフィックプロセッサ3の各バス使用要求要因に次ぐ優先順位としている。なお、現世代のプロセッサ100における第1バス31の優先順位情報セットに、ピクセルプロッタ5を含めても、前世代のプロセッサ500がピクセルプロッタを有していないため、前世代のプロセッサ500のソフトウェアでピクセルプロッタが使用されることはなく、互換性の保持には何ら影響はない。   By the way, the pixel plotter 5 is a bus master that is not provided in the previous generation processor 500, but is a bus master related to image processing and rarely accesses the first bus 31. Prioritized after bus use request factors. Note that even if the pixel plotter 5 is included in the priority information set of the first bus 31 in the current generation processor 100, the previous generation processor 500 does not have a pixel plotter. A pixel plotter is never used and has no effect on maintaining compatibility.

図11は、図1の第1バスアービタ13に備えられ、現世代のプロセッサ100の第1バスのアドレス空間にマッピングされたハードウェア制御レジスタの一覧を示す図である。図11に示すように、第1バスアービタ13は、第0スロット優先順位レジスタ〜第15スロット優先順位レジスタを備える。各レジスタには、図10の優先順位情報番号をコード化した優先順位情報番号が保持される。CPU1は、これらのレジスタにアクセスすることで、保持する優先順位情報番号を変更できる。なお、これらのレジスタは、現世代のプロセッサ100の第1バス31の物理アドレス空間において、図中対応する第1バスアドレスが指し示す位置に配置される。   FIG. 11 is a diagram showing a list of hardware control registers provided in the first bus arbiter 13 of FIG. 1 and mapped to the address space of the first bus of the processor 100 of the current generation. As shown in FIG. 11, the first bus arbiter 13 includes a 0th slot priority register to a 15th slot priority register. Each register holds a priority information number obtained by encoding the priority information number shown in FIG. The CPU 1 can change the held priority information number by accessing these registers. These registers are arranged in the physical address space of the first bus 31 of the current generation processor 100 at the position indicated by the corresponding first bus address in the figure.

図9及び図11から明らかなように、現世代の第1バスアービタ31と前世代の第1バスアービタ531とで、制御レジスタの構成及びマッピングは同一となっている。   As is apparent from FIGS. 9 and 11, the configuration and mapping of the control registers are the same in the first bus arbiter 31 of the current generation and the first bus arbiter 531 of the previous generation.

次に、前世代のプロセッサ500の第2バスアービタ514による調停の詳細について説明し、その後、現世代のプロセッサ100の第2バスアービタ14による調停の詳細について説明する。   Next, details of arbitration by the second bus arbiter 514 of the previous generation processor 500 will be described, and then details of arbitration by the second bus arbiter 14 of the current generation processor 100 will be described.

図12は、図2の第2バスアービタ514が有する優先順位テーブルの例示図である。図12に示すように、第2バス533に対するアクセスの優先順位情報として、4つの優先順位情報セットが選択され、それぞれが4セットの内のいずれかを指し示す2ビットの優先順位情報番号0〜3へとエンコードされている。図12では、優先順位テーブルが、優先順位情報番号0〜3を対応する優先順位情報セットへと変換する例を挙げている。第1優先順位〜第4優先順位により一つの優先順位情報セットが構成される。第2バス533へのアクセスの優先順位は、第1優先順位が一番高く、番号が大きくなるにしたがって、優先順位が低くなる。第2バスアービタ514は、優先順位情報番号0〜3のいずれかを保持する8つの優先順位レジスタを順次的かつ巡回的に選択する。そして、第2バスアービタ514は、選択した優先順位情報番号に対応した優先順位情報セットに従って、第2バス使用要求を行っているバスマスタのうち、現在第2バス533を使用しているバスマスタを除くバスマスタから、最も優先順位の高いバスマスタを選択し、第2バス使用許可を与える。   FIG. 12 is a view for showing an example of a priority table included in the second bus arbiter 514 of FIG. As shown in FIG. 12, four priority information sets are selected as the priority information for access to the second bus 533, each of which indicates a 2-bit priority information number 0-3 indicating one of the four sets. Is encoded. In FIG. 12, the priority table converts the priority information numbers 0 to 3 into corresponding priority information sets. One priority information set is constituted by the first to fourth priorities. As for the priority of access to the second bus 533, the first priority is the highest, and the priority decreases as the number increases. The second bus arbiter 514 sequentially and cyclically selects eight priority registers holding any of the priority information numbers 0 to 3. The second bus arbiter 514 then excludes the bus masters that are currently using the second bus 533 among the bus masters requesting the second bus use according to the priority information set corresponding to the selected priority information number. The bus master having the highest priority is selected and the second bus use permission is given.

図13は、図2の第2バスアービタ514に備えられ、前世代のプロセッサ500の第1バスのアドレス空間にマッピングされたハードウェア制御レジスタの一覧を示す図である。図13に示すように、第2バスアービタ514は、第0スロット優先順位レジスタ〜第7スロット優先順位レジスタを備える。各レジスタには、図12の優先順位情報番号をコード化した情報が保持される。CPU501は、これらのレジスタにアクセスすることで、保持する優先順位情報番号を変更できる。なお、これらのレジスタは、前世代のプロセッサ500の第1バス531の物理アドレス空間において、図中対応する第1バスアドレスが指し示す位置に配置される。   FIG. 13 is a diagram showing a list of hardware control registers provided in the second bus arbiter 514 of FIG. 2 and mapped to the address space of the first bus of the processor 500 of the previous generation. As shown in FIG. 13, the second bus arbiter 514 includes a 0th slot priority order register to a seventh slot priority order register. Each register holds information obtained by encoding the priority information number in FIG. The CPU 501 can change the priority information number held by accessing these registers. Note that these registers are arranged in the physical address space of the first bus 531 of the previous generation processor 500 at the position indicated by the corresponding first bus address in the figure.

図14は、図1の第2バスアービタ14が有する優先順位テーブルの例示図である。図14に示すように、第2バス33に対するアクセスの優先順位情報として、4つの優先順位情報セットが選択され、それぞれが4セットの内のいずれかを指し示す2ビットの優先順位情報番号0〜3へとエンコードされている。図14では、優先順位情報番号0〜3を対応する優先順位情報セットへと変換する優先順位テーブルの例を挙げている。   FIG. 14 is a view showing an example of a priority table that the second bus arbiter 14 of FIG. 1 has. As shown in FIG. 14, four priority information sets are selected as the priority information of access to the second bus 33, and each of them indicates a 2-bit priority information number 0-3 indicating one of the four sets. Is encoded. FIG. 14 shows an example of a priority table that converts priority information numbers 0 to 3 into corresponding priority information sets.

ここで、バスマスタ(CPU1、グラフィックプロセッサ3、ピクセルプロッタ5、サウンドプロセッサ7、及びDMAコントローラ9)は、第2バス33の使用を要求する要因(以下、「第2バス使用要求要因」と呼ぶ。)ごとにバス使用要求を行う。従って、優先順位情報番号0〜3が示す優先順位情報セットの各々は、全ての第2バス使用要求要因の優先順位を示している。本実施の形態では、9種類の第2バス使用要求要因が存在するので、優先順位情報セットの各々は、第1優先順位1〜第9優先順位により構成される。第2バス33へのアクセスの優先順位は、第1優先順位が一番高く、番号が大きくなるにしたがって、優先順位が低くなる。第2バスアービタ14は、優先順位情報番号0〜3のいずれかを保持する8つの優先順位レジスタを順次的かつ巡回的に選択して、選択した優先順位レジスタに保持されている優先順位情報番号に対応する優先順位情報セットに従って、第2バス33へのアクセス調停を行う。この場合、第2バスアービタ14は、第2バス使用要求要因ごとに、アクセス調停を行う。   Here, the bus master (CPU 1, graphic processor 3, pixel plotter 5, sound processor 7, and DMA controller 9) is called a factor that requests the use of the second bus 33 (hereinafter referred to as “second bus use request factor”). ) Make a bus use request every time. Therefore, each of the priority information sets indicated by the priority information numbers 0 to 3 indicates the priority of all the second bus use request factors. In the present embodiment, since there are nine types of second bus use request factors, each of the priority order information sets is constituted by the first priority order 1 to the ninth priority order. The priority of access to the second bus 33 is the highest in the first priority, and the priority becomes lower as the number increases. The second bus arbiter 14 sequentially and cyclically selects eight priority registers holding any of the priority information numbers 0 to 3, and sets the priority information numbers held in the selected priority registers. Access arbitration to the second bus 33 is performed according to the corresponding priority information set. In this case, the second bus arbiter 14 performs access arbitration for each second bus use request factor.

ここで、図中、バスマスタ及び第2バス使用要求要因の略号は、図10と同じである。ただし、第2バス使用要求要因の略号「DMAS」は、「DMAソース」を示し、また、各第2バス使用要求要因の意味は次の通りである。   Here, in the figure, the abbreviations of the bus master and the second bus use request factor are the same as those in FIG. However, the abbreviation “DMAS” of the second bus use request factor indicates “DMA source”, and the meaning of each second bus use request factor is as follows.

「命令フェッチ」は、CPU1が外部メモリ45〜47から命令をフェッチすることが、第2バス使用要求要因となっていることを意味する。   “Instruction fetch” means that the CPU 1 fetches an instruction from the external memories 45 to 47 is the second bus use request factor.

「データアクセス」は、CPU1が外部メモリ45〜47にアクセス(データのリード/ライト)することが第2バス使用要求要因となっていることを意味する。   “Data access” means that the CPU 1 accesses the external memories 45 to 47 (data read / write) as a second bus use request factor.

「キャラクタヘッダ」は、グラフィックプロセッサ3が外部メモリ45〜47からキャラクタヘッダを取得することが第2バス使用要求要因となっていることを意味する。   “Character header” means that the graphic processor 3 obtains the character header from the external memories 45 to 47 as a second bus use request factor.

「キャラクタデータ」は、グラフィックプロセッサ3が外部メモリ45〜47からキャラクタのパターンデータを取得することが第2バス使用要求要因となっていることを意味する。   “Character data” means that the graphic processor 3 acquires character pattern data from the external memories 45 to 47 as a second bus use request factor.

「ビットマップデータ」は、グラフィックプロセッサ3が外部メモリ45〜47からビットマップデータを取得することが第2バス使用要求要因となっていることを意味する。   “Bitmap data” means that the graphic processor 3 acquires bitmap data from the external memories 45 to 47 as a second bus use request factor.

「ピクセルプロッタ」は、ピクセルプロッタ5が外部メモリ45〜47に対してリード/ライトを行うことが第2バス使用要求要因となっていることを意味する。   “Pixel plotter” means that the pixel plotter 5 reads / writes to / from the external memories 45 to 47 as a second bus use request factor.

「ウェーブデータ」は、サウンドプロセッサ7が外部メモリ45〜47からウェーブデータを取得することが第2バス使用要求要因となっていることを意味する。   “Wave data” means that the acquisition of wave data from the external memories 45 to 47 by the sound processor 7 is the second bus use request factor.

「エンベロープデータ」は、サウンドプロセッサ7が外部メモリ45〜47からエンベロープデータを取得することが第2バス使用要求要因となっていることを意味する。   “Envelope data” means that the acquisition of envelope data from the external memories 45 to 47 by the sound processor 7 is the second bus use request factor.

「DMAソース」は、DMAコントローラ9がデータを外部メモリ45〜47からリードすることが第2バス使用要求要因となっていることを意味する。   “DMA source” means that the DMA controller 9 reads data from the external memories 45 to 47 as a second bus use request factor.

ここで、図14の優先順位テーブルの作成手法を説明する。バスマスタごとにバス使用要求要因の順列(バス使用要求要因順列、と呼ぶ。)を求め、データの転送量やバス使用の頻度などを勘案して、バスマスタごとにバス使用要求要因順列を1つ選択する。   Here, a method of creating the priority table in FIG. 14 will be described. The bus usage request factor permutation (referred to as bus usage request factor permutation) is obtained for each bus master, and one bus usage request factor permutation is selected for each bus master in consideration of the amount of data transfer and the frequency of bus usage. To do.

そして、バス使用要求要因順列と、図12に示した前世代のプロセッサ500の第2バスアービタ514が使用する優先順位テーブルにおける優先順位と、を組み合わせて、図14に示した現世代のプロセッサ100の第2バスアービタ14が使用する優先順位テーブルを作成する。具体例を挙げて説明する。   Then, by combining the bus use request factor permutation and the priority order in the priority order table used by the second bus arbiter 514 of the previous generation processor 500 shown in FIG. 12, the current generation processor 100 shown in FIG. A priority table used by the second bus arbiter 14 is created. A specific example will be described.

図12の優先順位情報番号0を例にとると、優先順位は、図12の略号を使って、{SP,GP,DMA,CPU}、である。これを、バスマスタ順列と呼ぶことにする。また、図14の略号を使って、サウンドプロセッサ7に対して選択されたバス使用要求要因順列が、{WAV,ENV}であり、グラフィックプロセッサ3に対して選択されたバス使用要求要因順列が、{BMP,CHR,HDR}であり、ピクセルプロッタ5に対するバス使用要求要因順列が、{PLT}であり(なぜなら、ピクセルプロッタ5の第2バス33に対するバス使用要求要因は1つである。)、DMAコントローラ9に対するバス使用要求要因順列が、{DMAS}であり(ピクセルプロッタ5と同様の理由)、CPU1に対して選択されたバス使用要求要因順列が、{DAT,IST}であるとする。   Taking the priority information number 0 in FIG. 12 as an example, the priority is {SP, GP, DMA, CPU} using the abbreviations in FIG. This is called a bus master permutation. Further, using the abbreviations of FIG. 14, the bus use request factor permutation selected for the sound processor 7 is {WAV, ENV}, and the bus use request factor permutation selected for the graphic processor 3 is {BMP, CHR, HDR}, the bus use request factor permutation for the pixel plotter 5 is {PLT} (because there is one bus use request factor for the second bus 33 of the pixel plotter 5). Assume that the bus use request factor permutation for the DMA controller 9 is {DMAS} (for the same reason as the pixel plotter 5), and the bus use request factor permutation selected for the CPU 1 is {DAT, IST}.

そして、バスマスタ順列のSPに対してバス使用要求要因順列{WAV,ENV}を、バスマスタ順列のGPに対してバス使用要求要因順列{BMP,CHR,HDR}を、バスマスタ順列のDMAに対してバス使用要求要因順列{DMAS}を、バスマスタ順列のCPU対してバス使用要求要因順列{DAT,IST}を夫々置き換え、バスマスタPLTのバス使用要求要因順列{PLT}を適切な位置に加えると、図12に示されている前世代のプロセッサ500の優先順位情報番号0に対応して、図14に示されている現世代のプロセッサ100の第2バスアービタ14用のバス使用要求要因順列(優先順位情報番号0)が得られる。バス使用要求要因順列{PLT}の挿入は、他のバスマスタの順序関係に影響を与えない。その結果、図14に示すように、優先順位情報番号0に対応する優先順位情報セットが作成される。同様にして、図12の優先順位情報番号1〜3に対応する優先順位情報セットに基づいて、図14の優先順位情報番号1〜3に対応する優先順位情報セットが作成される。   The bus use request factor permutation {WAV, ENV} is assigned to the bus master permutation SP, the bus use request factor permutation {BMP, CHR, HDR} is assigned to the bus master permutation GP, and the bus master permutation DMA is assigned to the bus. When the use request factor sequence {DMAS} is replaced with the bus use request factor sequence {DAT, IST} for the CPU in the bus master sequence, and the bus use request factor sequence {PLT} of the bus master PLT is added to an appropriate position, FIG. 14 corresponds to the priority information number 0 of the previous generation processor 500 shown in FIG. 14, and the bus use request factor permutation (priority information number) for the second bus arbiter 14 of the current generation processor 100 shown in FIG. 0) is obtained. The insertion of the bus use request factor permutation {PLT} does not affect the order relationship of other bus masters. As a result, as shown in FIG. 14, a priority information set corresponding to priority information number 0 is created. Similarly, based on the priority information sets corresponding to the priority information numbers 1 to 3 in FIG. 12, the priority information sets corresponding to the priority information numbers 1 to 3 in FIG. 14 are created.

以上のように、現世代のプロセッサ100では、第2バスへのアクセス要求要因が、前世代のプロセッサ500に比べて大幅に増加しているが、図12に示した前世代の優先順位テーブルを基に、図14の現世代の各優先順位情報セットにおける優先順位を定めているため、ソフトウェアの互換性が保持できる。なお、現世代のプロセッサ100における第2バス33の優先順位情報セットに、ピクセルプロッタ5を含めても、前世代のプロセッサ500がピクセルプロッタを有していないため、前世代のプロセッサ500のソフトウェアでピクセルプロッタが使用されることはなく、互換性の保持には何ら影響はない。   As described above, in the current generation processor 100, the second bus access request factor is significantly increased compared to the previous generation processor 500, but the previous generation priority table shown in FIG. Based on the priority order set in each priority order information set of the current generation in FIG. 14, the software compatibility can be maintained. Even if the pixel plotter 5 is included in the priority order information set of the second bus 33 in the current generation processor 100, the previous generation processor 500 does not have a pixel plotter. A pixel plotter is never used and has no effect on maintaining compatibility.

図15は、図1の第2バスアービタ14に備えられ、現世代のプロセッサ100の第1バスのアドレス空間にマッピングされたハードウェア制御レジスタの一覧を示す図である。図15に示すように、第2バスアービタ14は、第0スロット優先順位レジスタ〜第7スロット優先順位レジスタを備える。各レジスタには、図14の優先順位情報番号をコード化した優先順位情報番号が保持される。CPU1は、これらのレジスタにアクセスすることで、保持する優先順位情報番号を変更できる。なお、これらのレジスタは、現世代のプロセッサ100の第1バス31の物理アドレス空間において、図中対応する第1バスアドレスが指し示す位置に配置される。   FIG. 15 is a diagram showing a list of hardware control registers provided in the second bus arbiter 14 of FIG. 1 and mapped to the address space of the first bus of the processor 100 of the current generation. As shown in FIG. 15, the second bus arbiter 14 includes a 0th slot priority register to a seventh slot priority register. Each register holds a priority information number obtained by encoding the priority information number shown in FIG. The CPU 1 can change the held priority information number by accessing these registers. These registers are arranged in the physical address space of the first bus 31 of the current generation processor 100 at the position indicated by the corresponding first bus address in the figure.

図13及び図15から明らかなように、現世代の第2バスアービタ33と前世代の第2バスアービタ533とで、優先順位情報番号を保持する制御レジスタの構成及びマッピングは同一となっている。   As apparent from FIGS. 13 and 15, the configuration and mapping of the control registers holding the priority information numbers are the same in the second bus arbiter 33 of the current generation and the second bus arbiter 533 of the previous generation.

さて、前世代のプロセッサ500では、第2のバス533に対するアクセススピードの設定が可能である。具体的には、CPU501は、図13の第0領域アクセスサイクル数レジスタ、並びに第1及び第2領域アクセスサイクル数レジスタにアクセスすることにより、図6の「第2バス第0領域」並びに「第2バス第1領域及び第2バス第2領域」に対して、それぞれ内部クロックICLKのサイクル数(2〜8サイクル)でバスサイクル長を定めることができる。但し、前世代のプロセッサ500では、ページモードはサポートされていないため、各領域に対するバスサイクル長は、設定を変更しない限り常に一定である。   In the previous generation processor 500, the access speed for the second bus 533 can be set. Specifically, the CPU 501 accesses the “0th area access cycle number register” of FIG. 13 and the first and second area access cycle number registers, thereby performing the “second bus 0th area” and “ The bus cycle length can be determined by the number of cycles of the internal clock ICLK (2 to 8 cycles) for the “2 bus first area and second bus second area”. However, since the previous generation processor 500 does not support the page mode, the bus cycle length for each area is always constant unless the setting is changed.

一方、現世代のプロセッサ100でも、第2バス33に対するアクセススピードの設定が可能である。ただし、現世代のプロセッサ100では、CPU1が、図15の第0領域ページサイズレジスタ、第1領域ページサイズレジスタ、第2領域ページサイズレジスタ、第0領域ページアクセスサイクル数レジスタ、第1領域ページアクセスサイクル数レジスタ、第2領域ページアクセスサイクル数レジスタ、第0領域ランダムアクセスサイクル数レジスタ、第1領域ランダムアクセスサイクル数レジスタ、第2領域ランダムアクセスサイクル数レジスタ、第0領域バス幅レジスタ、第1領域バス幅レジスタ、第2領域バス幅レジスタにアクセスすることで、図7の「第2バス第0領域」、「第2バス第1領域」、及び「第2バス第2領域」の三つの領域に対してそれぞれ、ページサイズ、ページアクセスサイクル数、ランダムアクセスサイクル数、及びデータバス幅(8ビット/16ビット)を定めることができる。   On the other hand, the current generation processor 100 can also set the access speed for the second bus 33. However, in the current generation processor 100, the CPU 1 has the 0th area page size register, the 1st area page size register, the 2nd area page size register, the 0th area page access cycle number register, and the first area page access shown in FIG. Cycle number register, second area page access cycle number register, zeroth area random access cycle number register, first area random access cycle number register, second area random access cycle number register, zeroth area bus width register, first area By accessing the bus width register and the second area bus width register, three areas of “second bus 0 area”, “second bus first area”, and “second bus second area” in FIG. Respectively, page size, number of page access cycles, random access cycles , And the data bus width (8-bit / 16-bit) can be determined.

以上のように、前世代のプロセッサ500では、第2バス533に対して、アクセスサイクル数の設定ができるのみであるのに対し、現世代のプロセッサ100では、ページサイズ、ページアクセスサイクル数、ランダムアクセスサイクル数、及びデータバス幅を定めることができる。しかも、前世代のプロセッサ500では、第2バス第1領域と第2バス第2領域とで、アクセスサイクル数の設定が共通であるのに対して、現世代のプロセッサ100では、第2バス第1領域及び第2バス第2領域に対してそれぞれ独立した設定が可能である。   As described above, in the previous generation processor 500, only the number of access cycles can be set for the second bus 533, whereas in the current generation processor 100, the page size, the number of page access cycles, the random number The number of access cycles and the data bus width can be determined. Moreover, in the previous generation processor 500, the second bus first area and the second bus second area have the same setting of the number of access cycles, whereas in the current generation processor 100, the second bus second area. Independent setting is possible for each of the first area and the second area of the second bus.

図15に示すように、現世代のプロセッサ100では、図13に示した前世代のプロセッサ500の第0領域アクセスサイクル数レジスタ並びに第1及び第2領域アクセスサイクル数レジスタに相当する仮想の第0領域アクセスサイクル数レジスタ並びに仮想の第1及び第2領域アクセスサイクル数レジスタを、前世代のプロセッサ500と同じ第1バスアドレスに配置している。   As shown in FIG. 15, in the current generation processor 100, a virtual 0th area corresponding to the 0th area access cycle number register and the first and second area access cycle number registers of the previous generation processor 500 shown in FIG. The area access cycle number register and the virtual first and second area access cycle number registers are arranged at the same first bus address as the processor 500 of the previous generation.

現世代のプロセッサ100のCPU1が、仮想の第0領域アクセスサイクル数レジスタが配置される第1バスアドレス上に値を書き込むと、同じ値が、第0領域ランダムアクセスサイクル数レジスタに書き込まれるとともに、第0領域ページサイズレジスタの値が「0」(ページサイズ=0バイト)に設定され、ページモードによるアクセスが行われなくなる。同様に、現世代のプロセッサ100のCPU1が、仮想の第1及び第2領域アクセスサイクル数レジスタが配置される第1バスアドレス上に値を書き込むと、同じ値が、第1領域ランダムアクセスサイクル数レジスタ及び第2領域ランダムアクセスサイクル数レジスタにそれぞれ書き込まれるとともに、第1領域ページサイズレジスタ及び第2領域ページサイズレジスタの値がそれぞれ「0」(ページサイズ=0バイト)に設定され、ページモードによるアクセスが行われなくなる。   When the CPU 1 of the current generation processor 100 writes a value on the first bus address where the virtual 0th area access cycle number register is arranged, the same value is written to the 0th area random access cycle number register, The value of the 0th area page size register is set to “0” (page size = 0 byte), and access in the page mode is not performed. Similarly, when the CPU 1 of the current generation processor 100 writes a value on the first bus address where the virtual first and second area access cycle number registers are arranged, the same value is obtained as the first area random access cycle number. The value is written in the register and the second area random access cycle number register, and the values of the first area page size register and the second area page size register are set to “0” (page size = 0 byte), respectively. Access will not be performed.

以上のようにして、現世代のプロセッサ100では、前世代のプロセッサ500に対するソフトウェアの後方互換性を実現できる。現世代のプロセッサ100では、前世代のプロセッサ500と異なり、第2バス第1領域及び第2バス第2領域に対してそれぞれ独立して、アクセスサイクル数が設定されるが、仮想の第1及び第2領域アクセスサイクル数レジスタが配置される第1バスアドレス上に値が書き込まれると、同じ値が、第1領域ランダムアクセスサイクル数レジスタ及び第2領域ランダムアクセスサイクル数レジスタにそれぞれ書き込まれるため、互換性の保持の妨げにはならない。   As described above, the current generation processor 100 can realize backward compatibility of software with respect to the previous generation processor 500. In the current generation processor 100, unlike the previous generation processor 500, the number of access cycles is set independently for the second bus first area and the second bus second area. When a value is written on the first bus address where the second area access cycle number register is arranged, the same value is written to the first area random access cycle number register and the second area random access cycle number register, respectively. It will not interfere with maintaining compatibility.

ここで、「仮想の」としたのは、プロセッサ100において、第0領域アクセスサイクル数レジスタ並びに第1及び第2領域アクセスサイクル数レジスタが実体として存在するものではないからである。   Here, the term “virtual” is used in the processor 100 because the 0th area access cycle number register and the first and second area access cycle number registers do not exist as entities.

なお、図13及び図15から分かるように、前世代のプロセッサ500における外部バス543の開放を要求するレジスタと、現世代のプロセッサ100における外部バス43の開放を要求するレジスタと、は同じ構成及びマッピングとなっている。   As can be seen from FIGS. 13 and 15, the register requesting to open the external bus 543 in the previous generation processor 500 and the register requesting to open the external bus 43 in the current generation processor 100 have the same configuration and Mapping.

次に、図1の第1バスアービタ13についてより詳細に説明する。   Next, the first bus arbiter 13 of FIG. 1 will be described in more detail.

図16は、図1の第1バスアービタ13に対する入出力信号の説明図である。図16を参照して、CPU1から第1バスアービタ13への命令フェッチ・アドレスIIFA、CPU1から第1バスアービタ13への命令フェッチ・バス要求信号IIFB、及び第1バスアービタ13からCPU1への命令フェッチ・リード許可信号IIFRGは、それぞれ、第1バス使用要求要因が「命令フェッチ」の場合のリードアドレス、リードのバス使用要求を示す信号、及びリードのバス使用要求が受け付けられて、内部データIDAI[7:0]がフェッチ可能であることを示す信号、である。   FIG. 16 is an explanatory diagram of input / output signals for the first bus arbiter 13 of FIG. Referring to FIG. 16, instruction fetch address IIFA from CPU 1 to first bus arbiter 13, instruction fetch bus request signal IIFB from CPU 1 to first bus arbiter 13, and instruction fetch / read from first bus arbiter 13 to CPU 1 The permission signal IIFRG receives a read address, a signal indicating a read bus use request, and a read bus use request when the first bus use request factor is “instruction fetch”, and the internal data IDAI [7: 0] is a signal indicating that fetching is possible.

CPU1から第1バスアービタ13へのデータアクセス・アドレスIDAA、CPU1から第1バスアービタ13へのデータアクセス・ライトデータIDAW、CPU1から第1バスアービタ13へのデータアクセス・バス要求信号IDAB、CPU1から第1バスアービタ13へのデータアクセス・ライト要求信号IDAWR、第1バスアービタ13からCPU1へのデータアクセス・ライト受諾信号IDAWG、及び第1バスアービタ13からCPU1へのデータアクセス・リード許可信号IDARGは、それぞれ、第1バス使用要求要因が「データアクセス」の場合のリードアドレス又はライトアドレス、ライト対象のデータ、リード又はライトのバス使用要求を示す信号、バス使用要求がライト要求であることを示す信号、ライトのバス使用要求が受け付けられたことを示す信号、及びリードのバス使用要求が受け付けられて、内部データIDAI[7:0]がフェッチ可能であることを示す信号、である。   Data access address IDAA from CPU 1 to first bus arbiter 13, data access / write data IDA from CPU 1 to first bus arbiter 13, data access bus request signal IDAB from CPU 1 to first bus arbiter 13, CPU 1 to first bus arbiter The data access / write request signal IDAWR to 13, the data access / write acceptance signal IDAWG from the first bus arbiter 13 to the CPU 1, and the data access / read permission signal IDARG from the first bus arbiter 13 to the CPU 1, respectively. Read address or write address when the use request factor is “data access”, data to be written, a signal indicating a read or write bus use request, a signal indicating that the bus use request is a write request, a write Signal indicating that the use request is received, and the read bus use request is accepted, the internal data IDAI [7: 0] is a signal, indicating that it is possible fetch.

グラフィックプロセッサ3から第1バスアービタ13への第1バックグラウンドアレイデータ・アドレスFBGA、グラフィックプロセッサ3から第1バスアービタ13への第1バックグラウンドアレイデータ・バス要求信号FBGB、及び第1バスアービタ13からグラフィックプロセッサ3への第1バックグラウンドアレイデータ・リード許可信号FBGRGは、それぞれ、第1バス使用要求要因が「第1バックグラウンドアレイデータ」の場合のリードアドレス、リードのバス使用要求を示す信号、及びリードのバス使用要求が受け付けられて、内部データIDAI[7:0]がフェッチ可能であることを示す信号、である。   A first background array data address FBGA from the graphic processor 3 to the first bus arbiter 13, a first background array data bus request signal FBGB from the graphic processor 3 to the first bus arbiter 13, and a graphic processor from the first bus arbiter 13 The first background array data / read permission signal FBGRG 3 is a read address when the first bus use request factor is “first background array data”, a signal indicating a read bus use request, and a read Is a signal indicating that the internal data IDAI [7: 0] can be fetched.

グラフィックプロセッサ3から第1バスアービタ13への第2バックグラウンドアレイデータ・アドレスSBGA、グラフィックプロセッサ3から第1バスアービタ13への第2バックグラウンドアレイデータ・バス要求信号SBGB、及び第1バスアービタ13からグラフィックプロセッサ3への第2バックグラウンドアレイデータ・リード許可信号SBGRGは、それぞれ、第1バス使用要求要因が「第2バックグラウンドアレイデータ」の場合のリードアドレス、リードのバス使用要求を示す信号、及びリードのバス使用要求が受け付けられて、内部データIDAI[7:0]がフェッチ可能であることを示す信号、である。   The second background array data address SBGA from the graphic processor 3 to the first bus arbiter 13, the second background array data bus request signal SBGB from the graphic processor 3 to the first bus arbiter 13, and the graphic processor from the first bus arbiter 13 The second background array data / read permission signal SBGRG to 3 is a read address, a signal indicating a read bus use request, and a read when the first bus use request factor is “second background array data”, respectively. Is a signal indicating that the internal data IDAI [7: 0] can be fetched.

グラフィックプロセッサ3から第1バスアービタ13へのスプライトDMA・アドレスISPA、グラフィックプロセッサ3から第1バスアービタ13へのスプライトDMA・バス要求信号ISPB、及び第1バスアービタ13からグラフィックプロセッサ3へのスプライトDMA・リード許可信号ISPRGは、それぞれ、第1バス使用要求要因が「スプライトDMA」の場合のリードアドレス、リードのバス使用要求を示す信号、及びリードのバス使用要求が受け付けられて、内部データIDAI[7:0]がフェッチ可能であることを示す信号、である。   Sprite DMA address ISPA from graphic processor 3 to first bus arbiter 13, sprite DMA bus request signal ISPB from graphic processor 3 to first bus arbiter 13, and sprite DMA read permission from first bus arbiter 13 to graphic processor 3 The signal ISPRG receives a read address, a signal indicating a read bus use request, and a read bus use request when the first bus use request factor is “sprite DMA”, and the internal data IDAI [7: 0]. ] Is a signal indicating that fetching is possible.

グラフィックプロセッサ3から第1バスアービタ13へのキャラクタヘッダ・アドレスICHA、グラフィックプロセッサ3から第1バスアービタ13へのキャラクタヘッダ・バス要求信号ICHB、及び第1バスアービタ13からグラフィックプロセッサ3へのキャラクタヘッダ・リード許可信号ICHRGは、それぞれ、第1バス使用要求要因が「キャラクタヘッダ」の場合のリードアドレス、リードのバス使用要求を示す信号、及びリードのバス使用要求が受け付けられて、内部データIDAI[7:0]がフェッチ可能であることを示す信号、である。   Character header address ICHA from the graphic processor 3 to the first bus arbiter 13, character header / bus request signal ICHB from the graphic processor 3 to the first bus arbiter 13, and character header read permission from the first bus arbiter 13 to the graphic processor 3 The signal ICHRG receives the read address when the first bus use request factor is “character header”, the signal indicating the read bus use request, and the read bus use request, and receives the internal data IDAI [7: 0]. ] Is a signal indicating that fetching is possible.

グラフィックプロセッサ3から第1バスアービタ13へのキャラクタデータ・アドレスICDA、グラフィックプロセッサ3から第1バスアービタ13へのキャラクタデータ・バス要求信号ICDB、及び第1バスアービタ13からグラフィックプロセッサ3へのキャラクタデータ・リード許可信号ICDRGは、それぞれ、第1バス使用要求要因が「キャラクタデータ」の場合のリードアドレス、リードのバス使用要求を示す信号、リードのバス使用要求が受け付けられて、内部データIDAI[7:0]がフェッチ可能であることを示す信号、である。   Character data address ICDA from the graphic processor 3 to the first bus arbiter 13, character data bus request signal ICDB from the graphic processor 3 to the first bus arbiter 13, and character data read permission from the first bus arbiter 13 to the graphic processor 3 The signal ICDRG receives the read address, the signal indicating the read bus use request, and the read bus use request when the first bus use request factor is “character data”, and the internal data IDAI [7: 0]. Is a signal indicating that fetching is possible.

グラフィックプロセッサ3から第1バスアービタ13へのビットマップデータ・アドレスIBMA、グラフィックプロセッサ3から第1バスアービタ13へのビットマップデータ・バス要求信号IBMB、及び第1バスアービタ13からグラフィックプロセッサ3へのビットマップデータ・リード許可信号IBMRGは、それぞれ、第1バス使用要求要因が「ビットマップデータ」の場合のリードアドレス、リードのバス使用要求を示す信号、及びリードのバス使用要求が受け付けられて、内部データIDAI[7:0]がフェッチ可能であることを示す信号、である。   Bitmap data address IBMA from the graphic processor 3 to the first bus arbiter 13, Bitmap data bus request signal IBMB from the graphic processor 3 to the first bus arbiter 13, and Bitmap data from the first bus arbiter 13 to the graphic processor 3 The read permission signal IBMRG receives the read address, the signal indicating the read bus use request, and the read bus use request when the first bus use request factor is “bitmap data”, and receives the internal data IDAI. [7: 0] is a signal indicating that fetching is possible.

ピクセルプロッタ5から第1バスアービタ13へのピクセルプロッタ・アドレスIPPA、ピクセルプロッタ5から第1バスアービタ13へのピクセルプロッタ・ライトデータIPPW、ピクセルプロッタ5から第1バスアービタ13へのピクセルプロッタ・バス要求信号IPPB、ピクセルプロッタ5から第1バスアービタ13へのピクセルプロッタ・ライト要求信号IPPWR、第1バスアービタ13からピクセルプロッタ5へのピクセルプロッタ・ライト受諾信号IPPWG、及び第1バスアービタ13からピクセルプロッタ5へのピクセルプロッタ・リード許可信号IPPRGは、それぞれ、第1バス使用要求要因が「ピクセルプロッタ」の場合のリードアドレス又はライトアドレス、ライト対象のデータ、リード又はライトのバス使用要求を示す信号、バス使用要求がライト要求であることを示す信号、ライトのバス使用要求が受け付けられたことを示す信号、及びリードのバス使用要求が受け付けられて、内部データIDAI[7:0]がフェッチ可能であることを示す信号、である。   Pixel plotter address IPPA from the pixel plotter 5 to the first bus arbiter 13, pixel plotter write data IPPW from the pixel plotter 5 to the first bus arbiter 13, and pixel plotter bus request signal IPPB from the pixel plotter 5 to the first bus arbiter 13. The pixel plotter / write request signal IPPWR from the pixel plotter 5 to the first bus arbiter 13, the pixel plotter / write acceptance signal IPPWG from the first bus arbiter 13 to the pixel plotter 5, and the pixel plotter from the first bus arbiter 13 to the pixel plotter 5. The read permission signal IPPRG includes a read address or a write address, a write target data, a read or write bus when the first bus use request factor is “pixel plotter”, respectively. A signal indicating a request for use, a signal indicating that the bus use request is a write request, a signal indicating that a write bus use request is accepted, and a read bus use request are accepted, and the internal data IDAI [7: 0] is a signal indicating that fetching is possible.

サウンドプロセッサ7から第1バスアービタ13へのウェーブデータ・アドレスIWAA、サウンドプロセッサ7から第1バスアービタ13へのウェーブデータ・バス要求信号IWAB、及び第1バスアービタ13からサウンドプロセッサ7へのウェーブデータ・リード許可信号IWARGは、それぞれ、第1バス使用要求要因が「ウェーブデータ」の場合のリードアドレス、リードのバス使用要求を示す信号、及びリードのバス使用要求が受け付けられて、内部データIDAI[7:0]がフェッチ可能であることを示す信号、である。   Wave data address IWAA from the sound processor 7 to the first bus arbiter 13, wave data bus request signal IWAB from the sound processor 7 to the first bus arbiter 13, and wave data read permission from the first bus arbiter 13 to the sound processor 7 The signal IWARG receives the read address when the first bus use request factor is “wave data”, the signal indicating the read bus use request, and the read bus use request, and receives the internal data IDAI [7: 0]. ] Is a signal indicating that fetching is possible.

サウンドプロセッサ7から第1バスアービタ13へのエンベロープデータ・アドレスIEVA、サウンドプロセッサ7から第1バスアービタ13へのエンベロープデータ・ライトデータIEVW、サウンドプロセッサ7から第1バスアービタ13へのエンベロープデータ・バス要求信号IEVB、サウンドプロセッサ7から第1バスアービタ13へのエンベロープデータ・ライト要求信号IEVWR、第1バスアービタ13からサウンドプロセッサ7へのエンベロープデータ・ライト受諾信号IEVWG、及び第1バスアービタ13からサウンドプロセッサ7へのエンベロープデータ・リード許可信号IEVRGは、それぞれ、第1バス使用要求要因が「エンベロープデータ」の場合のリードアドレス又はライトアドレス、ライト対象のデータ、リード又はライトのバス使用要求を示す信号、バス使用要求がライト要求であることを示す信号、ライトのバス使用要求が受け付けられたことを示す信号、リードのバス使用要求が受け付けられて、内部データIDAI[7:0]がフェッチ可能であることを示す信号、である。   Envelope data address IEVA from the sound processor 7 to the first bus arbiter 13, envelope data / write data IEVW from the sound processor 7 to the first bus arbiter 13, and envelope data bus request signal IEVB from the sound processor 7 to the first bus arbiter 13 The envelope data / write request signal IEVWR from the sound processor 7 to the first bus arbiter 13, the envelope data / write acceptance signal IEVWG from the first bus arbiter 13 to the sound processor 7, and the envelope data from the first bus arbiter 13 to the sound processor 7 The read permission signal IEVRG is the read address or write address when the first bus use request factor is “envelope data”, and the data to be written. , A signal indicating a read or write bus use request, a signal indicating that the bus use request is a write request, a signal indicating that a write bus use request has been accepted, a read bus use request being accepted, and an internal A signal indicating that data IDAI [7: 0] can be fetched.

DMAコントローラ9から第1バスアービタ13へのDMAデスティネーション・アドレスIDDA、DMAコントローラ9から第1バスアービタ13へのDMAデスティネーション・ライトデータIDDW、DMAコントローラ9から第1バスアービタ13へのDMAデスティネーション・バス要求信号IDDB、及び第1バスアービタ13からDMAコントローラ9へのDMAデスティネーション・ライト受諾信号IDDWGは、それぞれ、第1バス使用要求要因が「DMAデスティネーション」の場合のライトアドレス、ライト対象のデータ、ライトのバス使用要求を示す信号、及びライトのバス使用要求が受け付けられたことを示す信号、である。   DMA destination address IDDA from the DMA controller 9 to the first bus arbiter 13, DMA destination write data IDDW from the DMA controller 9 to the first bus arbiter 13, and a DMA destination bus from the DMA controller 9 to the first bus arbiter 13 The request signal IDDB and the DMA destination / write acceptance signal IDDWG from the first bus arbiter 13 to the DMA controller 9 are the write address, the data to be written when the first bus use request factor is “DMA destination”, respectively. A signal indicating a write bus use request, and a signal indicating that a write bus use request has been accepted.

ここで、上記アドレス信号IIFA,IDAA,FBGA,SBGA,ISPA,ICHA,ICDA,IBMA,IPPA,IWAA,IEVA及びIDDAは、それぞれ、15ビットの信号である。また、上記ライトデータIDAW,IPPW,IEVW,IDDWは、それぞれ、8ビットの信号である。   Here, the address signals IIFA, IDAA, FBGA, SBGA, ISPA, ICHA, ICDA, IBMA, IPPA, IWAA, IEVA and IDDA are each 15-bit signals. The write data IDAW, IPPW, IEVW and IDDW are 8-bit signals, respectively.

第1バスアービタ13は、第1バス31へ、調停後の、第1バスアドレスIAD、内部ライトイネーブル信号IRW、及び内部データIDAOを出力する。   The first bus arbiter 13 outputs the first bus address IAD, the internal write enable signal IRW, and the internal data IDAO after arbitration to the first bus 31.

第1バスアドレスIADは、第1バス31のアドレスバス311(後述の図18参照)へ出力されるアドレス信号(15ビット)である。内部ライトイネーブル信号IRWは、第1バス31のコントロールバス313(図8参照)へ出力されるライトイネーブル信号である。内部ライトイネーブル信号IRWが、「1」のときライトイネーブルを示し、「0」のときリードイネーブルを示す。内部データIDAOは、第1バス31のデータバス312(図8参照)へ出力されるデータ(8ビット)である。   The first bus address IAD is an address signal (15 bits) output to an address bus 311 (see FIG. 18 described later) of the first bus 31. The internal write enable signal IRW is a write enable signal output to the control bus 313 (see FIG. 8) of the first bus 31. When the internal write enable signal IRW is “1”, it indicates a write enable, and when it is “0”, it indicates a read enable. The internal data IDAO is data (8 bits) output to the data bus 312 (see FIG. 8) of the first bus 31.

図16に示すマルチプレクサ40には、第1バスアービタ13からのデータFBD0(後述)の他、他の機能ブロック(例えば、グラフィックプロセッサ3、ピクセルプロッタ5、サウンドプロセッサ7、DMAコントローラ9、第2バスアービタ14、及びメインメモリ17など)からのデータFBD1〜FBDn(nは整数)が入力される。   16 includes data FBD0 (described later) from the first bus arbiter 13 and other functional blocks (for example, the graphic processor 3, the pixel plotter 5, the sound processor 7, the DMA controller 9, and the second bus arbiter 14). And data FBD1 to FBDn (n is an integer) from the main memory 17).

やはり図16に示すアドレスデコーダ38は、第1バスアービタ13が出力した第1バスアドレスIADをデコードして、データFBD0〜FBDnのいずれかを選択する選択信号をマルチプレクサ40に出力する。マルチプレクサ40は、この選択信号に従って、入力されたデータFBD0〜FBDnのうちのいずれか1つを選択して、内部データIDAIとして出力する。   Similarly, the address decoder 38 shown in FIG. 16 decodes the first bus address IAD output from the first bus arbiter 13 and outputs a selection signal for selecting one of the data FBD0 to FBDn to the multiplexer 40. The multiplexer 40 selects any one of the input data FBD0 to FBDn according to this selection signal, and outputs it as the internal data IDAI.

図17は、図16の第1バスアービタ13の内部構成を示すブロック図である。図17に示すように、第1バスアービタ13は、アドレスデコーダ317、第0スロット優先順位レジスタ300〜第15スロット優先順位レジスタ315、マルチプレクサ319,321、リード許可/ライト受諾信号生成回路327、スロットカウンタ323、OR回路324、プライオリティデコーダ325、マルチプレクサ329,331,333,335、及びレジスタ337,339,341,343、を含む。   FIG. 17 is a block diagram showing an internal configuration of the first bus arbiter 13 of FIG. As shown in FIG. 17, the first bus arbiter 13 includes an address decoder 317, a zeroth slot priority register 300 to a fifteenth slot priority register 315, multiplexers 319 and 321, a read permission / write acceptance signal generation circuit 327, a slot counter. 323, an OR circuit 324, a priority decoder 325, multiplexers 329, 331, 333, 335, and registers 337, 339, 341, 343.

第0スロット優先順位レジスタ300〜第15スロット優先順位レジスタ315を包括して表現するときは、優先順位レジスタIPROと表記する。   When the 0th slot priority order register 300 to the 15th slot priority order register 315 are collectively expressed, they are expressed as a priority order register IPRO.

第0スロット優先順位レジスタ300〜第15スロット優先順位レジスタ315の各々には、図10の優先順位情報番号0〜3のいずれかがセットされる。例えば、第0スロット優先順位レジスタ300〜第15スロット優先順位レジスタ315には、それぞれ、優先順位情報番号0、優先順位情報番号3、優先順位情報番号1、優先順位情報番号3、優先順位情報番号0、優先順位情報番号3、優先順位情報番号2、優先順位情報番号3、優先順位情報番号0、優先順位情報番号3、優先順位情報番号2、優先順位情報番号3、優先順位情報番号0、優先順位情報番号3、優先順位情報番号2、及び優先順位情報番号3がセットされる。なお、優先順位情報番号0〜3は2ビットにエンコードされている。従って、第0スロット優先順位レジスタ300〜第15スロット優先順位レジスタ315の各々は、2ビットのレジスタである。   Any one of the priority order information numbers 0 to 3 in FIG. 10 is set in each of the 0th slot priority order register 300 to the 15th slot priority order register 315. For example, the 0th slot priority order register 300 to the 15th slot priority order register 315 have priority order information number 0, priority order information number 3, priority order information number 1, priority order information number 3, and priority order information number, respectively. 0, priority order information number 3, priority order information number 2, priority order information number 3, priority order information number 0, priority order information number 3, priority order information number 2, priority order information number 3, priority order information number 0, Priority information number 3, priority information number 2, and priority information number 3 are set. The priority information numbers 0 to 3 are encoded in 2 bits. Accordingly, each of the 0th slot priority register 300 to the 15th slot priority register 315 is a 2-bit register.

CPU1は、第0スロット優先順位レジスタ300〜第15スロット優先順位レジスタ315に値をセットすることで、16スロットで1巡する優先順位情報番号0〜3の組み合わせを任意に設定できる。また、CPU1は、第0スロット優先順位レジスタ300〜第15スロット優先順位レジスタ315に設定された値を読み出すこともできる。   The CPU 1 can arbitrarily set a combination of priority information numbers 0 to 3 for one round in 16 slots by setting values in the 0th slot priority register 300 to the 15th slot priority register 315. The CPU 1 can also read the values set in the 0th slot priority order register 300 to the 15th slot priority order register 315.

アドレスデコーダ317は、バス調停の結果として生成された第1バスアドレスIADをデコードした結果、第1バスアドレスIADが、第0スロット優先順位レジスタ300〜第15スロット優先順位レジスタ315のいずれかを指し示している場合であって、内部ライトイネーブル信号IRWがライトイネーブルを示しているときに、第1バスアドレスIADにより指し示される優先順位レジスタIPROに対して選択信号を出力する。   The address decoder 317 decodes the first bus address IAD generated as a result of the bus arbitration. As a result, the first bus address IAD indicates one of the 0th slot priority order register 300 to the 15th slot priority order register 315. When the internal write enable signal IRW indicates write enable, a selection signal is output to the priority order register IPRO indicated by the first bus address IAD.

アドレスデコーダ317から選択信号が入力された優先順位レジスタIPROは、内部データIDAOとして与えられる優先順位情報番号を保持する。   The priority register IPRO to which the selection signal is input from the address decoder 317 holds the priority information number given as the internal data IDAO.

この場合の第1バスアドレスIADは、後述のマルチプレクサ331により選択された、CPU1が出力したデータアクセス・アドレスIDAAである。この場合の内部ライトイネーブル信号IRWは、後述のマルチプレクサ335により選択された、CPU1が出力したデータアクセス・ライト要求信号IDAWRである。この場合の内部データIDAOは、後述のマルチプレクサ333により選択された、CPU1が出力したデータアクセス・ライトデータIDAWである。   The first bus address IAD in this case is the data access address IDAA output by the CPU 1 and selected by the multiplexer 331 described later. The internal write enable signal IRW in this case is a data access / write request signal IDAWR output by the CPU 1 and selected by a multiplexer 335 described later. The internal data IDAO in this case is the data access / write data IDAW output by the CPU 1 selected by the multiplexer 333 described later.

一方、アドレスデコーダ317は、バス調停の結果として生成された第1バスアドレスIADをデコードした結果、第1バスアドレスIADが、第0スロット優先順位レジスタ300〜第15スロット優先順位レジスタ315のいずれかを指し示している場合であって、内部ライトイネーブル信号IRWがリードイネーブルを示しているときに、第1バスアドレスIADにより指し示される優先順位レジスタIPROを選択する選択信号をマルチプレクサ319に出力する。マルチプレクサ319は、この選択信号が示す優先順位レジスタIPROが保持しているエンコードされた優先順位情報番号を、データFBD0として、図16のマルチプレクサ40に出力する。   On the other hand, the address decoder 317 decodes the first bus address IAD generated as a result of the bus arbitration, so that the first bus address IAD is one of the 0th slot priority order register 300 to the 15th slot priority order register 315. When the internal write enable signal IRW indicates read enable, a selection signal for selecting the priority register IPRO indicated by the first bus address IAD is output to the multiplexer 319. The multiplexer 319 outputs the encoded priority information number held in the priority register IPRO indicated by the selection signal to the multiplexer 40 in FIG. 16 as data FBD0.

この場合の第1バスアドレスIADは、後述のマルチプレクサ331により選択された、CPU1が出力したデータアクセス・アドレスIDAAである。この場合の内部ライトイネーブル信号IRWは、後述のマルチプレクサ335により選択された、CPU1が出力したデータアクセス・ライト要求信号IDAWRである。   The first bus address IAD in this case is the data access address IDAA output by the CPU 1 and selected by the multiplexer 331 described later. The internal write enable signal IRW in this case is a data access / write request signal IDAWR output by the CPU 1 and selected by a multiplexer 335 described later.

以上のように、CPU1は、第1バス31を介して、第0スロット優先順位レジスタ300〜第15スロット優先順位レジスタ315に値を書き込み、あるいは、値を読み出すことができる。   As described above, the CPU 1 can write a value to the 0th slot priority order register 300 to the 15th slot priority order register 315 via the first bus 31 or read the value.

マルチプレクサ321は、スロットカウンタ323からの選択信号ISSELに従って、第0スロット優先順位レジスタ300〜第15スロット優先順位レジスタ315のうちの1つを選択し、選択した優先順位レジスタIPROが保持している優先順位情報番号をプライオリティデコーダ325に出力する。   The multiplexer 321 selects one of the 0th slot priority order register 300 to the 15th slot priority order register 315 in accordance with the selection signal ISSEL from the slot counter 323, and the priority stored in the selected priority order register IPRO. The rank information number is output to the priority decoder 325.

プライオリティデコーダ325には、CPU1から、命令フェッチ・バス要求信号IIFB及びデータアクセス・バス要求信号IDABが入力され、グラフィックプロセッサ3から、第1バックグラウンドアレイデータ・バス要求信号FBGB、第2バックグラウンドアレイデータ・バス要求信号SBGB、スプライトDMA・バス要求信号ISPB、キャラクタヘッダ・バス要求信号ICHB、キャラクタデータ・バス要求信号ICDB、及びビットマップデータ・バス要求信号IBMBが入力され、ピクセルプロッタ5から、ピクセルプロッタ・バス要求信号IPPBが入力され、サウンドプロセッサ7から、ウェーブデータ・バス要求信号IWAB及びエンベロープデータ・バス要求信号IEVBが入力され、DMAコントローラ9から、DMAデスティネーション・バス要求信号IDDBが入力される。   The priority fetcher 325 receives an instruction fetch bus request signal IIFB and a data access bus request signal IDAB from the CPU 1, and receives a first background array data bus request signal FBGB and a second background array from the graphic processor 3. A data bus request signal SBGB, a sprite DMA bus request signal ISPB, a character header bus request signal ICHB, a character data bus request signal ICDB, and a bitmap data bus request signal IBMB are input. A plotter bus request signal IPPB is input, and a wave data bus request signal IWAB and an envelope data bus request signal IEVB are input from the sound processor 7 and the DMA controller 9 , DMA destination bus request signal IDDB is input.

また、プライオリティデコーダ325には、リード許可/ライト受諾信号生成回路327から、命令フェッチ・リード許可信号IIFRG、データアクセス・リード許可信号IDARG、データアクセス・ライト受諾信号IDAWG、第1バックグラウンドアレイデータ・リード許可信号FBGRG、第2バックグラウンドアレイデータ・リード許可信号SBGRG、スプライトDMA・リード許可信号ISPRG、キャラクタヘッダ・リード許可信号ICHRG、キャラクタデータ・リード許可信号ICDRG、ビットマップデータ・リード許可信号IBMRG、ピクセルプロッタ・リード許可信号IPPRG、ピクセルプロッタ・ライト受諾信号IPPWG、ウェーブデータ・リード許可信号IWARG、エンベロープデータ・リード許可信号IEVRG、エンベロープデータ・ライト受諾信号IEVWG、及びDMAデスティネーション・ライト受諾信号IDDWGが入力される。   The priority decoder 325 also receives an instruction fetch / read permission signal IIFRG, a data access / read permission signal IDARG, a data access / write permission signal IDAWG, a first background array data, from the read permission / write acceptance signal generation circuit 327. Read permission signal FBGRG, second background array data / read permission signal SBGRG, sprite DMA / read permission signal ISPRG, character header / read permission signal ICHRG, character data / read permission signal ICDRG, bitmap data / read permission signal IBMRG, Pixel plotter / read permission signal IPPRG, pixel plotter / write permission signal IPPWG, wave data / read permission signal IWARG, envelope data / read permission Signal IEVRG, envelope data write acceptance signal IEVWG, and a DMA destination write acceptance signal IDDWG inputted.

ここで、バス要求信号IIFB,IDAB,FPBG,SBGB,ISPB,ICHB,ICDB,IBMB,IPPB,IWAB,IEVB,IDDBを包括して表現するときは、第1バス使用要求信号FBURQ、と表記する。   Here, the bus request signals IIFB, IDAB, FPBG, SBGB, ISPB, ICHB, ICDB, IBMB, IPPB, IWAB, IEVB, and IDDB are collectively expressed as a first bus use request signal FBURQ.

プライオリティデコーダ325は、マルチプレクサ321から現在入力されている優先順位情報番号をデコードする。そして、プライオリティデコーダ325は、デコードした優先順位情報番号に対応する優先順位情報セットに従って、アサートされている第1バス使用要求信号FBURQに対応する第1バス使用要求要因のうち、現在第1バス31を使用している第1バス使用要求要因を除いて最も優先順位の高い第1バス使用要求要因を選択する。ここで、現在第1バス31を使用している第1バス使用要求要因は、リード許可/ライト受諾信号生成回路327から入力される第1バス使用許可信号FAGRの状態から知ることができる。   The priority decoder 325 decodes the priority information number currently input from the multiplexer 321. Then, the priority decoder 325, among the first bus use request factors corresponding to the asserted first bus use request signal FBURQ, in accordance with the priority order information set corresponding to the decoded priority order information number, The first bus use request factor having the highest priority is selected except for the first bus use request factor using the. Here, the first bus use request factor currently using the first bus 31 can be known from the state of the first bus use permission signal FAGR input from the read permission / write acceptance signal generation circuit 327.

なお、第1バス使用許可信号FAGRは、命令フェッチ・リード許可信号IIFRG、データアクセス・リード許可信号IDARG、データアクセス・ライト受諾信号IDAWG、第1バックグラウンドアレイデータ・リード許可信号FBGRG、第2バックグラウンドアレイデータ・リード許可信号SBGRG、スプライトDMA・リード許可信号ISPRG、キャラクタヘッダ・リード許可信号ICHRG、キャラクタデータ・リード許可信号ICDRG、ビットマップデータ・リード許可信号IBMRG、ピクセルプロッタ・リード許可信号IPPRG、ピクセルプロッタ・ライト受諾信号IPPWG、ウェーブデータ・リード許可信号IWARG、エンベロープデータ・リード許可信号IEVRG、エンベロープデータ・ライト受諾信号IEVWG、及びDMAデスティネーション・ライト受諾信号IDDWGを包括した表記である。   The first bus use permission signal FAGR includes an instruction fetch / read permission signal IIFRG, a data access / read permission signal IDARG, a data access / write acceptance signal IDAWG, a first background array data / read permission signal FBGRG, and a second back. Ground array data / read permission signal SBGRG, sprite DMA / read permission signal ISPRG, character header / read permission signal ICHRG, character data / read permission signal ICDRG, bitmap data / read permission signal IBMRG, pixel plotter / read permission signal IPPRG, Pixel plotter / write acceptance signal IPPWG, wave data / read permission signal IWARG, envelope data / read permission signal IEVRG, envelope data / write acceptance Nos IEVWG, and inclusive the notation DMA destination write acceptance signal IDDWG.

また、プライオリティデコーダ325は、選択した第1バス使用要求要因に基づいて、バスマスタセレクト信号IBMSL[3:0]を生成して、マルチプレクサ329,331,333,335に出力する。つまり、プライオリティデコーダ325は、デコードした優先順位情報番号に対応する優先順位情報に従って、アサートされている第1バス使用要求信号FBURQに対応する第1バス使用要求要因のうち、現在第1バス31を使用している第1バス使用要求要因を除いて最も優先順位の高い第1バス使用要求要因を示す値にバスマスタセレクト信号IBMSL[3:0]をセットする。   Further, the priority decoder 325 generates a bus master select signal IBMSL [3: 0] based on the selected first bus use request factor, and outputs it to the multiplexers 329, 331, 333, and 335. That is, the priority decoder 325 determines the current first bus 31 among the first bus use request factors corresponding to the asserted first bus use request signal FBURQ in accordance with the priority order information corresponding to the decoded priority order information number. The bus master select signal IBMSL [3: 0] is set to a value indicating the first bus use request factor having the highest priority except for the used first bus use request factor.

OR回路324には、リード許可/ライト受諾信号生成回路327から、第1バス使用許可信号FAGR(IIFRG、IDARG、IDAWG、FBGRG、SBGRG、ISPRG、ICHRG、ICDRG、IBMRG、IPPRG、IPPWG、IWARG、IEVRG、IEVWG、IDDWG)が入力される。   The OR circuit 324 receives a first bus use permission signal FAGR (IIFRG, IDARG, IDAWG, FBGRG, SBGRG, ISPRG, ICHRG, ICDRG, IBMRG, IPPRG, IPPWG, IWARG, IEVRG from the read permission / write acceptance signal generation circuit 327. , IEVWG, IDDWG).

スロットカウンタ323は、OR回路324からの信号が、「0(偽)」から「1(真)」に遷移するたびに、選択信号ISSEL[3:0]の値をインクリメントして、マルチプレクサ321に、第0スロット優先順位レジスタ300〜第15スロット優先順位レジスタ315に格納されている優先順位情報番号を順次的かつ巡回的に選択させる。これは、バス使用許可が与えられたバスマスタの1バスサイクルの終端は、15の第1バス使用許可信号FAGRの論理和から求められるからである。   Each time the signal from the OR circuit 324 transitions from “0 (false)” to “1 (true)”, the slot counter 323 increments the value of the selection signal ISSEL [3: 0] and sends it to the multiplexer 321. The priority information numbers stored in the zeroth slot priority register 300 to the fifteenth slot priority register 315 are sequentially and cyclically selected. This is because the end of one bus cycle of the bus master given the bus use permission is obtained from the logical sum of the fifteen first bus use permission signals FAGR.

マルチプレクサ329,331,333及び335の各々の12の入力は、12の第1バス使用要求要因「命令フェッチ」,「データアクセス」,「第1バックグラウンドアレイデータ」,「第2バックグラウンドアレイデータ」,「スプライトDMA」,「キャラクタヘッダ」,「キャラクタデータ」,「ビットマップデータ」,「ピクセルプロッタ」,「ウェーブデータ」,「エンベロープデータ」,「DMAデスティネーション」に対応している。   Twelve inputs of each of the multiplexers 329, 331, 333 and 335 are twelve first bus use request factors “instruction fetch”, “data access”, “first background array data”, “second background array data”. "," Sprite DMA "," Character header "," Character data "," Bitmap data "," Pixel plotter "," Wave data "," Envelope data ", and" DMA destination ".

マルチプレクサ329の12の入力には、第1バス使用要求要因「命令フェッチ」を示すコード0b000000000001、第1バス使用要求要因「データアクセス」を示すコード0b000000000010、第1バス使用要求要因「第1バックグラウンドアレイデータ」を示すコード0b000000000100、第1バス使用要求要因「第2バックグラウンドアレイデータ」を示すコード0b000000001000、第1バス使用要求要因「スプライトDMA」を示すコード0b000000010000、第1バス使用要求要因「キャラクタヘッダ」を示すコード0b000000100000、第1バス使用要求要因「キャラクタデータ」を示すコード0b000001000000、第1バス使用要求要因「ビットマップデータ」を示すコード0b000010000000、第1バス使用要求要因「ピクセルプロッタ」を示すコード0b000100000000、第1バス使用要求要因「ウェーブデータ」を示すコード0b001000000000、第1バス使用要求要因「エンベロープデータ」を示すコード0b010000000000、及び第1バス使用要求要因「DMAデスティネーション」を示すコード0b100000000000が入力される。   The 12 inputs of the multiplexer 329 include a code 0b000000000001 indicating the first bus use request factor “instruction fetch”, a code 0b000000000010 indicating the first bus use request factor “data access”, and the first bus use request factor “first background”. Code 0b000000000000100 indicating "array data", code 0b000000001000 indicating the first bus use request factor "second background array data", code 0b00000100000000 indicating the first bus use request factor "sprite DMA", first bus use request factor "character" Code 0b000000100000 indicating header ", code 0b000001000000 indicating first bus use request factor" character data ", first bus use request factor" bit " Code 0b0000010000000 indicating the "bus data", code 0b0001000000 indicating the first bus use request factor "pixel plotter", code 0b001000000000000 indicating the first bus use request factor "wave data", and code indicating the first bus use request factor "envelope data" 0b01000000000000 and a code 0b100000000000000 indicating the first bus use request factor “DMA destination” are input.

マルチプレクサ329は、プライオリティデコーダ325から入力されたバスマスタセレクト信号IBMSLが示す(第1バス31の使用許可を与える)第1バス使用要求要因に対応したコードを選択してレジスタ337に出力する。   The multiplexer 329 selects the code corresponding to the first bus use request factor indicated by the bus master select signal IBMSL input from the priority decoder 325 (giving use permission of the first bus 31), and outputs it to the register 337.

レジスタ337は、マルチプレクサ329から入力されたコードを保持するとともに、リード許可/ライト受諾信号生成回路327へ出力する。   The register 337 holds the code input from the multiplexer 329 and outputs it to the read permission / write acceptance signal generation circuit 327.

リード許可/ライト受諾信号生成回路327は、レジスタ337から出力されたコードを基に、第1バス使用許可信号FAGRを生成する。具体的には、次の通りである。   The read permission / write acceptance signal generation circuit 327 generates the first bus use permission signal FAGR based on the code output from the register 337. Specifically, it is as follows.

リード許可/ライト受諾信号生成回路327は、レジスタ337が出力するコードが0b000000000001のときは、命令フェッチ・リード許可信号IIFRGをアサートする。リード許可/ライト受諾信号生成回路327は、レジスタ337が出力するコードが0b000000000010であって、かつ、データアクセス・ライト要求信号IDAWRがネゲートされているときは、データアクセス・リード許可信号IDARGをアサートする。リード許可/ライト受諾信号生成回路327は、レジスタ337が出力するコードが0b000000000010であって、かつ、データアクセス・ライト要求信号IDAWRがアサートされているときは、データアクセス・ライト受諾信号IDAWGをアサートする。   When the code output from the register 337 is 0b000000000001, the read permission / write acceptance signal generation circuit 327 asserts the instruction fetch / read permission signal IIFRG. When the code output from the register 337 is 0b000000000010 and the data access / write request signal IDAWR is negated, the read permission / write acceptance signal generation circuit 327 asserts the data access / read permission signal IDARG. . The read permission / write acceptance signal generation circuit 327 asserts the data access / write acceptance signal IDAWG when the code output from the register 337 is 0b000000000010 and the data access / write request signal IDAWR is asserted. .

リード許可/ライト受諾信号生成回路327は、レジスタ337が出力するコードが0b000000000100のときは、第1バックグラウンドアレイデータ・リード許可信号FBGRGをアサートする。リード許可/ライト受諾信号生成回路327は、レジスタ337が出力するコードが0b000000001000のときは、第2バックグラウンドアレイデータ・リード許可信号SBGRGをアサートする。リード許可/ライト受諾信号生成回路327は、レジスタ337が出力するコードが0b000000010000のときは、スプライトDMA・リード許可信号ISPRGをアサートする。   When the code output from the register 337 is 0b000000000000, the read permission / write acceptance signal generation circuit 327 asserts the first background array data / read permission signal FBGRG. When the code output from the register 337 is 0b000000001000, the read permission / write acceptance signal generation circuit 327 asserts the second background array data / read permission signal SBGRG. When the code output from the register 337 is 0b000001010000, the read permission / write acceptance signal generation circuit 327 asserts the sprite DMA / read permission signal ISPRG.

リード許可/ライト受諾信号生成回路327は、レジスタ337が出力するコードが0b000000100000のときは、キャラクタヘッダ・リード許可信号ICHRGをアサートする。リード許可/ライト受諾信号生成回路327は、レジスタ337が出力するコードが0b000001000000のときは、キャラクタデータ・リード許可信号ICDRGをアサートする。リード許可/ライト受諾信号生成回路327は、レジスタ337が出力するコードが0b000010000000のときは、ビットマップデータ・リード許可信号IBMRGをアサートする。   When the code output from the register 337 is 0b00000010000000, the read permission / write acceptance signal generation circuit 327 asserts the character header / read permission signal ICHRG. When the code output from the register 337 is 0b000001000000, the read permission / write acceptance signal generation circuit 327 asserts the character data / read permission signal ICDRG. When the code output from the register 337 is 0b000010000000, the read permission / write acceptance signal generation circuit 327 asserts the bitmap data / read permission signal IBMRG.

リード許可/ライト受諾信号生成回路327は、レジスタ337が出力するコードが0b000100000000であって、かつ、ピクセルプロッタ・ライト要求信号IPPWRがネゲートされているときは、ピクセルプロッタ・リード許可信号IPPRGをアサートする。リード許可/ライト受諾信号生成回路327は、レジスタ337が出力するコードが0b000100000000であって、かつ、ピクセルプロッタ・ライト要求信号IPPWRがアサートされているときは、ピクセルプロッタ・ライト受諾信号IPPWGをアサートする。   The read permission / write acceptance signal generation circuit 327 asserts the pixel plotter read permission signal IPPRG when the code output from the register 337 is 0b000100000000 and the pixel plotter write request signal IPPWR is negated. . The read permission / write acceptance signal generation circuit 327 asserts the pixel plotter write acceptance signal IPPWG when the code output from the register 337 is 0b000100000000 and the pixel plotter write request signal IPPWR is asserted. .

リード許可/ライト受諾信号生成回路327は、レジスタ337が出力するコードが0b001000000000のときは、ウェーブデータ・リード許可信号IWARGをアサートする。リード許可/ライト受諾信号生成回路327は、レジスタ337が出力するコードが0b010000000000であって、かつ、エンベロープデータ・ライト要求信号IEVWRがネゲートされているときは、エンベロープデータ・リード許可信号IEVRGをアサートする。リード許可/ライト受諾信号生成回路327は、レジスタ337が出力するコードが0b010000000000であって、かつ、エンベロープデータ・ライト要求信号IEVWRがアサートされているときは、エンベロープデータ・ライト受諾信号IEVWGをアサートする。   When the code output from the register 337 is 0b001000000000000, the read permission / write acceptance signal generation circuit 327 asserts the wave data read permission signal IWARG. When the code output from the register 337 is 0b010000000000000 and the envelope data write request signal IEVWR is negated, the read permission / write acceptance signal generation circuit 327 asserts the envelope data read permission signal IEVRG. . The read permission / write acceptance signal generation circuit 327 asserts the envelope data write acceptance signal IEVWG when the code output from the register 337 is 0b010000000000000 and the envelope data write request signal IEVWR is asserted. .

リード許可/ライト受諾信号生成回路327は、レジスタ337が出力するコードが0b100000000000のときは、DMAデスティネーション・ライト受諾信号IDDWGをアサートする。   The read permission / write acceptance signal generation circuit 327 asserts the DMA destination write acceptance signal IDDWG when the code output from the register 337 is 0b100000000000000.

マルチプレクサ331の12の入力には、命令フェッチ・アドレスIIFA、データアクセス・アドレスIDAA、第1バックグラウンドアレイデータ・アドレスFBGA、第2バックグラウンドアレイデータ・アドレスSBGA、スプライトDMA・アドレスISPA、キャラクタヘッダ・アドレスICHA、キャラクタデータ・アドレスICDA、ビットマップデータ・アドレスIBMA、ピクセルプロッタ・アドレスIPPA、ウェーブデータ・アドレスIWAA、エンベロープデータ・アドレスIEVA、及びDMAデスティネーション・アドレスIDDAが入力される。   The 12 inputs of the multiplexer 331 include an instruction fetch address IIFA, a data access address IDAA, a first background array data address FBGA, a second background array data address SBGA, a sprite DMA address ISPA, a character header, Address ICHA, character data address ICDA, bitmap data address IBMA, pixel plotter address IPPA, wave data address IWAA, envelope data address IEVA, and DMA destination address IDDA are input.

マルチプレクサ331は、これら12の入力アドレス信号のうち、バスマスタセレクト信号IBMSLが示す(第1バス31の使用許可を与える)第1バス使用要求要因に対応するアドレス信号をレジスタ339に出力する。   The multiplexer 331 outputs to the register 339 an address signal corresponding to the first bus use request factor (giving use permission of the first bus 31) indicated by the bus master select signal IBMSL among these 12 input address signals.

レジスタ339は、マルチプレクサ331から入力されたアドレス信号を保持するとともに、第1バスアドレスIAD[14:0]として出力する。   The register 339 holds the address signal input from the multiplexer 331 and outputs it as the first bus address IAD [14: 0].

マルチプレクサ333の12の入力には、第1バス使用要求要因「命令フェッチ」に対応した「0」、データアクセス・ライトデータIDAW、第1バス使用要求要因「第1バックグランドアレイデータ」に対応した「0」、第1バス使用要求要因「第2バックグランドアレイデータ」に対応した「0」、第1バス使用要求要因「スプライトDMA」に対応した「0」、第1バス使用要求要因「キャラクタヘッダ」に対応した「0」、第1バス使用要求要因「キャラクタデータ」に対応した「0」、第1バス使用要求要因「ビットマップデータ」に対応した「0」、ピクセルプロッタ・ライトデータIPPW、第1バス使用要求要因「ウェーブデータ」に対応した「0」、エンベロープデータ・ライトデータIEVW、及びDMAデスティネーション・ライトデータIDDWが入力される。   The 12 inputs of the multiplexer 333 correspond to “0” corresponding to the first bus use request factor “instruction fetch”, data access / write data IDAW, and first bus use request factor “first background array data”. “0”, “0” corresponding to the first bus use request factor “second background array data”, “0” corresponding to the first bus use request factor “sprite DMA”, first bus use request factor “character” “0” corresponding to the “header”, “0” corresponding to the first bus use request factor “character data”, “0” corresponding to the first bus use request factor “bitmap data”, pixel plotter / write data IPPW , “0” corresponding to the first bus use request factor “wave data”, envelope data / write data IEVW, and DMA destination Deployment write data IDDW is input.

この場合、「0」入力は、ライト要求がないことを意味する。なぜなら、第1バス使用要求要因「命令フェッチ」,「第1バックグランドアレイデータ」、「第2バックグランドアレイデータ」、「キャラクタヘッダ」,「キャラクタデータ」,「ビットマップデータ」,「ウェーブデータ」では、ライトを行わないからである。   In this case, “0” input means that there is no write request. This is because the first bus use request factors “instruction fetch”, “first background array data”, “second background array data”, “character header”, “character data”, “bitmap data”, “wave data” This is because no writing is performed.

マルチプレクサ333は、上記12の入力ライトデータのうち、バスマスタセレクト信号IBMSLが示す(第1バス31の使用許可を与える)第1バス使用要求要因に対応する入力ライトデータをレジスタ341に出力する。   The multiplexer 333 outputs the input write data corresponding to the first bus use request factor indicated by the bus master select signal IBMSL (giving use permission of the first bus 31) among the 12 input write data to the register 341.

レジスタ341は、マルチプレクサ333から入力されたライトデータを保持するとともに、内部データIDAO[7:0]として出力する。   The register 341 holds the write data input from the multiplexer 333 and outputs it as internal data IDAO [7: 0].

マルチプレクサ335の12の入力には、第1バス使用要求要因「命令フェッチ」に対応した「0」、データアクセス・ライト要求信号IDAWR、第1バス使用要求要因「第1バックグランドアレイデータ」に対応した「0」、第1バス使用要求要因「第2バックグランドアレイデータ」に対応した「0」、第1バス使用要求要因「スプライトDMA」に対応した「0」、第1バス使用要求要因「キャラクタヘッダ」に対応した「0」、第1バス使用要求要因「キャラクタデータ」に対応した「0」、第1バス使用要求要因「ビットマップデータ」に対応した「0」、ピクセルプロッタ・ライト要求信号IPPWR、第1バス使用要求要因「ウェーブデータ」に対応した「0」、エンベロープデータ・ライト要求信号IEVWR、及び第1バス使用要求要因「DMAデスティネーション」に対応した「1」が入力される。   The 12 inputs of the multiplexer 335 correspond to “0” corresponding to the first bus use request factor “instruction fetch”, the data access / write request signal IDAWR, and the first bus use request factor “first background array data”. “0” corresponding to the first bus use request factor “second background array data”, “0” corresponding to the first bus use request factor “sprite DMA”, and the first bus use request factor “ “0” corresponding to the “character header”, “0” corresponding to the first bus use request factor “character data”, “0” corresponding to the first bus use request factor “bitmap data”, pixel plotter / write request Signal IPPWR, “0” corresponding to first bus use request factor “wave data”, envelope data write request signal IEVWR, and first Corresponding to the use request factor "DMA destination" and "1" is input.

この場合、「0」入力は、ライト要求を行わないことを意味する。なぜなら、第1バス使用要求要因「命令フェッチ」,「第1バックグランドアレイデータ」、「第2バックグランドアレイデータ」、「キャラクタヘッダ」,「キャラクタデータ」,「ビットマップデータ」,「ウェーブデータ」では、ライトを行わないからである。また、「1」入力は、リード要求を行わないことを意味する。なぜなら、第1バス要求要因「DMAデスティネーション」では、ライトしか行わないからである。   In this case, “0” input means that no write request is made. This is because the first bus use request factors “instruction fetch”, “first background array data”, “second background array data”, “character header”, “character data”, “bitmap data”, “wave data” This is because no writing is performed. Further, “1” input means that a read request is not performed. This is because only the write is performed in the first bus request factor “DMA destination”.

マルチプレクサ335は、上記12の入力信号のうち、バスマスタセレクト信号IBMSLが示す(第1バス31の使用許可を与える)第1バス使用要求要因に対応する入力信号をレジスタ343に出力する。   The multiplexer 335 outputs the input signal corresponding to the first bus use request factor (giving use permission of the first bus 31) indicated by the bus master select signal IBMSL among the 12 input signals to the register 343.

レジスタ343は、マルチプレクサ335から入力された信号を保持するとともに、内部ライトイネーブル信号IRWとして出力する。   The register 343 holds the signal input from the multiplexer 335 and outputs it as the internal write enable signal IRW.

次に、図1の第2バスアービタ14についてより詳細に説明する。   Next, the second bus arbiter 14 of FIG. 1 will be described in more detail.

図18は、図1の第2バスアービタ14に対する入出力信号の説明図である。図18に示すように、第2バスアービタ14の制御は、CPU1が、アドレスバス311、データバス312、及びコントロールバス313を介して行う。   FIG. 18 is an explanatory diagram of input / output signals for the second bus arbiter 14 of FIG. As shown in FIG. 18, the CPU 1 controls the second bus arbiter 14 via the address bus 311, the data bus 312, and the control bus 313.

CPU1から第2バスアービタ14への命令フェッチ・アドレスEIFA、CPU1から第2バスアービタ14への命令フェッチ・サイズ信号EIFS、CPU1から第2バスアービタ14への命令フェッチ・バス要求信号EIFB、第2バスアービタ14からCPU1への命令フェッチ・下位バイトリード許可信号EIFLR、及び第2バスアービタ14からCPU1への命令フェッチ・上位バイトリード許可信号EIFURは、それぞれ、第2バス使用要求要因が「命令フェッチ」の場合のリードアドレス、要求するデータの転送量を示す信号(何バイトのリードを要求するかを示す信号)、リードのバス使用要求を示す信号、リードのバス使用要求が受け付けられて、外部データ入力EDAIの下位バイト([7:0])がフェッチ可能であることを示す信号、及び、リードのバス使用要求が受け付けられて、外部データ入力EDAIの上位バイト([15:8])がフェッチ可能であることを示す信号、である。   Instruction fetch address EIFA from CPU 1 to second bus arbiter 14, instruction fetch size signal EIFS from CPU 1 to second bus arbiter 14, instruction fetch bus request signal EIFB from CPU 1 to second bus arbiter 14, from second bus arbiter 14 The instruction fetch / lower byte read permission signal EIFLR to the CPU 1 and the instruction fetch / upper byte read permission signal EIFUR from the second bus arbiter 14 to the CPU 1 are read when the second bus use request factor is “instruction fetch”. An address, a signal indicating the amount of data to be requested (a signal indicating how many bytes are requested to be read), a signal indicating a read bus use request, and a read bus use request are received, and the lower order of the external data input EDAI Byte ([7: 0]) can be fetched Signal indicating that it, and, with the lead of the bus use request is accepted, the high byte of the external data input EDAI ([15: 8]) is a signal, indicating that it is possible to fetch.

CPU1から第2バスアービタ14へのアドレスEDAA、CPU1から第2バスアービタ14へのデータアクセス・ライトデータEDAW、CPU1から第2バスアービタ14へのデータアクセス・バス要求信号EDAB、CPU1から第2バスアービタ14へのデータアクセス・ライト要求信号EDAWR、第2バスアービタ14からCPU1へのデータアクセス・ライト受諾信号EDAWG、第2バスアービタ14からCPU1へのデータアクセス・下位バイトリード許可信号EDALR、及び第2バスアービタ14からCPU1へのデータアクセス・上位バイトリード許可信号EDAURは、それぞれ、第2バス使用要求要因が「データアクセス」の場合のリードアドレス又はライトアドレス、ライト対象のデータ、リード又はライトのバス使用要求を示す信号、バス使用要求がライト要求であることを示す信号、ライトのバス使用要求が受け付けられたことを示す信号、リードのバス使用要求が受け付けられて、外部データ入力EDAIの下位バイト([7:0])がフェッチ可能であることを示す信号、及び、リードのバス使用要求が受け付けられて、外部データ入力EDAIの上位バイト([15:8])がフェッチ可能であることを示す信号、である。   Address EDAA from CPU1 to second bus arbiter 14, data access / write data EDAA from CPU1 to second bus arbiter 14, data access / bus request signal EDAB from CPU1 to second bus arbiter 14, CPU1 to second bus arbiter 14 Data access / write request signal EDAWR, data access / write acceptance signal EDAWG from second bus arbiter 14 to CPU 1, data access / lower byte read permission signal EDALR from second bus arbiter 14 to CPU 1, and second bus arbiter 14 to CPU 1 The data access / upper byte read permission signal EDAUR is read address or write address, data to be written, read or write when the second bus use request factor is “data access”, respectively. Signal indicating that the bus use request is received, a signal indicating that the bus use request is a write request, a signal indicating that the write bus use request is accepted, and a read bus use request is accepted, and the external data input EDAI A signal indicating that the lower byte ([7: 0]) can be fetched and a read bus use request are accepted, and the upper byte ([15: 8]) of the external data input EDAI can be fetched. It is a signal indicating that.

グラフィックプロセッサ3から第2バスアービタ14へのキャラクタヘッダ・アドレスECHA、グラフィックプロセッサ3から第2バスアービタ14へのキャラクタヘッダ・サイズ信号ECHS、グラフィックプロセッサ3から第2バスアービタ14へのキャラクタヘッダ・バス要求信号ECHB、第2バスアービタ14からグラフィックプロセッサ3へのキャラクタヘッダ・下位バイトリード許可信号ECHLR、及び第2バスアービタ14からグラフィックプロセッサ3へのキャラクタヘッダ・上位バイトリード許可信号ECHURは、それぞれ、第2バス使用要求要因が「キャラクタヘッダ」の場合のリードアドレス、要求するデータの転送量を示す信号(何バイトのリードを要求するかを示す信号)、リードのバス使用要求を示す信号、リードのバス使用要求が受け付けられて、外部データ入力EDAIの下位バイト([7:0])がフェッチ可能であることを示す信号、及び、リードのバス使用要求が受け付けられて、外部データ入力EDAIの上位バイト([15:8])がフェッチ可能であることを示す信号、である。   Character header address ECHA from graphic processor 3 to second bus arbiter 14, character header size signal ECHS from graphic processor 3 to second bus arbiter 14, character header bus request signal ECHB from graphic processor 3 to second bus arbiter 14 The character header / lower byte read permission signal ECHLR from the second bus arbiter 14 to the graphic processor 3 and the character header / upper byte read permission signal ECHUR from the second bus arbiter 14 to the graphic processor 3 are the second bus use request, respectively. Indicates the read address when the factor is "character header", a signal indicating the amount of requested data transfer (a signal indicating how many bytes are requested to read), and a read bus use request No., a read bus use request is accepted, a signal indicating that the lower byte ([7: 0]) of the external data input EDAI can be fetched, and a read bus use request is accepted, and the external data This is a signal indicating that the upper byte ([15: 8]) of the input EDAI can be fetched.

グラフィックプロセッサ3から第2バスアービタ14へのキャラクタデータ・アドレスECDA、グラフィックプロセッサ3から第2バスアービタ14へのキャラクタデータ・サイズ信号ECDS、グラフィックプロセッサ3から第2バスアービタ14へのキャラクタデータ・バス要求信号ECDB、第2バスアービタ14からグラフィックプロセッサ3へのキャラクタデータ・下位バイトリード許可信号ECDLR、及び第2バスアービタ14からグラフィックプロセッサ3へのキャラクタデータ・上位バイトリード許可信号ECDURは、それぞれ、第2バス使用要求要因が「キャラクタデータ」の場合のリードアドレス、要求するデータの転送量を示す信号(何バイトのリードを要求するかを示す信号)、リードのバス使用要求を示す信号、リードのバス使用要求が受け付けられて、外部データ入力EDAIの下位バイト([7:0])がフェッチ可能であることを示す信号、及び、リードのバス使用要求が受け付けられて、外部データ入力EDAIの上位バイト([15:8])がフェッチ可能であることを示す信号、である。   Character data address ECDA from the graphic processor 3 to the second bus arbiter 14, character data size signal ECDS from the graphic processor 3 to the second bus arbiter 14, character data bus request signal ECDB from the graphic processor 3 to the second bus arbiter 14 The character data / lower byte read permission signal ECDLR from the second bus arbiter 14 to the graphic processor 3 and the character data / upper byte read permission signal ECDUR from the second bus arbiter 14 to the graphic processor 3 are respectively requested to use the second bus. Indicates the read address when the factor is "character data", a signal indicating the transfer amount of the requested data (a signal indicating how many bytes are requested to read), and a read bus use request No., a read bus use request is accepted, a signal indicating that the lower byte ([7: 0]) of the external data input EDAI can be fetched, and a read bus use request is accepted, and the external data This is a signal indicating that the upper byte ([15: 8]) of the input EDAI can be fetched.

グラフィックプロセッサ3から第2バスアービタ14へのビットマップデータ・アドレスEBMA、グラフィックプロセッサ3から第2バスアービタ14へのビットマップデータ・バス要求信号EBMB、第2バスアービタ14からグラフィックプロセッサ3へのビットマップデータ・下位バイトリード許可信号EBMLR、及び第2バスアービタ14からグラフィックプロセッサ3へのビットマップデータ・上位バイトリード許可信号EBMURは、それぞれ、第2バス使用要求要因が「ビットマップデータ」の場合のリードアドレス、リードのバス使用要求を示す信号、リードのバス使用要求が受け付けられて、外部データ入力EDAIの下位バイト([7:0])がフェッチ可能であることを示す信号、及び、リードのバス使用要求が受け付けられて、外部データ入力EDAIの上位バイト([15:8])がフェッチ可能であることを示す信号、である。   Bitmap data address EBMA from the graphic processor 3 to the second bus arbiter 14, Bitmap data bus request signal EBMB from the graphic processor 3 to the second bus arbiter 14, Bitmap data from the second bus arbiter 14 to the graphic processor 3 The lower byte read permission signal EBMLR and the bit map data from the second bus arbiter 14 to the graphic processor 3 and the upper byte read permission signal EBMUR are read addresses when the second bus use request factor is “bit map data”, respectively. A signal indicating a read bus use request, a signal indicating that a read bus use request is accepted and the lower byte ([7: 0]) of the external data input EDAI can be fetched, and a read bus use request But Only attached, the high byte of the external data input EDAI ([15: 8]) is a signal, indicating that it is possible to fetch.

ピクセルプロッタ5から第2バスアービタ14へのピクセルプロッタ・アドレスEPPA、ピクセルプロッタ5から第2バスアービタ14へのピクセルプロッタ・ライトデータEPPW、ピクセルプロッタ5から第2バスアービタ14へのピクセルプロッタ・サイズ信号EPPS、ピクセルプロッタ5から第2バスアービタ14へのピクセルプロッタ・バス要求信号EPPB、ピクセルプロッタ5から第2バスアービタ14へのピクセルプロッタ・ライト要求信号EPPWR、第2バスアービタ14からピクセルプロッタ5へのピクセルプロッタ・ライト受諾信号EPPWG、第2バスアービタ14からピクセルプロッタ5へのピクセルプロッタ・下位バイトリード許可信号EPPLR、及び第2バスアービタ14からCPU1へのピクセルプロッタ・上位バイトリード許可信号EPPURは、それぞれ、第2バス使用要求要因が「ピクセルプロッタ」の場合のリードアドレス又はライトアドレス、ライト対象のデータ、要求するデータの転送量を示す信号(何バイトのリード又はライトを要求するかを示す信号)、リード又はライトのバス使用要求を示す信号、バス使用要求がライト要求であることを示す信号、ライトのバス使用要求が受け付けられたことを示す信号、リードのバス使用要求が受け付けられて、外部データ入力EDAIの下位バイト([7:0])がフェッチ可能であることを示す信号、及び、リードのバス使用要求が受け付けられて、外部データ入力EDAIの上位バイト([15:8])がフェッチ可能であることを示す信号、である。   Pixel plotter address EPPA from the pixel plotter 5 to the second bus arbiter 14, pixel plotter light data EPPW from the pixel plotter 5 to the second bus arbiter 14, pixel plotter size signal EPPS from the pixel plotter 5 to the second bus arbiter 14, Pixel plotter bus request signal EPPB from the pixel plotter 5 to the second bus arbiter 14, pixel plotter write request signal EPPWR from the pixel plotter 5 to the second bus arbiter 14, and pixel plotter write from the second bus arbiter 14 to the pixel plotter 5 An acceptance signal EPPWG, a pixel plotter / lower byte read permission signal EPPLR from the second bus arbiter 14 to the pixel plotter 5, and a pixel from the second bus arbiter 14 to the CPU 1 The rotator / upper byte read permission signal EPPUR is a signal indicating the read address or write address when the second bus use request factor is “pixel plotter”, the data to be written, and the transfer amount of the requested data (how many bytes Signal indicating whether a read or write request is requested), a signal indicating a read or write bus use request, a signal indicating that the bus use request is a write request, a signal indicating that a write bus use request has been accepted, A signal indicating that the read bus use request is accepted and the lower byte ([7: 0]) of the external data input EDAI can be fetched, and the read bus use request is accepted and the external data input EDAI is received. Is a signal indicating that the upper byte ([15: 8]) can be fetched.

サウンドプロセッサ7から第2バスアービタ14へのウェーブデータ・アドレスEWAA、サウンドプロセッサ7から第2バスアービタ14へのウェーブデータ・バス要求信号EWAB、第2バスアービタ14からサウンドプロセッサ7へのウェーブデータ・下位バイトリード許可信号EWALR、及び第2バスアービタ14からサウンドプロセッサ7へのウェーブデータ・上位バイトリード許可信号EWAURは、それぞれ、第2バス使用要求要因が「ウェーブデータ」の場合のリードアドレス、リードのバス使用要求を示す信号、リードのバス使用要求が受け付けられて、外部データ入力EDAIの下位バイト([7:0])がフェッチ可能であることを示す信号、及び、リードのバス使用要求が受け付けられて、外部データ入力EDAIの上位バイト([15:8])がフェッチ可能であることを示す信号、である。   Wave data address EWAA from the sound processor 7 to the second bus arbiter 14, wave data bus request signal EWAB from the sound processor 7 to the second bus arbiter 14, wave data / lower byte read from the second bus arbiter 14 to the sound processor 7 The enable signal EWALR and the wave data / upper byte read enable signal EWAUR from the second bus arbiter 14 to the sound processor 7 are read address and read bus use request when the second bus use request factor is “wave data”, respectively. And a signal indicating that the lower byte ([7: 0]) of the external data input EDAI can be fetched, and a request to use the read bus, External data input EDA The upper byte ([15: 8]) is a signal, indicating that it is possible to fetch.

サウンドプロセッサ7から第2バスアービタ14へのエンベロープデータ・アドレスEEVA、サウンドプロセッサ7から第2バスアービタ14へのエンベロープデータ・バス要求信号EEVB、第2バスアービタ14からサウンドプロセッサ7へのエンベロープデータ・下位バイトリード許可信号EEVLR、及び第2バスアービタ14からサウンドプロセッサ7へのエンベロープデータ・上位バイトリード許可信号EEVURは、それぞれ、第2バス使用要求要因が「エンベロープデータ」の場合のリードアドレス、リードのバス使用要求を示す信号、リードのバス使用要求が受け付けられて、外部データ入力EDAIの下位バイト([7:0])がフェッチ可能であることを示す信号、及び、リードのバス使用要求が受け付けられて、外部データ入力EDAIの上位バイト([15:8])がフェッチ可能であることを示す信号、である。   Envelope data address EEVA from the sound processor 7 to the second bus arbiter 14, Envelope data bus request signal EEVB from the sound processor 7 to the second bus arbiter 14, Envelope data and lower byte read from the second bus arbiter 14 to the sound processor 7 The permission signal EEVLR and the envelope data / upper byte read permission signal EEVUR from the second bus arbiter 14 to the sound processor 7 are the read address and the read bus use request when the second bus use request factor is “envelope data”, respectively. And a signal indicating that the lower byte ([7: 0]) of the external data input EDAI can be fetched, and a request to use the read bus, Part data input EDAI high byte ([15: 8]) is a signal, indicating that it is possible to fetch.

DMAコントローラ9から第2バスアービタ14へのDMAソース・アドレスEDSA、DMAコントローラ9から第2バスアービタ14へのDMAソース・サイズ信号EDSS、DMAコントローラ9から第2バスアービタ14へのDMAソース・バス要求信号EDSB、第2バスアービタ14からDMAコントローラ9へのDMAソース・下位バイトリード許可信号EDSLR、及び第2バスアービタ14からDMAコントローラ9へのDMAソース・上位バイトリード許可信号EDSURは、それぞれ、第2バス使用要求要因が「DMAソース」の場合のリードアドレス、要求するデータの転送量を示す信号(何バイトのリードを要求するかを示す信号)、リードのバス使用要求を示す信号、リードのバス使用要求が受け付けられて、外部データ入力EDAIの下位バイト([7:0])がフェッチ可能であることを示す信号、及び、リードのバス使用要求が受け付けられて、外部データ入力EDAIの上位バイト([15:8])がフェッチ可能であることを示す信号、である。   DMA source address EDSA from the DMA controller 9 to the second bus arbiter 14, DMA source size signal EDSS from the DMA controller 9 to the second bus arbiter 14, DMA source bus request signal EDSB from the DMA controller 9 to the second bus arbiter 14 The DMA source / lower byte read permission signal EDSLR from the second bus arbiter 14 to the DMA controller 9 and the DMA source / upper byte read permission signal EDSUR from the second bus arbiter 14 to the DMA controller 9 are respectively requested to use the second bus. When the cause is “DMA source”, the read address, the signal indicating the transfer amount of the requested data (the signal indicating how many bytes are requested), the signal indicating the read bus use request, and the read bus use request are Accepted, A signal indicating that the lower byte ([7: 0]) of the partial data input EDAI can be fetched and a read bus use request are accepted, and the upper byte ([15: 8]) of the external data input EDAI is received. Is a signal indicating that fetching is possible.

ここで、上記アドレス信号EIFA,EDAA,ECHA,ECDA,EBMA,EPPA,EWAA,EEVA及びEDSAは、それぞれ、27ビットの信号である。また、上記ライトデータEDAW及びEPPWは、それぞれ、16ビットの信号である。但し、ライトデータEDAWの有効なデータは、16ビット中の下位8ビットである。   Here, the address signals EIFA, EDAA, ECHA, ECDA, EBMA, EPPA, EWAA, EEVA, and EDSA are 27-bit signals, respectively. The write data EDAW and EPPW are 16-bit signals, respectively. However, valid data of the write data EDAW is the lower 8 bits of 16 bits.

図19は、本実施の形態における第2バス使用要求要因ごとの要求サイズの例示図である。図19に示すように、第2バス使用要求要因が「命令フェッチ」の場合は、CPU1は、命令フェッチ・サイズ信号EIFSにより、データ転送のサイズとして、1、2、3、あるいは4バイトのいずれかを要求できる(可変)。   FIG. 19 is an illustration of a request size for each second bus use request factor in the present embodiment. As shown in FIG. 19, when the second bus use request factor is “instruction fetch”, the CPU 1 uses the instruction fetch size signal EIFS to select one of 1, 2, 3, or 4 bytes as the data transfer size. Can be requested (variable).

従って、CPU1は、フェッチする命令のサイズに合わせたデータ転送のサイズを、命令フェッチ・サイズ信号EIFSにより動的に設定できる。   Therefore, the CPU 1 can dynamically set the data transfer size in accordance with the size of the instruction to be fetched by the instruction fetch size signal EIFS.

第2バス使用要求要因が「データアクセス」の場合は、データ転送のサイズは、1バイトで固定である。第2バス使用要求要因が「キャラクタヘッダ」の場合は、グラフィックプロセッサ3は、キャラクタヘッダ・サイズ信号ECHSにより、データ転送のサイズとして、0バイトを要求できる(つまり、データ転送を行わない。)。   When the second bus use request factor is “data access”, the data transfer size is fixed at 1 byte. When the second bus use request factor is “character header”, the graphic processor 3 can request 0 bytes as the data transfer size by the character header size signal ECHS (that is, data transfer is not performed).

第2バス使用要求要因が「キャラクタデータ」の場合は、グラフィックプロセッサ3は、キャラクタデータ・サイズ信号ECDSにより、データ転送のサイズとして、1、2、3、…、15あるいは16バイトのいずれかを要求できる(可変)。   When the second bus use request factor is “character data”, the graphic processor 3 uses the character data size signal ECDS to select one of 1, 2, 3,..., 15 or 16 bytes as the data transfer size. Can be requested (variable).

キャラクタは、例えば、8×8ピクセル、8×16ピクセル、16×8ピクセル、16×16ピクセル、等というように、様々なサイズが用意されている。また、1ピクセルあたりのデータ量も1、2、3、…、7あるいは8ビット、というように様々なモードが用意されている。従って、グラフィックプロセッサ3は、キャラクタのサイズおよびピクセル当りのビット数に合わせたデータ転送のサイズを、キャラクタデータ・サイズ信号ECDSにより動的に設定できる。   Various sizes of characters are prepared, such as 8 × 8 pixels, 8 × 16 pixels, 16 × 8 pixels, 16 × 16 pixels, and the like. In addition, various modes are prepared such that the data amount per pixel is 1, 2, 3,..., 7 or 8 bits. Therefore, the graphic processor 3 can dynamically set the data transfer size in accordance with the character size and the number of bits per pixel by the character data size signal ECDS.

第2バス使用要求要因が「ビットマップデータ」の場合は、データ転送のサイズは、8バイトで固定である。   When the second bus use request factor is “bitmap data”, the data transfer size is fixed at 8 bytes.

第2バス使用要求要因が「ピクセルプロッタ」の場合は、ピクセルプロッタ5は、ピクセルプロッタ・サイズ信号EPPSにより、データ転送のサイズとして、1あるいは2バイトのいずれかを要求できる(可変)。   When the second bus use request factor is “pixel plotter”, the pixel plotter 5 can request either 1 or 2 bytes as a data transfer size (variable) by the pixel plotter size signal EPPS.

例えば、ピクセルプロッタ5は、ピクセルプロッタ・サイズ信号EPPSにより、通常のデータ転送のサイズを2バイトとする一方、LSB(least significant bit)が「1」のバイトアドレスが示す位置からアクセスを開始するときは、その時のピクセルプロッタ・サイズ信号EPPSが示すサイズを1バイトとする。なぜなら、このようなアクセスのときは、下位バイトのリード/ライトは無駄だからである。   For example, when the pixel plotter 5 sets the normal data transfer size to 2 bytes according to the pixel plotter size signal EPPS, the access starts from the position indicated by the byte address whose LSB (least significant bit) is “1”. The size indicated by the pixel plotter size signal EPPS at that time is 1 byte. This is because the lower byte read / write is useless during such access.

第2バス使用要求要因が「ウェーブデータ」の場合は、データ転送のサイズは、1バイトで固定である。第2バス使用要求要因が「エンベロープデータ」の場合は、データ転送のサイズは、1バイトで固定である。   When the second bus use request factor is “wave data”, the data transfer size is fixed to 1 byte. When the second bus use request factor is “envelope data”, the size of data transfer is fixed at 1 byte.

第2バス使用要求要因が「DMAソース」の場合は、DMAコントローラ9は、DMAソース・サイズ信号EDSSにより、データ転送のサイズとして、1、2、3あるいは4バイトのいずれかを要求できる(可変)。   When the second bus use request factor is “DMA source”, the DMA controller 9 can request 1, 2, 3, or 4 bytes as the data transfer size by the DMA source size signal EDSS (variable). ).

従って、DMAコントローラ9は、転送対象のDMA転送元データのサイズに合わせたデータ転送のサイズを、DMAソース・サイズ信号EDSSにより動的に設定できる。   Therefore, the DMA controller 9 can dynamically set the data transfer size in accordance with the size of the DMA transfer source data to be transferred by the DMA source size signal EDSS.

図18に戻って、第2バスアービタ14は、第2バス33へ、第2バスアドレスEAD、第2バスアドレス出力イネーブル信号EADOE、外部データEDAO、外部データ出力イネーブル信号EDAOE、外部リードイネーブル信号ERDE、外部ライトイネーブル信号EWRE、下位バイトイネーブル信号LWBE、上位バイトイネーブル信号UPBE、第1領域セレクト信号ASSEL1、及び第2領域セレクト信号ASSEL2を出力する。   Returning to FIG. 18, the second bus arbiter 14 sends to the second bus 33 the second bus address EAD, the second bus address output enable signal EADOE, the external data EDAO, the external data output enable signal EDAOE, the external read enable signal ERDE, An external write enable signal EWRE, a lower byte enable signal LWBE, an upper byte enable signal UPBE, a first area select signal ASSEL1, and a second area select signal ASSEL2 are output.

第2バスアドレスEADは、第2バス33のアドレスバス(図示せず)へ出力されるアドレス信号(27ビット)である。   The second bus address EAD is an address signal (27 bits) output to the address bus (not shown) of the second bus 33.

外部データEDAOは、第2バス33のデータバス(図示せず)へ出力されるデータ(16ビット)である。外部データ出力イネーブル信号EDAOEは、第2バス33のデータバスを外部バス43のデータバスへ接続する3ステートバッファ(図示せず)を制御し、出力/Hi−Z(ハイインピーダンス)を切り換える信号である。   The external data EDAO is data (16 bits) output to the data bus (not shown) of the second bus 33. The external data output enable signal EDAOE is a signal for controlling a 3-state buffer (not shown) for connecting the data bus of the second bus 33 to the data bus of the external bus 43 and switching the output / Hi-Z (high impedance). is there.

外部リードイネーブル信号ERDEは、第2バス33のコントロールバス(図示せず)へ出力されるリードイネーブル信号である。外部ライトイネーブル信号EWREは、第2バス33のコントロールバスへ出力されるライトイネーブル信号である。   The external read enable signal ERDE is a read enable signal output to the control bus (not shown) of the second bus 33. The external write enable signal EWRE is a write enable signal output to the control bus of the second bus 33.

下位バイトイネーブル信号LWBEは、第2バス33のデータバスの下位バイトのイネーブル信号である。上位バイトイネーブル信号UPBEは、第2バス33のデータバスの上位バイトのイネーブル信号である。   The lower byte enable signal LWBE is an enable signal for the lower byte of the data bus of the second bus 33. The upper byte enable signal UPBE is an enable signal for the upper byte of the data bus of the second bus 33.

第1領域セレクト信号ASSEL1は、プロセッサ100の論理アドレス空間の第2バス第1領域を選択する信号である。第2領域セレクト信号ASSEL2は、プロセッサ100の論理アドレス空間の第2バス第2領域を選択する信号である。なお、第2バス第0領域を選択する信号(第0領域セレクト信号ASSEL0)は、第2バスアドレスEAD[22]で代用する。   The first area select signal ASSEL 1 is a signal for selecting the second bus first area in the logical address space of the processor 100. The second area select signal ASSEL2 is a signal for selecting the second bus second area in the logical address space of the processor 100. The signal for selecting the second bus 0th area (0th area select signal ASSEL0) is substituted by the second bus address EAD [22].

第2バスアドレス出力イネーブル信号EADOEは、第2バス33のアドレスバス、コントロールバス(ERDE及びEWRE)、下位バイトイネーブル信号LWBE、上位バイトイネーブル信号UPBE、第1領域セレクト信号ASSEL1、及び第2領域セレクト信号ASSEL2を外部バス43に接続する3ステートバッファ(図示せず)を制御し、出力/Hi−Z(ハイインピーダンス)を切り換える信号である。   The second bus address output enable signal EADOE includes the address bus of the second bus 33, the control bus (ERDE and EWRE), the lower byte enable signal LWBE, the upper byte enable signal UPBE, the first area select signal ASSEL1, and the second area select. This is a signal for controlling a 3-state buffer (not shown) for connecting the signal ASSEL2 to the external bus 43 and switching the output / Hi-Z (high impedance).

図20は、図18の第2バスアービタ14の内部構成を示すブロック図である。図20に示すように、第2バスアービタ14は、第1バスインタフェース回路140、マルチプレクサ141、OR回路210、プライオリティデコーダ142、マルチプレクサ143〜146、レジスタ230〜233、スロットカウンタ147、OR回路148、アドレスデコーダ149、バイトイネーブル信号生成回路150、マルチプレクサ151〜153、デコーダ154、ステートマシン155、外部バス開放要求レジスタ156、第0領域バス幅レジスタ160、第1領域バス幅レジスタ161、第2領域バス幅レジスタ162、第0領域ランダムアクセスサイクル数レジスタ170、第1領域ランダムアクセスサイクル数レジスタ171、第2領域ランダムアクセスサイクル数レジスタ172、第0領域ページアクセスサイクル数レジスタ180、第1領域ページアクセスサイクル数レジスタ181、第2領域ページアクセスサイクル数レジスタ182、第0領域ページサイズレジスタ190、第1領域ページサイズレジスタ191、第2領域ページサイズレジスタ192、及び第0スロット優先順位レジスタ200〜第7スロット優先順位レジスタ207、を含む。   FIG. 20 is a block diagram showing an internal configuration of the second bus arbiter 14 of FIG. As shown in FIG. 20, the second bus arbiter 14 includes a first bus interface circuit 140, a multiplexer 141, an OR circuit 210, a priority decoder 142, multiplexers 143 to 146, registers 230 to 233, a slot counter 147, an OR circuit 148, an address. Decoder 149, byte enable signal generation circuit 150, multiplexers 151-153, decoder 154, state machine 155, external bus release request register 156, 0th area bus width register 160, first area bus width register 161, second area bus width Register 162, 0th area random access cycle number register 170, 1st area random access cycle number register 171, 2nd area random access cycle number register 172, 0th area page access cycle Register number register 180, first area page access cycle number register 181, second area page access cycle number register 182, zeroth area page size register 190, first area page size register 191, second area page size register 192, and 0th slot priority order register 200 to 7th slot priority order register 207 are included.

第1バスインタフェース回路140は、第1バス31と、各制御レジスタ156,160〜162,170〜172,180〜182,190〜192,200〜207と、を接続するためのインタフェースである。   The first bus interface circuit 140 is an interface for connecting the first bus 31 to each of the control registers 156, 160 to 162, 170 to 172, 180 to 182, 190 to 192, and 200 to 207.

ここで、制御レジスタ156,160〜162,170〜172,180〜182,190〜192,200〜207を包括して表現するときは、制御レジスタCRと表記する。   Here, when the control registers 156, 160 to 162, 170 to 172, 180 to 182, 190 to 192, and 200 to 207 are collectively expressed, they are expressed as a control register CR.

CPU1は、第1バスインタフェース回路140を介して、制御レジスタCRに値を書き込み、あるいは、値を読み出すことができる。具体的には、CPU1は、内部ライトイネーブル信号IRWにより、リードを指定して、第1バスアドレスIADで指定した、第2バスアービタ15内の制御レジスタCRのデータを、内部データIDAIとして読み出すことができる。また、CPU1は、内部ライトイネーブル信号IRWにより、ライトを指定して、第1バスアドレスIADで指定した、第2バスアービタ15内の制御レジスタCRに、内部データIDAOとして与えたデータを書き込むことができる。   The CPU 1 can write a value to the control register CR or read a value via the first bus interface circuit 140. Specifically, the CPU 1 designates read by the internal write enable signal IRW, and reads the data of the control register CR in the second bus arbiter 15 designated by the first bus address IAD as the internal data IDAI. it can. Further, the CPU 1 can write data by the internal write enable signal IRW and write the data given as the internal data IDAO to the control register CR in the second bus arbiter 15 specified by the first bus address IAD. .

外部バス開放要求レジスタ156の値は、ステートマシン155に入力される。CPU1により、外部バス開放要求レジスタ156に「1」がセットされると、ステートマシン155は、外部バス43のアドレスバス、データバス及びコントロールバス(図示せず)をハイインピーダンスにする。例えば、他のデバイスがプロセッサ100の外部バス43を共有しており、他のデバイスからの外部バス使用要求があった場合などに、外部バス開放要求レジスタ156に「1」をセットする。   The value of the external bus release request register 156 is input to the state machine 155. When “1” is set in the external bus release request register 156 by the CPU 1, the state machine 155 sets the address bus, data bus, and control bus (not shown) of the external bus 43 to high impedance. For example, when another device shares the external bus 43 of the processor 100 and there is an external bus use request from another device, the external bus release request register 156 is set to “1”.

第0領域バス幅レジスタ160には、第2バス第0領域にアクセスする際のデータバスのバス幅を示す情報がセットされる。第1領域バス幅レジスタ161には、第2バス第1領域にアクセスする際のデータバスのバス幅を示す情報がセットされる。第2領域バス幅レジスタ162には、第2バス第2領域にアクセスする際のデータバスのバス幅を示す情報がセットされる。本実施の形態では、第0領域バス幅レジスタ160、第1領域バス幅レジスタ161、及び第2領域バス幅レジスタ162の各々には、バス幅8ビットあるいは16ビットを示す情報をセットできる。   Information indicating the bus width of the data bus when accessing the second bus 0th area is set in the 0th area bus width register 160. Information indicating the bus width of the data bus when accessing the second bus first area is set in the first area bus width register 161. Information indicating the bus width of the data bus when accessing the second bus second area is set in the second area bus width register 162. In the present embodiment, information indicating a bus width of 8 bits or 16 bits can be set in each of the 0th area bus width register 160, the first area bus width register 161, and the second area bus width register 162.

第0領域ランダムアクセスサイクル数レジスタ170には、第2バス第0領域にランダムアクセスする際のバスサイクル期間長を示すアクセスサイクル数(クロックサイクル数)を示す情報がセットされる。第1領域ランダムアクセスサイクル数レジスタ171には、第2バス第1領域にランダムアクセスする際のバスサイクル期間長を示すアクセスサイクル数(クロックサイクル数)を示す情報がセットされる。第2領域ランダムアクセスサイクル数レジスタ172には、第2バス第2領域にランダムアクセスする際のバスサイクル期間長を示すアクセスサイクル数(クロックサイクル数)を示す情報がセットされる。ここで、バスサイクル期間長(1バスサイクルの期間長)は、内部クロック信号ICLKのサイクル数で定義される。   In the 0th area random access cycle number register 170, information indicating the access cycle number (clock cycle number) indicating the bus cycle period length when the second bus 0th area is randomly accessed is set. The first area random access cycle number register 171 is set with information indicating the access cycle number (clock cycle number) indicating the bus cycle period length when the second bus first area is randomly accessed. The second area random access cycle number register 172 is set with information indicating the access cycle number (clock cycle number) indicating the bus cycle period length when the second bus second area is randomly accessed. Here, the bus cycle period length (period length of one bus cycle) is defined by the number of cycles of the internal clock signal ICLK.

本実施の形態では、第0領域ランダムアクセスサイクル数レジスタ170、第1領域ランダムアクセスサイクル数レジスタ171、及び第2領域ランダムアクセスサイクル数レジスタ172の各々には、内部ICLKクロック信号の2〜8サイクルを示す情報を設定できる。   In the present embodiment, each of the 0th area random access cycle number register 170, the first area random access cycle number register 171 and the second area random access cycle number register 172 includes 2 to 8 cycles of the internal ICLK clock signal. Can be set.

第0領域ページアクセスサイクル数レジスタ180には、第2バス第0領域にページモードでアクセスする際のバスサイクル期間長を示すアクセスサイクル数(クロックサイクル数)を示す情報がセットされる。第1領域ページアクセスサイクル数レジスタ181には、第2バス第1領域にページモードでアクセスする際のバスサイクル期間長を示すアクセスサイクル数(クロックサイクル数)を示す情報がセットされる。第2領域ページアクセスサイクル数レジスタ182には、第2バス第2領域にページモードでアクセスする際のバスサイクル期間長を示すアクセスサイクル数(クロックサイクル数)を示す情報がセットされる。ここで、バスサイクル期間長(1バスサイクルの期間長)は、内部クロック信号ICLKのサイクル数で定義される。   In the 0th area page access cycle number register 180, information indicating the access cycle number (clock cycle number) indicating the bus cycle period length when accessing the second bus 0th area in the page mode is set. The first area page access cycle number register 181 is set with information indicating the access cycle number (clock cycle number) indicating the bus cycle period length when accessing the second bus first area in the page mode. The second area page access cycle number register 182 is set with information indicating the access cycle number (clock cycle number) indicating the bus cycle period length when accessing the second bus second area in the page mode. Here, the bus cycle period length (period length of one bus cycle) is defined by the number of cycles of the internal clock signal ICLK.

本実施の形態では、第0領域ページアクセスサイクル数レジスタ180、第1領域ページアクセスサイクル数レジスタ181、及び第2領域ページアクセスサイクル数レジスタ182の各々には、内部ICLKクロック信号の1〜4サイクルを示す情報を設定できる。   In the present embodiment, each of the 0th area page access cycle number register 180, the first area page access cycle number register 181 and the second area page access cycle number register 182 includes 1 to 4 cycles of the internal ICLK clock signal. Can be set.

第0領域ページサイズレジスタ190には、第2バス第0領域にページモードでアクセスする際のページサイズを示す情報がセットされる。第1領域ページサイズレジスタ191には、第2バス第1領域にページモードでアクセスする際のページサイズを示す情報がセットされる。第2領域ページサイズレジスタ192には、第2バス第2領域にページモードでアクセスする際のページサイズを示す情報がセットされる。本実施の形態では、第0領域ページサイズレジスタ190、第1領域ページサイズレジスタ191、及び第2領域ページサイズレジスタ192の各々には、0、4、8あるいは16バイトを示す情報をセットできる。   In the 0th area page size register 190, information indicating the page size when the second bus 0th area is accessed in the page mode is set. The first area page size register 191 is set with information indicating the page size when accessing the second bus first area in the page mode. The second area page size register 192 is set with information indicating the page size when accessing the second bus second area in the page mode. In the present embodiment, information indicating 0, 4, 8, or 16 bytes can be set in each of the 0th area page size register 190, the first area page size register 191 and the second area page size register 192.

CPU1は、外部メモリ45〜47の仕様に応じて、上記制御レジスタ160〜162,170〜172,180〜182,190〜192の値を設定できる。また、CPU1は、上記制御レジスタ160〜162に対して別個独立に値をセットできるし、上記制御レジスタ170〜172に対して別個独立に値をセットできるし、上記制御レジスタ180〜182に対して別個独立に値をセットできるし、上記制御レジスタ190〜192に対して別個独立に値をセットできる。   The CPU 1 can set the values of the control registers 160 to 162, 170 to 172, 180 to 182 and 190 to 192 according to the specifications of the external memories 45 to 47. Further, the CPU 1 can set values independently for the control registers 160 to 162, can set values independently for the control registers 170 to 172, and can set values to the control registers 180 to 182. Values can be set independently, and values can be set independently for the control registers 190-192.

第0スロット優先順位レジスタ200〜第7スロット優先順位レジスタ207の各々には、図14の優先順位情報番号0〜3のいずれかがセットされる。例えば、第0スロット優先順位レジスタ200〜第7スロット優先順位レジスタ207には、それぞれ、優先順位情報番号1、優先順位情報番号3、優先順位情報番号1、優先順位情報番号2、優先順位情報番号1、優先順位情報番号3、優先順位情報番号1、及び優先順位情報番号0がセットされる。なお、優先順位情報番号0〜3は2ビットにエンコードされている。従って、第0スロット優先順位レジスタ200〜第7スロット優先順位レジスタ207の各々は、2ビットのレジスタである。   Any one of the priority order information numbers 0 to 3 in FIG. 14 is set in each of the 0th slot priority order register 200 to the seventh slot priority order register 207. For example, the 0th slot priority order register 200 to the 7th slot priority order register 207 include priority order information number 1, priority order information number 3, priority order information number 1, priority order information number 2, and priority order information number, respectively. 1, priority order information number 3, priority order information number 1, and priority order information number 0 are set. The priority information numbers 0 to 3 are encoded in 2 bits. Accordingly, each of the 0th slot priority order register 200 to the seventh slot priority order register 207 is a 2-bit register.

CPU1は、第0スロット優先順位レジスタ200〜第7スロット優先順位レジスタ207に値をセットすることで、8スロットで1巡する優先順位情報番号0〜3の組み合わせを任意に設定できる。   The CPU 1 can arbitrarily set a combination of priority information numbers 0 to 3 for one round in eight slots by setting values in the zeroth slot priority register 200 to the seventh slot priority register 207.

マルチプレクサ141は、スロットカウンタ147からの選択信号ESSELに従って、第0スロット優先順位レジスタ200〜第7スロット優先順位レジスタ207のうちの1つを選択し、選択した優先順位レジスタが保持している優先順位情報番号をプライオリティデコーダ142に出力する。   The multiplexer 141 selects one of the 0th slot priority register 200 to the seventh slot priority register 207 in accordance with the selection signal ESSEL from the slot counter 147, and the priority stored in the selected priority register. The information number is output to the priority decoder 142.

プライオリティデコーダ142及びOR回路210には、CPU1から、命令フェッチ・バス要求信号EIFB及びデータアクセス・バス要求信号EDABが入力され、グラフィックプロセッサ3から、キャラクタヘッダ・バス要求信号ECHB、キャラクタデータ・バス要求信号ECDB、及びビットマップデータ・バス要求信号EBMBが入力され、ピクセルプロッタ5から、ピクセルプロッタ・バス要求信号EPPBが入力され、サウンドプロセッサ7から、ウェーブデータ・バス要求信号EWAB及びエンベロープデータ・バス要求信号EEVBが入力され、DMAコントローラ9から、DMAソース・バス要求信号EDSBが入力される。   An instruction fetch bus request signal EIFB and a data access bus request signal EDAB are input from the CPU 1 to the priority decoder 142 and the OR circuit 210, and a character header bus request signal ECHB and a character data bus request are received from the graphic processor 3. A signal ECDB and a bitmap data bus request signal EBMB are input, a pixel plotter bus request signal EPPB is input from the pixel plotter 5, and a wave data bus request signal EWAB and an envelope data bus request are input from the sound processor 7. A signal EEVB is input, and a DMA source bus request signal EDSB is input from the DMA controller 9.

また、プライオリティデコーダ142には、ステートマシン155から、命令フェッチ・リード許可信号EIFRG、データアクセス・リード許可信号EDARG、データアクセス・ライト受諾信号EDAWG、キャラクタヘッダ・リード許可信号ECHRG、キャラクタデータ・リード許可信号ECDRG、ビットマップデータ・リード許可信号EBMRG、ピクセルプロッタ・リード許可信号EPPRG、ピクセルプロッタ・ライト受諾信号EPPWG、ウェーブデータ・リード許可信号EWARG、エンベロープデータ・リード許可信号EEVRG、及びDMAソース・リード許可信号EDSRGが入力される。   The priority decoder 142 also receives an instruction fetch / read permission signal EIFRG, a data access / read permission signal EDARG, a data access / write acceptance signal EDAWG, a character header / read permission signal ECHRG, and a character data / read permission from the state machine 155. Signal ECDRG, Bitmap data read permission signal EBMRG, Pixel plotter read permission signal EPPRG, Pixel plotter write permission signal EPPWG, Wave data read permission signal EWARG, Envelope data read permission signal EEVRG, and DMA source read permission A signal EDSRG is input.

ここで、バス要求信号EIFB,EDAB,ECHB,ECDB,EBMB,EPPB,EWAB,EEVB,EDSBを包括して表現するときは、第2バス使用要求信号SBURQ、と表記する。   Here, when the bus request signals EIFB, EDAB, ECHB, ECDB, EBMB, EPPB, EWAB, EEVB, and EDSB are comprehensively expressed, they are expressed as a second bus use request signal SBURQ.

プライオリティデコーダ142は、マルチプレクサ141から現在入力されている優先順位情報番号をデコードして、その優先順位情報番号が示す優先順位情報セットに従って、第2バス使用要求信号SBURQを発行しているバスマスタから、現在第2バス33を使用している第2バス使用要求要因を除いた中で、最も優先順位の高い(第2バス33の使用許可を与える)バスマスタを選択する。具体的には、次の通りである。   The priority decoder 142 decodes the priority information number currently input from the multiplexer 141, and in accordance with the priority information set indicated by the priority information number, from the bus master that issues the second bus use request signal SBURQ, The bus master having the highest priority (giving permission to use the second bus 33) is selected from among the second bus use request factors that are currently using the second bus 33. Specifically, it is as follows.

プライオリティデコーダ142は、デコードした優先順位情報番号に対応する優先順位情報セットに従って、アサートされている第2バス使用要求信号SBURQに対応する第2バス使用要求要因のうち、現在第2バス33を使用している第2バス使用要求要因を除いて最も優先順位の高い第2バス使用要求要因を選択する。ここで、現在第2バスを使用している第2バス使用要求要因は、ステートマシン155から送出される、第2バス使用許可信号SAGRの状態から知ることができる。   The priority decoder 142 currently uses the second bus 33 among the second bus use request factors corresponding to the asserted second bus use request signal SBURQ in accordance with the priority information set corresponding to the decoded priority information number. The second bus use request factor having the highest priority is selected except for the second bus use request factor. Here, the second bus use request factor currently using the second bus can be known from the state of the second bus use permission signal SAGR sent from the state machine 155.

なお、第2バス使用許可信号SAGRは、命令フェッチ・リード許可信号EIFRG、データアクセス・リード許可信号EDARG、データアクセス・ライト受諾信号EDAWG、キャラクタヘッダ・リード許可信号ECHRG、キャラクタデータ・リード許可信号ECDRG、ビットマップデータ・リード許可信号EBMRG、ピクセルプロッタ・リード許可信号EPPRG、ピクセルプロッタ・ライト受諾信号EPPWG、ウェーブデータ・リード許可信号EWARG、エンベロープデータ・リード許可信号EEVRG、及びDMAソース・リード許可信号EDSRGを包括した表記である。   The second bus use permission signal SAGR includes an instruction fetch / read permission signal EIFRG, a data access / read permission signal EDARG, a data access / write acceptance signal EDAWG, a character header / read permission signal ECHRG, and a character data / read permission signal ECDRG. , Bit map data read permission signal EBMRG, pixel plotter read permission signal EPPRG, pixel plotter write permission signal EPPWG, wave data read permission signal EWARG, envelope data read permission signal EEVRG, and DMA source read permission signal EDSRG Is a comprehensive notation.

また、プライオリティデコーダ142は、選択した第2バス使用要求要因に基づいて、バスマスタセレクト信号EBMSL[8:0]を生成して、ステートマシン155およびマルチプレクサ143〜146に出力する。バスマスタセレクト信号EBMSL[8:0]の各ビットは、9つの第2バス使用要求要因に対応している。プライオリティデコーダ142は、選択した(第2バス33の使用許可を与える)第2バス使用要求要因に対応するビットを「1」に、他のビットを「0」にセットする。つまり、プライオリティデコーダ142は、デコーダした優先順位情報番号に対応する優先順位情報セットに従って、アサートされている第2バス使用要求信号SBURQに対応する第2バス使用要求要因のうち、現在第2バス33を使用している第2バス使用要求要因を除いて最も優先順位の高い第2バス使用要求要因に対応したビットを「1」にする。   Further, the priority decoder 142 generates a bus master select signal EBMSL [8: 0] based on the selected second bus use request factor, and outputs it to the state machine 155 and the multiplexers 143 to 146. Each bit of the bus master select signal EBMSL [8: 0] corresponds to nine second bus use request factors. The priority decoder 142 sets the bit corresponding to the selected second bus use request factor (giving the use permission of the second bus 33) to “1” and the other bits to “0”. That is, the priority decoder 142 is currently out of the second bus use request factors corresponding to the asserted second bus use request signal SBURQ according to the priority information set corresponding to the decoded priority information number. The bit corresponding to the second bus use request factor having the highest priority is set to “1” except for the second bus use request factor using “1”.

OR回路148には、ステートマシン155から、11の第2バス使用許可信号SAGR(EIFRG,EDARG,EDAWG,ECHRG,ECDRG,EBMRG,EPPRG,EPPWG,EWARG,EEVRG,EDSRG)が入力される。   The eleventh bus use permission signal SAGR (EIFRG, EDARG, EDAWG, ECHRG, ECDRG, EBDRG, EPRRG, EPPWG, EWARG, EEVRG, EDSRG) is input to the OR circuit 148 from the state machine 155.

スロットカウンタ147は、OR回路148からの信号が、「0(偽)」から「1(真)」に遷移するたびに、選択信号ESSEL[2:0]の値をインクリメントして、マルチプレクサ141に、第0スロット優先順位レジスタ200〜第7スロット優先順位レジスタ207に格納されている優先順位情報番号を順次的かつ巡回的に選択させる。これは、バス使用許可が与えられたバスマスタの1または連続したバスサイクルの終端は、11の第2バス使用許可信号SAGRの論理和から求められるからである。   The slot counter 147 increments the value of the selection signal ESSEL [2: 0] every time the signal from the OR circuit 148 transitions from “0 (false)” to “1 (true)”, and sends it to the multiplexer 141. The priority order information numbers stored in the 0th slot priority order register 200 to the seventh slot priority order register 207 are sequentially and cyclically selected. This is because the end of one or consecutive bus cycles of the bus master to which the bus use permission is given is obtained from the logical sum of the eleventh second bus use permission signals SAGR.

OR回路210には、9つの第2バス使用要求信号SBURQが入力され、そのうちの1つ以上の第2バス使用要求信号SBURQが「1」の場合に、第2バス使用要求信号SBRをアサートする。   Nine second bus use request signals SBURQ are input to the OR circuit 210, and when one or more of the second bus use request signals SBURQ is “1”, the second bus use request signal SBR is asserted. .

マルチプレクサ143〜146の各々の9つの入力は、9つの第2バス使用要求要因「命令フェッチ」,「データアクセス」,「キャラクタヘッダ」,「キャラクタデータ」,「ビットマップデータ」,「ピクセルプロッタ」,「ウェーブデータ」,「エンベロープデータ」,「DMAソース」に対応している。   Nine inputs of each of the multiplexers 143 to 146 are nine second bus use request factors “instruction fetch”, “data access”, “character header”, “character data”, “bitmap data”, “pixel plotter”. , “Wave data”, “envelope data”, and “DMA source”.

マルチプレクサ143の9つの入力には、命令フェッチ・アドレスIFA、データアクセス・アドレスEDAA、キャラクタヘッダ・アドレスECHA、キャラクタデータ・アドレスECDA、ビットマップデータ・アドレスEBMA、ピクセルプロッタ・アドレスEPPA、ウェーブデータ・アドレスEWAA、エンベロープデータ・アドレスEEVA、及びDMAソース・アドレスEDSAが入力される。   Nine inputs of the multiplexer 143 include an instruction fetch address IFA, a data access address EDAA, a character header address ECHA, a character data address ECDA, a bitmap data address EBMA, a pixel plotter address EPPA, and a wave data address. EWAA, envelope data address EEVA, and DMA source address EDSA are input.

マルチプレクサ143は、これら9つの入力アドレス信号のうち、バスマスタセレクト信号EBMSLが示す(第2バス33の使用許可を与える)第2バス使用要求要因に対応するアドレス信号をレジスタ230に出力する。   Of these nine input address signals, the multiplexer 143 outputs to the register 230 an address signal corresponding to the second bus use request factor indicated by the bus master select signal EBMSL (giving permission to use the second bus 33).

レジスタ230は、入力されたアドレス信号を保持するとともに、統一アドレスCADR[26:0]として出力する。この場合、統一アドレスCADR[26:1]はステートマシン155へ、統一アドレスCADR[0]はバイトイネーブル信号生成回路150へ出力される。また、統一アドレスCADR[22:21]はアドレスデコーダ149へも出力される。   The register 230 holds the input address signal and outputs it as a unified address CADR [26: 0]. In this case, the unified address CADR [26: 1] is outputted to the state machine 155 and the unified address CADR [0] is outputted to the byte enable signal generation circuit 150. The unified address CADR [22:21] is also output to the address decoder 149.

アドレスデコーダ149は、統一アドレスCADR[22:21]をデコードして、統一第1領域セレクト信号CASEL1及び統一第2領域セレクト信号CASEL2を生成し、マルチプレクサ151〜153、デコーダ154、及びステートマシン155に出力する。この点を図7を用いて詳しく説明する。   The address decoder 149 decodes the unified address CADR [22:21] to generate a unified first area select signal CASEL1 and a unified second area select signal CASEL2, and sends them to the multiplexers 151 to 153, the decoder 154, and the state machine 155. Output. This point will be described in detail with reference to FIG.

図7の下段に示すように、アドレスA22(統一アドレスCADR[22])が「0」のときは、第2バス第0領域を示し、アドレスA22(統一アドレスCADR[22])が「1」かつアドレスA21(統一アドレスCADR[21])が「0」のときは、第2バス第1領域を示し、アドレスA22(統一アドレスCADR[22])が「1」かつアドレスA21(統一アドレスCADR[21])が「1」のときは、第2バス第2領域を示す。   As shown in the lower part of FIG. 7, when the address A22 (unified address CADR [22]) is “0”, it indicates the second bus 0th area, and the address A22 (unified address CADR [22]) is “1”. When address A21 (unified address CADR [21]) is "0", it indicates the second bus first area, address A22 (unified address CADR [22]) is "1" and address A21 (unified address CADR [ 21]) is “1”, it indicates the second area of the second bus.

従って、アドレスデコーダ149は、統一アドレスCADR[22:21]をデコードすることで、第2バス第0領域、第2バス第1領域、及び第2バス第2領域のうち、どの領域が選択されているかを判別できる。   Therefore, the address decoder 149 decodes the unified address CADR [22:21], and which area is selected from the second bus 0th area, the second bus 1st area, and the second bus 2nd area. Can be determined.

そして、アドレスデコーダ149は、統一アドレスCADR[22:21]が、第2バス第0領域を示している場合は、統一第1領域セレクト信号CASEL1及び統一第2領域セレクト信号CASEL2の双方をネゲートし、第2バス第1領域を示している場合は、統一第1領域セレクト信号CASEL1をアサート、統一第2領域セレクト信号CASEL2をネゲートし、第2バス第2領域を示している場合は、統一第1領域セレクト信号CASEL1をネゲート、統一第2領域セレクト信号CASEL2をアサートする。   When the unified address CADR [22:21] indicates the second bus 0th area, the address decoder 149 negates both the unified first area select signal CASEL1 and the unified second area select signal CASEL2. When the second bus first area is indicated, the unified first area select signal CASEL1 is asserted, the unified second area select signal CASEL2 is negated, and when the second bus second area is indicated, the unified first area select signal CASEL1 is asserted. The one area select signal CASEL1 is negated, and the unified second area select signal CASEL2 is asserted.

図20に戻って、マルチプレクサ151は、統一第1領域セレクト信号CASEL1および統一第2領域セレクト信号CASEL2に従って、3つのバス幅レジスタ160〜162のうちの1つを選択し、選択したバス幅レジスタの値を、統一バス幅信号CBWとして、ステートマシン155に出力する。   Returning to FIG. 20, the multiplexer 151 selects one of the three bus width registers 160 to 162 in accordance with the unified first area select signal CASEL1 and the unified second area select signal CASEL2, and the selected bus width register. The value is output to the state machine 155 as a unified bus width signal CBW.

つまり、マルチプレクサ151は、第2バス第0領域、第2バス第1領域、及び第2バス第2領域のうち、統一アドレス信号CADRが示す領域に対応するバス幅レジスタの値を、統一バス幅信号CBWとする。   That is, the multiplexer 151 converts the value of the bus width register corresponding to the area indicated by the unified address signal CADR among the second bus 0th area, the second bus 1st area, and the second bus 2nd area to the unified bus width. The signal is CBW.

マルチプレクサ152は、統一第1領域セレクト信号CASEL1および統一第2領域セレクト信号CASEL2に従って、3つのランダムアクセスサイクル数レジスタ170〜172のうちの1つを選択し、選択したランダムアクセスサイクル数レジスタの値を、統一ランダムアクセスサイクル数信号CRCYとして、ステートマシン155に出力する。   The multiplexer 152 selects one of the three random access cycle number registers 170 to 172 according to the unified first area select signal CASEL1 and the unified second area select signal CASEL2, and sets the value of the selected random access cycle number register. And output to the state machine 155 as a unified random access cycle number signal CRCY.

つまり、マルチプレクサ152は、第2バス第0領域、第2バス第1領域、及び第2バス第2領域のうち、統一アドレス信号CADRが示す領域に対応するランダムアクセスサイクル数レジスタの値を、統一ランダムアクセスサイクル数信号CRCYとする。   That is, the multiplexer 152 unifies the value of the random access cycle number register corresponding to the area indicated by the unified address signal CADR among the second bus 0th area, the second bus 1st area, and the second bus 2nd area. It is assumed that the random access cycle number signal CRCY.

マルチプレクサ153は、統一第1領域セレクト信号CASEL1および統一第2領域セレクト信号CASEL2に従って、3つのページアクセスサイクル数レジスタ180〜182のうちの1つを選択し、選択したページアクセスサイクル数レジスタの値を、統一ページアクセスサイクル数信号CPCYとして、ステートマシン155に出力する。   The multiplexer 153 selects one of the three page access cycle number registers 180 to 182 according to the unified first area select signal CASEL1 and the unified second area select signal CASEL2, and sets the value of the selected page access cycle number register. And output to the state machine 155 as a unified page access cycle number signal CPCY.

つまり、マルチプレクサ153は、第2バス第0領域、第2バス第1領域、及び第2バス第2領域のうち、統一アドレス信号CADRが示す領域に対応するページアクセスサイクル数レジスタの値を、統一ページアクセスサイクル数信号CPCYとする。   That is, the multiplexer 153 unifies the value of the page access cycle number register corresponding to the area indicated by the unified address signal CADR among the second bus 0th area, the second bus 1st area, and the second bus 2nd area. The page access cycle number signal CPCY is used.

デコーダ154は、統一第1領域セレクト信号CASEL1および統一第2領域セレクト信号CASEL2に従って、3つのページサイズレジスタ190〜192のうちの1つを選択し、選択したページサイズレジスタの値をデコードする。   The decoder 154 selects one of the three page size registers 190 to 192 according to the unified first region select signal CASEL1 and the unified second region select signal CASEL2, and decodes the value of the selected page size register.

つまり、デコーダ154は、第2バス第0領域、第2バス第1領域、及び第2バス第2領域のうち、統一アドレス信号CADRが示す領域に対応するページレジスタの値をデコードする。   That is, the decoder 154 decodes the value of the page register corresponding to the area indicated by the unified address signal CADR among the second bus 0th area, the second bus 1st area, and the second bus 2nd area.

そして、デコーダ154は、デコード結果を、統一ページ境界信号CPBとして、ステートマシン155に出力する。ページサイズレジスタ190〜192の各々は、2ビットであり、これにより、ページサイズ0、4、8、16バイトを表している。デコーダ154は、この2ビットをデコードして、第2バスアドレスEAD[3:0]のマスクを示す統一ページ境界信号CPB[3:0]を生成する。   Then, the decoder 154 outputs the decoding result to the state machine 155 as a unified page boundary signal CPB. Each of the page size registers 190 to 192 is 2 bits, thereby representing page sizes 0, 4, 8, and 16 bytes. The decoder 154 decodes these two bits and generates a unified page boundary signal CPB [3: 0] indicating a mask of the second bus address EAD [3: 0].

マルチプレクサ144の9つの入力には、命令フェッチ・サイズ信号EIFS、データアクセス・サイズ信号EDASとしての「1」、キャラクタヘッダ・サイズ信号ECHS、キャラクタデータ・サイズ信号ECDS、ビットマップデータ・サイズ信号EBMSとしての「8」、ピクセルプロッタ・サイズ信号EPPS、ウェーブデータ・サイズ信号EWASとしての「1」、エンベロープデータ・サイズ信号EEVSとしての「1」、及びDMAソース・サイズ信号EDSSが入力される。   Nine inputs of the multiplexer 144 are an instruction fetch size signal EIFS, “1” as a data access size signal EDAS, a character header size signal ECHS, a character data size signal ECDS, and a bitmap data size signal EBMS. "8", pixel plotter size signal EPPS, "1" as wave data size signal EWAS, "1" as envelope data size signal EEVS, and DMA source size signal EDSS.

このように、データアクセス・サイズ信号EDAS、ウェーブデータ・サイズ信号EWAS、及びエンベロープデータ・サイズ信号EEVSとして、「1」が固定値として入力されている。これは、図19から分かるように、これらに対応する第2バス使用要求要因において、要求できるデータ転送のサイズは、1バイトで固定されているからである。なお、マルチプレクサ144に入力される「1」は、要求するデータ転送のサイズが1バイトであることを意味する。また、ビットマップデータ・サイズ信号EBMSとして「8」が固定値として入力されている(図19参照)。   As described above, “1” is input as a fixed value as the data access size signal EDAS, the wave data size signal EWAS, and the envelope data size signal EEVS. This is because, as can be seen from FIG. 19, in the second bus use request factor corresponding to these, the size of data transfer that can be requested is fixed at 1 byte. Note that “1” input to the multiplexer 144 means that the requested data transfer size is 1 byte. Further, “8” is input as a fixed value as the bitmap data size signal EBMS (see FIG. 19).

マルチプレクサ144は、上記9つの入力サイズ信号のうち、バスマスタセレクト信号EBMSLが示す(第2バス33の使用許可を与える)第2バス使用要求要因に対応するサイズ信号をレジスタ231へ出力する。   The multiplexer 144 outputs to the register 231 a size signal corresponding to the second bus use request factor indicated by the bus master select signal EBMSL (giving use permission of the second bus 33) among the nine input size signals.

レジスタ231は、入力されたサイズ信号を保持するとともに、統一サイズ信号CSZとして、ステートマシン155へ出力する。   The register 231 holds the input size signal and outputs it to the state machine 155 as a unified size signal CSZ.

マルチプレクサ145の9つの入力には、第2バス使用要求要因「命令フェッチ」に対応した「0」、データアクセス・ライトデータEDAW、第2バス使用要求要因「キャラクタヘッダ」に対応した「0」、第2バス使用要求要因「キャラクタデータ」に対応した「0」、第2バス使用要求要因「ビットマップデータ」に対応した「0」、ピクセルプロッタ・ライトデータEPPW、第2バス使用要求要因「ウェーブデータ」に対応した「0」、第2バス使用要求要因「エンベロープデータ」に対応した「0」、及び第2バス使用要求要因「DMAソース」に対応した「0」が入力される。   The nine inputs of the multiplexer 145 include “0” corresponding to the second bus use request factor “instruction fetch”, “0” corresponding to the data access / write data EDAW, the second bus use request factor “character header”, “0” corresponding to the second bus use request factor “character data”, “0” corresponding to the second bus use request factor “bitmap data”, pixel plotter / write data EPPW, second bus use request factor “wave” “0” corresponding to “data”, “0” corresponding to the second bus use request factor “envelope data”, and “0” corresponding to the second bus use request factor “DMA source” are input.

この場合、「0」入力は、ライトデータがないことを意味する。なぜなら、第2バス使用要求要因「命令フェッチ」,「キャラクタヘッダ」,「キャラクタデータ」,「ビットマップデータ」,「ウェーブデータ」,「エンベロープデータ」,「DMAソース」では、ライトを行わないからである。   In this case, “0” input means that there is no write data. This is because the second bus use request factors “instruction fetch”, “character header”, “character data”, “bitmap data”, “wave data”, “envelope data”, and “DMA source” do not perform writing. It is.

マルチプレクサ145は、上記9つの入力ライトデータのうち、バスマスタセレクト信号EBMSLが示す(第2バス33の使用許可を与える)第2バス使用要求要因に対応する入力データをレジスタ232へ出力する。   The multiplexer 145 outputs, to the register 232, input data corresponding to the second bus use request factor indicated by the bus master select signal EBMSL (giving use permission of the second bus 33) among the nine input write data.

レジスタ232は、入力されたライトデータを保持するとともに、統一ライトデータCWDとして、ステートマシン155へ出力する。   The register 232 holds the input write data and outputs it to the state machine 155 as unified write data CWD.

マルチプレクサ146の9つの入力には、第2バス使用要求要因「命令フェッチ」に対応した「0」、データアクセス・ライト要求信号EDAWR、第2バス使用要求要因「キャラクタヘッダ」に対応した「0」、第2バス使用要求要因「キャラクタデータ」に対応した「0」、第2バス使用要求要因「ビットマップデータ」に対応した「0」、ピクセルプロッタ・ライト要求信号EPPWR、第2バス使用要求要因「ウェーブデータ」に対応した「0」、第2バス使用要求要因「エンベロープデータ」に対応した「0」、及び第2バス使用要求要因「DMAソース」に対応した「0」が入力される。   Nine inputs of the multiplexer 146 are “0” corresponding to the second bus use request factor “instruction fetch”, “0” corresponding to the data access / write request signal EDAWR and the second bus use request factor “character header”. “0” corresponding to the second bus use request factor “character data”, “0” corresponding to the second bus use request factor “bitmap data”, the pixel plotter / write request signal EPPWR, the second bus use request factor “0” corresponding to “wave data”, “0” corresponding to the second bus use request factor “envelope data”, and “0” corresponding to the second bus use request factor “DMA source” are input.

この場合、「0」入力は、ライト要求がないことを意味する。なぜなら、第2バス使用要求要因「命令フェッチ」,「キャラクタヘッダ」,「キャラクタデータ」,「ビットマップデータ」,「ウェーブデータ」,「エンベロープデータ」,「DMAソース」では、ライトを行わないからである。   In this case, “0” input means that there is no write request. This is because the second bus use request factors “instruction fetch”, “character header”, “character data”, “bitmap data”, “wave data”, “envelope data”, and “DMA source” do not perform writing. It is.

マルチプレクサ145は、上記9つの入力信号のうち、バスマスタセレクト信号EBMSLが示す(第2バス33の使用許可を与える)第2バス使用要求要因に対応する入力信号をレジスタ233に出力する。   The multiplexer 145 outputs, to the register 233, an input signal corresponding to the second bus use request factor indicated by the bus master select signal EBMSL (giving use permission of the second bus 33) among the nine input signals.

レジスタ233は、入力された信号を保持するとともに、統一ライト要求信号CWRQとして、ステートマシン155へ出力する。   The register 233 holds the input signal and outputs it to the state machine 155 as a unified write request signal CWRQ.

バイトイネーブル信号生成回路150は、統一アドレスCADR[0]、統一バス幅信号CBW、及び統一ライト要求信号CWRQに基づいて、統一下位バイトイネーブル信号CLWBE及び統一上位バイトイネーブル信号CUPBEを生成して、ステートマシン155へ出力する。具体的には次の通りである。   The byte enable signal generation circuit 150 generates a unified lower byte enable signal CLWBE and a unified upper byte enable signal CUPBE based on the unified address CADR [0], the unified bus width signal CBW, and the unified write request signal CWRQ. Output to machine 155. Specifically, it is as follows.

まず、統一ライト要求信号CWRQが「0」の場合(リードの場合)を説明する。バイトイネーブル信号生成回路150は、統一バス幅信号CBWがデータバス幅16ビットを示しているときは、統一アドレスCADR[0]に関係なく、統一下位バイトイネーブル信号CLWBE及び統一上位バイトイネーブル信号CUPBEの双方をアサートする。   First, the case where the unified write request signal CWRQ is “0” (in the case of reading) will be described. When the unified bus width signal CBW indicates a data bus width of 16 bits, the byte enable signal generation circuit 150 generates the unified lower byte enable signal CLWBE and the unified upper byte enable signal CUPBE regardless of the unified address CADR [0]. Assert both.

一方、バイトイネーブル信号生成回路150は、統一バス幅信号CBWがデータバス幅8ビットを示しているときは、統一アドレスCADR[0]が「0」であるときは統一下位バイトイネーブル信号CLWBEをアサートし、統一上位バイトイネーブル信号CUPBEをネゲートし、統一アドレスCADR[0]が「1」であるときは統一下位バイトイネーブル信号CLWBEをネゲートし、統一上位バイトイネーブル信号CUPBEをアサートする。   On the other hand, when the unified bus width signal CBW indicates the data bus width of 8 bits, the byte enable signal generation circuit 150 asserts the unified lower byte enable signal CLWBE when the unified address CADR [0] is “0”. The unified upper byte enable signal CUPBE is negated. When the unified address CADR [0] is “1”, the unified lower byte enable signal CLWBE is negated and the unified upper byte enable signal CUPBE is asserted.

以上のように、リードは、バス幅が16ビットに設定されている領域において、16ビット単位で行われ、バス幅が8ビットに設定されている領域において、8ビット単位で行われる。   As described above, the reading is performed in units of 16 bits in the area where the bus width is set to 16 bits, and is performed in units of 8 bits in the area where the bus width is set to 8 bits.

次に、統一ライト要求信号CWRQが「1」の場合(ライトの場合)を説明する。バイトイネーブル信号生成回路150は、統一バス幅信号CBWの値に関係なく、統一アドレスCADR[0]が「0」であるときは、統一下位バイトイネーブル信号CLWBEをアサートし、統一上位バイトイネーブル信号CUPBEをネゲートし、統一アドレスCADR[0]が「1」であるときは、統一下位バイトイネーブル信号CLWBEをネゲートし、統一上位バイトイネーブル信号CUPBEをアサートする。   Next, the case where the unified write request signal CWRQ is “1” (in the case of writing) will be described. The byte enable signal generation circuit 150 asserts the unified lower byte enable signal CLWBE and outputs the unified upper byte enable signal CUPBE when the unified address CADR [0] is “0” regardless of the value of the unified bus width signal CBW. When the unified address CADR [0] is “1”, the unified lower byte enable signal CLWBE is negated and the unified upper byte enable signal CUPBE is asserted.

以上のように、バス幅が16ビットに設定されている領域、8ビットに設定されている領域のいずれにおいても、ライトは常に8ビット単位で行われる。   As described above, in both the area where the bus width is set to 16 bits and the area where the bus width is set to 8 bits, writing is always performed in units of 8 bits.

ステートマシン155は、第2バス33へのアクセスを複数のステート(状態)IDLE,FREE,WRITE,READ,STEALに分けて、第2バスアドレスEAD、第2バスアドレス出力イネーブル信号EADOE、外部データ出力EDAO、外部データ出力イネーブル信号EDAOE、外部リードイネーブル信号ERDE、外部ライトイネーブル信号EWRE、下位バイトイネーブル信号LWBE、上位バイトイネーブル信号UPBE、第1領域セレクト信号ASSEL1、及び第2領域セレクト信号ASSEL2、並びに、命令フェッチ・上位バイトリード許可信号EIFUR、命令フェッチ・下位バイトリード許可信号EIFLR、データアクセス・下位バイトリード許可信号EDALR、データアクセス・上位バイトリード許可信号EDAUR,データアクセス・ライト受諾信号EDAWG,キャラクタヘッダ・下位バイトリード許可信号ECHLR,キャラクタヘッダ・上位バイトリード許可信号ECHUR、キャラクタデータ・下位バイトリード許可信号ECDLR、キャラクタデータ・上位バイトリード許可信号ECDUR、ビットマップデータ・下位バイトリード許可信号EBMLR、ビットマップデータ・上位バイトリード許可信号EBMUR、ピクセルプロッタ・下位バイトリード許可信号EPPLR、ピクセルプロッタ・上位バイトリード許可信号EPPUR、ピクセルプロッタ・ライト受諾信号EPPWG、ウェーブデータ・下位バイトリード許可信号EWALR、ウェーブデータ・上位バイトリード許可信号EWAUR、エンベロープデータ・下位バイトリード許可信号EEVLR、エンベロープデータ・上位バイトリード許可信号EEVUR、DMAソース・下位バイトリード許可信号EDSLR、DMAソース・上位バイトリード許可信号EDSUR、命令フェッチ・リード許可信号EIFRG、データアクセス・リード許可信号EDARG、キャラクタヘッダ・リード許可信号ECHRG、キャラクタデータ・リード許可信号ECDRG、ビットマップデータ・リード許可信号EBMRG、ピクセルプロッタ・リード許可信号EPPRG、ウェーブデータ・リード許可信号EWARG、エンベロープデータ・リード許可信号EEVRG、及びDMAソース・リード許可信号EDSRGを制御する。   The state machine 155 divides access to the second bus 33 into a plurality of states (states) IDLE, FREE, WRITE, READ, and STEAL, and outputs a second bus address EAD, a second bus address output enable signal EADOE, and an external data output EDAO, external data output enable signal EDAOE, external read enable signal ERDE, external write enable signal EWRE, lower byte enable signal LWBE, upper byte enable signal UPBE, first area select signal ASSEL1, and second area select signal ASSEL2, and Instruction fetch / upper byte read enable signal EIFUR, instruction fetch / lower byte read enable signal EIFLR, data access / lower byte read enable signal EDALR, data access / upper byte read Permission signal EDAUR, data access / write acceptance signal EDAWG, character header / lower byte read permission signal ECHLR, character header / upper byte read permission signal ECHUR, character data / lower byte read permission signal ECDLR, character data / upper byte read permission signal ECDUR, bitmap data / lower byte read enable signal EBMLR, bitmap data / upper byte read enable signal EBMUR, pixel plotter / lower byte read enable signal EPPLR, pixel plotter / upper byte read enable signal EPPUR, pixel plotter / write accept signal EPPWG, wave data / lower byte read enable signal EWALR, wave data / upper byte read enable signal EWAUR, envelope data Lower byte read permission signal EEVLR, envelope data / upper byte read permission signal EEVUR, DMA source / lower byte read permission signal EDSLLR, DMA source / upper byte read permission signal EDSUR, instruction fetch / read permission signal EIFRG, data access / read permission Signal EDARG, character header / read permission signal ECHRG, character data / read permission signal ECDRG, bitmap data / read permission signal EBMRG, pixel plotter / read permission signal EPPRG, wave data / read permission signal EWARG, envelope data / read permission signal EEVRG and DMA source / read permission signal EDSRG are controlled.

図21は、図20のステートマシン155における状態遷移の説明図である。図21に示すように、IDLEステートST0は、第2バス33に対する使用要求の無い空き状態である。FREEステートST1では、ステートマシン155は、CPU1からの外部バス43の開放要求に応じて(外部バス開放要求レジスタ156に「1」がセット)、第2バスアドレスEAD、外部データ出力EDAO、外部リードイネーブル信号ERDE、外部ライトイネーブル信号EWRE、下位バイトイネーブル信号LWBE、上位バイトイネーブル信号UPBE、第1領域セレクト信号ASSEL1、及び第2領域セレクト信号ASSEL2をHi−Z(ハイインピーダンス)にする。   FIG. 21 is an explanatory diagram of state transitions in the state machine 155 of FIG. As shown in FIG. 21, the IDLE state ST0 is a free state where there is no use request for the second bus 33. In the FREE state ST1, the state machine 155 responds to the release request of the external bus 43 from the CPU 1 ("1" is set in the external bus release request register 156), the second bus address EAD, the external data output EDAO, the external read The enable signal ERDE, the external write enable signal EWRE, the lower byte enable signal LWBE, the upper byte enable signal UPBE, the first area select signal ASSEL1, and the second area select signal ASSEL2 are set to Hi-Z (high impedance).

WRITEステートST2は、ライトサイクルである。複数バイト連続でのライトが行われることがある。   The WRITE state ST2 is a write cycle. Multiple bytes may be written continuously.

READステートST3は、リードサイクルである。複数バイト連続でのリードが行われることがある。ただし、一定バイト数連続でのリードが要求され、かつ、サウンドプロセッサ7からのリード要求がある場合には、サウンドプロセサ7からのリードアクセスを割り込ませるためにSTEALステートST4へ移行する。   The READ state ST3 is a read cycle. There may be a case where multiple bytes are continuously read. However, when a read with a constant number of bytes is requested and there is a read request from the sound processor 7, the state shifts to the STEAL state ST4 in order to interrupt the read access from the sound processor 7.

STEALステートST4は、サウンドプロセッサ7からのバス使用要求は緊急度が高いため、他のバスマスタのリードアクセス中に、割り込みアクセスをするためのステートである。   The STEAL state ST4 is a state for interrupt access during read access by another bus master because the bus use request from the sound processor 7 has a high degree of urgency.

図に沿って、状態遷移を説明する。なお、図中、「∧」は論理積、「∨」は論理和、「<」及び「≧」は不等号、「=」は等号、を意味する。   The state transition will be described with reference to the drawing. In the figure, “∧” represents a logical product, “∨” represents a logical sum, “<” and “≧” represent an inequality sign, and “=” represents an equal sign.

本実施の形態では、図中の条件式を満足したとき、次の内部クロック信号ICLKの立ち上がりで、満足した条件式に応じた状態へ遷移する。   In the present embodiment, when the conditional expression in the figure is satisfied, the state transitions to a state corresponding to the satisfied conditional expression at the next rise of the internal clock signal ICLK.

まず、IDLEステートST0からの状態遷移を説明する。   First, the state transition from the IDLE state ST0 will be described.

ステートマシン155は、外部バス開放要求レジスタ156の値が「1」になったとき、FREEステートST1へ移行する。   When the value of the external bus release request register 156 becomes “1”, the state machine 155 moves to the FREE state ST1.

また、ステートマシン155は、外部バス開放要求レジスタ156の値が「0」、かつ、第2バス使用要求信号SBRが「1」、かつ、統一ライト要求信号CWRQが「1」になったときに、WRITEステートST2へ移行する。   Further, the state machine 155 determines that the value of the external bus release request register 156 is “0”, the second bus use request signal SBR is “1”, and the unified write request signal CWRQ is “1”. , Transition to the WRITE state ST2.

さらに、ステートマシン155は、外部バス開放要求レジスタ156の値が「0」、かつ、第2バス使用要求信号SBRが「1」、かつ、統一ライト要求信号CWRQが「0」になったときに、READステートST3へ移行する。なお、第2バス使用要求信号SBRが「1」であって、統一ライト要求信号CWRQが「0」の場合は、リード要求を意味する。   Further, the state machine 155 determines that the value of the external bus release request register 156 is “0”, the second bus use request signal SBR is “1”, and the unified write request signal CWRQ is “0”. , Transition to the READ state ST3. If the second bus use request signal SBR is “1” and the unified write request signal CWRQ is “0”, it means a read request.

さらに、ステートマシン155は、外部バス開放要求レジスタ156の値が「0」、かつ、第2バス使用要求信号SBRが「0」になったときは、同じIDLEステートST0に移行する。   Further, when the value of the external bus release request register 156 is “0” and the second bus use request signal SBR is “0”, the state machine 155 shifts to the same IDLE state ST0.

次に、FREEステートST1からの状態遷移を説明する。   Next, the state transition from the FREE state ST1 will be described.

ステートマシン155は、サイクルカウントCYCが「1」、かつ、外部バス開放要求レジスタ156の値が「0」になったときに、IDLEステートST0へ移行する。   When the cycle count CYC is “1” and the value of the external bus release request register 156 is “0”, the state machine 155 moves to the IDLE state ST0.

ここで、サイクルカウンタは、3ビットのカウンタである。FREEステートST1でのサイクルカウントCYCの初期値は、「0」、つまり、「0b000」であり、内部クロックICLKの1サイクルごとにデクリメントされる。サイクルカウントCYCの初期値「0b000」は、内部クロックICLKの8サイクルを意味する。   Here, the cycle counter is a 3-bit counter. The initial value of the cycle count CYC in the FREE state ST1 is “0”, that is, “0b000”, and is decremented every cycle of the internal clock ICLK. The initial value “0b000” of the cycle count CYC means 8 cycles of the internal clock ICLK.

次に、WRITEステートST2からの状態遷移を説明する。   Next, state transition from the WRITE state ST2 will be described.

ステートマシン155は、サイクルカウントCYCが「1」、かつ、バイトカウントBYCが「2」未満、外部バス開放要求レジスタ156の値が「0」、かつ、第2バス使用要求信号SBRが「0」になったときに、IDLEステートST0へ移行する。   In the state machine 155, the cycle count CYC is “1”, the byte count BYC is less than “2”, the value of the external bus release request register 156 is “0”, and the second bus use request signal SBR is “0”. When it becomes, it shifts to the IDLE state ST0.

ここで、WRITEステートST2でのサイクルカウントCYCの初期値は、統一ランダムアクセスサイクル数信号CRCYが示すランダムアクセスサイクル数である。また、WRITEステートST2でのバイトカウントBYCの初期値は、統一サイズ信号CSZが示すサイズ(図19参照)であり、1バイトのライトが終了するたびにデクリメントされる。   Here, the initial value of the cycle count CYC in the WRITE state ST2 is the random access cycle number indicated by the unified random access cycle number signal CRCY. The initial value of the byte count BYC in the WRITE state ST2 is the size indicated by the unified size signal CSZ (see FIG. 19), and is decremented every time one byte is written.

また、ステートマシン155は、サイクルカウントCYCが「1」、かつ、バイトカウントBYCが「2」未満、かつ、外部バス開放要求レジスタ156の値が「1」になったときに、FREEステートST1へ移行する。   The state machine 155 goes to the FREE state ST1 when the cycle count CYC is “1”, the byte count BYC is less than “2”, and the value of the external bus release request register 156 is “1”. Transition.

さらに、ステートマシン155は、サイクルカウントCYCが「1」、かつ、バイトカウントBYCが「2」未満、かつ、外部バス開放要求レジスタ156の値が「0」、かつ、第2バス使用要求信号SBRが「1」、かつ、統一ライト要求信号CWRQが「1」になったときは、同じWRITEステートST2に移行する。   Further, the state machine 155 determines that the cycle count CYC is “1”, the byte count BYC is less than “2”, the value of the external bus release request register 156 is “0”, and the second bus use request signal SBR. Is “1”, and the unified write request signal CWRQ is “1”, the process proceeds to the same WRITE state ST2.

さらに、ステートマシン155は、サイクルカウントCYCが「1」、かつ、バイトカウントBYCが「2」未満、かつ、外部バス開放要求レジスタ156の値が「0」、かつ、第2バス使用要求信号SBRが「1」、かつ、統一ライト要求信号CWRQが「0」になったときに、READステートST3へ移行する。   Further, the state machine 155 determines that the cycle count CYC is “1”, the byte count BYC is less than “2”, the value of the external bus release request register 156 is “0”, and the second bus use request signal SBR. Is “1” and the unified write request signal CWRQ becomes “0”, the state shifts to the READ state ST3.

次に、READステートST3からの状態遷移について説明する。   Next, state transition from the READ state ST3 will be described.

ステートマシン155は、サイクルカウントCYCが「1」、かつ、図21の条件1が「偽」、かつ、外部バス開放要求レジスタ156の値が「0」、かつ、第2バス使用要求信号SBRが「0」になったときに、IDLEステートST0へ移行する。   In the state machine 155, the cycle count CYC is “1”, the condition 1 in FIG. 21 is “false”, the value of the external bus release request register 156 is “0”, and the second bus use request signal SBR is When it becomes “0”, the state shifts to the IDLE state ST0.

ここで、READステートST3でのサイクルカウントCYCの初期値は、統一ランダムアクセスサイクル数信号CRCYが示すランダムアクセスサイクル数あるいは統一ページアクセスサイクル数信号CPCYが示すページアクセスサイクル数である。   Here, the initial value of the cycle count CYC in the READ state ST3 is the random access cycle number indicated by the unified random access cycle number signal CRCY or the page access cycle number indicated by the unified page access cycle number signal CPCY.

条件1は、第2バス幅信号SBWが「1」かつ第2バスアドレスEAD[0]が「0」かつバイトカウントBYCが「3」以上、あるいは、第2バス幅信号SBWが「1」かつ第2バスアドレスEAD[0]が「1」かつバイトカウントBYCが「2」以上、あるいは、第2バス幅信号SBWが「0」かつバイトカウントBYCが「2」以上、のいずれかのときに「真」になる条件である。   Condition 1 is that the second bus width signal SBW is “1” and the second bus address EAD [0] is “0” and the byte count BYC is “3” or more, or the second bus width signal SBW is “1” and When the second bus address EAD [0] is “1” and the byte count BYC is “2” or more, or the second bus width signal SBW is “0” and the byte count BYC is “2” or more. This is a condition to become “true”.

第2バス幅信号SBWが「0」のときは、要求されたバス幅が8ビットであることを意味し、「1」のきは、要求されたバス幅が16であることを意味する。また、READステートST3でのバイトカウントBYCの初期値は、統一サイズ信号CSZが示すサイズ(図19参照)であり、1バイトのリードが終了するたびにデクリメントされる。また、第2バスアドレスEAD[0]が「0」のとき、16ビットデータの下位バイトが指し示され、「1」のとき、16ビットデータの上位バイトが指し示される。   When the second bus width signal SBW is “0”, it means that the requested bus width is 8 bits, and when it is “1”, it means that the requested bus width is 16. The initial value of the byte count BYC in the READ state ST3 is the size indicated by the unified size signal CSZ (see FIG. 19), and is decremented every time one byte is read. When the second bus address EAD [0] is “0”, the lower byte of 16-bit data is indicated, and when the second bus address EAD [0] is “1”, the upper byte of 16-bit data is indicated.

従って、条件1が「真」ということは、要求されたバス幅が16ビットの場合において、現在の第2バスアドレスEAD[0]が下位バイトを示し、残りのリードデータが、3バイト以上であるため、1バスサイクルで、残りのリードデータ全てをリードできないこと、あるいは、要求されたバス幅が16ビットの場合において、現在の第2バスアドレスEAD[0]が上位バイトを示し、残りのリードデータが、2バイト以上であるため、1バスサイクルで、残りのリードデータ全てをリードできないこと、あるいは、要求されたバス幅が8ビットの場合において、残りのリードデータが、2バイト以上であるため、1バスサイクルで、残りのリードデータ全てをリードできないこと、を意味する。   Therefore, if condition 1 is “true”, when the requested bus width is 16 bits, the current second bus address EAD [0] indicates the lower byte, and the remaining read data is 3 bytes or more. Therefore, when all the remaining read data cannot be read in one bus cycle, or when the requested bus width is 16 bits, the current second bus address EAD [0] indicates the upper byte, and the remaining Since the read data is 2 bytes or more, all the remaining read data cannot be read in one bus cycle, or when the requested bus width is 8 bits, the remaining read data is 2 bytes or more. Therefore, it means that all the remaining read data cannot be read in one bus cycle.

逆に、条件1が「偽」ということは、要求されたバス幅が16ビットの場合において、現在の第2バスアドレスEAD[0]が下位バイトを示し、残りのリードデータが、2バイト以下であるため、1バスサイクルで、残りのリードデータ全てをリードできること、あるいは、要求されたバス幅が16ビットの場合において、現在の第2バスアドレスEAD[0]が上位バイトを示し、残りのリードデータが、1バイトであるため、1バスサイクルで、残りのリードデータ全てをリードできること、あるいは、要求されたバス幅が8ビットの場合において、残りのリードデータが、1バイトであるため、1バスサイクルで、残りのリードデータ全てをリードできること、を意味する。   Conversely, if the condition 1 is “false”, when the requested bus width is 16 bits, the current second bus address EAD [0] indicates the lower byte, and the remaining read data is 2 bytes or less. Therefore, when all the remaining read data can be read in one bus cycle, or when the requested bus width is 16 bits, the current second bus address EAD [0] indicates the upper byte, and the remaining Since the read data is 1 byte, all the remaining read data can be read in one bus cycle, or when the requested bus width is 8 bits, the remaining read data is 1 byte. This means that all remaining read data can be read in one bus cycle.

さて、ステートマシン155は、サイクルカウントCYCが「1」、かつ、条件1が「偽」、かつ、外部バス開放要求レジスタ156の値が「1」になったときに、FREEステートST1へ移行する。   The state machine 155 shifts to the FREE state ST1 when the cycle count CYC is “1”, the condition 1 is “false”, and the value of the external bus release request register 156 is “1”. .

また、ステートマシン155は、サイクルカウントCYCが「1」、かつ、条件1が「偽」、かつ、外部バス開放要求レジスタ156の値が「0」、かつ、第2バス使用要求信号SBRが「1」、かつ、統一ライト要求信号CWRQが「1」になったときに、WRITEステートST2へ移行する。   Further, the state machine 155 indicates that the cycle count CYC is “1”, the condition 1 is “false”, the value of the external bus release request register 156 is “0”, and the second bus use request signal SBR is “0”. 1 "and when the unified write request signal CWRQ becomes" 1 ", the state shifts to the WRITE state ST2.

さらに、ステートマシン155は、サイクルカウントCYCが「1」、かつ、条件1が「偽」、かつ、外部バス開放要求レジスタ156の値が「0」、かつ、第2バス使用要求信号SBRが「1」、かつ、統一ライト要求信号CWRQが「0」になったときは、同じREADステートST3に移行する。   Further, the state machine 155 indicates that the cycle count CYC is “1”, the condition 1 is “false”, the value of the external bus release request register 156 is “0”, and the second bus use request signal SBR is “ 1 ”and when the unified write request signal CWRQ becomes“ 0 ”, the process proceeds to the same READ state ST3.

さらに、ステートマシン155は、サイクルカウントCYCが「1」、かつ、条件1が「真」、かつ、図21に示された条件2が「真」になったときに、STEALステートST4へ移行する。   Furthermore, when the cycle count CYC is “1”, the condition 1 is “true”, and the condition 2 shown in FIG. 21 is “true”, the state machine 155 shifts to the STEAL state ST4. .

ここで、条件2は、ウェーブデータ・バス要求信号EWABが「1」あるいはエンベロープデータ・バス要求信号EEVBが「1」のときに「真」になる条件である。   Here, the condition 2 is a condition that becomes “true” when the wave data bus request signal EWAB is “1” or the envelope data bus request signal EEVB is “1”.

従って、サウンドプロセッサ7以外のバスマスタがリードアクセス中の場合でも、サイクルカウントCYCが「1」のときに、サウンドプロセッサ7から、ウェーブデータ・バス要求信号EWABあるいはエンベロープデータ・バス要求信号EEVBが発行されると、STEALステートST4に移行し、サウンドプロセッサ7のリードアクセスを割り込ませる。ただし、STEALステートST4への移行は、条件1が「真」であることが条件なので、1バスサイクルでは、残りのリードデータ全てがリード不可能なことが条件となる。言い換えると、条件1が「偽」のために、1バスサイクルで、残りのリードデータ全てがリード可能なときは、該バスマスタのリードアクセスを終了させるべく、READステートST3が維持される。   Therefore, even when a bus master other than the sound processor 7 is in read access, when the cycle count CYC is “1”, the sound processor 7 issues the wave data bus request signal EWAB or the envelope data bus request signal EEVB. Then, the state shifts to the STEAL state ST4 and the read access of the sound processor 7 is interrupted. However, since the transition to the STEAL state ST4 is that the condition 1 is “true”, all the remaining read data cannot be read in one bus cycle. In other words, since the condition 1 is “false”, when all the remaining read data can be read in one bus cycle, the READ state ST3 is maintained to finish the read access of the bus master.

次に、STEALステートST4からの状態遷移を説明する。   Next, state transition from the STEAL state ST4 will be described.

ステートマシン155は、サイクルカウントCYCが「1」になったときに、READステートST3へ移行する。   When the cycle count CYC becomes “1”, the state machine 155 proceeds to the READ state ST3.

さて、次に、HDL(hardware description language)によるステートマシン155の記述を基に、図21の状態遷移を詳細に説明する。この場合、次のことを前提とする。上記と同様に、論理は、次の内部クロック信号ICLKの立ち上がりで反映される。また、基本的に正論理で記載する。ただし、統一下位バイトイネーブル信号CLWBE、統一上位バイトイネーブル信号CUPBE、上位バイトイネーブル信号UPBE、及び下位バイトイネーブル信号LWBEは、負論理とする。また、「=」は、条件文では等号を意味し、それ以外では代入を意味する。   Now, the state transition of FIG. 21 will be described in detail based on the description of the state machine 155 by HDL (hardware description language). In this case, the following is assumed. Similarly to the above, the logic is reflected at the next rising edge of the internal clock signal ICLK. Basically, it is described in positive logic. However, the unified lower byte enable signal CLWBE, the unified upper byte enable signal CUPBE, the upper byte enable signal UPBE, and the lower byte enable signal LWBE are negative logic. In addition, “=” means an equal sign in a conditional statement, and means assignment otherwise.

また、下記の説明における、ライト受諾信号WRAC、ライトデータ保持値WDSV、ランダムアクセスサイクル数保持値RACSV、第2バスアドレス保持値EADSV、第1領域セレクト保持値FSSV、第2領域セレクト保持値SSSV、第2バス幅信号SBW、第2バス幅保持値SBWSV、リード許可信号REGR、リード許可保持値REGRSV、ページアクセスサイクル数保持値PACSV、下位バイトリード許可信号LWRG、及び上位バイトリード許可信号UPRGは、ステートマシン155の内部信号であるため、図20には示されていない。   In the following description, the write acceptance signal WRAC, the write data holding value WDSV, the random access cycle number holding value RACSV, the second bus address holding value EADSV, the first area select holding value FSSV, the second area select holding value SSSV, The second bus width signal SBW, the second bus width holding value SBWSV, the read permission signal REGR, the read permission holding value REGRSV, the page access cycle number holding value PACSV, the lower byte read permission signal LWRG, and the upper byte read permission signal UPRG are: Since it is an internal signal of the state machine 155, it is not shown in FIG.

[IDLEステートST0]   [IDLE state ST0]

ステートマシン155は、第2バスアドレス出力イネーブル信号EADOE=1、外部データ出力イネーブル信号EDAOE=0(つまり、第2バス33のデータバスをHi−Zにする。)、外部ライトイネーブル信号EWRE=0、及び、外部リードイネーブル信号ERDE=0、とする。   The state machine 155 includes the second bus address output enable signal EADOE = 1, the external data output enable signal EDAOE = 0 (that is, the data bus of the second bus 33 is set to Hi-Z), and the external write enable signal EWRE = 0. , And the external read enable signal ERDE = 0.

もし、外部バス開放要求レジスタ156=1ならば、後述のFREE共通論理を実行し、それ以外で、第2バス使用要求信号SBR=1ならば、後述のACCESS共通論理を実行し、さらにそれ以外の場合は、後述のIDLE共通論理を実行する。   If the external bus release request register 156 = 1, the later-described FREE common logic is executed. Otherwise, if the second bus use request signal SBR = 1, the later-described ACCESS common logic is executed. In this case, IDLE common logic described later is executed.

[FREEステートST1]   [FREE state ST1]

(1)<サイクルカウントCYC≠1の場合> (1) <When cycle count CYC ≠ 1>

ステートマシン155は、サイクルカウントCYCを1つデクリメントする。   The state machine 155 decrements the cycle count CYC by one.

(2)<サイクルカウントCYC≠1でない場合、つまり、サイクルカウントCYC=1の場合> (2) <When cycle count CYC ≠ 1, that is, when cycle count CYC = 1>

ステートマシン155は、第2バスアドレス出力イネーブル信号EADOE=0とする。   The state machine 155 sets the second bus address output enable signal EADOE = 0.

もし、外部バス開放要求レジスタ156=0ならば、ステートマシン155は、第2バスアドレス出力イネーブルEADOE=1、ステートをIDLEステートST0とする。   If the external bus release request register 156 = 0, the state machine 155 sets the second bus address output enable EADOE = 1 and the state to the IDLE state ST0.

[WRITEステートST2]   [WRITE state ST2]

(1)<サイクルカウントCYC≠1の場合>   (1) <When cycle count CYC ≠ 1>

(1−1)ステートマシン155は、ライト受諾信号WRAC[8:0]=0b000000000、外部ライトイネーブル信号EWRE=1、外部データ出力イネーブル信号EDAOE=1、とする。ここで、ライト受諾信号WRAC[8:0]をネゲートしているのは、バスサイクルの途中であるため、外部メモリ45〜47へのデータの書き込みが完了していないからである。   (1-1) The state machine 155 sets the write acceptance signal WRAC [8: 0] = 0b000000000000, the external write enable signal EWRE = 1, and the external data output enable signal EDAOE = 1. Here, the reason why the write acceptance signal WRAC [8: 0] is negated is that data writing to the external memories 45 to 47 is not completed because the bus cycle is in progress.

(1−2)もし、第2バスアドレスEAD[0]=1ならば、ステートマシン155は、外部データEDAO[15:8]=ライトデータ保持値WDSV[15:8]、外部データEDAO[7:0]=ライトデータ保持値WDSV[15:8]、とする。ライトは、バイト単位で行われるので、外部メモリ45〜47にライトされるのは、データバス幅が16ビットの場合には外部データEDAO[15:8]、データバス幅が8ビットの場合には外部データEDAO[7:0]である。   (1-2) If the second bus address EAD [0] = 1, the state machine 155 causes the external data EDAO [15: 8] = write data holding value WDSV [15: 8], external data EDAO [7 : 0] = write data holding value WDSV [15: 8]. Since writing is performed in units of bytes, the external memories 45 to 47 are written when the data bus width is 16 bits and the external data EDAO [15: 8], and when the data bus width is 8 bits. Is external data EDAO [7: 0].

一方、第2バスアドレスEAD[0]=1以外、つまり、第2バスアドレスEAD[0]=0の場合は、ステートマシン155は、外部データEDAO[15:0]=ライトデータ保持値WDSV[15:0]、とする。ライトは、バイト単位で行われるので、外部メモリ45〜47にライトされるのは、外部データEDAO[7:0]である。   On the other hand, when the second bus address EAD [0] = 1 is not set, that is, when the second bus address EAD [0] = 0, the state machine 155 causes the external data EDAO [15: 0] = write data holding value WDSV [ 15: 0]. Since writing is performed in units of bytes, the external data EDAO [7: 0] is written to the external memories 45 to 47.

(1−3)ステートマシン155は、サイクルカウントCYCを1つデクリメントする。   (1-3) The state machine 155 decrements the cycle count CYC by 1.

(2)<サイクルカウントCYC≠1でない場合、つまりサイクルカウントCYC=1の場合で、バイトカウントBYC≧2の場合>   (2) <When cycle count CYC ≠ 1, that is, when cycle count CYC = 1 and byte count BYC ≧ 2>

ステートマシン155は、ライト受諾信号WRAC[8:0]=0b000000000、外部ライトイネーブル信号EWRE=0、外部データ出力イネーブル信号EDAOE=0、サイクルカウントCYC=ランダムアクセスサイクル数保持値RACSV、第2バスアドレスEAD[26:0]=第2バスアドレスEAD[26:0]+1、上位バイトイネーブル信号UPBE=第2バスアドレスEAD[0]を論理反転した値、とする。また、バイトカウントBYCを1つデクリメントする。ここで、ライト受諾信号WRAC[8:0]をネゲートしているのは、ライトするデータが残っているからである。   The state machine 155 includes a write acceptance signal WRAC [8: 0] = 0b000000000000, an external write enable signal EWRE = 0, an external data output enable signal EDAOE = 0, a cycle count CYC = a random access cycle number holding value RACSV, and a second bus address. EAD [26: 0] = second bus address EAD [26: 0] +1, and upper byte enable signal UPBE = a value obtained by logically inverting the second bus address EAD [0]. Also, the byte count BYC is decremented by one. Here, the reason why the write acceptance signal WRAC [8: 0] is negated is that data to be written remains.

(3)<サイクルカウントCYC≠1でない場合、つまりサイクルカウントCYC=1の場合で、バイトカウント≧2でない場合、つまりバイトカウント=1の場合>   (3) <When the cycle count CYC ≠ 1, that is, when the cycle count CYC = 1, and when the byte count ≧ 2, that is, when the byte count = 1.

ステートマシン155は、外部ライトイネーブル信号EWRE=0、外部データ出力イネーブル信号EDAOE=0、とする。もし、外部バス開放要求レジスタ156=1ならば、後述のFREE共通論理を実行し、それ以外で、第2バス使用要求信号SBR=1ならば、後述のACCESS共通論理を実行し、さらにそれ以外の場合は、後述のIDLE共通論理を実行する。   The state machine 155 sets the external write enable signal EWRE = 0 and the external data output enable signal EDAOE = 0. If the external bus release request register 156 = 1, the later-described FREE common logic is executed. Otherwise, if the second bus use request signal SBR = 1, the later-described ACCESS common logic is executed. In this case, IDLE common logic described later is executed.

[READステートST3]   [READ state ST3]

(1)ステートマシン155は、外部ライトイネーブル信号EWRE=0、外部データ出力イネーブル信号EDAOE=0、とする。   (1) The state machine 155 sets the external write enable signal EWRE = 0 and the external data output enable signal EDAOE = 0.

(2)<サイクルカウントCYC≠1の場合>   (2) <When cycle count CYC ≠ 1>

ステートマシン155は、サイクルカウントCYCを1つデクリメントし、外部リードイネーブル信号ERDE=1、とする。   The state machine 155 decrements the cycle count CYC by 1, and sets the external read enable signal ERDE = 1.

(3)<サイクルカウントCYC≠1でない場合、つまり、サイクルカウントCYC=1の場合であって、図21の条件1が「真」の場合>   (3) <When cycle count CYC ≠ 1 is not true, that is, when cycle count CYC = 1 and Condition 1 in FIG. 21 is “true”>

(3−1)<図21の条件2が「真」の場合>   (3-1) <When Condition 2 in FIG. 21 is “True”>

(3−1−1)ステートマシン155は、外部リードイネーブル信号ERDE=0とする。   (3-1-1) The state machine 155 sets the external read enable signal ERDE = 0.

(3―1−2)もし、第2バス幅信号SBW=1かつ第2バスアドレスEAD[0]=0かつバイトカウントBYC≧3の場合は、ステートマシン155は、バイトカウントBYCを2つデクリメントし、第2バスアドレス保持値EADSV[26:0]=第2バスアドレスEAD[26:0]+2、とする。一方、それ以外の場合であって、バイトカウントBYC≧2のときは、ステートマシン155は、バイトカウントBYCを1つデクリメントし、第2バスアドレス保持値EADSV[26:0]=第2バスアドレスEAD[26:0]+1、とする。   (3-1-2) If the second bus width signal SBW = 1, the second bus address EAD [0] = 0, and the byte count BYC ≧ 3, the state machine 155 decrements the byte count BYC by two. Then, the second bus address hold value EADSV [26: 0] = the second bus address EAD [26: 0] +2. On the other hand, in other cases, when the byte count BYC ≧ 2, the state machine 155 decrements the byte count BYC by 1, and the second bus address hold value EADSV [26: 0] = second bus address. Let EAD [26: 0] +1.

(3−1−3)ステートマシン155は、第2バスアドレスEAD[26:1]=統一アドレスCADR[26:1]、第2バスアドレスEAD[0]=統一下位バイトイネーブル信号CLWBE、第1領域セレクト信号ASSEL1=統一第1領域セレクト信号CASEL1、第2領域セレクト信号ASSEL2=統一第2領域セレクト信号CASEL2、第2バス幅保持値SBWSV=第2バス幅信号SBW、第2バス幅信号SBW=統一バス幅信号CBW、上位バイトイネーブル信号UPBE=統一上位バイトイネーブル信号CUPBE、サイクルカウントCYC=統一ランダムアクセスサイクル数信号CRCY、リード許可保持値REGRSV=リード許可信号REGR、リード許可信号REGR=バスマスタセレクト信号EBMSL、ステートをSTEALステートST4とする。   (3-1-3) The state machine 155 includes the second bus address EAD [26: 1] = the unified address CADR [26: 1], the second bus address EAD [0] = the unified lower byte enable signal CLWBE, the first Area select signal ASSEL1 = unified first area select signal CASEL1, second area select signal ASSEL2 = unified second area select signal CASEL2, second bus width holding value SBWSV = second bus width signal SBW, second bus width signal SBW = Unified bus width signal CBW, upper byte enable signal UPBE = unified upper byte enable signal CUPBE, cycle count CYC = unified random access cycle number signal CRCY, read permission holding value REGRSV = read permission signal REGR, read permission signal REGR = bus master select signal EBMS , The state and STEAL state ST4.

(3−2)<図21の条件2が「偽」の場合>   (3-2) <When Condition 2 in FIG. 21 is “False”>

(3−2−1)ステートマシン155は、第1領域セレクト信号ASSEL1=第1領域セレクト保持値FSSV、第2領域セレクト信号ASSEL2=第2領域セレクト保持値SSSV、とする。   (3-2-1) The state machine 155 sets the first area select signal ASSEL1 = first area select hold value FSSV and the second area select signal ASSEL2 = second area select hold value SSSV.

(3−2−2)もし、第2バス幅信号SBW=1かつ第2バスアドレスEAD[0]=0かつバイトカウントBYC≧3の場合は、ステートマシン155は、バイトカウントBYCを2つデクリメントし、第2バスアドレスEAD[26:0]=第2バスアドレスEAD[26:0]+2、とする。一方、それ以外の場合であって、バイトカウントBYC≧2のときは、ステートマシン155は、バイトカウントBYCを1つデクリメントし、第2バスアドレスEAD[26:0]=第2バスアドレスEAD[26:0]+1、とする。   (3-2-2) If the second bus width signal SBW = 1, the second bus address EAD [0] = 0, and the byte count BYC ≧ 3, the state machine 155 decrements the byte count BYC by two. The second bus address EAD [26: 0] = the second bus address EAD [26: 0] +2. On the other hand, if the byte count BYC ≧ 2, the state machine 155 decrements the byte count BYC by one, and the second bus address EAD [26: 0] = second bus address EAD [ 26: 0] +1.

(3−2−3)もし、第2バス幅信号SBW=1の場合は、ステートマシン155は、上位バイトイネーブル信号UPBE=0、とし、それ以外の場合は、つまり、第2バス幅信号SBW=0の場合は、ステートマシン155は、上位バイトイネーブル信号UPBE=第2バスアドレスEAD[0]を論理反転した値、とする。   (3-2-3) If the second bus width signal SBW = 1, the state machine 155 sets the upper byte enable signal UPBE = 0, otherwise, that is, the second bus width signal SBW. In the case of = 0, the state machine 155 assumes that the upper byte enable signal UPBE = the value obtained by logically inverting the second bus address EAD [0].

(3−2−4)<第2バス幅信号SBW=1の場合>   (3-2-4) <When second bus width signal SBW = 1>

もし、第2バスアドレスEAD[3:1]の各ビットと、統一ページ境界信号CPB[3:1]の各ビットと、の論理和が、「0b111」でない場合は、ステートマシン155は、サイクルカウントCYC=統一ページアクセスサイクル数信号CPCY、外部リードイネーブル信号ERDE=1、とする。一方、第2バスアドレスEAD[3:1]の各ビットと、統一ページ境界信号CPB[3:1]の各ビットと、の論理和が、「0b111」である場合は、ステートマシン155は、サイクルカウントCYC=ランダムアクセスサイクル数保持値RACSV、外部リードイネーブル信号ERDE=0、とする。これらの点を詳しく説明する。   If the logical sum of each bit of the second bus address EAD [3: 1] and each bit of the unified page boundary signal CPB [3: 1] is not “0b111”, the state machine 155 Count CYC = unified page access cycle number signal CPCY and external read enable signal ERDE = 1. On the other hand, when the logical sum of each bit of the second bus address EAD [3: 1] and each bit of the unified page boundary signal CPB [3: 1] is “0b111”, the state machine 155 Cycle count CYC = random access cycle number holding value RACSV, external read enable signal ERDE = 0. These points will be described in detail.

デコーダ154は、本実施の形態では、例えば、ページサイズが0バイトのときページ境界信号CPBを「0b1111」とし、4バイトのときページ境界信号CPBを「0b1100」とし、8バイトのときページ境界信号CPBを「0b1000」とし、16バイトのときページ境界信号CPBを「0b0000」とする。   In this embodiment, for example, the decoder 154 sets the page boundary signal CPB to “0b1111” when the page size is 0 bytes, sets the page boundary signal CPB to “0b1100” when the page size is 4 bytes, and sets the page boundary signal CPB to 8 bytes when the page size is 8 bytes. CPB is set to “0b1000”, and the page boundary signal CPB is set to “0b0000” for 16 bytes.

ここで、第2バス幅信号SBW=1ということは、第2バス33のデータバス幅が16ビット、つまり、外部メモリ45〜47の1ワードが16ビットで構成されている場合である。この場合、次のワードを指し示すために第2バスアドレスEADが変化するとき、第2バスアドレスEAD[0]は「0」を示したまま変化せず、第2バスアドレスEAD[26:1]の値がインクリメントされる。   Here, the second bus width signal SBW = 1 means that the data bus width of the second bus 33 is 16 bits, that is, one word of the external memories 45 to 47 is composed of 16 bits. In this case, when the second bus address EAD changes to indicate the next word, the second bus address EAD [0] remains “0” and does not change, and the second bus address EAD [26: 1]. The value of is incremented.

このことを踏まえた上で、ページ境界信号CPB[3:0]が「0b1100」(4バイトを示す。)の場合を例に説明を行う。この場合、ページサイズが4バイトであるから、第2バスアドレスEAD[3:1]が、例えば、「0b000」、「0b001」の範囲は同一ページ内である。つまり、1ページが4バイトのときは、同一ページ内では、第2バスアドレスEAD[1]が、「0b0」→「0b1」と変化する。   Considering this, the case where the page boundary signal CPB [3: 0] is “0b1100” (indicating 4 bytes) will be described as an example. In this case, since the page size is 4 bytes, the range of “0b000” and “0b001” of the second bus address EAD [3: 1] is within the same page. That is, when one page is 4 bytes, the second bus address EAD [1] changes from “0b0” to “0b1” in the same page.

従って、4バイトのページの最後のワードでは、第2バスアドレスEAD[1]が「0b1」になる。よって、ページ境界信号CPB[3:1](0b110)の各ビットと、ページの最後のワードを示す第2バスアドレスEAD[3:1](0b**1)の各ビットと、の論理和は、必ず、「0b111」となる。このようにして、第2バスアドレスEADが指し示すワードが、ページの最後のワードか否かが判別される。なお、「*」は任意の値である。   Accordingly, in the last word of the 4-byte page, the second bus address EAD [1] is “0b1”. Therefore, the logical sum of each bit of the page boundary signal CPB [3: 1] (0b110) and each bit of the second bus address EAD [3: 1] (0b ** 1) indicating the last word of the page. Is always “0b111”. In this way, it is determined whether or not the word indicated by the second bus address EAD is the last word of the page. Note that “*” is an arbitrary value.

(3−2−5)<第2バス幅信号SBW=0の場合>   (3-2-5) <When second bus width signal SBW = 0>

もし、第2バスアドレスEAD[3:0]の各ビットと、統一ページ境界信号CPB[3:0]の各ビットと、の論理和が、「0b1111」でない場合は、ステートマシン155は、サイクルカウントCYC=統一ページアクセスサイクル数信号CPCY、外部リードイネーブル信号ERDE=1、とする。一方、第2バスアドレスEAD[3:0]の各ビットと、統一ページ境界信号CPB[3:0]の各ビットと、の論理和が、「0b1111」である場合は、ステートマシン155は、サイクルカウントCYC=ランダムアクセスサイクル数保持値RACSV、外部リードイネーブル信号ERDE=0、とする。これらの点を詳しく説明する。   If the logical sum of each bit of the second bus address EAD [3: 0] and each bit of the unified page boundary signal CPB [3: 0] is not “0b1111”, the state machine 155 Count CYC = unified page access cycle number signal CPCY and external read enable signal ERDE = 1. On the other hand, when the logical sum of each bit of the second bus address EAD [3: 0] and each bit of the unified page boundary signal CPB [3: 0] is “0b1111”, the state machine 155 Cycle count CYC = random access cycle number holding value RACSV, external read enable signal ERDE = 0. These points will be described in detail.

第2バス幅信号SBW=0ということは、第2バス33のデータバス幅が8ビット、つまり、外部メモリ45〜47の1ワードが8ビットで構成されている場合である。この場合、次のワードを指し示すために第2バスアドレスEADが変化するとき、第2バスアドレスEAD[26:0]の値がインクリメントされる。   The second bus width signal SBW = 0 is when the data bus width of the second bus 33 is 8 bits, that is, one word of the external memories 45 to 47 is configured with 8 bits. In this case, when the second bus address EAD changes to point to the next word, the value of the second bus address EAD [26: 0] is incremented.

このことを踏まえた上で、ページ境界信号CPBが「0b1100」(4バイトを示す。)の場合を例に説明を行う。この場合、ページサイズが4バイトであるから、第2バスアドレスEAD[3:0]が、例えば、「0b0000」、「0b0001」、「0b0010」、「0b0011」の範囲は同一ページ内である。つまり、1ページが4バイトのときは、同一ページ内では、第2バスアドレスEAD[1:0]が、「0b00」→「0b01」→「0b10」→「0b11」と変化する。   Based on this, the case where the page boundary signal CPB is “0b1100” (indicating 4 bytes) will be described as an example. In this case, since the page size is 4 bytes, the range of “0b0000”, “0b0001”, “0b0010”, “0b0011” of the second bus address EAD [3: 0] is within the same page. That is, when one page is 4 bytes, the second bus address EAD [1: 0] changes from “0b00” → “0b01” → “0b10” → “0b11” in the same page.

従って、4バイトのページの最後のワードでは、第2バスアドレスEAD[1:0]が「0b11」になる。よって、ページ境界信号CPB[3:0](0b1100)の各ビットと、ページの最後のワードを示す第2バスアドレスEAD[3:0](0b**11)の各ビットと、の論理和は、必ず、「0b1111」となる。このようにして、第2バスアドレスEADが指し示すワードが、ページの最後のワードか否かが判別される。なお、「*」は任意の値である。   Accordingly, the second bus address EAD [1: 0] is “0b11” in the last word of the 4-byte page. Therefore, the logical sum of each bit of the page boundary signal CPB [3: 0] (0b1100) and each bit of the second bus address EAD [3: 0] (0b ** 11) indicating the last word of the page Is always “0b1111”. In this way, it is determined whether or not the word indicated by the second bus address EAD is the last word of the page. Note that “*” is an arbitrary value.

(4)<READステートST3において、サイクルカウントCYC≠1でない場合、つまり、サイクルカウントCYC=1の場合であって、図21の条件1が「偽」の場合>   (4) <In the READ state ST3, when the cycle count CYC is not 1, that is, when the cycle count CYC = 1 and the condition 1 in FIG. 21 is “false”>

ステートマシン155は、外部リードイネーブルERDE=0とする。もし、外部バス開放要求レジスタ156=1ならば、後述のFREE共通論理を実行し、それ以外で、第2バス使用要求信号SBR=1ならば、後述のACCESS共通論理を実行し、さらにそれ以外の場合は、後述のIDLE共通論理を実行する。   The state machine 155 sets the external read enable ERDE = 0. If the external bus release request register 156 = 1, the later-described FREE common logic is executed. Otherwise, if the second bus use request signal SBR = 1, the later-described ACCESS common logic is executed. In this case, IDLE common logic described later is executed.

[STEALステートST4]   [STEAL state ST4]

(1)<サイクルカウントCYC≠1の場合>   (1) <When cycle count CYC ≠ 1>

ステートマシン155は、外部リードイネーブル信号ERDE=1とし、サイクルカウントCYCを1つデクリメントする。   The state machine 155 sets the external read enable signal ERDE = 1 and decrements the cycle count CYC by one.

(2)<サイクルカウントCYC≠1でない場合、つまりサイクルカウントCYC=1の場合>   (2) <When the cycle count CYC ≠ 1, that is, when the cycle count CYC = 1>

(2−1)ステートマシン155は、外部リードイネーブル信号ERDE=0、第2バスアドレスEAD[26:0]=第2バスアドレス保持値EADSV[26:0]、第1領域セレクト信号ASSEL1=第1領域セレクト保持値FSSV、第2領域セレクト信号ASSEL2=第2領域セレクト保持値SSSV、第2バス幅信号SBW=第2バス幅保持値SBWSV、とする。   (2-1) The state machine 155 determines that the external read enable signal ERDE = 0, the second bus address EAD [26: 0] = the second bus address hold value EADSV [26: 0], and the first area select signal ASSEL1 = first It is assumed that one area select hold value FSSV, second area select signal ASSEL2 = second area select hold value SSSV, and second bus width signal SBW = second bus width hold value SBWSV.

(2−2)もし、第2バス幅保持値SBWSV=1ならば、ステートマシン155は、上位バイトイネーブル信号UPBE=0とし、それ以外ならば(つまり、第2バス保持値SBWSV=0ならば)、上位バイトイネーブル信号UPBEに第2バスアドレス保持値EADSV[0]を反転した値を代入する。   (2-2) If the second bus width holding value SBWSV = 1, the state machine 155 sets the upper byte enable signal UPBE = 0, otherwise (that is, if the second bus holding value SBWSV = 0). ), A value obtained by inverting the second bus address hold value EADSV [0] is substituted for the upper byte enable signal UPBE.

(2−3)ステートマシン155は、サイクルカウントCYC=ランダムアクセスサイクル数保持値RACSV[2:0]、リード許可信号REGR[8:0]=リード許可保持値REGRSV[8:0]、ステートをREADステートST3とする。   (2-3) The state machine 155 determines that the cycle count CYC = random access cycle count holding value RACSV [2: 0], the read permission signal REGR [8: 0] = read permission holding value REGRSV [8: 0] The READ state ST3 is assumed.

[IDLE共通論理]   [IDLE common logic]

ステートマシン155は、リード許可信号REGR[8:0]=0とし、ステートをIDLEステートST0とする。   The state machine 155 sets the read permission signal REGR [8: 0] = 0 and sets the state to the IDLE state ST0.

[FREE共通論理]   [FREE common logic]

ステートマシン155は、第2バスアドレスEAD[26:0]=0x4000000、上位バイトイネーブル信号UPBE=1、第1領域セレクト信号ASSEL1=0、第2領域セレクト信号ASSEL2=0、サイクルカウントCYC=0、ステートをFREEステートST1とする。   The state machine 155 has a second bus address EAD [26: 0] = 0x4000000, an upper byte enable signal UPBE = 1, a first area select signal ASSEL1 = 0, a second area select signal ASSEL2 = 0, a cycle count CYC = 0, The state is a FREE state ST1.

ここで、「0x4000000」は、リード/ライトいずれのアクセスの際にも使用されないアドレスである。サイクルカウントCYCが「0」ということは、1バスサイクルを8クロックサイクルとすることを表している。なお、下位バイトイネーブル信号LWBEは、第2バスアドレスEAD[0]と同じ挙動をとる。   Here, “0x4000000” is an address that is not used in both read and write accesses. The cycle count CYC “0” indicates that one bus cycle is set to 8 clock cycles. The lower byte enable signal LWBE behaves the same as the second bus address EAD [0].

[ACCESS共通論理]   [ACCESS common logic]

(1)ステートマシン155は、第2バス幅信号SBW=統一バス幅信号CBW、第2バスアドレスEAD[26:1]=統一アドレスCADR[26:1]、第2バスアドレスEAD[0]=統一下位バイトイネーブル信号CLWBE、上位バイトイネーブル信号UPBE=統一上位バイトイネーブル信号CUPBE、第1領域セレクト信号ASSEL1=統一第1領域セレクト信号CASEL1、第1領域セレクト保持値FSSV=統一第1領域セレクト信号CASEL1、第2領域セレクト信号ASSEL2=統一第2領域セレクト信号CASEL2、第2領域セレクト保持値SSSV=統一第2領域セレクト信号CASEL2、サイクルカウントCYC=統一ランダムアクセスサイクル数信号CRCY、ランダムアクセスサイクル数保持値RACSV=統一ランダムアクセスサイクル数信号CRCY、ページアクセスサイクル数保持値PACSV=統一ページアクセスサイクル数信号CPCY、及び、バイトカウントBYC=統一サイズ信号CSZ、とする。   (1) The state machine 155 determines that the second bus width signal SBW = the unified bus width signal CBW, the second bus address EAD [26: 1] = the unified address CADR [26: 1], and the second bus address EAD [0] = Unified lower byte enable signal CLWBE, upper byte enable signal UPBE = unified upper byte enable signal CUPBE, first area select signal ASSEL1 = unified first area select signal CASEL1, first area select hold value FSSV = unified first area select signal CASEL1 , Second area select signal ASSEL2 = unified second area select signal CASEL2, second area select hold value SSSV = unified second area select signal CASEL2, cycle count CYC = unified random access cycle number signal CRCY, random access cycle number Lifting value RACSV = unified random access cycle number signal CRCY, page access cycle number value PACSV = unified page access cycle number signal CPCY, and byte count BYC = unified size signal CSZ, to.

(2)<統一ライト要求信号CWRQ=1の場合>   (2) <When unified write request signal CWRQ = 1>

ステートマシン155は、ライト受諾信号WRAC[8:0]=バスマスタセレクト信号EBMSL[8:0]、リード許可信号REGR[8:0]=0b000000000、ライトデータ保持値WDSV[15:0]=統一ライトデータCWD[15:0]、及び、ステートをWRITEステートST2とする。   The state machine 155 has a write acceptance signal WRAC [8: 0] = bus master select signal EBMSL [8: 0], a read permission signal REGR [8: 0] = 0b000000, and a write data holding value WDSV [15: 0] = unified write. The data CWD [15: 0] and the state are set to the WRITE state ST2.

(3)<統一ライト要求信号CWRQ=1以外の場合、つまり統一ライト要求信号CWRQ=0の場合>   (3) <When unified write request signal CWRQ = 1, that is, when unified write request signal CWRQ = 0>

ステートマシン155は、リード許可信号REGR[8:0]=バスマスタセレクト信号EBMSL[8:0]、及びステートをREADステートST3とする。   The state machine 155 sets the read permission signal REGR [8: 0] = bus master select signal EBMSL [8: 0] and the state to the READ state ST3.

[リード許可信号生成論理]   [Read permission signal generation logic]

(1)<サイクルカウンタCYC=1の場合>   (1) <When cycle counter CYC = 1>

(1−1)<第2バス幅信号SBW=1(16ビットデータバス幅を意味)の場合>   (1-1) <When Second Bus Width Signal SBW = 1 (means 16-bit Data Bus Width)>

ステートマシン155は、下位バイトリード許可信号LWRG[8:0]=リード許可信号REGR[8:0]、及び、上位バイトリード許可信号UPRG[8:0]=リード許可信号REGR[8:0]、とする。   The state machine 155 has a lower byte read permission signal LWRG [8: 0] = read permission signal REGR [8: 0] and an upper byte read permission signal UPRG [8: 0] = read permission signal REGR [8: 0]. , And.

(1−2)<第2バス幅信号SBW=1以外の場合、つまり第2バス幅信号SBW=0(8ビットデータバス幅を意味)の場合>   (1-2) <When Second Bus Width Signal SBW = 1, That is, When Second Bus Width Signal SBW = 0 (means 8-bit Data Bus Width)>

第2バスアドレスEAD[0]=0の場合は、ステートマシン155は、下位バイトリード許可信号LWRG[8:0]=リード許可信号REGR[8:0]、及び上位バイトリード許可信号UPRG[8:0]=0b000000000、とする。   When the second bus address EAD [0] = 0, the state machine 155 causes the lower byte read permission signal LWRG [8: 0] = read permission signal REGR [8: 0] and the upper byte read permission signal UPRG [8]. : 0] = 0b000000000000.

第2バスアドレスEAD[0]=0以外の場合、つまり第2バスアドレスEAD[0]=1の場合は、ステートマシン155は、下位バイトリード許可信号LWRG[8:0]=0b000000000、及び上位バイトリード許可信号UPRG[8:0]=リード許可信号REGR[8:0]、とする。   When the second bus address EAD [0] = 0 is not set, that is, when the second bus address EAD [0] = 1, the state machine 155 determines that the lower byte read permission signal LWRG [8: 0] = 0b000000000000 Byte read permission signal UPRG [8: 0] = read permission signal REGR [8: 0].

(2)<サイクルカウンタCYC=1以外の場合>   (2) <When other than cycle counter CYC = 1>

ステートマシン155は、下位バイトリード許可信号LWRG[8:0]=0b000000000、及び上位バイトリード許可信号UPRG[8:0]=0b000000000、とする。   The state machine 155 sets the lower byte read permission signal LWRG [8: 0] = 0b000000000000 and the upper byte read permission signal UPRG [8: 0] = 0b000000000000.

(3)ステートマシン155は、リード許可信号REGR[0]〜REGR[8]を、それぞれ、ウェーブデータ・リード許可信号EWARG、エンべロープデータ・リード許可信号EEVRG、ビットマップデータ・リード許可信号EBMRG、キャラクタデータ・リード許可信号ECDRG、キャラクタヘッダ・リード許可信号ECHRG、ピクセルプロッタ・リード許可信号EPPRG、DMAソース・リード許可信号EDSRG、データアクセス・リード許可信号EDARG、及び命令フェッチ・リード許可信号EIFRGとする。   (3) The state machine 155 sends the read permission signals REGR [0] to REGR [8] to the wave data / read permission signal EWARG, the envelope data / read permission signal EEVRG, and the bitmap data / read permission signal EBMRG, respectively. , Character data / read permission signal ECDRG, character header / read permission signal ECHRG, pixel plotter / read permission signal EPPRG, DMA source / read permission signal EDSRG, data access / read permission signal EDARG, and instruction fetch / read permission signal EIFRG To do.

(4)ステートマシン155は、下位バイトリード許可信号LWRG[0]〜LWRG[8]を、それぞれ、ウェーブデータ・下位バイトリード許可信号EWALR、エンべロープデータ・下位バイトリード許可信号EEVLR、ビットマップデータ・下位バイトリード許可信号EBMLR、キャラクタデータ・下位バイトリード許可信号ECDLR、キャラクタヘッダ・下位バイトリード許可信号ECHLR、ピクセルプロッタ・下位バイトリード許可信号EPPLR、DMAソース・下位バイトリード許可信号EDSLR、データアクセス・下位バイトリード許可信号EDALR、及び命令フェッチ・下位バイトリード許可信号EIFLRとする。   (4) The state machine 155 sends the lower byte read permission signals LWRG [0] to LWRG [8] to the wave data / lower byte read permission signal EWALR, envelope data / lower byte read permission signal EEVLR, and bitmap, respectively. Data / lower byte read enable signal EBMLR, character data / lower byte read enable signal ECDLR, character header / lower byte read enable signal ECHLR, pixel plotter / lower byte read enable signal EPPLR, DMA source / lower byte read enable signal EDSLLR, data The access / lower byte read permission signal EDALR and the instruction fetch / lower byte read permission signal EIFLR are used.

(5)ステートマシン155は、上位バイトリード許可信号UPRG[0]〜UPRG[8]を、それぞれ、ウェーブデータ・上位バイトリード許可信号EWAUR、エンべロープデータ・上位バイトリード許可信号EEVUR、ビットマップデータ・上位バイトリード許可信号EBMUR、キャラクタデータ・上位バイトリード許可信号ECDUR、キャラクタヘッダ・上位バイトリード許可信号ECHUR、ピクセルプロッタ・上位バイトリード許可信号EPPUR、DMAソース・上位バイトリード許可信号EDSUR、データアクセス・上位バイトリード許可信号EDAUR、及び命令フェッチ・上位バイトリード許可信号EIFURとする。   (5) The state machine 155 sends the upper byte read permission signals UPRG [0] to UPRG [8] to the wave data / upper byte read permission signal EWAUR, envelope data / upper byte read permission signal EEVUR, and bitmap, respectively. Data / upper byte read enable signal EBMUR, character data / upper byte read enable signal ECDUR, character header / upper byte read enable signal ECHUR, pixel plotter / upper byte read enable signal EPPUR, DMA source / upper byte read enable signal EDSUR, data The access / upper byte read permission signal EDAUR and the instruction fetch / upper byte read permission signal EIFUR are used.

[ライト受諾信号生成論理]   [Write acceptance signal generation logic]

ステートマシン155は、ライト受諾信号WRAC[5]がピクセルプロッタ・ライト受諾信号EPPWGとし、ライト受諾WRAC[7]がデータアクセス・ライト受諾信号EDAWGとする。   In the state machine 155, the write acceptance signal WRAC [5] is the pixel plotter / write acceptance signal EPPWG, and the write acceptance WRAC [7] is the data access / write acceptance signal EDAWG.

さて、以上のように、本実施の形態では、現世代のプロセッサ100のCPU1、グラフィックプロセッサ3、サウンドプロセッサ7、及びDMAコントローラ9は、それぞれ、前世代のプロセッサ500のCPU501、グラフィックプロセッサ503、サウンドプロセッサ507、及びDMAコントローラ509と同じ機能を有する。但し、グラフィックプロセッサ3は、グラフィックプロセッサ503の機能に加え、新たに追加された機能を有する。   As described above, in the present embodiment, the CPU 1, the graphic processor 3, the sound processor 7, and the DMA controller 9 of the current generation processor 100 are the CPU 501, the graphic processor 503, and the sound of the previous generation processor 500, respectively. It has the same functions as the processor 507 and the DMA controller 509. However, the graphic processor 3 has a newly added function in addition to the function of the graphic processor 503.

そこで、現世代のプロセッサ100において、CPU1、グラフィックプロセッサ3、サウンドプロセッサ7、及びDMAコントローラ9を、共通バスマスタ群と呼ぶ。そして、現世代のプロセッサ100において、共通バスマスタ群に、ピクセルプロッタ5を加えたグループを、現世代バスマスタ群と呼ぶ。また、前世代のプロセッサ500において、CPU501、グラフィックプロセッサ503、サウンドプロセッサ507、及びDMAコントローラ509を、共通バスマスタ群と呼ぶ。   Therefore, in the current generation processor 100, the CPU 1, the graphic processor 3, the sound processor 7, and the DMA controller 9 are referred to as a common bus master group. In the current generation processor 100, a group obtained by adding the pixel plotter 5 to the common bus master group is referred to as a current generation bus master group. In the previous generation processor 500, the CPU 501, the graphic processor 503, the sound processor 507, and the DMA controller 509 are referred to as a common bus master group.

現世代のプロセッサ100が有する第2バスアービタ14の優先順位情報セットでは、1つのバスマスタに複数の第2バス使用要求要因が含まれる場合には、当該複数の第2バス使用要求要因に連続した優先順位が割り当てられる。このことを、図14の優先順位情報番号0に対応する優先順位情報セットを例に挙げて説明する。例えば、グラフィックプロセッサ3には、3つの第2バス使用要求要因、つまり、キャラクタヘッダHDR、キャラクタデータCHR、及びビットマップデータBMPが含まれ、これらにはそれぞれ、第3の優先順位、第4の優先順位、及び第5の優先順位というように、連続した優先順位が割り当てられている。このため、第2バスアービタ14の優先順位情報セットは、バス使用要求要因毎にバス使用要求を行わない前世代のプロセッサ500においても実行可能なソフトウェア(互換ソフトウェア)からは、バスマスタ毎に優先順位を定めたように見える。   In the priority information set of the second bus arbiter 14 of the current generation processor 100, when a plurality of second bus use request factors are included in one bus master, priority is given consecutively to the plurality of second bus use request factors. A rank is assigned. This will be described using the priority information set corresponding to the priority information number 0 in FIG. 14 as an example. For example, the graphic processor 3 includes three second bus use request factors, that is, a character header HDR, character data CHR, and bitmap data BMP, which have a third priority, a fourth priority, respectively. Consecutive priorities are assigned such as a priority order and a fifth priority order. For this reason, the priority information set of the second bus arbiter 14 is assigned a priority for each bus master from software (compatible software) that can be executed in the previous generation processor 500 that does not make a bus use request for each bus use request factor. Looks like it was decided.

しかも、第2バスアービタ14の優先順位情報セットにおける共通バスマスタ群のバスマスタ間の優先順位は、前世代のプロセッサ500が有する第2バスアービタ514の優先順位情報セットにおける対応するバスマスタ間の優先順位と同じである。このことを、図12の優先順位情報番号0に対応する優先順位情報セットおよび図14の優先順位情報番号0に対応する優先順位情報セットを例に挙げて説明する。図14に示すように、共通バスマスタ群に注目するとともに、第2バス使用要求要因を無視すれば、つまり、バスマスタだけに注目すると、優先順位は、高いほうから、サウンドプロセッサ7、グラフィックプロセッサ3、DMAコントローラ9、及びCPU1となる。一方、図12に示すように、優先順位は、高いほうから、サウンドプロセッサ507、グラフィックプロセッサ503、DMAコントローラ509、及びCPU501となっている。これらのことから分かるように、共通バスマスタ群においては、バスマスタの優先順位は、第2バスアービタ14と第2バスアービタ514とで同じである。   Moreover, the priority among the bus masters of the common bus master group in the priority information set of the second bus arbiter 14 is the same as the priority between the corresponding bus masters in the priority information set of the second bus arbiter 514 of the previous generation processor 500. is there. This will be described by taking the priority information set corresponding to priority information number 0 in FIG. 12 and the priority information set corresponding to priority information number 0 in FIG. 14 as examples. As shown in FIG. 14, if attention is paid to the common bus master group and the second bus use request factor is ignored, that is, if attention is paid only to the bus master, the sound processor 7, graphic processor 3, It becomes the DMA controller 9 and the CPU 1. On the other hand, as shown in FIG. 12, the sound processor 507, graphic processor 503, DMA controller 509, and CPU 501 are in descending order of priority. As can be seen from the above, in the common bus master group, the priority order of the bus masters is the same between the second bus arbiter 14 and the second bus arbiter 514.

以上のことは、現世代のプロセッサ100の第1バスアービタ12の優先順位情報と前世代のプロセッサ500の第1バスアービタ512の優先順位情報との間の関係についても同様のことが言える。   The same can be said for the relationship between the priority information of the first bus arbiter 12 of the current generation processor 100 and the priority information of the first bus arbiter 512 of the previous generation processor 500.

以上の結果、現世代のプロセッサ100のバスマスタがバス使用要求要因毎にバス使用要求を行う場合においても、前世代のプロセッサ500においても実行可能なソフトウェア(つまり、互換ソフトウェア)を正常に実行でき、バス調停に対する後方互換性が保持される。   As a result, even when the bus master of the current generation processor 100 makes a bus use request for each bus use request factor, the software that can be executed in the previous generation processor 500 (that is, compatible software) can be executed normally. Backwards compatibility for bus arbitration is maintained.

また、前世代のプロセッサ500では、論理アドレス空間の第2バス第1領域にアクセスする際のアクセスサイクル数と、第2バス第2領域にアクセスする際のアクセスサイクル数と、は共通の値にしか設定できない。つまり、図13に示すように、第2バス第1領域及び第2バス第2領域に対しては、アクセスサイクル数を設定するレジスタが共通である。   In the previous generation processor 500, the access cycle number for accessing the second bus first area in the logical address space and the access cycle number for accessing the second bus second area have a common value. Can only be set. That is, as shown in FIG. 13, a register for setting the number of access cycles is common to the second bus first area and the second bus second area.

一方、現世代のプロセッサ100では、論理アドレス空間の第2バス第1領域にアクセスする際のアクセスサイクル数と、第2バス第2領域にアクセスする際のアクセスサイクル数と、を別個に設定できる。つまり、図15に示すように、第2バス第1領域に対するランダムアクセスサイクル数を設定するレジスタ171と、第2バス第2領域に対するランダムアクセスサイクル数を設定するレジスタ172と、が独立して設けられる(図20参照)。   On the other hand, in the current generation processor 100, the number of access cycles for accessing the second bus first area in the logical address space and the number of access cycles for accessing the second bus second area can be set separately. . That is, as shown in FIG. 15, a register 171 for setting the number of random access cycles for the second bus first area and a register 172 for setting the number of random access cycles for the second bus second area are provided independently. (See FIG. 20).

しかし、現世代のプロセッサ100により実行された互換ソフトウェアが、図15に示した仮想の第1及び第2領域アクセスサイクル数レジスタの内容を書き換える操作を行ったときに、つまり、現世代のプロセッサ100により実行された互換ソフトウェアが、仮想の第1及び第2領域アクセスサイクル数レジスタが配置されるアドレス(前世代のプロセッサ500の第1及び第2領域アクセスサイクル数レジスタのアドレスと同じアドレス)に対して書き込み動作を行ったときに、現世代のプロセッサ100の第1領域ランダムアクセスサイクル数レジスタ171及び第2領域ランダムアクセスサイクル数レジスタ172の双方の内容が、仮想の第1及び第2領域アクセスサイクル数レジスタの内容(つまり、前世代のプロセッサ500の第1及び第2領域アクセスサイクル数レジスタの内容)と同じになるように書き換えられる。   However, when the compatible software executed by the current generation processor 100 performs an operation of rewriting the contents of the virtual first and second area access cycle number registers shown in FIG. 15, that is, the current generation processor 100. The compatible software executed in accordance with the above is for the address where the virtual first and second area access cycle number registers are arranged (the same address as the address of the first and second area access cycle number registers of the previous generation processor 500). When the write operation is performed, the contents of both the first area random access cycle number register 171 and the second area random access cycle number register 172 of the current generation processor 100 are the virtual first and second area access cycles. Number register contents (ie, previous generation processor 500 Rewritten to be the same as the first and the contents of the second region access cycle number register).

その結果、アクセスサイクル数(つまり、アクセススピード)の観点からは、アドレス領域が、前世代のプロセッサ500にとっては複数の領域に分割されていないが、現世代のプロセッサ100にとっては複数の領域に分割されている場合でも、前世代のプロセッサ500においても実行可能なソフトウェア(つまり、互換ソフトウェア)を正常に実行でき、アドレス領域へのアクセススピードに対する後方互換性が保持される。   As a result, from the viewpoint of the number of access cycles (that is, access speed), the address area is not divided into a plurality of areas for the previous generation processor 500, but is divided into a plurality of areas for the current generation processor 100. Even in such a case, software that can be executed in the previous generation processor 500 (that is, compatible software) can be normally executed, and backward compatibility with respect to the access speed to the address area is maintained.

さらに、前世代のプロセッサ500は、外部バス543に接続されたメモリ545〜547にページモードでアクセスする機能を備えていない。一方、現世代のプロセッサ100は、外部バス43に接続されたメモリ45〜47にページモードでアクセスする機能を備えている。   Further, the previous generation processor 500 does not have a function of accessing the memories 545 to 547 connected to the external bus 543 in the page mode. On the other hand, the current generation processor 100 has a function of accessing the memories 45 to 47 connected to the external bus 43 in the page mode.

しかし、現世代のプロセッサ100により実行された互換ソフトウェアが、図15に示した仮想の第0領域アクセスサイクル数レジスタの内容を書き換える操作を行ったときに、つまり、現世代のプロセッサ100により実行された互換ソフトウェアが、仮想の第0領域アクセスサイクル数レジスタが配置されるアドレス(前世代のプロセッサ500において第0領域アクセスサイクル数レジスタが配置されるアドレス)に対して書き込み動作を行ったときに、現世代のプロセッサ100の第0領域ランダムアクセスサイクル数レジスタ170の内容が、仮想の第0領域アクセスサイクル数レジスタの内容(つまり、前世代のプロセッサ500の第0領域アクセスサイクル数レジスタの内容)と同じになるように書き換えられるとともに、1ページのサイズが「0」を示すように第0領域ページサイズレジスタ190が設定され、ページモードでのアクセスが行われない。   However, when the compatible software executed by the current generation processor 100 performs an operation of rewriting the contents of the virtual 0th area access cycle number register shown in FIG. 15, that is, executed by the current generation processor 100. When the compatible software performs a write operation on the address where the virtual 0th area access cycle number register is arranged (address where the 0th area access cycle number register is arranged in the previous generation processor 500), The contents of the 0th area random access cycle number register 170 of the current generation processor 100 are the contents of the virtual 0th area access cycle number register (that is, the contents of the 0th area access cycle number register of the previous generation processor 500). It can be rewritten to be the same and 1 Over size di is the zeroth region page size register 190 to indicate "0" is set, not performed accessed in the page mode.

以上の結果、前世代のプロセッサ500がページモードをサポートしていない場合でも、前世代のプロセッサ500においても実行可能なソフトウェア(つまり、互換ソフトウェア)を正常に実行でき、アドレス領域へのアクセスモードに対する後方互換性が保持される。   As a result, even when the previous generation processor 500 does not support the page mode, software that can be executed by the previous generation processor 500 (that is, compatible software) can be executed normally, and the access mode to the address area can be controlled. Backwards compatibility is maintained.

さらに、本実施の形態では、現世代のプロセッサ100により実行された互換ソフトウェアが、図15に示した仮想の第1及び第2領域アクセスサイクル数レジスタの内容を書き換える操作を行ったときに、つまり、現世代のプロセッサ100により実行された互換ソフトウェアが、仮想の第1及び第2領域アクセスサイクル数レジスタが配置されるアドレスに対して書き込み動作を行ったときに、現世代のプロセッサ100の第1領域ランダムアクセスサイクル数レジスタ171及び第2領域ランダムアクセスサイクル数レジスタ172の双方の内容が、仮想の第1及び第2領域アクセスサイクル数レジスタの内容と同じになるように書き換えられるとともに、1ページのサイズが「0」を示すように第1領域ページサイズレジスタ191及び第2領域ページサイズレジスタ192が設定され、ページモードでのアクセスが行われない。   Furthermore, in the present embodiment, when the compatible software executed by the current generation processor 100 performs an operation of rewriting the contents of the virtual first and second area access cycle number registers shown in FIG. When the compatible software executed by the current generation processor 100 performs a write operation on the address where the virtual first and second area access cycle number registers are arranged, the first software of the current generation processor 100 The contents of both the area random access cycle number register 171 and the second area random access cycle number register 172 are rewritten to be the same as the contents of the virtual first and second area access cycle number registers, and one page The first area page size register 191 so that the size indicates “0”. Is set beauty second region page size register 192, the access in the page mode is not performed.

その結果、アクセスサイクル数(つまり、アクセススピード)の観点からは、アドレス領域が、前世代のプロセッサ500にとっては複数の領域に分割されていないが、現世代のプロセッサ100にとっては複数の領域に分割されている場合であって、しかも、前世代のプロセッサ500がページモードをサポートしていない場合であっても、前世代のプロセッサ500においても実行可能なソフトウェア(つまり、互換ソフトウェア)を正常に実行でき、アドレス領域へのアクセススピード及びアクセスモードに対する後方互換性が保持される。   As a result, from the viewpoint of the number of access cycles (that is, access speed), the address area is not divided into a plurality of areas for the previous generation processor 500, but is divided into a plurality of areas for the current generation processor 100. Even when the previous generation processor 500 does not support the page mode, software that can be executed by the previous generation processor 500 (that is, compatible software) is executed normally. The backward compatibility with respect to the access speed and the access mode to the address area is maintained.

さらに、本実施の形態では、前世代のプロセッサ500の論理アドレス空間は、P(Pは1以上の整数)ビット(図6の例では、24ビット)のアドレス情報で示される。一方、現世代のプロセッサ100の論理アドレス空間は、Q(QはPより大きい2以上の整数)ビット(図7の例では27ビット)のアドレス情報で示される。そして、現世代のプロセッサ100の論理アドレス空間は、Qビットのアドレス情報のうちの上位(Q−P)ビットが「0」を示す第1のアドレス空間(前世代のプロセッサ500の論理アドレス空間と同一)と、それ以外の空間全てを含む第2のアドレス空間とに分割されている。   Furthermore, in the present embodiment, the logical address space of the previous generation processor 500 is indicated by address information of P (P is an integer of 1 or more) bits (24 bits in the example of FIG. 6). On the other hand, the logical address space of the current generation processor 100 is indicated by address information of Q (Q is an integer greater than or equal to 2 greater than P) bits (27 bits in the example of FIG. 7). The logical address space of the current-generation processor 100 is the first address space (the logical address space of the previous-generation processor 500 and the first address space in which the upper (QP) bits of the Q-bit address information indicate “0”. And the second address space including all other spaces.

従って、前世代のプロセッサ500のために作成された互換ソフトウェアを現世代のプロセッサ100で実行する場合、Qビットのアドレス情報の上位(Q−P)ビットを「0」にして出力するだけで、現世代のプロセッサ100は、前世代のプロセッサ500の論理アドレス空間と同じ第1のアドレス空間にアクセスすることができ、アドレス空間に対する互換性が容易に保持できる。   Therefore, when the compatible software created for the previous generation processor 500 is executed by the current generation processor 100, the upper (QP) bit of the Q bit address information is simply set to “0” and output. The current generation processor 100 can access the same first address space as the logical address space of the previous generation processor 500 and can easily maintain compatibility with the address space.

また、前世代のプロセッサ500のグラフィックプロセッサ503と同じ機能を有する、現世代のプロセッサ100のグラフィックプロセッサ3は、第1のアドレス空間だけでなく、グラフィックプロセッサ503がアクセスできない第2のアドレス空間にもアクセスできる追加機能(つまり、追加された3種類のアドレシングモード)を有しており、前世代のプロセッサ500との後方互換性を保持しながらも、アクセスできるアドレス領域を拡張できる。   Further, the graphic processor 3 of the current generation processor 100 having the same function as that of the graphic processor 503 of the previous generation processor 500 has not only the first address space but also the second address space that the graphic processor 503 cannot access. It has an additional function that can be accessed (that is, three added addressing modes), and the accessible address area can be expanded while maintaining backward compatibility with the processor 500 of the previous generation.

さらに、現世代のプロセッサ100では、前世代のプロセッサ500に比べて新たな機能を有するピクセルプロッタ5を設け、第1のアドレス空間及び第2のアドレス空間の双方にアクセスできるようにしている。しかし、前世代のプロセッサ500には、そもそもピクセルプロッタ5と同じ機能を有するバスマスタが設けられていないため、前世代のプロセッサ500との後方互換性の保持に何らの影響を与えるものではない。このように、現世代のプロセッサ100では、後方互換性を保持しながらも、新たな機能を有するバスマスタを追加できる。   Further, the current generation processor 100 is provided with a pixel plotter 5 having a new function compared to the previous generation processor 500 so that both the first address space and the second address space can be accessed. However, since the previous generation processor 500 is not provided with a bus master having the same function as that of the pixel plotter 5, it does not affect the maintenance of backward compatibility with the previous generation processor 500. Thus, in the current generation processor 100, a bus master having a new function can be added while maintaining backward compatibility.

さて、本実施の形態によれば、現世代のプロセッサ100の第2バスアービタ14の機能により、以下のような効果を奏する。   Now, according to the present embodiment, the function of the second bus arbiter 14 of the current generation processor 100 provides the following effects.

第2バスアービタ14は、バスマスタが要求したサイズ(図19参照)に応じた数のバスサイクルを与えるので、バスマスタは、データを連続してリード/ライトできる。このように連続してバスサイクルを取得できるというメリットをバスマスタに与えながらも、バスマスタが要求したサイズに応じた数のバスサイクルを単位として、必ず調停動作が行われるので、バスの使用効率を高めることができ、かつ、バスマスタからのバス使用要求に対する応答のレイテンシを可能な限り小さくできる。   Since the second bus arbiter 14 provides the number of bus cycles corresponding to the size requested by the bus master (see FIG. 19), the bus master can read / write data continuously. While giving the bus master the advantage that bus cycles can be acquired in this way, the arbitration operation is always performed in units of the number of bus cycles according to the size requested by the bus master, increasing the bus usage efficiency. And the latency of the response to the bus use request from the bus master can be made as small as possible.

しかも、リードまたはライトを行うデータのサイズを示すサイズ信号EIFS,ECHS,ECDS,EPPS,EDSSはバスマスタが発行するので、データ転送に必要充分なサイズを示すサイズ信号の発行が可能であり、そうすると、ステートマシン155はバスサイクルの最適な数を設定できる。従って、この場合、バス使用効率のより一層の向上とバス使用要求に対する応答のレイテンシのより一層の短縮化を図ることができる。   In addition, since the bus master issues size signals EIFS, ECHS, ECDS, EPPS, EDSS indicating the size of data to be read or written, it is possible to issue a size signal indicating a size sufficient for data transfer. The state machine 155 can set an optimal number of bus cycles. Therefore, in this case, it is possible to further improve the bus use efficiency and further shorten the latency of the response to the bus use request.

また、ステートマシン155は、プライオリティデコーダ142が選択したバスマスタに対して、次式(以下、最適バスサイクル数算出式、と呼ぶ。)で示されるNバスサイクル分のバス使用許可を与える。   Further, the state machine 155 gives a bus use permission for N bus cycles represented by the following equation (hereinafter referred to as an optimum bus cycle number calculation equation) to the bus master selected by the priority decoder 142.

N=((A+B−1)/W)−(A/W)+1   N = ((A + B-1) / W)-(A / W) +1

ただし、「A」は、バスマスタがバス使用要求を発行する際に発行するアドレス情報であって、リードまたはライト対象の先頭バイトをバイトアドレスで指し示すアドレス情報である。この「A」は、図20の統一アドレスCADRに相当する。   However, “A” is address information issued when the bus master issues a bus use request, and is address information indicating the first byte to be read or written by a byte address. This “A” corresponds to the unified address CADR in FIG.

「B」は、バスマスタがリードまたはライトするデータのサイズ情報であって、バイト数で表される。この「B」は、図20の統一サイズ信号CSZに相当する。このように、本実施の形態では、バスマスタは、リードまたはライトするデータのサイズをバイト数で要求する。   “B” is size information of data read or written by the bus master, and is represented by the number of bytes. This “B” corresponds to the unified size signal CSZ in FIG. Thus, in this embodiment, the bus master requests the size of data to be read or written by the number of bytes.

「W」は、アドレス情報Aが指し示す領域のデータバス幅のバイト数を示す。この「W」は、図20の統一バス幅信号CBWが示すデータバスのバイト数に相当する。すなわち、統一バス幅信号CBWが「0」であれば、データバスのバス幅は1バイト(=8ビット)であり、統一バス幅信号CBWが「1」であれば、データバスのバス幅は2バイト(=16ビット)である。   “W” indicates the number of bytes of the data bus width of the area indicated by the address information A. This “W” corresponds to the number of bytes of the data bus indicated by the unified bus width signal CBW in FIG. That is, if the unified bus width signal CBW is “0”, the bus width of the data bus is 1 byte (= 8 bits), and if the unified bus width signal CBW is “1”, the bus width of the data bus is 2 bytes (= 16 bits).

アドレス情報Aは、リード/ライトするデータの始端が第0バイト目から何バイト目にあたるかを示す。従って、(A+B−1)は、リード/ライトするデータの終端が第0バイト目から何バイト目にあたるかを示す。   The address information A indicates how many bytes from the 0th byte the starting end of the data to be read / written is. Therefore, (A + B-1) indicates the number of bytes from the 0th byte to the end of the data to be read / written.

アドレス情報Aが指し示す領域のデータバス幅のバイト数Wは、接続される外部メモリ45〜47の1ワードを構成するバイト数を示すため、((A+B−1)/W)は、リード/ライトするデータの終端が第0ワード目から何ワード目にあたるかを示し、(A/W)は、リード/ライトするデータの始端が第0ワード目から何ワード目にあたるかを示す。よって、Nは、換言すれば、リード/ライトするデータのワード数を示す。従って、1ワードのデータを1バスサイクルで転送することを想定すれば、Nが、データ転送に必要なバスサイクルの数を示すことを容易に理解できる。   Since the number of bytes W of the data bus width of the area indicated by the address information A indicates the number of bytes constituting one word of the connected external memories 45 to 47, ((A + B-1) / W) is read / write The number of words from the 0th word corresponds to the end of the data to be read, and (A / W) represents the number of words from the 0th word to the start of the data to be read / written. Therefore, in other words, N indicates the number of words of data to be read / written. Therefore, assuming that one word of data is transferred in one bus cycle, it can be easily understood that N indicates the number of bus cycles required for data transfer.

さらに、CPU1は、第0領域バス幅レジスタ160、第1領域バス幅レジスタ161、及び第2領域バス幅レジスタ162に値を設定することで、データバス幅のバイト数Wを、領域(第2バス第0領域、第2バス第1領域、第2バス第2領域:図7参照)ごとに設定することができる。   Further, the CPU 1 sets values in the 0th area bus width register 160, the first area bus width register 161, and the second area bus width register 162, thereby reducing the number of bytes W of the data bus width to the area (second area). It can be set for each bus 0th area, second bus 1st area, second bus 2nd area (see FIG. 7).

そして、アドレスデコーダ149は、プライオリティデコーダ142が選択したバスマスタが発行したアドレス情報A、つまり統一アドレスCADRが、3つの領域(第2バス第0領域、第2バス第1領域、第2バス第2領域)のいずれに相当するかを判別し、マルチプレクサ151は、この判別結果に従って、3つの領域のいずれかのデータバス幅を選択し、統一バス幅CBWとして、ステートマシン155に与える。   Then, the address decoder 149 has the address information A issued by the bus master selected by the priority decoder 142, that is, the unified address CADR, in three areas (second bus 0th area, second bus first area, second bus second). The multiplexer 151 selects one of the three data bus widths according to the determination result, and supplies it to the state machine 155 as a unified bus width CBW.

ステートマシン155は、統一バス幅CBWが示すデータバスのバイト数Wに基づいて、最適バスサイクル数算出式からNを算出する。   The state machine 155 calculates N from the optimum bus cycle number calculation formula based on the number of bytes W of the data bus indicated by the unified bus width CBW.

従って、アドレス空間が複数の領域に分割され、かつそれぞれの領域が異なるデータバス幅を有している場合においても、ステートマシン155は、アクセス対象となる領域のデータバス幅に合わせて、必要充分な数のバスサイクルをバスマスタに与えることができる。   Therefore, even when the address space is divided into a plurality of areas and each area has a different data bus width, the state machine 155 is necessary and sufficient in accordance with the data bus width of the area to be accessed. Any number of bus cycles can be provided to the bus master.

さらに、ステートマシン155は、サウンドプロセッサ7以外のバスマスタが、第2バス33を使用している時に、サウンドプロセッサ7からのバス使用要求(ウェーブデータ・バス要求EWABあるいはエンベロープデータ・バス要求EEVB)があった場合、第2バス33を使用しているバスマスタの残りのバスサイクル数が所定値以上であることを条件として、そのバスマスタのバス使用を中断させ、サウンドプロセッサ7にバス使用許可を与える。   Further, when the bus master other than the sound processor 7 uses the second bus 33, the state machine 155 receives a bus use request (wave data bus request EWAB or envelope data bus request EEVB) from the sound processor 7. If there is, the bus master of the bus master using the second bus 33 is interrupted on the condition that the number of remaining bus cycles is equal to or greater than a predetermined value, and the bus use permission is given to the sound processor 7.

従って、バスマスタに連続でバスサイクルを取得することによるメリットを与えながらも、サウンドプロセッサ7のような緊急度の高いバスマスタの迅速処理を図ることができる。詳しくは次の通りである。バスマスタに連続したバスサイクルの使用許可を与えることは、バス全体のデータスループットを高める効果を生むが、バスマスタがバス使用要求を発行してからバス使用許可を得るまでのレイテンシは大きくなる。バス使用要求からバス使用許可を得るまでを所定の時間内に完了しなければならない緊急度の高いバスマスタが存在する場合には、このようなレイテンシの増大はシステムの動作に問題を引き起こす場合がある。そこで、緊急度の高いバスマスタからのバス使用要求があり、かつ現在バスを使用しているバスマスタの残余のバスサイクル数が所定値以上の場合に、緊急度の高いバスマスタのバス使用を割り込ませることにより、スループットの増大を図りながらも、レイテンシ増大のデメリットを回避することができる。   Therefore, it is possible to perform rapid processing of a bus master having a high degree of urgency such as the sound processor 7 while giving the bus master the advantage of continuously acquiring bus cycles. Details are as follows. Giving the bus master permission to use successive bus cycles has the effect of increasing the data throughput of the entire bus, but the latency from when the bus master issues a bus use request until the bus use is granted increases. If there is an urgent bus master that must complete within a predetermined time from the bus use request to obtaining the bus use permission, such an increase in latency may cause a problem in the operation of the system. . Therefore, if there is a bus use request from a bus master with a high degree of urgency and the number of remaining bus cycles of the bus master that is currently using the bus exceeds a predetermined value, the bus use of the bus master with a high degree of urgency should be interrupted. Thus, it is possible to avoid the disadvantage of increased latency while increasing throughput.

このように、サウンドプロセッサ7のバス使用要求が優先されるので、オーディオ信号AUの出力に不連続が発生することを防止できる。   Thus, since the bus use request of the sound processor 7 is prioritized, it is possible to prevent the discontinuity in the output of the audio signal AU.

さらに、第1バスアービタ13は、第1バス使用要求要因ごとに調停を行い(図10参照)、第2バスアービタ14は、第2バス使用要求要因ごとに調停を行う(図14参照)。従って、次の効果を奏する。   Further, the first bus arbiter 13 performs arbitration for each first bus use request factor (see FIG. 10), and the second bus arbiter 14 performs arbitration for each second bus use request factor (see FIG. 14). Therefore, the following effects are produced.

バスマスタが複数のバス使用要求要因を有している場合において、バスアービタがバスマスタごとの調停のみを行う場合、各バスマスタ内にバス使用要求の調停を行う回路が必要になり、全体の回路規模が増加する。また、回路構成によっては、バス使用要求要因の調停のための時間的オーバーヘッドが発生する。本実施の形態のように、バスアービタ(第1バスアービタ13、第2バスアービタ14)がバス使用要求要因ごとの調停を行う場合、そのようなデメリットが発生しない。   If the bus master has multiple bus use request factors and the bus arbiter only performs arbitration for each bus master, a circuit for arbitrating bus use requests is required in each bus master, increasing the overall circuit scale To do. Further, depending on the circuit configuration, a time overhead for arbitrating the bus use request factor occurs. When the bus arbiter (the first bus arbiter 13 and the second bus arbiter 14) performs arbitration for each bus use request factor as in the present embodiment, such a disadvantage does not occur.

さらに、複数のバスマスタは、第2バス使用要求要因ごとに、異なるサイズを示すサイズ信号EIFS,ECDS,EPPS,EDSSを発行可能である(図19参照)。第1バス使用要求要因についても同様である。   Further, the plurality of bus masters can issue size signals EIFS, ECDS, EPPS, EDSS indicating different sizes for each second bus use request factor (see FIG. 19). The same applies to the first bus use request factor.

このように、バス使用要求要因ごとに、必要とするデータサイズに合わせて異なるサイズを示すサイズ信号を発行できるため、無駄なデータアクセスが減り、より一層の、バス使用効率の向上とバス使用要求に対する応答のレイテンシの短縮化を図ることができる。   In this way, a size signal indicating a different size according to the required data size can be issued for each bus use request factor, reducing unnecessary data access and further improving the bus use efficiency and bus use request. It is possible to shorten the latency of response to.

さらに、複数の優先順位情報セット(第1バスアービタ13に関しては図10の優先順位情報番号0〜3のいずれかを保持する16個の優先順位レジスタ300〜315、第2バスアービタ14に関しては図14の優先順位情報番号0〜3のいずれかを保持する8個の優先順位レジスタ200〜207)を順次的かつ巡回的に選択することにより、バスマスタへのバスサイクルの配分比率を制御できる。   Further, a plurality of priority information sets (16 priority registers 300 to 315 holding any of the priority information numbers 0 to 3 in FIG. 10 for the first bus arbiter 13, and FIG. 14 for the second bus arbiter 14 are shown in FIG. By sequentially and cyclically selecting the eight priority registers 200 to 207 that hold any one of the priority information numbers 0 to 3, the distribution ratio of the bus cycles to the bus master can be controlled.

さらに、CPU1が、レジスタ170〜172,180〜182に値を書き込むことで、1バスサイクル期間を設定できるため、各領域(第2バス第0領域、第2バス第1領域、第2バス第2領域)に対するバスサイクルの期間長を第2バス33に接続される外部メモリ45〜47の速度に応じて最適化できる。また、CPU1により1バスサイクル期間長を動的に変更することで、動作モードに応じた消費電力節減の効果も期待できる。   Furthermore, since the CPU 1 can set one bus cycle period by writing a value to the registers 170 to 172 and 180 to 182, each area (second bus 0th area, second bus first area, second bus first) The period length of the bus cycle with respect to (2 areas) can be optimized according to the speed of the external memories 45 to 47 connected to the second bus 33. In addition, by dynamically changing the length of one bus cycle period by the CPU 1, it is possible to expect an effect of saving power consumption according to the operation mode.

また、このようにして、CPU1が、ランダムアクセスサイクル数及びページアクセスサイクル数を動的に設定できるため、1バスサイクル期間を示すクロックサイクル数を、第2バス33に接続される外部メモリ45〜47のランダムアクセス速度およびページモード・アクセスでのページアクセス速度に応じて最適化できる。   In this way, since the CPU 1 can dynamically set the random access cycle number and the page access cycle number, the number of clock cycles indicating one bus cycle period is set to the external memory 45 to the second bus 33. 47 random access speeds and page access speeds in page mode access can be optimized.

さらに、ステートマシン155は、バス使用許可を得たバスマスタに与えられるバスサイクル数が「1」の場合には、バスサイクルとして、統一ランダムアクセスサイクル数CRCYを採用する。   Furthermore, when the number of bus cycles given to the bus master that has obtained the bus use permission is “1”, the state machine 155 adopts the unified random access cycle number CRCY as the bus cycle.

ここで、バスマスタに与えられるバスサイクル数が「1」の場合とは、最適バスサイクル数算出式で算出したNが1の場合であり、例えば、統一バス幅信号CBWが示すバス幅が2バイトの場合において、統一サイズ信号CSZが示すサイズが2バイトのとき、あるいは、統一バス幅信号CBWが示すバス幅が1バイトの場合において、統一サイズ信号CSZが示すサイズが1バイトのとき、等である。   Here, the case where the bus cycle number given to the bus master is “1” is a case where N calculated by the optimum bus cycle number calculation formula is 1, for example, the bus width indicated by the unified bus width signal CBW is 2 bytes. In the case where the size indicated by the unified size signal CSZ is 2 bytes, or when the bus width indicated by the unified bus width signal CBW is 1 byte, the size indicated by the unified size signal CSZ is 1 byte, etc. is there.

一方、ステートマシン155は、バス使用許可を得たバスマスタに与えられるバスサイクル数が「2」以上の場合には、先頭のバスサイクルでは、バスサイクルとして統一ランダムアクセスサイクル数CRCYを採用し、先頭以外のバスサイクルでは、第2バスアドレスEADが直前のバスサイクルの第2バスアドレスEADと同じページを指し示していれば、統一ページアクセスサイクル数CPCYを採用し、第2バスアドレスEADが直前のバスサイクルの第2バスアドレスEADと異なるページを指し示していれば、統一ランダムアクセスサイクル数CRCYを採用する。   On the other hand, the state machine 155 adopts the uniform random access cycle number CRCY as the bus cycle in the first bus cycle when the number of bus cycles given to the bus master that has obtained the bus use permission is “2” or more. In other bus cycles, if the second bus address EAD points to the same page as the second bus address EAD of the immediately preceding bus cycle, the uniform page access cycle number CPCY is adopted, and the second bus address EAD is the immediately preceding bus. If the page is different from the second bus address EAD of the cycle, the unified random access cycle number CRCY is adopted.

ここで、バスマスタに与えられるバスサイクル数が「2」以上の場合とは、最適バスサイクル数算出式で算出したNが2以上の場合であり、例えば、統一バス幅信号CBWが示すバス幅が2バイトの場合において、統一サイズ信号CSZが示すサイズが4バイトのとき、あるいは、統一バス幅信号CBWが示すバス幅が1バイトの場合において、統一サイズ信号CSZが示すサイズが2バイトのとき、等である。   Here, the case where the bus cycle number given to the bus master is “2” or more is a case where N calculated by the optimum bus cycle number calculation formula is 2 or more. For example, the bus width indicated by the unified bus width signal CBW is In the case of 2 bytes, when the size indicated by the unified size signal CSZ is 4 bytes, or when the bus width indicated by the unified bus width signal CBW is 1 byte, when the size indicated by the unified size signal CSZ is 2 bytes, Etc.

以上により、ページモード・アクセス機能を備える外部メモリ45〜47が第2バス33に接続されている場合に、バスサイクル期間長(バスサイクルあたりののクロック数)を最適化できる。   As described above, when the external memories 45 to 47 having the page mode access function are connected to the second bus 33, the bus cycle period length (the number of clocks per bus cycle) can be optimized.

さらに、CPU1が、レジスタ190〜192に値を設定することで、ページサイズを動的に設定できる。このため、接続される外部メモリ45〜47のページサイズに合致させることができる。   Further, the CPU 1 can dynamically set the page size by setting values in the registers 190 to 192. For this reason, it can be matched with the page size of the external memories 45 to 47 to be connected.

さらに、第2バス33のアドレス空間は3つの領域に分割され(図7参照)、データバス幅のバイト数W、ランダムアクセスサイクル数、ページアクセスサイクル数、及び、ページサイズは、レジスタ160〜162,170〜172,180〜182,190〜192に値を設定することで、3つの領域ごとに設定可能である。そして、アドレスデコーダ149は、プライオリティデコーダ142が選択したバスマスタが発行したアドレス情報A、つまり統一アドレスCADRが、3つの領域(第2バス第0領域、第2バス第1領域、第2バス第2領域)のいずれに相当するかを判別し、マルチプレクサ151〜153及びデコーダ154は、この判別結果に従って、3つの領域のいずれかを選択し、統一バス幅信号CBW、統一ランダムアクセスサイクル数信号CRCY、統一ページアクセスサイクル数信号CPCY、及び統一ページ境界信号CPBを、ステートマシン155に与える。   Further, the address space of the second bus 33 is divided into three areas (see FIG. 7), and the number of bytes W of the data bus width, the number of random access cycles, the number of page access cycles, and the page size are registered in registers 160 to 162. , 170 to 172, 180 to 182, and 190 to 192, the values can be set for each of the three areas. Then, the address decoder 149 has the address information A issued by the bus master selected by the priority decoder 142, that is, the unified address CADR, in three areas (second bus 0th area, second bus first area, second bus second). The multiplexers 151 to 153 and the decoder 154 select one of the three areas according to the determination result, and the unified bus width signal CBW, the unified random access cycle number signal CRCY, The unified page access cycle number signal CPCY and the unified page boundary signal CPB are supplied to the state machine 155.

ステートマシン155は、統一バス幅CBWが示すデータバスのバイト数Wに基づいて、最適バスサイクル数算出式からNを算出する。   The state machine 155 calculates N from the optimum bus cycle number calculation formula based on the number of bytes W of the data bus indicated by the unified bus width CBW.

従って、アドレス空間が複数の領域に分割され、領域ごとに異なるランダムアクセス速度、ページアクセス速度、ページサイズおよびデータバス幅を持つ外部メモリ45〜47が接続された場合において、第2バスアービタ14が、調停動作ごとに、アクセス対象の領域の設定に基づいて、ランダムアクセスサイクル数、ページアクセスサイクル数、ページサイズ、およびデータバス幅を切り替えることにより、バスサイクル期間長およびバスマスタに与えるバスサイクル数が最適化される。   Therefore, when the address space is divided into a plurality of areas and external memories 45 to 47 having different random access speed, page access speed, page size and data bus width are connected to each area, the second bus arbiter 14 is For each arbitration operation, the bus cycle period length and the number of bus cycles given to the bus master are optimized by switching the number of random access cycles, page access cycles, page size, and data bus width based on the setting of the area to be accessed. It becomes.

なお、本発明は、上記の実施の形態に限られるものではなく、その要旨を逸脱しない範囲で種々の態様において実施することが可能であり、例えば、以下のような変形も可能である。   The present invention is not limited to the above-described embodiment, and can be implemented in various modes without departing from the gist thereof. For example, the following modifications are possible.

(1)上記では、現世代のプロセッサ100においては、バス使用要求要因ごとにバス調停が行われた。ただし、現世代のプロセッサ100において、前世代のプロセッサ500と同様に、バスマスタごとにバス調停を行うこともできる。   (1) In the above, in the current generation processor 100, bus arbitration is performed for each bus use request factor. However, in the current generation processor 100, as in the previous generation processor 500, bus arbitration can be performed for each bus master.

この場合、現世代のプロセッサ100の第1バスアービタ13の優先順位情報セットにおける共通バスマスタ群のバスマスタ間の優先順位を、前世代のプロセッサ500の第1バスアービタ513の優先順位情報セットにおける共通バスマスタ群のバスマスタ間の優先順位と同じにする。同様に、現世代のプロセッサ100の第2バスアービタ14の優先順位情報セットにおける共通バスマスタ群のバスマスタ間の優先順位を、前世代のプロセッサ500の第2バスアービタ514の優先順位情報セットにおける共通バスマスタ群のバスマスタ間の優先順位と同じにする。   In this case, the priority among the bus masters of the common bus master group in the priority information set of the first bus arbiter 13 of the current generation processor 100 is set as the priority of the common bus master group in the priority information set of the first bus arbiter 513 of the previous generation processor 500. Same priority as bus masters. Similarly, the priority among the bus masters of the common bus master group in the priority information set of the second bus arbiter 14 of the current generation processor 100 is set to the priority of the common bus master group in the priority information set of the second bus arbiter 514 of the previous generation processor 500. Same priority as bus masters.

これにより、前世代のプロセッサ500に含まれるバスマスタに、さらに新たなバスマスタ(上記例では、ピクセルプロッタ5)を加えた現世代のプロセッサ100においても、前世代のプロセッサ500においても実行可能なソフトウェア(つまり、互換ソフトウェア)を正常に実行でき、バス調停に対する後方互換性が保持される。   As a result, software that can be executed in both the current generation processor 100 in which a new bus master (pixel plotter 5 in the above example) is added to the bus master included in the previous generation processor 500 and the previous generation processor 500 ( That is, compatible software) can be executed normally, and backward compatibility with respect to bus arbitration is maintained.

(2)現世代のプロセッサ100により実行された互換ソフトウェアが、図15に示した仮想の第0領域アクセスサイクル数レジスタの内容を書き換える操作を行ったときに、つまり、現世代のプロセッサ100により実行された互換ソフトウェアが、仮想の第0領域アクセスサイクル数レジスタが配置されるアドレスに対して書き込み動作を行ったときに、現世代のプロセッサ100の第0領域ランダムアクセスサイクル数レジスタ170及び第0領域ページアクセスサイクル数レジスタ180の双方の内容を、仮想の第0領域アクセスサイクル数レジスタの内容と同じになるように書き換えることもできる。   (2) When the compatible software executed by the current generation processor 100 performs an operation of rewriting the contents of the virtual 0th area access cycle number register shown in FIG. 15, that is, executed by the current generation processor 100 When the compatible software performs a write operation to the address where the virtual 0th area access cycle number register is arranged, the 0th area random access cycle number register 170 and the 0th area of the processor 100 of the current generation The contents of both page access cycle number registers 180 can be rewritten to be the same as the contents of the virtual 0th area access cycle number register.

同様に、現世代のプロセッサ100により実行された互換ソフトウェアが、図15に示した仮想の第1及び第2領域アクセスサイクル数レジスタの内容を書き換える操作を行ったときに、つまり、現世代のプロセッサ100により実行された互換ソフトウェアが、仮想の第1及び第2領域アクセスサイクル数レジスタが配置されるアドレスに対して書き込み動作を行ったときに、現世代のプロセッサ100の第1領域ランダムアクセスサイクル数レジスタ171及び第2領域ランダムアクセスサイクル数レジスタ172の双方の内容並びに、第1領域ページアクセスサイクル数レジスタ181及び第2領域ページアクセスサイクル数レジスタ182の双方の内容を、仮想の第1及び第2領域アクセスサイクル数レジスタの内容と同じになるように書き換えることもできる。但し、この場合、ランダムアクセスサイクル数レジスタに設定可能な値の範囲と、ページアクセスサイクル数レジスタに設定可能な値の範囲は、同じである必要がある。   Similarly, when the compatible software executed by the current generation processor 100 performs an operation of rewriting the contents of the virtual first and second area access cycle number registers shown in FIG. 15, that is, the current generation processor. When the compatible software executed by 100 performs a write operation on the address where the virtual first and second area access cycle number registers are arranged, the first area random access cycle number of the processor 100 of the current generation The contents of both the register 171 and the second area random access cycle number register 172 and the contents of both the first area page access cycle number register 181 and the second area page access cycle number register 182 are displayed in the virtual first and second areas. Same as the contents of the area access cycle number register It can also be rewritten to. However, in this case, the range of values that can be set in the random access cycle number register needs to be the same as the range of values that can be set in the page access cycle number register.

以上の結果、ランダムアクセスモードとページモードとが実質的に同じモードとなるため、前世代のプロセッサ500がランダムモードしかサポートしていない場合でも、前世代のプロセッサ500においても実行可能なソフトウェア(つまり、互換ソフトウェア)を正常に実行でき、アドレス領域へのアクセスモードに対する後方互換性が保持される。   As a result, since the random access mode and the page mode are substantially the same mode, even if the previous generation processor 500 supports only the random mode, software that can be executed in the previous generation processor 500 (that is, , Compatible software) can be executed normally, and the backward compatibility for the access mode to the address area is maintained.

(3)上記では、現世代のプロセッサ100のアドレス空間において、仮想の第0領域アクセスサイクル数レジスタ及び仮想の第1及び第2領域アクセスサイクル数レジスタが、前世代のプロセッサ500の対応するレジスタのアドレスにマッピングされている。しかし、このような仮想のレジスタを用いることなく、現世代のプロセッサ100のレジスタを、アドレス空間にマッピングすることも可能である。   (3) In the above, in the address space of the current generation processor 100, the virtual 0th area access cycle number register and the virtual 1st and 2nd area access cycle number registers are the corresponding registers of the previous generation processor 500. It is mapped to an address. However, it is possible to map the registers of the current generation processor 100 to the address space without using such virtual registers.

図22は、図1の第2バスアービタ14に備えられ、現世代のプロセッサ100の論理アドレス空間に、図15に示されたアドレスとは別のアドレスにマッピングされたハードウェア制御レジスタの一覧を示す図である。図22に示すように、現世代のプロセッサ100の第0領域ランダムアクセスサイクル数レジスタに割り当てられたアドレスは、前世代のプロセッサ500の第0領域アクセスサイクル数レジスタに割り当てられたアドレスと同一である。同様に、現世代のプロセッサ100の第1領域ランダムアクセスサイクル数レジスタに割り当てられたアドレスは、前世代のプロセッサ500の第1及び第2領域アクセスサイクル数レジスタに割り当てられたアドレスと同一である。   FIG. 22 shows a list of hardware control registers provided in the second bus arbiter 14 of FIG. 1 and mapped to an address different from the address shown in FIG. 15 in the logical address space of the processor 100 of the current generation. FIG. As shown in FIG. 22, the address assigned to the 0th area random access cycle number register of the current generation processor 100 is the same as the address assigned to the 0th area access cycle number register of the processor 500 of the previous generation. . Similarly, the address assigned to the first area random access cycle number register of the current generation processor 100 is the same as the address assigned to the first and second area access cycle number registers of the previous generation processor 500.

これにより、前世代のプロセッサ500においても実行可能なソフトウェア(つまり、互換ソフトウェア)が、現世代のプロセッサ100上で実行され、第0領域アクセスサイクル数レジスタにアクセスする命令を実行した場合、現世代のプロセッサ100の第0領域ランダムアクセスサイクル数レジスタがアクセスされる。現世代のプロセッサ100の第0領域ランダムアクセスサイクル数レジスタは、互換ソフトウェアの実行において、前世代のプロセッサ500の第0領域アクセスサイクル数レジスタとして機能するので、互換性の保持に問題は生じない。また、互換ソフトウェアが、現世代のプロセッサ100上で実行され、第1及び第2領域アクセスサイクル数レジスタにアクセスする命令を実行した場合、現世代のプロセッサ100の第1領域ランダムアクセスサイクル数レジスタがアクセスされる。ここで、現世代のプロセッサ100において、第1及び第2領域アクセスサイクル数レジスタを書き換える命令が実行された場合、第1領域ランダムアクセスサイクル数レジスタだけではなく、第2領域ランダムアクセスサイクル数レジスタも書き換えられなければならない。   Thus, when software that can be executed in the previous generation processor 500 (that is, compatible software) is executed on the current generation processor 100 and an instruction for accessing the 0th area access cycle number register is executed, the current generation The 0th area random access cycle number register of the processor 100 is accessed. Since the 0th area random access cycle number register of the current generation processor 100 functions as the 0th area access cycle number register of the previous generation processor 500 in the execution of the compatible software, there is no problem in maintaining compatibility. When the compatible software is executed on the current generation processor 100 and executes an instruction to access the first and second area access cycle number registers, the first area random access cycle number register of the current generation processor 100 is Accessed. Here, in the current generation processor 100, when an instruction to rewrite the first and second area access cycle number registers is executed, not only the first area random access cycle number register but also the second area random access cycle number register Must be rewritten.

従って、現世代のプロセッサ100は、現在実行中のソフトウェアが、互換ソフトウェアか非互換ソフトウェアかによって、この命令が実行された場合に行われる処理を変える必要がある。互換ソフトウェアが実行中であれば、現世代のプロセッサ100は、第1領域ランダムアクセスサイクル数レジスタを書き換える命令(つまり、第1及び第2領域アクセスサイクル数レジスタを書き換える命令)を実行する場合、第2領域ランダムアクセスサイクル数レジスタも書き換えて、第1領域ランダムアクセスサイクル数レジスタと同期させる。又、非互換ソフトウェアが実行中であれば、現世代のプロセッサ100は、第1領域ランダムアクセスサイクル数レジスタを書き換える命令を実行する場合、第1領域ランダムアクセスサイクル数レジスタのみを書き換える。一つの実装では、現世代のプロセッサ100は、互換ソフトウェアが実行中であることを示す互換モードと、非互換ソフトウェアが実行中であることを示す非互換モードの2つの実行モードを持ち、互換モードが初期モードとなっている。非互換ソフトウェアは、スタートアップルーチンで非互換モードへ切り換える命令を実行する。 Therefore, the current generation processor 100 needs to change the processing performed when this instruction is executed depending on whether the currently executed software is compatible software or incompatible software. If the compatible software is being executed, the current generation processor 100 executes the instruction to rewrite the first area random access cycle number register (that is, the instruction to rewrite the first and second area access cycle number registers). The two-region random access cycle number register is also rewritten and synchronized with the first region random access cycle number register. If incompatible software is being executed, the current generation processor 100 rewrites only the first area random access cycle number register when executing an instruction to rewrite the first area random access cycle number register. In one implementation, the current generation processor 100 has two execution modes, a compatible mode indicating that compatible software is being executed and an incompatible mode indicating that incompatible software is being executed. Is the initial mode. The incompatible software executes an instruction to switch to the incompatible mode in the startup routine.

あるいは、互換モードと非互換モードの切り替え機能を、制御レジスタを利用することによって実装することも可能である。   Alternatively, the switching function between the compatible mode and the incompatible mode can be implemented by using a control register.

前述した実施例の説明は、例示説明の目的のために提示された。それは、説明された厳密な形式に発明を限定することを意図しておらず、上記教示を踏まえた変形が可能である。実施例は、発明の原理を最も明瞭に説明するために選択され、それによって当業者は、その現実的な適用が可能になり、意図された特定使用に向けられた様々な変形と形態で発明を最も効果的に利用することができる。   The foregoing description of the embodiments has been presented for purposes of illustration. It is not intended to limit the invention to the precise form described, and variations on the above teachings are possible. The embodiments have been chosen to most clearly explain the principles of the invention, thereby enabling those skilled in the art to make practical application thereof and invent in various variations and forms directed to the intended specific use. Can be used most effectively.

付随する図面を使用した好ましい実施例の下記説明を参照することによって、本発明の前述の及び他の特徴と目的並びにそれらの達成方法は、より明らかになり、そして、その発明そのものも、最も良く理解できるであろう。
図1は、本発明の実施の形態によるデータ処理装置としての現世代のプロセッサ100の全体構成を示すブロック図である。 図2Aは、図1に示した現世代のプロセッサ100に実装された8ビットキャラクタ番号モードの説明図である。図2Bは、図1に示した現世代のプロセッサ100に実装された16ビットキャラクタ番号モードの説明図である。図2Cは、図1に示した現世代のプロセッサ100に実装されたアラインメント付き16ビットポインタモードの説明図である。 図3Aは、図1に示した現世代のプロセッサ100に実装された16ビットアドレスポインタモードの説明図である。図3Bは、図1に示した現世代のプロセッサ100に実装された24ビットアドレスポインタモードの説明図である。 図4Aは、図1に示した現世代のプロセッサ100に実装された16ビット拡張キャラクタ番号モードの説明図である。図4Bは、図1に示した現世代のプロセッサ100に実装された16ビット拡張アドレスポインタモードの説明図である。図4Cは、図1に示した現世代のプロセッサ100に実装されたアラインメント付き24ビットポインタモードの説明図である。 図5は、本発明の実施の形態によるデータ処理装置としての前世代のプロセッサ500の全体構成を示すブロック図である。 図6は、図5に示した前世代のプロセッサの論理アドレス空間の説明図である。 図7は、図1に示した現世代のプロセッサの論理アドレス空間の説明図である。 図8は、図5の第1バスアービタ513が有する優先順位テーブルの例示図である。 図9は、図5の第1バスアービタ513が備えるハードウェア制御レジスタの一覧を示す図である。 図10は、図1の第1バスアービタ13が有する優先順位テーブルの例示図である。 図11は、図1の第1バスアービタ13が備えるハードウェア制御レジスタの一覧を示す図である。 図12は、図5の第2バスアービタ514が有する優先順位テーブルの例示図である。 図13は、図5の第2バスアービタ514が備えるハードウェア制御レジスタの一覧を示す図である。 図14は、図1の第2バスアービタ14が有する優先順位テーブルの例示図である。 図15は、図1の第2バスアービタ14が備えるハードウェア制御レジスタの一覧を示す図である。 図16は、図1の第1バスアービタ13に対する入出力信号の説明図である。 図17は、図16の第1バスアービタ13の内部構成を示すブロック図である。 図18は、図1の第2バスアービタ14に対する入出力信号の説明図である。 図19は、図1に示した現世代のプロセッサ100に実装された第2バス使用要求要因ごとの要求サイズの例示図である。 図20は、図18の第2バスアービタ14の内部構成を示すブロック図である。 図21は、図20のステートマシン155における状態遷移の説明図である。 図22は、図1の第2バスアービタ14に備えられ、現世代のプロセッサ100の論理アドレス空間に、図15に示されたアドレスとは別のアドレスにマッピングされたハードウェア制御レジスタの一覧を示す図である。
The foregoing and other features and objects of the invention and the manner in which they are accomplished will become more apparent and the invention itself will best be understood by reference to the following description of a preferred embodiment using the accompanying drawings. You can understand.
FIG. 1 is a block diagram showing an overall configuration of a current generation processor 100 as a data processing apparatus according to an embodiment of the present invention. FIG. 2A is an explanatory diagram of an 8-bit character number mode implemented in the current generation processor 100 shown in FIG. FIG. 2B is an explanatory diagram of a 16-bit character number mode implemented in the current generation processor 100 shown in FIG. FIG. 2C is an explanatory diagram of the aligned 16-bit pointer mode implemented in the current generation processor 100 shown in FIG. FIG. 3A is an explanatory diagram of the 16-bit address pointer mode implemented in the current generation processor 100 shown in FIG. FIG. 3B is an explanatory diagram of the 24-bit address pointer mode implemented in the current generation processor 100 shown in FIG. FIG. 4A is an explanatory diagram of the 16-bit extended character number mode implemented in the current generation processor 100 shown in FIG. FIG. 4B is an explanatory diagram of a 16-bit extended address pointer mode implemented in the current generation processor 100 shown in FIG. FIG. 4C is an explanatory diagram of a 24-bit pointer mode with alignment implemented in the current generation processor 100 shown in FIG. FIG. 5 is a block diagram showing the overall configuration of the previous generation processor 500 as the data processing apparatus according to the embodiment of the present invention. FIG. 6 is an explanatory diagram of the logical address space of the previous generation processor shown in FIG. FIG. 7 is an explanatory diagram of the logical address space of the current generation processor shown in FIG. FIG. 8 is a view for showing an example of a priority table included in the first bus arbiter 513 of FIG. FIG. 9 is a diagram showing a list of hardware control registers provided in the first bus arbiter 513 of FIG. FIG. 10 is a view for showing an example of a priority table included in the first bus arbiter 13 of FIG. FIG. 11 is a diagram showing a list of hardware control registers included in the first bus arbiter 13 of FIG. FIG. 12 is a view for showing an example of a priority table included in the second bus arbiter 514 of FIG. FIG. 13 is a diagram showing a list of hardware control registers included in the second bus arbiter 514 of FIG. FIG. 14 is a view showing an example of a priority table that the second bus arbiter 14 of FIG. 1 has. FIG. 15 is a diagram showing a list of hardware control registers provided in the second bus arbiter 14 of FIG. FIG. 16 is an explanatory diagram of input / output signals for the first bus arbiter 13 of FIG. FIG. 17 is a block diagram showing an internal configuration of the first bus arbiter 13 of FIG. FIG. 18 is an explanatory diagram of input / output signals for the second bus arbiter 14 of FIG. FIG. 19 is a view showing an example of a request size for each second bus use request factor implemented in the current generation processor 100 shown in FIG. FIG. 20 is a block diagram showing an internal configuration of the second bus arbiter 14 of FIG. FIG. 21 is an explanatory diagram of state transitions in the state machine 155 of FIG. FIG. 22 shows a list of hardware control registers provided in the second bus arbiter 14 of FIG. 1 and mapped to an address different from the address shown in FIG. 15 in the logical address space of the processor 100 of the current generation. FIG.

Claims (10)

所定数(2以上)のバスマスタからなる第1のバスマスタ群と、前記第1のバスマスタ群に含まれる前記バスマスタ間の優先順位を定めた第1の優先順位情報に従いバス調停を行う第1のバス調停手段と、を含む所定の別のデータ処理装置が実行可能なソフトウェア、及び前記所定の別のデータ処理装置が実行できないソフトウェアのいずれのソフトウェアも実行可能なデータ処理装置であって、
前記第1のバスマスタ群の前記バスマスタにそれぞれ対応するバスマスタを含み、かつ、更に1または複数のバスマスタを加えた第2のバスマスタ群と、
前記第2のバスマスタ群に含まれる前記バスマスタ間の優先順位を定めた第2の優先順位情報に従いバス調停を行う第2のバス調停手段と、を備え、
前記第2の優先順位情報における前記第1のバスマスタ群の前記バスマスタに対応する前記バスマスタ間の優先順位は、前記第1優先順位情報と同じである、データ処理装置。
A first bus master group composed of a predetermined number (two or more) of bus masters and a first bus that performs bus arbitration according to first priority information that defines priorities among the bus masters included in the first bus master group A data processing apparatus capable of executing any of software that can be executed by another predetermined data processing apparatus including arbitration means and software that cannot be executed by the predetermined other data processing apparatus,
A second bus master group including bus masters respectively corresponding to the bus masters of the first bus master group, and further adding one or more bus masters;
Second bus arbitration means for performing bus arbitration in accordance with second priority information that defines priorities among the bus masters included in the second bus master group;
The data processing device, wherein a priority order among the bus masters corresponding to the bus masters of the first bus master group in the second priority order information is the same as the first priority order information.
所定数(2以上)のバスマスタからなる第1のバスマスタ群と、前記第1のバスマスタ群に含まれる前記バスマスタ間の優先順位を定めた第1の優先順位情報に従いバス調停を行う第1のバス調停手段と、を含む所定の別のデータ処理装置が実行可能なソフトウェア、及び前記所定の別のデータ処理装置が実行できないソフトウェアのいずれのソフトウェアも実行可能なデータ処理装置であって、
前記第1のバスマスタ群に含まれる前記バスマスタにそれぞれ対応し、バスマスタ毎に1または複数存在するバス使用要求要因毎にバス使用の要求を行うバスマスタを含む第2のバスマスタ群と、
前記第2のバスマスタ群に含まれる全てのバスマスタのバス使用要求要因間の優先順位を定めた第2の優先順位情報に従いバス調停を行う第2のバス調停手段と、を備え、
前記第2の優先順位情報では、1つの前記バスマスタに複数のバス使用要求要因が含まれる場合には、当該複数のバス使用要求要因に連続した優先順位が割り当てられ、
前記第2の優先順位情報における前記バスマスタ間の優先順位は、前記第1の優先順位情報における対応する前記バスマスタ間の優先順位と同じである、データ処理装置。
A first bus master group composed of a predetermined number (two or more) of bus masters and a first bus that performs bus arbitration according to first priority information that defines priorities among the bus masters included in the first bus master group A data processing apparatus capable of executing any of software that can be executed by another predetermined data processing apparatus including arbitration means and software that cannot be executed by the predetermined other data processing apparatus,
A second bus master group including a bus master that corresponds to each of the bus masters included in the first bus master group and that requests bus use for each bus use request factor that exists for each bus master; and
Second bus arbitration means for performing bus arbitration according to second priority information that defines priorities among bus use request factors of all bus masters included in the second bus master group;
In the second priority information, when a plurality of bus use request factors are included in one bus master, consecutive priorities are assigned to the plurality of bus use request factors,
The data processing device, wherein the priority between the bus masters in the second priority information is the same as the priority between the corresponding bus masters in the first priority information.
所定のアドレス領域にアクセスする際のバスサイクル期間長を定める第1のバスサイクル期間長情報格納手段を含む所定の別のデータ処理装置が実行可能なソフトウェア、及び前記所定の別のデータ処理装置が実行できないソフトウェアのいずれのソフトウェアも実行可能なデータ処理装置であって、
前記データ処理装置によるアクセス対象としての前記所定のアドレス領域は複数の領域に分割され、
前記データ処理装置は、前記複数の領域にそれぞれ対応し、対応する前記領域にアクセスする際のバスサイクル期間長を定める複数の第2のバスサイクル期間長情報格納手段を備え、
前記データ処理装置により実行された、前記所定の別のデータ処理装置が実行可能な前記ソフトウェアが、前記第1のバスサイクル期間長情報格納手段の内容を書き換える操作を行ったときに、全ての前記第2のバスサイクル期間長情報格納手段の内容が前記第1のバスサイクル期間長情報格納手段の内容と同等になるように書き換えられる、データ処理装置。
Software that can be executed by a predetermined other data processing apparatus including a first bus cycle period length information storage unit that determines a bus cycle period length when accessing a predetermined address area, and the predetermined other data processing apparatus A data processing device capable of executing any software that cannot be executed,
The predetermined address area as an access target by the data processing device is divided into a plurality of areas,
The data processing apparatus includes a plurality of second bus cycle period length information storage units that respectively correspond to the plurality of areas and determine a bus cycle period length when accessing the corresponding area.
When the software executed by the data processing apparatus and executable by the predetermined other data processing apparatus performs an operation of rewriting the contents of the first bus cycle period length information storage means, A data processing apparatus, wherein the content of the second bus cycle period length information storage means is rewritten so as to be equivalent to the content of the first bus cycle period length information storage means.
所定のアドレス領域にアクセスする際のバスサイクル期間長を定める第1のバスサイクル期間長情報格納手段を含む所定の別のデータ処理装置が実行可能なソフトウェア、及び前記所定の別のデータ処理装置が実行できないソフトウェアのいずれのソフトウェアも実行可能なデータ処理装置であって、
前記所定のアドレス領域に第1のアクセスモードでアクセスする際のバスサイクル期間長を定める第2のバスサイクル期間長情報格納手段と、
前記所定のアドレス領域に第2のアクセスモードでアクセスする際のバスサイクル期間長を定める第3のバスサイクル期間長情報格納手段と、を備え、
前記データ処理装置により実行された、前記所定の別のデータ処理装置が実行可能な前記ソフトウェアが、前記第1のバスサイクル期間長情報格納手段の内容を書き換える操作を行ったときに、前記第2のバスサイクル期間長情報格納手段の内容と前記第3のバスサイクル期間長情報格納手段の内容とが前記第1のバスサイクル期間長情報格納手段の内容と同等になるように書き換えられる、データ処理装置。
Software that can be executed by a predetermined other data processing apparatus including a first bus cycle period length information storage unit that determines a bus cycle period length when accessing a predetermined address area, and the predetermined other data processing apparatus A data processing device capable of executing any software that cannot be executed,
Second bus cycle period length information storage means for determining a bus cycle period length when accessing the predetermined address area in the first access mode;
A third bus cycle period length information storing means for determining a bus cycle period length when accessing the predetermined address area in the second access mode,
When the software that can be executed by the predetermined other data processing apparatus executed by the data processing apparatus performs an operation of rewriting the contents of the first bus cycle period length information storage unit, the second Data processing in which the contents of the bus cycle period length information storage means and the contents of the third bus cycle period length information storage means are rewritten to be equivalent to the contents of the first bus cycle period length information storage means apparatus.
所定のアドレス領域にアクセスする際のバスサイクル期間長を定める第1のバスサイクル期間長情報格納手段を含む所定の別のデータ処理装置が実行可能なソフトウェア、及び前記所定の別のデータ処理装置が実行できないソフトウェアのいずれのソフトウェアも実行可能なデータ処理装置であって、
前記所定のアドレス領域にランダムアクセスモードでアクセスする際のバスサイクル期間長を定める第2のバスサイクル期間長情報格納手段と、
前記所定のアドレス領域にページモードでアクセスする際のバスサイクル期間長を定める第3のバスサイクル期間長情報格納手段と、
前記ページモードにおける1ページのサイズを定めるページサイズ情報格納手段と、を備え、
前記データ処理装置により実行された、前記所定の別のデータ処理装置が実行可能な前記ソフトウェアが、前記第1のバスサイクル期間長情報格納手段の内容を書き換える操作を行ったときに、前記第2のバスサイクル期間長情報格納手段の内容が前記第1のバスサイクル期間長情報格納手段の内容と同等になるように書き換えられ、かつ、前記ページサイズ情報格納手段が示す1ページのサイズが前記ページモードを無効とする値に書き換えられる、データ処理装置。
Software that can be executed by a predetermined other data processing apparatus including a first bus cycle period length information storage unit that determines a bus cycle period length when accessing a predetermined address area, and the predetermined other data processing apparatus A data processing device capable of executing any software that cannot be executed,
Second bus cycle period length information storage means for determining a bus cycle period length when accessing the predetermined address area in a random access mode;
Third bus cycle period length information storage means for determining a bus cycle period length when accessing the predetermined address area in the page mode;
Page size information storage means for determining the size of one page in the page mode,
When the software that can be executed by the predetermined other data processing apparatus executed by the data processing apparatus performs an operation of rewriting the contents of the first bus cycle period length information storage unit, the second The bus cycle period length information storage means is rewritten so that the contents of the first bus cycle period length information storage means are equivalent to the contents of the first bus cycle period length information storage means, and the size of one page indicated by the page size information storage means is the page. A data processing device that can be rewritten to a value that invalidates the mode.
所定のアドレス領域にアクセスする際のバスサイクル期間長を定める第1のバスサイクル期間長情報格納手段を含む所定の別のデータ処理装置が実行可能なソフトウェア、及び前記所定の別のデータ処理装置が実行できないソフトウェアのいずれのソフトウェアも実行可能なデータ処理装置であって、
前記データ処理装置によるアクセス対象としての前記所定のアドレス領域は複数の領域に分割され、
前記データ処理装置は、
前記複数の領域にそれぞれ対応し、対応する前記領域にランダムアクセスモードでアクセスする際のバスサイクル期間長を定める複数の第2のバスサイクル期間長情報格納手段と、
前記複数の領域にそれぞれ対応し、対応する前記領域にページモードでアクセスする際のバスサイクル期間長を定める複数の第3のバスサイクル期間長情報格納手段と、
前記複数の領域にそれぞれ対応し、前記ページモードにおける1ページのサイズを定める複数のページサイズ情報格納手段と、を備え、
前記データ処理装置により実行された、前記所定の別のデータ処理装置が実行可能な前記ソフトウェアが、前記第1のバスサイクル期間長情報格納手段の内容を書き換える操作を行ったときに、全ての前記第2のバスサイクル期間長情報格納手段の内容が前記第1のバスサイクル期間長情報格納手段の内容と同等になるように書き換えられ、かつ、全ての前記ページサイズ情報格納手段が示す1ページのサイズが前記ページモードを無効とする値に書き換えられる、データ処理装置。
Software that can be executed by a predetermined other data processing apparatus including a first bus cycle period length information storage unit that determines a bus cycle period length when accessing a predetermined address area, and the predetermined other data processing apparatus A data processing device capable of executing any software that cannot be executed,
The predetermined address area as an access target by the data processing device is divided into a plurality of areas,
The data processing device includes:
A plurality of second bus cycle period length information storage means that respectively correspond to the plurality of areas and determine a bus cycle period length when accessing the corresponding areas in a random access mode;
A plurality of third bus cycle period length information storage means that respectively correspond to the plurality of areas and determine a bus cycle period length when accessing the corresponding area in a page mode;
A plurality of page size information storage means that respectively correspond to the plurality of areas and determine the size of one page in the page mode,
When the software executed by the data processing apparatus and executable by the predetermined other data processing apparatus performs an operation of rewriting the contents of the first bus cycle period length information storage means, The contents of the second bus cycle period length information storage means are rewritten so as to be equivalent to the contents of the first bus cycle period length information storage means, and one page indicated by all the page size information storage means A data processing apparatus, wherein the size is rewritten to a value that invalidates the page mode.
論理アドレス空間がP(Pは1以上の整数)ビットのアドレス情報で示されるとともに、第1のバスマスタと第2のバスマスタとを含む所定の別のデータ処理装置が実行可能なソフトウェア、及び前記所定の別のデータ処理装置が実行できないソフトウェアのいずれのソフトウェアも実行可能なデータ処理装置であって、
前記データ処理装置の論理アドレス空間は、Q(QはPより大きい2以上の整数)ビットのアドレス情報で示され、Qビットのアドレス情報のうちの上位(Q−P)ビットが「0」を示す第1のアドレス空間と、それ以外の空間全てを含む第2のアドレス空間とに分割され、
前記データ処理装置は、
前記第1のバスマスタと同じ機能を有し、前記第1のアドレス空間にのみアクセス可能である第3バスマスタと、
前記第2のバスマスタと同じ機能を有するとともに、前記第1のアドレス空間及び前記第2のアドレス空間の双方にアクセス可能な追加機能を有する第4バスマスタと、
前記第1のバスマスタ及び前記第2のバスマスタと異なる機能を有し、前記第1のアドレス空間及び前記第2のアドレス空間の双方にアクセス可能な機能を有する第5バスマスタと、を備えたデータ処理装置。
The logical address space is indicated by P (P is an integer of 1 or more) bits of address information, and software that can be executed by another predetermined data processing device including a first bus master and a second bus master, and the predetermined A data processing apparatus capable of executing any of the software that cannot be executed by another data processing apparatus,
The logical address space of the data processing apparatus is indicated by Q (Q is an integer greater than or equal to 2) bits, and the upper (QP) bits of the Q bit address information are “0”. Divided into a first address space shown and a second address space including all other spaces,
The data processing device includes:
A third bus master having the same function as the first bus master and capable of accessing only the first address space;
A fourth bus master having the same function as the second bus master and having an additional function capable of accessing both the first address space and the second address space;
Data processing comprising: a fifth bus master having a function different from that of the first bus master and the second bus master and having a function of accessing both the first address space and the second address space apparatus.
前世代のプロセッサで実行可能なソフトウェアが実行可能な互換プロセッサであって、
前記前世代のプロセッサの前世代のバスマスタの夫々と互換性を有する複数の互換バスマスタと、
前記互換バスマスタが発行したバス使用の要求を調停する互換バス調停手段と、を備え、
前世代のプロセッサで実行可能なソフトウェアのいずれであっても、前記互換プロセッサ内で前記ソフトウェアの実行中に前記互換バスマスタが発行したバス使用の要求は、前記前世代のプロセッサ内で前記ソフトウェアの実行中に前記バスマスタが発行したバス使用の要求と、同一の優先順位で受け付けられる、互換プロセッサ。
A compatible processor that can run software that can run on previous generation processors,
A plurality of compatible bus masters compatible with each of the previous generation bus masters of the previous generation processor;
A compatible bus arbitrating means for arbitrating a request for bus use issued by the compatible bus master,
In any software that can be executed by the previous generation processor, the bus use request issued by the compatible bus master during the execution of the software in the compatible processor is executed by the execution of the software in the previous generation processor. A compatible processor that accepts a bus use request issued by the bus master in the same priority order.
データを処理する演算論理回路と、データ処理動作を制御する物理制御レジスタを備えたプロセッサであって、
仮想のレジスタが、前記プロセッサのアドレス空間のアドレスへこの仮想のレジスタをマッピングすることにより定義され、
前記プロセッサで実行可能なソフトウェアの構成において、前記仮想のレジスタのアドレスに値を書き込む命令は、一定の機能を有し、
前記プロセッサのアドレス空間のアドレスに前記物理制御レジスタがマッピングされ、前記物理制御レジスタのアドレスは、前記仮想のレジスタのアドレスとは異なっており、前記物理制御レジスタは、前記一定の機能と同等の機能を、前記プロセッサのハードウェアにおいて提供し、
前記仮想のレジスタのアドレスに値を書き込む前記命令が実行された場合、対応する値が、前記物理制御レジスタに書き込まれる、プロセッサ。
A processor having an arithmetic logic circuit for processing data and a physical control register for controlling a data processing operation;
A virtual register is defined by mapping this virtual register to an address in the processor's address space;
In the software configuration executable by the processor, the instruction to write a value to the virtual register address has a certain function,
The physical control register is mapped to an address in the processor address space, the physical control register address is different from the virtual register address, and the physical control register has a function equivalent to the certain function. In the hardware of the processor,
A processor wherein, when the instruction to write a value to an address of the virtual register is executed, a corresponding value is written to the physical control register.
前世代のプロセッサで実行可能なソフトウェアが実行可能な互換プロセッサであって、
前記互換プロセッサにおいて、バス使用要求は、複数の要因に基づいて発行され、これら複数の要因間の優先順位に基づいて受け付けられ、
前記前世代のプロセッサ内においても、前記前世代のプロセッサで発行されるバスの使用要求は、複数の要因に基づいて発行され、これら複数の要因間の優先順位に基いて受け付けられ、又、前記前世代のプロセッサのこれら複数の要因は、前記ソフトウェアの実行中のバスの使用要求に関して、前記互換プロセッサの複数の要因の実質的なサブセットとなっており、
前記互換プロセッサの複数の要因の前記サブセット内での優先順位は、前記前世代のプロセッサにおける複数の要因の間での優先順位と同一である、互換プロセッサ。
A compatible processor that can run software that can run on previous generation processors,
In the compatible processor, the bus use request is issued based on a plurality of factors, and is accepted based on a priority order among the plurality of factors.
Even in the previous generation processor, a bus use request issued by the previous generation processor is issued based on a plurality of factors, and is accepted based on a priority order among the plurality of factors. These multiple factors of the previous generation processor are a substantial subset of the multiple factors of the compatible processor with respect to bus usage requirements during execution of the software,
A compatible processor in which the priorities within the subset of factors of the compatible processor are the same as the priorities among the factors in the previous generation processor.
JP2007518854A 2004-07-02 2005-06-30 Data processing device and compatible processor Withdrawn JP2008505386A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004196265 2004-07-02
PCT/JP2005/012516 WO2006004166A1 (en) 2004-07-02 2005-06-30 Data processing unit and compatible processor

Publications (1)

Publication Number Publication Date
JP2008505386A true JP2008505386A (en) 2008-02-21

Family

ID=35782967

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007518854A Withdrawn JP2008505386A (en) 2004-07-02 2005-06-30 Data processing device and compatible processor

Country Status (2)

Country Link
JP (1) JP2008505386A (en)
WO (1) WO2006004166A1 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7957173B2 (en) 2008-10-14 2011-06-07 Mosaid Technologies Incorporated Composite memory having a bridging device for connecting discrete memory devices to a system
US8134852B2 (en) 2008-10-14 2012-03-13 Mosaid Technologies Incorporated Bridge device architecture for connecting discrete memory devices to a system
US8549209B2 (en) 2008-11-04 2013-10-01 Mosaid Technologies Incorporated Bridging device having a configurable virtual page size
CN116680230B (en) * 2023-05-22 2024-04-09 无锡麟聚半导体科技有限公司 Hardware acceleration circuit and chip

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07334372A (en) * 1993-12-24 1995-12-22 Seiko Epson Corp System and method for emulation
JP3324301B2 (en) * 1994-11-09 2002-09-17 株式会社リコー DRAM access control circuit and image processing apparatus using the same
JPH09185582A (en) * 1995-12-29 1997-07-15 Nec Corp Clock control system and its method for local bus

Also Published As

Publication number Publication date
WO2006004166A8 (en) 2010-09-02
WO2006004166A1 (en) 2006-01-12

Similar Documents

Publication Publication Date Title
JP4696225B2 (en) Data processing device and bus arbitration device
JP5149311B2 (en) On-demand multi-threaded multimedia processor
EP2549382B1 (en) Virtual GPU
US8904068B2 (en) Virtual memory structure for coprocessors having memory allocation limitations
US10037228B2 (en) Efficient memory virtualization in multi-threaded processing units
US9442755B2 (en) System and method for hardware scheduling of indexed barriers
US8639882B2 (en) Methods and apparatus for source operand collector caching
US9710306B2 (en) Methods and apparatus for auto-throttling encapsulated compute tasks
US10169091B2 (en) Efficient memory virtualization in multi-threaded processing units
US9430242B2 (en) Throttling instruction issue rate based on updated moving average to avoid surges in DI/DT
US20140109102A1 (en) Technique for improving performance in multi-threaded processing units
US9189242B2 (en) Credit-based streaming multiprocessor warp scheduling
US9921873B2 (en) Controlling work distribution for processing tasks
US20140122829A1 (en) Efficient memory virtualization in multi-threaded processing units
EP1846829B1 (en) Method and apparatus for address translation from an external device to a memory of a processor
US9448803B2 (en) System and method for hardware scheduling of conditional barriers and impatient barriers
US8850436B2 (en) Opcode-specified predicatable warp post-synchronization
US9798543B2 (en) Fast mapping table register file allocation algorithm for SIMT processors
US20130166882A1 (en) Methods and apparatus for scheduling instructions without instruction decode
US9798544B2 (en) Reordering buffer for memory access locality
JP2008505386A (en) Data processing device and compatible processor
US9262348B2 (en) Memory bandwidth reallocation for isochronous traffic
JP2008021040A (en) Bus master circuit, bus control method and computer program
TW202341063A (en) Dynamic wave pairing
JP2004013907A (en) High-speed processor

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080513

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20110701