1. This forum section is a read-only archive which contains old newsgroup posts. If you wish to post a query, please do so in one of our main forum sections (here). This way you will get a faster, better response from the members on Motherboard Point.

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

Discussion in 'Embedded' started by OP, Feb 25, 2004.

  1. OP

    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.
     
    OP, Feb 25, 2004
    #1
    1. Advertisements

  2. ~/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 ...)
     
    Vadim Borshchev, Feb 25, 2004
    #2
    1. Advertisements

  3. 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
     
    Kevin Neilson, Feb 25, 2004
    #3
  4. 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
     
    glen herrmannsfeldt, Feb 25, 2004
    #4
  5. 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
     
    Rene Tschaggelar, Feb 25, 2004
    #5
  6. It's all hardware. If it's not hardware, it's not doing
    anything (see question below).
    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 Reilly, Feb 25, 2004
    #6
  7. OP

    Mickey Guest

    What is the difference between a hardware implementation of an
    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.
    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
     
    Mickey, Feb 26, 2004
    #7
  8. Hello OP,

    hope you got an better name in your next life.

    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
     
    Thomas Stanka, Feb 26, 2004
    #8
  9. OP

    john jakson Guest

    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.
     
    john jakson, Feb 26, 2004
    #9
  10. 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...!!!
     
    Shiraz Kaleel, Feb 29, 2004
    #10
  11. I forgot to mention - "Instruction Power" assumes that you have a processor
    executing the algorithm...
     
    Shiraz Kaleel, Feb 29, 2004
    #11
  12. That was because there really *was* no point to the original posting.
    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, Feb 29, 2004
    #12
  13. OP

    Max Guest

    So, if the software isn't doing anything, then the hardware should
    perform identically if we remove it, yes?
    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, Feb 29, 2004
    #13
  14. As other posters have indicated, yes.
    Who was talking about a PC? The original poster was referring to "a
    hardware implementation of an algorithm and a software one."
    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
     
    Marc Randolph, Feb 29, 2004
    #14
  15. OP

    Ray Andraka Guest

    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.
    --
    --Ray Andraka, P.E.
    President, the Andraka Consulting Group, Inc.
    401/884-7930 Fax 401/884-7950
    email
    http://www.andraka.com

    "They that give up essential liberty to obtain a little
    temporary safety deserve neither liberty nor safety."
    -Benjamin Franklin, 1759
     
    Ray Andraka, Feb 29, 2004
    #15
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.