From: danh@quantum.on.ca (Dan Hildebrand)
Subject: Re: Embedded vs Workstation world
Date: Thu, 05 Nov 92 15:41:17 GMT
Organization: Quantum Software Systems
Keywords: embedded

In article <koot.720956604@istw85> koot@prl.philips.nl (Sjaak Koot) writes:
>I am looking for some references on the characterization of embedded
>systems, preferably on hard- and software. Are there any introductory books ?
>Questions I have are:
>- Can I use normal benchmarks (SPECMARK, Dhrystone etc.) to get some performance
>  figures for embedded hardware"

Certainly, provided the target hardware has enough resources to run a
particular benchmark. For example, trying to get a Specmark rating for an
8051 is not realistic ( I doubt you'll port GCC to the 8051 ), but for a 486
is quite reasonable. Either processor could be used in an embedded system.

>- How do embedded applications differ from other applications, branching freq.,
>  data / instr. referencing, register usage  (do they differ ?)

I don't believe they differ in general, although you can probably find
specific cases that prove this point. The same development tools are generally
used for both environments.

>- What are common techniques for interfacing

Given that embedded systems are used for such a huge array of applications,
a correct answer for this question is probably "all of the above". An embedded
system could be truly dedicated to a single application, with no connectivity
to other processors, and just a couple I/O bits for the embedded control task.
On the other hand it could be a front end data acquisition system networked
into some larger complex of computers, supporting a network link, hard disks,
a GUI, etc.

>- How do real-time systems and embedded systems relate (are all embedded systems
>  real-time) ?

Every application is realtime to the extent that you want it to respond to
input in some reasonable timeframe. Whether or not a realtime OS is required
to meet that timing constraint is a question of how fast, or tight, that
timing constraint is, and how certainly you need to guarantee meeting the
deadline. ie: When you press 'cook' on your microwave, if it takes half a
second before starting up, you don't really care. On the other hand, the
embedded controller in your car's ignition system had better be meeting
tighter timing constraints than that. Both are embedded applications, and
both have timing constraints, but they differ in the timing goals they must
meet.

>etc. etc.
>I want to get some information on the main differences between the workstation 
>world and the embedded world.

You really need to define what an embedded system is. Does it have a user 
interface ? If so, how complex ?  What about a "embedded" workstation ? ie: 
dedicated to a single, turnkey application. But what if you also run some 
standard applications as part of that embedded system for data analysis ( 
spread sheets, databases, etc ) ? The distinction becomes very blurred....
-- 
Dan Hildebrand                     email: danh@qnx.com
Quantum Software Systems, Ltd.     QUICS: danh  (613) 591-0934 (data)
(613) 591-0931 x204 (voice)        mail:  175 Terrence Matthews          
(613) 591-3579      (fax)                 Kanata, Ontario, Canada K2M 1W8