SlideShare una empresa de Scribd logo
1 de 54
Introducción a Los Sistemas Computacionales
ORDENADOR O COMPUTADORAS
Dispositivo electrónico capaz de recibir un conjunto de instrucciones y
ejecutarlas realizando cálculos sobre los datos numéricos, o bien compilando y
correlacionando otros tipos de información.
El mundo de la alta tecnología nunca hubiera existido de no ser por el desarrollo
del ordenador o computadora. Toda la sociedad utiliza estas máquinas, en
distintos tipos y tamaños, para el almacenamiento y manipulación de datos. Los
equipos informáticos han abierto una nueva era en la fabricación gracias a las
técnicas de automatización, y han permitido mejorar los sistemas modernos de
comunicación. Son herramientas esenciales prácticamente en todos los campos
de investigación y en tecnología aplicada.
Tipos de ordenadores o computadoras
En la actualidad se utilizan dos tipos principales de ordenadores: analógicos y
digitales.
Sin embargo, el término ordenador o computadora suele utilizarse para referirse
exclusivamente al tipo digital. Los ordenadores analógicos aprovechan la
similitud matemática entre las interrelaciones físicas de determinados problemas
y emplean circuitos electrónicos o hidráulicos para simular el problema físico.
Los ordenadores digitales resuelven los problemas realizando cálculos y
tratando cada número dígito por dígito.
Las instalaciones que contienen elementos de ordenadores digitales y
analógicos se denominan ordenadores híbridos. En un ordenador digital también
pueden introducirse datos en forma analógica mediante un convertidor analógico
digital, y viceversa (convertidor digital a analógico).
Ordenadores analógicos
El ordenador analógico es un dispositivo electrónico o hidráulico diseñado para
manipular la entrada de datos en términos de, por ejemplo, niveles de tensión o
presiones hidráulicas, en lugar de hacerlo como datos numéricos.
El dispositivo de cálculo analógico más sencillo es la regla de cálculo, que utiliza
longitudes de escalas especialmente calibradas para facilitar la multiplicación, la
división y otras funciones. En el típico ordenador analógico electrónico, las
entradas se convierten en tensiones que pueden sumarse o multiplicarse
empleando elementos de circuito de diseño especial. Las respuestas se generan
continuamente para su visualización o para su conversión en otra forma
deseada.
Ordenadores digitales
Todo lo que hace un ordenador digital se basa en una operación: la capacidad
de determinar si un conmutador, o `puerta’, está abierto o cerrado. Es decir, el
ordenador puede reconocer sólo dos estados en cualquiera de sus circuitos
microscópicos: abierto o cerrado, alta o baja tensión o, en el caso de números, 0
o 1. Sin embargo, es la velocidad con la cual el ordenador realiza este acto tan
sencillo lo que lo convierte en una maravilla de la tecnología moderna. Las
velocidades del ordenador se miden en megahercios, o millones de ciclos por
segundo.
Un ordenador con una velocidad de reloj de 100 MHZ, velocidad bastante
representativa de un microordenador o microcomputadora, es capaz de ejecutar
100 millones de operaciones discretas por segundo. Las microcomputadoras de
las compañías pueden ejecutar entre 150 y 200 millones de operaciones por
segundo, mientras que las supercomputadoras utilizadas en aplicaciones de
investigación y de defensa alcanzan velocidades de miles de millones de ciclos
por segundo.
La velocidad y la potencia de cálculo de los ordenadores digitales se
incrementan aún más por la cantidad de datos manipulados durante cada ciclo.
Si un ordenador verifica sólo un conmutador cada vez, dicho conmutador puede
representar solamente dos comandos o números. Así, ON simbolizaría una
operación o un número, mientras que OFF simbolizará otra u otro.
Sin embargo, al verificar grupos de conmutadores enlazados como una sola
unidad, el ordenador aumenta el número de operaciones que puede reconocer
en cada ciclo.
Por ejemplo, un ordenador que verifica dos conmutadores cada vez, puede
representar cuatro números (del 0 al 3), o bien ejecutar en cada ciclo una de las
cuatro operaciones, una para cada uno de los siguientes modelos de
conmutador: OFF-OFF (0), OFF-ON (1), ON-OFF (2) u ON-ON (3). En general,
los ordenadores de la década de 1970 eran capaces de verificar 8 conmutadores
simultáneamente; es decir, podían verificar ocho dígitos binarios, de ahí el
término bit de datos en cada ciclo. Un grupo de ocho bits se denomina byte y
cada uno contiene 256 configuraciones posibles de ON y OFF (o 1 y 0). Cada
configuración equivale a una instrucción, a una parte de una instrucción o a un
determinado tipo de dato; estos últimos pueden ser un número, un carácter o un
símbolo gráfico. Por ejemplo, la configuración 11010010 puede representar
datos binarios, en este caso el número decimal 210 (véase Sistemas
numéricos), o bien estar indicando al ordenador que compare los datos
almacenados en estos conmutadores con los datos almacenados en
determinada ubicación del chip de memoria. El desarrollo de procesadores
capaces de manejar simultáneamente 16, 32 y 64 bits de datos ha permitido
incrementar la velocidad de los ordenadores.
La colección completa de configuraciones reconocibles, es decir, la lista total de
operaciones que una computadora es capaz de procesar, se denomina conjunto,
o repertorio, de instrucciones. Ambos factores, el número de bits simultáneos y
el tamaño de los conjuntos de instrucciones, continúa incrementándose a
medida que avanza el desarrollo de los ordenadores digitales modernos.
Historia
La primera máquina de calcular mecánica, un precursor del ordenador digital,
fue inventada en 1642 por el matemático francés Blaise Pascal. Aquel
dispositivo utilizaba una serie de ruedas de diez dientes en las que cada uno de
los dientes representaba un dígito del 0 al 9.
Las ruedas estaban conectadas de tal manera que podían sumarse números
haciéndolas avanzar el número de dientes correcto. En 1670 el filósofo y
matemático alemán Gottfried Wilhelm Leibniz perfeccionó esta máquina e
inventó una que también podía multiplicar.
El inventor francés Joseph Marie Jacquard, al diseñar un telar automático, utilizó
delgadas placas de madera perforadas para controlar el tejido utilizado en los
diseños complejos. Durante la década de 1880 el estadístico estadounidense
Herman Hollerith concibió la idea de utilizar tarjetas perforadas, similares a las
placas de Jacquard, para procesar datos. Hollerith consiguió compilar la
información estadística destinada al censo de población de 1890 de Estados
Unidos mediante la utilización de un sistema que hacía pasar tarjetas perforadas
sobre contactos eléctricos.
La máquina analítica
También en el siglo XIX el matemático e inventor británico Charles Babbage
elaboró los principios de la computadora digital moderna. Inventó una serie de
máquinas, como la máquina diferencial, diseñadas para solucionar problemas
matemáticos complejos. Muchos historiadores consideran a Babbage como el
verdadero inventor de la computadora.
La tecnología de aquella época no era capaz de trasladar a la práctica sus
acertados conceptos; pero una de sus invenciones, la máquina analítica, ya
tenía muchas de las características de un ordenador moderno. Incluía una
corriente, o flujo de entrada en forma de paquete de tarjetas perforadas, una
memoria para guardar los datos, un procesador para las operaciones
matemáticas y una impresora para hacer permanente el registro.
Primeros ordenadores
Los ordenadores analógicos comenzaron a construirse a principios del siglo XX.
Los primeros modelos realizaban los cálculos mediante ejes y engranajes
giratorios.
Durante las dos guerras mundiales se utilizaron sistemas informáticos
analógicos, primero mecánicos y más tarde eléctricos, para predecir la
trayectoria de los torpedos en los submarinos y para el manejo a distancia de las
bombas en la aviación.
Circuitos integrados
A finales de la década de 1960 apareció el circuito integrado (CI), que posibilitó
la fabricación de varios transistores en un único sustrato de silicio en el que los
cables de interconexión iban soldados. El circuito integrado permitió una
posterior reducción del precio, el tamaño y los porcentajes de error. El
microprocesador se convirtió en una realidad a mediados de la década de 1970,
con la introducción del circuito de integración a gran escala (LSI, acrónimo de
Large Scale Integrated) y, más tarde, con el circuito de integración a mayor
escala (VLSI, acrónimo de Very Large Scale Integrated), con varios miles de
transistores interconectados soldados sobre un único sustrato de silicio.
Hardware
Todos los ordenadores digitales modernos son similares conceptualmente con
independencia de su tamaño.
Sin embargo, pueden dividirse en varias categorías según su precio y
rendimiento: el ordenador o computadora personal es una máquina de coste
relativamente bajo y por lo general de tamaño adecuado para un escritorio
(algunos de ellos, denominados portátiles, o laptops, son lo bastante pequeños
como para caber en un maletín); la estación de trabajo, un microordenador con
gráficos mejorados y capacidades de comunicaciones que lo hacen
especialmente útil para el trabajo de oficina; el mini-ordenador o mini-
computadora, un ordenador de mayor tamaño que por lo general es demasiado
caro para el uso personal y que es apto para compañías, universidades o
laboratorios; y el mainframe, una gran máquina de alto precio capaz de servir a
las necesidades de grandes empresas, departamentos gubernamentales,
instituciones de investigación científica y similares (las máquinas más grandes y
más rápidas dentro de esta categoría se denominan superordenadores).
En realidad, un ordenador digital no es una única máquina, en el sentido en el
que la mayoría de la gente considera a los ordenadores.
Es un sistema compuesto de cinco elementos diferenciados: una CPU (unidad
central de proceso); dispositivos de entrada; dispositivos de almacenamiento de
memoria; dispositivos de salida y una red de comunicaciones, denominada bus,
que enlaza todos los elementos del sistema y conecta a éste con el mundo
exterior.
CPU
(unidad central de proceso)
La CPU puede ser un único chip o una serie de chips que realizan cálculos
aritméticos y lógicos y que temporizan y controlan las operaciones de los demás
elementos del sistema. Las técnicas de miniaturización y de integración han
posibilitado el desarrollo de un chip de CPU denominado microprocesador, que
incorpora un sistema de circuitos y memoria adicionales. El resultado son unos
ordenadores más pequeños y la reducción del sistema de circuitos de soporte.
Los microprocesadores se utilizan en la mayoría de los ordenadores personales
de la actualidad.
La mayoría de los chips de CPU y de los microprocesadores están compuestos
de cuatro secciones funcionales: una unidad aritmética-lógica; unos registros;
una sección de control y un bus interno. La unidad aritmética-lógica es aquella
que permite realizar operaciones lógicas y aritméticas. Los registros son áreas
de almacenamiento temporal que contienen datos, realizan un seguimiento de
las instrucciones y conservan la ubicación y los resultados de dichas
operaciones. La sección de control tiene tres tareas principales: temporiza y
regula las operaciones de la totalidad del sistema informático; su descodificador
de instrucciones lee las configuraciones de datos en un registro designado y las
convierte en una actividad, como podría ser sumar o comparar, y su unidad
interruptora indica en qué orden utilizará la CPU las operaciones individuales y
regula la cantidad de tiempo de CPU que podrá consumir cada operación.
El último segmento de un chip de CPU o microprocesador es su bus interno, una
red de líneas de comunicación que conecta los elementos internos del
procesador y que también lleva hacia los conectores externos que enlazan al
procesador con los demás elementos del sistema informático.
Los tres tipos de bus de la CPU son: el bus de control que consiste en una línea
que detecta las señales de entrada y de otra línea que genera señales de control
desde el interior de la CPU; el bus de dirección, una línea unidireccional que sale
desde el procesador y que gestiona la ubicación de los datos en las direcciones
de la memoria; y el bus de datos, una línea de transmisión bidireccional que lee
los datos de la memoria y escribe nuevos datos en ésta.
Dispositivos de entrada
Estos dispositivos permiten al usuario del ordenador introducir datos, comandos
y programas en la CPU.
El dispositivo de entrada más común es un teclado similar al de las máquinas de
escribir.
La información introducida con el mismo, es transformada por el ordenador en
modelos reconocibles.
Otros dispositivos de entrada son los lápices ópticos, que transmiten información
gráfica desde tabletas electrónicas hasta el ordenador; joysticks y el ratón o
mouse, que convierte el movimiento físico en movimiento dentro de una pantalla
de ordenador; los escáneres luminosos, que leen palabras o símbolos de una
página impresa y los traducen a configuraciones electrónicas que el ordenador
puede manipular y almacenar; y los módulos de reconocimiento de voz, que
convierten la palabra hablada en señales digitales comprensibles para el
ordenador. También es posible utilizar los dispositivos de almacenamiento para
introducir datos en la unidad de proceso.
Dispositivos de almacenamiento
Los sistemas informáticos pueden almacenar los datos tanto interna (en la
memoria) como externamente (en los dispositivos de almacenamiento).
Internamente, las instrucciones o datos pueden almacenarse por un tiempo en
los chips de silicio de la RAM (memoria de acceso aleatorio) montados
directamente en la placa de circuitos principal de la computadora, o bien en
chips montados en tarjetas periféricas conectadas a la placa de circuitos
principal del ordenador. Estos chips de RAM constan de conmutadores sensibles
a los cambios de la corriente eléctrica.
Los chips de RAM estática conservan sus bits de datos mientras la corriente siga
fluyendo a través del circuito, mientras que los chips de RAM dinámica (DRAM,
acrónimo de Dynamic Random Access Memory) necesitan la aplicación de
tensiones altas o bajas a intervalos regulares aproximadamente cada dos
milisegundos para no perder su información.
Otro tipo de memoria interna son los chips de silicio en los que ya están
instalados todos los conmutadores. Las configuraciones en este tipo de chips de
ROM (memoria de sólo lectura) forman los comandos, los datos o los programas
que el ordenador necesita para funcionar correctamente. Los chips de RAM son
como pedazos de papel en los que se puede escribir, borrar y volver a utilizar;
los chips de ROM son como un libro, con las palabras ya escritas en cada
página. Tanto los primeros como los segundos están enlazados a la CPU a
través de circuitos.
Los dispositivos de almacenamiento externos, que pueden residir físicamente
dentro de la unidad de proceso principal del ordenador, están fuera de la placa
de circuitos principal. Estos dispositivos almacenan los datos en forma de cargas
sobre un medio magnéticamente sensible, por ejemplo una cinta de sonido o, lo
que es más común, sobre un disco revestido de una fina capa de partículas
metálicas. Los dispositivos de almacenamiento externo más frecuentes son los
disquetes y los discos duros, aunque la mayoría de los grandes sistemas
informáticos utiliza bancos de unidades de almacenamiento en cinta magnética.
Los discos flexibles pueden contener, según sea el sistema, desde varios
centenares de miles de bytes hasta bastante más de un millón de bytes de
datos. Los discos duros no pueden extraerse de los receptáculos de la unidad de
disco, que contienen los dispositivos electrónicos para leer y escribir datos sobre
la superficie magnética de los discos y pueden almacenar desde varios millones
de bytes hasta algunos centenares de millones. La tecnología de CD-ROM, que
emplea las mismas técnicas láser utilizadas para crear los discos compactos
(CD) de audio, permiten capacidades de almacenamiento del orden de varios
cientos de megabytes (millones de bytes) de datos.
Dispositivos de salida
Estos dispositivos permiten al usuario ver los resultados de los cálculos o de las
manipulaciones de datos de la computadora.
El dispositivo de salida más común es la unidad de visualización (VDU, acrónimo
de Video Display Unit), que consiste en un monitor que presenta los caracteres y
gráficos en una pantalla similar a la del televisor. Por lo general, las VDU tienen
un tubo de rayos catódicos como el de cualquier televisor, aunque los
ordenadores pequeños y portátiles utilizan hoy pantallas de cristal líquido (LCD,
acrónimo de Liquid Crystal Displays) o electro luminiscentes. Otros dispositivos
de salida más comunes son las impresoras y los módem.
Un módem enlaza dos ordenadores transformando las señales digitales en
analógicas para que los datos puedan transmitirse a través de las
telecomunicaciones.
Sistemas operativos
Los sistemas operativos internos fueron desarrollados sobre todo para coordinar
y trasladar estos flujos de datos que procedían de fuentes distintas, como las
unidades de disco o los coprocesadores (chips de procesamiento que ejecutan
operaciones simultáneamente con la unidad central, aunque son diferentes). Un
sistema operativo es un programa de control principal, almacenado de forma
permanente en la memoria, que interpreta los comandos del usuario que solicita
diversos tipos de servicios, como visualización, impresión o copia de un archivo
de datos; presenta una lista de todos los archivos existentes en un directorio o
ejecuta un determinado programa.
Programación
Un programa es una secuencia de instrucciones que indican al hardware de un
ordenador qué operaciones debe realizar con los datos. Los programas pueden
estar incorporados al propio hardware, o bien pueden existir de manera
independiente en forma de software.
En algunas computadoras especializadas las instrucciones operativas están
incorporadas en el sistema de circuitos; entre los ejemplos más comunes
pueden citarse los microordenadores de las calculadoras, relojes de pulsera,
motores de coches y hornos microondas. Por otro lado, un ordenador universal,
o de uso general, contiene algunos programas incorporados (en la ROM) o
instrucciones (en el chip del procesador), pero depende de programas externos
para ejecutar tareas útiles. Una vez programado, podrá hacer tanto o tan poco
como le permita el software que lo controla en determinado momento. El
software de uso más generalizado incluye una amplia variedad de programas de
aplicaciones, es decir, instrucciones al ordenador acerca de cómo realizar
diversas tareas.
Lenguajes
Las instrucciones deben darse en un lenguaje de programación, es decir, en una
determinada configuración de información digital binaria. En las primeras
computadoras, la programación era una tarea difícil y laboriosa ya que los
conmutadores ON-OFF de las válvulas de vacío debían configurarse a mano.
Programar tareas tan sencillas como ordenar una lista de nombres requería
varios días de trabajo de equipos de programadores. Desde entonces se han
inventado varios lenguajes informáticos, algunos orientados hacia funciones
específicas y otros centrados en la facilidad de uso.
Lenguaje máquina
El lenguaje propio del ordenador, basado en el sistema binario, o código
máquina, resulta difícil de utilizar para las personas.
El programador debe introducir todos y cada uno de los comandos y datos en
forma binaria, y una operación sencilla como comparar el contenido de un
registro con los datos situados en una ubicación del chip de memoria puede
tener el siguiente formato: 11001010 00010111 11110101 00101011. La
programación en lenguaje máquina es una tarea tan tediosa y consume tanto
tiempo que muy raras veces lo que se ahorra en la ejecución del programa
justifica los días o semanas que se han necesitado para escribir el mismo.
Lenguaje ensamblador
Uno de los métodos inventados por los programadores para reducir y simplificar
el proceso es la denominada programación con lenguaje ensamblador. Al
asignar un código mnemotécnico (por lo general de tres letras) a cada comando
en lenguaje máquina, es posible escribir y depurar o eliminar los errores lógicos
y de datos en los programas escritos en lenguaje ensamblador, empleando para
ello sólo una fracción del tiempo necesario para programar en lenguaje máquina.
En el lenguaje ensamblador, cada comando mnemotécnico y sus operadores
simbólicos equivalen a una instrucción de máquina.
Un programa ensamblador traduce el código fuente, una lista de códigos de
operación mnemotécnicos y de operadores simbólicos, a código objeto (es decir,
a lenguaje máquina) y, a continuación, ejecuta el programa.
Sin embargo, el lenguaje ensamblador puede utilizarse con un solo tipo de chip
de CPU o microprocesador.
Los programadores, que dedicaron tanto tiempo y esfuerzo al aprendizaje de la
programación de un ordenador, se veían obligados a aprender un nuevo estilo
de programación cada vez que trabajaban con otra máquina. Lo que se
necesitaba era un método abreviado en el que un enunciado simbólico pudiera
representar una secuencia de numerosas instrucciones en lenguaje máquina, y
un método que permitiera que el mismo programa pudiera ejecutarse en varios
tipos de máquinas. Estas necesidades llevaron al desarrollo de lenguajes de alto
nivel.
Lenguajes de alto nivel
Los lenguajes de alto nivel suelen utilizar términos ingleses del tipo LIST, PRINT
u OPEN como comandos que representan una secuencia de decenas o de
centenas de instrucciones en lenguaje máquina. Los comandos se introducen
desde el teclado, desde un programa residente en la memoria o desde un
dispositivo de almacenamiento, y son interceptados por un programa que los
traduce a instrucciones en lenguaje máquina.
Los programas traductores son de dos tipos: intérpretes y compiladores. Con un
intérprete, los programas que repiten un ciclo para volver a ejecutar parte de sus
instrucciones, reinterpretan la misma instrucción cada vez que aparece. Por
consiguiente, los programas interpretados se ejecutan con mucha mayor lentitud
que los programas en lenguaje máquina. Por el contrario, los compiladores
traducen un programa íntegro a lenguaje máquina antes de su ejecución, por lo
cual se ejecutan con tanta rapidez como si hubiesen sido escritos directamente
en lenguaje máquina.
Se considera que fue la estadounidense Grace Hopper quien implementó el
primer lenguaje de ordenador orientado al uso comercial. Después de programar
un ordenador experimental en la Universidad de Harvard, trabajó en los modelos
UNIVAC I y UNIVAC II, desarrollando un lenguaje de alto nivel para uso
comercial llamado FLOW-MATIC.
Para facilitar el uso del ordenador en las aplicaciones científicas, IBM desarrolló
un lenguaje que simplificaría el trabajo que implicaba el tratamiento de fórmulas
matemáticas complejas.
Iniciado en 1954 y terminado en 1957, el FORTRAN (acrónimo de Formula
Translator) fue el primer lenguaje exhaustivo de alto nivel de uso generalizado.
En 1957 una asociación estadounidense, la Association for Computing
Machinery comenzó a desarrollar un lenguaje universal que corrigiera algunos
de los defectos del FORTRAN. Un año más tarde fue lanzado el ALGOL
(acrónimo de Algorithmic Language), otro lenguaje de orientación científica. De
gran difusión en Europa durante las décadas de 1960 y 1970, desde entonces
ha sido sustituido por nuevos lenguajes, mientras que el FORTRAN continúa
siendo utilizado debido a las gigantescas inversiones que se hicieron en los
programas existentes. El COBOL (acrónimo de Common Business Oriented
Language) es un lenguaje de programación para uso comercial y empresarial
especializado en la organización de datos y manipulación de archivos, y hoy día
está muy difundido en el mundo empresarial.
El lenguaje BASIC (acrónimo de Código de Instrucciones Simbólicas de Uso
General para Principiantes) fue desarrollado en el Dartmouth College a
principios de la década de 1960 y está dirigido a los usuarios de ordenador no
profesionales. Este lenguaje se universalizó gracias a la popularización de los
microordenadores en las décadas de 1970 y 1980. Calificado de lento, ineficaz y
poco estético por sus detractores, BASIC es sencillo de aprender y fácil de
utilizar.
Como muchos de los primeros microordenadores se vendieron con BASIC
incorporado en el hardware (en la memoria ROM), se generalizó el uso de este
lenguaje.
Aunque existen centenares de lenguajes informáticos y de variantes, hay
algunos dignos de mención, como el PASCAL, diseñado en un principio como
herramienta de enseñanza, hoy es uno de los lenguajes de microordenador más
populares; el Logo fue desarrollado para que los niños pudieran acceder al
mundo de la informática; el C, un lenguaje de Bell Laboratories diseñado en la
década de 1970, se utiliza ampliamente en el desarrollo de programas de
sistemas, al igual que su sucesor, el C++. El LISP y el PROLOG han alcanzado
amplia difusión en el campo de la inteligencia artificial.
Evolución futura
Una tendencia constante en el desarrollo de los ordenadores es la micro
miniaturización, iniciativa que tiende a comprimir más elementos de circuitos en
un espacio de chip cada vez más pequeño. Además, los investigadores intentan
agilizar el funcionamiento de los circuitos mediante el uso de la
superconductividad, un fenómeno de disminución de la resistencia eléctrica que
se observa cuando se enfrían los objetos a temperaturas muy bajas.
Las redes informáticas se han vuelto cada vez más importantes en el desarrollo
de la tecnología de computadoras. Las redes son grupos de computadoras
interconectados mediante sistemas de comunicación. La red pública Internet es
un ejemplo de red informática planetaria. Las redes permiten que las
computadoras conectadas intercambien rápidamente información y, en algunos
casos, compartan una carga de trabajo, con lo que muchas computadoras
pueden cooperar en la realización de una tarea. Se están desarrollando nuevas
tecnologías de equipo físico y soporte lógico que acelerarán los dos procesos
mencionados.
Otra tendencia en el desarrollo de computadoras es el esfuerzo para crear
computadoras de quinta generación, capaces de resolver problemas complejos
en formas que pudieran llegar a considerarse creativas. Una vía que se está
explorando activamente es el ordenador de proceso paralelo, que emplea
muchos chips para realizar varias tareas diferentes al mismo tiempo. El proceso
paralelo podría llegar a reproducir hasta cierto punto las complejas funciones de
realimentación, aproximación y evaluación que caracterizan al pensamiento
humano. Otra forma de proceso paralelo que se está investigando es el uso de
computadoras moleculares. En estas computadoras, los símbolos lógicos se
expresan por unidades químicas de ADN en vez de por el flujo de electrones
habitual en las computadoras corrientes. Las computadoras moleculares podrían
llegar a resolver problemas complicados mucho más rápidamente que las
actuales supercomputadoras y consumir mucha menos energía.
1.1 Antecedentes Históricos y Tendencias
Antecedentes historicos de la computadora
La primera máquina de calcular mecánica, un precursor del ordenador digital,
fue inventada en 1642 por el matemático francés Blaise Pascal. Aquel
dispositivo utilizaba una serie de ruedas de diez dientes en las que cada uno de
los dientes representaba un dígito del 0 al 9. Las ruedas estaban conectadas de
tal manera que podían sumarse números haciéndolas avanzar el número de
dientes correcto. En 1670 el filósofo y matemático alemán Gottfried Wilhelm
Leibniz perfeccionó esta máquina e inventó una que también podía multiplicar.
El inventor francés Joseph Marie Jacquard, al diseñar un telar automático, utilizó
delgadas placas de madera perforadas para controlar el tejido utilizado en los
diseños complejos. Durante la década de 1880 el estadístico estadounidense
Herman Hollerith concibió la idea de utilizar tarjetas perforadas, similares a las
placas de Jacquard, para procesar datos. Hollerith consiguió compilar la
información estadística destinada al censo de población de 1890 de Estados
Unidos mediante la utilización de un sistema que hacía pasar tarjetas perforadas
sobre contactos eléctricos.
El mundo de la alta tecnología nunca hubiera existido de no ser por el desarrollo
del ordenador o computadora. Toda la sociedad utiliza estas máquinas, en
distintos tipos y tamaños, para el almacenamiento y manipulación de datos. Los
equipos informáticos han abierto una nueva era en la fabricación gracias a las
técnicas de automatización, y han permitido mejorar los sistemas modernos de
comunicación. Son herramientas esenciales prácticamente en todos los campos
de investigación y en tecnología aplicada.
2. La máquina analítica
También en el siglo XIX el matemático e inventor británico Charles Babbage
elaboró los principios de la computadora digital moderna. Inventó una serie de
máquinas, como la máquina diferencial, diseñadas para solucionar problemas
matemáticos complejos.
Muchos historiadores consideran a Babbage y a su socia, la matemática
británica Augusta Ada Byron (1815–1852), hija del poeta inglés Lord Byron,
como a los verdaderos inventores de la computadora digital moderna.
La tecnología de aquella época no era capaz de trasladar a la práctica sus
acertados conceptos; pero una de sus invenciones, la máquina analítica, ya
tenía muchas de las características de un ordenador moderno.
Incluía una corriente, o flujo de entrada en forma de paquete de tarjetas
perforadas, una memoria para guardar los datos, un procesador para las
operaciones matemáticas y una impresora para hacer permanente el registro.
Considerada por muchos como predecesora directa de los modernos
dispositivos de cálculo, la máquina diferencial era capaz de calcular tablas
matemáticas. Este corte transversal muestra una pequeña parte de la ingeniosa
máquina diseñada por el matemático británico Charles Babbage en la década de
1820. La máquina analítica, ideada también por Babbage, habría sido una
auténtica computadora programable si hubiera contado con la financiación
adecuada. Las circunstancias quisieron que ninguna de las máquinas pudieran
construirse durante su vida, aunque esta posibilidad estaba dentro de la
capacidad tecnológica de la época. En 1991, un equipo del Museo de las
Ciencias de Londres consiguió construir una máquina diferencial Nº 2 totalmente
operativa, siguiendo los dibujos y especificaciones de Babbage.
3. Los primeros ordenadores
Los ordenadores analógicos comenzaron a construirse a principios del siglo XX.
Los primeros modelos realizaban los cálculos mediante ejes y engranajes
giratorios. Con estas máquinas se evaluaban las aproximaciones numéricas de
ecuaciones demasiado difíciles como para poder ser resueltas mediante otros
métodos. Durante las dos guerras mundiales se utilizaron sistemas informáticos
analógicos, primero mecánicos y más tarde eléctricos, para predecir la
trayectoria de los torpedos en los submarinos y para el manejo a distancia de las
bombas en la aviación.
4. Ordenadores electrónicos
Durante la II Guerra Mundial (1939–1945), un equipo de científicos y
matemáticos que trabajaban en Bletchley Park, al norte de Londres, crearon lo
que se consideró el primer ordenador digital totalmente electrónico: el Colossus.
Hacia diciembre de 1943 el Colossus, que incorporaba 1.500 válvulas o tubos de
vacío, era ya operativo. Fue utilizado por el equipo dirigido por Alan Turing para
descodificar los mensajes de radio cifrados de los alemanes. En 1939 y con
independencia de este proyecto, John Atanasoff y Clifford Berry ya habían
construido un prototipo de máquina electrónica en el Iowa State College (EEUU).
Este prototipo y las investigaciones posteriores se realizaron en el anonimato, y
más tarde quedaron eclipsadas por el desarrollo del Calculador e integrador
numérico electrónico (en inglés ENIAC, Electronic Numerical Integrator and
Computer) en 1945. El ENIAC, que según se demostró se basaba en gran
medida en el ordenador Atanasoff-Berry (en inglés ABC, Atanasoff-Berry
Computer), obtuvo una patente que caducó en 1973, varias décadas más tarde.
La primera computadora electrónica comercial, la UNIVAC I, fue también la
primera capaz de procesar información numérica y textual. Diseñada por J.
Presper Eckeret y John Mauchly, cuya empresa se integró posteriormente en
Remington Rand, la máquina marcó el inicio de la era informática. En la
ilustración vemos una UNIVAC. La computadora central está al fondo, y en
primer plano puede verse al panel de control de supervisión. Remington Rand
entregó su primera UNIVAC a la Oficina del Censo de Estados Unidos en 1951.
5. El eniac
El ENIAC contenía 18.000 válvulas de vacío y tenía una velocidad de varios
cientos de multiplicaciones por minuto, pero su programa estaba conectado al
procesador y debía ser modificado manualmente. Se construyó un sucesor del
ENIAC con un almacenamiento de programa que estaba basado en los
conceptos del matemático húngaro-estadounidense John von Neumann. Las
instrucciones se almacenaban dentro de una llamada memoria, lo que liberaba
al ordenador de las limitaciones de velocidad del lector de cinta de papel durante
la ejecución y permitía resolver problemas sin necesidad de volver a conectarse
al ordenador.
A finales de la década de 1950 el uso del transistor en los ordenadores marcó el
advenimiento de elementos lógicos más pequeños, rápidos y versátiles de lo que
permitían las máquinas con válvulas. Como los transistores utilizan mucha
menos energía y tienen una vida útil más prolongada, a su desarrollo se debió el
nacimiento de máquinas más perfeccionadas, que fueron llamadas ordenadores
o computadoras de segunda generación. Los componentes se hicieron más
pequeños, así como los espacios entre ellos, por lo que la fabricación del
sistema resultaba más barata.
6. Circuitos integrados
A finales de la década de 1960 apareció el circuito integrado (CI), que posibilitó
la fabricación de varios transistores en un único sustrato de silicio en el que los
cables de interconexión iban soldados. El circuito integrado permitió una
posterior reducción del precio, el tamaño y los porcentajes de error. El
microprocesador se convirtió en una realidad a mediados de la década de 1970,
con la introducción del circuito de integración a gran escala (LSI, acrónimo de
Large Scale Integrated) y, más tarde, con el circuito de integración a mayor
escala (VLSI, acrónimo de Very Large Scale Integrated), con varios miles de
transistores interconectados soldados sobre un único sustrato de silicio.
Los circuitos integrados han hecho posible la fabricación del microordenador o
microcomputadora. Sin ellos, los circuitos individuales y sus componentes
ocuparían demasiado espacio como para poder conseguir un diseño compacto.
También llamado chip, un circuito integrado típico consta de varios elementos
como reóstatos, condensadores y transistores integrados en una única pieza de
silicio. En los más pequeños, los elementos del circuito pueden tener un tamaño
de apenas unos centenares de átomos, lo que ha permitido crear sofisticadas
computadoras del tamaño de un cuaderno. Una placa de circuitos de una
computadora típica incluye numerosos circuitos integrados interconectados entre
sí.
7. Evolución cronológica de la computadora
La necesidad del hombre de encontrar métodos rápidos y efectivos para resolver
sus cálculos y su gran inventiva lo llevaron a través de los siglos al desarrollo de
lo que hoy conocemos como la computadora. Desde el ábaco hasta las
computadoras personales éstas han tenido una gran influencia en diferentes
aspectos de nuestro diario vivir, mejorando nuestra calidad de vida y abriendo
puertas que antes eran desconocidas para la humanidad.
500 AC: Ábaco
El primer calculador de tipo mecánico fue ideado en Babilonia alrededor de 500
A.C. Este dispositivo mecánico llamado ábaco consistía de un sistema de barras
y poleas con lo cual se podían efectuar diferentes tipos de cálculos aritméticos.
1622: Oughtred presenta la regla de cálculo
Hacia 1622, el matemático inglés William Oughtred utilizó los recién inventados
logaritmos para fabricar un dispositivo que simplificaba la multiplicación y la
división. Consistía en dos reglas graduadas unidas que se deslizaban una sobre
otra.
1642: Primera máquina de sumar
El matemático y filósofo francés Blaise Pascal tenía diecinueve años cuando
construyó la primera máquina sumadora del mundo en 1642. Utilizaba un
engranaje de ruedas dentadas como contadores. El dispositivo llevaba 1
automáticamente al llegar a las decenas y también podía emplearse para restar.
1834: Primera computadora digital programable
En 1834 el científico e inventor inglés Charles Babbage realizó los esquemas de
un dispositivo el cual llamó máquina analítica lo que en realidad era una
computadora de propósitos generales. Esta máquina era programada por una
serie de tarjetas perforadas que contenían datos o instrucciones las cuales
pasaban a través de un dispositivo de lectura, eran almacenados en una
memoria y los resultados eran reproducidos por unos moldes. Esta máquina
superaba por mucho la tecnología de su tiempo y nunca se terminó.
1850: Primera sumadora de teclado
El teclado apareció en una máquina inventada en Estados Unidos en 1850.
Podían sumarse una secuencia de dígitos pulsando unas teclas sucesivas. Cada
tecla alzaba un eje vertical a cierta altura y la suma quedaba indicada por la
altura total.
8. Generaciones Del Computador
9. A.C. (Antes De Ordenadores)
o Dotación física
+ Mecánico
o Software lógica
+ Tarjetas o cinta de papel perforadas
+ Ada Lovelace - primer programador (c. 1840)
+ Máquina de Turing y Church-Turing Thesis (1937)
o Máquinas Especiales
+ Ábaco
+ Pascaline - Primera Máquina calculadora Automática (1642)
+ Telar De Telar jacquar (1805)
+ Motores De Babbage
# Motor De Diferencia (1822)
# Motor Analítico (1832)
+ Hollerith
# Máquina De Tabulación (Censo 1890 De los E.E.U.U.)
# La máquina de tabulación de las formas Co. (1896) - se convierte
la IBM en 1924
+ Máquina sumadora De Burroughs (1888)
10. Primera generación: C. 1940 – 1955
o Dotación física
+ Tubos de vacío
+ Tambores magnéticos
+ Cinta magnética (cerca del extremo de la generación)
o Software lógica
+ Programas en terminología de la informática
+ Programas en lenguaje ensamblador (cerca del extremo de la
generación)
+ 1946 - von Neumann publica el documento sobre el ordenador
salvado del programa
+ 1950 - Prueba de Turing publicada
o Máquinas Especiales
+ 1940 - ABC (1r ordenador electrónico)
+ 1940 - Robinson (1r ordenador, código operacionales de Enigma de
las grietas)
+ 1946 - Calculadora numérica de ENIAC (1r completamente
electrónico, de uso general)
+ 1950 - UNIVAC I (1r ordenador comercialmente acertado)
11. Segunda generación: C. 1955 – 1964
o Dotación física
+ Transistores
# 1947 - Convertido
# 1955 - Calculadora Del Transistor De IBM’s
+ Minicomputadoras
+ Discos magnéticos
+ Tarjetas de circuito impresas
o Software lógica
+ Lenguajes de alto nivel
# 1956 - FORTRAN
# 1959 - COBOL
o Máquinas Especiales
+ 1963 — PDP 8 (1ra minicomputadora)
12. Tercera generación: C. 1964 – 1971
o Dotación física
+ Circuitos integrados (c. desarrollada 1958)
+ Familias de los ordenadores (1964 - IBM 360)
+ 1970 - Diskette
o Software lógica
+ Los programas entraron directamente en los ordenadores
+ Lenguajes de un nivel más alto (1965 - BASIC)
+ Sistemas operativos
+ Timesharing
o Máquinas Especiales
+ 1964 — Serie del sistema 360 de la IBM (1ra familia de
ordenadores)
13. Cuarta generación: C. 1971 – PRESENTE
o Dotación física
+ 1971 - Viruta del microprocesador introducida en los E.E.U.U. por
Intel
+ Microordenadores (Ordenadores Personales)
+ Integración De la Escala Grande (LSI)
+ Integración De la Escala Muy Grande (Vlsi)
o Software lógica
+ Programación estructurada
+ Conjuntos de aplicación
+ Sistemas del windowing (interfaces utilizador gráficos — GUIs)
+ Programas conviviales
o Máquinas Especiales
+ 1971 - (1ra calculadora de bolsillo)
+ 1975 — Altaír 8800 (1ra PC)
+ 1977 — Manzana I (hágala usted mismo kit)
+ 1978 — Manzana II (premontada)
+ 1981 — PC DE LA IBM
+ 1984 — Impermeable
14. Tendencias generales
o Dotación física
+ Más pequeño
+ Más rápidamente
+ Más barato
+ Más disponible
o Software lógica
+ Más grande (más exige en la dotación física: CPU, memoria, espacio
de disco, etc.)
+ Más fácil utilizar
+ Mejore El Diseño
+ Más barato
+ Más disponible
15. Ordenadores analógicos
El ordenador analógico es un dispositivo electrónico o hidráulico diseñado para
manipular la entrada de datos en términos de, por ejemplo, niveles de tensión o
presiones hidráulicas, en lugar de hacerlo como datos numéricos. El dispositivo
de cálculo analógico más sencillo es la regla de cálculo, que utiliza longitudes de
escalas especialmente calibradas para facilitar la multiplicación, la división y
otras funciones. En el típico ordenador analógico electrónico, las entradas se
convierten en tensiones que pueden sumarse o multiplicarse empleando
elementos de circuito de diseño especial. Las respuestas se generan
continuamente para su visualización o para su conversión en otra forma
deseada.
16. Ordenadores digitales
Todo lo que hace un ordenador digital se basa en una operación: la capacidad
de determinar si un conmutador, o ‘puerta’, está abierto o cerrado. Es decir, el
ordenador puede reconocer sólo dos estados en cualquiera de sus circuitos
microscópicos: abierto o cerrado, alta o baja tensión o, en el caso de números, 0
o 1. Sin embargo, es la velocidad con la cual el ordenador realiza este acto tan
sencillo lo que lo convierte en una maravilla de la tecnología moderna. Las
velocidades del ordenador se miden en megahercios, o millones de ciclos por
segundo. Un ordenador con una velocidad de reloj de 100 MHz, velocidad
bastante representativa de un microordenador o microcomputadora, es capaz de
ejecutar 100 millones de operaciones discretas por segundo. Las
microcomputadoras de las compañías pueden ejecutar entre 150 y 200 millones
de operaciones por segundo, mientras que las supercomputadoras utilizadas en
aplicaciones de investigación y de defensa alcanzan velocidades de miles de
millones de ciclos por segundo.
La velocidad y la potencia de cálculo de los ordenadores digitales se
incrementan aún más por la cantidad de datos manipulados durante cada ciclo.
Si un ordenador verifica sólo un conmutador cada vez, dicho conmutador puede
representar solamente dos comandos o números. Así, ON simbolizaría una
operación o un número, mientras que OFF simbolizará otra u otro. Sin embargo,
al verificar grupos de conmutadores enlazados como una sola unidad, el
ordenador aumenta el número de operaciones que puede reconocer en cada
ciclo. Por ejemplo, un ordenador que verifica dos conmutadores cada vez, puede
representar cuatro números (del 0 al 3), o bien ejecutar en cada ciclo una de las
cuatro operaciones, una para cada uno de los siguientes modelos de
conmutador: OFF-OFF (0), OFF-ON (1), ON-OFF (2) u ON-ON (3). En general,
los ordenadores de la década de 1970 eran capaces de verificar 8 conmutadores
simultáneamente; es decir, podían verificar ocho dígitos binarios, de ahí el
término bit de datos en cada ciclo.
Un grupo de ocho bits se denomina byte y cada uno contiene 256
configuraciones posibles de ON y OFF (o 1 y 0). Cada configuración equivale a
una instrucción, a una parte de una instrucción o a un determinado tipo de dato;
estos últimos pueden ser un número, un carácter o un símbolo gráfico. Por
ejemplo, la configuración 11010010 puede representar datos binarios, en este
caso el número decimal 210 , o bien estar indicando al ordenador que compare
los datos almacenados en estos conmutadores con los datos almacenados en
determinada ubicación del chip de memoria. El desarrollo de procesadores
capaces de manejar simultáneamente 16, 32 y 64 bits de datos ha permitido
incrementar la velocidad de los ordenadores. La colección completa de
configuraciones reconocibles, es decir, la lista total de operaciones que una
computadora es capaz de procesar, se denomina conjunto, o repertorio, de
instrucciones. Ambos factores, el número de bits simultáneos y el tamaño de los
conjuntos de instrucciones, continúa incrementándose a medida que avanza el
desarrollo de los ordenadores digitales modernos.
17. Evolución futura
Una tendencia constante en el desarrollo de los ordenadores es la
microminiaturización, iniciativa que tiende a comprimir más elementos de
circuitos en un espacio de chip cada vez más pequeño. Además, los
investigadores intentan agilizar el funcionamiento de los circuitos mediante el
uso de la superconductividad, un fenómeno de disminución de la resistencia
eléctrica que se observa cuando se enfrían los objetos a temperaturas muy
bajas.
Las redes informáticas se han vuelto cada vez más importantes en el desarrollo
de la tecnología de computadoras. Las redes son grupos de computadoras
interconectados mediante sistemas de comunicación. La red pública Internet es
un ejemplo de red informática planetaria. Las redes permiten que las
computadoras conectadas intercambien rápidamente información y, en algunos
casos, compartan una carga de trabajo, con lo que muchas computadoras
pueden cooperar en la realización de una tarea. Se están desarrollando nuevas
tecnologías de equipo físico y soporte lógico que acelerarán los dos procesos
mencionados.
Otra tendencia en el desarrollo de computadoras es el esfuerzo para crear
computadoras de quinta generación, capaces de resolver problemas complejos
en formas que pudieran llegar a considerarse creativas. Una vía que se está
explorando activamente es el ordenador de proceso paralelo, que emplea
muchos chips para realizar varias tareas diferentes al mismo tiempo. El proceso
paralelo podría llegar a reproducir hasta cierto punto las complejas funciones de
realimentación, aproximación y evaluación que caracterizan al pensamiento
humano. Otra forma de proceso paralelo que se está investigando es el uso de
computadoras moleculares. En estas computadoras, los símbolos lógicos se
expresan por unidades químicas de ADN en vez de por el flujo de electrones
habitual en las computadoras corrientes.
1.2 Modelo de Von Neuman
John Von Newman observo que la torpeza de la aritmética decimal utilizadas en
la computadora ENIAC podia remplazarse utilizando la aritmatica binaria.
Realizo un diseño básico llamado la máquina de Von Newman y se utilizo en la
computadora EDVAC que fue la primer computadora que almacenaba el
programa.
La máquina de Von Newman tenia 5 partes principales y son las siguientes:
LA MEMORIA: Constaba de 4096 palabras cada una de 40 bits.Y cada palabra
podia contener 2 instrucciones de 20 bits cada una o un número entero de 39
bits y su signo.
UNIDAD DE CONTROL:Es la que supervisaba la transferencia de información y
la indicaba a la unidad aritmetica lógica cual operación debia ejecutar.
UNIDAD DE ARITMATICA LÓGICA: Es aquella que se encarga de realizar las
operaciones aritméticas y lógicas necesarias para la ejecución de una
instrucción.
ENTRADA:Es cualquier dispositivopor el que se introduce información a la
computadora.
SALIDA:Es cualquier dispositivo que recibe información de la máquina para ser
utilizadas por el usuario.
Centrándonos en los ordenadores sobre los que vamos a trabajar desarrollaré
a grandes rasgos la arquitectura Von Newman que, si bien no es la primera en
aparecer, sí que lo hizo prácticamente desde el comienzo de los ordenadores y
se sigue desarrollando actualmente. Claro es que está siendo desplazada por
otra que permiten una mayor velocidad de proceso, la RISC.
En los primeros tiempos de los ordenadores, con sistemas de numeración
decimal, una electrónica sumamente complicada muy susceptible a fallos y un
sistema de programación cableado o mediante fichas, Von Newman propuso
dos conceptos básicos que revolucionarían la incipiente informática:
a) La utilización del sistema de numeración binario. Simplificaba
enormemente los problemas que la implementación electrónica de las
operaciones y funciones lógicas planteaban, a la vez proporcionaba una mayor
inmunidad a los fallos (electrónica digital).
b) Almacenamiento de la secuencia de instrucciones de que consta el
programa en una memoria interna, fácilmente accesible, junto con los datos que
referencia. De este forma la velocidad de proceso experimenta un considerable
incremento; recordemos que anteriormente una instrucción o un dato estaban
codificados en una ficha en el mejor de los casos.
Tomando como modelo las máquinas que aparecieron incorporando las
anteriores características, el ordenador se puede considerar compuesto por las
siguientes partes:
- La Unidad Central de Proceso, U.C.P., más conocida por sus siglas en
inglés (CPU).
- La Memoria Interna, MI.
- Unidad de Entrada y Salida, E/S.
- Memoria masiva Externa, ME.
Realicemos a continuación una descripción de lo que se entiende por cada
una de estas partes y cómo están relacionadas entre si:
- La Unidad Central de Proceso (CPU) viene a ser el cerebro del ordenador y
tiene por misión efectuar las operaciones aritmético-lógicas y controlar las
transferencias de información a realizar.
- La Memoria Interna (MI) contiene el conjunto de instrucciones que ejecuta la
CPU en el transcurso de un programa. Es también donde se almacenan
temporalmente las variables del mismo, todos los datos que se precisan y todos
los resultados que devuelve.
- Unidades de entrada y salida (E/S) o Input/Output (I/O): son las encargadas
de la comunicación de la máquina con el exterior, proporcionando al operador
una forma de introducir al ordenador tanto los programas como los datos y
obtener los resultados.
Como es de suponer, estas tres partes principales de que consta el
ordenador deben estar íntimamente conectadas; aparece en este momento el
concepto de bus: el bus es un conjunto de líneas que enlazan los distintos
componentes del ordenador, por ellas se realiza la transferencia de datos entre
todos sus elementos.
Se distinguen tres tipos de bus:
- De control: forman parte de él las líneas que seleccionan desde dónde y
hacia dónde va dirigida la información, también las que marcan la secuencia de
los pasos a seguir para dicha transferencia.
- De datos: por él, de forma bidireccional, fluyen los datos entre las distintas
partes del ordenador.
- De direcciones: como vimos, la memoria está dividida en pequeñas
unidades de almacenamiento que contienen las instrucciones del programa y los
datos. El bus de direcciones consta de un conjunto de líneas que permite
seleccionar de qué posición de la memoria se quiere leer su contenido. También
direcciona los puertos de E/S.
La forma de operar del ordenador en su conjunto es direccionar una posición
de la memoria en busca de una instrucción mediante el bus de direcciones,
llevar la instrucción a la unidad central de proceso -CPU- por medio del bus de
datos, marcando la secuencia de la transferencia el bus de control. En la CPU la
instrucción se decodifica, interpretando qué operandos necesita: si son de
memoria, es necesario llevarles a la CPU; una vez que la operación es
realizada, si es preciso se devuelve el resultado a la memoria.
1.3 Clasificacion de las Computadoras
Las computadoras se clasifican :
A)DE ACUERDO A SU FORMA DE OPERACION
B)DE ACUERDO CON EL PROPOSITO PARA EL QUE SON CONSTRUIDAS
c)DEACUERDO CON SU POTENCIA Y PRECIO
DE ACUERDO A SU FORMA DE OPERACION:
Estas a su vez se clasifican en Analogicas que son las que su informacion que
se alimenta a ellas proviene de alguna forma de medicion donde su exactitud
esta directamente relacionadala presicion de su medicion,Tambien existen las
Digitales que son dispositivos de calculo que procesan datos discretos o digitos
representados por numeros letras u otros simbolos especiales resuelve los
problemas mediante operaciones aritmeticas ,lógicas y relacionales;y por ultimo
estan las hibridas que combinan las caracteristicas mas favorables de las 2
anteriores tienen la velocidad de las Analogicas y la precision de las digitales.
DE ACUERDO CON EL PROPOSITO PARA EL QUE SON CONSTRUIDAS:
Las hay de Proposito Especial que se diseñan para manejar problemas
específicos y no se aplican a otras actividades computarizadas y tambien las hay
de Proposito General que son diseñadas para resolver problemas diversos que
se presentan frecuentemente en cualquier organización.
DE ACUERDO CON SU POTENCIA Y PRECIO:
Se clasifican en Supercomputadora que utilizan sistemas de refrigeracion para
dispersar el calor generado por la maquina,Macrocomputadora su informacion
esta organizada en una o mas base de datos enormes,Minicomputadora puede
manejar mas entradas y salidas de informacion que una computadora personal y
la Microcomputadora que estan diseñadas para ser utilizadas por un solo
usuario a la vez pueden costar desde 100dlls. hasta 7500.
CLASIFICACION DE LAS COMPUTADORAS.
Las computadoras se clasifican : A)DEACUERDO A SU FORMA DE
OPERACION B)DEACUERDO CON EL PROPOSITO PARA EL QUE SON
CONSTRUIDAS c)DEACUERDO CON SU POTENCIA Y PRECIO
DEACUERDO A SU FORMA DE OPERACION:
Estas a su vez se clasifican en Analogicas que son las que su informacion que
se alimenta a ellas proviene de alguna forma de medicion donde su exactitud
esta directamente relacionadala presicion de su medicion,Tambien existen las
Digitales que son dispositivos de calculo que procesan datos discretos o digitos
representados por numeros letras u otros simbolos especiales resuelve los
problemas mediante operaciones aritmeticas ,lógicas y relacionales;y por ultimo
estan las hibridas que combinan las caracteristicas mas favorables de las 2
anteriores tienen la velocidad de las Analogicas y la precision de las digitales.
DEACUERDO CON EL PROPOSITO PARA EL QUE SON CONSTRUIDAS:Las
hay de Proposito Especial que se diseñan para manejar problemas específicos y
no se aplican a otras actividades computarizadas y tambien las hay de Proposito
General que son diseñadas para resolver problemas diversos que se presentan
frecuentemente en cualquier organización.
DEACUERDO CON SU POTENCIA Y PRECIO:Se clasifican en
Supercomputadora que utilizan sistemas de refrigeracion para dispersar el calor
generado por la maquina,Macrocomputadora su informacion esta organizada en
una o mas base de datos enormes,Minicomputadora puede manejar mas
entradas y salidas de informacion que una computadora personal y la
Microcomputadora que estan diseñadas para ser utilizadas por un solo usuario a
la vez pueden costar desde 100dlls. hasta 7500.
El procesador El procesador es el cerebro del ordenador. Controla el
funcionamiento de la computadora y lleva a cabo las funciones de
procesamiento de datos. La velocidad del microprocesador se mide en Mega
Hertz, aunque solo es la fuerza bruta del procesador. Este va montado sobre un
socket de la mother board, existe otra velocidad, la FBS, que es la velocidad con
la que se comunican el procesador y la mother board. Partes De Un
Microprocesador 1. - Encapsulado: rodea el chip, sirve para protegerlo contra los
agentes externos y para montar los conectores externos para montarlo en la
mother board. 2. - La memoria caché: memoria muy rápida donde el procesador
almacena los datos que está usando o los que va a usar próximamente. 3. -
FPU, floating point unit: parte especializada en cálculos de punto flotante. 4. -
Existen otras piezas que no es necesario mencionar por el momento. Por su
estructura Por su fuente de energía. La forma más común de alimentación de
una computadora pues es la energía eléctrica, antes las computadoras gastaban
muchísima electricidad, hoy en día gracias a las nuevas tecnologías en los
componentes se ahorra mucha electricidad. Entre esta clase de computadoras
están las analógicas y las digitales. Las computadoras analógicas basan su
funcionamiento en comparar parámetros y hacer mediciones, analogía quiere
decir comparación. Sus cálculos los hacen con base a comparaciones que
realizan por medio de instrumentos mecánicos. Las computadoras digitales
realizan todas sus operaciones basándose en cálculos matemáticos
exclusivamente. Se basan en el sistema binario y en las matemáticas discretas,
de estado finito, a diferencia de las analógicas que siguen unas matemáticas
continuas. En el siglo XIX Charles Babbage desarrolló una computadora
analógica que funcionaba a base de engranes, Claro está que su propulsión era
puramente mecánica, fue ayudado por Ada Lovelace, a quien se le atribuye el
haber escrito el primer algoritmo de computación. La idea de la máquina de
Babbage era buena, pero nunca funcionó bien debido a que la precisión que
requerían las piezas sobrepasaba la tecnología de aquel tiempo. Por su tamaño.
La característica es su tamaño, refiriéndose a su capacidad de cómputo.
Macrocomputadora: máquina utilizada en grandes organizaciones, es capaz de
comunicarse con varios usuarios a la vez. El trabajar con varios usuarios a la
vez se logra debido a la gran capacidad de esta clase de máquina y a un método
que se llama tiempo compartido. El tiempo compartido se basa en que el
procesador tiene tiempos muertos, entonces para evitar esto se asignan
pequeños espacios de tiempo a cada usuario en los cuales se realizan parte de
las operaciones que solicita el usuario, dado el corto espacio de tiempo entre las
interrupciones de un usuario a otro no se siente ninguna clase de retraso o de
tiempo de espera. Además también se debe a la gran rapidez del sistema.
Minicomputadora: también es una máquina multiusuario, pero no es tan grande
como una macrocomputadora. Estación de trabajo: esta es más potente que una
microcomputadora, también tiene potencia para ser multiusuario, pero es mas
frecuentemente utilizada por ingenieros o científicos que requieran una gran
cantidad de cálculos. Entre la comunidad de desarrolladores de software una
estación de trabajo es muy útil, porque además de hacer el trabajo en red mas
dinámico se requiere de bastante potencia para compilar programas de gran
tamaño. Aunque se puede decir que una estación de trabajo es solo una PC
pero más potente. Microcomputadora: es una PC, son utilizadas para trabajos de
oficina o para entretenimiento multimedia. Las hay de escritorio o portátiles. 2.
Arquitectura de su procesador Procesadores CISC y RISC. Agrupados en dos
familias, la más antigua es la CISC, complex instruction set computer.
Corresponde a procesadores capaces de ejecutar un gran número de
instrucciones pre-definidas en lenguaje máquina, en un orden de centenas. Los
procesadores RISC, reduced instruction set computer. Permite una ejecución
más rápida, pero requiere de compiladores más complejos ya que el RISC
admite menos instrucciones que un CISC. RISC Las características comunes a
todos los procesadores RISC, fuente de sus capacidades de altas prestaciones,
son: 1.Modelo de conjunto de instrucciones Load/Store (Cargar/Almacenar).
Sólo las instrucciones Load/Store acceden a memoria; las demás operaciones
en un RISC, tienen lugar en su gran conjunto de registros. Ello simplifica el
direccionamiento y acorta los tiempos de los ciclos de la CPU, y además facilita
la gestión de los fallos de paginas (page faults) en entornos de memoria virtual.
Además, permite un elevado nivel de concurrencia a consecuencia de la
independencia de las operaciones de Load/Store de la ejecución del resto de las
instrucciones. 2.Arquitectura no destructiva de tres direcciones. Los
procesadores CISC destruyen la información que existe en alguno de los
registros, como consecuencia de la ejecución normal de instrucciones; esto es
debido a su arquitectura de dos direcciones, por la cual el resultado de una
operación sobrescribe uno de los registros que contenía a los operandos. Por
contra, las instrucciones RISC, con tres direcciones, contienen los campos de
los dos operándoos y de su resultado. Por lo tanto, tanto los operandos origen
como el destino, son mantenidos en los registros tras haber sido completada la
operación. Esta arquitectura “no destructiva” permite a los compiladores
organizar las instrucciones de modo que mantengan llenos los conductos
(pipelines) del chip, y por tanto reutilizar los operandos optimizando la
concurrencia. 3.Instrucciones simples, de formato fijo, con pocos modos de
direccionamiento. Las instrucciones simples reducen de manera muy
significativa el esfuerzo para su descodificación, y favorecen su ejecución en
pipelines. Las instrucciones de longitud fija, con formatos fijos, implican que los
campos de códigos de operación (opcodes) y de los operandos están siempre
codificados en las mismas posiciones, permitiendo el acceso a los registros al
mismo tiempo que se está descodificando el código de operación. Todas las
instrucciones tienen una longitud equivalente a una palabra y están alineadas en
la memoria en límites de palabra (word boundaries), ya que no pueden ser
repartidas en pedazos que puedan estar en diferentes páginas. 4.Ausencia de
microcódigo. El microcódigo no se presta a la ejecución en ciclos únicos, ya que
requiere que el hardware sea dedicado a su interpretación dinámica. La
programación en microcódigo no hace que el software sea más rápido que el
programado con un conjunto de instrucciones simples. Todas las funciones y el
control, en los procesadores RISC, están “cableados” (hardwired), para lograr
una máxima velocidad y eficiencia. 5.Ejecución en conductos (pipelined). Las
instrucciones simples, de formato fijo y ciclo único permiten que las diferentes
etapas de los ciclos de ejecución (búsqueda o fetch, descodificación, ejecución,
y escritura del resultado o result write-back) para instrucciones múltiples, se
puedan realizar simultáneamente, de un modo más simple y eficaz. 6.Ejecución
en ciclos únicos (single-cycle). El resultado directo de los conjuntos de
instrucciones que ofrecen los procesadores RISC, es que cada instrucción
puede ser ejecutada en un único ciclo de la CPU. Esto invalida la creencia de
que las microinstrucciones en microcódigo, creadas para ser ejecutadas en un
solo ciclo de procesador, son más rápidas que las instrucciones del lenguaje
ensamblador. Ya que el caché esta construido partiendo de la misma tecnología
que el almacenamiento de control del microprograma, una única instrucción
puede ser ejecutada a la misma velocidad que una microinstrucción. La
ejecución en ciclos únicos también simplifica la gestión de las interrupciones y
los conductos (pipelines). RISC frente a CISC: Existen varios mitos que
contraponen las ventajas de la tecnología RISC frente a la CISC, que es
importante descalificar: a. Los procesadores RISC ofrecen peor soporte para los
lenguajes de alto nivel o HLL (High Level Language) que lo CISC. Esta creencia
se argumenta en que un conjunto de instrucciones de “alto nivel” (CISC) es
mejor soporte para lenguajes de alto nivel. Sin embargo, la característica
fundamental de los lenguajes de alto nivel, implica que el programador sólo
interacciona con el ordenador a través del propio lenguaje de alto nivel
(programación, depuración, mensajes del sistema, etc.), por lo que todos los
problemas a “bajo nivel”, deben de ser transparentes y desconocidos para él.
Por ello, son de nulas consecuencias para el programador y los lenguajes de
alto nivel, como se implementan las funciones, en función del tipo de CPU. b. Es
más complicado escribir compiladores RISC que CISC. Dado que los
procesadores CISC tienen un mayor número de instrucciones y modos de
direccionamiento, existen por tanto más formas de hacer la misma tarea, lo que
puede confundir tanto al compilador como al que lo escribe. Por ello,
subjetivamente es posible escoger una forma de hacerlo poco adecuada, por el
tipo de instrucciones o por el tiempo de ejecución que requieren. En cambio, en
un procesador RISC, hay menos opciones, por lo que el compilador es más
simple, aunque se genere, habitualmente, un 20–30% más código; a cambio, se
consigue un incremento de la velocidad de hasta un 500%. c. Un programa es
más rápido cuanto más pequeño. La velocidad a la que un programa puede ser
ejecutado no depende en absoluto de su tamaño, sino del tiempo de ejecución
de cada una de sus instrucciones. Dado que las instrucciones RISC son más
rápidas, y admiten mejor los pipelines, puede haber mayor paralelismo y
simultaneidad en la ejecución de pequeñas secciones de código. Dichas
secciones de código pueden ser ejecutadas en una fracción del tiempo que
requiere una sola instrucción CISC. Resumiendo: No es un hecho meramente
académico, sino puramente comercial y económico. La “era RISC” ha alcanzado
a todos los fabricantes de semiconductores: AMD, Intel, MIPS, Motorola, ROSS,
…; y todos ellos son productos usados por fabricantes de ordenadores y
estaciones de trabajo: Apple, DEC, HP, IBM, SUN, etc. y sus correspondientes
clónicos. El tiempo de diseño de estos productos se reduce sensiblemente, lo
que disminuye su coste final, y por tanto, se incrementan sus expectativas, al
poder llegar al mercado en un tiempo más adecuado, y con menos posibilidades
de errores. Además, son globalmente más eficaces, de menores dimensiones y
más bajo consumo, ofreciendo siempre claras ventajas técnicas frente a los más
avanzados CISC. Actualmente, las estaciones de trabajo RISC
multiprocesadoras de mayor éxito, se basan en diferentes versiones de la
tecnología SPARC: superSPARC e Hyper SPARC?. Esta claro que el futuro
pertenece a los RISC y a los sistemas multiprocesador, a no ser que la física y la
electrónica logren superar las barreras tecnológicas para incrementar muy por
encima de las cotas actuales, las velocidades y prestaciones de una única CPU.
También cabe esperar, y por que no, la pronta aparición de otras tecnologías
que compitan con CISC y RISC. Arquitectura Von Newman. En los primeros
tiempos de los ordenadores se utilizaba el sistema decimal, por lo tanto una
electrónica sumamente complicada y propensa a fallos. Además un sistema de
programación cableado o mediante fichas, Von Newman propuso dos conceptos
básicos que revolucionaron la informática. a) La utilización del sistema binario.
Esto simplificaba muchísimo la electrónica de las operaciones matemáticas y
lógicas, a la vez este sistema era más inmune a los fallos, esto es la electrónica
digital. b) Almacenamiento de la secuencia de instrucciones de que consta el
programa en una memoria interna, fácilmente accesible, lo cual reduce el tiempo
de espera. Multiprocesamiento Multiprocesadores débilmente acoplados.
Consiste en un conjunto de sistemas relativamente autónomos, donde cada
CPU tiene su propia memoria principal y sus canales E / S. Procesadores de uso
específico. Por ejemplo los procesadores de E / S, en este caso hay un
procesador maestro, y los procesadores de uso específico están controlados por
la CPU maestra. Multiprocesadores fuertemente acoplados. Conjunto de
procesadores que comparten la misma memoria principal. Procesadores
paralelos. Multiprocesadores fuertemente acoplados que pueden cooperar en la
ejecución en paralelo de una misma tarea. Procesador Unidad de control
Controla las operaciones que se deben realizar. Su operación obedece a las
instrucciones aportadas por el programa que se esté ejecutando, recoge las
instrucciones del programa directamente de la memoria central y administra las
operaciones de los demás componentes del procesador, ordenando y
guardando los datos en la memoria antes y después de haber sido tratados por
la unidad aritmética-lógica. Realiza dos tareas básicas: SECUENCIAMIENTO.
Hace que la CPU avance a través de las micro operaciones al tiempo debido.
EJECUCIÓN. Se encarga de que las operaciones sean ejecutadas. ENTRADAS.
Permiten determinar el estado del sistema. SALIDAS. Permiten controlar el
estado del sistema. Unidad de ejecución Es la que ejecuta las instrucciones y
realiza los cálculos a partir de las señales de control. Bus interno. Conecta todos
los componentes de la CPU al chipset y a la memoria principal. La velocidad de
este es muy importante, ya que si la velocidad del bus es muy poca, aumentará
el tiempo de espera del procesador, no obstante se tenga un procesador muy
bueno, claro, en todo debe haber un equilibrio, por ejemplo el procesador PI de
166 MHz trabaja sobre un bus de sistema de 66 MHz y el PIIII trabaja con un
bus de 400 MHz, aunque trabajaría mejor con un bus de 800, este bus no salió
por problemas con los fabricantes de tarjetas madre. Memoria caché Memoria
ultra rápida donde la CPU almacena los datos que va a usar o que está usando,
haciendo que el tiempo de respuesta no se ralentice debido a la menor velocidad
de la RAM. Esta memoria es sumamente rápida, unas 5 o 6 veces más rápida
que la memoria RAM, hablando de equilibrio se debe mantener este en todos los
aspectos, una caché muy pequeña puede hacer que el procesador se tarde
mucho en encontrar los datos que necesita al buscarlos en la memoria RAM, y
por el contrario una caché muy grande puede hacer que el procesador se tarde
más en encontrar los datos que busca. Pila y cola Pila. Colección de elementos
donde se pueden suprimir o insertar nuevos elementos por un lado. Cola.
Colección de elementos donde se pueden insertar elementos nuevos por un lado
llamado final y eliminarlos por un lado llamado frente. 3. Memoria En un sistema
los programas a ejecutarse deben ser almacenados en una memoria para que la
CPU pueda acceder a ellos y realizar operaciones con ellos, una computadora
sin memoria sería totalmente inservible. Memoria Principal Es la unidad de
almacenamiento central, es aquí donde se almacenan los datos y los programas
que la computadora está usando en ese momento, debe de ser suficientemente
grande para soportar al sistema. La mayoría de esta memoria es memoria RAM,
pero también está la memoria ROM, que contiene las instrucciones base de la
computadora, es la que reconoce los dispositivos que esta posee, así como el
conjunto de instrucciones para su funcionamiento. Memoria RAM Es una
memoria bastante rápida, de acceso aleatorio, es volátil, así que solo almacena
los datos temporalmente para ser usados mientras se ejecuta el programa en
curso. Memoria ROM Memoria de solo lectura, esta memoria no se puede
borrar, es programada por el proveedor de la computadora, esto de solo lectura
es relativo, ya que si se puede borrar o alterar, pero no es volátil como la
memoria RAM. EPROM. Esta memoria solo se puede borrar con rayos
ultravioleta, se puede usar para un propósito especial en hardware. EEPROM.
Es eléctricamente borrable y se puede programar mediante una interfase
especial conectada a una computadora. PROM. Esta puede ser programada una
sola vez por el usuario o por el fabricante. Memoria Secundaria En esta memoria
se almacenan los datos de manera permanente, para ser utilizados después.
Estos datos pueden ser manipulados por el usuario ya que es aquí donde se
guardan todos los archivos de este, incluyendo los programas que utiliza el
sistema para funcionar, entre otros programas del usuario. Disco duro. Unidad
fija de gran capacidad, hasta de 120 Giga Bytes, Almacena los datos de forma
permanente. Discos flexibles. Unidad extraíble de pequeña capacidad, hasta 1.6
Mega Bytes dependiendo del sistema de archivos, almacena los datos como
cargas magnéticas al igual que el disco duro. Puertos Definición: Un puerto es el
lugar donde el CPU se comunica con otros dispositivos, existen de varios tipos,
hay puertos de entrada, de salida y ambos. Además estos pueden ser seriales o
paralelos. Puertos de entrada: Estos puertos recogen datos de algún dispositivo
externo, externo se refiere a estar fuera del CPU, no del gabinete. Existen
muchos dispositivos periféricos que se conectan a un puerto de entrada, por
ejemplo tenemos al teclado y al mouse, también están los lápices ópticos, los
lectores de código se barras, etc. Puertos de salida: Son todos aquellos por
donde el CPU envía datos a otros dispositivos, por ejemplo están la salida de
video y de sonido. Puertos de entrada / salida: Estos son una clase de puertos
por donde el CPU puede enviar y recibir información. Son muy importantes, ya
que entre estos se encuentran las memorias del CPU como son la RAM, ROM,
los floppys y discos duros. Estos puertos pueden ser usados para controlar
dispositivos, tales como las impresoras y los quemadores externos, por ejemplo.
Nosotros vamos a hablar acerca de los puertos que se encuentran fuera del
gabinete, hablaremos de los puertos de teclado, mouse, impresoras, etc. La
computadora por si misma no seria capaz de realizar operaciones útiles para
nosotros si no podemos comunicarnos con ella, necesita dispositivos periféricos
por donde pueda darnos mensajes y nosotros podamos enviarle órdenes. Ahora
bien, existen infinidad de dispositivos que sirven de extensión a la computadora,
muchos son para fines muy específicos y no se pueden abarcar, entre los
dispositivos que son de uso común se encuentra la impresora, el teclado, el
mouse y el monitor. Puerto serial: El puerto serial es aquel que envía y recibe los
datos BIT por BIT, entre los puertos seriales se puede mencionar el puerto de
teclado, o el puerto del MODEM. Puerto paralelo: Este tipo de puerto transmite la
información byte por byte, o sea que transmite ocho bits al mismo tiempo, de
forma paralela. un puerto paralelo por excelencia pues es el puerto para
impresora Se puede observar que un puerto de entrada puede ser paralelo o
serial, lo mismo que un puerto de entrada o de entrada / salida. A cada puerto la
bios le asigna una dirección de memoria para que pueda trabajar, dependiendo
de que clase de puerto sea se le asigna un determinado espacio exclusivo para
él. Por medio de estas localidades de memoria el sistema puede enviarles o
recibir información, es una especie de memoria de intercambio para la
transmisión de dados de un lugar a otro. A esto se le llama espacio de
localidades de memoria y se realiza dentro del primer kilo bite de la memoria
principal. Existen otras asignaciones de memoria en otras capas superiores de
memoria pero estas son hechas por el sistema operativo y por los demás
programas, pero estas asignaciones son para fines específicos de los demás
programas. Los puertos no solo se limitan a recibir la información, o enviarla,
según sea el caso. El puerto provee la corriente eléctrica necesaria para el
funcionamiento del dispositivo y revisa el estado de este. 4. Efecto de tuberías
Las tuberías son el medio mediante dos procesos se comunica entre sí, son
unidireccionales, o sea que existe un proceso que genera la tubería y otro que
recibe la información. En UNIX la tubería se genera mediante una pipa o pipe en
inglés: Root@darkstar# ‹proceso 1> | <proceso 2› Esto genera una tubería del
proceso uno al proceso dos, pero, ¿qué es esto? Esto significa que la salida del
proceso uno servirá de entrada al proceso dos. Lógica Predictiva Aquí el
procesador puede decidir el curso que seguirán los procesos a ejecutar, lo cual
permite adelantarse al “curso natural de los sucesos” y “adelantarse” a las
siguientes instrucciones. Así es que el procesador predice en cada bifurcación si
el proceso tomará o no la bifurcación y por lo tanto las búsquedas y ejecuciones
de las instrucciones subsecuentes. Si la predicción es correcta la ejecución
seguirá sin interrupción. En cambio si es incorrecta cualquier instrucción
ejecutada después de la bifurcación será cancelada y el procesador retorna al
estado en que estaba antes de tomar dicha bifurcación y continua con el camino
correcto. Segmentación La segmentación permite al programador considerar la
memoria como un conjunto de bloques o segmentos, pueden ser de tamaño
desigual. La segmentación simplifica el manejo de estructuras de datos
dinámicas, asignando un segmento del tamaño adecuado para la estructura y
agregando o reduciendo el espacio según se vaya requiriendo espacio en la
memoria. Permite alterar y recompilar los programas de forma independiente sin
tener que volver a ligar y cargar el conjunto entero de programas. Además como
se conoce el espacio del segmento se pueden tener restricciones o privilegios al
acceder a este espacio de memoria. Computadoras Matriciales Procesadores
vectoriales. Existe un problema que está fuera del alcance de las computadoras
convencionales, es cuando se requiere una gran cantidad de cálculos que a una
computadora convencional le tomaría días resolver. Para este fin se
desarrollaron las supercomputadoras con capacidades especiales para resolver
problemas tales como simulaciones aerodinámicas y espaciales y sistemas
expertos. Supercomputadoras Sistema con capacidades procesamiento paralelo
y de gran potencia. Capaces de realizar cientos de millones de operaciones en
coma flotante por segundo, diseñadas para la multiprogramación y las entradas
y saldas intensivas. Hay otro tipo de sistemas conocidos como procesadores
matriciales, que han sido diseñados para realizar cálculos vectoriales, están
configurados como dispositivos periféricos para que los usuarios de
computadoras centrales y minicomputadoras puedan ejecutar partes
vectorizadas de sus programas. Sistemas Multiprocesadores La industria
informática, ha tenido siempre un objetivo primordial, repetido a lo largo de toda
su cadena (fabricantes de semiconductores, fabricantes de sistemas y usuarios):
la búsqueda de la velocidad. Para alcanzar este objetivo se han invertido
ingentes cantidades de recursos, hasta alcanzar los límites físicos del silicio.
Obviamente, la velocidad va ligada a las prestaciones, y por lo general, la
primera ha sido la principal medida para decidirse por un sistema u otro. Sin
embargo, por muy evidente que parezca, y dados los límites físicos de los
semiconductores, las prestaciones pueden no estar forzosamente ligadas a la
velocidad. Hoy es posible construir sistemas, que aún teniendo procesadores
más “lentos” que otros, ofrezcan unas prestaciones significativamente
superiores. Son los sistemas multiprocesador, que como su denominación
indica, incorporan varios procesadores para llevar a cabo las mismas funciones.
No es un concepto nuevo, ya que los “minicomputadores” construidos por
compañías como NCR, Sequent y Stratus, ya empleaban varios nodos de
proceso como alternativas económicas a otros productos de otras compañías.
Sin embargo, aquellos sistemas aún duplicaban recursos caros del sistema,
como memoria y dispositivos de entrada/salida, y por tanto, confinaban a los
sistemas multiprocesador al mundo de los sistemas de alto nivel. Ahora, y en
gran medida gracias a los procesadores de arquitectura RISC, el soporte
multiprocesador es una solución integrada y fácilmente disponible en estaciones
de trabajo de sobremesa, que resuelve, a través de hardware VLSI, los
complejos problemas de compartición de recursos (memoria compartida) de
aquellas primeras máquinas. Evidentemente, estas mejoras en el hardware, para
ser funcionales, requieren importantes desarrollos en el software, y de hecho,
muchos sistemas operativos admiten extensiones multiproceso (Match, SCO,
Solaris, System V, etc.), que proporcionan paralelismo “en bruto” (asignando
múltiples tareas a múltiples procesadores) a nivel del sistema operativo. Las
aplicaciones escritas para facilitar el paralelismo en su ejecución, incrementan
significativamente las prestaciones globales del sistema; esto es lo que se
denomina multi-enhebrado (multithreading), que implica dividir una sola
aplicación entre varios procesadores. Sin embargo, los desarrolladores de
software y programadores de aplicaciones sólo han comenzado a explorar las
vastas posibilidades de incremento de prestaciones que ofrecen los sistemas
con capacidades reales de proceso en paralelo. El multiproceso no es algo difícil
de entender: más procesadores significan mas potencia computacional. Un
conjunto de tareas puede ser completado más rápidamente si hay varias
unidades de proceso ejecutándolas en paralelo. Esa es la teoría, pero otra
historia es la práctica, como hacer funcionar el multiproceso, lo que requiere
unos profundos conocimientos tanto del hardware como del software. Es
necesario conocer ampliamente como están interconectados dichos
procesadores, y la forma en que el código que se ejecuta en los mismos ha sido
escrito para escribir aplicaciones y software que aproveche al máximo sus
prestaciones. Para lograrlo, es necesario modificar varias facetas del sistema
operativo, la organización del código de las propias aplicaciones, así como los
lenguajes de programación. Es difícil dar una definición exacta de un sistema
multiprocesador, aunque podemos establecer una clasificación de los sistemas
de procesadores en: SISD o secuencia única de instrucciones y datos (Single
Instruction, Single Data): una sola secuencia de instrucciones opera sobre una
sola secuencia de datos (caso típico de los ordenadores personales). SIMD o
secuencia única de instrucciones y múltiple de datos (Single Instruction, Multiple
Data): una sola secuencia de instrucciones opera, simultáneamente, sobre
múltiples secuencias de datos (array processors). MISD o múltiples secuencias
de instrucciones y única de datos (Multiple Instruction, Single Data): múltiples
secuencias de instrucciones operan, simultáneamente, sobre una sola secuencia
de datos (sin implementaciones útiles actualmente). MIMD o múltiples
secuencias de instrucciones y datos (Multiple Instruction, Multiple Data):
múltiples secuencias de instrucciones operan, simultáneamente, sobre múltiples
secuencias de datos. Los sistemas multiprocesadores pueden ser clasificados
con mayor propiedad como sistemas MIMD. Ello implica que son máquinas con
múltiples y autónomos nodos de proceso, cada uno de los cuales opera sobre su
propio conjunto de datos. Todos los nodos son idénticos en funciones, por lo que
cada uno puede operar en cualquier tarea o porción de la misma. El sistema en
que la memoria está conectada a los nodos de proceso establece el primer nivel
de distinción entre diferentes sistemas multiprocesador: 1.Multiprocesadores de
memoria distribuida (distributed-memory multiprocessors), también denominados
multiprocesadores vagamente acoplados (loosely coupled multiprocessors). Se
caracterizan porque cada procesador sólo puede acceder a su propia memoria.
Se requiere la comunicación entre los nodos de proceso para coordinar las
operaciones y mover los datos. Los datos pueden ser intercambiados, pero no
compartidos. Dado que los procesadores no comparten un espacio de
direcciones común, no hay problemas asociados con tener múltiples copias de
los datos, y por tanto los procesadores no tienen que competir entre ellos para
obtener sus datos. Ya que cada nodo es un sistema completo, por si mismo
(incluso sus propios dispositivos de entrada/salida si son necesarios), el único
límite práctico para incrementar las prestaciones añadiendo nuevos nodos, esta
dictado por la topología empleado para su interconexión. De hecho, el esquema
de interconexión (anillos, matrices, cubos, …), tiene un fuerte impacto en las
prestaciones de estos sistemas. Además de la complejidad de las
interconexiones, una de las principales desventajas de estos sistemas, como es
evidente, es la duplicación de recursos caros como memoria, dispositivos de
entrada/salida, que además están desocupados en gran parte del tiempo.
2.Multiprocesadores de memoria compartida (shared-memory multiprocessors),
también llamados multiprocesadores estrechamente acoplados (tightly coupled
multiprocessors). Son sistemas con múltiples procesadores que comparten un
único espacio de direcciones de memoria. Cualquier procesador puede acceder
a los mismos datos, al igual que puede acceder a ellos cualquier dispositivo de
entrada/salida. El sistema de interconexión más empleado para estos casos, es
el de bus compartido (shared-bus). Tener muchos procesadores en un único bus
tiene el inconveniente de limitar las prestaciones del sistema a medida que se
añaden nuevos procesadores. La razón es la saturación del bus, es decir, su
sobre utilización; en un sistema de bus compartido, se deriva por la contienda
entre los diferentes dispositivos y procesadores para obtener el control del bus,
para obtener su utilización. Es evidente, que los sistemas actuales tienden al uso
de arquitecturas de memoria compartida, fundamentalmente por razones de
costes, a pesar del problema de la contienda por el bus. Los tres fuentes
fundamentalmente responsables de dicha disputa son la memoria (cada CPU
debe usar el bus para acceder a la memoria principal), la comunicación (el bus
es usado por los “bus masters” para la comunicación y coordinación), y la
latencia de la memoria (el subsistema de memoria mantiene al bus durante las
transferencias de datos, y en función de la velocidad a la que la memoria puede
responder a las peticiones, puede llegar a ser un factor muy significativo). Los
sistemas de memoria caché y el multiproceso: Los sistemas de memoria
multinivel (caché) son un esfuerzo para evitar el número de peticiones realizadas
por cada CPU al bus. Los caches son pequeñas y rápidas (y por tanto caras)
memorias, que hacen de tampón (buffer) entre la CPU y la memoria externa,
para mantener los datos y/o instrucciones. Se basan en el principio de la
“localidad”, lo que significa que, dada la fundamental naturaleza secuencial de
los programas, los siguientes datos o instrucciones requeridas, estarán
localizadas inmediatamente a continuación de las actuales. Los datos
contenidos en la memoria caché se organizan en bloques denominados líneas.
Las líneas son cargadas en el caché como copias exactas de los datos situados
en la memoria externa. Para referenciar a los datos de la memoria caché, se
emplean marcas (tags) que identifican a cada línea. Las marcas o tags emplean
una porción de la dirección física de los datos, para compararla con la dirección
física solicitada por la CPU. Cuando existe una coincidencia exacta de la
dirección y de otros cualificadores (estado, privilegio, contexto, etc.), se dice que
ha tenido lugar un acierto (hit) de caché; en caso contrario, tiene lugar un fallo
(miss) del caché, y en ese caso, los datos han de ser recuperados desde la
memoria. El empleo de memoria caché se ha popularizado, como medida para
acelerar el tiempo de acceso a la memoria principal, incluso en los sistemas
monoprocesador, evitando así, según se incrementa la velocidad de los propios
procesadores, aumentar la velocidad de dicha memoria, y por tanto encarecer el
sistema. La forma en que la memoria es actualizada por los cachés locales
puede tener un gran impacto en las prestaciones de un sistema multiprocesador.
Básicamente hay dos métodos: 1.Escritura continua (write-through). Requiere
que todas las escrituras realizadas en el caché actualicen asimismo los datos de
la memoria principal. De esta forma, la memoria principal siempre tiene la última
copia de los datos, y por tanto no hay nunca ninguna incoherencia con el caché.
El inconveniente es que se producen frecuentes accesos a memoria,
especialmente superfluos cuando el software está modificando las mismas
secciones de datos repetidamente (por ejemplo ejecutando bucles). 2.Copia
posterior (copy-back). Es un sistema mucho más eficiente, aunque también más
complejo de implementar. En este caso, la CPU puede modificar la línea de
caché sin necesidad de actualizar inmediatamente la memoria principal. Los
datos sólo son copiados a la memoria principal cuando la línea de caché va a
ser reemplazada con una nueva. Ello no solo minimiza el tráfico del bus, de vital
importancia para el resto de los procesadores, sino que también libera al
procesador de la tarea de escribir en la memoria principal. Sin embargo, este
sistema, en una arquitectura de bus compartido, implica un nuevo nivel de
dificultad, denominado coherencia o consistencia (coherency o consistency);
dado que cada caché puede tener una copia de los datos existentes en la
memoria principal, el desafío es asegurar que los datos permanecen iguales
entre todos los caches. Hay dos métodos para mantener cada línea de caché
idéntica a las demás: a. Escritura radiada (write-broadcast), que requiere que la
CPU que modifica los datos compartidos actualice los otros caches, para lo cual
escribe en el bus la dirección de los datos, y los datos mismos, de modo que
todos los dispositivos interesados (otras CPU’s) los capturen. Esto asegura que
cada línea de caché en el sistema es una copia exacta de las demás. b.
Escritura invalidada (write-invalidate), impide a una CPU modificar los datos
compartidos en su caché hasta que otros caches han invalidado sus copias. En
cuanto otros caches invalidan sus líneas, el caché modificado tiene la única
copia; de este modo, se garantiza que un sólo caché escribe una línea
compartida en un momento dado. Tiene la ventaja de conservar el ancho de
banda del bus ya que los datos modificados no tienen que ser enviados a otros
caches. Ambos sistemas requieren que los caches sean capaces de identificar
peticiones en el bus que afecten a sus datos, lo que se realiza con una técnica
conocida como “sondeo del bus” (bus snooping). Cada caché compara las
direcciones de las peticiones en el bus compartido con los datos en su propio
cache, usando las marcas (tags). Este sistema requiere un acceso concurrente a
las marcas (tags) del caché por parte del bus del sistema y del bus del
procesador. Sin dicho acceso concurrente, el procesador no podría acceder al
caché durante las operaciones de sondeo del bus (que tienen que tener
prioridad de acceso a las marcas, para poder mantener la coherencia del caché).
El resultado son frecuentes atascos del procesador y consecuentemente, bajo
rendimiento. A su vez, hay varios protocolos asociados con el sondeo del bus
para el movimiento de los datos y los mensajes entre los caches: 1.Intervención
indirecta de los datos (indirect data intervention). Es el método más simple de
intercambio de datos entre procesadores, aunque también el menos eficiente. La
1ª CPU hace una petición de datos, que es sondeada por la 2ª; tiene lugar un
acierto de sondeo (snoop hit) si dichos datos están en el caché de la 2ª CPU,
entonces esta obtiene el control del bus e indica a la 1ª que lo reintente más
tarde. La 2ª CPU escribe los datos de su caché a la memoria, y la 1ª CPU
obtiene el control del bus de nuevo, reiniciando la petición. Los datos son ahora
suministrados por la memoria. 2.Intervención directa de los datos (direct data
intervention). Los datos son suministrados directamente por la 2ª CPU a la 1ª.
Este mecanismo es aplicable fundamentalmente a los sistemas con sistemas de
cache de copia posterior (copy-back). Aunque pueden evitar muchos ciclos
comparados con la intervención indirecta, la memoria principal permanece
inconsistente con el caché, y debe de ser actualizada cuando la línea de caché
es vaciada. 3.Reflexión a memoria (memory reflection) con intervención directa.
La memoria captura los datos que han sido depositados en el bus, mientras son
enviados a la CPU solicitante. Si la línea de caché no ha sido modificada antes
de que tenga lugar la última transacción de intervención de datos, no es
necesario escribir a la memoria, con lo que se conserva el ancho de banda. Esta
actualización del cache solicitante y la memoria puede tener lugar en un mismo y
único ciclo de reloj. 5. Lenguajes De Programación Al desarrollarse las primeras
computadoras electrónicas se dio la necesidad de programarlas para realizar
tareas útiles. En un principio se programaban conectando cables en distintas
posiciones para lograr así un resultado, se usaban como calculadoras simples
para realizar operaciones de una por una. En los años cincuentas se empezaron
a desarrollar lenguajes para programar las tareas de las computadoras. El más
primitivo de los lenguajes de alto nivel es FORTRAN, COBOL también es un
veterano. FORTRAN mostró el uso de expresiones simbólicas y subrutinas y
COBOL el concepto de descripción de datos. Evolución Los lenguajes más
primitivos eran lenguajes de máquina, o sea programar con base a números que
la máquina entendiera. Esto es muy complicado y propenso a errores, pero no
había alternativa. El primer gran logro fue el lenguaje ensamblador, junto con él,
el nacimiento de herramientas automáticas para generar el lenguaje máquina.
Aunque en este lenguaje sigue siendo difícil no equivocarse, ya que se debe
trabajar de la misma forma en que trabaja el procesador y entender bien su
funcionamiento. El lenguaje ensamblador es una abstracción del lenguaje
máquina, que asocia palabras fáciles de entender para el ser humano con
números que puede entender la maquina. Traduciendo así los códigos del
lenguaje al lenguaje máquina directamente. Esto se hacía mediante unas tablas
de códigos, haciendo la traducción a mano, pero dada la sencillez de la
traducción pronto aparecieron los primeros programas ensambladores que
realizaban dichas traducciones al lenguaje maquina, también conocido como
código objeto. Con el desarrollo en los años cincuentas y sesentas de los
algoritmos de mas alto nivel, junto con el aumento del poder del hardware,
científicos de otras ramas empezaron a utilizar las computadoras, pero no
sabían mucho de computación. Entonces se creó el primer lenguaje de alto nivel
junto con el propio concepto, nació el primer compilador FORTRAN.
Aumentando la productividad al escribir un código sencillo, con la herramienta
del compilador que traduce el código al lenguaje máquina de manera
automática. A partir de esto se han desarrollado otros lenguajes de alto nivel,
entre ellos el lenguaje c, y cobol. Cabe destacar que dadas ciertas
características del lenguaje c, este se considera de nivel medio ya que puede
ser usado como lenguaje de alto nivel con sus instrucciones en ingles y sus
librerías, pero tiene características de un lenguaje de bajo nivel, ya que fue
escrito para diseñar sistemas operativos. Lenguajes de alto nivel. Los lenguajes
de alto nivel se caracterizan porque utilizan palabras y frases más fáciles de
entender para las personas. Como palabras en ingles o frases abreviadas.
FORTRAN. FO Rmula? TRA Nslator?, traductor de formula, uno de los primeros
de alto nivel. COBOL. Comon Business Oriented Languaje, lenguaje orientado a
negocios comunes. Uno de los primeros. BASIC. Beginners Allpurpose Symbolic
Instruction Code, código de instrucción simbólica de propósito general dirigido a
principiantes, Comenzó como un lenguaje herramienta para enseñar
programación a principiantes. PASCAL. Se diseñó para enseñar programación
estructurada, se considera que es excelente en este aspecto y aun se sigue
usando con el mismo fin. Lenguaje C. Predecesor del lenguaje B, fue
desarrollado para escribir UNIX, es muy poderoso, ya que con este lenguaje se
puede hacer casi todo lo que la computadora puede realizar, es portable, o sea
que puede ser compilado en diferentes sistemas operativos con muy pocos
cambios, a diferencia de otros que no pueden ser compilados en diversos
sistemas operativos. Es sumamente ligero y rápido, un programa hecho en
vbasic es de 50 a 100 veces más pesado que uno echo en c. Nunca podrá
desligarse el software del hardware, es importante tomar en cuenta qué lenguaje
se utilizará para desarrollar alguna clase de proyecto. Por ejemplo, si se requiere
alguna aplicación de oficina en modo gráfico, que no requiera de mucho
desempeño tal vez visual basic o visual C++ para Windows sea buena opción, o
si se requiere de una aplicación para Internet donde se tiene un buen ancho de
banda pues Java sería una buena opción, en cambio, si se quiere un
desempeño eficaz, donde este sea crucial, pues c es el lenguaje apropiado, o
para aplicaciones de internet que requieran rapidez en la respuesta, HTML +
lenguaje c sería eficaz. Aunque sería una perdida de tiempo y esfuerzo tener
que hacer un programa en c si se cuenta con un software potente que soporte
bien lenguajes más pesados como Fox pro o Python, y en cambio sería una
tontería querer implementar una base de datos en basic si se cuenta con pocos
recursos. Clases de computadoras 1. Análoga
La computadora análoga es la que acepta y procesa señales continuas, tales
como: fluctuaciones de voltaje o frecuencias. Ejemplo: El termostato es la
computadora análoga más sencilla. 2. Digital
La computadora digital es la que acepta y procesa datos que han sido
convertidos al sistema binario. La mayoría de las computadoras son digitales. 3.
Híbrida
La computadora híbrida es una computadora digital que procesa señales
análogas que han sido convertidas a forma digital. Es utilizada para control de
procesos y en robótica. 4. Propósito especial
La computadora de propósito especial está dedicada a un solo propósito o tarea.
Pueden ser usadas para producir informes del tiempo, monitorear desastres
naturales, hacer lecturas de gasolina y como medidor eléctrico. Ejemplo: carros
de control remoto, horno microoondas, relojes digitales, cámaras, procesador de
palabras, etc. 5. Propósito general
La computadora de propósito general se programa para una variedad de tareas
o aplicaciones. Son utilizadas para realizar cálculos matemáticos, estadísticos,
contabilidad comercial, control de inventario, nómina, preparación de inventario,
etc. Ejemplo: “mainframes” o minicomputadoras.
Categorías de las computadoras · Supercomputadora
La supercomputadora es lo máximo en computadora, es la más rápida y, por lo
tanto, la más cara. Cuesta millones de dólares y se hacen de dos a tres al año.
Procesan billones de instrucciones por segundo. Son utilizadas para trabajos
científicos, particularmente para crear modelos matemáticos del mundo real,
llamados simulación. Algunos ejemplos de uso lo son: exploración y producción
petrolera, análisis estructural, dinámica de fluidos computacional, física, química,
diseño electrónico, investigación de energía nuclear, meteorología, diseño de
automóviles, efectos especiales de películas, trabajos sofisticados de arte,
planes gubernamentales y militares y la fabricación de naves espaciales por
computadoras. Ejemplo: Cray 1, Cray 2. · ”Mainframe”
Los “mainframe” son computadoras grandes, ligeras, capaces de utilizar cientos
de dispositivos de entrada y salida. Procesan millones de instrucciones por
segundo. Su velocidad operacional y capacidad de procesar hacen que los
grandes negocios, el gobierno, los bancos, las universidades, los hospitales,
compañías de seguros, líneas aéreas, etc. confién en ellas. Su principal función
es procesar grandes cantidades de datos rápidamente. Estos datos están
Primera Unidad de Educación para el Trabajo - primero
Primera Unidad de Educación para el Trabajo - primero
Primera Unidad de Educación para el Trabajo - primero
Primera Unidad de Educación para el Trabajo - primero
Primera Unidad de Educación para el Trabajo - primero
Primera Unidad de Educación para el Trabajo - primero
Primera Unidad de Educación para el Trabajo - primero
Primera Unidad de Educación para el Trabajo - primero
Primera Unidad de Educación para el Trabajo - primero
Primera Unidad de Educación para el Trabajo - primero
Primera Unidad de Educación para el Trabajo - primero

Más contenido relacionado

La actualidad más candente

Fundamentos del computador
Fundamentos del computadorFundamentos del computador
Fundamentos del computadorFausto Rod
 
Historia de los ordenadores
Historia de los ordenadoresHistoria de los ordenadores
Historia de los ordenadores4ESOBRocio
 
Historia de la computación
Historia de la computaciónHistoria de la computación
Historia de la computaciónAime Rodriguez
 
Jonatthan Chona. Actividad 3
Jonatthan Chona. Actividad 3Jonatthan Chona. Actividad 3
Jonatthan Chona. Actividad 3chona18511546
 
Introducción a la computación y la evolución de las computadoras
Introducción a la computación y la evolución de las computadorasIntroducción a la computación y la evolución de las computadoras
Introducción a la computación y la evolución de las computadorasLenin Nava
 
GUIA 0 NEGOCIACION DE TECNOLOGIAS
GUIA 0 NEGOCIACION DE TECNOLOGIASGUIA 0 NEGOCIACION DE TECNOLOGIAS
GUIA 0 NEGOCIACION DE TECNOLOGIASaldoleao88
 
Fundamento y antecedente de la computadora
Fundamento y antecedente de la computadoraFundamento y antecedente de la computadora
Fundamento y antecedente de la computadoracinthia moran
 

La actualidad más candente (15)

Kevin kevin
Kevin kevinKevin kevin
Kevin kevin
 
Computadora
ComputadoraComputadora
Computadora
 
Fundamentos del computador
Fundamentos del computadorFundamentos del computador
Fundamentos del computador
 
Historia de los ordenadores
Historia de los ordenadoresHistoria de los ordenadores
Historia de los ordenadores
 
La Historia Del Computador
La Historia Del ComputadorLa Historia Del Computador
La Historia Del Computador
 
Historia de la computación
Historia de la computaciónHistoria de la computación
Historia de la computación
 
Jonatthan Chona. Actividad 3
Jonatthan Chona. Actividad 3Jonatthan Chona. Actividad 3
Jonatthan Chona. Actividad 3
 
Unidad i el computador
Unidad i el computadorUnidad i el computador
Unidad i el computador
 
Informatica (1)
Informatica (1)Informatica (1)
Informatica (1)
 
El origen de las computadoras
El origen de las computadorasEl origen de las computadoras
El origen de las computadoras
 
Introducción a la computación y la evolución de las computadoras
Introducción a la computación y la evolución de las computadorasIntroducción a la computación y la evolución de las computadoras
Introducción a la computación y la evolución de las computadoras
 
GUIA 0 NEGOCIACION DE TECNOLOGIAS
GUIA 0 NEGOCIACION DE TECNOLOGIASGUIA 0 NEGOCIACION DE TECNOLOGIAS
GUIA 0 NEGOCIACION DE TECNOLOGIAS
 
La computadora y sus orígenes.
La computadora y sus orígenes.La computadora y sus orígenes.
La computadora y sus orígenes.
 
Fundamento y antecedente de la computadora
Fundamento y antecedente de la computadoraFundamento y antecedente de la computadora
Fundamento y antecedente de la computadora
 
Introducción
IntroducciónIntroducción
Introducción
 

Similar a Primera Unidad de Educación para el Trabajo - primero

LA HISTORIA DE LAS COMPUTADORAS
LA HISTORIA DE LAS COMPUTADORASLA HISTORIA DE LAS COMPUTADORAS
LA HISTORIA DE LAS COMPUTADORASlion42
 
Origen del Computador
Origen del ComputadorOrigen del Computador
Origen del Computadorgerson3001
 
Programacion y metodos numericos resumen unidad 1 y 2
Programacion y metodos numericos resumen unidad 1 y 2Programacion y metodos numericos resumen unidad 1 y 2
Programacion y metodos numericos resumen unidad 1 y 2David Hernandez
 
Tarea 1 el origen de las computadoras
Tarea 1   el origen de las computadorasTarea 1   el origen de las computadoras
Tarea 1 el origen de las computadorasJose Frías
 
Investigación de organización de computadoras
Investigación de organización de computadorasInvestigación de organización de computadoras
Investigación de organización de computadorask1kex2
 
Informatica-I-P2__1950__0.pdf
Informatica-I-P2__1950__0.pdfInformatica-I-P2__1950__0.pdf
Informatica-I-P2__1950__0.pdfRudyMorinigo
 
Equipo de infraestructura física
Equipo de infraestructura físicaEquipo de infraestructura física
Equipo de infraestructura físicaivan4biscar2010
 
Equipo de infraestructura física
Equipo de infraestructura físicaEquipo de infraestructura física
Equipo de infraestructura físicaivan4biscar2010
 

Similar a Primera Unidad de Educación para el Trabajo - primero (20)

LA HISTORIA DE LAS COMPUTADORAS
LA HISTORIA DE LAS COMPUTADORASLA HISTORIA DE LAS COMPUTADORAS
LA HISTORIA DE LAS COMPUTADORAS
 
Computadora
ComputadoraComputadora
Computadora
 
Computadora
ComputadoraComputadora
Computadora
 
Computadora
ComputadoraComputadora
Computadora
 
historia de los computadores
historia de los computadores historia de los computadores
historia de los computadores
 
Los computadores
Los computadoresLos computadores
Los computadores
 
Masilla pop
Masilla popMasilla pop
Masilla pop
 
Origen del Computador
Origen del ComputadorOrigen del Computador
Origen del Computador
 
Programacion y metodos numericos resumen unidad 1 y 2
Programacion y metodos numericos resumen unidad 1 y 2Programacion y metodos numericos resumen unidad 1 y 2
Programacion y metodos numericos resumen unidad 1 y 2
 
Tarea 1 el origen de las computadoras
Tarea 1   el origen de las computadorasTarea 1   el origen de las computadoras
Tarea 1 el origen de las computadoras
 
la computadora
la computadorala computadora
la computadora
 
Investigación de organización de computadoras
Investigación de organización de computadorasInvestigación de organización de computadoras
Investigación de organización de computadoras
 
Informatica-I-P2__1950__0.pdf
Informatica-I-P2__1950__0.pdfInformatica-I-P2__1950__0.pdf
Informatica-I-P2__1950__0.pdf
 
La pc ppt
La pc pptLa pc ppt
La pc ppt
 
Equipo de infraestructura física
Equipo de infraestructura físicaEquipo de infraestructura física
Equipo de infraestructura física
 
Equipo de infraestructura física
Equipo de infraestructura físicaEquipo de infraestructura física
Equipo de infraestructura física
 
17 todo
17 todo17 todo
17 todo
 
17 todo
17 todo17 todo
17 todo
 
Historia
HistoriaHistoria
Historia
 
isaac Diaz
isaac Diaz isaac Diaz
isaac Diaz
 

Último

INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptxdeimerhdz21
 
Imperialismo informal en Europa y el imperio
Imperialismo informal en Europa y el imperioImperialismo informal en Europa y el imperio
Imperialismo informal en Europa y el imperiomiralbaipiales2016
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Alejandrino Halire Ccahuana
 
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática5    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática5    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Carlos Muñoz
 
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA IIAFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA IIIsauraImbrondone
 
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICAÁngel Encinas
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxlclcarmen
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfPaolaRopero2
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Lourdes Feria
 
plan de capacitacion docente AIP 2024 clllll.pdf
plan de capacitacion docente  AIP 2024          clllll.pdfplan de capacitacion docente  AIP 2024          clllll.pdf
plan de capacitacion docente AIP 2024 clllll.pdfenelcielosiempre
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dstEphaniiie
 
Cuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfCuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfNancyLoaa
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfFrancisco158360
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...JonathanCovena1
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAEl Fortí
 
Ley 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circularLey 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circularMooPandrea
 

Último (20)

INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptx
 
Imperialismo informal en Europa y el imperio
Imperialismo informal en Europa y el imperioImperialismo informal en Europa y el imperio
Imperialismo informal en Europa y el imperio
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
 
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática5    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática5    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdf
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
 
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA IIAFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
AFICHE EL MANIERISMO HISTORIA DE LA ARQUITECTURA II
 
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
plan de capacitacion docente AIP 2024 clllll.pdf
plan de capacitacion docente  AIP 2024          clllll.pdfplan de capacitacion docente  AIP 2024          clllll.pdf
plan de capacitacion docente AIP 2024 clllll.pdf
 
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdfTema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes d
 
Cuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfCuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdf
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...
 
Unidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la InvestigaciónUnidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la Investigación
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
Ley 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circularLey 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circular
 

Primera Unidad de Educación para el Trabajo - primero

  • 1. Introducción a Los Sistemas Computacionales ORDENADOR O COMPUTADORAS Dispositivo electrónico capaz de recibir un conjunto de instrucciones y ejecutarlas realizando cálculos sobre los datos numéricos, o bien compilando y correlacionando otros tipos de información. El mundo de la alta tecnología nunca hubiera existido de no ser por el desarrollo del ordenador o computadora. Toda la sociedad utiliza estas máquinas, en distintos tipos y tamaños, para el almacenamiento y manipulación de datos. Los equipos informáticos han abierto una nueva era en la fabricación gracias a las técnicas de automatización, y han permitido mejorar los sistemas modernos de comunicación. Son herramientas esenciales prácticamente en todos los campos de investigación y en tecnología aplicada. Tipos de ordenadores o computadoras En la actualidad se utilizan dos tipos principales de ordenadores: analógicos y digitales. Sin embargo, el término ordenador o computadora suele utilizarse para referirse exclusivamente al tipo digital. Los ordenadores analógicos aprovechan la similitud matemática entre las interrelaciones físicas de determinados problemas y emplean circuitos electrónicos o hidráulicos para simular el problema físico. Los ordenadores digitales resuelven los problemas realizando cálculos y tratando cada número dígito por dígito. Las instalaciones que contienen elementos de ordenadores digitales y analógicos se denominan ordenadores híbridos. En un ordenador digital también pueden introducirse datos en forma analógica mediante un convertidor analógico digital, y viceversa (convertidor digital a analógico). Ordenadores analógicos El ordenador analógico es un dispositivo electrónico o hidráulico diseñado para manipular la entrada de datos en términos de, por ejemplo, niveles de tensión o presiones hidráulicas, en lugar de hacerlo como datos numéricos.
  • 2. El dispositivo de cálculo analógico más sencillo es la regla de cálculo, que utiliza longitudes de escalas especialmente calibradas para facilitar la multiplicación, la división y otras funciones. En el típico ordenador analógico electrónico, las entradas se convierten en tensiones que pueden sumarse o multiplicarse empleando elementos de circuito de diseño especial. Las respuestas se generan continuamente para su visualización o para su conversión en otra forma deseada. Ordenadores digitales Todo lo que hace un ordenador digital se basa en una operación: la capacidad de determinar si un conmutador, o `puerta’, está abierto o cerrado. Es decir, el ordenador puede reconocer sólo dos estados en cualquiera de sus circuitos microscópicos: abierto o cerrado, alta o baja tensión o, en el caso de números, 0 o 1. Sin embargo, es la velocidad con la cual el ordenador realiza este acto tan sencillo lo que lo convierte en una maravilla de la tecnología moderna. Las velocidades del ordenador se miden en megahercios, o millones de ciclos por segundo. Un ordenador con una velocidad de reloj de 100 MHZ, velocidad bastante representativa de un microordenador o microcomputadora, es capaz de ejecutar 100 millones de operaciones discretas por segundo. Las microcomputadoras de las compañías pueden ejecutar entre 150 y 200 millones de operaciones por segundo, mientras que las supercomputadoras utilizadas en aplicaciones de investigación y de defensa alcanzan velocidades de miles de millones de ciclos por segundo. La velocidad y la potencia de cálculo de los ordenadores digitales se incrementan aún más por la cantidad de datos manipulados durante cada ciclo. Si un ordenador verifica sólo un conmutador cada vez, dicho conmutador puede representar solamente dos comandos o números. Así, ON simbolizaría una operación o un número, mientras que OFF simbolizará otra u otro. Sin embargo, al verificar grupos de conmutadores enlazados como una sola unidad, el ordenador aumenta el número de operaciones que puede reconocer en cada ciclo.
  • 3. Por ejemplo, un ordenador que verifica dos conmutadores cada vez, puede representar cuatro números (del 0 al 3), o bien ejecutar en cada ciclo una de las cuatro operaciones, una para cada uno de los siguientes modelos de conmutador: OFF-OFF (0), OFF-ON (1), ON-OFF (2) u ON-ON (3). En general, los ordenadores de la década de 1970 eran capaces de verificar 8 conmutadores simultáneamente; es decir, podían verificar ocho dígitos binarios, de ahí el término bit de datos en cada ciclo. Un grupo de ocho bits se denomina byte y cada uno contiene 256 configuraciones posibles de ON y OFF (o 1 y 0). Cada configuración equivale a una instrucción, a una parte de una instrucción o a un determinado tipo de dato; estos últimos pueden ser un número, un carácter o un símbolo gráfico. Por ejemplo, la configuración 11010010 puede representar datos binarios, en este caso el número decimal 210 (véase Sistemas numéricos), o bien estar indicando al ordenador que compare los datos almacenados en estos conmutadores con los datos almacenados en determinada ubicación del chip de memoria. El desarrollo de procesadores capaces de manejar simultáneamente 16, 32 y 64 bits de datos ha permitido incrementar la velocidad de los ordenadores. La colección completa de configuraciones reconocibles, es decir, la lista total de operaciones que una computadora es capaz de procesar, se denomina conjunto, o repertorio, de instrucciones. Ambos factores, el número de bits simultáneos y el tamaño de los conjuntos de instrucciones, continúa incrementándose a medida que avanza el desarrollo de los ordenadores digitales modernos. Historia La primera máquina de calcular mecánica, un precursor del ordenador digital, fue inventada en 1642 por el matemático francés Blaise Pascal. Aquel dispositivo utilizaba una serie de ruedas de diez dientes en las que cada uno de los dientes representaba un dígito del 0 al 9. Las ruedas estaban conectadas de tal manera que podían sumarse números haciéndolas avanzar el número de dientes correcto. En 1670 el filósofo y matemático alemán Gottfried Wilhelm Leibniz perfeccionó esta máquina e inventó una que también podía multiplicar. El inventor francés Joseph Marie Jacquard, al diseñar un telar automático, utilizó delgadas placas de madera perforadas para controlar el tejido utilizado en los
  • 4. diseños complejos. Durante la década de 1880 el estadístico estadounidense Herman Hollerith concibió la idea de utilizar tarjetas perforadas, similares a las placas de Jacquard, para procesar datos. Hollerith consiguió compilar la información estadística destinada al censo de población de 1890 de Estados Unidos mediante la utilización de un sistema que hacía pasar tarjetas perforadas sobre contactos eléctricos. La máquina analítica También en el siglo XIX el matemático e inventor británico Charles Babbage elaboró los principios de la computadora digital moderna. Inventó una serie de máquinas, como la máquina diferencial, diseñadas para solucionar problemas matemáticos complejos. Muchos historiadores consideran a Babbage como el verdadero inventor de la computadora. La tecnología de aquella época no era capaz de trasladar a la práctica sus acertados conceptos; pero una de sus invenciones, la máquina analítica, ya tenía muchas de las características de un ordenador moderno. Incluía una corriente, o flujo de entrada en forma de paquete de tarjetas perforadas, una memoria para guardar los datos, un procesador para las operaciones matemáticas y una impresora para hacer permanente el registro. Primeros ordenadores Los ordenadores analógicos comenzaron a construirse a principios del siglo XX. Los primeros modelos realizaban los cálculos mediante ejes y engranajes giratorios. Durante las dos guerras mundiales se utilizaron sistemas informáticos analógicos, primero mecánicos y más tarde eléctricos, para predecir la trayectoria de los torpedos en los submarinos y para el manejo a distancia de las bombas en la aviación. Circuitos integrados A finales de la década de 1960 apareció el circuito integrado (CI), que posibilitó la fabricación de varios transistores en un único sustrato de silicio en el que los cables de interconexión iban soldados. El circuito integrado permitió una
  • 5. posterior reducción del precio, el tamaño y los porcentajes de error. El microprocesador se convirtió en una realidad a mediados de la década de 1970, con la introducción del circuito de integración a gran escala (LSI, acrónimo de Large Scale Integrated) y, más tarde, con el circuito de integración a mayor escala (VLSI, acrónimo de Very Large Scale Integrated), con varios miles de transistores interconectados soldados sobre un único sustrato de silicio. Hardware Todos los ordenadores digitales modernos son similares conceptualmente con independencia de su tamaño. Sin embargo, pueden dividirse en varias categorías según su precio y rendimiento: el ordenador o computadora personal es una máquina de coste relativamente bajo y por lo general de tamaño adecuado para un escritorio (algunos de ellos, denominados portátiles, o laptops, son lo bastante pequeños como para caber en un maletín); la estación de trabajo, un microordenador con gráficos mejorados y capacidades de comunicaciones que lo hacen especialmente útil para el trabajo de oficina; el mini-ordenador o mini- computadora, un ordenador de mayor tamaño que por lo general es demasiado caro para el uso personal y que es apto para compañías, universidades o laboratorios; y el mainframe, una gran máquina de alto precio capaz de servir a las necesidades de grandes empresas, departamentos gubernamentales, instituciones de investigación científica y similares (las máquinas más grandes y más rápidas dentro de esta categoría se denominan superordenadores). En realidad, un ordenador digital no es una única máquina, en el sentido en el que la mayoría de la gente considera a los ordenadores. Es un sistema compuesto de cinco elementos diferenciados: una CPU (unidad central de proceso); dispositivos de entrada; dispositivos de almacenamiento de memoria; dispositivos de salida y una red de comunicaciones, denominada bus, que enlaza todos los elementos del sistema y conecta a éste con el mundo exterior. CPU (unidad central de proceso)
  • 6. La CPU puede ser un único chip o una serie de chips que realizan cálculos aritméticos y lógicos y que temporizan y controlan las operaciones de los demás elementos del sistema. Las técnicas de miniaturización y de integración han posibilitado el desarrollo de un chip de CPU denominado microprocesador, que incorpora un sistema de circuitos y memoria adicionales. El resultado son unos ordenadores más pequeños y la reducción del sistema de circuitos de soporte. Los microprocesadores se utilizan en la mayoría de los ordenadores personales de la actualidad. La mayoría de los chips de CPU y de los microprocesadores están compuestos de cuatro secciones funcionales: una unidad aritmética-lógica; unos registros; una sección de control y un bus interno. La unidad aritmética-lógica es aquella que permite realizar operaciones lógicas y aritméticas. Los registros son áreas de almacenamiento temporal que contienen datos, realizan un seguimiento de las instrucciones y conservan la ubicación y los resultados de dichas operaciones. La sección de control tiene tres tareas principales: temporiza y regula las operaciones de la totalidad del sistema informático; su descodificador de instrucciones lee las configuraciones de datos en un registro designado y las convierte en una actividad, como podría ser sumar o comparar, y su unidad interruptora indica en qué orden utilizará la CPU las operaciones individuales y regula la cantidad de tiempo de CPU que podrá consumir cada operación. El último segmento de un chip de CPU o microprocesador es su bus interno, una red de líneas de comunicación que conecta los elementos internos del procesador y que también lleva hacia los conectores externos que enlazan al procesador con los demás elementos del sistema informático. Los tres tipos de bus de la CPU son: el bus de control que consiste en una línea que detecta las señales de entrada y de otra línea que genera señales de control desde el interior de la CPU; el bus de dirección, una línea unidireccional que sale desde el procesador y que gestiona la ubicación de los datos en las direcciones de la memoria; y el bus de datos, una línea de transmisión bidireccional que lee los datos de la memoria y escribe nuevos datos en ésta. Dispositivos de entrada Estos dispositivos permiten al usuario del ordenador introducir datos, comandos y programas en la CPU.
  • 7. El dispositivo de entrada más común es un teclado similar al de las máquinas de escribir. La información introducida con el mismo, es transformada por el ordenador en modelos reconocibles. Otros dispositivos de entrada son los lápices ópticos, que transmiten información gráfica desde tabletas electrónicas hasta el ordenador; joysticks y el ratón o mouse, que convierte el movimiento físico en movimiento dentro de una pantalla de ordenador; los escáneres luminosos, que leen palabras o símbolos de una página impresa y los traducen a configuraciones electrónicas que el ordenador puede manipular y almacenar; y los módulos de reconocimiento de voz, que convierten la palabra hablada en señales digitales comprensibles para el ordenador. También es posible utilizar los dispositivos de almacenamiento para introducir datos en la unidad de proceso. Dispositivos de almacenamiento Los sistemas informáticos pueden almacenar los datos tanto interna (en la memoria) como externamente (en los dispositivos de almacenamiento). Internamente, las instrucciones o datos pueden almacenarse por un tiempo en los chips de silicio de la RAM (memoria de acceso aleatorio) montados directamente en la placa de circuitos principal de la computadora, o bien en chips montados en tarjetas periféricas conectadas a la placa de circuitos principal del ordenador. Estos chips de RAM constan de conmutadores sensibles a los cambios de la corriente eléctrica. Los chips de RAM estática conservan sus bits de datos mientras la corriente siga fluyendo a través del circuito, mientras que los chips de RAM dinámica (DRAM, acrónimo de Dynamic Random Access Memory) necesitan la aplicación de tensiones altas o bajas a intervalos regulares aproximadamente cada dos milisegundos para no perder su información. Otro tipo de memoria interna son los chips de silicio en los que ya están instalados todos los conmutadores. Las configuraciones en este tipo de chips de ROM (memoria de sólo lectura) forman los comandos, los datos o los programas que el ordenador necesita para funcionar correctamente. Los chips de RAM son como pedazos de papel en los que se puede escribir, borrar y volver a utilizar;
  • 8. los chips de ROM son como un libro, con las palabras ya escritas en cada página. Tanto los primeros como los segundos están enlazados a la CPU a través de circuitos. Los dispositivos de almacenamiento externos, que pueden residir físicamente dentro de la unidad de proceso principal del ordenador, están fuera de la placa de circuitos principal. Estos dispositivos almacenan los datos en forma de cargas sobre un medio magnéticamente sensible, por ejemplo una cinta de sonido o, lo que es más común, sobre un disco revestido de una fina capa de partículas metálicas. Los dispositivos de almacenamiento externo más frecuentes son los disquetes y los discos duros, aunque la mayoría de los grandes sistemas informáticos utiliza bancos de unidades de almacenamiento en cinta magnética. Los discos flexibles pueden contener, según sea el sistema, desde varios centenares de miles de bytes hasta bastante más de un millón de bytes de datos. Los discos duros no pueden extraerse de los receptáculos de la unidad de disco, que contienen los dispositivos electrónicos para leer y escribir datos sobre la superficie magnética de los discos y pueden almacenar desde varios millones de bytes hasta algunos centenares de millones. La tecnología de CD-ROM, que emplea las mismas técnicas láser utilizadas para crear los discos compactos (CD) de audio, permiten capacidades de almacenamiento del orden de varios cientos de megabytes (millones de bytes) de datos. Dispositivos de salida Estos dispositivos permiten al usuario ver los resultados de los cálculos o de las manipulaciones de datos de la computadora. El dispositivo de salida más común es la unidad de visualización (VDU, acrónimo de Video Display Unit), que consiste en un monitor que presenta los caracteres y gráficos en una pantalla similar a la del televisor. Por lo general, las VDU tienen un tubo de rayos catódicos como el de cualquier televisor, aunque los ordenadores pequeños y portátiles utilizan hoy pantallas de cristal líquido (LCD, acrónimo de Liquid Crystal Displays) o electro luminiscentes. Otros dispositivos de salida más comunes son las impresoras y los módem. Un módem enlaza dos ordenadores transformando las señales digitales en analógicas para que los datos puedan transmitirse a través de las telecomunicaciones.
  • 9. Sistemas operativos Los sistemas operativos internos fueron desarrollados sobre todo para coordinar y trasladar estos flujos de datos que procedían de fuentes distintas, como las unidades de disco o los coprocesadores (chips de procesamiento que ejecutan operaciones simultáneamente con la unidad central, aunque son diferentes). Un sistema operativo es un programa de control principal, almacenado de forma permanente en la memoria, que interpreta los comandos del usuario que solicita diversos tipos de servicios, como visualización, impresión o copia de un archivo de datos; presenta una lista de todos los archivos existentes en un directorio o ejecuta un determinado programa. Programación Un programa es una secuencia de instrucciones que indican al hardware de un ordenador qué operaciones debe realizar con los datos. Los programas pueden estar incorporados al propio hardware, o bien pueden existir de manera independiente en forma de software. En algunas computadoras especializadas las instrucciones operativas están incorporadas en el sistema de circuitos; entre los ejemplos más comunes pueden citarse los microordenadores de las calculadoras, relojes de pulsera, motores de coches y hornos microondas. Por otro lado, un ordenador universal, o de uso general, contiene algunos programas incorporados (en la ROM) o instrucciones (en el chip del procesador), pero depende de programas externos para ejecutar tareas útiles. Una vez programado, podrá hacer tanto o tan poco como le permita el software que lo controla en determinado momento. El software de uso más generalizado incluye una amplia variedad de programas de aplicaciones, es decir, instrucciones al ordenador acerca de cómo realizar diversas tareas. Lenguajes Las instrucciones deben darse en un lenguaje de programación, es decir, en una determinada configuración de información digital binaria. En las primeras computadoras, la programación era una tarea difícil y laboriosa ya que los conmutadores ON-OFF de las válvulas de vacío debían configurarse a mano.
  • 10. Programar tareas tan sencillas como ordenar una lista de nombres requería varios días de trabajo de equipos de programadores. Desde entonces se han inventado varios lenguajes informáticos, algunos orientados hacia funciones específicas y otros centrados en la facilidad de uso. Lenguaje máquina El lenguaje propio del ordenador, basado en el sistema binario, o código máquina, resulta difícil de utilizar para las personas. El programador debe introducir todos y cada uno de los comandos y datos en forma binaria, y una operación sencilla como comparar el contenido de un registro con los datos situados en una ubicación del chip de memoria puede tener el siguiente formato: 11001010 00010111 11110101 00101011. La programación en lenguaje máquina es una tarea tan tediosa y consume tanto tiempo que muy raras veces lo que se ahorra en la ejecución del programa justifica los días o semanas que se han necesitado para escribir el mismo. Lenguaje ensamblador Uno de los métodos inventados por los programadores para reducir y simplificar el proceso es la denominada programación con lenguaje ensamblador. Al asignar un código mnemotécnico (por lo general de tres letras) a cada comando en lenguaje máquina, es posible escribir y depurar o eliminar los errores lógicos y de datos en los programas escritos en lenguaje ensamblador, empleando para ello sólo una fracción del tiempo necesario para programar en lenguaje máquina. En el lenguaje ensamblador, cada comando mnemotécnico y sus operadores simbólicos equivalen a una instrucción de máquina. Un programa ensamblador traduce el código fuente, una lista de códigos de operación mnemotécnicos y de operadores simbólicos, a código objeto (es decir, a lenguaje máquina) y, a continuación, ejecuta el programa. Sin embargo, el lenguaje ensamblador puede utilizarse con un solo tipo de chip de CPU o microprocesador. Los programadores, que dedicaron tanto tiempo y esfuerzo al aprendizaje de la programación de un ordenador, se veían obligados a aprender un nuevo estilo
  • 11. de programación cada vez que trabajaban con otra máquina. Lo que se necesitaba era un método abreviado en el que un enunciado simbólico pudiera representar una secuencia de numerosas instrucciones en lenguaje máquina, y un método que permitiera que el mismo programa pudiera ejecutarse en varios tipos de máquinas. Estas necesidades llevaron al desarrollo de lenguajes de alto nivel. Lenguajes de alto nivel Los lenguajes de alto nivel suelen utilizar términos ingleses del tipo LIST, PRINT u OPEN como comandos que representan una secuencia de decenas o de centenas de instrucciones en lenguaje máquina. Los comandos se introducen desde el teclado, desde un programa residente en la memoria o desde un dispositivo de almacenamiento, y son interceptados por un programa que los traduce a instrucciones en lenguaje máquina. Los programas traductores son de dos tipos: intérpretes y compiladores. Con un intérprete, los programas que repiten un ciclo para volver a ejecutar parte de sus instrucciones, reinterpretan la misma instrucción cada vez que aparece. Por consiguiente, los programas interpretados se ejecutan con mucha mayor lentitud que los programas en lenguaje máquina. Por el contrario, los compiladores traducen un programa íntegro a lenguaje máquina antes de su ejecución, por lo cual se ejecutan con tanta rapidez como si hubiesen sido escritos directamente en lenguaje máquina. Se considera que fue la estadounidense Grace Hopper quien implementó el primer lenguaje de ordenador orientado al uso comercial. Después de programar un ordenador experimental en la Universidad de Harvard, trabajó en los modelos UNIVAC I y UNIVAC II, desarrollando un lenguaje de alto nivel para uso comercial llamado FLOW-MATIC. Para facilitar el uso del ordenador en las aplicaciones científicas, IBM desarrolló un lenguaje que simplificaría el trabajo que implicaba el tratamiento de fórmulas matemáticas complejas. Iniciado en 1954 y terminado en 1957, el FORTRAN (acrónimo de Formula Translator) fue el primer lenguaje exhaustivo de alto nivel de uso generalizado.
  • 12. En 1957 una asociación estadounidense, la Association for Computing Machinery comenzó a desarrollar un lenguaje universal que corrigiera algunos de los defectos del FORTRAN. Un año más tarde fue lanzado el ALGOL (acrónimo de Algorithmic Language), otro lenguaje de orientación científica. De gran difusión en Europa durante las décadas de 1960 y 1970, desde entonces ha sido sustituido por nuevos lenguajes, mientras que el FORTRAN continúa siendo utilizado debido a las gigantescas inversiones que se hicieron en los programas existentes. El COBOL (acrónimo de Common Business Oriented Language) es un lenguaje de programación para uso comercial y empresarial especializado en la organización de datos y manipulación de archivos, y hoy día está muy difundido en el mundo empresarial. El lenguaje BASIC (acrónimo de Código de Instrucciones Simbólicas de Uso General para Principiantes) fue desarrollado en el Dartmouth College a principios de la década de 1960 y está dirigido a los usuarios de ordenador no profesionales. Este lenguaje se universalizó gracias a la popularización de los microordenadores en las décadas de 1970 y 1980. Calificado de lento, ineficaz y poco estético por sus detractores, BASIC es sencillo de aprender y fácil de utilizar. Como muchos de los primeros microordenadores se vendieron con BASIC incorporado en el hardware (en la memoria ROM), se generalizó el uso de este lenguaje. Aunque existen centenares de lenguajes informáticos y de variantes, hay algunos dignos de mención, como el PASCAL, diseñado en un principio como herramienta de enseñanza, hoy es uno de los lenguajes de microordenador más populares; el Logo fue desarrollado para que los niños pudieran acceder al mundo de la informática; el C, un lenguaje de Bell Laboratories diseñado en la década de 1970, se utiliza ampliamente en el desarrollo de programas de sistemas, al igual que su sucesor, el C++. El LISP y el PROLOG han alcanzado amplia difusión en el campo de la inteligencia artificial. Evolución futura Una tendencia constante en el desarrollo de los ordenadores es la micro miniaturización, iniciativa que tiende a comprimir más elementos de circuitos en un espacio de chip cada vez más pequeño. Además, los investigadores intentan
  • 13. agilizar el funcionamiento de los circuitos mediante el uso de la superconductividad, un fenómeno de disminución de la resistencia eléctrica que se observa cuando se enfrían los objetos a temperaturas muy bajas. Las redes informáticas se han vuelto cada vez más importantes en el desarrollo de la tecnología de computadoras. Las redes son grupos de computadoras interconectados mediante sistemas de comunicación. La red pública Internet es un ejemplo de red informática planetaria. Las redes permiten que las computadoras conectadas intercambien rápidamente información y, en algunos casos, compartan una carga de trabajo, con lo que muchas computadoras pueden cooperar en la realización de una tarea. Se están desarrollando nuevas tecnologías de equipo físico y soporte lógico que acelerarán los dos procesos mencionados. Otra tendencia en el desarrollo de computadoras es el esfuerzo para crear computadoras de quinta generación, capaces de resolver problemas complejos en formas que pudieran llegar a considerarse creativas. Una vía que se está explorando activamente es el ordenador de proceso paralelo, que emplea muchos chips para realizar varias tareas diferentes al mismo tiempo. El proceso paralelo podría llegar a reproducir hasta cierto punto las complejas funciones de realimentación, aproximación y evaluación que caracterizan al pensamiento humano. Otra forma de proceso paralelo que se está investigando es el uso de computadoras moleculares. En estas computadoras, los símbolos lógicos se expresan por unidades químicas de ADN en vez de por el flujo de electrones habitual en las computadoras corrientes. Las computadoras moleculares podrían llegar a resolver problemas complicados mucho más rápidamente que las actuales supercomputadoras y consumir mucha menos energía. 1.1 Antecedentes Históricos y Tendencias Antecedentes historicos de la computadora La primera máquina de calcular mecánica, un precursor del ordenador digital, fue inventada en 1642 por el matemático francés Blaise Pascal. Aquel dispositivo utilizaba una serie de ruedas de diez dientes en las que cada uno de
  • 14. los dientes representaba un dígito del 0 al 9. Las ruedas estaban conectadas de tal manera que podían sumarse números haciéndolas avanzar el número de dientes correcto. En 1670 el filósofo y matemático alemán Gottfried Wilhelm Leibniz perfeccionó esta máquina e inventó una que también podía multiplicar. El inventor francés Joseph Marie Jacquard, al diseñar un telar automático, utilizó delgadas placas de madera perforadas para controlar el tejido utilizado en los diseños complejos. Durante la década de 1880 el estadístico estadounidense Herman Hollerith concibió la idea de utilizar tarjetas perforadas, similares a las placas de Jacquard, para procesar datos. Hollerith consiguió compilar la información estadística destinada al censo de población de 1890 de Estados Unidos mediante la utilización de un sistema que hacía pasar tarjetas perforadas sobre contactos eléctricos. El mundo de la alta tecnología nunca hubiera existido de no ser por el desarrollo del ordenador o computadora. Toda la sociedad utiliza estas máquinas, en distintos tipos y tamaños, para el almacenamiento y manipulación de datos. Los equipos informáticos han abierto una nueva era en la fabricación gracias a las técnicas de automatización, y han permitido mejorar los sistemas modernos de comunicación. Son herramientas esenciales prácticamente en todos los campos de investigación y en tecnología aplicada. 2. La máquina analítica También en el siglo XIX el matemático e inventor británico Charles Babbage elaboró los principios de la computadora digital moderna. Inventó una serie de máquinas, como la máquina diferencial, diseñadas para solucionar problemas matemáticos complejos. Muchos historiadores consideran a Babbage y a su socia, la matemática británica Augusta Ada Byron (1815–1852), hija del poeta inglés Lord Byron, como a los verdaderos inventores de la computadora digital moderna. La tecnología de aquella época no era capaz de trasladar a la práctica sus acertados conceptos; pero una de sus invenciones, la máquina analítica, ya tenía muchas de las características de un ordenador moderno.
  • 15. Incluía una corriente, o flujo de entrada en forma de paquete de tarjetas perforadas, una memoria para guardar los datos, un procesador para las operaciones matemáticas y una impresora para hacer permanente el registro. Considerada por muchos como predecesora directa de los modernos dispositivos de cálculo, la máquina diferencial era capaz de calcular tablas matemáticas. Este corte transversal muestra una pequeña parte de la ingeniosa máquina diseñada por el matemático británico Charles Babbage en la década de 1820. La máquina analítica, ideada también por Babbage, habría sido una auténtica computadora programable si hubiera contado con la financiación adecuada. Las circunstancias quisieron que ninguna de las máquinas pudieran construirse durante su vida, aunque esta posibilidad estaba dentro de la capacidad tecnológica de la época. En 1991, un equipo del Museo de las Ciencias de Londres consiguió construir una máquina diferencial Nº 2 totalmente operativa, siguiendo los dibujos y especificaciones de Babbage. 3. Los primeros ordenadores Los ordenadores analógicos comenzaron a construirse a principios del siglo XX. Los primeros modelos realizaban los cálculos mediante ejes y engranajes giratorios. Con estas máquinas se evaluaban las aproximaciones numéricas de ecuaciones demasiado difíciles como para poder ser resueltas mediante otros métodos. Durante las dos guerras mundiales se utilizaron sistemas informáticos analógicos, primero mecánicos y más tarde eléctricos, para predecir la trayectoria de los torpedos en los submarinos y para el manejo a distancia de las bombas en la aviación. 4. Ordenadores electrónicos Durante la II Guerra Mundial (1939–1945), un equipo de científicos y matemáticos que trabajaban en Bletchley Park, al norte de Londres, crearon lo que se consideró el primer ordenador digital totalmente electrónico: el Colossus. Hacia diciembre de 1943 el Colossus, que incorporaba 1.500 válvulas o tubos de vacío, era ya operativo. Fue utilizado por el equipo dirigido por Alan Turing para descodificar los mensajes de radio cifrados de los alemanes. En 1939 y con independencia de este proyecto, John Atanasoff y Clifford Berry ya habían construido un prototipo de máquina electrónica en el Iowa State College (EEUU). Este prototipo y las investigaciones posteriores se realizaron en el anonimato, y
  • 16. más tarde quedaron eclipsadas por el desarrollo del Calculador e integrador numérico electrónico (en inglés ENIAC, Electronic Numerical Integrator and Computer) en 1945. El ENIAC, que según se demostró se basaba en gran medida en el ordenador Atanasoff-Berry (en inglés ABC, Atanasoff-Berry Computer), obtuvo una patente que caducó en 1973, varias décadas más tarde. La primera computadora electrónica comercial, la UNIVAC I, fue también la primera capaz de procesar información numérica y textual. Diseñada por J. Presper Eckeret y John Mauchly, cuya empresa se integró posteriormente en Remington Rand, la máquina marcó el inicio de la era informática. En la ilustración vemos una UNIVAC. La computadora central está al fondo, y en primer plano puede verse al panel de control de supervisión. Remington Rand entregó su primera UNIVAC a la Oficina del Censo de Estados Unidos en 1951. 5. El eniac El ENIAC contenía 18.000 válvulas de vacío y tenía una velocidad de varios cientos de multiplicaciones por minuto, pero su programa estaba conectado al procesador y debía ser modificado manualmente. Se construyó un sucesor del ENIAC con un almacenamiento de programa que estaba basado en los conceptos del matemático húngaro-estadounidense John von Neumann. Las instrucciones se almacenaban dentro de una llamada memoria, lo que liberaba al ordenador de las limitaciones de velocidad del lector de cinta de papel durante la ejecución y permitía resolver problemas sin necesidad de volver a conectarse al ordenador. A finales de la década de 1950 el uso del transistor en los ordenadores marcó el advenimiento de elementos lógicos más pequeños, rápidos y versátiles de lo que permitían las máquinas con válvulas. Como los transistores utilizan mucha menos energía y tienen una vida útil más prolongada, a su desarrollo se debió el nacimiento de máquinas más perfeccionadas, que fueron llamadas ordenadores o computadoras de segunda generación. Los componentes se hicieron más pequeños, así como los espacios entre ellos, por lo que la fabricación del sistema resultaba más barata. 6. Circuitos integrados
  • 17. A finales de la década de 1960 apareció el circuito integrado (CI), que posibilitó la fabricación de varios transistores en un único sustrato de silicio en el que los cables de interconexión iban soldados. El circuito integrado permitió una posterior reducción del precio, el tamaño y los porcentajes de error. El microprocesador se convirtió en una realidad a mediados de la década de 1970, con la introducción del circuito de integración a gran escala (LSI, acrónimo de Large Scale Integrated) y, más tarde, con el circuito de integración a mayor escala (VLSI, acrónimo de Very Large Scale Integrated), con varios miles de transistores interconectados soldados sobre un único sustrato de silicio. Los circuitos integrados han hecho posible la fabricación del microordenador o microcomputadora. Sin ellos, los circuitos individuales y sus componentes ocuparían demasiado espacio como para poder conseguir un diseño compacto. También llamado chip, un circuito integrado típico consta de varios elementos como reóstatos, condensadores y transistores integrados en una única pieza de silicio. En los más pequeños, los elementos del circuito pueden tener un tamaño de apenas unos centenares de átomos, lo que ha permitido crear sofisticadas computadoras del tamaño de un cuaderno. Una placa de circuitos de una computadora típica incluye numerosos circuitos integrados interconectados entre sí. 7. Evolución cronológica de la computadora La necesidad del hombre de encontrar métodos rápidos y efectivos para resolver sus cálculos y su gran inventiva lo llevaron a través de los siglos al desarrollo de lo que hoy conocemos como la computadora. Desde el ábaco hasta las computadoras personales éstas han tenido una gran influencia en diferentes aspectos de nuestro diario vivir, mejorando nuestra calidad de vida y abriendo puertas que antes eran desconocidas para la humanidad. 500 AC: Ábaco El primer calculador de tipo mecánico fue ideado en Babilonia alrededor de 500 A.C. Este dispositivo mecánico llamado ábaco consistía de un sistema de barras y poleas con lo cual se podían efectuar diferentes tipos de cálculos aritméticos. 1622: Oughtred presenta la regla de cálculo
  • 18. Hacia 1622, el matemático inglés William Oughtred utilizó los recién inventados logaritmos para fabricar un dispositivo que simplificaba la multiplicación y la división. Consistía en dos reglas graduadas unidas que se deslizaban una sobre otra. 1642: Primera máquina de sumar El matemático y filósofo francés Blaise Pascal tenía diecinueve años cuando construyó la primera máquina sumadora del mundo en 1642. Utilizaba un engranaje de ruedas dentadas como contadores. El dispositivo llevaba 1 automáticamente al llegar a las decenas y también podía emplearse para restar. 1834: Primera computadora digital programable En 1834 el científico e inventor inglés Charles Babbage realizó los esquemas de un dispositivo el cual llamó máquina analítica lo que en realidad era una computadora de propósitos generales. Esta máquina era programada por una serie de tarjetas perforadas que contenían datos o instrucciones las cuales pasaban a través de un dispositivo de lectura, eran almacenados en una memoria y los resultados eran reproducidos por unos moldes. Esta máquina superaba por mucho la tecnología de su tiempo y nunca se terminó. 1850: Primera sumadora de teclado El teclado apareció en una máquina inventada en Estados Unidos en 1850. Podían sumarse una secuencia de dígitos pulsando unas teclas sucesivas. Cada tecla alzaba un eje vertical a cierta altura y la suma quedaba indicada por la altura total. 8. Generaciones Del Computador 9. A.C. (Antes De Ordenadores) o Dotación física + Mecánico o Software lógica + Tarjetas o cinta de papel perforadas + Ada Lovelace - primer programador (c. 1840) + Máquina de Turing y Church-Turing Thesis (1937)
  • 19. o Máquinas Especiales + Ábaco + Pascaline - Primera Máquina calculadora Automática (1642) + Telar De Telar jacquar (1805) + Motores De Babbage # Motor De Diferencia (1822) # Motor Analítico (1832) + Hollerith # Máquina De Tabulación (Censo 1890 De los E.E.U.U.) # La máquina de tabulación de las formas Co. (1896) - se convierte la IBM en 1924 + Máquina sumadora De Burroughs (1888) 10. Primera generación: C. 1940 – 1955 o Dotación física + Tubos de vacío + Tambores magnéticos + Cinta magnética (cerca del extremo de la generación) o Software lógica + Programas en terminología de la informática + Programas en lenguaje ensamblador (cerca del extremo de la generación) + 1946 - von Neumann publica el documento sobre el ordenador salvado del programa + 1950 - Prueba de Turing publicada o Máquinas Especiales + 1940 - ABC (1r ordenador electrónico) + 1940 - Robinson (1r ordenador, código operacionales de Enigma de las grietas) + 1946 - Calculadora numérica de ENIAC (1r completamente electrónico, de uso general) + 1950 - UNIVAC I (1r ordenador comercialmente acertado) 11. Segunda generación: C. 1955 – 1964 o Dotación física + Transistores # 1947 - Convertido # 1955 - Calculadora Del Transistor De IBM’s
  • 20. + Minicomputadoras + Discos magnéticos + Tarjetas de circuito impresas o Software lógica + Lenguajes de alto nivel # 1956 - FORTRAN # 1959 - COBOL o Máquinas Especiales + 1963 — PDP 8 (1ra minicomputadora) 12. Tercera generación: C. 1964 – 1971 o Dotación física + Circuitos integrados (c. desarrollada 1958) + Familias de los ordenadores (1964 - IBM 360) + 1970 - Diskette o Software lógica + Los programas entraron directamente en los ordenadores + Lenguajes de un nivel más alto (1965 - BASIC) + Sistemas operativos + Timesharing o Máquinas Especiales + 1964 — Serie del sistema 360 de la IBM (1ra familia de ordenadores) 13. Cuarta generación: C. 1971 – PRESENTE o Dotación física + 1971 - Viruta del microprocesador introducida en los E.E.U.U. por Intel + Microordenadores (Ordenadores Personales) + Integración De la Escala Grande (LSI) + Integración De la Escala Muy Grande (Vlsi) o Software lógica + Programación estructurada + Conjuntos de aplicación + Sistemas del windowing (interfaces utilizador gráficos — GUIs) + Programas conviviales o Máquinas Especiales + 1971 - (1ra calculadora de bolsillo)
  • 21. + 1975 — Altaír 8800 (1ra PC) + 1977 — Manzana I (hágala usted mismo kit) + 1978 — Manzana II (premontada) + 1981 — PC DE LA IBM + 1984 — Impermeable 14. Tendencias generales o Dotación física + Más pequeño + Más rápidamente + Más barato + Más disponible o Software lógica + Más grande (más exige en la dotación física: CPU, memoria, espacio de disco, etc.) + Más fácil utilizar + Mejore El Diseño + Más barato + Más disponible 15. Ordenadores analógicos El ordenador analógico es un dispositivo electrónico o hidráulico diseñado para manipular la entrada de datos en términos de, por ejemplo, niveles de tensión o presiones hidráulicas, en lugar de hacerlo como datos numéricos. El dispositivo de cálculo analógico más sencillo es la regla de cálculo, que utiliza longitudes de escalas especialmente calibradas para facilitar la multiplicación, la división y otras funciones. En el típico ordenador analógico electrónico, las entradas se convierten en tensiones que pueden sumarse o multiplicarse empleando elementos de circuito de diseño especial. Las respuestas se generan continuamente para su visualización o para su conversión en otra forma deseada. 16. Ordenadores digitales Todo lo que hace un ordenador digital se basa en una operación: la capacidad de determinar si un conmutador, o ‘puerta’, está abierto o cerrado. Es decir, el ordenador puede reconocer sólo dos estados en cualquiera de sus circuitos
  • 22. microscópicos: abierto o cerrado, alta o baja tensión o, en el caso de números, 0 o 1. Sin embargo, es la velocidad con la cual el ordenador realiza este acto tan sencillo lo que lo convierte en una maravilla de la tecnología moderna. Las velocidades del ordenador se miden en megahercios, o millones de ciclos por segundo. Un ordenador con una velocidad de reloj de 100 MHz, velocidad bastante representativa de un microordenador o microcomputadora, es capaz de ejecutar 100 millones de operaciones discretas por segundo. Las microcomputadoras de las compañías pueden ejecutar entre 150 y 200 millones de operaciones por segundo, mientras que las supercomputadoras utilizadas en aplicaciones de investigación y de defensa alcanzan velocidades de miles de millones de ciclos por segundo. La velocidad y la potencia de cálculo de los ordenadores digitales se incrementan aún más por la cantidad de datos manipulados durante cada ciclo. Si un ordenador verifica sólo un conmutador cada vez, dicho conmutador puede representar solamente dos comandos o números. Así, ON simbolizaría una operación o un número, mientras que OFF simbolizará otra u otro. Sin embargo, al verificar grupos de conmutadores enlazados como una sola unidad, el ordenador aumenta el número de operaciones que puede reconocer en cada ciclo. Por ejemplo, un ordenador que verifica dos conmutadores cada vez, puede representar cuatro números (del 0 al 3), o bien ejecutar en cada ciclo una de las cuatro operaciones, una para cada uno de los siguientes modelos de conmutador: OFF-OFF (0), OFF-ON (1), ON-OFF (2) u ON-ON (3). En general, los ordenadores de la década de 1970 eran capaces de verificar 8 conmutadores simultáneamente; es decir, podían verificar ocho dígitos binarios, de ahí el término bit de datos en cada ciclo. Un grupo de ocho bits se denomina byte y cada uno contiene 256 configuraciones posibles de ON y OFF (o 1 y 0). Cada configuración equivale a una instrucción, a una parte de una instrucción o a un determinado tipo de dato; estos últimos pueden ser un número, un carácter o un símbolo gráfico. Por ejemplo, la configuración 11010010 puede representar datos binarios, en este caso el número decimal 210 , o bien estar indicando al ordenador que compare los datos almacenados en estos conmutadores con los datos almacenados en determinada ubicación del chip de memoria. El desarrollo de procesadores capaces de manejar simultáneamente 16, 32 y 64 bits de datos ha permitido incrementar la velocidad de los ordenadores. La colección completa de configuraciones reconocibles, es decir, la lista total de operaciones que una
  • 23. computadora es capaz de procesar, se denomina conjunto, o repertorio, de instrucciones. Ambos factores, el número de bits simultáneos y el tamaño de los conjuntos de instrucciones, continúa incrementándose a medida que avanza el desarrollo de los ordenadores digitales modernos. 17. Evolución futura Una tendencia constante en el desarrollo de los ordenadores es la microminiaturización, iniciativa que tiende a comprimir más elementos de circuitos en un espacio de chip cada vez más pequeño. Además, los investigadores intentan agilizar el funcionamiento de los circuitos mediante el uso de la superconductividad, un fenómeno de disminución de la resistencia eléctrica que se observa cuando se enfrían los objetos a temperaturas muy bajas. Las redes informáticas se han vuelto cada vez más importantes en el desarrollo de la tecnología de computadoras. Las redes son grupos de computadoras interconectados mediante sistemas de comunicación. La red pública Internet es un ejemplo de red informática planetaria. Las redes permiten que las computadoras conectadas intercambien rápidamente información y, en algunos casos, compartan una carga de trabajo, con lo que muchas computadoras pueden cooperar en la realización de una tarea. Se están desarrollando nuevas tecnologías de equipo físico y soporte lógico que acelerarán los dos procesos mencionados. Otra tendencia en el desarrollo de computadoras es el esfuerzo para crear computadoras de quinta generación, capaces de resolver problemas complejos en formas que pudieran llegar a considerarse creativas. Una vía que se está explorando activamente es el ordenador de proceso paralelo, que emplea muchos chips para realizar varias tareas diferentes al mismo tiempo. El proceso paralelo podría llegar a reproducir hasta cierto punto las complejas funciones de realimentación, aproximación y evaluación que caracterizan al pensamiento humano. Otra forma de proceso paralelo que se está investigando es el uso de computadoras moleculares. En estas computadoras, los símbolos lógicos se expresan por unidades químicas de ADN en vez de por el flujo de electrones habitual en las computadoras corrientes. 1.2 Modelo de Von Neuman
  • 24. John Von Newman observo que la torpeza de la aritmética decimal utilizadas en la computadora ENIAC podia remplazarse utilizando la aritmatica binaria. Realizo un diseño básico llamado la máquina de Von Newman y se utilizo en la computadora EDVAC que fue la primer computadora que almacenaba el programa. La máquina de Von Newman tenia 5 partes principales y son las siguientes: LA MEMORIA: Constaba de 4096 palabras cada una de 40 bits.Y cada palabra podia contener 2 instrucciones de 20 bits cada una o un número entero de 39 bits y su signo. UNIDAD DE CONTROL:Es la que supervisaba la transferencia de información y la indicaba a la unidad aritmetica lógica cual operación debia ejecutar. UNIDAD DE ARITMATICA LÓGICA: Es aquella que se encarga de realizar las operaciones aritméticas y lógicas necesarias para la ejecución de una instrucción. ENTRADA:Es cualquier dispositivopor el que se introduce información a la computadora. SALIDA:Es cualquier dispositivo que recibe información de la máquina para ser utilizadas por el usuario. Centrándonos en los ordenadores sobre los que vamos a trabajar desarrollaré a grandes rasgos la arquitectura Von Newman que, si bien no es la primera en aparecer, sí que lo hizo prácticamente desde el comienzo de los ordenadores y se sigue desarrollando actualmente. Claro es que está siendo desplazada por otra que permiten una mayor velocidad de proceso, la RISC. En los primeros tiempos de los ordenadores, con sistemas de numeración decimal, una electrónica sumamente complicada muy susceptible a fallos y un sistema de programación cableado o mediante fichas, Von Newman propuso dos conceptos básicos que revolucionarían la incipiente informática: a) La utilización del sistema de numeración binario. Simplificaba enormemente los problemas que la implementación electrónica de las
  • 25. operaciones y funciones lógicas planteaban, a la vez proporcionaba una mayor inmunidad a los fallos (electrónica digital). b) Almacenamiento de la secuencia de instrucciones de que consta el programa en una memoria interna, fácilmente accesible, junto con los datos que referencia. De este forma la velocidad de proceso experimenta un considerable incremento; recordemos que anteriormente una instrucción o un dato estaban codificados en una ficha en el mejor de los casos. Tomando como modelo las máquinas que aparecieron incorporando las anteriores características, el ordenador se puede considerar compuesto por las siguientes partes: - La Unidad Central de Proceso, U.C.P., más conocida por sus siglas en inglés (CPU). - La Memoria Interna, MI. - Unidad de Entrada y Salida, E/S. - Memoria masiva Externa, ME. Realicemos a continuación una descripción de lo que se entiende por cada una de estas partes y cómo están relacionadas entre si: - La Unidad Central de Proceso (CPU) viene a ser el cerebro del ordenador y tiene por misión efectuar las operaciones aritmético-lógicas y controlar las transferencias de información a realizar. - La Memoria Interna (MI) contiene el conjunto de instrucciones que ejecuta la CPU en el transcurso de un programa. Es también donde se almacenan temporalmente las variables del mismo, todos los datos que se precisan y todos los resultados que devuelve. - Unidades de entrada y salida (E/S) o Input/Output (I/O): son las encargadas de la comunicación de la máquina con el exterior, proporcionando al operador una forma de introducir al ordenador tanto los programas como los datos y obtener los resultados. Como es de suponer, estas tres partes principales de que consta el ordenador deben estar íntimamente conectadas; aparece en este momento el
  • 26. concepto de bus: el bus es un conjunto de líneas que enlazan los distintos componentes del ordenador, por ellas se realiza la transferencia de datos entre todos sus elementos. Se distinguen tres tipos de bus: - De control: forman parte de él las líneas que seleccionan desde dónde y hacia dónde va dirigida la información, también las que marcan la secuencia de los pasos a seguir para dicha transferencia. - De datos: por él, de forma bidireccional, fluyen los datos entre las distintas partes del ordenador. - De direcciones: como vimos, la memoria está dividida en pequeñas unidades de almacenamiento que contienen las instrucciones del programa y los datos. El bus de direcciones consta de un conjunto de líneas que permite seleccionar de qué posición de la memoria se quiere leer su contenido. También direcciona los puertos de E/S. La forma de operar del ordenador en su conjunto es direccionar una posición de la memoria en busca de una instrucción mediante el bus de direcciones, llevar la instrucción a la unidad central de proceso -CPU- por medio del bus de datos, marcando la secuencia de la transferencia el bus de control. En la CPU la instrucción se decodifica, interpretando qué operandos necesita: si son de memoria, es necesario llevarles a la CPU; una vez que la operación es realizada, si es preciso se devuelve el resultado a la memoria. 1.3 Clasificacion de las Computadoras Las computadoras se clasifican : A)DE ACUERDO A SU FORMA DE OPERACION B)DE ACUERDO CON EL PROPOSITO PARA EL QUE SON CONSTRUIDAS c)DEACUERDO CON SU POTENCIA Y PRECIO DE ACUERDO A SU FORMA DE OPERACION:
  • 27. Estas a su vez se clasifican en Analogicas que son las que su informacion que se alimenta a ellas proviene de alguna forma de medicion donde su exactitud esta directamente relacionadala presicion de su medicion,Tambien existen las Digitales que son dispositivos de calculo que procesan datos discretos o digitos representados por numeros letras u otros simbolos especiales resuelve los problemas mediante operaciones aritmeticas ,lógicas y relacionales;y por ultimo estan las hibridas que combinan las caracteristicas mas favorables de las 2 anteriores tienen la velocidad de las Analogicas y la precision de las digitales. DE ACUERDO CON EL PROPOSITO PARA EL QUE SON CONSTRUIDAS: Las hay de Proposito Especial que se diseñan para manejar problemas específicos y no se aplican a otras actividades computarizadas y tambien las hay de Proposito General que son diseñadas para resolver problemas diversos que se presentan frecuentemente en cualquier organización. DE ACUERDO CON SU POTENCIA Y PRECIO: Se clasifican en Supercomputadora que utilizan sistemas de refrigeracion para dispersar el calor generado por la maquina,Macrocomputadora su informacion esta organizada en una o mas base de datos enormes,Minicomputadora puede manejar mas entradas y salidas de informacion que una computadora personal y la Microcomputadora que estan diseñadas para ser utilizadas por un solo usuario a la vez pueden costar desde 100dlls. hasta 7500. CLASIFICACION DE LAS COMPUTADORAS. Las computadoras se clasifican : A)DEACUERDO A SU FORMA DE OPERACION B)DEACUERDO CON EL PROPOSITO PARA EL QUE SON CONSTRUIDAS c)DEACUERDO CON SU POTENCIA Y PRECIO DEACUERDO A SU FORMA DE OPERACION: Estas a su vez se clasifican en Analogicas que son las que su informacion que se alimenta a ellas proviene de alguna forma de medicion donde su exactitud esta directamente relacionadala presicion de su medicion,Tambien existen las Digitales que son dispositivos de calculo que procesan datos discretos o digitos representados por numeros letras u otros simbolos especiales resuelve los
  • 28. problemas mediante operaciones aritmeticas ,lógicas y relacionales;y por ultimo estan las hibridas que combinan las caracteristicas mas favorables de las 2 anteriores tienen la velocidad de las Analogicas y la precision de las digitales. DEACUERDO CON EL PROPOSITO PARA EL QUE SON CONSTRUIDAS:Las hay de Proposito Especial que se diseñan para manejar problemas específicos y no se aplican a otras actividades computarizadas y tambien las hay de Proposito General que son diseñadas para resolver problemas diversos que se presentan frecuentemente en cualquier organización. DEACUERDO CON SU POTENCIA Y PRECIO:Se clasifican en Supercomputadora que utilizan sistemas de refrigeracion para dispersar el calor generado por la maquina,Macrocomputadora su informacion esta organizada en una o mas base de datos enormes,Minicomputadora puede manejar mas entradas y salidas de informacion que una computadora personal y la Microcomputadora que estan diseñadas para ser utilizadas por un solo usuario a la vez pueden costar desde 100dlls. hasta 7500. El procesador El procesador es el cerebro del ordenador. Controla el funcionamiento de la computadora y lleva a cabo las funciones de procesamiento de datos. La velocidad del microprocesador se mide en Mega Hertz, aunque solo es la fuerza bruta del procesador. Este va montado sobre un socket de la mother board, existe otra velocidad, la FBS, que es la velocidad con la que se comunican el procesador y la mother board. Partes De Un Microprocesador 1. - Encapsulado: rodea el chip, sirve para protegerlo contra los agentes externos y para montar los conectores externos para montarlo en la mother board. 2. - La memoria caché: memoria muy rápida donde el procesador almacena los datos que está usando o los que va a usar próximamente. 3. - FPU, floating point unit: parte especializada en cálculos de punto flotante. 4. - Existen otras piezas que no es necesario mencionar por el momento. Por su estructura Por su fuente de energía. La forma más común de alimentación de una computadora pues es la energía eléctrica, antes las computadoras gastaban muchísima electricidad, hoy en día gracias a las nuevas tecnologías en los componentes se ahorra mucha electricidad. Entre esta clase de computadoras están las analógicas y las digitales. Las computadoras analógicas basan su funcionamiento en comparar parámetros y hacer mediciones, analogía quiere decir comparación. Sus cálculos los hacen con base a comparaciones que realizan por medio de instrumentos mecánicos. Las computadoras digitales
  • 29. realizan todas sus operaciones basándose en cálculos matemáticos exclusivamente. Se basan en el sistema binario y en las matemáticas discretas, de estado finito, a diferencia de las analógicas que siguen unas matemáticas continuas. En el siglo XIX Charles Babbage desarrolló una computadora analógica que funcionaba a base de engranes, Claro está que su propulsión era puramente mecánica, fue ayudado por Ada Lovelace, a quien se le atribuye el haber escrito el primer algoritmo de computación. La idea de la máquina de Babbage era buena, pero nunca funcionó bien debido a que la precisión que requerían las piezas sobrepasaba la tecnología de aquel tiempo. Por su tamaño. La característica es su tamaño, refiriéndose a su capacidad de cómputo. Macrocomputadora: máquina utilizada en grandes organizaciones, es capaz de comunicarse con varios usuarios a la vez. El trabajar con varios usuarios a la vez se logra debido a la gran capacidad de esta clase de máquina y a un método que se llama tiempo compartido. El tiempo compartido se basa en que el procesador tiene tiempos muertos, entonces para evitar esto se asignan pequeños espacios de tiempo a cada usuario en los cuales se realizan parte de las operaciones que solicita el usuario, dado el corto espacio de tiempo entre las interrupciones de un usuario a otro no se siente ninguna clase de retraso o de tiempo de espera. Además también se debe a la gran rapidez del sistema. Minicomputadora: también es una máquina multiusuario, pero no es tan grande como una macrocomputadora. Estación de trabajo: esta es más potente que una microcomputadora, también tiene potencia para ser multiusuario, pero es mas frecuentemente utilizada por ingenieros o científicos que requieran una gran cantidad de cálculos. Entre la comunidad de desarrolladores de software una estación de trabajo es muy útil, porque además de hacer el trabajo en red mas dinámico se requiere de bastante potencia para compilar programas de gran tamaño. Aunque se puede decir que una estación de trabajo es solo una PC pero más potente. Microcomputadora: es una PC, son utilizadas para trabajos de oficina o para entretenimiento multimedia. Las hay de escritorio o portátiles. 2. Arquitectura de su procesador Procesadores CISC y RISC. Agrupados en dos familias, la más antigua es la CISC, complex instruction set computer. Corresponde a procesadores capaces de ejecutar un gran número de instrucciones pre-definidas en lenguaje máquina, en un orden de centenas. Los procesadores RISC, reduced instruction set computer. Permite una ejecución más rápida, pero requiere de compiladores más complejos ya que el RISC admite menos instrucciones que un CISC. RISC Las características comunes a todos los procesadores RISC, fuente de sus capacidades de altas prestaciones, son: 1.Modelo de conjunto de instrucciones Load/Store (Cargar/Almacenar).
  • 30. Sólo las instrucciones Load/Store acceden a memoria; las demás operaciones en un RISC, tienen lugar en su gran conjunto de registros. Ello simplifica el direccionamiento y acorta los tiempos de los ciclos de la CPU, y además facilita la gestión de los fallos de paginas (page faults) en entornos de memoria virtual. Además, permite un elevado nivel de concurrencia a consecuencia de la independencia de las operaciones de Load/Store de la ejecución del resto de las instrucciones. 2.Arquitectura no destructiva de tres direcciones. Los procesadores CISC destruyen la información que existe en alguno de los registros, como consecuencia de la ejecución normal de instrucciones; esto es debido a su arquitectura de dos direcciones, por la cual el resultado de una operación sobrescribe uno de los registros que contenía a los operandos. Por contra, las instrucciones RISC, con tres direcciones, contienen los campos de los dos operándoos y de su resultado. Por lo tanto, tanto los operandos origen como el destino, son mantenidos en los registros tras haber sido completada la operación. Esta arquitectura “no destructiva” permite a los compiladores organizar las instrucciones de modo que mantengan llenos los conductos (pipelines) del chip, y por tanto reutilizar los operandos optimizando la concurrencia. 3.Instrucciones simples, de formato fijo, con pocos modos de direccionamiento. Las instrucciones simples reducen de manera muy significativa el esfuerzo para su descodificación, y favorecen su ejecución en pipelines. Las instrucciones de longitud fija, con formatos fijos, implican que los campos de códigos de operación (opcodes) y de los operandos están siempre codificados en las mismas posiciones, permitiendo el acceso a los registros al mismo tiempo que se está descodificando el código de operación. Todas las instrucciones tienen una longitud equivalente a una palabra y están alineadas en la memoria en límites de palabra (word boundaries), ya que no pueden ser repartidas en pedazos que puedan estar en diferentes páginas. 4.Ausencia de microcódigo. El microcódigo no se presta a la ejecución en ciclos únicos, ya que requiere que el hardware sea dedicado a su interpretación dinámica. La programación en microcódigo no hace que el software sea más rápido que el programado con un conjunto de instrucciones simples. Todas las funciones y el control, en los procesadores RISC, están “cableados” (hardwired), para lograr una máxima velocidad y eficiencia. 5.Ejecución en conductos (pipelined). Las instrucciones simples, de formato fijo y ciclo único permiten que las diferentes etapas de los ciclos de ejecución (búsqueda o fetch, descodificación, ejecución, y escritura del resultado o result write-back) para instrucciones múltiples, se puedan realizar simultáneamente, de un modo más simple y eficaz. 6.Ejecución en ciclos únicos (single-cycle). El resultado directo de los conjuntos de
  • 31. instrucciones que ofrecen los procesadores RISC, es que cada instrucción puede ser ejecutada en un único ciclo de la CPU. Esto invalida la creencia de que las microinstrucciones en microcódigo, creadas para ser ejecutadas en un solo ciclo de procesador, son más rápidas que las instrucciones del lenguaje ensamblador. Ya que el caché esta construido partiendo de la misma tecnología que el almacenamiento de control del microprograma, una única instrucción puede ser ejecutada a la misma velocidad que una microinstrucción. La ejecución en ciclos únicos también simplifica la gestión de las interrupciones y los conductos (pipelines). RISC frente a CISC: Existen varios mitos que contraponen las ventajas de la tecnología RISC frente a la CISC, que es importante descalificar: a. Los procesadores RISC ofrecen peor soporte para los lenguajes de alto nivel o HLL (High Level Language) que lo CISC. Esta creencia se argumenta en que un conjunto de instrucciones de “alto nivel” (CISC) es mejor soporte para lenguajes de alto nivel. Sin embargo, la característica fundamental de los lenguajes de alto nivel, implica que el programador sólo interacciona con el ordenador a través del propio lenguaje de alto nivel (programación, depuración, mensajes del sistema, etc.), por lo que todos los problemas a “bajo nivel”, deben de ser transparentes y desconocidos para él. Por ello, son de nulas consecuencias para el programador y los lenguajes de alto nivel, como se implementan las funciones, en función del tipo de CPU. b. Es más complicado escribir compiladores RISC que CISC. Dado que los procesadores CISC tienen un mayor número de instrucciones y modos de direccionamiento, existen por tanto más formas de hacer la misma tarea, lo que puede confundir tanto al compilador como al que lo escribe. Por ello, subjetivamente es posible escoger una forma de hacerlo poco adecuada, por el tipo de instrucciones o por el tiempo de ejecución que requieren. En cambio, en un procesador RISC, hay menos opciones, por lo que el compilador es más simple, aunque se genere, habitualmente, un 20–30% más código; a cambio, se consigue un incremento de la velocidad de hasta un 500%. c. Un programa es más rápido cuanto más pequeño. La velocidad a la que un programa puede ser ejecutado no depende en absoluto de su tamaño, sino del tiempo de ejecución de cada una de sus instrucciones. Dado que las instrucciones RISC son más rápidas, y admiten mejor los pipelines, puede haber mayor paralelismo y simultaneidad en la ejecución de pequeñas secciones de código. Dichas secciones de código pueden ser ejecutadas en una fracción del tiempo que requiere una sola instrucción CISC. Resumiendo: No es un hecho meramente académico, sino puramente comercial y económico. La “era RISC” ha alcanzado a todos los fabricantes de semiconductores: AMD, Intel, MIPS, Motorola, ROSS,
  • 32. …; y todos ellos son productos usados por fabricantes de ordenadores y estaciones de trabajo: Apple, DEC, HP, IBM, SUN, etc. y sus correspondientes clónicos. El tiempo de diseño de estos productos se reduce sensiblemente, lo que disminuye su coste final, y por tanto, se incrementan sus expectativas, al poder llegar al mercado en un tiempo más adecuado, y con menos posibilidades de errores. Además, son globalmente más eficaces, de menores dimensiones y más bajo consumo, ofreciendo siempre claras ventajas técnicas frente a los más avanzados CISC. Actualmente, las estaciones de trabajo RISC multiprocesadoras de mayor éxito, se basan en diferentes versiones de la tecnología SPARC: superSPARC e Hyper SPARC?. Esta claro que el futuro pertenece a los RISC y a los sistemas multiprocesador, a no ser que la física y la electrónica logren superar las barreras tecnológicas para incrementar muy por encima de las cotas actuales, las velocidades y prestaciones de una única CPU. También cabe esperar, y por que no, la pronta aparición de otras tecnologías que compitan con CISC y RISC. Arquitectura Von Newman. En los primeros tiempos de los ordenadores se utilizaba el sistema decimal, por lo tanto una electrónica sumamente complicada y propensa a fallos. Además un sistema de programación cableado o mediante fichas, Von Newman propuso dos conceptos básicos que revolucionaron la informática. a) La utilización del sistema binario. Esto simplificaba muchísimo la electrónica de las operaciones matemáticas y lógicas, a la vez este sistema era más inmune a los fallos, esto es la electrónica digital. b) Almacenamiento de la secuencia de instrucciones de que consta el programa en una memoria interna, fácilmente accesible, lo cual reduce el tiempo de espera. Multiprocesamiento Multiprocesadores débilmente acoplados. Consiste en un conjunto de sistemas relativamente autónomos, donde cada CPU tiene su propia memoria principal y sus canales E / S. Procesadores de uso específico. Por ejemplo los procesadores de E / S, en este caso hay un procesador maestro, y los procesadores de uso específico están controlados por la CPU maestra. Multiprocesadores fuertemente acoplados. Conjunto de procesadores que comparten la misma memoria principal. Procesadores paralelos. Multiprocesadores fuertemente acoplados que pueden cooperar en la ejecución en paralelo de una misma tarea. Procesador Unidad de control Controla las operaciones que se deben realizar. Su operación obedece a las instrucciones aportadas por el programa que se esté ejecutando, recoge las instrucciones del programa directamente de la memoria central y administra las operaciones de los demás componentes del procesador, ordenando y guardando los datos en la memoria antes y después de haber sido tratados por la unidad aritmética-lógica. Realiza dos tareas básicas: SECUENCIAMIENTO.
  • 33. Hace que la CPU avance a través de las micro operaciones al tiempo debido. EJECUCIÓN. Se encarga de que las operaciones sean ejecutadas. ENTRADAS. Permiten determinar el estado del sistema. SALIDAS. Permiten controlar el estado del sistema. Unidad de ejecución Es la que ejecuta las instrucciones y realiza los cálculos a partir de las señales de control. Bus interno. Conecta todos los componentes de la CPU al chipset y a la memoria principal. La velocidad de este es muy importante, ya que si la velocidad del bus es muy poca, aumentará el tiempo de espera del procesador, no obstante se tenga un procesador muy bueno, claro, en todo debe haber un equilibrio, por ejemplo el procesador PI de 166 MHz trabaja sobre un bus de sistema de 66 MHz y el PIIII trabaja con un bus de 400 MHz, aunque trabajaría mejor con un bus de 800, este bus no salió por problemas con los fabricantes de tarjetas madre. Memoria caché Memoria ultra rápida donde la CPU almacena los datos que va a usar o que está usando, haciendo que el tiempo de respuesta no se ralentice debido a la menor velocidad de la RAM. Esta memoria es sumamente rápida, unas 5 o 6 veces más rápida que la memoria RAM, hablando de equilibrio se debe mantener este en todos los aspectos, una caché muy pequeña puede hacer que el procesador se tarde mucho en encontrar los datos que necesita al buscarlos en la memoria RAM, y por el contrario una caché muy grande puede hacer que el procesador se tarde más en encontrar los datos que busca. Pila y cola Pila. Colección de elementos donde se pueden suprimir o insertar nuevos elementos por un lado. Cola. Colección de elementos donde se pueden insertar elementos nuevos por un lado llamado final y eliminarlos por un lado llamado frente. 3. Memoria En un sistema los programas a ejecutarse deben ser almacenados en una memoria para que la CPU pueda acceder a ellos y realizar operaciones con ellos, una computadora sin memoria sería totalmente inservible. Memoria Principal Es la unidad de almacenamiento central, es aquí donde se almacenan los datos y los programas que la computadora está usando en ese momento, debe de ser suficientemente grande para soportar al sistema. La mayoría de esta memoria es memoria RAM, pero también está la memoria ROM, que contiene las instrucciones base de la computadora, es la que reconoce los dispositivos que esta posee, así como el conjunto de instrucciones para su funcionamiento. Memoria RAM Es una memoria bastante rápida, de acceso aleatorio, es volátil, así que solo almacena los datos temporalmente para ser usados mientras se ejecuta el programa en curso. Memoria ROM Memoria de solo lectura, esta memoria no se puede borrar, es programada por el proveedor de la computadora, esto de solo lectura es relativo, ya que si se puede borrar o alterar, pero no es volátil como la memoria RAM. EPROM. Esta memoria solo se puede borrar con rayos
  • 34. ultravioleta, se puede usar para un propósito especial en hardware. EEPROM. Es eléctricamente borrable y se puede programar mediante una interfase especial conectada a una computadora. PROM. Esta puede ser programada una sola vez por el usuario o por el fabricante. Memoria Secundaria En esta memoria se almacenan los datos de manera permanente, para ser utilizados después. Estos datos pueden ser manipulados por el usuario ya que es aquí donde se guardan todos los archivos de este, incluyendo los programas que utiliza el sistema para funcionar, entre otros programas del usuario. Disco duro. Unidad fija de gran capacidad, hasta de 120 Giga Bytes, Almacena los datos de forma permanente. Discos flexibles. Unidad extraíble de pequeña capacidad, hasta 1.6 Mega Bytes dependiendo del sistema de archivos, almacena los datos como cargas magnéticas al igual que el disco duro. Puertos Definición: Un puerto es el lugar donde el CPU se comunica con otros dispositivos, existen de varios tipos, hay puertos de entrada, de salida y ambos. Además estos pueden ser seriales o paralelos. Puertos de entrada: Estos puertos recogen datos de algún dispositivo externo, externo se refiere a estar fuera del CPU, no del gabinete. Existen muchos dispositivos periféricos que se conectan a un puerto de entrada, por ejemplo tenemos al teclado y al mouse, también están los lápices ópticos, los lectores de código se barras, etc. Puertos de salida: Son todos aquellos por donde el CPU envía datos a otros dispositivos, por ejemplo están la salida de video y de sonido. Puertos de entrada / salida: Estos son una clase de puertos por donde el CPU puede enviar y recibir información. Son muy importantes, ya que entre estos se encuentran las memorias del CPU como son la RAM, ROM, los floppys y discos duros. Estos puertos pueden ser usados para controlar dispositivos, tales como las impresoras y los quemadores externos, por ejemplo. Nosotros vamos a hablar acerca de los puertos que se encuentran fuera del gabinete, hablaremos de los puertos de teclado, mouse, impresoras, etc. La computadora por si misma no seria capaz de realizar operaciones útiles para nosotros si no podemos comunicarnos con ella, necesita dispositivos periféricos por donde pueda darnos mensajes y nosotros podamos enviarle órdenes. Ahora bien, existen infinidad de dispositivos que sirven de extensión a la computadora, muchos son para fines muy específicos y no se pueden abarcar, entre los dispositivos que son de uso común se encuentra la impresora, el teclado, el mouse y el monitor. Puerto serial: El puerto serial es aquel que envía y recibe los datos BIT por BIT, entre los puertos seriales se puede mencionar el puerto de teclado, o el puerto del MODEM. Puerto paralelo: Este tipo de puerto transmite la información byte por byte, o sea que transmite ocho bits al mismo tiempo, de forma paralela. un puerto paralelo por excelencia pues es el puerto para
  • 35. impresora Se puede observar que un puerto de entrada puede ser paralelo o serial, lo mismo que un puerto de entrada o de entrada / salida. A cada puerto la bios le asigna una dirección de memoria para que pueda trabajar, dependiendo de que clase de puerto sea se le asigna un determinado espacio exclusivo para él. Por medio de estas localidades de memoria el sistema puede enviarles o recibir información, es una especie de memoria de intercambio para la transmisión de dados de un lugar a otro. A esto se le llama espacio de localidades de memoria y se realiza dentro del primer kilo bite de la memoria principal. Existen otras asignaciones de memoria en otras capas superiores de memoria pero estas son hechas por el sistema operativo y por los demás programas, pero estas asignaciones son para fines específicos de los demás programas. Los puertos no solo se limitan a recibir la información, o enviarla, según sea el caso. El puerto provee la corriente eléctrica necesaria para el funcionamiento del dispositivo y revisa el estado de este. 4. Efecto de tuberías Las tuberías son el medio mediante dos procesos se comunica entre sí, son unidireccionales, o sea que existe un proceso que genera la tubería y otro que recibe la información. En UNIX la tubería se genera mediante una pipa o pipe en inglés: Root@darkstar# ‹proceso 1> | <proceso 2› Esto genera una tubería del proceso uno al proceso dos, pero, ¿qué es esto? Esto significa que la salida del proceso uno servirá de entrada al proceso dos. Lógica Predictiva Aquí el procesador puede decidir el curso que seguirán los procesos a ejecutar, lo cual permite adelantarse al “curso natural de los sucesos” y “adelantarse” a las siguientes instrucciones. Así es que el procesador predice en cada bifurcación si el proceso tomará o no la bifurcación y por lo tanto las búsquedas y ejecuciones de las instrucciones subsecuentes. Si la predicción es correcta la ejecución seguirá sin interrupción. En cambio si es incorrecta cualquier instrucción ejecutada después de la bifurcación será cancelada y el procesador retorna al estado en que estaba antes de tomar dicha bifurcación y continua con el camino correcto. Segmentación La segmentación permite al programador considerar la memoria como un conjunto de bloques o segmentos, pueden ser de tamaño desigual. La segmentación simplifica el manejo de estructuras de datos dinámicas, asignando un segmento del tamaño adecuado para la estructura y agregando o reduciendo el espacio según se vaya requiriendo espacio en la memoria. Permite alterar y recompilar los programas de forma independiente sin tener que volver a ligar y cargar el conjunto entero de programas. Además como se conoce el espacio del segmento se pueden tener restricciones o privilegios al acceder a este espacio de memoria. Computadoras Matriciales Procesadores vectoriales. Existe un problema que está fuera del alcance de las computadoras
  • 36. convencionales, es cuando se requiere una gran cantidad de cálculos que a una computadora convencional le tomaría días resolver. Para este fin se desarrollaron las supercomputadoras con capacidades especiales para resolver problemas tales como simulaciones aerodinámicas y espaciales y sistemas expertos. Supercomputadoras Sistema con capacidades procesamiento paralelo y de gran potencia. Capaces de realizar cientos de millones de operaciones en coma flotante por segundo, diseñadas para la multiprogramación y las entradas y saldas intensivas. Hay otro tipo de sistemas conocidos como procesadores matriciales, que han sido diseñados para realizar cálculos vectoriales, están configurados como dispositivos periféricos para que los usuarios de computadoras centrales y minicomputadoras puedan ejecutar partes vectorizadas de sus programas. Sistemas Multiprocesadores La industria informática, ha tenido siempre un objetivo primordial, repetido a lo largo de toda su cadena (fabricantes de semiconductores, fabricantes de sistemas y usuarios): la búsqueda de la velocidad. Para alcanzar este objetivo se han invertido ingentes cantidades de recursos, hasta alcanzar los límites físicos del silicio. Obviamente, la velocidad va ligada a las prestaciones, y por lo general, la primera ha sido la principal medida para decidirse por un sistema u otro. Sin embargo, por muy evidente que parezca, y dados los límites físicos de los semiconductores, las prestaciones pueden no estar forzosamente ligadas a la velocidad. Hoy es posible construir sistemas, que aún teniendo procesadores más “lentos” que otros, ofrezcan unas prestaciones significativamente superiores. Son los sistemas multiprocesador, que como su denominación indica, incorporan varios procesadores para llevar a cabo las mismas funciones. No es un concepto nuevo, ya que los “minicomputadores” construidos por compañías como NCR, Sequent y Stratus, ya empleaban varios nodos de proceso como alternativas económicas a otros productos de otras compañías. Sin embargo, aquellos sistemas aún duplicaban recursos caros del sistema, como memoria y dispositivos de entrada/salida, y por tanto, confinaban a los sistemas multiprocesador al mundo de los sistemas de alto nivel. Ahora, y en gran medida gracias a los procesadores de arquitectura RISC, el soporte multiprocesador es una solución integrada y fácilmente disponible en estaciones de trabajo de sobremesa, que resuelve, a través de hardware VLSI, los complejos problemas de compartición de recursos (memoria compartida) de aquellas primeras máquinas. Evidentemente, estas mejoras en el hardware, para ser funcionales, requieren importantes desarrollos en el software, y de hecho, muchos sistemas operativos admiten extensiones multiproceso (Match, SCO, Solaris, System V, etc.), que proporcionan paralelismo “en bruto” (asignando
  • 37. múltiples tareas a múltiples procesadores) a nivel del sistema operativo. Las aplicaciones escritas para facilitar el paralelismo en su ejecución, incrementan significativamente las prestaciones globales del sistema; esto es lo que se denomina multi-enhebrado (multithreading), que implica dividir una sola aplicación entre varios procesadores. Sin embargo, los desarrolladores de software y programadores de aplicaciones sólo han comenzado a explorar las vastas posibilidades de incremento de prestaciones que ofrecen los sistemas con capacidades reales de proceso en paralelo. El multiproceso no es algo difícil de entender: más procesadores significan mas potencia computacional. Un conjunto de tareas puede ser completado más rápidamente si hay varias unidades de proceso ejecutándolas en paralelo. Esa es la teoría, pero otra historia es la práctica, como hacer funcionar el multiproceso, lo que requiere unos profundos conocimientos tanto del hardware como del software. Es necesario conocer ampliamente como están interconectados dichos procesadores, y la forma en que el código que se ejecuta en los mismos ha sido escrito para escribir aplicaciones y software que aproveche al máximo sus prestaciones. Para lograrlo, es necesario modificar varias facetas del sistema operativo, la organización del código de las propias aplicaciones, así como los lenguajes de programación. Es difícil dar una definición exacta de un sistema multiprocesador, aunque podemos establecer una clasificación de los sistemas de procesadores en: SISD o secuencia única de instrucciones y datos (Single Instruction, Single Data): una sola secuencia de instrucciones opera sobre una sola secuencia de datos (caso típico de los ordenadores personales). SIMD o secuencia única de instrucciones y múltiple de datos (Single Instruction, Multiple Data): una sola secuencia de instrucciones opera, simultáneamente, sobre múltiples secuencias de datos (array processors). MISD o múltiples secuencias de instrucciones y única de datos (Multiple Instruction, Single Data): múltiples secuencias de instrucciones operan, simultáneamente, sobre una sola secuencia de datos (sin implementaciones útiles actualmente). MIMD o múltiples secuencias de instrucciones y datos (Multiple Instruction, Multiple Data): múltiples secuencias de instrucciones operan, simultáneamente, sobre múltiples secuencias de datos. Los sistemas multiprocesadores pueden ser clasificados con mayor propiedad como sistemas MIMD. Ello implica que son máquinas con múltiples y autónomos nodos de proceso, cada uno de los cuales opera sobre su propio conjunto de datos. Todos los nodos son idénticos en funciones, por lo que cada uno puede operar en cualquier tarea o porción de la misma. El sistema en que la memoria está conectada a los nodos de proceso establece el primer nivel de distinción entre diferentes sistemas multiprocesador: 1.Multiprocesadores de
  • 38. memoria distribuida (distributed-memory multiprocessors), también denominados multiprocesadores vagamente acoplados (loosely coupled multiprocessors). Se caracterizan porque cada procesador sólo puede acceder a su propia memoria. Se requiere la comunicación entre los nodos de proceso para coordinar las operaciones y mover los datos. Los datos pueden ser intercambiados, pero no compartidos. Dado que los procesadores no comparten un espacio de direcciones común, no hay problemas asociados con tener múltiples copias de los datos, y por tanto los procesadores no tienen que competir entre ellos para obtener sus datos. Ya que cada nodo es un sistema completo, por si mismo (incluso sus propios dispositivos de entrada/salida si son necesarios), el único límite práctico para incrementar las prestaciones añadiendo nuevos nodos, esta dictado por la topología empleado para su interconexión. De hecho, el esquema de interconexión (anillos, matrices, cubos, …), tiene un fuerte impacto en las prestaciones de estos sistemas. Además de la complejidad de las interconexiones, una de las principales desventajas de estos sistemas, como es evidente, es la duplicación de recursos caros como memoria, dispositivos de entrada/salida, que además están desocupados en gran parte del tiempo. 2.Multiprocesadores de memoria compartida (shared-memory multiprocessors), también llamados multiprocesadores estrechamente acoplados (tightly coupled multiprocessors). Son sistemas con múltiples procesadores que comparten un único espacio de direcciones de memoria. Cualquier procesador puede acceder a los mismos datos, al igual que puede acceder a ellos cualquier dispositivo de entrada/salida. El sistema de interconexión más empleado para estos casos, es el de bus compartido (shared-bus). Tener muchos procesadores en un único bus tiene el inconveniente de limitar las prestaciones del sistema a medida que se añaden nuevos procesadores. La razón es la saturación del bus, es decir, su sobre utilización; en un sistema de bus compartido, se deriva por la contienda entre los diferentes dispositivos y procesadores para obtener el control del bus, para obtener su utilización. Es evidente, que los sistemas actuales tienden al uso de arquitecturas de memoria compartida, fundamentalmente por razones de costes, a pesar del problema de la contienda por el bus. Los tres fuentes fundamentalmente responsables de dicha disputa son la memoria (cada CPU debe usar el bus para acceder a la memoria principal), la comunicación (el bus es usado por los “bus masters” para la comunicación y coordinación), y la latencia de la memoria (el subsistema de memoria mantiene al bus durante las transferencias de datos, y en función de la velocidad a la que la memoria puede responder a las peticiones, puede llegar a ser un factor muy significativo). Los sistemas de memoria caché y el multiproceso: Los sistemas de memoria
  • 39. multinivel (caché) son un esfuerzo para evitar el número de peticiones realizadas por cada CPU al bus. Los caches son pequeñas y rápidas (y por tanto caras) memorias, que hacen de tampón (buffer) entre la CPU y la memoria externa, para mantener los datos y/o instrucciones. Se basan en el principio de la “localidad”, lo que significa que, dada la fundamental naturaleza secuencial de los programas, los siguientes datos o instrucciones requeridas, estarán localizadas inmediatamente a continuación de las actuales. Los datos contenidos en la memoria caché se organizan en bloques denominados líneas. Las líneas son cargadas en el caché como copias exactas de los datos situados en la memoria externa. Para referenciar a los datos de la memoria caché, se emplean marcas (tags) que identifican a cada línea. Las marcas o tags emplean una porción de la dirección física de los datos, para compararla con la dirección física solicitada por la CPU. Cuando existe una coincidencia exacta de la dirección y de otros cualificadores (estado, privilegio, contexto, etc.), se dice que ha tenido lugar un acierto (hit) de caché; en caso contrario, tiene lugar un fallo (miss) del caché, y en ese caso, los datos han de ser recuperados desde la memoria. El empleo de memoria caché se ha popularizado, como medida para acelerar el tiempo de acceso a la memoria principal, incluso en los sistemas monoprocesador, evitando así, según se incrementa la velocidad de los propios procesadores, aumentar la velocidad de dicha memoria, y por tanto encarecer el sistema. La forma en que la memoria es actualizada por los cachés locales puede tener un gran impacto en las prestaciones de un sistema multiprocesador. Básicamente hay dos métodos: 1.Escritura continua (write-through). Requiere que todas las escrituras realizadas en el caché actualicen asimismo los datos de la memoria principal. De esta forma, la memoria principal siempre tiene la última copia de los datos, y por tanto no hay nunca ninguna incoherencia con el caché. El inconveniente es que se producen frecuentes accesos a memoria, especialmente superfluos cuando el software está modificando las mismas secciones de datos repetidamente (por ejemplo ejecutando bucles). 2.Copia posterior (copy-back). Es un sistema mucho más eficiente, aunque también más complejo de implementar. En este caso, la CPU puede modificar la línea de caché sin necesidad de actualizar inmediatamente la memoria principal. Los datos sólo son copiados a la memoria principal cuando la línea de caché va a ser reemplazada con una nueva. Ello no solo minimiza el tráfico del bus, de vital importancia para el resto de los procesadores, sino que también libera al procesador de la tarea de escribir en la memoria principal. Sin embargo, este sistema, en una arquitectura de bus compartido, implica un nuevo nivel de dificultad, denominado coherencia o consistencia (coherency o consistency);
  • 40. dado que cada caché puede tener una copia de los datos existentes en la memoria principal, el desafío es asegurar que los datos permanecen iguales entre todos los caches. Hay dos métodos para mantener cada línea de caché idéntica a las demás: a. Escritura radiada (write-broadcast), que requiere que la CPU que modifica los datos compartidos actualice los otros caches, para lo cual escribe en el bus la dirección de los datos, y los datos mismos, de modo que todos los dispositivos interesados (otras CPU’s) los capturen. Esto asegura que cada línea de caché en el sistema es una copia exacta de las demás. b. Escritura invalidada (write-invalidate), impide a una CPU modificar los datos compartidos en su caché hasta que otros caches han invalidado sus copias. En cuanto otros caches invalidan sus líneas, el caché modificado tiene la única copia; de este modo, se garantiza que un sólo caché escribe una línea compartida en un momento dado. Tiene la ventaja de conservar el ancho de banda del bus ya que los datos modificados no tienen que ser enviados a otros caches. Ambos sistemas requieren que los caches sean capaces de identificar peticiones en el bus que afecten a sus datos, lo que se realiza con una técnica conocida como “sondeo del bus” (bus snooping). Cada caché compara las direcciones de las peticiones en el bus compartido con los datos en su propio cache, usando las marcas (tags). Este sistema requiere un acceso concurrente a las marcas (tags) del caché por parte del bus del sistema y del bus del procesador. Sin dicho acceso concurrente, el procesador no podría acceder al caché durante las operaciones de sondeo del bus (que tienen que tener prioridad de acceso a las marcas, para poder mantener la coherencia del caché). El resultado son frecuentes atascos del procesador y consecuentemente, bajo rendimiento. A su vez, hay varios protocolos asociados con el sondeo del bus para el movimiento de los datos y los mensajes entre los caches: 1.Intervención indirecta de los datos (indirect data intervention). Es el método más simple de intercambio de datos entre procesadores, aunque también el menos eficiente. La 1ª CPU hace una petición de datos, que es sondeada por la 2ª; tiene lugar un acierto de sondeo (snoop hit) si dichos datos están en el caché de la 2ª CPU, entonces esta obtiene el control del bus e indica a la 1ª que lo reintente más tarde. La 2ª CPU escribe los datos de su caché a la memoria, y la 1ª CPU obtiene el control del bus de nuevo, reiniciando la petición. Los datos son ahora suministrados por la memoria. 2.Intervención directa de los datos (direct data intervention). Los datos son suministrados directamente por la 2ª CPU a la 1ª. Este mecanismo es aplicable fundamentalmente a los sistemas con sistemas de cache de copia posterior (copy-back). Aunque pueden evitar muchos ciclos comparados con la intervención indirecta, la memoria principal permanece
  • 41. inconsistente con el caché, y debe de ser actualizada cuando la línea de caché es vaciada. 3.Reflexión a memoria (memory reflection) con intervención directa. La memoria captura los datos que han sido depositados en el bus, mientras son enviados a la CPU solicitante. Si la línea de caché no ha sido modificada antes de que tenga lugar la última transacción de intervención de datos, no es necesario escribir a la memoria, con lo que se conserva el ancho de banda. Esta actualización del cache solicitante y la memoria puede tener lugar en un mismo y único ciclo de reloj. 5. Lenguajes De Programación Al desarrollarse las primeras computadoras electrónicas se dio la necesidad de programarlas para realizar tareas útiles. En un principio se programaban conectando cables en distintas posiciones para lograr así un resultado, se usaban como calculadoras simples para realizar operaciones de una por una. En los años cincuentas se empezaron a desarrollar lenguajes para programar las tareas de las computadoras. El más primitivo de los lenguajes de alto nivel es FORTRAN, COBOL también es un veterano. FORTRAN mostró el uso de expresiones simbólicas y subrutinas y COBOL el concepto de descripción de datos. Evolución Los lenguajes más primitivos eran lenguajes de máquina, o sea programar con base a números que la máquina entendiera. Esto es muy complicado y propenso a errores, pero no había alternativa. El primer gran logro fue el lenguaje ensamblador, junto con él, el nacimiento de herramientas automáticas para generar el lenguaje máquina. Aunque en este lenguaje sigue siendo difícil no equivocarse, ya que se debe trabajar de la misma forma en que trabaja el procesador y entender bien su funcionamiento. El lenguaje ensamblador es una abstracción del lenguaje máquina, que asocia palabras fáciles de entender para el ser humano con números que puede entender la maquina. Traduciendo así los códigos del lenguaje al lenguaje máquina directamente. Esto se hacía mediante unas tablas de códigos, haciendo la traducción a mano, pero dada la sencillez de la traducción pronto aparecieron los primeros programas ensambladores que realizaban dichas traducciones al lenguaje maquina, también conocido como código objeto. Con el desarrollo en los años cincuentas y sesentas de los algoritmos de mas alto nivel, junto con el aumento del poder del hardware, científicos de otras ramas empezaron a utilizar las computadoras, pero no sabían mucho de computación. Entonces se creó el primer lenguaje de alto nivel junto con el propio concepto, nació el primer compilador FORTRAN. Aumentando la productividad al escribir un código sencillo, con la herramienta del compilador que traduce el código al lenguaje máquina de manera automática. A partir de esto se han desarrollado otros lenguajes de alto nivel, entre ellos el lenguaje c, y cobol. Cabe destacar que dadas ciertas
  • 42. características del lenguaje c, este se considera de nivel medio ya que puede ser usado como lenguaje de alto nivel con sus instrucciones en ingles y sus librerías, pero tiene características de un lenguaje de bajo nivel, ya que fue escrito para diseñar sistemas operativos. Lenguajes de alto nivel. Los lenguajes de alto nivel se caracterizan porque utilizan palabras y frases más fáciles de entender para las personas. Como palabras en ingles o frases abreviadas. FORTRAN. FO Rmula? TRA Nslator?, traductor de formula, uno de los primeros de alto nivel. COBOL. Comon Business Oriented Languaje, lenguaje orientado a negocios comunes. Uno de los primeros. BASIC. Beginners Allpurpose Symbolic Instruction Code, código de instrucción simbólica de propósito general dirigido a principiantes, Comenzó como un lenguaje herramienta para enseñar programación a principiantes. PASCAL. Se diseñó para enseñar programación estructurada, se considera que es excelente en este aspecto y aun se sigue usando con el mismo fin. Lenguaje C. Predecesor del lenguaje B, fue desarrollado para escribir UNIX, es muy poderoso, ya que con este lenguaje se puede hacer casi todo lo que la computadora puede realizar, es portable, o sea que puede ser compilado en diferentes sistemas operativos con muy pocos cambios, a diferencia de otros que no pueden ser compilados en diversos sistemas operativos. Es sumamente ligero y rápido, un programa hecho en vbasic es de 50 a 100 veces más pesado que uno echo en c. Nunca podrá desligarse el software del hardware, es importante tomar en cuenta qué lenguaje se utilizará para desarrollar alguna clase de proyecto. Por ejemplo, si se requiere alguna aplicación de oficina en modo gráfico, que no requiera de mucho desempeño tal vez visual basic o visual C++ para Windows sea buena opción, o si se requiere de una aplicación para Internet donde se tiene un buen ancho de banda pues Java sería una buena opción, en cambio, si se quiere un desempeño eficaz, donde este sea crucial, pues c es el lenguaje apropiado, o para aplicaciones de internet que requieran rapidez en la respuesta, HTML + lenguaje c sería eficaz. Aunque sería una perdida de tiempo y esfuerzo tener que hacer un programa en c si se cuenta con un software potente que soporte bien lenguajes más pesados como Fox pro o Python, y en cambio sería una tontería querer implementar una base de datos en basic si se cuenta con pocos recursos. Clases de computadoras 1. Análoga La computadora análoga es la que acepta y procesa señales continuas, tales como: fluctuaciones de voltaje o frecuencias. Ejemplo: El termostato es la computadora análoga más sencilla. 2. Digital
  • 43. La computadora digital es la que acepta y procesa datos que han sido convertidos al sistema binario. La mayoría de las computadoras son digitales. 3. Híbrida La computadora híbrida es una computadora digital que procesa señales análogas que han sido convertidas a forma digital. Es utilizada para control de procesos y en robótica. 4. Propósito especial La computadora de propósito especial está dedicada a un solo propósito o tarea. Pueden ser usadas para producir informes del tiempo, monitorear desastres naturales, hacer lecturas de gasolina y como medidor eléctrico. Ejemplo: carros de control remoto, horno microoondas, relojes digitales, cámaras, procesador de palabras, etc. 5. Propósito general La computadora de propósito general se programa para una variedad de tareas o aplicaciones. Son utilizadas para realizar cálculos matemáticos, estadísticos, contabilidad comercial, control de inventario, nómina, preparación de inventario, etc. Ejemplo: “mainframes” o minicomputadoras. Categorías de las computadoras · Supercomputadora La supercomputadora es lo máximo en computadora, es la más rápida y, por lo tanto, la más cara. Cuesta millones de dólares y se hacen de dos a tres al año. Procesan billones de instrucciones por segundo. Son utilizadas para trabajos científicos, particularmente para crear modelos matemáticos del mundo real, llamados simulación. Algunos ejemplos de uso lo son: exploración y producción petrolera, análisis estructural, dinámica de fluidos computacional, física, química, diseño electrónico, investigación de energía nuclear, meteorología, diseño de automóviles, efectos especiales de películas, trabajos sofisticados de arte, planes gubernamentales y militares y la fabricación de naves espaciales por computadoras. Ejemplo: Cray 1, Cray 2. · ”Mainframe” Los “mainframe” son computadoras grandes, ligeras, capaces de utilizar cientos de dispositivos de entrada y salida. Procesan millones de instrucciones por segundo. Su velocidad operacional y capacidad de procesar hacen que los grandes negocios, el gobierno, los bancos, las universidades, los hospitales, compañías de seguros, líneas aéreas, etc. confién en ellas. Su principal función es procesar grandes cantidades de datos rápidamente. Estos datos están