UNIVERSIDAD NACIONALDEL CENTRO DEL PERÚARQUITECTURA DE COMPUTADORASPRESENTADO POR :ACUÑA TENORIO, MarioCASTILLON POMA, DarwinLANDEO RIVERA Daniel           LAURA HUAROC, KenilOSORES RAMOS, JimmyCATEDRÁTICO:Ing. Miguel CAMARENA INGARUCA
TEMA 1: La Norma de Conexión RS 232
Introducción a la norma de conexión RS 232El modelo de conexión RS describe la forma de conectar el terminal a un módem, para la transmisión de datos en serie.
La norma RS 232 proviene de la EIA RS-232 que fue propuesta en 1969 por la Asociación de industrias Electrónicas.DTEDTEModem DCEModem DCEEQUIPO TERMINAL DE DATOS:DATA TERMINAL EQUIPMENTRS meansRecommended Standard
Introducción a la norma de conexión RS 232Aunque la norma se estableció para equipos informáticos a módems, la realidad es que se esta empleando masivamente para comunicar equipos informáticos entre sí, sin la inclusión del módem. Por este motivo no se puede aplicar directamente la norma y la interpretación que da  sus diferentes señales puede diferir de un fabricante a otro. Esta norma es especialmente difundida a nivel de microcomputadores Especificaciones GeneralesESPECIFICACIÓN ELÉCTRICA:En la figura se muestra circuitos equivalente de emisores  y receptores, que se aplican a todas las señales que componen la norma.R0 (3000−7000Ω) RL (3000−7000Ω) V0CLC0(>2500pF) EL>(2V) EMISORRECEPTOR
Especificaciones GeneralesESPECIFICACIÓN LÓGICALa norma RS-232-C contempla 25 señales, de la cuales se puede emplear menos de 10. las más importantes son:Especificaciones GeneralesESPECIFICACIÓN LÓGICAConexión lógica de las señales más importantes de la norma  RS-232-CDCEDTEDATOSTD 22RD 33DTR 202066 DSR4RTS 455 TS88 DCD77TIERRA 11 TIERRAYa que esta norma se utiliza para interconectar equipos directamente, el asignar a estos el tipo DTE o DCE, es totalmente arbitrario por lo que se puede ocasionar problemas a la hora de conectar equipos de diferentes fabricantes.Especificaciones GeneralesESPECIFICACIÓN MECÁNICALo más habitual es usar conectores del tipo DB-25, que consta de25 patitas repartidas de  la siguiente manera:12345678910111213141516171819202122232425El conexionado puede realizarse con cables planos, hilos trenzados, o cables coaxiales según la distancia entre el emisor y el receptor.Especificaciones GeneralesESPECIFICACIÓN MECÁNICADescripción de cada uno de los 25 pines, antes mencionados.Método de transmisiónEl método de transmisión es el que  la define la transferencia elemental del bus serie.
Aunque el método de transmisión no forma parte de la norma RS-232-C, por lo general  se emplea el de tipo asíncrono con formato start/stop. El envio se hace por bytes individuales. Además la información se suele codificar en ASCII.D5D6D7D3D1D2D0D4STARTSTOP 1STOP 2PARIDADDATOINFORMACIÓN DE UN BYTE COMPLETA
Método de transmisiónEn  la figura anterior la línea de comunicación está normalmente en estado 1, empleándose su paso a 0 como señal de comienzo del envio de un byte(START).Seguidamente se vienen los bits de datos, que pueden ser de 5 a 8.
A continuación un byte de paridad que es opcional y, finalmente uno o  dos bits de STOP que avisan el fin de un byte. Si se desea enviar otro byte,  se repite el proceso y en caso contrario queda la línea con nivel 1.Método de transmisiónLa información no se codifica para la transmisión, siendo el estado 0 o 1 de la línea, el valor directo de cada bit. Este hecho obliga  a que el receptor este sincronizado con la unidad recibida, lo que se realiza con el flanco descendente del bit de START.
Ante elevadas  velocidades de transmisión se utiliza el modo síncrono que esta formado por uno o dos bytes de sincronismo( en el caso del código ASCII este byte es 0010110), seguidos por los bytes de datos. La transmisión debe de ser continua por lo que el emisor deberá intercalar automáticamente, bytes de sincronismos cuando sean necesarios. El receptor  ha de sincronizarse con la  cadena de bits que recibe.Método de transmisiónFormato de la comunicación síncrona en la norma RS-232-CSINCRONISMOSINCRONISMODATO 0 DATO 1 DATO 2 DATO 3 DATO 4 BYTES DE SINCRONISMOBYTES DE DATOSProtocolo de comunicaciónEstablece la comunicación  a nivel de transferencia de bloques de información. Se  emplea dos  técnicas
Protocolo por señales
Protocolo por códigosProtocolo de comunicaciónPROTOCOLO POR SEÑALESSe utilizan algunas señales de la norma RS-232-C para que los dispositivos indiquen si pueden recibir o no información.
La pareja de señales DTR/DSR, o bien, RST/CTS se suelen emplear con este fin.
En este caso, la señal DTR o RTS indica que el dispositivo DTE está conectado o dispuesto, mientras que las señal DSR o CTS indica si lo está el DCEProtocolo de comunicaciónPROTOCOLO POR CÓDIGOSSe utilizan diversas técnicas basadas en códigos. Una de ellas utiliza los códigos XON (carácter DC1 en ASCII) y XOFF (carácter DC3 en ASCII) para que el receptor indique si puede recibir información.
Se supone que el receptor está en disposición de  recibir la información, por lo que el emisor comienza a enviarla. Si el receptor se aproxima  a la saturación de su memoria de recepción, envía un XOFF para detener la transmisión. Una vez que ha vaciado su memoria, envía un XON para que el emisor reanude el envio de información.El proceso es el siguiente:DC1: DEVIDE CONTROL 1XONDC3. DEVICE CONTROL 3XOFF
Protocolo de comunicaciónPROTOCOLO POR CÓDIGOSOtro protocolo por códigos muy empleado es el que utiliza los caracteres ASCII ETX y ACK.
Suponiendo que esta disponible el receptor, el emisor inicia la transmisión enviando  una línea de información, que finaliza en el código ETX . Una vez que el receptor  ha asimilado la línea y está en disposición de recibir más información envía el código ASCII ASK, con el que informa al emisor de su situación. La máxima longitud de las líneas de información es de 80 a 132 bytes.ETX: FÍN DE TEXTOACK: ACKNOWLEDGEMENT
Diseño de una interfaz RS-232-CLa sencillez en el diseño de una interfaz RS-232-C se debe a los circuitos integrados  VLSI disponibles. En concreto se puede utilizar una pastilla denominada 8251 USART, la cual:
Realiza todas las operaciones necesarias para serializar la información transformada y transformar en paralelo la que recibe.8251 USARTGenera las formas de onda correspondiente  a la velocidad de transmisión seleccionada y la que sincroniza la recepción.Diseño de una interfaz RS-232-CBUS DE DATOSDO-D7Diseño de una comunicación doble que sigue la norma RS-232-CBUS DE DIRECCIONESAO-A15A1-A2-A3G2AG174138IO/M G2BCS A0T∗D DATOS ENVIADOS C/D D0-D7MICROPROCESADORDTR  CONTROLRESETRESETRTS  RD RD WR USART 82581WR 1488CLK 3,07 MHzCLK 5VDATOS ENVIADOS R∗D T+RDY INTR∗RDY DSR TxC 74190CTS CONTROLR∗C 1489
Diseño de una interfaz RS-232-CSe usan las señales CTS, RTS, DTR y DSR para indicar el estado de los equipos conectados. Los relojes de transmisión y recepción se derivan del reloj principal del microprocesador(suponiendo que funciona a 3,702 MHz), mediante un divisor por 10. Si además, se programa al USART para que divida por 64 esta frecuencia, se obtiene  la velocidad de transmisión y recepción de 48000 baudios.TEMA 2: Computadores de altas prestaciones
TEMA 2.1: El reforzamiento del paralelismo y el aumento de la velocidad del procesamiento
El reforzamiento del paralelismo y el aumento de la velocidad del procesamientoLa ampliación de las áreas de aplicación de los computadores a campos que tienen que efectuar un enorme número de operaciones sobre grandes masas de datos estructurados, exigen la mejora constante de sus prestaciones.
Procesamiento de imágenes  en tiempo real.
Meteorología
Cálculo y control de las trayectorias de los robots.
El incremento de la potencia de las máquinas programadas no solo se consigue con la aplicación de los últimos avances , sino mejorando sus arquitectura interna y los  recursos del sistema lógico.El reforzamiento del paralelismo y el aumento de la velocidad del procesamientoEstas características están motivadas por tres causas:
NECESIDAD DE INCREMENTO CONTINUO DE LA POTENCIA DEL CALCULO:
Los monoprocesadores pueden llegar a un máximo de potencia de 1 GFLOP(mil millones de operaciones de coma flotante por segundo), considerando las limitaciones de velocidad de transmisión en el silicio.
DESFASE ENTRE  LA ARQUITECTURA DE VON NEUMANN, Y LOS REQUERIMIENTOS DE LOS NUEVOS SISTEMAS LÓGICOS Y LENGUAJES.
Debido a que la  tecnología actual VLSI proporciona elementos baratos especialmente cuando se utilizan de forma repetitiva.
LAS CONSIDERACIONES QUE RESPETO AL COSTE, EXISTIAN EN EL PASADO.Aumento de la velocidad del procesamiento.Para elevar la velocidad de procesamiento de los computadores, existen diferentes alternativas entre las que destacan:Empleo de tecnologías más rápidas. Para poder disponer de máquinas  que trabajan a más de 100 Megaflops, se precisan de memorias de tiempos de acceso de muy pocos ns. Las tecnologías basadas en el efecto de Josephson y otras consiguen  retardos inferiores al ns, pero teniendo en cuenta el tiempo imprescindible para circular las señales a las distancias  a las que se sitúan, los componentes de la máquina.Reducir el número de niveles de puertas para realizar algoritmos, como sucede  en los sumadores con acarreo anticipado.Aumentar la complejidad  de los circuitos combinatorios. En este aspecto se puede hacer referencia al uso del PAL, en el proceso de codificación de las instrucciones.
Aumento de la velocidad del procesamiento.Otras alternativas son:
Diseño de nuevas organizaciones y estrategias de funcionamiento  de las memorias. Ejemplos de esta técnica son la memoria virtual, la memoria cache y la memoria entrelazada.
Sustitución   del sistema lógico por equipo físico. Se tiende a construir por circuitería ciertas funciones repetitivas que  hasta ahora se realizaban por el sistema lógico.
Aumento del grado de paralelismo o concurrencia, desde el nivel e las instrucciones hasta el de los programas.
Utilización de estructuras segmentadas en las que, mientras se procesan unos datos, se capturan los próximos a procesarse, consiguiendo un mayor aprovechamiento de los componentes del sistema. Aumento de la velocidad del procesamiento.El paralelismo ha ido aumentando en la forma de operar de los  sistemas, desde el tratamiento en lotes, en donde los programas se agrupaban en lotes para irlos realizando uno tras  otro.
MULTIPROCESAMIENTO: Donde se ejecutan varios programas simultáneamente, usando sistemas dotados de varios procesadores.Otras técnicas:Tiempo Compartido:Diversos procesos compartían la UCP.Ejecuta en forma concurrente varios programas residentes en la memorias principal.Multiprogramación:
Aumento de la velocidad del procesamiento.La potenciación del paralelismo se puede dirigir hacia el grado de concurrencia de los procesos, que puede alcanzar desde la ejecución  simultánea de diferentes programas, hasta la que se consigue entre  las diversas partes en las que se descompone una instrucción.Arquitecturas para el reforzamiento del paralelismoSISTEMAS UNIPROCESADORES:Pipe-Line o de segmentación
Matricial o Array
Los modernos supercomputadores disponen de tres recursos que explotan el paralelismo y que dan lugar a tres tipos de computadores:
De segmentación
«Matricial» o Array
Multiprocesador.TEMA 2.2: Clasificación de las arquitecturas del computador propuesto por Flynn
Clasificación de las arquitecturas del computador propuesto por FlynnSISD: Flujo único de instrucciones-flujo único de datos
SIMD: Flujo único de instrucciones-flujo múltiple de datos
Esta clasificación divide a los computadores, atendiendo a su paralelismo explicito en 4 grupos:
MISD: Flujo múltiple de instrucciones-flujo único de datos
MIMD: Flujo múltiple de instrucciones-flujo múltiple de datosClasificación de las arquitecturas del computador propuesto por FlynnEsquema simplificado de la arquitectura SISDUNIDAD OPERATIVAFLUJO DE DATOS(ALU Y REGISTROS)MEMORIA PRINCIPALFLUJO DE INSTRUCCIONES(INSTRUCCIONES Y DATOS)UNIDAD DE CONTROLFLUJO DE INSTRUCCIONES(DECODIFICADOR DE INSTRUCCIONESY SECUENCIADOR)
Clasificación de las arquitecturas del computador propuesto por FlynnArquitectura SISDLa memoria principal genera el flujo de instrucciones a la Unida de Control, que tras decodificarlas e interpretarlas, ordena sus ejecución en la Unidad Operativa compuesta por la ALU, y los registros internos de trabajo. El flujo de datos bidireccional comunica a la memoria principal y  a la Unidad Operativa. En el funcionamiento de los computadores SISD solo hay una corriente de instrucciones unidireccional y otra de datos bidireccional.Clasificación de las arquitecturas del computador propuesto por FlynnArquitectura SIMDEn los computadores  con esta arquitectura, la unidad de control existente supervisa el funcionamiento del conjunto de unidades operativas disponibles.
La estructura corresponde a los llamados procesadores matriciales. La unidad de  control interpreta las instrucciones y envía las correspondientes señales de control alas unidades operativas encargadas de se ejecución. La unidad de control comienza la búsqueda de una nueva instrucción, nada más iniciada la ejecución de la anterior, siendo posible de esta forma, realizar. Clasificación de las arquitecturas del computador propuesto por FlynnArquitectura SIMDUNIDADOPERATIVA1DATOSEsquema simplificado de la arquitectura SIMDMEMORIA PRINCIPALDATOSUNIDADOPERATIVA2UNIDAD DE CONTROL(ESTRUCTURA MODULAR COMPARTIDA)DATOSUNIDADOPERATIVAXFLUJO DE INSTRUCCIONES
Clasificación de las arquitecturas del computador propuesto por FlynnArquitectura MISDEsta estructura consta de varias unidades de control que reciben diferentes flujos de instrucciones que son ejecutadas en las correspondientes Unidades Operativas, las cuales se alimentan de un único flujo de datos.Clasificación de las arquitecturas del computador propuesto por FlynnArquitectura MISDINSTRUCCIONESUNIDADDE CONTROL1UNIDADOPERATIVA1Arquitectura SIMD de múltiple flujo de instrucciones y flujo único de datos.MEMORIA PRINCIPALINSTRUCCIONESUNIDADDE CONTROL2UNIDADOPERATIVA2(ESTRUCTURA MODULAR COMPARTIDA)INSTRUCCIONESUNIDADOPERATIVAXUNIDADDE CONTROLXFLUJO DE DATOS
Clasificación de las arquitecturas del computador propuesto por FlynnArquitectura MIMDINSTRUCCIONESEs una estructura típica de un sistema  multiprocesador, que puede definirse como un conjunto de procesadores serie, cuyas unidades operativas soportan un flujo de datos y las unidades de control, un flujo de instrucciones.UNIDADOPERATIVA1UNIDADDE CONTROL1MEMORIA PRINCIPALINSTRUCCIONESUNIDADOPERATIVA2UNIDADDE CONTROL2(ESTRUCTURA MODULAR COMPARTIDA)INSTRUCCIONESUNIDADOPERATIVAXUNIDADDE CONTROLXDATOSDATOSDATOS
Clasificación comercial de los computadoresDe acuerdo a las realizaciones concretas, los computadores se pueden clasificar de las siguiente manera:VECTORIALES:Se utilizan en el procesamiento de vectores en «serie». No se necesita terminar completamente el proceso de un elemento para iniciar el del siguiente.Procesadores SegmentadosDividen los procesos con los que forman cadenas secuenciales de trabajo.ARRAY:Son procesadores segmentados de dos dimensiones con varias cadenas de flujos de datos.Clasificación comercial de los computadoresMATRICIALES:Formados por una matriz síncrona de procesadores paralelos.Procesadores de Arquitectura SIMDASOCIATIVA:Son procesadores en los que la memoria de acceso es asociativa. Se accede por contenido  y no por dirección.
Están formados por una serie de elementos de proceso de instrucciones, que se conectan con los módulos de memoria a través de una red.MultiprocesadoresEjemplo: procesadores sistólicos.
Clasificación comercial de los computadoresGracias a las nuevas estructuras VLSI y los nuevos desarrollos del sistema lógico se desarrollan:
Procesadores con tratamiento de base de datos.Procesadores de quinta generaciónProcesadores de flujos de datos, carecen de flujo de control y de contador de programa. Las instrucciones se activan de acuerdo a la disponibilidad de los operandos.
Procesadores inteligentes, procesan bases de conocimiento  y disponen de una interfaz natural  para el interfaz con el operador humano.TEMA 2.3: Técnicas para acelerar el funcionamiento del sistema digital
INTRODUCCION Y CONCEPTO DE LA TECNICA DE SEGMENTACIÓNDentro de las técnicas utilizadas para acelerar el funcionamiento de un sistema digital, esta el tratamiento  en cadena  de la secuencia de operaciones que debe de realizar. Es así como se denomina al tratamiento en cadena, consiste en dividir la función F a realizar en una serie de subfunciones (F1,F2,F3,…Fn) que se pueden ejecutar en forma independiente.SEGMENTADO O PIPELINE:Si se dispone  de unidades individuales para procesar cada subfunción(F), se puede configurar una cadena, que soporte el  tratamiento simultáneo de tantos procesos como subfunciones existen.
INTRODUCCION Y CONCEPTO DE LA TECNICA DE SEGMENTACIÓNUn operador completo solo atiende un proceso hasta que lo realiza, los demás esperan su turno.OPERADOR COMPLETOENTRADASALIDA DE RESULTADOS165432COLA DE PROCESOS
INTRODUCCION Y CONCEPTO DE LA TECNICA DE SEGMENTACIÓNUn proceso en cadena con cuatro etapas puede atender cuatro procesos a la vezOPERADORES PARCIALES SIMPLESSALIDA DE RESULTADOSENTRADA456321COLA DE PROCESOS
Características de la SegmentaciónComo las subfunciones Fi son más simples  que la función total  F,  se pueden ejecutar en una fracción del tiempo T que le toma a la función F.
Si se parte de que los tiempos de las n funciones son  iguales, cada una tendrá una duración de T/n, con lo cual se  pueden ejecutar n procesos en un periodo de tiempo T.
En un computador el flujo de instrucciones circula por una serie de unidades elementales en cadena, que realizan una operación simple cada una, y cuyo conjunto completa  la ejecución de las instrucciones .Estas unidades  tienen las siguientes funciones:
Búsqueda de la instrucción
Decodificación
Búsqueda de operandos
EjecuciónCaracterísticas de la SegmentaciónEsquema de un computador con las unidades fundamentales que se utilizan para llevar a cabo  las fases en las que se descompone una instrucciónDATOSUNIDAD OPERATIVAUNIDAD DE CONTROLDIRECCIÓNCONTADOR DE PROGRAMABÚSQUEDADE OPERANDOSMEMORIA PRINCIPALALUDECODIFICADORDEINSTRUCCIONESINSTRUCCIÓNREGISTRO DE  INSTRUCCIONESSECUENCIADORREGISTROSCONTROLFASE DE DECODIFICACIÓN(FD)FASE DE BUSQUEDA DE OPERANDOS(FBO)FASE DE BUSQUEDA DE INSTRUCCIONES(FBI)FASEDEEJECUCIÓN(FE)
Características de la SegmentaciónProcesamiento segmentado en cadena de  la secuencia de instruccionesFASE DE BÚSQUEDA DE INSTRUCCIONESFBISALIDAENTRADAFASE DE BÚSQUEDAOPERANDOSFBOFASE DE EJECUCIÓNFEFASE DE DECODIFICACIÓNFDFLUJO DE INSTRUCCIONESRESULTADOS
Características de la SegmentaciónExiste un reloj que genera impulsos de sincronismo de periodo t, que es el tiempo que dura cada fase. Si hay que procesar 5 instrucciones (I1, I2, I3, I4, I5):Primer impulso(t1)Fase de búsqueda  de la instrucción T1Segundo impulso(t2)I1 pasa a la unidad encargada de la decodificación (FD)......Ejecución completa de I1
I2 en la fase de búsqueda de los operandos
I3 en la de decodificación
I4 en la de búsqueda de código OPCuarto impulso(t4)
Características de la SegmentaciónProcesamiento de las instrucciones a través de los bloques funcionalesSALIDAFBII1FDFBOFEI5I4I3I2RELOJt1SALIDAFBII2FDI1FBOFEI5I4I3RELOJt1t2SALIDAFBII3FDI2FBOI1FEI5I4RELOJt2t1t3SALIDAFEI1FBII4FDI3FBOI2I5RELOJt2t1t3t4
Conclusiones sobre la segmentaciónEs una técnica muy apropiada en los computadores y se puede aplicar a sus 3 grandes bloques: Unidad de Control, Unidad Lógico Aritmética y Memoria  Principal.
La UC es una buena candidata para el tratamiento en cadena, puesto que la ejecución de instrucciones se divide en una serie de etapas.Conclusiones sobre la segmentaciónLa unidades operativas más complejas como las que manejan datos en coma flotante, también adoptan el método segmentado. Las distintas fases en la que se dividen estas operaciones se pueden realizar por circuitos específicos que configuran una cadena.
El concepto de cadena aplicado a la memoria principal es ligeramente distinto, puesto que su funcionamiento se basa en una serie  de accesos independientes en módulos de memoria distintos, no existiendo interrelación ni comunicación entre dichos módulos.Estructura y tipo de cadenasLas cadenas suelen ser de funcionamiento síncrono y utilizan unos registros intermedios entre la distintas etapas que las componen.
Cada registro almacena información la información de salida de una etapa y de entrada a la siguiente. De esta manera la información de un proceso determinado va pasando registro a registro, sufriendo la transformación correspondiente a cada etapa.
Todos los componentes están gobernados mediante un único reloj, cuyos flancos hacen que todas las informaciones avancen una posición simultáneamente.Estructura y tipo de cadenasEstructura típica de las cadenas:1º ETAPA2º ETAPA3º ETAPA4º ETAPASALIDAENTRADAREGISTROREGISTROREGISTROF1F2F3F4RELOJ
Estructura y tipo de cadenasClasificación de las cadenas:Realizan solo una funciónCADENA UNIFUNCIÓNCADENA MULIFUNCIÓNDependiendo del sistema con el que se pueden reconfigurar, se divide en:Entrada de los procesos
Entradas de control: Definen la función a realizar en cada situación
Dinámicamente reconfigurables
Estáticamente  reconfigurablesEstructura y tipo de cadenasCadenas estáticamente reconfigurables:Diseñadas para ser reconfiguradas en muy pocas ocasiones.
Actúan como si fueran unifunciones  entre cada cambio.
Tratan todo un lote de procesos in alterar su funcionamiento.Cadenas dinámicamente reconfigurables:Pueden reconfigurarse para cada  entrada y se emplean en las Unidades de Control, puesto que cada instrucción necesita un tratamiento ligeramente diferente de la de las demás.CADENA LINEALA Cada etapa de la cadena, le sigue otra.Detrás de cada etapa hay diversos caminos, e  incluso realimentaciones para formar bucles.CADENA NO LINEAL
Parones y choques en las  cadenasRepresentan  el mayor problema de tratamiento en cadena. Surgen cuando  se produce alguna causa que impide  que se siga introduciendo elementos en la cadena, quedando esta vacía.HAZARDS O PARONESPor ejemplo:Es un caso de parón en Unidades de Control  con tratamiento en cadena. Instrucciones de bifurcaciónI1: INSTRUCCIÓN DE BIFURCACIÓN CONDICIONALReducen la capacidad del procesoCHOQUEI1sinoETAPAProceso 1I2I3Hueco en la cadenaProceso 2
Memorias entrelazadasLa velocidad de las memorias principales es bastante inferior  que la de la lógica utilizada en las Unidades de Control y en la de las Aritmética Lógicas. Para soslayar este problema, se divide  la memoria principal en varios módulos autónomos.
Cada módulo funciona de manera independiente, por  lo que se puede acceder al mismo tiempo a tantas posiciones de memoria principal como módulos tenga.Memorias entrelazadasEntrelazado simple:Se puede acceder a todos los módulos de memoria al mismo tiempo.La información accedida de cada módulo se almacena en su registro cerrojo correspondiente, en donde se van extrayendo mientras se realiza un nuevo acceso a todos los módulos.
ORGANIZACIÓN MODULAR  ENTRELAZADA: Es una manera  de organizar  la memoria que permite ir entrelazando los accesos entre los diversos módulos que constituyen la memoria principal.
La información accedida de cada módulo se almacena en su registro cerrojo correspondiente, en donde se van extrayendo mientras se realiza un nuevo acceso a todos los módulos. Memorias entrelazadasMemoria  de entrelazado simple:Estructura de la memoria principal para configurar el entrelazado simple:MEMORIA PRINCIPALREGISTRO CERROJOMÓDULO 1REGISTRO CERROJOMÓDULO 2MULTIPLEXOR...BUS DE DATOSREGISTRO CERROJOMÓDULO Nn  (N=2n)BIT DE DIRECCIONESSELECCIÓN  DE ENTRADA
Memorias entrelazadasMemoria  de entrelazado simple:Cuando se realiza el primer acceso , se obtienen N palabras, una de cada módulo. En los siguientes accesos se van obteniendo el mismo número de informaciones simultáneas.1º ACCESO3º ACCESO2º ACCESOPara los N módulosPalabra 2ºPalabra NPalabra 1ºPalabra 1ºPalabra 3ºPalabra 2ºPalabra Nº
Memorias entrelazadasMemoria  de entrelazado simple:El entrelazado simple funciona de forma satisfactoria en los accesos secuenciales, como ocurre con la ejecución de las  instrucciones, o en el tratamiento de vectores.
Sin embargo esta estructura no  es demasiado practica para el caso de los acceso no secuenciales , tales como  el tratamiento de bucles y de bifurcaciones o de datos no ordenados secuencialmente.Memorias entrelazadasEntrelazado complejo:Cuando los accesos están solapados en el tiempo, tal y como se representa en la figura. Los registros  almacenan  la dirección a la que desea acceder en cada módulo, por lo que su distribución no debe de ser secuencial.Tiempo que cada uno de los módulos puede disponer del  bus de direcciones para recibir  su dirección y del bus de datos para enviar o recibir su información.Tiempo de acceso a los módulos=Número
Memorias entrelazadasEntrelazado complejo: Organización  de una memoria principal con entrelazado complejo.MÓDULO 1REGISTRO CERROJOOCUPADO/COMPLETODIRECCIONESMÓDULO 2REGISTRO CERROJODIRECCIONESCONTROLADOR  DE MEMORIAMULTIPLEXORBUS DE SIMPLEPALABRACOMANDOSMÓDULO NREGISTRO CERROJOCOMANDOSELECCIÓN
Memorias entrelazadasEntrelazado complejo:Los comienzos de acceso a estos módulos  se solapan en el tiempo , de forma que los tiempos de ocupación de los buses por cada módulo no  se superpongan. Este tipo de entrelazado  exige que la memoria disponga de una unidad de distribución de accesos que se encargue de enviar a cada módulo las peticiones de acceso en  el momento pertinente y  que resuelva los choques.Memorias entrelazadasEntrelazado complejo:El rendimiento óptimo de la memoria entrelazada se obtiene cuando los accesos que se solicitan a la memoria principal en cada ciclo, corresponden a módulos distintos. Sin embargo con frecuencia surgen peticiones simultáneas sobre el mismo módulo, en cuyo caso, aparece un problema de choques, teniendo que atender a una de las peticiones y hacer esperar a las demás. Memorias entrelazadasEntrelazado complejo:La forma en la que se ordenan las peticiones sucesivas de memoria tiene una influencia importante sobre la cantidad de choques.
Es cuando las posiciones sucesivas de memoria principal 0,1,2,3,4,…se asignan a módulos complejos.
Entrelazado de orden inferior:
Si por ejemplo  la memoria tiene 4 módulos, el primer módulo estaría ocupado por las posiciones de memoria 0,4,8,12,…, mientras que el segundo ocuparía las posiciones 1,5,9,13,etc.
Empleando módulos de 2n posiciones, se asignan las 2n primeras posiciones  al primer módulo, las posiciones de la 2n a la 22n -1 al segundo módulo  y así sucesivamente
Entrelazado de orden superior: Los Parones en las secuencias de instrucciones:El problema de los parones en las secuencias de instrucciones ocurre con las instrucciones condicionales, con las interrupciones y con las dependencias entre datos.
Los parones de dependencia entre datos se producen cuando una instrucción requiere como dato un dato que debe de generar una instrucción anterior.Los Parones en las secuencias de instrucciones:En el cuadro se muestra cómo la necesidad del dato A, que se genera en la instrucción suma(ADD), obliga a esperar a la instrucción de incremento, originando un hueco.EJEMPLO:A00AAIMCHUECOParón originado por la dependencia de datos entre una instrucción y la siguiente.
Los Parones en las secuencias de instrucciones:Los parones por bifurcación condicional se producen al reconocerse la dirección de bifurcación hasta que la instrucción de bifurcación pueda tratar la condición que, normalmente genera la instrucción anterior. B2HUECO
Los Parones en las secuencias de instrucciones:Es una técnica que se utiliza para evitar el problema de los huecos y de los retardos introducidos por las bifurcaciones condicionales.
Se evita el hueco que causa la bifurcación tomando a priori una de la dos alternativas de bifurcación. Cadena de predicción:Si esta corresponde con la alternativa supuesta, se sigue el procesamiento con el consiguiente ahorro de tiempoCuando se conoce la condiciónY si no, se desecha el proceso realizado por la instrucción de bifurcaciónLos Parones en las secuencias de instrucciones:Es una técnica mucho más económica que la anterior que permite aprovechar el hueco que dejan las bifurcaciones condicionales
Consiste en rellenarlo con instrucciones  anteriores a la bifurcación y que, por tanto, deben de ejecutarse independientemente del camino seguido por ésta.Bifurcación retardada:El mayor  obstáculo de este procedimiento consiste  en que no siempre se pueden retardar las instrucciones para rellenar el hueco y en el esfuerzo adicional de programación que ello supone.La segmentación en la Unidad de Control MicroprogramadaLas unidades de control microprogramadas suelen emplear el concepto  de encadenamiento o segmentación para acelerar su funcionamiento. Si se analizan las subfunciones que comprenden el ciclo básico de ejecución de las microinstrucciones, se puede establecer la siguiente división:Cálculo de la siguiente microdicrección, el tiempo utilizado en  realizar esta  subfunción, se le conoce como TCD.Acceso a la memoria de control, cuyo tiempo recibe el nombre de simplificado de TMC.Activación de los órganos del computador con las señales obtenidas de memoria de control. Este tiempo se llama TOC
La segmentación en la Unidad de Control MicroprogramadaTratamiento en Serie:Se produce cuando no se dispone de un registro de almacenamiento intermedio.TCDiTMCiTOCiTCDiTMCi+1TOCi+1TIEMPO
La segmentación en la Unidad de Control MicroprogramadaTratamiento en Cadena con secuenciamiento explicito:Se origina cuando hay dos etapas en la Unidad de Control, puesto que el registro de microinstrucción permite simultanear el acceso a la memoria de control con el uso de señales cargadas anteriormente en dicho registro.TCDiTCDi+1TCDi+2TMCi-1TMCiTMCi+1TOCi-2TOCi-1TOCiTIEMPO
TEMA 2.4: Computadores Vectoriales
Computadores vectoriales:Un operando vectorial está formado por una lista ordenada de n elementos. Cada elemento es un cantidad escalar, que puede ser un número en coma flotante, un entero, un valor lógico o un carácter. Tipos de Operaciones Vectoriales:fa:V->Efb:V->Vfc:V∗V->Vfd:V∗E ->V V: operador matricialE:operando escalar
Computadores vectoriales:Tipos de Operaciones Vectoriales:Está compuesto por  aquellas  operaciones en las que , operando con los elementos de un  vector, se obtiene un resultado escalar.
Primer tipo
Es el caso de hallar por ejemplo  la suma de los elementos del vector.
se encuentran las operaciones que afectan independientemente a cada elemento del vector, formándose un vector  resultado, donde cada elemento es el resultado de aplicar la operación al elemento correspondiente del primer vector.
Segundo tipo
Ejemplo: Raíz cuadrada del vectorComputadores vectoriales:Tipos de Operaciones Vectoriales:Son las operaciones que obtienen un vector a partir de otros dos.
Tercer tipo
Por ejemplo se tiene a la suma de vectores.
Se opera aplicando un escalar a cada elemento para obtener un  vector resultado.
Cuarto tipo
Por ejemplo se tiene a la suma de un escalar con un vector.Computadores vectoriales:Instrucciones Vectoriales:Están disponibles  en el lenguaje máquina de los procesadores vectoriales, y se especifican mediante los siguientes campos:
Selecciona la unidad funcional o reconfigura  una unidad multifuncional de manera que ejecute la operación indicada.
Código de operación
Son las direcciones de comienzo de los vectores operandos y de resultado.
Direcciones Base
Son las direcciones de comienzo de los vectores operandos y de resultado.
Incremento de dirección
Sumándolo a la base se obtiene  la dirección de un elemento buscado dentro de un vector.
Desplazamiento
Longitud del vectorComputadores vectoriales:Técnica de Segmentación:Es muy aplicada a las instrucciones vectoriales porque, mientras con procesadores escalares convencionales, cada elemento  debe de ejecutarse completamente para dar paso al siguiente, en la técnica de segmentación para empezar a ejecutarse un elemento basta con que éste libre el primer paso del proceso completo.Computadores vectoriales:Grados de paralelismo:Número de operaciones que pueden ejecutarse simultáneamenteAPAPLANCOCOCMCMLANAlgoritmo Paralelo(AP)
Lenguaje de Alto nivel(LAN)
Código Objeto(CO)
Código Máquina(CM)
En el primer caso se usa un LAN especial para procesos paralelos, mientras que en el segundo caso se usa un LAN convencional  y un compilador de vectorización.Computadores vectoriales:Diagrama  de un procesador vectorial con múltiples unidades de ejecución  o pipes.MEMORIA PRINCIPAL DE  ALTA  VELOCIDADUNIDAD DE PROCESO DE INSTRUCCIONESREGISTROS ESCALARESCONTROLADOR DE INSTRUCCIONES VECTORIALESPIEP1PIPE1PIEP1PROCESADOR ESCALARCONTROLADOR DE ACCESO VECTORIALREGISTROS VECTORIALESPIEP1PIPE1PIEP1PROCESADOR VECTORIALLa unidad de proceso de Instrucciones, las recoge y las decodifica, trasladándolas a las sección de instrucciones vectoriales o escalares, cada una de las cuales consta de un procesador multi-pipeComputadores vectoriales:Arquitectura de «Cray-1»Emplea una tecnología ECL de 0,7 ns y MOS de 70 ns.
Frecuencia de reloj de 12,5 nsy no puede trabajar de forma autónoma .
El Cray-1 es uno de los procesadores vectoriales más modernos.
La sección de memoria se organiza en 8 o 16 bancos con 72  módulos cada uno
La memoria principal esta configurada por circuitos integrados tipos RAM, que conforman un mínimo de  un millón de  palabras de 72 bits, 8 de las cuales e utilizan para la detección de errores dobles y corrección  de los simplesComputadores vectoriales:Arquitectura de «Cray-1»SECCION DE EJECUCIÓN(REGISTROS, UNIDADES FUNCIONALES, BUFFERS DE INSTRUCCIONES)SECCION DE MEMORIA0,25 m/0,5m/1M(PALABRAS BIPOLARES DE 64 BITS)SECCION DE E/S12 CANALES DE ENTRADA12 CANALES DE SALIDASUBSISTEMA DEALMACENAMIENTOMASIVO HOST, ANFITRIÓN, SISTEMA DE E/S, PERIFÉRICOSMCUDiagrama General del conexionado del  Cray-1 a un computador principal  o host
Computadores vectoriales:Arquitectura de «Cray-1»Memoria principal con un ciclo de 50ns, es decir 4 periodos de reloj. Se pueden transferir  la unidad de ejecución 1, 2 o 4 palabras por periodo de reloj.
La sección de E/S contiene 12 canales e entrada, y otros 12 de salida. Cada canal tiene una frecuencia de transferencia de 80 MBytes/s como máximo.
Procesador Cray-1
La unidad de Control de mantenimiento se encarga de la inicialización del sistema y la supervisión de su funcionamiento.Computadores vectoriales:REGISTROS VECTORIALESDESPLAZAMIENTOArquitectura de «Cray-1»V?LÓGICASUMAV1V000Esquema general interno de la Unidad de Ejecución del computador «Cray-1»UNIDADESFUNCIONALES VECTORIALES??AP.RECIPVNPRODUCTOSUMAVLREGISTROS ESCALARESUNIDADESFUNCIONALESDE COMA FLOTANTET00S7T77S1MEMORIAS0CONTEODESPLAZ.REGISTROS  DE DIRECCIONESLÓGICAB00A7SUMA377UNIDADESFUNCIONALESESCALARESA1A0PPRODUCTO32SUMA1UNIDADESFUNCIONALESDE DIRECCIONES0000117BUFFERDE INSTRUCCIONESNIPCIPEJECUCIÓNLIP
Computadores vectoriales:Arquitectura de «Cray-1»Sección de Ejecución Consta de 64*4 buffers de instrucciones y 800 registros con diferentes funciones,. Tiene 12 unidades funcionales agrupadas  en unidades vectoriales de coma flotante, de tipo escalar y de direccionesREGISTROS USADOSS o VUNIDADES FUNCIONALES VECTORIALESSuma
Desplazamiento
LógicasS o VS o VUNIDADES FUNCIONALES DE COMA FLOTANTES y VSuma
Producto
Aproximación ReciprocaS y VS y VCalcula el reciprocoSSuma  Lógicas
Conteos
Desplazamientos
Conteos de unos y cerosUNIDADES ESCALARESSSCuenta número de unos o números de ceros tras un unoSUNIDADES DE DIRECCIONESSuma
ProductoAAUNIDADES FUNCIONALES DEL CRAY-1
Computadores vectoriales:Arquitectura de «Cray-1»Sección de Ejecución Las operaciones aritméticas pueden efectuarse con datos de 24 bits, mientras  que las de coma flotante con datos de 64 bits.
Los registros escalares y de direcciones pueden acceder directamente  a la memoria o a través de los 64 registros T y B.
El registro CIP contiene la instrucción en curso, mientras que el registro NIP almacena la próxima instrucción a ejecutar. Ambos registros constan de 16 bits. Si la instrucción es de 32 bits también se utiliza el registro LIP ara contener los 16 bits de  menos peso de la instrucción.TEMA 2.5: Computadores Array
Computadores «array»Los procesadores segmentados array tienen una estructura de dos dimensiones con múltiples cadenas de flujos de datos para operaciones aritméticas de alto nivel:
Productos de matrices
Cálculo de la matriz inversa
Etc.
La arquitectura segmentada se basa en  tablas celulares de unidades aritméticas.a32a230a3300a31a22a130a21a1200a11tt2t1Computadores «array»Procesador Pipe Line Array000Tiene una estructura de pipe-line de tres direcciones  de flujo de datos para la multiplicación de dos matrices. Cada célula efectúa una operación de producto interno aditivo.Pb11  0    0PPac0t8bbPPt7PPb21   b12   0t6ad0Pb31  b22   b13PPPPPPP0  b32   b23C31PC320   0   b33PPPC21t8C33t7C22C23t6C11C12C13
Computadores «array»Procesador Pipe Line Array
Los registros de las terminales de entrada y salida están sincronizados por el mismo reloj. El array de la figura anterior efectúa el producto de matrices de orden de 3 por 3.a11a12a13a21a22a23a31a32a33 a11a12a13a21a22a23a31a32a33 a11a12a13a21a22a23a31a32a33 .A.B= = =C Las matrices de entrada ingresan al procesador por las direcciones horizontal y vertical. Para realizar   el producto de dos matrices de orden n se necesita:3n2−4n+2 celdas P Para completar el proceso:3n−1 periodos de reloj 
Arquitectura del computador  AP-120BAP-120BCONTROL(16 BITS)INTERFAZInterconexión del computador AP-120B al principal o host.CPUREGISTROS DEL PANEL FRONTALTERMINALMEMORIADEDATOSFUNCIONESIMPRESORACONMUTADORESCONTROL(16 BITS)DISPLAYCPUFICHERO DE DISCOMEMORIADIRECCION DEMEMORIA DEL HOST (ANFITRION)DIRECCIÓN HOST MÁXIMO DE 16 BITSDIRECCION DEMEMORIA DEL APDIRECCION MEMORIA   APFICHERO DE CIINTACONTAJE DE PALABRASCONTROLFORMATODATOS(36 BITS))DATOS(16 Ó 32 BITS))REGISTROS  DMA
Arquitectura del computador  AP-120BDiagrama funcional  del computador AP-120BMEMORIA DE CONTROL BUS DE BITSUNIDADES ARITMÉTICASMEMORIA DE PROGRAMAPMSUMADOR DE COMAFLOTANTE-DIRECCIONES OPERANDOS-ALUSPFNUNIDADES DE CONTROL-REGISTRO DE DIRECCIONES DE MEMORIAMA,DMA,TPATMMEMORIA DE TABLASM1A1DPXREGISTROS XFAFMSECCIÓN DE MEMORIAA2M2REGISTROS YDPYMEMORIA PRINCIPAL DE DATOSMDMULTIPLICADOR DE COMAFLOTANTEMDMDIINTERFAZ CON HOST:-FUNCIONES-CONMUTADORES-DISPLAYSECCIÓN DE E/S10P16 /32INBSPIOPINBS
Arquitectura del computador  AP-120BEn la figura anterior se ve que el AP-120B se tratase de una terminal más, pero habiendo entre el host  y el AP-120B unos registros que facilitan la interfaz, los cuales tienen las siguientes funciones:Funciones de los registrosREGISTRO DE FUNCIONES: Comandos típicos tales como Start, Stop, etc.
REGISTRO DE CONMUTADORES: Enviar datos de control, parámetros o direcciones del principal al AP-120B
REGISTRO DISPLAY O PRESENTADORES: Permiten visualizar el contenido de los  registros del procesador array
DIRECCION DE MEMORIA DEL PRINCIPAL
DIRECCION DE MEMORIA DEL AP-120B
RECUENTO DE PALABRASArquitectura del computador  AP-120BFunciones de los registrosREGISTRO DE CONTROL
REGISTRO DE FORMATO: Convierten el formato LP del computador principal al del  AP-120B y viceversa.Memoria de ControlMemoria de programa(MP), contiene las Instrucciones a ejecutar por la unidad de control. Tiene un máximo de 4k palabras, pudiendo hacerse ampliaciones de 256 palabras. Cada palabra es de 64 bits.Sección de memoriaMemoria principal de datos(MD), Almacenamiento principal de datos con palabras de 38 bits. Ampliaciones de 2 u 8K palabras hasta un máximo de un millón.Arquitectura del computador  AP-120BSección de memoriaMemoria de tablas(TM), Permite guardar constantes muy utilizadas. Puede  ser de tipo RAM o ROM.
Tablas de registros X, Y, DPX, DPY: Forman dos bloques acumuladores de 38 bits. Cada bloque tiene 16 acumuladores pudiendo ser accedido por el AP-120B directamente.Unidad de ControlDirecciones de operandos y ALU(SPFN), Contiene 16 registros con las direcciones  de los operandos para la ALU, la cual efectúa operaciones aritméticas con  enteros de 16 bits.
Registro de direcciones(MA, TMA, DPA): La ALU deja direcciones de los resultados en uno de estos 3 registros, según sea la dirección de memoria de tablas, de memoria de tablas o de registros  X y Y. Arquitectura del computador  AP-120BUnidades AritméticasSumador de coma flotante(FA), suma dos números de coma flotante A1 y A2 que pueden provenir de diferentes registros, dejando el resultado en uno de estos dos registros FM, M, DPY,DPX,CERO, A1 A1ALINEAMIENTO DE FRACCIONES Y DE SUMANORMALIZACIÓN Y REDONDEOBUFFER A2FM, M, DPY,MD,CERO, A2FAM2, A2, DPX, DPY
Arquitectura del computador  AP-120BUnidades AritméticasMultiplicador de coma flotante(FA), multiplica dos números de coma flotante M1 y M2.DPX,DPY,TM, FM P1SUMA DE EXPONENTESNORMALIZACION Y REDONDEOINICIO DE PRODUCTOS DE FRACCIONESTERMINO DEL PRODUCTO DE FRACCIONESBUFFER2BUFFER2 P2FMFA, DPX, DPY, MDM1, A1, MD, DPX, DPY
TEMA 2.6: Arquitectura SIMD: Procesadores  Matriciales y Asociativos
Arquitecturas SIMDUn procesador matricial, esta conectado al host a través de una Unidad de Control. El computador principal es una máquina de propósito general que dirige las operaciones de todo el sistema. La unidad de Control del computador matricial supervisa la ejecución de programas del computador matricial cuyos resultados son enviados al mundo exterior a por el host.
Además de los computadores matriciales, estas arquitecturas también comprenden a los procesadores asociativos caracterizados por  el empleo de memorias direccionables  por contenido.Arquitecturas SIMDProcesadores matriciales:Es una matriz síncrona de procesadores paralelos formados por múltiples elementos de proceso, supervisados por una Unidad de Control.Cada PE se compone de una ALU con sus respectivos registros de trabajo y una memoria local (PEM).La unidad de control  tiene además su propia memoria de  almacenamiento del programa que se ejecuta. Para el intercambio de datos entre los diferentes PE, se tiene una red de interconexión controlada por  la UC. Configuraciones básicasNo se dispone de bloques de memoria para cada PE, sino de un grupo de bloques de memoria (M). Por otra parte no existe red de interconexión, pero si red de alineamiento que conecta a los PE con las memorias.
Arquitecturas SIMDProcesadores matriciales:Configuración 1CONTROLDATOS  E INSTRUCCIONESI/ORED DE INTERCONEXIÓNBUS DE DATOS
Arquitecturas SIMDProcesadores matriciales:Configuración 2DATOS  E INSTRUCCIONESRED DE INTERCONEXIÓNI/OBUS DE DATOS
Arquitecturas SIMDProcesadores matriciales:CaracterísticasC=N,F,I,M;DONDE: N:Número de PE
F:funciones de transmisión de datos por las redes de interconexión o alineamiento.
I: instrucción máquina
M:Máscara para habilitar y deshabilitar los PE.Arquitecturas SIMDArquitectura del MPPProcesador de alta integración desarrollado por la NASA para procesar las imágenes enviadas por los satélites artificiales.
Contiene una matriz de 128 *128 =16384 microprocesadores en paralelo. Además el MPP tiene una unidad de control microprogramada (ACU) y cada PE tiene asociado 1 Kbits de memoria de acceso directo.MPP(Masivelly Parallel Processor)Tiene 132 columnas, 128 normales y 4 de reserva. Las funciones aritméticas de cada PE se ejecutan  mediante un sumador serie y un registro de desplazamiento.
UNIDAD DE MANDATO DE PROGRAMAS: microordenador que controla el flujo de datos en la matriz, carga programas en el controlador, ejecuta rutinas de autodiagnóstico  y facilita el desarrollo de programasArquitectura general del Sistema  MPPINTERFAZ DESALIDA DE 128 BITSINTERFAZ DE ENTRADA DE 128 BITSUNIDADMATRICIAL (ARU)CONMUTADORESCONMUTADORESCONTROL ESTADOCONMUTACIÓNREGISTRO DE ENTRADA (PDMU ARU)REGISTRO DE SALIDA(PDMU ARU)CONTROL ESTADOINTERFACEPARA CONTROLEXTERNOUNIDAD DE CONTROL DE LA MATRIZ (ACU)DATOS DE PROGRAMASCONTROL ESTADOUNIDAD DE MANEJO  DE PROGRAMAS Y DATOS PDMUCINTA MAGNETICATERMINALALFANUMERICODISCOIMPRESORAORDENADOR EXTERNO
Arquitecturas SIMDEl ordenador externo de control que se usa es el PDP-11/34. El MPP incluye periféricos como controlador de cinta magnética, impresora, terminal y dos discos de 67 Mbytes.
Puede trabajar independientemente, sin ordenador externo, en modo  standalone, mediante el terminal y los comandos propios del MPP. En el modo online el ordenador externo, le suministra datos, programas y petición de trabajo, también recibe los datos generados por el MPP e información sobre su estado.Características del MPPLa frecuencia de reloj para el funcionamiento de la matriz es de 10 MHz.Arquitecturas SIMDProcesadores asociativos:Son del tipo matricial, pero sustituyendo a la memoria de acceso directo(RAM) , por otra de tipo CAM. Mientras que en la RAM se precisa de la dirección antes que de acceso al dato, en las CAM los datos son direccionables por contenido, permitiendo el acceso a numerosas palabras de memoria. Además se caracterizan porque las operaciones lógicas y aritméticas se ejecutan sobre muchos conjuntos de argumentos en una instrucción simple.Arquitecturas SIMDProcesadores asociativos:Es un procesador asociativo bit-serie, por lo que su coste es reducido en comparación con los de estructura paralela.
Esta compuesto de 32 módulos  asociativos de matrices, como máximo. Cada módulo contiene 256 palabras de  256 bits cada una, de acceso multidimensional, una red de permutación y un selector.
Arquitectura del procesador STARAN
Cada elemento del proceso opera en serie, bit a bit, en los datos de todas las palabras de acceso multidimensional(MDAM)Arquitecturas SIMDProcesadores asociativos:Arquitectura del procesador STARANMódulo asociativo  de la matriz del computador STARANSALIDAENTRADAMEMORIA DE ACCESO MULTIDIMENSIONALRED DE PERMUTACIÓNSELECTORALU(256 ELEMENTOS DE PROCESO)SEÑALES
Arquitecturas SIMDProcesadores asociativos:Utilizando la red de permutación los datos almacenados en la MDAM, pueden ser accedidos por los canales de E/S en bit/slice, word slices o en una combinación de ambos. Esta red se utiliza también para  desplazar o manipular datos, permitir búsquedas paralelas, operaciones entre las palabras de la MDAM.
Arquitectura del procesador STARAN
Para localizar un datos particular  el STARAN inicia  una búsqueda con un medio de comparación a través de una lógica de control asociativa.Arquitecturas SIMDProcesadores asociativos:Arquitectura del procesador STARANDiferenciación entre las operaciones paralelas en el STARANCONTROLBITSBIT SLICEPIQWORDSWORD SLICE256 PALABRAS * 256 BITS
Arquitecturas SIMDProcesadores asociativos:Arquitectura del procesador STARANArquitectura General por BloquesMODULO ASOCIATIVO DE MATRIZPIOPI0EQUIPO DE USUARIO  TIPICOSEÑALES DE CONTROLPIOMODULO ASOCIATIVO DE MATRIZPIOEPUNIDAD DE INTERFAZEPLOGICA DE FUNCIONES EXTERNASORDENADORESPERIFERICOSPANTALLASSENSORESLOGICA DE CONTROL SECUENCIALLOGICA DE PAGINADOS DE PROGRAMASLOGICA DE CONTROL ASOCIATIVODISCOBIOBIODMALOGICA DE PUERTAS DE MEMORIADMAMEMORIA DECONTROL DEL PROCESADOR ASOCIATIVO
Arquitecturas SIMDProcesadores asociativos:Arquitectura del procesador STARANArquitectura General por BloquesLa unidad de interfaz incluye conexión con sensores convencionales, pantallas interactivas y dispositivos de almacenamiento masivo. Dentro de las opciones  de E/S se contempla:
ACCESO DIRECTO A MEMORIA
CANALES DE E/S(BIO)
CANALES DE FUNCIONAMIENTO EXTERNO(EXF)
CANALES DEFUNCIONAMIENTO  PARALELO(PIO)
Cada módulo asociativo e la matriz puede contener hasta 256 entradas y 256 salidas en la unidad de interfazTEMA 2.7: Multiprocesadores o Computadores MIMD
Multiprocesadores o Computadores MIMDUn multiprocesador  está compuesto por múltiples procesadores de instrucciones, que cooperan para tener un fin común. Este concepto es distinto al del computador múltiple que esta formado por varios computadores autónomos que pueden  trabajar o no coordinadamente.
La arquitectura MIMD comprende N elementos de procesos de instrucciones, que se conectan con M módulos de memoria principal a través e una red de interconexión. Además existe una unidad de coordinación que controla  y sincroniza los procesos en ejecución, aunque no se ejecute el código objeto.Multiprocesadores o Computadores MIMDEsquema General de la Arquitectura MIMDCOORDINADOR CENTRALRED DE CONEXIÓNMODULO 1PROCESADOR 1MODULO 2PROCESADOR 2MODULO MPROCESADOR NMEMORIA PRINCIPAL
MULTIPROCESADORES ACTUALESEn el caso de INTEL este ultimo tiempo ha llegado al numero de 8 núcleos, en un solo encapsulado, con su afamado CORE I7(Que en realidad consta de 4 procesadores físicos y ocho lógicos, y a través de una tecnología llamada HT se logra hacer que el sistema reconozca 8 núcleos)
Por parte de AMD presenta procesadores de dos núcleos, de cuatro y de tres núcleos, si de tre, con su serie phenom X3, que son una buena opción para aquellos que buscan performance y precio, ya que son mejores que los de dos núcleos, y mas baratos que aquellos de cuatro. NOTICIAS DE PROCESADORES INTELProcesadores con 8 Y 12 núcleos en 2010 (AMD)Los nombres en clave de estos desarrollos son Sao Paolo y Magny-Cours, para los procesadores de 8 y 12 núcleos respectivamente. Según la información oficial, ambas CPUs utilizarían una arquitectura de 45 nanómetros con un nuevo socket, el G34, que vendría a ser una actualización del actual Socket F utilizado en los microprocesadores Opteron destinados a estaciones de trabajo profesionales y servidores. Procesadores con 32 núcleos  (Intel)Los actuales dual-core se quedarán en agua de borrajas si se cumplen las previsiones de Intel que en menos de cuatro planea tener disponible un microprocesador con 32 núcleos trabajando conjuntamente.Tal y como indican en TG Daily, Intel anunció hace cinco años que querían lograr disponer de un microprocesador a 20 GHz en la segunda mitad de esta década. Nada menos que mil millones de transistores (no parece mucho teniendo en cuenta los súper núcleos actuales de Intel, AMD, NVIDIA o ATI) tendría ese monstruito, pero las cosas han cambiado sensiblemente. No hay un número específico de núcleos programado para esos procesadores que Intel ha denominado “many cores” (multinúcleo), pero el primero de ellos parece responder al nombre de Gulftown, englobado en el proyecto Keifer, y que integraría 32 núcleos. la tecnología de fabricación utilizada sería de 32 nm, y constaría de ocho nodos de procesamiento con 4 núcleos cada uno, y que en total podrían acceder a una caché de 24 Mbytes de lo que se denomina “Last Level”, o último nivel.
LO QUE SE VIENE
Multiprocesadores o Computadores MIMDSISTEMAS DÉBILMENTE ACOPLADOSCada procesador tiene un dispositivo de E/S y una memoria local. Los  mensajes se realizan a través de un sistema de transferencia global a granes velocidades (1Mbp/s)Clasificación de las arquitecturas de los multiprocesadoresSISTEMAS FUERTEMENTE ACOPLADOSSe comunican a  través de una memoria principal compartida, disponiendo cada procesador de una cache propia. Admiten un lato nivel de interacción entre las tareas, sin que se produzca un deterioro importante en la respuesta. Este tipo puede utilizar todos los recursos del sistema
Multiprocesadores o Computadores MIMDESTRUCTURA DE UN SISTEMA DÉBILMENTE ACOPLADOE/SMódulo 1MEMORIA LOCALCANAL Y ARBITROSISTEMA DE TRANSFERENCIA DE MENSAJESPROCESADORCANAL Y ARBITROMódulo N
Multiprocesadores o Computadores MIMDESTRUCTURA DE UN SISTEMA FUERTEMENTE ACOPLADODISCODISCORED DE INTERCONEXIÓN DE E/SMEMORIA LOCAL NO MAPEADAMÓDULOS DE MEMORIA COMPARTIDAMEMORIA LOCAL MAPEADAPROCESADOR11RED DE INTERCONEXIÓNRED DE INTERCONEXIÓN DE LAS SEÑALES DE INTERRUPCIÓNpMEMORIA LOCAL NO MAPEADANPROCESADORMEMORIA LOCAL MAPEADA
Multiprocesadores o Computadores MIMDSISTEMA OPERATIVO MAESTRO-ESCLAVOLas rutinas del supervisor se ejecutan desde un único y exclusivo procesador «maestro»SISTEMA OPERATIVO CON SUPERVISORES SEPARADOS EN CADA PROCESADORSistemas operativos ClásicosDuplicación de ciertas rutinas del supervisor en cada procesador.SISTEMA OPERATIVO DE PUNTO FLOTANTEPermite ejecutar varias rutinas del supervisor a la vez. Cuando  hay un fallo en el procesador no afecta demasiado al sistema.Sistemas Operativos para  Multiprocesadores
Multiprocesadores o Computadores MIMDRed de interconexión ComúnTopología más simple y económica. Presenta un bus común compartido por todos los elementos del sistemaRed de interconexión «crossbar switch»EstructurasControl de las comunicaciones que recae en una unidad especial de conmutación que dirige el flujo de información de los buses.Red de interconexión con memoria multipuertaDistribuye  las funciones de control, comunicación entre  las unidades controladoras de los módulos de memoria.Multiprocesadores o Computadores MIMDRed de interconexión ComúnBUS COMUNMODULOMEMORIA PROCESADORMODULOMEMORIA PROCESADORUNIDAD DE E/SUNIDAD DE E/S
Multiprocesadores o Computadores MIMDRed de interconexión «crossbar switch»MODULOMEMORIA MODULOMEMORIA PROCESADOR 1UNIDAD DE E/SPROCESADOR NUNIDAD DE E/S
Multiprocesadores o Computadores MIMDRed de interconexión «multipuerta»PROCESADOR 1PROCESADOR 2MODULOMEMORIA 1MODULOMEMORIA 1MODULOMEMORIA 1MODULOMEMORIA 1UNIDAD DE E/SUNIDAD DE E/S
Multiprocesadores o Computadores MIMDMultiprocesador «S-1»Procesador de propósito general de alta velocidad.
Construido con uniprocesadores S-1 Mark IIA
Incluye 16 uniprocesadores Mark IIA independientes
Comparten 16 bancos de memoria

ARQUITECTURA DE COMPUTADORAS

  • 1.
    UNIVERSIDAD NACIONALDEL CENTRODEL PERÚARQUITECTURA DE COMPUTADORASPRESENTADO POR :ACUÑA TENORIO, MarioCASTILLON POMA, DarwinLANDEO RIVERA Daniel LAURA HUAROC, KenilOSORES RAMOS, JimmyCATEDRÁTICO:Ing. Miguel CAMARENA INGARUCA
  • 2.
    TEMA 1: LaNorma de Conexión RS 232
  • 3.
    Introducción a lanorma de conexión RS 232El modelo de conexión RS describe la forma de conectar el terminal a un módem, para la transmisión de datos en serie.
  • 4.
    La norma RS232 proviene de la EIA RS-232 que fue propuesta en 1969 por la Asociación de industrias Electrónicas.DTEDTEModem DCEModem DCEEQUIPO TERMINAL DE DATOS:DATA TERMINAL EQUIPMENTRS meansRecommended Standard
  • 5.
    Introducción a lanorma de conexión RS 232Aunque la norma se estableció para equipos informáticos a módems, la realidad es que se esta empleando masivamente para comunicar equipos informáticos entre sí, sin la inclusión del módem. Por este motivo no se puede aplicar directamente la norma y la interpretación que da sus diferentes señales puede diferir de un fabricante a otro. Esta norma es especialmente difundida a nivel de microcomputadores Especificaciones GeneralesESPECIFICACIÓN ELÉCTRICA:En la figura se muestra circuitos equivalente de emisores y receptores, que se aplican a todas las señales que componen la norma.R0 (3000−7000Ω) RL (3000−7000Ω) V0CLC0(>2500pF) EL>(2V) EMISORRECEPTOR
  • 6.
    Especificaciones GeneralesESPECIFICACIÓN LÓGICALanorma RS-232-C contempla 25 señales, de la cuales se puede emplear menos de 10. las más importantes son:Especificaciones GeneralesESPECIFICACIÓN LÓGICAConexión lógica de las señales más importantes de la norma RS-232-CDCEDTEDATOSTD 22RD 33DTR 202066 DSR4RTS 455 TS88 DCD77TIERRA 11 TIERRAYa que esta norma se utiliza para interconectar equipos directamente, el asignar a estos el tipo DTE o DCE, es totalmente arbitrario por lo que se puede ocasionar problemas a la hora de conectar equipos de diferentes fabricantes.Especificaciones GeneralesESPECIFICACIÓN MECÁNICALo más habitual es usar conectores del tipo DB-25, que consta de25 patitas repartidas de la siguiente manera:12345678910111213141516171819202122232425El conexionado puede realizarse con cables planos, hilos trenzados, o cables coaxiales según la distancia entre el emisor y el receptor.Especificaciones GeneralesESPECIFICACIÓN MECÁNICADescripción de cada uno de los 25 pines, antes mencionados.Método de transmisiónEl método de transmisión es el que la define la transferencia elemental del bus serie.
  • 7.
    Aunque el métodode transmisión no forma parte de la norma RS-232-C, por lo general se emplea el de tipo asíncrono con formato start/stop. El envio se hace por bytes individuales. Además la información se suele codificar en ASCII.D5D6D7D3D1D2D0D4STARTSTOP 1STOP 2PARIDADDATOINFORMACIÓN DE UN BYTE COMPLETA
  • 8.
    Método de transmisiónEn la figura anterior la línea de comunicación está normalmente en estado 1, empleándose su paso a 0 como señal de comienzo del envio de un byte(START).Seguidamente se vienen los bits de datos, que pueden ser de 5 a 8.
  • 9.
    A continuación unbyte de paridad que es opcional y, finalmente uno o dos bits de STOP que avisan el fin de un byte. Si se desea enviar otro byte, se repite el proceso y en caso contrario queda la línea con nivel 1.Método de transmisiónLa información no se codifica para la transmisión, siendo el estado 0 o 1 de la línea, el valor directo de cada bit. Este hecho obliga a que el receptor este sincronizado con la unidad recibida, lo que se realiza con el flanco descendente del bit de START.
  • 10.
    Ante elevadas velocidades de transmisión se utiliza el modo síncrono que esta formado por uno o dos bytes de sincronismo( en el caso del código ASCII este byte es 0010110), seguidos por los bytes de datos. La transmisión debe de ser continua por lo que el emisor deberá intercalar automáticamente, bytes de sincronismos cuando sean necesarios. El receptor ha de sincronizarse con la cadena de bits que recibe.Método de transmisiónFormato de la comunicación síncrona en la norma RS-232-CSINCRONISMOSINCRONISMODATO 0 DATO 1 DATO 2 DATO 3 DATO 4 BYTES DE SINCRONISMOBYTES DE DATOSProtocolo de comunicaciónEstablece la comunicación a nivel de transferencia de bloques de información. Se emplea dos técnicas
  • 11.
  • 12.
    Protocolo por códigosProtocolode comunicaciónPROTOCOLO POR SEÑALESSe utilizan algunas señales de la norma RS-232-C para que los dispositivos indiquen si pueden recibir o no información.
  • 13.
    La pareja deseñales DTR/DSR, o bien, RST/CTS se suelen emplear con este fin.
  • 14.
    En este caso,la señal DTR o RTS indica que el dispositivo DTE está conectado o dispuesto, mientras que las señal DSR o CTS indica si lo está el DCEProtocolo de comunicaciónPROTOCOLO POR CÓDIGOSSe utilizan diversas técnicas basadas en códigos. Una de ellas utiliza los códigos XON (carácter DC1 en ASCII) y XOFF (carácter DC3 en ASCII) para que el receptor indique si puede recibir información.
  • 15.
    Se supone queel receptor está en disposición de recibir la información, por lo que el emisor comienza a enviarla. Si el receptor se aproxima a la saturación de su memoria de recepción, envía un XOFF para detener la transmisión. Una vez que ha vaciado su memoria, envía un XON para que el emisor reanude el envio de información.El proceso es el siguiente:DC1: DEVIDE CONTROL 1XONDC3. DEVICE CONTROL 3XOFF
  • 16.
    Protocolo de comunicaciónPROTOCOLOPOR CÓDIGOSOtro protocolo por códigos muy empleado es el que utiliza los caracteres ASCII ETX y ACK.
  • 17.
    Suponiendo que estadisponible el receptor, el emisor inicia la transmisión enviando una línea de información, que finaliza en el código ETX . Una vez que el receptor ha asimilado la línea y está en disposición de recibir más información envía el código ASCII ASK, con el que informa al emisor de su situación. La máxima longitud de las líneas de información es de 80 a 132 bytes.ETX: FÍN DE TEXTOACK: ACKNOWLEDGEMENT
  • 18.
    Diseño de unainterfaz RS-232-CLa sencillez en el diseño de una interfaz RS-232-C se debe a los circuitos integrados VLSI disponibles. En concreto se puede utilizar una pastilla denominada 8251 USART, la cual:
  • 19.
    Realiza todas lasoperaciones necesarias para serializar la información transformada y transformar en paralelo la que recibe.8251 USARTGenera las formas de onda correspondiente a la velocidad de transmisión seleccionada y la que sincroniza la recepción.Diseño de una interfaz RS-232-CBUS DE DATOSDO-D7Diseño de una comunicación doble que sigue la norma RS-232-CBUS DE DIRECCIONESAO-A15A1-A2-A3G2AG174138IO/M G2BCS A0T∗D DATOS ENVIADOS C/D D0-D7MICROPROCESADORDTR  CONTROLRESETRESETRTS  RD RD WR USART 82581WR 1488CLK 3,07 MHzCLK 5VDATOS ENVIADOS R∗D T+RDY INTR∗RDY DSR TxC 74190CTS CONTROLR∗C 1489
  • 20.
    Diseño de unainterfaz RS-232-CSe usan las señales CTS, RTS, DTR y DSR para indicar el estado de los equipos conectados. Los relojes de transmisión y recepción se derivan del reloj principal del microprocesador(suponiendo que funciona a 3,702 MHz), mediante un divisor por 10. Si además, se programa al USART para que divida por 64 esta frecuencia, se obtiene la velocidad de transmisión y recepción de 48000 baudios.TEMA 2: Computadores de altas prestaciones
  • 21.
    TEMA 2.1: Elreforzamiento del paralelismo y el aumento de la velocidad del procesamiento
  • 22.
    El reforzamiento delparalelismo y el aumento de la velocidad del procesamientoLa ampliación de las áreas de aplicación de los computadores a campos que tienen que efectuar un enorme número de operaciones sobre grandes masas de datos estructurados, exigen la mejora constante de sus prestaciones.
  • 23.
  • 24.
  • 25.
    Cálculo y controlde las trayectorias de los robots.
  • 26.
    El incremento dela potencia de las máquinas programadas no solo se consigue con la aplicación de los últimos avances , sino mejorando sus arquitectura interna y los recursos del sistema lógico.El reforzamiento del paralelismo y el aumento de la velocidad del procesamientoEstas características están motivadas por tres causas:
  • 27.
    NECESIDAD DE INCREMENTOCONTINUO DE LA POTENCIA DEL CALCULO:
  • 28.
    Los monoprocesadores puedenllegar a un máximo de potencia de 1 GFLOP(mil millones de operaciones de coma flotante por segundo), considerando las limitaciones de velocidad de transmisión en el silicio.
  • 29.
    DESFASE ENTRE LA ARQUITECTURA DE VON NEUMANN, Y LOS REQUERIMIENTOS DE LOS NUEVOS SISTEMAS LÓGICOS Y LENGUAJES.
  • 30.
    Debido a quela tecnología actual VLSI proporciona elementos baratos especialmente cuando se utilizan de forma repetitiva.
  • 31.
    LAS CONSIDERACIONES QUERESPETO AL COSTE, EXISTIAN EN EL PASADO.Aumento de la velocidad del procesamiento.Para elevar la velocidad de procesamiento de los computadores, existen diferentes alternativas entre las que destacan:Empleo de tecnologías más rápidas. Para poder disponer de máquinas que trabajan a más de 100 Megaflops, se precisan de memorias de tiempos de acceso de muy pocos ns. Las tecnologías basadas en el efecto de Josephson y otras consiguen retardos inferiores al ns, pero teniendo en cuenta el tiempo imprescindible para circular las señales a las distancias a las que se sitúan, los componentes de la máquina.Reducir el número de niveles de puertas para realizar algoritmos, como sucede en los sumadores con acarreo anticipado.Aumentar la complejidad de los circuitos combinatorios. En este aspecto se puede hacer referencia al uso del PAL, en el proceso de codificación de las instrucciones.
  • 32.
    Aumento de lavelocidad del procesamiento.Otras alternativas son:
  • 33.
    Diseño de nuevasorganizaciones y estrategias de funcionamiento de las memorias. Ejemplos de esta técnica son la memoria virtual, la memoria cache y la memoria entrelazada.
  • 34.
    Sustitución del sistema lógico por equipo físico. Se tiende a construir por circuitería ciertas funciones repetitivas que hasta ahora se realizaban por el sistema lógico.
  • 35.
    Aumento del gradode paralelismo o concurrencia, desde el nivel e las instrucciones hasta el de los programas.
  • 36.
    Utilización de estructurassegmentadas en las que, mientras se procesan unos datos, se capturan los próximos a procesarse, consiguiendo un mayor aprovechamiento de los componentes del sistema. Aumento de la velocidad del procesamiento.El paralelismo ha ido aumentando en la forma de operar de los sistemas, desde el tratamiento en lotes, en donde los programas se agrupaban en lotes para irlos realizando uno tras otro.
  • 37.
    MULTIPROCESAMIENTO: Donde seejecutan varios programas simultáneamente, usando sistemas dotados de varios procesadores.Otras técnicas:Tiempo Compartido:Diversos procesos compartían la UCP.Ejecuta en forma concurrente varios programas residentes en la memorias principal.Multiprogramación:
  • 38.
    Aumento de lavelocidad del procesamiento.La potenciación del paralelismo se puede dirigir hacia el grado de concurrencia de los procesos, que puede alcanzar desde la ejecución simultánea de diferentes programas, hasta la que se consigue entre las diversas partes en las que se descompone una instrucción.Arquitecturas para el reforzamiento del paralelismoSISTEMAS UNIPROCESADORES:Pipe-Line o de segmentación
  • 39.
  • 40.
    Los modernos supercomputadoresdisponen de tres recursos que explotan el paralelismo y que dan lugar a tres tipos de computadores:
  • 41.
  • 42.
  • 43.
    Multiprocesador.TEMA 2.2: Clasificaciónde las arquitecturas del computador propuesto por Flynn
  • 44.
    Clasificación de lasarquitecturas del computador propuesto por FlynnSISD: Flujo único de instrucciones-flujo único de datos
  • 45.
    SIMD: Flujo únicode instrucciones-flujo múltiple de datos
  • 46.
    Esta clasificación dividea los computadores, atendiendo a su paralelismo explicito en 4 grupos:
  • 47.
    MISD: Flujo múltiplede instrucciones-flujo único de datos
  • 48.
    MIMD: Flujo múltiplede instrucciones-flujo múltiple de datosClasificación de las arquitecturas del computador propuesto por FlynnEsquema simplificado de la arquitectura SISDUNIDAD OPERATIVAFLUJO DE DATOS(ALU Y REGISTROS)MEMORIA PRINCIPALFLUJO DE INSTRUCCIONES(INSTRUCCIONES Y DATOS)UNIDAD DE CONTROLFLUJO DE INSTRUCCIONES(DECODIFICADOR DE INSTRUCCIONESY SECUENCIADOR)
  • 49.
    Clasificación de lasarquitecturas del computador propuesto por FlynnArquitectura SISDLa memoria principal genera el flujo de instrucciones a la Unida de Control, que tras decodificarlas e interpretarlas, ordena sus ejecución en la Unidad Operativa compuesta por la ALU, y los registros internos de trabajo. El flujo de datos bidireccional comunica a la memoria principal y a la Unidad Operativa. En el funcionamiento de los computadores SISD solo hay una corriente de instrucciones unidireccional y otra de datos bidireccional.Clasificación de las arquitecturas del computador propuesto por FlynnArquitectura SIMDEn los computadores con esta arquitectura, la unidad de control existente supervisa el funcionamiento del conjunto de unidades operativas disponibles.
  • 50.
    La estructura correspondea los llamados procesadores matriciales. La unidad de control interpreta las instrucciones y envía las correspondientes señales de control alas unidades operativas encargadas de se ejecución. La unidad de control comienza la búsqueda de una nueva instrucción, nada más iniciada la ejecución de la anterior, siendo posible de esta forma, realizar. Clasificación de las arquitecturas del computador propuesto por FlynnArquitectura SIMDUNIDADOPERATIVA1DATOSEsquema simplificado de la arquitectura SIMDMEMORIA PRINCIPALDATOSUNIDADOPERATIVA2UNIDAD DE CONTROL(ESTRUCTURA MODULAR COMPARTIDA)DATOSUNIDADOPERATIVAXFLUJO DE INSTRUCCIONES
  • 51.
    Clasificación de lasarquitecturas del computador propuesto por FlynnArquitectura MISDEsta estructura consta de varias unidades de control que reciben diferentes flujos de instrucciones que son ejecutadas en las correspondientes Unidades Operativas, las cuales se alimentan de un único flujo de datos.Clasificación de las arquitecturas del computador propuesto por FlynnArquitectura MISDINSTRUCCIONESUNIDADDE CONTROL1UNIDADOPERATIVA1Arquitectura SIMD de múltiple flujo de instrucciones y flujo único de datos.MEMORIA PRINCIPALINSTRUCCIONESUNIDADDE CONTROL2UNIDADOPERATIVA2(ESTRUCTURA MODULAR COMPARTIDA)INSTRUCCIONESUNIDADOPERATIVAXUNIDADDE CONTROLXFLUJO DE DATOS
  • 52.
    Clasificación de lasarquitecturas del computador propuesto por FlynnArquitectura MIMDINSTRUCCIONESEs una estructura típica de un sistema multiprocesador, que puede definirse como un conjunto de procesadores serie, cuyas unidades operativas soportan un flujo de datos y las unidades de control, un flujo de instrucciones.UNIDADOPERATIVA1UNIDADDE CONTROL1MEMORIA PRINCIPALINSTRUCCIONESUNIDADOPERATIVA2UNIDADDE CONTROL2(ESTRUCTURA MODULAR COMPARTIDA)INSTRUCCIONESUNIDADOPERATIVAXUNIDADDE CONTROLXDATOSDATOSDATOS
  • 53.
    Clasificación comercial delos computadoresDe acuerdo a las realizaciones concretas, los computadores se pueden clasificar de las siguiente manera:VECTORIALES:Se utilizan en el procesamiento de vectores en «serie». No se necesita terminar completamente el proceso de un elemento para iniciar el del siguiente.Procesadores SegmentadosDividen los procesos con los que forman cadenas secuenciales de trabajo.ARRAY:Son procesadores segmentados de dos dimensiones con varias cadenas de flujos de datos.Clasificación comercial de los computadoresMATRICIALES:Formados por una matriz síncrona de procesadores paralelos.Procesadores de Arquitectura SIMDASOCIATIVA:Son procesadores en los que la memoria de acceso es asociativa. Se accede por contenido y no por dirección.
  • 54.
    Están formados poruna serie de elementos de proceso de instrucciones, que se conectan con los módulos de memoria a través de una red.MultiprocesadoresEjemplo: procesadores sistólicos.
  • 55.
    Clasificación comercial delos computadoresGracias a las nuevas estructuras VLSI y los nuevos desarrollos del sistema lógico se desarrollan:
  • 56.
    Procesadores con tratamientode base de datos.Procesadores de quinta generaciónProcesadores de flujos de datos, carecen de flujo de control y de contador de programa. Las instrucciones se activan de acuerdo a la disponibilidad de los operandos.
  • 57.
    Procesadores inteligentes, procesanbases de conocimiento y disponen de una interfaz natural para el interfaz con el operador humano.TEMA 2.3: Técnicas para acelerar el funcionamiento del sistema digital
  • 58.
    INTRODUCCION Y CONCEPTODE LA TECNICA DE SEGMENTACIÓNDentro de las técnicas utilizadas para acelerar el funcionamiento de un sistema digital, esta el tratamiento en cadena de la secuencia de operaciones que debe de realizar. Es así como se denomina al tratamiento en cadena, consiste en dividir la función F a realizar en una serie de subfunciones (F1,F2,F3,…Fn) que se pueden ejecutar en forma independiente.SEGMENTADO O PIPELINE:Si se dispone de unidades individuales para procesar cada subfunción(F), se puede configurar una cadena, que soporte el tratamiento simultáneo de tantos procesos como subfunciones existen.
  • 59.
    INTRODUCCION Y CONCEPTODE LA TECNICA DE SEGMENTACIÓNUn operador completo solo atiende un proceso hasta que lo realiza, los demás esperan su turno.OPERADOR COMPLETOENTRADASALIDA DE RESULTADOS165432COLA DE PROCESOS
  • 60.
    INTRODUCCION Y CONCEPTODE LA TECNICA DE SEGMENTACIÓNUn proceso en cadena con cuatro etapas puede atender cuatro procesos a la vezOPERADORES PARCIALES SIMPLESSALIDA DE RESULTADOSENTRADA456321COLA DE PROCESOS
  • 61.
    Características de laSegmentaciónComo las subfunciones Fi son más simples que la función total F, se pueden ejecutar en una fracción del tiempo T que le toma a la función F.
  • 62.
    Si se partede que los tiempos de las n funciones son iguales, cada una tendrá una duración de T/n, con lo cual se pueden ejecutar n procesos en un periodo de tiempo T.
  • 63.
    En un computadorel flujo de instrucciones circula por una serie de unidades elementales en cadena, que realizan una operación simple cada una, y cuyo conjunto completa la ejecución de las instrucciones .Estas unidades tienen las siguientes funciones:
  • 64.
    Búsqueda de lainstrucción
  • 65.
  • 66.
  • 67.
    EjecuciónCaracterísticas de laSegmentaciónEsquema de un computador con las unidades fundamentales que se utilizan para llevar a cabo las fases en las que se descompone una instrucciónDATOSUNIDAD OPERATIVAUNIDAD DE CONTROLDIRECCIÓNCONTADOR DE PROGRAMABÚSQUEDADE OPERANDOSMEMORIA PRINCIPALALUDECODIFICADORDEINSTRUCCIONESINSTRUCCIÓNREGISTRO DE INSTRUCCIONESSECUENCIADORREGISTROSCONTROLFASE DE DECODIFICACIÓN(FD)FASE DE BUSQUEDA DE OPERANDOS(FBO)FASE DE BUSQUEDA DE INSTRUCCIONES(FBI)FASEDEEJECUCIÓN(FE)
  • 68.
    Características de laSegmentaciónProcesamiento segmentado en cadena de la secuencia de instruccionesFASE DE BÚSQUEDA DE INSTRUCCIONESFBISALIDAENTRADAFASE DE BÚSQUEDAOPERANDOSFBOFASE DE EJECUCIÓNFEFASE DE DECODIFICACIÓNFDFLUJO DE INSTRUCCIONESRESULTADOS
  • 69.
    Características de laSegmentaciónExiste un reloj que genera impulsos de sincronismo de periodo t, que es el tiempo que dura cada fase. Si hay que procesar 5 instrucciones (I1, I2, I3, I4, I5):Primer impulso(t1)Fase de búsqueda de la instrucción T1Segundo impulso(t2)I1 pasa a la unidad encargada de la decodificación (FD)......Ejecución completa de I1
  • 70.
    I2 en lafase de búsqueda de los operandos
  • 71.
    I3 en lade decodificación
  • 72.
    I4 en lade búsqueda de código OPCuarto impulso(t4)
  • 73.
    Características de laSegmentaciónProcesamiento de las instrucciones a través de los bloques funcionalesSALIDAFBII1FDFBOFEI5I4I3I2RELOJt1SALIDAFBII2FDI1FBOFEI5I4I3RELOJt1t2SALIDAFBII3FDI2FBOI1FEI5I4RELOJt2t1t3SALIDAFEI1FBII4FDI3FBOI2I5RELOJt2t1t3t4
  • 74.
    Conclusiones sobre lasegmentaciónEs una técnica muy apropiada en los computadores y se puede aplicar a sus 3 grandes bloques: Unidad de Control, Unidad Lógico Aritmética y Memoria Principal.
  • 75.
    La UC esuna buena candidata para el tratamiento en cadena, puesto que la ejecución de instrucciones se divide en una serie de etapas.Conclusiones sobre la segmentaciónLa unidades operativas más complejas como las que manejan datos en coma flotante, también adoptan el método segmentado. Las distintas fases en la que se dividen estas operaciones se pueden realizar por circuitos específicos que configuran una cadena.
  • 76.
    El concepto decadena aplicado a la memoria principal es ligeramente distinto, puesto que su funcionamiento se basa en una serie de accesos independientes en módulos de memoria distintos, no existiendo interrelación ni comunicación entre dichos módulos.Estructura y tipo de cadenasLas cadenas suelen ser de funcionamiento síncrono y utilizan unos registros intermedios entre la distintas etapas que las componen.
  • 77.
    Cada registro almacenainformación la información de salida de una etapa y de entrada a la siguiente. De esta manera la información de un proceso determinado va pasando registro a registro, sufriendo la transformación correspondiente a cada etapa.
  • 78.
    Todos los componentesestán gobernados mediante un único reloj, cuyos flancos hacen que todas las informaciones avancen una posición simultáneamente.Estructura y tipo de cadenasEstructura típica de las cadenas:1º ETAPA2º ETAPA3º ETAPA4º ETAPASALIDAENTRADAREGISTROREGISTROREGISTROF1F2F3F4RELOJ
  • 79.
    Estructura y tipode cadenasClasificación de las cadenas:Realizan solo una funciónCADENA UNIFUNCIÓNCADENA MULIFUNCIÓNDependiendo del sistema con el que se pueden reconfigurar, se divide en:Entrada de los procesos
  • 80.
    Entradas de control:Definen la función a realizar en cada situación
  • 81.
  • 82.
    Estáticamente reconfigurablesEstructuray tipo de cadenasCadenas estáticamente reconfigurables:Diseñadas para ser reconfiguradas en muy pocas ocasiones.
  • 83.
    Actúan como sifueran unifunciones entre cada cambio.
  • 84.
    Tratan todo unlote de procesos in alterar su funcionamiento.Cadenas dinámicamente reconfigurables:Pueden reconfigurarse para cada entrada y se emplean en las Unidades de Control, puesto que cada instrucción necesita un tratamiento ligeramente diferente de la de las demás.CADENA LINEALA Cada etapa de la cadena, le sigue otra.Detrás de cada etapa hay diversos caminos, e incluso realimentaciones para formar bucles.CADENA NO LINEAL
  • 85.
    Parones y choquesen las cadenasRepresentan el mayor problema de tratamiento en cadena. Surgen cuando se produce alguna causa que impide que se siga introduciendo elementos en la cadena, quedando esta vacía.HAZARDS O PARONESPor ejemplo:Es un caso de parón en Unidades de Control con tratamiento en cadena. Instrucciones de bifurcaciónI1: INSTRUCCIÓN DE BIFURCACIÓN CONDICIONALReducen la capacidad del procesoCHOQUEI1sinoETAPAProceso 1I2I3Hueco en la cadenaProceso 2
  • 86.
    Memorias entrelazadasLa velocidadde las memorias principales es bastante inferior que la de la lógica utilizada en las Unidades de Control y en la de las Aritmética Lógicas. Para soslayar este problema, se divide la memoria principal en varios módulos autónomos.
  • 87.
    Cada módulo funcionade manera independiente, por lo que se puede acceder al mismo tiempo a tantas posiciones de memoria principal como módulos tenga.Memorias entrelazadasEntrelazado simple:Se puede acceder a todos los módulos de memoria al mismo tiempo.La información accedida de cada módulo se almacena en su registro cerrojo correspondiente, en donde se van extrayendo mientras se realiza un nuevo acceso a todos los módulos.
  • 88.
    ORGANIZACIÓN MODULAR ENTRELAZADA: Es una manera de organizar la memoria que permite ir entrelazando los accesos entre los diversos módulos que constituyen la memoria principal.
  • 89.
    La información accedidade cada módulo se almacena en su registro cerrojo correspondiente, en donde se van extrayendo mientras se realiza un nuevo acceso a todos los módulos. Memorias entrelazadasMemoria de entrelazado simple:Estructura de la memoria principal para configurar el entrelazado simple:MEMORIA PRINCIPALREGISTRO CERROJOMÓDULO 1REGISTRO CERROJOMÓDULO 2MULTIPLEXOR...BUS DE DATOSREGISTRO CERROJOMÓDULO Nn (N=2n)BIT DE DIRECCIONESSELECCIÓN DE ENTRADA
  • 90.
    Memorias entrelazadasMemoria de entrelazado simple:Cuando se realiza el primer acceso , se obtienen N palabras, una de cada módulo. En los siguientes accesos se van obteniendo el mismo número de informaciones simultáneas.1º ACCESO3º ACCESO2º ACCESOPara los N módulosPalabra 2ºPalabra NPalabra 1ºPalabra 1ºPalabra 3ºPalabra 2ºPalabra Nº
  • 91.
    Memorias entrelazadasMemoria de entrelazado simple:El entrelazado simple funciona de forma satisfactoria en los accesos secuenciales, como ocurre con la ejecución de las instrucciones, o en el tratamiento de vectores.
  • 92.
    Sin embargo estaestructura no es demasiado practica para el caso de los acceso no secuenciales , tales como el tratamiento de bucles y de bifurcaciones o de datos no ordenados secuencialmente.Memorias entrelazadasEntrelazado complejo:Cuando los accesos están solapados en el tiempo, tal y como se representa en la figura. Los registros almacenan la dirección a la que desea acceder en cada módulo, por lo que su distribución no debe de ser secuencial.Tiempo que cada uno de los módulos puede disponer del bus de direcciones para recibir su dirección y del bus de datos para enviar o recibir su información.Tiempo de acceso a los módulos=Número
  • 93.
    Memorias entrelazadasEntrelazado complejo:Organización de una memoria principal con entrelazado complejo.MÓDULO 1REGISTRO CERROJOOCUPADO/COMPLETODIRECCIONESMÓDULO 2REGISTRO CERROJODIRECCIONESCONTROLADOR DE MEMORIAMULTIPLEXORBUS DE SIMPLEPALABRACOMANDOSMÓDULO NREGISTRO CERROJOCOMANDOSELECCIÓN
  • 94.
    Memorias entrelazadasEntrelazado complejo:Loscomienzos de acceso a estos módulos se solapan en el tiempo , de forma que los tiempos de ocupación de los buses por cada módulo no se superpongan. Este tipo de entrelazado exige que la memoria disponga de una unidad de distribución de accesos que se encargue de enviar a cada módulo las peticiones de acceso en el momento pertinente y que resuelva los choques.Memorias entrelazadasEntrelazado complejo:El rendimiento óptimo de la memoria entrelazada se obtiene cuando los accesos que se solicitan a la memoria principal en cada ciclo, corresponden a módulos distintos. Sin embargo con frecuencia surgen peticiones simultáneas sobre el mismo módulo, en cuyo caso, aparece un problema de choques, teniendo que atender a una de las peticiones y hacer esperar a las demás. Memorias entrelazadasEntrelazado complejo:La forma en la que se ordenan las peticiones sucesivas de memoria tiene una influencia importante sobre la cantidad de choques.
  • 95.
    Es cuando lasposiciones sucesivas de memoria principal 0,1,2,3,4,…se asignan a módulos complejos.
  • 96.
  • 97.
    Si por ejemplo la memoria tiene 4 módulos, el primer módulo estaría ocupado por las posiciones de memoria 0,4,8,12,…, mientras que el segundo ocuparía las posiciones 1,5,9,13,etc.
  • 98.
    Empleando módulos de2n posiciones, se asignan las 2n primeras posiciones al primer módulo, las posiciones de la 2n a la 22n -1 al segundo módulo y así sucesivamente
  • 99.
    Entrelazado de ordensuperior: Los Parones en las secuencias de instrucciones:El problema de los parones en las secuencias de instrucciones ocurre con las instrucciones condicionales, con las interrupciones y con las dependencias entre datos.
  • 100.
    Los parones dedependencia entre datos se producen cuando una instrucción requiere como dato un dato que debe de generar una instrucción anterior.Los Parones en las secuencias de instrucciones:En el cuadro se muestra cómo la necesidad del dato A, que se genera en la instrucción suma(ADD), obliga a esperar a la instrucción de incremento, originando un hueco.EJEMPLO:A00AAIMCHUECOParón originado por la dependencia de datos entre una instrucción y la siguiente.
  • 101.
    Los Parones enlas secuencias de instrucciones:Los parones por bifurcación condicional se producen al reconocerse la dirección de bifurcación hasta que la instrucción de bifurcación pueda tratar la condición que, normalmente genera la instrucción anterior. B2HUECO
  • 102.
    Los Parones enlas secuencias de instrucciones:Es una técnica que se utiliza para evitar el problema de los huecos y de los retardos introducidos por las bifurcaciones condicionales.
  • 103.
    Se evita elhueco que causa la bifurcación tomando a priori una de la dos alternativas de bifurcación. Cadena de predicción:Si esta corresponde con la alternativa supuesta, se sigue el procesamiento con el consiguiente ahorro de tiempoCuando se conoce la condiciónY si no, se desecha el proceso realizado por la instrucción de bifurcaciónLos Parones en las secuencias de instrucciones:Es una técnica mucho más económica que la anterior que permite aprovechar el hueco que dejan las bifurcaciones condicionales
  • 104.
    Consiste en rellenarlocon instrucciones anteriores a la bifurcación y que, por tanto, deben de ejecutarse independientemente del camino seguido por ésta.Bifurcación retardada:El mayor obstáculo de este procedimiento consiste en que no siempre se pueden retardar las instrucciones para rellenar el hueco y en el esfuerzo adicional de programación que ello supone.La segmentación en la Unidad de Control MicroprogramadaLas unidades de control microprogramadas suelen emplear el concepto de encadenamiento o segmentación para acelerar su funcionamiento. Si se analizan las subfunciones que comprenden el ciclo básico de ejecución de las microinstrucciones, se puede establecer la siguiente división:Cálculo de la siguiente microdicrección, el tiempo utilizado en realizar esta subfunción, se le conoce como TCD.Acceso a la memoria de control, cuyo tiempo recibe el nombre de simplificado de TMC.Activación de los órganos del computador con las señales obtenidas de memoria de control. Este tiempo se llama TOC
  • 105.
    La segmentación enla Unidad de Control MicroprogramadaTratamiento en Serie:Se produce cuando no se dispone de un registro de almacenamiento intermedio.TCDiTMCiTOCiTCDiTMCi+1TOCi+1TIEMPO
  • 106.
    La segmentación enla Unidad de Control MicroprogramadaTratamiento en Cadena con secuenciamiento explicito:Se origina cuando hay dos etapas en la Unidad de Control, puesto que el registro de microinstrucción permite simultanear el acceso a la memoria de control con el uso de señales cargadas anteriormente en dicho registro.TCDiTCDi+1TCDi+2TMCi-1TMCiTMCi+1TOCi-2TOCi-1TOCiTIEMPO
  • 107.
  • 108.
    Computadores vectoriales:Un operandovectorial está formado por una lista ordenada de n elementos. Cada elemento es un cantidad escalar, que puede ser un número en coma flotante, un entero, un valor lógico o un carácter. Tipos de Operaciones Vectoriales:fa:V->Efb:V->Vfc:V∗V->Vfd:V∗E ->V V: operador matricialE:operando escalar
  • 109.
    Computadores vectoriales:Tipos deOperaciones Vectoriales:Está compuesto por aquellas operaciones en las que , operando con los elementos de un vector, se obtiene un resultado escalar.
  • 110.
  • 111.
    Es el casode hallar por ejemplo la suma de los elementos del vector.
  • 112.
    se encuentran lasoperaciones que afectan independientemente a cada elemento del vector, formándose un vector resultado, donde cada elemento es el resultado de aplicar la operación al elemento correspondiente del primer vector.
  • 113.
  • 114.
    Ejemplo: Raíz cuadradadel vectorComputadores vectoriales:Tipos de Operaciones Vectoriales:Son las operaciones que obtienen un vector a partir de otros dos.
  • 115.
  • 116.
    Por ejemplo setiene a la suma de vectores.
  • 117.
    Se opera aplicandoun escalar a cada elemento para obtener un vector resultado.
  • 118.
  • 119.
    Por ejemplo setiene a la suma de un escalar con un vector.Computadores vectoriales:Instrucciones Vectoriales:Están disponibles en el lenguaje máquina de los procesadores vectoriales, y se especifican mediante los siguientes campos:
  • 120.
    Selecciona la unidadfuncional o reconfigura una unidad multifuncional de manera que ejecute la operación indicada.
  • 121.
  • 122.
    Son las direccionesde comienzo de los vectores operandos y de resultado.
  • 123.
  • 124.
    Son las direccionesde comienzo de los vectores operandos y de resultado.
  • 125.
  • 126.
    Sumándolo a labase se obtiene la dirección de un elemento buscado dentro de un vector.
  • 127.
  • 128.
    Longitud del vectorComputadoresvectoriales:Técnica de Segmentación:Es muy aplicada a las instrucciones vectoriales porque, mientras con procesadores escalares convencionales, cada elemento debe de ejecutarse completamente para dar paso al siguiente, en la técnica de segmentación para empezar a ejecutarse un elemento basta con que éste libre el primer paso del proceso completo.Computadores vectoriales:Grados de paralelismo:Número de operaciones que pueden ejecutarse simultáneamenteAPAPLANCOCOCMCMLANAlgoritmo Paralelo(AP)
  • 129.
  • 130.
  • 131.
  • 132.
    En el primercaso se usa un LAN especial para procesos paralelos, mientras que en el segundo caso se usa un LAN convencional y un compilador de vectorización.Computadores vectoriales:Diagrama de un procesador vectorial con múltiples unidades de ejecución o pipes.MEMORIA PRINCIPAL DE ALTA VELOCIDADUNIDAD DE PROCESO DE INSTRUCCIONESREGISTROS ESCALARESCONTROLADOR DE INSTRUCCIONES VECTORIALESPIEP1PIPE1PIEP1PROCESADOR ESCALARCONTROLADOR DE ACCESO VECTORIALREGISTROS VECTORIALESPIEP1PIPE1PIEP1PROCESADOR VECTORIALLa unidad de proceso de Instrucciones, las recoge y las decodifica, trasladándolas a las sección de instrucciones vectoriales o escalares, cada una de las cuales consta de un procesador multi-pipeComputadores vectoriales:Arquitectura de «Cray-1»Emplea una tecnología ECL de 0,7 ns y MOS de 70 ns.
  • 133.
    Frecuencia de relojde 12,5 nsy no puede trabajar de forma autónoma .
  • 134.
    El Cray-1 esuno de los procesadores vectoriales más modernos.
  • 135.
    La sección dememoria se organiza en 8 o 16 bancos con 72 módulos cada uno
  • 136.
    La memoria principalesta configurada por circuitos integrados tipos RAM, que conforman un mínimo de un millón de palabras de 72 bits, 8 de las cuales e utilizan para la detección de errores dobles y corrección de los simplesComputadores vectoriales:Arquitectura de «Cray-1»SECCION DE EJECUCIÓN(REGISTROS, UNIDADES FUNCIONALES, BUFFERS DE INSTRUCCIONES)SECCION DE MEMORIA0,25 m/0,5m/1M(PALABRAS BIPOLARES DE 64 BITS)SECCION DE E/S12 CANALES DE ENTRADA12 CANALES DE SALIDASUBSISTEMA DEALMACENAMIENTOMASIVO HOST, ANFITRIÓN, SISTEMA DE E/S, PERIFÉRICOSMCUDiagrama General del conexionado del Cray-1 a un computador principal o host
  • 137.
    Computadores vectoriales:Arquitectura de«Cray-1»Memoria principal con un ciclo de 50ns, es decir 4 periodos de reloj. Se pueden transferir la unidad de ejecución 1, 2 o 4 palabras por periodo de reloj.
  • 138.
    La sección deE/S contiene 12 canales e entrada, y otros 12 de salida. Cada canal tiene una frecuencia de transferencia de 80 MBytes/s como máximo.
  • 139.
  • 140.
    La unidad deControl de mantenimiento se encarga de la inicialización del sistema y la supervisión de su funcionamiento.Computadores vectoriales:REGISTROS VECTORIALESDESPLAZAMIENTOArquitectura de «Cray-1»V?LÓGICASUMAV1V000Esquema general interno de la Unidad de Ejecución del computador «Cray-1»UNIDADESFUNCIONALES VECTORIALES??AP.RECIPVNPRODUCTOSUMAVLREGISTROS ESCALARESUNIDADESFUNCIONALESDE COMA FLOTANTET00S7T77S1MEMORIAS0CONTEODESPLAZ.REGISTROS DE DIRECCIONESLÓGICAB00A7SUMA377UNIDADESFUNCIONALESESCALARESA1A0PPRODUCTO32SUMA1UNIDADESFUNCIONALESDE DIRECCIONES0000117BUFFERDE INSTRUCCIONESNIPCIPEJECUCIÓNLIP
  • 141.
    Computadores vectoriales:Arquitectura de«Cray-1»Sección de Ejecución Consta de 64*4 buffers de instrucciones y 800 registros con diferentes funciones,. Tiene 12 unidades funcionales agrupadas en unidades vectoriales de coma flotante, de tipo escalar y de direccionesREGISTROS USADOSS o VUNIDADES FUNCIONALES VECTORIALESSuma
  • 142.
  • 143.
    LógicasS o VSo VUNIDADES FUNCIONALES DE COMA FLOTANTES y VSuma
  • 144.
  • 145.
    Aproximación ReciprocaS yVS y VCalcula el reciprocoSSuma Lógicas
  • 146.
  • 147.
  • 148.
    Conteos de unosy cerosUNIDADES ESCALARESSSCuenta número de unos o números de ceros tras un unoSUNIDADES DE DIRECCIONESSuma
  • 149.
  • 150.
    Computadores vectoriales:Arquitectura de«Cray-1»Sección de Ejecución Las operaciones aritméticas pueden efectuarse con datos de 24 bits, mientras que las de coma flotante con datos de 64 bits.
  • 151.
    Los registros escalaresy de direcciones pueden acceder directamente a la memoria o a través de los 64 registros T y B.
  • 152.
    El registro CIPcontiene la instrucción en curso, mientras que el registro NIP almacena la próxima instrucción a ejecutar. Ambos registros constan de 16 bits. Si la instrucción es de 32 bits también se utiliza el registro LIP ara contener los 16 bits de menos peso de la instrucción.TEMA 2.5: Computadores Array
  • 153.
    Computadores «array»Los procesadoressegmentados array tienen una estructura de dos dimensiones con múltiples cadenas de flujos de datos para operaciones aritméticas de alto nivel:
  • 154.
  • 155.
    Cálculo de lamatriz inversa
  • 156.
  • 157.
    La arquitectura segmentadase basa en tablas celulares de unidades aritméticas.a32a230a3300a31a22a130a21a1200a11tt2t1Computadores «array»Procesador Pipe Line Array000Tiene una estructura de pipe-line de tres direcciones de flujo de datos para la multiplicación de dos matrices. Cada célula efectúa una operación de producto interno aditivo.Pb11 0 0PPac0t8bbPPt7PPb21 b12 0t6ad0Pb31 b22 b13PPPPPPP0 b32 b23C31PC320 0 b33PPPC21t8C33t7C22C23t6C11C12C13
  • 158.
  • 159.
    Los registros delas terminales de entrada y salida están sincronizados por el mismo reloj. El array de la figura anterior efectúa el producto de matrices de orden de 3 por 3.a11a12a13a21a22a23a31a32a33 a11a12a13a21a22a23a31a32a33 a11a12a13a21a22a23a31a32a33 .A.B= = =C Las matrices de entrada ingresan al procesador por las direcciones horizontal y vertical. Para realizar el producto de dos matrices de orden n se necesita:3n2−4n+2 celdas P Para completar el proceso:3n−1 periodos de reloj 
  • 160.
    Arquitectura del computador AP-120BAP-120BCONTROL(16 BITS)INTERFAZInterconexión del computador AP-120B al principal o host.CPUREGISTROS DEL PANEL FRONTALTERMINALMEMORIADEDATOSFUNCIONESIMPRESORACONMUTADORESCONTROL(16 BITS)DISPLAYCPUFICHERO DE DISCOMEMORIADIRECCION DEMEMORIA DEL HOST (ANFITRION)DIRECCIÓN HOST MÁXIMO DE 16 BITSDIRECCION DEMEMORIA DEL APDIRECCION MEMORIA APFICHERO DE CIINTACONTAJE DE PALABRASCONTROLFORMATODATOS(36 BITS))DATOS(16 Ó 32 BITS))REGISTROS DMA
  • 161.
    Arquitectura del computador AP-120BDiagrama funcional del computador AP-120BMEMORIA DE CONTROL BUS DE BITSUNIDADES ARITMÉTICASMEMORIA DE PROGRAMAPMSUMADOR DE COMAFLOTANTE-DIRECCIONES OPERANDOS-ALUSPFNUNIDADES DE CONTROL-REGISTRO DE DIRECCIONES DE MEMORIAMA,DMA,TPATMMEMORIA DE TABLASM1A1DPXREGISTROS XFAFMSECCIÓN DE MEMORIAA2M2REGISTROS YDPYMEMORIA PRINCIPAL DE DATOSMDMULTIPLICADOR DE COMAFLOTANTEMDMDIINTERFAZ CON HOST:-FUNCIONES-CONMUTADORES-DISPLAYSECCIÓN DE E/S10P16 /32INBSPIOPINBS
  • 162.
    Arquitectura del computador AP-120BEn la figura anterior se ve que el AP-120B se tratase de una terminal más, pero habiendo entre el host y el AP-120B unos registros que facilitan la interfaz, los cuales tienen las siguientes funciones:Funciones de los registrosREGISTRO DE FUNCIONES: Comandos típicos tales como Start, Stop, etc.
  • 163.
    REGISTRO DE CONMUTADORES:Enviar datos de control, parámetros o direcciones del principal al AP-120B
  • 164.
    REGISTRO DISPLAY OPRESENTADORES: Permiten visualizar el contenido de los registros del procesador array
  • 165.
  • 166.
  • 167.
    RECUENTO DE PALABRASArquitecturadel computador AP-120BFunciones de los registrosREGISTRO DE CONTROL
  • 168.
    REGISTRO DE FORMATO:Convierten el formato LP del computador principal al del AP-120B y viceversa.Memoria de ControlMemoria de programa(MP), contiene las Instrucciones a ejecutar por la unidad de control. Tiene un máximo de 4k palabras, pudiendo hacerse ampliaciones de 256 palabras. Cada palabra es de 64 bits.Sección de memoriaMemoria principal de datos(MD), Almacenamiento principal de datos con palabras de 38 bits. Ampliaciones de 2 u 8K palabras hasta un máximo de un millón.Arquitectura del computador AP-120BSección de memoriaMemoria de tablas(TM), Permite guardar constantes muy utilizadas. Puede ser de tipo RAM o ROM.
  • 169.
    Tablas de registrosX, Y, DPX, DPY: Forman dos bloques acumuladores de 38 bits. Cada bloque tiene 16 acumuladores pudiendo ser accedido por el AP-120B directamente.Unidad de ControlDirecciones de operandos y ALU(SPFN), Contiene 16 registros con las direcciones de los operandos para la ALU, la cual efectúa operaciones aritméticas con enteros de 16 bits.
  • 170.
    Registro de direcciones(MA,TMA, DPA): La ALU deja direcciones de los resultados en uno de estos 3 registros, según sea la dirección de memoria de tablas, de memoria de tablas o de registros X y Y. Arquitectura del computador AP-120BUnidades AritméticasSumador de coma flotante(FA), suma dos números de coma flotante A1 y A2 que pueden provenir de diferentes registros, dejando el resultado en uno de estos dos registros FM, M, DPY,DPX,CERO, A1 A1ALINEAMIENTO DE FRACCIONES Y DE SUMANORMALIZACIÓN Y REDONDEOBUFFER A2FM, M, DPY,MD,CERO, A2FAM2, A2, DPX, DPY
  • 171.
    Arquitectura del computador AP-120BUnidades AritméticasMultiplicador de coma flotante(FA), multiplica dos números de coma flotante M1 y M2.DPX,DPY,TM, FM P1SUMA DE EXPONENTESNORMALIZACION Y REDONDEOINICIO DE PRODUCTOS DE FRACCIONESTERMINO DEL PRODUCTO DE FRACCIONESBUFFER2BUFFER2 P2FMFA, DPX, DPY, MDM1, A1, MD, DPX, DPY
  • 172.
    TEMA 2.6: ArquitecturaSIMD: Procesadores Matriciales y Asociativos
  • 173.
    Arquitecturas SIMDUn procesadormatricial, esta conectado al host a través de una Unidad de Control. El computador principal es una máquina de propósito general que dirige las operaciones de todo el sistema. La unidad de Control del computador matricial supervisa la ejecución de programas del computador matricial cuyos resultados son enviados al mundo exterior a por el host.
  • 174.
    Además de loscomputadores matriciales, estas arquitecturas también comprenden a los procesadores asociativos caracterizados por el empleo de memorias direccionables por contenido.Arquitecturas SIMDProcesadores matriciales:Es una matriz síncrona de procesadores paralelos formados por múltiples elementos de proceso, supervisados por una Unidad de Control.Cada PE se compone de una ALU con sus respectivos registros de trabajo y una memoria local (PEM).La unidad de control tiene además su propia memoria de almacenamiento del programa que se ejecuta. Para el intercambio de datos entre los diferentes PE, se tiene una red de interconexión controlada por la UC. Configuraciones básicasNo se dispone de bloques de memoria para cada PE, sino de un grupo de bloques de memoria (M). Por otra parte no existe red de interconexión, pero si red de alineamiento que conecta a los PE con las memorias.
  • 175.
    Arquitecturas SIMDProcesadores matriciales:Configuración1CONTROLDATOS E INSTRUCCIONESI/ORED DE INTERCONEXIÓNBUS DE DATOS
  • 176.
    Arquitecturas SIMDProcesadores matriciales:Configuración2DATOS E INSTRUCCIONESRED DE INTERCONEXIÓNI/OBUS DE DATOS
  • 177.
  • 178.
    F:funciones de transmisiónde datos por las redes de interconexión o alineamiento.
  • 179.
  • 180.
    M:Máscara para habilitary deshabilitar los PE.Arquitecturas SIMDArquitectura del MPPProcesador de alta integración desarrollado por la NASA para procesar las imágenes enviadas por los satélites artificiales.
  • 181.
    Contiene una matrizde 128 *128 =16384 microprocesadores en paralelo. Además el MPP tiene una unidad de control microprogramada (ACU) y cada PE tiene asociado 1 Kbits de memoria de acceso directo.MPP(Masivelly Parallel Processor)Tiene 132 columnas, 128 normales y 4 de reserva. Las funciones aritméticas de cada PE se ejecutan mediante un sumador serie y un registro de desplazamiento.
  • 182.
    UNIDAD DE MANDATODE PROGRAMAS: microordenador que controla el flujo de datos en la matriz, carga programas en el controlador, ejecuta rutinas de autodiagnóstico y facilita el desarrollo de programasArquitectura general del Sistema MPPINTERFAZ DESALIDA DE 128 BITSINTERFAZ DE ENTRADA DE 128 BITSUNIDADMATRICIAL (ARU)CONMUTADORESCONMUTADORESCONTROL ESTADOCONMUTACIÓNREGISTRO DE ENTRADA (PDMU ARU)REGISTRO DE SALIDA(PDMU ARU)CONTROL ESTADOINTERFACEPARA CONTROLEXTERNOUNIDAD DE CONTROL DE LA MATRIZ (ACU)DATOS DE PROGRAMASCONTROL ESTADOUNIDAD DE MANEJO DE PROGRAMAS Y DATOS PDMUCINTA MAGNETICATERMINALALFANUMERICODISCOIMPRESORAORDENADOR EXTERNO
  • 183.
    Arquitecturas SIMDEl ordenadorexterno de control que se usa es el PDP-11/34. El MPP incluye periféricos como controlador de cinta magnética, impresora, terminal y dos discos de 67 Mbytes.
  • 184.
    Puede trabajar independientemente,sin ordenador externo, en modo standalone, mediante el terminal y los comandos propios del MPP. En el modo online el ordenador externo, le suministra datos, programas y petición de trabajo, también recibe los datos generados por el MPP e información sobre su estado.Características del MPPLa frecuencia de reloj para el funcionamiento de la matriz es de 10 MHz.Arquitecturas SIMDProcesadores asociativos:Son del tipo matricial, pero sustituyendo a la memoria de acceso directo(RAM) , por otra de tipo CAM. Mientras que en la RAM se precisa de la dirección antes que de acceso al dato, en las CAM los datos son direccionables por contenido, permitiendo el acceso a numerosas palabras de memoria. Además se caracterizan porque las operaciones lógicas y aritméticas se ejecutan sobre muchos conjuntos de argumentos en una instrucción simple.Arquitecturas SIMDProcesadores asociativos:Es un procesador asociativo bit-serie, por lo que su coste es reducido en comparación con los de estructura paralela.
  • 185.
    Esta compuesto de32 módulos asociativos de matrices, como máximo. Cada módulo contiene 256 palabras de 256 bits cada una, de acceso multidimensional, una red de permutación y un selector.
  • 186.
  • 187.
    Cada elemento delproceso opera en serie, bit a bit, en los datos de todas las palabras de acceso multidimensional(MDAM)Arquitecturas SIMDProcesadores asociativos:Arquitectura del procesador STARANMódulo asociativo de la matriz del computador STARANSALIDAENTRADAMEMORIA DE ACCESO MULTIDIMENSIONALRED DE PERMUTACIÓNSELECTORALU(256 ELEMENTOS DE PROCESO)SEÑALES
  • 188.
    Arquitecturas SIMDProcesadores asociativos:Utilizandola red de permutación los datos almacenados en la MDAM, pueden ser accedidos por los canales de E/S en bit/slice, word slices o en una combinación de ambos. Esta red se utiliza también para desplazar o manipular datos, permitir búsquedas paralelas, operaciones entre las palabras de la MDAM.
  • 189.
  • 190.
    Para localizar undatos particular el STARAN inicia una búsqueda con un medio de comparación a través de una lógica de control asociativa.Arquitecturas SIMDProcesadores asociativos:Arquitectura del procesador STARANDiferenciación entre las operaciones paralelas en el STARANCONTROLBITSBIT SLICEPIQWORDSWORD SLICE256 PALABRAS * 256 BITS
  • 191.
    Arquitecturas SIMDProcesadores asociativos:Arquitecturadel procesador STARANArquitectura General por BloquesMODULO ASOCIATIVO DE MATRIZPIOPI0EQUIPO DE USUARIO TIPICOSEÑALES DE CONTROLPIOMODULO ASOCIATIVO DE MATRIZPIOEPUNIDAD DE INTERFAZEPLOGICA DE FUNCIONES EXTERNASORDENADORESPERIFERICOSPANTALLASSENSORESLOGICA DE CONTROL SECUENCIALLOGICA DE PAGINADOS DE PROGRAMASLOGICA DE CONTROL ASOCIATIVODISCOBIOBIODMALOGICA DE PUERTAS DE MEMORIADMAMEMORIA DECONTROL DEL PROCESADOR ASOCIATIVO
  • 192.
    Arquitecturas SIMDProcesadores asociativos:Arquitecturadel procesador STARANArquitectura General por BloquesLa unidad de interfaz incluye conexión con sensores convencionales, pantallas interactivas y dispositivos de almacenamiento masivo. Dentro de las opciones de E/S se contempla:
  • 193.
  • 194.
  • 195.
  • 196.
  • 197.
    Cada módulo asociativoe la matriz puede contener hasta 256 entradas y 256 salidas en la unidad de interfazTEMA 2.7: Multiprocesadores o Computadores MIMD
  • 198.
    Multiprocesadores o ComputadoresMIMDUn multiprocesador está compuesto por múltiples procesadores de instrucciones, que cooperan para tener un fin común. Este concepto es distinto al del computador múltiple que esta formado por varios computadores autónomos que pueden trabajar o no coordinadamente.
  • 199.
    La arquitectura MIMDcomprende N elementos de procesos de instrucciones, que se conectan con M módulos de memoria principal a través e una red de interconexión. Además existe una unidad de coordinación que controla y sincroniza los procesos en ejecución, aunque no se ejecute el código objeto.Multiprocesadores o Computadores MIMDEsquema General de la Arquitectura MIMDCOORDINADOR CENTRALRED DE CONEXIÓNMODULO 1PROCESADOR 1MODULO 2PROCESADOR 2MODULO MPROCESADOR NMEMORIA PRINCIPAL
  • 200.
    MULTIPROCESADORES ACTUALESEn elcaso de INTEL este ultimo tiempo ha llegado al numero de 8 núcleos, en un solo encapsulado, con su afamado CORE I7(Que en realidad consta de 4 procesadores físicos y ocho lógicos, y a través de una tecnología llamada HT se logra hacer que el sistema reconozca 8 núcleos)
  • 201.
    Por parte deAMD presenta procesadores de dos núcleos, de cuatro y de tres núcleos, si de tre, con su serie phenom X3, que son una buena opción para aquellos que buscan performance y precio, ya que son mejores que los de dos núcleos, y mas baratos que aquellos de cuatro. NOTICIAS DE PROCESADORES INTELProcesadores con 8 Y 12 núcleos en 2010 (AMD)Los nombres en clave de estos desarrollos son Sao Paolo y Magny-Cours, para los procesadores de 8 y 12 núcleos respectivamente. Según la información oficial, ambas CPUs utilizarían una arquitectura de 45 nanómetros con un nuevo socket, el G34, que vendría a ser una actualización del actual Socket F utilizado en los microprocesadores Opteron destinados a estaciones de trabajo profesionales y servidores. Procesadores con 32 núcleos (Intel)Los actuales dual-core se quedarán en agua de borrajas si se cumplen las previsiones de Intel que en menos de cuatro planea tener disponible un microprocesador con 32 núcleos trabajando conjuntamente.Tal y como indican en TG Daily, Intel anunció hace cinco años que querían lograr disponer de un microprocesador a 20 GHz en la segunda mitad de esta década. Nada menos que mil millones de transistores (no parece mucho teniendo en cuenta los súper núcleos actuales de Intel, AMD, NVIDIA o ATI) tendría ese monstruito, pero las cosas han cambiado sensiblemente. No hay un número específico de núcleos programado para esos procesadores que Intel ha denominado “many cores” (multinúcleo), pero el primero de ellos parece responder al nombre de Gulftown, englobado en el proyecto Keifer, y que integraría 32 núcleos. la tecnología de fabricación utilizada sería de 32 nm, y constaría de ocho nodos de procesamiento con 4 núcleos cada uno, y que en total podrían acceder a una caché de 24 Mbytes de lo que se denomina “Last Level”, o último nivel.
  • 202.
  • 203.
    Multiprocesadores o ComputadoresMIMDSISTEMAS DÉBILMENTE ACOPLADOSCada procesador tiene un dispositivo de E/S y una memoria local. Los mensajes se realizan a través de un sistema de transferencia global a granes velocidades (1Mbp/s)Clasificación de las arquitecturas de los multiprocesadoresSISTEMAS FUERTEMENTE ACOPLADOSSe comunican a través de una memoria principal compartida, disponiendo cada procesador de una cache propia. Admiten un lato nivel de interacción entre las tareas, sin que se produzca un deterioro importante en la respuesta. Este tipo puede utilizar todos los recursos del sistema
  • 204.
    Multiprocesadores o ComputadoresMIMDESTRUCTURA DE UN SISTEMA DÉBILMENTE ACOPLADOE/SMódulo 1MEMORIA LOCALCANAL Y ARBITROSISTEMA DE TRANSFERENCIA DE MENSAJESPROCESADORCANAL Y ARBITROMódulo N
  • 205.
    Multiprocesadores o ComputadoresMIMDESTRUCTURA DE UN SISTEMA FUERTEMENTE ACOPLADODISCODISCORED DE INTERCONEXIÓN DE E/SMEMORIA LOCAL NO MAPEADAMÓDULOS DE MEMORIA COMPARTIDAMEMORIA LOCAL MAPEADAPROCESADOR11RED DE INTERCONEXIÓNRED DE INTERCONEXIÓN DE LAS SEÑALES DE INTERRUPCIÓNpMEMORIA LOCAL NO MAPEADANPROCESADORMEMORIA LOCAL MAPEADA
  • 206.
    Multiprocesadores o ComputadoresMIMDSISTEMA OPERATIVO MAESTRO-ESCLAVOLas rutinas del supervisor se ejecutan desde un único y exclusivo procesador «maestro»SISTEMA OPERATIVO CON SUPERVISORES SEPARADOS EN CADA PROCESADORSistemas operativos ClásicosDuplicación de ciertas rutinas del supervisor en cada procesador.SISTEMA OPERATIVO DE PUNTO FLOTANTEPermite ejecutar varias rutinas del supervisor a la vez. Cuando hay un fallo en el procesador no afecta demasiado al sistema.Sistemas Operativos para Multiprocesadores
  • 207.
    Multiprocesadores o ComputadoresMIMDRed de interconexión ComúnTopología más simple y económica. Presenta un bus común compartido por todos los elementos del sistemaRed de interconexión «crossbar switch»EstructurasControl de las comunicaciones que recae en una unidad especial de conmutación que dirige el flujo de información de los buses.Red de interconexión con memoria multipuertaDistribuye las funciones de control, comunicación entre las unidades controladoras de los módulos de memoria.Multiprocesadores o Computadores MIMDRed de interconexión ComúnBUS COMUNMODULOMEMORIA PROCESADORMODULOMEMORIA PROCESADORUNIDAD DE E/SUNIDAD DE E/S
  • 208.
    Multiprocesadores o ComputadoresMIMDRed de interconexión «crossbar switch»MODULOMEMORIA MODULOMEMORIA PROCESADOR 1UNIDAD DE E/SPROCESADOR NUNIDAD DE E/S
  • 209.
    Multiprocesadores o ComputadoresMIMDRed de interconexión «multipuerta»PROCESADOR 1PROCESADOR 2MODULOMEMORIA 1MODULOMEMORIA 1MODULOMEMORIA 1MODULOMEMORIA 1UNIDAD DE E/SUNIDAD DE E/S
  • 210.
    Multiprocesadores o ComputadoresMIMDMultiprocesador «S-1»Procesador de propósito general de alta velocidad.
  • 211.
  • 212.
    Incluye 16 uniprocesadoresMark IIA independientes
  • 213.