Software-hardware interaction optimizations

From Green software

(Difference between revisions)
Jump to: navigation, search
Current revision (14:48, 16 September 2010) (edit) (undo)
 
Line 16: Line 16:
== References ==
== References ==
[1]. A. S. Tanenbaum, ''Structured Computer Organization (2nd Ed.)'', Prentice Hall, Englewood
[1]. A. S. Tanenbaum, ''Structured Computer Organization (2nd Ed.)'', Prentice Hall, Englewood
-
Cliffs, NJ, 1984.
+
Cliffs, NJ, 1984. <!-- Checken of dit in nieuwere drukken dezelfde quote is. -->
-
<!-- Checken of dit in nieuwere drukken dezelfde quote is. -->
+
 
 +
== Sources ==
 +
This best practices is mentioned in:<br />
 +
Nick Jones. 2007. ''Eight Software Approaches Can Enable Energy-Efficient Computing''. Gartner research publication.

Current revision

Deciding what functionalities are implemented in hardware, and which ones are implemented in software is an important design decision. In this design decision energy efficiency should be considered. To illustrate this design decision is the following quote.


“Hardware and software are logically equivalent. Any operation performed by software can also be built directly into the hardware and any instruction executed by the hardware can also be simulated in software. The decision to put certain features in hardware and others in software is based on such factors as cost, speed, reliability and frequency of change. There are no hard and fast rules to the effect that X must go into the hardware and Y must be programmed explicitly. Designers with different goals may, and often do, make different decisions ... the boundary between hardware and software is arbitrary and constantly changing. Today’s software is tomorrow’s hardware, and vice versa.” [1]

References

[1]. A. S. Tanenbaum, Structured Computer Organization (2nd Ed.), Prentice Hall, Englewood Cliffs, NJ, 1984.

Sources

This best practices is mentioned in:
Nick Jones. 2007. Eight Software Approaches Can Enable Energy-Efficient Computing. Gartner research publication.

Personal tools