Question

In: Computer Science

1. Explain the following: a) Types Real Time Systems. b) Design metrics for Real Time Embedded...

1. Explain the following:

a) Types Real Time Systems.

b) Design metrics for Real Time Embedded Systems.

2. Explain the main differences between ASIP, FPGA, PLD and ASIC.

3. Define the processor technology and compare between single purpose processor, general purpose proces- sor and application specific processor.

Solutions

Expert Solution

a)

RTOS

Windows CE(Microsoft Widows)

Used small foot print mobile and connected devices .Supported by ARM,MIPS, SH4 & x86 architectures

LynxOS

Complex, hard real-time applications

POSIX- compatible, multiprocess, multithreaded OS.

Supported by x86, ARM, PowerPC architectures

VxWorks

(Wind river)

Most widely adopted RTOS in the embedded industry.

Used in famous NASA rover robots Spirit and Opportunity

Certified by several agencies and international standards for real time systems, reliability and security-critical applications.

Micrium µC/OS-II

Ported to more than a hundred architectures including x86, mainly used in microcontrollers with low resources.

Certified by rigorous standards, such as RTCADO-178B

QNX

Most traditional RTOS in the market.

Microkernel architecture; completely compatible with the POSIX

Certified by FAADO-278 and MIL-STD-1553 standards.

Symbian

Designed for Smart phones

Supported by ARM, x86 architecture

VRTX

Suitable for traditional board based embedded systems and SoC architectures

Supported by ARM, MIPS, PowerPC & other RISC

Architectures.

RTLINUX

Open-source

b)

Design metrics is a measure of an implementation's features such as its cost, size, power, and performance. It must be of a size to fit on a single chip, must perform fast enough to process data in real time and consume minimum power to extend battery life.

A Design Metric is a measurable feature of the system’s performance, cost, time for implementation and safety etc. Most of these are conflicting requirements i.e. optimizing one shall not optimize the other: e.g. a cheaper processor may have a lousy performance as far as speed and throughput is concerned.

1. NRE cost (nonrecurring engineering cost)

It is one-time cost of designing the system. Once the system is designed, any number of units can be manufactured without incurring any additional design cost; hence the term nonrecurring.

2. Unit cost

The monetary cost of manufacturing each copy of the system, excluding NRE cost.

3. Size

The physical space required by the system, often measured in bytes for software, and gates or transistors for hardware.

4. Performance

The execution time of the system

5. Power Consumption

It is the amount of power consumed by the system, which may determine the lifetime of a battery, or the cooling requirements of the IC, since more power means more heat.

6. Flexibility

The ability to change the functionality of the system without incurring heavy NRE cost. Software is typically considered very flexible.

7. Time-to-prototype

The time needed to build a working version of the system, which may be bigger or more expensive than the final system implementation, but it can be used to verify the system’s usefulness and correctness and to refine the system’s functionality.

8. Time-to-market

The time required to develop a system to the point that it can be released and sold to customers. The main contributors are design time, manufacturing time, and testing time. This metric has become especially demanding in recent years. Introducing an embedded system to the marketplace early can make a big difference in the system’s profitability.

9. Maintainability

It is the ability to modify the system after its initial release, especially by designers who did not originally design the system.

10. Correctness

This is the measure of the confidence that we have implemented the system’s functionality correctly. We can check the functionality throughout the process of designing the system, and we can insert test circuitry to check that manufacturing was correct.

2

ASIC (Application Specified Integrated Circuit) is a customized integrated circuit. It is usually used by a person or company for a very limited usage. So when it is developed, only the person or company who orders it can use it. It is not useful for other usages, for example, an IC designed for a specific line of cellular phones of a company, whereby no other products can use it except the cell phones belonging to that product line.

- ASIC is just built for one and only one customer.

- ASIC is used only in one product line

- Only volume production of ASICs for one product can make sense which means low unit cost for high volume products, otherwise the cost is not efficient.

- Can exploit parallelism to achieve high performance

- Low power consumption

ASIP (application specific instruction processor) is usually used in SoC (System on a Chip). ASIP is an architecture including two parts which are a minimum ISA (Instruction Set Archietecture) and a configurable logic which you can use to design your own instruction set. So it provides relatively high flexibility compared to ASIC and better performance compared to FPGA (Field Programmable Gate Array). Also, it is cheaper than FPGA, but slightly more expensive than ASIC.

- ASIP can help build your own instruction set to meet your specific requirement.

- It provide a minimum ISA, which can make shorter TTM (Time to Market).

FPGA means Field Programmable Gate Array. It can be “field” programmed to work as per the intended design. It means it can work as a microprocessor or graphics card, or even as both at once. The designs running on FPGA’s are generally created using hardware description languages such as VHDL and Verilog. FPGA is made up of number of Configurable Logic Blocks (CLB’s) and are connected with Programmable Interconnects. The CLB’s are primarily made of Look-Up Tables (LUT’s), Multiplexers and Flip-Flops. They can implement complex logic functions. Apart from CLB’s, and routing interconnects, many FPGA’s also contain dedicated hard-silicon blocks for various functions such as Block RAM, DSP Blocks, External Memory Controllers, PLL’s etc. These dedicated hardware blocks are critical in competing with ASIC’s.

PLD means Programmable Logic Device.

ASIC = Application Specific Integrated Circuit.

PLD is relatevly simple logic device, that can be programed to implement some logic function. In general this logic function is combination of AND and OR.

ASIC is a chip designed for a particular application (as opposed to the integrated circuits that control functions such as RAM in a PC). ASICs are built by connecting existing circuit building blocks in new ways. Since the building blocks already exist in a library, it is much easier to produce a new ASIC than to design a new chip from scratch.

3

An embedded processor is a type of microprocessor designed into a system to control electrical and mechanical functions. Embedded processors are usually simple in design, limited in computational power and I/O capabilities, and have minimal power requirements. At a basic level, embedded processors are a CPU chip placed in a system that it helps control.

Embedded processors are often confused with microcontrollers. While they do perform similar functions, they integrate with their given system in different ways. The actual functions they perform can also be different as well.

Microcontrollers are the result of technological advances decreasing the size of controllers. Eventually, all of the components of a controller including I/O devices and memory evolved into a single chip, giving us the “micro” in microcontrollers. These chips are small, self-contained devices that have all of the features necessary to control the system they are embedded in.

This control autonomy is the primary difference between microcontrollers and embedded processors. Embedded processors require other external components such as integrated memory and peripheral interfaces to perform their designated functions. The two devices are frequently referred to as one device because embedded processors are often components within a microcontroller.

Processor technology involves the architecture of the computation engine used to implement a system’s desired functionality. All devices we know have processors embedded in it (microwave, cars ...). Choosing the right embedded processor is critical to perform the wanted operations.

general purpose processor

The system designer only needs to program the processor’s memory to carry out the required functionality: software portion. These types are created to produce large numbers for a variety of applications

Here are some general characteristics from a general purpose processor:

Advantages:

easy to design and use (only programming the memory)

design time is thus low

design cost is thus low

reprogrammability (changing functionalities or improving a system becomes easy when you only need to change the program)

Disadvantages:

performance is not very good

size is high ( because they are built to be used in a variety of applications with different specifications and all these specifications must be possible on the processor)

they consume much power

Usually they are used to put in a product the first time it goes to the market, because of their cheap design cost and ease to use. Because of the use of code, a designer usually strives to minimize compiled code size, rather than maximize performance.

example:Microcontroller (MCU), Microprocessor

Basically a microprocessor performs all the tasks that must be accomplished by a microcontroller/embedded system. A general microprocessor consists of a bus unit which is a pathway to communicate with the (computer) memory, an instruction cache to keep track of instructions coming from the computer memory through the bus unit, a (pre)fetch unit copying instructions from the instruction cache for further processing, a decode unit getting instructions from the prefetch unit that will be converted to a binary code understood by the processor, a control unit that performs tasks or instructions which are comprised in the binary code coming from the decode unit , ‘data cache’ to save instructions or data, an ALU (arithmetic logic unit) that executes mathematic operations such as adding, multiplying…, and finally registers which are also some memory used by the ALU to store the results of performed operations. A microcontroller does not have a data bus or bus unit as described above for a general microprocessor. The reason is that there is no need to communicate to memory because memory is incorporated on the same chip as the microprocessor itself. A MCU is typically used as a systems controller, with many conditional operations and frequent changes in program flow. The MCU code is written in C or C++. There’s a wide variety of MCUs available: from 4-bit, 32 kHz models to 32-bit, 500 MHz devices, and beyond(The "-bit" designation refers to the width of a device's data bus, registers, execution units, etc.)

If you choose an embedded operating system (Windows, Linux, Dos...) a microprocessor is needed. But for real-time operations you better not use a microprocessor. The microcontroller is actually a low-end microprocessor, and is used in more simple tasks (traffic light to hold the light for a certain time...)

single purpose processor

This type of processor is designed to execute exactly one program. An embedded designer creates a single-purpose processor by designing a custom digital circuit Advantages and disadvantages are more or less the opposite of the general-purpose processor:

Advantages:

performance is very good

small size (exact to fit one solution)

they consume little power

Disadvantages:

not very easy to design and design time is thus high

design cost is thus higher

reprogramming is difficult

limited flexibility: not easy to make changes, accommodate features

In design we can make a difference between standard single-purpose processors and custom single-purpose processors (ASSP). The standard single-purpose processors (hardware peripherals) are explained in a different chapter Hardware Peripherals. They are used for in a wide variety of applications for the same task.

example: application-specific integrated circuit (ASIC),application-specific standard product (ASSP)

They are designed to fit the specific requirements of an end product. In the design process they will be optimised for both power and performance. An ASIC is introduced for a product usually after a product is stabilised on the market (with non-ASIC solution), because of the higher development time and cost. After the stabilisation the producer can look for extra margin by making the processor as good as possible for his application. A disadvantage is that when you make a mistake, you will need to make a whole new chip, but for a general-purpose processor you just change the code and recompile. You can use an ASIC in a stable market where technology and requirements aren't going to change rapidly.

application specific instruction-set processor (ASIP)

An ASIP is designed for a particular class of applications with common characteristics it’s an 'intermediate' solution between a general-purpose and a single-purpose processor and gives more flexibility than a single purpose processor and still better performance, power, size than a general purpose processor. Of course this leads to a longer design time (cost) and there's also a compiler problem, you will have to create your compiler usually yourself.

example:Digital signal processor (DSP)

A DSP is optimized to efficiently perform repetitive and numerically intensive tasks such as matrix operations, convolution for filtering in real-time, because of the performance limitations of the MCUs. DSPs can run at very high clock rates, and they are often compared in terms of how many millions of MAC operations they can perform per second. This metric is known as "mega MACS," or MMACS.

A DSP is optimized to do mathematical operations, but not for supervisory control. Thus, DSP-based systems are integrated with the slower MCUs, this can be done in 2 ways:

Discrete DSP + MCU (separate in the system)

Advantages:

design of DSP and MCU separate from each other

Disadvantages:

hard partitioning between control and DSP function, if there are too many instructions for the DSP, the MCU can’t take over

the DSP and MCU require different development tools

Convergent Processor (a convergent processor is optimized both for computation on real-time data flows, and for control-oriented tasks)

Advantages:

optimised for computation on real-time data flows as well as for control-oriented tasks

high clock rates

lower power dissipation

Disadvantages:

mixing a control application with signal processing on the same device, non-real-time tasks may interfere with time-critical tasks

the skills of developers must be higher


Related Solutions

7. What are the applications of an Embedded and Real Time Systems. 8. Analyze in detail...
7. What are the applications of an Embedded and Real Time Systems. 8. Analyze in detail about the challenges in Embedded and Real-Time systems design. 9. What are the parameters to be considered while designing an Embedded System Process? 10. Why microprocessor/microcontroller is used in Embedded system.
Embedded system.What do you understand by the term "real-time"? How is the concept of real-time different...
Embedded system.What do you understand by the term "real-time"? How is the concept of real-time different from the traditional notion of time? Explain your answer using a suitable example. Give an example of soft real-time task and non-real-time task. Explain the key difference between the characteristics of these two types of tasks.
hacking Embedded Operating Systems: The Hidden Threat EXPLAIN WINDOWS IoT (INTERNET OF THINGS) AND OTHER EMBEDDED...
hacking Embedded Operating Systems: The Hidden Threat EXPLAIN WINDOWS IoT (INTERNET OF THINGS) AND OTHER EMBEDDED SYSTEMS. WHAT ARE NIX EMBEDDED OPERATING SYSTEMS? HOW DO YOU PATCH EMBEDDED OPERATING SYSTEMS?.
The following 3 instances of code was provided by my embedded systems course. Can you explain...
The following 3 instances of code was provided by my embedded systems course. Can you explain what is happening in each code segment? === code 1 === void foo() { uint8_t a=2; uint8_t b[]={b0, b1, b2}; // They are the last three digits of your A# uint8_t* c=b; uint8_t* d=&a; } === code 2 === __extension__ typedef struct tagT1CONBITS { union { struct { unsigned :1; unsigned TCS:1; unsigned TSYNC:1; unsigned :1; unsigned TCKPS:2; unsigned TGATE:1; unsigned :6; unsigned TSIDL:1;...
1. (a) Which of the following types of biomolecules would most likely be found embedded in...
1. (a) Which of the following types of biomolecules would most likely be found embedded in a phospholipid bilayer?
4. Identify the key differences between hard real-time, soft real-time and firm real-time systems. Give at...
4. Identify the key differences between hard real-time, soft real-time and firm real-time systems. Give at least one example of real time tasks corresponding to these three categories. Identify the timing constraints in your tasks and justify why the tasks should be categorized into the categories you have indicated. 5. What is an Embedded and Real Time System? 6. Enumerate some Embedded Computers that are exists from origin of the Embedded Systems.
What are the types of an expert system? Explain one with a real-time example. “Better the...
What are the types of an expert system? Explain one with a real-time example. “Better the user interface, better is the expert system”. Is this valid? Discuss
Which of the following types of articles would NOT be included in an embedded review of...
Which of the following types of articles would NOT be included in an embedded review of literature? Theory articles. Methodological articles. Opinion articles. Empirical findings.
The following are all types of public health surveillance systems EXCEPT: a. Case Surveillance Systems b....
The following are all types of public health surveillance systems EXCEPT: a. Case Surveillance Systems b. Genetic mutations surveillance system c. Clinical outcomes surveillance d. Laboratory based surveillance
Explain the factors affecting the design of reactor systems.
Explain the factors affecting the design of reactor systems.
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT