[go: up one dir, main page]

WO2000079405A1 - Data processor - Google Patents

Data processor Download PDF

Info

Publication number
WO2000079405A1
WO2000079405A1 PCT/JP1999/003279 JP9903279W WO0079405A1 WO 2000079405 A1 WO2000079405 A1 WO 2000079405A1 JP 9903279 W JP9903279 W JP 9903279W WO 0079405 A1 WO0079405 A1 WO 0079405A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
data processing
control
circuit
memory
Prior art date
Application number
PCT/JP1999/003279
Other languages
French (fr)
Japanese (ja)
Inventor
Kohichi Suga
Hirotsugu Kojima
Naoki Mitsuishi
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/JP1999/003279 priority Critical patent/WO2000079405A1/en
Priority to TW088113540A priority patent/TW476883B/en
Publication of WO2000079405A1 publication Critical patent/WO2000079405A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/329Power saving characterised by the action undertaken by task scheduling
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Definitions

  • the present invention relates to a data processing device capable of processing data in parallel, and for example, relates to a technology effective when applied to a SIMD (Single Instruction Stream Multiple Data Stream) type data processing device for performing error correction.
  • SIMD Single Instruction Stream Multiple Data Stream
  • Hard disks CD-ROMs (Compact Disc-Read Only Memory), DVDs (Digital Video Discs),
  • a codeword is defined, for example, by a special set of numbers called the Galois field and special operations defined with it. Code error correction is performed by data processing using the number of Galois fields and arithmetic.
  • a set of numbers in a Galois field can be defined in multiple types by a primitive polynomial called a primitive polynomial, which defines the set of numbers. At the same time, the operation differs depending on the primitive polynomial.
  • the most frequently used codeword is the Reed Solomon code, which is particularly used for error correction codes in data storage systems and communication systems in which errors tend to concentrate on the part.
  • the error correction process consists of the steps of calculating a syndrome from an input codeword, calculating an error locator polynomial and an error numerical polynomial from the syndrome, finding an error location from the error locator polynomial, and locating the error locator polynomial and error. Steps for finding error values from numerical polynomials and correcting errors Including the step of:
  • codewords are continuously received and processed from a storage or recording medium or a transmission line of a communication system, the time allowed for processing of data including such error correction is limited by the data. It is determined from the reading speed and receiving speed. Therefore, a circuit for performing error correction requires some data processing capability. From such a viewpoint, error correction can be performed using a SIMD type processor or the like.
  • the present inventor may not be able to fully utilize all of the data processing power possessed by certain aspects of data processing, even though the processing capacity must be improved by parallel arithmetic processing. I realized that there may be cases where it is acceptable. For example, the above error correction processing capability must be able to cope with frequent errors, and conversely, if the number of errors is small, the above error correction step can be hardly performed.
  • Japanese Patent Application Laid-Open No. Hei 9-185585 This involves assigning tasks in a data processing device that has a multiple instruction stream, multiple data stream (MIMD) parallel processor and a power supply controller, while maintaining the required processing capacity, It is described that the power supply is stopped to realize power saving. However, the power supply control assumed by this involves 0 S (Operating System), which makes the control extremely complicated.
  • Japanese Patent Publication No. 9 _ 7 3 7 09 states that the data block in which no error symbol is detected in the error correction circuit is processed so that subsequent calculation processing is not performed. It is described that a control signal and a clock for are not supplied.
  • the control unit cancels the standby state. Then, the next step can be executed by each data processing unit first, and it is easy to minimize unnecessary cycles due to the standby state of the data processing unit, and the parallel processing performance by SIMD format is improved. Can be improved.
  • this technique does not variably control the correction processing capability of the error correction circuit, but controls the supply of the clock signal dynamically according to the processing content, as in the above-described conventional technique. It is just doing. Even if no error is detected, the processing capacity for error correction does not change.
  • An object of the present invention is to provide a data processing device capable of controlling the data processing capability and power consumption of parallel data processing units according to external conditions.
  • Another object of the present invention is to provide a data processing device capable of easily controlling the data processing capability and power consumption of parallel data processing units.
  • a first aspect of the data processing apparatus is to provide a control register having a control data according to an external instruction, and a plurality of data registers according to the control data held by the control register.
  • the parallelism of the parallel operation by the processing unit is determined by the parallelism control unit.
  • the control of the degree of parallelism can be realized by controlling the supply / stop of the clock signal to the data processing unit. That is, the plurality of data processing units Operating in synchronization with a clock signal output from a clock generation circuit, wherein the parallelism control unit has a selection gate for separately supplying the clock signal to the data processing unit; It is determined whether or not to output a clock signal based on.
  • a second aspect of the data processing apparatus is that control data is transmitted to a data processing apparatus having a plurality of data processing units operable in synchronization with a clock signal in accordance with an external instruction.
  • a control register is provided, and a speed control unit that determines a frequency of the clock signal according to control data held by the control register is provided.
  • the speed control unit determines the frequency of the clock signal at the frequency division ratio specified by the control data.
  • a third aspect of the data processing device enables external control of both the parallelism and the operation speed of the data processing unit. That is, a plurality of data processing units capable of operating in parallel in synchronization with the clock signal, a first control register holding the first control data according to an external instruction, and a second control register storing the first control data according to an external instruction. A second control register storing control data; and a parallelism control for determining a parallelism of the parallel operation by the plurality of data processing units according to the first control data stored in the first control registry. And a speed control unit that determines the frequency of the click signal in accordance with the second control data held by the second control register.
  • the change in the degree of parallelism of the data processing unit is suitable for controlling before a series of processing. If the degree of parallelism is changed in the middle of the parallel operation processing, it is easy to cause a situation in which the data to be initially processed is not processed. On the other hand, the clock frequency can be changed even during a series of processes because it is not necessary to change the program. Therefore, the data By controlling both the degree of parallelism and the operation speed of the processing unit in accordance with external conditions, it becomes possible to more finely control the processing capacity and power consumption of the data processing device from the outside.
  • the apparatus further includes an instruction control unit that decodes an instruction and outputs control information, and the instruction control unit is configured to be able to supply control information for an arithmetic operation to the plurality of data processing units in parallel.
  • the MIMD format may be used for the data processing unit.
  • the data processing device When the SIME format is adopted, the data processing device is provided with a program memory storing an error correction program for performing error correction, the control unit fetches an instruction from the program memory, and uses the data processing unit to execute an error. It can be configured to perform correction processing.
  • the data processing unit includes a Galois field arithmetic circuit capable of performing Galois field multiplication and addition, and the control unit controls the Galois field arithmetic circuit to cause the data processing unit to perform error correction processing. .
  • the control unit controls transfer of unprocessed data stored in a data memory to the data processing unit, and processes the processed data processed by the data processing unit.
  • a monitoring circuit may be employed for monitoring the status of the arithmetic processing by the data processing unit when the transfer of the data to the data memory can be controlled.
  • the monitoring circuit outputs a signal for notifying a state in which the amount of unprocessed data remaining in the data memory exceeds a certain amount to the outside based on an access address to the data memory.
  • the external status notification function enables external setting The validity of the processing capability, such as the degree of parallelism, can be easily determined from outside the SIMD type data processing device. In other words, it is possible to control the degree of parallelism and the operation speed of the data processing unit in consideration of the external state of the data processing device as well as the internal state of the data processing device.
  • a data processing device based on each of the above aspects can be further integrated into a semiconductor integrated circuit by adding the following configuration.
  • the input circuit may include demodulation means for demodulating an input signal and data transfer control means for transferring demodulated data to the data memory.
  • system interface means may be added.
  • the system interface means can be used to set transfer control conditions in the data transfer control means and to set control data in the control register.
  • FIG. 1 is a block diagram showing an example of a data processing apparatus according to the present invention.
  • FIG. 2 is a block diagram showing an example of a clock frequency dividing circuit.
  • FIG. 3 is an explanatory diagram schematically showing the processing capability according to the setting state of the parallelism and the operation speed.
  • FIG. 4 is an explanatory diagram of the operation of the memory pointer in the monitoring circuit.
  • FIG. 5 is a flowchart showing a typical processing procedure of the error correction processing of the RS code. It is a chart.
  • FIG. 6 is a timing chart showing a first operation example of autonomous standby control of a data processing unit in error correction processing.
  • FIG. 7 is a timing chart showing a second operation example of the autonomous standby control of the data processing unit in the error correction processing.
  • FIG. 8 is a timing chart showing an operation example when the degree of parallelism of the data processing unit in the error correction processing is changed.
  • FIG. 9 is a block diagram showing a detailed example of a data processing unit suitable for error correction processing.
  • FIG. 10 is a block diagram of a DVD drive system having a DVD controller, which is a more detailed example of a data processing device.
  • Fig. 11 is a block diagram showing the entire DVD drive system.
  • FIG. 12 is a system operation flow chart of the DV drive system of FIG.
  • FIG. 13 is a block diagram showing an example of a MIMD type data processing device.
  • FIG. 14 is a block diagram illustrating still another data processing device. BEST MODE FOR CARRYING OUT THE INVENTION
  • FIG. 1 shows an example of a data processing device according to the present invention.
  • the data processing device 1A shown in the figure is a semiconductor integrated circuit positioned as a peripheral controller, and is formed on one semiconductor chip such as single crystal silicon.
  • the error correction circuit 2 the system interface circuit 3
  • the memory interface circuit 4 input circuit 5, and output circuit 6.
  • These circuits share the local data path LDB, local address bus LAB and local control bus LCB.
  • the system interface circuit 3 is connected to a system controller such as a microcomputer (not shown), and the memory interface circuit 4 is connected to a data memory 7 used as a data buffer or the like.
  • the input circuit 5 demodulates the received data or the data read from the disk, for example, and stores the data in the data memory 7.
  • the error correction circuit 2 reads the data stored in the memory 7 for error checking, performs error correction on the erroneous data, and writes the corrected data back to the data memory.
  • the output circuit 6 reads the data after error check and error correction from the data memory 7, performs necessary processing, and outputs the processed data to the outside.
  • a terminal (not shown) is provided between the outside and the semiconductor integrated circuit, and the data processing device 1A transmits and receives data (signal) to and from the outside via the external terminal.
  • the error correction circuit 2 performs the decoding process in the SIMD form. That is, a plurality of data processing units 20-1 through 20-n having the same circuit configuration as each other, and an instruction control unit 2 common to the data processing units 20-1 to 20-n. With one.
  • Each data processing unit 20— :! 20 to n have an arithmetic circuit 22, a buffer memory 23, and a standby control circuit 26.
  • the instruction control unit 21 controls the data transfer between the data memory ⁇ and each buffer memory 23 according to the operation program stored in the program memory 24, and controls each data processing unit 20-1 to Performs arithmetic control of 2 0—n.
  • the input circuit 5 when the input circuit 5 stores a predetermined amount of data in the data memory 7, it requests the instruction control unit 21 to perform an error correction process.
  • the instruction control unit 21 decodes the instruction fetched from the program memory 24, and The operation of load processing, calculation processing, and store processing is repeated for data storage.
  • data is transferred from the data memory 7 to the buffer memory 23 in accordance with the transfer control conditions initially set by the system controller in advance.
  • arithmetic processing an error check is performed on the data in the buffer memory 23 using the arithmetic circuit 22, and an error correction arithmetic processing is performed on the erroneous data.
  • a process of writing back the error-corrected data from the buffer memory 23 to the data memory 7 is performed.
  • the arithmetic processing can be executed in parallel based on an arithmetic control signal 25 commonly provided from the instruction control unit 21 to each of the data processing units 20-1 to 20-n.
  • the arithmetic processing capability is improved by this parallel arithmetic processing.
  • the error correction circuit 2 is operated in synchronization with the clock signal CLK.
  • the frequency of the clock signal CLK is determined by the frequency division ratio selected by the clock frequency divider (speed controller) 30. That is, the clock divider circuit 30 divides the frequency of the basic clock signal ⁇ generated by the clock pulse generator (CPG) 31 and changes the frequency of the clock signal CLK to the operating speed register (second control register) 3. Control according to the value of 2.
  • a speed control data (second control data) is externally set via the system interface circuit 3 and an external terminal (not shown).
  • the frequency divider 30 A divides the basic clock signal ⁇ to generate frequency-divided signals 0 2, ⁇ c, and divides one of these signals into an operating speed register.
  • the selector 30B selects the frequency-divided signal according to the set value of 32 and outputs the selected frequency-divided signal as the clock signal CLK.
  • the clock signal CLK is And gate 4 3— :! Are supplied to the respective data processing units 20-1 to 20-n via .about.43-n.
  • the standby control signal 27-i is input to the AND gate 42-i, and the output of the AND gate 42-i is input to the AND gate 43-i to determine the output of the clock signal CLK. Signal.
  • the standby control signal 27-i when the standby control signal 27-i is set to the logical value "0", the supply of the clock signal CLK to the data processing unit 20-i corresponding to the standby control signal 27-i is stopped. The operation is stopped, the operation of the data processing unit 20-i is stopped, and the data processing unit 20-i is put into a standby state. The release of the standby state for the data processing unit 20-i in the standby state is performed by the instruction control unit 21 resetting the standby control circuit 26 with the control signal 25. When the standby control circuit 26 is reset, the standby control signal 27-i is set to the logical value "1", and the supply of the clock signal CLK to the data processing unit 20-i is restarted.
  • the data processing unit 200-1i that processes the error-free data sequence has a standby control circuit 2 6 can determine the state and transition to the standby state by itself. Thereby, useless power consumption can be reduced. Further, when all the data processing units 20-1 to 20_n enter the standby state at once, the instruction control unit 21 detects this state, so that the instruction control unit 21 Data processing unit 20 0-1 to 20 0-n cancels the standby state, eliminates unnecessary standby cycles, and improves arithmetic processing efficiency. Can be
  • the set value of the parallel degree register is supplied to the AND gates 4 2-1 to 4 2-n, whereby the AND gates 4 2-1 to 4 2-n and the AND gates 4 3-1 to 4-4 are supplied.
  • 3—n constitutes a parallelism control unit 40 of the data processing units 20—1 to 20—n.
  • parallel degree control data first control data
  • the parallel degree control data has a plurality of bits corresponding one-to-one to the data processing units 20-1 to 20-n, and each bit is a 2-input AND gate 42- :! ⁇ 4 2—This is one input of n.
  • This parallelism control data indicates an operation with a logical value "1".
  • the data processing section 20-i is enabled to operate on the condition that the corresponding bit of the parallelism control data is a logical value "1".
  • the clock signal CLK is supplied to the data processing unit in which the corresponding bit of the control data set in the parallelism register 41 is set to the logical value "1", and the supplied clock signal CLK is supplied.
  • the CLK frequency is determined according to the control data set in the operating speed register 32.
  • the change in the degree of parallelism must take into account the operation processing timing in the error correction circuit 2.
  • the change in the degree of parallelism of the data processing units 20-1 to 20-n is suitable for control in advance prior to a series of processes. If the degree of parallelism is changed in the middle of the parallel processing, it is often easy for data to be initially processed to be lost. For example, after storing the operation data in the buffer memories 23 of all the data processing units 20-1 to 20-n, the error correction step is executed after determining whether there is an error. If the degree of parallelism is changed during the execution, there is a possibility that some data to be subjected to the error correction step may be excluded from the calculation.
  • the system controller should not change the degree of parallelism on the way according to the progress of the parallel processing. In this case, even if the degree of parallelism is changed, there is no need to change the operation control program of the data processing units 20-1 to 20-n.
  • the clock frequency can be changed even during a series of processing independently of the change in the degree of parallelism.
  • the data processing unit 1A can reduce the data processing capacity and power consumption to the degree of parallelism and operation. Based on the two aspects of speed, it becomes possible to control the outside more finely.
  • reference numeral 50 denotes a monitoring circuit. Based on the access address to the data memory 7, the monitoring circuit 50 provides a signal (external standby signal) for notifying the outside that the unprocessed data amount remaining in the data memory # exceeds a certain amount. ) 5 5 is output.
  • the monitoring circuit 5 0, the input data Boyne evening (Boyne evening value P i) 5 1, processing the data Boyne evening (Boyne evening value p e) 5 2, output data Poin evening (pointer value P o) 53, and a comparée 54.
  • the input bus 51 stores the memory addresses when the input circuit 5 sequentially stores the data in the data memory 7 via the local address path LAB.
  • the in-process data pointer 52 sequentially stores the memory address when the instruction control unit 21 sequentially stores data from the temporary memory to the buffer memory 23 by the load processing via the single-address-address bus LAB. Go.
  • the output data pointer 53 is a local address for the memory address when the output circuit 5 sequentially outputs data from the data memory 7. It is stored sequentially via Subas LAB.
  • the access of the data memory 7 in the above is performed sequentially for successive memory addresses. Following access to the last address of data memory 7, access is made back to the first address. In other words, the memory 7 is used as a ring buffer.
  • the comparator 54 detects a state in which the output data bottle evening value Po has caught up to just before the input data bottle evening value Pi.
  • FIG. 4 shows the state of the boyne evening separately.
  • the external standby signal 55 is asserted to the S value "1" immediately before the state of (5) in FIG. 4 is reached.
  • the external standby signal 55 is given to the system controller.
  • the system controller changes the value of the parallelism register 41 at a predetermined timing. To increase the parallelism of the data processing unit and improve the processing capability of the error correction circuit 2. Further, immediately change the value of the operating speed register 32 to increase the operating speed of the error correction circuit 2.
  • an external circuit (not shown) that performs an input operation to the input circuit 5 is set in a standby state. As a result, errors in the entire system can be avoided.
  • Such an external status notification function makes it possible to easily determine the validity of the processing capability such as the degree of parallelism set from the outside from the outside of the SIMD type data processing device 1A.
  • the degree of parallelism and operation speed of the data processing units 20-1 to 20-n can be controlled in consideration of the external state of the data processing device 1A as well as the internal state of the data processing device 1A. become.
  • the pointers 51, 52, and 53 can be directly read from the outside via the system interface circuit 3. Therefore, the system controller directly refers to the values of the pointers 51, 52, and 53 using the empty cycles of the local paths LDB, LAB, and LCB, and accordingly, the data processing unit. It is possible to control the increase / decrease of the degree of parallelism of 20-0-1 to 20-0-n and the level of the clock frequency. For example, if there are many processed data that have not been output, the parallelism can be reduced to reduce power consumption. In this way, if the pointers 51, 52, and 53 can be referred to from outside, the processing capacity can be determined from a desired viewpoint separately from the external standby signal 55, and the degree of parallelism and clock frequency can be determined accordingly. Control becomes possible.
  • the processing capacity of the error correction circuit 2 is usually reduced, and the unprocessed data is processed according to the contents of the pointers 51, 52, 53 or the value of the external standby signal 55. Night At that point, the processing capacity should be increased. In addition, when the number of processed data increases, the processing capacity can be reduced. As a result, the average power consumption can be reduced according to the contents of the night, in other words, the required processing capacity.
  • the instruction control unit supports a RISC instruction (ReducedInsntRuction on SetCommuter).
  • Each of the data processing units 20-1 to 20-n in the S I MD type error correction circuit 2 includes a Galois field multiplier and an adder in the arithmetic circuit 22.
  • a syndrome operation to check for errors is performed, and only when there is an error, a series of error corrections such as Euclidean algorithm, chain search, and numerical error calculation are performed.
  • FIG. 5 illustrates a typical processing flow of the error correction of the RS code.
  • the error correction processing flow consists of data transfer 1001, syndrome calculation 1002, presence / absence judgment 1003, Euclidean algorithm 1004, Chien search 1005, error numerical calculation 1006, and correction 1007.
  • Data transfer 1001 is suitable for SIMD type parallel processing.
  • the data is arranged from the memory 7 to the buffer memory 23 in accordance with the specified degree of parallelism.
  • the syndrome calculation 1002 receives a series of received codes (r0 to r255) 2001 as input, and calculates a syndrome polynomial coefficient 2002.
  • the coefficient 200 2 of the syndrome polynomial is all zero, there is no error in the received code. If it is found that there is no error, omit the following processing and terminate. If it is found that there is an error, start the correction processing.
  • an error locator polynomial 2003 and an error numerical polynomial 2004 are calculated from the syndrome polynomial 2002 by the algorithm of algorithmic algorithm 104.
  • the root of the error locator polynomial 2003 is found by Chien search 1005, so that the error location 205 is found. At this time, if the error position 20005 is obtained with a value that cannot actually exist, it can be understood that an error that exceeds the code correction capability has occurred. In this case, it outputs that it cannot be corrected, and skips the following processing and ends. If the position of the error is found appropriately, the numerical value of the error 206 is calculated based on the error, the correction 1007 is performed, and the process is terminated.
  • n received code sequences can be processed simultaneously and in parallel.
  • FIG. 6 shows a first operation example of the autonomous standby control of the data processing unit in the error correction processing.
  • Fig. 6 shows four data processing units 20_1 and 2 A processing flow when four received code sequences 2001 are processed simultaneously and in parallel using 0-2, 20-3, and 20-4 is shown schematically.
  • GP E 0 (20-1) to GP E 3 (20-4) indicate four parallel data processing units, and each of the data processing units in the vertical direction elapses with time. Evening The processing executed by the processing units 20-1 to 20-4 is shown.
  • FIG. 6 if an error is detected in at least one of the four received code sequences 200 1, the data processing unit in which no error is detected is set to the standby state 10099, and the processing up to the correction is performed. 4 shows a flow to be executed.
  • the received code sequence 200 1 input to the data processing unit GP E 0 (20-1) contains an error within the range that can be corrected, and is input to the data processing unit GP E 1 (20-2).
  • An error beyond the correctable range occurs in the received received code sequence 2001, and the received code sequence 2001 input to the data processing units GPE 2 (20-3) and GPE 3 (20-4) Is the processing flow when no error occurs.
  • the GPE 1 (20-2) During numerical calculation 1006 and correction 1007, it enters the standby state 10999 and waits for the processing of the data processing unit GPE0 (20-1) to end. In this case, if no error is detected in all the data processing units 20-1, 20, 2, 20, 3 and 20-4, no error correction processing is performed and the next series of received codewords is executed. Since processing can be shifted to 2001, unnecessary processing steps can be avoided.
  • the three data processing units other than the one data processing unit that actually performs error correction put all processing after the Euclidean algorithm 1004 into a standby state 10099, and complete the error correction processing. Will wait. In this case, it cannot be said that the data processing units 20-1, 20-2, 20-3, and 20-4 provided in parallel are being used effectively. As the number of data processing units increases, the probability that no error is detected in all data processing units decreases, and processing efficiency decreases.
  • the method illustrated in the processing flow of FIG. 7 is effective.
  • the processing 1001 for reading the four received code sequences 200 1 into the four data processing units 20-1 to 20-4 is performed, and the syndrome calculation 1002 and the determination of the presence or absence of an error 1 003 are performed.
  • the processing flow is the same as that shown in FIG.
  • the data processing unit GP E 0 (20-1) and the data processing unit GP E 1 (20-2), which have been found to have errors store the calculated syndrome 2002 in the data memory 7.
  • the data processing unit GPE2 (20-3) and the data processing unit GPE3 (20-4), which are found to be error-free enter the standby state 10999 and process them. Wait for the end.
  • the processing flow returns to the first data transfer, and performs the processing 1001 for reading the next four reception code sequences 2001 into the four data processing units 20-1 to 20-4.
  • a syndrome calculation 1 002 and an error determination 1 003 are performed, and similarly, a process 1008 for storing only the syndrome 2 002 of the received code sequence 200 1 in which an error is detected in the memory 2 is performed.
  • a process of reading the stored syndrome 20002 only for the erroneously detected received code sequence 2001 is performed.
  • 1 0 9 is performed to perform the subsequent error correction processing. In this case as well, if the number of errors exceeds the correction capability of the code, it is impossible to correct the error. In the example shown in FIG.
  • the process of temporarily storing the syndrome 200 2 of the received code sequence 20 ⁇ 1 in which an error is detected in the memory 7 is performed, and the process of reading out again is performed. 9 is required more than the example shown in Fig. 6.
  • the processing flow shown in FIG. 6 is efficient when the frequency of occurrence of errors is high
  • the processing flow shown in FIG. 7 is efficient when the frequency of occurrence of errors is low. From the relationship between the frequency of occurrence of errors, the number of processing steps required for error correction, and the number of processing steps required to temporarily store the syndrome in memory, it is possible to quantitatively determine which processing flow is more efficient.
  • Processing will be completed in less than half of the processing flow shown in FIG. If the error rate is lower, increase the number of data processing units and increase the parallelism. When the number of processing steps is increased, the effect of reducing the processing steps when the processing method shown in FIG. 7 is adopted becomes more remarkable.
  • Syndrome calculations must be performed for all input sequences, and always require a fixed amount of data processing.
  • subsequent error correction requires less processing as long as there are few errors.
  • the flow in FIG. 7 can be further changed to FIG. 8, and the degree of parallelism can be increased for syndrome calculation and the degree of parallelism can be reduced for error processing.
  • These processing flows may be determined in consideration of the actual error frequency, data input speed, syndrome calculation speed, and the like.
  • FIG. 9 shows a detailed example of a data processing unit suitable for error correction processing.
  • the data processing unit 20-i shown in the figure is composed of two Galois field multipliers 110, one Galois field adder 112, a 64-bit Galois buffer 150, and a 4-word Galois register 160, 3.
  • Galois Buffer 150 and Galois Regis 160 and two Galois Field Multipliers 1 1 and 1 Galois Field Adder 1 12 are connected by six internal buses, and Galois Puffer 150 and Galois Regis 160 Calculates the data stored in the memory and stores the result in the Galois buffer 150 and the Galois storage 160.
  • a selector 114 is provided at the input of each of the arithmetic units 111, 112 so that an internal path from which data used for the operation is output can be selected.
  • the outputs of the arithmetic units 11 1 and 1 12 are stored in the Galois buffer 150 or Galois register 160 via the internal path.
  • Galois buffer 150 has pointers (PS 1) 12 1 and (PS 2) 1 Outputs 2 words of the address specified in 22 to the internal path at the same time, and simultaneously loads data from the internal path to the address specified in Boyne (PD) 123.
  • the values of pointers 121, 122, and 123 can be increased or decreased (+ 1 / -1) in the same cycle as Galois field arithmetic.
  • the value of the boyfriend is written and read from the integer register 170.
  • the integer register 170 stores data necessary for calculating values required for controlling the pointers 121, 122, and 123, and the calculation is performed using the connected integer adder / subtractor 180.
  • a predetermined value is stored in the register evening (P END) 131 in advance, a boyne evening to be monitored is designated by the control signal SELPEND, and the monitored evening evening value is stored in the register evening (PEND) 131.
  • the comparator (CMP) 133 determines whether or not the value matches a preset value. When the determination results match, the RPTEND flag of the flag register 140 is set by the signal RPTEND, and the standby register 141 is set. When not monitoring the pointers 121, 122, and 123, set the control signal SELPEND so that the values of the pointers 121, 122, and 123 are not compared with the value of the register (PEND) 131. I do.
  • a GZ flag indicating that the result of the Galois field adder 121 has become zero
  • an integer arithmetic unit An I ZERO flag is provided to indicate that the result of 180 is zero
  • an I NEG flag is provided to indicate that the result is negative.
  • the contents of the flag register 140 are compared with the signal CN by the masked comparator 141. Using DXMASK as a mask, the signal is compared with the signal NOPCNDX. If they match, the wait register 144 is set.
  • the standby register 142 is, for example, a 1-bit register, which can be set by the above two methods according to the operation result in the data processing unit 201-i, or can be set directly by an external signal PE NOP IN. Can be written and reset, or read directly to the outside as signal PEN 0 PEA.
  • the control signal input to the data processing unit 20—i is not a circuit that controls access to the standby register 142 from the circuit 144. Are all controlled to be invalid.
  • FIG. 10 is a block diagram of a DVD drive system having a DVD controller, which is a more detailed example of the data processing apparatus.
  • the DVD controller 1B shown in the figure has a binarization circuit (Data-Strobe) 200 for binarizing analog data, a demodulation circuit (DVD-Demod) 201, and a modulation circuit (DVD).
  • Data-Strobe binarization circuit
  • DVD-Demod demodulation circuit
  • DVD modulation circuit
  • DVD—ECC error correction circuit
  • DRAM-CONT memory interface circuit
  • Audio interface circuit Audio Processor
  • PC system interface circuit
  • Servo It is composed of modules such as a circuit (SERVO) 208 and a clock oscillator (CPG) 209, and is formed on one semiconductor substrate by a known semiconductor manufacturing technique.
  • the DVD controller 1B can play a CD-ROM and a music CD-DA together with a DVD.
  • Demodulation circuit for CD (CD-DA) 210, descrambler for reading information from CD-ROM 215, and ROM decoder (ROMDEC) 21 for decoding data in CD-ROM format Have one.
  • the CPG 209 generates a reference clock by performing frequency division based on a crystal oscillator or an external clock connected through an external terminal indicated by a symbol ⁇ , and outputs the reference clock to each functional block. Supply.
  • the DVD controller 1B operates in synchronization with this reference clock.
  • the error correction circuit 203 has the same configuration as the error correction circuit 2 having a variable processing capability.
  • the memory interface circuit (DRAM-CONT) 204 performs arbitration of input / output requests for the data memory 211 such as a DRAM and performs path control of the memory bus 218. .
  • the memory interface circuit 204 and the data memory 212 correspond to the memory interface circuit 4 and the data memory 7 in FIG.
  • the A TAP I interface circuit 206 is an example of the output circuit 6 in FIG.
  • the system interface circuit 207 is connected to a microcomputer 220 as a system controller.
  • the micro computer 220 initializes each circuit such as the demodulation circuit 201 and the error correction circuit 203 via the internal bus (LAB, LDB, LCB) 221 and the error correction circuit 203 and the like. Lead the internal registry of the system to control the system.
  • the system interface circuit 207 corresponds to the system interface circuit 3 in FIG.
  • the binarization circuit 200, the modulation circuit 202, the servo circuit 208, and the like are connected to the preprocessing LS1224.
  • the preprocessing LSI 224 amplifies the record information read from the DVD disk by the optical pickup 225, and supplies an information signal for reproducing the record information to the binarization circuit 200. In addition, it generates focus error and tracking error signals from the information signal envelope and the like, and supplies them to the servo circuit 208.
  • the servo circuit 208 controls the focusing and tracking of the optical pickup 225 based on the information. In addition, the low frequency component of the tracking control is extracted, and the D / A conversion output controls the thread motor 227 of the optical pickup 225. In addition, the disk rotation speed is detected by pulse detection, servo processing is performed, and spindle motor control is performed by DZA conversion output.
  • the focusing and tracking of the above-mentioned big-up, and the driving of the thread motor and the Svindormo are performed by the motor driver IC226.
  • the microcomputer 220 monitors the command input from the input / output circuit and the key input of the input / output port, and when there is an input, decodes the contents of the input command ⁇ key. The operation starts according to this.
  • the microcomputer 220 initializes the operation setting register of the servo circuit 208 via the microcomputer interface 207, and operates the focus and tracking servo control.
  • the focus is locked, the disk is rotated by the spindle motor 228, and the optical pickup 225 is moved to a predetermined position.
  • the data read by the optical pickup 2 25 The signal is converted into a digital signal by the preprocessing LSI 224, and is input to the DVD controller 1B.
  • the input data is first input to the demodulation circuit 201, and in the case of DVD, demodulation of 8-16 system, dinterleaving, detection of sink, and the like are sequentially performed.
  • an input request is output to the memory interface circuit 204.
  • the memory interface circuit 204 receives the input request at a predetermined timing, and transfers the demodulated data from the demodulation circuit 201 to the data memory (DRAM) 212.
  • DRAM data memory
  • the error correction circuit 203 sets a predetermined register and the like, and instructs the data output.
  • the A TAP I interface circuit 206 issues an output request to the memory interface circuit 204.
  • the memory interface 204 receives the output request at a predetermined timing, and outputs the data from the data memory 212 to the ATA PI interface circuit 206.
  • the ATAP I interface circuit 206 operates like a personal computer. Outputs data to the interface circuit of the host device.
  • the error correction circuit 203 sets a predetermined register of the general-purpose interface circuit (general-purpose IF) 230 and instructs the output of the data.
  • general-purpose IF general-purpose interface circuit
  • data from the general-purpose IF 230 is supplied to a not-shown MPEG circuit, decompressed, and displayed on a display device such as an LCD.
  • the microcomputer 220 monitors command input from the input / output circuit and key input of the input / output port, and when there is an input, the content of the input command or key is monitored. Decrypt and start operation accordingly.
  • the microcomputer 222 initializes the servo circuit 208 via the microcomputer interface circuit 207 to operate the focus and tracking servo control.
  • the microcomputer 220 operates as a spindle motor.
  • the disk is rotated at 228, and the optical pickup 225 is moved to a predetermined position.
  • the ATAPI interface circuit 206 issues a data request to the host device and inputs data. When a predetermined amount of data is input, the ATAPI interface circuit 206 issues an input request to the memory interface circuit 204. The memory interface circuit 204 receives an input request at a predetermined time, and transfers data input from the ATAPI interface circuit 206 to the data memory 212.
  • the error correction circuit 203 When a predetermined amount of data (one block in the case of a DVD) is stored in the memory 212, an interrupt request is given from the memory interface circuit 204 to the error correction circuit 203, and Therefore, the error correction circuit 203 performs a parity addition process (encoding) on the data stored in the data memory 212.
  • the modulation circuit 202 transfers the data subjected to the parity addition processing from the memory to the modulation circuit 202.
  • the data transfer control is started, and the data is internally transferred from the data memory 212 to the modulation circuit 202 via the memory interface 204.
  • the modulation circuit 202 sequentially performs in-leave, insert sync, 8-16 modulation, and outputs the data.
  • the output data is amplified by the preprocessing LSI 224 and written to the optical disk via the optical pickup 225.
  • FIG. 11 shows the entire DVD drive system.
  • the optical pickup 225 shown in FIG. 10 comprises a pickup 225B for focusing and tracking, and a pick amplifier 225A comprising a laser diode and the like.
  • the module I / C 226 of FIG. 10 includes a driver 226A of Akche 225B, a driver 226B of a thread 228, and a driver 226C of a spindle 227.
  • the pre-processing L S I 224 is generically referred to by the read channel.
  • the read channel includes a preamplifier for reading information.
  • the DVD controller 1B is used for recording / reproducing information on / from a real disk 230 such as a CD and a DVD, and servo control for the disk 230. That is, the DVD controller 1B obtains the tracking error signal TE, the focus error signal FE, and the like from the read channel 224, and controls the servo control signal so as to achieve tracking and focusing of the big 225A. Apply SVD AO, SV DA 1 to driver 226 A, apply servo control signal SVD A 2 to driver 226 B, and apply servo control signal SVD A3 to driver 226 C.
  • the DVD controller 1B inputs and demodulates the signal DIN read from the disk 230 and amplified by the read channel 224, and modulates data to be written to the disk 230.
  • the A TAP I interface circuit as a host interface is based on the Enhanced I It is connected to a host device such as a personal computer via a path such as the DE path, and inputs commands, etc., and displays status, etc., and outputs data.
  • the big-up 225 A outputs laser light by a light emitting element (laser diode) and detects reflected light from the optical disk 230 by a light receiving element (photo diode).
  • the position of the pickup 230 is controlled by the actuator 225B and the thread motor 228.
  • the signal output from the pickup 225 A is amplified by the read channel 224 and digitized.
  • the microcomputer 220 controls the read channel 224 using the SCI and IZO ports. For the tray whose illustration of the disk 230 is omitted, a control signal of an open switch and a close switch is input from the I / O port of the micro-computer 220, and an output switch signal is input as an interrupt request signal.
  • the microcomputer is driven by the output of the PWM of the microcomputer 220.
  • the DVD drive system shown in FIG. 11 can perform recording / reproducing on CD-ROM and reproducing on CD-DA in addition to DVD.
  • Basic playback processing is almost the same as that of DVD. That is, like a DVD, a signal read out from a disk 230 such as a CD-ROM or a CD-DA with a pickup of 255 A is amplified by a preamplifier of a lead channel 224, and then digitally processed by a waveform shaping circuit. Shaped into a waveform.
  • the CD-ROM data is digitally demodulated by the demodulation circuit 201 of the DVD controller 1B, error-corrected by the error correction circuit 203 in the same manner as described above, and then decoded by the desk lamp 215. Rampled.
  • the data after the descrambling process is read from CD-ROM by ROM decoder 211.
  • the data is decoded into a data format from the format to the host device, and is provided to the host device via the host interface circuit 206.
  • the CD-DA data is decoded by the decoding circuit 210, stored in the data memory 212, subjected to error correction and the like, and then output to the host device via the host interface circuit 206.
  • the microcomputer 220 When the disk 230 is loaded, the microcomputer 220 reads out TOC (Table Of Contents) information and the like on the disk and stores it in the buffer memory.
  • TOC Table Of Contents
  • the TOC information in the lead-in section is a maximum of 100 songs, each of which is a short burst of 9 bytes, etc., and is stored in a high-density buffer memory for physical use. Efficiency is improved, and reading is possible at any time by the microcomputer 220, so that the amount of movement can be calculated at the time of seeking, and can be used immediately in response to commands from the host interface. .
  • Microcomputer 220 will always read ID ICoby Protection Data from Read Data.
  • the micro-computer 220 reads out the defect information from the DVD-RAM disk and stores it in a non-volatile memory, and the microcomputer 220 sends the logical address specified by the host interface 206 to the physical address. Refer to when converting to an address.
  • FIG. 12 shows a system operation flowchart of the DVD drive system of FIG.
  • the parallelism of the data processing units 20-1 to 20-n is P
  • the initial value of the parallelism is Pi
  • the operation speed is S
  • the operation speed initial value is Si.
  • the parallelism of the data processing unit is not changed.
  • the error correction circuit 203 asserts the external standby signal 55.
  • S26, S27 This is an example of processing capacity change due to external conditions.
  • the system configuration of the host device is determined, and if the host device is a personal computer, whether the host device is a notebook type or a desktop type is determined. May be set.
  • the degree of parallelism is reduced compared to a desktop type.
  • systems such as DVD-RAM require error correction (data decoding) and data encoding. Data encoding requires less processing than data decoding.
  • the writing speed of the disk is slower than the reading speed. In consideration of this, at the time of writing, the data processing unit in the error correction circuit 203 may be used with a reduced degree of parallelism.
  • the data processing devices 1A and 1B are in the SIMD form, the data processing devices may be configured in the MIMD form.
  • FIG. 13 shows an example of a MIMD type data processing device.
  • the data processing units 20 C-1 to 20 C-n each execute an arithmetic processing by fetching an instruction. Therefore, individual data processing The units 20 C-1 to 20 C-n have an instruction control unit and an operation unit.
  • Data processing section 20 C— :! 220C-n is a circuit such as a CPU unit, a floating-point arithmetic unit, and a digital signal processing unit.
  • the operation speed can be controlled in accordance with the externally set value for the operation speed register 32 as in FIG.
  • the degree of parallelism of the data processing units 20C-1 to 20C-n can be controlled in accordance with an externally set value for the parallel degree register 41.
  • FIG. 14 shows still another example of the data processing apparatus.
  • the data processing device 1D shown in the figure has an input circuit 5D, an output circuit 6D, a data memory 7D for storing data, a memory interface circuit 4D, and n parallel operation.
  • a data processing circuit 20 D— 1 to 20 D—n a demultiplexer 40 2 that supplies data to the data processing circuit in parallel, a multiplexer 40 1 that outputs data according to the result of the parallel processing, It is composed of a parallel degree register 41 and a parallel degree control circuit 400.
  • the parallelism control data is externally set in the parallelism register 41 via, for example, an external terminal (not shown). According to the parallelism control data set in the parallelism register 41, the parallelism control circuit 400, the demultiplexer 402, the data processing circuit 20D-1 to 20Dn, And the multiplexer 401.
  • the input circuit 5D performs preprocessing such as demodulation as needed on data read from a recording medium such as a DVD, and transfers the data to the data memory D.
  • preprocessing such as demodulation as needed on data read from a recording medium such as a DVD
  • the data is temporarily stored in the data memory 7D, converted to an order suitable for processing, and processed in parallel through the demultiplexer 402.
  • Circuit 20 D—1 to 20 D—n Processing results are not always output However, it is described as an output in Fig. 14.
  • the output circuit 6D outputs the processing results stored in the memory 7D in an appropriate order and transfer rate.
  • the memory interface circuit 4D arbitrates a contention state for a memory access request from the input circuit 5D, the output circuit 6D, and the data processing circuit 20D-1 to 20D-n. .
  • the parallelization of the data processing circuits 20 D-1 to 20 D-n is frequently used because it is effective for easily improving the overall processing capacity.
  • the maximum processing capacity required from the usage environment is high, so the use of parallel processing can effectively satisfy the maximum processing performance specifications.
  • n data processing circuits 20 D- 1 to 20 D-n are provided in parallel to satisfy the specification of the maximum processing performance, if only m m circuits are needed in normal use, external Degree of parallelism Set the degree of parallelism m (m ⁇ n) to the register 41 and demultiplexer 402, multiplexer 401, and data processing circuit 20D— :! 2 to 0 11 are controlled so as to operate at the parallel degree m.
  • the power consumption of the entire data processing circuit can be reduced to mZn by controlling the non-operating processing circuit so that the clock signal is not supplied by the parallelism control circuit 400.
  • the power consumption of the other circuits is added as a fixed value.
  • the ratio of the data processing circuit to the total power consumption is high, so that the effect of reducing the power consumption as a whole is great.
  • the degree of parallelism of the data processing unit represented by the codes 20-1 to 20-0-n can be variably controlled externally, the processing capacity and power of the data processing device (1A, IB) can be adjusted at least according to external conditions. Consumption can be controlled. Ma
  • the processing capability and power consumption of the data processing device can be similarly controlled according to the external situation. In particular, speed control can be performed without affecting the processing procedure at all, irrespective of the progress of the data processing step, so that speed control can be performed freely even during a series of processing.
  • SIMD-type data processing devices are often used for processing such as image or audio processing, and are originally intended to improve the data processing capacity.However, depending on the contents of the calculation processing and the data to be calculated, the original calculation processing There may be situations where 100% of the ability is not used. In such a case, if the speed control and the parallelism control can be performed flexibly from the outside as described above, it is possible to maximize the effects of improving data processing efficiency and reducing unnecessary power consumption. Can be. For example, when decompressing compressed data, the required processing changes depending on the data. Unnecessary power consumption can be reduced by changing the processing capacity according to the data.
  • the error correction processing step does not need to be executed if there is no error. Therefore, if the degree of parallelism is changed according to the processing status, the improvement in data processing efficiency and wastefulness The effect of reducing power consumption can be maximized.
  • the processing capacity is reduced, and the unprocessed data is processed according to the contents of pointers 51 to 53 and the state of external standby signal 55.
  • the processing capacity may be increased.
  • the processing capacity can be reduced. As a result, the average power consumption can be reduced according to the content of the data, in other words, according to the required processing capacity.
  • the power consumption can be reduced by adjusting the processing capacity according to the external situation and the situation of the disk.
  • Systems such as DVD-RAM require error correction (de- night decoding) and data encoding.
  • Data encoding requires less processing than data decoding. Also, since the writing speed of the disk is slower than the reading speed, it is possible to reduce the power consumption by lowering the degree of parallelism during writing.
  • the power consumption can be switched according to the system to which the data processing device is applied, for example, a notebook-type personal computer / desktop-type personal computer, which can contribute to improvement in system development efficiency and productivity.
  • Error correction circuits with variable processing capability are commonly used for encoding and Z-decoding, and when encoding requires only syndrome operation, the degree of parallelism can be reduced or the clock division ratio can be reduced. Or lower the power consumption according to the required processing capacity.
  • Built-in host interface circuit allows power consumption to be changed based on a command from the host computer, for example.
  • Such commands include the use of user-defined commands provided in the host interface circuit to add new hardware to the drive system. No need.
  • the data processing device may be configured by employing only one of the speed control and the parallel degree control. Also, the standby control in each data processing unit need not be adopted. Further, the data memory may be built in the data processing device. Conversely, the program memory for the instruction control unit may be external.
  • Various circuits on-chip in the data processing device are not limited to the circuits described in FIG. 1 and the like, and can be appropriately changed. Further, the arithmetic processing by the data processing unit is not limited to error correction, but may be processing such as decompression / compression, modulation / demodulation, and the like. Therefore, the data processing device is not limited to being applied to an LSI for a disk controller, but can be widely applied to an LSI for communication and the like.
  • control registers 32, 41 and the pointers 51, 52, 53 for changing the processing capacity described in FIG. 1 are provided in the data processing device, the microcomputer 220, etc. It may be placed in the system controller. Industrial applicability
  • the present invention relates to an optical disk drive device such as a DVD or a CD-ROM, an interface controller for communication, and a signal processing device such as a digital video camera and a digital still camera for compressing and expanding image data. It can be widely applied.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Detection And Correction Of Errors (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

A control resister (41) holds control data according to an instruction given externally. A parallelism control unit (40) determines the parallelism of the parallel operation of data processing sections (20-1 to 20-n) according to the control data held by the control resister (41). Another control resister (32) controls the frequency of the operating clock signal (CLK) for the data processing sections according to the preset control data. Since the parallelism and operating speed of the data processing sections are thus controlled according to external conditions, the processing capacity and power consumption of the data processing sections are also readily controlled according to external state. Changing the parallelism of the data processing sections is suitable for the control prior to a series of processings. It is possible to change the clock frequency even during a series of processings.

Description

明 細 書 データ処理装置 技術分野  Description Data processing equipment Technical field
本発明は、 並列的にデータ処理可能なデータ処理装置に係り、例えば 誤り訂正を行なう S I M D ( Single Instruction stream Multiple Data stream) 型のデ一夕処理装置に適用して有効な技術に関する。 背景技術  The present invention relates to a data processing device capable of processing data in parallel, and for example, relates to a technology effective when applied to a SIMD (Single Instruction Stream Multiple Data Stream) type data processing device for performing error correction. Background art
ハードディスク、 C D— R O M (Compact Disc-Read Only Memory), D V D (Digital Video Disc ), 光磁気ディスクなどの記録媒体を扱うデ Hard disks, CD-ROMs (Compact Disc-Read Only Memory), DVDs (Digital Video Discs),
—夕記録装置等には、媒体で生じた記録 z読み出しの誤りを訂正できる 符号語が使われている。符号語は、例えばガロア体と呼ばれる特殊な数 の集合と、それと共に定義された特殊な演算によって定義されている。 符号の誤り訂正は、ガロア体の数と演算を用いたデータ処理によって行 われる。ガロア体の数の集合は原始多項式と呼ばれる、数の集合を定義 する基礎となる多項式によって、複数種類の定義が可能であって、 同時 に演算も原始多項式によって異なる定義がなされる。最も多用されてい る符号語には、 リードソロモン(Reed Solomon)符号があって、 特に誤り がー部に集中しやすいデータの蓄積系や通信系の誤り訂正符号に用い られている。 —Code words that can correct recording z read errors that occur on the medium are used in evening recording devices. A codeword is defined, for example, by a special set of numbers called the Galois field and special operations defined with it. Code error correction is performed by data processing using the number of Galois fields and arithmetic. A set of numbers in a Galois field can be defined in multiple types by a primitive polynomial called a primitive polynomial, which defines the set of numbers. At the same time, the operation differs depending on the primitive polynomial. The most frequently used codeword is the Reed Solomon code, which is particularly used for error correction codes in data storage systems and communication systems in which errors tend to concentrate on the part.
誤り訂正の処理は、入力された符号語からシンドロームを計算するス テツプ、シンドロームから誤り位置多項式と誤り数値多項式を演算する ステップ、 誤り位置多項式から誤り位置を求めるステップ、誤り位置多 項式と誤り数値多項式から誤り数値を求めるステップ、及び誤りを訂正 するステップを含む。 The error correction process consists of the steps of calculating a syndrome from an input codeword, calculating an error locator polynomial and an error numerical polynomial from the syndrome, finding an error location from the error locator polynomial, and locating the error locator polynomial and error. Steps for finding error values from numerical polynomials and correcting errors Including the step of:
蓄積系若しくは記録系の媒体や通信系の伝送路からは、符号語が連続 的に受信されて処理されるので、そのような誤り訂正を含むデータの処 理のために許される時間は、データの読取り速度や受信速度等から決ま る。 したがって、誤り訂正を行なう回路にはある程度のデータ処理能力 が要求される。そのような観点から、 S I M D型プロセッサ等を用いて 誤り訂正を行なうことができる。  Since codewords are continuously received and processed from a storage or recording medium or a transmission line of a communication system, the time allowed for processing of data including such error correction is limited by the data. It is determined from the reading speed and receiving speed. Therefore, a circuit for performing error correction requires some data processing capability. From such a viewpoint, error correction can be performed using a SIMD type processor or the like.
ところで、 近年、 ノート型のパーソナルコンビユー夕 (パソコンとも 称する)のみならず、 A C電源を用いるデスク トップ型パソコンでも、 低消費電力化が望まれていることは周知の通りである。 S I M D形式で 誤り訂正を行なう回路に対しても、将来、低消費電力の要請がないとも 限らない。  By the way, in recent years, it is well known that low power consumption is desired not only for notebook personal computers (also referred to as personal computers) but also for desktop personal computers using an AC power supply. There is no guarantee that low power consumption will not be required in the future for circuits that perform error correction in the SIMD format.
本発明者は、演算処理の性質上、並列演算処理によって処理能力を向 上させなければならなくても、データ処理のある局面ではそれが持って いるデータ処理能力の全部を完全に利用しなくても良い場合のあるこ とを認識した。例えば、上記エラー訂正処理能力は誤りが頻発する場合 にも対処可能でなければならないから、逆に誤りの発生が少なければ前 記誤り訂正ステツプをほとんど行なわずに済む。  Due to the nature of arithmetic processing, the present inventor may not be able to fully utilize all of the data processing power possessed by certain aspects of data processing, even though the processing capacity must be improved by parallel arithmetic processing. I realized that there may be cases where it is acceptable. For example, the above error correction processing capability must be able to cope with frequent errors, and conversely, if the number of errors is small, the above error correction step can be hardly performed.
この観点に立った低消費電力化の技術として、特開平 9一 1 8 5 5 8 9号公報に記載のものがある。 これには、 M I M D ( Multiple Instruction stream Multiple Data stream) 的な並列プロセッサと電 源供給コントローラを持つデータ処理装置において、タスクの割り振り を行って、所要の処理能力を保持しながら、休止状態のプロセッサに対 する電源供給を停止して省電力を実現する、 ことが記載されている。 し かしながら、 これが想定する電源コントロールには 0 S ( Operating System) が介在され、 制御が極めて複雑になる。 特閧平 9 _ 7 3 7 0 9号公報には、 誤り訂正回路において、誤りシン ポルが検出されなかったデータに対しては、それ以降の計算処理を行な わないように、当該データプロックに対する制御信号やクロックを供給 しないようにすることが記載されている。その制御は、誤り訂正を行な う回路それ自体の判断で部分的にクロック供給を停止するものであつ て、処理上、誤りのないデータを処理する回路部分はそのとき実質的な 動作が不要であるから、必然的にクロック信号等の供給も停止させれば、 その分、 低消費電力になる、 というものである。 この技術は、 誤り訂正 回路の訂正処理能力を可変に制御するものではない。処理内容に応じて 動的にクロック信号の供給などを制御しているに過ぎない。誤りシンポ ルが検出されなかった場合にも誤り訂正の処理能力は変わらない。特開 平 9— 1 4 7 4 8号公報にも、 これと同様に、 処理上、 部分的に不要な 動作を抑止し、消費電力を低減することについて述べられているが、 回 路の処理能力自体は一定に保たれている。演算処理能力に対する制御と 消費電力に対する制御の双方は考慮されていない。 As a technique for reducing power consumption from this viewpoint, there is a technique described in Japanese Patent Application Laid-Open No. Hei 9-185585. This involves assigning tasks in a data processing device that has a multiple instruction stream, multiple data stream (MIMD) parallel processor and a power supply controller, while maintaining the required processing capacity, It is described that the power supply is stopped to realize power saving. However, the power supply control assumed by this involves 0 S (Operating System), which makes the control extremely complicated. Japanese Patent Publication No. 9 _ 7 3 7 09 states that the data block in which no error symbol is detected in the error correction circuit is processed so that subsequent calculation processing is not performed. It is described that a control signal and a clock for are not supplied. In this control, the clock supply is partially stopped by the judgment of the error correction circuit itself, and the circuit part that processes error-free data does not require substantial operation at that time. Therefore, if the supply of clock signals etc. is inevitably stopped, the power consumption will be reduced accordingly. This technique does not variably control the correction processing capability of the error correction circuit. It merely controls the supply of clock signals dynamically according to the processing content. Even if no error symbol is detected, the error correction processing capacity does not change. Japanese Patent Application Laid-Open No. Hei 9-147478 also similarly describes suppressing unnecessary operations in processing and reducing power consumption. The ability itself is kept constant. Neither control on arithmetic processing capacity nor control on power consumption is considered.
更に、国際公開 W 0 9 9 / 1 4 6 8 5号には誤り訂正に S I M D型プ 口セッサを用いた例が記載されている。 これに記載の技術は、制御部か ら演算動作のための制御情報を複数個のデータ処理部に与えてそれら を並列動作させる S I M D型のプロセッサにおいて、データ処理部の演 算結果に応じてデータ処理部を待機状態にする待機制御手段を有し、 夫々のデータ処理部を待機状態から活性状態に復帰させる制御を前記 制御部で行うようにしたものである。待機状態においてはデ一夕処理部 の演算回路へのクロック供給を停止する。 したがって、誤りの無いデー 夕を処理するデータ処理部は他のデータ処理部が誤り訂正ステツプを 実行しているとき待機状態にすることができる。一方、全てのデータ処 理部を待機状態にできる場合には、制御部はその待機状態をキヤンセル して、その次のステップを先に各データ処理部に実行させることができ、 データ処理部の待機状態による無駄なサイクルを最小限に抑えること が容易になり、 S I M D形式による並列演算処理性能を向上させること ができる。 Further, International Publication WO99 / 14685 describes an example in which a SIMD type processor is used for error correction. The technology described in this document is based on the SIMD type processor that provides control information for arithmetic operation from a control unit to a plurality of data processing units and operates them in parallel. There is provided standby control means for setting the processing unit to a standby state, and the control unit performs control for returning each data processing unit from the standby state to the active state. In the standby state, the clock supply to the arithmetic circuit of the data processing unit is stopped. Therefore, a data processing unit that processes error-free data can be in a standby state when another data processing unit is performing the error correction step. On the other hand, if all the data processing units can be placed in the standby state, the control unit cancels the standby state. Then, the next step can be executed by each data processing unit first, and it is easy to minimize unnecessary cycles due to the standby state of the data processing unit, and the parallel processing performance by SIMD format is improved. Can be improved.
この技術も、低消費電力という観点に立てば、前記従来技術と同様に、 誤り訂正回路の訂正処理能力を可変に制御するものではなく、処理内容 に応じて動的にクロック信号の供給を制御しているに過ぎない。誤りが 検出されなかった場合にも誤り訂正の処理能力に変わりはない。  From the viewpoint of low power consumption, this technique does not variably control the correction processing capability of the error correction circuit, but controls the supply of the clock signal dynamically according to the processing content, as in the above-described conventional technique. It is just doing. Even if no error is detected, the processing capacity for error correction does not change.
本発明の目的は、並列されたデータ処理部のデータ処理能力及び消費 電力を外部条件に応じて制御することができるデータ処理装置を提供 することにある。  An object of the present invention is to provide a data processing device capable of controlling the data processing capability and power consumption of parallel data processing units according to external conditions.
本発明の別の目的は、並列されたデータ処理部のデータ処理能力及び 消費電力を容易に制御することができるデータ処理装置を提供するこ とにある。  Another object of the present invention is to provide a data processing device capable of easily controlling the data processing capability and power consumption of parallel data processing units.
本発明の上記並びにその他の目的と新規な特徴は本明細書の以下の 記述と添付図面から明らかにされるであろう。 発明の開示  The above and other objects and novel features of the present invention will become apparent from the following description of the present specification and the accompanying drawings. Disclosure of the invention
〔 1〕 本発明に係るデータ処理装置の第 1の観点は、 外部からの指示に 従って制御デ一夕を保有する制御レジス夕を設け、 前記制御レジス夕が保有 する制御データに従って複数個のデータ処理部による並列動作の並列度を並 列度制御部によって決めるようにする。 このようにデータ処理部の並列度を 外部条件に従って制御することによって、 データ処理装置の処理能力並びに 電力消費を外部状況に応じて容易に制御できるようになる。  [1] A first aspect of the data processing apparatus according to the present invention is to provide a control register having a control data according to an external instruction, and a plurality of data registers according to the control data held by the control register. The parallelism of the parallel operation by the processing unit is determined by the parallelism control unit. By controlling the degree of parallelism of the data processing unit in accordance with external conditions in this way, the processing capability and power consumption of the data processing device can be easily controlled according to external conditions.
前記並列度の制御はデータ処理部に対するクロック信号の供給 ·停止の制 御によって実現することができる。 即ち、 前記複数個のデータ処理部は、 ク 口ック発生回路から出力されるクロック信号に同期動作され、 前記並列度制 御部は、 前記データ処理部に前記クロック信号を別々に供給する選択ゲート を有し、 前記選択ゲートは前記制御データに基づいてクロック信号を出力す るか否かが決定される。 The control of the degree of parallelism can be realized by controlling the supply / stop of the clock signal to the data processing unit. That is, the plurality of data processing units Operating in synchronization with a clock signal output from a clock generation circuit, wherein the parallelism control unit has a selection gate for separately supplying the clock signal to the data processing unit; It is determined whether or not to output a clock signal based on.
〔2〕本発明に係るデ一夕処理装置の第 2の観点は、 クロック信号に同 期して動作可能な複数個のデータ処理部を有するデータ処理装置に、外 部からの指示に従って制御データを保有する制御レジス夕と、 前記制御レジ ス夕が保有する制御データに従って前記クロック信号の周波数を決定する速 度制御部とを設ける。 例えば速度制御部は制御デ一夕によつて指定される分 周比でクロック信号の周波数を決定する。 このように、 デ一夕処理部の動作 速度を外部条件に従つて制御することによって、 デ一夕処理装置の処理能力 並びに電力消費を外部状況に応じて容易に制御できるようになる。  [2] A second aspect of the data processing apparatus according to the present invention is that control data is transmitted to a data processing apparatus having a plurality of data processing units operable in synchronization with a clock signal in accordance with an external instruction. A control register is provided, and a speed control unit that determines a frequency of the clock signal according to control data held by the control register is provided. For example, the speed control unit determines the frequency of the clock signal at the frequency division ratio specified by the control data. In this way, by controlling the operation speed of the data processing unit in accordance with external conditions, the processing capacity and power consumption of the data processing unit can be easily controlled according to external conditions.
〔3〕本発明に係るデータ処理装置の第 3の観点は、データ処理部の並 列度と動作速度の双方を外部から制御できるようにする。即ち、 クロッ ク信号に同期して並列動作可能な複数個のデータ処理部と、 外部からの指 示に従って第 1制御データを保有する第 1の制御レジス夕と、 外部からの指 示に従って第 2制御データを保有する第 2の制御レジス夕と、 前記第 1の制 御レジス夕が保有する前記第 1の制御データに従って前記複数個のデータ処 理部による並列動作の並列度を決める並列度制御部と、 前記第 2の制御レジ ス夕が保有する第 2の制御データに従って前記ク口ック信号の周波数を決定 する速度制御部と、を含んでデータ処理装置を構成する。データ処理部の並 列度の変更は、予め、 一連の処理に先立って制御することに適している。 並列演算処理の途中で並列度を変更すると、往々にして、 当初処理され る予定のデ一夕が処理されなくなる事態を生じ易いからである。これに 対して、 クロヅク周波数の変更は、 プログラムを変更する必要がないの で、 一連の処理途中であっても行うことが可能である。 従って、 データ 処理部の並列度と動作速度の双方を外部条件に従って制御することにより、 データ処理装置の処理能力及び電力消費を外部から更に木目細かく制御する ことが可能になる。 [3] A third aspect of the data processing device according to the present invention enables external control of both the parallelism and the operation speed of the data processing unit. That is, a plurality of data processing units capable of operating in parallel in synchronization with the clock signal, a first control register holding the first control data according to an external instruction, and a second control register storing the first control data according to an external instruction. A second control register storing control data; and a parallelism control for determining a parallelism of the parallel operation by the plurality of data processing units according to the first control data stored in the first control registry. And a speed control unit that determines the frequency of the click signal in accordance with the second control data held by the second control register. The change in the degree of parallelism of the data processing unit is suitable for controlling before a series of processing. If the degree of parallelism is changed in the middle of the parallel operation processing, it is easy to cause a situation in which the data to be initially processed is not processed. On the other hand, the clock frequency can be changed even during a series of processes because it is not necessary to change the program. Therefore, the data By controlling both the degree of parallelism and the operation speed of the processing unit in accordance with external conditions, it becomes possible to more finely control the processing capacity and power consumption of the data processing device from the outside.
〔4〕上記夫々の観点に立ったデータ処理装置には、 更に具体的な以下 の構成を採用することができる。  [4] The following more specific configurations can be adopted in the data processing device from the above viewpoints.
相互に同一のデータ処理ステツプを経ることが予想される多数のデ 一夕プロックを処理することに特化させるような場合には、データ処理 装置に S I M D形態を採用すればよい。即ち、命令を解読して制御情報 を出力する命令制御部を更に有し、前記命令制御部は前記複数個のデータ処 理部に演算動作の為の制御情報を並列的に供給可能にされる。 異なる処理を 並列化する場合は上記デ一夕処理装置に M I MD形式を採用すればよい。  In the case of specializing in processing a large number of data blocks that are expected to go through the same data processing step, a SIMD form may be adopted for the data processing device. That is, the apparatus further includes an instruction control unit that decodes an instruction and outputs control information, and the instruction control unit is configured to be able to supply control information for an arithmetic operation to the plurality of data processing units in parallel. . If different processes are to be parallelized, the MIMD format may be used for the data processing unit.
S I M E)形式を採用する場合、 データ処理装置に、誤り訂正を行う誤 り訂正プログラムを格納したプログラムメモリを設け、 前記制御部は前記 プログラムメモリから命令をフェッチし、 前記データ処理部を用いて誤り訂 正処理を行うように構成することが可能である。例えば、前記データ処理部 に、ガロア体の乗算と加算を行なうことができるガロァ体演算回路を含め、 前記制御部に前記ガロア体演算回路を制御させてデータ処理部に誤り訂正処 理を行わせる。  When the SIME format is adopted, the data processing device is provided with a program memory storing an error correction program for performing error correction, the control unit fetches an instruction from the program memory, and uses the data processing unit to execute an error. It can be configured to perform correction processing. For example, the data processing unit includes a Galois field arithmetic circuit capable of performing Galois field multiplication and addition, and the control unit controls the Galois field arithmetic circuit to cause the data processing unit to perform error correction processing. .
また、 前記 S I M D型のデータ処理装置において、 前記制御部が、 デ —夕メモリに格納された未処理データを前記データ処理部に転送制御 し、データ処理部で演算処理された処理済デ一夕を前記データメモリに 転送制御可能であるとき、前記データ処理部による前記演算処理の状況 を監視する監視回路を採用してもよい。前記監視回路は、前記データメ モリに対するアクセスァドレスに基づいて、前記デ一夕メモリに残存す る未処理データ量が一定量を超える状態を外部に通知するための信号 を出力する。 このような外部への状態通知機能によって、 外部から設定 される前記並列度等の処理能力の妥当性を S I MD型データ処理装置の外部 から容易に判断できるようになる。 換言すれば、 データ処理装置の外部状況 と共にデー夕処理装置の内部状態も考慮してデータ処理部の並列度及び動作 速度を制御することが可能になる。 Further, in the SIMD-type data processing device, the control unit controls transfer of unprocessed data stored in a data memory to the data processing unit, and processes the processed data processed by the data processing unit. A monitoring circuit may be employed for monitoring the status of the arithmetic processing by the data processing unit when the transfer of the data to the data memory can be controlled. The monitoring circuit outputs a signal for notifying a state in which the amount of unprocessed data remaining in the data memory exceeds a certain amount to the outside based on an access address to the data memory. The external status notification function enables external setting The validity of the processing capability, such as the degree of parallelism, can be easily determined from outside the SIMD type data processing device. In other words, it is possible to control the degree of parallelism and the operation speed of the data processing unit in consideration of the external state of the data processing device as well as the internal state of the data processing device.
〔5〕上記夫々の観点に立ったデータ処理装置には、 更に以下の構成を 付加して、 半導体集積回路化することができる。  [5] A data processing device based on each of the above aspects can be further integrated into a semiconductor integrated circuit by adding the following configuration.
例えば、 外部からデータを入力する入力回路と、 前記入力回路から入 力されたデータを格納し、格納されたデ一夕が前記データ処理部に与えられ、 データ処理部で演算されたデータを再び格納するデ一夕メモリと、 前記デー 夕メモリに格納されているデータを外部に出力する出力回路とを更に付加す o  For example, an input circuit for inputting data from the outside, data stored from the input circuit are stored, and the stored data is provided to the data processing unit, and the data calculated by the data processing unit is again processed. Further adding a data memory for storing the data and an output circuit for outputting the data stored in the data memory to the outside;
例えば、 前記入力回路は、 入力信号を復調する復調手段と、 復調したデー 夕を前記デ一夕メモリに転送するデータ転送制御手段と含んで構成してもよ い。  For example, the input circuit may include demodulation means for demodulating an input signal and data transfer control means for transferring demodulated data to the data memory.
更にシステムインタフェース手段を付加してもよい。 システムイン夕フエ ース手段は、 前記データ転送制御手段に転送制御条件を設定したり、 前記制 御レジス夕に制御データを設定するのに利用可能である。 図面の簡単な説明  Further, a system interface means may be added. The system interface means can be used to set transfer control conditions in the data transfer control means and to set control data in the control register. BRIEF DESCRIPTION OF THE FIGURES
第 1図は本発明に係るデ一夕処理装置の一例を示すプロック図であ る o  FIG. 1 is a block diagram showing an example of a data processing apparatus according to the present invention.
第 2図はクロック分周回路の一例を示すプロック図である。  FIG. 2 is a block diagram showing an example of a clock frequency dividing circuit.
第 3図は並列度と動作速度の設定状況に応じた処理能力を模式的に 示す説明図である。  FIG. 3 is an explanatory diagram schematically showing the processing capability according to the setting state of the parallelism and the operation speed.
第 4図は監視回路におけるメモリポインタの動作説明図である。  FIG. 4 is an explanatory diagram of the operation of the memory pointer in the monitoring circuit.
第 5図は R S符号の誤り訂正処理の代表的な処理手順を示すフロ一 チヤ一トである。 FIG. 5 is a flowchart showing a typical processing procedure of the error correction processing of the RS code. It is a chart.
第 6図は誤り訂正処理におけるデータ処理部の自立的な待機制御の 第 1の動作例を示すタイミングチャートである。  FIG. 6 is a timing chart showing a first operation example of autonomous standby control of a data processing unit in error correction processing.
第 7図は誤り訂正処理におけるデータ処理部の自立的な待機制御の 第 2の動作例を示すタイミングチャートである。  FIG. 7 is a timing chart showing a second operation example of the autonomous standby control of the data processing unit in the error correction processing.
第 8図は誤り訂正処理におけるデータ処理部の並列度を変更した場 合の動作例を示すタイミングチャートである。  FIG. 8 is a timing chart showing an operation example when the degree of parallelism of the data processing unit in the error correction processing is changed.
第 9図は誤り訂正処理に好適なデータ処理部の詳細な一例を示すブ 口ック図である。  FIG. 9 is a block diagram showing a detailed example of a data processing unit suitable for error correction processing.
第 1 0図はデータ処理装置の更に詳細な一例である D V Dコントロ ーラを備えた D V Dドライブシステムのブロック図である。  FIG. 10 is a block diagram of a DVD drive system having a DVD controller, which is a more detailed example of a data processing device.
第 1 1図は D V D ドライブシステムを全体的に示すプロック図であ る o  Fig. 11 is a block diagram showing the entire DVD drive system.
第 1 2図は第 1 1図の D V D ドライブシステムのシステム動作フロ —チャートである。  FIG. 12 is a system operation flow chart of the DV drive system of FIG.
第 1 3図は M I M D型のデータ処理装置の一例を示すプロック図で ある。  FIG. 13 is a block diagram showing an example of a MIMD type data processing device.
第 1 4図は更に別のデータ処理装置を例示するプロック図である。 発明を実施するための最良の形態  FIG. 14 is a block diagram illustrating still another data processing device. BEST MODE FOR CARRYING OUT THE INVENTION
《データ処理装置の概要》  《Overview of data processing device》
第 1図には本発明に係るデータ処理装置の一例が示される。同図に示 されるデータ処理装置 1 Aは、 特に制限されないが、 周辺コントロ一ラ として位置付けられる半導体集積回路であり、単結晶シリコンのような 1個の半導体チップに形成されている。 このデ一夕処理装置 1 Aは、特 に制限されないが、 エラー訂正回路 2、 システムィン夕フェース回路 3、 メモリインタフェース回路 4、 入力回路 5及び出力回路 6を含む。 それ ら回路はローカルデ一夕パス L D B、ローカルァドレスバス L A B及び ローカルコントロールバス L C Bを共有する。 FIG. 1 shows an example of a data processing device according to the present invention. Although not particularly limited, the data processing device 1A shown in the figure is a semiconductor integrated circuit positioned as a peripheral controller, and is formed on one semiconductor chip such as single crystal silicon. Although the data processing device 1A is not particularly limited, the error correction circuit 2, the system interface circuit 3, Includes memory interface circuit 4, input circuit 5, and output circuit 6. These circuits share the local data path LDB, local address bus LAB and local control bus LCB.
前記システムィン夕フェース回路 3には例えば図示を省略するマイ クロコンピュー夕などのシステムコントローラが接続され、メモリィン 夕フヱース回路 4にはデ一夕バッファ等に利用されるデータメモリ 7 が接続される。入力回路 5は例えば受信デ一夕又はディスクからの読取 りデ一夕を復調してデータメモリ 7に格納する。エラー訂正回路 2はデ 一夕メモリ 7に格納されたデータを読み込んでエラーチエツクを行い、 誤りのあるデータに対してはエラー訂正を施し、訂正デ一夕をデータメ モリに書き戻す。 出力回路 6は、 エラ一チェック及びエラー訂正を経た デ一夕をデ一夕メモリ 7から読み込み、 必要な処理を行って、 外部に出 力する。外部と半導体集積回路との間には、 図示されていない端子が設 けられており、 この外部端子を介して、 データ処理装置 1 Aは外部との デ一夕 (信号) の送受を行う。  The system interface circuit 3 is connected to a system controller such as a microcomputer (not shown), and the memory interface circuit 4 is connected to a data memory 7 used as a data buffer or the like. The input circuit 5 demodulates the received data or the data read from the disk, for example, and stores the data in the data memory 7. The error correction circuit 2 reads the data stored in the memory 7 for error checking, performs error correction on the erroneous data, and writes the corrected data back to the data memory. The output circuit 6 reads the data after error check and error correction from the data memory 7, performs necessary processing, and outputs the processed data to the outside. A terminal (not shown) is provided between the outside and the semiconductor integrated circuit, and the data processing device 1A transmits and receives data (signal) to and from the outside via the external terminal.
前記エラ一訂正回路 2は、 特に制限されないが、 S I M D形態でデ一 夕処理を行う。即ち、相互に同一の回路構成を有する複数個のデ一夕処 理部 2 0 - 1 - 2 0— nと、各データ処理部 2 0— 1〜2 0— nに共通 の命令制御部 2 1を有する。各データ処理部 2 0—:!〜 2 0— nは、 演 算回路 2 2、 バッファメモリ 2 3及び待機制御回路 2 6を有する。命令 制御部 2 1は、プログラムメモリ 2 4に格納された動作プログラムに従 つて、データメモリ Ίと各バッファメモリ 2 3との間のデ一夕転送制御 と、 各データ処理部 2 0— 1〜2 0— nの演算制御を行う。例えば、 入 力回路 5がデータメモリ 7に所定量のデ一夕を格納したとき、命令制御 部 2 1にエラー訂正処理を要求する。これを受けた命令制御部 2 1は、 プログラムメモリ 2 4からフェッチした命令を解読し、デ一夕メモリの デ一夕に対して、 デ一夕ロード処理、 演算処理、 デ一夕ストア処理の動 作を繰り返す。データロード処理では、 予めシステムコントロ一ラによ つて初期設定された転送制御条件に従って、デ一夕メモリ 7からパッフ ァメモリ 2 3にデータを転送する。演算処理では、演算回路 2 2を用い てバッファメモリ 2 3のデータに対してエラ一チェックを行い、誤りの あるデータに対してはエラ一訂正の演算処理を行う。データストァ処理 では、エラ一訂正されたデータをバッファメモリ 2 3からデ一夕メモリ 7に書き戻す処理を行う。前記演算処理は、命令制御部 2 1から夫々の データ処理部 2 0— 1〜2 0 — nに共通に与えられる演算制御信号 2 5に基づいて並列的に実行可能にされている。この並列的な演算処理に よって演算処理能力が向上されている。 Although not particularly limited, the error correction circuit 2 performs the decoding process in the SIMD form. That is, a plurality of data processing units 20-1 through 20-n having the same circuit configuration as each other, and an instruction control unit 2 common to the data processing units 20-1 to 20-n. With one. Each data processing unit 20— :! 20 to n have an arithmetic circuit 22, a buffer memory 23, and a standby control circuit 26. The instruction control unit 21 controls the data transfer between the data memory Ί and each buffer memory 23 according to the operation program stored in the program memory 24, and controls each data processing unit 20-1 to Performs arithmetic control of 2 0—n. For example, when the input circuit 5 stores a predetermined amount of data in the data memory 7, it requests the instruction control unit 21 to perform an error correction process. Upon receiving this, the instruction control unit 21 decodes the instruction fetched from the program memory 24, and The operation of load processing, calculation processing, and store processing is repeated for data storage. In the data loading process, data is transferred from the data memory 7 to the buffer memory 23 in accordance with the transfer control conditions initially set by the system controller in advance. In the arithmetic processing, an error check is performed on the data in the buffer memory 23 using the arithmetic circuit 22, and an error correction arithmetic processing is performed on the erroneous data. In the data store process, a process of writing back the error-corrected data from the buffer memory 23 to the data memory 7 is performed. The arithmetic processing can be executed in parallel based on an arithmetic control signal 25 commonly provided from the instruction control unit 21 to each of the data processing units 20-1 to 20-n. The arithmetic processing capability is improved by this parallel arithmetic processing.
《データ処理部の動作速度可変制御》  《Variable operation speed control of data processing unit》
上記エラー訂正回路 2における演算速度の可変制御について説明す The variable control of the operation speed in the error correction circuit 2 will be described.
'S o 'S o
エラ一訂正回路 2はクロック信号 C L Kに同期して動作される。クロ ック信号 C L Kの周波数はクロック分周回路(速度制御部) 3 0で選択 される分周比により決定される。即ち、 クロック分周回路 3 0はクロッ クパルスジェネレータ (C P G ) 3 1で生成される基本クロック信号 ø を分周し、 クロック信号 C L Kの周波数を動作速度レジス夕 (第 2の制 御レジスタ) 3 2の値に従って制御する。動作速度レジス夕 3 2には、 システムィン夕フェース回路 3及び外部端子 (図示せず) を介して、 外 部から速度制御デ一夕 (第 2の制御データ) が設定される。例えば、 第 2図に示されるように、分周器 3 0 Aは基本クロック信号 øを分周して 分周信号 0 2 , φハ, を生成し、 この内の 1つを、 動作速度 レジス夕 3 2の設定値に従ってセレクタ 3 0 Bで選択し、選択した分周 信号を前記クロック信号 C L Kとして出力する。クロック信号 C L Kは 詳細を後述するアンドゲート 4 3—:!〜 4 3— nを介して各データ処 理部 2 0— 1〜2 0— nに供給される。 The error correction circuit 2 is operated in synchronization with the clock signal CLK. The frequency of the clock signal CLK is determined by the frequency division ratio selected by the clock frequency divider (speed controller) 30. That is, the clock divider circuit 30 divides the frequency of the basic clock signal ø generated by the clock pulse generator (CPG) 31 and changes the frequency of the clock signal CLK to the operating speed register (second control register) 3. Control according to the value of 2. In the operating speed register 32, a speed control data (second control data) is externally set via the system interface circuit 3 and an external terminal (not shown). For example, as shown in FIG. 2, the frequency divider 30 A divides the basic clock signal ø to generate frequency-divided signals 0 2, φc, and divides one of these signals into an operating speed register. In the evening, the selector 30B selects the frequency-divided signal according to the set value of 32 and outputs the selected frequency-divided signal as the clock signal CLK. The clock signal CLK is And gate 4 3— :! Are supplied to the respective data processing units 20-1 to 20-n via .about.43-n.
《データ処理部毎の待機制御》  << Standby control for each data processing unit >>
前記待機制御回路 2 6は、命令制御部 2 1から供給される前記制御信 号 2 5に従った演算部 2 2による演算結果に応じてデータ処理部 2 0 一 1〜2 0— nを個別的に待機状態に制御するか否かを判定し、待機状 態とする場合には、 対応する待機制御信号 2 7 - i ( i = l〜! 1 ) を論 理値 " 0 "にする。待機制御信号 2 7— iはアンドゲート 4 2— iに入 力され、アンドゲート 4 2— iの出力は前記アンドゲート 4 3— iに入 力され、クロック信号 C L Kの出力を決定するゲート制御信号とされる。 したがって、 待機制御信号 2 7 - iが論理値 " 0 "にされると、 その待 機制御信号 2 7 - iに対応されるデ一夕処理部 2 0— iへのクロック 信号 C L Kの供給が停止され、当該データ処理部 2 0— iの動作が休止 され、待機状態にされる。待機状態にされたデータ処理部 2 0— iに対 する待機状態解除は、命令制御部 2 1が制御信号 2 5で待機制御回路 2 6をリセットすることによって行われる。待機制御回路 2 6がリセッ ト されると、 待機制御信号 2 7 - iは論理値 " 1 " にされ、 そのデータ処 理部 2 0— iにはクロック信号 C L Kの供給が再開される。  The standby control circuit 26 individually separates the data processing units 210-1 to 20-n according to the operation result of the operation unit 22 according to the control signal 25 supplied from the instruction control unit 21. It is determined whether or not to control in a standby state, and when the state is set to the standby state, the corresponding standby control signal 27-i (i = l ~! 1) is set to the logical value "0". The standby control signal 27-i is input to the AND gate 42-i, and the output of the AND gate 42-i is input to the AND gate 43-i to determine the output of the clock signal CLK. Signal. Therefore, when the standby control signal 27-i is set to the logical value "0", the supply of the clock signal CLK to the data processing unit 20-i corresponding to the standby control signal 27-i is stopped. The operation is stopped, the operation of the data processing unit 20-i is stopped, and the data processing unit 20-i is put into a standby state. The release of the standby state for the data processing unit 20-i in the standby state is performed by the instruction control unit 21 resetting the standby control circuit 26 with the control signal 25. When the standby control circuit 26 is reset, the standby control signal 27-i is set to the logical value "1", and the supply of the clock signal CLK to the data processing unit 20-i is restarted.
例えば、 データ処理部 2 0— iがエラ一訂正処理を開始して、誤りの 有無を調べた結果、誤りの無いデ一夕系列を処理するデータ処理部 2 0 一 iでは、待機制御回路 2 6がその状態を判定することにより、 自ら待 機状態に遷移することができる。 これにより、無駄な電力消費を削減で きる。 また、全てのデータ処理部 2 0— 1〜2 0 _ nが一斉に待機状態 になったときは、 この状態を命令制御部 2 1に検出させるこにより、命 令制御部 2 1は、全てのデータ処理部 2 0— 1〜2 0— nの待機状態を キャンセルし、無駄な待機サイクルを省いて、演算処理効率を向上させ ることができる。 For example, as a result of the data processing unit 200-i starting the error correction process and checking for the presence or absence of an error, the data processing unit 200-1i that processes the error-free data sequence has a standby control circuit 2 6 can determine the state and transition to the standby state by itself. Thereby, useless power consumption can be reduced. Further, when all the data processing units 20-1 to 20_n enter the standby state at once, the instruction control unit 21 detects this state, so that the instruction control unit 21 Data processing unit 20 0-1 to 20 0-n cancels the standby state, eliminates unnecessary standby cycles, and improves arithmetic processing efficiency. Can be
《データ処理部の並列度制御》  << Parallelism control of data processing unit >>
前記アンドゲート 4 2— 1〜4 2— nには並列度レジスタの設定値 が供給され、 これによつて、前記アンドゲート 4 2— 1〜4 2— nとァ ンドゲート 4 3— 1〜4 3— nはデータ処理部 2 0— 1〜 2 0— nの 並列度制御部 4 0を構成している。前記並列度レジスタ 4 1は、 システ ムィン夕フェース回路 3及び外部端子 (図示せず) を介して、 外部から 並列度制御データ (第.1の制御デ一夕) が設定される。並列度制御デー 夕は、前記データ処理部 2 0— 1〜 2 0— nに 1対 1対応する複数ビッ トを有し、各ビットは 2入力アンドゲ一ト 4 2—:!〜 4 2— nの一方の 入力とされる。 この並列度制御データは、 論理値 " 1 "で動作を指示す る。 したがって、 データ処理部 2 0— iは、 並列度制御データの対応ビ ッ トが論理値 " 1 "であることを必要条件として、 動作可能にされる。 上記より、並列度レジス夕 4 1に設定された制御デ一夕の対応ビッ ト が論理値 " 1 "とされるデ一夕処理部にはクロック信号 C L Kが供給さ れ、供給されるクロック信号 C L Kの周波数は動作速度レジス夕 3 2に 設定されている制御デ一夕に従って決定される。 これにより、 デ一夕処 理部 2 0 - 1 - 2 0— nにおける並列動作の並列度と、クロック信号 C L Kの周波数を、 外部より決めることができる。  The set value of the parallel degree register is supplied to the AND gates 4 2-1 to 4 2-n, whereby the AND gates 4 2-1 to 4 2-n and the AND gates 4 3-1 to 4-4 are supplied. 3—n constitutes a parallelism control unit 40 of the data processing units 20—1 to 20—n. In the parallel degree register 41, parallel degree control data (first control data) is set from the outside through the system interface circuit 3 and an external terminal (not shown). The parallel degree control data has a plurality of bits corresponding one-to-one to the data processing units 20-1 to 20-n, and each bit is a 2-input AND gate 42- :! ~ 4 2—This is one input of n. This parallelism control data indicates an operation with a logical value "1". Therefore, the data processing section 20-i is enabled to operate on the condition that the corresponding bit of the parallelism control data is a logical value "1". From the above, the clock signal CLK is supplied to the data processing unit in which the corresponding bit of the control data set in the parallelism register 41 is set to the logical value "1", and the supplied clock signal CLK is supplied. The CLK frequency is determined according to the control data set in the operating speed register 32. As a result, the degree of parallelism of the parallel operation in the data processing unit 20-1-20-n and the frequency of the clock signal CLK can be externally determined.
前記並列度の変更は、エラ一訂正回路 2における演算処理タイミング を考慮しなければならない。データ処理部 2 0— 1〜2 0— nの並列度 の変更は、 予め、 一連の処理に先立って制御することに適している。 並 列演算処理の途中で並列度を変更すると、往々にして、 当初処理される 予定のデータが処理されなくなる事態を生じ易いからである。例えば、 全てのデータ処理部 2 0— 1〜 2 0 — nのバッファメモリ 2 3に演算 データをストァした後、誤りの有無判定後に誤り訂正ステツプを実行し ている途中で、 並列度を変更すると、誤り訂正ステップを実行すべき一 部のデ一夕が演算対象から除外されてしまう虞がある。システムコント ローラは並列演算処理の進渉状態に応じて途中で並列度を変更しない ようにすればよい。 こうすれば、 並列度を変更してもデータ処理部 2 0 — 1〜2 0— nの演算制御プログラムの変更は一切必要ない。 The change in the degree of parallelism must take into account the operation processing timing in the error correction circuit 2. The change in the degree of parallelism of the data processing units 20-1 to 20-n is suitable for control in advance prior to a series of processes. If the degree of parallelism is changed in the middle of the parallel processing, it is often easy for data to be initially processed to be lost. For example, after storing the operation data in the buffer memories 23 of all the data processing units 20-1 to 20-n, the error correction step is executed after determining whether there is an error. If the degree of parallelism is changed during the execution, there is a possibility that some data to be subjected to the error correction step may be excluded from the calculation. The system controller should not change the degree of parallelism on the way according to the progress of the parallel processing. In this case, even if the degree of parallelism is changed, there is no need to change the operation control program of the data processing units 20-1 to 20-n.
一方、 クロック周波数の変更は、 並列度の変更とは独立に、 一連の処 理途中であっても行うことが可能である。  On the other hand, the clock frequency can be changed even during a series of processing independently of the change in the degree of parallelism.
データ処理部の並列度と動作速度の双方を外部条件に従って制御すること により、 第 3図に例示されるように、 データ処理装置 1 Aのデ一夕処理能力 及び電力消費を、 並列度と動作速度の二つの観点に基づいて更に木目細かく 外部で制御することが可能になる。  By controlling both the degree of parallelism and the operation speed of the data processing unit in accordance with external conditions, as shown in FIG. 3, the data processing unit 1A can reduce the data processing capacity and power consumption to the degree of parallelism and operation. Based on the two aspects of speed, it becomes possible to control the outside more finely.
《処理能力の監視》  《Monitoring of processing capacity》
第 1図において 5 0で示されるものは監視回路である。この監視回路 5 0は、 前記データメモリ 7に対するアクセスァドレスに基づいて、 前 記データメモリ Ίに残存する未処理デ一夕量が一定量を超える状態を 外部に通知するための信号 (外部待機信号) 5 5を出力する。 第 1図に 従えば、 監視回路 5 0は、 入力データボイン夕 (ボイン夕値 P i ) 5 1、 処理中データボイン夕(ボイン夕値 p e ) 5 2、出力データポィン夕(ポ インタ値 P o ) 5 3、 及びコンパレー夕 5 4を有する。 前記入力ボイン 夕 5 1は前記入力回路 5がデ一夕メモリ 7に順次デ一夕を格納すると きのメモリアドレスをローカルァドレスパス L A B経由で逐次貯えて いく。処理中データポインタ 5 2は、 命令制御部 2 1が前記ロード処理 によってバッファメモリ 2 3に順次デ一夕メモリからデータを格納す るときのメモリアドレスを口一カルァドレスバス L A B経由で逐次貯 えていく。 出力データポインタ 5 3は、 前記出力回路 5がデ一夕メモリ 7からデ一夕を順次出力するときのメモリアドレスをローカルァドレ スバス LAB経由で逐次貯えていく。上記におけるデータメモリ 7のァ クセスは連続的なメモリァドレスに対して順番に行なわれる。デ一タメ モリ 7の末尾のァドレスに対するアクセスの次は、先頭ァドレスに戻つ てアクセスが行われる。換言すれば、 デ一夕メモリ 7はリングバッファ として利用される。前記コンパレ一夕 5 4は、 出力データボイン夕値 P oが入力データボイン夕値 P iの直前まで追いついた状態を検出する。 換言すれば、 P i = P o +ひであるか否かを検出する。 ひは所定の定数 である。 P i = P o +ひを検出したとき、 外部待機信号 5 5を論理値 "1 "にアサートする。 この状態は、 有限の記憶容量を持つデータメモ リ Ίに残存する未処理データ量が一定量を超え、更にデ一夕を入力すれ ば、 リングバッファの性質上、新たに入力される未処理データによって 処理済みデータが上書きされる状態である。換言すれば、 データ処理部 2 0 - 1〜2 0— nのデータ処理能力が低すぎることを意味する。 In FIG. 1, reference numeral 50 denotes a monitoring circuit. Based on the access address to the data memory 7, the monitoring circuit 50 provides a signal (external standby signal) for notifying the outside that the unprocessed data amount remaining in the data memory # exceeds a certain amount. ) 5 5 is output. According to Figure 1, the monitoring circuit 5 0, the input data Boyne evening (Boyne evening value P i) 5 1, processing the data Boyne evening (Boyne evening value p e) 5 2, output data Poin evening (pointer value P o) 53, and a comparée 54. The input bus 51 stores the memory addresses when the input circuit 5 sequentially stores the data in the data memory 7 via the local address path LAB. The in-process data pointer 52 sequentially stores the memory address when the instruction control unit 21 sequentially stores data from the temporary memory to the buffer memory 23 by the load processing via the single-address-address bus LAB. Go. The output data pointer 53 is a local address for the memory address when the output circuit 5 sequentially outputs data from the data memory 7. It is stored sequentially via Subas LAB. The access of the data memory 7 in the above is performed sequentially for successive memory addresses. Following access to the last address of data memory 7, access is made back to the first address. In other words, the memory 7 is used as a ring buffer. The comparator 54 detects a state in which the output data bottle evening value Po has caught up to just before the input data bottle evening value Pi. In other words, it is detected whether P i = P o + h. Is a predetermined constant. When P i = P o + h is detected, the external standby signal 55 is asserted to the logical value “1”. In this state, if the amount of unprocessed data remaining in the data memory 有限 with finite storage capacity exceeds a certain amount, and if the data is further input, the newly input unprocessed data will be lost due to the nature of the ring buffer. In this state, the processed data is overwritten. In other words, it means that the data processing capacity of the data processing units 20-1 to 20-n is too low.
第 4図には前記ボイン夕の状態を場合分けして示してある。デ一タメ モリ 7をリングバッファとして利用するとき、処理対象デ一夕の入カレ 一トに対してデータ処理部 2 0—:!〜 2 0— nにおけるデータ処理能 力が適切であれば、 第 4図の ( 1 )、 ( 2 )、 ( 3 ) に示されるように、 P 0 <P iを維持しながら、 ボイン夕値 P o, P e , P iが推移する。 しかしながら、 データ処理能力が不足している場合には、 (4) のよう に P o = P iとなり、 ( 5 )のように P oを P iが追い越して P o >P iになる。 この状態は、処理を終えて読み出すべきデ一夕が読み込んだ データによって破壊される事を意味する。  FIG. 4 shows the state of the boyne evening separately. When the data memory 7 is used as a ring buffer, the data processing unit 20— :! If the data processing capability at ~ 20-n is appropriate, as shown in (1), (2), and (3) in Fig. 4, while maintaining P 0 <P i, P o, P e, and P i change. However, if the data processing capacity is insufficient, P o = P i as shown in (4), and P o exceeds P o and P o> P i as shown in (5). This means that the data to be read after processing is destroyed by the read data.
前記外部待機信号 5 5は第 4図の ( 5 ) の状態に成る直前に論 S値 "1 "にアサートされる。外部待機信号 5 5はシステムコントロ一ラに 与えられる。 システムコントローラは、 外部待機信号 5 5のアサ一ト状 態を検出すると、所定のタイミングで並列度レジスタ 4 1の値を変更し てデータ処理部の並列度を増やしてエラー訂正回路 2の処理能力を向 上させる。 更に、 直ぐに、 動作速度レジス夕 3 2の値を変更して、 エラ —訂正回路 2の動作速度を早くする。或いは、入力回路 5に対する入力 動作を行なう図示を省略する外部回路を待機状態とする。これによつて、 システム全体としてのエラーを回避することができる。 The external standby signal 55 is asserted to the S value "1" immediately before the state of (5) in FIG. 4 is reached. The external standby signal 55 is given to the system controller. When detecting the assert state of the external standby signal 55, the system controller changes the value of the parallelism register 41 at a predetermined timing. To increase the parallelism of the data processing unit and improve the processing capability of the error correction circuit 2. Further, immediately change the value of the operating speed register 32 to increase the operating speed of the error correction circuit 2. Alternatively, an external circuit (not shown) that performs an input operation to the input circuit 5 is set in a standby state. As a result, errors in the entire system can be avoided.
このような外部への状態通知機能によって、 外部から設定される前記 並列度等の処理能力の妥当性を S I MD型データ処理装置 1 Aの外部から容 易に判断できるようになる。 換言すれば、 データ処理装置 1 Aの外部の状況 と共にデータ処理装置 1 Aの内部状態も考慮してデータ処理部 2 0— 1〜2 0— nの並列度及び動作速度を制御することが可能になる。  Such an external status notification function makes it possible to easily determine the validity of the processing capability such as the degree of parallelism set from the outside from the outside of the SIMD type data processing device 1A. In other words, the degree of parallelism and operation speed of the data processing units 20-1 to 20-n can be controlled in consideration of the external state of the data processing device 1A as well as the internal state of the data processing device 1A. become.
第 1図の構成では、 前記ボインタ 5 1, 5 2, 5 3はシステムィン夕 フエース回路 3を介して外部から直接リ一ド可能になている。したがつ て、 システムコントローラは、 ローカルパス L D B, L A B , L C Bの 空きサイクルを利用して、 前記ボインタ 5 1, 5 2 , 5 3の値を直接参 照し、 これに応じて、 データ処理部 2 0— 1〜2 0— nの並列度の増減、 クロック周波数の高低を制御することができる。例えば、処理済みで出 力していないデ一夕が多い場合は、 並列度を低下させて、消費電力を低 減することができる。 このように、 ポインタ 5 1, 5 2, 5 3を外部か ら参照可能にすれば、 外部待機信号 5 5とは別に、所望の観点から演算 処理能力を判定でき、これに従って並列度やクロック周波数の制御が可 能になる。  In the configuration shown in FIG. 1, the pointers 51, 52, and 53 can be directly read from the outside via the system interface circuit 3. Therefore, the system controller directly refers to the values of the pointers 51, 52, and 53 using the empty cycles of the local paths LDB, LAB, and LCB, and accordingly, the data processing unit. It is possible to control the increase / decrease of the degree of parallelism of 20-0-1 to 20-0-n and the level of the clock frequency. For example, if there are many processed data that have not been output, the parallelism can be reduced to reduce power consumption. In this way, if the pointers 51, 52, and 53 can be referred to from outside, the processing capacity can be determined from a desired viewpoint separately from the external standby signal 55, and the degree of parallelism and clock frequency can be determined accordingly. Control becomes possible.
実際のエラ一訂正では、発生する誤りは、 そのエラー訂正符号で想定 される最大の誤りより、 少ないことが殆どであるから、 エラ一訂正処理 能力も常に最大である必要はない。図 1のデータ処理装置 1 Aにおいて、 通常はエラ一訂正回路 2の演算処理能力を低くし、 ポインタ 5 1, 5 2, 5 3の内容、 或いは外部待機信号 5 5の値に従って、未処理のデ一夕が 多くなつた時点で、 処理能力を高くすればよい。 また、 処理済みのデー 夕が多くなつた時点で、処理能力を低くすることができる。 これによつ て、 デ一夕の内容、 換言すれば、 必要な処理能力に応じて、 平均的な消 費電力を低減することができる。 In actual error correction, the number of generated errors is almost always smaller than the maximum error assumed in the error correction code, so that the error correction processing capability does not need to be always maximum. In the data processing device 1A shown in FIG. 1, the processing capacity of the error correction circuit 2 is usually reduced, and the unprocessed data is processed according to the contents of the pointers 51, 52, 53 or the value of the external standby signal 55. Night At that point, the processing capacity should be increased. In addition, when the number of processed data increases, the processing capacity can be reduced. As a result, the average power consumption can be reduced according to the contents of the night, in other words, the required processing capacity.
《誤り訂正処理例》  《Example of error correction processing》
前記誤り訂正回路 2における R S符号の誤り訂正処理について一例 を説明する。 前記命令制御部は R I S C(R e d u c e d I ns t r uc t i on Se t C o mp u t e r )命令をサポートする。 S I MD型の誤り訂正回路 2における各データ処理部 20— 1〜20— n は、 演算回路 22にガロア体の乗算器と加算器を有する。  An example of the error correction processing of the RS code in the error correction circuit 2 will be described. The instruction control unit supports a RISC instruction (ReducedInsntRuction on SetCommuter). Each of the data processing units 20-1 to 20-n in the S I MD type error correction circuit 2 includes a Galois field multiplier and an adder in the arithmetic circuit 22.
誤り訂正時には、まず誤りの有無を調べるシンドローム演算を行い、 誤りがある場合のみ、 ユーグリッ ド互除、 チヱ一ンサーチ、 誤り数値計 算等、 一連の誤り訂正が行われる。 ここで、 誤りの有無を調べる時間を T 1、 誤り訂正を行う時間を T 2、 とすれば、 誤り無しの場合の処理時 間は Tn = T 1、誤り有りの場合の処理時間は T y = T l +T 2、 とな る。 よって、 誤り無しの場合は Tn = Tyとなるように、 並列度を少な くし、 或いは動作速度を遅くして、 処理能力を落としてもよい。処理能 力の低下によって消費電力を減らすことができるために、エラ一が少な ければ少ないほど消費電力を低減できる。  At the time of error correction, first, a syndrome operation to check for errors is performed, and only when there is an error, a series of error corrections such as Euclidean algorithm, chain search, and numerical error calculation are performed. Here, assuming that the time to check for an error is T 1 and the time to perform error correction is T 2, the processing time without error is Tn = T 1 and the processing time with error is T y = Tl + T2. Therefore, when there is no error, the processing capability may be reduced by reducing the degree of parallelism or reducing the operation speed so that Tn = Ty. Since the power consumption can be reduced by lowering the processing capacity, the smaller the error, the lower the power consumption.
第 5図には R S符号の誤り訂正の代表的な処理フローが例示される。 同図において、 長円で囲まれた記載は処理内容を示し、長方形で囲まれ た記載は出力デ一夕を示す。誤り訂正の処理フローは、 デ一夕転送 10 0 1、 シンドローム計算 1002、 誤りの有無判定 1003、 ユークリ ッ ド互除法 1004、 チェンサーチ 1005、誤り数値計算 1006、 訂正 1007の各処理から成る。  FIG. 5 illustrates a typical processing flow of the error correction of the RS code. In the figure, the description enclosed in an oval indicates the processing content, and the description enclosed in a rectangle indicates the output data. The error correction processing flow consists of data transfer 1001, syndrome calculation 1002, presence / absence judgment 1003, Euclidean algorithm 1004, Chien search 1005, error numerical calculation 1006, and correction 1007.
デ一夕転送 1001は、処理対象デ一夕を S I MD型の並列処理に適 した形式で、 換言すれば指定されている並列度に従って、 デ一夕メモリ 7からバッファメモリ 2 3に配列する処理である。シンドローム計算 1 0 0 2は、 一連の受信符号 (r 0から r 2 5 5 ) 2 0 0 1を入力とし、 シンドローム多項式の係数 2 0 0 2を算出する。 ここで、 シンドローム 多項式の係数 2 0 0 2が、全てゼロであれば受信符号に誤りがないこと が分かる。誤りがないことが分かった場合は以下の処理を省略して終了 し、 誤りがあることが分かった場合は、 訂正処理を始める。最初にュ一 クリヅド互除法 1 0 0 4により、シンドローム多項式 2 0 0 2から誤り 位置多項式 2 0 0 3と誤り数値多項式 2 0 0 4を算出する。誤り位置多 項式 2 0 0 3の根を、チェンサーチ 1 0 0 5で求めることによって誤り の位置 2 0 0 5が求められる。 このとき、誤りの位置 2 0 0 5が実際に あり得ないような値で求められた場合には、符号の訂正能力を上回る誤 りが発生していることが分かる。 このときは、 訂正不能であることを出 力し、以下の処理を省略して終了する。誤りの位置が適切に求められた 場合には、 それを基にして、 誤りの数値 2 0 0 6を計算し、 訂正 1 0 0 7を行って終了する。 Data transfer 1001 is suitable for SIMD type parallel processing. In this format, in other words, the data is arranged from the memory 7 to the buffer memory 23 in accordance with the specified degree of parallelism. The syndrome calculation 1002 receives a series of received codes (r0 to r255) 2001 as input, and calculates a syndrome polynomial coefficient 2002. Here, it can be seen that if the coefficient 200 2 of the syndrome polynomial is all zero, there is no error in the received code. If it is found that there is no error, omit the following processing and terminate. If it is found that there is an error, start the correction processing. First, an error locator polynomial 2003 and an error numerical polynomial 2004 are calculated from the syndrome polynomial 2002 by the algorithm of algorithmic algorithm 104. The root of the error locator polynomial 2003 is found by Chien search 1005, so that the error location 205 is found. At this time, if the error position 20005 is obtained with a value that cannot actually exist, it can be understood that an error that exceeds the code correction capability has occurred. In this case, it outputs that it cannot be corrected, and skips the following processing and ends. If the position of the error is found appropriately, the numerical value of the error 206 is calculated based on the error, the correction 1007 is performed, and the process is terminated.
例えば記録媒体からの読取りデータに対する誤り訂正処理は処理単 位である複数セクタのデータを一群の符号系列として処理するのが効 率的である。従って、 受信符号の誤り訂正処理も、 ガロア体演算器を備 えた一つのデータ処理部毎に前記一群の符号系列毎のデータの誤り訂 正を行うのが得策である。例えば n個のデ一夕処理部 2 0—:!〜 2 0— nの全てを用いる場合には、 n個の受信符号系列を同時並行に処理する ことができる。デ一夕処理部の数を変えることによって、基本的な処理 フローの変更なしに処理性能を変えることができる。  For example, in an error correction process for data read from a recording medium, it is efficient to process data of a plurality of sectors as a processing unit as a group of code sequences. Therefore, it is also advisable to correct the error of the received code for each data processing unit provided with the Galois field arithmetic unit, for each group of code sequences. For example, n data processing units 20— :! In the case of using all of ~ 20-n, n received code sequences can be processed simultaneously and in parallel. By changing the number of data processing units, the processing performance can be changed without changing the basic processing flow.
第 6図には誤り訂正処理におけるデータ処理部の自立的な待機制御 の第 1の動作例を示す。第 6図には、 4個のデータ処理部 2 0 _ 1、 2 0— 2、 20 - 3, 及び 20 -4を用いて、 4個の受信符号系列 200 1を同時並行に処理する場合の処理フローが摸式的に示されている。第 6図において、 GP E 0 ( 20— 1 )〜GP E 3( 2 0 - 4 )は並列された 4個のデ一夕処理部を示し、縦方向に時間の経過と共に、各々のデ一夕 処理部 20— 1〜20— 4で実行される処理を示してある。 FIG. 6 shows a first operation example of the autonomous standby control of the data processing unit in the error correction processing. Fig. 6 shows four data processing units 20_1 and 2 A processing flow when four received code sequences 2001 are processed simultaneously and in parallel using 0-2, 20-3, and 20-4 is shown schematically. In FIG. 6, GP E 0 (20-1) to GP E 3 (20-4) indicate four parallel data processing units, and each of the data processing units in the vertical direction elapses with time. Evening The processing executed by the processing units 20-1 to 20-4 is shown.
第 6図では、 4個入力される受信符号系列 200 1のうち 1個でも誤 りが検出されれば、誤りの検出されなかったデータ処理部を待機状態 1 099にして、 訂正までの処理を実行するフローを示している。データ 処理部 GP E 0 ( 2 0 - 1 )に入力された受信符号系列 200 1には訂 正できる範囲内の誤りが発生し、デ一夕処理部 GP E 1 (20— 2 )に入 力された受信符号系列 200 1には訂正できる範囲を越えた誤りが発 生し、データ処理部 GPE 2(20— 3 )及び GPE 3 ( 20— 4 )に入力 された受信符号系列 2 00 1には誤りが発生しなかった場合の処理フ ローである。 データ転送 1 00 1、 シンドローム計算 1 002、 誤り有 無の判定 1 003、までは全てのデータ処理部 2 0— 1 , 20— 2, 20 — 3, 20— 4で無条件に処理が実行される。 この例では、 誤りがある ことが分かったデータ処理部 GP E 0 ( 2 0 - 1 )とデータ処理部 GP E 1 (20— 2 )では、 後続の誤り訂正処理が行われる、 一方、 データ処 理部 GPE 2 ( 2 0— 3 )とデータ処理部 GP E 3 ( 2 0— 4 )で誤りが なかったことが検出されるので、デ一夕処理部 GP E 2 ( 20— 3 )とデ —夕処理部 GPE 3(20— 4 )はその間待機状態 1 0 99になる。ユー クリッド互除法 1 004、 誤り数値計算処理 1 00 6の結果、符号の訂 正能力を越えた誤りが発生していることが判明したデータ処理部 G P E 1 (20— 2 )は、 以後の誤り数値計算 1 006、 訂正 1 007の間、 待機状態 1 0 9 9になってデータ処理部 GP E 0 ( 2 0 - 1 )の処理が 終了するのを待つ。 この場合、 全てのデータ処理部 20— 1, 20— 2, 20— 3 , 2 0— 4で誤りがないことが検出されれば、 誤り訂正処理を行わないで、 次の 一連の受信符号語 200 1の処理に移行できるので、不要な処理ステツ プの浪費を回避できる。 しかし、 4個のデータ処理部 20— 1, 2 0— 2 , 2 0 - 3 , 2 0一 4で同時に処理される 4個の受信符号系列 2 0 0 1のうち 1個でも誤りがあれば、実際に誤り訂正を行う 1個のデ一夕処 理部以外の 3個のデータ処理部は、ユークリッ ド互除法 1 004以後の 処理全てを待機状態 1 09 9にして、誤り訂正処理の完了を待つことに なる。 これでは、 並列に設けたデータ処理部 20— 1 , 20— 2, 2 0— 3, 20— 4を、 有効に利用しているとはいえない。 データ処理部の数 を増やすにつれて、すべてのデータ処理部で誤りが検出されない確率は 低下し、 処理の効率は低くなる。 In FIG. 6, if an error is detected in at least one of the four received code sequences 200 1, the data processing unit in which no error is detected is set to the standby state 10099, and the processing up to the correction is performed. 4 shows a flow to be executed. The received code sequence 200 1 input to the data processing unit GP E 0 (20-1) contains an error within the range that can be corrected, and is input to the data processing unit GP E 1 (20-2). An error beyond the correctable range occurs in the received received code sequence 2001, and the received code sequence 2001 input to the data processing units GPE 2 (20-3) and GPE 3 (20-4) Is the processing flow when no error occurs. Until data transfer 1001, syndrome calculation 1002, error existence judgment 1003, all data processing units 20-0-1, 20-2, 20-3, and 20-4 execute processing unconditionally. You. In this example, the data processing unit GP E 0 (20-1) and the data processing unit GP E 1 (20-2), which are found to have errors, perform subsequent error correction processing, while data processing The GPE 2 (20-3) and the data processing unit GPE3 (20-4) detect no error, so the data processing unit GPE2 (20-3) and the data processing unit GPE2 (20-3) —Evening processing section GPE 3 (20-4) enters the standby state 1 0 99 during that time. As a result of the Euclidean algorithm 1004 and the numerical error calculation process 1006, it was found that an error exceeding the code correction capability occurred. The GPE 1 (20-2) During numerical calculation 1006 and correction 1007, it enters the standby state 10999 and waits for the processing of the data processing unit GPE0 (20-1) to end. In this case, if no error is detected in all the data processing units 20-1, 20, 2, 20, 3 and 20-4, no error correction processing is performed and the next series of received codewords is executed. Since processing can be shifted to 2001, unnecessary processing steps can be avoided. However, if at least one of the four received code sequences 2001, which are simultaneously processed by the four data processing units 20-1, 20-2, 20-3, 20-14, has an error, However, the three data processing units other than the one data processing unit that actually performs error correction put all processing after the Euclidean algorithm 1004 into a standby state 10099, and complete the error correction processing. Will wait. In this case, it cannot be said that the data processing units 20-1, 20-2, 20-3, and 20-4 provided in parallel are being used effectively. As the number of data processing units increases, the probability that no error is detected in all data processing units decreases, and processing efficiency decreases.
これを回避するには、第 7図の処理フローに例示する手法が有効であ る。 この場合も最初は、 4個の受信符号系列 200 1を 4個のデータ処 理部 20— 1〜 20— 4に読み込む処理 1 00 1を行ない、シンドロー ム計算 1 002と誤り有無の判定 1 003を行うところまでは、第 6図 に示した処理フローと同様である。誤りがあることが判明したデ一夕処 理部 GP E 0 ( 2 0— 1 )とデ一夕処理部 GP E 1 ( 2 0— 2 )では算出 されたシンドローム 2002をデ一夕メモリ 7に格納し、 その際、 誤り のないことが判明したデータ処理部 GP E 2 ( 2 0 - 3 )とデータ処理 部 GP E 3 ( 2 0— 4 )は待機状態 1 0 9 9になってその処理の終了を 待つ。処理フローは先頭のデータ転送に戻って、 次の 4個の受信符号系 列 2 0 0 1を 4個のデータ処理部 2 0— 1 ~ 2 0— 4に読み込む処理 1 00 1を行ない、さらにシンドローム計算 1 002と誤り有無の判定 1 003を行って、同様に誤りの検出された受信符号系列 2 00 1のシ ンドローム 2 002のみをメモリ Ίに格納する処理 1 008を行なう。 これをある程度のまとまった数の受信符号系列 2 0 0 1に行った後、誤 りの検出された受信符号系列 2 0 0 1についてのみ、格納しておいたシ ンドローム 2 0 0 2を読み込む処理 1 0 0 9を行なって、以降の誤り訂 正処理を行う。 この場合も、誤りの数が符号の訂正能力を越えた場合は 訂正不能であるので、誤り数値計算 1 0 0 6を行わず、 待機状態 1 0 9 9になる。第 7図に示した例では、誤りの検出された受信符号系列 2 0 ◦ 1のシンドローム 2 0 0 2を、一旦メモリ 7に格納する処理 1 0 0 8 を行なって、再度読み出す処理 1 0 0 9が、第 6図に示した例に比べて 余分に必要になる。一般に、誤りの発生する頻度が高い場合は第 6図に 示した処理フローが効率的であり、誤りの発生する頻度が低い場合は第 7図に示した処理フローが効率的である。誤りの発生する頻度と、誤り 訂正に要する処理ステップ数とシンドロームを一旦メモリに格納する のに要する処理ステップ数の関係から、どちらの処理フローがより効率 的か定量的に判断できる。 To avoid this, the method illustrated in the processing flow of FIG. 7 is effective. In this case, too, first, the processing 1001 for reading the four received code sequences 200 1 into the four data processing units 20-1 to 20-4 is performed, and the syndrome calculation 1002 and the determination of the presence or absence of an error 1 003 are performed. Up to this point, the processing flow is the same as that shown in FIG. The data processing unit GP E 0 (20-1) and the data processing unit GP E 1 (20-2), which have been found to have errors, store the calculated syndrome 2002 in the data memory 7. The data processing unit GPE2 (20-3) and the data processing unit GPE3 (20-4), which are found to be error-free, enter the standby state 10999 and process them. Wait for the end. The processing flow returns to the first data transfer, and performs the processing 1001 for reading the next four reception code sequences 2001 into the four data processing units 20-1 to 20-4. A syndrome calculation 1 002 and an error determination 1 003 are performed, and similarly, a process 1008 for storing only the syndrome 2 002 of the received code sequence 200 1 in which an error is detected in the memory 2 is performed. After this is performed on a certain number of received code sequences 2001, a process of reading the stored syndrome 20002 only for the erroneously detected received code sequence 2001 is performed. 1 0 9 is performed to perform the subsequent error correction processing. In this case as well, if the number of errors exceeds the correction capability of the code, it is impossible to correct the error. In the example shown in FIG. 7, the process of temporarily storing the syndrome 200 2 of the received code sequence 20 ◦ 1 in which an error is detected in the memory 7 is performed, and the process of reading out again is performed. 9 is required more than the example shown in Fig. 6. In general, the processing flow shown in FIG. 6 is efficient when the frequency of occurrence of errors is high, and the processing flow shown in FIG. 7 is efficient when the frequency of occurrence of errors is low. From the relationship between the frequency of occurrence of errors, the number of processing steps required for error correction, and the number of processing steps required to temporarily store the syndrome in memory, it is possible to quantitatively determine which processing flow is more efficient.
特に実用の誤り訂正の場合には、 誤りの発生する頻度の平均値は、 想 定される最も多くの誤りが発生する頻度よりも、極端に低い。受信符号 が 2 5 6バイ トでそのうちの 8個以下の誤りを訂正する場合には、シン ドロームは 1 6バイ ト必要となる。誤りの発生する確率は、典型的な例 で 1, 0 0 0分の 1であるので、 平均的に約 4個の符号語に 1語の誤り が発生することになる。 1 0 0個の受信符号語 = 2 5, 6 0 0バイ トの 訂正を行う場合、 訂正処理が 1 0, 0 0 0ステップで完了すると仮定す れば、 第 6図に示した処理フローによれば、 1 0, 0 0 0 x 1 0 0 + 4 = 2 5 0, 0 0 0ステップになる。 一方、 第 7図の処理フローにしたが つて誤り訂正を行った場合、 合計 9 0, 6 4 0ステップとなる。 第 6図 に示した処理フローの場合の半分以下で処理が完了することになる。誤 りの発生率がより低い場合、 また、 データ処理部の数を増やして並列度 を増した場合は、第 7図の処理フ口一を採用した場合の処理ステップ低 減効果はより顕著になる。 In particular, in the case of practical error correction, the average value of the frequency of occurrence of errors is extremely lower than the frequency of occurrence of the most supposed errors. If the received code is 256 bytes and eight or less errors are corrected, 16 syndromes are required. Since the probability of an error occurring is typically 1 in 1000, an average of about four codewords will have one word error. In the case of correcting 100 received codewords = 25,600 bytes, assuming that the correction process is completed in 100,000 steps, the process flow shown in Fig. 6 is assumed. According to this, there are 1 0, 0 0 0 x 1 0 0 + 4 = 2 50, 0 0 0 steps. On the other hand, when error correction is performed according to the processing flow in FIG. 7, the total is 90,640 steps. Processing will be completed in less than half of the processing flow shown in FIG. If the error rate is lower, increase the number of data processing units and increase the parallelism. When the number of processing steps is increased, the effect of reducing the processing steps when the processing method shown in FIG. 7 is adopted becomes more remarkable.
シンドローム計算は、 全ての入力系列に行なう必要があり、 常に一定 のデータ処理量を必要とする。一方、 その後のエラ一訂正は、 エラーが 少なければ、 処理量が少なくてよい。 このため、 第 7図のフローを更に 第 8図に変更して、 シンドローム計算に対しては並列度を高くし、 エラ —処理に対しては並列度を低くして行なうことも可能である。  Syndrome calculations must be performed for all input sequences, and always require a fixed amount of data processing. On the other hand, subsequent error correction requires less processing as long as there are few errors. For this reason, the flow in FIG. 7 can be further changed to FIG. 8, and the degree of parallelism can be increased for syndrome calculation and the degree of parallelism can be reduced for error processing.
これらの処理フローは、実際のエラ一頻度やデータの入力速度及びシ ンドロームの計算速度などを考慮して決めればよい。  These processing flows may be determined in consideration of the actual error frequency, data input speed, syndrome calculation speed, and the like.
《データ処理部の一例》  << Example of data processing unit >>
第 9図には誤り訂正処理に好適なデータ処理部の詳細な一例が示さ れる。同図に示されるデータ処理部 20— iは、 2個のガロア体乗算器 1 10、 1個のガロア体加算器 1 12、 64ヮ一ドのガロアバヅファ 1 50、 4ワードのガロアレジス夕 160、 3個のボイン夕 (P S 1, P S 2, PD) 12 1, 122, 123、 8ヮ一ドの整数レジス夕 170、 1個の整数加減算器 180、 その他、演算結果を判定してデータ処理部 を待機状態にする回路から成る。  FIG. 9 shows a detailed example of a data processing unit suitable for error correction processing. The data processing unit 20-i shown in the figure is composed of two Galois field multipliers 110, one Galois field adder 112, a 64-bit Galois buffer 150, and a 4-word Galois register 160, 3. Data registers (PS1, PS2, PD) 12 1, 122, 123, 8-word integer register 170, one integer adder / subtractor 180, and other data processing unit It consists of a circuit that puts it in a standby state.
ガロアバヅファ 150、 ガロアレジス夕 160と、 2個のガロア体乗 算器 1 1 1、 1個のガロア体加算器 1 12は、 6本の内部バスで接続さ れており、 ガロアパッファ 150、 ガロアレジス夕 160に格納された データの演算を行って、 その結果を、 ガロアバッファ 150、 ガロアレ ジス夕 160に再格納する。演算器 1 1 1、 1 12の入力にはセレクタ 1 14が設けられており、演算に使われるデータが出力された内部パス を選択できる。演算器 1 1 1、 1 12の出力は内部パスを介して、 ガロ アバッファ 150またはガロアレジス夕 160に格納される。  Galois Buffer 150 and Galois Regis 160, and two Galois Field Multipliers 1 1 and 1 Galois Field Adder 1 12 are connected by six internal buses, and Galois Puffer 150 and Galois Regis 160 Calculates the data stored in the memory and stores the result in the Galois buffer 150 and the Galois storage 160. A selector 114 is provided at the input of each of the arithmetic units 111, 112 so that an internal path from which data used for the operation is output can be selected. The outputs of the arithmetic units 11 1 and 1 12 are stored in the Galois buffer 150 or Galois register 160 via the internal path.
ガロアバッファ 150は、 ポインタ (P S 1 ) 12 1、 (P S 2 ) 1 22で指定されたァドレスの 2ヮードを同時に内部パスに出力し、同時 にボイン夕 (PD) 123で指定されたァドレスに内部パスからデータ を取り込む。 ポインタ 121、 122、 123の値はガロア体演算と同 一サイクル内に、 増減 (+ 1/— 1 ) が可能である。 ボイン夕の値は、 整数レジスタ 170から書き込みと読み出しが行われる。整数レジス夕 170には、 ポインタ 121、 122、 123の制御に必要な値を演算 するために必要なデータが格納されており、接続された整数加減算器 1 80を用いて演算が行われる。 Galois buffer 150 has pointers (PS 1) 12 1 and (PS 2) 1 Outputs 2 words of the address specified in 22 to the internal path at the same time, and simultaneously loads data from the internal path to the address specified in Boyne (PD) 123. The values of pointers 121, 122, and 123 can be increased or decreased (+ 1 / -1) in the same cycle as Galois field arithmetic. The value of the boyfriend is written and read from the integer register 170. The integer register 170 stores data necessary for calculating values required for controlling the pointers 121, 122, and 123, and the calculation is performed using the connected integer adder / subtractor 180.
ポインタ 12 1、 122、 123の値を増減しながらガロア体演算を 繰り返すような処理では、 ポインタ 12 1 , 122, 123の値が所定 の値になつたときに繰り返しを終了したい場合がある。所定の値をレジ ス夕 (P END) 131に予め格納しておき、 制御信号 SELPEND で監視すべきボイン夕を指定して、監視しているボイン夕の値がレジス 夕 (PEND) 13 1に予め設定した値と一致するか否かが比較器 (C MP) 133によって判定される。 その判定結果が一致したとき、 信号 RPTENDによってフラグレジス夕 140の RPTENDフラグを 立て、 更に、 待機レジス夕 141をセッ トする。 ポインタ 12 1 , 12 2, 123の監視を行わない場合には、 制御信号 SELPENDを使つ てポインタ 121, 122, 123の値とレジス夕 (PEND) 131 の値との比較を行わないように設定する。  In a process in which the Galois field operation is repeated while increasing and decreasing the values of the pointers 121, 122, and 123, it may be desired to end the repetition when the values of the pointers 121, 122, and 123 reach a predetermined value. A predetermined value is stored in the register evening (P END) 131 in advance, a boyne evening to be monitored is designated by the control signal SELPEND, and the monitored evening evening value is stored in the register evening (PEND) 131. The comparator (CMP) 133 determines whether or not the value matches a preset value. When the determination results match, the RPTEND flag of the flag register 140 is set by the signal RPTEND, and the standby register 141 is set. When not monitoring the pointers 121, 122, and 123, set the control signal SELPEND so that the values of the pointers 121, 122, and 123 are not compared with the value of the register (PEND) 131. I do.
デ一夕処理部 20 - iに個別に設けられたフラグレジス夕 140に は、 上記の RP TENDフラグ以外に、 ガロア体加算器 12 1の結果が ゼロになったことを示す GZフラグ、整数演算器 180の結果がゼロに なったことを示す I ZEROフラグと負になったことを示す I NEG フラグが設けられている。  In addition to the RP TEND flag described above, a GZ flag indicating that the result of the Galois field adder 121 has become zero, an integer arithmetic unit An I ZERO flag is provided to indicate that the result of 180 is zero, and an I NEG flag is provided to indicate that the result is negative.
フラグレジス夕 140の内容は、マスク付き比較器 141で信号 CN DXMAS Kをマスクとして用い信号 NO P CNDXと比較され、一致 した場合には待機レジスタ 1 4 2をセッ トする。待機レジス夕 1 4 2は、 例えば、 1ビッ トのレジス夕で、 上記の 2つの方法でデータ処理部 2 0 一 i内の演算結果によってセッ トできるほか、外部から信号 P E NOP I Nで直接値を書き込んでリセッ トしたり、また信号 P E N 0 P E Aと して直接外部に読み出すことができる。待機レジス夕 1 42の値がセッ 卜されているとき、 データ処理部 2 0— iに入力される制御信号は、 回 路 1 43より、待機レジス夕 1 4 2へのアクセスを制御するもの以外は すべて無効となるように制御されている。消費電力低減の観点から、待 機状態にある場合にはクロックを停止する制御を行うことが望ましい。 また、すべての制御信号にその信号を無効にするゲートを挿入すると、 制御信号の数が数百本にもなることがまれではないので、挿入するゲー トによる回路規模の増加も無視できない。クロックを停止する場合には クロックに対してだけゲートを挿入すればよいから、回路規模の観点か らも好適である。 The contents of the flag register 140 are compared with the signal CN by the masked comparator 141. Using DXMASK as a mask, the signal is compared with the signal NOPCNDX. If they match, the wait register 144 is set. The standby register 142 is, for example, a 1-bit register, which can be set by the above two methods according to the operation result in the data processing unit 201-i, or can be set directly by an external signal PE NOP IN. Can be written and reset, or read directly to the outside as signal PEN 0 PEA. When the value of the standby register 142 is set, the control signal input to the data processing unit 20—i is not a circuit that controls access to the standby register 142 from the circuit 144. Are all controlled to be invalid. From the viewpoint of power consumption reduction, it is desirable to perform control to stop the clock when in the standby state. Further, if a gate that invalidates the control signal is inserted into all the control signals, the number of control signals is not rarely several hundred, so the increase in circuit scale due to the inserted gate cannot be ignored. When the clock is stopped, the gate needs to be inserted only for the clock, which is preferable from the viewpoint of the circuit scale.
《DVD ドライブシステム》  《DVD drive system》
第 1 0図には前記データ処理装置の更に詳細な一例である DVDコ ントローラを備えた DVD ドライブシステムのブロヅク図が示される。 同図に示される DVDコントローラ 1 Bはアナログデータを 2値化 する 2値化回路 (D a t a— S t r o b e) 2 0 0、 復調回路 (D VD -D emo d) 2 0 1、 変調回路 (DVD— Mo d) 2 0 2、 誤り訂正 回路 (DVD— E C C) 2 0 3、 メモリインタフェース回路 (D R AM - C ON T) 2 04、 オーディオイン夕フエース回路 (Au d i o P r o c e s s o r) 2 0 5、 パーソナルコンピュータなどのホストコン ビュー夕とインタフェースされる ATAP Iインタフエース回路 2 0 6、 システムィン夕フエ一ス回路 (M I CON I F) 2 0 7, サ一ボ 回路 (S ERVO) 208、 クロック発振器 (CP G) 2 09等のモジ ユールから構成され、公知の半導体製造技術により 1つの半導体基板上 に形成される。 尚、 DVDコントローラ 1 Bは DVDと共に、 CD— R OM、 音楽用の CD— DAの再生も可能にされている。 CD用の復調回 路(CD— DA) 2 1 0、 CD— ROMからの読取り情報に対するデス クランブラ 2 1 5、そして CD— ROMフォーマツ 卜のデータをデコ一 ドする ROMデコーダ (ROMDE C) 2 1 1を有している。 FIG. 10 is a block diagram of a DVD drive system having a DVD controller, which is a more detailed example of the data processing apparatus. The DVD controller 1B shown in the figure has a binarization circuit (Data-Strobe) 200 for binarizing analog data, a demodulation circuit (DVD-Demod) 201, and a modulation circuit (DVD). — Mod) 202, error correction circuit (DVD—ECC) 203, memory interface circuit (DRAM-CONT) 204, audio interface circuit (Audio Processor) 205, personal ATAP I interface circuit 206, interfaced with a host computer such as a computer, system interface circuit (MI CON IF) 206, Servo It is composed of modules such as a circuit (SERVO) 208 and a clock oscillator (CPG) 209, and is formed on one semiconductor substrate by a known semiconductor manufacturing technique. In addition, the DVD controller 1B can play a CD-ROM and a music CD-DA together with a DVD. Demodulation circuit for CD (CD-DA) 210, descrambler for reading information from CD-ROM 215, and ROM decoder (ROMDEC) 21 for decoding data in CD-ROM format Have one.
前記 CPG 209は、〇印で示されている外部端子を介して接続され る水晶発振子または外部クロックに基づいて、遁倍ゃ分周を行って、基 準クロックを生成し、各機能ブロックに供給する。 この基準クロックに 同期して、 D VDコントローラ 1 Bは動作を行う。  The CPG 209 generates a reference clock by performing frequency division based on a crystal oscillator or an external clock connected through an external terminal indicated by a symbol に, and outputs the reference clock to each functional block. Supply. The DVD controller 1B operates in synchronization with this reference clock.
前記誤り訂正回路 2 0 3は前記処理能力可変の前記誤り訂正回路 2 と同様の構成を有する。前記メモリイン夕フェース回路(DRAM— C ONT) 204は、 DRAMなどのデータメモリ 2 1 2に対する入出力 要求の調停(ァ一ビトレ一シヨン) を行なうとともに、 メモリバス 2 1 8のパス制御を行なう。前記メモリインタフエース回路 2 04、 データ メモリ 2 1 2は第 1図のメモリインタフエース回路 4、デ一夕メモリ 7 に相当する。  The error correction circuit 203 has the same configuration as the error correction circuit 2 having a variable processing capability. The memory interface circuit (DRAM-CONT) 204 performs arbitration of input / output requests for the data memory 211 such as a DRAM and performs path control of the memory bus 218. . The memory interface circuit 204 and the data memory 212 correspond to the memory interface circuit 4 and the data memory 7 in FIG.
前記 A TAP Iイン夕フェース回路 206は第 1 図の出力回路 6の 一例である。前記システムィン夕フェース回路 2 07はシステムコント ローラとしてのマイクロコンビユー夕 2 20に接続される。マイクロコ ンピュー夕 220は、 内部バス (LAB, LDB, L CB) 2 2 1を介 して復調回路 20 1や誤り訂正回路 203等の各回路を初期設定し、ま た、誤り訂正回路 203等の内部レジス夕をリードして、 システム制御 を行なう。システムィン夕フェース回路 2 07は第 1図のシステムイン 夕フヱ一ス回路 3に相当する。 前記 2値化回路 2 0 0、 変調回路 2 0 2、 及びサーボ回路 2 0 8など は前処理 L S 1 2 2 4に接続される。前処理 L S I 2 2 4は、 D V Dデ イスクから光ビックアップ 2 2 5で読み取った記録情報を増幅し、記録 情報を再生するための情報信号を 2値化回路 2 0 0に与える。 また、 情 報信号のエンベロープ等からフォーカスエラ一、 トラッキングエラ一の 各信号を生成してサーポ回路 2 0 8に供給する。サ一ボ回路 2 0 8はそ れらの情報に基づき、光ピヅクアップ 2 2 5のフォーカシングと トラッ キングの制御を行なう。 また、 トラッキング制御の低周波成分を抽出し て、 D / A変換出力によって、 光ビックアップ 2 2 5のスレツ ドモータ 2 2 7の制御を行なう。 また、 パルス検出によって、 ディスクの回転速 度を検出し、 サーボ処理を行い、 D ZA変換出力によって、 スピン ドル モー夕 2 2 8の制御を行う。前記ビックアップのフォーカシング及びト ラッキング、 そしてスレツ ドモ一夕及びスビンドルモ一夕の駆動は、 モ —夕 ドライバ I C 2 2 6で行う。 The A TAP I interface circuit 206 is an example of the output circuit 6 in FIG. The system interface circuit 207 is connected to a microcomputer 220 as a system controller. The micro computer 220 initializes each circuit such as the demodulation circuit 201 and the error correction circuit 203 via the internal bus (LAB, LDB, LCB) 221 and the error correction circuit 203 and the like. Lead the internal registry of the system to control the system. The system interface circuit 207 corresponds to the system interface circuit 3 in FIG. The binarization circuit 200, the modulation circuit 202, the servo circuit 208, and the like are connected to the preprocessing LS1224. The preprocessing LSI 224 amplifies the record information read from the DVD disk by the optical pickup 225, and supplies an information signal for reproducing the record information to the binarization circuit 200. In addition, it generates focus error and tracking error signals from the information signal envelope and the like, and supplies them to the servo circuit 208. The servo circuit 208 controls the focusing and tracking of the optical pickup 225 based on the information. In addition, the low frequency component of the tracking control is extracted, and the D / A conversion output controls the thread motor 227 of the optical pickup 225. In addition, the disk rotation speed is detected by pulse detection, servo processing is performed, and spindle motor control is performed by DZA conversion output. The focusing and tracking of the above-mentioned big-up, and the driving of the thread motor and the Svindormo are performed by the motor driver IC226.
第 1 0図に示される D V D ドライブシステムにおける記録情報再生 時の動作を説明する。  The operation of the DVD drive system shown in FIG. 10 when reproducing recorded information will be described.
マイクロコンピュー夕 2 2 0は、入出力回路からのコマンド入力や、 入出力ポートのキー入力を監視しており、 入力があった場合には、 入力 されたコマンドゃキーの内容を解読して、 これに従って、 動作を開始す る。  The microcomputer 220 monitors the command input from the input / output circuit and the key input of the input / output port, and when there is an input, decodes the contents of the input command ゃ key. The operation starts according to this.
マイクロコンビュ一夕 2 2 0は、マイコンィンターフェ一ス 2 0 7を 介して、 サーボ回路 2 0 8の動作設定レジス夕を初期設定して、 フォー カス、 トラッキングサ一ボ制御を動作させ、 フォーカスがロックすると、 スピンドルモ一夕 2 2 8でディスクを回転させ、 更に、 光ビックアップ 2 2 5を所定の位置に移動させる。  The microcomputer 220 initializes the operation setting register of the servo circuit 208 via the microcomputer interface 207, and operates the focus and tracking servo control. When the focus is locked, the disk is rotated by the spindle motor 228, and the optical pickup 225 is moved to a predetermined position.
再生時には、光ピックアップ 2 2 5によって読み出されたデータは、 前処理 L S I 224でディジタル信号に変換され、前記 DVDコントロ ーラ 1 Bに入力される。入力されたデータは、 先ず、 復調回路 201に 入力され、 D VDの場合、 8— 16方式の復調、 ディンタリーブ、 シン クの検出などが順次行なわれる。所定量のデータが復調されると、 メモ リイン夕フェース回路 204に、入力要求を出力する。メモリインタフ エース回路 204は、 所定のタイミングで、 入力要求を受け付けて、 復 調されたデータを、 復調回路 201から、 データメモリ (DRAM) 2 12へ転送する。 During playback, the data read by the optical pickup 2 25 The signal is converted into a digital signal by the preprocessing LSI 224, and is input to the DVD controller 1B. The input data is first input to the demodulation circuit 201, and in the case of DVD, demodulation of 8-16 system, dinterleaving, detection of sink, and the like are sequentially performed. When a predetermined amount of data is demodulated, an input request is output to the memory interface circuit 204. The memory interface circuit 204 receives the input request at a predetermined timing, and transfers the demodulated data from the demodulation circuit 201 to the data memory (DRAM) 212.
データメモリ 2 12に所定量のデ一夕 (D VDの場合、 1プロヅク : 182x208バイ ト) が蓄積されると、 メモリイン夕フェース回路 2 04から割込み要求が発生し、誤り訂正回 203路に割込みが認識され、 誤り訂正処理 (復号化) が開始される。  When a predetermined amount of data (in the case of DVD, one block: 182 × 208 bytes) is accumulated in the data memory 212, an interrupt request is generated from the memory interface circuit 204 and the error correction circuit 203 The interrupt is recognized and error correction processing (decoding) starts.
所定のデータの誤り訂正処理が行われると、誤り訂正回路 203は所 定のレジスタなどを設定して、 デ一夕出力を指示する。 これに従って A TAP Iィン夕フェース回路 206は、メモリイン夕フェース回路 20 4に対して出力要求を出す。メモリイン夕フェース 204は、所定の夕 ィミングで、 出力要求を受け付けて、 データメモリ 2 12から、 ATA P Iインタフェース回路 206へデ一夕を出力させ、 ATAP Iインタ フェース回路 206はパーソナルコンピュータのようなホス ト装置の ィン夕フェース回路に向けてデータを出力する。  When the error correction processing of the predetermined data is performed, the error correction circuit 203 sets a predetermined register and the like, and instructs the data output. In accordance with this, the A TAP I interface circuit 206 issues an output request to the memory interface circuit 204. The memory interface 204 receives the output request at a predetermined timing, and outputs the data from the data memory 212 to the ATA PI interface circuit 206. The ATAP I interface circuit 206 operates like a personal computer. Outputs data to the interface circuit of the host device.
また、 コマンドゃキ一の内容によっては、誤り訂正回路 203は汎用 インタフヱ一ス回路(汎用 I F) 230の所定のレジスタなどを設定し て、 デ一夕出力を指示する。汎用 I F 230からのデータは、 映像デー 夕の場合、 図示はされない、 MP EG回路に供給され、 圧縮が解除され て、 例えば、 L CDなどの表示装置に表示される。  Also, depending on the contents of the command key, the error correction circuit 203 sets a predetermined register of the general-purpose interface circuit (general-purpose IF) 230 and instructs the output of the data. In the case of video data, data from the general-purpose IF 230 is supplied to a not-shown MPEG circuit, decompressed, and displayed on a display device such as an LCD.
コマンドゃキーの指示が完了するか、次のコマンドゃキ一が入力され るまで、 上記動作を継続する。 Completion of the command key or completion of the next command key Until the above operation is continued.
第 1 0図に示される D V D ドライブシステムにおける情報記録動作 を説明する。 前記同様に、 マイクロコンビュ一夕 2 2 0は、 入出力回路 からのコマンド入力や、 入出力ポートのキー入力を監視しており、 入力 があった場合は、 入力されたコマンドやキーの内容を解読して、 これに 従って、 動作を開始する。  The information recording operation in the DVD drive system shown in FIG. 10 will be described. In the same manner as described above, the microcomputer 220 monitors command input from the input / output circuit and key input of the input / output port, and when there is an input, the content of the input command or key is monitored. Decrypt and start operation accordingly.
マイクロコンピュータ 2 2 0は、マイコンインターフエース回路 2 0 7を介して、 サ一ボ回路 2 0 8を初期設定して、 フォーカス、 トラツキ ングサーボ制御を動作させ、 フォーカスサ一ボがロックすると、 スピン ドルモー夕 2 2 8でディスクを回転させ、 更に、 光ビックアップ 2 2 5 を所定の位置に移動させる。  The microcomputer 222 initializes the servo circuit 208 via the microcomputer interface circuit 207 to operate the focus and tracking servo control. When the focus servo is locked, the microcomputer 220 operates as a spindle motor. In the evening, the disk is rotated at 228, and the optical pickup 225 is moved to a predetermined position.
A T A P Iィン夕フェース回路 2 0 6は、ホス ト装置にデータ要求を 出して、 データを入力する。所定の量のデ一夕が入力されると、 A T A P Iインタフェース回路 2 0 6は、メモリインタフェース回路 2 0 4に 対して、 入力要求を出す。 メモリインタフェース回路 2 0 4は、 所定の 夕イミングで、 入力要求を受け付け、 A T A P Iインタフェース回路 2 0 6から入力されたデータをデ一夕メモリ 2 1 2へ転送する。  The ATAPI interface circuit 206 issues a data request to the host device and inputs data. When a predetermined amount of data is input, the ATAPI interface circuit 206 issues an input request to the memory interface circuit 204. The memory interface circuit 204 receives an input request at a predetermined time, and transfers data input from the ATAPI interface circuit 206 to the data memory 212.
デ一夕メモリ 2 1 2に所定量のデ一夕 (D V Dの場合、 1ブロック) が蓄積されると、メモリインタフェース回路 2 0 4から誤り訂正回路 2 0 3に割込み要求が与えられ、 これによつて誤り訂正回路 2 0 3は、 デ —夕メモリ 2 1 2が保有するデ一夕に対してパリティ付加処理 (符号 化) を行う。  When a predetermined amount of data (one block in the case of a DVD) is stored in the memory 212, an interrupt request is given from the memory interface circuit 204 to the error correction circuit 203, and Therefore, the error correction circuit 203 performs a parity addition process (encoding) on the data stored in the data memory 212.
誤り訂正回路 2 0 3は、データメモリ 2 1 2の所定のデ一夕に対する ノ リティ付加処理を完了したとき、ノ リティ一付加処理の完了を変調回 路 2 0 2に与える。 これを受けて変調回路 2 0 2は、 パリティ一付加処 理の完了されたデータをデ一夕メモリから変調回路 2 0 2に転送する ためのデータ転送制御を起動し、メモリインタフ; n—ス回路 204を介 してデ一夕がデ一夕メモリ 2 12から変調回路 202に内部転送され る。 DVDデータの場合、 変調回路 202は、 イン夕リーブ、 シンクの 挿入、 8— 16方式の変調などを順次行なって、 データを出力する。 出 力されたデータは、 前処理 L S I 224で増幅され、 光ピックアップ 2 25を介して光ディスクに書込まれる。 When the error correction circuit 203 completes the noise addition processing for the predetermined data in the data memory 212, the completion of the noise addition processing is given to the modulation circuit 202. In response to this, the modulation circuit 202 transfers the data subjected to the parity addition processing from the memory to the modulation circuit 202. The data transfer control is started, and the data is internally transferred from the data memory 212 to the modulation circuit 202 via the memory interface 204. In the case of DVD data, the modulation circuit 202 sequentially performs in-leave, insert sync, 8-16 modulation, and outputs the data. The output data is amplified by the preprocessing LSI 224 and written to the optical disk via the optical pickup 225.
第 1 1図には前記 DVDドライブシステムを全体的に示してある。第 10図の光ピックアップ 225は、フォーカシング及びトラツキング用 のァクチェ一夕 225 Bとレーザダイォ一ド等から成るピックアンプ 225 Aによって構成される。第 10図のモ一夕 ドライ ノ I C 226は、 ァクチェ一夕 225Bのドライ ノ、 226 A、スレツ ドモ一夕 228のド ライパ 226 B,及びスピンドルモ一夕 227のドライバ 226 Cを含 んでいる。ここではリードチャンネルによって前処理 L S I 224を総 称している。 リードチャネルは読取り情報のプリアンプ等を含む。  FIG. 11 shows the entire DVD drive system. The optical pickup 225 shown in FIG. 10 comprises a pickup 225B for focusing and tracking, and a pick amplifier 225A comprising a laser diode and the like. The module I / C 226 of FIG. 10 includes a driver 226A of Akche 225B, a driver 226B of a thread 228, and a driver 226C of a spindle 227. Here, the pre-processing L S I 224 is generically referred to by the read channel. The read channel includes a preamplifier for reading information.
DVDコントローラ 1 Bは CD及び DVDといったリームバルなデ イスク 230に対する情報の記録 '再生、 並びに前記ディスク 230に 対するサーボ制御に用いられる。 即ち、 DVDコントローラ 1 Bは、 ト ラッキングエラー信号 T Eや、フォーカスエラ一信号 F Eなどをリ一ド チャネル 224から取得し、ビックアップ 225Aのトラツキング及び フォーカシング等を達成するように、 サ一ボ制御信号 SVD AO, S V DA 1をドライバ 226 Aに与え、サーボ制御信号 SVD A 2を ドライ ノ 226 Bに与え、サーボ制御信号 SVD A3をドライバ 226 Cに与 える。 更に, DVDコントローラ 1 Bは、 ディスク 230から読み出さ れてリ一ドチャネル 224で増幅された信号 D I Nを入力して復調し、 また、 ディスク 230に書込むべきデータを変調する。ホス トインタフ エースとしての前記 A TAP Iィン夕フェース回路は、ェンハンス ド I D Eパスなどのパスを介して、パーソナルコンピュー夕などのホス ト装 置と接続され、 コマンドなどを入力し、 ステータスなどの表示と、 デ一 夕の出力などを行う。 The DVD controller 1B is used for recording / reproducing information on / from a real disk 230 such as a CD and a DVD, and servo control for the disk 230. That is, the DVD controller 1B obtains the tracking error signal TE, the focus error signal FE, and the like from the read channel 224, and controls the servo control signal so as to achieve tracking and focusing of the big 225A. Apply SVD AO, SV DA 1 to driver 226 A, apply servo control signal SVD A 2 to driver 226 B, and apply servo control signal SVD A3 to driver 226 C. Further, the DVD controller 1B inputs and demodulates the signal DIN read from the disk 230 and amplified by the read channel 224, and modulates data to be written to the disk 230. The A TAP I interface circuit as a host interface is based on the Enhanced I It is connected to a host device such as a personal computer via a path such as the DE path, and inputs commands, etc., and displays status, etc., and outputs data.
光ディスク 2 3 0の記録情報はピックアップ 2 2 5 Aによつて読み 取られる。 ビックアップ 22 5 Aは、 発光素子 (レーザダイォード) に よってレーザ光を出力し、 光ディスク 2 3 0からの反射光を受光素子 (フォトダイォ一ド)で検出する。 ピックアップ 230の位置はァクチ ユエ一夕 22 5 Bとスレッ ドモータ 2 28によって制御される。  Information recorded on the optical disk 230 is read by the pickup 225A. The big-up 225 A outputs laser light by a light emitting element (laser diode) and detects reflected light from the optical disk 230 by a light receiving element (photo diode). The position of the pickup 230 is controlled by the actuator 225B and the thread motor 228.
ピックアップ 22 5 Aの出力した信号は、 リ一ドチャネル 224で増 幅され、 デジタル化される。 マイクロコンピュータ 2 20は、 リードチ ャネル 224に対して、 S C I及び IZOポートを用いて、 制御を行う。 ディスク 2 30の図示を省略する トレイに対しては、オープンスィッ チ、クローズスィツチの制御信号をマイクロコンビュータ 220の I Ζ 0ポートから入力し、イジヱク トスィツチ信号を割込み要求信号として 入力し、 トレィ (ローディング) モ一夕をマイクロコンピュータ 2 2 0 の PWM夕イマの出力で駆動する。  The signal output from the pickup 225 A is amplified by the read channel 224 and digitized. The microcomputer 220 controls the read channel 224 using the SCI and IZO ports. For the tray whose illustration of the disk 230 is omitted, a control signal of an open switch and a close switch is input from the I / O port of the micro-computer 220, and an output switch signal is input as an interrupt request signal. The microcomputer is driven by the output of the PWM of the microcomputer 220.
第 1 1図に示された D VDドライブシステムは D VDの他に、 CD— R OMに対する記録再生、そして CD— D Aに対する再生を行なうこと ができる。基本的な再生処理等は DVDとほぼ同じである。 即ち、 D V Dと同様に、 CD— ROMや CD— DAといったディスク 230からピ ヅクアップ 22 5 Aで読出された信号は、 リ一ドチャネル 2 24のプリ アンプで増幅された後、 波形整形回路でデジタル波形に整形される。 C D— ROMのデータは DVDコントローラ 1 Bの前記復調回路 2 0 1 で、 デジタル復調され、 前述と同様に誤り訂正回路 2 03を介してエラ 一訂正が行なわれ、デスクランプラ 2 1 5でデスクランプルされる。 デ スクランブル処理後のデータは、 ROMデコーダ 2 1 1で CD— ROM フォーマツ トからホスト装置へのデータ形式にデコードされ、ホス トイ ン夕フヱ一ス回路 206を介してホスト装置に与えられる。 CD— D A のデータは復号回路 2 1 0で復号され、データメモリ 2 1 2に貯えられ て誤り訂正などが行われた後、ホス トインタフェース回路 20 6を介し てホスト装置に出力される。 The DVD drive system shown in FIG. 11 can perform recording / reproducing on CD-ROM and reproducing on CD-DA in addition to DVD. Basic playback processing is almost the same as that of DVD. That is, like a DVD, a signal read out from a disk 230 such as a CD-ROM or a CD-DA with a pickup of 255 A is amplified by a preamplifier of a lead channel 224, and then digitally processed by a waveform shaping circuit. Shaped into a waveform. The CD-ROM data is digitally demodulated by the demodulation circuit 201 of the DVD controller 1B, error-corrected by the error correction circuit 203 in the same manner as described above, and then decoded by the desk lamp 215. Rampled. The data after the descrambling process is read from CD-ROM by ROM decoder 211. The data is decoded into a data format from the format to the host device, and is provided to the host device via the host interface circuit 206. The CD-DA data is decoded by the decoding circuit 210, stored in the data memory 212, subjected to error correction and the like, and then output to the host device via the host interface circuit 206.
マイクロコンピュー夕 22 0は、ディスク 230がロードされると、 ディスク上の TO C (Table Of Contents ) 情報などを読み出し、 これ をバッファメモリに格納する。 CDの場合、 リードイン部の TO C情報 は、 最大 1 00曲であり、 それそれ 9バイ トなどのデ一夕であるから、 記憶密度の高いバッファメモリに格納することにより、物理的な利用効 率を向上するとともに、マイクロコンピュータ 2 20によって随時リー ド可能であるから、 シーク時に移動量を算出したり、 ホストイン夕フエ —スからのコマンドなどに対応して即座に使用することができる。 また、 DVD— ROMディスクに対してマイクロコンビュー夕 2 2 0 は、 リードデ一夕の I Dゃコビープロテクションデ一夕を随時リ一ドす る。  When the disk 230 is loaded, the microcomputer 220 reads out TOC (Table Of Contents) information and the like on the disk and stores it in the buffer memory. In the case of CDs, the TOC information in the lead-in section is a maximum of 100 songs, each of which is a short burst of 9 bytes, etc., and is stored in a high-density buffer memory for physical use. Efficiency is improved, and reading is possible at any time by the microcomputer 220, so that the amount of movement can be calculated at the time of seeking, and can be used immediately in response to commands from the host interface. . For DVD-ROM discs, Microcomputer 220 will always read ID ICoby Protection Data from Read Data.
更に、 DVD— RAMディスクに対してマイクロコンビユー夕 22 0 は、 欠陥情報を読み出して、 ノ ヅファメモリに保持しておき、 マイクロ コンピュータ 220が、ホス トインタフェース 206から指示される論 理アドレスを、 物理アドレスに変換する際に参照する。  Further, the micro-computer 220 reads out the defect information from the DVD-RAM disk and stores it in a non-volatile memory, and the microcomputer 220 sends the logical address specified by the host interface 206 to the physical address. Refer to when converting to an address.
第 1 2図には第 1 1図の D VD ドライブシステムのシステム動作フ 口一チャートが示される。第 1 2図において、 前記データ処理部 2 0— 1〜20— nの並列度を P、 並列度初期値を P i、 動作速度を S、 動作 速度初期値を S iとする。  FIG. 12 shows a system operation flowchart of the DVD drive system of FIG. In FIG. 12, the parallelism of the data processing units 20-1 to 20-n is P, the initial value of the parallelism is Pi, the operation speed is S, and the operation speed initial value is Si.
パワーオンリセヅ ト後、 トレーが開閉されてディスク 2 30の装填が 確認されると (3 1 , 32 , 33) 、 ?= 1、 3= 1に初期設定され、 ディスクのプレスキャンが開始される (S 4) 。 プレスキャンによって 読み取った情報から、 ディスクの種類及びエラ一レート等を調べる ( S 5〜S 8)。その結果にしたがって、並列度 P iを 1〜4に設定する( S 9〜S 1 2) 。 これはディスク状況による能力設定である。 After the power-on reset, when the tray is opened and closed and the loading of the disk 230 is confirmed (31, 32, 33),? = 1, 3 = 1 Prescanning of the disc is started (S4). From the information read by the pre-scan, the disc type and error rate are checked (S5 to S8). According to the result, the parallelism P i is set to 1 to 4 (S 9 to S 12). This is a capability setting based on the disk status.
次にコマンドを入力する (S 1 3 )。入力したコマンドが " P LAY" の時は (S 14) 、 S = S i、 P = P iに設定される (S 1 5) 。 入力 コマンドが " J U M P,, 、 " S T 0 P " の時は ( S 1 7, S 1 8 ) 、 P = 1、 S= 1に設定されて、 処理能力が落とされる (S 1 9 , S 20) o これは、 コマンドによる能力設定である。  Next, a command is input (S13). When the input command is "P LAY" (S14), S = S i and P = P i are set (S 15). When the input command is "JUMP ,,," "ST0P", (S17, S18), P = 1 and S = 1 are set, and the processing capacity is reduced (S19, S20 o This is a capability setting by command.
ここで、 上記コマンドには、 ホス トイン夕一フェースの規格で、 ベン ダ一ユニークとして確保されているコマンドを用いるとよい  Here, as the above command, it is recommended to use a command secured as a vendor-unique in the host interface standard.
次に、 P LAYモード (mo d e = 1 ) での動作を説明する。 第 1 2 図では P LAYモ一ドでは、デ一夕処理部の並列度を変更していない。 これは動作中にデータ処理部の並列度を変更するにはデータ処理部に おける処理状態を把握するための構成若しくは制御が必要となり、その ような構成若しくは制御を採用しなければ、容易に変更できないからで ある、 そのため第 1 2図の例では、 P LAYモードでの処理能力の変更 を動作速度の変更のみに限定している。  Next, the operation in the PLAY mode (mode = 1) will be described. In FIG. 12, in the PLAY mode, the parallelism of the data processing unit is not changed. In order to change the degree of parallelism of the data processing unit during operation, it is necessary to have a configuration or control for grasping the processing state of the data processing unit, and if such a configuration or control is not adopted, it can be easily changed. Therefore, in the example of Fig. 12, the change of the processing capacity in the PLAY mode is limited to only the change of the operation speed.
P L AYモ一ドにおいて、通常は、 ステップ S 1 6の設定内容に従つ て、 S = S i、 P = P iの能力で動作している。 エラーが増えて処理が 間に合わなくなると、誤り訂正回路 2 03は前記外部待機信号 5 5をァ サートする。マイクロコンビユー夕 2 2 0は前記外部待機信号 5 5のァ サ一ト (wa i t指示) を検出すると (S 2 1 ) 、 S = 4か否かを判定 し ( S 22 )、 S = 4であればマイクロコンビュー夕 220は復調回路 20 1などに対して動作を一時停止するように指示を出す(S 2 3)。 S = 4でなければ S = S + 1 として誤り訂正回路 2 03の動作速度を 上げる (S 2 4 ) 。 これは、 誤り訂正回路 2 0 3に対する速度制御によ る処理能力変更の例である。 In the play mode, normally, the operation is performed with the capability of S = S i and P = P i according to the setting contents of step S 16. When the number of errors increases and the processing cannot be performed in time, the error correction circuit 203 asserts the external standby signal 55. When the micro-combination 220 detects an external standby signal 55 assertion (wait instruction) (S21), it determines whether S = 4 or not (S22), and S = 4. If so, the micro computer 220 instructs the demodulation circuit 201 and the like to temporarily stop the operation (S23). If S = 4, the operation speed of the error correction circuit 203 is set as S = S + 1. Raise (S24). This is an example of changing the processing capability of the error correction circuit 203 by speed control.
また、消費電流が増加して、任意の設定値を超えた場合には( S 2 5 )、 マイクロコンピュータ 2 2 0は、 S = lを下限として S = S— 1に設定 変更し、 動作速度を下げて消費電力を低減する (S 2 6, S 2 7 ) 。 こ れは、 外部条件による処理能力変更の例である。  If the current consumption increases and exceeds an arbitrary set value (S25), the microcomputer 220 changes the setting to S = S-1 with S = l as the lower limit, and the operating speed. To reduce power consumption (S26, S27). This is an example of processing capacity change due to external conditions.
前記ステップ S 2 5の判定で消費電流が増加していない場合、 w a i t指示と消費電力を一定期間監視し (S 2 8 ) 、 変化が無ければ S == S iに戻すようにしてもよい (S 2 9 ) 。  If the current consumption has not increased in the determination in step S25, the wait instruction and the power consumption may be monitored for a certain period of time (S28), and if there is no change, S == Si may be returned ( S29).
このように、外部の状況やディスクの状況に応じて処理能力を調節す ることにより、 消費電力の低減を図ることができる。  In this way, by adjusting the processing capacity according to the external situation and the situation of the disk, power consumption can be reduced.
その他、 第 1 2図には示してはいないが、 ホスト装置のシステム構成 を判断し、ホスト装置がパーソナルコンピュータの場合にノ一ト型かデ スクトップ型か、 等を判断して、 並列度を設定してもよい。例えばデス クトップ型に比べてノート型の場合には並列度を減らす。 また、 D V D 一 R A Mなどのシステムでは、 誤り訂正(データ復号化) とデ一夕符号 化の処理を必要とする。データ符号化は、 データの復号化に比較して処 理の内容が少ない。 また、 ディスクの書込み速度も、 読み出し速度より 遅い。 これを考慮して、 書込み時には、 誤り訂正回路 2 0 3におけるデ —夕処理部の並列度を下げて使用するようにしてもよい。  In addition, although not shown in FIG. 12, the system configuration of the host device is determined, and if the host device is a personal computer, whether the host device is a notebook type or a desktop type is determined. May be set. For example, in the case of a notebook type, the degree of parallelism is reduced compared to a desktop type. Also, systems such as DVD-RAM require error correction (data decoding) and data encoding. Data encoding requires less processing than data decoding. Also, the writing speed of the disk is slower than the reading speed. In consideration of this, at the time of writing, the data processing unit in the error correction circuit 203 may be used with a reduced degree of parallelism.
《データ処理装置の他の形態》  << Other forms of data processing device >>
上記データ処理装置 1 A , 1 Bは S I M D形態であるが、 M I M D形 態としてデータ処理装置を構成してもよい。  Although the data processing devices 1A and 1B are in the SIMD form, the data processing devices may be configured in the MIMD form.
第 1 3図には M I M D型のデータ処理装置の一例が示される。第 1図 との相違点は、データ処理部 2 0 C— 1〜2 0 C— nが夫々命令をフエ ツチして個々に演算処理を行なう点である。従って、個々のデータ処理 部 2 0 C— 1〜2 0 C— nは命令制御部と演算部を有している。データ 処理部 2 0 C—:!〜 2 0 C— nは、 例えば、 C P Uュニッ ト、 浮動小数 点演算ュニッ ト、 ディジ夕ル信号処理ュニットのような回路である。 こ のような M I M D型のデータ処理装置においても、第 1図と同様に動作 速度レジスタ 3 2に対する外部からの設定値にしたがって動作速度を 制御することができる。更に、 並列度レジス夕 4 1に対する外部からの 設定値にしたがってデータ処理部 2 0 C— 1〜2 0 C— nの並列度を 制御することができる。 FIG. 13 shows an example of a MIMD type data processing device. The difference from FIG. 1 is that the data processing units 20 C-1 to 20 C-n each execute an arithmetic processing by fetching an instruction. Therefore, individual data processing The units 20 C-1 to 20 C-n have an instruction control unit and an operation unit. Data processing section 20 C— :! 220C-n is a circuit such as a CPU unit, a floating-point arithmetic unit, and a digital signal processing unit. Also in such a MIMD type data processing device, the operation speed can be controlled in accordance with the externally set value for the operation speed register 32 as in FIG. Further, the degree of parallelism of the data processing units 20C-1 to 20C-n can be controlled in accordance with an externally set value for the parallel degree register 41.
第 1 4図には更に別のデータ処理装置の例が示される。同図に示され るデ一夕処理装置 1 Dは、 入力回路 5 D、 出力回路 6 D、 デ一夕を蓄積 するデ一タメモリ 7 D、 メモリインターフェース回路 4 D、 n個並列動 作可能なデータ処理回路 2 0 D— 1〜2 0 D— n、デ一夕処理回路に並 列にデータを供給するデマルチプレクサ 4 0 2、並列の処理結果に応じ てデータ出力を行うマルチプレクサ 4 0 1、 並列度レジス夕 4 1、及び 並列度制御回路 4 0 0によって構成される。  FIG. 14 shows still another example of the data processing apparatus. The data processing device 1D shown in the figure has an input circuit 5D, an output circuit 6D, a data memory 7D for storing data, a memory interface circuit 4D, and n parallel operation. A data processing circuit 20 D— 1 to 20 D—n, a demultiplexer 40 2 that supplies data to the data processing circuit in parallel, a multiplexer 40 1 that outputs data according to the result of the parallel processing, It is composed of a parallel degree register 41 and a parallel degree control circuit 400.
前記並列度レジス夕 4 1には、例えば図示されていない外部端子を介 して、外部から並列度制御データが設定される。前記並列度制御回路 4 0 0は、並列度レジスタ 4 1に設定された並列度制御データにしたがつ て前記デマルチプレクサ 4 0 2、データ処理回路 2 0 D— 1〜2 0 D— n、 及びマルチプレクサ 4 0 1の制御を行う。  The parallelism control data is externally set in the parallelism register 41 via, for example, an external terminal (not shown). According to the parallelism control data set in the parallelism register 41, the parallelism control circuit 400, the demultiplexer 402, the data processing circuit 20D-1 to 20Dn, And the multiplexer 401.
前記入力回路 5 Dは D V Dなどの記録媒体から読み取られたデ一夕 に必要に応じて復調などの前処理を施してデータメモリ Ί Dに転送す る。 このとき、 データは入力される順序では処理の順序に適さない場合 が多いため、 一旦データメモリ 7 Dに格納した後、処理に適した順序に 変換してデマルチプレクサ 4 0 2を通して並列にデータ処理回路 2 0 D— 1〜2 0 D— nに供給される。処理結果は必ずしも出力とは限らな いが、 第 1 4図では出力として説明している。完全同時とは限らないが、 並列的に得られる処理結果は前記マルチプレクサ 4 0 1を通してデー 夕メモリ 7 Dに格納される。出力回路 6 Dはデ一夕メモリ 7 Dに蓄積さ れた処理結果を適切な順序、 転送レー卜で出力する。メモリインタフエ —ス回路 4 Dは、 入力回路 5 D、 出力回路 6 D、 及びデ一夕処理回路 2 0 D— 1〜 2 0 D— nからのメモリアクセス要求に対して競合状態を 調停する。 The input circuit 5D performs preprocessing such as demodulation as needed on data read from a recording medium such as a DVD, and transfers the data to the data memory D. At this time, since the order of input data is often not suitable for the order of processing, the data is temporarily stored in the data memory 7D, converted to an order suitable for processing, and processed in parallel through the demultiplexer 402. Circuit 20 D—1 to 20 D—n. Processing results are not always output However, it is described as an output in Fig. 14. Although not necessarily simultaneous, the processing results obtained in parallel are stored in the data memory 7D through the multiplexer 401. The output circuit 6D outputs the processing results stored in the memory 7D in an appropriate order and transfer rate. The memory interface circuit 4D arbitrates a contention state for a memory access request from the input circuit 5D, the output circuit 6D, and the data processing circuit 20D-1 to 20D-n. .
データ処理回路 2 0 D— 1〜 2 0 D— nの並列化は全体の処理能力 を簡便に向上する場合に有効であるため、 多用されている。データ処理 装置 1 Dを適用しょうとするデータ処理システムでは、使用環境などか ら要求される最大の処理能力が高いので、並列処理を採用すると有効に 最大処理性能の仕様が満足できる。最大処理性能の仕様を満足するため に n個のデータ処理回路 2 0 D— 1〜2 0 D— nを並列して具備する ものの、通常の使用状態では m個しか必要がない場合、外部から並列度 レジス夕 4 1に並列度 m ( m < n ) を設定し、 デマルチプレクサ 4 0 2、 マルチプレクサ 4 0 1、データ処理回路 2 0 D—:!〜 2 0 0— 11が並列 度 mで動作するように制御する。 このとき、動作しない処理回路には、 並列度制御回路 4 0 0でクロック信号を供給しないように制御するこ とによってデータ処理回路全体の費電力を mZ nにすることができる。 全体としてはその他の回路の消費電力が固定値として加算されるが、多 くの場合、全体の消費電力に占めるデータ処理回路の割合が高いので、 全体での消費電力低減効果も大きい。  The parallelization of the data processing circuits 20 D-1 to 20 D-n is frequently used because it is effective for easily improving the overall processing capacity. In a data processing system to which the data processing device 1D is to be applied, the maximum processing capacity required from the usage environment is high, so the use of parallel processing can effectively satisfy the maximum processing performance specifications. Although n data processing circuits 20 D- 1 to 20 D-n are provided in parallel to satisfy the specification of the maximum processing performance, if only m m circuits are needed in normal use, external Degree of parallelism Set the degree of parallelism m (m <n) to the register 41 and demultiplexer 402, multiplexer 401, and data processing circuit 20D— :! 2 to 0 11 are controlled so as to operate at the parallel degree m. At this time, the power consumption of the entire data processing circuit can be reduced to mZn by controlling the non-operating processing circuit so that the clock signal is not supplied by the parallelism control circuit 400. As a whole, the power consumption of the other circuits is added as a fixed value. However, in many cases, the ratio of the data processing circuit to the total power consumption is high, so that the effect of reducing the power consumption as a whole is great.
《速度制御、 並列度制御による効果》  《Effects of speed control and parallelism control》
符号 2 0— 1〜2 0— nで代表されるデータ処理部の並列度を外部 から可変に制御できるから、少なくとも外部の状況に応じてデータ処理 装置 ( 1 A, I B ) の処理能力と電力消費を制御することができる。 ま た、 動作速度を外部から可変に制御できるから、 同じく、 外部の状況に 応じてデータ処理装置の処理能力と電力消費を制御することができる。 特に、 速度制御は、 データ処理ステップの進渉状況とは無関係に、 処理 手順にまったく影響を与えることなく行なうことができるので、一連の 処理途中でも速度制御を自由に行なうことができる。 Since the degree of parallelism of the data processing unit represented by the codes 20-1 to 20-0-n can be variably controlled externally, the processing capacity and power of the data processing device (1A, IB) can be adjusted at least according to external conditions. Consumption can be controlled. Ma In addition, since the operating speed can be variably controlled from outside, the processing capability and power consumption of the data processing device can be similarly controlled according to the external situation. In particular, speed control can be performed without affecting the processing procedure at all, irrespective of the progress of the data processing step, so that speed control can be performed freely even during a series of processing.
したがって、並列度可変と動作速度可変の双方を可能にすることによ り、 処理能力と消費電力制御を木目細かく行なうことができる。  Therefore, by enabling both the variable degree of parallelism and the variable operation speed, it is possible to finely control the processing capacity and power consumption.
データメモリ 7に対するデ一夕の蓄積状況に応じてデータ処理状況 を監視し、その状況を外部待機信号 5 5で外部に通知することにより、 外部による処理能力の制御がやり易くなる。更に、監視の為に設けられ たボイン夕 5 1〜 5 3を外部から直接参照可能にすれば、 一層、外部か らの処理能力の制御がやり易くなる。  By monitoring the data processing status according to the accumulation status of the data in the data memory 7 overnight, and notifying the status to the outside with the external standby signal 55, it becomes easy to control the processing capability by the outside. Furthermore, if the boys 51 to 53 provided for monitoring can be directly referred to from outside, it will be easier to control the processing capacity from outside.
S I M D型のデータ処理装置は、画像または音声処理などの処理に多 用されており、 そもそもデータ処理能力の向上が企図されているが、演 算処理内容や演算対象データによっては、 本来の演算処理能力を 1 0 0 %利用しない状況もあり得る。 そのような場合に、 上述のように、 速 度制御や並列度制御を外部から柔軟に行なうことができれば、データ処 理効率の向上と無駄な電力消費の削減と言う効果を最大限に引き出す ことができる。例えば、 圧縮したデータを伸長する場合、 データによつ て必要な処理が変化するから、データに応じて処理能力を変更すれば、 不所望な消費電力を低減できる。  SIMD-type data processing devices are often used for processing such as image or audio processing, and are originally intended to improve the data processing capacity.However, depending on the contents of the calculation processing and the data to be calculated, the original calculation processing There may be situations where 100% of the ability is not used. In such a case, if the speed control and the parallelism control can be performed flexibly from the outside as described above, it is possible to maximize the effects of improving data processing efficiency and reducing unnecessary power consumption. Can be. For example, when decompressing compressed data, the required processing changes depending on the data. Unnecessary power consumption can be reduced by changing the processing capacity according to the data.
また、誤り訂正回路 2 0 3に適用した場合、誤り訂正処理ステップは 誤りが無ければ実行する必要が無いから、その処理状況に応じて並列度 を変更すれば、データ処理効率の向上と無駄な電力消費の削減と言う効 果を最大限に引き出すことができる。 また、通常は処理能力を低く し、 ポインタ 5 1〜5 3の内容や外部待機信号 5 5の状態に従って、未処理 のデ一夕が多くなつた時点で、 処理能力を高くすればよい。 また、 処理 済みのデ一夕が多くなった時点で、処理能力を低くすることができる。 これによつて、 データの内容、 換言すれば、 必要な処理能力に応じて、 平均的な消費電力を低減することができる。 In addition, when applied to the error correction circuit 203, the error correction processing step does not need to be executed if there is no error. Therefore, if the degree of parallelism is changed according to the processing status, the improvement in data processing efficiency and wastefulness The effect of reducing power consumption can be maximized. Normally, the processing capacity is reduced, and the unprocessed data is processed according to the contents of pointers 51 to 53 and the state of external standby signal 55. When the number of nights increases, the processing capacity may be increased. In addition, when the number of processed data increases, the processing capacity can be reduced. As a result, the average power consumption can be reduced according to the content of the data, in other words, according to the required processing capacity.
D V D等のディスクドライブ装置に適用した場合、外部の状況やディ スクの状況に応じて処理能力を調節することにより、消費電力の低減を 図ることができる。. D V D— R A Mなどのシステムでは、 誤り訂正(デ 一夕復号化) とデータ符号化の処理を必要とする。 データ符号化は、 デ 一夕の復号化に比較して処理の内容が少ない。 また、 ディスクの書込み 速度も、 読み出し速度より遅いから、 書込み時には、 並列度を下げて使 用することにより消費電力の低減を図ることができる。  When applied to a disk drive device such as a DVD drive, the power consumption can be reduced by adjusting the processing capacity according to the external situation and the situation of the disk. ... Systems such as DVD-RAM require error correction (de- night decoding) and data encoding. Data encoding requires less processing than data decoding. Also, since the writing speed of the disk is slower than the reading speed, it is possible to reduce the power consumption by lowering the degree of parallelism during writing.
データ処理装置が適用されるシステム、例えばノート型のパソコン/ デスク トヅプ型のパソコンに応じて、消費電力を切り替えられるから、 システムの開発効率や生産性の向上に寄与できる。  The power consumption can be switched according to the system to which the data processing device is applied, for example, a notebook-type personal computer / desktop-type personal computer, which can contribute to improvement in system development efficiency and productivity.
処理能力を可変にできる誤り訂正回路については、符号化 Z復号化の 処理に共通に用いて、シンドロームの演算処理のみが必要とされる符号 化時には、 並列度を下げたり、 クロックの分周比を高くしたりして、 要 求される処理能力に応じて、 低消費電力化を図ることができる。  Error correction circuits with variable processing capability are commonly used for encoding and Z-decoding, and when encoding requires only syndrome operation, the degree of parallelism can be reduced or the clock division ratio can be reduced. Or lower the power consumption according to the required processing capacity.
処理速度や並列度を可変にしても、基本的なプログラムを変更しなく ても済むから、 プログラムの開発効率を阻害することがない。 クロック 信号の分周比は、 動作中に変更が容易であるから、 随時最適な制御を行 なうことができる。  Even if the processing speed and the degree of parallelism are variable, there is no need to change the basic program, so that the program development efficiency is not hindered. Since the division ratio of the clock signal can be easily changed during operation, optimal control can be performed at any time.
ホストインタフェース回路を内蔵して、例えば、 ホストコンピュータ からの司令に基づき、 消費電力を変更することができる。かかる司令に は、ホストイン夕フヱ一ス回路に用意されているユーザ定義コマンドを 使用することによって、 ドライブシステム上に、新規のハ一ドウエアな どを必要としない。 Built-in host interface circuit allows power consumption to be changed based on a command from the host computer, for example. Such commands include the use of user-defined commands provided in the host interface circuit to add new hardware to the drive system. No need.
以上本発明者によってなされた発明を実施例に基づいて具体的に説 明したが本発明はそれに限定されるものではなく、その要旨を逸脱しな い範囲において種々変更可能である。  The invention made by the present inventor has been specifically described based on the embodiments, but the present invention is not limited thereto, and can be variously modified without departing from the gist thereof.
例えば、速度制御と並列度制御のい何れか一方だけを採用してデータ 処理装置を構成しても良い。 また、個々のデータ処理部における待機制 御は採用しなくても良い。 また、 データメモリはデータ処理装置に内蔵 しても良い。逆に、命令制御部のためのプログラムメモリは外付けであ つても良い。  For example, the data processing device may be configured by employing only one of the speed control and the parallel degree control. Also, the standby control in each data processing unit need not be adopted. Further, the data memory may be built in the data processing device. Conversely, the program memory for the instruction control unit may be external.
デ一夕処理装置にオンチップされる各種回路は第 1図などで説明し た回路に限定されず適宜変更可能である。 また、 データ処理部による演 算処理は誤り訂正に限定されず、 伸長'圧縮、 変調 ·復調などの処理で あっても良い。従って、 データ処理装置はディスクコントロ一ラ用の L S Iに適用される場合に限定されず、通信用の L S Iなどに広く適用す る事ができる。  Various circuits on-chip in the data processing device are not limited to the circuits described in FIG. 1 and the like, and can be appropriately changed. Further, the arithmetic processing by the data processing unit is not limited to error correction, but may be processing such as decompression / compression, modulation / demodulation, and the like. Therefore, the data processing device is not limited to being applied to an LSI for a disk controller, but can be widely applied to an LSI for communication and the like.
また、第 1図で説明した前記処理能力変更用の制御レジスタ 3 2, 4 1、 そしてポインタ 5 1 , 5 2, 5 3は、 データ処理装置の中に設けた が、マイクロコンピュータ 2 2 0等のシステムコントロ一ラに配置して も良い。 産業上の利用可能性  Although the control registers 32, 41 and the pointers 51, 52, 53 for changing the processing capacity described in FIG. 1 are provided in the data processing device, the microcomputer 220, etc. It may be placed in the system controller. Industrial applicability
本発明は、 D V Dや C D— R O M等の光ディスクドライブ装置、通信 用のイン夕フェースコントローラ、そしてディジタルビデオカメラゃデ ィジ夕ルスチルカメラなどの画像データの圧縮'伸長等を行なう信号処 理装置などに広く適用することができる。  The present invention relates to an optical disk drive device such as a DVD or a CD-ROM, an interface controller for communication, and a signal processing device such as a digital video camera and a digital still camera for compressing and expanding image data. It can be widely applied.

Claims

請 求 の 範 囲 . 並列動作可能な複数個のデータ処理部と、 外部からの指示に従って 制御データを保有する制御レジス夕と、制御レジス夕が保有する制御 データに従って前記複数個のデータ処理部による並列動作の並列度 を決める並列度制御部と、を含んで成るものであることを特徴とする データ処理装置。 . 前記複数個のデータ処理部は、 クロック発生回路から出力されるク ロック信号に同期動作され、 前記並列度制御部は、前記データ処理部に前記ク口ック信号を別々 に供給する選択ゲートを有し、前記選択ゲートは前記制御データに基 づいてクロック信号を出力するか否かが決定されるものであること を特徴とする請求の範囲第 1項記載のデータ処理装置。 . 前記ク口ック発生回路は前記制御レジス夕の別の制御データに従つ てクロック信号の周波数を選択可能にされて成るものであることを 特徴とする請求の範囲第 2項記載のデータ処理装置。 . フエツチした命令を解読して制御情報を出力する命令制御部を更に 有し、前記命令制御部は前記複数個のデータ処理部に演算動作の為の 制御情報を並列的に供給可能にされ、 S I M D形式でデータ処理を行 なうものであることを特徴とする請求の範囲第 1項記載のデ一夕処 . 誤り訂正を行う誤り訂正プログラムを格納したプログラムメモリを 更に有し、前記制御部は前記プログラムメモリから命令をフエツチし, 前記データ処理部を用いて誤り訂正処理を行うものであることを特 徴とする請求の範囲第 4項記載のデータ処理装置。 . 前記データ処理部は、 ガロア体の乗算と加算を行なうことができる ガロア体演算回路を含み、前記制御部は前記ガロア体演算回路を制御 してデータ処理部に誤り訂正処理を行なわせるものであり、 1個の半 導体基板に形成されて成るものであることを特徴とする請求の範囲 第 5項記載のデータ処理装置。 7 .前記制御部は、 データメモリに格納された未処理データを前記デー 夕処理部に転送制御し、データ処理部で演算処理された処理済データ を前記データメモリに転送制御可能であり、 前記データ処理部による前記演算処理の状況を監視する監視回路 を更に し、 前記監視回路は、前記デ一タメモリに対するアクセスアドレスに基 づいて、前記データメモリに残存する未処理データ量が一定量を超え る状態を外部に通知するための信号を出力するものであることを特 徴とする請求の範囲第 4項記載のデータ処理装置。 . クロック信号に同期して並列動作可能な複数個のデータ処理部と、 外部からの指示に従って制御データを保有する制御レジス夕と、前記 制御レジス夕が保有する制御データに従って前記クロック信号の周 波数を決定する速度制御部と、を含んで成るものであることを特徴と するデータ処理装置。 . フェッチした命令を解読して制御情報を出力する命令制御部を更に 有し、前記命令制御部は前記複数個のデータ処理部に演算動作の為の 制御情報を並列的に供給可能にされ、 S I M D形式でデータ処理を行 なうものであることを特徴とする請求の範囲第 8項記載のデ一夕処 理装置。 0 . 誤り訂正を行う誤り訂正プログラムを格納したプログラムメモリ を更に有し、前記制御部は前記プログラムメモリから命令をフェッチ し、前記データ処理部を用いて誤り訂正処理を行うものであることを 特徴とする請求の範囲第 9項記載のデータ処理装置。 A plurality of data processing units capable of operating in parallel, a control register storing control data in accordance with an external instruction, and the plurality of data processing units according to control data stored in the control register. A data processing device comprising: a parallelism control unit for determining a parallelism of the parallel operation. The plurality of data processing units operate in synchronization with a clock signal output from a clock generation circuit, and the parallelism control unit includes a selection gate that separately supplies the clock signal to the data processing unit. 2. The data processing apparatus according to claim 1, wherein the selection gate determines whether or not to output a clock signal based on the control data. 3. The data according to claim 2, wherein the clock generation circuit is configured to be capable of selecting a frequency of a clock signal in accordance with another control data of the control register. Processing equipment. A command control unit that decodes the fetched command and outputs control information, wherein the command control unit is capable of supplying control information for arithmetic operation to the plurality of data processing units in parallel; 2. The data processing device according to claim 1, wherein the data processing is performed in a SIMD format. The control unit further includes a program memory storing an error correction program for performing error correction. 5. The data processing apparatus according to claim 4, wherein the data processing unit fetches an instruction from the program memory and performs an error correction process using the data processing unit. The data processing unit includes a Galois field arithmetic circuit capable of performing Galois field multiplication and addition, and the control unit controls the Galois field arithmetic circuit to cause the data processing unit to perform an error correction process. 6. The data processing device according to claim 5, wherein the data processing device is formed on a single semiconductor substrate. 7. The control unit is capable of controlling transfer of unprocessed data stored in a data memory to the data processing unit, and controlling transfer of processed data processed by the data processing unit to the data memory. A monitoring circuit that monitors a status of the arithmetic processing performed by the data processing unit, wherein the monitoring circuit is configured to determine whether an unprocessed data amount remaining in the data memory exceeds a predetermined amount based on an access address to the data memory. 5. The data processing apparatus according to claim 4, wherein the data processing apparatus outputs a signal for notifying a state to the outside to the outside. A plurality of data processing units capable of operating in parallel in synchronization with a clock signal; a control register storing control data according to an external instruction; and a frequency of the clock signal according to control data stored in the control register. And a speed control unit for determining the speed of the data. A command control unit that decodes the fetched command and outputs control information, wherein the command control unit is capable of supplying control information for an arithmetic operation to the plurality of data processing units in parallel; 9. The data processing device according to claim 8, wherein data processing is performed in a SIMD format. 0. The apparatus further comprises a program memory storing an error correction program for performing error correction, wherein the control unit fetches an instruction from the program memory and performs an error correction process using the data processing unit. 10. The data processing device according to claim 9, wherein:
1 . 前記データ処理部は、 ガロア体の乗算と加算を行なうことができ るガロア体演算回路を含み、前記制御部は前記ガロア体演算回路を制 御してデータ処理部に誤り訂正処理を行なわせるものであり、 1個の 半導体基板に形成されて成るものであることを特徴とする請求の範 囲第 1 0項記載のデータ処理装置。  1. The data processing unit includes a Galois field arithmetic circuit capable of performing Galois field multiplication and addition, and the control unit controls the Galois field arithmetic circuit to perform error correction processing on the data processing unit. 10. The data processing device according to claim 10, wherein the data processing device is formed on one semiconductor substrate.
2 .前記制御部は、 データメモリに格納された未処理デ一夕を前記デ 一夕処理部に転送制御し、データ処理部で演算処理された処理済デ一 夕を前記デ一タメモリに転送制御可能であり、  2. The control unit controls the transfer of the unprocessed data stored in the data memory to the data processing unit, and transfers the processed data processed by the data processing unit to the data memory. Controllable,
前記データ処理部による前記演算処理の状況を監視する監視回路 を更に有し、  A monitoring circuit that monitors a status of the arithmetic processing by the data processing unit;
前記監視回路は、前記データメモリに対するアクセスアドレスに基 づいて、前記データメモリに残存する未処理デ一夕量が一定量を超え る状態を外部に通知するための信号を出力するものであることを特 徴とする請求の範囲第 8項記載のデータ処理装置。  The monitoring circuit outputs, based on an access address to the data memory, a signal for notifying an external state that the amount of unprocessed data remaining in the data memory exceeds a certain amount. 9. The data processing device according to claim 8, wherein the data processing device is characterized in that:
3 . クロック信号に同期して並列動作可能な複数個のデータ処理部と、 外部からの指示に従って第 1制御データを保有する第 1の制御レジ ス夕と、外部からの指示に従って第 2制御デ一夕を保有する第 2の制 御レジス夕と、前記第 1の制御レジス夕が保有する前記第 1の制御デ —夕に従って前記複数個のデータ処理部による並列動作の並列度を 決める並列度制御部と、前記第 2の制御レジス夕が保有する第 2の制 御データに従って前記ク口ック信号の周波数を決定する速度制御部 と、 を含んで成るものであることを特徴とするデータ処理装置。  3. A plurality of data processing units capable of operating in parallel in synchronization with the clock signal, a first control register holding the first control data according to an external instruction, and a second control data according to the external instruction. A second control register for storing the data and a first control data stored in the first control register for determining the degree of parallel operation of the plurality of data processing units in accordance with the first control data; Data comprising: a control unit; and a speed control unit that determines a frequency of the click signal in accordance with second control data held by the second control register. Processing equipment.
4 . フェッチした命令を解読して制御情報を出力する命令制御部を更 に有し、前記命令制御部は前記複数個のデータ処理部に演算動作の為 の制御情報を並列的に供給可能にされ、 S I M D形式でデータ処理を 行なうものであることを特徴とする請求の範囲第 1 3項記載のデ一 夕処理装置。 4. It further has an instruction control unit for decoding the fetched instruction and outputting control information, and the instruction control unit can supply control information for arithmetic operation to the plurality of data processing units in parallel. Data processing in SIMD format 14. The data processing apparatus according to claim 13, wherein the processing is performed.
5 . 誤り訂正を行う誤り訂正プログラムを格納したプログラムメモリ を更に有し、前記制御部は前記プログラムメモリから命令をフエツチ し、前記データ処理部を用いて誤り訂正処理を行うものであることを 特徴とする請求の範囲第 1 4項記載のデータ処理装置。 5. It further comprises a program memory storing an error correction program for performing error correction, wherein the control unit retrieves an instruction from the program memory and performs an error correction process using the data processing unit. The data processing device according to claim 14, wherein:
6 . 前記データ処理部は、 ガロア体の乗算と加算を行なうことができ るガロア体演算回路を含み、前記制御部は前記ガロア体演算回路を制 御してデータ処理部に誤り訂正処理を行なわせるものであり、 1個の 半導体基板に形成されて成るものであることを特徴とする請求の範 囲第 1 5項記載のデータ処理装置。  6. The data processing unit includes a Galois field arithmetic circuit capable of performing Galois field multiplication and addition, and the control unit controls the Galois field arithmetic circuit to perform error correction processing on the data processing unit. 16. The data processing device according to claim 15, wherein the data processing device is formed on one semiconductor substrate.
7 .前記制御部は、 データメモリに格納された未処理データを前記デ —夕処理部に転送制御し、データ処理部で演算処理された処理済デー 夕を前記デ一夕メモリに転送制御可能であり、  7. The control unit can control the transfer of the unprocessed data stored in the data memory to the data processing unit, and can control the transfer of the processed data processed by the data processing unit to the data memory. And
前記データ処理部による前記演算処理の状況を監視する監視回路 を更に有し、  A monitoring circuit that monitors a status of the arithmetic processing by the data processing unit;
前記監視回路は、前記データメモリに対するアクセスァドレスに基 づいて、前記データメモリに残存する未処理デ一夕量が一定量を超え る状態を外部に通知するための信号を出力するものであることを特 徴とする請求の範囲第 1 3項記載のデータ処理装置。 The monitoring circuit outputs, based on an access address to the data memory, a signal for notifying an external state that the amount of unprocessed data remaining in the data memory exceeds a certain amount. The data processing device according to claim 13, wherein the data processing device is characterized in that:
8 . 外部からデータを入力する入力回路と、 前記入力回路から入力さ れたデ一夕を格納し、格納されたデ一夕が前記データ処理部に与えら れ、データ処理部で演算されたデータを再び格納するデータメモリと、 前記データメモリに格納されているデ一夕を外部に出力する出力回 路とを更に含んで、 1個の半導体基板に形成されて成るものであるこ とを特徴とする請求の範囲第 1項、 第 3項、 又は第 1 3項記載のデー 夕処理装置。 8. An input circuit for inputting data from the outside, and a data input from the input circuit are stored. The stored data is provided to the data processing unit, and the data processing unit calculates the data. It is characterized by being formed on one semiconductor substrate, further including a data memory for storing data again, and an output circuit for outputting data stored in the data memory to the outside. The data as set forth in claims 1, 3, or 13. Evening treatment equipment.
1 9 . 前記入力回路は、 入力信号を復調する復調手段と、 復調したデ一 夕を前記データメモリに転送するデータ転送制御手段とを更に含ん で成るものであることを特徴とする請求の範囲第 1 8項記載のデー 夕処理装置。  19. The input circuit further comprises: demodulation means for demodulating an input signal; and data transfer control means for transferring the demodulated data to the data memory. Item 18. The data processing equipment described in Item 18.
2 0 . システムインタフェース手段を更に備え、前記デ一夕転送制御手 段は前記システムィン夕フェース手段を介して転送制御条件が設定 可能にされて成るものであることを特徴とする請求の範囲第 1 9項 記載のデータ処理装置。  20. The apparatus according to claim 1, further comprising a system interface means, wherein said data transfer control means is configured to enable a transfer control condition to be set via said system interface means. Item 9. The data processing device according to item 9.
2 1 ·前記制御レジスタは前記システムィン夕フヱ一ス手段を介して外 部から直接アクセス可能であることを特徴とする請求の範囲第 2 0 項記載のデータ処理装置。  21. The data processing apparatus according to claim 20, wherein said control register is directly accessible from outside via said system interface means.
PCT/JP1999/003279 1999-06-21 1999-06-21 Data processor WO2000079405A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/JP1999/003279 WO2000079405A1 (en) 1999-06-21 1999-06-21 Data processor
TW088113540A TW476883B (en) 1999-06-21 1999-08-07 Data processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP1999/003279 WO2000079405A1 (en) 1999-06-21 1999-06-21 Data processor

Publications (1)

Publication Number Publication Date
WO2000079405A1 true WO2000079405A1 (en) 2000-12-28

Family

ID=14236005

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP1999/003279 WO2000079405A1 (en) 1999-06-21 1999-06-21 Data processor

Country Status (2)

Country Link
TW (1) TW476883B (en)
WO (1) WO2000079405A1 (en)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002236527A (en) * 2001-02-08 2002-08-23 Hitachi Ltd Multiprocessor system and processor control method
JP2006119777A (en) * 2004-10-20 2006-05-11 Renesas Technology Corp Semiconductor device
CN1322397C (en) * 2003-10-27 2007-06-20 松下电器产业株式会社 Processor system, instruction sequence optimization device, and instruction sequence optimization program
JP2008518311A (en) * 2004-10-25 2008-05-29 ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング Clock switching method for switching clocks in a multiprocessor system, a unit for switching clocks, and a system having a unit for switching clocks
JP2008234688A (en) * 2008-07-02 2008-10-02 Fujitsu Ltd Integrated circuit device
JP2008544350A (en) * 2005-06-09 2008-12-04 クゥアルコム・インコーポレイテッド Microprocessor with automatic selection of SIMD parallel processing
JP2009048640A (en) * 2007-08-17 2009-03-05 Samsung Electronics Co Ltd Memory system including error correction decoder structure capable of reducing latency and increasing throughput
JP2009054159A (en) * 2007-08-28 2009-03-12 Samsung Electronics Co Ltd Multi-channel memory system including area-efficient error correction decoder structure
US8122231B2 (en) 2005-06-09 2012-02-21 Qualcomm Incorporated Software selectable adjustment of SIMD parallelism
JP2013161271A (en) * 2012-02-06 2013-08-19 Ricoh Co Ltd Simd (single instruction-stream multiple data-stream) type microprocessor
JP2015089006A (en) * 2013-10-31 2015-05-07 日本電信電話株式会社 Encoding device and decoding device
WO2018021036A1 (en) * 2016-07-26 2018-02-01 ソニーセミコンダクタソリューションズ株式会社 Reception device, reception method, and program
JP2019501456A (en) * 2015-12-17 2019-01-17 ミニマ プロセッサー オイ System and method for controlling operating voltage

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10175990B2 (en) 2009-12-22 2019-01-08 Intel Corporation Gathering and scattering multiple data elements
TWI449926B (en) * 2012-04-09 2014-08-21 Wistron Corp Transmitting interface and method for determining transmitting signals

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH086681A (en) * 1994-04-18 1996-01-12 Hitachi Ltd Power saving control system
JPH08153086A (en) * 1994-11-30 1996-06-11 Canon Inc Processor
JPH09138716A (en) * 1995-11-14 1997-05-27 Toshiba Corp Electronic computer
JPH09282305A (en) * 1996-04-17 1997-10-31 Ricoh Co Ltd Digital data processor
JPH10321645A (en) * 1997-05-15 1998-12-04 Fujitsu Ltd Semiconductor device and manufacturing method thereof

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH086681A (en) * 1994-04-18 1996-01-12 Hitachi Ltd Power saving control system
JPH08153086A (en) * 1994-11-30 1996-06-11 Canon Inc Processor
JPH09138716A (en) * 1995-11-14 1997-05-27 Toshiba Corp Electronic computer
JPH09282305A (en) * 1996-04-17 1997-10-31 Ricoh Co Ltd Digital data processor
JPH10321645A (en) * 1997-05-15 1998-12-04 Fujitsu Ltd Semiconductor device and manufacturing method thereof

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002236527A (en) * 2001-02-08 2002-08-23 Hitachi Ltd Multiprocessor system and processor control method
CN1322397C (en) * 2003-10-27 2007-06-20 松下电器产业株式会社 Processor system, instruction sequence optimization device, and instruction sequence optimization program
JP2006119777A (en) * 2004-10-20 2006-05-11 Renesas Technology Corp Semiconductor device
JP2008518311A (en) * 2004-10-25 2008-05-29 ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング Clock switching method for switching clocks in a multiprocessor system, a unit for switching clocks, and a system having a unit for switching clocks
US8799627B2 (en) 2005-06-09 2014-08-05 Qualcomm Incorporated Software selectable adjustment of SIMD parallelism
JP2008544350A (en) * 2005-06-09 2008-12-04 クゥアルコム・インコーポレイテッド Microprocessor with automatic selection of SIMD parallel processing
US8122231B2 (en) 2005-06-09 2012-02-21 Qualcomm Incorporated Software selectable adjustment of SIMD parallelism
JP2009048640A (en) * 2007-08-17 2009-03-05 Samsung Electronics Co Ltd Memory system including error correction decoder structure capable of reducing latency and increasing throughput
JP2009054159A (en) * 2007-08-28 2009-03-12 Samsung Electronics Co Ltd Multi-channel memory system including area-efficient error correction decoder structure
JP2008234688A (en) * 2008-07-02 2008-10-02 Fujitsu Ltd Integrated circuit device
JP2013161271A (en) * 2012-02-06 2013-08-19 Ricoh Co Ltd Simd (single instruction-stream multiple data-stream) type microprocessor
JP2015089006A (en) * 2013-10-31 2015-05-07 日本電信電話株式会社 Encoding device and decoding device
JP2019501456A (en) * 2015-12-17 2019-01-17 ミニマ プロセッサー オイ System and method for controlling operating voltage
WO2018021036A1 (en) * 2016-07-26 2018-02-01 ソニーセミコンダクタソリューションズ株式会社 Reception device, reception method, and program
KR20190031201A (en) * 2016-07-26 2019-03-25 소니 세미컨덕터 솔루션즈 가부시키가이샤 Receiving apparatus, receiving method, and program
JPWO2018021036A1 (en) * 2016-07-26 2019-05-09 ソニーセミコンダクタソリューションズ株式会社 Receiving device, receiving method, and program
KR102365213B1 (en) * 2016-07-26 2022-02-21 소니 세미컨덕터 솔루션즈 가부시키가이샤 Receiving device, receiving method, and program
JP7046809B2 (en) 2016-07-26 2022-04-04 ソニーセミコンダクタソリューションズ株式会社 Receiver and receiving method

Also Published As

Publication number Publication date
TW476883B (en) 2002-02-21

Similar Documents

Publication Publication Date Title
US11334429B2 (en) Non-volatile memory apparatus and reading method thereof
WO2000079405A1 (en) Data processor
US6167551A (en) DVD controller with embedded DRAM for ECC-block buffering
US7111142B2 (en) System for quickly transferring data
EP0497593B1 (en) On-the-fly error correction with embedded digital controller
US8159889B2 (en) Solid state disk controller apparatus
US7555201B2 (en) Optical disc player system and method of controlling a decoding unit in the optical disc player system to read encoded bitstream data from a buffer memory
JP5068367B2 (en) How to reduce energy when storing data in memory
US8392799B1 (en) Systems and methods for arbitrating use of processor memory
JP3756409B2 (en) Data hazard detection system
EP0706184B1 (en) Error correcting apparatus
US7549104B2 (en) Digital signal processing method and apparatus performing variable number of error correction repetitions
JP2000259579A (en) Semiconductor integrated circuit
US6260169B1 (en) Device and method for real time correction of row data from DVD media
US10990354B2 (en) Neural network accelerating device and method of controlling the same
US6505319B1 (en) Signal processing circuit and information recording apparatus
JP3530388B2 (en) Code error correction device
WO1999014685A1 (en) Data processor and data processing system
US6430530B1 (en) Apparatus for automatically processing both encoded and unencoded data
JP2003139818A (en) Semiconductor integrated circuit and method of testing semiconductor integrated circuit
JP2001325204A (en) Semiconductor integrated circuit and optical disk drive
US6304993B1 (en) Method and apparatus for performing efficient reseeks in an optical storage device
JP2000357372A (en) Semiconductor integrated circuit and control system
CN101178922A (en) Error correction processing device with high memory use efficiency
JPH08194661A (en) Data transfer device

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): JP KR US

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
ENP Entry into the national phase

Ref country code: JP

Ref document number: 2001 505302

Kind code of ref document: A

Format of ref document f/p: F