Vous êtes sur la page 1sur 8

REPBLICA BOLIVARIANA DE VENEZUELA

UNIVERSIDAD RAFAEL BELLOSO CHACN


FACULTAD DE INGENIERA
ESCUELA DE COMPUTACIN
CATEDRA: TECNOLOGA DEL HARDWARE

Tecnologa del Hardware


PRESENTADO POR:
FRANCISCO FIGUEREDO CI: 21107314
JULIO MIRABAL CI: 24483758

MARACAIBO, SEPTIEMBRE 2013

Tipos de paralelismo
Paralelismo Bit.
Desde el advenimiento de la tecnologa de fabricacin de chips de
computadora integracin a gran escala muy en la dcada de 1970 hasta
alrededor de 1986, la velocidad en la arquitectura de computadores fue
impulsado por doble palabra computadora del tamao, la cantidad de
informacin que el procesador puede manipular por ciclo. El aumento del
tamao de la palabra se reduce el nmero de instrucciones del procesador
debe ejecutar para llevar a cabo una operacin en variables cuyos tamaos
son mayores que la longitud de la palabra. Por ejemplo, en un procesador de
8 bits debe agregar dos enteros de 16 bits, el procesador debe agregar
primero los 8 bits de orden inferior de cada nmero entero con la instruccin
de adicin de patrn, a continuacin, aadir los 8 bits de orden superior
utilizando un complemento de -llevar a la instruccin y el bit de acarreo de la
adicin de orden inferior; por lo tanto, un procesador de 8 bits requiere dos
instrucciones para completar una sola operacin, en donde un procesador de
16 bits sera capaz de completar la operacin con una sola instruccin.
Histricamente, los microprocesadores de 4 bits fueron reemplazados
con 8 bits, a continuacin, 16 bits, a continuacin, microprocesadores de 32
bits. Esta tendencia general, lleg a su fin con la introduccin de los
procesadores de 32 bits, lo que ha sido un estndar en la informtica de uso
general durante dos dcadas. No hasta hace poco, con el advenimiento de
las arquitecturas x86-64, han procesadores de 64 bits convertido en algo
comn.
Paralelismo a nivel de instruccin.
Un programa de ordenador es, en esencia, una corriente de
instrucciones ejecutadas por un procesador. Estas instrucciones pueden ser
reordenadas y se combinan en grupos que luego se ejecutan en paralelo sin
cambiar el resultado del programa. Esto se conoce como paralelismo a nivel
de instruccin. Los avances en el paralelismo a nivel de instruccin

dominaron la arquitectura de computadores desde mediados de 1980 hasta


mediados de la dcada de 1990.
Los procesadores modernos tienen tuberas de instrucciones de
mltiples etapas. Cada etapa en la tubera corresponde a una accin
diferente que el procesador lleva a cabo en el que la instruccin en esa
etapa; un procesador con una tubera N-etapa puede tener hasta N
diferentes instrucciones en diferentes fases de ejecucin. El ejemplo
cannico de un procesador segmentado es un procesador RISC, con cinco
etapas: extraccin de instruccin, decodificar, ejecutar, acceso a la memoria,
y escribir de nuevo. El procesador Pentium 4 con una cartera de 35 etapas.
Adems de paralelismo a nivel de instruccin de la canalizacin,
algunos procesadores pueden emitir ms de una instruccin a la vez. Estos
son conocidos como procesadores superescalares. Las instrucciones pueden
ser agrupados juntos slo si no hay dependencia de datos entre ellos.
Scoreboarding y el algoritmo Tomasulo son dos de las tcnicas ms comunes
para la aplicacin de ejecucin de rdenes y el paralelismo a nivel de
instruccin.
Paralelismo de datos.
Es un paradigma de la programacin concurrente que consiste en
subdividir el conjunto de datos de entrada a un programa, de manera que a
cada procesador le corresponda un subconjunto de esos datos. Cada
procesador efectuar la misma secuencia de operaciones que los otros
procesadores sobre su subconjunto de datos asignado. En resumen: se
distribuyen los datos y se replican las tareas.
Idealmente, esta ejecucin simultnea de operaciones, resulta en una
aceleracin neta global del cmputo.
El paralelismo de datos es un paradigma suficientemente adecuado
para operaciones sobre vectores y matrices, dado que muchas de ellas
consisten en aplicar la misma operacin sobre cada uno de sus elementos.

Paralelismo de tareas.
Paralelismo de tareas es la caracterstica de un programa paralelo que
"completamente diferentes clculos se pueden realizar en cualquiera de los
mismos o diferentes conjuntos de datos". Esto contrasta con paralelismo de
datos, donde el mismo clculo se lleva a cabo en los mismos o diferentes
conjuntos de datos. Paralelismo de tareas por lo general no escala con el
tamao de un problema.

Segmentacin.
La segmentacin (en ingls pipelining, literalmente tubera o caera)
es un mtodo por el cual se consigue aumentar el rendimiento de algunos
sistemas electrnicos digitales. Es aplicado, sobre todo, en
microprocesadores. El nombre viene de que para impulsar el gas en un
oleoducto a la mxima velocidad es necesario dividir el oleoducto en tramos
y colocar una bomba que d un nuevo impulse al gas. El smil con la
programacin existe en que los clculos deben ser registrados o
sincronizados con el reloj cada cierto tiempo para que la ruta crtica (tramo
con ms carga o retardo computacional entre dos registros de reloj) se
reduzca.
La ruta crtica es en realidad la frecuencia mxima de trabajo
alcanzada por el conjunto. A mayor ruta crtica (tiempo o retraso entre
registros) menor es la frecuencia mxima de trabajo y a menor ruta crtica
mayor frecuencia de trabajo. La una es la inversa de la otra. Repartir o
segmentar equitativamente el clculo hace que esa frecuencia sea la ptima
a costa de ms rea para el almacenamiento o registro de los datos
intervinientes y de un retraso o latencia (en ciclos de reloj/tiempo) en la salida
del resultado equivalente al nmero de segmentaciones o registros
realizados. La ventaja primordial de este sistema es que, tal y como se
muestra en la imagen, una vez el pipe est lleno, es decir, despus de una
latencia de cuatro en la imagen, los resultados de cada comando vienen uno
tras otro cada flanco de reloj y sin latencia extra por estar encadenados

dentro del mismo pipe. Todo esto habiendo maximizado la frecuencia mxima
de trabajo.
El alto rendimiento y la velocidad elevada de los modernos
procesadores, se debe, principalmente a la conjuncin de tres tcnicas:

Arquitectura Harvard (arquitectura que propicia el paralelismo).


Procesador tipo RISC.
La propia segmentacin.

La segmentacin consiste en descomponer la ejecucin de cada


instruccin en varias etapas para poder empezar a procesar una instruccin
diferente en cada una de ellas y trabajar con varias a la vez.
En el caso del procesador DLX podemos encontrar las siguientes etapas
en una instruccin:

IF (Instruction Fetch): bsqueda


ID (Instruction Decode): decodificacin
EX (Execution): ejecucin de unidad aritmtico lgica
MEM (Memory): memoria.
WB (Writeback): escritura.

Cada una de estas etapas de la instruccin usa en exclusiva un hardware


determinado del procesador, de tal forma que la ejecucin de cada una de
las etapas en principio no interfiere en la ejecucin del resto.
En el caso de que el procesador no pudiese ejecutar las instrucciones en
etapas segmentadas, la ejecucin de la siguiente instruccin slo se podra
llevar a cabo tras la finalizacin de la primera. En cambio en un procesador
segmentado, salvo excepciones de dependencias de datos o uso de
unidades funcionales, la siguiente instruccin podra iniciar su ejecucin tras
acabar la primera etapa de la instruccin actual.

Otro ejemplo de lo anterior, en el caso del PIC, consiste en que el


procesador realice al mismo tiempo la ejecucin de una instruccin y la
bsqueda del cdigo de la siguiente.

Taxonoma de Flynn.
La taxonoma de Flynn es una clasificacin de arquitecturas de
computadores propuesta por Michael J. Flynn en 1972.
Clasificaciones.
Las cuatro clasificaciones definidas por Flynn se basan en el nmero
de instrucciones concurrentes (control) y en los flujos de datos disponibles en
la arquitectura:
Una instruccin, un dato (SISD).
Computador secuencial que no explota el paralelismo en las
instrucciones ni en flujos de datos. Ejemplos de arquitecturas SISD son las
mquinas con uni-procesador o monoprocesador tradicionales como el PC o
los antiguos mainframe.
Mltiples instrucciones, un dato (MISD).
Poco comn debido al hecho de que la efectividad de los mltiples
flujos de instrucciones suele precisar de mltiples flujos de datos. Sin
embargo, este tipo se usa en situaciones de paralelismo redundante, como
por ejemplo en navegacin area, donde se necesitan varios sistemas de
respaldo en caso de que uno falle. Tambin se han propuesto algunas
arquitecturas tericas que hacen uso de MISD, pero ninguna lleg a
producirse en masa.

Una instruccin, mltiples datos (SIMD).


Un computador que explota varios flujos de datos dentro de un nico
flujo de instrucciones para realizar operaciones que pueden ser paralelizadas
de manera natural. Por ejemplo, un procesador vectorial.
Mltiples instrucciones, mltiples datos (MIMD).
Varios procesadores autnomos que ejecutan simultneamente
instrucciones diferentes sobre datos diferentes. Los sistemas distribuidos
suelen clasificarse como arquitecturas MIMD; bien sea explotando un nico
espacio compartido de memoria, o uno distribuido.

Instruccin.
Se denomina instruccin en informtica al conjunto de datos
insertados en una secuencia estructurada o especfica que el procesador
interpreta y ejecuta.
Los tipos de instruccin permitidos estn definidos y determinados
dentro de cada plataforma en el conjunto de instrucciones (en ingls ISA,
instruction set architecture), que tambin determina los registros de origen y
destino de la CPU, y en ocasiones un dato inmediato (aquellos que son
especificados explcitamente en la instruccin).
Estas instrucciones del computador son las que determinan el
funcionamiento de la CPU que las ejecuta. La CPU puede realizar una
diversidad de funciones, que son el reflejo de la variedad de las instrucciones
definidas para dicha CPU. El programador tiene un repertorio de
instrucciones como medio para controlar la CPU.

Tipos de instruccin.

Instrucciones de transferencia de datos: en este tipo de instrucciones,


se transfieren datos desde una localizacin a otra. Los pasos que se
siguen para realizarlo son:

1.
2.
3.
4.

Determinacin de las direcciones de origen y destino de memoria.


Realizacin de la transformacin de memoria virtual a memoria real.
Comprobacin de la cach.
Inicio del proceso de lectura/escritura en la memoria.

Instrucciones aritmticas: pueden implicar transferencia de datos


antes y/o despus. Realizan operaciones aritmticas de las que se
encarga la ALU. Se pueden clasificar en de 1 operando (valor
absoluto, negacin) y 2 operandos (suma, resta).

Instrucciones lgicas: al igual que las aritmticas, la ALU se encarga


de realizar estas operaciones, que en este caso son de tipo lgico.

Instrucciones de conversin: similares a las aritmticas y lgicas.


Pueden implicar lgica especial para realizar la conversin.
Instrucciones de transferencia de control: actualizan el contador de
programa (PC). Administran las llamadas/retornos a las subrutinas, el
paso de parmetros y el enlazado.

Instrucciones de E/S (entrada/salida): administran los comandos de


entrada/salida. Si hay un mapa de memoria de entrada/salida,
determina la direccin de este mapa.

Vous aimerez peut-être aussi