Although it is difficult to distinguish between the ideas belonging to computer
organization and those ideas belonging to computer architecture, it is impossible
to say where hardware issues end and software issues begin. Computer scientists
design algorithms that usually are implemented as programs written in some
computer language, such as Java or C. But what makes the algorithm run?
Another algorithm, of course! And another algorithm runs that algorithm, and so
on until you get down to the machine level, which can be thought of as an algorithm
implemented as an electronic device. Thus, modern computers are actually
implementations of algorithms that execute other algorithms. This chain of nested
algorithms leads us to the following principle:
Principle of Equivalence of Hardware and Software:
Anything that
can be done with software can also be done with hardware, and anything
that can be done with hardware can also be done with software.
1
A special-purpose computer can be designed to perform any task, such as word
processing, budget analysis, or playing a friendly game of Tetris. Accordingly,
programs can be written to carry out the functions of special-purpose computers,
such as the embedded systems situated in your car or microwave. There are times
when a simple embedded system gives us much better performance than a complicated
computer program, and there are times when a program is the preferred
approach. The Principle of Equivalence of Hardware and Software tells us that
we have a choice. Our knowledge of computer organization and architecture will
help us to make the best choice.
No comments:
Post a Comment