UNIDAD
1
Arquitectura
de Computadoras
Electrónica 2
ORIENTACIÓN DEL APRENDIZAJE
En este capítulo veremos algunos de los muchos modos en que las computadoras nos...
Electrónica 2
ESQUEMA CONCEPTUAL
Observe este esquema, lo ayuda a entender la relación entre los contenidos principales a ...
Electrónica 2
ORIENTACIÓN DEL APRENDIZAJE
En este capítulo veremos algunos de los muchos modos en que las computadoras nos...
Electrónica 2
BIBLIOGRAFÍA
Estructura Interna de la PC. Gastón Hillar. Ed. Hasa. 2004 -Caps. 1, 2, 3, 4, 5, 15 y 19)
Arqui...
Electrónica 2
UNIDAD 1 – ARQUITECTURA DE COMPUTADORAS
1. INTRODUCCIÓN
El uso de computadoras está muy extendido en casi to...
Electrónica 2
Clasificación de las computadoras
Existen diversos métodos de clasificación de las computadoras según la tec...
Electrónica 2
que se conectan con el mundo exterior sean circuitos adicionales y no estén integradas con la
motherboard, e...
Electrónica 2
memoria de la máquina. De esta forma la transferencia de datos en bloques -gran cantidad de
datos uno a cont...
Electrónica 2
utilizará, incorporando –o excluyendo- diferentes componentes, o también brindando mayores capacidades
de am...
Electrónica 2
Los microprocesadores difieren unos de otros principalmente por alguna de las siguientes características,
la...
Electrónica 2
Tamaño de palabra (word size)
Es el ancho máximo de una instrucción, o cualquier dato que pueda interpretar ...
Electrónica 2
Instrucción 4 Instrucción 3 Instrucción 2 Instrucción 1
Instrucción 5 Instrucción 4 Instrucción 3 Instrucció...
Electrónica 2
La velocidad de este reloj se mide en Hertz (Hz), que indican la cantidad de ciclos por segundo. Hace
alguno...
Electrónica 2
Los transistores constituyen el componente principal de la electrónica de los microprocesadores y a mayor
ca...
Electrónica 2
Y por fin en 1987, aparece el primer micro de 32 bits: el 80386 -o simplemente 386-.
Al ser de 32 bits permi...
Electrónica 2
instrucciones y los convierte a un “lenguaje” que la ALU seleccionada
pueda “entender”. En caso de precisar ...
Electrónica 2
interfieran sobre el correcto funcionamiento del microprocesador-. Ahora el soporte del disipador-ventilador...
Electrónica 2
Microprocesador PENTIUM 4
El PENTIUM 4 corresponde al último diseño de INTEL para dar respuesta
a las nuevas...
Electrónica 2
• Slot 1: A este conector le corresponden los procesadores Intel Pentium II y también los
procesadores más a...
Electrónica 2
con el que trabaje el procesador externamente. Para un procesador 386SX eran 16 líneas de cobre, para
un 486...
Electrónica 2
El 8086 tiene 20 bits, y puede acceder 1.048.576 bytes -2 elevado a la potencia 20). El 80286 tiene 24 bits
...
Electrónica 2
la información existente en la misma por otra. La velocidad de la memoria tendrá que ser adecuada para la
CP...
Electrónica 2
DOS o los programas, aunque los huecos que quedan pueden aprovecharse para cargar controladores
-drivers- o ...
Electrónica 2
Direcciones de memoria de placas de expansión
Algunas placas de expansión requieren cierta cantidad de memor...
Electrónica 2
pero el resto de la memoria es accedida mediante la misma técnica utilizada para acceder a la memoria
expand...
Electrónica 2
En los procesadores 386, esta memoria era externa, es decir no estaba dentro del procesador, sino
conectada ...
Electrónica 2
Cuando el procesador tiene que escribir información en la memoria principal, ésta pasa por la caché en vez
d...
Electrónica 2
6. MÓDULO DE ENTRADAS Y SALIDAS
Sirve para adaptar las características eléctricas de los periféricos a las
c...
Electrónica 2
A continuación se describirá brevemente cada tipo de bus de expansión, comenzando por el bus ISA de 8
bits y...
Electrónica 2
En algunas motherboards aparecen algunas ranuras cortas de 8 bits y las demás de 16 bits. Esto se debió
para...
Electrónica 2
sistema de control del bus, liberando al procesador de estos procedimientos de control y mejorando el
rendim...
Electrónica 2
Los sistemas basados en el bus EISA se utilizaron en servidores de alto rendimiento y en estaciones de
traba...
Electrónica 2
Este sistema de bus permitía conectar un máximo de tres dispositivos al sistema de bus local del
procesador,...
Electrónica 2
Solamente los sistemas basados en
procesadores 486 se beneficiaron del VL-BUS.
Se desarrollaron muchas placa...
Electrónica 2
Esto es así porque es muy costoso diseñar y construir una motherboard cuyas ranuras de expansión
trabajen a ...
Electrónica 2
• Permite un máximo de 10 dispositivos trabajando sobre el mismo bus PCI, incluyendo el
controlador de PCI y...
Electrónica 2
similar al extinguido VL-Bus: la máxima transferencia de datos es de 132 MBps para PCI 1.0 con 32 bits de
an...
Electrónica 2
Complete en el cuadro realizado en la actividad de proceso del punto 3 -Microprocesadores- e indique en
la c...
Electrónica 2
se encuentren disponibles. De esta forma se evitan los conflictos y complejidades cuando se agregan
nuevos d...
Electrónica 2
Actualmente, la mayoría de los dispositivos y placas disponibles en el mercado son compatibles con PnP, o
po...
Electrónica 2
Se debe tener mucho cuidado, pues algunas placas no permiten cambiar el rango de direcciones de E/S, y
por l...
Electrónica 2
IRQ Dispositivo
0 Cronómetro del sistema (System timer).
1 Teclado
2 Esta interrupción se utiliza como vía d...
Arquitectura de computadoras: Introducción
Arquitectura de computadoras: Introducción
Arquitectura de computadoras: Introducción
Próxima SlideShare
Cargando en…5
×

Arquitectura de computadoras: Introducción

611 visualizaciones

Publicado el

Introducción a la arquitectura de computadoras

0 comentarios
0 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Sin descargas
Visualizaciones
Visualizaciones totales
611
En SlideShare
0
De insertados
0
Número de insertados
5
Acciones
Compartido
0
Descargas
16
Comentarios
0
Recomendaciones
0
Insertados 0
No insertados

No hay notas en la diapositiva.

Arquitectura de computadoras: Introducción

  1. 1. UNIDAD 1 Arquitectura de Computadoras
  2. 2. Electrónica 2 ORIENTACIÓN DEL APRENDIZAJE En este capítulo veremos algunos de los muchos modos en que las computadoras nos ayudan a conformar nuestra vida diaria. Usted aprenderá de qué manera las computadoras han cambiado la forma en que funcionan algunos negocios e incluso industrias enteras. También daremos un vistazo al interior de las computadoras para que usted vea y comprenda qué las hace funcionar. Además, descubrirá qué son los datos, cómo difieren de la información y qué forma toman en la computadora. Luego, explorará los dos componentes de procesamiento: CPU (Central Processing Unit) y la memoria. Por último, verá los microprocesadores hechos por los mayores fabricantes de chips. Los contenidos que trataremos son: Arquitectura de computadoras, clasificación de las computadoras, la motherboard, el microprocesador, los buses, la memoria, las ranuras de expansión y parámetros para evaluar el rendimiento de una pc. Al finalizar esta unidad usted estará en condiciones de alcanzar los siguientes objetivos:  Conocer cuáles son las cuatro partes de un sistema de cómputo e identificar cuatro clases de hardware de computadora.  Distinguir cuáles son las categorías principales de software y explicar el propósito de cada una.  Descubrir cuáles los tipos más comunes de computadoras disponibles en la actualidad y podrá describir que clase de trabajo hace mejor cada una.  Identificar la principal diferencia entre datos e información.  Nombrar dos razones por las cuáles las computadoras usan el sistema de numeración binario.  Explicar cómo trabajan juntas las dos partes principales de la CPU para procesar datos.  Enumerar tres características del hardware que afectan la velocidad de procesamiento.  Distinguir las dos familias más conocidas de CPU y enumerar sus diferencias. Comience ahora el estudio de la unidad acompañado de esta guía, teniendo en cuenta las sugerencias dadas en esta breve introducción y no se olvide de leer la bibliografía recomendada. Bibliografía - Norton, Peter. Introducción a la computación. McGraw Hill. México1999. - PC User. La Biblia del Hardware vol. I y II. MP Ediciones. Bs. As.2000. Este texto trata en profundidad los elementos de Hardware de la PC. HILLAR, G. ESTRUCTURA INTERNA DE LA PC. ED. HASA. BS. AS. 2001. El texto aborda con profundidad la arquitectura de la pc. Versión Preliminar 2
  3. 3. Electrónica 2 ESQUEMA CONCEPTUAL Observe este esquema, lo ayuda a entender la relación entre los contenidos principales a tratar en esta unidad. Vea cómo se refleja la transformación de los datos en un producto final que nos facilita nuestras tareas diarias. Versión Preliminar 3 COMPUTADORA HARDWARE SOFTWARE C P U MEMORIA E / S DISCOS S.O. APLICACIONES SUPER COMPUTADORA MAINFRAME MINI COMPUTADORA MICRO COMPUTADORA DATOS
  4. 4. Electrónica 2 ORIENTACIÓN DEL APRENDIZAJE En este capítulo veremos algunos de los muchos modos en que las computadoras nos ayudan a conformar nuestra vida diaria. Usted aprenderá de qué manera las computadoras han cambiado la forma en que funcionan algunos negocios e incluso industrias enteras. También daremos un vistazo al interior de las computadoras para que usted vea y comprenda qué las hace funcionar. Además, descubrirá qué son los datos, cómo difieren de la información y qué forma toman en la computadora. Luego, explorará los dos componentes de procesamiento: CPU (Central Processing Unit) y la memoria. Por último, verá los microprocesadores hechos por los mayores fabricantes de chips. Al finalizar esta unidad usted estará en condiciones de alcanzar los siguientes objetivos:  Enumerar al menos cinco profesiones en las cuales las computadoras son usadas en forma rutinaria, así como describir al menos una de las formas en que las computadoras han afectado el trabajo de la gente en esas profesiones.  Conocer cuáles son las cuatro partes de un sistema de cómputo e identificar cuatro clases de hardware de computadora.  Distinguir cuáles son las dos categorías principales de software y explicar el propósito de cada una.  Descubrir cuáles los cuatro tipos más comunes de computadoras disponibles en la actualidad y podrá describir que clase de trabajo hace mejor cada una.  Identificar la principal diferencia entre datos e información.  Nombrar dos razones por las cuáles las computadoras usan el sistema de numeración binario.  Explicar cómo trabajan juntas las dos partes principales de la CPU para procesar datos.  Enumerar tres características del hardware que afectan la velocidad de procesamiento.  Distinguir las dos familias más conocidas de CPU y enumerar sus diferencias. Comience ahora el estudio de la unidad acompañado de esta guía, teniendo en cuenta las sugerencias dadas en esta breve introducción y no se olvide de leer la bibliografía recomendada. Bibliografía - Norton, Peter. Introducción a la computación. McGraw Hill. México1999. - PC User. La Biblia del Hardware vol. I y II. MP Ediciones. Bs. As.2000. Este texto trata en profundidad los elementos de Hardware de la PC. HILLAR, G. ESTRUCTURA INTERNA DE LA PC. ED. HASA. BS. AS. 2001. El texto aborda con profundidad la arquitectura de la pc. Versión Preliminar 4 UNIDAD 1
  5. 5. Electrónica 2 BIBLIOGRAFÍA Estructura Interna de la PC. Gastón Hillar. Ed. Hasa. 2004 -Caps. 1, 2, 3, 4, 5, 15 y 19) Arquitectura de Microprocesadores. Usategui, Temiño y Martínez. Ed. Thoson. 2003. -Caps. 1 y 2) Introducción a la Computación. Peter Norton. 2000. -Caps. 1 y 2) Trabajos Prácticos presentados por Alumnos del IUA. Guías de Estudio Anteriores. IUA. ANEXOS (AULA VIRTUAL) Anexo 1 - ‘Módulos de Memoria’ Anexo 2 - ‘Otras arquitecturas de PCs’ Versión Preliminar 5
  6. 6. Electrónica 2 UNIDAD 1 – ARQUITECTURA DE COMPUTADORAS 1. INTRODUCCIÓN El uso de computadoras está muy extendido en casi todas las actividades humanas ya que proporcionan mayor rapidez y seguridad, así como la posibilidad de manejar gran cantidad de datos. La extraordinaria capacidad de cálculo, el elevado rendimiento en el procesamiento de datos, la generación de información e incluso la simulación de procesos, convierten a las computadoras en herramientas indispensables. Las computadoras se usan ampliamente en actividades que requieren el manejo de gran cantidad de datos a una elevada velocidad como, por ejemplo, en diagnósticos médicos, investigaciones nucleares y de energía, Inteligencia Artificial, etc. Es indispensable la construcción de mejores computadoras que logren avances sustanciales y continuos en su rendimiento. El concepto de «arquitectura de una computadora» se refiere a la integración de su estructura física con su estructura lógica. Se utiliza el término «arquitectura» para enfatizar la síntesis de elementos de ingeniería y ciencias exactas con elementos estéticos y de funcionalidad práctica. La « arquitectura de computadoras » abarca las siguientes funciones: • Definición de las necesidades que pretende cubrir la computadora. • Planificación general de la computadora. • Diseño de la computadora y sus componentes. • Análisis del sistema obtenido. • Especificación del sistema: características del sistema, de sus componentes y de las instrucciones ejecutables. Para lograr un aumento en el rendimiento se necesita mejorar la «arquitectura» de las computadoras y desarrollar nuevas técnicas de procesamiento; es por ello que para poder obtener un buen rendimiento de la máquina se deberá tener un gran conocimiento del equipo físico y del sistema lógico. Este rendimiento depende principalmente de los siguientes factores: • Arquitectura de la máquina. • Tecnología de fabricación. • Sistema operativo. • Lenguaje de programación y compilador. Cada una de estas áreas dependerá de sí misma y de las siguientes, por lo que hay una gran incidencia en el buen desarrollo de unas sobre las otras. Para obtener el máximo provecho de la computadora, tan importante es conocer su estructura lógica como la física. Sólo de esta manera se obtendrán las máximas prestaciones de la estructura física aprovechando los recursos de la lógica. Versión Preliminar 6
  7. 7. Electrónica 2 Clasificación de las computadoras Existen diversos métodos de clasificación de las computadoras según la tecnología de su fabricación, de las aplicaciones y de otras diversas circunstancias, etc. • Clasificación según su funcionamiento: Digital, Analógica, Híbrida. • Clasificación según la finalidad: De propósito General y de propósito especial • Clasificación comercial: Las computadoras, de acuerdo con su tamaño, coste, complejidad, potencia y necesidad de mantenimiento, se clasifican en: Supercomputadores o Maxicomputadores, Mainframes o Macrocomputadores, Minicomputadores y Microcomputadoras. Puede profundizar cada clasificación en la bibliografía ‘Arquitectura de Microprocesadores – Los Pentium a Fondo’ Ed. Thompson. Como conclusión se puede decir que el avance de la tecnología se introdujo inicialmente en los supercomputadores, incrementándose así su rendimiento en relación con los demás tipos. Pero, a medida que ha pasado el tiempo, las computadoras de las gamas más bajas han incrementado notablemente su rendimiento al absorber inmediatamente todos los progresos. Esquema General El siguiente diagrama describe en forma elemental la arquitectura de una microcomputadora -familia de computadoras personales PC, compatibles en sus inicios con las computadoras IBM PC-, cuya unidad central de procesos esta gobernada por un circuito integrado denominado microprocesador. • La placa base -o motherboard-. Es una placa donde se ubican los principales componentes de una computadora: microprocesador, memoria, buses, circuitos para entradas/salidas, y otros circuitos fundamentales para el funcionamiento de la PC. Fue diseñada de tal forma que las placas Versión Preliminar 7
  8. 8. Electrónica 2 que se conectan con el mundo exterior sean circuitos adicionales y no estén integradas con la motherboard, es decir, que no se encuentren en la misma placa. • El microprocesador o CPU -Central Processing Unit - Unidad Central de Procesamiento- se encarga de tomar la información que recibe de diferentes fuentes, efectuar sobre la misma los procesos necesarios, y enviar el resultado al destino preestablecido. • El reloj: circuito que genera una señal periódica que se inyecta a un pin -terminal o pata del chip- y que define la velocidad de trabajo del microprocesador. Todo chip tiene una velocidad máxima de trabajo, por lo que el reloj deberá proporcionar una señal que no supere la máxima frecuencia que acepta el microprocesador. • La memoria: parte de la máquina donde residen los programas y datos que serán utilizados por el microprocesador. Podemos pensar que dicha memoria está constituida por una gran cantidad de "celdas" del mismo tamaño -cada celda permite almacenar 8 bits o sea un byte- en donde solamente el microprocesador podrá grabar –almacenar- o leer bytes -con excepción de las tareas de transferencia de datos manejadas por el controlador de DMA-. Estas celdas están físicamente contenidas en pequeños chips, de tal manera que es posible agrupar una cierta cantidad de ellos para formar un banco de memoria. • La memoria cache: memoria muy rápida donde se sitúa el código y la información que el microprocesador utilizó recientemente, y que puede llegar a requerir en las instrucciones siguientes. El resto del código y de los datos están en la memoria principal que es mucho más grande y menos rápida -y por lo tanto más económica-. De esa forma la velocidad de trabajo de la memoria caché no limita la velocidad de trabajo del microprocesador, de lo contrario la memoria "frenaría" al microprocesador. En el punto 5 “Memoria” se profundizará al respecto. • Módulo de Entradas y salidas: sirve para adaptar las especificaciones eléctricas de los periféricos a las características propias del microprocesador. De esta manera es posible que el microprocesador, que solo puede grabar y leer códigos binarios de una manera muy rígida, genere acciones compatibles con cualquier tipo de circuito externo, ya sea digital o analógico. • El bus: está formado por un conjunto de conductores donde cada uno de ellos tiene un nombre bien definido como así también las señales eléctricas que viajan por él. Este conjunto de definiciones constituye una norma que se respeta por todos los fabricantes de hardware de máquinas del mismo tipo. Podemos dividir al BUS en tres conjuntos de señales diferenciadas que se denominan: bus de datos, bus de direcciones y bus de control. En el desarrollo de la materia, se irá detallando cada uno de los elementos integrantes de esta arquitectura. Otros componentes importantes que se encuadran en una computadora de tipo personal son: • Controlador de interrupciones: circuito integrado que ayuda al microprocesador a manejar las señales de interrupción que provienen de los circuitos externos a la CPU. Una interrupción es una señal eléctrica originada por algún circuito, por ejemplo un periférico, que desea ser atendido por el microprocesador. Si el microprocesador está realizando alguna tarea, al llegar esta señal la interrumpe, ejecuta el código asociado a la interrupción, y luego retoma la tarea pendiente. • Controlador de DMA: circuito integrado -chip- que controla el acceso directo a memoria. Relaciona en forma directa, sin intervención de la CPU, el módulo de entradas y salidas con la Versión Preliminar 8
  9. 9. Electrónica 2 memoria de la máquina. De esta forma la transferencia de datos en bloques -gran cantidad de datos uno a continuación del otro- se puede realizar a una mayor velocidad que si lo manejara el microprocesador. • El coprocesador: Los microprocesadores actuales incluyen el módulo del coprocesador; en equipos anteriores a los modelos 486, es un chip separado donde se ejecutan tareas especificas, principalmente relacionadas a cálculos matemático, realizadas mucho mas rápido que el microprocesador: una única instrucción del coprocesador puede resolver lo que al microprocesador le demandaría una subrutina especial. Descargar una utilidad que permita conocer la información de su sistema -Aida32 o LavaSoft-, ejecutarlo e identificar los componentes mencionados anteriormente. 2. LA PLACA BASE Como se mencionó anteriormente, es una placa en donde se ubican los principales componentes de una computadora, diseñada de tal forma que permite conectar, a través de ranuras de expansión, otros circuitos adicionales de diferentes tipos –placas de red, módem, placas para edición de video/TV, etc., y no estén integradas con la motherboard, es decir, que no se encuentren en la misma placa. La idea es que si se quiere actualizar alguna placa, no deberemos cambiar la motherboard completa, sino que reemplazando simplemente la placa de video, por ejemplo, se actualiza el sistema. En el mercado hay una gran variedad de fabricantes de motherboards, los cuales, para un mismo microprocesador, ofrecen diversas alternativas en función del uso y destino de la computadora donde se Versión Preliminar 9
  10. 10. Electrónica 2 utilizará, incorporando –o excluyendo- diferentes componentes, o también brindando mayores capacidades de ampliación, tanto de memoria como de dispositivos externos a través de ranuras de expansión. Con los datos obtenidos de la utilidad de información del sistema utilizado anteriormente, ubicar en Internet el sitio oficial de soporte técnico de la placa base de su equipo, para conocer en detalle sus características. Con el detalle de características, ubicar una placa base de otra marca, para poder comparar rendimiento, opciones de ampliación y otras características. 3. EL MICROPROCESADOR El microprocesador es un chip, un tipo de componente electrónico en cuyo interior existen miles -o millones- de elementos llamados transistores. Su núcleo, la oblea de silicio, se encuentra encapsulada para darle consistencia e impedir su deterioro como por ejemplo por oxidación con el aire, y permitir el enlace con los conectores externos que lo acoplarán a su zócalo o a la placa base. Suelen tener forma de cuadrado o rectángulo negro, y van o bien sobre un elemento llamado zócalo -socket-, o soldados en la placa, o en un slot –como es el caso del Pentium II y Pentium III, metidos dentro de una especie de cartucho que se conecta a la placa base aunque el chip en sí está soldado en el interior de dicho cartucho-. La velocidad de un micro se mide en megahertzios -MHz- o gigahertzios -1 GHz = 1.000 MHz-, que es sólo una medida de la fuerza bruta del micro Debido a la extrema dificultad de fabricar componentes electrónicos que funcionen a las inmensas velocidades de MHz habituales hoy en día, todos los micros modernos tienen 2 velocidades: • Interna: la velocidad a la que funciona el micro internamente -200, 333, 450... MHz). • Externa o del bus: o también "velocidad del FSB"; con la que se comunican el micro y la placa base. Típicamente, 33, 60, 66, 100, 133, 266, 400 MHz, Etc. Características y clasificaciones Para analizar su funcionamiento, en el microprocesador se consideran los siguiente bloques o componentes relevantes: • Unidad de Control -CU – Control Unit) • Unidad Aritmético Lógica -ALU- Arithmetic and Logic Unit). • Unidad de Punto Flotante o coprocesador matemático -UPF - Floating Point Unit). • La memoria caché -interna y externa- • Los buses -internos y externos- • Los registros. Versión Preliminar 10
  11. 11. Electrónica 2 Los microprocesadores difieren unos de otros principalmente por alguna de las siguientes características, las cuales influyen directamente en la velocidad de procesamiento: • El tamaño de palabra -word size): es el ancho máximo de las instrucciones o datos que puede interpretar en una única instrucción. • La velocidad del reloj: interna, dentro del microprocesador, y externa, correspondiente al bus del sistema o FSB -Front Side Bus). • El juego de instrucciones que soporta. • La arquitectura interna, también conocida como micro-arquitectura. • La cantidad y organización de las unidades de ejecución. • La cantidad y organización de canales o cañerías -pipelines- de instrucciones. • Las capacidades y la eficiencia del procesamiento. • Las instrucciones adicionales y específicas. Se analizará a continuación el principio de funcionamiento de los microprocesadores, y dentro del mismo se analizarán cada ítem mencionado anteriormente. Principios básicos de funcionamiento Para entender el principio de funcionamiento, es necesario conocer previamente los elementos intervinientes en dicho proceso. Registros El microprocesador posee una cierta cantidad de pequeñas memorias temporales de rápido acceso, conocidas como registros. En ellas almacenan algunos datos necesarios y otros fundamentales para continuar procesando instrucciones sin perderse. El Pentium posee 32 registros en su arquitectura interna, de los cuales la mitad son utilizados para la ejecución de aplicaciones. Algunos típicos son: • EIP -puntero de instrucciones): contiene la dirección de la próxima instrucción a ejecutar. • EAX -acumulador) • EBX -base) • ECX -contador) • EDX -datos) • ESP -puntero de pila) Cómo se puede apreciar, se ha mantenido el mismo nombre que en el 8086 -16 bits: IP, AX, BX, CX, etc.- pero anteponiendo la letra ‘E’ de extendido -32 bits). Como los registros están dentro del microprocesador, éste puede acceder al contenido de ellos muchísimo más rápido que si lo hiciera a la memoria principal. La cantidad de registros que tiene el microprocesador depende exclusivamente de su diseño. Versión Preliminar 11
  12. 12. Electrónica 2 Tamaño de palabra (word size) Es el ancho máximo de una instrucción, o cualquier dato que pueda interpretar el microprocesador, y/o transferir a sus módulos vecinos, en una sola operación. Es un conjunto de bits y por lo general corresponde a una potencia de 2: 8; 16; 32; 64 bits y así sucesivamente; de aquí la denominación de "microprocesador de x bits". A medida que fue aumentando el tamaño de palabra, los procesadores tuvieron que agregar nuevos registros, que respetan el tamaño de palabra. Por ejemplo: un procesador de 32 bits posee el conjunto de registros de 16 bits para mantener la compatibilidad con sus predecesores y agrega un nuevo conjunto de registros de 32 bits. Con la evolución de los procesadores, también se sumaron registros específicos con mayor tamaño que el de palabra. Coprocesador matemático El coprocesador matemático, o más correctamente la FPU -Unidad de coma Flotante-, es la parte del micro especializada en esa clase de cálculos matemáticos; como se mencionó al describir los componentes de un computador, antiguamente estaba en el exterior del micro, en otro chip. Juego de Instrucciones Procesadores CISC Los microprocesadores pertenecientes a la familia 80x86 –utilizados en la mayoría de los equipos PC actuales- tienen la capacidad de manejar una gran cantidad de instrucciones de longitud variable y se conocen como procesadores CISC -Complex Instruction Set Code - Código de conjuntos de instrucciones complejas). Procesadores RISC Los procesadores RISC -Reduced Instruction Set Code - Código de conjuntos de instrucciones reducido- tienen una cantidad de instrucciones menor que 100 y todas son de la misma longitud, o sea la misma cantidad de bits. En esta filosofía de trabajo, el set de instrucciones y los compiladores están optimizados para aprovechar al máximo las características particulares de cada microprocesador. Estos chips ejecutan como mínimo una instrucción por cada pulso -clock- del reloj: cada instrucción está relacionada directamente con un trabajo elemental del microprocesador y por lo tanto no necesita de un micro-código, como sucede con los procesadores CISC. Los RISC procesan las instrucciones mediante varias estaciones de trabajo o fases dentro del chip, que pueden ejecutar al mismo tiempo y en forma independiente. De tal manera que mientras una de estas estaciones procesa parte de una instrucción, las otras estaciones procesan partes de otras instrucciones. En otras palabras, varias instrucciones se ejecutan al mismo tiempo tal como lo muestra la figura. Esto es semejante a cómo se ensambla o fabrica un producto en una línea de producción. Vemos que cada instrucción necesita pasar por las cuatro fases para completar su ejecución. Pero como lo muestra la figura en un determinado momento la instrucción 1 esta en la fase 4, mientras la instrucción 2 esta en la fase 3 y así sucesivamente. En una instancia posterior definida por el siguiente pulso de reloj, la instrucción 2 pasa a la fase 4; la instrucción 3 pasa a la fase 3 y así sucesivamente. Versión Preliminar 12
  13. 13. Electrónica 2 Instrucción 4 Instrucción 3 Instrucción 2 Instrucción 1 Instrucción 5 Instrucción 4 Instrucción 3 Instrucción 2 Instrucción 6 Instrucción 5 Instrucción 4 Instrucción 3 Instrucción 7 Instrucción 6 Instrucción 5 Instrucción 4 FASE 1 FASE 2 FASE 3 FASE 4 tiempo Pulsos del reloj Esto se conoce con el nombre de PIPELINING. Observamos en la figura, cómo se ejecuta una instrucción por pulso de reloj como promedio, a pesar de que cada instrucción necesita cuatro ciclos o pulsos. Esto se realiza en forma eficiente por la naturaleza simple y homogénea de las instrucciones. Sin embargo el pipelining falla en los siguientes casos: • Cuando una instrucción debe acceder a la memoria -instrucciones de carga y acumulación- por lo tanto se produce una espera retardando su ejecución, y el resultado de este debe ser utilizado por la instrucción que le sigue, que no podrá disponer del dato que le hace falta y también se retardará esperando la ejecución de la instrucción que le precede. De esta forma se rompe la simultaneidad de las ejecuciones. • Cuando se procesa una instrucción de salto, y por ende no se procesarán las instrucciones siguientes. Procesadores CRISC Estas nuevas técnicas influenciaron el diseño de los nuevos microprocesadores convencionales de las PC, que usan el PIPELINING entre otros avances tecnológicos, y logran mayores velocidades combinando las dos tecnologías, es decir, transforman las instrucciones CISC en instrucciones RISC simples de longitud fija y se ejecutan más rápidamente mediante múltiples unidades de ejecución RISC. La micro-arquitectura de estos procesadores es, entonces, una mezcla de CISC con unidades RISC. Sin embargo debido a la estructura convencional de las instrucciones -que se mantienen por compatibilidad con los microprocesadores anteriores- no se logran los resultados obtenidos en los RISC. Frecuencia del reloj El microprocesador está gobernado por el reloj del sistema, un cristal de cuarzo regulado que cumple el papel de un metrónomo electrónico. A mayor velocidad del reloj, más operaciones se podrán realizar en el mismo período de tiempo. Se puede aumentar la velocidad de trabajo cambiando la frecuencia del reloj y también el microprocesador, excepto que la nueva frecuencia sea inferior a la máxima admitida por el chip. Versión Preliminar 13
  14. 14. Electrónica 2 La velocidad de este reloj se mide en Hertz (Hz), que indican la cantidad de ciclos por segundo. Hace algunos años se expresaban en MegaHertz (MHz), donde 1 MHz = 1 millón de ciclos por segundo. En los procesadores modernos se miden en GigaHertz (GHz), donde 1 GHz = 1.000 millones de ciclos por segundo. Las nuevas versiones de un microprocesador se fabrican con nuevas técnicas y/o materiales que permiten una mayor velocidad de trabajo. Los microprocesadores Pentium IV trabajan con velocidades mayores al 2 Ghz -2000 Mhz; dos mil millones de tareas elementales por segundo). El microprocesador de las primeras PC -el 8088- trabajaba con una frecuencia de 4,77 Mhz. Un microprocesador que funcione a 2 GHz, ¿Ejecuta el doble de instrucciones en un segundo que uno de 1 GHz? Justificar. Secuencia de ejecución El microprocesador se encarga de tomar la información que recibe de diferentes fuentes, efectuar sobre la misma los procesos necesarios, y enviar el resultado al destino que se le indicó. Esta secuencia se la conoce con las siglas EPS -Entrada de información; Procesamiento; Salida). Por lo tanto podemos decir que desde el encendido del equipo hasta que se apaga, la tarea del microprocesador es realizar pequeños trabajos -uno a continuación del otro-, denominados ciclo de instrucción, y cada uno de ellos tiene dos fases bien definidas que son: • Búsqueda de la instrucción u orden • Ejecución de la misma. El funcionamiento básico del microprocesador para la ejecución de instrucciones es el siguiente: 1. La unidad de control se encarga de recibir las instrucciones provenientes de la memoria a través del bus de datos; 2. Decodifica cada instrucción 3. Ejecuta la instrucción, enviando datos a cualquier dispositivo que la instrucción indique o realizando diferentes tipos de procesos con los datos que llegan de la memoria a través del bus de datos. 4. Si no se le indica lo contrario mediante una instrucción de bifurcación, el procesador ejecutará las instrucciones a medida que le van llegando. La unidad aritmética y lógica (ALU) es una parte del procesador que se encarga de realizar las operaciones lógicas y aritméticas con los datos recibidos. Si la instrucción indica que se realicen algunas de estas operaciones la ALU tomará los datos de registros, los cuales se han llenado previamente con otras instrucciones para tal fin, y depositará los resultados de la operación efectuada en un registro. Evolución de los microprocesadores A medida que fueron evolucionando los microprocesadores, se consiguieron mejores tecnologías de fabricación, de menor cantidad de micrones que permiten condensar mayor cantidad de transistores en el mismo espacio de silicio, el cual se encuentra dentro del embalaje del procesador. Versión Preliminar 14
  15. 15. Electrónica 2 Los transistores constituyen el componente principal de la electrónica de los microprocesadores y a mayor cantidad, ofrecen mayores funcionalidades y son más complejos y conseguir, de esta manera, velocidades de trabajo superiores. A pesar de su antigüedad, es necesario hacer esta recorrida por la evolución y sus principales predecesores, ya que constituyen las bases del funcionamiento de los microprocesadores más modernos. El primer microprocesador fue el Intel 4004, producido en 1971.Se desarrollo principalmente para una calculadora y resultaba revolucionario para su época. Contenía 2.300 transistores en un microprocesador de 4 bits que solo podía realizar 60.000 operaciones por segundo. El primer microprocesador de 8 bits fue el Intel 8008 -1979- que contenía 3.300 transistores. El Intel 8080 fue el primero desarrollado para el uso general, en 1974. De 8 bits que contenía 4.500 transistores y podía ejecutar 200.000 instrucciones por segundo. En 1975 Intel desarrolló su primer micro de 16 bits que salió al mercado en 1978. Se trataba del 8086, la longitud de registros era de 16 bits, y había versiones que funcionaban a 4.77 Mhz, y tenia un bus de datos de 16 bits y un bus de direcciones que de 20 bits, lo que le permitía acceder a un máximo de memoria de 1Mb -2 20 ). La primer PC fue desarrollada por IBM en 1981. En realidad ya existían computadoras personales antes pero el modelo de IBM tuvo gran éxito entre otras cosas por que era fácil de copiar. En su interior había un micro denominado 8088, de una empresa bastante conocida llama Intel. Este micro trabajaba a 4,77 Mhz., y era una versión de prestaciones reducidas del 8086.La diferencia era sustancial ya que el bus de datos era de 8 bits. La empresa NEC por procedimientos de ingeniería inversa, sacó el diseño de los micros 8086 y 8088, con sus modelos V20 y V30, que incrementaban el rendimiento respecto a los de Intel en un 30%. Pero el modelo 8088 tenía un error de diseño -que afectaba la gestión de interrupciones-; por tal motivo Intel fabricó variaciones de estos modelos, sacando al mercado los 80C86, 80C88, 80C186 y 80186 cuyas modificaciones fueron el ahorro de energía en las versiones C para su instalación en portátiles, y el rediseño interno para la optimización en las versiones 1. El 80186 se usó específicamente para el control de periféricos El 80286 aparece en 1984 como base para una nueva generación de computadoras de IBM y el IBM AT -Advanced Technology- incrementó el bus de direcciones de 20 bits a 24 bits lo que permitía acceder hasta los 16 Mb de RAM, y se incrementaba la velocidad llegando a ser hasta un 25 por ciento mas rápido que los 8086 y 8088. Versión Preliminar 15
  16. 16. Electrónica 2 Y por fin en 1987, aparece el primer micro de 32 bits: el 80386 -o simplemente 386-. Al ser de 32 bits permitía idear software más moderno, con funcionalidades como multitarea, es decir disponer de mas de un programa trabajando a la vez. Otras empresas se incorporaron al mercado, como AMD y CYRIX, y comenzaron copiando a Intel, hasta hacerle a veces mucho daño -con productos como el 386 de AMD, que llegaba a 40 Mhz frente a 33 Mhz de Intel-. El 486 era un 386 con un coprocesador matemático incorporado y una memoria caché integrada, lo que le hacia más rápido, desde entonces todos los chips tienen ambos en su interior. Luego vino el Pentium, un nombre inventado para evitar que surgieran 586s marca AMD o CYRIX ya que no era posible patentar un número pero si un nombre, lo que aprovecharon para sacar fuertes campañas de publicidad “Intel Inside” -Intel adentro-. Microprocesador PENTIUM El Pentium -o “586”-, son microprocesadores de unos 6,4 cm 2 aproximadamente, y presentó graves problemas en sus inicios debido a un error de fabricación en su modelo de 60 MHz. Posteriormente, y con los problemas subsanados, aparecieron distintos modelos que duplicaban la velocidad del bus, trabajando a 75, 90, 100, 120, 133, 150, 166, 180 y hasta 200 MHz. La caché utilizada es de 16KB. AMD denominó su microprocesador de competencia como “K5”, y la firma CYRIX denominó “6x86” al suyo. Funcionamiento de un PENTIUM La RAM envía datos o instrucciones codificadas a la BIU -o unidad de interfaz con el BUS- en “Ráfagas” de 64bits. Estos datos son enviados por dos rutas a cada una de las memorias caché de que dispone el micro. En una se almacenarán los datos y en la otra las instrucciones que indican qué debe hacerse con esos datos. Existe una zona llamada “Unidad de predicción de bifurcaciones”. Esta unidad se encargará de inspeccionar las dos ALUs que tiene el microprocesador para determinar cual será la encargada de gestionar las nuevas instrucciones. Esta unidad asegura el rendimiento óptimo del microprocesador, evitando que una ALU este “sin trabajar” mientras existan instrucciones que procesar. Una nueva memoria, llamada búfer del “prefetch” recupera los códigos de Versión Preliminar 16
  17. 17. Electrónica 2 instrucciones y los convierte a un “lenguaje” que la ALU seleccionada pueda “entender”. En caso de precisar realizar operaciones con números decimales se usará el procesador interno especializado para tal fin. A partir de este momento, cada ALU procesara las instrucciones que le correspondan de manera independiente, recogiendo los datos que le sean precisos desde las caché de datos -registros- y las instrucciones desde cada decodificador de instrucciones. Una vez finalizado el proceso, las dos ALUs, así como el procesador de coma flotante, entregan sus resultados a la caché de datos, desde donde serán reenviados a la memoria RAM. Microprocesador PENTIUM PRO El Pentium PRO es otro de los microprocesadores que INTEL ha orientado a aplicaciones y sistemas operativos de 32 bits. Implementado con 5,5 millones de transistores, es muy diferente de los PENTIUM convencionales. Dispone también de 8 KB de memoria caché interna para datos y otros 8 KB para instrucciones, pero en el caso de PENTIUM PRO la memoria caché es de nivel 2 -L2- en lugar de nivel 1 -L1- usado por el PENTIUM convencional. Se pueden encontrar versiones de PENTIUM PRO con 256 KB y 512 KB de memoria L2 asociativo de cuatro vías. Trabajando a 32 bits, el PENTIUM PRO ofrece prácticamente el doble de velocidad para una misma frecuencia que un PENTIUM convencional. Microprocesador PENTIUM MMX El PENTIUM MMX o P55C es otro micro de INTEL con la innovación de la tecnología MMX. Este microprocesador maneja 257 instrucciones. Las nuevas instrucciones están orientadas a multimedia y se define como el cambio más radical desde el 386 aparecido en 1985. Otra novedad en este tipo de microprocesadores es referente al consumo de corriente. No todo el micro trabaja a la misma tensión de alimentación, sino que usa voltaje dual. Aunque dicha tensión se determina de forma especifica en cada micro, es habitual que los valores oscilen en torno a 2,8v para el núcleo del microprocesador y 3,3v para el sistema de operaciones de entrada/salida. Dispone de doble caché: es decir, 16KB para datos y 16KB para instrucciones. Los modelos aparecidos en el mercado fueron de 166, 200 y 233 MHz, aunque existieron versiones a 133 MHz para Notebooks. Microprocesador PENTIUM II El Pentium II consigue aunar la potencia del Pentium-Pro con las ventajas multimedia del Pentium MMX. Diseñado para 233, 266, 300 MHz dispone de una memoria caché interna de 512 KB. Otra novedad incluida es el tipo de zócalo que Intel lanza como nuevo estándar para su microprocesador: El SEC -Single Edge Connect). Cabe destacar que la memoria caché ya no va integrada en el propio microprocesador. En el caso del Pentium II, la memoria caché de segundo nivel va en el circuito impreso que sirve de soporte para el microprocesador. El nuevo diseño externo del Pentium -similar al cartucho de una consola de juegos- tiene el propósito de aislar el microprocesador de los demás componentes y viceversa -impedir que el resto de los componentes Versión Preliminar 17
  18. 18. Electrónica 2 interfieran sobre el correcto funcionamiento del microprocesador-. Ahora el soporte del disipador-ventilador, dadas las condiciones de refrigeración necesarias en el microprocesador, debe ser voluminoso. Microprocesador PENTIUM CELERON Se trata de un microprocesador inferior y más económico que el Pentium II –motivo por el cual consiguió perdurase más tiempo que el propio Pentium II-. Implementados con 7,5 millones de transistores hasta los modelos de 300MHz y con 9,1 millones el resto, estos micros heredan las instrucciones MMX y siguen manteniendo una comunicación con el bus de 66MHz. Apareció bajo dos encapsulados diferentes: el SEPP y el PPGA. El primero fue el mas común, recordando al típico formato del Pentium II. Aunque también estaba optimizado para trabajar con aplicaciones de 32bits, la crítica a este microprocesador estaba dada por la ausencia de memoria caché L2, lo cual afectó a toda la gama comprendida entre los 266 y 300MHz. El resto incluyó una L2 de 128KB en sincronía con la velocidad del microprocesador. En cuanto a la caché de primero nivel, todos los modelos disponen de 32KB, repartidos en igual capacidad de datos e instrucciones. Microprocesador PENTIUM III El PENTIUM III es la sucesión del PENTIUM II. Clasificado dentro de la familia P6 y con las características propias de la misma como el rendimiento en ejecución dinámica, o un bus de sistema multitransaccional, funciona con un bus externo de 100 MHz. Hereda la tecnología MMX, además de 70 nuevas instrucciones orientadas al manejo de gráficos 3D, video y audio. Admite frecuencias de trabajo de 450, 500 y 550 MHz funcionando con un Chipset 440BX. Incluye, además, 512 KB de memoria caché de segundo nivel, 8 nuevos registros de 128 bits, además de los 8 registros FP ya existentes de 64 bits, donde cada registro soporta 4 valores de coma flotante de simple precisión IEEE. INTEL incluyó una novedad: cada microprocesador era numerado de forma única, con lo que desaparecía el anonimato del usuario. Las importantes mejoras en gráficos 3D con mas polígonos y efectos complementan la animación así como el tratamiento de imágenes, disponiendo de algoritmos optimizados que permiten manejar imágenes más grandes y complejas en menos tiempo. En cuanto al video, lo más destacable es, sin duda, la posibilidad de edición y codificación de ficheros en formato comprimido MPEG 2 en tiempo real junto al resto de características heredadas del tratamiento de imágenes. Esto consigue una reproducción de video sin cortes entre imágenes. El conjunto de prestaciones se complementa con el reconocimiento de voz que es una de las características más atractivas. Para dar soporte al manejar de voz promovido por MICROSOFT con su nuevo Windows 2000, INTEL ha creado la plataforma idónea dando mayor precisión y efectividad a las aplicaciones reconocimiento. Versión Preliminar 18
  19. 19. Electrónica 2 Microprocesador PENTIUM 4 El PENTIUM 4 corresponde al último diseño de INTEL para dar respuesta a las nuevas necesidades que el avance de las nuevas tecnologías implica. Lo más llamativo de este micro es que se trata de un desarrollo completamente nuevo. El PENTIUM 4 precisa de una nueva placa base diseñada de forma específica. El formato en el que se suministra es para socket 423 o 478, y su sistema de refrigeración precisa de una caja y fuente de alimentación especiales denominadas ATX 2.03. Este chip de INTEL dispone de una canalización distribuida en 20 fases. Esto significa que cuando se realiza una predicción un total de 20 microinstrucciones pueden quedar en espera de confirmar si la citada predicción ha sido correcta. Otro de los avances es el incremento de velocidad de proceso: permite soportar un bus de sistema de hasta 400MHz. En realidad no es esta la velocidad de bus a la que se puede trabajar sino que se aplica un doble DDR para obtener mejores resultados. Por ello es necesario configurar la placa base con un factor multiplicador x. De esta forma, por ejemplo, se alcanzan más de 3 GB/s frente a 1 GB/s obtenido por el PENTIUM II con un bus de 133 MHz o los 0,5 GB/s del Celeron con un bus de 66MHz. Tipos de conexión. Zócalos El rendimiento que dan los microprocesadores no sólo depende de ellos mismos, sino de la placa donde se instalan. Los diferentes micros no se conectan de igual manera a las placas, estos se conecta a la placa por medio de socket este es con mecanismo ZIF (Zero Insertion Force). En ellas el procesador se inserta y se retire sin necesidad de ejercer alguna presión sobre él. Al levantar la palanquita que hay al lado se libera el microprocesador, siendo extremadamente sencilla su extracción. Estos zócalos aseguran la actualización del microprocesador. Hay de diferentes tipos: Socket 423 y 478: para procesadores Pentium 4 de Intel. El primero hace referencia al modelo de 0,18 micras y el segundo al construido según la tecnología de 0,13 micras. Esa longitud hace referencia al tamaño de cada transistor, cuanto menor sea tu tamaño más pequeño será el micro y más transistores será posible utilizar en el mismo espacio físico. Además, la reducción de tamaño suele estar relacionada con una reducción del calor generado y con un menor consumo de energía. Socket 462/Socket A: ambos son el mismo tipo. Se trata donde se insertan los procesadores Athlon en sus versiones más nuevas, y son muy similares entre sí: • Slot A: En este conector iban instalados los antiguos procesadores Athlon de AMD. Versión Preliminar 19
  20. 20. Electrónica 2 • Slot 1: A este conector le corresponden los procesadores Intel Pentium II y también los procesadores más antiguos Pentium III. • Slot 2: Este conector es más conocido a nivel de servidores de red, donde iba instalado el procesador Xeon. Socket 370 o PPGA: Es el zócalo que utilizan los últimos modelos del Pentium III y Celeron de Intel. Socket 8: Utilizado por los procesadores Pentium Pro de Intel, un micro optimizado para código en 32 bits que sentaría las bases de lo que conocemos hoy en día. Socket 7: Lo usan los micros Pentium/Pentium MMX/K6/K6-2 o K6-3 y muchos otros microprocesadores de algunos años atrás. Realizar un cuadro con las características de al menos 5 de los principales microprocesadores de PC: desde el 8086 hasta el Itanium 2 -incluyendo los desarrollados por Intel y AMD: Pentium 4, III y II, y el Athlon-. Incluir fechas de lanzamiento, ancho bus datos, bus direcciones, capacidad de direccionamiento, etc. Dejar una columna en blanco para completar mas adelante, en la actividad relacionada a los buses. 4. LOS BUSES El bus es el camino que une al microprocesador con los demás componentes de entrada y salida, es decir, comunica al procesador con las controladoras de discos rígidos, la controladora de unidades de diskette y los puertos de E/S incorporados en la motherboard, así como con la placa de video conectada en una ranura de expansión y encargada de enviar información al monitor. Este mismo camino traslada los datos entre el procesador y la memoria que reside en la motherboard y en el caso de procesadores antiguos los comunica con el coprocesador matemático externo –que ahora están ingresados en el chip. Realiza la comunicación con el resto de los componentes a través de vías de trazos metálicos en el circuito impreso. Estas líneas de conductores se encuentran en paralelo, y la cantidad dependerá del ancho del bus Versión Preliminar 20
  21. 21. Electrónica 2 con el que trabaje el procesador externamente. Para un procesador 386SX eran 16 líneas de cobre, para un 486 eran 32, y para un Pentium y sus sucesores son 64. El bus vincula al procesador con los dispositivos de entrada y salida, pero también vincula a estos dispositivos con la memoria. Por lo tanto, el bus puede transportar los datos que un dispositivo de entrada le entrega a la memoria, sin necesidad de que la CPU pierda tiempo participando de este evento y librándola de esa tarea. También la memoria puede entregar datos a un dispositivo de salida sin necesidad de interrumpir el funcionamiento de la CPU. Para cumplir con esa función, el dispositivo debe avisar al procesador que utilizará el bus, de manera que éste no trate de accederlo al mismo tiempo y produzca una mezcla, choque o corrupción de los datos existentes en el mismo. Para esto se le asigna un canal de acceso directo a memoria -DMA- al dispositivo de E/S que trabaje de esta forma. La información más explícita de los canales de DMA se verá más adelante. El bus es uno de los elementos más importantes en el rendimiento global de un sistema de computación: podemos tener el procesador más rápido existente en el mercado, pero si el sistema que lo comunica con el mundo exterior es lento, el rendimiento será bajo, porque el procesador se pasará la mayor parte del tiempo esperando que el bus lleve y traiga los datos. Si el bus es rápido pero trae pocos datos al mismo tiempo, tampoco resulta óptimo, porque se subutiliza. Diferentes tipos de bus y sus componentes El bus de datos es el camino por donde el procesador transporta los datos desde y hacia los dispositivos de entrada y salida, pero, los datos no sirven de nada si no se establece su destino. Para cumplir con este fin aparece el bus de direcciones ¿recuerda que lo nombramos cuando describíamos los diferentes procesadores? Bus de datos Es aquel por donde viajan las señales eléctricas que constituyen la información que lee -datos e instrucciones de la memoria, datos de las entradas- y graba -datos en la memoria y salida- el microprocesador, como así también los datos que se transfieren entre memoria y E/S bajo control del DMA. Las señales pueden viajar en ambos sentidos -desde y hacia el microprocesador- por lo que se dice que el bus de datos es bi-direccional. El número de conductores define la cantidad máxima de bits que el microprocesador puede grabar o leer en un ciclo de máquina. Se dice que el microprocesador es de 32 bits si puede grabar o leer 4 bytes al mismo tiempo. Cuanto mayor sea la cantidad de bytes del bus, mayor es la velocidad de transferencia. Bus de direcciones Nace en el microprocesador y lleva las señales hacia los otros módulos para indicar donde grabará o leerá el microprocesador. Por esto el conjunto de señales debe interpretarse como un código que indica el lugar donde se almacenara el dato que sale del microprocesador o de donde se leerá el dato o instrucción que irá hacia dentro del microprocesador. El número de conductores -número de bits- define la cantidad máxima de lugares donde el microprocesador puede grabar o leer, por lo tanto, la cantidad máxima de memoria que puede acceder el microprocesador. Versión Preliminar 21
  22. 22. Electrónica 2 El 8086 tiene 20 bits, y puede acceder 1.048.576 bytes -2 elevado a la potencia 20). El 80286 tiene 24 bits y por lo tanto puede direccionar 16 millones de bytes. El 80386 tiene 32 bits que le permite direccionar como máximo 4 mil millones de bytes. El Pentium también tiene 32 bits. ¿Cuál es la capacidad de direccionamiento de un microprocesador con un bus de direcciones de 22 bits? Bus de control Como lo indica su nombre, este bus se encarga de administrar la forma en que serán encarados los procesos a llevar a cabo, es decir, que el procesador lo utiliza para enviar comandos u órdenes. Contiene las señales que le permiten al microprocesador sincronizarse con los circuitos que se vinculan con el. Su función es comparable a la de un agente de tránsito, tratará de dirigir los datos por el camino adecuado y evitará cualquier tipo de colisión. Por ejemplo: administrar a través de señales si se escribirá a la memoria o se tomará un dato de la misma -y en qué momento- para llevarlo directamente a un dispositivo de salida. Estas señales actúan en forma aislada -no forman un código- y pueden salir del microprocesador, o llegar a él. Todo circuito que deba vincularse internamente con la computadora deberá conectarse directamente con el BUS, a través del módulo de E/S -que como se verá más adelante, a través de los buses de expansión normalizados). 5. LA MEMORIA La memoria es uno de los componentes fundamentales de las computadoras, ya que sin ella no podrían procesar información porque no tendrían un medio de almacenamiento temporario de los mismos. La memoria principal es el medio de almacenamiento temporal en el que la CPU puede escribir, leer o modificar información. A esta memoria se la conoce como RAM -Random Access Memory - Memoria de acceso aleatorio). Se puede considerar a la memoria como una gigantesca cajonera donde, cada casilla representa un byte y tiene una dirección. La CPU puede leer, escribir o modificar la información en cada una de las casillas, pero para ello debe indicar la dirección de la misma y la información que desea depositar o leer, es por eso que se la llama de acceso aleatorio. La memoria principal tiene un tiempo de acceso bajo, algunas decenas de nanosegundos -1 nanosegundo = 1 x10-1 segundos-, es decir, que se tarda ese tiempo en encontrar la casilla por su dirección y actualizar Versión Preliminar 22
  23. 23. Electrónica 2 la información existente en la misma por otra. La velocidad de la memoria tendrá que ser adecuada para la CPU con la que se trabaje. Cuando llamamos temporal a la memoria principal, significa que al apagar la computadora, se perderá toda la información almacenada en ésta. Cuando un programa se ejecuta, se cargan partes de/ mismo en la memoria para alimentar al procesador con las instrucciones a seguir. Cuando se necesita que la información se mantenga constante, se utilizan los dispositivos de almacenamiento, por ejemplo: los discos rígidos, diskettes, CD-ROM, DVD, etc. La cantidad de memoria máxima direccionable está limitada por el tipo de procesador. Como se ha visto anteriormente, los procesadores 386DX o superiores tienen un bus de direcciones de 32 bits, por lo tanto, pueden direccionar hasta 4 gigabytes. Por otro lado, los procesadores Pentium Pro o superiores tienen uno de 36 bits, capaz de direccionar hasta 36 gigabytes. Si pueden direccionar hasta 4 y 36 GB respectivamente. ¿Por qué existe un límite de 640KB para aplicaciones DOS? ¿Cómo está conformada la memoria para el 8088? Organización de la memoria Basado en el microprocesador 8088, que posee un bus de direcciones de 20 bits -sólo puede direccionar 1 megabyte de memoria- se consideran las siguientes áreas que conforman la memoria. La memoria convencional Este tipo de memoria consiste en los primeros 640 KB. La utilizan los sistemas operativos para cargar su parte fija en memoria, la cual les permite ejecutar el código necesario para poder acceder luego a las otras áreas de memoria. Por más moderno que sea el sistema operativo, debe cargar y ejecutar código en los primeros 640 KB. Es un área de memoria plana accesible en forma directa y utilizada para almacenar y ejecutar programas. La memoria superior (UMB) La memoria superior está compuesta por los huecos de memoria -UMB – Upper Memory Blocks- no utilizados entre los 640 KB y 1024 KB. No puede ser utilizada en forma directa por el Sistema Operativo Versión Preliminar 23
  24. 24. Electrónica 2 DOS o los programas, aunque los huecos que quedan pueden aprovecharse para cargar controladores -drivers- o residentes. Los sistemas operativos actuales -Windows 9x, XP, 200x, Linux, etc.- utilizan estos huecos de memoria sin inconvenientes para cualquier fin. La memoria expandida (EMS) En 1985, Lotus, Intel y Microsoft desarrollaron un estándar -EMS – Expanded Memory Specification- para eludir las limitaciones del DOS. Para lograrlo, paginaron la memoria, y permitieron manejar hasta 4Mb de la memoria extendida paginando de a 64 kb en la memoria superior, accesible por los programas y el DOS. Consulte en la bibliografía la forma de trabajo EMS. La forma de trabajo de la memoria expandida requiere un tiempo adicional del que necesita la convencional, debido al proceso de intercambio de bloques. De esta forma, solucionó un problema a medias, pues solamente podía ser utilizada por programas que la entendían y era más lenta memoria convencional. La memoria extendida La memoria extendida es aquella que va más allá del primer Mb y puede ser direccionada por procesadores 80286 o superiores. Pero, para direccionar esa cantidad de memoria, el procesador debe dejar de operar en modo real -modo de compatibilidad con el 8088, limitado a direccionar sólo 1Mb-, y operar en modo protegido -modo en cual se aprovechan las capacidades de direccionamiento de los procesadores mas nuevos, además de incorporar el principio de protección de memoria). Los sistemas operativos Windows XP, 2000, 2003, NT, Me, 98y95, Linux y Novell trabajan en modo protegido. Consulte en bibliografía acerca del principio de protección de memoria, y el origen del mensaje de error ‘General Protection Fault’ originado en Windows. La memoria alta (HIMEM) Corresponde al bloque entre los 1024 KB y los 1088 KB. En DOS se utilizaba para cargar la parte residente del S.O. DOS y algunos controladores, liberando de esta forma más memoria convencional, Sin embargo, en los S.O. que trabajan en modo protegido, se puede acceder para cualquier fin sin inconvenientes. El área de memoria reservada El segmento de memoria entre los 640 KB y los 1024 KB es un área de memoria que no puede ser utilizada directamente por programas, pues en la PC original era un área de memoria reservada para ser usada por el sistema. Esta parte de la memoria se utiliza para: • Direcciones de memoria que necesitan algunas placas de expansión. • La ROM BIOS. • Memoria de video. Versión Preliminar 24
  25. 25. Electrónica 2 Direcciones de memoria de placas de expansión Algunas placas de expansión requieren cierta cantidad de memoria temporal para uso propio. Por ejemplo, una placa de red requiere un buffer -área de almacenamiento temporal- para guardar información de las transmisiones y acelerar las comunicaciones. Dos placas diferentes no pueden utilizar la misma dirección de memoria como buffer, pues se modificarían los datos mutuamente y se perdería información. Por esa razón, la mayoría de las placas ofrecen varias direcciones de memoria diferentes de las cuales se deberá elegir la que se encuentre libre. La ROM BIOS Se llama ROM -Read Only Memory / Memoria de sólo lectura- a un tipo de memoria de la que se pueden leer datos, pero no escribir nuevos ni modificar los existentes. El BIOS -Basic Input Output System / Sistema Básico de Entrada Salida- está conformado por un conjunto de pequeños programas que se encuentran grabados en la ROM -por eso la denominación de ROM BIOS-. Estos programas pregrabados en memoria por el fabricante -que se conocen con el nombre de firmware- se encargan de administrar a bajo nivel el hardware de la PC, haciendo de traductor de los llamados del sistema operativo a los dispositivos de entrada/salida. Además, cuando uno enciende la PC, ellos son los encargados de inicializar y verificar el hardware y los dispositivos, para luego realizar el proceso de booteo y transferir el control al sistema operativo. El BIOS contiene también las rutinas que nos permiten acceder al CMOS Setup, mediante el cual podemos configurar muchos parámetros de nuestra PC, lo que se analizará en detalle más adelante. Los chips del BIOS son fáciles de identificar, son grandes, poseen 24 ó 28 patas y están colocados sobre un zócalo, de manera que se facilita su remoción. La mayoría tienen una etiqueta pegada encima. El BIOS se ubica habitualmente en los últimos 64 KB de la memoria reservada. ¿Qué es la Flash BIOS? ¿Para qué sirve el método ROM Shadow? La memoria de video Como se puede deducir, es la memoria utilizada por las placas de video para mantener el contenido de la pantalla. Cuando se modifican los datos directamente en la memoria de video, éstos se verán reflejados en la pantalla, encargándose de ello la placa de video. Cuando se diseñó la primera PC, se guardaron 128 KB para esta memoria, aunque en estos tiempos de multimedia, color real y aceleración 3D, esa cantidad de memoria es ínfima e insuficiente. Las placas de video modernas con aceleración 3D poseen mucha mayor cantidad de memoria que 128 KB. Aún en las placas más elaboradas, los primeros 128 KB de memoria de video se siguen ubicando en el área de memoria superior simplemente para mantener la compatibilidad con el diseño original de la PC, Versión Preliminar 25
  26. 26. Electrónica 2 pero el resto de la memoria es accedida mediante la misma técnica utilizada para acceder a la memoria expandida: paginando; de esta forma no se ocupa tanta memoria reservada. Placas y chips de memoria La memoria de una computadora está compuesta por los chips de memoria, que se presentan de distintos tipos y se combinan de manera tal que puedan ser alojados y/o reemplazados en zócalos o ranuras especialmente diseñados en la placa base. Descargar del Aula virtual el Anexo 1 – ‘Módulos de Memoria’. La memoria caché A pesar de ser elementos electrónicos, los chips de memoria principal no trabajan tan rápido como un microprocesador. Los primeros microprocesadores trabajaban a una velocidad de un Mhz., lo que posibilitaba trabajar con memorias con un tiempo de retardo -tiempo de acceso- del orden de 500 nano segundos. En esa época no había demasiado problema para lograrlo. Y si la memoria era más lenta frenaba al microprocesador generando uno o más tiempos inactivos denominados tiempos de wait. Cuando los procesadores comenzaron a tener velocidades de reloj cada vez mayores y funcionaban más y más rápido, los tiempos de acceso de las memorias RAM dinámicas no alcanzaban para seguirle el ritmo. De esa forma, el procesador debía esperar que la memoria reaccione cada vez que necesitaba un dato de ella, con lo que se desperdiciaba una gran cantidad de tiempo que podría estar utilizando para procesar, que es su función principal y no esperar. Una alternativa seria utilizar memorias con menores tiempos de acceso: las RAM estáticas, pero esta solución es muy costosa porque las memorias estáticas cuestan más del doble que las dinámicas. Entonces se utiliza una pequeña cantidad de memoria mucho más rápida -estática -SRAM- que la memoria de trabajo, que respondan en un tiempo de algunos nano segundos -Un nanosegundo =10-9 segundos-, para almacenar datos de la memoria principal y que la CPU tome los datos de esta memoria y no deba acceder tan frecuentemente a la otra, que es mucho más lenta, basados en el ‘principio de localidad’. Versión Preliminar 26
  27. 27. Electrónica 2 En los procesadores 386, esta memoria era externa, es decir no estaba dentro del procesador, sino conectada al mismo a través de un bus. A partir del 486 y los Pentium aparece otra caché: la interna -de primer nivel o L1-, que está integrada en el procesador -encapsulada junto a él-, además de la externa. Los micros más modernos -Pentium III Athlon etc.- incluyen también en su interior otro nivel de caché, más grande aunque algo menos rápida, la caché de segundo nivel o L2. Principio de localidad El éxito de la memoria caché se debe a un hecho conocido como “Principio de Localidad el cual establece que para un computador que accede en forma secuencial tanto a instrucciones como a datos, el acceso a la memoria se realiza en forma repetida en una zona restringida de la misma, en un gran porcentaje del tiempo de procesamiento. De esta manera el principio de trabajo de una memoria caché es el siguiente: cuando el programa busca acceder a la memoria, primero investiga la memoria caché y si obtiene un hit el acceso es a la velocidad de la CPU -no se intercala ningún wait-, y si se obtiene un miss, la CPU accede a la memoria principal generándose los tiempos de wait correspondientes para acceder al dato o instrucción. Sin embargo un bloque de datos que incluyen al dato buscado será transferido a la memoria caché. De tal manera que en un acceso siguiente existirá una gran probabilidad de lograr un hit. Caché externa El tamaño de la memoria caché externa, también conocida como caché L2 -Level 2 - Nivel 2-, puede variar entre 64 KB y 8 MB. El tamaño ideal de caché externa es 256 KB o 512 KB. Un tamaño mayor implica una inversión que no se trasladará en un aumento considerable de rendimiento. Se debe tener en cuenta que el tamaño de la caché externa deberá tener algún tipo de relación con la cantidad de memoria principal. Por ejemplo, no tiene ningún sentido invertir en una caché externa de 2 MB para una máquina equipada con 8 MB de RAM, ya que ésta no se aprovechará por completo, pero sí será muy útil para una con 256 MB o más. Un chip controlador de caché típico es el 82385 de Intel. Su funcionamiento es el siguiente: cuando el microprocesador necesita leer una dirección de memoria, ésta se busca en la memoria caché muy rápidamente, si no se encuentra allí, se toma de la memoria principal y mientras el procesador continúa trabajando, los circuitos controladores de caché hacen que se almacenen en ésta las siguientes posiciones de memoria consecutivas a la que pidió el procesador. La mayoría de los programas van ejecutando una instrucción después de la otra y piden datos de la memoria uno después del otro, por lo tanto, cuando el microprocesador necesite leer las direcciones de memoria siguientes a la que leyó anteriormente, el contenido se encontrará en la memoria caché, que es mucho más rápida que la memoria principal. Versión Preliminar 27
  28. 28. Electrónica 2 Cuando el procesador tiene que escribir información en la memoria principal, ésta pasa por la caché en vez de escribirse directamente en la memoria principal -más lenta-. El controlador de caché decidirá cuándo los datos modificados serán escritos en la memoria principal. Caché interna Se llama caché interna a una pequeña cantidad de memoria que cumple la función de la caché externa, pero que se encuentra en el mismo trozo de silicio del microprocesador, es decir, integrada dentro de su circuito. Las ventaja de poseer caché interna es que el procesador puede acceder a la misma a través de un bus interno con un ancho de datos mucho mayor que el externo. La caché interna es mucho más pequeña que la externa, pero es el doble de rápida que esta última. Al utilizar una caché integrada, los procesadores reducen drásticamente el tiempo necesario para acceder a los datos en memoria. Si no están en la caché interna, podrán estar en la externa y en el peor de los casos habrá que recurrir a la memoria principal. La caché interna de seguimiento de ejecución presentada por el Pentium 4 es una versión mejorada de la caché de código, la cual permite ir almacenando micro-operaciones ya decodificadas y de esta manera elimina la lógica de decodificación de instrucciones de los principales caminos de ejecución del procesador y así logra mejorar aún más su rendimiento. Problemas de la memoria caché La implementación de memorias caché presentó los siguientes problemas: • Mantenimiento de la consistencia de datos: los datos de las memorias principal y caché deben tener la misma información y que en ciertas ocasiones los datos se encuentran en la memoria caché -hit- y otras veces no -miss). Para mantener la consistencia de los datos se deben adoptar ciertos algoritmos que permitan tal actualización, pero la situación no es tan simple cuando otros circuitos también acceden directamente a ella como por ejemplo el controlador de DMA, o mas complicada en una computadora con multiprocesamiento con memoria compartida en donde existe una memoria principal compartida por varios microprocesadores y cada uno de ellos tiene su propia memoria caché. • Violaciones al principio de localidad lo que ocasiona repetidos miss con la consiguiente perdida de tiempo, debido a una frecuente conmutación de las tareas que se da en todo sistema de multiprogramación. Sin embargo, y pese a estas dificultades, el uso de la memoria caché hace que las computadoras actuales logren una alta performance con un bajo costo debido al uso de una gran cantidad de memoria relativamente lenta -memoria principal-. ¿Cómo se resuelve el control de coherencia de datos en los sistemas con múltiples procesadores? Versión Preliminar 28
  29. 29. Electrónica 2 6. MÓDULO DE ENTRADAS Y SALIDAS Sirve para adaptar las características eléctricas de los periféricos a las características propias del microprocesador. De esta manera es posible que el microprocesador, que sólo puede grabar y leer códigos binarios de una manera muy rígida, genere acciones compatibles con cualquier tipo de circuito externo, ya sea digital o analógico. Normalmente cada periférico requiere un circuito adaptador o INTERFASE para comunicarse con la computadora. Puede pensarse que este circuito tiene dos caras o fases, cada una de las cuales se relaciona con el periférico y el computador respectivamente. Así, cada uno de ellos "ve" un circuito que responde a sus necesidades particulares. Para aliviar la tarea del microprocesador se utilizan chips que poseen todos, o casi todos, los atributos para generar señales eléctricas compatibles con las requeridas por los periféricos, y a su vez se relacionan en forma directa con el microprocesador. Estos chips son programables y se conocen como controladores; el microprocesador -respondiendo a un software especial de inicialización- puede "personalizarlos" para que respondan exactamente a un modo de trabajo en particular. Normalmente se usa un controlador por cada tipo de dispositivo o periférico. Ranuras de expansión Las ranuras de expansión son conectores que se encuentran sobre la motherboard y se conectan al bus del sistema a través de este módulo. En estas ranuras se conectan las placas adicionales, por ejemplo una placa de video, un controlador de disco especial y/o una placa de sonido. También conocidas como slots de expansión, estas ranuras son fácilmente reconocibles: tienen diferentes tamaños, formas y longitudes. A simple vista podemos determinar qué tipo de ranura es. Aunque no hay que dejarse engañar por la longitud o tamaño, pues por ejemplo, las ranuras de un bus de 64 bits son más pequeñas que las de un antiguo bus de 16 bits. Con el pasar de los años, cada tipo de ranura de expansión fue estandarizándose junto con el bus, tendiendo a lograr una total compatibilidad. Versión Preliminar 29
  30. 30. Electrónica 2 A continuación se describirá brevemente cada tipo de bus de expansión, comenzando por el bus ISA de 8 bits y llegando hasta los buses PCI. El bus ISA (AT) El primer sistema de bus utilizado en una PC constaba de 62 líneas de comunicación ó 62 conectores en una ranura corta, que aceptaban 8 bits de datos y 20 bits de direcciones, pues el procesador para el cual estaba diseñado era el 8088, que tenía un bus de datos de ese mismo número de bits. Solamente 8 de esos 62 conductores eran de datos y otros 20 formaban el bus de direcciones. Versión Preliminar 30
  31. 31. Electrónica 2 En algunas motherboards aparecen algunas ranuras cortas de 8 bits y las demás de 16 bits. Esto se debió para ahorrar costos en primera instancia y porque algunas placas muy antiguas de 8 bits tenían una falda adicional que sobresalía separada del conector de 8 bits, lo que no permitiría su conexión en slots de 16 bits. ISA Industry Standard Architecture -AT- Bus Pins Data Bus Address Bus Transfer Rate Speed 98 8/16 bits 24 bits 5.5MBs 6-8.33 MHz Cuando los procesadores tenían velocidades de reloj bajas, el bus podía trabajar a la misma velocidad del procesador, pero a medida que fue aumentando dicha velocidad surgieron problemas para trabajar con el sistema de bus a la misma frecuencia. Es por eso que cuando Compaq introduce su AT de 12 MHz al mercado, lo hace con un bus que trabajaba a 8 MHz. Todos copiaron la idea y así nació el estándar en sistemas de bus de 16 bits, que se denominó de la misma forma que el bus anterior de 8 bits: ISA -Industrial Standard Architecture -Arquitectura Industrial Estandarizada-. Cuando se habla del bus ISA, se hace referencia al bus AT de 16 bits. Los buses de 32 Bíts Con la llegada de los procesadores de 32 bits comenzaron a aparecer ranuras especialmente diseñadas para trabajar con el nuevo ancho de datos, pero no eran estándar y cada fabricante las adaptaba a su manera. De esta forma, solamente se conseguían placas para esos conectores de los fabricantes de la motherboard, limitando las posibilidades de ampliación. Era necesaria una normalización, que llegó en 1987 y 1988 con los buses Micro Canal -MCA- y EISA. Cinco años más tarde, en 1993, se desarrollaron el VESA Local Bus 1.0 y el PCI 1.0. En la actualidad, el único que sigue vigente de estos cuatro buses es el PCI en una versión más avanzada; sin embargo, los primeros buses de 32 bits establecieron varios conceptos que son vigentes en la actualidad. Analice las ventajas que ofrecieron PCI, EISA y MCA respecto al bus ISA de 16 bits: El ruido, el ancho de datos, bus mastering y configuración por software. Describir cada uno de estos elementos. El Bus MCA En 1987, IBM desarrolló el bus MCA -MicroChannel Architecture – Arquitectura Microcanal - con el fin de acelerar la transferencia de datos y disminuir los niveles de ruido en sus equipos PS/2. Consiste en un sistema de canalización de los datos - de ahí su nombre - en el cual se activan canales a medida que se desea transmitir información y se transporta por éstos hacia el destinatario. De esta tarea se encarga el Versión Preliminar 31
  32. 32. Electrónica 2 sistema de control del bus, liberando al procesador de estos procedimientos de control y mejorando el rendimiento global del sistema. Es menos susceptible a los ruidos, por lo tanto su frecuencia de reloj puede ser elevada a 10 MHz o más, con lo que se logran velocidades de transferencia de datos máximas de 40 megabytes por segundo. El MCA era totalmente incompatible con los buses anteriores -ISA de 8 y 16 bits-, por lo tanto no resultó muy atractivo para los fabricantes de placas. Es por ello que este sistema no ha tenido mucha aceptación. Solamente se lo ha visto en equipos PS/2 de IBM porque aparte de tener sus desventajas, la rigurosa tendencia de IBM de querer obtener muy buenas ganancias por la patente de su diseño, motivó a que ningún otro fabricante se adhiera al estándar. El bus EISA En 1988, Compaq, Tandy, AST, AT&T y otros fabricantes de computadoras personales se pusieron de acuerdo para desafiar al bus MCA de IBM. Así surge el bus EISA -Enhanced Industrial Standard Architecture - Arquitectura industrial estandarizada y ampliada). Se trató de una ampliación del bus ISA de 16 bits -como éste lo fue del bus ISA de 8 bits- con la gran ventaja de estar normalizado. Es un bus con un ancho de datos de 32 bits y con soporte para bus mastering y configuración por software. Tiene total compatibilidad con el bus ISA, es decir, que se pueden enchufar tanto placas de 32 bits diseñadas para EISA así corno placas de 16 bits para ISA en el mismo slot de expansión. La frecuencia de reloj sigue siendo de 8 MHz, pero al tener un ancho de datos mayor, adquiere una capacidad de transferencia de datos de 33 megabytes por segundo, más del cuádruple del bus ISA de 16 bits. Semejante velocidad de transferencia de datos por segundo es suficiente para las placas de red -actualmente FastEthernet logra una velocidad de 100 Mbps = 15 MBps, por lo cual no sobrepasa la tasa de transferencia de EISA-, pero ya no es suficiente para las altas velocidades de transferencia de datos que han conseguido las nuevas controladoras de discos rígidos y menos aún para las placas de video con aceleración 3D. Versión Preliminar 32
  33. 33. Electrónica 2 Los sistemas basados en el bus EISA se utilizaron en servidores de alto rendimiento y en estaciones de trabajo específicas, pero no llegaron a hacerse masivos debido a sus altos costos, y a que sus características sobresalientes fueron superadas por nuevos buses. En una primera instancia los sistemas basados en bus local -y luego los PCI- fueron reemplazando al viejo EISA, que ya no está presente en ningún sistema moderno. El bus local Se llama bus local a cualquier sistema de bus que permita a los dispositivos conectados a éste trabajar a velocidades de reloj altas como la velocidad externa del reloj del procesador. En una PC basada en un procesador 80486DX de 33 MHz, el bus local corría a 33 MHz con un ancho de datos de 32 bits, pero en una motherboard con un Pentium 4, el mismo corre a 800 MHz con un ancho de datos de 64 bits. En una PC basada en el bus ISA, el procesador necesita dos caminos electrónicos para transportar la información: el bus local del mismo y el bus de expansión. Los componentes en el bus local trabajan a la misma velocidad que lo hace el procesador externamente y con el mismo ancho de datos. Sólo un reducido número de chips está conectado al bus local: la memoria principal y la lógica del controlador. Los demás componentes: controladores de discos rígidos, placas de video, placas de red y módems están conectados a los diferentes buses de expansión, que en los tiempos de ISA corrían a los lentísimos 8 MHz. Para solucionar esta gran diferencia de velocidades, surgieron motherboards basadas en implementaciones de bus local que establecieron puentes que permitían la conexión de dispositivos al bus local del procesador, consiguiendo de esta manera, por ejemplo, que la placa de video, la controladora del disco rígido y la placa de red pudieran aprovechar los 33 MHz de velocidad y 32 bits de ancho del bus local. El VESA Bus Local -VL-Bus- y el PCI fueron los pioneros en implementaciones de este nuevo modo de trabajo. VESA bus local (VL-Bus Versión 1.0 y 2.0) Es un estándar de bus local que fue introducido en el año 1993 por un grupo de fabricantes: Video Electronic Standards Association - Asociación de estándares de video electrónico -VESA). Versión Preliminar 33
  34. 34. Electrónica 2 Este sistema de bus permitía conectar un máximo de tres dispositivos al sistema de bus local del procesador, es decir, trabajaban a la misma velocidad que la externa del procesador. En las motherboards se presentaban tres conectores ISA con el agregado de un conector de 32 bits similar al MCA en línea con el mismo, en forma de parche o agregado. Si no se utilizaba el conector de VL-Bus, la ranura podía aprovecharse para conectar una placa ISA sin problemas de incompatibilidad. VL-BUS VESA Bus Local Pins Data Bus Address Bus Transfer Rate Speed 112 32 bits 32 bits 133 MBs 33 MHz “ “ “ 148 MBs 40 MHz “ “ “ 267MBs 50 MHz Las placas típicas para VL-Bus se conectan en el conector de 112 pines estilo MCA en un extremo y en el conector ISA en el otro. La parte conectada a ISA maneja el acceso directo a memoria -DMA- y el acceso a las interrupciones, direcciones de puertos y líneas de alimentación. Mientras que el conector MCA brinda una línea de datos rápida de 32 bits. El VL-Bus tiene capacidades de bus mastering al igual que EISA y MCA. Versión Preliminar 34
  35. 35. Electrónica 2 Solamente los sistemas basados en procesadores 486 se beneficiaron del VL-BUS. Se desarrollaron muchas placas de video y controladoras de discos rígidos basadas en este bus, pero al limitarse a un procesador que pronto quedó obsoleto, se extinguió para dejarle su lugar a una arquitectura con más futuro: el bus PCI. PCI de 32 y 64 Bits (1.0; 2.x) Este sistema de bus local fue diseñado por Intel en 1993 como base de sistema de bus para el Pentium. PCI -Peripheral Component Interconnect - Interconexión de Componentes Periféricos- fue ideado para acomodar procesadores más rápidos sin necesidad de actualizar constantemente los dispositivos y rediseñarlos. La arquitectura del bus PCI consiste en establecer un puente entre el bus local y el procesador con un buffer -memorias temporarias- FIFO -first in, first out - el primero que entra, el primero que sale-. Intel lo denomina un bus intermedio porque está diseñado para desacoplar al procesador del bus de expansión mientras se mantiene un ancho de datos de 32 ó 64 bits y una velocidad de 33 MHz para comunicarse con los dispositivos. Versión Preliminar 35
  36. 36. Electrónica 2 Esto es así porque es muy costoso diseñar y construir una motherboard cuyas ranuras de expansión trabajen a tan altas frecuencias como las que ha alcanzado el bus local de los procesadores actuales. Además, si esto se hiciera, los fabricantes deberían desarrollar placas de expansión que pudieran trabajar a estas nuevas velocidades. Es por ello que el bus PCI cumple su función de desacoplar y no siguió la arquitectura del VL-Bus, que solamente funcionó con un procesador 486. Un Pentium 4 de 3,20 GHz tiene un bus local de 800 MHz, mientras que las placas conectadas a las ranuras de expansión del bus PCI trabajan a 33 MHz, a una frecuencia 24 veces menor que el bus local del procesador (800 / 24 = 33). Si bien en su momento esta especificación de bus requirió mucho trabajo por parte de los fabricantes para adaptar sus diseños de placas, especialmente la transformación completa de sus placas ISA, ha logrado transformarse en el estándar para las placas de expansión y está presente en todas las motherboards modernas. El bus PCI tiene las siguientes características y limitaciones: Versión Preliminar 36
  37. 37. Electrónica 2 • Permite un máximo de 10 dispositivos trabajando sobre el mismo bus PCI, incluyendo el controlador de PCI y un controlador de bus de expansión ISA, EISA o MCA opcional. En la mayoría de las motherboards modernas ya no se incluyen ranuras ISA. • Originalmente estaba limitado a 33 MHz. Sin embargo, algunas motherboards ofrecen la posibilidad de aumentar en algunos puntos la velocidad del trabajo del bus PCI, llegando a una velocidad máxima de 40 MHz. Hace un par de años apareció la versión de 66 MHz, que todavía no es tan popular como la de 33 MHz. • Ofrece un ancho de datos de 32 bits o de 64 bits (Versión 2.0 desarrollada en 1994). Vale aclarar que esta última versión tuvo poca repercusión en el mercado y recién hace algunos años comenzaron a aparecer las primeras placas de 64 bits. • Permite al procesador efectuar sus tareas al mismo tiempo que se realiza el bus mastering con otros dispositivos, una ganancia de rendimiento que resultó muy atractiva para las aplicaciones multimedia y servidores de alto rango. • Habilita un modo rápido para lecturas y escrituras -VL-Bus solamente lo permitía en lecturas). Detalle Conector PCI 32 bits Detalle Conector PCI-X de 64 bits El diseño de PCI requiere que los dispositivos devuelvan estados de configuración al controlador, lo que significa un rediseño de los chips utilizados en placas para otros sistemas de bus. También utiliza la técnica de multiplexado para enviar más de una información en un solo canal eléctrico, con el beneficio de la reducción de los pines necesarios para comunicarse con los chips y una posible reducción en el costo de producción de los mismos. PCI Peripheral Component Interconnect Bus Pins Data Bus Address Bus Transfer Rate Speed 124 32 bits 32 bits 132 MBps 33 MHz 188 64 bits 64 bits 264 MBps 33 MHz 188 64 bits 64 bits 528 MBps 66 MHz Este sistema fue introducido con las primeras PC basadas en el Pentium y se transformó rápidamente en el estándar para los siguientes microprocesadores, como el Pentium MNIX, el Pentium II, III y 4, el Celeron en todas sus versiones, el K6, K7, Athlon XP y demás procesadores de AMD, entre otros. Su rendimiento es Versión Preliminar 37
  38. 38. Electrónica 2 similar al extinguido VL-Bus: la máxima transferencia de datos es de 132 MBps para PCI 1.0 con 32 bits de ancho de datos y 33 MHz de velocidad de reloj, y de 264 MBps para PCI 2.0/2.1 con 64 bits y 33 MHz. Ahora, con sus implementaciones de 64 bits y 66 MHz, alcanza los 528 MBps. Actualmente PCI es un estándar y está presente en todas las motherboards modernas. Bus AGP. La tecnología AGP -Accelerated Graphics Port- fue creada por INTEL. Dicha tecnología, mejora el rendimiento del sistema proporcionando un camino de alta velocidad entre la controladora gráfica del PC y la memoria del sistema. Este camino permite a la controladora ejecutar mapas de texturas directamente en la memoria del sistema en vez de traerlas a su memoria de vídeo limitada. Esto también demora la velocidad del flujo de vídeo decodificado desde la CPU a la controladora. El BUS AGP únicamente consta de 1 slot, y está pensado para gráficos a alta velocidad. No es importante llevar un chequeo de la integridad de los bits en este bus -ya que si se pierde un bit de un gráfico en un instante dado, ni se nota-. Lo único importante aquí es la velocidad. Existen varios estándares 1X, 2X, 4X, 8X. En general, se va a llegar a utilizar la misma frecuencia que el BUS de la placa madre. Con esto, actualmente se consiguen tasas de transferencia de 500 Megas por segundo. Solo es importante aquí un matiz: el bus AGP se inicializa "después" del bus PCI. Esto para respetar al pie de la letra la norma PCI. Por tanto, si tenemos dos placas gráficas, una PCI y otra AGP, siempre será la placa primaria la PCI -teóricamente más lenta que la AGP-. Algunos fabricantes de BIOS empezaron a poner la pregunta "Primary AGP/PCI o PCI/AGP" en la configuración de la BIOS para saltear esta secuencia. Las técnicas de terminación mejoran los márgenes de ruido y reducen las reflexiones de señales que degradan la integridad de la señal. Los diseñadores necesitan incluir terminaciones en sus diseños por dos razones: 1) para hacer el diseño más robusto minimizando las reflexiones y el ruido debido a las mezclas de impedancias, y 2) para minimizar el ruido de salida. Las ventajas son muchas: • Gestiona mapas de texturas de tamaño, detalle y realismo ilimitado. • Permite que las aplicaciones 3D corran más rápido, ya que la necesidad de transferir las texturas a la memoria de vídeo se elimina. • Minimiza la necesidad de memoria de vídeo. • Permite transferencias a gran velocidad, ya que AGP no es un BUS con múltiples entradas como PCI; permite únicamente la conexión de dos dispositivos: el chipset y el chip gráfico. AGP Accelerated Graphics Port Pins Data Bus Address Bus Transfer Rate Speed 188 32 bits 32 bits 264MBs 66 MHz Versión Preliminar 38
  39. 39. Electrónica 2 Complete en el cuadro realizado en la actividad de proceso del punto 3 -Microprocesadores- e indique en la columna en blanco cuáles de los buses de expansión vistos son compatibles con el microprocesador indicado. Busque en Internet un modelo de motherborad que contenga a ambos -micro y bus de expansión-. Incluir solamente modelo y vínculo a su página técnica. Recursos de placas y dispositivos Se debe tener en cuenta que la gran mayoría de las motherboards modernas incorporan muchas funcionalidades que antes eran placas conectadas en las ranuras de expansión. Sin embargo, esto no significa que no están conectadas a ningún bus de expansión, todo lo contrario, están conectadas a un bus PCI, PCI-X, AGP o AGP Pro, o cualquier otro ya explicado. La diferencia es que utilizan directamente los conductores de cobre en la misma motherboard para conectarse a un bus de expansión, en vez de ser placas enchufadas en una ranura de expansión. Determinados recursos del sistema utilizan las placas y dispositivos conectados a los buses de expansión. Estos recursos no se pueden acceder al mismo tiempo desde diferentes placas o dispositivos, es decir, son de uso exclusivo para uno de ellos. Por lo tanto, se debe hacer conocer o bien configurar a cada placa o dispositivo determinados parámetros para que utilicen los recursos apropiados y avisarle al resto del sistema que son exclusivos para ésta, así ningún otro los reclama para su uso. Los recursos que puede utilizar una placa o dispositivo, incluyendo aquéllos que están integrados en la motherboard, son los siguientes: • La dirección o rango de Entrada/Salida -I/0 Address Range- asignada para el intercambio de datos. • El canal de DMA (DMA Channel). • La línea de solicitud -o petición- de interrupción (IRQ). • La dirección de ROM (ROM Address). Las placas ya vienen preconfiguradas por el fabricante. En muchos casos, la configuraci6n original de la misma puede ser adecuada en un sistema y no presentar ningún tipo de problemas al funcionamiento, pero existen grandes posibilidades de que interfiera con el funcionamiento de las demás placas, debido a que el fabricante no podrá saber qué direcciones de E/S, canales de DMA, líneas de IRQ y direcciones de ROM se encuentran libres en la PC que se instalará, pues no todas están equipadas con los mismos dispositivos o placas y, menos aún, configuradas de la misma manera. Plug & Play y ESCD Enchufar y usar -Plug & Play- o también PnP, es un estándar que define una forma de trabajo según la cual todos los componentes del sistema intervinientes en el reconocimiento y la configuración de un dispositivo de hardware, puede interactuar para realizar este proceso en forma automática utilizando los recursos que Versión Preliminar 39
  40. 40. Electrónica 2 se encuentren disponibles. De esta forma se evitan los conflictos y complejidades cuando se agregan nuevos dispositivos o placas. Con PnP, en teoría, simplemente nos tendremos que ocupar de abrir la PC, conectar la placa nueva y cerrarla nuevamente. Luego, al reiniciar el sistema, el BIOS y el sistema operativo reconocerán al nuevo hardware que se ha instalado y se encargarán de configurarlo apropiadamente para que no interfiera con el resto de los dispositivos. Ni bien arranque el sistema operativo, nos hará saber que ha reconocido la placa o el dispositivo instalado y pedirá confirmación para instalar los drivers necesarios para que funcione correctamente. Nuestra tarea en ese momento quedará limitada a introducir el CD-ROM o la carpeta del disco rígido en donde se encuentren los drivers necesarios. Sin embargo, para que PnP funcione como la teoría lo indica, deben estar perfectamente preparados los siguientes elementos: • El BIOS: los BIOS modernos incluyen el manejo completo de PnP para todos los puertos y buses de EIS. También incorporan el manejo de ESCD -Extended System Configuration Data - Datos de Configuración del Sistema Extendidos-, el cual reconoce los detalles de cada una de las placas y dispositivos que se encuentran conectados a la PC a nivel BIOS. Además, estos BIOS permiten realizar una asignación de recursos, tanto manual como automática, configurable completamente desde el CMOS Setup, por cualquier incompatibilidad que se pueda presentar. • El sistema operativo: el soporte de PnP está incorporado en los sistemas operativos Windows 9X, Me, 2000; 2003 y XP. Además de facilitar la instalación de placas y dispositivos nuevos, facilitan la detección y solución de conflictos entre los existentes. • La placa o dispositivo que se va a instalar en la PC: la mayoría de las placas para los buses AGP, PCI y PCI-X son totalmente compatibles con PnP y permiten una instalación muy sencilla y eficiente, mucho de ello es debido a que estos buses fueron pensados para ser PnP desde sus orígenes. • Todas las placas y los dispositivos ya instalados en la PC: si se poseen placas conectadas con el bus ISA, la especificación no funciona del todo bien y muchas veces es necesario terminar configurando todos los parámetros en forma manual. • El bus de expansión, puerto de E/S o bus de E/S en el cual se va a conectar la placa o dispositivo: por ejemplo: cuando se enchufa una impresora al puerto USB, el sistema operativo la detectará automáticamente y comenzará el proceso de instalación de los drivers; al finalizar tendremos la impresora disponible para comenzar a trabajar sin necesidad de reiniciar el sistema. Otros ejemplos del mismo caso son la instalación de cualquier otro dispositivo externo, como un lector de DVD externo, una cámara digital o una unidad ZIP conectados al bus USB. Si alguno de los componentes mencionados en la lista anterior no es cien por ciento PnP, se deberá configurar la nueva placa o dispositivo manualmente, utilizando jumpers o DIP switches, facilitando así la tarea de instalación, con la complejidad que ello implica. Además, debemos tener en cuenta que la tecnología PnP no es perfecta y puede fallar. Eso nos obliga a efectuar el proceso de instalación en forma manual, indicando todos los parámetros necesarios para que el nuevo componente funcione. Versión Preliminar 40
  41. 41. Electrónica 2 Actualmente, la mayoría de los dispositivos y placas disponibles en el mercado son compatibles con PnP, o por lo menos permiten configurar sus parámetros a través del software. Direcciones de entrada/salida (E/S – I/O) Las direcciones de E/S son las direcciones que utiliza la placa de expansión para comunicarse con el microprocesador. El procesador es capaz de leer y escribir en la memoria accediendo a ésta por medio de direcciones, que se transfieren a través del bus de direccionamiento. Así como la memoria tiene asignada direcciones, también hay direcciones de entrada y/o salida para que el procesador pueda leer y escribir en estas posiciones de la misma forma que lo hace con la memoria y pueda entonces comunicarse con cualquier dispositivo por su dirección. Cada dispositivo que se quiera comunicar con el procesador deberá tener asignado una dirección de E/S o un rango de direcciones. Una misma dirección de E/S no puede ser utilizada por más de un dispositivo. Una dirección de E/S se puede comparar con un armario con cajones numerados, en los cuales se puede depositar información o tomar la información depositada. Cada cajón o grupo de cajones pertenecerán a un dispositivo, por lo tanto, cuando el dispositivo desee comunicarse con el procesador, depositará información en los cajones que tiene asignados. Cuando el procesador quiera información sobre ese dispositivo, buscará dentro de los cajones que tiene asignados y leerá la información, para luego dejarle otro mensaje, si así lo desea. La PC tenía originalmente 1024 direcciones de E/S disponibles, de las cuales las primeras 256 (000h – 0FFh) están reservadas para los componentes de la motherboard o placa del sistema, mientras que los 768 restantes (100h - 3FFh) se pueden utilizar por las placas de expansión. Sin embargo, cuando se estandariz6 el bus PCI, la cantidad de direcciones de E/S pasó a ser de 65.535, brindando una mayor flexibilidad a las placas que utilizan este bus para configurarse. Se debe tener en cuenta que solamente las placas PCI pueden acceder al rango completo de direcciones de E/S, las obsoletas basadas en un bus ISA quedan limitadas a las antiguas 768 direcciones restantes. Seguramente se preguntará, ¿si todas las direcciones de E/S de las placas estándar están predeterminadas, cómo pueden surgir problemas? La respuesta es fácil si atiende al siguiente ejemplo: instalo una placa de sonido que usa la dirección de E/S 220 Hex, dicha dirección se encuentra libre, por lo tanto, no será utilizada por cualquier otro dispositivo estándar. Al poco tiempo, instalo una placa de red, la cual ofrece varias direcciones de E/S, entre las cuales figura 220 Hex. Si selecciono esa dirección, no me funcionarán ninguna de las dos placas correctamente y tendré que reconfigurar una de ellas para usar otra dirección de E/S. A pesar de haber utilizado ambas direcciones que no traerían problemas con otros dispositivos, éstas son la misma dirección. Consulte en la bibliografía la lista de direcciones E/S más comunes utilizadas por dispositivos estándar. Versión Preliminar 41
  42. 42. Electrónica 2 Se debe tener mucho cuidado, pues algunas placas no permiten cambiar el rango de direcciones de E/S, y por lo tanto pueden causar problemas. Las placas compatibles con PnP son totalmente flexibles. Cuando se cambian las direcciones de E/S de una placa, se debe notificar al driver. Por ejemplo, si se cambia la dirección de E/S de una placa de sonido, se deberá indicar al controlador la nueva dirección de E/S. Canales DMA (acceso directo a memoria) Cuando la transferencia de información entre un dispositivo y el sistema se hace a través del microprocesador, ésta puede resultar un tanto lenta. Algunos dispositivos están preparados para acceder directamente a la memoria sin intervención del procesador, es decir, eliminando al intermediario. A esto se lo denomina DMA (Direct Memory Access - acceso directo a memoria). El controlador de DMA de las PC permite hasta cuatro canales de acceso directo a memoria. Como éstos resultaban insuficientes, a partir de las AT se usaron dos controladores DMA, que permiten la utilización de ocho canales. Los primeros dos canales de DMA -0 y 1- estaban ocupados de arranque en las prehistóricas XT, pero están libres en las PC modernas. El canal 2 está ocupado por el controlador de unidades de diskettes, por lo tanto, en el mejor de los casos quedan solamente 7 canales DMA libres. Las placas ISA -de 16 bits-, PCI y PCI-X pueden utilizar cualquiera de los 7 canales DMA libres. Es difícil, pero no imposible, instalar una placa y que los DMA que ofrece la misma ya estén ocupados y no haya manera alguna de encontrar un canal DMA libre. Si esto sucediera, es posible que la placa tenga la opción de desactivar el canal DMA y transmitir información con el procesador como intermediario. Líneas de IRQ (solicitud de interrupción) Las líneas de IRQ -Interrupt Request - solicitud de interrupción- son vías para llamar la atención del procesador. Cuando se activa una línea de IRQ, el procesador deja lo que estaba haciendo -de ahí viene el nombre de interrupción- y desvía su atención al generador de la interrupción, ejecuta lo que éste desee y luego continúa con su tarea anterior. Un ejemplo típico del uso de interrupciones es la posibilidad de ver el desplazamiento del puntero del mouse en la pantalla mientras éste se mueve por nuestro escritorio. A medida que se desplaza, se activa una línea de interrupción que le indica al procesador que desplace el puntero en la pantalla y luego el procesador vuelve a su tarea. Ésta es la razón por la cual, a veces, cuando se cuelga un programa bajo Windows, el sistema no responde, pero el puntero del mouse se sigue desplazando. Las prehistóricas XT poseían 8 líneas de interrupción, de las cuales solamente las últimas 6 estaban disponibles para las nuevas placas, ya que las dos primeras se utilizaban para el cronómetro y el teclado, respectivamente. Las líneas de IRQ tienen prioridades que son respetadas, es decir, la línea de interrupción 3 es más importante que la línea 6 y tiene prioridades sobre esta última. Sin embargo, las líneas de interrupción pueden ser ignoradas, solamente basta que un programa le dé la orden al procesador y éste no prestará atención a ninguna línea de interrupción que se active, hasta tanto el programa le dé la orden al procesador de volver a prestarles atención. Versión Preliminar 42
  43. 43. Electrónica 2 IRQ Dispositivo 0 Cronómetro del sistema (System timer). 1 Teclado 2 Esta interrupción se utiliza como vía de acceso a las IRQ 8-15.; Algunas placas Super VGA con capacidades de cambio automático del modo de video -autoswitching-, la utilizan en combinación con la IRQ 9. 3 COM2 4 COM1 5 Placa de sonido o controlador USB 6 Controladora de unidades de diskette. 7 LPT1: 8 Reloj en tiempo real. 9 Sin uso o placa de red. 10 Sin uso o placa de video con aceleración 3D. 11 Sin uso o placa de sonido. 12 Sin uso. 13 Coprocesador matemático 14 Canal IDE Primario. 15 Canal IDE Secundario. En la tabla anterior se listan los usos más comunes que reciben las distintas líneas de interrupción. Una línea de interrupción no se puede utilizar por más de un dispositivo al mismo tiempo, por lo tanto, se deben configurar las placas de expansión que utilicen IRQ para que cada una use uno distinto y no haya colisión de datos, lo cual haría que ninguna de las dos funcione correctamente. Direcciones de ROM BIOS y Buffers (RAM) Algunas placas controladoras incluyen una pequeña cantidad de memoria de sólo lectura -ROM- pregrabada de fábrica, que contiene código de bajo nivel -BIOS- pudiendo ser llamado desde cualquier programa. Un ejemplo de esto son las placas EGA y VGA que tienen un pequeño BIOS, mediante llamadas a los códigos de bajo nivel incluidos en dicha memoria de solo lectura, se pueden escribir datos en pantalla, cambiar un modo de video, acceder a funciones VESA, etc. Es posible que más de una placa contenga una cierta cantidad de memoria. Si las placas intentan colocar su ROM en la misma dirección de memoria, ninguna de ellas va a funcionar y habrá que cambiar sus configuraciones. Algunas placas incorporan una pequeña cantidad de RAM para utilizarla como memoria temporal. Éste es el caso de las placas de red que necesitan un buffer -memoria temporal- de los mensajes de entrada o salida para agilizar las transmisiones de datos. Versión Preliminar 43

×