InicioCiencia EducacionCurso de Computación [4/5] Que es un programa

Curso de Computación [4/5] Que es un programa

Ciencia Educacion•3/31/2012
Curso de Computación [4/5]


¿Que es un programa de computadora?

En el primer post explicaba que la primer maquina que ejecutaba alguna serie de instrucciones relacionadas con el computo de datos mas alla de su representacion simbolica fue la maquina tabuladora de Hollerith, de 1890, utilizada para acelerar el tratamiento de datos del censo nacional en estados unidos. En esta maquina el programa estaba integrado en el propio circuito interno de funcionamiento del sistema. Todas sus piezas moviles, mecánicas, y eléctricas formaban parte de un circuito integral que llevaria sistematicamente las tareas para que el resultado del trabajo fuera el esperado. Este tipo de "solución" haria imposible utilizar la misma maquina con otra finalidad que no sea aquella para la que fue construida. La tabuladora sirve solo para tabular, la calculadora solo para calcular, etc. Habria que diseñar y crear una maquina preparada para dar solución a cada tipo de necesidad de grandes cómputos.


La maquina de hollerith, no podía ser re-programada


En realidad, lo mejor sería poder tener una máquina que pudiera cumplir un set básico de operaciones poco complejas que combinadas de manera inteligente puedan dar variados resultados. Una máquina que pueda operar con ciertos datos de manera que esas operaciones podrían ser ordenadas y estructuradas para que pueda dar respuesta a diversas necesidades sin tener que cambiar su constitucion fisica interna. Es decir, con las mismas partes moviles, mecánicas, eléctricas, que cumpla diversas funciones.

Con esta concepción de la computación se crearon las computadoras de mediado de SXX, la ENIAC, la MARK I, la UNIVAC, etc, que disponían de una memoria interna volátil y modificable, donde se guardarían los datos con los cuales operar, y un set basico de instrucciones para operar con esos datos.


distintas formas de almacenar el software


Este concepto de maleabilidad, plasticidad, modificabilidad, o posibilidad de transformar la función de la computadora en varias cosas es lo que deviene en "soft". La traducción de Soft al castellano es blando, y para software sería implementos blandos; mientras que para hardware sería implementos duros. El hardware serían aquellas cosas que solo funcionan en la forma en que fueron diseñados, y cualquier modificación que se haga los dejaría inutilizables para el fin para el que fueron creados. Por eso son "duros", porque no cambian. El teclado es siempre el teclado, el mouse es siempre el mouse, el monitor es siempre el monitor.
Pero el trabajo interno del CPU, los programas que pasan instrucciones para computar datos, son distintos. Cada vez que pasamos de ver un DVD a calcular la distancia en años luz hasta la estrella más próxima, estamos haciendo que la computadora ejecute tareas diferentes sin cambiar sus partes mecánicas, móviles, eléctricas. Es decir que sus funciones se "ablanden" y se adapten a lo que queremos sin cambiar el hardware, cambiando solo el software. Cambiando solo la parte "blanda", programando la computadora recombinando las mismas instrucciones basicas de manera inteligente para que den resultados distintos.


Vamos a pasar ahora a ver un poco mas de cerca ese juego basico de instrucciones que puede ejecutar una computadora, y que sera tarea del programador combinar en forma inteligente para que de un resultado determinado.
El set de instrucciones mas primitivo que vamos a analizar es el del procesador 8088, el primero utilizado en lo que se llama Computadora Personal o PC. La arquitectura interna del procesador 8088 es bastante simple, en grandes bloques es asi:
* Unidad de Control: Controla que entra, que sale y que se procesa dentro del CPU
* Registros: Espacios de memoria para apuntar a direcciones en memoria, o especificar instrucciones
* Unidad Aritmetico-Logica: Circuito integrado con los siguientes procedimientos:
= Sumar dos numeros
= Restar dos numeros (-1/suma)
= Multiplicar dos numeros (sumas sucesivas)
= Dividir dos numeros (-1/suma sucesivas)
= Comparar si un número es mayor a otro


Intel 8088 y su arquitectura interna



O sea que, pasando en limpio, mas alla de poder comparar dos números, lo único que hace este procesador es sumar. porque o suma, o hace la inversa de la suma, o hace alguna de esas dos cosas sucesivamente. El tema sería entonces, poder combinar esas sumas, restas, comparaciones, etc, en forma ingeniosa para que... se pueda ver un DVD, calcular la trayectoria de un misil, conectarse por internet, hablar por telefono, diseñar un tren, operar a una persona enferma, llevar las cuentas de un banco, jugar un juego de estrategia, etc. todo eso, y mucho mas, solo con las sumas y restas, y comparaciones lógicas. Parece una locura, pero es asi. Bueno, parte de esa "recombinación ingeniosa" la tiene que hacer un programa intermediario especial que se llama compilador. Este compilador lo que hace es tomar las instrucciones dadas por el programador y transcribirlas directamente a una secuencia de pulsos magneticos binarios que den como resultado la ejecucion de esas instrucciones dadas por el programador.
El ingreso de esa serie de instrucciones a la computadora, para que el compilador las traduzca al "codigo maquina" no siempre fue igual.
En la maquina tabuladora de Hollerith el ingreso de datos se hacia por medio de unas tarjetas perforadas que pasaban por un lector que intentaba atravesarlas con un punzon que conectaba un circuito electrico para acumular un valor. Si en la primer posicion de la tarjeta, el punzon pasaba de largo, por una perforación, acumulaba +1 en la memoria. Si en la segunda posición, pasaba, acumulaba +1, si no, no acumulaba nada, y asi sucesivamente. En esta maquina no se introducian instrucciones, solo datos, dado que la ejecucion del programa estaba integramente determinada por el hardware y no se podia "programar" la maquina para ninguna otra cosa.
Pero en las computadoras que siguieron, las que nombre antes, UNIVAC, MARK I, etc, aceptaban un juego basico de instrucciones, y tambien recibirian los datos y las instrucciones con tarjetas perforadas, haciendo que el punzon "empuje" en la memoria los datos y las instrucciones, lo que luego devino en el lenguaje ensamblador en la instruccion "PUSH", empujar un dato a la memoria.
Avancemos hasta 1981 otra vez, volvemos al 8088. El ingreso de instrucciones para la computadora personal se da con un teclado alfanumerico con distribucion "qwerty", y la lectura de la ejecucion se hace por un televisor hogareño o en modelos mas modernos con un monitor CRT.


ingresando datos con las tarjetas perforadas

la Mark I y su interfaz

la IBM PC de 1981



Por aquellos años, el hobby de la computacion en casa no era mas que eso. Tener el procesador para hacer nosotros los programas, pasarlos por la computadora y ver que resultado daban. Hoy la gente se compra una computadora y no sabe bien para que la quiere. No tienen idea de lo que puede hacer un CPU y para que se lo puede programar. Por lo general, si se corta internet, la computadora queda casi inutilizable en el hogar medio. Pero en realidad, esto nacio con una oleada cultural de pibes adolescentes que encontraron una forma de investigacion, desarrollo, descubrimiento con la programacion de computadoras que fue fascinante para la epoca pero que hoy en dia cambio muchisimo y el hecho de que las computadoras se hayan popularizado tanto no ayudo a que se masifique mas la pasion por la programacion. Aun asi, lo que quieren empezar a programar, tiene que conocer esta historia.

En el proximo y ultimo capitulo voy a hablar de los distintos lenguajes de programacion



<< - - >>
Datos archivados del Taringa! original
2puntos
1,425visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
9visitas
0comentarios
Dar puntos:

Dejá tu comentario

0/2000

Autor del Post

m
martincostas🇦🇷
Usuario
Puntos0
Posts12
Ver perfil →
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.