0% found this document useful (0 votes)
24 views

chapter 2 - Embedded System Architecture

Chapter 2 discusses embedded system architecture, which consists of hardware and software layers, detailing their components and importance. It covers the classification of architectures, including Harvard and Von Neumann, as well as RISC and CISC instruction sets. The chapter also highlights the ARM Cortex-M0+ and ATmega32 microcontrollers, emphasizing their features, applications, and communication methods.

Uploaded by

Baby Dan
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
24 views

chapter 2 - Embedded System Architecture

Chapter 2 discusses embedded system architecture, which consists of hardware and software layers, detailing their components and importance. It covers the classification of architectures, including Harvard and Von Neumann, as well as RISC and CISC instruction sets. The chapter also highlights the ARM Cortex-M0+ and ATmega32 microcontrollers, emphasizing their features, applications, and communication methods.

Uploaded by

Baby Dan
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 27

Chapter 2 (Two)

Embedded System Architecture


An Introduction to Embedded Systems
2.1.
Architecture
⬢ The basic structure of embedded system architecture is
a two-layer model consisting of:
⬡ Hardware
⬡ Software
⬢ The hardware layer includes all physical components
like processors, input-output devices, and memory.
⬢ The software layer includes the operating system,
drivers, and middleware.
Cont ….
⬢ Embedded systems architecture is a combination of
hardware and software, designed to support the operation
of an embedded system.
⬢ The architecture defines the hardware and software
interfaces to be used and how they should be managed.
⬢ It includes both the Hardware system and Software system
Cont ….
⬢ Embedded systems hardware architecture comprises
several essential components that make the system
complete.
⬡ They include a processor, memory, input/output
interfaces, communication interfaces, and peripherals.
⬢ Each of these components performs a specific
function that makes it possible for the system to
function efficiently.
Cont ….

⬢ The hardware part of an embedded system


comprises the physical components that
make up the system.
⬢ The processor, also known as the central
processing unit, is an essential component
of the system.
Why is Embedded Systems Architecture Important?

⬢ Embedded system architecture is important because:


⬡ It defines how the hardware and software embedded
components must interact with each other.
⬡ It reduces development costs, enables faster time to
market, and ensures a reliable system.
⬡ The well-designed architecture enables the creation of
energy-efficient systems capable of executing real-time
applications.
⬡ The architecture also allows for the efficient use of
resources, thus minimizing the cost of the system.
What is the Main Part of Embedded Systems
Hardware Architecture?
⬢ The main part of embedded systems hardware architecture is the Central
Processing Unit (CPU) or the processor.
⬢ The CPU is responsible for executing instructions that control all the digital
circuits in the hardware system.
⬢ The processor interacts with the memory through :
⬡ the memory bus, retrieves instructions, performs arithmetic and logical
operations, and stores the results as needed.
⬢ It also interacts with the input/output interfaces, enables the sending and
receiving of signals on a communication bus, and manages the flow of data in
and out of the system.
Classification of Embedded System
Architecture
⬢ There are two basic types of embedded system
architecture.
⬡ Harvard architecture
⬡ Von Neumann architecture
⬢ When data and code lie in different memory blocks,
then the architecture is referred as Harvard
architecture.
⬢ In case data and code lie in the same memory block,
then the architecture is referred as Von Neumann
architecture.
Cont ….
⬢ Von Neumann Architecture
⬡ The Von Neumann architecture was first proposed by a computer
scientist John von Neumann.
⬡ In this architecture, one data path or bus exists for both
instruction and data. As a result, the CPU does one operation at a
time.
⬡ It either fetches an instruction from memory, or performs
read/write operation on data.
⬡ So an instruction fetch and a data operation cannot occur
simultaneously, sharing a common bus.
Cont ….
⬢ The basic block diagram is shown below:
⬡ Von-Neumann architecture supports
simple hardware.
⬡ It allows the use of a single, sequential
memory.
⬡ Today’s processing speeds vastly outpace
memory access times, and we employ a
very fast but small amount of memory
(cache) local to the processor.
Cont ….

⬢ Harvard Architecture
⬡ The Harvard architecture offers separate storage and
signal buses for instructions and data.
⬡ This architecture has data storage entirely contained
within the CPU, and there is no access to the instruction
storage as data.
⬡ Computers have separate memory areas for program
instructions and data using internal data buses, allowing
simultaneous access to both instructions and data.
Cont ….
⬢ The basic block diagram is given below:
⬡ Programs needed to be loaded by an
operator;
⬡ the processor could not boot itself.
⬡ In a Harvard architecture, there is no need
to make the two memories share
properties.
Classification of Embedded System
Architecture
⬢ RISC and CISC in Computer Organization
⬡ RISC is the way to make hardware simpler whereas CISC is
the single instruction that handles multiple work.
⬡ The RISC and CISC both are part of system architecture and
set of computer instruction.
⬡ The important difference between RISC and CISC is the
number of computing cycles.
⬡ Let’s explore more differences between RISC and CISC.
Cont ….

⬢ What is RISC?
⬡ RISC stands for Reduced Instruction Set Computers.
⬡ RISC is a microprocessor and as the name indicates, it
performs a smaller number of computer instructions.
⬡ Thus, it has a high speed to operate. It works on a fixed
instruction format that keeps less than 100 instructions to
be processed with a register-based instruction used by a
few simple addressing modes.
⬡ The LOAD/STORE is the only instruction used to access the
memory as it is a compiler development mechanism.
Cont ….

⬢ What is CISC?
⬡ Stands for Complex Instruction Set Architecture.
⬡ The main idea is that a single instruction will do all
loading, evaluating, and storing operations.
⬡ CISC is the kind of chip that can be easily
programmed and makes the best and efficient use
of memory.
Difference between RISC and CISC Processor
S.No. RISC CISC
1. RISC is a reduced instruction set. CISC is a complex instruction set.
2. The number of instructions is less as The number of instructions is more as
compared to CISC. compared to RISC.
3. The addressing modes are less. The addressing modes are more.
4. It works in a fixed instruction format. It works in a variable instruction format.
5. The RISC consumes low power. The CISC consumes high power.
6. The RISC processors are highly The CISC processors are less
pipelined. pipelined.
8. Requires more RAM. Requires less RAM.
2.2. ARM Cortex M0+ Hardware Overview

⬢ The ARM Cortex-M0+ is a highly energy-efficient


32-bit microcontroller (MCU) processor designed
for embedded systems with stringent power and
cost constraints.
⬢ Key Features
⬡ Ultra-low power consumption
⬡ High performance
⬡ Small footprint
⬡ Ease of use
Cont …

⬢ Applications
⬡ Wearable devices: The Cortex-M0+ is a popular choice for
wearable devices, such as fitness trackers and smartwatches, due
to its low power consumption and small footprint.
⬡ IoT devices: The Cortex-M0+ is also a popular choice for IoT
devices, such as sensors and actuators, due to its low cost and
high performance.
⬡ Battery-powered devices: The Cortex-M0+ is a good choice for
battery-powered devices, such as wireless mice and keyboards,
due to its ultra-low power consumption.
Communication: Parallel, USB/Serial, USART,
2.3.
SPI, TWI, Ethernet, Wireless
⬢ Embedded System Architecture Communication
⬡ Embedded systems communicate with other devices using a variety
of protocols.
⬢ The most common protocols are:
⬡ parallel,
⬡ USB/serial,
⬡ USART,
⬡ SPI,
⬡ TWI,
⬡ Ethernet, and
⬡ wireless
Cont ….

Parallel Communication USB/Serial Communication


⬢ Parallel communication is a method of ⬢ USB/serial communication is a method of
transmitting data in which multiple bits
transmitting data using the Universal Serial
are sent simultaneously over separate
wires. Bus (USB) or serial interface.
⬢ This method is very fast, but it is also ⬢ This method is very versatile and can be
very expensive to implement. used to connect a wide variety of devices.
⬢ Parallel communication is often used in
⬢ USB/serial communication is often used in
applications where high-speed data
transfer is required, such as in computer applications where it is important to
graphics and high-performance connect devices that have different
computing. communication protocols, such as
computers an printers.
Cont ….

USART Communication SPI Communication


⬢ USART communication is a method of ⬢ SPI communication is a method of
transmitting data using the Universal transmitting data using the Serial Peripheral
Synchronous Asynchronous Receiver Interface (SPI).
Transmitter (USART).
⬢ This method is very fast and efficient, and it is
⬢ This method is very common in embedded
often used to connect microcontrollers to
systems because it is simple to implement and
peripherals, such as sensors and actuators.
reliable.
⬢ SPI communication is often used in
⬢ USART communication is often used in
applications where it is important to applications where it is important to transfer
communicate with devices that use a data quickly and efficiently, such as in data
synchronous or asynchronous protocol, such as acquisition and control systems.
sensors and actuators.
2.4. ATmega32 Microcontroller Architecture
⬢ The ATmega32 is an 8-bit RISC ⬢ The ATmega32 has the following
microcontroller from Microchip features:
Technology. ⬡ 32 KB of flash memory
⬢ It is based on the Harvard architecture,
⬡ 2 KB of SRAM
which means that it has separate
memory spaces for instructions and data. ⬡ 1 KB of EEPROM
⬢ This architecture allows the ATmega32 to ⬡ 32 I/O lines
achieve a high level of performance and
⬡ 8-channel 10-bit ADC
efficiency.
⬡ Timer/counters
⬡ Serial communication interfaces
(USART, SPI, I2C)
⬡ Watchdog timer
Cont ….
⬢ ATmega32 Microcontroller Architecture
⬡ The CPU components are shaded blue.
⬡ The memory components are shaded
green.
⬡ The clock components are shaded in
orange.
⬡ The I/O components are shaded in
purple.
Cont ….
⬢ The ATmega32 is a versatile and
powerful microcontroller that can
be used in a wide variety of
applications.
⬢ It is a popular choice for hobbyists
and professionals alike due to its:
⬡ ease of use,
⬡ low cost, and
⬡ high performance.
Assembly Language Programming with ATmega32
2.5. Instruction Set

⬢ Assembly language is the low-level programming


language that directly interacts with the hardware of a
microcontroller.
⬢ It is a more difficult language to learn than high-level
languages like C,
⬢ But it provides more control over the hardware and can
be more efficient in terms of code size and execution
speed.
ATmega32 Instruction Set
⬢ The ATmega32 instruction set is a set of instructions that the
ATmega32 microcontroller can understand.
⬢ The instruction set includes instructions for:
⬡ data manipulation,
⬡ arithmetic,
⬡ logic,
⬡ control flow, and
⬡ input/output.
⬢ Assembly language programming can be a powerful tool for
programming microcontrollers.
Thank You
Instructor: Biniyam E.

You might also like