Microprocessor having built-in CRC section and method for...

Error detection/correction and fault detection/recovery – Pulse or data error handling – Digital data error correction

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C714S757000

Reexamination Certificate

active

06195779

ABSTRACT:

BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention concerns a microcomputer that can perform CRC (cyclic redundancy check) operations, which is used in the error-checking of transmission data and the like, and which can generate CRC codes for such CRC operations.
2. Description of Related Art
Conventional microprocessors generate and check CRC codes of transmission data using special purpose CRC code generating and checking hardware or using an existing arithmetic circuit inside an arithmetic logic unit (hereinafter “ALU”) in conjunction with CRC code generating and checking software that has been formed by combining existing commands that correspond to each of the arithmetic circuits.
However, since a functional circuit block for generating and checking the CRC codes, separate from the functional block of the microprocessor, has to be added as in the former case where special purpose hardware for CRC code generation and checking is used, problems like complicated assembly work and increased costs due to the addition of the functional block for the CRC arise; for example, like the case when a car-mounted Local Area Network (hereinafter “LAN”) is constructed by connecting various control devices through communication lines where each functional block has to be connected to each of the control devices.
On the other hand, for the latter case where CRC code generation and checking are based in software, there is no need to provide a special CRC functional block, thus, resulting in a simpler construction for the apparatus. For example, the assembly of the car-mounted LAN described above becomes simpler; however, since complicated computational processes have to be performed to generate and check CRC codes using software, it will take time to generate and check CRC codes and thus, problems such as drops in the transmission and reception speed arise.
In other words, in performing CRC code generation and checking, since processing of the transmission data has to be performed using a complicated polynomial, performing CRC code generation and checking using the software-based approach would take a lot of time and thus, this approach cannot be used in cases when quick responses of the controls are required as in the case of the automotive control system described above.
SUMMARY OF THE INVENTION
In consideration of these problems, a first object of the present invention is to perform high-speed CRC code generation and checking by the addition of a CRC code generation and checking section to the microprocessor. A further object of the invention is to provide a microprocessor that can be implemented with a simple structure and at a low cost.
In a first aspect, the present invention achieves these objects by providing a microprocessor which includes an arithmetic logic unit having a CRC code generating CRC arithmetic circuit including an exclusive OR circuit performing exclusive OR operations on data input thereto, the exclusive OR circuit being formed along one part of a path for inputting bit data or each bit data of the word or byte data to a shift circuit which shifts word or byte data including bit data and the inputs of which include one bit of data that corresponds to the path, bit data that is outputted to the outside by shifting the word or byte data, and bit data.
As described above, by providing at one part of a path for supplying each bit data of the word or byte data that has to be shifted and each word or byte data that shifts each bit data to a shift circuit of an arithmetic and logic unit (ALU) an exclusive OR circuit, which computes the exclusive OR of the one bit of data that corresponds to the path, the bit data from the word or byte data that the shift circuit outputs through its shift operation and the bit data, a CRC arithmetic circuit that generates and checks CRC codes is formed inside the ALU.
In short, by combining the shift circuit, which is usually installed inside the ALU and used for executing shift commands, one of the basic commands of the microprocessor, and the exclusive OR circuit, which is also usually installed inside the ALU, CRC arithmetic circuit for computing CRC codes is formed inside the ALU.
In this way, the CRC arithmetic circuit inside the ALU performs the computation functions for the CRC code computation using the CRC arithmetic circuit responsive to a CRC computation command, and high-speed CRC code generation and checking can be realized.
As described above, since the CRC arithmetic circuit is formed by combining the shift and the exclusive OR circuits that are, by convention, usually installed inside the ALU, the CRC arithmetic circuit can be easily implemented by changing only a part of the ALU of the conventional microprocessor without enlarging the ALU or increasing its manufacturing costs.
According to another aspect of the invention, a selector circuit is provided along the input path where the exclusive OR circuit has been set, selects between data outputted by the exclusive OR circuit and the one bit data that corresponds to the path according to the selection command, and provides the selected data to the shift circuit.
Preferably, all the data input paths to the shift circuit are connected to the exclusive OR and the selector circuits.
Thus, a selection circuit which inputs the data to the shift circuit by selecting between the data outputted by the exclusive OR circuit and the one bit data that corresponds to the input path according to the selection signal is set up at the input path for the data to the shift circuit in which the exclusive OR circuit is formed.
In this way, if the selection circuit selects the data that corresponds to the path using a selection command, the shift circuit will function as a regular shift circuit that shifts the data according to the shift command. On the other hand, if the selection circuit selects the data outputted by the exclusive OR circuit, the shift circuit will function as a CRC arithmetic circuit for computing CRC codes.
In short, according to this invention, the CRC arithmetic circuit can be made to function either as a CRC arithmetic circuit or as a regular shift circuit through software-based switching. Accordingly, there is no need to provide a separate shift circuit for the computation of CRC codes aside from the regular shift circuit inside the ALU; thus, the construction of the ALU can be made simpler.
Since exclusive OR and selector circuits are provided for each of the data input paths to the shift circuit, not only can the shift circuit be made to function as either a CRC arithmetic circuit or a regular shift circuit, but in addition, when the shift circuit is made to function as the CRC arithmetic circuit, the type of CRC code to be generated by the CRC generation circuit can be set arbitrarily by setting the values to be selected by each of the selection circuits arbitrarily.
In other words, when the CRC arithmetic circuit has an exclusive OR circuit at the data input path to the shift circuit, since the generating polynomial for CRC code generation is determined by the path provided with the exclusive OR circuit, then providing the exclusive OR and selection circuits for each of all the input paths and enabling the setting of each of the data to be selected by each of the selection circuits through the selection command, the CRC code generation polynomial equation can be set through software and thus, it is possible to arbitrarily set the type of CRC code obtained through the computation command.
Thus, in a preferred embodiment of the present invention, the generating polynomial used for CRC code generation and checking can be changed or altered in accordance with the microprocessor's application, the transmission format of the LAN connected to the microprocessor, and the like; thus, the scope of use of the microprocessor is widened.


REFERENCES:
patent: 3873971 (1975-03-01), En
patent: 4119945 (1978-10-01), Lewis, Jr. et al.
patent: 4312068 (1982-01-01), Goss et al.
patent: 4404674 (1983-09-01), Rhodes
patent: 4742520 (1988-05-01), Hoac et al.
patent:

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Microprocessor having built-in CRC section and method for... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Microprocessor having built-in CRC section and method for..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Microprocessor having built-in CRC section and method for... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2594566

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.