PDF de programación - Estructura y Organización de Computadores

Imágen de pdf Estructura y Organización de Computadores

Estructura y Organización de Computadoresgráfica de visualizaciones

Publicado el 6 de Enero del 2019
211 visualizaciones desde el 6 de Enero del 2019
1,5 MB
54 paginas
Creado hace 6a (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
  • Links de descarga
http://lwp-l.com/pdf14779

Comentarios de: Estructura y Organización de Computadores (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad