DECODE (Decodificación)
La fase de decodificación consiste en que la CPU entienda qué significa en realidad la instrucción y, por lo tanto, qué operaciones se deben llevar a cabo para ejecutarla.
Vamos con nuestro caso concreto. La instrucción que se debe ejecutar es 2CA. Lo primero que hay que pensar es que los ordenadores solo entienden de ceros y unos. Por lo tanto, pasemos el código de esa instrucción a binario. Si lo hacemos con los métodos estudiados en clase tendremos:
|
Hexadecimal |
2 |
C |
A |
|
Decimal |
2 |
12 |
10 |
|
Binario |
0010 |
1100 |
1010 |
Así que en realidad la instrucción 2CA => 001011001010
La CPU tiene una “chuleta” con todas las instrucciones que es capaz de ejecutar. Una CPU no puede hacer cualquier cosa sino únicamente sabe ejecutar las instrucciones que conoce y tiene en esa “chuleta”. Al conjunto de instrucciones que una CPU es capaz de ejecutar se le llama juego de instrucciones.

Pues un trocito de la lista de instrucciones que puede ejecutar la CPU tendría, conceptualmente, una pinta parecida a esto:
|
Código de instrucción HEX |
Código de instrucción BINARIO |
¿Qué hacer? |
|
… |
… |
… |
|
… |
… |
… |
|
1B6 |
000110110110 |
Sumar el registro A con el registro B y dejar el resultado en A. |
|
2CA |
001011001010 |
Cargar el registro A con el valor 10 |
|
3CD |
001111001110 |
Cargar el registro B con el valor 5 |
|
… |
… |
… |
Así que la CPU recibe el código de la instrucción en el registro de instrucción y comprueba en la tabla qué es lo que debe hacer con ese código.
Y ya tenemos la instrucción descodificada. Segunda fase finiquitada. Ahora solo falta ejecutar lo que dice la instrucción.
