Module-1/Introduction

advertisement
Applications of Microcontroller-I
Prof. Ramakant Patil
TE SEM-V Instrumentation Engineering
Module-1/Introduction
8085 Microprocessor Definition:A microprocessor is a clock driven, multipurpose, programmable, register-based electronic
device that reads binary instructions from a storage device called memory, accepts binary
data as input and processes data according to those instructions and provides results as
output. A typical programmable machine can be represented with three componentsmicroprocessor, memory and I/O. These three components work together to perform a given
task. The physical components of this system are called hardware. A set of instructions
written for the microprocessor to perform a task is called a program and groups of programs
is called software. When we hear the word microprocessor then what comes to our mind is a
small (i.e-micro) IC that can process data i.e- perform arithmetic and logical operations.
Microprocessor reads the instructions from memory and executes it line by line. Generally all
the operation is done by the ALU unit in Microprocessor.
ALU:-This section is used for performing the arithmetic and logical operation in
Microprocessor. Here A and B are the input pins where operands are put on which we want
to perform arithmetic and logical operation. A and B section are operand section and it
processes it according to the given instruction.
1
Arithmetic operation:- Like addition, subtraction, multiplication, division etc.
Logical Operation:- Like AND,OR,NOT,EX-OR etc all logical operation.
Opcode:- A Binary code that indicates the operation to be performed is called as an opcode.
Operands:- The data on which the operation is to be performed is known as operand.
Instruction:- The combination of opcode and an operand, that can be used to instruct a
system is called as an instruction.
Instruction set:- A list of all the instructions that can be issued to a system is called as
instruction set.
Program/Subroutine/Routine:- A set of instructions written in a particular sequence, so as
to implement a given task. A subroutine in assembly refers to function as in C/C++.
Bus:- A group of lines, pins or signal s having commons functions is termed as the bus.
There are three buses in 8085 Microprocessor:
1. Data bus- Microprocessor has 8 bit data bus. It carries data(to receive and to transmit)
from memory or to memory.
2. Address bus-Microprocessor has 16 bit address bus. Generally it is used to select the
memory or I/O location through which we want to communicate the microprocessor.
3. System bus-It provides control and timing signal to perform the various operation.
Memory:-Generally a memory is used for storage purpose. We can store the data, instruction
sets etc. Instruction sets are stored in memory in form of binary number. It provides that
information to Microprocessor whenever necessary. Microprocessor reads instructions from
memory and performs the operation in its ALU section. Results are transferred to Output
Section (LCD display, LED, others). It may also store in memory as it needs.
There are two types of memory:
RAM (Random Access Memory) - It is a type of memory provides the reading and writing
both facility.
ROM (Read Only Memory) - Data or program stored in ROM can only be read. It cannot
be altered. It doesn't provide the writing facility.
8051 Microcontroller Definition:8051 is an 8-bit family of microcontroller developed by Intel in the year 1981. This is one of the
most popular families of microcontroller being used all across the world. This microcontroller
was also referred as “system on a chip” because it has 128 bytes of RAM, 4Kbytes of ROM, 2
Timers, 1 Serial port, and four ports on a single chip. The CPU can work for only 8bits of data at
a time because 8051 is an 8-bit processor. In case the data is larger than 8 bits then it has to be
broken into parts so that the CPU can process conveniently. Most manufacturers have put
4Kbytes of ROM even though the quantity of ROM can be exceeded up to 64 K bytes.
2
Operation of Arithmetic and logic Unit (ALU):-
A simplified ALU is illustrated in Fig., which uses an arrangement of both combinational and
sequential circuit. Their purpose is to perform the basic (though still complex) binary
arithmetic.
Data passing through the ALU circuit does so on a system of buses, shown by the broad
arrows in Fig. These buses consist of groups of wires (usually as 8 parallel bits in simple
systems) each carrying a single byte of binary data. In this system, data word A is the primary
data source, and data word B is the secondary data source that may be added to, or subtracted
from word A.
The ALU can also perform other operations. It can increment, add 1 to word A, or decrement,
and subtract 1 from it. By complementing (inverting) the logic value of individual bits of the
3
data word A and adding 1 to the result, it is possible to use twos complement arithmetic to
perform subtractions.
The shift register at the ALU output can also perform a ‘logical shift-left’ on word A by
shifting the 8 bits consecutively into the carry bit, alternatively the shift register can create a
rotating pattern of bits, rotating left, and using the carry bit as a ninth bit in the sequence, or
rotate the 8 bits right ignoring the carry bit. Any of these functions can be selected by the
control block, using various combinations of the eight control lines shown in Fig.
Putting the correct pattern of 1s and 0s (the control word) on the control lines will cause the
ALU to perform the required arithmetic or logical operation on the data being input at A and
B. With a control word of 8-bits, this could potentially allow up to 256 different combinations,
or control words, which would be more than ample, even for very complex microprocessors or
micro controllers. However this basic ALU needs only eight control words to control the
different operations available.
Evolution of Microprocessor:-
4
Microprocessor Based System:A microprocessor-based system consists primarily of three components-the microprocessor unit
(MPU), memory and I/O (input / output). The MPU is the central player; it communicates with
memory and I/O devices. Processes data, and controls timing of all its operations. In the
microprocessor based computer system, three buses exist for transfer of address, data and control
information between the microprocessor and its memory and I/O system.
5
The Microprocessor Unit (MPU)
is a programmable logic device with a designed set of instructions. It reads or fetches each
instruction, one at a time, from memory and performs data manipulation specified by the
instruction; it also reads data from input devices and writes (or sends) data to output devices.
When the MPU is executing a program, it communicates frequently with memory and I/0
devices; the process consists of fetch, decode, and execute operations.
In addition to processing data according to the instructions written in memory, the MPU needs to
respond to various situations described above. External devices should be able to interrupt and
request the attention of the MPU. This communication process and related operations between
the MPU and the external devices (memory, I/Os) can be classified into two main categories:
· Program-initiated operations
· Peripheral (or externally) initiated operations.
To perform these operations, the MPU requires a group of logic circuits, a set of signals to
transfer information, control signals for timing, and clock circuitry; these constitute the
architecture. Early microprocessors did not have the necessary circuitry on one chip; the
complete units were made up of more than one chip. Therefore, we define here the term
Microprocessor Unit (MPU) as a group of device that can perform operations similar to those of
the Central Processing Unit (CPU).
To communicate with memory and I/Os, the MPU performs four operations:
1. Memory Read: Reads instructions or data from memory.
2. Memory Write: Writes instructions or data into memory.
3. I/O Read: Accepts data from input devices.
6
4. I/O Write: Sends data to output devices.
The steps in performing these MPU operations can be summarized as follows (not necessarily in
the order listed in every operation):
1. Identify the memory location or the peripheral with its address.
2. Provide timing or synchronization signal.
3. Transfer binary data.
Therefore, the MPU requires three sets of communication lines called buses: the first group of
lines, called the address bus, to identify the memory location; the second group, called the data
bus, to transfer data; and the third group, called the control lines, for timing signals.
ADDRESS BUS
The addressing is simply a numbering scheme to identify memory registers. For example, a twodigit decimal numbering scheme can identify only 100 items, from 00 to 99. On the other hand, a
four-digit numbering scheme can identify 10,000 items, from 0000 to 9999. Thus, the number of
bits (address lines) used for addressing by the MPU clearly determines the number of memory
registers it can identify.
The address lines are generally identified as A0 to Am where m indicates the most significant
address bit. Typically, microprocessors such as the 8085, the Z80, and the 6800 have 16 address
lines which are capable of addressing as 64K memory. However, recent microprocessors such as
the 8086 have 20 address lines, and the 68000 has 23 address lines.
DATA BUS
These lines are used to transfer data and are bidirectional-data can flow either direction. These
lines are identified as D0 to Dn where n signifies the most significant bit (MSB) of the data bus.
Again, the size of the data bus determines how large a binary number can be transferred and
processed at a time and thus influences the microprocessor architecture considerably. The 8085,
the Z80, and the 6800 have eight data lines and thus are called 8-bit microprocessors .On the
other hand, the 8086, the 80286 and the 68000 have 16 data lines and are called 16-bit
microprocessors.
CONTROL SIGNALS (MPU INITIATED)
These are individual signal lines generated by the MPU to indicate its operations. The MPU
generates a specific signal for each of its four operations-Memory Read. Memory Write, 1/0
Read, and I/O Write. These are timing signals that are used to enable, or activate, peripherals.
For example, to fetch (or read) an instruction from a memory location, the MPU sends a timing
pulse called Memory Read to enable the memory chip.
7
INPUT AND OUTPUT (I/0) DEVICES
These devices are the means through which the MPU communicates with "the outside world."
The MPU accepts binary data as input from devices such as keyboards and analog-to-digital
(A/D) converters and sends data to output devices such as LEDs or printers. There are two
different methods b which an MPU can identify I/O devices : one uses an 8-bit address and the
other a 16- bit address.
MEMORY
It can be classified into two groups: RAM and ROM. RAM is the memory the microcomputer
uses in executing and storing programs. This memory should be able to respond fast enough to
keep up with the execution speed of the microprocessor. Therefore, it should be random-access
memory, meaning that the microprocessor should be able to access information from any register
with the same speed.
Storage memory includes examples such as magnetic disks and tapes. This memory is used to
store programs and results after the completion of program execution. Information stored in'
these memories is nonvolatile, meaning information remains intact even if the system is turned
off. Generally, these memory devices are not a part of any system; they are made part of the
system only when stored programs need to be accessed. The microprocessor cannot execute or
directly process programs stored in these devices: programs must be copied into the prime
memory first.
CISC Architecture:The CISC approach attempts to minimize the number of instructions per program, sacrificing the
number of cycles per instruction. Computers based on the CISC architecture are designed to
decrease the memory cost. Because, the large programs need more storage, thus increasing the
memory cost and large memory becomes more expensive. To solve these problems, the number
of instructions per program can be reduced by embedding the number of operations in a single
instruction, thereby making the instructions more complex.
8

MUL loads two values from the memory into separate registers in CISC.

CISC uses minimum possible instructions by implementing hardware and executes
operations.

Instruction Set Architecture is a medium to permit communication between the
programmer and the hardware. Data execution part, copying of data, deleting or editing is
the user commands used in the microprocessor and with this microprocessor the
Instruction set architecture is operated.

The main keywords used in the above Instruction Set Architecture are as below
Instruction Set: Group of instructions given to execute the program and they direct the
computer by manipulating the data. Instructions are in the form – Opcode (operational code) and
Operand. Where, opcode is the instruction applied to load and store data, etc. The operand is a
memory register where instruction applied.
Addressing Modes: Addressing modes are the manner in the data is accessed. Depending upon
the type of instruction applied, addressing modes are of various types such as direct mode where
9
straight data is accessed or indirect mode where the location of the data is accessed. Processors
having identical ISA may be very different in organization. Processors with identical ISA and
nearly identical organization is still not nearly identical.
CPU performance is given by the fundamental law
Thus, CPU performance is dependent upon Instruction Count, CPI (Cycles per instruction) and
Clock cycle time. And all three are affected by the instruction set architecture.
Instruction Count of the CPU
This underlines the importance of the instruction set architecture. There are two prevalent
instruction set architectures
Examples of CISC PROCESSORS
IBM 370/168 – It was introduced in the year 1970. CISC design is a 32 bit processor and four
64-bit
floating
point
registers.
VAX 11/780 – CISC design is a 32-bit processor and it supports many numbers of addressing
modes
and
machine
instructions
which
is
from
Digital
Equipment
Corporation.
Intel 80486 – It was launched in the year 1989 and it is a CISC processor, which has instructions
varying lengths from 1 to 11 and it will have 235 instructions.
CHARACTERISTICS OF CISC ARCHITECTURE

Instruction-decoding logic will be Complex.

One instruction is required to support multiple addressing modes.
10

Less chip space is enough for general purpose registers for the instructions that are
0operated directly on memory.

Various CISC designs are set up two special registers for the stack pointer, handling
interrupts, etc.

MUL is referred to as a “complex instruction” and requires the programmer for storing
functions.
RISC Architecture:RISC (Reduced Instruction Set Computer) is used in portable devices due to its power efficiency.
For Example, Apple iPod and Nintendo DS. RISC is a type of microprocessor architecture that
uses highly-optimized set of instructions. RISC does the opposite, reducing the cycles per
instruction at the cost of the number of instructions per program Pipelining is one of the unique
feature of RISC. It is performed by overlapping the execution of several instructions in a pipeline
fashion. It has a high performance advantage over CISC.
RISC processors take simple instructions and are executed within a clock cycle
11
RISC ARCHITECTURE CHARACTERISTICS

Simple Instructions are used in RISC architecture.

RISC helps and supports few simple data types and synthesize complex data types.

RISC utilizes simple addressing modes and fixed length instructions for pipelining.

RISC permits any register to use in any context.

One Cycle Execution Time

The amount of work that a computer can perform is reduced by separating “LOAD” and
“STORE” instructions.

RISC contains Large Number of Registers in order to prevent various number of
interactions with memory.

In RISC, Pipelining is easy as the execution of all instructions will be done in a uniform
interval of time i.e. one click.

In RISC, more RAM is required to store assembly level instructions.

Reduced instructions need a less number of transistors in RISC.

RISC uses Harvard memory model means it is Harvard Architecture.

A compiler is used to perform the conversion operation means to convert a high-level
language statement into the code of its form.
RISC & CISC Comparison:-
MUL instruction is divided into three instructions
“LOAD” – moves data from the memory bank to a register
“PROD” – finds product of two operands located within the registers
12
“STORE” – moves data from a register to the memory banks
The main difference between RISC and CISC is the number of instructions and its complexity.
RISC Vs CISC
CISC and RISC designs are the two options.
CISC designs involve very complex architectures, including a large number of instructions and
addressing modes, whereas RISC designs involve simplified instruction set and adapt it to the
real requirements of user programs.
Multiplication of two Numbers in Memory:
If the main memory is divided into areas that are numbered from row1:column 1 to row 5
:column 4. The data is loaded into one of four registers (A, B, C, or D). To find multiplication of
two numbers- One stored in location 1:3 and other stored in location 4:2 and store back result in
1:3.
13
Multiplication of Two Numbers
The Advantages of RISC architecture:

RISC architecture has a set of instructions, so high-level language compilers can produce
more efficient code

It allows freedom of using the space on microprocessors because of its simplicity.

Many RISC processors use the registers for passing arguments and holding the local
variables.

RISC functions use only a few parameters, and the RISC processors cannot use the call
instructions, and therefore, use a fixed length instruction which is easy to pipeline.

The speed of the operation can be maximized and the execution time can be minimized.
Very less number of instructional formats, a few numbers of instructions and a few
addressing modes are needed.
The Disadvantages of RISC architecture:

Mostly, the performance of the RISC processors depends on the programmer or compiler
as the knowledge of the compiler plays a vital role while changing the CISC code to a
RISC code

While rearranging the CISC code to a RISC code, termed as a code expansion, will
increase the size. And, the quality of this code expansion will again depend on the
compiler, and also on the machine’s instruction set.
14

The first level cache of the RISC processors is also a disadvantage of the RISC, in which
these processors have large memory caches on the chip itself. For feeding the
instructions, they require very fast memory systems.
Advantages of CISC architecture:

Microprogramming is easy assembly language to implement, and less expensive than
hard wiring a control unit.

The ease of micro coding new instructions allowed designers to make CISC machines
upwardly compatible:

As each instruction became more accomplished, fewer instructions could be used to
implement a given task.
Disadvantages of CISC architecture:

The performance of the machine slows down due to the amount of clock time taken by
different instructions will be dissimilar

Only 20% of the existing instructions is used in a typical programming event, even
though there are various specialized instructions in reality which are not even used
frequently.

The conditional codes are set by the CISC instructions as a side effect of each instruction
which takes time for this setting – and, as the subsequent instruction changes the
condition code bits – so, the compiler has to examine the condition code bits before this
happens.
Model Questions
Q.1 Compare between RISC and CISC processor. [Dec. 2014, 4Marks]
Q.2 Draw and explain any one microprocessor based system. [Dec. 2014, 5Marks]
Q.3 List the important features of RISC and CISC processor. [May 2015, 4Marks]
Q.4 Explain the evaluation of microprocessor. [May 2015, 5Marks]
15
Download