Beruflich Dokumente
Kultur Dokumente
Considere una instruccin de (k+n) bits con un cdigo de operacin de k bits y una sola direccin de n bits. Esta instruccin permite 2k operaciones distintas y 2n direcciones distintas. Los mismos (k+n) pueden dividirse en un cdigo de operacin de (k-1) bits y una direccin de (n+1)bits, lo que implica la mitad de las operaciones y el doble de direcciones de memoria. Es posible establecer equilibrios entre los bits del cdigo de operacin y los bits de direcciones. Para ello se puede utilizar lo que se conoce como expansin o extensin de cdigos.
Ejemplo
Ejemplo
Si los diseadores necesitan: 15 instrucciones de 3 direcciones 14 instrucciones de 2 direcciones 31 instrucciones de 1 direccin 16 instrucciones de cero direcciones
Pueden usar los cdigos de operacin del O al 14 como instrucciones de tres direcciones pero interpretar el cdigo de operacin 15 de forma distinta
Ejemplo
15 instrucciones de 3 direcciones
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
1111 16
Ejemplo
14 instrucciones de dos direcciones
El cdigo 15 indica que el cdigo de operacin esta contenido realmente en los bits del 8 al 15, no en los bits 12 a 15. Los bits 0 a 3 corresponden a una direccin, y los bits 4 a 7 corresponden a la otra direccin. En las instrucciones de dos direcciones tendremos 1111 en los bits 12 a 15, y en el resto de los bits correspondientes al cdigo de operacin del 8 al 11tendremos las distintas combinaciones para nuevos cdigos de operacin.
1111 0000 1111 0001 1111 0010 1111 0011 1111 0100 1111 0101 1111 0110 1111 0111 1111 1000 1111 1001 1111 1010 1111 1011 1111 1100 1111 1101
1 2 3 4 5 6 7 8 9 10 11 12 13 14
Ejemplo
Las instrucciones que tienen 1111en los bits ms a la izquierda y 1110 y 1111en los bits 8 a 11 sern tratadas de forma distinta.
Ejemplo
31 instrucciones de una direccin
1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111
1110 1110 1110 1110 1110 1110 1110 1110 1110 1110 1110 1110 1110 1110 1110 1110
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
1111 1111 0000 17 1111 1111 0001 18 1111 1111 0010 19 1111 1111 0011 20 1111 1111 0100 21 1111 1111 0101 22 1111 1111 0110 23 1111 1111 0111 24 1111 1111 1000 25 1111 1111 1001 26 1111 1111 1010 27 1111 1111 1011 28 1111 1111 1100 29 1111 1111 1101 30 11111111 1110 31 1111 1111 1111
Ejemplo
Ejemplo
16 instrucciones de cero direcciones
El cdigo de operacin 1111 1111 1111 se interpreta como seal de que el cdigo de operacin esta en los bits 0 a 15, lo que da 16 instrucciones con cero direcciones.
1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111
1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111
1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Ejemplo
Los cdigos de operacin fueron creciendo. Las instrucciones de tres direcciones tienen un cdigo de operacin de 4 bits; las de dos direcciones tienen un cdigo de 8 bits, la de una direccin tienen un cdigo de 12 bits y las de cero tienen cdigos de 16 bits.
Preguntas
1. Como se divide las instrucciones? R: Cdigo de Operaciones y Direcciones 2. En que bits del cache se almacena los cdigos de operacin en el ejemplo de las 15 instrucciones de 3 direcciones R: En los bits del 12 al 15
3. Si tenemos 8 bits en cdigo de operacin. Cuantos direcciones tenemos y cuantos bits por direccin?
R: Tenemos 2 direcciones y 4 bits por direccion
Fuentes
http://ldc.usb.ve/~rgonzalez/2005abriljulio/ci3815/Lamina sClase/FormatodeInstrucciones.pdf TANENBAUM- Organizacin de Computadoras