Implementación Microprogramada de Suma y Resta de Punto Flotante
Clasificado en Informática
Escrito el en
español con un tamaño de 7,65 KB
MICROPROGRAMADO
Secuencia de Microoperaciones (FETCH y SRPF)
A continuación, se detalla la secuencia de microoperaciones para la ejecución de la instrucción de Suma/Resta de Punto Flotante (SRPF), incluyendo la fase de FETCH. Las operaciones se definen por la Dirección, la Microoperación ejecutada, los Bits-LCB de control y la Dirección de Salto.
| Dirección | Microoperación | Bits-LCB | Dirección de Salto |
|---|---|---|---|
| ADDR(FETCH) | PC → MAR | 0000 | ------------ |
| +1 | M → GRP; PC+1 → PC | 0000 | ------------ |
| +2 | GPR(OP) → OPR | 1111 | ----------- |
| ADDR(SRPF) | 0011 | ADDR(FETCH) | |
| +1 | 0100 | SRPF + 5 | |
| +2 | AC ← BR | 0001 | +3 |
| +3 | 0101 | FETCH+4 | |
| +4 | AS ← AS | 0010 | FETCH+5 |
| +5 | 0110 | SRPF+9 | |
| +6 | 0111 | SRPF+8 | |
| +7 | shr A; a ← a+1 | 0010 | SRPF+5 |
| +8 | shr B; b ← b+1 | 0010 | SRPF+5 |
| +9 | 1000 | SRPF+13 | |
| +10 | EA ← A + B | 0001 | |
| +11 | 1001 | FETCH+12 | |
| +12 | shr A; A1 ← E; a ← a+1 | 0010 | FETCH+13 |
| +13 | EA ← A + B'+1 | 0010 | +14 |
| +14 | 1010 | SRPF+8 | |
| +15 | A ← A'+1; As ← As' | 0001 | |
| +16 | 1100 | FETCH | |
| +17 | shl A; a ← a-1 | 0010 | SRPF+16 |
| +18 | 1011 | SRPF+16 | |
| +19 | AC ← 0 | 0010 | FETCH |
Matriz de Control Lógico y Señales de Salto
Esta matriz define las señales de control de salida (I, B, R) en función de las entradas de estado (S3-S0) y los indicadores de registro o banderas de condición (Zb, Zac, OP, RS, a, b, E, A, A1).
| Estado (S) | Banderas/Registros de Condición | Salidas de Control | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| S3 | S2 | S1 | S0 | Zb | Zac | OP | RS | a | b | E | A | A1 | I | B | R |
| 0 | 0 | 0 | 1 | 1 | 0 | 0 | |||||||||
| 0 | 0 | 1 | 0 | 0 | 1 | 0 | |||||||||
| 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0 | ||||||||
| 0 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | ||||||||
| 0 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | ||||||||
| 0 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | ||||||||
| 0 | 1 | 0 | 1 | 0 | 0 | 1 | 0 | ||||||||
| 0 | 1 | 0 | 1 | 1 | 1 | 0 | 0 | ||||||||
| 0 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | |||||||
| 0 | 1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | |||||||
| 0 | 1 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | |||||||
| 0 | 1 | 1 | 0 | 1 | 1 | 0 | 1 | 0 | |||||||
| 0 | 1 | 1 | 1 | 0 | 1 | 0 | 0 | ||||||||
| 0 | 1 | 1 | 1 | 1 | 0 | 1 | 0 | ||||||||
| 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | |||||||
| 1 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | |||||||
| 1 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | |||||||
| 1 | 0 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | |||||||
| 1 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | ||||||||
| 1 | 0 | 0 | 1 | 1 | 1 | 0 | 0 | ||||||||
| 1 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | ||||||||
| 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | ||||||||
| 1 | 0 | 1 | 1 | 1 | 0 | 0 | |||||||||
| 1 | 0 | 1 | 1 | 0 | 1 | 0 | |||||||||
| 1 | 1 | 0 | 0 | 1 | 0 | 0 | |||||||||
| 1 | 1 | 0 | 0 | 0 | 1 | 0 | |||||||||
| 1 | 1 | 0 | 1 | 0 | 0 | 1 | |||||||||