27
Universidad Católica Andrés Bello Facultad de Ingeniería Escuela: Ingeniería Informática Alumno: Wolfgang Dielingen C.I. 20.130.881 Trabajo final – Arquitectura del computador BUSES Y DISPOSITIVOS DE E/S ¿Cómo escoger el bus adecuado para su sistema de medida? Cuando usted puede escoger entre cientos de diferentes dispositivos de adquisición de datos (DAQ) en una amplia variedad de buses, puede ser difícil seleccionar el bus adecuado para sus necesidades de aplicación. Cada bus tiene distintas ventajas y es optimizado para rendimiento, latencia, portabilidad o distancia desde un servidor. Esta nota técnica examina las opciones de bus de la PC más común y describe las consideraciones técnicas que se deben tener en mente al escoger el bus adecuado para su aplicación de medida. ¿Cuántos datos voy a estar escribiendo a través de este bus? Todos los buses de la PC tienen un límite de la cantidad de datos que pueden ser transferidos en un cierto periodo de tiempo. Esto se conoce como el ancho de banda del bus y generalmente es especificado en megabytes por segundo (MB/s). Si las medidas de forma de onda dinámica son importantes en su aplicación, asegúrese de considerar un bus con suficiente ancho de banda. ¿Cuáles son mis requerimientos de E/S de un solo punto? Las aplicaciones que requieren lecturas y escrituras de un solo punto, generalmente dependen de que los valores de E/S sean actualizados inmediatamente y consistentemente. De acuerdo en cómo son implementadas las arquitecturas del bus en hardware y software, los requerimientos de E/S de un solo punto pueden ser el factor determinante para el bus que escoja. ¿Tengo que sincronizar múltiples dispositivos? Varios sistemas de medidas tienen necesidades complejas de sincronización si están sincronizando cientos de canales de entrada o múltiples tipos de instrumentos. Un sistema de estímulo- respuesta, por ejemplo, puede requerir que los canales de salida compartan los mismos relojes de muestreo y disparos en estrella que los canales de entrada para correlacionar la E/S y analizar mejor los resultados. Los dispositivos DAQ en diferentes buses ofrecen diferentes maneras de lograr esto. La manera más simple para sincronizar medidas en múltiples dispositivos es compartir un reloj y un disparo. Varios dispositivos DAQ ofrecen líneas digitales programables para importar y exportar los relojes y los disparos. Algunos dispositivos ofrecen líneas de disparo especializadas con conectores BNC. Estas líneas de disparo externas son comunes en los dispositivos USB y Ethernet, cuando el hardware DAQ es ubicado dentro de la cubierta de la PC. Sin embargo, ciertos buses tienen líneas integradas de temporización y disparo adicionales para hacer la sincronización de múltiples dispositivos lo más fácil posible. Las tarjetas PCI y PCI Express ofrecen el bus de

Trabajo Final - Arquitectura Del Computador - Wolfgang Dielingen

Embed Size (px)

Citation preview

Page 1: Trabajo Final - Arquitectura Del Computador - Wolfgang Dielingen

Universidad Católica Andrés Bello

Facultad de Ingeniería

Escuela: Ingeniería Informática

Alumno: Wolfgang Dielingen C.I. 20.130.881

Trabajo final – Arquitectura del computador

BUSES Y DISPOSITIVOS DE E/S

¿Cómo escoger el bus adecuado para su sistema de medida? Cuando usted puede escoger entre cientos de diferentes dispositivos de adquisición de datos (DAQ) en una amplia variedad de buses, puede ser difícil seleccionar el bus adecuado para sus necesidades de aplicación. Cada bus tiene distintas ventajas y es optimizado para rendimiento, latencia, portabilidad o distancia desde un servidor. Esta nota técnica examina las opciones de bus de la PC más común y describe las consideraciones técnicas que se deben tener en mente al escoger el bus adecuado para su aplicación de medida. ¿Cuántos datos voy a estar escribiendo a través de este bus? Todos los buses de la PC tienen un límite de la cantidad de datos que pueden ser transferidos en un cierto periodo de tiempo. Esto se conoce como el ancho de banda del bus y generalmente es especificado en megabytes por segundo (MB/s). Si las medidas de forma de onda dinámica son importantes en su aplicación, asegúrese de considerar un bus con suficiente ancho de banda. ¿Cuáles son mis requerimientos de E/S de un solo punto? Las aplicaciones que requieren lecturas y escrituras de un solo punto, generalmente dependen de que los valores de E/S sean actualizados inmediatamente y consistentemente. De acuerdo en cómo son implementadas las arquitecturas del bus en hardware y software, los requerimientos de E/S de un solo punto pueden ser el factor determinante para el bus que escoja. ¿Tengo que sincronizar múltiples dispositivos? Varios sistemas de medidas tienen necesidades complejas de sincronización si están sincronizando cientos de canales de entrada o múltiples tipos de instrumentos. Un sistema de estímulo-respuesta, por ejemplo, puede requerir que los canales de salida compartan los mismos relojes de muestreo y disparos en estrella que los canales de entrada para correlacionar la E/S y analizar mejor los resultados. Los dispositivos DAQ en diferentes buses ofrecen diferentes maneras de lograr esto. La manera más simple para sincronizar medidas en múltiples dispositivos es compartir un reloj y un disparo. Varios dispositivos DAQ ofrecen líneas digitales programables para importar y exportar los relojes y los disparos. Algunos dispositivos ofrecen líneas de disparo especializadas con conectores BNC. Estas líneas de disparo externas son comunes en los dispositivos USB y Ethernet, cuando el hardware DAQ es ubicado dentro de la cubierta de la PC. Sin embargo, ciertos buses tienen líneas integradas de temporización y disparo adicionales para hacer la sincronización de múltiples dispositivos lo más fácil posible. Las tarjetas PCI y PCI Express ofrecen el bus de

Page 2: Trabajo Final - Arquitectura Del Computador - Wolfgang Dielingen

Integración de Sistema en Tiempo Real (RTSI), en el cual varias tarjetas en un sistema de PC de escritorio pueden ser cableadas directamente dentro de la caja. Esto elimina la necesidad de cableado adicional a través del conector frontal y simplifica la conectividad de E/S. ¿Qué tan portátil debe ser este sistema? La dramática adopción del cómputo portátil es innegable y ha ofrecido nuevas maneras de innovar con adquisición de datos basada en PC. La portabilidad es un factor importante para varias aplicaciones y podría ser la razón principal para escoger un bus u otro. Las aplicaciones DAQ portátiles, por ejemplo, se benefician del hardware que es compacto y transportable. Los buses externos como USB y Ethernet son particularmente buenos para sistemas DAQ portátiles por la rápida instalación del hardware y la compatibilidad con PC’s portátiles. Los dispositivos USB energizados por Bus ofrecen comodidades adicionales ya que no requieren de una fuente de alimentación separada y son apagados por el puerto USB. Usar buses de transferencia de datos inalámbrica es otra buena opción de portabilidad ya que el hardware de medida se vuelve portátil mientras que la PC se mantiene fija. ¿Qué tan alejadas estarán mis medidas de mi PC? La distancia entre las medidas que usted necesita y dónde es ubicada la PC puede variar fuertemente de una aplicación a otra. Para lograr la mejor integridad de la señal y precisión de la medida, debe colocar su hardware DAQ lo más cerca posible de la fuente de señal. Esto puede representar un reto para medidas distribuidas como aquellas usadas para monitoreo de estado estructural y monitoreo del medio ambiente. Llevar cables largos a lo largo de una fuente o planta de producción es costoso y puede dar como resultado señales con interferencias. Una solución a este problema es usar una plataforma de cómputo portátil para mover todo el sistema más cerca de la fuente de señal. Con tecnología inalámbrica, se elimina la conexión física entre la PC y el hardware de medidas y usted puede realizar medidas distribuidas y enviar los datos de regreso a una ubicación central.

Administración de dispositivos y BIOS El administrador de dispositivos reúne a todos los componentes hardware del sistema, muestra cómo están configurados, qué controladores tienen y qué recursos están ocupando. También es una herramienta para instalar, quitar y configurar hardware. El BIOS es un chip ROM el cual contempla todas las instrucciones POST (Power On Self-Test), durante el proceso de arranque, analiza el correcto funcionamiento del hardware del sistema e inicializa los dispositivos básicos para que el arranque pueda realizarse. Las rutinas del POST envían información a la pantalla sobre los dispositivos detectados y chequeados.

Dispositivos externos Una de las funciones básicas del ordenador es comunicarse con los dispositivos exteriores, es decir, el ordenador debe ser capaz de enviar y recibir datos desde este dispositivo. Sin esta función, el ordenador no sería operativo porque sus cálculos no serían visibles desde el exterior.

Page 3: Trabajo Final - Arquitectura Del Computador - Wolfgang Dielingen

Dispositivos de Entrada También llamados periféricos de entrada, son todos los componentes que permiten recibir o entrar la información desde el exterior al sistema, a través de impulsos electrónicos. Dispositivos de Salida Son todos aquellos componentes que sirven para recoger y mostrar al exterior los resultados de los procesos que se realicen en el computador. Estos son medios de comunicación entre el computador y el usuario. Dispositivos de Procesamiento Los dispositivos de procesamiento son aquellos que ayudan a que funciones correctamente nuestro computador, ya que sin estos dispositivos, no se podrían realizar tareas asignadas por un usuario, entre otras actividades. Dispositivos de Almacenamiento Estos dispositivos permiten almacenar información en medios magnéticos en forma permanente. Estos se consideran como dispositivos de entrada y salida, ya que en ellos se puede leer y escribir información.

Módulos de E/S Los módulos de entrada y salida junto con la memoria interna y el procesador, conforman la estructura básica del computador. A través de los dispositivos de entrada y salida o dispositivos periféricos el computador interactúa con su entorno exterior. Pero un conjunto de periféricos están conectados al computador por medio de un módulo que se encarga de establecer la comunicación entre el dispositivo externo y el procesador (la memoria u otro periférico). Esta comunicación es posible establecerla porque el modulo además de la circuitería que lo conforma, está dotado de una lógica que permite comunicación del bus con el periférico.

E/S Programada Cuando el procesador ejecuta una instrucción que implique una operación de E/S, hay una orden y una dirección del módulo de E/S y del dispositivo externo. Existen cuatro tipos de órdenes de E/S: - Control: para activar el periférico e indicarle que hacer. - Test: para comprobar condiciones de estado del módulo de E/S y sus periféricos. - Lectura: hace que el módulo de E/S capte un dato del periférico y lo almacene en un registro

interno de datos. - Escritura: hace que el módulo de E/S capte un dato del bus de datos y luego lo transmita al

periférico.

E/S mediante Interrupciones La técnica de E/S mediante interrupciones, es una alternativa para compensar la degradación en las prestaciones del sistema que se presenta en la E/S programada, en la que el procesador tiene que esperar un tiempo considerable a que el módulo de E/S esté preparado para recibir o transmitir la información y además debe comprobar repetidamente el estado del módulo de E/S.

Page 4: Trabajo Final - Arquitectura Del Computador - Wolfgang Dielingen

En la E/S mediante interrupciones, cuando el procesador envía una señal de E/S a un módulo, puede seguir realizando su trabajo y el módulo interrumpirá al procesador cuando esté preparado para intercambiar datos con él. Luego el procesador realiza la transferencia y continúa con la tarea previa.

Acceso Directo a Memoria (DMA) La desventaja de las operaciones de E/S mediante interrupciones y E/S programada, es que el procesador tiene una activa participación en la transferencia de datos entre la memoria y los módulos de E/S, sobre todo en grandes volúmenes de datos. El acceso directo a memoria (DMA) es una técnica más eficiente para este caso. El DMA requiere un módulo a adicional en el bus del sistema, que imita al procesador cuando reciben el control del sistema. El módulo DMA, puede obtener el control, cuando el procesador no lo necesita o cuando lo obliga a suspender su funcionamiento (robo de ciclo).

Canales y Procesadores de E/S Dentro de la evolución de los módulos de E/S, encontramos los módulos que se comportan como procesadores en sí, con un repertorio de instrucciones especializado orientado a las operaciones de E/S, es decir, el procesador, especifica una secuencia de actividades de E/S y es interrumpida cuando se completa la secuencia entera. A este módulo se le llama Canal de E/S. Si el módulo además de las características anteriores, está dotado con una memoria local propia, se le llama procesador de E/S. Un canal y un procesador de E/S, representa una ampliación del concepto DMA, con lo que cumple en gran medida el objetivo de las técnicas de E/S, que el aislar en cierto modo al procesador de las operaciones de E/S, y aprovechar todo el potencial del CPU.

USB El Universal Serial Bus (USB) (bus universal en serie BUS) es un estándar industrial desarrollado en los años 1990 que define los cables, conectores y protocolos usados en un bus para conectar, comunicar y proveer de alimentación eléctrica entre ordenadores y periféricos y dispositivos electrónicos. La iniciativa del desarrollo partió de Intel que creó el USB Implementers Forum junto con IBM, Northern Telecom, Compaq, Microsoft, Digital Equipment Corporation y NEC. Actualmente agrupa a más de 685 compañías. USB fue diseñado para estandarizar la conexión de periféricos, como mouse, teclados, joysticks, escáneres, cámaras digitales, teléfonos móviles, reproductores multimedia, impresoras, dispositivos multifuncionales, sistemas de adquisición de datos, módems, tarjetas de red, tarjetas de sonido, tarjetas sintonizadoras de televisión y grabadora de DVD externa, discos duros externos y disquetera externas. Su éxito ha sido total, habiendo desplazado a conectores como el puerto serie, puerto paralelo, puerto de juegos, Apple Desktop Bus o PS/2 a mercados-nicho o a la consideración de dispositivos obsoletos a eliminar de los modernos ordenadores, pues muchos de ellos pueden sustituirse por dispositivos USB que implementen esos conectores.

Page 5: Trabajo Final - Arquitectura Del Computador - Wolfgang Dielingen

SCSI SCSI, acrónimo inglés de Small Computers System Interface (Interfaz de Sistema para Pequeñas Computadoras), es una interfaz estándar para la transferencia de datos entre distintos dispositivos del bus de la computadora. Tras dedicar un día entero a discutir el nombre, se llegó al acuerdo de que fuera "Small Computer System Interface,". Sin embargo Dal Allan de ENDL pronunció el nuevo acrónimo como "scuzzy", y se ha perpetuado 1 (Algunos profesionales lo castellanizan como "escasi" o "escosi"). La parte "small" de SCSI es histórica; desde mediados de los 90, SCSI ha estado disponible incluso en los mayores sistemas informáticos. Desde su normalización en 1986, SCSI ha sido de uso común en el Commodore Amiga y las líneas de servidores y ordenadores personales Apple Macintosh y Sun Microsystems. Apple comenzó a usar IDE para sus máquinas de gama baja con el Macintosh Quadra 630 en 1994, y lo incluyó en los de gama alta con el Power Macintosh G3 en 1997. Apple abandonó la inclusión de SCSI por completo (en favor de IDE y FireWire) con el G3 azul y blanco en 1999. Sun ha pasado su gama baja a Serial ATA (SATA). SCSI nunca ha sido popular en la gama baja de compatibles IBM PC, debido al menor precio y buen rendimiento de los discos ATA. Los discos duros SCSI e incluso los sistemas RAID SCSI son comunes en las estaciones de trabajo PC dedicadas a la producción de video y/o audio, pero la aparición de discos SATA de gran capacidad y bajo coste lo están desplazando de ese nicho de mercado. Actualmente SCSI es popular en estaciones de trabajo de alto rendimiento y servidores. Los sistemas RAID en servidores casi siempre usan discos duros SCSI, aunque varios fabricantes ofrecen sistemas RAID basados en SATA como una opción de menor coste. Los ordenadores de sobremesa y notebooks utilizan habitualmente ATA/IDE y ahora SATA para los discos duros, y conexiones USB, e-SATA y FireWire para dispositivos externos.

FireWire IEEE 1394 (conocido como FireWire por Apple Inc. y como i.Link por Sony) es un estándar de interfaz de conexión para diversas plataformas, destinado a la entrada y salida de datos en serie a gran velocidad. Suele utilizarse para la interconexión de dispositivos digitales como cámaras digitales y videocámaras a computadoras. Existen cuatro versiones de 4, 6, 9 y 12 pines. En la actualidad, su escasa popularidad entre los fabricantes, ha causado que los dispositivos periféricos como los ya mencionados e impresoras, entre otros, sean provistos de puertos USB, en sus versiones 2.0 y 3.0, en el caso de los más recientes.

PCI Un Peripheral Component Interconnect (PCI, "Interconexión de Componentes Periféricos") es un bus de ordenador estándar para conectar dispositivos periféricos directamente a su placa base. Estos dispositivos pueden ser circuitos integrados ajustados en ésta o tarjetas de expansión que se ajustan en conectores. Es común en PC, donde ha desplazado al ISA como bus estándar, pero también se emplea en otro tipo de ordenadores. En diferencia de los buses ISA, el bus PCI permite configuración dinámica de un dispositivo periférico. En el tiempo de arranque del sistema, las tarjetas PCI y el BIOS interactúan y negocian

Page 6: Trabajo Final - Arquitectura Del Computador - Wolfgang Dielingen

los recursos solicitados por la tarjeta PCI. Esto permite asignación de IRQs y direcciones del puerto por medio de un proceso dinámico diferente del bus ISA, donde las IRQs tienen que ser configuradas manualmente usando jumpers externos. Las últimas revisiones de ISA y el bus MCA de IBM ya incorporaron tecnologías que automatizaban todo el proceso de configuración de las tarjetas, pero el bus PCI demostró una mayor eficacia en tecnología "plug and play". Aparte de esto, el bus PCI proporciona una descripción detallada de todos los dispositivos PCI conectados a través del espacio de configuración PCI.

PCI-Express PCI Express (anteriormente conocido por las siglas 3GIO, en el caso de las "Entradas/Salidas de Tercera Generación", en inglés: 3rd Generation IN/OUT) es un nuevo desarrollo del bus PCI que usa los conceptos de programación y los estándares de comunicación existentes, pero se basa en un sistema de comunicación serie mucho más rápido. Este sistema es apoyado principalmente por Intel, que empezó a desarrollar el estándar con nombre de proyecto Arapahoe después de retirarse del sistema Infiniband. PCI Express es abreviado como PCI-E o PCIe, aunque erróneamente se le suele abreviar como PCI-X o PCIx. Sin embargo, PCI Express no tiene nada que ver con PCI-X OG que es una evolución de PCI, en la que se consigue aumentar el ancho de banda mediante el incremento de la frecuencia, llegando a ser 32 veces más rápido que el PCI 2.1. Su velocidad es mayor que PCI-Express, pero presenta el inconveniente de que al instalar más de un dispositivo la frecuencia base se reduce y pierde velocidad de transmisión.

SATA y e-SATA Serial ATA o SATA (acrónimo de Serial Advanced Technology Attachment) es una interfaz de transferencia de datos entre la placa base y algunos dispositivos de almacenamiento, como puede ser el disco duro, lectores y grabadores de CD/DVD/BR, SSD u otros dispositivos de altas prestaciones que están siendo todavía desarrollados. Serial ATA sustituye a la tradicional Parallel ATA o P-ATA. SATA proporciona mayores velocidades, mejor aprovechamiento cuando hay varias unidades, mayor longitud del cable de transmisión de datos y capacidad para conectar unidades al instante, es decir, insertar el dispositivo sin tener que apagar el ordenador o que sufra un cortocircuito como con los viejos Molex. Actualmente es una interfaz aceptada y estandarizada en las placas base de PC. La Organización Internacional Serial ATA (SATA-IO) es el grupo responsable de desarrollar, de manejar y de conducir la adopción de especificaciones estandarizadas de Serial ATA. Los usuarios de la interfaz SATA se benefician de mejores velocidades, dispositivos de almacenamientos actualizables de manera más simple y configuración más sencilla. El objetivo de SATA-IO es conducir a la industria a la adopción de SATA definiendo, desarrollando y exponiendo las especificaciones estándar para la interfaz SATA. e-SATA (acrónimo de external-SATA), es estandarizado en 2004, proporciona una variante SATA específica para conexiones externas. Se utiliza un conector más robusto y un cable con mayor blindaje internamente, respetándose las normas eléctricas impuestas por el estándar. El protocolo

Page 7: Trabajo Final - Arquitectura Del Computador - Wolfgang Dielingen

y la señalización lógica (enlace, capa de transporte, etc.) son idénticos al estándar utilizado en SATA.

RAID En informática, el acrónimo RAID (del inglés Redundant Array of Independent Disks), traducido como “conjunto redundante de discos independientes”, hace referencia a un sistema de almacenamiento que usan múltiples discos duros o SSD entre los que se distribuyen o replican los datos. Dependiendo de su configuración (a la que suele llamarse “nivel”), los beneficios de un RAID respecto a un único disco son uno o varios de los siguientes: mayor integridad, mayor tolerancia a fallos, mayor throughput (rendimiento) y mayor capacidad. En sus implementaciones originales, su ventaja clave era la habilidad de combinar varios dispositivos de bajo coste y tecnología más antigua en un conjunto que ofrecía mayor capacidad, fiabilidad, velocidad o una combinación de éstas que un solo dispositivo de última generación y coste más alto. En el nivel más simple, un RAID combina varios discos duros en una sola unidad lógica. Así, en lugar de ver varios discos duros diferentes, el sistema operativo ve uno solo. Los RAIDs suelen usarse en servidores y normalmente (aunque no es necesario) se implementan con unidades de disco de la misma capacidad. Debido al decremento en el precio de los discos duros y la mayor disponibilidad de las opciones RAID incluidas en los chipsets de las placas base, los RAIDs se encuentran también como opción en las computadoras personales más avanzadas. Esto es especialmente frecuente en las computadoras dedicadas a tareas intensivas y que requiera asegurar la integridad de los datos en caso de fallo del sistema. Esta característica no está obviamente disponible en los sistemas RAID por software, que suelen presentar por tanto el problema de reconstruir el conjunto de discos cuando el sistema es reiniciado tras un fallo para asegurar la integridad de los datos. Por el contrario, los sistemas basados en software son mucho más flexibles (permitiendo, por ejemplo, construir RAID de particiones en lugar de discos completos y agrupar en un mismo RAID discos conectados en varias controladoras) y los basados en hardware añaden un punto de fallo más al sistema (la controladora RAID).

InfiniBand Al igual que Fibre Channel, PCI Express y otros modos de interconexión modernos, Infiniband usa un bus serie bidireccional de tal manera que evita los problemas típicos asociados a buses paralelos en largas distancias (en este contexto, una habitación o edificio). A pesar de ser una conexión serie, es muy rápido, ofreciendo una velocidad bruta de unos 2,5 Gigabits por segundo (Gbps) en cada dirección por enlace. Infiniband también soporta doble e incluso cuádruples tasas de transferencia de datos, llegando a ofrecer 5 Gbps y 10 Gbps respectivamente. Se usa una codificación 8B/10B, con lo que, de cada 10 bits enviados solamente 8 son de datos, de tal manera que la tasa de transmisión útil es 4/5 de la media. Teniendo esto en cuenta, los anchos de banda ofrecidos por los modos simple, doble y cuádruple son de 2, 4 y 8 Gbps respectivamente. Los enlaces pueden añadirse en grupos de 4 o 12, llamados 4X o 12X. Un enlace 12X a cuádruple ritmo tiene un caudal bruto de 120 Gbps, y 96 Gbps de caudal eficaz. Actualmente, la mayoría de los sistemas usan una configuración 4X con ritmo simple, aunque los primeros productos soportando doble ritmo ya están penetrando en el mercado. Los sistemas más grandes, con

Page 8: Trabajo Final - Arquitectura Del Computador - Wolfgang Dielingen

enlaces 12X se usan típicamente en lugares con gran exigencia de ancho de banda, como clústeres de computadores, interconexión en superordenadores y para interconexión de redes. La latencia teórica de estos sistemas es de unos 160ns. Las reales están en torno a los 6 µs, dependiendo bastante del software y el firmware. Infiniband usa una topología conmutada de forma que varios dispositivos pueden compartir la red al mismo tiempo (en oposición a la topología en bus). Los datos se transmiten en paquetes de hasta 4 kB que se agrupan para formar mensajes. Un mensaje puede ser una operación de acceso directo a memoria de lectura o escritura sobre un nodo remoto (RDMA), un envío o recepción por el canal, una operación de transacción reversible o una transmisión multicast. Al igual que en el modelo de canal usado en la mayoría de los mainframes, todas las transmisiones empiezan o terminan con un adaptador de canal. Cada procesador contiene un host channel adapter (HCA) y cada periférico un target channel adapter (TCA). Estos adaptadores también pueden intercambiar información relativa a la seguridad o a la calidad de servicio del enlace.

Chipset Un chipset (traducido como circuito integrado auxiliar) es el conjunto de circuitos integrados diseñados con base a la arquitectura de un procesador (en algunos casos, diseñados como parte integral de esa arquitectura), permitiendo que ese tipo de procesadores funcionen en una placa base. Sirven de puente de comunicación con el resto de componentes de la placa, como son la memoria, las tarjetas de expansión, los puertos USB, ratón, teclado, etc.

Northbridge El Northbridge (traducido como: "puente norte" en español) era el circuito integrado más importante del conjunto de chips (Chipset) que constituía el corazón de la placa base. Recibía el nombre por situarse en la parte superior de las placas base con formato ATX y por tanto no es un término utilizado antes de la aparición de este formato para computadoras de escritorio. También es conocido como MCH (concentrador controlador de memoria) en sistemas Intel y GMCH si incluye el controlador del sistema gráfico. Es el chip que controla las funciones de acceso desde y hasta microprocesador, AGP o PCI-Express, memoria RAM, vídeo integrado (dependiendo de la placa) y Southbridge. Su función principal es la de controlar el funcionamiento del bus del procesador, la memoria y el puerto AGP o PCI-Express. De esa forma, sirve de conexión (de ahí su denominación de "puente") entre la placa madre y los principales componentes de la PC: microprocesador, memoria RAM y tarjeta de vídeo AGP o PCI Express. Generalmente, las grandes innovaciones tecnológicas, como el soporte de memoria DDR o nuevos FSB, se implementan en este chip. Es decir, el soporte que tenga una placa madre para determinado tipo de microprocesadores, memorias RAM o placas AGP estará limitado por las capacidades del Northbridge de que disponga.

Southbridge El puente sur (en inglés southbridge) es un circuito integrado que se encarga de coordinar los diferentes dispositivos de entrada y salida y algunas otras funcionalidades de baja velocidad

Page 9: Trabajo Final - Arquitectura Del Computador - Wolfgang Dielingen

dentro de la placa base. El puente sur no está conectado a la unidad central de procesamiento, sino que se comunica con ella indirectamente a través del puente norte.

Puerto de red Un puerto de red es una interfaz para comunicarse con un programa a través de una red. En el modelo OSI quien se preocupa de la administración de los puertos y los establece en el encabezado de los segmentos es la capa de transporte o capa 4, administrando así el envío y re-ensamblaje de cada segmento enviado a la red haciendo uso del puerto especificado. Un puerto suele estar numerado para de esta forma poder identificar la aplicación que lo usa. La implementación del protocolo en el destino utilizará ese número para decidir a qué programa entregará los datos recibidos. Esta asignación de puertos permite a una máquina establecer simultáneamente diversas conexiones con máquinas distintas, ya que todos los paquetes que se reciben tienen la misma dirección, pero van dirigidos a puertos diferentes.

Wi-Fi Es un mecanismo de conexión de dispositivos electrónicos de forma inalámbrica. Los dispositivos habilitados con Wi-Fi, tales como: un ordenador personal, una consola de videojuegos, un smartphone o un reproductor de audio digital, pueden conectarse a Internet a través de un punto de acceso de red inalámbrica. Dicho punto de acceso (o hotspot) tiene un alcance de unos 20 metros en interiores y al aire libre una distancia mayor. Pueden cubrir grandes áreas la superposición de múltiples puntos de acceso. Wi-Fi es una marca de la Wi-Fi Alliance (anteriormente la WECA: Wireless Ethernet Compatibility Alliance), la organización comercial que adopta, prueba y certifica que los equipos cumplen los estándares 802.11 relacionados a redes inalámbricas de área local.

Bluetooth Bluetooth es una especificación industrial para Redes Inalámbricas de Área Personal (WPAN) que posibilita la transmisión de voz y datos entre diferentes dispositivos mediante un enlace por radiofrecuencia en la banda ISM de los 2,4 GHz. Los principales objetivos que se pretenden conseguir con esta norma son: - Facilitar las comunicaciones entre equipos móviles y fijos. - Eliminar los cables y conectores entre éstos. - Ofrecer la posibilidad de crear pequeñas redes inalámbricas y facilitar la sincronización de

datos entre equipos personales. Los dispositivos que con mayor frecuencia utilizan esta tecnología pertenecen a sectores de las telecomunicaciones y la informática personal, como PDA, teléfonos móviles, computadoras portátiles, ordenadores personales, impresoras o cámaras digitales.

Page 10: Trabajo Final - Arquitectura Del Computador - Wolfgang Dielingen

HDMI High-Definition Multimedia Interface o HDMI, (interfaz multimedia de alta definición), es una norma de audio y vídeo digital cifrado sin compresión apoyada por la industria para que sea el sustituto del Euroconector. HDMI provee una interfaz entre cualquier fuente de audio y vídeo digital como podría ser un sintonizador TDT, un reproductor de Blu-ray, un Tablet PC, un ordenador (Microsoft Windows, Linux, Apple Mac OS X, etc.) o un receptor A/V, y monitor de audio/vídeo digital compatible, como un televisor digital (DTV).

PROCESADORES Y ARQUITECTURAS

Estructura y funcionamiento del procesador El microprocesador es un circuito electrónico que actúa como Unidad Central de Proceso de un ordenador, proporcionando el control de las operaciones de cálculo. Se identifica rápido en una tarjeta madre porque esta acoplado a la misma en un socket, tiene forma cuadrada con un pequeño ventilador arriba y generan mucho calor. Desde el punto de vista lógico, singular y funcional, el microprocesador está compuesto básicamente por: varios registros, una unidad de control, una unidad aritmético-lógica, y dependiendo del procesador, puede contener una unidad en coma flotante. El microprocesador ejecuta instrucciones almacenadas como números binarios organizados secuencialmente en la memoria principal. La ejecución de las instrucciones se puede realizar en varias fases. Cada una de estas fases se realiza en uno o varios ciclos de CPU, dependiendo de la estructura del procesador, y concretamente de su grado de segmentación. La duración de estos ciclos viene determinada por la frecuencia de reloj, y nunca podrá ser inferior al tiempo requerido para realizar la tarea individual.

Procesadores escalares El procesador escalar representa la clase más simple de procesadores de computadoras. Los procesadores escalares pueden procesar un dato por vez. Contrasta con los procesadores vectoriales, en donde una sola instrucción u operación puede manejar múltiples datos simultáneamente. La mayoría de los procesadores actuales son escalares.

Repertorio de instrucciones, características y funciones Un conjunto de instrucciones o repertorio de instrucciones, juego de instrucciones o ISA (del inglés Instruction Set Architecture, Arquitectura del Conjunto de Instrucciones) es una especificación que detalla las instrucciones que una CPU de un ordenador puede entender y ejecutar, o el conjunto de todos los comandos implementados por un diseño particular de una CPU. El término describe los aspectos del procesador generalmente visibles a un programador, incluyendo los tipos de datos nativos, las instrucciones, los registros, la arquitectura de memoria y las interrupciones, entre otros aspectos.

Page 11: Trabajo Final - Arquitectura Del Computador - Wolfgang Dielingen

Las características que se pretende que tenga un conjunto de instrucciones son cuatro, principalmente: - Completo: que se pueda realizar en un tiempo finito cualquier tarea ejecutable con un

ordenador (computable o decidible). - Eficiente: que permita alta velocidad de cálculo sin exigir una elevada complejidad en su UC y

ALU y sin consumir excesivos recursos (memoria), es decir, debe cumplir su tarea en un tiempo razonable minimizando el uso de los recursos.

- Autocontenidas: esto es, que contengan en sí mismas toda la información necesaria para ejecutarse.

- Independientes: que no dependan de la ejecución de alguna otra instrucción.

Repertorio de instrucciones, modos de direccionamiento, características y formatos Los modos de direccionamiento de un ordenador son las diferentes formas de transformación del campo de operando de la instrucción en la dirección del operando. El campo de operación de una instrucción especifica la operación que se debe realizar. Esta debe ser ejecutada sobre algunos datos almacenados en registros del computador o en palabras de memoria, es decir, sobre los operando. El modo de direccionamiento especifica la forma de interpretar la información contenida en cada campo de operando para localizar, en base a esta información, el operando. Los ordenadores utilizan técnicas de direccionamiento con los siguientes fines: - Dar versatilidad de programación al usuario proporcionando facilidades tales como índices,

direccionamientos indirectos, etc., esta versatilidad nos servirá para manejar estructuras de datos complejas como vectores, matrices, etc.

- Reducir el número de bits del campo de operando. Al usuario que tiene poca experiencia, la variedad de modos de direccionamiento en un ordenador le puede parecer excesivamente complicada. Sin embargo, la disponibilidad de diferentes esquemas de direccionamiento le da al programador experimentado flexibilidad para escribir programas que son más eficientes en cuanto a número de instrucciones y tiempo de ejecución. Es tal la importancia de los modos de direccionamiento que la potencia de una máquina se mide tanto por su repertorio de instrucciones como por la variedad de modos de direccionamiento que es capaz de admitir. Los modos de direccionamiento son: - Direccionamiento directo a registro: permitido para operando fuente o destino: - Direccionamiento indirecto a registro con desplazamiento: permitido para operando fuente en

almacenamiento y destino de cargas. - Direccionamiento relativo a PC con desplazamiento: se utiliza las direcciones en bifurcaciones. - Direccionamiento inmediato: solamente utilizado para operando fuentes. - Direccionamiento pseudo-directo: se utiliza para instrucciones de salto.

Page 12: Trabajo Final - Arquitectura Del Computador - Wolfgang Dielingen

- Direccionamiento implícito: es cuando está determinado por el código de operación.

Organización del procesador - Microprocesador. - Flynn. - Pipeline. - Paralelismo. - Interrupciones. - Sumador. - Acarreo. - UAL (Unidad Aritmético-Lógica). - CPU (Central Process Unit). - Multiplexador.

Segmentación Pipeline La Segmentación (Pipelining) es un método por el cual se consigue aumentar el rendimiento de algunos sistemas electrónicos digitales. Es aplicado, sobre todo, en microprocesadores. El nombre viene de que para impulsar el gas en un oleoducto a la máxima velocidad es necesario dividir el oleoducto en tramos y colocar una bomba quede un nuevo impulso al gas. El símil con la programación existe en que los cálculos deben ser registrados o sincronizados con el reloj cada cierto tiempo para que la ruta crítica (tramo con más carga o retardo computacional entre dos registros de reloj) se reduzca. La ruta crítica es en realidad la frecuencia máxima de trabajo alcanzada por el conjunto. A mayor ruta crítica (tiempo o retraso entre registros) menor es la frecuencia máxima de trabajo y a menor ruta crítica mayor frecuencia de trabajo. La una es la inversa de la otra. Repartir o segmentar equitativamente el cálculo hace que esa frecuencia sea la óptima a costa de más área para el almacenamiento o registro de los datos intervinientes y de un retraso o latencia (en ciclos de reloj/tiempo) en la salida del resultado equivalente al número de segmentaciones o registros realizados. La ventaja primordial de este sistema es que, tal y como se muestra en la imagen, una vez el pipe está lleno, es decir, después de una latencia de cuatro en la imagen, los resultados de cada comando vienen uno tras otro cada flanco de reloj y sin latencia extra por estar encadenados dentro del mismo pipe. Todo esto habiendo maximizado la frecuencia máxima de trabajo.

Procesadores RISC y CISC En arquitectura computacional, RISC (del inglés Reduced Instruction Set Computer, en español Computador con Conjunto de Instrucciones Reducidas) es un tipo de diseño de CPU generalmente utilizado en microprocesadores o microcontroladores con las siguientes características fundamentales: - Instrucciones de tamaño fijo y presentadas en un reducido número de formatos. - Sólo las instrucciones de carga y almacenamiento acceden a la memoria de datos.

Page 13: Trabajo Final - Arquitectura Del Computador - Wolfgang Dielingen

Además estos procesadores suelen disponer de muchos registros de propósito general. El objetivo de diseñar máquinas con esta arquitectura es posibilitar la segmentación y el paralelismo en la ejecución de instrucciones y reducir los accesos a memoria. Las máquinas RISC protagonizan la tendencia actual de construcción de microprocesadores. PowerPC, DEC Alpha, MIPS, ARM, SPARC son ejemplos de algunos de ellos. RISC es una filosofía de diseño de CPU para computadora que está a favor de conjuntos de instrucciones pequeñas y simples que toman menor tiempo para ejecutarse. El tipo de procesador más comúnmente utilizado en equipos de escritorio, el x86, está basado en CISC en lugar de RISC, aunque las versiones más nuevas traducen instrucciones basadas en CISC x86 a instrucciones más simples basadas en RISC para uso interno antes de su ejecución. En arquitectura computacional, CISC (del inglés Complex Instruction Set Computer, en español Computador con Conjunto de Instrucciones Complejas) es un modelo de arquitectura de computadores. Los microprocesadores CISC tienen un conjunto de instrucciones que se caracteriza por ser muy amplio y permitir operaciones complejas entre operandos situados en la memoria o en los registros internos, en contraposición a la arquitectura RISC. Este tipo de arquitectura dificulta el paralelismo entre instrucciones, por lo que, en la actualidad, la mayoría de los sistemas CISC de alto rendimiento implementan un sistema que convierte dichas instrucciones complejas en varias instrucciones simples del tipo RISC, llamadas generalmente microinstrucciones. Los CISC pertenecen a la primera corriente de construcción de procesadores, antes del desarrollo de los RISC. Ejemplos de ellos son: Motorola 68000, Zilog Z80 y toda la familia Intel x86, AMD x86-64 usada en la mayoría de las computadoras personales actuales.

Paralelismo de las instrucciones y procesadores superescalares La microarquitectura superes calar utiliza el paralelismo de instrucciones además del paralelismo de flujo, éste último gracias a la estructura en pipeline. La estructura típica de un procesador superescalar consta de un pipeline con las siguientes etapas: lectura, decodificación, lanzamiento, ejecución, escritura y finalización. En un procesador superescalar, el procesador maneja más de una instrucción en cada etapa. El número máximo de instrucciones en una etapa concreta del pipeline se denomina grado, así un procesador superescalar de grado 4 en lectura (fetch) es capaz de leer como máximo cuatro instrucciones por ciclo. El grado de la etapa de ejecución depende del número y del tipo de las unidades funcionales. Un procesador superescalar suele tener unidades funcionales independientes de los tipos siguientes: unidad aritmética lógica, unidad de lectura, unidad de punto flotante y unidad de salto. La detección y resolución de las dependencias entre instrucciones puede ser estática (durante la compilación) o dinámica, es decir, a medida que se ejecuta un programa, generalmente durante las etapas de codificación y lanzamiento de las instrucciones. Las arquitecturas superescalares adolecen de una estructura compleja y de un mal aprovechamiento de sus recursos debido en parte a la dificultad en encontrar suficientes instrucciones paralelizables. Una forma de obtener un mayor número de instrucciones paralelizables es aumentar la ventana de instrucciones, es decir el conjunto de instrucciones que la unidad de lanzamiento considera como candidatas a ser lanzadas en un momento dado.

Page 14: Trabajo Final - Arquitectura Del Computador - Wolfgang Dielingen

Superescalar vs. Supersegmentado Otra forma de aumentar las prestaciones de una máquina es la supersegmentación, término que nació en 1988. Este método aprovecha el hecho de que muchas etapas del ciclo de instrucción realizan tarea que requieren menos de la mitad de un ciclo de reloj, teniendo como base esta idea, se dobla la velocidad de reloj interna, con lo cual es posible realizar dos tareas en un ciclo de reloj externo. En la figura siguiente se comparan ambas soluciones, en la primera parte del diagrama se presenta una ejecución normal de instrucciones con cuatro etapas: - Captación de instrucción. - Decodificación de la operación. - Ejecución de la operación. - Escritura del resultado. Luego, se presenta la implementación supersegmentada, en la cual es posible ejecutar dos etapas del cauce por ciclo de reloj. Esta forma de implementación es denominada de grado 2, pues, las funciones realizadas en cada etapa se dividen en dos y cada una de ellas se realiza en medio ciclo de reloj. Por último, se presenta la implementación superescalar, en la cual es posible ejecutar dos instrucciones en paralelo. Ambas implementaciones (supersegmentada y superescalar) ejecutan el mismo número de instrucciones en el mismo tiempo en forma ininterrumpida. Pero el procesador supersegmentado se retrasa al comienzo del programa y al ejecutar un salto.

Arquitectura del procesador (Diagrama de bloque) Es el diseño conceptual y la estructura operacional fundamental de un sistema de computadora. Es decir, es un modelo y una descripción funcional de los requerimientos y las implementaciones de diseño para varias partes de una computadora, con especial interés en la forma en que la unidad central de proceso (UCP) trabaja internamente y accede a las direcciones de memoria. También suele definirse como la forma de seleccionar e interconectar componentes de hardware para crear computadoras según los requerimientos de funcionalidad, rendimiento y costo. El ordenador recibe y envía la información a través de los periféricos por medio de los canales. La UCP es la encargada de procesar la información que le llega al ordenador. El intercambio de información se tiene que hacer con los periféricos y la UCP. Todas aquellas unidades de un sistema exceptuando la UCP se denomina periférico, por lo que el ordenador tiene dos partes bien diferenciadas, que son: la UCP (encargada de ejecutar programas y que está compuesta por la memoria principal, la UAL y la UC) y los periféricos (que pueden ser de entrada, salida, entrada-salida y comunicaciones).

Unidad de control cableada y microprogramada

Page 15: Trabajo Final - Arquitectura Del Computador - Wolfgang Dielingen

La unidad de control cableada es la que incorporan los denominador microprocesadores RISC (Conjunto Reducido de Instrucciones), mientras que los denominado microprocesadores CISC (Conjunto Complejo de Instrucciones) usan unidad de control microprogramada. En un tiempo, las unidades de control para los CPU eran lógica ad-hoc, y eran difíciles de diseñar. Éstas pueden identificarse como la parte principal del computador y del dispositivo principal que ayuda al computador a funcionar de una manera apropiada. Es construida de puertas lógicas, circuitos biestables, circuitos codificadores, circuitos decodificadores, contadores digitales y otros circuitos digitales. Su control está basado en una arquitectura fija, es decir, que requiere cambios en el cableado si el conjunto de instrucciones es modificado o cambiado. Esta arquitectura es preferida en los computadores RISC pues consiste en un conjunto de instrucciones más pequeño. Las unidades de control cableado son implementadas por medio de unidades de lógica secuencial, ofreciendo un número finito de puertas que pueden actuar como generadores de resultados específicos, basada en las instrucciones que fueron usadas para invocar esas respuestas. Estas instrucciones son evidentes en el diseño de la arquitectura, pero también pueden ser representadas de otras maneras. La idea de microprogramación fue introducida por M.V. Wilkes en 1951 como un nivel intermediario para ejecutar instrucciones de programa de computadora (ver también: microcódigo). Los microprogramas fueron organizados como una secuencia de microinstrucciones y almacenados en una memoria del control especial. El algoritmo para la unidad de control microprogramada es usualmente especificado por la descripción de un diagrama de flujo. La ventaja principal de la unidad de control microprogramada es la simplicidad de su estructura. Las salidas del controlador son organizadas en microinstrucciones y pueden ser reemplazadas fácilmente.

Harvard y Von Neumann La arquitectura de Von Neumann es caracterizada por los procesadores que poseen el mismo dispositivo de almacenamiento en donde coexisten tanto datos como instrucciones. Las instrucciones y los datos son almacenados en el mismo formato dentro de la misma memoria, lo que quiere decir que las instrucciones son datos y comparten el mismo bus de datos en su transmisión. En principio un programa en ejecución se puede modificar a sí mismo y en práctica usualmente esto significa que un error ocurrió. La ventaja de este tipo de arquitectura es que es eficiente en la utilización de la memoria pero su desventaja es que los tipos de datos no pueden ser reconocidos sin ambigüedad La arquitectura se compone de las siguientes unidades o bloques: Unidad de memoria principal Unidad aritmético-lógica. Unidad de control .Unidad de entrada y salida. La arquitectura Harvard esencialmente posee una diferencia muy marcada con respecto a la arquitectura Von Neumann, la cual es que los procesadores utilizan dispositivos de almacenamiento físicamente separados para el manejo de instrucciones y datos. El acceso a cada espacio de memoria puede llegar a ser mediante buses distintos, es decir, existe un bus de datos y un bus de instrucciones; pero lo más habitual es que exista un único bus de direcciones, en cuyo caso debe existir alguna señal de control que permita diferenciar a que espacio de memoria hace referencia (señales de Read, Write y Fetch).

Page 16: Trabajo Final - Arquitectura Del Computador - Wolfgang Dielingen

Esta arquitectura también se compone de las unidades o bloques de la arquitectura Von Neumann a diferencia del manejo de memoria con instrucciones y datos. La ventaja de la estructuración de este tipo de arquitectura es que los tipos de datos pueden ser reconocidos sin ambigüedad pero es ineficiente en la utilización de la memoria.

Procesadores vectoriales Un procesador vectorial es un diseño de CPU capaz de ejecutar operaciones matemáticas sobre múltiples datos de forma simultánea, en contraste con los procesadores escalares, capaces de manejar sólo un dato cada vez. La gran mayoría de las CPUs de hoy en día son escalares o superescalares. Los procesadores vectoriales son muy comunes en el área de la computación científica, formando la base de la mayor parte de los supercomputadores durante los años 80 y 90. Sin embargo, parece claro que la mejora de la tecnología y de los diseños de procesadores van a acabar con el uso de procesadores vectoriales como procesadores de propósito general. IBM, Toshiba y Sony han anunciado el procesador Cell, que está formado en parte por procesadores vectoriales. Casi todas las CPUs de hoy en día incluyen algunas instrucciones de procesamiento de tipo vectorial, conocidas como SIMD. En particular, las consolas de videojuegos y las tarjetas gráficas hacen un uso intensivo de este tipo de procesamiento.

Procesadores VLIM VLIW, acrónimo del inglés Very Long Instruction Word. Esta arquitectura de CPU implementa una forma de paralelismo a nivel de instrucción. Es similar a las arquitecturas superescalares, ambas usan varias unidades funcionales (por ejemplo varias ALUs, varios multiplicadores, etc.) para lograr ese paralelismo. Los procesadores con arquitecturas VLIW se caracterizan, como su nombre indica, por tener juegos de instrucciones muy simples en cuanto a número de instrucciones diferentes, pero muy grandes en cuanto al tamaño de cada instrucción. Esto es así porque en cada instrucción se especifica el estado de todas y cada una de las unidades funcionales del sistema, con el objetivo de simplificar el diseño del hardware al dejar todo el trabajo de planificar el código en manos del programador/compilador, en oposición a un procesador superescalar, en el que es el hardware en tiempo de ejecución el que planifica las instrucciones. Un microprocesador típico VLIW es el IA-64.

Page 17: Trabajo Final - Arquitectura Del Computador - Wolfgang Dielingen

Descripción y comparación de procesadores

PROCESAMIENTO PARALELO

Tipos de sistemas paralelos La mayor parte de los sistemas hasta ahora han sido sistemas monoprocesador; es decir han tenido una sola CPU. Sin embargo, la tendencia actual es hacia los sistemas multiprocesador. Tales sistemas tienen más de un procesador en comunicación íntima, los cuales comparten el bus del computador, el reloj y a veces la memoria y los dispositivos periféricos. Decimos que estos sistemas están fuertemente acoplados. Hay varias razones para construir este tipo de sistemas. Una ventaja es el aumento en el rendimiento. Al incrementar el número de procesadores, esperamos realizar más trabajo en un tiempo más corto. De forma análoga, un grupo de n programadores que trabajan en íntima colaboración no produce n veces la cantidad de trabajo que realiza uno solo. Los multiprocesadores también pueden ahorrar dinero en comparación con varios sistemas monoprocesador porque los procesadores pueden compartir periféricos, gabinetes y fuentes de potencia. Si varios programas deben operar con el mismo conjunto de datos, es más económico guardar esos datos en un disco y hacer que todos los procesadores los compartan, en vez de tener muchos computadores con discos locales y hacer copias de los datos. Otra razón para tener sistemas multiprocesador es que mejoran la confiabilidad. Si es posible distribuir las funciones correctamente entre varios procesadores.

Page 18: Trabajo Final - Arquitectura Del Computador - Wolfgang Dielingen

El funcionamiento continuado en presencia de ellos requiere un mecanismo para detectar, diagnosticar y corregir (si es posible) el fallo. EI sistema Tandem utiliza duplicación tanto de hardware como de software para asegurar una operación continuada a pesar de los fallos. El multiprocesamiento asimétrico es más común en los sistemas extremadamente grandes, donde una de las actividades que más tiempo consume es el procesamiento El 5. En los sistemas por lotes más antiguos, se utilizaban procesadores pequeños, situados a cierta distancia de la CPU principal para operar los lectores de tarjetas e impresoras de líneas y transferir estos trabajos a y del computador principal. En un sistema de tiempo compartido, una de las principales actividades de El 5 es procesar la El 5 de caracteres entre las terminales y el computador Si es preciso interrumpir la CPU principal cada vez que se transfiere un carácter a o de una terminal, la CPU Podría pasar todo su tiempo procesando caracteres. Para evitar esta situación, la mayor parte de los sistemas cuenta con un procesador de extremo frontal front-end aparte que se encarga de toda la El 5 de terminales.

Multiprocesadores simétricos SMP La arquitectura SMP (Symmetric Multiprocessing, también llamada UMA, de Uniform Memory Access), se caracteriza por el hecho de que varios microprocesadores comparten el acceso a la memoria. Todos los microprocesadores compiten en igualdad de condiciones por dicho acceso, de ahí la denominación "simétrico". Los sistemas SMP permiten que cualquier procesador trabaje en cualquier tarea sin importar su localización en memoria; con un propicio soporte del sistema operativo, estos sistemas pueden mover fácilmente tareas entre los procesadores para garantizar eficientemente el trabajo. Una computadora SMP se compone de microprocesadores independientes que se comunican con la memoria a través de un bus compartido. Dicho bus es un recurso de uso común. Por tanto, debe ser arbitrado para que solamente un microprocesador lo use en cada instante de tiempo. Si las computadoras con un solo microprocesador tienden a gastar considerable tiempo esperando a que lleguen los datos desde la memoria, SMP empeora esta situación, ya que hay varios parados en espera de datos.

Coherencia cache y protocolo MESI La coherencia de cache hace referencia a la integridad de los datos almacenados en las caches locales de los recursos compartidos. La coherencia de la cache es un caso especial de la coherencia de memoria. Cuando los clientes de un sistema, en particular las CPUs en un multiprocesador, mantienen caches de una memoria compartida, los conflictos crecen. Haciendo referencia al dibujo, si el cliente de arriba tiene una copia de un bloque de memoria de una lectura previa y el cliente de abajo cambia ese bloque, el cliente de arriba podría estar trabajando con datos erróneos, sin tener conocimiento de ello. La coherencia de la cache intenta administrar estos conflictos y mantener consistencia entre las caches y la memoria.

Page 19: Trabajo Final - Arquitectura Del Computador - Wolfgang Dielingen

El protocolo MESI, también conocido como protocolo Illinois, es un extendido protocolo de coherencia de caché y coherencia de memoria, que fue creado por Intel en el procesador Pentium para "dar soporte más eficientemente a write-back en lugar del write-through de caché de CPU usado con anterioridad en el procesador 486". Cada línea de caché se marca con uno de los cuatro estados siguientes (codificados con dos bits adicionales): - Modified (Modificado): la línea de caché sólo está en la caché actual, y está "sucia"; ha sido

modificado el valor de la memoria principal. Es necesario que los datos sean escritos otra vez en la memoria principal antes de permitir cualquier otra lectura del estado de la memoria (ya no es válida).

- Exclusive (Exclusivo): la línea de caché sólo se encuentra en la caché actual, pero está "limpia"; coincide con el valor de la memoria principal.

- Shared (Compartido): indica que esta línea de caché puede estar duplicada en otras cachés. - Invalid (Inválido): indica que esta línea de caché no es válida.

Procesamiento multihebra y multiprocesadores monochip Antes de empezar hablar de este tipo de procesamiento hay que tener en claro ciertos términos, los cuales nos servirán para comprender mejor este tema. Los términos se presentan a continuación: - Proceso: Programa en ejecución, se divide en:

Propiedad de recursos. Planificación/ejecución.

- Conmutación de proceso: Esta operación consiste en cambiar el proceso que se está ejecutando en el procesador por otro proceso.

- Hebra: Una unidad de trabajo dentro de un proceso que se puede asignar al procesador. Una hebra se ejecuta secuencialmente y puede interrumpirse para que el procesador pase a ejecutar otra hebra.

- Conmutación de hebra: El control del procesador pasa de una hebra a otra dentro de un mismo proceso, este tipo de conmutación es mucho menos costosa que la de procesos. Importante aclarar que las hebras de un mismo proceso comparten los mismos recursos. Existen distintos tipos de niveles de hebras, nivel de usuario (user-level thread), los cuales son visibles para los programas de aplicación, y hebras de nivel de kernel (kernel-level threads), en este tipo de nivel son solo visibles para el sistema operativo.

Existen dos tipos de procesamiento multihebra, explícito e implícito, el Implícito hace referencia a la ejecución concurrente de varias hebras extraídas de un único programa secuencial. Estas hebras pueden ser definidas estáticamente por el compilador o dinámicamente por el hardware. Se pueden considerar cuatro aproximaciones principales al procesamiento multihebra: - Multihebra entrelazada: El procesador trabaja con dos o más contextos al mismo tiempo,

conmutando entre uno y otro en cada ciclo de reloj. Si una hebra se bloquea a dependencia de datos o retardos de memoria, esa hebra se salta y se pasa a ejecutar una hebra que está preparada.

Page 20: Trabajo Final - Arquitectura Del Computador - Wolfgang Dielingen

- Multihebra con bloqueo: Las instrucciones de una hebra se ejecutan sucesivamente hasta que se produce un evento que puede ocasionar un retardo, tal como un fallo de cache. Este evento induce una conmutación a otra hebra.

- Multihebra simultánea: Las instrucciones correspondientes a hebras diferentes se emiten simultáneamente a las funcionales de un procesador superescalar.

- Multiprocesador monochip: Existen varias copias del procesador en un solo circuito integrado y cada procesador actúa sobre hebras diferentes.

Clusters El término cluster (a veces españolizado como clúster) se aplica a los conjuntos o conglomerados de computadoras construidos mediante la utilización de hardware común, logrando que se comporten como si fuesen una única computadora. La tecnología de clústeres ha evolucionado en apoyo de actividades que van desde aplicaciones de supercómputo y software de misiones críticas, servidores web y comercio electrónico, hasta bases de datos de alto rendimiento, entre otros usos. El cómputo con clústeres surge como resultado de la convergencia de varias tendencias actuales que incluyen la disponibilidad de microprocesadores económicos de alto rendimiento y redes de alta velocidad, el desarrollo de herramientas de software para cómputo distribuido de alto rendimiento, así como la creciente necesidad de potencia computacional para aplicaciones que la requieran. Simplemente, un clúster es un grupo de múltiples ordenadores unidos mediante una red de alta velocidad, de tal forma que el conjunto es visto como un único ordenador, más potente que los comunes de escritorio. Los clústeres son usualmente empleados para mejorar el rendimiento y/o la disponibilidad por encima de la que es provista por un solo computador típicamente siendo más económico que computadores individuales de rapidez y disponibilidad comparables. De un clúster se espera que presente combinaciones de los siguientes servicios: - Alto rendimiento. - Alta disponibilidad. - Balanceo de carga. - Escalabilidad. La construcción de los ordenadores del clúster es más fácil y económica debido a su flexibilidad: pueden tener todos la misma configuración de hardware y sistema operativo (clúster homogéneo), diferente rendimiento pero con arquitecturas y sistemas operativos similares (clúster semi-homogéneo), o tener diferente hardware y sistema operativo (clúster heterogéneo), lo que hace más fácil y económica su construcción. Para que un clúster funcione como tal, no basta solo con conectar entre sí los ordenadores, sino que es necesario proveer un sistema de manejo del clúster, el cual se encargue de interactuar con el usuario y los procesos que corren en él para optimizar el funcionamiento.

Acceso uniforme de memoria (UMA)

Page 21: Trabajo Final - Arquitectura Del Computador - Wolfgang Dielingen

Acceso uniforme a memoria o UMA (en inglés: Uniform Memory Access) es una arquitectura de memoria compartida utilizada en computación paralela. Todos los procesos en el modelo UMA acceden a la memoria de manera uniforme, es decir, el tiempo de acceso o la localización de memoria es independiente del proceso que realiza la petición o del chip de memoria donde se encuentre el dato solicitado. Las arquitecturas UMA frecuentemente se ven como opuestas a las arquitecturas NUMA (Non-Uniform Memory Access). En la arquitectura UMA, cada procesador puede utilizar una caché privada. Existe un modo para compartir también dispositivos periféricos. El modelo UMA es más adecuado para aplicaciones de propósito general o para aplicaciones multi-usuario. Puede ser utilizado para aumentar el speed up en programas largos y tediosos, consiguiendo que varias máquinas ejecuten el mismo programa en menos tiempo y a ser posible con los mismos resultados.

Acceso no uniforme de memoria (NUMA) La tendencia en el hardware ha sido tener más de un bus del sistema, y que cada uno de ellos sirva a un pequeño conjunto de procesadores. Cada grupo de procesadores tiene su propia memoria y, posiblemente, sus propios canales de E/S. Sin embargo, cada CPU puede tener acceso a la memoria asociada a otros grupos de forma coherente. Cada grupo se denomina nodo NUMA. El número de CPU dentro de un nodo NUMA depende del proveedor de hardware. Resulta más rápido tener acceso a la memoria local que a la memoria asociada a otros nodos NUMA. Por este motivo se la denomina arquitectura de acceso no uniforme a memoria. En hardware de NUMA, algunas regiones de la memoria residen en buses físicamente distintos de otras regiones. Puesto que NUMA utiliza memoria local y externa, tardará más tiempo en obtener acceso a algunas regiones de memoria. Los términos memoria local y memoria externa se suelen usar para hacer referencia a un subproceso que se está ejecutando. La memoria local es la que se encuentra en el mismo nodo en que la CPU está ejecutando el subproceso actualmente. Así pues, toda memoria que no pertenezca al nodo en el que se está ejecutando actualmente el subproceso será externa. La memoria externa también se denomina memoria remota. La relación entre lo que cuesta obtener acceso a una memoria externa y a una memoria local se denomina relación NUMA. Si la relación NUMA es 1, se trata de multiproceso simétrico (SMP). Cuanto mayor sea la relación, más costará obtener acceso a la memoria de los demás nodos. A veces, el rendimiento de las aplicaciones de Windows que no están preparadas para NUMA (incluido el Service Pack 3 de SQL Server 2000 y anteriores) es deficiente en hardware de NUMA. La principal ventaja de NUMA es su escalabilidad. La arquitectura NUMA fue diseñada para traspasar los límites de escalabilidad de la arquitectura SMP. Con SMP, el acceso a la memoria se expone en el mismo bus de memoria compartida. Esto funciona perfectamente en un número relativamente reducido de CPU, pero no cuando existen docenas, incluso cientos, de CPU que compiten para tener acceso al bus de memoria compartida. NUMA alivia estos cuellos de botella limitando el número de CPU en cualquier bus de memoria y conectando los nodos mediante una interconexión de alta velocidad.

Acceso únicamente a la memoria cache (COMA)

Page 22: Trabajo Final - Arquitectura Del Computador - Wolfgang Dielingen

En informática, una caché es un conjunto de datos duplicados de otros originales, con la propiedad de que los datos originales son costosos de acceder, normalmente en tiempo, respecto a la copia en la caché. Cuando se accede por primera vez a un dato, se hace una copia en el caché; los accesos siguientes se realizan a dicha copia, haciendo que el tiempo de acceso medio al dato sea menor.

Computación vectorial A inicios de los años 50, comenzó la necesidad de crear computadoras que resolvieran problemas matemáticos de procesos reales, tales como los que aparecen en disciplinas como la aerodinámica, sismología, meteorología, física atómica, nuclear y de plasmas. Estos problemas se caracterizan por necesitar una precisión elevada y programas que realicen de forma repetitiva operaciones aritméticas en coma flotante con grandes matrices de números. Para manejar este tipo de problemas, se han desarrollado supercomputadoras capaces de realizar cientos de millones de operaciones en coma flotante por segundo, pero estas máquinas tienen un uso limitado y debido a su precio, un mercado limitado. Otro tipo de sistema diseñado para las necesidades de la computación vectorial se trata de los computadores matriciales, estos no realizan procesamiento escalar y están configurados como dispositivos periféricos para que los usuarios de grandes computadoras y minicomputadoras puedan ejecutar partes vectorizadas de sus programas.

ARQUITECTURAS ESPECIALES VLSI

Máquina de Turing La máquina de Turing es un modelo computacional introducido por Alan Turing en el trabajo “On computable numbers, with an application to the Entscheidung’s problem”, publicado por la Sociedad Matemática de Londres, en el cual se estudiaba la cuestión planteada por David Hilbert sobre si las matemáticas son decidibles, es decir, si hay un método definido que pueda aplicarse a cualquier sentencia matemática y que nos diga si esa sentencia es cierta o no. Turing construyó un modelo formal de computador, la máquina de Turing, y demostró que existían problemas que una máquina no podía resolver. La máquina de Turing es un modelo matemático abstracto que formaliza el concepto de algoritmo. Una máquina de Turing es un dispositivo que transforma un INPUT en un OUTPUT después de algunos pasos. Tanto el INPUT como el OUPUT constan de números en código binario (ceros y unos). En su versión original la máquina de Turing consiste en una cinta infinitamente larga con unos y ceros que pasa a través de una caja. La caja es tan fina que solo el trozo de cinta que ocupa un bit (0 ó 1) está en su interior. La máquina tiene una serie de estados internos finitos que también se pueden numerar en binario. Para llevar a cabo algún algoritmo, la máquina se inicializa en algún estado interno arbitrario. A continuación, se pone en marcha y la máquina lee el bit que se encuentra en ese momento en su interior y ejecuta alguna operación con ese bit (lo cambia o no, dependiendo de su estado interno). Después se mueve hacia la derecha o hacia la izquierda, y vuelve a procesar el siguiente bit de la misma manera.

Page 23: Trabajo Final - Arquitectura Del Computador - Wolfgang Dielingen

Arquitecturas de flujo de datos La arquitectura de flujo de datos es una arquitectura de computadores que contrasta directamente con la tradicional arquitectura de Von Neumann o de estructuras de control. Las arquitecturas de flujo de datos no se basan en un contador de programa (al menos conceptualmente), en tanto en cuanto la posibilidad de ejecución de las instrucciones solamente viene determinada por la disponibilidad de los argumentos de entrada de las instrucciones. Aunque ningún computador de éxito comercial ha utilizado este tipo de arquitectura, ésta es muy relevante en muchas arquitecturas actuales de software, incluyendo el diseño de sistemas de bases de datos o de sistemas de procesamiento paralelo. Este tipo de arquitecturas de hardware constituyó una de las principales ramas de investigación sobre arquitectura de computadores en los años 70 y principios de los 80. Jack Dennis del MIT abrió el camino en el campo de las arquitecturas de flujo de datos estático, mientras que la Manchester Dataflow Machine y la arquitectura MIT Tagged Token fueron algunos de los mayores proyectos en flujo de datos dinámico. Los diseños que emplean direcciones convencionales de memoria como marcas de dependencias de datos son conocidos como máquinas de flujo de datos estático. Estas máquinas no permitían la ejecución simultánea de varias instancias de una misma subrutina porque la forma de etiquetar los datos no diferenciaba entre ellas. Aquellos diseños basados en memoria de contenido direccionable o CAM son llamados máquinas de flujo dinámico de datos. Normalmente, los compiladores analizan el código fuente del programa en busca de dependencias de datos entre instrucciones para organizar mejor la secuencia en los ficheros binarios de salida. Las instrucciones son organizadas de forma secuencial, pero la información acerca de las dependencias no se graba en los binarios. Sin embargo, los ficheros binarios compilados en una máquina de flujo de datos sí contienen esta información. Un compilador de flujo de datos graba estas dependencias creando etiquetas únicas para cada dependencia en lugar de utilizar nombres variables. Al nombrar cada dependencia de forma unívoca, se consigue que los segmentos de código no dependientes en el fichero binario sean ejecutados sin problemas fuera de orden o en paralelo. Los programas se cargan en la memoria CAM del computador de flujo dinámico. Cuando todos los operandos etiquetados de una instrucción pasan a estar disponibles (esto es, han recibido la salida de instrucciones previas y/o la entrada de usuario), la instrucción se marca como preparada para su ejecución. Este proceso es conocido como activación o firing. Una vez que la instrucción es completada, su salida es almacenada junto con la correspondiente etiqueta en la memoria CAM. Cualquier instrucción que sea dependiente de este dato en concreto (identificado por el valor de su etiqueta) es entonces marcada como preparada para su ejecución. De este modo, las instrucciones subsiguientes son ejecutadas en el orden correcto, evitando la aparición de condiciones de carrera. Este orden puede diferir del orden secuencial considerado por el programador. Una instrucción, junto con los operandos requeridos, es transmitida a una unidad de ejecución como un paquete, también conocido como señal de instrucción. De forma similar, los datos de salida son transmitidos de vuelta a la memoria CAM como señal de datos. El empaquetado de instrucciones y resultados permite la ejecución paralela a gran escala de instrucciones preparadas.

Page 24: Trabajo Final - Arquitectura Del Computador - Wolfgang Dielingen

Las redes de flujo de datos reparten las señales de instrucción a las unidades de ejecución y devuelven a la memoria CAM las señales de datos. En contraste con la Arquitectura de von Neumann convencional, las señales de datos no son almacenadas de forma permanente en memoria, sino que son mensajes transitorios que solamente existen durante el tránsito de información que se produce en el almacenamiento de la instrucción. La investigación, sin embargo, nunca se preocupó de tratar problemas relacionados con: - Emisión eficiente de las señales de datos e instrucciones en sistemas paralelos masivos. - Construcción de memorias CAM lo suficientemente grandes como para almacenar todas las

dependencias de un programa real. Se probó que las instrucciones y sus dependencias de datos eran una unidad demasiado pequeña para trabajar en grandes redes. Esto es, el tiempo de transmisión de las instrucciones y los correspondientes resultados etiquetados era mucho mayor que el tiempo realmente necesario para su procesamiento.

Procesadores Sistólicos Los procesadores sistólicos son el resultado de los avances en tecnología de semiconductores y en las aplicaciones que requieren un amplio rendimiento. Lo principal es resolver problemas de sistemas de propósito específico que deben balancear el bandwidth entre una intensiva cantidad de cálculos y gran cantidad de requerimientos de E/S. Los procesadores convencionales están muy a menudo limitados por la disparidad del bandwidth de Entrada y el bandwidth de Salida, el cual se produce debido a que los ítems de datos deben ser leídos y grabados cada vez que se los referencia. Una razón para elegir el término "systolic" como parte de Systolic Array puede verse en la analogía con el sistema de circulación humano, en el cual el corazón entrega y recibe una gran cantidad de sangre como resultado del bombeo rítmico e ininterrumpido de pequeñas cantidades de ese fluido a través de venas y arterias. En esta analogía el corazón corresponde a la fuente y destino de los datos, como si fuera una memoria global; y la red de venas es equivalente al array de procesadores y sus conexiones. Las arquitecturas Sistólicas (array sistólicos) son multiprocesadores pipelinizados en los cuales los datos se bombean en forma rítmica desde la memoria y a través de la red de procesadores antes de ser devueltos a la memoria La información circula entre los procesadores como en un pipeline, pero sólo los procesadores frontera mantienen comunicación con el exterior. Un reloj global conjuntamente con mecanismos explícitos de retardo sincroniza el flujo de datos a través del pipe que se conforma con los datos obtenidos de la memoria y los resultados parciales que usa cada procesador. Los procesadores modulares unidos mediante una red local y regular proveen los ladrillos básicos para construir una buena variedad de sistemas de propósito específico. Durante cada intervalo de tiempo estos procesadores ejecutan una secuencia corta e invariante de instrucciones.

Procesadores con redes neuronales

Page 25: Trabajo Final - Arquitectura Del Computador - Wolfgang Dielingen

Las redes neuronales consisten en una simulación de las propiedades observadas en los sistemas neuronales biológicos a través de modelos matemáticos recreados mediante mecanismos artificiales (como un circuito integrado, un ordenador o un conjunto de válvulas). El objetivo es conseguir que las máquinas den respuestas similares a las que es capaz de dar el cerebro que se caracterizan por su generalización y su robustez. Una red neuronal se compone de unidades llamadas neuronas. Cada neurona recibe una serie de entradas a través de interconexiones y emite una salida. Esta salida viene dada por tres funciones: - Una función de propagación (también conocida como función de excitación), que por lo

general consiste en el sumatorio de cada entrada multiplicada por el peso de su interconexión (valor neto). Si el peso es positivo, la conexión se denomina excitatoria; si es negativo, se denomina inhibitoria.

- Una función de activación, que modifica a la anterior. Puede no existir, siendo en este caso la salida la misma función de propagación.

- Una función de transferencia, que se aplica al valor devuelto por la función de activación. Se utiliza para acotar la salida de la neurona y generalmente viene dada por la interpretación que queramos darle a dichas salidas. Algunas de las más utilizadas son la función sigmoidea (para obtener valores en el intervalo [0,1]) y la tangente hiperbólica (para obtener valores en el intervalo [-1,1]).

Procesadores con lógica difusa La lógica difusa es una técnica de la inteligencia computacional que permite trabajar información con alto grado de imprecisión, en esto se diferencia de la lógica convencional que trabaja con información bien definida y precisa. El concepto de Lógica Difusa fue concebido por Lofti Zadeh un profesor de la Universidad de California en Berkley, quien inconforme con los conjuntos clásicos (crisp sets) que solo permiten dos opciones, la pertenencia o no de un elemento a dicho conjunto la presentó como una forma de procesar información permitiendo pertenencias parciales a unos conjuntos que en contraposición a los clásicos los denominó Conjuntos Difusos (fuzzy sets), el concepto de conjunto difuso fue expuesto por Lofti Zadeh en un paper hoy clásico en la literatura de la lógica difusa en el año de 1965, el artículo se titula "Fuzzy Sets" y fue publicado en la revista Information and Control. El mismo Zadeh publica en 1971 el artículo, "Quantitative Fuzzy Semantics", en donde Introduce los elementos formales que acabarían componiendo el cuerpo de la doctrina de la lógica difusa y sus aplicaciones tal como se conocen en la actualidad.

Computadores cuánticos Un computador Cuántico realiza las operaciones en bits cuánticos, llamados Qubits. Un Qubit al igual que un bit clásico, puede estar en dos estados, cero o uno. El Qubit se diferencia del bit clásico en qué, debido a las propiedades de la mecánica cuántica, puede estar simultáneamente en ambos estados. Un Qubit que contiene los valores cero y uno a la vez se dice que está en superposición de los estados cero y uno. Este estado de superposición es persistente hasta que el Qubit es externamente medido. Al medir un Qubit, su estado se ve forzado a tomar un solo valor. Porque la medición determina el valor del Qubit, los posibles estados que existen deben describirse antes de realizar la medición en términos de su probabilidad de ocurrencia.

Page 26: Trabajo Final - Arquitectura Del Computador - Wolfgang Dielingen

Sistemas embebidos Un sistema embebido es un ordenador más, que a diferencia de un Personal Computer, por ejemplo, carece de teclado y pantalla en la mayoría de los casos. Dicho de otra manera, un sistema embebido consiste de una electrónica programable especialmente diseñada para soluciones específicas.

Procesadores de señal DSP Un procesador digital de señales o DSP (sigla en inglés de Digital Signal Processor) es un sistema basado en un procesador o microprocesador que posee un juego de instrucciones, un hardware y un software optimizados para aplicaciones que requieran operaciones numéricas a muy alta velocidad. Debido a esto, es especialmente útil el procesado y representación de señales analógicas en tiempo real: en un sistema que trabaje de esta forma (tiempo real) se reciben muestras (samples en inglés), normalmente provenientes de un conversor analógico/digital (ADC). Se ha dicho que puede trabajar con señales analógicas, pero es un sistema digital, por lo tanto necesitará un conversor analógico/digital a su entrada y digital/analógico en la salida. Como todo sistema basado en procesador programable necesita una memoria donde almacenar los datos con los que trabajará y el programa que ejecuta. Si se tiene en cuenta que un DSP puede trabajar con varios datos en paralelo y un diseño e instrucciones específicas para el procesado digital, se puede dar una idea de su enorme potencia para este tipo de aplicaciones. Estas características constituyen la principal diferencia de un DSP y otros tipos de procesadores.

Procesadores y aceleradores gráficos Dependiendo del tipo de procesador y su velocidad, se obtendrá un mejor o peor rendimiento. La velocidad de los procesadores se mide en Mega Hertz (MHz = millones de ciclos por segundo), este parámetro indica el número de ciclos de instrucciones que el procesador realiza por segundo, pero solo sirve para compararlo con procesadores del mismo tipo, por ejemplo un procesador 586 de 133 MHz no es más rápido que un Pentium de 100 MHz. Las aceleradoras gráficas o tarjetas gráficas son memorias de expansión para una computadora, las cuales se encargan de procesar los datos de video en 2D y 3D para transformarlos en información comprensible y representable para los dispositivos de salida como monitores o televisores y liberar de este trabajo al CPU y agilizarlo en otras funciones de mayor importancia para el mismo. Dispositivo que da al ordenador la capacidad de mostrar imágenes en pantalla. Las prestaciones de una tarjeta gráfica suelen depender de la cantidad de puntos y de colores que es capaz de mostrar, de su rapidez, y de la cantidad de memoria que dispone (a mayor cantidad de memoria, será capaz de mostrar imágenes con más puntos y/o más colores). La tarjeta gráfica debe ir en consonancia con la pantalla o monito.

Arquitecturas reconfigurables

Page 27: Trabajo Final - Arquitectura Del Computador - Wolfgang Dielingen

Los Procesadores Configurables son aquellos que se configuran antes de implementarlos definitivamente en un chip, después de lo cual no se pueden modificar. Por otro lado, los Procesadores Reconfigurables son los que pueden cambiar su arquitectura y microarquitectura después de haber fabricado el chip, los cuales normalmente se implementan en circuitos reconfigurables como los del tipo FPGA (Field Programmable Gate Array). Ambos tipos de procesadores tiene aplicabilidad en aplicaciones empotradas que requieren un aumento de prestaciones respecto a la utilización de procesadores empotrados convencionales como ARM o MIPS. La especialización del hardware en los procesadores re-configurables puede ser de grano fino, a nivel de la unidad funcional que permite implementar nuevas instrucciones especializadas, o de grano grueso, a través de un coprocesador acoplado al procesador.