SlideShare una empresa de Scribd logo
1 de 19
Introducción



Los procesadores segmentados sirven para mejorar el rendimiento sin
necesidad de duplicar excesivamente el hardware.

Se usaron por primera vez en los años 60 para los grandes sistemas
(mainframes) de altas presentaciones, y fueron muy importantes en los años
80 para el enfoqué RISC1del diseño de computadores (la mayoria de técnicas
RISC se relacionan con el objetivo de conseguir una buena segmentación).

El Intel i486 fue la primera implementación segmentada de la arquitectura
IA32.

La segmentación se utiliza mucho actualmente para el desarrollo de juegos de
instrucciones del procesador. Actualmente, la tendencia es lograr
segmentaciones más profundas para obtener frecuencias de reloj muy altas. Es
un método muy eficaz para obtener un mayor rendimiento.




              Procesamiento Segmentado
Segmentación:


La segmentación (pipelining) es una técnica de implementación de
procesadores que desarrolla el paralelismo a nivel de intrainstruccion.
Mediante la segmentación se puede solapar la ejecucion de múltiples
instrucciones.

El procesamiento segmentado aprovecha la misma filosofía de trabajo de la
fabricación en cadena: cada etapa de la segmentación (o segmento) completa
una parte (subtarea) de la tarea total.

Los segmentos están conectados cada uno con el siguiente, de forma que la
salida de uno pasa ser la entrada del siguiente.

La segmentación es como una línea de ensamblaje cada etapa de la
segmentación completa una parte de la instrucción. Como en una línea de
ensamblaje de automóviles, el trabajo que va a realizar una instrucción se
descompone en partes más pequeñas, cada una de las cuales necesita una
fracción del tiempo necesario para completar la instrucción completa.

Cada uno de estos pasos se define como etapa de la segmentación o
segmento.


Las etapas están conectadas, cada una a la siguiente, para formar una especie
de cauce2. Las instrucciones entran por un extremo, son procesadas a través de
las etapas y salen por el otro extremo.




Lo más importante de la segmentación es que las diferentes subtarea pueden
procesarse de forma simultánea, aunque se sobre diferentes datos.

Una contribución clave de la segmentación es la posibilidad de comenzar una
nueva tarea sin necesidad de que la anterior se haya terminado.
La medida de la eficacia de un procesador segmentado no es el tiempo total
transcurrido desde que se comienza una determinad tarea hasta que se termina
(tiempo de latencia del procesador), sino el tiempo máximo que puede pasar
entre la finalización de dos tareas consecutivas.



Considérese una tarea, compuesta por n subtarea. Si estas subtarea se procesan
de forma totalmente, el tiempo necesario para procesar la tarea total será la
suma de los tiempos necesarios para la terminación de cada una de las
subtarea




En este esquema, Tij representa la subtarea j dentro de la tarea i.

Por otra parte, para comenzar el tratamiento de una nueva tarea será necesario
esperar ese mismo tiempo. Esto se debe a que habrá algunas unidades
funcionales que serán necesarias para llevar a cabo varias de las subtarea y por
ello esas subtareas no podrán superponerse en el tiempo



Si para procesar esa misma tarea, se emplea un procesador segmentado, basta
que se haya terminado la primera subtarea para poder empezar a procesar una
nueva tarea.
En la citada figura puede verse el continuo flujo de tareas que se van
procesando a través de los n segmentos encargados de procesar cada una de
las subtareas.
Procesador Segmentado:


Un procesador segmentado es aquel que divide el proceso de
ejecucion de una instrucción en N etapas de similar duracion con el
objetivo de procesar N instrucciones simultáneamente,
encontrándose cada una en una etapa diferente de su ejecucion.
Conseguimos asi, que un procesador compuesto por N unidades
funcionales que trabajan a la vez en circunstancias ideales,
incremente su rendimiento en un factor de N.
Las instrucciones fluyen secuencialmente por las distintas unidades
funcionales del procesador de igual forma que el agua fluye por el
cauce de una tubería, de ahí que en la jerga de la calle se les conozca
como procesadores pipeline que significa tubería en inglés.


Recordemos que:
El modelo de segmentación más repetido en la primera mitad de los
años 90 es el compuesto por las siguientes cinco etapas:
     Búsqueda de la instrucción
     Decodificación
     Lectura de operandos
     Ejecución de la operación asociada
     Escritura de su resultado.
El DLX es un microprocesador diseñado por John L. Hennessy y
David A. Patterson presenta una ejecucion en cinco etapas, similares
a las del microprocesador MIPS, también diseñado por John L.
Hennessy en la Universidad de Stanford, buscando la filosofía de la
segmentación. Estas 5 etapas son:
IF: búsqueda
ID: decodificación
EX: ejecucion de unidad aritmético lógico
MEM: memoria
WB: escritura


De esta manera, mientras el procesador escribe una instrucción, ejecuta
simultáneamente las siguiente, busca los operandos de una tercera, decodifica
una cuarta y busca en memoria una quinta instrucción, lográndose en un caso
ideal una aceleración de cinco para el rendimiento del chip.



Podemos observar en el siguiente grafico la ejecucion simultánea de cinco
instrucciones distintas etapas en un procesador DLX
Todos los microprocesadores actuales se encuentran segmentados, habiendo
aumentado el número de etapas con el paso de las generaciones. Asi, lo
normal en la séptima generación es encontrarnos con cauces de ejecucion
entera de 20 etapas de segmentación en el caso del Pentium IV (2003) de Intel
o 31 etapas en los procesadores Prescott (2004) también de Intel



La gran ventaja de la aplicación de la segmentación en el diseño de
losmicroprocesadores es que el aumento del rendimiento se consigue con solo
reorganizar las unidades funcionales existentes, por lo que no supone un incre
mento de coste para la Unidad de Proceso. El diseño de la Unidad de Control
 sí se complica un poco a medida
que aumenta el número de etapas y el grado de concurrencia en la ejecución d
e las instrucciones pero es despreciable si lo comparamos con el espectacular i
ncremento del rendimiento.



Clasificación de los Procesadores Segmentado:
Puede establecerse una clasificación de los procesadores segmentados
atendiendo al uso que se da a la segmentación. Esta clasificación fue
propuesta por Handler (1997).



   a) Segmentación aritmética
   b) Segmentación de instrucciones
   c) Segmentación de procesadores

      Segmentación aritmética

      La ALU de un computador puede segmentarse para la ejecucion de
      algoritmos aritméticos complejos. La segmentación aritmética es muy
      útil para procesar sobre todas las componentes de un vector, esto se
      consigue provocando que un segmento de la unidad aritmética trabaje
sobre una de las componentes mientras que las demás trabajan sobre las
componentes siguientes
Un ejemplo clásico de este tipo de procesadores es el multiplicador
segmentado basado en un árbol de Wallace, tal como se muestra en la
figura.




En esta figura los bloques CSA representan a sumadores con
salvaguarda de llevadas y los bloques CLA, a sumadores con
generación anticipada de llevadas. Las líneas inclinadas hacia la
izquierda indican que los vectores de llevadas deben desplazarse a la
izquierda un lugar antes de entrar en la etapa siguiente.
Segmentación de instrucción

      La ejecución de un flujo de instrucciones puede adoptar una estructura
      segmentada que permita el solapamiento de la ejecución de una
      instrucción con la lectura, decodificación, búsqueda de operandos, etc.
      de las instrucciones siguientes. Esta técnica también se denomina
      anticipación de instrucciones (instru on lookahead).

      En la figura se muestra un ejemplo de segmentación de instrucciones.
      La citada figura corresponde a un computador de tipo registro-registro,
      es decir un computador en que los accesos a memoria están restringidos
      a instrucciones específicas (LOAD y STORE)

      Se supone que el computador dispone de arquitectura Harvard, es decir,
      que posee memorias cache separadas por codigo y datos

      En el ejemplo se ha dividido la ejecucion completa de casa instrucción
      en 4 segmentos

         A.   Lectura.
         B.   Decodificación y lectura de operandos.
         C.   Ejecucion.
         D.   Acceso a la memoria de datos (si es necesario).



Prácticamente, todos los computadores actuales disponen de segmentación de
instrucciones.
Segmentación de procesadores

Este tipo de procesamiento se producecuando el mismo flujo de datos es
tratado por una serie de procesadores, de forma que cada uno de ellos
efectué una subtarea del proceso total. Cada procesador dejara sus
resultados en una memoria, que también será accesible desde el
siguiente, para que este procese esos resultados para ejecutar la
siguiente subtarea sobre el flujo de datos. Este tipo de segmentación se
emplea solamente en procesadores vectoriales de muy altas
prestaciones.




Superescalaridad

La Superescalaridad consiste en la replicación de la circuitería de las
unidades funcionales de un microprocesador, creando por lo tanto
varios cauces (pipelines) de manera que se puedan ejecutar varias
instrucciones a la vez.

Procesador superescalar

Un procesador superescalar de factor N es aquel que replica N veces la
circuitería de algunas de sus unidades funcionales con el fin de poder
ejecutar N instrucciones en sus respectivas etapas de computación.

Con la mejora de la capacidad de integración de circuitos que permiten
concentrar más y más componentes dentro de un chip, los diseñadores
de microprocesadores también ha aumentado el factor de
Superescalaridad, logrando, al igual que en la segmentación mejoras del
rendimiento de un factor de N.

Sin embargo el coste de incrementar el rendimiento mediante la
Superescalaridad es superior al de la segmentación.
En el siguiente grafico se muestra la ejecucion en paralelo de 5
instrucciones cada una en su cauce o pipeline, lo que representa una
Superescalaridad de factor 5.




Combinación de segmentación y Superescalaridad

Como se puede observarse en la figura, las filosofías de segmentación y
Superescalaridad son perfectamente compatibles.
Sin embargo existen ciertos conflictos a la hora de poner en práctica
simultáneamente ambas ideas, y es que cada técnica exige unos
requisitos diferentes:


      La segmentación requiere una elevada frecuencia de forma
      que solo un periodo reloj muy corto permitirá descomponer cada
      instrucción en un número elevado de etapas.
      La Superescalaridad por el contrario necesita un ingente
      número de transistores para poder ser implementada.
Por lo tanto, la Superescalaridad estorba a la segmentación
   porque ésta provoca un desdoble de la circuitería existente, que
   perjudica la frecuencia de reloj, lo que dificulta el obtener un
   número elevado de etapas de segmentación.

   De igual forma la segmentación estorba a la Superescalaridad ya
   que cuando las etapas son tan minúsculas, es difícil incrementar la
   complejidad replicando la circuitería.




Supersegmentacion

La palabra Supersegmentacion nos lleva a la tentación de aplicar la
ecuación superescalar + segmentado = supersegmentado, cuando en
realidad la ecuación correcta es segmento + segmento =
supersegmentado.

La Supersegmentacion consiste en segmentar algunas de las etapas (en
concreto las más lentas) que mencionamos para los procesadores
segmentados, en dos o más etapas de manera que se permite que haya
dos instrucciones a la vez dentro de la misma etapa y unidad funcional
sin tener que replicar esta (Superescalaridad). De esta forma, dividiendo
por ejemplo cada etapa en 2, el ciclo de reloj de periodo T se verá
reducido a la mitad, T/2, de esta forma al máximo de capacidad el cauce
o pipeline produce un resultado cada T/2 segundos.


Procesadores Supersegmentacion


Un procesador supersegmentado es aquel que aplica dos veces el
concepto de segmentación, la primera al nivel de diseño global, y la
segunda al nivel interno de sus unidades funcionales.
Por ejemplo una descomposición en 5 etapas de segmentación como la
del Pentium compuesta por las etapas de búsqueda, decodificación,
lectura, ejecucion y escritura, permite aplicar otra segmentación a cada
una de las unidades funcionales que intervienen en cada ciclo como son:
la cache de instrucciones, el decodificador de instrucción, la cache de
datos, la ALU o el banco de registro.



En el caso de la cache de instrucciones que es referenciada en la
primera etapa, esta puede ser una cache segmentada en dos etapas,
que permite simultanear la búsqueda de una instrucción y la
localización de su celda de cache asociada, con la lectura del codigo de
la anterior instrucción y su volcado al bus de datos del procesador. Asi
se obtienen dos niveles de segmentación como se muestra en el
apartado d) de la figura, en la que se comparan las 4 técnicas de
paralelismo expuestas.
En general la Supersegmentacion lleva asociada la subdivisión del ciclo de
reloj base en ciclos supersegmentado




Tantos ciclos como etapas hayan establecido para el segundo nivel de
segmentación, lo que desemboca en diseños que trabajan a muy alta
frecuencia.



Una buena implementación supersegmentado siempre incluye la ejecucion
de instrucciones fuera de orden. La ejecucion de instrucciones fuera de
orden es un paradigma utilizado en la mayoria de los microprocesadores de
alto rendimiento por el cual, si una vez capturada una instrucción los
operandos no están disponibles, para evitar esperas improductivas del
procesador hasta que estén disponibles la instrucción se pone en un cola a la
espera, de forma que otras instrucciones puedan abandonar la cola y
ejecutarse si sus operando están disponibles.

La ejecucion fuera de orden minimiza el efecto negativo que producen las
esperas por dependencias de datos sobre el rendimiento del procesador pero
para desarrollarla hace falta también implementar la Superescalaridad en
los procesadores
Ejemplos de procesadores supersegmentado

ALPHA 21264

Un clásico ejemplo de diseño supersegmentado es el procesador Alpha
21264 de Digital, procesador RISCde principios de la década de los 90
y hermano menor del Alpha 21364 de COMPAQ que fue el encargado
de decodificar el genoma humano en la empresa Celera Genomic.

El segundo nivel de segmentación de esta arquitectura incluye una
descomposición en 9 etapas para el caso de la cache, lo que dio lugar
a una frecuencia de reloj de 600 MHZ a finales de 1997, cuando en esa
época los Pentium II y demás modelos para Pc operaban a menos de la
mitad de esa frecuencia.

Pentium IV

Desarrollada en el 2000, está compuesto de 42.000.000 de transistores,
funciona a una frecuencia de 2`4 GHz, con un FSB3de 400 MHZ.
Presenta una Supersegmentacion de 20 etapasy ofrece 144 nuevas
instrucciones para procesar video y audio, optimizando el rendimiento
para las tecnologías modernas de Internet y visualización de gráficos en
3 dimensiones. A continuación un gráfico que muestra la ejecucion de 4
instrucciones en las 20 etapas supersegmentadas de un Pentium IV.

Más contenido relacionado

La actualidad más candente

Analisis Lexico
Analisis LexicoAnalisis Lexico
Analisis LexicoFARIDROJAS
 
Procesos Interrupciones y Nucleo
 Procesos Interrupciones y Nucleo Procesos Interrupciones y Nucleo
Procesos Interrupciones y NucleoG Hoyos A
 
Arboles de derivacion
Arboles de derivacionArboles de derivacion
Arboles de derivacionLuis Couoh
 
Aplicaciones de Autómatas y Lenguajes Formales
Aplicaciones de Autómatas y Lenguajes FormalesAplicaciones de Autómatas y Lenguajes Formales
Aplicaciones de Autómatas y Lenguajes FormalesMoises Benzan
 
Procesos Planificacion de los Sistemas Operativos
 Procesos Planificacion de los Sistemas Operativos Procesos Planificacion de los Sistemas Operativos
Procesos Planificacion de los Sistemas OperativosG Hoyos A
 
Planificacion de CPU FCFS (First Come, First Served)
Planificacion de CPU FCFS (First Come, First Served)Planificacion de CPU FCFS (First Come, First Served)
Planificacion de CPU FCFS (First Come, First Served)Rodrigo Saraguro
 
Unidad 4: Procesos y Administracion del Procesador
Unidad 4: Procesos y Administracion del ProcesadorUnidad 4: Procesos y Administracion del Procesador
Unidad 4: Procesos y Administracion del ProcesadorUPTM
 
Segmetación de instrucciones
Segmetación de instruccionesSegmetación de instrucciones
Segmetación de instruccionesLely
 
Unidad 4 graficación
Unidad 4 graficaciónUnidad 4 graficación
Unidad 4 graficaciónAndhy H Palma
 
Arquitectura de Von Neumann
Arquitectura de Von NeumannArquitectura de Von Neumann
Arquitectura de Von Neumannjaguilar69
 
Unidad 1.2 A IntroduccióN A Los Proceso De Software Modelos Tradicionales
Unidad 1.2 A IntroduccióN A Los Proceso De Software   Modelos TradicionalesUnidad 1.2 A IntroduccióN A Los Proceso De Software   Modelos Tradicionales
Unidad 1.2 A IntroduccióN A Los Proceso De Software Modelos TradicionalesSergio Sanchez
 
Modelo de 5 estados para sistemas operativos
Modelo de 5 estados para sistemas operativosModelo de 5 estados para sistemas operativos
Modelo de 5 estados para sistemas operativosLuis Dario Gomez
 
Arquitectura de Computadoras - Memoria
Arquitectura de Computadoras - MemoriaArquitectura de Computadoras - Memoria
Arquitectura de Computadoras - MemoriaMiguel Rodríguez
 
Estructura interna de un procesador
Estructura interna de un procesadorEstructura interna de un procesador
Estructura interna de un procesadorAlan EG
 
PROGRAMACION CONCURRENTE
PROGRAMACION CONCURRENTEPROGRAMACION CONCURRENTE
PROGRAMACION CONCURRENTEgladysmamani
 
Metodologia web
Metodologia webMetodologia web
Metodologia webAnel Sosa
 
Sistemas Operativos Gestion de procesos
Sistemas Operativos Gestion de procesosSistemas Operativos Gestion de procesos
Sistemas Operativos Gestion de procesosChiNo Sosa Erazo
 

La actualidad más candente (20)

Analisis Lexico
Analisis LexicoAnalisis Lexico
Analisis Lexico
 
Traductor y su estructura
Traductor y su estructuraTraductor y su estructura
Traductor y su estructura
 
Procesos Interrupciones y Nucleo
 Procesos Interrupciones y Nucleo Procesos Interrupciones y Nucleo
Procesos Interrupciones y Nucleo
 
Arboles de derivacion
Arboles de derivacionArboles de derivacion
Arboles de derivacion
 
Aplicaciones de Autómatas y Lenguajes Formales
Aplicaciones de Autómatas y Lenguajes FormalesAplicaciones de Autómatas y Lenguajes Formales
Aplicaciones de Autómatas y Lenguajes Formales
 
Procesos Planificacion de los Sistemas Operativos
 Procesos Planificacion de los Sistemas Operativos Procesos Planificacion de los Sistemas Operativos
Procesos Planificacion de los Sistemas Operativos
 
Planificacion de CPU FCFS (First Come, First Served)
Planificacion de CPU FCFS (First Come, First Served)Planificacion de CPU FCFS (First Come, First Served)
Planificacion de CPU FCFS (First Come, First Served)
 
Unidad 4: Procesos y Administracion del Procesador
Unidad 4: Procesos y Administracion del ProcesadorUnidad 4: Procesos y Administracion del Procesador
Unidad 4: Procesos y Administracion del Procesador
 
Segmetación de instrucciones
Segmetación de instruccionesSegmetación de instrucciones
Segmetación de instrucciones
 
Unidad 4 graficación
Unidad 4 graficaciónUnidad 4 graficación
Unidad 4 graficación
 
Arquitectura de Von Neumann
Arquitectura de Von NeumannArquitectura de Von Neumann
Arquitectura de Von Neumann
 
Unidad 1.2 A IntroduccióN A Los Proceso De Software Modelos Tradicionales
Unidad 1.2 A IntroduccióN A Los Proceso De Software   Modelos TradicionalesUnidad 1.2 A IntroduccióN A Los Proceso De Software   Modelos Tradicionales
Unidad 1.2 A IntroduccióN A Los Proceso De Software Modelos Tradicionales
 
1.2. El procesador y sus registros internos
1.2. El procesador y sus registros internos1.2. El procesador y sus registros internos
1.2. El procesador y sus registros internos
 
Modelo de 5 estados para sistemas operativos
Modelo de 5 estados para sistemas operativosModelo de 5 estados para sistemas operativos
Modelo de 5 estados para sistemas operativos
 
Arquitectura de Computadoras - Memoria
Arquitectura de Computadoras - MemoriaArquitectura de Computadoras - Memoria
Arquitectura de Computadoras - Memoria
 
Estructura interna de un procesador
Estructura interna de un procesadorEstructura interna de un procesador
Estructura interna de un procesador
 
PROGRAMACION CONCURRENTE
PROGRAMACION CONCURRENTEPROGRAMACION CONCURRENTE
PROGRAMACION CONCURRENTE
 
UNIDAD 3 MODULARIZACIÓN
UNIDAD 3 MODULARIZACIÓNUNIDAD 3 MODULARIZACIÓN
UNIDAD 3 MODULARIZACIÓN
 
Metodologia web
Metodologia webMetodologia web
Metodologia web
 
Sistemas Operativos Gestion de procesos
Sistemas Operativos Gestion de procesosSistemas Operativos Gestion de procesos
Sistemas Operativos Gestion de procesos
 

Similar a Procesamiento segmentado - INFORME

ARQUITECTURA_DE_COMPUTADORAS.pdf
ARQUITECTURA_DE_COMPUTADORAS.pdfARQUITECTURA_DE_COMPUTADORAS.pdf
ARQUITECTURA_DE_COMPUTADORAS.pdfMariuxiBayas3
 
Unidad 1
Unidad 1Unidad 1
Unidad 1Isabel
 
Informe top sw
Informe top swInforme top sw
Informe top swcams21
 
Introduccion a la arquitectura de computadoras.docx
Introduccion a la arquitectura de computadoras.docxIntroduccion a la arquitectura de computadoras.docx
Introduccion a la arquitectura de computadoras.docxJessilara3
 
Trabajo de ureche nataly el repertorio de instrucciones
Trabajo de ureche nataly el repertorio de instruccionesTrabajo de ureche nataly el repertorio de instrucciones
Trabajo de ureche nataly el repertorio de instruccionesNati Cabraless
 
Segundo blog arquitectura de hardware tercer corte
Segundo blog arquitectura de hardware tercer corteSegundo blog arquitectura de hardware tercer corte
Segundo blog arquitectura de hardware tercer corteSebastian Gonzalez
 
Capacidad de la unidad de procesamiento por andres maica
Capacidad de la unidad de procesamiento por andres maicaCapacidad de la unidad de procesamiento por andres maica
Capacidad de la unidad de procesamiento por andres maicaAndresMaica28
 
Arquitectura de un microprocesador
Arquitectura de un microprocesadorArquitectura de un microprocesador
Arquitectura de un microprocesadorDorvinEduardo
 
Arquitectura de computadoras
Arquitectura de computadorasArquitectura de computadoras
Arquitectura de computadorascamiche97
 
SEMANA01a-Arquitectura-de-Computadoras.pptx
SEMANA01a-Arquitectura-de-Computadoras.pptxSEMANA01a-Arquitectura-de-Computadoras.pptx
SEMANA01a-Arquitectura-de-Computadoras.pptxBRIANJEFFERSONGUILLE
 
Investigacion 1 modelos_de_arquitectura
Investigacion 1 modelos_de_arquitecturaInvestigacion 1 modelos_de_arquitectura
Investigacion 1 modelos_de_arquitecturaluis chacon
 
Capacidad de la unidad de procesamiento
Capacidad de la unidad de procesamientoCapacidad de la unidad de procesamiento
Capacidad de la unidad de procesamientoRosannyGamardo
 

Similar a Procesamiento segmentado - INFORME (20)

Arquitectura tipos lupe
Arquitectura tipos lupeArquitectura tipos lupe
Arquitectura tipos lupe
 
Tarea 1.1
Tarea 1.1Tarea 1.1
Tarea 1.1
 
ARQUITECTURA_DE_COMPUTADORAS.pdf
ARQUITECTURA_DE_COMPUTADORAS.pdfARQUITECTURA_DE_COMPUTADORAS.pdf
ARQUITECTURA_DE_COMPUTADORAS.pdf
 
Unidad 1 arquitectura
Unidad 1 arquitecturaUnidad 1 arquitectura
Unidad 1 arquitectura
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Segmentación
SegmentaciónSegmentación
Segmentación
 
Arqui hardware
Arqui hardwareArqui hardware
Arqui hardware
 
Informe top sw
Informe top swInforme top sw
Informe top sw
 
Introduccion a la arquitectura de computadoras.docx
Introduccion a la arquitectura de computadoras.docxIntroduccion a la arquitectura de computadoras.docx
Introduccion a la arquitectura de computadoras.docx
 
Trabajo de ureche nataly el repertorio de instrucciones
Trabajo de ureche nataly el repertorio de instruccionesTrabajo de ureche nataly el repertorio de instrucciones
Trabajo de ureche nataly el repertorio de instrucciones
 
Segundo blog arquitectura de hardware tercer corte
Segundo blog arquitectura de hardware tercer corteSegundo blog arquitectura de hardware tercer corte
Segundo blog arquitectura de hardware tercer corte
 
MICROPROCESADORES
MICROPROCESADORESMICROPROCESADORES
MICROPROCESADORES
 
Capacidad de la unidad de procesamiento por andres maica
Capacidad de la unidad de procesamiento por andres maicaCapacidad de la unidad de procesamiento por andres maica
Capacidad de la unidad de procesamiento por andres maica
 
Tercer corte arquitectura
Tercer corte arquitecturaTercer corte arquitectura
Tercer corte arquitectura
 
Arquitectura de un microprocesador
Arquitectura de un microprocesadorArquitectura de un microprocesador
Arquitectura de un microprocesador
 
Arquitectura de computadoras
Arquitectura de computadorasArquitectura de computadoras
Arquitectura de computadoras
 
SEMANA01a-Arquitectura-de-Computadoras.pptx
SEMANA01a-Arquitectura-de-Computadoras.pptxSEMANA01a-Arquitectura-de-Computadoras.pptx
SEMANA01a-Arquitectura-de-Computadoras.pptx
 
Investigacion 1 modelos_de_arquitectura
Investigacion 1 modelos_de_arquitecturaInvestigacion 1 modelos_de_arquitectura
Investigacion 1 modelos_de_arquitectura
 
Trabajo 1 s. operativos ii
Trabajo 1 s. operativos iiTrabajo 1 s. operativos ii
Trabajo 1 s. operativos ii
 
Capacidad de la unidad de procesamiento
Capacidad de la unidad de procesamientoCapacidad de la unidad de procesamiento
Capacidad de la unidad de procesamiento
 

Más de Jairo Quiroz Cabanillas (20)

COMPUTACIÓN EVOLUTIVA
COMPUTACIÓN EVOLUTIVACOMPUTACIÓN EVOLUTIVA
COMPUTACIÓN EVOLUTIVA
 
ROBOTICA
ROBOTICAROBOTICA
ROBOTICA
 
Algoritmo voraces
Algoritmo voracesAlgoritmo voraces
Algoritmo voraces
 
Sistemas raid
Sistemas raidSistemas raid
Sistemas raid
 
Sql dataadapter
Sql dataadapterSql dataadapter
Sql dataadapter
 
Sql connection
Sql connectionSql connection
Sql connection
 
ADO
ADOADO
ADO
 
ACCIDENTES DE TRABAJO
ACCIDENTES  DE TRABAJOACCIDENTES  DE TRABAJO
ACCIDENTES DE TRABAJO
 
Segmentación
Segmentación Segmentación
Segmentación
 
Discos duros
Discos durosDiscos duros
Discos duros
 
Evolucion web
Evolucion webEvolucion web
Evolucion web
 
Procesamiento superescalar
Procesamiento superescalarProcesamiento superescalar
Procesamiento superescalar
 
Buses de arquitectura
Buses de arquitecturaBuses de arquitectura
Buses de arquitectura
 
MRP y ERP
MRP y ERPMRP y ERP
MRP y ERP
 
Planeacion de produccion
Planeacion de produccionPlaneacion de produccion
Planeacion de produccion
 
Sistema justo a tiempo
Sistema justo a tiempoSistema justo a tiempo
Sistema justo a tiempo
 
Administración del mantenimiento y fiabilidad
Administración del mantenimiento y fiabilidadAdministración del mantenimiento y fiabilidad
Administración del mantenimiento y fiabilidad
 
Mantenimiento y confiabiliadad
Mantenimiento y confiabiliadadMantenimiento y confiabiliadad
Mantenimiento y confiabiliadad
 
Nivel red
Nivel redNivel red
Nivel red
 
Capa de transporte nivel enrutamiento - pat - nat
Capa de transporte   nivel enrutamiento - pat - natCapa de transporte   nivel enrutamiento - pat - nat
Capa de transporte nivel enrutamiento - pat - nat
 

Procesamiento segmentado - INFORME

  • 1. Introducción Los procesadores segmentados sirven para mejorar el rendimiento sin necesidad de duplicar excesivamente el hardware. Se usaron por primera vez en los años 60 para los grandes sistemas (mainframes) de altas presentaciones, y fueron muy importantes en los años 80 para el enfoqué RISC1del diseño de computadores (la mayoria de técnicas RISC se relacionan con el objetivo de conseguir una buena segmentación). El Intel i486 fue la primera implementación segmentada de la arquitectura IA32. La segmentación se utiliza mucho actualmente para el desarrollo de juegos de instrucciones del procesador. Actualmente, la tendencia es lograr segmentaciones más profundas para obtener frecuencias de reloj muy altas. Es un método muy eficaz para obtener un mayor rendimiento. Procesamiento Segmentado
  • 2. Segmentación: La segmentación (pipelining) es una técnica de implementación de procesadores que desarrolla el paralelismo a nivel de intrainstruccion. Mediante la segmentación se puede solapar la ejecucion de múltiples instrucciones. El procesamiento segmentado aprovecha la misma filosofía de trabajo de la fabricación en cadena: cada etapa de la segmentación (o segmento) completa una parte (subtarea) de la tarea total. Los segmentos están conectados cada uno con el siguiente, de forma que la salida de uno pasa ser la entrada del siguiente. La segmentación es como una línea de ensamblaje cada etapa de la segmentación completa una parte de la instrucción. Como en una línea de ensamblaje de automóviles, el trabajo que va a realizar una instrucción se descompone en partes más pequeñas, cada una de las cuales necesita una fracción del tiempo necesario para completar la instrucción completa. Cada uno de estos pasos se define como etapa de la segmentación o segmento. Las etapas están conectadas, cada una a la siguiente, para formar una especie de cauce2. Las instrucciones entran por un extremo, son procesadas a través de las etapas y salen por el otro extremo. Lo más importante de la segmentación es que las diferentes subtarea pueden procesarse de forma simultánea, aunque se sobre diferentes datos. Una contribución clave de la segmentación es la posibilidad de comenzar una nueva tarea sin necesidad de que la anterior se haya terminado.
  • 3. La medida de la eficacia de un procesador segmentado no es el tiempo total transcurrido desde que se comienza una determinad tarea hasta que se termina (tiempo de latencia del procesador), sino el tiempo máximo que puede pasar entre la finalización de dos tareas consecutivas. Considérese una tarea, compuesta por n subtarea. Si estas subtarea se procesan de forma totalmente, el tiempo necesario para procesar la tarea total será la suma de los tiempos necesarios para la terminación de cada una de las subtarea En este esquema, Tij representa la subtarea j dentro de la tarea i. Por otra parte, para comenzar el tratamiento de una nueva tarea será necesario esperar ese mismo tiempo. Esto se debe a que habrá algunas unidades funcionales que serán necesarias para llevar a cabo varias de las subtarea y por ello esas subtareas no podrán superponerse en el tiempo Si para procesar esa misma tarea, se emplea un procesador segmentado, basta que se haya terminado la primera subtarea para poder empezar a procesar una nueva tarea.
  • 4. En la citada figura puede verse el continuo flujo de tareas que se van procesando a través de los n segmentos encargados de procesar cada una de las subtareas.
  • 5. Procesador Segmentado: Un procesador segmentado es aquel que divide el proceso de ejecucion de una instrucción en N etapas de similar duracion con el objetivo de procesar N instrucciones simultáneamente, encontrándose cada una en una etapa diferente de su ejecucion. Conseguimos asi, que un procesador compuesto por N unidades funcionales que trabajan a la vez en circunstancias ideales, incremente su rendimiento en un factor de N. Las instrucciones fluyen secuencialmente por las distintas unidades funcionales del procesador de igual forma que el agua fluye por el cauce de una tubería, de ahí que en la jerga de la calle se les conozca como procesadores pipeline que significa tubería en inglés. Recordemos que: El modelo de segmentación más repetido en la primera mitad de los años 90 es el compuesto por las siguientes cinco etapas:  Búsqueda de la instrucción  Decodificación  Lectura de operandos  Ejecución de la operación asociada  Escritura de su resultado.
  • 6. El DLX es un microprocesador diseñado por John L. Hennessy y David A. Patterson presenta una ejecucion en cinco etapas, similares a las del microprocesador MIPS, también diseñado por John L. Hennessy en la Universidad de Stanford, buscando la filosofía de la segmentación. Estas 5 etapas son: IF: búsqueda ID: decodificación EX: ejecucion de unidad aritmético lógico MEM: memoria WB: escritura De esta manera, mientras el procesador escribe una instrucción, ejecuta simultáneamente las siguiente, busca los operandos de una tercera, decodifica una cuarta y busca en memoria una quinta instrucción, lográndose en un caso ideal una aceleración de cinco para el rendimiento del chip. Podemos observar en el siguiente grafico la ejecucion simultánea de cinco instrucciones distintas etapas en un procesador DLX
  • 7. Todos los microprocesadores actuales se encuentran segmentados, habiendo aumentado el número de etapas con el paso de las generaciones. Asi, lo normal en la séptima generación es encontrarnos con cauces de ejecucion entera de 20 etapas de segmentación en el caso del Pentium IV (2003) de Intel o 31 etapas en los procesadores Prescott (2004) también de Intel La gran ventaja de la aplicación de la segmentación en el diseño de losmicroprocesadores es que el aumento del rendimiento se consigue con solo reorganizar las unidades funcionales existentes, por lo que no supone un incre mento de coste para la Unidad de Proceso. El diseño de la Unidad de Control sí se complica un poco a medida que aumenta el número de etapas y el grado de concurrencia en la ejecución d e las instrucciones pero es despreciable si lo comparamos con el espectacular i ncremento del rendimiento. Clasificación de los Procesadores Segmentado: Puede establecerse una clasificación de los procesadores segmentados atendiendo al uso que se da a la segmentación. Esta clasificación fue propuesta por Handler (1997). a) Segmentación aritmética b) Segmentación de instrucciones c) Segmentación de procesadores Segmentación aritmética La ALU de un computador puede segmentarse para la ejecucion de algoritmos aritméticos complejos. La segmentación aritmética es muy útil para procesar sobre todas las componentes de un vector, esto se consigue provocando que un segmento de la unidad aritmética trabaje
  • 8. sobre una de las componentes mientras que las demás trabajan sobre las componentes siguientes Un ejemplo clásico de este tipo de procesadores es el multiplicador segmentado basado en un árbol de Wallace, tal como se muestra en la figura. En esta figura los bloques CSA representan a sumadores con salvaguarda de llevadas y los bloques CLA, a sumadores con generación anticipada de llevadas. Las líneas inclinadas hacia la izquierda indican que los vectores de llevadas deben desplazarse a la izquierda un lugar antes de entrar en la etapa siguiente.
  • 9. Segmentación de instrucción La ejecución de un flujo de instrucciones puede adoptar una estructura segmentada que permita el solapamiento de la ejecución de una instrucción con la lectura, decodificación, búsqueda de operandos, etc. de las instrucciones siguientes. Esta técnica también se denomina anticipación de instrucciones (instru on lookahead). En la figura se muestra un ejemplo de segmentación de instrucciones. La citada figura corresponde a un computador de tipo registro-registro, es decir un computador en que los accesos a memoria están restringidos a instrucciones específicas (LOAD y STORE) Se supone que el computador dispone de arquitectura Harvard, es decir, que posee memorias cache separadas por codigo y datos En el ejemplo se ha dividido la ejecucion completa de casa instrucción en 4 segmentos A. Lectura. B. Decodificación y lectura de operandos. C. Ejecucion. D. Acceso a la memoria de datos (si es necesario). Prácticamente, todos los computadores actuales disponen de segmentación de instrucciones.
  • 10.
  • 11. Segmentación de procesadores Este tipo de procesamiento se producecuando el mismo flujo de datos es tratado por una serie de procesadores, de forma que cada uno de ellos efectué una subtarea del proceso total. Cada procesador dejara sus resultados en una memoria, que también será accesible desde el siguiente, para que este procese esos resultados para ejecutar la siguiente subtarea sobre el flujo de datos. Este tipo de segmentación se emplea solamente en procesadores vectoriales de muy altas prestaciones. Superescalaridad La Superescalaridad consiste en la replicación de la circuitería de las unidades funcionales de un microprocesador, creando por lo tanto varios cauces (pipelines) de manera que se puedan ejecutar varias instrucciones a la vez. Procesador superescalar Un procesador superescalar de factor N es aquel que replica N veces la circuitería de algunas de sus unidades funcionales con el fin de poder ejecutar N instrucciones en sus respectivas etapas de computación. Con la mejora de la capacidad de integración de circuitos que permiten concentrar más y más componentes dentro de un chip, los diseñadores de microprocesadores también ha aumentado el factor de Superescalaridad, logrando, al igual que en la segmentación mejoras del rendimiento de un factor de N. Sin embargo el coste de incrementar el rendimiento mediante la Superescalaridad es superior al de la segmentación.
  • 12. En el siguiente grafico se muestra la ejecucion en paralelo de 5 instrucciones cada una en su cauce o pipeline, lo que representa una Superescalaridad de factor 5. Combinación de segmentación y Superescalaridad Como se puede observarse en la figura, las filosofías de segmentación y Superescalaridad son perfectamente compatibles.
  • 13. Sin embargo existen ciertos conflictos a la hora de poner en práctica simultáneamente ambas ideas, y es que cada técnica exige unos requisitos diferentes: La segmentación requiere una elevada frecuencia de forma que solo un periodo reloj muy corto permitirá descomponer cada instrucción en un número elevado de etapas. La Superescalaridad por el contrario necesita un ingente número de transistores para poder ser implementada.
  • 14. Por lo tanto, la Superescalaridad estorba a la segmentación porque ésta provoca un desdoble de la circuitería existente, que perjudica la frecuencia de reloj, lo que dificulta el obtener un número elevado de etapas de segmentación. De igual forma la segmentación estorba a la Superescalaridad ya que cuando las etapas son tan minúsculas, es difícil incrementar la complejidad replicando la circuitería. Supersegmentacion La palabra Supersegmentacion nos lleva a la tentación de aplicar la ecuación superescalar + segmentado = supersegmentado, cuando en realidad la ecuación correcta es segmento + segmento = supersegmentado. La Supersegmentacion consiste en segmentar algunas de las etapas (en concreto las más lentas) que mencionamos para los procesadores segmentados, en dos o más etapas de manera que se permite que haya dos instrucciones a la vez dentro de la misma etapa y unidad funcional sin tener que replicar esta (Superescalaridad). De esta forma, dividiendo por ejemplo cada etapa en 2, el ciclo de reloj de periodo T se verá reducido a la mitad, T/2, de esta forma al máximo de capacidad el cauce o pipeline produce un resultado cada T/2 segundos. Procesadores Supersegmentacion Un procesador supersegmentado es aquel que aplica dos veces el concepto de segmentación, la primera al nivel de diseño global, y la segunda al nivel interno de sus unidades funcionales.
  • 15. Por ejemplo una descomposición en 5 etapas de segmentación como la del Pentium compuesta por las etapas de búsqueda, decodificación, lectura, ejecucion y escritura, permite aplicar otra segmentación a cada una de las unidades funcionales que intervienen en cada ciclo como son: la cache de instrucciones, el decodificador de instrucción, la cache de datos, la ALU o el banco de registro. En el caso de la cache de instrucciones que es referenciada en la primera etapa, esta puede ser una cache segmentada en dos etapas, que permite simultanear la búsqueda de una instrucción y la localización de su celda de cache asociada, con la lectura del codigo de la anterior instrucción y su volcado al bus de datos del procesador. Asi se obtienen dos niveles de segmentación como se muestra en el apartado d) de la figura, en la que se comparan las 4 técnicas de paralelismo expuestas.
  • 16.
  • 17.
  • 18. En general la Supersegmentacion lleva asociada la subdivisión del ciclo de reloj base en ciclos supersegmentado Tantos ciclos como etapas hayan establecido para el segundo nivel de segmentación, lo que desemboca en diseños que trabajan a muy alta frecuencia. Una buena implementación supersegmentado siempre incluye la ejecucion de instrucciones fuera de orden. La ejecucion de instrucciones fuera de orden es un paradigma utilizado en la mayoria de los microprocesadores de alto rendimiento por el cual, si una vez capturada una instrucción los operandos no están disponibles, para evitar esperas improductivas del procesador hasta que estén disponibles la instrucción se pone en un cola a la espera, de forma que otras instrucciones puedan abandonar la cola y ejecutarse si sus operando están disponibles. La ejecucion fuera de orden minimiza el efecto negativo que producen las esperas por dependencias de datos sobre el rendimiento del procesador pero para desarrollarla hace falta también implementar la Superescalaridad en los procesadores
  • 19. Ejemplos de procesadores supersegmentado ALPHA 21264 Un clásico ejemplo de diseño supersegmentado es el procesador Alpha 21264 de Digital, procesador RISCde principios de la década de los 90 y hermano menor del Alpha 21364 de COMPAQ que fue el encargado de decodificar el genoma humano en la empresa Celera Genomic. El segundo nivel de segmentación de esta arquitectura incluye una descomposición en 9 etapas para el caso de la cache, lo que dio lugar a una frecuencia de reloj de 600 MHZ a finales de 1997, cuando en esa época los Pentium II y demás modelos para Pc operaban a menos de la mitad de esa frecuencia. Pentium IV Desarrollada en el 2000, está compuesto de 42.000.000 de transistores, funciona a una frecuencia de 2`4 GHz, con un FSB3de 400 MHZ. Presenta una Supersegmentacion de 20 etapasy ofrece 144 nuevas instrucciones para procesar video y audio, optimizando el rendimiento para las tecnologías modernas de Internet y visualización de gráficos en 3 dimensiones. A continuación un gráfico que muestra la ejecucion de 4 instrucciones en las 20 etapas supersegmentadas de un Pentium IV.