100% encontró este documento útil (1 voto)
1K vistas7 páginas

2.3 El Ciclo de Intruccion

El documento describe el ciclo de instrucción de un procesador, el cual consta de tres pasos: fetch, decode y execute. También explica la segmentación de instrucciones, la cual permite solapar la ejecución de instrucciones al dividir el ciclo en más etapas. Finalmente, detalla los diferentes tipos de instrucciones que puede ejecutar un procesador, incluyendo operaciones aritméticas, lógicas y de comparación.

Cargado por

Ángel Pérez
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
100% encontró este documento útil (1 voto)
1K vistas7 páginas

2.3 El Ciclo de Intruccion

El documento describe el ciclo de instrucción de un procesador, el cual consta de tres pasos: fetch, decode y execute. También explica la segmentación de instrucciones, la cual permite solapar la ejecución de instrucciones al dividir el ciclo en más etapas. Finalmente, detalla los diferentes tipos de instrucciones que puede ejecutar un procesador, incluyendo operaciones aritméticas, lógicas y de comparación.

Cargado por

Ángel Pérez
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

TECNOLÓGICO NACIONAL DE MÉXICO

Instituto Tecnológico de La Paz


Departamento de Sistemas Computacionales

INGENIERÍA EN SISTEMAS COMPUTACIONALES


ARQUITECTURA DE COMPUTADORAS

“2.3 EL CICLO DE INSTRUCCIÓN”

ENRIQUE MISSAEL RAMOS SEPULVEDA


MARTIN MISSAEL TAYLOR BRAMBILA
JESÚS IGNACIO GUTIÉRREZ ONESTO
ALUMNOS

ING. ANTONIO HERNÁNDEZ SÁNCHEZ


PROFESOR

La Paz, Baja California Sur.


06 de octubre de 2017
2.3.1 Ciclo Fetch-Decode-Execute
La tarea básica que realiza un computador es la ejecución de los programas. El programa
a ejecutar consta de un conjunto de instrucciones almacenadas en memoria. El procesador
lleva a cabo el trabajo, ejecutando las instrucciones especificadas en el programa.

Para alcanzar una mayor comprensión de esta función y de la manera en que los
componentes principales del computador interactúan para ejecutar un programa, hace falta
analizar con cierto detalle los elementos de la ejecución de un programa. EL punto de vista
más sencillo es considerar que el procesamiento de instrucciones consta de dos pasos. El
procesador (1) trae las instrucciones desde la memoria, una cada vez y (2) ejecuta cada
instrucción. La ejecución de un programa consiste en la repetición de este proceso de
lectura y ejecución de la instrucción. La ejecución de la instrucción puede involucrar varias
operaciones y depende de la naturaleza de la instrucción.

El procesamiento requerido para una instrucción simple se llama ciclo de instrucción.


Los tres pasos se llaman ciclo
de lectura (fetch), ciclo de
decodificación (decode), y Fetch
ciclo de ejecución
(execute). La ejecución del
programa se detiene sólo si se
apaga la máquina, ocurre
algún tipo de error
irrecuperable o se encuentra Execute Decode
una instrucción en el
programa que detiene el
computador.

2.3.2 Segmentación de Instrucciones


La segmentación o pipeline es una técnica de realización de procesadores por la cual se
solapa la ejecución de las instrucciones. Hoy en día es la técnica clave para la realización
de CPU rápidas. Consiste en descomponer el proceso de ejecución de las instrucciones en
fases o etapas que permitan una ejecución simultánea.

Características de la segmentación de instrucciones

 Se debe poder descomponer en etapas.


 Es necesario que las entradas de una etapa estén determinadas únicamente por las
salidas de la anterior.
 Los tiempos de ejecución de cada etapa deben ser parecidos.
 Incrementa la productividad, pero no reduce el tiempo de ejecución de la instrucción.
La segmentación es similar a la línea de armado en una planta de manufactura. El producto
pasa por varios estados en el proceso de producción.
Por lo tanto, varios productos pueden ser manipulados simultáneamente (cada uno en
estados distintos).
Se puede comenzar el proceso nuevamente (entrada a la línea de producción) antes de
que salga el producto final de la misma.
En la imagen podemos observar la diferencia entre procesadores segmentados y no
segmentados en la que separan las instrucciones en dos (captar y ejecutar) siendo el
segundo el que realiza segmentación.

En la imagen podemos observar como un procesador realiza la segmentación separando


las instrucciones en 5 etapas (MI, BR, ALU, MD, BR) en cada ciclo se puede observar como
al desocuparse una de las etapas la siguiente instrucción entra en ejecución
simultáneamente.
Clases de Riesgos
Riesgos estructurales: Producidos por conflictos en la utilización del hardware. Impiden que
dos instrucciones se solapen en determinados segmentos.
Riesgos por dependencias de datos: Es cuando los datos que necesita una instrucción para
ejecutarse son inicializados por instrucciones anteriores que aún no han finalizado.
Riesgos de control: Suceden cuando hay un cambio brusco en el valor del PC producido
por un salto u otras instrucciones.

2.3.3 Conjunto de instrucciones: Características y funciones


Un conjunto de instrucciones es una especificación que detalla las instrucciones que una
CPU de un ordenador puede entender y ejecutar, o el conjunto de todos los comandos
implementados por un diseño particular de una CPU.

Operaciones aritméticas y lógicas


Estas instrucciones son realizadas por la ALU de la máquina. Las podemos
considerar agrupadas en varios tipos:
• Operaciones puramente aritméticas
• Operaciones puramente lógicas
• Operaciones de manejo de bits
• Operaciones de conversión
• Instrucciones de comparación

Operaciones Puramente aritméticas


A este apartado pertenecen aquellas instrucciones que realizan operaciones
aritméticas con los operandos, como suma, resta, etc. Alteran las banderas de estado.
Instrucción Función
ADC Sumar dos operandos y añadir el acarreo.
ADD Sumar dos operandos sin añadir el acarreo.
DEC Decrementa operando en 1.
DIV División sin signo.
IDIV División considerando los signos de los operandos.
IMUL Multiplicación considerando los signos de los operandos.
INC Incremeta el operando en 1.
MUL Multiplicación sin considerar los signos.
NEG Cambiar el signo del operando.
SBB Resta añadiendo el acarreo.
SUB Resta sin acarreo.

Operaciones puramente lógicas


A este apartado pertenecen aquellas instrucciones que realizan operaciones a nivel de
bit (operaciones de tipo lógica o de aritmética binaria) con los operandos. Al igual que
las anteriores, alteran las banderas de estado.

Instrucción Función
AND Realiza un <Y> lógico.
NOT Realiza un <NO> lógico.
OR Realiza una <O> lógica.
XOR Realiza una <O> exclusiva .

Operaciones de manejo de bits


Pertenecen a este apartado aquellas instrucciones que realizan traslaciones
(rotaciones) con los bits del operando. Al igual que las anteriores, alteran las banderas de
estado.

Instrucción Función
RCL Rota a la izquierda a través del acarreo.
RCR Rota a la derecha considerando el acarreo.
ROL Rotación a la izquierda.
ROR Rotación a la derecha.
SAL/SHL Desplazamiento a la izquierda.
SAR/SHR Desplazamiento hacia la derecha.

Operaciones de conversión
Realizan conversiones de los operandos para transformarlos en otro tipo de representación
numérica.
Instrucción Función
AAA Ajusta el valor ASCII de una suma.
AAD Ajuste del valor ASCII de una divisón.
AAM Ajuste del valor ASCII de una multiplicación.
AAS Ajuste del valor ASCII de una resta.
CBW Convierte un byte en un word.
CWD Convierte un word en un double word.
DAA Ajuste decimal en una suma.
DAS Ajuste decimal en una resta.

Instrucciones de comparación
Las instrucciones de comparación permiten alterar las banderas de estado de la máquina y,
con ello, tomar decisiones cambiando el flujo de un programa. Estas operaciones
realizan internamente alguna operación (por lo general la resta), pero no almacenan el
resultado de esa operación, sino que únicamente actualizan las banderas de estado.
El 8086 dispone de las siguientes instrucciones de comparación:

Instrucción Función
CMP Comparar dos operandos y actualizar banderas.
CMPS Comparar cadenas de un byte o de una palabra.
TEST Comparar dos operandos utilizando operación AND.

También podría gustarte