The automatic reactions and sensitivity of electronicdevices to the presence and actions of nearby humans.

best-effort (real-time)

A systemwhere deadlines are not necessarily observed,butthe system will nevertheless try its best to finish alltask on time.

binning

Chip binning consists of grouping manufactured chipsaccording to their capabilities at the factory. These binscan be used salvage otherwise unusable chips bycreating a diversified product range (differentprocessing speeds, number of functional cores, …)

bytecode

An encoding of a computer program designed forefficient interpretation or further compilation down tomachine code.

certification

Certificationrefers to the, usually external, confirmationof certain characteristics of a process, person or device.

Well-knowncategories include "Infrastructure as a service" (IaaS,e.g., a barebonesvirtual machine), "Platform as aService" (PaaS,e.g., Google App

Engine, a platform fordeveloping and hosting web applications in Google-managed data centers) and "Software as a Service (SaaS,e.g., Google Docs, a web-based office suite)

composability

A system design principle whereby individual systemcomponents can be combined and assembled in manydifferent ways in order to promote reusability andflexibility.

concurrency

Concurrency is the amount ofpotential

parallelism in analgorithm or code fragment: the degree to which it canbe run in parallel on a multi-core system.

concurrentprogramming

A programming paradigm where the programmerspecifies to what extentthe code may be run in parallel,but foregoes explicitly specifying how many threadsshould be created and which specific data they shouldprocess.

dataflow language

A programming language thatdefinescomputerprograms

in terms of black boxeswith inputs andoutputs, rather than in terms of a sequence ofcommands that has to be executed in a particular order.

A fablight companyoutsources part of its chipmanufacturing business, but also owns (part of) somefoundries itself.

fault

A requirements, design, or implementation flaw ordeviation from a desired or intended state. Also

knownas

defect.

gate oxide wearout

Under stress, imperfections in the SiO2 atom bonding inthe gate-oxide insulation layer between the gate andchannel of a CMOS transistor grow to conductance pathsbetween the gate and the channel. This causes theleakage to increase and, eventually, the transistor to fail.This problem becomes more severe as transistorsshrink and the insulation layer becomes thinner.

hard error

A permanent, unrecoverable error.See alsosoft error.

hard real-time

A system whereinnot producing

theresult of anoperation beforeits

deadline expires

is equivalent toproducing the wrong result.See alsosoft real-time.

horizontalization

Market horizontalization means that many differentcompanies are involved in the value chain, rather thanthatthe chain from raw resource to final product iscontrolled by only a few companies.

instruction levelparallelism (ILP)

Instruction level parallelism denotes how manyoperations in an instruction stream can be executed inparallel. Hence, a more correct term would be"instruction levelconcurrency"

instructions per clockcycle (IPC)

The number of instructions per clock cycle is a measurefor the degree of concurrency, as described by the ILP,that the processor can exploit by executing multipleinstructions in parallel.

iterative feedback-directed compilation

A compilation process whereby the compiled program istested and profiled, and the results of theseruns are fedback into the compiler to generate a more optimalversion of the program during a subsequentcompilation.

leakage/leakagepower

Leakage power is the power that is consumed bysemiconductor devices apart from the switching power.Some causes are quantum tunneling and relativelyslowly switching transistors.

map-reduce

Map-reduce is a dataprocessing strategy to exploitlarge-scale concurrency that consists of two phases.During themap

phase, the data is pre-processed anddivided into work units. These work units are thendivided over multiple computing nodes and processedduring thereduce

phase.

mechatronics

Mechatronics is an engineering discipline that combineselectronics, mechanics and computing to design newsystems.

A paradigm whereby system functionalityand efficiencyis improved not only by relying on faster and smallertransistors, butbyusing holistic system designprinciples that will eventually result in a convergence ofbiology, chemistry and digital computing.

MPSoC

A multiprocessor system-on-chip is a system-on-chip(seeSoC) that uses multiple, often heterogeneous,processors.

multi-threading

A program is multi-threaded if the operations itperforms are split over multiple execution threads thatcan be executed in parallel on a system with more thanone processor core.

nanotubes

A nanotube is a nanometer-scale tube-like structure.The most commonly known variant is the carbonnanotube with its very strong bonding structure.

Oneexample application of nanotubes is the "carbonnanotube field effect transistor".

The non-functional properties of a system are thoseproperties that are not related to the correct functioningof the system, but which describe other qualities such aspower,performance,reliability, …

organic computing

Organic computing is a form of implementingcomputing systems based on how organic entities areorganized and perform their tasks (such as cells, orcolonies).

parallelism

Parallelism measures the amount

of concurrency that isexploited during atheexecution of a program

onparallel hardware.See alsoconcurrency.

peer-to-peercomputing

See page 11.

portable performance

Portable performance means that platform-neutralsoftware adapts itself to and makes optimal use of thehardware resources available on any

given platform.

predictability

See page 30.

probabilitybasedtransistors

Probability based transistors trade off accuracy inreturn for reduced power consumption.This can beuseful for applications such as video and audiodecoding, which degrade gracefully when only a few bitsare calculated wrong.

process virtualization

Process virtualization refers to running a singleapplication process isolated in a virtual machine. Inmany cases, the application is encoded inbytecode.

A reactive system does not compute one particularoutput, but instead continuously acts based on bothinternal and external inputs and stimuli.

real-time

A real-time system is a system whereby the correctnessor quality of the output not only depends on theproduced value, but also on when this value becomesavailable.See alsohard real-time

andsoft real-time.

resource-awarecompilation

Use knowledge of the program to configure its use of theprocessor to maximize the energy-delay product, e.g., bymaking optimal use ofaccelerators.

reversible computing

Reversible computing is a computing model where thecomputations can be, to a certain extent, reversed. Bothphysical and logical reversibility exist, with the formerdepending on the latter. Reversible computing ispredicted to be more energy-efficient than non-reversible computing.

scratchpad memory

A small but veryfastmemory that is explicitly managedby the run time system or programmer. Conceptually, itis similar to a manually managed cache.

self-adaptive system

A self-adaptive system contains control logic to let thesystem modify its execution based on the input andenvironment without requiring external intervention.

sensor fusion

Sensor fusion means that the inputs from differentsensors are combined in a way thatresults in a quality

that is higher than when the inputs would be usedseparately.

SiP

ASystem in Package, see page 35.

SoC

A System-on-Chip is a system whereby all componentsof the entire computing system have been integrated ona single integrated circuit.

soft error

A

soft error is a transient or recoverable error. See alsohard error.

soft real-time

In a soft real-time system the result of a calculation thatbecomes available only after the deadline has passedwill at worst cause graceful degradation, but otherwisethe system will keep functioning correctly.

speculative multi-threading

Speculative multi-threading means that multiplethreads are created that perform operations that may ormay not be beneficial to the main thread(s) of execution.A well-known example is speculative prefetching,whereby a secondary thread touches memory that willhopefully be required soon by one of the main thread(s).

spintronics

Spintronics exploits the spin of the electron, and theassociated magnetic moment,in addition to itselectronic charge.

split compilation

With split compilation the compilation stage is dividedinto two or more stages.First, the compiler used by theapplication developer transformsthe program into aform that can be easily processed and optimized infuturestages. The final stage is either an install time orrun time compilation wherein the application isspecialized for the actual device or run timeenvironment.

stream computing

Given a set of data (a stream), a series of operations(kernel functions) areapplied to each element in thestream. Kernel functions are usually pipelined, and localon-chip memory is reused to minimize external memorybandwidth.

synchronous language

A synchronous language is a programming languagethat is optimized for programmingreactive systems.

Itdeals with time at a logical level and treats everythingthat occurs during a single logical time cycle assynchronous.

system virtualization

A system virtual machine creates an abstraction layerthat is either almost or completely

indistinguishablefrom a particular kind of physical machine, and whichcan run the same software stack (including theoperating system) as the machine it virtualizes.See alsoprocess virtualization.