Ciclos De Captacion Y Ejecucion

  • Uploaded by: Barbara Briceño
  • 0
  • 0
  • February 2021
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Ciclos De Captacion Y Ejecucion as PDF for free.

More details

  • Words: 2,430
  • Pages: 35
Loading documents preview...
Asignatura Arquitectura de Computadores I

Ing. Bárbara Briceño

EJECUCIÓN DE INSTRUCCIONES

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.

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. Reloj 1

2

3

4

5

6

7

8

9

BÚSQUEDA Decodificación

Lectura de Operandos

Operación

Representación de las fases de una instrucción en función del reloj del sistema.

10

Fase de Búsqueda: (1) 1.

Transferir el contenido del Contador de Programa (CP) al registro de Direcciones (RD).

2.

Pasar a registro de Memoria (RM) el dato almacenado en la dirección de memoria indicada por RD.

3.

Transferir el dato leído desde el RM al registro de instrucción (RI).

4.

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 BU S D E DAT O S

D IRECCIÓN 1 2

CARGAR ACUM . 45

3

SUMAR

4

21

5

GUARDAR

6

8

7

ST OP

CON TAD OR D E PROGRAMA

D ECOD IFICAD OR D E IN ST RU CCIO N ES

BU S D E D IRECCION ES

C.P.U .

8 9

REGIST RO D E IN ST RU CCION ES

RELOJ Y SEÑALES D E CON T ROL

66 (RESU LTAD O )

CO NT ROL M EM ORIA REGISTRO ACU M U LAD OR ALU

ALU

Fase de Búsqueda: (2)

Registro de Direcciones

1º Incremento

CP:



MEMORIA

Dirección de memoria

3F8h

Registro Contador de Programa

Registro de Instrucciones

Dato o instrucción

1001101

RI



RD

1001101

Dato o instrucción





Decodificación ...

RM:

1001101

Registro de Memoria

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)

Instrucción CO

ADDn

Código de operación.

6.

OP 1

MD

CR

Operando 1

CD

OP 2:

MD

Modo de direccionamiento

CR

CD

Campo de registro Campo de dirección: desplazamiento o dato

Parte de la instrucción (operando 2)

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.

9.

Realizar la operación de SUMA (ADD) y almacenar el resultado en el AC.

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.

dirección memoria

01 02 03 04

06

05 06

2

07

4

08 09

Nota: no se pueden mezclar dos datos con direccionamiento directo, es decir: directo-directo.

3

10 11 12 13

modos de direccionamiento. RELATIVO A REGISTRO; aclarar primero que existen varios tipos de registros. Registro de instrucción Registro de memoria Registro de direcciones Contador de programa

RI RM RD 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. 16 bits

I C.O.

Código de Operación

Operando 1

I C.O.

OP. 1

I C.O.

OP. 1

dato

OP.2 Campo de registro

MD.

Ejemplo:

Relativo a R. base

D

CR.

Método de direccionamiento

Tipo de registro

R.I. (registro de instrucción)

Desplazamiento, dirección o dato

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,

................. Modelo funcional del sistema. Computador basado en el microprocesador M68000 de Motorola. MEMORIA

0 1

FFEFFF

PROCESADOR Registros de Datos D0 D1 D2 D3 D4 D5 D6 D7

PUERTOS DE ENTRADA/SALIDA FFF000 FFF002

Registros de Direcciones A0 A1 A2 A3 A4 A5 A6

Registros de control CP SR

SP (A7)

FFF004

formatos de palabra. 16 bits (+)

(-)

Formatos de palabra. 32 bits 8 bits

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: 8 bits

01 palabra larga (L)

02 03 04 05

Byte más significativo

byte (B)

Byte menos significativo

palabra (W)

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.

representación de la información ejemplo de representación de la información

Representación en Binario POSICIÓN DE MEMORIA

0 1 2 3 4 5 6 7

DIRECCIÓN DE n-bits

000 001 010 011 100 101 110 111

CONTENIDO DE MEMORIA

0 0 1 0 1 1 0 0

1 0 1 0 1 1 0 1

1 1 0 0 1 1 0 1

0 0 0 1 0 0 0 0

Representación en Hexadecimal DIRECCIÓN EN HEXADECIMAL

0H 1H 2H 3H 4H 5H 6H 7H

CONTENIDO EN HEXADECIMAL

6H 2H CH 1H EH EH 0H 6H

La H es un sufijo que indica notación hexadecimal.

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 6

1110 E

1000 8

. 0101 5

1000 8

1001 9

. 1100 C

0100 4

A29.C4H 1010 A

0010 2

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 0010001000000000

Hexadecimal 2200

Nemotécnico MOVE.L D0, D1

Descripción (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 0100111001110001

Hexadecimal 4E71

Nemotécnico NOP

Descripción No operación

el Contador de Programa 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.

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. B. Direcciones B. Datos B. Control

Datos

Dirección

MEMORIA

Lectura / escritura R/W

Interconexión con los buses: arquitectura de bus interno. 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. CONTADOR DE PROGRAMA

PUNTERO DE PILA

BUS INTERNO

REGISTRO DE DIRECCIONES

REGISTRO TEMPORAL

B

C

D

E

H

L

Todos estos son registros internos, ubicados en el interior de la propia CPU.

REGISTROS DE PROPÓSITO GENERAL.

BUS DE DIRECCIONES DEL SISTEMA

Ciclo máquina.

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.

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.

INSTRUCCIÓN E N PROCES O

2

1 Representación del ciclo máquina.

BÚSQUEDA

EJECUCIÓN

IÓ N SI C PO RE

IN S

TR U

CC I ÓN

HA LT

EJECUCIÓ N DE UNA INST RUCC IÓN COM PLETA

PARO

3

REPOSICI ÓN

Ciclos de máquina de un computador

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.

Bus de contr ol

BC

Bus de direc cione s

BA Seña les de control

ICP CCP BA CRIB D SBR E ..... ..

SBR S OP CAC CRM M ....... ..

ICP

Relo j

CP

CCPB A

Con tador de Programa

Secuenciad or

Dec odificador

C IRCU ITO DE C ONTR OL

Regis tro de estado CRI BD

RI

Registro de Instruc ción

Bus de datos BD Estru ctura funcional de la Unidad de Control

Related Documents

Estructuras De Captacion
February 2021 0
Ejecucion De Garantias
March 2021 0
Ejecucion Forzosa
February 2021 0

More Documents from "Maricielo Saba Calle Cisneros"