¡Descarga radix4 multiplicacion y más Apuntes en PDF de Matemáticas solo en Docsity!
Diseñar un circuito controlador para realizar la multiplicación basada en el algoritmo de Booth Radix-2. El multiplicando se encuentra en R1, y el multiplicador en R2 del banco de registros del procesador de la Figura 1. El producto debe ser almacenado en R4 y R5. RTL- ASM ( 40 %) y prueba de escritorio: multiplicando = 11110001 y multiplicador = 00000101 ( 5 %). S0 – Cargar datos: Según el enunciado, tanto el multiplicando como el multiplicador ya están cargados. Se cargan los registros R4 y R5 donde van a quedar guardado el producto y el registro R6 y R7 que van a ser los registro auxiliar. R1 (M) MULTIPLICANDO R2 (Q) MULTIPLICADOR R4 (U) PRODUCTO PARTE BAJA R5 (V) PRODUCTO PARTE ALTA R6 (AUX) REGISTRO AUXILIAR R7 (AUX) REGISTRO AUXILIAR R4(PL) 0 ; R5(PH) 0 ; R6(AUX) 0 ; R7(AUX) 0
- RA 0; RB 0;
- RC RA + RB; ALU(01)
- R4 RC
- R5 RC
- R6 RC
- R7 RC Cnt # n S1 – HALLAR QLSB : I. HALLAR R2LSB HALLAMOS R2 LSB
- R6 SHR ( R2 , 0 )
- R6 SHL ( R6 , 1 )
- RA R2 ; RB R
- RC RA - RB ; C Cout SI C = 0 ENTONCES R2LSB 1 SI C = 1 ENTONCES R2LSB 0 S2 – SI C = 0 ; HALLAR QMSB : I. HALLAR R2MSB
S7 – SI C=0 ; Q SHR ( Q , 1 ):
I. R2(Q) SHR ( R2 (Q) , 1 )
1. R2 SHR ( R2 , 1 )
S8 – SI C=1 ; Q SHR ( Q , 0 ):
I. R2(Q) SHR ( R2 (Q) , 0 )
1. R2 SHR ( R2 , 0 )
S9 – HALLAR ULSB :
I. HALLAR R4LSB
HALLAMOS R4 LSB
1. R7 SHR ( R4 , 0 )
2. R7 SHL ( R7 , 1 )
3. RA R4 ; RB R
- RC RA - RB ; C Cout SI C = 0 ENTONCES R4LSB 1 SI C = 1 ENTONCES R4LSB 0 S10 – SI C= 0; V SHR ( V , 1 ) ; U ASHR ( U ): I. R5(V) SHR ( R5(V) , 1 ) II. R4(U) ASHR ( R4(U) ) Cnt Cnt - R5(V) SHR ( R5(V) , 1 )
- R5 SHR ( R5 , 1 ) R4(U) ASHR ( R4(U) )
- R4 ASHR ( R4 ) Si Cnt = 0 Ir al estado S Si Cnt = 1 Terminar
S11 – SI C= 1; V SHR ( V , 0 ) ; U ASHR ( U ):
I. R5(V) SHR ( R5(V) , 1 )
II. R4(U) ASHR ( R4(U) )
Cnt Cnt - R5(V) SHR ( R5(V) , 1 )
- R5 SHR ( R5 , 0 ) R4(U) ASHR ( R4(U) )
- R4 ASHR ( R4 ) Si Cnt = 0 Ir al estado S Si Cnt = 1 Terminar Prueba de escritorio (M) multiplicando = 11101011 (235) y (Q) multiplicador = 00111001 (57) MQ=13.* M C A Q Q 11101011 0 00000000 00111001 1 0 11101011 0 01110101 10011100 0 0 00111010 11001110 0 0 00011101 01100111 1 1 00001000 1 10000100 00110011 1 1 01101111 1 10110111 10011001 1 1 10100010 0 11010001 01001100 0 0 01101000 10100110 0 0 00110100 01010011
Diseñar un circuito controlador para realizar la multiplicación basada en el algoritmo de Booth Radix-2. El multiplicando se encuentra en R1, y el multiplicador en R2 del banco de registros del procesador de la Figura 1. El producto debe ser almacenado en R4 y R5. RTL- ASM ( 40 %) y prueba de escritorio: multiplicando = 11110001 y multiplicador = 00000101 ( 5 %). S0 – Cargar datos: Según el enunciado, tanto el multiplicando como el multiplicador ya están cargados. Se cargan los registros R4 y R5 donde van a quedar guardado el producto y el registro R6 y R7 que van a ser los registro auxiliar. R1 (M) MULTIPLICANDO R2 (Q) MULTIPLICADOR R4 (U) PRODUCTO PARTE BAJA R5 (V) PRODUCTO PARTE ALTA R6 (AUX) REGISTRO AUXILIAR R7 (AUX) REGISTRO AUXILIAR R4(PL) 0 ; R5(PH) 0 ; R6(AUX) 0 ; R7(AUX) 0
- RA 0; RB 0;
- RC RA + RB; ALU(01)
- R4 RC
- R5 RC
- R6 RC
- R7 RC Cnt # n S1 – HALLAR QLSB : I. HALLAR R2LSB HALLAMOS R2 LSB
- RA R2 ; RB 0
- RC SHR ( RA + RB , 0 )
- R6 RC
- RA R6 ; RB 0
- RC SHL ( RA + RB , 1 )
- R6 RC
- RA R2 ; RB R
- RC RA - RB ; C Cout SI C = 0 ENTONCES R2LSB 1 SI C = 1 ENTONCES R2LSB 0
S2 – SI C = 0 ; HALLAR QMSB :
I. HALLAR R2MSB
HALLAMOS R2 MSB
1. RA R2 ; RB R
- RC RA + RB ; C Cout SI C = 0 ENTONCES R2MSB 0 SI C = 1 ENTONCES R2MSB 1 S3 – SI C = 1; HALLAR QMSB : I. HALLAR R2MSB HALLAMOS R2 MSB
- RA R2 ; RB R
- RC RA + RB ; C Cout SI C = 0 ENTONCES R2MSB 0 SI C = 1 ENTONCES R2MSB 1 S4 – U U - M: I. R4(U) R4(U) – R1(M)
- RA R4 ; RB R
- RC RA - RB ; C Cout
- R4 RC S5 – U U + M: I. R4(U) R4(U) + R1(M)
- RA R4 ; RB R
- RC RA + RB ; C Cout
- R4 RC S6 – HALLAR QLSB : I. HALLAR R2LSB HALLAMOS R2 LSB
- RA R2 ; RB 0
- RC SHR ( RA + RB , 0 )
- R6 RC
- RA R6 ; RB 0
R5(V) SHR ( R5(V) , 1 )
1. RA R5 ; RB 0
2. RC SHR ( RA + RB , 1 )
3. R5 RC
R4(U) ASHR ( R4(U) )
1. RA R4 ; RB 0
2. RC ASHR ( RA + RB )
3. R4 RC
Si Cnt = 0 Ir al estado S Si Cnt = 1 Terminar S11 – SI C= 1; V SHR ( V , 0 ) ; U ASHR ( U ): I. R5(V) SHR ( R5(V) , 0 ) II. R4(U) ASHR ( R4(U) ) Cnt Cnt - R5(V) SHR ( R5(V) , 0 )
- RA R5 ; RB 0
- RC SHR ( RA + RB , 0 )
- R5 RC R4(U) ASHR ( R4(U) )
- RA R4 ; RB 0
- RC ASHR ( RA + RB )
- R4 RC Si Cnt = 0 Ir al estado S Si Cnt = 1 Terminar
SI C = 0 ENTONCES R2LSB 1
SI C = 1 ENTONCES R2LSB 0
S2 – SI C = 0 ; HALLAR QMSB :
I. HALLAR R2MSB
HALLAMOS R2 MSB
1. RA R2 ; RB R
- RC RA + RB ; C Cout SI C = 0 ENTONCES R2MSB 0 SI C = 1 ENTONCES R2MSB 1 S3 – SI C = 1; HALLAR QMSB : I. HALLAR R2MSB HALLAMOS R2 MSB
- RA R2 ; RB R
- RC RA + RB ; C Cout SI C = 0 ENTONCES R2MSB 0 SI C = 1 ENTONCES R2MSB 1 S4 – U U - M: I. R4(U) R4(U) – R1(M)
- RA R4 ; RB R
- RC RA - RB ; C Cout
- R4 RC S5 – U U + M: I. R4(U) R4(U) + R1(M)
- RA R4 ; RB R
- RC RA + RB ; C Cout
- R4 RC S6 – HALLAR QLSB : I. HALLAR R2LSB HALLAMOS R2 LSB
- RA 0 ; RB R
2. RC RA + SHR ( RB , 0)
3. R6 RC
4. RA 0 ; RB R
5. RC RA + SHL ( RB , 1)
6. R6 RC
7. RA R2 ; RB R
- RC RA - RB ; C Cout SI C = 0 ENTONCES R2LSB 1 SI C = 1 ENTONCES R2LSB 0 S7 – SI C=0 ; Q SHR ( Q , 1 ): I. R2(Q) SHR ( R2 (Q) , 1 )
- RA 0 ; RB R
- RC RA + SHR ( RB , 1)
- R2 RC S8 – SI C=1 ; Q SHR ( Q , 0 ): I. R2(Q) SHR ( R2 (Q) , 0 )
- RA 0 ; RB R
- RC RA + SHR ( RB , 0)
- R2 RC S9 – HALLAR ULSB : I. HALLAR R4LSB HALLAMOS R4 LSB
- RA 0 ; RB R
- RC RA + SHR ( RB , 0)
- R7 RC
- RA 0 ; RB R
- RC RA + SHL ( RB , 1)
- R7 RC
- RA R4 ; RB R
- RC RA - RB ; C Cout SI C = 0 ENTONCES R4LSB 1 SI C = 1 ENTONCES R4LSB 0 S10 – SI C= 0; V SHR ( V , 1 ) ; U ASHR ( U ): I. R5(V) SHR ( R5(V) , 1 )