Documente Academic
Documente Profesional
Documente Cultură
FACULTAD DE INGENIERIA
ESCUELA DE INGENIERIA DE SISTEMAS
DOCENTE:
GRUPO 4:
CABRERA CARRASCO, Moiss
GARCA ROSAS. Hugo
CALDAS DOMINGUEZ, Roque
ROJAS LOPEZ, Jos
TRUJILLO PER
2016
Escuela de Ingeniera de Sistemas Arquitectura de Computadoras
NDICE
INTRODUCCIN..................................................................................................................................iii
CAPTULO 1 ........................................................................................................................................ 1
PROCESAMIENTO SEGMENTADO...................................................................................................... 1
1. CONCEPTO ............................................................................................................................. 2
2. TIPOS ........................................................................................................................................ 5
2.1. SEGMENTACIN DE INSTRUCCIONES .................................................................. 5
2.2. SEGEMENTACIN DE PROCESADORES ............................................................. 11
2.3. SEGMENTACIN ARITMTICA................................................................................ 12
3. CONFLICTOS Y DEPENDENCIAS ................................................................................... 14
3.1. CONFLICTOS ................................................................................................................ 14
3.1.1. CLASES .................................................................................................................. 14
3.2. CONTROL ...................................................................................................................... 14
3.2.1. Conflictos Estructurales: .................................................................................. 14
3.2.2. Conflictos por dependencia de datos: .......................................................... 16
3.2.3. Conflictos de control:......................................................................................... 19
CAPTULO 2 ...................................................................................................................................... 21
PROCESAMIENTO VECTORIAL ......................................................................................................... 21
1. INTRODUCCIN ................................................................................................................... 22
2. CONCEPTO DE PROCESAMIENTO VECTORIAL ........................................................ 23
3. ARQUITECTURA DE LOS PROCESADORES VECTORIALES ................................. 25
4. EL CRAY-1 DE CRAY DE RESEACH .............................................................................. 26
BIBLIOGRAFA ............................................................................................................................. 29
ii
Escuela de Ingeniera de Sistemas Arquitectura de Computadoras
INTRODUCCIN
En la actualidad, hay una gran demanda de computadores rpidos para muchos
campos de aplicacin de tipo cientfico, tcnico, mdico, etc. Para muchas de estas
reas de aplicacin, se necesita un gran volumen de clculo. Sin el empleo de
computadores muy potentes, muchos de los clculos precisos para este tipo de
aplicaciones no podran realizarse a una velocidad razonable. Por otra parte, las
tendencias actuales de la ciencia y la tcnica siguen planteando problemas que
exigen cada vez ms y ms potencia de clculo.
Todo esto hace que las prestaciones de los computadores deben mejorar
continuamente. Para ver de una forma ms palpable la necesidad actual de
computadores ms rpidos pondremos un ejemplo: los satlites artificiales envan
informacin a la tierra al ritmo de 1020 bits/sg. Todo este volumen de informacin
se utiliza para efectuar predicciones meteorolgicas, etc. Si queremos procesar
esta informacin con el fin de que los resultados de ese proceso
sean tiles, deben procesarse con una velocidad suficiente. Teniendo en cuenta
que los clculos para este tipo de aplicaciones no son sencillos, se podra estimar
que la velocidad de proceso necesaria, para que los resultados se obtengan antes
de dejar de ser tiles, debe ser de unas 1023operaciones/sg.
Es conocido que la velocidad de los computadores ha ido aumentando con el
tiempo segn las evoluciones de la Tecnologa. En cualquier caso, existen lmites
fsicos para el aumento indefinido de la velocidad de las mquinas (velocidad de la
luz, capacidad de los conductores, disipacin de calor en los circuitos integrados,
etc.). Estas limitaciones provocan que se busquen nuevas alternativas para
aumentar las prestaciones de las mquinas. Una de las alternativas que
resulta ms evidente es poner a trabajar varios elementos de proceso
simultneamente, dicho de otra forma, tratar de desarrollar el paralelismo; as el
trabajo se repartir y se tardar menos tiempo en completar el proceso de clculo.
iii
Escuela de Ingeniera de Sistemas Arquitectura de Computadoras
CAPTULO 1
PROCESAMIENTO SEGMENTADO
1
Escuela de Ingeniera de Sistemas Arquitectura de Computadoras
1. CONCEPTO
2
Escuela de Ingeniera de Sistemas Arquitectura de Computadoras
Si, para procesar esa misma tarea, se emplea un procesador segmentado, basta
que se haya terminado la primera subtarea para poder empezar a procesar una
nueva tarea (vase la figura 2). En la citada figura puede verse el continuo flujo de
tareas que se van procesando a travs de los n segmentos encargados de procesar
cada una de las subtareas. Puede observarse que el tiempo total de procesamiento
de una tarea completa puede ser el mismo, aunque frecuentemente ser mayor,
que el tiempo empleado para el procesamiento secuencial de la misma tarea
mostrado en la figura 1. Esto, sin embargo, carece de importancia, ya que lo
verdaderamente importante es el ritmo al que las tareas van saliendo del
procesador (velocidad de emisin de tareas). Al nmero de segmentos del
procesador, n, se le llama, en muchas ocasiones, profundidad de la segmentacin.
3
Escuela de Ingeniera de Sistemas Arquitectura de Computadoras
Para que el tiempo de latencia del procesador segmentado sea el mnimo posible,
es necesario que el procesador est equilibrado, es decir, que todas las subtareas
en que se ha dividido la tarea total tarden en procesarse el mismo tiempo. Esto es
debido a que las tareas no podrn evolucionar al segmento siguiente hasta que no
se haya terminado la subtarea ms lenta. Por ello, si el procesador no est
equilibrado, los segmentos ms rpidos estarn cierto tiempo sin hacer trabajo
alguno, lo que disminuir el rendimiento del procesador. La relacin de precedencia
de un conjunto de subtareas T1, ..., Tn, que componen cierta tarea T , especfica
para cada subtarea Tj, que sta no puede comenzar hasta que haya terminado
ciertas subtareas Ti. Las relaciones de precedencia para todas las subtareas de T
forman su grafo de procedencia. En el ejemplo de la figura 1.2 se ha supuesto que
las tareas que se procesan en el cauce tiene un grafo de procedencia lineal. Esto
significa que una subtarea Tj no puede comenzar hasta que todas las subtareas
previas, es decir Ti, i < j, hayan finalizado. A los procesadores segmentados que
slo pueden procesar tareas con grafo de precedencia de este tipo, denominado
cauces lineales. Ms adelante veremos casos de procesadores segmentados en
que se pueden procesar tareas con grafo de procedencia no lneas. En este tipo de
cauces, algunas de las subtareas pueden ejecutarse varias veces para procesar la
tarea total. Ello implica que algunas de las etapas pueden utilizarse varias veces,
provocando una realimentacin dentro del cauce.
4
Escuela de Ingeniera de Sistemas Arquitectura de Computadoras
2. TIPOS
5
Escuela de Ingeniera de Sistemas Arquitectura de Computadoras
6
Escuela de Ingeniera de Sistemas Arquitectura de Computadoras
7
Escuela de Ingeniera de Sistemas Arquitectura de Computadoras
8
Escuela de Ingeniera de Sistemas Arquitectura de Computadoras
Lectura.
Decodificacin y lectura de operandos.
Ejecucin.
Acceso a la memoria de datos (si es necesario).
9
Escuela de Ingeniera de Sistemas Arquitectura de Computadoras
10
Escuela de Ingeniera de Sistemas Arquitectura de Computadoras
Por otra parte, los procesadores segmentados pueden ser tanto mono funcin como
multifuncin. Los primeros slo pueden realizar una funcin fija; por el contrario, los
procesadores segmentados multifuncin pueden efectuar diferentes funciones, en
instantes distintos, conectando de formas diferentes los segmentos del cauce.
Un cauce multifuncin sera capaz de efectuar todas las operaciones anteriores con
los mismos segmentos, combinndolos de forma diferente en cada caso. Si este
11
Escuela de Ingeniera de Sistemas Arquitectura de Computadoras
Las cajas sombreadas representan registros cerrojos (latchs) que, en este caso, se
llaman registros de segmentacin. Estos registros retienen las informaciones
salientes de cada etapa durante un ciclo de reloj para que se mantengan en la
entrada de la siguiente etapa.
Se ha supuesto que el retardo del sumador con anticipacin es doble que el del
sumador con salvaguarda de llevadas.
12
Escuela de Ingeniera de Sistemas Arquitectura de Computadoras
13
Escuela de Ingeniera de Sistemas Arquitectura de Computadoras
3. CONFLICTOS Y DEPENDENCIAS
3.1. CONFLICTOS
3.1.1. CLASES
A. Conflictos estructurales: Son detenciones que se producen en el
procesador por insuficiencia del hardware, debido a que una etapa no puede
avanzar porque el hardware necesario ese siendo utilizado.
B. Conflictos por dependencia de datos: Se producen cuando principalmente
una instruccin necesita los resultados de otra anterior, que todava no los
tiene disponibles, por no haberse terminado de ejecutar completamente.
C. Conflictos de control: Surgen cuando las instrucciones de control de flujo,
en que no se puede leer la instruccin siguiente hasta que no se conozca su
direccin.
3.2. CONTROL
En esta parte estudiaremos las tcnicas para detectar, prevenir o evitar los
diferentes tipos de conflictos; adems veremos la forma de conseguir que causen
la menor prdida posible de rendimiento una vez que ya se han producido.
14
Escuela de Ingeniera de Sistemas Arquitectura de Computadoras
15
Escuela de Ingeniera de Sistemas Arquitectura de Computadoras
16
Escuela de Ingeniera de Sistemas Arquitectura de Computadoras
Estas tcnicas para detectar los conflictos por dependencias de datos. Estas
tcnicas precisan algo de hardware adicional: unos buffers, que guarden los
nmeros de los registros implicados en las ltimas instrucciones, junto con unos
compradores. Los buffers tendrn una estructura de registro de desplazamiento, de
forma que la posicin del nmero de registro dentro del desplazador nos dir en
que segmento se encuentra y la clase de operacin que se efecta sobre el (lectura
o escritura). Los comparadores analizaron si coinciden los operandos de la
instruccin que va a ejecutarse, con los de alguna de las anteriores con las que
pueda entrar en conflicto, como primera solucin, se detendr la ejecucin de la
instruccin hasta que las anteriores hayan avanzado y la dependencia
desaparezca. En este caso se impide la emisin de la instruccin, ya que se llama
as al paso de la instruccin de la etapa de decodificacin a la siguiente, donde
comienza la ejecucin efectiva de la instruccin.
Existen tambin tcnicas para evitar las posibles detenciones que podra producir
un conflicto. Estos mtodos se pueden clasificarse en dos grupos:
17
Escuela de Ingeniera de Sistemas Arquitectura de Computadoras
18
Escuela de Ingeniera de Sistemas Arquitectura de Computadoras
Figura 15. Detencin producida por una bifurcacin sin tomar medidas
correctoras.
19
Escuela de Ingeniera de Sistemas Arquitectura de Computadoras
Figura 16. Efecto del cambio de orden de las instrucciones producido por un
compilador en una mquina con bifurcacin retardada.
20
Escuela de Ingeniera de Sistemas Arquitectura de Computadoras
CAPTULO 2
PROCESAMIENTO VECTORIAL
21
Escuela de Ingeniera de Sistemas Arquitectura de Computadoras
1. INTRODUCCIN
Se llama vector a una secuencia de datos escalares del mismo tipo almacenados
en memoria, normalmente en posiciones contiguas, aunque no siempre. Para
ilustrar este hecho, supngase una matriz bidimensional almacenada en memoria
por filas. En esta matriz, podramos considerar vectores a las filas, columnas o
diagonales; en este caso, slo las filas estarn en posiciones contiguas de
memoria.
22
Escuela de Ingeniera de Sistemas Arquitectura de Computadoras
Dispone de un conjunto de instrucciones vectoriales. Por ejemplo add v v1, v2, v3.
23
Escuela de Ingeniera de Sistemas Arquitectura de Computadoras
24
Escuela de Ingeniera de Sistemas Arquitectura de Computadoras
Por todo esto, es habitual que los procesadores vectoriales dispongan de un banco
(o varios) de registros vectoriales que hagan de memoria intermedia; se habla
entonces de procesadores vectoriales registro-registro. Por otra parte, la mayora
de los procesadores vectoriales actan como coprocesadores de un procesador
escalar convencional que trata las instrucciones no vectoriales. Ello hace que la
arquitectura de un computador vectorial actual sea la que se muestra en la siguiente
figura 19. Como puede verse, los computadores vectoriales pueden considerarse
como computadores del tipo SIMD de Flynn, sin embargo, hay que tener en cuenta
que, si bien los computadores vectoriales ejecutan la misma instruccin sobre datos
diferentes, estos datos forman parte del mismo flujo. Por ello, en algunos casos, a
estas mquinas se les llama SIMD-vectoriales (Germain-Renaud & Sansonnet,
1991).
25
Escuela de Ingeniera de Sistemas Arquitectura de Computadoras
26
Escuela de Ingeniera de Sistemas Arquitectura de Computadoras
como primarios) tienen 24 bits, los escalares 64 y los vectoriales tienen 64 registros
componentes de 64 bits cada uno. La mquina dispone de un registro de longitud
(VL) que indica la longitud de los operandos vectoriales. Si la longitud de los
vectores del problema es mayor, debe recurrirse a la tcnica de seccionamiento.
Los contenidos de los registros vectoriales se transfieren desde (o a) memoria
indicando la direccin inicial, el incremento y la longitud del vector.
27
Escuela de Ingeniera de Sistemas Arquitectura de Computadoras
28
Escuela de Ingeniera de Sistemas Arquitectura de Computadoras
BIBLIOGRAFA
BASTIDA, J. 1995. Introduccin a la Arquitectura de Computadores. Universidad
de Valladolid.
DAVIDSON, E.S. 1971 (Jan.). The Design and Control of Pipelined Function
Generators. In: Proceedings of the 1971 International Conference on Systems,
Networks and Computers.
McGraw-Hill.
KELLER, R.M. 1975. Look Ahead Processors. ACM Computing Surveys, 7(4).
PATEL, J.H, & DAVIDSON, E.S. 1976. Improving the Throughput of a Pipeline by
Insertion of Delays.
In: Proceedings of the Third Annual Computer Architecture Symposium. IEEE num.
76CH 0143-5C.
PATTERSON, D.A., & HENNESSY, J.L. 2005. Computer Organization and Design.
The hardware/ software interface. 3 edn. Elsevier. Existe traduccin al castellano
de una edicin anterior: Estructura y diseo de computadores. Inteficie
circuitera/programacin, Revert, 2000.
SHAR, L.E. 1972. Design and Scheduling of Statically Configured Pipelines. Digital
Systems, Lab
29
Escuela de Ingeniera de Sistemas Arquitectura de Computadoras
30