jueves, 5 de enero de 2017

Software del ordenador

Hasta ahora hemos estudiado los componentes físicos de los ordenadores pero, ¿y el software?

Comenzaremos definiendo qué es el software. Según el estándar 729 del IEEE (Institute of Electrical and Electronics Engineers), software es "el conjunto de los programas de cómputo, procedimientos, reglas, documentación y datos asociados que forman parte de las operaciones de un sistema de computación".

Se pueden hacer dos clasificaciones diferentes del software en función del tipo de trabajo que realiza y su método de distribución.

Según el tipo de función que realiza, el software puede ser:

- Software de sistema: es aquel que permite que el hardware funcione como, por ejemplo, los sistemas operativos, los controladores de dispositivo, etc.

- Software de aplicación: son los programas que ayudan a realizar tareas específicas en cualquier campo. Algunos ejemplos: software ofimático, software educativo, el médico, aplicaciones de contabilidad, etc.

- Software de programación o desarrollo: software para la escritura de programas informáticos.

Según el tipo de distribución, el software puede ser:

- Shareware: en esta modalidad de distribución el usuario puede evaluar de forma gratuita el producto durante un tiempo determinado. Para la utilización del software completo, se requiere realizar un pago.

- Freeware: es un software que se distribuye sin coste.

- Software multimedia: programas utilizados para presentar de una forma integrada textos, gráficos, sonidos y animaciones.

- Software de uso específico: software desarrollado a medida para resolver un problema determinado de alguna empresa o persona.

miércoles, 4 de enero de 2017

La placa base

La placa base es el elemento del ordenador al que se conectan todos los demás dispositivos, como pueden ser el disco duro, la memoria o el procesador, y se encarga de que todos los componentes funcionen en equipo.

"Placa Base Micro ATX" por TorQue Astur (Wikimedia Commons) - CC: BY-SA

Es una placa de material sintético compuesta por un circuito impreso y que está formada por una serie de componentes principales:

- Zócalo del microprocesador: es el conector en el que se inserta el procesador.

- Ranuras de memoria: son los conectores donde se instala la memoria RAM.

- Conjunto de chips o chipset: se encargan de controlar muchas de las funciones que se llevan a cabo en el ordenador, como, por ejemplo, la transferencia de datos entre la memoria, la CPU y los dispositivos periféricos.

- BIOS (Basic Input/Output System): es un pequeño conjunto de programas almacenados en una memoria EPROM que permiten que el sistema se comunique con los dispositivos durante el arranque del ordenador.

- Ranuras de expansión o slots: son las ranuras donde se introducen las tarjetas de expansión como, por ejemplo, una tarjeta gráfica.

- Conectores externos: permiten que los dispositivos externos se comuniquen con la CPU, como, por ejemplo, el teclado o el ratón.

- Conectores internos: son los conectores para los dispositivos internos, como el disco duro, la unidad de DVD, etc.

- Conectores de energía: a los que se conectan los cables de la fuente de alimentación para que la placa base y otros componentes reciban la electricidad.

- Batería: permite el almacenamiento de la configuración del sistema usada durante la secuencia de arranque del ordenador, como la fecha, la hora, la contraseña, los parámetros de la BIOS, etc.

"Componentes del ordenador" por Agustín C. Ortego (Youtube) - CC: BY

Arquitectura 32 bits vs 64 bits

Es posible que cuando os hayáis comprado un ordenador o instalado un programa nuevo os hayan preguntado: ¿32 o 64 bits?

¿No habéis tenido nunca la curiosidad de saber qué os están preguntando exactamente? Pues bien, en esta entrada vamos a explicar cuál es su significado y la diferencia entre utilizar 32 o 64 bits.

Cuando se habla de 32 o 64 bits, nos estamos refiriendo a una característica de la arquitectura del ordenador: el ancho de los buses de datos o de direcciones.

Las arquitecturas de 32 bits están enfocadas a ejecutar aplicaciones de carga pequeña o mediana y tienen una serie de limitaciones:

- Números de rango 2^32: cualquier operación que se realice está limitada a números que se encuentren en el rango 2^32 (hasta 4.294.967.295). Si utilizamos un procesador de 64 bits, este rango aumenta hasta 2^64 (hasta 446.744.073.709.551.615) por lo que esta tecnología es muy útil para aplicaciones matemáticas o científicas que requieran de mucha precisión.

- Límite de memoria RAM a 4GB: la arquitectura de 32 bits es incapaz de controlar la asignación sobre más de 4 GB de memoria RAM. Esta limitación puede afectar a aplicaciones que manejan volúmenes de datos elevados.

Es importante mencionar además que si instalamos una aplicación de 32 bits en un ordenador con procesador de 64 bits, dicho programa no será capaz de aprovechar las ventajas de la arquitectura de la computadora. Para ello, será necesario instalar una aplicación de 64 bits.

martes, 3 de enero de 2017

El procesador

El procesador es el componente principal del ordenador ya que dirige y controla los restantes componentes: se encarga de llevar a cabo las operaciones matemáticas y lógicas y además decodifica y ejecuta las instrucciones de los programas cargados en la memoria RAM.

En el siguiente vídeo se explica con gran detalle el funcionamiento de un procesador y se identifican sus componentes internos:

"How a CPU Works" por #Documentary _Channel (Youtube) - CC: BY

La CPU se construye en forma de un circuito integrado, formado por millones de elementos electrónicos (casi todos transistores), integrados en una misma placa de silicio y puede tener varios tamaños, dependiendo del tipo de máquina donde se va a colocar: ordenadores, electrodomésticos, teléfonos móviles, videoconsolas, etc.

Antiguamente el procesador venía soldado y no podía cambiarse por otro con más potencia. En la actualidad suelen tener forma cuadrada o rectangular, se conectan a un zócalo especial y pueden ser sustituidos posteriormente por otro procesador admitido por la placa base.

El desarrollo y perfeccionamiento de estos chips se lo debemos principalmente a dos empresas: Intel y AMD. Intel es conocida por sus procesadores Core 2 Duo, Core 2 Quad, Xeon, i3, i5 e i7 y AMD es responsable de los chips de las series AM2, AM3, A, FX y Opteron.

"Intel core i7 icon" por Sanana (Wikimedia Commons) - CC: BY-SA

Arquitectura Von Neumann

Como ya se ha avanzado en entradas anteriores, Von Neumann describió los fundamentos teóricos de construcción de un ordenador con programa almacenado.

La idea principal era conectar de manera permanente las diferentes partes del ordenador y que su funcionamiento estuviese controlado bajo un controlador centralizado.

La arquitectura Von Neumann es todavía (con algunos pequeños cambios) la que utilizan las gran mayoría de computadoras.

"Arquitecturaneumann" por David strigoi (Wikimedia Commons) - CC: 0 Dominio Público

- La Unidad Central de Proceso, CPU o Procesador controla todo el sistema y consiste en un circuito integrado que interpreta y ejecuta las instrucciones de los programas almacenados en memoria y que, además, toma los datos de las unidades de entrada, los procesa y los envía a las unidades o periféricos de salida. La comunicación del procesador con el resto de componentes se realiza a través de buses de comunicaciones.

- La Memoria Principal o RAM almacena dos tipos de información: el programa a ejecutar y los datos que maneja dicho programa. Esta memoria es volátil porque, cuando se apaga el ordenador, su contenido desaparece.

lunes, 2 de enero de 2017

Operaciones con números binarios

En la última entrada vimos como representar los números decimales en el sistema binario. Continuaremos ahora con la explicación de cómo realizar operaciones sencillas en binario: suma, resta, multiplicación y división.

Sumas y restas en binario

La suma en binario es similar a la suma en decimal, con la salvedad de que se emplean solo dos dígitos, el 0 y el 1. Si el resultado de la suma excede de 1, se agrega un acarreo a la suma parcial siguiente. 

0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 0 y acarreo 1

Por otro lado, si en la resta el resultado es menor de 0, el resultado es 1 y se añade un acarreo a la resta parcial siguiente.

0 - 0 = 0
0 - 1 = 1 y acarreo 1, que se suma al siguiente sustraendo
1 - 0 = 1
1 - 1 = 0

Multiplicación en binario

Se realiza como en la multiplicación decimal con la diferencia de que las sumas parciales se realizan en binario.

0 x 0 = 0
0 x 1 = 0
1 x 0 = 0
1 x 1 = 1

División en binario

Se realiza como en el sistema decimal pero con la salvedad de que las restas y multiplicaciones parciales se realizan en binario.

En el siguiente vídeo se muestran ejemplos prácticos de cómo realizar en binario las operaciones matemáticas que hemos comentado. 


Además, para comprobar lo que hemos aprendido, podemos intentar superar este desafío.

El sistema binario

En entradas anteriores ya se ha hablado de manera muy breve sobre la representación de información en los ordenadores utilizando tarjetas perforadas. Actualmente uno de los sistemas de representación más empleados en las computadoras es el sistema binario. Esto se debe a que los ordenadores de hoy en día trabajan internamente con dos niveles de voltaje por lo que su sistema de representación natural es el sistema binario (encendido 1, apagado 0).

El sistema de numeración binario utiliza solo dos dígitos (0 y 1) para representar cantidades, por lo que su base es 2. Cada uno de los dígitos de un número representado con el sistema binario recibe el nombre de bit.

Los bits tienen un valor diferente en función de la posición que ocupan, es decir, la numeración binaria también es un sistema posicional. El valor de cada posición viene determinado por una potencia en base 2 que recibe el nombre de peso. 

Teniendo en cuenta lo anterior, vamos a representar el número 13 en binario:

(1 x 2^3) + (1 x 2^2) + (0 x 2^1) + (1 x 2^0) = 8 + 4 + 1 = 13

Para reforzar lo anterior, a continuación se muestra una tabla de ejemplo con algunos números representados en el sistema binario y su equivalente en el sistema decimal.


Como se puede observar en la tabla anterior, el número de dígitos de un número representado en binario depende su valor en el sistema decimal. Para representar un número menor de 2 (2^1) en binario necesitamos 1 bit, para un numero menor de 4 (2^2) necesitamos 2 bits, para un número menor de 8 (2^3) usaremos 3 bits y así sucesivamente. De esto se puede extraer que para representar un número decimal menor de 2^n tendremos que utilizar n bits en binario.

La era electrónica de los ordenadores

En este post vamos a hablar de la era actual de los ordenadores: la era electrónica. Esta era se divide a su vez en 5 generaciones distintas en función de las características principales de los computadores:

- 1ª Generación (1943-1955): En esta generación aparece el ENIAC (Electronic Numerical Integrator), el primer computador electrónico. Supuso un gran avance al incorporar el primer elemento electrónico, las válvulas de vacío.

Posteriormente, el doctor John Von Neumann concibe la idea de programa almacenado y describe los fundamentos teóricos de la arquitectura que siguen los ordenadores actuales.

Más tarde aparecieron el EDVAC, que trabajaba con un programa almacenado; el UNIVAC I, que fue el primer ordenador comercial y que usaba cintas magnéticas; y diferentes evoluciones de los anteriores como MANIAC I, MANIAC II y UNIVAC II.

"Museum of Science, Boston, MA - IMG 3163" por Daderot (Wikimedia Commons) - CC: 0 Dominio Público

- 2ª Generación (1955-1964): Se sustituyeron las válvulas de vacío por los transistores, con la consiguiente reducción de tamaño y aumento de potencia.

"IBM 1401 at CHM" por ArnoldReinhold (Wikimedia Commons) - CC: BY-SA

- 3ª Generación (1964-1974): Se empezaron a utilizar los circuitos integrados, lo que supuso una mayor reducción del tamaño de los ordenadores y la evolución del software y del sistema operativo.

"Rechenzentrum-IBM-370_4078765" por Bobo11 (Wikimedia Commons) - CC: BY-SA

- 4ª Generación (1974-1983): Se sientan las bases de los ordenadores modernos. Aparece el microprocesador (toda la CPU encapsulada en único circuito integrado) y se mejoran las unidades de almacenamiento.

"Intel 4004" por LucaDetomi (Wikimedia Commons) - CC: BY-SA

- 5ª Generación (1983-actualidad): Japón y Estados Unidos llevan a cabo programas de desarrollo con el objetivo de construir máquinas capaces de comunicarse en un lenguaje más natural y realizar procesamientos en paralelo.

 "Computer tower 750pix" por Adrian Pingstone (Wikimedia Commons) - CC: 0 Dominio Público

domingo, 1 de enero de 2017

La era mecánica de los ordenadores

Una vez visto cuáles fueron los comienzos de los ordenadores, nos adentramos en las diferentes eras o épocas que ha vivido su desarrollo.

La primera era recibe el nombre de era mecánica o generación 0 y engloba aquellas máquinas empleadas para la realización de cálculos y cuya base de construcción era principalmente mecánica.

En esta entrada nos centraremos en una máquina muy especial de dicha era: la máquina analítica de Babbage.

"AnalyticalMachine Babbage London" por Bruno Barral (ByB) (Wikimedia Commons) - CC: BY-SA

La máquina analítica de Babbage estableció los principios de funcionamiento de los ordenadores actuales con conceptos como dispositivo de entrada y salida, memoria, unidad de control y aritmético-lógica.

Fue inicialmente concebida en 1816 pero Babbage continuó mejorando el diseño hasta su muerte en 1871. Finalmente la máquina no pudo construirse debido a que algunos detractores pensaron que la invención podía tener usos bélicos.

En caso de haberse construido, la máquina analítica habría funcionado con un motor a vapor y habría tenido 30 metros de largo y 10 metros de ancho. Para la entrada de datos y programas se habría utilizado tarjetas perforadas y la salida se produciría por una impresora, un equipo de dibujo y una campana. La máquina también perforaría tarjetas que podrían ser leídas posteriormente.

En 1991 el museo de ciencias de Londres, siguiendo los planos originales de Charles Babbage, construyó un modelo más simple de este ingenio y precursor del mismo: la máquina diferencial. En el siguiente vídeo la podemos ver en funcionamiento.

"Charles Babbage's Difference Engine en acción" por Guillermo Nuñez (Youtube) - CC: BY

La Prehistoria de los ordenadores

¿Os habéis preguntado alguna vez cuándo aparecieron los primeros ordenadores? Seguramente os sorprenderá saber que surgieron mucho antes de lo que os imagináis.

El ábaco chino se empleaba para representar números y realizar operaciones básicas con ellos en la antigüedad. El ejemplar más antiguo que se conserva data del año 3500 a.C. y se descubrió en Egipto.

"Ábaco Chino" por NanoBDH (Wikimedia Commons) - CC: BY-SA

El ábaco se compone de un marco de madera que se divide en dos partes y posee en su interior varias varillas verticales, que corresponden a las cifras. En la parte inferior de cada varilla hay cinco discos, denominados cuentas, que quedan hacia abajo y en la parte superior de cada varilla hay dos discos denominados quintas, que quedan hacia arriba.

Actualmente, todavía se sigue utilizando en algunos países orientales para realizar operaciones matemáticas sencillas.

Por otro lado, el Imperio Inca utilizaba un instrumento conocido como quipu como sistema nemotécnico para la contabilidad y escritura. El quipu más antiguo encontrado hasta ahora data aproximadamente del año 2500 a.C.

El quipu consta de una cuerda principal, sin nudos, de la cual dependen otras generalmente anudadas y de diversos colores, formas y tamaños. Los colores se identifican como sectores y los nudos indican la cantidad.

"Inca Quipu" por Claus Ableiter (Wikimedia Commons) - CC: BY-SA