INSTITUTO TECNOLÓGICO SUPERIOR “DAVID AUSUBEL” SEMIPRESENCIAL VICERRECTORADO ACADÉMICO GUÍA DE ESTUDIO MODULAR ARQUITECTURA DEL COMPUTADOR SEGUNDO NIVEL TECNOLOGÍA EN: INFORMÁTICA MENCIÓN: ANÁLISIS DE SISTEMAS AUTOR: GEOVANY PAUCAR Corrección: Comisión de Redacción Aprobado: Vicerrectorado Académico Edición: Instituto Superior Tecnológico “David Ausubel” Periodo Octubre 2015 – abril 2016 QUITO - ECUADOR INSTITUTO TECNOLÓGICO SUPERIOR “DAVID AUSUBEL” SEMIPRESENCIAL VICERRECTORADO ACADÉMICO PARA USTED APRECIADO ESTUDIANTE NO OLVIDE QUE EL ESTUDIAR Y TRABAJAR ENGRANDECE AL SER HUMANO Y DE USTED DEPENDE EL ENGRANDECERSE. INSTITUTO TECNOLÓGICO SUPERIOR “DAVID AUSUBEL” SEMIPRESENCIAL VICERRECTORADO ACADÉMICO NOTA: EN ESTE TEXTO GUIA SE ENCUENTRAN DESARROLLADOS LOS TEMAS QUE CORRESPONDEN A ESTE MÓDULO, Y LAS TAREAS QUE USTED DEBE DESARROLLAR; Y CON LA AYUDA DEL TUTOR USTED LLEGARÁ A DOMINAR EL CONOCIMIENTO. 1. EL ESTUDIANTE TIENE LAS OPORTUNIDADES QUE SEAN NECESARIAS PARA ACLARAR LOS TEMAS QUE NO COMPRENDA MEDIANTE LA EXPLICACIÓN DEL TUTOR YA SEA DE MANERA PRESENCIAL O MEDIANTE EL CORREO ELECTRONICO. 2. LAS TAREAS SERAN ENVIADAS POR EL TUTOR, DE ACUERDO A LAS FECHAS DEL CALENDARIO Y DE ACUERDO AL DESARROLLO DEL MÓDULO. 3. ES OBLIGACION DEL ESTUDIANTE ASISTIR A CADA UNA DE LAS TUTORÍAS PRESENCIALES PROGRAMADAS EN EL CALENDARIO DE ACTIVIDADES. 4. TODO TRABAJO DEL ESTUDIANTE SERÁ EVALUADO CUANTITATIVAMENTE. 5. AL FINAL EL TUTOR EVALUARA EL MÓDULO EN SU TOTALIDAD. 6. DE REQUERIR CUALQUIER INFORMACION DIRIGIRSE AL CORREO DE LA DIRECCION ACADEMICA Y SERA ATENDIDO INMEDIATAMENTE EN SU CONSULTA. Docente: Geovanny Paucar gio_wpg@hotmail.com Vicerrectoradoacademico@davidausubel.edu.ec Gracias por su confianza. INSTITUTO TECNOLÓGICO SUPERIOR “DAVID AUSUBEL” SEMIPRESENCIAL VICERRECTORADO ACADÉMICO 1. a) PERFIL DE INFORMÁTICA MENCIÓN ANÁLISIS DE SISTEMAS OBJETIVO DE FORMACIÓN INTEGRAL DEL PROFESIONAL Demostrar en el desempeño profesional de la informática un comportamiento ético que se evidencie en el interés por la investigación e innovación tecnológica, con responsabilidad social, espíritu empresarial y compromiso con el desarrollo sostenido y sustentable del país. b) PERFIL DEL TECNÓLOGO EN INFORMÁTICA Es un profesional capaz de usar herramientas y técnicas para recolectar datos, analizar, diseñar, desarrollar e implementar nuevos sistemas que permitan automatizar los procedimientos de las empresas con fundamentos científicos, tecnológicos, humanísticos y de gestión, demostrando sólidos valores ético-morales. c) COMPETENCIAS PRINCIPALES POR DESARROLLAR Conducir el ciclo de vida de un sistema de información que permita automatizar el manejo de los datos mediante un sistema de computadora, utilizando para ello las diferentes herramientas informáticas existentes en el medio actual. Fundamentar cambios en la estructura organizacional, procedimientos, políticas y funciones de una entidad que permitan optimizar el flujo de datos e información, aumentando con ello la productividad y competitividad y disminuyendo los costos operativos. Administrar las acciones para realizar un correcto análisis, diseño, desarrollo y documentación de los sistemas informáticos de un centro de cómputo, que cubran las expectativas de la institución y del medio en que se desenvuelve. Evaluar y seleccionar hardware y software, fundamentado en cuadros comparativos técnicos que permitan satisfacer los requerimientos de las empresas y organizaciones en general. Analizar de manera independiente e imparcial las bondades o defectos de un sistema de información, mediante la valoración de todos los procesos que intervienen, tomando en cuenta las necesidades y el presupuesto económico. INSTITUTO TECNOLÓGICO SUPERIOR “DAVID AUSUBEL” SEMIPRESENCIAL VICERRECTORADO ACADÉMICO Apoyar la toma de decisiones de la gerencia utilizando métodos matemáticos, estadísticos, modelos de transporte y de investigación de operaciones. SISTEMATIZACIÓN DE LAS COMPETENCIAS POR NIVELES d) NIVEL COMPETENCIA PRINCIPAL Instalar, operar y administrar programas utilitarios conociendo todos los principios de la informática. Programar en lenguajes de tercera generación aplicando técnicas especializadas y con pleno conocimiento de sistemas matemáticos y contables Conocer las acciones requeridas hacia la automatización de las empresas mediante el análisis, diseño, desarrollo, documentación e implementación de los sistemas. Diseñar y administrar Bases de datos, dominando la programación en herramientas de cuarta generación y la programación orientada a objetos. Participar en el diseño de sistemas informáticos interactuando con plataformas de internet y con pleno conocimiento de la administración de las redes y sus sistemas operativos. Administrar las actividades de un departamento de cómputo con la aplicación de herramientas informáticas y gerenciales incluyendo la creación de su propia microempresa. e) ESCENARIOS DE ACTUACIÓN El Tecnólogo en Informática podrá desempeñarse en todo tipo de empresa pública o Privada donde se requiera tratar de una manera especial a los datos y la información que Se generan dentro de la entidad, sea por procesos o por transacciones: ·Instituciones Bancarias Entidades Financieras Empresas Comerciales INSTITUTO TECNOLÓGICO SUPERIOR “DAVID AUSUBEL” SEMIPRESENCIAL VICERRECTORADO ACADÉMICO Empresas del estado Entes de servicio a la comunidad Instituciones de capacitación a nivel profesional, universitario o intermedio Empresas de Asesoría Informática f) OCUPACIONES PROFESIONALES El Tecnólogo en Informática podrá desempeñarse como: Gerente de Sistemas Programador de computadoras Director de grupos de trabajo Administrador de Centros de Cómputo Asistente de gerencia Administrador de Bases de Datos Instructor de personal en el área informática Asesor organizacional de las empresas Asesor en el área informática FUNDAMENTOS DE LA ASIGNATURA Esta asignatura es fundamental ya que le permitirá al estudiante conocer cuales son las partes y como están ensamblados los diferentes equipos de computo. COMPETENCIAS COMPETENCIA GENERAL: Proporcionará los conocimientos y las habilidades que le permitirán al estudiante, sugerir soluciones en una organización donde se necesita este tipo de aporte. COMPETENCIAS ESPECÍFICAS 1. Conocer la arquitectura, y componentes tanto del CPU, memoria y dispositivos de entrada y salida 2. Saber sobre la comunicación interna del computador, direccionamiento, temporización y acceso directo a memoria. 3. Realizar una selección apropiada a las necesidades de la empresa, sobre componentes y aplicaciones INSTITUTO TECNOLÓGICO SUPERIOR “DAVID AUSUBEL” SEMIPRESENCIAL VICERRECTORADO ACADÉMICO CONTENIDO CAPITULO I 1. MODELOS DE ARQUITECTURAS DE CÓMPUTO 1.1 TARJETA PRINCIPAL 1.2 TIPOS DE PLACA BASE 1.3 PROCESADORES 1.4 RANGOS DE VELOCIDAD DE UN PROCESADOR 1.5 BUSES 1.6 TIPO DE BUSES CAPITULO II 2. MEMORIAS 2.1 AUMENTANDO MEMORIA PARA TU EQUIPO 2.2 PERIFERICOS DEL SISTEMA 2.3 MEMORIA DE UNA TARJETA DE VIDEO 2.4 MONITORES 2.5 EL TECLADO 2.6 EL RATON O MOUSE 2.7 DISQUETERAS 2.8 DISCOS DUROS 2.9 CD-ROM 2.10 EL ESCANER/ LA IMPRESORA CAPITULO III 3. COMUNICACIÓN INTERNA DEL COMPUTADOR (BUSES) 3.1 EL BUS PCI / INTRODUCCION AL PC Y A SUS BUSES 3.2 MEMORIA 3.3 PUERTOS DE ENTRADA /SALIDA 3.4 CONCEPTOS Y CARACTERISTICAS DE LOS BUSES PCI 3.5 SEÑALES DEL SISTEMA 3.6 ENTRADA/SALIDA Y MEMORIA CAPITULO IV 4. CONTROL DE PARIDAD 4.1 DISEÑO DE INTERFACES PARA BUS PCI 4.2 DISPOSITIVOS PROGRAMABLES FPGA 4.3 LIBRERIAS DE MACROCELDAS PARA ASICs 4.4 SELECCIÓN DE COMPONENTES PARA ENSAMBLE 4.5 TIPOS DE ZÓCALO INSTITUTO TECNOLÓGICO SUPERIOR “DAVID AUSUBEL” SEMIPRESENCIAL VICERRECTORADO ACADÉMICO DESARROLLO DEL CONTENIDO CAPITULO I 1. MODELOS DE ARQUITECTURAS DE CÓMPUTO 1.1 TARJETA PRINCIPAL La estructura física y lógica del pc (computadora personal) descansa sobre la placa base, elemento que ha perdido protagonismo frente a la memoria o microprocesador. Aunque todos sus componentes son imprescindibles para que el conjunto funcione, eso no resta veracidad a la formación que el elemento central sobre el que se construye toda la arquitectura de un pc es, sin duda alguna, la placa base. Los cimientos de la arquitectura modular del pc parten la placa base, pieza clave del hardware a la que se conecta todos los componentes y los periféricos del ordenador la importancia de la placa base radica en que se trata del elemento que determina la arquitectura interna del ordenador, es decir, la forma en que van a comunicarse todos sus componentes. La placa base es una plancha de circuito impreso formado por un conglomerado de placas de baquelita o resina, entre las que se intercalan los distintos circuitos eléctricos que forman las lineas de conexión que intercomunican todos sus elementos. En general todas estas lineas de comunicación integran físicamente los buses de datos. En su superficie se concentran los distintos elementos que gestionan y determinan su funcionamiento, como el zócalo en el que esta situado el microprocesador, las ranuras para los módulos de memoria, el chipset o. Entre otros componentes, los conectores del los buses de expansión y sus circuitos de apoyo. 1.2 TIPOS DE PLACAS BASE Los componentes que incorpora una placa base determinan sus prestaciones. Por ejemplo, las placas base que incorporan un zócalo de tipo 7 sólo pueden usar microprocesadores que utilicen este tipo de conector, lo que impide utilizar los procesadores Pentium II, Pentium III, que requieren zócalo del tipo slot 1. Igualmente, el chipset determinará el resto de las prestaciones básicas de la placa base y, INSTITUTO TECNOLÓGICO SUPERIOR “DAVID AUSUBEL” SEMIPRESENCIAL VICERRECTORADO ACADÉMICO por lo tanto del PC, como el tipo de memoria que ha de utilizar, la frecuencia del bus del sistema o el número y el tipo de sus ranuras de expansión. Existen dos tipos de placas: PC-AT PC-ATX Poco tiempo antes de la aparición de los microprocesadores Pentium II y la normativa ATX, la estructura y la disposición interna de cualquier ordenador mantenía la líneas del clásico IBM PC-AT, el sucesor del IBM PC. La estructura interna de un ordenador como ya lo mencionamos esta determinada principalmente por su placa base. La gran mayoría de ordenadores equipados con microprocesadores Pentium cuenta con una distribución interna tipo PC-AT. El estándar ATX, este estándar es una especificación que marca las pautas para el desarrollo de las placas base y de algunos de sus complementos, como la caja de la CPU o la fuente de alimentación. Respecto a la estructura PC-AT la norma ATX es una mejora en su diseño que, básicamente, afecta a la distribución de los componentes en la superficie. La ubicación del microprocesador en la placa ATX permite que todas las tarjetas de expansión puedan ser de tamaño completo. El diseño AT no permitían el uso de estas tarjetas, porque tanto el microprocesador como su ventilador inutilizaban muchas ranuras. 1.3 PROCESADORES El cerebro de una pc (computadora personal), es su procesador o CPU (Unidad de Procesamiento Central). El CPU realiza las operaciones de procesamiento. El CPU es el chip más caro de una PC. Todas las PC de IBM, ps/2 y compatibles con IBM usan procesadores de la familia Intel. ESPECIFICACIONES DE PROCESADORES En este tema trataremos algunas especificaciones de procesadores como son el BUS DE DATOS, REGISTROS INTERNOS, BUS DE DIRECCIONES, VELOCIDAD, MEMORIA, ETC. BUS DE DATOS. INSTITUTO TECNOLÓGICO SUPERIOR “DAVID AUSUBEL” SEMIPRESENCIAL VICERRECTORADO ACADÉMICO Una de las maneras más comunes para describir un procesador es por el tamaño de su bus, de datos y de direcciones. Un bus en un procesador es simplemente un conjunto de líneas que llevan señales comunes. Estas señales son datos e información hacia una dirección de memoria. Los datos son información binaria, esto es, unos y ceros. REGISTROS INTERNOS. El tamaño de los registros internos es un buen indicador de cómo la información en un procesador es procesada. Todos los procesadores del 386 hasta el pentium usan registros de 32 bits. BUS DE DIRECCIONES. El bus de direcciones lleva una información con una dirección específica para llevar o traer de la memoria. Como el bus de datos cada línea lleva un bit de información. La tabla siguiente muestra las capacidades de direccionamiento de memoria de los procesadores Intel. 1.4 RANGOS DE VELOCIDAD DE UN PROCESADOR. Es común hablar de los procesadores y de sus diferentes rangos de velocidad a la cual pueden procesar los datos. La cantidad de datos que peden procesar normalmente se conoce como millones de instrucciones por segundo (MIPS). La velocidad de proceso de datos esta basada en el reloj de la tarjeta principal. En una PC la velocidad de su reloj es medido en frecuencia (Hz), normalmente expresada en ciclos por segundo. Frecuencia es el número de veces que se repite una forma de onda (cuadrada) en un segundo. Un cristal oscilador controla la velocidad del reloj usando una peña baina de cristal de cuarzo. Un voltaje es aplicado al cuarzo y este empieza a vibrar (oscilar) en un rango armónico dictado por la forma y tamaño del cristal. 1.5 BUS El mejor componente que determina como trabaja una tarjeta principal es su bus. Un bus no nos dice mucha información pero es la ruta de cruce de datos en una PC. Esta ruta es usada para la comunicación que puede establecerse entre dos o más componentes de la PC. En una PC se cuenta con varios tipos de buses, algunos de ellos son los siguientes : · BUS DEL PROCESADOR · BUS DE LA MEMORIA INSTITUTO TECNOLÓGICO SUPERIOR “DAVID AUSUBEL” SEMIPRESENCIAL VICERRECTORADO ACADÉMICO · BUS DE DIRECCIONES - BUS DEL PROCESADOR El bus del procesador es la ruta de comunicación entre el procesador y los chips de soporte mas inmediatos. Este bus es usado para transferir datos entre el CPU y el bus del sistema principal, por ejemplo, entre el CPU y la memoria cache externa. El propósito del bus del procesador es llevar datos desde o hacia el CPU a una velocidad más rápida posible, este es el bus más rápido del sistema, aquí no hay embotellamientos. El bus consiste de varios circuitos eléctricos, algunos son para los datos y algunas líneas de estos son para propósito de control. En un procesador pentium tiene 64 líneas para datos, 32 de estas son para direcciones y las restantes son para control. El bus del procesador funciona a la misma velocidad que el reloj del sistema transfiere un bit por cada línea en uno o dos ciclos de reloj. Un sistema basado en un pentium pede transferir 64 bits de datos a la vez. BUS DE MEMORIA El bus de la memoria es usado para transferir información entre el CPU y la memoria principal (Memoria RAM el sistema). Este bus es implementado por un juego de circuitos dedicados, responsables de la transferencia de información entre el bus del procesador y el bus de la memoria. BUS DE DIRECCIONES El bus de direcciones es un sub bus del procesador. El bus de direcciones es usado para desempeñar operaciones en la memoria. 1.6 TIPOS DE BUS I/O. El bus I/O son las ranuras de expansión de su PC. El bus I/0 habilita al CPU para comunicarse con dispositivo periféricos. El bus I/O es utilizado para aumentar la capacidad de su PC agregando dispositivos periféricos, esto es porque un sistema básico no satisface las necesidades de un cliente entonces tiene las ranuras de expansión para agregar algunos dispositivos especiales como pueden ser: · Tarjetas de video · Tarjetas capturadoras de video - Fax ,Etc. INSTITUTO TECNOLÓGICO SUPERIOR “DAVID AUSUBEL” SEMIPRESENCIAL VICERRECTORADO ACADÉMICO Los tipos de buses I/O o ranuras de expansión mas comunes son: ISA, EISA,PCI. ISA. ISA esa un acronimo de Industry Standard Arcitecture es una arquitectura de bus que introdujo IBM. Originalmente esta arquitectura fue de 8 bits y posteriormente se extendio a 16 bits para los sistemas AT, que en la actualidad todavía se utiliza. EISA. EISA es un acrónimo de Extended Industry Architecture, el bus EISA proporciona ranuras de expansión de 32 bits. Este bus soporta dispositivos controladores tales como el SCSI. PCI. PCI es un acrónimo de Peripheral Component Interconect. Esta bus fue creado para competir con el bus de I/O ISA Y EISA. Más tarde se tomó directamente del bus del procesador. Este bus se usa como intermediario entre el bus I/O y el bus del procesador para incrementar su velocidad utilizando el reloj del sistema para tomar todas las ventajas de la ruta de datos del CPU. CAPITULO II 2. MEMORIAS Igual que existen distintos tipos de buses, también hay muchas clases de memoria. Básicamente, la memoria puede dividirse en dos tipos : · RAM (Random Access Memory, memoria de acceso aleatorio) · ROM (Read Only Memory, memoria de acceso aleatorio) Ambos tipos almacenan los datos en forma de instrucciones que el microprocesador puede ejecutar, o bien datos que componen la información que el procesador manipulará durante la ejecución de un programa. La gran diferencia entre la memoria RAM y la ROM es la forma en que cada una de ellas mantiene la información. El microprocesador puede almacenar y recuperar datos en la memoria RAM de forma ágil y rápida, pero éstos se pierden al desconectar la máquina. En el caso de la memoria ROM el procesador no puede almacenar la información, sólo leerla, pero, al contrario de lo que sucede con la memoria RAM, su contenido no se pierde cuando se desconecta el ordenador. Gracias a esta característica de la memoria ROM, cuando se arranca el ordenador, el microprocesador puede recuperar, desde ella, el programa que va a permitirle empezar a funcionar. INSTITUTO TECNOLÓGICO SUPERIOR “DAVID AUSUBEL” SEMIPRESENCIAL VICERRECTORADO ACADÉMICO La memoria RAM orientada a la administración de datos y las instrucciones de cada programa a ejecutar y memoria CACHE dedicada a optimizar las características generales del sistema, ahorrando los tiempos de lectura y escritura. Asimismo hay dos tipos de memoria CACHE, la que se encuentra ensamblada en forma interna, es decir directamente dentro de la CPU y la memoria caché externa, compuesta de pequeños chips, ubicados cerca de la CPU. Actualmente los software desarrollados consumen bastantes Mbytes de memoria, por lo que yo te recomiendo que si estás buscando la forma de mejorar el rendimiento de tu PC, agrega más memoria RAM y memoria CACHE a tu sistema (aun que tratándose de esta última no es tan significativo), verás que su rendimiento es muy superior. Ejercicio # 1 2.1 AUMENTANDO MEMORIA A TU EQUIPO. Cuando planees una actualización o expansión de la memoria física de tu sistema, debes tener en cuenta que tipo de memoria deseas agregar: Si se trata de memoria caché, solamente tienes que fijarte si tu tarjeta madre tienes zócalos disponibles para los chips, en caso que así sea, ponlos siempre respetando el orden de los pin de la memoria. Luego tienes que localizar los jumpers que te permiten configurarla. También es posible que deba ser habilita desde el setup del sistema. Ahora si pretendes aumentar la cantidad de memoria RAM (que es lo más recomendable), debes verificar si utiliza SIMM de 32 ó 72 pin. Muchas tarjetas madres aún cuentan con memoria de 32 pines mientras que los equipos más modernos utilizan módulos SIMM de 72 pines, existen algunas tarjetas de sistema que utilizan ambas, pero realmente son muy pocas. Existe una gran variedad de tipos de memoria RAM, la mayoría de los PCs fabricados desde 1994 usan chips RAM dinámico de tipo Salida de Datos Extendida, o más conocidos como memoria EDO, montados en módulos en línea individuales SIMMs; las máquinas más nuevas usan chips de RAM dinámico sincrónico, igualmente conocidos como SDRAM, ellos van montados en líneas duales DIMMs. Para agregar más memoria RAM a tu sistema haz lo siguiente: 1. Desconecta tu PC de la red de energía, quita la cubierta y ubica los zócalos de memoria, generalmente son de color blanco. 2. Para instalar el SIMM orienta una pequeña muesca en la dirección correcta y procede a insertar el módulo un poco inclinado, luego presiona hacia abajo suavemente y vuélvelo a la posición vertical hasta que los seguros de cada lado cierren firmemente. INSTITUTO TECNOLÓGICO SUPERIOR “DAVID AUSUBEL” SEMIPRESENCIAL VICERRECTORADO ACADÉMICO 3. Enciende luego tu PC, el BIOS de tu sistema reconocerá automáticamente la memoria adicional y mostrará la cantidad que posees. Algunos equipos más antiguos necesitan que la nueva memoria sea configurada mediante el setup del sistema. 4. Finalmente y luego de haber comprobado que tu computador funciona correctamente, procede a taparlo y a probar la nueva memoria con tus programas favoritos. La memoria lógica se define como el área de uso real de la memoria del sistema. La memoria física a su vez se divide en dos: memoria tipo SIMM de 72 pines y DIM de 168 pines, esta última son los módulos o bancos de memoria que instalamos en las bases de la PC, cada una de estas tiene sus propias características. 2.2 PERIFÉRICOS DEL SISTEMA TARJETA DE VIDEO La tarjeta de vídeo es la encargada de gestionar las imágenes y datos que la computadora envía a la pantalla. Es el puente que une el procesador al monitor y por ella pasan todos los datos que el ordenador y los programas generan. La tarjeta de video es probablemente el periférico de mayor uso y sin embargo, es uno de los pocos que no devuelve prácticamente ninguna información al CPU. Gracias a ellas, los monitores son capaces de representar imágenes y datos. Se encargan de traducir las señales que reciben del procesador en señales adecuadas para ser interpretadas por el monitor. ELECCIÓN DE UNA TARJETA DE VIDEO A continuación se describen algunos de los conceptos que permiten determinar la calidad y capacidad de una tarjeta de video, los cuales nos ayudan a determinar la mejor opción al momento de adquirir o evaluar una tarjeta de video. RESOLUCIÓN La resolución de la tarjeta de vídeo es el número tatal de puntos que se peden representar en la pantalla, teniendo en cuenta tanto los horizontales como los verticales. Así, como una tarjeta MDA puede representar una matriz de 720 x 350 puntos en la pantalla, la tarjeta SVGA puede llegar a representar una matriz de 1280 x 1024 puntos, dependiendo del número de colores establecidos y la cantidad de memoria incluida en la dicha tarjeta. Hay que tener en cuenta que en las tarjetas VGA y SVGA, la resolución y el número de colores son dos parámetros que están estrechamente lígados con la memoria INSTITUTO TECNOLÓGICO SUPERIOR “DAVID AUSUBEL” SEMIPRESENCIAL VICERRECTORADO ACADÉMICO de la tarjeta de tal manera que a mayor resolución, para la misma memoria, menor número de colores. COLORES El número de colores es un factor que consume memoria de video. Es poco importante en la mayoría de los casos, si se utiliza la computadora para aplicaciones que no requieran gráficos ni imagen. Sin embargo, puede convertirse en un factor decisivo si, por el contrario, vamos a trabajar con imágenes fotográficas, programas de CAD, retoque de imágenes o animación. Considere la diferencia en calidad de imagen que existe entre 256 colores y 16 millones de colores. Toda esta alta calidad en imagen consume más recursos de memoria. Lo esencial es buscar el equilibrio entre resolución y número de colores. 2.3 MEMORIA DE UNA TARJETA DE VIDEO La memoria de una tarjeta de vídeo se encarga, entre otras cosas, de tener un mapa de la pantalla punto a punto, bit a bit. En ella se almacena el valor correspondiente de información necesaria para que cada punto de la pantalla se ilumine o no y con qué color. A continuación comentaremos poco de historia acerca de las tarjetas de video: Los primeros computadores no tenían un muy buen rendimiento al trabajar con imágenes, a raíz de ello, se comenzó a desarrollar diferente hardware para mejorar este defecto. Luego hizo aparición el GUI (Interfaz Gráfico de Usuario), haciendo imprescindible y muy necesario, tarjetas gráficas que nos entregaran mayor resolución de imagen, obviamente ello requería también velocidades mayores de proceso en ellas. Esto también significó que la CPU debía ejecutar un mayor número de operaciones hasta lograr que se visualizaran todos los niveles que conformaban la imagen. Primeramente dotó a la tarjeta de video con un circuito especial llamado acelerador gráfico, el que se encargaba de ejecutar varias funciones para dar una buena imagen a través de la pantalla, trabajo que sin contar con este circuito, debería ejecutar la CPU, lográndose en consecuencia que ésta se dedique prácticamente en forma exclusiva al proceso de información. Seguidamente y con el fin de continuar el mejorando el rendimiento de las tarjetas de video, se comenzó a instalar otros circuitos dedicados al proceso gráfico, llamados coprocesadores gráficos. Aún con estos dos adelantos, existía todavía un problema que se presentaba al conectar las tarjetas de video en los buses de expansión, debido a que éstas mantenían la limitante INSTITUTO TECNOLÓGICO SUPERIOR “DAVID AUSUBEL” SEMIPRESENCIAL VICERRECTORADO ACADÉMICO de velocidad de reloj de 8 MHz que presentaba la tecnología ISA con un ancho de banda de 16 bits. Debido a esto se desarrollaron buses especiales, VESA (Video Electrónicos Standard Asociación) y PCI (Peripheral Component Interface), permitiendo comunicar dispositivos conectados a dichos buses con el procesador a la misma velocidad con la que funciona la CPU (en teoría), además debemos recordar que estas interfaces poseen un ancho de banda de 32 bits, por lo que la transferencia de información se realizaría de un modo mucho más rápido. Ahora estos buses no son iguales, existe una diferencia importante entre ellos, el bus local VESA es síncrono como el ISA, por lo que si la velocidad de un dispositivo conectado al bus es inferior a la de la CPU, necesariamente existen estados de espera relentizando la velocidad de transferencia. A diferencia el bus local PCI funciona en forma asíncrona, por lo que su rendimiento es mucho más optimizado y las diferencias de velocidad entre los dispositivos no implican que la CPU se detenga hasta terminar la transferencia. Finalmente también se espera el aumento del tamaño de bus VESA y PCI de los 32 bits con que cuentan en este momento, a los 64 bits para obtener el cien por ciento de rendimiento al utilizar los nuevos coprocesadores gráficos de 64 bits, que poseen tarjetas de video actuales. En resumen, a la hora de seleccionar nuestra placa de video, deberemos inclinarnos por una de norma PCI. 2.4 MONITORES Los monitores al igual que las tarjetas de vídeo han venido evolucionando, desde aquel viejo monitor “RGB” capaz de manejar imágenes a color (16colores) Pero con resoluciones de una TV (640 x 200), hasta llegar a los nuevos monitores VGA y UVGA (ultra VGA), capaces de manejar 64 millones de colores y resoluciones de 1600 x 1200 puntos, en tamaños de 14” y 17” para todo tipo de actividades, hogar, diseño, AutoCAD e ingeniería. Los monitores consiste, en los equipos de sobremesa, en un tubo de rayos catódicos, en éste tres haces de electrones correspondiendo a los tres colores básicos (rojo, verde y azul) inciden sobre una rejilla tras la cual está situada una pantalla de fósforo que se ilumina. Estos haces recorren la pantalla de izquierda a derecha y de arriba abajo formando la imagen. Hecho esto se sitúan de nuevo en la esquina superior izquierda para formar una nueva imagen. Cada uno de estos tres haces da lugar a un punto de color básico (rojo, verde o azul), la agrupación de los tres puntos de color básicos da lugar a un punto de la imagen denominado píxel. INSTITUTO TECNOLÓGICO SUPERIOR “DAVID AUSUBEL” SEMIPRESENCIAL VICERRECTORADO ACADÉMICO Por último, respecto al monitor cabe destacar la frecuencia con que estos haces forman una imagen, cuanto mayor sea ésta mayor será la calidad de la imagen, y la máxima resolución con que pueda trabajar, número de pixel horizontales y verticales. El monitor recibe a su vez la información de la tarjeta gráfica, en ésta cabe distinguir la memoria de vídeo que implicará la máxima resolución que pueda producir la tarjeta gráfica, y a partir del desarrollo VGA el DAC (Conversor Digital Analógico) encargado de traducir la señal digital generada por el procesador a formato analógico para que pueda ser representada en el monitor. 2.5 EL TECLADO: Compuesto como su nombre indica por una serie de teclas que representan letras, números y otros caracteres especiales. Al presionar un carácter en el teclado se produce un tren de impulsos que ingresa en el ordenador a través de un cable. Todo tren de impulsos está constituido por estados de tensión eléctrica y no tensión, unos y ceros, es decir, por bits. Para codificar los caracteres se suele usar el estándar ASCII ( American Standard Code for Información Interchange ) o el EBCDIC menos extendido. En ambos, cada carácter esta codificado mediante ocho bits, así por ejemplo utilizando ASCII la letra A sería 01000001, la B 01000010 y la C 01000011. Para intentar asegurar la fiabilidad en la transmisión, se añade un bit adicional denominado bit de paridad, si el ordenador que empleamos es de paridad par se añadirá un uno o un cero a cada carácter para que el total de unos trasmitidos sea par. Por ejemplo, si pulsamos la letra C, el número de unos correspondiente a su código ASCII es tres, y en este caso, añadiríamos un uno adicional para que el total de unos transmitidos sea cuatro, es decir par. 2.6 EL RATÓN O MOUSE: Los más habituales son los ratones mecánicos, en estos en su parte inferior se encuentra una bola que rueda al deslizar el ratón sobre la superficie de la mesa o de una alfombrilla, el movimiento de la bola se transmite a dos ejes perpendiculares y de éstos a unas ruedas dentadas con un sistema óptico que permite captar el giro de cada una de estas ruedas, de aquí, mediante la electrónica del ratón, estos valores de movimiento serán enviados por el puerto serie (COM 1, COM 2,..) - por el puerto serie los datos se transmiten bit a bit -, o de un bus especial para el ratón, hacia la CPU, que mediante el programa adecuado podrá situar el cursor en la pantalla. Al pulsar el botón o botones del ratón, la CPU sabrá, por tanto, sobre que elemento de la pantalla se está actuando. 2.7 DISQUETERAS: INSTITUTO TECNOLÓGICO SUPERIOR “DAVID AUSUBEL” SEMIPRESENCIAL VICERRECTORADO ACADÉMICO Contienen un motor eléctrico que permite girar el soporte de datos, disquete o floppy disk o FD , y uno o dos cabezales de lectura y escritura que pueden situarse en un punto específico del disquete, éste a su vez está formado por una superficie circular de material plástico recubierto de una substancia que puede magnetizarse. El cabezal, al situarse sobre una zona del disquete, que se encuentra girando a unas 360 r.p.m., provoca en éste una señal eléctrica que es codificada en formato binario por la electrónica de la disquetera. Esta señal se transmite por una cinta (un grupo de finos cables eléctricos) a la controladora de FD/HD - conectada en una de las ranuras de expansión o integrada en la propia placa base -, y de ésta al microprocesador o a la memoria. El proceso de escritura en el FD sigue los mismos pasos pero en sentido contrario. Existen disqueteras de diferentes tipos, las primeras tenían una anchura de 5 ¼ pulgadas y evolucionaron desde las que podían contener 160 KB hasta las más modernas de 1,2 MB, más tarde hicieron su aparición las disqueteras de 3 ½ pulgadas que podían almacenar en un principio 720 KB y posteriormente 1,44 MB. Éstas últimas unen a su menor tamaño y mayor capacidad, el albergar en una carcasa de plástico rígido al disquete y de este modo protegerlo de modo mucho más efectivo. 2.8 DISCOS DUROS (HD): Se componen de varios discos circulares rígidos, y no flexibles como en el caso de las disqueteras, recubiertos de un material susceptible de ser magnetizado. Pueden ser grabados o leídos mediante un cabezal por ambas caras mediante un proceso similar al de los FD, la diferencia estriba en la muy superior velocidad de giro de éstos, por lo menos unas 3.600 r.p.m. Los HD pueden lograr estas elevadas velocidades de giro debido a que se encuentran herméticamente cerrados dentro de una carcasa de aluminio. Debido a las elevadas velocidades de giro los HD logran unos tiempos de búsqueda promedio muy inferiores a las disqueteras y unas velocidades de transferencia muy superiores, ambas características los convierten en el medio más rápido - excluyendo la memoria principal - para almacenar o transferir información por el momento. El proceso de formatear el HD se realiza de forma similar al disquete, pero como ya hemos comentado, los discos duros suelen estar formados por más de un disco y cada uno de estos puede ser formateado por ambas caras. Así un HD se divide en cabezales, cada uno de éstos en cilindros o pistas, y cada una de éstas, en sectores. La capacidad total de un HD se puede calcular entonces: Capacidad total = nº de cabezales x nº de cilindros x nº de sectores por pista x nº de bytes por sector Por otra parte, el sistema operativo MS-DOS divide el HD en los denominados "clusters", éstos constituyen las unidades más pequeñas de información que puede direccionar éste sistema operativo dentro de un HD, y están formados por un número INSTITUTO TECNOLÓGICO SUPERIOR “DAVID AUSUBEL” SEMIPRESENCIAL VICERRECTORADO ACADÉMICO variable de sectores según sea la capacidad total del HD. Una de las nefastas consecuencias de éste método consiste en que cuando el HD es grande, 1 GB o más, los clusters también son muy grandes y cada fichero que se encuentra en el HD ocupa al menos un cluster, cuando el fichero es más pequeño que el cluster parte del cluster se desperdicia, ya que en este cluster no se puede guardar ningún otro fichero. Así nos encontramos discos duros prácticamente llenos, en los que si sumamos el tamaño total ocupado por los ficheros no coincide con el tamaño ocupado que nos muestra el sistema operativo. Por ejemplo, en un HD de 2 GB de capacidad se pueden llegar a desperdiciar fácilmente más de 500 MB. La única solución a este problema consiste en dividir el disco duro en varios de menor tamaño, es decir, realizar varias particiones mediante el comando FDISK de MS-DOS. Por otra parte, el HD y el FD necesitan de una electrónica para comunicarse con el ordenador. Está electrónica se encuentra en una tarjeta denominada "controladora de HD/FD", existen diversos estándares de controladoras, y cada controladora sólo puede operar con los HD de su tipo. Los antiguos HD eran del tipo MFM o RLL, después surgieron los IDE y los Enhanced IDE, y los SCSI en sus distintas versiones. Las controladoras IDE también pueden "controlar" otros dispositivos como unidades CDROM, las SCSI aparte de los CD-ROM también se utilizan con otros dispositivos como Escáneres. 2.9 CD-ROM: Estas unidades de almacenamiento están constituidos por un soporte plástico en las que un láser ha realizado unas pequeñas hendiduras, esta capa se recubre con una capa de material reflectante, y ésta con otra capa de protección. En el momento de la lectura un láser de menor intensidad que el de grabación reflejará la luz o la dispersará y así podrán ser leídos los datos almacenados. Las pistas en este soporte se encuentran dispuestas en forma de espiral desde el centro hacia el exterior del CD-ROM, y los sectores son físicamente del mismo tamaño. El lector varia la velocidad de giro del CD-ROM, según se encuentre leyendo datos en el centro o en los extremos, para obtener una velocidad constante de lectura. La velocidad de transferencia de estas unidades ha ido variando, las primeras unidades tenían una velocidad de 150 KB/s y se denominaron de simple velocidad, ya que esta velocidad de transferencia era la que venía recogida en las especificaciones del MPC (Multimedia PC Marketing Council), posteriormente han ido apareciendo unidades 2X (2 x 150 = 300 KB/s), hasta en la actualidad 12X (12 x 150 = 1.800 KB/s). INSTITUTO TECNOLÓGICO SUPERIOR “DAVID AUSUBEL” SEMIPRESENCIAL VICERRECTORADO ACADÉMICO Una de las principales ventajas de los CD-ROM es que el desgaste es prácticamente nulo, y la principal desventaja es que no podemos cambiar lo que existe grabado, como podemos hacer en un HD o un FD. En un CD-ROM podemos almacenar hasta 650 MB de información, lo que supone almacenar unas 150.000 páginas de información, o la información contenida en 1.200 disquetes. Existen unidades CD-ROM que se conectan a controladoras IDE y otras a controladoras SCSI como ya se ha mencionado al hablar de los discos duros. Recientemente han hecho su aparición las unidades DVD (Digital Video Disc), éstas unidades son básicamente un CD-ROM con una muy superior densidad de grabación, logrando una capacidad de almacenamiento de 4,38 GB si se graban por una sola cara y una capa, hasta 15,90 GB si la grabación se realiza en dos caras y con dos capas. Cada cara puede tener hasta dos capas Respecto a la compatibilidad de los DVD con los CD-ROM es absoluta en el caso de los CD-ROM estampados industrialmente y de los CD-RW; pero no así con los CD-R (procedentes de un grabador) que necesitan para ser leidos por un lector DVD, que éste disponga de dos láseres (láser dual). En ambos tipos de disqueteras los disquetes pueden ser protegidos contra escritura, en las primeras es necesario usar un papel adhesivo, mientras que en las de 3 ½ " esta función la realiza un cierre deslizante (véase Figura 10). Para poder localizar los datos en el FD previamente se deben realizar una serie de marcas en el mismo, este proceso se denomina formatear el disquete y consiste en dividirlo en una serie de pistas concéntricas y cada una de éstas en una serie de sectores, véase Figura 11, por ejemplo los disquetes de 3 ½ " y 1,44 MB de capacidad poseen 80 pistas en cada cara y 18 sectores por pista. La situación de cada archivo está almacenada en la FAT (File Allocation Table), éste método es el que sigue el MS-DOS y algunos otros sistemas operativos. 2.10 EL ESCÁNER: Permite convertir información gráfica en una imagen digitalizada o mapa de bits ("Bitmap"). La imagen que se desea digitalizar se coloca en el escáner, en éste la imagen es recorrida por un haz luminoso, y la luz reflejada es recogida por un dispositivo tipo CCD (del mismo tipo que el que incorporan las cámaras de vídeo) que convierte la señal INSTITUTO TECNOLÓGICO SUPERIOR “DAVID AUSUBEL” SEMIPRESENCIAL VICERRECTORADO ACADÉMICO luminosa en señal eléctrica, posteriormente esta información se convierte en señales digitales que ingresaran en el ordenador. LA IMPRESORA: Nos sirve para tener una copia impresa de datos o figuras, en definitiva de la información elaborada o almacenada en el ordenador. Existen diferentes tipos de impresoras, matriciales o de agujas, de inyección de tinta, láser, etc. . Todas ellas suelen recibir la información a través del puerto paralelo del ordenador - por el puerto paralelo (LPT 1,..) los datos se transmiten en grupos de 8 bits y utilizan para ello un cable tipo Centronics. Las impresoras matriciales contienen en el cabezal de impresión una serie de agujas (9, 18, 24 ó 48) que golpean la cinta entintada y ésta al papel, dando lugar así a la información impresa. El número de agujas, evidentemente, implica una mayor calidad en la impresión. Las impresoras matriciales suelen disponer de una técnica denominada NLQ que consiste en imprimir el mismo carácter dos veces pero ligeramente desplazado, de este modo se puede mejorar la calidad de la impresión, aunque ésta resulta más lenta. La principal ventaja de las impresoras matriciales es su bajo costo y su rapidez. Existen impresoras matriciales de color aunque los resultados son bastante limitados. Las impresoras de inyección contienen un cartucho de tinta para la impresión en blanco y negro y otro o otros tres con los colores Cyan, Magenta y Amarillo para la impresión en color. En estas impresoras la tinta se sitúa en el cabezal y mediante una resistencia se calienta éste que expulsa una burbuja de tinta contra el papel. Las impresoras de inyección producen muy buenos resultados en la impresión tanto en blanco y negro como en color. Debido a su reducido coste y a su calidad son hoy día las de mayor aceptación. Las impresoras láser utilizan un tambor fotosensible que es activado por un láser, este tambor después de ser activado por el láser queda impregnado por el carboncillo del toner que puede pasar al papel. Las impresoras láser producen documentos de gran calidad y con una velocidad superior a las de inyección, pero requieren de una memoria o buffer elevada y suelen ser caras. Un grupo especial de impresoras láser y también de inyección lo constituyen las impresoras PostScript, en éstas la imagen no es enviada a la impresora en forma de matriz de puntos, sino como gráfico vectorial, de este modo se le puede decir a la impresora "imprime un circulo de radio r cm centrado en el punto x,y", el resultado es una mayor calidad de impresión en gráficos y figuras. Existen otros tipos de impresoras como las de margarita, transferencia térmica de cera, de sublimación, etc. INSTITUTO TECNOLÓGICO SUPERIOR “DAVID AUSUBEL” SEMIPRESENCIAL VICERRECTORADO ACADÉMICO CAPITULO III 3. COMUNICACIÓN INTERNA DEL COMPUTADOR (BUSES) 3.1 EL BUS PCI / INTRODUCCIÓN AL PC Y A SUS BUSES En las líneas siguientes hemos decidido describir una guía ejemplo, del desglose de una cantidad de términos relacionados con el ordenador personal (PC) y lo que el “hardware” ha ido proporcionando al mercado desde la aparición del primer ordenador compatible hasta los modernos equipos que ahora nos ofrece el panorama informático. Pretendemos dar una breve descripción de términos tales como buses y puertos. Para comenzar vamos a comentar las siglas más estandarizadas dentro de la Terminología informática. Los PC’s han ido variando su arquitectura con los años a fin de conseguir más potencia y velocidad. Este pequeño portátil incorpora más tecnología que la empleada en las primeras misiones espaciales. RECURSOS DE UN PC Antes de comenzar el estudio de los buses del PC, y en concreto el bus PCI, vamos a dar unas definiciones básicas, para la comprensión del entorno en el cual trabajan estos buses. Los principales recursos de un PC son: memoria, puertos de entrada/salida, interrupciones y canales de DMA. 3.2 MEMORIA Remontándonos al principio de los tiempos, a los microprocesadores 8088 y 8086, se les podía hacer funcionar en modo mínimo o máximo, según estuviera cableada una de sus patillas. INSTITUTO TECNOLÓGICO SUPERIOR “DAVID AUSUBEL” SEMIPRESENCIAL VICERRECTORADO ACADÉMICO En cuanto, principalmente al uso de la memoria, los procesadores del 80286 en adelante funcionan en modo Real o Protegido. En modo Real el acceso a memoria física está limitado al primer megabyte, y a los primeros 64K-16 bytes del segundo megabyte. El procesador arranca en modo Real, y pasa a protegido ejecutando determinadas instrucciones. El MSDOS se diseñó para uso del primer megabyte, y distingue los primeros 640 Kbyte (memoria convencional) del resto del primer megabyte. Con el transcurso de los años se vio que esto era insuficiente. En ese resto tenemos el espacio de memoria de video (RAM y ROM), ROM de diversos periféricos, ROM BIOS, etc La memoria física por encima del primer megabyte se llama extendida. Hay que tener en cuenta que en el bus ISA de 16 bits sólo hay acceso a los primeros 16 MB de memoria direccionable, ya que sólo contiene los bits de dirección A0-A23. En resumen, se distingue: Primer megabyte, donde a su vez se distinguen: Memoria extendida, cuyos primeros 64K-16 bytes conocidos como Memoria Alta (HMA) son accesibles en modo Real del 80286 en adelante. 3.3 PUERTOS DE ENTRADA / SALIDA El rango de puertos puede ir de 0 a 0FFFFH; no obstante, en muchos PC’s existe una limitación al reconocimiento de puertos superiores al 3FFH. De estos totales, podemos distinguir varios rangos: 0-FFH: puertos estándar en la placa base, o reservados en el chipset. 100H-1FFH: algunos puertos estándar 200H-3FFH: la generalidad de puertos estándar en el bus ISA. 400H en adelante: funciones especiales, puertos en bus PCI, etc... Algunos puertos tienen nombres simbólicos asignados en el sistema operativo, como: Comunicaciones: COM1 (3F8H-3FFH), COM2 (2F8H-2FFH), COM3 (3E8H-3EFH) y COM4 (2E8H-2EH). Impresoras: LPT1 (3BCH-3BFH), LPT2 (378H-37FH) y LPT3 (278H-27FH) No obstante, puede ser que LPT1, por ejemplo, para el sistema operativo sea el primer puerto encontrado buscando según orden anterior. Es importante conocer la ubicación de otros puertos: Puerto de juegos: 200H-207H Puertos IDE: IDE primario: 1F0H-1F7H y 3F6H-3F7H. Usa IRQ14 IDE secundario: 170H-177H y 376H-377H. Usa IRQ15 IDE terciario: 1E8H-1EFH y 3EEH-3EFH. Suele usar IRQ11. INSTITUTO TECNOLÓGICO SUPERIOR “DAVID AUSUBEL” SEMIPRESENCIAL VICERRECTORADO ACADÉMICO IDE cuaternario: 168H-16FH y 36EH-36FH. Suele usar IRQ10. INTERRUPCIONES Desgraciadamente IBM, hacia 1981, hizo un diseño deficiente y pobre del sistema de interrupciones hardware del PC, que no se mejoró mucho cuando apareció el AT, y que por compatibilidad se ha mantenido. Las interrupciones de sistema (fijas) son: IRQ0: reloj del sistema IRQ1: teclado IRQ2: cascada para IRQ8-15 IRQ6: disquetera IRQ8: reloj cmos IRQ13: coprocesador Las interrupciones casi fijas (pueden reasignarse) son: IRQ3: COM2 IRQ4: COM1 IRQ12: ratón PS/2 IRQ14: IDE primario IRQ15: IDE secundario El resto suele tener una asignación tradicional: IRQ7: impresora si el software de impresión utiliza interrupciones, lo que suele ser configurable IRQ9: tarjeta gráfica, si ésta utiliza interrupciones IRQ10: tarjeta de sonido o de red IRQ11: tarjeta SCSI Supongamos un PC con tarjeta gráfica que utiliza interrupciones, tarjeta de sonido,tarjeta de red, tarjeta SCSI, módem interno, dos discos duros IDE, CDROM IDE, ratón PS/2, y queremos utilizar COM1 y COM2 simultáneamente con el módem interno. La asignación debe ser: bien cuando imprimamos no pondremos en marcha la tarjeta de sonido, y a la inversa). M En el bus ISA las interrupciones podrían compartirse si no se utilizan simultáneamente, aunque para asegurar esto debería disponerse del esquema eléctrico de las fuentes de interrupción. En el bus PCI las interrupciones pueden compartirse, pero los sistemas INSTITUTO TECNOLÓGICO SUPERIOR “DAVID AUSUBEL” SEMIPRESENCIAL VICERRECTORADO ACADÉMICO operativos no soportan esta compartición. Sobre 1999 las placas base ya no deberían incluir bus ISA. CANALES DE DMA Son: DMA0: libre (en primeros PC’s se utilizaba para refresco de la memoria dinámica) DMA1: libre DMA2: disquetera DMA3: libre DMA4: cascada para DMA5-7 DMA5: libre, transferencias de 16 bits con DMA4 DMA6: libre, transferencias de 16 bits con DMA4 DMA7: libre, transferencias de 16 bits con DMA4 A veces nos podemos encontrar que tarjetas de sonido se están utilizando en puertos de impresora ECP o en dispositivos especiales. ESCENARIO Normalmente, las dificultades en el uso de los recursos aquí mencionados provienen del pobre diseño de las interrupciones en el primer PC. De la misma forma, los periféricos para el bus ISA se diseñaron de modo que no se podían compartir las interrupciones, por lo que los sistemas operativos tampoco previeron que se compartieran. El bus PCI sí permite compartir interrupciones, por lo que sistemas operativos nuevos como Linux, NT y Windows 98 ya prevén la compartición. No obstante, en un PC moderno, y como se ha explicado, podemos localizar interrupciones en: Bus ISA: no compartibles, pero este bus tiende a desaparecer Internas en la placa base. Bus PCI: pueden compartirse Bus AGP: este es un bus nuevo, exclusivamente para placas gráficas Luego, puede ser posible, por ejemplo, una tarjeta SCSI PCI y una tarjeta de red PCIambas en IRQ11, pero sobre si la compartición de interrupciones puede mezclarse de entre las cuatro partes antes dichas (por ejemplo, una tarjeta de red ISA y una tarjeta SCSI PCI ambas sobre IRQ11), aunque eléctricamente debería ser fácil, no parece que los fabricantes de placas base lo hayan realizado, y no parece haber documentación al respecto. ALGO SOBRE “BUSES” Al hablar sobre ordenadores hemos de remitirnos a su propia terminología y una de las palabras comúnmente aceptadas dentro del mundillo electrónico / informático es el de “BUS”, donde nos referimos a lo que podríamos denominar el “camino” interno por donde circulan los datos dentro de un PC. Esto incluye a la comunicación que se da entre el procesador, la memoria, las tarjetas del sistema, los dispositivos de almacenamiento (discos, DC’s, etc..), y los puertos de conexión al exterior del ordenador. Un BUS, en términos estrictamente electrónicos, es un canal constituido por una serie de conductores donde los diferentes componentes conectan entre sí e intercambian INSTITUTO TECNOLÓGICO SUPERIOR “DAVID AUSUBEL” SEMIPRESENCIAL VICERRECTORADO ACADÉMICO información. Si quisiéramos buscar un ejemplo podríamos citar el recorrido que el cable telefónico describe dentro de nuestra casa. En este caso el Bus sería este cable y los dispositivos interconectados serían los diferentes equipos telefónicos de que dispongamos en nuestro hogar. Al hablar de “BUS” nos referimos a lo que podríamos denominar el “camino” interno por donde circulan los datos dentro de un PC. Dependiendo del tipo de Bus conseguiremos mejores o peores prestaciones del ordenador que utilicemos. Dentro de un PC -o de cualquier otro tipo de ordenador- se utilizan típicamente tres tipos de Buses: Bus de DATOS Bus de CONTROL Bus de DIRECCIONES En la práctica podemos encontrar los siguientes estándares dentro de los tipos de Buses Existentes: Bus MCA Bus PCI Bus AGP Existen en el Mercado toda una serie de adaptadores para compatibilizar conexiones del ordenador. Vemos aquí diferentes adaptadores Todos los buses de los cuales hablaremos a continuación se llaman buses de expansión, y se pueden definir como el conjunto de líneas encargadas de conectar el bus del sistema con otros buses de dispositivos externos a la placa principal, como una tarjeta controladora de discos, una controladora de videos, un controlador de CD-ROM, un fax modem, una tarjeta multi I/O, etc... Buscando que la comunicación de los datos entre los buses de dispositivos externos y el bus del sistema sea lo más rápida posible, se han diseñado varias arquitecturas o esquemas que combinan software (programas de manejo) y hardware (cantidad de líneas, conectores y circuitos electrónicos), entre las que se destacan el bus de expansión ISA, el EISA, el EDSI, el SCSI, el IDE, etc.... El bus de expansión usualmente dispone de 6 a 8 conectores de ranura o slots en los que se puede conectar, en cualquier orden, las tarjetas controladoras de dispositivos periféricos. Además de tener acceso a las líneas principales del bus del sistema, los conectores del bus de expansión también tienen las líneas que conducen la potencia eléctrica requerida por los dispositivos para funcionar. En apartados posteriores profundizaremos un poco más en las características y en la estructura de los buses, así como en su jerarquía. INSTITUTO TECNOLÓGICO SUPERIOR “DAVID AUSUBEL” SEMIPRESENCIAL VICERRECTORADO ACADÉMICO En este momento daremos unas nociones básicas de los diferentes tipos de buses de expansión que existen en el mercado. EL BUS TIPO ISA El Bus tipo ISA (Industry Standard Architecture) es el tipo de BUS con el que nació el ordenador tipo PC tal y como hoy lo conocemos y, por tanto, el más extendido y común de los existentes. El bus ISA ha sido también uno de los mayores frenos al desarrollo hardware de los ordenadores desde su inicio ya que su naturaleza de 8 bits no fue actualizada a los 16 bits hasta el año 1984. Su existencia actual se debe, principalmente, a la enorme compatibilidad existente en el mercado de las tarjetas de ordenador a nivel mundial. Aún así la norma ISA es más que suficiente para muchos tipos de tarjetas (los MODEM de tipo genérico son un claro ejemplo de ello). El Bus tipo ISA (Industry Standard Architecture) es el tipo de BUS con el que nació el ordenador tipo PC tal y como hoy lo conocemos. Si echamos la vista atrás podemos ver que el Bus ISA nació a la sombra de los primeros chips 8088, los cuales utilizaban un bus de datos de tan sólo 8 bits. En el año 1984 la firma Intel introdujo en el mercado los procesadores de tipo 80286, lo que forzó a ampliar la norma ISA a 16 bits. Para ello, simplemente se colocó a continuación de algunas de las ranuras de expansión de 8 bits, otra ranura suplemento más corta, la cual se encarga de manejar los 8 bits adicionales del bus de datos, además de otras cosas. El bus ISA no ha sugerido ulteriores variaciones y existe en las placas base actual. Puesto que el bus de datos puede manejar paralelamente datos hasta de 16 bits, muchos se refieren al bus de expansión como bus de 16 bits. EL BUS TIPO EISA El Bus tipo EISA (Extended Industry Standard Architecture) hace mención en su denominación a la “extensión” de su uso, lo cual no es fiel reflejo de la realidad ya que el Bus EISA nunca ha sido utilizado de forma masiva en el mundo informático. Su nacimiento no fue más que una respuesta de nueve fabricantes de equipos compatibles con IBM, encabezados por la firma Compaq al lanzamiento al mercado, por parte de IBM, del estándar denominado MCA y que posteriormente comentaremos. Debido a la forma en que apareció en el mercado, y deseando evitar los garrafales errores cometidos por IBM, la firma Compaq tomó dos medidas que diferenciaron su lanzamiento del efectuado por IBM: compatibilizar el nuevo Bus con el existente (ISA) y facilitar a todos los fabricantes el acceso al desarrollo de equipos enfocados al uso de este BUS. Luego es un bus ISA mejorado. Alguna de las características más interesantes del bus EISA es: Compatibilidad con la norma ISA existente. Ancho de bus de 32 bits, que se traduce en una mejora de la velocidad de adquisición o envío de datos Modo de trabajo “Bus mastering”·. Modo de trabajo tipo “Plug & Play”. INSTITUTO TECNOLÓGICO SUPERIOR “DAVID AUSUBEL” SEMIPRESENCIAL VICERRECTORADO ACADÉMICO Para las tarjetas interfaz de periféricos tiene más funciones y más contactos que un conector de bus ISA (188 contra 98), pero se diseñó para tener plena compatibilidad previa con las tarjetas de ISA, como ya hemos dicho. Se mantienen todas las conexiones ISA en sus posiciones normales, pero se añade una nueva fila de contactos más baja para unirse a las funciones avanzadas. Estos contactos se unieron a los circuitos de la tarjeta de expansión intercalando las líneas adicionales en los espacios dejados entre los contactos normales de una tarjeta ISA. Las ranuras o slots para tarjetas EISA pueden recibir tanto tarjetas de bus ISA como de bus EISA, pero la compatibilidad es de un solo sentido: las tarjetas diseñadas para el bus EISA no trabajan en ranuras de bus ISA. A pesar de sus evidentes ventajas el bus EISA no caló en el mercado y su presencia en equipos de tipo doméstico es bastante extraño. Tan solo en equipos de tipo “servidor” de cierta envergadura se puede encontrar este tipo de bus. Las razones del fracaso de la norma EISA hay que buscarlas en el alto precio de los equipos que la incorporan, la poca disponibilidad de tarjetas compatibles con la misma y, por último, la menor prestación que ofrece si se compara con el bus VESA LOCAL y el PCI existentes en la actualidad. Dentro del ordenador el puerto paralelo se comunica con los buses de datos, control y direcciones. EL BUS TIPO VESA LOCAL BUS (VLB) Una manera de acelerar la transferencia de grandes cantidades de información desde el microprocesador a la pantalla, entre periféricos, o entre periféricos y la memoria, es crear una conexión más directa y rápida entre ellos para evitar el uso del bus de expansión común a todos los circuitos del computador, el cual es muy lento. A este minibús se le llama “bus local”. Existen actualmente fabricantes que pueden escoger entre tres diseños de bus local: uno es el bus local para video VL-Bus diseñado por VESA (que comentamos en este apartado), el segundo es un bus local para interconectar periféricos directamente a los buses de datos y direcciones del microprocesador, y el tercero es el bus local PCI (Peripheral Component InterConnect) desarrollado por Intel para aprovechar al máximo los recursos de su microprocesador Pentium, pero también se puede usar con procesadores 80486. El BUS tipo VESA Local Bus (VLB) fue introducido en el mercado en el año 1992 por la VESA (Video Electrónicos Standards Association), la cual se dedicaba principalmente a la mejora de los periféricos de vídeo para PCs. Esto significa que el BUS VESA Local Bus (VLB) naciera como una mejora destinada a las tarjetas de video conectables a nuestro ordenador. El VLB tiene un ancho de 32 bits lo que lo relaciona directamente con la tecnología de los microprocesadores de la familia 486. Al ser el BUS VESA Local Bus (VLB) una extensión de la tecnología ISA podemos utilizar un bus tipo VLB para conectar también tarjetas tipo ISA. La tecnología BUS VESA Local Bus (VLB) fue fulminada con la aparición de los micros tipo Pentium en 1994, los cuales hacen un uso más extendido de la tecnología INSTITUTO TECNOLÓGICO SUPERIOR “DAVID AUSUBEL” SEMIPRESENCIAL VICERRECTORADO ACADÉMICO PCI. La aparición del bus PCI promovida por Intel, añadida a los problemas específicos del BUS VESA Local Bus (VLB), forzaron la desaparición de este último. La adquisición de datos a través de los puertos del PC permite disponer de herramientas de trabajo muy potentes. Los diseños del bus local VESA, permiten actualmente hasta tres ranuras de expansión, suficiente para alojar la tarjeta de video, la tarjeta controladora de disco y una tarjeta adaptadora de res. El número de ranuras se ha mantenido bajo debido a la limitación impuesta por la capacitancia electrónica interna de los conectores y las altas frecuencias que deben manejar (hasta 66 MHz). Los problemas citados son: la fuerte dependencia del diseño VLB de la arquitectura 486 y su dificultad para ser readaptado a las familias Pentium, la poca viabilidad eléctrica del sistema al ser capaz de soportar un número muy reducido de tarjetas VLB (incluso sólo una en el peor de los casos) y, por último, la no compatibilidad del VLB con las normas “Bus mastering” y “Plug & Play”. Incluso antes de la desaparición masiva de los PC’s tipo 486 del mercado la norma VLB había sido y sustituida en algunas placas por la PCI. EL BUS TIPO MICRO CHANNEL ARCHITECTURE (MCA) El bus tipo Micro Cannel Architecture (MCA) –también conocido como bus McAfee un intento de la firma IBM por reemplazar a la norma ISA con algo aparentemente mayor y más rápido. Con la aparición de los micros tipo 80386DX a mediados de los 80 y su ancho de bus asociado de 32 bits. La firma IBM decidió apostar por la creación de un BUS que se adaptara a dicho de bus. El Bus MCA tiene un ancho de 32 bits e incorpora sustanciales mejoras sobre el existente bus ISA. Este nuevo tipo de bus puede ser considerado como un adelantado a su época al ofrecer allá por el año 1997 prestaciones que luego no veríamos implementadas hasta bastantes años después. Entre éstas podemos destacar: Anchura de bus de 32 bits: el bus MCA incorpora un ancho de 32 bits mejorando prestaciones del bus ISA (tal y como luego harían las normas VLB y PCI). Bus Mastering: la norma MCA ofrece “bus mastering” lo que mejora su eficacia. Plug & Play: el bus MCA configuraba automáticamente tarjetas sin necesidad de puentes específicos (esto ocurría 8 años antes de que Microsoft incorporara la norma PnP en el mercado). EL BUS MCA ofrecía grandes perspectivas pero IBM cometió dos grandes errores en su definición: primero que la norma MCA no era compatible con la existente ISA (luego las tarjetas MCA solo trabajaban en ranuras Micro Canal), y segundo que no cedió sus patentes a los fabricantes de tarjetas y periféricos para PC. Estas dos razones, unidas al alto coste de los equipos con MCA, dieron al traste con esta norma. EL BUS PCI INSTITUTO TECNOLÓGICO SUPERIOR “DAVID AUSUBEL” SEMIPRESENCIAL VICERRECTORADO ACADÉMICO El estándar para Interconexión de Componente Periférico es lo más nuevo en la tecnología de bus local. Aunque por medio del bus local VL-Bus o las ranuras exclusivas de expansión de bus local se puede manejar el video con alta velocidad y se logran mejoras en el rendimiento del disco duro, es con el bus PCI que se eleva de manera impresionante el límite del rendimiento en el manejo de datos, especialmente en los sistemas Pentium. El bus PCI (the Peripheral Component InterConnect) fue desarrollado por la firma Intel en el año 1993. Estaba enfocado a la quinta y sexta generación de micros, pero algunos miembros de la familia 486 incorporaron ya esta norma. Al igual que el VLB, el bus PCI puede manejar periféricos de 32 y 64 bits. Tiene el potencial para llevar a la pantalla video lleno de color con alta resolución y movimiento completamente uniforme (sin saltos) en ventanas múltiples, lo que lo hace ideal para aplicaciones de multimedia. Puede manejar gráficos de color verdadero (True Color) de 24 bits a razón de 30 cuadros por segundo. Las tarjetas controladoras de periféricos diseñadas para el bus local PCI tienen especificaciones de autoconfiguración grabadas en una memoria incluida en la misma tarjeta, para proveer la información de instalación necesaria para el sistema durante la fase de arranque. Las rutinas de la BIOS configuran automáticamente cada dispositivo de PCI basándose en los recursos que ya están en uso por otras tarjetas. Al menos teóricamente, el usuario no tiene que ajustar interruptores o puentes para elegir niveles de IRQ, de DMA o direcciones de memoria cada vez que agregue un periférico al sistema. Su principal ventaja con respecto al VLB estriba en su no dependencia del micro, tal como ocurría entre el bus VLB y los micros tipo 486. Además la norma PCI se utiliza también en sistemas no PC’s, lo que ha universalizado aún más, si cabe, su uso, reduciendo a la vez sus costes. Además de estas ventajas el bus PCI (norma 2.1) está preparado (no aún en sistemas PC) para manejar un ancho de 64 bits. En esta ilustración podemos ver un sencillo circuito de control para gobernar un conjunto de opto-acopladores y, con ellos, mediante el uso de triacs, controlar cualquier dispositivo ajeno al PC pero controlado por éste. Más adelante, profundizaremos más en las características, señales, direccionamiento, configuración, etc... del bus PCI. EL BUS AGP El bus AGP (Accelerated Graphics Port) es un tipo específicamente diseñado de bus local para operaciones de video. Nace de la necesidad de incrementar el ancho de banda disponible entre el microprocesador del sistema y los subsistemas de video. Fue diseñado por la firma Intel a finales de 1997 para combatir la saturación existente en los buses existentes a la hora de transferir información de video. Su utilización comenzó en los microprocesadores de tipo Pentium. Las necesidades de los nuevos gráficos con aceleración 3D y reproducción de video a pantalla completa forzaron el desarrollo de una tecnología dedicada. En realidad el bus AGP puede ser considerado como un puerto y no como un bus ya que está ideado para la comunicación entre dos únicos dispositivos: el procesador principal y el procesador de video. INSTITUTO TECNOLÓGICO SUPERIOR “DAVID AUSUBEL” SEMIPRESENCIAL VICERRECTORADO ACADÉMICO Entre sus ventajas está la posibilidad de compartir los recursos de memoria del equipo según necesidades del momento. El BUS que incorpora una placa base incluye a la comunicación que se da entre el procesador, la memoria, las tarjetas del sistema, los dispositivos de almacenamiento (discos, CD’s etc.), y los puertos de conexión al exterior del ordenador. ALGO SOBRE “PUERTOS” Las comunicaciones de un ordenador con el mundo que le rodea deben utilizar los conectores específicos que el mismo incorpora. Estos conectores –existentes en toda computadora- obedecen a dos tipos principales: los puertos o conexión paralelo y el puerto serie. En las siguientes líneas vamos a comentar brevemente algo sobre los puertos de un ordenador tipo PC. Las tarjetas captura doras de video disponen de diferentes entradas y salidas que proporcionan las señales de audio y de vídeo necesarias para los monitores destinados, principalmente, a la edición de vídeo. EL PUERTO PARALELO El conocido como puerto paralelo de un ordenador es el destinado típicamente a conectar la impresora del sistema. Fue ideado por un fabricante de impresoras (en concreto la firma Centronics), lo que hace que este puerto sea conocido como puerto paralelo o Centronics. Dentro del ordenador el puerto se comunica con los buses de datos, control y direcciones. La forma de este conector es una clavija de 25 patillas cuya foto podemos observar en la ilustración. Dicho tipo de conector se denomina “Sub-D de 25 patillas”. La información –como su nombre indica- se transmite en forma paralela e incorpora tanto líneas de entrada como de salida. En la ilustración podemos ver un esquema de los tres buses que incorpora el puerto paralelo. También podemos observar un sencillo circuito de control para gobernar un conjunto de opto-acopladores y, con ellos, mediante el uso de triacs, controlar cualquier dispositivo ajeno al PC pero controlado por éste. Mediante una sencilla rutina en un lenguaje de alto nivel (C, Pascal, itc.) podremos acceder a las direcciones que controlan los tres buses del puerto paralelo. En la ilustración podemos ver una tabla que resume la asignación de los citados buses. La impresora de un ordenador es la conexión final típica del puerto Centronics, sin olvidar que el puerto serie también puede ser utilizado por una impresora. EL PUERTO SERIE La otra fuente de comunicación de los datos desde o hacia el PC es en formato serie o, lo que es igual, los bits se van transmitiendo de uno en uno. Un puerto estándar tipo serie de un PC puede reconocerse por los dos tipos externos de conector que puede incorporar: el tipo Sub-D de 9 patillas y el homónimo de 25. Su funcionamiento es idéntico. Estos puertos han sido los típicamente utilizados para conectarse al MODEM o el “mouse” del INSTITUTO TECNOLÓGICO SUPERIOR “DAVID AUSUBEL” SEMIPRESENCIAL VICERRECTORADO ACADÉMICO sistema. Los puertos serie típicos están preparados (dependiendo de el chip de control que el PC incorpore) para trabajar con velocidades comprendidas entre 19,2 y 115,2 Kbit/s. 3.4 CONCEPTOS Y CARACTERÍSTICAS DE LOS BUSES La operación básica de un bus se realiza en un tiempo llamado ciclo de bus. En toda transacción intervienen dos participantes (agentes): el dispositivo que inicia la transacción (maestro) y el que es direccionado (esclavo). En una transferencia elemental la información se transfiere desde el origen al destino. Los buses actuales permiten realizar varias transferencias en una sola operación. Estas son algunas de las características de un bus: Banda base: la información se envía directamente sin ningún tipo de modulación. Paralelismo: serie (bit a bit) o paralelo permitiendo el envío de toda una palabra. Multiplicación: es frecuente que las líneas de un bus se encuentren multiplexadas para permitir reducir su número. De esta manera se envían por las mismas líneas informaciones distintas, por ejemplo direcciones y datos, en diferentes instantes de tiempo. Temporización: ciclo completo o partido, depende de si se ocupa completamente el tiempo del bus para realizar una transferencia. Se relaciona también con la presencia o ausencia de un único reloj que determine del inicio y fin de los ciclos, sincronismo o a sincronía. Modo de operación: síncrono o asíncrono en función de la forma en que se realice el diálogo entre los dispositivos conectados. Estrategia de control: en general, la CPU controla todas las transferencias entre un dispositivo maestro y el resto de los dispositivos. En los sistemas que disponen de varios procesadores hay varios maestros potenciales del bus por lo que se precisará de un mecanismo de arbitraje para que no se produzcan colisiones de datos. Longitud : depende de la aplicación. Velocidad de transmisión: depende de la longitud y de la lógica de control. Velocidad es igual al producto de la longitud por el paralelismo. Se suele asociar este valor con el ancho de banda. Direccionamiento: define la forma por la que el maestro elige un destino para la transferencia. Puede ser geográfica, si las direcciones están asociadas a conectores físicos o lógica, en caso de que la información sobre la dirección esté almacenada en el dispositivo destino. En este caso de direccionamiento todos los dispositivos esclavos comparan su dirección con la enviada por el maestro; si coinciden se inicia el ciclo de transferencia de datos. Capacidad de conexión: determinada por el número de dispositivos que pueden conectarse al bus. Está determinada por el direccionamiento y las características físicas del soporte. Es importante conocer estas características, ya que en el apartado siguiente serán enumeradas para el caso concreto del bus PCI. INSTITUTO TECNOLÓGICO SUPERIOR “DAVID AUSUBEL” SEMIPRESENCIAL VICERRECTORADO ACADÉMICO ESTRUCTURA DE UN BUS El bus de un sistema está constituido normalmente por entre 50 y 100 líneas. A cada línea se le asigna un significado o una función particular. Aunque existen muchos diseños de buses todos ellos se pueden clasificar en tres grupos: Además pueden existir líneas de alimentación para suministrar energía a los módulos conectados al bus. Las líneas de datos proporcionan un camino para transmitir datos entre los módulos del sistema. El conjunto constituido por estas líneas se llama bus de datos. El bus de datos normalmente está compuestos por 8, 16 o 32 líneas diferentes, este número se conoce como anchura del bus de datos. Ya que cada línea sólo puede transportar un bit cada vez, el número de líneas determina cuántos bits se pueden transferir a la vez. A anchura del bus es un factor clave a la hora de determinar las prestaciones del conjunto del sistema. Las líneas de dirección se utilizan para designar la fuente o el destino de los datos situado en el bus de datos. La cantidad de líneas de direcciones determinan la anchura del bus de direcciones y por tanto la máxima capacidad de memoria posible en el sistema. Además, estas líneas también se utilizan para direccionar los puertos de E/S. Las líneas de control se utilizan para controlar el acceso y el uso de las líneas de datos y de direcciones. Como las líneas de datos y de direcciones son compartidas por todos los componentes, debe existir una forma de controlar su uso. Las señales de control transmiten órdenes e información de Temporización entre los módulos del sistema. Las señales de Temporización indican validez de los datos y las direcciones. Las señales de órdenes especifican las operaciones a realizar. Algunas líneas de control son las siguientes: Escritura en memoria (Memory Write): hace que el dato del bus se escriba en la posición direccionada. Lectura de memoria (Memory Read): hace que el dato de la posición direccionada se sitúe en el bus Escritura de E/S (I/O Write): hace que el dato del bus se transfiera a través del puerto de E/S seleccionado. Lectura de E/S (E/S Read): hace que el dato del puerto de E/S direccionado se sitúe en el bus. Transferencia reconocida (Transfer ACK): indica que el dato se ha aceptado o se ha situado en el bus. Petición de bus (Bus Request): indica que un módulo necesita disponer del control del bus. Cesión de bus (Bus Grant): indica que se cede el control del bus a un módulo que lo había solicitado Petición de interrupción (Interrupt Request): indica si hay una interrupción pendiente. Interrupción reconocida (Interrupt ACK): señala que la interrupción pendiente se ha aceptado. Reloj (Clock): se utiliza para sincronizar las operaciones. Inicio (Reset): pone los módulos conectado en su estado inicial. INSTITUTO TECNOLÓGICO SUPERIOR “DAVID AUSUBEL” SEMIPRESENCIAL VICERRECTORADO ACADÉMICO Si un módulo desea enviar un dato a otro debe hacer dos cosas, primero obtener el uso del bus, y después transferir el dato a través del bus. Cuando un módulo desea pedir un dato a otro módulo, primero debe obtener el uso del bus, y después transferir la petición al otro módulo mediante las líneas de control y dirección apropiadas. Después se debe esperar a que el segundo módulo envíe el dato. Físicamente, el bus de sistema es un conjunto de conductores eléctricos paralelos. Estos conductores son líneas de metal grabadas en una tarjeta (tarjeta de circuito impreso). El bus se extiende a través de todos los componentes del sistema, y cada uno se conecta a las líneas correspondientes del bus. Una disposición muy común del bus de sistema consiste en una disposición vertical de dos columnas de conductores. A lo largo de ellas, existen puntos de conexión en forma de ranuras dispuestas de forma horizontal para sostener las tarjetas de circuito impreso. Cada uno de los componentes principales del sistema ocupa una o varias tarjetas y se conecta al bus a través de esas ranuras. El sistema completo se introduce dentro de un chasis. JERARQUIA DE BUSES Si se conecta un gran número de dispositivos al bus, las prestaciones pueden disminuir. Hay dos causas principales: 1.- En general, a más dispositivos conectados al bus, mayor es el retardo de propagación. Este retardo determina el tiempo que necesitan los dispositivos para coordinarse en el uso del bus. Si el control del bus pasa frecuentemente de un dispositivo a otro, los retardos de propagación pueden afectar sensiblemente a las prestaciones. 2.- El bus puede convertirse en un cuello de botella a medida que las peticiones de transferencia acumuladas se aproximan a la capacidad del bus. Este problema se puede resolver en alguna medida incrementando la velocidad a la que el bus puede transferir los datos, y utilizando buses más anchos. Sin embargo, puesto que la velocidad de transferencia que necesitan los dispositivos conectados al bus está incrementándose rápidamente, es un hecho que el bus único está destinado a dejar de utilizarse. La mayoría de los computadores utilizan varios buses, normalmente organizados jerárquicamente. La estructura más utilizada es la siguiente: Existe un bus local que está conectado al procesador y a una memoria caché, y al que pueden conectarse también uno o más dispositivos locales. El controlador de memoria cache conecta la cache no sólo al bus local, sino también al bus de sistema donde se conectan todos los módulos de memoria principal. Como sabemos, el uso de una memoria cache, alivia el hecho de tener que acceder el procesador de forma continua a la memoria principal. De hecho, la memoria principal puede pasar del bus local al bus de sistema. De esta forma, las transferencias de E/S con la memoria principal a través del bus de sistema no interfieren la actividad del procesador. Es posible conectar controladores de E/S directamente al bus de sistema. Una solución mejor consiste en utilizar uno o más buses de expansión. La interfaz del bus de expansión regula las transferencias de datos entre el bus de sistema y los controladores conectados al bus de expansión. Esta disposición permite conectar al sistema una amplia variedad de INSTITUTO TECNOLÓGICO SUPERIOR “DAVID AUSUBEL” SEMIPRESENCIAL VICERRECTORADO ACADÉMICO dispositivos de E/S y, al mismo tiempo, aislar el tráfico de información entre la memoria y el procesador del tráfico correspondiente a las E/S. A continuación mostramos un esquema de la arquitectura utilizada en el bus tradicional, también llamada arquitectura de entreplanta: Bus local Bus del sistema Bus de expansión Esta arquitectura de buses tradicional es razonablemente eficiente, pero muestra su debilidad a medida que los dispositivos de E/S ofrecen prestaciones cada vez mayores. La respuesta a esta situación, ha sido proponer un bus de alta velocidad, que está estrechamente integrado con el resto del sistema, y requiere sólo un adaptador entre el bus del procesador y el bus de alta velocidad. Procesador Cache Controlador Local de E/S Memoria Principal Red SCSI Interfaz con el bus de expansión Modem Serie En el esquema siguiente se muestra esta posible solución. Como podemos ver, existe un bus local que conecta el procesador a un controlador de cache, que a su vez está conectado al bus de sistema que soporta a la memoria principal. El controlador de cache está integrado junto con el adaptador, o dispositivo de acoplo, que permite la conexión al bus de alta velocidad. Este bus permite la conexión de LAN de alta velocidad. Los dispositivos de velocidad menor pueden conectarse al bus de expansión, que utiliza una interfaz para adaptar el tráfico entre el bus de expansión y el bus de alta velocidad. La ventaja de esta organización es que el bus de alta velocidad acerca al procesador los dispositivos que exigen prestaciones elevadas y, al mismo tiempo, es independiente del procesador. Así, se pueden tolerar las diferencias de velocidad entre el procesador y el bus de altas prestaciones y las variaciones en la definición de las líneas de los buses. Los cambios en la arquitectura del procesador no afectan al bus de alta velocidad, y viceversa. Memoria principal Procesador Cache/adaptador SCSI FireWire Gráficos Vídeo LAN FAX Interfaz con el bus de expansión Modem Serie Bus local Bus del sistema Bus de alta velocidad Bus de expansión CARACTERÍSTICAS DEL BUS PCI INSTITUTO TECNOLÓGICO SUPERIOR “DAVID AUSUBEL” SEMIPRESENCIAL VICERRECTORADO ACADÉMICO Según las características que hemos mencionado en el apartado 2 anterior, el bus PCI puede definirse como un bus paralelo, multiplexado y síncrono. Estos son algunos datos más precisos sobre sus características: Frecuencia de operación: 33 MHz y 66 MHz. Velocidad de transferencia: típicamente 33 MHz * 32 bits = 132 MB/s. Se permite una extensión transparente de 64 bits de los buses de datos y direcciones de 32 bits, que a una frecuencia de 66 MHz darían lugar a 264 MB/s. Duradero: independencia del procesador. Idealmente se garantiza una transición de los dispositivos a futuras generaciones de procesadores. Configuración automática: mediante un espacio de configuración compuesto por una colección de registros propio de cada dispositivo (“Plug & Play”). Capacidad: soporte de varias tarjetas operando concurrentemente sobre el bus. Modo de operación “multi- master”. Integridad de datos: el protocolo del bus PCI proporciona control de paridad y chequeo de errores durante las transferencias de datos y direcciones. ESTRUCTURA DEL BUS Como ya hemos comentado en otro apartado, el bus PCI (Peripheral Component InterConnect, <interconexión de componente periférico>) es un bus muy popular, de ancho de banda elevado, independiente del procesador, que se puede utilizar como bus de periféricos o bus para una arquitectura de entreplanta, como la que hemos comentado en un apartado anterior. Comparado con otras especificaciones comunes de bus, el PCI proporciona mejores prestaciones para los subsistemas de E/S de alta velocidad (por ejemplo, los adaptadores de pantalla gráfica, los controladores de interfaz de red, los controladores de disco, etc.). El estándar actual permite el uso de hasta 64 líneas de datos a 66 MHz, para una velocidad de transferencia de 528 Mbyte/s o 4,224 Gbps. Pero no es precisamente su elevada velocidad la que hace atractivo al PCI. El PCI ha sido diseñado específicamente para ajustarse económicamente a los requisitos de E/S de los sistemas actuales; se implementa con muy pocos circuitos integrados, y permite que otros buses se conecten al bus PCI. Intel empezó a trabajar en el PCI en 1990, pensando en sus sistemas basados en el Pentium. Muy pronto, Intel cedió sus patentes al dominio público y promovió la creación de una asociación industrial, la PCI SIG (Especial Interest Group), para continuar el desarrollo y mantener la compatibilidad de las especificaciones del PCI. El resultado ha sido que el PCI ha sido ampliamente adoptado, y se está incrementando su uso en los computadores personales, estaciones de trabajo, y servidores de sistema. El bus PCI puede configurarse como un bus de 32 o 64 bits. En el apartado siguiente podemos ver las diferentes líneas de señal obligatorias que existen en el bus PCI (en total son 49). Las señales se dividen en los grupos funcionales siguientes: Terminales (patillas) de sistema: constituidas por los terminales de reloj y de inicio (reset). Terminales de direcciones y datos: incluye 32 líneas para datos y direcciones multiplexadas en el tiempo. Las otras líneas del grupo se utilizan para interpretar y validar las líneas de señal correspondientes a los datos y a las direcciones. INSTITUTO TECNOLÓGICO SUPERIOR “DAVID AUSUBEL” SEMIPRESENCIAL VICERRECTORADO ACADÉMICO Terminales de control de la interfaz: controlan la Temporización de las transferencias y proporcionan coordinación entre los que las inician y los destinatarios. Terminales de arbitraje: a diferencia de las otras líneas de señal del PCI, éstas no son líneas compartidas. Cada maestro del PCI tiene su par propio de líneas que lo conectan directamente al árbitro del bus PCI. Terminales para señales de error: utilizadas para indicar errores de paridad, u otros. Terminales de Interrupción: para los dispositivos PCI que deben generar peticiones de servicio. Igual que los terminales de arbitraje, no son líneas compartidas sino que cada dispositivo PCI tiene su propia línea o líneas de petición de interrupción a un controlador de interrupciones. Terminales de Soporte de Cache: necesarios para permitir memorias cache en el bus PCI asociadas a un procesador o a otro dispositivo. Estos terminales permiten el uso de protocolos de coherencia de cache de sondeo de bus. Terminales de Ampliación a Bus de 64 bits: incluye 32 líneas multiplexadas en el tiempo para direcciones y datos y se combinan con las líneas obligatorias de dirección y datos para constituir un bus de direcciones y datos de 64 bits. Hay otras líneas de este grupo que se utilizan para interpretar y validar las líneas de datos y direcciones. Por último, hay dos líneas que permiten que dos dispositivos PCI se pongan de acuerdo para usar los 64 bits. Terminales de Test (JTAG/Boundary Scan): estas señales se ajustan al estándar IEEE 1149.1 para la definición de procedimientos de test. ORDENES DEL PCI La actividad del bus consiste en transferencias entre dos elementos, denominándose maestro al que inicia la transacción. Cuando un maestro del bus adquiere el control del mismo, determina el tipo de transferencia que se producirá a continuación. Durante la fase de direccionamiento de transferencia, se utilizan las líneas C/BE para indicar el tipo de transferencia. Los tipos de órdenes son: Reconocimiento de interrupción Ciclo especial Lectura de E/S Escritura de E/S Lectura de memoria Lectura de línea de memoria Lectura múltiple de memoria Escritura en memoria Escritura e invalidación de memoria Lectura de configuración Escritura de configuración Ciclo de dirección dual El reconocimiento de interrupción es una orden de lectura proporcionada por el dispositivo que actúa como controlador de interrupciones en el bus PCI. Las líneas de direcciones no se utilizan en la fase de direccionamiento, y las líneas de byte activo indican el tamaño del identificador de interrupción a devolver. INSTITUTO TECNOLÓGICO SUPERIOR “DAVID AUSUBEL” SEMIPRESENCIAL VICERRECTORADO ACADÉMICO La orden de ciclo especial se utiliza para iniciar la difusión de un mensaje a uno o más destinos. Las órdenes de lectura de E/S y escritura en E/S se utilizan para intercambiar datos entre el módulo que inicia la transferencia y un controlador de E/S. Cada dispositivo de E/S tiene su propio espacio de direcciones, y las líneas de direcciones se utilizan para indicar un dispositivo concreto y para especificar los datos a transferir a, o desde, ese dispositivo. Las órdenes de lectura y escritura en memoria se utilizan para especificar la transferencia de una secuencia de datos, utilizando uno o más ciclos de reloj. La interpretación de estas órdenes depende de si el controlador se memoria del bus PCI utiliza el protocolo PCI para transferencias entre memoria y cache, o no. Si lo utiliza, la transferencia de datos a, y desde, la memoria normalmente se produce en términos de líneas o bloques de caché. La orden de escritura en memoria se utiliza para transferir datos a memoria en uno o más ciclos de datos. La orden de escritura e invalidación de memoria transfiere datos a memoria en uno o más ciclos. Además, indica que se ha escrito en al menos una línea de cache. Esta orden permite el funcionamiento de la cache con posterior escritura en memoria. Las dos órdenes de configuración permiten que un dispositivo maestro lea y actualice los parámetros de configuración de un dispositivo conectado al bus PCI. Cada dispositivo PCI puede disponer de hasta 256 registros internos, utilizados para configurar dichos dispositivo durante la inicialización del sistema. La orden de ciclo de dirección dual se utiliza por el dispositivo que inicia la transferencia para indicar que está utilizando direcciones de 64 bits. DESCRIPCIÓN FUNCIONAL DEL BUS LOCAL PCI El bus PCI requiere un mínimo de 47 señales para operar como esclavo y 49 si opera como maestro para el tratamiento de datos, direcciones, control del interface y funciones del sistema. En la siguiente figura podemos ver las señales del bus PCI agrupadas según su funcionalidad: A continuación indicamos una descripción de las señales obligatorias en un interfaz con funcionalidad de esclavo. 3.5 SEÑALES DEL SISTEMA A continuación resumiremos en tablas las líneas de señal obligatorias del bus PCI: Nombre Tipo Descripción Clk In Reloj del bus Señal de sincronización de todas las señales, excepto la de inicialización de todos los registros Rsti. Activa con el flanco de subida. Máxima frecuencia 33 MHz y mínima de 0. Rsti In Reset asíncrono. Pone en un valor conocido a todos los registros y máquinas de estado del sistema: Señales de salida al PCI en restado Registros en el valor asignado por defecto FSM al estado inactivo Activa a nivel bajo PciAD [3:0] t/s Datos y direcciones multiplexados. INSTITUTO TECNOLÓGICO SUPERIOR “DAVID AUSUBEL” SEMIPRESENCIAL VICERRECTORADO ACADÉMICO Las direcciones coinciden con la validación de la señal Fríame y los datos con la señal de escritura Irdyi y la de lectura Trudy PciCBE [3:0] t/s Línea de comandos e indicación de byte activo. En la fase de direccionamiento recogen el comando asociado al tipo de transferencia. En fase de datos su significado se relaciona con la validación de los bytes de datos. Par t/s Paridad. Bit de control de paridad impar. Puesto por el maestro en las transacciones de escritura y por el esclavo en las de lectura. Señal retrasada un ciclo de la línea PciAD. SEÑALES DE CONTROL DE TRANSACCIONES Nombre Tipo Descripción Fríame s/t/s Transacción activa Gobernada por el maestro del bus para indicar inicio y duración de una transacción Irdyi s/t/s Entrada lista Gobierna la transacción sobre el esclavo junto con la señal Trudy. Una fase de dato sólo tiene lugar cuando ambas señales están validadas. Su activación durante una operación de escritura indica que el bus PciAD tiene datos válidos, en lectura que está preparado para recibir datos. Activa a nivel bajo Trudy s/t/s Esclavo listo. Puesta por el esclavo para indicar que está listo. En lectura indica que el bus PciAD tiene datos válidos, en escritura que está listo para recibir datos. Activa a nivel bajo. Stop s/t/s Solicitud de parada de transacción. Puesta por el esclavo para solicitar al maestro el final de la transacción en curso Activa a nivel bajo IdSel In Dispositivo seleccionado Habilitación de dispositivo durante las transferencias de configuración exclusivamente Activa a nivel alto. DevSeli s/t/s Selector de dispositivo. Informa al maestro que el esclavo direccionado reconoce la dirección. Activa a nivel bajo. Intai output Línea de interrupciones. Señal asíncrona. Opcional, indica la existencia de una interrupción que debe ser resuelta por el maestro. Activa a nivel bajo. Perry s/t/s Error de paridad. Señal activada por el agente que recibe los datos dos ciclos después de que se detecte el error de paridad. Activa a nivel bajo. Seri output Error del sistema. Reporta errores del sistema provocado por error de paridad u otra causa que deteriore la comunicación. Activa a nivel bajo. REQ t/s Indica al árbitro que el dispositivo correspondiente solicita utilizar el bus. Es una línea punto a punto específico para cada dispositivo. INSTITUTO TECNOLÓGICO SUPERIOR “DAVID AUSUBEL” SEMIPRESENCIAL VICERRECTORADO ACADÉMICO GNT t/s Indica al dispositivo que el árbitro le ha cedido el acceso al bus. Es una línea punto a punto específico para cada dispositivo. PROTOCOLO DE TRANSACCIONES La estrategia de control del bus PCI está basada en la asignación de acceso a través de un protocolo de simple petición / concesión, de forma que cualquier maestro que quiera hacer uso del mismo debe negociarlo con el resto de los maestros. Para ello se debe emplear un esquema de arbitraje centralizado que la norma PCI no determina. Los maestros disponen de señales de petición y concesión del bus. El tipo de transacción realizada entre los dispositivos conectados al bus PCI se define mediante comandos que habilitan las líneas de datos para realizar operaciones de lectura, escritura, configuración, etc... Una transferencia típica se compone de una fase de direccionamiento seguida por una o más fases de datos para permitir una transferencia a ráfaga. Una transacción de lectura o escritura típicamente se inicia con el siguiente protocolo: Ciclo 1. Fase de direccionamiento. El maestro pone la dirección del dispositivo deseado y el comando relacionado con la transacción a realizar. Todos los dispositivos conectados al bus registran la dirección, el comando puesto en el bus Cbei [3:0] y el estado de la señal Fríame. Comienza la decodificación de la dirección en cada dispositivo. Ciclo 2. El esclavo direccionado responde a la petición activando la señal DevSeli Ciclo 3 y posteriores. Transferencias de datos gobernadas por las señales Fríame, Irdyi y Trudy, que según se combinen indican: espera, transferencia de datos o fin de transacción. Diagramas de tiempo de transacciones de configuración Diagramas de tiempo en transacciones de acceso a memoria Ultimo ciclo. Fin de transacción. Antes de liberar el bus para que otro dispositivo pueda utilizarlo deben ponerse las señales s/t/s a nivel alto y posteriormente en un valor restado. La relación temporal entre las distintas señales para casos sencillos de configuración y acceso a memoria puede la hemos podido observar en las gráficas anteriores. El máximo aprovechamiento de la velocidad de transferencia del bus se alcanza mediante una transacción en modo a ráfagas (burst mode). En este caso, en primer lugar se envía la dirección base de la transacción y en los siguientes ciclos el esclavo y el maestro las incrementan consecutivamente hasta que el maestro acaba la transacción deshabilitando la señal apropiada. En algunos casos es imprescindible el empleo de memorias FIFO o RAM para albergar los datos que se transfieran dada la velocidad del bus (33 MHz). ESPACIO DE CONFIGURACIÓN DEL INTERFAZ El estándar PCI exige que todos los dispositivos PCI deben implementar 256 Bytes de espacio de configuración para albergar información relativa a la identificación del dispositivo, habilitación de funcionalidades, reconocimiento del espacio de direcciones y dirección base de los registros. Este espacio se compone de una región predefinida de INSTITUTO TECNOLÓGICO SUPERIOR “DAVID AUSUBEL” SEMIPRESENCIAL VICERRECTORADO ACADÉMICO cabecera (64 Bytes) y otra región dependiente del dispositivo (192 Bytes), parte de la cual es obligatoria. La funcionalidad de un dispositivo PCI está descrita por el registro de estado. Este registro está asociado a una serie de operaciones que puede realizar el interfaz (commands) y a valores de estado del registro (status). Así, la capacidad de señalizar un error de paridad o la velocidad de respuesta del dispositivo por ejemplo, son programadas mediante escritura en dicho registro en tiempo de configuración o implementadas por el propio dispositivo (hardware). Un PC al arrancar realiza ciclos de configuración en todos los dispositivos conectados al bus PCI. Parte de la información presente en el espacio de configuración de cada dispositivo PCI permite a la BIOS del sistema habilitar el dispositivo PCI y asignarle un espacio de memoria en la tabla de memoria del sistema elaborada por el software de arranque. Los registros base (BARs), son los encargados de informar a la BIOS del número y tamaño de los espacios de memoria o de entrada / salida necesarios y de identificar una zona de memoria del sistema mapeada sobre un determinado dispositivo PCI. Este proceso se realiza en dos fases: con un espacio de memoria o de entrada / salida y qué tamaño precisa. El bit 0 de cada BAR indica si es un 0 que se trata de memoria y si es un 1, un espacio de entrada/salida. El peso binario del primer bit no nulo indica su tamaño según se trate de memoria o entrada / salida. dirección de memoria que le ha asignado el software de arranque. Para poder comprender mejor este proceso, es decir, como se asignan los recursos del sistema a un dispositivo PCI en fase de inicialización, tomaremos como ejemplo el paquete de desarrollo S5920DK1 de AMCC, que contiene un chip con funcionalidades PCI. El usuario dispone de hasta 4 módulos de memoria configurables asociados a cada BAR sobre los que se realizarán las operaciones de lectura o escritura. En la siguiente tabla, mostramos un ejemplo del valor de los registros base en tiempo de configuración y el posteriormente asignado por la BIOS para cada región de memoria: Registro base Tamaño y Tipo Valor asignado en tiempo de configuración Valor asignado por la BIOS BAR0 64 bytes E/S 10E8FFC1 0000FC81 BAR1 8 bytes E/S FFFFFFF9 0000FFF1 BAR2 128 bytes Memoria FFFFFF80 FFFBFF80 BAR3 4 Kb Memoria FFFFF000 FFFBE000 BAR4 Inhabilitado 000000000 La dirección pre asignada al BAR0 en este caso es confusa porque no se corresponde exactamente con la norma PCI. Esto se debe a las características propias del chip AMCC que emplea el BAR0 para direccionar como espacio de E/S una colección de registros propios de operación y estado. La decodificación del BAR1 y BAR2 es la siguiente: solicitado es de 23 = 8 bytes. INSTITUTO TECNOLÓGICO SUPERIOR “DAVID AUSUBEL” SEMIPRESENCIAL VICERRECTORADO ACADÉMICO solicitado es de 27 = 128 bytes. DIRECCIONAMIENTO PCI define tres espacios físicos de direccionamiento: configuración, entrada / salida y memoria. Los cuales describiremos a continuación. CONFIGURACIÓN El número de dispositivos que pueden conectarse al bus PCI está limitado a 32. No obstante, la norma PCI admite la jerarquización de buses incrementándose el número de dispositivos que pueden conectarse. El software de configuración debe ser capaz de realizar transacciones de configuración en todos los dispositivos PCI que residan más allá del puente PCI/host (bridge). La identificación del bus en una jerarquía se realiza mediante los dos bits de menor peso del bus PciAD, si PciAD [1:0] = 00 los dispositivos están alojados en el mismo segmento del bus principal que el bridge (transacción de configuración tipo 0); en caso contrario, lo están en un segmento diferente (tipo 1). Un agente detecta acceso a su espacio de configuración si se activa la señal IDSEL, detecta una transacción de configuración tipo 0 y además recibe el comando de configuración. En caso contrario la transacción es ignorada. ENTRADA / SALIDA Y MEMORIA Los acceso a las regiones de memoria o entrada / salida son en principio similares y pasan por una fase previa de comparación entre la dirección puesta en el bus por el maestro y la dirección asignada a cada BAR del esclavo en tiempo de configuración. Si el resultado de la comparación es positivo (hit) el esclavo responderá a operaciones de lectura y escritura a dichas regiones. Sólo se decodifica la dirección de comienzo del espacio de direcciones (dirección base), no la dirección exacta a la que se realiza el acceso. Un dispositivo de tamaño grande realiza la decodificación de forma rápida ya que precisa pocos bits para identificarla; si se dispone de más de un BAR es conveniente disponer de varios comparadores en paralelo para responder tan pronto como sea posible a la transacción. CAPITULO IV 4. CONTROL DE PARIDAD La norma PCI admite cierto control sobre los datos que se transfieren entre el maestro y el esclavo. El control se basa en la detección de paridad par en las líneas de datos (PciAd) y INSTITUTO TECNOLÓGICO SUPERIOR “DAVID AUSUBEL” SEMIPRESENCIAL VICERRECTORADO ACADÉMICO comandos (PciCbe). Para ello se emplea la señal bidireccional Par, las señales de indicación de error Serri (System Error Enable) y Perri (Parity Error Report) y ciertos registros del espacio de configuración que permiten señalizar la detección de fallos en la transmisión. Deben destacarse dos instantes significativos en el control de la paridad: a) Fase de direccionamiento Los datos viajan desde el maestro al esclavo. El esclavo recibe los datos y el bit de paridad y comprueba que la paridad de los datos recibidos es la esperada, en caso contrario activa la señal Serri (System Error Enable). b) Fase de datos Pueden darse dos casos escritura o lectura. En caso de escritura de configuración o de memoria el proceso es análogo al descrito en la fase de direccionamiento con la salvedad de que si se produce un error en la paridad se activa la señal Perri (Parity Error Report). En caso de lectura los datos viajan desde el esclavo al maestro poniendo el primero el bit de paridad calculado en la línea Par. En ambos casos, la señal Par se alimenta un ciclo después de realizada la transmisión de los datos dando tiempo al maestro o al esclavo a calcular la paridad. Si se produce un error en cualquiera de las dos situaciones las señales de indicación de error Perri o Serri se activan un ciclo después de la recepción de la paridad esperada. 4.1 DISEÑO DE INTERFACES PARA BUS PCI La adopción de un interfaz de bus PCI para una aplicación dada puede abordarse desde distintas perspectivas atendiendo a requerimientos del sistema global (máxima integración), y sobre todo a coste y tiempo de desarrollo. En la actualidad existen en el mercado diversas opciones para el diseño y puesta a punto de un interfaz PCI: puede elegirse un chip con funcionalidad PCI, un sistema de desarrollo completo o una librería de macro celdas sintetizable (esquemáticos o modelos de alto nivel). Estas opciones presentan facetas diferentes que deben estudiarse para una elección acorde a las necesidades y presupuestos. REQUERIMIENTOS PARA EL DISEÑO DE INTERFACES PCI La norma PCI exige el cumplimiento de una serie de requisitos para que un interfaz pueda considerarse 100% compatible PCI. Dichos requisitos están relacionados con la frecuencia de operación, así como el tiempo máximo de presentación y respuesta (set-up y hold) y la mínima carga asociada a determinadas señales del bus. En resumen estas restricciones son las siguientes: Frecuencia de operación del bus de 33 MHz sin ciclos de espera Tiempo de hold comprendido entre 2 y 11 ns después de una transición en el reloj (clockto-output) Tiempo máximo de setup de 7 ns (clock-to-input) Tiempo máximo de hold-to-system-clock de 0 ns Corriente menor a 70 nA ~ 10 pF de carga INSTITUTO TECNOLÓGICO SUPERIOR “DAVID AUSUBEL” SEMIPRESENCIAL VICERRECTORADO ACADÉMICO En la práctica, estos requerimientos se traducen en las siguientes recomendaciones de diseño: 1. Las señales de los buses deben presentar un tiempo de set- un inferior a los 7 ns. El bus de datos y direcciones PciAD, se emplean como entrada a varios módulos: el decodificador de direcciones del espacio de configuración, registro de direcciones y los registros de datos para las transferencias a memoria o al espacio de configuración. Esto puede representar un alto fan-out para los datos por lo que el retardo de entrada puede superar los 7 ns. La solución consiste en registrar los buses a cada transición del reloj, de manera que se disponga de datos estables durante todo un ciclo de reloj. 2. Las señales de salida deben presentarse entre 2 y 11 ns después de una transición en el reloj. Para satisfaces este requisito, las señales de salida pueden registrarse. Registrar las señales de entrada y salida proporciona control sobre los tiempos en que estas señales están disponibles pero introducen un ciclo de espera extra. En principio, estos ciclos de espera adicionales pueden ser asumidos por la especificación PCI. SOLUCIONES COMERCIALES ASICs PCI Son circuitos pre difundidos con funcionalidades PCI. Admiten cierta programación. El sistema de desarrollo S5920DK1 de AMCC convierte las señales del bus PCI en un bus de usuario de 8/16/32 bits con una velocidad independiente al reloj del interfaz PCI. El circuito integrado incluido en el sistema realiza las operaciones propias de un interfaz esclavo PCI y otras propias para controlar las transacciones entre el bus PCI y el bus de usuario conforme a las distintas configuraciones posibles para las regiones de memoria. 4.2 DISPOSITIVOS PROGRAMABLES FPGA Diversas casas constructoras de dispositivos programables como Altera, Ciprés, Quick Logic o Xilinx disponen de circuitos que admiten las especificaciones de velocidad y área necesaria para albergar un interfaz PCI. En general disponen de opciones para el rutado especial de señales críticas, multiplexado apropiado para determinadas señales y otras técnicas de optimización del diseño para reducir el número de registros. Algunas de ellas proporcionan sistemas de desarrollo de interfaces PCI en los que ciertos detalles de implementación están ya previamente definidos. Además facilitan herramientas para la síntesis y verificación de los diseños. El sistema de desarrollo de Xilinx, Xilinx PCI, incluye dispositivos lógicos programables FPGA, un completo diseño programable y un interfaz gráfico de usuario. Con ello el usuario sólo tiene que adaptar el diseño del interfaz a sus necesidades rellenando un formulario. A partir de éste se genera la netlist sintetizada del interfaz, ficheros de restricciones para la herramienta de emplazado, modelos de simulación y testbenches adecuados para instanciar en el diseño. Una característica interesante del sistema Xilinx PCI es la posibilidad de cargar el interfaz PCI creado junto con una cierta cantidad de lógica (entre 5K y 124K), en alguna de las pastillas FPGA que Xilinx tiene pre caracterizadas para este tipo de interfaces. Con ello se consigue un alto grado de integración. INSTITUTO TECNOLÓGICO SUPERIOR “DAVID AUSUBEL” SEMIPRESENCIAL VICERRECTORADO ACADÉMICO Ciprés no mantiene un control tan estricto de sus dispositivos y en principio no tiene que emplearse una FPGA concreta. El usuario debe adaptar la descripción de alto nivel (VHDL) que se le proporciona para adecuarla a sus necesidades. Esta descripción se encarga de realizar la lógica de control, configuración del espacio de registros, temporización, control de paridad y otras funciones asociadas al interfaz PCI. Una vez adaptado el código, basta con sintetizarlo sobre una FPGA de Cipreses. 4.3 LIBRERIAS DE MACROCELDAS PARA ASICs Se puede realizar la implementación del interfaz en tecnología ASIC a partir de un conjunto de macro celdas configurables como las de LSI Logic. La librería disponible contiene un conjunto de módulos para construir un interfaz completo: máquina de estados (maestro, esclavo), registros de configuración, control de FIFOs, FIFOs e interfaz con PCI. MODELADOS DE ALTO NIVEL, LogiCores Se trata de descripciones de alto nivel (VHDL o C) configurables de componentes sintetizables para implementar el interfaz en un ASIC o en un dispositivo programable. OTRAS ALTERNATIVAS Mediante lenguajes de descripción de hardware se puede diseñar un interfaz que se adecue más a unas necesidades específicas, eliminando y añadiendo funciones propias de la aplicación a la que se va a dar servicio 4.4 SELECCIÓN DE COMPONENTES PARA ENSAMBLE ¿QUÉ ES EL CHIPSET DE CONTROL? El chipset es un conjunto (set) de chips que se encargan de controlar funciones especificas de la PC, como la forma en que interacciona y se comunican el microprocesador con la memoria los controladores DMA, el chip temporizador, controladoras de disco rígido, o el control de puertos PCI, AGP, USB, etc., etc. ¿QUÉ ES LA BIOS? La BIOS (Basic Input Output System – Sistema básico de entrada/salida) es un programa que se encarga de dar soporte para manejar ciertos dispositivos de entrada-salida. Físicamente se localiza en un chip generalmente de forma rectangular. INSTITUTO TECNOLÓGICO SUPERIOR “DAVID AUSUBEL” SEMIPRESENCIAL VICERRECTORADO ACADÉMICO BIOS (Sistema básico de entrada/salida) Además, la BIOS conserva ciertos parámetros como el tipo de disco rígido, la fecha y hora del sistema, etc. los cuales guarda en una memoria del tipo CMOS, de muy bajo consumo y que es mantenida con una pila cuando la PC está apagada y desconectada. Las BIOS pueden actualizarse ,en algunos casos, mediante la extracción y sustitución del chip que es un método muy delicado o bien mediante software, aunque sólo en el caso de las llamadas Flash-BIOS. ¿QUÉ SON LAS RANURAS DE EXPANSIÓN? Son unas ranuras o slots de plástico con conectores eléctricos donde se introducen las placas de expansión como ser la placa de vídeo, de sonido, de red, el modem, etc. Según la tecnología en que se basen presentan un aspecto externo diferente, con diferente tamaño e incluso en distinto color. ISA: son las más viejas utilizadas en los primeros tiempos de la PC, funcionan a unos 8 MHz y ofrecen un máximo de 16 MB/s, suficiente para conectar un módem o una placa de sonido, pero muy poco para una tarjeta de vídeo. Miden unos 14 cm y su color suele ser generalmente negro; existe una versión aún más antigua que mide sólo 8,5 cm. pero las dos cada vez se utilizan menos en la actualidad y se están desplazando de a poco. Vesa Local Bus: se comenzó a usar en los 486 y se dejó de usar en los primeros tiempos del Pentium fueron un desarrollo a partir de ISA, que puede ofrecer unos 160 MB/s a un máximo de 40 MHz. eran muy largas de unos 22 cm, y su color suele ser negro con el final del conector en marrón u otro color. PCI: es el estándar actual. Pueden dar hasta 132 MB/s a 33 MHz, lo que es suficiente para casi todo, excepto quizá para algunas placas de vídeo 3D. Miden unos 8,5 cm y generalmente son blancas. INSTITUTO TECNOLÓGICO SUPERIOR “DAVID AUSUBEL” SEMIPRESENCIAL VICERRECTORADO ACADÉMICO AGP: por ahora se dedica exclusivamente a conectar placas de vídeo 3D, por lo que sólo suele haber una. Según el modo de funcionamiento puede ofrecer 264 MB/s o incluso 528 MB/s. Mide unos 8 cm, se encuentra bastante separada del borde de la placa y son de color marrón generalmente. Ranuras de expansión Las placas base actuales tienden a tener los más conectores PCI posibles, manteniendo uno o dos conectores ISA por motivos de compatibilidad con tarjetas antiguas y usando AGP para el vídeo. QUÉ ES ZÓCALO DEL MICROPROCESADOR? Es el lugar donde se inserta el microprocesador de la computadora. Siempre ha consistido en un cuadrado donde el microprocesador se introduce con mayor o menor facilidad, recientemente, la aparición de los Pentium II ha cambiado un poco esta perspectiva. 4.5 TIPOS DE ZÓCALO: PGA: fueron usados en el 386 y el 486; consiste en un cuadrado de conectores en forma de orificios muy pequeños donde se insertan los pines o patas del chip a presión. Según el chip, tiene más o menos orificios. ZIF: (Zero Insertion Force – Cero fuerza de inserción) Eléctricamente es como un PGA, con la diferencia de que posee un sistema mecánico que permite introducir el micro sin necesidad de presión alguna eliminando el peligro de dañar el chip tanto al introducirlo como extraerlo del zócalo. INSTITUTO TECNOLÓGICO SUPERIOR “DAVID AUSUBEL” SEMIPRESENCIAL VICERRECTORADO ACADÉMICO Surgió en la época del 486 y sus distintas versiones (Socket’s 3, 5 y 7, principalmente) se han utilizado hasta que apareció el Pentium II. Actualmente se fabrican tres tipos de zócalos ZIF: o Súper Socket 7: variante del Socket 7 que se caracteriza por poder usar velocidades de bus de hasta 100 MHz, que es el que utilizan los micros AMD K6-2. o Socket 370 ó PGA 370: físicamente similar al anterior, pero incompatible con él por utilizar un bus distinto. Dos versiones: PPGA (la más antigua, sólo para micros Intel Celeron Mendocino) y FC-PGA (para Celeron y los más recientes Pentium III). o Socket A: utilizado únicamente por algunos AMD K7 Athlon y por los AMD Duron. Slot 1: es un invento de Intel para montar los Pentium II, III. Físicamente muy distinto al anterior. En vez de ser un cuadrado con orificios para las patitas del chip, es una ranura muy similar a un conector ISA o PCI que no tiene muchas ventajas frente a los ZIF o PGA e incluso puede que al estar los conectores en forma de "peine" den lugar a más interferencias. Slot A: la respuesta de AMD al Slot 1; físicamente ambos "slots" son idénticos, pero lógica y eléctricamente son totalmente incompatibles ya que Intel no tubo ninguna intención de vender la idea y es utilizado únicamente por el AMD K7 Athlon. Otros: en ocasiones, no existe zócalo en absoluto, sino que el chip está soldado a la placa, en cuyo caso a veces resulta hasta difícil de reconocer. Es el caso de muchos 8086, 286 y 386SX ó bien se trata de chips antiguos como los 8086 ó 286, que tienen forma rectangular alargada parecida al del chip de la BIOS y pines ó patitas planas en vez de redondas, en este caso, el zócalo es asimismo rectangular, del modelo que se usa para multitud de chips electrónicos de todo tipo. INSTITUTO TECNOLÓGICO SUPERIOR “DAVID AUSUBEL” SEMIPRESENCIAL VICERRECTORADO ACADÉMICO Zócalo para P 4 Zócalo ZIF Slot ¿QUÉ SON RANURAS DE MEMORIA? Son los conectores donde se encuentra montada o insertada la memoria principal de la PC, la RAM. Antiguamente, los chips de RAM se colocaban uno a uno sobre la placa, de la forma en que también se hacían en las placas de vídeo, lo cual no era una buena idea debido al número de chips que podía llegar a ser necesario y a la delicadeza de los mismos, por ello, se concentraron varios chips de memoria soldados Bancos de memoria a una placa, dando lugar a lo que se conoce como módulo. Estos módulos han ido variando en tamaño, capacidad, prestaciones y forma de conectarse, al comienzo se conectaban a la placa mediante unas patitas muy delicadas, lo cual se excluyó del todo en la época del 386 por los llamados módulos SIMM, que tienen los conectores sobre el borde del módulo, prácticamente descartado su uso en la actualidad. Los SIMM originales tenían 30 conectores, es decir, 30 contactos, y medían unos 8,5 cm. A finales de la época del 486 surgieron los de 72 contactos, más largos: unos 10,5 cm. Este proceso ha seguido hasta llegar a los actuales módulos DIMM y RIMM, de 168/184 contactos. ¿QUÉ ES LA MEMORIA CACHÉ? Se trata de un tipo de memoria muy rápida que se utiliza de puente entre el microprocesador y la memoria principal (RAM), con el fin de que los datos más utilizados puedan encontrarse antes, acelerando el rendimiento de la PC. Se comenzó a utilizar en la época del 386, no siendo de uso general hasta la llegada de los 486. Su tamaño es relativamente reducido como máximo 1 MB y en PC muy modernas pueden llegar a 2 MB, tanto por cuestiones de diseño como por su alto precio, consecuencia directa de su gran velocidad. INSTITUTO TECNOLÓGICO SUPERIOR “DAVID AUSUBEL” SEMIPRESENCIAL VICERRECTORADO ACADÉMICO También se la conoce como caché externa, secundaria o de segundo nivel (L2, level 2), para diferenciarla de la caché interna o de primer nivel que llevan todos los microprocesadores desde el 486 (excepto el 486SX y los primeros Celeron). Su presentación varía mucho: puede venir en varios chips o en un único chip, soldada a la placa base o en un zócalo especial como por ejemplo del tipo CELP, e incluso puede no estar en la placa base sino pertenecer al microprocesador, como en los Pentium II, Celeron Mendocino, Athlon y los modernos CPU actuales. ¿QUÉ SON LOS CONECTORES EXTERNOS? Son conectores para periféricos externos como el teclado, mouse, impresora, modem externo, cámaras web, cámaras digitales, scanner’s, etc. En las placas AT lo único que está en contacto con la placa son unos cables que la unen con los conectores en sí, que se sitúan en el gabinete, excepto el de teclado que sí está soldado a la propia placa. En las ATX los conectores están todos concentrados entorno al de teclado y soldados a la placa base. Conectores externos Conector para: Conector Aclaración Arriba: clavija DIN ancha, propio de las placas AT. Teclado Puerto (LPT1) Abajo: mini-DIN en placas ATX y muchos diseños propietarios. paralelo Es un conector hembra de unos 38 mm, con 25 orificios agrupados en 2 hileras, en el caso en que exista más de uno, el segundo sería LPT2. INSTITUTO TECNOLÓGICO SUPERIOR “DAVID AUSUBEL” SEMIPRESENCIAL VICERRECTORADO ACADÉMICO Arriba: COM 1 de unos 17 mm, con 9 pines Puertos (COM o RS232) serie Puerto para mouse PS/2 Puerto MIDI/Joystick Puerto VGA Puerto USB Abajo: COM 2 de unos 38 mm, con 25 pines similar al puerto paralelo pero macho, con los pines hacia fuera. Internamente son iguales, sólo cambia el conector exterior; en las placas ATX ambos son de 9 pines. Es un conector mini-DIN como el de teclado; el nombre proviene de su uso en las PC PS/2 de IBM. Es un puerto para Joystick o instrumentos MIDI, de unos 25 mm, con 15 pines agrupados en 2 hileras. Conector del monitor de unos 17 mm, con 15 pines agrupados en 3 hileras. Conector universal estrecho y rectangular, inconfundible, en el que se puede conectar casi cualquier dispositivo y se supone que dentro de unos años todo se conectara al USB. Y los conectores internos? Son conectores para dispositivos internos, como ser la disquetera, el disco rígido, el CD-ROM, etc. Incluso para los puertos serie, paralelo y de joystick si la placa no es de formato ATX. En las placas base antiguas el soporte para estos elementos se realizaba mediante una placa auxiliar, llamada Input/Output o simplemente de I/O. pero desde la época de los 486 se comenzó a integrar los chips controladores de estos dispositivos en la placa base. INSTITUTO TECNOLÓGICO SUPERIOR “DAVID AUSUBEL” SEMIPRESENCIAL VICERRECTORADO ACADÉMICO En esta clase de conectores, resulta de mucha importancia conocer la posición del pin número 1, que generalmente esta indicado mediante un pequeño 1, y que corresponderá al extremo del cable de color rojo. ¿QUÉ ES EL CONECTOR ELÉCTRICO? Es donde se conectan los cables de la fuente de alimentación que suministran energía a la placa base. En las placas AT los conectores son dos que están uno junto al otro y en las ATX es único. Cuando se trata de conectores AT, deben disponerse de forma que los cuatro cables negros (2 de cada conector), que son las tierras, queden en el centro. El conector ATX suele tener formas rectangulares y trapezoidales alternadas en algunos de los pines de tal forma que sea imposible equivocarse a la hora de conectarlo. Conector eléctrico AT Conector eléctrico ATX Una de las ventajas de las fuentes ATX es que permiten el apagado del sistema por software; es decir, que al pulsar "Apagar el sistema" en Windows el sistema se apaga solo. ¿QUÉ ES EL ACUMULADOR? ¿PARA QUE SIRVE? El acumulador (Pila), se encarga de almacenar los parámetros de la BIOS cuando la PC está apagada sin que se pierdan, sino cada vez que encendiéramos la PC tendríamos que introducir las características y parámetros del disco rígido, del chipset, la fecha y la hora, etc. Se trata de un acumulador que se recarga cuando la PC está encendida. No obstante, con el paso de los años va perdiendo esta capacidad como todas las baterías recargables y llega un momento en que hay que sustituirla. Esto, que ocurre entre 2 y 5 años después de la compra de la PC, puede verificarse mirando si la hora se atrasa demasiado. INSTITUTO TECNOLÓGICO SUPERIOR “DAVID AUSUBEL” SEMIPRESENCIAL VICERRECTORADO ACADÉMICO Pila tipo condensador Pila tipo moneda Actualmente todas las placas base suelen venir con una pila tipo “moneda”, el cual es muy fácil de reemplazar. Antes, las placas base traían un condensador soldado a la misma, en realidad eran tres pilas en serie embutidas en un plástico cobertor. Esto dificultaba muchísimo el cambio para usuarios inexpertos, además de otros problemas como que la pila tuviera pérdidas y se sulfataran junto con la placa. ¿QUÉ SON LOS COMPONENTES INTEGRADOS? Existen placas base en las que ciertos componentes están integrados en la propia placa base, es decir, están incluidos en ella en vez de estar montados en una ranura de expansión. Los más comunes son: Controladoras de dispositivos: en general presente en todas las placas desde los últimos 486, disponen de unos chips que se encargan de manejar los discos duros, disqueteras y puertos serie, algunas de gama alta incluso tienen controladoras SCSI integradas. Placa de sonido: ahora que una tarjeta de 16 bits suele consistir en un único chip y los conectores, cada vez más placas base la incorporan. Controladora de vídeo: las que incorporan las placas base no suelen ser de una potencia excepcional, pero sí suficiente para trabajos de oficina, como por ejemplo una Intel 740,748 o una AMD 598, 599. Modem: son módems denominados HSP o Windows módems ya que solo funcionan bajo el sistema operativo Windows, en los cuales se han eliminado varias piezas electrónicas, generalmente determinados chips como el UART, de manera que el microprocesador de la PC debe sustituir su función mediante software. Indudablemente, estas placas son mas baratas, es más cómodo, ya que el interior del gabinete está libre de cables y tarjetas y es mas rápida su INSTITUTO TECNOLÓGICO SUPERIOR “DAVID AUSUBEL” SEMIPRESENCIAL VICERRECTORADO ACADÉMICO instalación, sin embargo no siempre son componentes de alta gama sobre todo las placas de sonido, vídeo y el modem que suele ser una tortuga terrible, además de que cualquier fallo importante en la placa nos deja sin casi nada que poder aprovechar de la PC.