tubetranscript.io

Gabriel Enrique González · Transcript · · Updated

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

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

Summary

AI-generated from the transcript. Verify details against the source video.

  • Los procesadores superescalares permiten un rendimiento mayor que la solución escalar mediante el uso de múltiples rutas de datos y unidades funcionales.
  • Las limitaciones de los pipelines rígidos escalares incluyen un rendimiento limitado a una instrucción por ciclo y un diseño ineficiente al unificar todos los tipos de operaciones.
  • Los pipelines dinámicos superescalares implementan ejecución fuera de orden y requieren estructuras adicionales como búferes de reordenamiento para preservar el orden computacional.
Video thumbnail: Arquitectura de Computadoras y Técnicas Digitales 2020 Clase: Superescalares: filminas 1 a 17
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 hola vamos a empezar esta parte del curso recuerden que habíamos hablado que el paralelismo lo podemos analizar como paralelismo intrínseco interno a un procesador o el paralelismo logrado por la conjunción de varios

procesadores dispuestos en forma de una multi computadora un multi procesador como sea dentro del análisis de paralelismo en mono procesadores ya habíamos estado hablando que había o que hubo incluso históricamente diferentes y acercamientos uno de ellos era el acercamiento a través de la

implementación de paralelismo con la inclusión de paralelismo físico dentro del procesador esto es replicar las rutas de datos ya conocidas y eventualmente rutas de datos segmentadas de manera de poder lograr que más instrucciones atraviesen el cauce interno del procesador para ser

procesadas en el mismo momento obviamente esto no es tan sencillo porque no es cuestión de tomar una instrucción y hacer que se ejecute dentro de su propio cauce porque esta instrucción generará resultados que afectan registros que van a ser usados por otras instrucciones hay que respetar cuestiones de orden hay que respetar

cuestiones de riesgos por ejemplo los riesgos de saltos y una instrucción de salta otras instrucciones que estaban en la ruta que ya ahora más correcta debieran ser eliminadas etcétera sí entonces bueno este un grupo de filminas e intentará analizar todas estas características para llegar a lo que

serían procesadores súper escalares con características aproximadas a las que tienen los procesadores super escalares de vivían para un correcto orden en el análisis del curso vamos a hacer una descripción estructural en un principio en las

primeras filminas y vamos a hacer una descripción funcional en las ultimas filminas de este de este curso la descripción estructural en realidad lo que pretende es mostrar los componentes armar la arquitectura genérica de un procesador super escalar y analizar las distintas etapas que

debiera tener un procesador super escalar genérico si posteriormente vamos a ver el funcionamiento del procesador super escalar que debiera hacer un procesador súper escalar y eso va a sintonizar un poquito más las características que tienen que tener cada una de las etapas descritas anteriormente sí y qué funciones

específicas deben ser realizadas a fin de garantizar que la ejecución de instrucciones de la manera que sea dentro de este procesador súper escalar cumpla con el requisito de ejecutar el programa de la manera en que debe ser ejecutado ah fíjense que ambas descripciones van a estar

explícitamente puestas en esta pestaña superior derecha de la de la fina vamos a obviamente empezar con las descripciones estructurales si a modo introductorio sólo como para ir juntando los pedazos de todo lo que ya hemos visto anteriormente empezará a partir de un punto en común por un lado la técnica de segmentación

de circuitos si la aplicamos a la microarquitectura de un procesador a la microarquitectura de la ruta de datos del procesador y vimos que es efectiva si logra el efecto buscado de presentar una aceleración posiblemente cercana a n siendo n la cantidad de etapas sí pero tenía algunas limitaciones que degradan

el rendimiento en el curso anterior cuando estudiamos una ruta segmentada a escalar y analizamos esos efectos a través del comportamiento o los riesgos que implicaba el hecho de la inclusión de un pipe escalar como solución una solución super escalar va a permitir

obtener rendimientos mucho más grandes que la solución puramente escalar eso es eso es obvio pero va a ser a costa de un compromiso del diseño más grande porque si analizando la solución escalar encontramos que había algunos escollos que teníamos que superar en la solución super escalar estos escollos van a estar presentes y además va a haber otros

nuevos escollos que surjan del hecho de que ahora tenemos varios island escalar que están relacionados entre sí porque ejecutan instrucciones que forman parte del mismo programa sí obviamente solucionando ese problema que es lo que vamos a empezar a analizar los bailan super escalares traspasan los límites de la emisión simple de instrucciones que tenía un plan escalar

teniendo rutas de datos que son cada vez más elaboradas y que lo importante trabajan con varias instrucciones a la vez ya no vamos a hacer fecha en destrucción sino que vamos a hacer un fecha hing de s instrucciones siendo ese 24 8 obviamente que para lograr

y llegar a estas características de un baile en super escalar vamos a tener que incorporar múltiples unidades funcionales sí y que me permitan llevar adelante la ejecución de las múltiples instrucciones que vamos a tener ahora en nuestro baile porque ya vamos a hablar que no es tan sencillo como parece pero en principio podemos leer varias instrucciones a la vez claro que podemos podemos decodificar las pondremos más

decodificadores y las decodificar los podemos leer operando del banco de registros con varias instrucciones bueno con alguna un truquito vamos a poder pero para ejecutar varias instrucciones necesitamos tener varias unidades funcionales y tenemos que asegurarnos de que cuando ejecutamos las instrucciones cada una de ellas tenga los datos que tiene que tener y que eventualmente han

sido resultados de instrucciones que están por ahí cerca ejecutándose otra característica muy característica que vamos a ver es que los parias en super escalares permiten la ejecución de instrucciones en un orden distinto al impuesto por el programa original si queremos extraer o aumentar el

rendimiento al máximo que podamos si vamos a tener que romper el orden que las instrucciones traen en el programa de manera de poder ganar todo el paralelismo posible y después volver a reordenar si obviamente que se puede hacer siempre y cuando tengamos mecanismos que nos permitan tener un rastreo de cuál era el orden original

vamos a ver empezar a ver las limitaciones de los pablos escalares fíjense que como ahora estamos en 3 está empezando a estudiar diferentes tipos de pipeline vamos a tener que empezar a ponerles nombres a cada uno hasta ahora simplemente incluso en el curso anterior hablábamos de del procesador segmentado eso era un pipeline escalar pero explícitamente no lo decíamos porque era

el único plan que estábamos tratando si entonces era el procesador segmentado hoy día hablaríamos de un procesador escalar que está segmentado obviamente y entonces empezamos viendo las características a partir de acá un procesador escalar se caracteriza por un pay blanc que es lineal de acá etapas si entonces si tiene cada etapas sean

cuales fueren nosotros el año pasado vimos varias variantes en el curso previo con fe ching decodificación ejecución acceso a memoria y salvados los resultados habían otras variantes que hemos estudiado en las prácticas de resolución de problemas pero eventualmente son cada etapas y

tratamos con eso que ha de obtener una aceleración similar a ka cercana a ka eventualmente con alguna pérdida de rendimiento debido a la reorganización que hay que hacer el procesador para lograr que estos k estas etapas del país funcionan

todas las instrucciones sin importar su tipo atraviesan las mismas etapas de un plan escalar de hecho también que todas hacen fecha en todas hacen decodificación que eventualmente son etapas similares no similares entre sí pero si yo hago fe ching de cuatro instrucciones es lo mismo que hacer fechas ninguna si hago decodificación de cuatro instrucciones de codificar cada

instrucción por su parte en cambio por ejemplo en la etapa de ejecución si vemos que sí tengo una una una única unidad escalar de tipo alude esa unidad tiene que poder hacer todas las operaciones y entonces va a tener en su interior operaciones tan sencillas como una suma o operaciones tan elaboradas como una división o una radicación que

consumen diferentes tiempos entonces debo respetar los tiempos de las operaciones más complejas como podría ser una radicación y ese tiempo ya me pone un cuello de botella respecto de operaciones más sencillas como es una suma otra consideración a excepción de las instrucciones frenadas por cuestiones de conflictos todas las instrucciones permanecen en cada etapa por un ciclo de

reloj esto es un pipeline escalar lo habíamos visto eventualmente instrucción que permanecía forma de un ciclo de relojes porque se enfrentaba a que había un freno debido a algún tipo de riesgo en etapas más adelantadas del pipe que frenaban el avance de las instrucciones por algunos ciclos sí sí solucionábamos eso cuando llegamos a la versión mix por

ejemplo del procesador que estudiamos lo que logramos es que el procesador ya no se detenía en ningún ciclo de reloj y entonces cada instrucción permanecía en una tapa por un ciclo de reloj eso era el tiempo de ciclo de la instrucción sí y la latencia de la instrucción iba a ser de acá porque atraviesa cada etapas

obviamente en casi los de reloj y ahora estos países tienen tres limitaciones destacadas y fíjense que acá los llamo para blanc rígidos porque diseñó el pipeline incrementó el pay blanc en la ruta de datos de mi procesador y ese plan ya no cambia si en ese país hay una instrucción entra por un extremo cuando

se hace el phising atraviesa inexorablemente todas las etapas de del buy line y acá ciclos de reloj después la instrucción sale por el otro extremo del procesador o realiza las actividades las acciones propias de la última etapa y termina su ejecución por eso lo llamamos plan rígido las características que tienen estos

Frequently asked questions

Un procesador escalar se caracteriza por un pipeline lineal de k etapas donde las instrucciones atraviesan inexorablemente todas las etapas y el rendimiento máximo está limitado a una instrucción por ciclo.

Permite recuperar y ordenar el desorden generado en las etapas de ejecución para que las instrucciones terminen respetando el orden original del programa.