Arquitectura de John Von Neumann.
John Von Neumann
(Budapest, 1903 - Washington, 1957) Matemático húngaro, nacionalizado estadounidense. Nacido en el seno de una familia de banqueros judíos, dio muestras desde niño de unas extraordinarias dotes para las matemáticas.
En 1921 se matriculó en la Universidad de Budapest, donde se doctoró en matemáticas cinco años después, aunque pasó la mayor parte de ese tiempo en otros centros académicos. En la Universidad de Berlín asistió a los cursos de Albert Einstein. Estudió también en la Escuela Técnica Superior de Zurich, donde en 1925 se graduó en ingeniería química, y frecuentó así mismo la Universidad de Gotinga.
En 1921 se matriculó en la Universidad de Budapest, donde se doctoró en matemáticas cinco años después, aunque pasó la mayor parte de ese tiempo en otros centros académicos. En la Universidad de Berlín asistió a los cursos de Albert Einstein. Estudió también en la Escuela Técnica Superior de Zurich, donde en 1925 se graduó en ingeniería química, y frecuentó así mismo la Universidad de Gotinga.
Arquitectura de von Neumann
El nacimiento u origen de la arquitectura Von Neumann surge a raíz de una colaboración en el proyecto ENIAC del matemático de origen húngaro, John Von Neumann. Este trabajaba en 1945 en el Laboratorio Nacional Los Álamos cuando se encontró con uno de los constructores de la ENIAC. Compañero de Albert Einstein, Kurt Gödel y Alan Turing en Princeton, Von Neumann se interesó por el problema de la necesidad de recablear la máquina para cada nueva tarea.
En 1949 había encontrado y desarrollado la solución a este problema, consistente en poner la información sobre las operaciones a realizar en la misma memoria utilizada para los datos, escribiéndola de la misma forma, es decir en código binario. Su “EDVAC” fue el modelo de las computadoras de este tipo construidas a continuación. Se habla desde entonces de la arquitectura de Von Neumann, aunque también diseñó otras formas de construcción. El primer computador comercial construido en esta forma fue el UNIVAC I, fabricado en 1951 por la Sperry-Rand Corporation y comprado por la Oficina del Censo de Estados Unidos.
En 1949 había encontrado y desarrollado la solución a este problema, consistente en poner la información sobre las operaciones a realizar en la misma memoria utilizada para los datos, escribiéndola de la misma forma, es decir en código binario. Su “EDVAC” fue el modelo de las computadoras de este tipo construidas a continuación. Se habla desde entonces de la arquitectura de Von Neumann, aunque también diseñó otras formas de construcción. El primer computador comercial construido en esta forma fue el UNIVAC I, fabricado en 1951 por la Sperry-Rand Corporation y comprado por la Oficina del Censo de Estados Unidos.
*Los ordenadores con esta arquitectura constan de cinco partes:
– CPU: Unidad Central de Proceso.
– La Unidad de Control (UC).
– La memoria.
– Un dispositivo de entrada/salida.
– Buses de interconexión.
*La Unidad Central de Proceso se compone por:
– ALU: Unidad Aritmética Lógica.
– ACC: Acumulador.
– IP: Apuntador de instrucciones.
– ID: Decodificador de instrucciones.
– CCR: Registro de código de instrucciones.
*Unidad Aritmética Lógica (ALU)
Es un circuito digital que calcula operaciones aritméticas (sumas, restas, etc.) y operaciones lógicas.
- AND
- OR
- NOT
*Hardware:
Corresponde a todas las partes físicas y tangibles de una computadora: sus componentes eléctricos, electrónicos, electromecánicos y mecánicos, sus cables, gabinetes o cajas, periféricos de tipo y cualquier otro elemento físico involucrado.
Estos son los Hardware típicos de una computadora:
*Software:
La palabra Software se refiere al equipamiento lógico o soporte lógico de un computador digital, y comprende el conjunto de los componentes lógicos necesarios para hacer posible la realización de una tarea específica, en contraposición a los componentes físicos del sistema (Hardware).
Tales componentes lógicos incluyen, entre otros, aplicaciones informáticas tales como procesador de textos, que permite al usuario realizar todas las tareas concernientes a edición de textos; software de sistema, tal como un sistema operativo, el que, básicamente, permite al resto de los programas funcionar adecuadamente, facilitando la interacción con los componentes físicos y el resto de las aplicaciones, también provee una interfaz ante el usuario.
En la figura se muestra uno o más Software en ejecución en este caso con ventanas, iconos y menúes que componen las interfaces gráficas que comunican la computadora con el usuario, y le permiten interactuar.
*Unidad central de procesamiento:
Es el componente principal del computador y otros dispositivos programables, que interpreta las instrucciones contenidas en los programas y procesa los datos. CPU sus siglas en ingles (central processing unit), proporcionan la característica fundamental de la computadora digital (la programabilidad) y son uno de los componentes necesarios encontrados en las computadoras de cualquier tiempo, junto con la memoria principal y los dispositivos de entrada/salida. Se conoce como microprocesador el CPU que es manufacturado con circuitos integrados. Desde mediados de los años 1970, los microprocesadores de un solo chip han reemplazado casi totalmente todos los tipos de CPU, y hoy en día, el término "CPU" es aplicado usualmente a todos los microprocesadores.
*Memoria Principal:
La memoria principal almacena datos e instrucciones de programa de forma temporal. Es estación obligada en todas las operaciones de entrada y salida y, por supuesto, de los resultados parciales o finales del proceso.
Es la memoria de la computadora donde se almacenan temporalmente tanto los datos como los programas que la unidad central de procesamiento (CPU) está procesando o va a procesar en un determinado momento. Por su función, la MP debe ser inseparable del microprocesador o CPU, con quien se comunica a través del bus de datos y el bus de direcciones. El ancho del bus determina la capacidad que posea el microprocesador para el direccionamiento de direcciones en memoria.
Esta clase de memoria es volátil, es decir que cuando se corta la energía eléctrica, se borra toda la información que estuviera almacenada en ella.
memoria RAM Memoria principal de la computadora, donde residen programas y datos, sobre la que se pueden efectuar operaciones de lectura y escritura. La sigla RAM en inglés significa "Random Access Memory" y se traduce como "Memoria de Acceso Aleatorio" o, en algunos casos, "Directo". Una memoria de este tipo es una pieza que se compone de uno o más chips y que forma parte del sistema de un ordenador o computadora.
*Memoria Secundaria:
es el conjunto de dispositivos y soportes de almacenamiento de datos que conforman el subsistema de memoria de la computadora, junto con la memoria primaria o principal.
La memoria secundaria es un tipo de almacenamiento masivo y permanente (no volátil) con mayor capacidad para almacenar datos e información que la memoria primaria que es volátil, aunque la memoria secundaria es de menor velocidad.
*Dispositivos de entrada:
Son aquellos que sirven para introducir datos a la computadora para su proceso. Los datos se leen de los dispositivos de entrada y se almacenan en la memoria central o interna. Los dispositivos de entrada convierten la información en señales eléctricas que se almacenan en la memoria central.
*Dispositivos de Salida:
Los dispositivos de salida son aquellos periféricos que se adosan a un ordenador y que tienen como finalidad comunicar información al usuario. Se distinguen de los dispositivos de entrada, que son aquellos mediante los cuales el usuario incorpora información al ordenador. Los dispositivos de salida muestran información que ya ha sido ingresada y procesada, información que es devuelta al mundo real. En los comienzos de la informática fueron extremadamente rudimentarios, pero con el paso del tiempo fueron evolucionando hasta ofrecer un altísimo grado de precisión. En la actualidad podemos encontrar varios tipos de dispositivos de estas características.
Procesos Informáticos
Proceso es un término con múltiples usos, que aparecen en contextos muy diversos. En el ámbito de la informática, el concepto se refiere a la ejecución de diversas instrucciones por parte del microprocesador, de acuerdo a lo que indica un programa.
Un proceso puede informalmente entenderse como un programa en ejecución. Formalmente un proceso es "Una unidad de actividad que se caracteriza por la ejecución de una secuencia de instrucciones, un estado actual, y un conjunto de recursos del sistema asociados".
*ejemplo:
Para entender lo que es un proceso y la diferencia entre un programa y un proceso, A. S. Tanenbaum propone la analogía "Un científico computacional con mente culinaria hornea un pastel de cumpleaños para su hija; tiene la receta para un pastel de cumpleaños y una cocina bien equipada con todos los ingredientes necesarios, harina, huevo, azúcar, leche, etcétera." Situando cada parte de la analogía se puede decir que la receta representa el programa (el algoritmo), el científico computacional es el procesador y los ingredientes son las entradas del programa. El proceso es la actividad que consiste en que el científico computacional vaya leyendo la receta, obteniendo los ingredientes y horneando el pastel.
Ejemplo No Informático.
Ejemplo Informático.
El sistema operativo de la computadora (ordenador) se encarga de gestionar los procesos. Este software administra las instrucciones que otros programas informáticos destinan al microprocesador, analiza el estado de ejecución y organiza la memoria dedicada a las tareas.
Existen diversos caminos para la creación de un proceso informático, como el propio inicio del sistema, el pedido de un usuario o la llamada realizada por otro proceso. En cuanto a la finalización de un proceso, puede concretarse de manera normal, a partir de un error o por petición de otro proceso.
*Estado de los Procesos:
Un proceso informático, por otra parte, puede atravesar diferentes estados. Puede estar en ejecución (cuando está utilizando el microprocesador), bloqueado (su ejecución requiere que se realice otro evento) o listo (cuando libera el microprocesador para que pueda dedicarse a otro proceso).
Los procesos en el estado listo son los que pueden pasar a estado de ejecución si el planificador los selecciona. Los procesos en el estado ejecución son los que se están ejecutando en el procesador en ese momento dado. Los procesos que se encuentran en estado bloqueado están esperando la respuesta de algún otro proceso para poder continuar con su ejecución.
*Bloque de Control de los Procesos (BCP):
es un registro especial donde el sistema operativo agrupa toda la información que necesita conocer respecto a un proceso particular. Cada vez que se crea un proceso el sistema operativo crea el BCP correspondiente para que sirva como descripción en tiempo de ejecución durante toda la vida del proceso.
Cuando el proceso termina, su BCP es borrado y el registro puede ser utilizado para otros procesos. Un proceso resulta conocido para el sistema operativo y por tanto elegible para competir por los recursos del sistema sólo cuando existe un BCP activo asociado a él. El bloque de control de proceso es una estructura de datos con campos para registrar los diferentes aspectos de la ejecución del proceso y de la utilización de recursos.
*Operaciones solo de los Procesos:
Los sistemas operativos poseen una serie de funciones cuyo objetivo es el de la manipulación de los procesos. En general las operaciones que se pueden hacer sobre un proceso son las siguientes:
- Crear el proceso: Se produce con la orden de ejecución del programa y suele necesitar varios argumentos, como el nombre y la prioridad del proceso.
La creación de un proceso puede ser de dos tipos:
- Jerárquica: En ella cada proceso que se crea es hijo del proceso creador y hereda el entorno de ejecución de su padre. El primer proceso que ejecuta un usuario será hijo del intérprete de comandos con el que interactúa.
- No jerárquico: Cada proceso creado por otro proceso se ejecuta independientemente de su creador con un entorno diferente. Es un tipo de creación que no suele darse en los sistemas operativos actuales.
*Comunicación y Sincronización de los Procesos:
En muchos casos, los procesos se reúnen para realizar tareas en conjunto, a este tipo de relación se le llama procesos cooperativos. Para lograr la comunicacion, los procesos deben sincronizarse, de no ser así pueden ocurrir problemas no deseados. La sincronizacion es la transmisión y recepción de señales que tiene por objeto llevar a cabo el trabajo de un grupo de procesos cooperativos.
- La Comunicación de Procesos: es el hecho de ponerse de acuerdo entre varios procesos para llevar a cabo alguna acción. Esta acción puede ser el conseguir el derecho a entrar en una regíon crítica en exclusión mutua, o la elección de un proceso, entre un grupo de procesos, que actúe como coordinador de las actividades del resto de los procesos del grupo.
- La Sincronización de Procesos: es la coordinación y cooperación de un conjunto de procesos para asegurar la comparación de recursos de computo. La sincronización entre procesos es necesaria para prevenir y/o corregir errores de sincronización debidos al acceso concurrente a recursos compartidos, tales como estructuras de datos o dispositivos de E/S, de procesos contendientes. La sincronización entre procesos también permite intercambiar señales de tiempo (ARRANQUE/PARADA) entre procesos cooperantes para garantizar las relaciones específicas de precedencia impuestas por el problema que se resuelve.
*Proceso Concurrente:
Dos o más procesos decimos que son concurrentes, paralelos o que se ejecutan concurrentemente, cuando son procesados al mismo tiempo, es decir, que para ejecutar uno de ellos no hace falta que se haya ejecutado otro.
En sistemas multiprocesador, esta ejecución simultánea podría conseguirse completamente puesto que podremos asignarle, por ejemplo. Un proceso A al procesador A y un proceso B al procesador B y cada procesador realizaran la ejecución de su proceso.
Como los procesos en un sistema concurrente pueden interactuar entre ellos mismos mientras se están ejecutando, el número de posibles rutas de ejecución en el sistema puede ser extremadamente grande, y el resultado final puede ser indeterminado.
















No hay comentarios:
Publicar un comentario