23
Slide 1 VenturCom Enabling Intelligent Connect Equipment Real-time & Embedded Systems Forum 2000 Real Real - - time for time for Windows NT Windows NT Myron Zimmerman, Ph.D. Chief Technology Officer VenturCom, Inc. Cambridge, Massachusetts (617) 661-1230 www.vci.com

Real-time for Windows NTchemori/Temp/Ardence RTX v7.1 SDK + Runtime... · 2009. 1. 14. · Windows NT and Real-time uWindows NT without RTX is not hard real-time uScheduling and response

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

  • Slide 1 VenturComEnabling Intelligent Connect Equipment

    Real-time & Embedded Systems Forum 2000

    RealReal--time for time for Windows NTWindows NT

    Myron Zimmerman, Ph.D.Chief Technology Officer

    VenturCom, Inc.Cambridge, Massachusetts

    (617) 661-1230www.vci.com

  • Slide 2 VenturComEnabling Intelligent Connect Equipment

    Real-time & Embedded Systems Forum 2000

    AgendaAgendau Background on VenturCom, Inc.u Intelligent Connected Equipment TrendsuMicrosoft Windows CEuWindows NT and Windows NT EmbeddeduWin32-based real-time APIu RTX – Real-time Extension for Windows NTu DCX – Real-time Software Component Modelu Question and Answer

    Resources at www.VCICENTER.com

  • Slide 3 VenturComEnabling Intelligent Connect Equipment

    Real-time & Embedded Systems Forum 2000

    VenturCom OverviewVenturCom Overview

    u Founded in 1980, pre-IPO, 85+ employeesu Investors include GE, Intel and Microsoftu 900+ projects in Telecom, Industrial Automation,

    Medical, Point of Sale, Military & Aerospaceu Headquarters in Cambridge, MA, with offices in

    California, Virginia, France, Japan, United Kingdom

    VenturCom, the leading provider of productsand expertise for organizations developing

    Windows-based Intelligent ConnectedEquipment (ICE)

  • Slide 4 VenturComEnabling Intelligent Connect Equipment

    Real-time & Embedded Systems Forum 2000

    VenturCom MilestonesVenturCom Milestones

    u 1980’s: Principal UNIX developers foru DEC, Foxboro, GE, Toshiba on real-time UNIX versionsu EDS on $250M USDA, AT&T on $980M AFCAC 251 contractsu Boeing & Rockwell on first FAA flight-certified embedded UNIX

    u Early 1990’s: Real-time and embedded UNIX productsu Fully preemptive and real-time UNIX SVR3/R4 kernelsu Embedded and ROM’ed UNIX, embedded development tools

    u 1996: Real-time and embedded Windows productsu First tools and embedded configurations of Windows NT

    u Licensed to Microsoft in 1998 as basis for Windows NT Embedded

    u First comprehensive real-time extension for Windows NT

  • Slide 5 VenturComEnabling Intelligent Connect Equipment

    Real-time & Embedded Systems Forum 2000

    Intelligent ConnectedIntelligent ConnectedEquipment TrendsEquipment Trends

    u Shift to 32-bit general purpose micros (64-bit coming)u Compressed equipment life-cyclesu Exploding software content in intelligent equipment

    u Advanced GUI-based operator interfacesu Connectivity to other equipment and Information Systemsu Complexity and advanced product features

    u Use of commercial-off-the-shelf componentsu Hardware - standard processors, busses and board setsu Software - standard OS and layered components

    u New equipment software development paradigm – more use of existing components, less new code development

  • Slide 6 VenturComEnabling Intelligent Connect Equipment

    Real-time & Embedded Systems Forum 2000

    Windows inWindows inIntelligent EquipmentIntelligent Equipment

    u Desired by end-user organizations for commonality with their existing Information Systems

    u Microsoft offers two Windows OS optionsu CE for the low-end - less features, higher NRE, lower unit costu NT for the high-end - more features, lower NRE, higher unit cost

    u Pluses for equipment vendors and their developersu Great range of COTS Drivers, Applications, etc.u Familiar Windows GUI-based operator interfaceu Powerful Win32 API and Network connectivityu Rich set of development toolsu Recently added embedded features

    u Missing comprehensive real-time functionality

  • Slide 7 VenturComEnabling Intelligent Connect Equipment

    Real-time & Embedded Systems Forum 2000

    Windows CE 3.0Windows CE 3.0

    u Microsoft targets Pocket PC, Set-tops and variationsu Win32 API subsetu Disconnected or intermittent connected systemu Windows NT host development and download

    u Memoryu .5MB RAM, .5MB ROMu GUI adds 1MB RAM, 2MB ROMu Typical total RAM in 4 to 16 MB rangeu Application code pages, XIP, ROM compression

    u Scheduling and response times (Pentium III 700)u 16 ISR levels - 2.5 µs to 5+ µsu 256 thread priorities - 6.7 µs to 25+ µsu Heavy load or networking - 100+ µs

  • Slide 8 VenturComEnabling Intelligent Connect Equipment

    Real-time & Embedded Systems Forum 2000

    Windows NTWindows NTEmbeddedEmbedded

    u Based on technology licensed from VenturComu Microsoft targets the high-software content market

    u OEM leverages Windows NT networking and applicationsu Full Win32 API, security and system services are available

    u New embedded licensing model (e.g. lower cost)u Target Designer authoring tool

    u Builds the target image from Windows NT operating system and application components

    u Database of all NT files, registry settings and inter-relationshipsu Provides configuration managementu Performs dependency checking

  • Slide 9 VenturComEnabling Intelligent Connect Equipment

    Real-time & Embedded Systems Forum 2000

    Windows NT Embedded Windows NT Embedded FeaturesFeatures

    u Based on the standard (i.e. retail) Windows NTu Small memory footprint configurations

    u 16 MB RAM, 10 MB Storage (16 MB with networking)u The “paging file” can be eliminated

    u Special display driver for “headless” operationu A “write filter” for read-only storage devicesu Remote management and unattended error recoveryu Boot and run from:

    u Flash Memoryu CD-ROM (requires bootable ROM burning software)

  • Slide 10 VenturComEnabling Intelligent Connect Equipment

    Real-time & Embedded Systems Forum 2000

    Windows NT andWindows NT andRealReal--timetime

    u Windows NT without RTX is not hard real-timeu Scheduling and response times (Pentium III 700)

    u 32 ISR levels - 2.5 µs to 10+ µsu DPC - 5.8 µs to 5000+ µsu 32 thread priorities - 6.7 µs to 5000+ µs (plus paging)

    u All low-level device programming must be done in a Windows NT kernel level driver using the Device Driver Kit (DDK) – non-Win32 interface and difficult to debug

    u Hard to manage user-level working sets (e.g. paging)u Complex interrupt management – ISR queues a DPC,

    which in turn schedules a thread

  • Slide 11 VenturComEnabling Intelligent Connect Equipment

    Real-time & Embedded Systems Forum 2000

    Situational AnalysisSituational Analysis

    u Two basic approaches to support real-timeu Use two computers – one computer with a RTOS for real-time,

    plus another computer with Windows for non-real-time processingu One computer for both real-time and non-real-time processing

    u Benefits of the one computer approachu Lower hardware costs and easier software integrationu Utilize a real-time extension for “soft” coprocessor capabilityu Single host Pentium processor for both types of processing

    u Pentium is a very high-performance RISC-speed processoru Pentium includes some DSP-like instructions (MMX)u 20% CPU bandwidth of a 500 MHz processor, is still 100 MHz

    u Microsoft may add some real-time features over timeu Select an API and extension that can support these features

  • Slide 12 VenturComEnabling Intelligent Connect Equipment

    Real-time & Embedded Systems Forum 2000

    RTXRTX

    u RtWinAPI – the common real-time Windows APIu RTX Description and Featuresu RTX Architectureu Performance Results (CE, NT and NT with RTX)

    The Real-time Extension for Windows NT that enables high-speed, deterministic

    processing without a coprocessor

  • Slide 13 VenturComEnabling Intelligent Connect Equipment

    Real-time & Embedded Systems Forum 2000

    RtWinAPIRtWinAPI -- The CommonThe CommonRealReal--time Windows APItime Windows API

    u Defines a common real-time Win32-based APIu Supports real-time applications and device driversu Same on Windows CE and Windows NT with RTX

    u Carefully selected set of 108 Win32 calls u Most useful and provide the best real-time performanceu Process, Thread, Handle, DLL, Heap memory supportu Events, Semaphores, Mutexs and Shared Memory supportu Elegant thread-based device interrupt managementu IPC between real-time and non-real-time componentsu Leverages standard development tools and knowledge

    u Header file and doc available on VenturCom’s CENTER

  • Slide 14 VenturComEnabling Intelligent Connect Equipment

    Real-time & Embedded Systems Forum 2000

    RTX DescriptionRTX Description

    u RTX adds a real-time sub-system (RTSS) to NTu Independent thread scheduler runs ahead of all Windows NT

    interrupt, DPC and thread processingu High-speed and deterministic response timesu RTSS can run on a dedicated processor on MP systemsu Worst-case IST jitter times of 22 µs (8 µs on MP systems)

    u Supports RtWinAPI plus other advanced API callsu C, C++ and Java (3rd party) language support

    u No changes to Windows NT kernel or device driversu Real-time HAL extender for interrupt isolation, fast timers, blue

    screen interception

    u Includes debugging, timing trace and object viewer tools

  • Slide 15 VenturComEnabling Intelligent Connect Equipment

    Real-time & Embedded Systems Forum 2000

    Key RTX FeaturesKey RTX Features

    u Thread-based interrupt managementu Interrupt mask based on thread priorityu Full RTX API (with FP and SEH) always available

    u Bus controller, direct memory and device port IO accessu Resources (memory, interrupts, …) coordinated with NTu RTX applications continue after Windows NT stopsu RTX applications start early during booting (~3 s after

    initial blue screen)u Floating point supportu Windows NT starvation watchdog timer (UP issue only)u Structured exception handling (SEH)u Support for DLL modules

  • Slide 16 VenturComEnabling Intelligent Connect Equipment

    Real-time & Embedded Systems Forum 2000

    RTX ArchitectureRTX Architecture

    Windows NTKernel andDevice Drivers

    HAL

    RTX - RTSS (Real-time Subsystem)

    Win32Subsystem

    RTSSProcess

    RTSSProcess

    Win32Process

    RTX.DLL

    Win32 Processwith RTX IPC

    RTX - HAL (Real-time HAL Extender)

  • Slide 17 VenturComEnabling Intelligent Connect Equipment

    Real-time & Embedded Systems Forum 2000

    Thread Switch Times under Thread Switch Times under Load on Pentium III 700Load on Pentium III 700(Min / Max in ì sec)(Min / Max in ì sec)

    Operation NT 4.0 CE 3.0 RTX 5.0 SetEvent (no switch) 1.0 / 5000+ 1.7 / 8.2+ .3 / 3.7 Event 1.4 / 5000+ 2.8 / 12.2+ .9 / 6.3 Mutex 1.5 / 5000+ 4.0 / 12.0+ 1.0 / 6.5 Semaphore 1.4 / 5000+ 3.3 / 10.7+ .9 / 6.3 Yield 1.2 / 5000+ 1.5 / 9.5+ .4 / 6.8 Priority Change 1.3 / 5000+ 1.6 / 10.2+ .7 / 5.3 IST Latency 6.7 / 5000+ 6.7 / 26+ 4.0 / 19

    NOTES:1) Maximum values include the overhead of timer interrupts.2) NT does not priority promote the thread owning a contested mutex.3) CE results from light GUI load only - networking loads add 100+ µs latencies.

  • Slide 18 VenturComEnabling Intelligent Connect Equipment

    Real-time & Embedded Systems Forum 2000

    DCXDCX

    u DCX Descriptionu DCX Key Featuresu DCX Architecture

    The Real-time Data and Control Exchange for Windows

    Connecting software components together in real-time

  • Slide 19 VenturComEnabling Intelligent Connect Equipment

    Real-time & Embedded Systems Forum 2000

    DCX DescriptionDCX Description

    u Supports a data-flow “centric” software component model with high-performance real-time data and control flowu Based on the publish/subscribe modelu Integrates with Microsoft COM and the OPC interface standard

    u Types of DCX software componentsu Real-time applications – use RtWinAPI (portable) callsu Device drivers – use RtWinAPI (portable) callsu Non-real-time applications – use any native OS API callsu DCX COM server to COM and DCOM client components

    u System integration model for mixed-vendor real-time software components

  • Slide 20 VenturComEnabling Intelligent Connect Equipment

    Real-time & Embedded Systems Forum 2000

    DCX FeaturesDCX Features

    u Data flow tuned for Real-time and Controlu Named data items with configurable propertiesu Cached and queued methods, variety of data typesu High-performance read/write times (less than 0.2 µs)u No-contention read/write access protocol guarantees determinism

    u Configurable Scheduling Behavioru Abstract all thread priorities and timersu Standard and configurable synchronization methods

    u C/C++ and real-time Java (3rd party) language interfacesu C++ driver and application component classes coming

    u Distributed using real-time TCP/IP networks coming

  • Slide 21 VenturComEnabling Intelligent Connect Equipment

    Real-time & Embedded Systems Forum 2000

    Component IntegrationComponent Integrationwith DCXwith DCX

    DCX - Open data exchange

    Real-timeApp

    Real-timeDriver

    DCX COM Server(OPC IDL)

    DataLogger

    OperatorInterface

    OPC Client OPC Client

    Non-RTApp

    Real-timeApp

  • Slide 22 VenturComEnabling Intelligent Connect Equipment

    Real-time & Embedded Systems Forum 2000

    DCX ArchitectureDCX Architecture

    DCXDCX

    DCXApplication

    DCXApplication

    DCXDevice Driver

    DCXDevice Driver

    ConfigurationDatabase

    ConfigurationDatabase

    DCX Resource Manager

    DCX Resource Manager

    DCXDCX

    RtWinAPIRtWinAPI

    SharedMemory

    SharedMemory

    IPC SyncObjects

    IPC SyncObjects

  • Slide 23 VenturComEnabling Intelligent Connect Equipment

    Real-time & Embedded Systems Forum 2000

    SummarySummary

    u Start with Windows NT and/or CE platformsu Lower development costs while adding functionalityu Run on a wide range of off-the-shelf platformsu Leverage large pool of Win32 developers and tools

    u Add RTX for hard real-time capability and to reduce coprocessor and DSP hardware costs

    u Use DCX to connect real-time and non-real-time software components together

    u Leverage VenturCom’s expertise to reduce development risk, cost and time-to-market

    u Check the www.vci.com and www.vcicenter.com websites for current information, downloads and support