SlideShare una empresa de Scribd logo
1 de 34
Descargar para leer sin conexión
EJECUCIÓN DE
INSTRUCCIONES(1)
La función básica que realiza un computador es la
ejecución de un programa. Un programa consiste en
un conjunto de instrucciones y datos almacenados en
la unidad de memoria. La CPU es la encargada de
ejecutar las instrucciones especificadas en el
programa.
Miguel Ángel Asensio Hernández
Profesor Técnico de Formación Profesional
EJECUCIÓN DE INSTRUCCIONES(2)
La secuencia de operaciones realizadas en la
ejecución de una instrucción constituye lo que
se denomina ciclo de instrucción. Lo más
cómodo es considerar que el procesamiento del
ciclo de instrucción consta de dos fases:
a) Fase de Búsqueda
b) Fase de Ejecución
EJECUCIÓN DE INSTRUCCIONES(3)
La culminación de cada una de estas fases
necesita de uno a seis ciclos de reloj.
B Ú S Q U E D A
R e l o j
L e c t u r a d e O p e r a n d o s O p e r a c i ó n
D e c o d i f i c a c i ó n
1 2 3 4 5 6 7 8 9 1 0
R e p r e s e n t a c i ó n d e l a s f a s e s d e u n a i n s tr u c c i ó n e n f u n c i ó n d e l r e l o j d e l s i s t e m a .
Fase de Búsqueda: (1)
Transferir el contenido del Contador de Programa
(CP) al registro de Direcciones (RD).
1.
2.
3.
4.
Pasar a registro de Memoria (RM) el dato almacenado en la
dirección de memoria indicada por RD.
Transferir el dato leído desde el RM al registro
de instrucción (RI).
Incrementar el valor del Contador de Programa para apuntar a la
instrucción siguiente.
Esquema básico de un computador didáctico
PARTES DEL COMPUTADOR
R E G I S T R O
A C U M U L A D O R
A L U
C O N T R O L
A L U
M E M O R I A
C .P .U .
R E L O J Y S E Ñ A L E S
D E C O N T R O L6 6 ( R E S U L T A D O )
S T O P
8
D I R E C C I Ó N
B U S D E D A T O S
B U S D E D I R E C C I O N E S
D E C O D I F I C A D O R
D E I N S T R U C C I O N E S
C O N T A D O R D E
P R O G R A M A
R E G I S T R O D E
I N S T R U C C I O N E S
C A R G A R A C U M .
4 5
S U M A R
2 1
G U A R D A R
1
2
3
4
5
6
7
8
9
Fase de Búsqueda: (2)
M E M O R I A
C P : 3 F 8 h
R I
R M : 1 0 0 1 1 0 1
1 0 0 1 1 0 1
R D
1 º
2 º
3 º
4 º
1 0 0 1 1 0 1
D a t o o i n s t r u c c i ó n
D a t o o i n s t r u c c i ó n
I n c r e m e n t o
D i r e c c i ó n d e m e m o r i a
Registro de
Direcciones
Registro de Instrucciones
Registro de Memoria
Registro Contador de Programa
5º Decodificación ...
Fase de Ejecución: (3)comprende el conjunto de operaciones
elementales específicas de la instrucción en curso.
5. Decodificación de la Instrucción. Por ejemplo la Instrucción
ADD. (la instrucción es cambiada por su código máquina correspondiente)
6.
C O A D D n O P 1 M D M DC R C RC D C DO P 2 :
I n s t r u c c i ó n
C ó d i g o d e
o p e r a c i ó n .
O p e r a n d o 1
P a r t e d e l a i n s t r u c c i ó n ( o p e r a n d o 2 )
M o d o d e d i r e c c i o n a m i e n t o
C a m p o d e r e g i s t r o
C a m p o d e d i r e c c i ó n : d e s p l a z a m i e n t o o d a t o
Transferencia del campo “CD” de la instrucción en curso ( este
campo contiene la dirección de memoria en la que se encuentra el
operando, y que se encuentra en el registro RI desde que finalizó
la fase de búsqueda), al registro RD. Se inicia, por tanto, un
proceso similar al de la fase de búsqueda, pero en esta ocasión
para buscar en memoria el operando de la instrucción.
...fase de ejecución:
7. Lanzar un ciclo de lectura de memoria que ponga en RM el
operando almacenado en la dirección indicada por RD.
8. Transferencia del dato leído desde el RM al registro intermedio ,Ro2,
del Operador. Paralelamente se puede transferir el otro operando
desde el acumulador, AC, (contenido en él un instante anterior), al
registro intermedio Ro1.
Realizar la operación de SUMA (ADD) y almacenar el resultado
en el AC.
9.
modos de direccionamiento.
Consiste en determinar la forma en la que se va ha leer o escribir un dato.
Modos de direccionamiento
INMEDIATO; el dato está en la propia instrucción ( ejemplo: SUMA 7, 3),
en el ejemplo los dos son datos, el resultado es 10.
DIRECTO; en la instrucción está contenida
la dirección de memoria donde se encuentra
el dato (ejemplo: SUMA 7, 01) , 7 es un dato,
01 es una dirección de memoria donde se
encuentra el dato. En la dirección de memoria
01 está contenido el dato, 3; el resultado es:
[7 + (01=3)] = 10.
d i r e c c i ó n
m e m o r i a
0 1
0 2
0 3
0 4
0 5
0 6
0 7
0 8
0 9
1 0
1 1
1 2
1 3
3
0 6
2
4
Nota: no se pueden mezclar dos datos con
direccionamiento directo, es decir: directo-directo.
modos de direccionamiento.
RELATIVO A REGISTRO; aclarar primero que existen varios tipos de
registros.
Registro de instrucción RI
Registro de memoria RM
Registro de direcciones RD
Contador de programa CP
(Ejemplo: SUMA 3+CP, 1), en este caso el direccionamiento es relativo a
registro Contador de Programa.
4 CP; 3+4=(dirección de memoria) 07. Si 1 en la instrucción es
dato el resultado es: 4+1= 5.
Como hemos observado, la dirección en la que se encuentra el dato se tiene que
calcular. La dirección del puntero + el desplazamiento indicado en la propia instrucción
Nos lleva al dato.
modos de direccionamiento.
INDEXADO o direccionamiento a Registro Base. Un registro índice
contiene una dirección de referencia que actúa como puntero: se emplea
para recorrer estructuras de datos tipo vector o tabla. Su valor se modifica
con frecuencia.
INDIRECTO; la instrucción contiene una dirección de memoria que lleva
a otra dirección de memoria en la que se encuentra el dato.
(ejemplo: 04, 3), en 04 se encuentra 06 y en 06 está el dato: 2. El resultado
es 2+3= 5.
Elementos principales de la Unidad de Control
El CP es un registro que contiene la dirección de la siguiente
instrucción que hay que ejecutar.
El RI es un registro que contiene la instrucción que se está
ejecutando en cada momento.
El decodificador se encarga de examinar el código de
operación de la instrucción que se encuentra en el registro de
instrucción para determinar que es lo que hay que hacer.
El secuenciador ordena que se realicen las operaciones
necesarias para ejecutar la instrucción cuyo código de operación
ha examinado el decodificador.
formatos de instrucción
tienen varios formatos.
I
I
I
C .O .
C .O .
C .O .
O P . 1
O P . 1
O P .2
M D . C R . D
1 6 b i t s
Código de Operación
Operando 1
dato
Método de direccionamiento
Campo de registro
Tipo de registro Desplazamiento,
dirección o dato
Ejemplo: Relativo a R. base R.I.
(registro de instrucción)
Operando 2
Un programa suele estar dividido en dos partes o zonas; una
zona para código y otra para datos. Como ya hemos estudiado,
una instrucción puede contener el dato propiamente dicho o una
dirección de memoria que nos lleve al dato.
Instr. ≡ [ etiqueta: ] Cod. Op. [ operandos ] [ ;
comentario ]
Ejemplo: GUARDAR: SUMA 7,3 ; esto es una suma
Para poder trabajar con una CPU determinada, lo primero que
debemos conocer es la longitud de palabra de sus registros.
Una CPU de 32 bits dispone de los siguientes registros:
Datos; D0, ..........................., D7.
Direcciones; A0, ........................., A6.
Los anteriores son registros de acceso a memoria.
Otros registros son: 
CP contador de programa,
SR registro de estado,
SP puntero de pila,
.................
M o d e l o f u n c i o n a l d e l s i s t e m a . C o m p u t a d o r b a s a d o e n e l m i c r o p r o c e s a d o r M 6 8 0 0 0 d e M o t o r o l a .
R e g i s t r o s d e
D a t o s
R e g i s t r o s d e
D i r e c c i o n e s
R e g i s t r o s d e
c o n t r o l
C P
S R
S P ( A 7 )
P R O C E S A D O R
0
1
F F E F F F
M E M O R I A
D 0
D 1
D 2
D 3
D 4
D 5
D 6
D 7
A 0
A 1
A 2
A 3
A 4
A 5
A 6
P U E R T O S D E E N T R A D A / S A L I D A
F F F 0 0 0 F F F 0 0 2 F F F 0 0 4
formatos de palabra.
3 2 b i ts
1 6 b i t s
8 b i t s
F o r m a t o s d e p a l a b r a .
(+) (-)
01
02
03
04
05
Byte más significativo
Byte menos significativo
8 bits
byte (B)
palabra (W)
palabra larga (L)
Si trabajamos con registros de 16 bits y deseamos mover datos con una longitud
de palabra de 32 bits, tendremos que recurrir a posiciones de memoria contiguas:
Código de Operación:
Código de Operación:
 
CÓD. OP. | para formato de 32 bits: L | Sintaxis: [Cód. Op.].[L]
| para formato de 16 bits: W |
| para formato de 8 bits: B |
 
Ejemplo: instrucción que permite realizar una suma: ADD.W D0, D1
 
modificadores: algunos modificadores empleados en instrucciones son:
 
% binario
$ hexadecimal
# direccionamiento inmediato
 
Ejemplo: MOVE.B #10, D1
Representación de la información
En la representación conceptual de una memoria se tiende a emplear
notación hexadecimal, que es más fácil de leer y simplifica muchísimo
la representación de la información. A pesar de todo, esta forma de
escribir las órdenes de un computador resulta también algo engorroso
para el programador, por lo que se emplean códigos nemotécnicos que
ayudan a comprender el significado de cada combinación
hexadecimal.
El lenguaje máquina está íntimamente ligado a la construcción interna
del computador. Los programas escritos en lenguaje máquina sólo son
transportables a otras máquinas de idénticas características.
P O S I C I Ó N
D E M E M O R I A
0
1
2
3
4
5
6
7
D I R E C C I Ó N
D E n - b i t s
C O N T E N I D O
D E M E M O R I A
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
0 1 1 0
0 0 1 0
1 1 0 0
0 0 0 1
1 1 1 0
1 1 1 0
0 0 0 0
0 1 1 0
D I R E C C I Ó N E N
H E X A D E C I M A L
C O N T E N I D O E N
H E X A D E C I M A L
0 H
1 H
2 H
3 H
4 H
5 H
6 H
7 H
6 H
2 H
C H
1 H
E H
E H
0 H
6 H
L a H e s u n s u f i jo q u e i n d ic a n o t a c ió n h e x a d e c i m a l.
R e p r e s e n t a c ió n e n B i n a r io R e p r e s e n t a c ió n e n H e x a d e c i m a l
ejemplo de representación de la información
representación de la información
representación de la información
 La representación en hexadecimal se hace con
agrupaciones de 4-bits. Los números en hexadecimal
se escriben con el sufijo H (mayúscula o minúscula)
para indicar el sistema de numeración.
Ej: 6E8.58H
0110 1110 1000 . 0101 1000
6 E 8 5 8
A29.C4H
1010 0010 1001 . 1100 0100
A 2 9 C 4
Esta representación sólo sería válida para registros de 4-bits.
Hay que tener presente que en un sistema basado en
microprocesador es habitual registros de 8, 16 y 32 bits.
Por ejemplo: si el registro A de 8-bits contiene la siguiente
secuencia, 1011 0011, se escribiría así; B3H.
O una dirección de 16-bits sería como sigue:
0000 0100 0001 1101, en hexadecimal 041DH.
Ejemplos con nemotécnicos:
Instrucción MOVE.L D0, D1
Tipo de instrucción: transferencia entre registros.Carga el contenido del
registro D0 en el registro D1. Ambos son de 32 bits por lo que supone el
intercambio entre ellos de una palabra larga.
Código:
Binario Hexadecimal Nemotécnico Descripción
0010001000000000 2200 MOVE.L D0, D1 (D0) → (D1)
Instrucción NOP
Tipo de instrucción: miscelánea.
Su misión es no realizar ninguna operación. Su único efecto es provocar un
pequeño retardo temporal ya que obliga a mantener funcionando el bucle de
ejecución de instrucciones.
Código:
Binario Hexadecimal Nemotécnico Descripción
0100111001110001 4E71 NOP No operación
Para buscar la instrucción que se debe ejecutar a continuación, la unidad
de control mantiene actualizado un registro de propósito especial o
dedicado, el Contador de Programa, CP. El contador de programa es un
registro de operación que siempre mantiene la dirección de la próxima
instrucción a ejecutar.
Cuando el procesador es inicializado la unidad de control coloca el
contador de programa a cero.
La dirección contenida en el contador de programa se coloca en el bus de
direcciones. Para ello, la unidad de control transfiere el contenido del CP
al registro de dirección, RD.
el Contador de Programa
Interconexión con los buses y la memoria.
El dato se transfiere al procesador a través del bus de datos y el registro
de instrucción, RI.
M E M O R I A
B . D ir e c c io n e s
B . D a t o s
B . C o n t r o l
D i r e c c i ó n L e c t u r a / e s c r i t u r a
R / W
D a t o s
Interconexión con los buses: arquitectura
de bus interno.
B U S I N T E R N O
C O N T A D O R D E P R O G R A M A P U N T E R O D E P I L A
R E G I S T R O T E M P O R A L
B C
D E
H L
R E G I S T R O S D E P R O P Ó S I T O
G E N E R A L .
R E G I S T R O D E
D I R E C C I O N E S
B U S
D E
D I R E C C I O N E S
D E L
S I S T E M A
La primera palabra de una instrucción es el código de operación
para dicha instrucción. El código de operación indica a la unidad
de control las operaciones requeridas para ejecutar la instrucción.
Todos estos son
registros internos,
ubicados en el interior
de la propia CPU.
Durante una operación normal, el procesador busca
secuencialmente y ejecuta una instrucción tras otra,
hasta que se procesa una instrucción (HALT) de paro. La
búsqueda y ejecución de una instrucción constituye el
ciclo de instrucción, que representa a su vez una o más
operaciones de acceso a memoria o a dispositivos de
E/S. Cada acceso a memoria requiere un ciclo máquina.
Ciclo máquina.
Hay, por ejemplo, siete tipos diferentes de ciclo
máquina en el 8085.
• búsqueda de Cod. Op.
• lectura de MEMORIA
• escritura a MEMORIA
• lectura de E/S
• escritura a E/S
• respuesta a interrupción
• bus inactivo.
1 2
3
BÚSQUEDA EJECUCIÓN
PARO
INSTRUCCIÓN E N PROCES O
EJECUCIÓ N DE UNA
INST RUCC IÓN COM PLETA
INSTRUCCIÓNHALT
REPOSICIÓN
REPOSICIÓN
Ciclos de máquina de un computador
Representación del ciclo máquina.
El repertorio de instrucciones
 Todo computador posee un repertorio de instrucciones que
es capaz de ejecutar, constituyendo este, lo que se conoce
como “lenguaje máquina del computador”.
 Estas instrucciones se encuentran codificadas de acuerdo a un
formato específico del computador, y constituyen una opción
más del diseño del mismo.
 En general, el algoritmo de solución de cualquier problema
consiste en varios pasos que deben realizarse en una
secuencia específica. Para implantar tal algoritmo en un
computador, estos pasos se descomponen en pasos más
pequeños, cada uno de los cuales representa una instrucción
del computador. La secuencia de instrucciones resultante es un
programa en lenguaje máquina, que representa al algoritmo en
cuestión.
Cada instrucción máquina del computador se ejecuta
realizando una secuencia de operaciones
elementales más rudimentarias. A su vez, cada
operación elemental requiere la activación de un
conjunto de señales de control por parte del
secuenciador de la Unidad de Control. La
activación de dichas señales se efectúa a “golpe” de
reloj.
• Unidad de control
 
La misión fundamental de esta unidad se centra en
recoger las instrucciones que componen un programa,
interpretarlas y controlar su ejecución.
Dado que las instrucciones se encuentran almacenadas
en la unidad de memoria, deberá encargarse en primer
lugar de recibirlas en el orden establecido. En segundo
lugar, deberá identificar de qué instrucción se trata en
cada caso. Por último, tendrá que generar la secuencia
adecuada de órdenes para el resto de elementos que
constituyen el computador, de manera que cada
instrucción se ejecute correctamente.
BC
BA
BD
CP
RI
Busde control
Busde direcciones
Busde datos
Registro de estado
Secuenciad or
Dec odificador
Seña les de control
ICP
CCPBA
CRIB D
SBR E
.......
SBR S
OP
CAC
CRM M
....... ..
Reloj ICP CCPB A
CRI BD
C IRCU ITO
DE
C ONTR OL
Con tador de Programa
Registro de Instruc ción
Estructura funcional de la Unidad de Control
Ejecuciã“n de instrucciones

Más contenido relacionado

La actualidad más candente

Registros del procesador
Registros del procesadorRegistros del procesador
Registros del procesadorSaya Otonashi
 
Algoritmos de ordenamiento externo sobre archivos
Algoritmos de ordenamiento externo sobre archivosAlgoritmos de ordenamiento externo sobre archivos
Algoritmos de ordenamiento externo sobre archivosDaniel Gomez Jaramillo
 
Estructura de Datos : Ordenamiento Externo
Estructura de Datos : Ordenamiento Externo Estructura de Datos : Ordenamiento Externo
Estructura de Datos : Ordenamiento Externo Carlos Criollo
 
Instrucciones lenguaje assembler
Instrucciones lenguaje assemblerInstrucciones lenguaje assembler
Instrucciones lenguaje assemblerANDREA
 

La actualidad más candente (6)

Registros del procesador
Registros del procesadorRegistros del procesador
Registros del procesador
 
Algoritmos de ordenamiento externo sobre archivos
Algoritmos de ordenamiento externo sobre archivosAlgoritmos de ordenamiento externo sobre archivos
Algoritmos de ordenamiento externo sobre archivos
 
Algoritmos de ordenamiento externos
Algoritmos de ordenamiento externosAlgoritmos de ordenamiento externos
Algoritmos de ordenamiento externos
 
Matematicos
MatematicosMatematicos
Matematicos
 
Estructura de Datos : Ordenamiento Externo
Estructura de Datos : Ordenamiento Externo Estructura de Datos : Ordenamiento Externo
Estructura de Datos : Ordenamiento Externo
 
Instrucciones lenguaje assembler
Instrucciones lenguaje assemblerInstrucciones lenguaje assembler
Instrucciones lenguaje assembler
 

Similar a Ejecuciã“n de instrucciones

Organizaciondel computador luis_rojas.corte1.eval2
Organizaciondel computador luis_rojas.corte1.eval2Organizaciondel computador luis_rojas.corte1.eval2
Organizaciondel computador luis_rojas.corte1.eval2Luis Alejandro Rojas Chalo
 
Registros Basicos del CPU.pptx
Registros Basicos del CPU.pptxRegistros Basicos del CPU.pptx
Registros Basicos del CPU.pptxEdwin Jaramillo
 
Unidad 2 arquitectura del computador
Unidad 2 arquitectura del computadorUnidad 2 arquitectura del computador
Unidad 2 arquitectura del computadorCristhixn Leon
 
Arquitectura de un computador
Arquitectura de un computadorArquitectura de un computador
Arquitectura de un computadorthegrim85
 
Formatos de instrucción
Formatos de instrucciónFormatos de instrucción
Formatos de instrucciónSantiago Rozo
 
Unidad central de procesamiento
Unidad central de procesamientoUnidad central de procesamiento
Unidad central de procesamientoAlejandro Molina
 
Capacidad de la cpu
Capacidad de la cpuCapacidad de la cpu
Capacidad de la cpuAnaKarina114
 
Diagrama de flujo, archivo, entidades, procesos
Diagrama de flujo, archivo, entidades, procesosDiagrama de flujo, archivo, entidades, procesos
Diagrama de flujo, archivo, entidades, procesosDeivis Romero
 
Registro e intrucciones de microprocesador
Registro e intrucciones de microprocesadorRegistro e intrucciones de microprocesador
Registro e intrucciones de microprocesadorAnderson Gutierrez
 
Unidad III Lenguaje Ensamblador (2).pptx
Unidad III Lenguaje Ensamblador (2).pptxUnidad III Lenguaje Ensamblador (2).pptx
Unidad III Lenguaje Ensamblador (2).pptxHaroldCuevasPablus
 
Capacidad de la unidad de procesamiento
Capacidad de la unidad de procesamientoCapacidad de la unidad de procesamiento
Capacidad de la unidad de procesamientoRosannyGamardo
 
Diagramadeflujoarchivoentidadesprocesos 140721181012-phpapp02 nhaha
Diagramadeflujoarchivoentidadesprocesos 140721181012-phpapp02 nhahaDiagramadeflujoarchivoentidadesprocesos 140721181012-phpapp02 nhaha
Diagramadeflujoarchivoentidadesprocesos 140721181012-phpapp02 nhaharaul18arteaga
 

Similar a Ejecuciã“n de instrucciones (20)

Organizaciondel computador luis_rojas.corte1.eval2
Organizaciondel computador luis_rojas.corte1.eval2Organizaciondel computador luis_rojas.corte1.eval2
Organizaciondel computador luis_rojas.corte1.eval2
 
Yeimir rincon 20%
Yeimir rincon 20%Yeimir rincon 20%
Yeimir rincon 20%
 
Registros Basicos del CPU.pptx
Registros Basicos del CPU.pptxRegistros Basicos del CPU.pptx
Registros Basicos del CPU.pptx
 
Unidad 2 arquitectura del computador
Unidad 2 arquitectura del computadorUnidad 2 arquitectura del computador
Unidad 2 arquitectura del computador
 
Arquitectura de un computador
Arquitectura de un computadorArquitectura de un computador
Arquitectura de un computador
 
procesador digital
procesador digitalprocesador digital
procesador digital
 
Unidad de procesamiento
Unidad de procesamientoUnidad de procesamiento
Unidad de procesamiento
 
Formatos de instrucción
Formatos de instrucciónFormatos de instrucción
Formatos de instrucción
 
Unidad central de procesamiento
Unidad central de procesamientoUnidad central de procesamiento
Unidad central de procesamiento
 
BIG O EXPOSICION
BIG O EXPOSICIONBIG O EXPOSICION
BIG O EXPOSICION
 
Capacidad de la cpu
Capacidad de la cpuCapacidad de la cpu
Capacidad de la cpu
 
Direccionamiento
DireccionamientoDireccionamiento
Direccionamiento
 
Diagrama de flujo, archivo, entidades, procesos
Diagrama de flujo, archivo, entidades, procesosDiagrama de flujo, archivo, entidades, procesos
Diagrama de flujo, archivo, entidades, procesos
 
Registro e intrucciones de microprocesador
Registro e intrucciones de microprocesadorRegistro e intrucciones de microprocesador
Registro e intrucciones de microprocesador
 
Sistemasd
SistemasdSistemasd
Sistemasd
 
Sistemasd
SistemasdSistemasd
Sistemasd
 
Unidad III Lenguaje Ensamblador (2).pptx
Unidad III Lenguaje Ensamblador (2).pptxUnidad III Lenguaje Ensamblador (2).pptx
Unidad III Lenguaje Ensamblador (2).pptx
 
Capacidad de la unidad de procesamiento
Capacidad de la unidad de procesamientoCapacidad de la unidad de procesamiento
Capacidad de la unidad de procesamiento
 
Diagramadeflujoarchivoentidadesprocesos 140721181012-phpapp02 nhaha
Diagramadeflujoarchivoentidadesprocesos 140721181012-phpapp02 nhahaDiagramadeflujoarchivoentidadesprocesos 140721181012-phpapp02 nhaha
Diagramadeflujoarchivoentidadesprocesos 140721181012-phpapp02 nhaha
 
Turbo c
Turbo cTurbo c
Turbo c
 

Más de Jorge Eliecer Martinez Polo (20)

Cristo
CristoCristo
Cristo
 
Matemática estilo ifes
Matemática estilo ifesMatemática estilo ifes
Matemática estilo ifes
 
Estequiometría
EstequiometríaEstequiometría
Estequiometría
 
Estequiometría
EstequiometríaEstequiometría
Estequiometría
 
2000
20002000
2000
 
Título
TítuloTítulo
Título
 
123
123123
123
 
123
123123
123
 
Manuel
ManuelManuel
Manuel
 
Eticaymoral síntesis
Eticaymoral síntesisEticaymoral síntesis
Eticaymoral síntesis
 
Proceso emocional
Proceso emocionalProceso emocional
Proceso emocional
 
Proceso emocional
Proceso emocionalProceso emocional
Proceso emocional
 
La conspiracion-de-los-iluminados-illuminatis (1) (1)
La conspiracion-de-los-iluminados-illuminatis (1) (1)La conspiracion-de-los-iluminados-illuminatis (1) (1)
La conspiracion-de-los-iluminados-illuminatis (1) (1)
 
Ejercicios de programacion_en_java
Ejercicios de programacion_en_javaEjercicios de programacion_en_java
Ejercicios de programacion_en_java
 
El origen
El origenEl origen
El origen
 
El origen
El origenEl origen
El origen
 
El origen
El origenEl origen
El origen
 
Definicion de bacterias y ongos
Definicion de bacterias y ongosDefinicion de bacterias y ongos
Definicion de bacterias y ongos
 
M o d_u_l_a_r_i_d_a_d
M o d_u_l_a_r_i_d_a_dM o d_u_l_a_r_i_d_a_d
M o d_u_l_a_r_i_d_a_d
 
La memoria del
La memoria delLa memoria del
La memoria del
 

Ejecuciã“n de instrucciones

  • 1. EJECUCIÓN DE INSTRUCCIONES(1) La función básica que realiza un computador es la ejecución de un programa. Un programa consiste en un conjunto de instrucciones y datos almacenados en la unidad de memoria. La CPU es la encargada de ejecutar las instrucciones especificadas en el programa. Miguel Ángel Asensio Hernández Profesor Técnico de Formación Profesional
  • 2. EJECUCIÓN DE INSTRUCCIONES(2) La secuencia de operaciones realizadas en la ejecución de una instrucción constituye lo que se denomina ciclo de instrucción. Lo más cómodo es considerar que el procesamiento del ciclo de instrucción consta de dos fases: a) Fase de Búsqueda b) Fase de Ejecución
  • 3. EJECUCIÓN DE INSTRUCCIONES(3) La culminación de cada una de estas fases necesita de uno a seis ciclos de reloj. B Ú S Q U E D A R e l o j L e c t u r a d e O p e r a n d o s O p e r a c i ó n D e c o d i f i c a c i ó n 1 2 3 4 5 6 7 8 9 1 0 R e p r e s e n t a c i ó n d e l a s f a s e s d e u n a i n s tr u c c i ó n e n f u n c i ó n d e l r e l o j d e l s i s t e m a .
  • 4. Fase de Búsqueda: (1) Transferir el contenido del Contador de Programa (CP) al registro de Direcciones (RD). 1. 2. 3. 4. Pasar a registro de Memoria (RM) el dato almacenado en la dirección de memoria indicada por RD. Transferir el dato leído desde el RM al registro de instrucción (RI). Incrementar el valor del Contador de Programa para apuntar a la instrucción siguiente.
  • 5. Esquema básico de un computador didáctico
  • 6. PARTES DEL COMPUTADOR R E G I S T R O A C U M U L A D O R A L U C O N T R O L A L U M E M O R I A C .P .U . R E L O J Y S E Ñ A L E S D E C O N T R O L6 6 ( R E S U L T A D O ) S T O P 8 D I R E C C I Ó N B U S D E D A T O S B U S D E D I R E C C I O N E S D E C O D I F I C A D O R D E I N S T R U C C I O N E S C O N T A D O R D E P R O G R A M A R E G I S T R O D E I N S T R U C C I O N E S C A R G A R A C U M . 4 5 S U M A R 2 1 G U A R D A R 1 2 3 4 5 6 7 8 9
  • 7. Fase de Búsqueda: (2) M E M O R I A C P : 3 F 8 h R I R M : 1 0 0 1 1 0 1 1 0 0 1 1 0 1 R D 1 º 2 º 3 º 4 º 1 0 0 1 1 0 1 D a t o o i n s t r u c c i ó n D a t o o i n s t r u c c i ó n I n c r e m e n t o D i r e c c i ó n d e m e m o r i a Registro de Direcciones Registro de Instrucciones Registro de Memoria Registro Contador de Programa 5º Decodificación ...
  • 8. Fase de Ejecución: (3)comprende el conjunto de operaciones elementales específicas de la instrucción en curso. 5. Decodificación de la Instrucción. Por ejemplo la Instrucción ADD. (la instrucción es cambiada por su código máquina correspondiente) 6. C O A D D n O P 1 M D M DC R C RC D C DO P 2 : I n s t r u c c i ó n C ó d i g o d e o p e r a c i ó n . O p e r a n d o 1 P a r t e d e l a i n s t r u c c i ó n ( o p e r a n d o 2 ) M o d o d e d i r e c c i o n a m i e n t o C a m p o d e r e g i s t r o C a m p o d e d i r e c c i ó n : d e s p l a z a m i e n t o o d a t o Transferencia del campo “CD” de la instrucción en curso ( este campo contiene la dirección de memoria en la que se encuentra el operando, y que se encuentra en el registro RI desde que finalizó la fase de búsqueda), al registro RD. Se inicia, por tanto, un proceso similar al de la fase de búsqueda, pero en esta ocasión para buscar en memoria el operando de la instrucción.
  • 9. ...fase de ejecución: 7. Lanzar un ciclo de lectura de memoria que ponga en RM el operando almacenado en la dirección indicada por RD. 8. Transferencia del dato leído desde el RM al registro intermedio ,Ro2, del Operador. Paralelamente se puede transferir el otro operando desde el acumulador, AC, (contenido en él un instante anterior), al registro intermedio Ro1. Realizar la operación de SUMA (ADD) y almacenar el resultado en el AC. 9.
  • 10. modos de direccionamiento. Consiste en determinar la forma en la que se va ha leer o escribir un dato. Modos de direccionamiento INMEDIATO; el dato está en la propia instrucción ( ejemplo: SUMA 7, 3), en el ejemplo los dos son datos, el resultado es 10. DIRECTO; en la instrucción está contenida la dirección de memoria donde se encuentra el dato (ejemplo: SUMA 7, 01) , 7 es un dato, 01 es una dirección de memoria donde se encuentra el dato. En la dirección de memoria 01 está contenido el dato, 3; el resultado es: [7 + (01=3)] = 10. d i r e c c i ó n m e m o r i a 0 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 1 0 1 1 1 2 1 3 3 0 6 2 4 Nota: no se pueden mezclar dos datos con direccionamiento directo, es decir: directo-directo.
  • 11. modos de direccionamiento. RELATIVO A REGISTRO; aclarar primero que existen varios tipos de registros. Registro de instrucción RI Registro de memoria RM Registro de direcciones RD Contador de programa CP (Ejemplo: SUMA 3+CP, 1), en este caso el direccionamiento es relativo a registro Contador de Programa. 4 CP; 3+4=(dirección de memoria) 07. Si 1 en la instrucción es dato el resultado es: 4+1= 5. Como hemos observado, la dirección en la que se encuentra el dato se tiene que calcular. La dirección del puntero + el desplazamiento indicado en la propia instrucción Nos lleva al dato.
  • 12. modos de direccionamiento. INDEXADO o direccionamiento a Registro Base. Un registro índice contiene una dirección de referencia que actúa como puntero: se emplea para recorrer estructuras de datos tipo vector o tabla. Su valor se modifica con frecuencia. INDIRECTO; la instrucción contiene una dirección de memoria que lleva a otra dirección de memoria en la que se encuentra el dato. (ejemplo: 04, 3), en 04 se encuentra 06 y en 06 está el dato: 2. El resultado es 2+3= 5.
  • 13. Elementos principales de la Unidad de Control El CP es un registro que contiene la dirección de la siguiente instrucción que hay que ejecutar. El RI es un registro que contiene la instrucción que se está ejecutando en cada momento. El decodificador se encarga de examinar el código de operación de la instrucción que se encuentra en el registro de instrucción para determinar que es lo que hay que hacer. El secuenciador ordena que se realicen las operaciones necesarias para ejecutar la instrucción cuyo código de operación ha examinado el decodificador.
  • 14. formatos de instrucción tienen varios formatos. I I I C .O . C .O . C .O . O P . 1 O P . 1 O P .2 M D . C R . D 1 6 b i t s Código de Operación Operando 1 dato Método de direccionamiento Campo de registro Tipo de registro Desplazamiento, dirección o dato Ejemplo: Relativo a R. base R.I. (registro de instrucción) Operando 2
  • 15. Un programa suele estar dividido en dos partes o zonas; una zona para código y otra para datos. Como ya hemos estudiado, una instrucción puede contener el dato propiamente dicho o una dirección de memoria que nos lleve al dato. Instr. ≡ [ etiqueta: ] Cod. Op. [ operandos ] [ ; comentario ] Ejemplo: GUARDAR: SUMA 7,3 ; esto es una suma Para poder trabajar con una CPU determinada, lo primero que debemos conocer es la longitud de palabra de sus registros. Una CPU de 32 bits dispone de los siguientes registros: Datos; D0, ..........................., D7. Direcciones; A0, ........................., A6. Los anteriores son registros de acceso a memoria.
  • 16. Otros registros son:  CP contador de programa, SR registro de estado, SP puntero de pila, ................. M o d e l o f u n c i o n a l d e l s i s t e m a . C o m p u t a d o r b a s a d o e n e l m i c r o p r o c e s a d o r M 6 8 0 0 0 d e M o t o r o l a . R e g i s t r o s d e D a t o s R e g i s t r o s d e D i r e c c i o n e s R e g i s t r o s d e c o n t r o l C P S R S P ( A 7 ) P R O C E S A D O R 0 1 F F E F F F M E M O R I A D 0 D 1 D 2 D 3 D 4 D 5 D 6 D 7 A 0 A 1 A 2 A 3 A 4 A 5 A 6 P U E R T O S D E E N T R A D A / S A L I D A F F F 0 0 0 F F F 0 0 2 F F F 0 0 4
  • 17. formatos de palabra. 3 2 b i ts 1 6 b i t s 8 b i t s F o r m a t o s d e p a l a b r a . (+) (-) 01 02 03 04 05 Byte más significativo Byte menos significativo 8 bits byte (B) palabra (W) palabra larga (L) Si trabajamos con registros de 16 bits y deseamos mover datos con una longitud de palabra de 32 bits, tendremos que recurrir a posiciones de memoria contiguas:
  • 18. Código de Operación: Código de Operación:   CÓD. OP. | para formato de 32 bits: L | Sintaxis: [Cód. Op.].[L] | para formato de 16 bits: W | | para formato de 8 bits: B |   Ejemplo: instrucción que permite realizar una suma: ADD.W D0, D1   modificadores: algunos modificadores empleados en instrucciones son:   % binario $ hexadecimal # direccionamiento inmediato   Ejemplo: MOVE.B #10, D1
  • 19. Representación de la información En la representación conceptual de una memoria se tiende a emplear notación hexadecimal, que es más fácil de leer y simplifica muchísimo la representación de la información. A pesar de todo, esta forma de escribir las órdenes de un computador resulta también algo engorroso para el programador, por lo que se emplean códigos nemotécnicos que ayudan a comprender el significado de cada combinación hexadecimal. El lenguaje máquina está íntimamente ligado a la construcción interna del computador. Los programas escritos en lenguaje máquina sólo son transportables a otras máquinas de idénticas características.
  • 20. P O S I C I Ó N D E M E M O R I A 0 1 2 3 4 5 6 7 D I R E C C I Ó N D E n - b i t s C O N T E N I D O D E M E M O R I A 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 0 1 1 0 0 0 1 0 1 1 0 0 0 0 0 1 1 1 1 0 1 1 1 0 0 0 0 0 0 1 1 0 D I R E C C I Ó N E N H E X A D E C I M A L C O N T E N I D O E N H E X A D E C I M A L 0 H 1 H 2 H 3 H 4 H 5 H 6 H 7 H 6 H 2 H C H 1 H E H E H 0 H 6 H L a H e s u n s u f i jo q u e i n d ic a n o t a c ió n h e x a d e c i m a l. R e p r e s e n t a c ió n e n B i n a r io R e p r e s e n t a c ió n e n H e x a d e c i m a l ejemplo de representación de la información representación de la información
  • 21. representación de la información  La representación en hexadecimal se hace con agrupaciones de 4-bits. Los números en hexadecimal se escriben con el sufijo H (mayúscula o minúscula) para indicar el sistema de numeración. Ej: 6E8.58H 0110 1110 1000 . 0101 1000 6 E 8 5 8 A29.C4H 1010 0010 1001 . 1100 0100 A 2 9 C 4 Esta representación sólo sería válida para registros de 4-bits.
  • 22. Hay que tener presente que en un sistema basado en microprocesador es habitual registros de 8, 16 y 32 bits. Por ejemplo: si el registro A de 8-bits contiene la siguiente secuencia, 1011 0011, se escribiría así; B3H. O una dirección de 16-bits sería como sigue: 0000 0100 0001 1101, en hexadecimal 041DH. Ejemplos con nemotécnicos: Instrucción MOVE.L D0, D1 Tipo de instrucción: transferencia entre registros.Carga el contenido del registro D0 en el registro D1. Ambos son de 32 bits por lo que supone el intercambio entre ellos de una palabra larga. Código: Binario Hexadecimal Nemotécnico Descripción 0010001000000000 2200 MOVE.L D0, D1 (D0) → (D1)
  • 23. Instrucción NOP Tipo de instrucción: miscelánea. Su misión es no realizar ninguna operación. Su único efecto es provocar un pequeño retardo temporal ya que obliga a mantener funcionando el bucle de ejecución de instrucciones. Código: Binario Hexadecimal Nemotécnico Descripción 0100111001110001 4E71 NOP No operación
  • 24. Para buscar la instrucción que se debe ejecutar a continuación, la unidad de control mantiene actualizado un registro de propósito especial o dedicado, el Contador de Programa, CP. El contador de programa es un registro de operación que siempre mantiene la dirección de la próxima instrucción a ejecutar. Cuando el procesador es inicializado la unidad de control coloca el contador de programa a cero. La dirección contenida en el contador de programa se coloca en el bus de direcciones. Para ello, la unidad de control transfiere el contenido del CP al registro de dirección, RD. el Contador de Programa
  • 25. Interconexión con los buses y la memoria. El dato se transfiere al procesador a través del bus de datos y el registro de instrucción, RI. M E M O R I A B . D ir e c c io n e s B . D a t o s B . C o n t r o l D i r e c c i ó n L e c t u r a / e s c r i t u r a R / W D a t o s
  • 26. Interconexión con los buses: arquitectura de bus interno. B U S I N T E R N O C O N T A D O R D E P R O G R A M A P U N T E R O D E P I L A R E G I S T R O T E M P O R A L B C D E H L R E G I S T R O S D E P R O P Ó S I T O G E N E R A L . R E G I S T R O D E D I R E C C I O N E S B U S D E D I R E C C I O N E S D E L S I S T E M A La primera palabra de una instrucción es el código de operación para dicha instrucción. El código de operación indica a la unidad de control las operaciones requeridas para ejecutar la instrucción. Todos estos son registros internos, ubicados en el interior de la propia CPU.
  • 27. Durante una operación normal, el procesador busca secuencialmente y ejecuta una instrucción tras otra, hasta que se procesa una instrucción (HALT) de paro. La búsqueda y ejecución de una instrucción constituye el ciclo de instrucción, que representa a su vez una o más operaciones de acceso a memoria o a dispositivos de E/S. Cada acceso a memoria requiere un ciclo máquina. Ciclo máquina.
  • 28. Hay, por ejemplo, siete tipos diferentes de ciclo máquina en el 8085. • búsqueda de Cod. Op. • lectura de MEMORIA • escritura a MEMORIA • lectura de E/S • escritura a E/S • respuesta a interrupción • bus inactivo.
  • 29. 1 2 3 BÚSQUEDA EJECUCIÓN PARO INSTRUCCIÓN E N PROCES O EJECUCIÓ N DE UNA INST RUCC IÓN COM PLETA INSTRUCCIÓNHALT REPOSICIÓN REPOSICIÓN Ciclos de máquina de un computador Representación del ciclo máquina.
  • 30. El repertorio de instrucciones  Todo computador posee un repertorio de instrucciones que es capaz de ejecutar, constituyendo este, lo que se conoce como “lenguaje máquina del computador”.  Estas instrucciones se encuentran codificadas de acuerdo a un formato específico del computador, y constituyen una opción más del diseño del mismo.  En general, el algoritmo de solución de cualquier problema consiste en varios pasos que deben realizarse en una secuencia específica. Para implantar tal algoritmo en un computador, estos pasos se descomponen en pasos más pequeños, cada uno de los cuales representa una instrucción del computador. La secuencia de instrucciones resultante es un programa en lenguaje máquina, que representa al algoritmo en cuestión.
  • 31. Cada instrucción máquina del computador se ejecuta realizando una secuencia de operaciones elementales más rudimentarias. A su vez, cada operación elemental requiere la activación de un conjunto de señales de control por parte del secuenciador de la Unidad de Control. La activación de dichas señales se efectúa a “golpe” de reloj.
  • 32. • Unidad de control   La misión fundamental de esta unidad se centra en recoger las instrucciones que componen un programa, interpretarlas y controlar su ejecución. Dado que las instrucciones se encuentran almacenadas en la unidad de memoria, deberá encargarse en primer lugar de recibirlas en el orden establecido. En segundo lugar, deberá identificar de qué instrucción se trata en cada caso. Por último, tendrá que generar la secuencia adecuada de órdenes para el resto de elementos que constituyen el computador, de manera que cada instrucción se ejecute correctamente.
  • 33. BC BA BD CP RI Busde control Busde direcciones Busde datos Registro de estado Secuenciad or Dec odificador Seña les de control ICP CCPBA CRIB D SBR E ....... SBR S OP CAC CRM M ....... .. Reloj ICP CCPB A CRI BD C IRCU ITO DE C ONTR OL Con tador de Programa Registro de Instruc ción Estructura funcional de la Unidad de Control