Podcast
Questions and Answers
¿Cuál es la función del registro Contador de Programa (PC)?
¿Cuál es la función del registro Contador de Programa (PC)?
¿Cuántos bytes tiene cada instrucción en el caso descrito?
¿Cuántos bytes tiene cada instrucción en el caso descrito?
¿Qué se calcula y se guarda en el registro NPC?
¿Qué se calcula y se guarda en el registro NPC?
¿Cuál es el propósito de la extensión de signo en la instrucción?
¿Cuál es el propósito de la extensión de signo en la instrucción?
Signup and view all the answers
¿Cuál es la función de la ALU en la instrucción de bifurcación?
¿Cuál es la función de la ALU en la instrucción de bifurcación?
Signup and view all the answers
¿Cuál es el propósito de los registros temporales A y B?
¿Cuál es el propósito de los registros temporales A y B?
Signup and view all the answers
¿Cuál es el propósito de la etapa de alimentación de instrucción en MIPS64?
¿Cuál es el propósito de la etapa de alimentación de instrucción en MIPS64?
Signup and view all the answers
¿Qué ocurre con el Contador de Programa después de la etapa de alimentación de instrucción?
¿Qué ocurre con el Contador de Programa después de la etapa de alimentación de instrucción?
Signup and view all the answers
¿Cuál es el registro donde se deja el resultado de la operación con la ALU?
¿Cuál es el registro donde se deja el resultado de la operación con la ALU?
Signup and view all the answers
¿Qué se calcula en la etapa de ejecución en MIPS64?
¿Qué se calcula en la etapa de ejecución en MIPS64?
Signup and view all the answers
¿Qué se deja en el registro ALUoutput en la etapa anterior?
¿Qué se deja en el registro ALUoutput en la etapa anterior?
Signup and view all the answers
¿Cuándo se calcula la dirección de destino en una instrucción de salto?
¿Cuándo se calcula la dirección de destino en una instrucción de salto?
Signup and view all the answers
¿Cuál es el problema principal cuando una instrucción de salto entra en el pipeline?
¿Cuál es el problema principal cuando una instrucción de salto entra en el pipeline?
Signup and view all the answers
¿Por qué es conveniente rellenar los huecos de retardo con instrucciones?
¿Por qué es conveniente rellenar los huecos de retardo con instrucciones?
Signup and view all the answers
¿Qué sucede con las instrucciones que siguen a una bifurcación en un procesador con saltos retardados?
¿Qué sucede con las instrucciones que siguen a una bifurcación en un procesador con saltos retardados?
Signup and view all the answers
¿Cuál es la ventaja de tener instrucciones que se ejecutan siempre después de una bifurcación?
¿Cuál es la ventaja de tener instrucciones que se ejecutan siempre después de una bifurcación?
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?
¿Qué sucede con la secuencia de instrucciones ejecutadas cuando la bifurcación no tiene lugar en una CPU sin saltos retardados?
Signup and view all the answers
¿Cuál es la función de las instrucciones de salto condicional en un procesador?
¿Cuál es la función de las instrucciones de salto condicional en un procesador?
Signup and view all the answers
¿Qué es lo que se busca evitar en la ejecución especulativa?
¿Qué es lo que se busca evitar en la ejecución especulativa?
Signup and view all the answers
¿Qué se conoce como predicción estática?
¿Qué se conoce como predicción estática?
Signup and view all the answers
¿Por qué se puede mejorar la predicción si se realiza dinámicamente?
¿Por qué se puede mejorar la predicción si se realiza dinámicamente?
Signup and view all the answers
¿Qué se debe llevar en la CPU para mejorar la predicción dinámicamente?
¿Qué se debe llevar en la CPU para mejorar la predicción dinámicamente?
Signup and view all the answers
¿Qué sucede si la instrucción de bifurcación no se realiza en la ejecución especulativa?
¿Qué sucede si la instrucción de bifurcación no se realiza en la ejecución especulativa?
Signup and view all the answers
¿Qué se busca lograr con la ejecución especulativa?
¿Qué se busca lograr con la ejecución especulativa?
Signup and view all the answers
Cuál es el efecto de una bifurcación retardada en el procesador?
Cuál es el efecto de una bifurcación retardada en el procesador?
Signup and view all the answers
¿Cuál es la razón por la que I7 se ejecuta siempre, haya o no bifurcación?
¿Cuál es la razón por la que I7 se ejecuta siempre, haya o no bifurcación?
Signup and view all the answers
¿Qué ocurre con el contador de programa después de alimentar una instrucción de salto?
¿Qué ocurre con el contador de programa después de alimentar una instrucción de salto?
Signup and view all the answers
¿Cuál es la secuencia de instrucciones ejecutadas cuando se produce la bifurcación?
¿Cuál es la secuencia de instrucciones ejecutadas cuando se produce la bifurcación?
Signup and view all the answers
¿Qué sucede con las instrucciones siguientes a la de salto después de establecer la dirección indicada?
¿Qué sucede con las instrucciones siguientes a la de salto después de establecer la dirección indicada?
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.
Related Documents
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.