difference btw H/W & S/W implementations !!

O

OP

Guest
Hi,

Feeling really intelligent today.. I would like to know some basic
stuff..

What is the difference between a hardware implementation of an
algorithm and a software one.

How do you say an algorithm is faster in one and slower in other.. if
it's based on timing how do you do that?? What makes it faster in one
and not in other??

all the help is appreciated.

OP.
 
On 25 Feb 2004 13:09:41 -0800, OP <omnipresent@hotmail.com> wrote:

Hi,

Feeling really intelligent today.. I would like to know some basic
stuff..

NNTP-Posting-Host: 128.193.4.98
~/cvs> whois 128.193.4.98

OrgName: Oregon State University
OrgID: OSU-3
Address: Network Services
Address: Milne Hall 217
City: Corvallis
StateProv: OR
PostalCode: 97331
Country: US


Why not walk into the uni library and get yourself a book? (Feeling
really smart pants today ...)
 
Everything is essentially done in hardware. A processor is hardware. I
guess the main difference is when you build the hardware for a less general
application. Generally, the hardware implementation will be more parallel
to make it faster. The more parallelism, the more hardware you need, and
the faster the operation.
-Kevin

"OP" <omnipresent@hotmail.com> wrote in message
news:a0539759.0402251309.55f0ebaa@posting.google.com...
Hi,

Feeling really intelligent today.. I would like to know some basic
stuff..

What is the difference between a hardware implementation of an
algorithm and a software one.

How do you say an algorithm is faster in one and slower in other.. if
it's based on timing how do you do that?? What makes it faster in one
and not in other??

all the help is appreciated.

OP.
 
Kevin Neilson wrote:
Everything is essentially done in hardware. A processor is hardware. I
guess the main difference is when you build the hardware for a less general
application. Generally, the hardware implementation will be more parallel
to make it faster. The more parallelism, the more hardware you need, and
the faster the operation.
Except if it is microcoded, then it is software even though
it looks like hardware. You can never be too sure.
It could still be faster than non-microcoded versions, too!

-- glen
 
OP wrote:
Hi,

Feeling really intelligent today.. I would like to know some basic
stuff..

What is the difference between a hardware implementation of an
algorithm and a software one.

How do you say an algorithm is faster in one and slower in other.. if
it's based on timing how do you do that?? What makes it faster in one
and not in other??
Hardware implementations tend to be faster because the parallelize
the work to be done.
As example take a multiplication. It can be done in software by
shift & add or with a hardware multiplier which does if required
the lot in one clock cycle.

Rene
--
Ing.Buero R.Tschaggelar - http://www.ibrtses.com
& commercial newsgroups - http://www.talkto.net
 
On 25 Feb 2004 13:09:41 -0800, OP wrote:
What is the difference between a hardware implementation of an
algorithm and a software one.
It's all hardware. If it's not hardware, it's not doing
anything (see question below).

How do you say an algorithm is faster in one and slower in other.. if
it's based on timing how do you do that?? What makes it faster in one
and not in other??
The faster one is the one that takes less time to do whatever
it was that you wanted done. This involves actually doing
the thing in question. Only hardware actually does stuff,
therefore, ipso facto, hardware is faster.

As my Dad used to say: as fast as ten thousand gazebos.

--
Andrew
 
What is the difference between a hardware implementation of an
algorithm and a software one.
Hardware implementation would be like floating point mathematics in
DSP microcontroller, so DSP has instructions which dirrectly execute
in processor in 1 cycle, and software implementation would take
50 or something like that instructions on processor that doesn't have
floating point math hardware.

How do you say an algorithm is faster in one and slower in other.. if
it's based on timing how do you do that?? What makes it faster in one
and not in other??
It should be obvious from my answer to previous question.

You can look on hardware solution as a washing machine, you can wash
faster with it than by hands (software approach), to get the same quality.

Mickey
 
Hello OP,

hope you got an better name in your next life.

omnipresent@hotmail.com (OP) wrote:
Feeling really intelligent today.. I would like to know some basic
stuff..

What is the difference between a hardware implementation of an
algorithm and a software one.
HW & SW are uncomparable in general because SW w/o HW makes no sence.

In some context you speak of HW or SW solution when you mean the
decission to use either
- a general purpose CPU (eg. micro controller) and write the
appropriate SW for this CPU
or
- build an ASIC (application specific IC, could of course be a fpga
too) that solves your problem.

In general is an ASIC faster and fits better in your special needs for
reliability, power consumption and size, but tends to be more
expensive (unless huge quantities) and you have big trouble when you
find a better algorithm for your problem.

You would think twice before using an ASIC for data compression on the
other hand it's impossible to do very high speed realtime data
processing (eg. 10GB Switch) with a CPU.

bye Thomas
 
Andrew Reilly <andrew@gurney.reilly.home> wrote in message news:<slrnc3qchh.1coi.andrew@gurney.reilly.home>...
On 25 Feb 2004 13:09:41 -0800, OP wrote:
What is the difference between a hardware implementation of an
algorithm and a software one.

It's all hardware. If it's not hardware, it's not doing
anything (see question below).

How do you say an algorithm is faster in one and slower in other.. if
it's based on timing how do you do that?? What makes it faster in one
and not in other??

The faster one is the one that takes less time to do whatever
it was that you wanted done. This involves actually doing
the thing in question. Only hardware actually does stuff,
therefore, ipso facto, hardware is faster.

As my Dad used to say: as fast as ten thousand gazebos.
And what do you say if the native programming language for a cpu is
very friendly to running event driven and parallel code such as Occam
or better still HDL. Then you can write something like Verilog or
HandelC on a cpu and call it HW at least for some types of apps that
might actually be HW or SW. And you can take that same code or pieces
of it and synth it into HW too with synthesis for some speedups if you
know what you are doing. What would be the natural way for the HW(SW)
to communicate with the SW(HW), probably messages at the interface
between event scheduler and actual HW. occam made this sound easy, but
HDL needs some thinking about.
 
I am surprised nobody really answered to the point!

Software is when sequencing through the algorithm is done using INSTRUCTION
power

Hardware is when sequencing through the algorithm is done using LOGIC
power...!!!



"Thomas Stanka" <usenet_10@stanka-web.de> wrote in message
news:ef424d2c.0402252351.44e57e4c@posting.google.com...
Hello OP,

hope you got an better name in your next life.

omnipresent@hotmail.com (OP) wrote:
Feeling really intelligent today.. I would like to know some basic
stuff..

What is the difference between a hardware implementation of an
algorithm and a software one.

HW & SW are uncomparable in general because SW w/o HW makes no sence.

In some context you speak of HW or SW solution when you mean the
decission to use either
- a general purpose CPU (eg. micro controller) and write the
appropriate SW for this CPU
or
- build an ASIC (application specific IC, could of course be a fpga
too) that solves your problem.

In general is an ASIC faster and fits better in your special needs for
reliability, power consumption and size, but tends to be more
expensive (unless huge quantities) and you have big trouble when you
find a better algorithm for your problem.

You would think twice before using an ASIC for data compression on the
other hand it's impossible to do very high speed realtime data
processing (eg. 10GB Switch) with a CPU.

bye Thomas
 
I forgot to mention - "Instruction Power" assumes that you have a processor
executing the algorithm...
"Shiraz Kaleel" <shirazkh@comcast.net> wrote in message
news:pIqdna9k1f02EtzdRVn-uA@comcast.com...
I am surprised nobody really answered to the point!

Software is when sequencing through the algorithm is done using
INSTRUCTION
power

Hardware is when sequencing through the algorithm is done using LOGIC
power...!!!



"Thomas Stanka" <usenet_10@stanka-web.de> wrote in message
news:ef424d2c.0402252351.44e57e4c@posting.google.com...
Hello OP,

hope you got an better name in your next life.

omnipresent@hotmail.com (OP) wrote:
Feeling really intelligent today.. I would like to know some basic
stuff..

What is the difference between a hardware implementation of an
algorithm and a software one.

HW & SW are uncomparable in general because SW w/o HW makes no sence.

In some context you speak of HW or SW solution when you mean the
decission to use either
- a general purpose CPU (eg. micro controller) and write the
appropriate SW for this CPU
or
- build an ASIC (application specific IC, could of course be a fpga
too) that solves your problem.

In general is an ASIC faster and fits better in your special needs for
reliability, power consumption and size, but tends to be more
expensive (unless huge quantities) and you have big trouble when you
find a better algorithm for your problem.

You would think twice before using an ASIC for data compression on the
other hand it's impossible to do very high speed realtime data
processing (eg. 10GB Switch) with a CPU.

bye Thomas
 
In comp.arch.embedded Shiraz Kaleel <shirazkh@comcast.net> wrote:
I am surprised nobody really answered to the point!
That was because there really *was* no point to the original posting.

Software is when sequencing through the algorithm is done using INSTRUCTION
power

Hardware is when sequencing through the algorithm is done using LOGIC
power...!!!
And since "INSTRUCTION power" is just a special type of "LOGIC power",
we've come full circle back to the original question.

--
Hans-Bernhard Broeker (broeker@physik.rwth-aachen.de)
Even if all the snow were burnt, ashes would remain.
 
On Wed, 25 Feb 2004 23:39:28 GMT, Andrew Reilly wrote:

What is the difference between a hardware implementation of an
algorithm and a software one.

It's all hardware. If it's not hardware, it's not doing
anything (see question below).
So, if the software isn't doing anything, then the hardware should
perform identically if we remove it, yes?

How do you say an algorithm is faster in one and slower in other.. if
it's based on timing how do you do that?? What makes it faster in one
and not in other??

The faster one is the one that takes less time to do whatever
it was that you wanted done. This involves actually doing
the thing in question. Only hardware actually does stuff,
What kind of "stuff" does a PC do without any software? It's a
reliable paperweight, but not much else.

No hardware will do anything at all unless it's instructed to do so.
Whether such instruction comes from software, firmware, or liveware
doesn't alter that.


This all reminds me of some "definitions" from way back in the '80s:

If you can see it, and you can touch it, then it's Real.
If you can touch it, but you can't see it, then it's Logical.
If you can see it, but you can't touch it, then it's Virtual.
If you can't see it, nor touch it, then it's Gone.

--
Max
 
Max wrote:
On Wed, 25 Feb 2004 23:39:28 GMT, Andrew Reilly wrote:


What is the difference between a hardware implementation of an
algorithm and a software one.

It's all hardware. If it's not hardware, it's not doing
anything (see question below).


So, if the software isn't doing anything, then the hardware should
perform identically if we remove it, yes?
As other posters have indicated, yes.

How do you say an algorithm is faster in one and slower in other.. if
it's based on timing how do you do that?? What makes it faster in one
and not in other??

The faster one is the one that takes less time to do whatever
it was that you wanted done. This involves actually doing
the thing in question. Only hardware actually does stuff,


What kind of "stuff" does a PC do without any software? It's a
reliable paperweight, but not much else.
Who was talking about a PC? The original poster was referring to "a
hardware implementation of an algorithm and a software one."

No hardware will do anything at all unless it's instructed to do so.
Whether such instruction comes from software, firmware, or liveware
doesn't alter that.
I'm sure, among others, ASIC manufactures would beg to differ... there
are many hardware implementations (both within chips and as discrete
circuits) that require no "instructions" in order to power up and be
fully functional.

Have fun,

Marc
 
I beg to differ. Hardware need not be an instruction based processor, for
example one can create a circuit that does FIR filtering all day long
without any instructions. Software runs on a special hardware design that
combines some basic elements, such as registers and a fancy adder called an
arithmetic-logic-unit (ALU) arranged so that the function of the ALU and
steering of data through the collection is controlled by some logic codes.
The sequence of logic codes is a 'program' created to perform some series of
operations with the collection of hardware to produce a useful result. The
idea, of course is to create some set of hardware that can be controlled to
perform a series of elemental steps programmed by the user to be able to
compute solutions to a variety of problems. Hardware in general is not
designed in this fashion, only hardware that is meant to be programmed.
Hardware can just as easily be a set of dedicated circuits to perform only
one task, and wired permanently for a single application (and therefore
does not require any instructions). That type of hardware came long before
programmable sequential machines, and is still used where performance or
power dictate a dedicated solution.

Max wrote:

No hardware will do anything at all unless it's instructed to do so.
Whether such instruction comes from software, firmware, or liveware
doesn't alter that.
--
--Ray Andraka, P.E.
President, the Andraka Consulting Group, Inc.
401/884-7930 Fax 401/884-7950
email ray@andraka.com
http://www.andraka.com

"They that give up essential liberty to obtain a little
temporary safety deserve neither liberty nor safety."
-Benjamin Franklin, 1759
 

Welcome to EDABoard.com

Sponsor

Back
Top