CAPITULO 1 1.1 ARQUITECTURA DE PC -...

28
Instrumentación virtual aplicada al estudio de sistemas complejos Capítulo 1: 1.1- Arquitectura de PC CAPITULO 1 1.1 ARQUITECTURA DE PC 1.1.1 Introducción. Una computadora digital es un sistema secuencial síncrono que procesa información en general y está preparada para resolver problemas siguiendo un programa. Además de indicarle los datos que ha de operar, hay que decirle también cómo hay que hacerlo; esto se hace mediante los denominados algoritmos o programas. La función básica que cumple una computadora es la ejecución del programa (conjunto de instrucciones almacenadas en memoria) en forma secuencial, recorriendo las instrucciones en direcciones de memoria consecutivas, al ritmo del reloj del sistema. Emplean el sistema numérico binario (digito binario bit: dos estados alto "1" y bajo "0") y se componen de hardware : todos los componentes, compuertas y circuitos electrónicos y software : instrucciones y datos en memoria. Para ejecutar las aplicaciones de software, la computadora debe convertir el código del software al formato binario y luego transformar el formato binario en un lenguaje comprensible. Operan con switches electrónicos que se encuentran "encendidos" o "apagados", correspondientes a 1 ó 0. Una computadora no utiliza el sistema de numeración decimal como lo hacen los seres humanos, debido a que los dispositivos electrónicos se encuentran estructurados de tal manera que la numeración binaria es natural, la computadora debe traducirla para poder utilizar la numeración decimal. Sólo pueden comprender y procesar datos que aparecen en formato binario, representados por ceros y unos. Estos ceros y unos representan los dos estados posibles de un componente electrónico y se denominan dígitos binarios o bits. 1.1.2 Componentes principales de una computadora Procesador central (CPU): es el cerebro del sistema, dado que lee y ejecuta el programa almacenado en memoria. Para esto posee dos partes: ALU (Unidad Aritmética Lógica): efectúa las operaciones que se le indican sobre los operandos que se le suministren, es la responsable de realizar todas las operaciones aritméticas (suma, resta, división, multiplicación) y lógicas, que se necesite en un programa. Unidad de control: interpreta el programa y genera secuencialmente todas las señales de control necesarias para ejecutar el programa. Memoria: almacena la información necesaria para la ejecución de un programa: El programa en lenguaje de máquina (código binario) Datos de entrada Resultados intermedios 1.1 - 1

Transcript of CAPITULO 1 1.1 ARQUITECTURA DE PC -...

Instrumentación virtual aplicada al estudio de sistemas complejos Capítulo 1: 1.1- Arquitectura de PC

CAPITULO 1 1.1 ARQUITECTURA DE PC

1.1.1 Introducción. Una computadora digital es un sistema secuencial síncrono que procesa información en general y está preparada para resolver problemas siguiendo un programa. Además de indicarle los datos que ha de operar, hay que decirle también cómo hay que hacerlo; esto se hace mediante los denominados algoritmos o programas. La función básica que cumple una computadora es la ejecución del programa (conjunto de instrucciones almacenadas en memoria) en forma secuencial, recorriendo las instrucciones en direcciones de memoria consecutivas, al ritmo del reloj del sistema. Emplean el sistema numérico binario (digito binario bit: dos estados alto "1" y bajo "0") y se componen de hardware: todos los componentes, compuertas y circuitos electrónicos y software: instrucciones y datos en memoria. Para ejecutar las aplicaciones de software, la computadora debe convertir el código del software al formato binario y luego transformar el formato binario en un lenguaje comprensible. Operan con switches electrónicos que se encuentran "encendidos" o "apagados", correspondientes a 1 ó 0. Una computadora no utiliza el sistema de numeración decimal como lo hacen los seres humanos, debido a que los dispositivos electrónicos se encuentran estructurados de tal manera que la numeración binaria es natural, la computadora debe traducirla para poder utilizar la numeración decimal. Sólo pueden comprender y procesar datos que aparecen en formato binario, representados por ceros y unos. Estos ceros y unos representan los dos estados posibles de un componente electrónico y se denominan dígitos binarios o bits. 1.1.2 Componentes principales de una computadora Procesador central (CPU): es el cerebro del sistema, dado que lee y ejecuta el programa almacenado en memoria. Para esto posee dos partes:

ALU (Unidad Aritmética Lógica): efectúa las operaciones que se le indican sobre los operandos

que se le suministren, es la responsable de realizar todas las operaciones aritméticas (suma, resta, división, multiplicación) y lógicas, que se necesite en un programa.

Unidad de control: interpreta el programa y genera secuencialmente todas las señales de control necesarias para ejecutar el programa.

Memoria: almacena la información necesaria para la ejecución de un programa:

El programa en lenguaje de máquina (código binario) Datos de entrada Resultados intermedios

1.1 - 1

Instrumentación virtual aplicada al estudio de sistemas complejos Capítulo 1: 1.1- Arquitectura de PC

Existen distintos tipos de acuerdo a la función que cumplen y se las clasifica en memorias volátiles (que borran su contenido al apagar el sistema) y no volátiles, que mantienen su contenido en todo momento:

RAM: (utilizada por el usuario para cargar los programas) memoria volátil de gran capacidad (por ejemplo 128 MBytes) donde se almacenan el sistema operativo y los programas en ejecución.

ROM: (empleada por la computadora) memoria no volátil de solo lectura, de baja capacidad (aprox. 100 KBytes) que almacena el programa de arranque del sistema y se la conoce habitualmente como ROMBIOS. Es de uso exclusivo de la máquina y el usuario no tiene acceso a ella, únicamente en forma indirecta mediante la configuración de la RAMSetup.

FLASH: memoria no volátil, de lectura/escritura, que permite copiar la ROMBIOS y modificar su contenido con actualizaciones de esta, sin correr el riesgo de perder la configuración original.

Dispositivos de Almacenamiento: permiten almacenar todo el software con que cuenta el sistema, compuesto por programas de aplicación y el sistema operativo. Son dispositivos periféricos cuyo funcionamiento difiere notablemente del sistema CPU-Memoria, por lo tanto se comunican con este a través de una interfase E/S. Estos dispositivos se dividen en medios magnéticos: disco duro (con una capacidad actualmente entre 160 y 500 GBytes). Medios ópticos: discos CD ROM de 700 MBytes y DVD de 4,7 GBytes. Y memoria externa Flash: conocidas como Pendrive, con capacidades de 32MB a 32GB. Unidades periféricas: sobre las que se intercambian información, entrada de ordenes de operación, salida de los resultados: mouse, teclado, impresora, monitor, modem, placa de red, etc.

Interfases de E/S: circuitos de interfase entre los periféricos y la computadora, que actúan adaptando (en velocidad y formato) las señales internas de la computadora (CPU-Memoria), con las utilizadas por cada dispositivo periférico. Interconexiones entre unidades: mediante los Buses (grupo de líneas o conductores) que transportan un bit cada uno, agrupados como mínimo en un Byte (8 bits) y que se clasifican en:

Datos: para la transferencia de datos y código, transporta la Información. Direcciones: transporta la posición en memoria de una instrucción (código) o dato, o sobre la

selección de un periférico. Control: señales de habilitación de operaciones de escritura, lectura y control sobre la memoria

y periféricos. Diagrama en bloques de una computadora En el siguiente diagrama vemos un resumen de los componentes básicos de una computadora y sus respectivas funciones, interconectados mediante los buses. Actualmente, el tamaño de los buses es de: bus de datos (64 bits), bus de direcciones (32 bits) y el bus de control (aprox. 24 bits). Estos representan muchos conductores sobre el circuito impreso de la computadora, así como circuitos integrados (chips) de muchos pines, como observamos al abrir un gabinete.

1.1 - 2

Instrumentación virtual aplicada al estudio de sistemas complejos Capítulo 1: 1.1- Arquitectura de PC

Unidad de Control

Unidad Aritmético

Lógica

RA

M

RO

M

FLA

SH

Dis

cos

Mag

nétic

os

Dis

co O

ptic

o

Pen

Driv

e

Plac

a de

Red

Tecl

ado

y M

ouse

Mon

itor

BUSES

Ejecución de un programa Para ejecutar un programa, la CPU realiza un proceso que se repite para cada instrucción del programa, siguiendo los siguientes pasos:

Búsqueda de la instrucción en memoria: para leer la instrucción, la CPU se conecta con la memoria mediante unas líneas de dirección que indican la posición de memoria (dirección) a la que se accede y las líneas de datos que transportan la instrucción. Una vez que hemos obtenido la información (Instrucción) sobre el bus de datos, ésta se almacena en otro sitio en el procesador llamado registro de instrucción.

Decodificación de la instrucción: la unidad de control decodifica (separa el código y la dirección) que posee la instrucción. Con el código, interpreta que operación que deberá realizar y con la dirección obtiene el operando sobre el cual ha de realizarla.

Ejecución: la unidad de control genera una secuencia de habilitaciones en las líneas de control internas y externas del procesador, que permiten la ejecución de la instrucción en curso. En este momento la ALU realizará las operaciones que se le indiquen, sobre los operandos que se le suministren.

Tipos de Instrucciones Las instrucciones que puede ejecutar una computadora pueden resumirse en tres tipos principales, dado que cualquiera de las funciones que realiza una computadora se puede incluir en esta clasificación. Entre paréntesis se indica el dispositivo sobre el cual se realiza la instrucción.

Lectura / Escritura. (comunicación con el exterior), que puede ser con dispositivos conectados directamente (periféricos: impresoras, teclado, monitor...) o con dispositivos remotos (redes).

1.1 - 3

Instrumentación virtual aplicada al estudio de sistemas complejos Capítulo 1: 1.1- Arquitectura de PC

Almacenamiento: grabar o leer datos (memoria principal). Procesamiento: operaciones aritmético-lógicas (ALU) Control: toma de dediciones, control de flujo (CPU).

1.1.3 Arquitectura de una computadora

El término de arquitectura se refiere al hardware o software o la combinación de ambos mejor conocido como firmware dentro del mundo de la computación.

Una arquitectura de un sistema siempre define su estructura y puede identificarse mediante mecanismos precisos.

La arquitectura de una computadora puede ser vista de varias maneras:

• El hardware es una arquitectura compuesta por varios elementos o dispositivos físicos y electrónicos que interactúan entre si.

• En el software la arquitectura esta compuesta por códigos que juntos dan instrucciones creando programas.

Arquitectura abierta

Un sistema abierto es aquel que es capaz de hacer que todos los componentes del sistema del computador sean compatibles en cualquier ambiente sin importar el fabricante que lo haya producido, que posea un ambiente estándar de aplicaciones disponibles por proveedores controlados por usuarios y la industria, es decir, se le pueden implantar dispositivos periféricos, con sus interfases, de diferentes orígenes y combinarlos entre si.

Una arquitectura abierta también es toda aquella que puede ser modificada por un programador capacitado que no pertenezca a la compañía que creo el código fuente, puede ser a su vez la información redistribuida y compartida siempre y cuando el programador tenga la licencia para realizar dichos actos.

Con esta arquitectura se benefician mayormente los usuarios debido a que, les ofrece mayor diversidad de productos al momento de adquirirlos. También promueve la no monopolización de grandes compañías favoreciendo la creación de mayor cantidad de ellas.

Características de la arquitectura abierta

• Son de gran utilidad en ambiente multiusuario.

• Poseen procesadores muy poderosos capaces de controlar un gran número de terminales y capacidades de almacenamiento.

• Obtienen gran integración de subsistemas de información en una base de datos única.

• Menos costosos, complejidad mínima y más flexibles.

• No están atados a un solo tipo de hardware propietario.

• Poseen un ambiente integrado de información.

• Cumplen o generan estándares.

1.1 - 4

Instrumentación virtual aplicada al estudio de sistemas complejos Capítulo 1: 1.1- Arquitectura de PC

• Sus especificaciones son generales.

• El software poseen alto grado de portabilidad.

• Flexibilidad de los lenguajes de programación.

• Permite la conexión fácil a aparatos y programas hechos por otras compañias.

La arquitectura abierta permite a los potenciales usuarios ver el interior de todo o parte de la arquitectura sin ninguna restricción propietaria. Típicamente, una arquitectura abierta publica todo o parte de la arquitectura que el desarrollador o integrador quiere compartir. Los procesos de producción abiertos relacionados con una arquitectura abierta pueden necesitar de algunos acuerdos de licencia entre las entidades que comparten la información de la arquitectura.

El concepto PC El predecesor de las actuales PC (computadoras personales) y progenitor de la plataforma IBM PC compatible, fue lanzado en agosto de 1981. El modelo original fue llamado "IBM 5150".

La frase "computadora personal" era de uso corriente antes de 1981, y fue usada por primera vez en 1972 para denominar al Xerox PARC's Alto. Sin embargo, debido al éxito de la IBM PC, lo que había sido un término genérico llegó a significar específicamente una computadora compatible con las especificaciones de IBM.

La PC original fue un intento de IBM para entrar en el mercado de las computadoras domésticas, entonces dominado por el Apple II de Apple Computer y varias máquinas con CP/M.

En lugar de utilizar el proceso de diseño normal de IBM, el cual ya había fallado en el diseño de una computadora económica (como la IBM 5100), se reunió a un equipo especial para descartar las restricciones de la compañía e ingresar rápidamente al mercado. El desarrollo exitoso de la PC tardó cerca de un año. Para lograrlo, primero decidieron construir la máquina con partes disponibles en el mercado de una variedad de distintos fabricantes. Anteriormente IBM había desarrollado sus propios componentes. Luego diseñaron una arquitectura abierta para que otros fabricantes pudieran producir y vender máquinas compatibles (las compatibles con IBM PC), así que la especificación de la ROM BIOS fue publicada. IBM esperaba mantener su posición en el mercado al tener los derechos de licencia de la BIOS, y manteniéndose delante de la competencia.

Otros fabricantes rápidamente hicieron ingeniería inversa de la BIOS y produjeron sus propias versiones sin pagar derechos de uso a IBM. (Compaq Computer Corporation fabricó el primer clon compatible de la IBM PC en 1983).

Una vez que la IBM PC se convirtió en un éxito comercial, el producto PC dejó de estar bajo el control de un grupo especial dentro de IBM para pasar a producirse por varios competidores que no tuvieron inconvenientes en quitarle el liderazgo.

1.1 - 5

Instrumentación virtual aplicada al estudio de sistemas complejos Capítulo 1: 1.1- Arquitectura de PC

Diagrama en bloques de la primera PC En este diagrama se pueden distinguir fácilmente los componentes (CI) digitales comerciales, utilizados en las primeras PC, de los cuales se observa con claridad el nombre (número) de identificación, la interconexión entre ellos y algunos periféricos.

Compatibilidad PC La compatibilidad es la condición que hace que un programa y un sistema, arquitectura o aplicación logren comprenderse correctamente tanto directamente o indirectamente (mediante un algoritmo). Un problema de compatibilidad (incompatibilidad) surge a partir de la falta o mala interpretación de un programa por un algoritmo. Esto conlleva a una mala ejecución de dicho programa o a la imposibilidad de ser ejecutado.

Se denomina Compatible PC a un tipo de computadora similar a la IBM PC, IBM Personal Computer. Estas computadoras también llamadas PC clones, IBM clones o clónicos, se denominan así porque casi duplican exactamente todas las características importantes de la arquitectura PC, hecho facilitado por la posibilidad de realizar legalmente ingeniería inversa de la BIOS mediante el diseño de sala limpia por parte de varias compañías.

Muchos de los primeros compatibles IBM PC utilizan el mismo bus que los IBM PC e IBM AT originales. El bus compatible IBM AT es posteriormente llamado Bus ISA por los fabricantes de computadoras compatibles. La mayoría de las computadoras del mercado actual son descendientes de las compatibles IBM PC.

La Placa Principal (Motherboard)

La tarjeta principal en una IBM PC se denomina placa principal. Ésta lleva la CPU y la memoria, y tiene un bus con ranuras para tarjetas de expansión. El bus usado en el PC original se hizo

1.1 - 6

Instrumentación virtual aplicada al estudio de sistemas complejos Capítulo 1: 1.1- Arquitectura de PC

muy popular, y fue llamado ISA. Está hasta el momento en uso en computadoras para el uso industrial. Después, requerimientos de alta velocidad y más capacidad forzaron el desarrollo de nuevas versiones. El EISA fue desarrollado como un retrospectivo estándar compatible, pero debido a la alta complejidad y desempeño medio no tuvo éxito. En cambio, las más especializadas PCI o AGP son ahora usadas para tarjetas de expansión. La placa base está conectada por cables a dispositivos de almacenamiento interno tal como disco duros, disco flexible y unidad de CD-ROM. Estos tienden a ser hechos en tamaños estándar, tal como 3.5" (88.9 mm) y 5.25" (133.4 mm) de ancho, con bahías fijas estándar. La caja también contiene una unidad de suministro de energía (PSU) el cual es o un AT o ATX el tamaño estándar. Los PC basadas en un Intel 8086 y 8088 requieren tarjetas EMS (memoria expandida) para trabajar con más que un megabyte de memoria. El IBM PC AT original usó un procesador Intel 80286 el cual puede acceder hasta 16 megabytes de memoria (aunque aplicaciones MS-DOS estándar no pueden usar más de un megabyte sin EMS). Computadoras basadas en Intel 80286 corriendo bajo OS/2 pueden trabajar con la memoria máxima.

Descripción de una (Motherboard) La motherboard es, sin duda, la parte más importante de una computadora. Maneja todas las transferencias de datos entre la CPU y los periféricos. Contiene la CPU, la caché de segundo nivel, el chipset, el BIOS, la memoria principal, los chips de entrada/salida, las controladoras de discos con sus conectores y las ranuras o zócalos de expansión ISA y PCI.

ChipSet

El chipset El juego de chips de una placa, o chipset, es posiblemente uno de sus componentes integrados más importante, ya que controla el modo de operación de la placa e integra todas sus funciones, por lo que se puede decir que determina el rendimiento y características de la misma. Determina lo que puede hacer el computador. A continuación se resumen algunas de las funciones y propiedades controladas por el chipset:

- La velocidad del bus 100, 200, 300, 600... MHz. - El puente PCI/ISA.

1.1 - 7

Instrumentación virtual aplicada al estudio de sistemas complejos Capítulo 1: 1.1- Arquitectura de PC

- Controlador de disco duro en placa IDE, ATA, SATA - El controlador de DMA (Acceso Directo a Memoria). - El controlador de IRQ (Interrupciones). - Los tipos de memoria soportados SDRAM, DDR, chequeo de paridad. - El tamaño máximo de los módulos de memoria 128, 256, 512 MB - La máxima área de memoria cache: 64, 512, 1024... MB - El tipo de CPU : Pentium IV, AMD Athlon. - Las características Plug & Play. - Los puertos soportados: AGP, IrDA, USB, PS/2...

Cada uno de los bits de información almacenado en la memoria o enviado a cualquier dispositivo de E/S tiene que pasar a través del chipset en su camino hacia la CPU. Todos los periféricos usan el chipset para acceder a otros periféricos y para establecer sus transacciones de datos con la CPU. Toda motherboard está construida alrededor de determinado tipo de chipset diseñado para funcionar con determinado tipo de procesador. Los chipsets son un conjunto de controladores integrados en un solo chip, soldados al motherboard, que manejan todos los buses y dispositivos que funcionan en éste, como el que comunica la CPU con la RAM. Generalmente, cuando hablamos de buses y motherboards, estamos hablando de chipsets. Básicamente, un chipset está conformado por dos chips, uno que controla el funcionamiento del sistema y el otro que controla las interfases E/S. Arquitectura de Buses basadas en puentes Desde un punto de vista lógico, todos los componentes de un sistema digital como el que componen la motherboard, se conectan directamente al bus del sistema. Desde el punto de vista operativo, esta solución suele traer problemas sobre el bus porque no pueden existir transferencias simultáneas entre los diversos dispositivos. Para esto y con una división jerárquica, las distintas transferencias suelen separarse sobre buses diferentes a través del uso de puentes. Así en el diagrama en bloques pueden distinguirse los puentes norte (Host) y sur (Expansión), que separan los buses que comparten el procesador y la memoria, de los buses utilizados por las interfases de entrada/salida respectivamente. Uno, el más importante, se denomina puente norte y, muchas veces, la motherboard es identificada con este chipset. Este chip controla el funcionamiento y la frecuencia del bus del procesador, la memoria y el puerto AGP. Generalmente, las grandes innovaciones tecnológicas, como el soporte de memoria DDR o los nuevos FSB (Front Side Bus), se implementan en este chip. El segundo chip es el llamado puente sur, que controla los buses de entrada y salida de datos para periféricos (I/O). Este puente determina el tipo de soporte IDE (ATA 66 o ATA 100, por ejemplo), el bus PCI, y los puertos serie y paralelo. En general, la conexión entre ambos puentes se realiza a través del bus PCI, pero recientemente algunos fabricantes de motherboards han empezado a usar buses especiales dedicados que permiten una transferencia de datos directa y sin interferencia entre los dos puentes.

1.1 - 8

Instrumentación virtual aplicada al estudio de sistemas complejos Capítulo 1: 1.1- Arquitectura de PC

Cuando la industria introduce nuevas características tecnológicas (y esto pasa continuamente), éstas van a menudo acompañadas por nuevos chipsets que las implementan. Así, los nuevos chipsets permiten:

Velocidades más altas en uno o más buses (como el paso de AGP 2X a AGP 4X). Utilización de nuevas tecnologías (nuevos tipos de RAM, buses USB, soporte de múltiples

procesadores). En el mercado actual, se pueden diferenciar dos tipos principales de chipsets: los que son fabricados para procesadores Intel y los hechos para los AMD. Como regla general, estas marcas sólo fabrican chipsets compatibles con sus procesadores. En tanto, otros diseñadores, como VIA, realizan varios tipos de chipsets que soportan a los microprocesadores de las dos marcas líderes. Sonido Digital El desarrollo de la tecnología A/D (conversión de información Analógica en Digital y viceversa), permite discretizar la señal para representarla y procesarla en forma digital (en formato numérico dentro del computador). De aquí que los circuitos A/D y D/A sean claves para conseguir estos objetivos, siendo los conversores D/A los que permiten reproducir la señal en su formato analógico original. La disposición de estos conversores en una placa de sonido, es la siguiente: Conversor Analógico/Digital (A/D): este conversor mide la amplitud de la señal sonora muestreando a intervalos de tiempo regulares y transformando estas mediciones en valores numéricos que ingresan al computador . Muestreo (Sampling): se denomina sampling al proceso de digitalizar el sonido. Para esto hay que transformar una señal analógica y contínua (el sonido) en datos discretos almacenables en una memoria de computadora.

1.1 - 9

Instrumentación virtual aplicada al estudio de sistemas complejos Capítulo 1: 1.1- Arquitectura de PC

Velocidad de muestreo: la cantidad de mediciones por segundo se denomina sampling rate (frecuencia de muestreo) y se expresa como Sample/segundo = S/s, la calidad del sonido se incrementa al aumentar la frecuencia de muestreo y se requiere de dos muestras por ciclo de la señal para mantener un sonido de calidad.

AMP

AMP

Conversor D/A

Conversor A/D

Memoria

FIFO

Memoria

FIFO

PROCESADOR

DSP

BUFFER

AUDIO OUT

MIC IN

BUS DEL SISTEMA

AUDIO IN

Diagrama de Tiempos Teniendo en cuenta que el ancho de banda del audio que el oído puede detectar es de 22,05 KHz, la velocidad a utilizar es de 44,1 KS/s, debido a que según el teorme de muestreo debe ser el doble de la mayor frecuencia de sonido a digitalizar. Se digitaliza con una precisión de 16bits (2 Bytes por canal) y en estereo (2 canales), requiriéndose para representar un segundo de audio una cantidad de información 176,4 KBytes/s: 44,1 KS/s * 2 Bytes * 2 canales = 176,4 KBytes/s <-----> Velocidad : 1X Este simple cálculo demuestra la gran cantidad de espacio necesario para manejar sonido digitalizado, y representa el compromiso necesario entre espacio y calidad para trabajar con la denominada calidad digital de Compact Disc (CD). A esta velocidad se la denomina 1X, de aquí que para calcular otras velocidades de transferencia como por ejemplo 52X, esta se calcule como: 52 * 176,4KBytes/s = 9,17 MBytes/s

Dirección Contenido1 175 2 128 3 115 4 75 5 68 6 57 7 44 8 34 9 30 10 21

Secuencia de muestras de la señal y su correspondiente valor digital en memoria:

2

1

3

4

5

6

7

8

9

10

tm=22µs

Valor analógico: Vx Valor digital: n n=(Vx/5)*255

1.1 - 10

Instrumentación virtual aplicada al estudio de sistemas complejos Capítulo 1: 1.1- Arquitectura de PC

1.1.4 Buses Conforman el sistema nervioso del motherboard, ya que conectan la CPU con los demás componentes. En concreto, los buses son circuitos impresos en el motherboard que transmiten los datos entre los diferentes componentes. Básicamente, se los puede dividir en dos tipos:

El bus de sistema, que conecta la CPU con la RAM. Los buses de salida/entrada, que conectan dispositivos (buses I/O).

El bus de sistema es el más determinante para la performance del sistema y está conectado a los buses de entrada/salida a través del puente sur. Este bus de sistema conecta la CPU con la RAM. De su velocidad y ancho depende el tipo de CPU que se instalará en el motherboard. Muchas veces se lo llama FSB, pero en realidad esta sigla hace referencia al bus que conecta el procesador con el chipset. En general, el bus de sistema es de 64 bits de ancho y funciona a una frecuencia de entre 133 y 533 MHz, según el tipo de procesador instalado. Esta alta velocidad crea interferencia eléctrica y otros problemas. Por lo tanto, debe ser reducida para ser usada por tarjetas de expansión y otros componentes. De hecho, muy pocas placas pueden operar más allá de los 66 MHz. Por eso, los buses adicionales de menor velocidad dependen de otra parte del chipset, el puente sur. Los buses de entrada/salida conectan la CPU a todos los componentes periféricos, existiendo diferentes tipos. ISA ISA es el acrónimo de Industry Standard Architecture. Es la arquitectura de bus que fue introducida como un bus de 8 bits con la PC IBM original en 1981. Más tarde, fue expandido a 16 bits con la IBM PC AT en 1984. Las últimas versiones de ISA disponen de un bus de 16 bits a 8 MHz. La máxima capacidad de transferencia teórica de este bus es de 8 MB/seg. El conector o slot ISA es fácilmente identificable en un motherboard. Es de color negro y dispone de 49 contactos a ambos lados. Además, su tamaño es mayor que el de los otros slots del motherboard. Si bien en un tiempo fueron muy usados para placas de video y sonido, su escaso ancho de banda hace que tiendan a desaparecer. Hoy en día, los motherboards modernos no los incluyen, siendo desplazado por el bus PCI. PCI Este bus de datos funciona a 33 MHz, al mismo ancho de datos que la CPU. Es decir, 32 bits. De ser usado con una CPU de 64 bits, el bus PCI doblaría su ancho de datos. El límite teórico de transferencia a 32 bits es de 132 MB/seg. Externamente, el bus PCI dispone de slots más chicos que ISA y, en general, de color blanco (esto es así por norma). Existen tres tipos de especificaciones, determinadas según las necesidades eléctricas. La especificación de 5 V para PCs de escritorio; la de 3,3 V para notebooks; y una universal que soporta ambos voltajes. Las tarjetas PCI disponen de una ranura que orienta al usuario respecto de la manera en que deben ser instaladas. Gracias a su versatilidad, la mayoría de los dispositivos actuales, exceptuando los discos rígidos, se presentan como tarjetas de expansión PCI. Sin embargo, los requerimientos en el área de gráficos llevaron a desarrollar un puerto especial llamado AGP. Compañías, como IBM, 3Com, Adaptec, HP y Compaq, impulsan una versión especial de alta velocidad para servidores del bus PCI llamada PCI-X. Este nuevo estándar permite un ancho de banda de 1 GB/segundo (con un bus de 64 bits funcionando a 133 MHz).

1.1 - 11

Instrumentación virtual aplicada al estudio de sistemas complejos Capítulo 1: 1.1- Arquitectura de PC

Puerto serie Fue diseñado para permitir una comunicación de dos vías entre distintos dispositivos y la PC. Hoy es el más usado para conectar, dispositivos externos controlados por PC, balanzas electrónicas, máquinas herramientas, hornos, equipos de radiocomunicaciones, etc. Su interfase externa se caracteriza por tener 9 pines, en un conector denominado DB9. Habitualmente, los motherboards incluyen dos, denominados COM1 y COM2. El corazón de cualquier puerto serie es el chip UART (Universal Asynchronous Receiver/ Transmitter). Este chip se encarga de controlar el proceso de envío y recepción de datos. El primer UART fue el 8250 de IBM, incluido en las PCs XT. Desde entonces, ha tenido diversas variantes que solucionaban, sobre todo, problemas de compatibilidad. El UART 16550A fue el primero que permitió el uso de dispositivos de comunicación de más de 9.600 bps (baudios). La velocidad máxima de este chip es de 115 Kbps. La necesidad de mejores prestaciones llevó al estándar 16650 y 16750, que permite transferencias teóricas entre los 230 y los 460 Kbps (limitadas por el cableado).

Apollo Pro 133 VIA MVP 750 AMD 760 VIA KT 133A Como el cable serie emplea una sola línea de datos, puede ser más largo que el cable paralelo ya que el riesgo de posibles interferencias se reduce considerablemente. Permite el uso de par trenzado y las distancias permitidas son, hasta 100 mts para velocidades menores a 2400 baudios, o 20 metros para 9600 baudios.

Los dispositivos que intervienen en una conexión serie (denominada RS232), se clasifican en DTE (Data Terminal Equipment, la PC) y DCE (Data Comunication Equipment, modem u otro dispositivo). Las conexiones entre computadoras (conexión DTE-DTE) se realiza con cable cruzado y entre computadora-dispositivo (conexión DTE-DCE) con cable directo. Puerto paralelo Los puertos paralelos son normalmente usados para conectar la impresora a la PC. Aun cuando ésa fue su intención original de diseño, esta tecnología ha evolucionado hacia múltiples funciones y, ahora, sirve como interfase entre varios dispositivos. Originariamente, los puertos eran unidireccionales; los puertos paralelos modernos, bidireccionales, pueden enviar y recibir datos. Los puertos paralelos llevan este nombre porque tienen ocho líneas para enviar todos los bits que componen un byte de datos en forma simultánea a través de ocho cables. Esta interfase es más rápida (>500KBytes/seg) que la serial (115,2Kbaudios) y ha sido usada como una opción para transmitir datos entre sistemas. Con el tiempo, han proliferado distintas variantes de puertos. Todas cumplen con la norma original IEEE-1284, pero incorporan distintas mejoras. Así es que, en la actualidad, los motherboards incluyen puertos paralelos multimodo. Desde el BIOS, se pueden configurar como SPP, EPP o ECP, que permiten distintos modos, relacionados con el tamaño de datos y su capacidad bidireccional.

El conector de este puerto es un DB25, de 25 pines correspondientes a 8 de datos, 5 de control, 5 de estado y el resto de masa. La distancia máxima permitida para estos cables es de 5 a 10 metros limitada por el riesgo de posibles interferencias y la capacidad distribuida del cable que limita la velocidad de transmisión.

1.1 - 12

Instrumentación virtual aplicada al estudio de sistemas complejos Capítulo 1: 1.1- Arquitectura de PC

USB El Universal Serial Bus (USB) es un estándar que permite conectar dispositivos Plug & Play externos a la PC. USB elimina la necesidad de instalar tarjetas, que ocupan valiosos slots, y reconfigurar el sistema, lo que ahorra importantes recursos, como las interrupciones (IRQs). Las computadoras equipadas con USB permiten la configuración inmediata de los dispositivos que utilizan esta interfase no bien son enchufados, sin necesidad de apagar o reiniciar el sistema completo. A diferencia de los puertos paralelos o seriales, los enchufes USB son pequeños y no necesitan ser sujetados con tornillos. USB constituye una interfase de 12 Mbit/seg a través de una conexión de cuatro hilos dentro de un cable (dos de datos y dos de alimentación). El bus soporta hasta 127 dispositivos gracias a que se pueden formar redes de dispositivos a través de hubs de expansión que pueden estar en la PC o en otros dispositivos USB, como teclados y monitores; incluso, hay hubs USB dedicados. Si bien esta capacidad es, en principio, impresionante, hay que considerar que todos los dispositivos tendrán que compartir el mismo ancho de banda de 12 Mbits/seg. O sea, cada vez que se agrega un dispositivo a la cadena, la performance se puede ver afectada. En la práctica, muy pocos usuarios querrán tener más de cinco dispositivos conectados a la vez. Una de las ventajas más grandes de una interfase como USB es que sólo necesita una interrupción de la PC, aunque estén conectados múltiples dispositivos. Prácticamente, todos los motherboards fabricados en los últimos años tienen soporte para USB y, la mayoría de las veces, cuentan con dos o cuatro puertos. Los periféricos controlados por USB son esclavos y responden a comandos de la PC. Cuando un periférico es conectado al puerto USB, la PC se comunica con el dispositivo, reconoce su identidad y le asigna el driver necesario en un proceso llamado enumeración.

La interfase física USB consiste de 4 cables (tabla 1): 2 para alimentación de periféricos y 2 para señales de datos (Data+ y Data-). Los cables de alimentación suministran 5 volts y 500mA como máximo. Los cables llamados DATA+ y DATA- manejan la comunicación entre el host (computadora) y el dispositivo. Estas señales son bi-direccionales y sus niveles diferenciales. Cuando Data+ tiene un nivel alto Data- tiene un nivel bajo, pero en algunos casos Data+ y Data- tienen el mismo nivel (EOP end of packet, o en estado inactivo del bus). De acuerdo al estándar USB las señales Data+ y Data- deben manejar niveles altos entre 3 y 3.6Volts.

1.1 - 13

Instrumentación virtual aplicada al estudio de sistemas complejos Capítulo 1: 1.1- Arquitectura de PC

Existen un gran variedad de dispositivos compatibles USB, en algunos casos se alimentan desde el bus, por ejemplo, los pendrives, cámaras Web, en otros (debido a su elevado consumo), solo utilizan las líneas de datos como, impresoras y scanners.

Contact number

Signal name

Typical wiring assignment

1 VBUS Red

2 D- White

3 D+ Green

4 GND Black

Conectores externos disponibles

1

2

3 4

5

1 - PS/2 Teclado y PS/2 Mouse 2 - USB 0 / USB 1 3 - Puerto Paralelo (DB25 Hembra) y Puertos Serie (DB9 Macho): COMA/COMB 4 - LAN RJ45 / USB 2 / USB 3 5 - Conectores de Audio: Parlante - Auxiliar - Micrófono El puerto AGP El AGP (Accelerated Graphics Port por Puerto de Gráficos Acelerado) fue creado por Intel como un nuevo bus de alta performance específico para gráficos y soporte de video. La compañía entendió que un subsistema gráfico sometido a las transferencias masivas de datos que requieren los juegos y aplicaciones actuales no podía sostenerse en la arquitectura PCI existente. Por lo tanto, el nuevo sistema es una solución a un problema tecnológico concreto: la necesidad de mayor ancho de banda. El bus AGP está exclusivamente dedicado a la placa gráfica, esto tiene como consecuencia inmediata que no se vea obligado a compartir el ancho de banda con otros componentes, como sucede en el caso del PCI. Otra característica interesante es que la arquitectura AGP posibilita compartir la memoria principal por parte de la aceleradora gráfica con ejecución directa en memoria, posibilitando mejores texturas en los futuros juegos y aplicaciones 3D, al almacenar éstas en la RAM del sistema y transferirlas tan pronto como se necesiten. El conector AGP es similar al PCI en cuanto a apariencia, pero tiene señales adicionales, y ocupa un lugar distinto en el layout del motherboard. A diferencia del PCI, que es un verdadero bus con múltiples conectores, el AGP es más una conexión punto a punto de alta performance diseñada específicamente para una placa de video. Por esta razón, ningún motherboard cuenta con más de un slot AGP.

1.1 - 14

Instrumentación virtual aplicada al estudio de sistemas complejos Capítulo 1: 1.1- Arquitectura de PC

Existe una nueva especificación llamada AGP Pro, que define un slot ligeramente más largo, con contactos eléctricos adicionales para soportar placas de video que consuman entre 25 y 110 watts de potencia. Estas placas estarían pensadas para workstations gráficas profesionales. Una de las razones por las que Intel diseñó este sistema fue para permitir a la placa de video tener una conexión de alta velocidad con la RAM del sistema. AGP permite utilizar directamente una parte de la memoria principal como memoria de gráficos. Es lo que se conoce como memoria AGP. De esta forma, se elimina el paso de la memoria principal a la memoria de video de la aceleradora gráfica, lo que agiliza el proceso. Obviamente, siempre hay que dejar la mayor parte de la memoria principal para ejecutar los programas. Conectores IDE y SATA (Serial ATA Conector) Las nuevas generaciones de discos rígidos usan distintos modos de transferencias de datos para aumentar su velocidad. Para que funcionen al máximo, el motherboard debe ser compatible con las especificaciones. Los controladores de disco, integrados en los motherboards, son desarrollos de IDE (Inteligent Device Electronic), conocidos como ATA o UDMA. La norma ATA 33 ofrece una tasa de transferencia máxima de 33 MB/seg; ATA 66 de 66 MB/seg y la más reciente ATA 100 de 100 MB/seg. Las nuevas interfases ATA son compatibles con las más viejas. Podríamos conectar un disco ATA 66 a un motherboard ATA 33, pero aquél estaría limitado a 33 MB/seg. Además, la norma ATA 66 exige cintas con mayor cantidad de cables para disminuir las interferencias. Parallel ATA implica una gran cantidad de líneas de datos, y grandes frecuencias transmitidas por ellas. Serial ATA, por el contrario, procesa los datos de forma secuencial y aprovecha la experiencia adquirida por el mercado con Ethernet, USB, FireWire e HyperTransport para conseguir un método de transmisión de datos más rápido y fiable. Serial ATA es capaz de alcanzar los 150MB/seg gracias a que trabaja en serie, necesitando sólo un cable y reduciendo de esta forma el número de pines en los conectores. Solo hay cuatro pines para llevar a cabo todas las tareas, incluyendo envío y recepción de datos, alimentación y tierra. Memoria La memoria se encuentra en una permanente transición, debido a la aparición de nuevas tecnologías: RDRAM (Rambus) y DDR SDRAM (RAM Dinámica Sincrónica) que transfiere un dato por cada pulso de reloj del bus y DDR (Double Data Rate) que funciona al doble de velocidad, una transferencia por cada flanco de reloj . Debemos tener en cuenta que el reloj de un bus moderno puede funcionar a más de 600 MHz, lo cual significa una velocidad de transferencia de 600 MB/seg para una SDRAM y 1,2GB/seg para un DDR. La cantidad de memoria que podamos instalar depende de la cantidad de zócalos libres y el tipo de memoria. Además, hay que tener en cuenta cuánta memoria es capaz de direccionar el motherboard. Los chipsets modernos pueden manejar 512 MB de RAM como mínimo.

1.1 - 15

Instrumentación virtual aplicada al estudio de sistemas complejos Capítulo 1: 1.1- Arquitectura de PC

1.1.5 El BIOS Todos los motherboards tienen un chip especial que contiene el software que llamamos BIOS (Basic Input/Output System) o ROM BIOS. El chip ROM contiene una serie de programas y drivers que sirven de interfase entre el hardware y el sistema operativo. Esta colección de programas es lo primero que se carga al arrancar una PC. Los diferentes BIOS son desarrollados por tres empresas: AMI (American Megatrends), Phoenix, y AWARD, que es la más difundida últimamente. Luego, los fabricantes de motherboards los adaptan específicamente para cada uno de sus productos. Las funciones del BIOS son: *POST (Power On Self Test): El POST prueba el procesador de la computadora, la memoria, el chipset, la placa de video, los controladores de disco, el teclado y otros componentes cruciales. El POST es la instancia en la que, al arrancar la máquina, vemos en pantalla información sobre la placa de video, el mismo BIOS (nombre, versión) y también el momento en que se cuenta la memoria. *BIOS Setup: Es un programa de configuración del sistema. Generalmente, es un programa en base a menúes, al que se accede presionando la tecla <SUPR> o <DEL> durante el POST. Permite ajustar las configuraciones del motherboard y el chipset, además de otras cosas, como la fecha, la hora y las passwords. Asimismo, se puede determinar la secuencia de booteo y la velocidad de bus del procesador. Las configuraciones guardadas necesitan mantenerse aun cuando la PC se apaga, por lo que se mantiene con la energía de una pequeña pila. El lugar donde se almacena es llamado CMOS RAM. La CMOS RAM almacena datos y valores del sistema que son usados durante el proceso de arranque. La siguiente figura corresponde a una motherboard con sus buses de expansión y una distribución de componentes típica.

1.1 - 16

Instrumentación virtual aplicada al estudio de sistemas complejos Capítulo 1: 1.1- Arquitectura de PC

Conceptos sobre Sistemas Operativos Un Sistema Operativo es un programa que controla la ejecución de los programas de aplicación y actúa como una interfase entre el usuario de una computadora y el hardware de la misma. El sistema operativo enmascara los detalles del hardware desde el programador y le provee una interfase conveniente para usar el sistema. Actuando como mediador, haciendo más fácil al programador y a los programas de aplicación acceder y utilizar el hardware disponible. El sistema operativo es, de hecho, nada más que un programa de computadora. Como otros programas, provee instrucciones para la CPU. La única diferencia está en la intención del programa. El sistema operativo dirije a la CPU en el uso de los recursos del sistema y en la temporización de la ejecución de otros programas. Así, el sistema operativo abandona el control lo suficiente para que el procesador ejecute la aplicación y luego recupera el control lo suficiente para preparar a la CPU para hacer la siguiente parte del trabajo. Sistemas operativos multitarea En los sistemas operativos multitarea se intenta mantener al procesador tan ocupado como sea posible al tenerlo trabajando en más de un programa a la vez. Así varios programas se cargan en la memoria, y el procesador cambiará con rapidez entre ellos. Estos entornos multitarea permiten al usuario tener varios programas o varias instancias de un mismo programa, ejecutándose concurrentemente (como por ejemplo sistemas Windows o Linux). Por supuesto, los programas comparten la CPU y no se ejecutan simultáneamente, pero en muchos casos lo parece debido a la velocidad de la computadora. Gestión de memoria: la memoria es un recurso importante, que con más de un programa ejecutándose al mismo tiempo, cada programa debe cooperar para compartir la memoria con el fin de no saturarla. Además, si hay programas que empiezan y otros que terminan, la memoria puede llegar a fragmentarse, el sistema operativo debe ser capaz de compactar espacio de memoria libre moviendo bloques de código y datos en la memoria del sistema. Cada programa en ejecución recibe el nombre de proceso, de aquí que a los sistemas multitarea clásicos se los denomine, basados en procesos. Plug and Play La gran variedad de diferentes placas que pueden conectarse a una PC expandiendo sus habilidades son al mismo tiempo una bendición y una maldición. Como es conocido, configurar el sistema y tratar con los conflictos de recursos es parte de la maldición de manipular dispositivos no estandar del mercado. Tratar estos problemas puede ser tremendamente confuso, dificultando la tarea y consumiendo mucho tiempo. En efecto, muchos usuarios manifiestan que esto es simplemente la parte mas frustrante del mantenimiento o la actualización del hardware de su PC. En un intento por resolver este prolongado problema, la especificación Plug and Play (también llamada PnP) fué desarrollada por Microsoft en cooperación con Intel y muchos otros fabricantes de hardware. El objetivo de Plug and Play es crear una computadora cuyo hardware y software trabajen juntos, configurando dispositivos y asignando recursos (espacio en memoria y drivers) automáticamente, permitiendo cambiar o sumar hardware sin problemas con la asignación de recursos. Como lo sugiere el nombre, el objetivo es simplemente conectar un nuevo dispositivo y estar habilitado a usarlo inmediatamente, sin complicarse con maniobras de configuración.

1.1 - 17

Instrumentación virtual aplicada al estudio de sistemas complejos Capítulo 1: 1.1- Arquitectura de PC

1.1.6 Placas de red o NIC (Network Interface Card) Una tarjeta de interfase de red, o adaptador LAN, provee capacidades de comunicación en red desde y hacia una PC. La NIC se comunica con la red a través de una conexión serial mediante un JACK RJ45 y con el computador a través de una conexión paralela. Es una tarjeta de circuito impreso que reside en una ranura en la tarjeta madre (o puede estar integrada en la motherboard) y provee una interfase de conexión a los medios de red. Poseen un procesador Ethernet que le permite actuar en forma independiente del procesador de la PC, suministrando de esta forma acceso directo a memoria (DMA). Esta placa NIC tiene las siguientes funciones:

Forman los paquetes de datos

Dan acceso al cable, con la conversión eléctrica y ajuste de velocidad

Son el transmisor y el receptor de la estación

Chequean las tramas para chequear errores

Conversión Serie/Paralelo

Identificación o dirección única en la red que permite saber cual es físicamente la terminal

Diagrama en Bloques de una Placa de Red (NIC) Buffer

Bus de Memoria

RAM TX

TX-

RX

RX-

Codificador Manchester

MAU

Datos FIFO

Decodificador Manchester

Memoria RAM

Controlador Ethernet

MAU

FIFO La función de cada bloque se describe a continuación: MAU: Ethernet Media Access Unit, provee: transmisión y recepción de datos en formato serie, adaptación de niveles de señal y detección de colisión. Memoria RAM FIFO (First Input, First Output): son memorias que actúan como buffer, permitiendo guardar varias tramas de datos en la transmisión y recepción. Estas memorias poseen entrada y salida de datos independientes por lo cual se puede escribir y leer sobre ellas simultáneamente.

D0CS RD WR

JACK RJ45

BUS DEL SISTEMA

1.1 - 18

Instrumentación virtual aplicada al estudio de sistemas complejos Capítulo 1: 1.1- Arquitectura de PC

Decodificador Manchester: Este decodificador se activa con la detección de señal portadora. Permite la conversión de la señal recibida de formato serie a paralelo. Para esto posee un detector de sincronismo que permite recuperar de los bits de sincronismo de la señal recibida, la velocidad en baudios de esta para armar los bytes de información recibidos. Cada 8 bits recibidos se arma un byte que se transfiere a la memoria FIFO, donde el Controlador Ethernet chequea los primeros 6 bytes si la dirección del paquete recibido es la propia (llamada dirección MAC), de no ser así, se borra el contenido de la FIFO. Controlador Ethernet: consiste principalmente en un adaptador PAD (packet assembler/disassembler) que es un dispositivo hardware que ensambla un paquete (frame) de transmisión con los datos, direcciones y checksum que esto implica, o desensamblador del paquete recibido, para extraer los datos del frame. Este controlador también posee capacidad de manejo de memoria FIFO para armar los buffers de frames a transmitir y recibidos, así como manejo de transferencia a memoria de la computadora por acceso directo a memoria (DMA). A tal efecto los programas de comunicación mediante redes, asignan direcciones de memoria RAM en la computadora que actúan como buffer. Codificador Manchester: convierte los bytes (información paralelo) del paquete enviado desde la PC, a bits (información serie) en código manchester que serán transmitidos por la red. Interfase de datos: esta es la interfase entre la placa de red y el bus de la computadora, que maneja comúnmente 16 bits de datos. 1.1.7 Familia 80X86 en la Arquitectura PC Debido a que el diseño de las primeras PC estaba basado en los CI (circuitos integrados) de la familia de procesadores 80x86, por razones de compatibilidad se mantuvo una estrecha relación con el desarrollo de las nuevas PC hasta la actualidad. Estos componentes se clasificaron desde el principio como :

1 - Controladores del sistema programables: son los componentes esenciales para el funcionamiento del procesador, indispensables para manejar interrupciones, refresco de memoria DRAM, cronómetro del sistema, etc.

2 - Controladores de dispositivos programables: se utilizan para el control de periféricos tales como: interfase serie 8251 - discos 8272.

3 - Controladores de interfases: actualmente actúan de puente entre el procesador y las distintas interfases que este posee, tales como IDE, SCSI, USB, ISA y PCI.

Controladores del Sistema

Muchos de los componentes y sus funciones, descriptos a continuación, conforman la arquitectura de una PC, por lo tanto pueden configurarse para su utilización en los procesos de adquisición y transferencia de datos desde una interfase. De aquí la importancia de describirlos con un enfoque práctico, que permita entender como aplicarlos en el diseño de un instrumento virtual. Con

1.1 - 19

Instrumentación virtual aplicada al estudio de sistemas complejos Capítulo 1: 1.1- Arquitectura de PC

este objetivo se describe, para cada componente, que funciones y canales están disponibles para una aplicación de adquisición. - Componen uno de los Chipset de la motherboard. - Son desarrollados en una relación muy cercana con el procesador. - Son dispositivos de Entrada/Salida, accedidos mediante mapeado I/O. - Esto implica que a estos dispositivos se accede con instrucciones del Lenguaje C como: lectura <---- inportb(dirección), escritura ------> outportb(dirección dato). PIC 8259 : ( Controlador de interrupciones programable ) * Muchos componentes que están presentes en la PC requieren servicio del procesador de tiempo en tiempo: - La interfase serie (como el mouse) - En las interfases de disco para evitar tener que esperar el posicionar la cabeza - Cuando se presiona una tecla * Posee dos 8259 de 8 canales c/u: 1 - Dirección : 0020h-0021h 0 - Cronómetro del sistema, ejecuta una interrupción cada 55mS 1 - Teclado 2 - Conexión en cascada de otro 8259 3 - COM 2 (Puerto de comunicaciones serie). 4 - COM1 (Puerto de comunicaciones serie). 5 - Controlador de disco duro. 6 - Controlador de disco flexible 7 - Puerto de Impresora (LPT1). 2 - Dirección : 00A0h - 00A1h 8 - Sistema CMOS/ reloj en tiempo real. 9 - Wave Audio Device. 11 - Plaqueta de red (Ethernet). 13 - Procesador de datos numéricos. 14 - Controlador estándar doble PCI IDE. 15 - Controlador primario IDE (FIFO única). DMA 8237 : ( Controlador de Acceso Directo a Memoria) * Comparado al acceso vía procesador, el DMA es 5 veces más rápido. * Funciona en forma transparente al procesador. * Los requerimientos de Hardware necesarios son mínimos. * Posee 4 canales de 8 bits y 4 canales de 16 bits. * Direccionamiento de la DMA Debido a que los registros internos del 8237 son de 16 bits, y su comunicación con el exterior es de 8 bits, la palabra de direccionamiento completa de 24 bits (para un direccionamiento de hasta 16 Mbytes) se arma con dos registros externos de 8 bits cada uno : Latch de dirección : con A8-A15, que el 8237

1.1 - 20

Instrumentación virtual aplicada al estudio de sistemas complejos Capítulo 1: 1.1- Arquitectura de PC

setea automáticamente y el Registro de Página: con A16-A23 que debe programarse de acuerdo al segmento de memoria donde vayamos a trabajar. De esta forma la DMA permite trabajar con bloques de memoria de hasta 64 Kbytes. A23

D0 D7

D0 D7

A16 A15 A8

A7 A0

A23 A0

BUS DE DIRECCIONES

Registro de Página

Latch de Dirección

DMA

Controlador de DMA 8237

Diagrama en bloques del 8237

1.1 - 21

0

DREQ0 DREQ1 DREQ2 DREQ3 DACK0 DACK1 DACK2 DACK3

HRQ HLDA

DIRECCION BASE

DIRECCION ACTUAL

CONTADOR BASE

CONTADOR ACTUAL

1 2 3

REGISTRO DE MODO

REGISTRO DE MASCARA

REGISTRO DE ESTADO

CPU

80X86

Instrumentación virtual aplicada al estudio de sistemas complejos Capítulo 1: 1.1- Arquitectura de PC

Las líneas DRQX son entradas al 8237 mediante las cuales el periférico instalado en el Bus ISA, solicita un acceso directo a memoria (DMA), a partir de alguna de estas solicitudes el 8237 pone en tercer estado a la CPU y toma el control de lo buses de direcciones, datos y control y habilita finalmente el acceso del dato desde el periférico mediante la línea DACKX. Dirección Base : posee la dirección de memoria (dentro del bloque determinado por el registro de página) a partir de la cual se ingresarán los datos. Dirección Actual : contiene en todo momento la dirección a la cual se está accediendo. Contador Base : registra la cantidad total (bloque) de datos a ser adquiridos. Contador Actual : registra la cantidad de datos que han sido transferidos hasta el momento. * Dirección : 0080h - 0090h Canales de 8 bits -------> 0 - Refresco de memoria DRAM. 1 - Disponible para el usuario ó wave audio device(8bits). 2 - Transferencia entre discos y memoria. 3 - Disponible para el usuario. * Dirección : 00C0h - 00DEh Canales de 16 bits ----> 4 - Conexión en cascada. 5 - Disponible usuario ó wave audio device (16bits). 6 - Disponible usuario. 7 - Disponible usuario. PPI 8255 : (Interfase Puerta Paralelo) * PPI: Programable Peripheral Interface * Posee 3 puertas paralelo de 8 bits c/u. * Permite 3 modos de funcionamiento. * Acceso bidireccional con handshake. * La motherboard posee 2 CI 8255. Funciones del CI 1 dentro de la Motherboard

Contador 2

(8254)

1.1 - 22

Puerta A ( 060 h)

Puerta B ( 061 h)

Teclado

7 6 5 4 3 2 1 0

DIP SWITCH XT

Puerta C ( 062 h)

Instrumentación virtual aplicada al estudio de sistemas complejos Capítulo 1: 1.1- Arquitectura de PC

Diagrama en bloques interno del 8255

A0 A3 IOR

IOW

PB0 -- -- -- --

PB7

PB0 -- -- -- --

PB7

PC0 --

PC3

PC4 --

PC7

D0 D7

Registro de Control

del Grupo - B

Registro de Control

del Grupo - A

Decodificado de direcciones

y control de E/S

Puerta B

Puerta A

Puerta C

Puerta C

Buffer de E/S de Datos

Los modos de funcionamiento que este integrado permite son: Modo 0: unidireccional E/S simple sin handshake. Modo 1: unidireccional E/S con handshake vía puerta C nibble Modo 2 : bidireccional E/S con handshake vía C nibble. Las funciones que cumple este integrado dentro de la motherboard son : Para el CI 1 : Puerta A : (0060h - 0060h) - Teclado 101/102 teclas / Dip switch en XT. Puerta B : (0061h - 0061h) - Habilitación, bit1: parlante y bit0: gate contador 2. Puerta C : (0064h - 0064h) - Teclado. Para el CI 2, las funciones son de interfase con la impresora : Puerta A : (0378h) - Puerto de Impresora (LPT1) / Registro de Datos. Puerta B : (0379h) - Puerto de Impresora (LPT1) / Registro de Estado. Puerta C : (037Ah) - Puerto de Impresora (LPT1) / Registro de Control. Las líneas de handshake del puerto de impresora están distribuidos como se indica en la siguiente figura, y la función que cumplen es :

1.1 - 23

Instrumentación virtual aplicada al estudio de sistemas complejos Capítulo 1: 1.1- Arquitectura de PC

* Líneas de ESTADO : son de entrada a la PC, y permiten conocer el estado de la impresora. ACK : Indica que la impresora a recibido un caracter y está disponible para recibir más. BSY : Buffer de impresora completo / Impresora ocupada PAP : Indica sin papel / fuera de papel. OFON : Impresora en línea (ON line) Líneas de CONTROL : son de salida y actúan sobre la impresora controlando su funcionamiento. ALF : (Auto Line Feed) . Alimentación automática de línea INI : inicializa la impresora. DSL : (Device Select). Selecciona la impresora ( cuando hay más de un dispositivo conectado a este puerto, ejemplo: un scanner. ERR : Activo cuando ocurre un error en la transferencia de datos. STR : (Strobe). Indica la transmisión de un dato a la impresora. Los pasos más sencillos que deberá seguir un driver device para sacar datos por impresora : - Escribir el dato de salida en el registro de datos. - Bajar la línea STR (Strobe) indicando a la impresora que tiene un dato. - La impresora lee el dato indicando que lo recibió poniendo ACK en bajo, y esta lista para recibir otro dato.

1.1 - 24

Instrumentación virtual aplicada al estudio de sistemas complejos Capítulo 1: 1.1- Arquitectura de PC

DIAGRAMA EN BLOQUES DEL PUERTO DE IMPRESORA D0

D7

ACK BSY PAP

ONOF

A0

IOR

IOW

A9 IRQ7

D0 D7

Registro de Control ( 37A h)

Registro de Datos ( 378 h )

Registro de Estado ( 379 h )

Decodificador de

Direcciones

Lógica de

Interrupción

* 1 14 * * 2 15 * * 3 16 * * 4 17 * * 5 18 * * 6 19 * * 7 20 * * 8 21 * * 9 22 * * 10 23 * * 11 24 * * 12 25 * * 13

STR

ALF

INI

DSL

CONECTOR PARALEO

DE IMPRESORA ( CENTRONIC )

B

U

S I

S

A

1.1 - 25

Instrumentación virtual aplicada al estudio de sistemas complejos Capítulo 1: 1.1- Arquitectura de PC

UART : 16550 (Interfase puerto serie) * Incorpora buffer de datos respecto de la UART original 8250 * Posee dos puertas serie full duplex (transmiten y reciben al mismo tiempo) (COM1 y COM2). * Velocidades de comunicación de hasta 115,2 Kbaudios entre PC con RS232. * Dirección : ( 03F8h - 03ffh) Puerto de comunicaciones COM1. ( 02F8h - 02ffh) Puerto de comunicaciones COM2. * Otros estándar : RS232 - RS422 - RS485, definen especificaciones de hardware unicamente, vale decir que definen las característica eléctricas, con los mismos protocolos. * Un mismo software puede manejar cualquiera de estas normas. * La forma en que el RS-485 direcciona a alguno de los 32 receptores con los cuales puede comunicarse, dependerá unicamente del software particular utilizado a tal efecto. * El protocolo más común para esto suele estar constituido por un set de caracteres ASCII que constituyen los comandos del dispositivo. * Estas redes con varios dispositivos son comunmente constituidas con (maestro: PC) y (esclavo: dispositivo). * Normalmente, todos los dispositivos se encienden en el modo receptor, esperando recibir mensajes. Cuando el maestro transmite un menasje, todos los dispositivos lo reciben y determinan si este mensaje los direcciona. Como respuesta, el dispositivo direccionado actúa en función del próximo comando que envíe el maestro. * Existe una clasificación de redes de dispositivos industriales. Ejemplo de protocolo : “:DEV:ADR 01” -----> Comando de direccionamiento del dispositivo 01 en hexadecimal “:CONF:VOLT:DC 10” ------> Configurar al dispositivo para una escala de tensión de 10V de contínua. NORMA RS-232 RS-422 RS-485 Tipo de línea desbalanceada diferencial diferencial Máximo N° de receptores 1 10 32 Máx. Longitud de cable 20 mts 1500 mts 1500 mts Máx. velocidad 20 Kbaudios 10 Mbaudios 10 Mbaudios CMOS RAM y RTC MC146818 * Provee la CMOS RAM con el seteo de configuración del Hardware disponible. * Mantiene el reloj de tiempo real para recuperar la hora y la fecha en el encendido de la máquina. * Dirección : ( 0070h - 0071h )

1.1 - 26

Instrumentación virtual aplicada al estudio de sistemas complejos Capítulo 1: 1.1- Arquitectura de PC

Diagrama en bloques del 8254

1.1 - 27

CLK0 GATE0

CLK1 GATE1

CLK2 GATE2

OUT 0 18,2 Hz

OUT 1 15 µs

OUT 2

IOR IOW CS

A0 A3

+5V

+5V

Registro de Control (043 h)

Latch Escritura ( 040 h)

Latch Lectura ( 042 h)

Latch Lectura ( 040 h)

Contador 0

Latch Escritura ( 042 h)

Latch Escritura ( 041 h)

Contador 1

Latch Lectura ( 041 h)

Contador 1

Compuerta

Compuerta

Compuerta

IRQ0 IRQ1 IRQ2 --- --- IRQ7

8259

CPU 80X86

----------

17:41 ---------- 31:10:09

----------

MEMORIA

DMA 8237 CANAL 0 CANAL 1 CANAL 2 CANAL 3

Decodificador

de Direcciones

Refresco de DRAM

0 1 2 3 4 5 6 7 Puerta B ( 061 h)

CLCK0=CLCK1=CLCK2=1,19 Mhz / 0,838 µS CONTADOR 0=65535 / CONTADOR 1= 18

Instrumentación virtual aplicada al estudio de sistemas complejos Capítulo 1: 1.1- Arquitectura de PC

PIT 8254 : (Generador de Intervalos de Tiempo programables) * Permite generar intervalos de tiempo exactamente definidos. * Posee 3 timers programables de 16 bits cada uno. * Permite 4 modos de funcionamiento. * Dirección : 0040h - 0043h 0 - Timer tick (18,2 veces/seg).= 54,925 mseg. 1 - Refresco de memoria dinámica (DRAM), cada 15 µseg. 2 - Generación de tonos de señalización y tiempos en programas. Dirección : 0048h - 004bh 3 - Genera una interrupción NMI para errores de paridad en la RAM o fallas importantes de hardware 4 - Disponible usuario. 5 - Disponible usuario. En muchos casos se necesita disponer de un cronometro que permita medir o generar tiempos con la exactitud de un cristal, para lo cual podemos utilizar unos de los timers (2,4 o 5), como se verá más adelante en este Proyecto.

1.1 - 28