tubetranscript.io

Gabriel Enrique González · Transcript · · Updated

Arquitectura de Computadoras y Técnicas Digitales 2020 Clase: Superescalares: filminas 40 a 48 – Transcript

Video by Gabriel Enrique González · Watch the original on YouTube

Video thumbnail: Arquitectura de Computadoras y Técnicas Digitales 2020 Clase: Superescalares: filminas 40 a 48
Source video on YouTube · Transcript generated automatically and may contain errors.

Use this video with Pro

Reading, copying and transcript downloads are free. Create saved AI results for this video with a signed-in Pro account ($9/month).

Transcript

Search ignores accents. All transcript text stays visible.

bueno respecto un poco más respecto de las estaciones de reserva como para formalizarlo si podemos tener dos tipos de estaciones de reserva pueden ser centralizadas o distribuidas nosotros acá solo hablamos de que existe una ventana es porque estábamos viendo las características de una estación de reserva que es lo que permite si pero si la estación de reserva es

descentralizada se presume que tenemos una única estación de reserva entonces no habría formalmente una unidad de despacho porque desde la decodificación directamente se almacena en esta estación de reserva y la estación de reserva en función de las instrucciones que tiene de la disponibilidad de operando que tienen esas instrucciones de la disponibilidad

recursos que existen al realizar una emisión inteligente hacia las rutas de cálculo que correspondan si entonces esta de acá constituiría de alguna manera la etapa de despacho pero como dijimos siempre que se haga un pasaje de instrucciones para su ejecución en unidades de cálculo vamos a

hablar de qué es una emisión sí y obviamente el hecho de que exista un buffer de desordenamiento implica que tiene que haber explícitamente un buffer de ordenamiento al final de las unidades de cálculo si utilizamos el mecanismo de estaciones de reserva distribuida que de última es

el más conveniente si lo que tenemos es el buffer normal que sale de la unidad de codificación que en principio era el buffer de despacho porque alimenta la unidad de despacho que en función de los tipos de instrucciones y alguna otra característica va a determinar a cuál de las rutas super escalares va a ir la instrucción de acuerdo a sus tipos y si es una instrucción entera si es una instrucción de memoria si es una

instrucción de punto flotante si es una exclusión una instrucción de salto condicional etcétera y en cada una de esas rutas existe una estación de reserva una chica obviamente que en el caso de la centralizada que únicamente va a tomar instrucciones del tipo que se puede mandar por el

único cauce de cálculo que ahora existe entonces la condición para salir de una instrucción de cualquiera de estas estaciones de reserva va a ser que la instrucción tenga todos sus operando y que este recurso de abajo esté disponible podemos ver más cualitativamente cuáles son las ventajas y desventajas de

cualquiera de las dos arquitecturas estación de reservas centralizadas ubicaciones reservas distribuidas con la consideración de que hay algunas arquitecturas que presentan híbridos de los dos casos si en el caso de las estaciones reservadas por clusters bueno ventajas y desventajas de una

estación de reserva centralizadas a todos los tipos de instrucciones comparten la misma estación en una centralizada mejor utilización de las entradas de la estación como desventaja diseño de hardware más complejo y otra desventaja el control centralizado y el exceso multi puerto

en sumen más mayores tiempos y mayores compromisos de control pero únicamente están en una zona parte del procesador respecto de las estaciones de reserva distribuidas las ventajas los puertos de salida son de un solo puerto podemos volver hacia

la firma anterior para analizar esto en una estación en una estación de reserva distribuida si asumimos que todo esto se encuentra dentro de la extender mecanismo de estación de reserva la estación de reserva tiene s entradas porque viene del decodificador que son decodificador de grado s y la salida de la estación de la observa tiene que ser

hacia todos los cauces super escalares de cálculo que existan y de una manera inteligente o sea decidir según los códigos de operaciones etcétera etcétera en cambio cuando tengo una única estación de reserva por causa super escalar esta estación de observa tiene podemos decir en principio que una sola entrada aunque en realidad debiera poder tener s entradas porque las instrucciones que yo estoy queriendo

despachar pueden llegar a ser por coincidencia del mismo tipo y entonces puedo querer cargar las esas instrucciones en la misma estación de reserva pero hacia la salida si tengo un único recurso va a salir una única instrucción entonces acá tengo un único puerto de salida por contra varios puertos de salida que tengo en este esquema de acá

respecto de la fragmentación se acuerdan que en otros cursos se habla de fragmentación interna y fragmentación externa en este caso el problema que tenemos en contra es la fragmentación interna puede que yo tenga esta estación de reserva completa porque hay muchas instrucciones esperando para ser ejecutadas del tipo de estos recursos por ejemplo instrucciones de punto fijo

y algunos o todas estas estaciones de reservas que están vacías o al menos con bastantes lugares disponibles porque no hay tantas instrucciones de estos tipos esperando por ser ejecutadas y en esas condiciones una nueva instrucción del punto fijo que llegue va a bloquear el despacho por ende bloquea todo el procesador hacia arriba siendo que aún había lugares en estas estaciones de acá

en un esquema centralizado eso sólo puede pasar cuando el procesador se bloqueé por qué porque se atora esta unidad instrucciones esta pero si se atora es una cuestión normal porque esta media se llenaría solo si todas estas unidades de acá están siendo utilizadas y todavía no pueden dejar de ser utilizadas si sería un caso muy muy patológico en este caso

puede ocurrir más normalmente un bloqueo del procesador por una estación que se llena aún cuando las otras estén vacías si el clásico problema de fragmentación interna tiene un tiene una utilización más baja que las unidades en realizadas queda claro que eventualmente hay ciertas estaciones de reservas dedicadas

a cierto tipo de ruta de ruta super escalar de cálculo que va a utilizarse mucho más que otras por ejemplo seguro las redes puntos fijos se utilizan más que las de punto flotante lo que estábamos comentando que arriba ha relacionado con la fragmentación interna si se llenan producen frenados de las instrucciones del tipo que manejan

en este esquema de acá si la unidad se llena frena a todas las instrucciones en este esquema de acá al ser distribuido si se llena frena solo el tipo de instrucciones que manejan y mientras tanto el procesador puede seguir andando con los demás caminos hasta que todo caso aparezca alguna nueva instrucción de éste de este tipo que está bloqueado

y obviamente el diseño y el manejo en 26 9 el control es mucho más sencillo la siguiente unidad es la unidad de ejecución de instrucciones aunque no hay mucho para decir porque obviamente esto depende de las estrategias de diseño y el tipo de cálculos que quieren optimizar los diferentes fabricantes

entonces primeros fabricantes de procesadores de hecho por ejemplo el mix en su versión comercial de las versiones es de 2000 es de 4000 de 6000 es de 10.000 las versiones comerciales del procesador meet the head y si paterson si lo que tenían era la ruta de punto fijo que siempre hemos analizado la

salud de punto fijo obviamente mucho más compleja y además tenía una ruta de punto flotante con instrucciones y registros de punto flotante después procesadores de tipo de spark lo que tenían era un camino super escalar de dos caminos nada lucero y una saludos la

luz no funcionaba como secuencia con la lucero para poder hacer cálculos de la forma que ha operado con ve operado con ser en dos ciclos de reloj o sea operaciones entre tres registros por así decirlo y por ejemplo ibm en

algunos de sus main friends tomó como camino tener también una salud de dos ciclos de reloj que permitía hacer operaciones algorítmicas combinadas sí lo que es importante estudiar de las rutas de ejecución de instrucciones es de alguna manera que tipos de unidades

funcionales deben usarse en un procesador genérico por ejemplo y cuál es la mejor combinación de tipos de unidades funcionales si lo vemos estadísticamente obviamente un programa tiene del orden de 40 por ciento de instrucciones aritméticas tienen el orden de 20 por ciento de instrucciones de salto y un 40% de instrucciones de

acceso a memoria si entonces hay un procesador debiéramos pedirle que tenga del orden d de 4 o proporción de cuatro años aritméticas 2 a los circuitos más sencillos para hacer cálculos de condiciones de saltos y cuatro de los cuatro circuitos de cálculos de cálculos de dirección

dedicados a el cálculo de direcciones para acceso a memorias en la actualidad en realidad los procesadores no tienen una distribución similar a eso y lo que en general tienen es del orden de cuatro unidades aritméticas que se comparten entre punto fijo y punto flotante una unidad de salto porque no tiene sentido tener más de una sea vamos a hablar le vamos a prestar atención únicamente a un

único salto que se cumpla no podemos pretender ejecutar dos instrucciones de salto al mismo tiempo y una unidad de acceso a memoria que podría haber sido más pero eso implica que el procesador tiene que tener más puertos de acceso a memoria esto es más bases de datos y de direcciones si yo tengo más unidades de acceso a memoria no tiene mayor sentido se pueden implementar otros mecanismos para aumentar el rendimiento desde el

punto de vista del acceso memoria aunque sea único por ejemplo una de las soluciones es la cal menciona el uso de múltiples bancos de memoria simulando una calle multi puerto real utilizar casi es ultrarrápidas dentro del procesador lo que habíamos visto más atrás para el caso de los store que era usar el store buffer para retrasar las escrituras

reales a memoria y que el procesador piense que la instrucción ya se concretó etcétera etcétera bueno respecto del finalización y retiro de instrucciones si está en esta etapa de ryback en un poco más elaborada porque no sólo tiene que asegurarse de escribir en el banco de registros los resultados de las instrucciones sino que además debe asegurarse que esto se haga en el orden

Frequently asked questions

Las estaciones de reserva pueden ser de dos tipos: centralizadas o distribuidas.

La instrucción debe haber terminado, todas las instrucciones previas deben haber sido retiradas y no debe haberse ejecutado en forma especulativa.