UNIVERSIDAD NACIONAL<br />DEL CENTRO DEL PERÚ<br />ARQUITECTURA DE COMPUTADORAS<br />PRESENTADO POR :<br />ACUÑA TENORIO, ...
TEMA 1: <br />La Norma de Conexión <br />RS 232<br />
Introducción a la norma de conexión RS 232<br /><ul><li>El modelo de conexión RS describe la forma de conectar el terminal...
La norma RS 232 proviene de la EIA RS-232 que fue propuesta en 1969 por la Asociación de industrias Electrónicas.</li></ul...
Introducción a la norma de conexión RS 232<br /><ul><li>Aunque la norma se estableció para equipos informáticos a módems, ...
Especificaciones Generales<br />ESPECIFICACIÓN LÓGICA<br /><ul><li>La norma RS-232-C contempla 25 señales, de la cuales se...
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 fo...
Método de transmisión<br /><ul><li>En  la figura anterior la línea de comunicación está normalmente en estado 1, empleándo...
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 s...
Ante elevadas  velocidades de transmisión se utiliza el modo síncrono que esta formado por uno o dos bytes de sincronismo(...
Protocolo por señales
Protocolo por códigos</li></li></ul><li>Protocolo de comunicación<br />PROTOCOLO POR SEÑALES<br /><ul><li>Se utilizan algu...
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 CT...
Se supone que el receptor está en disposición de  recibir la información, por lo que el emisor comienza a enviarla. Si el ...
Protocolo de comunicación<br />PROTOCOLO POR CÓDIGOS<br /><ul><li>Otro protocolo por códigos muy empleado es el que utiliz...
Suponiendo que esta disponible el receptor, el emisor inicia la transmisión enviando  una línea de información, que finali...
Diseño de una interfaz RS-232-C<br /><ul><li>La sencillez en el diseño de una interfaz RS-232-C se debe a los circuitos in...
Realiza todas las operaciones necesarias para serializar la información transformada y transformar en paralelo la que reci...
Diseño de una interfaz RS-232-C<br /><ul><li>Se usan las señales CTS, RTS, DTR y DSR para indicar el estado de los equipos...
TEMA 2.1: <br />El reforzamiento del paralelismo y el aumento de la velocidad del procesamiento<br />
El reforzamiento del paralelismo y el aumento de la velocidad del procesamiento<br /><ul><li>La ampliación de las áreas de...
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 , si...
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 seg...
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.</li></li></ul><li>Aumento de la velocidad del procesamien...
Aumento de la velocidad del procesamiento.<br /><ul><li>Otras alternativas son:
Diseño de nuevas organizaciones y estrategias de funcionamiento  de las memorias. Ejemplos de esta técnica son la memoria ...
Sustitución   del sistema lógico por equipo físico. Se tiende a construir por circuitería ciertas funciones repetitivas qu...
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,...
MULTIPROCESAMIENTO: Donde se ejecutan varios programas simultáneamente, usando sistemas dotados de varios procesadores.</l...
Aumento de la velocidad del procesamiento.<br /><ul><li>La potenciación del paralelismo se puede dirigir hacia el grado de...
Matricial o Array
Los modernos supercomputadores disponen de tres recursos que explotan el paralelismo y que dan lugar a tres tipos de compu...
De segmentación
«Matricial» o Array
Multiprocesador.</li></li></ul><li>TEMA 2.2: <br />Clasificación de las arquitecturas del computador propuesto por Flynn<b...
Clasificación de las arquitecturas del computador propuesto por Flynn<br /><ul><li>SISD: Flujo único de instrucciones-fluj...
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 datos</li></li></ul><li>Clasificación de las arquitecturas del com...
Clasificación de las arquitecturas del computador propuesto por Flynn<br />Arquitectura SISD<br /><ul><li>La memoria princ...
La estructura corresponde a los llamados procesadores matriciales. La unidad de  control interpreta las instrucciones y en...
Clasificación de las arquitecturas del computador propuesto por Flynn<br />Arquitectura MISD<br /><ul><li>Esta estructura ...
Clasificación de las arquitecturas del computador propuesto por Flynn<br />Arquitectura MIMD<br />INSTRUCCIONES<br /><ul><...
Clasificación comercial de los computadores<br /><ul><li>De acuerdo a las realizaciones concretas, los computadores se pue...
Están formados por una serie de elementos de proceso de instrucciones, que se conectan con los módulos de memoria a través...
Clasificación comercial de los computadores<br /><ul><li>Gracias a las nuevas estructuras VLSI y los nuevos desarrollos de...
Procesadores con tratamiento de base de datos.</li></ul>Procesadores <br />de quinta generación<br /><ul><li>Procesadores ...
Procesadores inteligentes, procesan bases de conocimiento  y disponen de una interfaz natural  para el interfaz con el ope...
INTRODUCCION Y CONCEPTO DE LA TECNICA DE SEGMENTACIÓN<br /><ul><li>Dentro de las técnicas utilizadas para acelerar el func...
INTRODUCCION Y CONCEPTO DE LA TECNICA DE SEGMENTACIÓN<br />Un operador completo solo atiende un proceso hasta que lo reali...
INTRODUCCION Y CONCEPTO DE LA TECNICA DE SEGMENTACIÓN<br />Un proceso en cadena con cuatro etapas puede atender cuatro pro...
Características de la Segmentación<br /><ul><li>Como las subfunciones Fi son más simples  que la función total  F,  se pue...
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  puede...
En un computador el flujo de instrucciones circula por una serie de unidades elementales en cadena, que realizan una opera...
Búsqueda de la instrucción
Decodificación
Búsqueda de operandos
Ejecución</li></li></ul><li>Características de la Segmentación<br /><ul><li>Esquema de un computador con las unidades fund...
Características de la Segmentación<br /><ul><li>Procesamiento segmentado en cadena de  la secuencia de instrucciones</li><...
Características de la Segmentación<br /><ul><li>Existe un reloj que genera impulsos de sincronismo de periodo t, que es el...
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 OP</li></ul>Cuarto impulso(t4)<br />
Características de la Segmentación<br /><ul><li>Procesamiento de las instrucciones a través de los bloques funcionales</li...
Conclusiones sobre la segmentación<br /><ul><li>Es una técnica muy apropiada en los computadores y se puede aplicar a sus ...
La UC es una buena candidata para el tratamiento en cadena, puesto que la ejecución de instrucciones se divide en una seri...
El concepto de cadena aplicado a la memoria principal es ligeramente distinto, puesto que su funcionamiento se basa en una...
Cada registro almacena información la información de salida de una etapa y de entrada a la siguiente. De esta manera la in...
Todos los componentes están gobernados mediante un único reloj, cuyos flancos hacen que todas las informaciones avancen un...
Estructura y tipo de cadenas<br />Clasificación de las cadenas:<br />Realizan solo una función<br />CADENA UNIFUNCIÓN<br /...
Entradas de control: Definen la función a realizar en cada situación
Dinámicamente reconfigurables
Estáticamente  reconfigurables</li></li></ul><li>Estructura y tipo de cadenas<br />Cadenas estáticamente reconfigurables:<...
Actúan como si fueran unifunciones  entre cada cambio.
Tratan todo un lote de procesos in alterar su funcionamiento.</li></ul>Cadenas dinámicamente reconfigurables:<br /><ul><li...
Parones y choques en las  cadenas<br />Representan  el mayor problema de tratamiento en cadena. Surgen cuando  se produce ...
Memorias entrelazadas<br /><ul><li>La velocidad de las memorias principales es bastante inferior  que la de la lógica util...
Cada módulo funciona de manera independiente, por  lo que se puede acceder al mismo tiempo a tantas posiciones de memoria ...
ORGANIZACIÓN MODULAR  ENTRELAZADA: Es una manera  de organizar  la memoria que permite ir entrelazando los accesos entre l...
La información accedida de cada módulo se almacena en su registro cerrojo correspondiente, en donde se van extrayendo mien...
Memorias entrelazadas<br />Memoria  de entrelazado simple:<br /><ul><li>Cuando se realiza el primer acceso , se obtienen N...
Memorias entrelazadas<br />Memoria  de entrelazado simple:<br /><ul><li>El entrelazado simple funciona de forma satisfacto...
Sin embargo esta estructura no  es demasiado practica para el caso de los acceso no secuenciales , tales como  el tratamie...
Memorias entrelazadas<br />Entrelazado complejo: Organización  de una memoria principal con entrelazado complejo.<br />MÓD...
Memorias entrelazadas<br />Entrelazado complejo:<br /><ul><li>Los comienzos de acceso a estos módulos  se solapan en el ti...
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,…, mie...
Empleando módulos de 2n posiciones, se asignan las 2n primeras posiciones  al primer módulo, las posiciones de la 2n a la ...
Entrelazado de orden superior: </li></li></ul><li>Los Parones en las secuencias de instrucciones:<br /><ul><li>El problema...
Los parones de dependencia entre datos se producen cuando una instrucción requiere como dato un dato que debe de generar u...
Los Parones en las secuencias de instrucciones:<br /><ul><li>Los parones por bifurcación condicional se producen al recono...
Los Parones en las secuencias de instrucciones:<br /><ul><li>Es una técnica que se utiliza para evitar el problema de los ...
Se evita el hueco que causa la bifurcación tomando a priori una de la dos alternativas de bifurcación. </li></ul>Cadena de...
Consiste en rellenarlo con instrucciones  anteriores a la bifurcación y que, por tanto, deben de ejecutarse independientem...
La segmentación en la Unidad de Control Microprogramada<br />Tratamiento en Serie:<br /><ul><li>Se produce cuando no se di...
La segmentación en la Unidad de Control Microprogramada<br />Tratamiento en Cadena con secuenciamiento explicito:<br /><ul...
TEMA 2.4: <br />Computadores Vectoriales<br />
Computadores vectoriales:<br /><ul><li>Un operando vectorial está formado por una lista ordenada de n elementos. Cada elem...
Computadores vectoriales:<br />Tipos de Operaciones Vectoriales:<br /><ul><li>Está compuesto por  aquellas  operaciones en...
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, ...
Segundo tipo
Ejemplo: Raíz cuadrada del vector</li></li></ul><li>Computadores vectoriales:<br />Tipos de Operaciones Vectoriales:<br />...
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.</li></li></ul><li>Computadores vectoriales:<br />Instrucciones...
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 vector</li></li></ul><li>Computadores vectoriales:<br />Técnica de Segmentación:<br /><ul><li>Es muy aplicada...
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 convencion...
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  palabr...
Computadores vectoriales:<br />Arquitectura de «Cray-1»<br /><ul><li>Memoria principal con un ciclo de 50ns, es decir 4 pe...
La sección de E/S contiene 12 canales e entrada, y otros 12 de salida. Cada canal tiene una frecuencia de transferencia de...
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:<br />Arquitectura de «Cray-1»<br />Sección de Ejecución <br /><ul><li>Consta de 64*4 buffers de ...
Desplazamiento
Lógicas</li></ul>S o V<br />S o V<br />UNIDADES FUNCIONALES <br />DE COMA FLOTANTE<br />S y V<br /><ul><li>Suma
Producto
Aproximación Reciproca</li></ul>S y V<br />S y V<br />Calcula el reciproco<br />S<br /><ul><li>Suma  Lógicas
Conteos
Desplazamientos
Conteos de unos y ceros</li></ul>UNIDADES ESCALARES<br />S<br />S<br />Cuenta número de unos o números de ceros tras un un...
Producto</li></ul>A<br />A<br />UNIDADES FUNCIONALES DEL CRAY-1<br />
Computadores vectoriales:<br />Arquitectura de «Cray-1»<br />Sección de Ejecución <br /><ul><li>Las operaciones aritmética...
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....
Computadores «array»<br /><ul><li>Los procesadores segmentados array tienen una estructura de dos dimensiones con múltiple...
Productos de matrices
Cálculo de la matriz inversa
Etc.
La arquitectura segmentada se basa en  tablas celulares de unidades aritméticas.</li></li></ul><li>a32<br />a23<br />0<br ...
Computadores «array»<br /><ul><li>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...
Arquitectura del computador  AP-120B<br />AP-120B<br />CONTROL<br />(16 BITS)<br />INTERFAZ<br /><ul><li>Interconexión del...
Arquitectura del computador  AP-120B<br /><ul><li>Diagrama funcional  del computador AP-120B</li></ul>MEMORIA <br />DE CON...
Arquitectura del computador  AP-120B<br /><ul><li>En la figura anterior se ve que el AP-120B se tratase de una terminal má...
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 PALABRAS</li></li></ul><li>Arquitectura del computador  AP-120B<br />Funciones de los registros<br /><ul><li>R...
REGISTRO DE FORMATO: Convierten el formato LP del computador principal al del  AP-120B y viceversa.</li></ul>Memoria de Co...
Tablas de registros X, Y, DPX, DPY: Forman dos bloques acumuladores de 38 bits. Cada bloque tiene 16 acumuladores pudiendo...
Registro de direcciones(MA, TMA, DPA): La ALU deja direcciones de los resultados en uno de estos 3 registros, según sea la...
Arquitectura del computador  AP-120B<br />Unidades Aritméticas<br /><ul><li>Multiplicador de coma flotante(FA), multiplica...
TEMA 2.6: <br />Arquitectura SIMD: Procesadores  Matriciales y Asociativos<br />
Arquitecturas SIMD<br /><ul><li>Un procesador matricial, esta conectado al host a través de una Unidad de Control. El comp...
Además de los computadores matriciales, estas arquitecturas también comprenden a los procesadores asociativos caracterizad...
Arquitecturas SIMD<br />Procesadores matriciales:<br />Configuración 1<br />CONTROL<br />DATOS  E<br /> INSTRUCCIONES<br /...
Arquitecturas SIMD<br />Procesadores matriciales:<br />Configuración 2<br />DATOS  E<br /> INSTRUCCIONES<br />RED DE INTER...
Arquitecturas SIMD<br />Procesadores matriciales:<br />Características<br />C=N,F,I,M;DONDE:<br /> <br /><ul><li>N:Número ...
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.</li></li></ul><li>Arquitecturas SIMD<br />Arquitectura del MPP<br /><ul><l...
Contiene una matriz de 128 *128 =16384 microprocesadores en paralelo. Además el MPP tiene una unidad de control microprogr...
UNIDAD DE MANDATO DE PROGRAMAS: microordenador que controla el flujo de datos en la matriz, carga programas en el controla...
Arquitecturas SIMD<br /><ul><li>El ordenador externo de control que se usa es el PDP-11/34. El MPP incluye periféricos com...
Puede trabajar independientemente, sin ordenador externo, en modo  standalone, mediante el terminal y los comandos propios...
Esta compuesto de 32 módulos  asociativos de matrices, como máximo. Cada módulo contiene 256 palabras de  256 bits cada un...
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 SIMD<br />Procesadores asociativos:<br /><ul><li>Utilizando la red de permutación los datos almacenados en l...
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 c...
Arquitecturas SIMD<br />Procesadores asociativos:<br />Arquitectura del procesador STARAN<br />Arquitectura General por Bl...
Arquitecturas SIMD<br />Procesadores asociativos:<br />Arquitectura del procesador STARAN<br />Arquitectura General por Bl...
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 interfaz</li></li></ul>...
Multiprocesadores o Computadores MIMD<br /><ul><li>Un multiprocesador  está compuesto por múltiples procesadores de instru...
La arquitectura MIMD comprende N elementos de procesos de instrucciones, que se conectan con M módulos de memoria principa...
MULTIPROCESADORES ACTUALES<br /><ul><li>En el caso de INTEL este ultimo tiempo ha llegado al numero de 8 núcleos, en un so...
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...
LO QUE SE VIENE<br />
Multiprocesadores o Computadores MIMD<br />SISTEMAS DÉBILMENTE ACOPLADOS<br />Cada procesador tiene un dispositivo de E/S ...
Multiprocesadores o Computadores MIMD<br />ESTRUCTURA DE UN SISTEMA DÉBILMENTE ACOPLADO<br />E/S<br />Módulo 1<br />MEMORI...
Multiprocesadores o Computadores MIMD<br />ESTRUCTURA DE UN SISTEMA FUERTEMENTE ACOPLADO<br />DISCO<br />DISCO<br />RED DE...
Multiprocesadores o Computadores MIMD<br />SISTEMA OPERATIVO MAESTRO-ESCLAVO<br /><ul><li>Las rutinas del supervisor se ej...
Multiprocesadores o Computadores MIMD<br />Red de interconexión Común<br /><ul><li>Topología más simple y económica. Prese...
Multiprocesadores o Computadores MIMD<br />Red de interconexión «crossbar switch»<br />MODULO<br />MEMORIA <br />MODULO<br...
Multiprocesadores o Computadores MIMD<br />Red de interconexión «multipuerta»<br />PROCESADOR 1<br />PROCESADOR 2<br />MOD...
Multiprocesadores o Computadores MIMD<br />Multiprocesador «S-1»<br /><ul><li>Procesador de propósito general de alta velo...
Construido con uniprocesadores S-1 Mark IIA
Incluye 16 uniprocesadores Mark IIA independientes
Comparten 16 bancos de memoria
Upcoming SlideShare
Loading in...5
×

ARQUITECTURA DE COMPUTADORAS

6,785

Published on

La tecnología de computadores ha progresado increíblemente en los últimos
cincuenta años.

Published in: Technology
1 Comment
5 Likes
Statistics
Notes
No Downloads
Views
Total Views
6,785
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
280
Comments
1
Likes
5
Embeds 0
No embeds

No notes for slide

ARQUITECTURA DE COMPUTADORAS

  1. 1. UNIVERSIDAD NACIONAL<br />DEL CENTRO DEL PERÚ<br />ARQUITECTURA DE COMPUTADORAS<br />PRESENTADO POR :<br />ACUÑA TENORIO, Mario<br />CASTILLON POMA, Darwin<br />LANDEO RIVERA Daniel LAURA HUAROC, Kenil<br />OSORES RAMOS, Jimmy<br />CATEDRÁTICO:<br />Ing. Miguel CAMARENA INGARUCA<br />
  2. 2. TEMA 1: <br />La Norma de Conexión <br />RS 232<br />
  3. 3. Introducción a la norma de conexión RS 232<br /><ul><li>El 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. 4. La norma RS 232 proviene de la EIA RS-232 que fue propuesta en 1969 por la Asociación de industrias Electrónicas.</li></ul>DTE<br />DTE<br />Modem DCE<br />Modem DCE<br />EQUIPO TERMINAL DE DATOS:<br />DATA TERMINAL EQUIPMENT<br />RS meansRecommended Standard<br />
  5. 5. Introducción a la norma de conexión RS 232<br /><ul><li>Aunque 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 </li></li></ul><li>Especificaciones Generales<br />ESPECIFICACIÓN ELÉCTRICA:<br /><ul><li>En la figura se muestra circuitos equivalente de emisores y receptores, que se aplican a todas las señales que componen la norma.</li></ul>R0 (3000−7000Ω)<br /> <br />RL (3000−7000Ω)<br /> <br />V0<br />CL<br />C0<br />(>2500pF)<br /> <br />EL>(2V)<br /> <br />EMISOR<br />RECEPTOR<br />
  6. 6. Especificaciones Generales<br />ESPECIFICACIÓN LÓGICA<br /><ul><li>La norma RS-232-C contempla 25 señales, de la cuales se puede emplear menos de 10. las más importantes son:</li></li></ul><li>Especificaciones Generales<br />ESPECIFICACIÓN LÓGICA<br /><ul><li>Conexión lógica de las señales más importantes de la norma RS-232-C</li></ul>DCE<br />DTE<br />DATOS<br />TD 2<br />2<br />RD 3<br />3<br />DTR 20<br />20<br />6<br />6 DSR<br />4<br />RTS 4<br />5<br />5 TS<br />8<br />8 DCD<br />7<br />7<br />TIERRA 1<br />1 TIERRA<br /><ul><li>Ya 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.</li></li></ul><li>Especificaciones Generales<br />ESPECIFICACIÓN MECÁNICA<br /><ul><li>Lo más habitual es usar conectores del tipo DB-25, que consta de25 patitas repartidas de la siguiente manera:</li></ul>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br /><ul><li>El conexionado puede realizarse con cables planos, hilos trenzados, o cables coaxiales según la distancia entre el emisor y el receptor.</li></li></ul><li>Especificaciones Generales<br />ESPECIFICACIÓN MECÁNICA<br /><ul><li>Descripción de cada uno de los 25 pines, antes mencionados.</li></li></ul><li>Método de transmisión<br /><ul><li>El método de transmisión es el que la define la transferencia elemental del bus serie.
  7. 7. 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.</li></ul>D5<br />D6<br />D7<br />D3<br />D1<br />D2<br />D0<br />D4<br />START<br />STOP 1<br />STOP 2<br />PARIDAD<br />DATO<br />INFORMACIÓN DE UN BYTE COMPLETA<br />
  8. 8. Método de transmisión<br /><ul><li>En 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. 9. 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.</li></li></ul><li>Método de transmisión<br /><ul><li>La 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. 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.</li></li></ul><li>Método de transmisión<br /><ul><li>Formato de la comunicación síncrona en la norma RS-232-C</li></ul>SINCRONISMO<br />SINCRONISMO<br />DATO 0 <br />DATO 1 <br />DATO 2 <br />DATO 3 <br />DATO 4 <br />BYTES DE SINCRONISMO<br />BYTES DE DATOS<br />Protocolo de comunicación<br /><ul><li>Establece la comunicación a nivel de transferencia de bloques de información. Se emplea dos técnicas
  11. 11. Protocolo por señales
  12. 12. Protocolo por códigos</li></li></ul><li>Protocolo de comunicación<br />PROTOCOLO POR SEÑALES<br /><ul><li>Se utilizan algunas señales de la norma RS-232-C para que los dispositivos indiquen si pueden recibir o no información.
  13. 13. La pareja de señales DTR/DSR, o bien, RST/CTS se suelen emplear con este fin.
  14. 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 DCE</li></li></ul><li>Protocolo de comunicación<br />PROTOCOLO POR CÓDIGOS<br /><ul><li>Se 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. 15. 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.</li></ul>El proceso es el siguiente:<br />DC1: DEVIDE CONTROL 1XON<br />DC3. DEVICE CONTROL 3XOFF<br />
  16. 16. Protocolo de comunicación<br />PROTOCOLO POR CÓDIGOS<br /><ul><li>Otro protocolo por códigos muy empleado es el que utiliza los caracteres ASCII ETX y ACK.
  17. 17. 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.</li></ul>ETX: FÍN DE TEXTO<br />ACK: ACKNOWLEDGEMENT<br />
  18. 18. Diseño de una interfaz RS-232-C<br /><ul><li>La 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. 19. Realiza todas las operaciones necesarias para serializar la información transformada y transformar en paralelo la que recibe.</li></ul>8251 <br />USART<br /><ul><li>Genera las formas de onda correspondiente a la velocidad de transmisión seleccionada y la que sincroniza la recepción.</li></li></ul><li>Diseño de una interfaz RS-232-C<br />BUS DE DATOS<br />DO-D7<br /><ul><li>Diseño de una comunicación doble que sigue la norma RS-232-C</li></ul>BUS DE DIRECCIONES<br />AO-A15<br />A1-A2-A3<br />G2A<br />G1<br />74138<br />IO/M<br /> <br />G2B<br />CS<br /> <br />A0<br />T∗D<br /> <br />DATOS ENVIADOS <br />C/D<br /> <br />D0-D7<br />MICROPROCESADOR<br />DTR <br /> <br />CONTROL<br />RESET<br />RESET<br />RTS <br /> <br />RD<br /> <br />RD<br /> <br />WR<br /> <br />USART <br />82581<br />WR<br /> <br />1488<br />CLK<br /> <br />3,07 MHz<br />CLK<br /> <br />5V<br />DATOS ENVIADOS <br />R∗D<br /> <br />T+RDY<br /> <br />INT<br />R∗RDY<br /> <br />DSR<br /> <br />TxC<br /> <br />74190<br />CTS<br /> <br />CONTROL<br />R∗C<br /> <br />1489<br />
  20. 20. Diseño de una interfaz RS-232-C<br /><ul><li>Se 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.</li></li></ul><li>TEMA 2: <br />Computadores de altas prestaciones<br />
  21. 21. TEMA 2.1: <br />El reforzamiento del paralelismo y el aumento de la velocidad del procesamiento<br />
  22. 22. El reforzamiento del paralelismo y el aumento de la velocidad del procesamiento<br /><ul><li>La 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. 23. Procesamiento de imágenes en tiempo real.
  24. 24. Meteorología
  25. 25. Cálculo y control de las trayectorias de los robots.
  26. 26. 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.</li></li></ul><li>El reforzamiento del paralelismo y el aumento de la velocidad del procesamiento<br /><ul><li>Estas características están motivadas por tres causas:
  27. 27. NECESIDAD DE INCREMENTO CONTINUO DE LA POTENCIA DEL CALCULO:
  28. 28. 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.
  29. 29. DESFASE ENTRE LA ARQUITECTURA DE VON NEUMANN, Y LOS REQUERIMIENTOS DE LOS NUEVOS SISTEMAS LÓGICOS Y LENGUAJES.
  30. 30. Debido a que la tecnología actual VLSI proporciona elementos baratos especialmente cuando se utilizan de forma repetitiva.
  31. 31. LAS CONSIDERACIONES QUE RESPETO AL COSTE, EXISTIAN EN EL PASADO.</li></li></ul><li>Aumento de la velocidad del procesamiento.<br /><ul><li>Para elevar la velocidad de procesamiento de los computadores, existen diferentes alternativas entre las que destacan:</li></ul>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.<br />Reducir el número de niveles de puertas para realizar algoritmos, como sucede en los sumadores con acarreo anticipado.<br />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.<br />
  32. 32. Aumento de la velocidad del procesamiento.<br /><ul><li>Otras alternativas son:
  33. 33. 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.
  34. 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. 35. Aumento del grado de paralelismo o concurrencia, desde el nivel e las instrucciones hasta el de los programas.
  36. 36. 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. </li></li></ul><li>Aumento de la velocidad del procesamiento.<br /><ul><li>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. 37. MULTIPROCESAMIENTO: Donde se ejecutan varios programas simultáneamente, usando sistemas dotados de varios procesadores.</li></ul>Otras técnicas:<br />Tiempo Compartido:<br />Diversos procesos compartían la UCP.<br />Ejecuta en forma concurrente varios programas residentes en la memorias principal.<br />Multiprogramación:<br />
  38. 38. Aumento de la velocidad del procesamiento.<br /><ul><li>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.</li></ul>Arquitecturas para el reforzamiento del paralelismo<br />SISTEMAS UNIPROCESADORES:<br /><ul><li>Pipe-Line o de segmentación
  39. 39. Matricial o Array
  40. 40. Los modernos supercomputadores disponen de tres recursos que explotan el paralelismo y que dan lugar a tres tipos de computadores:
  41. 41. De segmentación
  42. 42. «Matricial» o Array
  43. 43. Multiprocesador.</li></li></ul><li>TEMA 2.2: <br />Clasificación de las arquitecturas del computador propuesto por Flynn<br />
  44. 44. Clasificación de las arquitecturas del computador propuesto por Flynn<br /><ul><li>SISD: Flujo único de instrucciones-flujo único de datos
  45. 45. SIMD: Flujo único de instrucciones-flujo múltiple de datos
  46. 46. Esta clasificación divide a los computadores, atendiendo a su paralelismo explicito en 4 grupos:
  47. 47. MISD: Flujo múltiple de instrucciones-flujo único de datos
  48. 48. MIMD: Flujo múltiple de instrucciones-flujo múltiple de datos</li></li></ul><li>Clasificación de las arquitecturas del computador propuesto por Flynn<br />Esquema simplificado de la arquitectura SISD<br />UNIDAD OPERATIVA<br />FLUJO DE DATOS<br />(ALU Y REGISTROS)<br />MEMORIA <br />PRINCIPAL<br />FLUJO DE <br />INSTRUCCIONES<br />(INSTRUCCIONES Y DATOS)<br />UNIDAD DE CONTROL<br />FLUJO DE INSTRUCCIONES<br />(DECODIFICADOR <br />DE INSTRUCCIONES<br />Y SECUENCIADOR)<br />
  49. 49. Clasificación de las arquitecturas del computador propuesto por Flynn<br />Arquitectura SISD<br /><ul><li>La 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.</li></li></ul><li>Clasificación de las arquitecturas del computador propuesto por Flynn<br />Arquitectura SIMD<br /><ul><li>En los computadores con esta arquitectura, la unidad de control existente supervisa el funcionamiento del conjunto de unidades operativas disponibles.
  50. 50. 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. </li></li></ul><li>Clasificación de las arquitecturas del computador propuesto por Flynn<br />Arquitectura SIMD<br />UNIDAD<br />OPERATIVA<br />1<br />DATOS<br />Esquema simplificado de la arquitectura SIMD<br />MEMORIA <br />PRINCIPAL<br />DATOS<br />UNIDAD<br />OPERATIVA<br />2<br />UNIDAD DE <br />CONTROL<br />(ESTRUCTURA <br />MODULAR <br />COMPARTIDA)<br />DATOS<br />UNIDAD<br />OPERATIVA<br />X<br />FLUJO DE INSTRUCCIONES<br />
  51. 51. Clasificación de las arquitecturas del computador propuesto por Flynn<br />Arquitectura MISD<br /><ul><li>Esta 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.</li></li></ul><li>Clasificación de las arquitecturas del computador propuesto por Flynn<br />Arquitectura MISD<br />INSTRUCCIONES<br />UNIDAD<br />DE CONTROL<br />1<br />UNIDAD<br />OPERATIVA<br />1<br />Arquitectura SIMD de múltiple flujo de instrucciones y flujo único de datos.<br />MEMORIA <br />PRINCIPAL<br />INSTRUCCIONES<br />UNIDAD<br />DE CONTROL<br />2<br />UNIDAD<br />OPERATIVA<br />2<br />(ESTRUCTURA <br />MODULAR <br />COMPARTIDA)<br />INSTRUCCIONES<br />UNIDAD<br />OPERATIVA<br />X<br />UNIDAD<br />DE CONTROL<br />X<br />FLUJO DE DATOS<br />
  52. 52. Clasificación de las arquitecturas del computador propuesto por Flynn<br />Arquitectura MIMD<br />INSTRUCCIONES<br /><ul><li>Es 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.</li></ul>UNIDAD<br />OPERATIVA<br />1<br />UNIDAD<br />DE CONTROL<br />1<br />MEMORIA <br />PRINCIPAL<br />INSTRUCCIONES<br />UNIDAD<br />OPERATIVA<br />2<br />UNIDAD<br />DE CONTROL<br />2<br />(ESTRUCTURA <br />MODULAR <br />COMPARTIDA)<br />INSTRUCCIONES<br />UNIDAD<br />OPERATIVA<br />X<br />UNIDAD<br />DE CONTROL<br />X<br />DATOS<br />DATOS<br />DATOS<br />
  53. 53. Clasificación comercial de los computadores<br /><ul><li>De acuerdo a las realizaciones concretas, los computadores se pueden clasificar de las siguiente manera:</li></ul>VECTORIALES:<br /><ul><li>Se utilizan en el procesamiento de vectores en «serie». No se necesita terminar completamente el proceso de un elemento para iniciar el del siguiente.</li></ul>Procesadores Segmentados<br />Dividen los procesos con los que forman cadenas secuenciales de trabajo.<br />ARRAY:<br /><ul><li>Son procesadores segmentados de dos dimensiones con varias cadenas de flujos de datos.</li></li></ul><li>Clasificación comercial de los computadores<br />MATRICIALES:<br /><ul><li>Formados por una matriz síncrona de procesadores paralelos.</li></ul>Procesadores de Arquitectura SIMD<br />ASOCIATIVA:<br /><ul><li>Son procesadores en los que la memoria de acceso es asociativa. Se accede por contenido y no por dirección.
  54. 54. 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.</li></ul>Multiprocesadores<br />Ejemplo: procesadores sistólicos.<br />
  55. 55. Clasificación comercial de los computadores<br /><ul><li>Gracias a las nuevas estructuras VLSI y los nuevos desarrollos del sistema lógico se desarrollan:
  56. 56. Procesadores con tratamiento de base de datos.</li></ul>Procesadores <br />de quinta generación<br /><ul><li>Procesadores 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. 57. Procesadores inteligentes, procesan bases de conocimiento y disponen de una interfaz natural para el interfaz con el operador humano.</li></li></ul><li>TEMA 2.3: <br />Técnicas para acelerar el funcionamiento del sistema digital <br />
  58. 58. INTRODUCCION Y CONCEPTO DE LA TECNICA DE SEGMENTACIÓN<br /><ul><li>Dentro 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. </li></ul>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.<br /><ul><li>SEGMENTADO O PIPELINE:</li></ul>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.<br />
  59. 59. INTRODUCCION Y CONCEPTO DE LA TECNICA DE SEGMENTACIÓN<br />Un operador completo solo atiende un proceso hasta que lo realiza, los demás esperan su turno.<br />OPERADOR COMPLETO<br />ENTRADA<br />SALIDA DE<br /> RESULTADOS<br />1<br />6<br />5<br />4<br />3<br />2<br />COLA DE PROCESOS<br />
  60. 60. INTRODUCCION Y CONCEPTO DE LA TECNICA DE SEGMENTACIÓN<br />Un proceso en cadena con cuatro etapas puede atender cuatro procesos a la vez<br />OPERADORES PARCIALES SIMPLES<br />SALIDA DE<br /> RESULTADOS<br />ENTRADA<br />4<br />5<br />6<br />3<br />2<br />1<br />COLA DE PROCESOS<br />
  61. 61. Características de la Segmentación<br /><ul><li>Como 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. 62. 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.
  63. 63. 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:
  64. 64. Búsqueda de la instrucción
  65. 65. Decodificación
  66. 66. Búsqueda de operandos
  67. 67. Ejecución</li></li></ul><li>Características de la Segmentación<br /><ul><li>Esquema de un computador con las unidades fundamentales que se utilizan para llevar a cabo las fases en las que se descompone una instrucción</li></ul>DATOS<br />UNIDAD <br />OPERATIVA<br />UNIDAD DE CONTROL<br />DIRECCIÓN<br />CONTADOR <br />DE <br />PROGRAMA<br />BÚSQUEDA<br />DE OPERANDOS<br />MEMORIA <br />PRINCIPAL<br />ALU<br />DECODIFICADOR<br />DE<br />INSTRUCCIONES<br />INSTRUCCIÓN<br />REGISTRO <br />DE <br />INSTRUCCIONES<br />SECUENCIADOR<br />REGISTROS<br />CONTROL<br />FASE DE <br />DECODIFICACIÓN<br />(FD)<br />FASE DE <br />BUSQUEDA <br />DE <br />OPERANDOS<br />(FBO)<br />FASE DE <br />BUSQUEDA <br />DE <br />INSTRUCCIONES<br />(FBI)<br />FASE<br />DE<br />EJECUCIÓN<br />(FE)<br />
  68. 68. Características de la Segmentación<br /><ul><li>Procesamiento segmentado en cadena de la secuencia de instrucciones</li></ul>FASE <br />DE BÚSQUEDA <br />DE <br />INSTRUCCIONES<br />FBI<br />SALIDA<br />ENTRADA<br />FASE DE <br />BÚSQUEDA<br />OPERANDOS<br />FBO<br />FASE DE <br />EJECUCIÓN<br />FE<br />FASE DE <br />DECODIFICACIÓN<br />FD<br />FLUJO DE <br />INSTRUCCIONES<br />RESULTADOS<br />
  69. 69. Características de la Segmentación<br /><ul><li>Existe 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):</li></ul>Primer impulso(t1)<br />Fase de búsqueda de la instrucción T1<br />Segundo impulso(t2)<br />I1 pasa a la unidad encargada de la decodificación (FD)<br />.<br />.<br />.<br />.<br />.<br />.<br /><ul><li>Ejecución completa de I1
  70. 70. I2 en la fase de búsqueda de los operandos
  71. 71. I3 en la de decodificación
  72. 72. I4 en la de búsqueda de código OP</li></ul>Cuarto impulso(t4)<br />
  73. 73. Características de la Segmentación<br /><ul><li>Procesamiento de las instrucciones a través de los bloques funcionales</li></ul>SALIDA<br />FBI<br />I1<br />FD<br />FBO<br />FE<br />I5I4I3I2<br />RELOJ<br />t1<br />SALIDA<br />FBI<br />I2<br />FD<br />I1<br />FBO<br />FE<br />I5I4I3<br />RELOJ<br />t1<br />t2<br />SALIDA<br />FBI<br />I3<br />FD<br />I2<br />FBO<br />I1<br />FE<br />I5I4<br />RELOJ<br />t2<br />t1<br />t3<br />SALIDA<br />FE<br />I1<br />FBI<br />I4<br />FD<br />I3<br />FBO<br />I2<br />I5<br />RELOJ<br />t2<br />t1<br />t3<br />t4<br />
  74. 74. Conclusiones sobre la segmentación<br /><ul><li>Es 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. 75. 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.</li></li></ul><li>Conclusiones sobre la segmentación<br /><ul><li>La 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. 76. 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.</li></li></ul><li>Estructura y tipo de cadenas<br /><ul><li>Las cadenas suelen ser de funcionamiento síncrono y utilizan unos registros intermedios entre la distintas etapas que las componen.
  77. 77. 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.
  78. 78. Todos los componentes están gobernados mediante un único reloj, cuyos flancos hacen que todas las informaciones avancen una posición simultáneamente.</li></li></ul><li>Estructura y tipo de cadenas<br /><ul><li>Estructura típica de las cadenas:</li></ul>1º ETAPA<br />2º ETAPA<br />3º ETAPA<br />4º ETAPA<br />SALIDA<br />ENTRADA<br />REGISTRO<br />REGISTRO<br />REGISTRO<br />F1<br />F2<br />F3<br />F4<br />RELOJ<br />
  79. 79. Estructura y tipo de cadenas<br />Clasificación de las cadenas:<br />Realizan solo una función<br />CADENA UNIFUNCIÓN<br />CADENA MULIFUNCIÓN<br />Dependiendo del sistema con el que se pueden reconfigurar, se divide en:<br /><ul><li>Entrada de los procesos
  80. 80. Entradas de control: Definen la función a realizar en cada situación
  81. 81. Dinámicamente reconfigurables
  82. 82. Estáticamente reconfigurables</li></li></ul><li>Estructura y tipo de cadenas<br />Cadenas estáticamente reconfigurables:<br /><ul><li>Diseñadas para ser reconfiguradas en muy pocas ocasiones.
  83. 83. Actúan como si fueran unifunciones entre cada cambio.
  84. 84. Tratan todo un lote de procesos in alterar su funcionamiento.</li></ul>Cadenas dinámicamente reconfigurables:<br /><ul><li>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.</li></ul>CADENA LINEAL<br />A Cada etapa de la cadena, le sigue otra.<br />Detrás de cada etapa hay diversos caminos, e incluso realimentaciones para formar bucles.<br />CADENA NO LINEAL<br />
  85. 85. Parones y choques en las cadenas<br />Representan 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.<br />HAZARDS O PARONES<br />Por ejemplo:<br />Es un caso de parón en Unidades de Control con tratamiento en cadena. <br />Instrucciones de bifurcación<br />I1: INSTRUCCIÓN DE BIFURCACIÓN CONDICIONAL<br />Reducen la capacidad del proceso<br />CHOQUE<br />I1<br />si<br />no<br />ETAPA<br />Proceso 1<br />I2<br />I3<br />Hueco en la cadena<br />Proceso 2<br />
  86. 86. Memorias entrelazadas<br /><ul><li>La 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.
  87. 87. 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.</li></li></ul><li>Memorias entrelazadas<br />Entrelazado simple:<br />Se puede acceder a todos los módulos de memoria al mismo tiempo.<br /><ul><li>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. 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. 89. 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. </li></li></ul><li>Memorias entrelazadas<br />Memoria de entrelazado simple:<br /><ul><li>Estructura de la memoria principal para configurar el entrelazado simple:</li></ul>MEMORIA PRINCIPAL<br />REGISTRO CERROJO<br />MÓDULO 1<br />REGISTRO CERROJO<br />MÓDULO 2<br />MULTIPLEXOR<br />.<br />.<br />.<br />BUS DE DATOS<br />REGISTRO CERROJO<br />MÓDULO N<br />n (N=2n)<br />BIT DE DIRECCIONES<br />SELECCIÓN DE ENTRADA<br />
  90. 90. Memorias entrelazadas<br />Memoria de entrelazado simple:<br /><ul><li>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.</li></ul>1º ACCESO<br />3º ACCESO<br />2º ACCESO<br />Para los N módulos<br />Palabra 2º<br />Palabra N<br />Palabra 1º<br />Palabra 1º<br />Palabra 3º<br />Palabra 2º<br />Palabra Nº<br />
  91. 91. Memorias entrelazadas<br />Memoria de entrelazado simple:<br /><ul><li>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. 92. 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.</li></li></ul><li>Memorias entrelazadas<br />Entrelazado complejo:<br /><ul><li>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.</li></ul>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.<br /><ul><li>Tiempo de acceso a los módulos</li></ul>=<br />Número <br />
  93. 93. Memorias entrelazadas<br />Entrelazado complejo: Organización de una memoria principal con entrelazado complejo.<br />MÓDULO 1<br />REGISTRO CERROJO<br />OCUPADO/<br />COMPLETO<br />DIRECCIONES<br />MÓDULO 2<br />REGISTRO CERROJO<br />DIRECCIONES<br />CONTROLADOR DE<br /> MEMORIA<br />MULTIPLEXOR<br />BUS DE SIMPLE<br />PALABRA<br />COMANDOS<br />MÓDULO N<br />REGISTRO CERROJO<br />COMANDO<br />SELECCIÓN<br />
  94. 94. Memorias entrelazadas<br />Entrelazado complejo:<br /><ul><li>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.</li></li></ul><li>Memorias entrelazadas<br />Entrelazado complejo:<br /><ul><li>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. </li></li></ul><li>Memorias entrelazadas<br />Entrelazado complejo:<br /><ul><li>La forma en la que se ordenan las peticiones sucesivas de memoria tiene una influencia importante sobre la cantidad de choques.
  95. 95. Es cuando las posiciones sucesivas de memoria principal 0,1,2,3,4,…se asignan a módulos complejos.
  96. 96. Entrelazado de orden inferior:
  97. 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. 98. 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
  99. 99. Entrelazado de orden superior: </li></li></ul><li>Los Parones en las secuencias de instrucciones:<br /><ul><li>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. 100. 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.</li></li></ul><li>Los Parones en las secuencias de instrucciones:<br />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.<br /><ul><li>EJEMPLO:</li></ul>A00<br />A<br />A<br />IMC<br />HUECO<br />Parón originado por la dependencia de datos entre una instrucción y la siguiente.<br />
  101. 101. Los Parones en las secuencias de instrucciones:<br /><ul><li>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. </li></ul>B2<br />HUECO<br />
  102. 102. Los Parones en las secuencias de instrucciones:<br /><ul><li>Es una técnica que se utiliza para evitar el problema de los huecos y de los retardos introducidos por las bifurcaciones condicionales.
  103. 103. Se evita el hueco que causa la bifurcación tomando a priori una de la dos alternativas de bifurcación. </li></ul>Cadena de predicción:<br /><ul><li>Si esta corresponde con la alternativa supuesta, se sigue el procesamiento con el consiguiente ahorro de tiempo</li></ul>Cuando se conoce la condición<br /><ul><li>Y si no, se desecha el proceso realizado por la instrucción de bifurcación</li></li></ul><li>Los Parones en las secuencias de instrucciones:<br /><ul><li>Es una técnica mucho más económica que la anterior que permite aprovechar el hueco que dejan las bifurcaciones condicionales
  104. 104. Consiste en rellenarlo con instrucciones anteriores a la bifurcación y que, por tanto, deben de ejecutarse independientemente del camino seguido por ésta.</li></ul>Bifurcación retardada:<br /><ul><li>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.</li></li></ul><li>La segmentación en la Unidad de Control Microprogramada<br /><ul><li>Las 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:</li></ul>Cálculo de la siguiente microdicrección, el tiempo utilizado en realizar esta subfunción, se le conoce como TCD.<br />Acceso a la memoria de control, cuyo tiempo recibe el nombre de simplificado de TMC.<br />Activación de los órganos del computador con las señales obtenidas de memoria de control. Este tiempo se llama TOC<br />
  105. 105. La segmentación en la Unidad de Control Microprogramada<br />Tratamiento en Serie:<br /><ul><li>Se produce cuando no se dispone de un registro de almacenamiento intermedio.</li></ul>TCDi<br />TMCi<br />TOCi<br />TCDi<br />TMCi+1<br />TOCi+1<br />TIEMPO<br />
  106. 106. La segmentación en la Unidad de Control Microprogramada<br />Tratamiento en Cadena con secuenciamiento explicito:<br /><ul><li>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.</li></ul>TCDi<br />TCDi+1<br />TCDi+2<br />TMCi-1<br />TMCi<br />TMCi+1<br />TOCi-2<br />TOCi-1<br />TOCi<br />TIEMPO<br />
  107. 107. TEMA 2.4: <br />Computadores Vectoriales<br />
  108. 108. Computadores vectoriales:<br /><ul><li>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. </li></ul>Tipos de Operaciones Vectoriales:<br />fa:V->E<br />fb:V->V<br />fc:V∗V->V<br />fd:V∗E ->V<br /> <br />V: operador matricial<br />E:operando escalar<br />
  109. 109. Computadores vectoriales:<br />Tipos de Operaciones Vectoriales:<br /><ul><li>Está compuesto por aquellas operaciones en las que , operando con los elementos de un vector, se obtiene un resultado escalar.
  110. 110. Primer tipo
  111. 111. Es el caso de hallar por ejemplo la suma de los elementos del vector.
  112. 112. 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.
  113. 113. Segundo tipo
  114. 114. Ejemplo: Raíz cuadrada del vector</li></li></ul><li>Computadores vectoriales:<br />Tipos de Operaciones Vectoriales:<br /><ul><li>Son las operaciones que obtienen un vector a partir de otros dos.
  115. 115. Tercer tipo
  116. 116. Por ejemplo se tiene a la suma de vectores.
  117. 117. Se opera aplicando un escalar a cada elemento para obtener un vector resultado.
  118. 118. Cuarto tipo
  119. 119. Por ejemplo se tiene a la suma de un escalar con un vector.</li></li></ul><li>Computadores vectoriales:<br />Instrucciones Vectoriales:<br /><ul><li>Están disponibles en el lenguaje máquina de los procesadores vectoriales, y se especifican mediante los siguientes campos:
  120. 120. Selecciona la unidad funcional o reconfigura una unidad multifuncional de manera que ejecute la operación indicada.
  121. 121. Código de operación
  122. 122. Son las direcciones de comienzo de los vectores operandos y de resultado.
  123. 123. Direcciones Base
  124. 124. Son las direcciones de comienzo de los vectores operandos y de resultado.
  125. 125. Incremento de dirección
  126. 126. Sumándolo a la base se obtiene la dirección de un elemento buscado dentro de un vector.
  127. 127. Desplazamiento
  128. 128. Longitud del vector</li></li></ul><li>Computadores vectoriales:<br />Técnica de Segmentación:<br /><ul><li>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.</li></li></ul><li>Computadores vectoriales:<br />Grados de paralelismo:<br />Número de operaciones que pueden ejecutarse simultáneamente<br />AP<br />AP<br />LAN<br />CO<br />CO<br />CM<br />CM<br />LAN<br /><ul><li>Algoritmo Paralelo(AP)
  129. 129. Lenguaje de Alto nivel(LAN)
  130. 130. Código Objeto(CO)
  131. 131. Código Máquina(CM)
  132. 132. 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.</li></li></ul><li>Computadores vectoriales:<br />Diagrama de un procesador vectorial con múltiples unidades de ejecución o pipes.<br />MEMORIA PRINCIPAL <br />DE ALTA VELOCIDAD<br />UNIDAD DE PROCESO DE INSTRUCCIONES<br />REGISTROS ESCALARES<br />CONTROLADOR DE INSTRUCCIONES VECTORIALES<br />P<br />I<br />E<br />P<br />1<br />P<br />I<br />P<br />E<br />1<br />P<br />I<br />E<br />P<br />1<br />PROCESADOR ESCALAR<br />CONTROLADOR DE ACCESO VECTORIAL<br />REGISTROS VECTORIALES<br />P<br />I<br />E<br />P<br />1<br />P<br />I<br />P<br />E<br />1<br />P<br />I<br />E<br />P<br />1<br />PROCESADOR VECTORIAL<br /><ul><li>La 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-pipe</li></li></ul><li>Computadores vectoriales:<br />Arquitectura de «Cray-1»<br /><ul><li>Emplea una tecnología ECL de 0,7 ns y MOS de 70 ns.
  133. 133. Frecuencia de reloj de 12,5 nsy no puede trabajar de forma autónoma .
  134. 134. El Cray-1 es uno de los procesadores vectoriales más modernos.
  135. 135. La sección de memoria se organiza en 8 o 16 bancos con 72 módulos cada uno
  136. 136. 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 simples</li></li></ul><li>Computadores vectoriales:<br />Arquitectura de «Cray-1»<br />SECCION DE EJECUCIÓN<br />(REGISTROS, UNIDADES FUNCIONALES, BUFFERS DE INSTRUCCIONES)<br />SECCION DE MEMORIA<br />0,25 m/0,5m/1M<br />(PALABRAS BIPOLARES DE 64 BITS)<br />SECCION DE E/S<br />12 CANALES DE ENTRADA<br />12 CANALES DE SALIDA<br />SUBSISTEMA DE<br />ALMACENAMIENTO<br />MASIVO <br />HOST, ANFITRIÓN, SISTEMA DE E/S, PERIFÉRICOS<br />MCU<br />Diagrama General del conexionado del Cray-1 <br />a un computador principal o host<br />
  137. 137. Computadores vectoriales:<br />Arquitectura de «Cray-1»<br /><ul><li>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. 138. 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.
  139. 139. Procesador Cray-1
  140. 140. La unidad de Control de mantenimiento se encarga de la inicialización del sistema y la supervisión de su funcionamiento.</li></li></ul><li>Computadores vectoriales:<br />REGISTROS VECTORIALES<br />DESPLAZAMIENTO<br />Arquitectura de «Cray-1»<br />V?<br />LÓGICA<br />SUMA<br />V1<br />V0<br />00<br />Esquema general interno de la Unidad de Ejecución del computador «Cray-1»<br />UNIDADES<br />FUNCIONALES<br /> VECTORIALES<br />??<br />AP.RECIP<br />VN<br />PRODUCTO<br />SUMA<br />VL<br />REGISTROS ESCALARES<br />UNIDADES<br />FUNCIONALES<br />DE COMA <br />FLOTANTE<br />T00<br />S7<br />T77<br />S1<br />MEMORIA<br />S0<br />CONTEO<br />DESPLAZ.<br />REGISTROS DE DIRECCIONES<br />LÓGICA<br />B00<br />A7<br />SUMA<br />377<br />UNIDADES<br />FUNCIONALES<br />ESCALARES<br />A1<br />A0<br />P<br />PRODUCTO<br />3<br />2<br />SUMA<br />1<br />UNIDADES<br />FUNCIONALES<br />DE <br />DIRECCIONES<br />0<br />00<br />01<br />17<br />BUFFER<br />DE INSTRUCCIONES<br />NIP<br />CIP<br />EJECUCIÓN<br />LIP<br />
  141. 141. Computadores vectoriales:<br />Arquitectura de «Cray-1»<br />Sección de Ejecución <br /><ul><li>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 direcciones</li></ul>REGISTROS USADOS<br />S o V<br />UNIDADES FUNCIONALES VECTORIALES<br /><ul><li>Suma
  142. 142. Desplazamiento
  143. 143. Lógicas</li></ul>S o V<br />S o V<br />UNIDADES FUNCIONALES <br />DE COMA FLOTANTE<br />S y V<br /><ul><li>Suma
  144. 144. Producto
  145. 145. Aproximación Reciproca</li></ul>S y V<br />S y V<br />Calcula el reciproco<br />S<br /><ul><li>Suma Lógicas
  146. 146. Conteos
  147. 147. Desplazamientos
  148. 148. Conteos de unos y ceros</li></ul>UNIDADES ESCALARES<br />S<br />S<br />Cuenta número de unos o números de ceros tras un uno<br />S<br />UNIDADES DE DIRECCIONES<br /><ul><li>Suma
  149. 149. Producto</li></ul>A<br />A<br />UNIDADES FUNCIONALES DEL CRAY-1<br />
  150. 150. Computadores vectoriales:<br />Arquitectura de «Cray-1»<br />Sección de Ejecución <br /><ul><li>Las operaciones aritméticas pueden efectuarse con datos de 24 bits, mientras que las de coma flotante con datos de 64 bits.
  151. 151. Los registros escalares y de direcciones pueden acceder directamente a la memoria o a través de los 64 registros T y B.
  152. 152. 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.</li></li></ul><li>TEMA 2.5: <br />Computadores Array<br />
  153. 153. Computadores «array»<br /><ul><li>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:
  154. 154. Productos de matrices
  155. 155. Cálculo de la matriz inversa
  156. 156. Etc.
  157. 157. La arquitectura segmentada se basa en tablas celulares de unidades aritméticas.</li></li></ul><li>a32<br />a23<br />0<br />a33<br />0<br />0<br />a31<br />a22<br />a13<br />0<br />a21<br />a12<br />0<br />0<br />a11<br />t<br />t2<br />t1<br />Computadores «array»<br /><ul><li>Procesador Pipe Line Array</li></ul>0<br />0<br />0<br />Tiene 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.<br />P<br />b11 0 0<br />P<br />P<br />a<br />c<br />0<br />t8<br />b<br />b<br />P<br />P<br />t7<br />P<br />P<br />b21 b12 0<br />t6<br />a<br />d<br />0<br />P<br />b31 b22 b13<br />P<br />P<br />P<br />P<br />P<br />P<br />P<br />0 b32 b23<br />C31<br />P<br />C32<br />0 0 b33<br />P<br />P<br />P<br />C21<br />t8<br />C33<br />t7<br />C22<br />C23<br />t6<br />C11<br />C12<br />C13<br />
  158. 158. Computadores «array»<br /><ul><li>Procesador Pipe Line Array
  159. 159. 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.</li></ul>a11a12a13a21a22a23a31a32a33<br /> <br />a11a12a13a21a22a23a31a32a33<br /> <br />a11a12a13a21a22a23a31a32a33<br /> <br />.<br />A.B=<br /> <br />=<br /> <br />=C<br /> <br /><ul><li>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:</li></ul>3n2−4n+2 celdas P<br /> <br /><ul><li>Para completar el proceso:</li></ul>3n−1 periodos de reloj<br /> <br />
  160. 160. Arquitectura del computador AP-120B<br />AP-120B<br />CONTROL<br />(16 BITS)<br />INTERFAZ<br /><ul><li>Interconexión del computador AP-120B al principal o host.</li></ul>CPU<br />REGISTROS DEL <br />PANEL FRONTAL<br />TERMINAL<br />MEMORIA<br />DE<br />DATOS<br />FUNCIONES<br />IMPRESORA<br />CONMUTADORES<br />CONTROL<br />(16 BITS)<br />DISPLAY<br />CPU<br />FICHERO<br /> DE DISCO<br />MEMORIA<br />DIRECCION DE<br />MEMORIA DEL <br />HOST (ANFITRION)<br />DIRECCIÓN <br />HOST <br />MÁXIMO DE <br />16 BITS<br />DIRECCION DE<br />MEMORIA DEL <br />AP<br />DIRECCION MEMORIA AP<br />FICHERO<br /> DE CIINTA<br />CONTAJE <br />DE PALABRAS<br />CONTROL<br />FORMATO<br />DATOS<br />(36 BITS))<br />DATOS<br />(16 Ó 32 BITS))<br />REGISTROS DMA<br />
  161. 161. Arquitectura del computador AP-120B<br /><ul><li>Diagrama funcional del computador AP-120B</li></ul>MEMORIA <br />DE CONTROL <br />BUS DE BITS<br />UNIDADES ARITMÉTICAS<br />MEMORIA DE <br />PROGRAMA<br />PM<br />SUMADOR DE COMA<br />FLOTANTE<br />-DIRECCIONES OPERANDOS<br />-ALU<br />SPFN<br />UNIDADES <br />DE CONTROL<br />-REGISTRO DE <br />DIRECCIONES DE MEMORIA<br />MA,DMA,TPA<br />TM<br />MEMORIA DE TABLAS<br />M1<br />A1<br />DPX<br />REGISTROS X<br />FA<br />FM<br />SECCIÓN<br /> DE MEMORIA<br />A2<br />M2<br />REGISTROS Y<br />DPY<br />MEMORIA PRINCIPAL <br />DE DATOS<br />MD<br />MULTIPLICADOR DE COMA<br />FLOTANTE<br />MD<br />MDI<br />INTERFAZ CON HOST:<br />-FUNCIONES<br />-CONMUTADORES<br />-DISPLAY<br />SECCIÓN<br /> DE E/S<br />10P<br />16 /32<br />INBS<br />PIOP<br />INBS<br />
  162. 162. Arquitectura del computador AP-120B<br /><ul><li>En 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:</li></ul>Funciones de los registros<br /><ul><li>REGISTRO DE FUNCIONES: Comandos típicos tales como Start, Stop, etc.
  163. 163. REGISTRO DE CONMUTADORES: Enviar datos de control, parámetros o direcciones del principal al AP-120B
  164. 164. REGISTRO DISPLAY O PRESENTADORES: Permiten visualizar el contenido de los registros del procesador array
  165. 165. DIRECCION DE MEMORIA DEL PRINCIPAL
  166. 166. DIRECCION DE MEMORIA DEL AP-120B
  167. 167. RECUENTO DE PALABRAS</li></li></ul><li>Arquitectura del computador AP-120B<br />Funciones de los registros<br /><ul><li>REGISTRO DE CONTROL
  168. 168. REGISTRO DE FORMATO: Convierten el formato LP del computador principal al del AP-120B y viceversa.</li></ul>Memoria de Control<br /><ul><li>Memoria 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.</li></ul>Sección de memoria<br /><ul><li>Memoria 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.</li></li></ul><li>Arquitectura del computador AP-120B<br />Sección de memoria<br /><ul><li>Memoria de tablas(TM), Permite guardar constantes muy utilizadas. Puede ser de tipo RAM o ROM.
  169. 169. 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.</li></ul>Unidad de Control<br /><ul><li>Direcciones 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. 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. </li></li></ul><li>Arquitectura del computador AP-120B<br />Unidades Aritméticas<br /><ul><li>Sumador 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 </li></ul>FM, M, DPY,<br />DPX,CERO, A1<br /> A1<br />ALINEAMIENTO DE FRACCIONES Y DE SUMA<br />NORMALIZACIÓN Y REDONDEO<br />BUFFER<br /> A2<br />FM, M, DPY,<br />MD,CERO, A2<br />FA<br />M2, A2, DPX, DPY<br />
  171. 171. Arquitectura del computador AP-120B<br />Unidades Aritméticas<br /><ul><li>Multiplicador de coma flotante(FA), multiplica dos números de coma flotante M1 y M2.</li></ul>DPX,DPY,TM, FM<br /> P1<br />SUMA DE EXPONENTES<br />NORMALIZACION Y REDONDEO<br />INICIO DE <br />PRODUCTOS <br />DE FRACCIONES<br />TERMINO <br />DEL PRODUCTO DE FRACCIONES<br />BUFFER<br />2<br />BUFFER<br />2<br /> P2<br />FM<br />FA, DPX, DPY, MD<br />M1, A1, MD, DPX, DPY<br />
  172. 172. TEMA 2.6: <br />Arquitectura SIMD: Procesadores Matriciales y Asociativos<br />
  173. 173. Arquitecturas SIMD<br /><ul><li>Un 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.
  174. 174. Además de los computadores matriciales, estas arquitecturas también comprenden a los procesadores asociativos caracterizados por el empleo de memorias direccionables por contenido.</li></li></ul><li>Arquitecturas SIMD<br />Procesadores matriciales:<br /><ul><li>Es una matriz síncrona de procesadores paralelos formados por múltiples elementos de proceso, supervisados por una Unidad de Control.</li></ul>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. <br /><ul><li>Configuraciones básicas</li></ul>No 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.<br />
  175. 175. Arquitecturas SIMD<br />Procesadores matriciales:<br />Configuración 1<br />CONTROL<br />DATOS E<br /> INSTRUCCIONES<br />I/O<br />RED DE INTERCONEXIÓN<br />BUS DE DATOS<br />
  176. 176. Arquitecturas SIMD<br />Procesadores matriciales:<br />Configuración 2<br />DATOS E<br /> INSTRUCCIONES<br />RED DE INTERCONEXIÓN<br />I/O<br />BUS DE DATOS<br />
  177. 177. Arquitecturas SIMD<br />Procesadores matriciales:<br />Características<br />C=N,F,I,M;DONDE:<br /> <br /><ul><li>N:Número de PE
  178. 178. F:funciones de transmisión de datos por las redes de interconexión o alineamiento.
  179. 179. I: instrucción máquina
  180. 180. M:Máscara para habilitar y deshabilitar los PE.</li></li></ul><li>Arquitecturas SIMD<br />Arquitectura del MPP<br /><ul><li>Procesador de alta integración desarrollado por la NASA para procesar las imágenes enviadas por los satélites artificiales.
  181. 181. 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.</li></ul>MPP<br />(Masivelly Parallel Processor)<br /><ul><li>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. 182. 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 programas</li></li></ul><li>Arquitectura general del Sistema MPP<br />INTERFAZ DE<br />SALIDA DE <br />128 BITS<br />INTERFAZ DE<br /> ENTRADA DE <br />128 BITS<br />UNIDAD<br />MATRICIAL <br />(ARU)<br />CONMUTADORES<br />CONMUTADORES<br />CONTROL <br />ESTADO<br />CONMUTACIÓN<br />REGISTRO DE ENTRADA (PDMU ARU)<br />REGISTRO DE SALIDA<br />(PDMU ARU)<br />CONTROL <br />ESTADO<br />INTERFACE<br />PARA CONTROL<br />EXTERNO<br />UNIDAD DE CONTROL DE LA MATRIZ (ACU)<br />DATOS DE <br />PROGRAMAS<br />CONTROL <br />ESTADO<br />UNIDAD DE MANEJO DE PROGRAMAS Y DATOS PDMU<br />CINTA <br />MAGNETICA<br />TERMINAL<br />ALFANUMERICO<br />DISCO<br />IMPRESORA<br />ORDENADOR <br />EXTERNO<br />
  183. 183. Arquitecturas SIMD<br /><ul><li>El 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.
  184. 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.</li></ul>Características del MPP<br /><ul><li>La frecuencia de reloj para el funcionamiento de la matriz es de 10 MHz.</li></li></ul><li>Arquitecturas SIMD<br />Procesadores asociativos:<br /><ul><li>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.</li></li></ul><li>Arquitecturas SIMD<br />Procesadores asociativos:<br /><ul><li>Es un procesador asociativo bit-serie, por lo que su coste es reducido en comparación con los de estructura paralela.
  185. 185. 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.
  186. 186. Arquitectura del procesador STARAN
  187. 187. Cada elemento del proceso opera en serie, bit a bit, en los datos de todas las palabras de acceso multidimensional(MDAM)</li></li></ul><li>Arquitecturas SIMD<br />Procesadores asociativos:<br />Arquitectura del procesador STARAN<br />Módulo asociativo de la matriz del computador STARAN<br />SALIDA<br />ENTRADA<br />MEMORIA DE ACCESO MULTIDIMENSIONAL<br />RED DE PERMUTACIÓN<br />SELECTOR<br />ALU<br />(256 ELEMENTOS DE PROCESO)<br />SEÑALES<br />
  188. 188. Arquitecturas SIMD<br />Procesadores asociativos:<br /><ul><li>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.
  189. 189. Arquitectura del procesador STARAN
  190. 190. 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.</li></li></ul><li>Arquitecturas SIMD<br />Procesadores asociativos:<br />Arquitectura del procesador STARAN<br />Diferenciación entre las operaciones paralelas en el STARAN<br />CONTROL<br />BITS<br />BIT SLICE<br />PIQ<br />WORDS<br />WORD SLICE<br />256 PALABRAS * 256 BITS<br />
  191. 191. Arquitecturas SIMD<br />Procesadores asociativos:<br />Arquitectura del procesador STARAN<br />Arquitectura General por Bloques<br />MODULO ASOCIATIVO DE MATRIZ<br />PIO<br />PI0<br />EQUIPO DE USUARIO TIPICO<br />SEÑALES DE CONTROL<br />PIO<br />MODULO ASOCIATIVO DE MATRIZ<br />PIO<br />EP<br />UNIDAD DE INTERFAZ<br />EP<br />LOGICA DE FUNCIONES EXTERNAS<br />ORDENADORES<br />PERIFERICOS<br />PANTALLAS<br />SENSORES<br />LOGICA DE CONTROL SECUENCIAL<br />LOGICA DE PAGINADOS DE PROGRAMAS<br />LOGICA DE CONTROL ASOCIATIVO<br />DISCO<br />BIO<br />BIO<br />DMA<br />LOGICA DE PUERTAS DE MEMORIA<br />DMA<br />MEMORIA DECONTROL DEL PROCESADOR ASOCIATIVO<br />
  192. 192. Arquitecturas SIMD<br />Procesadores asociativos:<br />Arquitectura del procesador STARAN<br />Arquitectura General por Bloques<br /><ul><li>La 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. 193. ACCESO DIRECTO A MEMORIA
  194. 194. CANALES DE E/S(BIO)
  195. 195. CANALES DE FUNCIONAMIENTO EXTERNO(EXF)
  196. 196. CANALES DEFUNCIONAMIENTO PARALELO(PIO)
  197. 197. Cada módulo asociativo e la matriz puede contener hasta 256 entradas y 256 salidas en la unidad de interfaz</li></li></ul><li>TEMA 2.7: <br />Multiprocesadores o <br />Computadores MIMD<br />
  198. 198. Multiprocesadores o Computadores MIMD<br /><ul><li>Un 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. 199. 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.</li></li></ul><li>Multiprocesadores o Computadores MIMD<br />Esquema General de la Arquitectura MIMD<br />COORDINADOR CENTRAL<br />RED <br />DE CONEXIÓN<br />MODULO 1<br />PROCESADOR 1<br />MODULO 2<br />PROCESADOR 2<br />MODULO M<br />PROCESADOR N<br />MEMORIA PRINCIPAL<br />
  200. 200. MULTIPROCESADORES ACTUALES<br /><ul><li>En 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)
  201. 201. 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. </li></li></ul><li>NOTICIAS DE PROCESADORES INTEL<br />Procesadores con 8 Y 12 núcleos en 2010 (AMD)<br />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. <br />Procesadores con 32 núcleos (Intel)<br />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.<br />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. <br />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. <br />
  202. 202. LO QUE SE VIENE<br />
  203. 203. Multiprocesadores o Computadores MIMD<br />SISTEMAS DÉBILMENTE ACOPLADOS<br />Cada 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)<br />Clasificación de las arquitecturas de los multiprocesadores<br />SISTEMAS FUERTEMENTE ACOPLADOS<br />Se 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<br />
  204. 204. Multiprocesadores o Computadores MIMD<br />ESTRUCTURA DE UN SISTEMA DÉBILMENTE ACOPLADO<br />E/S<br />Módulo 1<br />MEMORIA<br /> LOCAL<br />CANAL <br />Y ARBITRO<br />SISTEMA DE TRANSFERENCIA DE MENSAJES<br />PROCESADOR<br />CANAL <br />Y ARBITRO<br />Módulo N<br />
  205. 205. Multiprocesadores o Computadores MIMD<br />ESTRUCTURA DE UN SISTEMA FUERTEMENTE ACOPLADO<br />DISCO<br />DISCO<br />RED DE <br />INTERCONEXIÓN<br /> DE E/S<br />MEMORIA LOCAL <br />NO MAPEADA<br />MÓDULOS DE <br />MEMORIA <br />COMPARTIDA<br />MEMORIA LOCAL <br />MAPEADA<br />PROCESADOR<br />1<br />1<br />RED DE <br />INTERCONEXIÓN<br />RED DE INTERCONEXIÓN<br /> DE LAS SEÑALES<br /> DE INTERRUPCIÓN<br />p<br />MEMORIA LOCAL <br />NO MAPEADA<br />N<br />PROCESADOR<br />MEMORIA LOCAL <br />MAPEADA<br />
  206. 206. Multiprocesadores o Computadores MIMD<br />SISTEMA OPERATIVO MAESTRO-ESCLAVO<br /><ul><li>Las rutinas del supervisor se ejecutan desde un único y exclusivo procesador «maestro»</li></ul>SISTEMA OPERATIVO CON SUPERVISORES SEPARADOS EN CADA PROCESADOR<br />Sistemas operativos Clásicos<br /><ul><li>Duplicación de ciertas rutinas del supervisor en cada procesador.</li></ul>SISTEMA OPERATIVO DE PUNTO FLOTANTE<br /><ul><li>Permite ejecutar varias rutinas del supervisor a la vez. Cuando hay un fallo en el procesador no afecta demasiado al sistema.</li></li></ul><li>Sistemas Operativos para Multiprocesadores<br />
  207. 207. Multiprocesadores o Computadores MIMD<br />Red de interconexión Común<br /><ul><li>Topología más simple y económica. Presenta un bus común compartido por todos los elementos del sistema</li></ul>Red de interconexión «crossbar switch»<br />Estructuras<br /><ul><li>Control de las comunicaciones que recae en una unidad especial de conmutación que dirige el flujo de información de los buses.</li></ul>Red de interconexión con memoria multipuerta<br /><ul><li>Distribuye las funciones de control, comunicación entre las unidades controladoras de los módulos de memoria.</li></li></ul><li>Multiprocesadores o Computadores MIMD<br />Red de interconexión Común<br />BUS COMUN<br />MODULO<br />MEMORIA <br />PROCESADOR<br />MODULO<br />MEMORIA <br />PROCESADOR<br />UNIDAD <br />DE E/S<br />UNIDAD <br />DE E/S<br />
  208. 208. Multiprocesadores o Computadores MIMD<br />Red de interconexión «crossbar switch»<br />MODULO<br />MEMORIA <br />MODULO<br />MEMORIA <br />PROCESADOR 1<br />UNIDAD <br />DE E/S<br />PROCESADOR N<br />UNIDAD <br />DE E/S<br />
  209. 209. Multiprocesadores o Computadores MIMD<br />Red de interconexión «multipuerta»<br />PROCESADOR 1<br />PROCESADOR 2<br />MODULO<br />MEMORIA <br />1<br />MODULO<br />MEMORIA <br />1<br />MODULO<br />MEMORIA <br />1<br />MODULO<br />MEMORIA <br />1<br />UNIDAD <br />DE E/S<br />UNIDAD <br />DE E/S<br />
  210. 210. Multiprocesadores o Computadores MIMD<br />Multiprocesador «S-1»<br /><ul><li>Procesador de propósito general de alta velocidad.
  211. 211. Construido con uniprocesadores S-1 Mark IIA
  212. 212. Incluye 16 uniprocesadores Mark IIA independientes
  213. 213. Comparten 16 bancos de memoria
  214. 214. Cada banco puede contener hasta 230 bytes (16 GB)
  215. 215. Entre procesador y memoria la transferencia de palabra es de 50 ns frecuencia de 320 Mpalabras/s.
  216. 216. Cada procesador tiene una memoria cache privada.
  217. 217. Consta de 5 unidades:
  218. 218. Unidad de captura de instrucciones guardadas en la memoria cache.
  219. 219. Unidad de decodificación de la instrucción capturada, por medio de la RAM de decodificación.
  220. 220. Unidad de preparación de los datos a ejecutarse y provenientes de otra memoria cache.
  221. 221. Unidad aritmética de tipo pipe-line.
  222. 222. Unidad de interfaz con la memoria de S-1.</li></li></ul><li>MEMORIA<br />MEMORIA<br />PROCESADOR DE <br />DIAGNÓSTICO<br />PROCESADOR DE <br />DIAGNÓSTICO<br />CONTROLADOR<br />15<br />CONTROLADOR 0<br />CONMUTADOR<br />ENTRECRUZADO<br />PROCESADOR DE <br />DIAGNÓSTICO<br />UNIPROCESADOR 0<br />UNIPROCESADOR 15<br />CACHE DE <br />DATOS<br />CACHE DE <br />INSTRUCCIONES<br />CACHE DE <br />DATOS<br />CACHE DE <br />INSTRUCCIONES<br />M<br />M<br />F<br />F<br />P<br />P<br />Z<br />Z<br />PROCESADOR DE <br />DIAGNÓSTICO<br />PROCESADOR DE <br />DIAGNÓSTICO<br />A<br />A<br />PUERTA 0<br />E/S<br />PUERTA 0<br />E/S<br />PUERTA 7<br />E/S<br />PUERTA 7<br />E/S<br />UNIDADES DE ALMACENAMIENTO MASIVO<br />UNIDADES DE ALMACENAMIENTO MASIVO<br />E/S <br />EN TIEMPO REAL<br />E/S <br />EN TIEMPO REAL<br />PROCESADOR<br /> 7 <br />E/S<br />PROCESADOR 7 <br />E/S<br />PROCESADOR 0 <br />E/S<br />PROCESADOR 0 <br />E/S<br />EQUIPO PERIFERICO<br />EQUIPO PERIFERICO<br />
  223. 223. UNIPROCESADOR MARK IIA<br />a/de<br />LÓGICA DE <br />DIAGNÓSTICO<br />INTERNA<br />a/de<br />MEMORIA DE <br />COMPUTADOR <br />ENTRECRUZADO<br />PROCESADOR DE <br />DIAGNÓSTICO<br />UNIDAD DE <br />INTERFAZ CON <br />MEMORIA<br />(SECUENCIADOR M) <br />PROCESADOR 0<br />E/S<br />PROCESADOR 7<br />E/S<br />MEMORIA <br />DE CONTROL<br />REGISTROS<br />DE USUARIOS<br />CACHE <br />DE DATOS<br />CACHE DE <br />INSTRUCCIONES<br />RAM DE <br />DECODIFICACIÓN<br />MEMORIA 7 <br />E/S DATOS<br />MEMORIA 0 <br />E/S DATOS<br />UNIDAD DE <br />CAPTURA<br />(INSTRUCCIONES<br />SECUENCIADOR F)<br />UNIDAD DE <br />DECODIFICACIÓN<br />DE INSTRUCCIÓN<br />(SECUENCIADOR P) <br />UNIDAD DE <br />PREPARACIÓN DE <br />DATOS<br />(SECUENCIADOR I) <br />UNIDAD ARITMÉTICA<br />PIPELINE<br />(MÓDULO A) <br />MEMORIA <br />DE CONTROL<br />MEMORIA <br />DE CONTROL<br />MEMORIA <br />DE CONTROL<br />MEMORIA <br />DE CONTROL<br />
  224. 224. Procesadores Sistólicos<br /><ul><li>Fue desarrollado por Kung en la Universidad de Carnegie-Mellon (Pensilvania EE.UU.).
  225. 225. Consiste en un conjunto de celdas interconectadas, cada una de las cuales es capaz de ejecutar una instrucción simple.</li></ul>PE<br />MEMORIA<br />PROCESADOR CONVENCIONAL <br /><ul><li>Las celdas se interconectan en forma de matriz o de árbol.
  226. 226. La información fluye entre celdas en una estructura segmentada y la comunicación con el exterior solo es posible en las celdas fronterizas.</li></ul>MEMORIA<br />PE<br />PE<br />PE<br />PE<br />PE<br />PE<br />MATRIZ DE PROCESADOR SISTÓLICO<br />
  227. 227. Procesadores Sistólicos<br /><ul><li>La memoria impulsa los datos al elemento de proceso (PE), de forma semejante al corazón, los datos se procesan rítmicamente.</li></ul>a) Matriz Lineal de una dimensión<br /><ul><li>Las matrices sistólicas VLSI pueden asumir muchas estructuras diferentes, según los algoritmos de computo.</li></ul>b) Matriz cuadrada de dos dimensiones<br />c) Matriz hexagonal de dos dimensiones<br />d) Árbol binario<br />e) Matriz triangular<br />
  228. 228. TEMA 2.8: <br />Computadores inteligentes <br />de la Quinta Generación<br />
  229. 229. Computadores inteligentes de la Quinta Generación<br /><ul><li>Entre los computadores de la quinta generación se encuentran lo llamados inteligentes, diseñados para procesar conocimientos en vez de datos.
  230. 230. 1981: Japón anuncia la puesta en marcha de un proyecto destinado a desarrollar los computadores de la quinta generación. El proyecto se dividía en tres etapas. En la primera etapa se ha desarrollado el equipo físico básico y el sistema lógico fundamental, además se han construido modelo pilotos para soportar el desarrollo del sistema lógico
  231. 231. Con esta orientación se han construido los procesadores PSI., las cuales trabajan a una velocidad de 30KLIPS.</li></li></ul><li>Computadores inteligentes de la Quinta Generación<br /><ul><li>Los computadores que se fabrican hasta el momento están basados en la arquitectura de Von Neumann, favoreciendo la filosofía de funcionamiento de los lenguajes máquina que disponen. Del mismo modo las estructura de los lenguajes de alto nivel están influenciados por el lenguaje máquina.
  232. 232. Los computadores inteligentes pretenden desviarse del procesamiento secuencial cambiándolo por un modo de trabajo en paralelo. Deberán también soportar una búsqueda asociativa porque la operación básica de ellos es la inferencia lógica.</li></li></ul><li>Computadores inteligentes de la Quinta Generación<br /><ul><li>El lenguaje máquina de los computadores es el lenguaje kernel, basado en la lógica de predicados. Aunque este lenguaje es del tipo máquina, es un lenguaje de muy alto nivel y facilita el desarrollo de funciones de ayuda para el usuario, intentando un acercamiento a los lenguajes naturales.</li></li></ul><li>Computadores inteligentes de la Quinta Generación<br />Requerimientos<br /><ul><li>Como estas máquinas están enfocadas en procesar conocimientos, se llaman: Sistemas de Proceso de la Información del Conocimiento. Son capaces de realizar inferencias lógicas a partir de hechos contenidos en una base de conocimientos y están facultados a soportar las siguientes funciones:
  233. 233. Resolución de problemas mediante inferencias
  234. 234. Gestión de la base de Conocimientos
  235. 235. Interfaz hombre máquina que utilice el lenguaje natural, gráficos, etc.
  236. 236. Mayor inteligencia de la máquina para obtener programas eficientes son lenguajes próximos al usuario.</li></li></ul><li>Computadores inteligentes de la Quinta Generación<br />Estructura de los computadores de Quinta Generación<br />
  237. 237. Computadores inteligentes de la Quinta Generación<br />Estructura de los computadores de Quinta Generación<br />SISTEMA <br />DE INTERFAZ<br />EXTERNO<br />LENGUAJE DE <br />PROGRAMACIÓN<br />DEL CONOCIMIENTO<br />LENGUAJE<br />NATURAL<br />MODULO <br />DE INTERFAZ <br />INTELIGENTE<br />SISTEMA <br />DE<br />SOFTWARE<br />SISTEMA DE <br />PROGRAMACIÓN<br />INTELIGENTE<br />MODULO <br />DE INFERENCIAS<br />MODULO <br />DE GESTION <br />DE LA B.D<br />MAQUINA DE INFERENCIA<br />MAQUINA <br />DEL INTERFAZ<br />INTELIGENTE<br />SISTEMA <br />DE HARDWARE<br />MAQUINA DE LA BASE DE<br />CONOCIMIENTOS<br />MECANISMO DE <br />INFERENCIA EN PARALELO<br />MECANISMO DE TIPOS <br />ABSTRACTOS DE DATOS<br />MECANISMO DE <br />FLUJO DE DATOS<br />MECANISMO DE LA BASE DE <br />DATOS RELACIONAL<br />RED<br />DE ORDENADORES<br />TECNOLOGÍA VLSI<br />
  238. 238. Computadores inteligentes de la Quinta Generación<br />MAQUINAS DE FLUJOS DE DATOS<br /><ul><li>Se basan en un nuevo concepto de ejecución de instrucciones radicalmente diferente al de Von Neumann. Las instrucciones son activadas por la disponibilidad de los datos que lo requieran, no habiendo un flujo de controlador ni contador de programa. La red de conexión distribuye la carga de trabajo entre cada uno de los procesadores.
  239. 239. Tienen una organización de conducción de datos que se caracteriza por un estado de muestreo pasivo. Las instrucciones son verificadas para ver si los operandos están disponibles. Si es así , se ejecutan cuando la unidad este libre. De esta manera se alcanza el grado de paralelismo(varias instrucciones pueden ser ejecutadas simultánea y síncronamente).</li></li></ul><li>Computadores inteligentes de la Quinta Generación<br />MAQUINAS DE FLUJOS DE DATOS<br /><ul><li>Programa de flujo de datos que resuelve la ecuación:ax2+bx+c=0</li></ul> <br />1<br />1<br />x1<br />-<br />-<br />-<br />2<br />2<br />a<br />x<br />1<br />x2<br />b<br />/<br />/<br />2x<br />-<br />x<br />√<br /> <br />2<br />4x<br />c<br />
  240. 240. Computadores inteligentes de la Quinta Generación<br />MAQUINAS DE FLUJOS DE DATOS<br />Máquinas de Flujos de Datos estáticas<br />MEMORIA DE <br />INSTRUCCIONES<br /><ul><li>Los datos se desplazan a lo largo de los arcos del grafo hacia los operadores. </li></ul>UNIDAD DE <br />BÚSQUEDA<br />DIRECCIONAMIENTO (INSTRUCCIONES)<br />UNIDAD DE <br />ACTUALIZACIÓN<br />COLA <br />INSTRUCCIONES<br />HABILITADAS<br />PROCESAMIENTO<br />(n UNIDADES)<br /><ul><li>Solo esta permitida la existencia de un dato en cualquier arco en cada instante. Existe un controlador que transfiere los datos de un nodo a otro. Un nodo se activa cuando están listos los datos de entrada y no hay alguno en la salida. La información circula en forma de paquetes.</li></li></ul><li>Computadores inteligentes de la Quinta Generación<br />MAQUINAS DE FLUJOS DE DATOS<br />Máquinas de Flujos de Datos Dinámicas<br />UNIDAD DE <br />MARCADO<br /><ul><li>Se marcan los datos, los cuales pueden aparecer simultáneamente en cualquier punto del grafo. Se precisa de circuitería adicional para marcar los datos, pero se prescinde de las unidades de control de flujo.</li></ul>PROCESAMIENTO<br />(n UNIDADES)<br />UNIDAD DE <br />ACTUALIZACIÓN<br />Y BÚSQUEDA<br />COLA<br />DE INSTRUCCIONES<br />HABILITADAS<br />MEMORIA<br />
  241. 241. Computadoras Actuales<br /><ul><li>Esta súper computadora ubicada en Barcelona quizás no sea la más rápida del mundo pero si es una de las más bellas. Su nombre es MareNostrum y ocupa el respetable lugar 40 dentro de la lista de las 500 súper computadoras más poderosas del mundo (por ejemplo México ocupa el lugar 225 representado por la súper computadora de la Universidad Autónoma Metropolitana).</li></li></ul><li>Computadoras Actuales<br /><ul><li>Una de las cosas que la hace tan especial es su locación, esta alojada en el centro de una antigua capilla de la ciudad de Barcelona, en España. Imagine la escena surrealista de entrar a una decorada capilla y toparse con un gigantesco cubo de cristal que en su interior alberga grandes pilares negros. La razón de la estructura de cristal es la de controlar la temperatura y la humedad dentro del cuarto y permitir así el adecuado funcionamiento de los más de 10,000 procesadores IBM (PPC dual core de 2.3 GHz).</li></li></ul><li>IBM Roadrunner: La supercomputadora <br />más rápida del mundo<br /><ul><li>Tras invertir US$133 millones, IBM ha creado un monstruo: El RoadRunner. Basado en su arquitectura Blue Gene/L, el correcaminos tiene 12.960 procesadores IBM Cell y unos 7.000 AMD Opteron logrando una velocidad teórica de 1,02 Petaflops.
  242. 242. Para dar una idea de la velocidad de esta supercomputadora, expertos de IBM señalaron que si cada uno de los 6.000 millones de habitantes del planeta usaran una computadora personal y trabajaran 24 horas por día, se tardarían 46 años en lograr lo que la Roadrunner hace en un solo día.</li></li></ul><li>IBM Roadrunner: La supercomputadora <br />más rápida del mundo<br />En primera instancia, la supercomputadora se usará para estudios militares, pero no se descarta su aplicación en tareas civiles, como ingeniería, medicina y ciencia, incluyendo el desarrollo de biocombustibles y el diseño de vehículos ecológicos.<br />El sistema de interconexión ocupa 557 metros cuadrados de espacio y cuenta con 91,7 kilómetros de fibra óptica pesando 226.800 kilos. Se encuentra en el laboratorio de investigaciones de IBM en Poughkeepsie, Nueva York, y será trasladada en Julio al Laboratorio Nacional Los Alamos (LANL), en Nuevo México.<br />
  243. 243. La Cray XT Jaguar, la supercomputadora más rápida del mundo<br /><ul><li>Cray, la clásica empresa sinónimo de supercomputadora acaba de recuperar su reinado al crear la supercomputadora mas potente del mundo, la Cray XT Jaguar, una bestia que procesa información al ritmo de hasta 1.64 PetaFLOPS, gracias a sus 45,000 procesadores AMD Opteron de 4 núcleos cada uno, 362TB de memoria, y 10 PetaBytes (10 PB, o 10,240 TeraBytes) de almacenamiento en disco. Noten que 1.64 PetaFLOPS significa 1,640,000,000,000,000 de operaciones flotantes por segundo. Noten además que aunque 1.64 PetaFLOPS es el rendimiento pico, que la XT Jaguar puede ejecutar cálculos de manera sostenida a 1.3 PetaFLOPS.
  244. 244. Esto hace a la XT Jaguar hata un poco mas de 50% mas rápido que la anterior sostenedora del récord, la IBM Roadrunner con 1,026 PetaFLOPS.
  245. 245. La Cray XT Jaguar fue diseñada para el Departamento de Energía de los EEUU</li></li></ul><li>IBM Roadrunner: La supercomputadora <br />más rápida del mundo<br />Similar a la analogía que hice la vez que la Roadrunner se develó al mundo, y para que tengan una idea del poder de esta máquina, si tomáramos a todos y cada uno de los mas de 6,000 millones de humanos en el planeta a calcular con una calculadora de bolsillo, las 24 horas al día, todos los días del año, les tomaría a todas estas personas 69 años hacer lo que la Cray XT Jaguar hace en un solo día.Algo interesante para los que les guste la historia de la informática es que esta empresa (Cray) durante mucho tiempo (en particular los 1980s) fue el líder indiscutible en el mundo de las supercomputadoras.<br />
  246. 246. TEMA 3: <br />Lenguaje Assembler<br />
  247. 247. Introducción<br />Lenguaje de Programación: <br /><ul><li>Traductor o interprete de las ordenes e instrucciones que se asignan a una computadora. Le permite al usuario crear programas que serán entendidos por la PC(directa o indirectamente) con el objetivo de que realice una tarea.
  248. 248. Bajo nivel.
  249. 249. Nivel intermedio.
  250. 250. Alto nivel.</li></ul>Clasificación<br />
  251. 251. Lenguaje de Bajo Nivel:<br /><ul><li>Se llama de bajo nivel porque están muy cercanos al hardware de la PC. Es necesario conocer a fondo la arquitectura de máquina para la que se va a programar.
  252. 252. Son dependientes de la maquina, es decir, no se pueden migrar o utilizar en otras maquinas.
  253. 253. Al estar totalmente diseñados a medida del hardware, aprovechan al máximo las características del mismo.
  254. 254. Lenguaje Máquina, Ensamblador.</li></li></ul><li>Lenguaje de Nivel Intermedio:<br /><ul><li>Suelen ser clasificados muchas veces de alto nivel, pero permiten ciertos manejos de bajo nivel.
  255. 255. Son precisos para ciertas aplicaciones como la creación de sistemas operativos.
  256. 256. Dentro de estos lenguajes podríamos incluir a C ya que puede acceder a los registros del sistema, trabajar con direcciones de memoria.</li></li></ul><li>Lenguaje de Alto Nivel:<br /><ul><li>Son mas fáciles de leer, escribir y mantener.
  257. 257. Los programas escritos deben ser traducidos en un lenguaje maquina especifico empleando un compilador o un intérprete. De esta manera pueden ser ejecutados por una maquina especifica.
  258. 258. Basic, Cobol, Fortran, Prolog, etc.</li></li></ul><li>TRADUCTOR <br /><ul><li>Programa que convierte un programa de usuario escrito en algún lenguaje (fuente), a otro lenguaje (binario ejecutable).</li></ul>TRADUCCION:<br />Ensamblador, Intérprete Compilador<br />CODIGO MAQUINA<br />CODIGO FUENTE<br />
  259. 259. LENGUAJE MAQUINA<br /><ul><li>El primer lenguaje de programación y utilizado fue el lenguaje máquina.
  260. 260. El lenguaje máquina utiliza el alfabeto binario.</li></ul>0000001 0101 01A1<br />1000 1001 1010 899A<br />
  261. 261. LENGUAJE ENSAMBLADOR<br /><ul><li>Es una forma de expresar el lenguaje máquina con términos similares a los del idioma inglés, denominados mnemónicos o códigos de operación (ADD,SUB, MUL, DIV).
  262. 262. Un lenguaje ensamblador puro es un lenguaje en el que cada enunciado produce exactamente una instrucción máquina.</li></ul>Inicio: ADD B,1<br /> MOV A,E<br /> CMP A,B <br /> JE FIN<br /> JMP INICIO<br />Fin END<br />
  263. 263. LENGUAJE ENSAMBLADOR<br /><ul><li>El programador en ensamblador tiene acceso a todas las características e instrucciones disponibles en la máquina objetivo.</li></li></ul><li>LENGUAJE ENSAMBLADOR<br /><ul><li>Un programa en lenguaje ensamblador sólo puede ejecutarse en una familia de máquinas.</li></li></ul><li>Historia<br /><ul><li>Los lenguajes de computadoras toman diferentes formas; los de las primeras computadoras, como la ENIAC y la EDSAC, se componían en el lenguaje real de las máquinas mismas.
  264. 264. Los primeros lenguajes de programación se conocieron como Lenguajes Ensambladores, un ejemplo es: TRANSCODE, desarrollado para la computadora FERUT.</li></li></ul><li>¿Por qué utilizar Lenguaje Ensamblador?<br /><ul><li>Porque el estudio del lenguaje ensamblador pone al descubierto la maquina real. Es decir, escribir algo de código de ensamblador es la única forma de ver realmente cómo son las maquinas en el nivel de arquitectura.
  265. 265. Para entender cómo funcionan los compiladores, el compilador debe producir salidas que un ensamblador pueda usar, o bien realizar el proceso de ensamblado él mismo .</li></li></ul><li>¿Por qué utilizar Lenguaje Ensamblador?<br /><ul><li>Porque es la única alternativa debido a la escasez de memoria.
  266. 266. POR EJEMPLO:</li></ul>Las tarjetas inteligentes tienen que efectuar complejos cálculos criptográficos con recursos limitados de memoria, procesadores incorporados en aparatos domésticos, PDAs y otros dispositivos electrónicos inalámbricos de baterías suelen tener memorias pequeñas a fin de ahorrar energía. <br />
  267. 267. ¿Por qué utilizar Lenguaje Ensamblador?<br /><ul><li>Porque es de utilidad para la construcción de subrutinas (pequeños programas contenidos dentro de otro programa mayor) que puedan ser invocadas desde un lenguaje escrito en un lenguaje de alto nivel.</li></li></ul><li>¿Por qué utilizar Lenguaje Ensamblador?<br /><ul><li>Porque resulta útil para el control de máquinas, como por ejemplo en los procesos industriales. Otra área donde se emplea el lenguaje ensamblador es en la programación de juegos.</li></li></ul><li>Ventajas del lenguaje Ensamblador<br /><ul><li>Máximo rendimiento: máxima velocidad y mínimo tamaño
  268. 268. Puede explotar al máximo el CPU
  269. 269. Acceso a cualquier recurso de la computadora
  270. 270. Ayuda a conocer a detalle cómo trabaja la computadora</li></li></ul><li>Formato de un enunciado<br /> en Lenguaje Ensamblador<br />Presentan cuatro partes: <br /><ul><li>Campo Etiqueta
  271. 271. Campo Operación (código de operación)
  272. 272. Campo Operando
  273. 273. Campo de comentarios </li></li></ul><li>Formato de un enunciado<br /> en Lenguaje Ensamblador<br />Calculo de N=I+J. Pentium II, Motorola 680x0<br />
  274. 274. CAMPO ETIQUETA<br /><ul><li>Sirven para asignar nombres simbólicos a direcciones de memoria, se necesitan en enunciados ejecutables para poder saltar a esos enunciados. También se necesitan en las palabras de datos para poder accesar con un nombre simbólico a los datos ahí almacenados. Si un enunciado esta etiquetado, la etiqueta (generalmente) inicia en la columna 1.</li></li></ul><li>CAMPO OPERACION<br /><ul><li>Contiene una abreviatura simbólica del código de operación o un comando para el ensamblador.
  275. 275. La selección de un nombre es cuestión de cada diseñador.</li></ul>Carga un registro con el contenido de la memoria como para almacenar el contenido de un registro en la memoria.<br /><ul><li>Diseñador Intel: MOV
  276. 276. Diseñador Motorola: MOVE</li></li></ul><li>CAMPO COMENTARIOS<br />Ofrece a los programadores un lugar para incluir explicaciones de cómo funciona el programa, para beneficio de otros programadores que podrían usar o modificar posteriormente el programa.<br />
  277. 277. CAMPO OPERACIONES<br /><ul><li>Los códigos de las instrucciones de máquina tienen una variedad de tipos y operandos; sin embargo, en general cada instrucción en si misma tiene un número fijo de operandos (0 a 3). Los operandos pueden tener los siguientes tipos:
  278. 278. Registro: se refieren directamente al contenido de los registros de la CPU.
  279. 279. Memoria: se refieren a los datos en la memoria.
  280. 280. Inmediato: Estos son valores fijos que están listados en la instrucción en sí misma.
  281. 281. Implicado: Estos operandos no son mostrados explícitamente. Por ejemplo, la instrucción de incremento añade uno a un registro o a memoria. El uno está implícito.</li></li></ul><li>Formato de un enunciado en lenguaje ensamblador<br />
  282. 282. OPERACIONES BASICAS<br /><ul><li>La instrucción esencial es MOV . Ella traslada datos de un lugar a otro (como el operador de asignación en un lenguaje de alto nivel). Toma dos operandos:</li></ul>movdest, src<br /><ul><li>El dato especificado por src es copiado a dest. Una restricción es que los dos operandos no pueden ser operandos de memoria.</li></ul>moveax, 3 ; almacena 3 en el registro EAX<br />
  283. 283. OPERACIONES BASICAS<br /><ul><li>Las instruccionesINC y DECincrementan o disminuyen valores en uno. Ya que el uno es un operando implícito, el código de máquina para INC y el DECes más pequeño que los de las instruccionesADD y SUB.</li></ul>incecx ; ecx++<br />dec dl ; dl--<br />
  284. 284. DIRECTIVAS<br /><ul><li>Una directiva es un artificio del ensamblador no de la CPU. Ellas se usan generalmente para decirle al ensamblador que haga alguna cosa o informarle al ensamblador de algo. Ellas no se traducen en código de máquina. Los usos comunes de las directivas son:
  285. 285. Definir constantes
  286. 286. Definir memoria para almacenar datos en ella
  287. 287. Definir la memoria para almacenar datos en ella
  288. 288. Agrupar la memoria en segmentos
  289. 289. Incluir código fuente condicionalmente
  290. 290. Incluir otros archivos</li></li></ul><li>DIRECTIVAS<br />Directiva equ<br /><ul><li>Se puede usar para definir un símbolo. Los símbolos son constantes con nombre que se pueden emplear en el programa ensamblador. El formato es:</li></ul>sımboloequ valor<br /><ul><li> Los valores de los símbolos no se pueden redefinir posteriormente.</li></li></ul><li>DIRECTIVAS<br />Directiva %define<br /><ul><li>Esta directiva es parecida a la #define de C. Se usa normalmente para definir macros tal como en C.</li></ul>%define SIZE 100<br />moveax, SIZE<br /><ul><li>El código de arriba define un macro llamado size y muestra su uso en una instrucción MOV. Los macros son más flexibles que los símbolos de dos maneras. Los macros se pueden redefinir y pueden ser más que simples constantes numéricas.</li></li></ul><li>DIRECTIVAS<br />Directiva de datos<br /><ul><li>Las directivas de datos son usadas en segmentos de datos para definir espacios de memoria. Hay dos formas en que la memoria puede ser reservada. La primera es solo definir el espacio para los datos; la segunda manera define el espacio y el valor inicial. </li></li></ul><li>Ventajas del Lenguaje Ensamblador<br /><ul><li>Máximo rendimiento: máxima velocidad y mínimo tamaño
  291. 291. Puede explotar al máximo el CPU
  292. 292. Acceso a cualquier recurso de la computadora
  293. 293. Ayuda a conocer a detalle cómo trabaja la computadora</li></li></ul><li>Desventajas del Lenguaje Ensamblador<br /><ul><li>El programa sólo corre en un CPU
  294. 294. Es difícil llegar a ser programador experto
  295. 295. Es difícil escribir programas grandes y complejos
  296. 296. Es difícil depurar y dar mantenimiento a los programas
  297. 297. Un error puede provocar que falle el equipo</li></li></ul><li>Conclusiones<br /><ul><li>Para el Lenguaje Ensamblador su funcionamiento radica en la importancia de su uso y su profundo estudio, ya que ayuda a conocer a detalle cómo trabaja un CPU, definitivamente las aplicaciones que se le dan es tanto en la Electrónica y Sistemas.
  298. 298. Como sabemos el lenguaje ensamblador es el que va traduciendo instrucciones de código de maquina a mnemónicos, es decir interpreta los nombres de lo mnemónicos a direcciones de memoria y otras entidades.
  299. 299. Las instrucciones MOVS, LODS, STOS son bastante útiles cuando se maneja una gran cantidad de datos gracias a que éstas manipulan los índices automáticamente, así como también por la versatilidad del prefijo REP.</li></li></ul><li>Conclusiones<br /><ul><li>El incremento o disminución de los punteros DI y SI en la transferencia de cadenas dependerá de la posición en memoria donde se encuentre la información, según el programador lo haya especificado.
  300. 300. El modo segmentado de memoria permite a los programas poder moverse reubicarse en la misma, debido a que no se manejan posiciones completamente directa en memoria sino referentes al valor de segmento.</li></li></ul><li>Instalación Borland Turbo Assembler<br />Descargamos Borland Turbo Assembler 5.0 del sitio web:<br />http://vetusware.com/download/TASM%205.0/?id=65<br />Damos clic derecho sobre el Tasm_5.rar, y luego seleccionamos la opcion “Extraer en Tasm_5”<br />
  301. 301. Instalación Borland Turbo Assembler<br />Abrir esta carpeta y clicar sobre “Instal”, el para iniciar la instalación:<br />
  302. 302. Instalación Borland Turbo Assembler<br />Presionar Enterpara continuar. Aparecerá la siguiente ventana de configuración:<br />
  303. 303. Instalación Borland Turbo Assembler<br />En esta ventana debemos cambiar el lugar donde se instalaran nuestros archivos, en este caso escogimos el disco C. Luego de esto presionamos “Enter” para continuar con la instalación<br />
  304. 304. Instalación Borland Turbo Assembler<br />En esta ventana nos pide la dirección de los archivos que descomprimimos previamente, solamente damos “Enter” dejando la que aparece por default.<br />
  305. 305. Instalación Borland Turbo Assembler<br />Luego aparecerá un recuadro dando el estado de la instalación. Esperar unos minutos para terminar la instalación.<br />
  306. 306. Instalación Borland Turbo Assembler<br />Por último, y no por eso menos importante aparecerá el ReadMe de Assembler, se recomienda ver el contenido ya que contiene ayuda sobre el programa.<br />
  307. 307. Compilación de un ejemplo en Borland Turbo Assembler 5.0<br /><ul><li>El código que compilaremos es un programa que utiliza a CX utilizado como Contador de 9 a 0, el código es el siguiente:</li></ul>.modelsmall<br />.stack<br />.data<br />TEXTO db 10,'CX utilizado como Contador',13,10,'$'<br />contador dw 58,13,10,'$'<br />.code<br />inicio:<br />movax, @data<br />movds,ax<br />mov dx, offset TEXTO ; Encabezado<br />mov ah, 09h<br />int 21h<br />mov cx,10 ; inicializo<br />for:<br />mov dx, offset contador ; Desplegar en pantalla<br />mov ah, 09h ; el valor<br />int 21h<br />mov ah, 08h ; Entrada del teclado<br />int 21h ; Interrupcion<br />deccx ; Disminuyo CX<br />dec [contador] ; resto al ascii<br />orcx,cx ; seguir mientras<br />jnzfor ; no sea cero<br />mov ah, 09h ; escribo el cero<br />int 21h<br />salida:<br />movax, 4c00h ;Salida del ejecutable<br />int 21h<br />end inicio<br />
  308. 308. Compilación de un ejemplo en Borland Turbo Assembler 5.0<br /><ul><li>Ese código lo guardaremos en el siguiente directorio: C:TASMBIN con la extensión ASM Luego abrimos una consola de DOS de Windows: Inicio > Ejecutar > cmd Y escribimos lo siguiente:
  309. 309. Cd c:tasmbin Tasm Ejemplo Tlink Ejemplo
  310. 310. Así como se muestra en la siguiente pantalla:
  311. 311. Para ejecutar lo que hemos compilado debe escribir:</li></ul>Ejemplo.exe<br />
  312. 312. TEMA 3: <br />Computadoras Actuales<br />
  313. 313. COMPUTADORAS ACTUALES<br />
  314. 314. COMPUTADORAS ACTUALES<br /><ul><li>Las computadoras vienen en muchos tamaños y con capacidades variables. Los términos que describen los diferentes tipos de computadoras se cuñaron desde hace algún tiempo, aunque las capacidades de cada tipo han cambiado con rapidez. Éstos son los términos:</li></ul>• Supercomputadora.<br /> • Mainframe.<br /> • Minicomputadora.<br /> • Microcomputadora.<br /> Todos estos tipos de computadoras pueden conectarse para formar redes de computadoras, pero cada computadora individual, esté en red o no, cae en una de estas cuatro categorías.<br />
  315. 315. SUPERCOMPUTADORA<br /><ul><li>Las supercomputadoras son las computadoras más potentes que hay. Están construidas para procesar cantidades enormes de datos. Por ejemplo, los científicos elaboran modelos de procesos complejos y simulan estos procesos en una supercomputadora. Uno de estos procesos es la fisión nuclear.</li></li></ul><li>COMPUTADORAS MAINFRAME<br /><ul><li>El tipo más grande de computadora en uso común es la mainframe. Las computadoras mainframe se usan donde muchas personas en una gran organización necesitan tener acceso frecuente a la misma información, que por lo general es organizada en una o más bases de datos enormes.</li></li></ul><li>MINICOMPUTADORAS<br /><ul><li>Por su capacidad, una minicomputadora se encuentra entre las mainframes y las computadoras personales. Como las mainframes, las minicomputadoras pueden manejar mucho más entradas y salidas que las computadoras personales. Las minicomputadoras cuestan entre 18,00 y 500,000 dólares, y son ideales para muchas organizaciones y compañías que no pueden costear o no necesitan un sistema mainframe</li></li></ul><li>MICROCOMPUTADORAS<br />Los términos microcomputadora y computadora personal son indistintos, pero PC, que significa “computadora personal” (personal computer), en ocasiones tiene un significado más específico. En 1981, IBM llamó a su primera microcomputadora IBM PC. En unos cuantos años, muchas compañías habían copiado el diseño de IBM, creando “clones” o “compatibles” que aspiraban a funcionar igual que la original<br />
  316. 316. Modelos de escritorio<br /><ul><li>El estilo de computadora personal introducido al principio fue el modelo de escritorio. La mayor parte de las computadoras de escritorio en realidad son lo bastante pequeñas como para caber en un escritorio pero demasiado grandes para que el usuario pueda llevarlas consigo.</li></li></ul><li>Computadoras Notebook<br /><ul><li>Las computadoras notebook (“agenda”), como su nombre indica, se aproximan a la forma de una agenda de 21.5 por 28 centímetros y pueden caber con facilidad dentro de un portafolios. También llamadas laptops, pueden operar conectadas a la corriente o con baterías especiales.</li></li></ul><li>Asistente personal digital PDA<br /><ul><li>son las más pequeñas de las computadoras portátiles. Las PDA, también llamadas palmtops (“que caben en la palma de la mano”), son mucho menos potentes que los modelos notebook o los de escritorio. Por lo general se usan para aplicaciones especiales, como crear hojas de cálculo pequeñas, mostrar números telefónicos y direcciones importantes y dar seguimiento a fechas o agendas. </li></li></ul><li>Computadora de bolsillo<br /><ul><li>Una computadora de bolsillo es como una PDA, pero por lo general incluye un diminuto teclado incorporado. La mayoría de los usuarios encuentra que debe usar un lápiz o una pluma para teclear en el teclado de la computadora de bolsillo</li></li></ul><li>Smartphone<br /><ul><li>Un Smartphone (teléfono inteligente en español) es un dispositivo electrónico que funciona como un teléfono móvil con características similares a las de un ordenador personal. soportan completamente un cliente de correo electrónico con la funcionalidad completa de un organizador personal. permiten la instalación de programas para incrementar el procesamiento de datos y la conectividad. Tiene teclado QWERTY en miniatura, una pantalla táctil, o simplemente el acceso a internet y al correo electrónico de una compañía, pagando o personal, gratuito.</li></li></ul><li>Estaciones de trabajo<br />En el otro extremo del espectro, en comparación con la potencia de la PC, están las máquinas llamadas estaciones de trabajo. Por lo general, usan estas potentes máquinas científicos, ingenieros, artistas gráficos, animadores y programadores, es decir, usuarios que necesitan una gran cantidad de poder para procesar números<br />
  317. 317. Que esperar en el futuro<br />
  318. 318. Que esperar en el futuro<br />
  319. 319. Que esperar en el futuro<br />
  320. 320. Que esperar en el futuro<br />
  321. 321. MDDKJ GROUP<br />ACUÑA TENORIO, Mario<br />CASTILLON POMA, Darwin<br />LANDEO RIVERA Daniel LAURA HUAROC, Kenil<br />OSORES RAMOS, Jimmy<br />HAVE PRESENTED:<br />ARQUITECTURA DE COMPUTADORAS<br />FINAL EXPOSITION<br />STARTING TO BELIEVE EVERYTHING IS POSSIBLE<br />MARTES 20 DE JULIO DEL 2010<br />
  322. 322. We come totheend.<br />Totheend of ComputersArchitecture<br />GRACIAS<br />Specialthankstothepersonswhohelptomaketheseslides<br />
  323. 323. Aboutus<br />
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×