WO1996001451A1 - Coprocessor system and auxiliary arithmetic function-carrying external memory - Google Patents

Coprocessor system and auxiliary arithmetic function-carrying external memory Download PDF

Info

Publication number
WO1996001451A1
WO1996001451A1 PCT/JP1995/001332 JP9501332W WO9601451A1 WO 1996001451 A1 WO1996001451 A1 WO 1996001451A1 JP 9501332 W JP9501332 W JP 9501332W WO 9601451 A1 WO9601451 A1 WO 9601451A1
Authority
WO
WIPO (PCT)
Prior art keywords
cpu
processor
program
signal
access
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.)
Ceased
Application number
PCT/JP1995/001332
Other languages
English (en)
French (fr)
Inventor
Toyofumi Takahashi
Toshio Tanaka
Hideaki Terakawa
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.)
Nintendo Co Ltd
Creative Design Inc
Original Assignee
Nintendo Co Ltd
Creative Design Inc
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 Nintendo Co Ltd, Creative Design Inc filed Critical Nintendo Co Ltd
Priority to EP95923579A priority Critical patent/EP0724220B1/en
Priority to DE69527932T priority patent/DE69527932T2/de
Priority to US08/605,041 priority patent/US6006319A/en
Publication of WO1996001451A1 publication Critical patent/WO1996001451A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction prefetching
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3867Concurrent instruction execution, e.g. pipeline or look ahead using instruction pipelines
    • G06F9/3869Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline or look ahead using a secondary processor, e.g. coprocessor
    • G06F9/3879Concurrent instruction execution, e.g. pipeline or look ahead using a secondary processor, e.g. coprocessor for non-native instruction execution, e.g. executing a command; for Java instruction set

Definitions

  • the present invention relates to a coprocessor system and an external memory device with an auxiliary arithmetic function. More specifically, according to the present invention, a program is stored in a memory of an external memory device, and the external memory device is detachably mounted on an information processing device such as a game machine or an image processing device.
  • the present invention relates to a coprocessor system and an external memory device with an auxiliary arithmetic function, in which a processor provided in a memory device cooperates with a processor provided in an information processing device.
  • the parallel processing device shown in Fig. 2 is powerful enough to be considered as a type of coprocessor system.
  • the necessary program is downloaded from the ROM 7 to the first RAM 8a or the second RAM 8b.
  • a common clock is provided from the clock generator 9 to the CPU 6a and the CPU 6b.
  • the CPU 6a or the CPU 6b individually (or synchronously) individually executes the programs stored in the corresponding RAM 8a or RAM 8b based on the same clock. That is, in the system of FIG. 2, instead of the two CPUs 8a and 8b directly accessing the ROM 7 and executing the program of the ROM 7 during the same machine cycle, the corresponding RAMs 8a and 8b are not used. Are not directly accessed by the two CPUs 6a and 6b during the same operation cycle because the program is temporarily transferred to the RAM 8a and 8b for direct processing (access). .
  • the conventional technology of FIG. 2 has the problem of (3) of the conventional technology of FIG. 1 and requires RAM 8a and RAM 8b, so that the number of components increases and the entire system becomes expensive. Becomes If RAM 8a and RAM 8b are used with a small storage capacity in order to reduce the cost, the program data in ROM 7 must be transferred frequently to the maximum storage capacity of RAM. , 6b, the program processing is frequently interrupted, the waiting time for data transfer increases, and the user must wait during that period, impeding the high-speed processing of the program. Summary of the Invention
  • a main object of the present invention is to provide a coprocessor system which can speed up as a whole without any restriction on a program.
  • Another object of the present invention is to provide an external memory device with an auxiliary processing function, which can speed up the operation of the information processing device as a whole without restriction on a program.
  • Still another object of the present invention is to enable two processors having the same architecture to use the program memory in common, and to execute the program in the program memory asynchronously and directly by the two processors.
  • An object of the present invention is to provide a coprocessor system and an external memory device with an auxiliary processing function, which can perform high-speed processing with a low-cost configuration without using a RAM for transferring a program.
  • An external memory device with an auxiliary arithmetic function comprises a first processor (18) for performing arithmetic processing in a first cycle time based on a program and a first port serving as a reference for a first cycle time.
  • An information processing device including first clock supply means (23, 25) for supplying a clock signal to the first processor, which is detachably attached to the information processing device, and is the same as the architecture of the first processor; and
  • a second processor (34) for performing arithmetic processing based on a program in a second cycle time shorter than the first cycle time, supplying a second clock signal serving as a reference for the second cycle time to the second processor;
  • a second computer supply means (23, 216) for accessing the second processor, enabling high-speed reading, and storing a program directly accessed by the first processor and the second processor.
  • signal SSYNC defines a first period and a second period. That is, the first period is when the signal SSYNC is at a high level, and the second period is when the signal SSYNC is at a low level.
  • the first port processor directly accesses the program memory and executes an arithmetic process according to the program data.
  • the second port sensor directly accesses the program memory, and executes the processing according to the program data. Since the first processor and the second processor are of the same architecture, they have program compatibility, and therefore, the mining process can be executed by directly accessing the program memory by both processors.
  • the RAM for downloading the program is not required, so that the price of the entire system is reduced.
  • the information processing apparatus which does not have the RAM for downloading the program has been advanced first. When it was released, the processing capacity could not be improved using the conventional technology. If an external memory device with functions is used, the information processing capability of the entire system can be improved at low cost.
  • FIG. 1 is a block diagram simply showing an example of the prior art
  • FIG. 2 is a block diagram simply showing another example of the prior art
  • FIG. 3 is a block diagram showing an embodiment of the present invention.
  • FIG. 4 is an illustrative view showing a memory map as viewed from the S-CPU of the embodiment of FIG. 3;
  • FIG. 5 is an illustrative view showing a memory map as viewed from C-CPU in the embodiment of FIG. 3;
  • FIG. 8 is a block diagram showing in detail another part of the coprocessor in the embodiment of FIG. 3;
  • FIG. 10 shows the state of accessing the M-ROM according to the embodiment of FIG. It is an illustrative view showing:
  • FIG. 11 is a block diagram showing in detail a B-RAM sequencer (I-RAM sequencer) in the embodiment of FIG. 7;
  • FIG. 12 is an illustrative view showing a state of accessing the B-RAM according to the embodiment of FIG. 11;
  • FIG. 14 is a block diagram showing SCPUIF in the embodiment of FIG. 0;
  • FIG. 15 is a block diagram showing in detail a part of the S CPU IF in the embodiment of FIG. 7;
  • FIG. 16 is a block diagram showing in detail another part of the S CPU IF in the embodiment of FIG. 7;
  • FIG. 17 is a block diagram showing in detail the clock generator in the embodiment of FIG. 7;
  • FIG. 18 is an illustrative view showing one example of each timing signal or a click signal generated by the clock generator in the FIG. 17 embodiment
  • FIG. 22 is a diagram showing the operation when the S-CPU interrupts the N-MI to the C-CPU in the embodiment
  • Figure 27 is an illustrative view showing the state of distributed processing of the system operating according to Figure 26;
  • FIG. 30 is a flowchart showing the operation in the proxy processing mode in the embodiment.
  • FIG. 31 is an illustrative view showing a state of the processing of the system operating according to FIG. 30, BEST MODE FOR CARRYING OUT THE INVENTION
  • the present invention is applied to a game system.
  • the present invention can be applied not only to game systems but also to image processing systems and other similar information processing systems.
  • a working RAM, W-RAM24, is coupled to S—CPU18.
  • the main body 12 also includes an oscillator 23, and an original clock signal Z21M of about 21 Hz from the oscillator 23 is supplied to a clock generator 25.
  • the clock generator 25 includes a frequency divider. The frequency of the original clock signal Z2 is divided by 8 by the frequency divider to generate a system clock signal SYSCK of about 2.68 MHz. Given to 8.
  • the original clock signal Z21M is supplied to a clock generator 2 16 of a power cartridge 14 described later together with the system clock signal SYSCK.
  • the PPU 20 performs image processing in cooperation with the V—RAM 26 under the control of the S—CP U 18, and applies a video signal to the monitor 28.
  • the cartridge 14 has a co-processor 30 and a B-RAM 32 in addition to the M-RO 22 described above, and the co-processor 30 has a C-CPU as a CPU core for achieving an auxiliary arithmetic function. 3 4, access control circuit 35, I-RA 36, and clock generator 216.
  • B—RAM32 is, for example, RAM backed up with a lithium battery or the like, and has a storage capacity of, for example, 4 Mbits.
  • the I-RAM 36 is composed of, for example, a 16 Kbit SRAM.
  • B—RAM 32 and I—RAM 36 both function as external RAM for S—CPU 18 and C—CPU 34.
  • the M-ROM 22 is composed of, for example, a mask ROM of up to 64 Mbits, in which a game program is stored.
  • the access time of M—ROM 22 is, for example, about 120 nanoseconds for a 16-bit width (about 60 nanoseconds for an 8-bit width).
  • the operating speed of the C-CPU 34 is at most four times the operating speed of the S-CPU 18 in terms of the program-compatible operating speed.
  • the cycle time of S-CPU 18 which is a bit CPU is about 372 nanoseconds at 2.68 Hz
  • the cycle time of C_CPU 34 which is an 8-bit CPU is 10.37 At 93 MHz, it is about 93 nanoseconds.
  • the access time of M-ROM22 is about 120 nanoseconds with a width of 16 bits as described above, the access time of M-ROM22 is 8-bit conversion and C--C
  • the cycle time of the PU 34 is shorter than the cycle time of the PU 34.
  • the S—CPU 18, the WR AM 24, and the coprocessor 30, that is, the C-CPU 34 are connected by the address bus 38, and the S—CPU 18, PPU 20 W—RAM 2 4. and coprocessor 30 or C-CPU 34 are combined on data bus 40.
  • Coprocessor 30 or C-CPU 34 And M—ROM 22 are connected by an address bus 42 and a data bus 44, and the coprocessor 30, ie, C—CPU 34 and B—RAM 32, are an address bus 46 and a data bus 48.
  • the address bus 38 is 24 bits
  • the data bus 40 is 8 bits
  • the address bus 42 is 23 bits
  • the data bus 44 is 16 bits.
  • the dress bus 46 has 19 bits
  • the data bus 48 has 8 bits.
  • the address matching of the I-RAM 36 differs slightly between the S-CPU 18 and the C-CPU 34.
  • the S—CPU 18 has the power to access the I-RAM 36 with “* 3 0 0 1!-* 3 7 FFh”, and the C-CPU 18 has the “** 0
  • the I-RAM 36 can be accessed with "00001! ⁇ ** 07FFh” and "* 3000000h ** 37FFh”.
  • "* *" is "0 0h-3F
  • the access control circuit 35 receives the signal SSYNC (SSSYNC) from the clock generator 211.
  • the access control circuit 35 includes an M-ROM sequencer 54, a B-RAM sequencer 98 and an I-RAM sequencer 100, which will be described later, and their operations will be described later.
  • the coprocessor 30 includes an address decoder 50 coupled to the C-CPU 34. 7
  • the dress decoder 50 decodes both S—CPU 18 and C—CPU 34 addresses. Therefore, address decoder 50 receives address data S A of S—CPU 18 and address data C A of C—CPU 34.
  • the output of the address decoder 50 is given as an enable signal or a clock for various registers as described later.
  • the address decoder 50 is a C-CPU 34, and a signal CRWB ("B" means inverted: bar) for the C-CPU 34 to read program data from the M-ROM 22. The same applies hereinafter.)
  • the M-ROMSMMC 52 switches the bank of the M-ROM 22 (FIG. 3) and switches the access of the S-CPU 18 and the C-CPU 34.
  • the M-ROMSMMC 52 stores the address data of S—CPU 18 and the address data of C—C PU 34.
  • the M-ROM sequencer 5 included in the access control circuit 35 of FIG. 3 includes address decoders 56 and 58 as shown in detail in FIG.
  • the address decoder 56 decodes the address data SA of the S—CPU 18, and when the address data SA hits the address to which the M—ROM 22 shown in FIG. 4 is to be accessed, a high-level signal SMHI T Is output.
  • the address decoder 5B decodes the address data CA of the C-CPU 34, and when the address data CA hits the address to which the M-ROM 22 shown in FIG. 5 should be accessed, a high-level signal CMH1T.
  • the signal SMHIT is supplied to one input of an AND gate 60, and the other input of the AND gate 60 is connected to the S—CPU 18 by a predetermined timing to access the M—ROM 22.
  • a mining signal SSYNC (described later: FIG. 18 or FIG. 19) is provided.
  • the output of the AND gate 60 is supplied to the above-described M-ROMSMMC 52 as a signal TMSA. Therefore, in the M-ROMSMMC 52, when this signal TMSA is at a high level, the address SA of the CPU 18 is enabled, and when it is at a low level, the address CA of the CPU 34 is enabled.
  • the address SA or CA thus validated is given to the address input MA (FIG. 7) of the M-ROM 22.
  • the output of the address decoder 56 is also provided to one input of an AND gate 62, and the other input of the AND gate 62 has S—CPU 18.
  • the output signal SMRD0UT of AND gate 62 which is given a signal SCPliRDB which is a single level when reading MROM22, is therefore high when the S—CPU 18 should read M—ROM22.
  • the signal SMHD0UT is read from the M-ROM 22 and supplied to the launch buffer 64 (FIG. 7) for inputting the program data output from the data output MD to the data bus SD of the S-CPU 18. .
  • the 7 includes a latch 66 coupled to the data output MD, and the latch signal of the latch 66 receives the above-mentioned signal SSYNC.
  • the upper 8 bits and the lower 8 bits of the latch 66 are provided.
  • the outputs of the AND gates 72 and 74 are provided as the control inputs of the tri-state puffs 7 6 8 and 70, respectively.
  • One of the inputs of the ⁇ AND gates 72 and 7 is supplied with the above signal SMRD0UT.
  • the other input of the gater 2 is given the least significant bit SA0 of the address SA of the CPU 18 and the other input of the AND gate 7 is given the inverse of the least significant bit SA0.
  • the output of the NAND gate 76 becomes the signal RDY, and this signal fiDY acts as a signal for stopping the CPU 34. That is, when the signal RDY is at the low level, C—CPU 34 is set to the light state. Therefore, when the C-CPU 34 and the S-CPU 18 both access the M-ROM22, the signal RDY goes low and is given to the C-CPU 34 as the signal CRDY. Accordingly, the C-CPU 34 enters the standby state. As a result, when S—CPU 18 and C—CPU 32 simultaneously access M—ROM22 or B—RAM 32, C—CPU 34 enters standby mode and S—CPU 18 Access is prioritized.
  • the standby state of the C-CPU 34 is released, and the C-CPU 34 accesses the M-ROM22 or the B-RAM32.
  • the asynchronous two-phase access of the M—ROM 22 or the B—RAM 32 by the S—CPU 18 and the C—CPU 34 becomes possible, and the memory is stored in one memory, that is, the M—ROM 22.
  • the program can be executed by S—CPU 18 and C—CPU 34 at the same time.
  • the signal TMWB is inverted when the signal TMSA from the AND gate 60 is inverted, the signal CMH1T from the address decoder 58 is read, and the signal CRWB that goes high when the CPU 34 reads the M-ROM 22 is output. 7 8 is given to each of the 3 inputs. Therefore, when the S—CPU 18 does not access the M—ROM 22 from the AND gate 78, the C—CPU 34 responds to the signal CHHIT and the C—CPU 34 returns from the M—ROM 22. When data is to be read, a high level signal CMRDOUT is output. The signal CMBDOUT is supplied to a latch buffer 780 (FIG. 7) for inputting the program data from the MR 22 into the data bus CD of the C-CPU 3.
  • the latch / buffer 80 of FIG. 7 includes a latch 82 coupled to the data output MD of the M-ROM 22.
  • the latch 82 receives a signal CSYNC (described later) as a latch signal.
  • the upper 8 bits and lower 8 bits of latch 82 are provided to tri-state buffers 84 and 86, respectively.
  • the outputs of AND gates 88 and 90 are given as the control inputs of tri-state buffers 84 and 86, respectively.
  • One of the inputs of AND gates 88 and 90 receives the above signal CMRDOUT, and the AND gate
  • the other input of 8 8 is given the least significant bit CA0 of address CA of C—CPU 34, and the other input of AND gate 90 is given the inverse of least significant bit CA0.
  • the lower 8 bits MD0 to MD7 of the data in the M-ROM 22 are output from the tri-state buffer 86, and when the least significant bit SA0 is at high level.
  • the upper 8 bits MD8 to MD15 of the data of M—ROM22 are output from the tri-state buffer 84 and input to the data bus CD of the CPU—CPU 34, respectively.
  • the aforementioned signal CSYNC is a signal indicating that the C-CPU 34 should read data from the M-ROM 22 and latch the read data to the latch 82, and is output from the AND gate 92. , That is, the signal CRWB, the signal CMH1T, and the least significant bit CA of the address CA
  • the inverted value of 0 and the clock signal PHI2 are supplied to the four inputs of the AND gate 92.
  • the clock signal PHI2 has a frequency for the C-CPU 34 as shown in FIG. 18 or FIG. 19, and is, for example, a clock of 10.7 MHz.
  • the signal CSYNC is output at a high level when the C—CPU 34 accesses the M—ROM22, and when the signal is at the ⁇ —level, the launch 82 is supplied from the data bus ⁇ D of M—R R22. Latch the 16-bit program data
  • Both B—RAMS MMC 94 and I—RAMSMMC 96 shown in FIG. 8 perform the same function as M—ROMSMMC 52 described above. That is, the B-RAMSMMC 94 switches the bank of the B-RAM 32 (FIG. 3) and switches the S-CPU 18 and the C-CPU 34. Therefore, B—RAMSMMC 94 has S—address data SA of CPU 18 and address data CA of CPU 34, and C—data 18 of CPU 18 SD and data CD of CPU 34. In addition to receiving the signal TBSA from the B-RAM sequencer 98.
  • the I-RAMSMMC 96 switches the bank of the I-RAM 36 (FIG. 3) and switches the access of the S—CPU 18 and the C—CPU 34.
  • the I-R AMSMMC 966 uses the address data SA of the S-CPU 18 and the address data of the C-CPU 34.
  • the B—RAM sequencer 98 included in the access control circuit 35 of FIG. 3 has the same circuit configuration as the I—RAM sequencer 100, and as shown in detail in FIG. 0 2 and 1 0 4.
  • the address decoder 102 decodes the address data SA of the S—CPU 18 and outputs a high-level signal SBHIT when the address data SA hits the address at which the B—RAM 32 is to be accessed.
  • the address decoder 104 decodes the address data CA of C—CPU 34, and outputs a high-level signal CBHIT when the address data CA hits the address that should access B—RAM32.
  • the signal SBHIT is supplied to one input of the AND gate 106, and the other input of the AND gate 106 is S— ⁇ ?
  • the output of the address decoder 102 is also given to one input of the AND gate 108, and S—CPU 18 reads B—RAM 32 to the other input of the AND gate 108. At this time, a signal SCPU RDB which becomes low level is given.
  • the output signal SBRD0UT of the AND gate 108 is therefore high when the S—CPU 18 should read B—RAM32 and low when it writes data to B—RAM32. Becomes The signal SBRD0UT is supplied to a latch / buffer 110 (FIG. 8) for inputting data from the data terminal BD of the B—RAM 32 to the data bus SD of the S—CPU 18.
  • Latch 112 receives B-RAM 32 8-bit output data and latches it in response to signal SSYNC.
  • the output of latch 112 is applied to tristate buffer 114.
  • the 8-bit output data of B—RAM 32 is supplied to the tri-state buffer 116 as it is.
  • Signals SBRD0UT and CBRD0UT (described later) from the B-RAM sequencer 98 are provided as control inputs for the tri-state buffers 114 and 116. Therefore, when the signal SBRD0UT is at a high level, the output data of B—RAM32 is output from the tristate buffer 114. Similarly, when the signal CBRD0UT is at a high level, the output data of B—RAM 32 is output from the tristate buffer 1 16 and the data bus SD of S—CPU 18 and C—CPU 34 Input to data bus CD.
  • the signal TBSA from the AND gate 106 is inverted, the signal CBHIT from the address decoder 104, and the signal CRWB, which is low when writing and low when the CPU CPU 34 is high, is read.
  • the AND gate 120 outputs a signal CBRD0UT that goes high in response to the signal CBHIT.
  • the signal CBRD0UT is provided as a control signal for the 3-state buffer 116 as described above.
  • the I-RAM sequencer 100 is the same as the B-RAM sequencer 98, and therefore, a detailed description of the I-RAM sequencer 100 is omitted here.
  • signals given or outputted when the circuit of FIG. 11 is used as the I-RAM sequencer 100 are shown in parentheses.
  • the signal SIHD0UT and the signal CIIiDOUT from the RAM sequencer 100 are provided. Accordingly, the output data of I one RAM 3 6 when the signal SIRD0UT is high level is output from the tri-state bus Seo off 7 1 2 6. Similarly, when the signal CIRD0UT is at a high level, the output data of the I-AM 36 is output from the tri-state buffer 128, and the data bus SD of the S-CP II 18 and the data bus CD of the C-CPU 34, respectively. Is input to
  • the data to be written into B-13 ⁇ 411132 ⁇ 1 11 ⁇ 1 —136 is selected by selectors 130 and 132, respectively. More specifically, the selector 130 receives 8-bit data from the data bus SD of the S—CPU 18 and 8-bit data from the data bus CD of the C—CPU 34.
  • the signal BDY from the B-RAM sequencer 98 is given as a selection signal of the selector 130. That is, the signal BM Is low, the selector 130 selects S—write data from the CPU 18 and supplies it to the B—RAM 32.
  • the selector 130 selects C—CPU 3 Select the write data from 4 and give it to the B-RAM 32.
  • the selector 1 32 selects the 8-bit data from the S-CPU 18 data bus SD and the C-CPU 3 4 Receives 8 bytes of data from data bus CD.
  • a signal RD # from the I-RAM sequencer 100 is given as a selection signal of the selector 1332, that is, when the signal RDY is at a low level, the selector 1332 receives the write data from the S-CPU 18 Select and apply to I-RAM 36.
  • selector 1 32 selects the write data from C-CPU 34 and provides it to I-RAM 36.
  • S—CPU 1.8 and C—CPU 34 share the entire area of B—RAM 32, as can be seen from the memory maps in FIGS. 4 and 5, and always access B—RAM 32 asynchronously. be able to.
  • the B-RAM sequencer 98 mediates access to the B-RAM 32 at that time.
  • a high-level signal TBSA is output from the AND gate 106 of the RAM sequencer 98 in FIG. 11B
  • the operating frequency of C—CPU 34 is determined by the clock signal PHI2. MH z, where S-same as shown in Figure 12 (B) or (C). 1! 1 8?
  • the operating frequency of C-CPU 34 is 2.68 MHz.
  • the operating frequency of S—CP u 18 is always determined by the system clock signal syscK.
  • Fig. 13 (A) when only C-CPU 34 accesses I-RAM 36, the operating frequency of C-CPU 34 is set to 10 by the clock signal PHI2. 7 3 MHz.
  • FIG. 13 (B) when S—CPU 18 and C—CPU 34 access I—RAM 36 in two phases, C—CPU 34 The operating frequency is 5.37 MHz. However, the operating frequency of the S—CPU 18 is always 2.68 MHz by the system clock signal SYSCK.
  • SCPUIF 13 4 provides interrupt IRQs between S—CPU 18 and C—CPU 34, and provides S-CPU 18 to C-CPU 34 helicopter signals and interrupts.
  • NMI or S-CPU 18 and C-CPU 34 give vectors to each other.
  • the SCP I F 134 receives the address S A and data S D of S—C P U 18 and the address C A and data C D of C—C P U 34.
  • This SCPUIF134 is shown in detail in FIGS. As shown in Fig. 15, the C—CPU controller receives the lower 8 bits, SD0 to SD7, of the most significant bit, SD7, of the data SD of S—CPU18.
  • the CPU control registers 1336 to 1442 include the enable signal from the address decoder 50 in FIG. 7 as a control signal for the S—CPU18 to control the C—CPU34.
  • the write timing signal CCNTW is given.
  • Timing signals SIFW and SICW for writing a control signal for the S-CPU 18 to control an interrupt from the address decoder 50 of FIG. 7 are given as enable signals of the decoders 144 and 144.
  • VLW and RVHW are provided as enable signals for the reset vector registers 1 48 and 150 from the address decoder 50 in FIG. 7 to which the S--CPU 18 writes a reset vector !?
  • the enable signals for the NMI vector registers 152 and 154 are shown in Figure 7
  • the clock signal PHI2 for C—CPU 3 from the clock generator 216 is inverted and provided by the inverter 178.
  • S—Enable signals for CPU control registers 16 2 and 16 4 include control signals from address decoder 50 in FIG. 7 for C—CPU 34 to control S—CPU 18 A timing signal SCNTW for writing a signal is given.
  • the enable signal of the decoder 166 the timing signal from the address decoder 50 in FIG. 7 for writing a control signal for the C—CPU 34 to control the interrupt from the S—CPU 34 is used. Given CIEW and CICW ProvisionN
  • Timing signals SNVLW and SNVHW for the C—CPU 34 to write the NMI vector from the address decoder 50 of FIG. 7 are given as enable signals of the MI vector registers 170 and 1772.
  • the enable signals of the IRQ vector registers 1704 and 1776 include the timing signals SIVLW and SIVHW from the address decoder 50 in FIG. 7 for the C—CPU 34 to write the IRQ vector. Given.
  • the output Q of the CPU control register 1 36 is connected to the AND gate 1 along with the signal SIRQEN to enable the I—RQ interrupt from the decoder 16 to C—CPU 34 to S—CPU 18 from the decoder 16 6.
  • the AND gate 18 outputs a signal CIRQ from the S-CPU 18 to issue an IRQ interrupt to the C-CPU 3.
  • the C-CPU control register 1336 is reset by the signal SIRQCL for terminating the IRQ interrupt from the S-CPU 18 from the decoder 1668.
  • the output Q of C—CPU control register 1 38 remains the same, and S—CPU 18 is C-CPU.
  • the output Q of 40 is given to the AND gate 182 along with the signal SNMIEN from the decoder 1666 to enable the NMI interrupt from the C—CPU 34 to the S—CPU 18 and this AND gate A signal CNMI for issuing an NMI interrupt to the C-CPU 34 is output from the switch 18. Note that D-FF 140 is reset by the signal SNHICL for terminating the NMI interrupt from the decoder 168.
  • the PU control register 144 outputs 4-bit signals SMEG3 to SMEG0 to be supplied from the S—CPU 18 to the C—CPU 34.
  • This 4-bit signal is used to indicate the status of interrupt processing.
  • S—CPU 18 interrupts C—CPU 34 with an NMI interrupt while C—CPU control register 14 2
  • C—CPU control register 14 2 By writing 0 to SMEG3 to SMEG0 of the CPU, it is possible to inform the C-CPU 34 that the NMI interrupt of the number 0 has been interrupted.
  • the four bits SMEG3 to SMEG0 are used, the numbers from 0 to 15 can be represented, so the S_CPU 18 applies 16 types of NMI interrupts to the C-CPU 34 be able to.
  • SMEG3 to SMEG0 are used at the time of IRQ interrupt, 16 types of IRQ interrupts can be performed.
  • S—CPU control register 16 2 The output of S—CPU control register 16 2 is applied to AND gate 18 4 along with the signal CIRQEN to enable IRQ interrupt from decoder 14 to S—CPU 18 to C—CPU 34. From the AND gate 184, a signal SIRQ for generating an IRQ interrupt from the C—CPU 34 to the S—CPU 18 is output.
  • the S—CPU control register 16 2 is reset by a signal CIRQCU for terminating an IRQ interrupt from the C—CPU 34 from the decoder 144.
  • the S—CPU control register 1664 outputs 4-bit signals CMEG3 to CMEG0 to be applied to the S—CPU18 from the C—CPU34. This 4-bit signal is used to indicate the status of interrupt processing, for example,
  • C—CPU 34 interrupts S—CPU 18 with IRQ and at the same time writes D to CMEG3 to CMEG0 of S-CPU control register 164, so that S—CPU 18 Can be notified that an IRQ interrupt has been issued. If four bits from CMEG3 to CMEG0 are used, numbers from 0 to 15 can be represented, so the C-CPU 34 issues 16 types of IRQ interrupts to the S-CPU 18 You can call. Similarly, when the C-CPU 34 uses the CMEG3 to CMEG0 when the C-CPU 34 changes the NMI vector of the S-CPU 18 as described later, 16 types of NMI vectors can be changed.
  • 5D7 to SD0 are output.
  • the outputs of reset vector registers 144 and 150 pass through buffers 1992 and 194, respectively, and reset vector data BVL7 to! Output to the data SD7 to SD0 as JVL0 and HVH7 to RVH0.
  • the outputs of the NM1 vector registers 152 and 154 pass through the buffers 719 and 198 to output the NMI vector data.
  • CNVL7 to (: NVL0 and CNVH7 to CNVH0 are output to the data SD7 to SD0.
  • the outputs of the IRQ vector registers 156 and 158 are passed through buffers 200 and 202, and the IRQ vector data Output to the data SD7 to SD0 as CIVL7 to CIVL0 and CIVH7 to CIVH0,
  • the output of AND gate 184 passes through buffer 7 204,
  • the output of the S—CPU control register 16 is output as data CD 7 to CD 0 to the C—CPU 34 through the buffer 206.
  • the outputs of the NMI vector registers 170 and 1 ⁇ 2 are output to the data CD7 to CD0 as NMI vector data SNVL7 to SNVL0 and SNVH7 to SNVH0 through buffers 208 and 210, respectively.
  • the outputs of the IRQ vector registers 1 ⁇ and 1 ⁇ 6 are output to data CD7 ⁇ CD0 as IRQ vector data SIVL7 SISIVL0 and SIVH7 ⁇ SIVH0 through buffers 712 721.
  • the clock generator 2 16 shown in FIG. 7 receives the original clock with a frequency of about 21 MHz from the original oscillator 23 (FIG. 3), and the system required for the S—CPU 18 and the C—CPU 34 Creates a click signal SYSCK and a clock signal PH120.
  • the clock generator 2 16 receives the original clock signal Z21M and outputs it as the clock signal 21M as shown in FIG. 18 or FIG. 19 through the buffer 218.
  • 21M is applied to the clock inputs of D-FF 220 and 222 and inverted by inverter 226 and applied to the clock input of D-FF 224.
  • a system reset signal!? ES is given to each reset input of D-FF2220 to 224.
  • the original system clock signal ZSYSCK is supplied from the clock generator 25 (FIG. 3) via the buffer 228 to the data input of the D-FF 222, and the data 220 0 is input to the data input of the D-FF 222.
  • the output Q of is given.
  • the output of the AND gate 230 is inverted and applied to one input of the AND gate 232, and the output Q of the D-FF 22 is inverted and applied to the other input.
  • the output Q of the D-FF 224 is output as a clock signal PHI2 as shown in FIG. 18 or FIG. 19 through the node amplifier 234. That is, the clock signal PHI2 is obtained by dividing the original clock signal 21M by two.
  • the original system clock signal ZSYSCK is output via the buffer 228 as a system clock signal SYSCK as shown in FIG. 18 or FIG.
  • a clock signal PHI2 is supplied as a clock input to these D-FFs 23 to 24.
  • the system clock signal SYSCK from the node 7228 is inverted to form AND gates 24 and 24. Given to one input of 6 and this AND gate 2 4 4 and 2
  • the other input of 46 is given the output Q of D—FF 24 0, the output of AND gate 244 is given to the data input of D—FF 238, and the output Q of D-FF 238 is S—CPU 18 low signal when reading program data from M—ROM 22 2 SCPURDB and S—Low signal when CPU 1 B reads data into B—RAM 32 or I—RAM 36 And when writing high level Along with the respective inversions of the signal SCPUWRD, it is given to the OR gate 248.
  • the output Q of the data 236 is supplied to the data input of the D-FF 240 via the OR gate 250 together with the output of the AND gate 246.
  • D-FF240 output Q is S—SPU 18 when operating at 3.58 MHz S—Signal to allow access to CPU 18 memory 22, 32, or 36 It is output as SSSYNC and the output Q of D-FF2422 is output as a timing signal to allow the S—CPU 18 to access the memory 22.32 or 36. . That is, as shown in FIG. 18 or FIG. 19, the signal SSYNC is generated after the system clock signal SYSCK (indicated by SYSCK-FAST or SYSCK-SLOWS in FIG. 18 or FIG. 19). The signal SSSYNC has a leading edge synchronized with the leading green of the signal SSYNC, and lasts for a period corresponding to two periods of the original clock signal 21M to be a trailing edge.
  • SYSCK system clock signal
  • the clock generator 210 generates the operating clock signal SYSCK of the CPU 18 and the operating clock signal PHI2 of the CPU 34, and the CPU IB and C-Allow access to CPU 34 memory 2 2.32 or 36 Or a signal SSYNC (SSSYNC) to generate or inhibit
  • the phase of the clock signal SYSCK changes as shown in FIG. 19, so the signal SSYNC is used to allow the S—CPU 1 B access. If used, the operation cycle before and after may overlap. Therefore, as shown in FIG. 19, the signal sssy having a high-level period shorter than the signal ssyNc
  • S—CPU 18 starts C—CPU 34, as shown in step S1 in FIG. 20, S—CPU 18 stores the reset vector register 1 by the data SD0 to SD7. 4 In C and C, set the starting address of the program you want CPU 3 to execute. Then, in step S2, ⁇ 1 j is set in the C-CPU control register 1338 by the data bit SD5. Accordingly, the high-level C-CPU reset is performed from the C-CPU control register 138. A reset signal CBES is output, which is given to the CPU 34 as shown in FIG. 7, and the reset of the CPU 34 is released. In response, the CPU 34 accesses the M-ROM 22 in response to the start address of the M-ROM 22 designated by the reset vector registers 1 48 and 150, and the block ⁇ Gram run.
  • the C—CPU control register 140 outputs a high-level C-CPU interrupt signal CNMI, which is applied to the C-CPU 34 as shown in Figure 7 and interrupts the C-CPU 34
  • C-CPU 34 accesses M-R0M22 in response, and NMI interrupts from the first address of M-ROM22 specified by NM1 vector registers 1 52 and 1 54 Run the program.
  • the S—CPU 18 When the S-CPU 18 issues an IRQ interrupt to the C—CPU 34, as shown in step S7 of FIG. 23, the S—CPU 18 stores the IRQ vector register 156 and Set the start address where the IRQ program of M-ROM 22 is stored in 158. Then, in step S8, ⁇ 1 j is set to the C-CPU control register 136 by the data bit SD7. In response, the C-CPU control register 136 is set to a high-level C—CPU interrupt signal. CIHQ is output and given to the C-CPU 34 as shown in FIG. 7, and the C-CPU 34 is interrupted and activated. In addition, the C-CPU 34 accesses the M-ROM 22 accordingly, and sets the IRQ vector registers 156 and 158 Executes the IRQ interrupt program from the first address of M-ROM 22 specified by.
  • the C—CPU 34 changes the N—MI vector of the S—CPU 18, as shown in step S 10 of FIG. 24, the C—CPU 34 sets the I vector by the data CD 0 to CD 7.
  • "1" is set to the S-CPU control register 162 by the data bit CD4.
  • the NMI vector address read out when the NMI interrupt is made to the S—CPU 18 is changed from the inside of the M—ROM 22 to the NMI vector registers 170 and 172.
  • the S—CPU 18 accesses the M—R 022 in response to the NMI interrupt, and the M—R OM 22 specified by the NMI vector registers 170 and 1 ⁇ 2. Executes the NMI interrupt program from the first address of.
  • step S 12 When the C-CPU 34 issues an IRQ interrupt to the S—CPU 18, as shown in step S 12 in FIG. Set the start address of the M-ROM 22 where the IRQ program is stored in the vector registers 1774 and 1776. Then, in step S13, "1" is set to the S--CPU control register 162 by the data bit CD7. Accordingly, a high-level S—CPU interrupt signal SIRQ is output from the S—CPU control register 162.
  • step S 101 S—CPU 18 stores the reset vector register 1 by the data SD 0 to SD 7.
  • step S102 Set the start address of the program that you want C—CPU 34 to execute to 48 and 150. Then, in step S102,
  • step S106 after detecting the IRQ from C—CPU 34 and receiving the processing result by C—CPU 34, S—CPU 18 proceeds to step S107, where C—CPU “0” is set to the control register 1 38 by the data bit SD5. Depending on.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Advance Control (AREA)

Description

明 細 書 コブロセサシステムおよび補助演算機能付外部メモリ装置 技術分野
この発明はコプロセサシステムおよび補助演算機能付外部メモリ 装置に関する。 より特定的には、 この発明は、 外部メモリ装置のメ モリにプログラムが格納されていて、 その外部メモリ装置がゲーム 機や画像処理装置のような情報処理装置に着脱自在に装着され、 外 部メモリ装置に設けられたプロセサが情報処理装置に設けられたプ 口セサと協働する、 コプロセサシステムおよび補助演算機能付外部 メモリ装置に関する。 従来技術
この種のコプロセサシステムの一例が、 たとえば、 平成 6年 ( 1 9 9 4 ) 3月 2 2日付で出願公開された特開平 6— 7 9 0 9 3号に 開示されている。 この従来技術は、 簡単にいうと、 図 1に示すよう に、 情報処理装置本体の C P U 1 と 「マリオチップ」 と呼ばれる別 の C P U 2とが R OM3のプログラムにアクセスし、 C P U 1がプ ログラムに従って情報処理を実行する。 この従来技術では、 C P U 1を動作させるためのプログラムは R OM 3から RAM 4に転送さ れて記憶 (ダウンロード) される。 その後、 C P U 1は、 RAM 4 に転送されたプログラムを直接アクセスして処理することにより、 差替え用紙 (規則 26) 藺接的に R OM 3のプログラムを処理する。 一方、 マリオチップ 2 は、 RAM 4に転送していない期間 (すなわち C P U 1が R OM 2 をアクセスしていない期間) において、 R OM 3を直接アクセスし てプログラムを実行する。
また、 図 2に示す並列処理装置もコプロセサシステムの一種と考 えることができる力く、 図 2のシステムの場合、 バスコントローラ 5 が第 1 C P U 6 aおよび第 2 C P U 6 bを時分割的に切り換えて R OM 7に接続し、 それによつて必要なプログラムが R OM 7から第 1 RAM 8 aまたは第 2 RAM 8 bにダウンロードされる。 また、 C P U 6 aおよび C P U 6 bには、 クロック発生器 9から共通のク 口ックが与えられる。 そして、 C P U 6 aまたは C P U 6 bは、 同 じクロックに基づいて同時的 (または同期的) に対応の RAM 8 a または RAM 8 bの記憶されているプログラムを個別的に実行する 。 すなわち、 図 2のシステムは、 2つの C P U 8 aおよび 8 bが同 一マシンサイクル期間に R OM 7を直接アクセスして ROM 7のプ ログラムを実行するのではなく、 対応する R AM 8 a , 8 にプロ グラムを一旦転送して RAM 8 a , 8 b上で直接処理 (アクセス) しているので、 2つの C P U 6 a , 6 bが同じ動作サイクル期間に おいて ROM 7を直接アクセスするものではない。
図 1の従来技術では、 マリオチップ 2を動作させるとき、 ROM 3はマリオチップ 2に占有されてしまうので、 結局、 C P U 1とマ リオチップ 2とを同時に動作させるためには、 RAM 4のような別 のメモリが必要になる。 したがって、 プログラム作成上で以下のよ
差替え用紙 (規則 26) うな多くの制約が生じる。 (1) C P U 1およびマリオチップ 2のた めにそれぞれのァ一キテクチユアに基づいて C P U 1およびマリォ チップ 2毎に個別にプログラムを準備しなければならない。 (2) R OM 3内に C P U 1のためのプログラムを組み込むとき、 それを上 述のようにダウンロ一ドする必要があるため、 そのプログラムを一 連の R OMア ドレスに書き込まなければならない。 (3) RAM 4の 容量が不足するとき、 C P U 1に必要な全てのプログラムを口一ド できず、 それを分割して分割プログラムブロック毎にロードしなけ ればならない。 (3) の場合、 ジャンプやサブルーチンを各分割プロ グラムプロック毎に書き込んでおかなければならないし、 同じサブ ルーチンでも各分割プログラムプロック毎に設けておく必要がある ので、 R OM容量の無駄遣いが多くなる。
図 2の従来技術は、 上記図 1の従来技術の(3) の問題があるのに 加えて、 RAM 8 a, RAM 8 bが必要となるため、 部品点数が多 くなり、 システム全体が高価となる。 もしも、 RAM8 a , RAM 8 bを安価にする目的で記憶容量の小さなものを使用すると、 R O M 7のプログラムデータを RAMの最大記憶容量に分けて頻繁に転 送しなければならないので、 C P U 6 a , 6 bのプログラム処理が 頻繁に中断され、 データ転送のための待ち時間が増大し、 その期間 に使用者を待たせることになり、 プログラムの高速処理が阻害され る。 発明の概要
差替え用紙 (規則 26) それゆえに、 この発明の主たる目的は、 プログラムに制約のなし に全体として高速化できる、 コプロセサシステムを提供することで ある。
この発明の他の目的は、 プログラムに制約のなしに全体として情 報処理装置の動作を高速化できる、 補助演算機能付外部メモリ装置 を提供することである。
この発明のさらに他の目的は、 アーキテクチャ一の共通する 2つ のプロセサがプログラムメモリを共通的に使用可能であり、 2つの プロセサが非同期的かつ直接的にプログラムメモリのプログラムを 実行することにより、 プログラムを転送するための R A Mを用いる ことなく安価な構成で高速に処理し得る、 コブロセサシステムおよ び補助演算機能付外部メモリ装置を提供することである。
この発明に従ったコプロセサシステムは、 プログラムに基づいて 第 1 のサイ クルタイムで演算処理する第 1のプロセサ(18)、 第 1 の プロセサのァ一キテクチユアと同じであり、 かつプログラムに基づ いて第 1のサイ クルタイムより短い第 2のサイ クルタイムで演算処 理する第 2のプロセサ(34)、 第 1 のサイクルタイムの基準となる第 1 のクロック信号を第 1のプロセサに供給する第 1 のクロック供給 手段(23, 25) 、 第 2のサイクルタイムの基準となる第 2のクロ 'ンク 信号を第 2のプロセサに供給する第 2のクロック供給手段 (23, 216) 、 第 2のプロセサがアクセスして高速読み出し可能であり、 かつ第 1 のプロセサおよび第 2のプロセサによって直接アクセスされるプ ログラムを格納したプログラムメモリ (22)、 およびプログラムメモ
差替え用紙 (規則 26) 'Jのアクセスタイムより長くかつ第 1のサイクルタイムより短い第 1の期間において第 1のプロセサがプログラムメモリへ直接ァクセ スするのを許容し、 第 1のサイクルタイムと第 1の期間との差であ る第 2の期間において第 2のプロセサが前記プログラムメモリへ直 接アクセスするのを許容するァクセス制御手段(35, 54 , 60, 52)を備 える 0
この発明に従った補助演算機能付外部メモリ装置は、 プログラム に基づいて第 1のサイクルタイムで演算処理する第 1のプロセサ(1 8)と第 1のサイ クルタィムの基準となる第 1のク口ック信号を前記 第 1のプロセサに供給する第 1 のクロック供給手段(23, 25) とを舍 む情報処理装置に着脱自在に装着され、 第 1のプロセサのァーキテ クチユアと同じであり、 かつプログラムに基づいて第 1のサイクル タィムより短い第 2のサイクルタイムで演算処理する第 2のプロセ サ(34)、 第 2のサイクルタイムの基準となる第 2のクロック信号を 第 2のプロセサに供給する第 2のク口ック供給手段(23 , 216)、 第 2 のプロセサがアクセスして高速読み出し可能であり、 かつ第 1のブ ロセサおよび第 2のプロセサによって直接アクセスされるプログラ ムを格納したプログラムメモリ(22)、 およびプログラムメモリのァ クセスタイムより長くかつ第 1のサイ クルタイムより短い第 1の期 間において第 1のプロセサがプログラムメモリへ直接アクセスする のを許容し、 第 1のサイクルタイムと第 1の期間との差である第 2 の期間において第 2のプロセサが前記プログラムメモリへ直接ァク セスするのを許容するアクセス制御手段(35 , 54 , 60, 52)を備える。
差替え用紙 (規則 26) たとえば信号 SSYNC が第 1の期間および第 2の期間を規定する。 すなわち、 信号 SSYNC がハイレベルのとき第 1の期間であり、 ロー レベルのとき第 2の期間である。 第 1の期間においては、 第 1のプ 口セサがプログラムメモリに直接アクセスし、 そのプログラムデー タに從つて演算処理を実行する。 第 2の期間においては、 第 2のプ 口セサがプログラムメモリに直接アクセスし、 そのプログラムデー タに従って演箕処理を実行する。 第 1のプロセサおよび第 2のプロ セサは同じァーキテクチユアであるため、 プログラム互換性を有し 、 したがって、 両プロセサが直接プログラムメモリをアクセスする ことによって、 演箕処理が実行可能なのである。
この発明によれば、 あたかも 1つの C P U (プロセサ) が直列的 処理を行うように作成したプログラムを、 僅かな変更を加えるだけ で、 2つの C P U (プロセサ) が並列処理を行うためのプログラム に変更可能である。 また、 プログラムをダウンロードしないため、 プログラムを一連の R O Mァドレスに書き込む必要がない。 また、 同じサブルーチンを各分割プログラムブロック毎に記憶させる必要 がないので、 R O M容量を無駄遣いすることがない。 したがって、 プログラム作成上の制約が生じない。
この発明によれば、 さらに、 プログラムをダウンロードするため の R A Mを必要としないので、 システム全体の価格が安価となる, また、 プログラムをダウンロードするための R A Mを備えていない 情報処理装置が先行して発売されている場合、 従来技術を用いて処 理能力を向上させることができなかったが、 この発明の補助演算機 能付外部メモリ装置を用いれば、 安価にシステム全体としての情報 処理能力を向上させることができる。
この発明の上述の目的およびその他の目的, 特徴, 局面および利 点は、 添付図面に関連して行われる以下の実施例の詳細な説明から 一層明らかとなろう。 図面の簡単な説明
第 1図は従来技術の一例を簡単に示すプロック図であり ; 第 2図は從来技術の他の例を簡単に示すプロック図であり ; 第 3図はこの発明の一実施例を示すプロック図であり ; 第 4図は第 3図実施例の S— C P Uからみたメモリマップを示す 図解図であり ;
第 5図は第 3図実施例の C一 C P Uからみたメモリマツプを示す 図解図であり ;
第 6図は第 3図実施例におけるコプロセサを示すプロツク図であ 第 7図は第 3図実施例におけるコプロセサの一部を詳細に示すブ 口 ンク図であり ;
第 8図は第 3図実施例におけるコプロセザの他の部分を詳細に示 すブロック図であり ;
第 9図は第 7図実施例における M— R O Mシーケンサを詳細に示 すブロック図であり ;
第 1 0図は第 9図実施例によって M— R O Mにアクセスする状態 を示す図解図であり :
第 1 1図は第 7図実施例における B— RAMシーケンサ ( I一 R AMシーケンサ) を詳細に示すブロック図であり ;
第 1 2図は第 1 1図実施例によって B— RAMにアクセスする状 態を示す図解図であり ;
第 1 3図は第 1 1図実施例によって I一 RAMにアクセスする状 態を示す図解図であり ;
第 1 4図は第 7図実施例における S C P U I Fを示すプロツク図 であ 0 ;
第 1 5図は第 7図実施例における S CPU I Fの一部を詳細に示 すプロック図であり ;
第 1 6図は第 7図実施例における S CPU I Fの他の部分を詳細 に示すプロック図であり ;
第 1 7図は第 7図実施例におけるクロックジェネレータを詳細に 示すプロツク図であり ;
第 1 8図は第 1 7図実施例におけるクロックジヱネレークによつ て発生される各タイミング信号あるいはク口ック信号の一例を示す 図解図であり ;
第 1 9図は第 1 7図実施例におけるクロックジェネレータによつ て発生される各タイミング信号あるいはク口ック信号の他の例を示 す図解図であり ;
第 20図は実施例において S— CPUが C一 C P Uを起動する場 合の動作を示すフロー図であり ; 第 2 1図は実施例において S— C PUが C一 CPUを停止する場 合の動作を示すフロー図であり ;
第 22図は実施例において S— CPUが C一 CP Uに NM I割り 込みをかける場合の動作を示すフ u—図であり ;
第 23図は実施例において S— CPUが C一 CPUに I RQ割り 込みをかける場合の動作を示すフロー図であり ;
第 24図は実施例において C一 CPUが S— C P Uの NM Iべク タを変更する場合の動作を示すフロー図であり ;
第 25図は実施例において C一 C P Uが S— C P Uに I R Q割り 込みをかけ ¾場合の動作を示すフロー図であり ;
第 26図は実施例においてァクセラレータモードの動作を示すフ ロー図であり ;
第 27図は第 26図に従って動作するシステムの分散処理の状態 を示す図解図であり ;
第 2 8図は実施例においてミックス処理モードの動作を示すフロ 一図であり ;
第 29図は第 28図に従って動作するシステムの分散処理の状態 を示す図解図であり ;
第 30図は実施例において代行処理モードの動作を示すフロー図 であり ;
第 3 1図は第 30図に従って動作するシステムの分 理の状態 を示す図解図である, 発明を実施するための最良の形態
以下に示す実施例では、 この発明がゲームシステムに適用される 。 しかしながら、 この発明は、 ゲームシステムのみならず、 画像処 理システムや他の同様の情報処理システムに適用できることを予め 指摘しておく。
図 3はこの発明の一実施例のコブロセサシステムのプロック図で ある。 図 3に示すコブロセサシステムの一例であるゲ一ムシステム 1 0は、 本体 1 2およびその本休 1 2にたとえば 6 4ビンのコネク タ 1 6によって着脱自在に装着される補助演算機能付外部メモリ装 置の一例であるカートリ ッジ 1 4を舍む。 本体 1 2は本体側プロセ サとしての S— C P U 1 8 , および P P U (Picture Processing Un it) 2 0を舍む。 S— C P U 1 8はカー トリ ッジ 1 4に舍まれる M - R O 2 2に予め格納されているプログラムに従って動作する。
S— C P U 1 8にはヮーキングRAM、 W-R AM2 4が結合され る。 本体 1 2はまた、 発振器 2 3を舍み、 この発振器 2 3からの約 2 1 H zの原ク口ック信号 Z21Mはクロックジェネレータ 2 5に与 えられる。 クロックジェネレータ 2 5は分周器を含み、 この分周器 によって原ク口ック信号 Z2 が 8分周されて、 約 2. 6 8 MH zの システムク口 ック信号 SYSCK として S— C P U 1 8に与えられる。 なお、 この原クロック信号 Z21Mは、 システムクロック信号 SYSCK と ともに、 後述の力—トリ ッジ 1 4のクロックジェネレータ 2 1 6に 与えられる。 P P U 2 0は S— C P U 1 8の制御の下で、 V— RA M 2 6と協働して画像処理を実行し、 ビデオ信号をモニタ 2 8に与
差替え用紙 (規則 26) える。 したがって、 モニタ 2 8の画面上にはゲーム画像が表示され る。 なお、 本体 1 2の S— C P U 1 8や P P U 2 0の一般的な動作 それ自体は既に周知であるばかりでなく、 この発明に直接は関係し ないので、 ここでは、 詳細な説明は省略する。
カートリ ッジ 1 4は、 上述の M— R O 2 2の他にコブロセサ 3 0および B— RAM 3 2を舍み、 コブロセサ 3 0は、 補助演算機能 を達成するための C P Uコアとしての C— C P U 3 4 , アクセス制 御回路 3 5, I -R A 3 6, およびクロックジェネレータ 2 1 6 を舍む。 B— RAM3 2は、 たとえばリチウム電池等でバックアツ ブされた RAMであり、 たとえば 4 Mビッ トの記憶容量を有する。 I — RAM 3 6は、 たとえば 1 6 Kビッ 卜の S RAMで構成される 。 B— RAM 3 2および I 一 RAM 3 6は、 ともに、 S— C P U 1 8および C一 C P U 3 4の外部 RAMとして機能する。 なお、 M— ROM 2 2は、 たとえば最大 6 4 Mビッ トのマスク ROMで構成さ れ、 その中には、 ゲーム用プログラムが格納されている。 M— RO M 2 2のアクセスタイムは、 一例として、 1 6ビ'ン ト幅で約 1 2 0 ナノ秒 ( 8ビッ ト幅で約 6 0ナノ秒) である。
S - C P U 1 8および C _ C P U 3 4は、 たとえばウェス夕ンデ ザイ ンコーポレーショ ン ( W D C ) 製の " 6 5 C 8 1 6 " のような 同じ C P Uコアを用いる。 ただし、 この実施例では、 C一 C P U 3 4の動作周波数は、 1 0. 7 3 MH zであり、 S— C P U 1 8の動 作周波数は 2. 6 8 MH z (または 3. 5 8 MH z ) である。 換言 すれば、 3—〇? 111 8ぉょびじーじ? 1; 3 4は、 同じ C P Uコア
差替え用紙 (規則 26) を用いるため、 同じァーキテクチユアで動作する、 すなわち、 プロ グラム互換性を有するカ^ 動作速度についていえば C一 C P U 3 4 の動作速度は S— CPU 1 8の動作速度の最大 4倍である, 8ビツ ト C P Uである S— C P U 1 8のサイクルタイムは、 2. 6 8 H zのとき約 37 2ナノ秒であり、 8ビッ ト C P Uである C_ C P U 3 4のサイクルタイムは 1 0. 3 7 MH zのとき約 9 3ナノ秒であ る。 他方、 M— ROM2 2のアクセスタイムは上述のように 1 6ビ ッ ト幅で約 1 2 0ナノ秒であるので、 M—ROM2 2のアクセスタ ィムは 8ビッ ト換箕で C— C PU 34のサイクルタイムより短い, そこで、 以下の実施例では、 このようなタイム差を利用して、 S— C P U 1 8には M_R OM 2 2をアクセスしてそこからプログラム データを読み出すに十分な、 たとえば 1 8 6ナノ秒を割り当て、 C -CPU 3 4にも同様に 1 86ナノ秒を割り当てることによって、 S-CPU 1 8と C一 CPU 3 4とが、 実質的に同時に、 M— RO M2 2にアクセスできるようにしている。 そして、 C一 C P U34 に割り当てられた 1 86ナノ秒は C一 C P U 34のサイクルタイム の 2倍であり、 したがって、 C— C P U 3 4は 1 8 6ナノ秒の間に 2回動作する β
なお、 実施例のゲームシステム 1 0において、 S— C P U 1 8 , W-R AM 24 , およびコプロセサ 3 0すなわち C一 C P U 3 4は アドレスバス 3 8で結合され、 S— C P U 1 8, P PU 20, W— RAM 2 4. およびコプロセサ 3 0すなわち C一 C P U 34はデー タバス 4 0で桔合される。 コプロセサ 3 0すなわち C一 C PU 34 と M— R OM 2 2とはァドレスバス 4 2およびデータバス 4 4によ つて結合され、 コブロセサ 3 0すなわち C— C P U 3 4と B— RA M 3 2とはアドレスバス 4 6およびデータバス 4 8によって結合さ れる。 ァ ドレスバス 3 8は 2 4ビッ トであり、 データバス 4 0は 8 ビツ トであり、 ア ドレスバス 4 2は 2 3ビッ トであり、 データバス 4 4は 1 6ビッ トであり、 ァ ドレスバス 4 6は 1 9ビッ トであり、 データバス 4 8は 8ビッ トである。 そして、 S— C P U 1 8と C— C P U 3 4とは、 同じアクセス制御回路 3 5を介して、 M— R OM 2 2または B— RAM 3 2をアクセスする。 である。 したがって、 図 4および図 5に示すように、 S— C P U 1 8および C— C P U 3 4には、 S— C P U 1 8のみがァクセスできる W— RAM2 4のァ ドレスペースを除き、 同じたとえば 2 4ビッ 卜のア ドレススペース が割り付けられている。 なお、 上述のように各 C P Uは 8ビッ トで あるが、 バンク切換の技術を用いることによって 2 4ビッ トのア ド レススペースを有する。 すなわち、 図 4には S— C P U 1 8から見 たメモリマップが示され、 図 5には C— C P U 3 4から見たメモリ マップが示される力 2つのメモリマツビングは同じである。 ただ し、 I 一 RAM 3 6のアドレスマツビングは、 S— C P U 1 8と C — C P U 3 4とでは多少異なる。 この実施例では、 S— C P U 1 8 は "* * 3 0 0 0 1!〜 * * 3 7 F F h" で I 一 RAM3 6をァクセ スできる力く、 C一 C P U 3 4は "* * 0 0 0 0 1!〜 * * 07 F F h " および "* * 3 0 0 0 h〜* * 3 7 F F h" で I 一 RAM 3 6を アクセスできるようにしている。 なお、 "* *" は " 0 0 h〜3 F
差替え用紙 (規貝 IJ26) h " バンクおよび "8 0 h〜 B F h " バンクである。
なお、 S— C P U 1 8の各メモリ 2 2 , 3 2および 3 6へのァク セスと、 C— C P U 3 4の各メモリ 2 2, 3 2および 3 6へのァク セスと力く、 クロックジヱネレ一タ 2 1 6からの信号 SSYNC(SSSYNC) を受けるアクセス制御回路 3 5によって制御される。 このアクセス 制御回路 3 5は、 後述の M— R OMシーケンサ 5 4 , B— RAMシ 一ケンサ 9 8および I —RAMシーケンサ 1 0 0を舍むが、 それら の動作は後述する。
図 6〜図 8はコブロセサ 3 0のブロック図であり、 コプロセサ 3 0は、 C一 C P U 3 4に結合されたァドレスデコーダ 5 0を舍む。 7 ドレスデコーダ 5 0は S— C P U 1 8および C— C P U 3 4の両 方のアドレスをデコードする。 したがって、 アドレスデコーダ 5 0 は S— C P U 1 8のァドレスデータ S Aおよび C— C P U 3 4のァ ドレスデータ C Aを受ける。 ァドレスデコーダ 5 0の出力は後述の ように種々のレジスタ等のィネーブル信号またはクロックとして与 えられる。 なお、 ァドレスデコーダ 5 0は C一 C P U 3 4力、ら、 こ の C一 C P U 3 4が M—ROM2 2からプログラムデータを読み出 すための信号 CRWB (" B" は反転:バーを意味する。 以下同様。 ) を受ける。
M—ROMSMMC 5 2は、 M—R OM2 2 (図 3 ) のバンク切 り換えを行うと共に、 S— C P U 1 8および C一 C P U 3 4のァク セスの切り換えを行う。 そのために、 M - ROMSMMC 5 2は S — C P U 1 8のァ ドレスデータ S Aおよび C一 C P U 3 4のァ ドレ
差替え用紙 (規則 26) スデータ C Aならびに S— CPU 1 8のデータ S Dおよび C一 C P U 3 4のデータ C Dを受けると共に、 M— ROMシーケンサ 54か らの信号 TMSAを受ける。
図 3のアクセス制御回路 3 5に含まれる M— R OMシーケンサ 5 は図 9に詳細に示すように、 ァドレスデコーダ 5 6および 5 8を 舍む。 ァ ドレスデコーダ 5 6は S— C P U 1 8のア ドレスデータ S Aをデコードし、 ァ ドレスデータ S Aが図 4に示した M— ROM 2 2をアクセスすべきァドレスにヒッ トするとハイ レベルの信号 SMHI T を出力する。 ァドレスデコーダ 5 Bは C一 C P U 3 4のア ドレス データ C Aをデコードし、 ァドレスデータ C Aが図 5に示した M— ROM 2 2をアクセスすべきァ ドレスにヒ 'ン トするとハイ レベルの 信号 CMH1T を出力する, 信号 SMHIT は ANDゲート 6 0の一方入力 に与えられ、 この ANDゲート 60の他方入力には、 S— CP U 1 8が M— R OM 2 2をアクセスするために決められたタイ ミング信 号 SSYNC (後述:図 1 8または図 1 9 ) が与えられる。 この AND ゲート 6 0の出力は信号 TMSAとして、 上述の M— ROMSMMC 5 2に与えられる。 したがって、 M— R OMSMMC 5 2において、 この信号 TMSAがハイレベルのとき S— C PU 1 8のァ ドレス S Aが 有効化され、 ローレベルのとき C— C P U 3 4のア ドレス C Aが有 効化される, このようにして、 有効化されたァ ドレス S Aまたは C Aは、 M— ROM2 2のア ドレス入力 MA (図 7 ) に与えられる。 ァドレスデコーダ 5 6の出力はまた、 ANDゲート 6 2の一方入 力に与えられ、 ANDゲート 6 2の他方入力には S— C P U 1 8が M-R OM 2 2を読み出すとき口一レベルとなる信号 SCPliRDB が与 えられる, AN Dゲート 62の出力信号 SMRD0UT は、 したがって、 S— CPU 1 8が M— ROM2 2を読み出すべきときにハイ レベル となる。 信号 SMHD0UT は、 M— ROM2 2から読み出され、 データ 出力 MDから出力されるプログラムデータを S— C P U 1 8のデー タバス S Dに入力するためのラ 'ンチ バッファ 6 4 (図 7 ) に与え られる。 図 7のラツチ バッファ 6 はデータ出力 MDに結合され たラッチ 6 6を含み、 このラッチ 6 6のラツチ信号としては前述の 信号 SSYNC が与えられる, ラッチ 6 6の上位 8ビッ トおよび下位 8 ビッ トはそれぞれトライステートバッフ 7 6 8および 7 0に与えら れる。 トライステートパッフ 7 6 8および 7 0の制御入力としては ANDゲート 7 2および 7 4の出力がそれぞれ与えられる β AND ゲート 7 2および 7 の各一方入力には上記信号 SMRD0UT が与えら れ、 ANDゲートマ 2の他方入力には S— C PU 1 8のアドレス S Aの最下位ビッ ト SA0 が与えられ、 ANDゲート 7 の他方入力に は最下位ビッ ト SA0 の反転が与えられる。 したがって、 最下位ビッ ト SA0 が口一レベルのとき M— ROM 2 2のデータの下位 8ビッ ト MD 0〜MD 7がトライステートバッファ 7 0から出力され、 最下 位ビッ ト SA0 がハイレベルのとき M— ROM 2 2のデータの上位 B ビッ MD 8〜MD 1 5がトライステ一トバッファ 6 8から出力さ れ、 それぞれ、 S— C P U 1 Bのデータバス S Dに入力される。 図 9において上記信号 CMHIT は NAN Dゲート 7 6の一方入力に 与えられ、 この NAN Dゲート 7 6の他方入力には上述の AN Dゲ —ト 6 0からの信号 TMSAが与えられる。 NAN Dゲート 7 6の出力 は信号 RDY となり、 この信号 fiDY は C— CP U 3 4を停止するため の信号として作用する。 すなわち、 信号 RDY がローレペルのとき C — C P U 3 4がゥヱイ ト状態にされる。 したがって、 C一 C P U 3 4および S— C PU 1 8がともに M— R OM2 2をアクセスすると き、 信号 RDY がローレベルとなり、 C一 C P U 34に信号 CRDYとし て与えられる。 応じて、 C一 C P U 3 4が待機状態になる。 これに より、 S— C P U 1 8と C一 C P U 3 4とが同時に M— R OM2 2 または B— RAM 32をアクセスしたとき、 C一 C P U 3 4が待機 状態になって S— C PU 1 8のアクセスが優先される。 そして、 S - C P U 1 8のアクセスが終了した後に、 C— C P U 34の待機状 態が解除され、 C一 CP U 34は、 M— R OM2 2または B— RA M 3 2にアクセスする。 そのため、 S— C P U 1 8と C一 C P U 3 4とによる M—R OM2 2または B— RAM3 2の非同期的 2フヱ ーズアクセスが可能となり、 1つのメモリ、 すなわち M— ROM 2 2に記憶されたプログラムを S— C P U 1 8と C— C P U 3 4とが 同時に実行することが可能となる。
また、 AN Dゲート 6 0からの信号 TMSAの反転, アドレスデコー ダ 5 8からの信号 CMH1T , および C一 C P.U 3 4が M— ROM 22 を読み出すべきときハイレベルとなる信号 CRWBが AN Dゲート 7 8 の 3入力のそれぞれに与えられる。 したがって、 この ANDゲート 7 8からは、 S— C P U 1 8が M— ROM2 2をアクセスしないと き、 信号 CHHIT に応答して、 CーC P U 34がM—ROM2 2から データを読み出すべきときハイ レベルとなる信号 CMRDOUT が出力さ れる。 信号 CMBDOUT は、 M— R 0M 22からのプログラムデータを C- C P U 3 のデータバス CDに入力するためのラツチ バッフ 7 8 0 (図 7 ) に与えられる。 図 7のラツチ/バ ンファ 8 0は M— R OM 2 2のデータ出力 MDに結合されたラツチ 8 2を含み、 この ラッチ 82のラツチ信号としては信号 CSYNC (後述) が与えられる 。 ラッチ 82の上位 8ビッ トおよび下位 8ビッ トはそれぞれトライ ステートバッファ 8 4および 8 6に与えられる。 トライステートバ ッファ 8 4および 8 6の制御入力としては ANDゲート 88および 9 0の出力がそれぞれ与えられる, ANDゲート 8 8および 9 0の 各一方入力には上記信号 CMRDOUT が与えられ、 AN Dゲート 8 8の 他方入力には C— C P U 34のァ ドレス C Aの最下位ビッ ト CA0 が 与えられ、 ANDゲート 90の他方入力には最下位ビッ ト CA0 の反 転が与えられる。 したがって、 最下位ビッ ト CA0 がローレベルのと き M-ROM22のデータの下位 8ビッ ト MD 0〜MD 7力 トライ ステートバッファ 8 6から出力され、 最下位ビッ ト SA0 がハイ レべ ルのとき M— R OM2 2のデータの上位 8ビッ ト MD 8〜MD 1 5 がトライステートバッファ 8 4から出力され、 それぞれ、 C— C P U 34のデータバス C Dに入力される。
前述の信号 CSYNC は C一 C PU 34が M— ROM2 2からデータ を読み出し、 かつ読み出されたデータをラツチ 8 2にラツチすべき タイ ミングを示す信号であり、 ANDゲート 9 2から出力される, すなわち、 信号 CRWB, 信号 CMH1T , ァドレス C Aの最下位ビッ ト CA 0 の反転, およびクロック信号 PHI2が ANDゲート 9 2の 4入力に 与えられる。 クロック信号 PHI2は、 図 1 8または図 1 9に示すよう に、 C一 CPU 3 4のための周波数を有し、 たとえば 1 0. 7 3M H zのクロックである。 したがって、 信号 CSYNC は C— C P U 34 が M— ROM2 2をアクセスするときにハイレベルとなって出力さ れ、 α—レベルのときラ ンチ 82が M— R ΟΜ 2 2のデータバス Μ Dから与えられる 1 6ビッ トのプログラムデータをラツチする,
S— C P U 1 8および C一 C PU 3 4は、 図 4および図 5のメモ リマップからわかるように Μ— ROM 2 2の全領域を共有しており 、 いつでも非同期に M— R OM2 2をアクセスすることができる, そのときの M— ROM22へのアクセスを調停するのが M— R OM シーケンサ 5 4である。 図 9の M— R OMシーケンサ 5 4の AND ゲート 6 0から信号: TMSAが出力されると図 8の M— ROMSMMC 52において S— C P U 1 Bからのァドレス S Aを有効化する。 し たがって、 この場合には、 C一 CP U 34が M— ROM2 2のアド レスをヒッ トすると NANDゲート 7 6から信号 HDY が出力される ので、 図 1 0 (B) または (C) に示すように、 信号 TMSAのハイレ ベル期間中、 C一 C P U 3 4は M— ROM2 2へのアクセスを待つ 。 したがって、 C— CPU 34は、 信号 TMSAがローレベルとなり、 したがって信号 RDY がハイレベルのとき、 M— R OM2 2をァクセ スすることができる。 このようにして、 3—じ?1; 1 8ぉょび(:ー C P U 34は、 図 1 0 (C) に示すように、 M— R OM 22を非同 期の 2フェーズでアクセスすることができるのである, なお、 図 1 0 (A) に示すように、 C一 C P U 34のみが M— R O 2 2をアクセスする場合、 C一 C PU 3 4の動作周波 は、 ク ロック信号 PHI2によって、 1 0. 7 3 MH zである。 ただし、 図 1 0 ( B ) または ( C ) に示すように、 S— C P U 1 8と C一 C PU 34とが 2フェーズで M— ROM 2 2をアクセスする場合には、 S - C PU 1 8が M— ROM2 2をアクセスしている期間中は C一 C P U 3 4がゥヱイ ト状態になるため、 C一 C P U 3 4の動作周波数 は 5. 3 7 MH zとなる。 しかしながら、 S— CP U 1 8の動作周 波数はシステムクロック信号 SYSCK によって、 常に、 2. 68 MH zとされる。
図 8に示す B— RAMS MM C 9 4および I一 RAMSMMC 9 6は、 ともに、 先に説明した M— R OMSMMC 5 2と同様の機能 を果たす。 すなわち、 B— R AMSMMC 9 4は、 B— RAM32 (図 3 ) のバンク切り換えを行うと共に、 S— C P U 1 8および C — C P U 34の切り換えを行う。 そのために、 B— RAMSMMC 94は S— C P U 1 8のァドレスデータ S Aおよび C一 CP U 34 のァ ドレスデータ CA、 ならびに S— C PU 1 8のデータ S Dおよ び C一 C P U 3 4のデータ CDを受けると共に、 B— RAMシーケ ンサ 9 8からの信号 TBSAを受ける。
I一 RAMSMMC 9 6は、 I一 RAM3 6 (図 3 ) のバンク切 り換えを行うと共に、 S— CPU 1 8および C— C PU 3 4のァク セスの切り換えを行う。 そのために、 I— R AMSMMC 9 6は S 一 C P U 1 8のアドレスデータ S Aおよび C一 C P U 3 4のァドレ スデータ C A、 ならびに S— C P U 1 8のデータ S Dおよび C— C P U 3 4のデータ C Dを受けると共に、 I一 RAMシーケンサ 1 0 0からの信号 T1SAを受ける。
図 3のアクセス制御回路 3 5に舍まれる B— RAMシ一ケンサ 9 8は、 I — RAMシーケンサ 1 0 0と同じ回路構成を有し、 図 1 1 に詳細に示すように、 ァドレスデコーダ 1 0 2および 1 0 4を舍む 。 ァドレスデコーダ 1 0 2は S— C P U 1 8のアドレスデータ S A をデコードし、 ァドレスデータ SAが B— RAM 3 2をアクセスす べきア ドレスにヒッ トするとハイ レベルの信号 SBHIT を出力する。 ァ ドレスデコーダ 1 0 4は C— C P U 3 4のア ドレスデータ C Aを デコードし、 ア ドレスデータ CAが B— RAM 3 2をアクセスすべ きア ドレスにヒッ トするとハイレベルの信号 CBHIT を出力する。 信 号 SBHIT は AN Dゲート 1 0 6の一方入力に与えられ、 この AN D ゲート 1 0 6の他方入力には、 S—〇? 1! 1 8が8— 1¾八\13 2を アクセスすることができるタイ ミングを決めるための先に述べたタ ィ ミング信号 SSYNC が与えられる。 この AN Dゲート 1 0 6の出力 は信号 TBSAとして、 B— RAM S MM C 9 4に与えられる。 したが つて、 この信号 TBSAがハイ レベルのとき、 S— C P U 1 8が B— R AM 3 2をアクセスするタイ ミングとなる。 すなわち、 信号 TBSAが ハィ レベルのとき B— RAMSMM C 9 4は S— C P U 1 8からの ア ドレス SAを B— RAM 3 2のア ドレス入力 B Aに与え、 ローレ ベルのとき、 C— C P U 3 4からのァドレス C Aがァドレス入力 B Aに与えられる。
差替え用紙 (規則 26) ' ァ ドレスデコーダ 1 0 2の出力は、 また、 AN Dゲート 1 0 8の 一方入力に与えられ、 AN Dゲート 1 0 8の他方入力には S— C P U 1 8が B— RAM 3 2を読み出すときローレベルとなる信号 SCPU RDB が与えられる。 AN Dゲート 1 0 8の出力信号 SBRD0UT は、 し たがって、 S— C P U 1 8が B— R AM 3 2を読み出すべきときに ハイ レベルとなり、 B— R AM 3 2へデータを書き込むときローレ ベルとなる。 信号 SBRD0UT は、 B— RAM 3 2のデータ端子 B Dか らのデータを S— C P U 1 8のデータバス S Dに入力するためのラ ツチ/バッファ 1 1 0 (図 8 ) に与えられる。 図 8のラツチノバッ ファ 1 1 0はデータ端子 B Dに結合されたラツチ 1 1 2を含み、 こ のラッチ 1 1 2のラツチ信号としては前述の信号 SSYNC が与えられ る。 ラッチ 1 1 2は B— RAM 3 2の 8ビッ トの出力データを受け 、 それを信号 SSYNC に応答してラッチする。 ラッチ 1 1 2の出力は トライステートバッファ 1 1 4に与えられる。 また、 B— RAM 3 2の 8ビッ トの出力データはそのまま トライステートバッファ 1 1 6に与えられる。 トライステートバッファ 1 1 4および 1 1 6の制 御入力としては B— RAMシ一ケンサ 9 8からの信号 SBRD0UT およ び信号 CBRD0UT (後述) が与えられる。 したがって、 信号 SBRD0UT がハイレベルのとき B— R AM 3 2の出力データがトライステート バッファ 1 1 4から出力される。 同様に、 信号 CBRD0UT がハイ レべ ルのとき B— RAM 3 2の出力データがトライステートバッファ 1 1 6から出力され、 それぞれ、 S— C P U 1 8のデータバス S Dお よび C— C P U 3 4のデータバス C Dに入力される„
差替え用紙 (規貝 U26) ' 図 1 1の上記信号 CMHIT は NAN Dゲート 1 1 8の一方入力に与 えられ、 この NAN Dゲート 1 1 8の他方入力には上述の ANDゲ —ト 1 0 6からの信号 TBSAが与えられる。 N AN Dゲート 1 0 6の 出力は信号 RDY となり、 この信号!? DY は C一 C P U 3 4を停止する ための信号として作用する。 すなわち、 信号 RDY が口一レベルのと き C— C P U 3 4がゥヱイ ト状態にされる。 したがって、 C— C P U 3 4および S— C P U 1 8がともに B— RAM 3 2をアクセスす るとき、 信号 が口一レベルとなり、 C— C P U 3 4に信号 CRDY として与えられる。 応じて、 C— C P U 3 4が待機状態になる。 また、 AN Dゲート 1 0 6からの信号 TBSAの反転, ア ドレスデコ ーダ 1 0 4からの信号 CBHIT , および C— C P U 3 4が書き込みの とローレベルとなり読み出しのときハイ レベルとなる信号 CRWBが A NDゲート 1 2 0の 3入力にそれぞれ与えられる。 したがって、 こ の A N Dゲート 1 2 0からは、 S— C P U 1 8が B— RAM3 2を アクセスしていないとき、 信号 CBHIT に応答して、 ハイ レベルとな る信号 CBRD0UT が出力される。 信号 CBRD0UT は、 前述のように、 ト ラィステ一トバッファ 1 1 6の制御信号として与えられる。
先に述べたように、 I 一 RAMシーケンサ 1 0 0も B— RAMシ 一ケンサ 9 8と同じであり、 したがって、 ここでは、 I — RAMシ 一ケンサ 1 0 0の詳細な説明は省略する。 ただし、 図 1 1に、 図 1 1の回路が I — RAMシ一ケンサ 1 0 0として用いられたとき与え られまたは出力される信号を括弧書きで図示した。
図 3のアクセス制御回路 3 5に含まれる I —RAMシーケンサ 1
差替え用紙 (規則 26) 00からの信号 SIBDOUT は、 I— RAM 3 6からのデータを S— C P U 1 8のデータバス S Dに入力するためのラツチ/バッファ 1 2 2 (図 B ) に与えられる * 図 8のラツチ バッファ 1 2 2は 1一 R AM 3 6の読出データ 1 RDを受けるラツチ 1 2 4を舍み、 このラ ツチ 1 24のラツチ信号としては前述の信号 SSYNC が与えられる, ラッチ】 2 4は 1— RAM3 6の 8ビッ 卜の出力データを受け、 そ れを信号 SSYNC に応答してラツチする。 ラッチ 1 24の出力はトラ イステートバッファ 1 2 6に与えられる。 また、 I — RAM 3 6の 8ビッ トの出力データはそのまま トライステートバッファ 1 2 8に 与えられる。 トライステートバッファ 1 2 6および 1 2 8の制御入 力としては 1— RAMシーケンサ 1 00からの信号 SIHD0UT および 信号 CIIiDOUT が与えられる。 したがって、 信号 SIRD0UT がハイ レべ ルのとき I一 RAM 3 6の出力データがトライステートバ ソ フ 7 1 2 6から出力される。 同様に、 信号 CIRD0UT がハイ レベルのとき I - AM 3 6の出力データがトライステートバッファ 1 28から出 力され、 それぞれ、 S— C P II 1 8のデータバス SDおよび C一 C P U 34のデータバス CDに入力される。
B— 1¾八1^132ぉょび 1 —^八\13 6への書込データはセレクタ 1 3 0および 1 3 2によってそれぞれ選択される。 詳しく述べると 、 セレクタ 1 3 0は S— C P U 1 8のデータバス S Dからの 8ビン 卜のデータおよび C— C P U 3 4のデータバス C Dからの 8ビッ ト のデータを受ける。 セレクタ 1 3 0の選択信号としては B— RAM シーケンサ 9 8からの信号 BDY が与えられる。 すなわち、 信号 BM がローレベルのときセレクタ 1 3 0は S— C P U 1 8からの書込デ ータを選択して B— RAM 32に与え、 信号 RDY がハイ レベルのと きセレクタ 1 30は C— C PU 3 4からの書込データを選択して B -RAM 3 2に与える, 同じように、 セレクタ 1 3 2は S— C P U 1 8のデータバス S Dからの 8ビッ トのデータおよび C一 C P U 3 4のデータバス CDからの 8ビン トのデータを受ける。 セレクタ 1 3 2の選択信号としては I—RAMシーケンサ 1 00からの信号 RD Ϊ が与えられる, すなわち、 信号 RDY がローレベルのときセレクタ 1 3 2は S— CP U 1 8からの書込データを選択して I —RAM 3 6に与え、 信号 RDY がハイレベルのときセレクタ 1 3 2は C— C P U 34からの書込データを選択して I一 RAM3 6に与える。
S— CP U 1.8および C一 C P U 3 4は、 図 4および図 5のメモ リマップからわかるように B— RAM 3 2の全領域を共有しており 、 いつでも非同期に B— RAM 3 2をアクセスすることができる。 そのときの B— RAM 3 2へのアクセスを調停するのが B— RAM シーケンサ 9 8である。 図 1 1の B— RAMシーケンサ 9 8の AN Dゲー ト 1 0 6からハイ レベルの信号 TBSAが出力されると図 Bの B -R A SM C 9 4において S— C P U 1 8からのァ ドレス SA を有効化する。 したがって、 この場合には、 C一 CP U 3 4が B— RAM3 2のアドレスをヒッ トすると NANDゲート 1 1 8から信 号 RDY が出力されるので、 図 1 2 (B) または (C) に示すように 、 信号 TMSAのハイレベル期間中、 じーじ? 1; 3 4は8— 1¾八1^3 2 へのアクセスを待つ, したがって、 C— C P U 3 4は、 信号 が ローレベルのとき、 かつ信号 TMSAがローレベルのとき、 B— RAM 3 2をアクセスすることができる。 このようにして、 S— C P U 1 8および C— C P U 3 4は Β—: RAM 3 2へ完全に 2フェーズァク セスが可能である,
なお、 図 1 2 (A) に示すように、 C— C P U 3 4のみが B— R AM 3 2をアクセスする場合、 C— C P U 3 4の動作周波数は、 ク ロック信号 PHI2によって、 5. 37 MH zである, ただし、 図 1 2 (B) または (C) に示すように、 S—じ? 1! 1 8とじーじ? 1; 3 とが 2フェーズで B— RAM 3 2をアクセスする場合には、 C一 C PU 3 4の動作周波数は 2. 6 8 MH zとなる。 また、 S— CP u 1 8の動作周波数はシステムクロック信号 syscKによって、 常に
、 2. 6 8 H zとされる。
同様に、 S— C P U 1 8および C— C P U 3 4は、 Uおよび図 5のメモリマツブからわかるように I — R AM 3 6の全領域にァク セスでき、 いつでも非同期に I— RAM3 6をアクセスすることが できる, そのときの I一 RAM3 6へのアクセスを調停するのが I -RAMシーケンサ 1 00である。 図 1 1の I一 RAMシーケンサ 1 0 0の AN Dゲート 1 0 6からハイ レベルの信号 TISAが出力され ると図 8の I— RAMSMMC 9 6において S— C P U 1 8からの ア ドレス S Aを有効化する。 したがって、 この場合には、 C一 C P U 3 4が I一 RAM 3 6のア ドレスをヒッ トすると NANDゲート 1 1 8から信号 RDY が出力されるので、 図 1 3 (B) に示すように 、 信号 TISAのハイ レベル期間中、 じーじ?1;3 4は 1ー1¾八1^36 へのアクセスを待つ。 したがって、 C— C P U 3 4は、 信号 RDYが 口一レベルのとき、 かつ信号 TISAがローレベルのとき、 I— RAM 3 6をアクセスすることができる。 このようにして、 S— C P U 1 8および C— C P U 3 4は I —RAM3 6へ完全に 2フェーズァク セスが可能である。
なお、 図 1 3 ( A) に示すように、 C一 C P U 3 4のみが I 一 R AM 3 6をアクセスする場合、 C— C P U 3 4の動作周波数は、 ク ロック信号 PHI2によって、 1 0. 7 3 MH zである。 ただし、 図 1 3 (B) に示すように、 S— C P U 1 8と C— C P U 3 4とが 2フ ェ一ズで I —RAM 3 6をアクセスする場合には、 C— C P U 3 4 の動作周波数は 5. 3 7 MH zとなる。 しかしながら、 S— C P U 1 8の動作周波数はシステムクロック信号 SYSCK によって、 常に、 2. 6 8 MH zとされる。
図 7に戻って、 S C P U I F 1 3 4は、 S— C P U 1 8と C— C P U 3 4との間で割り込み I R Qを互いに与えたり、 S— C P U 1 8から C一 C P U 3 4ヘリセッ ト信号や割り込み NM Iを与えたり 、 あるいは S— C P U 1 8と C— C P U 3 4との間でベクタを互い に与える。 そのために、 この S C P U I F 1 3 4は、 S— C P U 1 8のァ ドレス S Aおよびデータ S Dならびに C— C P U 3 4のァ ド レス C Aおよびデータ C Dを受ける。
この S C P U I F 1 3 4が図 1 4〜図 1 6に詳細に示される。 図 1 5に示すように、 S— C P U 1 8のデータ S Dの下位 8ビッ ト S D 0〜S D 7の最上位ビッ ト S D 7を受ける C— C P Uコントロー
差替え用紙 (規則 26) ノレレジスタ 1 3 6, 最上位から 3ビッ ト目のビッ ト S D 5を受ける C一 C P Uコントロールレジスタ 1 3 8 , 最上位から 4ビッ ト目の ビッ ト S D 4を受ける C一 C P Uコン ト口一ルレジスタ 1 4 0, お よび下位 4ビッ ト S D 3〜S D 0を受ける C一 C P Uコン トロール レジスタ 1 4 2を舍む。 また、 それぞれがデータ S D 0〜S D 7の 全てのビッ トを受けるデコーダ 1 4 4および 1 4 6, ならびにべク タレジスタ 1 4 8, 1 5 0, 1 5 2, 1 5 4, 1 5 6, および 1 5 8を舍む。 これら C— C P Uコントロールレジスタ, デコーダおよ びべクタレジスタ 1 36〜 1 58の全てのク αックとして、 後述の クロックジェネレータ 2 1 6からの S— C P U 1 8のためのシステ ムクロック信号 SYSCK がィンバ一タ 1 6 0によって反転されて与え られる。
C— C P Uコン トロールレジスタ 1 3 6〜 1 4 2のィネーブル信 号としては、 図 7のア ドレスデコーダ 5 0からの、 S— C P U 1 8 が C— C P U 3 4を制御するためのコントロール信号を書き込むタ ィ ミング信号 CCNTW が与えられる。 デコーダ 1 4 4および 1 4 6の ィネーブル信号としては、 図 7のァドレスデコーダ 5 0からの、 S - C P U 1 8が割り込みを制御するためのコントロール信号を書き 込むタイ ミング信号 SIFWおよび SICWが与えられる。 リセッ トベクタ レジスタ 1 4 8および 1 50のィネーブル信号としては、 図 7のァ ドレスデコーダ 5 0からの、 S— C P U 1 8がリセッ トベクタを書 き込むタイ ミング信号!? VLWおよび RVHWが与えられ、 NM Iベクタレ ジスタ 1 5 2および 1 5 4のィネーブル信号としては、 図 7のァド
差替え用紙 (規則 26) レスデコーダ 5 0からの、 S— C P U 1 8が NM Iベクタを書き込 むタイ ミング信号 CNVLW および CNVHW が与えられ、 そして I RQベ クタレジスタ 1 5 6および 1 5 8のィネーブル信号としては、 図 7 のア ドレスデコーダ 5 0からの、 S_C P U 1 8力 I RQベクタを 書き込むためのタイ ミング信号 CIVLW および CIVHW が与えられる。 また、 図 1 6に示すように、 S C P U I F 1 3 4は C— C P U 3 からのデータ C Dの下位 8ビッ ト C D 7〜CD 0の最上位ビッ ト C D 7を受ける S— C P Uコ ン ト口一ルレジスタ 1 6 2, および下 位 8ビッ ト CD 7〜CD 0の下位 7ビッ ト CD 6〜CD 0を受ける
5— C P Uコン トロールレジスタ 1 6 4を舍む。 さらに、 データ C Dの下位 8ビッ ト C D 7〜 C D 0は 2つのデコーダ 1 6 6および 1
6 8 , ならびに 4つのべクタレジスタ 1 7 0 , 1 7 2, 1 7 4およ び 1 7 6に与えられる。 これらレジスタおよびデコーダ 1 6 2〜 1
7 6のクロックとしては、 クロックジェネレータ 2 1 6からの C— C P U 3 のためのクロック信号 PHI2がィ ンバ一タ 1 7 8によって 反転されて与えられる。
S— C P Uコン トロールレジスタ 1 6 2および 1 6 4のイネ一ブ ル信号としては、 図 7のァ ドレスデコーダ 5 0からの、 C— C P U 3 4が S— C P U 1 8を制御するためのコントロール信号を書き込 むタィ ミング信号 SCNTW が与えられる。 デコーダ 1 6 6のィネーブ ル信号としては、 図 7のァドレスデコーダ 5 0からの、 C— C P U 3 4が S— C P U 3 4からの割り込みを制御するためのコン トロー ル信号を書き込むタイ ミ ング信号 CIEWおよび CICWが与えられる„ N
差替え用紙 (規則 26) M Iベクタレジスタ 1 7 0および 1 7 2のィネーブル信号としては 、 図 7のァドレスデコーダ 5 0からの、 C— C P U 3 4が NM Iベ クタを書き込むためのタイ ミング信号 SNVLW および SNVHW が与えら れ、 I R Qべク夕レジスタ 1 7 4および 1 7 6のィネーブル信号と しては、 図 7のァドレスデコーダ 5 0からの、 C— C P U 3 4が I R Qベクタを書き込むためのタイ ミング信号 SIVLW および SIVHW が 与んられる。
C— C P Uコン ト口一ルレジスタ 1 3 6の出力 Qは、 デコーダ 1 6 6からの C一 C P U 3 4から S— C P U 1 8への I R Q割り込み を許可するための信号 SIRQENとともに、 AN Dゲート 1 8 2に与え られ、 この AN Dゲート 1 8 2からは、 S— C P U 1 8から C一 C P U 3 に対して I R Q割り込みをかけるための信号 CIRQが出力さ れる。 なお、 C一 C P Uコントロールレジスタ 1 3 6は、 デコーダ 1 6 8からの S— C P U 1 8からの I R Q割り込みを終了するため の信号 SIRQCLによってリセッ トされる。 C— C P Uコ ン トロールレ ジスタ 1 3 8の出力 Qは、 そのまま、 S— C P U 1 8が C一 C P U
3 4をリセッ トするための信号 CRESとして出力される。 D— F F 1
4 0の出力 Qは、 デコーダ 1 6 6からの C— C P U 3 4から S— C P U 1 8への NM I割り込みを許可する信号 SNMIENとともに、 AN Dゲート 1 8 2に与えられ、 この AN Dゲ一ト 1 8 2からは、 C一 C P U 3 4に対して NM I割り込みをかけるための信号 CNMIが出力 される。 なお、 D— F F 1 4 0は、 デコーダ 1 6 8からの NM I割 り込みを終了するための信号 SNHICLによってリセッ トされる。 C一
差替え用紙 (規則 26) P Uコン トロールレジスタ 1 4 2からは、 S— C P U 1 8から C - C P U 3 4に与えるための 4ビッ トの信号 SMEG3 〜SMEG0 が出力 される。 この 4ビッ トの信号は、 割込処理のステータスを表すため に用いられ、 たとえば、 S— C P U 1 8が C— C P U 3 4に NM I 割込をかけると同時に C— C P Uコントロールレジスタ 1 4 2の SM EG3 〜SMEG0 に 0を書き込むことにより、 C一 C P U 3 4に対して 0番の NM I割込をかけたことを知らせることができる。 SMEG3 〜 SMEG0 の 4ビッ トを用いれば 0〜 1 5までの数字を表すことができ るので、 したがって S _ C P U 1 8は C一 C P U 3 4に対して 1 6 種類の NM I割込をかけることができる。 同様に I R Q割込の際に SMEG3 〜SMEG0 を用いれば、 1 6種類の I RQ割込をかけることが できる。
S— C P Uコン トロールレジスタ 1 6 2の出力は、 デコーダ 1 4 4からの S— C P U 1 8から C— C P U 3 4への I R Q割り込みを 許可するための信号 CIRQENとともに、 ANDゲート 1 8 4に与えら れ、 この A N Dゲート 1 8 4からは、 C— C P U 3 4から S— C P U 1 8に対して I RQ割り込みをかけるための信号 SIRQが出力され る。 なお、 S— C P Uコン トロールレジスタ 1 6 2は、 デコーダ 1 4 4からの C— C P U 3 4からの I R Q割り込みを終了するための 信号 CIRQCUこよってリセッ トされる。 S— C P Uコン トロールレジ スタ 1 6 4からは、 C— C P U 3 4から S— C P U 1 8に与えるた めの 4ビッ 卜の信号 CMEG3 〜CMEG0 が出力される。 この 4ビッ トの 信号は、 割込処理のステータスを表すために用いられ、 たとえば、
差替え用紙 (規則 26) C— C P U 3 4が S— CPU 1 8に I R Q割込をかけると同時に S 一 C P Uコントロールレジスタ 1 6 4の CMEG3 〜CMEG0 に Dを書き 込むことにより、 S— C PU 1 8に対して 0番の I RQ割込をかけ たことを知らせることができる。 CMEG3 〜CMEG0 の 4ビツ トを用い れば 0〜 1 5までの数字を表すことができるので、 したがって C一 C P U 3 4は S— C PU 1 8に対して 1 6種類の I RQ割込をかけ ることができる。 同様に、 後述のように C一 CPU 3 4が S— CP U 1 8の NM Iベクタを変更する際に CMEG3 〜CMEG0 を用いれば、 1 6種類の NM Iベクタの変更を行うことができる。
なお、 ANDゲート 1 8 0および 1 8 2の出力はバッファ 1 8 6 および 1 8 8を通して、 また、 C一 C P Uコントロールレジスタ 1
4 2の出力はバツファ 1 9 0を通して、 S— C P U 1 8へのデータ
5 D 7〜S D 0として出力される, さらに、 リセッ トベクタレジス タ 1 4 8および 1 5 0の出力はバッファ 1 9 2および 1 94を通し て、 リセ 'ン トベクタデータ BVL7〜! JVL0および HVH7〜RVH0として、 デ ータ S D 7〜S D 0に出力される, NM 1ベクタレジスタ 1 5 2お よび 1 5 4の出力はバッフ 7 1 9 6および 1 9 8を通して、 NM I ベクタデータ CNVL7 〜(: NVL0 および CNVH7 〜CNVH0 として、 データ S D 7〜SD 0に出力される。 I RQベクタレジスタ 1 5 6および 1 5 8の出力はバッファ 2 0 0および 20 2を通して、 I RQべク タデータ CIVL7 〜CIVL0 および CIVH7 〜CIVH0 として、 データ SD 7〜S D 0に出力される,
また、 ANDゲート 1 84の出力はバッフ 7 204を通して、 ま た、 S— C P Uコン トロールレジスタ 1 6 の出力はバッファ 2 0 6を通して、 C一 C P U 3 4へのデータ CD 7〜CD 0として出力 される。 さらに、 NM Iベクタレジスタ 1 7 0および 1 Ί 2の出力 はバッファ 2 08および 2 1 0を通して、 NM Iベクタデータ SNVL 7 〜SNVL0 および SNVH7 〜SNVH0 として、 データ CD 7〜CD 0に 出力される, I R Qベクタレジスタ 1 Ί および 1 マ 6の出力はパ ッフ 7 2 1 2および 2 1 を通して、 I R Qベクタデータ SIVL7 〜 SIVL0 および SIVH7 〜SIVH0 として、 データ C D 7〜 C D 0に出力 される。
図 7に示すクロックジヱネレータ 2 1 6は、 原発振器 2 3 (図 3 ) からの周波数約 2 1 MH zの原クロックを受け、 S— C P U 1 8 および C— C P U 3 4に必要なシステムク口ック信号 SYSCK および クロック信号 PH120 等を作成する。 図 1 7を参照すると、 クロック ジェネレータ 2 1 6は、 原クロック信号 Z21Mを受け、 それをパッフ ァ 2 1 8を通して、 図 1 8または図 1 9に示すようなクロック信号 21M として出力する, クロック信号 21M が D— F F 2 20および 2 2 2のクロック入力に与えられるとともに、 ィンバータ 2 2 6によ つて反転されて D— F F 224のクロック入力に与えられる。 なお 、 D— F F 2 2 0〜2 2 4の各リセッ ト入力には、 システムリセッ ト信号!? ES が与えられる。 D— F F 2 2 0のデータ入力にはバッフ ァ 2 2 8を介して、 クロックジェネレータ 25 (図 3 ) から原シス テムクロ ンク信号 ZSYSCKが与えられ、 D— F F 222のデータ入力 にはデータ 22 0の出力 Qが与えられる。 D- F F 2 2 2の出力 Q は D— F F 2 2 0の出力 Qの反転とともに ANDゲート 2 30に与 えられる。 ANDゲート 2 3 0の出力は反転されて ANDゲート 2 32の一方入力に与えられ、 他方入力には D— F F 2 2 の出力 Q が反転されて与えられる。 そして、 D— F F 2 24の出力 Qが、 ノヽ' ンファ 2 3 4を通して、 図 1 8または図 1 9に示すようなクロック 信号 PHI2として出力される。 すなわち、 クロック信号 PHI2は、 原ク ロック信号 21M が 2分周されたものである。
原システムクロック信号 ZSYSCKがバッファ 22 8を介して、 図 1 8または図 1 9に示すようなシステムクロ 'ンク信号 SYSCK として出 力される。
ANDゲート 2 3 0の出力が D— F F 2 3 6のデータ入力に与え られる。 この D— F F 2 3 6のリセッ ト入力には、 他の D— F F 2
3 8, 2 4 0および 24 2と同様に、 システムリセッ ト信号!? ES が 与えられる。 また、 これら D— F F 2 3 6〜2 4 2のクロック入力 としては、 クロック信号 PHI2が与えられる, ノヽ 'ンフ 7228からの システムクロック信号 SYSCK が反転されて ANDゲート 2 4 4およ び 2 4 6の一方入力に与えられ、 この ANDゲート 2 4 4および 2
4 6の他方入力には D— F F 2 4 0の出力 Qが与えられる, AND ゲート 24 4の出力が D— F F 23 8のデータ入力に与えられ、 D - F F 2 3 8の出力 Qは、 S— C P U 1 8が M— ROM2 2からの プログラムデータを読み出すときローレベルとなる信号 SCPURDB お よび S— C P U 1 Bが B— RAM 3 2または I —RAM 36にデー タを読み出すときローレベルとなりかつ書き込むときハイ レベルと なる信号 SCPUWRD のそれぞれの反転とともに、 ORゲート 2 4 8に 与えられる。 データ 2 3 6の出力 Qが ANDゲート 24 6の出力と ともに、 ORゲート 2 5 0を介して D— F F 24 0のデータ入力に 与えられる。 D— F F 2 4 0の出力 Qは ORゲート 2 8の出力とと もに、 ANDゲート 25 2 K入力に与えられ、 ANDゲート 252 の出力が 0 Rゲート 2 5 0の出力とともに ORゲート 2 5 4に与え られる。 ORゲート 2 54の出力が D— F F 24 2のデータ入力に 与えられる,
D- F F 240の出力 Qが S— CP U 1 8が 3. 5 8MH zで動 作するときに S— C P U 1 8のメモリ 2 2 , 32または 3 6へのァ クセスを許容するための信号 SSSYNCとして出力されるとともに、 D -F F 2 4 2の出力 Qが S— CP U 1 8がメモリ 2 2. 3 2または 3 6をアクセスするのを許容するためのタイ ミング信号 とし て出力される。 すなわち、 信号 SSYNC は図 1 8または図 1 9に示す ようにように、 システムクロック信号 SYSCK (図 1 8または図 1 9 では SYSCK-FASTまたは SYSCK-SLOWS で示されている) の後緣よりや や進んだ後縁を有し、 信号 SSSYNCは信号 SSYNC の前緑と同期した前 緣を有し、 原クロック信号 21M の 2周期分に相当する呤間持続して 後縁となる。
このようにして、 クロックジェネレータ 2 1 6によって、 S— C P U 1 8の動作ク口ック信号 SYSCK および C一 C P U 3 4の動作ク 口ツク信号 PHI2が作成されるとともに、 S— C PU I Bおよび C一 CP U 3 4のメモリ 2 2. 32または 3 6へのアクセスを許容しま たは禁止するための信号 SSYNC (SSSYNC) が作成される,
システムクロック信号 SYSCK とクロック信号 PHI2との位相を合わ せるために、 原クロック信号 21M が用いられるが、 クロック信号 SY SC がこの信号 21H と同期がとれるのは、 図 1 8または図 1 9で示 す、 SYSCK-FASTのときかあるいは SYSCK-SLDWのときである。 そして 、 S— C P U 1 8は、 このクロック信号 SYSCK-PASTまたは SYSCK-SL 0Wの後縁でメモリ 2 2, 32または 3 6から読み出されたデータを 読み込む。 したがって、 S— C PU 1 8がこれらメモリへアクセス する期間は、 このクロック信号 SYSCK の後緣より前に位置しなけれ ばならない, そこで、 図 1 7のクロックジェネレータ 2 1 6では、 信号 SSYNC または SSSYNCの後緣はクロック信号 SYSCK の後緣より前 に存在する。 なお、 S— C P U 1 8が 3. 5 B MH zで動作すると きには図 1 9に示すようにクロック信号 SYSCK の位相が変わるので 、 S - C P U 1 Bのアクセスを許容するのに信号 SSYNC を用いると 前後の動作サイクルと重なりを生じることがある。 そこで、 図 1 9 に示すように信号 ssyNc より短いハイ レベル期間を有する信号 sssy
NCを用いる。
そして、 前述のように、 この信号 SSYNC(SSSYNC) のハイ レベル期 間に S— C PU 1 8のメモリへのアクセスを許容し、 ローレベル期 間に C- C P U 34のメモリへのアクセスを許容することによって 、 S-C PU 1 8および C一 CPU 3 4が実質的に同時に、 デュア ルフェーズで、 各メモリ 22, 32または 3 6をアクセスすること ができるのである。 ここで、 図 2 0〜図 2 5を参照して、 S C P U I F 1 3 4を介し て S— C PU 1 8および C一 C PU 3 4の相互作用について説明す る。
S— CPU 1 8が C一 C P U 3 4を起動する場合、 図 2 0のステ ップ S 1に示すように、 S— C P U 1 8は、 データ S D 0〜S D 7 によって、 リセッ トベクタレジスタ 1 4 8および 1 50に、 C— C P U 3 に実行させたいプログラムの先頭ァドレスをセッ トする。 そして、 ステップ S 2において、 C一 C P Uコントロールレジスタ 1 3 8にデータビッ ト S D 5によって Γ 1 j をセッ 卜する, 応じて 、 C— CPUコン トロールレジスタ 1 38からハイ レベルの C一 C P Uリセ 'ン ト信号 CBESが出力され、 それが図 7に示すように C— C P U 3 4に与えられ、 C一 CP U 34のリセッ トが解除される。 な お、 C— C PU 34は、 応じて、 M— ROM 2 2にアクセスし、 リ セッ トベクタレジスタ 1 4 8および 1 50によって指定された M— R OM 2 2の先頭ァ ドレスからブ αグラム 実行する。
S— C PU 1 8が C- C P U 3 4を停止する場合、 図 2 1のステ ップ S 3に示すように、 5— CP U 1 8は、 C一 CP Uコントロー ルレジスタ 1 3 8にデータビ 'ン ト SD 5によって 「 0」 をセツ 卜す る, 応じて、 C一 C P Uコントロールレジスタ 1 3 8からローレべ ルの C_ C PUリセッ ト信号 CBESが出力され、 それが図 7に示すよ うに C一 CP U 3 4に与えられ、 C一 C P U 34がリセッ トされる
S—じ?1! 1 8が( ーじ?1; 3 4に NM I割り込みをかける場仓, 図 2 1のステップ S 4に示すように、 S— C P U 1 Bは、 データ S D 0〜SD 7によって、 NM Iベクタレジスタ 1 52および 1 54 に、 M— : R OM 22の NM Iプログラムが格納されている先頭ァド レスをセッ トする。 そして、 ステップ S 6において、 C一 C PUコ ントロールレジスタ 1 4 0にデータビッ ト S D 4によって Γ 1 j を セッ トする。 応じて、 C— C P Uコントロールレジスタ 1 4 0から ハイレベルの C一 CPU割り込み信号 CNMIが出力され、 それが図 7 に示すように C— CP U 34に与えられ、 C一 C P U 34に割り込 み起動がかけられる, なお、 C— C P U 34は、 応じて、 M— R 0 M22にアクセスし、 NM 1ベクタレジスタ 1 52および 1 54に よって指定された M— ROM22の先頭ァドレスから NM I割り込 みプログラムを実行する。
S - C P U 1 8が C— CPU 34に I R Q割り込みをかける場合 、 図 23のステップ S 7に示すように、 S— C PU 1 8は、 データ SD 0〜SD7によって、 I RQベクタレジスタ 1 56および 1 5 8に、 M— R OM 22の I R Qプログラムが格納されている先頭ァ ドレスをセッ トする。 そして、 ステップ S 8において、 C一 CPU コント口ールレジスタ 1 36にデータビッ ト S D 7によって Γ 1 j をセッ トする, 応じて、 C一 C P Uコントロールレジスタ 1 36力、 らハイ レベルの C— C P U割り込み信号 CIHQが出力され、 それが図 7に示すように C一 C P U 34に与えられ、 C—CPU 34に割り 込み起動がかけられる。 なお、 C一 CPU 34は、 応じて、 M— R OM22にアクセスし、 I RQベクタレジスタ 1 56および 158 によって指定された M— ROM 22の先頭ァドレスから I RQ割り 込みプログラムを実行する。
次に、 C一 CPU34が S— C P U 1 8の NM Iベクタを変更す る場合、 図 24のステップ S 1 0に示すように、 C— C P U 34は 、 データ CD 0〜CD 7によって、 Iベクタレジスタ 1 70お よび 1 7 2に、 M— ROM22の NM Iプログラムが格納されてい る先頭ァドレスをセッ トする。 そして、 ステップ S 1 1において、 S— C P Uコントロールレジスタ 1 62にデータビッ ト CD 4によ つて 「 1」 をセッ トする。 応じ、 S— C P U 1 8に NM I割込がか かったときに読み出される NM Iベクタアドレスが M— R OM 22 内から NM Iベクタレジスタ 1 70および 1 7 2に変更される。 な お、 S— C P U 1 8は NM I割込がかかったことに応じて M— R 0 22をアクセスし、 NM Iベクタレジスタ 1 7 0および 1 Ί 2に よって指定された M— R OM 22の先頭ァドレスから NM I割込み プログラムを実行する。
そして、 C一 CP U 34が S— C P U 1 8に I RQ割り込みをか ける場合、 図 25のステップ S 1 2に示すように、 C一 C P U 34 は、 データ CD 0〜CD 7によって、 I RQベクタレジスタ 1 7 4 および 1 7 6に、 M— ROM22の I R Qプログラムが格納されて いる先頭ァドレスをセッ トする。 そして、 ステップ S 1 3において 、 S— C P Uコント口一ルレジスタ 1 6 2にデータビッ ト C D 7に よって 「 1」 をセッ トする。 応じて、 S— CP Uコントロールレジ スタ 1 62からハイ レベルの S— C P U割り込み信号 SIRQが出力さ
差替え用紙 (規則 26) れ、 それが S— C P U 1 8に与えられ、 S— C P U 1 8に割り込み 起動がかけられる。 なお、 S— C P U 1 8は、 応じて、 M— R OM 2 2にアクセスし、 I R Qベクタレジスタ 1 7 4および 1 7 6によ つて指定された M— R OM 2 2の先頭ァドレスから I R Q割り込み プログラムを実行する。
実施例のゲームシステム 1 0においては、 コプロセサ 3 0の C一 C P U 3 4は、 主として、 (a) ァクセラレータモ一ド, (b) ミック ス処理モード, および(c) 代行処理モードにおいてその威力を発揮 する。
(a) ァクセラレータモード
このモ一ドでは、 図 2 6に示すように C一 C P U 3 4は停止状態 にされている。 そして、 ステップ S 1 0 1において、 S— C P U 1 8は、 データ S D 0〜S D 7によって、 リセッ トベクタレジスタ 1
4 8および 1 5 0に、 C— C P U 3 4に実行させたいプログラムの 先頭ァドレスをセッ トする。 そして、 ステップ S 1 0 2において、
5— C P U 1 8は、 C一 C P Uコントロールレジスタ 1 3 8にデー タビッ ト S D 5によって 「 1 j をセッ 卜する。 応じて、 C一 C P U コン トロールレジスタ 1 3 8力、らハイ レベルの C— C P Uリセ 'ン ト 信号 CRESが出力され、 それが C一 C P U 3 4に与えられ、 C一 C P U 3 4のリセッ トが解除される。 したがって、 C一 C P U 3 4は、 図 2 6のステップ S 2 0 1において M— R O M 2 2にアクセスし、 指定された M— R OM 2 2の先頭ァ ドレスからプログラムを実行す る。
差替え用紙 (規則 26) C一 C P U 3 4は、 プログラム実行の結果を S— C P U 1 8に送 るために、 ステップ S 2 0 2において、 S— C P Uコントロールレ ジスタ 1 62にデータビッ ト CD 7によって Γ 1」 をセ 'ン トする。 応じて、 S— C P Uコントロールレジスタ 1 6 2および ANDゲ一 ト 1 8 4からハイレベルの S— C P U割り込み信号 SIRQが出力され 、 それが S— C P U 1 8に与えられ、 S— C P U 1 8に割り込みが かけられる。
S— C P U 1 8は、 ステップ S 1 0 6において上記 I R Qを検出 するまで、 ステップ S 1 0 3, S 1 0 4 , および S 1 0 5を実行す る。 すなわち、 S— C P U 1 8は C— C P U 3 4からの I RQ割り 込みを可能にするために、 まず、 ステップ S 1 0 3において、 I N Tイネ一ブルレジスタ 1 4 4をイネ一ブルする。 応じて、 このレジ スタ 1 4 4から信号 CIRQENが出力され、 それが図 1 6に示す AND ゲート 1 8 4に与えられる。 したがって、 以後、 この ANDゲ一ト 1 8 4を通して、 上述のように C— C P U 3 4から S— C P U 1 8 に I 割り込みをかけることができる。 そして、 S— C P U 1 8 は、 ステップ S 1 0 4において本体 1 2内の W— RAM 2 4に移り 、 C— C P U 3 4からの I R Q割り込みを待つ (プログラムウェイ h)
ステップ S 1 0 6において C— C P U 3 4からの I RQを検出し 、 C— C P U 3 4による処理結果を受け取った後、 S— C P U 1 8 は、 ステップ S 1 0 7において、 C— C P Uコン トロールレジスタ 1 3 8にデータビッ ト S D 5によって 「 0」 をセ ン トする。 応じて.
差替え用紙 (規則 26) C一 C P Uコン トロールレジスタ 1 38から口一レベルの C— C P Uリセッ ト信号 CRESが出力され、 それが C— C P U 3 に与えられ 、 C一 C P U 34がリセッ トされ、 停止状態となる。
このようなァクセラレ一タモードにおいては、 図 27に示すよう に、 C一 C P U 34によって時間のかかるサブルーチン (たとえば 、 衝突判定, 3 D座標演算等) を処理させることによって、 S— C P U 1 8は極めて高速に全体処理を実行することができる。
(b) ミ ックス処理モ一ド
この場合、 C一 C P U34は、 図 28のステップ S 2 1 1におけ るように、 並列処理 (別のプログラムの実行) を行っている。 そし て、 S— C PU 1 8は、 図 28のステップ S 1 1 1に示すように、 データ SD 0〜SD7によって、 NM Iベクタレジスタ 1 52およ び 1 54に、 M— ROM22の NM Iプログラムが格納されている 先頭ァドレスをセッ トする。 そして、 ステップ S I 1 2において、 C— CPUコン トロールレジスタ 1 40にデータビッ ト SD 4によ つて 「 1」 をセッ トする。 応じて、 C— C P Uコント口一ルレジス タ 1 40からハイ レベルの C— C P U割り込み信号 CNMIが出力され 、 それが C— C P U 34に与えられ、 C_ C P U 34に NM I割り 込み起勛がかけられる。 なお、 C_ C P U 34はステップ S 2 1 2 において割り込みフラグを読み込み、 S— C PU 1 8から NM I割 り込みがあつたか否かをステップ S 2 1 3で検出する。 S— C P U 1 8からの NM I割り込みを検出すると、 C一 C P U 34は、 ステ ップ S 2 1 4において、 先に説明したァクセラレ一タ処理を実行す
差替え用紙 (規則 26) る o
C— C PU 34は、 プログラム実行の結果を S— C PU 1 8に送 るために、 ステヅプ S 2 1 5において、 S— C P Uコントロールレ ジスタ 1 62にデータビッ ト CD 7によって 「 1 j をセッ トする。 応じて、 S— C P Uコントロールレジスタ 1 6 2および AN Dゲ一 ト 1 84からハイレベルの S— C P U割り込み信号 SIRQが出力され 、 それが S— C P U 1 8に与えられ、 S— C P U 1 8に割り込みが かけられる。 すなわち、 S— C P U 1 8は指定された M— R OM 2 2の先頭ァドレスから I RQ割り込みプログラムを実行する。
S— C P U 1 8は、 ステップ S 1 1 6において上記 I R Qを検出 するまで、 ステップ S 1 1 3 , S 1 1 , および S 1 1 5を実行す る。 すなわち、 · S— CPU 1 8は C一 C P U 34からの I RQ割り 込みを可能にするために、 まず、 ステップ S 1 1 3において、 I N Tイネ一ブルレジスタ 1 44をイネ一ブルする。 応じて、 このレジ スタ 1 44から信号 CIRQENが出力され、 それが図 1 6に示す AND ゲート 1 84に与えられる。 したがって、 以後、 この ANDゲート 1 84を通して、 上述のように C— C P U 34から S— C P U 1 8 に I 割り込みをかけることができる。 そして、 S— C P U 1 8 は、 ステップ S 1 1 4において本体 1 2内の W— RAM 24に移り 、 C— CPU 34からの I RQ割り込みを待つ (プログラムウェイ h) o
ステップ S 1 1 5で S— CP U 1 8は割り込みフラグを読み取り 、 ステップ S 1 1 6において C一 CP U 34力、らの I R Qを検出す
差替え用紙 (規則 26) 。 S— C P U 1 8は、 ステップ S 1 1 7においてメィンルーチン に復帰する。 また C— C P U 3 4は、 ステップ S 2 1 6において、 先の S— C P U 1 8からの割り込みによって中断した並列処理 (別 のプログラムの実行) を再開する。
このようなミックス処理モードは、 特に、 並列処理時、 コプロセ サ (C一 C P U 3 4 ) に余裕があり、 2つのプロセサ、 S— C P U 1 8および C— C P U 3 4の処理速度のバランスをとりたい場合や 、 比較的処理頻度の高い S— C P ϋ 1 8側のサブルーチン (各種演 箕サブルーチン, 回転 ·拡大 '縮小バラメータ算出等) に有効であ る。 すなわち、 2つの C P Uで並列処理を実行している場合であつ ても、 C一 C P U 3 4を S— C P U 1 8のァクセラレータとして起 動できるため、 両 C P Uの処理速度のバランスをとることができる
(c) 代行処理モード
このモードでは、 図 3 0に示すように C— C P U 3 4はステップ S 2 2 1で停止状態にされている。 そして、 ステップ S 1 2 1にお いて、 S— C P U 1 8は、 データ S D 0〜S D 7によって、 リセッ トベクタレジスタ 1 4 8および 1 5 0に、 C— C P U 3 4に実行さ せたいプログラムの先頭アドレスをセッ トする。 そして、 ステップ S 1 2 2において、 S— C P U 1 8は、 C一 C P Uコントロールレ ジスタ 1 3 8にデータビッ ト S D 5によって 「 1」 をセッ トする。 応じて、 C— C P Uコントロールレジスタ 1 3 8からハイレベルの C一 C P Uリセッ ト信号 CRESが出力され、 それが C— C P U 3 4に
差替え用紙 (規則 26) 与えられ、 C一 C PU 34のリセッ トが解除される。 したがって、 C一 CP U 3 4は、 図 3 0のステップ S 2 2 2において M— ROM 22にアクセスし、 指定された M— R OM 22の先頭ァ ドレスから プログラムを実行する,
その後、 S— CPU 1 8では、 ステップ S 1 2 3およびステップ S 1 2 4によって DMAを実行する。 このとき、 C一 C P U 34は S— CP U 1 8に代わってプログラムを実行する (代行処理) β
C— CP U 34は、 プログラム実行の結果を S— C P U 1 8に送 るために、 ステップ S 2 2 3において、 S— C PUコント口一ルレ ジスタ 1 62にデータビン ト CD 7によって 「 1 j をセ ン トする, 応じて、 S— CPUコントロールレジスタ 1 62および ANDゲー ト 1 8 4からハイレベルの S— C P U割り込み信号 SIRQが出力され 、 それが S— C P U 1 8に与えられ、 S— C P U 1 8に割り込みが かけられる。
S— CP U 1 8は、 ステップ S 1 2 8において上記 1 RQを検出 するまで、 ステップ S 1 2 5, S 1 2 6, および S 1 27を実行す る。 すなわち、 S— CPU 1 8は C— CP U 3 4からの I RQ割り 込みを可能にするために、 まず、 ステップ S 1 2 5において、 I N Tィネ一ブルレジスタ 1 4 4をィネーブルする。 応じて、 このレジ スタ 1 4 4から信号 CIRQENが出力され、 それが図 1 6に示す AND ゲート 1 84に与えられる。 したがって、 以後、 この ANDゲート 1 8 4を通して、 上述のように C— C PU 3 4から S— CP U 1 8 に I RQ割り込みをかけることができる。 そして、 S„二 C PU 1 8 は、 ステップ S 1 26において本体 1 2内の W— RAM 2 4に移り 、 C一 C P U 34からの I RQ割り込みを待つ (プログラムウェイ ステップ S 1 27で S— CPU 1 8は割り込みフラグを読み取り 、 ステップ S 1 2 8において C一 C P U 3 4からの I RQを検出し 、 C一 CPU 34による処理結果を受け取った後、 S— CPU 1 8 は、 ステップ S 1 2 9において、 C— C P Uコントロールレジスタ 1 38にデータビッ ト SD 5によって 「 0」 をセッ トする。 応じて 、 C一 CPUコントロールレジスタ 1 3 8からローレベルの C一 C P Uリセッ ト信号 CUESが出力され、 それが C— C PU 3 4に与えら れ、 C一 C P U 34がリセッ トされ、 停止状態となる (ステップ S 224 ) o
このような代行処理モードにおいては、 図 3 1に示すように、 S — C PU 1 8は DMA時停止しいてるため、 従来であれば直列にお こなっていた処理を C一 C P U 3 4に代行させることにより、 全体 の処理速度の大幅な向上が期待できる。 したがって、 この代行処理 モードは、 たとえば、 圧縮画像の展開, アニメーショ ン等、 DMA と平行した処理を操り返すサブルーチンに特に効果的である。 なお、 上述の実施例では M— ROM 22. B-RAM32, およ び I一 RAM 3 6等のメモリのアクセスタイムは、 S— C P U 1 8 だけでなく、 C— CP U 3 4のサイクルタイムに比べても短い, す なわち、 メモリのアクセス速度は S— C PU 1 8や C一 C P U 3 4 の動作速度に比べて速い。 しかしながら、 全てのメモリがこの条件 を充足する必要はなく、 2つの C P Uないしはプロセサによってァ クセスされ得るメモリだけがこの条件を満足していればよい。
この発明が詳細に説明され図示されたが、 それは単なる図解およ び一例として用いたものであり、 限定であると解されるべきではな いことは明らかであり、 この発明の精神および範囲は添付されたク レームの文言によってのみ限定される。
差替え用紙 (規則 26)

Claims

請求の範囲
1 . プログラムに基づいて第 1のサイクルタイムで演算処理する 第 1のプロセサ(18)、
前記第 1のプ αセサのァーキテクチユアと同じであり、 かつプロ グラムに基づいて前記第 1のサイクルタイムより短い第 2のサイク ルタイムで演算処理する第 2のプロセサ(34)、
前記第 1のサイクルタイムの基準となる第 1のクロック信号を前 記第 1のプロセサに供袷する第 1のク口ック供給手段(23, 25) 、 前記第 2のサイクルタイムの基準となる第 2のクロツク信号を前 記第 2のプロセサに供袷する第 2のクロック供給手段(23, 216)、 前記第 2のプロセサがァクセスして高速読み出し可能であり、 か つ第 1のプロセサおよび前記第 2のプロセサによって直接アクセス されるプログラムを格納したプログラムメモリ(22)、 および
前記プログラムメモリのアクセスタイムより長くかつ前記第 1の サイクルタイムより短い第 1の期間において前記第 1のブ αセサが 前記プログラムメモリへ直接アクセスするのを許容し、 前記第 1の サイクルタイムと前記第 1の期間との差である第 2の期間において 前記第 2のプロセサが前記プログラムメモリへ直接アクセスするの を許容するアクセス制御手段(35, 54, 60, 52)を備える、 コブロセサ システム。
2, 前記アクセス制御手段は、 前記第 1の期間に前記第 1のプロ セサからアクセス要求(SMHIT) があったとき第 1のレベルの信号を 出力しかつ前記第 1の期間に前記第 1のプロセサからのアクセス要 求がないとき第 2のレベルの信号を出力する信号出力手段(216, 60) 、 および前記第 1のレベルの信号に応答して前記第 1のプロセサか らのァドレスを前記プログラムメモリのァドレス入力(MA)に与える ァ ドレス切換手段(52)を舍む、 請求項 1記載のコプロセサシステム
3 . 前記ァドレス切換手段は前記第 2のレベルの信号に応答して 前記第 2のプロセサからのァ ドレスを前記プログラムメモリの前記 ァ ドレス入力(MA)に与える、 請求項 2記載のコプロセサシステム。
4 . 前記プログラムメモリから読み出したプログラムデータを前 記第 1のプロセサのデータバス(SD)に与える第 1のデータラツチ(6 6)、 および
前記第 1のデータラッチに前記第 1のクロックに応じて規定され る第 1のラ ツチ信号(SSYNC) を付与する第 1のラッチ信号付与手段 (216) を備える、 請求項 1ないし 3のいずれかに記載のコプロセサ システム。
5 . 前記第 1のラツチ信号の後緣は前記第 1のクロックの後緣に 比べて進んだ位相にある、 請求項 4記載のコプロセサシステム。
6 . プログラムに基づいて第 1のサイクルタイムで演箕処理する 第 1のプロセサ s)と前記第 1のサイクルタイムの基準となる第 1 のク口ック信号を前記第 1のプロセサに供袷する第 1のク口ック供 給手段(23, 25) とを舍む情報処理装置に着脱自在に装着される補助 演算機能付外部メモリ装置であって、
前記第 1のプロセサのァ一キテクチユアと同じであり、 かつプロ 'ラムに基づいて前記第 1のサイクルタイムより短い第 2のサイク ルタィムで演算処理する第 2のプロセサ(34)、
前記第 2のサイクルタィムの基準となる第 2のク口ック信号を前 記第 2のプロセサに供給する第 2のクロック供給手段(23 , 216)、 前記第 2のプロセサがアクセスして高速読み出し可能であり、 か つ第 1のプロセサおよび前記第 2のプロセサによって直接アクセス されるプログラムを格納したプログラムメモリ(22)、 および 前記プログラムメモリのアクセスタイムより長くかつ前記第 1の サイクルタイムより短い第 1の期間において前記第 1のプロセサが 前記プログラムメモリへ直接アクセスするのを許容し、 前記第 1の サイクルタイムと前記第 1の期間との差である第 2の期間において 前記第 2のプロセサが前記プログラムメモリへ直接アクセスするの を許容するアクセス制御手段(35 , 54 , 60 , 52)を備える、 補助演算機 能付外部メモリ装置。
7 . 前記アクセス制御手段は、 前記第 1 の期間に前記第 1 のプロ セサからアクセス要求(SMH I T) があったとき第 1のレベルの信号を 出力しかつ前記第 1の期間に前記第 1のプロセサからのアクセス要 求がないとき第 2のレベルの信号を出力する信号出力手段 (216, 60) 、 および前記第 1のレベルの信号に応答して前記第 1のプロセサか らのァ ドレスを前記プログラムメモリのァ ドレス入力(MA)に与える ァドレス切換手段(52)を舍む、 請求項 1記載の補助演算機能付外部 メモリ装置。
8 . 前記ァドレス切換手段は前記第 2のレベルの信号に応^して
差替え用紙 (規則 26) ίΐ記第 2のプロセサからのァドレスを前記プログラムメモリの前記 ァ ドレス入力(MA)に与える、 請求項 2記載の補助演算機能付外部メ モリ装置。
9 . 前記プログラムメモリから読み出したプログラムデータを前 記第 1のプロセサのデータバス(SD)に与える第 1のデータラッチ(6 6)、 および
前記第 1のデータラツチに前記第 1のクロックに応じて規定され る第 1のラツチ信号(SSYNC) を付与する第 1のラ ツチ信号付与手段 (216) を備える、 請求項 6ないし 8のいずれかに記載の補助演算機 能付外部メモリ装置。
1 0 . 前記第 1のラッチ信号の後緣は前記第 1のクロックの後緣 に比べて進んだ位相にある、 請求項 9記載の補助演算機能付外部メ モリ装置。
1 1 . 前記アクセス制御手段は、 前記第 2のプロセサが前記プロ グラムメモリに格納されているプログラムの実行を開始する際に、 その開始ァドレスを指定するための開始ァドレスレジスタを舍み、 前記プログラムメモリは、 前記第 1のプロセサによって実行され る第 1のプログラムと前記第 2のプロセサによって実行される第 2 のプログラムを混在させて記憶し、 さらに
前記開始ァドレスレジスタによって指定されるァ ドレスから前記 第 2のプログラムを実行し、 第 2のプログラムの実行中に前記第 1 のプロセサからアクセスがあつたときに第 2のプログラムの実行を 中断しかつ中断したァ ドレスを開始ァ ドレスレジスタにロードする
差替え用紙 (規則 26) ととにより、 第 1のプロセサのアクセスが終了した後開始ァドレス レジスタによって指定されるァ ドレスから第 2のプロセサに実行さ せる、 中断処理手段を備える、 請求項 6記載の補助演算機能付外部 メモリ装置。
1 2 . 前記第 2のプロセサは前記第 2のプログラムの実行によつ て得られた処理結果を一時保持する内部レジスタを舍み、 さらに 前記内部レジスタの保持した結果を退避するための退避メモリを さらに備え、
前記第 2のプロセサの前記第 2のプログラムの実行中において、 新たな第 2のプログラムを実行した際に前記内部レジスタの保持結 果を前記退避メモリに退避させ、 前記新たな第 2のプログラムの実 行終了後において前記退避メモリに退避された結果を前記内部レジ スタに復帰させることにより、 再度前記第 2のプログラムの実行を 可能にした、 請求項 1記載載の補助演算機能付外部メモリ装置。
1 3 . 第 1のサイクルタイムを有し、 プログラムメモリにァクセ スし、 そのプログラムに従って動作する第 1のプロセサを備える情 報処理装置の動作を高速化する方法であって、
前記第 1のプロセサとプログラム互換性を有しかつ前記第 1のサ ィクルタイムより短い第 2のサイクルタイムを有する第 2のプロセ サを設け、
前記プログラムメモリ としてアクセスタイムが前記第 2のサイク ルタィムと等しいかより短いプログラムメモリを用い、
前記第 1のプロセサが前記プログラムメモリをアクセスするため
差替え用紙 (規則 26) に前記第 1のサイクルタイムと等しいかより長い時間を確保し、 前記第 1のプロセサが前記プログラムメモリをアクセスした残り 時間で前記第 2のプロセサが前記プログラムメモリをアクセスでき るようにし、 それによつて
前記第 1のプロセサおよび前記第 2のプロセサが実質的に同時に 前記プログラムメモリにアクセスできるようにし、 前記情報処理装 置を高速化する方法。
PCT/JP1995/001332 1994-07-04 1995-07-04 Coprocessor system and auxiliary arithmetic function-carrying external memory Ceased WO1996001451A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP95923579A EP0724220B1 (en) 1994-07-04 1995-07-04 Coprocessor system and auxiliary arithmetic function-carrying external memory
DE69527932T DE69527932T2 (de) 1994-07-04 1995-07-04 Co-prozessorsystem und externer zusatzspeicher mit arithmetikfunktion
US08/605,041 US6006319A (en) 1994-07-04 1995-07-04 Coprocessor system for accessing shared memory during unused portion of main processor's instruction cycle where main processor never waits when accessing shared memory

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP6/152508 1994-07-04
JP6152508A JPH0816530A (ja) 1994-07-04 1994-07-04 コプロセサシステムおよび補助演算機能付外部メモリ装置

Publications (1)

Publication Number Publication Date
WO1996001451A1 true WO1996001451A1 (en) 1996-01-18

Family

ID=15541991

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP1995/001332 Ceased WO1996001451A1 (en) 1994-07-04 1995-07-04 Coprocessor system and auxiliary arithmetic function-carrying external memory

Country Status (7)

Country Link
US (1) US6006319A (ja)
EP (1) EP0724220B1 (ja)
JP (1) JPH0816530A (ja)
CN (1) CN1097784C (ja)
CA (1) CA2171018A1 (ja)
DE (1) DE69527932T2 (ja)
WO (1) WO1996001451A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8332583B2 (en) 2004-12-21 2012-12-11 Fxi Technologies As Systems and methods to provide applications to microprocessor systems using a hardware element on a distribution meduim

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU731164B2 (en) * 1995-05-10 2001-03-22 Nintendo Co., Ltd. Operating device with analog joystick
AU734018B2 (en) 1995-10-09 2001-05-31 Nintendo Co., Ltd. Three-dimension image processing system
US6283857B1 (en) 1996-09-24 2001-09-04 Nintendo Co., Ltd. Three-dimensional image processing apparatus with enhanced automatic and user point of view control
JPH09167050A (ja) 1995-10-09 1997-06-24 Nintendo Co Ltd 操作装置およびそれを用いる画像処理システム
JP3544268B2 (ja) * 1995-10-09 2004-07-21 任天堂株式会社 三次元画像処理装置およびそれを用いた画像処理方法
JP3524247B2 (ja) 1995-10-09 2004-05-10 任天堂株式会社 ゲーム機およびそれを用いたゲーム機システム
DE19681169B3 (de) * 1995-11-10 2012-03-01 Nintendo Co., Ltd. Steuerhebeleinrichtung
US6190257B1 (en) 1995-11-22 2001-02-20 Nintendo Co., Ltd. Systems and method for providing security in a video game system
US6022274A (en) * 1995-11-22 2000-02-08 Nintendo Co., Ltd. Video game system using memory module
US6331856B1 (en) 1995-11-22 2001-12-18 Nintendo Co., Ltd. Video game system with coprocessor providing high speed efficient 3D graphics and digital audio signal processing
US6071191A (en) 1995-11-22 2000-06-06 Nintendo Co., Ltd. Systems and methods for providing security in a video game system
US6241610B1 (en) 1996-09-20 2001-06-05 Nintendo Co., Ltd. Three-dimensional image processing system having dynamically changing character polygon number
US6244959B1 (en) 1996-09-24 2001-06-12 Nintendo Co., Ltd. Three-dimensional image processing system with enhanced character control
JP3655438B2 (ja) 1997-07-17 2005-06-02 任天堂株式会社 ビデオゲームシステム
JPH1139448A (ja) * 1997-07-18 1999-02-12 Sony Computer Entertainment:Kk 補助記憶装置、電子機器の時刻設定方法及び情報処理装置
US6314499B1 (en) * 1997-11-14 2001-11-06 Lucent Technologies Inc. Non-preemptive memory locking mechanism in a shared resource system
US6565443B1 (en) 1999-09-14 2003-05-20 Innovative Gaming Corporation System and method for verifying the contents of a mass storage device before granting access to computer readable data stored on the device
JP2002041489A (ja) * 2000-07-25 2002-02-08 Mitsubishi Electric Corp 同期信号生成回路、それを用いたプロセッサシステムおよび同期信号生成方法
US6848016B2 (en) * 2000-12-07 2005-01-25 Sony Corporation System and method for efficiently implementing an electronic device architecture
EP1338956A1 (fr) * 2002-02-20 2003-08-27 STMicroelectronics S.A. Dispositif électronique de traitement de données, en particulier processeur audio pour un décodeur audio/vidéo
US7188060B1 (en) * 2002-03-29 2007-03-06 Unisys Corporation Emulation of a high-speed, high-stability clock
CN100470532C (zh) * 2002-12-12 2009-03-18 Nxp股份有限公司 在片上系统内的阵列处理器的模块化集成
US8681160B2 (en) * 2005-05-27 2014-03-25 Ati Technologies, Inc. Synchronizing multiple cards in multiple video processing unit (VPU) systems
JP2007054120A (ja) * 2005-08-22 2007-03-08 Okumura Yu-Ki Co Ltd 遊技機
JP2007207136A (ja) * 2006-02-06 2007-08-16 Nec Corp データ処理装置、データ処理方法、及びデータ処理プログラム
US9710384B2 (en) * 2008-01-04 2017-07-18 Micron Technology, Inc. Microprocessor architecture having alternative memory access paths
US8156307B2 (en) * 2007-08-20 2012-04-10 Convey Computer Multi-processor system having at least one processor that comprises a dynamically reconfigurable instruction set
US9015399B2 (en) 2007-08-20 2015-04-21 Convey Computer Multiple data channel memory module architecture
US8095735B2 (en) * 2008-08-05 2012-01-10 Convey Computer Memory interleave for heterogeneous computing
US8122229B2 (en) * 2007-09-12 2012-02-21 Convey Computer Dispatch mechanism for dispatching instructions from a host processor to a co-processor
US8561037B2 (en) 2007-08-29 2013-10-15 Convey Computer Compiler for generating an executable comprising instructions for a plurality of different instruction sets
US8205066B2 (en) * 2008-10-31 2012-06-19 Convey Computer Dynamically configured coprocessor for different extended instruction set personality specific to application program with shared memory storing instructions invisibly dispatched from host processor
US20100115233A1 (en) * 2008-10-31 2010-05-06 Convey Computer Dynamically-selectable vector register partitioning
US8423745B1 (en) 2009-11-16 2013-04-16 Convey Computer Systems and methods for mapping a neighborhood of data to general registers of a processing element
EP2609498A1 (en) 2010-08-27 2013-07-03 Fxi Technologies AS Electronic devices
US10430190B2 (en) 2012-06-07 2019-10-01 Micron Technology, Inc. Systems and methods for selectively controlling multithreaded execution of executable code segments
JP6201591B2 (ja) * 2013-09-30 2017-09-27 富士通株式会社 情報処理装置および情報処理装置の制御方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5582366A (en) * 1978-12-18 1980-06-21 Fujitsu Ltd Multiprocessor system
JPS6376048A (ja) * 1986-09-19 1988-04-06 Fujitsu Ltd 入出力制御装置
JPS63132368A (ja) * 1986-11-21 1988-06-04 Nec Corp マルチプロセサの割込み方式
JPH03292558A (ja) * 1990-04-11 1991-12-24 Toshiba Corp 共有メモリ制御装置

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4089524A (en) * 1977-01-18 1978-05-16 Gremlin Industries, Inc. Digitally controlled electronic game
CA1270339A (en) * 1985-06-24 1990-06-12 Katsuya Nakagawa System for determining a truth of software in an information processing apparatus
US4777621A (en) * 1985-07-19 1988-10-11 Commodore-Amiga, Inc. Video game and personal computer
US5103499A (en) * 1986-07-18 1992-04-07 Commodore-Amiga, Inc. Beam synchronized coprocessor
JPH0769791B2 (ja) * 1988-12-21 1995-07-31 三菱電機株式会社 マイクロプロセッサ
IT1229667B (it) * 1989-04-24 1991-09-06 Bull Hn Information Syst Sistema di elaborazione dati con arbitratore duale di accesso a bus di sistema.
US5200564A (en) * 1990-06-29 1993-04-06 Casio Computer Co., Ltd. Digital information processing apparatus with multiple CPUs
EP0476175A1 (de) * 1990-09-20 1992-03-25 Siemens Aktiengesellschaft Einrichtung zum Betrieb eines Mehrprozessorsystems, insbesondere einer numerischen Steuerung
JP2848060B2 (ja) * 1991-10-24 1999-01-20 株式会社日立製作所 プログラマブルコントローラおよびシーケンス制御方法
US5357604A (en) * 1992-01-30 1994-10-18 A/N, Inc. Graphics processor with enhanced memory control circuitry for use in a video game system or the like
US5388841A (en) * 1992-01-30 1995-02-14 A/N Inc. External memory system having programmable graphics processor for use in a video game system or the like
GB9210786D0 (en) * 1992-05-20 1992-07-08 Codemasters Ltd Memory cartridges
EP0571138A3 (en) * 1992-05-20 1995-03-29 Codemasters Ltd Memory cartridge and interface for video game console.
FR2692698A1 (fr) * 1992-06-19 1993-12-24 Sgs Thomson Microelectronics Procédé pour partager une mémoire à accès direct entre deux processeurs asynchrones et circuit électronique pour la mise en Óoeuvre de ce procédé.
US5787488A (en) * 1993-04-22 1998-07-28 Analog Devices, Inc. Multi-phase multi-access pipeline memory system
US5471607A (en) * 1993-04-22 1995-11-28 Analog Devices, Inc. Multi-phase multi-access pipeline memory system
US5764995A (en) * 1994-03-25 1998-06-09 Packard Bell Nec Write once read only registers
US5685005A (en) * 1994-10-04 1997-11-04 Analog Devices, Inc. Digital signal processor configured for multiprocessing
US5680534A (en) * 1994-10-31 1997-10-21 Nintendo Co., Ltd. Video game/videographics program fabricating system and method with superimpose control

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5582366A (en) * 1978-12-18 1980-06-21 Fujitsu Ltd Multiprocessor system
JPS6376048A (ja) * 1986-09-19 1988-04-06 Fujitsu Ltd 入出力制御装置
JPS63132368A (ja) * 1986-11-21 1988-06-04 Nec Corp マルチプロセサの割込み方式
JPH03292558A (ja) * 1990-04-11 1991-12-24 Toshiba Corp 共有メモリ制御装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP0724220A4 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8332583B2 (en) 2004-12-21 2012-12-11 Fxi Technologies As Systems and methods to provide applications to microprocessor systems using a hardware element on a distribution meduim

Also Published As

Publication number Publication date
EP0724220B1 (en) 2002-08-28
DE69527932D1 (de) 2002-10-02
CN1097784C (zh) 2003-01-01
EP0724220A1 (en) 1996-07-31
CN1124856A (zh) 1996-06-19
US6006319A (en) 1999-12-21
EP0724220A4 (en) 1997-11-19
JPH0816530A (ja) 1996-01-19
CA2171018A1 (en) 1996-01-18
DE69527932T2 (de) 2003-04-24

Similar Documents

Publication Publication Date Title
WO1996001451A1 (en) Coprocessor system and auxiliary arithmetic function-carrying external memory
JP3983394B2 (ja) 幾何学処理プロセッサ
US5796981A (en) Method and apparatus for providing register compatibility between non-identical integrated circuits
JP2003126550A (ja) ビデオゲームシステム及びそのためのプログラマブルグラフィックスプロセッサ
GB2201568A (en) Graphics processor
JPH0679063A (ja) ビデオゲームシステム等において使用するための、キャラクタ変換ハードウェアに対する画素を備えたプログラマブルグラフィックスプロセッサおよびそれを応用したビデオゲームカートリッジおよび外部メモリシステム
JP4226085B2 (ja) マイクロプロセッサ及びマルチプロセッサシステム
JPH076151A (ja) オンチップメモリデバイスのアクセスのために最適化されたcpuコアバス
US6438683B1 (en) Technique using FIFO memory for booting a programmable microprocessor from a host computer
JP2001504959A (ja) Riscアーキテクチャを有する8ビットマイクロコントローラ
JPH05257657A (ja) 電源立上げ時シーケンス装置
US6229543B1 (en) Microprocessor, and graphics processing apparatus and method using the same
JPH11102443A (ja) 改良された入力カラー値のハンドリングを有する3次元グラフィックアクセラレータのためのライティングユニット
US7007160B1 (en) System and method for loading an advanced configuration and power interface (ACPI) original equipment manufacturer (OEM) description table
JPH0651981A (ja) データ処理装置
JPH02297594A (ja) データ処理装置、データ処理システム及びアウトラインフォントデータ発生方法
US20040174372A1 (en) Microprocessor, and graphics processing apparatus and method using the same
JP3154542B2 (ja) データ処理装置
US20020004877A1 (en) Method and system for updating user memory in emulator systems
JPH0887481A (ja) マルチプロセッサボードの立ち上げ方法
JP3323341B2 (ja) エミュレーション用プロセッサおよびそれを搭載したエミュレータ
JP2883489B2 (ja) 命令処理装置
JPS62251829A (ja) シンボリツク処理システムおよび方法
JPH09198272A (ja) エミュレーション用プロセッサおよびエミュレータ
Manual TMS320VC5401 Fixed-Point Digital Signal Processor

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): CA US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): DE FR GB SE

WWE Wipo information: entry into national phase

Ref document number: 2171018

Country of ref document: CA

WWE Wipo information: entry into national phase

Ref document number: 1995923579

Country of ref document: EP

Ref document number: 08605041

Country of ref document: US

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWP Wipo information: published in national office

Ref document number: 1995923579

Country of ref document: EP

WWG Wipo information: grant in national office

Ref document number: 1995923579

Country of ref document: EP