[go: up one dir, main page]

WO2001067271A1 - Information processing device - Google Patents

Information processing device Download PDF

Info

Publication number
WO2001067271A1
WO2001067271A1 PCT/JP2000/001475 JP0001475W WO0167271A1 WO 2001067271 A1 WO2001067271 A1 WO 2001067271A1 JP 0001475 W JP0001475 W JP 0001475W WO 0167271 A1 WO0167271 A1 WO 0167271A1
Authority
WO
WIPO (PCT)
Prior art keywords
bus
cpu
data
memory
storage device
Prior art date
Application number
PCT/JP2000/001475
Other languages
French (fr)
Japanese (ja)
Inventor
Hiroshi Hatae
Hiromi Watanabe
Original Assignee
Hitachi, Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi, Ltd. filed Critical Hitachi, Ltd.
Priority to PCT/JP2000/001475 priority Critical patent/WO2001067271A1/en
Publication of WO2001067271A1 publication Critical patent/WO2001067271A1/en

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/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 slave processor, e.g. coprocessor

Definitions

  • the present invention relates to an information processing apparatus, and in particular, relates to two CPUs (central processing units) having a master-slave relationship, specifically, a host CPU and a CPU in an accelerator.
  • the present invention relates to an information processing device having two CPUs.
  • this mobile terminal is often composed of a host CPU as a master, and an accelerator as a slave that assists the processing of the host CPU.
  • the audio part is processed by the host CPU, and the image part is left to a dedicated LSI (axelator) that processes MPEG4.
  • this portable terminal is required to be able to perform signal processing of a plurality of standards with low power consumption.
  • the LSI used inside the device is used from a combination of the conventional host CPU and an accelerator configured with hardware to a combination of the host CPU and an accelerator that has a built-in processor and operates with software. It is possible.
  • the processor incorporated in the accelerator is referred to as an accelerator CPU.
  • the processing content can be changed by changing the program transferred to the accelerator.
  • the first CPU which acts as the host CPU
  • the address bus (AB) and data bus (DB) connected to the first CPU and accelerator
  • the accelerator CPU AC PU
  • the accelerator CPU Internal address bus (INTAB) and internal data bus (INTDB)
  • SEL1 first selector
  • SEL 2 second selector for selectively connecting each bus to memory (RAM) (SEL 2).
  • the first selector and the second selector are switched to the bus side of the first CPU, and the program of the accelerator CPU is transferred to the memory.
  • the selector is switched to the bus of the accelerator CPU (AC PU), the program stored in the memory is read, and the accelerator CPU executes the processing.
  • the CPU in the accelerator connected to the CPU as the master is often composed of about five pipelines.
  • the contents of the five stages are instruction fetch, instruction decode, execution, memory access, and write-back.
  • contention occurs because both use the address bus and data bus of the accelerator CPU. For this reason, there is a problem that the performance of the information processing device, that is, the processing speed is reduced, because measures are usually taken to delay one of the stages by one clock.
  • the related related patent application publications include Japanese Patent Application Laid-Open Nos. Hei 5-94305, Hei 5-233 191, Hei 6-19704 and Hei 10-254 776. There are seven. However, none of the publications discloses or suggests the problems in the above-described configuration, and it can be said that there is no publication showing the configuration of the present invention shown in this specification.
  • an object of the present invention is to provide an information processing apparatus having a CPU serving as a master and a CPU serving as a slave.
  • An object of the present invention is to provide an information processing apparatus which prevents contention for access and does not degrade performance.
  • a further object of the invention is of the Neumann type.
  • An object of the present invention is to provide a high-performance information processing device by using a PU and a harbor type CPU.
  • the first central processing unit includes an instruction. And the data are output to the storage device via the same bus, and the second central processing unit accesses the storage device via the instruction bus and the data bus.
  • the first central processing unit a first bus connected to the first central processing unit to transfer instructions and data, a second central processing unit, A second bus connected to the central processing unit for transferring instructions; a third bus connected to the second central processing unit for transferring data; a storage device; a first bus and a second bus A first selection circuit connected to the first bus or the second bus and connected to the storage device by selecting the first bus or the second bus; and a first bus or the third bus connected to the first bus and the third bus.
  • a second selection circuit for selecting a bus and connecting it to the storage device.
  • the invention according to claim 10 is characterized in that the first central processing unit, a first bus connected to the first central processing unit to transfer instructions and data, a second central processing unit, A second bus connected to the second central processing unit; a third bus connected to the second central processing unit; a first memory port and a second memory.
  • a storage device having a report, and a first selection circuit connected to the first bus and the second bus, for selecting the first bus or the second bus and connecting to the first memory port of the storage device
  • the third bus is connected to a second memory port of the storage device.
  • a first central processing unit having a Neumann architecture
  • a second central processing unit having a Harvard architecture for processing a program transferred by the first central processing unit. It is like that.
  • the first central processing unit is connected to the storage device via the first bus
  • the second central processing unit is connected to the second central processing unit. It is connected to a storage device via a bus and a third bus.
  • the storage device is a dual port memory having a first memory port and a second memory port.
  • the storage device has a first storage device for storing instructions and a second storage device for storing data.
  • the information processing apparatus further includes: a first selection circuit that selectively connects the first bus and the second bus to the first storage device; and a first bus and a third bus. And a second selection circuit connected to the second storage device.
  • the accelerator connected to the host CPU can use the processor of the herb-and-door architecture, so that the processing content can be made programmable. Further, since instruction fetch and memory access can be operated in parallel, a high-speed information processing device can be realized.
  • FIG. 1 is a configuration diagram of the information processing apparatus according to the first embodiment.
  • FIG. 2 is a detailed configuration diagram of the control block shown in FIG.
  • FIG. 3 is a detailed configuration diagram of the logic block shown in FIG.
  • FIG. 4 is a configuration diagram of the information processing apparatus according to the second embodiment.
  • FIG. 5 is a diagram showing a first allocation of instruction and data areas.
  • FIG. 6 is a diagram showing a second allocation of instruction and data areas.
  • FIG. 7 is a configuration diagram of the information processing device according to the third embodiment.
  • FIG. 8 is a configuration diagram of the information processing apparatus according to the fourth embodiment.
  • FIG. 9 is a configuration diagram according to the information processing apparatus of the fifth embodiment.
  • FIG. 10 is a configuration diagram of a conventional information processing apparatus. BEST MODE FOR CARRYING OUT THE INVENTION
  • the information processing device shown in the present embodiment is used in a portable information terminal, although not particularly limited. It consists of a host CPU acting as a master and an accelerator acting as a slave connected to it.
  • the host CPU may perform voice processing
  • the accelerator may process MPEG4.
  • CPU 1 is a first CPU as a host CPU
  • CPU 2 is a second CPU as a CPU in an accelerator (AC).
  • the CPU of this embodiment performs a five-stage pipeline process including instruction fetch, instruction decode, execution, memory access, and write-back. What has been described above is not limited to the first embodiment, but can be applied to the embodiments described later.
  • CT L controls the second CPU, CPU 2, A control block for controlling a first selector (SEL 1), a second selector (SEL 2), a third selector (SEL 3), and a fourth selector (SEL 4) described later. It is.
  • the control block (CTL) is connected to the second CPU, CPU 2 and the first to fourth selectors (SEL1, SEL2, SEL3, SEL4) by signal lines.
  • the control signal for starting the second CPU (CPU 2) and the control signal to each selector (SEL1, SEL2, SEL3, SEL4) are transmitted via the signal line.
  • the first CPU (CPU 1) is connected to the address bus (AB) and the data bus (DB).
  • the second CPU (CPU 2) is connected to the instruction address bus (IAB), the instruction data bus (IDB), the data address bus (DAB), and the data bus for data (DDB).
  • the first selector (SEL 1) has an address bus (AB) connected to the first CPU (CPU 1) and an instruction address bus (I PU) connected to the second CPU (CPU 2). AB).
  • the second selector (SEL 2) switches between the data bus (DB) connected to the first CPU (CPU 1) and the instruction data bus (IDB) connected to the second CPU. is there.
  • the third selector (SEL3) has an address bus (AB) connected to the first CPU (CPU1) and a data address bus (DAB) connected to the second CPU (CPU2). ) This is a selector that switches between and.
  • the fourth selector (SEL 4) has a data bus (DB) connected to the first CPU (CPU 1) and a data bus (DDB) connected to the second CPU (CPU 2). ).
  • the first to fourth selectors are configured to connect any of the connected buses to the memory by the control signal, but there is a problem even if there is a state where none of the buses is connected to the memory. There is no.
  • the instruction memory (IM) is a memory for storing instructions of the second CPU (CPU 2).
  • An address terminal is connected to an address bus (AB) or an instruction address bus (IAB) via a first selector (SEL 1), and a data terminal is connected to a second selector (SEL 2).
  • Is connected to a data bus (DB) or an instruction data bus (IDB).
  • the data storage device (DM) is a storage device for instructions for storing data.
  • the address terminal is connected to an address bus (AB) or a data address bus (DAB) via a third selector (SEL3).
  • the data terminal is connected to a data bus (DB) or a data bus for data (DDB) via a fourth selector (SEL 4).
  • the instruction storage device (IM) and the data storage device of this embodiment are RAM (random access memory), but they are not part of the essence of the present invention. There is no particular problem even with a non-volatile memory.
  • the data address bus (DAB) and data data bus (DDB) connected to the second CPU are connected to the logic block (BLK) built in the accelerator (AC).
  • the configuration of this embodiment is characterized in that the second CPU has a Harvard architecture in which an instruction bus (IAB, IDB) and a data bus (DAB, DDB) are separated.
  • the first CPU has a so-called Neumann architecture in which an instruction bus and a data bus are not separated. That is, in the above description, the instruction address, the data address, and the data are transferred to the address bus (AB), and the instruction data and the data data are transferred to the data bus (DB).
  • the terms Harvard architecture, Harvard type, and Neumann architecture or Neumann type are used, but other names may be used without departing from the spirit of this specification. No problem.
  • the first CPU and the second CPU shown in the first embodiment take the memory efficiency into consideration when storing instructions into memory. 475
  • control block (CTL) shown in FIG. 1 will be described in detail.
  • the control block has therein a control circuit (CTLC) connected to an address bus (AB) connected to the first CPU and a data bus (DB).
  • CT LC decodes the address supplied from the address bus (AB), and if the supplied address indicates the address of the control register (CTLR), the control register (CTLR) CT LR) is written.
  • the control signal for activating the second CPU (CPU 2) is transmitted via the signal line to the second CPU.
  • a control signal is supplied to the first to fourth selectors via signal lines according to the value of the first bit (Ibit) of the control register (CTLR).
  • FIG. 3 describes the logical block (BLK) shown in FIG. 1 in detail.
  • the logical block (BLK) is a block configured with a hardware card, although not particularly limited. In this embodiment, as an example, DC The block that performs T (discretecosinetransform) processing is described.
  • the logic block (BLK) has a control circuit (BLKC) connected to a data address bus (DAB) connected to the second CPU and a data bus for data (DDB).
  • DDB data bus for data
  • the control circuit (BLKC) in the logic block decodes the address supplied via the data address bus (DAB), and buffers (BLKB) and registers (BLKR) according to the supplied address. Are controlled.
  • the data to be processed is written from the data bus for data (DDB) to the buffer (B LKB), and then "1" is written to the start bit of the register (B LKR). (DCTU) starts operation and writes the conversion result back to the buffer (B LKB).
  • the second selector (SEL 2) and the fourth selector (SEL 4) are connected to the data connected to the first CPU.
  • Select the bus (DB) and the instruction storage (IM) and data storage (DM) are the data bus (DB) Connected. That is, when the signal line for controlling the first to fourth selectors is "L”, the instruction storage device and the data storage device are connected to the first CPU.
  • the first CPU (CPU 1) is connected to the address bus (AB), the first selector (SEL 1), and the data bus (DB).
  • the instruction for the second C PU (C PU 2) was transferred to the instruction Symbol ⁇ device (IM), further, the address bus (AB) a third selector
  • the data for the second CPU (CPU2) is transferred to the data storage device (DM) via the data bus (DB) and the fourth selector (SEL4).
  • the control circuit (CT LC) in the control block (CTL) writes "1" to the first bit (1 bit) of the control register (CT LR).
  • the control signals for controlling the respective selectors become “H”, and the first selector (SEL 1) sets the instruction address bus (I 2) connected to the second CPU (CPU 2).
  • AB) is connected to the address terminal of the instruction storage device (IM), and the second selector (SEL 2) is connected to the instruction data bus connected to the second CPU (CPU 2).
  • the third selector (SEL3) connects the data address bus (DAB) connected to the second CPU (CPU2) to the address terminal of the data storage device (DM), and the fourth selector (SEL3).
  • Selector (SEL 4) connects the data bus (DDB) connected to the second CPU (CPU 2) to the data terminal of the data storage device (DM).
  • CT LR control register
  • the control signal transmitted through the signal line connected to the second CPU (CPU 2) becomes “H”, and the second CPU is activated.
  • the second CPU (CPU 2) The processing is started using the instructions stored in the storage device (IM) and the data stored in the data storage device (DM).
  • the central processing unit in the accelerator (AC) connected to the first CPU performing host-like operation (the second processing in the present embodiment) It is possible to use a Harvard architecture CPU in which the instruction bus and the data bus are separated for the CPU. Therefore, when the second CPU in the accelerator performs memory access, it is possible to access data and instructions on different buses, which may occur during pipeline processing. High contention between buses does not occur, and there is no need to delay the pipeline stage for processing, thereby enabling higher performance operation without lowering the processing speed.
  • DPM dual port memory
  • IM instruction storage device
  • DM data storage device
  • the first CPU (CPU 1) is a host CPU
  • the second CPU (CPU 2) is a CPU provided in an accelerator (AC).
  • the control block (CTL) controls the CPU 2 which is the second PU, and controls the first selector (SEL 1) and the second selector (SEL 2) described later. Do.
  • the control block (CTL) is connected to the second CPU, CPU 2 and the first selector (SEL 1) and the second selector (SEL 2) by signal lines, and via those signal lines.
  • the first CPU (CPU 1) is connected to the address bus (AB) and the data bus (DB).
  • the second CPU (CPU 2) is connected to the instruction address bus (IAB), the instruction data bus (IDB), the data address bus (DAB), and the data bus for data (DDB).
  • the first selector (SEL 1) includes an address bus (AB) connected to the first CPU (CPU 1) and an instruction address bus (AB) connected to the second CPU (CPU 2). I AB).
  • the second selector (SEL2) disconnects the data bus (DB) connected to the first CPU (CPU1) from the instruction data bus (IDB) connected to the second CPU. This is a selector for switching.
  • the dual port memory has a first memory port (P 1) and a second memory port (P 1), each of which comprises an address terminal for inputting an address and a data terminal for inputting and outputting data.
  • P 2) is a memory that has two independent memory locations, and since it is conventionally known, its internal description is omitted.
  • the dual-port memory (DPM) is a storage device for instructions of the second CPU (CPU 2) and instructions for storing data processed by the second CPU.
  • the address terminal of the first port (P1) of the dual port memory (DPM) is connected to the address bus (AB) or the instruction address bus (IAB) via the first selector (SEL1)
  • the data terminal is connected to a data bus (DB) or an instruction data bus (I DB) via a second selector (SEL 2).
  • the address terminal of the second port (P2) of the dual-port memory is connected to the data address bus (DAB), and the data terminal is connected to the data bus for data (DDB).
  • the internal configuration of the control block (CTL) and logical block (BLK) is not particularly limited, but is the same as the configuration shown in FIGS. 2 and 3. Further, the configuration of the second embodiment 75
  • the second CPU is a Harvard architecture in which the instruction bus (IAB, IDB) and the data bus (DAB, DDB) are separated.
  • the first CPU has a so-called Neumann architecture in which the instruction bus and the data bus are not separated. That is, in the above description, the instruction address, the data address, and the power are transferred to the address bus (AB); and the instruction data and the data data are transferred to the data bus (DB).
  • the first selector (SEL1) connects the address bus (AB) connected to the first CPU (CPU1) to the dual-port memory (D PM) is connected to the address terminal of the first port (P 1)
  • the second selector (SEL 2) connects the data bus (DB) connected to the first CPU to the dual port memory. Connected to the data terminal of the first port (P 1).
  • the first CPU (CPU 1) dual-ports the instruction and data for the second CPU (CPU 2) in the accelerator (AC) or a program in which the instruction and data are mixed. Via the first port of the remote memory.
  • the second CPU is connected to the first port (P1) of the dual port memory (DPM), the instruction address bus (IAB), and the instruction data bus (IDB). Starts the fetch operation of the instruction executed by the second CPU stored in the CPU.
  • the dual-port memory can access the same physical memory space in parallel from the two ports (Pl, P2), so the instruction buses (I AB, I DB ) And data buses (DAB, DDB) can operate in parallel.
  • the second CPU (CPU 2) in the accelerator (AC) has an instruction area and a data area to be accessed in the same physical space, so that the second CPU has a Harvard architecture. Even if you have one, it is possible to use a program in which instructions and data are mixed. Furthermore, the transfer of the program from the first CPU (CPU 1), which is the host CPU, can be performed at one time. Further, two selectors, which were required in the first embodiment, are now required. As described above, in the second embodiment, the hardware scale can be reduced as compared with the first embodiment, and the performance can be further improved. Also, because the same physical space can be used for instructions and data, the entire RAM space is 40% for the instruction area (IR) and 60% for the data area (DR) as shown in Figure 5.
  • the selectors (SEL1, SEL2) are connected between the buses (AB, DB) connected to the first CPU and the instruction buses (IAB, IDB) of the second CPU. ), But the bus (AB, AB) connected to the first CPU and the data bus (DAB, DD B).
  • the selector is provided between one bus of the second CPU and the bus connected to the first CPU. Is also good.
  • the configuration is the same as that of the first embodiment in which the instruction storage device and the data storage device are replaced with one dual-port memory.
  • the storage device in the accelerator (AC) has three memory ports including an address terminal for inputting an address and a data terminal for inputting and outputting data. It is characterized by using triple port memory (TPM). Although this tri-port memory is sometimes called a three-port memory, the same RAM space is allocated to the first memory port (P 1), the second memory port (P 2), and the third memory port (P It is a memory that can be accessed in parallel by the three ports in P3).
  • the first CPU (CPU 1) that performs host-like operation and the address bus (AB) connected to the first CPU are used.
  • DB data bus
  • the accelerator radiator (AC) connected via these buses is connected to the second CPU (CPU 2) and the address bus (AB) and the data bus (DB).
  • the control block (CTL), the instruction address bus (IAB) and the instruction data bus (IDB) connected to the second CPU, and the second CPU and the logic block ( A data address bus (DAB) and a data bus for data (DDB) connected to the BLK) and the triple port memory (TPM) described above are formed.
  • the triple-port memory (TPM) of the third embodiment has three memory ports, so that each bus can be connected.
  • the first memory port (P 1) of the triple port memory includes: The address bus (AB) connected to the first CPU and the data bus (DB) are connected, and the second memory port (P2) has the instruction address connected to the second CPU.
  • the bus (IAB) is connected to the instruction data bus (IDB)
  • the third memory port has a data address bus (DAB) and a data bus (DDB) connected to the second CPU. And are connected. Therefore, there is no need to provide a selector that was required in the first and second embodiments. That is, the control block (CTL) does not require the signal lines connected to the control block and the selector described in the first and second embodiments. Further, the setting of the first bit (1 bit) of the control register for controlling the selector described in FIG. 2 is not required.
  • the configuration of the logic block (BLK) is not particularly limited, but there is no problem even if the configuration is the same as that shown in FIG.
  • the host CPU 2 transfers a program in which instructions and data for the accelerator CPU 26 are mixed to the triple port RAM 50.
  • the accelerator CPU 26 is activated, and the accelerator CPU 26 fetches the instruction of the triple port RAM 50 and starts the operation.
  • the dress bus (IAB) and the instruction data bus (IDB) are the first memory port (PPM) of the triple port memory (TPM), respectively.
  • the fourth embodiment is a modification of the second embodiment using the dual port memory described above.
  • the fifth selector (SEL5) for switching between the lower bit and the upper bit is provided on the instruction data bus of the second CPU (CPU2) in the accelerator (AC). It is unique.
  • the second CPU (CPU 2) of the fourth embodiment has an instruction length of 16 bits and an operation bit length of 32 bits.
  • the bit width of the dual port memory (DPM) is 32 bits. Therefore, the second CPU accesses the dual-port memory with the instruction bus (IAB, IDB) and the data bus (DAB, DDB) with 32 bits.
  • the fifth selector (SEL5) receives the information of the instruction address bus (IAB) output from the second CPU, and converts the 32-bit instruction data output from the dual port memory (DPM). Select the required upper 16 bits or lower 16 bits and output it to the second CPU.
  • the dual-port RAM can be used even when the bit length of the instruction is different from the bit length of the data.
  • FIG. 9 illustrates a fifth embodiment.
  • the fifth embodiment is also a modification of the second embodiment using the dual port memory described above.
  • This embodiment In 5 the data bus of the second CPU (CPU 2) in the accelerator (AC) has a sixth selector (SEL 6) that switches between lower and upper bits. There is a feature.
  • the second CPU (CPU 2) of the fifth embodiment has an instruction length of 16 bits and an operation bit length of 32 bits.
  • the bit width of the dual port memory (DPM) is 32 bits. For this reason, the second CPU accesses the dual-port memory with the instruction bus (IAB, IDB) and the data bus (DAB, DDB) with 32 bits.
  • the fifth selector (SEL 5) receives the address information output from the second CPU and selects the necessary upper or lower 16 bits from the accessed 32 bits. Output.
  • the dual-port RAM can be used.
  • the instruction storage device (IM) and the data storage device (DM) of the first embodiment, the dual-port memory (DPM) of the second, fourth, and fifth embodiments, and the triple-port memory (TPM) of the third embodiment PM) may be composed of flash memory. As a result, data can be retained even when the power supply is stopped, so that when the power supply is restarted, it is possible to reproduce the same state as at the end of the previous time.

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)

Abstract

Means is provided for improving the performance or processing speed of an information processor that comprises a host CPU as a master and an accelerator as a slave connected with the master. The host CPU has a Neumann architecture, and the CPU in the accelerator has a Harvard architecture. More specifically, a storage shared by both CPUs includes a selector, which connects the storage selectively with the buses associated with the individual CPUs. The shared memory is composed of dual-port memory. The configuration increases the processing speed of the information processor comprising a master CPU and a slave CPU.

Description

明 細 書 情報処理装置 技術分野  Description Information processing equipment Technical field
本発明は情報処理装置に関し、 特に、 マスターとス レーブの関係を持 つ 2つの C PU (中央処理装置) 、 具体的には、 ホス ト C PUとァクセ ラレ一タ内の C PUとの 2つの C P Uを有する情報処理装置に関する。 背景技術  The present invention relates to an information processing apparatus, and in particular, relates to two CPUs (central processing units) having a master-slave relationship, specifically, a host CPU and a CPU in an accelerator. The present invention relates to an information processing device having two CPUs. Background art
現在、 携帯端末機器がよく使用されるようになってきている。 この携 帯端末は、 一般的に、 マスターとしてのホス ト C PUと、 ホス ト C PU の処理を助けるスレーブとしてのァクセラレータ等で構成される場合が 多い。 例えば、 M P E G 4をデコードする場合、 音声部はホス ト C PU で処理を行い、 画像部は MP E G 4を処理する専用の L S I (ァクセラ レ一タ) に任せる構成となる。 また、 この携帯端末は、 少ない消費電力 で、 かつ、 複数の規格の信号処理を行えることが要求される。 そのため、 機器の内部に使用する L S Iは、 従来のホス ト C PUとハードウエアで 構成されたァクセラレータの組み合わせから、 ホス ト C PUとプロセッ サを内蔵しソフ トウェアで動作するァクセラレータの組み合わせで使用 することが考えられる。 以下、 ァクセラレータに内蔵されるプロセッサ をァクセラレータ C PUと呼ぶ。 この様な構成では、 ァクセラレータへ 転送するプログラムを変えることで、 処理内容を変えることができる。 つまり、 転送するプログラムを変えることで、 複数の規格の信号処理を 行うことができるようになる。 この場合の例を図 1 0に示す。 この構成 では、 ホス ト C PUと しての役目を果たす第 1の C PU (C PU 1 ) 、 第 1の C P Uとァクセラレータとに接続されたア ドレスバス (AB) と デ一タバス (DB) 、 ァクセラレータ (AC) 内に設けられたァクセラ レータ C PU (AC PU) 、 ァクセラレ一タ C PUに接続された内部ァ ドレスバス ( I NTAB) と内部データバス ( I NTDB) 、 それぞれ のバスを選択的にメモり (RAM)へ接続するための第 1のセレク タ (S E L 1 ) と第 2のセレクタ (S E L 2) とが示されている。 動作として は、 起動をかける前に第 1のセレクタと第 2のセレクタを第 1の C PU のバス側に切り替え、 ァクセラレータ C P Uのプログラムをメモリに転 送する。 そして、 ァクセラレータに起動をかける場合は、 セレクタをァ クセラレータ C PU (AC PU) のバス側に切り換え、 メモリに記憶さ れたプログラムを読み込み、 ァクセラレ一タ C P Uは処理を実行する。 At present, portable terminal devices are becoming popular. In general, this mobile terminal is often composed of a host CPU as a master, and an accelerator as a slave that assists the processing of the host CPU. For example, when decoding MPEG-4, the audio part is processed by the host CPU, and the image part is left to a dedicated LSI (axelator) that processes MPEG4. In addition, this portable terminal is required to be able to perform signal processing of a plurality of standards with low power consumption. For this reason, the LSI used inside the device is used from a combination of the conventional host CPU and an accelerator configured with hardware to a combination of the host CPU and an accelerator that has a built-in processor and operates with software. It is possible. Hereinafter, the processor incorporated in the accelerator is referred to as an accelerator CPU. In such a configuration, the processing content can be changed by changing the program transferred to the accelerator. In other words, by changing the program to be transferred, signal processing of multiple standards can be performed. An example of this case is shown in FIG. In this configuration, the first CPU (CPU 1), which acts as the host CPU, The address bus (AB) and data bus (DB) connected to the first CPU and accelerator, the accelerator CPU (AC PU) provided in the accelerator (AC), and the accelerator CPU Internal address bus (INTAB) and internal data bus (INTDB), a first selector (SEL1) and a second selector for selectively connecting each bus to memory (RAM) (SEL 2). As an operation, before starting, the first selector and the second selector are switched to the bus side of the first CPU, and the program of the accelerator CPU is transferred to the memory. When the accelerator is activated, the selector is switched to the bus of the accelerator CPU (AC PU), the program stored in the memory is read, and the accelerator CPU executes the processing.
ところで、 マスターとしての C P Uに接続されたァクセラレ一タ内の C PUは、 5段程度のパイプラインで構成することが多い。 5段の内容 は、 命令フェッチ、 命令デコード、 実行、 メモリアクセス、 書き戻しで ある。 その中で、 命令フェッチとメモリアクセスのステージでは、 両方 ともにァクセラレータの C PUのァドレスバスとデータバスを使用する ため競合が発生する。 そのため、 通常どちらかのステージを 1 クロック 遅らせるような措置をとるため、 情報処理装置のパフォーマンスつまり 処理速度が落ちるという課題があった。  By the way, the CPU in the accelerator connected to the CPU as the master is often composed of about five pipelines. The contents of the five stages are instruction fetch, instruction decode, execution, memory access, and write-back. In the instruction fetch and memory access stages, contention occurs because both use the address bus and data bus of the accelerator CPU. For this reason, there is a problem that the performance of the information processing device, that is, the processing speed is reduced, because measures are usually taken to delay one of the stages by one clock.
また、 従来の関連する特許出願公開としては、 特開平 5— 94 3 0 5、 特開平 5— 23 3 5 1 9、 特開平 6 - 1 9 7 04及び特開平 1 0— 2 5 4 7 6 7がある。 しかし、 何れの公開公報においても、 上記に示した構 成における問題点の開示も示唆も見あたらず、 本明細書で示す本発明の 構成を示している公報は見受けられないものと言えよう。  The related related patent application publications include Japanese Patent Application Laid-Open Nos. Hei 5-94305, Hei 5-233 191, Hei 6-19704 and Hei 10-254 776. There are seven. However, none of the publications discloses or suggests the problems in the above-described configuration, and it can be said that there is no publication showing the configuration of the present invention shown in this specification.
そこで、 本発明の目的とするところは、 マスターの役目をする C PU と、 スレーブの役目をする C PUとを有する情報処理装置において、 バ スアクセスの競合を防止し、 パフォーマンスの低下しない情報処理装置 を提供することにある。 Therefore, an object of the present invention is to provide an information processing apparatus having a CPU serving as a master and a CPU serving as a slave. An object of the present invention is to provide an information processing apparatus which prevents contention for access and does not degrade performance.
本発明の更なる目的は、 ノイマン型の。 P Uとハーバ一ド型の C P U とを使用することで、 高いパフォーマンスの情報処理装置を提供するこ とにある。  A further object of the invention is of the Neumann type. An object of the present invention is to provide a high-performance information processing device by using a PU and a harbor type CPU.
本発明の上記以外の目的については、 本明細書及び図面より明らかに なるであろう。 発明の開示  Other objects of the present invention will become apparent from the present specification and the drawings. Disclosure of the invention
上記目的を達成するため、 請求項 1の発明では、 第 1の中央演算処理 装置と第 2の中央演算処理装置と記憶装置とを有する情報処理装置にお いて、 第 1の中央処理装置は命令とデータとを同一のバスを介して記憶 装置に出力し、 第 2の中央演算処理装置は命令バスとデータバスとを介 して記憶装置にアクセスするようにしたものである。  In order to achieve the above object, according to the first aspect of the present invention, in an information processing apparatus having a first central processing unit, a second central processing unit, and a storage device, the first central processing unit includes an instruction. And the data are output to the storage device via the same bus, and the second central processing unit accesses the storage device via the instruction bus and the data bus.
請求項 7の発明では、 第 1 の中央処理装置と、 第 1 の中央処理装置に 接続され命令とデータとが転送される第 1のバスと、 第 2の中央処理装 置と、 第 2の中央処理装置に接続され命令が転送される第 2のバスと、 第 2の中央処理装置に接続されデータが転送される第 3のバスと、 記憶 装置と、 第 1のバスと第 2のバスとに接続され第 1 のバス或いは第 2の バスを選択して記憶装置に接続させる第 1の選択回路と、 第 1 のバスと 第 3のバスとに接続され第 1 のバス或いは第 3のバスを選択して記憶装 置に接続させる第 2の選択回路とを有するようにしたものである。  According to the invention of claim 7, the first central processing unit, a first bus connected to the first central processing unit to transfer instructions and data, a second central processing unit, A second bus connected to the central processing unit for transferring instructions; a third bus connected to the second central processing unit for transferring data; a storage device; a first bus and a second bus A first selection circuit connected to the first bus or the second bus and connected to the storage device by selecting the first bus or the second bus; and a first bus or the third bus connected to the first bus and the third bus. A second selection circuit for selecting a bus and connecting it to the storage device.
請求項 1 0のは発明では、 第 1 の中央処理装置と、 第 1の中央処理装 置に接続され命令とデータとが転送される第 1のバスと、 第 2の中央処 理装置と、 第 2の中央処理装置に接続された第 2のバスと、 第 2の中央 処理装置に接続された第 3のバスと、 第 1のメモリポートと第 2のメモ リポートとを有する記憶装置と、 第 1のバスと第 2のバスとに接続され 第 1のバス或いは第 2のバスを選択して記憶装置の第 1のメモリポート に接続させる第 1の選択回路とを有し、 第 3のバスは記憶装置の第 2の メモリポートに接続されるようにしたものである。 The invention according to claim 10 is characterized in that the first central processing unit, a first bus connected to the first central processing unit to transfer instructions and data, a second central processing unit, A second bus connected to the second central processing unit; a third bus connected to the second central processing unit; a first memory port and a second memory. A storage device having a report, and a first selection circuit connected to the first bus and the second bus, for selecting the first bus or the second bus and connecting to the first memory port of the storage device And the third bus is connected to a second memory port of the storage device.
請求項 1 4の発明では、 ノイマンアーキテクチャを有する第 1の中央 処理装置と、 第 1の中央処理装置により転送されたプログラムの処理を 行うハーバ一ドアーキテクチャを有する第 2の中央処理装置とを有する ようにしたものである。  According to the invention of claim 14, there is provided a first central processing unit having a Neumann architecture, and a second central processing unit having a Harvard architecture for processing a program transferred by the first central processing unit. It is like that.
請求項 1 5の発明では、 請求項 1 4の情報処理装置において、 第 1 の 中央処理装置は第 1のバスを介して記憶装置に接続されており、 第 2の 中央処理装置は第 2のバスと第 3のバスとを介して記憶装置に接続され るようにしたものである。  According to the invention of claim 15, in the information processing apparatus of claim 14, the first central processing unit is connected to the storage device via the first bus, and the second central processing unit is connected to the second central processing unit. It is connected to a storage device via a bus and a third bus.
請求項 1 6の発明では、請求項 1 4又は 1 5の情報処理装置において、 記憶装置は第 1 のメモリポートと第 2のメモリポートとを有するデュア ルポートメモリであるとしたものである。  According to a sixteenth aspect of the present invention, in the information processing device according to the fourteenth or fifteenth aspect, the storage device is a dual port memory having a first memory port and a second memory port.
請求項 1 9の発明では、請求項 1 4又は 1 5の情報処理装置において、 記憶装置は命令を記憶する第 1の記憶装置とデータを記憶する第 2の記 憶装置とを有しており、 前記情報処理装置は、 更に、 第 1のバスと第 2 のバスとを選択的に第 1 の記憶装置に接続する第 1 の選択回路と、 第 1 のバスと第 3のバスとを選択的に第 2の記憶装置に接続する第 2の選択 回路とを有するようにしたものである。  According to the invention of claim 19, in the information processing apparatus of claim 14 or 15, the storage device has a first storage device for storing instructions and a second storage device for storing data. The information processing apparatus further includes: a first selection circuit that selectively connects the first bus and the second bus to the first storage device; and a first bus and a third bus. And a second selection circuit connected to the second storage device.
以上、 本発明を用いることにより、 ホス ト C P Uに接続されるァクセ ラレータが、 ハーバ一ドア一キテクチャのプロセッサ使用することが可 能となるため、 処理内容をプログラマブルにすることが可能となる。 ま た命令フェッチとメモリアクセスとを並列に動作することが可能となる ため、 高速な情報処理装置を実現することができる。 図面の簡単な説明 As described above, by using the present invention, the accelerator connected to the host CPU can use the processor of the herb-and-door architecture, so that the processing content can be made programmable. Further, since instruction fetch and memory access can be operated in parallel, a high-speed information processing device can be realized. BRIEF DESCRIPTION OF THE FIGURES
図 1は、 実施例 1にかかる情報処理装置の構成図である。 図 2は、 図 1内に示されたコン トロ一ルブ口 ックの詳細な構成図である。 図 3は、 図 1内に示された論理ブロ ックの詳細な構成図である。 図 4は、 実施例 2にかかる情報処理装置の構成図である。 図 5は、 命令用とデータ用領 域の第 1の割り振りを示した図である。 図 6は、 命令用とデータ用領域 の第 2の割り振りを示した図である。 図 7は、 実施例 3にかかる情報処 理装置の構成図である。 図 8は、 実施例 4にかかる情報処理装置の構成 図である。 図 9は、 実施例 5の情報処理装置にかかる構成図である。 図 1 0は、 従来の情報処理装置の構成図である。 発明を実施するための最良の形態  FIG. 1 is a configuration diagram of the information processing apparatus according to the first embodiment. FIG. 2 is a detailed configuration diagram of the control block shown in FIG. FIG. 3 is a detailed configuration diagram of the logic block shown in FIG. FIG. 4 is a configuration diagram of the information processing apparatus according to the second embodiment. FIG. 5 is a diagram showing a first allocation of instruction and data areas. FIG. 6 is a diagram showing a second allocation of instruction and data areas. FIG. 7 is a configuration diagram of the information processing device according to the third embodiment. FIG. 8 is a configuration diagram of the information processing apparatus according to the fourth embodiment. FIG. 9 is a configuration diagram according to the information processing apparatus of the fifth embodiment. FIG. 10 is a configuration diagram of a conventional information processing apparatus. BEST MODE FOR CARRYING OUT THE INVENTION
<実施例 1 >  <Example 1>
図 1を用いて第一の実施例を説明する。 本実施例で示している情報処 理装置は、 特に制限される訳ではないが、 携帯情報端末で使用される。 マスタ一と して働く ホス ト C PUと、 それに接続されたスレーブと して のァクセラレータとにより構成されている。 例えば、 ホス ト C PUは音 声処理を行い、 ァクセラレータは MP EG 4を処理する場合等があり得 るが、 特に制限される訳ではない。 図 1において、 C PU 1がホス ト C PUとしての第一の C PU、 C PU 2はァクセラレータ (AC) 内の C P Uとしての第 2の C P Uである。 特に制限されないが、 本実施例の C PUは、 命令フェッチ、 命令デコード、 実行、 メモリアクセス、 書き戻 しにより構成される 5段のパイプライン処理を行う。 以上記載したこと は、 本実施例 1に限定されるものでなく、 後述の実施例にも適用出来る ものである。 CT Lは第 2の C PUである C PU 2の制御を行ったり、 後述する第 1のセレクタ (S E L 1 ) と第2のセレクタ (S E L 2) と 第 3のセレク タ (S E L 3 ) と第 4のセレクタ (S E L 4) との制御を 行うためのコン トロールブロ ックである。 コン ト口一ノレブロ ック (CT L) は第 2の C P Uである C P U 2や第 1から第 4のセレクタ (S E L 1、 S E L 2、 S E L 3、 S E L 4) に信号線で接続され、 それらの信 号線を介して第 2の C PU (C PU 2) に対して起動をかけるための制 御信号やそれぞれのセレクタ (S E L 1、 S E L 2、 S E L 3、 S E L 4) に制御信号を伝達する。 第 1の C PU (C PU 1 ) はア ドレスバス (AB) とデータバス (DB) とに接続されている。 第 2の C PU (C PU 2) は、 命令ァドレスバス ( I AB) と命令データバス ( I DB) とデータア ドレスバス (DAB) とデータ用データバス (DDB) とに 接続されている。 第 1のセレクタ (S E L 1 ) は、 第 1の C PU (C P U 1 ) に接続されたア ドレスバス (AB) と第 2の C PU (C PU 2) に接続された命令ア ドレスバス ( I AB) とを切り替えるセレクタであ る。 第 2のセレクタ (S E L 2) は、 第 1の C PU (C PU 1 ) に接続 されたデータバス (DB) と第 2の C PUに接続された命令データバス ( I D B) とを切り替えるセレクタである。 第 3のセレクタ (S E L 3) は、 第 1の C PU (C PU 1 ) に接続されたア ドレスバス (AB) と第 2の C PU (C PU 2) に接続されたデータア ドレスバス (DAB) と を切り替えるセレクタである。 第 4のセレクタ (S E L 4) は、 第 1の C PU (C PU 1 ) に接続されたデータバス (DB) と第 2の C PU (C PU 2) に接続されたデータ用データバス (DDB) とを切り替えるセ レクタである。 第 1のセレクタから第 4のセレクタは、 制御信号により、 接続されている何れかのバスをメモりに接続する構成としたが、 何れの バスもメモリに接続しない状態が存在していても問題は無い。 命令記憶 装置 ( I M) は第 2の C PU (C PU 2) の命令を格納する命令用の記 憶装置であり、 ア ドレス端子は第 1のセレクタ (S E L 1 ) を介してァ ドレスバス (A B ) 或いは命令ア ドレスバス ( I A B ) に接続され、 デ ータ端子は第 2のセレクタ (S E L 2 ) を介してデータバス (D B ) 或 いは命令データバス ( I D B ) に接続されている。 データ記憶装置 (D M) はデータを格納する命令用の記憶装置であり、 ア ドレス端子は第 3 のセレクタ (S E L 3 ) を介してア ドレスバス (A B ) 或いはデータァ ドレスバス (D A B ) に接続され、 データ端子は第 4のセレクタ (S E L 4 ) を介してデータバス (D B ) 或いはデータ用データバス (D D B ) に接続されている。 本実施例の命令記憶装置 ( I M) とデータ記憶装置 とは、 R AM ( r a n d o m a c c e s s m e m o r y ) であるが、 本発明の本質にかかわる部分では無いため、 D R AMであつ ても S R AMであっても不揮発性メモリであっても特に問題はない。 第 2の C P Uに接続されたデータア ドレスバス (D A B ) とデータ用デー タバス (D D B ) とは、 ァクセラレータ (A C) に内蔵されている論理 ブロック (B L K) に接続されている。 本実施例の構成では、 第 2の C P Uは命令用のバス ( I A B、 I D B ) とデータ用のバス (D A B、 D D B ) とを分離したハーバード型のアーキテクチャを持っていることに 特徴がある。 又、 第 1の C P Uは命令用のバスとデータ用のバスとが分 離されていない、 いわゆるノイマン型のアーキテクチャを持っている。 つま り上記説明において、 ア ドレスバス (A B ) には、 命令ア ドレスと データア ドレスとカ 、 データバス (D B ) には、 命令データとデータ用 データとが転送される。 本明細書では、 ハーバードアーキテクチャ或い はハーバード型、 及び、 ノイマンアーキテクチャ或いはノイマン型と言 つた言葉を使用しているが、 本明細書の趣旨を逸脱のであれば、 他の名 称を使用しても問題ない。 又、 本実施例 1で示した第 1 の C P U及び第 2の C P Uは、 命令をメモリ に格納する際のメモリ効率を考慮して 1 6 475 The first embodiment will be described with reference to FIG. The information processing device shown in the present embodiment is used in a portable information terminal, although not particularly limited. It consists of a host CPU acting as a master and an accelerator acting as a slave connected to it. For example, the host CPU may perform voice processing, and the accelerator may process MPEG4. However, there is no particular limitation. In FIG. 1, CPU 1 is a first CPU as a host CPU, and CPU 2 is a second CPU as a CPU in an accelerator (AC). Although not particularly limited, the CPU of this embodiment performs a five-stage pipeline process including instruction fetch, instruction decode, execution, memory access, and write-back. What has been described above is not limited to the first embodiment, but can be applied to the embodiments described later. CT L controls the second CPU, CPU 2, A control block for controlling a first selector (SEL 1), a second selector (SEL 2), a third selector (SEL 3), and a fourth selector (SEL 4) described later. It is. The control block (CTL) is connected to the second CPU, CPU 2 and the first to fourth selectors (SEL1, SEL2, SEL3, SEL4) by signal lines. The control signal for starting the second CPU (CPU 2) and the control signal to each selector (SEL1, SEL2, SEL3, SEL4) are transmitted via the signal line. The first CPU (CPU 1) is connected to the address bus (AB) and the data bus (DB). The second CPU (CPU 2) is connected to the instruction address bus (IAB), the instruction data bus (IDB), the data address bus (DAB), and the data bus for data (DDB). The first selector (SEL 1) has an address bus (AB) connected to the first CPU (CPU 1) and an instruction address bus (I PU) connected to the second CPU (CPU 2). AB). The second selector (SEL 2) switches between the data bus (DB) connected to the first CPU (CPU 1) and the instruction data bus (IDB) connected to the second CPU. is there. The third selector (SEL3) has an address bus (AB) connected to the first CPU (CPU1) and a data address bus (DAB) connected to the second CPU (CPU2). ) This is a selector that switches between and. The fourth selector (SEL 4) has a data bus (DB) connected to the first CPU (CPU 1) and a data bus (DDB) connected to the second CPU (CPU 2). ). The first to fourth selectors are configured to connect any of the connected buses to the memory by the control signal, but there is a problem even if there is a state where none of the buses is connected to the memory. There is no. The instruction memory (IM) is a memory for storing instructions of the second CPU (CPU 2). An address terminal is connected to an address bus (AB) or an instruction address bus (IAB) via a first selector (SEL 1), and a data terminal is connected to a second selector (SEL 2). ) Is connected to a data bus (DB) or an instruction data bus (IDB). The data storage device (DM) is a storage device for instructions for storing data. The address terminal is connected to an address bus (AB) or a data address bus (DAB) via a third selector (SEL3). The data terminal is connected to a data bus (DB) or a data bus for data (DDB) via a fourth selector (SEL 4). The instruction storage device (IM) and the data storage device of this embodiment are RAM (random access memory), but they are not part of the essence of the present invention. There is no particular problem even with a non-volatile memory. The data address bus (DAB) and data data bus (DDB) connected to the second CPU are connected to the logic block (BLK) built in the accelerator (AC). The configuration of this embodiment is characterized in that the second CPU has a Harvard architecture in which an instruction bus (IAB, IDB) and a data bus (DAB, DDB) are separated. The first CPU has a so-called Neumann architecture in which an instruction bus and a data bus are not separated. That is, in the above description, the instruction address, the data address, and the data are transferred to the address bus (AB), and the instruction data and the data data are transferred to the data bus (DB). In this specification, the terms Harvard architecture, Harvard type, and Neumann architecture or Neumann type are used, but other names may be used without departing from the spirit of this specification. No problem. In addition, the first CPU and the second CPU shown in the first embodiment take the memory efficiency into consideration when storing instructions into memory. 475
8 ビッ ト長の命令が処理される構成とすることも可能であるが、 より多く の命令を有するようにするために 3 2ビッ ト長の命令が処理される構成 であってもよレ、。 更には、 1 6ビッ ト長と 3 2ビッ ト長とが混在した命 令を処理する構成あってもよく、 第 1の C P Uと第 2の C P Uとは異な る命令長の命令を処理する構成であってもよいが、 全ての実施例におい て、 特に制限している訳ではない。 また、 以上の説明において、 命令、 データ、 ア ドレスが一見混在しているように見えるが、 ア ドレス一デ一 タとの関係に基づくデータと、 命令一データとの関係基づくデータとが 存在しているためである。 しかし、 命令データ、 データ用データ、 更に は単なるデータとがそれぞれ意味を持ったものであることは、 当業者に とっては容易に理解できるものである。 Although it is possible to adopt a configuration in which 8-bit instructions are processed, a configuration in which 32-bit instructions are processed in order to have more instructions may be used. . Further, a configuration may be employed in which instructions having a mixed length of 16 bits and 32 bits are processed, and the first and second CPUs may be configured to process instructions having different instruction lengths. However, it is not particularly limited in all the embodiments. Also, in the above description, it seems that instructions, data, and addresses are mixed at first glance, but there are data based on the relationship between address and data and data based on the relationship between instruction and data. Because it is. However, it is easily understood by those skilled in the art that the instruction data, the data data, and the mere data have meanings.
図 2では、 図 1に示したコン トロールブロック (CT L) について詳 細に説明する。 コン トロールブロックは、 その内部に、 第 1の C PUに 接続されたア ドレスバス (AB) とデータバス (DB) とに接続された 制御回路 (CT L C) を有する。 制御回路 (CT L C) では、 ア ドレス バス (AB) より供給されるアドレスがデコードされ、 供給されたアド レスがコン トロールレジスタ (CTL R) のア ドレスが示されていれば、 コン トロールレジスタ (CT L R) への書き込みが行われる。 コント口 ールレジスタ (CT L R) の 0ビッ ト目 (O b i t ) の値に応じて、 第 2の C PU (C PU 2) を起動するための制御信号が信号線を介して第 2の C PUへ供給される。 またコン トロールレジスタ (CT L R) の 1 ビッ ト目 (l b i t ) の値に応じて、 第 1から第 4のセレクタに対して、 信号線を介して制御信号が供給される。  In FIG. 2, the control block (CTL) shown in FIG. 1 will be described in detail. The control block has therein a control circuit (CTLC) connected to an address bus (AB) connected to the first CPU and a data bus (DB). The control circuit (CT LC) decodes the address supplied from the address bus (AB), and if the supplied address indicates the address of the control register (CTLR), the control register (CTLR) CT LR) is written. According to the value of the 0th bit (O bit) of the control register (CT LR), the control signal for activating the second CPU (CPU 2) is transmitted via the signal line to the second CPU. Supplied to In addition, a control signal is supplied to the first to fourth selectors via signal lines according to the value of the first bit (Ibit) of the control register (CTLR).
図 3では、 図 1に示した論理ブロック (B LK) について詳細に説明 する。 この論理ブロック (B LK) は、 特に制限されないが、 ハードヮ ィァードで構成されるブロックである。 本実施例では、 例と して、 DC T (d i s c r e t e c o s i n e t r a n s f o r m : 離散コサ イン変換) 処理を行うブロックを説明する。 論理ブロ ック (B LK) は、 第 2の C PUに接続されているデータア ドレスバス (DAB) とデータ 用データバス (DDB) とに接続された制御回路 (B LKC) を有する。 論理ブロック内の制御回路 (B LKC) では、 データア ドレスバス (D AB) を介して供給されるア ドレスがデコードされ、 供給されたァドレ スに応じてバッファ (B L KB) と レジスタ (B LKR) とが制御され る。 データ用データバス (DDB) からバッファ (B LKB) に対して、 処理されるべきデータを書き込み、 次にレジスタ (B LKR) が有する 起動ビッ トに" 1 " を書き込むと、 離散コサイン変換ユニッ ト (DCT U) が動作を開始し、 変換結果を再び結果をバッファ (B LKB) に書 き込む。 FIG. 3 describes the logical block (BLK) shown in FIG. 1 in detail. The logical block (BLK) is a block configured with a hardware card, although not particularly limited. In this embodiment, as an example, DC The block that performs T (discretecosinetransform) processing is described. The logic block (BLK) has a control circuit (BLKC) connected to a data address bus (DAB) connected to the second CPU and a data bus for data (DDB). The control circuit (BLKC) in the logic block decodes the address supplied via the data address bus (DAB), and buffers (BLKB) and registers (BLKR) according to the supplied address. Are controlled. The data to be processed is written from the data bus for data (DDB) to the buffer (B LKB), and then "1" is written to the start bit of the register (B LKR). (DCTU) starts operation and writes the conversion result back to the buffer (B LKB).
次に、 上記で示した本実施例の動作について説明する。 まず、 パワー オンリセッ ト状態では、 図 2で示したコン トロールブロ ック (CTL) 内のコン トロールレジスタ (CT L R) は全ビッ ト 0の状態となる。 従 つて、 第 2の C P Uを起動するための信号線も" L" 状態となり、 第 2 の C PU (C P U 2 ) は停止している。 また、 第 1から第 4のセレクタ (S E L 1、 S E L 2、 S E L 3、 S E L 4) を制御するための信号線 も" L" 状態となる。 セレクタの制御を行う信号線が "L" の状態であ れば、 第 1のセレクタ (S E L 1 ) と第 3のセレクタ (S E L 3) とは、 第 1の C PUに接続されたア ドレスバス (AB) を選択し、 命令記憶装 置 ( I M) とデータ記憶装置 (DM) とはア ドレスバス (AB) に接続 された状態となる。 また同様に、 セレクタの制御を行う信号線が "L" の状態であれば、 第 2のセレクタ (S E L 2) と第 4のセレクタ (S E L 4 ) とは、 第 1の C P Uに接続されたデータバス (DB) を選択し、 命令記憶装置 ( I M) とデータ記憶装置 (DM) とはデータバス (DB) に接続された状態となる。 つまり、 第 1から第 4のセレクタを制御する ための信号線が "L" の場合、 命令記憶装置とデータ記憶装置とは、 第 1の C P Uに接続されることとなる。 この状態において、 第 2の C PU を動作させる場合、 第 1の C PU (C PU 1 ) は、 ア ドレスバス (AB) と第 1のセレクタ (S E L 1 ) 及びデータバス (DB) と第.2のセレク タ (S E L 2) を介して、 第 2の C PU (C PU 2) 用の命令を命令記 憶装置 ( I M) に転送し、 更に、 ア ドレスバス (AB) と第 3のセレク タ (S E L 3) 及びデータバス (D B) と第 4のセレクタ (S E L 4) を介して、 第 2の C PU (C PU 2 ) 用のデータをデータ記憶装置 (D M) に転送する。 更に、 コン トロールブロック (CT L) 内の制御回路 (CT L C) は、 コン トロールレジスタ (CT L R) の 1 ビッ ト目 ( 1 b i t ) に" 1 " を書き込む。 それにより、 それぞれのセレクタの制御 を行う制御信号は" H', 状態となり、 第 1のセレクタ (S E L 1 ) は第 2の C PU (C PU 2) に接続されている命令ア ドレスバス ( I AB) と命令記憶装置 ( I M) のァ ドレス端子とを接続し、 第 2のセレクタ (S E L 2) は第 2の C PU (C PU 2) に接続されている命令データバスNext, the operation of the present embodiment described above will be described. First, in the power-on reset state, all bits of the control register (CT LR) in the control block (CTL) shown in Fig. 2 are 0. Therefore, the signal line for activating the second CPU is also in the “L” state, and the second CPU (CPU 2) is stopped. Also, the signal lines for controlling the first to fourth selectors (SEL1, SEL2, SEL3, SEL4) are also in the "L" state. If the signal line for controlling the selector is in the “L” state, the first selector (SEL 1) and the third selector (SEL 3) are connected to the address bus connected to the first CPU. (AB) is selected, and the instruction storage device (IM) and data storage device (DM) are connected to the address bus (AB). Similarly, if the signal line for controlling the selector is in the “L” state, the second selector (SEL 2) and the fourth selector (SEL 4) are connected to the data connected to the first CPU. Select the bus (DB) and the instruction storage (IM) and data storage (DM) are the data bus (DB) Connected. That is, when the signal line for controlling the first to fourth selectors is "L", the instruction storage device and the data storage device are connected to the first CPU. In this state, when operating the second CPU, the first CPU (CPU 1) is connected to the address bus (AB), the first selector (SEL 1), and the data bus (DB). through the second selector (SEL 2), the instruction for the second C PU (C PU 2) was transferred to the instruction Symbol憶device (IM), further, the address bus (AB) a third selector The data for the second CPU (CPU2) is transferred to the data storage device (DM) via the data bus (DB) and the fourth selector (SEL4). Further, the control circuit (CT LC) in the control block (CTL) writes "1" to the first bit (1 bit) of the control register (CT LR). As a result, the control signals for controlling the respective selectors become “H”, and the first selector (SEL 1) sets the instruction address bus (I 2) connected to the second CPU (CPU 2). AB) is connected to the address terminal of the instruction storage device (IM), and the second selector (SEL 2) is connected to the instruction data bus connected to the second CPU (CPU 2).
( I DB) と命令記憶装置 ( I M) のデータ端子とを接続する。 また、 第 3のセレクタ (S E L 3 ) は第 2の C PU (C PU 2) に接続されて いるデータア ドレスバス (DAB) とデータ記憶装置 (DM) のァドレ ス端子とを接続し、 第 4のセレクタ (S E L 4) は第 2の C PU (C P U 2) に接続されているデータ用データバス (DDB) とデータ記憶装 置 (DM) のデータ端子とを接続する。 次に、 コントロールプロック (C T L) 内のコン トロールレジスタ (CT LR) の 0ビッ ト目 (O b i t ) に" 1 " を書き込む。 それにより、 第 2の CPU (C PU 2) に接続さ れた信号線を伝達する制御信号が" H" 状態となり、 第 2の C PUに起 動がかかる。 以上の動作により、 第 2の C PU (C PU 2) は、 命令記 憶装置 ( I M) に格納されている命令とデータ記憶装置 (DM) に格納 されているデータとを用いて処理を開始する。 (I DB) and the data terminal of the instruction storage device (IM). The third selector (SEL3) connects the data address bus (DAB) connected to the second CPU (CPU2) to the address terminal of the data storage device (DM), and the fourth selector (SEL3). Selector (SEL 4) connects the data bus (DDB) connected to the second CPU (CPU 2) to the data terminal of the data storage device (DM). Next, write "1" to the 0th bit (O bit) of the control register (CT LR) in the control block (CTL). As a result, the control signal transmitted through the signal line connected to the second CPU (CPU 2) becomes “H”, and the second CPU is activated. By the above operation, the second CPU (CPU 2) The processing is started using the instructions stored in the storage device (IM) and the data stored in the data storage device (DM).
以上説明してきた本実施例 1の情報処理装置の構成により、 ホス ト的 な動作を行う第 1の C PUに接続されたァクセラレータ (AC) 内の中 央処理装置 (本実施例では第 2の C PU) に命令バスとデータバスとが 分離したハーバードア一キテクチャの C PUを用いることが可能となる。 そのため、 ァクセラレ一タ内の第 2の C PUがメモリ一アクセスを行う 際、 データと命令とを別のバスでアクセスすることが可能であるため、 パイプライン処理を行う上で発生する可能性の高いバス間の競合が発生 せず、パイプラインステージを遅らせて処理させる必要が無くなるため、 処理速度の低下を招く ことなく、 より高いパフォーマンスでの動作が可 能となる。  With the configuration of the information processing apparatus of the first embodiment described above, the central processing unit in the accelerator (AC) connected to the first CPU performing host-like operation (the second processing in the present embodiment) It is possible to use a Harvard architecture CPU in which the instruction bus and the data bus are separated for the CPU. Therefore, when the second CPU in the accelerator performs memory access, it is possible to access data and instructions on different buses, which may occur during pipeline processing. High contention between buses does not occur, and there is no need to delay the pipeline stage for processing, thereby enabling higher performance operation without lowering the processing speed.
ぐ実施例 2 > Example 2>
次に図 4を用いて、 実施例 2を説明する。 本実施例は、 実施例 1にお ける命令記憶装置 ( I M) とデータ記憶装置 (DM) の代わりにデュア ルポ一トメモリ (D PM) 用いることに特徴がある。 但し、 デュアルポ 一トメモリは、 2ポー トメモリ と称される場合もある。  Next, a second embodiment will be described with reference to FIG. This embodiment is characterized in that a dual port memory (DPM) is used instead of the instruction storage device (IM) and the data storage device (DM) in the first embodiment. However, the dual-port memory is sometimes called a two-port memory.
実施例 1 との差違を中心に、 実施例 2の構成について示す。 実施例 2 においても、 特に制限されないが、 第 1の C PU ( C P U 1 ) はホス ト C PUであり、 第 2の C P U (C P U 2 ) はァクセラレータ (AC) 内 に設けられた C P Uである。 コン トロールブロ ック (CT L) は、 第 2 のじ PUである C PU 2の制御を行ったり、後述する第 1のセレクタ(S E L 1 ) と第 2のセレクタ (S E L 2) との制御を行う。 コン トロール ブロック (CT L) は第 2の C PUである C PU 2や第 1のセレクタ ( S E L 1 ) と第 2のセレクタ (S E L 2) とに信号線で接続され、 それら の信号線を介して第 2の C P U (C PU 2) に対して起動をかけるため の制御信号や第 1 と第 2のセレクタ (S E L 1、 S E L 2) に制御信号 を伝達する。 第 1の C PU (C P U 1 ) はア ドレスバス (AB) とデー タバス (D B) とに接続されている。 第 2の C PU (C PU 2) は、 命 令ア ドレスバス ( I AB) と命令データバス ( I DB) とデータァドレ スバス (DAB) とデータ用データバス (DDB) とに接続されている。 第 1のセレクタ (S E L 1 ) は、 第 1の C PU (C PU 1 ) に接続され たア ドレスバス (AB) と第 2の C PU (C PU 2) に接続された命令 ア ドレスバス ( I AB) とを切り替えるセレクタである。 第 2のセレク タ (S E L 2) は、 第 1の C PU (C PU 1 ) に接続されたデータバス (DB) と第 2の C PUに接続された命令データバス ( I DB) とを切 り替えるセレクタである。 デュアルポ一トメモリ (D PM) は、 ァ ドレ スが入力されるァドレス端子とデータが入出力されるデータ端子とによ り構成される第 1のメモリポート (P 1 ) と第 2のメモリポート (P 2) とを独立に 2つ持つメモリであり、 従来より知られているものであるた めその内部についての説明は省略する。 デュアルポートメモリ (DPM) は第 2の C PU (C PU 2) の命令と第 2の C PUで処理されるデータ と格納する命令用の記憶装置である。 デュアルポートメモリ (DPM) の第 1のポー ト (P 1 ) のア ドレス端子は第 1のセレクタ (S E L 1 ) を介してア ドレスバス (AB) 或いは命令ア ドレスバス ( I AB) に接 続され、 データ端子は第 2のセレクタ (S E L 2) を介してデータバス (DB) 或いは命令データバス ( I DB) に接続されている。 デュアル ポー トメモリの第 2のポー ト (P 2) のア ドレス端子は、 データァ ドレ スバス (DAB) に接続され、 データ端子はデータ用データバス (DD B) に接続されている。 尚、 コン トロールブロック (CT L) 及び、 論 理ブロック (B L K) の内部の構成については、 特に制限されるわけで はないが、 図 2及び図 3の構成と同様である。 更に、 本実施例 2の構成 75 The configuration of the second embodiment will be described focusing on differences from the first embodiment. Also in the second embodiment, although not particularly limited, the first CPU (CPU 1) is a host CPU, and the second CPU (CPU 2) is a CPU provided in an accelerator (AC). The control block (CTL) controls the CPU 2 which is the second PU, and controls the first selector (SEL 1) and the second selector (SEL 2) described later. Do. The control block (CTL) is connected to the second CPU, CPU 2 and the first selector (SEL 1) and the second selector (SEL 2) by signal lines, and via those signal lines. To start the second CPU (CPU 2) Control signal and the control signal to the first and second selectors (SEL1, SEL2). The first CPU (CPU 1) is connected to the address bus (AB) and the data bus (DB). The second CPU (CPU 2) is connected to the instruction address bus (IAB), the instruction data bus (IDB), the data address bus (DAB), and the data bus for data (DDB). The first selector (SEL 1) includes an address bus (AB) connected to the first CPU (CPU 1) and an instruction address bus (AB) connected to the second CPU (CPU 2). I AB). The second selector (SEL2) disconnects the data bus (DB) connected to the first CPU (CPU1) from the instruction data bus (IDB) connected to the second CPU. This is a selector for switching. The dual port memory (DPM) has a first memory port (P 1) and a second memory port (P 1), each of which comprises an address terminal for inputting an address and a data terminal for inputting and outputting data. P 2) is a memory that has two independent memory locations, and since it is conventionally known, its internal description is omitted. The dual-port memory (DPM) is a storage device for instructions of the second CPU (CPU 2) and instructions for storing data processed by the second CPU. The address terminal of the first port (P1) of the dual port memory (DPM) is connected to the address bus (AB) or the instruction address bus (IAB) via the first selector (SEL1) The data terminal is connected to a data bus (DB) or an instruction data bus (I DB) via a second selector (SEL 2). The address terminal of the second port (P2) of the dual-port memory is connected to the data address bus (DAB), and the data terminal is connected to the data bus for data (DDB). The internal configuration of the control block (CTL) and logical block (BLK) is not particularly limited, but is the same as the configuration shown in FIGS. 2 and 3. Further, the configuration of the second embodiment 75
13 においても、 第 2の C PUは命令用のバス ( I AB、 I DB) とデータ 用のバス (DAB、 DDB) とを分離したハーバード型のァーキテクチ ャである。 又、 第 1の C PUは命令用のバスとデータ用のバスとが分離 されていない、 いわゆるノイマン型のアーキテクチャを持っている。 つ まり上記説明において、 ア ドレスバス (AB) には、 命令ア ドレスとデ —タア ドレスと力;、 データバス (DB) には、 命令データとデータ用デ ータとが転送される。 13, the second CPU is a Harvard architecture in which the instruction bus (IAB, IDB) and the data bus (DAB, DDB) are separated. The first CPU has a so-called Neumann architecture in which the instruction bus and the data bus are not separated. That is, in the above description, the instruction address, the data address, and the power are transferred to the address bus (AB); and the instruction data and the data data are transferred to the data bus (DB).
本実施例 2における情報処理装置の動作について説明する。 まず、 パ ヮーオンリセッ トの状態では、 実施例 1 と同様に第 1のセレクタ (S E L 1 ) は第 1の C PU (C PU 1 ) に接続されたア ドレスバス (AB) をデュアルポートメモリ (D PM) の第 1のポート (P 1 ) のア ドレス 端子に接続しており、 第 2のセレク タ (S E L 2) は第 1の C PUに接 続されたデータバス (DB) をデュアルポートメモリの第 1のポート (P 1 ) のデータ端子に接続している。 この状態で、 第 1の C PU (C PU 1 ) は、 ァクセラレータ (AC) 内の第 2の C PU (C PU 2) 用の命 令とデータ或いは命令とデータとが混在したプログラムをデュアルポー トメモリ の第 1のポー トを介して転送する。 次に、 実施例 1 と同様に、 コントロールブロ ック (CT L) 内のコン トロールレジスタ (CTLR) の 1 ビッ ト目 ( 1 b i t ) に" 1 " を書き込む。 それにより、 それぞれ のセレクタの制御を行う制御信号は" H" 状態となり、 第 1のセレクタ は、 デュアルポ一 トメモリ (D PM) の第 1のポート (P 1 ) のァ ドレ ス端子と第 2の C PU (C PU 2) に接続された命令ア ドレスバス ( I AB) とを接続し、 第 2のセレクタは、 第 1のポートのデータ端子と第 2の C PUに接続された命令データバス ( I DB) とを接続する。 更に、 コン ト口ールブロ ック内のコン トロールレジスタの 0ビッ ト目 (O b i t ) に " 1 " を書き込むことで、 第 2の C PU (C PU 2) の起動がか けられ、 第 2の C PUはデュアルポートメモリ (D PM) の第 1のポー ト (P 1 ) と命令ア ドレスバス ( I AB) と命令データバス ( I DB) とを通して、 デュアルポートメモリ内に格納されている第 2の C P Uに よって実行される命令の取り込み動作を開始する。 このとき、 デュアル ポー トメモリは、 2つのポー ト (P l、 P 2 ) から物理的に同一のメモ リー空間を並列にアクセスできるため、 第 2の C PUの命令用バス ( I AB、 I DB) とデータ用バス (DAB、 DDB) とが並列して動作す ることが可能になる。 An operation of the information processing apparatus according to the second embodiment will be described. First, in the power-on reset state, as in the first embodiment, the first selector (SEL1) connects the address bus (AB) connected to the first CPU (CPU1) to the dual-port memory (D PM) is connected to the address terminal of the first port (P 1), and the second selector (SEL 2) connects the data bus (DB) connected to the first CPU to the dual port memory. Connected to the data terminal of the first port (P 1). In this state, the first CPU (CPU 1) dual-ports the instruction and data for the second CPU (CPU 2) in the accelerator (AC) or a program in which the instruction and data are mixed. Via the first port of the remote memory. Next, as in the first embodiment, "1" is written to the first bit (1 bit) of the control register (CTLR) in the control block (CTL). As a result, the control signals for controlling the respective selectors become “H”, and the first selector connects the address terminal of the first port (P 1) of the dual port memory (DPM) to the second terminal. The instruction selector is connected to the instruction address bus (IAB) connected to the CPU (CPU 2), and the second selector is connected to the data port of the first port and the instruction data bus connected to the second CPU. (I DB). Furthermore, by writing "1" to bit 0 (O bit) of the control register in the control block, the second CPU (CPU 2) is activated. The second CPU is connected to the first port (P1) of the dual port memory (DPM), the instruction address bus (IAB), and the instruction data bus (IDB). Starts the fetch operation of the instruction executed by the second CPU stored in the CPU. At this time, the dual-port memory can access the same physical memory space in parallel from the two ports (Pl, P2), so the instruction buses (I AB, I DB ) And data buses (DAB, DDB) can operate in parallel.
本実施例 2では、 ァクセラレータ (AC) 内の第 2の C PU (C PU 2) がアクセスする命令領域、 データ領域を同一の物理空間に持ってい るため、 第 2の C PUがハーバードアーキテクチャを持っていても、 命 令とデータが混在したプログラムを使用することが可能となる。 更に、 ホス ト C P Uである第 1の C P U (C P U 1 ) からのプログラムの転送 も 1回で行うことが可能となる。 また、 実施例 1で 4個必要であったセ レクタも 2個で済むようになる。 このように、 本実施例 2では、 実施例 1に比べ、 ハードウェア規模を小さくすることが可能となり、 更に、 パ フォーマンスを向上させることができる。 また、 命令とデータとが同一 の物理空間を利用することができるので、 RAM空間全体を図 5のよ う に命令用の領域 ( I R) に 4割、 データ用の領域 (DR) に 6割と分割 して使用すること、 または、 図 6の様に命令用領域 ( I R) に 6割、 デ —タ用の領域 (DR) に 4割と分割して使用することが可能となり、 命 令とデータの割合をフレキシブルに変更して使用することができる。 尚、 本実施例 2では、 第 1の C P Uに接続されたバス (AB、 DB) と第 2の C PUの命令バス ( I AB、 I DB). との間にセレクタ (S E L l、 S E L 2) とを設けた構成となっているが、 第 1の C PUに接続 されたバス (AB、 AB) と第 2の C P Uのデータバス (DAB、 DD B) との間に設けた構成であっても良い。 また、 本実施例 2では、 第 2 の C P Uの一方のバスと第 1の C P Uに接続されたバスとの間にセレク タを設けた構成となっているが、 両方に設けた構造であっても良い。 こ の場合は、 実施例 1の命令記憶装置とデータ記憶装置とを一つのデュア ルポ一トメモリ に置き換えた構成と同一である。 In the second embodiment, the second CPU (CPU 2) in the accelerator (AC) has an instruction area and a data area to be accessed in the same physical space, so that the second CPU has a Harvard architecture. Even if you have one, it is possible to use a program in which instructions and data are mixed. Furthermore, the transfer of the program from the first CPU (CPU 1), which is the host CPU, can be performed at one time. Further, two selectors, which were required in the first embodiment, are now required. As described above, in the second embodiment, the hardware scale can be reduced as compared with the first embodiment, and the performance can be further improved. Also, because the same physical space can be used for instructions and data, the entire RAM space is 40% for the instruction area (IR) and 60% for the data area (DR) as shown in Figure 5. It can be used by dividing it into 60% in the instruction area (IR) and 40% in the data area (DR) as shown in Fig. 6. And the ratio of data can be flexibly changed and used. In the second embodiment, the selectors (SEL1, SEL2) are connected between the buses (AB, DB) connected to the first CPU and the instruction buses (IAB, IDB) of the second CPU. ), But the bus (AB, AB) connected to the first CPU and the data bus (DAB, DD B). In the second embodiment, the selector is provided between one bus of the second CPU and the bus connected to the first CPU. Is also good. In this case, the configuration is the same as that of the first embodiment in which the instruction storage device and the data storage device are replaced with one dual-port memory.
<実施例 3 >  <Example 3>
次に図 7を用いて、 実施例 3を説明する。 本実施例 3では、 ァクセラ レータ (AC) 内の記憶装置と して、 ア ドレスが入力されるア ドレス端 子とデータが入出力されるデータ端子とにより構成されるメモリポート を 3つ持ったトリプルポー トメモリ (T PM) を用いることに特徴があ る。 この ト リブルポー トメモリ とは、 3ポー トメモリ と称されることも あるが、 同一の RAM空間を第 1のメモリポート (P 1 ) と第 2のメモ リポート (P 2) と第 3のメモリポート (P 3) の 3つのポートで並列 にアクセスできるメモリのことである。 本実施例 3でも、 実施例 1や実 施例 2と同様に、 ホス ト的な動作を行う第 1の C PU (C PU 1 ) と、 第 1の C PUに接続されたァドレスバス (AB) 及びデータバス (DB) とを有している。 更に、 それらバスを介して接続されているァクセラ レ ータ (AC) には、 第 2の C PU (C PU 2) 、 及び、 ア ドレスバス (A B) とデータバス (DB) とに接続されたコン トロールブロック (CT L) 、 及び、 第 2の C PUに接続された命令ア ドレスバス ( I AB) と 命令データバス ( I DB) 、 及び、 第 2の C PUと論理ブロ ック (B L K) とに接続されたデータア ドレスバス (DAB) とデータ用デ一タバ ス (DD B) 、 及び、 前述の トリプルポートメモリ (T PM) が形成さ れている。 上述した通り、 本実施例 3のトリプルポートメモリ (T PM) はメモリポートを 3つ備えているため、 それぞれのバスを接続できる。 具体的には、 ト リプルポ一 トメモリの第 1のメモリポー ト (P 1 ) には、 第 1の C PUに接続されたア ドレスバス (AB) とデータバス (DB) とが接続され、 第 2のメモリボート (P 2) には、 第 2の C PUに接続 された命令ア ドレスバス ( I AB) と命令データバス ( I DB) とが接 続され、 第 3のメモリポー トには、 第 2の C PUに接続されたデータァ ドレスバス (DAB) とデータ用データバス (DDB) とが接続されて いる。 そのため、 実施例 1 と実施例 2で必要であったセレクタを設ける 必要がない。 つまり、 コン トロールブロック (CTL) は、 実施例 1及 び実施例 2で説明したコント口ールブロックとセレクタとに接続された 信号線が不要となる。 更に、 図 2において説明した、 セレクタを制御す るためのコン ト口ールレジスタの 1 ビッ ト目 ( 1 b i t ) の設定も不要 となる。 尚、 論理ブロック (B LK) の構成については、 特に制限され る訳ではないが、 図 3 と同様の構成であっても問題はない。 Next, a third embodiment will be described with reference to FIG. In the third embodiment, the storage device in the accelerator (AC) has three memory ports including an address terminal for inputting an address and a data terminal for inputting and outputting data. It is characterized by using triple port memory (TPM). Although this tri-port memory is sometimes called a three-port memory, the same RAM space is allocated to the first memory port (P 1), the second memory port (P 2), and the third memory port (P It is a memory that can be accessed in parallel by the three ports in P3). In the third embodiment, as in the first and second embodiments, the first CPU (CPU 1) that performs host-like operation and the address bus (AB) connected to the first CPU are used. And a data bus (DB). Further, the accelerator radiator (AC) connected via these buses is connected to the second CPU (CPU 2) and the address bus (AB) and the data bus (DB). The control block (CTL), the instruction address bus (IAB) and the instruction data bus (IDB) connected to the second CPU, and the second CPU and the logic block ( A data address bus (DAB) and a data bus for data (DDB) connected to the BLK) and the triple port memory (TPM) described above are formed. As described above, the triple-port memory (TPM) of the third embodiment has three memory ports, so that each bus can be connected. Specifically, the first memory port (P 1) of the triple port memory includes: The address bus (AB) connected to the first CPU and the data bus (DB) are connected, and the second memory port (P2) has the instruction address connected to the second CPU. The bus (IAB) is connected to the instruction data bus (IDB), and the third memory port has a data address bus (DAB) and a data bus (DDB) connected to the second CPU. And are connected. Therefore, there is no need to provide a selector that was required in the first and second embodiments. That is, the control block (CTL) does not require the signal lines connected to the control block and the selector described in the first and second embodiments. Further, the setting of the first bit (1 bit) of the control register for controlling the selector described in FIG. 2 is not required. The configuration of the logic block (BLK) is not particularly limited, but there is no problem even if the configuration is the same as that shown in FIG.
本実施例 3の動作について、 以下で説明する。 まず、 ホスト CPU 2は、 ァクセラレータ CPU 26用の命令とデータが混在したプログラムをト リプルポート RAM 50に転送する。 次に、 実施例 1 と同様にァクセラ レータ CPU 26に起動がかけられ、 ァクセラレータ CPU 2 6はトリプ ルポ一ト RAM 5 0の命令を取り込み動作を開始する。  The operation of the third embodiment will be described below. First, the host CPU 2 transfers a program in which instructions and data for the accelerator CPU 26 are mixed to the triple port RAM 50. Next, similarly to the first embodiment, the accelerator CPU 26 is activated, and the accelerator CPU 26 fetches the instruction of the triple port RAM 50 and starts the operation.
本実施例 3では、 第 1の C PU (C PU 1 ) に接続させたア ドレスバ ス (AB) 及びデータバス (DB) と、 第 2の C PU (C P U 2 ) に接 続された命令ア ドレスバス ( I AB) 及び命令データバス ( I DB) と はそれぞれトリプルポートメモリ (TPM) の第 1のメモリポート (P In the third embodiment, the address bus (AB) and the data bus (DB) connected to the first CPU (CPU 1) and the instruction address connected to the second CPU (CPU 2) The dress bus (IAB) and the instruction data bus (IDB) are the first memory port (PPM) of the triple port memory (TPM), respectively.
1 ) と第 2のメモリポート (P 2) とに接続されているため、 実施例 1、 実施例 2で必要であったセレクタ 1 (S E L 1 ) とセレクタ 2 (S E L1) and the second memory port (P 2), the selector 1 (S E L 1) and the selector 2 (S E L) required in the first and second embodiments.
2) とが必要でない。 そのため、 制御が簡単になるという利点を持って いる。 また、 本実施例 3では、 第 2の C PU (C P U 2 ) が動作してい る時、 第 1の C PU (C PU 1 ) から命令やデータ或いは命令とデータ とによりなるプログラムを トリプルポートメモリの第 1のメモリポート (P 1 ) を通して転送することができる。 そのため、 プログラムを変え て動作させたい場合、 前のプログラムを動作させながら次のプログラム を転送することが可能になり、 処理のオーバーへッ ドを少なくすること が可能となり、 情報処理装置全体のパフォーマンスを上げることが可能 となる。 2) is not required. This has the advantage that control is simplified. In the third embodiment, when the second CPU (CPU 2) is operating, the first CPU (CPU 1) issues an instruction or data or an instruction and data from the first CPU (CPU 1). Can be transferred through the first memory port (P 1) of the triple port memory. Therefore, when it is desired to operate a different program, it is possible to transfer the next program while operating the previous program, thereby reducing the processing overhead and improving the performance of the entire information processing device. Can be increased.
<実施例 4 > <Example 4>
次に図 8を用いて、 実施例 4を説明する。 本実施例 4は、 上述した、 デュアルポ一トメモリを使用した実施例 2を変形したものである。 本実 施例 4では、 ァクセラレータ (AC) 内の第 2の C PU (C PU 2) の 命令データバスに下位ビッ トと上位ビッ トとの切り替えをする第 5のセ レクタ (S E L 5) があることに特徴がある。 本実施例 4の第 2の C P U ( C P U 2 ) は、 命令長が 1 6ビッ ト、 演算ビッ ト長が 3 2ビッ トで ある。 一方、 デュアルポートメモリ (D PM) のビッ ト幅は 3 2ビッ ト ある。 このため、 第 2の C PUは、 デュアルポートメモリに命令バス ( I AB、 I DB) のアクセス、 デ一タバス (DAB、 DDB) のアクセス ともに 3 2ビッ トで行う。 そこで、 第 5のセレクタ (S E L 5) は、 第 2の C P Uから出力される命令ァ ドレスバス ( I A B) の情報をもらい、 デュアルポートメモリ (D PM) から出力される 3 2ビッ ト命令データ の中の必要な上位あるいは下位の 1 6ビッ トを選択し第 2の C PUに対 して出力する。  Next, a fourth embodiment will be described with reference to FIG. The fourth embodiment is a modification of the second embodiment using the dual port memory described above. In the fourth embodiment, the fifth selector (SEL5) for switching between the lower bit and the upper bit is provided on the instruction data bus of the second CPU (CPU2) in the accelerator (AC). It is unique. The second CPU (CPU 2) of the fourth embodiment has an instruction length of 16 bits and an operation bit length of 32 bits. On the other hand, the bit width of the dual port memory (DPM) is 32 bits. Therefore, the second CPU accesses the dual-port memory with the instruction bus (IAB, IDB) and the data bus (DAB, DDB) with 32 bits. Therefore, the fifth selector (SEL5) receives the information of the instruction address bus (IAB) output from the second CPU, and converts the 32-bit instruction data output from the dual port memory (DPM). Select the required upper 16 bits or lower 16 bits and output it to the second CPU.
このように、 本実施例 5では、 命令のビッ ト長とデータのビッ ト長と が違う場合でも、 デュアルポ一ト RAMを用いることができる。  As described above, in the fifth embodiment, the dual-port RAM can be used even when the bit length of the instruction is different from the bit length of the data.
<実施例 5 > <Example 5>
図 9では、 第 5の実施例を説明する。 本実施例 5も、 上述した、 デュ アルポートメモリを使用した実施例 2を変形したものである。 本実施例 5では、 ァクセラレータ (AC) 内の第 2の C PU (C PU 2) のデー タ用データバスに下位ビッ 卜と上位ビッ トとの切り替えをする第 6のセ レクタ (S E L 6) があることに特徴がある。 本実施例 5の第 2の C P U (C P U 2 ) は、 命令長が 1 6ビッ ト、 演算ビッ ト長が 3 2 ビッ トで ある。 一方、 デュアルポートメモリ (D PM) のビッ ト幅は 3 2ビッ ト ある。 このため、第 2の C PUは、 デュアルポ一トメモリに命令バス ( I AB、 I DB) のアクセス、 データバス (DAB、 D D B ) のアクセス ともに 3 2ビッ トで行う。 そこで、 第 5のセレクタ (S E L 5 ) は、 第 2の C PUから出力されるァドレスの情報をもらい、 アクセスした 3 2 ビッ トの中の必要な上位あるいは下位の 1 6ビッ トを選択して出力する。 このように、 本実施例 5では、 命令バスのバス幅とデータバスのバス 幅とが違う場合でも、 デュアルポート RAMを用いることができる。 以上、 ホスト ςρυとァクセラレータというシステム構成で説明した が、 ホス ト C PU部分とァクセラレータ部分とが別チップで構成した場 合、 ホスト CPUとァクセラレータとを結ぶバスの蝠を小きくすること が可能となるが、 ホスト CPUとァクセラレータとを同一チップで構成 しても全く問題はない。 また、 実施例 1の命令記憶装置 ( I M) とデ一 タ記憶装置 (DM) 、 実施例 2と実施例 4と実施例 5のデュアルポート メモリ (DPM) 、 実施例 3のトリプルポートメモリ (T PM) はフラ ッシュメモリで構成してもかまわない。 これにより、 電源の供給を停止 してもデータを保持することができるため、 電源の供給を再開にした場 合に、 前回の終了時と同じ状態を再現することが可能となる。 FIG. 9 illustrates a fifth embodiment. The fifth embodiment is also a modification of the second embodiment using the dual port memory described above. This embodiment In 5, the data bus of the second CPU (CPU 2) in the accelerator (AC) has a sixth selector (SEL 6) that switches between lower and upper bits. There is a feature. The second CPU (CPU 2) of the fifth embodiment has an instruction length of 16 bits and an operation bit length of 32 bits. On the other hand, the bit width of the dual port memory (DPM) is 32 bits. For this reason, the second CPU accesses the dual-port memory with the instruction bus (IAB, IDB) and the data bus (DAB, DDB) with 32 bits. Then, the fifth selector (SEL 5) receives the address information output from the second CPU and selects the necessary upper or lower 16 bits from the accessed 32 bits. Output. As described above, in the fifth embodiment, even when the bus width of the instruction bus and the bus width of the data bus are different, the dual-port RAM can be used. In the above, the system configuration of the host ァ ρ and the accelerator was explained. However, there is no problem if the host CPU and accelerator are configured on the same chip. The instruction storage device (IM) and the data storage device (DM) of the first embodiment, the dual-port memory (DPM) of the second, fourth, and fifth embodiments, and the triple-port memory (TPM) of the third embodiment PM) may be composed of flash memory. As a result, data can be retained even when the power supply is stopped, so that when the power supply is restarted, it is possible to reproduce the same state as at the end of the previous time.

Claims

請 求 の 範 囲 The scope of the claims
1 . 第 1の中央演算処理装置と第 2の中央演算処理装置と記憶装置と を有する情報処理装置であって、  1. An information processing device having a first central processing unit, a second central processing unit, and a storage device,
前記第 1の中央処理装置は、 命令とデータとを同一のバスを介して前 記記憶装置に出力し、  The first central processing unit outputs an instruction and data to the storage device via the same bus,
前記第 2の中央演算処理装置は、 命令バスとデータバスとを介して前 記記憶装置にアクセスすることを特徴とする情報処理装置。  The information processing device, wherein the second central processing unit accesses the storage device via an instruction bus and a data bus.
2 . 請求の範囲第 1項において、  2. In Claim 1,
前記第 1の中央処理装置は、 前記記憶装置に対して、 前記第 2で実行 されるプログラムを前記同一のバスを介して転送することを特徴とする 情報処理装置。  The information processing device, wherein the first central processing unit transfers the program executed in the second to the storage device via the same bus.
3 . 請求の範囲第 1項において、  3. In Claim 1,
前記情報処理装置は、 前記同一のバスと前記命令バスとを選択的に前 記記憶装置に接続するための選択回路と、 前記同一のバスと前記データ バスとを選択的に前記記憶装置に接続するための選択回路とを、 更に有 していることを特徴とする情報処理装置。  A selecting circuit for selectively connecting the same bus and the instruction bus to the storage device; and selectively connecting the same bus and the data bus to the storage device. An information processing apparatus, further comprising: a selection circuit for performing the operation.
4 . 請求の範囲第 1項において、  4. In Claim 1,
前記記憶装置は、 デュアルポ一 トメモリであり、  The storage device is a dual-port memory,
前記デュアルポートメモリの第 1のポートは、 選択回路を介して、 前 記同一のバスと前記命令バスとに選択的に接続され、  A first port of the dual-port memory is selectively connected to the same bus and the instruction bus via a selection circuit;
前記デュアルポ一トメモリの第 2のポ一トは、 前記データバスに接続 されていることを特徴とする隋報処理装置。  The information processing apparatus according to claim 2, wherein a second port of the dual port memory is connected to the data bus.
5 . 請求の範囲第 1項において、  5. In Claim 1,
前記記憶装置は、 デュアルポ一トメモリであり、  The storage device is a dual-port memory,
前記デュアルポ一 トメモリの第 1 のポートは、 選択回路を介して、 前 記同一のバスと前記データバスとに選択的に接続され、 前記デュアルポ一 トメモリの第 2のポートは、 前記命令バスに接続さ れていることを特徴とする情報処理装置。 A first port of the dual port memory is selectively connected to the same bus and the data bus via a selection circuit; The information processing apparatus according to claim 1, wherein a second port of the dual port memory is connected to the instruction bus.
6 . 請求の範囲第 1項から第 5項のいずれかにおいて、  6. In any one of claims 1 to 5,
前記同一のバスと前記命令バスと前記データバスとのそれぞれは、 ァ ドレスが転送されるバスとデータが転送されるバスとにより構成される ことを特徴とする情報処理装置。  The information processing apparatus, wherein each of the same bus, the instruction bus, and the data bus includes a bus to which an address is transferred and a bus to which data is transferred.
7 . 第 1の中央処理装置と、  7. a first central processing unit;
前記第 1 の中央処理装置に接続され、 命令とデータとが転送される第 1 のバスと、  A first bus connected to the first central processing unit for transferring instructions and data;
第 2の中央処理装置と、  A second central processing unit;
前記第 2の中央処理装置に接続され、命令が転送される第 2のバスと、 前記第 2の中央処理装置に接続され、 データが転送される第 3のバス と、  A second bus connected to the second central processing unit and transferring instructions; and a third bus connected to the second central processing unit and transferring data.
記憶装置と、  A storage device;
前記第 1のバスと前記第 2のバスとに接続され、 前記第 1のバス或い は前記第 2のバスを選択して前記記憶装置に接続させる第 1の選択回路 と、  A first selection circuit that is connected to the first bus and the second bus, and selects the first bus or the second bus and connects the selected bus to the storage device;
前記第 1 のバスと前記第 3のバスとに接続され、 前記第 1 のバス或い は前記第 3のバスを選択して前記記憶装置に接続させる第 2の選択回路 とを有していることを特徴とする情報処理装置。  A second selection circuit that is connected to the first bus and the third bus, and selects the first bus or the third bus and connects the selected bus to the storage device. An information processing apparatus characterized by the above-mentioned.
8 . 請求の範囲第 7項において、 8. In Claim 7,
前記記憶装置は、 命令を記憶する第 1のメモリ とデータを記憶する第 2のメモリ とを有しており、  The storage device has a first memory for storing instructions and a second memory for storing data.
前記第 1 の選択手段は、 前記第 1 のメモリに接続されており、 前記第 2の選択手段は、 前記第 2のメモリ に接続されていることを特 徴とする情報処理装置。 The information processing apparatus according to claim 1, wherein the first selection unit is connected to the first memory, and the second selection unit is connected to the second memory.
9 . 請求の範囲第 7項において、 9. In Claim 7,
前記記憶装置はデュアルポ一トメモリであり、  The storage device is a dual-port memory;
前記第 ] の選択手段は、 前記デュアルポートメモリの第 1のメモリポ 一トに接続されており、  The selecting means is connected to a first memory port of the dual port memory,
前記第 2の選択手段は、 前記デュアルポー トメモリの第 2のメモリポ 一トに接続されていることを特徴とする情報処理装置。  The information processing apparatus according to claim 2, wherein said second selecting means is connected to a second memory port of said dual port memory.
1 0 . 第 1の中央処理装置と、  10. A first central processing unit;
前記第 1 の中央処理装置に接続され、 命令とデータとが転送される第 1のバスと、  A first bus connected to the first central processing unit for transferring instructions and data;
第 2の中央処理装置と、  A second central processing unit;
前記第 2の中央処理装置に接続された第 2のバスと、  A second bus connected to the second central processing unit;
前記第 2の中央処理装置に接続された第 3のバスと、  A third bus connected to the second central processing unit;
第 1のメモリポートと第 2のメモリポートとを有する記憶装置と、 前記第 1 のバスと前記第 2のバスとに接続され、 前記第 1のバス或い は前記第 2のバスを選択して前記記憶装置の前記第 1のメモリポートに 接続させる第 1の選択回路とを有し、  A storage device having a first memory port and a second memory port, connected to the first bus and the second bus, and selecting the first bus or the second bus; A first selection circuit connected to the first memory port of the storage device by
前記第 3のバスは、 前記記憶装置の第 2のメモリポートに接続されて いることを特徴とする情報処理装置。  The information processing device according to claim 3, wherein the third bus is connected to a second memory port of the storage device.
1 1 . 請求の範囲第 1 0項において、  1 1. In claim 10,
前記第 2のバスは、 命令が転送されるバスであり、  The second bus is a bus to which instructions are transferred;
前記第 3のバスは、 データが転送されるバスであることを特徴とする 情報処理装置。  The information processing device, wherein the third bus is a bus to which data is transferred.
1 2 . 請求の範囲第 1 1項において、  1 2. In claim 11,
前記第 2のバスは、 データが転送されるバスであり、  The second bus is a bus to which data is transferred;
前記第 3のバスは、 命令が転送されるバスであることを特徴とする情 報処理装置。 The information processing device, wherein the third bus is a bus to which instructions are transferred.
1 3 . 請求の範囲第 7項から第 1 2項のいずれかにおいて、 前記第 1 のバスと前記第 2のバスと前記第 3のバスとのそれぞれは、 ァドレスが転送されるバスとデータが転送されるバスとにより構成され ることを特徴とする情報処理装置。 13. In any one of claims 7 to 12, wherein each of the first bus, the second bus, and the third bus includes a bus to which an address is transferred and a data. An information processing device comprising a bus to be transferred.
1 4 . ノイマンアーキテクチャを有する第 1の中央処理装置と、 前記第 1 の中央処理装置により転送されたプログラムの処理を行うハ 14. A first central processing unit having a Neumann architecture, and a c-processor for processing a program transferred by the first central processing unit.
—バードアーキテクチャを有する第 2の中央処理装置とを有することを 特徴とする情報処理装置。 —An information processing apparatus comprising a second central processing unit having a bird architecture.
1 5 . 請求の範囲第 1 4項において、  15. In claim 14,
前記第 1 の中央処理装置は、 第 1 のバスを介して記憶装置に接続され ており、  The first central processing unit is connected to a storage device via a first bus,
前記第 2の中央処理装置は、 第 2のバスと第 3のバスとを介して前記 記憶装置に接続されていることを特徴とする情報処理装置。  The information processing apparatus according to claim 1, wherein the second central processing unit is connected to the storage device via a second bus and a third bus.
1 6 . 請求の範囲第 1 4項又は第 1 5項において、  16. In claims 14 or 15,
前記記憶装置は、 第 1のメモリポートと第 2のメモリポートとを有す るデュアルポ一トメモリであることを特徴とする情報処理装置。  The information processing apparatus according to claim 1, wherein the storage device is a dual-port memory having a first memory port and a second memory port.
1 7 . 請求の範囲第 1 6項において、  1 7. In claim 16,
前記情報処理装置は、 前記第 1 のバスと前記第 2のバスとを選択的に 前記第 1 のメモリポートに接続する選択回路を有しており、  The information processing device includes a selection circuit that selectively connects the first bus and the second bus to the first memory port,
前記第 3のバスは、 前記第 2のメモリポートに接続されていることを 特徴とする情報処理装置。  The information processing device according to claim 1, wherein the third bus is connected to the second memory port.
1 8 . 請求の範囲第 1 6項において、  18. In Claim 16,
前記情報処理装置は、 前記第 1 のバスと前記第 2のバスとを選択的に 前記第 1 のメモリポートに接続する第 1の選択回路と、 前記第 1のバス と前記第 3のバスとを選択的に前記第 2のメモリポートに接続する第 2 の選択回路とを有していることを特徴とする情報処理装置。 A first selection circuit that selectively connects the first bus and the second bus to the first memory port; the first bus and the third bus; And a second selection circuit for selectively connecting the second memory port to the second memory port.
1 9 . 請求の範囲第 1 4項又は第 1 5項において、 前記記憶装置は、 命令を記憶する第 1の記憶装置とデータを記憶する第 2の記憶装置とを有しており、 19. In Claims 14 or 15, wherein the storage device has a first storage device for storing instructions and a second storage device for storing data,
前記情報処理装置は、 更に、 前記第 1 のバスと前記第 2のバスとを選 択的に前記第 ] の記憶装置に接続する第 1の選択回路と、 前記第 1 のバ スと前記第 3のバスとを選択的に前記第 2の記憶装置に接続する第 2の 選択回路とを有していることを特徴とする情報処理装置。  The information processing apparatus further includes: a first selection circuit that selectively connects the first bus and the second bus to the first storage device; the first bus and the second bus. An information processing apparatus, comprising: a second selection circuit that selectively connects the third bus to the second storage device.
PCT/JP2000/001475 2000-03-10 2000-03-10 Information processing device WO2001067271A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2000/001475 WO2001067271A1 (en) 2000-03-10 2000-03-10 Information processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2000/001475 WO2001067271A1 (en) 2000-03-10 2000-03-10 Information processing device

Publications (1)

Publication Number Publication Date
WO2001067271A1 true WO2001067271A1 (en) 2001-09-13

Family

ID=11735782

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2000/001475 WO2001067271A1 (en) 2000-03-10 2000-03-10 Information processing device

Country Status (1)

Country Link
WO (1) WO2001067271A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005096169A1 (en) * 2004-04-01 2005-10-13 Matsushita Electric Industrial Co., Ltd. Semiconductor device and cellular phone using the same
JP2005346672A (en) * 2004-06-07 2005-12-15 Canon Inc Memory controlling method, memory control system, program, and storage medium
US9373372B2 (en) 2013-03-18 2016-06-21 Fujitsu Limited Register file device
US12190229B2 (en) 2020-11-18 2025-01-07 Samsung Electronics Co., Ltd. Streaming accelerators and streaming systems including the same

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01234962A (en) * 1988-03-16 1989-09-20 Nec Corp Bus control system
US4912636A (en) * 1987-03-13 1990-03-27 Magar Surendar S Data processing device with multiple on chip memory buses
JPH05233519A (en) * 1992-02-19 1993-09-10 Ricoh Co Ltd Memory extending method
JPH10254767A (en) * 1997-03-10 1998-09-25 Sharp Corp Memory control device and memory system using the memory control device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4912636A (en) * 1987-03-13 1990-03-27 Magar Surendar S Data processing device with multiple on chip memory buses
JPH01234962A (en) * 1988-03-16 1989-09-20 Nec Corp Bus control system
JPH05233519A (en) * 1992-02-19 1993-09-10 Ricoh Co Ltd Memory extending method
JPH10254767A (en) * 1997-03-10 1998-09-25 Sharp Corp Memory control device and memory system using the memory control device

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005096169A1 (en) * 2004-04-01 2005-10-13 Matsushita Electric Industrial Co., Ltd. Semiconductor device and cellular phone using the same
JP2005346672A (en) * 2004-06-07 2005-12-15 Canon Inc Memory controlling method, memory control system, program, and storage medium
US9373372B2 (en) 2013-03-18 2016-06-21 Fujitsu Limited Register file device
US12190229B2 (en) 2020-11-18 2025-01-07 Samsung Electronics Co., Ltd. Streaming accelerators and streaming systems including the same

Similar Documents

Publication Publication Date Title
US7127563B2 (en) Shared memory architecture
CN101923523B (en) Memory system and method for accessing memory
US6567426B1 (en) Preemptive timer multiplexed shared memory access
US7096296B2 (en) Supercharge message exchanger
JP3406744B2 (en) Data processor with controlled burst memory access and method thereof
JP2002196974A (en) Digital signal processing system
US6425044B1 (en) Apparatus for providing fast memory decode using a bank conflict table
US20070033369A1 (en) Reconfigurable integrated circuit device
KR100881049B1 (en) Multiple address two channel bus structure
EP1317712A1 (en) Inter-processor communication system
JP2002215259A (en) Clock assuring system of shared device for multi-core dsp equipment
US5664230A (en) Data processing with adaptable external burst memory access
JPH04363746A (en) Microcomputer system having dma function
JP2001117858A (en) Data processor
JP3693013B2 (en) Data processing system, array type processor, data processing apparatus, computer program, information storage medium
JP3623379B2 (en) Microprocessor
US6954869B2 (en) Methods and apparatus for clock domain conversion in digital processing systems
US6633927B1 (en) Device and method to minimize data latency and maximize data throughput using multiple data valid signals
JP2008152409A (en) Semiconductor integrated circuit
WO2001067271A1 (en) Information processing device
US20030236941A1 (en) Data processor
JP2004362215A (en) Processor and semiconductor integrated circuit
JP3861898B2 (en) Data processing system, array type processor, data processing apparatus, computer program, information storage medium
JP3583844B2 (en) Cache memory method
US20060010263A1 (en) Direct memory access (DMA) devices, data transfer systems including DMA devices and methods of performing data transfer operations using the same

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): CN JP KR US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
122 Ep: pct application non-entry in european phase