Skip to content

04.TheClockCycleDiagramWindow

nonodev96 edited this page Jul 2, 2022 · 5 revisions

La ventana del diagrama de ciclos de reloj

En esta ventana se muestra la tabla con el historial de la ejecución de la simulación.

Esta tabla representa las instrucciones en las distintas etapas, siendo la instrucción la fila, y la etapa la columna.

Esto nos permite representar las instrucciones y los datos que se leen, calculan o escriben en cada momento.

Esta tabla está hecha con un canvas de HTML 5 para representar flechas de los adelantamientos, movimientos, los colores de las distintas etapas, etc.

Detenciones y adelantamientos

Las paradas se representan en cajas, que se superponen con un color correspondiente al escenario parado. El contenido de la caja da más información sobre el tipo de puesto:

Tipo Descripción
R-Stall RAW-Stall. (Read After Write Stall)
Una flecha roja muestra (si está habilitada) la instrucción que provoca
la parada.
W-Stall WAW-Stalls. (Write After Write Stall)
Una flecha roja muestra (si está habilitada) la instrucción que provoca
el bloqueo.
T-Stall Trap-Stall.
Esta pérdida ocurre solo por una instrucción trap, permanece en la
etapa IF, hasta que no haya otras instrucciones en el cauce de ejecución
(pipeline).
S-Stall Puesto estructural.
No hay suficientes recursos para atender la instrucción.
Stall Detención.
Si una instrucción de punto flotante está en la etapa MEM, la siguiente
instrucción se detendrá en la etapa intEX, etiquetada con "Stall".

Los adelantamientos se representan con una flecha verde que muestra el origen y el destino del adelantamiento.

Tabla

Diagrama de ciclos del reloj

Ejecución

Tabla del diagrama de ciclos del reloj

Como podemos ver en la imagen anterior se muestran los distintos adelantamientos en distintos colores (Rojo o verde)

Desplazamientos

Como podemos ver se han incluido cuatro botones de desplazamiento, representados con flechas (Arriba, Abajo, Izquierda, Derecha).

Estos botones de desplazamiento se han enlazado a los eventos del teclado para poder mover la ventana de forma cómoda, rápida y fluida.

  • Desplazamiento:
    • (i key up): Desplazamiento hacia arriba.
    • (k key down): Desplazamiento hacia abajo.
    • (j key left): Desplazamiento hacia la izquierda.
    • (l key right): Desplazamiento hacia la derecha.

Además, se ha añadido un icono de selección (mano) este indica cuando hemos seleccionado la tabla y vamos a desplazarnos dentro de ella, ya que las teclas de dirección del teclado se usan para moverse en el navegador.

De esta forma hemos indicado cuando bloqueamos el desplazamiento del navegador frente al de la tabla, para que no se produzca un efecto parallax.

Desplazamiento de la tabla

Desarrollo

Para la representación del diagrama de ciclos mediante tablas se usan los datos del cauce de ejecución con sus correspondientes adelantamientos, solo se debe organizar el orden de ejecución por columnas los pasos y por filas las nuevas instrucciones.