Note: This web page was automatically created from a PalmOS "pedit32" memo.

The distinction between hardware and software

When I was a student, my algorithms professor (who was strong in VLSI),
told me that pretty much anything you can do in hardware, you can do in
software, and vice versa.  I assume she meant in terms of computability,
not in terms of performance.

She didn't teach me this part, but generally hardware has the ability to
squeeze out a bit more performance, and may cost more or less than a
software rendition, but hardware is often harder to fix than software if
there are problems in the implementation, especially if you cannot flash
in new firmware to fix it.

On the other hand, sometimes a hardware implementation will be -slower-
than a software implementation - not because of any inherent performance
limitation of hardware implementation, but rather because sometimes the
hardware designers will err on the side of keeping costs down, in which
case an otherwise-unloaded software implementation on a nice system
could well outperform the hardware implementation - and I gather this is
not at all uncommon in the RAID world.

Back to Dan's palm memos