Ir al contenido principal

11# Pipeline

En computación, se le llama pipeline a una serie de elementos de procesamiento de datos ordenados de tal modo que la salida de cada uno es la entrada del siguiente, como quien dice una cadena de montaje pero en vez de orientada a la manufactura, orientada al procesamiento de datos e instrucciones.


La acción básica de cualquier microprocesador, en tanto se mueve a través de la corriente de instrucciones, se puede descomponer en una serie de cuatro pasos simples, que cada instrucción en la corriente de código debe atravesar para ser ejecutada:

  • 1. Fetch: "traer" la instrucción que se va a ejecutar, de la dirección almacenada en el contador de programa.
  • 2. Store: "almacenar" la instrucción en el registro de instrucciones y "descifrarla", incrementando la dirección en el contador de programa.
  • 3. Execute: "Ejecutar" la instrucción almacenada en el registro de instrucciones. Si la instrucción no es una instrucción de rama sino una instrucción aritmética, este proceso la envía a la ALU apropiada (ALU: Arithmetic Logic Unit – en español: Unidad Aritmético-Lógica), donde el microprocesador: a. "Lee" el contenido de los registros de entrada. b. "Agrega" el contenido de los registros de entrada.
  • 4. Write: "Escribir" los resultados de esa instrucción de la ALU nuevamente dentro del registro de destinación

En un procesador moderno, los cuatro pasos arriba descritos son repetidos una y otra vez hasta que el programa termine de ejecutarse. Éstas son, en hecho, las cuatro etapas en un "pipe" clásico del RISC. (Definiré el término "pipe" pronto; por ahora, piensen en un "pipe" como serie de etapas que cada instrucción en la corriente de código debe atravesar cuando se está ejecutando dicha corriente de código.)

Cada uno de los conceptos anteriores puede ser usado para representar una fase en el "ciclo de vida" de una instrucción. Una instrucción comienza en la fase de "traer", se mueve a la fase de "descifrar", después a la fase "ejecutar", y finalmente a la fase "escribir". Cada fase toma un tiempo fijo, pero de ningún modo igual al que otra fase toma en cumplir su cometido.
En la mayoría de los ejemplos de procesadores con los que trabajaremos en este artículo, las cuatro fases tomarán la misma cantidad de tiempo; éste no es generalmente el caso en procesadores del mundo real. De cualquier manera, si el procesador simple del ejemplo toma exactamente 1 nanosegundo para terminar cada etapa, entonces el procesador puede acabar una instrucción cada 4 nanosegundos.

Fuente de la imagen: https://en.wikipedia.org/wiki/Instruction_pipelining

Comentarios

Entradas más populares de este blog

11# Algoritmo de Prim

El algoritmo fue diseñado en 1930 por el matemático Vojtech Jarnik y luego de manera independiente por el científico computacional Robert C. Prim en 1957 y redescubierto por Dijkstra en 1959. Por esta razón, el algoritmo es también conocido como  algoritmo DJP  o  algoritmo de Jarnik . Descripción El algoritmo de Prim es un algoritmo perteneciente a la teoría de los grafos para encontrar un árbol recubridor mínimo en un grafo conexo, no dirigido y cuyas aristas están etiquetadas. Este incrementa continuamente el tama ño de un ár bol, comenzando por un vertice inicial al que se le van agregando sucesivamente vértices cuya distancia a los anteriores es mínima. Esto significa que en cada paso, las aristas a considerar son aquellas que inciden en vértices que ya pertenecen al árbol El árbol recubridor mínimo está completamente construido cuando no q...

09# Teoría de Grafos y Biología Molecular

Uno de los temas tocados en la semana de la computación fueron el de la teoría de grafos y la biología molecular. También se pudo ver cómo estas se conectaban, como esta teoría ayudo a realizar grandes descubrimientos en el área de la biología molecular. Primero que todo vamos a ver la definición de cada para tener una idea más clara. Teoría de Grafos: Esta es una rama de las matemáticas y las ciencias de la computación que las propiedades de los grafos. Estructuras de datos vistos en el curso de Estructuras de Datos en nuestra carrera. La biología molecular Es la disciplina científica que tiene como objetivo el estudio de los procesos que se desarrollan en los seres vivos desde un punto de vista molecular. Fuente: Wikipedia Ya que tenemos sus definiciones ahora explicaré sus puntos donde intersecan. Estas áreas se relacionan gracias a que en la biología molecular se necesitaba saber cuál era la composición exacta de los DNA, gracias a grandes matemáticos y científic...

04# Algoritmos de Búsqueda

Un algoritmo es como un conjunto de instrucciones que se deben seguir para realizar una tarea concreta. Este se rige por una serie de pasos o ciclos con sus condiciones definidas para el proceso del trabajo que se quiere hacer. Hoy nos basaremos mayormente en los algoritmos de búsqueda, estos se encargan de encontrar un elemento en una estructura de datos. Existen diversos algoritmos para este propósito. Unos de los vistos en las clases anteriores son el secuencial, binario y el de interpolación. Secuencial: Uno de los algoritmos más sencillos y fáciles de implementar, ya que su única función es la de comparar cada elemento de la estructura de datos con el elemento que se quiere encontrar: L: Largo de la estructura T: temporal contador ELE: Elemento a buscar A: Estructura donde se desea buscar Mientras L > T:                 Si ELE es igual a A posición [T]:     ...