Electrical computers and digital processing systems: processing – Instruction decoding – Decoding instruction to accommodate variable length...
Reexamination Certificate
1998-08-18
2001-03-13
An, Meng-Ai T. (Department: 2154)
Electrical computers and digital processing systems: processing
Instruction decoding
Decoding instruction to accommodate variable length...
C712S035000, C712S205000, C711S170000, C711S171000, C711S172000, C711S173000, C710S107000
Reexamination Certificate
active
06202143
ABSTRACT:
FIELD OF THE INVENTION
The present invention concerns a data processing system, and more particularly a data processing system for accessing a program memory storing instruction sets of various bit widths, and a method of operating it.
BACKGROUND OF THE INVENTION
Recently, semiconductor fabrication technology has made it possible to achieve a semiconductor chip with complex functions, which includes various circuits constituting an electronic system on the single chip to considerably reduce the system size. Namely, the various independent devices constituting the control circuits of a computer system conventionally have been mounted on the main board, but the recently developed technology makes it possible to obtain the various control devices as a single chip, so that the size of the whole circuits may be reduced, and thus the size of the electronic system. This in addition reduces the production cost together with the operating power consumption. Moreover, such development of the semiconductor fabrication technology has affected the micro controller unit (MCU) and digital signal processor (DSP).
It has been generally known in this art that a DSP is suitable for a signal processing program to execute repeated computations, and a MCU for a control program. However, there frequently occurs a case in which a single information-handling task is composed of control parts and computational parts (especially repeated computations), and to use both a DSP and a MCU complicates handling of such a task. For example, one problem is to employ two different instructions, complicating the mutual interface such as data exchange. Another problem is that the development environment is complicated due to the two instruction streams to make the program debugging difficult. A third problem is that the synchronization between DSP and MCU is not easy. And another problem is an increase in the circuit size. In order to cope with these problems, the orthogonal instruction of the RISC (Reduced Instruction Set Computer) type may be used to achieve good compilation.
DSPs and MCUs have different structural characteristics. A DSP is designed to suit the algorithm to process a voice signal, an audio signal, etc. at high speed, thereby having a very irregular hardware structure and non-orthogonal instruction set. This makes it very difficult to develop a high performance compiler to compile programs for DSP. For most of the cases, the application programs for DSP are usually developed by using an assembler.
Application of DSP suffers poor locality of data owing to continuous input and output of data, compared to application of MCU, so that it is difficult for DSP to have the memory hierarchy consisting of register, cache, virtual memory, etc. The architecture of a DSP is generally based on the memory rather than the register, employing the so-called Harvard Architecture that the program memory and data memory are separated from each other to have respective program bus and data bus in order to facilitate data access.
A DSP designed for implementing a filter frequently performs multiplying operations using two operands, and therefore employs the modified Harvard architecture using the program memory bus as the data memory bus, or two data memory buses. Such a DSP employs the general purpose registers less than an MCU, but employs special purpose registers to facilitate special data process.
If there occurs an overflow in an MCU, a trap is usually generated. However, a DSP is provided with a guard bit to prevent the overflow or to become saturated without delay when there occurs an overflow.
A DSP has no cache, or otherwise has a cache structured in a manner different from an MCU. The reason is that the execution time varies with the cache hit rate. For the same reason, a page miss of the virtual memory hardly allows the memory abort in DSP. Further, a DSP is used in the application of digital signal processing, thus having many special instructions suitable therefor, while an MCU has versatility.
A 16 bit DSP has instructions of various lengths such as the basic 16 bit instruction, 32 bit instruction, and 36 to 40 bit instruction containing the guard bit, and particularly an ALU (Arithmetic Logic Unit) instruction for high speed operation to simultaneously execute both an ALU operation and multiplication, and instructions for barrel shift.
A DSP is structured to fetch two operands in a single cycle for data access, simultaneously executing both ALU operation and loading/storing data into the memory. Its hardware has a repeated loop function to support the repeated operation together with modulo addressing function. Thus, a DSP instruction may perform multiple operations in a single cycle, achieving high speed digital signal processing.
On the other hand, a 32 MCU is based on 32 bit data, performing data access operations in bytes. It employs the orthogonal instruction set using many general purpose registers to support the compiler. For example, it supports the branch instruction, relative addressing, index addressing, bit manipulation, etc. Further, it strongly supports interrupts, traps, etc. exceptionally occurring.
As described above, DSPs and MCUs have respectively inherent characteristics to support corresponding applications. These are especially applied in the form of a single chip embedded with core, memory and peripheral equipment. Electronic systems such as cellular phones, video cameras, multi media systems, etc. are equipped with both processors. A DSP is used to process digital signals such as voice signals in the cellular phone and audio and video signals in the video camera. Thus, both processors serve respective functions. Recently, 16 bit fixed point DSP and 32 bit MCU have become widely used in various electronic systems.
The complicated multi functional electronic systems developed recently should have to do with many data, especially processing data in real time, so that the general purpose MCU for control needs many repeated computations, and the DSP for processing signals also needs the control function. Namely, the situation requiring processing of greatly increased data in a short time and performing of corresponding control functions requires that a DSP have such control function as in an MCU, and an MCU have such high speed data operational function as in a DSP.
As the DSP application program increases its size to include a control program together with the program of data signal processing, it becomes difficult to develop it with an assembler. Moreover, it is important for the application program to be properly provided for the rapidly developing related technology. In this respect, a high level program language may be a proper means to facilitate the development of the application program for DSP, and the architecture of DSP must necessarily be changed so as to reduce the size of the codes generated by compiling the application program.
Meanwhile, the fact that the MCU needs the instructions required for performing such data processing function as in a DSP, and the DSP the instructions required for such control function as in an MCU blurs the boundary dividing a DSP and an MCU. Recently, studies have been made to integrate the two processors in a single chip, resulting in a unified processor integrating both MCU and DSP. Such unified processors are generally divided as follows:
One approach is to make a processor provided with both MCU instructions and DSP instructions. This may again be achieved by several ways. The first way is to add a coprocessor to an MCU so that the coprocessor may perform DSP instructions. The second is to design the MCU instruction to include the DSP instruction. The third is to design the DSP instruction to have enough orthogonal characteristics to partake with the MCU instructions. Though these ways provide a single chip processor having both DSP and MCU functions, the problem is that the processor is achieved by using two separate instruction sets. When the MCU and DSP instructions are not properly unified through the coprocessor, it is hard to determ
An Meng-Ai T.
El-Hady Nabil
Jones Volentine, L.L.C.
Samsung Electronics Co,. Ltd.
LandOfFree
System for fetching unit instructions and multi instructions... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with System for fetching unit instructions and multi instructions..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and System for fetching unit instructions and multi instructions... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-2542961