Sistemas con Microprocesadores I

Anuncio
Sistemas con Microprocesadores I
1
2
3
Procesador Primitivo
Micro-operaciones aritméticas
Unidad aritmética
Suma y resta aritmética en representación de punto fijo
Suma y resta aritmética
Números binarios con signo
Representación gráfica binaria sin signo y con signo
Substracción con números sin signo
Sobreflujo en suma y resta con signo
Ejemplo de sumas y restas con y sin signo
Procesador Primitivo
Unidad aritmética (continuación)
Unidad aritmética y lógica
Unidad de corrimiento
La ALU
4
La instrucción: NOP
5
Laminillas complementarias
Unidad aritmética y lógica
Mauricio López V. (Ingenierı́a)
Arquitectura
Junio, 2016
1 / 96
Procesador Primitivo
Micro-operaciones aritméticas
Micro-operaciones aritméticas
Se continúa con la implementación de la ALU (Unidad Aritmética y Lógica)
Primero se realiza un resumen de las señales de control y de la arquitectura para
generar micro-operaciones de
transferencia entre registros generales
entrada y salida de datos por los puertos
unidad lógica y
carga inmediata
Mauricio López V. (Ingenierı́a)
Arquitectura
Junio, 2016
2 / 96
Procesador Primitivo
Micro-operaciones aritméticas
Resumen de arquitectura
Slo2 , Slo1 y Slo0 : Selectores de función lógica
Sci : Selector de carga inmediata o de registro del arreglo de registros
Sf r : Selector de salida de función lógica o la establecida por Sci
Mauricio López V. (Ingenierı́a)
Arquitectura
Junio, 2016
3 / 96
Procesador Primitivo
Micro-operaciones aritméticas
Resumen de arquitectura
Sep : Habilitador de salida a puertos
Sin : Selector de entrada externa al arreglo de registros generales
Ser : Habilitador de carga a los registros generales
Mauricio López V. (Ingenierı́a)
Arquitectura
Junio, 2016
4 / 96
Procesador Primitivo
Micro-operaciones aritméticas
Resumen de arquitectura
DR: Habilita escritura en registro destino (tres bits)
SRA: Establece el registro A fuente (tres bits)
SRB: Establece el registro B fuente (tres bits)
Mauricio López V. (Ingenierı́a)
Arquitectura
Junio, 2016
5 / 96
Procesador Primitivo
Micro-operaciones aritméticas
Micro-operaciones aritméticas
Se procede a implementar la Unidad Aritmética
Micro-operaciones aritméticas:
A más complemento a uno de B
Suma:
F ← A + B
F ← A + B
Complemento a dos de B
Substarcción
F ← A + B + 1
F ← B + 1
Transferir B:
Incremento de B:
F ← B
F ← B + 1
Suma con acarreo
Decremento de B
F ← A + B + 1
Mauricio López V. (Ingenierı́a)
F ← B + (−1)
Arquitectura
Junio, 2016
6 / 96
Procesador Primitivo
Micro-operaciones aritméticas
Micro-operaciones aritméticas
Suma:
F ← A + B
El circuito lógico que forma una suma aritmética de dos bits y su acarreo es llamado
un sumador completo (FA: Full-Adder ).
Circuito sumador completo (donde Ai y Bi son las entradas):
Ci : acarreo de entrada.
Ci+1 : acarreo de salida.
Mauricio López V. (Ingenierı́a)
Arquitectura
Junio, 2016
7 / 96
Procesador Primitivo
Micro-operaciones aritméticas
Micro-operaciones aritméticas
Sumador completo de 4 bits:
Diagrama a bloques del sumador paralelo binario:
Mauricio López V. (Ingenierı́a)
Arquitectura
Junio, 2016
8 / 96
Procesador Primitivo
Micro-operaciones aritméticas
Micro-operaciones aritméticas
Operaciones aritméticas con un sumador paralelo:
Nota: No se incluye el acarreo de salida, se entiende que está presente.
Mauricio López V. (Ingenierı́a)
Arquitectura
Junio, 2016
9 / 96
Procesador Primitivo
Micro-operaciones aritméticas
Micro-operaciones aritméticas
Operaciones aritméticas con un sumador paralelo (continúa):
Nota: No se incluye el acarreo de salida, se entiende que está presente.
Mauricio López V. (Ingenierı́a)
Arquitectura
Junio, 2016
10 / 96
Procesador Primitivo
Micro-operaciones aritméticas
Micro-operaciones aritméticas
Para llevar a cabo las micro-operaciones de suma de A y B, y la suma de A y el
complemento a uno de B (B), se requiere incluir hardware al sumador paralelo (sin
acarreo).
Mauricio López V. (Ingenierı́a)
Arquitectura
Junio, 2016
11 / 96
Procesador Primitivo
Micro-operaciones aritméticas
Micro-operaciones aritméticas
Para llevar a cabo las micro-operaciones de substracción de A y B, y la suma de A y
B mas uno, se requiere incluir hardware al sumador paralelo (con acarreo)
Mauricio López V. (Ingenierı́a)
Arquitectura
Junio, 2016
12 / 96
Procesador Primitivo
Micro-operaciones aritméticas
Micro-operaciones aritméticas
Para llevar a cabo las micro-operaciones de transferencia de B, y el incremento de B,
se requiere incluir hardware al sumador paralelo (sin y con acarreo)
Mauricio López V. (Ingenierı́a)
Arquitectura
Junio, 2016
13 / 96
Procesador Primitivo
Micro-operaciones aritméticas
Micro-operaciones aritméticas
Para llevar a cabo las micro-operaciones de complemento a dos de B, y el decremento
de B, se requiere incluir hardware al sumador paralelo (con y sin acarreo)
Mauricio López V. (Ingenierı́a)
Arquitectura
Junio, 2016
14 / 96
Procesador Primitivo
Unidad aritmética
Unidad aritmética
Srg : Selector de registro A.
Sun : Selector de unos.
Scu : Selector de complemento a uno.
Sac : Selector de acarreo.
Mauricio López V. (Ingenierı́a)
Arquitectura
Junio, 2016
15 / 96
Procesador Primitivo
Unidad aritmética
Unidad aritmética
Otra operación que se desea que lleve a cabo la unidad aritmética:
La salida del sumador/restador con resultado todos en unos
Mauricio López V. (Ingenierı́a)
Arquitectura
Junio, 2016
16 / 96
Procesador Primitivo
Unidad aritmética
Unidad aritmética
Srg : Selector de registro A.
Sun : Selector de unos.
Sbp : Selector de registro B.
Scu : Selector de complemento a uno.
Sac : Selector de acarreo.
Mauricio López V. (Ingenierı́a)
Arquitectura
Junio, 2016
17 / 96
Procesador Primitivo
Unidad aritmética
Unidad aritmética
Srg : Selector de registro A.
Sun : Selector de unos.
Sbp : Selector de registro B.
Scu : Selector de complemento a uno.
Sac : Selector de acarreo.
Mauricio López V. (Ingenierı́a)
Arquitectura
Junio, 2016
18 / 96
Procesador Primitivo
Unidad aritmética
Unidad aritmética
Se incluye un decodificador con señales de control Sar2 , Sar1 y Sar0
Mauricio López V. (Ingenierı́a)
Arquitectura
Junio, 2016
19 / 96
Procesador Primitivo
Unidad aritmética
Unidad aritmética
El análisis de las banderas de estado (acarreo, C, y sobreflujo, V ) se realiza a
continuación.
Mauricio López V. (Ingenierı́a)
Arquitectura
Junio, 2016
20 / 96
Suma y resta aritmética en representación de punto fijo
Suma y resta aritmética
Suma y Resta aritmética
Suma aritmética:
Resta aritmética (con préstamo):
Mauricio López V. (Ingenierı́a)
Sistema numérico
Junio, 2016
21 / 96
Suma y resta aritmética en representación de punto fijo
Números binarios con signo
Números binarios con signo
Los números utilizados en el cálculos cientı́fico se designan por un signo, éste
muestra si el número es positivo o negativo
El signo de un número puede considerarse como un conjunto de dos elementos
más y menos
Para representar un número binario con signo en un registro se necesitan n + 1
bits
n bit para el número
un bit para el signo (posición más a la izquierda del registro)
Mauricio López V. (Ingenierı́a)
Sistema numérico
Junio, 2016
22 / 96
Suma y resta aritmética en representación de punto fijo
Números binarios con signo
Números binarios con signo
Cuando un número binario es positivo, el signo se representa por un 0 y el resto
del número como la magnitud del número binario
Ejemplo (+9): 0 0001001
Cuando un número binario es negativo, el signo se representa por un 1 y el resto
del número puede representarse por una de las siguientes maneras:
La representación de magnitud con signo
La representación del complemento a uno con signo
La representación del complemento a dos con signo
Mauricio López V. (Ingenierı́a)
Sistema numérico
Junio, 2016
23 / 96
Suma y resta aritmética en representación de punto fijo
Números binarios con signo
Números binarios con signo
Cuando un número binario es positivo, el signo se representa por un 0 y el resto
del número como la magnitud del número binario
Ejemplo (+9): 0 0001001
Cuando un número binario es negativo, el signo se representa por un 1 y el resto
del número puede representarse por una de las siguientes maneras:
La representación de magnitud con signo
Ejemplo (−9): 1 0001001
La representación del complemento a uno con signo
Ejemplo (−9): 1 1110110
La representación del complemento a dos con signo
Ejemplo (−9): 1 1110111
Mauricio López V. (Ingenierı́a)
Sistema numérico
Junio, 2016
23 / 96
Suma y resta aritmética en representación de punto fijo
Números binarios con signo
Números binarios con signo
Cuando un número binario es positivo, el signo se representa por un 0 y el resto
del número como la magnitud del número binario
Ejemplo (+9): 0 0001001
Cuando un número binario es negativo, el signo se representa por un 1 y el resto
del número puede representarse por una de las siguientes maneras:
La representación de magnitud con signo
Ejemplo (−9): 1 0001001
La representación del complemento a uno con signo
Ejemplo (−9): 1 1110110
La representación del complemento a dos con signo
Ejemplo (−9): 1 1110111
Note que la cadena de bits 11001 (para 4 bits y su signo) representa el
equivalente binario:
25 cuando se considera un número sin signo
−9 cuando se considera un número con signo (representación de magnitud con
signo)
Mauricio López V. (Ingenierı́a)
Sistema numérico
Junio, 2016
23 / 96
Suma y resta aritmética en representación de punto fijo
Números binarios con signo
Números binarios con signo
Cuando un número binario es positivo, el signo se representa por un 0 y el resto
del número como la magnitud del número binario
Ejemplo (+9): 0 0001001
Cuando un número binario es negativo, el signo se representa por un 1 y el resto
del número puede representarse por una de las siguientes maneras:
La representación de magnitud con signo
Ejemplo (−9): 1 0001001
La representación del complemento a uno con signo
Ejemplo (−9): 1 1110110
La representación del complemento a dos con signo
Ejemplo (−9): 1 1110111
Note que la cadena de bits 11001 (para 4 bits y su signo) representa el
equivalente binario:
25 cuando se considera un número sin signo
−9 cuando se considera un número con signo (representación de magnitud con
signo)
Mauricio López V. (Ingenierı́a)
Sistema numérico
Junio, 2016
23 / 96
Suma y resta aritmética en representación de punto fijo
Números binarios con signo
Ejemplos del complemento a dos de números binarios de 8 bits
Mauricio López V. (Ingenierı́a)
Sistema numérico
Junio, 2016
24 / 96
Suma y resta aritmética en representación de punto fijo
Números binarios con signo
Suma y resta con representación de magnitud con signo
Operaciones con la representación de magnitud con signo
Ejemplo: Suma de +23 y −35
1. Al de la magnitud mayor restarle el de magnitud menor
2. Utilizar el signo del número más grande como el signo del resultado
+23 + (−35) = −(35 − 23) = −12
Las operaciones con la representación de magnitud con signo requieren:
Comparar sus signos
si los dos signos son los mismos, se suman las magnitudes
si los signos no son los mismos, se compara la magnitud relativa de los números y
se le resta al mayor el valor menor
determinar el signo del resultado
Un hardware con una larga secuencia de decisiones de control ası́ como circuitos
que puedan comparar, sumar y restar números
Mauricio López V. (Ingenierı́a)
Sistema numérico
Junio, 2016
25 / 96
Suma y resta aritmética en representación de punto fijo
Números binarios con signo
Suma y resta con representación de magnitud con signo
Operaciones con la representación de magnitud con signo
Ejemplo: Suma de +23 y −35
1. Al de la magnitud mayor restarle el de magnitud menor
2. Utilizar el signo del número más grande como el signo del resultado
+23 + (−35) = −(35 − 23) = −12
Las operaciones con la representación de magnitud con signo requieren:
Comparar sus signos
si los dos signos son los mismos, se suman las magnitudes
si los signos no son los mismos, se compara la magnitud relativa de los números y
se le resta al mayor el valor menor
determinar el signo del resultado
Un hardware con una larga secuencia de decisiones de control ası́ como circuitos
que puedan comparar, sumar y restar números
Mauricio López V. (Ingenierı́a)
Sistema numérico
Junio, 2016
25 / 96
Suma y resta aritmética en representación de punto fijo
Números binarios con signo
Suma y resta con representación del complemento a dos con signo
Una expresión binaria de m = n + 1 bits, en una representación del
complemento a dos con signo, abarca el intervalo de valores de −(2m−1 ) a
+(2m−1 − 1).
Para un registro de 4 bits
Si
x ≥ 0 (sin signo),
x ∈ [0 . . . 15]
Si
x ≥ 0 (con signo),
x ∈ [0 . . . 7]
Si
x < 0 (con signo),
x ∈ [−8 . . . − 1]
Para un registro de 8 bits
Si
x ≥ 0 (sin signo),
x ∈ [0 . . . 255]
Si
x ≥ 0 (con signo),
x ∈ [0 . . . 127]
Si
x < 0 (con signo),
x ∈ [−128 . . . − 1]
Comparando:
Mientras que una expresión binaria de m bits sin signo abarca el intervalo de
valores de 0 a +(2m − 1).
Mauricio López V. (Ingenierı́a)
Sistema numérico
Junio, 2016
26 / 96
Suma y resta aritmética en representación de punto fijo
Representación gráfica binaria sin signo y con signo
Representación gráfica sin signo y con signo (complemento a 2), 4 bits
Expresión binaria de 4 bits:
Sin signo:
Mauricio López V. (Ingenierı́a)
Con signo:
Sistema numérico
Junio, 2016
27 / 96
Suma y resta aritmética en representación de punto fijo
Representación gráfica binaria sin signo y con signo
Representación gráfica con signo (complemento a 2), para 5 bits
Mauricio López V. (Ingenierı́a)
Sistema numérico
Junio, 2016
28 / 96
Suma y resta aritmética en representación de punto fijo
Representación gráfica binaria sin signo y con signo
Suma binaria de punto fijo sin signo (4 bits): Sumando 4 + 3
Mauricio López V. (Ingenierı́a)
Sistema numérico
Junio, 2016
29 / 96
Suma y resta aritmética en representación de punto fijo
Representación gráfica binaria sin signo y con signo
Suma binaria de punto fijo sin signo (4 bits): Sumando 4 + 5
El resultado siempre es correcto mientras la suma no exceda el intervalo de
valores del sistema numérico:
x ∈ [0 . . . 15]
Mauricio López V. (Ingenierı́a)
Sistema numérico
Junio, 2016
30 / 96
Suma y resta aritmética en representación de punto fijo
Representación gráfica binaria sin signo y con signo
Resta binaria con signo (4 bits): 7 - 5 (Suma: 7 + 11)
La suma de dos números con signo con números negativos representados en
complemento a 2 se obtiene de la suma de los dos números (1110 = 10112 )
Mauricio López V. (Ingenierı́a)
Sistema numérico
Junio, 2016
31 / 96
Suma y resta aritmética en representación de punto fijo
Representación gráfica binaria sin signo y con signo
Resta binaria con signo (4 bits): 7 - 8 (Suma: 7 + 8)
El resultado siempre es correcto mientras la suma no exceda el intervalo de
valores del sistema numérico:
x ∈ [−8 . . . −1, 0 . . . 7]
Mauricio López V. (Ingenierı́a)
Sistema numérico
Junio, 2016
32 / 96
Suma y resta aritmética en representación de punto fijo
Representación gráfica binaria sin signo y con signo
Resta binaria de punto fijo con signo (4 bits)
resta
7
7
7
7
7
7
7
-
1
2
3
4
5
6
7
suma
equivalente
7 + 15
7 + 14
7 + 13
7 + 12
7 + 11
7 + 10
7+9
Mauricio López V. (Ingenierı́a)
debido
a que
-1 ⇔ 15
-2 ⇔ 14
-3 ⇔ 13
-4 ⇔ 12
-5 ⇔ 11
-6 ⇔ 10
-7 ⇔ 9
Sistema numérico
Junio, 2016
33 / 96
Suma y resta aritmética en representación de punto fijo
Representación gráfica binaria sin signo y con signo
Resta binaria de punto fijo con signo (4 bits)
resta
7
7
7
7
7
7
7
-
1
2
3
4
5
6
7
suma
equivalente
7 + 15
7 + 14
7 + 13
7 + 12
7 + 11
7 + 10
7+9
Mauricio López V. (Ingenierı́a)
debido
a que
-1 ⇔ 15
-2 ⇔ 14
-3 ⇔ 13
-4 ⇔ 12
-5 ⇔ 11
-6 ⇔ 10
-7 ⇔ 9
Sistema numérico
Junio, 2016
34 / 96
Suma y resta aritmética en representación de punto fijo
Substracción con números sin signo
Substracción binaria con números sin signo
La substracción binaria sin signo:
juega un papel importante en computación y en el diseño de la arquitectura de una
computadora
es utilizada para comparar dos números, permitiendo tomas de decisiones, con la
posibilidad de crear micro-instrucciones de salto
Mauricio López V. (Ingenierı́a)
Sistema numérico
Junio, 2016
35 / 96
Suma y resta aritmética en representación de punto fijo
Substracción con números sin signo
Substracción binaria con números sin signo
La substracción de dos números sin signo de n-dı́gitos, M − N , en binario puede
llevarse a cabo como sigue:
Sumar el complemento a dos del substraendo N al minuendo M
Si M > N , la suma origina un acarreo final. Se descarta el acarreo final,
produciendo el resultado M − N
Si M < N , la suma no origina un acarreo final y el resultado es el complemento a
dos de M − N colocando un signo menos en el resultado, −(N − M )
Si el hardware incluye un bit de acarreo (carry, C) se puede preguntar por éste
para saber cuál de los dos números es mayor (M − N ):
Si el carry es uno, C = 1, M > N , resultado positivo
Si el carry es cero, C = 0, M < N , resultado negativo
Mauricio López V. (Ingenierı́a)
Sistema numérico
Junio, 2016
36 / 96
Suma y resta aritmética en representación de punto fijo
Substracción con números sin signo
Substracción binaria con números sin signo
La substracción de dos números sin signo de n-dı́gitos, M − N , en binario puede
llevarse a cabo como sigue:
Sumar el complemento a dos del substraendo N al minuendo M
Si M > N , la suma origina un acarreo final. Se descarta el acarreo final,
produciendo el resultado M − N
Si M < N , la suma no origina un acarreo final y el resultado es el complemento a
dos de M − N colocando un signo menos en el resultado, −(N − M )
Si el hardware incluye un bit de acarreo (carry, C) se puede preguntar por éste
para saber cuál de los dos números es mayor (M − N ):
Si el carry es uno, C = 1, M > N , resultado positivo
Si el carry es cero, C = 0, M < N , resultado negativo
Mauricio López V. (Ingenierı́a)
Sistema numérico
Junio, 2016
36 / 96
Suma y resta aritmética en representación de punto fijo
Sobreflujo en suma y resta con signo
Sobreflujo en suma y resta con signo
Si una operación de suma produce un resultado que excede el intervalo de valores
del sistema numérico, este resultado es incorrecto y se dice que hay un sobreflujo
(para 4 bits x ∈ [−8 . . . −1, 0 . . . 7])
Ejemplos de resultados incorrectos
La computadora debe detectar y señalar la ocurrencia de un sobreflujo
La suma de dos números con diferente signo nunca puede producir sobreflujo
Mauricio López V. (Ingenierı́a)
Sistema numérico
Junio, 2016
37 / 96
Suma y resta aritmética en representación de punto fijo
Sobreflujo en suma y resta con signo
Suma sin sobreflujo con signo
Ejemplos de suma que no produce sobrefljo
La computador necesita el mismo hardware para la suma y resta con singo y sin
signo
El usuario decide cuándo los números son con signo o sin signo
El usuario debe interpretar el resultado de la suma o de la resta
Mauricio López V. (Ingenierı́a)
Sistema numérico
Junio, 2016
38 / 96
Suma y resta aritmética en representación de punto fijo
Sobreflujo en suma y resta con signo
Detección del sobreflujo en suma o resta con signo
La condición de sobreflujo se detecta al comparar el acarreo de entrada de la
posición del bit de signo y el acarreo de salida de la posición del bit de signo
Si estos dos acarreos son diferentes, ha ocurrido un sobreflujo
Si estos dos acarreos son iguales, no ha ocurrido un sobreflujo
Circuito:
Mauricio López V. (Ingenierı́a)
Sistema numérico
Junio, 2016
39 / 96
Suma y resta aritmética en representación de punto fijo
Ejemplo de sumas y restas con y sin signo
Suma de dos números binarios de punto fijo (4 bits)
Ejemplo: Lleve a cabo las operaciones mostradas en la siguiente tabla, indique si
se produce (para números binarios de 4 bits):
un sobreflujo para la suma o resta sin signo (C)
un sobreflujo para la suma o resta con signo (V)
un resultado igual a cero (Z)
Operation
2+2
4+4
12 + 12
8+8
7−7
Mauricio López V. (Ingenierı́a)
C
V
Z
Sistema numérico
Junio, 2016
40 / 96
Suma y resta aritmética en representación de punto fijo
Ejemplo de sumas y restas con y sin signo
Suma de dos números binarios de punto fijo (4 bits)
Resultado de las banderas C, V y Z después de llevar a cabo las operaciones:
Operation
2+2
4+4
12 + 12
8+8
7−7
C
0
0
1
1
1
V
0
1
0
1
0
Z
0
0
0
1
1
prof
prof
prof
prof
prof
cont
Mauricio López V. (Ingenierı́a)
Sistema numérico
Junio, 2016
41 / 96
Suma y resta aritmética en representación de punto fijo
(sin signo)
Mauricio López V. (Ingenierı́a)
Ejemplo de sumas y restas con y sin signo
2 + 2
Sistema numérico
C= 0yZ= 0
Junio, 2016
42 / 96
Suma y resta aritmética en representación de punto fijo
(con signo)
Ejemplo de sumas y restas con y sin signo
2 + 2 <===> 2 + 2
C = 0, V = 0 y Z = 0
ret
Mauricio López V. (Ingenierı́a)
Sistema numérico
Junio, 2016
43 / 96
Suma y resta aritmética en representación de punto fijo
(sin signo)
Mauricio López V. (Ingenierı́a)
Ejemplo de sumas y restas con y sin signo
4 + 4
Sistema numérico
C= 0yZ= 0
Junio, 2016
44 / 96
Suma y resta aritmética en representación de punto fijo
(con signo)
Ejemplo de sumas y restas con y sin signo
4 + 4 <===> 4 + 4
C = 0, V = 1 y Z = 0
ret
Mauricio López V. (Ingenierı́a)
Sistema numérico
Junio, 2016
45 / 96
Suma y resta aritmética en representación de punto fijo
(sin signo)
Mauricio López V. (Ingenierı́a)
Ejemplo de sumas y restas con y sin signo
12 + 12
Sistema numérico
C= 1yZ= 0
Junio, 2016
46 / 96
Suma y resta aritmética en representación de punto fijo
(con signo)
Ejemplo de sumas y restas con y sin signo
−4 + −4 <===> 12 + 12
C = 1, V = 0 y Z = 0
ret
Mauricio López V. (Ingenierı́a)
Sistema numérico
Junio, 2016
47 / 96
Suma y resta aritmética en representación de punto fijo
(sin signo)
Mauricio López V. (Ingenierı́a)
Ejemplo de sumas y restas con y sin signo
8 + 8
Sistema numérico
C= 1yZ= 1
Junio, 2016
48 / 96
Suma y resta aritmética en representación de punto fijo
(con signo)
Ejemplo de sumas y restas con y sin signo
−8 + −8 <===> 8 + 8
C = 1, V = 1 y Z = 1
ret
Mauricio López V. (Ingenierı́a)
Sistema numérico
Junio, 2016
49 / 96
Suma y resta aritmética en representación de punto fijo
(sin signo)
Mauricio López V. (Ingenierı́a)
Ejemplo de sumas y restas con y sin signo
7 − 7
Sistema numérico
C= 1yZ= 1
Junio, 2016
50 / 96
Suma y resta aritmética en representación de punto fijo
(con signo)
Ejemplo de sumas y restas con y sin signo
7 + −7 <===> 7 + 9
C = 1, V = 0 y Z = 1
ret
Mauricio López V. (Ingenierı́a)
Sistema numérico
Junio, 2016
51 / 96
Procesador Primitivo
Unidad aritmética (continuación)
Unidad aritmética
Se retoma la implementación de la arquitectura del procesador primitivo al incluir la
unidad aritmética con micro-operaciones:
Incremento, IN C
Pone todos a unos, SET
Decremento, DEC
Suma, ADD (los dos operandos son contenidos de los registros generales) y
ADDI (uno de los operandos es una constante)
Substracción SU B (los dos operandos son contenidos de los registros generales)
y SU BI (uno de los operandos es una constante)
Transferencia
Mauricio López V. (Ingenierı́a)
Sistema numérico
Junio, 2016
52 / 96
Procesador Primitivo
Unidad aritmética (continuación)
Unidad aritmética
Srg : Selector de registro A.
Sun : Selector de unos.
Sbp : Selector de registro B.
Scu : Selector de complemento a uno.
Sac : Selector de acarreo.
Mauricio López V. (Ingenierı́a)
Sistema numérico
Junio, 2016
53 / 96
Procesador Primitivo
Unidad aritmética (continuación)
Unidad aritmética
Mauricio López V. (Ingenierı́a)
Sistema numérico
Junio, 2016
54 / 96
Procesador Primitivo
Unidad aritmética (continuación)
Unidad aritmética
Mauricio López V. (Ingenierı́a)
Sistema numérico
Junio, 2016
55 / 96
Procesador Primitivo
Unidad aritmética (continuación)
Unidad aritmética
Mauricio López V. (Ingenierı́a)
Sistema numérico
Junio, 2016
56 / 96
Procesador Primitivo
Unidad aritmética (continuación)
Unidad aritmética
Arquitectura de operaciones aritméticas
Mauricio López V. (Ingenierı́a)
Sistema numérico
Junio, 2016
57 / 96
Procesador Primitivo
Unidad aritmética (continuación)
Unidad aritmética
Arquitectura de operaciones lógicas
Mauricio López V. (Ingenierı́a)
Sistema numérico
Junio, 2016
58 / 96
Procesador Primitivo
Unidad aritmética y lógica
Unidad aritmética y Unidad lógica
Una sola micro-operación se puede realizar a la vez
Se ejecuta una micro-operación lógica o una aritmética, pero no ambas al mismo
tiempo
Se pueden utilizar las mismas señales de control para la unidad aritmética y
para la unidad lógica
Estas señales de control pueden ser definidas como Sal2 (para controlar Sar2 y
Slo2 ), Sal1 (para controlar Sar1 y Slo1 ) y Sal0 (para controlar Sar0 y Slo0 )
Se incluye otra señal de control, Stu , para seleccionar la salida del tipo de
función (micro-operación aritmética o lógica)
Mauricio López V. (Ingenierı́a)
ALU
Junio, 2016
59 / 96
Procesador Primitivo
Unidad aritmética y lógica
Unidad aritmética y Unidad lógica
Sal2 , Sal1 y Sal0 : Selectores del tipo de micro-operación (aritmética y lógica)
Stu : Selector del tipo de función (micro-operación aritmética o lógica)
Mauricio López V. (Ingenierı́a)
ALU
Junio, 2016
60 / 96
Procesador Primitivo
Unidad aritmética y lógica
Unidad aritmética y Unidad lógica
Mauricio López V. (Ingenierı́a)
ALU
Junio, 2016
61 / 96
Procesador Primitivo
Unidad aritmética y lógica
Unidad aritmética y Unidad lógica
El bloque de la unidad aritmética/lógica permite transferir una de sus entradas a la
salida (en particular B ó K), por lo que no requiere el multiplexor controlado por la
señal de control Sf r .
Mauricio López V. (Ingenierı́a)
ALU
Junio, 2016
62 / 96
Procesador Primitivo
Unidad aritmética y lógica
Unidad aritmética y Unidad lógica
Ahora se determina la tabla de verdad para las señales de control a partir del código
de operación.
Mauricio López V. (Ingenierı́a)
ALU
Junio, 2016
63 / 96
Procesador Primitivo
Unidad aritmética y lógica
Unidad aritmética y Unidad lógica
Ser = 1 para micro-operaciones cuyo resultado se almacena en el arreglo de
registros generales y Ser = 0 en otros casos.
Mauricio López V. (Ingenierı́a)
ALU
Junio, 2016
64 / 96
Procesador Primitivo
Unidad aritmética y lógica
Unidad aritmética y Unidad lógica
Sep = 1 para micro-operaciones de transferencia con puertos de salida y Sep = 0
en otros casos.
Mauricio López V. (Ingenierı́a)
ALU
Junio, 2016
65 / 96
Procesador Primitivo
Unidad aritmética y lógica
Unidad aritmética y Unidad lógica
Sin = 1 para micro-operaciones de transferencia con puertos de entrada, no
importa el valor de Sin cuando Sep = 0 y Sin = 0 en otros casos.
Mauricio López V. (Ingenierı́a)
ALU
Junio, 2016
66 / 96
Procesador Primitivo
Unidad aritmética y lógica
Unidad aritmética y Unidad lógica
Sci = 1 para micro-operaciones que involucren un valor de carga inmediata,
Sci = 0 en micro-operaciones que involucren al registro fuente SRB, y en los
otros casos no importa el valor de Sci (incluyen CLR, COM y SET ).
Mauricio López V. (Ingenierı́a)
ALU
Junio, 2016
67 / 96
Procesador Primitivo
Unidad aritmética y lógica
Unidad aritmética y Unidad lógica
De la tabla de verdad de las micro-operaciones aritméticas y lógicas
Se obtiene (vea la siguiente lamina)
Mauricio López V. (Ingenierı́a)
ALU
Junio, 2016
68 / 96
Procesador Primitivo
Unidad aritmética y lógica
Unidad aritmética y Unidad lógica
Mauricio López V. (Ingenierı́a)
ALU
Junio, 2016
69 / 96
Procesador Primitivo
Unidad aritmética y lógica
Unidad aritmética y Unidad lógica
Sal2 , Sal1 , Sal0 y Stu tienen los valores de la instrucción T ransf er, cuando se
requiere que el operando controlado por la señal Sci no se vea alterado por la
unidad aritmética/lógica, y no importan sus valores para los casos restantes.
Mauricio López V. (Ingenierı́a)
ALU
Junio, 2016
70 / 96
Procesador Primitivo
Unidad aritmética y lógica
Unidad aritmética y Unidad lógica
Mauricio López V. (Ingenierı́a)
ALU
Junio, 2016
71 / 96
Procesador Primitivo
Unidad aritmética y lógica
Unidad aritmética y Unidad lógica
DR: Habilita escritura en registro destino (tres bits)
SRA: Establece el registro A fuente (tres bits)
SRB: Establece el registro B fuente (tres bits)
Mauricio López V. (Ingenierı́a)
ALU
Junio, 2016
72 / 96
Procesador Primitivo
Unidad aritmética y lógica
Unidad aritmética y Unidad lógica
Ejercicio 16: Se desea desarrollar un programa que primero capture un dato presente
en el puerto de entrada F. Una vez capturado el dato extraiga los bits del nibble bajo
y súmele el valor 30h. Para hacerlo, primero aplique una máscara al dato capturado
del puerto para mantener sin alterar los bits del nibble bajo. Para finalizar
decremente en una unidad el resultado anterior y muéstrelo en los LED conectados
en el puerto de salida B.
infor
La solución debe considerar los siguientes puntos:
El pseudocódigo
El diagrama de flujo
El programa utilizando mnemónicos
El diagrama del contenido de la memoria en binario y en hexadecimal
Mauricio López V. (Ingenierı́a)
ALU
Junio, 2016
73 / 96
Procesador Primitivo
Unidad de corrimiento
Unidad de corrimiento (4 bits): izquierda y derecha
Ssh : Selector del tipo de corrimiento (derecha o izquierda; un bit)
Sdt : Selector de dato (un bit)
Sstc : Selector para involucrar al carry (dos bits)
La condición 2 en Sstc no modifica el valor del carry, permaneciendo con su valor
original
Mauricio López V. (Ingenierı́a)
ALU
Junio, 2016
74 / 96
Procesador Primitivo
Unidad de corrimiento
Unidad de corrimiento (4 bits): izquierda y derecha
dere
Mauricio López V. (Ingenierı́a)
izqui
ALU
cont
Junio, 2016
75 / 96
Procesador Primitivo
Unidad de corrimiento
Unidad de corrimiento (4 bits): derecha
Después:
Antes:
Mauricio López V. (Ingenierı́a)
ALU
Junio, 2016
76 / 96
Procesador Primitivo
Unidad de corrimiento
Unidad de corrimiento (4 bits): derecha con carry
Después:
Antes:
ret
Mauricio López V. (Ingenierı́a)
ALU
Junio, 2016
77 / 96
Procesador Primitivo
Unidad de corrimiento
Unidad de corrimiento (4 bits): izquierda
Después:
Antes:
Mauricio López V. (Ingenierı́a)
ALU
Junio, 2016
78 / 96
Procesador Primitivo
Unidad de corrimiento
Unidad de corrimiento (4 bits): izquierda con carry
Después:
Antes:
ret
Mauricio López V. (Ingenierı́a)
ALU
Junio, 2016
79 / 96
Procesador Primitivo
Unidad de corrimiento
Unidad de corrimiento
Mauricio López V. (Ingenierı́a)
ALU
Junio, 2016
80 / 96
Procesador Primitivo
Unidad de corrimiento
Unidad de corrimiento
Mauricio López V. (Ingenierı́a)
ALU
Junio, 2016
81 / 96
Procesador Primitivo
La ALU
Unidad aritmética/lógica y de corrimiento
Sshf : Selector de unidad de corrimiento
Mauricio López V. (Ingenierı́a)
ALU
Junio, 2016
82 / 96
Procesador Primitivo
La ALU
Unidad aritmética/lógica y de corrimiento
Mauricio López V. (Ingenierı́a)
ALU
Junio, 2016
83 / 96
Procesador Primitivo
La ALU
Unidad aritmética/lógica y de corrimiento
Mauricio López V. (Ingenierı́a)
ALU
Junio, 2016
84 / 96
Procesador Primitivo
La ALU
Unidad aritmética/lógica y de corrimiento
Mauricio López V. (Ingenierı́a)
ALU
Junio, 2016
85 / 96
Procesador Primitivo
La ALU
Unidad aritmética/lógica y de corrimiento
Ahora se determina la tabla de verdad para las señales de control a partir del código
de operación.
Mauricio López V. (Ingenierı́a)
ALU
Junio, 2016
86 / 96
Procesador Primitivo
La ALU
Unidad aritmética/lógica y de corrimiento
Para ello, considere que:
Ser = 1 para micro-operaciones cuyo resultado se almacena en el arreglo de
registros generales y Ser = 0 en otros casos.
Sep = 1 para micro-operaciones de transferencia con puertos de salida y Sep = 0
en otros casos.
Sin = 1 para micro-operaciones de transferencia con puertos de entrada, no
importa el valor de Sin cuando Sep = 0 y Sin = 0 en otros casos.
Sci = 1 para micro-operaciones que involucren un valor de carga inmediata,
Sci = 0 en micro-operaciones que involucren al registro fuente SRB, y en los
otros casos no importa el valor de Sci (incluyen CLR, COM , SET , SHR,
SHRC, SHL ySHLC).
Sal2 , Sal1 , Sal0 y Stu tienen los valores de la instrucción T ransf er, cuando se
requiere que el operando controlado por la señal Sci no se vea alterado por la
unidad aritmética/lógica.
Sshf = 1 para micro-operaciones de corrimiento, Sci = 0 para micro-operaciones
que requieren que el operando controlado por la señal Sci no se vea alterado por
la unidad aritmética/lógica (M OV , OU T y LODI) y micro-operaciones
aritméticas y lógicas, y en los otros casos no importa el valor de Sci (IN ).
Mauricio López V. (Ingenierı́a)
ALU
Junio, 2016
87 / 96
Procesador Primitivo
La ALU
Unidad aritmética/lógica y de corrimiento
Además, de las dos siguientes tablas de verdad
Mauricio López V. (Ingenierı́a)
ALU
Junio, 2016
88 / 96
Procesador Primitivo
La ALU
Unidad aritmética/lógica y de corrimiento
Se obtiene (vea la siguiente lamina)
Mauricio López V. (Ingenierı́a)
ALU
Junio, 2016
89 / 96
Procesador Primitivo
La ALU
Unidad aritmética/lógica y de corrimiento
Mauricio López V. (Ingenierı́a)
ALU
Junio, 2016
90 / 96
Procesador Primitivo
La ALU
Unidad aritmética/lógica y de corrimiento
Mauricio López V. (Ingenierı́a)
ALU
Junio, 2016
91 / 96
La instrucción: NOP
La instrucción: NOP
Una operación N OP se caracteriza por el hecho de que no modifica ninguno de
los registros del sistema.
Esta condición se cumple con el código de operación ′ 00000′ de la tabla anterior.
Entonces se le asignará a este último código de operación la instrucción: N OP .
Vea la siguiente lamina
Mauricio López V. (Ingenierı́a)
ALU
Junio, 2016
92 / 96
La instrucción: NOP
La instrucción: NOP
Mauricio López V. (Ingenierı́a)
ALU
Junio, 2016
93 / 96
Laminillas complementarias
Laminillas complementarias
Laminillas
complementarias
Mauricio López V. (Ingenierı́a)
Arquitectura
Junio, 2016
94 / 96
Laminillas complementarias
Unidad aritmética y lógica
Unidad aritmética y Unidad lógica
DR: Habilita escritura en registro destino (tres bits)
SRA: Establece el registro A fuente (tres bits)
SRB: Establece el registro B fuente (tres bits)
Mauricio López V. (Ingenierı́a)
Arquitectura
Junio, 2016
95 / 96
Laminillas complementarias
Unidad aritmética y lógica
Unidad aritmética y Unidad lógica
return
Mauricio López V. (Ingenierı́a)
Arquitectura
Junio, 2016
96 / 96
Descargar