Está en la página 1de 8

Universidad Autónoma de Zacatecas

“Francisco García Salinas”

Ingeniería Eléctrica

Ingeniería en Computación

Arquitectura de Computadoras

Salvador Ibarra Delgado

7 ”B”

Conceptos Pipeline, Cache, computación


predictiva y procesamiento paralelo

Juan Carlos Lumbreras Jaramillo

31124092
21 de Noviembre de 2018
Arquitectura Pipeline
El modelo Pipeline se denomina en el mundo de la informática a una serie de
elementos de procesamiento de datos ordenados de tal modo que la salida de cada
uno es la entrada del siguiente. Pipeline hace referencia a su nombre, básicamente
es como el agua cuando pasa por la tubería, donde el agua es la información o los
procesos.

Modelo de Pipeline
La arquitectura Pipeline consiste en ir transformando un flujo de datos en un proceso
comprendido por varias fases secuenciales, siendo la entrada de cada una la salida
de la anterior, con un almacenamiento temporal de datos entre procesos.

Entender cómo funciona un pipeline es un paso importante para entender qué


ocurre dentro de un procesador. Este sistema es común verlo en sistemas
operativos multitarea ya que puede ejecutar una serie de procesos de manera
simultánea, los cuales son ejecutados de manera secuencial mediante un
administrador de tareas que aplica distintos tipos de prioridad y capacidad de
procesamiento. Aquí se alterna entre este sistema (el de tuberías) y los demás.

Aplicación de pipelines en la informática


Los pipelines gráficos se encuentran en la mayoría de las tarjetas graficadoras y
consiste en múltiples unidades aritméticas o CPUs completas que implementan
distintos tipos de escenarios de operaciones típicas, como por ejemplo cálculos de
luz.

En los que es software consiste en varios procesos ordenados de tal manera que el
flujo de salida alimenta un proceso de entrada del siguiente proceso, como lo leímos
anteriormente. Un ejemplo claro son los pipelines de Unix, que los procesos de este
sistema se inicial al mismo tiempo.

Un aspecto a tener en cuenta de sistema pipelin es el concepto de almacenamiento


en búfer: por ejemplo, un programa que envía datos puede producir 5.000 bytes por
segundo, y un programa de recepción sólo puede ser capaz de aceptar 100 bytes
por segundo pero los datos no se pierden nunca.

Si el buffer de la cola se llena, el programa que envía los datos se suspende/bloquea


hasta que el programa receptor tiene la oportunidad de leer algunos datos y liberar
espacio en el búfer.
Ciclo de vida de una instrucción
La acción básica de cualquier microprocesador, en tanto se mueva a través de la
corriente de instrucciones, se puede descomponer en 4 pasos, que cada instrucción
en la corriente de código se debe atravesar para poder ejecutarse con éxito:

1. Fetch: se encarga de “traer” la instrucción que se debe ejecutar, de la


dirección que está almacenada en el contador del programa.
2. Store: se encarga de “guardar o almacenar” la instrucción en el registro de
instrucciones y luego “descifrarla”, incrementando la dirección en el contador
de programa.
3. Execute: se ejecuta la instrucción almacenada en el registro de instrucciones.
Si la instrucción no es una instrucción de rama si no una instrucción
aritmética, este proceso la envía la ALU donde el microprocesador “lee” el
contenido de los registros de entrada y “agrega” el contenido de los registros
de entrada.
4. Write: “escribe” los resultados de esa instrucción dentro del registro de
destinación.

En un proceso moderno, los cuatro pasos son repetidos una y otra vez hasta que el
programa termine de ejecutarse.
Consumo en la arquitectura Pipeline
Para poder reducir el consumo que se produce, se investigan unas series de
soluciones de compromiso entre la resolución por etapa y la cantidad de etapas.

Estos poseen un método de escalamiento de capacitores que está descripto para


reducir la potencia con el cual se ha sobredimensionado en las últimas etapas del
caso de una arquitectura Pipeline convencional. También está el uso de la
corrección digital que permite eliminar los efectos no deseados causados por
imperfecciones de los comparadores utilizando circuitos digitales de bajo consumo
y de bajo costo.

Características de pipeline
Dentro del Pipeline se puede hablar de niveles de paralelismo que son
caracterizados de la siguiente manera:

 Multiprogramación y Multiprocesamiento: Estas acciones se toman a un nivel


de Programa o Trabajo.
 Tarea o Procedimientos: Acciones que se toman dentro de un mismo
programa ejecutándose procesos que son independientes de manera
simultánea.
 Interinstrucciones: Acciones a nivel de instrucción, o sea dentro del mismo
proceso o tarea sé que se pueden ejecutar instrucciones independientes de
manera simultánea.
Memoria cache
La memoria cache del procesador se encarga de acelerar las lecturas y escrituras
que necesita el micro del sistema de memoria para conseguir así que todas tus
aplicaciones funcionen más rápido.

Se habla de sistema de memoria porque en realidad nos estamos refiriendo a varios


bloques. El más alejado del micro y por lo tanto más lento y grande es el disco duro.
En este los datos se almacenan incluso cuando el equipo está apagado.

Al producirse el encendido pasan a la memoria RAM aquellos programas que


ejecutas y los datos que necesites en cada momento.

Por desgracia el acceso a la memoria RAM desde el micro no es instantáneo. Esto


que puede parecer algo anecdótico, estamos hablando del orden de nanosegundos,
puede provocar bloqueos y caídas de rendimiento.

¿Qué es la memoria cache?


La cache es la solución al problema de rendimiento del sistema de memoria. Es muy
pequeña y está incluida en el interior del micro. Su función es sencilla, conseguir
que los datos más usados estén lo más cerca del procesador para ser accedidos de
la manera más rápida posible.

¿Cómo funciona la memoria cache?


Se organiza en niveles, de menor a mayor tamaño según lo alejada que esté del
micro. Si el procesador necesita un dato de la memoria se comprueba si este se
encuentra en el primer nivel. En caso de no encontrarlo, se busca en el segundo
nivel y si no en el tercero.

Todo se acelera si se colocan los datos más utilizados en los niveles más cercanos
al procesador.

Cada uno de estos niveles tiene un bloque de control el cual se encarga de


almacenar y poner los datos a disposición del micro. El tiempo que tarda en buscar
la información es proporcional al tamaño de la propia memoria que administra.

Como queremos que los datos lleguen lo antes posible al micro los niveles más
bajos tendrán menor capacidad. Cada nivel superior, por tanto, es bastante más
grande que el anterior.

La memoria cache es muy pequeña. En comparación con la memoria RAM unas mil
veces más pequeña. Por suerte, los programas suelen realizar muchas operaciones
sobre los mismos datos y por lo tanto se consiguen grandes mejoras al usar esta
técnica.

¿Qué tipo de aplicaciones se benefician de esta


memoria?
La memoria cache es capaz de acelerar todo tipo de aplicaciones. Al ser un sistema
pensado para evitar bloqueos sus ventajas no son lineales. Es decir, una memoria
de seis megas, no te dará el doble de prestaciones que una de tres si no que en
ciertas situaciones será algo mayor. En este caso y como ocurre con el tamaño de
la memoria RAM cuanto más mejor.
Computación predictiva
El análisis predictivo es un área de estadísticas que se ocupa de extraer información
de los datos y usarla para predecir tendencias y patrones de comportamiento. La
mejora de la analítica web predictiva calcula las probabilidades estadísticas de
eventos futuros en línea. Las técnicas estadísticas de análisis predictivo incluyen el
modelado de datos, el aprendizaje automático, la IA, los algoritmos de aprendizaje
profundo y la minería de datos. A menudo, el evento desconocido de interés está
en el futuro, pero los análisis predictivos pueden aplicarse a cualquier tipo de
desconocido, ya sea en el pasado, presente o futuro. Por ejemplo, identificar
sospechosos después de que se haya cometido un delito o fraude con tarjetas de
crédito a medida que se produce. El núcleo de la analítica predictiva se basa en
capturar las relaciones entre las variables explicativas y las variables predichas de
ocurrencias pasadas, y explotarlas para predecir el resultado desconocido. Sin
embargo, es importante tener en cuenta que la precisión y la facilidad de uso de los
resultados dependerán en gran medida del nivel de análisis de los datos y la calidad
de las suposiciones.

El análisis predictivo a menudo se define como predecir a un nivel más detallado de


granularidad, es decir, generar puntuaciones predictivas (probabilidades) para cada
elemento organizativo individual. Esto lo distingue de la previsión. Por ejemplo,
"Análisis predictivo: tecnología que aprende de la experiencia (datos) para predecir
el comportamiento futuro de los individuos con el fin de tomar mejores decisiones".
En los sistemas industriales futuros, el valor del análisis predictivo será predecir y
prevenir potenciales problemas para lograr un desglose cercano a cero y una mayor
integración en el análisis prescriptivo para la optimización de decisiones. [cita
requerida] Además, los datos convertidos se pueden utilizar para mejorar el ciclo de
vida del producto en circuito cerrado, que es la visión de Industrial. Consorcio de
internet.
Procesamiento paralelo
El procesamiento en paralelo es la ejecución simultánea de la misma tarea en dos
o más microprocesadores con el fin de obtener resultados más rápidos. Los
recursos de la ordenadora pueden incluir un solo equipo con varios procesadores,
o un número de computadoras conectadas por una red, o una combinación de
ambos, y los procesadores acceden a los datos a través de una memoria
compartida. Algunos sistemas de procesamiento paralelo de superordenadores
tienen cientos de miles de microprocesadores.

Con la ayuda del procesamiento en paralelo, un número de cálculos se puede


realizar a la vez, con lo que el tiempo requerido puede completar un proyecto. Esto
es especialmente útil en proyectos que requieren cálculos complejos, tales como el
modelado del tiempo y los efectos especiales digitales. Vamos a dar un ejemplo de
la vida real para comprender la eficacia de este tipo de procesamiento.

Si un concurrido centro comercial tiene un solo contador de efectivo, los clientes


forman una sola cola y esperan su turno. Si hay dos contadores de efectivo, la tarea
se puede dividir de manera efectiva y los clientes podrán formar dos colas para
poder realizar sus pagos dos veces más rápido. Este es un ejemplo en el que el
procesamiento en paralelo es una solución eficaz.

Con la ayuda del procesamiento en paralelo, problemas científicos altamente


complicados que son de otra manera extremadamente difíciles de resolver se
pueden resolver con eficacia. La computación paralela se puede utilizar eficazmente
para tareas que implican un gran número de cálculos, tienen limitaciones de tiempo
y se pueden dividir en una serie de tareas más pequeñas.

El procesamiento paralelo es particularmente beneficioso en áreas tales como la


meteorología y el clima, las reacciones químicas y nucleares, exploración de
petróleo, la medición de los datos sísmicos, la tecnología espacial, circuitos
electrónicos, el genoma humano, la medicina, gráficos avanzados y la realidad
virtual, y los procesos de fabricación.

Con toda probabilidad, el paralelismo es el futuro de la informática. En general, la


implementación exitosa de la computación paralela implica dos desafíos:

 Las tareas deben estar estructurados de tal manera que puedan ser
ejecutadas al mismo tiempo.
 La secuencia de tareas que deben ser ejecutadas una después de la otra.

También podría gustarte