Volvamos al principio, ¿de acuerdo?
Las computadoras, ya sean estrictamente mecánicas o electrónicas, funcionan de la misma manera. Toman una entrada y proporcionan una salida. Este es el “IO” que a menudo ves.
El Mecanismo de Antikythera , un dispositivo creado en algún momento del siglo II a. C. y encontrado en un naufragio frente a las costas de Antikythera en 1901, es lo que se llama una “computadora analógica”. Es simplemente un conjunto de engranajes de diferentes tamaños y posiciones que proporcionan una salida relevante para cualquier entrada que el usuario elija. Se descubrió que era un medio para predecir eventos astronómicos. El usuario giraría un dial a una fecha específica, y la computadora generaría la posición de ciertos planetas y estrellas.
- ¿Cómo procesa la computadora el código?
- ¿Cómo se cambia una ruta de archivo a la dirección de sus datos en discos? ¿Qué es responsable de este proceso?
- ¿Qué tarjetas gráficas son compatibles con la placa base Gigabyte ga-ma74gm-s2?
- Cómo instalar dos sistemas operativos en dos discos duros
- ¿Qué tan inteligentes pueden ser las computadoras?
El mecanismo de Anticitera
Aquí hay un enlace a un video de YouTube de una recreación de Lego del mecanismo. Demuestra cómo funciona el dispositivo (parece que no puedo hacer que el video aparezca realmente aquí).
Recreación de Lego del mecanismo de Anticitera
En 1823, Charles Babbage comenzó la construcción de un ” motor de diferencia “, una computadora que usaba engranajes que proporcionaba una salida para cualquier entrada del usuario. El motor nunca se completó, pero dio paso a otros dispositivos similares. La entrada era simplemente un conjunto de números que representaban una “pregunta” específica. La entrada provocaría que varios engranajes giraran, y la salida fueron los números resultantes. En su nivel más simple, puede poner “2 y 2” y la salida mostrará “4”
Primer plano del motor de diferencia
Más tarde, Babbage desarrolló varias mejoras en su diseño anterior, que se llamaba ” Máquina analítica “, pero el dispositivo era simplemente un concepto y no se construyó hasta aproximadamente 1991 como prueba de concepto.
Modelo del motor analítico.
Las computadoras analógicas son técnicamente solo un conjunto de engranajes que giran a una posición específica cuando los engranajes de entrada se giran a la “pregunta” específica.
En la década de 1940, se desarrollaron las primeras computadoras complejas, pero utilizaron tarjetas perforadas como medio para imputar datos. Estas tarjetas hicieron lo mismo que las ruedas dentadas en las máquinas de Babbage, pero a mayor escala. Las tarjetas serían alimentadas a la computadora, y las áreas perforadas correspondían a ciertas “posiciones” que causaron que la computadora produjera una salida. Los agujeros en las tarjetas estaban en un lenguaje de máquina, que el programador tuvo que traducir del lenguaje “normal”, y luego nuevamente cuando se recibió la salida.
Estas computadoras modernas anteriores usaban interruptores, que estaban “encendidos” o “apagados” (1 o 0), al igual que los interruptores de luz que tiene en su casa. De hecho, los interruptores de encendido en la mayoría de sus dispositivos electrónicos usan el 1 y 0 para mostrar que es el interruptor de encendido.
El 1 y 0 (Pacman comiendo una galleta) en un interruptor de encendido XBox. Este es también un ejemplo de cómo está “programado” usando binario. El símbolo iluminado significa “1” u “ON”, mientras que un símbolo oscuro significa “0” u “OFF”.
Si ingreso una ecuación simple, como “2 y 2”, los interruptores podrían activar 2 interruptores, luego 2 más, y la salida sería 4 interruptores.
La entrada del problema real sería mucho más compleja que eso, pero ese es el punto de la computadora. La computadora no solo está mirando si un interruptor está encendido o apagado, sino también en qué posición se encuentra el interruptor. Entonces, cuando se introdujo la ecuación “2 y 2”, la tarjeta perforada tenía los agujeros establecidos en ubicaciones específicas para que la computadora activara los interruptores como ubicación específica para decir 2 MÁS 2, en lugar de MENOS o VECES. Esas posiciones son todas importantes, incluso hoy.
Tarjeta perforada de Fortran
Un procesador PICO1 de 1971, que muestra los interruptores y las conexiones.
En la década de 1980, la informática electrónica se generalizó. La tarjeta de puch se fue por el camino, pero la idea básica sigue siendo la misma. El usuario ingresa datos, la computadora enciende una serie de interruptores correspondientes, luego los resultados se emiten de cualquier manera que se le indique a la computadora que lo haga. Los interruptores son extremadamente pequeños, cientos de millones de los cuales se pueden colocar en un chip más pequeño que un sello postal, pero el proceso sigue siendo el mismo. Puse un “2” en la posición uno, otro “2” en la posición dos, y un PLUS en las posiciones 3 y 4, luego la computadora ve que el resultado es “4” y lo emite.
Ahora, sin embargo, mientras el “procesador” realiza los cálculos básicos, la salida es procesada por otros programas y la salida se traduce automáticamente para el usuario.
La forma más simple de texto en la computadora se llama ASCII. Cuando escribe en su teclado cualquier carácter, el teclado lo traduce a código binario. Cada carácter está compuesto por 1 byte de información u 8 bits.
1 = 00000001
2 = 00000010
3 = 00000011
4 = 00000100
a = 01100001
A = 01000001
b = 01100010
B = 01000010
Los colores tienen sus propios códigos binarios, al igual que los recursos del sistema, como la impresora, el monitor, el disco duro, la unidad de DVD, etc.
Por lo tanto, si un programa necesita el uso de la impresora, envía una instrucción (binaria) al procesador de que necesita que la impresora esté en línea y se le proporcione acceso. La posición resultante de los interruptores en el procesador indica a la impresora que imprima lo que se envíe.
La forma en que funciona una computadora hoy en día no es muy diferente de cuando Babbage teorizó su motor analítico. La entrada simplemente determina la posición de ciertos interruptores, que luego se leen y traducen. Las únicas diferencias reales son que las computadoras modernas tienen millones de veces más interruptores, lo que aumenta la cantidad de complejidad en millones de veces, y que las salidas pueden ser traducidas por la computadora en lugar de hacerlo manualmente por las personas.