1.1. Arquitectura de un ordenador
Un ordenador es una máquina electrónica que es capaz de procesar y almacenar información. John Eckert y John Mauchly presentaron en Filadelfia el 15 de febrero de 1946 el Electronic Numerical Integrator And Calculator (ENIAC), el que se considera el primer ordenador de propósito general de la historia. Esta máquina de treinta toneladas, que ocupaba un piso completo de la Escuela Moore de Ingeniería Eléctrica (Universidad de Pensilvania), resolvía en una sola hora el mismo número de cálculos de trayectorias balísticas que doscientos especialistas en dos meses. Desde ese primer modelo hasta la aparición de los microprocesadores de última generación (integrados en teléfonos móviles y electrodomésticos), el progreso tecnológico ha sido increíblemente veloz.
Los ordenadores para poder manipular datos, hacer cálculos o ejecutar tareas preestablecidas requieren de unos componentes básicos listados a continuación:
- La unidad central de procesamiento (en inglés, Central Processing Unit o CPU). El «cerebro» del ordenador, el cual ejecuta los procesos y cálculos.
- La memoria central (en inglés, Random Access Memory o RAM). La memoria del ordenador es un dispositivo de almacenamiento temporal de información continuamente modificada por las operaciones realizadas en la CPU. Programas y datos deben previamente cargarse en la memoria, siendo entonces transferidos al procesador para su ejecución.
- Disco duro. Almacenamiento estable de la información. Actualmente, hay dos tipos de discos: hard drive (HDD) o solid-state drive (SSD).
- Dispositivos de entrada y salida (I/O). Los dispositivos de entrada permiten la introducción de información o comandos al ordenador (teclado, ratón, etc.), mientras que los dispositivos de salida proporcionan los resultados al usuario (pantalla, impresora, etc.).
- Los periféricos. Son dispositivos que mejoran la funcionalidad de los ordenadores (discos duros, lápices de memoria o tarjetas de red).
Para poder hacer que los ordenadores ejecuten las tareas que les encomendamos, necesitamos poder crear programas (software) con las instrucciones exactas a ejecutar. Los ordenadores no son capaces de procesar lenguaje natural como nosotros, su lenguaje es binario (Verdadero o Falso, Encendido o Apagado, 0 o 1). Esto es debido a la arquitectura de los ordenadores, que está formada por miles o millones de transistores que individualmente se pueden encender o apagar. Los transistores pueden estar en estado activo si una pequeña cantidad de corriente pasa a través suyo (1) o, si no hay corriente, el transistor está en estado 0. A partir de estos dos estados se puede generar un lenguaje completamente nuevo.
A -> 01000001
B -> 01000010
C -> 01000011
Para poder comunicar los comandos que queremos ejecutar en los ordenadores utilizaremos los lenguajes de programación, que transformarán nuestras instrucciones en código binario para poderlas procesar.