6721122 D057 Tecnologia Del PC

729
ZATOR Systems [ Home] [ Índice] En esta sección: Prólogo 0. Índice 1. El Hardware 2. La Placa-base 3. El Procesador 4. El BIOS 5. Memoria Interna 6, Interfaces 7. Dispositivos de entrada 8. Dispositivos de almacenamiento externo 9. Sistema de Video 10. Sistema de Sonido 11. Sistemas de comunicación 12 Redes Subir Buscar en Google Tutorial de Tecnología del PC Condiciones de uso: Está autorizada la realización de copias impresas o electrónicas de este material para uso estrictamente personal. No está permitido copiarlo, distribuirlo, o reproducirlo en ninguna otra forma, incluyendo boletines o publicaciones electrónicas o impresas de cualquier tipo sin autorización expresa del titular del copyright.

Transcript of 6721122 D057 Tecnologia Del PC

Page 1: 6721122 D057 Tecnologia Del PC

ZATOR Systems[Home] [Índice]

En esta sección:Prólogo0. Índice1. El Hardware2. La Placa-base3. El Procesador4. El BIOS5. Memoria Interna6, Interfaces7. Dispositivos de entrada8. Dispositivos de almacenamiento externo9. Sistema de Video10. Sistema de Sonido11. Sistemas de comunicación12 Redes

Subir Buscar en Google

Tutorial de Tecnología del PC

Condiciones de uso:

Está autorizada la realización de copias impresas o electrónicas de este material para uso estrictamente personal. No está permitido copiarlo, distribuirlo, o reproducirlo en ninguna otra forma, incluyendo boletines o publicaciones electrónicas o impresas de cualquier tipo sin autorización expresa del titular del copyright.

Page 2: 6721122 D057 Tecnologia Del PC

Tecnología del PC[Home] [Inicio] [Índice]

Subir Buscar en Google

Web zator.com

Índice

● Portada (inicio)

�❍ 0.1 Prólogo

�❍ 0.2 Resumen de contenido

�❍ 0.3 Índice (esta página)

�❍ 0.4 El ordenador electrónico digital

�❍ 0.5 Conceptos básicos de electricidad y electrónica

● 1 El Hardware

�❍ 1.1 Problemas. Mantenimiento y Averías

�❍ 1.2 La Fuente de Alimentación

● 2 La Placa-base

�❍ 2.1 Entradas/Salidas

�❍ 2.2 Buses locales

�❍ 2.3 Acceso directo a memoria

�❍ 2.4 Interrupciones

■ 2.4.1 Servicios BIOS

Page 3: 6721122 D057 Tecnologia Del PC

■ 2.4.2 Servicios del Sistema

�❍ 2.5 Puertos E/S

■ 2.5.1 Puertos serie

■ 2.5.1.1 La UART

■ 2.5.2 Puertos paralelo

■ 2.5.3 Puertos USB

�❍ 2.6 Factor de forma

● 3 El procesador

�❍ 3.1 Aspectos tecnológicos

■ 3.2 Arquitectura del procesador

■ 3.2.1 Conexiones exteriores

● 4 El BIOS

�❍ 4.1 Carga inicial

�❍ 4.2 Comprobación del Hardware

�❍ 4.3 Carga del Sistema Operativo

�❍ 4.4 Soporte de dispositivos

● 5 Memoria interna

�❍ 5.1 Direccionar la memoria

�❍ 5.2 Memoria Cache

�❍ 5.3 Aspectos tecnológicos

■ 5.3.1 Errores de memoria

■ 5.3.2 Tecnologías de memoria

Page 4: 6721122 D057 Tecnologia Del PC

■ 5.3.3 Montaje físico

● 6 Interfaces

�❍ 6.1 Interfaz ATA/IDE

�❍ 6.2 Direccionamiento CHS / LBA

�❍ 6.3 Interfaz SCSI

■ 6.3.1 Aspectos físicos (cables, conectores y "Jumpers" de configuración)

�❍ 6.4 Interfaz PCI

�❍ 6.5 Interfaz Serial-ATA

�❍ 6.6 Interfaz ESDI

● 7 Dispositivos de entrada

�❍ 7.1 Teclado. Aspectos morfológicos y eléctricos

■ 7.1.1 Funcionamiento del teclado

■ 7.1.2 El teclado y el SO

■ 7.1.2a El teclado en MS-DOS / Windows

■ 7.1.2b El teclado en Linux

�❍ 7.2 Dispositivos señaladores

● 8 Almacenamiento externo

�❍ 8.1 Discos duros

■ 8.1.1 Generalidades

■ 8.1.2 Estructura lógica de los discos (Generalidades)

■ 8.1.2a Sistemas de ficheros

■ 8.1.2a1 Sistemas FAT & NTFS

Page 5: 6721122 D057 Tecnologia Del PC

■ 8.1.2a2 Sistemas UNIX/Linux

■ 8.1.2c El principio del disco (Sector de arranque)

■ 8.1.2c1 Particiones (volúmenes lógicos)

■ 8.1.2c2 Sector de carga ("Boot sector")

■ 8.1.2c3 Particionador (fidisk)

■ 8.1.2c4 Instalar el sistema de ficheros

■ 8.1.2d Estructura jerárquica de un volumen (Directorios y Ficheros)

�❍ 8.2 Discos externos

■ 8.2.1 Unidades para transporte de datos

■ 8.2.1a Disco de estado sólido

■ 8.2.1b Discos duros (spin disks)

● 9 Sistemas de video

�❍ 9.1 Física del color

■ 9.1.1 Medir la luz y el color

�❍ 9.2 Sistemas cromáticos

�❍ 9.3 Sistemas de representación

�❍ 9.4 Representación numérica del color

�❍ 9.5 Factor Gamma y ajustes del monitor

�❍ 9.6 Controladoras

�❍ 9.7 Monitores

● 10 Sistema de sonido

Page 6: 6721122 D057 Tecnologia Del PC

�❍ 10.1 Física de sonido

�❍ 10.2 Tratamiento digital del sonido

�❍ 10.3 Codecs de audio/video

�❍ 10.4 Interfaz MIDI

● 11 Sistemas de comunicación�❍ 11.1 Comunicación por módem

■ 11.1a Velocidad de conexión

■ 11.1b Estándares de comunicación

■ 11.1c

● 12 Redes�❍ 12.1 Generalidades

■ 12.2 Introducción, el modelo OSI

■ 12.2.1 Redes TCP/IP (Internet)

�❍ 12.4 Ethernet

■ 12.4.1 Estándares Ethernet

■ 12.4.2 Instalación de par trenzado

■ 12.4.2a Medida de los conductores

■ 12.4.3 Instalación de una pequeña LAN en Windows

■ 12.4.4 Problemas de conexión en Windows

�❍ 12.5 Tecnologías inalámbricas■ 12.5.0 Generalidades, el espectro radioeléctrico.

■ 12.5.1 IRDA

■ 12.5.2 Bluethooth

Page 7: 6721122 D057 Tecnologia Del PC

■ 12.5.3 Wireless LAN (IEE 802.11)

Inicio

|Índice| Copyright © 2000-2006 Zator Systems. NO software patents

Page 8: 6721122 D057 Tecnologia Del PC

Tecnología del PC[Home] [Inicio] [Índice]

Subir

Prólogo

A finales del 2001 y principios del 2002 tuve ocasión de impartir un cursillo para "Técnicos de sistemas Microinformáticos". Un curso de subvención oficial, de 500 horas en grupos reducidos (15 alumnos), para formación de desempleados. Su enfoque es teórico-práctico, y supuestamente se destina a proporcionar una mínima calificación profesional a personas que carecen de conocimientos previos en el asunto. Desde luego, cuando vi el guión del curso y me contaron de que iba, no podía figurarme que pasaría. De los 15 alumnos, solo tres eran lo que se esperaba, todos los demás tenían mediana o mucha experiencia informática [2]. Un par de licenciados en informática, uno de ellos incluso con mucha experiencia (ingeniero de soporte en Inglaterra), otros cuantos, estudiantes de la Facultad de Informática en la Universidad; técnicos FP (Formación Profesional) en electrónica, informática, etc. Resumiendo: supuestamente iba a enseñar los rudimentos del MS-DOS y Windows a ciertos señores; alguno de los cuales era capaz de instalar un SO Linux y un servidor de correo como si tal cosa !!.

He de reconocer que el resultado no fue muy brillante; precisamente debido a la enorme disparidad de nivel de los alumnos (dos o tres sin conocimientos previos). El problema era que según hablaba para unos u otros, los otros o los unos se perdían o se aburrían. Sin embargo también he sacado alguna conclusión positiva. A mi pregunta, a los "Licenciados", sobre la razón de su inscripción en el cursillo, la respuesta venía a ser que necesitaban experiencia práctica, que la Universidad es quizás demasiado teórica. Casi todos compartían interés por saber más sobre los aspectos tecnológicos del PC.

Page 9: 6721122 D057 Tecnologia Del PC

Por supuesto, no puedo reproducir aquí la parte práctica del curso; no puedo hacer que tome un destornillador o realice una soldadura en un cable; tampoco demostrarle que precauciones debe tomar para crimpar correctamente un conector BNC, pero he pensado que quizás si le interese el material escrito que he tenido que preparar; que posiblemente hay en la Red mucha más gente interesada en los aspectos tecnológicos de los ordenadores.

Para la mayoría de gente de mi generación, las clases en la Universidad se pasaban copiando desesperadamente los apuntes que dictaba el profesor (o copiándolos de un colega si te habías "saltado" la clase). Había honrosas excepciones, pero por lo general las cases de "daban" (mejor diría se "dictaban") para ser copiadas. En estos tiempos de fotocopiadoras por doquier me parece una buena idea dar a los alumnos, al principio de cada clase, el material que el profesor ha preparado para sí mismo. Esto tiene la ventaja de que el alumno solo tiene que tomar alguna que otra nota marginal, y puede concentrarse en la explicación. Por supuesto, para el profesor tiene la desventaja de que tiene que preparar la clase mucho (muchísimo) más; al menos el primer año hay que preparar algo "decente", que se pueda enseñar.

Desde luego lo anterior me lo aplico a mí mismo, así que todos los días entregaba una serie de hojas con el resumen de la lección. Poniendo un poco de orden en notas personales y documentación de aquí y allá, poco a poco he ido haciendo un libro. Este material, junto con algunos temas de "Hardware" que había publicado anteriormente como añadido del referido curso de C++ [3], es el que ahora quiero compartir en la Web, en la confianza que le será de utilidad a alguien más.

La exposición pública me exige pasarlo a HTML y refinarlo un poco; en la medida de mis posibilidades lo iré subiendo a la red.

Salu2© Adolfo J. Millán

Comienzo: Granada (España), Marzo 2002

Inicio.

Page 10: 6721122 D057 Tecnologia Del PC

[1] Cuando le conté el incidente a mi hermano, que es profesor de informática aunque físico de formación, contestó algo como: "Que se creerán..., que el C++ puede ser divertido... Vamos..., como si alguien pretende divertirse con los espacios de Hilbert..."

[2] Según me explicaron, el criterio de selección de la Junta de Andalucía, que es la promotora de los cursos, se basa exclusivamente en un criterio de antigüedad en el paro, lo que origina que, con dinero público, se subvencione un cursillo de introducción a la informática a... un licenciado en informática!!. (cuando sea mayor quiero ser político).

[3] El capítulo 0.3 completo, que tocaba aspectos de la placa-base; el procesador, el BIOS, y la memoria interna, han sido eliminados definitivamente de allí, e incluidos en este nuevo tutorial.

Inicio

|Índice| Copyright © 2000-2006 Zator Systems. NO software patents

Page 11: 6721122 D057 Tecnologia Del PC

Tecnología del PC[Home] [Inicio] [Índice]

Subir

1 El Hardware

"Any skill set that people can bring to the job will be technologically obsolete in a couple of years, anyway, so it’s better to hire people that are going to be able to learn any new technology rather than people who happen to know how to make JDBC talk to a MySQL database right this minute". Joel Spolsky. "The Guerrilla Guide to Interviewing (version 3.0)" www.joelonsoftware.com/

§1 Presentación

En informática los datos técnicos resultan rápidamente anticuados. Lo que escribimos hoy resultará rancio el año que viene, y esto resulta particularmente cierto en lo tocante al hardware, donde la Ley de Moore [1] se cumple con implacable regularidad. La información técnica de hoy resulta información "histórica" pasado mañana. Así pues, los datos que se citan en este capítulo que no sean de tipo histórico, deben ser considerados meramente informativos, y con una cierta benevolencia si no resultan muy actuales cuando lleguen a manos de lector. En cualquier caso servirán para dar una idea y una introducción respecto al tema.

Page 12: 6721122 D057 Tecnologia Del PC

Puesto que la tecnología Hardware se desarrolla a un ritmo vertiginoso, intentaremos en lo posible huir de tecnicismos concretos, centrándonos en los aspectos operacionales (o históricos) que tienen más permanencia. Por otra parte, los aspectos básicos de un procesador pueden ser personalizados para su estudio en un 8088, o a lo sumo en un 80286 sin necesidad de acudir a un Pentium [2].

Seguramente los estudiantes de enseñanzas informáticas regladas encontrarán todo esto superfluo, pues en realidad, la materia pertenece a otras asignaturas complementarias a las estrictamente "Software". Materias en las que se estudian estas mismas cuestiones con mucho más detenimiento. Sin embargo, los "freelancers" y autodidactas; aquellos que quieran adentrarse en la programación (y en la informática) desde otras disciplinas, quizás agradezcan encontrar aquí recopilados muchos otros conceptos complementarios, pero íntimamente relacionados con los estrictamente "Software".

§2 Sinopsis

En esta sección exponemos una visión sinóptica de las principales características del Hardware de un ordenador moderno. Por ser la más extendida, nos referimos concretamente a la arquitectura del PC; un estándar "de facto" en la informática actual.

La idea es proporcionar una visión general, pero haciendo especial referencia a aquellas cuestiones que tienen relación más directa con la programación, es decir, realizaremos una corta visita al Hardware desde la óptica del Software. Esta visita nos dará pié para exponer algunos aspectos del funcionamiento del ordenador que equidistan del hard y del soft. Por ejemplo, el mecanismo de acceso directo a memoria o el sistema de interrupciones.

Evidentemente es posible escribir estupendos programas C++ (o en cualquier otro lenguaje) sin saber absolutamente nada acerca de la fuente de alimentación o el tipo de Bus utilizado. Además, puede legítimamente argumentarse que el origen y razón de ser de los lenguajes de

Page 13: 6721122 D057 Tecnologia Del PC

programación es precisamente encapsular las particularidades de la máquina en una interfaz que las oculten y "humanicen" lo más posible. Sin embargo, la realidad está ahí, y en determinadas ocasiones puede ocurrir que, como dice Petzold, "esta complejidad saltará fuera y le morderá la pierna".

Existen muchos casos en que es deseable un cierto conocimiento, aunque sea mínimo y superficial, de las características de la realidad física que subyace debajo de nuestras elegantes abstracciones mentales. Además de posibilitar determinados tipos de programación (no olvidemos que C++ permite utilizar directamente instrucciones ensamblador), este conocimiento del hardware, nos permitirá comprender mejor aspectos complementarios de ciertas cuestiones relacionadas con la programación, y el significado del vocabulario utilizado.

§3 La historia en un flash

Los ordenadores nacieron pesados, grandes y extraordinariamente caros. Incluso en épocas relativamente "recientes", los ordenadores solo eran accesibles para empresas e instituciones. Es cierto que a finales de los 60 empiezan a fabricarse "minis", un tipo de ordenador accesibles a pequeñas y medianas empresas. Pero desde luego, con un precio equivalente al que hoy tendría una vivienda mediana, estaban muy alejados de lo que podríamos considerar como informática personal.

En agosto de 1981 IBM hace algo insólito: sorprende a todo el mundo con el lanzamiento de un ordenador "Personal", el IBM PC 5150 ("Personal Computer"); algo que parecía más un "divertimento" de los diseñadores de IBM que un producto del Gigante Azul [3]. Más sorprendente si cabe, fue la decisión de proporcionar información y soporte a pequeñas empresas de software y fabricantes de periféricos, para que pudieran fabricar complementos para el nuevo producto (esta decisión fue sin duda una de las claves de su éxito).

Este PC original estaba muy limitado en ciertos aspectos. Solo

Page 14: 6721122 D057 Tecnologia Del PC

El IBM PC modelo 5150

podía montar dos disquetes de 160 KB, y se ofrecía con 16 KB de RAM, aunque la placa-base podía contener 64 KB. y se podían instalar "hasta" 256 KB de memoria utilizando tarjetas de expansión (cantidad que parecía astronómica en aquel entonces).

El producto se convirtió en un éxito inmediato que pronto excedió cualquier expectativa imaginable. Se ha dicho hasta la saciedad que el éxito sorprendió a todo el mundo, incluyendo a sus creadores [4]. IBM había estimado unas ventas del orden de 250.000 unidades en un periodo de cinco años; posteriormente esta cifra se alcanzó mensualmente.

A principios de 1983 IBM lanza el PC XT ("PC eXTended") que incluye un disco duro del que carecían los primeros modelos. A fin de año se anuncia el PC Jr. que pasó a la historia con más pena que gloria.

En verano de 1984, junto con algunas mejoras de diseño, IBM incluye el procesador 80286 como motor de la gama PC, dando lugar a la familia PC AT ("PC Advanced Technology").

Además de las estrictamente técnicas, IBM había cometido algunas otras imprevisiones en el diseño del PC, empezando una protección legal insuficiente (no habían registrado las patentes adecuadas). Ante el fenomenal éxito del producto y la proliferación de clónicos, decidió enmendar el entuerto diseñando una nueva familia más avanzada técnicamente y de la que estaba patentado hasta el último tornillo. La nueva serie, presentada en 1987, se denominaba PS/2 (Personal System) y el bus MCA (Micro channel) utilizado era muy superior al ISA del PC [5]. Sin embargo, aún con sus defectos, el PC parecía tener vida propia, y a mediados de los 80 escapó del control de sus creadores. Desde entonces la evolución de la criatura ha venido dictada por las fuerzas del mercado.

El resto de la historia, hasta nuestros días, es de todos conocida. El PC ha colocado en nuestros escritorios capacidades de proceso que hasta hace muy poco solo eran concebibles en costosísimos mainframes o sofisticadas workstations. Recientemente leía un informe señalando que en verano del 2002, poco más de 20 años después del lanzamiento del primer

Page 15: 6721122 D057 Tecnologia Del PC

PC, la industria del PC había alcanzado la cifra de mil millones de PCs vendidos.

Aunque sean estos unos apuntes sobre "tecnología del PC", y las siglas PC han quedado casi como sinónimo de PC IBM-compatible, más que como "Personal Computer" a secas, en justicia debemos recordar que la informática personal y por consiguiente, el "PC", no nació con el/la "PC" de IBM.

Aunque no hayan tenido el éxito y difusión del "IBM-compatible", existen antecesores muy notables. Además de las máquinas Wang (hoy sepultadas en el olvido), quizás el caso más notorio, que pervive hasta nuestros días, sea el de las máquinas Apple, que junto con las de HP, son el origen de lo que se ha dado en llamar "la leyenda del garaje".

El 1 de abril de 1976 ("April's Fool"), el equivalente al Día de los Inocentes en USA, Steve Jobs y Steve Wozniak fundaron Apple en el garaje de la casa de Steve, en Palo Alto (California). El capital inicial lo constituían 1.300 dólares, conseguidos gracias a la venta de una vieja furgoneta Volkswagen y una calculadora. En 2005 los beneficios de la empresa eran del orden de 1.300 millones de dólares USA.

Después de un primer modelo, en 1977 sacaron el Apple II, que se convirtió en un auténtico superventas y que gozaba todas las características que hoy le exigimos a un ordenador personal. A este le siguieron el Apple III, y el primer Macintosh en 1984. Así pues, en realidad los señores de la IBM no inventaron nada nuevo. Simplemente se sumaron al carro de algo que ya estaba en la calle, aunque en las consecuencias que se derivaron de aquello, si tuvo mucho que ver el hecho de que IBM era y sigue siendo, el gran peso pesado de la informática.

§3.1 El Sistema Operativo

Page 16: 6721122 D057 Tecnologia Del PC

Se me olvidaba deciros que IBM decidió lo que ahora se llama "Outsourcing" para el Sistema Operativo de su "juguete", es decir, encargarlo fuera. Dice la leyenda que primero intentaron contactar con Gary Kildall, de Digital Research, que había desarrollado un Sistema Operativo para microprocesadores denominado CP/M ("Control Program for Microcomputers"), pero que Kildall no estaba por el trabajo, de modo que decidieron encargarlo a una empresita denominada Microsoft que había sido fundada unos años antes por un par de jóvenes, Bill Gates y Paul Allen, con el nombre de Traf-O-Data (luego cambiaron este nombre por el de Microsoft). Realmente ni Gates ni Allen eran expertos en Sistemas Operativos (habían desarrollado un magnífico intérprete de Basic), pero sí tenían un gran sentido de la oportunidad y ganas de pelea, de modo que por unos 50.000 USD compraron a un tal Tim Patterson un producto parecido al CP/M de Kildall para adaptarlo y entregarlo a IBM. Se llamaba QDOS ("Quick and Dirty Operating System"), y con las debidas adaptaciones fue convertido en el MS DOS 1.0 y fue incluido en el IBM PC con el nombre de PC-DOS.

§4 Webografía

Intel Literature Center www.intel.com/products/

Hablar de referencias sobre hadrware, en general, es prácticamente igual que no decir nada, pero si tengo que poner alguna referencia, quizás esta del "Site" de Intel. Por supuesto se refiere a productos de este fabricante, pero contiene toneladas de información de todos los niveles.

Michael B Karbo www.karbosguide.com/

Este sitio contiene un interesante tutorial-guía sobre el hardware del PC en el que predominan los contenidos gráficos. Más de 450 páginas de información.

PC Hardware Guide www.pctechguide.com/

Magnífico sitio para el principiante.

Page 17: 6721122 D057 Tecnologia Del PC

History of media technology /www.cedmagic.com/

Un interesante "Timeline" con abundantes fotografías. Buen sitio estás interesado en los aspectos históricos de la tecnología y quieres conocer el aspecto de los primeros "Cacharros".

Inicio.

[1] Debida a Gordon Moore, uno de los fundadores de la Compañía Intel, que en 1965 afirmó que cada 24 meses se duplicaría la densidad de los circuitos integrados y se reduciría su costo a la mitad. En realidad Moore se limitó a expresar en una frase algo que se estaba observando desde la invención del Circuito Integrado en 1959; que cada año se duplicaba la cantida de elementos que se podían integrar en un solo chip. Aunque puede tomarse en un sentido amplio, de aumento de la potencia general de los ordenadores, de acuerdo con todos los analistas, la "Ley" sigue cumpliéndose desde entonces.

En un artículo publicado en Junio del 2002, por Seth Lloyd (profesor del MIT) en "Physical Review Letters". Estimaba que la capacidad total de cómputo de las máquinas construidas hasta la fecha suponían 1031 ops, pero que debido precisamente a la realidad de la citada Ley, la mitad de dicha capacidad correspondía a máquinas construidas en los últimos dos años.

[2] En realidad todos los procesadores Intel son compatibles hacia atrás con el 8086, el primer procesador de 16 bits, cuyo juego de instrucciones puede considerarse el núcleo de toda la familia. Además, iniciarse en el estudio del hardware haciéndolo sobre el 8088 antes que sobre un Pentium, tiene sus ventajas desde el punto de vista didáctico. Este tipo de aproximación de lo simple a lo complejo es deseable en cualquier ámbito del aprendizaje. Lo contrario es como si quisiéramos aprender a volar directamente sobre un Boeing 747. En todas las escuelas de vuelo se comienza en un entrenador básico, y solo cuando se conocen los principios fundamentales, se puede pasar a un entrenador avanzado.

[3] Como anécdota, puedo contaros que mucho antes de esta época, a principio de los 70,

Page 18: 6721122 D057 Tecnologia Del PC

recién egresado de una escuela de ingeniería técnica, necesitaba un ordenador por razón de mi trabajo profesional (tenía que hacer gran cantidad de cálculos numéricos). Tenía expectativas de algún apoyo económico, así que me marché a Madrid, a ver que era "lo más barato" que tenían los señores de la IBM. La verdad es que apenas pude hablar con el portero :-( Me miraban muy extrañados, como a un bicho raro, y debía serlo un "particular" que iba a preguntar por un "Ordenador", cuando sus clientes eran el Gobierno y los grandes Bancos. Aunque no lo recuerdo con exactitud, me vinieron a decir que "lo más barato" costaba unos 16 millones de pesetas de entonces (en aquella época nuestra oficina era una vivienda adaptada en una zona de tipo medio que había costado unas 300.000 Pts.)

[4] En realidad el lanzamiento del PC no fue una casualidad. El proyecto Acorn (nombre con el que nació el PC) deriva de otro, el DataMaster, comenzado en Febrero de 1978 que no llegó a ver la luz. Este debía ser un "compacto" (todo en una carcasa), incluyendo un teclado, una pantalla monocromo de 12 pulgadas y un par de disquetes de 8 pulgadas; todo ello movido en BASIC por un 8085, un micro de 8 bits pariente cercano del 8088. A su vez, este diseño tenía precedentes en las máquinas Wang, que se adelantaron bastante a su época y en las que "matamos" bastantes Klingons (unos terribles alienígenas que venían del espacio).

[5] Aunque sin el éxito del PC (quedó reducido al ámbito de los clientes tradicionales de IBM), el PS/2 tuvo cierta influencia en el desarrollo del PC ya que algunas de sus soluciones técnicas fueron rápidamente aceptadas por la industria de clónicos que ya empezaba a ser importante. Entre estas innovaciones podemos señalar el adaptador gráfico VGA; el puerto paralelo bidireccional; el puerto para ratón integrado en la placa-base; el conector mini-DIN para teclado, etc.

Inicio

|Índice| Copyright © 2000-2006 Zator Systems. NO software patents

Page 19: 6721122 D057 Tecnologia Del PC

Tecnología del PC[Home] [Inicio] [Índice]

En esta sección:1 Entradas/Salidas2 Buses locales3 Acceso directo a memoria4 Interrupciones4.1 Servicios BIOS4.2 Servicios del Sistema5 Puertos E/S5.1 Puertos serie5.1.1 La UART5.2 Puertos paralelo5.3 Puertos USB6 Factor de forma

Subir

2 La placa-base

§1 Presentación

En la arquitectura PC, el núcleo del sistema está integrado en una sola placa, denominada placa-base ("Motherboard" o "Mainboard"). En los sistemas actuales de sobremesa, es una placa de circuito impreso multicapa de unos 600 cm2 en la que se incluyen elementos de montaje superficial (soldados), amén de zócalos y conectores para diversos elementos desmontables. Existen diversos tamaños y disposiciones ( H2.6); el aspecto de una de estas placas se muestra en la página adjunta ( Figura).

§2 Componentes

A grandes rasgos, los componentes principales de la placa base son los que se han esquematizado en la figura adjunta:

● Bus externo .

Page 20: 6721122 D057 Tecnologia Del PC

Representación esquemática de una placa-base.

● Procesador (UCP).

● BIOS

● Chipset. Juego de chips auxiliares .

● Memoria .

● Conectores de E/S, incluyendo alimentación

.

§3 Bus

Observación: Lo que sigue es una descripción somera de las características funcionales y principios operativos del bus del PC. Hemos de advertir que en la literatura técnica leerá que existen varios estándares de bus: ISA, EISA, VESA, MCA etc. En realidad esto se refiere a las especificaciones mecánicas de los conectores (zócalos) que se incluyen en la placa-base para insertar dispositivos tales como placas de video, módems internos, controladores de disco, etc. etc. De hecho es frecuente que una placa base tenga zócalos de más de un tipo (por ejemplo, ISA y PCI).

El elemento principal de la placa-base es el bus [1], una especie de autopista que la recorre y que actúa como espina dorsal del ordenador. La mayoría de los datos pasan por esta vía para ir de un sitio a otro (el ordenador se parece a uno de esos pueblos del salvaje Oeste -de las películas- que solo tienen una calle).

Nota: Como muchas otras cosas de esta tecnología tan cambiante, el símil propuesto

Page 21: 6721122 D057 Tecnologia Del PC

es de una exactitud relativa. La tendencia apunta a la creación de otros "buses" secundarios para misiones específicas que van y vienen con las modas tecnológicas de cada momento. Ver en el siguiente epígrafe algunos comentarios sobre los denominados Buses locales ( H2.2).

Esta autopista pasa por los zócalos y conectores de las tarjetas de expansión y periféricos, y es frecuente que en algunos equipos portátiles el bus tenga una conexión externa (en la figura anterior se ha señalado como "Conexión exterior"). Las denominadas "Dock stations" se acoplan a dichos conectores formando una prolongación del bus, lo que permite que puedan añadirse dispositivos externos.

La inclusión del bus obedece a dos razones: Por un lado es un elemento necesario para transportar datos entre las partes del ordenador. De otro, es el resultado de un criterio de diseño de los creadores del PC. La adopción de una arquitectura abierta que permitiese conectar la mayor cantidad de dispositivos, lo que exigía que todas las señales estuviesen presentes en los zócalos de conexión y que sus características estuviesen debidamente documentadas. Ambas premisas se cumplieron y el resultado ha sido uno de los mayores éxitos comerciales de todos los tiempos.

El bus es un conjunto de pistas conductoras grabadas en la placa-base. Precisamente su característica más importante es el número de tales pistas, pues cuanto mayor sea este número, mayor es la cantidad de bits de la señal que transporta. Como cada conductor puede transportar un bit, en realidad no se suele hablar de "conductores" para referirse a la anchura del bus, sino de "bits" (más concretamente bits de datos).

Page 22: 6721122 D057 Tecnologia Del PC

Nota: Cada línea transporta un bit de valor 0 o 1. Un valor "alto" (5 V.) se considera un 1; un valor "bajo" (0 V. = masa) se considera un 0. Determinados sucesos ocurren cuando en una línea se recibe un 1, se denominan "activo alto". Por contra, otros sucesos ocurren cuando en ciertas líneas se recibe un 0, se dice entonces que dicha línea es de "activo bajo".

En los primeros PCs, el bus de datos era de 8 bits (a pesar que el procesador utilizado, el 8088 era de 16 bits), por lo que se podía transferir 1 octeto cada vez, y las direcciones debían ser manejadas en dos partes (esto dio origen a una forma de direccionamiento denominada "Segmentada", a la que nos referiremos a continuación ). El "ancho" del bus de datos se aumentó posteriormente a 16 bits; en las máquinas actuales es de 32 y la tendencia es ir a 64.

No confundir este bus de la placa-base, denominado también bus externo [4] o FSB ("Frontside bus"), con el existente en el interior del procesador para comunicar entre sí sus diversos módulos ( H3.2). Este último se conoce como bus interno o bus del sistema ("System bus"), y ni su "anchura" ni su velocidad (frecuencia) tienen porqué coincidir con las del externo. Hemos visto como en el 8086 es de 16 bits, mientras que el bus externo del PC XT que utilizaba dicho procesador, es solo de 8 bits. En los sistemas actuales (2001) una velocidad típica del procesador es del orden de 400/500 MHz, mientras que el FSB suele trabajar a una fracción de aquella (típicamente 100 MHz), además la anchura del bus del procesador suele ser de dos a cuatro veces la del bus externo.

Nota: Este divorcio entre la velocidad del procesador y la que puede aceptar la placa-base (bastante inferior a la del primero), comenzó con la introducción del procesador Intel486, lo que a su vez condujo a que la caché L1 cobrara especial relevancia ( H5.2).

Además de los conductores de datos, existen otros auxiliares, de modo que en esta "autopista" tiene en realidad más carriles. En el PC original, a pesar de ser "solo" de 8 bits, existían en realidad 62 conductores (31 en la cara superior "de componentes" -A- y 31 en la inferior "de soldaduras" -B-). En el argot de los ingenieros de hardware estas líneas se

Page 23: 6721122 D057 Tecnologia Del PC

conocen con acrónimos y abreviaturas universalmente admitidas, de las que indicaremos algunas.

Esquema de contactos ISA 8 bits

Los zócalos para tarjetas de expansión del PC XT eran del modelo denominado ISA ("Industry Standard Architecture") corta o ISA de 8 bits, en el que se podían insertar tarjetas con 62 contactos (31 por cada cara). Posteriormente, en 1984, los modelos AT añadieron 36 nuevas líneas al bus, utilizando el zócalo ISA de 16 bits, que admitía tarjetas con 98 contactos (49 por cara), pero manteniendo un diseño de zócalos que los hacía eléctricamente compatibles con las tarjetas ISA cortas. De estas nuevas líneas, 8 eran de datos (el bus pasaba a ser de 16 bits), cinco nuevas líneas de control de interrupciones, y siete de dirección, puesto que el nuevo ancho de bus permitía direccionar más memoria.

Esquema de contactos (medidas en pulgadas) ISA 16 bits

Además de la compatibilidad mecánica, se había incluido un ingenioso dispositivo que

detectaba si la tarjeta insertada era larga o corta para adecuar el modo de direccionamiento al estilo adecuado. El resultado era que los equipos ISA de 16 bits podían aprovechar las antiguas tarjetas ISA, aunque con un cierto

Page 24: 6721122 D057 Tecnologia Del PC

desaprovechamiento de las capacidades de los sistemas AT, una de las cuales era precisamente la capacidad de utilizar 16 bits para direcciones y datos.

En 1988 Compaq y otros fabricantes mejoran el ISA de 16 bits, adoptando el que se denomina bus EISA (ISA Extendido), que guardaba compatibilidad hacia atrás con los buses ISA anteriores, y que ha persistido largamente.

En 1993 Intel introdujo el bus PCI ("Peripheral Component Interconnect") que proporciona 32 bits. Su versión 2.1 soporta 64 bits y velocidades más rápidas en la frecuencia de reloj del bus. En la actualidad (2001) PCI es el nuevo estándar de facto, y ha sustituido casi completamente a EISA, de forma que empiezan a verse tarjetas que no tienen ningún conector para las antiguas tarjetas EISA.

§3.1 Principios de funcionamiento

Para comprender el funcionamiento del bus, y en general del mecanismo de transmisión de la información dentro del ordenador, es preciso hacer tres observaciones previas:

a: En realidad, el bus externo puede considerarse dividido en cuatro vías para otros tantos servicios distintos:

● Bus de datos

● Bus de alimentación .

● Bus de control .

● Bus de Direcciones .

b: Señalar que el bus externo responde al modelo que en tecnología de redes se conoce como "Broadcast" o difusión amplia [5]. En este modo de transmisión, cuando se quiere

Page 25: 6721122 D057 Tecnologia Del PC

transmitir alguna información, el dato es puesto en el bus de datos , y la dirección de destino en el bus de direcciones . Ambas señales llegan a todos los dispositivos conectados al bus, pero el dato solo es aceptado por aquel cuya dirección coincide con la señalada por el bus (en realidad un dispositivo puede aceptar una sola dirección o un rango de ellas).

c: Todos los sistemas de redes (el bus es una red) tienen un sistema de "direcciones" para saber quién, de entre todos los elementos conectados, debe recibir la información (el mensaje recibido puede a su vez ser la orden de enviar una respuesta). En nuestro caso, los intercambios pueden ser entre cualquier par de dispositivos. Por ejemplo, un almacenamiento en disco y una impresora, pero los que involucran memoria RAM son especialmente importantes, ya que antes o después todos los datos pasan por allí (incluso los datos e instrucciones de los programas en ejecución están en RAM). Esto indujo a los diseñadores del PC a disponer que las transferencias de datos entre la memoria y ciertos dispositivos recibieran un tratamiento especial. Hasta el punto que dentro del bus existe un subsistema específico para controlar estas transferencias, el denominado acceso directo a memoria (DMA ). Lo de "directo" viene a cuento de que en los demás casos, la transferencia de datos entre dos dispositivos A y B requiere la intervención del procesador, mientras que las transferencias DMA lo mantienen al margen.

El resultado es que la comunicación entre la memoria y ciertos dispositivos, o entre esta y el procesador, se efectúa de forma un tanto especial. Mientras que las comunicaciones entre dispositivos, o entre dispositivo y procesador, se realizan mediante un sistema distinto, denominado puerto de E/S ( H2.1).

d: El mecanismo DMA es posible porque el PC permite que el microprocesador, que en último extremo gobierna el sistema, ceda el control del bus ("Bus mastering") a otro dispositivo que asume su control durante determinados periodos. La finalidad es suprimir la intervención del procesador cuando no es estrictamente necesario, lo que simplifica y agiliza el proceso.

Resumen

Page 26: 6721122 D057 Tecnologia Del PC

Para que pueda conocerse el destino de los datos en esta red de elementos intercomunicados que constituyen el bus, cada dispositivo tiene una dirección. Cualquiera que sea su origen, para enviar un dato a un puerto (dispositivo) o a una dirección de memoria, la UCP coloca la dirección de destino en el bus de direcciones, a continuación el remitente sitúa el dato en el bus de datos. Cuando esto sucede, el destinatario se da por aludido y lee el dato.

Es de vital importancia recordar que, para distinguir el tipo de transmisión a realizar por el bus de datos, existe una línea específica en el bus de control, que indica si la dirección colocada en el bus de direcciones se refiere a un "puerto" o a memoria.

§3.2 Bus de datos

Junto con el tipo de procesador soportado, la "anchura" del bus de datos es quizás una de las características distintivas más importantes de una placa-base, pues determina la cantidad de información que puede fluir por ella en cada ciclo de reloj.

Las 8 líneas de datos se identifican D0 a D7. Con la introducción del PC AT se añadieron 8 nuevas líneas (D8 a D15), hasta un total de 16. Al tratar de la arquitectura del procesador ( H3b1), veremos que en los primeros PC's algunas de estas líneas eran de doble uso.

Nota: Aparentemente la decisión inicial de adoptar un bus de datos de 8 bits a pesar que el procesador 8088 utilizado era de 16 bits, se debió exclusivamente a razones económicas. En la época, la circuitería auxiliar de 8 bits era más abundante y económica que la de 16 bits.

§3.3 Bus de alimentación

En los primeros PCs, la fuente de alimentación alimenta a la placa-base a través de dos conectores Molex® de 6 contactos cada uno. En estos cables están las tensiones de alimentación (+12V.; -12V.; +5V. y -5V.); conexiones a masa, y la señal de Power Good, que

Page 27: 6721122 D057 Tecnologia Del PC

está relacionada con la señal de "reset" . A partir de este punto, el bus cuenta con una serie de líneas que trasladan estas tensiones a los dispositivos instalados en la propia placa-base y al resto de tarjetas instaladas en los zócalos.

El bus de alimentación cuenta con líneas para las tensiones +5, -5, +12 y -12 V (la de +5 V está duplicada). Además existen tres líneas conectadas a masa GND (para que todos los elementos tengan una referencia de potencial común).

Nota: En el IBM PC, la fuente proporcionaba 65 W. Las fuentes actuales suministran de 200 a 250 W de potencia para los sistemas de sobremesa. Además los conectores se han modificado (actualmente los cables que van a la placa-base utilizan un solo conector de 20 pines Conector ATX) y se han añadido nuevas señales, de forma que la fuente puede desconectarse mediante una señal enviada desde la placa base. Esta señal puede ser enviada por el Sistema -desconexión software- o por el usuario desde el teclado.

§3.4 Bus de control

Además de los datos y la energía, el bus transporta una serie de señales de control, por lo que a estas líneas se las denomina bus de control o del sistema. Las principales son las siguientes:

● 0WS ("Zero Wait State"). Es utilizado por los dispositivos rápidos conectados al bus para prevenir al procesador que no inserte estados adicionales de espera.

● AEN ("Address Enabled") Se utiliza para indicar si es la UCP o el controlador DMA, el que tiene control sobre las líneas de datos y de direcciones en ese momento. Cuando está alta, el controlador DMA controla el bus de datos y el de direcciones, además de las líneas MEMR, MEMW, IOR e IOW,

● ALE ("Address Latch Enabled") Cuando está alta, señala que la UCP ha colocado una dirección válida en el bus de direcciones.

● CLK. Señal del reloj que conecta directamente con una patilla del procesador (

Page 28: 6721122 D057 Tecnologia Del PC

H3b1). En el XT es de 4.77 MHz, un tercio de la señal del oscilador (OSC). En el AT esta frecuencia se elevó a 7 MHz, la mitad de la señal del oscilador.

● OSC. Señal del oscilador ; basada en la frecuencia de un cristal instalado en la placa-base. En el XT es de 14.31818 MHz.

● I/O CH CHK ("Channel Check"). Es una señal de detección de errores. Cuando está baja, algún dispositivo del bus ha detectado un error de paridad.

● I/O CH RDY ("Channel Ready"). Sirve para avisar al procesador o al MDAC que un dispositivo lento necesita tiempo extra para estar preparado. Cuando algún dispositivo necesita tiempo extra, baja esta señal, aunque nunca durante un periodo de más de 10 ciclos CLK.

● IRQ ("Interrupt request"). En el PC XT existen 6 líneas identificadas IRQ2 a IRQ7, que juegan un papel fundamental en el funcionamiento del ordenador, ya que la tecnología de los ordenadores modernos se basa en un sistema de interrupciones al que nos referiremos más adelante ( H2.4). Estas 6 líneas fueron aumentadas posteriormente en el PC AT, añadiéndose 8, aunque no todas fueron destinadas al servicio de periféricos, por lo que en el nuevo BUS solo aparecen IRQ10, IRQ11, IRQ12, IRQ14 e IRQ15. Adelantamos aquí que una interrupción es una señal que se origina en un dispositivo (un periférico) para indicar al procesador que algo requiere su atención inmediata (de ahí su nombre, literalmente "Petición de interrupción"). Se solicita al procesador que suspenda lo que está haciendo para atender la petición.

● IOR ("I/O Read") Orden de lectura. Esta línea indica a un dispositivo E/S conectado al bus que debe colocar un dato en el bus de datos.

● IOW ("I/O Write") Orden de escritura. Esta línea indica a un dispositivo E/S que debe leer el dato situado en el bus de datos.

● RESET. Una señal en esta línea ( H4), que conecta con una patilla especial del procesador, origina el reinicio del sistema. Cuando esta línea es puesta a masa (desaparece su tensión) y después vuelve a su valor normal, se origina un reinicio del procesador.

Page 29: 6721122 D057 Tecnologia Del PC

● SBHE ("System Bus High Enable"). Cuando está activado indica que se está realizando una transferencia de datos.

● DRQ ("DMA Request"). Similares en concepto a las líneas IRQ, pero utilizadas para solicitar acceso directo a memoria. Existen tres de ellas, señaladas DRQ1 a DRQ3.

● DACK ("DMA Acknowledge"). Se utilizan para acusar recibo de la petición DRQ correspondiente. Existen cuatro, señaladas DACK0 a DACK3, aunque el mecanismo DMA solo utiliza las tres últimas, DACK0 es utilizada en el XT para señalar un ciclo de refresco de memoria.

● MEMR ("Memory Read") Cuando se activa, esta señal indica a la memoria conectada al bus que escriba los datos en el bus de datos.

● MEMW ("Memory Write") Cuando se activa, indica a la memoria que almacene los datos situados en el bus de datos.

● T/C ("Terminal Count"). Sirve para señalar que el controlador DMA ha alcanzado el final de una transferencia ( 2.3).

El sistema de acceso directo a memoria DMA ("Direct Memory Access") es muy importante. Como puede verse, algunas líneas del bus están destinadas a este servicio, que será tratado más adelante con mayor detalle ( 2.3).

§3.5 Bus de direcciones

El bus del PC XT contiene 20 líneas identificadas SA0 a SA19; que en el AT se aumentaron a 27, añadiendo las denominaciones LA17 a LA23. Estas líneas contienen las direcciones que identifican la parte del ordenador que comunica. Las direcciones son de dos tipos; unas se refieren a direcciones de memoria; otras a direcciones de puertos de E/S, pero en cualquier caso son de 20 bits para el PC XT y de 27 para los ATs.

Con los datos anteriores, resulta evidente ( 0.4) que el PC XT podía manejar 1.048.576 direcciones (220), mientras que en el AT esta cantidad asciende a algo más de 134 millones

Page 30: 6721122 D057 Tecnologia Del PC

(227). Sin embargo, recordemos que tanto los procesadores 8088 presentes en el XT, como los 80287 del AT, tenían registros de 16 bits ( H3b) que solo podían albergar 65.536 posiciones (216), muy alejado de los valores anteriores. Para resolver el problema, se utilizan las direcciones segmentadas ( H5.1), compuestas por dos palabras de 16 bits que se componen para formar una dirección de 20 bits.

Nota: durante las operaciones E/S de puertos, las direcciones SA16-SA19 del 8088 permanecen iguales a cero ( H3.2.1), por lo que solo pueden utilizarse 16 bits para direcciones de puertos.

§4 Procesador

A estas alturas del siglo XXI no creo que exista nadie que necesite explicación general sobre su función e importancia. El procesador es realmente el "Cerebro" del Sistema (cuando empezaron a verse los primeros ordenadores, la gente los llamaba "cerebros electrónicos").

En el siguiente epígrafe ( H3) exponemos un resumen de sus partes principales desde el punto de vista que interesan al informático. Aquí señalaremos solamente que, en los PCs actuales, es el chip más grande que puede encontrarse en la placa-base, denominado genéricamente "Procesador", contiene en una sola unidad lo que anteriormente se denominaba Unidad Central de Proceso UCP (CPU en la literatura inglesa); el coprocesador matemático MCP ("Math coprocessor") y una cierta cantidad de memoria auxiliar (caché) de acceso rápido.

§5 Chips auxiliares

Nota: Las alusiones en el texto a los chips utilizados se refieren a los PCs originales IBM PC; XT y AT. Aunque actualmente han sido suplantados por un par de circuitos (ver figura 1 ), sin embargo, la funcionalidad permanece.

Page 31: 6721122 D057 Tecnologia Del PC

El juego de chips auxiliares ("Chipset") es un conjunto de circuitos integrados que realizan misiones específicas de apoyo. Por ejemplo organizar el tráfico en esa autopista que es el bus externo. Generalmente están soldados de forma permanente y forman un conjunto armónico con el procesador y con las características de la placa (las placas modernas vienen bastante "desnudas", sin procesador, ni memoria, ni dispositivos periféricos, de forma que resultan altamente configurables, pero siempre incluyen este conjunto de integrados de apoyo). Los más significativos son los siguientes:

● Elementos de temporización .

● Controlador del bus externo

● Controladores de acceso directo a memoria DMAC

● Controlador programable de interrupciones PIC

● Controladores de periféricos

§5.1 Elementos de temporización

Los ordenadores son máquinas síncronas, lo que significa que todas sus partes funcionan de forma acompasada. Es frecuente poner el ejemplo de los remeros en las películas de galeras, donde cada remero no va por su cuenta, todos siguen el ritmo del gordo del tambor. En el PC ocurre otro tanto, aquí el ritmo no lo marca un tambor, sino un metrónomo (reloj) que genera una señal (señal de reloj), que marca el ritmo de la "música" que es capaz de ejecutar el sistema. Esta señal está presente en el bus de control , la línea CLK.

El corazón del reloj es un oscilador controlado por un cristal de cuarzo que actúa de patrón (es un elemento fácilmente identificable con aspecto de almohadilla plateada). En los PC originales la frecuencia del cristal es de 14.31818 MHz. Esta señal está también presente en el bus de control, línea OSC, y la denominaremos frecuencia del oscilador. En los primitivos PCs la señal del reloj era de 4.772720 MHz. Es decir, un tercio de la frecuencia del oscilador [3]. A su vez, la señal del reloj es dividida por 262144 (218) para proporcionar una interrupción (tic) a una cadencia aproximada de 18.2 veces por segundo.

Page 32: 6721122 D057 Tecnologia Del PC

La señal CLK es importantísima, ya que sin ella sería imposible un funcionamiento armónico de los distintos elementos (incluyendo el procesador, una de cuyas patillas conecta directamente con ella). Todos los sucesos internos tienen lugar al compás de este tic-tac electrónico [6].

Nota: Hemos señalado , que a partir de la introducción del 80486 algunos elementos del ordenador no pueden funcionar al ritmo endiablado del reloj, que resulta demasiado rápido para el resto de chips instalados en la placa, por lo que en esta se utilizan frecuencias inferiores. Esto se consigue utilizando solo uno de cada tres, cuatro o cinco pulsos de CLK. En este sentido es particularmente significativa la denominada velocidad del bus externo. Que es la que se utiliza en dicho bus. Por ejemplo, un procesador que esté trabajando a 200 MHz, puede que esté utilizando una frecuencia de 66 MHz en sus comunicaciones con el bus externo. Exactamente la misma que un procesador de "solo" 66 MHz de reloj que utilice también 66 MHz para el bus externo. La situación actual es que las velocidades típicas de las placas-base son de 60- 66- 100- 133 MHz mientras que los procesadores funcionan a frecuencias múltiplos de aquellas; típicamente de 1x hasta 10x, es decir, desde 60 a 1330 MHz (lo que se denomina velocidad del núcleo).

§5.1.1 Chip del reloj

En el PC original, el oscilador antes mencionado está montado en un chip 8284A (88284 en el AT), que se conoce como generador de reloj (no confundir con el reloj programable

). La fecha y hora, que había que introducir en la puesta en marcha del sistema, se perdía cada vez que se apagaba el equipo. Durante el funcionamiento, el sistema de fecha y hora era mantenido por una interrupción de alta prioridad ( H2.4) que ocurría unas 18 veces cada segundo.

A partir de la introducción del PC AT, se instaló en la placa base el denominado chip del reloj, abreviadamente RTC ("Real Time Clock"). Es un auténtico reloj que suministra la

Page 33: 6721122 D057 Tecnologia Del PC

fecha y hora al sistema. Como este reloj debía continuar su funcionamiento incluso estando el equipo desconectado, se le dotó de una pequeña pila o batería.

Aprovechando que este circuito disponía de su propia fuente de energía, se utilizó para añadirle cierta cantidad de memoria CMOS ("Complementary Metal-Oxide Semiconductor") de bajo consumo, la denominada ROM del sistema, que se utiliza para guardar información relativa a la configuración del equipo. Estos datos son accesibles pulsando una combinación de teclas en los momentos iniciales de arranque, lo que inicia un programa de configuración grabado en la BIOS conocido generalmente como Set-up.

Fig. 2

Nota: La batería de backup de la placa base, es un elemento fácilmente identificable; tiene forma de pila de botón reemplazable, o de elementos soldados recubiertos de una funda plástica. Este último es el caso mostrado en la fig. 2. La batería es el elemento azul; por encima está el conector del teclado y sobre éste, junto al letrero BATTERY, se distinguen tres de los 4 pines del conector para la batería auxiliar [7]. Esta batería se agota con el tiempo, especialmente si el equipo permanece mucho tiempo apagado, en cuyo caso se pierde la fecha y (lo que es más importante) los datos de configuración establecidos con el programa de Set-up. Aunque la mayoría de equipos funcionan bien con la configuración por defecto, en caso de sustituir la batería es posible que sea necesario reconfigurar el Set-up.

Tradicionalmente este circuito CMOS/RTC era un Motorola MC146818. En los modelos iniciales esta memoria era de 128 bytes. Actualmente es de 256 KB, y junto con algunos otros elementos están incluidos en un chipset de solo dos circuitos integrados. A su vez el programa de configuración es cada vez más sofisticado, de forma que simplifica la configuración del sistema. Por ejemplo, dispone de un sistema de protección ("Password") de acceso y de autodetección del tipo de disco instalado; algo que en los modelos antiguos debía hacerse manualmente.

Page 34: 6721122 D057 Tecnologia Del PC

§5.1.2 Temporizador programable

Junto con el anterior se encuentra un circuito que recibe varios nombres: PIT ("Programmable Interval Timer") temporizador programable, reloj programable, temporizador ("timer"), Etc. Constituido por un chip 8253 (8254 en el AT y máquinas con bus EISA/MCA) que dispone de tres temporizadores programables independientes numerados del 0 al 2.

En realidad son divisores de frecuencia que obtienen la señal del generador de reloj. Tienen cuatro modos de funcionamiento programables que pueden generar diversas señales:

● Pulsos de anchura variable.

● Generar una interrupción al final de la cuenta de una serie de pulsos de reloj, para lo que dispone de tres contadores independientes de 16 bits.

● Ondas cuadradas que sean una fracción de la frecuencia de entrada (reloj). Por ejemplo, podemos conseguir que generen una señal por cada 1000 señales de la frecuencia del reloj RTC, con lo que en un PC XT obtendríamos una frecuencia de 4.77 KHz.

● Medir el intervalo entre sucesos.

Estas capacidades se utilizan para cuestiones tales como producir señales de sincronización para refresco de la RAM, o tonos audibles de diversas frecuencias en el altavoz del PC. La distribución de tareas es como sigue:

● Canal 0: Produce una interrupción cada 54.94 ms en IRQ0, que activa la rutina de actualización del reloj de tiempo real RTC .

● Canal 1: Produce una interrupción cada 15.12 microsegundos que marca el comienzo del ciclo de refresco de las memorias RAM dinámicas ( 5.3.2).

● Canal 2: Este canal se destina a generar tonos para el altavoz del sistema.

Page 35: 6721122 D057 Tecnologia Del PC

§5.2 Controlador del bus

Es una especie de controlador de tráfico. En el PC XT es el chip 8288 y en el AT es el 82288. El procesador necesita del concurso de este chip para generar el juego completo de señales del bus de control.

§5.3 Controlador DMA

DMA es el acrónimo de "Direct Memory Access"; se trata de un mecanismo incluido en la arquitectura del PC, que permite intercambios de datos entre la memoria y ciertos dispositivos sin intervención del procesador (por esta razón se denomina precisamente acceso directo a memoria). Está controlado por un chip específico, el DMAC ("DMA Controller"). En los XT estaba integrado en un chip 8237A que proporcionaba 4 canales. Posteriormente en los AT se instalaron dos, ampliándose a 8 el número de canales. En el epígrafe dedicado al Acceso directo a memoria ( H2.3), se expone con más detalle su funcionamiento.

§5.4 Controlador de interrupciones

Las interrupciones del PC, a las que nos referimos más detenidamente en el epígrafe correspondiente ( H2.4), son manejadas por un chip conocido como PIC ("Programmable Interrupt Controller").

Originariamente era un 8259A, que puede manejar 8 peticiones de interrupción, pero pronto se hizo evidente que eran un número excesivamente corto, por lo que en 1984, IBM añadió un segundo controlador en el modelo AT. Este diseño, con dos controladores, ha permanecido invariable hasta nuestros días en lo que se refiere a su funcionalidad. Recientemente ha sido sustituido por el denominado APIC ("Advanced Programmable Interrupt Controller") en las máquinas Pentium y sucesoras, que está basado en un chip 82489DX.

Page 36: 6721122 D057 Tecnologia Del PC

§5.5 Controladores de periféricos

En la placa-base existen diversos chips destinados específicamente al control de periféricos serie y paralelo. A continuación reseñaremos brevemente algunos de los más conocidos.

El PPI ("Programmable peripheral interface"), también conocido como PIO ("Programmable Input/Output") era originariamente un 8255. Se trata de un chip de 24 patillas que pueden ser programadas individualmente en dos grupos de 12, de las cuales 8 son de datos y 4 bits auxiliares incluyen señales de control (STROBE; ACKNOWLEDGE; BUFFER FULL, Etc.) Este chip tiene gran variedad de aplicaciones, entre ellas almacenar información sobre el estado de configuración de la placa-base y controlar otros chips, como el temporizador programable y la interfaz del teclado, pero su uso característico es como interfase paralelo bidireccional para periféricos que utilizan este tipo de comunicación (por ejemplo impresoras, escáneres, Etc.) El altavoz del sistema está conectado a dos patillas de este integrado.

Desde el punto de vista lógico este dispositivo responde a las direcciones 060h-063h, que son sus números de puerto y dispone de tres registros de 1 byte conocidos como A, B y C, cuyas direcciones respectivas son 060h, 061h y 062h. La dirección 063h se utiliza para configurar el dispositivo.

Nota: Como hemos señalado anteriormente, a partir del AT, el estado de configuración de la placa-base se almacena en un integrado alimentado con batería que contiene también el reloj de tiempo real. En realidad el AT no tiene un 8255 como tal, pero emula su comportamiento. En este caso el controlador es un 8742 responde a las direcciones 060h-064h, y realiza otras funciones no directamente relacionadas con el teclado, como resetear la UCP, controlar la puerta A20 y manejar el ratón [9].

El 8250 ACE ("Asynchronous communication equipment"), es una interfaz entre el bus paralelo del sistema y los periféricos que utilizan comunicación serie, como módems y ratones. Puede generar las señales de control de la popular interfaz RS-232 [8]; dispone de un generador de velocidad de transmisión que permite generar cualquiera de las más frecuentes. Puede funcionar bajo control de programa o mediante interrupciones ( H2a) y dispone de una cierta capacidad de comprobación y corrección de los errores típicos de las

Page 37: 6721122 D057 Tecnologia Del PC

comunicaciones serie.

El PD765, que controlaba el disquete en los XT, más conocido como FDC ("Floppy Disc Controller"). Fue sustituido por el 82072A en el AT y por el 82077A en el PS/2.

§6 Memoria

El término "memoria" se refiere desde luego a cualquier dispositivo capaz de almacenar datos, pero aplicado a un ordenador actual es demasiado ambiguo, ya que existen varias clases. En principio, pueden clasificarse en dos grandes grupos: Internas y externas (también denominadas primarias y secundarias).

§6.1 Las memorias internas están situadas en el procesador, la placa base, o en tarjetas insertas en zócalos de esta. En el capítulo correspondiente ( H5), comentamos algunos de aspectos funcionales que son de especial interés para el programador.

§6.2 La memoria externa está situada en dispositivos que se consideran "Externos" o "Periféricos" al ordenador, tales como disquetes, discos duros, cintas, CDs, DVDs, etc. Algunas de ellas son intercambiables, de forma que la capacidad de almacenamiento puede ser virtualmente ilimitada, aunque con el costo de tener que insertar manualmente la cinta, CD o DVD en la unidad correspondiente.

Los SOs utilizan la memoria externa para almacenar ficheros con información, pero los sistemas modernos, tipo Windows o Linux también utilizan la memoria externa en sustitución de la interna; un artificio conocido como memoria virtual ( H5.1). La memoria virtual utiliza un fichero de intercambio ("Swap file") en memoria externa, que almacena la información que no cabe en RAM.

Nota: Actualmente ha surgido una nueva forma de memoria externa, que seguramente es el sistema del futuro. Nos referimos a Internet como fuente inagotable de almacenamiento de información. Ya han surgido incluso PSIs [2] que ofrecen almacenamiento "ilimitado" a sus usuarios.

Page 38: 6721122 D057 Tecnologia Del PC

El estudio de las memorias externas, aunque muy interesante (apasionante, diría desde el punto de vista tecnológico) y de uso constante, en especial los discos duros, se sale totalmente de los márgenes que hemos impuesto a esta obra.

§7 BIOS

Básicamente es una memoria en la que se guardan datos fundamentales para el funcionamiento de la placa-base y sus periféricos principales. El funcionamiento de los IBM PCs y compatibles se basa en su existencia, y su importancia justifica que se le asigne un chip especialmente dedicado a contenerla.

En los equipos modernos, el chip de la BIOS es fácilmente identificable por una pegatina plateada con un holograma, en la que junto a la palabra BIOS, aparece el nombre del fabricante. Probablemente alguno de los siguientes: AMI; Phoenix; Award; AST; Compaq; Microid; Mylex; IBM; Quadtel; ACER, o ALR (los más conocidos). En atención a su importancia, le hemos dedicado un capítulo ( H3).

§8 Conectores auxiliares

La placa-base dispone generalmente de una serie de conectores para enchufar determinados dispositivos. Entre los más frecuentes están: Conector para la fuente de alimentación ( Conector); Conector DB25 de puerto paralelo; conector DB9 para puerto serie; conector USB; conectores mini-DIN para ratón y teclado, etc. Algunos de ellos se muestran en la figura ( Figura-1).

Inicio.

[1] Utilizamos el vocablo original inglés "Bus" porque ha tomado carta de naturaleza en nuestro idioma. Seguramente si usted dice el "autobús" del PC nadie sabrá a que se refiere.

Page 39: 6721122 D057 Tecnologia Del PC

[2] PSI: Proveedor de Servicios de Internet (ISP "Internet Service Provider").

[3] Posteriormente esta frecuencia fue elevada al 50%, es decir, 7.15 MHz en los ATs. Aunque desde luego hoy nos parecen ridículas, muchos de los primeros usuarios sobrecargaban sus sistemas cambiando los cuarzos ("overclocking") a fin de conseguir algo más de velocidad, ya que los valores adoptados por IBM eran muy conservadores, y los equipos funcionaban sin dificultad a frecuencias algo más elevadas.

[4] A veces el bus externo es llamado impropiamente bus de datos ("Data bus"), cuando este es en realidad solo una parte del bus externo .

[5] El caso opuesto, cuando la información se transmite solo al dispositivo receptor se denomina "Multicast". Esta modalidad requiere que la red tenga cierta capacidad de direccionamiento o conmutación, de forma que pueda establecerse una vía exclusiva entre el transmisor y el receptor.

[6] Para que esta sincronía sea posible, se dispone incluso de un mecanismo que obliga al procesador a permanecer inactivo un número determinado de ciclos (de espera) cuando un periférico no está preparado para seguirlo ( H3.2.1)

[7] En estos casos, la placa base tiene unos pequeños pines metálicos (generalmente 4 en línea) en los que puede abrocharse un pequeño conector para instalar una batería auxiliar externa que puede conseguirse en el comercio especializado; la única precaución es respetar la polaridad. El cable rojo que acompaña a la batería es el positivo; debe corresponder con el pin positivo que está claramente señalado con "+" o "1" en la placa-base.

[8] Durante muchos años esta ha sido la interfaz estándar para comunicaciones serie de la EIA ("Electronic Industries Association").

[9] Esta es la razón por la que, en los modelos PS/2, el conector mini-DIN pueda conectarse a un teclado o al ratón. Por su parte, la puerta ("Gate") A20 maneja el acceso a memoria en modo protegido, siendo por tanto es responsable de la memoria extendida ( 5.1). Esta es

Page 40: 6721122 D057 Tecnologia Del PC

también la razón por la que algunos test de diagnóstico de la placa base reporten errores de memoria por encima de 1 MByte cuando en realidad pueden deberse al 8742.

Inicio

|Índice| Copyright © 2000-2006 Zator Systems. NO software patents

Page 41: 6721122 D057 Tecnologia Del PC

Tecnología del PC[Home] [Inicio] [Índice]

En esta sección:1 Aspectos tecnológicos2 Arquitectura del procesador2.1 Conexiones exteriores

Subir

3 El procesador

§1 Presentación

En realidad "procesador" es un término relativamente moderno. Se refiere a lo que en los grandes ordenadores de antaño se conocía como Unidad Central de Proceso UCP (CPU "Central Processin Unit" en la literatura inglesa). Comenzó siendo del tamaño de un armario, posteriormente se redujo al de una gran caja, después se construyó en una placa de unas 15 x 15 pulgadas. Finalmente se construyó en un solo circuito integrado encapsulado en un "chip" que se inserta en un zócalo de la placa-base [0].

En los primeros tiempos de la informática personal, que podemos suponer se inicia con la introducción del PC ("Personal Computer") por IBM a mediados de 1981 [1], el mercado de microprocesadores para el PC estaba copado por Intel, que arrancando con el 8088 [2], un modesto procesador de 16 bits a 4.77 MHz de velocidad de reloj ( H2), fue sufriendo sucesivas mejoras; principalmente en lo que respecta a la velocidad (que en el 2001 ha alcanzado más de 1 GHz. para equipos comerciales); capacidad de procesamiento en paralelo; capacidad de los registros; cache interna y facilidades hardware para multiprogramación.

Page 42: 6721122 D057 Tecnologia Del PC

En la imágen adjunta sendas vistas, superior e inferior, de un procesador Intel 80386 de 16 MHz junto con el primitivo 8088.

Nota: En la actualidad existen procesadores fabricados por otras compañías (IBM, AMD, Cyrix, Etc.) que son compatibles a nivel ensamblador con el juego de instrucciones Intel, lo que permite que no todos los PCs sean necesariamente "Intel inside".

§2 Galería de procesadores "Ilustres"

El cuadro adjunto (referido exclusivamente a los productos Intel), comprende un resumen de urgencia de la historia de los procesadores utilizados en la informática personal.

Modelo año Registros internos

(bits)

bus de

datos (bits)

(1)

Bus de

direcc. (bits)

Memoria (4)

Frecuencia externa (2)

Frecuencia interna

máxima (3)

Modo

8088 1979 16 8 20 1 MB. 4.77 MHz 14 MHz. Real80286 1982 16 16 24 16 MB. 12.5 MHz. Real/Prot80386 1985 32 32 32 4 GB. 20 MHz. Protegido80486 1989 32 32 32 4 GB. 25 MHz. ProtegidoPentium 1993 32 64 4 GB. 60 MHz. ProtegidoPentium-pro

1995 32 64 64 GB. 66 MHz 200 MHz Protegido

Pentium II

1997 32 64 64 GB. 66/100 MHz 266 MHz Protegido

Pentium III

1999 32/128 64 64 GB. 550 MHz Protegido

Pentium 4

2001 32/128 64 64 GB. 400 MHz. 2 GHz Protegido

Page 43: 6721122 D057 Tecnologia Del PC

Pentium M

2003

? ?

Nota: Por razones eminentemente comerciales, casi todos los modelos aparecieron en diversas versiones, que se diferenciaban en la frecuencia interna, tamaño de la caché, etc.

(1) Se refiere al bus "externo", que utiliza el procesador para comunicar con el exterior. Internamente el procesador dispone de buses que son de 2 a 4 veces esta anchura.(2) Los valores indicados para las frecuencias externas son típicos de los modelos de la época (por tanto aproximados)(3) Los valores de frecuencia interna máxima son los correspondientes al momento de la aparición del modelo.(4) Se refiere a la máxima memoria accesible directamente.

Es significativo señalar que todos son compatibles hacia atrás con sus predecesores, de forma que pueden ejecutar el código objeto escrito para el 8086, el primer ejemplar de esta prolífica saga aparecido en 1978 (no incluido en el cuadro).

En la tabla adjunta se muestran las características principales de los procesadores más utilizados en el 2004.

Modelo Transistores Velocidad del núcleo Caché L2 Velocidad bus frontal

Celeron 7,500,000 1.06 GHz - 2 GHz 256 KB 133 MHz y 400 MHz

Pentium II 7,500,000 233 MHz - 450 MHz 512 KB 100 MHz

Pentium III 9,500,000 450 MHz - 1 GHz 256 KB 133 MHz

Pentium III Xeon 28,100,000 500 MHz - 1 GHz 256 KB - 2 MB

100 MHz

Pentium 4 55,000,000 1.4 GHz - 3.4 GHz 256 KB 800 MHz

K6-II 9,300,000 500 MHz - 550 MHz N/A 100 MHz

Page 44: 6721122 D057 Tecnologia Del PC

K6-III 21,300,000 400 MHz - 450 MHz 256 KB 100 MHz

Athlon (K7) 22,000,000 850 MHz - 1.2 GHz 256 KB 200 MHz y 266 MHz

Athlon XP 37,500,000 1.67 GHz 384 KB 266 MHz

Duron N/A 700-800 MHz 64 KB 200 MHz

PowerPC G3 6,500,000 233 MHz - 333 MHz 512 KB, 1 MB 100 MHz

PowerPC G4 10,500,000 400 MHz - 800 MHz 1 MB 100 MHz

Athlon 64 105,900,000 800 MHz 1 MB 1.6 GHz

§3 Evolución

En esta mini-historia, podemos destacar varios hitos importantes:

§3.1 Soporte para memoria virtual

La introducción en 1982 del procesador Intel 80286 marcó un hito importante por varios motivos: Por primera vez el procesador podía acceder más rápidamente a sus propios registros que a la RAM más rápida existente; desde entonces esta ventaja no ha hecho sino aumentar en favor del procesador.

Desde el punto de vista del software, el verdadero avance fue la implementación en el micro de un dispositivo que permitía el manejo de memoria virtual ( H5a). Hasta entonces, el manejo de este tipo de memoria había que realizarlo a nivel del Sistema Operativo, pero el 286 permitía ya manejarlo de forma nativa mediante el procesador [3], con las consiguientes mejoras del rendimiento y la seguridad.

§3.2 Introducción del coprocesador matemáticointegrado

Los procesadores del tipo 8086 solo podían realizar operaciones aritméticas con números enteros. Para los fraccionarios debían utilizar complicados artificios, por lo que desde el principio se crearon procesadores específicos para operaciones aritméticas con números fraccionarios.

Page 45: 6721122 D057 Tecnologia Del PC

Conocidos como coprocesadores de punto flotante o coprocesadores matemáticos, eran una opción instalable en un zócalo vacío preparado al efecto en la placa-base, enlazado mediante líneas especiales con el procesador principal. Estos procesadores aligeraban grandemente los cálculos en las aplicaciones que eran capaces de sacar partido de su existencia, y no solo realizaban operaciones de números fraccionarios (de coma flotante 2.2.4a), también operaciones como raíz cuadrada, e implementanban funciones trascendentes como cálculo del seno, coseno, tangente, arcotangente, logaritmos y exponenciación.

A partir de la introducción del 80486, Intel incorporó el coprocesador matemático junto con el principal, con lo que su existencia dejó de ser opcional, convirtiéndose en estándar.

§3.3 Capacidad de procesar varias instrucciones en paralelo

La ejecución de cada instrucción ensamblador no se realiza en un solo ciclo de reloj. Cada instrucción puede contener varias microinstrucciones, de forma que en general el rendimiento del procesador no equivale a una instrucción en cada ciclo. Una forma de aumentar la eficiencia es procesar varias instrucciones en paralelo, de forma que, en la medida de lo posible, varias instrucciones se encuentran en diversas fases de ejecución simultanea de su microcódigo. Utilizando un número conveniente de estas vías de ejecución paralela se consiguen rendimientos que actualmente han excedido la relación 1:1, de forma que la arquitectura súper escalar [4] del Pentium Pro proporciona rendimientos del orden de tres instrucciones por ciclo de reloj.

El primero en implementar esta arquitectura en el PC fue el 80386 de Intel, que incluye seis de estas vías de ejecución:

1. La unidad de interfaz del bus ("Bus Interface Unit") accede a memoria y a otros dispositivos de E/S.

2. La unidad de precarga de instrucciones ("Code Prefetch Unit") recibe objetos desde la unidad de bus y la sitúa en una cola de 16 bytes.

3. La unidad de decodificación de instrucciones ("Instruction Decode Unit") decodifica el código objeto recibido en la unidad de precarga y lo traduce a microcódigo.

4. La unidad de ejecución ("Execution Unit") ejecuta las instrucciones del microcódigo.

5. La unidad de segmento ("Segment Unit") traduce direcciones lógicas en direcciones

Page 46: 6721122 D057 Tecnologia Del PC

absolutas, y realiza comprobaciones de protección.

6. La unidad de paginación ("Paging Unit") traduce las direcciones absolutas en direcciones físicas; realiza comprobaciones de protección de página, y dispone de una cache con información de las 32 últimas páginas accedidas.

§3.4 Introducción de soporte para sistemas multiporcesador

Esta capacidad, originaria del mundo de los mainframe, se introdujo en el procesador Intel 80486, permitiendo así el desarrollo de auténticos sistemas multiproceso en la informática personal. Este procesador también incluyó por primera vez dispositivos de ahorro de energía, incluyendo que el procesador redujese su velocidad, o incluso suspendiese la ejecución manteniendo su estatus, de forma que pudiera ser reiniciado en el mismo punto de la "hibernación".

§3.5 Movilidad y conectividad

En el primer trimestra del 2003 Intel materializa bajo una sola denominación las tendencias más significativas del momento en el mundo de la computación: movilidad y conectividad (la palabra de moda es "Wireless"). A este efecto anuncia Centrino; más que un procesador es un compendio de tecnología móvil con el que el gigante del hardware se posiciona en el cada vez más importante segmento de los dispositivos móviles [5]. Bajo estas siglas se integran un procesador Pentium M, la familia de chipset Intel 855 y las funciones de red inalámbrica del dispositivo Intel Pro/Wireless 2100 Network Connection para el estándar 802.11.

§3.6 Multinúcleo

A lo largo de 2005 se comienzan a popularizar los procesadores de doble núcleo en los ordenadores personales. Parece que, una vez agotadas las posibilidades de procesamiento de instrucciones en paralelo en un solo procesador ("multi-threading"), los pasos se orientan hacia los procesadores de doble núcleo, en realidad dos procesadores en un mismo chip, cada uno con su propia cache, con lo que el multiproceso cobra un significado real en las máquinas que los montan ("Hyper-threading""). Los equipos personales, incluso portátiles tienen ahora capacidades de proceso que hasta hace poco estaban restringidas a servidores de gama alta con dos procesadores. Por ejemplo, máquinas Intel con dos procesadores Xeon.

Page 47: 6721122 D057 Tecnologia Del PC

Nota: no confundir una máquina con dos o más procesadores independientes (multiprocesador) con un procesador de doble núcleo. En general, una máquina con dos procesadores es más rápida que una de doble núcleo, pero en ambos casos, para sacar provecho de sus posibilidades, es necesario que el Sistema Operativo sea capaz de reconocer el "hyperi-threading", y que el software de aplicación también sea capaz de usar procesos multi-hebra SMT ("Simultaneous Multi-threading Technology"). En caso contrario, será detectado y utilizado un solo núcleo [6].

En este año los equipos personales de gama alta montan procesadores de doble nucleo. Por ejemplo, Intel Pentium D, con discos SATA; grabador DVD+/-RW doble capa, y distintas configuraciones de tarjetas gráficas de altas prestaciones.

En Noviembre de 2006 Intel presenta en Ginebra, Suiza, su primer procesador con cuatro núcleos (“quad-core”) en un mismo chip. La prensa especializada destaca que su capacidad multiplica por miles de millones la del primero que salió al mercado en 1971. El nuevo procesador contiene 2.000 Millones de transistores frente a 2.300 del primero y su frecuencia de reloj es de 2.66 GHerzios, frente a los 740 KHerzios del anterior. Además presentan la ventaja de consumir un 50% menos que la serie precedente. Los portavoces de Intel recuerdan que si la industria del automóvil se hubiese desarrollado tan rápido como la electrónica digital, a la fecha (2006) un automóvil podría atravesar Estados Unidos de costa a costa en menos de 10 segundos. Además señalan que, en vista del éxito alcanzado por los de doble núcleo, sus planes incluyen estar fabricando procesadores de 80 núcleos en un plazo de 5 años.

Inicio.

[0] Parece ser que los primeros en integrar todos los elementos de una UCP en un solo chip fueron los ingenieros de Texas Instruments, que en Junio de 1971 anunció la primera "CPU on a chip". Se trataba de un desarrollo hecho por encargo de una empresa denominada Computer Terminal Corporation (que luego sería Datapoint). El primer microprocesador comercial, el 4004, una UCP de 4 bits fue desarrollado por Intel en 1970; inicialmente fue también un desarrollo por encargo para una compañía Japonesa de calculadoras (Busicom), aunque más tarde, en Noviembre de 1971, fue comercializado como MCS-4 ("Microcomputer System 4-bit").

[1] En realidad el asunto había empezado un poco antes, aunque en círculos restringidos, cuando a mediados de los 70 algunos fanáticos de la electrónica comenzaron a hacer desarrollos caseros sobre

Page 48: 6721122 D057 Tecnologia Del PC

un kit del tipo "Hágalo Usted mismo" fabricado por una empresa llamada Micro Instrumentation Telemetry Systems, que utilizando un microprocesador Intel 8080 comercializó el ahora legendario Altair. Rápidamente siguieron los Tandy de Charles Tandy, y los Apple de Wozniak y Jobs, que sin darse cuenta escribieron páginas imborrables de la historia de la tecnología.

[2] El procesador Intel 8088, elegido por IBM para su primer modelo de PC era una versión "simplificada" de un procesador más potente, el 8086, que tenía registros y bus de datos de 16 bits. Sin embargo, por razones de simplificación y economía se eligió el 8088 con registros de 16 bits, pero bus de datos de 8 (coincidente con el bus de datos la placa-base que era también de 8 bits). No solo el ancho del bus, otros muchos detalles de diseño (que lo hacían parecer a un jovencito Frankestein) han hecho especular largamente acerca de que nadie en IBM parecía tener mucha fe en el futuro del recién nacido.

[3] Este micro tenía un bus de datos de 24 bits, que le permitía acceder directamente más de 16 MB de memoria física, y hasta 1 GB de memoria virtual. Implementaba también un mecanismo de multitarea, denominado "modo protegido", que le permitía conmutar entre varias aplicaciones, cada una de las cuales parecía correr en "modo real" (como si estuviese en un 8088), pero el sistema tenía algunas deficiencias, que fueron subsanadas en el 80386.

[4] El término "súper escalar" significa que existen vías de procesamiento paralelo en el procesador. Por ejemplo, se dice que el Pentium Pro utiliza una arquitectura súper escalar de tres vías, lo que supone que su rendimiento equivale tres instrucciones por cada ciclo de reloj. Esta arquitectura también se conoce como "Pipeline", y ha sido comparada con las cadena de montaje de automóviles, en las que en la misma cadena existen unidades (aquí serían instrucciones) con diverso grado de terminación. El resultado es un mayor número de unidades terminadas que si se esperase a terminar completamente un automóvil antes de iniciar la construcción del siguiente.

[5] En este año (2003) se estima que para el 2006 habrá en Europa 13 millones de portátiles, y la tecnología inalámbrica crece de forma imparable.

[6] Puede obtener abundante y puntual información sobre esta tecnología en el sitio de Intel. Puede empezar por un magnífico artículo que describe esta tecnología; los beneficios que aporta, y como preparar el código para poder beneficiarse de ella: "Advanced Multi-Threaded Programming", de Intel Software Network www.devx.com/

Page 49: 6721122 D057 Tecnologia Del PC

Tecnología del PC[Home] [Inicio] [Índice]

En esta sección:1 Carga inicial2 Comprobación del Hardware3 Carga del Sistema O.4 Soporte de dispositivos

Subir

4 El BIOS

Nota: Hemos utilizado el masculino y no el femenino porque nos referirnos al "Sistema" (el BIOS), no a la memoria física en que está grabado (la BIOS).

§1 Sinopsis

BIOS es acrónimo de "Basic Input Output System"; literalmente: Sistema básico de Entradas/Salidas. Se refiere a una pieza de software muy específico, grabada en una memoria no volátil, que está presente en todos los PC's y compatibles. Aunque naturalmente existen antecedentes, en su forma actual es una invención del equipo de IBM encargado de diseñar el primer PC, y representa uno de los ejemplos más emblemáticos de firmware ( 1.7a).

§2 Tipos de BIOS

Normalmente este software viene grabado en un chip de memoria no volátil de solo lectura ROM (Read Only Memory), situado en la placa base, de ahí el nombre ROM BIOS. Esto garantiza que no se perderá al apagar el Sistema y que no dependerá para su actuación de la existencia o buen funcionamiento de ningún disco, por lo que estará siempre disponible. Esto último es importante, porque como veremos a continuación, posibilita el arranque inicial

Page 50: 6721122 D057 Tecnologia Del PC

del equipo sin necesitar de ningún recurso externo.

Desde los primeros días de vida del PC, el ROM-BIOS dio problemas en los equipos existentes, dado que los avances técnicos eran constantes; lo que suponía aumentar las capacidades de disco y de los dispositivos conectados a los equipos. Esto exigía nuevas BIOSes, con lo que había que cambiar la placa base, o cuando mínimo, en los modelos posteriores, cambiar el integrado que contenía la ROM BIOS [2]. Para resolver el problema se comenzó a utilizar memorias regrabables tipo EPROM ("Erasable programmable read-only memory") y EEPROM ("Electrically erasable programmable read-only memory").

En la actualidad se utiliza un tipo de memoria no volátil "flash" (Flash BIOS) que puede ser regrabada sin utilizar ningún dispositivo de borrado o grabación especial, lo que permite actualizarla muy cómodamente. Por lo general solo es necesario "bajarse" de Internet la versión adecuada (normalmente del sitio del fabricante de la placa base) y seguir las instrucciones que acompañan al programa [3].

Debido a que el BIOS es usado constantemente en el funcionamiento normal del PC, y que la memoria RAM es de acceso más rápido que la ROM, muchos fabricantes disponen que el contenido de la ROM BIOS sea copiado a memoria RAM como parte del proceso de arranque inicial. Esto se conoce como "Shadowing", y tiene el efecto de acelerar el rendimiento del sistema. La versión de la BIOS cargada en RAM se denomina shadow BIOS. Naturalmente esto exige un realineamiento de los vectores de interrupción ( 4.3), de forma que apunten a las nuevas posiciones en RAM.

Los BIOS mas modernos son los denominados PnP BIOS o PnP-aware BIOS. Lo que significa que están previstos para manejar el estándar PnP "Plug and Play" de Microsoft (enchufar y usar H2.4). Una tecnología que permite a un equipo identificar cualquier dispositivo hardware que se conecte, y signarle los recursos necesarios sin que existan conflictos con el resto. Antes de esta tecnología, la adición de nuevos dispositivos constituía un auténtico quebradero de cabeza, dada la escasez de recursos que previeron los diseñadores del PC. Por ejemplo, los consabidos conflictos de interrupciones IRQ's [1] y de direcciones de puertos.

Page 51: 6721122 D057 Tecnologia Del PC

Nota: En los primeros sistemas era un chip DIP ("Dual In-line package") cuya designación empezaba por "27" seguido de dos o tres números indicativos de los Kilobits de capacidad. Por ejemplo, 2764 es una ROM de 8 KB.

§3 Funciones del BIOS

El sistema BIOS de un PC estándar desempeña en realidad cuatro funciones independientes:

● Proceso de carga inicial del software ( 4.1).

● Programa de inventario y comprobación del hardware ( 4.2).

● Inicialización de los dispositivos hardware que lo requieren; carga de cierto software básico, e inicio del Sistema Operativo ( 4.3)

● Soporte para ciertos dispositivos hardware del sistema ( 4.4).

§4 Webografía

● Bios Central http://www.bioscentral.com/

Cantidad de información relativa a la BIOS, incluyendo códigos de error POST de muchos fabricantes, mapa de memoria de la CMOS RAM, Etc.

Inicio.

[1] "Interupt Request" (IRQ). Petición de interrupción que hace un programa al Sistema como paso previo a solicitar de él algún servicio ( H2.4).

[2] En realidad no han existido cambios básicos, solo añadidos para soportar nuevos

Page 52: 6721122 D057 Tecnologia Del PC

dispositivos hardware. Por ejemplo, nuevos discos con mas capacidad que los iniciales, lo que se traduce en que la BIOS tiene que identificar discos con un número de cilindros y sectores, que eran impensables en los PCs iniciales.

[3] El reverso de la medida ha sido la nueva posibilidad de que programas especialmente diseñados ("Malware") puedan igualmente destruir o cambiar el contenido de la BIOS, lo que deja al equipo inutilizable.

Inicio

|Índice| Copyright © 2000-2006 Zator Systems. NO software patents

Page 53: 6721122 D057 Tecnologia Del PC

Tecnología del PC[Home] [Inicio] [Índice]

En esta sección:1 Direccionar la memoria2 Memoria Caché3 Aspectos tecnológicos3.1 Errores de memoria3.2 Tecnologías de memoria3.3 Montaje físico

Subir

5 Memoria interna

§1 Sinopsis

Al tratar de la placa-base, comentamos que la memoria interna es la que se encuentra físicamente dentro del sistema constituido por la placa-base, o en tarjetas de circuito impreso directamente conectadas a ella. Dentro de este tipo de memorias nos interesa distinguir las siguientes:

● Los registros del procesador ( H3.2)

● Las cachés interna y externa ( H5.2)

● La memoria BIOS ( H4)

● La memoria RAM

§2 La memoria RAM

Aunque la clasificamos como "Interna", la memoria RAM ("Random access memory") es también en alguna forma una memoria "externa"; en el sentido que está situada fuera del procesador (el "Cerebro" del ordenador); es como su bloc de notas. El procesador tiene una memoria raquítica (se reduce a sus registros), pero una gran facilidad para manejar este

Page 54: 6721122 D057 Tecnologia Del PC

almacenamiento auxiliar. De hecho, gran parte del trabajo del procesador se concreta en traer y llevar datos desde RAM hasta sus propios registros.

Atendiendo a sus características físicas, las memorias RAM se dividen en dos grandes grupos: estáticas SRAM ("Static RAM"), y dinámicas DRAM ("Dynamic RAM"). Ambas comparten la característica de perder su contenido cuando se apaga el sistema. Pero las DRAM tienen además la necesidad de que su contenido sea constantemente actualizado.

Como el resto de elementos hardware, el desarrollo de la tecnología de memorias ha sido incesante; diríamos meteórico. La constelación de siglas es inacabable: FPM DRAM ("Fast Page Mode"); EDO RAM ("Extended Data Out"); BEDO RAM ("Burst EDO RAM"); SDRAM ("Synchronous DRAM"); RDRAM ("Rambus DRAM"); DDR-RAM ("Double data rate RAM"); SLDRAM ("SyncLink DRAM"); VRAM ("Video RAM"); SGRAM ("Sinchronous Graphics RAM"); etc.

Los primeros PCs no llegaron a conocer las memorias de núcleos de ferrita, puesto que ya montaban varias decenas módulos de DRAM encapsulados en chips DIP ("Dual In-line Package") de 16 contactos sobre zócalos [3]. Actualmente (2001) coexisten dos tipos principales de encapsulado: El SIMM ("Single In-line Memory Module") de 72 contactos, y el DIMM ("Dual In-line Memory Module") de 168 contactos.

En le imagen, un módulo DIMM de 168 contactos con 16 MB de SDRAM junto con un antiguo chip de 16 contactos con 2 KB de DRAM.

§2.1 Estructura lógica

Page 55: 6721122 D057 Tecnologia Del PC

Desde el punto de vista lógico, la memoria RAM puede considerarse como una serie de varios miles (o millones) de bits que pueden ser accedidos para lectura y escritura en grupos de 8 (en Bytes) mediante una dirección. Pero hay dos aspectos que pueden interesar al programador: uno se refiere a como se guardan algunos datos; otro es relativo a como se almacenan los ejecutables.

§2.2 Forma de almacenamiento

Respecto al primer punto, tener en cuenta que, aunque la arquitectura de PC permite manejar la memoria en bytes individuales. Muchas operaciones implican guardar palabras de 16 bits. De estos 2 octetos adyacentes, el de la izquierda es el más significativo y el de la derecha el menos. En estos casos, el byte menos significativo se guarda en la posición más baja y el más significativo a continuación, en la posición más alta. Esta forma de almacenamiento se denomina de palabras invertidas ("Back-words") o little endian ( E2.2.6a).

Esta forma especial de almacenar información se refiere a números, tanto enteros como decimales (de punto flotante), y no solo a los de 16 bits. También a los demás, de 32 y 64 bytes ( E2.2.4).

§2.3 Carga de ejecutables

Respecto al segundo punto, ni que decir tiene que para ejecutar un programa, éste debe ser previamente cargado en memoria. Pero en la mayoría de los casos [1] no se trata de una carga del fichero tal cual se encuentra en el disco, sino que requiere un "acomodo" especial. De este trabajo se encarga un programa especial (de carga), y se exige que la primera parte del contenido de un fichero .EXE contenga precisamente la información sobre "como" se realizará la acomodación antes aludida. En el caso de Windows, los ejecutables deben contener esta información en un formato específico, denominado nuevo formato de fichero ejecutable ("New Executable file format"); una especificación de MS para las aplicaciones que deban correr bajo sus Sistemas [2].

Page 56: 6721122 D057 Tecnologia Del PC

Inicio.

[1] Es el caso de los ficheros .EXE, pero en los ejecutables .COM sí existe concordancia entre la imagen del programa, tal como se almacena en memoria y el contenido del fichero grabado en disco. Este último formato no puede utilizarse con todos los ejecutable, pero es la razón por la que los .COM son de carga más rápida que los .EXE.

[2] Gran parte de esta información está contenida en el fichero de definición ( E1.4.4a).

[3] Las dilataciones y contracciones térmicas de la placa, originadas por los periodos de funcionamiento y reposo, tendían a expulsar estos chips de sus alojamientos, con lo que eran frecuentes los errores de paridad y tener que reapretarlas empujándolas con el dedo.

Inicio

|Índice| Copyright © 2000-2006 Zator Systems. NO software patents

Page 57: 6721122 D057 Tecnologia Del PC

Tecnología del PC[Home] [Inicio] [Índice]

En esta sección:1 Interfaz ATA/IDE2 Direccionamiento CHS / LBA3 Interfaz SCSI3.1 Aspectos físicos4 Interfaz PCI5 Interfaz Serial-ATA6 Interfaz ESDI

Subir

6 Interfaces

§1 Sinopsis

El término interfaz es de uso muy frecuente en informática. Es un concepto abstracto, que puede referirse a un dispositivo físico (hardware) o a un dispositivo lógico (software). aunque lo común es que se trate de una mezcla de ambos. Se refiere al ámbito de conexión entre dos sistemas.

En este capítulo intentaremos mostrar una panorámica general de las interfaces entre los dispositivos externos (discos generalmente) y la placa base. La evolución de las interfaces está íntimamente asociada con dos tipos de dispositivos: las unidades de disco y las controladoras gráficas. Ya que son estos dispositivos, los que han propiciado las mejoras en los sistemas de conexión existentes.

La capacidad y velocidad de los equipos informáticos se doble aproximadamente cada dos años, y los discos duros no son una excepción. Su velocidad de transferencia se dobla más o menos cada 24 meses, lo que ha exigido la mejora de las interfaces utilizadas. La historia resumida es la siguiente:

● ST506/412 Es la interfaz original desarrollada por Seagate Technology en 1978 para soportar sus discos ST-506 y ST-412; de 5 y 10 MB de capacidad respectivamente!. La electrónica de control esta situada en la tarjeta adaptadora, que

Page 58: 6721122 D057 Tecnologia Del PC

se inserta en un "slot" de la placa base, y se une al disco mediante dos cables; uno de control y otro de datos.

● ESDI ("Enhanced Small Device Interface"). Desde 1983. Fue desarrollada por Maxtor Corporation, un conocido fabricante de discos, como una mejora de la tradicional ST-506/412. La principal novedad es que el sistema de codificación/decodificación de la señal, una de las partes más críticas de un disco, está situada en la propia unidad de disco, lo que permite comunicaciones más rápidas con la controladora y unidades de más capacidad. Mantiene el mismo sistema de cables que sus predecesoras, aunque utilizados de otra forma. Fue muy popular, incluso llegó a ser un estándar ANSI, aunque actualmente (2003) está en desuso.

● IDE/ATA ("Integrated Drive Electronics/AT Attachment"). Desde 1986 ( 6.1).

● SCSI Desde 1986 a la actualidad ( 6.3).

● PCI ("Peripheral Component Interconnect"). Nacida en 1992 ( 6.4).

● S-ATA ("Serial ATA"). Una evolución del anterior que utiliza un cable serie para comunicar la placa con el dispositivo ( 6.5).

En las páginas siguientes se muestran detalles adicionales al respecto.

Inicio

|Índice| Copyright © 2000-2006 Zator Systems. NO software patents

Page 59: 6721122 D057 Tecnologia Del PC

Tecnología del PC[Home] [Inicio] [Índice]

En esta sección:1 El Teclado2 Dispositivos señaladores

Subir 7 Dispositivos de Entrada

§1 Sinopsis

En éste capítulo, abordaremos las características principales de los dispositivos de entrada más usuales: el teclado y el ratón. Este último como representante de la categoría conocida como "Dispositivos señaladores".

Por supuesto que estos no son los únicos dispositivos por los que puede entrar información en el ordenador; existen otros. Por ejemplo, líneas de comunicación, discos, etc. Pero el apelativo "Dispositivo de Entrada" se reserva para designar a los utilizados directamente por el operador humano.

Como en el resto de capítulos de esta obra, no se pretende aquí una descripción exhaustiva de sus características técnicas. Solo proporcionar algunos detalles interesantes para el usuario avanzado; para el que desee adentrarse en los secretos del mantenimiento de equipos informáticos, o simplemente desee satisfacer su curiosidad intelectual, conociendo algo más sobre dispositivos que son ya tan cotidianos en nuestras vidas como el reloj de pulsera o la cafetera con que preparamos el desayuno. Estos detalles incluyen los aspectos más relevantes de las soluciones mecánico-eléctricas adoptadas, así como a los principios básicos de su funcionamiento desde el punto de vista del software. Como siempre, añadimos algunos detalles y anécdotas de tipo histórico, ya que es imposible entender completamente el presente sin conocer, siquiera mínimamente, el camino que ha conducido hasta él.

Page 60: 6721122 D057 Tecnologia Del PC

Tecnología del PC[Home] [Inicio] [Índice]

En esta sección:Estructura lógica de los discosDiscos externos

Subir 8 Almacenamiento externo

§1 Sinopsis

En éste capítulo, abordaremos las características de los dispositivos de almacenamiento externo más usuales en los ordenadores personales. Principalmente unidades de disco en sus distintas versiones (de plato giratorio y de estado sólido). Así como unidades ópticas (CDs y DVDs) y otras unidades de almacenamiento magnético, como cintas y "streamers".

Como todo lo que implique un principio de clasificación, al referirnos al ordenador, y más concretamente al PC, los conceptos interno/externo pueden ser más que discutibles. Para nuestro propósito, consideramos dispositivos almacenamiento interno la memoria RAM ( 5) y los registros del procesador ( 3.2). Todos los demás los consideraremos "externos". Esto, con independencia de que el dispositivo concreto, por ejemplo un disco, pueda estar alojado físicamente en el mismo chasis que los primeros (junto con la placa-base ( 2), o en un chasis independiente. Que en estas fechas, puede estar sobre la misma mesa que el resto de componentes del PC, o a miles de Kilómetros de distancia.

Como en el resto de capítulos de esta obra, no pretendemos aquí una descripción exhaustiva de sus características técnicas. Solo proporcionar algunos detalles interesantes para el usuario que desee saber un poco más sobre estos dispositivos tan cotidianos en nuestras

Page 61: 6721122 D057 Tecnologia Del PC

vidas. Dado que me está leyendo, doy por supuesto que tiene un cierto interés en el tema. También que posiblemente tenga que convivir con ellos a menudo. En estas circunstancias, estoy seguro que conocer ciertos detalles de su estructura interna, y de los principios de su funcionamiento, le ayudarán a desenvolverse mejor con estos cacharos, e incluso a salir airoso cuando se presenten pequeños problemas (si trata con equipos informáticos, es seguro que los tendrá con más frecuencia de lo que sería deseable).

Inicio

|Índice| Copyright © 2000-2006 Zator Systems. NO software patents

Page 62: 6721122 D057 Tecnologia Del PC

Tecnología del PC[Home] [Inicio] [Índice]

En esta sección:1 Física del color1.1 Medir la luz y el color2 Sistemas cromáticos3 Sistemas de representación4 Representación numérica del color5 Factor Gamma y ajustes del monitor

Subir

9 Sistemas de Vídeo

§1 Sinopsis

En el presente capítulo abordamos las principales características tecnológicas de los sistemas de representación gráfica utilizados los ordenadores. Empezando por un breve repaso a las características físicas de la luz y de los sistemas cromáticos; imprescindibles para entender los principios que subyacen en los dispositivos de representación (displays) y en las técnicas de impresión utilizadas.

El capítulo no pretende ser un manual de electrónica aplicada a los sistemas de representación gráfica, cuestión esta que se saldría claramente de las pretensiones de esta obra. Tampoco un manual de mantenimiento (aunque puede ayudar a ello), ya que se requeriría un curso para cada dispositivo, marca y modelo. En realidad la intención aquí, como en el resto de la obra, es proporcionar algunos detalles que ayuden al interesado en la informática a comprender mejor los principios físicos que sustentan el funcionamiento y la programación de estos dispositivos, así como las soluciones tecnológicas adoptadas para su construcción. Se intenta así mismo introducir al lector en el vocabulario específico de este área, de forma que le resulte más fácil seguir las explicaciones de uso de un programa de edición gráfica o de las características técnicas de un dispositivo de video.

Inicio

Page 63: 6721122 D057 Tecnologia Del PC

Tecnología del PC[Home] [Inicio] [Índice]

En esta sección:1 Física de sonido2 Tratamiento digital del sonido3 Codecs de audio/video4 Interfaz MIDI

Subir

10 Sistema de Sonido

§1 Sinopsis

En este capítulo se exponen algunas características de los sistemas de reproducción de sonido utilizados los ordenadores, empezando por un breve repaso a las características físicas del sonido; a los conceptos imprescindibles para entender los principios que gobiernan los dispositivos de codificación y reproducción utilizados.

El capítulo no pretende ser un manual de electrónica de los sistemas informáticos de audio, cuestión esta que se saldría claramente de las pretensiones de este trabajo. La intención aquí, como en el resto de la obra, es proporcionar algunos detalles que ayuden al interesado en la informática a comprender mejor los principios que sustentan el funcionamiento y programación de estos dispositivos, así como las soluciones tecnológicas adoptadas para su construcción. Se intenta así mismo introducir al lector en el vocabulario específico de este área, de forma que le resulte más fácil seguir las explicaciones de uso de cualquier dispositivo de audio.

§2 Webografía

● Harmony Central www.harmony-central.com

Page 64: 6721122 D057 Tecnologia Del PC

Por supuesto Internet ofrece información sobre música, sonido, sistemas de audio Etc., incluyendo los aspectos relacionados con la informática (que son los que aquí nos interesan), en cantidades suficientes para producir indigestión. Uno de los mejores sitios para empezar, es quizás el de Harmony Central. No solo por el material en sí que ofrece, sino por la calidad y cantidad de sus enlaces a sitios más especializados.

Inicio

|Índice| Copyright © 2000-2006 Zator Systems. NO software patents

Page 65: 6721122 D057 Tecnologia Del PC

Tecnología del PC[Home] [Inicio] [Índice]

En esta sección:a Velocidad de conexión b Estándares de telefónicos

Subir

11.1 Comunicación por módem

§1 Antecedentes

Cuando surgió la necesidad de conectar ordenadores a larga distancia [1], en la mayoría de los casos la única alternativa viable era (sigue siendo) utilizar los tendidos telefónicos tradicionales; esta red ya estaba disponible, y prácticamente en todos los hogares y oficinas hay al menos una conexión RTB (Red Telefónica Básica). Así pues, la solución de utilizar la RTB para las comunicaciones digitales entre ordenadores venía por si sola. Sin embargo, la utilización de estas líneas requería ciertas adaptaciones, dado que estaban diseñadas para comunicación de audio (señales analógicas) y no eran ni remotamente adecuadas para las comunicaciones digitales.

Nota: Ya existían antecedentes de comunicación digital (no analógica) en telefonía y telegrafía; El antiguo teleimpresor Baudot ya utilizaba un código digital sobre líneas de larga distancia [1a].

§2 La red telefónica conmutada

Como hemos indicado, la red telefónica que utilizamos normalmente en nuestras conversaciones, está diseñada para transmitir voz en lo que se denomina calidad telefónica básica; para esto se requiere un ancho de banda relativamente modesto;

Page 66: 6721122 D057 Tecnologia Del PC

basta un rango de frecuencias de 500 a 1000 Hz. Aunque la red telefónica puede transmitir razonablemente bien entre 300 y 3300 Hz [2], sin embargo, está restringido el uso continuo de tonos por encima de 2.400 Hz, denominados tonos de señalización, ya que en esta zona se sitúan determinadas frecuencias utilizadas por el propio sistema telefónico (por ejemplo los tonos de marcado) [3].

Aunque la red telefónica estaba diseñada para transmitir señales analógicas (voz humana), a partir de la década de los 60 comenzó una paulatina "digitalización". El tráfico entre centrales comenzó a realizarse digitalmente (sistemas MIC -Modulación por Impulsos Codificados-). Un poco más tarde, a mediados de los 80, las propias centrales, que inicialmente eran analógicas con circuitos de conmutación basados en relés, se hicieron digitales, utilizando circuitos de conmutación de estado sólido [4].

Nota: Aunque el propio teléfono y el denominado bucle de abonado (par de hilos de cobre entre el teléfono del abonado y la central telefónica) siguen siendo analógicos, el camino seguido hasta la central del otro interlocutor es totalmente digital. En la central de origen, el sonido es digitalizado y multiplexado [5] junto con otras muchas señales, hasta la central de destino. Una vez allí, la señal es desmultiplexada y convertida de nuevo en señal analógica antes de ser entregada al bucle de abonado del otro interlocutor.

§3 El módem, principios básicos

Nota: La mayoría de los conceptos que se exponen en este capítulo relativos al módem son también aplicables a los dispositivos FAX. De hecho, los fax comunican por mediación de un módem incluido en su interior. A su vez, la mayoría de los módems actuales tienen también la capacidad FAX (unidades FAX-modem).

Puesto que el ancho de banda (2.400 Hz) de la RTC no es ni remotamente adecuada para enviar directamente las señales digitales de un ordenador (el modestísimo IBM PC original funcionaba a 4.77 MHz), se recurrió a una triple medida para enviar estas señales a través de la red telefónica:

Page 67: 6721122 D057 Tecnologia Del PC

1. Utilizar una transmisión serie asíncrona bidireccional ( 2.5a) que utiliza la norma RS-232 (ver nota ).

2. Codificar los dos estados de las señales binarias en forma de dos señales analógicas; para esto se utilizan dos tonos (audibles). Estas señales si pueden ser enviadas por la red telefónica (como cualquier otro sonido). Al llegar a su destino los tonos deben ser traducidos de nuevo a señales digitales.

3. Los bits de información (representados por tonos) deben ser enviados a una velocidad suficientemente lenta como para que los cambios (de tono) puedan ser asumidos por las líneas telefónicas. Esta velocidad oscila entre unos 300 bps y 56 Kbps.

4. A su vez, desde el lado de la salida telefónica, los módems deben ajustarse a las normas impuestas por las compañías suministradoras de este servicio; en el apartado

H11.1b se tratan estos estándares.

El estándar RS-232 fue pensado en una época en que las transmisiones serie se utilizaban casi exclusivamente para teleimpresión ("Telex"); un sistema electromecánico que había sustituido al telégrafo. Las señales y protocolos empleados se referían a cuestiones tales como sonar una campana para recabar la atención del operador, y enviar un retorno de carro CR (Carriage Return) o un salto de línea LF (Line feed) -eran impresoras mecánicas-. La comunicación serie entre ordenadores no requiere tantas señales, en especial en los modernos módems duplex. Sin embargo, se sigue utilizando la terminología y muchas de las señales del estándar primitivo (Señales RS-232.C 2.5a).

La conversión de señales digitales en tonos se realiza mediante un generador de tono (un sintetizador de sonido muy simplificado). Este proceso es denominado modulación, en referencia a que se modula una señal de alta frecuencia para que el resultado sea una señal de baja frecuencia. Por su parte, la conversión de tonos en señales digitales se denomina

Page 68: 6721122 D057 Tecnologia Del PC

demodulación. Por extensión, los elementos que realizan dichas funciones se denominan también modulador y demodulador, y el dispositivo completo módem (acrónimo de modulador-demodulador).

Una de las características de los módems actuales es su habilidad de marcar el número con el que se establecerá comunicación, por lo que el generador de tono es realmente un generador multifrecuencia DTMF ("Dual Tone MultiFrequency"), ya que además de los tonos de datos debe ser capaz de generar los de marcado [8].

Las comunicaciones actuales son bidireccionales en la modalidad full-duplex. Para esto cada módem utiliza tonos distintos de los usados por el interlocutor. El cuadro adjunto muestra los dos pares de tonos correspondientes a una conexión según el estándar Bell (USA) a 300 baudios y los valores lógicos "0"/"1" correspondientes.

Módem que origina la llamada ("Caller")

Módem respondedor ("Responder")

1 0 1 0

1270 Hz 1070 Hz 2225 Hz 2025 Hz

En lo sucesivo consideramos que se trata de módems duplex con auto respuesta (no tienen necesidad de cambiar de estado transmisor/receptor), y que la comunicación es full-duplex, ya que las otras formas son obsoletas.

§3.1 Protocolo de conexión

Evidentemente, los interlocutores deben estar de acuerdo en el par de tonos que utilizará cada uno (lo que uno envía es recibido por el otro); estos valores y otros que definen el detalle de la comunicación, son tratados en la negociación previa a la conexión propiamente

Page 69: 6721122 D057 Tecnologia Del PC

dicha. Esta negociación sigue un protocolo muy preciso; el módem que genera la llamada utilizará el par de tonos correspondientes a su condición de iniciador ("caller"), y envía un "1" = marca (su tono más alto) [6]. Cuando el otro módem recibe este tono continuo, responde con dos acciones:

● Se pone a su vez a la escucha, enviando también una marca en el tono correspondiente al receptor.

● Pone su señal DCD (Data Carrier Detect) en estado alto, para señalar esta circunstancia a su UART.

Cuando ambos módems reciben los tonos esperados se ha establecido la conexión y puede comenzar la transmisión propiamente dicha.

Es frecuente que durante la fase de conexión, el módem que inicia la llamada tenga conectado el altavoz con la línea de salida, lo que permite oír el proceso, incluyendo los tonos de llamada. Cuando finalmente se recibe la señal de marca del otro módem y se ha establecido comunicación, el altavoz es desconectado, quedando en silencio, y se enciende el indicador luminoso marcado CD (Carrier detect).

En los sistemas mordernos el protocolo de conexión no termina con la primera comunicación; los interlocutores pueden renegociar las condiciones de comunicación (velocidad de la transmisión) con el fin de ajustarla a los valores más altos compatibles con sus velocidades máximas y con una relación señal/ruido aceptable.

§3.2 Modos de operación

El módem es un dispositivo programable, en el sentido de que puede adaptarse a diversas modalidades de transmisión; tanto la velocidad como los bits de datos, paridad, etc. Para esto disponen de dos modos o estados de operación; el de control y el de comunicación. En el primer caso el módem recibe señales que actúan como órdenes para configurar las características de transmisión o realizar determinadas tareas; en el segundo las señales son enviadas a la línea telefónica.

Page 70: 6721122 D057 Tecnologia Del PC

El juego de órdenes ("Command set") utilizado en el modo de control muy variado. En los comienzos, los módem eran equipos especiales instalados por las compañías telefónicas a los escasos usuarios que los necesitaban con el nombre de terminales de datos, cuya programación era específica de cada fabricante. Cuando a principios de los 80 comenzaron a fabricarse módems de propósito general para conectar a mini ordenadores, la compañía norteamericana Hayes dotó a sus modelos de un juego de órdenes que pronto se hizo muy popular, convirtiéndose en un estándar "de facto". Actualmente todos los módems utilizan un núcleo "Compatible Hayes" en su juego de órdenes [9].

Nota: En realidad la aserción "Hayes compatible" es un tanto ambigua, dado que la compañía Hayes fabricó diversos modelos. En rigor esta compatibilidad debe significar que el módem acepta por lo menos los comandos del primer modelo Smartmodem™ 300 de Hayes.

§4 La cadena de comunicación

Recuerde que un módem es un dispositivo de comunicaciones que actúa como pasarela entre una UART y la línea telefónica (figura 2). La comunicación en el interior del módem es serial, y al llegar a la UART es transformada a un formato paralelo compatible con el bus del sistema (las comunicaciones serie se han dibujado en azul, y las paralelo en rojo).

Nota: Para mayor claridad, en la figura se ha representado la UART separada del

Page 71: 6721122 D057 Tecnologia Del PC

ordenador (PC). En realidad puede estar incluida en el chipset de la placa base; en una tarjeta independiente, o en el propio módem (caso de ser interno). El recuadro PC simboliza el bus paralelo de la placa-base.

Cada tramo de la cadena tiene sus propias características:

§4.1 PC = UART:

Es una comunicación paralela digital; podemos suponer que los caracteres son de 8 bits. Esta comunicación se realiza a la velocidad del bus del PC; puesto que en cada ciclo se transmite un byte, la velocidad en bytes por segundo (Bps) se corresponde con la velocidad de reloj del bus.

§4.2 UART = Módem :

La UART tiene dos caras: Por un lado dispone de una comunicación paralela síncrona con el bus del PC. Por el lado del módem esta comunicación es serie y generalmente asíncrona (precisamente una de las funciones de la UART es esta conversión serie ↔ paralelo).

Es interesante observar que la UART recibe del bus un conjunto de 8 bits por carácter, pero la comunicación con el módem se realiza según un diseño de marcos ("Frames") estandarizados. Por ejemplo: una transmisión 8N1 supone un marco de 10 bits compuesto de un bit de inicio, 8 bits de datos y un bit de parada (no existe bit de paridad).

Esta velocidad depende del chip integrado en la UART ( Puertos serie), son frecuentes velocidades desde 4.800 hasta 115.200 bits por segundo (bps).

§4.3 Módem = Módem:

Este tramo representa la red telefónica. En su interior la comunicación utiliza señales analógicas (tonos) en formato serie (generalmente asíncrona) según un diseño de marco ("Frame") estandarizado. Hemos visto que una transmisión 8N1 supone un marco de 10 bits

Page 72: 6721122 D057 Tecnologia Del PC

compuesto de un bit de inicio, 8 bits de datos y un bit de parada, con lo que una conexión modem a modem operando a 2400 bps transporta en realidad 1920 bits de datos por segundo, el resto son "Housekeeping bits". Además de esto, si el módem utiliza compresión de datos es más que posible que no exista una correspondencia 1:1 entre los bytes recibidos de la UART y los "Frames" enviados a la línea telefónica.

La velocidad dependerá de las características del enlace telefónico y de los módems involucrados. Son frecuentes velocidades desde 300 a 56 Kbps.

§5 Tipos de módem

Existen dos tipos de módems: Internos y externos; los instalados en tarjetas PC-CARD, utilizados principalmente en sistemas portátiles, pueden considerarse internos, ya que cuentan con su propia UART y se conectan directamente a una extensión del bus. En las figuras siguientes se muestran los esquemas de bloque de ambos tipos.

Los módems internos se montan en una tarjeta o están integrados en la propia placa-base; esto último es lo normal en portátiles y en placas modernas; su alimentación se realiza a través de las líneas de fuerza del bus. Los módems externos tienen su fuente de alimentación independiente, y se conectan directamente con una salida de puerto serie del ordenador. Como puede verse, la diferencia básica entre ambos tipos es que los primeros tienen su propia UART ( 2.5a) que se encarga de las comunicaciones serie. Los módems externos utilizan una UART instalada en el PC con la que se comunican mediante el conector del puerto serie (generalmente un DB9 o un DB225) utilizando un subset del protocolo RS-232.

Page 73: 6721122 D057 Tecnologia Del PC

Esquema de bloques de un módem internoNVRAM ("Not Volatile Ramdom Access Memory")

Esquema de un módem externo

Page 74: 6721122 D057 Tecnologia Del PC

Cualquiera que sea el tipo de módem utilizado, las señales exteriores se reciben en un conector RJ-11, desde el que pasan a la interfaz, que tiene la misión de aislar y adaptar las señales telefónicas a los niveles de la electrónica interna. La actuación está gobernada por un controlador, que se encarga de establecer las características de la comunicación y de conmutar entre el estado de control y el de comunicación.

El controlador está apoyado por cierta cantidad de memoria no volátil, NVRAM, en la que se guarda la configuración por defecto y otros datos en lo que podríamos llamar la BIOS del módem.

§6 Indicadores de estado

Los módems externos disponen de una serie de luces indicadoras de estatus; su número y disposición varían con el modelo y fabricante, pero generalmente utilizan algunas de las siguientes:

● AA Autorespuesta ("Auto Answer"). Señala que el módem está preparado para responder automáticamente cualquier llamada exterior. Esta característica es vital para determinados servicios, por ejemplo módems de servidores Web.

● CD Detección de portadora ("Carrier Detect"). Señala que el módem está recibiendo una señal de inicio de transmisión (marca) desde un módem remoto; indica que se ha establecido una conexión y puede apagarse momentáneamente cuando alguno de los módems quita esta señal.

● HS Alta velocidad ("High Speed"). Señala que el módem está operando a su velocidad máxima.

● MR Preparado ("Módem Ready"). Señala que el módem está conectado y listo para operar.

● OH Descolgado ("Off Hook"). Señala que el módem ha tomado control de la línea telefónica, ha "descolgado" para establecer una comunicación o responder a una llamada [7].

Page 75: 6721122 D057 Tecnologia Del PC

● RD Recepción de datos ("Receiving Data"), señalado a veces como Rx, indica la recepción de datos, generalmente un led de color amarillo o ámbar que titila durante la recepción.

● SD Envío de datos ("Send Data"), señalado a veces como Tx.

Los módems internos carecen de estos indicadores o tienen solo uno o dos de ellos.

§7 Webografía

● Análisis de algunos problemas con los módems: http://clickthru.online.com/

Inicio.

[1] En muchos casos no es necesario que haya una larga distancia para tener que acudir a "Telefónica", basta que sea necesario cruzar una calle. Con la ley en la mano, en España es ilegal tender un cable desde una casa a la de enfrente. Las "Telecomunicaciones" son celosamente controladas por los organismos competentes y más celosamente aún por nuestra inefable "Compañía Telefónica".

[1a] El primer mensaje telegráfico de larga distancia transmitidos en Estados Unidos fue enviado el 24 de Mayo de 1.844 utilizando el famoso código Morse; su contenido ha pasado a la historia: "What hath God wrought".

[2] Recordemos que el rango de frecuencias audibles se extiende entre 20 y 20.000 Hz ( E10.1), y que 3.000 Hz es precisamente el ancho de banda "oficial" de la red telefónica USA (entre 300 y 3.300 Hz).

[3] La marcación puede hacerse por "tonos" o por "pulsos"; este último es el sistema primitivo y está prácticamente en desuso, aunque sigue siendo utilizado por algunos modelos de teléfono antiguos (hasta fecha reciente algunos modelos de teléfono venían con un conmutador que permitía seleccionar la modalidad de marcado). El sistema de tonos,

Page 76: 6721122 D057 Tecnologia Del PC

popularizado a partir de la "digitalización" de las centrales telefónicas tradicionales (eran analógicas), utiliza tonos para señalar a la central el número marcado y otras características. Por ejemplo, la pulsación de las teclas * y #.

[4] Las fechas se refieren a la evolución de la red telefónica en España.

[5] El multiplexado consiste en enviar por un único canal de comunicación (un hilo conductor, una fibra óptica o una onda de radio) información de diversos canales individuales (por ejemplo, señales de audio). Para esto se requiere que la capacidad del canal único supere a los canales individuales. La información de los canales individuales es troceada en paquetes que son enviados sucesivamente pero no de forma contigua por el canal único. En el extremo receptor se invierte el proceso (demultiplexado). Se separan los paquetes de cada canal y se agrupan, de forma que se reconstruye el mensaje original.

[6] El hecho de que sea precisamente un "1" (marca), deriva de los antecedentes telegráficos, cuando una línea estaba desocupada se enviaba esta señal ( 2.5a).

[7] Actualmente muchas placas base disponen de posibilidad de hibernación o estado suspendido en los periodos que el sistema no tiene actividad. El sistema puede ser "despertado" por diversos eventos, uno de ellos la recepción de una señal por el módem. Es lo que se llama WOR ("Wake On Ring"); también porque se detecte actividad en una interfaz de red (WOL "Wake On LAN").

[8] Los módems primitivos no eran capaces de realizar el marcado, de modo que un operador debía marcar el número y conectar el módem manualmente; generalmente también debía desconectar la línea cuando terminaba la comunicación.

[9] Ver al respecto: "The AT Command Set Reference-History" http://nemesis.lonestar.org/

Inicio

Page 77: 6721122 D057 Tecnologia Del PC

Tecnología del PC[Home] [Inicio] [Índice]

En esta sección:2 El modelo OSI4 Ethernet4.0 Obtener la dirección MAC4.1 Estándares Ethernet4.2 Instalaciones de par trenzado4.2a Medida de los conductores4.3 Instalación de una LAN en Windows

Subir

12.2 Introducción al modelo OSI

§1 Antecedentes

Durante los años 60 y 70 se crearon muchas tecnologías de redes. Cada una basada en un diseño específico de hardware. Estos sistemas eran construidos de una sola pieza; lo que podríamos llamar una arquitectura monolítica. Esto significa que los diseñadores debían ocuparse de todos los elementos involucrados en el proceso. Podemos suponer que estos elementos forman una cadena de transmisión que tiene diversas partes: los dispositivos físicos de conexión; los protocolos software y hardware usados en la comunicación; los programas de aplicación que realizaban la comunicación, y la interfaz hombre-máquina que permiten al humano utilizar la red. Este modelo, que considera la cadena como un todo monolítico, es poco práctico, pues el más pequeño cambio puede implicar alterar todos sus elementos.

El diseño original de Internet del Departamento de Defensa americano disponía un esquema de cuatro capas. Aunque data de los 70 es mas o menos el que se sigue utilizando:

● Capa Física o de Acceso de Red ("Network Access Layer"). Responsable del envío de la información sobre el sistema hardware utilizado en cada caso. Se utiliza un protocolo distinto según el tipo de red física.

● Capa de Red también llamada capa Internet ("Internet Layer"). Es la responsable de enviar los datos a través de las distintas redes físicas que pueden conectar una

Page 78: 6721122 D057 Tecnologia Del PC

máquina origen con la de destino de la información. Los protocolos de transmisión, como el IP están íntimamente asociados a esta capa.

● Capa de transporte ("Host-to-Host Layer"). Controla el establecimiento y fin de la conexión; control de flujo de datos; retransmisión de datos perdidos, y otros detalles de la transmisión entre dos sistemas. Los protocolos mas importantes a este nivel son TCP y UDP (mutuamente excluyentes).

● Capa de aplicación ("Application layer"). Conformada por los protocolos que sirven directamente a los programas de usuario; Navegador, e-mail, FTP, TELNET, etc.

Respondiendo a la teoría general imperante el mundo de la computación, de diseñar el hardware por módulos y el software por capas, en 1978 la organización ISO (International Standards Organization www.iso.ch), propuso un modelo de comunicaciones para redes al que titularon "The reference model of Open Systems Interconnection", generalmente conocido como modelo OSI. Su filosofía se basa en descomponer la funcionalidad de la cadena de transmisión en diversos módulos, cuya interfaz con los adyacentes esté estandarizada. Esta filosofía de diseño presenta una doble ventaja: el cambio de un módulo no afecta necesariamente a la totalidad de la cadena. Además puede existir una cierta interoperabilidad entre diversos productos y fabricantes hardware/software, dado que los límites y las interfaces están perfectamente definidas. Esto supone por ejemplo, que dos softwares de comunicación distintos puedan utilizar el mismo medio físico de comunicación.

§2 Sinopsis

El modelo OSI tiene dos componentes principales:

● Un modelo de red, denominado modelo básico de referencia ("Basic Reference Model") o capa de servicio ("Server-layer").

● Una serie de protocolos concretos.

El modelo de red, aunque inspirado en el de Internet no tiene mas semejanzas con aquél. Está basado en un modelo de siete capas, mientras que el primitivo de Internet estaba basado en 4. Actualmente todos los desarrollos se basan en este modelo de 7 niveles que

Page 79: 6721122 D057 Tecnologia Del PC

son los siguientes: 1 Físico; 2 de Enlace; 3 de Red; 4 de Transporte; 5 de Sesión; 6 de Presentación y 7 de Aplicación. Cada nivel realiza una función concreta, y está separado de los adyacentes por interfaces conocidas, sin que le incumba ningún otro aspecto del total de la comunicación.

Nota: Observe que este modelo, al que se refieren absolutamente todos los libros que tratan de redes, es solo una abstracción conceptual, a la que se adapta (más o menos) la realidad física [2]. Sin embargo, las consecuencias de la aplicación de este punto de vista son de gran utilidad. El concepto subyacente es el mismo que nos permite poner los datos de dirección y remite en una carta; franquearla y depositarla en el buzón del servicio de correos sin preocuparnos de nada más. La carta sigue una serie de procesos dentro del servicio de correos sin que cada uno tenga que preocuparse de los que le han precedido o le sucederán. Finalmente, la carta es entregada al destinatario en su buzón, que solo tiene que leerla.

Generalmente los dispositivos utilizados en las redes circunscriben su operación a uno o varios de estos niveles. Por ejemplo, un concentrador ("Hub") que amplifica y retransmite la señal a través de todos sus puertos, está operando exclusivamente en la capa 1, mientras que un conmutador ("Switch") opera en las capas 1 y 2; un enrutador ("Router") opera en las capas 1, 2 y 3. Finalmente una estación de trabajo de usuario generalmente maneja las capas 5, 6 y 7.

En lo que respecta al software, hay que señalar que cada capa utiliza un protocolo específico para comunicarse con las capas adyacentes, y que añade al la cabecera ("Header") del paquete cierta información adicional ("Protocol Header").

§3 Las capas del modelo OSI

La descripción esquemática de las diversas capas que componen este modelo es como sigue:

§3.1 Capa física -1-

Page 80: 6721122 D057 Tecnologia Del PC

("Physical layer"); es la encargada de transmitir los bits de información por la línea o medio utilizado para la transmisión. Se ocupa de las propiedades físicas y características eléctricas de los diversos componentes; de la velocidad de transmisión, si esta es uni o bidireccional (simplex, duplex o flull-duplex). También de aspectos mecánicos de las conexiones y terminales, incluyendo la interpretación de las señales eléctricas.

Como resumen de los cometidos de esta capa, podemos decir que se encarga de transformar un paquete de información binaria ("Frame") en una sucesión de impulsos adecuados al medio físico utilizado en la transmisión. Estos impulsos pueden ser eléctricos (transmisión por cable); electromagnéticos (transmisión Wireless) o luminosos (transmisión óptica). Cuando actúa en modo recepción el trabajo es inverso; se encarga de transformar estos impulsos en paquetes de datos binarios que serán entregados a la capa de enlace (ver a continuación).

Por ejemplo: este nivel define la medidas del cable coaxial Ethernet y de los conectores BNC utilizados. Otro ejemplo de estándares relativos a esta capa son RS-232 ( H2.5.1) para comunicaciones serie y X.21

§3.2 Capa de enlace -2-

("Data Link layer"). Puede decirse que esta capa traslada los mensajes hacia/desde la capa física a la capa de red (que veremos a continuación). Especifica como se organizan los datos cuando se transmiten en un medio particular. P.E. esta capa define como son los cuadros ("Frames"), las direcciones y las sumas de control ("Checksum") de los paquetes Ethernet.

Además del direccionamiento local, se ocupa de la detección y control de errores ocurridos en la capa física, del control del acceso a dicha capa y de la integridad de los datos y fiabilidad de la transmisión. Para esto agrupa la información a transmitir en bloques ("Frames"), e incluye a cada uno una suma de control que permitirá al receptor comprobar su integridad. Los datagramas recibidos son comprobados por el receptor. Si algún datagrama se ha corrompido se envía un mensaje de control al remitente solicitando su reenvío. El protocolo PPP [1] es ejemplo de esta capa.

Page 81: 6721122 D057 Tecnologia Del PC

La capa de enlace puede considerarse dividida en dos subcapas:

● Control lógico de enlace LLC("Logical Link Control") define la forma en que los datos son transferidos sobre el medio físico, proporcionando servicio a las capas superiores.

● Control de acceso al medio MAC ("Medium Access Control"). Esta subcapa actúa como controladora del hardware subyacente (el adaptador de red). De hecho el controlador de la tarjeta de red es denominado a veces "MAC driver", y la dirección física contenida en el hardware de la tarjeta es conocida como dirección MAC ("MAC address" H12.4). Su principal tarea (que le proporciona el nombre -control de acceso-) consiste en arbitrar la utilización del medio físico para facilitar que varios equipos puedan competir simultáneamente por la utilización de un mismo medio de transporte. El mecanismo CSMA/CD ("Carrier Sense Multiple Access with Collision Detection") utilizado en Ethernet ( H12.4) es un típico ejemplo de esta subcapa.

§3.3 Capa de Red -3-

("Network layer"). Esta capa se ocupa de la transmisión de los datagramas (paquetes) y de encaminar cada uno en la dirección adecuada ("Routing"), tarea esta que puede ser complicada en redes grandes como Internet, pero no se ocupa para nada de los errores o pérdidas de paquetes. Por ejemplo, define la estructura de direcciones y rutas de Internet. A este nivel se utilizan dos tipos de paquetes: paquetes de datos y paquetes de actualización de ruta. Como consecuencia esta capa puede considerarse subdividida en dos:

● Transporte. Encargada de encapsular los datos a transmitir (de usuario). Utiliza los paquetes de datos. En esta categoría se encuentra el protocolo IP ("Internet Protocol"

A3.1).

● Conmutación ("Switching"): Esta parte es la encargada de intercambiar información de conectividad específica de la red (su actividad es raramente percibida por el usuario). Los routers son dispositivos que trabajan en este nivel y se benefician de estos paquetes de actualización de ruta. En esta categoría se encuentra el protocolo

Page 82: 6721122 D057 Tecnologia Del PC

ICMP ("Internet Control Message Protocol" A3.7), responsable de generar mensajes cuando ocurren errores en la transmisión y de un modo especial de eco que puede comprobarse mediante PING [3].

Los protocolos más frecuentemente utilizados en esta capa son dos: X.25 e IP.

● Webografía: OSI: The Network Layer www.cisco.com/warp/public/535/2.html

Esta página de Cisco Systems (en inglés) proporciona un autorizado resumen de los servicios y protocolos de la capa de red.

§3.4 Capa de Transporte -4-

("Transport layer"). Esta capa se ocupa de garantizar la fiabilidad del servicio, describe la calidad y naturaleza del envío de datos. P.E. esta capa define cuando y como debe utilizarse la retransmisión para asegurar su llegada. Para ello divide el mensaje recibido de la capa de sesión en trozos (datagramas), los numera correlativamente y los entrega a la capa de red

para su envío. Durante la recepción, si la capa de Red utiliza el protocolo IP, la capa de Transporte es responsable de reordenar los paquetes recibidos fuera de secuencia. También puede funcionar en sentido inverso multiplexando una conexión de transporte entre diversas conexiones de datos. Este permite que los datos provenientes de diversas aplicaciones compartan el mismo flujo hacia la capa de red.

Un ejemplo típico de protocolo usado en esta capa es TCP ("Transport Control Protocol" A3.1), que con su homólogo IP de la capa de Red, configuran la suite TCP/IP utilizada en Internet, aunque existen otros como UDP ("Universal Datagram Protocol") una capa de transporte utilizada también en Internet por algunos programas de aplicación.

§3.5 Capa de Sesión -5-

Page 83: 6721122 D057 Tecnologia Del PC

("Session Layer"). Es una extensión de la capa de transporte que ofrece control de diálogo y sincronización, aunque en realidad son pocas las aplicaciones que hacen uso de ella. Por ejemplo, las comunicaciones de Internet no la utilizan.

Nota: Algunos autores indican que la capa de sesión es meramente una consideración teórica de los autores del modelo sin absolutamente ninguna utilidad práctica conocida.

§3.6 Capa de Presentación -6-

("Presentation layer"). Esta capa se ocupa de los aspectos semánticos de la comunicación (describe la sintaxis de los datos a transmitir), estableciendo los arreglos necesarios para que puedan comunicar máquinas que utilicen diversa representación interna para los datos. P.E. describe como pueden transferirse números de coma flotante entre equipos que utilizan distintos formatos matemáticos. Esta capa es buena candidata para implementar aplicaciones de criptografía.

En teoría esta capa "presenta" los datos a la capa de aplicación cogiendo los datos recibidos y transformándolos en formatos como texto imágenes y sonido. Como veremos a continuación, en realidad esta capa puede estar ausente, ya que son pocas las aplicaciones que hacen uso de ella.

Nota: Con esta capa ocurre algo parecido a la anterior. En teoría cliente y servidor debían negociar el formato a utilizar, y esta función, y el correspondiente formateo de los datos, sería el objeto de esta capa. Sin embargo, esto, que tenía cierto sentido en la década de los 70, cuando gran parte del trabajo de redes estaba relacionado con la entrada y salida de datos a grandes ordenadores utilizando terminales "Tontas" de diversos tipos (que utilizaban códigos de control ligeramente distintos) no tiene ya mucho sentido.

Actualmente el panorama ha cambiado; solo existe una opción para el formato de datos, a pesar de lo cual, el protocolo OSI sigue negociando un esquema de codificación (el único

Page 84: 6721122 D057 Tecnologia Del PC

disponible). En Internet, el único servicio que utiliza esta capa es TELNET, que precisamente es un servicio de acceso a servidores desde terminales remotos. En este caso, la capa de presentación es la que se encarga de configurar el terminal para conectar a un servidor de características particulares.

§3.7 Capa de Aplicación -7-

("Application layer"). Esta capa describe como hacen su trabajo los programas de aplicación (navegadores, clientes de correo, terminales remotos, transferencia de ficheros etc). Por ejemplo, esta capa implementa la operación con ficheros del sistema. Por un lado interactúan con la capa de presentación; por otro representan la interfaz con el usuario, entregándole la información y recibiendo los comandos que dirigen la comunicación.

Ejemplos de protocolos utilizados por los programas de esta capa son HTTP, SMTP, POP, IMAP etc.

Inicio.

[1] PPP ("Point-to-Point Protocol"). Un protocolo utilizado para enviar paquetes punto-a-punto sobre líneas serie. Es uno de los más utilizados en Internet para comunicaciones sobre líneas telefónicas (comunicación con otras redes a través de módem), ya que permite utilizar sobre él otros protocolos de más alto nivel (más cercanos a la capa de Aplicación), como IPX/SPX y TCP/IP. Puede ser utilizado también sobre conexiones de red distintas de las telefónicas. Windows lo instala cuando se instala un módem o servicio de RAS.

[2] La disección del funcionamiento del hardware y software de comunicaciones para asimilarlos a las distintas capas del modelo OSI se hace cada vez más complicado. En especial porque han surgido especificaciones para comunicaciones avanzadas de red que permiten que un cierto protocolo (por ejemplo TCP/IP) pueda utilizar diversos adaptadores de red, y que un adaptador físico pueda utilizar diversos protocolos software. Estas especificaciones son NDIS ("Network Driver Interface Specification") y ODI ("Open Data-Link Interface"), desarrolladas respectivamente por Microsoft-3Com y Apple-Novell.

Page 85: 6721122 D057 Tecnologia Del PC

[3] PING ("Packet Internetwork Groper") Rastreador de paquetes en redes. Un programa muy útil para averiguar determinados aspectos de las comunicaciones en redes IP ( Ap.C).

Inicio

|Índice| Copyright © 2000-2006 Zator Systems. NO software patents

Page 86: 6721122 D057 Tecnologia Del PC

Tecnología del PC[Home] [Inicio] [Índice]

Subir

El Ordenador Electrónico Digital

§1 Presentación:

Imaginamos sobradamente conocidos por cualquier estudiante los principios generales sobre los que se basan los ordenadores electrónicos digitales, las máquinas en las que probablemente se ejecutarán sus programas. Sin embargo, no está de más un brevísimo repaso a fin de refrescar y traer al tiempo presente algunos conceptos.

Nota: En muchos países hispano-hablantes de cultura técnica más influenciada por USA, se utiliza el término "computadora" por ordenador; más parecida a su equivalente inglés "Computer". Por su parte, la versión castellana deriva del francés "Ordinateur".

§2 Ordenador electrónico digital

Cualquier dispositivo capaz de resolver problemas mediante proceso de la información en forma discreta. Recordemos que aquí el término "digital" se usa en contraposición a "analógico", lo que significa que la información se representa internamente de forma numérica (números racionales). Mediante el recuento, comparación y manipulación de estos números de acuerdo con un conjunto de instrucciones almacenadas en su memoria, un ordenador digital puede realizar multitud de tareas: Realizar complejos cálculos matemáticos; reproducir una melodía, o ganar una partida de ajedrez al campeón mundial humano de la especialidad.

Page 87: 6721122 D057 Tecnologia Del PC

La información se presenta en forma de datos e instrucciones (algoritmos) para su manipulación, y como hemos señalado, está representada internamente de forma "digitalizada", es decir, reducida a cantidades discretas representadas por números, y estos a su vez expresados en formato binario. Este formato utiliza magnitudes que solo pueden adoptar dos valores mutuamente exclusivos (cierto y falso; cero o uno; encendido o apagado; etc). Por consiguiente, pueden representarse con solo dos dígitos O y 1. En contraposición el formato decimal tiene diez dígitos (del 0 al 9 en el sistema arábigo). Lo anterior es válido no solo para la información textual (representada numéricamente mediante el código ASCII, Unicode, o cualquier otra convención); también las imágenes, los colores, los sonidos y los algoritmos, están almacenados en el ordenador en formato binario.

Nota: No confundir los conceptos: electrónico (basados en la electrónica); digital (utilizar magnitudes discretas representadas por números) y binarios (utilizar este modo de representación, una lógica y un álgebra de Boole). Nada impide la existencia de ordenadores no electrónicos (por ejemplo ópticos, biológicos o basados en fluidos); también han existido y existen ordenadores analógicos (no digitales); y tampoco existe inconveniente teórico para la existencia de ordenadores no binarios.

El hecho de que los actuales ordenadores electrónicos digitales sean binarios, se debe, entre otras razones, a que los circuitos digitales actuales están especialmente adaptados a la utilización de la lógica binaria (volveremos sobre esto más adelante), pero han existido intentos de construirlos en base a otras lógicas, por ejemplo "ternarias". Actualmente se empieza a hablar de la computación cuántica, basada en algo distinto a dos estados mutuamente exclusivos.

Resulta así, que el universo de las actuales computadora electrónica digitales es un universo de números binarios que representan información en forma de datos e instrucciones.

Aunque en último extremo internamente todo son números, a los informáticos les gusta referirse a los primeros (los datos), clasificándolos en tres grandes apartados que se corresponden mejor con la imagen que el humano tiene de ellos: numéricos; textuales (o alfanuméricos) y binarios. Cuando estos datos no están en la memoria interna sino en dispositivos externos (generalmente discos magnéticos u ópticos), se agrupan en ficheros, de

Page 88: 6721122 D057 Tecnologia Del PC

los que existen infinidad de tipos, aunque es frecuente agruparlos en tres grandes categorías: Textuales; ejecutables y binarios.

§3 Datos numéricos

Se refieren evidentemente a las magnitudes numéricas clásicas de las matemáticas. Aunque han existido otros sistemas (por ejemplo el sistema de numeración Romano), nuestra cultura "Occidental" actual, utiliza para su representación exclusivamente el denominado sistema de numeración decimal con cero , inventado por la antigua cultura Indostánica; sin embargo, la notación que empleamos es arábiga [5]. La razón de que haya prevalecido frente al sistema latino es simplemente que es mucho más adecuado para las operaciones aritméticas.

En cuanto al sistema de codificación empleado para representarlos en los ordenadores, ya hemos dicho que es el sistema de numeración binario . Su álgebra es la de Boole [1], y por lo demás, el concepto es universal y no tiene idiomas o matices (suerte de los matemáticos). La notación empleada para representar gráficamente estos dígitos binarios suele ser de Ceros y Unos.

La necesidad de representar cantidades positivas y negativas ha motivado la aparición de algunas variedades de representación (binarias desde luego) a las que nos referiremos a en el capítulo dedicado a la Representación interna y rango de las variables numéricas ( E2.2.4a) del manual C++; su conocimiento es importante, ya que nos permitirá conocer como están almacenados internamente los números y comprender el significado de algunas las operaciones de C++.

Contra lo que ocurre con los datos textuales (a los que nos referimos inmediatamente ), existen diversas formas de representación simbólica (en el texto de los programas) de las cantidades numéricas, de forma que no siempre se representan en formato decimal como sería de esperar. En la sección Formas de representación simbólica ( E2.2.4b) se exponen detalles de los formatos utilizados.

Page 89: 6721122 D057 Tecnologia Del PC

§4 Datos textuales

Se refiere a la idea que todos tenemos de aquella información que puede ser representada mediante la escritura. Este tipo de datos tiene tres atributos o características que conviene matizar:

● Lengua natural [2] en que se haya representado, que puede ser cualquiera de las conocidas: Español, Francés, Inglés, Alemán, etc.

● Sistema de escritura utilizado, que para nosotros es el denominado "Sistema occidental" (que se basa en un alfabeto de raíz latina), aunque naturalmente existen otros: Árabe, Chino, Japonés, Griego, etc.

● Sistema de codificación empleado para traducir los grafos del alfabeto a números. Se empezó utilizando el Us-ASCII, pero actualmente el sistema más utilizado es Unicode ( E2.2.1a).

§5 Datos binarios

La informática trata cada vez más con los tipos de datos denominados "Multimedia", sonidos e imágenes [3], en multitud de formas y calidades: Monoaural, estereo, Dolbi-digital, MP3, etc. para los primeros; estáticas o en forma de flujo (stream); en color, o en blanco y negro, etc. para las segundas.

Aunque tanto los sonidos como las imágenes son de naturaleza intrínsecamente analógica, los informáticos han inventado sistemas para digitalizarlas (reducirlas a números) con la menor pérdida de calidad y de la forma más comprimida posible. Aquí se habla de "codecs" para referirse a los diversos algoritmos que a la postre reducen los sonidos o imágenes a ficheros de números y posteriormente reconstruyen los sonidos e imágenes a partir de los números. Estos ficheros son denominados de forma genérica como "binarios".

§6 Los sistemas de representación numérica

Page 90: 6721122 D057 Tecnologia Del PC

Una vez establecido que el universo interno del ordenador electrónico digital es numérico, resulta interesante resaltar que las características físicas de los dispositivos eléctricos, hacen que sea muy fácil representar con ellos magnitudes binarias; simplemente haciendo corresponder los dos posibles valores de la variable con dos estados físicos de un circuito o dispositivo. Por ejemplo, con los estados de: Conducción no conducción; tensión, sin tensión; magnetizado no magnetizado; con luz, sin luz; etc.

Como el álgebra de Boole maneja variables que solo pueden tener dos estados ("cierto" y "falso"), es muy fácil representar y emular comportamientos y ecuaciones de dicha álgebra mediante circuitos electrónicos. Así, construir un circuito electrónico que responda (que proporcione como salida) el OR, AND, NOR, XNOR, etc de unas ciertas variables de "entrada", es trivial desde el punto de vista de diseño de circuitos lógicos (puede diseñarse fácilmente un circuito digital que responda a unas "Ecuaciones" lógicas -de Boole- por complejas que sean).

§6.1 Sistema decimal

En cuanto al problema de representar internamente cantidades numéricas, el sistema tradicional (el decimal con cero al que estamos acostumbrados), no es muy adecuado para los dispositivos electrónicos, puesto que aquí, al ser un sistema de base 10, las variables (las cifras), pueden tener diez valores distintos (los guarismos 0 al 9 si utilizamos el sistema arábigo de numeración).

Recordemos que en este sistema, una cantidad cualquiera, por ejemplo 1798, en realidad se lee como:

1 x 103 + 7 x 102 + 9 x 101 + 8 x 100 == 1 x 1000 + 7 x 100 + 9 x 10 + 8 x 1

Observe la diferencia entre los diversos conceptos involucrados: el número o cantidad "mil setecientos noventa y ocho", su representación en el sistema decimal (1978) y las cifras o guarismos que componen su representación en este "sistema de numeración" (en este caso cuatro cifras: 1, 7, 8 y 9 colocadas en un cierto orden).

Page 91: 6721122 D057 Tecnologia Del PC

Desde la escuela primaria sabemos que en este sistema, el valor de las cifras viene complementado por su posición en el conjunto (decimos que es "posicional"); de forma que el valor total de una expresión viene representado por el producto de su valor-base (0 a 9) multiplicado por la potencia de 10 que corresponda según su posición. Al final se suman los resultados parciales.

Resulta así que en el sistema decimal, la cantidad mas alta que se puede representar mediante una cantidad de cuatro cifras, nnnn es, como máximo:

9 x 103 + 9 x 102 + 9 x 101 + 9 x 100 == 9999 (10.000 si le añadimos el cero).

Es fácil verificar que un número decimal de n dígitos puede representar como máximo una cantidad igual a 10n (en el caso del ejemplo, para 4 dígitos, 104 = 10000).

El mismo concepto (la misma cantidad) puede ser representada utilizando distintos sistemas de numeración, por ejemplo: MDCCXCVIII en números romanos (por cierto, un sistema muy poco adecuado para las matemáticas).

§6.2 Sistema binario

El sistema binario puede representar igualmente cualquier cantidad basándose en cifras que solo pueden tener dos valores, 0 y 1 ( ). El sistema es exactamente análogo al decimal, con la diferencia de las potencias; de 2 que es la nueva base (en vez de 10 como en aquel caso). Por tanto, la cantidad binaria 11100000110 se lee:

1x210 + 1x29 + 1x28 + 0x27 + 0x26 + 0x25 + 0x24 + 0x23 + 1x22 + 1x21 + 0x20

Si el lector quiere "sacar la cuenta" verá que conduce igualmente a "mil setecientos noventa y ocho".

Una magnitud que solo puede tener dos valores se denomina bit. (abreviatura de "Binary digit", número binario). Es la menor cantidad de información que puede

Page 92: 6721122 D057 Tecnologia Del PC

concebirse, y su abreviatura es b. Por ejemplo, 10 Kb son 10.000 bits. Resulta así, que un interruptor que puede estar encendido o apagado es (puede ser) un almacenamiento de 1 bit de información; basta con hacer corresponder "encendido" con uno de los valores y "apagado" con el otro.

El asunto es que estas variables "binarias" (que solo pueden adoptar dos valores distintos), son mucho mas adecuadas para ser representadas mediante dispositivos eléctricos, magnéticos y ópticos, que las "decimales", por lo que es este el "formato" elegido para la representación y almacenamiento de cantidades numéricas en los ordenadores electrónicos digitales. La capacidad de representación de este sistema es sin embargo menor que en el decimal, así, una cantidad binaria de 4 dígitos puede representar como máximo:

1 x 23 + 1 x 22 + 1 x 21 + 1 x 20 == 15 (16 si añadimos el cero)

En el caso de la numeración binaria, también es fácil verificar que un número de n dígitos puede representar como máximo una cantidad igual a 2n . En el caso del ejemplo, para 4 dígitos, 24 = 16).

En la tabla adjunta se expresan las cantidades que se obtienen con la unidad seguida de cierto número n de ceros en los sistemas decimal y binario, lo que representa las potencias n de la base de numeración. Es decir: 10n o 2n.

Base 10 Número decimal Base 2 Número binario Equivalente

decimal100 1 20 1 1 101 10 21 10 2 102 100 22 100 4 103 1000 23 1000 8 104 10000 24 10000 16 105 100000 25 100000 32 106 1000000 26 1000000 64

Page 93: 6721122 D057 Tecnologia Del PC

107 10000000 27 10000000 128 108 100000000 28 100000000 256 109 1000000000 29 1000000000 512 1010 10000000000 210 10000000000 1024

§6.3 Otros sistemas de representación numérica

Además del decimal y el binario (este último es el sistema "natural" del ordenador), en la literatura informática y en los fuentes de los programas se utilizan otras formas de numeración (sobre todo para representar valores constantes). Son los sistemas octal ( 2.2.4b); hexadecimal ( 2.2.4b) y BCD H0.1w1).

§7 Almacenamiento interno

Tradicionalmente el almacenamiento interno de los ordenadores se realiza en grupos de 8 (o múltiplos de 8) cifras binarias (bits), estos conjuntos (octetos) son la menor cantidad de información que trata el ordenador con entidad propia, reciben el nombre de bytes, y suele abreviarse con B. Por ejemplo, 16 Kb y 16 KB. se refieren a 16000 bits y 128.000 bits respectivamente.

Nota: Hemos señalado que bit es la abreviatura de Binary Digit, mientras que el nombre Byte fue acuñado en la década de los 50 por Werner Bushholz de la IBM [4]; la palabra proviene de una mutación de "bit", hecha de forma que no hubiese confusión al pronunciarlas (bit y byte suenan muy distintas en inglés).

En ocasiones, además de los octetos, se utilizan agrupaciones de 4 bits, reciben el nombre de nibble. Así que 2 nibbles = 1 Byte.

Podemos usar un símil para entenderlo: aunque nuestro alfabeto tiene 26 caracteres, no solemos utilizarlos aislados. Para que tengan significado se utilizan en grupos (palabras), los

Page 94: 6721122 D057 Tecnologia Del PC

ordenadores utilizan también palabras, solo que estas son siempre de la misma longitud (8, 16, 32 o 64 bits según el modelo de procesador).

Según lo anterior, un octeto (una "palabra" de 8 bits) 1 Byte, puede contener un número de hasta 28 = 256, lo que deriva en que si por ejemplo, reservamos una palabra de 8 bits para "describir" (contener) una variable, sabemos de antemano que dicha variable no va a poder adoptar nunca mas de 256 estados distintos. Esto, unido al hecho de que la forma de representación interna utiliza el sistema binario y los elementos y circuitos físicos son igualmente binarios (pueden adoptar solo dos estados), hacen que las potencias de dos: 8, 16, 32, 64 etc. son "números mágicos" en el mundo de las computadoras.

Inicio.

[1] George Boole (1815-1864). Matemático inglés cuyos trabajos teóricos sobre conjuntos de números binarios (que solo pueden adoptar dos valores), ayudó a establecer las bases de la moderna lógica simbólica. Su álgebra de la lógica binaria es también denominada álgebra Booleana.

[2] Nos referimos a las lenguas o lenguajes "Naturales" en contraposición a los "Artificiales" utilizados en informática. Los primeros han sido inventados espontáneamente por el hombre (a excepción del Esperanto), y son el resultado de mutaciones que se pierden en la noche de los tiempos. Los segundos han sido y están siendo inventados por los informáticos para comunicarse con los ordenadores (computadoras).

[3] Ya se está experimentando con olores; creo que incluso existe alguna patente al respecto.

[4] Por supuesto, byte puede escribirse con mayúscula y minúscula, pero es costumbre informática utilizar la mayúscula "Byte", mientras que bit, se suele escribir siempre con minúscula.

[5] Ahora que el asunto parece estar de moda, digamos que no solo debemos a la cultura Islámica las cifras numéricas, incluso muchos textos clásicos han llegado hasta nosotros a través del Islám.

Page 95: 6721122 D057 Tecnologia Del PC

Tecnología del PC[Home] [Inicio] [Índice]

Subir

2.1 Entradas/Salidas

§1 Sinopsis

Si consideramos que el núcleo del ordenador está constituido por la placa-base y los elementos montados en ella (los elementos que podemos llamar "internos"), y que el resto de los dispositivos conectados son "externos", entonces podemos considerarlas dos tipos de comunicaciones o transferencias de información [1]:

● Transferencias externas o de entrada/salida (E/S); ocurren entre los elementos exteriores y la placa-base. Básicamente son transferencias entre dispositivos exteriores (periféricos) y el procesador, o entre periféricos y memoria.

● Transferencias Internas; ocurren entre los elementos internos. Mayoritariamente se trata de transferencias entre el procesador y la memoria, o entre las diversas posiciones de memoria. Pero también (y esto es importante) existen transferencias entre los anteriores y otros dispositivos hardware que conectan directamente con el bus. Considere que al fin y al cabo, incluso los dispositivos considerados "externos" o periféricos, conectan con algún dispositivo (por ejemplo, un adaptador) que está a su vez conectado al bus de la placa base.

Debemos recordar aquí que las operaciones E/S en las que interviene la memoria, son abrumadoramente más importantes y frecuentes que las del resto, por lo que el PC les da un tratamiento especial; disponen de un subsistema específico en el bus, y el tratamiento

Page 96: 6721122 D057 Tecnologia Del PC

software también es especial (el procesador dispone de un montón de instrucciones específicas para controlar las operaciones con la memoria). Nosotros le hemos dedicado un capítulo específico ( H2.3). En consecuencia, aquí nos referiremos principalmente a las E/S con otros dispositivos hardware.

§2 Tipos de comunicación E/S

En general los procesos de E/S pueden ser de tres tipos según la forma en que se inician y controlan:

§2.1 E/S programadas

También denominadas de interrogación o encuesta ("Polling"). El programa decide cuando y con que dispositivos se establecerá la comunicación de E/S. Es un método adecuado en determinadas circunstancias (periféricos lentos), pero resulta ineficiente si deben atenderse periféricos rápidos o gran cantidad de ellos. Sobre todo si la comunicación se origina del lado de los dispositivos (es el periférico el que solicita la comunicación), porque el procesador debe interrogar periódicamente al periférico, lo que supone un tiempo extra.

§2.2 E/S solicitada mediante interrupción

Este método es utilizado intensivamente en la programación actual, y es la base del funcionamiento de los procesadores modernos, por lo que le dedicamos un capítulo ( H2d). La esencia del método consiste en que el periférico que desea establecer comunicación, dispone de un canal especial ("casi" siempre abierto) para solicitarla al procesador. Cuando el procesador recibe esta señal, que se denomina petición de interrupción, termina la instrucción que esté en ejecución y atiende al periférico. Es el sistema más eficiente para atender a periféricos de velocidad media, o cuando hay que atender a gran número de ellos.

Page 97: 6721122 D057 Tecnologia Del PC

§2.3 E/S gobernada por controlador de bus

Los sistemas anteriores tienen el inconveniente de que cualquiera que sea el procedimiento por el que se inicia la E/S, es el procesador el que debe atenderla. Sin embargo, hay ocasiones, en especial cuando se trata de transferencias de datos entre periféricos rápidos y memoria (por ejemplo discos), en que se alcanza una mayor eficacia dejando al procesador al margen del proceso (la cuestión tiene cierta lógica pues al fin y al cabo, el asunto no va con él). Estos procesos se conocen como acceso directo a memoria DMA ("Direct Memory Access"), y exigen dos requisitos:

I- El procesador debe ser capaz de dejar libre el bus de datos para que otro dispositivo tome su control, limitándose mientras tanto a esperar.

II- Otro dispositivo debe tomar el control del bus ("bus mastering"), para controlar él mismo el proceso.

En el PC se cumplen ambas condiciones. Al tratar la arquitectura de los procesadores 8088 y siguientes, veremos que disponen de tres patillas específicas para atender al primer punto ( H3b1). Además hemos señalado que la placa base dispone de un chip específico, el controlador de acceso directo a memoria DMAC ("DMA Controller"), así como ciertas líneas dedicadas en el propio bus de control. En el capítulo correspondiente ( H2.3) se expone con más detalle el funcionamiento de esta modalidad muy utilizada e importante en la arquitectura de sistemas actual.

§3 Controlar las E/S

Hemos visto que, incluso en el caso de dispositivos externos o periféricos, al final las transferencias de datos suponen siempre el paso de estos por el bus del sistema. En este sentido el bus es una línea a la que se conectan cierto número de dispositivos y todos pueden "ver" o escuchar los datos que pasan. Adicionalmente también casi todos ellos pueden "escribir" o depositar datos en esta línea. Por supuesto este canal no es un galimatías o un patio de vecinos en el que todos hablan cuando les parece. Las

Page 98: 6721122 D057 Tecnologia Del PC

transmisiones están sincronizadas por el tic-tac del reloj del sistema ( H2). Además existe siempre un árbitro, generalmente el procesador, que actúa como el director de un debate, concediendo la palabra al dispositivo adecuado [4].

§3.1 Puertos E/S

La organización y control del tráfico es posible porque los dispositivos conectados al bus se construyen de forma que, aunque están a la escucha de los datos que circulan por él, solo reaccionan cuando la dirección existente en ese momento en el bus de direcciones tiene un valor concreto. Esta "dirección" puede ser un valor único (raramente) o cualquiera dentro de un rango de valores contiguos. En estas circunstancias, y dependiendo de la dirección y del estado de otras líneas, el dispositivo puede escribir un dato en el bus de datos, o leer el que exista en ese momento en el bus. En el resto de casos, el dispositivo sencillamente ignora lo que sucede en el bus. Por ejemplo, la interfaz del teclado solo reacciona cuando el bus contiene direcciones entre 60h y 6Fh inclusive.

Cada una de estas direcciones es lo que se conoce como un puerto E/S ("I/O port") y viene a ser como la "dirección" del dispositivo. El principio de funcionamiento es que cuando el dispositivo ve que el dato en el bus de direcciones se refiere a él, realiza una acción determinada. Por ejemplo, poner o leer un dato en el bus de datos. Como veremos a continuación, cuando un dispositivo responde a un rango de direcciones, cada dirección tiene distinto uso.

Nota: Aunque la verdadera "tarjeta de presentación" de cualquier dispositivo es la identificación de su "puerto" (mediante la dirección/es correspondiente/s), es costumbre referirse a algunos dispositivos mediante una etiqueta como indicativo del puerto en lugar de su dirección [5]. Son los denominados dispositivos lógicos ("Lógical devices"). Entre los más conocidos están los puertos de comunicación serie COM1 a COM4, los de impresora LPT1 a LPT3 y los de discos; A:; B:; C:; Etc. En realidad estos identificadores deben ser traducidos internamente a números de puerto, aunque para usarlos sea más cómodo referirse a ellos mediante sus etiquetas.

Como puede verse, referirse a un puerto E/S equivale a referirse a un dispositivo concreto y

Page 99: 6721122 D057 Tecnologia Del PC

los intercambios de información con los dispositivos de E/S, se realizan como en el resto de los casos utilizando direcciones. De modo que cuando el sistema necesita dirigirse a un "puerto", utiliza una dirección. En este sentido, el procedimiento es análogo al utilizado para intercambios de datos entre el procesador y la memoria o entre direcciones de memoria, aunque en este último caso, el procesador dispone de un amplio abanico de instrucciones que permiten mover y operar directamente entre registros y direcciones de memoria, frente a solo dos (las instrucciones IN y OUT) cuando estas operaciones se realizan entre registros y direcciones de puertos [2].

Tanto si la transferencia es con una posición de memoria como con un puerto, la forma de operar es siempre la misma; poner el dato en el bus de datos y la dirección en el de direcciones. El sistema sabe que se trata de una dirección de memoria o de puerto y cual es la acción esperada (lectura o escritura) porque se dispone señales adecuadas en las patillas del procesador, que tienen su prolongación en el bus de control ( H3.2.1). Aunque las direcciones de periféricos son coincidentes (en valor) con las de memoria, no hay posibilidad de confusión porque los elementos conectados al bus (memoria y periféricos) saben cuando un dato se dirige a unas u otros por el estado de las mencionadas líneas.

§3.1 Direccionamiento dedicado

El sistema de direccionamiento de dispositivos anteriormente descrito, se conoce como de direcciones independientes o dedicadas. La dirección del puerto debe ser establecida por el fabricante del periférico, pero el 8088, y por consiguiente el PC, disponían de pocas de estas direcciones "independientes" para asignar a periféricos, por lo que tradicionalmente cada dispositivo montaba varias direcciones alternativas que debían ser seleccionadas mediante puentes o interruptores [3]. Esta disposición permite que si una dirección está ocupada por otro dispositivo pueda ser cambiada, de forma que se adapte a una dirección libre, aunque la solución resultaba engorrosa y complicada a la hora de instalar el hardware.

Como se ha señalado, el acceso a puertos de direccionamiento dedicado se realiza exclusivamente mediante dos instrucciones, IN y OUT. La primera lee un byte del registro de salida del puerto y lo sitúa en un registro del procesador; la segunda escribe el contenido de un registro del procesador en un registro del puerto. Nos referimos a ellas más

Page 100: 6721122 D057 Tecnologia Del PC

detenidamente en el epígrafe dedicado a los puertos E/S ( H2e)

Desde la introducción del primer IBM PC era costumbre que determinados dispositivos muy comunes se conectasen mediante puertos de direcciones determinadas. También hay que reseñar que un mismo periférico puede tener varias direcciones (de hecho es rarísimo que tenga menos de dos). La razón es que estos dispositivos tienen varios registros (cada registro es una dirección de 1 Byte). Normalmente uno o varios son direcciones de lectura/escritura de datos desde/hacia el dispositivo, mientras que otros (que pueden ser de solo escritura), sirven para programar el dispositivo. Por ejemplo, el controlador de puerto serie, que suele ser un chip 8250, dispone de 8 registros. Aunque los datos se reciben y transmiten por uno de ellos, el resto sirve para programar y controlar el funcionamiento del dispositivo (poner el control de paridad, la velocidad de transmisión, el número de bits de datos, número de bits de parada, Etc.)

El sistema de direcciones dedicadas, aunque adecuado para dispositivos de mediana/baja velocidad, y de relativamente pocas direcciones, no resulta adecuado para dispositivos rápidos y/o que utilicen comparativamente muchos registros de programación o control.

§3.2 Direccionamiento mapeado en memoria

Una alternativa al método anterior consiste en construir los dispositivos periféricos de forma que sus registros internos respondan como direcciones de memoria. Este sistema se denomina de direccionamiento mapeado en memoria, y presenta indudables ventajas. La principal es que se dispone de todo el amplio arsenal de instrucciones para manipular datos entre estas posiciones y los registros del procesador. Es un método especialmente adecuado para manejo de periféricos rápidos, o que tengan gran cantidad de registros internos. Un caso paradigmático lo constituyen los controladores de video, que deben almacenar grandes cantidades de información, que además debe ser movida a gran velocidad.

Naturalmente esta solución requiere que los registros del dispositivo se comporten exactamente como lo hace la memoria. Es decir, deben responder como auténticas direcciones de memoria RAM. Observe que esto no es lo usual en determinados periféricos.

Page 101: 6721122 D057 Tecnologia Del PC

Por ejemplo; un ratón o un teclado no conservan la información que se pudiera escribir en ellos; además su contenido dependería del movimiento o de las pulsaciones de teclas realizadas por el operador.

Otra condición no menos importante, es que los registros deben ser suficientemente rápidos para que puedan ser equiparadas a la velocidad de acceso de la RAM. Observe que en este caso, el procesador no distingue realmente entre la dirección de auténtica RAM y las direcciones que corresponden a un periférico. Por ejemplo, en el caso de un controlador de video el procesador escribe en unas determinadas posiciones de memoria y el resultado es mostrado automáticamente en la pantalla del monitor.

El sistema tiene la ventaja de que los periféricos se manejan de forma unificada dentro del espacio general de direcciones de memoria, y que se dispone de los recursos propios del manejo de la memoria, entre ellos el mecanismo de acceso directo DMA , con lo que determinados movimientos pueden efectuarse casi sin intervención del procesador. Por ejemplo, intercambios entre la memoria de video y el disco. Sin embargo, el sistema presenta también evidentes inconvenientes. El primero y principal es que estas direcciones, denominadas direcciones I/O, quedan excluidas de su posible utilización como auténtica RAM de propósito general.

Nota: En los sistemas actuales de 32 bits, con varios GBytes de memoria virtual ( H5a) direccionables en un único espacio contiguo, esto no representa un serio inconveniente. Pero en los primeros equipos, con solo unas cuantas KB de RAM, el sistema de periféricos mapeados en memoria representaba una auténtica dificultad.

Inicio.

[1] Como casi todas las clasificaciones, esta que proponemos es un tanto artificiosa y representa solo uno de los muchos puntos de vista de la cuestión, sin embargo puede servir para situar al lector en el problema y para facilitarle una imagen de los mecanismos involucrados.

Page 102: 6721122 D057 Tecnologia Del PC

[2] Nos referimos al procesador 8088 instalado en los primeros PC's. Los descendientes de esta saga han ampliado considerablemente el abanico de instrucciones que pueden manejar, pero en cualquier caso, la superioridad es abrumadora para las instrucciones registro/memoria frente a las instrucciones registro/puerto.

[3] Como veremos al tratar de las interrupciones ( H2d), también disponían de varias opciones para seleccionar la línea IRQ que debía usar el periférico.

[4] Veremos a continuación que el procesador puede ceder momentáneamente el control del bus a otros dispositivos.

[5] Esta forma de identificación se utiliza principalmente en la interfaz ("Shell") del Sistema Operativo y en los lenguajes script que la manejan. También en algunos lenguajes de alto nivel.

Inicio

|Índice| Copyright © 2000-2006 Zator Systems. NO software patents

Page 103: 6721122 D057 Tecnologia Del PC

Tecnología del PC[Home] [Inicio] [Índice]

Subir

2.2 Buses locales

§1 Sinopsis

La velocidad de proceso ha sido, es, y será, una de las preocupaciones básicas de los diseñadores de sistemas, y una parte sustanciál del rendimiento está directamente relacionada con la eficacia de las transferencias de datos en el interior de la máquina. El mecanismo de acceso directo a memoria DMA, previsto por los diseñadores del PC original, fue una primera aportación en este sentido, pero las necesidades y exigencias han ido creciendo de forma exponencial. Sistemas cada vez más capaces soportan aplicaciones cada vez más exigentes que requieren a su vez máquinas más veloces. La adopción de sistemas gráficos como estándar, incluso para ordenadores personales primero, y las posteriores exigencias multimedia, ha disparado las exigencias en este sentido.

En esta búsqueda inacabable de mejores prestaciones, una de las líneas de actuación ha sido crear buses específicos que descongestionaran el cuello de botella que representan las transferencias de datos en el bus general FSB. Estas nuevas vías se han denominado genéricamente buses locales.

§2 Bus VESA

Unos de los dispositivos responsable de un mayor tráfico de datos son los adaptadores gráficos. Precisamente por ello son "mapeados en memoria", y ha sido la búsqueda de

Page 104: 6721122 D057 Tecnologia Del PC

mejores rendimientos del sistema de video la responsable de la aparición de los primeros buses locales. Precisamente, la aparición del primero, el VLB ("VESA Local Bus") en 1992, está relacionado con la tecnología del video. VESA son las siglas de "Video Electronic Standard Association".

El VLB fue introducido a raíz de la introducción de los 386 con el fin de sacar partido a las posibilidades de las nuevas generaciones de procesadores, en especial a sus buses internos de 32 bits. La solución consistió en conectar directamente con el procesador dos o tres de los dispositivos externos, que necesitaban de una conexión rápida, mediante un bus de 32 bits dotado de unos zócalos especiales.

Los elementos que se solían conectar eran principalmente adaptadores de video, placas controladoras de disco duro (IDE y SCSI) y tarjetas LAN. Sin embargo, causaron bastantes problemas, en especial cuando se utilizaban dos o más de dichas tarjetas a frecuencias elevadas (para la época) de 50/60 MHz.

Nota: Los conectores VLB eran de apariencia similar a los antiguos conectores EISA de 16 bits muy extendidos entonces, solo que añadiéndoles una tercera sección de contactos, lo que hacía que estos dispositivos se montaran en placas muy largas y notoriamente difíciles de conectar y desconectar de sus zócalos.

§3 Bus AGP

AGP significa "Advanced Graphics Port". Se trata de un bus independiente del bus general dotado de un zócalo específico para tarjetas gráficas. El bus de datos AGP es de 32 bits a 66 MHz, aunque incluye la posibilidad de doblar o cuadruplicar las características básicas, hasta una tasa de transferencia máxima de 1064 Mbits por segundo.

Nota: En realidad podría argumentarse que no es un bus en el sentido amplio, más bien se trata de una forma particular de la interfaz PCI ( 6.4), razón por la cual en algunos aspectos es idéntica a aquella. Actualmente es un puerto de uso exclusivo para dispositivos gráficos de alta velocidad.

Page 105: 6721122 D057 Tecnologia Del PC

§4 Backside bus

Algunos sistemas incluyen el denominado "Backside Bus", que conecta el procesador con la caché L 2 ( H5.2) utilizando la misma frecuencia que el procesador. Por ejemplo, el Pentium II dispone de dos módulos, en uno está el procesador propiamente dicho y la caché L1. En el otro está la caché L2 unida a la anterior por uno de estos buses la misma frecuencia que el procesador. 200/450 MHz frente a los 66/100 MHz del FSB.

§5 Bus CNR

En febrero de 2000 Intel anunció un nuevo estándar de nominado CNR ("Communication and Networking Riser"). Se trata de la especificación de un sistema de bus y conexión que permite instalar junto a la placa-base otras placas auxiliares, en las que se conecten dispositivos tales como controladores de red, módems, adaptadores ADSL [1] y subsistemas de audio que son cada día mas habituales en los PCs.

La mencionada especificación proporciona interfaces para soportar audio multicanal; conectividad para redes caseras basadas en líneas telefónicas y del tipo Ethernet 10/100; módems analógicos de norma V90 y posibilidad de ampliación a nuevas tecnologías.

La medida pretende facilitar a los diseñadores de placas-base la integración de los mencionados dispositivos, y de paso, simplificar su diseño, ya que permite mantener separados los dispositivos proclives a producir interferencias con los que son especialmente sensibles a ellas.

§6 Bus serie universal

USB ("Universal Serial Bus") Un nuevo estándar para comunicaciones serie que resuelve muchos de los inconvenientes de los antiguos puertos COM. Presenta algunas ventajas frente a los sistemas tradicionales: Soporta dos velocidades, 12 y 1.5 Mb/s; puede incluir alimentación a los dispositivos conectados (si sus demandas son pequeñas, +5 V.); pueden

Page 106: 6721122 D057 Tecnologia Del PC

conectarse hasta 127 dispositivos en una especie de cadena (similar a la SCSI aunque de menor velocidad) compartiendo todos ellos el mismo canal, y puede realizarse la conexión y desconexión en "caliente" (sin apagar el equipo).

Actualmente todos los PCs disponen de un par de salidas USB y muchos dispositivos, como ratones; escáners; webcams; equipos de fotografía digital, etc. que antes se conectaban a través de puertos COM o LPT, lo hacen ahora mediante USB. Más información en 2.5.3

§ Bus IEEE 1394

Supuestamente el USB será reemplazado en el futuro por un nuevo estándar, el denominado IEEE 1394, Firewire o iLink. Debe su nombre a que fue propuesto en la recomendación número 1394 del IEEE ("Institute of Electrical and Electronics Engineers"). Es técnicamente muy superior al USB, aunque menos popular por el momento.

Se trata de un estándar de comunicación serie que permite dos conexiones síncronas o asíncronas simultaneas. La segunda se supone para comunicaciones que no son críticas, mientras que las síncronas permiten garantizar que la transmisión se realizará en un tiempo determinado, y se destina a transmisiones de alta prioridad como audio o video. Presenta una arquitectura escalable con distintas velocidades dentro de un único bus (100, 200 y 400 Mbps).

Su topología puede ser lineal o ramificada, y físicamente está constituido por tres pares de cables. El primer par se encarga de la alimentación, que puede variar de 8 a 40 V. cc., los otros dos pares son de tipo trenzado incluidos en una funda plástica que los independiza. Al igual que el USB permite la conexión y desconexión en caliente y es un estándar abierto (su utilización no supone pago de "royaltys" a ninguna compañía propietaria).

Inicio.

[1] ADSL ("Asymmetric Digital Subscriber Line"). Un tipo específico de DSL desarrollado para enviar señales de video a través de líneas telefónicas normales bajo el concepto de

Page 107: 6721122 D057 Tecnologia Del PC

comunicaciones en una sola dirección, ya que emplea la mayoría de los recursos en la recepción de información y una menor cantidad de ellos para el envío. Se caracteriza porque el flujo descendente de datos "downstream", desde el conmutador de la cía telefónica hasta el suscriptor, es mayor que el flujo ascendente, "upstream". En realidad, lo que se ha hecho es reducir al mínimo el espacio que ocupa la transmisión de voz -llamadas telefónicas-, de forma que casi toda la capacidad de línea puede utilizarse para transmisión de datos. El sistema se está utilizando también para conexión a Internet, y la velocidad alcanzada es de entre 128 Kbps a 256 Kbps.

Como las demás variantes de DSL está sometida a un cierto número de factores limitadores, incluida la distancia de la central telefónica (cuanto mas lejos, mas lento). La conexión de una línea ADSL con un PC no puede efectuarse a través de un puerto estándar serie debido a su elevada velocidad. Los módems ADSL deben colocarse como dispositivos internos.

Inicio

|Índice| Copyright © 2000-2006 Zator Systems. NO software patents

Page 108: 6721122 D057 Tecnologia Del PC

Tecnología del PC[Home] [Inicio] [Índice]

Subir

2.3 Acceso directo a memoria

§1 Presentación

Puesto que la mayoría de datos que maneja el ordenador están antes o después en la memoria RAM, los intercambios entre esta y el resto de elementos son muy frecuentes. En general este intercambio es conducido por el procesador, pero en determinados casos, la memoria pueda realizar intercambios directamente con los periféricos sin intervención del procesador. Por ejemplo, el disco o una tarjeta de sonido, lo que conduce a un incremento del rendimiento del sistema.

§2 DMA

Ya desde su concepción inicial, los diseñadores del PC dispusieron una arquitectura que permitiese este tipo de intercambios. El mecanismo utilizado se conoce como acceso directo a memoria DMA ("Direct Memory Access"), e igual que ocurre con las excepciones, el sistema DMA dispone de algunos elementos hardware auxiliares que lo convierten en un subsistema autónomo dentro del bus externo. Estos elementos son:

● Ciertas líneas dedicadas en el bus de control .

● Un procesador específico, el DMAC ("DMA Controller"), que permite que puedan realizarse estos intercambios sin apenas intervención del procesador .

Page 109: 6721122 D057 Tecnologia Del PC

● Pequeñas zonas auxiliares de memoria, conocidas como Registros de página .

§3 Líneas de control

El bus de control ( H2) tiene líneas específicas para este tipo de intercambios, de forma que el DMA es un subsistema autónomo dentro del mecanismo general de intercambio de datos y control del bus. Son las siguientes:

● Líneas DRQ1 a DRQ3 ("DMA request"). Utilizadas por los dispositivos que necesitan efectuar un acceso directo a memoria.

● Líneas DACK1 a DACK3 ("DMA acknowledge"). Se utilizan para acusar recibo de la petición DRQ correspondiente.

● AEN ("Access Enabled") Cuando esta señal está alta, el controlador DMA tiene control sobre ciertas líneas del bus; precisamente las que gobiernan los intercambios con memoria y puertos (MEMR, MEMW, IOR, IOW, Etc).

● MEMR ("Memory Read") Cuando se activa, esta señal indica a la memoria conectada al bus que escriba los datos en el bus de datos.

● MEMW ("Memory Write") Cuando se activa, indica a la memoria que almacene los datos situados en el bus de datos.

● Conexiones del controlador DMA con las patillas 30 y 31 de la UCP ( 3.2.1)

§4 Controlador DMA

El mecanismo de acceso directo a memoria está controlado por un chip específico, el DMAC ("DMA Controller"), que permite realizar estos intercambios sin apenas intervención del procesador. En los XT estaba integrado en un chip 8237A que proporcionaba 4 canales de 8 bits (puede mover solo 1 Byte cada vez); sus direcciones de puerto son 000-00Fh. Posteriormente en los AT se instalaron dos de estos integrados y las correspondientes líneas auxiliares en el bus de control.

Page 110: 6721122 D057 Tecnologia Del PC

En contra de lo que podría parecer, el resultado no fue disponer de 8 canales, porque el segundo controlador se colgó en "Cascada" de la línea 4 del primero (más adelante se explica este concepto ). Los canales del segundo DMAC está asignado a las direcciones 0C0-0DFh y son de 16 bits. Pueden mover 2 Bytes (de posiciones contiguas) cada vez.

Cada canal tiene asignada una prioridad para el caso de recibirse simultáneamente varias peticiones (los números más bajos tienen prioridad más alta). Pueden ser utilizados por cualquier dispositivo que los necesite (suponiendo naturalmente que esté diseñado para soportar este modo de operación). Cada sistema los asigna de forma arbitraria, pero hay algunos cuya asignación es estándar.

Canal Uso

0En los primitivos PCs estaba dedicado al refresco de memoria. En los sistemas actuales está libre.

1 Libre: Generalmente a dispositivos SDLC [3] (codificadores de audio)

2 Controlador de disquete

3 Controlador puerto de impresora ECP [2]

4 Libre en los XT. Ocupado en los AT (segundo controlador DMAC)

5 Libre (AT)

6 Libre (AT)

7 Libre (AT)

Nota: El Sistema Windows 98 incluye el programa MSINFO32.EXE con el que se pueden comprobar muchas características del sistema, incluyendo la asignación de canales DMA. Los usuario de Linux pueden utilizar el comando dmesg | grep -i dma para obtener una relación de los dispositivos del sistema que, en principio, están

Page 111: 6721122 D057 Tecnologia Del PC

habilitados para utilizar este tipo de transferencias. Generalmente la relación contiene como mínimo los dos canales IDE (ide0 e ide1) y la unidad de disco (hda).

§5 Funcionamiento

El mecanismo de acceso directo a memoria DMA es bastante complejo en sus detalles, y por supuesto, el movimiento de grandes volúmenes de datos entre memoria y un dispositivo requiere cierta intervención del procesador. El movimiento se hace a ráfagas, y cada transferencia se inicia con una interrupción que obliga al procesador a suspender su tarea para permitir un nuevo intercambio. A continuación intentaremos mostrar una visión general del proceso.

Empezaremos señalando que el DMA permite mover datos entre un puerto y memoria, o entre memoria y un puerto, pero no entre dos puertos o entre dos posiciones de memoria [4]. Como veremos a continuación, cada transferencia DMA requiere cierta preparación previa; conocer el volumen de datos a transferir (la más simple es de 1 byte) y la dirección de inicio del bufer de memoria involucrado (del que se leerán los datos o donde se escribirán). Para esto dispone de dos registros para cada línea; el contador y el registro de direcciones. Según se refieran a operaciones de lectura (memoria dispositivo) o escritura (dispositivo memoria) reciben distintos nombres porque su significado difiere:

● Escritura: Dirección de inicio ("Write starting address"). Contador ("Write starting word count")

● Lectura: Dirección actual de lectura ("Read current address"). Contador ("Read remaining word count")

Después de cada transferencia (de 1 byte) el registro de direcciones del DMAC es incrementado en una unidad, y el contador es disminuido en una unidad. Cuando este último llega a cero, la transferencia ha concluido, el DMAC pone en nivel alto la línea T/C ("Terminal Count") en el bus de control ( 2) y procede a enviar al procesador la señal EOP ("End of Process"). A partir de este momento el controlador no puede realizar otra transferencia hasta que sea programado de nuevo por la UCP. Aunque existen varios canales, el sistema de

Page 112: 6721122 D057 Tecnologia Del PC

prioridades garantiza que solo uno de ellos puede estar en funcionamiento cada vez, de forma que sus funcionamientos no pueden solaparse, y la señal EOP se refiere forzosamente al canal activo en ese momento.

El sistema DMA tiene distintas formas de operación , pero en el caso más simple, el proceso es como sigue: cuando un dispositivo, que tiene asignado el canal x DMA, solicita una transferencia, activa la línea DRQx, avisando así al controlador DMAC de la petición.

Al recibir la señal, el controlador DMAC comprueba que dicha línea está programada y activada, y que no existe ninguna petición en otra línea DRQ de prioridad más alta. A continuación solicita a la UCP que le ceda el control del bus enviándole una señal HRQ (Hold Request).

Cuando el procesador recibe la petición HRQ, termina la instrucción en curso, y una vez que está en condiciones de ceder el control del bus, deja "flotar" las señales relacionadas con su gobierno (MEMR, MEMW, IOR, IOW, Etc). Es un estado denominado tri-state, en el que el procesador no coloca la patillas correspondientes en positivo ni en negativo. A continuación envía una señal HLDA (Hold Acknowledge) al MDAC por la patilla correspondiente ( 3.2.1), indicándole que debe tomar el control.

Nota: Después de ceder el control del bus, la UCP puede seguir su proceso, pero en cuanto llega a una instrucción que necesita un dato de memoria que no esté previamente en su cache (si es un procesador moderno), debe detenerse y permanecer a la espera de ganar el control de nuevo. Esta circunstancia es totalmente transparente para el Sistema Operativo (y desde luego para las aplicaciones que corren sobre él). El único síntoma sería el tiempo inusitadamente largo que tarda el procesador en ejecutar la próxima instrucción.

A partir de este momento, el MDAC toma control del bus y monitoriza las señales que dejó flotar la UCP; activa las líneas MEMR, MEMW, IOR e IOW. Si suponemos que la transferencia DMA programada consiste en transferir 1 byte a la dirección xxxxh (de memoria), el DMAC coloca la dirección en el bus de direcciones y envía una señal al dispositivo que solicitó la transferencia activando la línea DACKx correspondiente, lo que

Page 113: 6721122 D057 Tecnologia Del PC

indica al dispositivo que debe depositar el dato en el bus de datos. A continuación de la señal DACKx el controlador DMA espera un ciclo y, suponiendo que el dispositivo no haya solicitado tiempo adicional mediante la señal CHRDY del bus ( 2), desactiva las líneas MEMW e IOR, lo que permite que se complete la operación ("Latch"). Los datos del bus de datos son escritos en la dirección contenida en el bus de direcciones.

Suponemos que se trata de un dispositivo lento, por lo que desactiva la señal DRQx anunciando al DMAC que no lo necesita por el momento. El DMAC responde desactivando la señal DACKx que recuerda al dispositivo que no puede transmitir más, y comprueba si existen otras peticiones que atender. A continuación coloca en tri-state las señales del bus y envía al procesador la señal EOP. El procesador contesta desactivando a su vez la señal HLDA; deja de flotar las líneas de bus y continua con el proceso que venía ejecutando.

§6 Modos de operación

Aunque el mecanismo de transferencia se ajusta en lo sustancial al proceso anteriormente descrito, en realidad el controlador MDAC permite varios modos de operación:

§6.1 Sencillo ("Single")

Este modo transfiere solo un byte cada vez. Después de cada transferencia el sistema cede el control del bus y debe adquirirlo de nuevo para transmitir el siguiente. Es utilizada por dispositivos que solo pueden transmitir 1 byte cada vez a intervalos comparativamente muy largos (periféricos lentos). Por ejemplo, el primitivo controlador de disquete del PC utilizaba este modo porque su bufer era de un byte. El ciclo solicitud adquisición del bus transferencia cesión del bus, se repite cuantas veces que sean necesarias.

§6.2 Bloque ("Block")

Las transferencias se realizan en bloques (un máximo de 64 KB). Se supone que el periférico es capaz de escribir/leer los datos a velocidad sostenida, porque una vez iniciada la transferencia, continúa hasta que se completa. En caso necesario el periférico puede

Page 114: 6721122 D057 Tecnologia Del PC

solicitar una pausa momentánea mediante la línea CHRDY del bus ( 2), pero en general los dispositivos lentos utilizan el modo anterior.

§6.3 Demanda ("Demand")

Como en el caso anterior, la transferencia se realiza en bloques, pero solo tiene lugar mientras el dispositivo mantiene activada la línea de "Petición" correspondiente (DRQ). En cuanto la desactiva, el DMAC cesa la transferencia y devuelve el control del bus al procesador. Si el dispositivo necesita transferir más datos debe solicitar otra transferencia.

§6.4 Cascada ("Cascade")

El procedimiento de transferencia descrito anteriormente, corresponde al primitivo sistema DMA ISA. Es conocido como DMA de tercer elemento ("Third party"), en relación a que en el proceso intervienen tres miembros: El dispositivo que envía los datos, el que los recibe y el controlador DMAC que sería el tercero (observe que en realidad, los datos NO pasan por él). Este enfoque pronto se mostró insuficiente para controlar los intercambios con dispositivos de alta velocidad, de forma que se arbitraron nuevas soluciones. El bus mastering o DMA de primer elemento ("First party"), llamado así en relación a que es el dispositivo que realiza el intercambio de datos (con la memoria) el que toma directamente el control del bus en lugar de hacerlo el controlador DMAC. En consecuencia, debe controlar las señales necesarias del bus (MEMR, MEMW, IOR, IOW, Etc).

Este procedimiento permite encadenar entre sí varios dispositivos DMA, y fue precisamente esta capacidad, la utilizada en el diseño del AT para añadir el segundo controlador. DMAC#2 se colocó en cascada con la línea 4 del DMAC#1. Cuando el DAMC#1 recibe una petición por el canal 4, cede el control del bus al dispositivo peticionario, el DMAC#2.

§6.5 Autoinicialización ("Autoinicialize")

En esta forma las transferencias se realizan al modo Sencillo o Demanda, pero cuando la UCP vuelve a tomar el control y el dispositivo está listo para enviar o recibir nuevos datos, no es necesario reprogramar la siguiente transferencia. Si se estaban transfiriendo datos desde

Page 115: 6721122 D057 Tecnologia Del PC

el dispositivo a un bufer de memoria, la UCP puede seguir añadiendo datos al bufer a continuación de los últimos transmitidos. Si era una transferencia de de datos desde un bufer hacia el dispositivo, la UCP puede seguir leyendo datos desde la última posición de leída y escribiéndolos en el dispositivo.

Esta técnica se utiliza con dispositivos que tienen bufers pequeños. Por ejemplo, dispositivos de audio. Supone cierta sobrecarga para la UCP, pero es la única forma de eliminar el retardo existente entre el momento en que termina una transferencia y se reprograma la siguiente.

§7 Registros de página

Los chips 8237A y 8259A, elegidos por los diseñadores de IBM para los controladores DMAC y PIC del PC, en realidad habían sido diseñados para el 8085, un procesador de registros de 8 bits y bus de direcciones de 16 bits [1] que le proporcionaban un espacio de direccionamiento de 64 KB. (216 = 65.536); muy por debajo de las 1.048.576 (220) posiciones que podía direccionar el PC ( 2).

Para que el DMAC pudiera seleccionar direcciones por encima del límite de 64 KB impuesto por su propio diseño, agregaron una pequeña memoria que pudiera contener la parte alta de las direcciones a manejar (desde las que leer, o en las que escribir, durante las operaciones DMA). IBM las denominó registros de página y eran accesibles en e puerto 081-08Fh según el mapa adjunto (todas las direcciones son de lectura/escritura).

Puerto 0080-008Fh - Registros de página DMA0081 DMA channel 2 address byte 20082 DMA channel 3 address byte 20083 DMA channel 1 address byte 20084 extra page register0085 extra page register0086 extra page register0087 DMA channel 0 address byte 20088 extra page register

Page 116: 6721122 D057 Tecnologia Del PC

0089 DMA channel 6 address byte 2008A DMA channel 7 address byte 2008B DMA channel 5 address byte 2008C extra page register008D extra page register008E extra page register008F DMA refresh page register

La idea era componer la dirección (Dt) de la operación DMA, yuxtaponiendo dos direcciones (una especie de direccionamiento segmentado H5.1, aunque no exactamente). La parte alta (D2) se guardaría en el registro de página y la parte baja (D1) en el registro de direcciones del DMAC, de modo que Dt = D2 # D1. Por ejemplo, si la dirección de destino de la transferencia es 00123456h, el registro de direcciones contendrá 3456h, y el registro de página del canal correspondiente el valor 0012h. Como puede verse, la forma de componer la dirección resultante Dt a partir de la información de cada segmento (en hexadecimal) sería: Dt = D1 + FFFF + D2.

Es fácil comprobar que el sistema presenta algunos inconvenientes. El valor más alto posible para D1 es FFFFh, porque solo se dispone de 16 bits para su almacenamiento, y como puede verse en el mapa del puerto, el registro de página de cada canal es solo de 1 Byte, de forma que el valor más alto para D2 es FFh. En conjunto solo se dispone de 8 + 16 = 24 bits para la dirección, y como resultado, el sistema DMA del PC estándar no puede direccionar memoria por encima de 16 MB (224) [5].

El diseño del sistema impone la limitación adicional de que el bloque máximo que puede manejarse en una sola transferencia es de 64 KB. Está motivado porque el registro de página es totalmente independiente del DMAC y su funcionamiento no está sincronizado. Cuando se inicia una operación, el valor D2 del registro de página permanece invariable, mientras que, como hemos visto, el valor D1 del registro de direcciones es incrementado con cada byte transferido. Cualquiera que sea la dirección inicial XXh en D2, el rango de direcciones máximo que puede cubrirse corresponde al intervalo 0000-FFFFh en D1. Después del último valor debería sumarse 1 a XXh y volver a comenzar por el valor D1 = 0000h, cosa que no está contemplada en el diseño.

Page 117: 6721122 D057 Tecnologia Del PC

§8 Evolución

Como todo lo relacionado con la arquitectura del ordenador, el sistema de acceso directo a memoria ha sufrido una considerable evolución desde sus inicios. Además de las anteriores, han aparecido nuevas formas de funcionamiento, como el Ultra DMA o DMA-33.

En 1996 Intel introdujo el chip 82374 ESC (EISA System Component) que entre otras características incluye un superset de la funcionalidad del primitivo 8237A y que servía tanto para los buses EISA como para los (entonces emergentes) PCIs. Respecto al mecanismo DMA tradicional, presenta la mejora de que permite acceso directo a un espacio de direcciones de 32 bits.

La introducción del "Bus mástering" permitió que determinados dispositivos controlaran la gestión del bus en sustitución del controlador DMA. Esta es la forma de funcionamiento de los dispositivos rápidos en los buses PCI.

Inicio.

[1] Este micro, lanzado por Intel en 1976, era en realidad una versión mejorada del 8080, que descendía a su vez del 8008...

[2] ECP ("Enhanced Capabilities Port"). Este tipo de puerto paralelo bidireccional, desarrollado por HP y Microsoft, para conectar de forma económica periféricos de alta velocidad al PC (como impresoras de alto rendimiento y escáners), requiere acceso directo a memoria, algo que no era necesario en los puertos LPT normales SPP ("Standard Parallel Port") ni con los EPP ("Enhanced Parellel Port"). Actualmente la mayoría de PCs incluyen un chipset que puede manejar ambos tipos de puerto. En estos casos, el programa de Setup de la BIOS permite seleccionar el puerto paralelo como ECP, EPP, o ECP+EPP. En caso de utilizar ECP, la BIOS también puede permitir asignar el canal DMA correspondiente (generalmente el 3), aunque en los sistemas PnP es mejor confiar esta tarea a la propia BIOS.

[3] Controlador síncrono serie de alta velocidad. Generalmente utilizado en dispositivos de

Page 118: 6721122 D057 Tecnologia Del PC

audio y comunicaciones.

[4] Los movimientos de datos entre posiciones de memoria se realizan suficientemente bien mediante instrucciones de la UCP.

[5] Esta cantidad de memoria RAM era inimaginable cuando se diseñó el PC, pero actualmente (2005) está dentro de lo posible.

Inicio

|Índice| Copyright © 2000-2006 Zator Systems. NO software patents

Page 119: 6721122 D057 Tecnologia Del PC

Tecnología del PC[Home] [Inicio] [Índice]

En esta sección:1 Servicios BIOS2 Servicios del Sistema

Subir 2.4 Interrupciones

§1 Sinopsis

Una petición de interrupción IRQ ("Interrupt Request") es una señal que se origina en un dispositivo hardware (por ejemplo, un periférico), para indicar al procesador que algo requiere su atención inmediata; se solicita al procesador que suspenda lo que está haciendo para atender la petición.

Hemos señalado ( H2) que las interrupciones juegan un papel fundamental, en especial en la operación de dispositivos E/S, ya que les permite enviar estas peticiones a la UCP. Sin ellas el sistema debería chequear constantemente los dispositivos para comprobar su actividad, pero las interrupciones permiten que los dispositivos puedan permanecer en silencio hasta el momento que requieren atención del procesador. ¿Podría figurarse un sistema telefónico donde hubiera que levantar periódicamente el auricular para comprobar si alguien nos llama? [4].

Nota: Veremos que estas peticiones pueden ser generadas no solo por dispositivos hardware, también por los programas, e incluso en circunstancias especiales (errores generalmente) por el propio procesador. Resumimos que existen tres posibles orígenes de estas peticiones: Hardware, Software, y del procesador.

Page 120: 6721122 D057 Tecnologia Del PC

§2 Principio de funcionamiento

Cuando un dispositivo reclama atención del procesador es para que este haga algo. Este "algo" es lo que se conoce como servicio; controlador o gestor de la interrupción, ISR ("Interrupt service routine"). En cualquier caso se trata siempre de ejecutar un programa situado en algún lugar de la memoria RAM o en la ROM-BIOS. Ocurre que las direcciones de inicio de estos programas, que se conocen como vectores de interrupción, se copian en una tabla de 1024 Bytes que se carga al principio de la memoria de usuario (direcciones 0000h a 0400h) durante el proceso de inicio del sistema ( H4), razón por la cual estas rutinas se conocen también como servicios del BIOS.

La citada tabla se denomina tabla de vectores de interrupción IDT ("Interrupt Description Table") y en sus 1024 bytes pueden almacenarse 256 vectores de 4 bytes. Es decir, los vectores de interrupción son punteros de 32 bits, numerados de 0 a 255, que señalan las direcciones donde comienza la rutina que atiende la interrupción [3].

Como veremos a continuación, el diseño del PC solo permite 16 interrupciones distintas, por lo que puede parecer extraño que se hayan previsto 256 vectores para atenderlas. La razón es que además de los servicios del BIOS propiamente dichos, se cargan las direcciones de inicio de otras rutinas del Sistema Operativo, los denominados servicios del Sistema ( Servicios del Sistema). Incluso es posible cargar direcciones para rutinas específicas de usuario.

Al diseñar el 8088, Intel estableció un reparto de estos vectores, reservando los 5 primeros para uso interno del procesador (precisamente para atender las excepciones ). A continuación estableció otros 27 de uso reservado, aunque no desveló ningún uso específico para algunos de ellos. A partir de aquí, los vectores 32 a 255 estaban disponibles. El esquema resultante se muestra en la tabla adjunta.

VectorDec. Hex Uso

0 0 Error: División por cero

Page 121: 6721122 D057 Tecnologia Del PC

1 1 Excepciones para depuración (ejecución paso a paso)

2 2 Interrupción no enmascarable3 3 Punto de ruptura interrupción (Instrucción INT)4 4 Desbordamiento ("Overflow"). Utilizado cuando

un cálculo aritmético se desborda. Instrucción INTO

5 5 (reservado)6 6 Código de instrucción no válido7 7 Coprocesador no disponible8 8 Fallo doble9 9 (reservado -Rutina de atención del Teclado-)10 A TSS no válido11 B Segmento no disponible12 C Excepción de pila13 D Protección general14 E Fallo de página15 F (reservado)16 1A Error de coprocesador17-31

1B-1F (reservado)

32-255

20-FF Disponibles para interrupciones enmascarables

Sin embargo, aunque teóricamente las interrupciones 0 a 31 estaban restringidas, IBM y Microsoft utilizaron algunas de ellas sin respetar las indicaciones de Intel. En concreto, IBM y Microsoft utilizaron algunas para los servicios BIOS ( H2.4.1). Es significativo que, a pesar de haber sufrido ampliaciones, la especificación inicial se mantiene para las 31 interrupciones iniciales. Lo que hace posible que pueda cargarse un Sistema PC-DOS 1.0 en una máquina Pentium.

Page 122: 6721122 D057 Tecnologia Del PC

El "modus operandi" es como sigue: Cuando se recibe la petición de interrupción, el procesador termina la instrucción que está ejecutando; guarda el contenido de los registros; deshabilita el sistema de interrupciones; ejecuta el "servicio", y vuelve a su punto de ejecución. El servicio suele terminar con una instrucción IRET ("Interrupt Return") que restituye el contenido de los registros y vuelve a habilitar el sistema de interrupciones. En cierto sentido, el proceso es similar al que ocurre cuando aparece la invocación de una función en el código de un programa ( 4.4.6b).

En el párrafo anterior hemos indicado someramente el proceso cuando "se recibe" una petición, pero cabe una cuestión: ¿Como se recibe la petición?. Hemos adelantado que estas peticiones pueden ser generadas desde el software o incluso por el procesador, lo que nos conduce a que en realidad las únicas que deben recibirse (desde el exterior) son las que denominadas interrupciones hardware (que se originan en dispositivos externos al procesador). Antes de describir brevemente el camino hasta que la solicitud es recibida por la UCP, permitidme adelantar que para su gestión existen tres tipos de elementos de soporte:

● Ciertas líneas específicas (IRQ's) en el bus de control

● El controlador de interrupciones (PIC). Un procesador específico que realiza cierta elaboración previa de las peticiones antes de entregar la señal a la UCP .

● Ciertas patillas específicas en el procesador .

El resumen del proceso es como sigue: Un periférico, tarjeta o dispositivo necesita atención; a tal efecto pone en tensión baja una de las líneas IRQ del bus de control (que le había sido asignada). La señal es recogida por el PIC, que la procesa, la clasifica, y envía una señal a una de las patillas del procesador. A continuación el procesador se da por notificado y pregunta que tipo de excepción debe atender. Como respuesta, PIC asigna un número de servicio (0-256) en forma de un octeto que es colocado en el bus de datos, con lo que estamos en el punto inicial del proceso.

Para la asignación del número de servicio a partir de una de las 16 solicitudes de las IRQ, el PIC realiza un cierto proceso ("Interrupt Handling Routine") a partir de los datos de

Page 123: 6721122 D057 Tecnologia Del PC

programación iniciales y del estado actual del propio sistema de interrupciones. Por ejemplo, puede estar procesándose el servicio de una interrupción, pero la rutina esta suspendida momentáneamente porque se ha solicitado otra interrupción de prioridad más alta, o tal vez se recibe otra interrupción del mismo periférico antes de haber atendido la anterior, Etc.

§3 Líneas de petición de interrupción

El bus de control dispone de líneas específicas para el sistema de interrupciones ( H2). En el PC XT existen 8, numeradas del 0 al 7, aunque las dos primeras están asignadas al temporizador y al teclado, con lo que solo quedaban 6 líneas para otros dispositivos, que aparecen como tales en el bus de control (IRQ2- IRQ7). A partir del modelo AT se añadieron otras 8 líneas, numeradas del 8 al 15, mediante un segundo procesador PIC , aunque la tecnología empleada exigió colgarlo de la línea IRQ2, de forma que esta línea se dedica a atender las interrupciones del segundo controlador a través de la línea 9 de este último, y la línea 8 se dedicó al reloj de tiempo real, un dispositivo que no existía en los modelos XT.

Aunque internamente se manejan 16 líneas, no todas tienen contacto en los zócalos del bus externo; Son las marcadas con asterisco (*) en la tabla que sigue . La razón de esta ausencia en los zócalos de conexión es que son de asignación fija, y nadie más que ciertos dispositivos instalado en la propia placa tiene que utilizarlas. En concreto la línea NMI está asignada al mecanismo de control de paridad de la memoria; la línea 0 está asignada al cronómetro del sistema ( H2) y la línea 1 al chip que controla el teclado (dispositivos que pueden requerir atención urgente por parte del procesador). Es costumbre denominar IRQx a las que tienen prolongación en el bus.

Teóricamente las restantes líneas podrían ser asignadas a cualquier nuevo dispositivo, pero en la práctica algunas están reservadas a dispositivos estándar. Por ejemplo, IRQ3 está casi siempre asignado al puerto serie COM2 y IRQ4 a COM1; IRQ6 al controlador estándar de disquetes y IRQ7 al puerto de impresora LPT1. La tabla 1 muestra las asignaciones clásicas para el XT y el AT.

Page 124: 6721122 D057 Tecnologia Del PC

Tabla-1

Nombre Int (hex) XT: Descripción AT: Descripción NMI --- Paridad* Paridad* 0 08 Temporizador* Temporizador* 1 09 Teclado* Teclado* IRQ2 0A Reservado Interrupciones 8 a 15 (PIC#2) IRQ3 0B Puertos serie COM2/COM4 Puerto serie COM2/COM4 IRQ4 0C Puertos serie COM1/COM3 Puerto serie COM1/COM3 IRQ5 0D Disco duro Impresora secundaria LPT2 IRQ6 0E Disquete Disquete IRQ7 0F Impresora primaria LPT1 Impresora primaria LPT1 [8] 8 70 No aplicable Reloj de tiempo real* 9 71 No aplicable Redirigido a IRQ2* IRQ10 72 No aplicable no asignado IRQ11 73 No aplicable no asignado IRQ12 74 No aplicable Ratón PS2 13 75 No aplicable Coprocesador 80287* IRQ14 76 No aplicable Contr. disco IDE primario IRQ15 77 No aplicable Contr. disco IDE secundario

Cuando se instala un dispositivo E/S que puede necesitar atención del procesador, debe asignársele una IRQ adecuada. Dicho en otras palabras, cuando requiera atención debe enviar una señal en la línea IRQ especificada. Inicialmente esta asignación se efectuaba de forma manual, por medio de puentes ("Jumpers") en la placa o dispositivo, pero actualmente esta selección puede hacerse por software. Los dispositivos son de enchufar y usar PnP ("Plug and play" ).

§3.1 A continuación se nuestra la distribución de líneas IRQ en un ordenador típico (AT),

Page 125: 6721122 D057 Tecnologia Del PC

bajo Windows-98SE [7].

Nota: Los usuarios de Windows 98 pueden comprobar la asignación de IRQ's a los diversos dispositivos del sistema mediante el programa msinfo032.exe. Generalmente en C:\Archivos de programa\Archivos comunes\Microsoft Shared\MSINFO

IRQ Utilización 0 Cronómetro del sistema 1 Teclado estándar de 101/102 teclas o MS Natural Keyboard 2 Controlador programable de interrupciones 3 Puerto de infrarrojos rápidos ThinkPad de IBM 4 Puerto de comunicaciones (COM1) 5 Crystal SoundFusion(tm) Game Device 6 Controlador estándar de disquetes 7 Puerto de impresora (LPT1) 8 Sistema CMOS/reloj en tiempo real 9 (libre) 10 (libre) 11 Marcador IRQ para manejo de PCI 11 Marcador IRQ para manejo de PCI 11 Marcador IRQ para manejo de PCI 11 Marcador IRQ para manejo de PCI 11 Controlador universal de host Intel 82371AB/EB PCI a USB 11 Crystal SoundFusion(tm) PCI Audio Accelerator 11 Lucent Win Modem 11 Intel(R) PRO/100 SP Mobile Combo Adapter 11 Texas Instruments PCI-1450 CardBus Controller 11 Texas Instruments PCI-1450 CardBus Controller 11 RAGE MOBILITY-M AGP (English) 12 Puerto de mouse compatible con PS/2 13 Procesador de datos numéricos 14 Controlador estándar para disco duro Bus Mastering IDE 15 Controlador estándar para disco duro Bus Mastering IDE

Page 126: 6721122 D057 Tecnologia Del PC

§3.2 Interrupciones en el ordenador anterior bajo Linux:

Nota: Los usuarios de Linux pueden consultar las interrupciones utilizadas en el sistema en el fichero /proc/interrupts mediante el comando cat /proc/interrupts. También mediante la utilidad dmesg en la forma dmesg | grep -i irq

IRQ Utilización CPU0 0: 3407670 XT-PIC timer 1: 7149 XT-PIC keyboard 2: 0 XT-PIC cascade 8: 2 XT-PIC rtc 9: 1461 XT-PIC acpi 11: 2508 XT-PIC usb-uhci, Texas Instruments PCI1450, Texas Instruments PCI1450 (#2), CS46XX 12: 74331 XT-PIC PS/2 Mouse 14: 90666 XT-PIC ide0 15: 50966 XT-PIC ide1

NMI: 0 LOC: 0 ERR: 0 MIS: 0

§4 Controlador PIC

Las peticiones hardware de interrupción del PC son manejadas por un chip, conocido como PIC#1 ("Programmable Interrupt Controller"). Originariamente era un 8259A, que puede manejar 8 peticiones (IRQ0/IRQ7), pero pronto se hizo evidente que eran un número excesivamente corto, por lo que en 1984 IBM añadió un segundo controlador PIC#2 en el modelo AT, que podía manejar las peticiones IRQ8 a IRQ15, aunque las interrupciones utilizables resultantes no fuesen de 16 como cabría suponer, por las razones apuntadas en el párrafo anterior.

Page 127: 6721122 D057 Tecnologia Del PC

§4.1 Nivel de prioridad

El PIC dispone de 16 niveles de prioridad, numerados del 0 al 15, de forma que los de número más bajo se atienden antes que los de número más alto. La asignación a cada nivel es como sigue:

Nivel Asign. Nivel Asign. Nivel Asign. Nivel Asign.0 NMI 1 IRQ0 2 IRQ1 3 IRQ8

4 IRQ9 5 IRQ10 6 IRQ11 7 IRQ12

8 IRQ13 9 IRQ14 10 IRQ15 11 IRQ3

12 IRQ4 13 IRQ5 14 IRQ6 15 IRQ7

Como puede verse, la prioridad más alta se asigna a las interrupciones no enmascarables (NMI ), a las que nos referimos más adelante. A continuación se atienden IRQ0 e IRQ1; asignadas como hemos visto al cronómetro del sistema y al teclado (el cronómetro no puede ser interrumpido por nadie porque perdería la hora). Después se atienden las peticiones IRQ8 a IRQ15 del controlador esclavo, que hereda la prioridad de IRQ2 de la que está colgado (en realidad no existe IRQ2). A continuación se atienden las IRQ3 a IRQ7 de PIC#1. Las peticiones de prioridad más baja son las del controlador estándar de disquetes (IRQ6) y las del puerto de impresora LPT1 (IRQ7).

Físicamente, el 8259A es un chip de 28 patillas, 8 de las cuales conectan con las líneas IRQ0-IRQ7; ocho para el bus de datos (D0-D7), una entrada INTA ("Interrupt Acknowledge") y una salida INTR ("Interrupt Request"). Aparte de otras auxiliares, como tensión de alimentación y masa. Como veremos a continuación , cuando el 8259A recibe una señal IRQ, activa la señal INTR que es recibida por el procesador. Cuando este responde con un INTA, pone en el bus de datos un byte en el rango 0/256, que es identificado a su vez por el procesador como un número de interrupción.

Desde el punto de vista lógico, PIC #1 responde a las direcciones 020h-021h, mientras que

Page 128: 6721122 D057 Tecnologia Del PC

PIC#2 lo hace en 0A0h-0A1h. Cada PIC dispone de tres registros de 1 byte; IRR, ISR e IMR, que en conjunto gobiernan las decisiones del dispositivo:

Registro de solicitud de interrupción IRR ("Interrupt Request Register"). Cada bit de este registro controla el estado de una línea IRQ. Cuando se detecta una petición en una de estas líneas, el bit correspondiente del IRR es pueto a 1.

Registro de interrupciones activas ISR ("In Service Register"). Cada bit indica si ya existe una interrupción activada en la línea correspondiente.

Registro de máscara de interrupciones IMR ("Interrupt Mask Register"). También aquí cada bit corresponde a una línea IRQ, e indica si esta permitida un interrupción de ese nivel en ese momento.

El PIC es un dispositivo complejo que realiza varias tareas; a continuación se muestra un resumen de ellas:

● Puesto que existen muchos dispositivos que pueden solicitar interrupciones, es responsabilidad del PIC priorizarlas según el esquema indicado en el punto anterior, cuando existen varias IRQ's simultáneas [5].

● Después de enviar una solicitud de interrupción y el procesador contesta que está listo para atenderla, debe enviar un número de interrupción (número de vector).

● Mantiene un registro de que se está procesando una interrupción. Cuando esto sucede, no envía más peticiones del mismo dispositivo al procesador hasta que este le responde con una señal EOI ("End Of Interrupt"), indicando que la rutina de servicio precedente ha terminado, o puede aceptar otra interrupción.

● Puede enmascarar de forma selectiva cualquiera de las 8 IRQ's que tiene conectadas (como se verá más adelante, es la única forma de enmascarar las interrupciones no enmascarables).

El 8259A tiene distintos modos de operación, uno de los cuales es el utilizado por los diseñadores del PC; esta selección se realiza vía software en los momentos iniciales.

Page 129: 6721122 D057 Tecnologia Del PC

También se decide en este momento que número de interrupción deberá devolver el PIC en respuesta a las señales recibidas en las líneas IRQ.

Puntos importantes a destacar es que, como se ha señalado, se trata de un dispositivo programable; que esta programación es realizada por el BIOS en la fase de inicio, y que el PIC es una parte fundamental del mecanismo de excepciones hardware.

§5 Patillas del procesador

Otro elemento que interviene en el mecanismo de excepciones son ciertas patillas del procesador. Todos los miembros de la saga 8088 disponen de dos patillas, designadas INTR y NMI, para este servicio específico ( H3.2.1). Sirven respectivamente para atender las interrupciones enmascarables y no enmascarables (nos referimos a ellas inmediatamente). A su vez, el procesador utiliza ciertas señales en algunas de sus patillas para generar un ciclo INTA ("Interrupt Acknowledge"), que sirve para notificar al PIC que ha recibido la interrupción.

§6 Tipos de interrupción

Atendiendo a su origen, en el PC existen tres tipos de interrupciones: Interrupciones hardware; interrupciones software , y excepciones del procesador .

§6.1 Las interrupciones hardware ocurren cuando un dispositivo necesita atención del procesador y genera una señal eléctrica en la línea IRQ que tiene asignada. Esta señal es recogida y procesada por el controlador de excepciones PIC antes de ser enviada al procesador, lo que puede realizarse de dos formas, según el tipo de interrupción sea enmascarable o no enmascarable.

§6.1.1 Interrupción enmascarable significa que, bajo control del software, el procesador puede aceptar o ignorar (enmascarar) la señal de interrupción. Para ello se envía una señal a la patilla INTR , y el procesador la atiende o la ignora en función del

Page 130: 6721122 D057 Tecnologia Del PC

contenido de un bit (IF) en un registro (FLAGS) que puede estar habilitado o deshabilitado ( H3.2). En el primer caso, cuando se recibe la señal, el procesador concluye la instrucción que estuviese en proceso y a continuación responde con una combinación de señales en algunas de sus patillas componiendo una sucesión de dos señales INTA ("Interrupt Acknowledge" H3.2.1).

La primera señal es simplemente un aviso; la segunda es una petición para que el PIC coloque en el bus de datos un Byte con el número de interrupción, de forma que el procesador pueda localizar el servicio solicitado.

El valor recibido (0-255) es multiplicado por 4 para calcular la dirección del vector correspondiente en la tabla de vectores de interrupción, lo que se realiza mediante un desplazamiento binario de dos posiciones a la izquierda ( 4.9.3). A continuación, el procesador salva en la pila los valores del registro de estado ( H3.2), del contador de programa (PC) y del segmento de código (CS); deshabilita el bit IF del registro de estado, para que la interrupción no pueda ser molestada con una nueva interrupción enmascarable hasta que sea específicamente permitido, y finalmente ejecuta el servicio.

La penúltima secuencia de la rutina de servicio es enviar una señal de que la interrupción ha terminado (EOI) para que el PIC pueda seguir enviando interrupciones. A continuación debe restaurar los registros a su estado inicial (existente antes de que se produjera la interrupción).

La señal de terminación del servicio de la interrupción EOI ("End of interrupt") es la siguiente secuencia:

MOV DX, PIC0MOV AL, EOIOUT DX, AL

La primera instrucción mueve el contenido PIC0 al registro DX (PIC0 es el

Page 131: 6721122 D057 Tecnologia Del PC

nemónico de la dirección más baja de puerto A0 = 0).

La segunda mueve el valor EOI (nemónico del valor 20h) al registro AL.

La tercera es una sentencia de escritura a puerto; escribe el contenido del registro AL (el valor EOI puesto en la sentencia anterior) en el puerto señalado por el contenido del registro DX (establecido en la primera instrucción).

Para facilitar el manejo de interrupciones, el 8088 y sucesores disponen de algunas instrucciones específicas:

● IRET Retorno de interrupción ("Interrupt Return"). Recupera de la pila el contador de programa PC; el segmento de código CS (lo que supone devolver el programa al punto de ejecución original), y el registro de estado FLAGS (lo que supone devolver las interrupciones enmascarables al estado inicial).

● CLI Limpiar la interrupción ("Clear Interrupt"); pone a cero el registro IF, deshabilitando las interrupciones enmascarables.

● STI Es la instrucción opuesta ("Set Interrupt") pone a 1 el registro IF habilitando las interrupciones enmascarables.

La idea importante a resaltar aquí, es que el PIC asocia un número entre 0 y 255 a cada petición. Este número, que se conoce como número de interrupción, no debe ser confundido con el número de línea IRQ's que realizó la solicitud. El número de interrupción sirve para identificar el servicio mediante la tabla IDT . Una vez ejecutado el servicio, deben dejarse las cosas como estaban para que el programa original pueda continuar su ejecución.

§6.1.2 Interrupción no enmascarable significa que la interrupción no puede ser deshabilitada por software. Este tipo de interrupciones ocurren cuando se recibe una señal en la patilla NMI ("Nonmaskable Interrupt" §5 ) del procesador. Se reservan para casos en que es crítica la respuesta, por ejemplo que se detecte un error de paridad en la memoria. Además son de prioridad más alta que las enmascarables.

Page 132: 6721122 D057 Tecnologia Del PC

Nota: La única forma de enmascarar estas interrupciones es a través de circuitos externos al procesador, por ejemplo a nivel del PIC.

Cuando el procesador recibe una de estas instrucciones no se genera ningún ciclo de reconocimiento de la instrucción (INTA), y el procesador le asigna un 2 como número de excepción.

§6.2 Interrupciones software

Los procesadores Intel de la gama x86 y compatibles, disponen de una instrucción INT que permite generar por software cualquiera de los 256 tipos de interrupción anteriormente descritos (§2 ). El proceso seguido es exactamente el mismo que si se recibe una interrupción hardware en la patilla INTR, salvo que en este caso se conoce el tipo de interrupción, y no se requiere ningún ciclo INTA. Por ejemplo, en lenguaje ensamblador, la instrucción INT 21 invoca la interrupción 33d (21h), que en MS-DOS es la llamada a los servicios del Sistema.

Este tipo de interrupciones son de prioridad más alta que las de hardware (enmascarables y no enmascarables), de forma que si se recibe una interrupción hardware mientras que se ejecuta una software, esta última tiene prioridad.

Este tipo de interrupciones son utilizadas tanto por el Sistema Operativo como por los programas de usuario que pueden instalar las suyas particulares (hemos señalado , que algunas de las 255 posiciones de la tabla de vectores de interrupción están desocupadas). Precisamente, aquellas posiciones de la IDT que señalan a posiciones dentro de la ROM-BIOS (por encima de la dirección F0000h H5.1) se refieren a interrupciones relacionadas con servicios de la BIOS, mientras que las situadas en la zona de memoria convencional, se refieren a interrupciones instaladas por el Sistema o los programas de aplicación.

Page 133: 6721122 D057 Tecnologia Del PC

§6.3 Excepciones del procesador

Durante el funcionamiento del procesador pueden ocurrir circunstancias excepcionales; es usual citar como ejemplo el caso de una división por cero. En estos casos, el procesador genera una excepción, que es tratada como si fuese una interrupción software (§6.2 ), con la diferencia de que el número de interrupción asociado depende del tipo de excepción.

En el caso de la división por cero el número asociado es cero. Este era el único tipo de excepción de procesador prevista en el 8088, pero en los modelos sucesivos de la saga x86 y Pentium esta posibilidad fue ampliándose paulatinamente.

§6.5 Orden de prioridad

Las interrupciones tienen un orden de prioridad, de forma que si ocurren dos de forma simultánea es atendida la de prioridad más alta. El orden en que se atienden es el siguiente:

1º: Excepciones del procesador.2º: Interrupciones software.3º: Interrupciones hardware no enmascarables.4º: Interrupciones hardware enmascarables.

§7 Evolución

§7.1 El estándar PnP

El sistema de interrupciones es una excepción en lo que a evolución se refiere. A partir de la introducción del segundo controlador 8259A en 1.984, el diseño ha permanecido invariable. La razón es que su modificación supondría un cambio demasiado drástico en la arquitectura del PC, con un parque de millones de sistemas y periféricos instalados con millones de programas y Sistemas Operativos funcionando que no podrían ser trasladados "tal cual" a las nuevas máquinas [6].

Page 134: 6721122 D057 Tecnologia Del PC

Puede decirse que desde su nacimiento, el PC arrastraba ciertas carencias congénitas, que podían resumirse en escasez de Líneas de acceso directo a memoria DMA's ( H2.3); líneas de interrupciones IRQ's; direcciones de puertos, y memoria convencional ( H5.1). El resultado era que la configuración de los primeros sistemas era una pesadilla para los instaladores, que debían configurar manualmente los dispositivos instalados poniendo y quitando los fastidiosos "Jumpers" [1]. A pesar de todo, muchas veces el resultado era que sencillamente no podía instalarse el nuevo dispositivo porque los canales DMA o líneas IRQ que podían seleccionarse estaban ya ocupadas por otros.

Como consecuencia de tales deficiencias, en una conferencia sobre hardware para Windows celebrada en marzo de 1.993, Microsoft e Intel propusieron un nuevo estándar que intentaba simplificar el problema. Conocido como Plug and Play (PnP), enchufar y usar (precisamente el "sueño" de los instaladores en la época), que se basa en varias premisas. La principal, que los dispositivos fueran configurables por software mediante un programa especial de "Set-up". Además tanto el hardware como el software (controladores de dispositivos cargados por el Sistema), deberían ser reconfigurables dinámicamente para adaptarse a los cambios de configuración. Por ejemplo, insertar o retirar un dispositivo PC-Card de un bus PCMCIA [2].

§7.2 Compartir IRQs

La especificación PnP antes comentada, aunque simplificaba las cosas, en realidad no resolvía el problema de fondo: la escasez de ciertos recursos, principalmente líneas de interrupción. Por lo que al desarrollar la interfaz PCI ( 6.4), Intel incluyó la posibilidad de que estos dispositivos pudieran compartir la misma IRQ.

A continuación se muestra la distribución de IRQs en un sistema Linux dotado de bus PCI, tal como se obtiene con el comando dmesg señalado anteriormente . (se han resaltado las sentencias interesantes) :

PCI: Using IRQ router PIIX [8086/7110] at 00:02.0

Page 135: 6721122 D057 Tecnologia Del PC

PCI: Found IRQ 11 for device 00:03.0 PCI: Sharing IRQ 11 with 00:03.1 PCI: Sharing IRQ 11 with 01:00.0 Serial driver version 5.05c (2001-07-08) with HUB-6 MANY_PORTS MULTIPORT SHARE_IRQ SERIAL_PCI enabled PIIX4: not 100% native mode: will probe irqs later ide0 at 0x1f0-0x1f7,0x3f6 on irq 14 ide1 at 0x170-0x177,0x376 on irq 15 PCI: Found IRQ 11 for device 00:02.2 usb-uhci.c: USB UHCI at I/O 0x1060, IRQ 11 PCI: Found IRQ 11 for device 00:03.0 PCI: Sharing IRQ 11 with 00:03.1 PCI: Sharing IRQ 11 with 01:00.0 PCI: Found IRQ 11 for device 00:03.1 PCI: Sharing IRQ 11 with 00:03.0 PCI: Sharing IRQ 11 with 01:00.0 Yenta IRQ list 0698, PCI irq11 Yenta IRQ list 0698, PCI irq11 eth0: AboCom FE2000VX (RealTek RTL8139) at 0xd0afa000, 00:4f:62:01:5c:7a, IRQ 11 eth1: Xircom: port 0x300, irq 3, hwaddr 00:10:A4:01:FF:F1 ttyS03 at port 0x02e8 (irq = 3) is a 16550A PCI: Found IRQ 5 for device 00:07.0

Puede apreciarse que los dispositivos PCI comparten las IRQ11 e IRQ5. Como es habitual, las controladoras IDE primaria y secundaria, identificadas aquí como ide0 e ide1, utilizan IRQ14 e IRQ15. Los dispositivos identificados como eth0 y eth1 son sendas tarjetas de red. ttyS03 es un puerto serie cuya UART es una 16550A ( 2.5.11). Yenta se refiere al tipo de controladora de conexión de los dispositivos PCMCIA (se trata de un equipo portátil que dispone de este tipo de bahías).

§8 Interrupciones en Windows

Page 136: 6721122 D057 Tecnologia Del PC

La descripción anterior corresponde a lo que ocurre en el hardware, o lo que es lo mismo, en una aplicación trabajando en modo real ( H5.1); es la descripción clásica del mecanismo de interrupciones de una aplicación bajo MS-DOS.

Hemos señalado que en los sistemas Windows, cada aplicación corre en una máquina virtual MV ( 0.2), de modo que está más alejada del hardware que las aplicaciones que se ejecutan en modo real. En este caso, las aplicaciones interactúan con dispositivos virtuales VDs ("Virtual devices") a través de controladores virtuales de dispositivos VxDs.

En concreto, el controlador PIC es virtualizado por el VPICD ("Virtual PIC Device"); este es un controlador virtual proporcionado de forma estándar por Windows que emula las funciones del auténtico controlador programable de interrupciones. Esta simulación implica reflejar las interrupciones en las máquinas virtuales y simular E/S, por ejemplo, reconocer cuando una MV emite un final de interrupción EOI ("End of interrupt").

Lo mismo que ocurre en modo real, durante la inicialización del controlador virtual VPICD, se establece un manejador de excepciones por defecto para cada petición de interrupción (IRQ). Estos manejadores determinan que máquina virtual será afectada y con que interrupción. También arbitran los posibles conflictos cuando diversas máquinas virtuales intentan desenmascarar la misma interrupción.

Cualquier interrupción no enmascarada cuando se inicia Windows es considerada una interrupción global. Este tipo de interrupciones serán reflejadas en la máquina virtual que esté en ejecución en ese momento (a su vez la MV puede enmascarar o no enmascarar esta IRQ).

Si una MV desenmascara una IRQ que fue enmascarada cuando se inició Windows, es declarada propietaria de dicha interrupción, y la IRQ será reflejada exclusivamente en su máquina propietaria (si alguna otra MV intenta desenmascarar dicha interrupción, Windows terminará la segunda MV, y puede señalar la necesidad de reiniciar el sistema).

Si algún otro VxD virtualiza una petición IRQ, es su responsabilidad determinar que MV debe recibir las interrupciones y arbitrar los posibles conflictos. Además, el controlador por

Page 137: 6721122 D057 Tecnologia Del PC

virtual por defecto VPICD dejará de proporcionar soporte para dicha IRQ.

§9 Webografía

The x86 interrupt list ftp.cs.cmu.edu/

Conocida también como RBIL ("Ralf Brown's Interrupt List"), esta página de la universidad Carnegie Mellon en Pittsburg (Pensilvania - USA), es quizás la más famosa y extensa fuente de información respecto al asunto de las interrupciones; puertos Entrada/Salida; posiciones de memoria y otros detalles técnicos de diseño de los PCs IBM y compatibles. Casi seis Megabytes de información que incluyen algunos programas de utilidad.

Inicio.

[1] Un estudio de 1.993 sobre el costo total a 5 años para las empresas que utilizaban sistemas PC-Windows, revelaba que este se elevaba a 37.000 USD, debidos principalmente a su complejidad.

[2] PCMCIA "Personal Computer Memory Card International Association". Un estándar para conexión de dispositivos en el PC, especialmente difundido en los portátiles, aunque también existen adaptadores para los buses ISA y PCI de los equipos de sobremesa.

[3] Estas direcciones se guardan en forma segmentada ( H5.1) y la forma real de almacenamiento es de palabras invertidas ("Back-words" H5), de forma que los dos bytes más bajos contienen el desplazamiento, y los dos más altos el segmento. Esto supone que al recuperarlos para ejecutar la interrupción, los dos bytes más bajos pasan al registro de instrucción IP, y los dos siguientes al registro de segmento de código CS ( H3.2).

[4] El sistema opuesto al de interrupciones requiere que el procesador interrogue

Page 138: 6721122 D057 Tecnologia Del PC

periódicamente a los dispositivos, lo que evidentemente requiere mucho tiempo si el número de candidatos potenciales es elevado. Este sistema se denomina de encuesta o interrogación ("Polling"); también como entrada programada, ya que la información llega del exterior cuando se ha decidido aceptarla.

[5] El PIC puede incluso rotar las prioridades de forma que las de prioridad más baja tengan alguna posibilidad de ser atendidas incluso si hay muchas de prioridades más altas. La rotación de prioridad se ha comparado a dar la posibilidad de conectar a un teléfono que estuviese siempre comunicando.

[6] De acuerdo con ciertos autores, una de las razones del tremendo éxito de la plataforma PC, ha sido precisamente la estabilidad de su arquitectura, que ha posibilitado ejecutar programas desarrollados hace 25 años en las máquinas actuales.

[7] Se trata de un equipo dotado de bus PCI ( 6.4) donde puede apreciarse como algunas IRQs son compartidas por varios dispositivos. Esta capacidad de compartir una IRQ entre distintos dispositivos (a la que nos referimos más adelante), es una característica del bus PCI, que no es compartida por el bus tradicional ISA.

[8] Cuando está en modo ECP ( 2.5.2)

Inicio

|Índice| Copyright © 2000-2006 Zator Systems. NO software patents

Page 139: 6721122 D057 Tecnologia Del PC

Tecnología del PC[Home] [Inicio] [Índice]

Subir

2.4.1 Servicios BIOS

§1 Sinopsis

La tabla de vectores de interrupción IDT ("Interrupt Description Table") del PC es una zona de 1024 bytes en la memoria baja, que contiene un máximo de 256 vectores (punteros) a los programas que atienden las interrupciones ISR's ("Interrupt service routine"). Estos punteros son de 4 bytes y están en forma segmentada ( 5.1); los dos primeros bytes indican el desplazamiento y los dos siguientes el segmento.

Cuando el procesador necesita encontrar alguna ISR, el dato de inicio es su número de servicio (también conocido como número de interrupción); a partir de este dato, multiplicando por 4 se obtiene la dirección absoluta del puntero (la IDT comienza en la dirección 0).

Por ejemplo: Cuando se pulsa una tecla, se genera una interrupción hardware ( 2.4) con el número 9; su dirección es 9 x 4 = 36d = 24h, que en forma segmentada sería 0000:0024.

Nota: Para obtener el contenido de esta dirección (que es la dirección de inicio del ISR del teclado) puede utilizarse el programa DEBUG ( 1.7.1w2). La forma es la siguiente:

● Invocar DEBUG desde una ventana DOS (suponemos que estamos en Windows; el

Page 140: 6721122 D057 Tecnologia Del PC

"prompt" es un guión "-")

● introducir el comando D 0000:0024 L 4 (pedimos que nos muestre 4 bytes a partir de la dirección indicada).

● Salir de Debug con Q

En mi PCm la respuesta al comando es:

0000:0020 D2 08 DB 0A

El grupo a la derecha indica el contenido hexadecimal de los 4 bytes solicitados, en el orden creciente de posiciones de memoria. Son por tanto, los contenidos de las posiciones 0000:0024; 0000:0025; 0000:0026 y 0000:0027. Teniendo en cuenta lo señalado respecto al almacenamiento (back-word 5), en mi PC, la dirección segmentada de la rutina de manejo del teclado es 0ADB:08D2. Como puede verse, está en el segmento 0ADB, correspondiente a la zona baja de la memoria de usuario.

Nota: El valor 0000:0020 a la izquierda del resultado podría conducir a error, dado que la dirección solicitada no es esta. La justificación es que el inicio de cada línea no puede ser una dirección cualquiera, sino un múltiplo de 16 (Fh). En nuestro caso 0024h (36d) no es divisible por 16. debug comienza la línea en la posición señalada, pero elimina las posiciones anteriores, dejando solo las que hemos pedido. Para ver el párrafo completo, puede hacerse:

-D 0000:0020 L F

Aquí le hemos pedido que que muestre 16 bytes (Fh) a partir de la dirección indicada, y se obtiene el párrafo que sigue (hemos resaltado los resultados del caso anterior):

0000:0020 00 00 00 D2 08 DB 0A 0C-3A 00 BE 09 52 00 BE

§2 Servicios BIOS

Page 141: 6721122 D057 Tecnologia Del PC

Durante la secuencia de arranque del sistema, el programa de inicio se ocupa de iniciar algunos de estos punteros, que corresponden con programas (aquí se llaman "servicios"), que están en la propia BIOS [1]; son los denominados servicios BIOS, a los que dedicamos el presente epígrafe.

§3 Servicios del sistema

Además de los anteriores, en la IDT se situan otra serie de vectores que apuntan a rutinas del propio Sistema Operativo. Estos vectores son situados en el proceso de carga del Sistema, y apuntan siempre a zonas de memoria RAM.

§4 Resumen de servicios del BIOS

Los servicios proporcionados por el BIOS pueden agruparse en cuatro grandes grupos:

● Servicios a periféricos (incluyen video, disquete, teclado, puertos de comunicaciones, impresora y pantalla).

● Servicios de estado del equipo (incluyen conocer los dispositivos presentes, incluyendo el tamaño de la memoria disponible).

● Servicio de hora (posibilidad de leer y escribir el número de "ticks de reloj pasados desde media noche)

● Servicios adicionales (permiten activar el BASIC y reiniciar el sistema)

Estos servicios son atendidos por doce vectores que se detallan un poco más ampliamente en el siguiente epígrafe, pero es importante conocer que el BIOS proporciona varios subservicios dentro de cada interrupción (por ejemplo, la 16, de video, incluye 19 subservicios, cada uno de los cuales tiene una funcionalidad específica). La invocación de estas rutinas debe hacerse en lenguaje ensamblador, y los diferentes subservicios son invocados mediante la colocación de determinados valores en ciertos registros del procesador [2]. En cierto sentido este método es equivalente a la invocación de una función

Page 142: 6721122 D057 Tecnologia Del PC

a la que se pasan distintos parámetros en función del comportamiento (respuesta) que deseamos obtener.

§5 Detalle de servicios del BIOS

La tabla de vectores de interrupción del PC tiene posiciones que son estándar, esto significa que algunos números de interrupción corresponden a un mismo servicio en todas las máquinas. En la tabla adjunta se han señalado aquellos servicios que corresponden a la BIOS, indicando el número de interrupción (decimal), la dirección absoluta del vector (en hexadecimal) y el uso de la ISR correspondiente.

Numero Dirección Uso

5 0014h Servicio de impresión del contenido de la pantalla. La invocación de este servicio provoca el mismo resultado que la combinación de teclas SHIFT+CTRL (que utilizan este servicio).

8 0020h El reloj del sistema genera interrupciones con este número con una frecuencia de 18.21 veces por segundo aproximadamente (se conocen como "ticks") [3]. Este servicio incrementa en una unidad la cuenta del reloj (almacenada en la memoria de datos de la ROM-BIOS 0.3.3). Del valor de este contador, que es puesto a cero cada 24 horas, se basan los servicios de hora del sistema (servicio 26

).16 0040h Servicios de video. Contiene 16 subservicios tales como ajuste del

tamaño y desplazamiento del cursor, escritura y lectura de un carácter o de un píxel, desplazamiento vertical ("Scroll"), ajuste y lectura del modo de video, etc.

17 0044h Servicio de componentes del equipo. Proporciona una palabra de 16 bits que contiene información básica sobre los componentes instalados en el ordenador.

Page 143: 6721122 D057 Tecnologia Del PC

18 0048h Este servicio informa del tamaño de la memoria instalada en el sistema.

19 004Ch La ROM BIOS proporciona seis servicios estándar de disquete: Reinicialización; obtención del estado; lectura; escritura y verificación de sectores, y formateo de pistas. A partir de la introducción del IBM PC AT, se introdujeron 12 nuevos servicios para disco, incluyendo recalibrado de la unidad, diagnóstico del controlador, etc.

20 0050h En esta interrupción se agrupan diversos subservicios de comunicaciones para puertos serie proporcionados por la BIOS: Inicializar los parámetros de inicio del puerto; enviar un carácter; recibir un carácter; obtener el estado del puerto.

21 0054h Incluye los servicios de cassette. En realidad es una reliquia prehistórica, ya que el PC tenía posibilidad de una cassette opcional.

22 0058h Incluye los servicios de teclado que incluye tres subservicios: Lectura de un carácter del buffer del teclado; Informar si hay algún carácter en el buffer; selección mayúsculas/minúsculas (estado del "Shift").

23 005Ch Incluye tres subservicios para impresora: Enviar un carácter al puerto paralelo; Inicializar el puerto; obtener un informe esquemático del estado de la impresora.

24 0060h Esta es otra reliquia prehistórica. Se trata del cargador del intérprete BASIC; este lenguaje que estaba presente en la ROM de los primeros PC's.

25 0064h Este servicio es la rutina de puesta en marcha ("bootstrap") del equipo. El resultado de su activación es equivalente a su puesta en marcha. Se denomina reinicio en caliente, y es parecido al efecto que se consigue por el teclado con la combinación CTRL+ALT+DEL.

Page 144: 6721122 D057 Tecnologia Del PC

26 0068h Este servicio suministra la hora del sistema mediante la inspección del contador de ticks de reloj pasados desde media noche (ver servicio 8 ). Incluye dos subservicios, que permiten respectivamente leer y escribir el valor del contador de ticks.

Nota: La librería estándar C++ dispone de una función clock() que devuelve el valor del tiempo transcurrido desde el inicio del programa. Esta función se basa en la inspección del contador de ticks.

Inicio.

[1] El proceso de carga puede copiar estos programas en en otros puntos de la memoria RAM (lo que ocurre si se utiliza una shadow-BIOS por ejemplo, H4).

[2] La mejor referencia al respecto que conozco es: Peter Norton "The Peter Norton Programer's Guide to the IBM PC" 1985 Microsoft Press.

[3] El valor resulta de dividir la la frecuencia 4.772720 MHz del reloj del IBM PC original ( 2) por 218. El resultado: 4.77272 · 106 / 262144 = 18.206.

Inicio

Page 145: 6721122 D057 Tecnologia Del PC

Tecnología del PC[Home] [Inicio] [Índice]

Subir

2.4.2 Servicios del Sistema

§1 Sinopsis

La tabla de vectores de interrupción IDT ("Interrupt Description Table") del PC es una zona de 1024 bytes en la memoria baja, que contiene un máximo de 256 vectores (punteros de 4 bytes) a los programas que atienden las interrupciones (ISR's "Interrupt service routine").

La primera misión de la IDT es contener los punteros a los servicios del BIOS ( H2.4.1). Aunque en realidad estos ocupan solo algunas de las 256 posiciones disponibles. El resto se completa con los denominados servicios del Sistema; quedando espacio para la inclusión de servicios especiales del usuario. Como es natural, los vectores de servicios del BIOS señalan a direcciones de memoria situadas en el espacio de la propia BIOS ( H4) [1] y son idénticos para un modelo determinado de ordenador, con independencia del SO cargado. Por ejemplo: MS-DOS; Windows o Linux. Mientras que los vectores de servicios del Sistema dependerán naturalmente del SO cargado y señalan a zonas de memoria RAM.

§2 Detalle de servicios del MS-DOS

La tabla de vectores de interrupción del PC tiene posiciones que son estándar, esto significa

Page 146: 6721122 D057 Tecnologia Del PC

que algunos números de interrupción corresponden a un mismo servicio en todas las máquinas. En la tabla adjunta se han señalado algunos de estos servicios, indicando el número de interrupción, la dirección del vector y el uso de la ISR correspondiente.

Numero Dirección Uso

0 0000h Cuando se realiza una división por cero, el procesador genera una excepción que tiene este número.

1 0004h .Se utiliza para ejecutar programas paso a paso (depuradores).

2 0008h Generado cuando se produce una interrupción no enmascarable NMI.

5 0014h Servicio de impresión del contenido de la pantalla. La invocación de este servicio provoca el mismo resultado que la combinación de teclas SHIFT+CTRL (que utilizan este servicio).

8 0020h El reloj del sistema genera interrupciones con este número con una frecuencia de 18.21 veces por segundo aproximadamente (se conocen como "ticks"). Este servicio incrementa en una unidad la cuenta del reloj (almacenada en la memoria de datos de la ROM-BIOS). Del valor de este contador, que es puesto a cero cada 24 horas, se basan los servicios de hora del sistema (servicio 26 ).

16 0040h Servicios de video. Contiene 16 subservicios tales como ajuste del tamaño y desplazamiento del cursor, escritura y lectura de un carácter o de un píxel, desplazamiento vertical ("Scroll"), ajuste y lectura del modo de video, etc.

17 0044h Servicio de componentes del equipo. Proporciona una palabra de 16 bits que contiene información básica sobre los componentes instalados en el ordenador.

18 0048h Este servicio informa del tamaño de la memoria instalada en el sistema.

Page 147: 6721122 D057 Tecnologia Del PC

19 004Ch La ROM BIOS proporciona seis servicios estándar de disquete: Reinicialización; obtención del estado; lectura; escritura y verificación de sectores, y formateo de pistas.

20 0050h En esta interrupción se agrupan diversos subservicios de comunicaciones para puertos serie proporcionados por la BIOS: Inicializar los parámetros de inicio del puerto; enviar un carácter; recibir un carácter; obtener el estado del puerto.

21 0054h Incluye los servicios de cassette. En realidad es una reliquia prehistórica, ya que el PC tenía posibilidad de una cassette opcional.

22 0058h Incluye los servicios de teclado que incluye tres subservicios: Lectura de un carácter del buffer del teclado; Informar si hay algún carácter en el buffer; selección mayúsculas/minúsculas (estado del "Shift").

23 005Ch Incluye tres subservicios para impresora: Enviar un carácter al puerto paralelo; Inicializar el puerto; obtener un informe esquemático del estado de la impresora.

24 0060h Esta es otra reliquia prehistórica. Se trata del cargador del intérprete BASIC; este lenguaje que estaba presente en la ROM de los primeros PC's.

25 0064h Este servicio es la rutina de puesta en marcha ("bootstrap") del equipo. El resultado de su activación es equivalente a su puesta en marcha. Se denomina reinicio en caliente, y es parecido al efecto que se consigue por el teclado con la combinación CTRL+ALT+DEL.

Page 148: 6721122 D057 Tecnologia Del PC

26 0068h Este servicio suministra la hora del sistema mediante la inspección del contador de ticks de reloj pasados desde media noche (ver servicio 8 ). Incluye dos subservicios, que permiten respectivamente leer y escribir el valor del contador de ticks.

Nota: La librería estándar C++ dispone de una función clock() que devuelve el valor del tiempo transcurrido desde el inicio del programa. Esta función se basa en la inspección del contador de ticks.

Inicio.

[1] En el caso de flash BIOS ( H4) esta memoria es copiada a RAM, por lo que sus vectores apuntan también a zonas de memoria RAM.

Inicio

|Índice| Copyright © 2000-2006 Zator Systems. NO software patents

Page 149: 6721122 D057 Tecnologia Del PC

Tecnología del PC[Home] [Inicio] [Índice]

Subir

2.5 Puertos Entrada/Salida

Nota: Para tener una visión de conjunto, antes de adentrarse en este apartado, dedicado a los puertos de E/S, es recomendable leer el epígrafe en que se tratan las Entradas/Salidas de forma genérica ( H2.1)

§1 Sinopsis

Cualquier dispositivo (distinto de la memoria RAM) que intercambie datos con el sistema lo hace a través de un "puerto", por esto se denominan también puertos de E/S ("I/O ports"). Desde el punto de vista del software, un puerto es una interfaz con ciertas características; se trata por tanto de una abstracción (no nos referimos al enchufe con el que se conecta físicamente un dispositivo al sistema), aunque desde el punto de vista del hardware, esta abstracción se corresponde con un dispositivo físico capaz de intercambiar información (E/S) con el bus.

Como los dispositivos E/S tienen algún tipo de conexión con el bus externo ( H2), deben tener una dirección (o conjunto de ellas) que los identifique. Los hemos comparado con un teléfono, un dispositivo con el que se puede enviar/recibir información mediante una dirección. Hablar de un puerto E/S es casi siempre sinónimo de una dirección, y es costumbre informática referirse a estas direcciones en hexadecimal ( 2.2.4b). De modo que, por ejemplo, un puerto puede ser 0x21 en un fuente o 21h en un texto informático.

Page 150: 6721122 D057 Tecnologia Del PC

Nota: Al tratar de las E/S ( H2.1) hemos indicado que puerto es sinónimo de periférico; un dispositivo externo que comunica con el sistema a través de una dirección. Sin embargo no todos son dispositivos externos a la placa-base, de hecho algunos dispositivos hardware incluidos en ella tienen la característica de "Puertos". Por ejemplo, durante mucho tiempo algunos PC's disponían de un botón frontal señalado "Turbo", con el que se podía cambiar la velocidad de funcionamiento. Este cambio de la velocidad del reloj también puede realizarse por software. Basta para ello cambiar un par de bits en un "Puerto" instalado en la propia placa-base (generalmente en el rango 62-6Fh).

§2 Direcciones de puertos

El modelo de direccionamiento del PC ha adoptado dos modelos, según la naturaleza del dispositivo a conectar: Direccionamiento dedicado para dispositivos de media/baja velocidad. Por ejemplo, puertos serie y paralelo (impresora), teclado, Etc. y direccionamiento mapeado en memoria para dispositivos rápidos (típicamente los adaptadores gráficos). En el apartado dedicado a E/S se explican las diferencias entre ambas modalidades ( H2.1)

§2.1 Respecto a los dispositivos de direccionamiento dedicado, desde la introducción del IBM-PC, es costumbre que determinados dispositivos muy comunes se conecten mediante puertos de direcciones determinadas.

Agunas direcciones (hex) de puertos en el

PC XT/ATDispositivo DirecciónControlador DMAC#1 primario 8237A

000-00F

En la tabla adjunta se muestran algunas de estas direcciones típicas para dispositivos de E/S [3]. Las referencias a los chips se refieren a los utilizados en los primeros PCs. Actualmente han sido sustituidos por uno o dos integrados (Chipset) que realizan todas las funciones.

Puede observarse que para un mismo periférico se tienen varias direcciones (un "rango"). La razón es que estos dispositivos tienen varios registros y/o son programables, para

Page 151: 6721122 D057 Tecnologia Del PC

Controlador de interrupciones PIC#1 8259A

020-021

Temporizador programable PIT 8253 y 8254

040-043

Controlador periféricos PPI 8255 (XT)

060-063

Controlador 8742 (AT)

060-064

Altavoz del sistema

061-061

CMOS RAM & NMI Mask Reg (AT)

070-071

Registros de página DMA

081-08F

Controlador de interrupciones PIC#2 (AT)

0A0-0A1

NMI Mask register (XT)

0A2-0AF

Controlador DMAC#2 secundario (AT)

0C0-0DF

lo que disponen de registros especiales (cada registro de un Byte tiene una dirección, y estas son correlativas). Por ejemplo, el controlador de puerto serie de los primeros PCs era un circuito integrado 8250 de National Semiconductor; que dispone de 8 registros, aunque los datos se reciben y transmiten por uno de ellos, el resto sirve para programar y controlar el funcionamiento del chip.

§2.1a Respecto a las asignaciones "Estandar" de algunos puertos, es pertinente hacer algunas observaciones:

En realidad IBM definió de forma distinta las direcciones de puerto de las interfaces de impresora en los PC monocromo y en los de color. Las asignaciones fueron las siguientes:

Puerto Monocromo ColorLPT1 3BC-3BFh 378-37FhLPT2 378-37Fh 278-27FhLPT3 278-27Fh ---

En lo referente a los puertos serie, durante la secuencia inicial de identificación del hardware ( 4.2), la BIOS realiza una búsqueda de dispositivos de E/S por direcciones en un orden determinado, y les asigna un nombre lógico según el orden de aparición. En el caso de los puertos serie el orden suele ser el siguiente:

Puerto DirecciónCOM1 3F8-3FFhCOM2 2F8-2FFhCOM3 3E8-3EFh

Page 152: 6721122 D057 Tecnologia Del PC

Clear / Reset del coprocesador matemático

0F0-0F1

Coprocesador matemático 80287

0F8-0FF

Controlador de disco duro (AT)

1F0-1FF

Puerto de juegos

200-20F

Unidad de expansión (XT)

210-21F

Ratón (conectado al bus)

238-23B

Ratón de bus alternativo

23C-23F

Puerto paralelo (LPT2)

278-27F

EGA (Enhanced Graphic Adapter)

2B0-2BF

EGA 2C0-2CFEGA 2D0-2DF

COM4 2E8-2EFh

§2.1b Los usuarios de Windows 98 pueden comprobar la asignación de puertos del sistema mediante la utilidad msinfo032.exe (genralmente en el directorio C:\Archivos de programa\Archivos comunes\Microsoft Shared). Los usuarios de Linux pueden consultarse en el fichero /proc/ioports mediante el comando

cat /proc/ioports

(lad direcciones de memoria están expresadas en hexadecimal). En la página adjunta se muestra el resultado de ambas utilidades en un caso concreto ( Ejemplo).:

§2.2 Las direcciones mapeadas en memoria se eligieron para algunos dispositivos como los adaptadores gráficos, que requerían mover grandes cantidades de datos muy rápidamente.

Con objeto de no causar conflictos con la RAM general, algunas de estas direcciones fueron mapeadas desde el principio por los diseñadores de IBM, fuera de la denominada memoria convencional ( H5.1). Es decir, fuera del espacio de los 640 KB que podían utilizarse en los primeros PC's para Sistema y programas de aplicación. Por ejemplo, el adaptador de video utiliza un área de memoria de 128 KB mapeada entre las direcciones A0000-BFFFFh.

Sin embargo, los decodificadores de direcciones de periféricos de los primitivos PC's solo podían utilizar direcciones de 10 bits para tales accesos, por lo que las direcciones de puertos

Page 153: 6721122 D057 Tecnologia Del PC

GPIB Adaptador 0 (AT)

2E0-2E7

Puerto serie 8250 (COM4)

2E8-2EF

Puerto serie 8250 (COM2)

2F8-2FF

Tarjetas específicas (prototipos)

300-30F

Tarjetas específicas (prototipos)

310-31F

Controlador disco duro (XT)

320-32F

Tarjeta de red 360-363Tarjeta de red 368-36BPuerto paralelo (LPT1)

378-37F

SDLC Puerto 2 [1]

380-38F

SDLC Puerto 1

3A0-3AF

MDA (Monochrome Display Adapter)

3B0-3BB

estaban constreñidas a 210 (1 KB 0000-0400h). En realidad el espacio era aún más pequeño, puesto que los primeros 256 Bytes estaban copados por algunos dispositivos de la placa-base, resultando que los dispositivos E/S debían ser mapeados en 768 Bytes. Generalmente se utilizaron fragmentos de 256 Bytes en la forma xxF0-xxFFh, organizados de forma bastante desordenada.

La introducción del AT amplió estas direcciones a 16 [2]. Sin embargo, incluso los 64 KB resultantes eran un espacio pequeño y de organización caótica, dado que los nuevos dispositivos se construían de forma que fueran compatibles con las antiguas placas ISA que solo reconocían direcciones de 10 bits. Incluso las placas para buses posteriores que fueron desarrollados pensando en 64 KB porque debían ser compatibles hacia atrás con las antiguas placas ISA (que coexistían en las nuevas). El resultado de todo esto es que, incluso los sistemas actuales con muchos MB. de RAM, deben seguir lidiando con los puertos a través de pequeñas ventanas de memoria con localizaciones absurdas.

§3 Comunicar con los puertos

Nos detendremos brevemente en analizar los aspectos involucrados en las operaciones E/S con los puertos desde una doble vertiente: Lógica y física; esta última relativa a los mecanismos involucrados en el intercambio.

§3.1 Aspectos lógicos

El software utilizado depende de la modalidad de direccionamiento (dedicado o mapeado) que se elija. En el segundo caso, se dispone un amplio repertorio de recursos

Page 154: 6721122 D057 Tecnologia Del PC

Puerto paralelo (LPT3)

3BC-3BF

EGA 3C0-3CFCGA 3D0-3DFPuerto serie 8250 (COM3)

3E8-3EF

Controlador de disquete

3F0-3F7

Puerto serie 8250 (COM1)

3F8-3FF

para mover datos entre los registros y la memoria (la mayoría de las instrucciones del procesador operan de esta forma), así como de los mecanismos auxiliares de transferencia, como el acceso directo a memoria DMA.

El panorama es distinto cuando se trata de puertos de direccionamiento dedicado. En este caso, para realizar las operaciones E/S en los procesadores 8088 y descendientes, solo se dispone de dos instrucciones específicas: IN y OUT. La primera lee un byte del registro de salida del puerto y lo sitúa en un registro del procesador; la segunda escribe el contenido de un registro del procesador en un registro del puerto. Ambas instrucciones permiten dos variaciones sintácticas:

IN acumulador-destino, direccion-de-puerto-origen IN acumulador-destino, acumulador-origen OUT dirección-de-puerto-destino, acumulador-origen OUT acumulador-destino, acumulador-origen

Las dos primeras sitúan el dato contenido en el puerto origen en el acumulador-destino, que puede ser AX o AL. Observe que el puerto puede ser expresado directamente mediante una dirección (hexadecimal) o mediante un acumulador-origen, que debe ser DX; en este caso, su contenido se toma como dirección del puerto que se lee.

Las instrucciones OUT sitúan el valor contenido en el acumulador-origen, que puede ser AX o AL, en el puerto destino, que puede ser identificado directamente mediante su dirección hexadecimal, o por el valor señalado por el acumulador-destino, que debe ser DX.

En el IBM-PC, las direcciones-de-puerto utilizadas en estas instrucciones estan en el rango 00-FFh, aunque en la práctica solo 00-F7h, porque Intel reserva las direcciones F8-FFh para el coprocesador metemático ( 0.3.2). En cambio, si se utiliza la dirección contenida en el registro DX el rango de direcciones puede moverse en el rango 0000-FFFFh.

Page 155: 6721122 D057 Tecnologia Del PC

Por supuesto, cualquier programa que quiera utilizar puertos deberá emplear directa o indirectamente estas dos instrucciones ensamblador, aunque en muchos casos no es imprescindible enredarse en demasiados detalles.

Los usuarios de DOS pueden utilizar servicios del Sistema; concretamente la interrupción 21h que realiza operaciones de E/S con puertos (utilizando IN y OUT por supuesto). Por ejemplo, las instrucciones:

MOV DL,7MOV AH,2INT 21

provocan un pitido en el sistema bajo DOS. La explicación es la siguiente: La última instrucción invoca una interrupción software ( H2.4) número 33 (21h) que, como hemos indicado, corresponde a los servicios del DOS. Cuando esto ocurre, se comprueba el contenido del registro AH ( H3.2), que en este caso es 2 (valor previamente establecido en la segunda instrucción), lo que indica que debe escribirse un carácter en pantalla (un dispositivo de salida); en este caso, el carácter que se envía al puerto es el contenido del registro DL, que previamente se ha establecido en el valor 7 con la primera instrucción. El 7 es el valor BELL ASCII ( 2.2.1a); cuando se intenta mostrar este carácter, se produce un pitido en el altavoz del sistema.

Los demás Sistemas disponen de utilidades análogas. Por ejemplo, los sistemas Windows disponen de una DLL específica para este tipo de servicios.

§3.2 Aspectos físicos

Page 156: 6721122 D057 Tecnologia Del PC

El procedimiento que se sigue el procesador para las E/S hacia puertos, es siempre el mismo: Poner el dato en el bus de datos y la dirección en el de direcciones. Como indicamos a continuación, el sistema sabe que se trata de una dirección de memoria (real o de puerto mapeado) o de un puerto de dirección dedicada, y cual es la acción esperada (lectura o escritura) porque se dispone de 4 líneas específicas en el bus de control ( H2):

● IOR Orden de lectura para dispositivo E/S conectado al bus, que debe colocar un dato en el bus de datos.

● IOW Orden de escritura para dispositivo E/S, que debe leer el dato situado en el bus.

● MEMR Esta señal indica a los dispositivos de memoria que deben colocar un dato en el bus de datos.

● MEMW Señal que indica a los dispositivos de memoria que deben almacenar el dato colocado en el bus de datos.

Una cuestión adicional es que cuando la comunicación debe establecerse desde el lado del puerto (es el puerto el que desea establecer comunicación con el sistema), primero debe anunciarlo al procesador, para lo que se utiliza un sistema de interrupciones cuyo mecanismo de funcionamiento se ha detallado en el capítulo correspondiente ( H2.4). La consecuencia es que la mayoría de los puertos disponen de líneas IRQ asignadas para este menester.

§4 Webografía

The x86 interrupt list ftp.cs.cmu.edu/

Ver comentario en la página anterior ( 2.4).

Inicio.

Page 157: 6721122 D057 Tecnologia Del PC

[1] SDLC "Synchronous Data Link Control". Controlador síncrono serie de alta velocidad. Generalmente utilizado en dispositivos de audio y comunicaciones.

[2] El 8088 dispone de un bus de direcciones de 20 bits (A0-A19), pero durante las operaciones de E/S de puertos, las direcciones A16-A19 permanecen iguales a cero ( H3.2.1).

[3] Aparte de posibles errores, si compara las direcciones de la tabla con las de otras páginas o publicaciones (u otras entre sí), comprobará que a veces existen pequeñas diferencias, en especial en los valores finales del rango. La razón suele ser que se refieran al rango inicialmente destinado al dispositivo (que tiene la forma xxFF) o al que realmente utiliza el dispositivo concreto (que en ocasiones no agota el rango reservado inicialmente).

Inicio

|Índice| Copyright © 2000-2006 Zator Systems. NO software patents

Page 158: 6721122 D057 Tecnologia Del PC

Tecnología del PC[Home] [Inicio] [Índice]

Subir

2.5.1 Puertos E/S: Puertos Serie

§1 Sinopsis

Los diseñadores del IBM PC ya previeron la posibilidad de comunicación serie, para lo que posibilitaron la instalación de hasta 7 puertos de comunicaciones serie asíncronas RS-232.C (aunque es raro instalar más de dos); para atender estos puertos dispusieron de los correspondientes servicios en la BIOS . En los primeros modelos la electrónica necesaria no estaba incluida en la placa-base, por lo que los puertos debían instalarse en adaptadores de tarjeta que se insertaban en cualquiera de los zócalos disponibles.

Generalmente, las direcciones de puerto e interrupciones utilizadas ( 2.4), son las siguientes:

Nombre [4] Dirección IRQ

COM1 / ttyS0 3F8-3FF IRQ4

COM2 / ttyS1 2F8-2FF IRQ3

COM3 / ttyS2 3E8-3EF IRQ4

COM4 / ttyS3 2E8-2EF IRQ3

Page 159: 6721122 D057 Tecnologia Del PC

La comunicación serie ha permitido conectar diversos dispositivos al ordenador, como un ratón; una impresora u otro ordenador, aunque su aplicación principal han sido las telecomunicaciones a través de módem.

§2 El estándar RS-232

RS-232.C significa literalmente "Recomended Standard232 revisión C" (también conocida como EIA 232). Es un estándar publicado en 1969 por la EIA ("Electronic Standard Association") que define las características eléctricas que deben presentar los elementos de conexión para la comunicación serie entre ordenadores y equipos periféricos [1]. Su título dice exactamente: "Conexión entre un Equipo Terminal de Datos y un Equipo de Comunicación de Datos empleando un intercambio de datos binario serie", y comprende diversos apartados:

● Características eléctricas de la conexión

● Características mecánicas de la conexión

● Descripción funcional del intercambio, proporcionando nombres a las señales utilizadas.

● Conexiones ejemplo para una selección de sistemas de comunicación

Como puede verse en el propio título del estándar, en la comunicación serie se distinguen dos tipos de dispositivos: Los equipos terminales de datos DTE ("Data Terminal Equipment"), y los equipos de comunicación de datos DCE ("Data Communication Equipment"). En la terminología de las comunicaciones serie se denomina "Sexo" de un equipo a su tipo; en este sentido DTE y DCE son "sexos" contrarios. A efectos prácticos el sexo del equipo determina que asignación de señales tendrá su conector externo .

Recordemos que en la comunicación serie, como en cualquier otra comunicación informática, existen dos aspectos complementarios: Uno relativo a las características físicas de la conexión; en este caso las características eléctricas y mecánicas, aspectos que están contemplados en el estándar RS-232 (a estos elementos los denominaremos capa física). Otros son los protocolos de comunicación, que incluyen los sistemas de codificación de la

Page 160: 6721122 D057 Tecnologia Del PC

señal que se enviará por la capa física (los denominamos capa lógica).

§3 Características de la comunicación serie

Para comprender bien algunos aspectos de las comunicaciones serie, hay que tener en cuenta que este tipo de comunicación eléctrica precede en bastantes años a la aparición de los ordenadores electrónicos. La comunicación serie tiene sus raíces en el telégrafo, que posteriormente derivó en el teleimpresor (Telex), donde se utilizaron diversos protocolos de comunicación; los más famosos el Morse [1a] el Baudot [1b] y el ASCII. Posteriormente las comunicaciones serie informáticas adoptaron

algunos de los usos y costumbres existentes adaptándolos a las nuevas necesidades, empezando por su propio sistema de códigos (ASCII), pero que conservando algunas reminiscencias de sus ancestros telegráficos [3].

Nota: Tanto el sistema de codificación ASCII (American Standard Code for Information Interchange 2.2.1a), como el propio estándar RS-232, nacieron pensado en transmisiones serie utilizadas casi exclusivamente para tele-impresión. Las señales y protocolos empleados se referían a cuestiones tales como sonar una campana para recabar la atención del operador, y enviar un retorno de carro CR (Carriage Return) o un salto de línea LF (Line feed) -eran impresoras electro-mecánicas-. La comunicación serie entre ordenadores no requiere tantas señales. Sin embargo, se siguieron utilizando la terminología y muchas de las señales del estándar primitivo .

En la comunicación serie los bits se transmiten uno detrás de otro (de ahí el nombre), lo que hace que sean mucho más lentas que sus homólogas "paralelo" en las que se transmiten varios bits a la vez. La ventaja es que puede utilizarse un solo par de hilos, o incluso uno solo (si el retorno se realiza por la tierra).

Existen varias formas de transmisiones serie:

Page 161: 6721122 D057 Tecnologia Del PC

● Simplex: Un equipo transmite, el otro recibe.

● Half-duplex: Transmiten ambos equipos pero no simultáneamente; los equipos se alternan en la transmisión, uno transmite mientras el otro recibe.

● Full-duplex: Ambos equipos transmiten simultáneamente. Para ello se requieren dos líneas independientes, transmisión y recepción; la línea de transmisión de un equipo se conecta a la entrada de recepción del otro y viceversa. Los puertos serie del PC son capaces de utilizar este modo.

● Síncronas: Los dispositivos que comunican se sincronizan en el momento inicial de la transmisión y constantemente se intercambian información a una cadencia predefinida. Con objeto de mantener la sincronización, cuando no existen datos que enviar se transmiten caracteres sin valor ("idle characters). Esta transmisión es más rápida que la asíncrona porque no es necesario transmitir señales de inicio o fin de dato; constantemente se reciben caracteres que pueden ser de datos o sin valor (de relleno).

● Asíncronas: En este modo de transmisión no existe sincronización; no es necesario enviar caracteres de relleno, pero hay que indicar cuando empieza un dato y cuando termina. Esto se hace incluyendo en la transmisión señales de inicio y fin de dato (bits de "start" y "stop"). En la comunicación asíncrona, la información (cada carácter) es enviada en el interior de un cuadro ("Frame") de tamaño variable, que comienza con la mencionada señal de inicio y termina con la de final; es el tipo de comunicación utilizada en los puertos serie del PC [7]. En este tipo de comunicación, el estado de reposo (cuando no se transmite nada) se identifica con un "1" (marca). Cuando se recibe un bit de inicio, que es un "0" (espacio), el receptor toma nota que va a comenzar a recibir un dato.

Nota histórica: Esta forma de asignación aparentemente ilógica (llamar "1" -marca- a la ausencia de señal), tiene también sus orígenes en el telégrafo (las comunicaciones utilizadas en telégrafos y teleimpresores eran asíncronas),

Page 162: 6721122 D057 Tecnologia Del PC

donde se constató que había menos errores si se utilizaba siempre una tensión en la línea (para indicar reposo) y se cambiaba para señalar el dato. Este sistema tiene la ventaja adicional que el receptor puede distinguir una línea ociosa de una desconectada.

Esta forma de operación es también el origen de un malentendido respecto a las transmisiones por módem, que utilizan un equivalente audible de las tensiones de señal (ver a continuación el apartado Características Eléctricas

). En este caso, los dos estados de tensión han sido sustituidos por dos tonos audibles; el estado de reposo (marca) está señalado por el tono más elevado, de modo que cuando no existe transmisión se está transmitiendo un tono que ha sido erróneamente interpretado como señal de portadora, circunstancia reforzada por el nombre de la señal CD (Carrier Detect) que en realidad debía denominarse Detección de Señal de Recepción.

Los parámetros que caracterizan estas comunicaciones son: Velocidad; paridad; bits de datos y bits de parada. En la literatura sobre el tema es frecuente expresar estos datos en forma resumida. Por ejemplo: 1200 8 N 1 para indicar una transmisión de 1200 baudios con 8 bits de datos sin paridad y un bit de Stop.

Los parámetros anteriores están relacionados con la forma en que se transmite la información serie. En esta comunicación cada carácter va incluido en un cuadro ("Frame"); generalmente el comienzo es un bit de inicio (siempre un 1); después le sigue el dato, que puede ser de 5 a 8 bits de longitud; después puede haber un bit de control de paridad, y por último un bit final (siempre es un 1) de longitud variable (el equivalente a 1, 1.5 o 2 bits).

§3.1 Velocidad de transmisión ("Connection speed") es la cantidad de datos transmitidos en unidad de tiempo. Se expresa en bits por segundo (bps). En las transmisiones serie a través de líneas telefónicas, en las que se emplean módems ( H11.1) era frecuente utilizar como medida de velocidad el Baudio ("Baud rate"), en honor de Emile Baudot, al que ya hemos hecho referencia [1b]. Baudio se define como el número de veces que cambia la portadora en un segundo. La velocidad que puede emplearse depende en

Page 163: 6721122 D057 Tecnologia Del PC

gran medida de la calidad del medio de transmisión (calidad de la línea), que si (como es frecuente) se trata de líneas telefónicas, depende a su vez de la distancia. Los primeros dispositivos serie operaban a velocidades muy bajas, del orden de 110 a 1200 baudios [2]. Las comunicaciones telefónicas serie actuales están muy cerca del máximo teórico que pueden soportar los pares de cobre utilizados en la telefonía estándar. Además, para aumentar el rendimiento de la comunicación se utilizan técnicas de compresión de los datos a transmitir, y velocidades variables, que pueden ser negociadas entre los equipos que comunican en función del estado de la línea en cada momento.

§3.2 Longitud del carácter ("Char length"). Se han utilizado caracteres de 5, 6, 7 y 8 bits, aunque actualmente los datos son enviados como caracteres ASCII, por lo que pueden utilizarse 7 u 8 bits según se trate del juego de caracteres US-ASCII o el extendido ( E2.2.1a). El conjunto de bits que componen un carácter se denominan bits de dato ("Data bits")

§3.3 Paridad ("Parity"). Para poder comprobar la calidad de la transmisión se suele utilizar un sistema de control de paridad que añade un bit a los bits de datos. Los sistemas utilizados son:

● Paridad par ("Even")

● Paridad impar ("Odd")

● Paridad marca ("Marck")

● Paridad espacio ("Space")

● Sin paridad (no se añade ningún bit de paridad al datagrama)

Los sistemas de paridad par e impar se ha explicado al tratar de la memoria ( H5.3); ambos métodos cuentan el número de unos contenidos en los bits de datos y añade un uno o un cero según el resultado. Por su parte la paridad Mark indica que se incluirá siempre una marca (bit de valor "1") como bit de paridad, mientras que la paridad Space añade siempre un espacio ("0"). Evidentemente estos dos últimos sistemas no aportan absolutamente

Page 164: 6721122 D057 Tecnologia Del PC

ninguna información, por lo que son usados muy raramente.

§3.4 Bits de parada ("Stop bits"). Después que se envía un carácter se envía un bits de parada, que tienen el valor "1" (marca); la duración de este bit puede ser 1, 1.5 o 2 periodos.

§4 Características eléctricas

Como hemos señalado, las normas y terminología de las comunicaciones serie están muy influenciadas por sus orígenes telegráficos. Esto incluye algunas de las definiciones utilizadas por la norma RS-232.

Una curiosidad de esta norma es que la transmisión de los caracteres ASCII se realiza empezando por el bit menos significativo. Puesto que estamos acostumbrados a representarlos de derecha a izquierda (empezando por el más significativo), podría decirse que los bits son transmitidos al revés.

Los datos se transmiten en binario, pero no es frecuente referirse a ceros y unos como en la informática convencional, sino a espacios y marcas.

En la figura 1 se muestran los niveles de tensión correspondientes a las salidas. Como puede verse, la lógica utilizada es poco convencional, utiliza una lógica bipolar con tensiones negativas para los "1" lógicos [6].

Page 165: 6721122 D057 Tecnologia Del PC

En la figura 2 se muestran los niveles correspondientes a las entradas. Puede verse que su espacio de transición es más reducido que para las salidas.

§5 Conectores

El estándar RS-232 define un conector DB de 25 pines del que solo se utilizan 22; las señales están pensadas para la comunicación remota de teleimpresores, y actualmente no son realmente necesarias para comunicar ordenadores, por lo que se han estandarizado el uso de 8 (las ocho grandes) que pueden ser utilizadas en conectores de 25 pines o de 9.

En la tabla 1 se muestran los nombres las señales y la asignación de pines utilizada en el estándar para un DTE (se han resaltado las señales correspondientes a las ocho grandes, el nivel de referencia y a la protección ).

Nota: Básicamente el DTE transmite por la patilla 2 y recibe por la 3. El significado de las flechas es el siguiente:

señal originada en el DTE señal originada en el DCE.

A efectos prácticos podemos considerar que el puerto serie del PC es un DTE.

DTE (Data Terminal Equipment)

DCE (Data Communiction Equipment)

Page 166: 6721122 D057 Tecnologia Del PC

Tabla 1 Señales RS-232 C

Pin NombreRS232Direc.Descripción

1 GND n/a

Shield Ground (tierra de protección)

2 TXD BA Transmit Data3 RXD BB Receive Data

4 RTS CA Request to Send

5 CTS CB Clear to Send

6 DSR CC Data Set Ready

7 GND ABSystem Ground (nivel de referencia)

8 CD CF Carrier Detect9 - - RESERVADO10 - - RESERVADO

11 STF Select Transmit Channel

12 S.CD SCF Secondary Carrier Detect

13 S.CTS SCB Secondary Clear to Send

14 S.TXD SBA Secondary Transmit Data

15 TCK DB

Transmission Signal Element Timing

16 S.RXD SBB Secondary Receive Data

Tabla 2

Pin DB9 DB25

1 CD GND2 RXD TXD3 TXD RXD4 DTR RTS5 GND CTS6 DSR DSR7 RTS GND8 CTS CD9 RI N.C.

10 N.A. N.C.11 N.A. N.C.12 N.A. N.C.13 N.A. N.C.14 N.A. N.C.15 N.A. N.C.16 N.A. N.C.17 N.A. N.C.18 N.A. N.C.19 N.A. N.C.20 N.A. DTR21 N.A. N.C.22 N.A. RI23 N.A. N.C.24 N.A. N.C.25 N.A. N.C.

Page 167: 6721122 D057 Tecnologia Del PC

17 RCK DD

Receiver Signal Element Timing

18 LL LL Local Loop Control

19 S.RTS SCASecondary Request to Send

20 DTR CDData Terminal Ready

21 RL RL Remote Loop Control

22 RI CE Ring Indicator

23 DSR CH Data Signal Rate Selector

24 XCK DA

Transmit Signal Element Timing

25 TI TM Test Indicator Las conexiones externas de los puertos serie del PC se han estandarizado en 2 tipos de conectores de 9 y 25 pines (DB9 y DB25), con el macho del lado del ordenador.

En la tabla-2 se muestra la asignación de pines para ambos conectores. Los nombres de las señales se refieren a los utilizados en la tabla-1 (N.A. = No aplicable; N.C. = No conectado).

§6 Servicios BIOS de puerto serie

Los servicios BIOS ( H2.4.1) relacionados con el puerto serie se gestionan mediante el vector de interrupción 20 (14h); este servicio tiene 4 subservicios numerados del 0 al 3.

Page 168: 6721122 D057 Tecnologia Del PC

● Servicio 0: Inicializar el puerto; permite ajustar los parámetros de transmisión.

● Servicio 1: Enviar un carácter

● Servicio 2: Recibir un carácter

● Servicio 3: Obtener el estado del puerto, tanto de funcionamiento como estados de error.

Por lo general, la secuencia POST de la BIOS ( H4) solo detecta los dos primeros puertos serie; como el DOS utiliza los datos de la BIOS, salvo módulos software especiales, los programas DOS solo pueden utilizar COM1 y COM2. Sin embargo esta limitación no existe para Windows 98 o 2000, que pueden utilizar hasta 128 puertos.

Inicio.

[1] Una buena referencia al respecto es "The RS-232 solution" de Joe Campbell. Sybex inc. 1984.

[1a] Samuel Finley Breese Morse desarrolló el primer telégrafo americano, inventando también un código binario para la transmisión de caracteres. La diferencia entre los dos signos (rayas y puntos) estriba en la duración de la señal; la raya dura tres veces más que el punto. www.samuelfbmorse.com/

[1b] El nombre deriva de su inventor, un telegrafista francés, Jean-Maurice-Emile Baudot, que a finales del siglo IXX desarrolló un código telegráfico de cinco caracteres www.sonic.net/.

[2] El PCjr tenía una velocidad máxima de 4800 baudios !!; en 1985 la velocidad más común era de 1200 baudios.

[3] Hasta fechas relativamente recientes, el organismo español de Correos y Telégrafos

Page 169: 6721122 D057 Tecnologia Del PC

disponía de líneas de telégrafo independientes de las telefónicas.

[4] Junto a la designación tradicional, IBM-DOS y MS-DOS, se ha incluido la designación Linux

[6] Los circuitos lógicos de los ordenadores suelen utilizar una lógica monopolar, en la que las diferencias entre ceros y unos están marcadas por el valor de la tensión que solo tiene un signo; un voltaje "alto" suele representar un "1" y un voltaje "bajo", próximo a cero, representa un "0".

[7] En el PC también existen comunicaciones serie síncronas. Es el caso de la comunicación del teclado con su controlador, incluido en la placa-base.

Inicio

|Índice| Copyright © 2000-2006 Zator Systems. NO software patents

Page 170: 6721122 D057 Tecnologia Del PC

Tecnología del PC[Home] [Inicio] [Índice]

Subir

2.5.1.1 Puertos Serie: La UART

§1 Sinopsis

El corazón del sistema de comunicaciones serie es la UART, acrónimo de Universal Asynchronous Receiver-Transmitter. Es un chip cuya misión principal es convertir los datos recibidos del bus del PC en formato paralelo, a un formato serie que será utilizado en la transmisión hacia el exterior. También realiza el proceso contrario: transformar los datos serie recibidos del exterior en un formato paralelo entendible por el bus.

La UART es un dispositivo programable en el que pueden establecerse las condiciones que se utilizarán para la transmisión (velocidad, paridad, longitud y bits de parada). En los primeros PCs, eran circuitos integrados 8250 de National Semiconductor (un chip de 40 patillas DIP -Dual-In-Line-), pero se han ido utilizando otros a lo largo de la evolución del PC. Los más significativos se señalan a continuación:

● NS 8250 La UART del IBM PC original; este circuito tenía un pequeño "bug" que fue corregido mediante las oportunas modificaciones en las rutinas BIOS. Fue sustituido por el 8250-B.

● NS 8250A Este chip corregía los problemas de los predecesores, sin embargo no podía ser utilizado en los modelos XT precisamente porque sus BIOSes trataban de corregir un problema inexistente. En cualquier caso este chip no funcionaba más allá de 9600 bps.

Page 171: 6721122 D057 Tecnologia Del PC

● NS 8250B Este chip fue el último de la saga de los 8250, y reinstaló el antiguo bug, de forma que pudiera funcionar correctamente con las BIOSes de los XT. Todos los de esta serie tenían un acceso muy lento, lo que obligaba a incluir estados de espera en el procesador. Tampoco funcionaba por encima de 9600 bps.

● NS 16450 Fue el chip elegido para acompañar a los procesadores i286 de clase AT. Funcionaba bien a 9600 bps, e inauguró la época de módems de alta velocidad. Sin embargo no funcionaba correctamente en los sistemas XT, debiendo ser sustituido por el 16550.

● NS 16550 Fue el primer chip de su clase dotado con búferes FIFO [4] para transmisión y recepción de 16 bytes, que le hacen especialmente indicado para comunicaciones rápidas. Era más rápido que el 16450, operando por encima de los 9600 bps, pero seguía adoleciendo de algunos problemas, especialmente en los búferes, por lo que también fue sustituido.

● NS 16550A Es la más rápida y fiable de las UARTs; adecuada para operar con módems de alta velocidad, puede operar a 115 Kbps. Su lógica es compatible pin a pin con el 16450, al que puede sustituir. Además puede utilizar canales DMA.

● A partir de aquí existen versiones mejoradas de NS o compatibles con el 16550A de otros fabricantes.

Como puede verse, National Semiconductors estableció el estándar, y durante mucho tiempo todas las UART incluían sus integrados. Sin embargo, en la actualidad, muchas placas-base incluyen uno o dos puertos serie cuyas UART están integradas en el chipset de la propia placa, aunque siguen siendo compatibles con los 16550 de NS. Muchos otros fabricantes han producido también chips compatibles con los 16550, de forma que las letras que aparecen delante de los números no son importantes. Por ejemplo UM16550. Otros caracteres que aparecen junto a los números tampoco tienen importancia, pueden indicar características especiales o encapsulado, por ejemplo (Advanced, New, MILitary etc). Las letras entre números indican la tecnología empleada. Por ejemplo, la "C" de 16C450 significa CMOS.

El correcto funcionamiento y velocidad de la UART es fundamental para las comunicaciones serie; con independencia de la velocidad del módem o del adaptador RDSI [5] que

Page 172: 6721122 D057 Tecnologia Del PC

tengamos, la comunicación no podrá ser más rápida que la que permita la UART.

Nota: Esto no es de aplicación para los adaptadores ADSL ("Asymmetric Digital Subscriber Line"). Un tipo específico de DSL desarrollado para enviar señales de video a través de líneas telefónicas normales bajo el concepto de 'comunicaciones en una sola dirección', ya que emplea la mayor parte del ancho de banda en la recepción de información, y una parte menor en el envío. Se caracteriza porque el flujo descendente de datos "downstream", desde el conmutador de la Cía telefónica hasta el suscriptor, es mayor que el flujo ascendente "upstream". Como las demás variantes de DSL está sometida a un ciertas limitaciones, incluida la distancia de la central telefónica (cuanto mas lejos, mas lento), las transmisiones son variables desde 1.5 a 8 Mbps. La conexión de una línea ADSL con un PC no puede efectuarse a través de un puerto estándar serie debido a su elevada velocidad, los adaptadores ADSL deben ser instalados como dispositivos internos o mediante puertos suficientemente rápidos, por ejemplo USB ( 2.5.3) o Fire-wire (IEEE 1394).

§8 Puertos serie de alta velocidad

Las crecientes necesidades de velocidad han empujado a algunos fabricantes a aumentar las capacidades de los 16550, extendiéndolas hasta 28.8 Kbps o 56 Kbps y más. Esto se ha conseguido principalmente incrementando el tamaño de los búferes de transmisión y recepción. De forma genérica estos puertos se denominan ESP ("Extended Serial Port") o Super ESP. Las UART se designan 16650 y 16750, aunque no son de National Semiconductors.

§9 Detección del tipo de UART

Los programas de diagnóstico suelen informar del tipo de UART utilizada por los puertos serie. En MS DOS puede utilizarse el programa de diagnóstico de Microsoft msd.exe; este programa viene incluido en el directorio Tools\OldMSDOS del CD de distribución de Windows

Page 173: 6721122 D057 Tecnologia Del PC

98.

En Windows 98 seleccionar: Menú de inicio configuración Panel de Control Modems. Se selecciona la pestaña Diagnóstico, y se selecciona el puerto COMx en

la columna Puerto. A continuación se selecciona el botón Más información. Si existe un módem instalado, después de una pausa se muestran las características del módem y la UART del puerto.

En la figura adjunta se muestra la información correspondiente a un puerto serie al que se ha conectado un módem PC Card de ejecución combinada (combo) junto con una tarjeta de red Ethernet 10/100.

Nota: Se trata de un puerto serie de alta velocidad, hasta 115 Kbps. Observe que la dirección 2E8h es estándar de puerto serie; no así el valor 9 de la petición de interrupción (IRQ9) que no es usual para estos puertos. Se debe a que el dispositivo trabaja junto con un adaptador de red.

§10 Comprobación de la UART

Los programas de diagnóstico que comprueban la UART utilizan un sistema de realimentación para verificar que los datos se envían y se leen correctamente. La ejecución práctica utiliza un conector con algunos pines puenteados para simular las señales de un interlocutor aunque este no esté presente, y que las señales emitidas por la patilla TX se reciban por la patilla de recepción RX. Este conector se denomina de circuito cerrado ("Loop back"), y su utilización permite que la UART reciba los datos que ella misma envía, en una situación análoga a la que tendría dialogando con otro dispositivo, con lo que puede verificarse la corrección del proceso.

En las tablas adjuntas se muestran las conexiones necesarias para construir sendos conectores de prueba para

Page 174: 6721122 D057 Tecnologia Del PC

salidas DB9 y DB25.

Conector "Loopback" para DB9

Receive Data 2---3 Transmit

Data

Data Terminal Ready

4--6--1

Data Set Ready + Carrier Detect

Request to Send 7---8 Clear to

Send

Conector "Loopback" para DB25

Receive Data 3---2 Transmit

Data

Data Terminal Ready

20--6--8

Data Set Ready + Carrier Detect

Request to Send 4---5 Clear to

Send

Inicio.

[4] FIFO ("First In First Out") Un tipo de almacenamiento tipo "tubería" el primer dato en entrar es el primero en salir. Se utiliza en contraposición con los almacenamientos tipo pila LIFO ("Last In First Out"); el último en entrar es el primero en salir.

Page 175: 6721122 D057 Tecnologia Del PC

[5] RDSI Red Digital de Servicios Integrados, nombre con que se ha traducido ISDN ("Integrated Services Digital Network"), que en España se ha comercializado con el nombre de Novacom.

Inicio

|Índice| Copyright © 2000-2006 Zator Systems. NO software patents

Page 176: 6721122 D057 Tecnologia Del PC

Tecnología del PC[Home] [Inicio] [Índice]

Subir

2.5.2 Puertos E/S: Puertos Paralelo

§1 Sinopsis

Los diseñadores del IBM PC incluyeron la posibilidad de conectar impresoras, para lo que podían instalarse hasta tres puertos de salida paralelo de funcionamiento simultaneo, numerados 0, 1 y 2, así como los servicios correspondientes en la BIOS .

Nota: Aunque internamente los puertos se identifican por sus números, empezando por el 0, se han popularizado los alias utilizados por el MS DOS: LPT1, LPT2 y LPT3, que son equivalentes a los números.

En los primeros modelos la placa-base no disponía de ningún adaptador de puerto paralelo, por lo que debían instalarse tarjetas auxiliares. Generalmente estas tarjetas eran multi-uso; montaban uno o dos puertos paralelo e incluso puertos serie. En otros casos el puerto paralelo era incluido junto con un adaptador de video.

§2 Recursos del puerto paralelo

Cada adaptador de puerto paralelo tiene tres direcciones sucesivas que se corresponden con otros tantos registros que sirven para controlar el dispositivo. Son el registro de salida de datos; el registro de estado y el registro de control. El registro de salida es la

Page 177: 6721122 D057 Tecnologia Del PC

dirección en que hay que poner cualquier carácter que sea dirigido al puerto (generalmente una impresora); el de estado contiene información sobre el dispositivo conectado, en especial la ocurrencia de posibles errores. El registro de control permite inicializar el puerto y controlar la transferencia.

La dirección del registro de salida de los puertos 0, 1 y 2, denominadas dirección-base del adaptador, están contenidas respectivamente en las direcciones 00408, 0040A y 0040C de la memoria de la ROM-BIOS ( H4). Estas direccones de base son inicializadas a cero si no existe el adaptador correspondiente. En la tabla adjunta se han indicado las direcciones e interrupción usadas por cada puerto, aunque esta asignación no es siempre consistente, y debería ser investigada.

Puerto R. de salida

R. de estado

R. de control IRQ

LPT1 378 379 37A 7LPT2 278 279 27A 5LPT3 3BC 3BD 3BE 7

§3 Servicios BIOS de puerto paralelo

Los servicios BIOS ( H2.4.1) relacionados con el puerto paralelo, denominados servicios de impresora, se gestionan mediante el vector de interrupción 23 (17h); este servicio tiene 3 subservicios numerados del 0 al 2, que se solicitan a través del registro AH, mientras que el número de puerto debe indicarse en el registro DX.

● Subservicio 0: Envía un byte a la impresora

● Subservicio 1: Inicializar el puerto paralelo

● Subservicio 2: Leer el registro de estado del puerto

En la tabla que sigue se muestra el significado del patrón de bits del registro de estado del puerto, que es situado en el registro AH por el subservicio 2. Este subservicio debe ser

Page 178: 6721122 D057 Tecnologia Del PC

utilizado después de cualquiera de los anteriores para comprobar el resultado de la operación.

76543210 SignificadoX........X........X........X........X........X........X........X

Estado de impresora: 1 = ocupada; 0 = no ocupadaSeñal de reconocimiento producida por la impresora: 1 = activo; 0 = inactivoSeñal de falta de papel ("Paper out"): 1 = falta papel; 0 = Ok papel correctoImpresora seleccionada: 1 = seleccionada; 0 = no seleccionadaEstado de Error: 1 = Error E/S; 0 = Ok. correctoNo utilizadoNo utilizadoTemporización ("Time out"): 1 = Time out; 0 = en tiempo

Nota: cualquier programa que gobierne un periférico debe disponer de una rutina para controlar el tiempo que este puede tardar en completar cada orden. Durante este tiempo el programa debe esperar, pero si se alcanza el límite, y (en su caso) el número de reintentos establecido, debe lanzarse una excepción ("Time out") e interpretarse que el dispositivo en cuestión está fuera de servicio por alguna causa. Este tiempo depende de cada circunstancia. En el caso de una impresora no es el mismo para un salto de página que para un retorno de carro (CR).

Además de la interrupción 23 (17h) la BIOS tiene otro servicio relacionado con la impresora, el denominado servicio de impresión de pantalla que es solicitado mediante la interrupción 5. Este servicio se diseñó para ser manejado mediante interrupciones, y puede ser invocado desde cualquier programa que lo necesite.

La interrupción 5 también se genera mediante la combinación de teclas [Shift+Impr Pantalla] que envía el contenido del buffer de pantalla ("Frame buffer") al puerto de impresora 0 utilizando a su vez los servicios estándar de video y de impresora.

§4 Puerto paralelo estándar

Page 179: 6721122 D057 Tecnologia Del PC

Como puede verse, los diseñadores del PC no pensaron en la posibilidad de utilizar los puertos paralelo para recibir datos (no existe un subservicio BIOS para leer en el puerto paralelo); eran solo de salida. Este puerto original es denominado SSP ("Standard Parallel Port"), y su modo de operación modo compatible.

Aunque originalmente no estaban preparados para recibir datos, mediante ciertos artificios se consiguió que los puertos SPP también pudieran recibir datos, un nibble (4 bits) cada vez. Este tipo de operación, 8 bits de salida y 4 de entrada se denomina modo nibble.

Nota: los puertos actuales de características mejoradas (ver a continuación) tienen también los modos compatible y nibble para compatibildad con el software anterior.

§5 Nuevos puertos paralelo

§5.1 Puerto paralelo extendido

Ante la necesidad de conectar dispositivos rápidos y de recibir información por el puerto paralelo, IBM incluyó un puerto de impresora bidireccional de alta velocidad en su sistema PS/2 presentado en 1987. Esta solución fue rápidamente adoptada por la industria del PC, dando lugar un puerto bidireccional de características mejoradas respecto del SSP tradicional. El EPP ("Enhanced Parallel Port"), del que existen dos versiones ligeramente diferentes, la 1.7 (que se formalizó en el estándar IEEE 1284) y la 1.9 que es posterior.

Este tipo de puertos opera a velocidades entre 0.5 y 2 MBps, y además de impresoras puede servir para conectar dispositivos como escáneres y unidades de disco o de red externas. En los sistemas actuales suele venir incluido en el chipset de la placa-base.

§5.2 Puerto paralelo mejorado

En 1992, Microsoft y HP presentaron otra versión de puerto paralelo bidireccional de alta velocidad denominado ECP ("Extended Capabilities Port"). Este nuevo diseño, que dispone

Page 180: 6721122 D057 Tecnologia Del PC

de acceso directo a memoria, utiliza generalmente el canal 3 DMA, y opera entre 2 y 4 MBps.

Los equipos modernos suelen disponer de puertos paralelo multimodales, en los que el modo de utilización puede ser establecido mediante el programa de setup de la BIOS. En estos casos la configuración por defecto suele ser compatibilidad ECP.

§5.3 Recursos de los nuevos puertos paralelo

Los puertos mejorados utilizan más recursos que los tradicionales SPP. Además de las direcciónes-base (378h, 278h, 3BCh ), utilizan cuatro direcciones adicionales. Con el fin de facilitar la operación PnP, además de las tradicionales IRQ 5 y IRQ 7 (mantenidas por compatibilidad), pueden utilizar cuatro o cinco IRQs adicionales.

Si el dispositivo utiliza acceso directo a memoria, como es el caso de los puertos ECP, pueden utilizar dos canales DMA.

§6 El cable y conectores de impresora

El cable tradicional de impresora tiene 25 hilos; el conector del lado del PC es un DB-25 macho (conocido como IEEE 1284-A), la hembra está en el PC. El lado de la impresora tiene un conector CN-36 Centronics de 36 pines macho (la hembra está en la impresora). En la tabla adjunta se muestra la distribución de pines.

ConectorxDBx25M

Page 181: 6721122 D057 Tecnologia Del PC

Señal DB25 36-CenStrobe 1 1Data Bit 0 2 2Data Bit 1 3 3Data Bit 2 4 4Data Bit 3 5 5Data Bit 4 6 6Data Bit 5 7 7Data Bit 6 8 8Data Bit 7 9 9Acknowledge 10 10Busy 11 11Paper Out 12 12Select 13 13Autofeed 14 14

Error 15 32

Reset 16 31Select 17 36Signal Ground 18 33Signal Ground 19 19,20Signal Ground 20 21,22Signal Ground 21 23,24Signal Ground 22 25,26Signal Ground 23 27

ConectorxCNx36M

ConectorxminixCentronics

Actualmente se está utilizando un nuevo tipo de conexión. El conector del lado de la impresora es un micro Centronics de 36 pines, conocido como IEEE 1284-C.

Por su parte, el cable está formado por pares tranzados similares a los utilizados en redes con el fin de minimizar los efectos del ruido y las interferencias.

§7 Información relacionada

Se incluye información de dos programas que pueden ser de interés para los aficionados a la experimentación y al "cacharreo". El primero, Parallel Port Customizer, es un programa freeware (W9x/2k/XP) de Obock, que puede ser útil para controlar dispositivos mediante el puerto paralelo del PC. El segundo, de Ashish Derhgawen, permite controlar el motor paso a paso de un disquete

Page 182: 6721122 D057 Tecnologia Del PC

Signal Ground 24 28,29Signal Ground 25 30,16Protección Carcasa Carcasa+17

("stepper motor") mediante el mismo puerto [1], aunque utilizando la interfaz adecuada, puede ser utilizado con cualquier otro motor.

Obock www.obock.de/

Presentación del producto (original inglés): "I coded Parallel Port Customizer for a friend who wanted to control an external electronic device using his PC. He told me that it would be nice to use the single pins of the parallel port to turn on / off those tiny devices like transistors and stuff like that. Cause he didn't find any tool solving his problem I offered him to code one for him. So, if you are interested in electronics this should be a nice testing tool for you! You may think "This GUI application isn't really supposed to be used in automated environments". Because of this Parallel Port Customizer comes with a small dynamic link library (DLL). With this DLL all you coders out there can implement the complete functionality of PPC in your own applications! With this tool and the DLL you get a complete suite to build and test software with interfaces that can control nearly everything - use your imagination..."

Controlar motor de disquete www.codeproject.com/

Inicio.

[1] El disquete tiene dos motores, uno para hacer rotar el disquete y otro para accionar la cabeza de lectura. Nos referimos a este último.

Page 183: 6721122 D057 Tecnologia Del PC

Tecnología del PC[Home] [Inicio] [Índice]

Subir

2.5.3 Puertos E/S: Puertos USB

§1 Antecedentes

Hemos señalado repetidamente que el PC adolece de una serie de deficiencias que podíamos llamar "congénitas", heredadas de un diseño deficiente en algunos aspectos [1], entre las que cabría destacar la escasez de determinados recursos. Básicamente líneas de interrupción IRQs ( H2.4), y canales de acceso directo a memoria DMA ( H2.3). En ambos casos las capacidades del diseño inicial tuvieron que ser dobladas en 1984, tres años después de su lanzamiento, aprovechando la aparición de la gama AT.

La instalación de periféricos ha sido un constante quebradero de cabeza para los ensambladores, que debían asignar los escasos recursos disponibles entre la creciente variedad dispositivos que debían conectarse a los sistemas. En este sentido, aunque el estándar PnP ("Plug and Play") vino a aliviar en parte las dificultades mecánicas de cambiar "jumpers" en las placas, el problema seguía ahí, ya que desde la aparición del AT el diseño del PC no había sufrido cambios sustanciales.

Como resultado de un intento de dotar al PC de un bus de alta velocidad que ofreciera las características ideales PnP de universalidad; facilidad de conexión y desconexión, incluso en caliente ("Hot Swappable"), y sobre todo, que consumiese pocos recursos. Intel y otros líderes de la industria diseñaron el Bus Universal Serie, más comunmente conocido por su acrónimo inglés USB ("Universal Serial Bus"). Que como su nombre indica, es un bus serie bidireccional y de bajo coste. Diseñado como una extensión en la arquitectura estándar del PC y orientado

Page 184: 6721122 D057 Tecnologia Del PC

principalmente en la integración de periféricos, que aparecen como un solo puerto en lo que se refiere a utilización de recursos.

Nota: En sus orígenes el interés primordial del bus USB se centraba en la integración de dispositivos telefónicos CTI ("Computer Telephony Integrations") en los ordenadores.

§2 Estándares

La tecnología USB ha sido promovida principalmente por Intel, aunque le han seguido todos los grandes fabricantes, de forma que se ha convertido en un estándar importante. En sus comienzos los interesados en esta tecnología se agruparon en un foro, el USB Implementers Forum Inc., USB-IF, que agrupa a más de 460 compañías [4], y ha publicado diversas revisiones de la norma:

● USB 0.9: Primer borrador, publicado en Noviembre de 1995.

● USB 1.0: Publicada en 1996 establece dos tipos de conexión: La primera, denominada velocidad baja ("Low speed"), ofrece 1.5 Mbps, y está pensada para periféricos que no requieren un gran ancho de banda, como ratones o joysticks. La segunda, denominada velocidad completa ("Full speed"), es de 12 Mbps, y está destinada a los dispositivos más rápidos.

● USB 1.1: Publicada en 1998, añade detalles y precisiones a la norma inicial; es el estándar mínimo que debe cumplir un dispositivo USB.

● USB 2.0: Su versión final fue publicada en Abril del 2000; es una extensión de la norma compatible con las anteriores. Permite velocidades de hasta 480 Mbps, denominada alta velocidad ("High speed")

Un buen sitio para información al respecto es USB.org, patrocinado por el USB-IF: www.usb.org

§3 Historia

El primer ordenador que incluyó un puerto USB de forma estándar fue el iMac de Apple, presentado en Marzo de 1998, que utilizaba esta conexión para el teclado y el ratón. Por su parte

Page 185: 6721122 D057 Tecnologia Del PC

el mundo del PC solo comenzó a utilizarlo cuando Microsoft introdujo los controladores correspondientes en la versión OSR 2.1 de Windows 95. Fue a partir de Windows 95C cuando los sistemas de MS incorporan de forma estándar soporte para este bus. En el ámbito de servidores la incorporación se produjo en Windows 2000.

Los primeros dispositivos que empezaron a utilizar este tipo de conexión fueron las cámaras de video-conferencia, aunque actualmente (2005) pueden encontrarse todo tipo de dispositivos. El resultado es que, junto con los dispositivos inalámbricos (algunos de los cuales se conectan también a través de esta interfaz), la conexión USB se ha convertido en el método universal de conexión de periféricos, incluyendo dispositivos de almacenamiento y los denominados HID ("Human Interface Device") - principalmente ratones y teclados-.

§4 Topología

Los dispositivos USB adoptan una topología de estrella y se organiza por niveles a partir de un controlador host instalado en la placa base, que actúa de interfaz entre el bus de ésta (generalmente a la interfaz PCI 6.4) y el primer dispositivo USB, el denominado concentrador raíz ("Root hub"), instalado también en la placa. El controlador de host es único; suele ser un chip Intel con una denominación como 82371AB/EB; 82801DB, etc. Dada la proliferación de este tipo de dispositivos, las placas modernas pueden disponer de varios concentradores raíz, cada uno con su propia salida (generalmente 2 conectores del tipo "A" por cada uno de ellos). Cada uno de estos concentradores se considera el origen de un bus (numerados sucesivamente a partir del 0), del que cuelgan los dispositivos en el orden en que son detectados por el Sistema.

El bus USB soporta intercambio simultáneo de datos entre un ordenador anfitrión y un amplio conjunto de periféricos. Todos los periféricos conectados comparten el ancho de banda del bus por medio de un protocolo de arbitraje basado en testigos ("Tokens"). El bus permite conexión y desconexión dinámica, es decir, que los periféricos se conecten, configuren, manipulen y desconecten mientras el sistema anfitrión y otros periféricos permanecen en funcionamiento.

Nota: A pesar de lo anterior, dado que una vez instalados, los discos USB son contemplados como parte de sistema de ficheros, estos dispositivos requieren un tratamiento especial para su desconexión. El proceso garantiza que los ficheros sean propiamente

Page 186: 6721122 D057 Tecnologia Del PC

cerrados; que que se grabe el contenido de las cachés correspondientes; que (en su caso) las cabezas de lectura escritura se sitúen en sus zonas de aparcamiento, y que no puedan ser accedidos accidentalmente por otra aplicación mientras son retirados, lo que podría producir corrupciones en el sistema de ficheros. En Windows, pulsando con el botón derecho del ratón sobre el icono de la unidad en el explorador y seleccionando "Expulsar". En Linux, si estamos en un entorno gráfico (por ejemplo como KDE), podemos pulsar con el botón derecho sobre el icono de la unidad y seleccionar "Unmount". Si estamos en un entorno texto (Shell del sistema) podemos utilizar la orden umount (consulte el manual). Generalmente este tipo de dispositivos se instalan en los directorios /mnt o /media.

En un bus USB existen dos tipos de elementos: Anfitrión ("host") y dispositivos; a su vez, los dispositivos pueden ser de dos tipos: concentradores y funciones [2].

● Los concentradores ("Hubs") son el centro de una estrella, y sirven para conectar con el sistema anfitrión, con otro hub o con una función. Cada hub puede conectar hasta 7 dispositivos, aunque lo normal es que sean de 4 salidas, y proporcionar 500 mA de energía de alimentación (hasta 2.5 W) a cada uno de ellos, ya que el cable de conexión tiene hilos de señal (datos) y de alimentación (5 V. CC ± 0.25 V).

● Una función es un dispositivo capaz de transmitir o recibir datos o información de control en un bus USB, suele conectarse como un dispositivo independiente enlazado por un cable de menos de 5 metros, a un puerto del hub o directamente al sistema anfitrión.

De esta descripción se desprende que cada segmento del bus representa una conexión apunto a punto de alguno de los tipos siguientes:

Sistema anfitrión = FunciónSistema anfitrión = ConcentradorConcentrador = ConcentradorConcentrador = Función.

Que un hub pueda estar conectado a otro hub, significa que pueden conectarse dispositivos en

Page 187: 6721122 D057 Tecnologia Del PC

cascada; el sistema soporta un total de 127 dispositivos. Una característica importante es que el concentrador (hub), proporcionan la energía necesaria a la función por el cable de conexión (que transporta fuerza y datos ), lo que evita la necesidad de fuentes de alimentación independientes a las funciones.

§4 Funcionamiento

El bus serie USB es síncrono, y utiliza el algoritmo de codificación NRZI ("Non Return to Zero Inverted"). En este sistema existen dos voltajes opuestos; una tensión de referencia corresponde a un "1", pero no hay retorno a cero entre bits, de forma que una serie de unos corresponde a un voltaje uniforme; en cambio los ceros se marcan como cambios del nivel de tensión, de modo que una sucesión de ceros produce sucesivos cambios de tensión entre los conductores de señal.

A partir de las salidas proporcionadas por los concentradores raíz (generalmente conectores del tipo "A" ) y utilizando concentradores adicionales, pueden conectarse más dispositivos hasta el límite señalado.

Nota: actualmente la mayoría de las placas-base incluyen un controlador USB integrado en el chipset. Para sistemas antiguos que no dispongan de USB pueden instalarse tarjetas PCI (e incluso PC-CARD para portátiles) que incluyen un controlador de host y un concentrador raíz con varios conectores de salida.

El protocolo de comunicación utilizado es de testigo, que guarda cierta similitud con el sistema Token-Ring de IBM. Puesto que todos los periféricos comparten el bus y pueden funcionar de forma simultanea, la información es enviada en paquetes; cada paquete contiene una cabecera que indica el periférico a que va dirigido. Existen cuatro tipos de paquetes distintos: Token; Datos; Handshake, y Especial; el máximo de datos por paquete es de 8; 16; 32 y 64 Bytes. Se utiliza un sistema de detección y corrección de errores bastante robusto tipo CRC ("Cyclical Redundancy Check").

El funcionamiento está centrado en el host, todas las transacciones se originan en él. Es el controlador host el que decide todas las acciones, incluyendo el número asignado a cada dispositivo (esta asignación es realizada automáticamente por el controlador "host" cada vez que se inicia el sistema o se añade, o elimina, un nuevo dispositivo en el bus), su ancho de banda, etc.

Page 188: 6721122 D057 Tecnologia Del PC

Cuando se detecta un nuevo dispositivo es el host el encargado de cargar los drivers oportunos sin necesidad de intervención por el usuario.

El sistema utiliza cuatro tipo de transacciones que resuelven todas las posibles situaciones de comunicación. Cada transacción utiliza un mínimo de tres paquetes, el primero es siempre un Token que avisa al dispositivo que puede iniciar la transmisión.

● Transferencia de control ("Control transfer"): Ocurre cuando un dispositivo se conecta por primera vez. En este momento el controlador de host envía un paquete "Token" al periférico notificándole el número que le ha asignado.

● Transferencia de pila de datos ("Bulk data transfer"): Este proceso se utiliza para enviar gran cantida de datos de una sola vez. Es útil para dispositivos que tienen que enviar gran cantidad de datos cada vez, como escáneres o máquinas de fotografía digital.

● Transferencia por interrupción ("Interrupt data transfer"): Este proceso se utiliza cuando se solicita enviar información por el bus en una sola dirección (de la función al host).

● Transferencia de datos isócrona ("Isochronous data transfer"): Este proceso se utiliza cuando es necesario enviar datos en tiempo real. Los datos son enviados con una cadencia precisa ajustada a un reloj, de modo que la transmisión es a velocidad constante.

Nota: Las comunicaciones asíncronas ponen más énfasis en garantizar el envío de datos, y menos en su temporización ("cuando" lleguan); por su parte las comunicaciones isócronas son justamente lo contrario, ponen más énfasis en la oportunidad de la transmisión que en la velocidad. Esta sincronización es importante en situaciones como la reproducción de video, donde no debe existir desfase entre las señales de video y audio.

§5 Cables y conectores

El cable de bus USB es de 4 hilos, y comprende líneas de señal (datos) y alimentación, con lo que las funciones pueden utilizar un único cable.

Existen dos tipos de cable: apantallado y sin apantallar. En el primer caso el par de hilos de señal es trenzado; los de tierra y alimentación son

Page 189: 6721122 D057 Tecnologia Del PC

Pin Nombre Descripción Color1 VBUS + 5 V. CC rojo2 D- Data - azul3 D+ Data + amarillo4 GND Tierra verde

rectos, y la cubierta de protecció (pantalla) solo puede conectarse a tierra en el anfitrión. En el cable sin apantallar todos los hilos son rectos. Las conexiones a 15 Mbps y superiores exigen cable apantallado.

Nota: Una forma de identificar que los concentradores (hubs) USB están realmente adaptados a la norma 2.0 es por su cable apantallado.

AWG mm Ø long. máx.28 0.321 0.81 m26 0.405 1.31 m24 0.511 2.08 m22 0.644 3.33 m20 0.812 5.00 m

Se utilizan diámetros estándar para los hilos de alimentación del bus. Para cada sección se autoriza una longitud máxima del segmento. En la tabla izquierda se muestran estas distancias [3]; a la derecha se muestran la disposición de pines y colores de identificación.

Se usan dos tipos de conectores, A y B. Ambos son polarizados (solo pueden insertarse en una posición) y utilizan sistemas de presión para sujetarse. Los de tipo A utilizan la hembra en el sistema anfitrión, y suelen usarse en dispositivos

en los que la conexión es permanente (por ejemplo, ratones y teclados). Los de tipo B utilizan la hembra en el dispositivo USB (función), y se utilizan en sistemas móviles (por ejemplo, cámaras fotográficas o altavoces). En general podemos afirmar que la hembra de los conectores A están en el lado del host (PC) o de los concentradores (hubs), mientras las de tipo B están del lado de los periféricos.

Conector tipo A Conector tipo B

§6 Identificación y diagnóstico

§6.1 Windows dispone de un programa específico para ver los puertos USB reconocidos y sus

Page 190: 6721122 D057 Tecnologia Del PC

parámetros de configuración, es el programa Usbview.exe, que puede encontrarse en el CD de instalación de Windows 98, en el directorio Tools\Reskit\Diagnose

En la figura se muestra el resultado de conectar distintos dispositivos a un hub externo colgado de una de las dos salidas USB que proporciona el hub raíz del sistema (señaladas Port1 y Port2). Los cuatro puertos están ocupados por los siguientes dispositivos:

● Grabadora DVD

● Disco de estado sólido (aparece como USB mass storage device)

● Webcam

Page 191: 6721122 D057 Tecnologia Del PC

● Scaner

§6.2 Linux dispone de varias utilidades relacionadas con el manejo de estos puertos.

La primera, usbview, una utilidad de interfaz gráfica GTK, que es un remedo exacto de la utilidad Windows comentada en el párrafo anterior (es raro que se instale por defecto, de modo que seguramente deberá instalarla ex profeso). Además de mostrar una vista jerárquica de los dispositivos conectados, informa de las particularidades de cada uno. Puede ser útil para comprobar si un dispositivo ha sido detectado y está funcionando correctamente.

En cuanta a la operación en modo texto (desde el Sehell), como es casi seguro que si su equipo dispone de salidas USB, tenga su controlador de host conectado al bus PCI. Lo primero sería averiguar que dispositivos están conectados a esta interfaz. Para ello puede utilizarse el comando lspci, que produce una salida similar a la que sigue (se ha resaltado la información relacionada con el controlador de host USB que es lo interesante aquí).

00:00.0 Host bridge: Intel Corp. 440BX/ZX/DX - 82443BX/ZX/DX Host bridge (rev 03) 00:01.0 PCI bridge: Intel Corp. 440BX/ZX/DX - 82443BX/ZX/DX AGP bridge (rev 03) (prog-if 00 [Normal decode]) 00:02.0 Bridge: Intel Corp. 82371AB/EB/MB PIIX4 ISA (rev 02) 00:02.1 IDE interface: Intel Corp. 82371AB/EB/MB PIIX4 IDE (rev 01) (prog-if 80 [Master]) 00:02.2 USB Controller: Intel Corp. 82371AB/EB/MB PIIX4 USB (rev 01) (prog-if 00 [UHCI]) 00:02.3 Bridge: Intel Corp. 82371AB/EB/MB PIIX4 ACPI (rev 03) 00:03.0 CardBus bridge: Texas Instruments PCI1251B 00:03.1 CardBus bridge: Texas Instruments PCI1251B 00:06.0 Communication controller: Lucent Microelectronics WinModem 56k (rev 01) 00:07.0 Multimedia audio controller: ESS Technology ES1969 Solo-1 Audiodrive (rev 02) 01:00.0 VGA compatible controller: Neomagic Corporation NM2200 [MagicGraph 256AV] (rev 20) (prog-if 00 [VGA]) 02:00.0 Ethernet controller: Abocom Systems Inc RTL8139 [FE2000VX]

Page 192: 6721122 D057 Tecnologia Del PC

CardBus Fast Ethernet Attached Port Adapter (rev 10)

La indicación UHCI (o EHCI) se refiere al tipo de controlador USB utilizado en el Kernel. Si quiere ver los módulos relacionados con USB puede utilizar el comando lsmod | egrep -E 'usb|Size'. En nuestro caso produce la siguiente salida [6]:

Module Size Used by Not taintedusbserial 20508 0 (autoclean) (unused) cpia_usb 4408 0 (autoclean) cpia 31736 0 [cpia_usb cpia_pp] usb-storage 65344 1 scsi_mod 98068 6 [sd_mod st sr_mod sg usb-storage] usb-uhci 22224 0 (unused) usbcore 58668 1 [usbserial scanner cpia_usb usb-storage usb-uhci]

Como puede verse, usbcore es utilizado por los demás módulos USB (usbserial y usb-uhci).

Los detalles de los dispositivos conectados pueden obtenerse con la utilidad lsusb. que proporciona una relación resumida:

Bus 001 Device 001: ID 0000:0000 Bus 001 Device 002: ID 0409:0058 NEC Corp. USB2.0 Hub Controller Bus 001 Device 003: ID 152e:e003 Bus 001 Device 004: ID 0ea0:6803 Ours Technology, Inc. Bus 001 Device 005: ID 0553:0002 STMicroelectronics Imaging Division (VLSI Vision) CPiA WebCam Bus 001 Device 006: ID 03f0:0605 Hewlett-Packard ScanJet 2200c

Aquí son significativas las indicaciones de número de bus y de dispositivo. Debemos recordar que el número de dispositivo depende del orden en que los encuentra el kernel.

Si quiere ver los módulos (controladores) del Kernel asociados con un dispositivo USB conectado al Sistema, puede utilizar la utilidad usbmodules en la forma usbmodules --device /proc/

Page 193: 6721122 D057 Tecnologia Del PC

bus/usb/Bus/Device. En nuestro caso, para comprobar los utilizados por la WebCam se utilizaría la orden:

usbmodules --device /proc/bus/usb/001/005

El resultado es cpia_usb. Análogamente se obtiene que los módulos del hub NEC y del disco sólido de Ours Technology son respectivamente usbcore y usb_storage.

Si, como es el caso, existe más de un dispositivo conectado, puede utilizar la opción lusb -t, que proporciona una visión en árbol ("Tree") de las conexiones, similar a la obtenida con los programas de interfaz gráfica (GUI) ya comentados:

us# 1 `-Dev# 1 Vendor 0x0000 Product 0x0000 `-Dev# 2 Vendor 0x0409 Product 0x0058 |-Dev# 3 Vendor 0x152e Product 0xe003 |-Dev# 4 Vendor 0x0ea0 Product 0x6803 |-Dev# 5 Vendor 0x0553 Product 0x0002 `-Dev# 6 Vendor 0x03f0 Product 0x0605

Con la información anterior es posible inspeccionar los detalles de cualquiera de los dispositivos mediante lsusb -v -s bus:device. En nuestro caso, para ver los detalles de la grabadora DVD (que no tiene identificación interna del fabricante), el comando:

lsusb -v -s 001:003

proporciona los siguientes datos:

Bus 001 Device 003: ID 152e:e003 Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 0 Interface

Page 194: 6721122 D057 Tecnologia Del PC

bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x152e idProduct 0xe003 bcdDevice 0.01 iManufacturer 1 HL-DT-ST DVDRAM GSA-5163D iProduct 2 Super Multi DVD Rewriter iSerial 3 4B13E216 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 32 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xc0 Self Powered MaxPower 100mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 8 Mass Storage bInterfaceSubClass 6 SCSI bInterfaceProtocol 80 Bulk (Zip) iInterface 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x01 EP 1 OUT bmAttributes 2 Transfer Type Bulk

Page 195: 6721122 D057 Tecnologia Del PC

Synch Type none wMaxPacketSize 64 bInterval 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x82 EP 2 IN bmAttributes 2 Transfer Type Bulk Synch Type none wMaxPacketSize 64 bInterval 0 Language IDs: (length=4) 0409 English(US)

Entre otras características de menor importancia, podemos destacar la indicación Self Powered. Señala que el dispositivo dispone de su propia alimentación además de la que puede obtener de la interfaz. También el valor MaxPower (100 mA en este caso) que es la energía obtenida de la conexión USB.

Nota: Recordemos que la intensidad máxima que puede proporcionar esta conexión es de 500 mA . De forma que si el dispositivo USB necesita más (como en el caso anterior), el fabricante debe recurrir a una fuente de alimentación externa. Sin embargo, he visto dispositivos de bajo precio, principalmente discos móviles USB, cuyas exigencias sobrepasan este límite [7], en los que, a fin de aprovechar la

Page 196: 6721122 D057 Tecnologia Del PC

exigua cantidad de energía que puede obtenerse de la patilla 4 del conector mini-DIN de del puerto de teclado/ratón PS/2 ( 7.1), se ha recurrido a utilizar cables en "Y" como el que se muestra en la figura. El conector izquierdo es el conector USB tipo A normal del dispositivo; el derecho va conectado al contenedor ("Housing") del disco. El del centro es el referido conector mini-DIN. Puede observarse que, con el fin de que puedan seguir utilizándose el ratón o teclado en el referido puerto, es un conector "de paso". Personalmente creo que se trata de una verdadera chapuza, y aconsejo vívamente huir de dispositivos que adopten este sistema.

También es digno de mención el mensaje bInterfaceSubClass 6 SCSI. Indica que el controlador USB realiza una emulación SCSI del dispositivo ( 6.3), de forma que el Sistema Operativo considera como tal la grabadora DVD. Podemos confirmarlo mediante el comando

dmesg | grep scsi

que proporciona la siguiente salida:

scsi0 : SCSI emulation for USB Mass Storage devicesAttached scsi CD-ROM sr0 at scsi0, channel 0, id 0, lun 0sr0: scsi-1 drive

También mediante el comando sginfo -l. que permite comprobar la asignación que le ha correspondido al dispositivo:

/dev/scd0 /dev/sr0/dev/sg0 [=/dev/scd0 scsi0 ch=0 id=0 lun=0]

Nota: Esta emulación SCSI es frecuente en muchos dispositivos de almacenamiento de conexión USB. No solo en discos móviles; también cámaras, lectores de tarjeta, etc. En estos casos, para transferir sus contenidos (fotos) a Linux, solo es necesario montar el dispositivo y a continuación copiar los ficheros; bien mediante una interfaz gráfica o en modo texto mediante el Shell (mv o cp). Una vez montados en el sistema, es posible incluso utilizar estos dispositivos (cámaras por ejemplo) como sistemas auxiliares de almacenamiento

Page 197: 6721122 D057 Tecnologia Del PC

pasándoles los ficheros correspondientes [8].

Si se desea conocer la distribución interna de la unidad puede recurrir a la utilidad fdisk. Por ejemplo, en otra ocasión se ha conectado un disco móvil USB. Las salidas a los comandos anteriores presentan el siguiente aspecto (# es el "Propt" del shell):

# dmesg | grep scsiscsi0 : SCSI emulation for USB Mass Storage devicesAttached scsi disk sda at scsi0, channel 0, id 0, lun 0## sginfo -l/dev/sda/dev/sg0 [=/dev/sda scsi0 ch=0 id=0 lun=0]## fdisk -l /dev/sda Disk /dev/sda: 10.0 GB, 10056130560 bytes 240 heads, 63 sectors/track, 1299 cylinders Units = cylinders of 15120 * 512 = 7741440 bytes Device Boot Start End Blocks Id System /dev/sda1 * 1 271 2048728+ b Win95 FAT32 /dev/sda2 272 1299 7771680 f Win95 Ext'd (LBA) /dev/sda5 272 536 2003368+ b Win95 FAT32 /dev/sda6 537 801 2003368+ b Win95 FAT32 /dev/sda7 802 1066 2003368+ b Win95 FAT32 /dev/sda8 1067 1299 1761448+ b Win95 FAT32#

§6.4 Por su parte, el foro de desarrolladores USB (USB-IF), ha publicado diversas herramientas para comprobación de las características de los dispositivos USB, entre las que se encuentran las siguientes:

● USBCV ("USB Command Verifier"). Es una herramienta de diagnóstico y verificación para comprobar que dispositivos USB de alta y baja velocidad se ajustan a las normas.

Page 198: 6721122 D057 Tecnologia Del PC

● USB Check. Esta herramienta permite verificar dos enlaces; uno para comprobar dispositivos de alta velocidad funcionando a alta velocidad, y otro para comprobar dispositivos de velocidad completa y baja; también dispositivos de alta velocidad funcionando a velocidad completa.

● USBHTT ("USB2 Hub Transaction Translator Test Suite"). Es una herramienta de verificación para concentradores USB 2.0.

● USBHSET ("USB High Speed Electrical Test Tool Kit"). Este sistema de prueba contiene software y procedimientos diseñados para verificar diversos parámetros eléctricos, incluyendo la calidad de señal en dispositivos USB de alta velocidad. Incluye también procedimientos detallados para comprobación de controladores host, concentradores y funciones USB de alta velocidad. Este software también permite comprobar la calidad de señal en dispositivos de velocidad completa y baja, así como verificaciones de suministro energético.

Estas herramientas están disponibles para su descarga en: www.usb.org

SSTD ("Single Step Transaction Debugger"). Herramienta de depuración y desarrollo de bajo nivel que permite enviar transacciones simples a un dispositivo de alta velocidad. www.usb.org

§7 Enlaces de interés

Los enlaces que siguen pueden ser de interés si deseas ampliar conocimientos, buscas drivers, información, utilidades, solución de problemas, Etc sobre este puerto tan versátil y actual.

USB-man www.usbman.com

En palabras de sus creadores: "Free USB and USB 2.0 Help, Information, Tips, Tricks, Troubleshooting and Forum Board".

Trace Systems www.tracesystemsinc.com

Page 199: 6721122 D057 Tecnologia Del PC

Esta compañía comercializa tres herramientas: HIDmaker, un generador de código para comunicación de dispositivos mediante USB; USB Watch, una herramienta de diagnóstico que incluye un analizador de tráfico, y AnyHID, un programa de test para dispositivos HID [5].

USB-Info http://lpt.usbfireinfo.com/

Este portal ofrece distintas utilidades para utilización, verificación y diagnóstico del puerto USB.

Inicio.

[1] En realidad, más que de "deficiencias" deberíamos decir "imprevisiones" en un diseño que fue rápidamente sobrepasado por su propio éxito. Algo que, por otra parte, ocurre con mucha frecuencia en los diseños informáticos.

[2] Algunos dispositivos pueden ser de los dos tipos al mismo tiempo. Por ejemplo, una pantalla USB (función) puede ser a su vez un concentrador con dos o más conexiones auxiliares para conectar otros dispositivos.

[3] AWG ("American Wired Gauge"). Un sistema de medir diámetros de cables utilizado en USA y otros países. A mayor número el diámetro es más pequeño. Más información en "Medida de los conductores" ( 12.4.2a).

[4] El consejo directivo está formado por representantes de las siguientes compañías: Compaq Computer Corporation; Hewlett-Packard; Intel Corporation; Lucent Technologies; Microsoft Corporation; NEC Corporation y Philips.

[5] HID ("Human Interface Device"). Se refiere a dispositivos USB que cumplen la especificación HID, una ampliación de la norma USB para facilitar a los fabricantes la construcción de este tipo de dispositivos. La norma especifica como deben extraer los datos de los dispositivos USB los drivers HID. Más información en http://www.usb.org/developers/hidpage/

Page 200: 6721122 D057 Tecnologia Del PC

[6] El argumento "Size" es para que incluya la línea de cabecera.

[7] Los discos estándar de 2.5 pulgadas que suelen montar estos dispositivos, tienen un consumo típico de 500 mA. Aunque en los momentos de arranque y de "Seeking" pueden exceder momentáneamente dicho valor.

[8] En palabras de Ian Shields, "Linux allow your camera to be used as an exotic replacement for a floppy disk". -IBM Hardware and architecture. Junior Level Administration (LPIC-1) topic 101.

Inicio

|Índice| Copyright © 2000-2006 Zator Systems. NO software patents

Page 201: 6721122 D057 Tecnologia Del PC

Tecnología del PC[Home] [Inicio] [Índice]

Subir

2.6 La Placa Base: Factor de forma

§1 Sinopsis

Existen muchos tipos de placa-base; incluso se ha llegado a construir todo un PC con algunos de sus controladores de periféricos básicos (puertos serie y paralelo, teclado, video, etc), en un solo chip. En los equipos de escritorio ("Desktops") las dimensiones y disposición de las placas-base están hasta cierto punto normalizados, lo que facilita, tanto su inclusión en las cajas que ha de contenerlos, como las medidas de los periféricos que se insertan en ellas.

Como todo lo relativo al PC, a partir de la introducción del modelo AT por IBM en 1984, la evolución del diseño de las placas-base ha estado dictada por las reglas del mercado, y en este sentido, hay que señalar que hasta la fecha, su fabricación ha estado dominada por Intel [1], de modo que las especificaciones de este fabricante tienen gran influencia en las pautas del mercado.

§2 Factor de forma

En la actualidad existen ciertas disposiciones que pueden considerarse como estándar. En la literatura especializada estas disposiciones y medidas se conocen como factor de forma ("Form factor").

Page 202: 6721122 D057 Tecnologia Del PC

El factor de forma no es tanto una especificación de medidas exactas, sino de disposición y orientación relativa de los conectores; de posición de los puntos de anclaje, y de tamaño de cada tipo de placa dentro de un cierto rango. Por ejemplo, un determinado factor de forma puede especificar una anchura determinada pero altura variable dentro de ciertos límites.

A la fecha (2002), las disposiciones más usuales son las siguientes:

§2.1 XT

Se basa en la placa del IBM PC original. La placa de este equipo, inspiradora de todas las demás, disponía de 5 conectores ISA de 8 bits, un conector para el teclado, otro para casete, y zócalos para el coprocesador aritmético y para las ampliaciones de memoria (DRAM con control de paridad). Estos chips de memoria eran de 16 pines (8 a cada lado), y el primer banco estaba soldado directamente a la placa, con el consiguiente problema para el mantenimiento.

Posteriormente, con la introducción del modelo XT en 1983, se suprimió el conector para casete y se aumentó a 8 el número de conectores ISA de 8 bits (el tamaño de la placa se mantuvo igual pero se dispusieron más juntos). También se dispuso que toda la memoria fuera sobre zócalo. Este modelo, con un tamaño aproximado de 8.5 x 13 pulgadas, fue utilizado por la incipiente industria de "Clónicos".

§2.2 AT

En 1984 IBM introdujo el PC AT, para el que dispuso una placa-base mayor que la del XT 12 x 13.8 pulgadas; debía contener más electrónica, además los nuevos conectores ISA de 16 bits eran considerablemente más largos que los de 8 bits del XT.

§2.3 Baby AT

Los avances en miniaturización permitieron que los fabricantes de clónicos pudieran meter las funcionalidades del AT en una placa del tamaño de la antigua XT. Para distinguirla la

Page 203: 6721122 D057 Tecnologia Del PC

denominaron Baby AT. Fue muy popular, e incluso después de algún tiempo fue adoptada por IBM, que redujo así el tamaño de las placas de sus equipos AT. Se trata por tanto de placas con características AT y tamaño XT.

§2.4 LPX y Mini LPX

LP significa perfil bajo ("Low Profile"). Son placas destinadas a torres de perfil bajo ("Slimline"). Su característica principal es que disponen de un único conector situado aproximadamente en el centro, en el que se inserta una placa auxiliar, en la que se conectan a su vez las tarjetas adicionales. El resultado es que estas (las tarjetas adicionales) quedan en posición paralela a la placa-base (lo normal es que sean perpendiculares).

El tamaño típico de estas placas es de 9 x 13 pulgadas, y montan conectores para puertos serie y paralelo, además del teclado, ratón y salida de video en su parte posterior. Su diseño no es totalmente estándar, por lo que no son recomendables. Sin embargo, como veremos a continuación, no todas las placas con tarjeta auxiliar vertical son LPX.

§2.5 ATX

La publicación por Intel de este estándar en 1995, cambió la tendencia dominante, que venía siendo la utilización del placas Baby AT. Actualmente las placas ATX, de 12 x 9.6 pulgadas, son el formato más utilizado. Las principales mejoras que incorporan respecto al diseño Baby AT son:

Page 204: 6721122 D057 Tecnologia Del PC

Adopción de un solo conector para la fuente de alimentación. Anteriormente, para la conexión de la fuente de alimentación a la placa-base, se habían utilizado dos conectores iguales de 6 contactos, con el consiguiente peligro de introducir uno por el otro en los alojamientos previstos al efecto en la placa-base. El nuevo diseño utilizaba un solo conector de 20 pines ( 2w2).

Existencia de una zona posterior de la placa con conectores para dispositivos de E/S en doble altura y colocados de una forma más racional.

En la figura adjunta se muestra una de estas placas (Intel), en la que se observan claramente las características señaladas. A continuación se muestra la descripción de los conectores.

A Conector mini DIN

para mouseB Conector para teclado

C Puerto USB

D Puerto USB

Page 205: 6721122 D057 Tecnologia Del PC

E Conector video VGA

F Conector DB25 puerto paralelo

G Conector DB9 para puerto serie

H Conector RJ45 para LAN

I Conector puerto USB

J Conector puerto USB

K Tarjeta de sonido. Entrada micrófono

L Tarjeta de sonido. Salida

M Tarjeta de sonido. Entrada

§2.6 Mini ATX

Se trata de una versión reducida de la anterior, de 11.2 x 8.2 pulgadas, pero manteniendo la misma disposición de sus elementos.

Page 206: 6721122 D057 Tecnologia Del PC

§2.7 Micro ATX

Este factor de forma, publicado por Intel en 1997 supone una nueva reducción para el tamaño de las placas-base, que pasa a ser de 9.6 x 9.6 pulgadas. Tanto este diseño como el anterior (Mini ATX), son compatibles hacia atrás con ATX, de forma que una de estas placas puede utilizarse para sustituir una ATX antigua sin que existan problemas de alojamiento o fijación.

§2.8 Flex ATX

Se trata de un nuevo estándar publicado por Intel en 1999, destinado a sistemas de gama baja para usuarios poco exigentes. Su tamaño es de 9 x 7.5 pulgadas, y también es compatible hacia atrás con el diseño ATX (sus agujeros para tornillos de anclaje al chasis son un subconjunto de aquel).

§2.9 NLX

Este factor de forma, introducido por Intel en 1996, ofrece las ventajas de las antiguas LPX para ensamblar equipos de perfil bajo, al tiempo que elimina alguno de sus

inconvenientes. Para ello dispone de una solución análoga; una placa auxiliar vertical en la que se conectan los periféricos, cuyas placas quedan por tanto, paralelas a la placa-base.

La solución aporta sin embargo algunas novedades: La primera es que la placa auxiliar no se aloja en un conector situado en el centro de la placa-base (como en LPX), sino en su lateral, que dispone de lengüetas doradas de conexión en uno de sus bordes (el conector hembra está situado en la placa auxiliar).

Otra novedad es que los cables y conectores, que normalmente están situados en la placa-base, se conectan ahora en la placa auxiliar, con lo que cambiar la placa-base es una tarea

Page 207: 6721122 D057 Tecnologia Del PC

muy simple, basta deslizarla hacia fuera y sacarla de su alojamiento sin desconectar ni un solo cable (la placa auxiliar queda fija al chasis). Como puede suponerse, este factor de forma se ha concebido para permitir sistemas de perfil bajo y facilitar la actualización de las propias placas-base.

El tamaño de estas placas pueden oscilar entre 4 y 5.1 pulgadas de ancho, y 10; 11.2 y 13.6 pulgadas de largo.

§2.10 WTX

Este factor de forma, introducido en 1998 y dirigido al segmento de las estaciones de trabajo de media gama, no solo establece características de la placa-base, también establece especificaciones para la interfaz entre la placa y el chasis y las características exigibles a este último. Contiene también sugerencias de diseño para disipación del calor y confinamiento de las interferencias electromagnéticas.

La especificación introduce tres elementos distintivos: La placa-base, el dispositivo adaptador de la placa-base (Board Adapter Plate), y el denominado Flex Slot.

Las placas-base WTX pueden tener una dimensión máxima de 14 x 16.75 pulgadas.

El dispositivo adaptador permite que cualquier placa-base WTX pueda ser fácilmente colocada en un chasis WTX sin los problemas y restricciones que imponen actualmente los agujeros de los tornillos de anclaje. La teoría es que los fabricantes de placas WTX deben proporcionar junto con estas un "Adapter plate" en el que se fija la placa. A su vez el adaptador se fija al chasis.

El Flex Slot es un diseño para tarjetas de periféricos E/S que permite la incorporación de mejoras en el diseño de placas sin perder compatibilidad con los chasis WTX que deben albergarlas.

El diseño de este factor de forma pretende proveer facilidades para los diseños actuales y los que se deriven de los futuros avances tecnológicos. Principalmente se pretende dar soporte

Page 208: 6721122 D057 Tecnologia Del PC

a los siguientes aspectos:

● Tecnologías presentes y futuras de los procesadores Intel de 32 y 64 bits.

● Sistemas de dos procesadores en todas sus configuraciones

● Tecnologías de memoria presentes y futuras.

● Tecnologías de gráficos presentes y futuras.

● Tarjetas de E/S tipo "Flex Slot".

● Capacidad de montaje en bastidor

● Facilidad de acceso a los elementos internos.

La figura derecha muestra el aspecto de una de estas torres en la que se aprecia la facilidad de acceso mediante puertas abatibles y cajones extraíbles para componentes internos; a la

izquierda el modelo SC5100 de Intel, que dispone de 4 ventiladores y una capacidad de hasta diez discos duros y alimentación redundante.

§3 Sitios relacionados

Los fabricantes más importantes se han agrupado en una organización encargada de regular y racionalizar los factores de forma que se definen como "Estándar". Esta normalización no solo se extiende a la forma y disposición de las placas-base, sino a otros aspectos topológicos de la industria del PC, por ejemplo, fuentes de alimentación y cajas. Por supuesto, como señalábamos al principio, otra fuente de información autorizada es el propio "Site" de Intel.

Organización de factores de forma: www.formfactors.org

Página principal de Intel Desktop Boards: www.intel.com/design/

Page 209: 6721122 D057 Tecnologia Del PC

motherbd/

Inicio.

[1] Aunque este aspecto es quizás menos conocido por el gran público, que asocia a este gigante de la industria con los microprocesadores (el consabido "Intel inside"), durante 1977, Intel fabrico más placas-base que el total de las ocho competidoras que le seguían en el "Ranking" de ventas en el mundo. Incluso muchas placas-base montadas por marcas de reconocido prestigio, son en realidad de Intel (que no suele incluir ningún identificador en este tipo de productos).

Inicio

|Índice| Copyright © 2000-2006 Zator Systems. NO software patents

Page 210: 6721122 D057 Tecnologia Del PC

Tecnología del PC[Home] [Inicio] [Índice]

Subir

3.1 Procesadores: Aspectos tecnológicos

§1 Historia:

La historia de los microprocesadores se inicia en 1948 con la invención del transistor por John Bardeen y Walter H. Brattain en los Laboratorios Bell de AT&T [6], y la posterior introducción del circuito integrado IC, en 1959 [4] por Robert Noyce en Fairchild Semiconductors y Jack Kilby en Texas Instruments.

● El 15 de Noviembre de 1971 Intel introduce el 4004 que corría a 108 KHz con 2.300 transistores y una tecnología de 10 micras. Este procesador fue desarrollado por encargo de una compañía japonesa para una calculadora (Busicom).

● En Abril de 1972 se lanza el 8008 a 200 KHz con 3.500 transistores y tecnología de 10 micras.

● En Abril de 1974 se lanza el 8080, a 2 MHz con 6.000 transistores y tecnología de 6 micras. Este procesador es el que inicia la era de la micro computadora, pues originó el primer ordenador personal, el Altair 8800. El Sistema Operativo CP/M fue escrito para él [5], y Microsoft fue fundada para producir un intérprete de Basic para dicho procesador. Su éxito fue tal que incluso fue clonado, dando lugar al Z-80 construido por Zilog, una empresa constituida por ingenieros que provenían de Intel. Este procesador incluía un

Page 211: 6721122 D057 Tecnologia Del PC

superconjunto de las instrucciones del 8080 con lo que podía correr el software de aquel.

● En Junio de 1978 Intel lanza el 8086 a 5 MHz con 29.000 transistores. Una versión reducida, el 8088 fue el elegido para motorizar el primer IBM-PC.

§2 Proceso de fabricación:

● Fabricación de un monocristal de silicio de cientos de quilos de peso; unos 20 cm x 150 cm, en un proceso muy lento (10 a 40 mm/hora) a alta temperatura (1370º C).

● Rectificado de la superficie y corte de sus extremos hasta conseguir un cilindro perfecto.

● Separación de obleas por corte mediante sierra de diamante. Cada una de menos de 1 mm de grosor (se obtienen miles de ellas de cada barra).

● Las obleas se pulen hasta conseguir un acabado especular y se recubren de una primera capa aislante de óxido de silicio mediante deposición de vapor.

● Fotolitografía: Deposición de una película de material fotosensible; a continuación se proyecta sobre esta película la primera máscara. Un ataque caústico disuelve las zonas en que el material fotosensible ha sido expuesto a la luz, con lo que se crean zanjas microscópicas (0.25, 0.18 y 0.13 micras).

● El proceso sigue con el dopaje, que consiste en crear capas con propiedades

Page 212: 6721122 D057 Tecnologia Del PC

semiconductoras (que serán posteriormente parcialmente disueltas) mediante la adición de impurezas. El Pentium III utiliza más de 20 máscaras para crear seis capaz de interconexiones de metal y semiconductoras.

● Las zonas de interconexión se efectúan mediante metalización. Actualmente (2002) se utiliza principalmente aluminio, pero empieza a utilizarse cobre que es mejor conductor que aquel, y permite interconexiones más pequeñas (aunque presenta más problemas de corrosión que el aluminio).

● Testeo y corte: Se marcan las unidades malas y se cortan con laser o diamante. (tasa de errores).

● Encapsulado y comprobación final a diversas velocidades y temperaturas.

Estado en 2002: Se pretende llegar a monocristales de 30 cm de diámetro con unos 670 circuitos por oblea. Se está en 140 millones de transistores en un solo circuito integrado (Pentium III Xeon).

La situación en 2005 era que, a pesar de las mejoras (reducción) en la longitud de onda de la luz utilizada, las técnicas fotolitográficas estaban llegando al límite teórico de la resolución óptica. La consecuencia es que, con la tecnología del momento no puede seguir cumpliéndose la Ley de Moore por mucho más tiempo, y se están ensayando nuevos métodos. Sin embargo, en Febrero del 2006 IBM anuncia la puesta apunto de una nueva mejora en las técnicas tradicionales de fabricación, denominada Litografía óptica profunda ultravioleta, que utiliza luz de 248 nm (10-9 m) de longitudes de onda, con la que se consiguen tamaños de 30 nanómetros (menos de una 3000 milésima parte del grosor de un cabello humano).

Las últimas mejoras permiten un nuevo respiro a la mencionada ley, que aparentemente "tiene cuerda" hasta el año 2020. Así, de acuerdo con la Asociación de la Industria de Semiconductores, con el estado actual de la técnica (2006) es de esperar que en los dos próximos años se doble el número de transistores incluidos en una CPU, pasando de 1 a 2 billones (miles de millones. 109) y hasta 4 billones en un plazo de 4 años.

§3 Características distintivas:

Page 213: 6721122 D057 Tecnologia Del PC

§3.1 Tamaño de los registros internos (8088 16; 80386 y siguientes 32 bits).

§3.2 Anchura del bus de datos (8088 8; 80286 16; 80486 32; Pentium 64 bits)

§3.3 Anchura del bus de direcciones (8088 20; 80286 24; 80486 32 y Pentium 36 bits).

§3.4 Velocidad

§3.5 Encapsulado

§3.6 Voltaje

§4 Velocidad

No hay un estándar para medirla. Uno de los pocos datos objetivos es la frecuencia a que funciona, aunque existen otros muchos factores, tales como el número de instrucciones que es capaz de ejecutar en cada ciclo (arquitectura súper escalar), los juegos de instrucciones para aplicaciones específicas como la tecnologías MMX, las extensiones SIMD o 3DNow, la ejecución dinámica, arquitectura de bus independiente, etc.

Tiempos medios por instrucción 8086 y 8088: Un promedio de 12 ciclos por instrucción 80286 y 80386: Un promedio de 4.5 ciclos por instrucción (el 80386 fue el

primer procesador de ordenador personal en implementar arquitectura de ejecución paralela).

80486: Media de 2 ciclos por instrucción Pentium y AMD serie K6: 2 instrucciones por ciclo. Pentium Pro, Celerón, Athlon y Duron: Por encima de 3 instrucciones

Page 214: 6721122 D057 Tecnologia Del PC

por ciclo.

A partir del Intel 80486 los procesadores funcionan a una velocidad mayor que lo que pueden hacer los circuitos y buses de la placa-base (bus externo). La situación actual es que las velocidades típicas de las placas-base son de 60- 66- 100- 133 MHz mientras que los procesadores funcionan a frecuencias múltiplos de aquellas; típicamente de 1x hasta 10x, es decir, desde 60 a 1330 MHz. Dado que el procesador está conectado con el bus externo, es fácil comprender que en su interior existan buses que trabajan a distintas velocidades. Para distinguirlos es frecuente referirse a la velocidad del bus más rápido como velocidad del núcleo y a la del bus que conecta con el bus externo como velocidad del bus frontal ("Front-side bus").

§4.1 Tecnología MMX

La tecnología MMX ("MultiMedia eXtensions") fue introducida en 1.997 por Intel en sus procesadores Pentium para mejorar la manipulación de imágenes y tratamiento de codecs de audio/video, mediante un conjunto de 57 nuevas instrucciones, así como una nueva capacidad denominada SIMD ("Single Instrucction Multiple Data").

§4.2 Extensiones SIMD

Con la aparición del Pentium III en 1.999 se introdujeron nuevas mejoras en la tecnología MMX, introduciendo 70 nuevas instrucciones denominadas SSE ("Streaming SIMD Extensions") o KNI ("Katmai News Instrucctions") puesto que Katmai que era el nombre clave del Pentium III antes de su lanzamiento.

Las instrucciones SSE son especialmente adecuadas para decodificación de MPEG2, que es el codec utilizado normalmente en los DVDs, procesamiento de gráficos tridimensionales y software de reconocimiento de voz.

§4.3 3DNow

Page 215: 6721122 D057 Tecnologia Del PC

La tecnología 3DNow es la respuesta AMD a las SSE de Intel. Se introdujo por primera vez en 1.998 en la serie K6 de procesadores, y son un conjunto de 21 instrucciones que mejoran las capacidades multimedia de estos procesadores. Enhanced 3DNow añade otras 24 nuevas instrucciones a las anteriores.

§4.4 Arquitectura DIB

La arquitectura de bus dual independiente DIB ("Dual Independent Bus") consiste en que el procesador dispone de dos buses exteriores que pueden funcionar simultanea e independientemente. El principal es el que comunica con el bus de la placa-base (bus del sistema); el segundo (bus de apoyo), comunica el procesador con la cache L-2.

Para sacar pleno rendimiento de este segundo bus, se sacó esta caché de la placa-base y se la acercó al procesador, permitiendo que funcionase a la misma velocidad que el núcleo (la caché L-1 siempre ha estado incluida en el procesador).

§4.5 Sobrecarga

La Sobrecarga ("Overclocking") consiste en aumentar la eficiencia del procesador aumentando su velocidad de trabajo (frecuencia) por encima de la prevista por el fabricante.

Aspectos relativos al marcaje de la velocidad de los procesadores por los fabricantes; remarcado y mercado negro de procesadores; limitación de la velocidad por el fabricante.

Nota: La compañía Intel proporciona gratuitamente un software especial, denominado Processor Frequency ID Utility support.intel.com que permite a los usuarios determinar si un determinado procesador Intel está operando a la frecuencia correcta. Además permite identificar el tipo de procesador utilizado en el sistema y algunas de sus características como tipo y tamaño de caché; encapsulado y tecnología (MMX y SMID). El programa existe en dos versiones. Una de ellas corre bajo Windows, la otra,

Page 216: 6721122 D057 Tecnologia Del PC

denominada "bootable", no necesita un Sistema Operativo instalado para correr [2]; puede instalarse en un disquete y arranca antes que el SO.

§5 Encapsulados:

Concepto: Relación con el tipo de zócalo. Existen varios tipos de encapsulado:

● DIP "Dual In-line Package". El 8088 estaba encapsulado en un DIP de 40 pines.

● PGA "Pin Grid Array". Se utiliza a partir de la introducción de 80286 en 1.982. Existen muchas versiones: Socket 1, 169 pines; Socket 2, 238 p; Socket 3, 237 p; Socket 4, 273 p; Socket 5, 320 p; Socket 6, 235 p [1]; Socket 7, 321 p y Socket 8, 387 p.

● SE "Single Edge".

Ranura 1 cartuchos SEC (Single Edge Card) y SEP (Single Edge Connector) de 242 pines.

Ranura 2 con 330 pines. Servidores y sistemas de altas prestaciones con Pentium Xeon.

Historia: Zócalos de patillas planas y torneadas; origen de los zócalos LIF y ZIF.

Se requieren unas 100 libras de fuerza para insertar un procesador de 169 pines en un zócalo estándar (unos 45 Kg).

Se diseñaron los zócalos LIF ("Low Insertion Force") que limitaban a 60 libras (unos 27 Kg), y los ZIF ("Zero Insertion Force") que no requieren ninguna fuerza para su inserción o retirada.

§6 Voltaje e intensidad:

Consideraciones generales sobre el binomio tensión-intensidad, potencia consumida (W = V

Page 217: 6721122 D057 Tecnologia Del PC

* I). La potencia consumida se disipa en forma de calor ( 1 Wh = 860.42 calorías). El procesador es el elemento de mayor consumo de la placa-base; tendencia a reducir el consumo/calentamiento.

Los primitivos procesadores, incluyendo el 8088 funcionaban a 5 V., al igual que el resto de los componentes de la placa-base.

Posteriormente el voltaje ha ido reduciéndose: 3.5; 3.3; ... 2.2 V. Aunque la tensión de los elementos de la placa-base se ha mantenido en 3.3 V. (tecnología de reducción de voltaje VRE), de forma que la tensión del núcleo es distinta que la del resto del sistema.

Métodos de regulación del voltaje:

● Ninguno (sistemas antiguos)

● Selección mediante jumpers en la placa-base

● Selección automática (pines VID).

§6.1 Disipadores:

§6.1.1 Motivo de su utilización.

§6.1.2 Tipos: Activos y pasivos (con y sin ventilador o elemento de refrigeración incorporado).

● Todos los tipos:Colocación (grasa de transferencia térmica, generalmente un compuesto de plata que facilita la transmisión del calor desde el chip al disipador).

● Disipadores activos:Están provistos de un ventilador que en ocasiones puede ser de velocidad variable en función de la temperatura, de unas 500 r.p.m. Su capacidad se mide en términos del caudal de aire que proporcionan, generalmente expresado en CFM (Cubic Feet per

Page 218: 6721122 D057 Tecnologia Del PC

Minute), equivalentes a 28.316 litros/minuto; la presión no suele estar indicada, pero se expresa en PSI ("Pounds per Square Inch"), equivalentes a 0.488 gr/cm2.Notas de calidad: Preferiblemente con rodamientos, su MTBF de unas 50.000 horas.Formas de alimentación de los disipadores activos.

§6.1.3 Programas de control de temperatura.

SpeedFan: http://www.almico.com/speedfan.php

Control de velocidad de los ventiladores en función de la temperatura del equipo. Además, si sus discos disponen de la capacidad SMART [3], puede también controlar la temperatura de los discos.

SiGuardian y HDD Temperature de PalickSoft http://www.siguardian.com/

Control de temperatura de la placa base y de los discos si disponen de capacidad SMART. Existe una versión freeware (limitada) y otra profesional. El programa puede incluso enviar mensajes de advertencia por e-mail si la temperatura de los discos sube excesivamente.

Nota: Este tipo de programas solo funcionan con sistemas (placa-base y discos) modernos.

Inicio.

[1] No llegó a instalarse en ningún sistema.

[2] Esta versión es útil para diagnóstico de sistemas que tienen problemas de arranque o que no tienen instalado aún el SO.

Page 219: 6721122 D057 Tecnologia Del PC

[3] SMART - Self Monitoring Analisis and Reporting Technology. Una técnica que incrementa la fiabilidad de los discos intentando adelantarse a la posible aparición de fallos, de forma que permita al usuario guardar los datos antes de su pérdida. Surge de la unión de dos técnicas: La PFA de IBM y la IntelliSafe de Compaq, que condujeron al actual SMART. Aunque específicamente se admite que hay fallos no predecibles (entre los que se encuentran determinados fallos mecánicos y eléctricos, incluyendo eventuales caídas de tensión). Otros en cambio pueden ser detectados por determinados síntomas previos, la alteración de determinados "parámetros de predicción" que son constantemente monitorizados y pueden activar una alarma. Entre estos están la variación de la altura del cabezal sobre la superficie durante el vuelo, y determinados síntomas mecánicos.

[4] "The Birth Of The Microprocessor" por Federico Faggin. BYTE Magazine Marzo de 1.992

[5] Gary Kildall: "CP/M: A Family of 8-and 16-Bit Operating Systems". BYTE Magazine Junio de 1.999

[6] Más información en http://www.pbs.org/transistor

Inicio

|Índice| Copyright © 2000-2006 Zator Systems. NO software patents

Page 220: 6721122 D057 Tecnologia Del PC

Tecnología del PC[Home] [Inicio] [Índice]

Subir

3.2 Arquitectura del Procesador

§1 Sinopsis

El procesador es todo un mundo en sí mismo; aunque los primeros eran comparativamente simples, actualmente han alcanzado una notable complejidad. En el presente capítulo dedicaremos algunos comentarios a su estructura lógica, mencionando de pasada que su tecnología física ha avanzado paralelamente con la de construcción de circuitos integrados, IC's, lo que a la postre ha significado unas dimensiones físicas cada vez más pequeñas y un menor consumo.

La evolución de ambos parámetros no solo ha permitido incrementar la densidad de integración, también la velocidad (frecuencia de funcionamiento). Si nos referimos a la familia Intel, de los 2.100 transistores del 4004 en 1970, que con solo 46 instrucciones funcionaba a unos 800 KHz, se pasó a los 29.000 transistores del 8086 en 1979 a 14 MHz; y en 1999 a los 8.200.000 transistores del Pentium III a 2 GHz.

Nota: acabo de leer (Noviembre 2001) que Intel anuncia la nueva tecnología de 0.13 micras para su serie Pentium 4 (hasta ahora era de 0.18 micras), con la que se espera que a fines de 2002 se alcancen los 3 GHz. en estos procesadores. Un poco después (Enero 2002) leo que Intel espera alcanzar 1.2 THz en sus procesadores para el 2005 (escribo esto en un Pentium II a 200 MHz no demasiado antiguo). En Abril del 2002 Intel anuncia el procesador Pentium 4 con tecnología CMOS de 0,16

Page 221: 6721122 D057 Tecnologia Del PC

micras a 2.4 GHz y mejoras en el proceso de fabricación que permiten su fabricación en obleas de 300 mm. Esta tecnología permite al fabricante proporcionar más de cinco veces el volumen de productos en una sola oblea en comparación con la del procesador Pentium 4 inicial. En Junio del mismo año Intel desvela su nueva tecnología de fabricación de transistores "Tera-Herz", con la que pretende que en el 2005 pueda alcanzar los 10 GHz. Craig Barret, CEO [7] de la compañía, afirma que en un futuro no lejano esperan conseguir 2.000 millones de transistores en un procesador a 30 GHz.

Actualmente se trabaja en el límite de la resolución óptica de los dispositivos utilizados en su construcción (se usan técnicas fotográficas con longitudes de onda cada vez menores para la luz utilizada), y debido a la altísima frecuencia de funcionamiento, los conductores internos funcionan más como guías de onda que como conductores eléctricos convencionales. Además, las dimensiones físicas del propio dispositivo están teóricamente limitadas si se desea que todos sus elementos funcionen según un mismo patrón de tiempo (cosa que es imprescindible). Para dar una idea de las formidables dificultades técnicas que han debido resolver los diseños actuales, considere que a la velocidad del Pentium III, las señales eléctricas solo recorren 15 centímetros en cada ciclo de reloj.

§2 Tipos de arquitectura

Una de las primeras decisiones a la hora de diseñar un procesador es decidir cual será su juego de instrucciones. Este conjunto de instrucciones (órdenes) es el lenguaje que realmente entiende el procesador, y constituye lo que se conoce como lenguaje ensamblador o lenguaje-máquina [1].

La decisión es trascendente, por dos razones. Primero: el juego de instrucciones decide el diseño físico del conjunto. Segundo: cualquier operación que deba ejecutarse con el procesador deberá poder ser descrita en términos de este "lenguaje" elemental (recuerde que los compiladores e intérpretes son en realidad traductores desde el lenguaje de alto nivel (fuente) a este lenguaje-máquina.

Page 222: 6721122 D057 Tecnologia Del PC

Sin entrar en detalles, podemos decir que frente a esta cuestión caben dos filosofías de diseño. La primera conduce a máquinas denominadas CISC ("Complex Instruction Set Computer"); las máquinas construidas según el otro criterio se denominan RISC ("Reduced Instruction Set Computer").

Como puede deducirse de sus propios nombres, las máquinas CISC utilizan instrucciones muy complejas, diríamos que muy descriptivas y específicas, lo que necesariamente se traduce en varias consecuencias:

● El lenguaje debe contener un amplio surtido de ellas (una para cada circunstancia distinta).

● Son instrucciones complejas, por tanto de ejecución lenta. La circuitería del procesador también es compleja.

● Para un trabajo específico se requieren pocas instrucciones (siempre hay una que resuelve el problema).

Las máquinas RISC representan el enfoque opuesto. Utilizan instrucciones muy simples, que deben ser cuidadosamente escogidas, porque cualquier operación debe ser expresada como una secuencia de estas pocas instrucciones. Las consecuencias son justamente opuestas a las anteriores:

● El lenguaje contiene un conjunto pequeño de instrucciones.

● Las instrucciones son muy simples, por tanto de ejecución rápida. La circuitería es más simple que en los procesadores CISC.

● Para cualquier operación se requieren varias instrucciones elementales.

Naturalmente cada criterio tiene sus pros y sus contra en lo que a rendimiento se refiere. En las máquinas CISC, lentitud de cada instrucción frente a poca cantidad de ellas; en las RISC, rapidez individual aunque hay que ejecutar un mayor número [2].

§3 Componentes principales.

Page 223: 6721122 D057 Tecnologia Del PC

De forma esquemática podemos suponer que un procesador se compone de cinco elementos:

● Memoria

● Unidad Artimético-Lógica ALU ("Arithmetic and Logic Unit" )

● Unidad de Control CU ("Control Unit" )

● Bus interno

● Conexiones con el exterior ( 3.2.1)

Puesto que su conocimiento es esencial para la programación en ensamblador, nos detendremos brevemente la descripción de la arquitectura del 8088; además de ser el motor del primer PC, es uno de los primeros ejemplares de una prolífica saga que ha tenido una gran influencia en la informática actual. Además recordemos que incluso los modernos Pentium pueden emular el funcionamiento en modo real de sus ancestros.

En le figura 1 se muestran sus elementos.

§3.1 Los registros

El procesador necesita para su funcionamiento de ciertas áreas de almacenamiento, que aquí se llaman registros, y que son de dimensiones mínimas [3]; sin embargo, tienen la ventaja de su rapidez. Comparados con los accesos a RAM, los de registro son como mínimo 10 veces más veloces.

Page 224: 6721122 D057 Tecnologia Del PC

El 8088 dispone de catorce registros de 16 bits que se agrupan en cuatro grupos y que reciben nombres especiales (precisamente los que se utilizan para designarlos en lenguaje ensamblador).

§3.1.1 Registros de uso general

Existen 4 registros denominados AX, BX, CX y DX que en realidad tienen asignados usos característicos, aunque pueden ser utilizados a discreción para cualquier cosa que necesitemos.

● AX es denominado acumulador; suele contener uno de los operandos que intervienen en las operaciones aritméticas y lógicas, y después de esta, el resultado de la operación. En general las instrucciones que trabajan con este registro (o su mitad inferior) tienen un microcódigo más simple que la misma instrucción ejecutada con otro registro.

● BX es el registro base, suele contener la dirección de inicio de una tabla de valores.

● CX es denominado contador. Las instrucciones de bucle (LOOP) utilizan este registro como contador.

● DX es un registro de datos, multiuso. Se utiliza en operaciones de multiplicación y división junto con AX. En operaciones de entrada/salida de puertos IN/OUT, su mitad inferior DL, contiene el número de puerto ( 2.5).

Aunque estos cuatro registros son de 16 bits (como los 10 restantes) [6], en caso necesario pueden ser utilizados en dos mitades (nibbles), "High" y "Low", de 8 bits, con lo que puede considerarse que existen 12 registros de uso general (no simultáneos), los anteriores y sus mitades: AH; AL; BH; BL; CH; CL; DH y DL.

Page 225: 6721122 D057 Tecnologia Del PC

§3.1.2 Registros de segmento

Se dispone de cuatro registros que sirven para contener las direcciones de otros tantos segmentos (zonas de 64 KB de memoria). Utilizándolos en conjunción con otros registros que señalan las direcciones concretas dentro de estos segmentos (los desplazamientos ), permiten manejar la totalidad de la memoria direccionable (el bus de direcciones es de 20 bits). Ver al respecto el epígrafe "Direccionamiento segmentado" ( 5.1).

● Segmento de código CS ("Code segment"). Señala la dirección del segmento de código del programa que se está ejecutando ( E1.3.2).

● Segmento de datos DS ("Data segment"). Señala la dirección del segmento de datos del programa en ejecución ( E1.3.2).

● Segmento de pila SS ("Stack segment"). Señala la dirección del segmento donde está la pila del programa ( E1.3.2).

● Segmento extra ES ("Extra segment"). Es un segmento auxiliar a los anteriores, se utiliza para señalar espacio extra en alguno de los segmentos o para almacenar momentáneamente direcciones intermedias.

Nota: Puede ocurrir que programas pequeños utilicen el mismo segmento para el código, los datos y la pila.

§3.1.3 Registros de puntero

Son 5 registros destinados a contener direcciones; estas direcciones son desplazamientos dentro de los segmentos indicados por los registros de segmento (ver figura 5.1 Fig.2)

● El primero, denominado indistintamente puntero de instrucción IP ("Instrucción pointer") y contador de programa PC ("Program counter"), indica el

Page 226: 6721122 D057 Tecnologia Del PC

desplazamiento (dentro del segmento de código CS) de la próxima instrucción a ejecutar.

● El puntero de pila SP ("Stack Pointer"), señala el desplazamiento del final de la pila dentro del segmento de pila SS. En caso necesario la pila puede crecer a partir de este punto, de forma que por ejemplo, una nueva invocación de función creará un nuevo registro de activación que comenzará en este punto.

● El puntero base BP ("Base pointer") señala el desplazamiento (dentro del segmento de pila SS) donde se encuentra el origen de la zona ocupada por las variables dinámicas.

● Existen dos registros denominados "de índice", en razón de su utilización muy particular; el índice fuente SI ("Source index") y el índice destino DI ("Destination index"). Generalmente estos dos registros se utilizan con alguno de los registros de uso general y con ciertas instrucciones específicamente pensadas para transferir datos (dentro de un rango de posiciones de memoria), desde un punto inicial de un segmento de datos, a otro.

Ver en la página adjunta un ejemplo relativo al uso de punteros ( 3.2 Ejemplo-2).

§3.1.4 Registro de estado

Existe un registro especial, el registro de estado (FLAGS), en el que 9 de los 18 bits actúan como semáforos (indicadores del estado del procesador y del resultado de determinadas operaciones). Por ejemplo, si después de una suma aritmética hay o no desbordamiento del bit más significativo.

Los nombres y situación de cada uno, dentro de la palabra de 16 bits, se muestran en la figura 2.

Page 227: 6721122 D057 Tecnologia Del PC

Cada bits individual puede estar "activo" (1) o "inactivo" (0), y tiene un identificador que termina en F ("Flag"). Son los siguientes:

Bit Indicador de: Uso

CF Acarreo ("Carry Flag")

Indicador de arrastre del bit de mayor orden, que puede ocurrir en las operaciones aritméticas suma y resta.

PF Paridad ("Parity Flag")

Si está activo Indica un número par de bits activos (bits cuyo contenido es 1). Esta información es útil cuando el procesador controla transmisiones de datos.

AF Acarreo auxiliar Indicador de ajuste en operaciones aritméticas con cantidades BCD ( E0.1w1).

ZF Cero ("Zero Flag") Está activo si el resultado de operación es cero o resultado de comparación igual.

SF Signo ("Sign Flag")

Si está activo indica que el resultado de operación o de comparación son negativos [5].

TF Detención ("Trap Flag")

Si está activo, el procesador genera automáticamente una interrupción después de la ejecución de cada instrucción, lo que permite controlar paso a paso la ejecución del programa. Este bit debe estar normalmente inactivo (a 0).

IF Interrupción ("Interrupt Flag")

Este bit controla el estado del sistema de interrupciones enmascarables ( 2.4). Cuando está activo (1) permite las interrupciones; el estado inactivo (0) las deshabilita.

Page 228: 6721122 D057 Tecnologia Del PC

DF Dirección ("Direction Flag")

Indica la dirección de las operaciones.

OF Desbordamiento (Overflow Flag")

Señala desbordamiento aritmético

Nota: Los usuarios de MS-DOS o Windows puede usar el programa DEBUG ( 1.7.1) para inspeccionar y modificar el contenido de los registros de la siguiente forma:

● Invocar DEBUG desde una ventana DOS (suponemos que estamos en Windows; el "prompt" es un guión "-")

● introducir el comando R (pedimos que nos muestre el contenido de los registros).

● Salir de Debug con Q

En mi PC la respuesta al comando tiene el siguiente aspecto:

AX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=1779 ES=1779 SS=1779 CS=1779 IP=0100 NV UP EI PL NZ NA PO NC

Los valores están expresados en hexadecimal. La última secuencia de caracteres (NV UP EI PL NZ NA PO NC) muestra el contenido del registro de estado (el bit TF de detención no se muestra), el significado de la notación utilizada es el siguiente:

Bit Indicador de: Indicativo si bit 1 Indicativo si bit 0

CF Acarreo CY ("Carry yes") NC ("No Carry")PF Paridad PE ("Parity Even") paridad par PO ("Parity Odd") paridad imparAF Acarreo auxiliar AC ("Auxiliar Carry") NA ("No Auxiliar")ZF Cero ZR ("Zero") NZ ("No Zero")SF Signo NG ("Negative") negativo PL ("Plus") positivo

Page 229: 6721122 D057 Tecnologia Del PC

IF Interrupción EI ("Enabled Interrupt") activa DI ("Disabled Interrupt") desactivada

DF Dirección DN ("Down") decremento UP incrementoOF Desbordamiento OV ("Overflow") NV ("No overflow")

También es posible inspeccionar el contenido de un solo registro, añadiendo al comando R el nombre del registro. Por ejemplo, el comando R IP muestra el contenido del contador de programa. Los nombres que pueden utilizarse para los registros son los siguientes: AX; BX; CX; DX; SP; BP; SI; DI; DS; ES; SS; CS; IP y F (este último para el registro de estado).

Después de un comando de este tipo, DEBUG responde con un "prompt" distinto del habitual ":", para indicar que debe introducir el nuevo valor que desea para el registro. Pulsando INTRO se vuelve al modo normal.

§3.1.5 Comentario

Observe que tanto el registro contador de programa IP, como el de base BP, siempre contienen direcciones de memoria (los otros pueden contener direcciones o datos). Ni los registros de segmento ni los de puntero se pueden dividir en mitades (como los de uso general).

§3.2 Unidad Aritmético-lógica

Como su propio nombre indica, la unidad Aritmético-Lógica ALU ("Arithmetic and Logic Unit"), es responsable de realizar ciertas operaciones aritméticas y lógicas.

En cuanto a las primeras, ya hemos indicado ( 3) que los primeros procesadores solo eran capaces de realizar operaciones de aritmética básica con números enteros, y que las operaciones con números fraccionarios debían hacerse mediante artificios software. Esto había motivado la aparición de procesadores específicos para estas operaciones, los

Page 230: 6721122 D057 Tecnologia Del PC

denominados coprocesadores matemáticos. A partir de la introducción del Intel 80486 el coprocesador matemático fue incluido en el procesador.

La unidad aritmética de los procesadores actuales no solo puede realizar las operaciones aritméticas básicas con números enteros o fraccionarios, también ejecuta operaciones como raíz cuadrada y funciones trascendentes, como cálculo del seno, coseno, tangente, arcotangente, logaritmos y exponenciación.

Nota: En C++ los operadores aritméticos están incluidos en el lenguaje ( E4.9.1), las operaciones trascendentes están implementadas mediante funciones de la Librería Estándar ( 5), en la que existe toda una sección dedicada a estas operaciones <math.h>.

Por su parte, la unidad lógica es la responsable de realizar operaciones lógicas como AND, OR, XOR, etc ( E4.9.8).

§3.3 Unidad de Control

La Unidad de Control CU ("Control Unit") funciona como árbitro del funcionamiento del procesador. Se encarga de coordinar que todos los elementos funcionen de forma armónica.

Para la ejecución de una instrucción de lenguaje máquina se requieren una serie de operaciones elementales y de sucesos físicos en los diversos componentes del procesador. Podríamos poner un ejemplo: El procesador es un submarino en inmersión y el comandante da la orden de emerger. Esto requiere una serie de operaciones; los tripulantes deben abrir unas válvulas, cerrar otras; orientar el timón de profundidad; ajustar la velocidad, etc. etc. En el procesador, la operación MOV AX, BX (mover el contenido del registro BX a AX), requiere también la operación de una serie de válvulas (aquí se llaman puertas lógicas) en un orden determinado. El conjunto de operaciones necesarias para que se complete cada instrucción de lenguaje-máquina se conoce como microcódigo. Es un programa de actuación cableado en silicio (firmware) o en una memoria interna especial del procesador CROM ("Control Read Only Memory), y suele comenzar con las maniobras necesarias para traer

Page 231: 6721122 D057 Tecnologia Del PC

("Fetch") la próxima instrucción (señalada por el contador de programa IP), a un módulo de la CU denominado decodificador de instrucciones. La Unidad de Control, responsable de que todas estas operaciones se ejecuten correctamente, es en realidad el poder ejecutivo de la UCP (siguiendo con nuestro símil, en las máquinas de von Neumann [4], el "Poder legislativo" sería el programa grabado en memoria).

Nota: Algunos microprocesadores modernos (por ejemplo los Pentium de Intel), permiten modificar el contenido de la CROM, alterando así el microcódigo. Esto no solo permite actualizarlo, también corregir ocasionalmente algunos errores ("Bugs"); estas actualizaciones se realizan a través de la secuencia POST del BIOS ( 4.2). En la terminología utilizada por los fabricantes de procesadores, las versiones del microcódigo se denominan escalamientos. Al referirse al microcódigo, el número de escalamiento es equivalente al número de versión en el caso del software.

Como todo lo demás que ocurre en el ordenador estas operaciones se ejecutan según el compás de las señales de reloj que llegan desde la placa-base. En ocasiones se trata de un microcódigo complicado, para el que se necesitan varios ciclos de reloj. Por ejemplo, en el 8080 (un antepasado del 8088 montado en los primeros PC's), el microcódigo de las instrucciones más complejas necesitaba nada menos que 18 ciclos de reloj (CLK) para su ejecución, frente a los 4 ciclos de las instrucciones más rápidas.

Aunque el microcódigo se mejora constantemente, su simplificación tiene un límite, que marca el rendimiento del procesador. Las únicas formas de acelerarlo es aumentar la frecuencia del reloj y el procesamiento paralelo y simultaneo de varias instrucciones. Esta última capacidad requiere una arquitectura especial (súper escalar) de los procesadores, a la que ya nos hemos referido ( 3).

§3.4 El bus interno

Los diversos elementos de un microprocesador están interconectadas de forma muy compleja (el propio micro lo és), de forma que la imagen de la figura 1 es solo una simplificación conceptual. En realidad existen varios buses principales, cuya anchura que es

Page 232: 6721122 D057 Tecnologia Del PC

dos a cuatro veces la del bus externo ( H2) de los PC's, y muchos más secundarios.

En la figura adjunta se muestra un esquema de la arquitectura interna de un procesador de la familia Pentium de Intel ( Arq. Pentium) en la que puede apreciarse su complejidad.

§4 El lenguaje del procesador

Hemos señalado que el lenguaje que entiende el procesador es lenguaje-máquina, pero ráramente se emplea como tal, se utiliza un lenguaje de un poco más alto nivel, ensamblador o macro-ensamblador. Cada modelo de procesador tiene su propio lenguaje-máquina y necesita su propio ensamblador, pero todos los miembros de la saga Intel x86 (incluídos los actuales Pentium) comparten un núcleo que proviene de su ancestro el 8086.

Desde luego este tutorial "Tecnología del PC", no trata sobre programación en assembler (que además no es mi especialidad), pero como algunos me han escrito solicitando información al respecto, incluyo algunas referencias donde puede encontrarse información acerca de la programación en ensamblador y donde conseguir macroensambladores.

● WEB Ster webster.cs.ucr.edu

En mi opinión, esta web mantenida por Randall Hyde, es el "Sitio" por antonomasia sobre este asunto de la programación en ensamblador. Hace honor a su título: "The Place on the Net to Learn Assembly Language Programming". Empieza por aquí y seguramente no tendrás que seguir buscando por ahí.

● IBM Personal Computer Assembly wiretap.area.com

Tutorial de Joshua Auerbach, de la Universidad de Yale, para los que se inician en el ensamblador del PC.

Page 233: 6721122 D057 Tecnologia Del PC

● Winston (Leos Literak) www.penguin.cz

Un completo diccionario sobre el juego de instrucciones la familia Intel 80x86 hasta el 80486.

● Roger Jegerlehner www.jegerlehner.ch

Esta página contiene un excelente resumen de las instrucciones ensamblador de la serie Intel 80x86 descargable en formato .pdf

● Trinity College shakti.trincoll.edu

Estas páginas de un curso sobre arquitectura de ordenadores y ensamblador del Trinity College de Hartford en Connecticut. Contienen algunos ejemplos de programas en ensamblador.

● En el Infierno de los programadores pueden consultarse dos páginas en las que hay abundante información sobre ensambladores y desensambladores:

www.programmersheaven.com

www.programmersheaven.com

Inicio.

[1] Aunque los informáticos suelen utilizan el vocablo ensamblador como sinónimo de lenguaje-máquina, en realidad hay una diferencia importante entre ambos. El verdadero lenguaje máquina es un conjunto de instrucciones en forma de unos y ceros, cuya traducción ASCII es uno, dos, o más caracteres por instrucción, según el tipo de instrucción y procesador utilizado. Por ejemplo, en el 8088, las instrucciones 51h; 52h y 53h son

Page 234: 6721122 D057 Tecnologia Del PC

respectivamente órdenes de salvar el contenido de los registros CX, DX y BX en la pila, pero escribir directamente en este lenguaje nativo sería inhumano. En realidad se utiliza un lenguaje denominado ensamblador o macro-ensamblador; este lenguaje ha sustituido cada instrucción-máquina por un nemónico o macroinstrucción que la hace más fácil de recordar por el programador. Por ejemplo, las instrucciones anteriores pueden escribirse como: PUSH CX; PUSH DX y PUSH BX respectivamente (como puede ver mucho más fáciles de recordar). Aunque es de muy bajo nivel (muy cercano al lenguaje-máquina), este lenguaje dispone de algunas otras comodidades, como permitir escribir comentarios en el fuente. Posteriormente el compilador traduce nuestros nemónicos al verdadero lenguaje-máquina y el conjunto es ensamblado en un conjunto ejecutable.

El lenguaje C++ permite incluir directamente en sus fuentes sentencias ensamblador ( E4.10), aunque una de las razones de la invención de su antecesor el C, fue precisamente no tener que escribir en el referido lenguaje ensamblador.

[2] A este respecto se me ocurre una anécdota que viene al caso. Seguramente muchos sabéis que AutoCad® es un programa de diseño gráfico asistido por ordenador muy utilizado en arquitectura e ingeniería, que con los años ha llegado a unos niveles de refinamiento y potencia realmente notables (creo que llegar a dominarlo supone casi una diplomatura). Tengo un viejo amigo que, en razón de su profesión lo utiliza en su trabajo diario, y en alguna ocasión he tenido que pedirle ayuda. Aunque AutoCad tiene centenares de instrucciones, mi amigo utiliza solo un conjunto pequeñísimo de ellas; ha desarrollado su propia técnica, y a veces hace verdaderos malabarismos para conseguir lo que quiere en base a tan pocas instrucciones, a pesar de lo cual es increíblemente rápido. La última vez que nos vimos le dije entre risas que era un delineante RISC.

[3] El procesador se apoya constantemente en la RAM externa para su funcionamiento.

[4] John von Neumann matemático Húngaro (Budapest 1903), emigrado a USA, donde falleció en 1957. Una de las mentes más brillantes de su tiempo, llegaría a ser una leyenda en Princeton. Sus aportaciones matemáticas, en el campo de la teoría de Juegos, son importantes, así como sus trabajos teóricos para la construcción de la primera bomba atómica, pero cuando conoció el ENIAC, quedó fascinado por las posibilidades y potencial de los ordenadores, de cuyos aspectos teóricos llegó a ser una autoridad. Su trabajo más

Page 235: 6721122 D057 Tecnologia Del PC

conocido es un famoso informe de 1945: "First draft of a report on EDVAC", en el que sienta las bases teóricas para el diseño de un ordenador ("Electronic Discrete Variable Automatic Computer"). Este trabajo le ha valido ser considerado por algunos (quizás un poco exageradamente) como el padre de la moderna informática. En cualquier caso, parece que le corresponde el honor de ser el primero en concebir un ordenador cuyo programa está albergado en la memoria de la máquina (como otro dato más). Una máquina de este tipo se denomina, justamente por eso, "de von Newmann". Por supuesto todos los ordenadores modernos lo son.

[5] La forma de almacenamiento interno utilizada es de complemento a dos ( E.2.4a), por lo que el bit más significativo de los números negativos es 1.

[6] Cuando a partir de la introducción del 80386, los registros pasaron a ser de 32 bits, los registros generales pasaron a denominarse EAX, EBX, ECX y EDX. Como Intel garantizó la compatibilidad hacia atrás con el código ensamblador antiguo, las mitades de estos registros podían seguir direccionándose como AX, BX, CX, DX, y sus cuartas partes como AH; AL; BH; BL; CH; CL; DH y DL.

[7] CEO "Chief Executive Officer". Consejero delegado en español.

Inicio

|Índice| Copyright © 2000-2006 Zator Systems. NO software patents

Page 236: 6721122 D057 Tecnologia Del PC

Tecnología del PC[Home] [Inicio] [Índice]

Subir

3.2.1 Arquitectura del procesador: Conexiones exteriores

§1 Sinopsis

El procesador está conectado con el mundo que le rodea mediante una serie de líneas materializadas las patillas del chip, las cuales se alojan en un zócalo situado ex profeso en la placa-base. En la figura 1 de la página anterior las hemos simbolizado por una flecha señalando al "Exterior".

El número de estas conexiones exteriores ha aumentado paralelamente a la potencia y complejidad de los procesadores. Los 8088 se alojaban en un chip DIP ("Dual In-line Package") de 40 patillas, mientras que los actuales (2001) Pentium 4 disponen de 423 pines [2]. En estos contactos están las tensiones de alimentación; la de tierra; el bus de datos; el de direcciones y una serie de señales del bus de control, incluyendo las de reloj.

Nota: el 8086 y 8088 eran prácticamente idénticos. La diferencia estaba en un módulo denominado BIU ("Bus Interface Unit"), que manejaba las conexiones del procesador con el exterior. El 8086 tenía bus de datos de 16 bits, mientras que en el 8088 era de 8 bits.

En la tabla adjunta se relacionan los nombres y usos de las 20 patillas del 8088 mostradas en la Fig. 1. La mayoría

Page 237: 6721122 D057 Tecnologia Del PC

de ellas están relacionadas con señales que aparecen de una u otra forma a lo largo de esta publicación dedicada a la tecnología del PC.

Hay que advertir que el bus de direcciones/datos del 8088 está multiplexado. Esto significa que la información contenida en algunas líneas (patillas) cambia según el momento. Estos cambios configuran el ciclo de máquina o ciclo del bus, que se extiende a lo largo de cuatro ciclos (tics) del reloj CLK ( 0.3.1), designados por T1; T2; T3 y T4 (esto explica que aún las instrucciones más cortas requieran 4 ciclos de reloj). El contenido de las líneas multiplexadas puede variar en cada uno de estos tics.

Las direcciones son transmitidas durante el ciclo T1, mientras que las transferencias de datos ocurren durante T3 y T4. El ciclo T2 se utiliza principalmente para los cambios de direcciones del bus durante las operaciones de lectura. El sistema prevé que el procesador pueda insertar tics de espera Tw, para dar tiempo extra a cualquier periférico que no esté preparado (READY ).

Este doble uso de las patillas (y del bus), permitió un diseño del chip con menos patillas (40); en otro caso se habría necesitado un mayor número para transportar todas las señales.

El bus del 8088 puede considerarse dividido en tres partes:

● La parte inferior, AD0/AD7, contiene 8 líneas que pueden contener direcciones (A0-A7) y datos (D0-D7).

● La parte media, A8-A15, contiene 8 líneas que solo contienen direcciones. Mantienen su valor a lo largo de todo el ciclo del bus.

● La parte superior contiene 4 líneas que pueden contener direcciones (A16-A19) y bits de estado (S6-S3).

§2 Asignación de patillas en el 8088:

Page 238: 6721122 D057 Tecnologia Del PC

El 8088 tiene dos modos de funcionamiento seleccionables por hardware (SSO ), de forma que algunas patillas tienen un uso o u otro (según el modo). En la tabla adjunta se relacionan los nombres y usos en la forma "máxima", que es como fue utilizado por IBM en el PC original. Las flechas simbolizan la dirección de las señales transportadas:

Desde el procesador al exterior (Salida) Desde el exterior al procesador (Entrada) Bidireccional; hacia y desde el procesador (E/S)

Num. Nombre Uso

1 GND Masa ("Ground")2/8 A14/A8 Líneas del bus de direcciones ("Addresses") no multplexadas. Junto con

la patilla 39 mantienen su valor durante todo el ciclo de funcionamiento del bus.

9/16 AD7/AD0

Líneas compartidas (multiplexadas). Son las direcciones A0-A7durante los ciclos T1, y los 8 bits de datos D0-D7, durante los ciclos T2, T3, Tw y T4.

17 NMI Petición de Interrupción hardware no enmascarables ( 0.3.1d). Este tipo de interrupciones no puede ser enmascarada mediante software. Siempre que se recibe se genera una interrupción número 2.

18 INTR Petición de interrupción enmascarable hardware ( 0.3.1d). Estas señales pueden ser enmascaradas actuando sobre el bit S5 .

19 CLK Entrada de señal de reloj ("Clock" 0.3.1)20 GND Masa21 RESET Entrada de la señal de inicio del procesador ( 0.3.1). Esta señal está

normalmente inactiva (baja). Después de mantenerse activa (alta) durante al menos cuatro ciclos de reloj, al volver a su estado inicial bajo, se detiene la instrucción en ejecución y se reinicia el procesador.

Page 239: 6721122 D057 Tecnologia Del PC

22 READY Esta señal ayuda a sincronizar el procesador con sus periféricos. Cuando un dispositivo necesita más tiempo para estar preparado, pone baja la tensión de esta línea, para avisar al procesador. En este caso, se insertan estados de espera Tw ("Wait states") entre los ciclos T2 y T3.

El esquema de funcionamiento es como sigue: Durante el ciclo T1 el procesador siempre pone una dirección de memoria o puerto en el bus, que en este momento actúa como de direcciones (ver patillas 9/16 ); pero cuando entra en el ciclo T2 no avanza la instrucción directamente, sino que mira el estado de esta patilla. Si está alta, sigue en los ciclos T3 y T4, pero si está baja, entra en un estado de espera Tw sin hacer nada, salvo esperar que esta patilla vuelva a nivel alto. El tiempo de espera puede ser indefinido, cualquier número de ciclos CLK de reloj; durante todo este tiempo muestra al mundo su estado de espera elevando la señal de la patilla 23 a nivel alto.

23 TEST Esperar para comprobación ("Wait for test"). Después de cada instrucción el procesador setéa el estado de esta señal. Si es bajo (0) es que la ejecución continua normalmente; si es alto (1), es que permanece detenido en un estado de espera.

24/25 QS1/QS0

Estado de la cola ("Queue Status"). Estas señales permiten que un dispositivo externo pueda tener conocimiento del estado de la cola de instrucciones del procesador. La interpretación es la siguiente:

QS1 QS0 Significado 0 0 Sin operación 0 1 Primer byte del código de instrucción 1 0 Cola vacía 1 1 Siguiente byte del código de instrucción

Page 240: 6721122 D057 Tecnologia Del PC

26/28 S2/S0 Estado ("Status"). El estado 0 (bajo) o 1 (alto) de estas patillas contiene información de lo que está ocurriendo en el procesador. Hay momentos en que el controlador de bus 8288 ( 0.3.1) genera alguna de estas señales cuyo significado es el siguiente:

S2 S1 S0 Significado 0 0 0 recnocimiento de interrupción (1) 0 0 1 Lectura en un puerto E/S 0 1 0 Escritura en un puerto E/S 0 1 1 Detención (Halt ) 1 0 0 Acceso a código 1 0 1 Lectura de memoria 1 1 0 Escritura de memoria 1 1 1 Pasivo

(1) Cuando se recibe una petición de interrupción enmascarable en la patilla INTR , el procesador responde enviando esta señal ("Interrupt Acknowledge" 0.3.1d)

29 LOCK La señal es activada (pasa a valor 0) por las instrucciones que tienen el prefijo LOCK (en ensamblador), y permanece activa hasta que es completada la siguiente instrucción. Durante este tiempo ningún otro dispositivo puede adquirir control del bus.

Page 241: 6721122 D057 Tecnologia Del PC

30/31 RQ/GT Señales de petición/concesión ("Request/Grant") de control del bus por cualquier dispositivo distinto del procesador capaz de asumir su control ("Bus mastering") [3]. El proceso es el siguiente:

a: Un pulso de un ciclo de reloj desde un dispositivo externo señala la petición de control del bus local desde otro "bus master". Esta señal es conocida com HRQ ("Hold Request")b: Un pulso de un ciclo del procesador durante los tics T4 o T1, es la señal al peticionario que el procesador está permitiendo "flotar" al bus [1], y que colocará la señal de reconocimiento de petición de control HLDA (Hold Acknowledge) en el próximo tic de reloj. Durante estos estados de "reconocimiento de control" la interfaz de bus es desconectada lógicamente del bus local.c: Finalmente, un pulso de un ciclo CLK del peticionario, indica al 8088 que el control solicitado va a terminar, de modo que el procesador puede recuperar el control del bus en el próximo ciclo de reloj. Es la señal EOP ("End of Process").

32 RD Lectura ("Read"). Esta patilla indica que el procesador está realizando un ciclo de lectura de memoria o de puerto (según el estado de S2 ).

33 MN/MX La tensión, alta o baja (tierra), de esta patilla pone al procesador en dos estados de comportamiento ligeramente distintos, que se conocen como modo mínimo y máximo. En el PC original el 8088 era usado en modo máximo que significa que el procesador depende del controlador de bus 8288 para generar algunas señales del bus de control ( 0.3.1).

34 SSO Línea de estado. El estado alto o bajo de esta patilla determina cual es el modo de uso del procesador (en el modo máximo del PC su estado es siempre alto).

Page 242: 6721122 D057 Tecnologia Del PC

35/38 A19/A16

S6/S3

Líneas compartidas (multiplexadas) de direcciones/estado.

Durante el ciclo T1 de las operaciones E/S con memoria, las líneas 35-38 contienen los 4 bits más significativos (A19-A16) del bus de direcciones (este bus tiene las líneas A0-A19). En cambio, si la operación es de E/S con un puerto, su valor es siempre 0 (por esta razón las operaciones con puertos del PC XT solo disponen de 16 bits, y solo se pueden utilizar 65.536 direcciones de puerto distintas 0.3.1e).

Cualquiera que sea el tipo de operación (memoria o puerto), durante los ciclos T2, T3, Tw y T4 estas líneas contienen información del estado del procesador y de su propia actividad. Durante estos tics S6 es siempre cero; S5 indica el estado del bit de habilitación de interrupciones; por su parte S3 y S4 contienen información sobre lo que está tratando de hacer el procesador. Esta información es utilizada para controlar y dirigir los dispositivos externos a la UCP, por ejemplo la memoria y los puertos E/S. Su significado es el siguiente:

S4 S3 Significado 0 0 Alternate Data 0 1 Stack 1 0 Code or None 1 1 Data

39 A15 Línea del bus de direcciones ("Addresses")40 Vcc Alimentación. + 5 V. c.c. +/- 10%

Inicio.

[1] La expresión indica que el procesador no fuerza esta señal, permitiendo que su valor (alto o bajo), pueda ser establecido desde otro dispositivo.

[2] Sus patillas forman un cuadrado; esta disposición es un estándar denominado Socket

Page 243: 6721122 D057 Tecnologia Del PC

423.

[3] El "Bus mastering" está relacionado con el mecanismo de Acceso Directo a Memoria DMA ( 2.3)

Inicio

|Índice| Copyright © 2000-2006 Zator Systems. NO software patents

Page 244: 6721122 D057 Tecnologia Del PC

Tecnología del PC[Home] [Inicio] [Índice]

Subir

4.1 El BIOS: Carga inicial

§1 El principio

Hemos indicado que el hardware de un PC sin Sistema Operativo es como un ser humano en coma profundo; incapaz de realizar ninguna actividad útil. Pero entonces surge la pregunta: ¿Como se carga el software después que se ha conectado el suministro de energía, si no existe ningún programa capaz de hacer nada?.

Antes de explicar como resolvieron el problema los diseñadores del PC, permitidme un poco de historia. Igual que en la actualidad, a los ordenadores de hace unas décadas, una vez conectados había que cargarles el software. Como después de conectada, en la máquina no había ningún programa, había que introducirlo manualmente a través de la consola. En esos tiempos los ordenadores tenían una consola o panel frontal lleno de lucecitas e interruptores con los que manualmente se podían realizar determinadas operaciones; básicamente se reducían a poder reiniciar (resetear) los registros, examinar el contenido de cualquier posición de memoria, y colocar en ella cualquier dato o instrucción en binario. De esta forma se cargaba manualmente un pequeñísimo trozo de código, el "bootstrap", que una vez arrancado era capaz de dirigirse a un dispositivo. Por ejemplo, un lector de cinta perforada, en la que se iniciaba la carga de un programa más avanzado; el cargador binario ("Binary loader") que ya era capaz de aceptar algunas órdenes de consola y cargar a su vez cualquier otro software.

En los PCs y compatibles actuales, el proceso de carga de un sistema operativo, DOS,

Page 245: 6721122 D057 Tecnologia Del PC

Windows, Linux o cualquier otro, se compone de una serie de pasos que se inician cuando se conecta o reinicia el ordenador. El desarrollo paso a paso de esta secuencia es el siguiente:

§2 Conexión

Cuando se da tensión a la fuente de alimentación, transcurre un cierto tiempo hasta que desaparecen los transitorios de conexión y se genera una tensión estable y adecuada para alimentar el sistema. Una vez que la alimentación se estabiliza, se genera una señal Power Good en uno de los cables que va de la fuente de alimentación a la placa base ( H2); esta señal es recibida en el juego de chips instalado en la referida placa, y a su vez generan una señal de reinicio (reset) al procesador.

La señal reset consiste en que una patilla del procesador es puesta a masa y después de un cierto tiempo (muy corto) recobra su tensión inicial (esta patilla está conectada a una línea del BUS del PC H2). La finalidad de este proceso es evitar que el procesador arranque prematuramente, cuando las tensiones de alimentación no son todavía correctas, lo que podría producir daños en el hardware. Es el mismo sistema que se utiliza para un reinicio en caliente, cuando pulsa en el botón marcado "Reset" en el frontal de su PC. Este botón pone a masa la línea del bus conectada a la patilla reset de procesador.

Nota: Precisamente debido a este mecanismo, en algunos casos de fuentes de alimentación defectuosas, se originan súbitos e imprevistos reseteos del sistema cuando la tensión baja demasiado y luego se restablece a valores correctos.

§3 Bootstrap

El procesador arranca cuando se retira

Page 246: 6721122 D057 Tecnologia Del PC

la señal de reset, pero no existe en su memoria ninguna instrucción o dato, por lo que no puede hacer absolutamente nada. Para salvar el obstáculo, los fabricantes incluyen en la circuitería de la placa base una especie de instinto. Podríamos establecer un símil diciendo que es análogo al que hace que las tortugas corran hacia el agua cuando salen del huevo en la playa, solo que en este caso el sistema se dirige a una dirección fija de memoria FFFF0h (F000:FFF0 en forma segmentada H5.1). Esta dirección, situada muy cerca del final de la memoria del sistema en los primeros PCs, es el punto de inicio de la BIOS. Se eligió esta dirección para poder variar el tamaño del programa en la ROM BIOS sin crear problemas de compatibilidad (ver nota ), puesto que existen solo 16 bytes desde este punto y el final de la memoria DOS ( H5.1) que está en la posición FFFFFh (F000:FFFFh). En realidad este punto de inicio contiene una instrucción de salto (jump) que indica al procesador donde tiene que dirigirse para encontrar el punto donde comienza realmente el programa de carga (bootstrap) de la BIOS.

La figura 1 muestra un esquema de la distribución de memoria (la escala vertical no guarda proporción)

Page 247: 6721122 D057 Tecnologia Del PC

Nota histórica: En los primeros diseños del PC, la ROM BIOS ocupaba solo 40 KB. En esa época, el rango de direcciones de memoria que podía manejarse era 00000-FFFFFh; un máximo de 1.048.576 Bytes (1 MB) [1]. Es usual suponer que este Megabyte está compuesto por 16 segmentos de 64 KB. Sin embargo, los ingenieros de IBM estimaron que debían reservar determinadas zonas para usos específicos del Sistema, para lo que reservaron 6 segmentos, de modo que para memoria de usuario (aplicaciones) quedaron solo 10, los famosos 640 KB del DOS (en realidad 655.360 Bytes), que en la época parecían más que suficientes para los programas y el propio Sistema Operativo. Tenga en cuenta que el IBM-PC original carecía de disco duro; un disquete de 5 1/4" de 160 KB (que podía contener un máximo de 64 ficheros!!), era opcional.

Los 10 segmentos correspondientes a memoria de usuario se establecieron en la zona baja (los primeros 1280 Bytes estaban ya asignados a la tabla de vectores de interrupción y otros datos del sistema ( 4.3). A continuación estaban los 6 bloques reservados; la BIOS empieza en las dirección F0000h de este espacio reservado, con lo que hasta el punto de inicio (FFFF0h) anteriormente descrito, quedaban 65.520 Bytes; espacio más que suficiente para que se alojara una BIOS de solo 40 KB, y sin peligro de que su crecimiento llegara a invadir la posición del punto de inicio.

Inicio.

[1] El límite superior de la memoria que podía manejarse estaba dictada por el procesador utilizado. Los 16 bits de los registros del 8088 permitían acceder directamente a 216 == 65.536 posiciones (en el rango 0000-FFFFh), pero utilizando una técnica de direccionamiento segmentado, se podían acceder a 16 "segmentos" de 65.536 Bytes cada uno, con lo que el total de memoria disponible se alargó entre 0h y FFFFFh (trataremos esto con más detalle en el capítulo dedicado a la RAM H5.1).

Page 248: 6721122 D057 Tecnologia Del PC

Tecnología del PC[Home] [Inicio] [Índice]

Subir

4.2 El BIOS: Chequeo y diagnóstico

§1 Inventario de recursos y comprobación del hardware

Una vez iniciado el programa contenido en la BIOS, su primera tarea consiste en un proceso de comprobación del hardware, denominado POST (Power-On Self Test). El desarrollo exacto depende del fabricante, pero la secuencia de comprobaciones puede resumirse como sigue:

● Chequeo de registros del procesador

● Setear el temporizador 8253/8254 ( H2) para refresco de RAM.

● Setear el acceso directo a memoria, DMA, para refresco de la RAM en el canal 0.

● Verificar que el refresco es operativo (los primeros PC's usaban RAM dinámica).

● Verificar la memoria RAM baja (0/16-64 KB).

● Cargar los vectores de interrupción y asignarles espacio en la zona de memoria baja ( 4.3).

● Inicializar los dispositivos de video y teclado.

● Determinar el tamaño de la RAM adicional y comprobar su funcionamiento (el recuento que se ve en pantalla). Si llegado a este punto existiera algún error en la memoria se mostraría un mensaje de error (el dispositivo de video ya está operativo).

Page 249: 6721122 D057 Tecnologia Del PC

● Inicializar los puertos COM (comunicaciones serie), LPT (comunicaciones paralelo) y de juegos

● Inicializar, en su caso, el sistema de disquete.

● Inicializar el sistema de disco.

● Explorar el área de usuario de la ROM.

● Llamar el interruptor de bootstrap.

En caso de existir errores graves, la secuencia se detiene emitiendo una serie de pitidos (eventualmente algún mensaje en pantalla) que codifican el tipo de error encontrado. Se adoptó el sistema de aviso mediante pitidos ("Beeps") cortos y largos, porque en estos tempranos momentos, inicio del sistema, no existe ningún dispositivo de salida utilizable. Por ejemplo, pantalla. La cantidad y calidad de los test de diagnóstico varía según el fabricante y versión del BIOS, sin que exista un estándar claro al respecto. A título de ejemplo, los "Beep-codes" del BIOS IBM son los siguientes (c=corto, l=largo):

1c Inicio del test [7]2c Error de inicialización1l - 1c Error de placa-base1l - 2c Error del adaptador de video1l - 3c Error del adaptador EGA/VGA 3l Error de la interfaz de teclado999c Error de fuente de alimentación

La comprobación del dispositivo de video incluye cargar y ejecuta la parte de BIOS incluida en el adaptador de video. En esta fase, la mayoría de las adaptadoras modernas muestran en pantalla información sobre sí mismas. Es por esta razón por la que, a veces, lo primero que se ve en pantalla es información sobre la propia controladora de video antes que ningún mensaje de la BIOS del sistema.

Nota: Si se trata de un reinicio en caliente ("Hot boot"), que puede conseguirse con la

Page 250: 6721122 D057 Tecnologia Del PC

combinación [Ctrl]+[Alt]+[Sup], la fase de comprobación POST se omite, y el proceso de carga sigue desde el siguiente punto.

§2 Carga de BIOSes específicas

Como veremos en el apartado correspondiente ( 4.4), una de las funciones de la BIOS consiste en proporcionar soporte para los dispositivos de E/S conectados, entre los que se encontraban la controladora de video, el teclado, el disquete, los puertos de comunicaciones serie y paralelo. Etc. Por supuesto, las BIOS primitivas incluían soporte para los dispositivos que podían conectarse en aquellos sistemas. Sin embargo, los diseñadores de IBM previeron que pudieran instalarse nuevos dispositivos que requiriesen rutinas específicas de E/S, por lo que dispusieron un mecanismo por el que, durante el reconocimiento inicial del sistema, la BIOS principal (instalada en la placa-base) pudiese identificar la existencia de otras BIOSes específicas en los dispositivos [8]. El sistema permite que, en caso de encontrarlas, puede cederles el control para que realicen sus propia tarea de diagnóstico, y a continuación carguen sus propios módulos de servicio junto con los de la BIOS principal.

Nota: Además de cargar sus propias extensiones, el proceso incluye añadir y/o modificar los punteros cargados en la tabla de vectores de interrupción ( H2.4) para que señalen a las nuevas rutinas.

Page 251: 6721122 D057 Tecnologia Del PC

En realidad, el sistema, conocido como extensiones de la BIOS, permite que existan dos clases de extensiones: unas, denominadas fijas, corresponderían a dispositivos especiales de E/S instalados en el sistema. Otras, denominadas removibles, permitirían la instalación de cartuchos de software específico (algo que estuvo muy de moda en la época pre-PC). Por ejemplo, se podía cargar un cartucho que contenía un intérprete de BASIC. Se previno incluso la posibilidad de que un cartucho sustituyera completamente la BIOS principal tomando control completo sobre el sistema.

Así como la BIOS principal dispone de su propia zona de memoria, el segmento F de 64 KB, situado en la parte superior de la memoria ( 4.1), las extensiones disponen también de una zona de memoria estándar donde cargarse; son los segmentos C, D y E (ver figura 1). Cualquier dispositivo que necesite de espacio para sus propios servicios se sitúa en algún

Page 252: 6721122 D057 Tecnologia Del PC

punto de esta zona procurando no entrar en conflicto con algún otro. En concreto, los 128 KB de los segmentos D y E se reservaron para las extensiones removibles (cartuchos de software).

Entre los dispositivos que disponen de sus propias extensiones BIOS se encuentran los controladores de disco duro IDE/ATA, cuyas BIOS se encuentran en la zona C8000-CBFFFh; los adaptadores gráficos EGA y sucesores, que utilizan un bloque de 32 KB en la zona C0000-C7FFFh. Otros elementos que suelen contar con sus propias BIOSes son las tarjetas de red y las controladoras SCSI [1]. Estos módulos, y cualquier otro que sea encontrado, es cargado y ejecutado.

Para identificar si algún dispositivo conectado dispone de su propia BIOS, el POST realiza una exploración de la memoria utilizando dos convenciones:

1. Si existe alguna memoria en los segmentos C, D y F.

2. En caso afirmativo, si en las direcciones múltiplos de 2 KB. de dichos segmentos se encuentra la marca 55h y AAh (01010101 - 10101010) en los dos primeros octetos [3].

En caso afirmativo el POST cede el control al módulo encontrado, que se ejecuta, carga los vectores de interrupción correspondientes a sus propias rutinas y finalmente devuelve el control al BIOS principal que sigue su verificación.

Generalmente la primera información en pantalla de la BIOS del sistema (después de los mensajes de la BIOS de la controladora de video), es una pantalla inicial con los créditos del fabricante; número de versión y fecha. A continuación muestra un resumen de la configuración del sistema.

§3 Recapitulación

Como hemos visto, el BIOS realiza una especie de inventario del sistema y algunas pruebas para verificar que su funcionamiento es correcto. En los PCs originales la especificación del hardware disponible se efectuaba mediante interruptores ("Jumpers") situados en la placa-

Page 253: 6721122 D057 Tecnologia Del PC

base. A partir de los ATs se dispone de una memoria permanente, accesible para el usuario (ROM del Sistema H2), donde está inventariado el hardware básico y su tipo [6]. La tendencia actual es el estándar PnP ( 4); si la BIOS lo soporta, es capaz por sí misma de detectar y configurar los dispositivos conectados, asignándoles los recursos necesarios y mostrando un mensaje en pantalla por cada uno instalado.

Las BIOS modernas, basándose en el tipo de memoria detectada, pueden establecer automáticamente su velocidad. Algunas pueden detectar automáticamente los parámetros del tipo de disco duro y su forma de acceso. También permitir la carga del sistema desde dispositivos distintos que los tradicionales disquete (unidad A:) o disco duro (unidad C:). Por ejemplo, desde CD, dispositivo USB o incluso de la red local.

Una vez finalizado el inventario de recursos, comprobación del hardware, y mostrado el resumen de la configuración, se continúa con la carga del Sistema Operativo. Aspecto éste que se detalla en el capítulo siguiente ( 4.3).

§4 Códigos POST

Además de los pitidos señalados en el párrafo anterior, en cada paso de verificación, el POST genera una serie de mensajes, denominados POST-codes, en forma de números colocados generalmente en un puerto E/S determinado ( 2.1). Suele ser el 80h, pero no hay acuerdo al respecto y depende del fabricante [4]. Para verlos es necesario disponer de un instrumento adecuado ("POST reader") en forma de una placa que se pincha en un zócalo libre del bus. Tienen un par de LEDs de 7 segmentos, que indican el código hexadecimal del test que se inicia. Además disponen de LEDs auxiliares que señalan si es correcto el estado de tensión en las líneas del bus de alimentación ( 2). En la figura

Page 254: 6721122 D057 Tecnologia Del PC

adjunta se muestra uno de estos dispositivos [5]. Para interpretar los códigos es necesario disponer de la referencia del fabricante para el modelo de BIOS que estemos comprobando. El proceso de diagnóstico del POST se detiene en el momento de error, por lo que en el display aparece el número del test erróneo.

§5 Códigos de Diagnóstico

Pasadas las etapas iniciales, en las que quizás no existe ningún dispositivo disponible para mostrar mensajes de error, cuando se ha cargado y ejecutado la BIOS incluida en el adaptador de video, el POST está en condiciones de mostrar los posibles errores de diagnóstico mediante mensajes en la pantalla. Estos mensajes son numéricos decimales conocidos como códigos de diagnóstico, que se componen de dos partes; el código de test ("Test code") y el código de error ("Fault code"). El primero es un número indicativo del test en ejecución; el segundo es un número de dos dígitos que indica el tipo de error detectado por el test en cuestión. El código 00 indica ausencia de error (el test correspondiente pasó Ok). Por ejemplo, un código de diagnóstico 342 en un equipo IBM, indica error en el cable (código de error 42) durante la comprobación del teclado (código de test 03).

Cualquier código de error distinto de cero tiene que ser interpretado en función de la tabla de códigos de diagnóstico del fabricante de la placa o de la BIOS. En estos casos, el proceso de inicio del sistema puede detenerse o continuar, dependiendo del tipo de error y de su localización.

A título de ejemplo se incluyen los códigos de test de IBM junto con el número de códigos de error posibles en cada uno de ellos. Observe que muchos de ellos se refieren a dispositivos periféricos u opcionales, que con frecuencia disponen de sus propias BIOSes.

Page 255: 6721122 D057 Tecnologia Del PC

01xx Placa-base ("System board"). 57.02xx Memoria ("System memory"). 19.03xx Teclado. 12.04xx Adaptador de pantalla monocromo. 505xx Adaptador gráfico color. 1006xx Unida de disquete y adaptador. 4707xx Coprocesador matemático. 13.09xx Adaptador de puerto paralelo primario. 13.10xx Adaptador de puerto paralelo secundario. 13.11xx Dispositivo de comunicaciones (COM1). 54.12xx Dispositivo de comunicaciones (COM2). 54.13xx Puerto de juegos. 2.14xx Impresora matricial. 7.15xx Adaptador SDLD 36.16xx Adaptador DSEA. 43.17xx Adaptador de disco duro. 43.18xx Unidad de expansión de E/S. 13.20xx Adaptador de comunicaciones BSC. 43.21xx Adaptador BSC secundario. 43.22xx Adaptador cluster. 1.23xx Adaptador de monitor de plasma. 1.

46xx Adaptador multiport ARTIC. 748xx Modem interno primario. 149xx Modem interno secundario. 150xx PC convertible LCD. 1251xx PC convertible impresora portatil. 556xx Sistema de comunicaciones financieras. 170xx Códigos de error de la BIOS Phoenix. 371xx VCA (Voice Communication Adapter). 1173xx Unidad de disquete. 1674xx Adaptador de pantalla 8514/A. 276xx Adaptador de impresora de páginas. 484xx Speech adapter. 185xx Adaptador de memoria XMA. 186xx Ratón PS/2. 789xx Interfaz MIDI. 191xx Disco óptico WORM. 196xx Adaptador SCSI (caché W/32). 1100xx Adaptador multiprotocolo. 53101xx Modem interno 300/1200 bps. 27104xx Adaptador para dispositivos ESDI o MAC IDE. 35107xx Adaptador de unidad de disco externo. 1112xx Adaptador SCSI (cache WO 16 bit). 1

Page 256: 6721122 D057 Tecnologia Del PC

24xx Adaptador gráfico EGA. 1225xx Adaptador gráfico EGA secundario 1226xx Adaptador PC/370-M. 9527xx Adaptador emulador PC3277. 328xx Adaptador emulador 3278/3279. 129xx Impresora gráfica color. 130xx Adaptador de red primario. 1631xx Adaptador de red secundario. 1632xx Pantalla 3270 PC/AT [2]. 133xx Impresora (Compact printer). 135xx Unidades Enhanced DESA. 636xx GPIB IEEE 488. 5837xx Controlador SCSI. 138xx Adaptador para adquisición de datos. 3639xx Adaptador gráfico PGA. 9244xx Pantalla 5279 y adaptador. 145xx Adaptador GPIB IEEE 488. 1

113xx Adaptador SCSI. 1129xx Procesador (UCP). 17149xx Adaptador de pantalla de plasma P70, P75. 4152xx Adaptador de pantalla XGA. 1.164xx Cinta magnética interna 120 MB. 1165xx Unidad de cinta 6157. 2.166xx Adaptador de red Token-Ring primario. 1167xx Adaptador de red Token-Ring secundario. 1180xx Adaptador Wizard PS/2. 15.185xx Adaptador para pantalla japonesa DBCS. 1194xx Módulo de expansión de memoria. 1200xx Adaptador de imagen. 1208xx Dispositivos SCSI desconocidos. 1209xx Disco removible SCSI. 1210xx Disco SCSI fijo. 1

Inicio.

[1] SCSI ("Small Computer System Interface"). Un tipo de controladora que se inserta en una ranura de la placa base de la que sale un bus (cable plano), en el que se pueden conectar hasta 8 dispositivos (siempre que la longitud no supere 3 m). La controladora envía órdenes a los dispositivos conectados al bus y recibe los datos. Por su parte, los dispositivos SCSI que pueden conectarse en el bus, discos u otros, periféricos (escaners, Etc.), integran en ellos mismos la electrónica necesaria que los independiza de la controladora y la abstrae de las características del dispositivo.

Page 257: 6721122 D057 Tecnologia Del PC

Existen variantes: SCSI, SCSI-1, SCSI-2, SCSI-3, Fast-SCSI, Wide-SCSI, Ultra-2 SCSI, Fiber Channel SCSI ... Este interfaz es el que se considera mas profesional y de mayor rendimiento, por lo que se utiliza en equipos de altas prestaciones, puede alcanzar velocidades de 100 MB/s. Actualmente (2005) empieza a perder protagonismo en favor de la interfaz Serial ATA (más detalles en 6.3).

[2] El 3270 fue un modelo de PC AT de IBM bastante exótico.

[3] A continuación de la "marca de incio" constituida por los caracteres 55h y AAh, existe un tercer byte que indica la longitud ocupada por la ROM del dispositivo utilizando unidades de 512 bytes. Por ejemplo, 10h (16) representa 16 x 512 = 8192 bytes; una ROM de 8 KB. A continuación existen otros tres bytes que sirven de inicio de la nueva BIOS. Juegan el mismo papel que la dirección FFFF0h de inicio de la BIOS principal, contienen una instrucción de salto (JMP) al punto de inicio de la secuencia de carga.

[4] Algunas BIOSes muy antiguas no emiten POST-codes, pero algunas placas-base y BIOSes permiten incluso setear unos puentes o parámetros de configuración para definir este puerto.

[5] El "DIP-switch" de 4 bits en la esquina superior izquierda sirve para ajustar el tipo de placa. AT; XT; ISA; EISA; PS2-ISA; Compaq; PCI; Etc.

[6] La propia BIOS dispone de un programa para mantener este "Inventario" denominado "Setup". Generalmente puede accederse a él pulsando las teclas [Del] o [Esc] en los momentos iniciales de arranque.

[7] Durante mucho tiempo fue muy común que la primera sensación de que el ordenador estaba "vivo", era un pitido corto.

[8] Si algún dispositivo dispone de su propia BIOS, esta aparece como una memoria ROM instalada en su interior. Generalmente montada en la tarjeta que se pincha en alguno de los zócalos libres de la placa-base.

Page 258: 6721122 D057 Tecnologia Del PC

Tecnología del PC[Home] [Inicio] [Índice]

Subir

4.3 Inicialización y Carga del Sistema Operativo

§1 Inicialización

Parte de la tarea del POST ( 4.2) se refiere a la preparación del hardware disponible (periféricos). Muchos de estos elementos precisan de la inicialización de registros, carga de parámetros y determinadas señales para ponerlos en orden de funcionamiento. No olvidar que algunos de ellos, son controladores programables, y parte del trabajo de la BIOS consiste precisamente en esta programación.

§2 Tabla de vectores de interrupción

Entre otras funciones, la inicialización incluye cargar en la memoria RAM ciertas tablas y programas muy básicos, imprescindibles para el manejo de muy bajo nivel del hardware. Por ejemplo, la carga en memoria baja de los vectores de interrupción, de forma que cuando ocurra una interrupción se sepa donde encontrar la rutina adecuada.

Nota: En los PCs estándar se pueden manejar un total de 256 interrupciones distintas, y cada una requiere un programa de control especial. Este programa se sitúa en memoria RAM o en la ROM-BIOS, pero en cualquier caso, en los primeros 1024 octetos (1 KB) de la memoria RAM (direcciones 000-400h) se carga una tabla de 256 punteros de 4 bytes, denominada de vectores de interrupción. Cada puntero de la tabla

Page 259: 6721122 D057 Tecnologia Del PC

señala la dirección de memoria donde comienza el programa de control correspondiente a la interrupción de igual número ( H2.4).

§3 Memoria de la BIOS

Puesto que los programas contenidos en la BIOS requieren cierta área de trabajo donde almacenar variables y datos, se asignaron para este propósito 256 Bytes en la zona de memoria situada inmediatamente por encima de la tabla de vectores de interrupción; en las direcciones 400-4FFh (estas direcciones son frecuentemente señaladas como 0040:0000 - 0040:00FF).

Esta área de memoria es conocida como memoria de datos de la ROM-BIOS, y en ella se maneja información muy diversa. Por ejemplo, las últimas pulsaciones de teclas; capacidad de memoria encontrada; los ciclos de reloj pasados desde media noche (hora del sistema); el número de líneas y columnas que caben en la pantalla, o la lista de los dispositivos que han sido detectados en el sistema durante la fase de inventario del hardware ( 4.2). Entre las funciones de inicialización encomendadas a la secuencia POST se encuentra la inicialización de los datos en este área.

§4 Carga del Sistema

Una vez terminadas las verificaciones previas, la BIOS inicia un recorrido en busca un dispositivo donde encontrar un programa que pueda continuar el proceso con la carga del Sistema Operativo. Este recorrido se denomina secuencia de carga ("Boot sequence") y su orden puede ser establecido mediante un programa auxiliar ( set-up de la BIOS) que es accesible mediante la pulsación de ciertas teclas durante los instantes iniciales de carga. Una vez fijada, la secuencia de carga es almacenada en la memoria de datos de la BIOS , de forma que puede ser recordada y utilizada la próxima vez que se reinicia el sistema.

En los sistemas primitivos, la secuencia de carga era fija, empezando en el disquete (A:) y siguiendo en la primera unidad de disco (C:). Esta sigue siendo aún la secuencia normal, pero las BIOS actuales pueden alterar este orden e incluso dispositivos alternativos como CD-

Page 260: 6721122 D057 Tecnologia Del PC

ROM o LAN, como puntos de inicio para la carga del Sistema. En estos apuntes denominamos unidad o disco maestro a aquel que puede ser accedido por la BIOS durante su secuencia de carga. El set-up de la BIOS establece el orden en que serán consultados los dispositivos disponibles.

Nota: El hecho de que una unidad pueda ser maestra depende exclusivamente de la BIOS. Por ejemplo, supongamos un portátil en el que instalamos sendas unidades de disco exteriores; la primera mediante conexión USB y la segunda mediante una tarjeta PC-CARD que incluye un controlador SATA. Por lo general, en el estado actual de la técnica (2005), las BIOSes solo están preparadas para arrancar desde unidades internas, que pueden ser disco, disquete, CD/DVD o mediante LAN (tarjeta de red). En tal caso, aunque la unidad USB o la SATA tuviesen una partición primaria activa, no podrían ser utilizadas para la carga inicial del sistema, ya que la BIOS no puede "verlas". Sin embargo, una vez cargado el SO y los controladores pertinentes, ambas unidades podrían ser utilizadas sin problema.

La descripción detallada del proceso de carga del Sistema requiere conocer la estructura lógica de las unidades de disco y disquete, para lo que remitimos al lector al capítulo correspondientes ( 8.1.2). Aquí supondremos que el lector está familiarizado con la terminología introducida en dichos epígrafes y su significado.

Empezando por el final, en realidad, lo que se necesita para cargar el Sistema Operativo es un ejecutable como WININIT.EXE (Windows); NTLDR.EXE (Windows NT/2000); /boot/vmlinuz (Linux) etc. Tales ficheros solo pueden estar en un volumen o partición lógica, y la información básica sobre los mismos está contenida en su primer sector, conocido como VBS ("Volume boot sector" 8.1.2c2). Una vez localizado y cargado, se tiene conocimiento de su estructura y es fácil localizar el fichero adecuado. Pero antes hay que averiguar cómo está organizada la unidad para saber cuantos son los volúmenes y por cual empezar. Como se ha visto en el capítulo correspondiente, la estructura lógica de las unidades está organizada de forma que el principio del ovillo se encuentra en el primer sector de la unidad. En consecuencia, la BIOS recorre los dispositivos definidos en la secuencia de carga mirando el primer sector. En caso que no apareciera un sector adecuado en ninguna de las unidades

Page 261: 6721122 D057 Tecnologia Del PC

[2], aparece un mensaje: No boot device available, o NO ROM BASIC - System Halted .

Nota: En el proceso que sigue suponemos que la carga se realiza desde el disco duro (lo más frecuente). La carga desde el disquete es análoga aunque más simple. Dado que los disquetes no pueden tener particiones, no tienen un MBR ("Master Boot Record"). Esto significa que no son necesarios los pasos previos en busca de un posible VBS. Así que de existir alguno, es precisamente el primer sector del disquete.

En el caso de los discos duros, el primer sector se denomina sector de arranque o registro maestro de carga MBR ("Master boot record" 8.1.2c). Que además de un trozo de código MBC ("Master Boot Code"), contiene una tabla MPT ("Master Partition Table") que describe las particiones definidas en la unidad. En caso de que alguna unidad de la secuencia de carga contenga un MBR, se carga en memoria y se trasmite el control a su MBC.

El MBC examina la Master Partition table buscando dos cosas: En primer lugar determinar si existe una partición DOS extendida xDp ( 8.1.2c1) que pueda contener volúmenes lógicos en su interior, ya que la totalidad de la estructura a manejar debe ser inventariada y reconocida [1]. En segundo lugar, determinar si existe una partición cargable (activa).

Si el MBC encuentra una partición extendida, carga su primer sector EBR ("Extended Boot Record"), que describe el primer volumen lógico de la partición y lo examina para ver si enlaza con algún otro; en este último caso, el nuevo EBR contiene información sobre el segundo volumen lógico, de forma que también es cargado y examinado. El proceso continúa hasta que todos los volúmenes lógicos de la partición han sido reconocidos por el sistema.

Después de reconocida la partición extendida (en su caso), el MBC intenta cargar la partición primaria señalada como activa. En caso de no haber ninguna, el proceso termina con un error; el mensaje suele ser el mismo que cuando la BIOS no encuentra un dispositivo cargable: No boot device available , o el conocido NO ROM BASIC - System

Page 262: 6721122 D057 Tecnologia Del PC

Halted . Si por el contrario existe una partición activa, el MBC se dirige a su primer sector lógico VBS ("Volume Boot Sector") y lo carga. En lo que sigue suponemos que se trata de una partición primaria DOS, que es el caso más frecuente [3].

Nota: Es significativo que, en las máquinas ix86, el proceso seguido hasta este punto es conducido por código de 16 bits sin soporte de ningún Sistema Operativo. El código del VBS es precisamente el primer código dependiente que aparece. Depende del SO utilizado en el formateo de alto nivel del volumen. En cambio el código y estructura del MBR (instalado por fdisk 8.1.2c3), es estándar y universal.

El VBS es cargado en memoria y verificado. Pasándose entonces el control de la ejecución a un trozo de código VBC ("Volume Boot Code") contenido en él. El VBC examina la estructura del volumen que se está cargando para asegurar que todo está correcto, en caso contrario el proceso se detiene en este punto con un error. Si todo está bien, el VBC busca en el directorio raíz del volumen en busca de los ficheros del sistema operativo, que en el caso del MS-DOS son IO.SYS,MSDOS.SYS y COMMAND.COM.

Si no se encuentran dichos ficheros, el programa mostrará un mensaje; generalmente el consabido: Non-system disk or disk error - Replace and press any key when ready . Alguna gente cree que este mensaje significa que el sistema no ha sido cargado; que la BIOS examina el disquete y que lo rehúsa porque no puede cargarlo, cuando en realidad como se ha visto, el VBC ha sido efectivamente cargado y ejecutado, siendo él realmente el que ha generado el mensaje cuando no ha podido encontrar los ficheros del sistema operativo.

Si los ficheros del SO son correctos, el programa de carga los trae a memoria y les transfiere el control; estos ficheros contienen a su vez programas que se encargan de cargar e iniciar el resto del SO. En el caso del MS-DOS esto significa cargar el intérprete de comandos COMMAND.COM y a continuación leer e interpretar el contenido de los ficheros CONFIG.SYS y AUTOEXEC.BAT. En este momento es el propio SO el que controla el sistema; si se trata de Windows el proceso de carga inicia muchas más rutinas.

En realidad, los detalles de la carga del sistema requerirían todo un libro. Pero podemos

Page 263: 6721122 D057 Tecnologia Del PC

resumir que una vez encontrado el cargador del Sistema Operativo, este toma el control del proceso que había sido iniciado por la BIOS y continuado por los "bootstrap". Generalmente el Sistema realiza un nuevo inventario de memoria y de los dispositivos disponibles, y procede a cargar los controladores de dispositivos adecuados para su manejo. Por ejemplo, impresoras, ratón y teclado. En los sistemas personales, la última operación consiste en invocar la shell (generalmente una interfaz gráfica) que permite al usuario controlar el Sistema y de los programas de aplicación. En otros casos. Por ejemplo, servidores Web, de Ficheros, de Correo, etc, es posible que la consola, ratón y teclado no estén conectados inicialmente. En su lugar se inician una serie de procesos (demonios) que proporcionan determinados servicios de forma automatizada y sin intervención de ningún operador.

Inicio.

[1] Nos referimos a la estructura lógica (interna) de las unidades físicas (discos). El recuento de estos últimos fue realizado previamente por la BIOS durante el inventario de recursos ( 4.2).

[2] La identificación del MBR y del VBS se realiza buscando dos caracteres específicos 55h AAh ("Boot record signature") en los 2 últimos bytes del sector.

[3] Casi todos los SOs dependen de la existencia de una partición activa para su carga:

● DOS, Windows 3.x, y Windows 95/98 solo pueden cargar desde una partición primaria activa del primer disco.

● Windows NT; Windows 2000 y Linux pueden cargar desde un volumen lógico, pero el programa de carga debe estar en una partición primaria activa.

● OS/2 puede ser cargado desde un volumen lógico, pero la partición extendida que lo contiene debe estar situada en los primeros 2 GB de la unidad.

Inicio

Page 264: 6721122 D057 Tecnologia Del PC

Tecnología del PC[Home] [Inicio] [Índice]

Subir

4.4 El BIOS: Soporte de dispositivos

§1 El sistema básico de entradas salidas

Aparte de los procesos de verificación y carga descritos en páginas anteriores, la característica fundamental del BIOS, que además justifica su nombre de "Sistema Básico de Entrada Salida", es que en este firmware se encuentran las instrucciones necesarias para acceder a determinados servicios básicos del hardware (dispositivos de Entrada/Salida), entre los que se encuentran el teclado, la pantalla, los puertos serie y los controladores de disco. Estos trozos de código son accedidos a través de las direcciones contenidas en la tabla de vectores de interrupción ( H2.4). De forma que cualquier software que se cargue en el ordenador, puede saber en que dirección buscar para encontrar los servicios correspondientes.

En realidad, esta es la parte más original y trascendente del diseño del PC; lo que ha posibilitado la existencia de "Clónicos", y hace que un conjunto de piezas hardware sean un PC. Es también lo que hace que cualquier programa para tecnología Intel-PC corra en un PC, con independencia de como sean realmente las interioridades de su hardware. Desde este punto de vista, la BIOS representa un elemento unificador común a todos los PCs; todas estas máquinas presentan al exterior una misma interfaz (determinada por el BIOS). La filosofía de diseño que utilizaron los diseñadores de IBM fue, en palabras de Peter Norton [1]: "Deje que el BIOS lo haga, no se enrede con el control directo".

Page 265: 6721122 D057 Tecnologia Del PC

Cuando un programa necesita determinados recursos del hardware (lo que en último término viene a ser una entrada/salida), la BIOS representa una forma unificada de hacerlo; se pide a la BIOS el “servicio” de una forma estandarizada, de ahí el nombre: Sistema básico de Entradas/Salidas. En este sentido, el sistema de Entradas/Salidas del PC es un dispositivo virtual; se le interroga de una forma estándar y él se encarga de los detalles sucios del hardware. Observe que cuando se extiende este concepto, incluyendo no solo el sistema básico de E/S sino al procesador, se llega de forma natural a la máquina virtual de Java.

Aunque existen diversas versiones y fabricantes (la propia historia de la BIOS es muy interesante), su comportamiento externo está estandarizado. La BIOS es en realidad una caja negra, no importa como lo hace internamente. Lo importante es que al preguntarle de una forma estandarizada, produce el resultado deseado (aquí se llaman "Servicios"). Se han introducido pocos o ningún cambio básico desde su aparición con el primer PC, ya que en realidad, todas las mejoras del software se han aplicado a un nivel superior a esta capa básica, lo que ha hecho posible, entre otras cosas, cambiar de Sistema Operativo DOS, Windows o Linux (por ejemplo) sin necesidad de cambiar las BIOSes.

En la página adjunta se incluye una somera descripción de estos "Servicios" ( H2.4.1).

§2 Porqué este sistema

La división de las tareas básicas del ordenador en dos partes: una que corresponde al Sistema Operativo, y otra que corresponde a la BIOS, es atribuida a Gary Kildall, personaje al que ya hemos hecho referencia ( 1). Cuando deseaba facilitar la implementación de sus Sistema Operativo CP/M en las distintas máquinas que comenzaban a aparecer entre los aficionados a la electrónica digital, pensó que dividirlo en dos partes ayudaría a sus propósitos. La parte específica de cada máquina, que trataba de los detalles de E/S, sería encomendada a un módulo denominado precisamente por esto BIOS. Mientras que el resto del Sistema sería relativamente independiente. De esta forma, la adaptación del Sistema a una nueva máquina solo requería reescribir los módulos correspondientes del BIOS. Evidentemente el sistema fue todo un éxito y ha pervivido hasta nuestros días.

Page 266: 6721122 D057 Tecnologia Del PC

§3 Evolución

Aunque el principio de funcionamiento es el que hemos relatado a lo largo de estas páginas, el aumento de complejidad de los periféricos, junto con la insaciable demanda de velocidad, ha motivado que empiece a invertirse la tendencia. Cada vez más, el Sistema Operativo rehace los punteros situados por el BIOS en la tabla de vectores de interrupción IDT ( 2.4) para que señalen a sus propias rutinas. Por ejemplo, las controladoras gráficas actuales (2005) utilizan modos de operación impensables en las primitivas adaptadoras gráficas de color CGA, y los servicios de control utilizan rutinas específicas, de 32 o 64 bits, que explotan las nuevas posibilidades de los dispositivos. En este sentido, los servicios BIOS nativos solo son utilizados cuando se necesita compatibilidad hacia atrás. Por ejemplo, si arrancamos un equipo Pentium con un disquete DOS por razones de mantenimiento o diagnóstico. En este caso, algunas de las características más avanzadas del sistema, como la controladora gráfica serán utilizadas en forma muy rudimentaria, mientras que otras, como los puertos USB, infrarrojos, firewire, etc. no serán accesibles. La razón es que tales "Servicios" sencillamente no existen en la BIOS tradicional.

§3.1 EFI

En 1998, Intel lideró una iniciativa conocida bajo las siglas IBI ("Intel Boot Initiative"), destinada a mejorar las capacidades y limitaciones de la BIOS tradicional. Posteriormente, en 2002, lanzó una extensión de las ideas anteriores denominada EFI ("Extensible Firmware Interface") y destinada las máquinas de arquitectura IA-32 e IA-64 [2] . Se trata de un nuevo estándar de BIOS que, al igual que la original, tiene la doble misión de iniciar la carga del sistema y servir de interfaz de bajo nivel con los dispositivos hardware y su firmware. La figura adjunta (original de Intel) muestra esta doble funcionalidad.

Como en el esquema tradicional, la BIOS contiene información relativa al hardware específico. Pero además de los servicios tradicionales de run-time, proporciona un conjunto estandarizado de servicios muy avanzado al sistema de carga. La

Page 267: 6721122 D057 Tecnologia Del PC

idea es ofrecer a las utilidades de precarga (antes que se haya cargado el Sistema Operativo), mucha más operatividad que la ofrecida en las BIOSes tradicionales.

Nota: recordemos que, aparte del inventariado de recursos y comprobación del hardware ( 4.2), la funcionalidad ofrecida por las BIOSes tradicionales en los momentos iniciales, se reduce a localizar el sector maestro de carga MBR de determinadas unidades ( 4.3).

En realidad la iniciativa EFI convierte a las antiguas BIOSes en un Sistema Operativo por derecho propio, pequeño aunque bastante completo, que incluye capacidades básicas de trabajo en red ("Networking"); manejo de pantallas gráficas; teclado y capacidad de gestionar su propio sistema de almacenamiento (disco memorias flash, etc). Además de permitirle gestionar los discos y sus particiones, puede incluso disponer de su propio espacio, que puede aparecer como una partición específica en el disco.

El resultado es una plataforma que permite ejecutar aplicaciones de 32 bits en modo real (que son comunes para las arquitecturas IA-32 e IA-64). Para tal fin existe un entorno de desarrollo ("Application framework") que permite compilar aplicaciones C tradicionales para EFI. Los resultados de las nuevas posibilidades son evidentes en todos los órdenes. Por ejemplo, están disponibles desde el principio dispositivos USB o PC-CARD (PCMCIA) entre otros, que antes solo eran accesibles tras la carga del Sistema. Es posible la gestión remota del sistema, lo que permite instalar servidores en rack sin que necesiten la correspondiente consola, o las complicaciones de los concentradores actuales (compartir un monitor, ratón y teclado entre distintos equipos). Son posibles rutinas de verificación y diagnóstico muy avanzadas. etc.

Sitio oficial de EFI www.intel.com/technology/efi/

Inicio.

[1] Peter Norton "The Peter Norton Programer's guide to the IBM PC" Microsoft Press 1.985.

Page 268: 6721122 D057 Tecnologia Del PC

[2] La arquitectura Intel IA-32 está constituida por máquinas "Little Endian" ( E2.2.6a) de 32 bits. Incluye procesadores Pentium de las familias P6; Pentium 4; Pentium M; Xeon; Pentium D y Pentium Extreme Editions. La familia P6 incluye los Pentium Pro; Pentium II y Pentium III. Estas máquinas ejecutan todas las instrucciones de su predecesoras, las máquinas de 16 bits que se inician en 1978 con el Intel 8086.

La arquitectura IA-64 representa la última tecnología de este fabricante destinada a sus procesadores Itanium. Son máquinas de 64 bits que pueden soportar los dos tipos de ordenación interna: Little Endian y Big Endian; gran número de registros internos (64) y un formato interno unificado para los datos de 82 bits que permite cálculos de alta precisión.

Inicio

|Índice| Copyright © 2000-2006 Zator Systems. NO software patents

Page 269: 6721122 D057 Tecnologia Del PC

Tecnología del PC[Home] [Inicio] [Índice]

Subir

5.1 Direccionar la Memoria

§1 Sinopsis

El direccionamiento de la memoria puede considerarse desde dos puntos de vista: Físico y lógico. El primero se refiere a los medios electrónicos utilizados en el ordenador para acceder a las diversas posiciones de memoria. El segundo, a la forma en que se expresan y guardan las direcciones. En este epígrafe nos referiremos exclusivamente a la forma en que son tratadas las direcciones de memoria del PC. Advirtiendo desde ahora, que este asunto, como muchos otros, ha sufrido mutaciones a lo largo del tiempo, y que arrastra modos que solo tienen una justificación de tipo histórico, en razón de las características del hardware de los primeros PC's.

§2 Notación

El sistema de numeración utilizado por los informáticos para representar las direcciones de memoria en el texto escrito no suele ser la decimal (como parecería razonable), sino el hexadecimal ( E2.2.4b).

La razón es que los números hexadecimales guardan cierta concordancia con las potencias de 2. Por ejemplo, un bus de direcciones de 8 bits puede acceder a 256 posiciones (en hexadecimal es el rango 00-FFh). En caso de direcciones de 16 bits, se puede acceder

Page 270: 6721122 D057 Tecnologia Del PC

65.536 posiciones (es el rango 0000-FFFFh). El bus de direcciones del PC XT, que tiene 20 bits, las posibilidades son 1.048.576 (es el rango 00000-FFFFFh).

Como veremos a continuación, puede utilizarse una doble notación: Direcciones absolutas, indicadas por un hexadecimal de cinco dígitos, en el rango 00000-FFFFFh, o en direcciones segmentadas, que utiliza dos grupos de cuatro dígitos hexadecimales.

§3 Direccionamiento segmentado

Hemos indicado que el bus de direcciones del PC XT era de 20 bits ( H2), por lo que teóricamente podían manejarse un total de 220 posibilidades (1.048.576). Sin embargo, el procesador 8088 utilizado tiene registros de 16 bits, por lo que solo puede contener directamente 216 posiciones (65.536).

La solución consistió en expresar las direcciones mediante dos palabras de 16 bits, denominadas desplazamiento y segmento que, por consiguiente, pueden ser representadas mediante un hexadecimal de cuatro cifras en el rango 0000-FFFFh. Estas dos palabras pueden ser traducidas a una dirección de 20 bits mediante la operación denominada suma con desplazamiento. Por ejemplo, suponiendo que el desplazamiento y el segmento fuesen respectivamente ABCDh y E1FAh, la forma de obtener la dirección resultante es como sigue:

Una de las palabras, el desplazamiento, se desplaza una posición añadiéndole un cero a la derecha (equivale a multiplicarla por 16, ya que las direcciones se expresan en hexadecimal). En nuestro caso, si el desplazamiento es ABCDh resulta ABCD0h. Puesto que inicialmente es un hexadecimal de 4 cifras (ABCD en nuestro caso), el desplazamiento la transforma en un hexadecimal de 5 cifras (ABCD0). El valor obtenido se suma con el valor del segmento (E1FAh), así que la dirección resultante, sería 69ECAh. Para distinguirla de la anterior, esta última forma se denomina dirección absoluta.

Nota: Es frecuente escribir las direcciones segmentadas en forma de los dos cantidades separadas por dos puntos, poniendo a la izquierda el valor más alto (el desplazamiento) y a la derecha el más bajo (el segmento). En forma segmentada, la

Page 271: 6721122 D057 Tecnologia Del PC

dirección anterior se expresaría ABCD:E1FA , y es equivalente a la dirección absoluta 69ECAh.

§4 Segmentos y párrafos

Esta forma de representación segmentada de las direcciones es en realidad una imagen de como son manejadas internamente en el procesador.

Los procesadores 8088 tienen registros de 16 bits que pueden servir para almacenar los desplazamientos, es decir, cualquier dirección dentro de una zona de 64 KB (que se conoce como segmento). Disponen además de 4 registros de segmento de 16 bits (CS, SS, DS y ES H3.2), en los que se almacenan las direcciones de inicio del segmento activo en cada momento. Resulta así, que pueden direccionar un total absoluto de 1MByte, y hasta 64 x 4 = 256 KB sin necesidad de cambiar los registros de segmento. Esto es lo que se conoce como funcionamiento en modo real (como puede verse, en realidad es una forma de manejar la memoria).

La figura adjunta muestra como se utilizan los registros para señalar las direcciones de inicio de los diversos módulos de un programa cargado en memoria ( E1.3.2) dentro del espacio de memoria

Page 272: 6721122 D057 Tecnologia Del PC

direccionable con 20 bits (00000-FFFFFh).

En la figura 1 se muestra una división de este "Mega" en 16 segmentos cuyos desplazamientos son justamente 0h, 1h, 2h ... Fh.

§5 Modelos de memoria DOS

Las 220 posibilidades de direccionamiento antes comentadas, constituyen el famoso límite del "Megabyte" de memoria de los primeros PC's, de los cuales se reservaron los no menos famosos 640 primeros KBytes como máximo disponible para programas de usuario.

Nota: Como verá a continuación, gran parte del "Sistema" se cargaba en realidad en la memoria supuestamente reservada a usuario, con lo que en realidad el especio para programas de aplicación resultaba siempre muy precario.

Desde entonces, y en referencia a que el sistema operativo era MS-DOS, el primer Megabyte de memoria se conoce como Memoria DOS; los primeros 640 KB como memoria convencional o memoria base. Los 384 KB restantes (1024 - 640) son la memoria superior o "del Sistema" ("Upper memory"). Esta zona superior contenía cosas como adaptadores y memoria de video; chips de la ROM-BIOS; ROMs de los controladores de disco, y adaptadores de red, aunque existían "agujeros" sin uso que podían ser aprovechados.

En la figura 1 se muestra un mapa aproximado de la

Page 273: 6721122 D057 Tecnologia Del PC

distribución de esta memoria en el Sistema MS DOS.

Nota: Aunque para el programador toda esta memoria RAM es un único espacio lógico, muchas de estas "cosas" están físicamente fuera de lo que es la memoria RAM (si se abre la caja del ordenador). Por ejemplo, gran parte de la memoria de video está físicamente en las propias placas de los adaptadores de video.

Los programas DOS requieren la existencia de una zona contigua de memoria convencional (preferiblemente de 640 KB), aunque en realidad este espacio debe ser compartido con la tabla de vectores de interrupción; área de datos de la ROM BIOS ( H4) y buena parte del propio Sistema Operativo DOS. Por ejemplo, controladores de dispositivos (los famosos "device=..." del fichero CONFIG.SYS). Como consecuencia de la escasez de espacio, se desarrollaron técnicas para permitir que controladores de dispositivos y TSR's [2] se cargaran

Page 274: 6721122 D057 Tecnologia Del PC

en otras zonas de memoria. Generalmente este tipo de instrucciones de carga se sitúan en los ficheros CONFIG.SYS y AUTOEXEC.BAT, y aprovechan que no todo el espacio de memoria superior es utilizado por el Sistema, de modo que existen zonas ociosas en las que podían situarse los citados controladores.

§6 Memoria expandida

Muy pronto se comprobó que el Megabyte de memoria inicialmente previsto era claramente insuficiente, por lo que se arbitraron diversos tipos de soluciones. Los ingenieros de software, en cooperación con los de hardware, debieron hacer verdaderos juegos malabares para tratar de suplir la cortedad de miras de los diseñadores del PC [1].

Concretamente hubo dos soluciones que fuero muy utilizadas y populares en su época. La primera, fue resultado de una iniciativa conjunta de Lotus e Intel, que desarrollaron una variedad de la técnica de direccionamiento conocida como conmutación de bancos, a la que llamaron EMS ("Expanded Memory Specification"), que proporcionaba 8 MB de espacio adicional. Más tarde fue aceptada también por Microsoft con alguna pequeña modificación, pasando a denominarse especificación de memoria expandida LIM (Lotus, Intel Microsoft).

Poco más tarde Quadram, Ahston-Tate y el fabricante de tarjetas de memoria AST publicaron otra más flexible denominada EEMS ("Enhanced EMS"); además, la especificación LIM fue perfeccionada para proporcionar 32 MB adicionales mediante una combinación hardware/software. El procedimiento consistía en añadir al ordenador una placa adicional de memoria de conmutación de bancos de hasta 32 MB, que era conducida por un "driver" adecuado, el EMM ("Expanded Memory Manager") cargado por el CONFIG.SYS.

El truco consiste en que en un área en desuso de la memoria superior , se sitúa una zona 64 KB, denominada marco de página, en la que existen 4 secciones de 16 KB (ventanas) que se emplean como punteros a una página más grande en la memoria de conmutación de bancos. Los programas podían utilizar segmentos de datos muy grandes ( E1.3.2), ya que el gestor de memoria EMM se encargaba de traer automáticamente a la

Page 275: 6721122 D057 Tecnologia Del PC

"ventana" la zona necesaria en cada momento.

§7 Modo protegido y memoria extendida

La especificación EMS de Lotus/Intel/Microsoft, permitía manejar grandes cantidades de datos (ahora no nos parecen tan grandes), pero no resolvía el problema de grandes cantidades de código, ya que el segmento de código no podía manejarse de esta forma. Esto presentaba problemas no solo para programas grandes, sino para cualquier intento de multiprogramación ( 1.7), cuando varios programas deben coexistir en memoria.

Como siempre, la solución vino de la mano de otro avance tecnológico; en este caso, la aparición del procesador Intel 80286, que en 1982 inició la era del PC AT. Este micro permite un acceso a memoria que recuerda vagamente la especificación EMS, pero de forma nativa, ya que los mecanismos están incluidos en el procesador. Como la política de Intel ha sido mantener compatibilidad con los micros anteriores, el 80286 podía trabajar en modo real, imitando el funcionamiento del 8088 , mientras que la nueva forma se denominó modo protegido.

El modo protegido utiliza los registros de segmento como punteros a unos nuevos registros de dirección de 24 bits denominados tablas de descripción ("descriptor tables"), que permiten acceder a un máximo de 224 (16 MBytes) de memoria física, de forma que los registros de segmento son selectores que marcan el inicio de una dirección de 24 bits. La memoria que se hacía accesible mediante este sistema se denominó memoria extendida, para distinguirla de la antigua EMS [3]. La posterior introducción del 80386, con registros de 32 bits, permitió direccionar hasta 232 (4 GBytes) de memoria externa.

Los nuevos micros incluyeron otras mejoras que permitían al Sistema Operativo un funcionamiento más cómodo y seguro de las aplicaciones cuando operaba en modo protegido. Los mecanismos pertinentes estaban incluidos en el hardware o al menos este proporcionaba recursos al SO para realizarlos cómodamente, aunque desde luego, para sacar provecho de estas mejoras el Sistema debía estar preparado ex profeso. El DOS no podía utilizarlas, sí en cambio los sistemas más avanzados del momento, como OS/2, Unix o

Page 276: 6721122 D057 Tecnologia Del PC

Windows. Básicamente estas mejoras se referían a dos cuestiones:

● Manejo de memoria virtual

● Soporte nativo para multiprogramación

§7.1 Memoria virtual

Esta técnica consiste en hacer creer al programa que dispone de más memoria que la físicamente disponible en RAM. Este artificio tiene sentido porque en ese momento (y actualmente), la memoria extendida era mayor que la físicamente disponible en muchos sistemas, además el disco duro era estándar en todos los equipos.

Esta RAM ficticia se conoce como memoria virtual; una simulación conocida de antiguo en el mundo de los mainframes, que fue introducida en la informática personal a partir del 80286. Este procesador ya disponía de un controlador hardware para este menester, de forma que su manejo no significaba una gran sobrecarga para el Sistema. Su funcionamiento se basa en que cuando una aplicación necesita más espacio y la memoria física está agotada, el controlador de memoria virtual proporciona espacio auxiliar utilizando un fichero de intercambio ("Swap file") situado en memoria externa (disco duro generalmente H2), donde se almacena la información que no cabe en la RAM.

Nota: Hay ocasiones en que la RAM está demasiado fragmentada y el Sistema no puede asignar suficiente espacio contiguo a una aplicación. Por ejemplo, el caso en que Windows muestra el conocido mensajito: " No hay suficiente memoria... debe cerrar alguna aplicación en curso... " suele deberse a que no hay suficiente "memoria gráfica" contigua. Es decir: memoria RAM asignada a la tarjeta de video.

Además de facilitar la apariencia de más RAM que la físicamente disponible, este mecanismo permite que diversas aplicaciones compartan la misma memoria física. Aunque para ello se requieran constantes maniobras de carga y descarga ("swapping") de trozos del fichero de

Page 277: 6721122 D057 Tecnologia Del PC

intercambio a memoria, por lo que el rendimiento global del sistema se resiente si la desproporción entre el fichero de intercambio y la RAM es muy notable [4].

Nota: En el caso de los sistemas operativos de Microsoft, la memoria virtual fue introducida de forma más o menos perfeccionada desde la aparición del primer Windows 3.1 en 1987. En Windows 95, el Sistema comienza a funcionar directamente en modo protegido de 32 bits, proporcionando a cualquier aplicación un espacio de memoria de hasta 4 GB. (siempre que esté disponible el adecuado espacio en disco). En este Sistema, el fichero de intercambio puede crecer a medida de las necesidades hasta ocupar todo el espacio disponible en disco.

§7.2 Multiprogramación

La posibilidad de ejecución simultanea de varios programas, ya utilizada en los grandes sistemas, era un sueño largamente acariciado en el mundo de la informática personal (no olvidemos que la informática nació en sistemas grandes y después migró al entorno del PC). Sin embargo, el mantenimiento de zonas de memoria correspondiente a programas distintos, sin que existieran interferencias, era una tarea delicada de resultado a veces catastrófico (supongamos por ejemplo que un puntero descontrolado de una aplicación invade el área destinada a otra).

La correcta solución del problema no pasaba solo por la posibilidad de acceder a grandes cantidades de memoria, algo que resolvía la memoria virtual. Eran también necesarios algunos dispositivos adicionales de protección, que se implementaron de forma nativa en los procesadores Intel286 y siguientes.

Estos dispositivos incluyen control de límites, y posibilidad de acceso de "solo lectura" y "ejecución" en el segmento utilizado por la aplicación, así como una serie de privilegios que permiten proteger el código del Sistema de las aplicaciones o programas de usuario. Además, la posibilidad de conmutación hardware entre tareas protege las aplicaciones de usuario unas de otras.

Además de estos mecanismos, partir de la introducción del 80486 en 1989, los procesadores

Page 278: 6721122 D057 Tecnologia Del PC

disponen de soporte hardware para implementar sistemas multiprocesador, de forma que se hacía posible una auténtica multiprogramación.

Inicio.

[1] Hay que señalar en su descargo, que los "micros" utilizados en la época utilizaban un máximo de 64 KB para sistema y programas, y que el "Sistema" era casi inexistente, por lo que cara al futuro, 640 KB. (diez veces más) podía parecer un margen más que generoso.

[2] TSR "Terminate and Stay Resident". Un artificio del DOS precursor de la multiprogramación. Programas que se cargan y permanecen "Stand by" en memoria; activándose mediante una combinación específica de teclas. El primero y más famoso, fue SideKick de Borland, que contenía diversas utilidades, incluyendo una tabla de caracteres ASCII; un bloc de notas; una calculadora decimal/hexadecimal/binario y una agenda.

[3] Vista la similitud de nombres adoptada, más que ayudar a aclarar las cosas parece que en realidad pretendían confundir al personal.

[4] Por razones de eficacia, en algunos Sistemas se requiere que este fichero de intercambio esté en un espacio de disco contiguo. En Windows 95 es el fichero WIN386.SWP. Mientras que en Linux se prefiere utilizar una partición de disco dedicada a este fin específico, conocida como partición "swap". Los usuarios de este Sistema pueden utilizar las utilidades free y vmstat para inspeccionar ambos tipos de memoria (física y virtual).

Inicio

Page 279: 6721122 D057 Tecnologia Del PC

Tecnología del PC[Home] [Inicio] [Índice]

Subir

5.2 Memoria CACHE

§1 Sinopsis

Aunque de origen inglés [4], la palabra cache ha tomado carta de naturaleza en Español (no se si los académicos se habrán enterado de ello, por si acaso, la españolizamos añadiéndole un acento). Utilizada en informática significa memoria temporal; generalmente de existencia oculta y automática para el usuario, que proporciona acceso rápido a los datos de uso más frecuente o previsible. Por ejemplo, el "Caché" de disco es un área de memoria donde el Sistema transfiere los datos que supuestamente serán accedidos de inmediato. Si leemos un "cluster" [1] el sistema puede disponer en esta memoria "cache" los clusters que siguen en la estructura lógica, de forma que, si seguimos efectuando lecturas, lo más probable es que los próximos datos estén ya en memoria y puedan ser accedidos de forma inmediata [2].

La utilización de este tipo de memorias no es sino la generalización de un principio de uso común en la vida diaria; poner más a mano las cosas de uso más frecuente. Se basa en dos suposiciones que generalmente resultan ciertas:

● Los ordenadores tienden a utilizar las mismas instrucciones y (en menor medida), los mismos datos repetidamente.

● La información necesitada se encuentra almacenada de forma adyacente, o cuando menos muy cercana, en memoria o disco.

Page 280: 6721122 D057 Tecnologia Del PC

§2 Tipos de cache

Desde el punto de vista del hardware, existen dos tipos de memoria cache; interna y externa. La primera, denominada también cache primaria, caché de nivel 1 o simplemente caché L1 (Level one) . La segunda se conoce también como cache secundaria, cache de nivel 2 o cache L2 .

Desde el punto de vista funcional, existen cachés específicas de algunos dispositivos, por ejemplo, de disco. También se distingue entre caché de lectura y de escritura.

§2.1 Caché interna

Es una innovación relativamente reciente [3]; en realidad son dos, cada una con una misión específica: Una para datos y otra para instrucciones. Están incluidas en el procesador junto con su circuitería de control, lo que significa tres cosas: comparativamente es muy cara; extremadamente rápida, y limitada en tamaño (en cada una de las cachés internas, los 386 tenían 8 KB; el 486 DX4 16 KB, y los primeros Pentium 8 KB). Como puede suponerse, su velocidad de acceso es comparable a la de los registros, es decir, centenares de veces más rápida que la RAM.

§2.2 Caché externa

Es más antigua que la interna, dado que hasta fecha "relativamente" reciente estas últimas eran impracticables. Es una memoria de acceso rápido incluida en la placa base, que dispone de su propio bus y controlador independiente que intercepta las llamadas a memoria antes que sean enviadas a la RAM ( H2.2 Buses locales).

La caché externa típica es un banco SRAM ("Static Random Access Memory") de entre 128 y 256 KB. Esta memoria es considerablemente más rápida que la DRAM ("Dynamic Random Access Memory") convencional, aunque también mucho más cara [5] (tenga en cuenta que

Page 281: 6721122 D057 Tecnologia Del PC

un aumento de tamaño sobre los valores anteriores no incrementa proporcionalmente la eficacia de la memoria caché). Actualmente (2004) la tendencia es incluir esta caché en el procesador. Los tamaños típicos oscilan entre 256 KB y 1 MB.

Nota: En 1997, con la introducción del procesador Pentium II, Intel abandonó el denominado zócalo 7 utilizado hasta entonces en sus procesadores, en favor del denominado Slot-1. La razón argüida era precisamente la inclusión de la caché L2 en la cápsula del procesador.

§3 Caché de disco

Además de las anteriores, que son de propósito general, existe una caché de funcionalidad específica que se aloja en memoria RAM estándar. Es la caché de disco (nos hemos referido a ella en la introducción de este epígrafe), destinada a contener los datos de disco que probablemente sean necesitados en un futuro próximo y los que deben ser escritos. Si la información requerida está en chaché, se ahorra un acceso a disco, lo que es centenares de veces más rápido (recuerde que los tiempos de acceso a RAM se miden en nanosegundos y los de disco en milisegundos E1.7.1 Unidades de medida).

Nota: Existe un mecanismo parecido al de caché de disco que aquí se describe pero que funciona en sentido inverso. Es decir, aloja en disco los datos que no pueden ser almacenados en la memoria RAM. Es el sistema de memoria virtual, al que nos referiremos al tratar de la memoria.

El funcionamiento de la caché de disco se basa en dos esquemas de operación. La lectura adelantada ("Read-ahead") y la escritura retrasada ("Write-behind"). La primera consiste en anticipar lo que se necesitará de forma inmediata y traerlo a la caché. Por su parte, la escritura retrasada consiste en mantener los datos en caché hasta que se producen momentos de desocupación del sistema de disco. En este caso la caché actúa como memoria tampón o "buffer" intermedio, y no se obliga al subsistema a realizar físicamente ninguna escritura, con lo que las cabezas quedan libres para nuevas lecturas.

Page 282: 6721122 D057 Tecnologia Del PC

Puesto que los cachés de disco de escritura retrasada mantienen los datos en memoria volátil después que "supuestamente" se han escrito en el dispositivo, una caída accidental del sistema, por fallo de energía o apagado intempestivo, puede producir pérdidas de los datos alojados en la caché en ese momento (es esta una de las razones por las que los sistemas Windows y Linux exigen un proceso especial de apagado, que a veces tarda unos segundos, en los que observamos una intensa actividad del sistema de disco).

Nota: La mayoría de los lenguajes disponen de métodos para forzar una escritura "real" de los datos vaciando la caché de disco; suelen ser sentencias del tipo commit, flush etc. Es una práctica de seguridad aconsejable, y señal de programación cuidadosa, realizar un vaciado de "buffers" después de cada transacción importante siempre que las circunstancias lo permitan .

§3.1 Caché de disco en MS DOS y Windows

La cache de los sistemas MS DOS y de los primeros sistemas Windows se denominaba SmartDrive. Por su parte, los nuevos Sistemas de 32 bits disponen de un controlador virtual denominado VCACHE que utiliza un esquema de funcionamiento de lectura adelantada y escritura atrasada para proporcionar servicios de cache a las máquinas virtuales ( E0.2).

VCACHE tiene la ventaja cachear ficheros en discos de red, y de permitir cambiar en tiempo de ejecución la cantidad de memoria destinada a este menester. Cuando la actividad del disco es elevada pero la ocupación de memoria es baja, VCACHE incrementa su tamaño para realizar la mayor cantidad de operación en RAM, evitando de este modo accesos a disco. Por ejemplo, si la aplicación abre un fichero para lectura/escritura, es posible que VCACHE vuelque la totalidad del fichero a memoria; posteriormente, quizás cuando se cierre el fichero, la imagen de memoria sea volcada de nuevo al disco. Si por el contrario la actividad de disco es pequeña y la ocupación de memoria es alta, VCACHE disminuye su propio tamaño con objeto de aumentar la RAM disponible para las aplicaciones.

Page 283: 6721122 D057 Tecnologia Del PC

§3.2 Vaciado de buffers en C++

En la terminología C++ los flujos que son cacheados se denominan "buffered". A este respecto, los compiladores C/C++ disponen de su propio sistema de caché para ficheros de disco. Esta caché se denomina de ejecución (runtime), para distinguirla de la caché del Sistema. Así mismo, disponen de recursos en la Librería Estándar para forzar su vaciado en caso necesario; para esto se recurre a la funciones fflush (para ficheros abiertos con fopen) y flush (para los flujos de salida, "ostreams").

Sin embargo, no olvide que el vaciado de la caché del compilador se realiza sobre la del Sistema, que está por debajo (recuerde que el Software tiene una estructura de capas E1.7w1), y que el SO decide por su cuenta cuando es el momento oportuno para realizar físicamente la escritura de los discos. Esto significa que una seguridad total solo se alcanza forzando la escritura de la caché del Sistema, y esto naturalmente depende de la plataforma utilizada.

Nota: Además de las posibilidades ofrecidas en la Librería Estándar, el compilador MS Visual C++ para Windows ofrece la función _flushall, que fuerza el vaciado de la caché de ejecución de todos los ficheros abiertos. También dispone de la librería COMMODE.OBJ, que enlazada con la aplicación, fuerza que las llamadas a fflush y a _flushall escriban directamente los buffers al disco en vez de a la caché del Sistema.

El siguiente ejemplo muestra algunas formas de vaciado de los buffers del compilador y de la caché del Sistema

#include <stdio.h>#include <ofstream.h> void funcES1() { FILE* Fichero1; // L.5 fflush(Fichero1); // L.6 _commit(_filenum(Fichero1)); // L.7}

Page 284: 6721122 D057 Tecnologia Del PC

void funcES2() { ofstream Fichero2; // L.11 Fichero2.flush(); // L.12 _commit(Fichero2.rdbuf()->fd()); // L:13} void main() { // ======== funcES1(); funcES2();}

Comentario

L.5 abre el fichero Fichero1 para lectura y escritura.La llamada a fflush en L.6 fuerza al programa a vaciar al SO la caché de ejecución asociados al fichero1.La llamada a _commit en L.7 obliga al cache de disco del Sistema vaciar sus buffers.L.11 se instancia un objeto Fichero2 de la plantilla basic_ofstream<char>, para realizar escritura.La línea L.12 invoca el método flush para dicho objeto. Esta invocación fuerza al programa a vaciar al SO los buffers de ejecución asociados con Fichero2.La invocación a _commit en L.13 obliga al caché de disco del Sistema a vaciar los buffers al disco. Esta función requiere un manejador "handle" referido al fichero; en este caso, el manejador se obtiene mediante una invocación al método rdbuf. ofstream.rdbuf()->fd().

Nota: _commit es una función de MS Visual C++ que obliga al Sistema a vaciar los buffers de un fichero determinado. No es estándar C++ y solo funciona en Sistemas MS de 16 bits. En los de 32 bits se recurre a la librería Commode.obj según se ha indicado .

§4 Rendimiento de la caché

Page 285: 6721122 D057 Tecnologia Del PC

El funcionamiento de la caché de lectura se parece al de un adivino; debe anticipar lo que ocurrirá en el futuro. Si el dispositivo que está siendo cacheado encuentra los datos en la caché, habrá un éxito ("hit"), en caso contrario, un fracaso ("miss"). Los sistemas de caché actuales son capaces de proporcionar una tasa de éxitos superior al 90%.

Como puede figurarse el lector, construir un mecanismo de caché no es una tarea baladí. Se requieren esquemas de funcionamiento que atiendan de forma simultanea y balanceada diversos factores:

● Discriminar que información debe ser almacenada y cual descartada.

● Decidir la organización interna de este almacenamiento.

● Manejar las peticiones de lectura. Esto exige disponer de un mecanismo de intercepción de las peticiones del dispositivo que está siendo cacheado.

● Manejar las peticiones de escritura. Interceptar las peticiones de escritura del dispositivo a cachear.

§5 Caché oportunista

Existe un tipo especial que podríamos considerar "de aplicación", denominada caché oportunista ("Opportunistic cache"). Está relacionada con los problemas de bloqueos de ficheros en entornos multiusuario en los que distintas aplicaciones pueden acceder a los mismos datos.

En estos casos, los Sistemas Operativos disponen de mecanismos para que un usuario (programa de aplicación) obtenga el bloqueo de todo un fichero o parte de él. La teoría es que mientras se mantenga el bloqueo, ningún otro usuario puede modificar el fichero (tal vez si leerlo), y que una vez finalizadas las modificaciones, el usuario desbloquea el fichero para que otros puedan utilizarlo. Sin embargo, en determinadas aplicaciones de red, y con objeto de aumentar el rendimiento, se utiliza un sistema mixto denominado bloqueo oportunista oplock ("Opportunistic locking"), en el que el usuario comunica al Sistema que utilizará esta

Page 286: 6721122 D057 Tecnologia Del PC

modalidad [6]. Para ello, obtiene una copia de la totalidad del fichero, que almacena un una caché local oportunista. De esta forma, las operaciones son más rápidas que si tiene que realizarse a través de la red las peticiones de distintos trozos, junto con las correspondientes solicitudes de bloqueo/desbloqueo. Finalmente, cuando el usuario ha finalizado las operaciones con el fichero, devuelve al servidor una copia actualizada.

El problema se presenta cuando, en el intermedio, otro usuario solicita utilizar el mismo fichero. La incidencia es especialmente frecuente cuando el fichero a manejar es muy grande. Porque entonces, incluso para una pequeña modificación, el primer usuario puede demorarse bastante en devolver la versión modificada al servidor. La solución adoptada para evitar demoras excesivas, consiste en que, al recibir la petición del segundo usuario, el Sistema envía al primero una orden de interrumpir el oplock y devolver el fichero tal como está en ese momento para que el segundo usuario pueda utilizarlo.

Aunque no exento de problemas, especialmente en redes poco fiables, el sistema permite aumentos del rendimiento del orden del 30%. No tanto por el sistema de bloqueo utilizado, como por el hecho de que los datos hayan sido previamente cacheados por el usuario.

Inicio.

[1] También denominado "Allocation Unit" o unidad de asignación en Español. Es el conjunto de sectores de disco que son tratados por el sistema como una sola unidad de almacenamiento. Su tamaño (número de sectores de disco) depende del SO y del tamaño de la partición lógica (MS DOS y Windows utilizan un cluster de 1 sector en los disquetes de 3.5"). Un "Cluster" puede estar ocupado o disponible, pero no parcialmente ocupado. El Sistema de Archivo de un Sistema Operativo es precisamente una forma de controlar, asignar, desasignar y acceder clusters para alojar ficheros en disco ( 8.1.2).

"Cluster" tiene también otra acepción en inglés: Designar un almacenamiento redundante de datos en sistemas distintos.

[2] Hasta hace pocos años, en que la tecnología de discos ha producido unidades

Page 287: 6721122 D057 Tecnologia Del PC

extremadamente silenciosas, a un oído experimentado le bastaba escuchar la "música" de los servos para saber si el sistema de "cache" de disco estaba instalado o no.

[3] Introducida con el Intel 386 SLC que tenía una cache interna para instrucciones y datos, mientras que en los Pentinum® instrucciones y datos disponen de cachés separadas.

[4] Bueno, eso es lo que yo creía porque aprendí la palabreja de textos ingleses, pero D. Julián Cirielli, desde Bs. As. Argentina, me aclara amablemente que en realidad, la palabra proviene del francés, y significa escondite/escondida. He preferido mantener intacta mi errónea redacción anterior e incluir aquí la corrección junto con mi agradecimiento.

[5] El motivo es la propia construcción de la memoria estática, constituida por conjuntos de seis transistores por cada bit almacenado, lo que las hace mucho más voluminosas (y caras) que las memorias dinámicas de capacidad comparable; estas últimas están consituidas por un conjunto de 1 transistor y un condensador por cada bit. La descarga del condensador es lo que hace que requieran una actualización (refresco) cada 15 µs (microsegundos) aproximadamente, lo que añade una dificultad adicional, pues durante la actualización el sistema queda paralizado (en el bus hay una línea específica, DACK-0, para indicar que se está produciendo este refresco de la memoria dinámica H2).

Actualmente (2001), las SRAM tienen tiempos de acceso del orden de 2 a 15 ns (nanosegundos), mientras que en las DRAM es del orden de 60 ns.

[6] Por ejemplo, Samba el popular sistema Linux para compartir recursos sobre redes TCP/IP, puede utilizar este tipo de caché oportunista con sus clientes.

Inicio

Page 288: 6721122 D057 Tecnologia Del PC

Tecnología del PC[Home] [Inicio] [Índice]

Subir

5.3 Memorias: Aspectos tecnológicos

§1 Antecedentes

Al tratar de la placa-base, indicamos que el término "memoria" se refiere desde luego a cualquier dispositivo capaz de almacenar datos, pero aplicado a un ordenador actual es ambiguo, ya que existen varias clases. En principio pueden clasificarse en dos grandes grupos: internas y externas (también denominadas primarias y secundarias).

Las memorias internas están situadas en el procesador, la placa base, o en tarjetas insertas en zócalos de esta. Genéricamente se conocen como memoria RAM ("Random Access Memory") por su forma de acceso. Su característica principal es que pierden su contenido al apagar el ordenador (es una forma de almacenamiento volátil), aunque hay que matizar que la ROM ("Read Only Memory") no pierde su contenido y sin embargo también puede ser accedida de forma aleatoria.

Como el resto de las tecnologías informáticas, la memoria ha experimentado un notable desarrollo a lo largo de los años. Refiríéndose al IBM PC, en 1993 Peter Norton escribía: "IBM ha equipado a todos los XT con lo que se considera ser un equipo mínimo para un ordenador personal. Ahora el disco duro de 10 MB y los 128 KB de memoria representan la configuración mínima para una máquina".

En términos absolutos la cantidad de memoria instalada en los sistemas ha aumentado

Page 289: 6721122 D057 Tecnologia Del PC

espectacularmente. Pero una cosa es cierta: tanto los Sistemas Operativos como las aplicaciones añaden día a día nuevas funcionalidades y perfeccionamientos que los han convertido en consumidores insaciables de memoria.

§2 Aspectos funcionales

La memoria interna (RAM) funciona como apoyo de los registros del procesador. Cualquier programa en ejecución está alojado en memoria; las instrucciones van siendo pasadas a los registros para su ejecución de forma secuencial, y los datos son pasados también a los registros para su manipulación.

Puesto que se trata de un almacenamiento volátil, cualquier dato almacenado en memoria debe ser salvado a un almacenamiento permanente (disco) antes de apagar el sistema.

La forma en que se utiliza la memoria depende del SO utilizado. Los sistemas tipo MS-DOS tienen una disposición "Mapeado" relativamente complicada, lo que es debido a la pequeña cantidad de memoria que podía ser direccionada por los primeros equipos (1 MB para el 8088). Actualmente el problema ha desaparecido parcialmente, ya que a partir del 80286 los PCs podían direccionar 16 MB; cantidad que fue creciendo paulatinamente a 4 GB para el 80386 y que actualmente llega a 64 GB en los modernos procesadores Pentium y similares.

La memoria RAM (de acceso aleatorio) está constituida por dos tipos de memoria, la ROM y la RAM volátil. Ambas se pueden acceder (leer) de forma aleatoria, pero la primera es de solo lectura (no se puede escribir en ella) y no volátil. En el PC la memoria ROM se utiliza exclusivamente para contener los programas y datos que constituyen el BIOS ( H4). En lo que sigue nos referimos exclusivamente a la memoria RAM volátil, a la que denominamos memoria principal.

§3 Velocidad de acceso

Un punto importante de las memorias es la rapidez con que pueden ser leídas o escritas, lo que se conoce como velocidad de acceso o ciclo de lectura/escritura. Esta

Page 290: 6721122 D057 Tecnologia Del PC

velocidad se mide por el tiempo que se necesita en dichas operaciones, y puede ser expresado en unidades de tiempo (segundos) o en términos de frecuencia (hercios). La equivalencia es posible porque esta última medida se refiere al tiempo de un ciclo. Por ejemplo, una velocidad de acceso de 16.7 MHz supone que puede realizarse 16.7 Millones de veces cada segundo, lo que supone un tiempo de 1/16.7 · 10-6 = 59.88 · 10-9 ~ 60 ns.

Actualmente se comercializan memorias conocidas como PC100 y PC133, lo que significa que sus velocidades de acceso son de 100 y 133 MHz respectivamente (equivalentes a 10 y 7.5 ns).

La disposición eléctrica de los bits que componen la memoria es en agrupaciones de 8 (octetos) y en una disposición de matriz de filas y columnas. Esta disposición se conoce como paginación, y hace que el ciclo de lectura/escritura se desglose en dos partes: el tiempo de acceder a la fila/columna donde está la posición de memoria, denominado latencia (o estado de espera), y el tiempo de transferencia de datos propiamente dicho. Por ejemplo, de los 60 ns necesitados para el acceso a una RAM típica, aproximadamente 25 ns se consumen en el acceso (latencia), y 35 en la transferencia de datos.

Es corriente que el tiempo de latencia se especifique en términos de ciclos del sistema. Por ejemplo, una latencia 5 en una placa que corre a 66 MHz significa 5 · 1/66 · 10-6 = 75 · 10-9 s = 75 ns.

§3.1 Paginación rápida

Como hemos señalado, la latencia necesita su tiempo para acceder a la fila y columna adecuada. Para acortar este tiempo se utiliza una técnica denominada paginación rápida FPM ("Fast Page Mode"), que permite acceder más rápidamente a los datos siempre que el próximo esté en la misma fila, y solo sea necesario cambiar la columna.

§3.2 Acceso a ráfaga

Teniendo en cuenta que muchos accesos a memoria son secuenciales, es decir, se acceden

Page 291: 6721122 D057 Tecnologia Del PC

datos de posición consecutiva, se ideó el acceso en ráfaga ("burst mode"), que aprovecha las características de la paginación rápida para acceder a bytes sucesivos en ráfagas; normalmente estos grupos se limitan a cuatro accesos. Por ejemplo, un acceso normal a DRAM de 60 ns se accede en modo ráfaga 5-3-3-3. Significa el acceso al primer byte se realiza en 5 ciclos, mientras que los 3 sucesivos solo necesitan 3 cada uno.

§4 Tensión de trabajo

Tradicionalmente los circuitos instalados en la placa-base, incluida la memoria, han trabajado a 5 V. El aumento de la densidad de integración ha permitido aumentar la velocidad (frecuencia) de funcionamiento, especialmente en los procesadores, que pueden funcionar a diversas tensiones. En las placas-base y sus componentes asociados, el nuevo estándar es de 3.3 V, de forma que las memorias de los nuevos equipos suelen utilizar esta tensión. Por su parte la nuevas memorias DDR-SDRAM funcionan a una tensión de 2.5 V.

Nota: En el caso de reparaciones o ampliaciones de equipos antiguos es conveniente cerciorarse de la tensión de funcionamiento de la placa. Los módulos DIMM disponen de una muesca especial (guía de voltaje), que cuya posición es ligeramente distintas en los módulos de 5 y 3.3 V. por lo que es físicamente imposible colocar módulos de tensión incorrecta en el zócalo.

§5 Webografía

Kingston Technology www.kingston.com.

Un fabricante de memorias con información sobre las últimas tecnologías.

Newer Ram www.newerram.com

Un proveedor de memorias; la página tiene un localizador de memorias por modelo y fabricante.

Page 292: 6721122 D057 Tecnologia Del PC

Página de microelectrónica de IBM www-3.ibm.com

Gran cantidad de información sobre memorias (y otros productos).

Inicio

|Índice| Copyright © 2000-2006 Zator Systems. NO software patents

Page 293: 6721122 D057 Tecnologia Del PC

Tecnología del PC[Home] [Inicio] [Índice]

Subir

5.3.1 Errores en la memoria

§1 Sinopsis

Las memorias pueden producir errores; esto ocurre cuando el dato leído es distinto que el que se escribió originalmente. Por supuesto la detección y corrección (en lo posible) de errores de memoria es vital para el correcto funcionamiento del sistema.

§2 Clases de error

Los errores se consideran de dos clases:

Errores duros: Son debidos a averías o daños físicos. Se presentan de forma recurrente y son los más fáciles de diagnosticar.

Errores blandos: Ocurren de forma muy esporádica; cuando un bit cambia espontáneamente de 0 a 1 o viceversa. Son los más difíciles de prever. Las causa de esta anomalía pueden ser varias:

● Partículas alfa (en los primeros equipos) por contaminación con uranio y torio del material de encapsulado de las memorias.

● Rayos cósmicos. Estos rayos de alta energía pueden cambiar el estado de un

Page 294: 6721122 D057 Tecnologia Del PC

transistor o un condensador. El problema es más frecuente en la SRAM que en las DRAM. Posiblemente se agravará progresivamente con el aumento de la densidad de integración de los chips (componentes cada vez más pequeños).

● Defectos de suministro eléctrico. En especial el ruido de alta frecuencia en la alimentación. Se recomienda instalar filtros de red.

● Interferencias de radio frecuencia (RF) motivadas por equipos externos o elementos del propio sistema indebidamente apantallados.

● Memoria de velocidad inadecuada para el quipo en que se ha instalado (por ejemplo, memoria PC100 en un equipo que necesite PC133).

● Defectos de temporización. Por ejemplo, por sobrecarga "Overclocking" del sistema, o por una configuración defectuosa de la frecuencia de refresco en la BIOS.

§3 Sistemas de corrección

Ya desde el principio, la existencia de errores hizo cobrar relevancia a los mecanismos capaces de detectar, y en su caso corregir, los posibles errores que se puedan producir en los procesos de lectura/escritura. A la fecha se emplean principalmente dos métodos para garantizar la integridad de los datos: la paridad, y el código de corrección de errores ECC ("Error Checking and Correction").

§3.1 Paridad

Es el método más común y tradicional. Consiste en que por cada 8 bits (byte) de almacenamiento, se añade 1 bit adicional. A cambio de aumentar en un 12.5% el tamaño de la memoria, se consigue un cierto control sobre la integridad de los datos, ya que este bit adicional contiene información sobre la paridad del conjunto. A este respecto existen dos protocolos: paridad par e impar. Su funcionamiento se esquematiza en la tabla siguiente.

Paridad par Paridad impar

Page 295: 6721122 D057 Tecnologia Del PC

Paso 1

El bit de paridad se fija en uno (se activa), si los bits de datos contienen un número par de unos. Por el contrario, si el número es impar, se desactiva.

El bit de paridad se fija en uno si los bits de datos contienen un número impar de unos, y se desactiva si su número es par.

Paso 2

Los 8 bits de datos y el de paridad se almacenan en DRAM.

Los 8 bits de datos y el de paridad se almacenan en DRAM

Paso 3

Los datos son interceptados por el circuito de paridad antes de ser enviados al procesador.

Si este circuito identifica un número impar de unos, los datos se consideran válidos. Se elimina el bit de paridad y se traspasan los bits de datos al procesador.

Si el número de unos es par, el dato se considera erroneo y se genera un error de paridad.

El proceso es análogo al de paridad par. La diferencia es que el dato se considera válido si el número de unos es par y erroneo en caso contrario.

El modelo de paridad tiene ciertas limitaciones, la principal es que puede detectar el error pero no corregirlo (no sabe cual es el bit erróneo). Además, si hay más de un bit incorrecto, los bits defectuosos pueden cancelarse entre sí y enmascarar el error (sin embargo, la posibilidad de que esto ocurra es remota).

Paridad artificial. Algunos fabricantes de equipos de baja calidad utilizan un chip de paridad artificial. Este chip no almacena en realidad ningún bit extra con la paridad del dato. En su lugar generan un bit adicional cuando el dato debe se enviado al controlador de paridad con el valor correcto. En realidad es un método de engañar al controlador de paridad enviándole siempre la señal Ok. A continuación incluimos un párrafo de la Guía Debian de Instalación de Linux, relativo a este aspecto de la memoria, que consideramos muy ilustrativo.

Page 296: 6721122 D057 Tecnologia Del PC

RAM con paridad falsa o "virtual": Probablemente obtendrá módulos de memoria con paridad virtual en lugar de módulos con paridad real si solicita RAM con paridad en una tienda de informática. Los SIMMs con paridad virtual pueden distinguirse frecuentemente (pero no siempre) porque sólo tienen un chip más que un SIMM sin paridad, y porque el chip extra es más pequeño que el resto. Los SIMMs con paridad virtual trabajan exactamente como la memoria sin paridad. No pueden decirle cuando se produce un error de bit simple en RAM, algo que sí hacen los SIMMs con paridad real en una placa base que implemente paridad. Nunca pague más por un SIMM con paridad virtual que por uno sin paridad. En cambio, si que puede llegar a pagar un poco más por SIMMs con paridad real, porque en realidad está comprando un bit más de memoria por cada 8 bits.

Copyright © 2004 © el equipo del instalador de Debian

§3.2 ECC:

Este sistema ECC ("Error Checking and Correction") se basa en un algoritmo más complejo, y se utiliza en PCs de gama alta, como servidores de Red. El sistema trabaja en conjunción con el controlador de memoria, y anexa a los bits de datos los bits ECC, que son almacenados junto con los de datos. Estos bits extras, junto con la decodificación correspondiente, sirven para realizar la comprobación en el momento de la lectura.

Su diferencia principal con la paridad es que puede detectar el error de un bit y corregirlo, con lo que generalmente el usuario no detecta que se ha producido un error. Dependiendo del controlador de memoria utilizado, el sistema ECC también puede detectar errores de 2, 3 y 4 bits (sumamente raros), aunque en este caso no puede corregirlos; en estos casos devuelve un error de paridad.

Page 297: 6721122 D057 Tecnologia Del PC

Nota: Tener en cuenta que la verificación de errores (ECC o paridad) depende más del la placa-base (tipo de controlador de memoria utilizado) que de la memoria en sí. La memoria pone el almacenamiento, pero es el controlador el que decide como se utilizará. Generalmente para poder utilizar una memoria ECC es necesario un controlador que pueda utilizar esta tecnología.

En ambos casos, paridad o ECC, cuando se detecta un error se produce una excepción no enmascarable (NMI H2.4). Lo que sucede a continuación depende del Sistema. En algunos casos el procesador se detiene y lanza una rutina que deja la pantalla en blanco (o azul) y muestra el error. En otros se permite ignorar el error, guardar el trabajo en curso y continuar. En cualquier caso, después de uno de estos errores, es conveniente pasar al equipo un test de memoria especializado, más severo que el realizado por la POST de la BIOS.

Nota: En los sistemas Windows es frecuente que los errores de memoria en los momentos de carga del Sistema generen mensajes de aviso indicando que algún fichero importante está corrompido o falta, y debe reinstalarse el Sistema. En estos casos es imprescindible realizar un chequeo exaustivo de la memoria antes de realizar ningún cambio en el software.

Inicio

|Índice| Copyright © 2000-2006 Zator Systems. NO software patents

Page 298: 6721122 D057 Tecnologia Del PC

Tecnología del PC[Home] [Inicio] [Índice]

Subir

5.3.2 Memorias: Tecnologías de fabricación

§1 Sinopsis

Existen muchas tecnologías de memoria RAM, pero pueden resumirse en dos grandes grupos: Memorias RAM estáticas (SRAM) y dinámicas (DRAM). Ambas pueden escribirse y leerse repetidamente, y ambos tipos pierden su contenido cuando se apaga el sistema. Sin embargo, las dinámicas tienen la característica adicional de que deben ser "refrescadas" constantemente. Esto significa que una vez escrita en ellas la información, la pierden rápidamente. Por lo que debe utilizarse un sistema (de refresco) que lea el contenido y vuelva a escribirlo. Este proceso se repite constante y automáticamente durante el funcionamiento del ordenador. Por contra, las estáticas conservan su contenido indefinidamente (mientras se mantenga la alimentación de energía), por lo que solo deben ser reescritas nuevamente cuando se desee cambiar su contenido.

§2 DRAM

Este tipo de memoria es el más ampliamente utilizado en los PCs actuales. Tiene la característica de ser de fácil construcción (resulta económica) y muy compacta (muchos bits en poco espacio), aunque con el inconveniente de la necesidad de refresco ya comentada, además de ser comparativamente "lenta". Este último factor ha ha motivado la aparición de memorias caché mucho más rápidas. La velocidad de acceso de la DRAM es del orden de 60 ns.

Page 299: 6721122 D057 Tecnologia Del PC

Nota: Actualmente (2001) existen módulos DRAM de 256 Mbits. Lo que significa que existen chips con 256 millones de transistores; mucha más cantidad que los contenidos en un Pentium. Aunque hay que significar que la DRAM es una estructura regular y repetitiva que no puede ser comparada con la complejidad de un procesador.

La DRAM está constituida por conjuntos de transistor-condensador, y es el estado cargado/descargado de este condensador, el que representa los bits individuales 1 o 0. La volatilidad se debe precisamente a que los condensadores tienden a perder la carga.

En los sistemas PC, existe un controlador especial de memoria alojado en el chipset de la placa base, que refresca el contenido de la memoria cada 15 µs (microsegundos) [1]. Este refresco supone la ocupación de varios ciclos de la UCP. En los sistemas antiguos, este trabajo de actualización suponía una parte importante del trabajo que era capaz de desarrollar el procesador, pero en los sistemas modernos (mucho más capaces) esta función supone apenas un 1% de la carga de trabajo de la UCP.

Los chips actuales de RAM montan la electrónica necesaria para refrescar su propio contenido, pero deben ser informados del momento adecuado mediante una señal apropiada, con objeto de que la tarea de refresco no interfiera los procesos normales de acceso del sistema. En algunas placas-base la frecuencia de refresco puede ser alterada, pero no conviene rebajarla porque se corre el riesgo de que alguno de los millones de condensadores pierda la carga. Además, una disminución del 1% del trabajo del procesador no supone desde luego una ventaja que compense el riesgo de corromper los datos.

§3 SRAM

La memoria estática mejora algunos de los inconvenientes de la dinámica pero añade otros. Este tipo de memoria está formada por conjuntos de 6 transistores por cada bit; lo que origina que mientras exista alimentación no pierde su contenido. Además es muy rápida, pero es comparativamente más voluminosa que la DRAM y mucho más cara.

En términos de velocidad, la SRAM tiene una velocidad de acceso comparable a la de los

Page 300: 6721122 D057 Tecnologia Del PC

registros del procesador, es decir, más rápida que la DRAM. Actualmente (2001) estas memorias SRAM tienen tiempos de acceso del orden de 2 a 15 ns o menos. En cambio su empaquetamiento es menos denso. La SRAM es hasta 30 veces más grande que una DRAM equiparable, y consecuentemente más costosa.

§4 EDO

La memoria EDO ("Extended Data Output") es una innovación reciente (1995) en la tecnología de la DRAM. Permite a la UCP tener acceso a la memoria un 10 o 15% más rápido que en los chips comparables.

§5 Rambus

La memoria Rambus RDRAM ...

§6 DDR-SDRAM

La memoria DDR-SDRAM("Double Data Rate-Synchronous DRAM"), también denominada SDRAM II, es una variedad de memoria RAM síncrona dinámica, que soporta transferencia de datos en ambos flacos del ciclo de reloj, por lo que dobla el rendimiento de las memorias convencionales (que solo utilizan un flanco de cada ciclo para las transferencias). Además este tipo de memoria consume menos energía, lo que la hace especialmente indicada para equipos portátiles.

Nota: La memoria DRAM síncrona SDRAM, es una nueva tecnología de RAM dinámica que utiliza un reloj para sincronizar la entrada y salida de señales en los chips de memoria. El reloj está sincronizado con el del sistema, de forma que la UCP y la memoria están sincronizadas. Esto hace que la DRAM sincróna ahorre tiempo al ejecutar comandos y transmitir datos.

§6.1 La pugna Rambus & DDR

Page 301: 6721122 D057 Tecnologia Del PC

Aunque esta tecnología fue anunciada hace algunos años, sin embargo pasó cierto tiempo antes que aparecieran las primeras unidades disponibles comercialmente. La razón principal para este largo retraso ha sido la posición casi monopolística de la compañía Intel en el mercado de las placas-base y de los chipsets. Intel había anunciado que las futuras memorias de alto rendimiento no serían las DDR-SDRAM, sino el tipo Rambus (RDRAM). Entonces parecía que la DDR-SDRAM nunca aparecería como memoria principal en los PCs porque los productos no soportados por los procesadores Intel morían en un corto periodo de tiempo.

A pesar de todo las cosas fueron por otro camino, y la tecnología Rambus no ha sido capaz de detener la DDR-SDRAM. El maridaje con Rambus por parte de Intel inició un largo periodo de fallos en esta compañía. Además, el máximo competidor de Intel, la compañía AMD, inició por este tiempo el desarrollo de su arquitectura K-7, hoy conocida como Athlon y Duron, que han sido recibidos muy positivamente por el mercado. AMD ganó cuota de mercado mientras Intel la perdía. El fabricante Taiwanés de chipset VIA technologies se benefició también de la política Rambus de Intel, y finalmente se dispuso de todo el soporte necesario para el lanzamiento exitoso de la tecnología DDR-SDRAM. Intel ha tenido que admitir que algunos productos pueden tener éxito comercial incluso sin su bendición. Actualmente Intel ha anunciado su ruptura con Rambus y sabemos que pronto habrá chipsets Intel con soporte para DDR-SDRAM.

§6.2 Especificación DDR

El principio básico de DDR-SDRAM es muy simple (aunque su realización práctica sea un poco más complicada). Los nuevos módulos de memoria utilizan la misma velocidad de reloj que la SDRAM normal, pero son capaces de manejar el doble de datos porque utilizan ambos flancos del ciclo de reloj para las transferencias. Por esta razón su denominación suele contener un número que es el doble de la velocidad de bus para la que es adecuada. Por ejemplo, la DDR400 puede efectuar 400 millones de transferencias por segundo en un bus a 200 MHz, con lo que su ancho de banda equivaldría al de una SDRAM normal en un bus de 400 MHz..

Esta tecnología ya era conocida de antes, ya que AGP2x y JDEC están ya trabajando con la

Page 302: 6721122 D057 Tecnologia Del PC

especificación DDR II, que pueden duplicar una vez más la velocidad de transferencia utilizando la tecnología cuádruple conocida en AGP4x o en el bus Pentium 4, pero DDR-SDRAM presenta otra mejora importante sobre la SDRAM PC133; utiliza una tensión de alimentación de 2.5 V. en lugar de los 3.3 usuales de las placas-base modernas. Esto, unido a las capacidades más bajas en el interior de los chips de memoria, conducen a una reducción significativa en el consumo energético, lo que hace a la DDR-SDRAM muy atractiva para el mercado de portátiles.

La última tendencia (2004) es la especificación SDRAM PC3200, que permite utilizar una tecnología denominada de doble canal. Los procesadores que la soportan pueden transferir datos al cuádruple de la velocidad del reloj del bus. Se considera ideal que la memoria pueda soportar esta velocidad porque esto descarga el trabajo del chipset de control, pero como actualmente las memorias solo permiten transferencias al doble de la velocidad del bus, la tecnología de doble canal permite utilizar dos módulos estándar de 64 bits que trabajan en paralelo dentro de un canal de 128 bitrs, lo que permite alcanzar una velocidad efectiva de 4 transferencias por ciclo de reloj.

Inicio.

[1] El controlador de memoria realiza el refresco por zonas, pero de forma que la totalidad de la memoria queda dividida en 128 zonas, por lo que toda la memoria ha sido renovada después de 128 ciclos de refresco parcial, es decir, el refresco de cada bit queda garantizado cada 1.92 milisegundos ( 15 · 10-6 · 128 = 1.92 · 10-3 s).

Inicio

|Índice| Copyright © 2000-2006 Zator Systems. NO software patents

Page 303: 6721122 D057 Tecnologia Del PC

Tecnología del PC[Home] [Inicio] [Índice]

Subir

5.3.3 Memorias: Montaje físico

§1 Sinopsis

Actualmente (2002) la memoria principal está constituida por un conjunto de chips montados sobre una tarjeta de circuito impreso PCB ("Printed Circuit Board"), que se inserta en zócalos especiales situados en la Placa-base y que se denomina módulo de memoria. Por lo general los zócalos no están solos, se agrupan formando bancos, que se numeran empezando por el cero; a su vez pueden existir varios bancos.

Page 304: 6721122 D057 Tecnologia Del PC

Los chips de memoria pueden ser de varias clases (que se muestran en la figura). En los primeros equipos eran chips DIP ("Dual In-line Package") con dos filas de patillas a cada lado. Este formato era sumamente popular cuando se instalaban los chips de memoria directamente en la placa-base (directamente soldados o en zócalos).

Los chips SOJ ("Small Outline J-lead") y TSOP ("Thin, Small Outline Package") no se montan en zócalos, van soldados directamente a los PCB de los módulos. TSOP es con diferencia el más popular.

Como veremos a continuación existen varios tipos de módulos; cada uno representa un estándar de alojamiento físico de memoria en la placa-base. Este estándar define las características geométricas. El resto de características, incluyendo las eléctricas pueden variar.

Nota: Aunque la estructura física es de bancos, la estructura eléctrica es de una matriz de filas y columnas, en cada una de cuyas posiciones hay un byte (octeto). La estructura lógica es un espacio único de direcciones numeradas, desde 0 al límite superior de la memoria existente. Cada número corresponde a la dirección lógica de un

Page 305: 6721122 D057 Tecnologia Del PC

octeto.

§2 SIMM

Un módulo de memoria bastante común es el SIMM ("Single In-line Memory Module"). Este módulo aloja varios chips de DRAM, y los hay de varios tipos, de 30 y 72 contactos, y se alojan en ranuras SIMM de la placa base, adoptando una posición perpendicular a esta [3].

Nota: en realidad, puesto que los contactos están por ambas caras de la placa, estos módulos tienen 60 y 144 contactos respectivamente. Aunque desde un punto de vista eléctrico sean solo la mitad, porque los de ambas caras están unidos entre sí.

Los módulos SIMM de 30 contactos permiten leer y escribir 8 bits (1 byte) en paralelo, por lo que si el procesador es de 32 bits (4 bytes) y utiliza SIMM de 30 contactos, cada banco debe tener 4 módulos (esta es una configuración común en las placas que utilizan estos módulos).

Por su parte, los SIMM de 72 contactos permiten acceder a 32 bits (4 bytes) en paralelo. Si se tiene una máquina de 32 bits, por ejemplo, un Intel 80486 o el Motorola 68040, se necesita un solo SIMM de 72 contactos por banco (en cambio se necesitarían 4 módulos SIMM de 30 contactos por banco para proporcionar 32 bits de datos cada vez).

Tipo de SIMM Formato Capacidad

30 contactos

512 K x 81 M x 84 M x 8

512 KB1 MB4 MB

§2.1 Identificación de los SIMM

Los SIMM se identifican en términos de ancho y alto, en la forma A x B. Contra lo que podría creerse estos valores no indican sus dimensiones físicas, sino su capacidad y si dan soporte a la paridad.

En la tabla adjunta se muestran algunos ejemplos de los SIMM más populares de 30 y 72 contactos. Observe que los que tienen paridad se identifican por

Page 306: 6721122 D057 Tecnologia Del PC

512 K x 9 (paridad)1 M x 9 (paridad)4 M x 9 (paridad)

512 KB1 MB4 MB

72 Contactos

256 K x 321 M x 322 M x 324 M x 328 M x 32

1 MB4 MB8 MB16 MB32 MB

256 K x 36 (paridad)1 M x 36 (paridad)2 M x 36 (paridad)4 M x 36 (paridad)8 M x 36 (paridad)

1 MB4 MB8 MB16 MB32 MB

el formato "x9" o "x36". Esto se debe a que como se ha indicado ( 5.3.1), el mecanismo de paridad añade 1 bit por cada 8 bits de datos, de modo que los SIMM de 30 contactos, que proporcionan 8 bits por ciclo, deben proporcionar en realidad 9. Por su parte, los de 72 contactos, que proporcionan 4 octetos deben añadir 4 bits de paridad, por lo que en realidad proporcionan 36 bits.

§3 DIMM

Los módulos DIMM ("Dual in-line Memory Module") son parecidos a los SIMM, y están dotados de 168 contactos (84 por cara). La diferencia es que los contactos de ambas caras no están unidos entre sí, y forman contactos separados. Como puede fácilmente deducirse, estos módulos proporcionan acceso paralelo a 64 bits de memoria, por lo que pueden dar servicio a placas con procesadores tipo Pentium II de Intel o IBM Power PC.

La imagen muestra un módulo DIMM de 168 contactos, con 16 MB de SDRAM, junto con un antiguo chip DIL de 16

contactos con 2 KB de DRAM.

Page 307: 6721122 D057 Tecnologia Del PC

§4 SO DIMM

El SO DIMM ("Small Outline Dual in-line Memory Module") es un tipo de DIMM de perfil pequeño. Ha sido diseñado para ordenadores en los que se dispone de poco espacio, por ejemplo "laptops" y portátiles. Aunque conserva los 168 contactos de las DIMM normales, sus dimensiones han sido reducidas a 66 x 25 mm. En la figura adjunta se muestra un módulo SO DIMM de 5 V. y 16 MB.

§5 DIMM DDR

Las nuevas memorias DDR vienen montadas en módulos DIMM un tanto especiales que no son compatibles con los DIMM SDRAM que se utilizan actualmente (2002). Los nuevos DIMMs DDR vienen con 184 contactos en lugar de los 168 utilizados por los DIMM SDRAM. El módulo parece idéntico a las antiguas SDRAM, pero como puede verse en la figura adjunta, tienen solo una ranura en lugar de las dos que aparecen en los DIMMs SDRAM.

La nomenclatura oficial es algo confusa. Originalmente fue PC200 para la DDR-SDRAM que opera en un bus a 100 MHz (el 200 es porque utiliza ambos flancos), y PC266 para el bus de

Page 308: 6721122 D057 Tecnologia Del PC

133 MHz. Después que Rambus utilizara las designaciones PC600, PC700 y PC800 para sus módulos RDRAM, que "suena" como algo más rápido que PC200 o PC266 (aunque no lo sean), la industria de memorias utilizó las designaciones PC1600 y PC2100. Observe que mientras la numeración utilizada en PC200 y PC266 se refiere a las velocidades reales de reloj en las transferencias, PC1600 y PC2100 se refieren a las velocidades máximas (de pico) en MBps. Por tanto, PC200 es lo mismo que PC1600 (64 bit * 2 * 100 MHz = 1600 MBps); y PC266 es igual que PC 2100 (64 bit * 2 * 133 MHz = 2133 MBps).

§6 Memorias propietarias

Son módulos de memoria de diseño específico para algún ordenador o fabricante particular. Tienen el inconveniente de que en caso de avería o ampliación, deben ser adquiridas directamente al fabricante del ordenador. Este tipo de memoria no es frecuente en ordenadores de escritorio ("Desktops"). Es más frecuente en portátiles; "Palmtops"; "Handhelds", etc.

§7 Refrigeración de la memoria

Aunque los perfeccionamientos tecnológicos han permitido disminuir el consumo, la disminución paralela de su tamaño y el incremento de su velocidad de funcionamiento, han propiciado la aparición de problemas de calentamiento en los módulos de memoria. Algo que no ocurría en los primeros modelos, donde la superficie específica de las mismas (cm2/bit) era alta. Como consecuencia, de un tiempo a esta parte (2004), se han introducido elementos de refrigeración en los módulos DIMM que aparecen como una superficie metálica que cubre ambos laterales. Aunque algunos tipos de memoria solo montan chips en una de sus caras, la lámina metálica, que está en contacto con los chips, se prolonga hasta la cara opuesta. Su misión es aumentar la superficie de refrigeración y ayudar a disipar el calor producido.

Inicio.

Page 309: 6721122 D057 Tecnologia Del PC

[3] He visto algunas placas (raras) con los módulos inclinados oblicuamente. En los portátiles la posición suele ser paralela a la placa-base, con el fin de disminuir el grosor (altura) del conjunto.

Inicio

|Índice| Copyright © 2000-2006 Zator Systems. NO software patents

Page 310: 6721122 D057 Tecnologia Del PC

Tecnología del PC[Home] [Inicio] [Índice]

Subir

6.1 La interfaz ATA/IDE

§1 Antecedentes

Recordemos que el IBM PC nació en Agosto de 1981; que a principios de 1983 nació el PC XT, y que el IBM AT nació en en verano (boreal) de 1984. Precisamente este año tiene su origen el estándar IDE, con un encargo de Compaq a Western Digital. Compaq necesitaba una controladora compatible con el estándar ST506, pero debido a la falta de espacio en el interior de un nuevo modelo de PC, la interfaz debía estar integrada en el propio disco, de ahí el nombre: IDE ("Integrated Drive Electronics"). Toda la electrónica de control se concentra en el dispositivo a controlar (el disco duro), con lo que puede conectarse directamente el disco con el bus del sistema. Las primeras unidades IDE son de 1986.

La realización práctica estaba acompañada de una serie de normas denominadas AT Attachment (ATA) que establecían las condiciones que deben seguir los fabricantes de este tipo de unidades. El sistema fue adoptado rápidamente por otros fabricantes, y en 1994 fue aprobada la primera versión del estándar ATA.

Nota: Aunque se la conoce con los dos nombres, IDE y ATA, en realidad su verdadero nombre es este último, ya que "AT Attachment" indica la intención original de conectar directamente una unidad de disco (y su controladora incrustada), en el bus del IBM PC AT de 1984.

Page 311: 6721122 D057 Tecnologia Del PC

§2 Características

El sistema IDE/ATA dispone de varios métodos para efectuar el movimiento de datos, incluyendo la emulación de cualquier formato anterior, e incorpora un nuevo formato de grabación, denominado de zona múltiple MZR ("Múltiple Zone Recording") que consigue mayor densidad de grabación y por tanto mayor capacidad en los discos. Además, se implementaron dos sistemas de traducción de los parámetros físicos de la unidad. Estos sistemas se denominan CHS ("Cylinder Head Sector") y LBA ("Logical Block Addressing"), y permitían solventar algunas limitaciones derivadas del diseño inicial de los servicios BIOS de disco ( 6.2).

La especificación inicial permitía una tasa de transferencia de 4 MB/s, y supuso una simplificación en la instalación y configuración de los discos duros. Sin embargo, pronto se manifestaron sus carencias, de forma que desde su aparición ha sufrido constantes actualizaciones y mejoras, apareciendo versiones de los diversos fabricantes bajo diversos nombres. Enhanced IDE (EIDE), Ultra-ATA, ATA-2, ATAPI, Fast-ATA, ATA-2, ATA-3, Etc.

Sus principales defectos se concretaban en la capacidad de almacenamiento, que debido a limitaciones de la BIOS, no podía exceder de 528 MB. También a la capacidad de conexión, ya que solo podían coexistir dos dispositivos IDE en el sistema (denominados unidad maestra y esclava), y la ya mentada velocidad de transferencia (4 MB/s) que pronto se mostró insuficiente.

A continuación se muestra una sinopsis cronológica de los avatares sufridos por el sistema desde su nacimiento.

Estándar Comentario

IDE 1986 Pre-estándar.

ATA-1 ANSI X3.221-1994. Define los modos PIO 0-2 y multi-word DMA modo 0.

Page 312: 6721122 D057 Tecnologia Del PC

ATA-2 ANSI X3.279-1996. En 1996, como solución a los problemas planteados anteriormente, surgió la interfaz EIDE ("Extended IDE") o IDE mejorada, logrando un significativo aumento en flexibilidad y prestaciones. Su estándar fue definido en la norma norma ATA-2, que definía los modos PIO 3-4 y multi-word DMA modo 1-2 ( 2.3), que permiten alcanzar un máximo de 16,6 MB/s. Otra mejora en la interfaz EIDE se reflejó en el número de unidades que podían ser instaladas al mismo tiempo, que se aumentó a cuatro . Más aún, se habilitó la posibilidad de que coexistieran unidades de CD-ROM y de cinta en el sistema. Para ello se ideó la norma ATAPI (AT Attachment Packet Interface), una extensión del protocolo ATA creada con el fin de aportar un único conjunto de registros y mandatos, y de esta forma facilitar la coexistencia de estas unidades. Por extensión se denominan así aquellos dispositivos que cumplen esta norma.

El interfaz EIDE posee dos canales relativamente independientes: primario y secundario, a cada uno de los cuales se pueden conectar dos dispositivos (maestro y esclavo), lo que da un total de cuatro conexiones. Dichos dispositivos pueden ser discos duros, lectores y grabadores de CD-Rom, unidades de cinta y de disquetes de alta capacidad. En un canal EIDE los dos dispositivos conectados deben de turnarse en el uso del bus. Si hay un disco duro conectado con un CD-Rom en el mismo canal, aquel deberá esperar a que éste acabe su comunicación, lo que produce una pérdida de prestaciones. Por eso es buena idea conectar el CD-Rom como master del segundo canal, ya que los dos canales son más o menos independientes entre sí, dependiendo del chipset.

Page 313: 6721122 D057 Tecnologia Del PC

ATA-3 ANSI X3.298-1997. Introducida en 1997, esta tecnología incluyó mejoras en la fiabilidad; especialmente del PIO modo 4; esquema de seguridad basado en contraseña; posibilidad de gestionar una alimentación eléctrica mas sofisticada y tecnología SMART ("Self Monitoring Analysis and Reporting Technology"), capaz de análisis y auto observación del dispositivo, que permite prevenir fallos antes de que ocurran [3].

Esta norma incluye además comandos que pueden interrogar al disco sobre sus parámetros. Fabricante, modelos, versión del firmaware, geometría, Etc. (ver programas de ejercicios ).

Nota: Los equipos de Western Digital www.wdc.com disponen de sectores especiales ocultos (denominados ficheros WDC) que contienen información muy interesante sobre los propios discos y su firmware. Estos sectores pueden verse utilizando funciones específicas (no documentadas) de este fabricante.

La norma ATA-3 fue un paso intermedio que incluía la función SMART en busca de una mayor fiabilidad de los discos, pero sin añadir ninguna mejora a los 16 MB/s de la norma anterior.

Page 314: 6721122 D057 Tecnologia Del PC

ATA-4 Como era de esperar, en 1998 llegó la norma ATA/ATAPI-4, más conocida por Ultra DMA/33, DMA-33 y Ultra ATA. Incorpora un nuevo modo de alto rendimiento, Ultra DMA modo 0-2, que permite transferencias de 33 MB/s, el doble que el DMA modo 2, siendo este estándar el que actualmente impera en la mayoría de los ordenadores de consumo (2001).

La norma ATA-4 introdujo el estándar CRC ("Cyclical Redundancy Check"), un sistema que proporciona verificación y protección de los datos en la fase de transmisión, contando para ello con un algoritmo de comprobación de 32 bits. El algoritmo CRC puede detectar errores de hasta 32 bits, e informa sobre ellos sin necesidad de introducir ningún tipo de modificación en el software. La función CRC ofrece un elevado nivel de fiabilidad en la transmisión de datos al asegurar la integridad de la información transferida.

ATA-5 El estándar ATA/ATAPI-5, denominado también Ultra ATA/66 y Ultra DMA/66, apareció en el año 2000 y añade nuevos modos de transferencia a los anteriores estándares PIO, el modo 3 a 44,4 MBps y el modo 4 a 66,6 MBps, así como Ultra DMA modos 3-4. El nuevo estándar es compatible hacia atrás con los anteriores, heredando la verificación CRC para los datos transferidos.

ATA-6 Aparecido en 2002, el estándar ATA/ATAPI-6 es conocido también como Ultra DMA/100, en atención a su velocidad de 100 MB/s. Incorpora Ultra DMA modo 5 y direccionamiento LBA de 48 bits.

ATA-7 Del 2003 y conocido también como Ultra DMA/133, el estándar ATA/ATAPI-7 es, por el momento, el más reciente. Alcanza 133 MB/s y utiliza Ultra DMA modo 6.

Page 315: 6721122 D057 Tecnologia Del PC

§3 Ventajas e inconvenientes:

La inclusión de la controladora en la unidad de disco permitió eliminar la necesidad de dos cables separados (control y datos) que unían las antiguas controladoras con las unidades de disco, bastando un único cable que sirve como bus de datos y de control. Este diseño tiene además la ventaja de que se reduce el número total de componentes, las trayectoria de las señales es más corta y por tanto menos vulnerable a las interferencias electromagnéticas.

Estar la controladora embebida en el disco dio mucha libertad a los diseñadores, ya que no había ninguna otra cosa que pudiera conectarse a esta controladora, lo que mejoró las prestaciones de las unidades. Sin embargo presenta también sus inconvenientes. Algunas áreas de las normas ATA dejaron cierta libertad a los diseñadores, lo que motivó comandos específicos de los proveedores. Esto hace que sea difícil dar formato de bajo nivel a estas unidades y redefinir sus tablas de sectores defectuosos, ya que los comandos cambian de un proveedor a otro. La mayoría de fabricantes de unidades ATA ofrecen el software de formateo a bajo nivel en sus sitios Web.

Nota: Siempre se ha de tener muy en cuenta que la velocidad de transferencia que puede soportar el puerto del sistema debe exceder la velocidad media de los dispositivos conectados a él. Es decir, la tasa de transferencia permitida por los puertos IDE debe ser mayor que la tasa media que pueden alcanzar los discos duros conectados a éste. Si no fuera así, el rendimiento del equipo se vería reducido significativamente debido a las mayores prestaciones de los nuevos discos duros que ocasionarían graves atascos en el bus, motivado por los frecuentes períodos en los cuales el buffer de memoria estaría lleno o vacío en operaciones, generalmente, secuenciales de lectura o escritura, respectivamente.

§4 Modos de transferencia

Aparte de las distintas interfaces, la velocidad de transferencia de un disco viene determinada por los modos de transferencia que pueden soportar tanto la controladora como el disco duro. Los dispositivos IDE pueden transferir información principalmente empleando dos métodos: PIO y DMA. El modo PIO (Programmed I/O) depende del procesador principal del ordenador para efectuar el trasiego de datos repercutiendo en el rendimiento del sistema.

Page 316: 6721122 D057 Tecnologia Del PC

Por el contrario, en el método DMA (Direct Memory Access), el procesador del equipo se desentiende de las operaciones concernientes al disco duro, dejando estas labores a un chip dedicado, el controlador DMA.

La variante de la transferencia DMA usada actualmente en los discos duros es la BusMaster DMA. Esta modalidad aprovecha las ventajas de los chipsets de las placas base, cada vez más optimizados para estas labores (de acceso directo a memoria). Además de liberar al procesador, puede obtener por parte de éste un control casi total, de forma que la información sea transferida con la máxima prioridad. Asimismo, existen dos tipos de modos DMA, singleword y multi-word, si bien el primero quedó obsoleto con la aparición de la norma ATA-2.

Desde luego, para disfrutar de esta técnica es preciso contar con los correspondientes controladores (drivers), que deben cargarse previamente.

Con el IDE original se usaban los modos de transmisión PIO O, 1 y 2, que podían llegar a unos 8 MBps o el DMA (single-word O, 1 y 2 o multi-word O) que no superaba esta cifra. El estándar Fast ATA amplió los modos PIO al 3, y estableció el multi-word DMA 1, con lo que se logró una tasa entre 11 y 13 MBps.

§5 Conexión

Por lo general, el conector IDE/ATA de la placa-base es un sencillo conector de 40 pines al que se abrocha un cable plano, que va desde la placa-base a la unidad de disco [2]. Estos pines son un subconjunto de los 98 contactos de las ranuras ISA de 16 bits. La razón es que un controlador de disco nunca necesita más de 40 señales del bus ISA.

Nota: Las unidades muy pequeñas, principalmente de equipos portátiles, no disponen de espacio para un conector de alimentación independiente, por lo que utilizan un conector con 44

Page 317: 6721122 D057 Tecnologia Del PC

Pin Descripción Pin Descripción1 -RESET 2 GND

3 Data bit 7 4 Data bit 8

5 Data bit 6 6 Data bit 9

7 Data bit 5 8 Data bit 10

9 Data bit 4 10 Data bit 11

11 Data bit 3 12 Data bit 12

13 Data bit 2 14 Data bit 13

15 Data bit 1 16 Data bit 14

17 Data bit 0 18 Data bit 15

19 GND 20 (falta este pin)

21 DRQ 3 22 GND

23 -IOW 24 GND

25 -IOR 26 GND

27 IOCHRDY 28 SPSYNC:CSEL

29 -DACK 3 30 GND

31 IRQ 14/15 32 -IOCS16

33 Addr bit 1 34 -PDIAG

35 Addr bit 0 36 Addr bit 2

37 -CS1FX 38 -CS3FX

39 -DA/SP 40 GND

pines, en el que los 4 pines adicionales se utilizan para alimentación de energía.

El cable de 40 hilos no asegura una transmisión correcta cuando se emplean frecuencia superiores a 44,4 ó 66,6 MBps para la transferencia de datos, ya que el sistema se vuelve inestable debido a las interferencias electromagnéticas (EMI). Para asegurar la calidad de transmisión, se empezó a utilizar un cable con 80 hilos que mantiene la misma configuración en el conector de 40 pin, pero con 40 líneas adicionales de tierra (GND). En otras palabras, las 40 nuevas líneas están todas conectadas a tierra sin que transporten ningún tipo de señal, pero protegen las señales de datos de posibles interferencias.

Es frecuente que los conectores IDE falte el pin 20 (que nunca se utiliza) o esté anulado en el lado del conector instalado en el cable (hembra). Esto se hace para evitar que este cable pueda ser insertado al revés, aunque también suele instalarse un conector polarizado (que dispone de una muesca que hace que solo pueda conectarse en la posición correcta).

También se utilizan conectores de 68 pines para las unidades IDE montadas en tarjetas PC-CARD (PCMCIA).

Page 318: 6721122 D057 Tecnologia Del PC

En la tabla adjunta se muestra el esquema de conexiones de un disco IDE.

La selección de unidad maestra/esclava dentro de cada uno de los dos canales, puede realizarse mediante puentes ("Jumpers") instalados en la propia unidad de disco o mediante cable. La teoría es que cada controlador solo debe responder a los comandos que van dirigidos a él. En principio si se instala una sola unidad, esta responde a todos los comandos (es la configuración denominada maestra unidad simple), pero cuando se instala un segundo disco, uno de los controladores debe estar asignado como maestro y otro como esclavo (son las configuraciones mestro unidad doble y esclavo unidad doble). En el momento de inicio del Sistema, la unidad configurada como esclava envía una señal DA/SP ("Device Activated/Slave Present"), por la línea 39, lo que hace que a partir de ahí, la maestra ponga atención a la línea de selección de unidad (lo que no hace si está sola).

En ocasiones la selección puede hacerse mediante el propio cable. En estos casos, los jumpers de la unidad maestra y esclava se ponen en la misma posición CS -"Cable Selection"-. Una de las unidades, la maestra tiene conexión con todos los hilos del cable, pero la unidad esclava no tiene conexión con la línea 28, que está interceptada antes de llegar a esta controladora. Todos los cables de 80 conductores UltraATA de 80 conductores están diseñados para usar selección por cable.

La inmensa mayoría de las placas-base actuales disponen de dos conectores IDE/ATA, ya que esta interfaz es con mucho la más popular. Sin embargo, si no se dispusiera de ella, es posible disponer una tarjeta auxiliar adaptadora que si disponga de estos conectores y que pueda insertarse en uno de los zócalos ISA o PCI de la placa-base.

§5.1 En los sistemas Linux es fácil comprobar la disposición lógica de las unidades IDE conectadas (en su caso), así como el método de transferencia utilizado, consultando el contenido del fichero /proc/ide/piix mediante el comando

cat /proc/ide/piix

En el caso de uno de mis equipos de trabajo (con una sola unidad de disco) el resultado es el siguiente:

Page 319: 6721122 D057 Tecnologia Del PC

Controller: 0 Intel PIIX4 Ultra 33 Chipset. --------------- Primary Channel ---------------- Secondary Channel ------------- enabled enabled --------------- drive0 --------- drive1 -------- drive0 ---------- drive1 ------ DMA enabled: yes no no no UDMA enabled: yes no no no UDMA enabled: 2 X X X UDMA DMA PIO

Una vez averiguadas las unidades instaladas en el sistema, es fácil indagar el detalle de las características de tales unidades inspeccionando los directorios correspondientes:

Canal primario unidad maestra /proc/ide/ide0/hda

Canal primario unidad esclava /proc/ide/ide0/hdb

Canal secundario unidad maestra /proc/ide/ide1/hdc

Canal secundario unidad esclava /proc/ide/ide1/hdd

Cada uno de estos directorios contiene una serie de ficheros con distinto tipo de información sobre la unidad que pueden ser leídos con el comando cat correspondiente. Por ejemplo, en el caso anterior, el comando cat /proc/ide/ide0/hda/model produce:

HITACHI_DK23BA-15

En los ejercicios se muestran otros métodos para obtener información detallada de los

Page 320: 6721122 D057 Tecnologia Del PC

dispositivos IDE conectados en el sistema .

§6 Integridad en la transferencia de datos:

La interfaz ATA original se basaba en una lógica TTL ("Transistor-Transistor Ligic") y se fundamenta en el viejo protocolo para el bus ISA. Este protocolo usaba un método de transferencia de datos asíncrono, en el que tanto los comandos como los datos eran intercambiados con el dispositivo en un pulso de la señal, pero sin que existiera una interconexión entre ambos tipos de señales. Es decir, cada pulso podía transportar únicamente datos u órdenes (comandos).

Para mejorar el bus ATA, con los modos de transferencia ATA-2 y ATA-3 se modificó el tipo de señalización, pasando a un nuevo método que consistía en el envió de datos en pulsos síncronos. En este modo de funcionamiento, la unidad controla la señalización sincronizando las señales de datos y comandos en un mismo pulso pero sólo en el flanco positivo de la señal.

Para aumentar el rendimiento en este entorno, lo más lógico era incrementar la frecuencia de la señalización. El incremento de la frecuencia incidiría directamente en un incremento de la tasa de transferencia, pero a frecuencias elevadas el sistema se vuelve inestable debido a las interferencias electromagnéticas (EMI) llegando a producirse errores en la transmisión de los datos.

El siguiente paso, ATA-4, se basó en el uso de los flancos positivo como negativo de la señal, doblando así la frecuencia de transmisión sin incrementar la frecuencia, por lo que las interferencias y perturbaciones EM mantenían sus niveles anteriores. El resultado inmediato de la nueva técnica fue doblar la tasa de transferencia de datos. Asimismo, el Ultra DMA/33 redujo al mínimo las demoras en la transmisión de los datos y consecuentemente, la eliminación de estos retrasos mejoró el rendimiento global.

Con el protocolo Ultra DMA/66 se dobla nuevamente la velocidad de transferencia en los disco duros IDE mediante dos técnicas: Reducción de los tiempos de iniciación y el aumento de la frecuencia de sincronismo.

Page 321: 6721122 D057 Tecnologia Del PC

Por otro lado, el Ultra ATA/33 ya introdujo en su día el estándar CRC ("Cyclical Redundancy Check"), un sistema que proporciona verificación de datos y detección de errores de transmisión mediante un algoritmo de comprobación de 32 bits. Esta característica ha continuado en la especificación ATA-5, de modo que ha sido heredada por Ultra ATA/66. El algoritmo CRC ofrece un elevado nivel de fiabilidad, pudiendo detectar errores de hasta 32 bits, lo que garantiza una casi total seguridad en la integridad de la información [5].

§9 Evolución

Desde su concepción en 1986, la interfaz ATA/IDE ganó aceptación rápidamente. Tanto los fabricantes de placas-base y chipsets, con Intel a la cabeza, como los principales fabricantes de discos, como Fujitsu, IBM, Maxtor, Quantum, Seagate, Toshiba y Western Digital entre otros, aunaron esfuerzos para sacar adelante este iniciativa que se ha mantenido al día gracias a las constantes mejoras en el rendimiento y fiabilidad.

Puede decirse que la especificación inicial ATA ha ido "estirándose" al máximo para sostener el paso de la exigencia, siempre creciente, de más prestaciones en los equipos. Que, en lo que a las interfaces se refiere, puede resumirse en dos palabras: mayor velocidad. El estándar ATA/IDE prácticamente ha copado el mercado de equipos domésticos desde 1997/98 hasta la actualidad (2005). Sin embargo, a partir del 2002 empezó a ceder protagonismo en los sistemas personales de gama alta, en los que empezaba a emerger un nuevo estándar de arquitectura serie conocido como SATA ("Serial ATA 6.5).

§10 Los discos ATA/IDE

Existen algunos aspectos lógicos respecto a los discos ATA/IDE que hemos mencionado de pasada, pero que conviene resaltar. El controlador de disco utilizado por los ATs utilizaba la dirección 1F0h ( 2.5) e IRQ 14 ( 2.4). Que, como se ha indicado, solo permitía instalar dos unidades (maestra y esclava). Sin embargo, a fin de aumentar el número de unidades que pudieran conectarse al mismo tiempo, se obligó a los fabricantes de sistemas y BIOSes a soportar controladores secundarios (dirección 170h, IRQ 15). Presentes desde siempre en el diseño del PC AT pero nunca usados hasta entonces. De esta forma que se conseguía

Page 322: 6721122 D057 Tecnologia Del PC

montar otras dos unidades (maestra y otra esclava) como secundarias. La terminología común ha acabado refiriéndose a estos dos controladores como "canales", de forma que es frecuente referirse a ellos como el primer y segundo canal IDE.

La situación actual es que los equipos disponen de dos canales IDE (primario y secundario), cada uno de los cuales puede instalar dos unidades físicas distintas (maestra y esclava). Dependiendo del sistema operativo, cada una de estas unidades puede contener 2 (DOS-Windows) o 4 (Linux) particiones primarias [1].

Nota: Lo que sigue es de aplicación a todo tipo de discos, no solo a los ATA/IDE.

Bajo ciertas condiciones, una partición primaria puede contener un número ilimitado de particiones lógicas (también llamadas volúmenes lógicos) que aparecen frente al Sistema Operativo como unidades de disco independientes. De forma que pueden ser formateados individualmente, y disponen de su propio sistema de directorios (incluso pueden montar distintos Sistemas Operativos). De hecho, desde el explorador del Sistema, es imposible saber si tales discos corresponden realmente a distintas unidades físicas. Véase al respecto el ejercicio Linux del capítulo siguiente ( 6.2).

De las 4 particiones primarias, una puede ser declarada partición extendida (un tipo especial de partición primaria), que puede contener distintos volúmenes lógicos (solo una partición extendida en cada unidad física). Por esta razón es posible que encuentre referencias a particiones primarias, particiones extendidas y volúmenes lógicos. Aunque en realidad, todas se refieren a cierta forma de partición lógica dentro de la unidad física.

Una de las particiones puede estar marcada como principal. Lo que indica que el la tabla de particiones del registro maestro de carga MBR ( 8.1.2c), contiene una marca especial señalando que el primer sector de dicha partición, contiene el software necesario para la carga del Sistema Operativo durante la secuencia de arranque inicial del Sistema.

Nota: En los equipos que montan varios sistemas operativos. Por ejemplo, Windows y Linux, el software anterior carga un pequeño programa (puede ser GRUB, LILO o cualquier otro) que permite seleccionar como continuará la secuencia de carga.

Page 323: 6721122 D057 Tecnologia Del PC

Mencionemos finalmente que en el SO Windows, las particiones aparecen siempre como unidades distintas (designadas por las letras C:, D:, E:, F:, etc). En cambio, en Linux es posible montar las distintas particiones en una sola estructura lógica a partir del directorio raíz "/". Además Linux suele utilizar una partición primaria para su propio uso (la denominada "Swap") que, en caso necesario, es utilizada por el Sistema como una extensión, aunque muchísimo más lenta, de la memoria RAM principal.

§11 Ejercicios

● Utilizar el programa Ideinfo www.tech-pro.co.uk Utilidad MS_DOS de Julian Moss para mostrar información sobre los discos IDE / ATA. Puede mostrar el número de cilindros, cabezas, sectores por pista y el tamaño total. Esta información es útil en caso de unidades antiguas de las que se necesita conocer los parámetros del disco instalado pero la CMOS ha perdido la información por agotamiento de las baterías.

● Utilizar el programa Idediag www.penguin.cz Copyright (c) 2000,2001 Martin Hinner [email protected]

● Western Digital TBLCHK WDtblchk Utilidad de Western Digital que proporciona el número de dispositivos físicos detectados en el sistema; el número de dispositivos definidos en la BIOS y características de la tabla de parámetros de cada dispositivo.

Nota: Estos programas, como la mayoría de las utilidades de diagnóstico, se ofrecen sin ningún tipo de garantía. Deben funcionar en MS-DOS nativo (no en una ventana DOS-Windows), y se supone que el usuario es cuidadoso en su manejo y se ejecutan sobre sistemas limpios (sin datos sensibles), o cuando menos, disponiendo de una copia de seguridad. El primero (Ideinfo) es algo antiguo, puede que no funcione sobre sistema IDE actuales, pero puede ser de utilidad para chequear sistemas antiguos. TBLCHK puede ser utilizado sin problemas, dado que no origina ninguna modificación en el equipo (a lo sumo escribir un fichero texto con un resumen de la exploración).

Page 324: 6721122 D057 Tecnologia Del PC

En caso que no funcionen los enlaces anteriores, puede probar con estas copias antiguas que conservo: Ideinfo. Idediag.

● Los usuarios Linux pueden utilizar la utilidad hdparm del propio sistema ( 6.2)

§11 Webografía

● Grupo de trabajo T13 http://www.incits.org/tc_home/t13.htm

Su nombre es Technical Commitee T13, y pertenece al INCITS ("InterNational Committee on Information Technology Standards" http://www.incits.org/ ), una sección del ANSI ("American National Standards Institute") que se ocupa de los estándares relacionados con las tecnologías de la Información. En concreto el grupo T13 se ocupa de las especificaciones ATA.

Nota: Las especificaciones ATA (como la mayoría de normas) tienen un precio; generalmente bastante elevado para el presupuesto de un estudiante. Si desea profundizar en estos temas, en las direcciones adjuntas puede encontrar los últimos borradores de algunos estándares [4]. - Borrador ATA-1 de 6 Agosto 1999. X3T9.2/791Dr4c - Borrador ATA-2 de 2001 X3T9.2/948Dr4c - Borrador ATA-3 de 2002. d2008r7b

Inicio.

[1] El sector de arranque maestro ("Master boot record") de cada unidad física tiene 512 bytes de capacidad. Además de cierto software, este espacio contiene una tabla, denominada tabla de particiones, que no puede albergar más de 4 entradas. El resultado es que las plataformas i386 no permiten utilizar más de 4 particiones primarias en

Page 325: 6721122 D057 Tecnologia Del PC

cada unidad física. Independientemente, las unidades IDE están limitadas a un máximo de 63 particiones, mientras que en los SCSI se reducen a 15. Además el número de sectores de cada partición no puede ser cualquiera; debe corresponder a un número exacto de cilindros.

[2] Se recomienda que el cable plano no exceda de 18 pulgadas (unos 45 centímetros), con objeto de que no se vea afectado por las interferencias.

[3] Esta tecnología se basa en que antes de que ocurran errores fatales en el disco, ciertos parámetros de funcionamiento sufren ligeras alteraciones. Estas alteraciones pueden ser monitorizadas y detectadas en caso de presentarse (es un mantenimiento preventivo). En caso de que una unidad presente ciertos síntomas, debe ser reemplazada inmediatamente.

[4] Por lo general, este tipo de borradores suele coincidir con la norma en lo sustancial, a veces casi exactamente; en otros casos no contienen algunos añadidos de última hora. En cualquier caso ofrecen una magnífica perspectiva de lo que puede encontrarse en el documento oficial.

[5] Puede encontrar una completa descripción de los principios matemáticos del algoritmo CRC y programas de ejemplo en la Web de Reliable Software www.relisoft.com

Inicio

|Índice| Copyright © 2000-2006 Zator Systems. NO software patents

Page 326: 6721122 D057 Tecnologia Del PC

Tecnología del PC[Home] [Inicio] [Índice]

Subir

6.2 Direccionamientos CHS / LBA

§1 La interrupción 13h estándar

Al diseñar el PC XT en 1983, los ingenieros de IBM establecieron que los servicios BIOS relativos al manejo de disco duro serían activados por la línea IRQ5 (IRQ6 se destinaba al disquete). Esta línea generaba la interrupción 19 (13h) cuya rutina de servicio disponía de seis servicios estándar: reinicialización; obtención del estado; lectura; escritura y verificación de sectores, y formateo de pistas. A partir de la introducción del PC AT en 1984, se introdujeron 12 nuevos servicios para disco, incluyendo recalibrado de la unidad, diagnóstico del controlador, Etc. En concreto, los servicios 2h y 3h ofrecen la posibilidad de leer y escribir sectores en el disco, mientras que Ah y Bh ofrecen la misma posibilidad de lectura y escritura para sectores largos.

Estos servicios ofrecen la posibilidad de leer y escribir en las unidades de disco a nivel de sectores individuales (unidades de asignación), para lo que, además del número de unidad, se requiere pasar a la rutina los valores de geometría correspondientes (Cilindro, Cabeza y Sector concretos); lo que se conoce como direccionamiento CHS ("Cilinder Head Sector"). La especificación de IBM establecía que los siguientes valores para dichos parámetros ( 8.1.2c):

Page 327: 6721122 D057 Tecnologia Del PC

Tamaño n del

campo (bits)Valor máximo

teórico 2n Rango permitido Total utilizable

Cilindro 10 1,024 0-1,023 1,024Cabeza 8 256 0-255 256Sector 6 64 1-63 63

Los valores anteriores nos dejan un total de 1024 x 256 x 63 = 16,515,072 clusters. Como en este sistema FAT cada cluster es de 512 bytes, los servicios de la BIOS podían direccionar teóricamente un máximo de 1024 x 256 x 63 x 512 = 8, 455,716,864 Bytes, 8.455 GB [1]. Este es el límite del direccionamiento CHS directo o de la interrupción 13h de la BIOS estándar.

Nota: Observe que la limitación anterior se deriva a que en realidad la BIOS utiliza 10 + 8 + 6 = 24 bits para direccionamiento del cluster, aunque los 6 últimos no pueden ser cero, lo que conduce a 224 - 218 = 16,515,072 clusters de 512 Bytes (8.455 GB). Como se verá más adelante, este direccionamiento ha sido aumentado a 64 bits en las nuevas BIOSes . Resaltar que los valores CHS (cilindro, cabeza y sector) que se manejan, son valores lógicos (lo que se denomina geometría lógica). Los verdaderos valores CHS, correspondientes a la geometría real, son un asunto interno, y solamente conocidos por el controlador de la unidad.

§2 Especificación ATA

Aparte de lo anterior, la especificación ATA ( 6.1) establecía otras limitaciones para los valores de Cilindro, Cabeza y Sector, eran las siguientes:

Page 328: 6721122 D057 Tecnologia Del PC

Tamaño del campo

(bits)

Valor máximo teórico

Rango permitido

Total utilizable

Cilindro 16 65,536 0-65,535 65,536Cabeza 4 16 0-15 16Sector 8 256 1-255 255

Los límites ATA eran por tanto 65536 x 16 x 255 = 267,386,880 clusters, o lo que es lo mismo: 136,902,082,560 bytes (136.902 GB).

§3 BIOS estándar con unidad IDE

La instalación de una unidad IDE en un PC tradicional (de BIOS estándar) supone que para estar dentro de ambas normas, deberían utilizarse los valores más restrictivos de ambas que serían los siguientes:

Cilindros: 1,024Cabezas: 16Sectores: 63

Estos números nos conducen a un total máximo de 1024 x 16 x 63 = 1,032,192 clusters, es decir, 528,482,304 bytes (528 MB). Este sería el máximo espacio de disco direccionable mediante los servicios de la interrupción 13h estándar BIOS con una controladora ATA/IDE.

§4 Traducción CHS extendida

Evidentemente 528 MB es un valor es muy pequeño; pronto se vio que había que dar una solución que permitiera utilizar discos mayores, siguiera para llegar a los 8.45 GB que teóricamente podía proporcionar la BIOS estándar. Se adoptó una solución denominada CHS extendido o ampliado ECHS. Soportada por un nuevo tipo de BIOSes extendidas

Page 329: 6721122 D057 Tecnologia Del PC

("Enhanced BIOS") que aparecieron a partir de 1993/94.

En realidad el direccionamiento CHS extendido es un truco aritmético por el que se informa a la BIOS que el disco instalado (suponemos que es una unidad IDE) tiene un número de cilindros, cabezas y sectores distintos de los reales, pero adaptado a lo que puede manejar la BIOS (lo que se denomina geometría trasladada). Para ello, si el número de cilindros del dispositivo IDE es superior a los 1024 soportados por la BIOS, se divide este número por 2, 4, 8 o 16, hasta que el valor resultante sea igual o menor que los mentados 1024. El valor resultante es el que se pasa a la BIOS como número de cilindros. Por su parte, el número de cabezas se multiplica por el factor 2, 4, 8 o 16 utilizado, y éste es el que se suministra a la BIOS (podríamos decir que se cambian cilindros por cabezas).

Nota: A pesar del límite teórico de 256, en la práctica ningún disco IDE/ATA ofrece especificaciones con más de 63 sectores lógicos por pista. La razón es que sobrepasar el límite de 63 de la BIOS estándar hubiese complicado aún más las cosas.

Ilustraremos lo anterior con un ejemplo: Las características de un disco IDE indican que tiene 12000 cilindros, 16 cabezas y 63 sectores por pista (un total de 12,096,000 clusters). Su número CHS real sería 12000-16-63, pero como 12000 es superior al número de cabezas que soporta la BIOS, se divide este número por 16, para que el resultado sea igual o menor que 1024. En este caso el resultado es 12000/16 = 750, con lo que en el setup se informa a la BIOS que el disco instalado tiene 750 cilindros. A cambio, el número real de cabezas (16) se multiplica por 16; el resultado 256 es el que se pasa como número de cabezas, así que la BIOS cree que el disco instalado es de 750 cilindros, 256 cabezas y 63 sectores por pista.

Otro ejemplo: Supongamos el caso de un disco Caviar AC33100 de 3.1 GB de capacidad de Western Digital, con una geometría lógica de 6,136 cilindros, 16 cabezas y 63 sectores, lo que está dentro del estándar ATA/IDE, pero fuera de los límites de la interrupción 13h de la BIOS. En este caso el número de cilindros se divide por 8; 6136 / 8 = 767, y el número de cabezas se multiplica por este mismo número (16 x 8 = 128). El resultado de la geometría "traducida" es de 767 cilindros, 128 cabezas y 63 sectores por pista. Con estos valores la capacidad permanece inalterada y la geometría lógica ajusta con las exigencias de la BIOS.

Las BIOSes que soportan direccionamiento ECHS realizan automáticamente las

Page 330: 6721122 D057 Tecnologia Del PC

conversiones adecuadas. En realidad esta "traducción" funciona entre el disco IDE/ATA y la interrupción 13h de la BIOS. La BIOS toma la geometría lógica del disco (según el estándar ATA) y la traduce a una geometría equivalente, pero que ajuste dentro de los límites aceptables por la interrupción 13h estándar. El sistema permitió sobrepasar la barrera de 528 MB del conjunto BIOS estándar/dispositivo IDE, aunque es evidente que aún se encontraba limitado por el tope de 8.455 GB de la propia BIOS [2].

§5 Direccionamiento LBA

Como la capacidad de los discos crecía de forma imparable, pronto se hizo necesario sobrepasar también el límite de los 8,455 GB de la interrupción 13h de la BIOS. Para esto se ideó un sistema denominado LBA ("Logical Block Addressing), que implica un sistema radicalmente distinto de direccionar los clusters.

En lugar de referirse a ellos en términos geométricos (Cilindro, Cabeza y Sector), a cada cluster se le asigna un número único, Número de Sector. Para ello se numeran 0, 1, 2, ... N-1, donde N es el número total de sectores del disco. Actualmente LBA es el sistema dominante para direccionamiento de discos grandes, puesto que desde que alcanzaron el límite de 8.455 GB, se hizo imposible expresar su geometría en términos de Cilindro, Cabeza y Sector.

Observe en realidad LBA es un sistema radicalmente nuevo de direccionamiento que, en principio, no implica por sí mismo ampliar ningún límite. Aunque desde luego, las BIOS que detectan sistemas LBA también disponen de la traducción adecuada para solventar las limitaciones de la combinación BIOS/ATA (saltar la limitación de 528 MB o incluso la de 8.455 GB). Esta traducción es la que resuelve el paso de la barrera, ya que la interrupción 13h no sabe nada sobre direccionamientos LBA. Por supuesto todas las nuevas unidades de disco soportan LBA, y cuando esta circunstancia es auto-detectada por la BIOS, se establece automáticamente este modo de direccionamiento y se habilita la traducción correspondiente.

Esta traducción es parecida a la ECHS, aunque el algoritmo es diferente; se denomina traducción auxiliar LBA. La diferencia substancial es que en ECHS, la BIOS traslada los parámetros utilizados por la interrupción 13h desde la geometría trasladada a la geometría

Page 331: 6721122 D057 Tecnologia Del PC

local del disco. En la traducción LBA, la BIOS traslada la geometría trasladada directamente en un número de sector.

Con posterioridad al establecimiento del sistema, se empezó a utilizar una extensión conocida como LBA48, que aumentaba de 24 a 48 los bits reservados para representar los números de sector. Asumiendo que el formateo se realiza en sectores de 512 Bytes, el método permite unidades con un máximo teórico de 512 x 248 = 144.11 Petabytes (millones de Gigas).

§6 Extensiones de la interrupción 13h

Desde luego, con geometría traducida o no, mientras que se utilicen los servicios de la interrupción 13h de la BIOS, se está bajo los límites de 1,024 cilindros, 256 cabezas y 63 sectores. Para sobrepasar este límite fue preciso modificar la Int 13h, añadiendo las que se denominan Extensiones de la interrupción 13h. El uso de estas extensiones significa modificar todo lo que tiene que ver con los accesos a disco, la propia BIOS, el Sistema Operativo y los propios discos. En este sentido operan, los nuevos Sistemas Operativos (por ejemplo DOS 7.0 y superiores, Windows 95 y siguientes y OS/2 Warp).

Nota: Algunos fabricantes de discos disponen de utilidades que permiten chequear si la BIOS del equipo soporta las extensiones de la interrupción 13h. En su tiempo (1998-2000) este tipo de utilidades, así como las actualizaciones de BIOS, fueron muy populares. Porque en esta época se instalaban ampliaciones de discos con unidades que no eran soportadas por algunas de las BIOSes montadas en los equipos. Aunque han perdido actualidad, su utilización puede ser muy didáctica. Puede probarse con la utilidad ExtBios de Jan Steunebrink web.inter.nl.net [3]

En realidad, estas extensiones utilizan un direccionamiento de 64 bits en lugar de los 24 estándar , o los 48 de LBA48, que para los estándares actuales, supone una capacidad astronómica: 18.446 x 1018 (18.446 Hexa Clusters). Suponiendo un tamaño de sector de 512 bytes son 9.444 x 1021 (9.444 miles de Trillones de bytes).

Page 332: 6721122 D057 Tecnologia Del PC

Además de las necesarias modificaciones en los discos, la BIOS y el Sistema Operativo, otra implicación de estas ampliaciones es que el sistema clásico de especificar el tamaño en términos de la geometría lógica de las unidades, ha quedado obsoleto. Debido a los múltiples niveles de traducción en la BIOS y en el propio disco, los parámetros de geometría lógica de los discos ATA/IDE, ha dejado de tener ninguna relación con la realidad. El único valor que tiene sentido es el número total de sectores. Por ejemplo, si una unidad 75GXP IBM de 45 GB fuese expresada en términos de geometría convencional tendría 89,355 cilindros, 16 cabezas y 63 sectores; en lugar de esto se dice simplemente que tiene 90,069,840 sectores de datos. Por convención y por compatibilidad, todas las unidades con más de 8.4 GB tienen unos parámetros lógicos de 16,383 cilindros, 16 cabezas y 63 sectores, razón por la cual, aparecen todos como de 8.4 GB si se instalan en un equipo en el que la BIOS no soporta las extensiones de Int 13h.

§7 Ejercicios

● Comprobar las características de los discos IDE con las utilidades IDEinfo y IDEdiag ( 6.1).

● Comprobar las extensiones de la BIOS con Extbios

● Aparte de las utilidades señaladas, mediante la utilidad hdparm (generalmente en /sbin) los usuarios de Linux pueden obtener directamente y sin necesidad de tales utilidades, completa información sobre las características de las unidades IDE conectadas en sus sistemas. Tenga especial cuidado con este comando que permite setear distintos aspectos de los discos IDE a muy bajo nivel!!. Consulte el manual (man hdparm)

A continuación se muestra la salida proporcionada en un caso concreto mediante el comando hdparm -I /dev/hda, que permite obtener las características de la primera unidad de disco del primer canal IDE del sistema.

/dev/hda: ATA device, with non-removable media

Page 333: 6721122 D057 Tecnologia Del PC

Model Number: HITACHI_DK23BA-15 Serial Number: 10BMKY Firmware Revision: 00E1A0A0 Standards: Used: ATA/ATAPI-5 T13 1321D revision 1 Supported: 5 4 3 2 Configuration: Logical max current cylinders 16383 16383 heads 16 16 sectors/track 63 63 -- CHS current addressable sectors: 16514064 LBA user addressable sectors: 29498112 device size with M = 1024*1024: 14403 MBytes device size with M = 1000*1000: 15103 MBytes (15 GB) Capabilities: LBA, IORDY(cannot be disabled) bytes avail on r/w long: 4 Queue depth: 1 Standby timer values: spec'd by Vendor, no device specific minimum R/W multiple sector transfer: Max = 16 Current = 16 Advanced power management level: 159 (0x9f) DMA: sdma0 sdma1 sdma2 mdma0 mdma1 mdma2 udma0 udma1 *udma2 udma3 udma4 Cycle time: min=120ns recommended=120ns PIO: pio0 pio1 pio2 pio3 pio4 Cycle time: no flow control=400ns IORDY flow control=120ns Commands/features: Enabled Supported: * READ BUFFER cmd * WRITE BUFFER cmd * Host Protected Area feature set * Look-ahead

Page 334: 6721122 D057 Tecnologia Del PC

* Write cache * Power Management feature set Security Mode feature set * SMART feature set Address Offset Reserved Area Boot * Advanced Power Management feature set Security: Master password revision code = 65534 supported not enabled not locked frozen not expired: security count supported: enhanced erase 24min for SECURITY ERASE UNIT. 24min for ENHANCED SECURITY ERASE UNIT. HW reset results: CBLID- above Vih Device num = 0 determined by the jumper Checksum: correct

Entre otros datos, puede comprobarse que, aunque su capacidad es de 15 GB, la unidad responde a la configuración lógica tradicional de 16383 / 16 / 63 (cilindros / cabezas / sectores). Lo que se traduce en el valor señalado "CHS current addressable sectors: 16514064" (producto cilindros x cabezas x sectores), que es el máximo de unidades lógicas de asignación utilizables según el método CHS tradicional. En cambio, el direccionamiento LBA permite 29498112 sectores, que asumiendo (como es usual para discos de esta capacidad) un tamaño de 512 bytes para cada unidad de asignación, proporciona una capacidad total de 29498112 x 512 = 15.103 GB.

Como se ha señalado en el capítulo anterior ( 6.1) las unidades físicas (discos) pueden ser divididas en varias particiones primarias, cada una de las cuales puede subdividirse a su vez en distintas unidades lógicas que aparecen como "discos" distintos. El resultado es que, desde el explorador del Sistema, es imposible saber si tales discos corresponden realmente a

Page 335: 6721122 D057 Tecnologia Del PC

distintas unidades físicas. Por ejemplo, en el caso anterior, la unidad Hitachy de 15 GB. tiene la siguiente distribución interna:

Dispositivo Comentario/dev/hda Primer y (en este caso) único dispositivo conectado al canal-0

IDE

/dev/hda1 Wind95 FAT32 LBA. Partición primaria; aparece como unidad C: en Windows.

/dev/hda2 Esta es la "visión" que tiene Linux de la partición extendida DOS (ver a continuación). Comprende las particiones señaladas (*)

/dev/hda3 Linux swap. Partición primaria; utilizado automáticamente por el sistema Linux (no accesible para el usuario)

/dev/hda4 Linux native. Partición primaria; es el directorio raíz "/" en Linux

/dev/hda5 Wind95 FAT32 LBA. Aparece como unidad D: en Windows (*).

/dev/hda6 Wind95 FAT32 LBA. Aparece como unidad E: en Windows (*).

/dev/hda7 Wind95 FAT32 LBA. Aparece como unidad F: en Windows (*).

/dev/hda8 Wind95 FAT32 LBA. Aparece como unidad G: en Windows (*). La información anterior, junto con el tamaño y los puntos de inicio y fin de cada zona, pueden obtenerse con el comando fdisk -l. En el caso que nos ocupa, el resultado es el siguiente:

Disk /dev/hda: 15.1 GB, 15103033344 bytes 255 heads, 63 sectors/track, 1836 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/hda1 * 1 255 2048256 b Win95 FAT32

Page 336: 6721122 D057 Tecnologia Del PC

/dev/hda2 256 1027 6201090 f Win95 Ext'd (LBA) /dev/hda3 1028 1052 200812+ 82 Linux swap /dev/hda4 1053 1836 6297480 83 Linux /dev/hda5 256 510 2048256 b Win95 FAT32 /dev/hda6 511 765 2048256 b Win95 FAT32 /dev/hda7 766 1020 2048256 b Win95 FAT32 /dev/hda8 1021 1027 56196 6 FAT16

Para los interesados en conocer como se llegó a esta situación, diremos que el disco se particionó inicialmente con la utilidad fdisk de MS-DOS. De esta forma se creó una partición primaria de 2 MB destinada a albergar el SO Windows (que posteriormente constituiría la unidad C: de dicho Sistema) y una partición extendida (en realidad otra partición primaria pero con capacidad para contener varias particiones lógicas en su interior) con 6.56 MB. En este espacio se crearon 3 unidades lógicas de 2 GB y una de 55 MB que posteriormente corresponderían a las unidades D:, E:, F: y G: del Sistema Windows -señaladas con (*) en la tabla-. El resto se dejó sin utilizar.

Posteriormente, cuando se instaló Linux, éste detectó el espacio sobrante y creó dentro de él dos particiones primarias: la de swap, con 196 MB y la principal con los 6.15 GB restantes para el propio Sistema y usuarios. Las particiones Windows son accesibles desde Linux (no a la inversa ;-) con los identificadores de dispositivo señalados en la primera columna.

Debemos aclarar que la asignación que realizan los Sistemas Operativos de los dispositivos IDE, se realiza en el momento de la carga inicial del sistema. De forma que la adición o eliminación de un dispositivo puede originar el cambio de denominación del resto de la cadena en el próximo arranque del Sistema. En el caso de Linux, la asignación de dispositivos IDE es como sigue:

/dev/hda Primera unidad física. Unidad maestra en el primer canal

/dev/hdb Segunda unidad física. Unidad esclava en el primer canal

/dev/hdc Tercera unidad física. Unidad maestra en el segundo canal

/dev/hdd Cuarta unidad física. Unidad esclava en el segundo canal

Page 337: 6721122 D057 Tecnologia Del PC

/dev/hda1 Primera partición primaria en la 1ª unidad física

/dev/hda2 Segunda partición primaria en la 1ª unidad física

/dev/hda3 Tercera partición primaria en la 1ª unidad física

/dev/hda4 Cuarta partición primaria en la 1ª unidad física

/dev/hda5 Primera partición lógica en la primera partición primaria (extendida) que tenga unidades lógicas. Observe que este número es siempre 5, incluso cuando la primera unidad física (hda) tiene menos de cuatro particiones primarias.

/dev/hda6 Segunda partición lógica ...

...

/dev/hdb1 Primera partición primaria en la 2ª unidad física

... La mejor forma de comprobar las unidades IDE montadas en el sistema y su disposición lógica, es utilizar la utilidad dmesg mediante el comando: dmesg | grep [hs]d[az]. En el equipo que comentamos produce la siguiente salida:

Kernel command line: root=/dev/hda4 vga=0x311 desktop splash=silent ide0: BM-DMA at 0x10c0-0x10c7, BIOS settings: hda:DMA, hdb:pio hda: HITACHI_DK23BA-15, ATA DISK drive hda: attached ide-disk driver. hda: host protected area => 1 hda: 29498112 sectors (15103 MB) w/2048KiB Cache, CHS=1836/255/63, UDMA(33) hda: hda1 hda2 < hda5 hda6 hda7 hda8 > hda3 hda4

Hemos resaltado la última línea (la que realmente nos interesa) donde puede comprobarse que en este caso, las particiones lógicas pertenecen a la segunda partición primaria de la unidad física.

Page 338: 6721122 D057 Tecnologia Del PC

Sabiendo que esta unidad está conectada al bus ide0, pueden conseguirse más datos sobre la unidad en el directorio /proc/ide/ide0/hda. Donde encontramos varios subdirectorios con la información pertinente.

Inicio.

[1] Por ser lo más común en la literatura informática, en toda esta exposición representaremos los números según el sistema USA, es decir, utilizando la coma para representar los miles, decenas de miles, etc. y el punto para representar los decimales. Por ejemplo: 1,000.25

[2] Modificar la interrupción 13h habría supuesto que gran parte del software antiguo no hubiese funcionado en los sistemas que empezaban a utilizar discos de más de 8 GB.

[3] En caso de no funcionar el enlace anterior, puede probar esta copia de mi archivo histórico ExtBios.

Inicio

|Índice| Copyright © 2000-2006 Zator Systems. NO software patents

Page 339: 6721122 D057 Tecnologia Del PC

Tecnología del PC[Home] [Inicio] [Índice]

Subir

6.3 La Interfaz SCSI

§1 Antecedentes

La historia de la interfaz SCSI se remonta a 1979, cuando Shugart Associates, un fabricante de discos, buscaba una interfaz para sus futuras unidades. La intención era conseguir una interfaz que soportara un direccionamiento lógico de bloques en lugar del sistema CHS, Cilindro, Cabeza y Sector ( 6.2) que se venía utilizando. Además debía proporcionar una interfaz paralela de 8 bits en lugar de las señales analógicas serie que utilizaban por entonces las controladoras, así como una serie de comandos genéricos en sustitución de las líneas de control que acompañaban a las líneas de datos. La interfaz fue denominada SASI (Shugart Associates Systems Interface), y su especificación incluía algunos comandos de 6 Bytes y una interfaz de terminación sencilla.

A finales de 1981, Shugart y NCR ("National Cash Register"), un fabricante de ordenadores, presentaron la especificación al comité ANSI, que la aceptó como documento de trabajo bajo el nombre de SCSI ("Small Computer System Interface"), pronunciado scuzzi. En el periodo siguiente se le añadieron muchas mejoras importantes, incluyendo la capacidad de los dispositivos de competir por el uso del bus (arbitraje); desconectar y reconectar temporalmente del bus durante la ejecución de comandos, y tener más de un adaptador host en un bus SCSI.

En 1984 se presentó al ANSI un borrador con la propuesta del estándar cuando ya existían

Page 340: 6721122 D057 Tecnologia Del PC

en el mercado muchos de los nuevos dispositivos. El estándar fue aprobado en 1986 como SCSI-1.

§2 La interfaz SCSI

En realidad SCSI es un tipo de bus; la interfaz SCSI, conocida también como adaptador host, adopta la forma de una tarjeta que se inserta en una ranura de la placa base, de la que sale un bus (cable), en el que se pueden conectar varios dispositivos. Este adaptador host es en realidad un puente entre el bus SCSI y el bus de la placa-base [5].

Desde el punto de vista del Sistema, los dispositivos SCSI son muy eficientes. Soportan comandos del tipo "Rebobina esta cinta" o "Formatea este disco" sin intervención del procesador, con lo que se ahorra tiempo de proceso. Esto es especialmente importante en sistemas multitarea como Unix, Linux, OS/2, Novell Netware y los sistemas MS, a partir de Windows 95.

El bus SCSI es muy flexible, y no solo permite conectar discos, también otros, periféricos, como escáneres, unidades de cinta, CD-ROM, DVDs, Etc. Estos dispositivos integran la electrónica necesaria que los independiza del adaptador host, y permite que este ignore las características concretas de cada dispositivo conectado.

Nota: Como puede verse, las "controladoras" SCSI están embebidas en los propios dispositivos, sin embargo, en el lenguaje coloquial a veces nos referimos al adaptador host como la "controladora SCSI".

Como todo lo relativo a esta tecnología tan cambiante (del hardware), la interfaz SCSI ha sufrido sucesivas implementaciones y mejoras: Existen variantes: SCSI-1, SCSI-2, SCSI-3, Fast-SCSI, Wide-SCSI, Ultra-2 SCSI, Ultra 320 SCSI, Fiber Channel SCSI... Este interfaz es el que se considera mas profesional y de mayor rendimiento, por lo que se utiliza en equipos de altas prestaciones. Puede alcanzarse velocidades de 320 MB/s.

§3 Anchura del bus SCSI

Page 341: 6721122 D057 Tecnologia Del PC

Existen dos anchuras de bus SCSI: Estrecho (de 8 bits) y ancho (de 16 bits). El primero fue el definido en el estándar SCSI-1. Por su parte, el bus ancho fue definido en el estándar SCSI-2. Este último ha ido incrementando su popularidad desde su introducción, ya que permite utilizar dispositivos de 16 bits y el doble de ancho de banda que el "estrecho" para cualquier frecuencia utilizada en el bus (más detalles sobre los cables y otros detalles del hardware SCSI, en la página siguiente 6.3.1).

El SCSI ancho requería utilizar un nuevo tipo de cable (denominado "B") de 68 pines en lugar del tradicional cable de 50 pines del bus estrecho denominado cable A. Pronto se vio que la utilización de dos tipos de cables era molesto y costoso, por lo que se definió un nuevo tipo de cable de 68 pines denominado "P".

Nota: El cable muy ancho ("Very wide") de 32 bits, que requería dos cables de 68 conductores, fue definido en el estándar SCSI-2, aunque nunca fue aceptado por los fabricantes debido a su costo. Después de cierto tiempo fue finalmente eliminado de la norma en SPI-3 [7].

La necesidad de prestaciones cada vez más altas, especialmente para los discos duros, motivó el abandono del bus SCSI estrecho en favor del ancho, lo que ha generado algunos malentendidos en la terminología. Tradicionalmente el bus estrecho era considerado el estándar (por defecto), y no se hacía ninguna mención a la palabra "Estrecho". Por ejemplo, decir Ultra SCSI implica operación en bus estrecho; los buses anchos operando a velocidad Ultra fueron

Page 342: 6721122 D057 Tecnologia Del PC

denominados Wide Ultra SCSI. Desde luego por el tiempo en que se creó el estándar Ultra2 SCSI, los buses estrechos comenzaban a perder popularidad, por lo que la mayoría de las unidades Ultra2 son anchas, y mucha gente dejó de decir explícitamente Wide Ultra2 SCSI, diciendo en su lugar Ultra2 SCSI, aunque la primera es la denominación técnicamente correcta.

Los métodos de transferencia superiores a Ultra2 han acabado por eliminar completamente los buses estrechos. Los estándares SPI-3 y SPI-4 se refieren exclusivamente a implementaciones de bus ancho.

Es posible mezclar dispositivos anchos y estrechos en el mismo bus, pero existen tres cuestiones que deben ser tenidas en cuenta: la anchura física del cable; el modo de operación utilizado, SE, HVD o LVD y los terminadores. La primera puede resolverse mediante convertidores especiales que permiten pasar de un tipo de cable a otro (ver figura). La segunda se resuelve utilizando adaptadores host especialmente diseñados para admitir ambos tipos de dispositivos, o mediante extensores adecuados ( 6.3.1).

§4 La cadena SCSI; identificación

El cable SCSI tipo A (estrecho) permite conectar hasta 8 dispositivos físicos, recomendándose que su longitud no exceda de 3 metros [1]. Cada dispositivo de canal debe competir por el uso del bus, y se identifica por un número ID de identificación (0/7) que se selecciona en la propia unidad y que determina además su prioridad.

El propio adaptador (host) se cuenta como un dispositivo, por lo que en realidad pueden conectarse 7 dispositivos por canal (cable). Los dispositivos de mayor ID tienen prioridad más elevada. De forma que el 7 es el de prioridad más alta.

El cable tipo P (ancho) permite conectar hasta 16 dispositivos, numerados del 0 al 15. En este caso, las prioridades de los ID añadidos (8 al 15) aumenta progresivamente a partir del 8, aunque el 15 tiene menor prioridad que el 0. Como consecuencia, el orden de prioridades en orden creciente es como sigue:

Page 343: 6721122 D057 Tecnologia Del PC

8, 9, 10, 11, 12, 13, 14, 15, 0, 1, 2, 3, 4, 5, 6, 7

Generalmente pueden instalarse hasta cuatro adaptadores host por máquina; cada uno con hasta 7/14 dispositivos según el tipo de cable. Además existen adaptadores multicanal que disponen de varios cables. Como el adaptador host cuenta como un dispositivo, debe tener su propia ID, y es frecuente que venga seleccionado por defecto como 7 por el fabricante (la prioridad más alta).

La selección de la ID de cada unidad se realiza por jumpers (en binario, para lo que se necesitan 3 jumpers) o por una sencilla rueda o botón que hace que cambie el número asignado a la unidad [2]. Recuerde que la identificación de cada unidad del bus no tiene ninguna relación con su posición física dentro del mismo.

Nota: Tener en cuenta que algunos sistemas exigen que el disco de arranque esté seleccionado con una ID específica. En las antiguos adaptadores Adaptec [3] la ID del disco de arranque debía ser 0, en las modernas puede ser cualquiera.

Actualmente existe una generación de dispositivos SCSI dotados de tecnología SCAM ("SCSI Configuted AutoMatically"), que permite que el número ID del dispositivo pueda ser cambiado dinámicamente. Esta tecnología permite que los adaptadores host puedan asignar los números ID de los dispositivos conectados en el bus de forma automática (una especie de Plug and Play), con lo que se evita la posibilidad de conflictos.

Además de lo anterior, la interfaz SCSI permite asignar un número de identificación LUN ("Logical Unit Number") a cada unidad lógica definida dentro de cada unidad física. Con independencia de las limitaciones que pudiera imponer el SO, las unidades SCSI pueden contener hasta 15 particiones. Como consecuencia de lo anterior, la identificación completa de una unidad SCSI comprende los siguientes parámetros:

● Número de adaptador (pueden coexistir varios en el sistema)

● Número de canal (número de cable). Como se ha indicado, un adaptador puede ser multicanal y disponer de varios cables.

Page 344: 6721122 D057 Tecnologia Del PC

● Número de dispositivo (unidad física) ID dentro del canal. Hemos señalado que este número no depende de la posición física dentro del cable, sino de una asignación que puede efectuarse por hardware (también automáticamente), y que la prioridad depende de este número.

● Número de partición lógica LUN dentro de cada unidad.

Como puede verse, esta interfaz permite una gran adaptabilidad y posibilidad de crecimiento. Como se ha dicho, los dispositivos SCSI integran en sí mismos la lógica de control (en este sentido son análogos a los dispositivos IDE). En realidad, un disco IDE y uno SCSI son idénticos, salvo que el SCSI tiene además un adaptador para el bus incluido en la controladora, y no puede ser conectado directamente a la placa-base como el IDE; tiene que conectarse al bus SCSI.

§5 Modos de operación

Desde el punto de vista eléctrico se han utilizado tres tecnologías en este bus:

● SE ("Single Ended") Terminación simple.

● Señal por diferencial de alto voltaje HVD ("High Voltage Differential"), basada en EIA485

● Seña- por diferencial de bajo voltaje LVD ("Low Voltage Differential").

SE es la forma inicial de transportar la señal de 8 bits sobre cables de 50 conductores. Cada señal es referenciada respecto a tierra, por lo que hay 8 pares señal/referencia (16 conductores) para la señal.

Como el sistema SE se mostraba demasiado sensible al ruido; para aumentar la velocidad se ideó el sistema de voltaje diferencial, ahora denominado HVD (diferencial alto). Este método utiliza dos líneas para cada señal, de forma que una es inversa de la otra, utilizando la lógica estándar de ±5 V. que venía usándose en la electrónica del PC desde sus orígenes. La señal medida es la diferencia de ambas (de ahí el nombre "Diferencial"). Aunque más costoso,

Page 345: 6721122 D057 Tecnologia Del PC

HVD es menos propenso al ruido que el anterior, permitiendo mayores velocidades y longitudes de cable.

Cuando se intentó sobrepasar el límite de 40 MB/s del sistema HVD, se descubrió que las señales podían cambiar más rápidamente si la tensión utilizada era menor, por lo que se mantuvo el esquema diferencial pero utilizando una lógica de 3 V. A esta nueva forma se la denominó de diferencial bajo LVD.

Nota: La mayor facilidad de conmutación y menor consumo eléctrico (menor calentamiento y disipación de energía) que lleva aparejada la disminución de la tensión de funcionamiento, no fue un descubrimiento exclusivo de la tecnología SCSI. En realidad los desarrollos se sumaron a la tendencia dominante de disminuir la tensión de trabajo en los circuitos digitales, donde las propias placas-base también empezaban a abandonar los 5 Voltios de la tecnología TTL ("Transistor Transistor Logic") tradicional, en favor de lógicas LWTTL ("Low Voltage TTL") y ECL ("Emitter Coupled Logic") de 3.3 V.

El problema de la norma LVD es que no era compatible eléctricamente con las anteriores. Como se había mantenido especial cuidado en que los nuevos estándares fuesen compatibles hacia atrás, se desarrollaron controladoras LVD híbridos o multimodo, denominados LVD/MSE ("Low Voltage Differential / Multimode Single Ended"), que funcionaban como SE cuando están conectados a un bus SE. Actualmente solo se fabrican controladores LVD.

Nota: La compatibilidad SE/LVD requiere un adaptador para el cable, ya que SE utiliza un cable estrecho y los dispositivos LVD utilizan el cable ancho. Respecto a la compatibilidad HVD/LVD, en realidad nunca ha existido. En caso necesario debe utilizarse un adaptador especial (Extensores 6.3.1).

§6 Instalación lógica

El adaptador host debe instalarse de forma que no colisione con el resto de los dispositivos

Page 346: 6721122 D057 Tecnologia Del PC

instalados en el equipo (direcciones E/S, IRQ y canal DMA utilizados). Aunque la moderna tecnología PnP resuelve bastante bien este tipo de problemas. Por supuesto es conveniente que el adaptador soporte la norma ASPI (ver a continuación).

Es posible montar sistemas que dispongan de unidades de disco SCSI y normales (por ejemplo ATA/IDE). Ya sea como unidades aisladas o coexistiendo con otro tipo. Las unidades SCSI aparecen en el setup de la BIOS como "No instalado".

Cada unidad SCSI que se conecte al sistema debe tener sus propios controladores ("Drivers"), que normalmente son suministrados por el fabricante, aunque los discos duros son una excepción, dado que suelen venir incluidos en todos los Sistemas Operativos.

En principio estos "drivers" eran específicos para cada conjunto de dispositivo/adaptador (host), lo que constituía un auténtico problema. Para resolverlo ha surgido una interfaz universal denominada ASPI ("Advanced SCSI Programming Interface"), de modo que los fabricantes de dispositivos SCSI solo tienen que proporcionar drivers que comuniquen con la interfaz ASPI.

Nota: la Interfaz avanzada del programador SCSI (ASPI) fue desarrollada inicialmente por Adaptec como una interfaz para enviar comandos a los adaptadores host. Posteriormente ha sido adoptada por el resto de los fabricantes. Actualmente está considerada como el método estándar para acceder a los dispositivos SCSI y ATAPI/IDE ( 6.1). Técnicamente la interfaz ASPI consiste en una capa de software que actúa de front-end entre los programas y el adaptador host, haciendo que aquellos puedan ser independientes del adaptador concreto utilizado. Los controladores ASPI aceptan comandos ASPI normalizados, y ejecutan los pasos necesarios para enviar comandos ASCII al destino. Por ejemplo, los adaptadores host Adaptec AHA-152x y AHA-274x son muy diferentes, pero la interfaz ASPI para ellas es la misma. Desde el punto de vista del usuario, la interfaz ASPI es una capa de software que se encarga de manejar la comunicación entre todo tipo de software y los periféricos que se adaptan a esta norma. Por ejemplo, grabadoras de CDs. En ocasiones ocurre que

Page 347: 6721122 D057 Tecnologia Del PC

alguno de sus módulos sea alterado como consecuencia de instalaciones de software. Para que el conjunto funcione correctamente es necesario que todos los módulos ASPI sean de la misma versión y estén actualizados. El sitio de Adaptec www.adaptec.com es un buen sitio para buscar los últimos drivers para los sistemas operativos Windows (o el sitio del fabricante de su adaptador SCSI). Adaptec ha creado una utilidad denominada ASPICHK que explora el sistema y determina si los módulos ASPI son de la misma versión (uno de los motivos de problema más frecuentes) y funcionan correctamente.

§6.1 DOS y Windows

Los Sistemas Windows 95 y posteriores cuentan con adaptación ASPI automática, en cambio el MS-DOS no acepta directamente comandos ASPI, a menos que sea cargado el controlador correspondiente, lo que se realiza en el fichero config.sys por ejemplo:

DEVICEHIGH /L:2,14912 =ASPI3X70.SYS

§6.2 Linux

Debemos recordar que la asignación que realizan los Sistemas Operativos de los dispositivos SCSI, se realiza en el momento de la carga inicial del Sistema, en función del escanéo que se realiza sobre el hardware instalado. El resultado es que la adición o eliminación de un dispositivo puede originar el cambio de denominación del resto de la cadena en el próximo arranque del Sistema.

En el caso de los dispositivos SCSI, la asignación de estos dispositivos es complicada, ya que pueden coexistir distintos tipos en un mismo canal: discos, unidades de cinta, DVDs, etc. Además los controladores RAID, que son muy frecuentes con estas unidades de altas prestaciones, se presentan como una única unidad frente al bus del Sistema, aunque en realidad pueden contener varias unidades físicas de disco (cada una con su propia división interna). Finalmente, algunos dispositivos, como unidades de CDs; DVDs y dispositivos de almacenamiento USB (discos móviles), utilizan una emulación IDE-SCSI que los hace

Page 348: 6721122 D057 Tecnologia Del PC

aparecer con sus propios adaptadores.

La asignación que hace Linux de los dispositivos SCSI depende del orden en que aparecen los dispositivos durante la carga inicial, y responde a las siguientes reglas:

/dev/s Designación genérica de las unidades SCSI

/dev/sd Designación genérica de las unidades de discos SCSI

/dev/st Designación genérica de las unidades de cinta SCSI

/dev/sr

/dev/scd

Designación genérica de las unidades CD SCSI

/dev/sg Recientemente algunos sistemas Linux han cambiado la forma de controlar los dispositivos SCSI, de forma que aparecen todos mediante una designación genérica de este tipo seguida de un número. Por ejemplo, /dev/sg0; /dev/sg1; etc. Para conocer cual es la correspondencia con la designación tradicional puede utilizarse la utilidad sg_map. Por ejemplo, en un caso determinado produce la siguiente salida: /dev/sg0 /dev/sda

/dev/sda Primera Unidad en el primer canal del primer controlador host

/dev/sda1 Primera unidad lógica en la primera unidad.

/dev/sda2 Segunda unidad lógica en la primera unidad

... La mejor forma de comprobar las unidades SCSI montadas en el sistema es el comando sginfo -l. A continuación se muestra la salida en un caso determinado:

/dev/scd0 /dev/sr0

Page 349: 6721122 D057 Tecnologia Del PC

/dev/sg0 [=/dev/sda scsi0 ch=0 id=0 lun=0]

También mediante la orden dmesg | grep scsi, que en el caso anterior, produce el sigiente resultado:

scsi0 : SCSI emulation for USB Mass Storage devicesAttached scsi CD-ROM sr0 at scsi0, channel 0, id 0, lun 0sr0: scsi-1 drive

A continuación puede obtenerse los detalles de cada unidad con el mismo condado. Por ejemplo, para los detalles de la unidad anterior sería: sginfo -a /dev/scd0

§7 Estándares SCSI

Algunos de los estándares son bastante confusos y tienen varias versiones, además, la terminología adoptada por los diversos fabricantes no es homogénea con la terminología oficial.

Nota: En general, cuando se habla de bus SCSI se sobreentiende una conexión paralela; abreviadamente SPI ("SCSI Parallel Interface"), de la que existen diversos estándares (SPI, SPI-2, SPI-3, SPI-4 y SPI-5). Aunque también existen estándares SCSI para conexión serie, como la utilizada en SCSI-FCP .

A continuación se muestra un resumen y una cronología de la evolución del bus SPI.

Estándar Comentario

SASI 1979 Shugart Associates Systems Interface. En realidad no fue un estándar sino la solución técnica de un fabricante.

Page 350: 6721122 D057 Tecnologia Del PC

SCSI-1 Como se ha indicado, el primer estándar SCSI se publicó en 1986. Opera sobre un bus asíncrono de 8 bits a unos 2 MB/s, sobre cables de 50 conductores, denominado cable A, con una longitud máxima de 6 metros. Este cable debía estar dotado de un terminador pasivo (resistencias) de 132 ohmios 6.3.1; admite 7 dispositivos (además del adaptador).

Tenía el problema de que muchos de sus comandos eran optativos, por lo que había gran posibilidad que un dispositivo concreto no respondiese exactamente como se esperaba. Para subsanar el problema, un grupo de fabricantes se agruparon para adoptar un conjunto de 18 comandos básicos, que se denominó CCS y que fuese admitido por todos los periféricos. Este conjunto de comandos fue la base de lo que luego sería el estándar SCSI-2.

SCSI-2 Aprobado en 1989, es una ampliación de la especificación SCSI-1 que introdujo una mayor velocidad operativa y algunas otras mejoras.

Opera sobre un bus síncrono a 5 y 10 MB/s, esta última denominada Fast-SCSI-2, sobre un bus de 8 bits, aunque existe una versión de 16 bits denominada Wide-SCSI-2. Esta última admite un máximo de 15 dispositivos (además del adaptador) en el mismo bus. Las versiones de 8 y 16 bits utilizan cables de 50 y 68 conductores respectivamente, este último denominado cable P.

Esta norma define un terminador de cable activo (regulado por voltaje) que mejora la integridad de la transmisión; mejora la normalización de los comandos, e introduce la posibilidad de enviar al dispositivo una cola de comandos que este ejecutará de la forma que estime más conveniente. Esta habilidad es especialmente útil en Sistemas Operativos multiproceso en los que diversas tareas pueden enviar diversos comandos a la misma unidad.

Page 351: 6721122 D057 Tecnologia Del PC

SCSI-3 En este punto el estándar se desglosa en una serie de normas independientes que comprenden tres áreas: Juego de órdenes (comandos); protocolos de transporte y capa física. En consecuencia, a partir de aquí no puede hablarse propiamente de SCSI-4, SCSI-5, Etc. porque cada especificación sigue un desarrollo independiente.

Nota: Esta arquitectura es conocida como SAM-2 ("SCSI Architecture Model"), en contraposición a SAM (o SAM-1) que se refiere a las normas anteriores (todo-en-uno).

Las normas relativas al juego de órdenes se dividen en dos grupos; las que son comunes a todos los dispositivos ("Primary Command Set") SPC, SPC-2, SPC-3, y las que son específicas de un determinado tipo de dispositivo (discos, escaneres, cintas, Etc) que tienen sus propias siglas:

● Block commands (por ejemplo, discos); SBC, SBC-2

● Reduced Block Commands (discos); RBC● Stream Commands (dispositivos de cinta); SSC, SSC-2, SSC-

3

● Media Changer Commands (jukeboxs); SMC, SMC-2

● Multi Media Commands (DVDs); MMC, MMC2, MMC-3, Etc.

● Enclosure Services; SES, SES-2.

● Controller Commands (p.e. dispositivos RAID); SCC, SCC-2.

● Object-based Storage Devices; OSD.

● Management Server Commands; MSC.

Las especificaciones relativas a los protocolos de transporte adoptan sus propias siglas. Algunas relativas a una arquitectura serie

Page 352: 6721122 D057 Tecnologia Del PC

emergente y a las tecnologías que permiten compatibilizarlas con el estándar serie ATA (ver a continuación). Siglas como ; FCP ("Fibre Channel Protocol"); SSP ("Serial SCSI Protocol"); SMP ("Serial Management Protocol"); FCP (" Fibre Channel Protocol") y STP ("Serial ATA Tunneling Protocol").

Finalmente, las especificaciones relativas a la capa física tienen también sus propias denominaciones [6]: SPI ("SCSI Parallel Interface") SPI-2 SPI-3, SPI-4; SAS ("Serial Attached SCSI"). Etc.

A partir de aquí se introdujeron mejoras que extendían la funcionalidad de SCSI-2 manteniendo compatibilidad descendente con las antiguas versiones. Existen buses de 8 y 16 bits sobre cables A y cables P, y se introduce la tecnología SCAM . Simultáneamente la maquinaria de márketing introducía nombres que hicieron más o menos fortuna, como Ultra-X SCSI y Fast-Y SCSI.

Fast-Wide SCSI

Aparecida en 1992 incorpora los estándares SPI/SIP. Consigue tasas de transferencia de 20 MB/s.

Ultra-SCSI Aparecida en 1995, proporciona una amplitud de banda doble, acercándola al siguiente nivel de rendimiento, pero manteniendo los cables, conexione y alojamientos existentes. Permite velocidades de transferencia de 20 MB/s con 8 bits y de 40 MB/s con 16 bits.

Ultra-2 Aparecida en 1997. Sigue la norma SPI-2 ("SCSI Parallel Interface") y alcanza 80 MB/s. Utiliza la señal por diferencial de bajo voltaje LVD ("Low Voltage Differential") antes comentada.

Ultra-3 Aparece en 1999 y consigue velocidades de 160 MB/s con la norma SPI-3. Incluye un sistema CRC ("Cyclic Redundancy Chec") de detección y corrección de errores.

Page 353: 6721122 D057 Tecnologia Del PC

Paralelamente a los esfuerzos anteriores, habían estado desarrollarse soluciones serie para el bus SCSI. Conocidas bajo las siglas SAS ("Serial Attached SCSI") cuentan con un protocolo de transporte específico; SSP ("Serial SCSI Protocol"); su evolución como estándar independiente ha sido el siguiente:

Estándar Comentario

FCP Aparece en 1995 con el nombre de canal de fibra ("Fibre channel"). Utiliza enlaces ópticos a 100 MB/s. Las primera realizaciones prácticas se efectuaron en el campo de los superordenadores. Posteriormente se extendieron al ámbito de servidores departamentales y equipos profesionales de gama alta. Es conocida también como FC-AL ("Fiber Channel Arbitrared Loop")

SBP-2 Esta norma de 1998 es conocida también como FireWire e IEEE 1394. Alcanza 50 MB/s y está pensada para enlaces inalámbricos.

FCP-2 En el 2002 se mejora el estándar anterior de canal de fibra, alcanzándose 200 MB/s. Puede conectar hasta 126 dispositivos en un mismo bus.

SRP En el mismo año (2002) aparece este nuevo estándar conocido como InfiniBand. Alcanza 250 MB/s.

iSCSI Aparecido en 2003, es un estándar SCSI para su utilización en enlaces Ethernet a 100 MB/s. Conocido también como GigaBit Ethernet.

SAS 2003 Comienzan los estudios para una especificación serie unificada. En Enero de este año Seagate introduce en el mercado el primer dispositivo de disco SAS sobre un equipo HP.

A partir de 2002, los esfuerzos en el desarrollo de nuevas interfaces serie tienden a

Page 354: 6721122 D057 Tecnologia Del PC

converger en una arquitectura única que englobe los dos estándares serie que venían utilizándose; SAS (Serial Attached SCSI) y SATA ("Serial ATA/ATAPI"). En este año, la STA ("SCSI Trade Association y el Grupo de Trabajo SAS ("Serial Attached SCSI Working Group") anuncian un acuerdo de colaboración. En Enero del año siguiente, el STA y el Grupo de Trabajo SATA II ("Serial ATA Working Group") acuerdan aunar esfuerzos para armonizar sus respectivas especificaciones.

§8 Evolución

A la fecha (2004) los dispositivos SCSI, principalmente discos, siguen siendo la elección de preferencia en sistemas de gama alta, en los que se exigen altas prestaciones. Sin embargo están perdiendo protagonismo en favor del estándar Serial-ATA, que alcanza velocidades que empiezan a ser comparables a una fracción del costo de aquellos. Otros dispositivos que usaban conexión SCSI, como escaners y cintas utilizan conexiones USB-2.

§9 BWebografía

● STA, "SCSI Trade Association" www.scsita.org/

Un buen punto de información sobre esta tecnología, es esta asociación, que engloba a los fabricantes de este tipo de dispositivos. Uno de sus comités, denominado T10 se encarga de los estándares www.t10.org/.

● Librería Virtual WWW www.scsilibrary.com/

La sección SCSI de la Librería Virtual WWW es otra buena fuente de información

Inicio.

Page 355: 6721122 D057 Tecnologia Del PC

[1] La longitud máxima autorizada depende del estándar. Lógicamente es menor para los dispositivos más rápidos.

[2] Tenga en cuenta que la segunda causa de fallo más frecuente en la instalación de unidades SCSI está en la inadecuada selección del número de unidad.

[3] Adaptec es actualmente (2002) uno de los fabricantes de adaptadores host SCSI más importantes.

[4] Información obtenida del sistema de ayuda del programa CD-R Diagnostics 1.4 Copyright 1997-1999, CD-ROM Productions

[5] Algunas placas-base avanzadas disponen de controladora SCSI integrada. En especial las destinadas a servidores de gama alta.

[6] Como puede verse, en algunos casos, las especificaciones engloban aspectos de la capa de transporte y la física.

[7] La tercera generación de la interfaz paralela SCSI fue denominada Interfaz paralela SCSI-3 (SCSI Parallel Interface-3) o abreviadamente SPI-3.

Inicio

|Índice| Copyright © 2000-2006 Zator Systems. NO software patents

Page 356: 6721122 D057 Tecnologia Del PC

Tecnología del PC[Home] [Inicio] [Índice]

Subir

6.3.1 Interfaz SCSI: Aspectos físicos

§1 Sinopsis

Con objeto de que el lector pueda tener una visión lo más cercana posible al hardware que se encontrará cuando tenga que habérselas con un dispositivo SCSI, comentamos a continuación algunas de las características físicas más sobresalientes de estos dispositivos.

§2 Cables

Una característica especial de esta interfaz, que la distingue de otras. Por ejemplo, ATA/IDE, es que los dispositivos pueden estar dentro del equipo (en la misma caja que la placa-base) o fuera, como dispositivos externos (esta característica ha sido copiada por la interfaz Serial-ATA).

En uno y otro caso se suelen utilizar cables de tipo distinto. Los dispositivos internos se conectan a un bus de cable plano. Este cable suele terminar en un conector en la parte posterior del equipo en el que se puede conectar una prolongación externa. El conductor correspondiente al pin 1 del conector suelen estar pintado de rojo.

Los cables externos son redondos y apantallados, formados por 25 o 34 pares trenzados y organizados en capas. Situando al interior los que transmiten señales de mayor velocidad (REQ y ACK); las líneas de control en una capa intermedia, y las de datos en la capa exterior. Lás páginas adjuntas muestran las disposiciones de pares y asignación de pines en cables externos de 68 y 50 conductores respectivamente ( SE/HDV-68

SE/HDV-50).

Nota: La pantalla debe ser conectada a la carcasa del conector, pero no a las líneas de tierra de las

Page 357: 6721122 D057 Tecnologia Del PC

señales SCSI.

§3 Extensores

Las distintas tecnología y tipos de cables empleados (medios físicos de transporte), hacen que en ocasiones, sea necesario conectar dispositivos de distinto tipo. También puede presentarse la necesidad de ampliar la distancia de ciertos dispositivos externos sobre la máxima permitida.

Para resolver el problema se utilizan dispositivos especiales denominados extensores ("expanders"); regeneradores (de señal), y convertidores, que pueden realizar distintas funciones. El esquema de utilización se muestra en las figuras adjuntas [1]. Disponen de su propia fuente de alimentación para los circuitos convertidores & amplificadores de señal.

§4 Terminadores de BUS

Como muchos otros buses (por ejemplo Ethernet de cable coaxial), los buses SCSI requieren de ciertos adaptadores de impedancia en sus extremos, que mitiguen o anulen la capacidad de reflexión de las señales que se origina en los dispositivos de transmisión (especialmente en los de alta frecuencia).

En el bus SCSI, los terminadores pueden ser de varios tipos:

● Terminador pasivo (resistencias). Es la forma más simple y económica. Consiste en dos resistencias por línea: una de 220 Ohms entre TERMPWR y la señal, y otro de 330 Ohms entre la línea de señal y tierra. Es la solución más económica, pero con el inconveniente de que las fluctuaciones en la tensión de TERMPWR (Term Power), producen elevaciones de tensión en las señales, lo que puede producir errores. La norma SCSI-2 recomienda terminadores activos siempre que sea posible para los sistemas SE. Por su parte la tecnología HVD utiliza exclusivamente es te tipo de terminador.

● Terminador activo. Para evitar los inconvenientes de las fluctuaciones en la tensión TERMPWR del

Page 358: 6721122 D057 Tecnologia Del PC

sistema pasivo, se utilizan reguladores de tensión que las minimizan. En este caso se utiliza una sola resistencia de 110 Ohms desde el regulador a la línea de señal, lo que es más parecido a la impedancia del cable SCSI. El resultado son menores reflexiones, mayor estabilidad de la señal y menor tasa de errores.

● FTP ("Force Perfect Termination"). En realidad este sistema no está reconocido en las especificaciones SCSI, aunque es la solución adoptada por diversos fabricantes. Existen diversos diseños todos ellos basados en diodos derivadores que intentan compensar las diferencias de impedancia entre el cable SCSI y el dispositivo.

● Terminador LVD. Una tipo de terminador activo diseñado específicamente para los buses LVD. Está recogido en las especificaciones SPI-2 y SPI-3 ( 6.3).

● Terminador LVD/MSE. Es una variedad multimomdo del anterior. Dependiendo de la tensión existente en la señal DIFFSENSE del cable, estos serminadores se configuran como LVD o SE. La mayoría de los nuevos diseños incluyen este tipo de terminador.

El tipo de terminador depende del tipo de bus SCSI utilizado. Por lo general los terminadores pasivos son adecuados para distancias cortas y buses lentos y lentos (8 bits y 5 MHz). Para distancias largas, que suelen presentarse en dispositivos externos y velocidades altas se recomiendan los activos.

Nota: Los buses SCSI son muy sensibles a la calidad de los cables y a su correcta terminación, por lo que debe prestarse especial atención a estos elementos (incluyendo los conectores), en especial en equipos de altas prestaciones. Recuerde que la primera causa de problemas en sistemas SCSI se deriva de una inadecuada terminación del bus.

Los terminadores son obligatorios en ambos extremos (físicos) del bus. Por lo general, tanto el adaptador host, como el resto de dispositivos SCSI disponen de un terminador integrado (auto-terminación), que puede ser activado y desactivado. En el caso de que el dispositivo sea uno de los extremos del bus, el auto-terminador debe ser activado (es lo que suele ocurrir cuando el dispositivo es el propio controlador host). Si por el contrario, no es el elemento terminal, debe desactivarse. En caso que el último dispositivo no disponga de esta característica de auto-terminación, debe emplearse un módulo terminador externo en el extremo correspondiente del bus.

§5 Conectores SCSI

Para la conexión de los dispositivos al bus SCSI, se utilizan diversos tipos de conectores, algunos de los cuales se muestran en las figuras, donde puede apreciarse la gran variedad utilizada. En la mayoría de los casos se muestran ambos conectores, macho (M) y hembra (F). Esta última, montada generalmente en el

Page 359: 6721122 D057 Tecnologia Del PC

lado del dispositivo, mientras que el macho suele estar en el lado del cable.

Ejemplo Tipo Pines Uso Cometario

IDC50-M

50

Narrow: SCSI-1 y 2, Ultra SCSI

Interno

8 bit

IDC50-F

HD68-M

68

Ultra2 LVD y

Ultra Wide SCSI3

Interno/Externo.

aproximadamente 1 7/8" de ancho (47 mm)

HD68-F

CN50-M

50

SCSI-1 y

SCSI-2

Externo.

Denominado también Centronics C50. Utilizado por la mayoría de los adaptadores lentos (5 MB/s) y por algunos rápidos (10 MB/s).

CN50-F

HD50-M

50

SCSI-2 y

SCSI-3

Externo.

Aproximadamente 1 3/8" (35 mm) de ancho. Adaptadores de 50 pines de alta densidad utilizados por muchos dispositivos FAST SCSI de 8 bits.

Page 360: 6721122 D057 Tecnologia Del PC

HD50-F

DB25-M

25

SCSI-1 Externo.

Utilizado por antiguos Macs, dispositivos Zip, escaners y antiguas estaciones de trabajo SUN.

DB25-F

HDI30-M 30

Externo

Apple PowerBooks

DB50-M

50

SCSI-1 Utilizados en las antiguas estaciones Sparc de Sun y Data General

DB50-F

DB37-M

37

SCSI-1

Page 361: 6721122 D057 Tecnologia Del PC

DB37-F

VHDCI-M

68

Ultra SCSI 2 y 3

"Very High-Density Connector Interface".

Popular en las tarjetas RAID. El macho es de 0.8 mm

VHDCI-F

HPCN50 50

Utilizado en cámaras digitales en Japon

HDCN60 60

Utilizado en los antiguos sistemas rs6000 de IBM

§6 Jumpers de configuración SCSI

Los controladores de los discos SCSI son más sofisticados que los IDE/ATA, y en consecuencia, suelen disponer de más ajustes ("jumpers") de control. Además, en lo que se refiere al tipo y número de jumpers utilizados, tienden a variar mucho entre los distintos fabricantes y modelos .

Los más importantes y frecuentes son los que se citan a continuación. Aunque debemos advertir que algunas unidades SCSI tienen características especiales que se controlan mediante jumpers adicionales, y que algunas otras los han sustituido por comandos software que son enviados mediante el adaptador host. Es frecuente que los jumpers de estas unidades estén agrupados en lo que se denomina el bloque de opciones ("option block").

● Identificación de unidad (SCSI Device ID): Se refiere a los jumpers que configuran el número de unidad dentro de la cadena SCSI (recuerde que cada unidad debe disponer de un número de identificación único 6.3). Las unidades SCSI de conector estrecho pueden tener un conjunto de 3

Page 362: 6721122 D057 Tecnologia Del PC

jumpers, con lo que puede asignárseles un número de 0 a 7, mientras que las anchas tienen 4, con lo que la selección puede variar entre 0 y 15 (algunas unidades no utilizan jumpers para configurar la identificación del dispositivo).

● Activador del terminador (Termination Activate): Algunas unidades incluyen un terminador de bus que puede ser activado si la unidad es la última de la cadena SCSI ( 6.3). Este jumper activa o desactiva dicho terminador interno. No todas las unidades disponen de esta opción de auto-terminación.

● Desactivar autor-arranque (Disable Auto Start): Esta opción avisa a la unidad para no arrancar en el mismo instante en que se conecta la energía, sino esperar a una orden de arranque desde el bus SCSI. Es una medida que se utiliza para evitar un excesivo consumo de energía en el arranque. Algunos fabricantes han invertido el sentido de este jumper. Por defecto sus unidades no arrancan automáticamente, sino que permanecen a la espera de la señal del bus; en este caso la instalación del jumper habilita el arranque automático.

● Retardar auto-arranque (Delay Auto Start): En este caso el jumper indica al dispositivo que arranque de forma automática pero no de forma inmediata, sino después de cierto número de segundos después que se ha establecido el suministro de energía. Su utilidad es también disminuir el consumo total en el arranque cuando se instalan sistemas con muchas unidades (discos duros) SCSI.

● Rotación escalonada (Stagger Spin): Es una versión mejorada de la anterior (arranque retardado). Cuando se instala esta opción en un sistema con muchos dispositivos SCSI, cada unidad retarda su arranque un tiempo que se calcula multiplicando su número de identificación por una constante. Esto garantiza que en ningún caso habrá dos unidades que arranquen simultáneamente.

● Ancho/Estrecho (Narrow/Wide): Algunas unidades disponen de un jumper que controla su modo de funcionamiento ancho o estrecho.

● Forzar SE (Force SE): Esta opción permite que las nuevas unidades Ultra2, Wide Ultra2, Ultra160, Ultra160+ o cualquier otro dispositivo que utilice tecnología de bus LVD ("Low voltage differential") sea forzado a utilizar la tecnología Terminación Simple SE ("Single Ended") [2].

● Desactivar paridad (Disable parity): Esta opción desactiva el control de paridad en el bus SCSI. Se utiliza para garantizar la compatibilidad de las nuevas unidades con los controladores antiguos que no implementaban este control.

Page 363: 6721122 D057 Tecnologia Del PC

La figura muestra el esquema del "Bloque de opciones" de una unidad de disco duro SCSI Quantum Atlas 10K.

A continuación se incluyen algunas especificaciones de montaje relativas a otra unidad SCSI. En este caso es un disco Seagate ST12400N.

Inicio.

[1] Imágenes propiedad de PARALAN www.paralan.com

Page 364: 6721122 D057 Tecnologia Del PC

[2] Naturalmente esto exige que la unidad sea multimodo, LVD/MSE ( 6.3).

Inicio

|Índice| Copyright © 2000-2006 Zator Systems. NO software patents

Page 365: 6721122 D057 Tecnologia Del PC

Tecnología del PC[Home] [Inicio] [Índice]

Subir

6.4 Interfaz PCI

§1 Antecedentes

En 1992, la compañía Intel lideró la creación de un grupo que integraba fabricantes de hardware para la industrial del PC, el PCI SIG (PCI Special Interest Group ). El objetivo era buscar alternativas al bus VESA ( H2.2), preconizado por la Video Electronic Standar Association, muy de moda en aquellos años, pero que presentaba deficiencias. Las primeras realizaciones prácticas (placas con bus PCI) aparecieron en 1993 con el lanzamiento de los primeros chipset de Intel para procesadores Pentium.

§2 La interfaz PCI

PCI ("Peripheral Component Interconnect") es básicamente una especificación para la interconexión de componentes en ordenadores. Ha dado lugar a un bus PCI, denominado también Mezzanine, en español entresuelo [1], porque funciona como una especie de nivel añadido al bus ISA/EISA tradicional de la placa-base. Es un bus de 32 bits que funciona a 5 V, 33 MHz, con una velocidad de transferencia inicial de 133 Mb/s (Megabits por segundo).

Aunque seguiremos llamándolo "bus PCI", en realidad no es un bus local; por contra, ocupa un lugar intermedio (de ahí el nombre mezzanine) entre el bus del procesador / memoria / cache y el bus estándar ISA. El bus PCI se encuentra separado del bus local mediante un

Page 366: 6721122 D057 Tecnologia Del PC

controlador que hace de pasarela. Cuando la UCP escribe datos en los periféricos PCI (por ejemplo un disco duro), el controlador/pasarela PCI los almacena en su buffer. Esto permite que la UCP atienda la próxima operación en vez de tener que esperar a que se complete la transacción. A continuación el buffer envía los datos al periférico de la forma más eficiente posible.

Nota: Los usuarios de Linux pueden inspeccionar los dispositivos conectados a esta interfaz mediante distintas utilidades ( 6.4W1)

La especificación permite diversas opciones que pueden darse en cualquier combinación:

● Extensiones de bus de 64 bits con una velocidad de transferencia de 266 Mb/s

● Extensiones para funcionar a 66 MHz, doblando así la velocidad inicial básica (de 32 bits 33 MHz).

● Operación a 3.3 Voltios mediante un conector físicamente distinto.

● Conector miniatura SmallPCI para portátiles y equipos de dimensiones reducidas.

● Posibilidad de compartir una IRQ entre distintos dispositivos PCI . Los dispositivos PCI pueden compartir una o varias líneas IRQ entre todos ellos (algo que no puede hacerse con los dispositivos ISA). Esta característica ha permitido aliviar uno de los problemas crónicos que arrastraba la arquitectura PC desde sus orígenes; la escasez de líneas de interrupción.

El bus PCI contiene un bus de alimentación, con las líneas +5, +3.3 +12 y -12 V.; un bus de direcciones (multiplexado); un bus de datos y un bus de control que incluye cuatro líneas de interrupciones, una de presencia de tarjeta, y líneas de control y test.

El bus PCI no soporta DMA en el sentido tradicional del IBM PC, aunque dispone de análoga funcionalidad mediante bus mastering ( 2.3).

Ha sido diseñado pensando en sistemas de máximas prestaciones, e incluye todas las funcionalidades y características de los diseños más modernos (soporte para

Page 367: 6721122 D057 Tecnologia Del PC

multiprocesador, transferencia a ráfagas -burst mode-, Etc.) Presenta características que no eran usuales en los sistemas de bus anteriores, por ejemplo:

● Configuración por software (sin jumpers): PCI se creó pensando en el estándar PnP ("Plug and Play"), por lo que los dispositivos PCI pueden ser configurados exclusivamente mediante software (aunque algunos fabricantes rompen la norma). Cada dispositivo PCI debe estar diseñado para solicitar de forma inequívoca los recursos que necesita (Zona de memoria mapeada, direcciones E/S, canales DMA, Interrupciones, Etc.)

● Identificación: Los dispositivos PCI deben identificarse a sí mismos, señalando su fabricante, modelo, número de serie y código de clase [2]. Los códigos de fabricante son administrados por una autoridad central, el PCI SIG . El código de clase proporciona un método de identificación, de modo que el controlador genérico del SO disponga de cierta información básica sobre el dispositivo PCI conectado, e incluso, en ausencia de un controlador específico, proporcionar algún control básico del dispositivo. Nota: El Linux PCI ID's Proyect pciids.sf.net, mantiene un repositorio con los identificadores PCI (fabricantes, dispositivos, clases y subclases). Si es usuario de Linux, probablemente disponga en su propio equipo de un fichero con esta información en /usr/share/pci.ids.

● Diseño flexible: En cualquier momento pueden añadirse nuevos códigos de fabricante o de clase. De hecho, la especificación ya ha realizado muchas mejoras y extensiones. Por ejemplo, el bus AGP ("Advanced Graphics Port" H2.2)) es una extensión reciente de la especificación PCI; también el conector SmallPCI, el soporte para 64bits y las versiones de 3.3 V.

● Independencia: PCI no está ligada a ninguna plataforma particular; puede ser implementada virtualmente en cualquiera, además de la conocida arquitectura IBM-PC/x86. De hecho, ha sido adoptado por muchos fabricantes de otras arquitecturas, por ejemplo Apple y SUN.

§3 Estándares PCI

Page 368: 6721122 D057 Tecnologia Del PC

En realidad PCI no es un estándar aprobado oficialmente por las autoridades de estandarización, sino una especificación de la industria (del PCI SIG). La versión 1.0 de la especificación fue publicada en 1992; la versión 2.0 fue publicada en 1993, y la versión 2.1 apareció en 1995.

§4 Zócalos PCI:

Los conectores blancos de la figura son zócalos PCI estándar (5 V. 33 MHz y 32 bits), presentes en la mayoría de los PCs de hoy (2002). Los de 3.3 V tienen la ranura de polarización en la mitad inicial (donde está la línea 1) en vez de al final.

Los conectores PCI de 64 bits se han construido añadiendo un segundo zócalo a continuación del estándar (de 32 bits). La separación entre ambos funciona como una

Page 369: 6721122 D057 Tecnologia Del PC

segunda llave de polarización; el conjunto presenta un 50% más de longitud que el de 32 bits; esta extensión funciona siempre a 3.3 voltios. En la figura se muestra como un añadido de color marrón bajo el conector PCI estándar (blanco), junto a un zócalo ISA.

Algunas placas-base etiquetan el conector PCI de 64 bits como "Media connector".

§5 Instalación

Las tarjetas PCI tienen los componentes montados en el lado contrario que las tarjetas ISA normales.

Viendo la tarjeta desde la parte posterior del equipo, y suponiendo la placa en posición horizontal, con los conectores hacia la izquierda, las tarjetas ISA tienen los componentes montados en la cara superior (la cara inferior sería de soldaduras). Por contra, la tarjeta PCI tendría los componentes en la cara inferior, siendo la superior la de soldaduras.

Nota: En esta posición, los pines más próximos al espectador son los de numeración más baja.

Otra característica es que los zócalos PCI están separados de la parte posterior de la placa-base aproximadamente una pulgada (2.5 cm), mientras que los zócalos ISA están prácticamente en el borde.

Es corriente que en las placas con bus PCI, los conectores para disco (IDE) estén situados directamente en la placa-base. Aunque los discos no se conecten físicamente en un zócalo PCI, estos conectores son parte del bus PCI.

§6 Comparación de los tipos de bus

ISA EISA VESA PCI

Page 370: 6721122 D057 Tecnologia Del PC

Bus de datos 8/16 32 32/64 32/64

Velocidad del bus de datos (MHz) 5.33/8.33 8.33 33/50 33

Velocidad de transferencia (MB/s) 5.33/8.33 33 132/264 132/264

Velocidades de transferencia implementadas (MB/s)

5.33/8.33 33 132 132

Número de Slots 0-8 0-8 0-2 0-4

Soporte de Bus Master No Si Si Si

Paridad para direcciones y datos No No No Si

Sync, Channel Checks No No No Si

Identificación de dispositivo & Auto configuración

No Si Si Si

Trabaja con ISA/EISA N/A N/A Si Si

§7 Webografía

● Página oficial del PCI SIG (PCI Special Interest Group) www.pcisig.com/home

Esta organización es la que ha desarrollado la especificación, por lo que es la fuente oficial de información, en especial en lo que respecta a la especificación

Page 371: 6721122 D057 Tecnologia Del PC

(algunos servicios son de pago).

● Página de Micro Technology Services www.mitsi.com

Con gran cantidad de enlaces relativos al bus PCI

● Compact PCI Systems. www.compactpci-systems.com

Es una publicación periódica (cinco números anuales) dedicada exclusivamente al mundo de la tecnología PCI. Contiene un buscador para localizar artículos publicados.

● PCI & AGP http://home.hyperlink.net.au/~chart/pci.htm

Gran cantidad de información técnica sobre los buses PCI y AGP

Inicio.

[1] En relación con una planta que está a media altura entre el nivel de suelo y la primera planta de pisos de un edificio.

[2] Puesto que es casi seguro que su equipo disponga de un bus PCI y que la unidad de disco también lo sea (2005), como ejercicio, puede utilizar el programa TBLCHK ( 6.1) para comprobar la cantidad de datos sobre sí mismo que puede proporcionar un dispositivo IDE cuando es interrogado. Como de costumbre, si dispone de un sistema Linux, tiene las cosas más fáciles. Para esta comprobación puede utilizar la utilidad lspci ya comentada .

Inicio

Page 372: 6721122 D057 Tecnologia Del PC

Tecnología del PC[Home] [Inicio] [Índice]

Subir

6.5 La interfaz Serial-ATA

Nota: En este capítulo encontrará algunas referencias a la interfaz SAS ("Serial Attached SCSI"). La razón es que, como se indicó en el capítulo dedicado a dicha interfaz ( 6.3), a partir de 2002, los esfuerzos en el desarrollo de nuevas interfaces serie tienden a converger en una arquitectura única que englobe los dos estándares serie que venían utilizándose; SAS y SATA ("Serial ATA/ATAPI"). En ese año, la STA ("SCSI Trade Association") y el Grupo de Trabajo SAS ("Serial Attached SCSI Working Group") anuncian un acuerdo de colaboración. En Enero del año siguiente, el STA y el Grupo de Trabajo SATA II ("Serial ATA Working Group") acuerdan aunar esfuerzos para armonizar sus respectivas especificaciones.

§1 Antecedentes

En Noviembre del 2001, un grupo de fabricantes de hardware, entre los que se encontraban Intel, Dell, Maxtor, APT Technologies y Seagate, crearon el Seria ATA Working Group para hacer frente a las necesidades de la próxima generación interfaces. Posteriormente, en el 2004, cambiaron el nombre por el de Serial ATA International Organization (SATA-IO) .

Por estas fechas, tras las mejoras de la especificación ATA-7 ( 6.1), con la que se habían conseguido transferencias de 133 MB/s, el modelo tradicional de interfaz PATA ("Parallel ATA") empezaba a mostrar síntomas de agotamiento, después de haber prestado eficientes servicios desde su concepción inicial a mediados de los 80. La idea entre los especialistas era que había que mirar en otra dirección.

Page 373: 6721122 D057 Tecnologia Del PC

Fig.1

Paralelamente, la tecnología de enlaces con fibra óptica e inalámbrica, habían propiciado grandes avances en el campo de las comunicaciones serie. En este ambiente, los esfuerzos se dirigieron a conseguir una nueva especificación de arquitectura serie para la interfaz ATA.

Como se muestra en la figura 1 y es costumbre en los diseños informáticos, la nueva arquitectura, conocida como Serial ATA (SATA), adopta una estructura de capas. La capa de órdenes es un superconjunto de la arquitectura ATA anterior; de forma que los nuevos dispositivos son compatibles con los protocolos ATA tradicionales, y son por tanto compatibles respecto a las aplicaciones existentes. Sin embargo la capa física es distinta, lo que representa un punto de ruptura en el sentido de que los nuevos dispositivos SATA no son compatibles con los anteriores. No obstante, la nueva arquitectura ofrece mejoras suficientes para justificar el cambio.

La idea es que los dispositivos ATA de cualquier tipo (serie o paralelo) compartan un juego común de órdenes, y organizar la conexión de estos dispositivos en una estructura donde existen direcciones, dominios y dispositivos concretos. Una organización que recuerda vagamente la de Internet en la que está inspirada (un dominio ATA contiene un controlador host SATA y un dispositivo).

§2 Capa física

Cada puerto, multiplicador, dispositivo o adaptador SATA o SAS ("Serial Attached SCSI") tiene un número de puerto único de 64 bits. Una especie de MAC ( 12.4) o código de barras del producto con: un código NAA de 4 bits; un código de fabricante de 24 bits asignado por la autoridad normativa, y un código de dispositivo a disposición de cada fabricante de 36 bits [1].

§2.1 Topología

SATA es una arquitectura en estrella. Es decir, la conexión entre puerto y dispositivo es directa. Por consiguiente, no es un bus en el que coexistan distintos clientes ni concentradores ("Hubs"). Cada dispositivo disfruta la totalidad del ancho de banda de la conexión sin que exista la

Page 374: 6721122 D057 Tecnologia Del PC

sobrecarga inherente a los mecanismos arbitraje y detección de colisiones.

El centro de la estrella es un controlador host, embebido en la placa-base, o instalado como una tarjeta en uno de sus zócalos, que actúa como puente entre los datos paralelos del bus y el dispositivo SATA. Existen controladores con más de una salida (generalmente 4 u 8), de forma que pueden conectarse varios dispositivos. Como veremos más adelante, también se han diseñado multiplicadores de puerto que permiten, por así decirlo, subdividir los brazos de la estrella a fin de poder instalar más dispositivos (conceptualmente funcionan como un "Hub").

Además de la tarea de serializar/paralelizar los datos, una parte importante del trabajo del controlador está relacionada con los protocolos de conexión y desconexión con el periférico, que son bastante sofisticados en este tipo de interfaz, ya que está prevista la capacidad de conexión en caliente ("Hot plug"). El protocolo de conexión es capaz de identificar el tipo de dispositivo conectado; detectar si funciona correctamente; negociar la velocidad de la conexión, Etc. La interfaz Serial ATA guarda ciertas similitudes con la interfaz USB ( 2.5.3), aunque es mucho más rápida que aquella, y los dispositivos SATA no se alimentan del propio bus. La tabla adjunta muestra un resumen comparativo con las características de las conexiones más frecuentes.

Característica USB 1 1394a USB 2 1394b SATA-1 SATA-IIVelocidad de pico MB/s

1.5 50 60 100 150 300

Velocidad típica MB/s8 40 45 80 150 300

Longitud máx cable m. 6.0 4.5 6.0 4.5 1.0 2.0

Page 375: 6721122 D057 Tecnologia Del PC

Nota: 1394 es conocido también como FireWire o i.Link. Al referirse a velocidades de transmisión, conviene recordar que en ocasiones se confunden las unidades de medida, y que las especificaciones de la capa física se refieren a la tasa real de datos, mientras que otras especificaciones se refieren a capacidades lógicas. Por ejemplo, dado que en la comunicación serie asíncrona, incluyendo los bits de inicio y fin ("Start" y "Stop" bits), un Byte de datos ocupa en realidad 10 bits en el canal, resulta que una conexión de 3 Gbps (Gigabits por segundo) en la capa física, equivale a 300 MBps (Megabytes por segundo) de datos.

§2.2 Cables

Entre las características más evidentes de esta interfaz destaca la simplicidad de los cables de conexión; mucho más estrechos que los tradicionales cables paralelo. Comparado con el cable "P" SCSI de 68 conductores ( 6.3), el

Page 376: 6721122 D057 Tecnologia Del PC

Fig. 1aEsquema de conexionado de un cable de datosSATA con apantallado y drenaje.

SATA es mucho más manejable y fácil de instalar. Esto tiene la ventaja de simplificar las conexiones, además de facilitar la aireación del interior del chasis.

Nota: Los que hayan instalado dispositivos internos en el PC (discos, disquetes, CDs, Etc.) recordarán que cuando se necesitaba instalar más de un un dispositivo, especialmente con los controladores ESDI y EISA, los cables de conexión formaban rápidamente una maraña impenetrable en el interior del chasis.

Como se muestra en el esquema de la figura 1a, el cable de señal Serial ATA contiene solo cuatro conductores agrupados en dos pares. Opcionalmente pueden incluir apantallados y conductores de drenaje unidos a los conectores de tierra (ver a continuación). Los conductores suelen ser de 26 a 30 AWG [6]. La primera versión del estándar, que solo contemplaba dispositivos internos, definió un cable de conexión de 1 m; más tarde se ha definido un cable de 2 m. Suficiente para unir un equipo torre situado en el suelo, con una unidad de disco externa, situada quizás sobre la mesa.

§2.3 Conexiones

Los dispositivos SATA tienen dos tipos de cables de conexión, de señal y de fuerza. La forma concreta depende de la posición relativa del dispositivo respecto al controlador host. A este respecto caben tres posibilidades:

● Dispositivo interno conectado directamente al controlador host mediante conectores

Page 377: 6721122 D057 Tecnologia Del PC

Fig. 2. (imagen cortesía de Molex).

como el de la figura 2.

● Dispositivo interno conectado a una salida del controlador host mediante cables de alimentación y señal (figura 2a).

● Dispositivo externo conectado al controlador host mediante un cable de señal. En estos casos, el dispositivo suele disponer de su propia fuente de alimentación [5]. Son los esquemas mostrados en las figuras 3 y 4.

La figura 2 muestra el aspecto de los conectores SATA para conexión directa Controlador host Dispositivo interno. Puede observarse que el zócalo SATA estándar tiene dos zonas, aquí se denominan segmentos; una de señal y otra de fuerza ("Signal segment" y "Power segment"). La zona de señal tiene 7 contactos (S1-S7), que corresponden con otros tantos conductores, de los cuales tres son de tierra, quedando 2 pares para datos. La designación de contactos se ha indicado en la tabla 2.

Nomenclatura:HT+, HT-. Par de señales diferenciales

Page 378: 6721122 D057 Tecnologia Del PC

Fig 2.a (imagen cortesía de Molex)

Fig. 3.

Dispositivo externo conectado a un controlador host de tarjeta.

Tabla 2

Pin DesignaciónS1 G.

S2 HT+ / DR+

S3 HT- / DR-

S4 G.

S5 HR+ / DT+

S6 HR- / DT-

S7 G.

de transmisión del lado del host ("Host Transmitter").HR+, HR- Ídem de recepción ("Host Receiver").DT+ y DT- par de señales diferenciales de

transmisión del lado del dispositivo ("Device Transmitter").DR+, DR-. Ídem de recepción ("Device Receiver").G. Tierra ("Ground").

Como es de esperar, las señales de transmisión del adaptador host se corresponden con las de recepción del dispositivo y viceversa.

Por su parte, el segmento de fuerza tiene 15 contactos (P1-P15) repartidos en 5 zonas de tres conductores cada una según se muestra en la tabla 3. El grupo 1 es de 3.3 V. El grupo 3 es de 5.0 V. y el grupo 5, de 12.0 V. Los grupos

Page 379: 6721122 D057 Tecnologia Del PC

Fig. 4.

Dispositivo externo conectado a un controlador host incluido en la placa base.

Tabla 4

Conector Intensidad ResistenciaPrecarga 3.3 V. pico de 0.75 A. 4.4 Ohms.Alimentación 3.3 V. sostenida de 0.75 A.Precarga 5 V. pico de 4.5 A. 1 Ohms.Alimentación 5 V. sostendia de 10 A.Precarga 12 V. pico de 2.4 A. 5 Ohms.Alimentación 12 V. sostendia de 1 A.

intermedios (2 y 4) son conexiones auxiliares de tierra.

Tabla 3 Pin DesignaciónP1 V33

P2 V33

P3 V33pc

P4 G.

P5 G.

P6 G.

P7 V5pc.

P8 V5

P9 V5

P10 G.

P11 Reservado [9]

P12 G.

P13 V12pc

P14 V12

P15 V12

Nomenclatura:G. Tierra ("Ground").V33 Alimentación de 3.3 V.V33pc Ídem pre-carga de 5.0 V.V5 Alimentación de 5.0 V.V5pc Ídem pre-carga de 5.0 V.V12 Alimentación de 12.0 V.V12pc Ídem pre-carga de 12.0 V.

Puede observarse que los conductores de alimentación de 3.3, 5.0 y 12.0 V están duplicados. Para cada tensión existen dos contactos; uno de alimentación normal. El otro, denominado de precarga, debe suministrar la energía para la carga inicial de la circuitería de controlador E/S correspondiente. Cada fuente de alimentación debe proporcionar las intensidades indicadas en la tabla 4.

Nota: Generalmente los dispositivos no utilizan todas las tensiones (algunos pines pueden

Page 380: 6721122 D057 Tecnologia Del PC

estar sin conexión). El diseño obedece al deseo de utilizar un solo conector para todos los dispositivos en uso en el momento de publicar la norma.

Como se indicó anteriormente, 0tra característica de los dispositivos SATA (relacionada con lo indicado en el párrafo anterior) es su capacidad de conexión en caliente. Para mitigar la aparición de transitorios y facilitar los protocolos de inicio, las lengüetas de algunos contactos son de mayor longitud que el resto (puede apreciarse en la fig. 2 ). De forma que, en los procesos de conexión, estos pines se conectan antes que los demás. Paralelamente, en los procesos de desconexión, los pines más largos son los últimos en perder el contacto. Las distintas longitudes de contactos del lado del controlador y del dispositivo (fig. 5) permite que el proceso de conexión se realice en tres fases:

1. Se conectan las tierras P4 y P12 que son los contactos más largos del zócalo. Se equilibran potenciales y se neutralizan las posibles descargas de estática.

2. Se conectan las tierras restantes P5, P6 y P10, y las tensiones de precarga P3, P7 y P13. Los circuitos de control están listos para funcionar.

3. Finalmente se conectan las señales de fuerza P1, P2, P8, P9, P14 y P15. El pin reservado P11, y los pines del conector de señal.

Nota: Los conectores SAS ("Serial Attached SCSI") son muy semejantes al mostrado en la figura 2 . Su diseño les permite aceptar conectores SAS y SATA, mientras que los zócalos SATA (fig 2) solo pueden aceptar conectores de su clase.

Es destacable que el estándar utiliza distinto tipo de conectores para las conexiones externas e internas. Por ejemplo, los conectores de la figura 4 situados al exterior, son distintos de los que quedarían en la parte interior del chasis. Los conectores internos son conocidos como tipo L en razón de su perfil (figura 7), mientras que los externos tienen una carcasa metálica conectada a tierra para protegerlos de las interferencias EM y

Page 381: 6721122 D057 Tecnologia Del PC

dispositivo

Fig. 5 controlador

Fig. 6

adoptan la forma indicada en la figura 6.

También es digno de mención que para facilitar la transición, algunos dispositivos SATA disponen de un conector de fuerza duplicado, de forma que pueden usar el conector de fuerza SATA o el P4 de alimentación tradicional (figuras 7 y 8).

La figura 7 muestra la disposición de contactos en dos dispositivos SATA de 2.5" y 3.5" de factor de forma (son los formatos de disco de equipos portátiles y de sobremesa respectivamente). La figura 8 muestra la disposición habitual de contactos en un dispositivo IDE/ATA equivalente.

Atención!!: Los dispositivos SATA se han diseñado para ser conectados directamente en estrella. Sin que exista ningún tipo de encadenamiento ("Daisy chaining") ni "Jumpers" o interruptores de configuración (que se realiza por software). Quiero recalcarlo porque el otro día (Junio 2005), me acerqué a mi proveedor habitual para adquirir una unidad SATA 3.5" de 300 GB, que pienso utilizar como reserva y "Back-Up" de los equipos en que trabajo habitualmente. Además de los conectores habituales, que podéis ver en la figura 7 (sin el P4 de toma de fuerza), esta unidad Barracuda de Seagate presenta otro pequeño conector auxiliar con de 4 pines. Ante mi extrañeza al examinarlo, el vendedor me aseguró muy serio que, a pesar de ser Serial ATA, estos contactos se

Page 382: 6721122 D057 Tecnologia Del PC

Fig. 7

Fig. 8

utilizaban para conectar la unidad como primaria/secundaria al estilo ATA/IDE ( 6.1). Me pareció muy extraño y en contra de lo que sabía al respecto, pero de todas formas, necesitaba una toma auxiliar de fuerza para alimentar un pequeño ventilador de refrigeración del "Housing" donde pretendía instalar la unidad, y pensaba que quizás se trataba de esto. Así que busqué en el sitio del fabricante. La respuesta al misterio es que se trata de pines "Factory use only", que no deben ser tocados en absoluto.

§3 Capa de órdenes

Los comandos de la arquitectura ATA tradicional se ejecutan en el modo denominado TCQ ("Tagged Command Queuing"); caracterizado porque los dispositivos ejecutan los comandos en el mismo orden en que se reciben del controlador. No obstante, se sabe de antiguo que esta forma no es la más eficiente y que es posible reordenar los comandos para conseguir un mejor rendimiento. La reordenación tiene por objeto reducir al mínimo el movimiento de las cabezas de lectura/escritura. Movimientos que son los principales responsables del retardo en los proceso de E/S a disco.

La primera versión del estándar SATA no incluía estas características, aunque la tecnología SCSI ( 6.3) llevaba más de una década utilizándola, lo que en parte era motivo de las superiores prestaciones de estos dispositivos respecto de los IDE/ATA tradicionales. Finalmente, el grupo de trabajo del estándar SATA II decidió incluir esta característica en la nueva especificación. El sistema es conocido como NCQ ("Native Command Queing") y permite que un dispositivo SATA (disco) reciba un conjunto de órdenes y las reordene para conseguir el máximo rendimiento.

Nota: La reordenación NCQ presenta otras ventajas además de las puramente mecánicas

Page 383: 6721122 D057 Tecnologia Del PC

(minimizar el desplazamiento de las cabezas). También puede agrupar las interrupciones que el dispositivo envía al Sistema para recabar atención ( 2.4). El sistema TCQ utiliza un mínimo de dos interrupciones por comando, y en condiciones normales, dependiendo de la carga de sistema, el retardo en la carga de las rutinas de servicio puede oscilar entre microsegundos y milisegundos. En cambio, el sistema NCQ utiliza un máximo de una interrupción por comando, y frecuentemente puede agrupar varios comandos en una una sola interrupción.

§4 Codificación

Generalmente los protocolos de comunicación serie de alta velocidad, utilizan un esquema de codificación lógica conocido como 8b10b (IEEE 802.3 §36.2.4) [3]. El medio físico utiliza una señal de codificación NRZ [4] por diferencial de bajo voltaje LVDS ("Low Voltage Differential Signaling"). SATA utiliza tensiones en un rango de 325/600 mV. mientras que el estándar SAS ("Serial Attached SCSI") utiliza el rango 275/1600 mV.

La codificación 8b10b, inventada por IBM en 1983, transforma cada octeto en una palabra de 10 bits mediante un algoritmo especial basado en tablas de conversión ("Look up tables"), diseñadas de forma que cada palabra contenga aproximadamente la misma cantidad de ceros y unos (la relación es 5/5; 4/6 o 6/4), y que la tensión no permanezca constante por más de 5 bits (no existen cadenas con más de 5 ceros o unos seguidos). Por ejemplo, el octeto 0000 0000 es transformado en 01100 01011. Además tiende a que la distribución de ceros y unos sea lo mas homogénea posible dentro de cada palabra y que no existan corrientes resultantes en el cable. Para ello el algoritmo dispone de un sistema "Look-back". De forma que si se ha transmitido una palabra con balance negativo (6/4), la siguiente se transmite con balance positivo (4/6). Esta distribución está pensada para mejorar la detección y corrección de errores y permitir señales de sincronismo [7].

Como se deduce de la explicación anterior, el sistema 8b10b es capaz de codificar un mismo carácter de dos formas distintas. En realidad el proceso se realiza en dos partes; en la primera se codifican los primeros 5 bits del octeto en un proceso 5b6b cuyo rango de la entrada es 0-31 (0-1Fh). En la segunda se codifican los 3 bits restantes en un proceso 3b4b cuyo rango de entrada es 0-7. Ambos procesos tienen en cuenta el denominado valor de disparidad, que incluye la tasa de resultante de ceros o unos de la última codificación. Como ejemplo veamos la codificación 8b10b de los caracteres ASCII 136 (88h) y 169 (A9h). El primero, cuya representación binaria es

Page 384: 6721122 D057 Tecnologia Del PC

10001000, es descompuesto en 01000 y 100. El segundo, 10101001, es descompuesto a su vez en 01001 y 101. Utilizando la simbología de la norma, estos valores se representan respectivamente como D8.4 y D9.5 si son datos y K8.4, K9.5 si fuesen caracteres de control. Para estos valores, las tablas "Look up" muestran las siguientes equivalencias:

Codificación 5b6b

Entrada SalidaDec. Bin. rd+ rd- Rd

8 01000 000110 111001 ¢9 01001 100101 100101 ø

Codificación 3b4b

Entrada SalidaDec. Bin. rd+ rd- Rd

4 100 0010 1101 ¢5 101 1010 1010 ø

rd = disparidad inicial ("Running disparity"). rd+ significa exceso de unos; rd- exceso de ceros.Rd = disparidad resultante. El signo ¢ indica que la disparidad ha cambiado respecto a la inicial. El signo ø indica que la disparidad es neutra (la salida tiene el mismo número de ceros y unos). La disparidad inicial se mantiene.

Dependiendo del la disparidad inicial, la codificación 8b10b resultante es la indicada:

Valor inicial rd+ rd-88h 10001000 0001101101 1110010010A9h 10101001 1001011010 1001011010

En la codificación 8b10b, las señales de sincronismo están incluidas en la secuencia de datos. Esta técnica, conocida como CDR ("Clock Data Recovery") no utiliza señales de sincronización (reloj) separadas, por lo que debe utilizar las transiciones de 0 a 1 en la señal de datos para deducir las señales de reloj. Evidentemente, la mejor situación se produce cuando se transmite una sucesión de ceros y unos alternados. Pero como esto es imposible para los datos [8], se recurre a un artificio, procurando que las cadenas de ceros o unos sean de la mínima longitud posible

Page 385: 6721122 D057 Tecnologia Del PC

(espacio que se conoce como "Run length"). En el ínterin, mientras la señal mantiene la tensión, el decodificador CRU ("Clock Recovery Unit") mantiene la velocidad de reloj igual que la última detectada.

Los tranceptores SATA incluyen en el transmisor una unidad de sincronización y un serializador. Este último se encarga de convertir los octetos de datos en palabras de 10 bits y de añadir los caracteres de control. Los bits son transmitidos en serie y recogidos en el receptor, que dispone de una unidad CRU y un deserializador. Con ayuda de la señal de reloj proporcionada por la CRU y de las señales de alineación, el flujo de bits recibido es codificado en palabras de 10 bits que contienen caracteres de control y de datos. Finalmente los datos son reconvertidos a su formato original.

La comunicación se realiza mediante paquetes de 2 palabras de dos bytes Dwords; 32 bits de datos que se transforman en 40 bits en el medio físico y representan la menor cantidad de información que puede transmitirse en esta arquitectura. Las 1024 (210) posibilidades de cada palabra, son suficientes para codificar los 256 caracteres de un octeto y permitir la existencia de caracteres especiales de control conocidos como caracteres K y caracteres coma.

Nota: La secuencia de 5 caracteres seguidos, 00000 o 11111 solo puede aparecer en una secuencia especial de 7 bits cuyo aspecto es 1100000 o 0011111 conocida como secuencia coma ("Comma sequence") que aparece en el carácter coma, un carácter de control que es único. Esta secuencia solo puede aparecer como parte de un carácter coma, y nunca en la concatenación de cualquier otro par de caracteres, por lo que juega un papel fundamental en la alineación de los datos por el receptor.

Fig. 5. Conexión normal: 1 puerto + 1 cable = 1 dispositivo por puerto.

§5 Multiplicadores de puerto

Los multiplicadores de puerto son dispositivos hardware que permiten conectar varios dispositivos a un un puerto SATA, saltando así la limitación 1 puerto = 1 dispositivo impuesta por la topología estrella. Presentados por primera vez en Febrero de 2003, permiten conectar hasta 16 dispositivos en cada puerto del

Page 386: 6721122 D057 Tecnologia Del PC

Fig. 6. 1 puerto + 1 cable + multiplicador = 4 dispositivos por puerto.

adaptador host.

El multiplicador es transparente para los controladores y los propios dispositivos, que no tienen noción de que están utilizando un único puerto en la controladora.

§6 Selectores de puerto

Son dispositivos hardware que permiten conectar dos adaptadores host SATA a un dispositivo físico (disco) o sistema de ellos. Solo uno de los adaptadores está activo en cada momento, efectuándose la selección por software.

Presentan la ventaja de que el adaptador host deja de ser un dispositivo crítico en el sistema (puede estar duplicado). Además permite diseñar sistemas con balanceo de carga en los que puedan utilizarse dos equipos para acceder a un mismo dispositivo.

§7 Evolución

Los esfuerzos en el campo de la arquitectura ATA serie se iniciaron en el 2001. A continuación se muestra un resumen de su (por el momento) corta historia.

Estándar Comentario

Page 387: 6721122 D057 Tecnologia Del PC

SATA I En Agosto de 2001 se publica la versión 1.0 del estándar. Aparece el primer producto comercialmente disponible que actúa de puente entre el bus paralelo PCI y un dispositivo serie ATA.

La primera versión del estándar estaba pensado exclusivamente para uso interno (dentro del PC). Los cables podían tener un máximo de 1 m. y no se establecieron especificaciones para cables o conectores externos. Además la norma está orientada exclusivamente a dispositivos de almacenamiento. Por tanto quedan excluidas cámaras, escáneres, impresoras, Etc.

SATA II En 2002 se anuncian los primeros controladores host SATA de 4 y 8 puertos disponibles comercialmente. En Octubre de este año se publica la versión II del estándar SATA. También aparecen dispositivos auxiliares, como los multiplicadores y selectores de puerto. Entre otras mejoras incluye encolado de comandos NCQ.

En Agosto de 2003 se anuncian los primeros controladores host SATA-II disponibles comercialmente, con una velocidad de transferencia de 3 Gbit/s [2]. En esta fecha los controladores host funcionan a 1.5 y 3 Gbits/s.

En 2003 comienzan a verse los primeros dispositivos SATA en el sector de la informática de consumo. En 2005 es normal que las placas base incluye de forma estándar dos zócalos PCI (uno de ellos AGP) y 4 conectores ATA (2 x ATA/133 + 2 x SATA/150. Estos últimos con capacidad RAID 0 y 1. También que los fabricantes de placas incluyan con estas un cable de datos SATA para conexión de un dispositivo y un adaptador para cable de alimentación, ya que todavía se instalan fuentes que carecen de salidas específicas para dispositivos SATA internos. Se prevé que para 2006 la práctica totalidad de equipos de sobremesa nuevos monten de serie discos SATA.

§8 Webografía

● Serial ATA Org www.serialata.org y Serial ATA International Organization www.sata-io.org

En realidad son la misma organización.

Page 388: 6721122 D057 Tecnologia Del PC

● Grupo de trabajo T13 www.t13.org

ATA Spec Development. Grupo de trabajo de las especificaciones ATA.

● Grupo de trabajo T10 www.t10.org

Serial Atteched SCSI Spec Development. Grupo de trabajo de las especificaciones SAS.

● Storage Networking Industry Association SNIA www.snia.org

Es una organización que aglutina más de 300 empresas del sector de la industria del almacenamiento. Su objeto es promover estándares que faciliten al mercado soluciones abiertas de almacenamiento.

Inicio.

[1] El mismo sistema de direccionamiento que se venía utilizando en la técnica de canal de fibra ("Fibre Channel"). Existe un comando especial que permite interrogar los datos del dispositivo.

[2] En esta fecha, la compañía suministradora (Marvell) anunciaba haber vendido más de 5 millones de puertos SATA y haber constatado más de 50 diseños distintos que utilizan sus fabricados SATA.

[3] La codificación 8b10b es utilizada por SATA; Gigabit Ethernet; IEEE 1894b y "Fibre Channel" entre otros estándares.

[4] NRZ "Not Return to Zero". Una forma de transmisión donde la señal no retorna a cero (muestra un cambio) después de la transmisión de un bit, por lo que una sucesión de ceros o unos no produce cambios detectables en la línea, haciendo difícil la detección de bits individuales.

Page 389: 6721122 D057 Tecnologia Del PC

[5] Algo parecido a lo que ocurre con algunos dispositivos externos USB. Por ejemplo regrabadoras de CDs o DVDs. Este tipo de solución es conocida como DASD ("Direct Access Storage Device"). Los dispositivos de almacenamiento, discos generalmente, se disponen en chasis que puede albergar varias unidades y está dotado de su propia fuente de alimentación.

[6] AWG ("American Wired Gauge"). Un sistema de medir diámetros de cables utilizado en USA y otros países. A mayor número el diámetro es más pequeño.

[7] En las transmisiones serie asíncronas clásicas (RS-232 2.5.1), las señales de sincronismo están representadas por los bits de inicio y parada ("Start" y "Stop" bits).

[8] Esto solo ocurre con el ASCII 74 = 4Ah (D10.2 en notación del Estándar) que es convertido en la cadena 0101010101 por el algoritmo 8b10b.

[9] Algunos fabricantes lo utilizan para el arranque escalonado de unidades ("Staggered spin-up"). Una técnica que intenta evitar la sobrecarga producida por el arranque simultáneo de las unidades de disco en un sistema cuando existen varias.

Inicio

|Índice| Copyright © 2000-2006 Zator Systems. NO software patents

Page 390: 6721122 D057 Tecnologia Del PC

Tecnología del PC[Home] [Inicio] [Índice]

Subir

6.6 La interfaz ESDI

§1 Sinopsis

La rápida popularización del PC motivó que los fabricantes se fijaran en él e intentaran mejorarlo. En 1983 Maxtor Corporatión, un importante fabricante de discos "desde siempre", lanzó una nueva interfaz que mejoraba en varios aspectos a la primitiva ST506 de Seagate, que había sido la elegida por IBM para sus primeros modelos.

La nueva interfaz, denominada ESDI ("Enhanced Small Device Interface"), elevaba a 10 o 15 los 5 Mbits/s la velocidad de transferencia de los discos Seagate ST412 originales, al tiempo que añadía algunos comandos para su manejo. Aunque la principal novedad consistía en que el sistema de codificación/decodificación de la señal, una de las partes más críticas de un disco, está situada en la propia unidad de disco. Lo que permite comunicaciones más rápidas con la controladora y unidades de más capacidad.

Fue muy popular, incluso llegó a ser un estándar ANSI, aunque fue cerrado ("Withdrawn") en Abril de 1999, y actualmente está en desuso. Desde luego, en sus días de gloria, instalar unidades ESDI en un equipo era sinónimo de altas prestaciones.

§2 Cables

Los discos originales del PC utilizaban dos cables planos para su control de 20 y 34 pines

Page 391: 6721122 D057 Tecnologia Del PC

respectivamente. Las unidades ESDI utilizaron el mismo tipo de cables, aunque usándolos de forma distinta. En este caso, el cable de 20 pines transporta los datos, y es único para cada dispositivo ESDI que se conecte a la controladora (de esta parten tantos cables como dispositivos). El cable de 34 pines parte de la controladora, transporta las señales de control y es único para todas las unidades; de forma que estas forman una cadena sobre él. Este cable, además de un conector en el extremo libre (el otro se conecta a la placa-base), dispone también de conectores intermedios para conectar varias unidades.

El cable de control debe estar terminado con una impedancia de carga adecuada. Para este fin, los discos ESDI disponen de una red de resistencias que pueden ser activadas mediante un puente ("Jumper"). Esta resistencias de terminación solo deben estar activadas en el último disco de la cadena. La selección de unidades también debe hacerse mediante un selector en el propio disco, empezando por la unidad 0 que es la primera.

§3 ESDI en Linux

Las unidades ESDI aparecen en Linux bajo la denominación siguiente:

/dev/ed Unidad ESDI

/dev/eda Primera unidad física

/dev/edb Segunda unidad física

/dev/edc Tercera unidad física

/dev/eda1 Primera partición primaria en la 1ª unidad física

/dev/eda2 Segunda partición primaria en la 1ª unidad física

/dev/hea3 Tercera partición primaria en la 1ª unidad física

/dev/eda4 Cuarta partición primaria en la 1ª unidad física

Page 392: 6721122 D057 Tecnologia Del PC

/dev/eda5 Primera partición lógica en la primera partición primaria (extendida) que tenga unidades lógicas. Observe que este número es siempre 5, incluso cuando la primera unidad física (eda) tiene menos de cuatro particiones primarias.

/dev/eda6 Segunda partición lógica ...

...

/dev/edb1 Primera partición primaria en la 2ª unidad física

...

Inicio

|Índice| Copyright © 2000-2006 Zator Systems. NO software patents

Page 393: 6721122 D057 Tecnologia Del PC

Tecnología del PC[Home] [Inicio] [Índice]

En esta sección:1.1 Funcionamiento del teclado1.2 El teclado y el SO1.2a El teclado en DOS/Windows1.2b El teclado en Linux

Subir

7.1 El Teclado

§1 Sinopsis

Teclado virtual de Virtual Devices

www.virtualdevices.net

El teclado es el dispositivo fundamental de entrada del ordenador [1]. Su operatoria no ha sufrido prácticamente cambios desde la aparición del IBM PC hasta nuestros días, solo pequeñas modificaciones de detalle, que han consolidado 4 tipos de teclado que pueden considerarse estándar; tres de ellos introducidos por IBM, el cuarto preconizado por Microsoft para sus Sistemas Windows.

● Teclado PC XT de 83 teclas (en desuso)

● Teclado PC AT de 84 teclas (en desuso)

● Teclado extendido de 101 teclas

● Teclado extendido Windows de 104 teclas.

Además de los anteriores, se han utilizado otros tipos no estándar, en especial los de portátiles pequeños, en los que el tamaño no permite una distribución convencional de teclas. En lo sustancial todos han utilizado la disposición clásica de teclas de la máquina de escribir (tipo QWERTY), que se ha mantenido hasta nuestros días, aunque han existido también otros diseños. Por ejemplo, la disposición Dvorak.

Nota histórica:

Page 394: 6721122 D057 Tecnologia Del PC

Los teclados de ordenador tienen su ascendiente directo en los teclados de máquinas de escribir. En concreto, la disposición QWERTY se remonta al año 1868 en que fue patentada por Christopher Sholes. En 1873 vendió la patente a Remington, que fue la primera máquina de escribir con éste tipo de teclado (las primeras no disponían teclado como tal, sino ruedas y otros artificios para introducir los caracteres). Existen varias teorías sobre el porqué de la disposición QWERTY, incluyendo las que sostienen que fue un intento deliberado de hacer difícil teclear los caracteres más frecuentes, de modo que los mecanógrafos no las atascaran (cosa muy frecuente en las antiguas máquinas de escribir mecánicas, si se escribía demasiado rápido). Algunos sostienen que este diseño es poco funcional, razón por la que se han ideado otras disposiciones. El teclado Dvorak es uno de estos diseños fundamentado en consideraciones ergonómicas.

§2 Tipos de teclas

Antes de entrar en otros detalles, adelantaremos que todas las teclas del teclado de un PC producen una señal al ser pulsadas ("Make code") y otra distinta al ser liberadas ("Break code"). Atendiendo al uso que el sistema hace de ellas, existen tres tipos:

● Teclas normales. Producen las señales correspondientes al ser pulsadas y liberadas. No producen ningún otro efecto adicional.

● Teclas de conmutación momentánea. Cambian el sentido de otras teclas mientras se mantienen pulsadas, pero el efecto desaparece en cuanto se liberan. Existen tres de esta clase: las teclas Shift (Mayúsculas), Alt y Ctrl, que se encuentran duplicadas a ambos lados del teclado.

● Teclas de conmutación permanente. Tienen un efecto análogo a las anteriores, cambiando el sentido de otras teclas, pero su efecto se mantiene una vez liberadas. Son las teclas Caps Lock, ScrLk, NumLk e Insert. Su acción es tipo ON/OFF; para cambiar el efecto es necesario volver a pulsar/liberar [3].

§3 Teclado PC XT de 83 teclas

Page 395: 6721122 D057 Tecnologia Del PC

Este teclado fue introducido con el IBM PC en 1981. Está dotado de un conector DIN de 5 patillas . Las teclas están dispuestas en tres zonas:

● Teclas de función: Dispone de 10 teclas de función dispuestas en dos columnas en la zona izquierda.

● Teclado mecanográfico: Situado en el centro, un conjunto de 57 teclas con disposición QWERTY similar al de la máquina de escribir.

● Teclado numérico: A la derecha tiene un conjunto de 16 teclas ("Numeric Key Pad") que incluye los caracteres numéricos del 0 al 9; los signos +/-; punto decimal; multiplicación y teclas de bloqueo numérico y desplazamiento ("Scroll"). Este conjunto se incluyó para las aplicaciones de gestión que requieren introducir gran cantidad de datos numéricos.

§3.1 Algunas teclas del teclado numérico tienen un doble uso, que es controlado por la acción de una tecla especial de bloqueo numérico Num lock. El primer uso corresponde a los números 0 a 9, es el denominado modo numérico. El segundo corresponde a las teclas de control de cursor: Home (7); Flecha arriba (8); PgUp (9); Flecha izquierda (4); Flecha derecha (6); End (1); Flecha abajo (2), y PgDn (3). Esta disposición de doble uso para el teclado numérico independiente ("keypad"), se ha mantenido en las versiones sucesivas.

Además del anterior, el teclado dispone de otros dos estados de uso que pueden ser bloqueados mediante la acción de teclas específicas: Bloq may ("Caps lock") y Bloq desp ("Scroll lock").

Utiliza un protocolo de comunicación unidireccional, por lo que no acepta comandos de configuración o chequeo desde la placa base, todas las señales tienen la dirección teclado -> placa.

Page 396: 6721122 D057 Tecnologia Del PC

§4 Teclado PC AT de 84 teclas

El IBM PC AT, presentado por IBM en 1983; introdujo un nuevo teclado que añadía una tecla y algo de hardware adicional respecto del XT, de forma que ambos teclados no eran directamente intercambiables (*). Su disposición es muy parecida a la del XT, aunque el teclado numérico independiente está más separado, e incluye luces para controlar los estados de bloqueo: De mayúsculas ("Caps lock"); numérico ("Num lock"), y de desplazamiento ("Scroll").

Sigue utilizando el conector DIN de 5 patillas , pero utiliza un protocolo de comunicación bidireccional. Acepta un conjunto de 8 comandos desde la placa-base.

* En esta época, la mayoría de los teclados clónicos incluían un pequeño interruptor inferior tipo "Dip swhich" que permitía seleccionar el tipo de PC al que se conectaban (XT o AT).

§5 Teclado extendido de 101 teclas

Es introducido por IBM junto con el modelo PS/2 en 1987, y adopta la disposición que se ha mantenido prácticamente sin cambios hasta nuestros días, las teclas se disponen en cuatro bloques, y la tecla Intro está duplicada [2].

● Teclas de función: Dispone de una fila superior de 13 teclas, con la tecla Esc a la izquierda, y 12 teclas de función, F0 a F12, dispuestas en tres grupos de 4 sobre el teclado mecanográfico.

● Teclado mecanográfico: Situado bajo la fila de teclas de función; su disposición es similar a los teclados anteriores.

Page 397: 6721122 D057 Tecnologia Del PC

● Teclas de control: Un conjunto de 13 teclas situado a la derecha del anterior que incluye algunas opciones que en los teclados anteriores se habían utilizado asociados con otras en teclas de doble uso, por ejemplo las cuatro teclas de desplazamiento de cursor (flechas derecha, izquierda, arriba y abajo).

● Teclado numérico: A la derecha tiene un conjunto de 17 teclas que incluye un juego de caracteres numéricos ("Numeric Key Pad") con los números del 0 al 9, los signos +/-; punto decimal; multiplicación, división, bloqueo numérico e Intro. Las teclas siguen teniendo doble uso.

El teclado original PS/2 utiliza un conector mini DIN de 6 contactos , que fue adoptado rápidamente por el resto de fabricantes. La diferencia respecto al DIN tradicional es meramente mecánica. En caso de tener que conectar un teclado con conector PS/2 (mini DIN) a un sistema con conector DIN o viceversa, pueden utilizarse adaptadores. Acepta un conjunto de 17 comandos desde la placa-base.

§5.1 Control del bloqueo numérico

El tipo de teclado puede ser detectado por la BIOS en la secuencia de arranque. Cuando se detecta un teclado extendido, la BIOS activa el bloqueo numérico , y en consecuencia se enciende el LED [4] correspondiente en el teclado. Esta acción, que no aparecía en los modelos IBM anteriores, causaba irritación a algunos usuarios que estaban acostumbrados a que, por defecto, las teclas del "keypad" actuaban como teclas de movimiento de cursor. Para paliar este efecto y dejarlo bajo control del usuario, algunos fabricantes introdujeron en el programa de configuración de la BIOS la posibilidad de determinar el estado inicial del bloqueo numérico.

En MS DOS 6.0 o superior también es posible controlar esta característica mediante el comando NUMLOCK=, que especifica si el valor de NUM LOCK para el teclado numérico está ACTIVADO o DESACTIVADO (solamente se puede utilizar dentro de un bloque de menú en el archivo CONFIG.SYS). La sintaxis es la siguiente:

NUMLOCK=[ON|OFF]

Parámetros:

ON|OFF Si está ACTIVADO, se activará la opción NUM LOCK cuando MS-DOS presente el menú de inicio. Si está desactivado, se desactivará NUMLOCK.

Page 398: 6721122 D057 Tecnologia Del PC

Ejemplo: Para asegurarse de que NUM LOCK esté siempre ACTIVADO cuando aparezca el menú de inicio, incluya el siguiente comando en el bloque [MENU]. El siguiente bloque de menú define tres elementos de menú, fija el elemento predeterminado como "config_normal" y fija NUM LOCK como ACTIVADO:

[menu]menuitem=config_base, Sólo la configuración basemenuitem=config_normal, Configuración normalmenuitem=red, Configuración normal con redmenudefault=config_normalnumlock=on

§6 Teclado extendido Windows de 104 teclas

Este teclado es introducido por Microsoft a partir de la aparición de Windows 98, y presenta tres nuevas teclas específicas denominadas Windows izquierda, Windows derecha y Aplicación. La pulsación de estas teclas origina secuencias con significados especiales para el Sistema Operativo o los programas de aplicación.

Nota: En realidad estas teclas no son estrictamente necesarias porque su acción puede conseguirse con otras combinaciones de teclas o con el ratón. Por ejemplo, la combinación CTRL+ESC tiene la misma acción que la tecla Windows.

Los usos básicos son los siguientes:

● Windows (izquierda y derecha); se denominan así porque están a ambos lados de la barra espaciadora, tienen el mismo efecto (es una tecla duplicada). Si la barra de tareas está visible, abre el menú de inicio; si no está visible, por ejemplo porque un programa ha utilizado la pantalla completa (cosa que suele suceder con los programas de instalación), la hace aparecer.

● Aplicación: Tienen el mismo efecto que pulsar el botón derecho del ratón; aparecer un menú contextual.

Las teclas Windows tienen significados especiales cuando se pulsan en combinación con otras. Por ejemplo, Win+TAB recorre cíclicamente los botones de la barra de tareas correspondientes a las aplicaciones abiertas en ese momento.

Page 399: 6721122 D057 Tecnologia Del PC

Este teclado se presenta con algunas variantes; hay muchos fabricantes que solo utilizan la tecla Windows izquierda.

§7 Teclados compactos

Algunos teclados de pequeño tamaño, especialmente de portátiles pequeños, han utilizado una combinación compacta incluyendo el "Key pad" numérico en el teclado mecanográfico normal. Algunas teclas tienen un doble uso, letra normal y tecla numérica. El bloqueo en una u otra forma se efectúa mediante una tecla especial (generalmente a la izquierda de la barra espaciadora señalada con "Fn").

Nota: En ocasiones la tecla Windows de Aplicación tiene doble uso. Al pulsarla sola funciona como tal tecla "de aplicación", y al pulsarla en conjunción con otra tiene el uso de tecla Fn.

§8 Conector de teclado

Los primeros teclados, XT de 83 teclas; AT de 84, y algunos extendidos de 101/102 teclas, utilizan un conector DIN de 5 patillas con el macho del lado del teclado y la hembra del lado de la placa-base. Salvo en algunos modelos de IBM el cable está sólidamente unido al teclado.

Nota: El conector en la placa-base es proverbialmente delicado, por lo que hay que tener cuidado al abrochar el cable del teclado al ordenador, ya que una presión excesiva puede arrancar de la placa base el conector hembra, a la que está unida por unas patillas soldadas de poca resistencia mecánica.

La introducción del PS/2 de IBM inauguró la moda de utilizar conectores mini DIN para teclados y ratones. La tendencia actual es utilizar conectores USB para ambos dispositivos de entrada. Más recientemente se está extendiendo la moda de dispositivos inalámbricos ("Wireless"). Esto no significa que tales modelos no utilicen el conector de teclado; lo que en realidad desaparece es el cable entre el dispositivo que se conecta al conector del PC y el propio teclado. La moda comenzó con los de enlace infrarrojo, pero actualmente casi todos son de radio-frecuencia [5].

Page 400: 6721122 D057 Tecnologia Del PC

Conector DIN41524 5 pines 180° Pin Nombre Descripción1 +CLK Clock2 +DATA Data3 n/c No usado4 GND Tierra5 VCC +5 V. CC

Conector MINI-DIN de 6 pines estilo PS/2 Pin Nombre Descripción1 +DATA Key Data2 n/c No usado3 GND Tierra4 VCC +5 V. CC5 +CLK Clock6 n/c No usado

Conector USB tipo A Pin Nombre Descripción1 VBUS +5 V. CC2 D- Data -3 D+ Data +4 GND Tierra

Nota: En los antiguos teclados XT, el pin 3 está unido al Reset. A partir del AT, este conector no es utilizado.

Adaptador USB/mini-DIN.

Nota: La utilización de un teclado con conector USB en el arranque, exige que la BIOS disponga del soporte adecuado para el repetidor raíz USB de la placa-base ( 7.1a). En caso contrario hay que conectarlo al conector mini-DIN tradicional mediante un adaptador adecuado (ver figura).

Inicio.

[1] Parece que en el futuro será un micrófono para recibir directamente comandos por voz.

Page 401: 6721122 D057 Tecnologia Del PC

[2] La disposición de 101 teclas corresponde al teclado inglés americano. Los de otros lenguajes, por ejemplo español, que incluyen la "ñ/Ñ", tienen 102 teclas.

[3] En realidad, la acción de la tecla Caps Lock de "bloqueo de mayúsculas", consiste en invertir la acción de la tecla Shift.

[4] LED ("Light Emitting Diode"), un tipo de diodo emisor de luz que en todos los colores y tamaños estamos cansados de ver en los dispositivos electrónicos.

[5] Algunos de estos teclados inalámbricos, especialmente los de mala calidad, tienen dificultad para manejar correctamente algunas operaciones que exigen la pulsación simultánea de dos teclas.

Inicio

|Índice| Copyright © 2000-2006 Zator Systems. NO software patents

Page 402: 6721122 D057 Tecnologia Del PC

Tecnología del PC[Home] [Inicio] [Índice]

Subir

7.1.1 Funcionamiento del teclado

§1 Presentación

Junto con el ratón mecánico tradicional (no los actuales modelos ópticos), el teclado es el dispositivo más sencillo que puede conectarse al ordenador. Sin embargo, alberga una electrónica relativamente compleja y sofisticada que, en los modelos AT y siguientes, incluye un procesador relativamente potente; cierta cantidad de memoria EEPROM para guardar la configuración; cierta cantidad de memoria ROM que actúa como una mini-BIOS del dispositivo, y capacidad de chequeo y auto diagnóstico, además de otras funciones.

La razón de esta complejidad es que, aparte de enviar las señales adecuadas a la placa-base, la tarea de recoger la señal de interruptores mecánicos no es tan trivial como pudiera parecer a primera vista. Los que hayan intentado diseñar interfaces para introducir simples señales ON/OF en un PC, saben que la tarea puede ser extraordinariamente compleja. Incluso con los pequeños niveles de tensión que manejan en los circuitos TTL, los interruptores mecánicos producen microchispas y rebotes ("Bouncing") que duplican la señal y complican el diseño de estos dispositivos; hasta el extremo que no es infrecuente que se recurra a "chapucear" la electrónica del teclado para estos menesteres.

Después de haber lidiado con este tipo de dificultades, y haber comprobado que el único problema de un teclado medianamente bueno es derramar encima el café, me atrevería de decir que el diseño de los señores de la IBM, es una obra maestra de fiabilidad y simplicidad.

§2 Generalidades

Page 403: 6721122 D057 Tecnologia Del PC

El teclado del IBM PC es un periférico que utiliza una comunicación serie síncrona ( H2.5a) para conectar con la placa-base [1]. El diálogo se realiza entre el controlador de periféricos 8255 instalado en la placa ( 2) y la electrónica situada en el interior del propio teclado, aunque la comunicación con el PIC no se realiza directamente, sino a través de una interfaz constituida por un chip 8042 o un 8742 en el modelo AT [4]. Como anunciábamos al tratar del controlador de periféricos, la conexión lógica se realiza por las direcciones 60h-63h en el PC XT y 060h-064h en el AT.

Nota: En los modelos XT esta comunicación era unidireccional, en el sentido del teclado a la placa-base, pero a partir del AT es bidireccional, con lo que es posible configurar ciertos comportamientos del teclado desde la placa-base.

El controlador de teclado en un circuito integrado (IC) situado en su interior. Inicialmente era un 8048 que posteriormente fue sustituido por un 8049. Pero actualmente cada fabricante utiliza su propio controlador de los que existen gran variedad en el mercado. La misión principal de este IC es escanear las teclas, e informar si alguna ha sido pulsada o liberada.

Además de la misión principal, el controlador de teclado realiza otras funciones auxiliares; tiene capacidad de chequeo y diagnóstico, y dispone de un "buffer" capaz de almacenar las últimas 20 pulsaciones para el caso improbable que el 8042 no pueda leerlas con suficiente rapidez. Además, si alguna tecla se mantiene pulsada por más de un tiempo determinado (del orden de 0.5 segundos), es capaz de generar repetidamente la acción a intervalos determinados.

§3 Funcionamiento

Lejos de lo que podría parecer a primera vista, existe una larga, y a veces complicada, sucesión de acontecimientos entre el instante en que se pulsa una tecla, Por ejemplo una "A", y el momento en que aparece dicho carácter en el procesador de textos. La trayectoria más compleja se presenta en las aplicaciones ejecutadas bajo una interfaz gráfica. Por ejemplo un editor en Windows o Linux bajo uno de sus entornos gráficos (KDE, por ejemplo). El caso más simple podemos encontrarlo en aplicaciones corriendo en modo texto. Por ejemplo, en MS-DOS. Esta sucesión de acontecimientos explica, entre otras cosas, porqué puede pulsarse la tecla punto y coma :/; (a la derecha de la tecla "L") en un teclado americano, y aparecer una "Ñ" en la pantalla si hemos cargado el "Idioma" adecuado en nuestro sistema.

La exposición, desde la óptica del PC compatible IBM, la dividiremos en tres partes: Las dos primeras son comunes a todos los Sistemas Operativos; se refieren a la forma en que es detectado y configurado

Page 404: 6721122 D057 Tecnologia Del PC

el teclado durante el arranque, y como llega la notificación de la tecla (o combinación de teclas) pulsadas a la placa-base. La tercera se refiere al tratamiento que hace el SO con la información recibida y será tratada en el siguiente capítulo ( 7.1.2).

§3.1 Detección y chequeo del teclado

Cuando se establece la tensión adecuada, a través del cable que lo conecta con la placa-base, el controlador del teclado realiza un auto-test que comprende su electrónica y la de su interfaz, después de lo cual envía el código AA al 8042 o un FD si existe algún problema.

A tratar de el BIOS, señalamos que dentro de sus funciones, están el inventario de recursos y comprobación del hardware ( 4.2). En lo referente al teclado, el POST realiza una comprobación de que este periférico y su interfaz funcionan correctamente, generándose un error en caso de problemas. Además de estas comprobaciones, el BIOS detecta el tipo de teclado conectado y lo inicializa.

La calidad de la verificación realizada por el POST depende del BIOS utilizado; en el mejor de los casos, los POST-codes referidos al teclado pueden ser del siguiente tipo (de una BIOS AMI color):

25 Check 8042 KBC26 Global data for KBC66 Pereform 8259 PIC initialization67 Perform Keyboard test80 Keyboard reset81 Perform stuck key and batch test (keyboard)82 Run 8042 KBC test83 Perform lock key check

Lo anterior es también de aplicación a los códigos de diagnóstico ( 4.2), que dependen de la BIOS utilizada. Los relativos al teclado de las BIOS IBM son los siguientes (mantenemos los mensajes en inglés - como aparecen en el manual IBM):

301 Keyboard did not respond correctly (stuck key detected)302 Keyboard locked (AT models 25, 30)303 Keyboard/system board interface error - keyboard controller fault304 Keyboard or system unit error (keyboard clock stuck high)

Page 405: 6721122 D057 Tecnologia Del PC

305 Keyboard fuse failed on system board (PS/2 50, 60, 80) or +5 Volt error (PS/270)306 Unsupported keyboard attached341 Keyboard error342 Keyboard cable error343 Enhancemente card or cable error365 Keyboard failure366 Interface cable failure367 Enhancement card or cable failure

Nota: Tradicionalmente, los manuales de mantenimiento señalaban que si después de sustituido el teclado por uno comprobado, el problema persistía, debería sustituirse el integrado correspondiente de la placa-base (situado cerca del conector de teclado). En las placas actuales esto no es posible ni rentable. La solución es sustituir la placa-base.

§3.2 Configuración BIOS

Es importante reseñar que los primeros equipos estaban pensados para funcionar con teclado, por lo que en caso de error en el POST, el sistema se detenía. En la actualidad, cuando muchos equipos se utilizan como servidores sin atención humana, incluso conectados a un teclado compartido [7] las BIOSes permiten continuar el proceso, incluso en caso de fallo (por ausencia) del teclado. A este respecto, el comportamiento del POST depende de los parámetros de configuración establecidos. Los más importantes en lo que se refiere a este punto, son los siguientes (mantenemos el mensaje en inglés - como aparecen en el programa de "Set-Up"):

● Halt On / Halt On Errors: Este parámetro indica al POST si debe detenerse y advertir al usuario si ocurren ciertos errores durante el proceso. Uno de ellos se refiere a ignorar los errores relacionados con el teclado. Generalmente seleccionando "Halt on", puede seleccionarse una segunda opción: "all errors but keyboard", que indicará que debe seguir aunque aparezca un error de teclado en la secuencia de inicio.

● Keyboard Present: Este caso es análogo al anterior. Ponga "No" si el equipo arrancará sin teclado.

● Typematic Delay: Se refiere al intervalo, milisegundos, antes que la pulsación continuada de una tecla inicie la repetición automática .

● Typematic Rate: Poner aquí la velocidad de repetición deseada, en caracteres por segundo, para la repetición de teclas.

Page 406: 6721122 D057 Tecnologia Del PC

● USB Legacy Support: Habilita el soporte para teclado USB (en las BIOS que están capacitadas para ello). En algunas BIOSes Phoenix aparece en la sección "Integrated Peripherals" del menú principal de Setup, bajo el epígrafe "USB Keyboard Support". En este caso, existe otro epígrafe, "USB Controller", que debe ser también activado ("Enabled").

§3.3 Código de exploración

Cuando se pulsa una tecla, el chip del teclado genera un código de exploración ("Scan code") de un byte, que en este caso se denomina código de acción ("Make code"). Cuando posteriormente la tecla es liberada, se genera un nuevo código ("Break code"), cuyo valor es el de pulsación incrementado en 128. Por ejemplo, cuando se pulsa la letra "A" se genera un código de exploración 30 (1Eh), y de 30 + 128 = 158 (9Eh) cuando se libera [5].

En la tabla adjunta se muestran los códigos de exploración del teclado estándar de 101/102 teclas [3], aunque debemos advertir que existen tres de estas tablas:

● Scancode set 1: IBM PC XT

● Scancode set 2: IBM PC AT

● Scancode set 3: IBM PS/2

El más universalmente utilizado es el tipo 2, correspondiente al PC AT, aunque puede haber diferencias puntuales entre los fabricantes. Lo más probable es que, cualquiera que sea el juego de caracteres utilizado, la rutinas de servicio del teclado la transformen en el tipo 1 antes de traducirlos en byte-codes

.

Núm. de tecla - Carácter - Código de exploración ("scancode") hexadecimal

Page 407: 6721122 D057 Tecnologia Del PC

1- ‘ - 292 - 1 - 23 - 2 - 34 - 3 - 45 - 4 -56- 5 - 67 - 6 - 7

8 7 89 8 9

10 9 0A11 0 0B12 - 0C13 = 0D

15 Backspace 0E16 Tab 0F17 Q 1018 W 1119 E 1220 R 1321 T 1422 Y 1523 U 1624 I 1725 O 1826 P 19

27 [ 1A28 ] 1B

29 \ (101-key) 2B30 Caps Lock 3A

31 A 1E32 S 1F33 D 2034 F 2135 G 2236 H 2337 J 2438 K 2539 L 2640 ; 2741 ‘ 28

42 # (102-key) 2B43 Enter 1C

44 Left Shift 2A45 \ (102-key) 56

46 Z 2C47 X 2D48 C 2E49 V 2F50 B 3051 N 3152 M 32

53 , 3354 . 3455 / 35

57 Right Shift 3658 Left Ctrl 1D60 Left Alt 38

61 Spacebar 3962 Right Alt E0,3864 Right Ctrl E0,1D

75 Insert E0,5276 Delete E0,53

79 Left arrow E0,4B80 Home E0,4781 End E0,4F

83 Up arrow E0,4884 Down arrow E0,50

85 Page Up E0,4986 Page Down E0,5189 Right arrow E0,4D

90 Num Lock 4591 Keypad 7 (Home) 4792 Keypad 4 (Left) 4B93 Keypad 1 (End) 4F

95 Keypad / E0,3596 Keypad 8 (Up) 48

97 Keypad 5 4C

98 Keypad 2 (Down) 5099 Keypad 0 (Ins) 52

100 Keypad * 37101 Keypad 9 (PgUp) 49102 Keypad 6 (Left) 4D

103 Keypad 3 (PgDn) 51104 Keypad . (Del) 53

105 Keypad - 4A106 Keypad + 4E

108 Keypad Enter E0,1C110 Escape 1

112 F1 3B113 F2 3C114 F3 3D115 F4 3E116 F5 3F117 F6 40118 F7 41119 F8 42120 F9 43121 F10 44122 F11 57123 F12 58

124 PrtScr E0,2A,E0,37125 ScrLk 46

126 Pause E1,1D,45E1,9D,C5

Page 408: 6721122 D057 Tecnologia Del PC

La generación de los "Scan codes" tiene algunas peculiaridades que conviene resaltar:

● Puesto que se dispone de 1 byte para el código de exploración, en principio pueden generarse 255 códigos distintos. De estas posibilidades, la primera mitad, con el bit7 = 0, está reservada a los "Make codes" (en los primeros teclados XT era un número del 1 al 83).

● Salvo raras excepciones, las teclas producen dos tipos de códigos. La mayoría produce un makecode de 7 bits, en el rango 01-7Fh (en realidad de 8 bits, con el bit 7 a cero). Mientras que otras producen dos códigos de acción (otros dos en la liberación), de los cuales el primero es de 8 bits (el carácter E0h), y el segundo de 7 bits.

● Para las teclas del primer grupo, que generan un solo código, el breakcode se obtiene sumando 128 al makecode (poniendo el bit 7 a 1). En el segundo grupo, que generan dos códigos, el primer carácter de los códigos de pulsación y liberación es siempre igual a E0h. El segundo carácter del breakcode se obtiene también incrementando en 128 el valor del segundo carácter del makecode.

● En el caso de teclas duplicadas. Por ejemplo, las teclas Alt y Ctrl a ambos lados de la barra espaciadora, o las que aparecen en el bloque de teclas normales y el "Key pad" numérico independiente, el código de exploración generado es distinto para cada tecla, por lo que el sistema puede discriminar perfectamente de donde proviene la señal [2].

● Puesto que los códigos de pulsación y liberación de tecla son distintos, y el sistema guarda un registro de tales movimientos, la rutina que atiende las interrupciones del teclado (que tiene un área de memoria para almacenar estos datos ), puede saber si, por ejemplo, estamos pulsando una "A" mientras mantenemos pulsada la tecla de mayúsculas o la pulsamos estando esta en reposo.

● Además de las teclas estándar, que generan 1 o dos códigos, existen dos, PrtSc y Pause, que envían una serie de 6 códigos en forma de cadena.

● La tecla Ctrl produce códigos de 2 bytes cuando se pulsa aisladamente y de uno cuando se pulsa en combinación con otras.

● Las teclas Tab, Enter, Esc y Backspace son las únicas que no producen un código de retorno ("Break code"). Pueden ser simuladas mediante combinaciones de la tecla Control:

�❍ Tab = Ctrl + I

�❍ Enter = Ctrl + M

�❍ Esc = Ctrl + [

�❍ Backspace = Ctrl + H

Page 409: 6721122 D057 Tecnologia Del PC

Las teclas de función F1 - F12 producen códigos de 2 bytes que son diferentes si se pulsan aisladas, o en combinación con las teclas Shift, Ctrl y Alt. Lo que produce a un total de 48 grupos de códigos distintos.

Nota: Los usuarios de Linux disponen una utilidad especial, showkey, que permite obtener los "Scan codes" de las teclas. Esta rutina hay que llamarla desde una consola root con la opcón -s (consultar man showkey).

§3.4 Solicitar atención

El código de exploración es depositado en el puerto A (060h) del controlador de periféricos, por lo que cada pulsación/retroceso registra dos códigos en el PIO, y cada vez el referido controlador devuelve rápidamente una señal de reconocimiento ACK al chip del teclado, lo que se realiza por el puerto B (061h) del citado controlador.

Además de lo anterior, cuando el PIO recibe un código de exploración, genera una petición de interrupción poniendo en tensión baja la línea IRQ1 del bus de datos (que está reservada al teclado 2.4). Cuando la interrupción es atendida y el procesador interroga, el controlador de interrupciones PIC contesta con la interrupción número 9 (de teclado) y enmascara las siguientes peticiones que pudieran producirse en la línea IRQ1 hasta que la actual haya sido atendida.

El valor 9 da una pista de donde se encuentra la rutina que atiende el servicio, que es activada ( 2.4). Esta rutina sabe que tiene que leer el puerto de teclado (60h) para ver que código de exploración hay en el bufer de la interfaz de teclado. A continuación transforma éste número en un código de 2 bytes, conocidos como keycodes o bytecodes, que son pasados al búfer del teclado hasta que los lee algún programa que los necesita.

La regla de formación de estos dos keycodes es como sigue:

● Si se pulsa una tecla del teclado estándar, el byte auxiliar (de la izquierda, de mayor peso) contiene el propio código de exploración, mientras que el byte principal (de menor peso) contiene el código ASCII del carácter de la tecla (1 a 255). Para la determinación se tienen en cuenta los "Bytes de estado" (ver a continuación ).

● Cuando se pulsa una tecla especial, como es el caso de las teclas de función (F1/F12) o Shift;

Page 410: 6721122 D057 Tecnologia Del PC

las teclas de movimiento de cursor, como Home o End, y las del teclado numérico independiente, el byte principal contiene un cero y el auxiliar contiene el código de exploración.

Tenga en cuenta que los "Break code" son descartados, a excepción de los que corresponden a teclas de conmutación ( 7.1) permanentes y no permanentes, que tiene influencia en los bytes de estado.

Nota: El comportamiento anterior corresponde a la versión estándar de la rutina 9 de la BIOS, tal como es utilizada por MS-DOS. Algunos Sistemas Operativos instalan sus propias rutinas de servicio, cuyo comportamiento puede diferir. Véase por ejemplo, el epígrafe El teclado en Linux ( 7.1.2b).

§4 Búfer del teclado

El búfer del teclado es un área de 32 bytes de RAM en las direcciones 41Eh-43Dh (memoria de datos de la ROM BIOS 4.3). Puesto que se originan 2 byte-codes por cada código de exploración, es posible almacenar un máximo de 16 pulsaciones, aunque en realidad solo se aprovechan 15. La posición 16 contiene información especial que, como veremos enseguida, es necesaria para el esquema de funcionamiento adoptado.

El búfer tiene una organización circular (FIFO) y es manejado en base a los valores de dos punteros; el puntero de inicio, almacenado en las direcciones 41Ah-41Bh, señala la dirección de inicio, y el puntero de cola, almacenado en las direcciones 41Ch-41Dh, señala la dirección del final [6]. El puntero de inicio señala siempre la posición del primer carácter del búfer (en cualquiera de las 15 posiciones posibles). En el momento inicial, cuando el búfer está vacío, el puntero de cola apunta al mismo sitio que el de inicio. Cuando se van añadiendo byte-codes, el puntero de cola va señalando posiciones sucesivas (de dirección creciente), hasta que se alcanza la posición superior, empezándose entonces por la dirección inferior del búfer. Cuando se alcanza la posición de inicio, el búfer está lleno y se rechazan los caracteres siguientes (algunos Sistemas señalan esta circunstancia mediante un pitido en el altavoz del equipo).

Nota: La interrupción 9, producida por la pulsación de una tecla, invoca un servicio de teclado que podríamos considerar básico. Como hemos visto, su trabajo consiste en traducir los Scan-codes recibidos en byte-codes situados en el búfer de teclado, pero no es la única interrupción que proporciona servicios de este tipo. En el capítulo siguiente veremos que existen otras que complementan el manejo de la información proveniente de este periférico.

Page 411: 6721122 D057 Tecnologia Del PC

§5 Bytes de estado

Además de las teclas pulsadas, la rutina de servicio BIOS mantiene en las direcciones 417h y 418h (zona de memoria de la ROM BIOS), dos bytes con información importante sobre el estado del teclado. Son los denominados bytes de estado, cuyo contenido se muestra en la tabla adjunta.

Dirección bits76543210 Significado

417h

X........X........X........X........X........X........X........X

Estado de inserción: 1 = activo; 0 = inactivo Bloqueo de mayúsculas: 1 = activo; 0 = inactivo Bloqueo numérico ("Num lock"): 1 = activo; 0 = inactivo Bloqueo de desplazamiento ("Scroll"): 1 = activo; 0 = inactivo Alt Shift: 1 = activo (Alt pulsada); 0 = inactivo Ctrl Shift: 1 = activo (Ctrl pulsada); 0 = inactivo Shift izquierdo: 1 = activo (pulsado); 0 = inactivo Shift derecho: 1 = activo (pulsado); 0 = inactivo

418h

X........X........X........X........X........X........X........X

1 = Tecla [Ins] presionada 1 = Bloqueo de mayúsculas presionada 1 = Bloqueo numérico presionada

Estado de bloqueo ( 7.1b); 1 = activo; 0 = inactivo 1 = Sonido de teclado del PCjr activo 1 = Click activo en el PCjr. No utilizado No utilizado

Nota: Los programas de diagnóstico del teclado suelen incluir una secuencia que escribe sucesivamente valores 0 y 1en los bits 4, 5 y 6 del primer byte de estado, con lo que las luces de bloqueo de desplazamiento, de mayúsculas y de bloqueo numérico del teclado, se encienden y apagan sucesivamente.

Page 412: 6721122 D057 Tecnologia Del PC

§6 Repetición de teclas.

Después de pulsada una tecla, si no se suelta en un lapso de 0.5 segundos (retardo de la repetición), el chip de teclado genera automáticamente la acción de repetición con una cadencia de 10 veces por segundo (velocidad de repetición). Esta repetición es denominada "Typematic" por IBM, y es tratada de forma inteligente por la interrupción 9. En caso de que se trate de una tecla normal, una "A" por ejemplo, la BIOS creará una serie de Aes que serán pasadas al buffer de teclado para cualquier programa que necesite leerlas. Sin embargo, si se mantiene pulsada la tecla "Shift", no se generará esta repetición, simplemente se interpretará que la tecla está pulsada. El sistema puede incluso detectar si la sucesión de caracteres son resultado de la acción repetida sobre la tecla, o de una pulsación prolongada, porque en este último caso faltan los códigos intermedios de liberación de tecla.

Nota: Aparte de las formas que se citan a continuación, las características de esta repetición, velocidad e intervalo inicial, pueden ser establecidas de varias formas en los sistemas modernos: Mediante el programa de "Setup" de la BIOS y mediante un servicio de esta que puede ser invocado por cualquier aplicación ( 7.1.2).

§6.1 Cambiar repetición de teclas en MS DOS

El retardo y la velocidad de repetición de teclas pueden ser establecidas en MS DOS mediante el comando MODE. La sintaxis es la siguiente:

MODE CON[:] [RATE=r DELAY=d]

Parámetros

● CON[:] Se refiere al teclado (el comando MODE puede tener otros usos).

● RATE=r Especifica la velocidad de repetición de un carácter en la pantalla cuando se mantenga presionada una tecla. Son valores aceptados para r entre 1 y 32. Estos valores equivalen aproximadamente de 2 a 30 caracteres por segundo. El valor predeterminado es 20 para teclados compatibles con IBM AT y 21 para los teclados compatibles con IBM PS/2. Si define una velocidad también tendrá que definir el retardo.

● DELAY=d Especifica el tiempo que deberá transcurrir (después de mantener presionada una

Page 413: 6721122 D057 Tecnologia Del PC

tecla) antes de que MS-DOS inicie la repetición del carácter. Los valores aceptados para d son 1, 2, 3 y 4 (que representan 0,25; 0,50; 0,75 y 1 segundo, respectivamente). El valor predeterminado es 2. Si establece el retardo, también tendrá que establecer la velocidad.

§6.2 Cambiar repetición de teclas en MS Windows

El Sistema MS Windows 98 permite modificar fácilmente tanto el valor del retraso, como la velocidad de repetición en: Menú de inicio Configuración Panel de Control Teclado.

§6.3 Cambiar repetición de teclas en Linux

Aunque dedicamos un capítulo exclusivo a las peculiaridades del tratamiento del teclado en este Sistema Operativo ( 7.1.2b), adelantamos aquí que el comando kbdrate pemite modificar la velocidad de repetición y el retardo inicial. Generalmente los valores por defecto corresponden al estándar inicial IBM: 10 cps (caracteres por segundo) y 250 ms (milisegundos) respectivamente.

§7 Webografía

● Keyboard scancodes de Andries Brouwer www.win.tue.nl

Inicio.

[1] Al contrario de lo que ocurre con otros dispositivos. Por ejemplo, la pantalla, el sincronismo de la comunicación entre el teclado y la placa, hace necesario enviar una señal de sincronización CLK que se obtiene del reloj del sistema y se prolonga hasta el teclado (una fracción de la frecuencia del bus externo

2; unos 10 KHz). Además, desde el principio el teclado está diseñado para que su energía de funcionamiento se obtenga de la placa-base, por lo que también existe una señal de alimentación (+5 V. cc) en el cable.

[2] Generalmente los programas de usuario no utilizan estas diferencias, pero los programas de diagnóstico las discriminan y permiten detectar cual de las teclas duplicada ha sido pulsada.

Page 414: 6721122 D057 Tecnologia Del PC

[3] El carácter es el que aparece sobre la tecla en un teclado USA estándar. Cuando se trata de un carácter especial (que suelen aparecer como símbolos -flechas- o abreviaturas en las teclas) se ha recurrido a poner su nombre completo. Por ejemplo, Delete.

[4] Es frecuente que algunos textos se refieran a estos circuitos como controladores del teclado KBC ("Keyboard Controller"), cuando es el IC alojado en su interior (8048). En realidad, tanto el 8042 como el 8742, son la "interfaz" del dispositivo en la placa-base.

[5] Este diseño constituyó una novedad, dado que en la era pre-PC, los más frecuente era que los teclados generaran directamente el código ASCII de la tecla pulsada. Solo los caracteres ASCII estaban presentes en estos teclados pensados exclusivamente para el inglés-americano.

[6] Aunque los punteros son de 2 Bytes de largo, solo se utiliza el inferior (el menos significativo).

[7] Mediante los dispositivos adecuados, una sola pantalla, ratón y teclado pueden ser utilizados (alternativamente) para atender varios sistemas.

Inicio

|Índice| Copyright © 2000-2006 Zator Systems. NO software patents

Page 415: 6721122 D057 Tecnologia Del PC

Tecnología del PC[Home] [Inicio] [Índice]

Subir

7.1.2 El teclado y el SO

§1 Generalidades

En el capítulo anterior hemos visto que en realidad, las rutinas de bajo nivel del teclado no informan sobre caracteres, sino de la acción de determinados interruptores hardware (las teclas) y que esta información es doble: identifica al interruptor de entre un conjunto de ellos, y el tipo de operación realizada (cerrar o abrir el circuito). A partir de este momento, la tarea de decidir que significado se da a esta información corresponde a diferentes capas de software. La primera corresponde al BIOS, que proporciona determinados servicios básicos. A partir de ahí, interviene el Sistema Operativo; finalmente los programas de aplicación reciben información del Sistema y dan su tratamiento específico a la información recibida.

Resulta evidente que en la familia de ordenadores IBM PC y compatibles, a igualdad de condiciones de entrada, el comportamiento de la primera capa, que depende del BIOS, es idéntico en todos los casos en cuanto al resultado producido. Sin embargo, a partir de la segunda, el tratamiento será distinto (aunque parecido) dependiendo del Sistema Operativo y del programa de aplicación.

§2 Servicios BIOS

La BIOS del PC atiende dos interrupciones para servicio del teclado que pueden considerarse estándar; existiendo una tercera que puede considerarse complementaria. Está

Page 416: 6721122 D057 Tecnologia Del PC

prevista para que el usuario le de un significado específico:

Nm. Descripción del servicio

9h Este servicio ya ha sido comentado al tratar del funcionamiento del teclado ( 7.1.1). Su función básica consiste en analizar los códigos de exploración recibidos y transformarlos en byte-codes que son almacenados en el búfer de teclado, pero además de esto, el análisis realizado por la rutina permite varias acciones que son características de PC:

Reinicio del sistema

La combinación Ctrl + Alt + Del [1] produce un reinicio del sistema conocido como reseteo en caliente ("Hot boot" o "Warm boot"), en el que se suprime la fase de comprobaciones POST del BIOS ( 4.2). La combinación Ctrl + Alt + Shift + Del genera el denominado reinicio frío ("Cold boot"), que incluye las comprobaciones POST.

Impresión de pantalla mediante las combinaciones Shift izq. + PtrSc o Shift izq. + *.

La impresión de pantalla es un servicio BIOS servido por la interrupción 5h, y como tal puede ser invocado por cualquier programa que la necesite. En este caso, la interrupción 9h se limita a invocar dicho servicio si detecta la combinación de teclas anterior.

Pausa del sistema con Pause o la combinación Ctrl + NumLk.

El estado de bloqueo o pausa del sistema, es una característica de la rutina BIOS de servicio de teclado. Cuando detecta esta combinación de teclas, la rutina activa el bit de estado correspondiente (bit 4 a 1 7.1.1), y entra en un bucle en el que no hace nada, solo esperar que se pulse alguna tecla estándar

Page 417: 6721122 D057 Tecnologia Del PC

(imprimible). Mientras que esto no ocurre, no devuelve el control al programa, aunque el resto de interrupciones son atendidas normalmente, por lo que el sistema continúa funcionando, pero el programa que espera entradas por teclado queda detenido. Cuando finalmente se pulsa una tecla imprimible, desactiva el bit de bloqueo y sale del bucle, permitiendo que el programa continúe.

Introducción directa de códigos ASCII. Esta característica del servicio es conocida como "Truco de Alt-Numérico", y permite introducir cualquier código ASCII (1 a 255) manteniendo pulsada la tecla Alt y los números del teclado numérico para introducir directamente el código decimal ASCII deseado [2] Cuando finalmente se libera la tecla Alt, la rutina BIOS calcula el valor ASCII correspondiente al número pulsado y lo deposita en el búfer de teclado como si se hubiese pulsado mediante una tecla a la que correspondiera ese símbolo. Por ejemplo, Alt + 1 - 2 - 6 es una forma rápida de introducir la tilde " ~" para los que utilizamos un teclado español (en el que no suele aparecer este carácter).

16h Servicios BIOS estándar de teclado.

Generalmente el SO y las aplicaciones no leen los caracteres pulsados utilizando la interrupción 9h antes aludida, sino directamente del búfer de teclado ( 7.1a), una vez que ha pasado por las transformaciones pertinentes del servicio 9. Para esto la BIOS proporciona un servicio en la dirección 22 de la tabla IDT ( 2.4), que se ocupa de proporcionar la información buscada a las aplicaciones que lo solicitan. La interrupción 22 (16h) dispone de tres funciones o "servicios" para este propósito.

Función 0h: Lee el siguiente carácter del búffer de teclado (dos octetos) y hace avanzar el índice correspondiente, lo que equivale a sacar el carácter del búfer.

Función 1h: Lee el siguiente carácter del búfer (también dos octetos), pero no hace avanzar el índice, lo que equivale a que el carácter permanece en el búfer hasta que sea leído por la función 0.

Page 418: 6721122 D057 Tecnologia Del PC

Función 2h: Lee los dos bytes de estado del teclado ( 7.1.1) para que, en caso necesario, la aplicación (o el Sistema) sepan a qué atenerse.

Los servicios anteriores son los que pueden considerarse estándar (existen en el PC-XT y en todos los miembros de la saga), pero generalmente las BIOSes actuales proporcionan otras funciones adicionales en esta interrupción:

Función 3h: Puede establecer las características "Typematic" del teclado. Es decir, la velocidad de repetición y el retardo inicial ( 7.1.1).

Función 5h: Permite escribir directamente en el búfer de teclado como si se hubiese pulsado una tecla.

Funciones 10h, 11h y 12h: Realizan respectivamente las mismas operaciones que 0h, 1h y 2h, pero ofrecen soporte para los teclados de 101/102 teclas (las funciones primitivas no disponían de esta posibilidad porque estos teclados no existían).

1Bh Cuando el servicio de la interrupción 9h detecta alguna de las combinaciones Ctrl + Break o Ctrl + C, genera una interrupción 27 (1Bh) y ejecuta el servicio correspondiente, si ha sido creado.

§3 El Teclado y el SO

Los detalles de funcionamiento varían, pero en general, el tratamiento de las señales del teclado es realizado por el SO mediante un mapa que asocia cada código (key-code) encontrado en el búfer de teclado, con una acción o característica determinada. De esta forma, la tarea de cambiar el "idioma" del teclado se reduce a cambiar el mapa (o parte de él).

El mapa ("Keymap") adopta la forma de una tabla que es cargada por el kernel.

Page 419: 6721122 D057 Tecnologia Del PC

Posteriormente puede ser cambiada por otra, o modificada, incluso en runtime. En MS-DOS es el conocido KEYBOARD.SYS; en Linux son ficheros de nombres diversos. Posiblemente en /usr/share/kbd/keymaps/.

§4 El idioma del teclado.

La diferencia entre los teclados de distintos lenguajes es que a una misma tecla le corresponde un símbolo distinto en cada uno de ellos. Por ejemplo, el teclado inglés USA tiene los símbolos " ;"/":" en la tecla 40, situada a la derecha de la "L", mientras que el teclado español tiene una " ñ"/"Ñ " en dicha posición.

Generalmente se dice que un teclado es "Español", "Francés", "Alemán", "USA", Etc. dependiendo de los símbolos dibujados sobre las teclas, sin embargo no existen diferencias eléctricas. Cuando se pulsa una tecla, el teclado genera siempre el mismo código de exploración ( 7.1a) con independencia de su "Lenguaje". Por ejemplo, cuando se pulsa la tecla 40 se genera el código 27, con independencia del símbolo "; " o "ñ" dibujado sobre la tecla. El hecho de aparecer un símbolo u otro en el documento que estamos escribiendo se debe a la interpretación que hace de dicho código el Sistema Operativo.

Inicio.

[1] Cuando se describen pulsaciones de teclas, el símbolo + significa pulsación simultánea de las teclas indicadas.

[2] No sirven todas las teclas numéricas, deben ser precisamente las del teclado numérico independiente, por lo que la operación resulta más engorrosa en los portátiles que no disponen de este grupo de teclas. En este caso una zona del teclado normal puede ser convertida en numérica mediante la combinación Fn+NumLk. Las teclas, que suelen estar señaladas con este doble uso, son las siguientes: 7/7; 8/8; 9/9; 0//; U/4; I/5; O/6; P/*; J/1; K/2; L/3 y ;/-

Page 420: 6721122 D057 Tecnologia Del PC

Tecnología del PC[Home] [Inicio] [Índice]

Subir

7.1.2a El teclado en DOS / Windows

§1 Generalidades

En MS-DOS, el fichero de definición del teclado está contenido el fichero KEYBOARD.SYS. A partir de MS-DOS 6.2 se incluyó un segundo fichero, KEYBRD2.SYS, que ofrece soporte para los teclados que no habían sido incluidos en el anterior. A pesar de lo que pudiera parecer por su nombre, el fichero KEYBOARD.SYS no es un controlador de dispositivo, sino un fichero que contiene la plantilla de códigos de teclas para cada país.

§2 Cambiar idioma del teclado en MS-DOS

En MS DOS, el cambio de idioma se realiza mediante el programa KEYB.COM, que puede ser invocado desde el "Shell" del DOS o desde el fichero CONFIG.SYS; en el primer caso se suele utilizar una línea en el fichero de configuración AUTOEXEC.BAT. La sintaxis es la siguiente:

● Desde el intérprete de comandos ("Shell") o en el fichero AUTOEXEC.BAT:

KEYB [xx[,[yyy][,[unidad:][ruta]nombrearchivo]]] [/E] [/ID:nnn]

● En el archivo CONFIG.SYS, utilice la sintaxis siguiente:

Page 421: 6721122 D057 Tecnologia Del PC

INSTALL=[[unidad-dos:]ruta-dos]KEYB.COM [xx[,[yyy][,[unidad:][ruta]nombrearchivo]]] [/E] [/ID:nnn]

Los parámetros y modificadores tienen el significado siguiente:

● xx Código alfabético (dos letras) que especifica una distribución de teclado (país o idioma). En la tabla que sigue encontrará una lista de valores válidos para este parámetro.

● yyy Código numérico que especifica el juego de caracteres (página de códigos). En la tabla incluida al final podrá consultar una lista de valores válidos para este parámetro. Si no especifica este valor, KEYB usará el juego de caracteres actual.

● [unidad:][ruta]nombrearchivo Especifica la ubicación y nombre del archivo de definición del teclado. El archivo predeterminado es KEYBOARD.SYS. Si este fichero se encuentra en un directorio incluido en la ruta por defecto (path), no es necesario especificar estos parámetros.

● [unidad-dos:]ruta-dos Especifica la ubicación del archivo KEYB.COM.

● /E Especifica que está instalado un teclado extendido. Hay que utilizar este modificador si va a usar un teclado de este tipo con un equipo 8086 (PC XT) [2].

● /ID:nnn Es un código numérico que especifica el teclado en uso. Este modificador sólo se requiere para tres países (Francia, Italia y Reino Unido) que tienen más de una configuración de teclado para el mismo idioma.

País o idioma xx yyy nnn

Alemania gr 850, 437

Bélgica be 850, 437

La tabla adjunta muestra los valores aceptados para xx, yyy y nnn, para cada país o idioma incluido en KEYBOARD.SYS:

Ejemplo: Para usar un teclado alemán si su archivo KEYBOARD.SYS está en el directorio DOS de la unidad C, escribiría el siguiente comando:

Page 422: 6721122 D057 Tecnologia Del PC

Brasil br 850, 437

Checoslovaquia (checo) cz 852, 850

Checoslovaquia (eslovaco)

sl 852, 850

Dinamarca dk 850, 865

España sp 850, 437

Estados Unidos us 850, 437

Finlandia su 850, 437

Francés canadiense cf 850, 863

Francia fr 850, 437

120, 189

Hungría hu 852, 850

Italia it 850, 437

141, 142

Latinoamérica la 850, 437

Noruega no 850, 865

Países Bajos nl 850, 437

keyb gr,,c:\dos\keyboard.sys

Códigos de salida: Los códigos de salida del programa KEYB.COM son los siguientes:

0 El archivo de definición de teclado se cargó con éxito.1 Se usó un código de teclado, juego de caracteres o sintaxis no válido.2 El archivo de definición de teclado falta o es incorrecto.4 Se produjo un error de comunicación con el teclado o el monitor.5 El juego de caracteres solicitado no ha sido preparado.

Estas condiciones de error pueden ser controladas en el fichero autoexec.bat mediante una secuencia de órdenes if errorlevel colocadas después de la sentencia tal como se muestra en el ejemplo:

keyb sp,,C:\DOS\keyboard.sysif errorlevel 5 goto Error5if errorlevel 4 goto Error4if errorlevel 2 goto Error2if errorlevel 1 goto Error1echo OK página de códigos cargada con éxitogoto FIN:Error5echo Error: El juego de

Page 423: 6721122 D057 Tecnologia Del PC

Polonia pl 852, 850

Portugal po 850, 860

Reino Unido uk 850, 437

166, 168

Suecia sv 850, 437

Suiza (francés) sf 850, 437

Suiza (alemán) sg 850, 437

Yugoslavia yu 852, 850

caracteres no ha sido preparadogoto FIN:Error4echo Error con el teclado o monitor...

Observe que las declaraciones if errorlevel aparecen en orden decreciente, ya que MS DOS considera que la declaración IF es cierta si el parámetro ERRORLEVEL devuelto por KEYB.COM es mayor o igual que el parámetro especificado en el comando IF.

Además del programa KEYB.COM, el controlador ANSI.SYS, que se carga en el fichero de configuración CONFIG.SYS, permite modificar indiviualmente una tecla, de forma que responda con un código determinado.

Nota: El soporte para idiomas ofrecido por MS DOS es un sistema enrevesado y oscuro que utiliza seis tipos de órdenes!!. Es seguramente uno de los mejores ejemplos de las chapuzas que pueden realizar los programadores [1] para amargar la vida a la gente normal.

§3 Cambiar idioma del teclado en Windows

Por su parte, el SO Windows permite remapear los símbolos correspondientes a cada tecla (cambiar el "idioma") de forma muy sencilla. Menú de inicio configuración Panel de Control Teclado Seleccionar pestaña "Idioma".

Aparece un cuadro de diálogo en el que se pueden agregar, seleccionar y quitar idiomas; se puede seleccionar el idioma predeterminado (el que aparecerá por defecto al arrancar el

Page 424: 6721122 D057 Tecnologia Del PC

Sistema); habilitar un indicador en la barra de tareas (un icono junto al reloj). Muy útil para cambiar el sentido de una tecla en medio de un documento o entrada de datos, y seleccionar una combinación de teclas que permita cambiar el idioma sin acudir al ratón.

Inicio.

[1] Para ser honestos, en este caso, más que los "Programadores" podríamos decir Diseñadores de Sistemas.

[2] Una curiosidad histórica que no tiene sentido a menos que se trabaje de conservador en algún museo de hardware.

Inicio

|Índice| Copyright © 2000-2006 Zator Systems. NO software patents

Page 425: 6721122 D057 Tecnologia Del PC

Tecnología del PC[Home] [Inicio] [Índice]

Subir

7.1.2b El teclado en Linux

§1 Sinopsis

En este capítulo abordaremos los detalles del tratamiento que hace Linux de la información recibida del teclado ("Scan codes"), y como es procesada antes de pasar a las aplicaciones.

Debemos advertir que en éste, como el resto de asuntos que conciernen a este Sistema Operativo, el tratamiento del la información recibida desde el teclado es altamente configurable. Empezando por la propia rutina de servicio de la interrupción 9, que puede ser alterada dentro de ciertos límites. Advertir también que algunas aplicaciones, especialmente los entornos gráficos, disponen de sus propias rutinas de interpretación del teclado. En este capítulo nos referimos exclusivamente a los aspectos relativos al SO, que subyacen en todas las aplicaciones, y en los relacionados con el manejo de consolas.

El precio de la flexibilidad es que el control del teclado puede llegar a convertirse en una pesadilla para e neófito. En palabras de Andries Brouwer: "Most Unix programs get their tty input via the kernel tty driver in 'cooked' mode, and a simple stty command determines the erase character. However, programs like bash and emacs and X do their own input handling, and have to be convinced one-by-one to do the right thing."

Nota: Los procesos y localización de ficheros se refieren a Suse Linux 9.2.

§2 Servicio de teclado

La descripción de los procesos de bajo nivel incluidos en páginas anteriores ( 7.1.1), que ocurren tras la pulsación de una tecla, corresponden al comportamiento tradicional de la interrupción 9 de la BIOS (servicios de teclado). En el estado actual del kernel (2005), los sistemas Linux instalan su propia rutina de servicio. El comportamiento es similar al descrito (que corresponde a MS-DOS), aunque hay ligeras diferencias en la

Page 426: 6721122 D057 Tecnologia Del PC

forma de transformar los códigos de exploración "Scancodes", en caracteres en el búfer del teclado ("Keycodes").

Hemos señalado ( 7.1.1) que salvo raras excepciones, las teclas producen dos tipos de códigos. La mayoría produce un make code de 7 bits, en el rango 01-7Fh (en realidad de 8 bits, con el bit 7 a cero). Mientras que otras producen dos códigos de acción (otros dos en la liberación), de los cuales el primero es de 8 bits (el carácter E0h), y el segundo de 7 bits. Recordemos también que, salvo los de teclas de conmutación ( 7.1) que alteran el comportamiento de otras, los "Break codes" son descartados.

Para los códigos de exploración entre 1 y 88 (01-58h), la rutinas de servicio de la interrupción 9 de Linux hace keycode = scancode. Para el resto (59-7Fh) y para los pares E0-00h / E0-7Fh, la relación por defecto entre scancodes y keycodes es la siguiente:

Secuencias simplesscancodes entre 59h y 7Fh

scancodes

keycodes +0 +1 +2 +3 +4 +5 +6 +7

0x58 0x60 0x68 0x70 0x78

88 124 125 126 127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 122 0 123 0 0 0 89 120 0 0 90 91 92 93 94 95 124 121 0

Nota: scancodes en hexadecimal. keycodes en decimal

Secuencias dobles.scancodes entre E0-00h y E0-7Fh

scancodes

keycodes +0 +1 +2 +3 +4 +5 +6 +7

e0 00 e0 08 e0 10 e0 18 e0 20 e0 28 e0 30 e0 38 e0 40 e0 48 e0 50 e0 58 e0 60 e0 68 e0 70 e0 78

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 96 97 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 98 0 99 100 0 0 0 0 113 114 115 116 117 0 0 0 0 101 102 103 104 0 105 124 106 118 107 108 109 110 111 0 0 0 0 0 0 0 125 126 127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 112 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Para los scancodes mostrados en las tablas, en los que el kernel no establece que keycode = scancode, es posible asignar al keycode un valor cualquiera en el rango 1-127, mediante el comando

Page 427: 6721122 D057 Tecnologia Del PC

setkeycodes scancode keycode

scancode es el código de exploración (en hexadecimal), y keycode es el código resultante deseado (en decimal). Por ejemplo, el teclado estándar genera el makecode 0xE0 0x49 para la tecla [PgUp], a la que según la tabla, corresponde un keycode 104. Pero es posible hacer que la rutina de teclado genere el keycode 112 para esta tecla mediante la instrucción

setkeycodes e049 112

Esta transformación de scancodes en keycodes es conocida como "keybinding". A partir de aquí, el tratamiento de este keycode puede realizarse como se expone en el resto del capítulo.

Recordemos que es posible inspeccionar los keycodes producidos por las teclas mediante el comando showkey -k, y que las tablas anteriores pueden obtenerse mediante la utilidad getkeycodes (necesita privilegios adecuados).

§3 Modos de operación de la consola

Una consola es el dispositivo por el que el kernel puede mostrar sus mensajes y el usuario puede actuar sobre él para controlar el sistema en los momentos iniciales de carga. Cuando el Sistema ha terminado su carga, una misma pantalla puede ser utilizada por diversas consolas o terminales virtuales (abreviadamente VCs o VTs). El usuario puede conmutar de una a otra a voluntad; pueden ser utilizadas como si fuesen dispositivos distintos, incluso para ejecutar aplicaciones distintas.

Nota: Generalmente se puede conmutar de terminal con Ctrl+ Alt+Fn y Alt+flecha derecha/izquierda. El comando deallocvt desactiva todas las consolas virtuales inactivas.

§3.1 El controlador de consolas Linux tienen varios modos de operación que modifican el tratamiento del teclado en el sentido que transforman los caracteres enviados y recibidos por el terminal. Son los siguientes:

● Directo (RAW) o Scan mode. El controlador de teclado traslada los scancodes a la aplicación tal cual se reciben.

● Semidirecto (MEDIUMRAW) o Keyce mode. Los scancodes son convertidos en keycodes por el servicio de teclado según lo expuesto en el epígrafe anterior (§2).

● Traducido (XLATE) o ASCII mode. Es el modo tradicional por defecto; usa un juego de caracteres de

Page 428: 6721122 D057 Tecnologia Del PC

8 bits. Los scancodes son transformados en keycodes como en el caso anterior. A continuación los keycodes son procesados según las directrices de una tabla (mapa del teclado ) que los transforma en caracteres, secuencias de caracteres, o ejecutan alguna acción.

● UTF-8 (UNICODE). Utiliza un juego de caracteres de 16 bits que son transmitidos al kernel como secuencias de 1 o 2 bits según la especificación UNICODE (recordar que este sistema es multibyte).

El modo está determinado por la variable TERM. Su valor puede ser consultado mediante printenv TERM y puede ser establecido mediante la utilidad kdb_mode.

Nota: TERM adopta el valor linux cuando está en modo tradicional (por defecto) y xterm (terminal X) cuando actúa en modo gráfico. El sistema X Window dispone de su propio controlador de teclado, de forma que la consola utiliza en este caso el modo RAW (es el entorno gráfico el encargado de controlar el teclado).

La tecla Alt es conocida como meta tecla ("Meta key") y la combinación de cualquier tecla X con ella Alt + X, se abrevia como Alt-X o MetaX. El tratamiento de las pulsaciones MetaX puede ser distinto para cada VC en base a un valor que puede ser establecido mediante setmetamode. Caben dos posibilidades al respecto:

● Generar la secuencia de caracteres ESC X (ESC = 1Bh).

● Generar un carácter equivalente a X sumándole 128 (80h). Es decir, poniendo a 1 el bit 7 de X. Recuerde que los makecodes de las teclas normales son valores por debajo de 127 (7Fh).

§3.2 Modelo de terminal

Tradicionalmente los sistemas UNIX eran accedidos mediante terminales, que consistían básicamente en un display y un teclado. Antes que se popularizaran las pantallas CRT, el terminal podía ser un teletipo (un artefacto que disponía de un teclado y un dispositivo de impresión parecido a una máquina de escribir eléctrica), de forma que lo que hoy vemos en pantalla, aparecía impreso en un rollo de papel continuo. La situación común era que un mismo sistema podía tener conectados distintos modelos de terminal, cada uno con una configuración de teclado y capacidades gráficas diferentes. Para facilitar la conexión, podía decirse al sistema que modelo de terminal se estaba utilizando, de forma que supiese el significado de determinadas teclas y como debía enviar las respuestas. Linux ha heredado muchas características de UNIX, de forma que permite utilizar distintos tipos de terminal.

Nota: Incluso el usuario que ejecuta Linux en su PC a través de la única pantalla y teclado existentes en el sistema, aparece frente al kernel como conectado mediante un tipo específico de terminal.

Page 429: 6721122 D057 Tecnologia Del PC

El funcionamiento se basa en que el Sistema conoce de forma pormenorizada las características y posibilidades de cada modelo de terminal y actúa en consecuencia. La información está contenida en una base de datos compuesta por ficheros, uno por cada modelo. Cada fichero contiene una larga serie de detalles, comenzando por el nombre del terminal y otros alias con los que puede ser identificado. Por ejemplo, el fichero del terminal VT100 comienza:

, vt100|vt100-am|dec vt100 (w/advanced video) .......

La base de datos, conocida genéricamente como terminfo, se encuentra en /usr/share/terminfo/. Para facilitar al sistema la búsqueda del fichero correspondiente a un terminal determinado, es una estructura de directorios, donde el nombre de cada directorio es la letra, o cifra, inicial de los ficheros que contiene. Consulte el manual term para más detalles, man term, sobre la organización de estos ficheros. La estructura interna está detallada en el manual terminfo. Ver man terminfo

Existen diversas utilidades que permiten inspeccionar o cambiar aspectos del terminal utilizado (consulte los manuales correspondientes).

● stty. Inspeccionar y fijar las características de las terminales de impresión.

● setterm. Fijar los atributos del terminal. Cuando se invoca sin argumentos, muestra una relación de todas las características del terminal en uso que pueden ser modificados (estas características corresponden a las que se han definido en el fichero terminfo correspondiente). La página adjunta muestra un ejemplo del tipo de reglajes que pueden efectuarse en la consola de un PC estándar ( setterm).

● tput. Inicializar el terminal o interrogar sus características (valores en terminfo).

§4 Configuración del teclado

De acuerdo con la especificación LBS ("Linux Standar Base"), los scripts que controlan el inicio del sistema, están en /etc/init.d/. Estos scripts son ejecutados, directa o indirectamente, por /sbin/init, que es el padre de todos los procesos y cuya configuración está en /etc/inittab.

/sbin/init ejecuta algunos script de inicialización de hardware situados en /etc/init.d/boot.d/, que proceden a la inicialización de puertos serie, tarjetas de red, reloj de tiempo real (CMOS), volúmenes lógicos, Etc. Finalmente invoca el script /etc/init.d/boot.local, que contiene cualquier orden adicional.

Page 430: 6721122 D057 Tecnologia Del PC

En lo que respecta al teclado, el script /etc/sysconfig/keyboard contiene los parámetros de configuración para la consola en modo texto ("Text console"). A continuación se muestra un extracto del referido script con los argumentos más significativos (conservamos los comentarios originales en inglés).

# Keyboard settings for the text console # # Keyboard mapping (/usr/share/kbd/keymaps/) # e.g. KEYTABLE="de-latin1-nodeadkeys", "us" or empty for US settings # KEYTABLE="es.map.gz" # Keyboard repeat rate (2.0 - 30.0) # Keyboard delay time in ms (250, 500, 750, 1000) # (If you want "kbdrate" to be executed, you have to set both of them.) KBD_RATE="" ## Type: integer ## Default: KBD_DELAY="" ## Type: list(bios,yes,no) ## Default: bios # NumLock on? ("yes" or "no" or empty or "bios" for BIOS setting) KBD_NUMLOCK="bios" ## Type: yesno ## Default: no # ScrollLock on? ("yes" or "no") KBD_SCRLOCK="no" ## Type: yesno ## Default: no # CapsLock on? ("yes" or "no") KBD_CAPSLOCK="no" ## Type: yesno ## Default: no # Disable CAPS LOCK and make it a normal Shift key? # (Ctrl Caps Lock will still toggle Caps Lock functionality) KBD_DISABLE_CAPS_LOCK="no"

Page 431: 6721122 D057 Tecnologia Del PC

A efectos del comportamiento del teclado, es fundamental la línea

KEYTABLE="es.map.gz

que define el fichero que contiene el mapa del teclado ("Keymap"). Esta tabla asocia cada keycode con una acción determinada. Generalmente la "acción" se refiere al carácter, o combinación de ellos, que generará el controlador de teclado, pero no tiene que ser así necesariamente. Es posible configurar una tecla para que ejecute una aplicación cualquiera al ser pulsada (incluso apagar el sistema, enviar un e-mail, Etc). Como puede verse, el resto de líneas del script controlan otros aspectos del comportamiento del teclado.

El comportamiento inicial puede ser modificado mediante el referido escript. Posteriormente puede ser inspeccionado y modificado en runtime mediante varias utilidades:

● showkey. Esta utilidad ya ha sido comentada anteriormente ( 7.1.1); sirve para verificar los códigos de exploración generados por el teclado (opción -s) o los keycodes devueltos por la interrupción 9 (opción -k).

● loadkeys. Permite cambiar el mapa del teclado de las consolas. Requiere privilegios especiales, pero puede ser potencialmente peligroso, porque el cambio afecta a todas las consolas virtuales, incluyendo la de inicio, con lo que puede verse afectado el proceso de acceso. Consulte el manual antes de efectuar ningún cambio.

● dumpkeys. Permite inspeccionar el "Keymap" que está utilizando el controlador del teclado y otra información relacionada.

● kbdrate. Pemite modificar la velocidad de repetición y el retardo inicial. Generalmente los valores por defecto corresponden al estándar inicial IBM: 10 caracteres por segundo y 250 milisegundos respectivamente.

§5 El mapa del teclado

La tabla ("Keymap") inicial depende de las opciones de compilación del Sistema. En concreto, del lenguaje adoptado para el teclado y del idioma. Generalmente existe una configuración por defecto /etc/defkeymap.map [1] y ficheros de definición para distintos idiomas en /usr/share/kbd/keymaps/. Como hemos visto, la variable KEYTABLE del fichero /etc/sysconfig/keyboard determina cual de ellas será cargada por el Kernel.

Los mapas de teclado son ficheros de texto con información de lo que hace cada tecla mediante una simbología y sintaxis particular que puede ser consultada en man keymaps. Contienen siete tipos de líneas:

Page 432: 6721122 D057 Tecnologia Del PC

● Definiciones de teclas

● Includes

● Especificación

● Comentarios

● Definiciones de juegos de caracteres

● Definición de cadena

● Definición de composición .

Las líneas de un mismo grupo definen una especie de sub-tabla dentro del conjunto, que se refiere a aspectos específicos. Por ejemplo, la tabla de acentos , que describe la forma en que se utilizan los signos diacríticos y caracteres compuestos, o la tabla de funciones , que describe los códigos que se generarán en cada acción.

§5.1 Definiciones de teclas ("Keycode definitions"). La definición completa de cada tecla está contenida en una de estas líneas, aunque pueden tener prolongación en la siguiente incluyendo un carácter \ al final. Adoptan la siguiente sintaxis:

keycode keynumber = keysym keysym keysym ...

Ejemplos:

keycode 6 = five percent currencykeycode 10 = nine parentleft bracketrightkeycode 16 = bracketleft braceleftkeycode 30 = +a keycode 39 = semicolon colonkeycode 61 = F3 F15 console_15keycode 111 = Remove altgr control keycode 111 = Boot control alt keycode 111 = Boot

El significado es el siguiente:

Page 433: 6721122 D057 Tecnologia Del PC

keycode Palabra clave que inicia cada definición. Las palabras que la preceden en algunos casos (dos últimas líneas) son modificadores que señalan el comportamiento cuando actúan las teclas de conmutación.

keynumber es un número interno de identificación de la tecla. Puede ser indicado en decimal (nn), octal (0nn) o hexadecimal (0xnn). Cinciden aproximadamente con el código de exploración (makecode 7.1.1), pero la mejor manera de verificar el valor que corresponde a una tecla determinada es utilizar la utilidad showkey -k.

keysym son códigos numéricos (hexadecimal) que representa acciones, aunque no suelen utilizarse como tales, sino mediante constante simbólicas equivalentes. La razón es que los códigos varían según la versión del Kernel, mientas que las constantes simbólicas se mantienen entre versiones. Las equivalencias son del siguiente tenor:

0x0000 nul0x0009 tab0x0020 space0x0035 five0x0041 A0x0061 a

0x007b braceleft0x0116 Remove0x020c Boot...

Nota: Puede obtenerse una tabla de equivalencias mediante el comando dumpkeys --long-info. En la página adjunta se muestra un listado correspondiente a un kernel 2.4.21-99 ( Constantes simbólicas).

Las acciones pueden consistir en generar códigos de carácter o secuencias de caracteres, cambiar de consola, cambiar el keymap o incluso reiniciar el sistema. Pueden definirse hasta 256 acciones distintas a cada tecla, que corresponden a la acción de hasta 8 posibles modificadores, que pueden estar presentes o no, cuando se pulsa la tecla . A cada una de estas posibilidades le corresponde un valor, desde 0 (ausencia de modificadores) a 255 (actuación simultanea de todos). Se supone que cada modificador le corresponde un peso según su posición en un octeto hipotético (ver a continuación ).

Generalmente estos códigos de acción están relacionados con las teclas de edición (representables) y de función del teclado, y están definidos de forma que la pulsación de una tecla genere la secuencia estándar de códigos. En la página adjunta se muestra el mapa de teclado por defecto de un sistema ( Mapa de teclado)

Page 434: 6721122 D057 Tecnologia Del PC

Nota: el comando dumpkeys -i ofrece un resumen de las posibilidades al respecto ( Dumpkeys).

Modificador Pesoshift 1altgr 2control 4alt 8shiftL 16shiftr 32ctrll 64ctrlr 128

Leyenda:altgr - [Alt] derecha

§5.1a Modificadores

La acción correspondiente a la pulsación de una tecla depende del estado de los bytes de estado ( 7.1.1) en ese momento. Aquí se denominan modificadores; se consideran 8, y se les han asignado unos nombres y un "Peso" en forma de potencia de dos, según la tabla adjunta.

La acción a tomar se obtiene sumando los pesos de los modificadores que actúen en ese momento. Por ejemplo, si están accionados los modificadores Shift y Alt, el peso total es 9, y se toma la acción indicada en la columna 10 la línea de definición . Por defecto, cuando no está accionado ningún modificador, el peso total es 0, y la acción correspondiente es la indicada por el keysym de la primera columna.

Cada keysym puede ser precedido del signo +, en cuyo caso es tratado como una letra, por consiguiente, será afectado por la acción de las teclas Caps Lock y Shift. Ejemplo:

keycode 30 = +a

Por defecto, los caracteres ASCII 'a'-'z' y 'A'-'Z' gozan de esta consideración de "letras", y por tanto, se ven afectados por las mayúsculas. Si se desea que la combinación Shift+Caps Lock no produzca una letra minúscula al pulsar la A, la línea de definición correspondiente es:

keycode 30 = +a A §5.1b La ausencia de acción se indica con la palabra clave VoidSymbol. Por ejemplo, si se desea que la tecla A, produzca una "a" en ausencia de modificadores, y nada si se pulsa junto a Caps Lock o Shift, se utilizará la siguiente definición:

keycode 30 = a VoidSymbol

Por simplicidad se admite que los VoidSymbol al final de una definición pueden omitirse. Por ejemplo, para señalar que la tecla A producirá una "a" cuando se pulsa aislada; una "A" cuando se pulse con alguna de las

Page 435: 6721122 D057 Tecnologia Del PC

teclas de mayúsculas, y nada en los demás casos, puede utilizarse la definición

keycode 30 = a A

en vez de

keycode 30 = a A VoidSymbol VoidSymbil VoidSymbol ...

Además de la anterior, existen otras dos reglas que ayudan a simplificar la sintaxis de las definiciones:

§5.1c Si en una definición existe un solo código de acción keysym a la derecha del signo igual, y no es una letra ASCII ( ASCII 'a'-'z' o 'A'-'Z' ), se supone que el código de acción se replica en cada una de las columnas definicas. Ejemplo, las líneas que siguen son equivalentes:

keycode 28 = Return keycode 28 = Return Return Return Return ...

§5.2 Includes: Indican la inclusión de otro fichero de definición. Tienen la forma:

include "pathname"

§5.3 Especificación. El mapa del teclado debe estar precedido de una línea de especificación que indica las columnas que se especifican en él. Los números de columna corresponden a los pesos de la tabla de modificadores y sus posibles combinaciones . Por ejemplo, la especificación:

keymaps 0-2,4-5,8,12

es equivalente a

keymaps 0,1,2,4,5,8,12

y señala que no serán especificadas las 256 columnas posibles, sino 7: Normal (0 = sin modificador "Plain key"); Shift (1); AltGr (2); Control (4); Control+Shift (5 = 4+1); Alt (8) y Control+Alt (12 = 8+4). A su vez la especificación

keymaps 0-2,4,6,8-9,12

Page 436: 6721122 D057 Tecnologia Del PC

indica que serán especificadas las columnas: Normal; Shift; AltGr; Control; AltGr+Control; Alt; Shift+Alt y Control+Alt. En caso de faltar esta línea, se supone keymaps 0-M, donde M+1 es el máximo número de entradas encontrada en cualquier línea de definición.

§5.4 Comentarios: Comienzan con ! o # y se prolongan hasta el final de la línea.

§5.5 Definiciones de juegos de caracteres ("Charset definitions") Indican la forma en que se interpretan los códigos de acción keysyms que siguen a la definición (a qué página de códigos corresponden). Es una línea del tipo:

charset "iso-8859-2"

Por ejemplo, en el juego de caracteres ISO-8859-1, denominado Latin-1, al símbolo mu o micro (µ) le corresponde el código 181, mientras que en el ISO-8859-7 (alfabeto griego) le corresponde el 236. Por defecto se supone que la página utilizada es la ISO-8859-1.

string F1 = "\033[[A" string F2 = "\033[[B" string F3 = "\033[[C" string F4 = "\033[[D" string F5 = "\033[[E" string F6 = "\033[17~" string F7 = "\033[18~" string F8 = "\033[19~" string F9 = "\033[20~" string F10 = "\033[21~" string F11 = "\033[23~" string F12 = "\033[24~" string F13 = "\033[25~" string F14 = "\033[26~" string F15 = "\033[28~" string F16 = "\033[29~" string F17 = "\033[31~" string F18 = "\033[32~" string F19 = "\033[33~" string F20 = "\033[34~" string Find = "\033[1~"

§5.6 Definiciones de cadena ("String definitions").

Cuando los códigos de acción keysym se refieren a caracteres, su acción está perfectamente definida por su valor numérico (si esta es la forma utilizada), o por la constante manifiesta y la indicación de la tabla de códigos que se utiliza para su traducción . Por ejemplo:

charset "iso-8859-2"...keycode 39 = semicolon colon

En este contexto, la definición de código de exploración 39 es inequívoca. Pero en el caso de teclas de función y especiales, que pueden generar una cadena de caracteres y que no tienen cabida en las páginas de códigos ISO, se utiliza un método indirecto; las definiciones de cadena, que permiten indicar que código/s generarán tales teclas. Utilizan la siguiente sintaxis:

string keysym = "text"

Con el siguiente significado:

Page 437: 6721122 D057 Tecnologia Del PC

string Insert = "\033[2~" string Remove = "\033[3~" string Select = "\033[4~" string Prior = "\033[5~" string Next = "\033[6~" string Macro = "\033[M" string Pause = "\033[P"

● string Palabra clave que inicia cada definición de cadena

● keysym Código de acción de la tecla de función o especial (ver tabla)

● text Una cadena alfanumérica entre comillas. Puede contener caracteres literales ; octales, en forma barra invertida \ seguida de hasta tres dígitos (octales), o las secuencias de escape \n; \\ y \" ( E3.2.3e).

Nota: Observe que todas las entradas de la tabla a la derecha, generan en primer lugar un carácter Escape (\033 octal = 27d).

Ejemplo:

string F1 = "Hola!"string F13 = "Adios!"

De esta forma, la línea de definición del tipo

keycode 59 = F1 F13

tiene un significado perfectamente definido (aunque inusual).

Precisamente debido a su uso, el conjunto de líneas de este tipo constituye la denominada tabla de funciones ("Functions table"). Tiene el aspecto indicado a la derecha (valores por defecto en un Sistema real) y puede obtenerse mediante el comando dumpkeys --funcs-only.

El ejemplo que sigue utiliza la constante F100, generalmente no utilizada ( Constantes simbólicas) para hacer que la combinación Alt-izq+ { ] produzca la secuancia {...}.

alt keycode 26 = F100string F100 = "{...}"

§5.7 Definición de composición

Page 438: 6721122 D057 Tecnologia Del PC

Estas líneas presentan la siguiente sintaxis:

compose 'char1' 'char2' to 'char3'

Ejemplo:

compose '~' 'N' to 'Ñ'compose '~' 'n' to 'ñ'

compose y to son palabras clave. Describen la forma en que dos caracteres, char1 y char2, se combinan para formar un tercero char3. Lo que permite definir caracteres con signos diacríticos y compuestos [3]. Quizás por esta razón, el conjunto de estas líneas constituyen la denominada tabla de acentos ("Accent table"). Por defecto contiene 68 entradas, que pueden obtenerse mediante el comando dumpkey --compose-only. La página adjunta muestra su aspecto ( Tabla de acentos).

Inicio.

[1] La tabla por defecto utiliza unas definiciones para las teclas de función inspiradas en el terminal VT100. Aunque obsoleto, este terminal es considerado un estándar. Las siglas corresponden a un modelo DEC (Digital Equipment Corporation). En realidad una pantalla y un teclado, que podían conectarse mediante línea serie, en bucle de tensión (RS-232/V24) o de corriente (20 mA), a velocidades de 75 a 19200 bps mediante un protocolo software XON/XOFF. El conjunto, innovador para la época, estaba controlado por un micro Intel 8085 y podía emular a los anteriores modelos VT05, VT50 y VT52 del fabricante.

Durante mucho tiempo fue uno de los terminales más populares para acceder a los ordenadores de su tiempo (finales de los 70). Disponía de una pantalla CRT de 12" y 24 x 80 caracteres de 7x9 pixels. Podía manejar el juego US-ASCII de 128 códigos, y un teclado estándar de 65 teclas, similar a los actuales, con un teclado auxiliar de 18 teclas con dígitos, flechas y teclas de función.

[3] Diacríticos: signos que se utilizan junto a algunas letras para darles un significado especial. Por ejemplo, la diéresis sobre la "u" en vergüenza. Por su parte, los caracteres compuestos están formados por dos caracteres simples. Por ejemplo, la eñe (ñ) española está formada por la ene (n) y la tilde ~.

Inicio

Page 439: 6721122 D057 Tecnologia Del PC

Tecnología del PC[Home] [Inicio] [Índice]

Subir

7.1 Dispositivos señaladores

§1 Historia

Los dispositivos señaladores tienen su origen en los estudios realizados en el SRI (Stanford Research Institute). Un centro de investigación de la Universidad de Estanford, donde en 1963-64 buscaban métodos de apuntar y señalar ("Point and click") en un monitor CRT. El grupo estaba dirigido por Douglas C. Englebart, el inventor del ratón, y aunque fue presentado al público mucho antes, fue en 1970 cuando se patentó como un "Indicador de posición X-Y para un sistema de pantalla". El primer ratón era un dispositivo de madera que alojaba un par de ruedas metálicas perpendiculares [1].

El invento fue posteriormente utilizado por Xerox en su famoso PARC (Palo Alto Research Center) como dispositivo señalador de un nuevo tipo de interfaz gráfica GUI para un sistema operativo que estaban desarrollando. Parece ser que Steve Jobs, uno de los creadores de Apple, visitó el referido centro, quedando prendado desde el primer momento del nuevo sistema, por lo que decidió adoptarlo de inmediato para su ordenador Lisa.

Page 440: 6721122 D057 Tecnologia Del PC

El primer ratón

Reproducido con autorización de la Universidad de Stanford. Program in History of Science

Debido a su aspecto, el dispositivo fue rápidamente denominado Ratón ("Mouse"), nombre con que se ha popularizado universalmente. Los sistemas de ratón actualmente más extendidos son los de bola, que mediante un sistema opto-mecánico transforman el movimiento del ratón en una serie de impulsos digitales que son recogidos por el ordenador.

Las últimas tendencias apuntan a ratones de sensor óptico (sin bola) y sin cable ("Cordless"), con transmisión de infrarrojos o de radio, que evitan dos de los inconvenientes del ratón tradicional: Los fallos por suciedad en el sistema mecánico bola-rodillos, y el inconveniente del cable enredando sobre el escritorio.

También se han utilizado otros dispositivos señaladores derivados del ratón (o al menos de su concepto): El track-ball; track-point; alfombrilla (Glide-point); lápiz señalador; pantallas táctiles. Etc.

Referencia: MouseSite http://sloan.stanford.edu/MouseSite/MouseSitePg1.html

§2 El ratón en el PC

Page 441: 6721122 D057 Tecnologia Del PC

En sus orígenes el IBM PC no disponía de una interfaz gráfica al estilo Apple; en este sentido el modo texto del IBM/MS DOS era mucho más atrasado que su homólogo de Mac. Contando con el controlador adecuado, los programas DOS pueden usar el ratón, pero este dispositivo de entrada no está tan extendido en los entornos de modo texto como en los de interfaz gráfica.

La popularización del ratón en el mundo del IBM PC y compatibles comenzó con la introducción de los Sistemas Windows 3.x, que ya incluían una interfaz gráfica. En un principio existían ratones de 2 y tres botones, aunque finalmente, y durante mucho tiempo, se popularizó el de 2 botones.

Como en un principio IBM no había previsto la conexión de un ratón en sus Ordenadores Personales (PCs), cuando se hizo necesaria su conexión, se utilizaron varios sistemas, cada uno de los cuales exige un ratón de características específicas (además del controlador adecuado):

● Interfaz serie (puertos COM)

● Puerto de ratón en la placa-base (tipo PS/2).

● Puerto de ratón integrado en tarjeta específica de bus

● Puerto USB

Nota: A pesar que cada ratón debe conectarse en la interfaz para la que ha sido proyectado, existen ratones compatibles con los tipos PS/2 y Serie; también USB y PS/2, de forma que con los adaptadores adecuados para el conector, pueden conectarse indistintamente de ambas formas. Esta característica suele venir indicada por el fabricante en las especificaciones o en el envase.

§3 Ratón de intefaz serie

Los primeros ratones para PC utilizaban cualquiera de los puertos serie disponibles: COM1 o COM2; lo que significa que utilizaban los recursos de estos puertos: Direcciones 3F8h y

Page 442: 6721122 D057 Tecnologia Del PC

2F8h e interrupción IRQ 3. La conexión se efectúa mediante conectores DB9 (como el de la figura) o DB25 (hembra en el lado del ratón).

La ventaja de esta solución estriba en que prácticamente todos los PCs tienen al menos un puerto serie; el problema es que el puerto, a veces único, permanece ocupado por el ratón.

§4 Puerto de ratón derivado del teclado

La introducción del sistema IBM PS/2 supuso muchas mejoras respecto al PC, entre ellas la inclusión de un puerto específico para ratón incluido en la placa-base. Este puerto está controlado por el mismo chip 8042 ( 7.1a) que el teclado, y dotado un conector mini-DIN análogo. Esta disposición fue rápidamente adoptada en los clónicos de arquitectura PC, que incluyen el mismo tipo de conector.

Conector de ratón MINI-DIN de 6 pines estilo PS/2 Pin Nombre Descripción 1 DATA Dato 2 n/c No usado 3 GND Tierra 4 VCC +5 V. CC 5 CLK Clock 6 n/c No usado

Cuando el 8042 detecta la existencia de un un ratón tipo PS/2 conectado, establece un sistema de control que utiliza la línea 12 de interrupciones (IRQ 12) y las direcciones de puerto 60h-6Fh.

Nota: En realidad, el conector PS/2 de ratón es como un segundo conector de teclado, a veces intercambiable directamente, de modo que puede conectarse a él el teclado. Esto puede comprobarse especialmente en los portátiles, en los que el conector externo PS/2 puede ser utilizado indistintamente con un teclado externo o un ratón. Recuerde que cuando este chip actúa como interfaz del teclado utiliza las direcciones 60-64h y la interrupción IRQ1 (cuya línea no tiene prolongación en el bus).

§5 Puerto de ratón integrado en tarjeta específica de bus

Page 443: 6721122 D057 Tecnologia Del PC

Este tipo de ratón es más raro que los anteriores; el adaptador utiliza una tarjeta específica, generalmente una ISA corta (de 8 bits) que responde a las direcciones 238h-23Bh o 23Ch-23Fh, dotada de un conector mini-DIN de 9 patillas para conectar el ratón. Se ha utilizado en sistemas que no tienen conector de ratón tipo PS/2 en la placa-base y desean mantener libres el/los puertos serie.

La ventaja es que el ratón no ocupa un puerto serie; el inconveniente es que se ocupa un zócalo ("slot") en la placa-base; otro inconveniente es que este tipo de ratón es eléctricamente incompatible con los demás y muy raro, por lo que es difícil de encontrar repuesto en caso de necesidad.

Conector para ratón USB serie A

Pin Nombre Descripción

1 VBUS +5 V. CC

2 D- Dato -

3 D+ Dato +

4 GND Tierra

Nota: Un ejemplo de este tipo de ratón es InPort™, lanzado por Microsoft en 1986. Dispone de una tarjeta adaptadora que puede insertarse en una ranura ISA normal de XT o en una ISA de 16 bits; la conexión del ratón se realiza mediante un conector mini-DIN de 9 patillas; un "jumper" permite seleccionar las interrupciones 2, 3, 4 o 5

§6 Ratón para puerto USB

El puerto USB ("Universal Serial Bus") permite conectar casi cualquier tipo de periférico imaginable. La tenencia actual es utilizar ratones que están pensados específicamente para este puerto.

Utilizan un conector USB de la serie A (estrecho), pero los ratones USB actuales, son también utilizables en un puerto para ratón tipo PS/2 mediante un adaptador que suele venir incluido con el propio ratón. Los nuevos Intellimouse® de Microsoft son de este tipo.

Page 444: 6721122 D057 Tecnologia Del PC

Convertidor USB/PS/2

§7 Aspectos funcionales del ratón

El funcionamiento del ratón es muy sencillo; genera una interrupción cuando se mueve, e informa de la cantidad y calidad del desplazamiento (componente X y componente Y).

Para que funcione debe instalarse el controlador adecuado. En los sistemas de interfaz gráfica como Windows, la instalación es realizada automáticamente por el Sistema, pero en MS DOS es necesario instalarlo explícitamente. Los fabricantes de ratones suelen (solían) incluir un disquete con el controlador adecuado en forma de un fichero controlador.com o controlador.sys. En el primer caso se carga en el fichero autoexec.bat, en el segundo se instala mediante el fichero config.sys.

Nota: Cuando se utiliza un programa MS-DOS en una ventana DOS de Windows, no es necesario cargar un controlador de ratón, puesto que la emulación DOS realizada por Windows utiliza su propio dispositivo (ratón) virtual.

Inicio.

[1] El primer ejemplar no disponía de la bola que se nos ha hecho familiar, sino de un par de ruedas X-Y, con lo que debía ser movido siguiendo direcciones octogonales; además tenía un solo botón, aunque pronto se le añadieron más.

[2] En los sistemas de sobremesa que disponen de ambos conectores en la placa-base, de teclado y de ratón, hay que respetar las asignaciones. Aunque el teclado y el ratón tipo PS/2 son eléctricamente compatibles, los datos que manejan no tienen el mismo formato, por lo que no pueden ser intercambiados, ya que cada boca espera un formato específico.

Inicio

Page 445: 6721122 D057 Tecnologia Del PC

Tecnología del PC[Home] [Inicio] [Índice]

En esta sección:a Sistemas de ficherosa1 Sistemas FAT/NTFSa2 Sistemas UNIX/Linuxc Sector de arranquec1 Particionesc2 Sector de cargac3 Particionar fdiskc4 Instalar el Sistema de ficherosd Estructura jerárquica

Subir

8.1.2 Discos: Estructura lógica

§1 Generalidades

Una vez conocidas las características físicas de los discos duros, acometeremos aquí una descripción de cómo están organizados los datos en su interior; cómo es la estructura lógica que los alberga. Empezaremos advirtiendo que en éste, como en otros aspectos de la informática, la estructura está organizada en niveles. En este caso, la estructura de más alto nivel es lo que conocemos como Sistema de Ficheros ("File System") que será tratada con mayor detalle en el siguiente capítulo ( 8.1.2a). Antes debemos introducir algunos conceptos imprescindibles para manejarnos en el tema con un mínimo de vocabulario.

El uso y la experiencia ha consagrado distintos sistemas de ficheros en los distintos Sistemas Operativos y disposiciones hardware. Pero en todo caso, su fin último es siempre el mismo: conseguir un mecanismo que proporcione la forma más rápida, segura y flexible de almacenar y recuperar los datos en los sistemas de disco. En nuestra descripción seguiremos el orden que creemos más didáctico para el interesado que desee una visión general sobre el asunto, sin otro requisito previo que la necesaria dosis de curiosidad.

Adelantaremos que la forma de organización de los niveles altos, en especial el Sistema de Ficheros en su conjunto, es característico de cada SO particular. Aunque las interioridades de su funcionamiento son propias de cada disco (dependen del fabricante) las interfaces de bajo nivel son universales. Ya que las unidades físicas pueden ser montadas en equipos

Page 446: 6721122 D057 Tecnologia Del PC

muy distintos y deben ser utilizadas con cualquier sistema operativo.

Un poco de historia: la primera unidad de disco duro (almacenamiento magnético) que pudiera considerarse como tal, con capacidad de acceso aleatorio ("random access"), fue el famoso RAMAC. Un equipo de IBM que apareció comercialmente en Septiembre de 1956. El sistema, dotado con 50 platos de 24 pulgadas de diámetro (unos 60 cm) recubiertos de óxido de hierro, ocupaba el espacio de un refrigerador grande, y generaba tanto calor que disponía de un compresor de aire para refrigerar las cabezas de lectura/escritura. A pesar de su aparatosidad, la capacidad era de solo 5 MB. El elevado número de platos y su desmesurado tamaño se debían a que su densidad de grabación era de 2.000 bits por pulgada cuadrada. Es decir, de unos 3 bits por mm2. A los estándares actuales (2006) de 100 Gigabits por pulgada cuadrada, podemos considerar que la distancias entre bits en las superficie de grabación eran interestelares. De acuerdo con los expertos, también para los discos duros existe versión de la Ley de Moore, según la cual, la capacidad de las unidades se duplica aproximadamente cada 23 meses. Aunque en tecnología es muy difícil ejercer de adivino, todos los indicios apuntan a que el fin del disco duro giratorio está próximo. La disminución de precios en las memorias flash apunta en el sentido que los próximos discos serán de estado sólido (estáticos, 8.2.1a).

En realidad, IBM no vendía la unidad, sino que la alquilaba con servicio de mantenimiento incluido -algo muy normal en la época- a razón de 35.000 Dólares anuales (el equivalente a 250.000 dólares actuales).

Puede obtener información adicional en "Happy Birthday to the Hard Drive" un artículo de Terri Wells aparecido en Developer Shed www.devhardware.com

Page 447: 6721122 D057 Tecnologia Del PC

§2 Pistas, sectores y clusters

Los partículas magnéticas de la superficie del disco se utilizan en grupos dispuestos en círculos concéntricos denominados pistas ("Tracks"), que se numeran desde el exterior al interior comenzando por la cero [1].

En las unidades modernas se suele utilizar ambas superficies de cada plato ("Platter"), de los que puede haber varios en la misma unidad [2]. Las pistas de todos los platos equidistantes del eje conforman un cilindro ("Cylinder") y las cabezas de lectura/escritura están construidas de forma que todas están situadas sobre el mismo cilindro.

Recordemos que existen dos mecanismos; uno mecánico y otro eléctrico, que permiten a las cabezas leer/escribir sobre cualquier punto: el movimiento ("Seeking") hace que puedan situarse rápidamente sobre cualquier cilindro. Por su parte el mecanismo de conmutación hace que sea una u otra cabeza la que lee/escribe en cada momento. Recordemos también que hay tantas pistas como número de cilindros x número de platos x 2, y que en los discos duros, la velocidad de rotación angular es constante [3]. En las unidades actuales oscila entre 4.200, 15.000 rpm.

Además de las pistas concéntricas, la superficie del disco se supone dividida en sectores circulares. La intersección de cada sector sobre las pistas se conoce como sector. La capacidad de cada sector es de 512 bytes. Naturalmente, el número de sectores configura la capacidad total de la unidad. Esta puede variar desde un par de miles de sectores en un

Page 448: 6721122 D057 Tecnologia Del PC

humilde disquete, a cientos de millones en una unidad de gran capacidad.

Nota: Observe que al referirse a discos duros, un sector no se refiere a la cuña completa, sino al trozo de pista intersectado por los radios que delimitan lo que en geometría es el sector circular. También que los los sectores tienen distinta longitud según su distancia al centro. Circunstancia esta que tiene importantes consecuencias prácticas.

Dado que las pistas exteriores son más largas que las interiores, y con objeto de no aumentar la densidad lineal de los datos, es práctica común en los discos modernos (no así en los disquetes) que el número de sectores sea menor en las pistas interiores que en las exteriores. O lo que es lo mismo: que el valor SPT ("Sectors per track") no sea igual en todos los cilindros (algunos programas de diagnóstico que proporcionan el valor SPT de la unidad, se refieren -en su caso- a las pistas exteriores). Esta técnica de grabación se conoce como zoned-bit recording y señala que no todas las pistas tienen igual número de sectores.

§3 Valores CHS

Hemos señalado ( 6.2) que en las unidades modernas, la identificación de cada sector viene determinada por su número n dentro del total N de sectores disponibles en la unidad. Lo que se conoce como direccionamiento LBA ("Logical Block Addressing). Sin embargo, por razones históricas, es costumbre designarlos mediante tres valores (que se representan por sus iniciales inglesas): número de cilindro C; número de cabeza H y número de sector dentro de la pista S. Así que en la literatura especializada encontrará repetidamente el acrónimo CHS para referirse a esta terna de valores que corresponden con las características "lógicas" (que no físicas) de la unidad.

Page 449: 6721122 D057 Tecnologia Del PC

En la época de los primeros PCs, la designación CHS correspondía efectivamente con las características físicas de las unidades de disco. Sin embargo, en las unidades modernas estos valores no guardan ninguna relación con la física del dispositivo. Existe un algoritmo que traslada estos tres valores a los parámetros internos del sistema. Por ejemplo. El portátil en que escribo, dispone de una unidad Toshiba MK6025GAS con 117.210.240 sectores, lo que hace un total de 60.011.642.880 bytes (60.01 GB según el fabricante [8]). Sus especificaciones técnicas señalan que la unidad tiene dos platos y 4 cabezas a las que corresponden las siguientes "características lógicas":

Cabezas H = 16Cilindros C = 16,383Sectores por pista en la zona cero [9] S = 63

§4 Formateo de bajo nivel

El número de sectores y pistas viene determinado por el fabricante de la unidad y su organización se realiza en un proceso denominado formateo de bajo nivel, o formateo físico, que incluye ciertas operaciones de verificación para comprobar que las cabezas son capaces de leer/escribir sin error, cualquier patrón de bits en todos y cada uno de los bytes de las superficies. En caso de haber alguno erróneo (lo que es relativamente frecuente), estos bytes malos se apuntan en una tabla interna de la propia unidad y no vuelven a utilizarse.

Nota: Algunos sistemas de fichero. Por ejemplo NTFS ( 8.1.2a) tienen la capacidad de realizar esta anotación en run-time ("Hot fixing"), de forma que si detectan un byte defectuoso, es anotado para que no vuelva a ser utilizado por la unidad.

Actualmente los discos vienen formateados de bajo nivel y probados, por lo que el formateo físico es ráramente necesario. Hasta fechas relativamente recientes, era frecuente encontrar la tabla de sectores defectuosos anotada por el fabricante en la propia carátula de la unidad.

Page 450: 6721122 D057 Tecnologia Del PC

En cambio, antaño era imprescindible realizar este formateo sobre las unidades nuevas mediante herramientas software especiales. Entonces era frecuente que el formateo de bajo nivel y comprobación de un disco Winchester de 5+5 MB tardara varias horas!! [5].

Nota: En épocas en que las unidades de disco eran terriblemente caras (un disco Winchester podía costar el equivalente a un automovil actual de tipo medio), si el disco empezaba a dar problemas de lectura/escritura, la terapia consistía en volver a realizar un formateo de bajo nivel y recomprobar el estado de la superficie (volver a pasar el "dkinit"). Si existían nuevos bits defectuosos, eran añadidos a la tabla de defectos y la unidad volvía a ser puesta en explotación cruzando los dedos. En cambio, el costo de las unidades actuales hace que excepcionalmente haya que reparar o recuperar un disco [6]. Es más, el mantenimiento actual es tipo proactivo, en el sentido de que se monitorizan determinados parámetros de funcionamiento y la unidad es desechada a la más mínima señal de que pueda presentar un fallo.

§5 Unidad de asignación

Los sectores constituyen la menor cantidad de información que las cabezas pueden leer/escribir cada vez, lo que significa que la unidad puede leer/escribir como mínimo la información contenida en un sector (que para el sistema estará libre u ocupado, pero nunca a medias). A este respecto es importante señalar que el SO ráramente utiliza esta cantidad directamente. Esto significaría, sobre todo en unidades grandes, tener la información demasiado fragmentada (contenedores unitarios demasiado pequeños). Por esta razón, se utilizan múltiplos de esta cantidad en forma de agrupaciones de sectores contiguos denominadas unidad de asignación ("Cluster") [4].

Nota: Los sectores por cluster utilizados por Microsoft en sus sistemas de ficheros son: 1, 2, 4, 8, 16, 32, 64 y 128.

§6 Formateo de alto nivel

El tamaño del cluster (número de sectores), que conforma la unidad mínima de lectura/

Page 451: 6721122 D057 Tecnologia Del PC

escritura, depende del sistema de ficheros utilizado y de la capacidad de la unidad (puede ser distinto para cada disco). Su determinación, junto con la creación de determinadas estructuras auxiliares, que comentaremos más adelante ( 8.1.2a), se realiza mediante el denominado formateo de alto nivel, o formateo lógico, que es realizado por una utilidad del SO. En los sistemas ext2 (Linux) es la utilidad mke2fs; en los sistemas FAT (MS-DOS/Windows), es la utilidad format.com. El cuadro adjunto muestra las respuestas obtenidas al ejecutar esta última sobre una unidad de 4 GBytes.

Comprobando el formato del disco Grabando los clústeres no válidos actuales Completado. Comprobando 4.001,45 MB Formato completado. Escribiendo la tabla de asignación de archivos Completado. Calculando espacio libre (esto puede tardar algunos minutos)... Completado ¿Nombre del volumen? (11 caracteres, Entrar para ninguno)? 4.187.631.616 bytes de espacio total en disco 4.187.631.616 bytes disponibles en disco 4.096 bytes en cada unidad de asignación. 1.022.370 unidades de asignación libres en disco El número de serie del volumen es 304A-0FEF

Nota: El caso de los disquetes es una excepción sobre lo comentado. Aunque estas unidades pueden venir del fabricante con un formateo de alto nivel al estilo MS-DOS, format.com realiza en ellas los formateos de alto y bajo nivel simultáneamente. Por supuesto, un disquete HD de 3.5" puede sufrir distintos formatos en una máquina DOS/Windows, en una Linux o en un Mac. La tabla adjunta muestra la distribución de los disquetes formateados bajo MS-DOS.

Page 452: 6721122 D057 Tecnologia Del PC

Capacidad nominal 360 KB. 1.2 MB. 720 KB. 1.44 MB. 2.88 MB.

Tamaño (diámetro) 5.25" 5.25" 3.5" 3.5" 3.5"

Designación DD HD DD HD EHDSectores por cluster 2 1 2 1 2

Pistas por cara 40 80 80 80 80

Sectores por pista 9 15 9 18 36

Fig. 3

La figura 3 muestra el resultado después del formateo de alto nivel de un disquete 3.5" HD en MS-DOS/Windows (la unidad está totalmente vacía). En este caso el cluster es de un sector y la capacidad total coincide con el producto: 2847 clusters x 512 bytes/cluster = 1.457.664 bytes. Sin embargo, las unidades de asignación anunciadas no corresponden con el total teórico de la tabla anterior, que debería ser: 80 pistas/cara x 18 sectores/pista x 2 caras = 2880 clusters. Los 33 clusters perdidos corresponden a distintas estructuras de bajo nivel, no utilizables directamente por el usuario, a las que tendremos ocasión de referirnos más adelante, que son creadas durante el formateo de alto nivel (los resultados mostrados en el cuadro se refieren a capacidades utilizables por el usuario).

La figura 4 muestra el resultado de la

Page 453: 6721122 D057 Tecnologia Del PC

Fig. 4

utilidad scandisk [7] en una unidad de 4 GB. formateada con la misma utilidad que el disquete anterior (la unidad contiene algunos datos de usuario). Puede verse que en esta ocasión el cluster es de 8 sectores (4.096 bytes) y que la capacidad total coincide con el producto del más de un millón de clusters existentes en la unidad por el tamaño de cada uno (4.187.623.424 = 4.096 x 1.022.369). También en este caso los valores se refieren a capacidad útil, una vez deducido el espacio requerido por las estructuras del formato lógico.

En los sistemas Windows y MS-DOS, puede utilizar la utilidad chkdsk.exe seguida del nombre de la unidad A:; C:; D:; etc. para obtener información sobre sus discos (unidades lógicas) [10]. Por ejemplo, en una unidad de 300 GB nominales, el formateo lógico con format.com, ha construido un Sistema de Ficheros FAT32 con las siguientes características (en el momento del análisis la unidad contiene algunos datos de usuario):

292.954.048 KB de espacio total en disco 277.057.632 KB libres 32.768 bytes en cada unidad de asignación 9.154.814 total de unidades de asignación en el disco 8.658.051 unidades de asignación libres en disco

Como puede verse, el cluster es enorme, 64 sectores, y proporcionado al tamaño de la unidad. Es significativo que en estas unidades muy grandes, el almacenamiento de gran

Page 454: 6721122 D057 Tecnologia Del PC

número de ficheros pequeños (de menos de 32 KB) puede suponer un terrible desaprovechamiento del espacio. Por lo que dependiendo de su uso, es recomendable dividirlas en varias unidades lógicas ( 8.1.2c1). Aunque la capacidad de esta unidad es unas 70 veces mayor que la del ejemplo anterior, solo tiene 8.9 veces más clusters que aquel. En esta ocasión es un Seagate Barracuda ST3300831AS, que según especificaciones del fabricante, tiene 586,072,368 sectores en modo LBA. Es decir, 300,069,052,416 Bytes. Puede verse que las estructuras necesarias para el formateo de alto nivel suponen un espacio considerable. Aún considerando KBytes de 1024 bytes, el espacio total (utilizable) del disco resulta ser 84 MB menor que su capacidad teórica!!. La diferencia corresponde al espacio ocupado por los metadatos (datos sobre los datos).

Nota: En realidad, la elección del tamaño de la partición, que como hemos visto, influye en el tamaño del cluster y en el aprovechamiento del espacio, es una cuestión de equilibrio. Tamaños de cluster pequeños aprovechan mejor el espacio, pero conducen a muchas unidades de asignación en la unidad, y por ende, a grandes estructuras de metadatos (por ejemplo tablas FAT 8.1.2a1) Por contra, tamaños grandes de cluster tienden a desaprovechar el espacio, pero conducen a estructuras más reducidas.

§7 Principio de operación

Los discos comienzan a escribirse del exterior al interior, siendo los datos que primero se graban los que más rápido se acceden y más velocidad de transferencia poseen, ya que la velocidad lineal de las pistas exteriores es mayor que en las interiores.

Contra lo que podría parecer, el llenado no se produce comenzando por una superficie y continuando en la siguiente, sino por cilindros. De forma que una vez llenados los clusters del cilindro exterior, se continúa con el adyacente. Este procedimiento tiende a minimizar los movimientos de cabeza ("seeking"), de forma que para leer una serie de sectores sucesivos, basta la conmutación de cabezas mientras estas se mantienen sobre el mismo cilindro (la "conmutación" es un proceso electrónico incomparablemente más rápido que el "seeking" que implica movimiento mecánico).

Page 455: 6721122 D057 Tecnologia Del PC

§8 Fragmentación

La escritura secuencial de ficheros no produce huecos en la estructura de datos, ya que cada nuevo fichero supone la utilización de una serie de clusters sucesivos después del último ocupado. El problema comienza cuando se borran ficheros intermedios. Entonces aparecen zonas intermedias de clusters desocupados que tienden a rellenarse la próxima vez que se escribe un fichero. Pero entonces, los clusters que componen el nuevo fichero no son contiguos y las operaciones de lectura/escritura tienen que proceder a saltos, con el consiguiente perjuicio para el rendimiento del sistema. El problema, conocido como fragmentación externa, afecta a unos sistemas de ficheros más que a otros, pero empieza a ser especialmente acusado cuando la unidad está casi llena (por encima del 80% de su capacidad).

La fragmentación tiende a ser especialmente acusada en unidades en las que se escriben y borran gran cantidad de ficheros o cuando estos cambian su tamaño. El problema es similar al que ocurre con la memoria en las aplicaciones que la utilizan extensivamente. Para evitar sus efectos indeseables, existen herramientas como el conocido (y denostado) defragmentador de Windows (defrag.exe) que reacomodan sistemáticamente los datos reuniendo los cluster dispersos de un mismo fichero.

El problema de la fragmentación externa, junto con algunas otras necesidades de los grandes sistemas, que deben funcionar ininterrumpidamente durante semanas o meses con grandísimas cargas de trabajo en condiciones críticas, ha obligado a algunos sistemas de ficheros a dotarse de ciertas habilidades especiales. Por ejemplo, conocer rápidamente si existe suficiente espacio contiguo en algún sitio de la unidad para colocar un fichero, en lugar de instalarlo (seguramente fragmentado) empezando en el primer sitio libre.

Una extensión ("extent") es un conjunto grande de clusters contiguos en un fichero. Se define mediante una terna de valores: el desplazamiento inicial respecto al principio del fichero; el cluster de comienzo y la longitud (número) de clusters contiguos. El sistema de ficheros mantiene una tabla de extensiones que le permite encontrar rápidamente el espacio adecuado para un nuevo fichero.

Page 456: 6721122 D057 Tecnologia Del PC

Existe el malentendido generalizado, de que la fragmentación es un problema exclusivo de los Sistemas DOS/Windows que no afecta a los sistemas Unix/Linux. Cuando en realidad no es cierto, ya que todos los sistemas de ficheros conocidos padecen del mismo defecto cuando se utilizan en las mismas circunstancias.

Probablemente el malentendido tiene su origen en que en sistemas mono usuario, tales como DOS/Windows, o incluso un sistema Linux de escritorio, la utilización de recursos se debe a la acción de un solo usuario, y por lo que se refiere al disco, los accesos suelen ser secuenciales sobre el mismo fichero. En estas condiciones, la fragmentación puede ser un elemento determinate en el rendimiento global del proceso. Por contra, en los sistemas multiusuario, especialmente si están muy cargados (muchos usuarios solicitando recursos distintos al mismo tiempo), son las peticiones al sistema de ficheros las que son de naturaleza fragmentada. En estas condiciones el disco tiene que atender secuencialmente peticiones de trozos de ficheros distintos, lo que supone una penalización del rendimiento con independencia de que tales ficheros sean contiguos o no (aunque evidentemente, el hecho de que sean discontinuos no facilita las cosas).

Los efectos negativos de esta forma de utilización, que podíamos denominar de demanda fragmentada, se ven atenuados por el hecho de que las unidades modernas disponen de la capacidad NCQ ("Native Command Queing"), que permite que un dispositivo reciba un conjunto de órdenes y las reordene para conseguir el máximo rendimiento con el mínimo movimiento de cabezas. Otras características propias de sistemas avanzados son el cacheado de disco, la lectura adelantada y la escritura retrasada ( 5.2).

Según los expertos, el argumento final es que, en un sistema multiusuario-multitaréa, la sobrecarga inherente a la fragmentación de ficheros es despreciable frente a la derivada de la fragmentación de la demanda. Por lo que es muy raro que se requiera defragmentar las unidades lógicas. Máxime si se utiliza el sistema de ficheros ext2/ext3, que son inherentemente más

Page 457: 6721122 D057 Tecnologia Del PC

resistente a la fragmentación que los sistemas FAT o NTFS. A pesar de todo, aunque raras, existen herramientas para defragmentar discos Linux. En cualquier caso, la recomendación de los expertos para estas situaciones es no ocupar las unidades por encima del 80% de su capacidad máxima, y en caso necesario, copiar el contenido de la partición en una unidad externa, borrar su contenido, y volverlo a copiar en su localización original.

Tema relacionado: Fragmentación interna ( 8.1.2a1).

Inicio.

[1] En este sentido, la organización de los discos es diferente de la adoptada en los dispositivos ópticos (CDs y DVDs), donde la distribución no adopta la forma de pistas concéntricas, sino de una espiral continua.

[2] En la década de los 90 eran frecuentes unidades con gran números de platos. Actualmente (2005) el aumento de la densidad de grabación ha permitido construir unidades más delgadas, por lo que son relativamente raras las unidades con más de 4. Como dato anecdótico puedo deciros que conservo un Maxtor XT 2190. Un "ladrillo" de nada menos que 8 platos y 15 cabezas (una cara se reservaba para uso de la propia unidad) con la espeluznante (de entonces) capacidad de 190 MB!!.

[3] Esta es otra diferencia importante de los discos duros respecto a los dispositivos ópticos como CDs y DVDs, en los que la velocidad angular del plato es variable. De esta forma se consigue que la velocidad lineal del láser de lectura sobre la pista se mantenga constante, tanto en las zonas cercanas al eje, como en las más alejadas (lo que no ocurriría de mantenerse la velocidad angular constante).

[4] La palabra cluster se utiliza también con otro significado: La agrupación de varios equipos de cómputo, unidos por redes de alta velocidad, para realizar determinada tarea de forma

Page 458: 6721122 D057 Tecnologia Del PC

cooperativa ( 8.1.2a).

[5] La designación tiene su origen el modelo 3340, lanzado originariamente por IBM en 1973, en el que las cabezas "vuelan" sobre un colchón de aire sobre la superficie del disco (sistema que sigue utilizándose actualmente). Estas unidades tenían dos discos de 30 MB colocados uno sobre otro, de forma que el superior era removible; podía cambiarse mediante una operación de carga superior ("Top loader"). Los discos tenían una carcasa plástica de protección en forma de gigantesca tartera, cuya tapa podía quitarse para introducir el disco en la unidad. La designación 30-30 derivó en "Winchester", en recuerdo del famoso modelo del mismo nombre del conocido fabricante de armas.

[6] En 1991 el precio de un subsistema de disco Data General de 24 Gigabytes (una capacidad monstruosa en aquellos días) era de 25.000 dólares americanos (de entonces); en 2005 he adquirido una unidad Seagate de 300 GB por 135 Euros. Como consecuencia, las operaciones de recuperación de discos no están orientadas a volver a utilizar la unidad, sino a la recuperación de información en unidades averiadas de las que no existe copia de seguridad.

[7] Los sistemas Windows disponen de dos versiones de este programa: scandisk.exe y scandskw.exe. El primero es una versión MS-DOS; el segundo es una versión Windows con interfaz gráfica. En ambos casos es una utilidad de chequeo de las estructuras creadas durante el formato de alto nivel; de la consistencia del sistema de ficheros, y de la idoneidad de la superficie útil para escribir datos.

[8] La documentación del fabricante señala que para Toshiba, 1 MB equivale a 1.000.000 bytes y GB a 1.000.000.000 Bytes (lo que es de agradecer E1.7.1).

[9] La zona exterior, que tiene más sectores. La información del fabricante parece confirmar que el dispositivo utiliza la técnica de grabación "zoned-bit recording" antes mencionada .

[10] Los Sistemas MS-DOS tienen una utilidad de verificación de la integridad de los discos duros chkdsk.exe, que incluye información sobre el tamaño de la unidad, espacio libre, etc. Las versiones MS-DOS contenidas en Windows 9x también disponen de ella, aunque

Page 459: 6721122 D057 Tecnologia Del PC

recomiendan usar scandisc.exe para este menester. Sin embargo, chkdsk puede seguir siendo útil para obtener información sobre la unidad.

Inicio

|Índice| Copyright © 2000-2006 Zator Systems. NO software patents

Page 460: 6721122 D057 Tecnologia Del PC

Tecnología del PC[Home] [Inicio] [Índice]

Subir

8.1.2a Sistemas de Ficheros

§1 Introducción

En el capítulo anterior ( 8.1.2) hemos adelantado que la estructura que alberga la información en los discos es conocida con el nombre de sistema de ficheros (abreviadamente FS "File System"). Un sistema de ficheros es una estructura lógica que se supone las más adecuada y eficiente para el manejo de datos en base a las características del hardware disponible (discos). Por esta razón, su estudio se mueve en la frontera entre el hardware y el software.

El diseño del sistema de ficheros tiene una gran influencia en la eficacia (rendimiento), seguridad, flexibilidad y capacidad de crecimiento de los almacenamientos en disco. Y por tanto, en el rendimiento del propio Sistema Operativo. Una de cuyas funcionalidades más importantes es el manejo de datos.

Nota: Precisamente el SO UNIX nació a partir de la idea de crear un sistema de ficheros que permitiese a los usuarios de un sistema GE 635 [7] de los Laboratorios Bell de AT&T, trabajar simultáneamente sin interferirse.

Naturalmente, las exigencias del Sistema dependen de su utilización. No son de esperar las mismas necesidades en el sistema de ficheros de una computadora personal, con un SO tipo DOS con un solo usuario ejecutando una sola tarea, que las de un sistema multiprograma en

Page 461: 6721122 D057 Tecnologia Del PC

las que distintos usuarios pueden ejecutar concurrentemente distintas tareas, quizás utilizando simultáneamente ficheros alojados en máquinas remotas. En general, cada SO tiene su forma de organizar y controlar el acceso a los datos en el disco duro que le es específica, e independiente del medio físico (tipo de disco utilizado). Sin embargo, por razón de compatibilidad, y para mejor adaptarse a las distintas circunstancias, algunos Sistemas Operativos pueden utilizar distintos Sistemas de Ficheros (Linux es un caso paradigmático).

§2 Datos y metadatos

Como veremos a continuación, existe un amplio repertorio de estos sistemas. Cada uno con una orientación, diseño y pretensiones específicas, pero todos comparten un principio común: junto con los datos propiamente dichos, el disco debe contener las estructuras que los organizan e indexan. Estas estructuras son conocidas como metadatos o meta-estructuras (datos sobre los datos). En realidad, el caballo de batalla del diseño de un sistemas de ficheros, se centra precisamente en el diseño de sus meta-estructuras. Las bondades y cualidades del producto final, dependen en gran medida del acierto y características de esta parte del diseño.

Una vez introducidos en el capítulo anterior los conceptos y vocabulario indispensables, daremos un breve repaso a las características de los sistemas de ficheros de los Sistemas Operativos más populares. Posteriormente nos centrarnos más detalladamente en el sistema FAT por ser quizás el más extendido ( 8.1.2a1) y en el sistema ext2 de Linux ( 8.1.2a2) de importancia creciente en la informática actual.

§3 MS-DOS

Los sistemas MS-DOS ("MicroSoft Disc Opertating System"), PC-DOS y derivados, hasta el MS-DOS v.6.22, utilizan un sistema de ficheros conocido como FAT. El nombre se debe a una de sus estructuras principales, la tabla de situación de ficheros FAT ("File Allocation Table").

Como señala su propio nombre, el sistema utiliza una tabla donde se encuentran las

Page 462: 6721122 D057 Tecnologia Del PC

direcciones de los ficheros en el disco. Las tablas FAT están contenidas en el disco junto con el resto de datos, aunque durante el funcionamiento normal se cargan en memoria. Dependiendo del espacio asignado para escribir en ellas reciben diversos "apellidos": FAT12, FAT16 y FAT32, que utilizan respectivamente 12, 16 y 32 bits para apuntar el número de cluster de un trozo de fichero (todas las versiones de MS-DOS previas a la 7.x utilizaban FAT12/16).

Es un sistema de ficheros muy simple, aunque perfectamente adecuado a las pretensiones iniciales. La más evidente para el usuario es la limitación de 8 caracteres para los nombres de ficheros y de 3 para las extensiones. Fórmula conocida como 8+3.

El sistema de ficheros de MS-DOS, que se comercializó con los primeros PCs de IBM, que carecían de disco duro (solo podían almacenar 160 KB de datos en su disco flexible), era en realidad una derivación del sistema de ficheros de CP/M ("Control program for microcomputers"). El sistema operativo de Gary Kildall, que había servido de inspiración al QDOS ("Quick and Dirty Operating System") de Tim Patterson, el "Padre" del DOS de Microsoft. El sistema era bastante ineficiente, ya que no estaba pensado para unidades grandes. Por esta razón, cuando IBM comenzó a dotar a sus equipos con unidades de disco de 10MB, Microsoft desarrollo un nuevo sistema de ficheros para su DOS 1.x, inspirado en el de UNIX (Microsoft había adquirido una licencia UNIX y había empezado a ofrecer una versión denominada XENIX). La capacidad crear particiones haciendo que aparezcan como una unidad de disco, fue añadida en el MS-DOS 3.2.

§4 Sistemas Windows

El gigante de Redmond ha venido utilizando dos sistemas de ficheros para sus sistemas Windows: FAT, en distintas versiones ( 8.1.2a1) y NTFS ( 8.1.2a1).

Page 463: 6721122 D057 Tecnologia Del PC

Si empezamos por el principio, Windows 3.x no era realmente un sistema operativo; más bien una interfaz gráfica sobre MS-DOS. La última versión: Windows 3.11 para trabajo en grupo, incluía una mejora llamada "32-Bit File Access" que en realidad se trataba de una forma de acceso a disco para rutinas de 32-bit en modo protegido, en vez de las rutinas normales DOS de 16 bits. De forma que la estructura del sistema de archivos seguía siendo la DOS tradicional.

El Windows 95 inicial incluía un MS-DOS v.7.x que soportaba FAT16, mientras que una versión posterior, denominada OSR2 ("OEM Service Release 2") o Windows 95b, soportaba también FAT32. El MS-DOS v.7.1 que venía con él también soporta FAT32.

Por su parte Windows NT fue diseñado desde el principio para ser un sistema operativo de red y multitarea que rompiese definitivamente cualquier nexo con sus ancestros MS-DOS. Soporta dos sistemas de fichero: su sistema "nativo", denominado NTFS ("New Technology File System") es un sistema de ficheros estilo UNIX/DOS. El segundo es el tradicional FAT32, incluido meramente por razones de compatibilidad y para permitir que los equipos puedan tener lo que se denomina arranque dual ("dual boot"), que permite al usuario arrancar en Windows NT o en otro sistema. Aunque Windows NT puede leer archivos NTFS y FAT32 (este último mediante una utilidad denominada winimage), es absolutamente diferente e incompatible con los FAT [1], aunque muy superior a ellos en todo.

§5 UNIX

Este sistema es propio de máquinas grandes utilizadas generalmente por muchos usuarios. Nació en entornos académicos y de investigación, por lo que dispone de mecanismos de protección y cooperación entre grupos de trabajo muy desarrollados. Existen varios dialectos de UNIX, aunque uno de ellos, Linux, se ha popularizado mucho en el mundo de la informática personal. Aunque la arquitectura de su sistema de ficheros sirvió de inspiración para las últimas versiones de MS-DOS, es totalmente incompatible con los sistemas FAT.

Aunque originarios de un tronco común (el Unix de AT&T), existen distintas variedades que, en lo referente a su FS, se diferencian en cuestiones de detalle. Principalmente relacionadas con la forma en que se heredan las propiedades de los nuevos ficheros en función de las

Page 464: 6721122 D057 Tecnologia Del PC

propiedades del directorio padre o del proceso que los crea.

Quizá las variedades más extendidas sean BSD ("Berkeley Software Distribution"), escrita en la universidad de California en Berkeley por el CSRG ("Computer Science Research Group") y el UNIX Systrem V. A partir de ellas se ha creado toda una familia de versiones "open source", entre las que se encuentran NetBSD; FreeBSD, y OpenBSD. Son, en cierta medida, comparables al popular Linux, cada una con sus virtudes y defectos.

Referencias:

● Differentiation among BSD distros serverwatch.com

● Beyond the Big three BSDs, BSD alternatives www.serverwatch.com

● UNIX History www.levenez.com/unix/

Un buen punto de partida para seguir hurgando en el mundo UNIX.

§6 Linux

Este sorprendente sistema, fue desarrollado inicialmente por un estudiante (Linux Benedict Thorwald) según un diseño inspirado en Minix (un dialecto simplificado de UNIX diseñado por Andrew S. Tanenbaum). Posteriormente fue convertido por su creador en un SO "freeware" y rápidamente "adoptado" por la comunidad informática internacional, que le ha ido añadiendo infinidad de opciones, utilidades y mejoras. Es rápido, fiable y muy optimizado. El sistema de archivos Linux es distinto de los sistemas FAT, aunque dispone de una utilidad denominada mtools que da soporte a FAT32.

Con el tiempo se le ha dotado de distintos sistemas de ficheros, de forma que sus usuarios pueden elegir entre una amplia variedad de opciones y tener acceso (en ocasiones restringido) a una enorme cantidad de formatos. El sistema es muy flexible, permitiendo incluso montar un sistema de ficheros de raíz única, que comprenda unidades físicas con sistemas distintos entre sí (unidades con formatos distintos). Entre los sistemas de fichero

Page 465: 6721122 D057 Tecnologia Del PC

que Linux puede utilizar o "entender" se encuentran: bfs; minix; ext; ext2; ext3; xia; xfs; msdos; umsdos; vfat; jfs; reiserfs; nfs; iso9660; hpfs; sysv; smb y ncpfs. A continuación se comentan brevemente las características de los más usados:

● ext: Es una extensión del sistema de ficheros Minix (de ahí su nombre), aunque más elaborada. Su desarrollo fue suspendido en favor de ext2. A partil de la versión 2.1.21 ya no se incluye en el kernel de Linux.

● ext2: Puede decirse que actualmente (2005) esta segunda "extensión" del sistema Minix, es el modelo "oficial" y más extendido en el mundo Linux. Es un sistema de ficheros de alto rendimiento que, en términos de velocidad y consumo de UCP, presenta las mejores prestaciones de entre los sistemas soportados por Linux, aunque no está exento de inconvenientes. Está dotado de una estructura estática y con relativamente poco espacio para anotar particiones excepcionalmente grandes o con gran número de ficheros en cada directorio. Aunque en honor a la verdad, estos límites son enormes: 32,768 subdirectorios en cada directorio; de 10,000 a 15,000 ficheros por directorio, y 4 Terabytes de capacidad. Sin embargo, quizás la principal limitación es que su estructura de listas encadenadas (similar a las FAT 8.1.2a1) no es especialmente adecuada para volúmenes muy grandes (desde luego, el concepto actual -2005- de "muy grande", no es el mismo que el de hace 10 años).

● ext3: Es una versión "journaling" del anterior. Es decir, un sistema capaz de anotar las "transacciones" (operaciones) realizadas, y en caso necesario, disponer de cierta capacidad de rehacer los últimos cambios. El journaling garantiza la consistencia de los ficheros, ya que las operaciones de escritura/borrado de disco suponen distintos accesos y actualizaciones; sobre los datos y sobre los metadatos (tablas FAT por ejemplo 8.1.2a1). En caso de accidente. Por ejemplo, un apagado súbito, algunas operaciones pueden quedar sin realizar, produciendo inconsistencias en el sistema de ficheros. En estos casos, el sistema tradicional consiste en recurrir al empleo de utilidades (como fsck en Linux; fdisk en Windows, o el patético recover del DOS) que verifican la estructura lógica e intentan reparar los desperfectos (al menos evitar que sean origen de nuevos estropicios). El problema es que con frecuencia tales utilidades no resuelven el problema. Además, las rutinas necesarias después del "crash" de un gran sistema pueden requerir horas o incluso días de proceso. En cambio los sistemas journaling pueden rehacer la actualización que quedó incompleta

Page 466: 6721122 D057 Tecnologia Del PC

(o anularla totalmente) en cuestión de minutos. El resultado es que estos sistemas son mucho más rápidos en el rearranque después de una incidencia. Algo que es especialmente valorado en determinados entornos de explotación (pensemos por ejemplo, en un gran banco).

● hpfs: Es el "High Performance File System" utilizado por OS/2 de IBM . Aunque, debido a la ausencia de documentación al respecto, Linux solo ofrece capacidad de lectura (importar sus datos) desde estos sistemas de fichero.

● iso9660: Es el sistema de ficheros utilizados en los CD-ROMs. Es un estándar para grabar ficheros de datos en los dispositivos ópticos como CDs y DVDs implementado en todos los sistemas que montan estos dispositivos. Esta es la razón por la que los CDs y DVDs son medios realmente universales para difusión de información digital. Como no podía ser menos, Linux soporta las dos versiones del estándar: High Sierra y Rock Ridge.

● jfs: Al igual que ext3, jfs es un sistema de ficheros "journalista". Desarrollado inicialmente por IBM para sus sistema OS/2 Warp , su código fue donado al Open Source Consortium a principios del 2000 y portado a Linux poco después. Se incluye en los kernel a partir de la versión 2.5.6, aunque puede instalarse como un parche en las versiones 2.4.x. Es un sistema muy adecuado para entornos empresariales que permite volúmenes muy grandes y utiliza técnicas avanzadas para mejorar el rendimiento. Una de sus características es que utiliza un sistema de asignación dinámica para los "inodes" ( 8.1.2a2) que asigna o libera el espacio según las necesidades. La ventaja es que, al contrario que en otros sistemas. Por ejemplo, ext2 , no es necesaria una estimación previa del espacio que se reservará a los inodes al crear el sistema de ficheros [4].

● minix: Es el sistema de ficheros nativo del SO de igual nombre. Fue el primero de los disponibles para Linux, ya que como hemos indicado, el desarrollo original de éste se basó en aquel. Aunque adolece de importantes limitaciones (Minix es más un sistema pensado para la enseñanza que para explotación comercial [6]), se sigue utilizando en disquetes y en unidades de disco RAM.

● msdos: Es la versión Linux del sistema de ficheros DOS tradicionalmente usado por los PCs IBM, Windows y PS/2. La versión Linux adolece de las mismas limitaciones

Page 467: 6721122 D057 Tecnologia Del PC

que el DOS original.

● umsdos: Una extensión Linux del anterior que elimina alguna de sus limitaciones, como la de nombres cortos (8+2). Al tiempo que añade algunas capacidades nuevas. Por ejemplo, la designación de dispositivos de E/S como ficheros (algo muy común en el mundo Unix); posibilidad de definir tuberías ("pipelines") para utilizar la salida de un comando como entrada de otro. etc.

● nfs: Es el sistema de ficheros de red ("Network File System") que permite acceder ficheros situados en ordenadores remotos.

● ncpfs: Un sistema de ficheros de red que soporta el protocolo NCP ("NetWare Core Protocol") de Novell . Permite acceder y manejar los recursos de un servidor NetWare desde Linux.

● reiserfs: Otro sistema de ficheros "journalista" de código abierto y disponible en la mayoría de distribuciones de Linux, diseñado por Hans Reiser y colaboradores en Namesys. Aunque presenta unas excelentes prestaciones en el manejo de ficheros grandes, una de sus características distintivas es su adecuación para manejar infinidad de ficheros pequeños. Su filosofía es que los ficheros pequeños estimulan la sencillez del código. ¡En lugar de utilizar una base de datos para manejar su información, utilice el sistema de ficheros! reiserfs resulta de 8 a 15 veces más rápido que ext2 en el manejo de ficheros de menos de 1 KB, y con la configuración adecuada, puede almacenar un 6% más de datos que aquel en el mismo dispositivo. En lugar de manejar clusters de tamaño fijo, su diseño le permite utilizar el espacio exactamente a medida de la necesidad. Los metadatos están orgnizados en una estructura de árbol ordenado bastante sofisticada (B+Tree E.1.8.2), que además de gestionar los metadatos, almacena y comprime los despuntes (trozos de fichero que no alcanzan a ocupar un cluster).

● smb: Otro sistema de ficheros de red, que soporta SMB ("Server Message Block"), un protocolo utilizado por Windows para trabajo en grupo (Windows 3.1); Windows NT, y Lan Manager de IBM. Permite compartir ficheros; impresoras; puertos serie y otras abstracciones utilizadas para comunicación entre ordenadores, como tuberías y buzones de correo.

● sysv: Es una implementación Linux del sistema de ficheros SystemV de Unix.

Page 468: 6721122 D057 Tecnologia Del PC

Soporta las variedades Xenix FS (versión Microsoft de Unix); SystemV/Coherent; SystemV/386 y Coherent FS.

● xfs: En concordancia con la política de apoyo a Linux emprendida por algunas grandes compañías, Silicon Graphics, más conocida como SGI, ha distribuido una versión Linux de su sistema de ficheros XFS, diseñado originariamente para sus sistemas IRIX. En concordancia con sus orígenes, se trata de un sistema "journalista" de altas prestaciones, que soporta bitácora o registro de las transacciones con los metadatos [3], así como "granjas" de discos ("disk farms") extremadamente grandes. Uno de estos sistemas es capaz de gestionar 18,000 Petabytes (1015 bytes E1.7.1) y un solo fichero puede alcanzar 9,000 Petabytes.

● xiafs: Fue otra extensión del sistema de ficheros inicial (Minix) con intención de mejorar sus conocidas deficiencias. Su desarrollo y mantenimiento fueron abandonados a partir de la versión 2.1.21 del kernel.

● squashfs: un sistema de ficheros de solo-lectura altamente comprimido, implementado como un módulo del kernel bajo VFS ("Virtual File System"). Puede ser útil en aplicaciones embebidas que requieran gestionar gran cantidad de datos de forma eficiente.

El seudo-fichero /proc/filesystems contiene información sobre los módulos cargados por el kernel de Linux. Puede utilizar el comando cat /proc/filesystems para inspeccionar su contenido. Si ejecuta el comando, seguramente verá (entre otras) las siguientes líneas:

ext2minixiso9660vfat

Page 469: 6721122 D057 Tecnologia Del PC

§6 OS/2

Este sistema operativo de IBM también fue popular dentro de ciertos círculos del mundo PC. Principalmente clientes corporativos de la compañía. Utiliza un sistema de archivos específico denominado HPFS ("High Performance File System") que permite nombres de ficheros de hasta 254 caracteres y soporta la coexistencia de varios sistemas de fichero en el mismo equipo utilizando distintos dispositivos. En especial unidades FAT12 y FAT16. Su utilidad de formateo permitía seleccionar entre el modo FAT y el HPFS vernáculo.

Las versiones 1 y 2 se denominaron OS/2, mientras que la 3 apareció bajo el nombre OS/2 Wrap. Aparte de los programas escritos específicamente para él, el sistema permitía ejecutar programas DOS y Windows. Desde luego era superior técnicamente a los Windows de la época. Resultaba casi imposible "colgarlo", cosa que distaba mucho de ocurrir con aquellas versiones de Windows, famosas por sus pantallas azules BSoD ("Blue Screen of Death"), y podía instalarse sobre una máquina DOS, Windows 3.1/3.11, o Windows for Workgroups 3.1/3.11, sin perder la posibilidad de ejecutar las aplicaciones de estos sistemas. Disponía incluso de un sistema de carga dual que permitía arrancar en OS/2 o en DOS. Incluía un "BonusPack" que, ya en 1994 (entre otras) incluía IBM Internet Connection, una utilidad que permitía: "enviar correos electrónicos, acceder a tablones de anuncios, buscar información, conectar con otros sistemas y transferir archivos a su sistema" [5].

Nota: recordemos que solo cuatro años antes, en Noviembre de 1990, Tim Berners-Lee había publicado la primera página Web de la historia, y que seguramente el "BonusPack" es anterior a 1994. Me he basado en la documentación escrita que conservo al respecto. Pero seguramente cuando pude hacerme con él ya circulaba desde algún tiempo atrás.

A diferencia de los sistemas FAT, HPFS ordena su información en base a los nombres de fichero, al tiempo que utiliza una estructura más eficiente para organizar sus directorios. Como consecuencia, se consigue un acceso más rápido y un mejor aprovechamiento del espacio que en aquellos. Su unidad de almacenamiento es el sector, y para controlar cuales han sido utilizados y cuales no, divide el espacio del volumen en bancos de 8 MB que contienen 2 KB de metadatos ("allocation bitmaps") entre ellos. Esta organización mejora el rendimiento disminuyendo los movimientos ("seeking") de cabezas. Ya que estas no

Page 470: 6721122 D057 Tecnologia Del PC

necesitan volver a la pista cero cada vez que el SO necesita informarse del espacio disponible o de la situación de un fichero.

Nota: En realidad OS/2 ("Operating System 2") comenzó siendo desarrollado por Microsoft, por encargo de IBM, como sustituto (versión gráfica) de los sistemas IBM/MS-DOS, así que debía poder leer los ficheros anteriores. Posteriormente ambas empresas cancelaron estos acuerdos. IBM terminó utilizando OS/2 en sus clientes corporativos (tuvo muy pequeña aceptación entre el gran público), y Microsoft siguió un camino independiente desarrollando su primer propio sistema al que denominó Windows.

§7 Macintosh

El sistema de la manzana utiliza para organizar datos en discos duros y disquetes es un sistema de archivos denominado HFS ("Hierarchical File System").

§8 Netware

Este Sistema operativo de Novell utiliza un sistema de ficheros denominado NFS ("Netware File System"), que fue diseñado específicamente para servidores de red.

Inicio.

[1] Este es quizás el único punto en contra, razón por la cual no era tan utilizado como los sistemas FAT hasta que Microsoft empezó a utilizarlo como sistema por defecto en algunas versiones avanzadas de Windows.

[3] En estos casos, la literatura inglesa suele utilizar el término "jorunalism", cuya traducción literal al español es periodismo. Sin embargo hemos preferido utilizar los términos "registro" o "bitácora" porque reflejan más exactamente la actividad realizada por estos sistemas.

Page 471: 6721122 D057 Tecnologia Del PC

[4] Este espacio determina el número máximo de directorios y ficheros podrá contener la unidad posteriormente.

[5] Naturalmente, igual que en la actualidad (2005), la conexión exigía un proveedor de servicios de Internet PSI. El problema era que en estas fechas, los escasísimos proveedores de tales servicios solo eran accesibles (al menos para mí) mediante módem y llamadas a larga distancia.

[6] "As most of you know, for me MINIX is a hobby, something that I do in the evening when I get bored writing books and there are no major wars, revolutions, or senate hearings being televised live on CNN. My real job is a professor and researcher in the area of operating systems"...

..."I think the real issue is something else. I've been repeatedly offered virtual memory, paging, symbolic links, window systems, and all manner of features. I have usually declined because I am still trying to keep the system simple enough for students to understand". Andrew S. Tanenbaum en "Linus vs. Tanenbaum" http://people.fluidsignal.com/~luferbu/misc/Linus_vs_Tanenbaum.html

[7] Una máquina de General Electric con palabra de 32 bits y direcciones de 18 bits, que alrededor de 1965 era competencia de los modelos de la IBM. Pertenecía a lo que entonces se consideraban ordenadores para "aplicaciones científicas", ya que las destinadas a "aplicaciones de gestión" simplemente no existían. Lo más avanzado eran unos artilugios electro-mecánicos con el pomposo nombre de "facturadoras-contables" que mantenían la contabilidad en cartulinas de papel con un registro impreso y otro electrónico en una banda magnética lateral (algo parecido a las libretas de ahorro de algunas entidades bancarias actuales).

Inicio

Page 472: 6721122 D057 Tecnologia Del PC

Tecnología del PC[Home] [Inicio] [Índice]

Subir

8.1.2a1 Sistemas FAT y NTFS

§1 Introducción

En este capítulo abordaremos las características principales de los dos sistemas de ficheros utilizados por Microsoft en sus sistemas DOS y Windows: FAT y NTFS.

Nota: Aparte de los anteriores, el gigante del software ha producido también versiones de Unix (Xenix) cuyo sistema de ficheros es distinto de los aquí comentados.

§2 Sistemas FAT

En el capítulo anterior ( 8.1.2a) adelantamos que los sistemas FAT son los sistemas de fichero utilizados en DOS y primeras versiones Windows de Microsoft. La característica principal (a la que deben su nombre), es que el estado de cada unidad de información del dispositivo, está reflejado en un catálogo denominado tabla de situación de ficheros FAT ("File Allocation Table"). Esta tabla es muy importante porque es el índice del contenido del disco. Cualquier error aquí puede convertir la unidad en inutilizable, razón por la que está duplicada. Ambas copias ocupan lugares consecutivos en los primeros sectores del disco. Justamente a continuación del primero, el VBS ("Volume Boot Sector" 8.1.2c2) que tiene un mapa con la geometría del volumen (en ocasiones hay un espacio entre el VBS y las FAT).

Page 473: 6721122 D057 Tecnologia Del PC

No hace falta decir que en unidades de gran capacidad, la tabla es necesariamente muy grande. Generalmente se carga en memoria para agilizar los procesos, ya que es de uso constante y cualquier operación de lectura/escritura tiene que utilizarla. En consecuencia, se han ingeniado métodos para que estos índices ocupen el menor espacio posible.

§2.1 Tablas FAT

Los sistemas FAT y muchos otros, utilizan un método de grabación que agrupa varios sectores en una misma unidad ("Allocation unit") también llamada cluster, traducida al español como unidad de asignación, a la que ya hemos hecho referencia 8.1.2). Esta es la menor unidad de grabación lógica que utiliza el Sistema en la unidad, de forma que un fichero se grabará siempre utilizando un número entero de clusters.

Todos los sistemas FAT han utilizado tamaños de cluster dependientes del tamaño de la unidad. En los disquetes ha sido de 1 o 2 sectores por cluster, es decir, 512 o 1024 bytes (ver tabla 8.1.2). El primer disco duro de 10 MB del IBM PC-XT utilizaba cluster de 8 sectores.

Nota: En realidad, desde la óptica del aprovechamiento de espacio, la agrupación en clusters no es muy buena idea. Por ejemplo, un disco formateado con una unidad de asignación de de 8 sectores (4.096 bytes) ocupa necesariamente esta cantidad para cualquier fichero por pequeño que sea, aunque los sistemas utilizan miles de ficheros de tamaño menor. Sin embargo ayuda a mantener el tamaño de las FAT dentro de límites razonables [1].

El sistema de anotación utilizado en la FAT (inspirado en UNIX) es una estructura encadenada jerárquica donde cada eslabón apunta al siguiente. Para entenderla del todo hacen falta un par de conceptos y vocabulario previos.

El primero es que en la tabla existe un campo o celda (de 12, 16 o 32 bytes) por cada cluster del volumen [5]. Su contenido lo llamaremos entrada. El campo n de la FAT representa el cluster n del volumen -no confundir la "entrada" (un valor de 12, 16 o 32 bytes),

Page 474: 6721122 D057 Tecnologia Del PC

con el contenido del cluster al que representa (un campo de 512 bytes como mínimo).

El segundo se refiere a qué son los directorios y como está organizada su estructura. En realidad los directorios son un tipo especial de fichero, que en lugar de datos de usuario, contienen metadatos (punteros a otros ficheros). En cualquier caso, como cualquier otro fichero, sus "datos" están en el área de datos del disco, y a cada sector de información le corresponde una entrada en la FAT (dedicaremos todo un capítulo a explicar la estructura interna de estos ficheros especiales 8.1.2d).

El número del primer cluster de cada fichero, junto con otros datos del mismo, se anota como "entrada" en "su" directorio. A su vez, la entrada correspondiente a dicho primer cluster, contiene la dirección (número) de segundo cluster del fichero, cuya entrada contiene la dirección del tercero, etc. El proceso se repite sucesivamente con todos los cluster del fichero hasta llegar al último, cuya entrada no puede contener el número del siguiente, porque no existe, de forma que contiene una marca especial EOF ("End of file") de final de fichero. Las entradas de clusters que no corresponden a ninguna cadena, sin utilizar o "liberados", tienen un contenido especial (cero). Y las que corresponden a clusters con bytes malos o reservados, también contienen valores de significado especial.

Esta organización ha originado que en algunos manuales se afirme que en las FAT existen dos tipos de entradas: de fichero y de cluster. En cuanto a los últimos, cada cluster tiene una entrada en la FAT que señala su estado, además de un sistema que permite que el SO pueda saber que zona del disco está ocupada y cual libre; así como un sistema de referencias en cadena que permite conocer qué clusters componen un determinado fichero.

El sistema para recuperar (leer) un fichero es algo parecido a sacar cerezas de un cesto. Aún suponiendo que la tabla FAT haya sido leída en memoria, como el número del primer eslabón de la cadena (el primer cluster de un fichero) se obtiene del directorio, el acceso a este primer bloque de datos requiere al menos, dos accesos: al directorio que lo contiene, y a los datos del fichero en sí. Si en lugar del directorio raíz, el fichero está en el interior de una cadena de subdirectorios, cada nivel de anidamiento puede requerir un acceso adicional a disco. En cambio los bloques sucesivos se leerán directamente siguiendo la cadena de direcciones señalada en la FAT.

Page 475: 6721122 D057 Tecnologia Del PC

Nota: Como puede suponerse, el sistema presenta algunos inconvenientes. Por ejemplo, si se rompe la cadena en un punto, el resto del fichero se pierde. Si el punto de ruptura es un directorio, entonces se pierde todo su contenido. Estos y otros errores de las FAT serán comentados más adelante al tratar de la estructura de directorios ( 8.1.2d)

Las dos primeras entrada de la FAT (los tres primeros bytes en FAT12) tienen un significado especial, de forma que la anotación de clusters se realiza a partir del tercero (a partir del número 2 si como es costumbre, empezamos a contar por cero). Como veremos a continuación, al tratar de la FAT12, lar razón es de tipo histórico.

Recordando que existen distintas variedades del sistema: FAT12; FAT16 y FAT32, que utilizan distinto número de bits para apuntar los números de cluster. Se deduce que dependiendo del espacio de anotación disponible, un sistema FAT puede direccionar un máximo determinado de clusters. Los valores son: 4.096 (212) para FAT-12; 65.536 para la FAT-16 (216) y 4.294.967.296 (232) para FAT-32. Sin embargo no todas las posiciones están disponibles. Hay que restar algunas los números anteriores, que como hemos adelantado, se utilizan para indicar situaciones especiales tales como:

El cluster está desocupado o "liberado" (no está siendo utilizado por ningún fichero) Cluster malo (no debe utilizarse)Último cluster del fichero ("End Of File")

Además FAT-32 no utiliza todos los bits (4 están reservados). Cualquier valor que no corresponda con alguno de los significados especiales debe interpretarse como el próximo número FAT en la cadena del fichero que se examina.

§2.2 FAT-12

En realidad los primeros PCs, que solo disponían de un disquete de 160 KB y una cara, gobernados por el IBM-DOS 1.0, no utilizaban el sistema FAT, sino uno derivado de CP/M

Page 476: 6721122 D057 Tecnologia Del PC

Gary Kildall. Sin embargo, las exigencias de almacenamiento se dispararon enseguida. El primer disco duro instalado en el XT tenía capacidad para 10 MB y el del AT era ya de 20 MB. Como el sistema de ficheros utilizado por CP/M era ineficiente y complicado (el disquete solo podía contener un directorio con 64 entradas), había que buscar en otra dirección.

El sistema FAT-12, inspirado en el sistema de ficheros de Unix [4], que utiliza 12 bits para el índice de clusters, apareció a partir de MS-DOS 1.1 hasta 2.x. Aunque también se utilizó en versiones 3.00 y posteriores si el dispositivo tenía menos de 4087 clusters. A partir de esta cantidad se usa la versión FAT de 16 bits. Cada entrada de la tabla corresponde directamente con un cluster utilizable en el volumen.

En este sistema cada número de cluster se almacena en la FAT en forma de tres dígitos hexadecimales, en el rango 000h/FFFh (0/4095). Como estas cantidades necesitan 12 bits, para aprovechar espacio, las entradas se agrupan por parejas que ocupan tres bytes, de los que cada entrada utiliza 1+½. Los valores posibles son:

002-FEFh Cluster en uso000h Cluster está desocupado o liberado (no es utilizado por ningún fichero) 001h No utilizado (el primer cluster de datos es el 2).FF0-FF6h ReservadosFF7h Cluster malo (no debe utilizarse)FF8-FFFh Último cluster del fichero ("End Of File")

Recordar que en este sistema, los dos primeros campos de la tabla (3 bytes), que corresponden a las entradas FAT 0 y 1, no se utilizan para almacenar direcciones de cluster. El primero byte contiene una copia del "Media descriptor" ( 8.1.2c2). Los dos siguientes contienen 0FFh. A su vez los clusters de datos comienzan en el número 2 (el 0 y el 1 no se utilizan).

Nota: La razón es de tipo histórico. El sistema de ficheros del DOS 1.0 no tiene bloque

Page 477: 6721122 D057 Tecnologia Del PC

de parámetros BIOS (BPB 8.1.2c2), y la distinción entre los disquetes de 5.25" de simple o doble cara (320/640 KB) debía indicarse en la FAT. A partir del DOS 2.0 la FAT incluyó el BPB con el "Media descriptor".

Más información en:

● How to Interpret 12-Bit FATs http://support.microsoft.com/

§2.3 FAT-16

En este sistema, utilizado a partir de MS-DOS 3.0, cada cluster está representado en la FAT por un número de 16 bits en forma de 4 dígitos hexadecimales (0000h/FFFFh), con lo que el disco puede tener un máximo de 216 = 65.536 unidades de asignación. Los valores posibles para las entradas de la tabla son:

0002-FFEFh Cluster en uso. El valor señala el número del siguiente cluster del fichero0000h Cluster libre 0001h No utilizado (el primer cluster de datos es el 2).FFF0-FFF6h ReservadosFFF7h Cluster maloFFF8-FFFFh Último cluster del fichero ("End Of File")

El modelo resultaba muy adecuado para discos pequeños, pues con clusters de solo 256 bytes se pueden conseguir capacidades de 256 x 65.536 = 16 MB, o de 33 MB con clusters de 512 bytes. Sin embargo, para discos de 2 GB el cluster tenía que ser de 32 KB. Tamaño que se considera el límite superior razonable para cada unidad de asignación.

Esté sistema tiene dos inconvenientes: en primer lugar el tamaño máximo de 2 GB, cuando actualmente ya es común ver discos duros de 8 GB [3]. El segundo es el espacio desperdiciado. Cada fichero que se almacena en el disco ocupa los clusters completos que

Page 478: 6721122 D057 Tecnologia Del PC

necesita, por lo que si el fichero tiene un tamaño de 2 KB, ocupará un cluster de 32 KB, desperdiciando 30 KB. Si es de 66 KB, ocupará tres clusters = 96 KB, desperdiciando 31 KB. Si se tienen en cuenta que en una partición de 2 GB caben miles de ficheros, y estimamos que se desperdicia una media de 16 KB por fichero, si el disco tiene unos 8.500 archivos estaremos desperdiciando 132 MB. El problema se agrava si consideramos que cuantos más ficheros pequeños tengamos, más espacio se desperdicia y que por ejemplo, los sistemas Windows utilizan cientos de pequeños ficheros.

§2.4 FAT-32

Fue introducido con Windows 95b y con el SO DOS v.7.x que venía incluido con él. La razón de su lanzamiento fue que el tamaño de los discos crecía sin parar y que, como se ha señalado, el FAT-16 tradicional no permitía hacer particiones de mas de 2 GB, so pena de utilizar clusters muy grandes, lo que a su vez era contraproducente.

Microsoft denominó al nuevo sistema Virtual FAT (VFAT) e incorporó algunas mejoras, como la posibilidad de utilización de nombres largos para los ficheros y directorios. Pero VFAT es un sistema de ficheros básicamente igual que los FAT anteriores, la mayoría de las implementaciones se basan mas en "como" se usa el sistema que en cambios estructurales.

Aunque nominalmente utiliza una FAT de 32 bit, en realidad los 4 superiores están reservados. Los 28 restantes permiten direccionar 228 = 268.435.456 clusters. Lo que se traduce en que aún utilizando el tamaño mínimo de cluster, que es de 8 sectores (4.096 Bytes), se pueden tener particiones de hasta 1.07 TB (1.073 · 1012 bytes), aunque en realidad, FAT-32 utiliza clusters de 4096 a 32768 bytes (8/64 sectores)

Frente a FAT-16 posee la ventaja de no utilizar un tamaño fijo para la tabla de entradas, lo que permite introducir cualquier número de sub directorios y archivos en el directorio raíz. La contrapartida es que se aprecia una considerable pérdida de prestaciones frente a la FAT 16. En concreto aparecen pérdidas de del orden de un 5% de prestaciones al convertir un disco de FAT 16 a FAT 32, notándose más en los ficheros más pequeños. Hay que resaltar que la versión OSR2 (Windows95 OEM Service Release 2) es, en general, más lenta de acceso a disco que la anterior.

Page 479: 6721122 D057 Tecnologia Del PC

En principio las particiones FAT-32 solo eran accesibles desde Windows 95b y desde Dos 7.x. Ningún otro sistema operativo podía leerlas, siquiera Windows NT. Las utilidades de disco anteriores no servían para esta, así que Windows 95b traía sus propias versiones de FDisk, Format, ScanDisc y Defrag que trabajan con las particiones FAT 32.

Con Windows98-2E, Microsoft introdujo una nueva versión de su sistema FAT-32 con las siguientes mejoras respecto a las implementaciones anteriores:

● Admite unidades de hasta 2 TB (Terabytes) de tamaño.

● Utiliza clústeres menores que las versiones FAT anteriores. Es decir, clústeres de 4 KB para unidades de hasta 8 GB de tamaño, lo que da como resultado un uso de entre el 10 y el 15 más eficiente del espacio de disco con respecto a las grandes unidades FAT16.

● Puede reubicar el directorio raíz y utilizar la copia de seguridad de la FAT en lugar de la copia predeterminada. Además, se ha ampliado el registro de inicio de las unidades FAT32 para incluir una copia de seguridad de las estructuras de datos críticas. Esto significa que las unidades FAT32 son menos susceptibles a un único punto de fallo que los volúmenes FAT16 existentes.

● El directorio raíz de una unidad FAT32 es ahora una cadena normal de clústeres, por lo que puede ubicarse en cualquier lugar de la unidad. Por ello, ya no existen las limitaciones anteriores sobre el número de entradas del directorio raíz.

Los Sistemas Operativos de Microsoft distinguen el tipo de FAT (12-16-32) utilizado en un volumen mediante la siguiente regla (los valores mencionados pueden obtenerse o deducirse directamente del BIOS Parameter Block del sector de carga del volumen 8.1.2c2): - Se obtiene el número total de sectores en el volumen- Se le resta el espacio de sectores reservados- Se le resta el espacio ocupado por las FAT

Page 480: 6721122 D057 Tecnologia Del PC

- Se le resta el espacio ocupado por el directorio raíz.- El total anterior se divide por el número de sectores en un cluster redondeando hacia abajo. El resultado R es el número de clusters en el área de datos.

● R < 4085 ------> FAT-12

● R < 65525 ------> FAT-16

● R > = 65525 ------> FAT-32

§3 NTFS

Como se adelantó al tratar de los sistemas de ficheros ( 8.1.2a), Windows NT fue diseñado desde el principio para ser un sistema operativo de red y multitarea que rompiese definitivamente cualquier nexo con sus ancestros MS-DOS, para lo que se diseñó un nuevo sistema de ficheros partiendo de un diseño radicalmente nuevo (no se trata por tanto de un nuevo carrozado de las FAT anteriores).

El sistema resultante, denominado NTFS ("New Technology File System") es un sistema muy robusto que permite compresión de ficheros uno a uno; un protocolo de autorización de uso y de atributos de fichero muy desarrollado; sistema de operación basado en transacciones; soporte RAID [2]; posibilidad de juntar las capacidades de dos unidades en un volumen único ("Disk striping") y muchas otras mejoras, como es la capacidad de anotar clusters malos ("Hot fixing") en run-time.

Su última versión, la denominada NTFS 5, incorporada en Windows 2000, dispone de algunas otras características avanzadas, como soporte de encriptación de ficheros incorporado en el propio SO; propiedades de ficheros basados en identificadores persistentes de usuario (ya no es necesario identificar a los ficheros mediante sus terminaciones), e identificación única de todos los objetos del sistema de archivos que permite, entre otras cosas, que un archivo pueda ocupar distintos volúmenes (ficheros multivolumen). Aunque naturalmente estas prestaciones cobran su tributo. NTFS utiliza

Page 481: 6721122 D057 Tecnologia Del PC

meta-estructura muy grandes ( 8.1.2a) por lo que no es aconsejado para volúmenes de menos de 400 GB.

La estructura central de este sistema es la MFT ("Master File Table"), de la que se guardan varias copias de su parte más critica a fin de protegerla contra posibles corrupciones. Al igual que FAT16 y FAT32, NTFS también utiliza agrupaciones de sectores (clusters) como unidad de almacenamiento, aunque estos no dependen del volumen de la partición. Es posible definir un cluster de 512 bytes (1 sector) en una partición de 5 MB o de 500.000 MB. Esta capacidad le hace disminuir tanto la fragmentación interna como la externa [1].

§4 Resumen

A partir de Windows98-SE, con las nuevas versiones de Windows, Microsoft ha mantenido posibilidad de acceso a la información anterior de los usuarios (contenidos FAT), aunque ha establecido como formato por defecto NTFS, que comenzó a utilizar como sistema de ficheros de gama alta con Windows NT. La tabla adjunta muestra la compatibilidad de los distintos sistemas de fichero con los SOs de Microsoft.

Sistema NTFS FAT-16 FAT-32

Accesibledesde:

Windwos 2000. Windows NT 4.0 con Service Pack 4 o posterior.

Todas las versiones de MS-DOS a partir de la ; todas las versiones de Windows; Windows NT; Windows 2000 etc.

Windows 95 OSR2; Windows 98 y Windows 2000.

Versiones MS-DOS v.7.x

Page 482: 6721122 D057 Tecnologia Del PC

Tamaño devolúmenes yficherossoportados

El tamaño mínimo recomendado para la partición es de 10 MB.

Aunque son posibles tamaños mayores, el máximo recomendado en la práctica para cada volumen es de 2 TB (Terabytes).

No puede ser utilizado en disquetes.

El tamaño máximo de fichero viene limitado por el tamaño del volumen.

Desde el tamaño de un disquete hasta 4 GB.

El tamaño máximo por fichero es de 2 GB.

Tamaño del volumen desde 512 MB a 2 TB (Terabytes).

Windows 2000 solo permite formatear volúmenes FAT-·" hasta 32 GB.

Tamaño máximo de fichero 4 GB.

Nota: las versiones MS-DOS 7.x pueden leer ficheros FAT-32 cuyo tamaño no sobrepase 2 GB.

§5 Webografía

● nfts.com www.ntfs.com

Aparte de la Web de Microsoft, puede encontrar información sobre los sistemas de ficheros NTFS y FAT en este sitio.

Inicio.

[1] La existencia de clusters no utilizados por completo (con espacios desocupados), es conocida también como fragmentación interna, en contraposición a la fragmentación externa, que se refiere a la situación en que los clusters de un fichero no ocupan posiciones

Page 483: 6721122 D057 Tecnologia Del PC

contigua. En una exploración realizada sobre una unidad FAT-32 de 4 GB, que utiliza un cluster de 8 sectores (4.096 bytes) cargada con el SO Windows 98 y una serie de utilidades de explotación normal (procesador de textos, hoja de cálculo, navegador, correo, etc). Se encontró que el espacio desaprovechado por clusters medio vacíos representaba un 13.21% sobre un total ocupado del 59.26%. La misma exploración, realizada sobre una unidad de backup de 300 GB con un sistema de ficheros FAT-32 y un cluster de 64 sectores (32.768 bytes), encontró que con un 5.43% de la capacidad total utilizada, el espacio desaprovechado representaba el 0.74%.

[2] RAID("Redundant Array Inexpensive Disk"). Sistema de varios discos duros que trabajan de forma conjunta (usualmente en sistemas servidores de red) con objeto de conseguir elevadas prestaciones del sistema y gran tolerancia y seguridad contra fallos. Existen diversos tipos estandarizados (formas de operación), Raid 0 a Raid 5 y finalmente la filosofía cluster, en la que se duplican los equipos completos. Un Cluster es un conjunto de equipos que comparten el almacenamiento de discos duros. Los componentes de un cluster, llamados nodos, funcionan de cara al usuario de manera única, desempeñando las tareas que tienen asignadas, generalmente la carga total se reparte entre los diversos nodos del cluster (es su principal misión) mediante un mecanismo repartidor de la carga (balanceador de carga). En caso de fallo de un nodo, los demás atiendan su parte de proceso. Es evidente que para que esto sea posible, los nodos tienen que tener un almacenamiento externo común, los discos duros son comunes a todos los nodos del cluster.

[3] El original del manuscrito debe ser de 2002, ahora cuando lo releo en 2005, el tamaño estándar de los discos duros alcanza varios cientos de Gigas.

[4] Esta herencia se deja sentir todavía en la forma de señalar el camino de búsqueda de los ficheros ("pathname") en los sistemas Windows, que utilizan una barra invertida " \", mientras que los sistemas Unix utilizan la barra inclinada "/".

[5] Un volumen es una parte del disco relativamente independiente de las demás. Un disco puede ser particionado en uno o varios volúmenes. Cada uno con su propio formato lógico distinto del resto. Y en consecuencia, su propia tabla FAT. Explicaremos detenidamente esta cuestión en el capítulo siguiente ( 8.1.2c1).

Page 484: 6721122 D057 Tecnologia Del PC

Tecnología del PC[Home] [Inicio] [Índice]

Subir

8.1.2a2 Sistemas UNIX/Linux

§1 Introducción

En este capítulo explicaremos las características del sistema de ficheros utilizado en UNIX/Linux. Debemos advertir que en ambos, especialmente en Linux, se utilizan distintos tipos de "filesystems", aunque probablemente el denominado Second Extended File System Ext2 FS (o simplemente ext2) sea el más utilizado. En consecuencia, nos centraremos en él para nuestra descripción. Debemos recordar también que tiene alguna semejanza con los sistemas FAT, ya que como señalamos en el capítulo correspondiente ( 8.1.2a), este diseño de Microsoft se inspiró precisamente en el sistema de ficheros UNIX.

Suponemos que el lector ya está familiarizado con los sistemas FAT y su estructura de directorios y ficheros. De no ser así recomendamos la lectura previa de los capítulos correspondientes: Sistemas FAT & NTFS ( 8.1.2a1) y Estructura jerárquica de un volumen ( 8.1.2d).

§2 Historia

Los sistemas UNIX, de los que existen distintas variantes o "sabores", nacieron en ambientes académicos y de investigación, pensados para máquinas grandes que debían ser utilizadas por muchos usuarios. En consecuencia, sus mecanismos de protección y cooperación entre

Page 485: 6721122 D057 Tecnologia Del PC

grupos de trabajo están muy desarrollados, y sus sistemas de ficheros (FS) cuidan especialmente los aspectos de propiedad y privilegios sobre ficheros y directorios (quién puede hacer qué cosas sobre ellos). En consecuencia, los ficheros y directorios tienen más atributos que en los sistemas FAT.

Como hemos señalado ( 8.1.2a) Linux se inspiró en Minix, un dialecto simplificado de UNIX, del que tomó su FS "tal cual" (sin modificación). Sin embargo, el FS de este último adolecía de conocidas deficiencias. Principalmente que su sistema de anotación de bloques es de 16 bits, lo que limita su capacidad a 216 = 65.536 bloques; que el número de entradas por directorio es fijo, y que el tamaño máximo para los nombres es de 14 caracteres.

La popularización de Linux puso rápidamente en evidencia la necesidad de mejorar su FS. La propuesta más afortunada fue el sistema extendido de ficheros Ext FS Extended File System, aparecido en Abril de 1992 con el kernel 0.96c. Posteriormente fue sometido a una revisión en profundidad que dio lugar en Enero de 1993 a la versión Alfa del Second Extended File System (Ext2 FS) que a la presente (2006) se ha convertido en el sistema más utilizado en las distribuciones Linux y que ha sido objeto de sucesivas revisiones. La última ha consistido en dotarlo de características "Journaling", y ha dado lugar al Ext3 FS.

§3 Características generales

En los FS UNIX, los metadatos ( 8.1.2a) están contenidos en estructuras denominadas inodes , y al igual que en los sistemas FAT, los directorios son ficheros cuyos datos contienen información sobre otros ficheros. Una característica distintiva es que cada fichero pertenece a un usuario y a un grupo propietario Otra característica distintiva es que los dispositivos de E/S están representados por ciertos ficheros especiales (pseudo-ficheros). De forma que las operaciones de E/S con los periféricos se virtualizan como operaciones de lectura/escritura en estos ficheros.

Existen cuatro tipos de ficheros: los regulares o normales (que responden al concepto tradicional de contenedor de datos de usuario); directorios (con información sobre otros ficheros); ficheros de dispositivo ("Device files") y enlaces simbólicos ("Symbolic links").

Page 486: 6721122 D057 Tecnologia Del PC

Estos últimos no tienen contrapunto en los sistemas MS-DOS, aunque si en Windows 9x y siguientes; son los denominados accesos directos.

§4 Usuarios y permisos

Para entender algunas de las características de los sistemas de ficheros UNIX/Linux, se hace imprescindible tener algunas nociones sobre el sistema de seguridad y privilegios de estos Sistemas Operativos.

El sistema de seguridad de los SO Unix y sus derivados como Linux, se basa en tres conceptos fundamentales: usuario; grupo y permisos. Cada fichero pertenece a un usuario ("Owner") y a un grupo.

Nota: No olvidemos que en este contexto, el término "fichero" incluye también a los directorios (un tipo especial de fichero).

§4.1 Usuario

Para poder utilizar el sistema es preciso que el administrador nos de "de alta" en él. O dicho en otras palabras: que nos cree una "cuenta", lo que incluye la asignación de una identificación UID ("User Identification"), un número distinto para cada usuario; unas claves de acceso ("login name" y "password"), y detalles de las características de acceso (qué podemos y no podemos hacer en el sistema).

§4.2 Grupo

Para facilitar la administración de los usuarios, estos se reúnen en grupos de características de acceso similares identificados por un número GID (" Group Identification"). Cada usuario pertenece a uno o varios grupos. Como hemos señalado, dados los orígenes de UNIX, el concepto de grupo está íntimamente unido al de "grupo de trabajo".

Page 487: 6721122 D057 Tecnologia Del PC

Nota: Internamente, tanto los usuarios como los grupos son identificados por números; la identificación UID 0 corresponde a un usuario privilegiado, tradicionalmente denominado root. En la mayoría de sistemas Unix, estos privilegios están reservados al administrador del sistema que puede hacerlo todo, incluso dar permisos a otros usuarios. En algunos sistemas Unix, el grupo GID 0 es también especial, ya que permite acceso sin restricciones a nivel de grupo. Esto no es cierto en Linux, pero incluso en este sistema, el grupo 0 es especialmente importante porque la mayoría de ficheros críticos del propio sistema pertenecen a este grupo.

§4.3 Permisos

Cada fichero del sistema tiene ciertos atributos conocidos como permisos ("Permissions"), que indican qué puede hacerse con el fichero y por quién. Existen tres tipos de permisos: de lectura; de escritura y de ejecución, representados por las letras r, w y x (Read, Write y eXecute).

Los permisos anteriores pueden ser establecidos separadamente para cada ficheros respecto a los siguientes usuarios:

● Usuario ( u). El propietario del fichero

● Grupo ( g ). El grupo propietario del fichero

● Usuarios ( o ). El resto de usuarios autorizados del sistema ("Others")

Es importante señalar que los permisos de los enlaces simbólicos ("links") no se utilizan. En su lugar se utilizan los del fichero o directorio al que apuntan. Además, el significado de los permisos r, w y x es ligeramente distinto si se aplica a un directorio o a un fichero. El significado en ambos casos es el señalado en la tabla adjunta.

Atributo Significado en un fichero Significado en un directorio

Page 488: 6721122 D057 Tecnologia Del PC

r Permiso de lectura: el fichero puede ser leído y copiado.

Permiso de lectura: el usuario puede inspeccionar su contenido (ver que ficheros y subdirectorios contiene)

w Permiso de escritura: el contenido puede ser modificado o borrado.

Permiso de escritura: el usuario puede crear, renombrar o añadir ficheros en el directorio.

x Permiso de ejecución: en el supuesto de que el fichero sea ejecutable, puede ser llamado a ejecución.

Permiso de ejecución: puesto que los directorios no pueden ser ejecutados en el mismo sentido que los ficheros, este permiso se refiere a la posibilidad de efectuar búsquedas en él y hacerlo el directorio de trabajo, y acceder a cualquier fichero o subdirectorio.

Nota: observe que en los mundos Unix; Linux; Windows NT (actualmente W 2000) y similares, el sistema de acceso es totalmente distinto del mundo DOS (sistemas de archivo FAT 32), donde el usuario que gana acceso a la máquina, tiene acceso y permisos ilimitados sobre la totalidad de sus ficheros.

§5 El Sistema Virtual de Ficheros

La versatilidad de Linux respecto a los FS se debe a que el núcleo utiliza un sistema de ficheros virtual VFS ("Virtual File System"), que actúa como una capa intermedia entre las llamadas de las aplicaciones y el módulo que realmente se encarga de las transacciones con el hardware. Estos módulos son independientes del kernel y reemplazables [1].

Page 489: 6721122 D057 Tecnologia Del PC

fig. 1.

Nota: La tendencia en el diseño de Sistemas Operativos es, que gran parte de su funcionalidad se concrete en módulos externos al kernel, que son cargables según las necesidades del momento. En Linux estos módulos pueden ser cargados y descargados en run-time [2].

La figura adjunta muestra el esquema de funcionamiento. En su interlocución con el Kernel, el proceso de usuario utiliza una interfaz homogénea que no cambia (interfaz del sistema de llamadas). A su vez, esta interfaz traslada las llamadas al módulo correspondiente a través del VFS. En la figura son los módulos ext2 y msdos, aunque puede cargarse cualquier otro sistema de ficheros que hayan sido incluido en la compilación del núcleo (señalados como "módulos externos" en la figura). Mientras no son cargados, estos módulos permanecen en el disco junto al resto de módulos del Kernel, como ficheros especiales.

Nota: generalmente en el directorio /lib/modules/nombre-sistema/ (puede ver cual es el nombre del sistema actual con el comando uname -r). Además de los módulos propiamente dichos, en este directorio existen ficheros cuyo nombre genérico es modules.*. Contienen información sobre dependencias, ya que algunos módulos requieren la carga previa de otros antes que ellos mismos puedan ejecutarse (estas dependencias pueden actualizarse con el comando depmod -a). Los ficheros del directorio anterior (y subdirectorios) que terminan en .o son módulos del Kernel

Page 490: 6721122 D057 Tecnologia Del PC

(aparecen como tipo "Objet Code").

§6 Organización física

En los FS Unix/Linux se utiliza el termino bloque en lugar de unidad de asignación (cluster) para referirse al conjunto de sectores que pueden leerse/escribirse en cada operación unitaria. Por lo general, al montar el sistema puede definirse su tamaño, que puede ser cualquier múltiplo de 2 del valor-base 1024 bytes (1024; 2048; 4096; etc), que corresponden a 2, 4, 8, ... sectores respectivamente. El tamaño de las meta-estructuras del sistema se ajusta al tamaño de bloque utilizado.

Nota: El tamaño de bloque no suele exceder de 4096 bytes. Además, aunque teóricamente también puede ser una fracción del valor-base, resultado de dividirlo sucesivamente por 2 (512, 256, 128, etc), lo que se denomina fragmentación de bloque, en la práctica no suelen utilizarse bloques menores de 1024 bytes.

La funcionalidad que en los sistemas FAT está encomendada al BPB ("BIOS parameters block") del sector de carga del volumen VBS ("Volume Boot Sector" 8.1.2c2), aquí está en una estructura denominada superbloque ("Superblock"). Aunque en realidad contiene metadatos, se considera que el superbloque es el primer bloque de datos del volumen, y está localizado siempre al principio del tercer sector. Es decir, comienza en el byte 1024. Otras característica es que los bloques están agrupados en conjuntos ("Blocks groups"). Su número depende del dispositivo; en un disquete puede haber un único conjunto de bloques mientras que en una unidad de varios Gigabytes pueden existir decenas de estas agrupaciones.

§8 Utilidades

Linux dispone de varias utilidades para el manejo de los sistemas de ficheros ext2 (consulte los manuales correspondientes para una explicación detallada de sus opciones y manejo):

● mke2fs. Crear un sistema de ficheros ext2 en una partición vacía. Equivale a la

Page 491: 6721122 D057 Tecnologia Del PC

utilidad format en los sistemas FAT.

● tune2fs. Una herramienta para usuarios avanzados que permite ajustar determinados parámetros de funcionamiento del sistema de ficheros ext2.

● dumpe2fs. Imprimir información sobre el superbloque y otros metadatos del sistema de ficheros ext2 instalado en un dispositivo.

● e2fsck. Comprobar la integridad del sistema de ficheros. Esta utilidad es capaz de detectar y corregir numerosas inconsistencias. Resulta especialmente útil después de una incidencia. Por ejemplo, un apagado imprevisto. Es el equivalente ext2 a la utilidad scandisk de los sistemas FAT DOS/Windows.

● debugfs. Es una herramienta de bajo nivel que permite examinar y modificar distintos aspectos de un sistema de ficheros ext2. Atención, debugfs puede resultar tan peligrosa como su homónima debug del DOS ( DEBUG). Por lo que no es aconsejable hacer pruebas con ella sobre un sistema de explotación.

● badblocks. Permite buscar bloques malos en una partición.

§9 Webografía

● Design and Implementation of the Second Extended Filesystem www.win.tue.nl

● The Second Extended File System www.win.tue.nl/

Inicio.

[1] Inicialmente Linux carecía del VFS, que fue escrito por Chris Provenzano y reescrito completamente por Thorwald antes de su inclusión en el Kernel.

Page 492: 6721122 D057 Tecnologia Del PC

[2] La utilidad lsmod permite inspeccionar el estado de los módulos del Kernel.

[4] El tiempo Unix se cuenta como el número de segundos desde el inicio de la época Unix (1 de Enero de 1970 00:00:00 GMT) hasta el momento actual. El acrónimo POSIX corresponde a "Portable Operating System Interface". Un conjunto de estándares IEEE diseñados para facilitar la portabilidad de aplicaciones entre los distintos dialectos Unix y Linux (el estándar IEEE 1003.2 define el shell y las utilidades; el IEEE 1003.4 define las extensiones de tiempo real).

[5] Para que Linux pueda utilizar el sistema de ficheros contenido en un volumen lógico, es necesario "montarlo". O dicho en otras palabras: declarar al Kernel que debe utilizarlo y cómo. Esta operación se realiza con la utilidad mount, y puesto que todos los ficheros de un sistema Unix/Linux están organizados en un único árbol de directorios alrededor de un tronco común representado por el directorio raíz "/", el comando mount debe especificar en qué punto del árbol general se insertará la nueva rama representada por el sistema de ficheros añadido.

[6] Como puede deducirse, el sistema ext2 es utilizado por distintos Sistemas Operativos. Además de Linux, están los siguientes: GNU/Hurd (un sustituto del Kernel de Linux); FreeBSD ( 8.1.2a); Masix (un SO distribuido que puede adoptar distintas "personalidades", de forma que puede correr aplicaciones escritas para cualquier sistema -Windows, Linux, DOS, OS/2, etc) y Lites.

Inicio

|Índice| Copyright © 2000-2006 Zator Systems. NO software patents

Page 493: 6721122 D057 Tecnologia Del PC

Tecnología del PC[Home] [Inicio] [Índice]

Subir

8.1.2c El Sector de Arranque

§1 Sector de arranque

De todos los sectores de una unidad de disco, el primero de la primera cabeza del primer cilincro (CHS 0,0,1), tiene una importancia y significado especial. Es el sitio al que se dirige la BIOS cuando busca si existe en el sistema un dispositivo cargable ( 4.3). Por esta razón se denomina sector de arranque MBR ("Master boot record") o bloque maestro de carga ("Master boot block"). Sus 512 bytes contienen tres bloques con información sobre la arquitectura física y lógica del disco: el Código maestro de carga ; la Tabla de particiones , y la Firma .

Nota: Debido a que los disquetes no pueden contener particiones, son una excepción a esta regla y su primer sector, denominado sector de carga del volumen, tiene una estructura ligeramente distinta (ver sector de carga 8.1.2c2).

§2 Código maestro de carga MBC

Si el disco es "bootable", los primeros 446 bytes del MBR (sector de arranque), están ocupados por un pequeño trozo de código denominado código maestro de carga MBC ("Master Boot Code") o cargador inicial (bootstrap loader), que es cargado por la BIOS

Page 494: 6721122 D057 Tecnologia Del PC

para comenzar el proceso de carga. El bootstrap loader repasa la tabla maestra de particiones (ver a continuación) buscando una partición activa. En caso de encontrarla, busca su sector inicial ( 8.1.2c2), carga su código en memoria, y le transfiere el control. Dicho código es ya capaz de cargar y ejecutar cualquier otro programa situado en cualquier partición del disco. Que a su vez inicializará directamente el SO, o tal vez una utilidad conocida como gestor de arranque, que permite elegir entre distintas alternativas.

Como vemos, es un proceso en cadena: el bootstrap loader es cargado en memoria por un programa situado en la BIOS, y a su vez es capaz de continuar la carga del Sistema Operativo.

§2 Tabla maestra de particiones MPT

A continuación del MBC, se sitúa la tabla maestra de particiones MPT ("Master Partition Table"). Está constituida por cuatro trozos de 16 bytes (4 entradas) que contienen información sobre las particiones definidas en la unidad.

Nota: las particiones a que nos referimos son las denominadas particiones primarias o volúmenes [2]. Hay que recordar que solo hay sitio para cuatro, por lo que un disco duro solo puede contener cuatro particiones primarias. Cualquier otra que pueda establecerse, se denomina partición secundaria o volumen lógico y debe estar contenida en alguna de las primarias.

Los desplazamientos de cada una de las 4 entradas son respectivamente 1BEh (446); 1CEh (462); 1DEh (478) y 1EEh (494). Cada entrada contiene la siguiente información [3] (T = tamaño del campo en bytes):

T Descripción1 Estado de la partición (00h = Inactiva; 80h = Activa)1 Principio de la partición (cabeza).

Page 495: 6721122 D057 Tecnologia Del PC

2 Principio de la partición (Cilindro/Sector en forma codificada).

La codificación, bastante enrevesada. Se justifica porque en el momento de su diseño, la conservación de espacio era una preocupación fundamental en el mundo informático (la misma que condujo al famoso episodio del Y2K) y porque existen dos datos empaquetados en una palabra de 16 bits, que a su vez están en forma invertida; "Back-words" o "Little endian" ( E2.2.6a). De los 16 bits disponibles, 6 se reservan para el sector y 10 para el cilindro. Lo que conduce a un máximo de 64 = 26 sectores, y 1024 = 210 cilindros. El esquema de distribución de bits es el siguiente:

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

bits 7-0 del cilindro bits 9-8cilindro bits 5-0 del sector

Estos valores, junto a las 256 = 28 posibilidades par las cabezas señaladas en el byte anterior, originarían posteriormente numerosos inconvenientes a la hora de manejar discos muy grandes ( 6.2).

1 Tipo de partición ID. Contiene detalles sobre el formato de la partición. Por ejemplo, si es FAT-12, FAT-16 o FAT-32; si será accedida utilizando direccionamiento CHS tradicional; ECHS, o LBA ( 6.2). ID Descripción

01h Partición primaria FAT12 o volumen lógico (volumen de menos de 32,680 sectores)

04h Partición primaria FAT16 o volumen lógico (32,680–65,535 sectores o 16 MB–33 MB)

05h Partición DOS Extendida06h Partición FAT16 BIGDOS o volumen lógico (33 MB–4 GB)07h Partición NTFS o volumen lógico ("Installable File System")0Bh Partición FAT32 o volumen lógico (hasta 2048 GB)

Page 496: 6721122 D057 Tecnologia Del PC

0Ch Partición FAT32 o volumen lógico usando extensiones de la INT 13h BIOS0Eh Partición FAT16 BIGDOS o volumen lógico usando extensiones de la INT 13h BIOS0Fh Partición DOS extendida usando extensiones de la INT 13h BIOS12h Partición EISA42h Dynamic disk volume86h Legacy FT FAT16 disk87h Legacy FT NTFS disk8Bh Legacy FT volume formateado con FAT328Ch Legacy FT formateado con FAT32 usando extensiones de la INT 13h BIOS

Nota: MS-DOS solo puede acceder a las particiones o volúmenes señalados en negrita.

1 Final de la partición (cabeza).2 Final de la partición (Cilindro/Sector en forma codificada).4 Número de sectores entre el MBR y el primer sector de la partición.4 Número de sectores en la partición.

Para que un disco "maestro" (cuyo MBR pueda ser accedido por el proceso de carga de la BIOS) sea "bootable", se precisa que alguna de las entradas de la tabla contenga un 80h en el bit de estado, señalando cual es partición activa. Recuerde que esta indicación es necesaria incluso si solo existe una partición y que en caso de haber varias, solo una puede estar activa!.

§3 Firma del sector de carga

Los dos últimos bytes del sector de arranque (MBR) contienen dos caracteres (55h, AAh). que son denominados firma del sector de carga ("Boot record signature")

Page 497: 6721122 D057 Tecnologia Del PC

§4 Ejemplo

A continuación se muestra el volcado ASCII del sector de arranque MBR de un disco, utilizando la utilidad debug del DOS ( DEBUG).

Se trata de una unidad C...

177C:0100 EB 58 90 4D 53 57 49 4E-34 2E 31 00 02 08 20 00 .X.MSWIN4.1... . 177C:0110 02 00 00 00 00 F8 00 00-3F 00 F0 00 3F 00 00 00 ........?...?... 177C:0120 A0 0B 7D 00 34 1F 00 00-00 00 00 00 02 00 00 00 ..}.4........... 177C:0130 01 00 06 00 00 00 00 00-00 00 00 00 00 00 00 00 ................ 177C:0140 80 00 29 0B 1A 55 20 4E-4F 20 4E 41 4D 45 20 20 ..)..U NO NAME 177C:0150 20 20 46 41 54 33 32 20-20 20 FA 33 C9 8E D1 BC FAT32 .3.... 177C:0160 F8 7B 8E C1 BD 78 00 C5-76 00 1E 56 16 55 BF 22 .{...x..v..V.U." 177C:0170 05 89 7E 00 89 4E 02 B1-0B FC F3 A4 8E D9 BD 00 ..~..N.......... 177C:0180 7C C6 45 FE 0F 8B 46 18-88 45 F9 38 4E 40 7D 25 |.E...F..E.8N@}% 177C:0190 8B C1 99 BB 00 07 E8 97-00 72 1A 83 EB 3A 66 A1 .........r...:f. 177C:01A0 1C 7C 66 3B 07 8A 57 FC-75 06 80 CA 02 88 56 02 .|f;..W.u.....V. 177C:01B0 80 C3 10 73 ED BF 02 00-83 7E 16 00 75 45 8B 46 ...s.....~..uE.F 177C:01C0 1C 8B 56 1E B9 03 00 49-40 75 01 42 BB 00 7E E8 [email protected]..~. 177C:01D0 5F 00 73 26 B0 F8 4F 74-1D 8B 46 32 33 D2 B9 03 _.s&..Ot..F23... 177C:01E0 00 3B C8 77 1E 8B 76 0E-3B CE 73 17 2B F1 03 46 .;.w..v.;.s.+..F 177C:01F0 1C 13 56 1E EB D1 73 0B-EB 27 83 7E 2A 00 77 03 ..V...s..'.~*.w. 177C:0200 E9 FD 02 BE 7E 7D AC 98-03 F0 AC 84 C0 74 17 3C ....~}.......t.< 177C:0210 FF 74 09 B4 0E BB 07 00-CD 10 EB EE BE 81 7D EB .t............}. 177C:0220 E5 BE 7F 7D EB E0 98 CD-16 5E 1F 66 8F 04 CD 19 ...}.....^.f.... 177C:0230 41 56 66 6A 00 52 50 06-53 6A 01 6A 10 8B F4 60 AVfj.RP.Sj.j...` 177C:0240 80 7E 02 0E 75 04 B4 42-EB 1D 91 92 33 D2 F7 76 .~..u..B....3..v 177C:0250 18 91 F7 76 18 42 87 CA-F7 76 1A 8A F2 8A E8 C0 ...v.B...v...... 177C:0260 CC 02 0A CC B8 01 02 8A-56 40 CD 13 61 8D 64 10 [email protected]. 177C:0270 5E 72 0A 40 75 01 42 03-5E 0B 49 75 B4 C3 03 18 ^[email protected].^.Iu.... 177C:0280 01 27 0D 0A 44 69 73 63-6F 20 64 65 20 73 69 73 .'..Disco de sis 177C:0290 74 65 6D 61 20 69 6E 63-6F 72 72 65 63 74 6F 0D tema incorrecto. 177C:02A0 0A 45 72 72 6F 72 20 45-2F 53 20 0D 0A 43 61 6D .Error E/S ..Cam 177C:02B0 62 69 65 20 65 6C 20 20-64 69 73 63 6F 20 79 20 bie el disco y 177C:02C0 70 72 65 73 69 6F 6E 65-20 75 6E 61 20 74 65 63 presione una tec

Page 498: 6721122 D057 Tecnologia Del PC

177C:02D0 6C 61 0D 0A 00 00 00 00-49 4F 20 20 20 20 20 20 la......IO 177C:02E0 53 59 53 4D 53 44 4F 53-20 20 20 53 59 53 7E 01 SYSMSDOS SYS~. 177C:02F0 00 57 49 4E 42 4F 4F 54-20 53 59 53 00 00 55 AA .WINBOOT SYS..U.

§5 Resumen

Una vez realizado el formateo físico de la unidad ( 8.1.2), la MPT es creada mediante un programa especial; fdisk.exe en los Sistemas DOS/Windows y /sbin/fdisk en Linux ( 8.1.2c3), que se encarga de realizar las "particiones" del disco. En cambio, el código del bootstrap loader es instalado en su caso por el programa de instalación del Sistema Operativo.

Un disco pude no ser "bootable" por carecer de cargador inicial en su MBR, o la señal "activa" en alguna de sus particiones. Pero para ser utilizable debe contener al menos una partición, y por consiguiente una entrada en su MPT. En el primer caso, la BIOS es incapaz de continuar el proceso de carga, resultando un mensaje de error del tipo: "No Boot device available o quizás en las BIOS antiguas: "NO ROM BASIC - System Halted. Sin embargo, una vez cargado el SO, si su MBR contiene una entrada en su MPT, el volumen correspondiente podrá ser utilizado sin ningún problema como área de almacenamiento.

Nota: La razón de este último mensaje es que los primitivos PCs IBM tenían un BASIC pregrabado en la ROM de la BIOS, de forma que si no podía encontrarse un dispositivo de donde cargar el sistema, la BIOS exhibía este mensaje de error del BASIC.

Inicio.

[2] En algunos Sistemas las particiones son denominadas "Disk slices" y las entradas en la tabla, etiquetas de disco ("disklabels").

Page 499: 6721122 D057 Tecnologia Del PC

[3] Los parámetros de más de un byte están almacenados en forma de palabras invertidas ("Back-words") o "Little endian" ( E2.2.6a), y como es usual, los desplazamientos empiezan por cero desde el comienzo del sector. El primer byte tiene desplazamiento cero. El último 511 (1FFh).

Inicio

|Índice| Copyright © 2000-2006 Zator Systems. NO software patents

Page 500: 6721122 D057 Tecnologia Del PC

Tecnología del PC[Home] [Inicio] [Índice]

Subir

8.1.2c1 Particiones

§1 Sinopsis

La estructura lógica de segundo nivel que puede encontrarse en un disco físico es la partición primaria o volumen. En realidad, una partición no es más que un artificio por el que el sistema puede considerar dividida la unidad física en varias partes, que pueden incluso tener distinta estructura. De hecho, cada una de estas particiones puede albergar un sistema de ficheros distinto. Por ejemplo, un sistema FAT de DOS/Windows y un sistema ext2 Linux. Además de otras ventajas, las particiones ofrecen la posibilidad de montar distintos sistemas operativos, lo que a su vez, permite al equipo adoptar "personalidades" distintas según el SO que se cargue en cada momento.

Nota: Es digno de mención, que en ocasiones también se emplea el artificio contrario ("Disc striping"). Algunos sistemas de ficheros permiten considerar varias unidades físicas como un solo volumen lógico.

En lo que respecta al DOS, puesto que sus diseñadores solo pretendieron hacer un sistema rudimentario y esquelético, por sí mismo solo puede tener en cada unidad una partición primaria DOS pDp ("Primary DOS Partition") y una partición DOS extendida xDp ("extended DOS Partition").

La partición primaria DOS es como las demás y consume una de las 4 posibilidades del disco

Page 501: 6721122 D057 Tecnologia Del PC

( 8.1.2c). Por su parte la partición DOS extendida consume otra de las 4 posibilidades. Tienen ciertas características especiales frente a las particiones primarias normales (no DOS), lo que permite subdividirlas en volúmenes lógicos .

§2 Estructura de las particiones

La figura 1 (de Microsoftt Windows 2000 resource Kits), muestra la estructura de un disco con tres particiones primarias y una partición extendida en la que se han definido dos volúmenes lógicos.

Page 502: 6721122 D057 Tecnologia Del PC

Figura 1. Esquema de la estructura lógica (particiones) de una unidad.

Page 503: 6721122 D057 Tecnologia Del PC

Figura. 2. Estructura de una partición DOS extendida.Nota: La unidad sería percibida por el SO como 5 unidades lógicas distintas. Observe que la escala vertical no guarda relación con el tamaño relativo de cada zona.

Page 504: 6721122 D057 Tecnologia Del PC

La parte superior corresponde al MBR ("Master Boot Record") que ha sido comentado en el capítulo anterior ( 8.1.2c).

A continuación siguen tres particiones primarias que son de estructura muy sencilla; solo tienen sector de carga ("Boot sector") y área de datos. La estructura del primero la detallaremos en el próximo capítulo ( 8.1.2c2). El área de datos tiene composición análoga en todos los casos; comienza con las tablas FAT; sigue con la estructura del directorio raíz y a continuación los datos propiamente dichos. Su organización se comenta en el capítulo Estructura jerárquica de un volumen ( 8.1.2d) .

Por ser la más compleja, empezaremos comentando la estructura de la partición DOS extendida xDp, que puede contener subdivisiones en su interior. En realidad, cada una de sus posibles subdivisiones tiene una estructura idéntica a la de una partición primaria y prácticamente la misma funcionalidad .

§2.1 Partición DOS extendida

En principio una partición DOS extendida xDp no debería ser distinta de las demás particiones primarias de la unidad. Sin embargo, se le incluyeron algunas estructuras adicionales para poder subdividir su espacio en partes más pequeñas denominadas volúmenes lógicos VL .

Nota: El hecho de incluir subdivisiones (volúmenes lógicos) en una de las particiones primarias, en lugar de permitir directamente mayor número de particiones primarias, obedece a razones de compatibilidad. Cuando se decidió agregar al DOS capacidad para más de 4 particiones, la estructura debía ser compatible con la anterior. Así que se decidió incluir las particiones extra en una de las 4 existentes, que pasó a tener ciertas características especiales y a denominarse partición DOS extendida.

Lo mismo que la información de la pDp y de cualquier otra partición primaria que se hubiese definido en la unidad, la información básica sobre la xDp está en la entrada correspondiente

Page 505: 6721122 D057 Tecnologia Del PC

de la MPT del sector de arranque ( 8.1.2c). A su vez, el primer sector de la xDp es de funcionalidad y estructura semejantes a las del bloque de carga MBR, aunque en este caso se denomina EBR ("Extended Boot Record"). La figura 2 (de Microsoftt Windows 2000 resource Kits), muestra la organización interna de una partición DOS extendida que contiene tres volúmenes lógicos.

La tabla de particiones del EBR se denomina tabla de partición extendida xPT ("Extended Partition table"), y tiene la misma disposición interna que la tabla MPT. Aunque la xPT solo utilizan las dos primeras entradas. La figura 2 muestra el detalle de la estructura interna de una partición DOS extendida con tres volúmenes lógicos.

La primera entrada de la xPT señala a su propio sector de carga "Boot sector" ( 8.1.2c2). La segunda señala al EBR del siguiente volumen lógico (si no existiera ningún otro, contiene ceros). Las 2 entradas restantes no se utilizan (contienen ceros). El segundo volumen lógico tiene una estructura similar al primero. La segunda entrada de su xPT señala a la EBR del siguiente y así sucesivamente. Puede verse que la estructura de los VLs es una cadena de enlaces que comienza en la MPT, y que cada volumen lógico contiene su propio EBR.

§2.2 Volúmenes Lógicos

Cuando se declara una xDp, inicialmente el espacio está vacío, pero puede habilitarse construyendo en su interior una o varias particiones lógicas ("Logical partitions"), también denominadas volúmenes lógicos VL ("Logical DOS drives" o "Logical volumes"). Posteriormente los sistemas DOS/Windows las referencian con una letra, de la C a la Z, como si fuesen discos distintos. Las letras A y B se reservan para designar los sistemas de fichero de los disquetes (que no admiten particiones).

Durante el proceso de carga, el SO realiza una exploración ordenada de las unidades de disco y sus volúmenes lógicos. Los sistemas DOS/Windows asignan sucesivamente una letra a cada volumen encontrado. Por esta razón, en una xDp pueden declararse hasta 24 volúmenes lógicos si no se está usando una pDp, o 23 en caso contrario. El factor limitador es la letra que se asigna a cada VL (empiezan por C y terminan con la Z). Por supuesto que

Page 506: 6721122 D057 Tecnologia Del PC

salvo circunstancias excepcionales, es muy raro que se definan tal número de VLs en una partición extendida DOS.

El hecho de que una unidad pueda ser maestra depende exclusivamente de la BIOS. Por ejemplo, supongamos un portátil en el que instalamos una unidad de disco exterior mediante la conexión USB, o mediante una tarjeta PC-CARD que incluye un controlador SATA (evidentemente, las unidades serían distintas en uno y otro caso).

Por lo general, en el estado actual de la técnica (2005), las BIOSes solo están preparadas para arrancar desde unidades internas, que pueden ser disco, disquete, CD/DVD o mediante LAN (tarjeta de red). En tal caso, aunque la unidad USB o la SATA tuviesen una partición primaria activa, no podrían ser utilizadas para la carga inicial del sistema, ya que la BIOS no puede "verlas". Sin embargo, una vez cargado el SO y los controladores adecuados en funcionamiento, ambas unidades podrían ser utilizadas sin problema.

Siguiendo con el ejemplo, supongamos que la unidad interna tiene la distribución señalada en la figura 1 ; que la partición activa es la primera partición primaria (en la que hemos cargado Windows XP); que las otras dos particiones primarias contienen una distribución Linux, y que los volúmenes lógicos de la partición extendida DOS contienen datos de usuario. En este supuesto, al arrancar Windows, la partición primaria de la primera unidad (disco interno) aparece como C: y los volúmenes lógicos (que son encontrados a continuación) aparecen respectivamente como unidades D: y E:. El Sistema ha asignado previamente la letra A: a la unidad de disquete y F: a la unidad de CD o DVD que aparece como segunda unidad física. Por ejemplo, unidad maestra del canal secundario IDE ( 6.1).

Si hemos conectado la unidad USB, el Sistema seguramente cree que es una unidad SCSI, y le asigna una letra a continuación de la última, de forma que

Page 507: 6721122 D057 Tecnologia Del PC

aparece en el explorador Windows como unidad G: Disco extraíble. En cambio, si hemos instalado también la unidad SATA a la tarjeta PC-CARD, quizás sea esta unidad la que aparece como unidad G:, mientras que la USB aparece como unidad H:. El asunto depende naturalmente del orden que utilice el SO en la exploración.

Nota: En el caso de mi venerable Windows98-SE, el orden es justamente el señalado. Primero aparece la unidad USB, y a continuación, la SATA.

Desde un punto de vista funcional apenas existen diferencias entre una pDp y un volumen lógico VL dentro de una xDp. Solo que la primera puede establecerse como activa ("bootable") mientras que el VL no. Por esta razón, si se quiere que el sistema pueda arrancar desde el disco debe crearse como mínimo una partición primaria DOS y declararla activa. A su vez la unidad debe ser lo que hemos denominado un disco "maestro" para el sistema. Es decir, una unidad física cuyo MBR ( 8.1.2c) pueda ser accedido directamente por la BIOS ( 4.3).

Inicio

|Índice| Copyright © 2000-2006 Zator Systems. NO software patents

Page 508: 6721122 D057 Tecnologia Del PC

Tecnología del PC[Home] [Inicio] [Índice]

Subir

8.1.2c2 El Sector de carga

§1 Antecedentes

En secciones anteriores ( 8.1.2c1) se ha señalado que, excepto los disquetes, cada unidad física (disco) del sistema puede estar dividida en hasta 4 particiones primarias (volúmenes), y que una de ellas puede ser una partición DOS extendida, que puede contener a su vez distintas particiones secundarias (volúmenes lógicos).

En cualquier caso, sean particiones primarias o secundarias, estos "volúmenes" se presentan al SO como unidades independientes. En el contexto de este capítulo, volumen puede tomarse en un sentido amplio. Puede ser una partición primaria; un disquete; volumen lógico en una partición extendida DOS, o en ciertos sistemas. Por ejemplo NTFS, un compuesto de dos particiones.

Lo mismo que ocurre con la unidad física, en la que el sector de arranque MBR ( 8.1.2c) es el comienzo de su descripción lógica, los volúmenes lógicos tienen un primer sector con el comienzo de la descripción de su contenido.

§2 Sector de carga de volumen

Cada volumen tiene su propio sector de arranque VBS ("Volume Boot Sector") o simplemente sector de carga BS ("Boot Sector") que es análogo en concepto y funcionalidad al MBS (Master Boot Sector), aunque distinto en su contenido. El VBS es creado en el primer sector del volumen (512 bytes) en el momento de realizar el formateo de bajo nivel. Observe que el VBS es el primer sector lógico de la partición. Mientras que el MBR es el primer sector físico del disco.

Nota: Los disquetes tienen una estructura ligeramente distinta que los discos duros. Debido a que no

Page 509: 6721122 D057 Tecnologia Del PC

pueden contener particiones, no contienen MBR o EBR. Solo sector de carga VBS, datos y metadatos (tablas FAT).

El formato del VBS difiere ligeramente según el formato lógico de la unidad. Así, es distinto en una unidad FAT12, FAT16, FAT32 o NTFS, aunque la estructura básica se mantiene. El contenido de los campos es idéntico, a excepción de pequeñas variaciones en el bloque de parámetros BIOS extendidos . La tabla muestra un esquema de la distribución en los tres formatos más utilizados.

Fat-16Offset Lng. Contenido

000h 3 Código de salto003h 8 OEM ID00Bh 25 BPB024h 26 BPB extendido03Eh 448 Código de carga1FEh 2 Señal fin de sector

Fat-32Offset Lng. Contenido

000h 3 Código de salto003h 8 OEM ID00Bh 53 BPB040h 26 BPB extendido05Ah 420 Código de carga1FEh 2 Señal fin de sector

NTFSOffset Lng. Contenido

000h 3 Código de salto003h 8 OEM ID00Bh 25 BPB024h 48 BPB extendido054h 426 Código de carga1FEh 2 Señal fin de sector

El detalle de los campos es el siguiente [2]:

● Código de salto. Los 3 primeros bytes son una mera instrucción de salto (JMP + NOP) para alcanzar el código de carga del volumen (VBC) que está situado algo más adelante . En estas posiciones suele haber tres hexadecimales del siguiente aspecto: EBh XXh 90h.

● Identificador del formato. Los 8 bytes siguientes constituyen una cadena de caracteres conocida como OEM ID, que identifican la utilidad que realizó el formato lógico del volumen. En los formatos Microsoft puede esperar los indicativos "MSDOS5.0"; "NTFS."; "MSWIN4.0" y "MSWIN4.1"; "IBM 3.3", etc.

● Bloque de parámetros BIOS BPB ("BIOS Parameter Block"). A continuación sigue un bloque de parámetros que proporcionan al código de carga del volumen (VBC) información sobre la geometría de la partición. Esta disposición permite que el referido código pueda ser muy genérico (parametrizado) en función del contenido de la BPB, ya que los factores asociados a los distintos tamaños y geometrías de disco quedan encapsulados en estos parámetros.

Page 510: 6721122 D057 Tecnologia Del PC

En las tablas que siguen se muestra el contenido del BPB para los formatos lógicos FAT12, FAT16 y FAT32. Algunos otros formatos, por ejemplo NTFS, son muy similares. Los números iniciales indican el desplazamiento ("offset") y el tamaño T en bytes del campo correspondiente.

BPB de FAT12Offset T Descripción0Bh 2 Bytes por sector (generalmente 512 8.1.2)

0Dh 1 Sectores por cluster. Alguno de los valores siguientes: 1, 2, 4, 8, 16, 32, 64. El tamaño máximo para el cluster es 32 KB (32.768 bytes)

0Eh 2 Sectores reservados. Representa el número de sectores que preceden el comienzo de las tablas FAT, incluyendo el propio VBS. Este valor es 1.

10h 1 Número de copias de la tabla FAT del volumen. Siempre 2. Nota: la razón de que se haya previsto la existencia de más de una copia de esta tabla tan importante se indicó anteriormente ( 8.1.2a1).

11h 2 Entradas en el directorio raíz. Número máximo de entradas (campos de 32 bits) que pueden existir en el directorio raíz del volumen. 224.

13h 2 Número de sectores en el volumen. Este parámetro limita la capacidad de FAT-12 a volúmenes de menos de 65.536 sectores (menores de 32 MB).

15h 1 Byte descriptor ("Media descriptor byte"). Contiene información sobre la unidad. Algunos de los valores posibles se muestran en la tabla adjunta [1]

Byte Capacidad Size Caras Pistas Sect/pistaFAh 320 KB. 3.5" 1 80 8FAh --- Disco RAMFBh 640 KB. 3.5" 2 80 8F0h 2.88 MB. 3.5" 2 80 36F0h 1.44 MB. 3.5" 2 80 18F9h 720 KB. 3.5" 2 80 9F9h 1.2 MB. 5.25" 2 80 15FAh 320 KB. 5.25" 1 80 8FBh 640 KB. 5.25" 2 80 8

Page 511: 6721122 D057 Tecnologia Del PC

FDh 360 KB. 5.25" 2 40 9FFh 320 KB. 5.25" 2 40 8FCh 180 KB. 5.25" 1 40 9FEh 160 KB. 5.25" 1 40 8F8h --- Disco duro

16h 2 Sectores ocupados por cada FAT del volumen. 9

18h 2 Sectores por pista. 12.1Ah 2 Número de cabezas. En un disquete HD 3.5" este valor es 2.1Ch 4 Número de sectores ocultos en el volumen. Se refiere al número de sectores de la unidad (disco)

que preceden el inicio del volumen.

Nota: Los 11 primeros campos (desplazamientos 0B-1Ch inclusive), tienen el mismo significado que en FAT-12

BPB de FAT16

Offset T Descripción0Bh 2 Bytes por sector (generalmente 512 8.1.2)

0Dh 1 Sectores por cluster. Alguno de los valores siguientes: 1, 2, 4, 8, 16, 32, 64. Los valores que conducen a tamaños mayores de 32 KB producen errores.

0Eh 2 Sectores reservados. Representa el número de sectores que preceden el comienzo de las tablas FAT, incluyendo el propio VBS. Este valor es 1.

10h 1 Número de copias de la tabla FAT del volumen. Siempre 2.11h 2 Entradas en el directorio raíz. Se refiere al número máximo de entradas (campos de 32 bits) que

pueden existir en el directorio raíz del volumen. Un valor típico es 512 ( 8.1.2d). Pero debe recordarse que el sistema de nombres largos de los sistemas FAT de Microsoft utilizan mas de una de estas entradas y que el nombre del volumen ocupa otra de estas entradas.

13h 2 Número de sectores en el volumen (valor pequeño). Este parámetro solo se utiliza si el número es suficientemente pequeño para caber en el espacio asignado (16 bits), lo que corresponde a particiones de menos de 65.536 sectores (menores de 32 MB). En caso contrario, contiene un cero y el número de sectores del volumen se recoge en el campo de 4 Bytes previsto más adelante .

15h 1 Byte descriptor ("Media descriptor byte"). Contiene información sobre la unidad . Ver tabla en FAT-12

Page 512: 6721122 D057 Tecnologia Del PC

16h 2 Sectores ocupados por cada FAT del volumen. Este valor, junto con el número de FATs y el de sectores reservados, proporcionan información sobre el sector donde comienza el directorio raíz (colocado inmediatamente después de las FAT). A su vez, conocido el número de entradas en este directorio, puede calcularse donde comienzan los datos de usuario.

18h 2 Contiene el parámetro "Sectores por pista" para unidades que utilizan INT 13h.1Ah 2 Número de cabezas. Este dato y el anterior se refieren a los valores lógicos (geometría aparente)

utilizados durante el formateo de alto nivel del volumen. Por ejemplo, en un disquete HD 3.5" este valor es 2.

1Ch 4 Número de sectores ocultos en el volumen. Se refiere al número de sectores de la unidad (disco) que preceden el inicio del volumen. Este dato es utilizado por el proceso de carga para calcular el desplazamiento absoluto ("offset") del directorio raíz y del área de datos del volumen.

20h 4 Número de sectores en el volumen (valor grande). Si el espacio de 2 bytes antes comentado para este valor contiene cero , se reseñan aquí el total de sectores del volumen. En caso contrario, este valor es cero.

Nota: Los 11 primeros campos (desplazamientos 0B-1Ch inclusive), tienen el mismo significado que en FAT-12 & FAT-16

BPB de FAT32

Offset T Descripción0Bh 2 Bytes por sector. Generalmente 512 en la arquitectura ix86. Aunque existen unidades de 1024,

2048 y 4096 bytes por sector.0Dh 1 Sectores por cluster. Alguno de los valores siguientes: 1, 2, 4, 8, 16, 32, 64 o 128.0Eh 2 Sectores reservados. Representa el número de sectores que preceden el comienzo de las

tablas FAT, incluyendo el propio VBS, de forma que como mínimo este valor es 1. Generalmente es 32.

10h 1 Número de copias de la tabla FAT del volumen. Este valor es siempre 2.11h 2 Máximo de entradas por directorio. En FAT12/16 se refiere al número máximo de entradas que

pueden existir en el directorio raíz del volumen. Esta limitación no existe en FAT32, cuyo valor en este campo es cero.

13h 2 Número de sectores en el volumen (valor pequeño). Este parámetro se incluye por compatibilidad con FAT12/16 aunque FAT32 no lo utiliza. Su valor es siempre cero.

15h 1 Byte descriptor ("Media descriptor byte"). El campo se mantiene por compatibilidad con FAT12/16, pero FAT32 no lo utiliza.

Page 513: 6721122 D057 Tecnologia Del PC

16h 2 Sectores ocupados por cada FAT del volumen. Se mantiene por compatibilidad con FAT12/16. En FAT32 este valor es cero.

18h 2 Contiene el parámetro "Sectores por pista" para unidades que utilizan INT 13h.1Ah 2 Número de cabezas. Este dato y el anterior se refieren a los valores lógicos utilizados durante el

formateo de alto nivel del volumen. Por ejemplo, en un disquete HD 3.5" este valor es 2.1Ch 4 Número de sectores ocultos en el volumen. Se refiere al número de sectores de la unidad

(disco) que preceden el inicio del volumen. Es decir los sectores existentes desde el MBR y el VBS del volumen. Este dato es utilizado en los dispositivos que utilizan la interrupción 13h, por la secuencia de carga para calcular el desplazamiento absoluto ("offset") de la información contenida en el volumen. En dispositivos no particionados este volumen es cero.

20h 4 Número de sectores en el volumen.24h 4 Número de sectores en FAT. Indica el número de sectores ocupado por cada FAT del volumen.

Este valor, junto con el número de FATs y los sectores ocultos, permiten determinar la posición del directorio raíz (que está inmediatamente después). También puede determinar donde empieza el área de datos sabiendo el tamaño del referido directorio raíz (el número de entradas que tiene).

28h 2 Semáforos adicionales ("Extended flag"). Señala determinados aspectos de cómo se realiza la copia de seguridad (duplicado) de la FAT.

2Ah 2 Versión del sistema de ficheros ("Filesystem version"). Un valor previsto para futuras ampliaciones del sistema FAT.

2Ch 4 Número del cluster raíz ("Root cluster number"). Número del primer cluster del directorio raíz. Generalmente (aunque no siempre) este valor es 2. Veremos en el próximo capítulo ( 8.1.2d) que esta información es vital para el mecanismo de localización de ficheros en el volumen, ya que se utiliza una organización en cadena cuyo comienzo es justamente el directorio raíz.

30h 2 Número de sector del FSINFO ("File System Information Sector Number") en el área reservada del volumen. El valor típico es 1. Se guarda una copia de la estructura FSINFO en el backup del sector de carga, aunque no es actualizado.

34h 2 Backup del sector de carga. Un valor distinto de cero señala el número de sector en el área reservada del volumen en la que se ha guardado una copia del sector de carga. El valor típico es 6, no se recomienda ningún otro.

36h 12 Reservado para futuras expansiones. BPB de NTFSOffset T Descripción

Page 514: 6721122 D057 Tecnologia Del PC

0Bh 2 Bytes por sector.0Dh 1 Sectores por cluster.0Eh 2 Sectores reservados.10h 3 Número de copias de la tabla FAT del volumen. Este valor es siempre cero.13h 2 Máximo de entradas por directorio. No utilizado por NTFS.15h 1 Byte descriptor (" Media descriptor byte").16h 2 Sectores ocupados por cada FAT del volumen. Siempre cero.18h 2 Sectores por pista.1Ah 2 Número de cabezas.1Ch 4 Número de sectores ocultos en el volumen.20h 4 Número de sectores en el volumen. No utilizado por NTFS.24h 4 Número de sectores en FAT. No utilizado por NTFS.28h 24 Total de sectores en el volumen.30h 24 Número lógico del primer cluster del fichero $MFT.38h 24 Número lógico del primer cluster del fichero $MFTMirr.40h 4 Número de clusters por segmento ("Clusters Per File Record Segment").44h 4 Número de clusters por bloque de índice ("Clusters per Index Block").48h 24 Número de serie del volumen ("Volume seriel number").50h 4 Suma de control "Checksum".

Nota: Los parámetros con desplazamientos en negrita coinciden con los correspondientes campo del bloque de parámetros BIOS de los formatos FAT16 y FAT32.

● Bloque de parámetros extendidos xBPB. A continuación del bloque de parámetros BIOS sigue un segundo bloque de parámetros extendidos con el siguiente contenido:

xBPB de FAT16Offset T Descripción

Page 515: 6721122 D057 Tecnologia Del PC

24h 1 Número del dispositivo físico ("Drive"). Se refiere al número asignado en la BIOS, donde los dispositivos están numerados empezando por 00h para el disquete A: y los discos duros a partir de 80h. Generalmente este valor es determinado antes de utilizar una INT 13h de la BIOS que contiene los servicios de disco y necesita de dicho valor.

Con independencia de cuantas unidades haya, este parámetro suele ser 00h para los disquetes y 80h en los discos duros, ya que solo es relevante si la unidad es un disco maestro "bootable"

8.1.2c1.

25h 1 Reservado. Siempre cero en FAT16.26h 1 Firma extendida ("Extended boot signature"). Este valor debe ser reconocido por el Sistema

Operativo. En los de Microsoft puede ser 28h o 29h..27h 4 Número de serie del volumen (ID), este número es asignado de forma aleatoria durante el

formateo para distinguir el volumen de cualquier otro que pudiera existir en la unidad..2Bh 11 Nombre del volumen. Inicialmente este campo se destinó a almacenar la etiqueta ("Label") del

volumen. Posteriormente, con la aparición de FAT-32, esta información se trasladó al directorio raíz ocupando una de sus entradas. Aquí puede encontrarse la cadena "NO NAME".

36h 8 Identificación del sistema de ficheros utilizado. Según el programa de formateo utilizado, puede encontrarse la cadena "FAT "; "FAT12 ", o "FAT16 ".

xBPB de FAT32Offset Bytes Descripción40h 1 Número del dispositivo físico ("Drive"): Se refiere al número asignado en la BIOS, donde los

dispositivos están numerados empezando por 00h para el disquete A: y los discos duros a partir de 80h. Generalmente este valor es determinado antes de utilizar una INT 13h de la BIOS que contiene los servicios de disco y necesita de dicho valor.

Con independencia de cuantas unidades haya, este valor suele ser 00h para los disquetes y 80h en los discos duros, ya que solo es relevante si la unidad es un disco maestro "bootable" 8.1.2c1.

41h 1 Reservado. Siempre cero en FAT32.42h 1 Firma extendida ("Extended boot signature"). En los sistemas Microsoft puede ser 28h o

29h. Su presencia señala la existencia de los tres campos que siguen 43h 4 Número de serie del volumen (ID), este número es asignado de forma aleatoria durante el

formateo para distinguir el volumen de cualquier otro que pudiera existir en la unidad..

Page 516: 6721122 D057 Tecnologia Del PC

47h 11 Nombre del volumen. Inicialmente este campo se destinó a almacenar la etiqueta ("Label") del volumen. Posteriormente, con la aparición de FAT-32, esta información se trasladó al directorio raíz ocupando una de sus entradas. Aquí puede encontrarse la cadena "NO NAME".

52h 8 Identificación del sistema de ficheros utilizado. Aquí aparece la cadena "FAT132 ".

● Código de carga del volumen VBC ("Volume Boot Code") o "Bootstrap code". A continuación del xBPB sigue un bloque de código de tamaño variable según el sistema, utilizado para iniciar la carga del Sistema Operativo. Por ejemplo, si la partición tiene instalado Windows NT, este código es responsable de localizar un ejecutable de nombre Ntldr; cargarlo y transferirle el control. Este código es alcanzado mediante la instrucción de salto colocada en los 3 primeros bytes del sector, la cual es llamada a su vez por el MBC ("Master Boot Code") del sector de arranque. Pero solo en el caso de que el volumen corresponda a una partición primaria activa. En otros casos este código no se utiliza. Sin embargo, siempre contiene algo. Incluso en un disquete no cargable ("no bootable") formateado sin la opción "Sistema", contiene el código responsable de mostrar el conocido mensaje "Non-system disk or disk error". Al igual que el resto de la estructura lógica del volumen, el VBC es instalado durante el formateo de la unidad (al menos un contenido básico). Posteriormente la instalación del Sistema Operativo puede alterar su contenido instalando la rutina adecuada para llamar al Sistema. Pero también puede ser instalado con herramientas específicas. Por ejemplo, con la utilidad sys.com en MS-DOS (ver nota

).

● Firma del sector de carga ("Boot record signature"). Como en el MBR, los dos últimos bytes del VBS contienen los caracteres 55h, AAh.

El código maestro de carga MBC y el de carga del volumen VBC, suelen ser favoritos de los creadores de virus para instalar allí sus versiones modificadas. Aparte de la utilización de herramientas comerciales específicas (antivirus) que siempre son preferibles, puede inspeccionarse su contenido en busca de síntomas sospechosos. Por ejemplo el código de los Sistemas Operativos microsoft suele contener las cadenas "Invalid system disk."; "Disk I/O error."; "Replace the disk, and then press any key"; "Non-System disk or disk error"; "Replace and press any key when ready." y "Disk Boot failure". En el caso de sistemas formateados con Windows NT/2000, las cadenas pueden incluir: "BOOT: Couldn't find NTLDR."; "I/O error reading disk." y "Please insert another disk". En consecuencia, su ausencia o modificación sustancial puede ser síntoma de infección o corrupción.

Page 517: 6721122 D057 Tecnologia Del PC

Nota: La utilidad sys.com del DOS, instala el código adecuado para seguir la carga del Sistema en el VBC del volumen (típicamente un disquete o una partición primaria de un disco). Pero dado que el VBC es un mero bootstrap, necesita que haya algo que cargar. Es decir, los ejecutables correspondientes. A tal efecto, copia a la partición dos ficheros ocultos o "de sistema": IO.SYS y MSDOS.SYS, así como el intérprete de comandos COMMAND.COM (shell del Sistema), que es el que finalmente recibe el control. A partir de MS-DOS 6.x, se instala también el fichero DRVSPACE.BIN, una utilidad que maneja unidades comprimidas de disco.

Por ejemplo, un disquete HD de 3.5" recién formateado aparece con un espacio libre de 1.457.664 bytes. Después del comando sys A:, el comando dir A: muestra la siguiente salida:

El volumen de la unidad A no tiene etiqueta El número de serie del volumen es 183A-1058 Directorio de A:\ COMMAND COM 96.306 05/05/99 22:22 COMMAND.COM 1 archivos 96.306 bytes 0 directorios 1.068.032 bytes libres

En este caso los 293.326 bytes perdidos (1.457.664 - 96.306 - 1.068.032), corresponden a tres ficheros ocultos:

DRVSPACE.BIN 69.632 bytes usados (69.143 bytes)IO.SYS 222.720 bytes usados (222.390 bytes)MSDOS.SYS 512 bytes usados (6 bytes)

más 462 bytes adicionales, ya que el comando DOS muestra el tamaño real del fichero, no el espacio ocupado, y en este caso, COMMAND.COM ocupa realmente 96.768 bytes.

§3 Ejemplo

A continuación se muestran dos ejemplo del volcado ASCII del sector de arranque VBS de un volumen, utilizando la utilidad debug del DOS ( DEBUG).

Page 518: 6721122 D057 Tecnologia Del PC

Nota: recuerde que los parámetros de más de un byte están almacenados en forma de palabras invertidas ("Back-words") o "Little endian".

El primero corresponde a un disquete de 3.5" HD con formato FAT16 del MS-DOS 3.30, que no contiene ninguna otra información o estructura que la proporcionada por la utilidad format.com.

1779:0100 EB 34 90 49 42 4D 20 20-33 2E 33 00 02 01 01 00 .4.IBM 3.3..... 1779:0110 02 E0 00 40 0B F0 09 00-12 00 02 00 00 00 00 00 ...@............ 1779:0120 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 12 ................ 1779:0130 00 00 00 00 01 00 FA 33-C0 8E D0 BC 00 7C 16 07 .......3.....|.. 1779:0140 BB 78 00 36 C5 37 1E 56-16 53 BF 2B 7C B9 0B 00 .x.6.7.V.S.+|... 1779:0150 FC AC 26 80 3D 00 74 03-26 8A 05 AA 8A C4 E2 F1 ..&.=.t.&....... 1779:0160 06 1F 89 47 02 C7 07 2B-7C FB CD 13 72 67 A0 10 ...G...+|...rg.. 1779:0170 7C 98 F7 26 16 7C 03 06-1C 7C 03 06 0E 7C A3 3F |..&.|...|...|.? 1779:0180 7C A3 37 7C B8 20 00 F7-26 11 7C 8B 1E 0B 7C 03 |.7|. ..&.|...|. 1779:0190 C3 48 F7 F3 01 06 37 7C-BB 00 05 A1 3F 7C E8 9F .H....7|....?|.. 1779:01A0 00 B8 01 02 E8 B3 00 72-19 8B FB B9 0B 00 BE D8 .......r........ 1779:01B0 7D F3 A6 75 0D 8D 7F 20-BE E3 7D B9 0B 00 F3 A6 }..u... ..}..... 1779:01C0 74 18 BE 77 7D E8 6A 00-32 E4 CD 16 5E 1F 8F 04 t..w}.j.2...^... 1779:01D0 8F 44 02 CD 19 BE C2 7D-EB EB A1 1C 05 33 D2 F7 .D.....}.....3.. 1779:01E0 36 0B 7C FE C0 A2 3C 7C-A1 37 7C A3 3D 7C BB 00 6.|...<|.7|.=|.. 1779:01F0 07 A1 37 7C E8 49 00 A1-18 7C 2A 06 3B 7C 40 38 ..7|.I...|*.;|@8 1779:0200 06 3C 7C 73 03 A0 3C 7C-50 E8 4E 00 58 72 C6 28 .<|s..<|P.N.Xr.( 1779:0210 06 3C 7C 74 0C 01 06 37-7C F7 26 0B 7C 03 D8 EB .<|t...7|.&.|... 1779:0220 D0 8A 2E 15 7C 8A 16 FD-7D 8B 1E 3D 7C EA 00 00 ....|...}..=|... 1779:0230 70 00 AC 0A C0 74 22 B4-0E BB 07 00 CD 10 EB F2 p....t"......... 1779:0240 33 D2 F7 36 18 7C FE C2-88 16 3B 7C 33 D2 F7 36 3..6.|....;|3..6 1779:0250 1A 7C 88 16 2A 7C A3 39-7C C3 B4 02 8B 16 39 7C .|..*|.9|.....9| 1779:0260 B1 06 D2 E6 0A 36 3B 7C-8B CA 86 E9 8A 16 FD 7D .....6;|.......} 1779:0270 8A 36 2A 7C CD 13 C3 0D-0A 45 72 72 6F 72 20 65 .6*|.....Error e 1779:0280 6E 20 64 69 73 6B 65 74-74 65 20 6F 20 64 69 73 n diskette o dis 1779:0290 6B 65 74 74 65 20 73 69-6E 20 44 4F 53 0D 0A 43 kette sin DOS..C 1779:02A0 A0 6D 62 69 65 6C 6F 20-79 20 70 75 6C 73 65 20 .mbielo y pulse 1779:02B0 63 75 61 6C 71 75 69 65-72 20 74 65 63 6C 61 0D cualquier tecla. 1779:02C0 0A 00 0D 0A 45 72 72 6F-72 20 65 6E 20 61 72 72 ....Error en arr 1779:02D0 61 6E 71 75 65 0D 0A 00-49 42 4D 42 49 4F 20 20 anque...IBMBIO 1779:02E0 43 4F 4D 49 42 4D 44 4F-53 20 20 43 4F 4D 00 00 COMIBMDOS COM.. 1779:02F0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 55 AA ..............U.

Page 519: 6721122 D057 Tecnologia Del PC

El segundo es análogo al anterior, aunque después del formateo de bajo nivel, al VBS del volumen se le ha añadido la información necesaria para cargar el Sistema mediante la utilidad sys.com ya comentada .

1779:0100 EB 3C 90 2C 26 43 6F 33-49 48 43 00 02 01 01 00 .<.,&Co3IHC..... 1779:0110 02 E0 00 40 0B F0 09 00-12 00 02 00 00 00 00 00 ...@............ 1779:0120 00 00 00 00 00 00 29 58-10 3A 18 4E 4F 20 4E 41 ......)X.:.NO NA 1779:0130 4D 45 20 20 20 20 46 41-54 31 32 20 20 20 33 C9 ME FAT12 3. 1779:0140 8E D1 BC FC 7B 16 07 BD-78 00 C5 76 00 1E 56 16 ....{...x..v..V. 1779:0150 55 BF 22 05 89 7E 00 89-4E 02 B1 0B FC F3 A4 06 U."..~..N....... 1779:0160 1F BD 00 7C C6 45 FE 0F-38 4E 24 7D 20 8B C1 99 ...|.E..8N$} ... 1779:0170 E8 7E 01 83 EB 3A 66 A1-1C 7C 66 3B 07 8A 57 FC .~...:f..|f;..W. 1779:0180 75 06 80 CA 02 88 56 02-80 C3 10 73 ED 33 C9 FE u.....V....s.3.. 1779:0190 06 D8 7D 8A 46 10 98 F7-66 16 03 46 1C 13 56 1E ..}.F...f..F..V. 1779:01A0 03 46 0E 13 D1 8B 76 11-60 89 46 FC 89 56 FE B8 .F....v.`.F..V.. 1779:01B0 20 00 F7 E6 8B 5E 0B 03-C3 48 F7 F3 01 46 FC 11 ....^...H...F.. 1779:01C0 4E FE 61 BF 00 07 E8 28-01 72 3E 38 2D 74 17 60 N.a....(.r>8-t.` 1779:01D0 B1 0B BE D8 7D F3 A6 61-74 3D 4E 74 09 83 C7 20 ....}..at=Nt... 1779:01E0 3B FB 72 E7 EB DD FE 0E-D8 7D 7B A7 BE 7F 7D AC ;.r......}{...}. 1779:01F0 98 03 F0 AC 98 40 74 0C-48 74 13 B4 0E BB 07 00 [email protected]...... 1779:0200 CD 10 EB EF BE 82 7D EB-E6 BE 80 7D EB E1 CD 16 ......}....}.... 1779:0210 5E 1F 66 8F 04 CD 19 BE-81 7D 8B 7D 1A 8D 45 FE ^.f......}.}..E. 1779:0220 8A 4E 0D F7 E1 03 46 FC-13 56 FE B1 04 E8 C2 00 .N....F..V...... 1779:0230 72 D7 EA 00 02 70 00 52-50 06 53 6A 01 6A 10 91 r....p.RP.Sj.j.. 1779:0240 8B 46 18 A2 26 05 96 92-33 D2 F7 F6 91 F7 F6 42 .F..&...3......B 1779:0250 87 CA F7 76 1A 8A F2 8A-E8 C0 CC 02 0A CC B8 01 ...v............ 1779:0260 02 80 7E 02 0E 75 04 B4-42 8B F4 8A 56 24 CD 13 ..~..u..B...V$.. 1779:0270 61 61 72 0A 40 75 01 42-03 5E 0B 49 75 77 C3 03 [email protected].^.Iuw.. 1779:0280 18 01 27 0D 0A 44 69 73-63 6F 20 69 6E 63 6F 72 ..'..Disco incor 1779:0290 72 65 63 74 6F FF 20 20-20 0D 0A 45 72 72 6F 72 recto. ..Error 1779:02A0 20 45 2F 53 FF 20 20 20-20 20 0D 0A 43 61 6D 62 E/S. ..Camb 1779:02B0 69 65 20 65 6C 20 64 69-73 63 6F 20 79 20 70 72 ie el disco y pr 1779:02C0 65 73 69 6F 6E 65 20 75-6E 61 20 74 65 63 6C 61 esione una tecla 1779:02D0 20 20 20 20 0D 0A 00 00-49 4F 20 20 20 20 20 20 ....IO 1779:02E0 53 59 53 4D 53 44 4F 53-20 20 20 53 59 53 7F 01 SYSMSDOS SYS.. 1779:02F0 00 41 BB 00 07 60 66 6A-00 E9 3B FF 00 00 55 AA .A...`fj..;...U.

El extraño identificador (OEM ID) ",&Co3IHC" corresponde a la versión de DOS incluida con Windows 98 SE. Esta versión de MS-DOS se identifica a sí misma como Windows 98 [version 4.10.2222].

Page 520: 6721122 D057 Tecnologia Del PC

Inicio.

[1] Como puede verse, un mismo descriptor está asociado a distintas capacidades. En cualquier caso esta entrada es una herencia del viejo sistema FAT-16 de MS-DOS y no es utilizada en los nuevos sistemas. Por ejemplo Windows 2000.

[2] Recuerde que los parámetros de más de un byte están almacenados en forma de palabras invertidas ("Back-words") o "Little endian" ( E2.2.6a), y como es usual, los desplazamientos empiezan por cero desde el comienzo del sector. El primer byte tiene desplazamiento cero. El último 511 (1FFh).

Inicio

|Índice| Copyright © 2000-2006 Zator Systems. NO software patents

Page 521: 6721122 D057 Tecnologia Del PC

Tecnología del PC[Home] [Inicio] [Índice]

Subir

Sig. 8.1.2c3 El particionador

§1 Sinopsis

Una vez conocido el concepto de "partición" y sus detalles ( 8.1.2c1), nos detendremos brevemente en la utilidad utilizada para realizarlas.

Como se ha indicado, una vez realizado el formateo de bajo nivel en la unidad ( 8.1.2), la creación de la MPT ( 8.1.2c) y el particionado, se realizan mediante una utilidad especial; fdisk.exe en los Sistemas DOS/Windows y /sbin/fdisk en Linux (ver detalles de esta última en la página siguiente).

Recordar que para poder utilizar el disco, éste debe ser "particionado". Incluso si va a ser utilizado en una sola pieza (una sola partición primaria), debe ser particionado para que el SO conozca que será utilizado en un solo volumen, y cuales son sus límites y características.

Nota: en ocasiones, las operaciones de particionado y posterior instalación del sistema de ficheros, son controladas por el programa de instalación del propio Sistema Operativo, de forma que resultan más o menos "transparentes" para el usuario.

§2 fdisk en DOS/Windows

Page 522: 6721122 D057 Tecnologia Del PC

Para ilustrar las posibilidades de esta utilidad, a continuación se relacionan las opciones del menú de la versión de fdisk incluida en el DOS que acompaña a Windows98-SE. Esta utilidad tiene una interfaz modo texto para ser usada desde DOS (antes que exista ninguna interfaz gráfica). Algunas otras versiones son más sofisticadas, pero todas siguen el mismo principio de funcionamiento. Su funcionamiento está controlado por un menú cuyas opciones son las siguientes (*):

● 1. Crear una partición o una unidad lógica DOS

�❍ 1.1. Crear una partición primaria de DOS

�❍ 1.2. Crear una partición extendida de DOS

�❍ 1.3. Crear unidades lógicas de DOS en la partición extendida de DOS

● 2. Establecer una partición activa

● 3. Eliminar una partición o unidad lógica DOS

�❍ 3.1. Eliminar la partición primaria de DOS

�❍ 3.2. Eliminar la partición extendida de DOS

�❍ 3.3. Eliminar unidades lógicas en la partición extendida de DOS

�❍ 3.4. Eliminar partición que no es de DOS

● 4. Mostrar información sobre la partición Mostrar información de la unidad lógica (si existe una partición extendida que contenga unidades lógica DOS) (*) Si el sistema tiene más de un dispositivo físico de disco conectado ("drive"), aparece una última opción que permite seleccionar la unidad sobre la que se operará. Esta selección es numérica. La primera unidad es 1, la segunda 2, etc. (ver a continuación)

§2.1 Observaciones

Page 523: 6721122 D057 Tecnologia Del PC

fdisk es un programa potencialmente peligroso donde un paso en falso, puede arruinar todos los datos de la unidad. Si quiere arrancarlo sin que haga otra cosa que mostrar información sobre las unidades instaladas y sus particiones, puede utilizar el comando /status:

fdisk /status

El resultado (bastante parco por cierto), puede tener el siguiente aspecto:

Disco Unidad MB Libre Uso 1 14402 100% C: 2000 D: 2000 E: 2000 F: 2000 G: 55 (1 MB = 1048576 bytes)

Los valores mostrados corresponden a una unidad detectada como de 14.402 MB de capacidad, en la que se ha creado una partición primaria DOS de 2 GB a la que ha correspondido la letra C: y una partición extendida DOS de 6.55 GB, que se ha dividido en 3 volúmenes lógicos de 2 GB cada uno, y un cuarto con los 55 MB restantes. Observe que la capacidad tota de la unidad no se ha agotado. En este caso el espacio restante contiene dos particiones "no dos", cuyo detalle no es mostrado por esta opción de fdisk, (si desde la opción 4 del menú general). Estas particiones tienen 6150 y 196 MB respectivamente y contienen otro sistema operativo (Linux). Si existieran más unidades físicas aparecería como disco 2, 3, etc.

Ver en la página siguiente el resultado del comando fdisk de Linux en la misma unidad ( 8.1.2c3a)

El comando /MBR <numero-de-unidad> reconstruye el MBR poniendo todos sus valores a cero, y la Boot Record Signature a su valor correcto. El número de unidad puede verlo con el

Page 524: 6721122 D057 Tecnologia Del PC

comando /status. Por ejemplo:

fdisk /MBR /1

reconstruye el MBR de la primera unidad física. Atención: perderá todos los datos del disco !!.

Como puede ver en las opciones del menú, la versión fdisk del DOS solo puede crear una pDp y/o una xDp, y en su caso, unidades lógicas DOS dentro de esta última. Cualquier otra partición primaria que se haya creado con otra herramientas (hasta las 4 mencionadas), aparece como partición no DOS. Observe que aunque no puede crear estas últimas, sí puede borrarlas (opción 3.4 del menú).

§2.2 Ejemplo

Para aclarar mejor la idea, reseñaremos brevemente cual sería el procedimiento operativo en un caso concreto: supongamos que tenemos un disco nuevo de 20 GB en el que deseamos establecer 4 particiones iguales de 4 GB cada una. El objetivo es cargar Windows en una de ellas, y tener 3 zonas de trabajo adicionales independientes.

Suponemos que tenemos un Sistema DOS de arranque, que opera desde disquete o desde CD/DVD de la unidad. A tal efecto puede servir un disquete de Inicio de Windows 98, o cualquier otra versión DOS; PC-DOS, etc.

Una vez cargado el DOS, el primer paso sería establecer una pDp ( 8.1.2c1) partición primaria DOS de 4000 MB (opción 1-1 del menú fdisk ), a la que correspondería la letra C. A continuación crearíamos una xDp de 12000 MB (opción 1.2 del menú de fdisk), lo que dejaría 4 GB sin utilizar en la unidad. Dentro de la xDp, creamos 3 volúmenes lógicos (VLs), cada uno con 4000 MB, a los que corresponderían las letras D, E y F respectivamente. Hecho esto, procederíamos a declara la pDp como activa (opción 2 del menú fdisk) y saldríamos con ESC.

Page 525: 6721122 D057 Tecnologia Del PC

Finalmente deberíamos formatear los 4 dispositivos lógicos: C:, D:, E: y F: con los comandos format C:; format D:, etc. Lo que equivale a instalar en ellos el sistema de ficheros ( 8.1.2a). A continuación, una vez instalado el sistema operativo en la unidad C:, el equipo quedaría listo para su uso sin apenas distinción entre las unidades C, D, E y F.

Nota: La distribución adoptada solo ha consumido 2 de las 4 particiones primarias que puede tener el disco. Los 4 GB remanentes (sin utilizar) tal vez deseemos aprovecharlos para cargar un sistema alternativo. Por ejemplo Linux. Seguramente el programa de carga de la distribución Linux detectará la configuración actual del disco, y cargará el nuevo sistema en el espacio desocupado. Quizás dividiéndolo en dos particiones (lo que agotaría las 4 posibilidades). Una pequeña, para la memoria virtual ("Swap") y el resto para el Sistema y sus utilidades. El programa de carga instalará también un gestor de arranque que nos permitirá decidir cual de los sistemas, Windows o Linux, queremos cargar cada vez.

Sig. Inicio

|Índice| Copyright © 2000-2006 Zator Systems. NO software patents

Page 526: 6721122 D057 Tecnologia Del PC

Tecnología del PC[Home] [Inicio] [Índice]

Subir

Sig. 8.1.2c4 Instalar el sistema de ficheros

§1 Sinopsis

Para que los discos puedan ser utilizables, una vez establecida su distribución lógica con fdisk ( 8.1.2c3), el penúltimo paso para instalar una nueva unidad de disco en un sistema, consistiría en instalar el sistema de ficheros en las particiones que se hayan creado (en el caso de Linux, el paso final es "montar" la/s partición/es dentro de la estructura general de ficheros).

Nota: debemos recordar aquí lo indicado al hablar del "particionado": en ocasiones, ambos procesos, el particionado y la instalación del sistema de ficheros, son realizados por un programa supervisor que se encarga también de instalar el Sistema Operativo, de forma que el usuario no suele tener conciencia de tales procesos.

§2 Instalación en DOS/Windows

§2.1 format

La instalación de sistema de ficheros en DOS/Windows se efectúa con la utilidad format. La invocación más sencilla es

Page 527: 6721122 D057 Tecnologia Del PC

format unidad:

Donde unidad es cualquier letra A, B, C, D, etc., que haya correspondido a la partición o volumen lógico cuyo sistema de ficheros deseemos instalar (en adelante nos referiremos abreviadamente a esta operación como "formatear"). Recuerde que A y B se refieren a las unidades de disquetes, y no olvide incluir los dos puntos finales ":". Recuerde igualmente que esta utilidad no puede utilizarse con unidades en red.

la utilidad format crea un nuevo directorio raíz y una tabla de asignación de archivos en la partición o volumen lógico, por lo que destruye cualquier información previa que existiera en el mismo. ¡Debemos cerciorarnos de que estamos utilizando la letra adecuada!. No obstante, por si nos hemos equivocado, a continuación de introducir el comando, format ofrece una última opción de rectificar con el siguiente mensaje:

¡ADVERTENCIA! SE PERDERAN LOS DATOS EN LA UNIDAD X: DEL DISCO DURO. ¿Continuar formateando (S/N)?

Pulsando s/S se inicia el proceso, cualquier otra tecla lo detiene.

Una vez finalizado el formateo, se muestran la cantidad total de espacio en el disco; el espacio marcado como defectuoso; el espacio total que ha utilizado el sistema operativo, si usó las opciones /S o /B (ver a continuación); el tamaño de cluster que utiliza la unidad (aquí denominado unidad de asignación), y el espacio disponible.

A continuación se muestra el diálogo completo obtenido al formatear una unidad de disco (en negrita las entradas de usuario).

C:\WINDOWS>format k: ADVERTENCIA: SE PERDERAN TODOS LOS DATOS DE LA UNIDAD K: ¿Continuar formateando (S/N)?s

Page 528: 6721122 D057 Tecnologia Del PC

Comprobando el formato del disco. Formateando 503,48 MB Formato completado. ¿Nombre del volumen? (11 caracteres, Entrar para ninguno)? USBdisk 527.663.104 bytes de espacio total en disco 527.663.104 bytes disponibles en disco 8.192 bytes en cada unidad de asignación. 64.412 unidades de asignación libres en disco. El número de serie del volumen es 1F52-12FD

Además de poder instalar distintos sistemas de ficheros, format también puede verificar su integridad, comprobando si existen sectores defectuosos. Las posibles formas de sintaxis son las siguientes:

format unidad: [/V[:etiqueta]] [/Q] [/U] [/F:tamaño][/B|/S] [/C] format unidad: [/V[:etiqueta]] [/Q] [/U] [/T:pistas /N:sectores] [/B|/S] [/C] format unidad: [/V[:etiqueta]] [/Q] [/U] [/1] [/4] [/B|/S] [/C] format unidad: [/Q] [/U] [/1] [/4] [/8] [/B|/S] [/C]

Recuerde que el parámetro unidad es el único imprescindible (los demás son opcionales), Recuerde también que los disquetes tienen una estructura simplificada en la que solo existe un volumen, y que si no especifica ninguno de los demás argumentos, format se basar en el tipo de unidad para determinar el tipo de formato a utilizar.

Si el volumen ya tenía formato y no usa el modificador /U, la tabla de asignación del archivo antiguo y el directorio raíz se guardan para reconstruir el disco si fuese necesario (deshacer los cambios). En estos casos, si se formatea un disco equivocado, la solución es usar la

Page 529: 6721122 D057 Tecnologia Del PC

utilidad unformat lo antes posible.

/V:etiqueta especifica una etiqueta, con un máximo de 11 caracteres incluyendo los espacios, que servirá para identificar al volumen. Si se omite este parámetro, o si se utiliza sin especificar etiqueta, format le pedirá que la indique al finalizar el formateo. Si se formatea más de un volumen con el mismo comando, todos recibirán la misma etiqueta. Este parámetro no es compatible con la opción /8 (ver a continuación). Tenga presente que los caracteres de la etiqueta serán convertidos a mayúsculas.

Nota: si desea obtener información sobre la etiqueta de un volumen, puede utilizar la utilidad label.

/Q efectúa un formateo rápido del volumen (que debe estar previamente formateado). Con este modificador, se elimina la tabla de asignación de archivos (FAT) y el directorio raíz del volumen, pero no busca sectores defectuosos. Esta opción sólo debe utilizarse para reformatear volúmenes cuyo sistema de ficheros esté en buen estado.

/U especifica un formato incondicional en el volumen, que como hemos indicado, destruye toda la información que pudiera existir, e impide que se pueda "reconstruir" posteriormente. Este parámetro debe utilizarse en unidades que hayan presentando errores de lectura/escritura.

Según un estudio realizado hace unos años por estudiantes del MIT ("Massachusetts Institute of Technology") en base a una serie de discos rescatados de equipos desechados y de la chatarra, un número importante de ellos eran perfectamente utilizables (con la información intacta), y en otros muchos, la información podía ser fácilmente reconstruida. Las unidades contenían tanto información privada como empresarial.

Esta circunstancia debe ser tenida muy en cuenta cuando desechemos un viejo equipo personal, y mucho más si es de la empresa. Como mínimo, entes de su

Page 530: 6721122 D057 Tecnologia Del PC

"baja" definitiva, deberíamos proceder a un formateo incondicional de todos los volúmenes. Adicionalmente, recomendaría destruir las particiones con fdisk ( 8.1.2c3).

/F:tamaño. Esta opción (actualmente casi en desuso) solo se utiliza con disquetes, y especifica el tamaño del disquete a formatear. Siempre que sea posible, utilice este modificador en lugar de las opciones /T y /N (ver a continuación).

El parámetro tamaño puede ser alguno de los siguientes ( no especifique un tamaño mayor que el que tenga realmente el disquete. Por ejemplo, no formatear a 1.4 MB un disquete de 3.5" 2DD):

160 o 160k o 160kb. Disquete de 5.25", 160 K, doble densidad (DD) y de una sola cara. 180 o 180k o 180kb. Disquete de 5.25", 180K, doble densidad (DD) y una sola cara. 320 o 320k o 320kb. Disquete de 5.25", 320K, doble densidad y dos caras (2DD). 360 o 360k o 360kb. Disquete de 5.25", 360K, doble densidad y dos caras (2DD) 720 o 720k o 720kb. Disquete de 5.25", 720K, doble densidad y dos caras (2DD) 1200 o 1200k o 1200kb o 1,2 o 1,2m o 1,2mb. Disquete de 5.25", 1.2 MB, alta densidad y dos caras (2HD) 1440 o 1440k o 1440kb o 1,44 o 1,44m o 1,44mb. Disquete de 3.5", 1.44MB, alta densidad y dos caras (2HD) 2880 o 2880k o 2880kb o 2.88 o 2.88m o 2.88mb. Disquete de 3.5", 2.88 MB, súper alta densidad y dos caras.

/B. Esta opción reserva espacio para los ficheros IO.SYS y MSDOS.SYS del Sistema (son ficheros ocultos) en el volumen que se formatea.

Page 531: 6721122 D057 Tecnologia Del PC

Nota: en versiones antiguas de MS-DOS, era necesario reservar dicho espacio antes de utilizar el comando sys para copiar los archivos del sistema al volumen. Este modificador se ha conservado en las versiones 6.0 de MS-DOS y siguientes solo por razones de compatibilidad, aunque actualmente ya no sea necesaria.

/S. Esta opción copia los ficheros IO.SYS, MSDOS.SYS y COMMAND.COM del Sistema Operativo al volumen que se formatea.

Nota: estos ficheros deben estar en el mismo directorio desde el que se arrancó format. De no encontrarse, format solicita que se inserte el disco del Sistema. Por lo general estos ficheros solo son necesarios en el volumen de arranque del Sistema. Es decir, en una partición primaria que sea activa. Puede ser un disquete, un CD, o un dispositivo (disco) USB de arranque.

/T:pistas. Especifica el número de pistas en el disco. Si utiliza esta opción, obligatoriamente debe utilizar también el modificador /N. Ninguno de los dos (/T y /N) se puede usar con el modificador /F.

/N:sectores. Esta opción se utiliza junto con la anterior, y sirve para indicar el número de sectores por pista.

Nota: en realidad, las opciones /T y /N representan un método alternativo para especificar el tamaño de los disquetes a formatear. Sin embargo, en la medida de lo posible, debe utilizarse la opción /F en lugar de estas.

/1 Da formato a una sola cara de un disquete.

/4 Da formato a un disquete de 5,25 pulgadas, 360K, dos caras y doble densidad, en una unidad de disco de 5.25 pulgadas y 1,2MB, pero recuerde que algunas unidades antiguas de 5.25 pulgadas y 360K, no pueden leer disquetes formateados con esta opción. Cuando se utiliza junto con la opción /1, se formatean disquetes de 5,25 pulgadas y 180K en una sola cara.

Page 532: 6721122 D057 Tecnologia Del PC

/8 Da formato a un disquete de 5,25 pulgadas con 8 sectores por pista. Esta opción formatea disquetes que son compatibles con las versiones anteriores a la 2.0 de MS-DOS.

/C Comprueba los grupos dañados. Por defecto, si el volumen contiene grupos que han sido marcados como "defectuosos", format no vuelve a comprobarlos, sino que los deja como tales. Sin embargo, cuando se utiliza esta opción, format vuelve a comprobar los grupos defectuosos del volumen (en las versiones anteriores a 6.0 de MS-DOS, format siempre comprueba los grupos defectuosos).

§2.2 Códigos de error

format devuelve al entorno de ejecución (generalmente el shell del DOS) los siguientes códigos:

0 El proceso finalizó con éxito.3 El proceso fue abortado por el usuario (presionando las teclas Ctrl+C o Ctrl+Break). 4 Se produjo un error grave (cualquier código distinto de 0, 3 ó 5).5 El usuario no contestó S o s en respuesta a la pregunta "Continuar con el formato (S/N)?".

Si se está utilizando format mediante un proceso por lotes (un script .BAT), los códigos devueltos pueden ser comprobados utilizando la condición ERRORLEVEL y la cláusula IF. Por ejemplo:

@echo off rem proceso por lotes formato.bat format %1%: if errorlevel 5 goto ERROR5 if errorlevel 4 goto ERROR4

Page 533: 6721122 D057 Tecnologia Del PC

if errorlevel 3 goto ERROR3 if errorlevel 2 goto ERROR1 if errorlevel 1 GOTO ERROR1 echo !! OK. formateada unidad %1% goto END : ERROR1 echo !! ERROR indefinido goto END : ERROR3 echo Proceso abortado por el usuario pause goto END : ERROR4 echo Error grave!! goto END : ERROR5 echo Ha elegido no continuar el proceso. : END

Inicio.

[1] La demora puede ser considerable en volúmenes muy grandes, así que mi recomendación es iniciarlo antes de salir para el almuerzo, o dejarlo durante la noche.

Sig. Inicio

Page 534: 6721122 D057 Tecnologia Del PC

Tecnología del PC[Home] [Inicio] [Índice]

Subir

8.1.2d Estructura jerárquica de los Discos: Directorios y Ficheros

Nota: En esta sección se muestran algunos detalles de la organización y estructura de directorios y ficheros en los sistemas FAT. En consecuencia, las referencias y terminología empleadas corresponden a este sistema en particular. La estructura de directorios y ficheros en los sistemas Linux tipo ext2, a los que nos hemos referido en páginas anteriores ( 8.1.2a2), aunque similares no son exactamente iguales; además la terminología empleada difiere ligeramente de la utilizada aquí.

§1 Introducción

Recordemos que la estructura de más alto nivel de una unidad física es el sector de arranque MBR ( 8.1.2c), que contiene la tabla maestra de particiones MPT, que describe cómo está organizado el interior de la unidad (un solo espacio o varias particiones). En caso de existir una partición DOS extendida xDp, existe un nivel adicional: las tablas de partición extendida xPT ( 8.1.2c1), que definen como están organizadas sus subdivisiones (volúmenes lógicos). Finalmente, en uno y otro caso, sean particiones primarias o volúmenes lógicos, el sector de carga de cada volumen VBS ( 8.1.2c2) contiene información para llegar al principio de su zona de datos. Recordemos así mismo, que el volumen puede ocupar la totalidad de un disquete; de una unidad de disco no particionado, o solo una porción de la unidad.

Page 535: 6721122 D057 Tecnologia Del PC

§2 Organización interna

Cualquiera que sea la extensión del volumen (la totalidad de una unidad o parte), el siguiente y último nivel es la organización de su interior. Y aquí existen dos planos: el de alto nivel o lógico (de usuario), y el de bajo nivel o físico (cómo está organizado realmente el volumen).

§2.1 Estructura lógica

Desde el punto de vista lógico, los datos están agrupados en entidades individuales, ficheros, que se agrupan en directorios, que pueden contener a su vez otros directorios (subdirectorios). El resultado es un esquema de carpetas y subcarpetas con cualquier grado de anidamiento a partir de un contenedor inicial que es el directorio raíz del volumen. La estructura lógica recuerda la de un árbol, de ahí lo de directorio "raíz".

Lo substancial aquí, es recordar que todo fichero está contenido en un directorio (que puede ser el raíz) y que los directorios son en realidad un tipo especial de fichero que puede contener información sobre otros ficheros ( 8.1.2a1). El resultado es que cualquier fichero está perfectamente definido conociendo su nombre ("name") y la cadena de directorios que hay que recorrer hasta encontrarlo. Lo que se denomina camino de búsqueda ("path"). El conjunto se denomina nombre cualificado completo o "full path-name".

En DOS/Windows el camino de búsqueda se inicia en la designación de la unidad (volumen), representada por una letra, y a continuación el directorio raíz, representado por dos puntos ":", y los que le siguen. Por ejemplo:

D:\doc\buzon\documents\carta1.doc

En Linux todas las unidades se "montan" sobre una raíz lógica común, el directorio root representado por una barra inclinada "/" (justamente al contrario que en DOS). El path-name de un fichero sería algo así:

Page 536: 6721122 D057 Tecnologia Del PC

/home/user1/doc/buzon/documents/carta1.doc

Nota: Los sistemas de ficheros Unix/Linux permite montar o "colgar" el sistema de ficheros contenido en un dispositivo (o en una partición del mismo) en cualquier subdirectorio del directorio raíz. Por ejemplo, en el path-name anterior, la parte /home/user1 puede pertenecer físicamente al volumen que contiene al propio sistema Linux. Pensemos en una de las particiones primarias de una unidad física X. En cambio la parte que sigue, /doc/buzon/documents/carta1.doc, puede ser el camino del fichero dentro de la estructura lógica contenida en una partición de otra unidad física Y.

§2.2 Estructura física

Por su parte, la organización física se basa en un esquema de datos y metadatos (anotaciones sobre la situación de los datos 8.1.2a), en la que estos últimos están organizados en estructuras específicas. Por ejemplo, tablas FAT, situadas al principio del volumen.

El sistema de anotación de los metadatos es una estructura encadenada jerárquica, donde cada eslabón de la cadena apunta al siguiente. El número del primer cluster del fichero se anota como "entrada" en el directorio correspondiente. Puesto que los directorios también están organizados jerárquicamente a partir del directorio raíz de cada unidad, es fácil deducir que para encontrar un fichero hay que acudir al comienzo de la estructura y seguir el rastro directorio raíz -> subdirectorios -> fichero. Para más facilidad, la información del directorio raíz está situada justamente al principio del área de datos o en cualquier otro punto fácilmente localizable en base a la información contenida en el sector de carga.

§3 Estructura de Directorios

La imagen mental que tenemos de Sistema de Ficheros, es que cada fichero del sistema está almacenado, decimos que "pertenece" a un Directorio, aunque esta es una consideración de tipo lógico. En realidad, en el nivel físico, un directorio es un fichero como todos los demás, aunque con una estructura un tanto especial y con una marca que lo

Page 537: 6721122 D057 Tecnologia Del PC

identifica como directorio frente al SO. Por supuesto, los detalles de esta arquitectura son distintos según el Sistema de Ficheros de que se trate, pero en este caso, para seguir con nuestro estudio nos ceñiremos al detalle de los sistemas FAT.

Los datos de este fichero especial (directorio) constituyen una tabla con información de los ficheros que contiene (algunos de los cuales pueden ser a su vez directorios). Cada entrada de esta tabla ocupa 32 bytes, y como dijimos, incluye el número de cluster donde comienza cada fichero; su tamaño, y otros datos. Su estructura interna de estas entradas es como sigue:

● Nombre y extensión de fichero: Este es el tradicional nombre de 11 caracteres del DOS; el tradicional 8 + 3 (el punto no se almacena realmente, está implícito y los nombres largos utilizan una estructura especial ). El nombre de fichero se utiliza también para indicar si el fichero es válido o está borrado. En este último caso el primer carácter del nombre es sustituido por el valor E5h (si ha utilizado una herramienta de recuperación de ficheros borrados, recordará que el primer carácter del nombre aparece sustituido por un carácter especial. Por ejemplo, una interrogación, que tendrá que ser sustituida por el carácter original). Nota: Al igual que ocurre con los identificadores (nombres) de las variables en los lenguajes de programación, dependiendo del sistema de ficheros, los nombres de fichero están sujetos a ciertas limitaciones. Por ejemplo, en DOS, aparte de la limitación de longitud 8+3 antes señalada, el nombre de un fichero o directorio no puede contener ninguno de los siguientes caracteres: / \ : * ? " < > |

● Byte de atributo de fichero: El "atributo" es una consideración especial que hace el SO a los ficheros para conferir determinadas propiedades o características a las entidades lógicas de almacenamiento (sean ficheros u otros directorios) que a su vez, determinan la forma en que serán tratadas por el SO. Cada atributo está representado por un bit. Como cada bit solo puede tener dos valores cierto/falso, el atributo solo puede indicar si la entidad lo posee o no. Los sistemas FAT distinguen 6 posibilidades para cada entidad [2]:

Page 538: 6721122 D057 Tecnologia Del PC

�❍ 00000001 Solo lectura ("Read only"). Signifca que la entidad (fichero) no puede ser modificada, borrada o movida. Generalmente se utiliza como una medida de protección para que el fichero no pueda ser borrado (quizás inadvertidamente) o modificado.

�❍ 00000010 Oculto ("Hidden"). Se utiliza para identificar entidades que en principio, no serán mostradas en pantalla o listados (como una forma de protección) aunque se puede indicar al Sistema que las muestre. Generalmente se refieren a entidades del SO cuya existencia no concierne al usuario.

�❍ 00000100 De Sistema ("System"). Se utiliza para señalar entidades relacionadas con el Sistema Operativo, por ejemplo, IO.SYS o MSDOS.SYS.

�❍ 00001000 Nombre de volumen ("Volume label"). Este atributo identifica una entidad que contiene el nombre de un volumen lógico. Se utiliza porque al dividir un disco físico en dos o mas volúmenes lógicos, el SO automáticamente les asigna a cada uno una letra, pero el usuario puede desear una identificación más descriptiva, para lo que es apropiado el nombre de volumen. Cuando este atributo está activado, los otros atributos (sistema, oculto y solo lectura) no tienen sentido, de modo que están desactivados. Nota: Los nombres largos de fichero LNF (long filename) son una ampliación de las posibilidades iniciales de MS-DOS y Windows 3.x que se limitaban a nombres con un máximo de 8 caracteres seguidos de un punto y una terminación o "apellido" de tres caracteres, utilizada generalmente para señalar el tipo de fichero. Windows 95 permite nombres de hasta 255 caracteres, incluso algunos que inicialmente no estaban permitidos: Signo más, coma, punto y coma, igual, paréntesis cuadrados derecho e izquierdo, mayúsculas y minúsculas (los LFN usan el juego de caracteres Unicode). Ya que inicialmente no estaban previstos y además el sistema debía ser compatible con las últimas versiones de DOS, el sistema FAT-32 recurre a unas entradas especiales, que sirven exclusivamente para este fin, y que utilizan una combinación única de atributos: oculto + solo lectura + sistema.

● 00010000 Directorio ("Directory"). Se utiliza para señalar que la entidad es un directorio.

● 00100000 Archivo ("Archive"). Este atributo se utiliza para identificar los ficheros

Page 539: 6721122 D057 Tecnologia Del PC

que han cambiado desde la última copia de seguridad ("Back up"). Si el fichero es modificado, este bit se pone a "1" y es devuelto a "0" por el software de back-up.

● Fecha y hora de última modificación: Es un conjunto de bytes que indican de forma codificada, la fecha en que el fichero fue creado o modificado por última vez.

● Tamaño: Tamaño del fichero en bytes.

● Dirección del cluster inicial del fichero: El número del primer cluster del fichero (o directorio). De esta forma, el SO puede dirigirse a la tabla FAT para conseguir la totalidad del fichero. El intríngulis para comprender el mecanismo utilizado, estriba en conocer que, en base a este número al que llamaremos n1, el SO puede leer (traer a memoria) el contenido del cluster (que es perfectamente localizable por su número). Este sería el primer trozo del fichero. A continuación se dirige a la tabla FAT y lee la entrada n1 (hay una entrada por cada cluster del área de datos). El contenido de esta entrada (12, 16 o 32 bits según la FAT utilizada) señala el número del siguiente cluster del fichero. A este nuevo valor lo llamaremos n2. Se lee el cluster n2 y este sería el segundo trozo del fichero. A continuación se consulta en la tabla FAT la entrada n2, cuyo contenido, al que llamaremos n3, indica cual es el cluster que contiene al tercer trozo. El proceso se repite indefinidamente hasta que al consultar una nueva entrada en la tabla FAT, a la que llamaremos nf, su contenido es un número especial (reservado) que no señala un nuevo cluster sino que se ha llegado al final del fichero.

A fin de que pueda recorrerse la estructura en sentido ascendente (de las ramas al tronco), demás de la información anterior, existen dos entradas en la tabla que contiene la dirección de inicio del propio directorio y de su contenedor (su padre). Se denominan punto (.) y doble punto (..) respectivamente, y se utilizan exclusivamente para navegación. Por ejemplo, chdir .. [4].

§4 Directorio raíz

El hecho de que un directorio pueda contener otros directorios, y que cualquier fichero deba estar contenido en un directorio, conduce a que los directorios tienen una estructura jerárquica, y que en cada disco (lógico) debe haber al menos un directorio inicial (que

Page 540: 6721122 D057 Tecnologia Del PC

contenga a todos los demás). Es el denominado directorio raíz, y tiene características especiales:

● Es de tamaño fijo, es decir, puede contener un número fijo de "Entradas" (ficheros o directorios), en cambio los demás pueden tener un número arbitrario [1]. La tabla adjunta muestra el número máximo de entradas en el directorio raíz de distintas unidades:

Disquete 5.25" 360 KB 112Disquete 3.5" 720 KB 112Disquete 5.25" 1.2 MB 224Disquete 3.5" 1.44 MB 224Disquete 3.5" 2.88 MB 448Disco duro --- 512

● Está situado en un punto predefinido (para que pueda ser encontrado). En los sistemas FAT es está situado directamente debajo de las FAT [3]. En cambio el principio de los demás directorios (y ficheros) pueden estar en cualquier parte.

● No puede ser borrado.

● No tiene "Padre". A pesar de ello tiene una entrada "..", pero no contiene la dirección de su padre sino un cero.

§5 Problemas en los sistemas de ficheros

Aparte de los que uno pueda crear o figurarse :-), la idiosincrasia del sistema de encadenamiento utilizado en las meta-estructuras de los sistemas de ficheros, hace que estos sean más o menos propensos a sufrir determinados defectos o accidentes que, por lo sensible del área, pueden acarrear problemas y consecuencias más o menos graves. A continuación mencionaremos los más comunes en los sistemas FAT, que además suelen ser reportados por las utilidades de verificación como scandisk o chkdsk.

Page 541: 6721122 D057 Tecnologia Del PC

§5.1 Clusters perdidos

Este problema, conocido también como de entradas huérfanas. Generalmente tiene su origen en la interrupción brusca de algún proceso (quizas un fallo de corriente). Se debe a que existen clusters que están marcados como utilizados en las tablas FAT, pero en realidad no pertenecen a ningún fichero; no es posible utilizarlos ni recuperarlos con los comandos normales de manejo de ficheros.

La estrategia de corrección utilizada por herramientas como scandisk, siguen un patrón de comportamiento más o menos como el siguiente: se saca una copia de la tabla FAT en memoria [5], y se marcan todas sus entradas que aparezcan como ocupadas con una marca que signifique "utilizada". A continuación, a partir del directorio raíz, se recorren todos los directorios y ficheros y se van anotando las entradas correspondientes a todos sus clusters con una marca especial en la nueva FAT que indique "Verificada" (significa que pertenece a algún fichero o directorio conocido). Al final del proceso, se hace una comparación una a una entre las entradas de la FAT original y la copia en memoria. Todas las entradas de la primera marcadas "ocupada" debe corresponder con una entrada en la copia de memoria con la marca "verificada". Las que conserven todavía la señal "utilizada" son entradas huérfanas, a las que no corresponde ningún trozo de fichero conocido.

Generalmente el programa de recuperación permite borrarlas directamente (declararlas como "libres") o coger los clusters contiguos y asignarlos a ficheros de nombres aleatorios que son creados al efecto. Por ejemplo, en el directorio raíz del volumen. Con las herramientas adecuadas es posible inspeccionar el contenidos de estos ficheros, que suelen ser trozos de ficheros perdidos (o quizás ficheros completos) y tratar de recuperar manualmente la información caso de ser valiosa (generalmente suelen ser trozos de ficheros anteriores borrados, o trozos de versiones anteriores de ficheros actuales).

§5.2 Ficheros de enlaces cruzados

Este problema, conocido como "Cross-Linked Files", aunque generalmente grave y de difícil solución, afortunadamente no es demasiado frecuente. Consiste en que, en ocasiones, las entradas de directorio de dos ficheros distintos señalan al mismo cluster como punto de inicio. El problema es que evidentemente, dos ficheros no pueden ocupar el mismo espacio

Page 542: 6721122 D057 Tecnologia Del PC

físico en el disco, y cualquier operación realizada sobre uno de los ficheros machaca al contrario. La única solución es intentar hacer copia de ambos. Aunque generalmente cuando se descubre el problema uno de los dos ficheros se ha perdido.

§5.3 Fichero o directorio no válido

Se refiere a que en ocasiones, un fichero o directorio no sigue las reglas y convenciones que se supone debe cumplir. Las inconsistencias pueden ser muy variadas. Por ejemplo, una entrada de fichero en el directorio correspondiente que señala un cluster no válido (quizás un número fuera de rango); un directorio que carece de puntero a su directorio "padre"; un fichero o directorio cuyo bit de estado contiene una combinación no válida; que el campo fecha contenga un valor incorrecto. Etc. Generalmente los programas de verificación y corrección como scandisk corrigen este tipo de inconsistencias.

§5.4 Errores de asignación o de FAT

En ocasiones las entradas de la FAT pueden estar corrompidas ("Allocation or FAT Errors"), de forma que contienen valores incorrectos. En ciertos casos, el sistema de copia de la propia FAT permite resolver la incidencia de forma automática. En caso contrario, el problema puede suponer la pérdida irremediable de datos, aunque la utilidad de diagnóstico que lo ha detectado puede corregirlo para el futuro.

Inicio.

[1] Esta limitación fue eliminada en el Sistema FAT-32, pero subsiste en muchos otros sistemas. Por ejemplo, los usuarios Linux saben que si utilizan el sistema de ficheros ext2, al compilar el núcleo deben decidir cuanto espacio reservan para esta tabla.

[2] Como puede verse, solo se utilizan 6 de las 8 posibilidades. Los sistemas de ficheros más desarrollados. Por ejemplo Unix/Linux, disponen de muchos más atributos para los ficheros. En cualquier caso, la mayoría pueden ser modificados fácilmente por el usuario. Si dispone de una interfaz gráfica, haciendo clic sobre el fichero con el botón derecho del ratón.

Page 543: 6721122 D057 Tecnologia Del PC

Si es un una interfaz modo texto, con los comandos rename o attrib, si está en DOS/Windows o rename, chmod, chown, touch etc. si está en Linux.

[3] Nuevamente el sistema FAT-32 representó una innovación, ya que el directorio raíz no tiene que comenzar necesariamente en un lugar definido, sino en cualquier punto del área de datos. A tal efecto, para que pueda ser encontrado, el indicador de este punto de comienzo está incluido en el bloque de parámetros BIOS (BPB) del sector de carga del volumen ( 8.1.2c2).

[4] Este diseño conduce a una evidente limitación en el sistema: Si nos indican un cluster cualquiera de un fichero, sería posible seguir la pista de los siguientes hasta completar la porción de fichero desde el cluster en cuestión hasta el final. Sin embargo, no seríamos capaces de seguir el camino inverso. Es decir, obtener el trozo desde el principio del fichero al cluster dado. En cambio si no posicionamos en un directorio cualquiera con el navegador, es posible seguir el camino descendentes (seguir cualquiera de sus ramas hasta el último nivel) o seguir el camino ascendente hasta alcanzar el directorio raíz de la unidad. Otra forma de indicarlo sería decir que la estructura FAT de ficheros es una lista simplemente enlazada, mientras que la de directorios es una estructura doblemente enlazada ( E1.8)

[5] Precisamente por esta razón (que debe ser leída en memoria), no es posible ejecutar la aplicación scandisk en los sistemas Windows (al menos la versión que acompaña a Windows98SE) con unidades muy grandes. Por ejemplo, al intentar ejecutarla sobre una unidad de 300 GB en un equipo con 512 MB de RAM, aparece el siguiente mensaje: ScanDisk no puede continuar porque su PC no dispone de memoria suficiente. Lo mismo con otras utilidades de disco. Por ejemplo, Defrag.

Inicio

Page 544: 6721122 D057 Tecnologia Del PC

Tecnología del PC[Home] [Inicio] [Índice]

En esta sección:1 Unidades para transporte de datos2 Unidades de Backup3 Servidores de ficheros

Subir

8.2 Discos externos

§1 Antecedentes

Seguramente no estamos inventando la pólvora si decimos que el mundo en que vivimos, se digitaliza a pasos agigantados. Gran parte de la humanidad dispone cada día de más cacharros ("gadgets") digitales. Desde teléfonos móviles a cámaras fotográficas, pasando por reproductores de música y un largo etcétera (ayer vi por primera vez un portarretratos digital [1]). Esto sin contar con que el PC se vuelve cada día más "personal"; no solo existe un PC por cada empleado en cualquier oficina, empresa, o negocio. Incluso en el entorno doméstico son ya muchos los hogares que disponen de más de un ordenador, y la tendencia es que, a partir de cierta edad, cada miembro de la familia disponga del suyo propio (seguramente portátil). En realidad es una repetición de lo ocurrido con los teléfonos móviles.

La consecuencia es que la cantidad de información que generamos y almacenamos crece de forma paralela a la digitalización de nuestras vidas. No solo en las empresas, en las que desde siempre ha habido que archivar cartas, facturas, albaranes, expedientes etc. Almacenamiento que ahora se realiza en formato digital. También en el ámbito privado y doméstico, la cantidad de información que manejamos crece de forma imparable. Los estudiantes trabajan sobre libros y apuntes electrónicos, y casi todo el mundo archiva ya su correspondencia en formato digital (casi seguro en MS Word). También queremos conservar nuestros email, que a fin de cuentas representan un registro de nuestra vida; y por supuesto, queremos conservar nuestras fotos; nuestra música (el MP3 ha desbancado casi por completo al CD), e incluso las películas que bajamos de la Red, o los momentos singulares

Page 545: 6721122 D057 Tecnologia Del PC

capturados con el móvil, que ya es capaz de grabar pequeñas secuencias de audio y video.

La consecuencia práctica de lo anterior es que periódicamente, los almacenamientos en línea (discos) de los equipos se quedan pequeños, en un proceso que podríamos calificar como "natural". Tradicionalmente los grandes sistemas empresariales no tenían gran problema en este sentido; los discos eran fácilmente ampliables, ya que se trataba de unidades externas que se alojaban en la misma sala que la unidad central. Por lo general los cables de conexión y alimentación se tendían por debajo de un falso suelo desmontable, que era y sigue siendo casi obligado en este tipo de instalaciones.

Sin embargo, en los ordenadores personales (PCs) el asunto no es tan fácil. El espacio interno es limitado, y aunque las unidades de disco pueden ser sustituidas (cambiadas por otras de más capacidad), generalmente es complicado instalar más de dos discos duros en una caja estándar. Sobre todo considerando que además debe montarse una unidad CD/DVD y quizás una disquetera. Para complicarlo aún más, las carcasas modernas (barebones) tienden a ser cada vez más pequeñas, y los denominados "Home entertainment" o "Home media center" [2], que comienzan a proliferar como un electrodoméstico más, son del mismo tamaño que un reproductor de video tradicional. Si nos referimos a los portátiles, que son cada vez más frecuentes como ordenador personal, e incluso en las empresas, como opción para el personal móvil, el asunto de la ampliación del almacenamiento se presenta aún más problemático.

§2 La solución externa

Desde 2005 a esta parte, ha empezado a emerger con fuerza un abanico de soluciones, destinadas tanto al ámbito empresarial, como a la informática personal; del hogar, o de las PYMES [3]. Consiste en la utilización de discos externos montados en carcasas ("housing") específicamente diseñadas para este propósito. Puede afirmarse que sin excepción, todos los fabricantes, incluyendo los de discos duros, han presentado soluciones en este sentido.

Existen distintos tipos, soluciones y capacidades. Para empezar comenzaremos clasificándolos según el uso al que están destinados, aunque debemos advertir que dichos usos no son necesariamente excluyentes. Por ejemplo, una unidad pensada primordialmente

Page 546: 6721122 D057 Tecnologia Del PC

para transportar datos, puede ser eventualmente utilizada como unidad de back-up y viceversa. La clasificación sería como sigue:

● Unidades para transporte de datos. Son unidades de pequeño tamaño en cuyo diseño priva la movilidad y robustez. Representan la evolución natural del primitivo disquete y han sustituido a este.

● Unidades de back-up. Son dispositivos cuya misión es almacenar copias de seguridad. Las unidades suelen ser extraíbles e intercambiables.

● Servidores de ficheros. En esta categoría se incluyen desde unidades externas para informática personal, a unidades SAN / NAS para redes (intranets) de pequeñas empresas, o departamentales.

Desde fechas relativamente recientes, las siglas SAN / NAS han irrumpido con fuerza en la tecnología actual.

NAS ("Network Attached Storage"). Sistema de almacenamiento enlazado (ligado) a redes. El concepto NAS fué creado en 1996 y desde su nacimiento ha sido una opción asequible y fácil de instalar. Las unidades NAS están unidas a la red a través de una LAN convencional, los dispositivos NAS se gestionan de forma independiente, por lo que resultan muy adecuados para su utilización a nivel departamental o de grupo de trabajo.

El sistema se basa en dispositivos de almacenamiento (discos) instalados en servidores (generalmente mediante conexiones SCSI o SATA). A su vez, los servidores están conectados a la red local mediante protocolos TCP/IP. Este es precisamente uno de sus inconvenientes, el acceso a los datos solo puede hacerse a través del servidor NAS correspondiente; cuando cualquier nodo necesita acceder al servidor los datos deben viajar por la LAN, con la consiguiente penalización en el tráfico.

SAN ("Storage Area Network") es un nuevo concepto (1998) que trata de dar

Page 547: 6721122 D057 Tecnologia Del PC

respuesta al volumen creciente de datos que han de ser almacenados en los actuales entornos de red. Creando una SAN los usuarios pueden separar el tráfico de almacenamiento del resto de las operaciones de red, y obtener conexiones directas entre los servidores y los dispositivos de almacenamiento.

Básicamente una SAN es una red especializada que permite accesos rápidos y fiables entre servidores y los recursos de almacenamiento independientes o externos. En una SAN (al contrario que en el paradigma NAS), los dispositivos de almacenamiento no son propiedad exclusiva de ningún servidor, sino que, por el contrario, se comparten entre todos los servidores de la red como si fueran recursos "peer". De la misma forma que una LAN permite conectar clientes y servidores, una SAN puede establecer comunicación entre servidores y dispositivos de almacenamiento, o entre servidores y entre dispositivos de almacenamiento. Contra lo que pudiera parecer, una SAN no precisa de una red específica. Puede utilizarse para este fin una subred virtual dentro de la infraestructura de una intranet compartida.

En el presente capítulo ofreceremos un breve repaso a las principales características de las distintas soluciones que ofrece la tecnología actual.

Inicio.

[1] 12-05-2006. Aunque conocía de su existencia por las revistas especializadas, me refiero a la exposición en un comercio de un dispositivo real.

[2] Equipos que integran un PC de altas prestaciones, junto con todos los dispositivos de E/S necesarios para la grabación y reproducción de música y video. Representan una evolución del reproductor DVD tradicional, que a pasado a convertirse en un dispositivo polifacético orientado al entretenimiento. Aparte de los puertos E/S propios de cualquier PC estándar, incluyen un grabador/reproductor CD/DVD con posibilidad de grabación de video. Sintonizador de FM y capturadora de TDT (Televisón Digital Terrestre); conexión a Internet; tarjeta de sonido multicanal, y quizás ranuras para lectura de distintos tipos de tarjetas de

Page 548: 6721122 D057 Tecnologia Del PC

memoria (para cámaras de fotos). Generalmente dotado de un mando a distancia y utilizando la pantalla del televisor como salida. A la fecha (2006) suelen montar MS Windows XP Media Center Edition 2005 como Sistema Operativo.

[3] Acrónimo de "Pequeña y Mediana Empresa". Equivalente al SOHO ("Small Office/Home Office") en la literatura inglesa.

Inicio

|Índice| Copyright © 2000-2006 Zator Systems. NO software patents

Page 549: 6721122 D057 Tecnologia Del PC

Tecnología del PC[Home] [Inicio] [Índice]

En esta sección:a Discos de estado sólidob Spin disks

Subir

8.2.1 Discos externos para transporte de datos

§1 Antecedentes

En los comienzos de la informática personal, cuando teníamos que transportar datos de un sitio a otro. Por ejemplo, si queríamos demostrar un programa en la oficina de un cliente, bastaba llevar un disquete con la aplicación y cargarlo en el primer PC disponible. Sin embargo, la exigua capacidad del disquete y su progresiva desaparición de muchos equipos (especialmente portátiles). Unido al hecho de que prácticamente ninguna aplicación para Windows cabe en un disquete, han contribuido a que esta solución haya dejado de ser viable. Desde luego, la posibilidad de grabar un CD o un DVD siempre estará presente. Sin embargo, algunas unidades no disponen de este tipo de lector. Además el proceso de grabación es bastante lento, y determinadas aplicaciones exigen operaciones de lectura/escritura sobre sus ficheros, cosa que no es posible en los soportes de policarbonato.

Para resolver el problema, han aparecido distintos tipos de discos externos destinados a transportar cómodamente la información de un punto a otro. En su diseño priman la movilidad; la robustez (deben aguantan pequeños golpes), y un tamaño reducido para facilitar el transporte. Prácticamente todas las unidades de esta clase utilizan conexión USB, y en cuanto a su construcción, existen dos tipos:

● Discos de estado sólido. En realidad memorias que no pierden su contenido al ser desconectadas y que mediante el controlador adecuado se comportan como un disco duro normal.

Page 550: 6721122 D057 Tecnologia Del PC

● Discos duros tradiconales conectados y alimentados desde el puerto USB. Para distinguirlos de los anteriores se los denomina también discos de rotación ("spin disks").

Nota: hace unos años, se popularizaron algunas unidades de este tipo en forma de tarjetas PCMCIA (PC Cards) tios I y II. Sin embargo, en la actualidad han sido casi totalmente sustituidas por dispositivos USB, ya que este tipo de conexión es más universal que la PC Card, que es casi exclusiva de los portátiles.

Inicio

|Índice| Copyright © 2000-2006 Zator Systems. NO software patents

Page 551: 6721122 D057 Tecnologia Del PC

Tecnología del PC[Home] [Inicio] [Índice]

Subir

Sig. 8.2.1a Discos externos de estado sólido

§1 Sinopsis

Fig. 1

Los discos externos de estado sólido ("Solid state disks"), reciben distintos nombres: pen drives, por su aspecto de pluma o bolígrafo; flash drives, por el tipo de memoria que utilizan; flash card disks, si tienen aspecto de tarjeta, flash disks, etc. En lo sucesivo, y dado que nos referimos a los que utilizan conexión USB, los denominaremos UMSD ("USB Mass Storage Disks").

Básicamente consisten en una memoria flash montada en un soporte tipo lápiz, llavero, o similar (fig. 1), aunque también existen unidades con aspecto de una tarjeta de crédito (fig. 2). Técnicamente no se diferencian en nada de los distintos tipos de tarjeta de memoria que estamos acostumbrados a ver en cámaras digitales, reproductores de audio y dispositivos análogos (Memory Sticks, Digital Cards, etc).

2.1 Características técnicas

Page 552: 6721122 D057 Tecnologia Del PC

Fig. 2

La capacidad de las unidades UMSD oscila generalmente entre 64 MB y 4 GB. Su consumo es del orden de 30 mA. a una tensión de 4.5 ~ 5.5 V., de forma que pueden ser alimentadas cómodamente desde la conexión USB, la cual puede proporcionar hasta 500 mA sin necesidad de fuente adicional.

Una vez instaladas se comportan exactamente igual que una unidad de disco interna. No obstante, debemos advertir que son mucho más lentas que aquellos. La especificación de los fabricantes suele mencionar velocidades de transferencia de 600/900 Kbit/segundo. Esta lentitud se debe principalmente a las características eléctricas de las memorias flash, cuyo proceso de borrado es comparativamente muy lento; más que los procesos de L/E en los discos duros actuales, e incomparablemente más que en las memorias RAM dinámicas.

Nota: las tarjetas que se suelen utilizar en dispositivos electrónicos, como cámaras de foto y similares. Por ejemplo, las SmartMedia de Toshiba; Memmory Stick de Sony, etc., suelen ser más rápidas que las utilizadas en los dispositivos UMSD normales, aunque mucho más caras. Algunos modelos montan incluso un microprocesador dedicado.

La memorias flash EPRON puede ser clasificada dentro del grupo de las EEPROM (Electrically Erasable Programmable Read-Only Memory), que mediante determinados artificios, puede comportarse como una memoria RAM no volátil (que no pierde la información cuando cesa la alimentación). Este tipo de memoria puede ser grabada, tras lo cual mantiene los datos aún cuando sea desconectada [1]. El proceso de borrado necesita de cierta energía adicional, tras lo cual pueden grabarse nuevos datos. La diferencia entre la flash EPRON y la EEPRON es que en esta última, el proceso de borrado afecta a la totalidad de su contenido, mientras que en la flash puede borrarse un byte cada vez, aunque lo normal es que el proceso se realice por bloques.

Están construidas por una matriz de elementos, cada uno capaz de almacenar un bit. Cada elemento está constituido básicamente por un par de transistores. El primero, denominado puerta flotante ("flating gate") es el que guarda realmente la información según su estado de

Page 553: 6721122 D057 Tecnologia Del PC

conducción. El segundo, denominado puerta de control ("control gate") es el que hace cambiar de estado a la puerta flotante. Ambos transistores están separados por una delgada lámina de óxido. Los cambios en la puerta de control afectan a la conducción de la puerta flotante mediante un proceso denominado efecto túnel ("Fowler-Nordheim tunneling").

Inicio.

[1] Originariamente las memorias EEPRON se utilizaron en dispositivos programables para almacenar el programa y los datos, los cuales eran grabados instalando el chip de memoria en un dispositivo especial de grabación, desde el que se transfería la información, que quedaba almacenada en la memoria de forma permanente mientras que no se la sometiera a un proceso especial de borrado.. De ahí lo de "Programmable" de su nombre. Sin embargo, actualmente su utilización mayoritaria es en discos de estado sólido, para almacenar toda clase de datos en cámaras digitales, videojuegos, reproductores portátiles de audio, y dispositivos análogos.

Sig. Inicio

|Índice| Copyright © 2000-2006 Zator Systems. NO software patents

Page 554: 6721122 D057 Tecnologia Del PC

Tecnología del PC[Home] [Inicio] [Índice]

Subir

9.1 Física del Color

§1 Presentación

Podría parecer que los aspectos teóricos de la luz, en cuanto a energía electromagnética, interesan poco o nada al informático o al que tiene que habérselas con un programa de edición gráfica o de retoque fotográfico. Sin embargo, en este, como en otros ámbitos de la técnica, resultan de inestimable ayuda un cierto vocabulario y un mínimo "Background" sobre los principios físicos involucrados. Por ejemplo, le ayudarán a entender que significa exactamente el canal alfa, o que ocurre cuando se copia una imagen semitransparente sobre un fondo coloreado.

§2 La Luz

Lo que conocemos como "luz", es nuestra percepción de la radiación electromagnética (EM) que es captada por el ojo y trasladada por el nervio óptico hasta el cerebro, donde crea una mezcla de sensaciones que son las "imágenes" que "vemos". Esta sensación es cualitativa, matiz o coloración (colourfulness); saturación (cuanto color de cada matiz), y cuantitativa, brillo (brightness); cuanta luz. Como veremos a continuación, la sensación producida por esta radiación dista mucho de ser uniforme y objetiva (igual para todas las personas). Además, la sensación luminosa de una imagen se ve influenciada grandemente por las condiciones ambientales.

Page 555: 6721122 D057 Tecnologia Del PC

Nota: Isaac Newton dijo: "Indeed rays, properly expressed, are not coloured". En realidad, la radiación electromagnética no es de colores; estos (los colores) solo existen en nuestro cerebro.

§3 Aspectos fundamentales de la radiación EM

La radiación electromagnética es una variación periódica de los campos eléctrico y magnético del éter. Esta variación (perturbación) tiene la propiedad de transportar energía y dos características fundamentales: su velocidad de propagación, y su frecuencia.

Según la física clásica, la radiación electromagnética se propaga a una velocidad constante de 2.9979 108 m/s. Es lo que conocemos como "velocidad de la luz". Este valor es una constante de la naturaleza y es costumbre designarla c.

La frecuencia F es el número de cambios (ciclos) en unidad de tiempo (segundo). Se mide en ciclos/segundo, también denominados Herzios (abreviadamente Hz), en recuerdo del físico que la descubrió [1], de modo que

F = ciclos/seg. = Hz

Al espacio recorrido por la onda en un ciclo se le denomina longitud de onda (la representaremos por L). Como el espacio recorrido en la unidad de tiempo (1 segundo) es constante (aproximadamente 300.000 Km), y en este tiempo hay F ciclos, la longitud de cada ciclo es aproximadamente de 300.000 / F (el resultado en Km/ciclo).

Existe una relación directa entre la longitud de onda y su frecuencia, por lo que resultan magnitudes

Page 556: 6721122 D057 Tecnologia Del PC

Fig. 1

equivalentes, y es indistinto referirse a una radiación señalando su frecuencia o su longitud de onda, ya que conociendo una puede deducirse fácilmente la otra mediante las fórmulas:

L = c / F <==> F = c / L

Por ejemplo: La longitud de onda 400 nm (nanometros E1.7.1) corresponde a la frecuencia:

F = 2.9979 108 / 400 10-9 = 7.49474 108 MHz

§4 El espectro electromagnético

La radiación electromagnética existe en un rango extraordinariamente amplio de frecuencias, que se conoce como espectro electromagnético. El ojo humano es capaz de "ver" la radiación cuya longitud de onda está comprendida en un margen de 310-330 nm aproximadamente. Son las radiaciones que se extienden desde la longitud de onda de 400 nm (que percibimos como violeta) y la de 700 nm (que percibimos como luz roja). Por encima y por debajo están respectivamente las radiaciones infrarrojas y ultravioletas que no son ya perceptibles por el ojo humano, aunque sí por algunos animales (serpientes e insectos especialmente).

Nota: la energía que recibimos del Sol en forma de radiación electromagnética, está en

Page 557: 6721122 D057 Tecnologia Del PC

su mayor parte en el rango de 2x10-7 a 4x10-6 metros de longitud de onda.

La radiación electromagnética va mucho más allá del infrarrojo y el ultravioleta. Dependiendo de su longitud de onda, recibe diversos nombres; desde rayos gamma a ondas de radio largas, pasando por la que denominamos "Luz"; los rayos X, las ondas utilizadas por TV y radiodifusión de onda corta, larga, FM etc; aunque es importante no perder de vista que en todos los casos se trata del mismo fenómeno físico: una perturbación del campo magnético y eléctrico del éter.

Long de onda (m) Nombre Uso

10-15 / 10-11

Tamaño del núcleo del átomo

Rayos Gamma Tratamiento del cáncer

10-10 Tamaño del átomo

Rayos-X Comprobación de materiales; Uso médico.

10-8 (10-400 nm) Ultravioleta Germicida, Luz negra, Bronceado

10-6 (400-700 nm) Diámetro de una bacteria

Zona visible del espectro

Óptica

10-4 / 10-6 Infrarrojo Radiación del cuerpo humano. Calentar

Cuanto menor es la longitud de onda de la radiación, las estructuras con las que puede interactuar son menores, y su energía es mayor. En este sentido, las radiaciones gamma, cuya longitud de onda es del orden de magnitud del núcleo del átomo, son más energéticas que las ondas de radio difusión (AM), cuyo tamaño es de centenares de metros, y la luz violeta de 400 nm es más energética que la roja de 700 nm.

Nota: dentro del espectro visible,

Page 558: 6721122 D057 Tecnologia Del PC

10-2 Tamaño de un ratón

Microondas Hornos de microondas, relojes atómicos. UHF

100 Tamaño del hombre

. Radiodifusión de onda corta; FM; Radar y TV.

103 Tamaño de un pueblo

Radio frecuencia (RF)

Radiodifusón de onda media AM.

106 Tamaño de un país

Audio frecuencias Radiodifusión de onda larga

la energía portada por los fotones oscila entre 0.5 eV para el infrarrojo y 2.9 eV para el ultravioleta [2]. Por ejemplo, la luz roja tiene una energía de 1.7 eV aproximadamente, mientras que en la luz azul es de 2.7 eV.

El efecto de las radiaciones electromagnéticas depende de su longitud de onda. En la tabla adjunta se muestra un resumen de sus propiedades.

La distribución cromática de la luz solar es aproximadamente igual para todas las frecuencias del espectro visible, es la denominada "luz día". En cambio, la distribución de otras fuentes luminosas artificiales, como lámparas de tungsteno (incandescentes) o de neón (fluorescentes), es asimétrica; tienen preponderancia ciertos colores frente a otros. Es la llamada "luz artificial" de la que existen varios tipos.

En la página adjunta se incluyen algunos comentarios sobre las radiaciones EM utilizadas en comunicación ( H9.1w1).

§5 Percepción humana del color

Como hemos señalado, el ojo humano solo es sensible a un estrecha gama de frecuencias de espectro electromagnético (aproximadamente 4.2-7.5 1014 Hz ). Entre ambas longitudes de onda percibimos los diferentes colores del arco iris, el denominado espectro visible,

Page 559: 6721122 D057 Tecnologia Del PC

que es una ínfima parte del total del espectro. Las longitudes de onda de los colores principales son aproximadamente las siguientes:

Violeta 400-440 nm Amarillo 530-590 nm

Azul 440-480 nm Naranja 590-630 nm

Verde 480-530 nm Rojo 630-700 nm

La percepción de la luz y el color se rige por mecanismos extraordinariamente complejos y ricos en detalles en los que el ojo en sí mismo no es un mero captador de señales que se envían al cerebro, sino un dispositivo capaz de pre-procesar la señal recibida. La retina del ojo humano tiene cuatro tipos de células sensibles a la luz. Tres de ellas, las denominadas conos, tienen distintas sensibilidades a las radiaciones del espectro, e intervienen en la visión normal (fotópica) y en la percepción de los colores. El cuarto tipo de células, los bastones, son extraordinariamente sensibles a la luz de intensidad muy baja, y colaboran a la visión en semi-oscuridad (en la denominada visión nocturna o escotópica), pero no tienen influencia en la formación de imágenes en condiciones normales de iluminación. Existen unos 6 millones de conos y 100 millones de bastones en cada ojo, aunque su distribución no es uniforme. La mayor concentración se produce en la mácula, que es la zona donde percibimos mayor finura en los detalles.

Aunque la sensibilidad a la luz varía de una persona a otra, en el espectro de frecuencias visibles tenemos una gran capacidad de discriminación (en este rango podemos distinguir unos 10 millones de colores distintos). El ojo humano es más sensible a la luz verde/amarilla que a rojos y azules (la sensibilidad al amarillo es de orden de seis veces mayor que al azul). Coloquialmente decimos que el azul tiene una pequeña contribución a la sensación de brillo, mientras que el amarillo la tiene alta (esto lo saben bien los pintores). Sin embargo, el ojo humano tiene más capacidad para distinguir matices en los colores azules que en los amarillos. En realidad el ojo tiene una mayor sensibilidad cromática para los colores extremos del espectro (especialmente rojos, azules y morados), de forma que tiene más

Page 560: 6721122 D057 Tecnologia Del PC

capacidad para distinguir diferencias de color en estos que en los centrales, sin embargo estos últimos (verdes y amarillos) tienen valores máximos de saturación, es decir, son percibidos como más brillantes y luminosos.

Aparte de esta distinta sensibilidad para los diferentes colores, la resolución monocromática del ojo es mucho mayor que la cromática. Dicho en otras palabras: podemos distinguir mucho mejor diferencias de tono en la escala de grises que entre escalas de color. Además, cuando los detalles se van haciendo más y más pequeños el ojo deja de poder detectar las diferencias de color, llegando un punto en que se vuelve virtualmente ciego para los colores, aunque aún puede distinguir diferencias de brillo. Parece que esto se debe a los bastones a los que nos referíamos antes.

Un aspecto curioso de la percepción humana de la luz es la no linealidad de la respuesta del ojo a las variaciones de luminosidad (luminancia H9.1.1 ), o dicho en otras palabras, la sensibilidad humana a sus variaciones no es lineal, sino prácticamente logarítmica. Esto explica que la luminosidad aparente de un objeto que tenga el 50% de la luminosidad real otro, no se percibe como la mitad de luminoso. De hecho basta una reducción del 18% de la luminosidad entre dos objetos para que la luminosidad aparente de uno parezca la mitad del otro.

Nota: observará el lector que en este párrafo hemos utilizado dos conceptos: La luminosidad real (una magnitud física) y la aparente (la percepción que tenemos de esa magnitud). Estos conceptos son explicados con más detalle en la página siguiente ( H.9.1.1)

Los sicólogos creen que la señal transmitida por el nervio óptico no depende el número de fotones de diferentes frecuencias que alcancen los conos de la retina, sino más bien de la relación entre estas cantidades. Esto significaría que el ojo no codifica la luminancia sino el contraste, y explica que una fotografía vista en condiciones de mucha y poca luz, parezca igual, a pesar de la diferencia de luz que refleja en cada caso. En consecuencia, las tecnologías de reproducción deben prestar más importancia a las diferencias (de color e intensidad) que a los valores absolutos. Otra consecuencia es que la sensación de realidad

Page 561: 6721122 D057 Tecnologia Del PC

de una imagen está más influida por una adecuada gradación de tonos o colores (profundidad de color utilizada) que por la definición.

Ejemplo: los cuadrados centrales de ambos lados del dibujo son exactamente iguales. Observe como la luminosidad aparente varía en cada caso según la luminosidad del contorno. Esto explica por ejemplo, que la pantalla de nuestro ordenador parezca gris cuando está apagada, pero algunas zonas nos parecen negras cuando está en funcionamiento a pesar de que en ese momento tienen "ausencia de luz" (el mismo color que cuando está apagada).

Parece que la causa de esta sensibilidad no lineal a la luminancia, radica en una especie de integración mental del color y la luminosidad de la escena; teniendo en cuenta que la luminosidad se refiere tanto a la existente en el área focal (central) como a la visión periférica. La consecuencia es que por ejemplo, la percepción de la luminosidad y el contraste en un monitor (que son controlados por el factor gamma H9.5), depende no solo de los datos en la memoria de imagen ("Frame buffer"), de las características físicas del tubo y del mecanismo de transferencia. También depende de la luz que incida sobre la pantalla (que depende de la iluminación del local); de la luz y color del fondo (background de la aplicación) e incluso de la luz ambiente (alrededor de la pantalla, mesa de trabajo, fondo, etc).

La diferente sensibilidad cromática del ojo, unida a su sensibilidad (no lineal) a la intensidad de la luz recibida, hacen que sea difícil arbitrar medidas lumínicas que tengan correspondencia con la sensación humana. Cuando se hicieron evidentes las especiales características de la percepción humana del color y la luz, se decidió crear una organización

Page 562: 6721122 D057 Tecnologia Del PC

que estudiase un modelo humano universal (estadístico). Al efecto se creó la CIE ("Commission Internationale de L'Eclairage"), que como veremos a continuación, ha elaborado definiciones y magnitudes relativas a la percepción humana de la radiación en el espectro visible.

§6 Webografía

● International Color Consortium www.color.org

El propósito de esta organización es promover el uso y la adopción de plataformas independientes y universales para el manejo del color. El sitio contiene documentos interesantes ("White Papers"). En especial una presentación: "ICC slide presentación", disponible en formato PDF o PowerPoint ofrece una introducción muy didáctica a la problemática del manejo informático de los colores.

● Ryley Quarles www.humboldt.edu/~rq1/

Este sitio mantenido por el autor, de la universidad californiana de Humbolt, contiene interesante información sobre el color.

● Poynton's Color FAQ www.inforamp.net/~poynton/ColorFAQ.html

Este sitio contiene información muy técnica sobre colorimetría y otros aspectos físicos del color.

● Algunas preguntas y respuestas (FAQ) sobre el color www.gusgsm.com/faqcolor/inicio.html

Magnífica introducción, en español y con estupendas figuras, sobre los aspectos básicos de la física del color en forma de preguntas y respuestas. Su

Page 563: 6721122 D057 Tecnologia Del PC

autor, Stephen Westland, es especialista en el estudio del color; profesor de Ciencia del Color en la Escuela de Diseño de la Universidad de Leeds (Gran Bretaña), y director de la firma Colour Ware Ltd.

Inicio.

[1] Heinrich Rudolf Hertz (1857-1894). Físico alemán descubridor de las ondas electromagnéticas (Hertzianas). Sus descubrimientos permitieron posteriormente a Marconi la invención de la radio.

[2] Los fotones son la menor cantidad (cuanto) de luz que puede existir (se les puede considerar como "partículas" de luz). eV (electrón-Voltio), es la energía ganada por un electrón (carga eléctrica negativa unitaria) cuando pasa por un campo eléctrico de 1 Voltio.

Inicio

|Índice| Copyright © 2000-2006 Zator Systems. NO software patents

Page 564: 6721122 D057 Tecnologia Del PC

Tecnología del PC[Home] [Inicio] [Índice]

Subir

9.1.1 Cuantificar la luz

Nota: al tratar de la radiación electromagnética en el espectro visible, se superponen dos ámbitos: El primero se refiere a los aspectos puramente físicos de la cuestión. En este caso las magnitudes y vocabulario utilizados son los propios de la física, objetivos e independientes de la percepción humana. El segundo se refiere a aspectos de la "luz" y del "color"; trata por tanto aspectos subjetivos (percepción humana de la radiación a través del sentido de la vista). En este caso los patrones de medida utilizados, e incluso el vocabulario empleado, están afectados de ciertas correcciones para acercarse a las características muy especiales que tiene la percepción humana de la "luz visible". Como dificultad añadida podemos señalar que el vocabulario utilizado en óptica y fotometría no es en general demasiado consistente.

§1 Medida de la radiación electromagnética

Además de la frecuencia (y longitud de onda) ya señaladas ( H9.1), existen otras magnitudes significativas en la radiación electromagnética, algunas especialmente importantes desde el punto de vista óptico. Estas magnitudes están directamente relacionadas con la percepción que tenemos de la luz.

§1.1 Flujo radiante

Las radiaciones electromagnéticas

Page 565: 6721122 D057 Tecnologia Del PC

Fig. 2

transportan energía, de forma que un objeto luminoso (radiador) emite energía y cualquier objeto iluminado la recibe. La potencia radiante o flujo radiante P es la medida de la cantidad de energía electromagnética que emite un radiador por unidad de tiempo. Se mide en Watt.

La energía transportada puede manifestarse de formas muy diversas en los cuerpos que la reciben: propiciando reacciones químicas (fotosíntesis y bronceado), efectos eléctricos (fotocélulas), efectos mecánicos (viento solar), calentamiento (estufas de infrarrojos), etc.

§1.2 Intensidad radiante

La intensidad radiante Ir expresa la energía emitida por un cuerpo radiante en cada dirección del espacio. Se expresa en Watts/estereoradián (W/sr). Si el radiador emite por igual en todas direcciones y dado que una esfera tiene 4π estereoradianes [3], puede establecerse que un emisor cuyo flujo radiante sea P, produce en sus inmediaciones una intensidad radiante Ir = P / 4π Watt/sr.

§1.3 Densidad de radiación

Los efectos de la radiación electromagnética se expresan mejor en término de la energía emitida (o recibida) por unidad de superficie en unidad de tiempo. En este sentido, más que la potencia radiante del emisor (que puede estar muy alejado) o la intensidad, interesa la densidad de radiación H, que es el valor de la Potencia radiante por unidad de superficie. Se expresa en W / m2.

Conocida la intensidad radiante Ir de un emisor, puede calcularse la densidad de su

Page 566: 6721122 D057 Tecnologia Del PC

radiación H a una distancia d:

H = Ir / d2

Como puede verse, la densidad de radiación decrece rápidamente al alejarse del foco emisor (con el cuadrado de la distancia). Por esta razón, los planetas más alejados del Sol son comparativamente más fríos que los más próximos, y la "luz" de una linterna ilumina más intensamente los objetos próximos que los lejanos.

Nota: en el caso de un cuerpo radiante, la densidad de radiación emitida por su superficie se denomina también poder emisivo.(He) Cuando se refiere a la densidad de radiación absorbida por un cuerpo en su superficie, se denomina poder absorbente (Ha).

§2 Medida de la percepción luminosa

Al estar originada por una radiación electromagnética, la intensidad luminosa no debería ser diferente de la intensidad radiante , sin embargo, dado que la luz es la percepción humana de la radiación, cuando se intentan realizar medidas sobre su intensidad (que denominamos brillo) se presentan dificultades, ya que para una misma intensidad radiante, las distintas longitudes del espectro visible producen distintas sensaciones de "brillo".

Para salvar estas diferencias, la CIE ( H9.1) realizó numerosos experimentos en cuanto a la sensación del brillo percibido por distintos observadores para una misma intensidad radiante en distintas longitudes de onda (distintos colores). El resultado obtenido se conoce como eficiencia luminosa del observador estándar, y muestra que la sensación de brillo es máxima para los colores centrales del espectro (amarillos y verdes), y que esta sensibilidad decrece rápidamente para los colores extremos (violetas y rojos) [4].

La representación gráfica de la sensación subjetiva de brillo para los distintos colores se denomina curva de luminosidad relativa (fig.

Page 567: 6721122 D057 Tecnologia Del PC

Fig. 3

3), en la que puede verse como la sensibilidad máxima corresponde a la radiación de 555 nm de longitud de onda (zona del amarillo), y como tiende asintóticamente a cero a ambos lados del máximo (no es posible poner límites precisos al espectro visible). La escala de ordenadas se ha tomado arbitrariamente igual a la unidad para el máximo de la curva. El valor de la ordenada para cada longitud de onda se denomina coeficiente de luminosidad relativa.

Como consecuencia de lo anterior, cuando el flujo radiante, la intensidad radiante o la densidad de radiación se refieren a la zona visible del espectro, se utilizan magnitudes especiales afectando las anteriores por el coeficiente de luminosidad relativa. Por ejemplo, si se tienen tres tres fuentes luminosas roja R, verde G y azul B, cuyas densidades de radiación respectivas son de igual valor (H), la que parece más luminosa es la verde, después la roja y finalmente la azul. Si queremos expresar la sensación que produce cada una mediante una magnitud que denominaremos L, la densidad H debe estar afectada por un factor de corrección para que corresponda con la sensación que produce. Estas densidades ponderadas serían:

Lg = H * 0.715Lr = H * 0.213Lb = H * 0.072

Nota: el problema con este tipo de magnitudes ponderadas es que para que la información sea completa desde el punto de vista físico (objetivo), junto con el valor de magnitud es preciso informar de la longitud de onda de referencia (en nuestro ejemplo

Page 568: 6721122 D057 Tecnologia Del PC

suponemos conocidas las longitudes de onda de las fuentes que hemos denominado R, G y B).

§2.1 Flujo luminoso

El flujo radiante afectado por el coeficiente de luminosidad relativa se denomina flujo luminoso. La unidad fundamental utilizada en colorimetría es de intensidad luminosa (ver a continuación), de forma que la unidad de flujo luminoso, denominado lúmen (lm) se define en función de la unidad de intensidad. lumen = candela · sr. En la tabla adjunta se muestra un gráfico comparativo de flujos luminosos

2.800 Lúmenes

Ambientes

exteriores

1.800 Lúmenes

Mucha luz

ambiental

1.200 Lúmenes

Luz ambiental

media

El flujo luminoso también puede ser expresado en unidades absolutas: si consideramos un emisor monocromático de 555 nm cuyo flujo radiante sea de 1 Watt, entonces su flujo luminoso será de 685 lúmenes. En consecuencia el lúmen puede ser definido como el flujo de un emisor monocromático de 555 nm que radiase 1/685 Watt.

Nota: la relación flujo luminoso / flujo radiante de una determinada fuente luminosa se denomina rendimiento luminoso, se expresa en lumen/Watt.

Generalmente el estudio del flujo luminoso de un emisor se realiza dividiendo el espectro visible en 31 zonas, cada una de 10 nm de ancho de banda y midiendo el flujo para la

Page 569: 6721122 D057 Tecnologia Del PC

Poca luz

ambiental

frecuencia media del intervalo. La distribución resultante se conoce como SPD ("Spectral power distribution") y muestra como se distribuye el total de energía irradiada entre las frecuencias del espectro.

En la práctica las fuentes luminosas no son "puras", en el sentido de que no emiten luz de una sola longitud de onda, sino varias, aunque las de una banda determinada puedan ser preponderantes sobre las demás. Un color puro sería aquel cuyo flujo luminoso total estuviese íntegramente contenido en una de las bandas. La proporción de pureza de un color se denomina saturación, intensidad, limpieza o cromaticidad (muy saturado, muy intenso, muy puro, muy limpio o de cromaticidad elevada son expresiones equivalentes en cromatografía). Su contrario es la acromaticidad (insaturación o impureza); se presenta cuando el flujo luminoso se reparte casi por igual en todas las bandas del espectro, lo que origina colores de tonos desvaídos (pastel). El caso extremo de luz perfectamente acromática es cuando el flujo luminoso se reparte exactamente por igual en todas las bandas. En este caso el color varía del negro al blanco a través de la escala de grises.

Nota: la saturación de un color puede definirse como la proporción de color en relación con el brillo, o dicho en términos mas precisos: la proporción de la longitud de onda dominante (color dominante) respecto al total de longitudes de onda que componen el color (que se percibe como brillo). La mínima saturación corresponde al gris neutro que es totalmente insaturado, mientras que la saturación máxima corresponde a los colores puros del espectro. Una forma de disminuir la saturación de un color es añadirle luz blanca (luz de todas las frecuencias); de este modo la frecuencia dominante permanece prácticamente constante mientras que sube el brillo, con lo que la saturación baja.

§2.2 Intensidad luminosa

Cuando la intensidad radiante se refiere a zonas del espectro visible, se utiliza una magnitud denominada Intensidad luminosa que se obtiene afectando la intensidad de

Page 570: 6721122 D057 Tecnologia Del PC

radiación por el coeficiente de luminosidad relativa. La intensidad luminosa resulta mucho más adecuada que la intensidad radiante para los estudios relativos a la luz y el color, porque incorpora la corrección adecuada a la percepción humana.

La unidad de intensidad luminosa es la candela (cd), una magnitud fundamental en el SI (Sistema Internacional de Unidades de Medida [2] ). Es la intensidad luminosa en una dirección dada, de una fuente de radiación monocromática de 555 nm (un tono de amarillo de 540 x 1012 Hz) cuya intensidad radiante es 1/683 Watt/estereorradián en dicha dirección. También puede ser expresada en relación con el flujo luminoso:

candela = lumen / estereoradián

Como puede verse, la relación entre la intensidad radiante y la intensidad luminosa para la luz de 555 nm es que 1 W/sr = 683 cd, aunque esta relación no se mantiene igual para el resto de frecuencias del espectro.

Nota: al estudiar el color (especialmente en informática o artes gráficas) se utilizan fuentes de radiación planas (monitores o lienzos), y aunque es una unidad fundamental, la intensidad luminosa no es adecuada para describir la radiación de fuentes muy pequeñas como los píxeles, sobre todo cuando están rodeados de muchos otros similares, por lo que es más útil utilizar el flujo luminoso en tales estudios.

§2.3 Densidad luminosa

La densidad de radiación afectada por el coeficiente de iluminación relativa es la densidad luminosa. Su unidad es el Lux (lx), definido como 1 lúmen/m2, o lo que es lo mismo: 1 candela · sr / m2. Esta magnitud recibe otros nombres: iluminación (densidad luminosa incidente), iluminancia y radiancia (densidad luminosa emitida). Es la proporcionada por los instrumentos de medición de luz utilizados en fotografía (fotómetros).

La densidad luminosa es la que conocemos vulgarmente como "iluminación". En este sentido decimos que un sitio está bien o mal iluminado según sea su densidad luminosa. A

Page 571: 6721122 D057 Tecnologia Del PC

título comparativo, la tabla adjunta muestra algunos valores típicos de densidad luminosa:

Fuente de luminación

densidad luminosa lx

Máximo de luz solar 100.000

Día nublado 10.000Luz de plenilunio 0,2

Luz de las estrellas 0,0003

§2.4 Luminancia

La luminancia, luminosidad o brillo [7], es la intensidad luminosa por unidad de superficie, se designa por Y, y su unidad es el Nit (del latín "nittere" - brillar-) definido como candela/m2. Es lo que coloquialmente designamos como "brillo" de una pantalla o imagen. Corresponde a lo que la CIE define como luminosidad o claridad ("Lightness"), definida por esta como un atributo de la sensación visual por el que un área parece que emite más o menos luz (todos tenemos claro el concepto de lo que significa una estrella más o menos brillante).

Un aspecto curioso es que la respuesta del ojo humano a las variaciones de luminancia es prácticamente logarítmica. Basta una reducción del 18% de la luminancia entre dos objetos para que la luminancia de uno parezca la mitad de otro. A título orientativo se muestran los valores de luminancia para algunas fuentes de luz.

Luminancia (nits) Fuente1.6 * 109 Disco solar a medio día

Page 572: 6721122 D057 Tecnologia Del PC

600.000 Disco solar en el ocaso120.000 Lámpara incandescencia 60 W11.000 Fluorescente8.000 Cielo despejado2.500 Disco lunar en plenilunio2.000 Cielo cubierto.200 Pantalla de ordenador

0,0004 Cielo en noche oscura

Nota: los valores de brillo de las pantallas estándar son del orden de 150 a 250 nits. Tradicionalmente las pantallas planas tenían una menor luminancia que las de tubo CRT, pero actualmente (2004) alcanzan niveles e 400 nits.

Es frecuente establecer la luminancia como un porcentaje de otra que se establece como referencia (de forma explícita o implícita), que se denomina blanco de referencia Yw ("White reference"). Por ejemplo, un monitor puede tener un blanco cuya luminosidad Yw sea 100 candelas/m2, una luminosidad Y = 1 se refiere a este valor, 0.5 a la mitad, etc.

Nota histórica: Como se ha indicado, la unidad fundamental de fotometría es la intensidad luminosa, y el primer patrón fue también de intensidad luminosa [5], la bujía patrón, correspondiente a la luminosidad de una bujía real de esperma (*) construida según ciertas normas. Evidentemente este patrón no resultaba permanente y había dificultad para reproducirlo, por lo que se sustituyó por lámparas de incandescencia con filamento de carbón que eran calibradas con una bujía de esperma. Finalmente, en 1948 el patrón fotométrico pasó a ser un patrón de brillo (luminancia), definido en función del brillo de un cuerpo negro a la temperatura de solidificación del platino. En consecuencia la unidad fundamental (candela) pasó a ser definida en función del nuevo patrón como la intensidad luminosa tal que el brillo de un cuerpo

Page 573: 6721122 D057 Tecnologia Del PC

negro a la temperatura de solidificación del platino sea de 600.000 candelas/m2.

Esta aparentemente extraña definición, que equivale a la enunciada anteriormente, se realizó con intención de que resultase equivalente a la anterior basada en base al patrón bujía, pero mediciones posteriores demostraron que era ligeramente inferior.

* Sustancia grasa que se extrae de ciertas cavidades de la cabeza del cachalote.

§3 El cuerpo negro

Casi todos los libros de física o cualquier disciplina relacionada con la luz y el color hacen referencia al cuerpo negro. Vamos a intentar una somera explicación sobre el mismo porque es un concepto importante para entender estas cuestiones:

En general cuando un cuerpo recibe radiación electromagnética (por ejemplo luz), una parte de esta radiación es absorbida y otra reflejada [6]. La fracción reflejada se denomina coeficiente de reflexión (r) y la fracción absorbida coeficiente de absorción (a). Ambos coeficientes son números abstractos tales que a + r = 1. El balance energético se ha simbolizado en la figura 4, donde H representa la radiación recibida; r·H la fracción reflejada y a·H la fracción absorbida. El término He representa la energía irradiada por el cuerpo en función de su propia temperatura (esta radiación es independiente que de que reciba o no energía H del exterior).

Nota: el inverso de r se denomina opacidad (1/r) y su logaritmo de base 10 (log 1/r) densidad. Por ejemplo, si una superficie refleja el 25% de la energía recibida, su coeficiente de reflexión es r = 0.25; su opacidad es 4 (1/0.25), y su densidad es 0.60 (log 4). Estas últimas magnitudes se utilizan

Page 574: 6721122 D057 Tecnologia Del PC

Fig 4

principalmente en fotografía y artes gráficas.

La suma de energías reflejada y absorbida debe ser igual al total H de energía que incide sobre el cuerpo: r·H + a·H = H --> (r + a) H = H --> r + a = 1, pero observe que independientemente de esto, el cuerpo puede emitir cierta radiación por sí mismo (señalada He en la figura). La energía reflejada no tiene efecto sobre el cuerpo, pero la absorbida y la emitida tienen influencia en el equilibrio térmico.

Además de reflejar una parte de la radiación recibida, todos los cuerpos emiten radiación He en razón de su propia temperatura (los seres humanos emitimos radiación infrarroja). Cuando la energía recibida es mayor que la emitida ( a · H > He ), el cuerpo se calienta; como consecuencia de éste calentamiento la energía emitida aumenta. El proceso continúa hasta que se alcanza el equilibrio (ver a continuación Temperatura del color ).

Un cuerpo cuyo coeficiente de reflexión fuese 1 (y el de absorción 0) sería un espejo perfecto (reflejaría la totalidad de la energía recibida). Del mismo modo, un cuerpo cuyo coeficiente de reflexión fuese 0 (y el de absorción 1) sería un receptor perfecto (absorbería la totalidad de la energía recibida). Por supuesto no existen cuerpos perfectamente reflectantes ni perfectamente absorbentes, aunque pueden construirse espejos que reflejan más del 99% de la energía recibida, y el negro de humo solo refleja el 1% de la energía que recibe.

Un receptor perfecto, que absorbe toda la energía incidente se denomina cuerpo negro. Es una abstracción teórica que no existe en la realidad, aunque puede ser simulado con bastante precisión por una pequeña abertura practicada en una caja que se ha pintado interiormente con negro de humo (fig 5). En este caso la abertura en sí misma es lo más parecido a un cuerpo negro.

Page 575: 6721122 D057 Tecnologia Del PC

Fig. 5

No existe receptor más perfecto que el cuerpo negro, pero como veremos a continuación, tampoco existe radiador que lo supere, ya que las capacidades de absorción y radiación están en razón directa, por lo que es mejor denominarlo radiador perfecto.

Nota: no confundir el hecho de que el cuerpo negro no refleje nada de la energía recibida con el hecho de que pueda emitir él mismo energía si su temperatura es suficientemente elevada. En consecuencia un cuerpo negro puede no parecer negro desde el exterior. De hecho, la mayoría de aplicaciones del "cuerpo negro" en óptica se basan en la radiación emitida por él.

Si un cuerpo está en equilibrio térmico a una temperatura t determinada, la energía absorbida es igual a la emitida ( a · H = He ). Esto exige que la energía recibida por unidad de superficie en un tiempo dado sea igual a la emitida por unidad de superficie en el mismo tiempo. Es decir: su poder emisivo y absorbente ( ) deben ser iguales He = Ha. Si recibe una densidad de radiación H del exterior, el balance de energías por unidad de superficie comprende los siguientes factores:

Densidad total recibida HDensidad absorbida: Ha = a · H (poder absorbente)

Densidad reflejada: Hr = r · H

Densidad emitida: He (poder emisivo)

Puesto que Ha = a · H = He, puede establecerse que Ha / He = 1. La consecuencia es que la relación entre el poder absorbente y el emisivo de un cuerpo es constante e igual para todas las superficies a la misma temperatura (observe que en el supuesto no hemos mencionado para nada la naturaleza de la superficie). Este hecho se conoce como ley de

Page 576: 6721122 D057 Tecnologia Del PC

Kirchoff, y tiene importantes repercusiones prácticas. Implica que si una superficie tiene un poder absorbente grande, su poder emisivo también lo es (en consecuencia el cuerpo negro es también el emisor perfecto). Recíprocamente, si una superficie tiene un poder absorbente pequeño, su poder emisivo también es pequeño. Esto explica, por ejemplo, que los termos se construyan con una superficie interior plateada (que tiene un gran poder reflexivo y un poder absorbente pequeño), porque su poder emisivo también es pequeño, y en consecuencia el termo perderá poca energía (calor) por radiación (la conducción por convección está limitada por las dobles paredes con un vacío interior) [1].

§4 Temperatura del color

Todos los cuerpos emiten radiación electromagnética de diversas longitudes de onda en función de su temperatura; es la denominada radiación térmica (el cuerpo humano la emite en la zona del infrarrojo 10-4 a 10-6 m). Cuando la temperatura es suficientemente elevada esta radiación corresponde al espectro visible y es conocido de antiguo que las substancias emiten luz cuando se calientan. Es el principio que hace resplandecer la llama de una vela o el filamento de la lámpara de incandescencia. La distribución espectral de esta radiación es dependiente de la temperatura alcanzada por el objeto. Por ejemplo, los herreros saben que la temperatura del hierro al "rojo cereza" en la fragua es muy inferior a la del hierro al "rojo-blanco".

En física se sabe que la SPD de un radiador depende de su temperatura. Las temperaturas bajas proporcionan tonos rojos y amarillos, mientras las elevadas proporcionan tonos azules. Precisamente la diferencia del color de luz proporcionada por una vela, una lámpara de incandescencia normal, o una lámpara de cuarzo, radica la distinta temperatura de trabajo de su material emisor.

Es frecuente caracterizar el tipo de luz proporcionado por una fuente luminosa por su temperatura de color, en referencia a la temperatura (en grados Kelvin) que tendría un radiador perfecto que proporcionase el mismo tipo de luz. A título de orientación la tabla adjunta muestra las temperaturas de color típicas de distintas fuentes luminosas.

Page 577: 6721122 D057 Tecnologia Del PC

Temperatura de color

Fuente luminosa

1.000 K Luz de vela

2.500 - 3.500 K Lámpara incandescencia

4.000 - 5.000 K Fluorescentes "luz día"

5.000 - 6.000 K Flash electrónico

6.000 - 7.000 K Luz diurna día luminoso

Aunque la temperatura del color puede ser un indicador aproximado del tipo de luz (distribución espectral) proporcionado por una fuente luminosa, se trata de una aproximación grosera de la SPD, que es siempre un indicador más exacto de esta magnitud.

§4.1 Balance de blanco

La temperatura de color de la iluminación es determinante en el color de los objetos iluminados, en consecuencia es muy importante en las artes gráficas y especialmente en fotografía. En artes gráficas la temperatura de color estándar para trabajar con colores es de 5.000 K (en esta notación no se utiliza el símbolo de grado). Por su parte los fotógrafos saben perfectamente que no todas las fuentes de iluminación tienen la misma temperatura de color. Por ejemplo, si van a iluminar con luz natural o flash (que tiene una temperatura de color alta), utilizan una película adaptada a este tipo de luz (denominada "luz día"). Mientras que si la iluminación a utilizar es de incandescencia (por ejemplo una escena de interior) deben utilizar película apropiada a una temperatura de color más baja (aproximadamente 3200 K); es la película denominada "luz artificial" en el argot. La razón de esta selección es que en caso contrario el resultado deja mucho que desear.

Page 578: 6721122 D057 Tecnologia Del PC

Los diversos tipos de película están fabricados de forma que compensen los colores dominantes de cada temperatura de color. En consecuencia utilizando la película adecuada, las escenas de exterior y las interiores aparecen igualmente correctas. En cambio, si se utiliza película luz día para fotografías de interior, aparecen con un dominante rojo muy acentuado. Si por el contrario se utiliza película de luz artificial para fotografías al aire libre, aparecen excesivamente azules.

Como se ha señalado, la fotografía tradicional (que utiliza película sensible) tiene en cuenta la temperatura de color de la luz ambiente mediante una correcta selección de la película, y adicionalmente en el proceso de positivado. En la fotografía digital es posible tener en cuenta este factor mediante el denominado balance de blanco. Consiste en indicar a la cámara qué color es exactamente blanco, para que la propia cámara pueda realizar las correcciones oportunas de forma que efectivamente aparezca como tal, con independencia de la temperatura de color de la luz ambiente (simultáneamente se realizan las correcciones correspondientes a todos los colores).

El procedimiento utilizado consiste enfocar un blanco patrón (una tarjeta blanca) que cubra totalmente la escena y presionar algún botón. Alternativamente puede disponerse de un capuchón blanco traslúcido con el que se cubre el objetivo mientras se presiona el botón. Para evitar este inconveniente y no tener que realizar el calibrado cada vez que se obtiene una instantánea, algunas cámaras disponen de balances de blanco preconfigurados que corresponden a las temperaturas de color de las situaciones más frecuentes. Por ejemplo, incandescencia, fluorescencia, luz del sol y nublado. En estos casos basta seleccionar el tipo de iluminación actual y la cámara realiza el ajuste automáticamente.

Nota: además de las cámaras digitales, otros dispositivos de reproducción (impresoras y pantallas) pueden requerir un ajuste de blanco. Por ejemplo, en las pantallas se utilizan los ajustes de brillo y contraste para conseguir que un objeto blanco aparezca como realmente blanco ( 9.5).

Inicio.

Page 579: 6721122 D057 Tecnologia Del PC

[1] Las formas de transmisión de energía son tres: radiación, conducción y convección (esta última se presenta solo en líquidos y gases).

[2] El Sistema Internacional de Unidades de medida (SI) es un refinamiento del primitivo sistema MKS que utiliza 6 unidades básicas: metro, Kilogramo, segundo, amperio, grado Kelvin y candela.

[3] Estereoradián (sr) es el ángulo sólido que teniendo su vértice en el centro de una esfera de radio R, intercepta sobre la superficie de dicha esfera un área de valor R2 (equivalente a la de un cuadrado de lado R).

[4] En realidad los experimentos se realizaron en condiciones de luminosidad alta y de luminosidad atenuada. Los resultados mostraron que la sensibilidad aumenta mucho cuando la iluminación es muy atenuada (por ejemplo bajo la luz de las estrellas) y que bajo estas condiciones la sensibilidad máxima se desplaza ligeramente hacia las longitudes de onda mas bajas (hacia el rojo). Este efecto es conocido como efecto Purkinje.

[5] No confundir el patrón de medida con la unidad fundamental. El primero es una magnitud que pueda ser fácilmente reproducida y estable. Por ejemplo la distancia, medida a cierta temperatura, entre dos marcas en un bloque de platino que se conserva en cierto sitio. La unidad fundamental es aquella que se toma como base y a partir de la cual pueden expresarse las otras magnitudes físicas. Como su valor no puede ser completamente establecido en función de otras unidades, en su definición interviene necesariamente un patrón al menos. La elección de qué magnitud se considera fundamental y cual derivada puede ser algo arbitraria.

[6] La partes reflejada y absorbida no mantienen la misma proporción para todas las frecuencias recibidas, unas son absorbidas casi completamente mientras que otras son casi completamente reflejadas. Esta reflexión selectiva es precisamente el origen del "Color" que presentan los cuerpos fríos iluminados bajo luz blanca. En ocasiones, además de la reflexión normal, la superficie emite espontáneamente una radiación de longitud de onda algo mayor que la absorbida. El fenómeno se conoce como fluorescencia, y es especialmente notorio con luz ultravioleta (todos recordarán los extraños efectos de color que origina la "luz negra" en las discotecas).

Page 580: 6721122 D057 Tecnologia Del PC

[7] El brillo ("Brightness") es uno de los mejores ejemplos de la poca consistencia del vocabulario utilizado en este área. Desafortunadamente, además del enunciado se utiliza con otros significados:

● Densidad luminosa .

● Una propiedad de papel de impresión definida como el porcentaje de luz reflejada cuando se ilumina con luz de 457 nm (azul).

● Intensidad luminosa .

● Si se aplica a un color significa que es una luz muy saturada o "limpia" (casi monocromática).

Inicio

|Índice| Copyright © 2000-2006 Zator Systems. NO software patents

Page 581: 6721122 D057 Tecnologia Del PC

Tecnología del PC[Home] [Inicio] [Índice]

Subir

9.2 Sistemas cromáticos

§1 Presentación

En la enseñanza elemental aprendemos que la luz blanca está compuesta (o puede ser descompuesta) en los diferentes colores del espectro visible, lo que es puesto en evidencia mediante el clásico experimento del prisma. También nos enseñan que el arco iris natural, es el resultado de la descomposición de la luz blanca del sol por las gotas de agua en la atmósfera, y que el negro es la ausencia de color (de luz). Por otra parte, los pintores saben de antiguo que determinados colores pueden componerse a partir de otros.

§2 El sistema sustractivo

El color de un objeto, observado bajo luz blanca, se debe a que el objeto absorbe todas las longitudes de onda, excepto las correspondientes a "su" color, que son reflejadas e inciden en nuestra retina; este es justamente el principio de los pigmentos. Al añadir un pigmento a

Page 582: 6721122 D057 Tecnologia Del PC

una sustancia (o "pintar" externamente un objeto), le agregamos la capacidad de absorber todas las longitudes de onda excepto una específica. En realidad bastan tres colores básicos para conseguir cualquier color mediante mezclas adecuadas.

Se denominan colores "básicos" porque a partir de ellos pueden conseguirse los demás. La combinación de los colores básicos dos a dos, produce los colores secundarios. A su vez, la mezcla de los colores secundarios origina los colores terciarios.

El sistema de colorear mediante pigmentos se denomina sustractivo, porque supone que, partiendo de la luz blanca, se suprimen determinadas longitudes de onda. El color resultante es el de las longitudes no suprimidas. En este sistema, el color blanco se consigue por la ausencia de colorantes.

Nota: El hecho de que todos los colores puedan ser reconstruidos a partir de tres colores básicos tiene un sustento biológico. La retina del ojo humano tiene tres tipos de células sensibles a la luz denominadas conos, con distintas sensibilidades a las radiaciones del espectro visible.

El sistema sustractivo se denomina también CMY por las iniciales de los colores básicos utilizados; Cyan (un verde azulado), Magenta (rojo violaceo) y Yellow (amarillo). El efecto de los colores básicos en cualquier combinación es como sigue: el magenta refleja las frecuencias correspondientes a azules y rojos, pero absorbe los verdes. El cyan refleja los azules y verdes, mientras que absorbe los rojos. Por su parte el amarillo refleja los rojos y verdes, absorbiendo los azules. Los colores secundarios que se obtienen a partir de CMY son el rojo, azul y verde, representados abreviadamente por el acrónimo RGB ("Red Green Blue") de sus designaciones inglesas.

El sistema CMY es el método de reproducción de color utilizado en las artes gráficas e impresoras. Donde casi siempre se parte de una superficie (papel) blanca, que refleja todas

Page 583: 6721122 D057 Tecnologia Del PC

las longitudes del espectro visible, y se añaden pigmentos (tintas) cian, magenta y amarillo, que absorben determinadas longitudes de onda y dejan pasar otras que constituyen el color resultante. A éste método de impresión se le denomina tricomía.

En teoría el color negro puede obtenerse mediante suma de los colores básicos CMY, sin embargo para conseguir negros intensos y buen contraste, es preferible utilizarlo directamente, en cuyo caso el método de impresión se denomina cuatricromía o CMYK (la "K" representa el negro "Black"). En la figura se muestra el aspecto de una impresión en color a través de con una lupa de gran aumento.

§2.1 Sistemas de impresión

La realización práctica de una impresión en color puede realizarse según dos métodos: El denominado de color simple ("Spot color") o el de color compuesto ("Process color"). El sistema de color simple utiliza tintas del color que se desea obtener, y es adecuado cuando la impresión tiene solo dos o tres colores distintos. Cuando la imagen a reproducir contiene más de dos o tres tonos, o es "a todo color", se utiliza el sistema de color compuesto, que utiliza tricomías o cuatricomías.

El sistema de colores simples utiliza tintas de color dentro de una "carta" de colores más o menos extensa (el sistema o carta de colores más conocido es el Pantone ). Presenta el inconveniente de que el color a imprimir debe ser alguno de la carta, pero tiene la ventaja de una exacta coincidencia entre el color deseado y el resultante. Por contra, el sistema de color compuesto permite imitar casi cualquier color mediante la mezcla en proporciones adecuadas de los colores básicos, pero presenta el inconveniente es que es más difícil asegurar la exacta coincidencia de tonos entre el original y el resultado.

Los sistemas informáticos de impresión utilizan cartuchos con los colores básicos. Las impresoras y plotters de gama media-baja utilizan cartuchos de tres colores. Los sistemas de gama alta y profesionales utilizan cuatricomías, contando incluso con depósitos para tintas que pueden ser utilizados para impresiones tipo "Spot color".

Page 584: 6721122 D057 Tecnologia Del PC

§3 El sistema aditivo

Existe un segundo procedimiento de conseguir los colores. Consiste en partir del negro (ausencia de luz), e ir añadiendo mayor o menor cantidad de luz de tres colores básicos, a partir de los cuales se consigue cualquier otro color, incluyendo la luz blanca (cuando los tres colores básicos se mezclan en igual proporción).

Este método se denomina sistema aditivo, porque los colores se obtienen "añadiendo" luces al negro. Los colores básicos necesarios son rojo, verde y azul (RGB) -los secundarios del sistema sustractivo-. Es el método de reproducción del color utilizado en monitores de ordenador y televisiones en color, porque crean los colores añadiendo luces a un fondo negro.

A la derecha se muestra una representación gráfica de éste sistema utilizando un espacio tridimensional y un sistema de ejes cartesianos para representar el espacio del color.

Observe que las componentes RGB de un color cualquiera serían las coordenadas colorimétricas. Que el origen de coordenadas (0,0,0) corresponde al negro, y que el lugar geométrico de los puntos que satisfacen la condición R = G = B es una línea, la escala de grises. A su vez, los planos R-G, G-B y B-R son respectivamente los espacios de color del Amarillo, Cian y Magenta.

Page 585: 6721122 D057 Tecnologia Del PC

En la figura izquierda puede comprobarse como los colores secundarios del sistema RGB son precisamente Amarillo, Cian y Magenta (colores fundamentales del sistema CMY), de forma que en cierta medida el sistema aditivo RGB y el sustractivo CMY, son complementarios.

Existe una regla nemotécnica para recordar los colores secundarios de cada sistema y como se forman a partir de los primarios. Basta escribirlos en dos filas superpuestas en el orden señalado:

R G BC M Y

La forma de lectura es considerando que, por ejemplo, R + G (de la fila superior) produce el color Y de la tercera posición en la fila inferior. A su vez, C + Y (de la fila inferior) produciría G (elemento central de la fila superior), etc.

Si observamos desde muy cerca el tubo de un monitor, televisión, o cualquier otro dispositivo de reproducción de imágenes en color que produzca luz, observamos una textura parecida a la figura. En realidad, lo que consideramos puntos de color están formados por ternas de píxeles con los colores básicos del sistema aditivo (RGB). Al contemplarlo desde lejos nuestro cerebro los mezcla produciendo el resto de colores del espectro.

Nota: En las pantallas planas de tipo LCD ("Liquid Crystal Display"), tanto activas (TFT "Thin Film Transistor") como pasivas, las ternas de pixels están en tres capas superpuestas, de forma que aún inspeccionándolas de cerca, solo se ve un píxel con la luz resultante de las tres capas.

Page 586: 6721122 D057 Tecnologia Del PC

Como veremos más adelante ( H9.4), el modelo cromático utilizado en las aplicaciones informáticas es aditivo, ya que se realiza sobre monitores CRT ("Cathodic Ray Tube") o pantallas LCD ("Liquid Crystal Display") que utilizan esta tecnología para representar el color. En consecuencia, los programas de edición gráfica, e incluso los lenguajes de programación representen los colores en función de sus componentes RGB. Por ejemplo, el lenguaje HTML de programación de páginas Web utiliza una representación hexadecimal ( E2.2.4b) del tipo COLOR="#AA16CC" para representar los valores de rojo, verde y azul. En este algoritmo los dos primeros caracteres representan el rojo, los dos centrales el verde y los dos últimos el azul. Los valores oscilan entre 00 (decimal 0) para ausencia de luz de ese color a FF (decimal 256) que representa la máxima intensidad de componente. Como puede adivinarse fácilmente, los colores puros se representan respectivamente mediante "#FF0000" para el rojo, "#00FF00" para el verde y "#0000FF" para el azul. También habrá adivinado que la combinación "#FFFFFF" representa el blanco, y que "#000000" representa el negro (ausencia de color).

§5 Otras propiedades

En fotografía y artes gráficas se utilizan materiales en películas delgadas, por lo que además de conocer los coeficientes de reflexión y absorción ( 9.1) de tales materiales (tintas generalmente), es importante también conocer su mayor o menor capacidad para interceptar o dejar pasar la luz a su través. Naturalmente esta capacidad está relacionado con los coeficientes citados, pero en estos casos es frecuente utilizar directamente valores de opacidad y transparencia.

§5.1 Opacidad

En fotografía se define como el inverso de la fracción de luz que pasa a través o es reflejada por un color determinado. Cuando se refiere a una tinta de impresión o a una pintura describe su capacidad para tapar el color sobre el que se aplica.

Page 587: 6721122 D057 Tecnologia Del PC

Color opaco

Color transparente

En general la opacidad es una propiedad deseable en las pinturas, aunque las pinturas y tintas reales no son perfectamente opacas. Todos sabemos que en ocasiones es preciso dar varias "manos" cuando se desea cubrir una pintura antigua oscura con un color claro.

§5.2 Transparencia

Se refiere a la capacidad de ciertas tintas de permitir el paso de parte de la luz incidente, que es reflejada por el sustrato. El color resultante es el de la parte de luz reflejada (color de la pintura) mas el color del substrato. Esta propiedad es opuesta a la opacidad, de forma que una pintura totalmente opaca tiene transparencia 0 y una totalmente transparente es de opacidad 0.

La opacidad y transparencia son propiedades de las pinturas y tintas reales, pero pueden ser simuladas en los colores utilizados en informática. Para esto se definen colores que, además de sus componentes básicos (RGB), disponen de un cierto grado de transparencia que se incluye en el denominado canal alfa ( H9.4), de forma que al ser representados en una ventana ("Canvas") que tiene un color previo, los colores definidos como transparentes sufren una alteración en función del color del fondo, consiguiéndose así un efecto de transparencia/opacidad más o menos acusado.

§6 Bibliografía

● Pantone Inc. www.pantone.com/

Page 588: 6721122 D057 Tecnologia Del PC

Es la empresa más conocida en cuanto a tecnología del color para impresión. En este sitio hay gran cantidad de información sobre el mundo del color, incluyendo no solo cuestiones relacionadas con la impresión tipográfica, o física del color, también aspectos como la comunicación mediante el color o sus aspectos históricos, culturales o sicológicos.

Inicio

|Índice| Copyright © 2000-2006 Zator Systems. NO software patents

Page 589: 6721122 D057 Tecnologia Del PC

Tecnología del PC[Home] [Inicio] [Índice]

Subir

9.3 Sistemas de representación

§1 Sinopsis

Trataremos aquí los procedimientos utilizados para capturar, manejar y reproducir imágenes por medios informáticos. Suponemos que este proceso se realiza desde el espacio de color de entrada al de salida. Por lo general se pretende que exista la máxima coincidencia y fidelidad entre ambos espacios.

§2 Digitalización

La codificación de una imagen para su tratamiento informático comienza por su digitalización, que implica sustituir la imagen real (que tiene infinitos puntos) por un conjunto finito de valores susceptibles de ser manejados por medios informáticos. Este conjunto finito de valores representa la "imagen digitalizada" o simplemente "imagen"; para referirnos al original utilizaremos la expresión "imagen original".

Existen dos forma básicas de digitalización que se distinguen por la forma en que se construye la imagen digitalizada: ráster y vectorial.

§2.1 Representación ráster,

Denominada también mapa de bits ("bit-map"), consiste en sustituir los infinitos puntos de la imagen original por un conjunto finito de puntos, píxeles [1], tomados a intervalos regulares. Estos

Page 590: 6721122 D057 Tecnologia Del PC

puntos constituyen los nudos de una malla (generalmente las separaciones horizontal y vertical son iguales). A partir de aquí, el conjunto de píxeles representa los infinitos puntos de la imagen real.

A continuación los puntos de color son reducidos a números para su almacenamiento y tratamiento en el ordenador; el conjunto de valores numéricos adopta la forma de una matriz a la que denominamos matriz-imagen. La forma en que un punto de luz es reducido a un número varía según el método utilizado y se expone detalladamente más adelante (Representación Numérica del Color H9.4), pero podemos adelantar que este número, o conjunto de números, debe indicar con precisión tanto el color color (tono) como el brillo (cuanta luz de dicho tono) y la saturación (pureza del color) de original correspondiente.

§2.2 Representación vectorial

En este modo de representación, la imagen está igualmente constituida por puntos, pero en vez de almacenar una matriz finita de puntos se almacenan vértices, reglas de trazado de líneas y de coloreado de superficies y líneas. Las imágenes vectoriales son más adecuadas que las bit-map para ciertos tipos de aplicaciones (dibujos técnicos, planos, cartografía, etc.) porque en realidad guardan reglas matemáticas, por lo que contra lo que sucede con las imágenes ráster, pueden ser escaladas a cualquier tamaño sin pérdida de calidad.

Nota: en lo sucesivo nos referimos exclusivamente a las imágenes de mapa de bits.

§3 Definición

La cantidad de puntos tomados como muestra representan la definición absoluta de la imagen, que se mide en píxeles. Por ejemplo, las características técnicas de una cámara digital nos informan que su sensor CCD [2] es de 4 Mpixels; esto nos indica que cualquier imagen adquirida con la cámara estará constituida por 4 millones de píxeles.

En muchas ocasiones la definición absoluta no es significativa; en su lugar se utiliza la definición relativa o resolución, que se refiere a la imagen reproducida, y que se mide en píxeles por pulgada ppp. Por ejemplo, las características de una impresora nos informan que su definición es de 400 ppp; suponiendo que la distribución de puntos de la muestra es uniforme en sentido horizontal y vertical, significa que cualquier imagen impresa con esta impresora, se reproducirá a razón de

Page 591: 6721122 D057 Tecnologia Del PC

160,000 puntos por pulgada cuadrada (aproximadamente 6.45 cm2), equivalente a 24.800 p/cm2 o 157,48 p/cm.

La mayoría de monitores de ordenador tienen una resolución del orden de 72 ppp. Esta resolución es suficiente para las imágenes en pantalla, pero resulta de escasa calidad si se utiliza para imprimir una imagen.

Nota: en ocasiones el término resolución se utiliza para designar el número de píxeles que puede ser manejado por un adaptador gráfico o un monitor. Por ejemplo, se dice que un monitor tiene una resolución de 800 x 600 o de 1.280 x 1.024, significando el número de píxeles horizontales y verticales.

En la mayoría de los casos la definición relativa es más explícita que la absoluta. Por ejemplo, la reproducción de la imagen de la cámara anterior en un tamaño 9 x 12 cm. (un tamaño estándar de fotografía), proporcionaría una definición de 37.037 p/cm2; como vemos, superior a la definición máxima que proporciona la impresora; este resultado podría considerarse relativamente aceptable. Sin embargo, la misma imagen reproducida en un tamaño 18 x 24 tendría una definición de solo 9.259 p/cm2, que en la mayoría de los casos significaría una definición muy pobre.

§4 Tipos de reproducción

Sea cual sea el método de representación de la imagen real (digitalización) y la definición empleada, el tratamiento informático de la imagen, incluyendo la reproducción posterior del original, puede hacerse de tres formas básicas: Blanco y negro; Escala de grieses y Color. Los dos primeros son denominados también monocromáticos.

§4.1 Reproducción en Blanco y negro

Page 592: 6721122 D057 Tecnologia Del PC

Denominado también B/W ("Black and White"), es el sistema más sencillo y más compacto, el que requiere menos espacio para almacenar la imagen digitalizada. Aunque es el que proporciona peor fidelidad en la reproducción, sin embargo puede resultar adecuado en ciertos casos. Por ejemplo el reconocimiento óptico de caracteres OCR ("Optical character recognition").

A cada pixel de la imagen escaneada se le asigna un color que solo puede ser blanco o negro [3]. Posteriormente, a cada píxel se le asigna un número; por ejemplo 0 para el negro y 1 para el blanco. De esta forma un píxel puede estar representado por un número pequeño (incluso por un bit).

En este tipo de imágenes, cada píxel tiene gran cantidad de puntos adyacentes de su mismo color (blanco o negro), por lo que aceptan fuertes tasas de compresión. La figura adjunta reproduce una imagen escaneada del original utilizando una reproducción B/W (el fichero .GIF [4] correspondiente ocupa 2.169 Bytes).

§4.2 Reproducción en Escala de grises

Este sistema utiliza también un solo color, pero entre el blanco y el negro pueden darse una serie de tonos intermedios (escala de grises). El tono de cada píxel puede estar representado por un número, por ejemplo de 4 bits. En este caso, caben 16 posibilidades (de 0 a 15). Se asigna un valor 0 al negro y el valor más alto (15), al blanco, los tonos intermedios son numerados del 1 al 14.

La imagen superior muestra una escala de grises; en cada cuadro se ha expresado el porcentaje de negro utilizado; el 0% corresponde al blanco (que coincide con el fondo de la

Page 593: 6721122 D057 Tecnologia Del PC

página), el 100% es el negro puro. La diferencia entre cada cuadro es del 10%.

Nota: Observe que desde el punto de vista del color, todos los tonos de gris contienen la misma proporción de los tres colores básicos, lo único que cambia es la saturación (brillo) de los componentes.

La fidelidad de las reproducciones en escala de grises suele ser bastante buena, pero depende de la correspondencia utilizada para la asignación Color real <=> Tono de gris. La figura adjunta muestra la imagen del caso B/W pero esta vez escaneada en escala de grises. La imagen .GIF resultante es de 58.245 Bytes.

§4.3 Reproducción en Color

En éste caso se intenta reproducir lo más fielmente posible los colores del original. Habida cuenta que cada píxel debe ser digitalizado (reducido a un número), y que los monitores utilizan el sistema aditivo ( H9.2), la mayoría de las veces el píxel se considera descompuesto en sus tres componentes RGB, indicándose la proporción de cada uno (brillo) mediante una terna ordenada de números (ver a continuación Representación numérica del color H9.4). Suponiendo 0 para la ausencia de color y 100 para el máximo, tendríamos las combinaciones de colores que se muestran en la tabla adjunta.

Page 594: 6721122 D057 Tecnologia Del PC

Codificación RGB Color resultante Muestra

0,0,0 Negro

100,100,100 Blanco

100,0,0 Rojo

0,100,0 Verde

0,0,100 Azul

100,100,0 Amarillo

0,100,100 Cián

100,0,100 Magenta

100,50,50 Salmón

En la imagen se muestra la reproducción de la misma figura que en casos anteriores escaneada en color RGB. La imagen .GIF resultante tiene 46.650 Bytes.

§5 Otros conceptos fundamentales

En el tratamiento informático (digital) de imágenes se utilizan dos conceptos que conviene conocer: la profundidad de color y la paleta de colores.

§5.1 Profundidad de color

Page 595: 6721122 D057 Tecnologia Del PC

El número de bits utilizados para representar el color de cada píxel se denomina profundidad de color. En el caso de una profundidad n, significa que existen 2n posibilidades para cada píxel. O lo que es lo mismo: que la imagen puede tener 2n colores (o tonos de gris) distintos. Es importante recordar que, debido a las especiales características de la percepción humana, la profundidad de color es tanto o más determinante que la definición en cuanto a la calidad de la imagen resultante .

La profundidad de color utilizada en el tratamiento informático de imágenes oscila entre 1 y 32 bits, aunque los valores normales son 8, 16 o 24. En el primer caso existen 256 (28) posibilidades de color, incluyendo el blanco absoluto 255, y el negro 0. La representación con 16 bits permite 65,536 (216) valores distintos, mientras que con 24 son posibles 16,777,216 combinaciones (224). Esta última cantidad es desde luego superior a la capacidad de discriminación del ojo humano y resulta más que suficiente en la mayoría de aplicaciones.

Nota: El color de 32 bits no añade en realidad más información cromática al color (que utiliza 24 bits). Como veremos a continuación ( H9.4), los 8 bits sobrantes se usan para indicar el grado de transparencia ( H9.2).

Generalmente la profundidad de color n se reparte equitativamente entre cada uno de los colores básicos RGB (canales de color), de forma que suele ser un múltiplo de 3. Por ejemplo 24, en cuyo caso cada color simple dispondría de 8 bits para su descripción, lo que conduciría a 256 (28) niveles para cada componente R, G y B. Sin embargo no siempre es así, y se adoptan disposiciones asimétricas en las que se destinan distinta cantidad de bits para cada canal. Por ejemplo, cuando se utilizan 16 bits de profundidad de color existe una modalidad que utiliza 5 para el canal rojo, 5 para el azul y 6 para el verde que es el más luminoso.

§5.2 Paleta de color

La paleta de color no es una propiedad del color sino de los sistemas de representación físicos o algorítmicos (ya sea una impresora o un sistema de codificación). Se refiere al número máximo de colores que pueden ser representados por el dispositivo. Tanto los ordenadores como los dispositivos físicos (impresoras y monitores) son finitos en el sentido que pueden representar un número finito de colores ( E2.2.4a). A éste conjunto de valores posibles lo denominamos paleta o espacio de color del dispositivo.

Page 596: 6721122 D057 Tecnologia Del PC

Nota: recordemos que a efectos prácticos, y dejando a un lado consideraciones de física cuántica, la gama de colores "reales" del espectro es infinita.

Como hemos visto en el epígrafe anterior, en los sistemas de representación algorítmicos (matemáticos) la paleta de color está directamente relacionada con la profundidad de color utilizada. En los dispositivos físicos, por ejemplo impresoras o pantallas, la paleta de color viene determinada por las limitaciones de sus elementos, tales como pureza de las tintas utilizadas o capacidad de sus fósforos (pantallas CRT) o diodos (pantallas LCD) para representar los colores básicos y demás colores del espectro.

§6 Problemas de reproducción

La reproducción de imágenes supone establecer una correspondencia entre el espacio de color de la imagen (contenida en el algoritmo interno) y el espacio de color del dispositivo de reproducción (pantalla o impresora). Debido a las limitaciones ya señaladas de los dispositivos físicos involucrados, la reproducción informática de imágenes presenta diversos problemas que pueden resumirse dos tipos: De traducción y de profundidad de color.

§6.1 Traducción

El problema de la traducción es de dos tipos según que la terna original RGB deba traducirse a otra terna RGB o a los componentes CMY correspondientes.

§6.1.1 Traducción de RGB / RGB

La traducción RGB a RGB se presenta al intentar representar un color codificado RGB en el espacio de la imagen a la terna de colores RGB proporcionados por los fósforos o diodos de la pantalla en que será representada. Observe que el espacio de colores de la imagen original, tal como la concibe el diseñador, puede ser distinto del espacio de colores que pueden proporcionar el medio de representación (pantalla); debido principalmente a que los colores proporcionados por los fósforos o diodos no son puros desde el punto de vista espectral, y por tanto son incapaces de reproducir exactamente los colores de la imagen. Por ejemplo, el negro teórico (ausencia de color) es como mínimo el color reflejado por la pantalla debido a la luz ambiente.

Page 597: 6721122 D057 Tecnologia Del PC

§6.1.2 Traducción de RGB / CMY

Este problema se presenta porque los sistemas de impresión utilizan el método sustractivo, por lo que debe realizarse una conversión de los componentes RGB a CMY (o CMYK). Los problemas de esta traducción son debidos principalmente a que las curvas de absorción espectral de las tintas utilizadas presentan solapamientos, por lo que las combinaciones RGB no se reproducen exactamente igual en su versión CMY (lo que no ocurriría si las tintas fuesen perfectas). A éste problema se suma que la percepción de los colores CMY (impresos) depende de las condiciones de iluminación ambientales, por lo que la percepción correcta exige un ambiente con iluminación adecuada [7].

Nota: Algunos programas gráficos (por ejemplo, Photoshop) disponen de opciones para avisar al diseñador cuando algún color de la gama RGB utilizada en el diseño puede presentar problemas en su versión CMY.

§6.2 Profundidad de color

El problema de la profundidad de color se presenta porque generalmente la profundidad de color del dispositivo original (algoritmo de representación interna) y el dispositivo cliente (donde se ve el resultado) no coinciden. Por ejemplo, el sistema RGB de colores para páginas Web antes aludido ( H9.2), utiliza una profundidad de color de 24 bits (256 posibilidades) para cada color básico, lo que hemos visto proporciona una paleta de más de 16 millones de colores, pero exige que el descriptor del color en la aplicación cliente utilice igualmente una profundidad de color 24 bits.

Suponiendo una pantalla estándar de 1024 x 768 píxeles, la composición de una imagen en memoria ("Frame buffer") con color verdadero exige un total de 1024 x 768 x 3 = 2.359.296 bytes. Sin embargo, es frecuente que por problemas de economía de espacio y de velocidad se utilice una profundidad de color menor. Por ejemplo 4 bits para cada componente. Esto supone una gran economía de memoria, pero las 16 posibilidades distintas para cada color básico (de 0 a 15) permiten una paleta de "solo" 4.096 colores, lo que exige traducir el espacio de diseño (paleta de 16 millones de colores) a las posibilidades reales del dispositivo cliente (paleta de 4.096 colores). El resultado es que algunos tonos pueden no aparecer exactamente iguales que como los imaginó el diseñador de la página.

Page 598: 6721122 D057 Tecnologia Del PC

Por ejemplo, mientras escribo esto, intento controlar el color resultante del recuadro etiquetado "firebrick" del cuadro de colores Web ( ) cuya definición hexadecimal es "B22222". Para ello utilizo una utilidad denominada ColorPic ( Download ColorPic). El resultado es que en la pantalla de mi equipo dicho color aparece como un damero de píxeles cuyos colores son "B82428" y "B02420". La diferencia es debida a que el espacio de color de la imagen es de 24 bits, mientras que mi equipo, que utiliza (todavía :-) Windows 98 tiene definida una configuración de color de alta densidad 16 bits ( H9.4), de forma un mosaico con los colores reseñados es lo más parecido al valor teórico que puede representar su sistema de color.

El problema puede agravarse porque la profundidad de color sea mermada aún más durante la transmisión. Es frecuente que para ahorrar espacio las imágenes sean almacenadas en formatos comprimidos. Por ejemplo GIF [4], PNG-8 [5] o JPG [8], que utilizan paletas de 256 colores, por lo que parte del proceso de compresión se realiza a costa de eliminar información de la misma.

Nota: evidentemente, el "truco" y la dificultad de diseñar éste tipo de algoritmos de compresión es realizarlo de forma que la transformación resulte lo más imperceptible posible al ojo humano.

§7 El color en la Web

Debemos recordar que las páginas Web están fundamentalmente diseñadas para ser representadas en pantallas de ordenador (monitores) y sistemas análogos que utilizan el método aditivo de representación ( H9.2). Recordar también que la mayoría de diseños Web utilizan imágenes comprimidas con una paleta de 256 colores, por lo que no es razonable utilizar mayor definición en el color.

En la tabla adjunta se muestran los 139 valores más usuales en la representación de colores de los diseños Web.

Page 599: 6721122 D057 Tecnologia Del PC

800000 maroon

8B0000 darkred

FF0000 red

FFB6C1 lightpink

DC143C crimson

DB7093 palevioletred

FF69B4 hotpink

FF1493 deeppink

C71585 mediumvioletred

800080 purple

8B008B darkmagenta

DA70D6 orchid

D8BFD8 thistle

DDA0DD plum

EE82EE violet

FF00FF fuchsia

FF00FF magenta

BA55D3 mediumorchid

9400D3 darkviolet

9932CC darkorchid

8A2BE2 blueviolet

4B0082 indigo

9370DB mediumpurple

6A5ACD slateblue

7B68EE mediumslateblue

00008B darkblue

0000CD mediumblue

0000FF blue

000080 navy

191970 midnightblue

483D8B darkslateblue

4169E1 royalblue

6495ED cornflowerblue

B0C4DE lightsteelblue

F0F8FF aliceblue

F8F8FF ghostwhite

E6E6FA lavender

1E90FF dodgerblue

4682B4 steelblue

00BFFF deepskyblue

708090 slategray

778899 lightslategray

87CEFA lightskyblue

87CEEB skyblue

ADD8E6 lightblue

008080 teal

008B8B darkcyan

00CED1 darkturquoise

00FFFF aqua, cyan

48D1CC mediumturquoise

5F9EA0 cadetblue

AFEEEE paleturquoise

E0FFFF lightcyan

F0FFFF azure

20B2AA lightseagreen

40E0D0 turquoise

B0E0E6 powderblue

2F4F4F darkslategray

7FFFD4 aquamarine

00FA9A mediumspringgreen

66CDAA mediumaquamarine

00FF7F springgreen

3CB371 mediumseagreen

2E8B57 seagreen

32CD32 limegreen

006400 darkgreen

008000 green

00FF00 lime

228B22 forestgreen

8FBC8F darkseagreen

90EE90 lightgreen

98FB98 palegreen

F5FFFA mintcream

F0FFF0 honeydew

7FFF00 chartreuse

7CFC00 lawngreen

6B8E23 olivedrab

556B2F darkolivegreen

9ACD32 yellowgreen

ADFF2F greenyellow

Page 600: 6721122 D057 Tecnologia Del PC

F5F5DC beige

FAF0E6 linen

FAFAD2 lightgoldenrodyellow

808000 olive

FFFF00 yellow

FFFFE0 lightyellow

FFFFF0 ivory

BDB76B darkkhaki

F0E68C khaki

EEE8AA palegoldenrod

F5DEB3 wheat

FFD700 gold

FFFACD lemonchiffon

FFEFD5 papayawhip

B8860B darkgoldenrod

DAA520 goldenrod

FAEBD7 antiquewhite

FFF8DC cornsilk

FDF5E6 oldlace

FFE4B5 moccasin

FFDEAD navajowhite

FFA500 orange

FFE4C4 bisque

D2B48C tan

FF8C00 darkorange

DEB887 burlywood

8B4513 saddlebrown

F4A460 sandybrown

FFEBCD blanchedalmond

FFF0F5 lavenderblush

FFF5EE seashell

FFFAF0 floralwhite

FFFAFA snow

CD853F peru

FFDAB9 peachpuff

D2691E chocolate

A0522D sienna

FFA07A lightsalmon

FF7F50 coral

E9967A darksalmon

FFE4E1 mistyrose

FF4500 orangered

FA8072 salmon

FF6347 tomato

BC8F8F rosybrown

FFC0CB pink

CD5C5C indianred

F08080 lightcoral

A52A2A brown

B22222 firebrick

000000 black

696969 dimgray

808080 gray

A9A9A9 darkgray

C0C0C0 silver

D3D3D3 lightgrey

DCDCDC gainsboro

F5F5F5 whitesmoke

FFFFFF white

§8 Weografía

Enlaces de interés relacionados con el color HTML:

● Colorcombo. Unas páginas muy útiles para diseñadores de páginas web; combinaciones de colores, fondos y textos.

Page 601: 6721122 D057 Tecnologia Del PC

Colores http://www.colorcombo.com/216_table.htmlTextos http://www.colorcombo.com/bgtxt.htmlFondos http://www.colorcombo.com/array.html

Inicio.

[1] Algunos textos señalan que píxel es la abreviatura de "Picture Element" (?)

[2] CCD "Charge Coupled Device"; un tipo de circuito integrado, sensible a la luz, que constituye la retina de la cámara fotográfica.

[3] De forma coloquial decimos que este sistema utiliza solo dos colores, el blanco y el negro.

[4] GIF ("Grafic Interchange Format") Un formato de archivo de gráficos desarrollado a mediados de los 80 por CompuServe y utilizado en la presentación de imágenes gráficas de calidad fotográfica en las pantallas de los equipos. Se ha utilizado mucho en Internet aunque actualmente (2004) está cediendo protagonismo en favor de otros formatos "abiertos". Ofrece una gran relación de compresión para imágenes, pero presenta el inconveniente de utilizar una paleta de 256 colores como máximo. El formato tiene dos variantes: GIF87a y GIF98a cuyos nombres señalan el año de publicación. Utiliza la tecnología de compresión LZW (*) , patentada por la empresa UNISYS, que desde Enero de 1995 está disponible para los desarrolladores mediante el pago de royalties.

El formago GIF tiene dos características distintivas: La capacidad de gráficos animados y la de transparencia. La primera es la posibilidad de guardar en un mismo fichero distintas imágenes (como los fotogramas de una película) que son mostrados sucesivamente dando sensación de movimiento en un ciclo que se repite indefinidamente. Estos gráficos son conocidos como GIFs animados. El segunda es la capacidad de marcar uno de los colores que lo componen como transparente, y de permitir incluir un canal de transparencia o canal Alfa ( H9.4), lo que permite sustituir el color transparente por el color del fondo en las aplicaciones de visualización de este tipo de imágenes (por ejemplo navegadores Web). La versión GIF98a ofrece también la posibilidad de guardar la imagen como entrelazada ("Interlaced"), de forma que el visualizador puede presentarla mediante barridos sucesivos que la muestran con resolución creciente. Esto tiene la ventaja de que el cliente puede ver algo mientras se termina de cargar de la imagen.

Page 602: 6721122 D057 Tecnologia Del PC

* Su nombre se debe a los investigadores que lo desarrollaron: Abraham Lempel, Jacob Ziv y Terry Welch.

[5] PNG ("Portable Network Graphics") Formato bitmap de fichero de imagen creado específicamente para Internet, que pretende ser el sucesor de GIF. Incluye las mejores características de GIF y JPEG como control del grado de transparencia (opacidad) y carga entrelazada, pero utiliza técnicas de compresión más modernas, por lo que las imágenes de 256 colores comprimidas con este formato generalmente ocupan menos espacio que las GIF análogas, aunque con el inconveniente de no soportar animación.

Es un formato libre que no necesita licencias de uso. Además presenta la ventaja de permitir compresión conservativa (sin pérdida de profundidad de color). Aunque en estos casos las tasas de compresión resultan menores en las conversiones no conservativas, las imágenes resultantes resultan menores que sus análogas .BMP, .PCX, .TGA y .TIF sin compresión.

[6] La extensión .TIF corresponde a los ficheros TIFF (" Tagged Information File Format"), un formato utilizado en edición de imagen, que utiliza color verdadero de 24 bits. Las imágenes pueden ser de 16 millones de colores o de escala de grises. Una característica distintiva de éste formato es que cada fichero puede contener más de una imagen.

[7] En artes gráficas, la temperatura de color estándar para la iluminación es de 5.000 K ( H9.1.1).

[8] JPEG o JPG ("Joint Photographic Experts Group") utiliza un algoritmo no conservativo que permite seleccionar el nivel de compresión, por lo que generalmente es posible conseguir el mejor equilibrio entre calidad y tamaño de la imagen resultante. Suele utilizarse para la reproducción de imágenes fotográficas. Como en todos los algoritmos no conservativos, el incremento de compresión se traduce en pérdida de calidad y a la inversa.

Inicio

Page 603: 6721122 D057 Tecnologia Del PC

Tecnología del PC[Home] [Inicio] [Índice]

Subir

9.4 Representación numérica del color

§1 Preámbulo

A lo largo del tiempo, especialmente en el ámbito de las artes gráficas e industrias afines, se han hecho importantes esfuerzos para establecer un sistema de clasificación y parametrización de la casi infinita cantidad de colores que pueden existir. Esta necesidad se volvió imperativa con la aparición de la informática, dado que la digitalización de imágenes ( H9.3) precisa de su codificación numérica.

En realidad, la representación matemáticamente exacta de un color implicaría la especificación de su distribución espectral SPD ( H9.1.1), pero habida cuenta de las característica de la percepción humana, el color también puede ser representado mediante una terna de valores que son las coordenadas matemáticas del espacio del color. Puede pensarse en él como un espacio tridimensional en el que cada punto color puede representarse por sus coordenadas ( H9.2). Existen diversos métodos para establecer la correspondencia entre un SPD y una terna de valores. Los más usuales en los estudios colorimétricos de física son CIE XYZ, CIE xyY, CIE L*u*v* y CIE L*a*b*.

§2 Sistema XYZ

Page 604: 6721122 D057 Tecnologia Del PC

En 1986 el CIE ( H9.1) estableció un sistema, denominado XYZ, en el que el color puede ser establecido por tres magnitudes: La luminancia Y, y dos componentes adicionales X y Z. Estos tres componentes son proporcionales a la energía de la radiación, pero su valor se basa en curvas-patrón establecidas en base a estudios estadísticos de observadores humanos.

§3 Sistema Munsell

A principios del siglo XX, el estadounidense Albert Henry Munsell ideó un sistema de clasificación decimal partiendo de los cinco colores principales del espectro: Rojo, Amarillo, Verde, Azul y Púrpura (morado), a los que añadió otros cinco intermedios que nombró mediante la composición con los nombres adyacentes: amarillo-rojo, verde-amarillo, azul-verde, morado-azul y rojo-morado (se supone que los colores se distribuyen en un círculo).

Además de la propiedad "color", Munsell añadió otros dos atributos: luminosidad y cromaticidad ("Luma" y "Chroma"). El primero indica lo que hemos denominado brillo (una medida de la luminosidad 9.1), que depende de la cantidad de luz reflejada por el color. El segundo señala la intensidad del color, lo que generalmente conocemos como saturación o limpieza ("Cleanliness") del color.

Nota: El modelo de color basado en color luminosidad y saturación se conoce también como modelo HLS por su acrónimo inglés ("Hue", "Lightness" y "Saturation"), HSV ("Hue", "Saturation" y "Value" -luminosidad-) y HSB ("Hue, Saturation, Brightness").

Es frecuente encontrar cartas de colores que siguen éste sistema en multitud de libros y cursos de pintura. En tiempo fue utilizado en artes gráficas para comprobar la veracidad de los colores, pero en este sector ha sido casi completamente desplazado por el sistema Pantone.

Nota: Observe que los sistemas basados en algún tipo de codificación de los atributos color, saturación y luminosidad, son bastante "Naturales" e intuitivos, ya que se basan en las tres características que podemos considerar básicas en la percepción

Page 605: 6721122 D057 Tecnologia Del PC

humana de la luz (sin embargo son poco adecuados para aplicaciones científicas). El color es la propiedad que nos permite distinguir un rojo de un verde o un amarillo. La saturación permite distinguir la pureza o intensidad de un color. Por ejemplo, permite distinguir un color rojo intenso de otro más desvaído. Finalmente la luminosidad es la propiedad que nos permite asegurar que el Sol es más luminoso que la Luna o que el foco de una linterna tiene más potencia que el de un farol. Todos los programas de edición gráfica disponen de recursos para controlar estos tres parámetros básicos de los colores.

§4 Representación informática

En informática se han utilizado históricamente diversos sistemas de representación. Aunque los detalles de la codificación de gráficos de ordenador son en sí mismos un mundo extraordinariamente complejo, repasaremos brevemente sus características principales, empezando por un repaso a las profundidades de color ( H9.3) utilizadas.

§4.1 Profundidad de color 1 y 2

El sistema monocromo es el más simple de todos. Si un sistema utilizara 1 bit de profundidad de color, se permitirían solo dos posibilidades 0 y 1 (activo/inactivo) para cada píxel. Los primitivos sistemas de video utilizaban éste sistema en el que cada píxel de pantalla solo puede estar encendido o apagado. En esta época los monitores tenían un solo color e intensidad, el correspondiente al color del fósforo de la pantalla y carecían de capacidades gráficas, de modo que los píxeles solo podían corresponder caracteres alfanuméricos.

Nota: Inicialmente el color de los puntos luminosos (fósforo) era blanco; posteriormente se construyeron en verde, que se suponía proporcionaba un mayor descanso visual. Finalmente se introdujo el color ámbar, que aunaba buena visibilidad y descanso visual.

En realidad los sistemas monocromo llegaron a utilizar 2 bits por píxel, lo que les permitía 4

Page 606: 6721122 D057 Tecnologia Del PC

(22) combinaciones que a través del controlador correspondiente podían traducirse en atributos adicionales aparte de encendido/apagado, tales como: atenuado y parpadeo. Es el sistema utilizado en las controladoras MDA ("Monochrome Display Adapter") que montaban de forma estándar los primitivos PCs de IBM.

Tabla 2. 16 Colores CGAI RGB Color0 0, 0, 0 Negro1 0, 0, 0 Gris oscuro1 1, 1, 1 Blanco brillante0 1, 1, 1 Gris1 1, 0, 0 Rojo brillante0 1, 0, 0 Rojo oscuro1 0, 1, 0 Verde brillante0 0 , 1, 0 Verde oscuro1 0, 0, 1 Azul brillante0 0, 0, 1 Azul oscuro1 1, 1, 0 Amarillo brillante0 1, 1 ,0 Amarillo oscuro1 0, 1, 1 Cian brillante0 0, 1, 1 Cian oscuro1 1, 0, 1 Magenta brillante0 1, 0, 1 Magenta oscuro

§4.2 Profundiad de color 3 y 4

Tabla 1. 8 Colores básicos RGB

RGB Color0, 0, 0 Negro1, 1, 1 Blanco1, 0, 0 Rojo0, 1, 0 Verde0, 0, 1 Azul1, 1, 0 Amarillo0, 1, 1 Cian1, 0, 1 Magenta

Los primeros sistemas capaces de mostrar imágenes o caracteres en color utilizaban 3 bits para señalar los componentes RGB de cada píxel, lo que conducía a una paleta de 8 (23) colores según se muestra en la tabla 1. Posteriormente algunos sistemas añadieron un cuarto bit (de intensidad), de forma que un píxel podía adoptar dos intensidades para cada color: brillante y amortiguado. El resultado es una paleta de 16 (24) posibilidades que se muestran en la tabla 2.

Page 607: 6721122 D057 Tecnologia Del PC

Este método es conocido como IRGB y fue utilizado en los adaptadores de video CGA ("Color Graphic Adapter") que podían montarse como opción "avanzada" en los primitivos IBM-PC. En estos adaptadores además de gráficos, podían ya utilizarse colores y caracteres con atributos diversos.

Existen muchas formas en que la controladora puede manejar esta señal de 4 bits por píxel, algunas muy complejas [2], pero aunque teóricamente el sistema IRGB puede proporcionar 16 colores, las primeras controladoras no permitían utilizarlos simultáneamente. Enviaban a la pantalla tres señales binarias de color y una de intensidad; En este sistema la gama de cada momento depende del canal al que se asigne el cuarto bit (color al que se asignen 4 posibilidades de brillo), de modo que en realidad se está utilizando alguna de las siguientes combinaciones o "modos" de video: RrGB, RGgB y RGBb.

Los adaptadores CGA ofrecían varios modos de video establecidos por IBM, pero solo permitían gráficos de 320 x 200 píxeles y 4 colores: blanco, negro, cian y magenta. En 16 colores solo eran posibles gráficos de 160 x 200 píxeles.

§4.3 Profundidad de color 6

El estándar EGA ("Enhanced Graphics Adapter") introducido por IBM en 1984 aumentó las 16 posibilidades del CGA, permitiendo que cada color tuviese dos señales binarias independientes (I-1 e I-2). En total existen 6 bits para describir el color (2 para cada canal), lo que conduce a una paleta de 64 (26) colores, aunque debido a las limitaciones de memoria, el sistema solo permitía gráficos de 640 x 350 píxeles.

Posteriormente, en 1986 IBM introdujo un nuevo controlador denominado VGA ("Video Graphics Adapter") que también utilizaba 6 píxeles de profundidad de color, aunque para conectar el monitor no utilizaba señales digitales como las controladoras EGA, sino analógicas. El nivel de brillo de cada canal venía ahora determinado por el nivel de la señal correspondiente. Paralelamente cambió el conector DB-9 de las antiguas CGA, que pasó a ser el DB-15, y se aumentó la memoria de vídeo, de forma que ya podían presentarse gráficos de 640 x 480 píxeles (paralelamente ofrecía la posibilidad de 256 colores, aunque a 320x200 resolución).

Page 608: 6721122 D057 Tecnologia Del PC

Nota: La conexión analógica entre la controladora de video y el monitor se ha mantenido hasta nuestros días (2004), aunque comienzan a aparecer controladoras de gama alta que tienen salida digital (para utilizar con monitores digitales). Estas controladoras utilizan un tipo de conector distinto del clásico VGA, aunque suelen disponer todavía del conector DB-15 con salida analógica.

El estándar VGA ha sufrido importantes implementaciones, pero se ha mantenido como un mínimo común denominador para los adaptadores gráficos de los equipos hasta la actualidad.

§4.4 Profundidad de color 8

Los sistemas que utilizan 8 bits de profundidad de color pueden utilizar una paleta de 256 (28) colores. Se denominan pseudocolor o de color indexado. porque como veremos a continuación , suelen utilizar una tabla de conversión para convertir este byte en tres valores RGB. De esta forma se utilizan al máximo las 256 posibilidades, ya que no es posible repartir equitativamente los 8 bits entre los tres canales de color.

§4.5 Profundidad de color 16

Esta profundidad, que permite una paleta de 65.536 (216) posibilidades, se denomina también hicolor o color de alta densidad. Como 16 no es divisible entre los tres canales de color, se utilizan dos codificaciones distintas. La primera utiliza 5 bits por canal y el bit restante se emplea para describir la transparencia (no hay estados intermedios para este valor, solo opaco/transparente H9.2). El otro utiliza 5 bits para el rojo, 5 para el azul y 6 bits para el verde que es el más luminoso.

Por su escasa profundidad de color éste sistema no es adecuado para reproducciones de calidad fotográfica, y los dispositivos de bajo precio no suelen utilizar tabla de transformación entre las coordenadas de la matriz-imagen y los canales del dispositivo de representación, de forma que los valores R G y B se utilizan directamente en los canales de salida del reproductor. En el caso de monitores analógicos se envían directamente a los DAC de cada

Page 609: 6721122 D057 Tecnologia Del PC

canal, y dado que los valores RGB son traducidos directamente en voltajes, la codificación exige que los valores RGB sean proporcionales a la intensidad en un factor de 0.45 para contrarrestar la distorsión introducida por el factor gamma del monitor ( H.9.5).

La ventaja de la codificación hicolor frente al sistema de color real es que en vez de 3, utiliza solo 2 bytes para cada punto de la imagen, lo que significa un 33% menos de memoria y por tanto, mayor rapidez en su manipulación. Por supuesto la calidad de la imagen es menor que en el caso anterior, pero en algunas aplicaciones las diferencias son inapreciables por lo que es utilizado en lugar de truecolor.

§4.6 Profundidad de color 24 y 32

Los sistemas que utilizan 8 bits para la representación de cada color permiten una paleta 16.777.216 (224) colores. Se denominan de color de 24-bits (24 bits de profundidad de color) o color real ("Truecolor"). El nombre se debe a que prácticamente no impone restricciones al número de colores que pueden representarse, ya que 16 millones de colores es más de lo que pede discriminar el ojo humano, por lo que se utiliza en aplicaciones de diseño gráfico de alta calidad, fotografía, análisis de imagen, Etc.

Nota: Existe una versión de color verdadero que utiliza 32 bits de profundidad de color denominado color verdadero de 32 bits. En este caso los 8 bits restantes se utilizan para el canal alfa ( )

En los sistemas truecolor es frecuente representar las ternas numéricas en hexadecimal. En este caso bastan dos dígitos 00h - FFh para representar los 256 valores (0 - 255) de cada canal. En algunos casos los valores se expresan poniendo seguidos los 6 dígitos en la forma RRGGBB. Por ejemplo la definición del color de fondo en lenguaje HTML es del tipo:

bgcolor="#ff69b4"

§4.7 La tabla adjunta muestra un resumen de las características principales.

Page 610: 6721122 D057 Tecnologia Del PC

Profundidad de color bits

Paleta de colores

Bytes por píxel Nombre

WindowsNombre común

2 4 0.25 MDA

4 16 0.516 colores

CGA

6 64 0.75 VGA Estándar

8 256 1256 colores

modo de 256 colores (Pseudocolor)

16 65,536 2 Color de alta densidad 16 bits

High-Color

24 16,777,216 3 Color verdadero 24 bits

True-Color 24 bits

32 16,777,216 + canal Alfa 4 Color verdadero

32 bits True-Color 32 bits

§5 Reproducción: Paleta de Color, CMS

La representación interna (digitalizada) de una imagen puede ser de mapa de bits o vectorial ( H9.3), pero en último extremo siempre es traducida a un mapa de píxeles que se representarán en la pantalla o en el dispositivo de impresión correspondiente. Cualquiera que sea el sistema de codificación (RGB o CMYK) y profundidad de color utilizada, la reproducción supone establecer una correspondencia entre el espacio de color del original y el del dispositivo. Dicho en otras palabras: establecer una correspondencia entre la paleta de colores del original y la gama de colores posibles en el dispositivo de reproducción. Esta última puede estar limitada (por motivos físicos o deliberadamente). A estos valores posibles los denominamos paleta de color del dispositivo.

Page 611: 6721122 D057 Tecnologia Del PC

La realización práctica de esta correspondencia supone establecer una relación entre los valores numéricos (RGB o CMYK) y los valores entregados en los canales de color del dispositivo de salida [3]. Como veremos a continuación, esta correspondencia incluye un paso intermedio, cuya forma concreta es variable; puede tratarse de una simple tabla de equivalencia de colores CLUT("Color Look-up table") o puede ser un sistema de color CMS. La razón es que aunque no se necesita una precisión excesiva (manejar un número grande de colores), puede que la representación se realice en un espacio de colores reducido, por lo que el sistema puede ser computacionalmente complejo y exigir este paso intermedio.

Fig. 1

La figura 1 muestra uno de los esquemas posibles: La matríz imagen almacenada en memoria ("Frame buffer") contiene el valor digitalizado C del color de cada píxel. Aunque no es este el lugar adecuado para tratar de los detalles del proceso, podemos adelantar que actualmente la mayoría de monitores aceptan entradas analógicas , por lo que las señales digitales de la controladora deben ser enviadas a un conversor analógico-digital RAMDAC ("Random Access Memory Digital-to-Analog Converter"), que las traduce en las señales analógicas de tensión Er, Eg, y Eb que serán entregadas al monitor.

En ocasiones el valor C digitalizado no contiene directamente los valores RGB de cada color, y se interpone una tabla de conversión CLUT que contiene la correspondencia entre cada valor C y la terna de componentes RGB correspondientes.

Nota: El conversor RAMDAC se compone en realidad de tres conversores digital/analógico DAC ("Digital-to-Analog Converter"), uno para cada color.

Page 612: 6721122 D057 Tecnologia Del PC

En el caso de monitores analógicos, los valores RGB True-color son afectados por un factor adecuado antes de entregados a los DAC, por lo que no es necesario que estén ponderados previamente por el factor 0.45. Además, tanto el Sistema Operativo como el software de aplicación, pueden interponer transformaciones arbitrarias, incluyendo la simulación de sistemas Pseudocolor o Hicolor.

§5.1 Tabla de equivalencia de colores

La tabla de equivalencia de colores CLUT también es denominada mapa de colores ("Colormap") o paleta. Es una tabla almacenada en memoria que establece una relación entre el valor C del color digitalizado y la terna RGB de colores que se entregan a las DAC. Las ventajas de utilizar este tipo de tablas son muchas, incluyendo la posibilidad de realizar transformaciones no lineales entre los valores C de entrada y las componentes RGB de salida. Esta no-linealidad puede ser necesaria porque de hecho, la respuesta del monitor tampoco es lineal respecto a los valores Er, Eg y Eb de las tensiones de entrada (ver Factor gamma H9.5).

Nota: En los sistemas X Windows, truecolor se refiere a utilizar tablas de conversión fijas, mientras que color directo supone la utilización de tablas controladas por la aplicación.

La utilización de tablas de equivalencia no solo tiene lugar en los dispositivos de reproducción de video (controladoras), sino en muchos otros dispositivos de reproducción (escáneres, trazadoras, impresoras, etc). Por ejemplo, el tratamiento de las señales proporcionadas por ciertos escáneres utiliza una tabla CLUT para encontrar los valores que pueden reproducir el color proporcionado por una señal determinada.

Las tablas de conversión son muy utilizadas también en los sistemas de almacenamiento y transmisión de ficheros de imagen. Por ejemplo, podemos tener una imagen en color verdadero de 24 bits de n píxeles que debe ser reproducida en sistemas pseudocolor. Como en este caso la paleta del sistema de reproducción solo permite 256 celdas, es posible construir una tabla de equivalencia de 256 posiciones numeradas de 0 a 255, en la que cada

Page 613: 6721122 D057 Tecnologia Del PC

celda contenga los valores RGB de la paleta. En estas condiciones, cada punto de la imagen original (cuyo tamaño es 3 x n bytes), puede ser representada por un índice de 1 byte en la tabla, de forma que la imagen puede se representada en un tercio de su tamaño (n bytes). A cambio claro, de establecer un algoritmo que traduzca cada uno de los 16.777.216 colores de la paleta origianl a uno de la paleta de salida. Este método es utilizado por muchos algoritmos de compresión no conservativos, como .GIF o .TIFF ( H9.2), que junto a la imagen comprimida incluyen una tabla de equivalencia para que la imagen pueda ser reconstruida de nuevo con un patrón de conversión constante.

En este caso el tamaño de la tabla CLUT sería 3 x 256 bytes, pero la reducción total puede ser importante si la imagen inicial es grande. Además, al reducir la profundidad de color hay más posibilidades de que píxeles contiguos sean iguales, con lo que los algoritmos de compresión trabajan más eficazmente sobre la imagen traducida.

§5.2 Sistema de color

Un sistema o gestor de color CMS ("Color Management System") es un método más elaborado y complejo que la tabla de equivalencia. Está constituido por una capa de software, que maneja la reproducción, situada entre la aplicación y los dispositivos de salida. Los sistemas de color realizan las transformaciones necesarias para garantizar el paso fidedigno de la información entre dispositivos diversos, que pueden utilizar incluso sistemas de codificación distintos, como RGB, CMYK o CIE L*a*b*.

Cuando una aplicación necesita acceder a un dispositivo particular, el gestor de color del CMS realiza las transformaciones matemáticas necesarias para adecuar el espacio de color de la aplicación al del dispositivo. Los espacios de color manejados pueden ser

Page 614: 6721122 D057 Tecnologia Del PC

independientes del dispositivo (RGB, CMYK etc) o asociados a un dispositivo particular, en cuyo caso el gestor de color realiza las transformaciones específicas para el dispositivo o incluso las relativas a su estado específico de calibración en cada momento.

Por supuesto no todos los sistemas de color realizan un trabajo del mismo nivel. Los sistemas de color utilizados en los sistemas de escritorio (PCs) son adecuados para aplicaciones de oficina pero no para las aplicaciones profesionales de edición o fotografía. Kodak, Agfa y otros fabricantes ofrecen a los fabricantes de software gestores de color de características avanzadas en forma de módulos.

En le figura adjunta se muestra un cuadro de diálogo de Micrografx Picture Publisher en el que se observa la opción de utilizar el sistema de manejo de color de Kodak.

5.2.1 Estandarización

Debido a la carencia de un sistema universal y estandarizado para manejar los aspectos técnicos del color en sus aplicaciones informáticas, en 1993 se reunieron 8 fabricantes para crear el Consorcio Internacional del Color ICC ("International Color Consortium" www.color.org). Una plataforma neutral e independiente, que promoviera el desarrollo una arquitectura abierta de componentes multi-plataforma, para el tratamiento y manejo del color.

Page 615: 6721122 D057 Tecnologia Del PC

Como resultado de sus esfuerzos, el consorcio ha elaborado la especificación de un formato (que se pretende se la base de un futuro estándar) denominado descripción de dispositivo ICC (ICC device profile). La intención es crear un formato multiplataforma, que sea soportado por los distintos Sistemas Operativos, que permita transportar los datos de color desde el espacio de un dispositivo particular, al espacio de color de cualquier otro dispositivo. De esta forma, será posible mover de forma transparente imágenes, que contengan embebido el perfil correspondiente en el dispositivo origen, a otros dispositivos, lo que permitirá a los asegurar que las imágenes de un usuario podrán ser transferidas con sus características de color intactas entre distintas aplicaciones y sistemas. Entre otras ventajas, el sistema permitirá que los fabricantes de dispositivos, por ejemplo los de impresoras, utilicen un único perfil de color para todos los Sistemas Operativos en que pudieran emplearse sus fabricados.

§5.3 El canal alfa

Algunos sistemas gráficos, especialmente formatos de color verdadero de 32 bits, utilizan 8 bits para cada uno de los componente tradicionales; rojo, verde y azul, mientras que los 8 bits restantes se utilizan para el denominado canal alfa, que indica la transparencia de cada elemento de la matriz-imagen.

Esta información sobre "transparencia" es en realidad una máscara o tabla de conversión que señala cual es el color resultante cuando exista superposición de píxeles en un mismo punto. Mediante esta técnica se consiguen efectos de transparencia, de forma que puede "verse" a través de la imagen superior adoptando esta diversos grados de transparencia.

Cuando la aplicación (por ejemplo el navegador) presente en pantalla una imagen que contiene elementos transparentes, sustituirá el contenido transparente con el fondo del documento, ya sea este una imagen o un color sólido. Esto es de utilidad para el diseño de páginas Web, ya que permite insertar una imagen "mezclándola" con otra que sirve de fondo a la página, o con un color usado para tal fin. Así pues, el uso de imágenes transparentes permite también diseñar gráficos que sean vistos con cualquier color de fondo.

El canal alfa también es de utilidad en las animaciones gráficas, cuando el primer plano

Page 616: 6721122 D057 Tecnologia Del PC

cambia de una imagen a otra; en este caso, la imagen de primer plano contiene gran cantidad de transparencias que dejan ver el fondo.

Inicio.

[2] En palabras de Peter Norton: "Los modos EGA son complejos y perversos" Inside the IBM PC: Access to advanced features and programming. 1986

[3] El método de traducir la imagen digitalizada en una imagen real depende del dispositivo, pero nos referiremos al caso del monitor por ser el más característico.

Inicio

|Índice| Copyright © 2000-2006 Zator Systems. NO software patents

Page 617: 6721122 D057 Tecnologia Del PC

Tecnología del PC[Home] [Inicio] [Índice]

Subir

9.5 El factor gamma y ajustes del monitor

§1 Preámbulo

Suponiendo un monitor convencional analógico CRT [2] conectado a la controladora de video, el mecanismo de representación de la imagen en un ordenador supone una serie de pasos:

1. Volcado de la matriz-imagen digital en la memoria de video ("Frame buffer").

2. Traducción de los valores R G B de la memoria de video en valores corregidos R' G' B', mediante tablas de conversión LUT ("Lookup Tables") o gestores de color de los CMS ("Color Management Systms").

3. Paso de los valores R' G' B' resultantes a los conversores digital-analógico (DACs) de la controladora, que los transforma en tensiones analógicas Er, Eg, Eb.

4. Aplicación de las tensiones Er, Eg y Eb resultantes, a los canales de color del monitor.

5. El monitor traduce las tensiones de entrada en ternas de puntos de color de luminancia Lr, Lg y Lb sobre el fósforo del tubo.

6. El conjunto de puntos de color sobre la pantalla es recogido por los órganos de la visión produciendo la imagen en la mente del observador.

Page 618: 6721122 D057 Tecnologia Del PC

§2 Factor Gamma

La totalidad del proceso se diseña de forma que la imagen resultante tenga un aspecto lo más parecido posible a la realidad. Respecto a los puntos 4 y 5, ocurre que la luminancia emitida por algunas fuentes de luz, como lámparas de incandescencia o tubos de rayos catódicos, es proporcional a la señal aplicada, pero esta relación no es lineal. En el caso de monitores CRT, la relación entre la luminancia L proporcionada por la pantalla, y la tensión E de la señal expresada en voltios, es una función exponencial en la forma:

L = Eg

donde el exponente g es denominado factor Gamma. Un valor típico de este exponente para un monitor es del orden de 2.0 a 3.0; un valor representativo del factor gamma para un monitor actual puede ser g = 2.2.

Fig. 1

La fig. 1 muestra la relación entre la luminancia ( H9.1.1) y la tensión de la señal para la pantalla de un monitor actual para diversos ajustes del control de contraste [1].

Nota: Generalmente en las pantallas TFT actuales el contraste es fijo, disponiendo a lo sumo de un control de brillo, aunque en ocasiones este valor también es fijo.

Teniendo en cuenta que los

Page 619: 6721122 D057 Tecnologia Del PC

valores de tensión E son menores que la unidad (en la figura del ejemplo varía entre 0 y 0.7 V), cuanto mayor sea el factor gamma g, la curva es más cerrada; la imagen se hace más oscura (hay más píxels cuyo valor es oscuro) Por ejemplo, para un gamma g = 2 y una tensión E = 400 mV, la luminancia resulta:

L2 = 0.4002 = 0.16

Con el mismo valor de tensión E y un valor gamma g = 3, la luminancia producida por el tubo sería:

L3 = 0.4003 = 0.064

Además del oscurecimiento general señalado, el aumento del factor gamma produce simultáneamente una disminución del contraste (la pendiente de la curva es positiva). Por ejemplo, las diferencias de luminancias de dos puntos con tensiones 400 y 500 mV en un monitor con gamma 2 es:

L0.5 - L0.4 = 0.52 - 0.42 = 0.09

La misma diferencia con un monitor de gamma 3 resultaría:

L0.5 - L0.4 = 0.53 - 0.43 = 0.061

Nota: Puede realizarse una comprobación práctica de estos conceptos con el programa Gammacrt de Chips and Technologies Inc. (descargar). Es un pequeño programa de 195 Kb para Windows que no requiere instalación (no tiene efecto sobre pantallas planas -LCD y TFT- que carecen de control de contraste).

§3 Corrección Gamma

La falta de linealidad en la respuesta debida al factor gamma no solo está presente en los

Page 620: 6721122 D057 Tecnologia Del PC

monitores CRT, sino en todos los elementos hardware que realicen una conversión del tipo "valor numérico Þimagen" o viceversa, "Imagen valor numérico". Por ejemplo, escáneres y cámaras. La necesaria corrección puede efectuarse de dos formas: Mediante controles incluidos en el propio dispositivo, o mediante procesos software complementarios en los programas de visualización o adquisición de las imágenes. Estos procesos software realizan la compensación mediante tablas de conversión LUT o mediante los gestores de color del programa de aplicación o del propio SO ( H9.4).

Cualquiera que sea el método utilizado, la corrección consiste en que la luminancia teórica L de cada componente R, G y B de la matriz-imagen, se transforma en una tensión E de señal para el monitor, siguiendo la forma de una función exponencial (inversa al factor gamma) cuyo aspecto se muestra en la figura 2, que corresponde a la fórmula:

E = LLg

Puede verse que la tensión de salida E es igual a la luminancia teórica L elevada a un exponente Lg denominado gamma LUT, cuyo valor puede oscilar entre 5 y 0.25 aproximadamente (1 es la corrección nula). Un valor usual es Lg = 0.45. Su inverso es denominado factor de corrección gamma Cg, o gamma del sistema (SO gamma). La mayoría de los Sistemas Operativos permiten que el usuario pueda manipular estos valores.

Los valores por defecto de la corrección gamma de diversos

Page 621: 6721122 D057 Tecnologia Del PC

Fig. 2

Sistemas Operativos son las siguientes:

PC Mac SGI

1.0 1.4 1.7

El objeto de esta corrección gamma es contrarrestar el factor gamma del monitor, por tanto su efecto es inverso. Un aumento del factor de corrección Cg hace la imagen más clara (hay más píxels con luminancias altas). Por ejemplo: para un factor Cg = 2 (Lg = 0.5) y una luminancia relativa L = 0.5, la tensión de salida E resulta:

E = 0.50.5 = 0.707 V.

Con el mismo valor de luminancia y una corrección Cg = 2.5 (Lg = 0.4), la tensión de salida sería:

E = 0.50.4 = 0.757 V

Además del aclaramiento de imagen, el aumento de la corrección gamma produce una disminución del contraste. Por ejemplo, las diferencias de tensión correspondiente a dos puntos de luminancias relativas 0.4 y 0.5 en un monitor con corrección Cg = 2 es:

Page 622: 6721122 D057 Tecnologia Del PC

E0.5 - E0.4 = 0.50.5 - 0.40.5 = 0.074

La misma diferencia en un monitor de corrección Cg = 2.5 resultaría:

E0.5 - E0.4 = 0.50.4 - 0.40.4 = 0.064

El valor gamma total del sistema es igual al factor gamma del monitor + el factor gama LUT.

§3.1 Corrección gamma en monitores

Es raro que un monitor incluya la posibilidad de corrección gamma en sus controles, aunque algunos modelos punteros pueden tenerla; recientemente esta capacidad ha sido añadida a los productos de algunos fabricantes, incluso de pantallas planas.

Otros dispositivos, como escáneres, suelen utilizar un método software en el programa de adquisición de imagen. En la figura adjunta se muestra el aspecto de un cuadro de diálogo para calibración de la corrección gamma de un escáner en un paquete de diseño gráfico (Micrografx Picture Publisher). En este caso, la corrección se realiza gráficamente, mostrándose la curva de respuesta resultante. El sistema permite ajustar individualmente la corrección para los canales rojo, verde y azul.

Page 623: 6721122 D057 Tecnologia Del PC

§4 Ajustes del monitor

La utilidad y función de los controles utilizados en los monitores, generalmente señalados como brillo y contraste, son por lo general poco entendidos y peor utilizados.

§4.1 Brillo

En realidad, el "brillo" (señalado con el símbolo de la izquierda), debería ser denominado ajuste del blanco. Su función es añadir o restar una cantidad inicial fija (Li) a los valores de Rojo, Verde y Azul de cualquier color representado en pantalla. Su efecto es subir o bajar la curva de respuesta [4]. O dicho de otra forma: subir o bajar el valor inicial (ordenada en el origen) de la señal de video.

Este control se debería ajustar hasta que una imagen blanca apareciera realmente blanca ( H9.1.1). Su desajuste suele ser el principal motivo de mala calidad de imagen en los monitores y televisiones; su calibración depende

Page 624: 6721122 D057 Tecnologia Del PC

Fig 3.

Fig. 4

fundamentalmente de las condiciones ambientales.

§4.2 Contraste

El control señalado como "contraste" debería ser señalado como imagen. Su función es aplicar un mayor o menor factor de ganancia a las componentes Roja, Verde y Azul de la señal. Esto afecta naturalmente a la luminancia (que es proporcional a la señal), de forma que en realidad, el "contraste" controla la luminancia (brillo) de la imagen dejando intacto el blanco. Como puede verse en la figura 4, todas las curvas tienen el punto negro en el origen (luz cero con señal cero).

Fig. 5

En las figuras 5 y 6 se muestran dos situaciones extremas de ajuste del "brillo". La primera muestra un ajuste demasiado bajo, de forma que la luz es cero para algunos valores pequeños de señal, lo que origina que se pierda un rango de señales bajas (correspondientes a colores oscuros).

En la figura 6 se muestra la curva de respuesta señal/luminancia para un ajuste demasiado alto. El valor añadido Li hace que exista respuesta

Page 625: 6721122 D057 Tecnologia Del PC

Fig. 6

luminosa para señales nulas, con lo que la imagen se forma a partir de un "pedestal de gris".

Para que exista calidad de imagen en un monitor, deben cumplirse dos condiciones: Para unas componentes RGB (0,0,0) debe producirse un negro real (ausencia de luz en el fósforo o en el diodo correspondiente). Para una señal (255,255,255), debe producirse la luminancia deseada (ajuste de blanco adecuado).

Hay que tener en cuenta que el factor de contraste de un monitor es el cociente entre la máxima luminancia que puede producir (correspondiente al blanco) y la mínima (correspondiente a negro). Este factor es

determinante en la calidad de la imagen, más incluso que la definición [3].

Los pasos para ajustar de forma óptima un monitor son los siguientes:

1.- Ajustar el control de Contraste al mínimo 2.- Mostrar una imagen negra3.- Ajustar el control de Brillo para reproducir correctamente el negro. Debe estar situado en tal punto que un pequeño aumento haga que las zonas negras empiecen a parecer gris oscuro.Mostrar una imagen que tenga zonas blancas.4.- Ajustar el Contraste de modo que los colores blancos de una imagen resulten con el nivel de brillo deseado.

Este último ajuste depende enteramente de las condiciones ambientales en que se vaya a contemplar la imagen, pero debe resistirse la tentación de utilizar una imagen demasiado brillante, ya que esto origina una serie de factores contrarios a la calidad de la imagen

Page 626: 6721122 D057 Tecnologia Del PC

(aumento del parpadeo -fliker-, desenfoque de los cañones, traspaso de luz a las zonas adyacentes con reducción del contraste, Etc.)

Naturalmente, los consejos anteriores se refieren a las pantallas CRT, ya que las pantallas planas carecen de este tipo de problemas. En el caso de estas últimas la única precaución es elegir una luminancia que sea solo ligeramente superior a la del fondo (un gran contraste es perjudicial para el confort visual). En todos los casos se deben evitar las luces ambientales que produzcan reflejos sobre la pantalla.

Inicio.

[1] Debido a que la mayoría de los monitores actuales son similares eléctricamente (distinguiendo naturalmente entre las tecnologías CRT y LCD), sus valores Gamma también lo son, de forma que para un monitor cualquiera el valor Gamma depende principalmente de los ajustes de brillo y contraste.

[2] CRT ("Cathodic Ray Tube") Tubo de rayos catódicos, todavía (2004) habituales en los monitores de ordenador y pantallas de TV, aunque están siendo rápidamente desplazados por dispositivos LCD (pantallas planas). En estas últimas es proceso es muy similar, aunque la forma última de producir cada punto de luz (pixel) que compone la imagen, varía ligeramente..

[3] Este valor depende principalmente del tipo de display utilizado; un monitor CRT suele tener un factor de contraste del orden de 245:1. Las pantallas planas presentan (2004) valores entre 130:1 a 500:1, con valores medios del orden de 350:1 y por lo general exceden el valor de los CRTs.

[4] Curva que muestra la respuesta de luminancia de la pantalla en función de la tensión de señal E aplicada al monitor.

Inicio

Page 627: 6721122 D057 Tecnologia Del PC

Tecnología del PC[Home] [Inicio] [Índice]

Subir

10.1 Generalidades, física del sonido

§1 Presentación

En este capítulo se exponen algunas ideas sobre el sonido en el ordenador; comenzando por algunos conceptos básicos sobre física del sonido, que consideramos un soporte mínimo e indispensable que ayude a comprender aspectos más técnicos de la relación de la informática con el fascinante mundo de la música y el sonido.

Los aspectos más concretos de la tecnología del sonido en el ordenador actual se han dejado deliberadamente en el aire, apenas apuntados; las razones son varias. En primer lugar el propio desconocimiento del autor (nunca me han interesado demasiado los aspectos tecnológicos de este tipo). En segundo lugar, el fulgurante desarrollo de la tecnología del hardware, hace que dispositivos punteros de hoy parezcan anticuados pasado mañana, por lo que nos parecen más importante las ideas básicas, mucho más perdurables, que los últimos diseños, marca, modelo o tecnología de tal o cual tarjeta de sonido. En tercer lugar, la descripción detallada de dispositivos concretos se saldría totalmente del enfoque que pretendemos para esta obra.

Este capítulo pretende ser simplemente una introducción al tema; introducción que puede servir como punto de partida para que los lectores más interesados puedan comenzar a buscar por sí mismos.

Page 628: 6721122 D057 Tecnologia Del PC

§2 Sinopsis

Según el Diccionario de la Lengua de la Real Academia Española, sonido es la sensación producida en el órgano del oído por el movimiento vibratorio de los cuerpos, transmitido por un medio elástico, como el aire. Luego nos aclara que es el efecto de la propagación de las ondas producidas por cambios de densidad y presión en los medios materiales, y en especial el que es audible.

A efectos prácticos podemos destacar dos ideas importantes: Que es una "sensación", (como la luz), por tanto subjetiva, y que el medio de propagación generalmente es el aire. Pero como el diccionario no es el mejor sitio para aprender física, añadiremos algunas puntualizaciones al respecto.

Suponiendo un medio aéreo (el normal para los seres humanos), el sonido está originado por cualquier perturbación en la presión atmosférica. Esta oscilación en más y en menos alrededor del valor normal, se propaga por el aire en lo que denominamos una onda acústica. En contra de lo que ocurre con las ondas electromagnéticas (la luz), cuya velocidad de propagación es una constante universal, la velocidad de propagación de las ondas acústicas depende en gran medida de las características del medio en que se transmiten. En las películas hemos visto como pegando el oído a la vía del tren se percibe más claramente, y antes, su llegada que si esperamos a oírlo por el aire [1]. También en el agua se propagan los sonidos mejor que en el aire; de esta circunstancia sacan provecho algunos animales marinos para su comunicación. Otra diferencia importante con respecto a la radiación electromagnética, es que las ondas acústicas necesitan de un medio elástico para su propagación, no pueden transmitirse en el vacío como aquellas.

Nota: En ciertos aspectos, el sonido y la luz comparten características comunes, por lo que frecuentemente estableceremos paralelismos y analogías entre ellos. El punto crucial, y común, es que ambos se refieren a la "percepción" en nuestra mente de fenómenos físicos, con todo lo que ello tiene de subjetivo, ya que la percepción humana es subjetiva (distinta para cada individuo). No es desde luego fácilmente cuantificable, ni sigue una relación de tipo lineal respecto al fenómeno que las origina. Otro punto

Page 629: 6721122 D057 Tecnologia Del PC

importante es que estos fenómenos pueden ser estudiados desde un punto de vista físico (objetivo) e independiente de la percepción que el humano pueda tener de los mismos.

§3 El sonido en el aire

Los fenómenos que percibimos como sonido son vibraciones, y desde el punto de vista físico es equivalente considerarlas como desplazamientos oscilatorios (en dos direcciones opuestas) de las moléculas del aire, o como alteraciones de presión también oscilatorias [6]. Estas alteraciones inciden sobre el tímpano, y a través de los huesos del oído medio, son conducidas al oído interno, donde producen alteraciones electo-químicas que llegan hasta el cerebro por los nervios auditivos.

Hemos señalado que las alteraciones de presión que constituyen el sonido se desplazan a una velocidad que depende del medio; es lo que se conoce como velocidad de propagación. En el caso del aire a nivel del mar, esta velocidad es aproximadamente de 340 metros por segundo; es denominada Mach 1 en aviación [9].

De forma similar a lo que ocurre con la radiación electromagnética, el oído humano es capaz de percibir las perturbaciones de presión de las ondas acústicas. Aquí hay dos aspectos importantes a considerar: Uno es relativo a las frecuencias perceptibles; el otro a la energía necesaria para que la onda sea perceptible.

Nos referiremos a los aspectos energéticos más adelante (Intensidad Sonora ). Respecto al primer punto, el oído es sensible a una gama de frecuencias, el denominado rango de frecuencias audibles o frecuencias de "Audio". Generalmente se acepta que comprende entre 20 Hz y 20,000 Hz, aunque existen componentes armónicos ( ) de audio que se extienden muy por encima de los 20 KHz. También aquí, algunos animales son capaces de percibir y utilizar, sonidos fuera del rango que es perceptible a los humanos. Por ejemplo, perros, gatos, delfines y murciélagos.

Page 630: 6721122 D057 Tecnologia Del PC

El sistema de altavoces y los auriculares que suelo conectar en el ordenador de trabajo, son de calidad mediana. El primero es un sistema auto-amplificado de 2 altavoces y 9 W por canal que, de acuerdo con sus especificaciones, tiene un rango de respuesta de 120 Hz a 20 KHz. El de los auriculares es de 18 Hz a 22 KHz. Como puede verse, es más fácil hacer que la membrana de estos últimos funcionen a altas y bajas frecuencias, que la de los altavoces, que por ser mayores tienen mayor inercia.

§3.1 Amplitud, tono y timbre

Como ocurre con todos los fenómenos ondulatorios, en el sonido son importantes dos parámetros: La frecuencia y la amplitud. La frecuencia es percibida como tono, las frecuencias elevadas se perciben como tonos agudos, las más bajas como tonos graves. Por su parte, la amplitud se percibe como intensidad, volumen o sonoridad. Las vibraciones de gran amplitud se perciben como sonidos fuertes, las de pequeña amplitud son sonidos débiles.

La frecuencia F de un sonido y su longitud de onda L están directamente relacionadas con la velocidad de propagación V en la forma:

L = V / F <===> F = V / L

Por ejemplo, a una frecuencia de 10 KHz le corresponde una longitud de onda:

L = 340 / 10 · 103 m = 34 mm

Las longitudes de onda de las frecuencias audibles oscilan entre 1.7 cm y 17 metros. Los murciélagos pueden utilizan sonidos de unos 10 KHz. Los 34 mm de longitud de onda de este "Sonar" es suficiente para discriminar y capturar insectos en vuelo [8].

Page 631: 6721122 D057 Tecnologia Del PC

El conocimiento de la longitud de onda del sonido es fundamental cuando se trabaja en espacios acústicos como estudios de grabación, micrófonos, cajas acústicas, etc. Cuando se trata del sonido, además de la frecuencia (tono) y amplitud (sonoridad) también es importante el timbre o calidad del tono. Siguiendo nuestro paralelismo con la radiación electromagnética, de la que no existen luces de color puro, en la vida real tampoco no existen sonidos puros (de una sola frecuencia). Los sonidos reales son compuestos de vibraciones de muchas frecuencias, precisamente la proporción de las frecuencias componentes es lo que caracteriza el timbre de los sonidos, desde la voz humana a los instrumentos musicales.

Incluso un sonido más o menos puro como una nota de piano, tiene una componente fundamental, que corresponde a la frecuencia de la propia nota, pero está acompañada de toda una gama de frecuencias (múltiplos y divisores) por arriba y por debajo de esta frecuencia fundamental. Son los denominados componentes armónicos, que en conjunto caracterizan la nota. Por ejemplo, la nota más baja del piano es de 27 Hz y la más alta de unos 4 KHz. El LA central (natural) -nota A en la nomenclatura anglosajona- es de 440 Hz, sin embargo está acompañado de componentes armónicos de 220, 110, 55, ..., 880, 1320, 1760, Etc. que exceden con mucho las frecuencias fundamentales de las teclas extremas. Considere que son precisamente las amplitudes de los armónicos, lo que permiten distinguir un LA natural de piano de un LA de saxo o de clarinete.

Fig. 1

Otro aspecto importante para la identificación de sonidos es su evolución en el tiempo. La amplitud del sonido tiene una evolución desde el momento inicial hasta que desaparece, y esta evolución concierne tanto a la componente fundamental como a sus armónicos. Su representación es la envolvente del sonido y tiene cuatro partes

Page 632: 6721122 D057 Tecnologia Del PC

características: El ataque ("Attack") es la fase en que el sonido va creciendo en intensidad hasta alcanzar un máximo. El sostenido ("Sustain") es una fase en que la intensidad es más o menos constante; en ocasiones después de un pequeño descenso ("Decay") después de la amplitud máxima. Finalmente, la desaparición ("Release") es la fase en que la intensidad va disminuyendo hasta desaparecer. Por ejemplo, una palmada tiene un tiempo de ataque de unos 2.5 ms en los que la amplitud crece muy rápidamente; un sostenimiento de unos 3 ms y desaparece en otros 2.5 ms. En cambio, el tiempo de ataque de un gong es mucho más lento, del orden de 1 s; su sostenimiento es de 1.5 s y su desaparición del orden de 30 segundos o más. Tenga en cuenta que la intensidad de los armónicos (su envolvente) no evoluciona igual que la de la frecuencia principal y es a su vez distinta para los distintos instrumentos.

Nota: Generalmente los armónicos de alta frecuencia se atenúan antes que los de frecuencias bajas, que son más persistentes.

La figura 1 muestra una imagen simplificada (utilizando trazos rectos) de la envolvente de un sonido. Es una representación conocida como modelo ADSR ("Attack-Decay-Sustain-Release"), que es utilizada en ciertas técnicas de síntesis que utilizan tablas de ondas [7].

Puesto que el sonido es la percepción de vibraciones mecánicas en un medio elástico (el aire), estas vibraciones pueden ser medidas en término de variaciones ± del valor de la presión atmosférica, cuyo valor máximo puede ser expresado por:

pmax = A B 2 π/ L = A B k

En esta fórmula, A es la amplitud de la vibración; B es el módulo de elasticidad de volumen, o módulo volumétrico ("Bulk modulus"), del medio de propagación (aire en nuestro caso); L es la longitud de onda y π es el número Pi (3.1415...). El término k (2 π / L) es conocido como número de onda o constante de propagación.

§4 Magnitudes físicas

Page 633: 6721122 D057 Tecnologia Del PC

Desde el punto de vista de la física existen dos magnitudes que tienen importancia en la percepción del sonido: La potencia y la intensidad sonoras.

§4.1 Potencia Sonora

El frente de ondas que se propaga alrededor de un punto transporta cierta energía [2]. Esta energía es captada por el tímpano, y es precisamente la responsable de que podamos oírlo. Es bastante intuitivo que cuanto más extenso sea este frente (más alejado del punto inicial) la energía estará menos concentrada (el sonido se percibe como más débil). Por esta razón la energía en sí misma no es muy representativa de lo "Fuerte" que puede resultar un sonido. Como veremos a continuación, es más representativa la energía por unidad de superficie. Sin embargo, indicaremos aquí que el oído es un órgano extraordinariamente sensible en este aspecto, pudiendo percibir energías infinitesimales. Se estima que al hablar en tono normal desarrollamos una una potencia de 0.00001 W (10-5 W), y tres veces este valor para un grito [3].

§4.2 Intensidad sonora

La intensidad I de un sonido puede medirse mediante la energía que transporta por unidad de superficie (medida en perpendicular a la dirección de propagación); se expresa en W/m2. Esta magnitud que depende de la amplitud y frecuencia de la fuente sonora, y es independiente de cualquier consideración subjetiva (del observador).

Se acepta que la intensidad del sonido más tenue perceptible por el oído humano normal es de 10-12 W/m2, y que 1 W/m2 es el umbral del dolor. En base a estos datos, puede afirmarse que el oído humano es realmente notable y que su rango de percepción es increíble (podemos suponer como es el de algunos animales). El físico Alexander Wood lo comparó con la variación de luminosidad aparente de una lámpara de 50 Watt encendida en Londres para una persona que partiese de su proximidad y se alejase paulatinamente hasta Nueva York. Precisamente este enorme rango de intensidades sonoras perceptibles por el oído ha motivado que, como veremos en el próximo epígrafe, se utilice para su medición no una escala lineal, sino logarítmica.

Page 634: 6721122 D057 Tecnologia Del PC

Suponiendo que la energía se distribuye uniformemente alrededor del que habla, un interlocutor a 1 m percibe una intensidad I = 10-5/ (4 π 12) = 79.577 10-8 W/m2. Si en un teatro queremos conseguir que a 20 m del escenario percibamos la conversación de dos actores como si estuviésemos en la propia escena, debemos utilizar un amplificador que proporcione una potencia sonora Ps:

Ps / (4 π 202) = 10-5/ (4 π 12) ==> Ps = 10-5(4 π 202) / (4 π) = 4 mW. [5]

§4.3 Nivel de presión acústica

Otra forma de referirse a la energía transportada por un sonido es su nivel de presión SPL ("Sound Pressure Level") o volumen acústico, que depende de la amplitud de la vibración. Es importante significar que la misma frecuencia nos parece de tono distinto cuando cambia su intensidad [4] y que niveles elevados se consideran dañinos para la salud y pueden llegar a producir sensaciones dolorosas.

El volumen acústico se mide en Bels, abreviadamente B, nombre elegido en honor de Alexander Graham Bell. Tiene su origen en los laboratorios Bell de AT&T cuando necesitaban un método para medir las pérdidas de señal en líneas telefónicas. El volumen acústico ß de un sonido de intensidad I expresado en Bels se define como:

Iß = log ----- (Bels) Io

Como la unidad resultaba demasiado grande, se utiliza el decibelio(décima parte del Bel) designado dB que ha quedado como unidad "de facto" para la medida del volumen acústico. Así pues, el volumen acústico ß de un sonido de intensidad I expresado en decibles se define como:

Iß = 10 log ----- (dB)

Page 635: 6721122 D057 Tecnologia Del PC

Io

Como puede verse, se trata de un cociente entre dos magnitudes, expresado en una escala logarítmica. Salvo indicación en contrario, el valor de referencia Io es 10-12 W/m2 (intensidad del sonido más tenue perceptible por el oído humano), que se considera como punto origen para las medidas acústicas. De la propia definición se deduce que el volumen acústico correspondiente a Io es:

Ioß = 10 log ----- = 10 log 1 = 0 Io

La intensidad de 1 W/m2 (umbral del dolor), equivalente a una presión sonora de 120 dB, y 1 dB es la mínima variación de intensidad de un sonido que puede detectar el oído. De la aplicación de la fórmula se deduce que duplicar la intensidad de un sonido (pasar de un valor I1 a otro 2 · I1) supone una variación de 10 log 2 = 3.01 dB.

Nota: observe que la intensidad I de un sonido es una magnitud absoluta, independiente del observador, mientras que el nivel de presión sonora SPL, es un valor relativo que toma como referencia un nivel de señal relacionado con un observador humano estándar. La ventaja de utilizar la presión acústica SPL en dB frente a la intensidad, es que al estar referida al nivel de percepción humano, es más significativa para hacernos una idea de "cuanto" de fuerte es percibido un sonido. Además, tratándose de sonidos para "consumo" humano, voz, música, señales acústicas, Etc. el rango a manejar es de 120 en vez de 1.000.000.000.000. Por ejemplo, la diferencia entre dos intensidades de 10-8 W/m2 y 10-4 W/m2, que son 10,000 W/m2, puede ser expresado como una diferencia de 40 decibelios (4 Bels).

Las medidas en Bels y decibels representan un cociente entre dos valores. Es

Page 636: 6721122 D057 Tecnologia Del PC

decir, una medida relativa como lo podría ser el % (ver a continuación), que no tiene sentido si no se conoce el valor de referencia. Es frecuente encontrar esta medida en todo tipo de trabajos que tienen que ver con el sonido, y no siempre el valor de referencia se refiere a 10-12 W/m2. Por ejemplo, al referirse a amplificaciones o atenuaciones de señales eléctricas, se utiliza como valor de referencia el valor de la señal (tensión) de entrada, que es equivalente, ya que las potencias de las señales eléctricas son proporcionales al cuadrado de su tensión.

W = V . I I = V / RW = V2/R §4.3aSignificado: W = potencia; I = intensidad; R = resistencia.

Así pues, si una señal eléctrica sufre una amplificación o atenuación, pasando de Vo a V en un dispositivo, la ganancia (o pérdida) puede ser expresada también en decibelios en función de las tensiones y resistencias de entrada y salida:

§4.3b

x dB = 10

V2/R log --------- = 20 Vo2/Ro

V Ro log ---------- = 20 Vo R

V Log --- + 20 Vo

RoLog ---- = 20 R

VLog --- + K Vo

Como puede verse, cuando se utilizan estas expresiones en dispositivos amplificadores, es necesario indicar las resistencias de salida y entrada. Caso de ser iguales (Ro = R) la expresión K vale cero, de forma que la amplificación solo depende del logaritmo del cociente de las tensiones de entrada y salida.

Page 637: 6721122 D057 Tecnologia Del PC

Nota: Los modernos sistemas de audio tienen una impedancia de salida relativamente baja, mientras que es alta la de entrada. En consecuencia existe un mínimo intercambio de energía entre ambos lados. En estas condiciones el cociente Ro/R es un valor alto.

En realidad es raro encontrar expresiones de % en trabajos de acústica, aunque a veces se utiliza. La expresión para convertir entre ambas es:

Ganancia Variación de señal en %+ 12 dB + 6 dB ± 0 dB - 6 dB

- 12 dB - 20 dB - 40 dB - 60 dB - 80 dB

400 % 20 log (400/100) 200 % 20 log (200/100) 100 % 20 log (1) 50 % 20 log (50/100) 25 % 20 log (25/100) 10 % 20 log (10/100) 1 % 20 log (1/100) 0.1 % 20 log (0.001) 0.01 % 20 log (0.0001)

y %x dB = 20 log -------- 100

En el cuadro se muestran algunos ejemplos de las variaciones de señal conseguidas con un amplificador en función de los ajustes en el control de ganacia (dB). Observe que cuando la ganancia es cero, la señal de salida coincide con la de entrada.

Como resultado de las distintas magnitudes que pueden relacionarse en las medidas acústicas, es frecuente encontrar las siguientes expresiones:

● dB Fs decibelios relativos a "Full Scale". Es la más utilizada en trabajos de audio. Como valor de referencia se utiliza el máximo que puede alcanzar la señal [10] (se suponen tensiones). En consecuencia los resultados son negativos (los cocientes son siempre menores que la unidad). En las señales digitales este valor viene determinado por la profundidad de muestreo ( 10.2), que para los sistemas de sonido del PC son 8 o 16 bits, por lo que el denominador (señal "full scale") puede adoptar los valores máximos 255 y 65535. Poniendo estos valores en el denominador y 1 en el numerador (valor mínimo de la señal distinto de

Page 638: 6721122 D057 Tecnologia Del PC

cero) en la fórmula §4.3b , los rangos para estas señales son de 0 a -48 dB para 8 bits y 0 a 0 a -96 dB. para 16 bits.

● dB r decibelios relativos a una referencia absoluta. Se utiliza en mediciones de precisión y se indica siempre el valor r utilizado como referencia.

● dB V decibelios relativos a 1 Voltio. En este caso el divisor es 1 y la expresión §4.3b se reduce a dB = 20 log V + K

● dB m decibelios relativos a 1 mW. Suele utilizarse en radiodifusión. Cuando se utiliza en mediciones acústicas debe indicarse la resistencia, ya que en audio, el rendimiento y eficacia de los equipos se expresan en voltajes en lugar de potencias. Teniendo en cuenta que los equipos profesionales de audio suelen tener una impedancia de entrada entre 600 y 150 Ohmios. 1mW representa tensiones entre 0.7746 y 0.3873 Voltios (fórmula §4.3a ).

● dB u decibelios utilizando una referencia de voltaje de 0.7746 V. O lo que es lo mismo, utilizando una potencia de referencia de 1 mW (dB m) y una resistencia de referencia de 600 Ohms.

● dB spl decibelios "Sound Pressure Level". En las medidas acústicas es frecuente utilizar una intensidad de referencia de 0.1 W/m2.

Bibliografía:

"Personal Computer Audio Quality Measurements" Dr. Steven Harris & Clif Sanchez

§5 Sensibilidad humana

Como hemos señalado, el oído humano es un instrumento registrador extremadamente sensible; es capaz de percibir vibraciones del aire del orden de 10-11 m, aunque evidentemente esta sensibilidad no es la misma para todos los individuos ni para todas las

Page 639: 6721122 D057 Tecnologia Del PC

frecuencias. Fletcher y Munson (F&M) fueron los primeros investigadores que en los años 30 establecieron la sensibilidad humana a sonidos de diversa amplitud y frecuencia, demostrando que la sensibilidad del oído es extremadamente dependiente de la frecuencia, registrando una sensibilidad máxima entre 3 y 4 KHz. Por encima y debajo de estas frecuencias los sonidos se perciben más débilmente.

Según estos resultados resulta evidente que conocer el SPL de un sonido no proporciona suficiente información sobre su sonoridad ("cuanto" de fuerte lo percibimos); habría que indicar su frecuencia y conocer el grado de sensibilidad a esta última.

Con objeto de dar una medida lo más fiel posible de la "sonoridad" de un sonido, Fletcher y Munson establecieron una medida para la sonoridad y una serie de curvas de igual sonoridad para varios niveles de presión acústica, desde el umbral de audición (0 dB), a niveles dañinos para la salud (120 dB), en intervalos de 10 dB.

Observe que utilizamos el término sonoridad para describir el nivel de sensación que produce un sonido. La unidad de sonoridad phon, es la que corresponde a un sonido de 1000 Hz expresado en dB.

Para determinar la sonoridad de una nota de cualquier frecuencia F, se determina el SPL en dB de un sonido de 1000 Hz que proporcione la misma sensación de volumen sonoro.

En la figura adjunta se muestran una serie de estas curvas de F&M. En abcisas se muestran (en escala logarítmica) las frecuencias F de 20 a 20,000 Hz (audibles); en ordenadas se

Page 640: 6721122 D057 Tecnologia Del PC

muestran las intensidades I del sonido en W/m2; en decibelios, y la presión máxima Pa correspondiente en pascales (Newton/m2).

Las curvas muestran puntos de igual sonoridad, la inferior corresponde al umbral de percepción, la superior al umbral de dolor. Por ejemplo, un sonido de 100 Hz a 52 dB y otro de 10 KHz a 52 dB tienen la misma sonoridad que una nota de 1 KHz a 40 dB, lo que significa que los tres tienen una sonoridad de 40 fones.

Nota: El valor de la presión acústica, expresada en decibelios, ponderada en función de la frecuencia, se conoce como "A-weighted", y se indica añadiendo una letra "A" a la medida. Por ejemplo: 15 dBA.

§6 Webografía

● SweetWater http://www.sweetwater.com/insync/word.php

Glosario de términos relacionados con el sonido.

● Handbook for Acoustic Ecology http://www.sfu.ca/sonic-studio/handbook/

Es la versión digital actualizada de un libro cuya primera edición vio la luz en 1978. Producto a su vez de un proyecto de investigación de la universidad canadiense Simon Frazer de Vancouver (Columbia Británica). Contiene información sobre infinidad de conceptos y términos relacionados con el sonido.

Inicio.

[1] Naturalmente eso lo hacen los "Indios" en las películas, pero es totalmente desaconsejable hacerlo en la realidad.

[2] La energía es la capacidad de producir un trabajo. A su vez el trabajo puede

Page 641: 6721122 D057 Tecnologia Del PC

transformarse en movimiento mecánico o calor.

[3] La potencia es la energía dividida por el tiempo (energía en unidad de tiempo). Generalmente expresada en Vatios ("Watts"). 1 W = 1 Julio/s. = 0.10197 Kgm/s.

[4] Esta circunstancia debe ser tenida en cuenta cuando se mezclan sonidos; deben ser comprobados a diversos volúmenes acústicos. Como regla general, si una mezcla suena bien a un nivel bajo, sonará mejor a niveles más elevados.

[5] Naturalmente la potencia eléctrica debería ser muy superior; generalmente los altavoces son dispositivos que proporcionan un rendimiento muy pobre entre la energía eléctrica consumida y la energía acústica radiada. Además en estas consideraciones suponemos que la energía se reparte uniformemente alrededor de la fuente, cosa que casi nunca es cierta.

[6] Las sinusoides que representan los desplazamientos de las moléculas y las variaciones de presión, están desfasadas entre sí 1/4 de onda.

[7] En muchos instrumentos, la composición espectral (de armónicos) durante la ejecución de una nota, permanece aproximadamente constante durante el periodo de "Sustain". Esta circunstancia es aprovechada para guardar un trozo de esta forma de onda en una tabla ("Wavetable"). Posteriormente, la onda total es reconstruida repitiendo la muestra un número de veces adecuado hasta alcanzar la duración total deseada. Simultáneamente la amplitud es modulada de forma que se ajuste lo más posible a un patrón ADSR determinado.

[8] Se acepta que pueden percibir sonidos entre 1 y 80 KHz. Para el delfín entre 2 y 100 KHz

[9] La velocidad del sonido en el aire se mide generalmente en una "atmósfera estándar" (15.6ºC, 1013,25 mb/cm², 1,325 kg/m³) es aproximadamente 340.46 m/s. En agua dulce, a 30ºC, es de 1509.6 m/s, mientras que en la de mar, con la misma temperatura, con una concentración de sales de 35%, es de 1546.2 m/s. Se estima que cuando la temperatura aumenta en un grado centígrado, la velocidad del sonido lo hace en 2.5 m/s; si la salinidad se incrementa en 1%, la velocidad presentará un incremento 1.4 m/s; y si la presión sube 10 atmósferas (100 m. de profundidad), el incremento es de 1.8 m/s. En el acero (vías del tren)

Page 642: 6721122 D057 Tecnologia Del PC

la velocidad de propagación es de unos 5100 m/s.

[10] Cuando la señal llega a los valores máximo o mínimo se dice que hay "saturación".

Inicio

|Índice| Copyright © 2000-2006 Zator Systems. NO software patents

Page 643: 6721122 D057 Tecnologia Del PC

Tecnología del PC[Home] [Inicio] [Índice]

Subir

10.2 Tratamiento digital del sonido

§1 Sinopsis

El almacenamiento y reproducción del sonido puede hacerse siguiendo dos criterios que denominaremos del magnetófono y de la partitura. El primero pretende almacenar la forma de onda de la forma más fiel posible para reproducirla después. Es el método utilizado en los antiguos dispositivos analógicos como el gramófono o el magnetófono (el propio teléfono). Por contra, el sistema de partitura establece las reglas por las que se formará el sonido; es la información contenida en la partitura la que informa al músico sobre los resultados que debe conseguir.

La informática ha reproducido los criterios anteriores adaptándolos a los dispositivos digitales. De forma resumida podemos adelantar aquí que el sistema del magnetófono digitaliza la onda por el procedimiento de anotar repetidamente su amplitud en intervalos de tiempo muy pequeños; es el denominado sistema de muestreo, del que existen muchas variedades. En todos los casos la onda es transformada en una serie de valores numéricos que se almacenan en un fichero. Posteriormente el fichero puede ser leído por un programa especial, y sus datos enviados secuencialmente a un dispositivo que es capaz de regenerar una tensión eléctrica proporcional a los valores (numéricos) recibidos, de forma que semeja la forma de onda original (es la tarjeta de sonido). La tensión producida es entregada a su vez a un altavoz, que la transforma finalmente en "Sonido".

El sistema de la partitura utiliza un lenguaje especial, parecido al de los músicos, para

Page 644: 6721122 D057 Tecnologia Del PC

almacenar información sobre cada nota. Es desde luego un lenguaje informático como cualquier otro (Algol, C, Fortran, Basic, Etc.), aunque adaptado a las necesidades de la representación del sonido. Existe una amplia variedad de estos lenguajes musicales para ordenador cuyo funcionamiento es parecido. El "Fuente" es aquí una "partitura electrónica" que indica cuando debe sonar una nota, por cuanto tiempo, con que volumen y como debe terminar. Después de un cierto proceso "compilación", en vez de producir un ejecutable normal, producen un "binario de sonido". Es decir, un fichero .wab, .au, .snd, .mid, .mp3, .aiff, Etc.

Nota: A partir de aquí, se está en la misma posición que en el sistema anterior (de muestreo). Los ficheros de sonido pueden ser leídos por programas adecuados que los transforman en una serie de valores numéricos, que son enviados secuencialmente a la tarjeta de sonido del ordenador. Esta los transforma en valores analógicos (tensiones), que finalmente se transforman en sonido en los altavoces.

Una forma especial del sistema de la partitura es el denominado sistema MIDI, que se creó para intercambiar información musical entre dispositivos electrónicos digitales, al que dedicaremos un capítulo ( 10.4). Añadir que recientemente han aparecido sistemas híbridos, que están a medio camino entre el sistema de muestreo y el modelo MIDI. Los ficheros resultantes (.mod, .xm, .mtm y .s3m) son menores que los de muestreo puro, pero mayores que los MIDI.

§2 Muestreo

Una forma de tratar una vibración sonora (música o voz) para su manejo por medios informáticos (para meterlo en un CD de música por ejemplo), es digitalizarla (transformarla en números) mediante muestreo. Consiste en medir la amplitud de la vibración en intervalos de tiempo muy cortos, lo que se realiza mediante un dispositivo ADC ("Analog-to-Digital Converter"). Cada muestra ("Sample") se almacena como un número y la frecuencia a que se realiza la medición es la velocidad de muestreo ("Sampling rate"). Los valores numéricos obtenidos son anotados, y esta sucesión de resultados constituye una representación numérica de la vibración. Si los números son representados en binario dentro del ordenador, tendremos una representación digital binaria de la música, muy apropiada

Page 645: 6721122 D057 Tecnologia Del PC

para su tratamiento por medios informáticos. Para reconstruir el sonido a partir de su representación digital, basta construir un dispositivo conversor DAC ("Digital-to-Analog Converter") que mande a un altavoz impulsos eléctricos proporcionales a los valores de la serie de números previamente almacenada (cosa relativamente fácil de hacer desde el punto de vista de la ingeniería electrónica).

Conviene no perder de vista que, en estos procesos, la calidad de la cadena es la del eslabón más débil, y que la calidad del sonido almacenado y reproducido, comienza en el proceso de toma de datos (muestreo), y termina en el dispositivo de reproducción utilizado (altavoces) [1]. Es evidente que en ningún caso se puede reproducir un sonido con mejor calidad que la que se empleó en la grabación, y en este orden de ideas, no es lo mismo grabar en monoaural (un solo canal) que en estéreo (dos canales) o en sonido cuadrafónico (cuatro canales), y por tanto doble o cuádruple cantidad de información (una serie por canal).

Observe que tal como lo hemos descrito, en el proceso de toma de datos solo intervienen dos factores: La frecuencia de muestreo y la precisión de la medida almacenada. Analizaremos separadamente ambo factores que son indicativos de la calidad de la digitalización.

● Frecuencia: Cuanto más numerosa es la serie de valores anotados, con mas fidelidad se puede reconstruir después la forma de la onda original. Por lo general se estima que la frecuencia debe ser por lo menos el doble de la mayor frecuencia que se desea reproducir [5]. Para reproducir con una mínima calidad las frecuencias más altas del espectro audible (20 KHz) se requieren 40 KHz (el estándar CD-audio estableció una frecuencia de muestreo de 44.1 KHz).

● Precisión: La calidad y riqueza de matices de la reproducción está directamente relacionada con la precisión utilizada para la medida de la amplitud y el almacenamiento de los resultados. Si utilizamos un almacenamiento de 8 bits para cada medida, solo podemos tener 256 magnitudes distintas para describir la amplitud de la señal. En cambio, si utilizamos 2 bytes (16 bits), disponemos de 65.536 posibilidades, con lo que la información puede ser mas rica en detalles. En este sentido es evidente que un almacenamiento de 8 bits por muestra será más pequeño pero de peor calidad que otro de 16 bits (que ocupará el doble). Al referirse al almacenamiento de audio es frecuente utilizar expresiones como 8, 16, 24, 32 bits de

Page 646: 6721122 D057 Tecnologia Del PC

profundidad de sonido, en referencia al número de bits utilizados para almacenar cada muestra.

Resulta claro que la economía de almacenamiento y la calidad apuntan en direcciones distintas, por lo que debe llegarse a una solución de compromiso en función del uso que se pretenda. No es lo mismo almacenar el contenido de una conversación telefónica que un concierto para reproducción en estéreo.

Para dar una idea de magnitudes, podemos señalar que una grabación típica de calidad telefónica básica, puede conseguirse con un muestreo de unos 8 KHz [2] anotado en 8 bits (monoaural), lo que conduce a un flujo de 8 KB/s [3]. Una calidad telefónica mejorada podría suponer un muestreo de 22.05 KHz; anotado en 8 bits por muestra proporciona una secuencia de 22 KB/s, es decir, algo mas de 1.32 MB. de datos por minuto de grabación. Una grabación de calidad CD, con un muestreo de 44.1 KHz en estéreo a 16 bits (2 x 16), proporcionaría un flujo de 176.4 KB/s, equivalente a 10.584 MB por minuto de grabación [4]. Este flujo de datos es el que se considera velocidad normal (x1) en un reproductor de CDs. Desde el punto de vista del hardware, los codificadores actuales (2004) alcanzan fácilmente velocidades de muestreo de 192 KHz con 24 bits de profundidad, aunque las tarjetas montadas en los PCs generalmente utilizan muestreos de 16 bits a velocidades mucho menores.

Nota: El origen del CD es la reproducción musical, y para este uso no tienen sentido velocidades mayores de reproducción. Sin embargo, las unidades modernas, cuya misión principal no es ya la reproducción de sonido, sino la de ficheros multimedia (video-audio), o como almacenamiento externo del ordenador, proporcionan flujos de datos superiores. Por ejemplo, un reproductor (x40) es capaz de proporcionar un flujo de 6.000 KB/s.

Calidad de sonido

Frecuencia de muestreo

profundidad de sonido

Telefónica 8,000 Hz 1 x 8 bits (mono)

Page 647: 6721122 D057 Tecnologia Del PC

Calidad Radio AM 11,025 Hz 1 x 8 bits (mono)

Calidad Radio FM 22,050 Hz 1 x 16 bits (mono)

CD estéreo 44,100 Hz 2 x 16 bits (estéreo)

Calidad DAT 48,000 Hz 2 x 16 bits (estéreo)

Resulta evidente que tanto las capacidades de almacenamiento, como los flujos de datos involucrados en este tipo de proceso son muy elevados. En argot se dice que requieren un gran ancho de banda. Un "single" normal de 4 minutos de duración en calidad CD requiere del orden de 42.3 MB de almacenamiento.

§2.1 Digitalización PCM

Uno de los sistemas más empleados para muestrear señales analógicas (generalmente audio y video) es la modulación por codificación de impulsos PCM ("Pulse Code Modulation"). Es un método de almacenamiento digital de alta calidad, no comprimido, para señales analógicas que produce ficheros de gran tamaño. Utiliza varias formas de grabación; entre otras:

Frecuencia Muestra Canales Tasa de bits 8000 Hz; 8 bit; Mono 8 KB/seg. 8000 Hz; 8 bit; Estereo 16 KB/seg. 8000 Hz; 16 bit; Mono 16 KB/seg. 8000 Hz; 16 bit; Estereo 32 KB/seg.22050 Hz; 8 bit; Mono 22 KB/seg.22050 Hz; 8 bit; Estereo 43 KB/seg.44100 Hz; 16 bit; Mono 86 KB/seg.44100 Hz; 16 bit; Estereo 172 KB/seg.

Nota: Existe una variación de este codec básico, denominado PCM adaptativo

Page 648: 6721122 D057 Tecnologia Del PC

diferencial, ADPCM que proporciona ficheros comprimidos. La técnica, consistente en codificar las diferencias en los valores de muestras consecutivas, es conocida genéricamente como codificación delta.

§3 Compresión

Nota: Las observaciones que siguen a cerca de la compresión de audio tiene una contrapartida prácticamente simétrica en el video, donde la problemática es muy similar. En el caso de imágenes de cine o TV (video y audio) los sistemas de compresión incluyen ambos canales.

Para mitigar en parte las necesidades de transmisión y almacenamiento de sonido, se recurre a comprimir la información resultante de su digitalización. Este recurso, que se emplea de forma recurrente en informática, se basa en que, como estamos viendo, cualquier información acaba siendo una sucesión de ceros y unos, del tipo: 01101011100010111010111000110... que conforma un fichero en algún lugar del ordenador.

Basándose en el estudio de determinadas secuencias de repeticiones, se han diseñado algoritmos matemáticos que permiten, mediante un proceso de cálculo (codificación), que realiza el propio ordenador, reducir el tamaño del fichero resultante. Un proceso inverso (decodificación), restituye el contenido original. Hay que reseñar que, dependiendo de la naturaleza del fichero almacenado, algunos de estos algoritmos consiguen compresiones realmente notables. Por ejemplo, el denominado MP3 consigue tasas del orden de 1/20 en la compresión de sonido de calidad CD estéreo.

En algunos casos, estas técnicas de compresión se ven reforzadas por el hecho de que no se pretende una reconstrucción exacta del fichero original, sino que se permite una cierta diferencia, o pérdida de calidad, que en nuestro caso se traduciría en una distorsión del sonido resultante respecto del original. Esta distorsión puede estar dentro de lo admisible o ser sencillamente inapreciable (el oído humano aunque muy sensible, tampoco es perfecto). Son los algoritmos no conservativos ("Lossy"), en contraposición a los algoritmos conservativos, con los que se exige una restitución perfecta del original.

Page 649: 6721122 D057 Tecnologia Del PC

Se han derrochado tiempo y talento para conseguir los algoritmos de compresión y descompresión más rápidos y perfectos; los resultados son diferentes módulos software "codecs" (acrónimo de compresión des-compresión), casi todos patentados (TM), que resuelven el problema de comprimir imágenes y sonido. Un ejemplo de algoritmo conservativo es el conocidísimo WinZip; por su parte, el MP3 sería un ejemplo de algoritmo que permite una cierta distorsión (no conservativo). Algunos de estos algoritmos se apoyan en dispositivos hardware específicos (codecs hardware) para conseguir mayor rapidez de ejecución.

Nota: No perder de vista que los programas que "Leen" ficheros comprimidos tienen el trabajo adicional de "descomprimirlos" antes de enviarlos al dispositivo de sonido (tarjeta). Es decir, deben reconstruir la secuencia original a partir de la secuencia codificada.

En el caso del video (que puede incluir uno o varios canales de audio), los mejores codecs pretenden conseguir lo que se denomina movimiento completo ("Full motion"); que exige digitalizar las escenas con una frecuencia igual o mayor de 10 cuadros por segundo, a fin de conseguir una sensación de movimiento real, como en el cine. Naturalmente, aún con imágenes pequeñas, el "Full motion video" requiere velocidades de proceso muy altas, por lo que al principio había que recurrir a descompresores hardware externos. Por ejemplo descompresores MPEG-4 para los reproductores DVD. Sin embargo, el aumento de potencia de los procesadores y la inclusión de codecs hardware en los mismos (aumento de sus capacidades multimedia), hacen ya posible el video de movimiento total con codecs software.

En ocasiones las limitaciones no son impuestas por la velocidad de proceso sino por la transmisión. Por ejemplo en la transmisión de video por en tiempo real por Internet (video conferencia). En estos casos el movimiento completo es imposible actualmente (2002) incluso con videos de cuadro pequeño, por lo que debe recurrirse a una serie de cuadros ("frames") de refresco más lento en los que la sensación de movimiento a pasos es ostensible.

Inicio.

Page 650: 6721122 D057 Tecnologia Del PC

[1] Habría que añadir aquí que las condiciones acústicas del local en que se reproduce el sonido son también determinantes en la "percepción" del resultado.

[2] KHz = Kilo Hertzios. Ciclos por segundo; en este caso, muestras por segundo.

[3] KB/s. = Kilo Bytes (octetos) cada segundo.

[4] Como puede verse, la calidad CD estándar, 44.1 KHz en 2 canales de 16 bits, supone un flujo de datos de 1411.2 Kbits/s. En contraste, los decodificadores MP3 proporcionan un flujo de salida de 192 Kbits/s en la denominada "Calidad CD". Evidentemente, aprovechan que la capacidad de discriminación del oído humano es (por lo general) bastante deficiente, para utilizar una abismal diferencia entre lo que es la calidad CD "real" y su imitación.

[5] Es fácil demostrar que la frecuencia más elevada que teóricamente se puede reproducir con un sistema de muestreo, es igual a la mitad de la frecuencia de muestreo (en el mejor de los casos se necesitan como mínimo dos muestras por onda completa). Esta frecuencia se denomina frecuencia de Nyquist. En cualquier sistema de reproducción por muestreo, las frecuencias por encima de este límite tienden a ser "comprimidas" en dicha frecuencia, produciéndose una distorsión ("foldover") respecto del original.

Inicio

|Índice| Copyright © 2000-2006 Zator Systems. NO software patents

Page 651: 6721122 D057 Tecnologia Del PC

Tecnología del PC[Home] [Inicio] [Índice]

Subir

10.3 Codecs de audio y video

§1 Generalidades

En páginas anteriores, hemos señalado que los codecs son algoritmos utilizados para traducir una señal analógica en un fichero digital lo más compacto posible, y posteriormente reproducir la forma original de la onda con la mayor fidelidad posible. En los codecs de audio y video [1] es importante el tamaño relativo del fichero resultante respecto al original. Cuanto menor sea este fichero, mayor será la compresión alcanzada. Puesto que los procesos de reproducción de música o video requieren leer y procesar este fichero para reconstruir un sonido o una secuencia de imágenes, se utiliza también la expresión tasa de bits ("Bit rate") para indicar cómo es el flujo de información que debe alimentar al codec para producir el resultado (en realidad se refiere al ancho de banda necesario). En caso de transmisión de video o audio en tiempo real. Por ejemplo, en Internet, la tasa de bits es determinante; si dos codecs obtienen el mismo resultado, es mejor el que utiliza un "bit rate" menor.

Evidentemente, si el codec es no conservativo. Es decir, no reconstruye exactamente la imagen o sonido original, resulta también muy importante el grado de fidelidad alcanzado al final del proceso codificación-descodificación. Observe que para la mayoría de aplicaciones multimedia, en las que el espectador es un ser humano, no es tanta la fidelidad absoluta (lo que podría decir un laboratorio de óptica o acústica al respecto), como la calidad subjetiva; percepción de fidelidad al oído o vista humanos que, como sabemos, son totalmente subjetivos.

Page 652: 6721122 D057 Tecnologia Del PC

Nota: los Sistemas MS Windows, tienen una "capa" de controladores de codecs de audio y video, denominados ACM (Audio Compression Manager) y VCM (Video Compression Manager). Estos controladores pueden ser inspeccionados seleccionando: Menú de inicio configuración Panel de Control Multimedia Dispositivos. Cuando se dispone de una tarjeta de sonido Sound Blaster o compatible, Windows 98 monta los siguientes codecs:

Compresión de Audio Compresión de Video

Codec de Lernout & Hauspie Codec IMA ADPCM de Microsoft Codec Microsoft ADPCM Codec Microsoft GSM 6.0 Codec Microsoft CCITT G.711 A/u Codec DSP Group TrueSpeech Codec Indeo Codec G.723.1 Microsoft Codec Microsoft PCM

Indeo 5.04msh261msh263SAVI32VDOnet VDOWave

A continuación se incluye una descripción somera de los algoritmos de compresión/descompresión "Codecs" mas utilizados actualmente, así como algunas anotaciones sobre los ficheros que utilizan.

§2 ADPCM (Adaptive Delta Pulse Code Modulation)

Fabricante: MicroSoft Corp. Es una extensión del codec básico PCM (pulse code modulation 10.2). Produce ficheros mas pequeños y comprimidos que aquel mediante una técnica que consiste en grabar solo las diferencias de los valores PCM de dos muestras consecutivas (disponible en el "Asistente para agregar nuevo hardware" de Windows 98).

Page 653: 6721122 D057 Tecnologia Del PC

Nota: el ADPCM de Microsoft y el de la IMA (Interactive Multimedia Association) son solo dos variantes de las muchas que existen basadas en esta técnica.

§3 IMA ADPCM (Interactive Multimedia Association ADPCM)

Codec de descompresión de audio para reproducción de ficheros de video AVI (Audio Video Interleaved). Esta técnica de descompresión proporciona sonido de alta calidad al tiempo que minimiza el espacio necesario para los ficheros AVI. Adecuado para flujos de audio asociados a video de alta tasa de bits (disponible en el "Asistente para agregar nuevo hardware" de Windows 98).

Nota: AVI es un formato de Microsoft para ficheros multimedia, utilizado por Video for Windows similar a MPEG y QuickTime. En este formato, los elementos de audio y video están entrelazados (almacenados en segmentos alternados) dentro del fichero.

§3.1 Procedimiento para comprobar la instalación de los controladores ADPCM en Windows 98:

1. Seleccionar menú de inicio configuración Panel de Control.2. Seleccionar Multimedia.

3. Seleccionar la pestaña "Dispositivos" y marcar "Codecs de Compresión de audio".

4. Mirar si están "Codec IMA ADPCM Microsoft" y "Codec Microsoft ADPCM". Si están haga clic en ellos; en caso contrario siga las instrucciones de instalación que se indican. (§3.2 ).

5. Seleccione propiedades6. Verifique que está seleccionada la opción "Usar este codec de sonido"; salir

seleccionando aceptar. En la sección "propiedades" existen tres opciones: Usar el codec, No usarlo y cambiar la prioridad. En el primer caso se permite a los programas

Page 654: 6721122 D057 Tecnologia Del PC

utilizarlo (es cargado en memoria); en el segundo caso los programas no pueden utilizarlo (no se carga en memoria). La prioridad indica que codec se usará primero si existe más de uno con las mismas capacidades.

7. Seleccionar otra vez aceptar para salir de "Propiedades"

§3.2 Procedimiento para instalar los controladores de sonido ADPCM para Windows 98 (se necesita el CD de instalación):

1. Seleccionar menú de inicio configuración Panel de Control.2. Seleccionar Agregar o quitar programas.

3. Seleccione la pestaña Instalación de Windows.

4. En el panel de selección localizar la sección "Multimedia"; hacer clic en ella.

5. Seleccionar "Detalles"

6. Seleccionar "Compresión de sonido" (0.2 MB); verifique que está seleccionada la casilla de la izquierda.

7. Seleccionar aceptar.

8. Vuelva a seleccionar aceptar.

§4 CELP (Codebook Excited Linear Predictive -Coding-)

Fabricante: Lernout & Hauspie. Codec de audio para voz, baja frecuencia de muestreo y poca profundidad de sonido ( Codec CELP).

§5 Cinepak

Fabricante: Radius Corp. Proporciona video de buena calidad a pantalla completa; alta velocidad de muestreo y profundidad de muestra; buenas características de reproducción (disponible en el "Asistente para agregar nuevo hardware" de Windows 98).

Page 655: 6721122 D057 Tecnologia Del PC

§5.1 El procedimiento para comprobar la instalación de los controladores de compresión de video en Windows 98 es el siguiente:

1. Seleccionar menú de inicio configuración Panel de Control.2. Seleccionar Multimedia.

3. Seleccionar la pestaña "Dispositivos" y marcar "Codecs de Compresión de video".

4. Mirar si está "Cinepak (TM)". Si están haga clic en el; en caso contrario siga las instrucciones de instalación que se indican (§5.2 o §5.3 ).

5. Seleccione propiedades.

6. Verifique que no está seleccionada la opción "No asignar mediante este dispositivo". La selección de esta opción impide que los programas utilicen este controlador; a menos que uno de los programas lo solicite específicamente, este dispositivo no será utilizado.

7. Seleccione aceptar.

8. Seleccionar otra vez aceptar para salir de "Propiedades".

§5.2 Procedimiento para instalar los controladores de compresión de video para Windows 98 (se necesita el CD de instalación):

1. Seleccionar menú de inicio configuración Panel de Control.2. Seleccionar Agregar o quitar programas.

3. Seleccione la pestaña Instalación de Windows.

4. En el panel de selección localizar la sección "Multimedia"; hacer clic en ella.

5. Seleccionar Detalles6. Seleccionar "Compresión de video" (0.5 MB); Verifique que está seleccionada la casilla

de la izquierda.

Page 656: 6721122 D057 Tecnologia Del PC

7. Seleccionar aceptar.

8. Vuelva a seleccionar aceptar para salir.

§5.3 Procedimiento para instalar controladores individuales de compresión de video (o audio) para Windows 98 (se necesita el CD de instalación):

1. Seleccionar menú de inicio configuración Panel de Control.2. Seleccionar Agregar nuevo hardware.

3. Pulse siguiente por dos veces; el programa hará una pausa mientras busca dispositivos pnp.

4. Conteste no a la pregunta si desea que Windows busque nuevo hardware.

5. Pulse siguiente. por dos veces.

6. Baje haciendo scroll en la ventana que indica "Tipo de hardware" hasta encontrar "Dispositivos de sonido, video y juegos". Haga clic sobre esa fila.

7. Pulse siguiente. Aparecerán dos ventanas; la izquierda está marcada "Fabricantes"; la derecha "Modelos".

8. Para instalar el codec Cinepak, seleccione SuperMatch en la ventana de "Fabricantes".

También puede seleccionar en la ventana izquierda (Fabricantes) "Codecs de sonido Microsoft" y "Codecs de Video Microsoft"; luego en la ventana derecha seleccionar los codecs correspondientes que se deseen instalar.

1. Pulse siguiente.

2. Pulse terminar.

3. Cuando se le pregunte para reiniciar el ordenador conteste SI.

4. Siga el procedimiento §4.1 para comprobar que los codecs se han instalado correctamente.

Page 657: 6721122 D057 Tecnologia Del PC

§6 ClearVideo

Fabricante: Iterated Co. Es un codec de baja tasa de bits utilizado por Video for Windows y QuickTime.

§7 DVI (Digital Video Interactive)

Fabricante: Intel Corp. Está basado en un chipset de Intel, es utilizado por IBM para compresión y descompresión de video. Tiene una capa software que requiere de las características especiales de este chipset de Intel, por lo que entra en la categoría de "codecs hardware". No ha recibido gran aceptación.

§8 G.711 A-Law y u-Law (Leyes A y u)

Fabricante: Microsoft Corp. Sigue un estándar de la CCITT (Consultative Committee for International Telephone and Telegraph) pensado para proporcionar compatibilidad con los estándares telefónicos de Norte América y Europa (disponible en el "Asistente para agregar nuevo hardware" de Windows 98).

§9 G 723.1

Fabricante: Intel Corp. Es un codec de audio de alta calidad con bajas tasas de bits de 5.3 y 6.3 Kbps, proporciona buena reproducción de voz y música.

§10 GSM 6.10 (Groupe Special Mobile)

Fabricante: Microsoft Corp. Es un codec con tasa de bits media-alta orientado compresión y reproducción de voz (disponible en el "Asistente para agregar nuevo hardware" de Windows 98).

Page 658: 6721122 D057 Tecnologia Del PC

§11 H.263

Fabricante: Intel Corp. Estándar de compresión de video de baja resolución y baja tasa de bits, diseñado para conexiones telefónicas por módem de baja velocidad (28.8 Kbps).

§12 Indeo Video Interactive R4.1

Fabricante: Intel Corp. Video completo de 24 bits con tasa de bits media-alta; es un algoritmo de compresión lento, incluso en máquinas rápidas, pero ofrece mejor calidad de video que Indeo 3.2, Microsoft Video, o Microsoft RLE ; La reproducción requiere de procesadores rápidos.

§13 Indeo Video Raw (YVU9C)

Fabricante: Intel Corp. Es adecuado para capturar video no comprimido de alta calidad (tenga en cuenta que no es lo mismo que capturar video sin compresión -raw video-). Utiliza ficheros grandes y tasas de bits elevadas, pero consigue una excelente calidad de imagen. Después de la captura sin compresión, es la mejor forma de capturar video que después será procesado o comprimido por otros métodos.

§14 Indeo Video R3.2

Fabricante: Intel Corp. Utiliza muestras de 24 bits con tasas de bit medio-altas; bueno para ser utilizado con fuentes de video que no han sido comprimido previamente con algún algoritmo no conservativo. Calidad comparable a Cinepak con menores tasas de bits y poca utilización de UCP (disponible en el "Asistente para agregar nuevo hardware" de Windows 98).

§15 MSN (MicroSoft Network)

Page 659: 6721122 D057 Tecnologia Del PC

Fabricante: Microsoft Corp. Codec de audio con tasa de bits media-baja utilizado para voz y música.

§16 Motion JPEG

Un estándar ISO and Consultative Committee, International Telegraph and Telephone. Diseñado para comprimir series de imágenes JPEG. Aunque no dispone de capacidad de compresión de audio, genealmente es más rápido en mostrar imágenes que el codec MPEG, aunque el fichero resultante es dos o tres veces mayor que el equivalente MPEG de video.

§17 MPEG-1

Un estándar ISO and Consultative Committee, International Telegraph and Telephone. Previsto para proporcionar video de alta calidad a 30 cuadros por segundo con un tamaño de imagen de 352 x 240 pixels comprimidas con una tasa de bits de aproximadamente 150 Kbps (en otras palabras, equivalente al rendimiento de un CD-ROM de velocidad sencilla).

§18 MPEG-2

Un estándar ISO and Consultative Committee, International Telegraph and Telephone. Diseñado para difusión de video estándar proporcionando una reproducción de 30 cuadros de 720 x 480 píxels por segundo. Esta calidad se consigue con tasas de bits muy altas, que oscilan entre 500 Kbps y 2 MBps, por lo que MPEG-2 suele utilizarse en servidores de video dedicados.

§19 MPEG Layer-3 (MP3).

Fabricante: Fraunhofer 22050 Hz Estereo.

Codec de audio de alta calidad con baja tasa de bits. NetShow y Shockwave usan FHG para audio. Más adecuado con señales de audio mixtas (voz y música) que con voz

Page 660: 6721122 D057 Tecnologia Del PC

exclusivamente; uno de los mejores codecs de audio.

Existe una variedad de este formato, denominado VBR (Variable Bit Rate) en el que los datos no son almacenados uniformemente.

§20 MPEG-4

Fabricante: Microsoft Corp. Es una implementación limitada del estándar de video MPEG-4; resulta excelente difusión de video con tasas de bit medias y bajas.

§21 RLE Run-Length Encoding

Fabricante: Microsoft Corp. Diseñado para compresión de imágenes gráficas tipo mapa de bits, tiene una utilización de UCP baja, pero no es adecuado para manejar rápidamente cambios complejos de escena (disponible en el "Asistente para agregar nuevo hardware" de Windows 98 -Codecs de video de Microsoft -Codecs de video Microsoft-).

§22 TrueMotion RT

Fabricante: The Duck Corp. Codec de video con tasa de bits media-alta. Proporciona excelente calidad de video y rendimiento de reproducción.

§23 TrueSpeech

Fabricante: DSP Group, Inc. Codec de audio de tasa de bit media-baja orientado a voz, uno de los mejores de su categoría (disponible en el "Asistente para agregar nuevo hardware" de Windows 98 -Codecs de video de Microsoft -DSP Group-).

§24 VDOwave

Page 661: 6721122 D057 Tecnologia Del PC

Fabricante: VDOnet Corp. Codec de video de tasa de bits media-baja; orientado para la transmisión por Internet de video de alta calidad y baja velocidad en ventana pequeña.

§25 Video 1

Fabricante: Microsoft Corp. Codec de video de movimiento completo y calidad moderada en imágenes de 320 x 240 píxel o menores a una velocidad de 15 marcos por segundo o menor. Soporta solo 8 bits de profundidad de color (256 colores). Disponible en el "Asistente para agregar nuevo hardware" de Windows 98 -Codecs de vídeo Microsoft-.

§26 Voxware

Fabricante: Voxware, Inc. Códec de audio para voz de alta calidad y baja tasa de bits.

§27 Wav

Es un formato de audio digitalizado que fue popularizado por la compañía Creative Labs, creadora de la primera tarjeta de sonido para PC, denominada Sound Blaster, que estableció unos criterios que han seguido posteriormente todos los fabricantes, con lo que se ha convertido en un estándar. Utiliza la codificación PCM de 16-bit a 44kHz.

Nota: Las tarjetas Sound blaster y compatibles, permiten a los PC utilizar reproductores CD digitales para reproducir CDs de audio, así como grabar y reproducir sonidos de forma digital.

§28 Bibliografía

● Universidad de Southamton www-mobile.ecs.soton.ac.uk

Departamento de Electrónica y Ciencia de la Computación, Grupo de

Page 662: 6721122 D057 Tecnologia Del PC

Investigación de Comunicaciones, Jason Woodard "Speech Codign". Una excelente explicación de los códigos de audio para voz.

● AudioCodign.com www.audiocoding.com Código libre para MEG2 y MPEG4

● VUPlayer de James Chapman www.vuplayer.com/

Un reproductor freeware de audio para Windows, que soporta múltiples formatos: MOD / S3M / XM/IT / MP3 / MP4 / OGG / FLAC / APE / WMA / WAV / CD.

Inicio.

[1] Codecs destinados al proceso de señales analógicas que representan imágenes o sonidos.

Inicio

|Índice| Copyright © 2000-2006 Zator Systems. NO software patents

Page 663: 6721122 D057 Tecnologia Del PC

Tecnología del PC[Home] [Inicio] [Índice]

Subir

10.4 La interfaz MIDI

§1 Historia

MIDI ("Musical Instrument Digital Interface") es un protocolo de conexión desarrollado por la MMA,("Midi Manufacturer Association") a principio de los años 80, como un estándar que permitiera interconectar equipos musicales electrónicos, de forma que pudiesen controlarse mutuamente y compartir información musical. La primera demostración pública se realizó en la feria Americana de Fabricantes Musicales de 1983 en Los Ángeles. La primera especificación fue publicada en 1984.

El estándar comprende tanto el protocolo de comunicaciones (capa de enlace) como el cable necesario (capa física). Si establecemos una analogía con el mundo de la informática digital, podríamos decir MIDI es a los instrumentos musicales lo que el estándar RS232 a las comunicaciones serie entre ordenadores.

§2 Descripción

MIDI no es un dispositivo, un fichero o un software. MIDI es una forma de hacer ciertas cosas (un estándar). En un conjunto de dispositivos musicales interconectados bajo el estándar MIDI, un conjunto predefinido de eventos, ocurridos en un instrumento denominado controlador maestro, son traducidos en mensajes digitales que indican al receptor cuando debe producir una nota; cuando debe dejar de hacerlo, y otros comandos

Page 664: 6721122 D057 Tecnologia Del PC

accesorios. Existen dos tipos de controladores maestros: los instrumentos y los secuenciadores. Los primeros son dispositivos electrónicos que pueden "Tocarse" como un instrumento (generalmente un teclado) y producen una secuencia de mensajes MIDI correspondientes a las notas. Los secuenciadores son dispositivos que pueden almacenar secuencias de comandos MIDI y reproducirlas posteriormente. Es decir, enviarlas a otros dispositivos MIDI que los transformarán en sonido.

Los mensajes MIDl utilizan un formato binario muy compacto, e indican al receptor cuando debe sonar una nota, por cuanto tiempo, con que volumen, y cuando y como debe terminar. Los eventos ocurridos en el controlador maestro pueden ser destinados a 16 canales lógicos independientes numerados de 0 a 15, aunque algunos dispositivos MIDI proporcionan un número distinto (mayor o menor). Para conseguir esto, algunos mensajes llevan como parte de su información indicación del canal al que va destinado el mensaje (a este fin se destinan 4 bits).

El flujo de datos MIDl es bidireccional y asíncrono, y se transmite a través de enlaces serie a 31.25 Kbps, en paquetes de 10 bits (1 bit de inicio, 8 bits de datos y 1 bit de parada). Por ejemplo, cuando se toca el teclado de un instrumento MIDI, la conexión MIDl informa instantáneamente al sintetizador sobre la información del sonido deseado (nota, timbre, duración y volumen). Para dar soporte a esta comunicación bidireccional, el estándar MIDI utiliza tres conectores: MIDI In (entrada), MIDI Out (salida) y MIDI Thru, que puede ser utilizado para encadenar dispositivos.

La información MIDI puede ser específica para un hardware determinado; puede ordenar a un sintetizador que cambie el sonido o controlar su volumen; para señalar la métrica de una composición o sus puntos de inicio y parada; también para editar y almacenar información para un sintetizador en el ordenador. En realidad existen dos tipos de mensajes MIDI: , denominados mensajes de sistema y de canal. Los primeros son genéricos y se destinan a todos los instrumentos del conjunto. Los de canal son específicos y como se ha indicado, utilizan cuatro bits para indicar el canal de destino.

§2.1 Mensajes

Page 665: 6721122 D057 Tecnologia Del PC

La unidad de información es un byte, aunque agrupando varios bytes puede transmitirse información más compleja; cada mensaje MIDI está compuesto de una secuencia específica de bytes. El primero es el byte de estado, que en su caso, contiene de forma codificada el canal al que va destinado y le indica la función a realizar. Cada dispositivo puede aceptar o ignorar esta información en base al canal al que se adscriba el dispositivo. El byte de estado es el único que contiene información sobre el canal, mientras no se indique otra cosa, se supone que los bytes siguientes se dirigen al mismo canal.

Algunas de las funciones específicas indicadas por el byte de estado son: Note On, Note Off, System Exclusive (SysEx), Patch Change, Etc. Al byte de estado pueden seguirle un cierto número de parámetros. Por ejemplo, Note On que informa a un dispositivo que debe comenzar una nota, requiere de dos bytes adicionales, el byte de tono (pitch byte) que define la nota, y el de velocidad, que indica el volumen. Por su parte, el comando Note Off finaliza una nota, y también requiere de dos bytes adicionales con las mismas funciones que el comando Note On [1].

El comando Patch Change requiere solo un byte adicional, que señala el número de programa en el sintetizador. Este número es distinto para cada sintetizador y ha sido normalizado por la IMA ("International MIDI Association").

El comando SysEx (mensaje exclusivo de sistema) requiere un mínimo de tres bytes adicionales; el primero es de temporización (timing byte), el segundo es de datos (function byte); generalmente el tercero es el indicativo de fin de transmisión (EOX byte).

§2.2 Puertos

Los dispositivos MIDI tienen tres puertos de comunicación: IN, OUT y THRU, cuyo funcionamiento es el siguiente:

● La tecla pulsada en un dispositivo suena en ese dispositivo, y se envía por el puerto OUT. La señal enviada por este puerto es siempre resultado de la actividad del sintetizador, como puede ser la pulsación de una tecla.

Page 666: 6721122 D057 Tecnologia Del PC

● La señal recibida en el puerto IN es reenviada sin cambios y con un retraso muy pequeño por el puerto THRU.

● La señal recibida por el puerto IN es procesada por el sintetizador, donde puede generar un sonido.

Los dispositivos MIDI se conectan formando cadenas unidireccionales cuyo eslabón más simple es un enlace donde el puerto MIDI OUT de un dispositivo está conectado con el MIDI IN de otro (figura 1). En este caso, la pulsación de una tecla en el primero puede originar un sonido en el segundo.

Este enlace sencillo puede transformarse en un bucle uniendo la salida del segundo con la entrada del primero (figura 2), en cuyo caso, la pulsación de una tecla en el primero puede originar que suenen ambos dispositivos si están asignados al mismo canal. Observe que la señal enviada al primero no es un duplicado de la que este envía al segundo; no se trata de un caso de realimentación, sino de dos enlaces de una dirección.

También pueden configurarse cadenas más elaboradas, en las que se enlazan varios dispositivos; en este caso el OUT del primero es conectado con el IN del segundo, el THRU del segundo con el IN del tercero, etc. De esta forma, si todos los dispositivos están asignados al mismo canal, la pulsación de una tecla en el primero hace sonar a todos, en cambio la pulsación de una tecla en los demás solo hace sonar a la unidad pulsada.

Pueden realizarse cadenas muy complejas cuando se utilizan los tres puertos. Por ejemplo, supongamos cuatro sintetizadores A, B, C y D. Según muestra la figura 3; el OUT de A se conecta con IN de B y con IN de C a través del THRU de B. El OUT de B se conecta con el IN de D, cuyo THRU se conecta a su vez con el IN de A.

Page 667: 6721122 D057 Tecnologia Del PC

Una tecla pulsada en B suena en B, D y A, mientras que una pulsada en D solo suena en D. C no suena cuando se pulsa B porque no hay conexión directa entre ambas. La nota pulsada en B, que es enviada a D y desde aquí a A, no es reenviada a C porque el THRU de A no está conectado a C de ningún modo.

§2.3 Conexión física

Los dispositivos MIDI utilizan un cable especial de cinco conductores apantallado y aterrizado en el que se utilizan solo tres, transmisión, recepción y tierra común, que garantiza una transmisión lo más fiel posible, ya que la calidad de transmisión es vital en estos dispositivos. El conector estándar es del tipo DIN, redondo como el de teclado del PC tradicional, aunque recientemente han aparecido dispositivos MIDI con conectores USB.

Aunque la longitud total de una cadena MIDI es ilimitada, la IMA establece que ninguno de los enlaces debe tener más de 50 pies (15 metros), si bien la longitud óptima es de unos 20 pies (6 m) y los productos comerciales se fabrican en el rango de 5 y 10 pies (1.5 y 3 m).

§2.4 Canales y voces

Cada mensaje MIDI puede estar dirigido a un canal, de los que pueden existir 16. Por ejemplo, cada canal puede estar asignado a un instrumento, lo que significa que solo pueden sonar 16 instrumentos al mismo tiempo. Esto no impide que un instrumento que solo suena en un trozo de la partitura, sea ocultado ("Steal"), y el canal asignado a otro instrumento que no suena simultáneamente con el primero.

Page 668: 6721122 D057 Tecnologia Del PC

Cuando un dispositivo MIDI puede generar simultáneamente distintas notas se dice que es polifónico. Por ejemplo, si un sintetizador puede generar solo cuatro notas y se conecta a un teclado en el que se pulsan simultáneamente cinco teclas, será incapaz de generar todas las notas a la vez (el acorde exacto). La capacidad polifónica de los sintetizadores actuales puede ser de 8, 16 y 32 notas. Aunque los hay de 256 o más.

Cuando un dispositivo MIDI puede generar al mismo tiempo el sonido de varios instrumentos se dice que es multitimbral; esta capacidad suele estar limitada a un máximo de 16 instrumentos para ajustarse a los canales MIDI. El efecto es como si se tuviesen varios sintetizadores en un solo dispositivo . Cada timbre suele asignarse a un canal. Por ejemplo, el piano al canal 1; una percusión al canal 2; un solo instrumental al canal 3, Etc. Este tipo de dispositivos suele emplearse con programas secuenciadores que manejen varias pistas. Cada uno de estos programas (tracks), corresponde a un timbre (instrumento) y se asigna a un canal.

Nota: Observe que esta capacidad supone reproducir las notas con distintos timbres. Es decir, con la envolvente y componente armónica característica de cada instrumento tradicional ( 10.1).

§3 MIDI y los ordenadores

En la misma época del lanzamiento público del estándar MIDI, se producía el desarrollo de la informática personal, iniciada con la difusión del IBM PC, y pronto se hizo evidente que el sonido del PC podía ser extendido más allá de las posibilidades del altavoz del sistema, cuya misión inicial no iba más allá de indicar algunas circunstancias excepcionales mediante pitidos. En este sentido MIDI era buen candidato para ser aplicado como interfaz entre ordenadores e instrumentos musicales.

El gigante musical Roland fue el primero en desarrollar una unidad MIDI para PC; la MPU-401, diseñada para permitir comunicación entre el PC y dispositivos MIDI. Desde entonces esta interfaz se ha convertido en el estándar de facto para que juegos y aplicaciones multimedia, generen música y sonidos a través de una tarjeta dotada de un sintetizador de audio. Actualmente, casi todas las tarjetas de sonido instaladas en equipos PC cuentan con

Page 669: 6721122 D057 Tecnologia Del PC

sintetizadores MIDI para convertir los bytes en música. A lo largo de los últimos años, los sintetizadores digitales equipados con MIDI han recibido una enorme aceptación entre los músicos de todo el mundo.

§4 Ventajas e inconvenientes

En contra de lo que ocurre en los sistemas de audio digital que hemos denominado "Del magnetófono", como los ficheros WAV, el archivo MIDI no contiene los sonidos muestreados, sino las instrucciones que necesita el sintetizador para reproducir el sonido; esta circunstancia permite que los ficheros MIDI sean relativamente pequeños. En el caso de ordenadores, este menor tamaño también significa que se utiliza menos ancho de banda para enviar datos al periférico reproductor del sonido. Sin embargo, los recursos de hardware y software para grabación y reproducción del sistema MIDI son mucho más elevados. Con todo, el principal problema del estándar MIDI es su incapacidad para generar sonidos de voz humana.

Nota: En Internet, donde es crucial el tamaño de los archivos, la capacidad MIDI de gestionar gran cantidad de información musical mediante ficheros pequeños, la convierte en opción para añadir audio a sitios Web. Así mismo, la posibilidad de ser reproducidos y enviados sin demasiados requisitos, los hace atractivos para aplicaciones multimedia, presentaciones y juegos.

Otras ventajas de adoptar MIDl para generar sonidos, es la posibilidad de editar fácilmente la música, así como de poder cambiar su tono y velocidad de reproducción. Este último punto resulta decisivo para aplicaciones como karaokes, en los que el tempo y la clave musical pueden ser elegidos por el usuario.

Al tiempo que se popularizaba, aparecieron algunos problemas cuando se intentaba reproducir secuencias MIDI en instrumentos distintos a los usados en la grabación. El problema residía en que la especificación original no indicaba qué sonidos debían incluirse en cada instrumento. De modo que, cuando se reproducía una secuencia en un sintetizador distinto, sonaban instrumentos inapropiados.

Page 670: 6721122 D057 Tecnologia Del PC

Una especificación posterior, General Midi GM, define un conjunto de reglas mínimas que deben cumplir los sintetizadores (alrededor de 128 instrumentos), lo que asegura que la información MIDI grabada en un sintetizador podrá ser reproducida correctamente en otro.

§5 Dispositivos MIDI

§5.1 Sintetizador

La pieza central de cualquier dispositivo electrónico musical es el sintetizador, que en respuesta a una serie de órdenes es capaz de producir el sonido de cualquier instrumento, además de otros inaccesibles un instrumento musical tradicional, así como formas de ejecución que nunca serán alcanzadas por un instrumentista humano.

Los primeros sintetizadores recreaban los sonidos mediante la denominada síntesis FM (frecuencia modulada) que utilizaba algoritmos matemáticos. Sin embargo, los actuales utilizan la síntesis PCM o de tabla de ondas ("Wavetable"), que almacenan las características de onda del instrumento a reproducir mediante una tabla de parámetros almacenada en memoria.

La síntesis del método PCM es almacenar en una tabla una serie de parámetros característicos del sonido de un instrumento tocando una sola nota. Esta información, que ocupa una posición en la tabla de ondas, se denomina un parche. Posteriormente puede reproducirse cualquier nota mediante manipulaciones del "parche".

El número de notas que puede producir simultáneamente un sintetizador es limitado (canales y voces ). Por ejemplo, un sintetizador de 32 voces solo puede producir 32 notas simultáneamente. En caso de pulsarse la tecla 33 se ignoraría o quizás se cancelaría la primera para sonar la 33.

§5.2 Secuenciador

Otros dispositivos son los secuenciadores, que son elementos hardware capaces de

Page 671: 6721122 D057 Tecnologia Del PC

reproducir secuencias de órdenes previamente grabadas. También reciben este nombre los paquetes software capaces de editar y grabar ficheros de órdenes MIDI en un ordenador.

Los programas secuenciadores permiten agrupar los eventos en pistas ("Tracks"), de las que generalmente pueden utilizarse más de cien. Por ejemplo, una ejecución de piano puede grabarse en dos pistas (piano izquierda y piano derecha) correspondientes a la ejecución de ambas manos; posteriormente ambas pistas pueden asignarse a un canal "de piano". El resultado sería que ambas manos sonarían exactamente al mismo tiempo.

Nota: El estándar MIDI define tres tipos de ficheros de órdenes: el Formato 0 almacena todas las órdenes en una sola pista. El Formato 1 almacena las órdenes en pistas separadas. Finalmente, el Formato 2 puede almacenar distintos patrones independientes (no suele utilizarse en aplicaciones musicales). El formato 0 es utilizado para reproducción, mientras que el formato 1 es preferido para edición porque es más fácil de manejar individualmente cada canal (generalmente cada pista es un instrumento).

§5.3 Editores y librerías

Son programas que permiten editar y componer órdenes para los sintetizadores de forma autónoma, generalmente de forma más amigable que la proporcionada de forma nativa por los sintetizadores

Estos módulos ofrecen capacidades de edición para dispositivos concretos, dado que cada sintetizador utiliza un formato interno de datos específico.

§6 Bibliografía

Son incontables los sitios de la Web que contienen información sobre el sistema MIDI; incluyendo las que contienen repositorios de melodias de todo tipo en este formato.

● MMA Midi Manufacturer Association www.midi.org

Page 672: 6721122 D057 Tecnologia Del PC

● MIDIWORLD http://www.midiworld.com

● Ultimate MIDI page http://www.ultimatemidi.com/midiinfo.html

● Harmony Central www.harmony-central.com

Gran cantidad de enlaces e información relativos al estándar MIDI y a la música digital en general, incluyendo software musical para todas las plataformas. Macintosh, Windows, Amiga, Unix, Etc.

http://www.harmony-central.com/MIDI/midiman.html Como siempre una buena fuente de información son los sitios de los fabricantes. El anterior es un enlace a la página de Harmony Central que contiene una extensa relación de fabricantes de Software y Hardware MIDI

● NAMM (International Music Products Association) www.namm.com

● IAEKM (International Association of Electronic Keyboard Manufacturers) www.iaekm.org

Este sitio contiene una gran selección de recursos relacionados con la enseñanza musical.

Inicio.

[1] Alguna gente se confunde al principio por esta forma particular de comenzar y finalizar una nota musical, sin embargo, si se considera detenidamente, resulta evidente la necesidad de esta disposición.

Inicio

Page 673: 6721122 D057 Tecnologia Del PC

Tecnología del PC[Home] [Inicio] [Índice]

Subir

11.1a Velocidad de comunicación

§1 Sinopsis

Respecto a la velocidad, podemos recordar un aforismo según el cual la resistencia de una cadena viene determinada por el eslabón más débil. En las comunicaciones por módem, los tres eslabones son las líneas telefónicas; el módem, y la UART utilizada. En este sentido es inútil poner un módem externo rápido en un puerto serie con una UART que no acepta al menos la misma velocidad. Del mismo modo, el mejor módem y la UART más rápida solo alcanzarán velocidades bajas si la calidad de las líneas telefónicas es deficiente.

Hemos visto ( E11.1) que el módem es una pasarela entre la UART y las líneas telefónicas. En sus dos conexiones pueden existir dos velocidades: una hacia la UART, denominada velocidad DTE o velocidad de puerto, y otra hacia la línea telefónica, denominada velocidad de conexión, o velocidad DCE; también velocidad modem-a-modem; velocidad de transmisión, o velocidad de línea.

Nota: Ciertos protocolos de comunicación, que utilizan técnicas de compresión, exigen que la velocidad DTE de comunicación entre el ordenador y el módem sea varias veces mayor que la velocidad DCE módem a módem. Esta forma se denomina velocidad partida ("Split speed") o puerto bloqueado ("Locked COM port"). Las velocidades DCE típicas son 9600, 19200, 38400 y 57600 bps.

Nota tecnológica:Datos del módem DS560-552 de Digital Systems Inc. Tal como aparecen en las especificaciones técnicas de dicho producto (un módem 56K que soporta los estándares V.90 y K56Flex).DTE DATA RATE: 115200, 57600, 38400, 19200, 14400, 12000, 9600, 7200, 4800, 2400, 1200, and 300 bps.

Page 674: 6721122 D057 Tecnologia Del PC

LINE SIGNALING SPEED: 56000-32000 (56K mode), 33600, 31200, 28800, 26400, 24000, 21600, 19200, 16800, 14400, 12000, 9600, 7200, 4800, 2400, 1200, and 300 bps.

§2 Velocidad de puerto

Algunos módems permiten establecer un valor máximo para la velocidad de puerto. En Windows 98 puede establecerse este valor en: Menú de inicio configuración Panel de Control Módems; donde aparece un cuadro de diálogo como en la figura 3.

Figura 3

Figura 4

Page 675: 6721122 D057 Tecnologia Del PC

Se selecciona la pestaña "General", y dentro de ella, el módem cuya velocidad de puerto quiere limitarse (en la figura del ejemplo se trata de un módem Xircom de 56 Kb montado en una tarjeta PC-CARD que incluye también un adaptador Ethernet 10/100). A continuación se selecciona el botón "Propiedades", y aparece un cuadro de diálogo como la figura 4. En la parte inferior (Velocidad máxima) puede seleccionarse la velocidad DTE.

La opción "Conectar únicamente a esta velocidad" se refiere a la velocidad de conexión. Seleccionando esta opción se impide que el módem se conecte a velocidades más bajas. Si no pudiera conectarse a la velocidad especificada, en vez de negociar una velocidad más baja, se aborta la conexión.

Figura 5.

En la figura 5 se muestra el mensaje resultante en un caso en que se ha seleccionado una velocidad de conexión que no puede ser soportada por el módem.

Esta opción es conveniente si en vez de utilizar una conexión con velocidad más baja, prefiere volver a intentar la conexión posteriormente. No obstante, asegúrese de que la ubicación a la que está llamando y el propio módem admiten la velocidad especificada, en caso contrario no podrá utilizar el módem.

Nota: Windows puede utilizar un módem para acceder a una red físicamente distante. Por ejemplo, el caso de un empleado que accede desde su domicilio a la LAN de la empresa a través de módem. En este caso el módem sustituye al adaptador de red. El método se denomina acceso telefónico a redes, y es la forma utilizada para conectar por módem a Internet a través de un proveedor de este tipo de servicio (PSI).

La definición utilizada por Windows para la configuración del módem cuando se utiliza como acceso telefónico a redes, es distinta de la descrita anteriormente. Está en: Escritorio Mi PC Acceso telefónico a redes. Seleccionando con el botón derecho sobre el acceso deseado, aparece un menú contextual en el que se selecciona "Propiedades", aparece un cuadro de diálogo como

Page 676: 6721122 D057 Tecnologia Del PC

Figura 6.

el de la figura 6 en el que se puede selecciona el módem usado en la conexión (si se ha instalado más de uno). Pulsando el botón "Configurar" aparece un cuadro de diálogo idéntico al de la figura 4, solo que en este caso, además de las pestañas "General" y "Conexión", tiene una pestaña adicional etiquetada "Opciones".

§3 Velocidad de conexión

Aparte de la garantía de velocidad mínima de conexión señalada en el epígrafe anterior, la velocidad de conexión es más difícil de establecer o determinar que la de puerto.

Los módems actuales están diseñados para sacar el máximo provecho de las capacidades telefónicas, por lo que son capaces de negociar y ajustar la velocidad de conexión de forma que la tasa de errores se mantenga en niveles aceptables. Al respecto caben dos formas de proceder: Algunos módems empiezan probando la velocidad más alta, y en caso de que la tasa de errores sea inaceptable, van reduciéndola hasta que la transmisión es adecuada. En cambio otros empiezan con valores más conservadores e intentan incrementarlos hasta que la tasa de errores (o la incapacidad del otro interlocutor) lo prohíben.

Sin el concurso de utilidades especiales generalmente no es posible conocer la velocidad actual de comunicación. En el caso del acceso telefónico a redes de Windows, mientras que está abierta la comunicación aparece un icono en la barra de tareas (junto al reloj). Pulsando sobre él con el botón derecho aparece un menú contextual en el que seleccionando "Estado", aparece una ventana informativa en la figura 7; junto con otros datos se muestra la velocidad de conexión en ese momento.

Page 677: 6721122 D057 Tecnologia Del PC

Figura 7

Cuadro 1 Características de la última conexión.

Description Status ------------------ Last Connection V34 Initial Transmit Carrier Rate 31200 Initial Receive Carrier Rate 31200 Final Transmit Carrier Rate 31200 Final Receive Carrier Rate 31200 Protocol Negotiation Result LAPM Data Compression Result V42bis Estimated Noise Level 28 Receive Signal Power Level (-dBm) 22 Transmit Signal Power Level (-dBm) 14 Round Trip Delay (msec) 5 Near Echo Level (-dBm) 41 Far Echo Level (-dBm) 71 Transmit Frame Count 648 Transmit Frame Error Count 0 Receive Frame Count 859 Receive Frame Error Count 0 Retrain by Local Modem 0 Retrain by Remote Modem 0 Rate Renegotiation by Local Modem 0 Rate Renegotiation by Remote Modem 0 Call Termination Cause 20 Robbed-Bit Signaling NA Digital Loss (dB) NA Remote Server ID 834246E0 Last PCM S PTR 96B8 Rate Change by Local Modem 0 Remote Server Protocol K56Flex 1.1 OK

Los módems actuales almacenan en la memoria NVRAM, que acompaña al controlador ( 11.1), gran cantidad de información estadística respecto a su funcionamiento y características; estos datos pueden ser interrogados mediante comandos adecuados. En el cuadro 1 puede verse la infamación del módem anterior después de una conexión

Page 678: 6721122 D057 Tecnologia Del PC

Windows 98 dispone de un programa denominado HyperTerminal (Hypertrm.exe), que puede servir para este propósito de enviar comandos al módem [1]. Cuando se inicia el programa, aparece un ayudante ("Wizard") para establecer una conexión; elegimos un nombre y un icono para la conexión; a continuación aparece un cuadro de diálogo donde seleccionamos el módem (si hay más de uno instalado), ponemos cualquier número de teléfono, ya que no vamos a realizar una conexión con el exterior. A continuación pulsamos "Aceptar" y aparece otro cuadro en el que hay dos botones: "Marcar" y "Cancelar"; pulsamos este último ya que no queremos establecer comunicación con ningún número exterior, las señales serán exclusivamente comando para el propio módem.

A continuación aparece una ventana con un cuadro en el que podemos escribir comandos que serán enviados al módem [2]; estos comandos deben ser terminados con la tecla Intro. En este caso, la información del cuadro 1 se ha obtenido con el comando ATI11.

Nota: Todos los módems no aceptan este tipo de órdenes; algunos aceptan AT&V1; otros, sobre todo módems antiguos que no son K56, responden a estos comandos con un error.

Puede verse más información al respecto en el epígrafe dedicado a los comandos AT.

Inicio.

[1] Este programa no se carga por defecto. En caso necesario puede cargarse con la opción que se indica (necesitará el CD de instalación):

1. Seleccionar menú de inicio configuración Panel de Control.2. Seleccionar Agregar o quitar programas.

3. Seleccione la pestaña Instalación de Windows.

4. En el panel de selección localizar la sección "Comunicaciones"; hacer clic en ella.

5. Seleccionar "Detalles"

6. Seleccionar "Hyper Terminal" (0.7 MB); verifique que está seleccionada la casilla de la izquierda.

7. Seleccionar aceptar.

8. Vuelva a seleccionar aceptar.

[2] El fichero de ayuda es Hypertrm.chm en la carpeta C:\Windows\Help.

Page 679: 6721122 D057 Tecnologia Del PC

Tecnología del PC[Home] [Inicio] [Índice]

Subir

11.1b Estándares telefónicos

§1 Sinopsis

Los módems, al igual que cualquier dispositivo que pueda conectarse a la red telefónica, debe ajustarse a las normas establecidas por la compañía prestataria del servicio. Además, para que la comunicación sea posible una vez conseguido el acceso, deben compartir un protocolo de comunicación.

§2 Normas Bell

Las comunicaciones entre ordenadores se desarrollaron principalmente en USA, donde la compañía que mantuvo durante mucho tiempo el monopolio del servicio telefónico fue la Bell Telephon Co [1]. Debido a las leyes USA anti-monopolio fue dividida en 1984; quedando una compañía principal AT&T y otras siete operadoras regionales, pero en su tiempo de esplendor estableció normas que marcaron la pauta de las comunicaciones. Hoy son obsoletas, pero todavía se utilizan en USA normas "compatibles Bell", de las que dos son las más importantes y de las que probablemente oirá hablar:

● Bell 103: El primer estándar para comunicaciones por módem; funcionaba a 300 baudios con un sistema de modulación FSK ("Frequency Shift Keying"). Debido al método de codificación empleado es el único modo en el que coinciden la velocidad en Baudios con la de transmisión de datos.

Page 680: 6721122 D057 Tecnologia Del PC

● Bell 212A: El segundo estándar para comunicaciones por módem; funcionaba a 600 baudios con un sistema de modulación PSK ("Phase Shift Keying"), lo que le permite transportar 1200 bps.

Nota: Aunque obsoletos, ambos estándares, B103 y B212, han quedado como como un común denominador de conexión para módems de todas clases; son los protocolos elegidos cuando fallan todas las demás alternativas de conexión, por lo que están incluidos en el "repertorio" de todos los módems actuales.

§3 Normas CCITT

A medida que las comunicaciones internacionales (telefráficas y telefónicas) fueron adquiriendo importancia, las operadoras debieron armonizar sus estándares, por lo que se creó al efecto el CCITT ("Comite Consultatif International de Telegraphie et de Telephonie"), también conocido como ITU ("International Telecommunications Union").

La ITU/CCITT ha dictado decenas de normas que son estándar en todo el mundo, incluyendo los Estados Unidos de América. Estas normas se identifican por la letra V seguida de un punto y un número, por ejemplo V.32 [2], y se refieren virtualmente a todos los aspectos de las comunicaciones telefónicas, incluyendo las de módem.

Resumen de las principales normas CCITT: H11.1bW2.

§3 Normas MNP

A mediados de los años 80 se establecieron una serie de normas conocidas como MNP ("Microcom Networking Protocol"). Están pensadas para las comunicaciones entre módems y otros dispositivos de comunicación (por ejemplo Faxes), centrándose en lo relativo a corrección de errores y compresión de datos. En los demás aspectos de la comunicación se apoyan en los estándares ITU/CCITT.

Page 681: 6721122 D057 Tecnologia Del PC

Las técnicas de corrección de errores empleadas son adaptaciones de las ya utilizadas anteriormente en programas de comunicación tipo Procom, Blast, Xmodem, Zmodem, etc, denominados sin errores ("Error free"). En las que se envían una serie de paquetes de datos de longitud fija, antes de enviar una petición de reconocimiento ("Acknowledge"). En caso que el receptor haya detectado algún error en la recepción, se reenvían de nuevo los paquetes erróneos. Esta técnica se complementa con otras de negociación de la velocidad de transmisión en función de la calidad de la línea. En estos casos se intenta encontrar el punto óptimo entre el aumento de velocidad de transmisión y el correspondiente incremento de la tasa de errores (con la consiguiente necesidad de repetición de paquetes) para una línea de calidad determinada.

Nota: En las técnicas de transmisión "Error free", es importante distinguir entre la velocidad de transmisión y la velocidad neta de intercambio de datos, ya que una alta velocidad de transmisión puede conducir a una velocidad neta nula si la línea es suficientemente ruidosa como para tener que reenviar constantemente los datos.

Estas normas se componen de 9 clases señaladas por números y organizadas jerárquicamente en niveles, de forma que una clase n engloba las anteriores. Por ejemplo, un dispositivo que cumpla el estándar MNP clase 3 garantiza el cumplimiento de las clases 2 y 1.

En la página adjunta encontrará un resumen de las clases MNP: H11.1bw3.

Nota tecnológica:

Los datos siguientes se refieren a las especificaciones técnicas de un módem PC CARD de 3Com/U.S. Robotics.

Modem Standards Fax Standards Protocols

Page 682: 6721122 D057 Tecnologia Del PC

● Hayes AT command set

● Bell 103

● Bell 212A

● ITU-T V.21

● ITU-T V.23

● ITU-T V.22

● ITU-T V.22bis

● ITU-T V.300

● ITU-T V.32bis

● ITU-T V.17

● V.FC

● V.34+

● x2 (a 3Com 56K* protocol)

● ITU-T V.17

● ITU-T V.21 Channel 2

● ITU-T V.27ter

● ITU-T V.29

● ITU-T Group III

● EIA Class I

● EIA Class 2.0

● Error Correction/Data Compression

● ITU-T V.42

● ITU-T V.42bis

● MNP levels 2-5

Inicio.

[1] La "Bell" era un gigante que tiempos gestionó la mayor parte de los teléfonos existentes en el mundo (la mayoría de los cuales estaban en USA). Además era propietaria de algunas compañías Europeas, incluyendo la Compañía Telefónica española antes que fuera nacionalizada.

[2] En ocasiones le sigue la palabra "bis" o "terb" para indicar que son la segunda o tercera versión de la norma.

Page 683: 6721122 D057 Tecnologia Del PC

Tecnología del PC[Home] [Inicio] [Índice]

En esta sección:0 Obtener la dirección MAC de un adaptador1 Estándares Ethernet2 Instalaciones de par trenzado3 Instalación de una LAN en Windows

Subir

12.4 Ethernet

§1 Historia

Ethernet es probablemente el estándar más popular para las redes de área local (LANs). De acuerdo con el grupo IDC, a fines de 1996 más del 80% de las redes instaladas en el mundo eran Ethernet. Esto representaba unos 120 millones de PCs interconectados. El 20% restante utilizaban otros sistemas como Token-Ring, FDDI ("Fiber Distributed Data Interface") y otros.

En una configuración Ethernet, los equipos están conectados mediante cable coaxial o de par trenzado ("Twisted-pair") y compiten por acceso a la red utilizando un modelo denominado CSMA/CD ("Carrier Sense Multiple Access with Collision Detection"). Inicialmente podía manejar información a 10 Mb/s, aunque actualmente se han desarrollado estándares mucho más veloces.

Fue desarrollado inicialmente en 1973 por el Dr. Robert M. Metcalfe en el PARC (Palo Alto Research Center) de la compañía Xerox, como un sistema de red denominado Ethernet Experimental. El objetivo era conseguir un medio de comunicación entre computadoras, a medio camino entre las lentas redes telefónicas de larga distancia que ya existían, y las de alta velocidad que se instalaban en las salas de computadoras para unir entre sí sus distintos elementos.

Page 684: 6721122 D057 Tecnologia Del PC

Estos primeros trabajos del PARC contribuyeron substancialmente a la definición de la norma IEEE 802.3, que define el método de acceso CSMA/CD. En 1980 se propuso un estándar Ethernet a 10 Mbps (también conocido como 10Base), cuya especificación fue publicada conjuntamente por Digital Equipment Corporation, Intel y la propia Xerox. Por esta razón las primeras Ethernet eran denominadas DIX ("Digital Intel Xerox"); también "Libro azul", por el color de la primera edición. Los primeros productos comenzaron a comercializarse en 1981.

Nota: Además de las tecnologías a 10 Mbps, se han desarrollado extensiones de la norma que aumentan la velocidad de transmisión: La conocida como 100Base a 100 Mbps; Gigabit Ethernet, a 1000 Mbps, y 10 Gigabit Ethernet [1].

A partir de 1982, Ethernet fue gradualmente adoptada por la mayoría de los organismos de estandarización:

● ECMA European Computer Manufacturers Association

● IEEE Institute of Electrical and Electronics Engineers

● NIST National Institute of Standards and Technology

● ANSI American National Standards Institute

● ISO International Standards Organization

Desde entonces Ethernet se ha convertido en la tecnología LAN más popular. Existen millones y millones de conexiones en el mundo. Aunque comenzó a utilizarse en ambientes de ingeniería y de fabricación, se expandió rápidamente a los mercados comercial y gubernamental. La segunda generación de Ethernet, que se usa actualmente, es Ethernet II, aunque este nombre se usa ráramente.

Otros organismos que tienen gran influencia en el establecimiento de normas para la industria de redes y telecomunicaciones son:

● EIA ("Electronic Industries Alliance") Asociación de Industrial Electrónicas

Page 685: 6721122 D057 Tecnologia Del PC

● TIA ("Telecommunications Industry Association") Asociación de las industrias de telecomunicaciones.

Estas dos asociaciones editan normas de forma conjunta, que se conocen como normas TIA/EIA; son las de mayor influencia en el diseño e instalación de redes.

§2 Tecnología Ethernet

Los estándares Ethernet no necesitan especificar todos los aspectos y funciones necesarios en un Sistema Operativo de Red NOS ("Network Operating System"). Como ocurre con otros estándares de red, la especificación Ethernet se refiere solamente a las dos primeras capas del modelo OSI ("Open Systems Interconnection" H12.2). Estas son la capa física (el cableado y las interfaces físicas), y la de enlace, que proporciona direccionamiento local; detección de errores, y controla el acceso a la capa física. Una vez conocidas estas especificaciones el fabricante del adaptador está en condiciones de que su producto se integre en una red sin problemas. También es de su incumbencia proporcionar los controladores ("Drivers") de bajo nivel adecuados para cada Sistema Operativo que debe utilizar el adaptador.

§2.1 La capa física

Los elementos que constituyen la capa física de Ethernet son de dos tipos: Activos y Pasivos. Los primeros generan y/o modifican señales, los segundos simplemente la transmiten. Son los siguientes:

Pasivos:

● Cables

● Jacks / Conectores

● Patch panels

Page 686: 6721122 D057 Tecnologia Del PC

Activos:

● Transceptores

● Repetidores

● Repetidores multipuerto (Hubs).

§2.2 Arquitectura (estructura lógica)

La arquitectura Ethernet puede definirse como una red de conmutación de paquetes de acceso múltiple (medio compartido) y difusión amplia ("Broadcast"), que utiliza un medio pasivo y sin ningún control central. Proporciona detección de errores, pero no corrección. El acceso al medio (de transmisión) está gobernado desde las propias estaciones mediante un esquema de arbitraje estadístico.

Los paquetes de datos transmitidos alcanzan a todas las estaciones (difusión amplia), siendo cada estación responsable de reconocer la dirección contenida en cada paquete y aceptar los que sean dirigidos a ella [3].

Ethernet realiza varias funciones que incluyen empaquetado y desempaquetado de los datagramas; manejo del enlace; codificación y decodificación de datos, y acceso al canal. El manejador del enlace es responsable de vigilar el mecanismo de colisiones, escuchando hasta que el medio de transmisión está libre antes de iniciar una transmisión (solo un usuario utiliza la transmisión cada vez -Banda base-). El manejo de colisiones se realiza deteniendo la transmisión y esperando un cierto tiempo antes de intentarla de nuevo.

Existe un mecanismo por el que se envían paquetes a intervalos no estándar, lo que evita que otras estaciones puedan comunicar. Es lo que se denomina captura del canal.

Page 687: 6721122 D057 Tecnologia Del PC

§3 Datagramas Ethernet

El formato de los paquetes PDUs ("Protocol Data Units") puede verse en la figura adjunta [4]; un datagrama Ethernet incluye: Un preámbulo; campos de dirección de origen y de destino; tipo de campo; campo de datos, y chequeo de integridad FCS ("Frame Check Sequence").

Nota: En la página adjunta se muestran algunos datos de un datagrama Ethernet tal como es mostrado por un dispositivo de protección ("Firewall") que los analiza para decidir si deben ser transmitidos ( H12.4w2)

§3.1 El preámbulo: Una serie de 8 octetos que preceden al datagrama en la capa física. Tiene por finalidad permitir que las estaciones receptoras sincronicen sus relojes con el mensaje entrante a fin de que puedan leerlo sin errores. El último de estos bytes se denomina delimitador de comienzo de marco SFD ("Start Frame Delimiter").

§3.2 Las direcciones de destino y origen son direcciones físicas en el sentido de que se refieren a dispositivos físicos (adaptadores de red) conocidos generalmente como NIC ("Network Interface Card"). Estas direcciones se refieren al NIC que recibirá el datagrama (a quién va dirigido) y al NIC remitente ("Source address"). La dirección de destino es conocida también como dirección del recipiente ("Recipient address").

Es interesante considerar que esta dirección (MAC) de un dispositivo físico (NIC) es en definitiva la dirección "real" de cualquier ordenador en la red. Por ejemplo, aunque el protocolo TCP/IP utiliza un sistema de direcciones lógicas (denominadas direcciones IP), estas direcciones deben ser traducidas a las

Page 688: 6721122 D057 Tecnologia Del PC

direcciones MAC de los adaptadores de red a donde van dirigidos los mensajes. Aunque en modo de funcionamiento normal las tarjetas de red se desentienden de aquellos datagramas que no van dirigidos a su propia dirección, es posible utilizar programas que permiten situar una NIC en modo "promiscuo". De forma que sea capaz de escuchar los datagramas que circulan con destino a cualquier dirección MAC, entre ellos tcpdump www.tcpdump.org, una herramienta muy versátil especialmente utilizadas en tareas de seguridad informática que permite capturar los paquetes que circulan por la red incluso mediante un criterio de selección establecido por el usuario.

Indicar a este respecto que cada NIC tiene un número de identificación (dirección) de 6 bytes que es único en el mundo y no se repite (algo así como la huella dactilar de una persona); el denominado MAC ("Media Access Control"). Esta dirección está contenida en el hardware de la tarjeta o adaptador de red y no puede/debe ser alterado [5].

Nota: Los fabricantes de este tipo de tarjetas tienen que solicitar a la IEEE la asignación de un número de 24 bits (3 bytes), que les es remitido, y que sirve para identificar las tarjetas del fabricante a partir de ese momento. Es el OUI ("Organizationally Unique Identifier"), tembién conocido como código de vendedor. A continuación cada fabricante añade a su OUI otros 24 bits, hasta totalizar 48 (6 octetos), en los que se puede incluir cualquier información que se desee, desde datos de fabricación a características de la tarjeta [2].

Los 6 bytes de los campos de dirección suelen indicarse en formato hexadecimal; algo parecido a: 00-10-A4-01-FF-F1. En la página adjunta se expone con más detalle el procedimiento para obtener la dirección MAC de su tarjeta de red Ethernet ( H12.4.0)

§3.3 El Código de tipo es un número de 16 bits que se utiliza para identificar el tipo de protocolo de alto nivel que está siendo utilizado en la red Ethernet. Señala por tanto el tipo de dato que está siendo transportado en el campo de datos del paquete.

Page 689: 6721122 D057 Tecnologia Del PC

Como resumen, podemos indicar que la cabecera de un datagrama Ethernet tiene 14 bytes repartidos así: 6 B. dirección de origen + 6 B. dirección de destino + 2 B. tipo/longitud.

§3.4 El campo de datos del datagrama puede variar entre un mínimo de 46 y un máximo de 1500 bytes, así que la longitud máxima de un paquete Ethernet es de 1518 bytes, y 64 la mínima.

Nota: Cuando una estación transmite un datagrama mayor que los 1518 bytes permitidos (que equivale a una transmisión de más de 20 milisegundos), ocurre una condición de error denominada Jabber, el datagrama resultante se denomina "Long Frame". Cuando un paquete tiene una longitud menor que la mínima, también es una condición erronea (aunque su FCS sea correcto), y se denomina "Short Frame".

§ 3.5 El campo de chequeo de integridad FCS ("Frame Check Sequence") es un valor de 32 bits (4 octetos) que contiene un "checksum" del marco. El remitente realiza un control CRC ("Cyclical Redundancy") de los datos e incluye este valor en este campo. El receptor realiza a su vez el mismo cálculo con los datos recibidos y los compara con el valor del campo FCS del datagrama recibido. Si existe discordancia se solicita el reenvío del paquete erróneo.

§4 Mecanismo de colisiones

El protocolo CSMA/CD ("Carrier Sense Multiple Access with Collision Detection") utilizado en Ethernet. Se basa en que cuando un equipo DTE ("Data Terminal Equipment") conectado a una LAN desea transmitir, se mantiene a la escucha hasta que ningún equipo está transmitiendo (es la parte CS "Carrier Sense" del protocolo); una vez que la red está en silencio, el equipo envía el primer paquete de información.

Nota: El hecho de que cualquier DTE pueda ganar acceso a la red es la parte MA "Multple Access" del protocolo. El modo Ethernet de tratar las colisiones tiene antecedentes en el protocolo Aloha, desarrollado en la la Universidad de Hawaii para un sistema de comunicaciones entre las islas.

Page 690: 6721122 D057 Tecnologia Del PC

A partir de este momento entra en juego la parte CD ("Collision Detection"), que se encarga de verificar que los paquetes han llegado a su destino sin colisionar con los que pudieran haber sido enviados por otras estaciones por error. En caso de colisión, los DTEs la detectan y suspenden la transmisión; cada DTE esperen un cierto lapso, pseudo aleatorio, antes de reiniciar la transmisión.

Cada segmento de una red Ethernet (entre dos router, bridges o switches) constituye lo que se denomina dominio de tiempo de colisiones o dominio de colisiones Ethernet.

Se supone que cada bit permanece en el dominio un un tiempo máximo ("Slot time") de 25.6 µs (algo más de 25 millonésimas de segundo), lo que significa que en este tiempo debe haber llegado al final del segmento.

Si en este tiempo la señal no ha salido del segmento, puede ocurrir que una segunda estación en la parte del segmento aún no alcanzado por la señal, pueda comenzar a transmitir, puesto que su detección de portadora indica que la línea está libre, dado que la primera señal aún no ha alcanzado a la segunda estación. En este caso ocurre un acceso múltiple MA ("Multiple Access") y la colisión de ambos datagramas es inevitable.

Nota: Como la velocidad de propagación de las ondas electromagnéticas es de 2.9979 108 m/s, la señal Ethernet puede recorrer aproximadamente una distancia de 7674 m. en el "Slot time". Observe también que a la velocidad estándar 10Base, de 10 Mb/s, cada bit ocupa una longitud de unos 29 metros (2.9979 108 / 10 106 = 29.9 m/b). Sin embargo, en realidad las colisiones no se producen porque el tendido de redes sea mayor que los 7674 metros teóricos, sino porque dentro del dominio, se producen retrasos en la propagación de la señal debido principalmente a hubs y otros elementos defectuosos, incluyendo las propias DTEs.

Los síntomas de una colisión dependen del medio de transmisión utilizado. En el caso de cable coaxial, la señal del cable, que normalmente está constituida por ceros y unos nítidos, contiene estados intermedios. La interferencia produce en algunos puntos un debilitamiento de la señal, cuya amplitud se cancela, mientras que en otros se produce un reforzamiento, duplicándose su amplitud al doble del máximo permitido; esta condición de sobretensión es

Page 691: 6721122 D057 Tecnologia Del PC

detectada por los nodos. En cambio, cuando se utiliza cable de par trenzado, el síntoma es que existe señal en el par TX mientras que simultáneamente se recibe también señal por el par RX.

Estos estados en que la calidad de la señal no es adecuada, son detectados como errores SQEs ("Signal Quality Errors"), y el dispositivo emisor envía un mensaje de error. Después de este mensaje los dos DTEs esperan un tiempo (que raramente es el mismo) antes de reiniciar la transmisión.

Nota: El mensaje de error es de 74 bits; como hemos visto, los 12 primeros están destinados a informar sobre el receptor y emisor del mensaje.

En la operación de una red Ethernet se considera normal una cierta tasa de colisiones, aunque debe mantenerse lo más baja posible. En este sentido una red normal debe tener menos de un 1% de colisiones en el total de paquetes transmitidos (preferiblemente por debajo del 0.5%). Para realizar este tipo de comprobaciones es necesario contar con analizadores adecuados.

Inicio.

[1] Por el momento (2002), el último estándar Ethernet es 10 GE (10 Gibabit Ethernet), cuya versión definitiva ha sido publicada en Junio de este año por la comisión de trabajo IEEE 802.3ae. El nuevo estándar es compatible hacia atrás con los anteriores. Por supuesto, el desarrollo tecnológico no termina aquí; los nuevos trabajos apuntan a la posibilidad de alcanzar 40, 100 o 160 Gbps.

[2] La IEEE mantiene un sitio con los códigos OUI concedidos a cada fabricante http://standards.ieee.org/, donde se advierte que algunos fabricantes subcontratan componentes, por lo que la identificación del fabricante puede ser dificultosa en algunos casos.

[3] Más detalles en "Collition Domains" un documento de Translation Networks colldom.

Page 692: 6721122 D057 Tecnologia Del PC

pdf

Nota: Dependiendo de la versión de su navegador, es posible que necesite descargar el documento en su disco duro antes de poder abrirlo con Acorbat Reader.

[4] Es frecuente referirse a los datagramas que componen la transmisión física como marcos o "Frames".

[5] La dirección MAC de las tarjetas de red es equivalente al número IMEI ("International Mobile Equipment Identifier") presente en todos los dispositivos de telefonía móvil, que los identifica entre todos los existentes.

Inicio

|Índice| Copyright © 2000-2006 Zator Systems. NO software patents

Page 693: 6721122 D057 Tecnologia Del PC

Tecnología del PC[Home] [Inicio] [Índice]

Subir

12.4.1 Estándares IEEE 802.3

§1 Sinopsis

La especificación IEEE para Ethernet es la 802.3, que define que tipo de cableado se permite y cuales son las características de la señal que transporta. La especificación 802.3 original utilizaba un cable coaxial grueso de 50 ohm, que permite transportar una señal de 10 Mbps a 500 m. Más tarde se añadió la posibilidad de utilizar otros tipos de cables: Coaxial delgado; pares de cables trenzados, y fibra óptica.

Una red Ethernet puede transmitir datos a 10 Mbps sobre un solo canal de banda base [2], generalmente un bus coaxial o una estructura ramificada. Los segmentos de cable están limitados a un máximo de 500 m. Aunque la mayoría de fabricantes especifican un máximo de 100 estaciones en cada segmento, el límite práctico puede ser menor, dependiendo de la utilización.

El número máximo de DTEs [1] en una red Ethernet es de 1024; pueden utilizarse repetidores para aumentar la longitud de la red conectando varios segmentos, pero el número máximo de repetidores que puede encontrar una señal es de 2.

§2 Los principales estándares utilizados en Ethernet son los siguientes:

Page 694: 6721122 D057 Tecnologia Del PC

Como puede verse, los distintos estándares Ethernet tienen una denominación que responde a la fórmula general xBaseZ. La designación Base se refiere a "Baseband modulation", que es el método de modulación empleado. El primer número X, indica la velocidad en Megabits por segundo sobre el canal (que es distinta de la velocidad disponible para datos, ya que junto a estos se incluyen los "envoltorios"). La última cifra (o letra) Z, señala la longitud máxima del cable en centenares de metros, o el tipo de tecnología. Por ejemplo, T significa par trenzado "Twisted (pairs)", F fibra óptica "Fiber", etc.

§2.1 10Base5:

Conocido como Ethernet de cable grueso. 10 Mbps, de banda base. Puede ser identificado por su cable amarillo. Utiliza cable coaxial grueso; el 5 viene de la longitud máxima del segmento que son 500 m. El cable debe estar unido a tierra en un solo punto.

Cada estación está unida al cable mediante un tranceptor denominado MAU ("Medium Attachment Unit") y un cable de derivación. El conector usado en los adaptadores 10Base5 se denomina AUI ("Attachment Unit Interface"). Tiene un aspecto similar al de un puerto serie con 15 patillas (DB15).

Los transceptores no deben estar situados a menos de 8.2 piés (2.5 metros) entre sí, y el cable de derivación no debe exceder de 165 piés (50 metros). Si se utiliza un cable de derivación de alta flexibilidad esta longitud deben ser reducida a 41 piés (12.5 metros).

Nota: algunos tranceptores tienen circuitos que deben ser tenidos en cuenta al contar estas longitudes; lo que se denomina "Longitud Equivalente".

§2.2 10Base2:

Conocido como Ethernet de cable fino cuya designación comercial es RG-58. 10 Mbps,

Page 695: 6721122 D057 Tecnologia Del PC

banda base; utiliza conectores BNC ("Bayonet Nut connector"). Su distancia máxima por segmento es de 606 pies (185 m), aunque pueden utilizarse repetidores para aumentar esta distancia siempre que los datos no pasen por más de dos repetidores antes de alcanzar su destino.

El número de DTEs en cada segmento no debe ser mayor de 30, y deben estar separados por un mínimo de 1.6 pies (0.5 metros).

Nota: en la práctica esta distancia mínima debe ser mucho mayor. El autor ha encontrado fallos de conexión absolutamente inexplicables utilizando este tipo de cable, que sencillamente han desaparecido manteniendo esta distancia (longitud de cable) superior a 4 o 5 metros.

Utiliza cable coaxial de 50 Ohm apantallado que debe estar terminado por adaptadores resistivos de 50 Ohmios y estar conectado a tierra en un punto. El cable no debe estar conectado consigo mismo formando un anillo, y debe estar conectado al DTE mediante un adaptador "T", sin que esté permitido añadir un prolongador a dicho adaptador ni conectar directamente con el DTE eliminando el adaptador "T". Su mejor atractivo es su precio, del orden del 15% del cable grueso.

Nota: este tipo de cable, muy usado hasta fechas recientes, ha cedido protagonismo en favor de las instalaciones Base-T; actualmente solo se recomienda para instalaciones muy pequeñas.

§2.3 10Base-T:

En Septiembre de 1990, el IEEE aprobó un añadido a la especificación 802.3i, conocida generalmente como 10BaseT. Estas líneas son mucho más económicas que las anteriores de cable coaxial, pueden ser instaladas sobre los cableados telefónicos UTP ("Unshielded Twister Pairs") existentes [3], y utilizar los conectores telefónicos estándar RJ-45 (ISO 8877), lo que reduce enormemente el costo de instalación ( H12.4.2).

Page 696: 6721122 D057 Tecnologia Del PC

Estos cables se conectan a una serie de "hubs", también conocidos como repetidores multipuerto, que pueden estar conectados entre sí en cadena o formando una topología arborescente, pero el camino de la señal entre dos DTEs no debe incluir más de cinco segmentos, cuatro repetidores (incluyendo AUIs opcionales), dos tranceptores (MAUs) y dos AUIs.

10 Mbps, banda base, cable telefónico UTP de 2 pares de categoría 3, 4 o 5, con una impedancia característica de 100 +/-15 ohms a 10 Mhz [4]; no debe exceder de 328 pies (100 m).

Cuando una red contenga cinco segmentos y cuatro repetidores, el número de segmentos coaxiales no debe ser mayor que tres, el resto deben ser de enlace con DTEs (es lo que se conoce como regla 5-4-3). Dicho de otra forma: Entre cualquier par de estaciones no debe haber más de 5 segmentos, 4 repetidores y 3 conexiones hub-hub. Si se utilizan segmentos de fibra óptica, no deben exceder de 1640 pies (500 metros).

Cuando una red contenga cuatro segmentos y tres repetidores utilizando enlaces de fibra óptica, los segmentos no deben exceder de 3280 pies (1000 metros).

§2.4 10Base-F:

10 Mbps, banda base, cable de fibra óptica. Longitud máxima del segmento 2000 metros.

§2.5 100Base-T4:

Fast Ethernet a 100 Mbps, banda base, que utiliza par trenzado de 4 pares de categoría 3, 4 o 5. Distancia máxima 100 m.

§2.6 100Base-TX:

Fast Ethernet a 100 Mbps, banda base, utiliza par trenzado de 2 pares de categoría 5.

Page 697: 6721122 D057 Tecnologia Del PC

Distancia máxima 100 m.

§2.7 100Base-FX:

Fast Ethernet a 100 Mbps que utiliza fibra óptica. Longitud máxima del segmento 2000 metros.

§2.7 10GBaseT:

En Junio de 2006 se aprobó el estándar 10GBaseT. Como se desprende de su nombre, se refiere a conexiones de 10 Gbit por segundo (10.000 Mbps) con una longitud máxima entre Hubs o repetidores (segmento) de 100 m. Sin embargo, a la fecha de la publicación del estándar ningún cable estandarizado cumplía con los requisitos. El de categoría 6 se adoptó inicialmente para segmentos de 55 metros pero hubo que reducirla a 37 m. Se espera que el cable de categoría 7 cumpla plenamente con las exigencias de la nueva especificación.

§3 §6 Árbol de extensión

El árbol de extensión ("spanning tree") es un tipo de conexión asociado a la norma IEEE 802.3 que no requiere que las estaciones de la red mantengan un registro de las direcciones, lo que implica un menor costo de cada NIC.

Inicio.

[1] DTE ("Data Terminal Equipment"); equipo conectado a una Ethernet.

[2] Banda base ("Baseband"). Método de transmisión en el que la capacidad de transporte de un medio (cable por ejemplo) se utiliza para transportar una sola señal digital. Su antónimo es "Broadband" (banda ancha), cuando la capacidad de transmisión se utiliza para transmitir varias señales; este esquema de transmisión es utilizado para transmitir video,

Page 698: 6721122 D057 Tecnologia Del PC

voz y señal de datos en un solo medio de transmisión. Cuando se usa este medio, las señales se separan utilizando diferentes frecuencias (la televisión por cable es un ejemplo de esta última técnica).

[3] UTP, cables de pares trenzados sin apantallar. El clásico cable de red de 4 pares trenzados (8 hilos en total).

[4] El estándar Ethernet establece las características que debe tener cada categoría de cable.

Inicio

|Índice| Copyright © 2000-2006 Zator Systems. NO software patents

Page 699: 6721122 D057 Tecnologia Del PC

Tecnología del PC[Home] [Inicio] [Índice]

En esta sección:a Medida de los conductores

Subir 12.4.2 Instalaciones de par trenzado

§1 Introducción

Es importante conocer las diferencias fundamentales entre las líneas de fuerza, las de telefonía y los enlaces de red de ordenador. Los cables de fuerza utilizan baja frecuencia (típicamente 50/60 Hz), y están diseñados para minimizar la pérdida de la energía que transportan. Por su parte las líneas de telefonía tradicionales no transportan apenas energía (aunque si la suficiente para hacer sonar el timbre del teléfono) y desde luego transportan señales de audio con un ancho de banda de 4 KHz (es la denominada calidad "telefónica" de audio).

Por su parte, en las líneas de redes informáticas la energía transportada es despreciable (prácticamente nula), en cambio la señal es de mayor ancho de banda. Los protocolos de red más comunes emplean anchos de banda de 4 MHz y mayores; están diseñados para permitir una correcta codificación de la señal transportada. En la actualidad existen varios estándares que permiten transportar más de 10.000 Mbps mediante cables de pares trenzados de 2 a 8 conductores utilizando anchos de banda de 16 a 100 MHz.

Nota: es importante significar que la capacidad de transporte de un enlace de red no se corresponde necesariamente con el ancho de banda del enlace (Mbps no son lo mismo que MHz).

Page 700: 6721122 D057 Tecnologia Del PC

§2 Terminología

Para evitar confusiones trataremos de puntualizar la terminología empleada:

En comunicaciones, canal es la vía por la que se transmiten las señales entre dos puntos entre los que existen determinados dispositivos de comunicaciones. Los componentes activos, que modifican la señal (shwitches, repetidores, etc) y pasivos , que no modifican la señal -o no deberían hacerlo- (cables y elementos de conexión) se consideran parte de canal.

El ancho de banda es la diferencia entre las frecuencias máxima y mínima en un canal de transmisión. Por ejemplo, una línea telefónica de los EE.UU. tiene un ancho de banda de 3000 herzios (Hz); la diferencia entre la frecuencia más baja (300 Hz) y la más alta (3300 Hz) que puede transportar. Sin embargo, este término se utiliza también para definir la cantidad de datos que puede ser enviados en un período de tiempo determinado a través de un circuito de comunicación. Generalmente se expresa en bits por segundo (bps) o bytes por segundo (Bps) [5]. Un ancho de banda mayor indica una mayor capacidad de transferencia de datos.

Hay que tener en cuenta que la capacidad de transmisión total de un canal de comunicación debe ser repartido entre los datos propiamente dichos (lo que sería su carga útil) y la información utilizada por los protocolos de transmisión, incluyendo los de verificación y corrección de errores, que con frecuencia obligan a repetir parte de la transmisión. Podríamos imaginar que un canal de transmisión funciona como un servicio de mensajería que transporta la mercancía propiamente dicha y los embalajes. Desde el punto de vista del usuario estos últimos son inevitables aunque inútiles.

Nos referiremos a un cable como un conjunto de conductores (eléctricos u ópticos) bajo una cubierta protectora común. Un cable puede contener uno o más conductores. Un conductor es cada uno de los elementos de conducción independientes que existen en el cable. Los conductores están aislados entre sí (eléctrica u ópticamente), por lo que cada uno puede transportar una señal independiente. A su vez, el conductor puede estar formado por uno o varios hilos independientes, aunque no aislados entre sí.

Page 701: 6721122 D057 Tecnologia Del PC

La energía transmitida puede serlo en forma de corriente eléctrica convencional; en forma de energía electromagnética en la banda de las microondas (ondas de radio), o en la banda de 400-700 nm (zona visible del espectro). En el primero y segundo caso, los hilos conductores son de cobre. En el tercero se trata de cables de fibra óptica, cuyos hilos conductores son de vidrio o plástico.

Dejando aparte los cables de fibra óptica, que serían objeto de un capítulo aparte, los conductores suelen ser de cobre unifilar (un solo hilo), también denominado conductor sólido, o multifilar (varios hilos), también denominado conductor trenzado. El primero solo debe utilizarse para tendidos estáticos (generalmente bajo algún tipo de conducción), ya que es poco flexible y no soporta doblados repetidos. El conductor trenzado es más flexible, por lo que suele utilizarse para las conexiones entre los equipos y las rosetas de conexión en la pared.

Cable plano o paralelo es aquel en el que sus conductores discurren paralelamente debajo de la envoltura común. Un ejemplo de este tipo es el cable telefónico convencional denominado satinado plata ("Silver-satin"). Como está destinado a conexiones móviles está formado por conductores trenzados (formados por varios hilos).

Cable trenzado es aquel en que sus conductores no discurren paralelamente dentro de la cubierta común, sino que están están trenzados entre sí (generalmente dos a dos ). Es importante no confundir un cable trenzado con un cable de conductores trenzados, que como hemos visto es aquel cuyos conductores están formados por varios hilos (estos hilos suelen ser casi paralelos entre sí o tener una pequeña torsión).

Nota: el cable coaxial es un tipo particular (parecido a los cables de antena), con apantallado externo y un solo conductor, generalmente trenzado (aunque últimamente hemos visto algunos de conductor sólido en los tendidos de los operadores de televisión por cable). Ha sido muy utilizado en redes Ethernet, aunque últimamente ha cedido protagonismo en favor de los tipos que comentamos en este capítulo.

§3 Problemas de los cables de Red

Page 702: 6721122 D057 Tecnologia Del PC

Naturalmente, cuando se trata de transmitir datos por redes de cable de cualquier tipo, se intenta utilizar la máxima velocidad de transmisión posible. Sin embargo, dependiendo del tipo de cable y de la tecnología empleada, la utilización de velocidades de transmisión progresivamente crecientes, conlleva una serie de problemas cuyos efectos se hacen también progresivamente crecientes. Estos problemas son de tipo muy diverso, pero podemos reducirlos a dos: atenuación de la señal y su corrupción. Lo que a la postre significa que para cada tipo de cable y tecnología empleada, hay una velocidad de transmisión a partir de la cual el nivel de ruido lo hace inutilizable.

Nota: los protocolos de red se diseñan de forma que sean tolerantes a fallos. Es decir, se acepta que algunos bits pueden perderse, a pesar de lo cual la transmisión puede realizarse sin errores. Las formas de recuperación son varias, y pueden pasar desde la reconstrucción de un bit individual por acción de los mecanismos de control de paridad hasta la retransmisión de paquetes cuyo CRC sea erróneo [6]. La tasa de errores se conoce como BER ("Bit Error Rate") pero llegado a un extremo, la transmisión se hace imposible o de una lentitud que la hace inoperante. Téngase en cuenta además que, en este tipo de comunicaciones, generalmente existen diversos interlocutores compitiendo por el uso del canal, y el aumento de peticiones de retransmisión de paquetes defectuosos hace crecer exponencialmente el tráfico hasta llegar a colapsar la red.

Un punto importante a considerar es que las redes de alta velocidad, cuyas señales están en el rango de frecuencia de las ondas de radio, se comportan como antenas, es decir: emiten y captan radicación electromagnética. Esta radiación aparece en el propio cable como ruido, y en el exterior (otros cables o dispositivos) como interferencias electromagnéticas EMI.

Las interferencias de radio frecuencia RFI, puede venir del exterior del cable, en especial si este discurre por zonas de gran actividad (por ejemplo en ambientes industriales o cerca de lámparas fluorescentes), o de los conductores adyacentes. Por esta razón se incorpora un apantallado externo (en la cubierta protectora) e interno (entre los propios conductores). La pantalla suele estar constituida por una malla de hilo de cobre desnudo (generalmente estañado) o con papel de aluminio, con o sin drenaje [3]. La misión del apantallado es funcionar como jaula de Faraday, aislando el interior de la radiación exterior.

Page 703: 6721122 D057 Tecnologia Del PC

La calidad o idoneidad de los cables se expresan mediante ciertos parámetros que miden sus características eléctricas a determinada frecuencia que designaremos por F (típicamente 100 MHz). Los principales son:

Propiedad Cómo se mide

Atenuación. Expresa la disminución de potencia de la señal al recorrer el cable. Generalmente se expresa en dB por 100 m (por Kilómetro si es fibra óptica) para una determinada frecuencia.

x dB/100 mts @ F MHz

IL (Insertion Loss). Pérdida de señal a lo largo del cable cuando se inyecta una señal en un par de un cable

Retardo máximo por torsión x ns/100 mts.

EL-FEXT mínimo x dB @ F MHz

Impedancia de entrada para un rango de frecuencias x ± y Ohms de 1 a F MHz

Cross Talk Es el fenómeno por el que parte de la energía inyectada a un par, pasa a los adyacentes. Origina una pérdida de señal en el cable y señales en los extremos de los adyacentes. Estas señales son distintas para ambos extremos; el próximo al punto de aplicación de la señal (near) y el opuesto (far). En un cable de más de dos pares existen tantos fenómenos de cross talk como combinaciones dos a dos puedan realizarse. Este fenómeno se intenta evitar mediante el apantallado de cada del interior del cable.

NEXT (Near-end Cross Talk). Es la fracción de señal que aparece en el extremo cercano de un par adyacente.

x dB @ F MHz

FEXT (Far-end Cross Talk). Fracción de señal que aparece en el extremo opuesto de un par adyacente.

x dB @ F MHz

Page 704: 6721122 D057 Tecnologia Del PC

ANEXT (Alien NEXT). El fenómeno de traspaso de energía no solo se transmite a los pares adyacentes en el interior del propio cable, también a los pares de cables adyacentes. Este fenómeno se intenta evitar mediante el apantallado del par y del cable. ANEXT se refiere a la proporción de señal que aparece en el extremo cercano de los pares de cables adyacentes.

x dB @ F MHz

AFEXT (Alien FEXT). Igual que el anterior pero referido al extremo lejano.

x dB @ F MHz

PS-ELFEXT mínimo x dB @ F MHz

PS-NEXT (Power sum NEXT) mínimo. Es el total de energía NEXT que pasa a un par desde todos los adyacentes. Si el cable tiene solo dos pares de conductores PS-NEXT coincide con NEXT.

PS.NEXT es un factor crítico en las nuevas redes de alta velocidad tales como ATM y Gigabit Ethernet.

x dB @ F MHz

Pérdida de retorno mínima. Es la cantidad de energía reflejada por el extremo del cable y que regresa a la fuente de emisión [4]. Este valor debe ser lo más bajo posible.

x dB @ F MHz

El resto de características se refiere a su disposición física. Por ejemplo, número, tipo y diámetro de sus conductores, así como su disposición y tipo de apantallado; tipo de cubierta protectora, peso por metro, temperatura de trabajo, resistencia al fuego, etc.

La constante presión para aumentar la velocidad de las comunicaciones en general y de las IP en particular, propician una constante investigación y desarrollo en la tecnología de los conductores (entre otras áreas). El objetivo es conseguir frecuencias de funcionamiento cada vez más elevadas manteniendo los problemas antes mencionados dentro de límites

Page 705: 6721122 D057 Tecnologia Del PC

admisibles. Por ejemplo, utilizando las tecnología del 2002, el cable de par trenzado TP (ver a continuación) podía ser utilizado hasta un máximo de unos 115 MHz. A partir de este punto los problemas de ruido (principalmente derivados del crosstalk) lo hacían inutilizable. En junio de 2006 se aprobaba el estándar Ethernet 10GBaseT que exige cable de 600 MHz y la industria estaba en condiciones de suministrarlo.

La lucha por mejorar la velocidad se desarrolla en dos frentes; el primero se refiere a las técnicas de transmisión empleadas, lo que incluye las técnicas de codificación empleadas en la transmisión y los protocolos de detección y corrección de errores. El otro se refiere a las características físicas del cable y a su construcción. En lo que se refiere al cable tradicional de cobre, las medidas adoptadas son:

● Incrementar la torsión de los pares.

● Modificar la tasa de rotación entre los distintos pares del cable para reducir al máximo el acoplamiento mutuo.

● Incrementar el diámetro de los cables para permitir mayor separación entre los pares (la tendencia es pasar de 0.22" a 0.31") para el cable estándar de 8 conductores.

● Incluir separadores internos que garanticen la posición relativa de los distintos pares dentro del cable.

En cables de fuerza lo usual es medir la sección de sus conductores en mm2, pero cuando se trata de cables de señal (de Red de datos), es frecuente utilizar su número AWG ("American Wired Gauge"), un sistema de medir diámetros de cables utilizado en USA y otros países (a mayor número el diámetro es más pequeño). Ver "Medida de los conductores" ( 12.4.2a).

§4 Cables de par trenzado

El cable de pares trenzados TP ("Twister Pairs") está compuesto de varios pares de conductores enrollados entre sí. El trenzado ayuda a mitigar un efecto indeseable denominado Crosstalk, por el que se produce un trasvase de la señal de un par a otro cercano. Este efecto aumenta con la frecuencia, de forma que

Page 706: 6721122 D057 Tecnologia Del PC

con valores suficientemente altos, la transmisión se hace imposible pues las señales trasvasadas desde los pares cercanos tienden a corromper las propias.

Cuando el medio de transmisión es un cable TP, uno de los pares se utiliza para transmisión (TX), y otro para la recepción (RX). En la construcción de redes se utilizan varios tipos de cable TP:

§4.1 Cable UTP

El cable de pares trenzados sin apantallar UTP ("Unshielded Twister Pairs"), es el clásico cable de red de 4 pares trenzados (8 hilos en total). Debido a que no dispone de protección contra las perturbaciones externas solo es adecuado para entornos relativamente libres de perturbaciones.

Los pares están numerados (de 1 a 4), y tienen colores estándar, aunque los fabricantes pueden elegir entre dos opciones para la combinación utilizada. Algunos fabricantes exigen disposiciones particulares en la conexión, pero la norma TIA/EIA 568-A especifica dos modalidades, denominadas T568A y T568B, que son las más utilizadas (la T568B es probablemente la más extendida).

Disposición de pines T568A

Num. pin Color 1ª opción Color 2ª opción Designación

Par-14 Azul Rojo R1

5 Blanco/Azul Verde T1

Par-23 Blanco/Naranja Negro T2

Page 707: 6721122 D057 Tecnologia Del PC

6 Naranja Amarillo R2

Par-31 Blanco/Verde Azul T3

2 Verde Naranja R3

Par-47 Blanco/Marrón Marrón T4

8 Marrón Gris azulado R4

Disposición de pines T568B

Num. pin Color 1ª opción Color 2ª opción Designación

Par-14 Azul Rojo R1

5 Blanco/Azul Verde T1

Par-21 Blanco/Naranja Negro T2

2 Naranja Amarillo R2

Par-33 Blanco/Verde Azul T3

6 Verde Naranja R3

Par-47 Blanco/Marrón Marrón T4

8 Marrón Gris azulado R4

Nota: para evitar posibles confusiones se recomienda que las instalaciones de cableado se realicen íntegramente con una sola modalidad de cable.

Las designaciones T y R significan "Tip" y "Ring", denominaciones que vienen de los primeros tiempos del teléfono. En la actualidad se refieren a los cables positivo (Tip) y negativo (Ring) de cada par.

Los cables de par trenzado son más económicos que los coaxiales y admiten más velocidad de transmisión, sin embargo la señal se atenúa antes que en los coaxiales, por lo que deben

Page 708: 6721122 D057 Tecnologia Del PC

instalarse repetidores y concentradores (hubs). Para garantizar un mínimo de fiabilidad los cables UTP no deben estar destrenzados ni aún en distancias cortas [2]. Por la misma razón, los cables de conductores paralelos (cable plano) no deben ser utilizados en redes. Por ejemplo el cable satinado-plata utilizado en conexiones telefónicas no es adecuado para transmisión de datos fuera de las frecuencias de audio.

En las nuevas instalaciones UTP deben utilizarse todos los pares, porque a diferencia de Ethernet y Token-Ring, que utilizan un par para transmitir y otro para recibir, algunos de los nuevos protocolos transmiten sobre múltiples pares.

Nota: En las conexiones 10 Base-T solo se utilizan los pares 2 y 3. Sin embargo, es más seguro conectar los 4 pares presentes en el cable y en el conector. Los cables pueden servir para una posterior actualización a 100Base-T4. Además, los cables con menos conexiones pueden trabajar aparentemente bien, pero fallar en algunas operaciones. Recuerde que debe verificarse la integridad de la conexión en el lado del hub y en el lado de la tarjeta Ethernet (adaptador de red).

En las instalaciones antiguas (ya construidas) es posible aprovechar al máximo su tiempo de vida útil seleccionando cuidadosamente el tipo de acceso que se utilizará sobre la capa física, y utilizando un analizador de precisión (Nivel II) para verificar la capacidad real del cable existente.

Además del cable UTP estándar, se utilizan también otras clases en el tendido de redes:

§4.2 Cable STP

STP ("Shielded Twisted Pairs") está constituido por pares de conductores trenzados y apantallados de dos en dos. Como generalmente lleva además una pantalla general externa, es denominado también FSTP ("Foiled Shielded Twister Pairs") es el mejor apantallado de todos.

Page 709: 6721122 D057 Tecnologia Del PC

§4.3 Cable ScTP

ScTP ("Screened UTP"), también denominado a veces como FTP, ("Foiled Twisted Pair") aunque actualmente la designación ScTP va ganando en popularidad. Es un cable UTP de pares trenzados sin apantallar individualmente, pero con una pantalla exterior general debajo de la cubierta de protección en forma de hoja de papel aluminio y mylar. Puede utilizarse en instalaciones sin muchas perturbaciones de 10/100 Mbps.

§4.4 Tecnología LSZH

Además de las características eléctricas de los conductores, cada día son más importantes sus características de seguridad frente a accidentes. En este sentido es conveniente que los cables utilizados incorporen la tecnología LSZH ("Low Smoke Zero Halogen"). Como se deduce de su nombre, la cubierta de este tipo de cable utiliza materiales que presentan buen comportamiento en caso de incendio: baja emisión de humos; ausencia de emisión de gases tóxicos o corrosivos, además de no facilitar la propagación de la llama (los cables tradicionales suelen ser un excelente vehículo de propagación del fuego).

§5 Calidad del cable

Dejando aparte otros considerandos, como serían la resistencia mecánica, al envejecimiento, al fuego, al doblado repetido, etc. desde el punto de vista de la transmisión, existen dos formas estándar para referirse a la "calidad" del cable y de los accesorios de conexión:

Las normas ISO/IEC definen la calidad del cable en categorías según una escala de números empezando por el uno (actualmente llega hasta el 7). Por ejemplo Cat-1, Cat-2, etc. Cada categoría debe garantizar determinados parámetros de transmisión como la atenuación o pérdidas NEXT para un rango de frecuencias determinado. Por ejemplo, el cable de categoría 6 debe responder a los siguientes parámetros:

Page 710: 6721122 D057 Tecnologia Del PC

Frecuencia MHz

NEXT (dB) PS-NEXT (dB)

Atenuación (dB)

EL-FEXT (dB)

PS-ELFEXT (dB)

Pérdida de retorno (dB)

10 56.6 53.9 6.4 43.2 40.3 19.062.5 43.4 40.6 16.5 27.3 24.3 14.1100 39.9 37.1 21.3 23.2 20.2 12.0200 34.8 31.8 31.6 17.2 14.2 9.0250 33.1 30.2 36.0 15.3 12.3 8.0

Las categorías de cables UTP que se utilizan para redes son la Cat-3, Cat-4, Cat-5, Cat-6 y Cat-7. Esta última no está totalmente introducida en el mercado, de forma que las que las más utilizadas son la 5 y la 6 (2006). Sin embargo, el nuevo estándar 10GBaseT, que requiere categoría 7. Por su parte, las normas ANSI/TIA/EIA han establecido una clasificación basada en características mecánicas y de transmisión que no coinciden exactamente con las anteriores.

En general cuanto mas alta es la categoría de un cable de par trenzado, mayor es el número de vueltas de sus conductores por unidad de longitud; además las frecuencias de prueba son más elevadas. Por ejemplo, el cable Cat-5 debe ser probado a 100 MHz, y el de Cat-6 a 250 MHz; el cable de Cat-1 no tiene vueltas en absoluto, pero ni Cat-1 ni Cat-2 se utilizan para redes informáticas. La tabla adjunta muestra sus principales características.

Categoría Fr. de prueba Descripción

1 4 MHz Cable calidad telefonía estándar2 5 MHz Utilizado en algunas redes antiguas Apple-Talk3 16 MHz UTP. Para 10BaseT4 20 MHz UTP. Para 10BaseT y 100BaseT5 100 MHz UTP. Para 10BaseT y 100BaseT

Page 711: 6721122 D057 Tecnologia Del PC

6 250 MHz UTP Para 1000 BaseT7 625 MHz A la fecha de actualizar estas notas (2006),

esta categoría no está estandarizada, aunque se espera que lo sea pronto, y cumpla los requisitos exigidos para el nuevo estándar 10GBaseT. Se supone que no utilizará el viejo conector RJ45, ya que la propuesta es utilizar un conector Nexans GG45 que es compatible con los RJ45. La novedad es que el nuevo conector tiene la apariencia de un RJ45 de 8 conectores al que se le han añadido 4 en la parte inferior.

1000 MHz Existe un nuevo estándar en preparación para las futuras especificaciones a partir de la 10GBaseT, y aplicaciones que requieren un gran ancho de banda, como video de alta definición, que necesita 862 MHz.

Nota: hemos de advertir que la clasificación de los cables es a veces confusa y poco consistente, en especial por parte de los fabricantes. Por ejemplo, algunas fuentes señalan 3 subcategorías dentro de la categoría 6 que serían las siguientes: Cat-6; la original para 250 MHz; Cat-6e, una calificación "extendida" para 500 MHz, y Cat-6a, para la nueva 10GBaseT que exige 625 MHz. Sin embargo, otras fuentes denominan a este último cable directamente como Cat-7.

Además de la anterior, la Norma ISO/IEC 11801 ha establecido una clasificación de los cables por clases, identificadas por una letra, que se basa en el uso al que están garantizados.

● Clase A: cable calificado hasta 100 KHz

● Clase B: cable calificado hasta 1000 KHz

● Clase C: cable calificado hasta 1600 KHz

● Clase D: cable calificado hasta 100.000 KHz

Page 712: 6721122 D057 Tecnologia Del PC

● Clase E: cable calificado hasta 250.000 KHz

● Clase F: cable calificado hasta 600.000 KHz

● Clase Óptica: cable de fibra óptica calificados de 10.000 KHz en adelante.

Las instalaciones nuevas deberían estar preparadas para los nuevos protocolos de alta velocidad, por lo que debe utilizarse material de la mejor calidad; cable de Cat-6 o superior, junto con conectores y aparallaje adecuado [1].

§5.1 Consideraciones de seguridad

La mayoría de cables de red se han venido construyendo con una cubierta exterior protectora de PVC. Un plástico que propaga fácilmente la llama en caso de incendio, y cuyo humo es muy denso y contiene gran cantidad de gases tóxicos. Estas características, que los convierten en muy peligrosos en caso de incendio, han motivado la aparición de un nuevo tipo de cubierta protectora.

Los cables LSZH ("Low Smoke Zero Halogen") representan una nueva tecnología de fabricación que presenta grandes ventajas respecto a la tradicional en caso de incendio:

● Reducción de las emisiones de humo.

● No emisión de gases tóxicos.

● No propagación de la llama.

● No emisión de gases corrosivos.

Puesto que los cables pueden jugar un papel destacado en la propagación de un incendio y en sus consecuencias, las ventajas anteriores hacen que en caso de instalaciones nuevas, merezca la pena el pequeño sobrecosto que pueda representar la utilización de cables certificados LSZH.

Page 713: 6721122 D057 Tecnologia Del PC

§6 Cableado en PAR TRENZADO

En ocasiones pueden existir dudas de cómo realizar de forma correcta el grimpado de conectores de par trenzado (TP), la manera de instalar una roseta o un panel de grimpaje. Para ello hemos incluido un gráfico donde puedes observar cuál es la forma correcta de hacerlo.

§6.1 La figura 1 muestra el cableado para un conector RJ-45. Fíjese que únicamente 2 de los 4 pares (los pares 2 y 3 en el diagrama) se usan para señales de red cuando se utiliza el estándar 10 Base-T; los otros dos pares se pueden usar para señales telefónicas. En 100 Base-T, se utilizan los 4 pares para señal (teniendo en cuenta el cableado de las Categorías 3 y 4).

Fig.1- Grimpaje de conector RJ-45, en la disposición correspondiente a la norma TIA/EIA 568B . El conector está visto desde la parte inferior (suponemos que la lengüeta de sujeción está en la superior).

Para que el cable pueda ser utilizado en redes, la colocación de los diversos pares debe ser precisamente la indicada en la figura (norma TIA/EIA 568-B o en la norma complementaria 568A).

El conector RJ-45 (ISO 8877) es el macho; la hembra, denominada Jack, se monta en la NIC ("Network Interface Card") del DTE ("Data Terminal Equipment"); en una toma de pared, o en agrupaciones ("Patch panels") que se montan sobre un bastidor ("Rack").

Page 714: 6721122 D057 Tecnologia Del PC

§7 Tipos de conexionado: Hub-a-Nodo y Nodo-a-Nodo

Los segmentos Ethernet construidos con cable UTP pueden ser de dos clases según su utilización, el denominado cable recto y el cruzado. Las figuras 1 y 2 muestran los diagramas de grimpaje para cada tipo (ambas figuras representan un solo cable con conectores RJ-45 en cada extremo). Este cableado asegura en ambos casos que las líneas de Transmisión (Tx) de un aparato se comunican con las líneas de Recepción (Rx) del otro aparato.

§7.1 Cable recto (pin a pin)

Son los cables que conectan un concentrador con un nodo de red (Hub-Nodo); los hilos están grimpados a sendos conectores RJ-45 en ambos finales. Todos los pares de colores (como el blanco/azul) están conectados en las mismas posiciones en ambos extremos. La razón es que el hub realiza internamente el necesario cruce de señal.

§7.2 Cable cruzado (cross-over)

Son cables que conectan dos concentradores o dos transceptores entre si, o incluso dos tarjetas (Nodo-Nodo), cuya distancia no supere los 10 m. El par 2 (pines 1 y 2) y el par 3

Page 715: 6721122 D057 Tecnologia Del PC

(pines 3 y 6) están cruzados (se puede ver la diferente asignación a cada conector).

Como regla general, el cable cruzado se utiliza para conectar elementos del mismo tipo o similares, por ejemplo, dos DTE ("Data Terminal Equipment") conectado a una LAN, dos concentradores (Hubs), dos conmutadores (Switchs) o dos enrutadores (Routers).

Tenga en cuenta las siguientes observaciones respecto al uso de uno y otro tipo de cable:

El cable cruzado ("cross-over") solo debe ser utilizado cuando un PC es conectado directamente a otro PC, sin que exista ningún elemento adicional (hubs, routers, etc). En realidad, puesto que la mayoría de las redes utilizan al menos un concentrador, el cable cruzado solo se utiliza en circunstancias excepcionales, por ejemplo realización de pruebas cuando se desea soslayar la complejidad de la red y se conectan dos PCs directamente.

Los dispositivos Ethernet no pueden detectar un cable cruzado utilizado de forma inadecuada; este tipo de cables encienden los LEDs de actividad en los adaptadores, concentradores y Switches. La única forma de saber el tipo de cable (cruzado o recto) es mediante un polímetro o un instrumento de medida adecuado.

Inicio.

[1] Se estima que el costo del cable solo representa el 5 - 8% del costo total de una red. Teniendo en cuenta que la vida útil de una instalación se estima en 10 años, y que en dicho plazo los componentes pasivos (cables y conectores) serán utilizados por 2 o 3 generaciones de electrónica activa (routers, switches, hubs, concentradores, etc), no merece la pena realizar instalaciones de red con cableados de categoría inferior 6. La mayor parte del costo total, incluido el de explotación del cableado a 10 años, se debe a otros factores.

Page 716: 6721122 D057 Tecnologia Del PC

[2] La Cat-5 de cable estándar exige que la longitud máxima sin trenzar nunca exceda de 13 mm (aproximadamente media pulgada).

[3] El drenaje está formado por un hilo de cobre desnudo que está en contacto con el papel de aluminio. Su misión es garantizar una continuidad eléctrica en la pantalla y evitar los efectos de capacidad que pudieran producirse entre las hojas metálicas.

[4] Los extremos de las líneas de RF pueden actuar como "espejos" de la energía transmitida, de forma que parte de esta puede volver al origen. Por esta razón es muy frecuente la utilización de "terminadores" o adaptadores de impedancia en los extremos, en especial si estos no están conectados a ninguna carga (receptor).

[5] Recuerde que un bit es la menor cantidad de información que puede existir aisladamente.

[6] CRC "Cyclical Redundancy Checking" Un tipo de algoritmo que acepta entradas de longitud variable y produce una salida de longitud fija mucho menor que los datos de entrada. Por ejemplo, una resultado CRC puede ser 9DD52J98. Esta salida es "casi" única para cada conjunto de datos de entrada, de forma que la probabilidad de que dos entradas distintas pudieran repetir el mismo resultado, es del orden de 1 entre 4.3 miles de millones. El algoritmo es usado extensamente por los protocolos de comunicaciones, que calculan el CRC del mensaje recibido. Si no coincide con el CRC que también se recibe, se solicita el reenvío de los datos.

Inicio

|Índice| Copyright © 2000-2006 Zator Systems. NO software patents

Page 717: 6721122 D057 Tecnologia Del PC

Tecnología del PC[Home] [Inicio] [Índice]

Subir

12.4.2 Medida de los conductores

§1 Galga

La medida, o galga, de los conductores indica su geometría. Como son circulares, es equivalente indicar su diámetro o su sección recta. Es decir, el área del hilo/hilos que lo forman. A partir de este valor, y conociendo el material con el que están fabricados (generalmente cobre o aluminio), es posible deducir sus principales características mecánicas y eléctricas. Para indicar la galga se utilizan distintos sistemas que comentamos a continuación.

§2 Decimal

Este sistema utiliza la sección del conductor CSA ("Cross Section Area") expresada en mm2. Por ejemplo, si se habla de un conductor de 2.5, sabemos que su sección total es de 2.5 mm2 (independientemente del número de hilos que lo componen). En ocasiones se utiliza una fracción con el número de hilos y el diámetro de cada uno en mm. Por ejemplo, la galga 1/0.90 corresponde a un conductor sólido (un solo hilo) de 0.636 mm2 (π x r2 = 3.1416 x 0.452 = 0.636), mientras que la galga 13/0.20 corresponde a un conductor trenzado de 0.41mm2 con 13 hilos.

Aunque no es común en electrónica, digamos que en instalaciones de baja y alta tensión, es usual indicar la galga de los cables como un producto. Por ejemplo, 3 x 2.5 sería la designación de un cable de 3 conductores de 2.5 mm2 cada uno. Mientras que la galga 3.5 x 2.5, correspondería a un cable de 4 conductores; tres conductores principales (de fase) de 2.5 mm2 de sección y un cuarto conductor (de neutro) con una sección mitad que los de fase.

§2 Galga americana

Page 718: 6721122 D057 Tecnologia Del PC

Conocida por su acrónimo AWG ("American Wire Gauge"), es conocida también como galga BS ("Brown & Sharp wire gauge"). Las secciones están definidas mediante una progresión geométrica [1]. Construida de forma que a números más altos les corresponde menor sección.

§3 Galga Imperial

Aunque el Sistema Métrico Decimal, y por tanto el sistema CSA, se implantó oficialmente en Inglaterra en 1971, el antiguo Sistema Imperial (Libras, Pintas, Millas, Etc.) sigue siendo de uso cotidiano. En USA se utiliza también, aunque en general las unidades correspondientes son algo menores que en el Reino Unido. El resultado es que en Inglaterra y USA, se utiliza en ocasiones la galga SWG ("Imperial Standard Wire Gauge"). Basada en el número de veces que hay que pasar el conductor por una hilera imperial estándar ("Imperial standard draw plate") para alcanzar un diámetro determinado [2].

§4 Milésimas

Este sistema utiliza como medida el diámetro del conductor expresado en milésimas de pulgada. A esta unidad se la denomina mil. Por ejemplo, un conductor cuya galga sea 5 mil, tiene en realidad 0.127 mm de diámetro (5 x 25.4/1000). Así mismo, a 1 mil de diámetro le corresponde un área de (π x 0.0012/ 4) pulgadas cuadradas. Como veremos a continuación este área es conocida como la milésima circular, que es utilizada a su vez como unidad de medida.

§5 Milésimas circulares

Este sistema, conocido por las iniciales CM ("Circular Mil"), utiliza como medida el área de la sección recta del conductor expresada en milésimas circulares. Como se ha indicado, esta unidad es el área de un círculo de una milésima de pulgada de diámetro (1 mil). Es decir, un área de aproximadamente 0.7854 10-6 pulgadas2 (π x 0.0012/ 4). Por ejemplo, un conductor cuya galga sea 10 CM, tiene un diámetro de 0.003162 pulgadas (raíz cuadrada de 10/1000000) o lo que es lo mismo, un diámetro de 3.162 mil (ver epígrafe anterior) o 0.080 mm.

La ventaja de los sistema anteriores es que conocida la galga x de un conductor en milésimas (x mil), la sección S en milésimas circulares, puede obtenerse directamente mediante el cuadrado de x (S = x2), sin que intervenga el número π.

Las tablas adjuntas muestran algunas equivalencias entre los sistemas mencionados.

Page 719: 6721122 D057 Tecnologia Del PC

Fuente: Farnell www.farnell.com AWG SWG CSA Trenzado AWG SWG CSA Stranding32 0.032 35 0.036 7/.08 19 0.813 31 34 0.040 18 0.826 33 0.049 1/0.25 17 1.04 30 0.051 18 1.17 32 0.057 7/0.1 16 1.34 19/0.329 31 0.065 17 1.63 30 0.078 1/0.315 15 1.68 19/0.33528 0.081 7/0.12 14 16 2.08 29 0.086 7/0.125 13 2.63 27 0.103 15 2.64 28 0.124 7/0.15 14 3.25 26 0.128 1/0.4 11 4.13 27 0.132 13 4.47 25 26 0.162 10 5.26 25 0.193 12 5.39 24 0.210 9 11 6.60 24 0.245 8 8.4 23 0.259 10 10.0 23 0.295 7 9 10.6 22 0.324 6 13.0 22 0.410 13/0.2 5 16.8 21 0.412 4 21.0 21 0.511 3 26.2 20 0.556 2 33.6 19 0.636 1/0.90 20 0.66

Fuente: Reade www.reade.com

SWG Wire Number AWG AWG

(pulgadas) (Gauge) (pulgadas) (mm)

0.500 0000000 (7/0) .............. ............

0.464 000000 (6/0) 0.580000 ............

0.432 00000 (5/0) 0.516500 ............0.400 0000 (4/0) 0.460000 11,6840.372 000 (3/0) 0.409642 10,4040.348 00 (2/0) 0.364796 9,2660.324 0 (1/0) 0.324861 8,2520.300 1 0.289297 7,3480.276 2 0.257627 6,5430.252 3 0.229423 5,8270.232 4 0.2043 5,1890.2120 5 0.1819 4,6210.1920 6 0.1620 4,1150.1760 7 0.1443 3,6650.1600 8 0.1285 3,2640.1440 9 0.1144 2,9060.1280 10 0.1019 2,5880.1160 11 0.0907 2,3040.1040 12 0.0808 2,0520.0920 13 0.0720 1,8290.0800 14 0.0641 1,6280.0720 15 0.0571 1,4500.0640 16 0.0508 1,291

Page 720: 6721122 D057 Tecnologia Del PC

. 0.0560 17 0.0453 1,1500.0480 18 0.0403 1,0240.0400 19 0.0359 0,91190.0360 20 0.0320 0,81280.0320 21 0.0285 0,72390.0280 22 0.0253 0,64260.0240 23 0.0226 0,57400.0220 24 0.0201 0,51060.0200 25 0.0179 0,45470.0180 26 0.0159 0,40380.0164 27 0.0142 0,36060.0148 28 0.0126 0,32000.0136 29 0.0113 0,28700.0124 30 0.0100 0,25400.0116 31 0.0089 0,22610.0108 32 0.0080 0,20320.0100 33 0.0071 0,18030.0092 34 0.0063 0,16010.0084 35 0.0056 0,14220.0076 36 0.0050 0,12700.0068 37 0.0045 0,11430.0060 38 0.0040 0,10160.0052 39 0.0035 0,08890.0048 40 0.0031 0,07870.0044 41 0.0028 0,07110.0040 42 0.0025 0,06350.0036 43 0.0022 0,05590.0032 44 0.0020 0,05080.0028 45 0.0018 0,04570.0024 46 0.0016 0,0406

Page 721: 6721122 D057 Tecnologia Del PC

0.0020 47 0.0014 0,03500.0016 48 0.0012 0.03050.0012 49 0.0011 0,02790.0010 50 0.0010 0,0254 51 0.00088 0,0224 52 0.00078 0,0198 53 0.00070 0,0178 54 0.00062 0,0158 55 0.00055 0,0140 56 0.00049 0,0124

Nota: Como puede suponerse, a igualdad de sección, los diámetros de los conductores trenzados son ligeramente mayores que los de conductores sólidos.

§6 Características físicas

Generalmente los conductores son de cobre o aluminio, de forma que conociendo la sección, es fácil conocer el resto de características eléctricas y mecánicas para un conductor determinado, ya que las propiedades físicas de ambos elementos y sus aleaciones, son perfectamente conocidas.

La característica de un conductor de sección determinada, que más interesa al electrónico, es la resistencia eléctrica (Ohmios/m). A partir de ella puede establecerse la intensidad máxima admisible para determinadas condiciones (conductor aislado, al aire, bajo conducto, etc), ya que el calor generado como consecuencia de la resistencia al paso de la corriente, es la que determina su calentamiento, y a la postre su posible destrucción. Por ejemplo, el ancho de las pistas en los circuitos impresos debe ser proporcionada a la intensidad de la señal transportada. En ingeniería eléctrica, la resistencia mecánica a la tracción de los conductores (Kg/cm2) es también un dato importante. Por ejemplo, para el cálculo de líneas de alta tensión.

La pagina adjunta es un calculador que permite obtener las principales características geométricas, mecánicas y eléctricas de un conductor a partir de su galga. ( Calculador).

Inicio.

[1] Se denomina progresión geométrica a una sucesión de números en la que el cociente entre dos

Page 722: 6721122 D057 Tecnologia Del PC

términos consecutivos se mantiene constante. Generalmente el término se utiliza en contraposición con el de progresión aritmética, en la que es la diferencia entre dos términos consecutivos la que se mantiene constante.

[2] En la construcción de hilos metálicos se sigue un sistema conocido como "trefilado", en el que el hilo va pasando sucesivamente a través de orificios de secciones decrecientes, practicados en una placa metálica denominada hilera, hasta alcanzar el grosor deseado. Las secciones de los orificios de la hilera siguen una progresión geométrica. Naturalmente, cuanto más delgada es la sección deseada, mayor es el número de pasadas necesarias.

Inicio

|Índice| Copyright © 2000-2006 Zator Systems. NO software patents

Page 723: 6721122 D057 Tecnologia Del PC

Tecnología del PC[Home] [Inicio] [Índice]

Subir

Sig. 12.4.3 Crear una pequeña LAN en Windows

§1 Sinopsis

Las redes de área local LANs ("Local Area Network"), que pueden utilizarse en el hogar o en una pequeña oficina o negocio, son básicamente de dos tipos: de servidor o entre iguales. En ambos casos cada equipo (nodo) conectado a la red debe estar provisto de su correspondiente adaptador (tarjeta de red), y por suspuesto del cableado y conectores adecuados. En lo que sigue suponemos que es un adaptador Ethernet, ya que es el tipo de enlace físico y capa de enlace de datos que vamos a utilizar [1].

§2 Sistemas basados en servidor

En este tipo de redes, un equipo denominado servidor, atiende las conexiones de una serie de equipos conectados a él, denominados clientes. Es un esquema lógico de estrella; todos los clientes están conectados al servidor, pero no entre sí. El servidor suele ser un equipo grande y rápido que alberga los fichero que deben ser compartidos por los clientes. A su vez los clientes guardan la información que solo les concierne a ellos; es un sistema es muy jerarquizado, donde todos los recursos son gestionados por el Administrador del Sistema ("System manager"). El servidor debe disponer de un SO de red adecuado; típicamente Windows NT o 2000, mientras que los clientes pueden ser sistemas más sencillos; generalmente equipos con Windows 9x o XP.

Page 724: 6721122 D057 Tecnologia Del PC

Las LANs basadas en servidor tienen el inconveniente de que requieren un usuario de nivel medio-alto que se encargue de las tareas de administrador (gestión de la red); la ventaja es su gran flexibilidad, potencia y estricto control de lo que puede y no-puede hacer cada cliente. El inconveniente es que los clientes no pueden comunicar entre sí fácilmente.

§3 Sistemas entre iguales

Existe un segundo tipo de red, denominadas entre iguales, o peer-to-peer, en la que cada equipo está conectado con los demás, actuando como un servidor de los recursos (básicamente espacio de disco e impresoras), que pone en común con los demás usuarios de la red.

En la época del MS-DOS este tipo de redes exigía de cierto software adicional, del que por ejemplo, Lantastic de Artisoft, era un buen exponente. Este tipo de sotware permite la construcción de redes entre iguales, en las que todos los equipos de la red pueden conectar con todos los demás (a mi me gusta llamarlas redes de "todos contra todos"). Para ello se utiliza una topología de bus Ethernet al que se conectan todos los equipos que conformarán la red.

Los primitivos Windows no disponían de esta capacidad; pero rápidamente apareció una versión denominada Windows para Trabajo en Grupo, que ya disponía de la capa software necesaria. Actualmente estos Sistemas de MS disponen de forma estándar de los controladores adecuados, por lo que si utiliza este SO, con muy poco dinero puede construir su propia red para su oficina, hogar o negocio.

§4 Materiales

Aparte de los equipos, se requiere una tarjeta adaptadora de red para cada equipo a instalar, así como el cable y conectores. Actualmente este tipo de material ha bajado mucho de precio (menos de 60 € para una buena arjeta de red Ethernet 10/100).

Si tiene un equipo moderno es probable que el adaptador Ethernet ya venga instalado de

Page 725: 6721122 D057 Tecnologia Del PC

origen en la placa base, en este caso con un jack RJ-45 en su parte posterior. En caso de un portátil, si no tiene de origen adaptador para red Ethernet, puede instalarse uno mediante una tarjeta PC-CARD (algo más costosa que las de equipos torre, para placa-base).

Llegado a este punto tiene varias opciones. Puede construir una red de cable coaxial fino o una de cable de par trenzado UTP.

§4.1 La instalación de cable coaxial fino es adecuada si va a unir más de dos equipos; tiene el inconveniente de que el cable es más dificil de ocultar y de que necesitará tarjetas Ethernet preparadas para este tipo de salida (conectores BNC), que cada vez son más escasas en el mercado [6]. Por contra tiene la ventaja que no necesita nada más que el cable, los conectores BNC, los conectores "T", y un par de terminales para los extremos.

Nota: El cable puede pedirlo como RG-58 ( H12.4.1); los conectores BNC, los conectores "T", y los adaptadores de impedancia de cada extremo pueden adquirirse en la misma tienda que el cable (es probable que la tarjeta de red incluya un conector "T" en la caja). Los conectores BNC se venden en dos formatos: Para crimpar y para soldar. Los primeros requieren una tenaza especial (la unión se hace por presión); los segundos solo requieren un soldador para electrónica de 25 W. y un poco de estaño para soldar [2].

Cada segmento de red termina en un conector BNC que se abrocha a una pieza en forma de "T", que se conecta a su vez al adaptador (placa de red). El conjunto forma una cadena que une todos los equipos de la red; los extremos, de las "T" terminales, se tapan con un adaptador de impedancia, que en este caso es un conector ciego con una resistencia de 50 ohmios en su interior.

§4.2 La instalación de cable de par trenzado UTP es ideal si solo tiene que conectar dos equipos [3]; en caso contrario necesita un concentrador ("Hub"), lo que encarecerá algo el presupuesto [4]. Es una instalación más "moderna" que tiene la ventaja de que no necesita un cable uniendo en serie todos los equipos, lo que con determinadas disposiciones

Page 726: 6721122 D057 Tecnologia Del PC

de mobiliario, por ejemplo un aula, es complicado. Por contra, todos los equipos deben unirse con un cable al concentrador. Otra ventaja es que este tipo de cable es más flexible y fácil de ocultar que el coaxial.

A cambio de necesitar un "Hub" la instalación de los cables es mucho más simple; solo necesita unos conectores RJ-45 y una tenaza especial para la conexión del cable (hay un único modelo de conector RJ-45 y es de presión). Al instalar los cables debe prestar especial atención a la colocación de cada par de conductores según que el cable sea recto o cruzado (ver notas 3 y 4 a pié de página).

Nota: Este tipo de conexión solo requiere retirar la cubierta protectora del cable UTP en un trozo de 1 o 1.5 cm del extremo. Los conductores interiores no se pelan !!; el contacto se realiza por medio de unas micro-cuchillas existentes en el interior del conector, que al apretar con la tenaza, cizallan ligeramente la cubierta aislante, proporcionando el contacto con los conductores.

§5 Instalación de los controladores de dispositivo

Nota: En lo que sigue suponemos el proceso de instalación para el SO Windows 98.

Suponiendo que no teníamos adaptadores de red, después de su instalación, la primera vez que iniciamos el equipo, Windows nos comunica que se ha encontrado un nuevo hardware y que se procede a la instalación de los controladores adecuados; en este caso siga los pasos indicados por el sistema.

Nota: Deberá tener a mano el CD de instalación de Windows y quizás el CD o disquete con los controladores ("Drivers") que pueden acompañar al adaptador de red.

Si la instalación concluye con éxito, después de reiniciar el equipo arrancará como siempre. Para comprobar que todo está correcto debe ir a: Menú de inicio configuración Panel de Control Sistema. Debe seleccionar la pestaña Administración de dispositivos y el botón Ver dispositivo por tipo. Aparece un cuadro de diálogo como el de la figura 1.

Page 727: 6721122 D057 Tecnologia Del PC

Figura 1.

Si todo está correcto aparece un icono etiquetado "Adaptadores de red", y en su interior el adaptador instalado.

Nota: El equipo de la figura tiene tres adaptadores de red; dos de ellos corresponden a dispositivos físicos: El puerto serie de infrarrojos, y una tarjeta de Ethernet 10/100 (construida en una PC-CARD que tiene también un módem de 56K). El tercer elemento (Adaptador de acceso telefónico a redes) es una simulación software construida por el SO para conectar a Ethernet mediante un módem [5].

Page 728: 6721122 D057 Tecnologia Del PC

En caso de haber problemas, aparece una pequeña admiración o interrogación amarilla junto al icono; también una pequeña cruz roja (figuras 2 y 3).

Figura 2

Figura 3

Inicio.

[1] Actualmente (2002) está ganando rápidamente posiciones la opción WLAN ("Wireless LAN), que utiliza comunicación radio entre los adaptadores o entre estos y una base que hace las funciones de concentrador.

[2] Estaño con fundente incorporado; se vende al peso, en carretes como el hilo de coser; el mínimo 100 g.

[3] En este caso no necesita concentrador; el cable de unión es cruzado ( H12.4.2).

[4] Actualmente existen concentradores de 8 puertos muy económicos. Recuerde que los cables de unión entre cada tarjeta de red y el concentrador son rectos ( H12.4.2).

[5] Windows puede utilizar un módem para acceder a una red físicamente distante. Por ejemplo, el caso de un empleado que accede desde su domicilio a la LAN de la empresa a través de una línea telefónica. En este caso el módem sustituye al adaptador de red. El

Page 729: 6721122 D057 Tecnologia Del PC

método se denomina acceso telefónico a redes, y es la forma utilizada para conectar por módem a Internet a través de un proveedor de servicios de Internet (PSI).

[6] Algunas tarjetas de red disponen de los dos tipos de conectores, para BNC y RJ-45.

Sig. Inicio

|Índice| Copyright © 2000-2006 Zator Systems. NO software patents