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.
difference btw H/W & S/W implementations !!
Started by ●February 25, 2004
Reply by ●February 25, 20042004-02-25
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 ...)
Reply by ●February 25, 20042004-02-25
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.
Reply by ●February 25, 20042004-02-25
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
Reply by ●February 25, 20042004-02-25
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
Reply by ●February 25, 20042004-02-25
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
Reply by ●February 26, 20042004-02-26
> 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
Reply by ●February 26, 20042004-02-26
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
Reply by ●February 26, 20042004-02-26
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.
Reply by ●February 29, 20042004-02-29
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





