WO2008013209A1 - Circuit de connexion de processeur, dispositif de traitement de données, dispositif opérationnel, et terminal de communications mobiles, et procédé de transfert de données les utilisant - Google Patents

Circuit de connexion de processeur, dispositif de traitement de données, dispositif opérationnel, et terminal de communications mobiles, et procédé de transfert de données les utilisant Download PDF

Info

Publication number
WO2008013209A1
WO2008013209A1 PCT/JP2007/064608 JP2007064608W WO2008013209A1 WO 2008013209 A1 WO2008013209 A1 WO 2008013209A1 JP 2007064608 W JP2007064608 W JP 2007064608W WO 2008013209 A1 WO2008013209 A1 WO 2008013209A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
cpu
buffer
amount
upstream
Prior art date
Application number
PCT/JP2007/064608
Other languages
English (en)
French (fr)
Inventor
Takao Nakagawa
Takashi Tachikawa
Naoyuki Nakamura
Tadashi Tsukamoto
Toshikatsu Hosoi
Hiroshi Kurakane
Original Assignee
Nec Corporation
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 Nec Corporation filed Critical Nec Corporation
Priority to JP2008526794A priority Critical patent/JP5168144B2/ja
Priority to US12/374,949 priority patent/US8355326B2/en
Priority to CN2007800285663A priority patent/CN101495980B/zh
Priority to EP07791324A priority patent/EP2051170A4/en
Publication of WO2008013209A1 publication Critical patent/WO2008013209A1/ja
Priority to US13/540,225 priority patent/US8397003B2/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/405Coupling between buses using bus bridges where the bridge performs a synchronising function
    • G06F13/4059Coupling between buses using bus bridges where the bridge performs a synchronising function where the synchronisation uses buffers, e.g. for speed matching between buses

Definitions

  • the present invention relates to a circuit and method for two CPUs to alternately use two buffers provided between them, and a mobile communication terminal using the circuit.
  • the present invention relates to a connection circuit and method between a communication CPU and a CPU for application compatible with Speed Downlink Packet Access) and a portable communication terminal.
  • Patent Document 1 As a technology related to a mobile communication terminal having two CPUs for communication and application, “a mobile terminal with a communication function having a multi-CPU configuration and a control method thereof” disclosed in Patent Document 1 is disclosed. There is.
  • Patent Document 1 Japanese Unexamined Patent Application Publication No. 2005-142981
  • the present invention has been made in view of power and problems, and is a circuit in which two CPUs alternately use two buffers provided between the two CPUs. It is an object of the present invention to provide a CPU connection circuit, a data processing device, a computing device, a portable communication terminal using these, and a data transfer method that prevent data processing from catching up.
  • the present invention includes two buffers and is connected between two CPUs to relay data transfer from one CPU to the other CPU.
  • a CPU connection circuit that monitors whether or not the amount of data accumulated by the sending CPU in the buffer is one of the buffer! /, And whether or not the buffer reaches the predetermined threshold.
  • the receiving CPU is requested to collect the data stored in the buffer, and the data storage destination from the transmitting CPU is changed to the other buffer.
  • the buffer and the CPU on the transmitting side are connected via a serial transmission path.
  • the notifier and the receiving CPU are connected via a parallel transmission path.
  • the sending CPU switches the data storage destination buffer
  • the data that remains without being received by the receiving CPU is in the buffer after switching, it is preferable to output an overrun signal to at least the receiving CPU.
  • the receiving CPU takes data from the buffer faster than the data transfer speed from the sending CPU to the buffer.
  • the data transmitted from the transmitting CPU to the buffer is packet data.
  • a buffer connected between two CPUs and including two buffers for each data transmission direction.
  • a CPU connection circuit for relaying data transfer, and for each data transmission direction, a means for monitoring whether the amount of data stored in one of the buffers by the upstream CPU has reached a predetermined threshold; When the amount of data stored in the buffer by the upstream CPU reaches the threshold, the downstream CPU is requested to collect the data stored in the buffer, and the data storage destination from the upstream CPU is stored.
  • a threshold value is a value larger than the unit amount of data transmitted from the upstream CPU to the buffer.
  • the present invention provides a CPU connection that includes two buffers and is connected between two CPUs to relay data transfer between the CPUs.
  • the threshold value is larger than the unit amount of data that each CPU sends to the buffer, and the downstream CPU takes data from the buffer than the data transfer rate from the upstream CPU to the buffer. Speed is faster There is provided a CPU connection circuit according to claim.
  • the priority order of which CPU is set as the upstream side is set in advance. Is preferred.
  • each transmission It is preferable to further include means for dynamically setting a threshold value in accordance with a control signal input from the downstream CPU with respect to the direction.
  • the upstream CPU switches the buffer that is the data storage destination, if the data that has been accumulated and remains without being taken over by the downstream CPU exists in the buffer after switching, at least downstream It is preferable to output an overrun signal to the side CPU.
  • the speed at which the downstream CPU retrieves data from the buffer is faster than the data transfer speed from the upstream CPU to the buffer.
  • the data sent to the buffer by the upstream CPU is preferably packet data.
  • a data processing apparatus for transferring and processing data from a transmitting CPU to a receiving CPU including two buffers. Means to monitor whether or not the amount of data accumulated by the sending CPU on the buffer's! / Or the difference has reached a predetermined threshold, and the amount of data accumulated in the buffer by the sending CPU. When the threshold value reaches the threshold, the CPU processing unit on the receiving side is requested to collect the data stored in the buffer, and the data storage destination from the CPU on the transmitting side is changed to the other buffer.
  • the threshold value is a value larger than the unit amount of data transmitted from the CPU on the transmission side to the buffer.
  • the buffer and the CPU on the transmission side are connected via a serial transmission path. Further, it is preferable that the noffer and the arithmetic processing means are connected via a parallel transmission path. Further, it is preferable to further include means for dynamically setting the threshold value according to the control signal output from the arithmetic processing means.
  • the CPU on the transmission side switches the buffer that is the data storage destination, it is stored before and is not taken over by the arithmetic processing means.
  • the speed at which the arithmetic processing means of the CPU on the receiving side takes data from the buffer is faster than the data transfer speed from the CPU on the transmitting side to the buffer.
  • the data transmitted from the transmitting CPU to the buffer is packet data.
  • the present invention provides, as a fifth aspect, two buffers connected to another CPU via a data transmission path, and a buffer transferred from another CPU!
  • a means for requesting the processing means to remove data from the other CPU and changing the storage destination of data from another CPU to the other buffer It is an object of the present invention to provide an arithmetic device characterized in that the value is larger than the unit amount of data to be transmitted.
  • the threshold value is dynamically set according to a control signal from the arithmetic processing means.
  • the data after switching will be calculated. It is preferable to output an overrun signal to the processing means.
  • the speed at which the arithmetic processing means retrieves data from the buffer is higher than the data transfer speed from other CPUs to the buffer.
  • the data stored in the buffer by other CPUs is preferably packet data.
  • a data transfer method using a CPU connection circuit including two buffers and connected between two CPUs.
  • a value larger than the unit amount of data sent to the buffer by the sending CPU is set as the threshold for the data accumulation amount, and the amount of data accumulated by the sending CPU in one of the buffers has reached the threshold.
  • the receiving CPU is requested to collect data, and the data accumulation destination from the sending CPU is determined.
  • the present invention provides a CPU connection method characterized by changing to the other buffer.
  • the threshold value is dynamically set according to a control signal input from the CPU on the receiving side.
  • the sending CPU switches the buffer that is the data storage destination, if the data that was previously stored and is not taken over by the receiving CPU exists in the buffer after switching, at least the receiving side CP It is preferable to output an overrun signal to U. Also, it is preferable to connect two CPUs so that the speed at which the receiving CPU retrieves data from the buffer is faster than the data transfer speed from the sending CPU to the buffer! /, .
  • the CPU on the reception side and the CPU on the transmission side are connected, and the transmission is sent to the buffer.
  • a value larger than the unit amount of data sent to the buffer by the sending CPU is set as the threshold value for the data accumulation amount, and whether the data amount accumulated by the sending CPU in one of the buffers has reached the threshold value
  • the calculation processing means is requested to collect data, and the sending CPU power and other data accumulation destination are set to the other.
  • the present invention provides a data transfer method characterized by changing to a buffer.
  • the threshold is dynamically set according to a control signal output from the arithmetic processing means.
  • a control signal output from the arithmetic processing means.
  • the CPU on the receiving side and the CPU on the transmitting side are connected so that the speed at which the arithmetic processing means retrieves data from the buffer is faster than the data transfer speed from the CPU on the sending side to the noferer. It is preferable.
  • the present invention uses, as an eighth aspect, a CPU connection circuit that is connected between two CPUs and includes two buffers in each data transmission direction.
  • a data transfer method in which, for each data transmission direction, a value larger than the unit amount of data transmitted from the upstream CPU to the buffer is set in the buffer as a threshold for the data accumulation amount, and the upstream side is set in one of the buffers.
  • the data transfer method is characterized in that the data storage destination is changed to the other buffer.
  • a ninth aspect of the present invention there is provided a data transfer method using a CPU connection circuit having two buffers and connected between two CPUs.
  • the priority order of which CPU is set as the upstream side is set in advance, and the upstream CPU buffers the buffer for each data transmission direction.
  • the value is set as the threshold for the data accumulation amount, and whether the data amount accumulated by the upstream CPU in one of the buffers has reached the threshold
  • the downstream CPU is requested to collect data, and the data accumulation destination from the upstream CPU is set to the other buffer. It is characterized by changing to There is provided a data transfer method.
  • the threshold value is dynamically set in accordance with a control signal input from a downstream CPU in each transmission direction.
  • the upstream CPU switches the buffer to which data is stored, at least if the data that was stored before and is not taken over by the downstream CPU is present in the buffer after switching, at least It is preferable to output an overrun signal to the downstream CPU.
  • packet data is preferably transmitted from the upstream CPU to the buffer.
  • the present invention provides a portable communication terminal characterized in that a CPU connection circuit is installed on the data transmission line in the configuration of any one of the first, second and third aspects of the present invention. .
  • the communication CPU is a transmission-side CPU
  • the app Provided is a portable communication terminal characterized in that a data processing device is formed which is powerful in any of the configurations of the fourth aspect of the present invention, wherein the CPU for case processing becomes the CPU on the receiving side. To do.
  • a CPU connection circuit that uses two CPUs alternately switching two buffers provided between the CPUs, and prevents the data processing of the receiving CPU from catching up.
  • a data processing device, an arithmetic device, a portable communication terminal using these, and a data transfer method can be provided.
  • Figure 1 shows the connection between the two CPUs and the buffering IC.
  • a circuit In the data transfer between the communication CPU (CCPU) 1 and the application CPU (ACPU) 2, a circuit is formed that has two buffers and a switch that switches between which one is used for data write. Installed buffering IC3 between two CPUs.
  • Each CPU and the buffering IC3 are preferably connected so as to be faster than the data transfer speed from the CCPU1 to the buffering IC3.
  • the above condition is realized by serial CPU connection between CCPU1 and buffering IC3, and bus IF connection between buffering IC3 and ACPU2.
  • other connection methods may be used.
  • the buffer (data write destination) for the data transferred from CCPU1 Switch the other buffer) to the other.
  • the set value is set in the buffering IC3, and the buffering IC3 also determines the amount of stored data.
  • the buffering IC 3 After switching the data write buffer, the buffering IC 3 outputs a data transfer request to the ACPU 2.
  • ACPU 2 receives a data transfer request from buffering IC 3, ACPU 2 uses the DMA (Direct Memory Access) to get the data to the data write buffer before switching.
  • DMA Direct Memory Access
  • the buffering IC3's buffer appears as memory to the ACPU2, so it performs the same operation as reading the data on the memory.
  • the buffering IC3 switches the data write buffer to the other (the one that was originally used for data write), and similarly stores data. , Output data collection request to ACPU2 and repeat the same operation
  • the CCPU1 does not recognize the presence of the buffering IC3, and simply outputs data.
  • the set value can be arbitrarily set according to the application executed by the ACPU 2. Increasing the setting value increases the effect of preventing data loss due to the delay in ACPU2 data collection, but delays data processing in ACPU2. Conversely, when the set value is reduced, the effect of preventing data loss due to the delay in data collection by ACPU2 is reduced. Data processing at ACPU2 is close to real time. Therefore, setting values should be set according to the type of application executed by AC PU2, and the balance between the effect of preventing data loss and the real-time performance of data processing should be adjusted.
  • the set value does not necessarily need to be a value common to the two buffers, and different values may be set for the respective buffers.
  • the setting value is not limited to the value that uses only a part of the buffer. For example, you can set X bytes and! /, Or set values for the X byte buffer! /.
  • Setting a high value increases the buffer overflow prevention effect and lowers the ACPU operation rate (because the ACPU collects data from the buffer all at once), but until the data accumulates to some extent A delay occurs because data is not collected on the ACPU side. Therefore, it may be set so as to optimize the balance between the buffer overflow prevention effect and the data delay amount according to the purpose.
  • the capacity for one packet should be the buffer setting value.
  • packet data it is possible to process the application only after one packet of data has been collected (in other words, the ACPU takes data from the buffer for each data size that is less than one packet). However, the ACPU cannot process the collected data, and will process it when the data for one packet is ready.)
  • the data loss prevention effect can be obtained by setting the setting value of either buffer to 2 bytes or more.
  • the capacity of the noffer is large! /, And there is no inconvenience in operation for minutes! /.
  • the large capacity and buffer are expensive and large in size, it is disadvantageous in terms of manufacturing cost and so on if a setting value that does not use a small part of the buffer force is used.
  • the buffer capacity is too small, there is a possibility that the buffer overflow effect cannot be obtained sufficiently even if the set value is set so that the entire capacity of the buffer is used. For this reason, it is preferable to apply a buffer having a sufficient capacity to obtain a buffer overflow prevention effect according to the size of data sent from the C CPU and the data processing capacity of the ACPU.
  • the data processing apparatus has two buffers and a switch for alternately switching these between a communication CPU (CCPU) 1 and an application CPU (ACPU) 2.
  • a buffering IC 3 in which a circuit having the above is formed is installed.
  • FIG. 2 shows an internal configuration of the buffering IC 3.
  • the CPU connection circuit is formed inside the buffering IC3.
  • the noffering IC3 has a buffer capable of storing data for two surfaces. Of these, one side is used for data write from CCPU1, and the other side is used for data reader by ACPU2. These are used by switching alternately.
  • the memory controller 301 in the buffering IC 3 arbitrarily sets the amount of data that can be stored in the buffer for one surface.
  • a data retrieval request signal is used as a data retrieval request from the noffering IC3 to the ACPU2. This signal is asserted when the data read buffer from ACPU2 meets the readable condition (timing when switching from data write to data read), and the previous data in the buffer is read by ACPU2. Negate by timing.
  • the buffering IC3 further stores C in a state where data is stored in both buffers.
  • an overrun interrupt signal (O.V.R) can be generated to notify ACPU2 that data loss has occurred.
  • the ACPU 2 performs error processing suitable for each system when an interrupt is detected.
  • the buffering IC3 has a function of a flow control signal that can be controlled from the ACPU2. By controlling this signal, data retransmission can be notified to CCPU1.
  • FIG. 3 shows the operation flow of the buffering IC 3.
  • the buffer 302 is for data write and the buffer 303 is for data read.
  • the memory controller 301 When receiving data from the CCPU1, the memory controller 301 confirms whether or not the previously accumulated data remains in the data write buffer (buffer 302) (step S1).
  • step S101 If data remains, overrun processing is performed. [0053] If no data remains in the data write buffer (step S101 / Yes), the data received from CCPU1 is stored in the data write buffer, and the data write buffer data storage amount is the set value. It is confirmed whether or not (step S102).
  • step S102 / No If the data storage amount of the data write buffer does not reach the set value (step S102 / No), the memory controller 301 stores the data received from the CCPU1 in the data write buffer until the set value is reached. To do.
  • step S102 When the data storage amount of the data write buffer reaches the set value (step S102 / Yes), the memory controller 301 switches the data write buffer from the buffer 302 to the buffer 303 (step S103). Then, the memory controller 301 transmits a bow I request for data stored in the buffer 302 to the ACPU 2 (step S104).
  • the memory controller 301 checks whether or not the data previously stored in the buffer 303 switched for data writing is! /, And remains! / (Step S101). If data remains! /, Perform overrun processing.
  • step S101 If no data remains in the data write buffer (step S101 / Yes), the data received from CCPU1 is stored in the data write buffer and the data storage amount of the data write buffer is set. It is confirmed whether or not the value has been reached (step S102).
  • step S102 / No If the data storage amount of the data write buffer does not reach the set value (step S102 / No), the memory controller 301 stores the data received from CCPU1 in the data write buffer until the set value is reached. To do.
  • step S102 When the data storage amount of the data write buffer reaches the set value (step S102 / Yes), the memory controller 301 switches the data write buffer from the buffer 303 to the buffer 302 (step S103). Then, the memory controller 301 transmits a bow I request for data stored in the buffer 303 to the ACPU 2 (step S104).
  • FIG. 4 shows an example of data transfer operation between CPUs using the buffering IC 3.
  • the ratio of the data transfer rate from CCPU1 to buffering IC3 and the data transfer rate from notching IC3 to ACPU2 is 1: 4.
  • the amount of data stored in the buffer 302 reaches the set value.
  • the memory controller 301 switches the data write buffer to the buffer 303 and also uses the buffer 30.
  • FIG. 5 shows another example of the data transfer operation between the CPUs using the buffering IC 3.
  • the amount of data stored in the buffer 302 reaches the set value.
  • the memory controller 301 switches the data write buffer to the buffer 303 and also uses the buffer 30.
  • the memory controller 301 switches the data write buffer to the buffer 302 and
  • the amount of data stored in buffer 302 reaches the set value.
  • the memory controller 301 switches the data write buffer to the buffer 303 and also uses the buffer 30.
  • FIG. 6 shows still another example of the data transfer operation between the CPUs using the buffering IC 3.
  • the ratio of the data transfer rate from CCPU1 to buffering IC3 and the data transfer rate from buffering IC3 to ACPU2 is 1: 4.
  • the data storage amount of the buffer 302 reaches the set value.
  • the memory controller 301 switches the data write buffer to the buffer 303, asserts a data take-up request signal stored in the buffer 302, and outputs it to the ACPU 2.
  • the memory controller 301 switches the data write buffer to the buffer 302, and stores the data stored in the buffer 303. Assert the take-up request signal and output to ACPU2. here ACPU2 is busy, and the data bow I cannot be started immediately after receiving the data bow request.
  • the ACPU 2 starts to collect data stored in the buffer 303.
  • the interval T from time t3 to time t43 is set by the amount of data stored in the nota.
  • the time t 44 the amount of data stored in the buffer 302 reaches the set value.
  • the memory controller 301 is trying to switch the data write buffer to the buffer 303.
  • the data stored in the buffer 303 has not been transferred to the ACPU2. Therefore, the memory controller 301 generates an overrun interrupt signal (O ⁇ V.R) and notifies the ACPU2 side that data loss has occurred.
  • O ⁇ V.R overrun interrupt signal
  • the serial transfer speed between the ACPU and the CCPU can be improved to a speed commensurate with the average processing speed of the CCPU.
  • the data processing apparatus has a configuration in which a buffering IC 31 is connected between CCPU1 and ACPU2.
  • a buffering IC 31 is connected between CCPU1 and ACPU2.
  • an application notification signal is input from the ACPU 2 to the buffering IC 31 (memory controller 311).
  • the application notification signal is information for identifying which application the ACPU 2 executes.
  • ACPU2 When an application involving data exchange with CCPU1 is started in ACPU2, ACPU2 outputs an application notification signal to buffering IC31.
  • the memory controller 311 sets the optimum threshold value for the started application to receive data from the CCPU 1 in the buffers 312 and 313.
  • the buffer setting value may be changed according to the combination of the applications to be executed! .
  • FIG. 8 shows the configuration of the data processing apparatus according to this example. As shown in the figure, in this embodiment, the function of the buffering IC 3 in the first embodiment is incorporated in the ACPU 21 as the buffering unit 30! /.
  • FIG. 9 shows the configuration of the data processing apparatus according to this embodiment.
  • each of the first CPU 10 and the second CPU 20 and the buffering IC 32 are connected via a serial IF and a memory IF. Then, the first CPU 10 and the second CPU 20 transfer data bidirectionally via the buffering IC 32.
  • FIG. 10 shows the configuration of the CPU connection circuit inside the buffering IC 32.
  • the buffering IC 32 has only one memory controller 321.
  • Memory, serial IF and bus IF (memory 322a, 322b, serial interface IF32 3a, 323b, node IF 324a, 324b)
  • One (memory 322a, serialore IF323a, bus IF324a) for data transmission from the first CPU10 to the second CPU20, the other (memory3 22b, Sirenole IF323b, Nos IF324b)
  • the second CPU 20 power is used for data transmission to the first CPU 10.
  • the operation during data transfer to PU10 is as follows from CCPU1 in the first embodiment.
  • each of the first CPU and the second CPU and the buffering IC 33 is a serial IF and a memory. Connected via IF. Then, the first CPU and the second CPU transfer data bidirectionally through the buffering IC 33.
  • a data write request signal is input to the buffering IC 33 from each of the first CPU and the second CPU.
  • the data write request signal is input to the memory controller 331 in the buffering IC 33 before the CPU writes (transfers) data to the buffer.
  • FIG. 12 shows the configuration of the CPU connection circuit inside the buffering IC 33.
  • the buffering IC 33 is provided with two serial IFs and two bus IFs (serial interface IF333a, 333b, nose IF334a, 334b), and one (serial interface IF333a, bus IF334a) from the first CPU.
  • the second (serial IF33b, bus IF334b) is used for data transmission from the second CPU to the first CPU.
  • one memory 332 (for two buffers) is not provided.
  • the memory controller 331 performs the following control based on the data write request from each CPU.
  • the priority of the data write operation is set to the first CPU 10 and the second CPU 20, and both CPUs request the data write operation, the data priority is assigned to the higher priority! / It performs the image operation. If there is a request for a data write operation from a higher priority while the lower priority is performing a data write operation, the operation being processed may be continued or the processing will be interrupted. The data write operation with the higher priority may be executed.
  • the software is preliminarily executed so that the data write operation is performed exclusively by instructing the data transmission timing to the other CPU using the first CPU 10 and the second CPU 20 and the force flow control signal. You may set it. In this case, the data write request from each CPU becomes unnecessary.
  • FIG. 13 shows the configuration of the mobile phone terminal according to this example.
  • This mobile phone terminal is a dual CPU mobile phone equipped with two CPUs, a communication CPU and an application CPU.
  • a radio signal received by the antenna 21 is converted to an electric signal by the radio circuit 22 and further converted to a digital signal by the analog signal processing unit 23.
  • the signal converted into digital by the analog signal processing unit 23 is input to the CCPU 1 via the digital signal processing unit 24.
  • the digital signal input to CCPU1 is sent as digital data to ACPU2 via buffering IC3.
  • the ACPU 2 processes the input digital data, accumulates the processed data in the memory 25, outputs audio from the audio output unit 26, and displays an image on the display unit 28.
  • the ACPU 2 processes the input operation performed through the operation unit 26 and the voice input through the voice input unit 29, and transfers the processed data to the CCPU 1.
  • CCPU1 sends the data input from ACPU2 to the digital signal processor 24 and converts it into analog electrical signals.
  • the digital signal processing unit 24 inputs an analog electric signal to the radio circuit 22 via the analog signal processing unit 23.
  • the radio circuit 22 receives the input analog electrical signal Is converted into a radio signal and transmitted through the antenna 21.
  • the CCPU and ACPU are connected with the same circuit configuration as in the first embodiment.
  • the CCPU and ACPU are connected in the same circuit configuration as in the second or third embodiment. But it goes without saying.
  • first CPU and the second CPU in the fourth or fifth embodiment are referred to as CCPU and A
  • the present invention can be variously modified.
  • FIG. 1 is a diagram showing a connection state between two CPUs of a data processing apparatus and a buffering IC according to the first embodiment in which the present invention is preferably implemented.
  • FIG. 2 is a diagram showing an internal configuration of a buffering IC.
  • FIG. 3 is a flowchart showing a flow of operation of the buffering IC.
  • FIG. 4 is a diagram illustrating an example of data transfer operation between CPUs using a buffering IC.
  • FIG. 5 is a diagram showing an example of data transfer operation between CPUs using a buffering IC.
  • FIG. 6 is a diagram illustrating an example of a data transfer operation between CPUs using a buffering IC.
  • FIG. 7 shows the buffering of the data processing apparatus according to the second embodiment preferably implementing the present invention. It is a figure which shows the structure of IC.
  • FIG. 8 is a diagram showing the configuration of the ACPU of the data processing apparatus, which is the third embodiment in which the present invention is preferably implemented.
  • FIG. 9 is a diagram showing a configuration of a data processing apparatus according to a fourth example in which the present invention is preferably implemented.
  • FIG. 10 is a diagram showing the configuration of the buffering IC of the data processing apparatus, which focuses on the fourth embodiment.
  • FIG. 11 is a diagram showing a configuration of a data processing device according to a fifth example in which the present invention is preferably implemented.
  • FIG. 12 is a diagram showing the configuration of the buffering IC of the data processing apparatus, which focuses on the fifth embodiment.
  • FIG. 13 is a diagram showing the configuration of a mobile phone terminal which is particularly useful in the sixth embodiment in which the present invention is preferably implemented.
  • FIG. 14 is a diagram showing a configuration of a buffering IC having buffers for three surfaces.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Information Transfer Systems (AREA)

Description

明 細 書
CPU接続回路、データ処理装置、演算装置及びこれらを用いた携帯通 信端末並びにデータ転送方法
技術分野
[0001] 本発明は、二つの CPUがそれらの間に設けられた二つのバッファを交互に切り換 えて用いるための回路及び方法並びにその回路を用いた携帯通信端末に関し、特 に、 HSDPA(High Speed Downlink Packet Access)通信対応の通信用 CPUとアプリ ケーシヨン用 CPUとの接続回路及び方法並びに携帯通信端末に関する。
背景技術
[0002] 従来、 CPUを二つ備え、これらの CPU間でデータを送受信しつつ所定の処理を実 行する情報処理装置が実用化されて!/、る。
例えば、通信用とアプリケーション用との二つの CPUを備え、通信用 CPU (CCPU
)で復調されたデータをアプリケーション用 CPU (ACPU)で処理することで、通信を 伴う任意のアプリケーションを実行する携帯通信端末が知られている。
[0003] 通信用とアプリケーション用との二つの CPUを備えた移動体通信端末に関連する 技術としては、特許文献 1に開示される「複数 CPU構成の通信機能付き携帯端末お よびその制御方法」がある。
[0004] しかし、データ転送レートの高い通信方式 (例えば HSDPA)を採用すると、 CCPU から ACPUへ転送すべきデータ量が増大し、通信中の高負荷時に(特に、マルチタ スク処理でアプリケーションを動かしているときに)、 ACPU側でデータ処理が間に合 わなくなる場合があった。
[0005] これは、パケット通信では 1パケット全体を受信しないと、そのパケットを処理できな いためである。特に、 HSDPAのようなデータ転送レートの高い通信方式では、単位 時間当たりに処理する必要のあるパケット量が多くなるため、上記のことが特に問題と なる。
[0006] ここで例に挙げた移動体通信端末に限らず、一般的に、二つの CPUを協働させる 情報処理装置において両方の CPUのデータ処理速度が同じとなることはほとんどな い。よって、データの流れの上流側の CPUのデータ処理の方が遅いならば、下流側 の CPUがデータの受信待ちをするだけで正常にデータを処理できる力 s、下流側の C
PUのデータ処理の方が遅いならば、上流側の CPUが出力するデータを処理しきれ なくなり、バッファオーバーランが発生してしまう。
特許文献 1 :特開 2005— 142981号公報
発明の開示
発明が解決しょうとする課題
[0007] 本発明は力、かる問題に鑑みてなされたものであり、二つの CPUがそれらの間に設 けられた二つのバッファを交互に切り換えて用いる回路であって、受け側の CPUの データ処理が追いつかなくなることを防ぐ CPU接続回路、データ処理装置、演算装 置及びこれらを用いた携帯通信端末並びにデータ転送方法を提供することを目的と する。
課題を解決するための手段
[0008] 上記目的を達成するため、本発明は、第 1の態様として、二つのバッファを含み、二 つの CPUの間に接続されて、一方の CPUから他方の CPUへのデータ転送を中継 する CPU接続回路であって、バッファの!/、ずれか一方に送信側の CPUによって蓄 積されたデータ量が所定の閾値に達したか否力、を監視する手段と、送信側の CPU によってバッファに蓄積されたデータ量が閾値に達した場合に、受信側の CPUにバ ッファに蓄積されているデータの引き取りを要求するとともに、送信側の CPUからの データの蓄積先を他方のバッファに変更する手段とを有し、閾値は、送信側の CPU 力 Sバッファへ送信するデータの単位量よりも大きい値であることを特徴とする CPU接 続回路を提供するものである。
[0009] 本発明の第 1の態様においては、バッファと送信側の CPUとがシリアル伝送路を介 して接続されること力好ましい。また、ノ ッファと受信側の CPUとがパラレル伝送路を 介して接続されること力好ましレヽ。
[0010] 本発明の第 1の態様の上記のいずれの構成においても、受信側の CPUから入力さ れる制御信号に応じて閾値を動的に設定する手段をさらに含むことが好ましい。また
、送信側の CPUがデータの蓄積先とするバッファを切り換える際に、以前に蓄積され 受信側の CPUに引き取られずに残っているデータが切り替え後のバッファに存在す る場合には、少なくとも受信側の CPUに対してオーバーラン信号を出力することが好 ましい。また、送信側の CPUからバッファへのデータ転送速度よりも、受信側の CPU が前記バッファからデータを引き取る速度の方が高速であることが好ましい。また、送 信側の CPUがバッファへ送信するデータはパケットデータであることが好ましい。
[0011] また、上記目的を達成するため、本発明は、第 2の態様として、二つの CPUの間に 接続され、データ伝送方向ごとに二つずつ含むバッファを用いて、各 CPU同士のデ ータ転送を中継する CPU接続回路であって、各データ伝送方向について、上流側 の CPUによってバッファのいずれか一方に蓄積されたデータ量が所定の閾値に達し たか否かを監視する手段と、上流側の CPUによってバッファに蓄積されたデータ量 が閾値に達した場合に、下流側の CPUにバッファに蓄積されているデータの引き取 りを要求するとともに、上流側の CPUからのデータの蓄積先を他方のバッファに変更 する手段とを有し、閾値は、上流側の CPUがバッファへ送信するデータの単位量より も大きい値であることを特徴とする CPU接続回路を提供するものである。
[0012] また、上記目的を達成するため、本発明は、第 3の態様として、二つのバッファを含 み、二つの CPUの間に接続されて、各 CPU同士のデータ転送を中継する CPU接 続回路であって、バッファの!/、ずれか一方に上流側の CPUによって蓄積されたデー タ量が所定の閾値に達した否かを監視する手段と、上流側の CPUによってバッファ に蓄積されたデータ量が閾値に達した場合に、下流側の CPUにバッファに蓄積され ているデータの引き取りを要求するとともに、上流側の CPUからのデータの蓄積先を 他方のバッファに変更する手段とを有し、閾値は、各 CPUがバッファへ送信するデ ータの単位量よりも大きい値であり、上流側の CPUからバッファへのデータ転送速度 よりも、下流側の CPUがバッファからデータを引き取る速度の方が高速であることを 特徴とする CPU接続回路を提供するものである。
[0013] 本発明の第 3の態様においては、二つの CPUの双方がバッファにデータを転送し ようとする場合に、いずれの CPUを上流側とするかの優先順位が予め設定されてい ることが好ましい。
[0014] 本発明の第 2又は第 3の態様の上記のいずれの構成においても、それぞれの伝送 方向について下流側の CPUから入力される制御信号に応じて閾値を動的に設定す る手段をさらに含むことが好ましい。また、上流側の CPUがデータの蓄積先とするバ ッファを切り換える際に、以前に蓄積され下流側の CPUに引き取られずに残ってい るデータが切り替え後のバッファに存在する場合には、少なくとも下流側の CPUに対 してオーバーラン信号を出力することが好ましい。また、上流側の CPUからバッファ へのデータ転送速度よりも、下流側の CPUがバッファからデータを引き取る速度の方 が高速であることが好ましい。また、上流側の CPUがバッファへ送信するデータはパ ケットデータであることが好ましレ、。
[0015] また、上記目的を達成するため、本発明は、第 4の態様として、送信側の CPUから 二つのバッファを含む受信側の CPUへとデータを転送して処理するデータ処理装置 であって、バッファの!/、ずれか一方に送信側の CPUによって蓄積されたデータ量が 所定の閾値に達したか否かを監視する手段と、送信側の CPUによってバッファに蓄 積されたデータ量が閾値に達した場合に、受信側の CPUの演算処理手段にバッフ ァに蓄積されているデータの引き取りを要求するとともに、送信側の CPUからのデー タの蓄積先を他方のバッファに変更する手段とを有し、閾値は、送信側の CPUがバ ッファへ送信するデータの単位量よりも大きい値であることを特徴とするデータ処理 装置を提供するものである。
[0016] 本発明の第 4の態様においては、バッファと送信側の CPUとがシリアル伝送路を介 して接続されること力好ましい。また、ノ ッファと演算処理手段とがパラレル伝送路を 介して接続されること力好ましい。また、演算処理手段が出力する制御信号に応じて 閾値を動的に設定する手段をさらに含むことが好ましい。
[0017] 本発明の第 4の態様の上記のいずれの構成においても、送信側の CPUがデータ の蓄積先とするバッファを切り換える際に、以前に蓄積され演算処理手段に引き取ら れずに残っているデータが切り替え後のバッファに存在する場合には、少なくとも演 算処理手段に対してオーバーラン信号を出力することが好ましい。また、送信側の C PUからバッファへのデータ転送速度よりも、受信側の CPUの演算処理手段がバッフ ァからデータを引き取る速度の方が高速であることが好ましい。また、送信側の CPU が前記バッファへ送信するデータはパケットデータであることが好ましい。 [0018] また、上記目的を達成するため、本発明は、第 5の態様として、他の CPUとデータ 伝送路を介して接続された二つのバッファと、他の CPUから転送されてバッファの!/ヽ ずれか一方に蓄積されたデータ量が所定の閾値に達したか否かを監視する手段と、 他の CPUによってバッファに蓄積されたデータ量が閾値に達した場合に、バッファに 蓄積されてレ、るデータの弓 Iき取りを演算処理手段に要求するとともに、他の CPUから のデータの蓄積先を他方のバッファに変更する手段とを有し、閾値は、他の CPUが ノ ッファへ送信するデータの単位量よりも大きい値であることを特徴とする演算装置 を提供するものである。
[0019] 本発明の第 5の態様においては、閾値は、演算処理手段からの制御信号に応じて 動的に設定されることが好ましい。また、他の CPUから転送されてきたデータの蓄積 先とするバッファを切り換える際に、以前に蓄積され演算処理手段に引き取られずに 残っているデータが切り替え後のバッファに存在する場合には、演算処理手段に対 してオーバーラン信号を出力することが好ましい。また、他の CPUからバッファへの データ転送速度よりも、演算処理手段がバッファからデータを引き取る速度の方が高 速であることが好ましい。また、他の CPUによってバッファへ蓄積されるデータはパケ ットデータであることが好ましレ、。
[0020] また、上記目的を達成するため、本発明は、第 6の態様として、バッファを二つ備え 二つの CPUの間に接続された CPU接続回路を用いたデータ転送方法であって、バ ッファに、送信側の CPUがバッファへ送信するデータの単位量よりも大きい値をデー タ蓄積量の閾値として設定し、バッファの一方に送信側の CPUによって蓄積された データ量が閾値に達したか否力、を監視し、送信側の CPUによって蓄積されたデータ 量が閾値に達した場合に、受信側の CPUにデータの引き取りを要求するとともに、 送信側の CPUからのデータの蓄積先を他方のバッファに変更することを特徴とする CPU接続方法を提供するものである。
[0021] 本発明の第 6の態様においては、閾値を、受信側の CPUから入力される制御信号 に応じて動的に設定することが好ましい。また、送信側の CPUがデータの蓄積先と するバッファを切り換える際に、以前に蓄積され受信側の CPUに引き取られずに残 つているデータが切り替え後のバッファに存在する場合には、少なくとも受信側の CP Uに対してオーバーラン信号を出力することが好ましい。また、送信側の CPUからバ ッファへのデータ転送速度よりも、受信側の CPUがバッファからデータを引き取る速 度の方が高速となるように二つの CPUを接続することが好まし!/、。
[0022] また、上記目的を達成するため、本発明は、第 7の態様として、二つのバッファ及び 演算処理手段を備えた受信側の CPUと送信側の CPUとを接続し、バッファに、送信 側の CPUがバッファへ送信するデータの単位量よりも大きい値をデータ蓄積量の閾 値として設定し、バッファの一方に、送信側の CPUによって蓄積されたデータ量が閾 値に達したか否かを監視し、送信側の CPUによって蓄積されたデータ量が閾値に達 した場合に、演算処理手段にデータの引き取りを要求するとともに、送信側の CPU 力、らのデータの蓄積先を他方のバッファに変更することを特徴とするデータ転送方法 を提供するものである。
[0023] 本発明の第 7の態様においては、閾値は、演算処理手段が出力する制御信号に応 じて動的に設定されること力 S好ましい。また、送信側の CPUから転送されてきたデー タの蓄積先とするバッファを切り換える際に、以前に蓄積され演算処理手段に引き取 られずに残っているデータが切り替え後のバッファに存在する場合には、演算処理 手段に対してオーバーラン信号を出力することが好ましい。また、送信側の CPUから ノ ッファへのデータ転送速度よりも、演算処理手段が前記バッファからデータを引き 取る速度の方が高速となるように受信側の CPUと送信側の CPUとを接続することが 好ましい。
[0024] 本発明の第 6の態様又は第 7の態様の上記のいずれの構成においても、送信側の CPUからバッファへパケットデータを送信することが好ましい。
[0025] また、上記目的を達成するため、本発明は、第 8の態様として、二つの CPUの間に 接続され、データ伝送方向ごとに二つずつのバッファを備えた CPU接続回路を用い たデータ転送方法であって、各データ伝送方向について、バッファに、上流側の CP Uがバッファへ送信するデータの単位量よりも大きい値をデータ蓄積量の閾値として 設定し、バッファの一方に上流側の CPUによって蓄積されたデータ量が閾値に達し たか否力、を監視し、上流側の CPUによって蓄積されたデータ量が閾値に達した場合 に、下流側の CPUにデータの引き取りを要求するとともに、上流側の CPUからのデ ータの蓄積先を他方のバッファに変更することを特徴とするデータ転送方法を提供 するものである。
[0026] また、上記目的を達成するため、本発明は、第 9の態様として、二つのバッファを備 え、二つの CPUの間に接続された CPU接続回路を用いたデータ転送方法であって 、二つの CPUの双方がバッファにデータを転送しょうとする場合に、いずれの CPU を上流側とするかの優先順位を予め設定し、各データ伝送方向について、バッファ に、上流側の CPUがバッファへ送信するデータの単位量よりも大き!/、値をデータ蓄 積量の閾値として設定し、バッファの一方に、上流側の CPUによって蓄積されたデ ータ量が閾値に達したか否かを監視し、上流側の CPUによって蓄積されたデータ量 が閾値に達した場合に、下流側の CPUにデータの引き取りを要求するとともに、上 流側の CPUからのデータの蓄積先を他方のバッファに変更することを特徴とするデ ータ転送方法を提供するものである。
[0027] 本発明の第 8又は第 9の態様においては、閾値を、それぞれの伝送方向について 下流側の CPUから入力される制御信号に応じて動的に設定することが好ましい。ま た、上流側の CPUがデータの蓄積先とするバッファを切り換える際に、以前に蓄積さ れ下流側の CPUに引き取られずに残っているデータが切り替え後のバッファに存在 する場合には、少なくとも下流側の CPUに対してオーバーラン信号を出力することが 好ましい。また、各データ伝送方向について、上流側の CPUからバッファへのデータ 転送速度よりも、下流側の CPUがバッファからデータを引き取る速度の方が高速とな るように二つの CPUを接続することが好ましい。また、各データ伝送方向について、 上流側の CPUからバッファへパケットデータを送信することが好ましい。
[0028] また、上記目的を達成するため、本発明は、第 10の態様として、通信用の CPUとァ プリケーシヨン処理用との二つの CPUを有し、通信用 CPUから前記アプリケーション 用 CPUへのデータ伝送路に上記本発明の第 1、第 2又は第 3の態様のいずれかの 構成に力、かる CPU接続回路が設置されたことを特徴とする携帯通信端末を提供す るものである。
[0029] また、上記目的を達成するため、本発明は、第 11の態様として、通信用の CPUとァ プリケーシヨン処理用との二つの CPUを有し、通信用 CPUが送信側の CPU、アプリ ケーシヨン処理用の CPUが受信側の CPUとなって上記本発明の第 4の態様のいず れかの構成に力、かるデータ処理装置を形成していることを特徴とする携帯通信端末 を提供するものである。
[0030] また、上記目的を達成するため、本発明は、第 12の態様として、通信用の CPUとァ プリケーシヨン処理用との二つの CPUを有し、アプリケーション処理用の CPUとして 上記本発明の第 5の態様のいずれかの構成にかかる演算装置が適用されていること を特徴とする携帯通信端末を提供するものである。
発明の効果
[0031] 本発明によれば、二つの CPUが各 CPU間に設けられた二つのバッファを交互に 切り換えて用いる回路であって、受け側の CPUのデータ処理が追いつかなくなること を防ぐ CPU接続回路、データ処理装置、演算装置及びこれらを用いた携帯通信端 末並びにデータ転送方法を提供できる。
発明を実施するための最良の形態
[0032] 〔発明の原理〕
以下の説明では、二つの CPUが通信用及びアプリケーション用である場合を例と する力 これ以外の処理を目的とした CPUであっても同様である。
図 1に、二つの CPUとバッファリング ICとの接続状態を示す。
通信用 CPU (CCPU) 1とアプリケーション用 CPU (ACPU) 2との間のデータ転送 において、二つのバッファとこれらのいずれをデータライト用とするかを交互に切り換 えるスィッチとを有する回路が形成されたバッファリング IC3を二つの CPUの間に設 。
[0033] 各 CPUとバッファリング IC3とは、バッファリング IC3力、ら ACPU2へのデータ転送速 度力 CCPU1からバッファリング IC3へのデータ転送速度よりも高速となるように接 続することが好ましい。ここでは、 CCPU1とバッファリング IC3とをシリアル IF接続、バ ッファリング IC3と ACPU2とをバス IF接続とすることで、上記条件を実現しているが、 この他の接続方法であっても良い。
[0034] 二つのバッファのうちの一方(データライト用となっている方)の蓄積データ量が設 定値に達すると、 CCPU1から転送されてくるデータの蓄積先のバッファ(データライ ト用のバッファ)を他方へと切り換える。なお、設定値はバッファリング IC3に設定がな され、蓄積データ量の判断もバッファリング IC3が行う。
[0035] データライト用のバッファを切り換えたのち、バッファリング IC3は、データ引取要求 を ACPU2へ出力する。 ACPUは 2は、バッファリング IC3からのデータ引取要求を 受け取ると、 DMA(Direct Memory Access)で切り替え前にデータライト用だつ たバッファにデータを取りに行く。この際、バッファリング IC3のバッファは ACPU2か らはメモリとして見えているため、メモリ上のデータを読みに行くのと同様の動作を行う
[0036] 再びバッファの蓄積データ量が設定値に達すると、バッファリング IC3は、データラ イト用のバッファをもう一方 (最初にデータライト用だった方)に切り替えて同様にデー タを蓄積するとともに、データ引取要求を ACPU2へ出力し、同様の動作を繰り返す
[0037] なお、 CCPU1は、バッファリング IC3の存在を認識してはおらず、単にデータを出 力するのみである。
[0038] 上記動作を行うことにより、バッファリング IC3からのデータ引取要求を受けてすぐに ACPU2がデータを引き取れなくても、データ損失が発生することはない。これにより 、 ACPU2のデータ処理が追!/、つかなくなることを防止できる。
[0039] なお、設定値は ACPU2が実行するアプリケーションに応じて任意に設定可能であ る。設定値を大きくした場合には、 ACPU2のデータ引き取りの遅れによるデータ損 失防止の効果が大きくなるが、 ACPU2でのデータ処理に遅延が生じる。逆に、設定 値を小さくした場合には、 ACPU2のデータ引き取りの遅れによるデータ損失防止の 効果は小さくなる力 ACPU2でのデータ処理がリアルタイムに近くなる。よって、 AC PU2が実行するアプリケーションの種類に応じて設定値を定め、データ損失防止の 効果とデータ処理のリアルタイム性とのバランスを調整すればよい。
[0040] また、設定値は必ずしも二つのバッファに共通の値である必要はなぐそれぞれの ノ ッファに異なる値を設定しても良い。さらに、設定値はバッファの一部のみを使用 する値に限定されることはなぐノ ッファ全体を使用することを妨げない。例えば、 Xバ イトのバッファに対して Xバイトと!/、う設定値を設定してもよ!/、。 [0041] 設定値は、高く設定するとバッファあふれ防止効果が大きくなるとともに ACPUの動 作率を低くできるが (ACPUがデータを一度にまとめてバッファから引き取れるため) 、バッファにある程度データがたまるまで ACPU側にデータが引き取られないため、 遅延が発生する。よって、 目的に応じて、バッファあふれ防止効果とデータ遅延量と のバランスが最適となるように設定すればよい。
例えば、 CCPUと ACPUとでパケットデータをやりとりする場合には、 1パケット分の 容量をバッファの設定値とすると良い。これは、パケットデータの場合には、 1パケット 分のデータが揃って始めてアプリケーションでの処理が可能となる(換言すると、 1パ ケットに満たないデータサイズごとに ACPUがバッファからデータを引き取ったとして も、 ACPUは引き取ったデータを処理できず、 1パケット分のデータが揃った段階で 処理することとなる。)ためである。
[0042] ただし、両方のバッファの設定値が CCPU1から入力されるデータの単位量と同じ であると、 ACPU2のデータ引き取りの遅れが即バッファあふれにつながることとなる 。このため、どちらかのバッファの設定 は少なくとも CCPU1から入力されるデータ の単位量よりも大きく設定する必要がある。
具体例を挙げると、 CCPU1が 1バイト単位でデータを処理(バッファリング IC3へ入 力)する場合、両方のバッファの設定値がともに 1バイトであると、 ACPU2のデータ引 き取りが遅れたとたんにバッファあふれが発生してしまい、データ損失防止効果が得 られない。この場合には、どちらかのバッファの設定値を 2バイト以上とすることでデー タ損失防止の効果が得られる。
[0043] ノ ッファの容量は、大き!/、分には動作上に不都合はな!/、。ただし、容量の大きレ、バ ッファはコストが高くサイズも大きいため、バッファのごく一部し力、使用しないような設 定値を設定すると、製造コストなどの点では不利となる。
一方、バッファの容量が少なすぎると、ノ ッファの全容量を使用するように設定値を 設定してもバッファあふれの効果が十分に得られない可能性が生じる。このため、 C CPUから送られるデータのサイズや ACPUのデータ処理能力に応じて、バッファあ ふれ防止効果を得るのに十分な容量を備えたバッファを適用することが好ましい。
[0044] 以下、上記原理に基づく本発明の好適な実施の形態について説明する。 [0045] 〔第 1の実施例〕
本発明を好適に実施した第 1の実施例について説明する。本実施例にかかるデー タ処理装置は、図 1に示したように、通信用 CPU (CCPU) 1とアプリケーション用 CP U (ACPU) 2との間に、二つのバッファとこれらを交互に切り換えるスィッチとを有す る回路が形成されたバッファリング IC3が設置された構成である。
[0046] 図 2に、バッファリング IC3内部の構成を示す。バッファリング IC3の内部には CPU 接続回路が形成されてレ、る。
ノ ッファリング IC3は、 2面分のデータを格納できるバッファを有する。これらのうち、 一面は CCPU1からのデータライト用として使用され、もう一面は ACPU2によるデー タリーダ用として使用される。これらは、交互に切り換えて使用される。
[0047] また、バッファリング IC3内のメモリコントローラ 301により、一面分のバッファに蓄積 可能なデータ量が任意に設定されてレ、る。
[0048] ノ ッファリング IC3から ACPU2に対するデータの引取要求には、「データ引取要求 信号」が用いられる。この信号は、 ACPU2からのデータリード用バッファが読み出し 可能な条件を満たしたタイミング(データライト用からデータリード用に切り替わったタ イミング)でアサートし、 ACPU2によりバッファ内の前データが読み出されたタイミン グでネゲートする。
[0049] また、バッファリング IC3は、両方のバッファにデータが格納された状態で、さらに C
CPU1からのデータを受信した場合、オーバラン割り込み信号 (O. V. R)を生成し、 データ損失が生じたことを ACPU2側に通知可能である。
[0050] ACPU2は、割り込み検出時、各システムに適したエラー処理を行う。
[0051] さらに、バッファリング IC3は ACPU2から制御可能なフロー制御信号の機能を有す る。本信号を制御することにより、 CCPU1に対しデータ再送を通知できる。
[0052] 図 3に、バッファリング IC3の動作の流れを示す。ここで、初期状態ではバッファ 302 がデータライト用、バッファ 303がデータリード用であるとする。
CCPU1からのデータ受信すると、メモリコントローラ 301は、データライト用のバッフ ァ(バッファ 302)に前回蓄積したデータが残っているか否かを確認する(ステップ S 1
01)。データが残っているならば、オーバーラン処理を行う。 [0053] データライト用のバッファにデータが残っていなければ(ステップ S101/Yes)、 CC PU1から受信したデータをデータライト用のバッファに蓄積し、データライト用バッフ ァのデータ蓄積量が設定値に達したか否かを確認する(ステップ S102)。
[0054] データライト用のバッファのデータ蓄積量が設定値に達していなければ (ステップ S 102/No)、メモリコントローラ 301は設定値に達するまで CCPU1から受信したデー タをデータライト用バッファに蓄積する。
[0055] データライト用バッファのデータ蓄積量が設定値に達したら(ステップ S102/Yes) 、メモリコントローラ 301は、データライト用のバッファをバッファ 302からバッファ 303 へと切り換える(ステップ S103)。そして、メモリコントローラ 301は、バッファ 302に蓄 積されてレ、るデータの弓 I取要求を ACPU2へ送信する(ステップ S 104)。
[0056] メモリコントローラ 301は、データライト用に切り換えたバッファ 303に前回蓄積され て!/、たデータが残って!/、るか否かを確認する(ステップ S 101)。データが残って!/、る ならば、オーバーラン処理を行う。
[0057] データライト用のバッファにデータが残っていなければ(ステップ S101/Yes)、 CC PU1から受信したデータをデータライト用のバッファに蓄積し、データライト用のバッ ファのデータ蓄積量が設定値に達したか否かを確認する(ステップ S102)。
[0058] データライト用のバッファのデータ蓄積量が設定値に達していなければ (ステップ S 102/No)、メモリコントローラ 301は設定値に達するまで CCPU1から受信したデー タをデータライト用バッファに蓄積する。
[0059] データライト用バッファのデータ蓄積量が設定値に達したら(ステップ S102/Yes) 、メモリコントローラ 301は、データライト用のバッファをバッファ 303からバッファ 302 へと切り換える(ステップ S103)。そして、メモリコントローラ 301は、バッファ 303に蓄 積されてレ、るデータの弓 I取要求を ACPU2へ送信する(ステップ S 104)。
[0060] 以降、 CCPU1からのデータを受信している間、上記同様の処理を繰り返す。
[0061] 図 4に、バッファリング IC3を用いた CPU間のデータ転送動作の一例を示す。
ここで、 CCPU1からバッファリング IC3へのデータ転送速度と、ノ ッファリング IC3 力、ら ACPU2へのデータ転送速度との比を 1: 4であるとする。
[0062] 時刻 tOにおいて、 CCPU1からバッファリング IC3へデータが入力され始める。メモ リコントローラ 301は、入力されたデータをバッファ 302に蓄積する。
[0063] 時刻 tlにお!/、て、バッファ 302のデータ蓄積量が設定値に達する。メモリコントロー ラ 301は、データライト用のバッファをバッファ 303へと切り換えるとともに、バッファ 30
2に蓄積されているデータの引取要求信号をアサートし ACPU2へ出力する。
[0064] 時刻 t2において、バッファ 302に蓄積されていたデータの ACPU2への引き取りが 完了し、データ引取要求信号がネゲートする。
[0065] 時刻 t3において、バッファ 303のデータ蓄積量が設定値に達すると、メモリコント口 ーラ 301は、データライト用のバッファをバッファ 302へと切り換えるとともに、バッファ
303に蓄積されているデータの引取要求信号をアサートし ACPU2へ出力する。
[0066] 時刻 t4において、バッファ 302に蓄積されていたデータの ACPU2への引き取りが 完了し、データ引取要求信号がネゲートする。
[0067] 以降同様の処理が繰り返され、時刻 t8においてデータ引取要求信号がネゲートす ることで CCPU1から ACPU2へのデータの転送が完了する。
[0068] 図 5に、バッファリング IC3を用いた CPU間のデータ転送動作の別の一例を示す。
上記同様に、 CCPU1からバッファリング IC3へのデータ転送速度と、バッファリング
IC3から ACPU2へのデータ転送速度との比を 1: 4であるとする。
[0069] 時刻 tOにおいて、 CCPU1からバッファリング IC3へデータが入力され始める。メモ リコントローラ 301は、入力されたデータをバッファ 301に蓄積する。
[0070] 時刻 tlにお!/、て、バッファ 302のデータ蓄積量が設定値に達する。メモリコントロー ラ 301は、データライト用のバッファをバッファ 303へと切り換えるとともに、バッファ 30
2に蓄積されているデータの引取要求信号をアサートし ACPU2へ出力する。
[0071] 時刻 t2において、バッファ 302に蓄積されていたデータの ACPU2への引き取りが 完了し、データ引取要求信号がネゲートする。
[0072] 時刻 t3において、バッファ 303のデータ蓄積量が設定値に達すると、メモリコント口 ーラ 301は、データライト用のバッファをバッファ 302へと切り換えるとともに、バッファ
303に蓄積されているデータの引取要求信号をアサートし ACPU2へ出力する。ここ で ACPU2はビジー状態にあり、データの弓 I取要求を受けても即座にはデータの弓 I き取りを開始できていない。 [0073] 時刻 t41において、 ACPU2はバッファ 303に蓄積されているデータの引き取りを 開始する。なお、時刻 t3から時刻 t41までの間隔 (T )は、ノ ッファのデータ蓄積量が
3
設定値に達するまでの時間 (T )と ACPU2がバッファからデータを引き取るのに要 する時間 (T )との差 (T -T )よりも短い (ここでは、蓄積所要時間 T =4a、引き取り
2 1 2 1
所要時間が T =a、遅延時間 T = 2a)ものとする。
2 3
[0074] 時刻 t42において、バッファ 303に蓄積されていたデータの ACPU2への引き取り が完了し、データ引取要求信号がネゲートする。
[0075] 時刻 t5において、バッファ 302のデータ蓄積量が設定値に達する。メモリコントロー ラ 301は、データライト用のバッファをバッファ 303へと切り換えるとともに、バッファ 30
2に蓄積されているデータの引取要求信号をアサートし ACPU2へ出力する。
[0076] 時刻 t6において、バッファ 302に蓄積されていたデータの ACPU2への引き取りが 完了し、データ引取要求信号がネゲートする。
[0077] 以降同様の処理が繰り返され、時刻 t8においてデータ引取要求信号がネゲートす ることで CCPU1から ACPU2へのデータの転送が完了する。
[0078] 図 6に、バッファリング IC3を用いた CPU間のデータ転送動作のさらに別の一例を 示す。
上記同様に、 CCPU1からバッファリング IC3へのデータ転送速度と、バッファリング IC3から ACPU2へのデータ転送速度との比を 1: 4であるとする。
[0079] 時刻 tOにおいて、 CCPU1からバッファリング IC3へデータが入力され始める。メモ リコントローラ 301は、入力されたデータをバッファ 301に蓄積する。
[0080] 時刻 tlにお!/、て、バッファ 302のデータ蓄積量が設定値に達する。メモリコントロー ラ 301は、データライト用のバッファをバッファ 303へと切り換えるとともに、バッファ 30 2に蓄積されているデータの引取要求信号をアサートし ACPU2へ出力する。
[0081] 時刻 t2において、バッファ 302に蓄積されていたデータの ACPU2への引き取りが 完了し、データ引取要求信号がネゲートする。
[0082] 時刻 t3において、バッファ 303のデータ蓄積量が設定値に達すると、メモリコント口 ーラ 301は、データライト用のバッファをバッファ 302へと切り換えるとともに、バッファ 303に蓄積されているデータの引取要求信号をアサートし ACPU2へ出力する。ここ で ACPU2はビジー状態にあり、データの弓 |取要求を受けても即座にはデータの弓 I き取りを開始できていない。
[0083] 時刻 t43において、 ACPU2はバッファ 303に蓄積されているデータの引き取りを 開始する。なお、時刻 t3から時刻 t43までの間隔 Tは、ノ ッファのデータ蓄積量が設
3
定値に達するまでの時間 (T )と ACPU2がバッファからデータを引き取るのに要する 時間 (T )との差 (T— T )よりも長い(蓄積所要時間 T =4a、引き取り所要時間 T =
2 1 2 1 2 a、遅延時間 T = 3. 3a)ものとする。
3
[0084] 時刻 t44において、バッファ 302のデータ蓄積量が設定値に達する。メモリコント口 ーラ 301は、データライト用のバッファをバッファ 303へと切り換えようとする力 この時 点ではバッファ 303に蓄積されているデータの ACPU2への引き取りが完了していな い。よって、メモリコントローラ 301は、オーバーラン割り込み信号(〇· V. R)を生成し 、データ損失が生じたことを ACPU2側に通知する。
[0085] 上記の例から明らかなように、 ACPU2のデータ引き取りの遅延時間 T 1 ノ ッファ
3 のデータ蓄積量が設定値に達するまでの時間 (T )と ACPU2がバッファからデータ を引き取るのに要する時間 (T )との差 (T -T )よりも短ければ、バッファあふれによ
2 1 2
るデータ損失の発生を防止できる。
[0086] このように、本実施例に力、かる CPU接続回路によれば、 ACPU— CCPU間のシリ アル転送速度を、 CCPUの平均処理速度に見合う速度に向上できる。
[0087] 〔第 2の実施例〕
本発明を好適に実施した第 2の実施例について説明する。
本実施例にかかるデータ処理装置は、第 1の実施例と同様に、 CCPU1と ACPU2 との間にバッファリング IC31が接続された構成である。ただし、図 7に示すように、本 実施例においては、バッファリング IC31 (メモリコントローラ 311)には ACPU2からァ プリケーシヨン通知信号が入力される。
[0088] アプリケーション通知信号は、 ACPU2が、どのアプリケーションを実行するのかを 特定する情報である。
[0089] ACPU2において CCPU1とのデータの授受を伴うアプリケーションが起動されると 、 ACPU2はバッファリング IC31に対してアプリケーション通知信号を出力する。 ノ ッファリング IC3がアプリケーション通知信号を受信すると、メモリコントローラ 311 は、起動されたアプリケーションが CCPU1からのデータを受信するために最適となる 閾値をバッファ 312, 313に設定する。
[0090] このように、 ACPU2が実行するアプリケーションの種類に応じて、ノ ッファ 312、 31
3に設定する閾値を変化させることにより、アプリケーションの種類に応じて最適な条 件(データ損失の発生を抑え、かつ ACPU側の引取遅延が生じにくい)で CCPU1 力、ら ACPU2へのデータ転送を行える。
[0091] なお、 ACPU2が複数のアプリケーションを同時に実行してマルチタスク処理を行う 場合には、実行するアプリケーションの組み合わせに応じてバッファの設定値を変更 しても良!/、ことは言うまでもなレ、。
[0092] 〔第 3の実施例〕
本発明を好適に実施した第 3の実施例について説明する。
図 8に、本実施例にかかるデータ処理装置の構成を示す。図に示すように、本実施 例においては、第 1の実施例におけるバッファリング IC3の機能がバッファリング部 30 として ACPU21内に取り込まれた構成となって!/、る。
データ処理装置全体としての動作は、上記第 1の実施例と同様であるため、重複す る説明は省略する。
[0093] 〔第 4の実施例〕
本発明を好適に実施した第 4の実施例について説明する。
図 9に本実施例にかかるデータ処理装置の構成を示す。本実施例にかかるデータ 処理装置は、第 1の CPU10及び第 2の CPU20のそれぞれとバッファリング IC32と はシリアル IF及びメモリ IFを介して接続されている。そして、第 1の CPU10と第 2の C PU20とは、バッファリング IC32を介して双方向にデータを転送する。
[0094] 図 10に、バッファリング IC32内部の CPU接続回路の構成を示す。
本実施例においては、バッファリング IC32は、メモリコントローラ 321は一つだけで ある力 メモリ、シリアル IF及びバス IFを二つずつ(メモリ 322a, 322b,シリアノレ IF32 3a, 323b、 ノ ス IF324a, 324b)備えており、一方(メモリ 322a、シリアノレ IF323a、 バス IF324a)が第 1の CPU10から第 2の CPU20へのデータ伝送用、他方(メモリ 3 22b、シリアノレ IF323b、ノ ス IF324b)カ第 2の CPU20力、ら第 1の CPU10へのデー タ伝送用として用いられる。
[0095] 第 1の CPU10から第 2の CPU20へのデータ転送及び第 2の CPU20から第 1の C
PU10へのデータ転送時の動作については上記第 1の実施例における CCPU1から
ACPU2への転送動作と同様である(メモリコントローラ 321が両方向のデータ伝送を 個別に制御する)ため、重複する説明は割愛する。
[0096] 〔第 5の実施例〕
本発明を好適に実施した第 5の実施例について説明する。
本実施例にかかるデータ処理装置の構成は、上記第 4の実施例にかかるデータ処 理装置と同様であり、第 1の CPU及び第 2の CPUのそれぞれとバッファリング IC33と はシリアル IF及びメモリ IFを介して接続されている。そして、第 1の CPUと第 2の CPU とは、バッファリング IC33を介して双方向にデータを転送する。ただし、図 11に示す ように、本実施例においては、第 1の CPU及び第 2の CPUのそれぞれからデータラ イト要求信号がバッファリング IC33へと入力される。データライト要求信号は、 CPU がバッファにデータを書き込む(転送する)のに先立ってバッファリング IC33内のメモ リコントローラ 331へ入力される。
[0097] 図 12に、バッファリング IC33内部の CPU接続回路の構成を示す。
本実施例においては、バッファリング IC33は、シリアル IF及びバス IFを二つずつ( シリアノレ IF333a, 333b、ノ ス IF334a, 334b)備えており、一方(シリアノレ IF333a、 バス IF334a)が第 1の CPUから愛 2の CPUへのデータ伝送用、他方(シリアル IF33 3b、バス IF334b)が第 2の CPUから第 1の CPUへのデータ伝送用として用いられる 。なお、第 4の実施例とは異なりメモリ 332を一つ(バッファ 2面分)し力、備えていない。
[0098] 本実施例にかかるデータ処理装置は、第 1の CPU10及び第 2の CPU20がーつメ モリ 332を共用するため、これらが同時にデータライト動作を行わないように制御する 必要がある。このため、メモリコントローラ 331は、各 CPUからのデータライト要求に基 づレ、て以下のような制御を行う。
第 1の CPU10と第 2の CPU20とに、データライト動作の優先順位を設定しておき、 両方の CPUがデータライト動作を要求する場合には、優先順位の高!/、方にデータラ イト動作を行わせる。優先順位が低い方がデータライト動作を行っている最中に優先 順位の高い方からデータライト動作の要求があった場合には、処理中の動作を継続 しても良いし、処理を中断して優先順位の高い方のデータライト動作を実行しても良 い。
[0099] なお、第 1の CPU10と第 2の CPU20と力 フロー制御信号を用いて相手側の CP Uにデータ送出タイミングを指示することによって、排他的にデータライト動作を行うよ うに予めソフトウェアを設定しておいてもよい。この場合には、各 CPUからのデータラ イト要求は不要となる。
[0100] データ転送そのものの動作 (バッファ)は上記第 1の実施例と同様であるため、説明 は割愛する。
[0101] 〔第 6の実施例〕
本発明を好適に実施した第 6の実施例について説明する。
図 13に、本実施例にかかる携帯電話端末の構成を示す。この携帯電話端末は、通 信用 CPUとアプリケーション用 CPUとの二つの CPUを備えたデュアル CPU携帯電 話 末である。
[0102] 本実施例にかかる携帯電話端末の動作について説明する。
アンテナ 21において受信された無線信号は、無線回路 22で電気信号に変換され 、さらにアナログ信号処理部 23においてデジタル信号に変換される。アナログ信号 処理部 23においてデジタルに変換された信号は、デジタル信号処理部 24を介して CCPU1に入力される。 CCPU1に入力されたデジタル信号は、デジタルデータとし てバッファリング IC3を介して ACPU2へと送られる。 ACPU2は、入力されたデジタ ルデータを処理し、処理したデータをメモリ 25に蓄積したり、音声出力部 26から音声 を出力したり、表示部 28に画像を表示させるなどの処理を行う。
一方、 ACPU2は、操作部 26を介して行われた入力操作や音声入力部 29を介し て入力された音声を処理して、処理したデータを CCPU1へと転送する。 CCPU1は ACPU2から入力されたデータをデジタル信号処理部 24へと送りアナログの電気信 号に変換する。デジタル信号処理部 24は、アナログ電気信号をアナログ信号処理部 23を介して無線回路 22へ入力する。無線回路 22は、入力されたアナログ電気信号 を無線信号に変換しアンテナ 21を介して送出する。
[0103] CCPU1と ACPU2との間に上記第 1の実施例と同様のバッファリング ICを設けるこ とにより、通信中に ACPUがビジーとなっても、バッファあふれが発生しに《なり、通 信品質の安定性が向上する。
[0104] CCPUから ACPUへのデータ転送動作そのものは、上記第 1の実施例と同様であ るため、重複する説明は省略する。
[0105] なお、ここでは CCPUと ACPUとは第 1の実施例と同様の回路構成で接続するもの とした力 第 2又は第 3の実施例と同様の回路構成で CCPUと ACPUとを接続しても 良いことは言うまでもない。
また、第 4又は第 5の実施例における第 1の CPU及び第 2の CPUを CCPU及び A
CPUとして適用可能であることも自明である。
[0106] なお、上記実施例は本発明の好適な実施の一例であり、本発明はこれに限定され ることはない。
例えば、上記各実施例においては、 2面分のバッファをデータリード用、データライ ト用に交互に切り換えて用いる構成を例とした力 図 14に示すように 3以上のバッファ を備える構成として、これらをローテーションして用いるようにしても良レ、。
このように、本発明は様々な変形が可能である。
[0107] この出願 (ま、 2006年 7月 28曰 ίこ出願された曰本出願特願 2006— 206808を基 礎とする優先権を主張し、その開示の全てをここに取り込む。
図面の簡単な説明
[0108] [図 1]本発明を好適に実施した第 1の実施例に力、かるデータ処理装置の二つの CPU とバッファリング ICとの接続状態を示す図である。
[図 2]バッファリング ICの内部の構成を示す図である。
[図 3]バッファリング ICの動作の流れを示すフローチャートである。
[図 4]バッファリング ICを用いた CPU間のデータ転送動作の一例を示す図である。
[図 5]バッファリング ICを用いた CPU間のデータ転送動作の一例を示す図である。
[図 6]バッファリング ICを用いた CPU間のデータ転送動作の一例を示す図である。
[図 7]本発明を好適に実施した第 2の実施例に力、かるデータ処理装置のバッファリン グ ICの構成を示す図である。
[図 8]本発明を好適に実施した第 3の実施例に力、かるデータ処理装置の ACPUの構 成を示す図である。
[図 9]本発明を好適に実施した第 4の実施例にかかるデータ処理装置の構成を示す 図である。
[図 10]第 4の実施例に力、かるデータ処理装置のバッファリング ICの構成を示す図で ある。
[図 11]本発明を好適に実施した第 5の実施例にかかるデータ処理装置の構成を示す 図である。
[図 12]第 5の実施例に力、かるデータ処理装置のバッファリング ICの構成を示す図で ある。
[図 13]本発明を好適に実施した第 6の実施例に力、かる携帯電話端末の構成を示す 図である。
[図 14]3面分のバッファを備えたバッファリング ICの構成を示す図である。
符号の説明
1 通信用 CPU
2、 201 アプリケーション用 CPU
3、 31、 32、 33 ノペッファリング IC
10 第 1の CPU
20 第 2の CPU
21 アンテナ
22 無線回路
23 アナログ信号処理部
24 デジタル信号処理部
25、 322a, 322b メモ!;
26 操作部
27 音声出力部
28 表示部 音声入力部
バッファリング部
、 302、 312、 313 ノペッファ 、 311、 321、 331 メモリコントローラa, 323b, 333a, 333b シリアル IFa, 324b, 334a, 334b ノ ス IF

Claims

請求の範囲
[1] 二つのバッファを含み、二つの CPUの間に接続されて、一方の CPUから他方の C PUへのデータ転送を中継する CPU接続回路であって、
前記バッファのいずれか一方に送信側の CPUによって蓄積されたデータ量が所定 の閾値に達したか否力、を監視する手段と、
前記送信側の CPUによって前記バッファに蓄積されたデータ量が前記閾値に達し た場合に、受信側の CPUに前記バッファに蓄積されているデータの引き取りを要求 するとともに、前記送信側の CPUからのデータの蓄積先を他方の前記バッファに変 更する手段とを有し、
前記閾値は、前記送信側の CPUが前記バッファへ送信するデータの単位量よりも 大きレヽ値であることを特徴とする CPU接続回路。
[2] 前記バッファと前記送信側の CPUとがシリアル伝送路を介して接続されたことを特 徴とする請求項 1記載の CPU接続回路。
[3] 前記バッファと前記受信側の CPUとがパラレル伝送路を介して接続されたことを特 徴とする請求項 1又は 2記載の CPU接続回路。
[4] 前記受信側の CPUから入力される制御信号に応じて前記閾値を動的に設定する 手段をさらに含むことを特徴とする請求項 1から 3のいずれ力、 1項記載の CPU接続回 路。
[5] 前記送信側の CPUがデータの蓄積先とするバッファを切り換える際に、以前に蓄 積され前記受信側の CPUに引き取られずに残っているデータが切り替え後のバッフ ァに存在する場合には、少なくとも前記受信側の CPUに対してオーバーラン信号を 出力することを特徴とする請求項 1から 4のいずれか 1項記載の CPU接続回路。
[6] 前記送信側の CPUから前記バッファへのデータ転送速度よりも、前記受信側の CP Uが前記バッファからデータを引き取る速度の方が高速であることを特徴とする請求 項 1から 5のいずれか 1項記載の CPU接続回路。
[7] 前記送信側の CPUが前記バッファへ送信するデータはパケットデータであることを 特徴とする請求項 1から 6のいずれか 1項記載の CPU接続回路。
[8] 二つの CPUの間に接続され、データ伝送方向ごとに二つずつ含むバッファを用い て、各 CPU同士のデータ転送を中継する CPU接続回路であって、 各データ伝送方向について、
上流側の CPUによって前記バッファのいずれか一方に蓄積されたデータ量が所定 の閾値に達したか否力、を監視する手段と、
前記上流側の CPUによって前記バッファに蓄積されたデータ量が前記閾値に達し た場合に、下流側の CPUに前記バッファに蓄積されているデータの引き取りを要求 するとともに、前記上流側の CPUからのデータの蓄積先を他方の前記バッファに変 更する手段とを有し、
前記閾値は、前記上流側の CPUが前記バッファへ送信するデータの単位量よりも 大きレヽ値であることを特徴とする CPU接続回路。
[9] 二つのバッファを含み、二つの CPUの間に接続されて、各 CPU同士のデータ転送 を中継する CPU接続回路であって、
前記バッファのいずれか一方に上流側の CPUによって蓄積されたデータ量が所定 の閾値に達したか否力、を監視する手段と、
前記上流側の CPUによって前記バッファに蓄積されたデータ量が前記閾値に達し た場合に、下流側の CPUに前記バッファに蓄積されているデータの引き取りを要求 するとともに、前記上流側の CPUからのデータの蓄積先を他方の前記バッファに変 更する手段とを有し、
前記閾値は、前記各 CPUが前記バッファへ送信するデータの単位量よりも大き!/、 値であることを特徴とする CPU接続回路。
[10] 前記二つの CPUの双方が前記バッファにデータを転送しょうとする場合に、いずれ の CPUを上流側とするかの優先順位が予め設定されていることを特徴とする請求項
9記載の CPU接続回路。
[11] それぞれの伝送方向について前記下流側の CPUから入力される制御信号に応じ て前記閾値を動的に設定する手段をさらに含むことを特徴とする請求項 8から 10の いずれか 1項記載の CPU接続回路。
[12] 上流側の前記 CPUがデータの蓄積先とするバッファを切り換える際に、以前に蓄 積され下流側の前記 CPUに引き取られずに残っているデータが切り替え後のバッフ ァに存在する場合には、少なくとも前記下流側の CPUに対してオーバーラン信号を 出力することを特徴とする請求項 8から 11のいずれか 1項記載の CPU接続回路。
[13] 前記上流側の CPUから前記バッファへのデータ転送速度よりも、前記下流側の CP
Uが前記バッファからデータを引き取る速度の方が高速であることを特徴とする請求 項 8から 12のいずれか 1項記載の CPU接続回路。
[14] 前記上流側の CPUが前記バッファへ送信するデータはパケットデータであることを 特徴とする請求項 8から 13のいずれか 1項記載の CPU接続回路。
[15] 送信側の CPUから二つのバッファを含む受信側の CPUへとデータを転送して処 理するデータ処理装置であって、
前記バッファのいずれか一方に送信側の CPUによって蓄積されたデータ量が所定 の閾値に達したか否力、を監視する手段と、
前記送信側の CPUによって前記バッファに蓄積されたデータ量が前記閾値に達し た場合に、受信側の CPUの演算処理手段に前記バッファに蓄積されているデータ の引き取りを要求するとともに、前記送信側の CPUからのデータの蓄積先を他方の 前記バッファに変更する手段とを有し、
前記閾値は、前記送信側の CPUが前記バッファへ送信するデータの単位量よりも 大き!/、値であることを特徴とするデータ処理装置。
[16] 前記バッファと前記送信側の CPUとがシリアル伝送路を介して接続されたことを特 徴とする請求項 15記載のデータ処理装置。
[17] 前記バッファと前記演算処理手段とがパラレル伝送路を介して接続されたことを特 徴とする請求項 15又は 16記載のデータ処理装置。
[18] 前記演算処理手段が出力する制御信号に応じて前記閾値を動的に設定する手段 をさらに含むことを特徴とする請求項 15から 17のいずれ力、 1項記載のデータ処理装 置。
[19] 前記送信側の CPUがデータの蓄積先とするバッファを切り換える際に、以前に蓄 積され前記演算処理手段に引き取られずに残っているデータが切り替え後のバッフ ァに存在する場合には、少なくとも前記演算処理手段に対してオーバーラン信号を 出力することを特徴とする請求項 15から 18のいずれか 1項記載のデータ処理装置。
[20] 前記送信側の CPUから前記バッファへのデータ転送速度よりも、前記受信側の CP Uの演算処理手段が前記バッファからデータを引き取る速度の方が高速であることを 特徴とする請求項 15から 19のいずれか 1項記載のデータ処理装置。
[21] 前記送信側の CPUが前記バッファへ送信するデータはパケットデータであることを 特徴とする請求項 15から 20のいずれか 1項記載のデータ処理装置。
[22] 他の CPUとデータ伝送路を介して接続された二つのバッファと、
前記他の CPU力、ら転送されて前記バッファのいずれか一方に蓄積されたデータ量 が所定の閾値に達したか否力、を監視する手段と、
前記他の CPUによって前記バッファに蓄積されたデータ量が前記閾値に達した場 合に、前記バッファに蓄積されているデータの引き取りを演算処理手段に要求すると ともに、前記他の CPUからのデータの蓄積先を他方の前記バッファに変更する手段 とを有し、
前記閾値は、前記他の CPUが前記バッファへ送信するデータの単位量よりも大き
V、値であることを特徴とする演算装置。
[23] 前記演算処理手段からの制御信号に応じて前記閾値を動的に設定する手段をさら に含むことを特徴とする請求項 22記載の演算装置。
[24] 前記他の CPUから転送されてきたデータの蓄積先とするバッファを切り換える際に
、以前に蓄積され前記演算処理手段に引き取られずに残っているデータが切り替え 後のバッファに存在する場合には、前記演算処理手段に対してオーバーラン信号を 出力することを特徴とする請求項 22又は 23記載の演算装置。
[25] 前記他の CPUから前記バッファへのデータ転送速度よりも、前記演算処理手段が 前記バッファからデータを引き取る速度の方が高速であることを特徴とする請求項 22 力も 24のいずれか 1項記載の演算装置。
[26] 前記他の CPUによって前記バッファへ蓄積されるデータはパケットデータであるこ とを特徴とする請求項 22から 25のいずれか 1項記載の演算装置。
[27] 二つのバッファを備え二つの CPUの間に接続された CPU接続回路を用いたデー タ転送方法であって、
前記バッファに、前記送信側の CPUが前記バッファへ送信するデータの単位量よ りも大き!/、値をデータ蓄積量の閾値として設定し、
前記バッファの一方に送信側の CPUによって蓄積されたデータ量が前記閾値に達 したか否かを監視し、
送信側の CPUによって蓄積されたデータ量が前記閾値に達した場合に、受信側 の CPUにデータの引き取りを要求するとともに、前記送信側の CPUからのデータの 蓄積先を他方の前記バッファに変更することを特徴とするデータ転送方法。
[28] 前記閾値を、前記受信側の CPUから入力される制御信号に応じて動的に設定す ることを特徴とする請求項 27記載のデータ転送方法。
[29] 前記送信側の CPUがデータの蓄積先とするバッファを切り換える際に、以前に蓄 積され前記受信側の CPUに引き取られずに残っているデータが切り替え後のバッフ ァに存在する場合には、少なくとも前記受信側の CPUに対してオーバーラン信号を 出力することを特徴とする請求項 27又は 28記載のデータ転送方法。
[30] 前記送信側の CPUから前記バッファへのデータ転送速度よりも、前記受信側の CP Uが前記バッファからデータを引き取る速度の方が高速となるように前記二つの CPU を接続することを特徴とする請求項 27から 29のいずれ力、 1項記載のデータ転送方法
[31] 二つのバッファ及び演算処理手段を備えた受信側の CPUと送信側の CPUとを接
¾し、
前記バッファに、前記送信側の CPUが前記バッファへ送信するデータの単位量よ りも大き!/、値をデータ蓄積量の閾値として設定し、
前記バッファの一方に、送信側の CPUによって蓄積されたデータ量が前記閾値に 達したか否かを監視し、
送信側の CPUによって蓄積されたデータ量が前記閾値に達した場合に、前記演 算処理手段にデータの引き取りを要求するとともに、前記送信側の CPUからのデー タの蓄積先を他方の前記バッファに変更することを特徴とするデータ転送方法。
[32] 前記閾値は、前記演算処理手段が出力する制御信号に応じて動的に設定されるこ とを特徴とする請求項 31記載のデータ転送方法。
[33] 前記送信側の CPUから転送されてきたデータの蓄積先とするバッファを切り換える 際に、以前に蓄積され前記演算処理手段に引き取られずに残っているデータが切り 替え後のバッファに存在する場合には、前記演算処理手段に対してオーバーラン信 号を出力することを特徴とする請求項 31又は 32記載のデータ転送方法。
[34] 前記送信側の CPUから前記バッファへのデータ転送速度よりも、前記演算処理手 段が前記バッファからデータを引き取る速度の方が高速となるように前記受信側の C
PUと前記送信側の CPUとを接続することを特徴とする請求項 31から 33のいずれか
1項記載のデータ転送方法。
[35] 前記送信側の CPUから前記バッファへパケットデータを送信することを特徴とする 請求項 27から 34のいずれか 1項記載のデータ転送方法。
[36] 二つの CPUの間に接続され、データ伝送方向ごとに二つずつのバッファを備えた
CPU接続回路を用いたデータ転送方法であって、
各データ伝送方向について、
前記バッファに、上流側の CPUが前記バッファへ送信するデータの単位量よりも大 きレ、値をデータ蓄積量の閾値として設定し、
前記バッファの一方に、上流側の CPUによって蓄積されたデータ量が前記閾値に 達したか否かを監視し、
上流側の CPUによって蓄積されたデータ量が前記閾値に達した場合に、下流側 の CPUにデータの引き取りを要求するとともに、前記上流側の CPUからのデータの 蓄積先を他方の前記バッファに変更することを特徴とするデータ転送方法。
[37] 二つのバッファを備え、二つの CPUの間に接続された CPU接続回路を用いたデ ータ転送方法であって、
前記二つの CPUの双方が前記バッファにデータを転送しょうとする場合に、いずれ の CPUを上流側とするかの優先順位を予め設定し、
各データ伝送方向について、
前記バッファに、上流側の CPUが前記バッファへ送信するデータの単位量よりも大 きレ、値をデータ蓄積量の閾値として設定し、
前記バッファの一方に、上流側の CPUによって蓄積されたデータ量が前記閾値に 達したか否かを監視し、 上流側の CPUによって蓄積されたデータ量が前記閾値に達した場合に、下流側 の CPUにデータの引き取りを要求するとともに、前記上流側の CPUからのデータの 蓄積先を他方の前記バッファに変更することを特徴とするデータ転送方法。
[38] 前記閾値を、それぞれの伝送方向について前記下流側の CPUから入力される制 御信号に応じて動的に設定することを特徴とする請求項 36又は 37記載のデータ転 送方法。
[39] 上流側の前記 CPUがデータの蓄積先とするバッファを切り換える際に、以前に蓄 積され下流側の前記 CPUに引き取られずに残っているデータが切り替え後のバッフ ァに存在する場合には、少なくとも前記下流側の CPUに対してオーバーラン信号を 出力することを特徴とする請求項 36から 38のいずれか 1項記載のデータ転送方法。
[40] 各データ伝送方向について、前記上流側の CPUから前記バッファへのデータ転送 速度よりも、前記下流側の CPUが前記バッファからデータを引き取る速度の方が高 速となるように前記二つの CPUを接続することを特徴とする請求項 36から 39のいず れか 1項記載のデータ転送方法。
[41] 各データ伝送方向について、前記上流側の CPUから前記バッファへパケットデー タを送信することを特徴とする請求項 36から 40のいずれ力、 1項記載のデータ転送方 法。
[42] 通信用の CPUとアプリケーション処理用との二つの CPUを有し、
前記通信用 CPUから前記アプリケーション用 CPUへのデータ伝送路に請求項 1か ら14のいずれか 1項記載の CPU接続回路が設置されたことを特徴とする携帯通信 端末。
[43] 通信用の CPUとアプリケーション処理用との二つの CPUを有し、
前記通信用 CPUが前記送信側の CPU、前記アプリケーション処理用の CPUが前 記受信側の CPUとなって請求項 15から 21のいずれ力、 1項記載のデータ処理装置を 形成してレ、ることを特徴とする携帯通信端末。
[44] 通信用の CPUとアプリケーション処理用との二つの CPUを有し、
前記アプリケーション処理用の CPUとして請求項 22から 26のいずれ力、 1項記載の 演算装置が適用されていることを特徴とする携帯通信端末。
PCT/JP2007/064608 2006-07-28 2007-07-25 Circuit de connexion de processeur, dispositif de traitement de données, dispositif opérationnel, et terminal de communications mobiles, et procédé de transfert de données les utilisant WO2008013209A1 (fr)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2008526794A JP5168144B2 (ja) 2006-07-28 2007-07-25 Cpu接続回路、データ処理装置、演算装置及びこれらを用いた携帯通信端末並びにデータ転送方法
US12/374,949 US8355326B2 (en) 2006-07-28 2007-07-25 CPU connection circuit, data processing apparatus, arithmetic processing device, portable communication terminal using these modules and data transfer method
CN2007800285663A CN101495980B (zh) 2006-07-28 2007-07-25 Cpu连接电路、数据处理装置、算术处理设备、使用这些模块的便携式通信终端及数据传送方法
EP07791324A EP2051170A4 (en) 2006-07-28 2007-07-25 PROCESSOR CONNECTION CIRCUIT, DATA PROCESSING DEVICE, OPERATIONAL DEVICE, AND MOBILE COMMUNICATION TERMINAL, AND DATA TRANSFER METHOD USING SAME
US13/540,225 US8397003B2 (en) 2006-07-28 2012-07-02 CPU connection circuit, data processing apparatus, arithmetic processing device, portable communication terminal using these modules and data transfer

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2006206808 2006-07-28
JP2006-206808 2006-07-28

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US12/374,949 A-371-Of-International US8355326B2 (en) 2006-07-28 2007-07-25 CPU connection circuit, data processing apparatus, arithmetic processing device, portable communication terminal using these modules and data transfer method
US13/540,225 Continuation US8397003B2 (en) 2006-07-28 2012-07-02 CPU connection circuit, data processing apparatus, arithmetic processing device, portable communication terminal using these modules and data transfer

Publications (1)

Publication Number Publication Date
WO2008013209A1 true WO2008013209A1 (fr) 2008-01-31

Family

ID=38981520

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2007/064608 WO2008013209A1 (fr) 2006-07-28 2007-07-25 Circuit de connexion de processeur, dispositif de traitement de données, dispositif opérationnel, et terminal de communications mobiles, et procédé de transfert de données les utilisant

Country Status (5)

Country Link
US (2) US8355326B2 (ja)
EP (1) EP2051170A4 (ja)
JP (1) JP5168144B2 (ja)
CN (2) CN102902641B (ja)
WO (1) WO2008013209A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190096893A (ko) * 2019-08-08 2019-08-20 삼성전자주식회사 데이터 처리 장치와 회로
US10769096B2 (en) 2012-12-07 2020-09-08 Samsung Electronics Co., Ltd. Apparatus and circuit for processing data

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10877688B2 (en) 2016-08-01 2020-12-29 Apple Inc. System for managing memory devices
EP3340497A1 (en) 2016-12-22 2018-06-27 Nxp B.V. Error concealment with redundant data streams
EP3340498B1 (en) * 2016-12-22 2022-07-13 Nxp B.V. Receive path quality information
CN108536619B (zh) * 2017-03-03 2021-12-14 北京忆恒创源科技股份有限公司 快速恢复ftl表的方法与装置
US11971831B1 (en) * 2022-12-08 2024-04-30 Arm Limited First-in, first-out buffer

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60156159A (ja) * 1984-01-25 1985-08-16 Hitachi Ltd 磁気バブルメモリ装置
JPH01161466A (ja) * 1987-12-17 1989-06-26 Fujitsu Ten Ltd データ転送方式
JPH06110653A (ja) * 1992-09-25 1994-04-22 Tokyo Electron Ltd メモリシステム及びそれを用いたメモリ制御方法
JP2002073537A (ja) * 2000-08-30 2002-03-12 Matsushita Electric Ind Co Ltd バッファ制御装置
JP2003099396A (ja) * 2001-09-21 2003-04-04 Ricoh Co Ltd ネットワークインターフェイス回路
JP2004206487A (ja) * 2002-12-26 2004-07-22 Kyocera Mita Corp Fifoメモリ回路
JP2005142981A (ja) 2003-11-10 2005-06-02 Nec Corp 複数cpu構成の通信機能付き携帯端末およびその制御方法
JP2006206808A (ja) 2005-01-31 2006-08-10 Toyobo Co Ltd スルホン酸基含有ポリマー、該ポリマーを含むポリマー組成物、該ポリマーを用いたイオン交換樹脂およびイオン交換膜、該イオン交換膜を用いて得られる膜/電極接合体および燃料電池

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5255370A (en) * 1987-04-28 1993-10-19 Fujitsu Ten Limited Data transfer apparatus and data transfer system
US5163132A (en) * 1987-09-24 1992-11-10 Ncr Corporation Integrated controller using alternately filled and emptied buffers for controlling bi-directional data transfer between a processor and a data storage device
US5396597A (en) * 1992-04-03 1995-03-07 International Business Machines Corporation System for transferring data between processors via dual buffers within system memory with first and second processors accessing system memory directly and indirectly
US5664122A (en) * 1993-11-12 1997-09-02 Intel Corporation Method and apparatus for sequencing buffers for fast transfer of data between buses
JPH1115773A (ja) * 1997-06-24 1999-01-22 Matsushita Electron Corp 半導体集積回路、コンピュータシステム、データ処理装置及びデータ処理方法
JP2001202168A (ja) * 2000-01-20 2001-07-27 Sony Computer Entertainment Inc 中継器
US6526495B1 (en) 2000-03-22 2003-02-25 Cypress Semiconductor Corp. Multiport FIFO with programmable width and depth
GB0025495D0 (en) * 2000-10-17 2000-11-29 Digital Interfaces Ltd A data buffer
US20030110232A1 (en) * 2001-12-11 2003-06-12 International Business Machines Corporation Distributing messages between local queues representative of a common shared queue
US20030126280A1 (en) * 2001-12-31 2003-07-03 Maxxan Systems, Inc. XON/XOFF flow control for computer network

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60156159A (ja) * 1984-01-25 1985-08-16 Hitachi Ltd 磁気バブルメモリ装置
JPH01161466A (ja) * 1987-12-17 1989-06-26 Fujitsu Ten Ltd データ転送方式
JPH06110653A (ja) * 1992-09-25 1994-04-22 Tokyo Electron Ltd メモリシステム及びそれを用いたメモリ制御方法
JP2002073537A (ja) * 2000-08-30 2002-03-12 Matsushita Electric Ind Co Ltd バッファ制御装置
JP2003099396A (ja) * 2001-09-21 2003-04-04 Ricoh Co Ltd ネットワークインターフェイス回路
JP2004206487A (ja) * 2002-12-26 2004-07-22 Kyocera Mita Corp Fifoメモリ回路
JP2005142981A (ja) 2003-11-10 2005-06-02 Nec Corp 複数cpu構成の通信機能付き携帯端末およびその制御方法
JP2006206808A (ja) 2005-01-31 2006-08-10 Toyobo Co Ltd スルホン酸基含有ポリマー、該ポリマーを含むポリマー組成物、該ポリマーを用いたイオン交換樹脂およびイオン交換膜、該イオン交換膜を用いて得られる膜/電極接合体および燃料電池

Non-Patent Citations (1)

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

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10769096B2 (en) 2012-12-07 2020-09-08 Samsung Electronics Co., Ltd. Apparatus and circuit for processing data
KR20190096893A (ko) * 2019-08-08 2019-08-20 삼성전자주식회사 데이터 처리 장치와 회로
KR102148448B1 (ko) * 2019-08-08 2020-08-26 삼성전자주식회사 데이터 처리 장치와 회로

Also Published As

Publication number Publication date
EP2051170A1 (en) 2009-04-22
JPWO2008013209A1 (ja) 2009-12-17
CN102902641A (zh) 2013-01-30
JP5168144B2 (ja) 2013-03-21
US20110249560A1 (en) 2011-10-13
CN101495980B (zh) 2012-07-18
CN102902641B (zh) 2016-08-10
EP2051170A4 (en) 2010-04-21
US8397003B2 (en) 2013-03-12
US20120331190A1 (en) 2012-12-27
CN101495980A (zh) 2009-07-29
US8355326B2 (en) 2013-01-15

Similar Documents

Publication Publication Date Title
JP5746283B2 (ja) マルチプロセッサデバイスにおけるデータ転送および受信の期間中のコンテキストスイッチングを低減するための方法および装置
US5943479A (en) Method for reducing the rate of interrupts in a high speed I/O controller
WO2008013209A1 (fr) Circuit de connexion de processeur, dispositif de traitement de données, dispositif opérationnel, et terminal de communications mobiles, et procédé de transfert de données les utilisant
CN100451975C (zh) 实现多核cpu进行报文联合处理的系统及方法
KR20090025278A (ko) 범용 직렬 버스(usb)의 플로우 제어
CN109714128B (zh) 数据传输方法、设备及计算机存储介质
US20090201816A1 (en) Communication device, and flow control method and program product for use in the same
JP2009278532A (ja) 送信装置及び輻輳制御方法
JP4046727B2 (ja) 通信速度制御回路、通信速度制御基板、及び、情報処理装置
JP4630231B2 (ja) パケット処理システム、パケット処理方法、およびプログラム
JP4014061B2 (ja) ネットワーク装置
Chung et al. Design and implementation of the high speed TCP/IP Offload Engine
JP2001203705A (ja) フロー制御回路及びフロー制御方法並びにフロー制御プログラムを記録した記憶媒体
JP4373887B2 (ja) パケット処理方法
JP2014222466A (ja) 情報処理装置、情報処理システムおよび情報処理システムの通信方法
US20100299461A1 (en) Information processing apparatus and image forming apparatus
JP3102393B2 (ja) バックプレッシャー制御方法及びシステム
JP4669442B2 (ja) パケット処理システム、パケット処理方法、およびプログラム
JP2000222374A (ja) 負荷分散型パケット並列処理装置
JP2004318315A (ja) データ通信装置
CN115470014A (zh) 获取任务完成通知的方法、装置及直接访问内存的方法
CN118264715A (en) Chip system, electronic device, method of processing access request, and storage medium
JPH05336151A (ja) パケット交換装置
JPH11205332A (ja) データ転送装置および方法
JPH10229414A (ja) バックプレッシャー制御方式

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200780028566.3

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 07791324

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2008526794

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 2007791324

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

NENP Non-entry into the national phase

Ref country code: RU

WWE Wipo information: entry into national phase

Ref document number: 12374949

Country of ref document: US