Pipeline apunte v o f
29 Questions
16 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

¿Cuál es la función del registro Contador de Programa (PC)?

  • Realizar cálculos aritméticos
  • Almacenar la instrucción en curso
  • Indicar la dirección de la instrucción a extraer (correct)
  • Guardar el resultado de la instrucción
  • ¿Cuántos bytes tiene cada instrucción en el caso descrito?

  • 2 bytes
  • 4 bytes (correct)
  • 8 bytes
  • 16 bytes
  • ¿Qué se calcula y se guarda en el registro NPC?

  • El resultado de la instrucción
  • La dirección de la siguiente instrucción en secuencia (correct)
  • El valor inmediato de la instrucción
  • La dirección de la instrucción actual
  • ¿Cuál es el propósito de la extensión de signo en la instrucción?

    <p>Convertir el valor inmediato a 64 bits</p> Signup and view all the answers

    ¿Cuál es la función de la ALU en la instrucción de bifurcación?

    <p>Añadir al NPC el desplazamiento correspondiente</p> Signup and view all the answers

    ¿Cuál es el propósito de los registros temporales A y B?

    <p>Guardar el contenido de los registros indicados como operandos</p> Signup and view all the answers

    ¿Cuál es el propósito de la etapa de alimentación de instrucción en MIPS64?

    <p>Extraer una instrucción de la dirección de memoria indicada por el Contador de Programa</p> Signup and view all the answers

    ¿Qué ocurre con el Contador de Programa después de la etapa de alimentación de instrucción?

    <p>Seincrementa en 4</p> Signup and view all the answers

    ¿Cuál es el registro donde se deja el resultado de la operación con la ALU?

    <p>Un registro general determinado por la instrucción</p> Signup and view all the answers

    ¿Qué se calcula en la etapa de ejecución en MIPS64?

    <p>La dirección efectiva</p> Signup and view all the answers

    ¿Qué se deja en el registro ALUoutput en la etapa anterior?

    <p>La dirección de memoria utilizada</p> Signup and view all the answers

    ¿Cuándo se calcula la dirección de destino en una instrucción de salto?

    <p>En la etapa de decodificación de instrucción</p> Signup and view all the answers

    ¿Cuál es el problema principal cuando una instrucción de salto entra en el pipeline?

    <p>Se producen h huecos de retardo</p> Signup and view all the answers

    ¿Por qué es conveniente rellenar los huecos de retardo con instrucciones?

    <p>Para que se ejecuten instrucciones que siempre se deban ejecutar</p> Signup and view all the answers

    ¿Qué sucede con las instrucciones que siguen a una bifurcación en un procesador con saltos retardados?

    <p>Se ejecutan h instrucciones después de su ejecución</p> Signup and view all the answers

    ¿Cuál es la ventaja de tener instrucciones que se ejecutan siempre después de una bifurcación?

    <p>No se producen huecos de retardo</p> Signup and view all the answers

    ¿Qué sucede con la secuencia de instrucciones ejecutadas cuando la bifurcación no tiene lugar en una CPU sin saltos retardados?

    <p>Se ejecutan las instrucciones I1, I2, I3, I4, I5, I6, I7, I8, I9, I10, I11, I12</p> Signup and view all the answers

    ¿Cuál es la función de las instrucciones de salto condicional en un procesador?

    <p>Tomar decisiones en el flujo de ejecución</p> Signup and view all the answers

    ¿Qué es lo que se busca evitar en la ejecución especulativa?

    <p>Que se modifiquen registros o posiciones de memoria antes de confirmar la predicción</p> Signup and view all the answers

    ¿Qué se conoce como predicción estática?

    <p>La predicción realizada por el compilador en tiempo de compilación</p> Signup and view all the answers

    ¿Por qué se puede mejorar la predicción si se realiza dinámicamente?

    <p>Porque el hardware del procesador puede establecer la posibilidad de salto en cada ejecución</p> Signup and view all the answers

    ¿Qué se debe llevar en la CPU para mejorar la predicción dinámicamente?

    <p>La cuenta de los resultados de las últimas ejecuciones de cada bifurcación</p> Signup and view all the answers

    ¿Qué sucede si la instrucción de bifurcación no se realiza en la ejecución especulativa?

    <p>Se modifican registros o posiciones de memoria</p> Signup and view all the answers

    ¿Qué se busca lograr con la ejecución especulativa?

    <p>Realizar predicciones acertadas sobre la instrucción de bifurcación</p> Signup and view all the answers

    Cuál es el efecto de una bifurcación retardada en el procesador?

    <p>Se siguen extrayendo y ejecutando las instrucciones siguientes durante un ciclo más de reloj</p> Signup and view all the answers

    ¿Cuál es la razón por la que I7 se ejecuta siempre, haya o no bifurcación?

    <p>Porque el efecto de la bifurcación se retarda un ciclo de reloj</p> Signup and view all the answers

    ¿Qué ocurre con el contador de programa después de alimentar una instrucción de salto?

    <p>Se establece la dirección indicada en la instrucción de salto</p> Signup and view all the answers

    ¿Cuál es la secuencia de instrucciones ejecutadas cuando se produce la bifurcación?

    <p>I1, I2, I3, I4, I5, I6, I7, I11, I12,...</p> Signup and view all the answers

    ¿Qué sucede con las instrucciones siguientes a la de salto después de establecer la dirección indicada?

    <p>Se siguen ejecutando en orden</p> Signup and view all the answers

    Study Notes

    Etapas del pipeline de MIPS64

    • La dirección de memoria utilizada es la calculada en el ciclo anterior y se deja en ALUoutput.
    • En esta etapa se escribe un valor en algún registro general (si la instrucción lo requiere), ya sea que el valor venga de una posición de memoria (valor en registro temporal LMD) o sea el resultado de una operación en la ALU.

    Fases del pipeline

    • Fase 1: Alimentación de instrucción (Instruction Fetch) - se extrae una instrucción de la dirección de memoria indicada por el Contador de Programa (PC) y se incrementa en 4 para que apunte a la dirección de la siguiente instrucción.
    • Fase 2: Decodificación de Instrucción / Lectura de registros - se decodifica la instrucción extraída y se lee el contenido de los registros indicados como operandos en la instrucción.
    • Fase 3: Ejecución/Cálculo de la dirección efectiva - se calcula la dirección de memoria en caso de una instrucción de salto.

    Bifurcaciones retardadas

    • Se utiliza para rellenar huecos de retardo en la ejecución de instrucciones.
    • Las instrucciones de salto no tienen efecto hasta h instrucciones después de su ejecución.
    • Independientemente del resultado de la ejecución de la bifurcación, siempre se ejecutan las h instrucciones siguientes.

    Ejecución especulativa

    • Se debe tener cuidado de que en las etapas anteriores a la de ejecución no se modifiquen registros o posiciones de memoria hasta que no se confirme que la predicción realizada ha sido la acertada.

    Predicción estática y dinámica

    • La predicción estática se establece mediante un cierto código de operación en la bifurcación.
    • La predicción dinámica se realiza mediante la cuenta de los resultados de las últimas ejecuciones de cada bifurcación.

    Bifurcaciones retardadas en la CPU

    • La secuencia de instrucciones ejecutadas cuando se produce la bifurcación es la misma que cuando no se produce.
    • El efecto de la bifurcación se retarda un ciclo de reloj.

    Studying That Suits You

    Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

    Quiz Team

    Related Documents

    PIPELINE.pdf

    Description

    Test your understanding of the CPU instruction fetch cycle, where the program counter retrieves an instruction from memory and stores it in the instruction register. Learn how the next instruction's address is calculated and updated in the program counter.

    More Like This

    CPU Architecture: The Fetch-Execute Cycle
    7 questions
    Fetch-Execute Cycle Overview
    8 questions
    Computer Architecture Overview
    40 questions
    Use Quizgecko on...
    Browser
    Browser