tubetranscript.io

Gabriel Enrique González · Transcript · · Updated

Arquitectura de Computadoras y Técnicas Digitales 2020 Clase: Superescalares: filminas 100 a 123 – 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 100 a 123
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 tratamos recién el problema de las dependencias falsas las dependencias que son eliminables vías renombre sí que eran las guaguas y la uar vamos a ver ahora cómo se trata el tema de las dependencias verdaderas de datos sociales dependencias si esas son las que nos obligan a realizar la ejecución de instrucciones debido a una relación

básica hay que esperar que la instrucción productora del resultado se termine de ejecutar para que luego las instrucciones consumidoras de esos resultados se puedan ejecutar en el orden que sea si piensa en eso como operando de entrada obviamente estas dependencias no se pueden eliminar porque son los que continúan

las que le dan continuidad al programa sí pero si es necesario proveer al procesador de mecanismos para detectar las mismas sino sea ya el mecanismo lo estamos de alguna manera armando porque hemos visto recién cuando trabajamos con el mecanismo con los mecanismos de renombre que existen ciertos bits ciertos

ciertos procesos como el de poner el campo visión 1 o en 0 o el de pasar el valor si lo tenemos o si el campo visit dice que no está disponible pasar la referencia al registro físico que nos van a permitir que podamos hacer a este paso de esperar que el productor

termine para que los consumidores puedan utilizar el resultado apropiado sí un poco históricamente hablando primeras referencias a solucionar este problema y están en el algoritmo del conocido como algoritmo de toma sólo sí es precursor de los algoritmos modernos

de detección de dependencias propuesto en el 67 en un piper de toma solo para resolver el problema en la unidad de punto flotante de la ibm 360 sí el algoritmo está originalmente desarrollado para resolver el problema con las dependencias raw pero además como efecto colateral elimina las dependencias jugar igual

se basa en la edición de tres mecanismos a la salud clásica que ahora vamos a ver en la firma y la siguiente los tres mecanismos son la incorporación de unidades de reserva nosotros ya la vimos a las estaciones de reservas vimos su funcionalidad de alguna manera surgen en este y surgen a través de este trabajo de tom

azul o si el llamado base de datos común que no lo hemos hablado mucho pero si hemos mencionado que la salida de todas la salud se junta y va a aportar sus datos a la estación verdad a álvaro de reordenamiento pero que además esos datos quedan disponibles para actualizar valores dentro de las estaciones de

reserva todo eso constituye un sistema de bases de datos internos dentro del núcleo de ejecución del procesador que es lo que se llama más de datos común sí y después ponerle etiquetas a los registros para poder saber en qué estado están esos registros o de quien dependen si esto lo vamos a ver ahora en la versión original del algoritmo de todo azul o nos aporta tratamiento de

excepciones con mantenimiento de consistencia secuenciales esto es si llega a haber excepciones y puede que al volver de la excepción digamos o durante el tratamiento de la excepción no esté el estado del procesador o esto es el estado de los bancos de registros totalmente actualizados y vamos a ver también cómo es este problema la idea es que el algoritmo de todos uno

agrega estos tres componentes que mencionamos recién estación de reserva unos de datos comunes y libros tags en el banco de registros a una arquitectura básica que es la arquitectura una arquitectura denominada arquitectura clásica si en esa arquitectura cuando se hace el despacho se puede hacer despacho por ejemplo acá un par de unidades

funcionales la unidad funcional 1 la unidad funcional 2 para hacer ese despacho lo que se hace es despachar la instrucción a la unidad correspondiente y al mismo tiempo se accede con los dos registros operando y el registro destino al bar de él al banco de registro y que sea el banco de registros necesita tener un

visible para poder anular el registro destino si se procede a la lectura de los dos registros operando y esa información se manda a la luz junto con la instrucción está bien obviamente esto no soporta en caso de de desordenamiento indigencia que acá aunque no hay estaciones de reserva el desorden de instrucciones se puede producir porque esta unidad

eventualmente tarda menos ciclos que ésta entonces aún cuando hubiese mandado una instrucción primero a la unidad funcional 2 y la siguiente instrucción a la unidad funcional 1 la siguiente la segunda instrucción iba a terminar primero sí entonces hay ciertos resolver qué se produce y eso puede producir problemas en el orden en que se le dice escribe en los registros en el banco de registros

la algo propuesta por todo suyo agrega estaciones de reserva asociadas a las unidades funcionales fíjense que acá hay según y la nomenclatura del propio tom azul o tres estaciones de reserva cada una de estas es una estación de reservas hay tres estaciones de reserva asociada a la unidad funcional 1 y hay 2 estaciones de

reserva asociadas a la unidad funcional 2 agrega también el más común de datos que en este caso no habiendo por ahora una hacer de reordenamiento lo único que hace es que las salidas de cualquiera de la salud van a alimentar ambas estaciones de reserva en caso de que las estaciones requieran de algún dato de esa de la luz correspondiente y al mismo tiempo

alimentan el banco de registros para actualizar las cosas al banco de registros se le asocia también una columna de bits de detalle también ahora veamos cómo funciona esta arquitectura las estaciones de reservas se pueden ver como fíjense que son comunidades funcionales virtuales si si lo vemos acá estas estaciones de reservas asignadas a

la unidad funcional 1 desde el punto de vista de la unidad de despacho que es la que tira cosas acá y tranquilamente es como si en lugar de tener una única unidad funcional uno ahora tuviera tres unidades sí porque la unidad de despacho puede tirar hasta tres instrucciones donde una de estas instrucciones es la que realmente se está ejecutando en la unidad funcional y las otras dos

estaciones de reserva actúan como reservorio para la ejecución entonces en principio podemos suponer que en esta unidad funcional que tarda un ciclo del reloj en proveer el resultado hay una instrucción que va a tardar un ciclo del reloj otra instrucción que va a tardar dos ciclos de reloj es el propio de ejecución más uno de espera y una tercera instrucción que puede tardar tres ciclos de reloj o sea el propio de la ejecución más dos de

espera esta es una unidad funcional que puede tener tres instrucciones en pipeline por ejemplo y una estación en espera acuérdense que siempre una de estas estaciones de reserva es la que contiene la instrucción se está ejecutando está bien entonces las estaciones de reserva se pueden ver comunidades funcionales virtuales que reciben una instrucción

para ejecutar y al cabo de cierto número de ciclos se genera un resultado cada generador de futuros resultados se va a identificar con un talgo sea cada estación de reserva así yo voy a tener que estas estaciones de reservas podrían ser el tal 1 tal 2 a 3 tal 4 y 5

si un registro no está disponible o sea está marcado como no válido su valor se reemplaza por el target del generador de dicho valor fíjense que cuando eso marcó un registro de escritura como no válido esa instrucción va a ir a una estación de reserva se va a guardar en la estación de reserva apropiada esa estación de reserva tiene un tal deja lo dijimos

recién uno dos tres cuatro o cinco pesetas se guardan en la entrada correspondiente para el registro de destino y entonces un registro determinado si tiene su campo bici en cero indica que el valor es un valor usable y si tiene su campo de 100 uno indica que debo pasar el tal a la

estación de reserva de la nueva instrucción de el target de la instrucción que va a generar el resultado está bien de manera que cuando la unidad funciona el correspondiente a la instrucción que genera ese resultado lo genera lo que va a mandar por el base de datos es un par una dupla cuál es el resultado y qué instrucción o

qué estación de reserva lo generó eso va a entrar en todas las estaciones de reservas y aquellas instrucciones de reserva que en lugar de un valor tengan un tal van a escuchar el tag sigue saltar correspondiente toman el valor y lo actualizan en su en su entrada correspondiente a la estación de reserva si cuando una instrucción que está adaptación de reserva tenga todos sus valores o sea tenga todos sus operando

con valor puede emitir esa instrucción en ejecución cuando le corresponda está bien entonces una estación de reserva tiene entradas de este tipo en donde tiene el código de operación sí el operando 1 y el operando 2 cada uno de ellos indica acá están pobres puesto

en forma explícita puede tener un kart o un valor en general lo que vamos a poner es un campo de valor y un bit de identificación decir ese valor es el valor numérico o es la descripción la referencia dental y tiene un registro de destino las entradas del campo del banco de registros ya las vimos en el campo y si

el campo tal y el campeonato que es lo que figura acá arriba entonces cómo se implementa el algoritmo y ya lo hablamos un poco lo repito para que quede asentado en la firma de esta una entrada de estación de reserva contact 0 para algún operando se asume que contiene el valor del dato si

entonces podríamos casi eliminar el campo vinci si él está que es distinto de 0 el valor lo generará la instrucción que está en la estación de reserva identificada con dicho tag fíjense que acá aparecen tal uno para esta estación de reserva tal dos para esta estación de reserva hasta el 3 para esta estación de reserva y lo mismo para las dos estaciones de

reserva de este lado contact 4 y 5 respectivamente si la estación de reserva tiene esta funcionalidad si operando 1 operando 2 si el indicador éste es un cero indica que acá hay un valor y si el indicador este distinto de 0 en todo caso a indicar sea si es

Frequently asked questions

Las estaciones de reserva se pueden ver como unidades funcionales virtuales que reciben una instrucción para ejecutar y generan un resultado al cabo de cierto número de ciclos.

El bus de datos común junta las salidas de todas las unidades funcionales para aportar sus datos a las estaciones de reserva y actualizar valores.