Microcontroller with configurable instruction set

Electrical computers and digital processing systems: processing – Processing architecture – Microprocessor or multichip or multimodule processor having...

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C712S248000

Reexamination Certificate

active

06427202

ABSTRACT:

CROSS REFERENCE TO RELATED PATENT APPLICATIONS
There are no applications related to the present application.
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates generally to semiconductor microprocessors, a class of which is known as microcontrollers, that perform selective functions, and more particularly, to a microcontroller that selectively executes instructions.
2. Description of the Related Technology
The evolution of microprocessors into complex instruments and machines has led to sophisticated, fast real-time control capability. Large microprocessors of 16 or 32 bit capability with associated interrupt handler chips, programmable timer chips, ROM and RAM chips, have been replaced in many control function instances by single chip I/O microcontrollers with all peripherals embedded on the same chip with the microcontroller. Operation of the chip in an expanded mode enhances the versatility of all on-chip features.
Microcontrollers have a wide diversity of applications. In hand-held devices such as pocket pagers (beepers), the microcontroller is responsive to received characters, first to interpret them, then produce an audible or vibratory signal, to notify the user of an incoming message, and produce multiple alphanumeric messages on a suitable display such as an LCD. The microcontroller can recall from its internal memory any or all of the messages received in a given period of time. Among other instrumentation uses are those as meters and testers, capable of carrying out thousands of tests, each in a millisecond or less.
Other applications include keyboard controllers for personal computers, in which the microcontroller serves to off-load many tasks formerly handled by the processor, including continuous performance of numerous diagnostic procedures and notification to the processor if a problem is detected. Personal computer applications of microcontrollers include use in modems for command interpretation and data transmission, in printer buffers for high speed dumping of data in preparation for driving the printer at the appropriate speed, and in color plotters, copiers, electronic typewriters/word processors, cable television terminal equipment, lawn sprinkling controllers, credit card phone equipment, cellular telephones, fax machines, automotive applications such as engine control modules, anti-lock braking systems, automobile suspension control, keyless entry systems, and a host of other industrial and consumer applications.
Typically, a microcontroller includes, among other things, a CPU (central processing unit), a program memory from which the CPU fetches instructions, and a data memory (also called a register file in some architectures) which is readable and writable directly by the CPU. The CPU fetches an instruction from the program memory and addresses the data memory according to an address obtained through the instruction or through an indirect register. The CPU may also operate in conjunction with certain peripherals to perform the control function, including devices such as timers, signal ports, and baud rate generators, among others.
More recently, microcontrollers have been embedded into appliances, such as automobiles or coffee makers, and are used to control certain electromechanical devices within the appliance. Embedded control products are found in all market segments: consumer, commercial, PC peripherals, telecommunications (including personal telecom products), automotive and industrial. Most embedded control products must meet special requirements: cost effectiveness, low-power, small-footprint and a high level of system integration.
Typically, most embedded control systems are designed around a MCU which integrates on-chip program memory, data memory (RAM) and various peripheral functions, such as timers and serial communication. In addition, these systems usually require complementary serial EEPROM, display drivers, key pads or small displays. Variable parameter settings for the microcontroller, if any, are usually through the displays and key pads that are controlled by the operator.
In the prior art, microcontrollers include program memory that stores instructions that can be executed on, for example, a microprocessor. Normally, the variable length coded instructions that are stored in the program memory require multiple read statements in order to obtain the complete instruction, particularly on 8-bit processors. Once the complete coded instruction is obtained, it must be decoded before it can be executed. Consequently, the execution of an instruction requires three basic steps: fetch, decode, and execute.
The instruction is first fetched from memory and transferred inside the microprocessor into a special register of the control unit called the instruction register (IR). Once in the IR, the fetched instruction is decoded by a decoder. Finally, the decoded instruction is executed. The appropriate sequence of signals is generated by the control logic unit, resulting in the appropriate data transfers and operations. The execution of an instruction is illustrated in FIG.
1
. The microprocessor unit (MPU) chip
10
appears on the left, and a memory chip
12
(ROM or RAM) containing the program (instructions)
14
appears on the right.
The first phase is the instruction fetch: The contents of the program counter (PC)
16
are output to the address bus
18
and a memory location is selected, in the example shown in
FIG. 1
, memory location
2304
(designated by numeral
15
in FIG.
1
). A read command
22
is then given to the memory
12
. After a period of nanoseconds—corresponding to the memory read-time (or access-time)—the eight bits of data selected by this address
15
become available on the output pins (not shown) of the memory
20
and are propagated on the system's data bus
24
(in this case, from right to left). The data are gated inside the MPU chip
10
to the instruction register (IR)
26
of the control unit
30
, thus completing the fetch cycle.
The two cycles that follow the fetch cycle are decode and execute. The IR
26
is decoded by the decoder
28
that is located within the control unit
30
control unit, usually via a programmable logic-array (PLA) (not shown), and the appropriate signals are generated by the control unit
30
, resulting in instruction execution.
An instruction is not necessarily eight bits long. In fact, it generally uses one, two, three, or four words, i.e., 8, 16, 24 or 32 bits. When an instruction has more than eight bits, the control unit
30
must go back to the memory
20
and read the following byte or bytes successively into the IR
26
.
The first word of the instruction always contains its opcode, i.e., the binary code that specifies the operation to be done. After decoding the opcode with the decoder
28
, the control unit
30
“knows” whether or not it must go back to the memory
20
to fetch additional bytes.
Having described the sequence of events in the execution of a single instruction, we will now describe automatic sequencing, i.e., the sequential execution of instructions. A program is stored as a sequence of binary instructions
14
residing at successive addresses in the memory
20
. Once an instruction has been fetched and executed, the program counter (PC)
16
must be updated so that the next instruction can be fetched and executed. The problem lies in updating the program counter
16
. This problem is solved by adding an incrementer (or a decrementer depending on the convention used) to the PC
16
. Thus, each time the PC
16
is used, (i.e., its contents are output) its value is automatically incremented (or decremented) and loaded back into the PC
16
. The next time the PC
16
is used, it will be pointing to the next byte in memory, i.e., to the next instruction or to the next byte of a given instruction, if the instruction uses two bytes or more. This incrementer
32
is shown as +1 in FIG.
1
.
Program instructions are stored sequentially (one after another) in the memory
20
. However, instructions are not always executed in s

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

Microcontroller with configurable instruction set does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Microcontroller with configurable instruction set, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Microcontroller with configurable instruction set will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2878369

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