Electronics Information Home arrow Electronics Information arrow Data processors
Data processors
Friday, 18 August 2006

Data processors are utilized for data processing in various devices such as personal computers. Data are commonly stored in an organized manner known as a database under control of a data processor by which a user is able to browse or search through the data, or to insert, amend or delete data as required. A processor manipulates and controls the flow of data in a computer by executing instructions. Data processors have significantly developed over the last two decades and are now widely used in every facet of digital signal processing (DSP). The configuration of the data processor depends on the purpose of data processing. In many applications involving communication of different types of information, data processors have been configured to multiplex information from each type of information source over various communication-media types and arrangements. Computer systems, from small handheld electronic devices to medium-sized mobile and desktop systems to large servers and workstations, typically include one or more processors. Data processing apparatuses including microprocessors and digital signal processors (DSPs) are extensively used as LSIs (large scale integrated circuits) for executing multimedia processing in sophisticated information apparatuses including personal computers (PCs), personal digital assistants (PDAs), cellular phones and car navigation systems. In the telecommunications industry, numerous applications use data processors to convert analog signals to digital signals for processing and transmission, and subsequently to re-convert digital signals to analog for end-use. Numerous industrial machines also use data processors as part of their operation and control mechanisms.

A data processing system generally comprises a central processing unit, a program RAM (random access memory) which stores programs and a data RAM which stores data to be processed, and an input-output unit. The central processing unit reads the data in the data RAM in accordance with the programs stored in the program RAM so as to process or calculate the read data. The central processing unit operates by retrieving, or fetching, information from the memory, determining if the information is instructions or data, manipulating the fetched data in accordance with the instructions, and storing the results of the data manipulations in the memory. The central processing unit (CPU) controls various operations of the random access memory such as the reading and writing operations. The central processing unit manipulates data in accordance with a set of instructions contained in a program, often called an application process. The processed data is restored in the data RAM or stored in an external memory device. Each element of information, the instructions, the data and status information is stored in a specific designated address of the memory. Data processors may have one or more internal buses which transfer address, data, and/or control information during internal bus cycles. The input-output unit provides a means for entering the data and program instructions into the system and for receiving output status messages and the final output of data manipulations. A data processor such as a microprocessor operates in synchronization with a clock within a predetermined frequency range. The exact operation of a data processor system requires a precise time base. With advances in LSI technology, a high-performance digital signal processor has been implemented on a single chip to perform complicated data processing including addition, subtraction, and multiplication. These advancements have made possible the development of system-on-a-chip (SOC) devices. A system-on-a-chip device integrates into a single chip many of the components of a complex electronic system, such as a wireless receiver (cell phone, television receiver). Such devices greatly reduce the size, cost, and power consumption of the system.

Many different types of data processors are available. Computer systems are classically defined as having a central processing unit (CPU), memory, and input/output peripheral devices. Depending on their specific applications, central processing units may be roughly classified into the following two types: general-purpose microprocessors, and built-in microcontrollers for use in numerous kinds of control units and consumer electronics appliances. A microprocessor is generally a circuit that combines the instruction-handling, arithmetic, and logical operations. Microprocessors can be grouped into two general classes, general purpose microprocessors and special purpose microprocessors. General purpose microprocessors are designed to be programmable by the user to perform any of a wide range of tasks, and are therefore often used as the central processing unit (CPU). Special purpose microprocessors are designed to provide performance improvement for specific predetermined arithmetic and logical functions. An integrated data processor or microprocessor is a single integrated circuit chip that includes a central processing unit and some peripheral circuits. If the chip also includes some memory, it achieves even greater system integration; such a chip may be termed a microcontroller. Microcontrollers, also known as microcomputers or embedded controllers, incorporate all blocks onto a single integrated circuit chip. Depending on the application, the microcontroller may either be able to have all program code on-chip, or it may have some program code on-chip and some program code off-chip. Both integrated data processors and microcontrollers include glue logic circuitry known as the system integration module, to integrate the on-chip memory and/or peripheral devices with the CPU. Because of their high level of integration, integrated data processors and microcontrollers are ideal for applications such as automobile engine controllers, refrigerators, cellular telephones, and remote controllers. As data processors dedicated to high-speed digital signal processing, digital signal processors (DSPs) using architectures suitable for data processing have been widely popularized. Digital signal processors (DSPs) are processors designed specifically for high-speed digital signal processing. Digital signal processors perform data processing such as a product-sum operation at high speed. In general, digital signal processing involves frequent repeat processing. The digital signal processors are optimized to efficiently perform the intensive computation and memory access operations associated with this data manipulation. DSPs are central to the operation of many of today's electronic products, such as high-speed modems, high-density disk drives, cellular phones, complex automotive systems, and video-conferencing equipment.

Data processors may have different structures with variated performances. Architectural factors that have significantly contributed to improved performance of these processors include pipelining technology, super-pipelining technology, super-scalar technology, VLIW (very long instruction word) technology, CISC (complexed instruction set computer) technology, and addition of specialized data paths (special purpose instructions). The architectural elements further include branch prediction, register bank, and cache technology, etc. In recent years, together with its high processing speed resulting from the improvement of operating frequency, data processors are making a remarkable progress in performance due to the development of parallel processing techniques such as pipeline processing or superscalar techniques In parallel processing, an array of processor elements, or cells, is configured so that each cell performs logical or arithmetic operations on its own data at the same time that all other cells are processing their own data. The superscalar technique decodes and executes a plurality of instructions in parallel. With superscalar technology, parallelism of instruction levels is detected by hardware from an instruction stream and a plurality of instructions are then executed in parallel. In a superscalar microprocessor, plural instructions are fetched by instruction cache access in each cycle, thereafter being supplied to plural instruction buses. The superscalar microprocessor has been proposed for the purpose of simultaneously executing a plurality of instructions. On the other hand, the VLIW technique is another parallel operation technique in which one instruction consists of a plurality of parallel executable operations which are detected and encoded by a compiler at compiling time. Pluralities of operations which are specified by this long instruction word are executed in parallel. In VLIW processors, the data paths are configured in advance so as to allow for parallel execution, optimization is conducted so that a compiler improves the parallel execution and generate a proper VLIW instruction code. VLIW technology adopts an extremely rational idea, eliminating the need for the circuitry for checking the likelihood of parallel execution of individual instructions as in the super-scalar. Therefore, VLIW technology is considered to be a promising means for realizing the hardware for parallel execution. Processor designers employ many different techniques to increase processor speed to create more powerful computers for consumers. One such technique is to implement a pipeline in a processor. In a data processor, pipeline processing is frequently employed for improving the performance. Almost all data processors having the RISC architecture employ the pipeline technique to realize high speed data processing. Branch prediction is another technique used to improve data processor performance. Data processors that use branch prediction techniques make a prediction each time they receive a branch instruction, act on the guess, and then determine if the guess was correct by executing the instruction. Data processors that predict branch instructions gain performance because they can make an accurate guess faster than they can fully execute the branch instruction. Branch target address caches (BTACs) are devices used to make a branch prediction.

Data processors, such as microcontrollers typically include some or all of the following types of nonvolatile memory blocks: code memory which is usually implemented in ROM, EPROM on in flash electrically erasable programmable read only memory (EEPROM), user non-volatile data memory (usually two transistor EEPROM, thereby allowing single word (usually one byte) erase and programming), security block of memory bits which control access rights to the other blocks, and bootstrap memory which includes code which is executed by the microcontroller as part of its power up sequence. Most data processors use one or more read-only memory (ROM) circuits to store data and instructions. Data processing systems typically incorporate memory caches to improve system performance. A cache memory is a high-speed memory used to store part of the data in the main memory. A memory cache stores a subset of the contents of the data processing system's main memory that it frequently accesses. A memory cache increases the performance of the data processor because the data processor can access the contents of the memory cache faster than it can access the contents of the main memory. Some processors are provided with a translation lookaside buffer (TLB) to raise the memory-accessing speed. The TLB is a high-speed memory used to store part of the data for address translation and memory protection information.