Apparatus and method for compression based error correction procedure in a data processing system
In a data processing system in which the complete set of op-code signal groups are stored in a ROM unit, a programmable, non-volatile memory unit stores the address signal groups of the set of op-code signal groups currently controlling the operation of the data processing system. In addition, the programmable, non-volatile memory unit has error checking and correction signal groups associated with each op-code signal groups. To retrieve an op-code signal group from the ROM unit, the central processing unit applies a pointer/address signal group to the programmable, non-volatile memory. The op-code address and the error checking and correction signal group at the location specified by the pointer/address signal group is retrieved from the programmable, non-volatile memory unit, subjected to error checking and correction procedures and the resulting address signal groups is applied to the ROM unit. The op-code signal group identified by the address signal group is retrieved and transferred to the central processing unit. A net data compression is achieved by this configuration.
1. Field of the Invention
This invention relates generally to the storage and retrieval of op-code signal groups in a data processing unit and, more particularly, to the storage and retrieval of op-code signal groups having error checking and correction signal groups associated therewith.
2. Background of the Invention
Referring to
For example, each set of op-code signal groups can be, in current data processing implementations, over 32,000 32-bit words. The number of used 32-bit words can be over 22,000 32-bit words and the number of unique op-code words can be over 17,000. When the error checking and correction signal groups are added, the memory requirements can be large. In addition, the use of the ROM unit to store the complete set of op-code words is relatively inflexible.
A need has therefore been felt for apparatus and an associated method having the feature that the storage and retrieval requirements for op-code signal groups can be more flexible while retaining the use of error checking and correction techniques in a data processing system. It would be another feature of the apparatus and associated method to provide a programmable non-volatile storage unit for storing the group of addresses in the ROM unit of the op-code signal groups that are currently being utilized by the data processing system. It would be a still further feature of the apparatus and associated method to provide error checking and correction procedures to the op-code signal address signal groups stored in the programmable, non-volatile memory. It would be a more particular feature of the apparatus and associated method to implement the programmable, non-volatile memory in FLASH technology. It would be a still further feature of the apparatus and related method to provide for a reduced signal group storage requirement.
SUMMARY OF THE INVENTIONThe aforementioned and other features can be accomplished, according to the present invention, by providing a ROM unit in which the entire set of op-code instructions and providing a programmable, non-volatile memory unit storing the addresses of the group of op-code signal groups currently controlling the operation of the data processing system. The address signal groups stored in the programmable, non-volatile memory have error checking and correction bits stored therewith. Because the address signal groups have a smaller number of bits, the address signal groups and associated error checking and correction signal groups have a smaller number of bits than the associated op-code signal groups along with the associated address signal groups. This lower number of data bits results in a data compression of the stored data. To retrieve an op-code signal group from the ROM unit the central processing unit applies a pointer/address signal group to the programmable, non-volatile memory. The op-code address and the error checking and correction signal group at the location specified by the pointer/address signal group is retrieved from the programmable, non-volatile memory unit, subjected to error checking and correction procedures and the resulting address signal groups is applied to the ROM unit. The op-code signal group identified by the address signal group is retrieved and transferred to the central processing unit.
Other features and advantages of present invention will be more clearly understood upon reading of the following description and the accompanying drawings and the claims.
BRIEF DESCRIPTION OF THE DRAWINGS
1. Detailed Description of the Figures
Referring next to
Referring to
2. Operation of the Preferred Embodiment
The invention can be understood as follows. In the processing environment, sub-sets of op-code signal groups can be used to control the operation of the central processing unit rather than a full set of op-code signal groups. In the preferred embodiment, the sub-set of op-code signal groups used by the central processing unit are stored in the programmable, non-volatile memory unit. The entire set of op-code signal groups is stored in the ROM unit. For a program using a sub-set of the instructions, the central processing unit can use a pointer/address signal groups that identifies a ROM address in the programmable, non-volatile memory unit. The ROM address is retrieved from the programmable, non-volatile memory and applied to an error checking and correction unit. In the preferred embodiment, the programmable, non-volatile memory unit is implemented using a FLASH-technology memory unit. The FLASH memory unit is more likely to generate an error than ROM unit. Therefore, the error checking and correction procedures are more effectively applied to the output of the FLASH memory unit rather than the ROM unit.
The use of error checking and correction techniques in only the programmable, non-volatile memory unit has the advantage that the number of bits forming the pointer/address signal group is (typically much) smaller than the number of bits forming the op-code signal groups in the ROM unit. Because the number of error checking and correction signal groups associated with each data signal group is a function of the number of bits forming the instruction, the total memory required can be reduced when error checking and correction signal groups are associated with a reduced bit signal group. In addition, the programmable, non-volatile memory unit includes only op-code signal groups that are currently being used by the central processing unit rather than the entire set of op-code signal groups stored in the ROM unit. The use of the programmable, non-volatile memory unit permits the sub-set of the set of op-code signal groups stored therein to be altered resulting in a greater flexibility in the operation of the data processing system.
By way of specific example, the op-code signal groups of the preferred embodiment are 32-bits in length. In addresses of the ROM op-code signal groups stored in the programmable non-volatile memory unit are 15-bits in length. The associated error checking and correction signal groups are therefore corresponding shorter for the ROM addresses than would the error checking and correction for the ROM address signal groups stored in the programmable non-volatile memory unit. The result is a net reduction in the storage requirements for providing the op-code signal groups.
While the invention has been described with respect to the embodiments set forth above, the invention is not necessarily limited to these embodiments. Accordingly, other embodiments, variations, and improvements not described herein are not necessarily excluded from the scope of the invention, the scope of the invention being defined by the following claims.
Claims
1. A data processing system comprising:
- a central processing unit;
- a ROM unit storing op-code signal groups;
- a programmable, non-volatile memory unit storing ROM pointer/address signal groups for a sub-set of op-code signal groups stored in the ROM unit, the programmable memory unit storing associated error checking and correction signal groups with each ROM pointer/address signal group; and
- an error checking and correction unit, wherein application of a pointer/address signal group to the programmable memory unit transfers a retrieved ROM unit pointer/address signal group and an associated error checking and correction signal group to the error checking and correction unit, the error checking and correction unit applying the retrieved first memory address signal group to the ROM unit, the ROM unit transferring the op-code signal group at the ROM unit address identified by the pointer/address signal group to the central processing unit.
2. The data processing system as recited in claim 1 wherein the memory space for the pointer/address signal group, along with the associated error checking and correction bits and the op-code signal groups is less than the memory space for the op-code signal groups and associated error checking and correction bits.
3. The data processing system as recited in claim 1 wherein the ROM memory unit stores a set of all possible op-codes signal groups for the central processing unit.
4. The data processing system as recited in claim 1 wherein the central processing unit applies a pointer/address signal group to the programmable memory unit to retrieve a ROM address.
5. The data processing system as recited in claim 1 wherein the programmable memory unit is implemented in FLASH technology.
6. The data processing system as recited in claim 1 wherein an interrupt flag is generated when the error checking and correction unit identifies an uncorrectable error.
7. A method for the retrieval of a selected op-code signal groups, the method comprising:
- applying an address signal group to a programmable, non-volatile memory unit, the addressed location including a ROM address signal group and an error checking and correction signal group;
- implementing an error checking and correction procedure for the ROM address signal group and the error checking and correction signal groups;
- applying the ROM address signal group to a ROM unit; and
- transferring the op-code signal group stored at the ROM address signal group location to the central processing unit, the op-code signal groups being the selected op-code signal group.
8. The method as recited in claim 7 wherein the ROM address signal groups along with associated the error checking and correction signal groups and the op-code signal groups require less memory space than the op-code signal groups along with associated error checking and correction signal groups.
9. The method as recited in claim 8 further including implementing the programmable memory unit in FLASH technology.
10. The method as recited in claim 8 wherein the ROM unit stores the entire set of op-codes signal groups for a central processing unit.
11. The method as recited in claim 10 wherein the programmable, non-volatile memory stores a sub-set of the op-codes signal groups stored in the ROM unit, the sub-set of op-code signal groups being used for the current operation of the central processing unit.
12. A data processing system comprising:
- a central processing unit, the central processing unit controlled by a current set of op-code signal groups;
- a ROM memory unit storing all op-code signal groups for the central processing unit, each op-code signal group identified by an op-code address;
- a programmable, non-volatile memory unit having locations storing the ROM addresses for the current op-code signal groups, each location also storing an associated error checking and correction signal group for the ROM address signal group at that location; and
- an error checking and correction unit coupled to the programmable, non-volatile memory unit, the error checking and correction unit applying error checking and correction techniques to the signal groups retrieved from the programmable, non-volatile memory unit, the error checking and correction unit applying the ROM address to the ROM unit;
- wherein the central processing unit applies a pointer/address signal group to the programmable, non-volatile memory unit when an op-code signal group is required, the pointer/address signal group identifying a location storing the ROM address of the required op-code signal group.
13. The data processing system as recited in claim 12 wherein the programmable, non-volatile memory unit is implemented in FLASH technology.
14. The data processing system as recited in claim 12 wherein an interrupt signal is generated when a non-correctable error is identified by error checking and correction unit.
15. The data processing system as recited in claim 12 wherein the ROM addresses along with associated error checking and correction signal groups and op-code signal groups require less memory space than the op-code-signal groups along with associated error checking and correction signal groups.
Type: Application
Filed: Aug 13, 2003
Publication Date: Feb 17, 2005
Patent Grant number: 7089447
Inventor: Harland Hopkins (Missouri City, TX)
Application Number: 10/640,162