Clasificación de Flynn
Enviado por Jesus Arias • 16 de Abril de 2016 • Resumen • 1.859 Palabras (8 Páginas) • 474 Visitas
Universidad Autónoma del Caribe
Facultad: Ingeniería
Programa: Ingeniería de sistemas
Curso: Tecnología de sistemas I
Grupo: AN
Clasificación de Flynn
Presentado al Ing.: Enrique Javier Santiago
Presentado por: Jesús David Arias Suarez
Código: 091210068
Octavo semestre
Año: 2015
Introducción
En el siguiente trabajo trata de la clasificación de Flynn la cual se encarga de catalogar algunas de las arquitecturas de computadoras, que a su vez se divide en cuatro categorías dependiendo de la cantidad de instrucciones y de la cantidad de datos, y a su vez del numero de procesadores presentes y de qué papel juegan estos al momento de la ejecución de las instrucciones, y por ende de cómo estos se encargan de gestionar tanto las instrucciones como datos, también tendremos la oportunidad de identificar y analizar algunas de las restricciones y problemas de rendimiento que están vinculados con la eficiencia de los sistemas computacionales que pueden presentar los sistemas de la clasificación.
Desde 1966 Michael J. Flynn ingeniero electrónico con estudios en ciencias de la computación propuso un mecanismo de clasificación de computadoras, luego en 1970 hizo una segunda publicación, la cual tomó el nombre de “taxonomía de Flynn” que es la manera clásica de organizar las computadoras, al ser una de las clasificaciones más tradicionales no abarca todas las arquitecturas pero nos brinda una gran base para el estudio de algunas de ellas, la clasificación nos ayuda a observar, analizar y a entender las diversas formas de procesamiento de los datos e instrucciones propios de cada arquitectura, como lo mencioné antes esta se divide en cuatro categorías las cuales son: SISD, SIMD, MIND, MINS, que a lo largo del trabajo explicaremos en qué consiste cada una.
Como propósito tenemos la identificación clara de cada una de ella y la interpretación personal de las mismas también una explicación breve y sus ventajas, desventajas y gradualmente se tratará cada una con algunos ejemplos.
Argumento
Desde el comienzo de las computadoras se ha intentado darles una clasificación general para darles una definición formal, pero esto tiene unas limitantes porque dependiendo del punto de vista que se le vea y de la evolución de las computadoras estas clasificaciones pueden ser válidas solo para ciertos grupos de computadoras con ciertas características, ya sea de su arquitectura, de su estructura, hasta de su tecnología, una de las clasificaciones más aceptadas si se quiere estudiar a la computadora desde su capacidad de procesamiento es la clasificación de Flynn o taxonomía de Flynn, que tiene en cuenta sistemas con un solo procesador o mono-procesadores, hasta los que tienen varios procesadores o multiprocesadores, por ende esta clasificación es en términos de las instrucciones con relación a los datos o de procesamiento, o bien al flujo de instrucciones que son las operaciones que se realizan sobre el flujo de datos.
Esta clasificación únicamente tiene en cuenta el procesador o los procesadores y los flujos de instrucciones y de datos que estos reciben.
Sabiendo que únicamente se tienen en consideración los aspectos ya antes mencionados se presentan las cuatro categorías:
- SISD (Single Instruction stream, Single Data stream)
En estos sistemas únicamente existe una unidad de procesamiento o procesador, una sola secuencia de instrucciones y una sola secuencia de datos, en donde el procesador tiene la tarea de recibir tanto la secuencia de instrucciones como la secuencia de datos, permitiendo que las instrucciones operen sobre los datos.
«Este es el concepto de arquitectura de Von Neumann donde, en cualquier momento, sólo se ejecuta una única instrucción »[1], es decir que procesa una instrucción por cada ciclo de reloj.
Si nosotros viésemos esto como un algoritmo en donde los datos fuesen como variables o números decimales, y las instrucciones fuesen las operaciones aritméticas (+, - , *, /) que operan sobre los números decimales, y el procesador el que se encarga de ejecutar la operación, por ejemplo:
{x + y – z} los operadores en ese mismo orden no podrían aplicarse para otros datos diferentes a: x, y, z, en el mismo ciclo de reloj, y si la operación a realizarse no fuese tan rápida de realizar habría un desperdicio de tiempo de CPU porque se estaría empleando mucho tiempo solo a una instrucción ya que habría que esperar a que se termine de ejecutar la instrucción para ejecutar las demás.
Como en esta categoría se basó en el modelo de Von Newmann en un comienzo el proceso se realizaba ejecutando instrucción tras instrucción, pero cabe mencionar que con la evolución de los procesadores y los sistemas operativos, esto se empezó a hacer de forma controlada alternando las instrucciones, esto solo fue posible cuando se empezaron a fabricar mono-procesadores de grandes capacidades.
- SIMD (Single Instruction stream, Multiple Data stream)
En estos sistemas existe una sola secuencia de instrucciones pero a diferencia del anterior posee diferentes secuencias de datos, y varios procesadores en donde cada procesador ejecuta la única secuencia de instrucciones sobre diferentes datos en el mismo ciclo de reloj de forma sincronizada, y posee un reloj global, « El tipo de memoria que sistemas que estos sistemas utilizan es memoria distribuida»[2].
Si tomamos el ejemplo anterior: {x + y – z}, las instrucciones (+, -) se estarían ejecutando de forma sincronizada en un procesador diferente en el mismo ciclo de reloj permitiendo que se ejecuten sobre otros datos: {a + b – c}, {n + i – j }, etc.
Posibilitando de esta forma reutilizar el código o las instrucciones operándolo sobre diferentes variables o números decimales, optimizando así el uso de los tiempos de CPU solo en caso de que se quiera ejecutar la misma instrucción varias veces, sin embargo estos sistemas solo tienen como objetivo cubrir este caso: ejecución de instrucciones redundantes de forma simultánea, de manera que no se aplica si se quiere ejecutar diferentes instrucciones en cada uno de los procesadores, este tipo de sistemas ha sido utilizado mayormente por los científicos, ya que en sus investigaciones por ejemplo muchas veces tienen que realizar cálculos complejos a los modelos matemáticos que quieren validar y deben proporcionar diferentes grupos de valores o parámetros de entrada.
...