Vous êtes sur la page 1sur 36

Integrantes:

Snchez Vidal Marita Lisbeth


Vsquez Snchez Israel Aarn
Zarate Izaguirre Albert Jonathan
GENERALIDADES

Se denomina arquitectura sper escalar a aquella implementacin capaz de ejecutar ms de una


instruccin por ciclo de reloj. Para ello se usan mltiples cauces, con lo que varias instrucciones
pueden iniciar su ejecucin de manera independiente.

El trmino sper escalar se emplea como contraposicin a la arquitectura escalar, que solo es
capaz de ejecutar una instruccin por ciclo de reloj.

Un procesador superescalar es capaz de ejecutar ms de una instruccin, solo si estas no


presentan algn tipo de dependencia.
PROCESADOR SUPERESCALAR vs PROCESADOR SUPER SEGMENTADO

La supersegmentacin aprovecha el hecho de que muchas etapas del ciclo de instruccin


realizan tarea que requiere menos de la mitad de un ciclo de reloj, teniendo como base
esta idea, se dobla la velocidad de reloj interna, con lo cual es posible realizar dos tareas
en un ciclo de reloj externo.

En la figura siguiente se comparan ambas soluciones, en la primera parte del diagrama se


presenta una ejecucin normal de instrucciones con cuatro etapas:

CAPTACIN DE INSTRUCCIN

DECODIFICACIN DE LA OPERACIN

EJECUCIN DE LA OPERACIN

ESCRITURA DEL RESULTADO


0 1 2 3 4 5 6 7 8 9

Luego, se presenta la implementacin super segmentada, en la cual es posible ejecutar dos etapas del cauce por ciclo de
reloj. Esta forma de implementacin es denominada de grado 2, pues, las funciones realizadas en cada etapa se dividen
en dos y cada una de ellas se realiza en medio ciclo de reloj.

0 1 2 3 4 5 6 7 8 9
Por ltimo, se presenta la implementacin superescalar, en al cual es posible
ejecutar dos instrucciones en paralelo.

0 1 2 3 4 5 6 7 8 9
Diagrama Completo:
PARALELISMO

al disear un procesador superescalar, ser necesario manejar este concepto y evitar los
conflictos que podran surgir al ejecutar instrucciones en forma paralela cuando realmente
deberan ser ejecutadas en forma secuencial.

Se define dos conceptos relacionados con el paralelismo: el paralelismo a nivel de


instrucciones y el paralelismo a nivel de mquina.

PARALELISMO A NIVEL DE INSTRUCCIONES

PARALELISMO A NIVEL DE MQUINA


PARALELISMO A NIVEL DE INSTRUCCIONES

El paralelismo a nivel de instrucciones es funcin de la frecuencia de dependencias de


datos verdaderas y relativas al procedimiento que haya en el cdigo.

En la figura 3.1, se muestran dos secuencias de instrucciones, una que permite ejecucin
solapada de instrucciones y otra que no, pues, en este ltimo caso, el registro 3 (R3) debe
ser actualizado primero (sumndole 1) antes de sumarle el contenido del registro 2 (R2) y
almacenarlo en el registro 4 (R4).
PARALELISMO A NIVEL DE MQUINA

Es una medida de la capacidad del procesador para sacar partido del paralelismo a nivel de
instrucciones. El paralelismo de la mquina depender del nmero de instrucciones que se
pueden captar y ejecutar al mismo tiempo, y de la capacidad del procesador para localizar
instrucciones independientes.

Depende de factores como:

Nmero de instrucciones que pueden captarse y ejecutarse al mismo tiempo.

Velocidad y sofisticacin del mecanismo del procesador para lograr


instrucciones independientes.
En una computadora con arquitectura segmentada, o arquitectura pipeline, cada uno de los pasos
completa una parte de una instruccin. Estos pasos son llamados etapas o segmentos. Cada etapa esta
conectada a la siguiente, de tal forma que para que se ejecute una instruccin debe pasar por cada una de
las etapas.

El pipeline incrementa el throughput de las instrucciones, nmero de instrucciones completadas por


unidad de tiempo, ejecutando diferentes etapas de diferentes instrucciones simultneamente.
Las etapas tpicas del pipeline de un procesador son las siguientes:

FETCH (INSTRUCTION FETCH, IF)

Trae la instruccin de la memoria al IR (Instruction Register); incrementa el PC (Program counter)


para la direccin de la siguiente instruccin. El Instruction Register se usa para guardar la instruccin
que se puede necesitar en los subsecuentes ciclos de reloj. El registro NPC (Next Program Counter)
se usa para guardar el siguiente PC.

DECODE (INSTRUCTION DECODE)

Decodifica las instrucciones y lee los registros. La lectura de los registros se hace en paralelo debido a
que se encuentran en un lugar fijo.
EXECUTE (EX)

El ALU (Arithmetic Logic Unit) ejecuta la instruccin cuyos operandos quedaron listos en el ciclo
anterior, realizando una de cuatro funciones dependiendo del tipo de la instruccin.

Referencia a memoria. El ALU suma los operandos para formar la direccin efectiva. El
resultado lo pone en el registro ALU output.
Instruccin registro-registro. El ALU realiza la operacin especificada por el cdigo de
operacin entre el registro A y el registro B. El resultado lo pone en el registro temporal
ALU output.
Instruccin registro-inmediato. El ALU realiza la operacin especificada por el cdigo de
operacin entre el registro A y el registro Imm. El resultado lo pone en el registro
temporal ALU output.
Salto. El ALU suma el NPC al valor en el registro Imm para calcular la direccin de la
instruccin a ejecutar despus del salto.
MEMORY ACCESS (MEM)

Referencia a memoria. Si la instruccin es una carga, se toman los datos de la


memoria y se colocan en el registro LMD (Load Memory Data); si es un
almacenamiento los datos se toman del registro B y se escribe en memoria.
Salto. Si la instruccin es un salto, se modifica el valor de PC por la direccin de
destino del salto.

WRITEBACK (WB)

Toma el resultado de memoria o del ALU y lo escribe en los registros.

A continuacin se describe ms en detalle como se efecta dicho trabajo en un


procesador moderno. En la Figura 1.3 se muestra un diagrama de bloques de la
arquitectura tpica de un procesador superescalar
UNIDAD DE FETCH/DECODE

En esta unidad se lee un flujo de instrucciones desde la memoria cache de instrucciones L1


transmitindolas al decodificador, y las transforma en una serie de micro-operaciones an en el
orden del flujo de instrucciones original.

BUFFER DE REORDENAMIENTO

Las micro-operaciones del flujo de instrucciones se mantienen en el mismo orden en que


fueron enviadas desde la unidad de Decode. El buffer de reordenamiento o cola de
instrucciones es un arreglo organizado en registros, los cuales contienen micro operaciones en
espera a ser ejecutados as como las instrucciones que ya han sido ejecutadas pero no han sido
retiradas del buffer.
UNIDAD DE DESPACHO Y EJECUCIN

La ejecucin de las micro-operaciones se realiza en las unidades de aritmtica de enteros donde


una de ellas est diseada para ejecutar micro-operaciones de salto, en las unidades de punto
flotante y en la unidad de carga y almacenamiento (memory interface unit) permitiendo la
ejecucin de varias instrucciones por ciclo de reloj.

UNIDAD DE RETIRO

Esta unidad toma los resultados obtenidos en la ejecucin y los retira del buffer de
reordenamiento.
Un procesador superescalar suele tener unidades funcionales independientes de
los tipos siguientes :

UNIDAD ARITMTICO LGICA (ALU)

UNIDAD DE LECTURA/ESCRITURA EN MEMORIA


(LOAD/STORE UNIT)

UNIDAD DE COMA FLOTANTE (FLOATING POINT UNIT)

UNIDAD DE SALTO (BRANCH UNIT)


Unidad aritmtica lgica (ALU)
Es un circuito digital que calcula operaciones aritmticas (como suma, resta, multiplicacin, etc.)
y operaciones lgicas (si, y, o, no), entre valores (generalmente uno o dos) de los argumentos.

Un microprocesador moderno (y los mainframes) puede tener


mltiples ncleos, cada ncleo con mltiples unidades de ejecucin, cada
una de ellas con mltiples ALU.

Generalmente utilizada en circuitos de alta complejidad, cubriendo no


solo operaciones matemticas simples, sino una gran cantidad de
clculos por segundos
Unidad de lectura/escritura en memoria
(Load/Store Unit)
Es una unidad de ejecucin especializada responsable de ejecutar todas las instrucciones de
carga y almacenamiento, generando direcciones virtuales de operaciones de carga y
almacenamiento y cargando datos de memoria o almacenndolos en memoria de los registros.

Una arquitectura load / store divide las instrucciones en 2 categoras:


acceso a la memoria (carga y almacenamiento entre memoria y registros) y
operaciones ALU (que slo ocurren entre registros).

Los sistemas RISC como PowerPC, SPARC, RISC-V, ARM o MIPS


utilizan la arquitectura load / store.
Unidad de salto (Branch Unit)
Un predictor de saltos (branch predictor en ingls) es un circuito digital utilizado en los
procesadores que utilizan segmentacin de la unidad de proceso para reducir ciclos de parada
en la segmentacin.

Los saltos condicionales introducen retardo en estos procesadores, ya que


normalmente no se evala la condicin del salto hasta pasadas varias etapas.

La prediccin es posible anotando el comportamiento del programa en saltos


anteriores.
DEPENDENCIA VERDADERA DE DATOS

Tambin llamada dependencia de flujo o dependencia escritura-lectura. Se produce cuando una


instruccin necesita un dato producido por una instruccin que la precede.

add r1, r2 ; cargar el registro r1 con el contenido de r2 ms el contenido de r1


move r3,r1 ; cargar el registro r3 con el contenido de r1

Si no hay dependencias, se pueden captar y ejecutar dos instrucciones en paralelo. Si existe


dependencia de datos entre un par de instrucciones, se retrasa la segunda instruccin tantos ciclos
de reloj como sea necesario para eliminar la dependencia.
DEPENDENCIA RELATIVA AL PROCEDIMIENTO

Las instrucciones que siguen a una bifurcacin (se pueden saltar o no) tienen una dependencia
relativa al procedimiento en la bifurcacin y no se pueden ejecutar hasta que se ejecute la
bifurcacin.

El uso de instrucciones de longitud variable, genera otro tipo de dependencia relativa al


procedimiento. Al no conocer la longitud, sta debe ser decodificada parcialmente antes de captar
la siguiente, y de esta forma se est impidiendo la captacin simultnea para un cauce superescalar.
CONFLICTO EN LOS RECURSOS

Un conflicto en un recurso es una competencia de dos o ms instrucciones por el mismo recurso


o unidad funcional (memoria, cach, buses, etc.) al mismo tiempo.

Desde el punto de vista del cauce, un conflicto por recursos presenta el mismo comportamiento
que la dependencia de datos, sin embargo existen algunas diferencias, las cuales se enumeran a
continuacin:

Los conflictos en los recursos pueden superarse duplicando stos.

Cuando una operacin tarda ms del tiempo considerado normal, los conflictos de
recursos se pueden minimizar segmentando la unidad funcional correspondiente.
DEPENDENCIA DE SALIDA

Tambin llamada dependencia lectura-escritura.

El ejemplo de la figura ilustra esta dependencia. La instruccin I3 si se ejecuta antes del final de I1,
se captar un valor incorrecto de R3 para la ejecucin de I4, por lo tanto I3 debe terminar despus
de I1. Para asegurar esto, la emisin de la tercera instruccin debe detenerse si su resultado puede
ser sobrescrito ms tarde por una instruccin anterior que tarda ms en finalizar.
ANTIDEPENDENCIA

Tambin llamada lectura-escritura.

El ejemplo de la figura ilustra esta dependencia. La instruccin I3 no puede finalizar antes de que
la instruccin I2 comience a ejecutarse y haya captado sus operandos, esto, porque I3 actualiza el
registro R3, que es operando fuente de I2.

El trmino antidependencia es utilizado porque la restriccin es similar a la de la


dependencia verdadera pero a la inversa. (La segunda instruccin destruye un valor que
usa la primera instruccin)
MICROARQUITECTURA
LOS INICIOS
LAS MAQUINAS QUE CAMBIARON EL MUNDO

Tras la era industrial y aprovechando la segunda guerra mundial, los gobiernos ms potentes
se vieron en la necesidad de invertir el tiempo mquinas que pudiesen tratar informacin y
adems almacenar los resultados para poder estudiarlos a posteriori as naci
la arquitectura de Von Neumann.
La arquitectura de Von Neumann fue ideada por John Von Neumann en la dcada de los 40.
Su misin es servir un esquema de funcionamiento genrico que permitiese a un ordenador
ejecutar tareas sucesivamente, sin tener que modificar la estructura fsica del equipo.tres
componentes bsicos:

Una unidad de proceso que incluir ALU y unidad de control.

Dispositivos de memoria para almacenar informacin, bien temporal o final.

Perifricos de entrada/salida para comunicarse con el usuario.


Y QU ES UNA MICROARQUITECTURA?

La microarquitectura pretende organizar todos


los componentes internos de un procesador.
Las arquitecturas actuales de nuestros
ordenadores utilizan transistores de 22
nanmetros, 0.000022 milmetros.
Un mismo juego de instrucciones ISA (Instruction
Set Architecture) puede ser ejecutado sobre
diferentes microarquitecturas pero a su vez
depende de este,su objetivo de costo y
desempeo.
Ademas es el segundo nivel de la maquina
contempornea por encima de la lgica
digital y debajo de la arquitectura de
conjunto de instrucciones.
Implementa el nivel ISA
Contiene un microprograma en la memoria
ROM para buscar,decodificar y ejecutar
instrucciones ISA

Las ISA modernas(especialmente las RISC) tiene instrucciones


sencillas que pueden ejecutarse en un ciclo de reloj .Las mas
complejas podran requerir muchos ciclos para ejecutar una sola
instruccin.
DISEO DE NIVEL DE MICRO-ARQUITECTURA
Con esto se busca un equilibrio entre las caractersticas deseadas en la PC.

Rapidez VS Costo: tiene 3 estrategias


Reducir los ciclos de trabajo para aumentar una
instruccin

Simplificar la organizacin para que el ciclo de reloj


pueda ser mas corto
Traslapar ejecucin
Un ejemplo es la creacin de nuevos sumadores binarios

La rapidez puede medirse por la cantidad de trabajo


que efecta cada reloj.
Se puede controlar la cantidad de codificacin pero el
costo seria un retraso.
REDUCCIN DE LA LONGITUD DE
TRAYECTORIA DE EJECUCIN:
El nmero de ciclos de reloj para ejecutar un
conjunto de operaciones se llama longitud de
trayectoria.
Fusin del ciclo de intrprete con el micro-
cdigo
Una arquitectura de tres buses.
Unidad de obtencin de instrucciones
Se podr reducir el tiempo de ciclo?
Si, aplicando el paralelismo e introduciendo 2
registro adicionales, asi se acelerara el ciclo de
reloj y se pueden usar todas las partes mientras se
ejecuta el ciclo.
ARQUITECTURA
La arquitectura de computadoras es el diseo conceptual y la estructura operacional fundamental
de un sistema de computadora. Es decir, es un modelo y una descripcin funcional de los
requerimientos y las implementaciones de diseo para varias partes de una computadora, con
especial inters en la forma en que la unidad central de proceso (UCP) trabaja internamente y
accede a las direcciones de memoria.
MICROARQUITECTURA VS. ISA(INSTRUCTION SET ARCHITECTURE)

La ISA es una imagen abstracta de un sistema de computacin .


La microarquitectura es de nivel inferior mas concreto.
Dos maquinas diferentes podran tener diferente ISA y ejecutar los mismos programas.
Diferentes microarquitecturas permiten nuevas generaciones de procesadores.
DOS MODELOS DE ARQUITECTURA
ARQUITECTURA RISC
En la arquitectura computacional, RISC (del ingls reduced instruction set computer) es un
tipo de microprocesador con las siguientes caractersticas fundamentales:
Instrucciones de tamao fijo y presentadas en un reducido nmero de formatos.
Slo las instrucciones de carga y almacenamiento acceden a la memoria de datos.

ARQUITECTURA CISC
En la arquitectura computacional, CISC (complex instruction set computer) es un modelo
de arquitectura de computadora.
Los microprocesadores CISC tienen un conjunto de instrucciones que se caracteriza por
ser muy amplio y permitir operaciones complejas entre operandos situados en la
memoria o en los registros internos, en contraposicin a la arquitectura RISC.
COMPARACIN ENTRE CISC Y RISC
Enumeramos una serie de diferencias entre una arquitectura y otra.

Vous aimerez peut-être aussi