Embedded System Architecture

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 10

TOPIC : EMBEDDED SYSTEM ARCHITECTURE

INTRODUCTION:

An embedded system is a computer system designed to do one or a few dedicated and/or specific functions often with real-time computing constraints. It is embedded as part of a complete device often including hardware and mechanical parts. By contrast, a general-purpose computer, such as a personal computer (PC), is designed to be flexible and to meet a wide range of end-user needs. Embedded systems control many devices in common use today. Embedded systems contain processing cores that are typically either microcontrollers or digital signal processors (DSP). The key characteristic, however, is being dedicated to handle a particular task. They may require very powerful processors and extensive communication, for example air traffic control systems may usefully be viewed as embedded, even though they involve mainframe computers and dedicated regional and national networks between airports and radar sites (each radar probably includes one or more embedded systems of its own).

general-purpose processors special purpose processors (e.g. DSPs) FPGAs dedicated ASICs Software architecture determines parallelism:

ARCHITECTURE:
Embedded system designers must study hardware, software and the relation between the two Understanding the application is the most important key to achieve a sufficient performance at low cost! Hardware architectures:

ORAGANIZATION OF EMBEDDED SYSTEM:


MIMD:
In computing, MIMD (multiple instruction, multiple data) is a technique employed to

achieve parallelism. Machines using MIMD have a number of processors that function asynchronously and independently. At any time, different processors may be executing different instructions on different pieces of data. MIMD architectures may be used in a number of application areas such as computeraided design/computer-aided manufacturing, simulation, modeling, and as communication switches. MIMD machines can be of either shared memory or distributed memory categories. These classifications are based on how MIMD processors access memory. Shared memory machines may be of the busbased, extended, or hierarchical type. Distributed memory machines may have hypercube or mesh interconnection schemes.

The disadvantage of this design is lower performance because system RAM usually runs slower than dedicated graphics RAM, and there is more contention as the memory bus has to be shared with the rest of the system. It may also cause performance issues with the rest of the system if it is not designed with the fact in mind that some RAM will be 'taken away' by graphics. Other approach that gave similar final state is boost up of graphics, that is used in some SGi computers, most notably O2/O2+. The memory in these machines is simply one fast pool (2,1 GB/s per second in 1996) shared between system and graphics is done on demand including pointer redirection communication between main system and graphics subsystem. This is called Unified memory architecture(UMA)

1. Shared Memory Architecture


In computer architecture, Shared Memory Architecture (SMA) refers to a design where the graphics chip does not have its own dedicated memory, and instead shares the main system RAM with the CPU and other components. This design is used with many integrated graphics solutions to reduce the cost and complexity of the motherboard design, as no additional memory chips are required on the board. There is usually some mechanism (via the BIOS or a jumper setting) to select the amount of system memory to use for graphics, which means that the graphics system can be tailored to only use as much RAM as is actually required, leaving the rest free for applications. A side effect of this is that when some RAM is allocated for graphics, it becomes effectively unavailable for anything else, so an example computer with 512 MiB RAM set up with 64MiB graphics RAM will appear to the operating system and user to only have 448 MiB RAM installed.

2. DISTRIBUTED MEMORY SYSTEM


Distributed Shared Memory (DSM), in Computer Architecture is a form of memory architecture where the (physically separate) memories can be addressed as one (logically shared) address space. Here, the term shared does not mean that there

is a single centralized memory but shared essentially means that the address space is shared (same physical address on two processors refers to the same location in memory). Alternatively in computer science it is known as (DGAS), a concept that refers to a wide class of software and hardware implementations, in which each node of a cluster has access to shared memory in addition to each node's nonshared private memory. Software DSM systems can be implemented in an operating system, or as a programming library. Software DSM systems implemented in the operating system can be thought of as extensions of the underlying virtual memory architecture. Such systems are transparent to the developer; which means that the underlying distributed memory is completely hidden from the users. In contrast, Software DSM systems implemented at the library or language level are not transparent and developers usually have to program differently. However, these systems offer a more portable approach to DSM system implementation. Software DSM systems also have the flexibility to organize the shared memory region in different ways. The page based approach organizes shared memory into pages of fixed size. In contrast, the object based approach organizes the shared memory region as an abstract space for storing shareable objects of variable sizes. Another commonly seen implementation uses a tuple space, in which the unit of sharing is a tuple.

IMPLEMENTAION OF SHARED MEMORY MODEL

1. ILLIAC IV:

The ILLIAC IV, designed at the University of Illinois by Daniel Slotnick, was the worlds first supercomputer and the first to use parallel computation. A key part of the ILLIAC IV design was its fairly high parallelism for that time.

2. OPENMP: in the design of Open


MP, the most widely used shared memory API 3. ILLINOIS

CACHE COHERENCE PROTOCOL (MESI): This is used today by virtually


all cache coherent shared memory multiprocessors

IMPLEMENTAION OF DISTRIBUTED MEMORY SYSTEM:

From a programming perspective, message passing implementations usually comprise a library of subroutines. Calls to these subroutines are imbedded in source code. The programmer is responsible for determining all parallelism. Historically, a variety of message passing libraries have been available since the 1980s. These implementations differed substantially from each other making it difficult for programmers to develop portable applications. In 1992, the MPI Forum was formed with the primary goal of establishing a standard interface for message passing implementations. Part 1 of the Message Passing Interface (MPI) was released in 1994. Part 2 (MPI-2) was released in 1996 MPI is now the "de facto" industry standard for message passing, replacing virtually all other message passing implementations used for production work. MPI implementations exist for virtually all popular parallel computing platforms. Not all implementations include everything in both MPI1 and MPI2.

DIFFERENCE BETWEEN SHARED MEMORY SYSTEM AND DISTRIBUTED MEMORY SYSTEM:


1. The architectural differences between shared-memory systems and distributedmemory systems have implications on how each is programmed. With a sharedmemory multiprocessor, different processors can access the same variables. This makes referencing data stored in memory similar to traditional singleprocessor programs, but adds the complexity of shared data integrity. A distributed-memory system introduces a different problem: how to distribute a computational task to multiple processors with distinct memory spaces and reassemble the results from each processor into one solution. 2. Distributed Computing is a way of combining the processing power of thousands of small computers (ie: PCs) to solve very complex problems that are too large for traditional supercomputers, which are very expensive to build and run. 3. Distributed memory versus shared memory models draw a line that deeply divides system architecture designs into one or the other camp. 4. Distributed memory favors memoryintensive processes where each processor has access to the full bandwidth of its memory. 5. Shared memory benefits complex, interprocessor communication with CPUintensive processes where messagepassing latency is critical. It also favors tasks that require larger memories where

one 4-gig space works better than four individual 1-gig spaces.

PROS:
Globally shared memory provides userfriendly programming perspective to programming.

CONS : PROS AND CONS OF DISTRIBUTED MEMORY SYSTEM:


1. Lack of scalability (adding processors changes the traffic requirement of the Interconnect). 2. Not easy to build big ones. 3. The interconnect is usually custom built: expensive!! 4. Writing correct shared memory parallel programs is not straight forward.

PROS:
o Economics o Speed o Inherent distribution o Reliability o Incremental growth

Characteristics of Embedded Systems


1. Embedded systems are designed to do some specific task, rather than be a general-purpose computer for multiple tasks. Some also have real-time performance constraints that must be met, for reasons such as safety and usability; others may have low or no performance requirements, allowing the system hardware to be simplified to reduce costs 2. Embedded systems are not always standalone devices. Many embedded systems consist of small, computerized parts within a larger device that serves a more general purpose. For example, an embedded system in an automobile provides a specific function as a subsystem of the car itself. 3. The program instructions written for embedded systems are referred to as firmware, and are stored in

CONS:
o Software o Network o More components to fail o Security

PROS AND CONS OF SHARED MEMORY SYESTEM

read-only memory or Flash memory chips. They run with limited computer hardware resources: little memory, small or non-existent keyboard and/or screen.

European automotive industry enjoys a prominent place in utilizing Embedded technology to achieve better engine control. They have been utilizing the recent Embedded innovations such as brake-by-wire and drive-by-wire.

APPLICATION: Telecommunications
If ever there is an industry that has reaped the benefits to Embedded Technology, for sure, it is only Telecommunications. The Telecom industry utilizes numerous embedded systems from telephone switches for the network to mobile phones at the end-user. The Telecom computer network also uses dedicated routers and network bridges to route data. Embedded engineers help in ensuring high-speed networking. This is the most critical part of embedded applications. The Ethernet switches and network interfaces are designed to provide the necessary bandwidth. These will allow in rapidly incorporating Ethernet connections into advanced Embedded applications. VECTOR Institute provides enough exposure to Embedded students in a broad range of application types. These Embedded application types range from high availability telecom and networking applications to rugged industrial and military environments.

CASE STUDY 1:

Vehicle control
Real-time vehicle control is an important application of embedded computing. It requires communication to sensors, actuators and subcontrol units that are distributed across the vehicle. Special networks have been designed for the real-time distributed control of vehicles: CAN-Bus (Controller Area Network), a fast asynchronous serial bus system LIN (Local Interconnect Network), a simple and slow 1-wire bus for distributing control signals from a master to its slaves MOST (Media-oriented Systems Transport), a synchronous serial bus for multimedia data. Safety is one of the most important design goals

Automobile sector
Automobile sector has been in the forefront of acquiring and utilizing Embedded technology to produce highly efficient electric motors. These electric motors include brushless DC motors, induction motors and DC motors, that use electric/electronic motor controllers.

MPEG-2 used e.g. in video cameras (camcorders) or on DVDs Processing chain for encoding:

CASE STUDY 2

Examples of Embedded Systems


Embedded systems span all aspects of modern life and there are many examples of their use. 1. Telecommunications systems employ numerous embedded systems from telephone switches for the network to mobile phones at the end-user. Computer networking uses dedicated routers and network bridges to route data.

MPEG VEDIO COMPRESSION


Color space is transformed to YCbCr with Chroma signals Cb and Cr subsampled (compare JPEG). generated MPEG-11 stream consists of I-frames (store a complete frame as single JPEG image) P-frames (store the translational difference to the previous frame) B-frames (store the translational difference to the previous or the next future frame) up to 14 P- or B-frames between two I-frames Motion estimation allows one frame to be encoded as translational motion from another frame: it calculates a motion vector for each macroblock of size 16x16 For encoding video streams motion estimation is used

2. Consumer electronics include personal digital assistants (PDAs), mp3 players, mobile phones, videogame consoles, digital cameras, DVD players, GPS receivers, and printers. Many household appliances, such as microwave ovens, washing machines and dishwashers, are including embedded systems to

provide flexibility, efficiency and features. Advanced HVAC systems use networked thermostats to more accurately and efficiently control temperature that can change by time of day and season. Home automation uses wired- and wireless-networking that can be used to control lights, climate, security, audio/visual, etc., all of which use embedded devices for sensing and controlling.

.
3. Transportation systems from flight to automobiles increasingly use embedded systems. New airplanes contain advanced avionics such as inertial guidance systems and GPS receivers that also have considerable safety requirements. Various electric motors brushless DC motors, induction motors and DC motors are using electric/electronic motor controllers. Automobiles, electric vehicles. and hybrid vehicles are increasingly using embedded systems to maximize efficiency and reduce pollution. Other automotive safety systems such as anti-lock braking system (ABS), Electronic Stability Control (ESC/ESP), and automatic four-wheel drive.

REFERENCE:
www.vectorindia.org/applications_ of_embedded_systems.html www.inhand.com/electronicsglossary/52-electronicsglossary/202-embedded-systemscharacteristics

Book-Advance computer architecture

4. Car as an integrated control-, communication and information system.

en.wikipedia.org/wiki/MIMD

https://computing.llnl.gov/tutorials/p arallel_comp/

http://cs.illinois.edu/research/themes

/parallel?quicktabs_22=3

You might also like