EmbeddedRelated.com
Forums
The 2024 Embedded Online Conference

x86 vs. other 32bit architectures (ARM, PowerPC)

Started by Andy December 16, 2004
I am new in 32bit embedded systems. Can you advise
me what architecture I should choose for learning
and future projects with embedded Linux?

At the moment I am a bit confused because of the following information:

1. x86 has the "inherited inefficiency"
   - I do not really know what it means.

2. x86 has the higher overall cost
   - After looking for SBCs I can not confirm this rule. I have
     found a few x86 boards cheaper than 200USD but
     boards with ARM or PowerPC are more expensive.

What would you choose for embedded Linux?

Thanks in advance
Andy
As it goes with these questions... They're kinda vague...
To general in nature... No offense intended...

Hence a general answer... First of all, ask yourself
what task(s) it's supposed to perform. Consequently,
ask yourself if you need the performance offered by
a 32 bit platform, i.e. will a 16 or even an 8-bit system
do the job just as well?
What kind of hardware do I need for my application(s)?
Memory requirements, ADCs, DACs, various forms of
serial communication (i.e. USB, RS232, and what have
you), parallel I/O, etc...
A second point of attention is the availability of the various
development tools, IDEs, compilers, linkers, simulators,
emulators, etc...

Actually, it all boils down to not staring yourself blind on
one particular hardware platform, i.e. keep your application's
software as portable as possible.

Good luck

Waldemar

"Andy" <a066@poczta.onet.pl> schreef in bericht
news:3ddeaf42.0412160733.e069fa8@posting.google.com...
> I am new in 32bit embedded systems. Can you advise > me what architecture I should choose for learning > and future projects with embedded Linux? > > At the moment I am a bit confused because of the following information: > > 1. x86 has the "inherited inefficiency" > - I do not really know what it means. > > 2. x86 has the higher overall cost > - After looking for SBCs I can not confirm this rule. I have > found a few x86 boards cheaper than 200USD but > boards with ARM or PowerPC are more expensive. > > What would you choose for embedded Linux? > > Thanks in advance > Andy
1. Nobody knows what it means until you tell us the context.  But here
is my take on it:

"The x86-compatible family is (with a few exceptions that we can safely
ignore) only employed as part of a more or less wholly PC-compatible
hardware architecture. These processors are large and extremely
energy-hungry; active cooling is almost universally required in x86
designs, and mains power is preferable. The dominant design factor
steering x86-based designs is the baggage required by backwards
compatibility (both in the CPU core and other support circuitry on the
motherboard) [...]. Vast effort has been invested to modernize the CPU
and overall system architecture, but even the current 64-bit
architectures are constrained to some degree by legacy considerations.
There are relatively few true SoC offerings based around an
x86-compatible core, and thus significant external circuitry is always
required in x86 systems. It should also be noted that, unlike the vast
majority of embedded devices, x86 chips lack on-chip JTAG or other
hardware debugging interface support."

2. You cannot determine real system cost by looking at the retail
pricing of SBCs. x86 SBC pricing is artificially low for at least three
reasons:
a) x86 SBCs are sold in larger volumes than SBCs based on other 32-bit
cores.
b) x86 SBCs use peripheral ICs taken from the mass PC market. These are
cheap due to extremely high volumes. Devices based around other cores
frequently use more application-specific ICs.
c) (Not a major factor, but it exists) x86 SBCs are by and large
designed for commercial applications (as opposed to industrial). They
use commercial-grade components. Other SBCs are often designed for
wider temperature ranges, harsher environments, ...

If you come to do a custom hardware design from scratch, you will find
that ARM is /much/ cheaper in BOM and engineering time costs than x86
(on a given performance level), and PPC is costlier than ARM but still
cheaper than x86. That is a generalization, obviously. Bear in mind
that x86 is primarily chosen where "PC compatible" is part of the spec.
This implies a lot more than simply the x86; it implies a BIOS, certain
I/O requirements, etc. An awful lot of baggage is dragged onboard.

You will also find that there are enormous application segments where
it is simply impossible to use x86 for power, heat or size reasons, and
the system cost issue is therefore irrelevant.

If you want to _experiment_ with embedded Linux, you can use any PC or
SBC to start your journey. I take this opportunity to shill^H^H^H^H^H
recommend my second book as something of a turnkey introduction to
embedded Linux on the Advantech PCM-5820 or similar Geode-based (x86)
SBC. http://www.zws.com/publications for more info.

If you want to experiment with embedded Linux on a non-x86 platform at
relatively low cost, you have many options. The mARMalade from
www.earthlcd.com is a 74MHz ARM7 running Linux (preloaded), with LCD,
Ethernet, etc etc. The Kuro Box from www.revogear.com is $160 for a
200MHz PowerPC (MPC8241, PPC603e core) with 10/100 Ethernet, USB 2.0,
and running Linux again. I currently have both of them on my desk :
http://www.larwe.com/technical/current.html to see what I'm working on.

Of the two, the Kuro Box is probably a bit easier to come to terms
with, especially for a Linux novice.

1. Nobody knows what it means until you tell us the context.  But here
is my take on it:

"The x86-compatible family is (with a few exceptions that we can safely
ignore) only employed as part of a more or less wholly PC-compatible
hardware architecture. These processors are large and extremely
energy-hungry; active cooling is almost universally required in x86
designs, and mains power is preferable. The dominant design factor
steering x86-based designs is the baggage required by backwards
compatibility (both in the CPU core and other support circuitry on the
motherboard) [...]. Vast effort has been invested to modernize the CPU
and overall system architecture, but even the current 64-bit
architectures are constrained to some degree by legacy considerations.
There are relatively few true SoC offerings based around an
x86-compatible core, and thus significant external circuitry is always
required in x86 systems. It should also be noted that, unlike the vast
majority of embedded devices, x86 chips lack on-chip JTAG or other
hardware debugging interface support."

2. You cannot determine real system cost by looking at the retail
pricing of SBCs. x86 SBC pricing is artificially low for at least three
reasons:
a) x86 SBCs are sold in larger volumes than SBCs based on other 32-bit
cores.
b) x86 SBCs use peripheral ICs taken from the mass PC market. These are
cheap due to extremely high volumes. Devices based around other cores
frequently use more application-specific ICs.
c) (Not a major factor, but it exists) x86 SBCs are by and large
designed for commercial applications (as opposed to industrial). They
use commercial-grade components. Other SBCs are often designed for
wider temperature ranges, harsher environments, ...

If you come to do a custom hardware design from scratch, you will find
that ARM is /much/ cheaper in BOM and engineering time costs than x86
(on a given performance level), and PPC is costlier than ARM but still
cheaper than x86. That is a generalization, obviously. Bear in mind
that x86 is primarily chosen where "PC compatible" is part of the spec.
This implies a lot more than simply the x86; it implies a BIOS, certain
I/O requirements, etc. An awful lot of baggage is dragged onboard.

You will also find that there are enormous application segments where
it is simply impossible to use x86 for power, heat or size reasons, and
the system cost issue is therefore irrelevant.

If you want to _experiment_ with embedded Linux, you can use any PC or
SBC to start your journey. I take this opportunity to shill^H^H^H^H^H
recommend my second book as something of a turnkey introduction to
embedded Linux on the Advantech PCM-5820 or similar Geode-based (x86)
SBC. http://www.zws.com/publications for more info.

If you want to experiment with embedded Linux on a non-x86 platform at
relatively low cost, you have many options. The mARMalade from
www.earthlcd.com is a 74MHz ARM7 running Linux (preloaded), with LCD,
Ethernet, etc etc. The Kuro Box from www.revogear.com is $160 for a
200MHz PowerPC (MPC8241, PPC603e core) with 10/100 Ethernet, USB 2.0,
and running Linux again. I currently have both of them on my desk :
http://www.larwe.com/technical/current.html to see what I'm working on.

Of the two, the Kuro Box is probably a bit easier to come to terms
with, especially for a Linux novice.

I would recommend going for x86. In the long run it would be the
cheaper option as you would have no problem finding tools and device
drivers.

I would be surprised if ARM and PowerPC boards are cheaper than x86.

Deepa
--
http://www.EventHelix.com/EventStudio
EventStudio 2.5 - Embedded System Design with Sequence Diagrams

Linux is Linux, by and large. For example, almost every USB peripheral
I needed to support in Linux on the $230 Geode-based (x86) board is
supported on the $160 PowerPC-based board to which I am migrating. A
simple recompile operation, that's all.

"Andy" <a066@poczta.onet.pl> wrote

> At the moment I am a bit confused because of the following information: > > 1. x86 has the "inherited inefficiency" > - I do not really know what it means. > > 2. x86 has the higher overall cost > - ARM or PowerPC are more expensive. > > What would you choose
I would chose to listen to someone else when it comes the inherited inefficiency of higher costs. Just because the first person you asked gave you certain information does not make it true. The human psyche may be pre-programmed to accept the first thing it sees/learns about as the 'one true thing'. Viz. Lorenz and his goslings. This trait is probably there to allow quick education: the last thing a student should do is think independently. (I am not being facetious. And the young don't think on their own.) -- Nicholas O. Lindan, Cleveland, Ohio Consulting Engineer: Electronics; Informatics; Photonics. Remove spaces etc. to reply: n o lindan at net com dot com psst.. want to buy an f-stop timer? nolindan.com/da/fstop/

The 2024 Embedded Online Conference