DOC PREVIEW
UCI CS 244 - Introduction to Embedded Systems and Ubiquitous Computing

This preview shows page 1-2-3-4-5 out of 14 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 14 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 14 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 14 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 14 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 14 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 14 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

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 2446DigitalSystem architectureHow many processors (custom and general purpose)The interconnect networkThe memory hierarchy and DMA architectureIn some designs, system architecture may include softwareProcessorsInstruction set architecturePipeline design and datapathControllerRTL descriptionMemoriesOn-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 2447SoftwareUser level software (ULS)Highly application specificLow reusabilityTypically designed at the last phaseGUIOften part of ULSMay be based on standard GUI libraries (X11, Java, WinCE, GNOME, KDE, etc.)Often requires more research and refinement than it receivesMay be the most complex/challenging design component, especially in display/input limited devicesUser librariesReusable application softwareDSP algorithms and application kernels7 Front End Back End Mini KernelLeast ReliableWinter 2010- CS 2448Software System librariesHighly reusable application softwareImplementation of standards (e.g., MPEG), custom database engines, GUI kernels, etc.VMEmulates a portable and documented “fictitious” machine (and perhaps API) on any underlying processing systemMiddlewareProvide a unique interface between applications, lower level hardware, the grid, or a network of devicesSoftware that connects two otherwise separate applicationsDevice driversAPI to manipulate, read, and write hardware devicesHighly hardware dependent codeDifficult to debug8ReliableWinter 2010- CS 2449SoftwareRTOSProvides, multitasking, scheduling, communication, and synchronization between threads of executionBIOSProvides very basic API for accessing the underlying computer platformFirmwareSoftware that is embedded in a system that does not allow modification by an end userMay contain BIOS, RTOS, Middleware, …, ULSOr, may contain all but ULSOr, some hybrid9Winter 2010- CS 24410Real-time SystemsA 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-timeFirm real-timeSoft real-timeWinter 2010- CS 24411Hard Real-timeSystem designed to meet all deadlinesA missed deadline is a design flawExamples:Shuttle navigation systemNuclear reactor monitoring systemSystem hardware (over) designed for worst-case performanceSystem software vigorously testedFormal proofs used to guarantee timing correctnessWinter 2010- CS 24412Firm Real-timeSystem designed to meet all deadlines, but“Occasional” missed deadline is allowedSometimes statistically quantified (e.g., 5% misses)No need to compute further once a deadline is missedExamples:Multimedia systemsSystem hardware designed for average case performanceSystem software tested under average (ideal) conditionsWinter 2010- CS 24413Soft Real-TimeSystem designed to meet as many deadlines as possibleBest effort to complete within specified time, but may be lateExamples:Network switch or routerSystem hardware designed for average case performanceSystem software tested under average (ideal) conditionsWinter 2010- CS 24414Embedded Operating SystemsMust provide means for dynamic task creationCreate, join, and cancelMust provide means for task synchronization and communicationShared memory vs. message passingSemaphore and condition variables vs. monitorsPosix threads a common standard provides thread creation and


View Full Document

UCI CS 244 - Introduction to Embedded Systems and Ubiquitous Computing

Download Introduction to Embedded Systems and Ubiquitous Computing
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Introduction to Embedded Systems and Ubiquitous Computing and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Introduction to Embedded Systems and Ubiquitous Computing 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?