Publicado el 6 de Enero del 2019
846 visualizaciones desde el 6 de Enero del 2019
1,5 MB
54 paginas
Creado hace 11a (06/06/2013)
Estructura y Organización de
Computadores
Año 2013
Sinak
#UAHStyle
1. La ruta de datos
1.1. Introducción
1.1.1 La unidad aritmético-lógica
La Unidad Central de Proceso o CPU es el conjunto de:
- Ruta de datos o unidad de procesamiento
- Unidad de control
La ruta de datos procesa la información
[Ver relación entre la ruta de datos y la unidad de control]
[Ver flujo de instrucciones y flujo de datos]
CPU
Es la encargada de procesar la información.
Los componentes de la ruta de datos son:
-
-
-
La ALU
Los elementos de almacenamiento temporal
El registro de estado (Dice como ha sido el resultado, en algunas no existe)
Procesa:
- Operandos
-
En función de las señales de control
ALU
Conjunto de operadores, unidades funcionales, unidades de ejecución.
#UAHStyle
La ALU está formada por un conjunto de:
- Operadores
- Unidades funcionales
- Unidades de ejecución
Operador: Circuito capaz de realizar una operación lógica o aritmética
Los operadores se caracterizan por:
- Numero de operandos:
o Monádico
o Diádico
Procesamiento:
-
o Serie (bit a bit)
o Paralelo (por palabras)
-
El resultado depende de:
o Los operandos (combinacional)
o Operandos y el contador de estados (secuencial)
-
Tecnología (marca la velocidad) -> Retardo
Tipo de operandos
Según la tecnología empleada (marca el retardo de las puertas) pueden ser
- MOS
- BIPOLAR
retardo a
2a
3a
NAND, NOR, NOT
AND, OR
XOR XNOR
El valor de a varía según algunas tecnologías.
1.1.2 Almacenamiento temporal
Tanto los operandos como los resultados pueden tener un almacenamiento temporal en la
ruta de datos. Acelera el acceso evitando las latencias de memoria (de datos).
Puede estar constituido por:
1 único registro (Acumulador)
-
- Banco de Registros
-
Sin registros: pila y memoria
1.1.2.1 Acumulador
El propio registro acumulador es uno de los operandos de entrada.
Corresponde a la arquitectura de las primeras maquinas
Almacenamiento temporal breve
Reutilización de datos
#UAHStyle
1.1.2.2 Banco de Registros
Puede ser:
-
Por su función:
o Propósito general
o Especifico
-
Para el programador:
o Visibles
o Arquitectónicos (el programador no puede acceder a ellos).
1.1.2.3 Sin Registros (almacenamiento en memoria)
No hay almacenamiento temporal: todas las variables están en memoria
Pila:
-
-
- Modo de trabajar de las calculadoras
El acceso no es aleatorio sino de tipo LIFO
Los operandos están en la cima y son sustituidos por el resultado
Una ventaja: no se deben especificar operandos (ya que siempre se opera con el de encima de
la pila)
1.1.3 El estado
Señalan condiciones relativas a la última operación
El estado está disponible para la unidad de control y sirve para tomar decisiones.
Tomar decisiones: esta es la diferencia entre un computador y una calculadora
El estado puede ser más complicado, contiene el contexto de procesamiento.
1.2. Ruta de datos y velocidad de reloj
1.2.1 ¿Quién limita al reloj?
Simplificadamente:
Velocidad de reloj en la ruta de datos:
1.2.2 Modos de llevar a cabo una operación
- Unidad combinacional: Tiene un tiempo de transferencia de señales. Es casi inmediato.
Flujo de instrucciones: velocidad de decodificación en la unidad de control
Flujo de datos (latencia de los operadores y la impedancia de los cambios eléctricos)
Retardo de los caminos (multiplexores, buses…)
Retardo del operador más usado (objetivo: que realice la operación en un ciclo)
Permite ejecutar varias cosas en paralelo. Es el más rápido y costoso.
#UAHStyle
- Unidad secuencial: Ejecuta las operaciones en sucesivos pasos de comunicación. Requiere
más tiempo.
- Microprograma: Mas barato que los anteriores, es más lento, no requiere hardware
adicional.
- Programa (Emulación): Ejecuta el código que reside en memoria principal. Es el más lento
1.2.3 Operadores típicos
Los más rápidos son los operadores lógicos (NOT, OR AND XOR): Se denominan operaciones
de bit. Cada bit es tratado de manera individual, menor número de niveles lógicos.
Operadores de desplazamiento: Consiste en desplazar los bits de una palabra derecha o a la
izquierda. Los Computadores más sencillos solo realizan desplazamientos unitarios, mientras
que los complejos hacen muchos.
Circuitos desplazadores:
- Desplazador combinacional para 1 bit: cualquier longitud de desplazamiento, gran
número de puertas lógicas.
- Desplazador combinacional basado en multiplexores: Gran área de silicio. Más barato y
más lento.
- Barrer Shifter: desplaza o rota cualquier nº de bits en una única operación. Gran numero
de celdas aunque son pequeñas
Operaciones sobre signo:
-
Etapa de cambio de signo en complemento a 1:
#UAHStyle
- Cambio de signo en complemento a 2: Se puede conectar en cascada pero
cuidado con la propagación de acarreos)
-
Si = ai XOR (E * Ci)
Ci = ai + Ci-1
-
Extensión de signo en diferentes representaciones. Hay tres casos:
o Complemento: Se repetirá el bit más significativo del origen para cubrir todas
las posiciones adicionales del destino.
o Signo magnitud: Hay que desplazar el bit de signo a la izquierda del destino y
hay que llenar con ceros el resto de bits adicionales.
o En exceso: Hay que añadir ceros a la izquierda.
- Operaciones aritméticas: Enteros, coma flotante, suma-resta, multiplicación,
división y raíz cuadrada
#UAHStyle
1.3. El sumador
1.3.1 Sumador elemental
El sumador elemental es un circuito combinacional capaz de sumar dos bits más el posible
acarreo de la etapa anterior, produciendo el bit suma y el acarreo a la etapa siguiente.
-
-
-
Sumador de 2 niveles lógicos
3 niveles pero menos puertas (dos semisumadores)
3 niveles (5 puertas)
3 niveles= 5 puertas.
Retardo= 6a (para suma)
Retardo= 3a+2a=5a (para acarreo)
Se pueden construir varios tipos de sumadores como por ejemplo:
- Operador secuencial: Un paso de computación por bit. [pg. 178 Anasagasti]
-
Sumador paralelo: n bits simultáneamente.
1.3.2 Propagador
Propagador de acarreo (RCA)
Gran retardo en la propagación del acarreo.
(Dibujo de evolución temporal)
Evaluación del tiempo de retardo para 32 bits:
Tiempo = 3a + 2(n-1)a + 3a = 68ª
Sea a = 1ns tiempo = 68ns 14 MHz (1/0,00000068)
-
-
- Niveles = 3 + 2(n-1) = 65
-
Sea a = 1ns tiempo = 65ns 15 MHz (1/0,00000065)
#UAHStyle
Retardo: se suele dar en niveles, se simplifica (niveles = 2n)
Área: se suele dar en celdas. Cada celda es un sumador elemental.
1.3.3 Sumador-restador en diferentes representaciones
·Restador paralelo:
Modificación del operador de suma
A – B-> cambio de signo de B y suma
Cambio de signo se puede hacer en cualquier sistema de representación.
· Sumador-Restador en binario puro:
La representación afecta al desbordamiento:
En suma -> el acarreo
En resta -> A-B = A + (2n – B) = 2n + A – B
A < B negativo no representable; se “come” el acarreo 2n
· Sumador-Restador en complemento a 2:
La representación afecta al desbordamiento
[Ver imagen]
·Sumador-restador en signo-magnitud: S-R sin signo más circuito para tratar signo
· Sumador-Restador en exceso:
·Sumador BCD de 1 digito:
·Resta en BCD:
Sumador hexadecimal + circuito corrector
Restar 10 = sumar 6 (complemento a 16)
Colocando en cascada podemos operar con n dígitos BCD
Para restar complementar a 9 (más o menos C-1)
A – B= A + (10n – B – 1) = 10n -1+ (a-B) = 10n + (A – B) – 1
-
-
Si A – B < 0 -> correcto
Si A – B > 0 -> Hay que recircular
#UAHStyle
· S-R BCD en aritmética de signo
· S-R en coma flotante
Se hace con enteros.
Los n bits de los operandos se dividen en p bits para la mantisa M y en q bits para el exponente
E. Siendo r la base del exponente (normalmente 2), el valor es:
Valor= M * rE
Las mantisas suelen estar normalizadas.
Sean A (MA, EA) y B (MB, EB) normalizados por r=2, p=q=4, mantisa en signo magnitud y
exponente en exceso 2q-1=8
0,5 * 22
A: 0100
0,5 * 23
B: 0100
La suma será:
A+B = 0.5*22 + 0.5*23 = 0.5*22 + 0.5*(22*21) = 0.5*22 + 1*22 = 1.5*22 = 6
Pero este resultado no se puede normalizar porque la mantisa es 1,… para normalizar tendrá
que ser 0,…
Si el exponente crece, la mantisa se divide:
A+B=0.5*22 + 0.5*23 = 0.25*23 + 0.5*23 = 0.75*23 = 6
Que en representación de coma flotante será:
R
Pasos que hay que seguir:
1010
1011
0,75*23
2
4
0110
1011
6
-
Separar mantisas y exponentes:
o Separar mantisas y exponentes y extensión de signo a n bits (bits de guarda)
para información que se pierde al hacer las divisiones (desplazamientos)
- Restar los exponentes:
o Resta de los exponentes para obtener:
Exponente mayor que será el del resultado salvo normalización
Mantisa que hay que desplazar, que será la de menor exponente.
Número total de desplazamientos que se necesita hacer
- Alineación de mantisas
-
Se opera (Suma o resta) con las mantisas:
o Realización de la operación de suma o resta y redondeo (quitar bits de guarda)
si es necesario.
- Normalización del resultado:
o Normalización del resultado si es necesario (si el MSB del exponente es 0).
1.3.4 Dígitos de guarda
Ya que las operaciones en coma flotante generan más bits de los que caben en la
representación se mejora la precisión añadiendo una serie de bits que llamamos dígitos de
guarda.
#UAHStyle
En la resta hace falta un bit retenedor ya que al desplazar a la derecha una mantisa para
alinearla podemos perder acarreos de la parte sobrante
El bit reten
Comentarios de: Estructura y Organización de Computadores (0)
No hay comentarios