martes, 29 de noviembre de 2011

MICROPROGRAMACION

La microprogramación consiste en un conjunto de microinstrucciones, para poder ejecutar líneas de código y operaciones.
La microprogramación es un lenguaje de programación a un nivel muy bajo sin llegar al nivel mas bajo (que es donde las operaciones se realizan con números binarios)
Para poder realizar la microprogramación, se deben conocer muy bien los registros del procesador en el que se va a trabajar, ya que en este lenguaje se interactúa muy de cerca con ellos.
También es importante conocer las instrucciones del mismo para poder usar algunas de ellas que simplifiquen las instrucciones, todo esto con las microinstrucciones que se usen por default para la programación
Un ejemplo de microprogramación seria la siguiente línea
MOV AX,0000000100000000b
PUSH AX
POPF
Esta instrucción pretende modificar un registro de bandera (If) con un valor de 1, estas microinstrucciones juntas en un lenguaje de alto nivel podrían significar algo como "If b = a", como se ve codificar en microprogramación es un poco mas laborioso, la ventaja de este lenguaje como en la mayoría de los lenguajes de bajo nivel, es la precisión de los datos, ya que en todo momento se sabe donde están los datos, y en que posición se encuentran los registros.
Como otro ejemplo se mostrara una rutina de microinstrucciones que representa una búsqueda
AR ß PC
DR ß M[AR]
PC ßPC+1
AR ß DR(0-10)
CAR(2-5) ß DR(11-14)
CAR(0,1,6) ß 0
Se muestran a continuación una tabla con instrucciones de microprogramación
F1
Microoperacion
Símbolo
000
Ninguno
NOP
001
AC ß AC + DR
ADD
010
AC ß 0
CLRAC
011
AC ßAC+1
INCAC
100
AC ß DR
DRTAC
101
AR ß DR(0-10)
DRTAR
110
AR ß PC
PCTAR
111
M[AR] ß DR
WRITE

F2
Microoperacion
Símbolo
000
Ninguno
NOP
001
AC ß AC -DR
SUB
010
AC ß AC < DR
OR
011
AC ß AC > DR
AND
100
DR ß M[AR]
READ
101
DR ß AC
ACTDR
110
DR ß DR + 1
INCDR
111
DR(0-10) ß PC
PCTDR

F3
Microoperacion
Símbolo
000
Ninguno
NOP
001
AC ß AC Å DR
XOR
010
AC ß AC
COM
011
AC ß shl AC
SHL
100
AC ß shr AC
SHR
101
PC ß PC +1
INCPC
110
PC ß AR
ARTPC
111

Reservado

CD
Condición
Símbolo
Comentario
00
Siempre = 1
U
Transferencia incondicional
01
DR(15)
I
Bit de dirección indirecta
10
AC(15)
S
Bit se digno de AC
11
AC = 0
Z
Valor cero en AC

BR
Símbolo
Función
00
JMP
CAR ß AD si la condición =0
01
CALL
CAR ß AD, SBR ß CAR +1 si la condición = 1
10
RET
CAR ß SBR (Retorno de subrutina)
11
MAP
CAR(2-5) ß DR (11-14), CAR(0,1,6)ß 0



No hay comentarios:

Publicar un comentario