Академический Документы
Профессиональный Документы
Культура Документы
La funcin bsica que realiza un computador es la ejecucin 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.
EJECUCIN DE INSTRUCCIONES(2)
La secuencia de operaciones realizadas en la ejecucin de una instruccin constituye lo que se denomina ciclo de instruccin. Lo ms cmodo es considerar que el procesamiento del ciclo de instruccin consta de dos fases:
a) b) Fase de Bsqueda Fase de Ejecucin
EJECUCIN DE INSTRUCCIONES(3)
La culminacin de cada una de estas fases necesita de uno a seis ciclos de reloj.
Reloj 1 2 3 4 5 6 7 8 9 10
BSQUEDA Decodificacin
Lectura de Operandos
Operacin
Representacin de las fases de una instruccin en funcin del reloj del sistema.
3.
4.
REGIST RO D E IN ST RU CCION ES
BU S D E D IRECCION ES
ALU
Registro de Direcciones
Direccin de memoria
MEMORIA
CP:
3F8h
Registro de Instrucciones
RI
Dato o instruccin
1001101
RD
Dato o instruccin
1001101 3
RM:
1001101
Registro de Memoria
Decodificacin ...
ADD.
Instruccin CO ADDn OP 1 MD CR CD OP 2: MD CR CD
Cdigo de operacin.
Operando 1
Modo de direccionamiento
6.
Transferencia del campo CD de la instruccin en curso ( este campo contiene la direccin de memoria en la que se encuentra el operando, y que se encuentra en el registro RI desde que finaliz la fase de bsqueda), al registro RD. Se inicia, por tanto, un proceso similar al de la fase de bsqueda, pero en esta ocasin para buscar en memoria el operando de la instruccin.
...fase de ejecucin:
7. Lanzar un ciclo de lectura de memoria que ponga en RM el operando almacenado en la direccin indicada por RD. Transferencia del dato ledo 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 operacin de SUMA (ADD) y almacenar el resultado en el AC. 8.
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 instruccin ( ejemplo: SUMA 7, 3), en el ejemplo los dos son datos, el resultado es 10. DIRECTO; en la instruccin est contenida la direccin de memoria donde se encuentra el dato (ejemplo: SUMA 7, 01) , 7 es un dato, 01 es una direccin de memoria donde se encuentra el dato. En la direccin de memoria 01 est contenido el dato, 3; el resultado es: [7 + (01=3)] = 10.
Nota: no se pueden mezclar dos datos con direccionamiento directo, es decir: directo-directo.
direccin memoria
01 02 03 04 05 06 07 08 09 10 11 12 13
06 2 4
modos de direccionamiento.
RELATIVO A REGISTRO; aclarar primero que existen varios tipos de registros. Registro de instruccin 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=(direccin de memoria) 07. Si 1 en la instruccin es dato el resultado es: 4+1= 5.
Como hemos observado, la direccin en la que se encuentra el dato se tiene que calcular. La direccin del puntero + el desplazamiento indicado en la propia instruccin Nos lleva al dato.
modos de direccionamiento.
INDEXADO o direccionamiento a Registro Base. Un registro ndice contiene una direccin de referencia que acta como puntero: se emplea para recorrer estructuras de datos tipo vector o tabla. Su valor se modifica con frecuencia.
INDIRECTO; la instruccin contiene una direccin de memoria que lleva a otra direccin 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.
formatos de instruccin
tienen varios formatos.
16 bits
Cdigo de Operacin
Operando 1
OP. 1 OP. 1
dato
OP.2
Campo de registro
MD.
CR.
D
Tipo de registro Desplazamiento, direccin o dato
Mtodo de direccionamiento
Ejemplo:
Relativo a R. base
R.I.
(registro de instruccin)
Operando 2
Un programa suele estar dividido en dos partes o zonas; una zona para cdigo y otra para datos. Como ya hemos estudiado, una instruccin puede contener el dato propiamente dicho o una direccin de memoria que nos lleve al dato.
Instr. [ etiqueta: ] Cod. Op. [ operandos ] [ ; comentario ]
Ejemplo:
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.
.................
Modelo funcional del sistema. Computador basado en el microprocesador M68000 de Motorola.
MEMORIA Registros de Datos D0 D1 D2 D3 D4 D5 D6 D7 PROCESADOR Registros de Direcciones A0 A1 A2 A3 A4 A5 A6 Registros de control CP SR
0 1
SP (A7)
FFEFFF
FFF004
formatos de palabra.
16 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
Byte ms significativo
byte (B)
02
03 04 05
palabra (W)
Cdigo de Operacin:
Cdigo de Operacin: CD. OP. | para formato de 32 bits: L | Sintaxis: [Cd. Op.].[L] | para formato de 16 bits: W | | para formato de 8 bits: B |
Ejemplo: instruccin que permite realizar una suma: ADD.W D0, D1 modificadores:
algunos modificadores empleados en instrucciones son:
Representacin de la informacin
En la representacin conceptual de una memoria se tiende a emplear notacin hexadecimal, que es ms fcil de leer y simplifica muchsimo la representacin de la informacin. A pesar de todo, esta forma de escribir las rdenes de un computador resulta tambin algo engorroso para el programador, por lo que se emplean cdigos nemotcnicos que ayudan a comprender el significado de cada combinacin hexadecimal. El lenguaje mquina est ntimamente ligado a la construccin interna del computador. Los programas escritos en lenguaje mquina slo son transportables a otras mquinas de idnticas caractersticas.
representacin de la informacin
ejemplo de representacin de la informacin
Representacin en Binario
POSICIN DE MEMORIA DIRECCIN DE n-bits CONTENIDO DE MEMORIA
Representacin en Hexadecimal
DIRECCIN EN HEXADECIMAL CONTENIDO EN HEXADECIMAL
0 1 2 3 4 5 6 7
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
0H 1H 2H 3H 4H 5H 6H 7H
6H 2H CH 1H EH EH 0H 6H
representacin de la informacin
La representacin en hexadecimal se hace con agrupaciones de 4-bits. Los nmeros en hexadecimal se escriben con el sufijo H (mayscula o minscula) para indicar el sistema de numeracin.
Ej: 6E8.58H 0110 6 1110 E 1000 8 . 0101 5 1000 8
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 escribira as; B3H. O una direccin de 16-bits sera como sigue: 0000 0100 0001 1101, en hexadecimal 041DH.
Ejemplos con nemotcnicos:
Instruccin MOVE.L D0, D1 Tipo de instruccin: 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. Cdigo: Binario 0010001000000000
Hexadecimal 2200
Instruccin NOP Tipo de instruccin: miscelnea. Su misin es no realizar ninguna operacin. Su nico efecto es provocar un pequeo retardo temporal ya que obliga a mantener funcionando el bucle de ejecucin de instrucciones. Cdigo: Binario 0100111001110001 Hexadecimal 4E71 Nemotcnico NOP Descripcin No operacin
el Contador de Programa
Para buscar la instruccin que se debe ejecutar a continuacin, la unidad de control mantiene actualizado un registro de propsito especial o dedicado, el Contador de Programa, CP. El contador de programa es un registro de operacin que siempre mantiene la direccin de la prxima instruccin a ejecutar.
Cuando el procesador es inicializado la unidad de control coloca el contador de programa a cero. La direccin 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 direccin, RD.
Datos
Direccin
MEMORIA
C N D R EPR G A A O TA O D O R M
PU TER D PI A N O E L
BU I TERN SN O
R STR D EG I O E D EC I N I R C ES O
B D D D S
R STR TEM R L EG I O PO A
B D H
C E L
Ciclo mquina.
Durante una operacin normal, el procesador busca secuencialmente y ejecuta una instruccin tras otra, hasta que se procesa una instruccin (HALT) de paro. La bsqueda y ejecucin de una instruccin constituye el ciclo de instruccin, que representa a su vez una o ms operaciones de acceso a memoria o a dispositivos de E/S. Cada acceso a memoria requiere un ciclo mquina.
Hay, por ejemplo, siete tipos diferentes de ciclo mquina en el 8085. bsqueda de Cod. Op. lectura de MEMORIA escritura a MEMORIA lectura de E/S escritura a E/S respuesta a interrupcin bus inactivo.
INSTRUCCIN E N PROCES O
1
BSQUEDA
2
EJECUCIN
PARO
REPOSICI N
IN S
TR U
CC I N
HA LT
I N SI C PO RE
El repertorio de instrucciones
Todo computador posee un repertorio de instrucciones que es capaz de ejecutar, constituyendo este, lo que se conoce como lenguaje mquina del computador. Estas instrucciones se encuentran codificadas de acuerdo a un formato especfico del computador, y constituyen una opcin ms del diseo del mismo. En general, el algoritmo de solucin de cualquier problema consiste en varios pasos que deben realizarse en una secuencia especfica. Para implantar tal algoritmo en un computador, estos pasos se descomponen en pasos ms pequeos, cada uno de los cuales representa una instruccin del computador. La secuencia de instrucciones resultante es un programa en lenguaje mquina, que representa al algoritmo en cuestin.
Cada instruccin mquina del computador se ejecuta realizando una secuencia de operaciones elementales ms rudimentarias. A su vez, cada operacin elemental requiere la activacin de un conjunto de seales de control por parte del secuenciador de la Unidad de Control. La activacin de dichas seales se efecta a golpe de reloj.
Unidad de control
La misin fundamental de esta unidad se centra en recoger las instrucciones que componen un programa, interpretarlas y controlar su ejecucin. 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 instruccin 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 instruccin se ejecute correctamente.
BC BA
Sea les de control
ICP CCP BA CRIB D SBR E .... .. . SBR S OP CAC CRM M ....... ..
Relo j
Secuenciad or
ICP
CP
Con tador de Programa
CCPB A
Dec odificador
RI