CS244-Introduction to Embedded Systems and Ubiquitous ComputingCS244 – Lecture 3Course OutlineComponents of Embedded SystemsDesign DomainsDigitalSoftwareSlide 8Slide 9Real-time SystemsHard Real-timeFirm Real-timeSoft Real-TimeEmbedded Operating SystemsCS244-Introduction to Embedded Systems and Ubiquitous ComputingInstructor: Eli BozorgzadehComputer Science DepartmentUC IrvineWinter 2012Winter 2010- CS 2442CS244 – Lecture 3Embedded System SoftwareWinter 2010- CS 2443Course Outline ConceptConceptSpecificationSpecificationHW/SWHW/SWPartitioningPartitioningHardware ComponentsHardware ComponentsSoftware ComponentsSoftware ComponentsEstimation -Estimation -ExplorationExplorationHardwareHardwareSoftwareSoftwareDesignDesign(Synthesis, Layout, …)(Synthesis, Layout, …)DesignDesign(Compilation, …)(Compilation, …)Validation and Evaluation (area, power, performance, …)Validation and Evaluation (area, power, performance, …)Winter 2010- CS 2444Components of Embedded SystemsAnalogDigital AnalogMemoryCoprocessorsControllersConvertersProcessorInterfaceSoftware(Application Programs)ASIC5Design Domains5MechanicsHydraulicsActuatorsCircuit BoardsPackagingPanel & BodyMEMSNanotechnologiesAntennasRF ModulatorsMixersAmplifiersVCOsSensorsA/D & D/APower DriversFiltersSignal ConditionersOp. AmpsTransistorsPassive DevicesPower SupplyAC/DC & DC/DCSystem ArchitectureProcessorsMemoriesALU, MUX, & LatchesGates & FFCMOS TransistorsMasksUser SoftwareGUIUser LibrariesSystem LibrariesVMMiddlewareDevice DriversRTOSBIOS & FirmwareOther Analog Digital SoftwareWinter 2010- CS 2446DigitalSystem architectureHow many processors (custom and general purpose)The interconnect networkThe memory hierarchy and DMA architectureIn some designs, system architecture may include softwareProcessorsInstruction set architecturePipeline design and datapathControllerRTL descriptionMemoriesOn-chip (small) memories may be based on Flip Flops (see next slide)For larger fabrics, often based on DRAM, magnetic media, or laser readable media6ReliableVery ReliableWinter 2010- CS 2447SoftwareUser level software (ULS)Highly application specificLow reusabilityTypically designed at the last phaseGUIOften part of ULSMay be based on standard GUI libraries (X11, Java, WinCE, GNOME, KDE, etc.)Often requires more research and refinement than it receivesMay be the most complex/challenging design component, especially in display/input limited devicesUser librariesReusable application softwareDSP algorithms and application kernels7 Front End Back End Mini KernelLeast ReliableWinter 2010- CS 2448Software System librariesHighly reusable application softwareImplementation of standards (e.g., MPEG), custom database engines, GUI kernels, etc.VMEmulates a portable and documented “fictitious” machine (and perhaps API) on any underlying processing systemMiddlewareProvide a unique interface between applications, lower level hardware, the grid, or a network of devicesSoftware that connects two otherwise separate applicationsDevice driversAPI to manipulate, read, and write hardware devicesHighly hardware dependent codeDifficult to debug8ReliableWinter 2010- CS 2449SoftwareRTOSProvides, multitasking, scheduling, communication, and synchronization between threads of executionBIOSProvides very basic API for accessing the underlying computer platformFirmwareSoftware that is embedded in a system that does not allow modification by an end userMay contain BIOS, RTOS, Middleware, …, ULSOr, may contain all but ULSOr, some hybrid9Winter 2010- CS 24410Real-time SystemsA real-time system has to produce correct result at the right time (deadline driven)A real-time system imposes stringent timing requirements in addition to correctness Hard real-timeFirm real-timeSoft real-timeWinter 2010- CS 24411Hard Real-timeSystem designed to meet all deadlinesA missed deadline is a design flawExamples:Shuttle navigation systemNuclear reactor monitoring systemSystem hardware (over) designed for worst-case performanceSystem software vigorously testedFormal proofs used to guarantee timing correctnessWinter 2010- CS 24412Firm Real-timeSystem designed to meet all deadlines, but“Occasional” missed deadline is allowedSometimes statistically quantified (e.g., 5% misses)No need to compute further once a deadline is missedExamples:Multimedia systemsSystem hardware designed for average case performanceSystem software tested under average (ideal) conditionsWinter 2010- CS 24413Soft Real-TimeSystem designed to meet as many deadlines as possibleBest effort to complete within specified time, but may be lateExamples:Network switch or routerSystem hardware designed for average case performanceSystem software tested under average (ideal) conditionsWinter 2010- CS 24414Embedded Operating SystemsMust provide means for dynamic task creationCreate, join, and cancelMust provide means for task synchronization and communicationShared memory vs. message passingSemaphore and condition variables vs. monitorsPosix threads a common standard provides thread creation and
View Full Document