An introduction to: The uRT51 Microprocessor and Real-Time Programming Suite.

Slides:



Advertisements
Similar presentations
Technische universiteit eindhoven 4 September 2002www.ics.ele.tue.nl/~btheelen1 B.D. Theelen Architecture Design of a Scalable Single-Chip Multi-Processor.
Advertisements

CS1104: Computer Organisation School of Computing National University of Singapore.
Real-Time Library: RTX
CSE 522 Real-Time Scheduling (4)
1 SECURE-PARTIAL RECONFIGURATION OF FPGAs MSc.Fisnik KRAJA Computer Engineering Department, Faculty Of Information Technology, Polytechnic University of.
Software Architecture for DSD DSD Team. Overview What is software architecture and why is it so important? The role of architecture in determining system.
Contiki A Lightweight and Flexible Operating System for Tiny Networked Sensors Presented by: Jeremy Schiff.
Scheduling for Embedded Real-Time Systems Amit Mahajan and Haibo.
Supporting Time-sensitive Application on a Commodity OS By Ashvin Goel, Luca Abeni, Charles Krasic, Jim Snow, Jonathan Walpole Presenter: Shuping Tien.
Real-Time Kernels and Operating Systems. Operating System: Software that coordinates multiple tasks in processor, including peripheral interfacing Types.
By Group: Ghassan Abdo Rayyashi Anas to’meh Supervised by Dr. Lo’ai Tawalbeh.
CprE 458/558: Real-Time Systems
Evolving Real-Time Systems using Hierarchical Scheduling and Concurrency Analysis John Regehr Alastair Reid Kirk Webb Michael Parker Jay Lepreau School.
EECS 498 Advanced Embedded Systems Lecture 6: Rhyme, Reason & Review; Topic group formation.
EMBEDDED SOFTWARE Team victorious Team Victorious.
Performance Evaluation of Real-Time Operating Systems
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 15 Slide 1 Real-time Systems 1.
CPU Performance Assessment As-Bahiya Abu-Samra *Moore’s Law *Clock Speed *Instruction Execution Rate - MIPS - MFLOPS *SPEC Speed Metric *Amdahl’s.
Development in hardware – Why? Option: array of custom processing nodes Step 1: analyze the application and extract the component tasks Step 2: design.
Real-Time Software Design Yonsei University 2 nd Semester, 2014 Sanghyun Park.
Embedded System Design Framework for Minimizing Code Size and Guaranteeing Real-Time Requirements Insik Shin, Insup Lee, & Sang Lyul Min CIS, Penn, USACSE,
Operating System Concepts and Techniques Lecture 5 Scheduling-1 M. Naghibzadeh Reference M. Naghibzadeh, Operating System Concepts and Techniques, First.
Task Scheduling By Dr. Amin Danial Asham.
An Introduction to Design Patterns. Introduction Promote reuse. Use the experiences of software developers. A shared library/lingo used by developers.
Non-Preemptive Access to Shared Resources in Hierarchical Real-Time Systems Marko Bertogna, Fabio Checconi, Dario Faggioli CRTS workshop – Barcelona, November,
Real Time Operating Systems Lecture 10 David Andrews
Scheduling policies for real- time embedded systems.
Real-Time Operating Systems for Embedded Computing 李姿宜 R ,06,10.
Dr. R R DOCSIT, Dr BAMU. Basic Java : Multi Threading 2 Objectives of This Session State what is Multithreading. Describe the life cycle of Thread.
Reference: Ian Sommerville, Chap 15  Systems which monitor and control their environment.  Sometimes associated with hardware devices ◦ Sensors: Collect.
Real Time Scheduling Telvis Calhoun CSc Outline Introduction Real-Time Scheduling Overview Tasks, Jobs and Schedules Rate/Deadline Monotonic Deferrable.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
2013/12/09 Yun-Chung Yang Partitioning and Allocation of Scratch-Pad Memory for Priority-Based Preemptive Multi-Task Systems Takase, H. ; Tomiyama, H.
Liang, Introduction to C++ Programming, (c) 2010 Pearson Education, Inc. All rights reserved Chapter 6 Advanced Function Features.
A Hybrid Design Space Exploration Approach for a Coarse-Grained Reconfigurable Accelerator Farhad Mehdipour, Hamid Noori, Hiroaki Honda, Koji Inoue, Kazuaki.
Lab 2 Parallel processing using NIOS II processors
Processor Architecture
1 VxWorks 5.4 Group A3: Wafa’ Jaffal Kathryn Bean.
CE Operating Systems Lecture 2 Low level hardware support for operating systems.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
SoC CAD 2016/1/24 1 Custom designed CPU architecture based on a hardware scheduler and independent pipeline registers - concept and theory of operation.
Computer Organization Instruction Set Architecture (ISA) Instruction Set Architecture (ISA), or simply Architecture, of a computer is the.
Implementation of Embedded OS Lab3 Porting μC/OS-II.
Introduction to Real-Time Systems
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
Real-Time Operating System Design
For a good summary, visit:
Onlinedeeneislam.blogspot.com1 Design and Analysis of Algorithms Slide # 1 Download From
Slides created by: Professor Ian G. Harris Operating Systems  Allow the processor to perform several tasks at virtually the same time Ex. Web Controlled.
Unit - I Real Time Operating System. Content : Operating System Concepts Real-Time Tasks Real-Time Systems Types of Real-Time Tasks Real-Time Operating.
Embedded Real-Time Systems Processing interrupts Lecturer Department University.
“Temperature-Aware Task Scheduling for Multicore Processors” Masters Thesis Proposal by Myname 1 This slides presents title of the proposed project State.
Embedded Systems. What is Embedded Systems?  Embedded reflects the facts that they are an integral.
FreeRTOS synopsis 김백규 -. FreeRTOS is … Real Time Kernel portable (ARM, AVR, x86, MSP430 etc.) open source ( mini size.
Digital Control CSE 421.
Resource Management IB Computer Science.
Topics Covered What is Real Time Operating System (RTOS)
Operating Systems (CS 340 D)
“Temperature-Aware Task Scheduling for Multicore Processors”
A Closer Look at Instruction Set Architectures
Chapter 1: The 8051 Microcontrollers
Reconfigurable Hardware Scheduler for RTS
Operating Systems : Overview
Improved schedulability on the ρVEX polymorphic VLIW processor
Midterm Review Brian Kocoloski
Operating System Introduction.
Chapter 10 Multiprocessor and Real-Time Scheduling
IP Control Gateway (IPCG)
Applying Use Cases (Chapters 25,26)
Presentation transcript:

An introduction to: The uRT51 Microprocessor and Real-Time Programming Suite.

Real-Time Systems: an overview. Real-Time Systems are used in many applications areas (not just critical ones but those where timely behaviour is either required or convenient). Real-Time Operating Systems (RTOS) are applied in order to get a desired performance of the real-time system.

How traditional real-time systems are implemented. A set of tasks are defined and parameterised as real- time tasks. A RTOS’s task, call “the scheduler”, is invoked at regular intervals (the scheduler is usually implemented as an ISR of a timer interrupt). The timer interval defines slot time units. The scheduler chooses a task according to a priority discipline and grants it the processor.

Defining a Real-Time System. Timing tasks’ parameters (period, deadline) should be expressed in slot time units. The slot time defines the precision we can express the tasks’ parameters: – Example: if slot time = 4ms then a period equal to ms should be expressed as either 12ms or 16ms. BOTH OPTIONS MAY INTRODUCE BEHAVIOUR PROBLEMS ON THE APPLICATION.

Implementing a Traditional Real- Time System. We have to choose an adequate time interval – IT IS NOT SO EASY AND PERFORMANCE, AS WELL AS POWER CONSUPTION, MAY DEPEND ON IT (SCHEDULING OVERHEAD vs. TIME PRECISION). We must express time parameters of the tasks in slot units. – IT MAY FORCE US TO MODIFY THE TASK CODE (Example: IF THE SLOT TIME IS EQUAL TO 4ms AND THE TASK CALCULATES SOME VELOCITY, IT IS NOT THE SAME A PERIOD EQUAL TO 12ms OR EQUAL TO 16ms.

Programming a Traditional Real- Time System. We should program the system timer. We should program the OS primitives in order to initialise each one of the real-time tasks. – A DEEP KNOWLEDGE OF THE PLATFORM SHOULD BE ADQUIERED. We must choose simply scheduling disciplines in order to reduce overhead (performance) and complexity (robustness).

Verifying a Traditional Real-Time System. Some debugging strategies should be implemented in order to analysed the real-time behaviour of the system. – THESE STRATEGIES MAY PRODUCE INDESIRABLE EFFECTS ON THE SYSTEM.

Current solutions (what to do when system doesn’t work): When application constraints are not met, the following options are evaluated: – To increase the microprocessor frequency. Temporal constraints can be satisfied but power-consumption as well as cost are also increased. – To implement power-saving algorithms: these algorithms may introduce some perturbations on the other tasks of the systems and requires some power to be executed. – To implement a low complexity scheduler. The real-time performance of the system is affected. – To program the whole application as a monolithic program. Maintenance of the system is complex and expensive. TRADITIONAL REAL-TIME SYSTEMS DO NOT GIVE GOOD SOLUTIONS FOR EMBEDDED APPLICATIONS

Facing the facts. With all these complexities, how many multitasking real-time systems have you ever implemented? (please, be honest!!) If you have implemented at least one then – How much time did you waste programming the real-time features of the tasks and how much on the tasks itself? Else – Would not you like to implement a real-time system in a few key strokes? End If

Overcoming troubles. uRT51: a new concept in Real-Time Systems.

uRT51 main features. uRT51 is a Real-Time microprocessor designed for Real-Time applications. It can implement a great deal of scheduling disciplines. It includes a built-in debugging. It supports up to tasks. uRT51 performance with a 10Mhz clock is higher than performance achieved by a RTOS with a 100Mhz clock.

uRT51: implementation. It was entirely described in VHDL. It can be implemented either on FPGAs or ASICs.

uRT51: an overview. Instruction subset compatible with 8051 microprocessor. With a 10MHz clock, time parameters can be expressed with a 100ns precision (one clock period). If no real-time task is required to be executed, then the power consumption is almost zero (no power reduction strategy is needed).

uRT51: The architecture The uRT51 architecture contains: – A 8051 microprocessor core (further uP versions will considered other microprocessor cores). – A real-time unit that carries out all the real-time functions. – A debugging and analysis unit that connects to uRT51 Real-Time Programming Suite.

uRT51: Applications The uRT51’s flexibility improves a wide range of applications where Real-Time is applied. uRT51 is suitable for low-power, control embedded applications.

uRT51 Real-Time Suite uRT51 Real-Time Suite brings you all the power to program and analyse the uRT51 microprocessor.

Suite: the task progr. Environment Task Code Just functionality, no real-time programming Real-Time properties configuration Add as many tasks as you need Would you like to change the Scheduling Mechanism?

Suite: the scheduling Choose your scheduling discipline Additional disciplines can be included under request

Suite: independent preemption You can select preemptive or non-preemptive behaviour for each task Do not worry for time units of your design

Suite: let’s compile Compile your application with just one click Detail messages allow you an easy debug

Suite: connecting to the uRT51 Open the Control Console to connect to the uRT51 You can see the state of the connection with the the uRT51 Microprocessor

Suite: Control Console functions Connect to the uRT51 Download your application Trace your application Reset the uRT51 Record Runtime Data for Real-Time analysis

Suite: CPU Registers Viewer Watch the CPU registers during Runtime.

Suite: Runtime Code Viewer Trace the execution of your code.

Suite: Variable Viewer Follow the value of each one of your variables Store the values for further analysis.

Suite: Scheduling Viewer Analyse the way your tasks are executed. Runtime execution time is trustily shown.

Conclusion uRT51 is a flexible Real-Time microprocessor. uRT51 Real-Time Suite allows you to program and analyse real-time applications in a few minutes. Because uRT51 is described in VHDL, it can be used in System-On-Chip architectures.

Conclusion Very precisely timing can be achieved (100ns of precision with system clock of 10MHz instead of some ms of system timer tick). No power consumption algorithm required (power consumption almost zero when no task is executed). Any arbitrary priority discipline can be implemented (it may be included in the Programming Suite under request).

Conclusion uRT51 microprocessor is suitable for low- power embedded real-time control applications.

Thanks Thanks for your attention. Any further information, please contact to: