Está en la página 1de 41

2014

Ingeniera de Sistemas

Arquitectura de Computadoras

PROCESAMIENTO
PARALELO

DOCENTE:
- Ing. Arellano Salazar, Csar

INTEGRANTES:
- Alvarez Cruzado, Juana
- Cabrera Daz, Juan Carlos
- Carranza De la cruz, Rosita
- Correa Yengle, Randy

1.

TRUJILLO PER
2014
1

Ingeniera de Sistemas

Arquitectura de Computadoras

NDICE
INTRODUCCIN ........................................................................................................................................ 5
PROCESAMIENTO PARALELO ................................................................................................................... 6
TAXONOMA DE FLYNN.................................................................................................................6
Diagrama de comparacin de las clasificaciones .............................................................. 6
1.Una instruccin, un dato (SISD) ............................................................................................................ 7
1.1.

CARACTERSTICAS.....................................................................................................................7

1.2.

EJEMPLO: ..................................................................................................................................8

2.Single Instruction, Multiple Data (SIMD) .............................................................................................. 9


2.1.

CARACTERSTICAS.................................................................................................................. 10

2.2.

FUNCIONAMIENTO................................................................................................................ 10

2.2.1.

Arquitectura vectorial con segmentacin: .......................................................... 11

2.2.2.

Arquitectura Matricial (matriz de procesadores):............................................... 11

2.3.

EJEMPLOS: ............................................................................................................................. 11

3.Multiple Instruction, Single Data (MISD) ............................................................................................ 12


3.1.

CARACTERSTICAS:................................................................................................................. 12

3.2.

EJEMPLO: ............................................................................................................................... 13

4.Mltiples instrucciones, Mltiple data (MIMD) .................................................................................. 14


4.1.

CARACTERSTICAS.................................................................................................................. 14

4.2.

CLASIFICACIN: ..................................................................................................................... 15

4.2.1.

SISTEMAS DE MEMORIA COMPARTIDA .............................................................. 15

4.2.2.

SISTEMAS DE MEMORIA DISTRIBUIDA. ............................................................... 17

4.2.3.

SISTEMAS DE MEMORIA COMPARTIDA DISTRIBUIDA ........................................ 17

Ingeniera de Sistemas

Arquitectura de Computadoras

ARQUITECTURA RISC Y CISC ................................................................................................................... 18


1.Microprocesadores RISC ..................................................................................................................... 19
2.Microprocesadores CISC ..................................................................................................................... 19
3. Ventajas y desventajas de RISC y CISC ............................................................................................... 19
RISC ........................................................................................................................................................ 20
DESCRIPCIN Y CARACTERSTICAS ......................................................................................................... 20
1. NTRODUCCIN ................................................................................................................................... 20
2CARACTERSTICAS ................................................................................................................................ 21
3. VENTAJAS Y DESVENTAJAS ................................................................................................................. 22
4.PAPEL DE LOS COMPILADORES EN UN SISTEMA RISC ........................................................................ 23
5.CAPACIDAD DE PROCESAMIENTO DE LOS SISTEMAS DESDE EL PUNTO DE VISTA DEL USUARIO ...... 24
6.Procesadores actuales ........................................................................................................................ 24
7.CISC o RISC? ....................................................................................................................................... 25
Multiprocesadores ................................................................................................................................. 25
1.Memoria compartida: ......................................................................................................................... 25
1.1.

UMA (Uniform Memory Access) ........................................................................................... 26

1.2.

NUMA (No Uniform Memory Access) ................................................................................... 26

1.3.

Ventajas y Desventaja de Memoria Compartida .................................................................. 27

1.3.1.

Ventajas ............................................................................................................... 27

1.3.2.

Desventajas ......................................................................................................... 27

2.Memoria distribuida ........................................................................................................................... 28


2.1.

Ventajas y Desventaja de Memoria Distribuida .................................................................... 28

2.1.1.

Ventajas ............................................................................................................... 28

2.1.2.

Desventajas ..................................................................................................... 29

3.Memoria Hbrida Compartida-Distribuida .......................................................................................... 29


3.1.

Ventajas & Desventajas de las Memorias Compartidas Distribuidas ................................... 30

3.1.1.

Ventajas: ............................................................................................................. 30

3.1.2.

Desventajas: ........................................................................................................ 30

4.TOPOLOGIAS ....................................................................................................................................... 31
4.1.

Totalmente conectada (Completely connected)................................................................... 31

4.2.

Parcialmente conectada ........................................................................................................ 31

Ingeniera de Sistemas

Arquitectura de Computadoras

4.3.

Jerrquico o rbol (Tree) ....................................................................................................... 32

4.4.

Estrella ................................................................................................................................... 32

4.5.

Anillo (ring) ............................................................................................................................ 33

LOS SISTEMAS DE MEMORIA CACH Y EL MULTIPROCESO ................................................................... 34


1.Escritura continua (write-through). .................................................................................................... 34
2.Copia posterior (copy-back). ............................................................................................................... 35
2.1.

Escritura radiada (write-broadcast) ...................................................................................... 35

2.2.

Escritura invalidada (write-invalidate) .................................................................................. 35

CONCLUSIONES ...................................................................................................................................... 38
BIBLIOGRAFA ......................................................................................................................................... 40
LINKOGRAFIA ......................................................................................................................................... 41

Ingeniera de Sistemas

Arquitectura de Computadoras

INTRODUCCIN
La computacin Paralela, es muy importante actualmente, al permitir mejorar la velocidad en
la solucin de grandes problemas, de modo que se mejora el rendimiento de computo.
La computacin paralela es una forma de cmputo en la que muchas instrucciones se ejecutan
simultneamente, operando sobre el principio de que problemas grandes, a menudo se pueden
dividir en unos ms pequeos, que luego son resueltos simultneamente (en paralelo). Hay
varias formas diferentes de computacin paralela: paralelismo a nivel de bit, paralelismo a
nivel de instruccin, paralelismo de datos y paralelismo de tareas.
El inters en ella ha crecido ltimamente debido a las limitaciones fsicas que impiden el
aumento de la frecuencia; para alcanzar grandes velocidades y capacidades de elaboracin de
datos, que son necesarias para el llamado procesamiento de inteligencia, es la disponer varios
procesadores en paralelo, actuando simultneamente.
Los procesos paralelos son los que se producen en distintos recursos al mismo tiempo, los
procesos simultneos son los que pueden producirse, en distintos recursos al mismo tiempo, y
los procesos solapados son los que pueden producirse en intervalos de tiempo superpuestos.
El nivel ms elevado del procesamiento paralelo es el de llevar a cabo mltiples tareas
mediante sistemas de multiprogramacin, tiempo compartido y multiprocesamiento.
O sea que la tarea primordial, es la de implementar algoritmos que permitan realizar tareas en
paralelo, continuando con los procedimientos y los sistemas operativos para tal objetivo, y
terminando con la construccin de sistemas con organizaciones que permitan la realizacin de
tareas simultneas.
Lo dicho sugiere que el procesamiento paralelo es un campo de estudios combinado, en el
cual debe hacerse un perfecto balance entre hardware y software.

Ingeniera de Sistemas

Arquitectura de Computadoras

PROCESAMIENTO PARALELO
TAXONOMA DE FLYNN
Es una clasificacin de arquitecturas de computadoras propuestas por Michael J. Flynn en
1972 es la ms aceptada en el mundo y se debe a Flynn, que clasifico las arquitecturas de
acuerdo a los flujos de datos (data stream). Y a los flujos de instrucciones (instrution streams).
El concepto de flujos de datos se refiere al nmero de operados que se pueden procesar al
tiempo y el de flujos de instrucciones se refiere a cuantos programas se puede ejecutar al
tiempo. Propone tambin la presentacin mediante diagramas de bloques.
Siendo la clasificacin ms extendida del paralelismo, distingue entre instrucciones y datos,
estos pueden ser simples o mltiples.
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:
Hay cuatro arquitecturas como se puede observar
(processing unit) es una unidad de procesamiento:

a continuacin en donde cada "PU"

Diagrama de comparacin de las


clasificaciones

Ingeniera de Sistemas

Arquitectura de Computadoras

1. Una instruccin, un dato (SISD)


Es un trmino que se refiere a una arquitectura computacional en la que un nico
procesador ejecuta un slo flujo de instrucciones, para operar sobre datos almacenados
en una nica memoria. Se corresponde con la arquitectura de Von Neumann.
En esta categora SISD se encuentran la gran mayora de las computadoras existentes.
SISD

1.1.

CARACTERSTICAS

Son equipos con un solo procesador, que trabaja sobre un solo dato a la vez.
A estos equipos se les llama tambin computadoras secuenciales.
Flujo nico de instrucciones.
Flujo nico de datos.
Corresponde al modelo estructural bsico, con un procesador de instrucciones y un
procesador de datos.
Tiene una nica va de acceso a la memoria principal.
Este es el modelo tradicional de computacin secuencial donde una unidad de
procesamiento recibe una sola secuencia de instrucciones que operan en una
secuencia de datos.

Secuencia de
instrucciones

Secuencia de
datos

Ingeniera de Sistemas

1.2.

Arquitectura de Computadoras

EJEMPLO:

Maquinas con un procesador o monoprocesador tradicionales como los antiguos


mainframe (computadora central)
La mayora de las computadoras, servidores y estaciones de trabajo.
Maquinas clsicas de Von Neumann.

1. CPU
INTERPRETA LAS INSTRUCCIONES CONTENIDAS LOS PROGRAMAS Y PROCESA LOS DATOS.
2. MEMORIA PRINCIPAL
RETIENE DATOS INFORMTICOS DURANTE ALGN INTERVALO DE TIEMPO.
3. DISPOSITIVOS DE ENTRADA/ SALIDA
SON DISPOSITIVOS CON EL CUAL EL ORDENADOR SE COMUNICA CON EL MUNDO EXTERIOR.
4. UNIDAD ARITMTICA LGICA
CIRCUITO DIGITAL QUE CALCULA OPERACIONES ARITMTICAS Y OPERACIONES LGICAS
ENTRE DOS NMEROS.
5. UNIDAD DE CONTROL
BUSCA LAS INTERRUPCIONES EN LA MEMORIA PRINCIPAL, LAS INTERPRETA Y LAS
EJECUTA.

Ingeniera de Sistemas

Arquitectura de Computadoras

2. Single Instruction, Multiple Data (SIMD)


Se lo conoce como un arreglo de procesadores.
A diferencia de SISD, en este caso se tienen mltiples procesadores que
sincronizadamente ejecutan la misma secuencia de instrucciones, pero en diferentes
datos. El tipo de memoria que estos sistemas utilizan es distribuida.
Las computadoras SIMD tienen una sola unidad de control y mltiples unidades
funcionales. La unidad de control se encarga de enviar la misma instruccin a todas las
unidades funcionales. Cada unidad funcional trabaja sobre datos diferentes. Estos
equipos son de propsito especfico, es decir, son apropiados para ciertas aplicaciones
particulares, como por ejemplo el procesamiento de imgenes.
Existe controversia acerca de si realmente existen equipos de tipo MISD. Hay quienes
argumentan que estos equipos no existen. Otras personas consideran que un grupo de
equipos que trabaja sobre un solo dato se puede considerar como un sistema de tipo
MISD.

SIMD

Ingeniera de Sistemas

2.1.

Arquitectura de Computadoras

CARACTERSTICAS

Estos sistemas tienen un nico flujo de instrucciones que operan sobre mltiples
flujos de datos. Como por ejemplo:
o Mquinas vectoriales con hardware escalar.
o Maquinas vectoriales con hardware vectorial.
El procesamiento es sincrnico
La ejecucin de las instrucciones sigue siendo secuencial, es decir que todos los
elementos realizan una misma instruccin pero sobre una gran cantidad de datos.
Por este motivo existir concurrencia de operacin, es decir es el origen de la
mquina paralela.
Diferentes elementos de informacin son asignados a cada procesador.
Utiliza memoria distribuida.
Tiene una sola unidad de control y y mltiples unidades funcionales. La unidad
de control se encarga de enviar la misma instruccin a todas las unidades
funcionales.
Cada unidad funcional trabaja sobre datos diferentes. Estos equipos son de
propsito especfico, es decir, son apropiados para ciertas aplicaciones
particulares, como por ejemplo el procesamiento de imgenes.

- Instrucci
ones

Procesador 1

2.2.

Procesador 2

Procesador 3

FUNCIONAMIENTO
El funcionamiento de este tipo de sistema es el siguiente:
La Unidad de Control manda una misma instruccin a todas las unidades de proceso
(ALUs). Las unidades de proceso operan sobre datos diferentes pero con la misma
instruccin recibida.
Existen dos alternativas distintas que aparecen despus de realizarse esta
clasificacin:

10

Ingeniera de Sistemas

Arquitectura de Computadoras

2.2.1. Arquitectura vectorial con segmentacin:


Una CPU nica particionada en unidades funcionales independientes
trabajando sobre flujos de datos concretos.

2.2.2. Arquitectura Matricial (matriz de procesadores):


Varias ALUs idnticas a las que el procesador de instrucciones asigna una
nica instruccin pero trabajando sobre diferentes partes del programa.

Carga A

Carga A(2)

Carga A(n)

Carga B(1)

Carga B(2)

Carga B(n)

T
I
C(1)=A(1)+B(1)

C(2)=A(2)+B(2)

C(n)=A(n)+B(n)
E

Guarda C(1)

Guarda C(2)

Guarda C(n)
M

2.3.

Unidad 1

Unidad 2

Unidad n

P
O

EJEMPLOS:

Thinking Machines CM-2


MassPar computers
Procesador MMX
Supercomputadoras vectoriales, procesadores de arreglos (Cray-1 (USA) 1976).

11

Ingeniera de Sistemas

Arquitectura de Computadoras

3. Multiple Instruction, Single Data (MISD)


Consiste en instrucciones que aplican una misma operacin sobre un conjunto ms o
menos grande de datos. Es una organizacin que influye muchas unidades de
procesamiento bajo la supervisin de una unidad de control comn. Es decir, una
nica unidad de control despachada las instrucciones a diferentes unidades de
procesamiento.
Todos los procesadores reciben la misma institucin de la unidad de control, pero
operan sobre diferentes conjuntos de datos. Es decir la misma instruccin es ejecutada
de manera sncrona por todas las unidades de procesamiento.
Este tipo se refiere a ordenar procesadores con unidad de instruccin que busca una
instruccin y despus instruye a varias de datos para que la lleven a cabo en paralelo.

MISD

3.1.

CARACTERSTICAS:
Mltiples Instrucciones operando sobre los mismos datos.
Secuencias de instrucciones pasan a travs de mltiples procesadores.
Cada unidad ejecuta una instruccin distinta.
Cada unidad procesa el mismo dato.
Aplicacin muy limitada en la vida real.

12

Ingeniera de Sistemas

Arquitectura de Computadoras

Carga A

Carga A

Carga A

C(1)=A*1

C(2)=A*2

C(n)=A*n

Guarda C(1)

Guarda C(2)

Guarda C(n)

Unidad 2

Unidad n

Unidad 1

3.2.

EJEMPLO:

Presumiblemente ninguna.

13

Ingeniera de Sistemas

Arquitectura de Computadoras

4. Mltiples instrucciones, Mltiple data (MIMD)


Cuyas siglas significa Multiple Instruction, Multiple Data.
Es un sistema con un flujo de mltiples instrucciones que operan sobre mltiples
datos.
Estos sistemas empezaron a utilizarse a principios de los 80.
Se las conoce como mltiples computadoras y multiprocesadores. Se puede decir que
MIMD es un sper conjunto de SIMD.
MIMD

4.1.

CARACTERSTICAS
Son sistemas con memoria compartida que permite ejecutar varios procesos
simultneamente (sistema multiprocesador)
La diferencia con estos sistemas es que MIMD es asncrono.
No tiene un reloj central.
Cuando las unidades de proceso reciben datos de una memoria no compartida estos
sistemas reciben el nombre de Mltiple SISD (MSISD).
Los procesadores pueden ejecutar la misma o instruccin o diferentes instrucciones
y tener sus propios datos
Diferentes elementos de informacin se asignan a diferentes procesadores
Pueden tener memoria distribuida o compartida.
Cada procesador MIMD corre casi independientemente de los otros.
Pueden ser utilizadas en aplicaciones con informacin en paralelo o con tareas en
paralelo.

14

Ingeniera de Sistemas

- Conjunto
de
Instrucc
iones 1
Procesador 1

4.2.

Arquitectura de Computadoras

- Conjunto
de
Instrucc
iones 1

- Conjunto
de
Instrucc
iones 2
Procesador 2

Procesador 3

CLASIFICACIN:
1.
2.
3.

Sistemas de Memoria Compartida.


Sistemas de Memoria Distribuida.
Sistemas de Memoria Compartida Distribuida.

4.2.1. SISTEMAS DE MEMORIA COMPARTIDA


La memoria convencional que puede direccionar un proceso a travs de su espacio de
direcciones virtuales es local a ese proceso, cualquier intento de direccionar esa
memoria desde otro proceso va a provocar una violacin de segmento.
El mecanismo de memoria compartida permite a dos o ms procesos compartir un
segmento de memoria, y por consiguiente, los datos que hay en l. Es por ello el
mtodo ms rpido de comunicacin entre procesos.
Al ser el objetivo de este tipo de comunicacin la transferencia de datos entre varios
procesos, los programas que utilizan memoria compartida deben normalmente
establecer algn tipo de protocolo para el bloqueo. Este protocolo puede ser la
utilizacin de semforos, que es a su vez otro tipo de comunicacin (sincronizacin)
entre procesos.
La memoria que maneja un proceso, y tambin la compartida, va a ser virtual, por lo
que su direccin fsica puede variar con el tiempo. Esto no va a plantear ningn
problema, ya que los procesos no generan direcciones fsicas, sino virtuales, y es el
ncleo (con su gestor de memoria) el encargado de traducir unas a otras.

15

Ingeniera de Sistemas

Arquitectura de Computadoras

- Software
En el software, memoria compartida puede referirse a:
Un mtodo de comunicacin entre procesos, por ejemplo: el intercambio de datos
entre dos programas ejecutndose al mismo tiempo. Uno de los procesos crear un
rea en RAM a la que el otro pueda acceder, o un mtodo para conservar espacio en la
memoria, usando mapeos virtuales o bien soporte explcito del programa en cuestin,
dirigiendo los accesos a una sola instancia de datos que normalmente seran
duplicados. Comnmente destinado para bibliotecas de enlace dinmico dinmicas y
el espacio de usuario (XIP, "execute in place).
Dado que ambos procesos pueden acceder al rea de memoria compartida como
memoria de trabajo regular, esta es una forma de comunicacin veloz (al contrario de
otros mecanismos de comunicacin entre procesos como tuberas nombradas, socket
de dominio UNIX o CORBA. En cambio, este sistema es menos potente, si, por
ejemplo, los procesos que se comunican deben ejecutarse en la misma mquina (en
cuanto a otros mtodos de comunicacin entre procesos, solo los sockets del Internet
Domain (no los sockets de UNIX), pueden usar una red de computadoras). Esto se
debe a que se requiere mayor atencin y cuidado si los procesos que comparten
memoria corren en CPUs separadas y la arquitectura subyacente no soporta coherencia
de cach.
La comunicacin entre procesos por memoria compartida se usa en UNIX, para
transferir imgenes entre una aplicacin y un XServer, o en la biblioteca COM de
Windows dentro del objeto IStream devuelto por la funcin CoMarshal Inter Thread
Interface In Stream. Las bibliotecas de enlace dinmico se copian una sola vez en la
memoria y son "mapeadas" para mltiples procesos. Slo las pginas que estn
personalizadas se duplican, normalmente con un mecanismo conocido como copy-onwrite que de manera transparente copia la pgina cuando se intenta escribir en sta, y
despus permite que la escritura se realice en la copia privada.
- Hardware
Se refiere a la situacin dnde cada nodo (computadora) comparte sus tablas de
pginas, su memoria virtual y todo lo que habita en la memoria RAM con otros nodos
en la misma red de interconexin. Una ejemplo de memoria compartida es DSM.
En otras palabras, una computadora convencional tiene una memoria RAM y un CPU
(entre otras partes de hardware), las cuales estn comunicadas de manera local.
Cuando se habla de multicomputadoras es necesario entenderlas como un conjunto de
mquinas convencionales trabajando coordinadamente con el objetivo de compartir
recursos de software y hardware para tareas muy especficas, como por ejemplo la
investigacin. El hecho de que cada CPU slo pueda acceder a la RAM local no
beneficia mucho y agrega complejidad a los programadores de multicomputadoras,
con la comparticin de memoria se mitiga esta complejidad ya que todas las CPUs
pueden acceder a la misma RAM.

16

Ingeniera de Sistemas

Arquitectura de Computadoras

Ejemplos son: SGI/Cray Power Challenge, SGI/Cray C90, SGI/Onyx, ENCORE,


MULTIMAX, SEQUENT y BALANCE, entre otras.

4.2.2. SISTEMAS DE MEMORIA DISTRIBUIDA.


Estos sistemas tienen su propia memoria local. Los procesadores pueden compartir
informacin solamente enviando mensajes.
Las computadoras MIMD de memoria distribuida son conocidas como sistemas de
procesamiento en paralelo masivo (MPP) donde mltiples procesadores trabajan en
diferentes partes de un programa, usando su propio sistema operativo y memoria.
Algunos ejemplos de este tipo de mquinas son IBM SP2 y SGI/Cray T3D/T3E.
4.2.3. SISTEMAS DE MEMORIA COMPARTIDA DISTRIBUIDA
Es una particin de procesadores que tienen acceso a una memoria compartida
comn pero sin un canal compartido. Esto es, fsicamente cada procesador posee su
memoria local y se interconecta con otros procesadores por medio de un dispositivo
de alta velocidad, y todos ven las memorias de cada uno como un espacio de
direcciones globales.
Algunos ejemplos de este tipo de sistemas son HP/Convex SPP-2000 y SGI/Cray
Origin2000.

17

Ingeniera de Sistemas

Arquitectura de Computadoras

ARQUITECTURA RISC Y CISC


Una de las primeras decisiones a la hora de disear un microprocesador es decidir cul ser su
juego de instrucciones.
La decisin por dos razones; primero, el juego de instrucciones decide el diseo fsico del
conjunto; segundo, cualquier operacin que deba ejecutarse en el microprocesador deber
poder ser descrita en trminos de un lenguaje de estas instrucciones.
Frente a esta cuestin caben dos filosofas de diseo; mquinas denominadas CISC y
mquinas denominadas RISC.

Cuando hablamos de microprocesadores CISC, computadoras con un conjunto de


instrucciones complejo, (del ingls complex instruction set computer), y procesadores RISC,
computadoras con un conjunto de instrucciones reducido, (del ingls reduced instruction set
computer), se piensa que los atributos complejo y reducido describen las diferencias entre los
dos modelos de arquitectura para microprocesadores.
Esto es cierto solo de forma superficial, pues se requiere de muchas otras caractersticas
esenciales para definir los RISC y los CISC.
Hasta hace solo algunos aos, la divisin era tajante: RISC se utilizaba para entornos de red,
mientras que CISC se aplicaba en ordenadores domsticos. Pero en la actualidad se alzan

18

Ingeniera de Sistemas

Arquitectura de Computadoras

voces que afirman que CISC est agotando sus posibilidades, mientras otras defienden
fervientemente que CISC ya ha alcanzado a RISC, adoptando algunas de sus principales
caractersticas.

1. Microprocesadores RISC
El trmino microprocesador RISC significa microprocesador "Reduced Instruction Set
Computer". Esto significa que los microprocesadores RISC utilizan slo un simple conjunto
de instrucciones para leer y procesar los datos. Estos conjuntos simples de instrucciones se
completan normalmente en un ciclo de reloj de la computadora, o el nmero de pulsos del
oscilador por segundo que el procesador de tu equipo puede manejar, es decir la velocidad se
mide en megahertz o gigahertz.

2. Microprocesadores CISC
El trmino microprocesador CISC significa microprocesador "Complex Instruction Set
Computer". Como el nombre implica, el microprocesador CISC ejecuta los comandos
complejos en menos lneas de cdigo, estableciendo este tipo de procesador como una
alternativa a los microprocesadores RISC. Segn cientficos de la computacin de Stanford
University, el objetivo de la arquitectura de los microprocesadores CISC es ejecutar tareas de
procesamiento en el menor nmero de lneas de cdigo como sea posible.

3. Ventajas y desventajas de RISC y CISC


Los microprocesadores RISC son generalmente menos costosos de construir y vender, ya que
utilizan menos componentes y transistores, segn Amiga History, una base de datos de la
historia de la tecnologa. Sin embargo, estos chips no requieren muchas ms lneas de cdigo
para ejecutar las tareas que sus contrapartes CISC. Los microprocesadores CISC son
considerados ser ms fciles para trabajar para los programadores, pero son ms costosos de
desarrollar

19

Ingeniera de Sistemas

Arquitectura de Computadoras

RISC
DESCRIPCIN Y
CARACTERSTICAS
Veamos primero cual es el significado de los trminos CISC y RISC:
- CISC (complex instruction set computer) Computadoras con un conjunto de
instrucciones complejo.
- RISC (reduced instruction set computer) Computadoras con un conjunto de
instrucciones reducido.

1. INTRODUCCIN
Los atributos complejo y reducido describen las diferencias entre los dos modelos de
arquitectura para microprocesadores solo de forma superficial. Se requiere de muchas otras
caractersticas esenciales para definir los RISC y los CISC tpicos. An ms, existen diversos
procesadores que no se pueden asignar con facilidad a ninguna categora determinada.
As, los trminos complejo y reducido, expresan muy bien una importante caracterstica
definitiva, siempre que no se tomen solo como referencia las instrucciones, sino que se
considere tambin la complejidad del hardware del procesador.
Con tecnologas de semiconductores comparables e igual frecuencia de reloj, un procesador
RISC tpico tiene una capacidad de procesamiento de dos a cuatro veces mayor que la de un
CISC, pero su estructura de hardware es tan simple, que se puede realizar en una fraccin de
la superficie ocupada por el circuito integrado de un procesador CISC.
Esto hace suponer que RISC reemplazar al CISC, pero la respuesta a esta cuestin no es tan
simple ya que:
-

Para aplicar una determinada arquitectura de microprocesador son decisivas las


condiciones de realizacin tcnica y sobre todo la rentabilidad, incluyendo los costos
de software. Existan y existen razones de compatibilidad para desarrollar y utilizar
procesadores de estructura compleja as como un extenso conjunto de instrucciones.

La meta principal es incrementar el rendimiento del procesador, ya sea optimizando


alguno existente o se desee crear uno nuevo. Para esto se deben considerar tres reas
principales a cubrir en el diseo del procesador y estas son:

20

Ingeniera de Sistemas

Arquitectura de Computadoras

La arquitectura.
La tecnologa de proceso (los materiales y tcnicas utilizadas en la fabricacin del
circuito integrado)
El encapsulado (cmo se integra un procesador con lo que lo rodea en un sistema
funcional, que de alguna manera determina la velocidad total del sistema.)

Aunque la tecnologa de proceso y de encapsulado son vitales en la elaboracin de


procesadores ms rpidos, es la arquitectura del procesador lo que hace la diferencia entre el
rendimiento de una CPU (Control Process Unit) y otra. Y es en la evaluacin de las
arquitecturas RISC y CISC donde centraremos nuestra atencin.

Dependiendo de cmo el procesador almacena los operandos de las instrucciones de la CPU,


existen tres tipos de juegos de instrucciones:
1. Juego de instrucciones para arquitecturas basadas en pilas.
2. Juego de instrucciones para arquitecturas basadas en acumulador.
3. Juego de instrucciones para arquitecturas basadas en registros.
Las arquitecturas RISC y CISC son ejemplos de CPU con un conjunto de instrucciones para
ARQUTECTURAS BASADAS EN REGISTROS.
Una de las primeras decisiones a la hora de disear un microprocesador es decidir cul ser
su juego de instrucciones. La decisin es trascendente por dos razones:
- Primero, el juego de instrucciones decide el diseo fsico del conjunto.
- Segundo, cualquier operacin que deba ejecutarse en el microprocesador
deber poder ser descrita en trminos de un lenguaje de estas instrucciones.
Frente a esta cuestin caben dos filosofas de diseo; mquinas denominadas CISC y
mquinas denominadas RISC.

2. CARACTERSTICAS
-

Un chip RISC tpicamente tendr menos transistores dedicados a la lgica principal.


Esto permite a los diseadores una flexibilidad considerable; as pueden, por ejemplo:

Incrementar el tamao del conjunto de registros.


Mayor velocidad en la ejecucin de instrucciones.
Implementar medidas para aumentar el paralelismo interno.
Aadir cachs enormes.
Aadir otras funcionalidades, como E/S y relojes para minicontroladores.
Construir los chips en lneas de produccin antiguas que de otra manera no
seran utilizables.

21

Ingeniera de Sistemas

Arquitectura de Computadoras

Las caractersticas que generalmente son encontradas en los diseos RISC son:

Codificacin uniforme de instrucciones (ejemplo: el cdigo de operacin se


encuentra siempre en la misma posicin en cada instruccin, la cual es siempre
una palabra), lo que permite una decodificacin ms rpida.
Un conjunto de registros homogneo, permitiendo que cualquier registro sea
utilizado en cualquier contexto y as simplificar el diseo del compilador
(aunque existen muchas formas de separar los ficheros de registro
de entero y coma flotante).
Modos de direccionamiento simple con modos ms complejos reemplazados
por secuencias de instrucciones aritmticas simples.
Los tipos de datos soportados en el hardware (por ejemplo, algunas mquinas
CISC tiene instrucciones para tratar con tipos byte, cadena) no se encuentran
en una mquina RISC.

3. VENTAJAS Y DESVENTAJAS
La arquitectura RISC funciona de modo muy diferente a la CISC, su objetivo no es ahorrar
esfuerzos externos por parte del software con sus accesos a la RAM, sino facilitar que las
instrucciones sean ejecutadas lo ms rpidamente posible.
La forma de conseguirlo es simplificando el tipo de instrucciones que ejecuta el procesador.
As, las instrucciones ms breves y sencillas de un procesador RISC son capaces de ejecutarse
mucho ms aprisa que las instrucciones ms largas y complejas de un chip CISC. Sin
embargo, este diseo requiere de mucha ms RAM y de una tecnologa de compilador ms
avanzada.
La relativa sencillez de la arquitectura de los procesadores RISC conduce a ciclos de diseo
ms cortos cuando se desarrollan nuevas versiones, lo que posibilita siempre la aplicacin de
las ms recientes tecnologas de semiconductores.
Por ello, los procesadores RISC no solo tienden a ofrecer una capacidad de procesamiento del
sistema de 2 a 4 veces mayor, sino que los saltos de capacidad que se producen de generacin
en generacin son mucho mayores que en los CISC.
Los comandos que incorpora el chip RISC en su ROM constan de varias instrucciones
pequeas que realizan una sola tarea. Las aplicaciones son aqu las encargadas de indicar al
procesador qu combinacin de estas instrucciones debe ejecutar para completar una
operacin mayor.
Adems, los comandos de RISC son todos del mismo tamao y se cargan y almacenan del
mismo modo. Al ser estas instrucciones pequeas y sencillas, no necesitan ser descodificadas
en instrucciones menores como en el caso de los chips CISC, pues ya constituyen en s
unidades descodificadas. Por ello, el procesador RISC no gasta tiempo verificando el tamao
del comando, en descodificarlo ni en averiguar cmo cargarlo y guardarlo.
El procesador RISC puede adems ejecutar hasta 10 comandos a la vez pues el compilador del
software es el que determina qu comandos son independientes y por ello es posible ejecutar
varios a la vez. Y al ser los comandos del RISC ms sencillos, la circuitera por la que pasan
tambin es ms sencilla. Estos comandos pasan por menos transistores, de forma que se

22

Ingeniera de Sistemas

Arquitectura de Computadoras

ejecutan con ms rapidez. Para ejecutar una sola instruccin normalmente les basta con un
ciclo de reloj.
Entre LAS VENTAJAS DE RISC tenemos las siguientes:
- La CPU trabaja ms rpido al utilizar menos ciclos de reloj para ejecutar instrucciones.
- Utiliza un sistema de direcciones no destructivas en RAM. Eso significa que a
diferencia de CISC, RISC conserva despus de realizar sus operaciones en memoria
los dos operandos y su resultado, reduciendo la ejecucin de nuevas operaciones.
- Cada instruccin puede ser ejecutada en un solo ciclo del CPU
DESVENTAJAS DE ESTE DISEO
- Menor potencia que otros procesadores. Existen operaciones que se aceleran
muchsimo con instrucciones complejas. Sobre todo de ndole matemtica asociadas a
simulaciones, tratamiento de seal, video, fotos.

4. PAPEL DE LOS COMPILADORES EN UN SISTEMA RISC


El compilador juega un papel clave para un sistema RISC equilibrado.
Todas las operaciones complejas se trasladan al microprocesador por medio de conexiones
fijas en el circuito integrado para agilizar las instrucciones bsicas ms importantes. De esta
manera, el compilador asume la funcin de un mediador inteligente entre el programa de
aplicacin y el microprocesador. Es decir, se hace un gran esfuerzo para mantener al hardware
tan simple como sea posible, an a costa de hacer al compilador considerablemente ms
complicado. Esta estrategia se encuentra en clara contra posicin con las mquinas CISC que
tienen modos de direccionamiento muy complicados. En la prctica, la existencia en algunos
modos de direccionamiento complicados en los microprocesadores CISC, hacen que tanto el
compilador como el microprograma sean muy complicados.
No obstante, las mquinas CISC no tienen caractersticas complicadas como carga,
almacenamiento y salto que consumen mucho tiempo, las cuales en efecto aumentan la
complejidad del compilador.
Para suministrar datos al microprocesador de tal forma que siempre est trabajando en forma
eficiente, se aplican diferentes tcnicas de optimizacin en distintos niveles jerrquicos del
software.
Los diseadores de RISC en la empresa MIP y en Hewlett Packard trabajan segn la regla
siguiente:
Una instruccin ingresa en forma fija en el circuito integrado del procesador (es decir, se
alambra fsicamente en el procesador) si se ha demostrado que la capacidad total del sistema
se incrementa en por lo menos un 1%.
En cambio, los procesadores CISC, han sido desarrollados por equipos especializados de las
empresas productoras de semiconductores y con frecuencia el desarrollo de compiladores se
sigue por separado. Por consiguiente, los diseadores de los compiladores se encuentran con

23

Ingeniera de Sistemas

Arquitectura de Computadoras

una interfaz hacia el procesador ya definido y no pueden influir sobre la distribucin ptima
de las funciones entre el procesador y compilador.
Las empresas de software que desarrollan compiladores y programas de aplicacin, tienden
por razones de rentabilidad, a utilizar diferentes procesadores como usuarios de su software
en lugar de realizar una optimizacin completa, y aprovechar as las respectivas caractersticas
de cada uno. Lo cual tambin genera otros factores negativos de eficiencia. Esta limitacin de
las posibilidades de optimizacin del sistema, que viene dada a menudo por una obligada
compatibilidad, se super con los modernos desarrollos RISC.

5. CAPACIDAD DE PROCESAMIENTO DE LOS SISTEMAS


DESDE EL PUNTO DE VISTA DEL USUARIO
A parte de la base conceptual para el desarrollo de un sistema de computacin de alta calidad,
se requieren tcnicas especiales para optimizar cada uno de los factores que determinan la
capacidad de procesamiento, la cual, solo puede definirse con el programa de aplicacin.
La informacin suministrada por un fabricante, sobre la velocidad en mips (millones de
Instrucciones por segundo) que una arquitectura es capaz de realizar, carece de relevancia
hasta que el usuario sepa cuantas instrucciones genera el respectivo compilador, al traducir su
programa de aplicacin y cunto tiempo tarda la ejecucin de estas instrucciones, y solo el
anlisis de diferentes pruebas y comparaciones de rendimiento ("benchmarks) da una idea
aproximada, que el usuario puede aplicar para delimitar las arquitecturas adecuadas.
Dos diferentes puntos de vista acerca de capacidad de procesamiento del sistema.
Sistema reprogramable. Un usuario que necesite desarrollar un sistema reprogramable, no est
interesado en obtener una alta capacidad de procesamiento. Sistema incluido o dedicado. En
estos sistemas el principal objetivo es procesar en forma repetitiva una serie de aplicaciones o
funciones determinadas, y es de suma importancia la mayor cantidad posible de pruebas y
comparaciones de rendimiento ("benchmarks) diferentes.
As, estas pruebas y comparaciones sirven para determinar la capacidad de procesamiento de
los sistemas, pero solo el anlisis de varios resultados de diferentes programas da una idea
aproximada de la capacidad de procesamiento real.

6. Procesadores actuales
La guerra entre las arquitecturas CISC, que es la opuesta a la RISC, es antigua. Sin embargo y
gracias a las tabletas y Smartphone ha vuelto a estar de actualidad. ARM la empresa que est
detrs de la mayora de los micros para estos dispositivos utiliza desde siempre arquitectura
RISC.
Cualquier micro de Intel o AMD es una mezcla entre CISC y RISC. Tienen instrucciones
CISC realmente complejas que son divididas en trozos y procesadas en el orden ms
adecuado para utilizar todos los recursos al mismo tiempo.

24

Ingeniera de Sistemas

Arquitectura de Computadoras

7. CISC o RISC?
La mayor ventaja de un procesador RISC frente a uno CISC es su eficiencia energtica. Por
eso todava Intel no ha podido entrar como le gustara en el mercado de los dispositivos
porttiles. Un bajo consumo necesita un micro capaz de realizar sus tareas sin desperdiciar ni
un slo watio.
Aunque los micros actuales que puedes tener en cualquier PC son muy parecidos a los RISC
es cierto que incluyen en su interior mucha potencia de clculo que necesita energa para
funcionar.

Multiprocesadores
Un multiprocesador se puede ver como un computador paralelo compuesto por varios
procesadores interconectados que pueden compartir un mismo sistema de memoria. Los
procesadores se pueden configurar para que ejecute cada uno una parte de un programa o
varios programas al mismo tiempo. Un diagrama de bloques de esta arquitectura se muestra
en la figura 1.3. Tal y como se muestra en la figura, que corresponde a un tipo particular de
multiprocesador que se ver ms adelante, un multiprocesador est generalmente formado por
n procesadores y m mdulos de memoria. A los procesadores los llamamos P1, P2,. . ., Pn y a
las memorias M1, M2, . . . , Mn. La red de interconexin conecta cada procesador a un
subconjunto de los mdulos de memoria.
Dado que los multiprocesadores comparten los diferentes mdulos de memoria, pudiendo
acceder varios procesadores a un mismo mdulo, a los multiprocesadores tambin se les llama
sistemas de memoria compartida.

1. Memoria compartida:
En general la memoria compartida permite a los procesadores acceder a la memoria
como un espacio de direcciones global
Procesadores mltiples pueden operar independientemente sobre recursos de memoria
compartida
Un cambio en la memoria producido por una unidad de procesamiento es visible por el
resto de los procesadores
Hay dos clases de arquitecturas de memoria compartida: UMA y NUMA

25

Ingeniera de Sistemas

1.1.

Arquitectura de Computadoras

UMA (Uniform Memory Access)

En un modelo de Memoria de Acceso Uniforme, la memoria fsica est


uniformemente compartida por todos los procesadores. Esto quiere decir que todos los
procesadores tienen el mismo tiempo de acceso a todas las palabras de memoria. Cada
procesador puede tener su cache privada, y los perifricos son tambin compartidos de
alguna manera.
A estos computadores se les suele llamar sistemas fuertemente acoplados dado el alto
grado de comparticin de los recursos.
Es frecuente encontrar arquitecturas de acceso uniforme que adems tienen coherencia
de cach, a estos sistemas se les suele llamar CC-UMA (Cache-Coherent Uniform
Memory Access).
Un claro ejemplo son las machinas SMP (Symmetric Multiprocessor)
Las prioridades y los tiempos de acceso son iguales para todos

1.2.

NUMA (No Uniform Memory Access)

Un multiprocesador de tipo NUMA es un sistema de memoria compartida donde el


tiempo de acceso vara segn el lugar donde se encuentre localizado el acceso. La
figura 1.4 muestra una posible configuracin de tipo NUMA, donde toda la memoria
es compartida pero local a cada mdulo procesador. Otras posibles configuraciones
incluyen los sistemas basados en agrupaciones (clusters) de sistemas como el de la
figura que se comunican a travs de otra red de comunicacin que puede incluir una
memoria compartida global. La ventaja de estos sistemas es que el acceso a la
memoria local es ms rpido que en los UMA aunque un acceso a memoria no local es
ms lento. Lo que se intenta es que la memoria utilizada por los procesos que ejecuta
cada procesador, se encuentre en la memoria de dicho procesador para que los accesos
sean lo ms locales posible. Aparte de esto, se puede aadir al sistema una memoria de
acceso global.

26

Ingeniera de Sistemas

Arquitectura de Computadoras

En este caso se dan tres posibles patrones de acceso.


El ms rpido es el acceso a memoria local. Le sigue el acceso a memoria global. El
ms lento es el acceso a la memoria del resto de mdulos.
Al igual que hay sistemas de tipo CC-UMA, tambin existe el modelo de acceso a
memoria no uniforme con coherencia de cach CC-NUMA (Cache-Coherent NonUniform Memory Access) que consiste en memoria compartida distribuida y
directorios de cache.

1.3.

Ventajas y Desventaja de Memoria Compartida

1.3.1. Ventajas
Espacio de memoria global es amigable para el programador
El intercambio de datos entre las tareas es rpido y uniforme debido a la proximidad entre
CPUs

1.3.2. Desventajas
El principal problema es que no se puede escalar el modelo. Cuando se agregan CPUs el
trfico se incrementa geomtricamente y comienzan los problemas de coherencia
El programador es responsable de la sincronizacin de los datos y la coherencia en la
memoria

27

Ingeniera de Sistemas

Arquitectura de Computadoras

MEMORIA COMPARTIDA

RED

Procesador 1

Procesador 2

Procesador 3

2. Memoria distribuida
Hay varios modelos de memoria distribuida. El patrn general es el uso de una red de
comunicacin para conectar las memorias de los procesadores.
Los procesadores tienen su propia memoria local y no hay correspondencia entre dos
procesadores.
Independencia de operacin, los cambios en un lugar no afectan al resto.
Cuando un procesador necesita un dato externo, el programador lo ordena explcitamente.
La red de comunicacin puede variar ampliamente, puede ser una red Ethernet.

2.1.

Ventajas y Desventaja de Memoria Distribuida

2.1.1. Ventajas
El modelo escala con los procesadores. A medida que se agregan unidades de
procesamiento la memoria escala proporcionalmente
Cada procesador accede a un dato en memoria sin interferir al resto de los componentes. Se
eliminan las demoras por accesos mltiples

28

Ingeniera de Sistemas

Arquitectura de Computadoras

2.1.2. Desventajas
El programador es responsable de muchos de los detalles asociados a la comunicacin
entre procesadores
Puede ser dificultoso mapear estructuras de datos basadas en memoria global a esta
organizacin de memoria

MEMORIA 1

Procesador 1

MEMORIA 2

Procesador 2

MEMORIA 3

Procesador 3

RED

3. Memoria Hbrida Compartida-Distribuida


Son sistemas que, mediante software, emulan semntica de memoria compartida sobre
hardware que ofrece soporte solo para comunicacin mediante paso de mensajes. Este modelo
permite utilizar una red de estaciones de trabajo de bajo costo como una maquina paralela con
grandes capacidades de procesamiento y amplia escalabilidad, siendo a la vez fcil de
programar. El objetivo principal de estos sistemas es permitir que un multicomputador pueda
ejecutar programas escritos para un multiprocesador con memoria compartida.
Cada uno de los nodos en un sistema de MCD aporta una parte de su memoria local para
construir un espacio global de direcciones virtuales que ser empleado por los procesos
paralelos que se ejecuten en el sistema. El software de MCD se encarga de interceptar las
referencias a memoria que hacen los procesos, y satisfacerlas, ya sea local o remotamente. Si
los accesos a memoria hacen referencia a posiciones almacenadas remotamente, es necesario
llevar a cabo una transferencia a travs de la red, con el consecuente overhead que esto
conlleva. Por esta razn los sistemas de MCD tienen un comportamiento no uniforme
respecto a los accesos a memoria. Sin embargo, a diferencia de los sistemas NUMA, en este
caso los procesadores no tienen acceso a memoria remota en forma directa. Es necesario que
medie un componente de software para permitir los accesos que no son locales.

29

Ingeniera de Sistemas

Arquitectura de Computadoras

Los sistemas de memoria compartida distribuida (DSM) representan la creacin hibrida de


dos tipos de computacin paralelos: la memoria distribuida en sistemas multiprocesador y los
sistemas distribuidos. Ellos proveen la abstraccin de memoria compartida en sistemas con
memorias distribuidas fsicamente y consecuentemente combinan las mejores caractersticas
de ambos enfoques. Debido a esto, el concepto de memoria compartida distribuida es
reconocido como uno de los enfoques ms atractivos para la creacin de sistemas escalables,
de alto rendimiento de sistemas multi-procesador.

3.1.

Ventajas & Desventajas de las Memorias Compartidas Distribuidas

3.1.1. Ventajas:
Ilusin de una memoria fsica compartida, sin cuellos de botella.
Estabilidad (podemos extender el sistema sin mucho problema).
Menor costo.

3.1.2. Desventajas:
Topologa de red muy importante.
Administracin de la red.

NODO 1
MEMORIA

NODO 2
MEMORIA

NODO 3
MEMORIA

RED

Procesador 1

Procesador 2

Procesador 3

30

Ingeniera de Sistemas

Arquitectura de Computadoras

4. TOPOLOGIAS
4.1.

Totalmente conectada (Completely connected)

En esta topologa cualquier nodo en el sistema est conectado a todos los otros nodos de la
red. (Fig. 7.2).
El costo bsico de esta configuracin es alto, ya que debe existir una conexin directa entre
cada dos nodos. El costo de anexar un nuevo nodo crece segn X, donde X es la cantidad de
nodos que contiene la red.
Sin embargo, en este entorno los mensajes entre nodos
pueden entregarse muy velozmente, cualquier mensaje
utiliza solamente una conexin para viajar entre dos
nodos.
Estos sistemas son muy confiables ya que deben fallar
muchos nodos para que el sistema completo falle.
Un sistema est particionado si se ha dividido en dos
subsistemas que no pueden comunicarse entre s.

4.2.

Parcialmente conectada

En una red parcialmente conectada existen conexiones directas entre dos nodos pero no para
rodos los nodos. De all el costo bsico de la red sea menor.
Un mensaje de un nodo a otro puede requerir viajar entre
varios nodos antes de arribar a su destino, lo que resulta
en una comunicacin ms lenta.
No es tan confiable como la totalmente conectada.
Por ejemplo en la figura si falla la conexin entre el nodo
B y el nodo C entonces la red era particionada en dos
subsistemas. Para minimizar la posibilidad en general
cada nodo est conectado con por lo menos otros dos
nodos.

31

Ingeniera de Sistemas

4.3.

Arquitectura de Computadoras

Jerrquico o rbol (Tree)

En una red jerrquica los nodos estn organizados como un


rbol. Es una organizacin comn en las redes de
computadoras corporativas donde las oficinas individuales
estn conectadas a una oficina central local, las que a su vez
cuelgan de las oficinas regionales y esta finalmente de las
oficinas en la central.
Cada nodo (excepto la raz) tiene un nico antecesor y varios
hijos. El costo bsico de esta configuracin es menor que el
de la parcialmente conectada.
Un padre y si hijo se comunican directamente. Los hermanos se comunican entre s solo a
travs del padre. En forma similar los primos solo pueden comunicarse a travs de sus
abuelos. Si un nodo falla todos sus hijos quedan incomunicados con el resto de la red

En general, la falla de cualquier nodo puede particional la red en varios subrboles disjuntos.
Aun cuando se han propuesto varias topologas basadas en la estructura de rbol, los rboles
binarios completos han sido la variante ms analizada.
Se han empleado varias estrategias para reducir el dimetro de comunicacin de estas
topologas (2(n-1) para un rbol binario completo de n niveles y 2n -1 procesadores). Algunas
soluciones incluyen agregar conexiones extra a la red para unir todos los nodos de un mismo
nivel.

4.4.

Estrella

En una red estrella uno de los nodos est conectado a


todos los dems. El costo bsico de este sistema es lineal
respecto del nmero de nodos.El costo de comunicacin
es tambin bajo, ya que un mensaje del proceso A al
proceso B solamente requiere de dos transferencias
(Desde A a C y de C a B).

32

Ingeniera de Sistemas

Arquitectura de Computadoras

Sin embargo esta velocidad puede no ser tal ya que el nodo central puede convertirse en un
cuello de botella. Mientras haya pocos mensajes la velocidad se mantendr alta. En algunos
sistemas estrella el nodo central est totalmente dedicado al pasaje de mensajes. El nodo
central falla la red queda totalmente particionada.

4.5.

Anillo (ring)

En una red anillo cada nodo est conectado a solo otros dos nodos. El anillo puede ser
unidireccional o bidireccional. En una arquitectura unidireccional un nodo puede transmitir
informacin hacia uno solo de sus vecinos. Todos los nodos
entregan informacin hacia la misma direccin.
Esta topologa ha sido muy utilizada por IBM para sus redes
denominadas "Token Ring". En una arquitectura bidireccional un
nodo puede transmitir informacin hacia cualquiera de sus
vecinos.

De forma tpica, se utilizan paquetes de mensajes de tamao fijo incluyendo un campo que
indica el nodo destino. El costo bsico de un anillo es nuevamente lineal respecto de la
cantidad de nodos.
Sin embargo el costo de comunicacin puede ser bastante alto ya que un mensaje de un nodo
a otro debe viajar alrededor del anillo hasta que llega a destino. En un anillo unidireccional
deber recorrer a lo sumo n-1 nodos, en tanto que en un bidireccional a lo sumo n/2.
En una red bidireccional debe fallar dos conexiones para que la red se particiones. En un
anillo unidireccional la falla de un solo nodo particionera la red.

33

Ingeniera de Sistemas

Arquitectura de Computadoras

LOS SISTEMAS DE MEMORIA


CACH Y EL MULTIPROCESO
Los sistemas de memoria multinivel (cache) son un esfuerzo para evitar el nmero de
peticiones realizadas por cada CPU al bus. Los caches son pequeas y rpidas (y por
tanto caras) memorias, que hacen de tampn (buffer) entre la CPU y la memoria
externa, para mantener los datos y/o instrucciones. Se basan en el principio de la
"localidad", lo que significa que, dada la fundamental naturaleza secuencial de los
programas, los siguientes datos o instrucciones requeridas, estarn localizadas
inmediatamente a continuacin de las actuales.
Los datos contenidos en la memoria cache se organizan en bloques denominados
lneas. Las lneas son cargadas en el cache como copias exactas de los datos situados
en la memoria externa. Para referenciar a los datos de la memoria cache, se emplean
marcas (tags) que identifican a cada lnea. Las marcas o tags emplean una porcin de
la direccin fsica de los datos, para compararla con la direccin fsica solicitada por la
CPU. Cuando existe una coincidencia exacta de la direccin y de otros cualificadores
(estado, privilegio, contexto, etc.), se dice que ha tenido lugar un acierto (hit) de
cache; en caso contrario, tiene lugar un fallo (miss) del cache, y en ese caso, los datos
han de ser recuperados desde la memoria.
El empleo de memoria cache se ha popularizado, como medida para acelerar el tiempo
de acceso a la memoria principal, incluso en los sistemas monoprocesador, evitando
as, segn se incrementa la velocidad de los propios procesadores, aumentar la
velocidad de dicha memoria, y por tanto encarecer el sistema.
La forma en que la memoria es actualizada por los caches locales puede tener un gran
impacto en las prestaciones de un sistema multiprocesador. Bsicamente hay dos
mtodos:

1. Escritura continua (write-through).


Requiere que todas las escrituras realizadas en el cache actualicen asimismo los datos
de la memoria principal. De esta forma, la memoria principal siempre tiene la ltima
copia de los datos, y por tanto no hay nunca ninguna incoherencia con el cache. El
inconveniente es que se producen frecuentes accesos a memoria, especialmente
superfluos cuando el software est modificando las mismas secciones de datos
repetidamente (por ejemplo ejecutando bucles).

34

Ingeniera de Sistemas

Arquitectura de Computadoras

2. Copia posterior (copy-back).


Es un sistema mucho ms eficiente, aunque tambin ms complejo de implementar.
En este caso, la CPU puede modificar la lnea de cache sin necesidad de actualizar
inmediatamente la memoria principal. Los datos solo son copiados a la memoria
principal cuando la lnea de cache va a ser reemplazada con una nueva. Ello no solo
minimiza el trfico del bus, de vital importancia para el resto de los procesadores, sino
que tambin libera al procesador de la tarea de escribir en la memoria principal. Sin
embargo, este sistema, en una arquitectura de bus compartido, implica un nuevo nivel
de dificultad, denominado coherencia o consistencia (coherency o consistency); dado
que cada cache puede tener una copia de los datos existentes en la memoria principal,
el desafo es asegurar que los datos permanecen iguales entre todos los caches. Hay
dos mtodos para mantener cada lnea de cache idntica a las dems:

2.1.

Escritura radiada (write-broadcast)


Que requiere que la CPU que modifica los datos compartidos actualice los
otros caches, para lo cual escribe en el bus la direccin de los datos, y los datos
mismos, de modo que todos los dispositivos interesados (otras CPUs) los
capturen. Esto asegura que cada lnea de cache en el sistema es una copia
exacta de las dems.

2.2.

Escritura invalidada (write-invalidate)


Impide a una CPU modificar los datos compartidos en su cache hasta que otros
caches han invalidado sus copias. En cuanto otros caches invalidan sus lneas,
el cache modificado tiene la nica copia; de este modo, se garantiza que un
solo cache escribe una lnea compartida en un momento dado. Tiene la ventaja
de conservar el ancho de banda del bus ya que los datos modificados no tienen
que ser enviados a otros caches.

Ambos sistemas requieren que los caches sean capaces de identificar peticiones en el
bus que afecten a sus datos, lo que se realiza con una tcnica conocida como "sondeo
del bus" (bus snooping). Cada cache compara las direcciones de las peticiones en el
bus compartido con los datos en su propio cache, usando las marcas (tags).
Este sistema requiere un acceso concurrente a las marcas (tags) del cache por parte del
bus del sistema y del bus del procesador. Sin dicho acceso concurrente, el procesador
no podra acceder al cache durante las operaciones de sondeo del bus (que tienen que
tener prioridad de acceso a las marcas, para poder mantener la coherencia del cache).
El resultado son frecuentes atascos del procesador y consecuentemente, bajo
rendimiento.

35

Ingeniera de Sistemas

Arquitectura de Computadoras

A su vez, hay varios protocolos asociados con el sondeo del bus para el movimiento
de los datos y los mensajes entre los caches:
- Intervencin indirecta de los datos (indirect data intervencin). Es el mtodo
ms simple de intercambio de datos entre procesadores, aunque tambin el
menos eficiente. La 1ra CPU hace una peticin de datos, que es sondeada por
la 2da; tiene lugar un acierto de sondeo (snoop hit) si dichos datos estn en el
cache de la 2da CPU, entonces esta obtiene el control del bus e indica a la 1ra
que lo reintente ms tarde. La 2da CPU escribe los datos de su cache a la
memoria, y la 1ra CPU obtiene el control del bus de nuevo, reiniciando la
peticin. Los datos son ahora suministrados por la memoria.
-

Intervencin directa de los datos (direct data intervention). Los datos son
suministrados directamente por la 2da CPU a la 1ra. Este mecanismo es
aplicable fundamentalmente a los sistemas con sistemas de cache de copia
posterior (copy-back). Aunque pueden evitar muchos ciclos comparados con la
intervencin indirecta, la memoria principal permanece inconsistente con el
cache, y debe de ser actualizada cuando la linea de cache es vaciada.

Reflexin a memoria (memory reflection) con intervencin directa. La


memoria captura los datos que han sido depositados en el bus, mientras son
enviados a la CPU solicitante. Si la lnea de cache no ha sido modificada antes
de que tenga lugar la ltima transaccin de intervencin de datos, no es
necesario escribir a la memoria, con lo que se conserva el ancho de banda. Esta
actualizacin del cache solicitante y la memoria puede tener lugar en un mismo
y nico ciclo de reloj.

36

Ingeniera de Sistemas

Arquitectura de Computadoras

37

Ingeniera de Sistemas

Arquitectura de Computadoras

CONCLUSIONES
No es un hecho meramente acadmico, sino puramente comercial y econmico. La
"era RISC" ha alcanzado a todos los fabricantes de semiconductores: AMD, Intel,
MIPS, Motorola, ROSS; y todos ellos son productos usados por fabricantes de
ordenadores y estaciones de trabajo: Apple, DEC, HP, IBM, SUN, etc. y sus
correspondientes clnicos.
El tiempo de diseo de estos productos se reduce sensiblemente, lo que disminuye su
coste final, y por tanto, se incrementan sus expectativas, al poder llegar al mercado en
un tiempo ms adecuado, y con menos posibilidades de errores.
Adems, son globalmente ms eficaces, de menores dimensiones y ms bajo consumo,
ofreciendo siempre claras ventajas tcnicas frente a los ms avanzados CISC.
Actualmente, las estaciones de trabajo RISC multiprocesadoras de mayor xito, se
basan en diferentes versiones de la tecnologa SPARC: superSPARC e HyperSPARC.
Est claro que el futuro pertenece a los RISC y a los sistemas multiprocesador, a no
ser que la fsica y la electrnica logren superar las barreras tecnolgicas para
incrementar muy por encima de las cotas actuales, las velocidades y prestaciones de
una nica CPU.
Tambin cabe esperar, y porque no, la pronta aparicin de otras tecnologas que
compitan con CISC y RISC.
Cada usuario debe decidirse a favor o en contra de determinada arquitectura de
procesador en funcin de la aplicacin concreta que quiera realizar. Esto vale tanto
para la decisin por una determinada arquitectura CISC o RISC, como para determinar
si RISC puede emplearse en forma rentable para una aplicacin concreta.
Nunca ser decisiva nicamente la capacidad de procesamiento del microprocesador, y
s la capacidad real que puede alcanzar el sistema en su conjunto. Los costos, por su
parte, tambin sern evaluados.
Supongamos por ejemplo, que el precio de un procesador sea de $500.00 USD, ste
ser secundario para un usuario que disea una estacin de trabajo para venderla
despus a un precio de $100 000.00 USD. Su decisin se orientar exclusivamente por
la potencialidad de este procesador.
RISC ofrece soluciones atractivas donde se requiere una elevada capacidad de
procesamiento y se presente una orientacin hacia los lenguajes de alto nivel.
En el campo industrial existe un gran nmero de aplicaciones que ni siquiera agotan
las posibilidades de los controladores CISC de 8 bits actuales.

38

Ingeniera de Sistemas

Arquitectura de Computadoras

Si bien el campo de aplicaciones de las arquitecturas RISC de alta capacidad crece con
fuerza, esto no equivale al fin de otras arquitecturas de procesadores y controladores
acreditadas que tambin seguirn perfeccionndose, lo que si resulta dudoso es la
creacin de familias CISC completamente nuevas. Adoptando tcnicas tpicas de los
procesadores RISC en las nuevas versiones de procesadores CISC, se intenta encontrar
nuevas rutas para el incremento de la capacidad de las familias CISC ya establecidas.
Entre tanto, los procesadores RISC han conquistado el sector de las estaciones de
trabajo, dominado antes por los procesadores Motorola 68 000, y es muy probable que
acosen la arquitectura Intel en el sector superior de las PC's.
Las decisiones en el mercado las toman los usuarios, y aqu, el software o la aplicacin
concreta juegan un papel mucho ms importante que las diferencias entre las
estructuras que son inapreciables para el usuario final.

39

Ingeniera de Sistemas

Arquitectura de Computadoras

BIBLIOGRAFA
1. Tanembaum, Andrew S. (1992)
"Organizacin de Computadoras. Un Enfoque Estructurado"
Ed. Prentice Hall.
2. Rolf Jurgen B.
"Del CISC al RISC: Aumento explosivo de la potencia en los microprocesadores"
Revista Siemens Ao 51 Enero/Marzo 1991. Siemens Aktiengesellschaft. Munich,
RFA.
3. Hernndez, Luis.
"RISC O CISC?"
PC/TIPS BYTE. Ao 5 No. 50 Marzo de 1992.
4. Tanembaum, Andrew S. (1992)
"Organizacin de Computadoras. Un Enfoque Estructurado"
Ed. Prentice Hall.
5. Rolf Jurgen B.
"Del CISC al RISC: Aumento explosivo de la potencia en los microprocesadores"
Revista Siemens Ao 51 Enero/Marzo 1991. Siemens Aktiengesellschaft. Munich,
RFA.
6. Hernndez, Luis.
"RISC O CISC?"
PC/TIPS BYTE. Ao 5 No. 50 Marzo de 1992.
7. MATIAS David, "RISC vs CISC: Diseos Opuestos".

40

Ingeniera de Sistemas

Arquitectura de Computadoras

LINKOGRAFIA
1. ORTEGON Antonio, "Tipos de Computadoras".
Disponible en lnea: http://usuarios.lycos.es/aortegon/arquitectura.htm
2. PINCHEIRA Miguel, "Arquitectura de un Sistema de Computacin".
Disponible en lnea:
http://robotica.chillan.ubiobio.cl/~miguel/Sistemas/01-introduccion.pdf
3. Servicio al PC, "El Microprocesador Central".
Disponible en lnea: http: //www.servicioalpc.com/ensamble5h.htm
4. VEGA Jos, SANCHEZ Roberto, "Arquitectura RISC vs CISC".
Disponible en lnea:
http://www.azc.uam.mx/publicaciones/enlinea2/num1/1-2.htm
5. Wikipedia
Complex Instruction Set Computer
http://es.wikipedia.org/wiki/CISC
6. Zator Systems, "Tipos de Computadoras".
Disponible en lnea: http://www.zator.com/Hardware/H3_2.htm
7. http://www.monografias.com/trabajos55/microprocesadores-ciscrisc/microprocesadores-cisc-risc2.shtml#ixzz3Ed3yTVbU
8. http://www.frbb.utn.edu.ar/hpc/lib/exe/fetch.php?media=2013-02-aquitecturas.pdf
9. http://msanchez.usach.cl/lcc/Arquitecturas-Distribuidas.pdf
10. Procesadores RISC, multiproceso y cach
http://www.consulintel.es/Html/Tutoriales/Articulos/risc.html
11. Memoria Distribuida
http://www.frbb.utn.edu.ar/hpc/lib/exe/fetch.php?media=2013-02-aquitecturas.pdf
http://msanchez.usach.cl/lcc/Arquitecturas-Distribuidas.pdf

41

También podría gustarte