0% found this document useful (0 votes)
13 views10 pages

Embedded System Task Overview

Uploaded by

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

Embedded System Task Overview

Uploaded by

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

Embedded System

Embedded System Task

By:Mohamed abouheiba mohamed


Button To control LED (On - OFF)

delay circuit (timer) with a push-button that


turns on an LED after 7 seconds
Embedded System Definition

An embedded system is a microprocessor-based computer hardware system with


software that is designed to perform a dedicated function, either as an independent
system or as a part of a large system. At the core is an integrated circuit designed to
carry out computation for real-time operations. Complexities range from a single
microcontroller to a suite of processors with connected peripherals and networks;
from no user interface to complex graphical user interfaces. The complexity of an
embedded system varies significantly depending on the task for which it is designed.

System Architecture.

The architecture of an embedded system is centered around its microcontroller,


also sometimes referred to as the microcontroller unit (MCU), typically a single
integrated circuit containing the processor, RAM, flash memory, serial receivers
and transmitters, and other core components. The market offers many different
choices among architectures, vendors, price range, features, and integrated
resources. These are typically designed to be inexpensive, low-resource, low-
energy consuming, self-contained systems on a single integrated circuit, which is
the reason why they are often referred to as System-on-Chip (SoC).

Processor Components (CPU).

A processor, also known as a central processing unit (CPU), is the primary component in a
computer that performs most of the processing. It executes instructions that are stored in
memory and perform basic arithmetic, logic, and input/output operations.

The processor is the “brain” of the computer and is responsible for carrying out the instructions
of a computer program.

It reads and interprets the instructions and performs the actions required by the instructions.

The processor is an essential component of a computer system, as it determines the speed and
performance of the system.
Register Set
The register set contrasts from one system to another. The register set includes several registers
which contain general-purpose registers and special-purpose registers. The general-purpose
registers do not implement any particular function. They save the temporary information that is
needed by a program. The special-purpose registers execute various functions for the CPU.

ALU
The ALU implements all the arithmetic, logical, and shift operations by supporting important
circuitry that provides these evaluations.

Control Unit
The control unit fetches the instructions from the main memory, decodes the instructions, and
then executes them.

The CPU interacts with the main memory and input/output devices. The CPU reads and writes
data to and from the memory system and transfers data to and from the I/O devices.
Instruction set Architecture.

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.

Memory Types.

In general, memory can be divided into primary and secondary memory; moreover,
there are numerous types of memory when discussing just primary memory. Some
types of primary memory include the following

Cache memory. This temporary storage area, known as a cache, is more readily
available to the processor than the computer's main memory source. It is also called
CPU memory because it is typically integrated directly into the CPU chip or placed on a
separate chip with a bus interconnect with the CPU.

RAM. The term is based on the fact that any storage location can be accessed directly
by the processor.

Dynamic RAM. DRAM is a type of semiconductor memory that is typically used by the
data or program code needed by a computer processor to function.
Static RAM. SRAM retains data bits in its memory for as long as power is supplied to it.
Unlike DRAM, which stores bits in cells consisting of a capacitor and a transistor, SRAM does
not have to be periodically refreshed.

Double Data Rate SDRAM. DDR SRAM is SDRAM that can theoretically improve memory
clock speed to at least 200 MHz.

Double Data Rate 4 Synchronous Dynamic RAM. DDR4 RAM is a type of DRAM that has a
high-bandwidth interface and is the successor to its previous DDR2 and DDR3 versions. DDR4
RAM allows for lower voltage requirements and higher module density. It is coupled with
higher data rate transfer speeds and allows for dual in-line memory modules (DIMMS) up to
64 GB.

Rambus Dynamic RAM. DRDRAM is a memory subsystem that promised to transfer up to 1.6
billion bytes per second. The subsystem consists of RAM, the RAM controller, the bus that
connects RAM to the microprocessor and devices in the computer that use it.

Read-only memory. ROM is a type of computer storage containing nonvolatile, permanent


data that, normally, can only be read and not written to. ROM contains the programming
that enables a computer to start up or regenerate each time it is turned on.

Programmable ROM. PROM is ROM that can be modified once by a user. It enables a user to
tailor a microcode program using a special machine called a PROM programmer.

Erasable PROM. EPROM is programmable read-only memory PROM that can be erased and
re-used. Erasure is caused by shining an intense ultraviolet light through a window designed
into the memory chip.

Electrically erasable PROM. EEPROM is a user-modifiable ROM that can be erased and
reprogrammed repeatedly through the application of higher than normal electrical voltage.
Unlike EPROM chips, EEPROMs do not need to be removed from the computer to be
modified. However, an EEPROM chip must be erased and reprogrammed in its entirety, not
selectively.

Virtual memory. A memory management technique where secondary memory can be used
as if it were a part of the main memory. Virtual memory uses hardware and software to
enable a computer to compensate for physical memory shortages by temporarily
transferring data from RAM to disk storage.
Compare all software systems

1. Web Development
web development is the act of building, creating and maintaining websites. The
field encompasses a broad range of tasks including everything from coding, to
technical design, to the performance of a website or application running on the
internet.

2. GUI Development
GUI is a Graphical Interface that visually represents communication presented
to the user for easy interaction with the machine. GUI means Graphical User
Interface. The common user Interface includes Graphical representations like
buttons and icons, and communication can be performed by interacting with
these icons rather than the usual text-based or command-based
communication.
3. ● Mobile development
Mobile application development is the process of creating software
applications that run on a mobile device, and a typical mobile application
utilizes a network connection to work with remote computing resources.
Hence, the mobile development process involves creating installable software
bundles (code, binaries, assets, etc.) , implementing backend services such as
data access with an API, and testing the application on target devices.
4- IoT software
IoT software addresses its key areas of networking and action through
platforms, embedded systems, partner systems, and middleware. These
individual and master applications are responsible for data collection, device
integration, real-time analytics, and application and process extension within
the IoT network. They exploit integration with critical business systems (e.g.,
ordering systems, robotics, scheduling, and more) in the execution of related
tasks.
Compare AVR with PIC in a technical way and verify whether
pipeline makes difference or not.

A microcontroller is a small processing device which is primarily designed to perform specific


functions within a large system. For example, a microcontroller is used in an air conditioner to
automatically control and adjust the temperature of a room.

The main parts that a microcontroller has are: central processing unit (CPU), memory unit, and I/O
interfaces. All these components of the microcontroller are formed on a single chip. A
microcontroller can be programmed using various programming languages like C language,
assembly language, etc. to perform a specific function. Microcontrollers are widely used in a
variety of electronic devices, such as medical instruments, manufacturing machinery, robotics,
automobiles, home appliances, toys, etc. to automate their operation.

AVR and PIC are the two types of low-cost microcontrollers that are used in a wide range of
applications from simple embedded systems to industrial control systems. In this article, we will
discuss the important differences between AVR and PIC. But before discussing the differences, let
us first have a look into their basics.

What is an AVR Microcontroller?

AVR is an abbreviation for Alf and Vegard’s RISC processor, also Advanced Virtual
RISC. It is named in the honor of its developers, Alf-Egil Bogen and Vegard Wollan.
AVR is a RISC (Reduced Instruction Set Computer) based microcontroller architecture.
It was first produced by Atmel Corporation in the year of 1997.

The AT90S8515 was the first microcontroller developed based on the AVR
microcontroller architecture. AVR microcontrollers have simple instruction sets,
making them fast and efficient. The major advantages of AVR microcontrollers include
low power consumption, low cost, and high performance. We can use assemble
language as well as high-level languages like C, C++, etc. to program these
microcontrollers for a specific function.

AVR microcontrollers are widely used in several different applications like robotics,
home and office appliances, industrial automation systems, automobiles, etc.
What is PIC Microcontroller?

PIC is an acronym for Peripheral Interface Controller. PIC microcontroller is a low-


cost and high-performance microcontroller used in a variety of applications like
embedded systems, consumer electronics, industrial automation systems, etc. It was
developed by Microchip Technology Corporation in the year of 1975.

PIC microcontrollers come various pin configurations, typically ranging from 6-pins to
100-pins. They use an instruction set architecture that is based on RISC (Reduced
Instruction Set Computer). Therefore, PIC microcontrollers use simple instruction
sets, making them efficient and faster.

In order to program the PIC microcontrollers, we can use assembly language as well
as high-level language like C. PIC microcontrollers also have a vast community to
provide support and resources to developers.

Therefore, PIC microcontrollers are versatile, efficient, low-cost, and high


performance microcontrollers, and are used in several automation applications.

After getting an overview of AVR and PIC microcontrollers, let us now discuss their
important differences.
Difference between AVR and PIC Microcontrollers

Common questions

Powered by AI

EPROM (Erasable Programmable Read-Only Memory) can be erased and reprogrammed by shining ultraviolet light onto a special window in the chip, making it possible to reuse the memory . It is typically used in applications where updates are infrequent, and data retention is crucial, such as firmware storage in microcontrollers. In contrast, EEPROM (Electrically Erasable Programmable Read-Only Memory) can be erased and programmed electrically without removal from the system, allowing for more flexible and frequent updates. This capability makes EEPROM suitable for applications requiring regular updates or configurations, like storing configuration settings in embedded systems . Each type has its own advantages depending on the frequency of data changes and specific application needs.

Processor register sets, which include general-purpose and special-purpose registers, significantly impact computing system performance and efficiency. General-purpose registers store temporary data needed by executing programs, reducing the need to access slower system memory and thus speeding up processing tasks . Special-purpose registers manage specific CPU operations, enhancing efficiency by executing essential functions like addressing, stack management, and instruction pointers. The composition and size of a register set determine how effectively the CPU can handle tasks and optimize system throughput and latency . Larger register sets often improve performance in computation-heavy applications by reducing context-switching overhead.

The Control Unit within the CPU is responsible for fetching instructions from the main memory, decoding them, and then executing them. It acts as the coordinator for the CPU's operations, dictating the flow of data between the CPU, memory, and input/output systems. By interpreting instructions from the computer program, the Control Unit ensures that the CPU executes tasks in the correct order and with the correct resources, making it critical for program execution . This operational oversight by the Control Unit ensures that the CPU can perform complex operations efficiently and accurately, crucial for the overall performance of the computer system.

Dynamic RAM (DRAM) is a type of memory that stores each bit of data in a separate capacitor, which needs to be refreshed periodically to maintain data integrity. This characteristic makes DRAM slower compared to Static RAM (SRAM) but allows for higher densities and lower cost per bit, making DRAM suitable for main memory applications in computing systems . In contrast, SRAM stores data using flip-flops, which do not need to be refreshed, resulting in faster access speeds and lower latency. However, SRAM is more expensive and consumes more power than DRAM, which limits its use to smaller, speed-critical applications such as cache memory within CPUs .

Graphical User Interface (GUI) development enhances software application usability by providing visual representations of commands and tasks through icons and buttons instead of relying on text or command-based entry . This interface design facilitates easier interaction by users who may not have technical expertise, as visual elements are often intuitive and require less cognitive load. Moreover, GUI allows for a more engaging user experience with interactive components, improving user satisfaction and reducing errors during interaction. GUI development is critical in applications where user engagement and performance hinge on the ease of use and clarity provided by the interface .

An embedded system is designed to perform a dedicated function and consists of both hardware and software components. The hardware typically includes a microcontroller, often a System-on-Chip (SoC), which contains a processor, RAM, flash memory, and other components essential for computation and interfacing with peripherals . The complexity of an embedded system can vary depending on its task, ranging from simple microcontrollers to complex systems with multiple processors and peripherals . These components determine the efficiency, cost, and power consumption of the system, significantly impacting its design and operational capabilities. For instance, the decision to use a more complex SoC may increase performance but also cost and power usage, which might not be suitable for systems with strict resource constraints .

Cache memory significantly optimizes processor speed and overall system performance by providing faster data access compared to main memory. Cache, which is closer to the CPU and often integrated directly, stores frequently accessed data and instructions, reducing latency and access time significantly . This results in faster execution of programs and better system performance, particularly in high-demand computational tasks. However, the small size of cache limits the amount of data that can be stored, necessitating effective cache management policies to maximize performance gains. Despite these limitations, cache memory is an essential performance-enhancing tool in modern processors, facilitating efficient data handling and reduced bottlenecks .

Virtual memory enhances a computing system by allowing it to use secondary storage as additional RAM, effectively managing physical memory shortages. This technique enables more programs to run simultaneously and increases the apparent available memory, improving multitasking capability and performance . However, the limitations of virtual memory include slower access speeds when compared to physical RAM, as swapping data to and from disk storage introduces latency. Additionally, excessive use of virtual memory can lead to 'thrashing,' where the system spends more time swapping data than executing programs, diminishing performance .

AVR microcontrollers, based on the Reduced Instruction Set Computer (RISC) architecture, offer simple instruction sets, which provide efficiency and speed. They are known for low power consumption, low cost, and high performance, making them suitable for applications in robotics, home appliances, and industrial systems. Programming can be done using high-level languages for ease of use . PIC microcontrollers, also RISC-based, provide a diverse range of features, including various pin configurations and support from a large community. They are widely used in embedded systems, industrial automation, and consumer electronics due to versatility, efficiency, and high performance . The choice between AVR and PIC often depends on specific application requirements, resource availability, and community support, with both architectures influencing usability through their design and operational capabilities.

The Instruction Set Architecture (ISA) serves as the interface between hardware and software, defining how the CPU executes instructions and interacts with the main memory and input/output system. It specifies the supported data types, registers, memory management capabilities like virtual memory, and instruction set . By doing so, the ISA provides a framework that allows software engineers to write programs that can utilize the hardware capabilities efficiently. It acts as a 'program manual' visible to programmers, allowing them to understand and control the hardware through software loops, making it a critical element in system design .

You might also like