0% found this document useful (0 votes)
38 views4 pages

Embedded

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
38 views4 pages

Embedded

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 4

1.

Embedded System
- An embedded system is a computer system with a dedicated function within a larger mechanical or
electrical system, often with real-time computing constraints. It is embedded as part of a complete
device often including hardware and mechanical parts.
An embedded system is a combination of computer hardware and software designed for a specific
function. Embedded systems may also function within a larger system. The systems can be
programmable or have a fixed functionality.
2. Microcontroller & Microprocessor
• The microprocessor is a processor on one silicon chip.
• The microcontrollers are used in embedded computing.
• The microcontroller is a microprocessor with added circuitry.

A microcontroller (MCU for microcontroller unit) is a small computer on a single VLSI integrated
circuit (IC) chip. A microcontroller contains one or more CPUs (processor cores) along
with memory and programmable input/output peripherals. Program memory in the form of ferroelectric
RAM, NOR flash or OTP ROM is also often included on chip, as well as a small amount of RAM.
Microcontrollers are designed for embedded applications, in contrast to the microprocessors used
in personal computers or other general purpose applications consisting of various discrete chips.

A microcontroller is a small and low-cost microcomputer, which is designed to perform the specific
tasks of embedded systems like displaying microwave’s information, receiving remote signals, etc.
The general microcontroller consists of the processor, the memory (RAM, ROM, EPROM), Serial ports,
peripherals (timers, counters), etc.
Difference between Microprocessor and Microcontroller
The following table highlights the differences between a microprocessor and a microcontroller −

Microcontroller Microprocessor

Microcontrollers are used to execute a single task within an Microprocessors are used
application. for big applications.

Its designing and hardware cost is low. Its designing and hardware
cost is high.

Easy to replace. Not so easy to replace.

It is built with CMOS technology, which requires less power to Its power consumption is
operate. high because it has to
control the entire system.

It consists of CPU, RAM, ROM, I/O ports. It doesn’t consist of RAM,


ROM, I/O ports. It uses its
pins to interface to
peripheral devices.

Types of Microcontrollers
Microcontrollers are divided into various categories based on memory, architecture, bits and instruction
sets. Following is the list of their types −
Based on bit configuration, the microcontroller is further divided into three categories.
 8-bit microcontroller − This type of microcontroller is used to execute arithmetic and logical
operations like addition, subtraction, multiplication division, etc. For example, Intel 8031 and
8051 are 8 bits microcontroller.
 16-bit microcontroller − This type of microcontroller is used to perform arithmetic and logical
operations where higher accuracy and performance is required. For example, Intel 8096 is a 16-bit
microcontroller.
 32-bit microcontroller − This type of microcontroller is generally used in automatically controlled
appliances like automatic operational machines, medical appliances, etc.
Memory
Based on the memory configuration, the microcontroller is further divided into two categories.
 External memory microcontroller − This type of microcontroller is designed in such a way that
they do not have a program memory on the chip. Hence, it is named as external memory
microcontroller. For example: Intel 8031 microcontroller.
 Embedded memory microcontroller − This type of microcontroller is designed in such a way that
the microcontroller has all programs and data memory, counters and timers, interrupts, I/O ports
are embedded on the chip. For example: Intel 8051 microcontroller.
Instruction Set
Based on the instruction set configuration, the microcontroller is further divided into two categories.
 CISC − CISC stands for complex instruction set computer. It allows the user to insert a single
instruction as an alternative to many simple instructions.
 RISC − RISC stands for Reduced Instruction Set Computers. It reduces the operational time by
shortening the clock cycle per instruction.
Applications of Microcontrollers
Microcontrollers are widely used in various different devices such as −
 Light sensing and controlling devices like LED.
 Temperature sensing and controlling devices like microwave oven, chimneys.
 Fire detection and safety devices like Fire alarm.
 Measuring devices like Volt Meter.
3. Processor Architecture
MCU is integrated electronic computing device that includes three major components on a single chip:
• Microprocessor
• Memory
• I/O ports
4. Instruction Set Architecture
In computer science, an instruction set architecture (ISA), also called computer architecture, is
an abstract model of a computer. A device that executes instructions described by that ISA, such as
a central processing unit (CPU), is called an implementation.
In general, an ISA defines the supported instructions, data types, registers, the hardware support for
managing main memory, fundamental features (such as the memory consistency, addressing
modes, virtual memory), and the input/output model of a family of implementations of the ISA.
This basically means that an ISA describes the design of a Computer in terms of the basic operations it
must support. The ISA is not concerned with the implementation-specific details of a computer. It is
only concerned with the set or collection of basic operations the computer must support. For example,
the AMD Athlon and the Core 2 Duo processors have entirely different implementations but they
support more or less the same set of basic operations as defined in the x86 Instruction Set.
Let us try to understand the Objectives of an ISA by taking the example of the MIPS ISA. MIPS is one
of the most widely used ISAs in education due to its simplicity.

1. The ISA defines the types of instructions to be supported by the processor.


Based on the type of operations they perform MIPS Instructions are classified into 3 types:
 Arithmetic/Logic Instructions:
These Instructions perform various Arithmetic & Logical operations on one or more operands.
 Data Transfer Instructions:
These instructions are responsible for the transfer of instructions from memory to the processor
registers and vice versa.
 Branch and Jump Instructions:
These instructions are responsible for breaking the sequential flow of instructions and jumping to
instructions at various other locations, this is necessary for the implementation
of functions and conditional statements.
2. The ISA defines the maximum length of each type of instruction.
Since the MIPS is a 32 bit ISA, each instruction must be accommodated within 32 bits.
3. The ISA defines the Instruction Format of each type of instruction.
The Instruction Format determines how the entire instruction is encoded within 32 bits
There are 3 types of Instruction Formats in the MIPS ISA:
 R-Instruction Format
 I-Instruction Format
 J-Instruction Format
If we look at the Abstraction Hierarchy:

Figure – The Abstraction Hierarchy


We note that the Microarchitectural level lies just below the ISA level and hence is concerned with the
implementation of the basic operations to be supported by the Computer as defined by the ISA.
Therefore we can say that the AMD Athlon and Core 2 Duo processors are based on the same ISA but
have different microarchitectures with different performance and efficiencies.
Now one may ask the need to distinguish between Microarchitecture and ISA?
The answer to this lies in the need to standardize and maintain the compatibility of programs across
different hardware implementations based on the same ISA. Making different machines compatible with
the same set of basic instructions (The ISA) allows the same program to run smoothly on many different
machines thereby making it easier for the programmers to document and maintain code for many
different machines simultaneously and efficiently.
This Flexibility is the reason we first define an ISA and then design different microarchitectures
complying with this ISA for implementing the machine. The design of a lower-level ISA is one of the
major tasks in the study of Computer Architecture.
Instruction Set Architecture Microarchitecture

The Microarchitecture is more concerned with


The ISA is responsible for defining the set of the lower level implementation of how the
instructions to be supported by the processor. For instructions are going to be executed and deals
example, some of the instructions defined by the with concepts like Instruction Pipelining,
ARMv7 ISA are given below. Branch Prediction, Out of Order Execution.

On the other hand, the Branch of Computer


Organization is concerned with the
implementation of a particular ISA deals with
various hardware implementation techniques,
i.e. is the Microarchitecture level. For
Example, ARM licenses other companies like
The Branch of Computer Architecture is more Qualcomm, Apple for using ARM ISA, but
inclined towards the Analysis and Design of each of these companies have their own
Instruction Set Architecture. For Example, Intel implementations of this ISA thereby making
developed the x86 architecture, ARM developed them different in performance and power
the ARM architecture, & AMD developed efficiency. The Krait cores developed by
the amd64 architecture. The RISC-V ISA Qualcomm have a different microarchitecture
developed by UC Berkeley is an example of an and the Apple A-series processors have a
Open Source ISA. different microarchitecture.
The x86 was developed by Intel, but we see that almost every year Intel comes up with a new generation
of i-series processors. The x86 architecture on which most of the Intel Processors are based essentially
remains the same across all these generations but, where they differ is in the underlying
Microarchitecture. They differ in their implementation and hence are claimed to have improved
Performance. These various Microarchitectures developed by Intel are codenamed as ‘Nehalem’,
‘Sandybridge’, ‘Ivybridge’, and so on.
Therefore, in conclusion, we can say that different machines may be based on the same ISA but have
different Microarchitectures.
An Instruction Set Architecture (ISA) is part of the abstract model of a computer that defines how the
CPU is controlled by the software. The ISA acts as an interface between the hardware and the software,
specifying both what the processor is capable of doing as well as how it gets done.

The ISA provides the only way through which a user is able to interact with the hardware. It can be
viewed as a programmer’s manual because it’s the portion of the machine that’s visible to the assembly
language programmer, the compiler writer, and the application programmer.

The ISA defines the supported data types, the registers, how the hardware manages main memory, key
features (such as virtual memory), which instructions a microprocessor can execute, and the input/output
model of multiple ISA implementations. The ISA can be extended by adding instructions or other
capabilities, or by adding support for larger addresses and data values.

Why the ISA Is Important?


Understanding what the instruction set can do and how the compiler makes use of those instructions can
help developers write more efficient code. It can also help them understand the output of the compiler
which can be useful for debugging. Arm is opening its instruction set architecture for Cortex M cores.
By allowing licensees to build their own custom instructions, developers are able to accelerate
specialized workloads. The Arm ISA family allows developers to write software and firmware that
conforms to the Arm specifications, secure in the knowledge that any Arm-based processor will execute
it in the same way.

You might also like