miércoles, 27 de marzo de 2013

La computadora

¿Qué es una computadora?

Una computadora es un sistema digital con tecnología microelectrónica capaz de procesar datos a partir de un grupo de instrucciones denominado programa. La estructura básica de una computadora incluye microprocesador (CPU), memoria y dispositivos de entrada/salida (E/S), junto a los buses que permiten la comunicación entre ellos. La característica principal que la distingue de otros dispositivos similares, como una calculadora no programable, es que puede realizar tareas muy diversas cargando distintos programas en la memoria para que los ejecute el procesador.
TIPOS DE COMPUTADORA:
Se clasifican de acuerdo al principio de operación de Analógicas y Digitales.
Computadora Analógica:
1.- Aprovechando el hecho de que diferentes fenómenos físicos se describen por relaciones matemáticas similares (v.g. Exponenciales, Logarítmicas, etc.) pueden entregar la solución muy rápidamente. Pero tienen el inconveniente que al cambiar el problema a resolver, hay que realambrar la circuitería (cambiar el Hardware).

Computadora analógica



Una computadora analógica u ordenador real es un tipo de computadora que utiliza dispositivos electrónicos o mecánicos para modelar el problema que resuelven utilizando un tipo de cantidad física para representar otra.
Para el modelado se utiliza la analogía existente en términos matemáticos de algunas situaciones en diferentes campos. Por ejemplo, la que existe entre los movimientos oscilatorios en mecánica y el análisis de corrientes alternas en electricidad. Estos dos problemas se resuelven por ecuaciones diferenciales y pueden asemejarse términos entre uno y otro problema para obtener una solución satisfactoria.
Usado en contraposición a las computadoras digitales, en los cuales los fenómenos físicos o mecánicos son utilizados para construir una máquina de estado finito que es usada después para modelar el problema a resolver. Hay un grupo intermedio, los computadores híbridos, en los que un computador digital es utilizado para controlar y organizar entradas y salidas hacia y desde dispositivos analógicos anexos; por ejemplo, los dispositivos analógicos podrían ser utilizados para generar valores iniciales para iteraciones. Así, un ábaco sería un computador digital, y una regla de cálculo un computador analógico.
Los computadores analógicos ideales operan con números reales y son diferenciales, mientras que los computadores digitales se limitan a números computables y son algebraicos. Esto significa que los computadores analógicos tienen una tasa de dimensión de la información (ver teoría de la información), o potencial de dominio informático más grande que los computadores digitales (ver teorema de incompletitud de Gödel). Esto, en teoría, permite a los computadores analógicos resolver problemas que son indescifrables con computadores digitales.
Los teóricos de la informática suelen usar el término ordenador real (llamado así porque opera dentro del conjunto de números reales), para evitar los malentendidos populares sobre los computadores analógicos.

Computadora Digital:
1.- Están basadas en dispositivos biestables, i.e., que sólo pueden tomar uno de dos valores posibles: ‘1’ ó ‘0’. Tienen como ventaja, el poder ejecutar diferentes programas para diferentes problemas, sin tener que la necesidad de modificar físicamente la máquina. 
Una computadora digital es una máquina que puede resolver problemas ejecutando una secuencia de instrucciones dadas. Se llama programa a una secuencia de instrucciones que describe paso a paso como ejecutar cierta tarea. Los circuitos electrónicos de cada computadora pueden reconocer y ejecutar directamente un conjunto limitado de instrucciones simples. Todos los programas que se desean ejecutar en una computadora deben convertirse previamente en una secuencia de estas instrucciones simples. Estas instrucciones básicas pocas veces rebasan la complejidad de:

-         Sumar dos números.
-         Comprobar si un número es cero.
-         Mover datos de una parte de la memoria a otra.

El conjunto de instrucciones primitivas de una computadora forma el lenguaje con el cual podemos comunicarnos con ella. Dicho lenguaje se llama leguaje de máquina. Normalmente intentan hacer las instrucciones primitivas lo más simple posible, siempre que estén de acuerdo con el uso para el que se ha proyectado la computadora y el rendimiento requerido, a fin de reducir la complejidad y el costo de la electrónica que se necesite. Debido a que la mayoría de los lenguajes de máquina son demasiado elementales, es difícil y tedioso utilizarlos.

Hay dos formas de atacar este problema; ambas incluyen el diseño de un nuevo conjunto de instrucciones, más convenientes para las personas que el conjunto de instrucciones propias de la máquina. Estas instrucciones, en conjunto forman un nuevo lenguaje que llamaremos L2, de manera semejante al que forman las nuevas instrucciones propias de la máquina, que llamaremos L1. Las dos aproximaciones difieren en el modo en que los programas escritos en L2 son ejecutados por la computadora, ya que, después de todo, sólo puede ejecutar programas escritos en su lenguaje de máquina L1.

Un método para ejecutar un programa escrito en L2 consiste en sustituir primero cada instrucción por una secuencia equivalente de instrucciones L1. El resultado es un nuevo programa escrito totalmente con instrucciones en L1. La computadora ejecutará entonces el nuevo programa en L1 y no el anterior en L2. Esta técnica se denomina traducción o compilación.

La otra técnica es escribir un programa en L1 que tome programas escritos en L2 como datos de entrada y los lleve a cabo examinando una instrucción a la vez y ejecutando directamente la secuencia equivalente de instrucciones en L1. Esta técnica, que no requiere la generación previa de un nuevo programa en L1 se llama interpretación y el programa que la lleva a cabo, interprete.

La traducción y la interpretación son bastantes similares. En ambos métodos, las instrucciones L2 se llevan a cabo al ejecutar secuencias equivalentes de instrucciones en L1. La diferencia radica en que, en la traducción todo programa en L2 se convierte en un programa en L1 (código objeto), el programa en L2 se desecha y entonces se ejecuta el programa generado en L1. En la interpretación se ejecuta cada instrucción en L2 inmediatamente después de examinarla y decodificarla. No se genera ningún programa traducido. Ambos métodos se usan ampliamente.

En vez de pensar en términos de traducción o interpretación, a menudo conviene imaginar la existencia de una computadora hipotética o máquina virtual cuyo lenguaje sea L2.

La invención de toda una serie de lenguajes, cada uno más conveniente que sus predecesores, puede continuar indefinidamente hasta que se consiga una adecuado. Cada lenguaje usa a su predecesor como base, de manera que una computadora que usa esta técnica puede considerarse como una serie de capas o niveles, uno por encima del otro. El lenguaje de alto niveles el más simple, y el de más bajo nivel el más complejo.
 

No hay comentarios:

Publicar un comentario