Upload
roberto-vega
View
216
Download
0
Embed Size (px)
Citation preview
7/25/2019 INFORME_ARQUITECTURA_COMPUTADORES
1/8
ARQUITECTURA DE
COMPUTADORES
SEGMENTACION DE
INSTRUCCIONES ENMICROPROCESADORES
GRUPO 3:
DIEGO PANCHO
LUIS HIDALGO
JUAN PAEZ
FRANCISCO CORAL
7/25/2019 INFORME_ARQUITECTURA_COMPUTADORES
2/8
INFORME
Tema:Segmentacin de Instrucciones en Microprocesadores
Objetivo General:
Comprender que con la Segmentacin de Instrucciones se mejora el rendimiento
de un Microprocesador.
Objetivos especficos:
Determinar el mejor camino para optimizar el tiempo y energa que gasta un
microprocesador al momento de ejecutar una instruccin.
Realizar un anlisis y formulacin de una posible solucin utilizando la
segmentacin de instrucciones para un microprocesador.
Marco Terico:
Segmentacin de Instrucciones en Microprocesadores
La Segmentacin (pipelining) es un mtodo por el cual se consigue aumentar elrendimiento de algunos sistemas electrnicos digitales. Es aplicado, sobre todo, enmicroprocesadores. El nombre viene de que para impulsar el gas en un oleoducto a la
mxima velocidad es necesaria dividir el oleoducto en tramos y colocar una bombaquede un nuevo impulso al gas. El smil con la programacin existe en que los clculosdeben ser registrados o sincronizados con el reloj cada cierto tiempo para que la rutacrtica (tramo con ms carga o retardo computacional entre dos registros de reloj) sereduzca.La ruta crtica es en realidad la frecuencia mxima de trabajo alcanzada por elconjunto. A mayor ruta crtica (tiempo o retraso entre registros) menor es la frecuenciamxima de trabajo y a menor ruta crtica mayor frecuencia de trabajo. La una es lainversa de la otra. Repartir o segmentar equitativamente el clculo hace que esafrecuencia sea la ptima a costa de ms rea para el almacenamiento o registro de losdatos intervinientes y de un retraso o latencia (en ciclos de reloj/tiempo) en la salida del
resultado equivalente al nmero de segmentaciones o registros realizados. La ventajaprimordial de este sistema es que, tal y como se muestra en la imagen, una vezelpipeest lleno, es decir, despus de una latencia de cuatro en la imagen, losresultados de cada comando vienen uno tras otro cada flanco de reloj y sin latenciaextra por estar encadenados dentro del mismo pipe. Todo esto habiendo maximizado lafrecuencia mxima de trabajo.
7/25/2019 INFORME_ARQUITECTURA_COMPUTADORES
3/8
Detalle de la Segmentacin de Instrucciones:
El alto rendimiento y la velocidad elevada de los modernos procesadores, se debe,principalmente a la conjuncin de tres tcnicas:
Arquitectura Harvard (arquitectura que propicia el paralelismo). Procesadores del tipo RISC.
Segmentacin.
En el caso de la Segmentacin esta consiste en descomponer la ejecucin de cadainstruccin en varias etapas para poder empezar a procesar una instruccin diferenteen cada una de ellas y trabajar con varias a la vez.En el caso del procesador DLX podemos encontrar las siguientes etapas enuna instruccin:
IF: Bsqueda
ID: Decodificacin EX: Ejecucin de la ALU
MEM: Memoria
WB: Escritura
Cada una de estas etapas de la instruccin usa en exclusiva un hardware determinadodel procesador, de tal forma que la ejecucin de cada una de las etapas en principio nointerfiere en la ejecucin del resto.
7/25/2019 INFORME_ARQUITECTURA_COMPUTADORES
4/8
En el caso de que el procesado no pudiese ejecutar las instrucciones en etapassegmentadas, la ejecucin de la siguiente instruccin slo se podra llevar a cabo trasla finalizacin de la primera. En cambio en un procesador segmentado, salvoexcepciones de dependencias de datos o uso de unidades funcionales, la siguienteinstruccin podra iniciar su ejecucin tras acabar la primera etapa de la instruccin
actual.Otro ejemplo de lo anterior, en el caso del PIC, consiste en que el procesador realice almismo tiempo la ejecucin de una instruccin y la bsqueda del cdigo de la siguiente.
MICROPROCESADOR DLX
El DLX es unmicroprocesadorRISC diseado porJohn Hennessy yDavid A. Patterson,los diseadores
principales de la arquitecturaMIPS y deBerkeley RISC (respectivamente), los dos ejemplos de la
arquitectura RISC. El DLX es bsicamente unMIPS revisado y simplificado con una arquitectura simple
de carga/almacenamiento de 32 bits. Pensado principalmente para propsitos educativos, se utiliza
ampliamente en cursos de nivel universitario sobrearquitectura de computadores.
Las instrucciones DLX se pueden separar en, tipo R, tipo I y tipo J. Las instrucciones de tipo R son
instrucciones de registro puras, con un operando y tres registros contenidos en la palabra de 32 bits. Las
de tipo I son similares, pero slo incluyen un registro, y usan los otros 16bits empleados en las de tipo R
para indicar los otros dos registros para almacenar valores inmediatos. Por ltimo, las de tipo J
son saltos, conteniendo un operando y una direccin de 26 bits.
Losopcodes tienen una longitud de 6 bits, lo que hacen un total de 64 posibles instrucciones bsicas.
Hacen falta 5 bits para seleccionar uno de los 32 registros. En el caso de las instrucciones de tipo J slo
18 de los 32 bits de la palabra son usados, lo que implica que los 6 bits ms bajos se puedan emplear
para indicar "instrucciones extendidas". Esto permite al DLX ms de 64 instrucciones, siempre y cuando
slo trabajen con registros. Es til para, por ejemplo, el soporte deUnidad de coma flotante.
El DLX, como el MIPS, basa su rendimiento en el uso de la segmentacin de cauce o pipeline. En el
diseo DLX es un ejemplo sencillo, un concepto clsico del RISC.
La segmentacin de cauce tiene cinco etapas:
IF - Unidad de obtencin de instruccin. Tpicamente referida como la "unidad de carga" en
terminologa moderna.
http://es.wikipedia.org/wiki/Microprocesadorhttp://es.wikipedia.org/wiki/RISChttp://es.wikipedia.org/wiki/John_Hennessyhttp://es.wikipedia.org/wiki/David_A._Pattersonhttp://es.wikipedia.org/wiki/MIPS_architecturehttp://es.wikipedia.org/w/index.php?title=Berkeley_RISC&action=edit&redlink=1http://es.wikipedia.org/wiki/MIPS_(procesador)http://es.wikipedia.org/wiki/Arquitectura_de_computadoreshttp://es.wikipedia.org/wiki/Opcodehttp://es.wikipedia.org/wiki/FPUhttp://es.wikipedia.org/wiki/Segmentaci%C3%B3n_de_caucehttp://es.wikipedia.org/wiki/Segmentaci%C3%B3n_de_caucehttp://es.wikipedia.org/wiki/FPUhttp://es.wikipedia.org/wiki/Opcodehttp://es.wikipedia.org/wiki/Arquitectura_de_computadoreshttp://es.wikipedia.org/wiki/MIPS_(procesador)http://es.wikipedia.org/w/index.php?title=Berkeley_RISC&action=edit&redlink=1http://es.wikipedia.org/wiki/MIPS_architecturehttp://es.wikipedia.org/wiki/David_A._Pattersonhttp://es.wikipedia.org/wiki/John_Hennessyhttp://es.wikipedia.org/wiki/RISChttp://es.wikipedia.org/wiki/Microprocesador7/25/2019 INFORME_ARQUITECTURA_COMPUTADORES
5/8
ID - Unidad de decodificacin de instruccin. Esta unidad toma la instruccin del IF, y extrae el
opcode y los operandos. Tambin obtiene los valores en registros si es necesario.
EX - Unidad de ejecucin. Ejecuta la instruccin, normalmente referido comoALU en terminologa
moderna.
MEM - Unidad de acceso a memoria. Obtiene datos de la memoria, Controlada desde el ID y el EX.
WB - WriteBack unit. Llamada a la unidad de almacenamiento en terminologa moderna.
RIESGOS DE LA SEGMENTACIN
- RiesgosEstructurales:El Hardware no soporta la Ejecucin de 2 instrucciones (Conflicto de Recursos). Un solo Bus de
Memoria Detencin de 1 ciclo. => Duplicar buses .
- Riesgos Dependencia de Datos:Los operandos de una instruccin dependen de la anterior (Orden de Acceso los cambia la
Segmentacin). Detencin de 3 ciclos. => Registros Cerrojos a la Salida de la ALU con realimentacin a
la Entrada Detencin de 1 Ciclo.
RAW -j trata de leer antes de que i escriba
WAR -j trata de escribir antes de que i lea
WAW -j trata de escribir antes de que i escriba
- Riesgos de Control:Ejecucin de un Salto, puede o no cambiar el PC a algo diferente de su valor. Detencin de 3 Ciclos. =>
Realimentacin del PC en Memoria Detencin de 2 ciclos. (Averiguar si el salto es o no Efectivo /Calcular PC Efectivo).
http://es.wikipedia.org/wiki/ALUhttp://es.wikipedia.org/wiki/ALU7/25/2019 INFORME_ARQUITECTURA_COMPUTADORES
6/8
7/25/2019 INFORME_ARQUITECTURA_COMPUTADORES
7/8
Conclusiones:
Podemos concluir que la Segmentacin de Instrucciones ha participado
eficazmente en el tratamiento del rendimiento de los procesadores ya que
siendo un mtodo eficaz sigue siendo usada en muchas arquitecturas, por lo que
se puede decir que la Segmentacin de Instrucciones se la debe utilizar en
medida a los requerimientos que necesitemos para nuestros
microprocesadores/procesadores.
Se debe tener en cuenta que el diseo del repertorio de instrucciones puede
afectar negativamente a la segmentacin.
Longitudes de las instrucciones y tiempos de ejecucin variables pueden
llevar a un desequilibrio entre las etapas de segmentacin.
Incrementar la longitud del cauce segmentado no tiene por qu incrementar
el rendimiento.
La sobrecarga por los registros de desacoplo puede limitar el aumento en la
frecuencia del reloj que se consigue con una segmentacin ms
avanzada.38 El hardware del camino de datos y de control se complica:
Caminos de anticipacin.
Lgica para deteccin de conflictos de datos.
Lgica para prediccin de saltos.
Desde 1986 se ha mantenido un 60% de incremento anual en el rendimiento de los
procesadores utilizando tcnicas basadas en la segmentacin.
La segmentacin mejora la productividad, pero no el tiempo de ejecucin de cada
instruccin.
RISC(del ingls Reduced Instruction Set Computer, en espaol Computador con Conjunto de
Instrucciones Reducidas
Bibliografa:
7/25/2019 INFORME_ARQUITECTURA_COMPUTADORES
8/8