La qualité d'un logiciel s'évalue en fonction de son aptitude à rendre un service donné, de sa fiabilité, de sa facilité de maintenance et de sa portabilité (aptitude à etre implanté sur divers ordinateurs).
Au cours des dernières années, les progrès technologiques ont été beaucoup plus sensibles dans le domaine du matériel que dans celui du logiciel. Aujourd'hui, le coût de developpement du logiciel est souvent considerable et les utilisateurs (principalement les petites et moyennes entreprises) se préoccupent d'abord de trouver le logiciel qui convienne à leurs applications et cherchent ensuite le matériel susceptible de l'exécuter.
A microprogram is stored entirely within the microprocessor in a special internal data area associated with the registers. Unlike a macroprogram it may not use ROM and RAM as memory.
microprogramación (firmware) En muchos ordenadores, aquellas secciones de la programación (software) que es preciso utilizar muy repetidamente están formando parte del hardware, integradas en dispositivos de memoria como memoria ROM (memoria "de lectura solamente", o en inglés, read-only memory). De este modo se le proporcionan al usuario rutinas perfectamente ensayadas y de toda confianza, que realizan eficientemente determinadas tareas. Tenemos el ejemplo más corriente en el caso de los microordenadores. en los cuales el sistema operativo va prácticamente siempre incluido en una ROM, la cual contiene secciones de código capaces de llevar a cabo complejas funciones de gestión del sistema, y para cuya activación bastan sencillos mandatos introducidos desde el teclado por el usuario. Hay igualmente ejemplos de microprogramación en grandes ordenadores de aplicaciones generales: en ellos, las funciones de entrada/salida suelen hallarse codificadas en microprogramación. Suele decirse que la microprogramación se halla a medio camino entre la lógica de hardware, que no es posible modificar sin rediseñar el sistema y el software o soporte lógico del mismo, que sí puede ser fácilmente modificado, siempre que se disponga de la documentación fuente adecuada.
La realizacion de una unidad de control microprogramada en vez de lógica cableada es una técnica firmware. En este caso las instrucciones en código máquina no activan circuitos complejos de hardware sino microprogramas. Operando en este modo, es posible disponer de instrucciones potentes sin tener que recurrir al diseño de circuitos altamente especializados.
Consideremos. p. ej., un juego de instrucciones que contenga la operación de multiplicación. Para poderla efectuar pueden escogerse dos técnicas:
La velocidad de ejecución será inferior, pero no es necesario disponer de multiplicador.
Esta técnica también se utiliza actualmente para realizar algunas funciones de sistema operativo, que antes se realizaban a nivel de software.
Por tanto, estas funciones forman parte del juego de instrucciones, por lo que se efectúan directamente a nivel de microprograma.
La palabra hardware significa, en general, aparatos, dispositivos físicos, circuitería de sistemas electrónicos, y se ha difundido sobre todo para indicar partes de ordenador, en contraposición a software, que indica, en cambio, aquellos elementos impalpables que son los programas. Precisamente es esta contraposición de términos -podría decirse este dualismo- la que confiere a los propios términos un significado bien preciso y no fácilmente traducible, al menos hasta que no se afiance un vocablo español que no dé lugar a equívocos.
El dualismo citado proviene del hecho de que el funcionamiento de un ordenador, o de una de sus partes, requiere tanto el uso de circuitos electrónicos (hardware) como la ejecucion de programas (software) y, según los casos, es posible escoger entre diversas soluciones de realización que dan preferencia a uno u otro de los dos aspectos. Con respecto al software, los méritos del hardware son la velocidad de ejecución y la economicidad para las funciones más sencillas, mientras que sus defectos principales son la dificultad de introducir modificaciones y el repetido coste de montaje y puesta en marcha cuando quieren producirse muchas partes idénticas.
En sentido figurado, el hardware del ordenador es su cuerpo, mientras que el software es su alma. (...)