Menu Horizontal

jueves, 5 de mayo de 2011

FUNCIONAMIENTO DEL ORDENADOR


Conceptos básicos y arquitectura

Este  libro  trata,  como  su  título  indica,  de  programación  científica.  Sin embargo, creemos que es importante tener unos conceptos básicos y claros del funcionamiento del ordenador para comprender ciertos aspectos importantes en programación como pueden ser algunas limitaciones de representación numérica, por ejemplo. Por lo tanto, en este capítulo nos centraremos en aquellos conocimientos básicos que toda persona que se “enfrenta” a un ordenador debe conocer, aún cuando intentaremos huir de conceptos particulares y que pueden quedar desfasados en pocos años.

Informática
En  primer  lugar,  debemos  preguntarnos  por  el  significado  y el  campo  de estudio del que se ocupa la Informática. En general, podemos decir que la Informática estudia diversos aspectos relacionados con la información, como son la adquisición, representación, tratamiento y transmisión, todo ello mediante ordenadores.

El origen del término Informática surge como unión de dos palabras:

Según la R.A.E. (Real Academia Española), su definición oficial sería:

 Es decir, que aparte de la necesidad del ordenador, es necesario tratar la información, entendida como cualquier conjunto de símbolos que represente hechos, objetos o ideas. Es decir, información es todo aquello que podemos representar con símbolos, siendo esta información clasificable atendiendo a múltiples factores y en distintos niveles. Así, podemos considerar como información los números, las palabras, las matrículas de coche, resultados de juegos olímpicos, características climatológicas de una región, etc.


Computador, computadora, ordenador

Como comentábamos en la definición anterior, la informática se encarga del tratamiento automático de la información, pero lo que es importante, mediante ordenadores. Los términos computador, computadora u ordenador se refieren a  lo  mismo,  mas  aunque  se  puedan  emplear  indistintamente,  está  más extendido el término ordenador y es el que utilizaremos en este libro.
Un ordenador es una máquina que es capaz de realizar operaciones complejas sobre la información sin intervención humana a partir de un programa de instrucciones. Vemos aquí una diferencia fundamental respecto a una calculadora, la cual también puede realizar operaciones complejas pero que necesita de una persona que la maneje. Un ordenador, sin embargo, trabaja ejecutando un programa de instrucciones previamente almacenado. De esta manera,  podemos  ver  al  ordenador  como  un  elemento  que  recibe  unas entradas, realiza unas operaciones, fundamentalmente gicas y aritméticas, sobre ellas y devuelve unas salidas (Figura 2-1). Las entradas son simplemente datos, algunos de los cuales pueden ser instrucciones específicas para que opere el ordenador. La información que resulta de este procesamiento son nuevos  datos  que  pueden  volver  a  ser  tratados  o  ser  interpretados  por  el usuario final.


Por lo tanto, el ordenador trabaja con datos que aparecen representados por símbolos. Estos datos, como indicábamos antes cuando hablábamos de la información, pueden ser valores numéricos, hechos, objetos, ideas, etc. Lo importante  es  que  puedan  ser  representados  por  símbolos  para  que  el ordenador pueda procesarlos. Es habitual que los ordenadores trabajen con un subconjunto de todos los símbolos posibles, los denominados caracteres. Dentro del conjunto de caracteres, podemos distinguir tres subconjuntos:

  • Numéricos: los dígitos del 0 al 9
  • Alfabéticos: los caracteres alfabéticos de la a a la z tanto en mayúscula como en minúscula
  • Especiales: aquí están incluidos todos los caracteres que no se incluyen en los subconjuntos anteriores, es decir, todo símbolo adicional que podamos necesitar a la hora de expresar una información: coma, punto y coma, dos puntos, signo de suma, resta, multiplicación, división, paréntesis, etc.

Resumiendo, podemos concluir que un ordenador trabaja con datos e instrucciones; las instrucciones le indican la tarea que debe realizar con los datos, obteniendo a su finalización nuevos datos, y los datos representan la información.

Codificación de la información

 Un elemento clave en el funcionamiento del ordenador es lo que se llama codificación de la información.


Por lo tanto, la codificación de la información trata simplemente de una transformación de la información. ¿Por qué es importante en Informática? Es importante porque un ordenador solamente es capaz de almacenar y transferir la información en código binario, es decir, solamente maneja los valores 0 y 1, verdadero y falso, activado y desactivado. Sin embargo, las personas estamos acostumbradas  a  manejar  otros  códigos  (caracteres  para  el  texto,  código decimal para las matemáticas, etc.). Por lo tanto, se hace necesaria la codificación de la información para poder traducir esta entre humanos y ordenadores.

La unidad elemental de información en Informática va a ser el BIT.
El bit se representa por la letra b minúscula, y lo podemos definir:
Esta unidad de información es muy pequeña ya que con un único bit solamente podemos representar dos posibilidades: el circuito está abierto (1) o cerrado (0), el vaso está lleno (1) o vacío (0), verdadero (1) o falso (0), etc. Es habitual disponer de información que precisa de mayor “espacio de almacenamiento”. En muchas ocasiones, en un ordenador querremos almacenar texto, ya que es la forma habitual en la que nos aparece la información. Por ello, se define un múltiplo del bit, con el que es posible almacenar un carácter, al que se denomina byte.
Actualmente, está bastante aceptado que un byte consta de 8 bits, por lo que también se denomina octeto. Esta unidad de información se representa con la B mayúscula para distinguirla del bit. Si calculamos todas las posibles combinaciones distintas que podemos formar con 8 bits, nos encontramos que son 28=256, empezando por los 8 bits a 0 (00000000) y terminando por todos a 1 (11111111), pasando por el resto de combinaciones de ceros y unos. Es decir, podemos representar 256 caracteres. Teniendo en cuenta que en el alfabeto castellano existen 27 caracteres distintos, tendríamos 54 entre minúsculas y mayúsculas, más los caracteres numéricos (0-9) tendríamos 66. Todavía nos quedarían todos los caracteres especiales, pero aun así puede parecer que 8 bits son demasiados para almacenar un carácter. Cuando veamos los códigos de E/S (Entrada/Salida) se verá la razón de utilizar 8 bits para almacenar un carácter, aunque existen códigos con solamente 7 bits. Sin embargo, esto no cambia para que haya permanecido como conversión fija:

Nos podemos dar cuenta inmediatamente de que 1 byte es todavía una unidad de  información  muy pequeña:  sólo  nos  permite  representar  un  carácter.

¿Cuántos bytes necesitamos para almacenar una novela como El Quijote? Para cualquier texto que nos encontramos, el indicar su tamaño en bytes puede resultar pesado por ser en general números muy grandes. Por ello, es habitual emplear múltiplos del byte. Sin embargo, debe tenerse cuidado con estos múltiplos ya que su equivalencia es distinta que en otras ramas de la ciencia, como, por ejemplo, en la física. En física, el prefijo kilo equivale a mil unidades. En informática, kilo equivale a 210 unidades que son 1024, algo más de  mil.  La  razón  de  esta  discrepancia  se  encuentra  en  que  en  el  sistema decimal resulta muy útil trabajar con potencias de 10; sin embargo, en el sistema  binario  (que  desarrollaremos  más  adelante),  es  más  conveniente trabajar con potencias de 2, y la potencia de 2 más próxima a 1000 es 210. De la misma manera, para el prefijo mega que equivale a 10en la física, en informática equivale a 220 que son 1048576. Así tenemos:
 
Arquitectura Von Neumann

Aunque no nos vamos a detener en el análisis de un ordenador desde un punto de vista de arquitectura interna, sí es conveniente conocer al menos los elementos  principales  de  que  consta,  así  como algunas  características  que  hacen que un ordenador sea más potente que otro, aspecto fundamental a la hora de ejecutar cualquier algoritmo científico de mediana complejidad.


Existen multitud de arquitecturas a las que puede responder un ordenador en particular. En lugar de centrarnos en una arquitectura en particular (PC-XT, PC-AT, Macintosh, Sun, …), se suele considerar una arquitectura genérica y abstracta que explica bastante bien la forma de operar de un ordenador, aún cuando no exista en la realidad ningún ordenador que responda a esta tan simplista. Esta arquitectura se denomina arquitectura Von Neumann y aparece representada en la Figura 2-2.

La Unidad Central de Procesos (UCP) o CPU (Central Processing Unit) es el
"cerebro" del ordenador y consta de tres partes básicas diferenciadas:

1.   Unidad de Control: Se encarga de gestionar el secuenciamiento de las instrucciones, es decir, controlar el orden en que estas se ejecutan, activar señales en instantes adecuados para que se realice una tarea, etc.

2.   Unidad Aritmético-Lógica (UAL) o ALU (Arithmetic-Logic Unit): Se encarga de realizar las operaciones de tipo aritmético y gico.

3. Registros: Son zonas de almacenamiento temporal de datos. Los más importantes son:

·    PC  (Program  Counter,  Contador  de  Programa):  Contiene  la dirección de memoria de la siguiente instrucción a ejecutar.

·    IR  (Instruction  Register,  Registro  de  Instrucción):  Donde  se almacena la instrucción en ejecución.

·    Otros: Acumulador, Registro de Estado, etc.

La memoria del ordenador sirve para almacenar tanto datos como instrucciones. La memoria la podemos representar como una matriz con 2m filas y n columnas. En cada celda se puede almacenar un 0 o un 1. Cada dirección (es decir, cada fila) da acceso a una posición o palabra de memoria de  longitud  n.  Si  n=16,  en  cada  acción  de  escritura  almacenaríamos  una palabra de 16 bits, por lo que se precisa de 16 terminales en el dispositivo de memoria (los niveles 0 y 1 se representan eléctricamente en el ordenador como dos niveles distintos de tensión), más m terminales adicionales para indicar en cuál  de  las 2m  filas  se  almacena  (con  m  combinaciones  de  ceros  y unos, podemos representar 2m  elementos). Además, necesitamos un terminal, denominado R/W, para indicar si queremos leer (Read) o escribir (Write) en la memoria.


Cuando hablamos de la memoria del ordenador, habitualmente nos referimos a memoria RAM (Random Access Memory, memoria de acceso aleatorio) y ROM (Read Only Memory, memoria de solo lectura), aunque existen otras como la memoria caché. Cuando en un ordenador nos indican la memoria de que  dispone,  se  suele  referir  a  la  memoria  RAM,  que  es  en  la  que almacenamos los programas en ejecución y los datos en uso.


En la Figura 2-2 aparece también un bloque denominado E/S que se refiere a los  dispositivos  de  Entrada/Salida.  En  este  bloque  aparecen  todos  los elementos distintos de la CPU y la memoria, y que permiten al ordenador comunicarse  con  el  exterior,  bien  recibiendo  datos  a  través  de  teclados, ratones, tabletas digitalizadoras, sensores de temperatura, etc., bien enviando datos a otros como monitores, altavoces, impresoras, etc. Existen también unos dispositivos que se pueden considerar tanto como de E/S como de memoria masiva y que sirven para almacenar y acceder a grandes cantidades de información como son los discos duros, discos ópticos, cintas magnéticas, etc.


Los distintos elementos del ordenador se comunican a través de los denominados buses. Estos son simplemente pistas eléctricas a través de las cuales se envían datos unos dispositivos a otros.
















No hay comentarios:

Publicar un comentario