Polibits vol. 24, 2001 · 2 polibits 2001 Editorial las actividades desarrolladas en el Instituto...

36
Contenido 3 7 15 21 Editorial Implementación del Teorema de Cantor en la Solución del Direccionamiento de Memoria Mapeada Gustavo Abraham Mas Levario (Profesor de la ESCOM-IPN), María Aurora Segura Corona, Pablo Manrique Ramírez (Profesores del CIC-IPN) Diseño de Sistemas Digitales Utilizando FPGA Amadeo J. Argüelles Cruz (Profesor del CIC-IPN), José A. Ascencio Román, José F. Villalobos Baigorria (Alumnos del CIC-IPN) Uso de Multimedios en la Educación Basica de Ingeniería por Internet Rodolfo Romero Herrera (Profesor del CIC-IPN) El Futuro de la Educación en Ingeniería de Cómputo Miguel Lindig Bos Director del CIDETEC-IPN 1 Desarrollo de un Manejador de Dispositivos Utilizando el Modelo Windows Driver Model (wdm) para Windows 98 y 2000 Rubén Peredo Valderrama, Rubén Aquino (CIC-IPN) 26

Transcript of Polibits vol. 24, 2001 · 2 polibits 2001 Editorial las actividades desarrolladas en el Instituto...

Page 1: Polibits vol. 24, 2001 · 2 polibits 2001 Editorial las actividades desarrolladas en el Instituto Politécnico Nacional, sino de otras fuentes de investigación y estudio. Esta es

Contenido

3

7

15

21

Editorial

Implementación del Teorema de Cantor en la Solución delDireccionamiento de Memoria MapeadaGustavo Abraham Mas Levario (Profesor de la ESCOM-IPN),

María Aurora Segura Corona, Pablo Manrique Ramírez (Profesores del CIC-IPN)

Diseño de Sistemas Digitales Utilizando FPGAAmadeo J. Argüelles Cruz (Profesor del CIC-IPN),

José A. Ascencio Román, José F. Villalobos Baigorria (Alumnos del CIC-IPN)

Uso de Multimedios en la Educación Basica de Ingenieríapor Internet

Rodolfo Romero Herrera (Profesor del CIC-IPN)

El Futuro de la Educación en Ingeniería de CómputoMiguel Lindig Bos

Director del CIDETEC-IPN

1

Desarrollo de un Manejador de Dispositivos Utilizando el ModeloWindows Driver Model (wdm) para Windows 98 y 2000

Rubén Peredo Valderrama, Rubén Aquino (CIC-IPN)26

Page 2: Polibits vol. 24, 2001 · 2 polibits 2001 Editorial las actividades desarrolladas en el Instituto Politécnico Nacional, sino de otras fuentes de investigación y estudio. Esta es

XII 1 24 polibits 1

EditorialEditorial

a importancia del presente número de polibits radica en ladiversidad de artículos que la conforman. Así, se incluyen tantoun ensayo (El Futuro de la Educación en Ingeniería de

Cómputo), donde se analizan los avances en computación y teleco-municaciones y sus efectos sobre la enseñanza de la Ingeniería deCómputo, como artículos donde se describe el desarrollo e implemen-tación de aplicaciones, lo mismo de hardware (Diseño de SistemasDigitales Utilizando FPGA), que de software (Desarrollo de unManejador de Dispositivos Utilizando el Modelo Windows DriverModel (wdm) para Windows 98 y 2000).

El material restante (Uso de Multimedios en la Educación Básicade Ingeniería por Internet e Implementación del Teorema deCantor en la Solución del Direccionamiento de Memoria Mapea-da) presenta propuestas de investigación en los campos de laeducación semipresencial y de la arquitectura de computadoras.

Esta diversidad temática responde al interés de polibits de servircomo vehículo para la difusión de la computación en su conjunto sinlimitarse a un solo tema o enfoque en particular. De la misma forma,nuestro objetivo es publicar colaboraciones provenientes no solo de

L

Page 3: Polibits vol. 24, 2001 · 2 polibits 2001 Editorial las actividades desarrolladas en el Instituto Politécnico Nacional, sino de otras fuentes de investigación y estudio. Esta es

2 polibits 2001

Editorial

las actividades desarrolladas en el Instituto Politécnico Nacional, sinode otras fuentes de investigación y estudio.

Esta es nuestra contribución al avance y difusión de las Ciencias dela Computación en México, reiterando nuevamente una invitaciónabierta a nuestros lectores y al público en general para que participentanto con sus colaboraciones como con todas las sugerencias quecoadyuben a potencializar este esfuerzo.

Page 4: Polibits vol. 24, 2001 · 2 polibits 2001 Editorial las actividades desarrolladas en el Instituto Politécnico Nacional, sino de otras fuentes de investigación y estudio. Esta es

XII 1 24 polibits 3

El Futuro de la Educación en Ingeniería de Cómputo

El Futuro de la Educación enIngeniería de Cómputo

El Futuro de la Educación enIngeniería de Cómputo

Dr. Miguel Lindig BosDirector del CIDETEC-IPN

n el nacimiento de la era de lainformación, las disciplinasacadémicas consideradas

como básicas son las Ciencias de laComputación, la Ingeniería de Cóm-puto y los Sistemas de Información.La Ingeniería de Cómputo aporta lasinnovaciones de “hardware”. Ade-más de los fundamentos teóricos de lacomputación, el científico de la com-putación aporta a las innovaciones de“hardware” los elementos de “soft-ware” que permiten su mejor aprove-chamiento, y contribuye a establecerun ambiente viable para el usuario. Elconjunto de estos elementos constitu-ye las herramientas de los sistemasmodernos de información. Dada lacreciente complejidad de estos siste-mas, aparece un elemento de enlaceentre estas disciplinas tradicionales:el ingeniero de sistemas de informa-ción, que capta las necesidades infor-máticas de la organización, para dise-ñar y desarrollar sistemas que inclu-yan los aspectos de hardware, soft-ware y ambiente de usuario [1].

Los avances tecnológicos recien-tes en materia de computación ytelecomunicaciones han tenido efec-tos importantes en los métodos deenseñanza en general, y brindan nue-vas oportunidades en áreas tales comola educación a distancia. Pero el usode las técnicas y herramientas pro-porcionadas por la computación noconstituye, por sí solo, una solución

para las nuevas demandas que generala sociedad de la información a laeducación. Si esto es cierto en logeneral, es particularmente aplicablea la enseñanza de la computación,como formación para un mercado detrabajo en constante evolución y cre-ciente sofisticación. En este sentido,dos desarrollos tecnológicos en parti-cular, la Internet, por una parte, y losnuevos procesadores de paralelismoexplícito, por otra, ya afectan al mer-cado de trabajo y constituyen elemen-tos a ser tomados en cuenta en laplaneación de los programas de estu-dio del futuro.

CUESTIONAMIENTOS RECIENTES

En un número relativamente re-ciente de la revista Computer de laIEEE (noviembre de 1997) se abordael tema de la educación superior engeneral, y el de la computación, enparticular. Algunas de las aportacio-nes expresadas en esta revista seresumen a continuación:

1.- Los elementos de una Ciencia dela Computación efectiva [2]. Elautor defiende la necesidad deconservar un fuerte núcleo de cien-cias de la computación, pero com-binado con una visión que enfati-ce el interactuar con otras discipli-nas. Esto es, la búsqueda de pro-blemas que proporcionen una ex-periencia educativa en la cual laCiencia de la Computación cons-

tituya un elemento efectivo en uncontexto mayor, preferiblementeel mundo real.

2.- El caso para habilidades de cóm-puto más relevantes [3]. El autorcuestiona la eficacia del desarrollode sistemas de aplicación que apo-yen procesos en empresas, y atri-buye la poca eficacia a la falta dehabilidades suficientes de los par-ticipantes en el desarrollo. En par-ticular, subraya la limitada capaci-dad de comprender el proceso,para poder ubicar los problemas ylas necesidades de mejora. Tam-bién cuestiona la capacidad depensamiento sistémico, de cómointeractúan los procesos.

3.- Haciendo la estructura más flexi-ble [4]. El autor sostiene que laeducación en cómputo no debeadecuarse solamente a los rápidoscambios de la tecnología de lainformación, sino también a laforma en que operan los nego-cios. A manera de ejemplo, sugie-re la enseñanza de la interacciónen equipos interdisciplinarios.Como medidas concretas, el autorsugiere una mayor interacción conla industria, menores tiempos deadaptación curricular, un mayorénfasis en educación continua yen aspectos pedagógicos de laenseñanza.

Un campo que merece especialinterés es el de la Ingeniería de Soft-ware. En otro artículo de la revista

E

Page 5: Polibits vol. 24, 2001 · 2 polibits 2001 Editorial las actividades desarrolladas en el Instituto Politécnico Nacional, sino de otras fuentes de investigación y estudio. Esta es

4 polibits 2001

El Futuro de la Educación en Ingeniería de Cómputo

citada [5], los autores consideran quela mayoría de los programas de estu-dio vigentes se concentran en “resol-ver los problemas de hoy con lastecnologías actuales”, y discuten unproyecto curricular basado en trescomponentes fundamentales: la par-te central o formativa, la parte aplica-tiva (el desarrollo de sistemas prácti-cos) y materias de especialización. Ensíntesis, el proyecto busca mayoresniveles de generalización y menordependencia tecnológica, por mediodel uso de modelos formales y, engeneral, de niveles de abstracciónmayores.

Una mayor capacidad de resolverproblemas, una menor profundidaden conceptos básicos a cambio deuna visión más sistémica, una grancapacidad de comunicación y de tra-bajo en grupo, un enfoque más inter-disciplinario y con mayor orientacióna las aplicaciones y, finalmente, unamejor capacidad autodidacta, pare-cen ser los elementos comunes queencuentran los autores arriba citadosy otros, para un mejor diseño curricu-lar. Este tema se retoma por la mismarevista en enero de 1998, bajo eltítulo de “Engineering an Educationfor the Future” [6].

LOS CAMBIOS TECNOLÓGICOS

En dicho artículo, los autores sos-tienen que la ingeniería de cómputoha sufrido una serie de cambios deenfoque, como consecuencia de cier-tos desarrollos tecnológicos. Comoejemplos mencionan la transición decircuitos discretos a circuitos integra-dos, y más recientemente, de lógicadigital discreta a lógica programable.En un contexto más amplio, puedecitarse la transición de la electrónicaanalógica a la digital, en muchas áreas.Estas transiciones afectan al conoci-miento fundamental requerido, a lashabilidades necesarias para diseñar

sistemas y, de hecho, a la naturalezamisma de estos sistemas. En términosde una educación para la ingeniería,el cambio tecnológico conduce en-tonces a varias interrogantes: ¿Quéconocimiento sigue siendo necesarioy fundamental? ¿Qué habilidades con-cretas deben enseñarse? ¿Cuáles sonlas características de los sistemas pordesarrollar?, y ¿Cómo se reflejaránestas características en el currículum?

Además de los cambios tecnológi-cos reflejados en las transiciones deuna tecnología a otra, ejemplificadasanteriormente, un segundo elementoa considerar es el incremento en ca-pacidad, o rendimiento, de la tecno-logía como función del tiempo. Unejemplo citado frecuentemente es elincremento en capacidad de cómpu-to, a costos constantes, de los siste-mas durante el pasado reciente. Elincremento en capacidad y calidad dela tecnología tiende a reducir las limi-taciones en el desempeño de un siste-ma, para imponer, como nueva limi-tante, nuestra comprensión incom-pleta de cómo construir la aplicación.Esto es, factibilidad y costo adquierenuna importancia menor, compara-dos con nuestra limitada capacidadde diseñar sistemas cada vez máscomplejos.

UBICACIÓN ACADÉMICA

Siguiendo el modelo del artículo[6], y desde una perspectiva históri-ca, la computación puede considerar-se como fundamentada en tres pila-res académicos:

1.- Ingeniería Eléctrica (teoría de cir-cuitos, circuitos conmutados, dis-positivos electrónicos, optoelec-trónica, tecnología de procesos,etc.)

2.- Sistemas Electrónicos de Informa-ción (sistemas de información, co-

municaciones, teoría de colas, pro-cesamiento de señales, etc.)

3.- Ciencias de la Computación (com-plejidad, autómatas, algoritmos,lenguajes, compiladores, bases dedatos, etc.)

De la superposición o traslape delas disciplinas anteriores resultan en-tonces nuevas opciones curriculares.Así, un traslape entre los sistemaselectrónicos de información, por unaparte, y ciencias de la información,por otra, genera las opciones demultimedia, robótica, visión artificial,sistemas en tiempo real, softwareconcurrente, simulación, redes, etc.Evidentemente, estas opciones son,en gran medida, responsables de ladinámica actual de la computación.Sin embargo, nuestros programas deestudio parecen poco adecuados a lasnecesidades que generan estas nue-vas opciones . Por ejemplo, el estudiode eventos que ocurren de manerairregular en el tiempo generalmenteno forma parte de programas tradi-cionales. Por otra parte, es cuestiona-ble que semejante nivel de profundi-zación en la teoría de sistemas seaviable en el marco de una licenciatu-ra. La cuestión relativa a qué conoci-miento sigue siendo necesario y fun-damental, no puede contestarse sim-plemente con base en una aprecia-ción de la cercanía relativa a una uotra de las disciplinas tradicionales.

FORMACIÓN Y PERTINENCIA

Entre los elementos más discuti-dos de cualquier curriculum se en-cuentran, sin duda, los relativos a laimportancia del proceso formativodel estudiante, y la pertinencia de laeducación en términos del mercadode trabajo. El eterno conflicto entrelas materias formativas y las de aplica-ción, no admite la solución fácil deincrementar el tiempo de estudio.

Page 6: Polibits vol. 24, 2001 · 2 polibits 2001 Editorial las actividades desarrolladas en el Instituto Politécnico Nacional, sino de otras fuentes de investigación y estudio. Esta es

XII 1 24 polibits 5

El Futuro de la Educación en Ingeniería de Cómputo

Como ya se señaló, la necesidad deuna formación básica cada vez másprofunda parece ser una de las conse-cuencias del cambio tecnológico. Cla-ramente, no existe una solución sen-cilla en términos de una educacióntradicional.

Una de las fortalezas de la Ingenie-ría Eléctrica, pero también de lasCiencias de la Computación, es elmodelado formal de sistemas. Peroun modelo constituye un determina-do nivel de abstracción; por ejemplo,considérese el diseño de sistemas di-gitales, en los cuales un circuito semodela como una función booleana.Existen lenguajes de alto nivel para eldiseño asistido por computadora desistemas digitales, basados en estemodelo. Así, el diseño de un circuitose convierte en un problema de pro-gramación. Los conocimientos deelectrónica digital son, de hecho, irre-levantes para diseñar sistemas digita-les complejos a ese nivel de abstrac-ción.

De manera similar, la mayoría delsoftware de aplicación se desarrollahoy en día con base en lenguajes dealto nivel y herramientas, cada vezmás poderosas, de desarrollo de soft-ware. La complejidad de las aplicacio-nes simplemente no admite su desa-rrollo a nivel de lenguaje de máquina.En consecuencia, se usan niveles ma-yores de abstracción, aunque con ellose sacrifica, posiblemente, eficienciay velocidad de ejecución.

De lo anterior se desprenden lasconsideraciones básicas para unaposible solución entre las demandasconflictivas de formación y pertinen-cia. Si se concibe al posgrado como laoportunidad de profundizar en la téc-nica, en la teoría, y en los conoci-mientos formales, podemos distin-guir entre los niveles de “diseñador”(licenciatura) y “experto” (posgrado).Aquí, el diseñador posee la capacidadde proyectar y desarrollar sistemas

con un alto nivel de abstracción, conbase en habilidades de diseño de sis-temas y conocimientos interdiscipli-narios de aplicación de los mismos.Mayores niveles de complejidad, o deeficiencia de estos sistemas, podránrequerir el concurso del “experto”.

Un corolario de lo anterior es queel conocimiento básico, formativo,adquiere una dimensión distinta. Poruna parte, al reducirse el tiempo efec-tivo dedicado a este conocimiento,los aspectos didácticos adquieren unaimportancia mayor. Esto es, factorestales como la edad del educando de-berán ser tomados en cuenta, privile-giando a aquellas bases formales que,a una edad posterior, resultan dedifícil asimilación. Por otra, las mate-rias formativas deberán conducir amayores habilidades de autoestudio,y establecer el vínculo con estudios anivel posgrado.

RETOS ADICIONALES

Entre los cambios tecnológicos re-cientes sobresalen dos que, posible-mente, constituyan retos adicionalespara el diseño curricular. Uno de elloses la red, esa tecnología de comunica-ción mundial cuyo potencial, en estemomento, apenas se vislumbra. Peroestá claro que será un elemento devinculación entre las telecomunica-ciones y la computación, vistas comodisciplinas académicas. Además deconferir nuevos niveles de importan-cia a la telemática y otras disciplinas,es de suponerse que generará nuevasoportunidades en muchos campos deaplicación y, en consecuencia, deplanes y programas de estudio. Estre-chamente vinculado con lo anteriorse encuentran los nuevos desarrollosen materia de arquitectura de proce-sadores. Las máquinas de paralelis-mo explícito, esto es, los procesado-res que corresponden al modelo com-putacional SIMD (una instrucción,

múltiples datos) se encuentran ya co-mercialmente disponibles. Existenpocas herramientas de software paraestos procesadores, cuyo potencialde aplicación en campos como lamultimedia es, sin embargo, inmen-so. Por otra parte, estos procesado-res permiten la construcción de mul-tiprocesadores, de máquinas parale-las con varios niveles de paralelismosimultáneos, para las cuales los actua-les paradigmas de programación son,simplemente, insuficientes en térmi-nos de una explotación efectiva. Serequieren nuevos desarrollos en soft-ware, cuyo impacto en los planes yprogramas de estudio es, en estemomento, tema de especulación.

CONCLUSIONES

En materia de Ingeniería deCómputo, los cambios vertiginososde la tecnología han generado nuevasoportunidades, pero también nuevosretos para el diseño curricular. Lacomplejidad creciente de las aplica-ciones de la computación tiene elefecto de, por una parte, fragmentarel campo en un número creciente deespecialidades y, por otra, incremen-tar el nivel educativo requerido paraun desempeño profesional exitoso.Diferentes autores coinciden en queparte de la respuesta a esta problemá-tica se encuentra en grupos de trabajointerdisciplinarios, y resaltan la nece-sidad de desarrollar habilidades decomunicación y de trabajo en grupo.Un segundo elemento para una posi-ble respuesta consiste en la aplicaciónde niveles de abstracción cada vezmayores en el modelado de los siste-mas, y un mayor énfasis en el diseñoe implementación de los mismos. Deacuerdo con esta visión, el posgradoconstituye la oportunidad de profun-dizar en el conocimiento que, a nivellicenciatura, posee un enfoque másorientado a la solución de problemasprácticos. En esencia, se plantea una

Page 7: Polibits vol. 24, 2001 · 2 polibits 2001 Editorial las actividades desarrolladas en el Instituto Politécnico Nacional, sino de otras fuentes de investigación y estudio. Esta es

6 polibits 2001

El Futuro de la Educación en Ingeniería de Cómputo

solución basada en el estudio de logeneral como punto de partida, parallegar a lo particular en el posgrado.En este sentido, el aspecto formativoadquiere un significado e importanciadistintos. Además de una mayor am-plitud temática con menor profundi-dad sobre dichos temas, debe consti-tuir el puente hacia el posgrado yobedecer a modelos pedagógicos queincluyan la edad, entre otros factores.

BIBLIOGRAFÍA

[1] Gordon E. Stokes: “Rethin-king the current formula”,Computer, Vol.30, No.11, pp.48-49, noviembre de 1997.

[2] Peter A. Freeman: “Elementsof effective computer scien-ce”, Computer, Vol.30, No.11, pp. 47-48, noviembre de1997.

[3] Jimmie E. Haines: “The casefor more relevant computingskills”, Computer, Vol.30,No.11, pp. 55-56, noviembrede 1997.

[4] Joe Turner: “Making the struc-ture more flexible”, Compu-ter, Vol.30, No.11, pp. 56-57, noviembre de 1997.

[5] David Garlan, David P. Gluch,James E. Tomaryko: “Agentsof Change: Educating Soft-ware Engineering Leaders”,Computer, Vol.30, No.11, pp.59-65, noviembre de 1997.

[6] Edward A. Lee, David G. Mes-serschmitt: “Engineering anEducation for the Future”,Computer, Vol.31, No.1, pp.77-85, enero de 1998.

Page 8: Polibits vol. 24, 2001 · 2 polibits 2001 Editorial las actividades desarrolladas en el Instituto Politécnico Nacional, sino de otras fuentes de investigación y estudio. Esta es

XII 1 24 polibits 7

Implementación del Teorema de Cantor en la Solución del Direccionamiento de ...

Implementación del Teorema deCantor en la Solución del

Direccionamiento de MemoriaMapeada

Implementación del Teorema deCantor en la Solución del

Direccionamiento de MemoriaMapeada

M. en C. Gustavo A. Mas Levario, M. en C.María A. Segura Corona, M. en C. PabloManrique Ramírez.Profesores del CIC-IPN

l presente artículo proponeuna solución descriptiva al pro-blema del mapeo computa-

cional sobre la base del Teorema deCantor. Para lograrlo se propone unaserie de fundamentos heurísticos quepermitan relacionar el Procedimien-to de Cantor con el significado deldireccionamiento de memoria ma-peada que rebasa el tamaño del mapade memoria de los procesadores.

INTRODUCCIÓN

Este trabajo sigue una línea prag-mática principalmente, y hace uso deuna serie de asociaciones entre larealidad del direccionamiento de me-moria y la abstracción del Teoremade Cantor. El objetivo principal deesta asociación es proporcionar sus-tento a algo que está fuera del mundoreal y que tiene su origen en el univer-so de los conceptos. El significado desustentar aquí es materializar un con-cepto matemático en un campo deacción de la realidad mediante unaidea o un pensamiento intuitivo, eneste caso el campo de acción es eldiseño de sistemas digitales para di-reccionar memoria mapeada.

Se sabe que en la generalizaciónsimple, la abstracción es sólo un ins-trumento de la operación mental en-tre otros, con el cual aislamos lascualidades que se desean obtener. Unpragmático debe partir de una condi-ción de entidades con cualidades auna condición de cualidades sin enti-dades para plantear un problema deingeniería bajo la abstracción, la pre-cisión y el rigor lógico de ciertosprocedimientos matemáticos, comoen este caso el Procedimiento deCantor[2].

Para poder materializar un con-cepto se debe entender que en laformación de los conceptos obteni-dos por generalización simple aplica-da sobre determinadas propiedadesde los objetos reales o no, tales comoel color de nuestra silla o el color denuestra primera bicicleta, es posibledistinguir tres fases de operacionesmentales. En la primera fase la pro-piedad se define comparando direc-tamente los objetos: como en el casode ciertas culturas primitivas en don-de se asocian tantas manzanas comodedos de la mano. En la segundaaparece un adjetivo: cinco direccio-nes de memoria, o en casos un pocomás abstractos: memoria mapeada,aquí el adjetivo es mapeada. En latercera fase se abstrae la propiedadde los objetos y pueden aparecercosas como verde, o el número abs-tracto 5 e incluso el adjetivo mapeadoo mapeada.

Este estudio en sí trata con lasegunda fase, ya que en lugar deconfrontar dos hechos reales, se usala técnica de la asociación de unhecho teórico ya estudiado con unhecho real sin estudio, desde la pers-pectiva de ese concepto. Para com-probar su funcionalidad se aplica lageneralización simple a diferentes cir-cunstancias del hecho real, postulan-do la obtención de su concepto que,como se verá, es el concepto delhecho teórico.

El hecho teórico es el Teorema deCantor, que describe que la magnitudde una función y la magnitud de suvariable siempre son inconmensura-bles. El hecho real que se desea estu-diar es el originado al direccionarmemoria mapeada en un nodo deprocesamiento con memoria local.De este modo tenemos que la variableindependiente es cada dirección ab-soluta del mapa de memoria del pro-cesador, y su función es el mapeo desu dirección correspondiente sobre lamemoria, en un momento dado.

En la actualidad hay sistemas decómputo dedicados a aplicacionesespecíficas constituidos por nodos deprocesamiento, en donde los proce-sadores tienen capacidades de direc-cionamiento limitado, pero que enciertas aplicaciones requieren alma-cenar cantidades de datos que des-bordan el límite del mapa de memoriade dichos procesadores.

E

Page 9: Polibits vol. 24, 2001 · 2 polibits 2001 Editorial las actividades desarrolladas en el Instituto Politécnico Nacional, sino de otras fuentes de investigación y estudio. Esta es

8 polibits 2001

Implementación del Teorema de Cantor en la Solución del Direccionamiento de ...

El mapa de memoria de un proce-sador es el conjunto máximo de direc-ciones absolutas que puede referen-ciar desde su unidad de direcciona-miento; de este modo, un procesadorcon 16 líneas de direccionamientosólo puede alcanzar hasta 65536 di-recciones absolutas, pero ciertas apli-caciones de diseño obligan a esteprocesador a demandar de su unidadde direccionamiento más de estas65536 direcciones absolutas, que es-tarán en correspondencia biunívocacon 131072 direcciones mapeadas.

Ese inconveniente exige la exis-tencia de otra línea de dirección en launidad de direccionamiento del pro-cesador misma que es imposible deobtener, así que es aquí donde serecurre a un procedimiento que per-mita concebir este problema compu-tacional como un problema a resolverde la matemática aplicada.

Este procedimiento indica quesiempre habrá la posibilidad de direc-cionar de un modo u otro más de loque aparentemente se permite a par-tir del mapa de memoria de un proce-sador.

Se presenta lo anterior como unteorema computacional a demostrartomando como su lema el Teoremade Cantor.

MÉTODO

Lo que se pretende es llevar elplano cartesiano del mapeo al planode un cuadrado, en donde el origendel plano cartesiano coincide con elvértice inferior izquierdo del cuadra-do; de este modo, la función delmapeo se superpone a la diagonalque se traza del vértice inferior iz-quierdo al vértice superior derecho, eleje de las abscisas se superpone alsegmento de la base del cuadrado, yel eje de las ordenadas se superponeal segmento vertical izquierdo del cua-drado.

3. La sucesión de grados de abs-tracción creciente, que en estecaso en particular son ciertos prin-cipios de la geometría analítica.

Con el primer aspecto enumera-do anteriormente se traza un bosque-jo, en donde las líneas rectas repre-sentan a las señales que emite unprocesador a las memorias y, en ge-neral, a cualquier dispositivo de entra-da/salida. Los cuadriláteros repre-sentan a las unidades de cómputocomo son los procesadores, los ma-peadores y las memorias. Este aspec-to, en conjunto con el segundo, per-miten localizar e identificar cada enti-dad llamada dirección con el fin depoder nombrarlas con los númerosreales. En la figura 2 se muestra undiagrama esquemático de un nodo deprocesamiento.

Sin embargo, antes de entrar endetalle con relación a los tres aspectoses necesario resaltar la importanciadel concepto de los números reales.Los números reales[1] representanun instrumento seguro y poderosopara la investigación matemática de

En la figura 1 se muestra com-putacionalmente en donde estaríanubicados el lema y el teorema que sedesea demostrar. El Teorema de Can-tor es el siguiente:

“Los puntos del plano siguen lapotencia del continuo”.

El método se fundamenta en lostres aspectos[1] de las abstraccionesde la matemática, con ellos se formu-lan las asociaciones necesarias quedan la estructura del procedimientoque se desarrollará en el método:

1. Las formas espaciales, que eneste caso son la geometría euclí-deana necesaria para diseñar losesquemáticos de un diseño digital,así como los principios necesariospara el plano cartesiano y el cua-drado.

2. Las relaciones cuantitativas delhecho real, o sea la aritméticacorrespondiente para el nombra-miento de las localidades del direc-cionamiento de un nodo de pro-cesamiento.

TEOREMA

Bus de Di recciones

Mapa de Memoria

PROCESADOR

MAPEADOR

MEMORIA

. . .

LEMA

0000

65535

Mapa de Memoria

. . .

0000

131072

A[15:0]

Bus de Datos

Figura 1. Diagrama del mapeo computacional donde se ilustra el Lemay Teorema de Cantor.

Page 10: Polibits vol. 24, 2001 · 2 polibits 2001 Editorial las actividades desarrolladas en el Instituto Politécnico Nacional, sino de otras fuentes de investigación y estudio. Esta es

XII 1 24 polibits 9

Implementación del Teorema de Cantor en la Solución del Direccionamiento de ...

las magnitudes y procesos realmentecontinuos, tales como las direccionesdel mapa de memoria y el mapeo dedirecciones; la experiencia demues-tra que el concepto de número realrefleja con precisión las propiedadesgenerales de las magnitudes conti-nuas.

Así, con el segundo aspecto sepropone cuantificar el direcciona-miento realizado por un procesadormediante la aritmética. Para iniciar separte de un axioma que se considerael más evidente en el direccionamien-to. Se observa que en el direcciona-miento, el nombramiento de las di-recciones absolutas de los procesado-

res y memorias actuales va de modoconsecutivo en incrementos unitariosde una dirección a otra hacia direccio-nes más altas, o en decrementos uni-tarios hacia otras más bajas, y estepatrón es constante. Además, el ma-peo básicamente es un problema decorrespondencias entre las direccio-nes absolutas y las direcciones ma-peadas, siendo esta relación lineal.De acuerdo a esto, se conciben elprimero y el segundo de los postula-dos que se presentarán más adelante.

En general, se utilizan númerosenteros positivos para nombrar a cadalocalidad direccionada; no se nombracon números negativos ni imagina-

rios. Según este axioma se puedeconcebir parcialmente el lugar geomé-trico para el mapeo que se describecon el tercer postulado.

Postulado 1: la relación entre lasdirecciones absolutas y direccio-nes mapeadas es lineal, y por lotanto una línea recta es la defini-ción de esa relación.

Postulado 2: la razón entre cual-quier par de nombramientos uni-tarios de las direcciones absolutasy mapeadas se supone igual a 1.

Postulado 3: por lo tanto, el planocartesiano en su primer cuadrante

MAPEADOR

<Value>

VCC

HOLD

AA0

AA5

DA15

AA2

AA6

PSR/-W

DA6

R/-W

AA4

IOSPS

READY

READY

DA6

AA6

BIO

DA14

D S

DA1

BPCLK

RESET

AA3

AA7

AA11

C50RD

DA8

AA8

DA13

DA8

AA4

DA11

DA0

AA1

XF

DA0

RESET

DA14AA13

DA2

HOLD#

AA9

DA1

AA14

IOS

HOLDA

DA9

DA11

DA12

SYSRST#

SELECT#

DA3

C50RD

AA10

DA10

DA5

AA12

DA15

AA11

INT1

HOLDA

DA4

AA13AA14

D S

AA12

DA5

XF

AA8DA7

AA10

DA2

DA13

DA7

AA5

AA0

AA2

DA12

DA4

INT1

DA9

AA9

DA3

AA1

AA7

DA10

AA3

AA15

AA15

A2A1

A8

A10

A4

A6

A14

A5

A12A11

A3

A9

A13

A0

A7

WE#OE#CE#

C50WE

C50WE

OE#WE#

CE#

D6D7

D14

D8

D4

D2

D15

D11

D10

D1

D13

D10

D6

D13

D3

D12

D3

D11

D2

D8

D0

D12

D4D5

D1

D7

D0

D5

D9

D14

D9

D15

A15

R?R

R?RR?R

U?

55565758596061626364727374757677

3029282726252423131211109876

82838990919293

128

129108

941

130

112

3839404142127

5

110

4344

45

46

123124

125

126

104105

106107

118119

3467

100312

95

9697

122

71103

109

A0A1A2A3A4A5A6A7A8A9

A10A11A12A13A14A15

D0D1D2D3D4D5D6D7D8D9D10D11D12D13D14D15

RDWED SISPSR/-WSTRBREADY

HOLDHOLDABRIAQBIO

IACK

INT1INT2INT3INT4NMIRS

MP/-MC

CLKOUT1

DRTDR

FSR

CLKR

TCLKXCLKX

TFSR/TADD

TCLKR

FSXTFSX/TFRM

DXTDX

EMU0EMU1/OFF

TCKTDITDOTMSTRST

CLKIN2

X2/CLKIN1X1

TOUT

CLKMD1CLKMD2

XF

U?

OSC

3

1

OSC

NC

U?

TMS320C50

55565758596061626364727374757677

3029282726252423131211109876

82838990919293

128

129108

941

130

112

3839404142127

5

110

4344

45

46

123124

125

126

104105

106107

118119

3467

100312

95

9697

122

71103

109

A0A1A2A3A4A5A6A7A8A9

A10A11A12A13A14A15

D0D1D2D3D4D5D6D7D8D9D10D11D12D13D14D15

RDWED SISPSR/-WSTRBREADY

HOLDHOLDABRIAQBIO

IACK

INT1INT2INT3INT4NMIRS

MP/-MC

CLKOUT1

DRTDR

FSR

CLKR

TCLKXCLKX

TFSR/TADD

TCLKR

FSXTFSX/TFRM

DXTDX

EMU0EMU1/OFF

TCKTDITDOTMSTRST

CLKIN2

X2/CLKIN1X1

TOUT

CLKMD1CLKMD2

XF

U7

CY7C1020

Figura 2. Esquemático de un nodo de procesamiento con su memoria mapeada.

Page 11: Polibits vol. 24, 2001 · 2 polibits 2001 Editorial las actividades desarrolladas en el Instituto Politécnico Nacional, sino de otras fuentes de investigación y estudio. Esta es

10 polibits 2001

Implementación del Teorema de Cantor en la Solución del Direccionamiento de ...

se presenta como la mejor op-ción, en donde el eje vertical es ladirección mapeada, el eje hori-zontal es la dirección absoluta amapear y la línea recta define almapeo.

En el mapeo se permite que unprocesador proyecte su dirección ab-soluta a una localidad de una memo-ria no inmediata a él, llamada memo-ria mapeada, cuyo nombramiento esde acuerdo al nombre de la direcciónabsoluta, lo cual genera el siguientepostulado:

Postulado 4: la dirección absolutadel procesador es la variable inde-pendiente x de la ecuación carte-siana y la dirección mapeada es lavariable dependiente y.

Aplicando una vez más el terceraspecto, pero ahora bajo la perspec-tiva de los cuatro postulados anterio-res, se puede abstraer el direcciona-miento al primer cuadrante del planocartesiano, en donde la función con-tinua es una línea recta con una pen-diente de 45 grados desde el origendel plano. La figura 3 muestra laabstracción del direccionamiento tí-pico de un nodo de procesamiento,con la siguiente consideración: en elorigen del plano, el cero, se encuen-tran las direcciones absolutas y ma-peadas nombradas como las direccio-nes cero, ya que normalmente en losmapas de memoria se considera el

cero como el primer nombramien-to[1] de las direcciones (es inusual vermapas de memoria en donde la pri-mera dirección sea nombrada con 1 uotro valor diferente a cero).

La figura 3 muestra el mapeoaparentemente imposible con el pro-cesador cuyo mapa de direcciones vade 0 a 65535. A partir de aquí empe-zamos a considerar al direccionamien-to como un ente más abstracto con elmotivo de darle una demostraciónmás rigurosa. Por tanto, se entrará enun nuevo nivel de abstracción al con-siderar un cuadrado en el plano carte-siano. Esta nueva etapa de razona-miento matemático busca demostrarque la comparación entre la variableindependiente y el mapeo es irracio-nal, y para ello se sigue la siguientehipótesis[1]:

“Se dice que el lado y la diagonalde un cuadrado son, de hecho, in-conmensurables”

A partir de este momento se entraen un razonamiento matemático quehace más tenue la conexión con elorigen computacional del problema;por lo tanto, el nivel de abstracción estal que el fenómeno real del mapeoha dado paso a la comprobación deque la comparación entre el ladoinferior horizontal del cuadrado y sudiagonal es irracional. La figura 4muestra el cuadrado obtenido a partirde la figura 3.

Si a es el lado yb la diagonal de uncuadrado, enton-ces según el teore-ma de Pitágoras:

b2=a2+a2=2a2,

y por tanto

22

????

???

ab

Se dice que no existe ningunafracción tal que su cuadrado sea iguala 2. Bien, demostremos por contra-dicción, y sean p y q números enterospara los cuales

22

????

????

?qp

... donde se puede suponer que py q no tienen factores comunes, por-que en otro caso podríamos simplifi-car la fracción. Pero si (p/q)2=2,entonces p2=2q2, y por tanto p2 esdivisible por 2. En este caso p2 estambién divisible por 4, puesto que esel cuadrado de un número par. Asíp2=4q1; esto es, 2q2=4q1, y q2=2q1.De esto se sigue que q debe tambiénser divisible por 2. Pero esto contra-dice la suposición de que p y q notienen factores comunes. Esta con-tradicción demuestra que el cocienteb/a no puede ser expresado median-te un número racional, esto es: "Ladiagonal y el lado de un cuadradoson inconmensurables".

Esta demostración nos lleva a unaetapa más de abstracción cuando seconecte con el Teorema de Cantor,pero antes cabe una conclusión par-cial. Se concluye que la función delmapeo queda indeterminada por laexclusividad de las direcciones abso-lutas, ya que la ausencia de las direc-ciones mapeadas en los razonamien-tos matemáticos elimina la corres-pondencia biunívoca, y ésta en sí es laesencia del mapeo.

0

131071

DIRECCIONES ABSOLUTAS

D I R E C C I O N E S

MA P E A D A S

131071

Figura 3. Plano cartesiano para el mapeo dememoria.

b a

a

Figura 4. Cuadrado del Mapeo.

Page 12: Polibits vol. 24, 2001 · 2 polibits 2001 Editorial las actividades desarrolladas en el Instituto Politécnico Nacional, sino de otras fuentes de investigación y estudio. Esta es

XII 1 24 polibits 11

Implementación del Teorema de Cantor en la Solución del Direccionamiento de ...

Del cuadrado de la figura 4 delado a y diagonal b, parece evidente,considerando toda su área, que haymuchos más puntos tomando en cuen-ta los lados verticales y el horizontalsuperior que en el lado horizontalinferior. O también se podría decirque, como la magnitud de la diagonalb es mayor que la magnitud del ladoa, entonces hay más puntos en ladiagonal que en cualquiera de loslados a. Lo anterior nos lleva a unaxioma heurístico: "los puntos en lageometría euclídea son como lasdirecciones absolutas del direccio-namiento de un procesador". Sinellos los demás conceptos no ten-drían existencia.

Para aclarar esto se va a demos-trar que el lado inferior horizontal atiene más puntos que la diagonal b delcuadrado. Básicamente se estableceun procedimiento que haga corres-ponder un punto dado de la diagonalb con un punto del lado a. Siempre ycuando a cada punto de la diagonal bcorresponda uno y nada más que unodel lado a y nunca uno del lado acorresponda a más de uno de ladiagonal b. Es decir, se estableceentre ambos conjuntos de puntos lacorrespondencia biunívoca.

Así, ante todo se necesita fijar unamanera de localizar inequívocamenteun punto cualquiera en el plano delcuadrado y el lado inferior a. Portanto, por el método cartesiano unpunto P de la diagonal (el plano) sedistingue de todos los demás por susdistancias a los lados a (para el méto-do cartesiano los lados que se consi-deran son el vertical izquierdo y elhorizontal inferior) del cuadrado. Ellado vertical a se superpone al ejepositivo de las ordenadas y el ladohorizontal a se superpone al eje de lasabscisas. Para simplificar las cosas seconsidera que los lados del cuadradotienen como medida la unidad. Deesta forma, todas las distancias (x, y)medidas en el cuadrado serán inferio-

res o cuando más iguales a uno, y seexpresarán como fracciones decima-les.

A un punto del plano del cuadradose le hace corresponder un punto deleje horizontal, el cual se obtiene me-diante el cálculo del área del cuadradodelimitado por las coordenadas delpunto del plano. Con este razona-miento se involucra a los lados quepermiten la correspondencia biunívo-ca entre las ordenadas y las abscisas.De este modo, el punto se localizarámediante las siguientes expresiones:

? ?2.0

0.0

ax

y

?

?

Para establecer una correspon-dencia entre un punto del plano, como(0.3, 0.3), con un punto en el eje delas abscisas se superpone el productodel área del cuadrado con el ladoinferior horizontal a, de tal modo queel producto 0 del área coincida en elorigen del plano cartesiano y su cre-cimiento siga por el eje de las absci-sas. Así, el punto (0.3, 0.3) se hacecorresponder con el punto donde y =0.0, y x = 0.09.

La figura 5 muestra la corres-pondencia entre el punto (0.3, 0.3)del plano y el punto (0.09, 0.0).

La razón de emplear el área delcuadrado es poder involucrar intuiti-vamente dos conceptos matemáti-cos, a saber: la correspondenciabiunívoca entre los ejes del planocartesiano, y la potencia. En el ante-rior procedimiento la potencia existeen el momento del cálculo de área delcuadrado.

En forma general se puede decirque, para todo punto P de coordena-das (0.a, 0.a), existe un punto Q enel segmento de coordenadas ([0.a]2,0.0). Este punto está en el segmento,puesto que su x es mayor que 0 ymenor que 1. Este procedimiento se

conoce con el nombre de Correspon-dencia de Cantor, y el Teorema, quees también de Cantor, se enunciacomo sigue:

“Los puntos del plano tienen lapotencia del continuo”

Desde la perspectiva del direccio-namiento de memoria lo anterior tie-ne el siguiente significado: de un modou otro con las direcciones del mapa dememoria de un procesador se podríamapear tanta memoria como un fac-tor conocido lo permitiese.

En el caso del diseño digital de unprocesador el mapa de puertos es elfactor multiplicativo más empleado.El método más usual es el usar co-mandos a través de un puerto o puer-tos. Haciendo una analogía con laCorrespondencia de Cantor, se po-dría considerar que el comando delpuerto tendría la misma función de lasordenadas: compactar. Con estemétodo se compacta de un modoartificial el direccionamiento; así, unprocesador con un mapa de 65536podría llegar a mapear el orden deGigas. Si el comando es de 16 bits dedatos, entonces un puerto podría pro-poner 2 16 combinaciones posibles quepermitirían establecer 216 mapas dememoria de 65536 direcciones, esdecir, se podría tener un direcciona-miento de hasta 4 Gigas.

Q

P 0.3

0.09 0.3

Figura 5. Correspondencia entreun punto de la diagonal y un

punto del lado horizontal infe-rior del cuadrado.

Page 13: Polibits vol. 24, 2001 · 2 polibits 2001 Editorial las actividades desarrolladas en el Instituto Politécnico Nacional, sino de otras fuentes de investigación y estudio. Esta es

12 polibits 2001

Implementación del Teorema de Cantor en la Solución del Direccionamiento de ...

La figura 6 muestra el diseño delnodo de procesamiento, en donde elprocesador cuenta con un par debuses de 16 bits tanto para el área dedatos y de direcciones; además tieneun puerto de 16 bits, y el banco dememoria lo constituyen 6 dispositi-vos SRAM de 64k x16. La entidaddigital, por así decirlo, encargada decomprobar la Correspondencia deCantor y de involucrar el factor paracompactar el direccionamiento es uncircuito programable: CPLD.

El listado 1 presenta el métodocodificado en VHDL que deberá im-plementarse para lograr la “compac-tación” del mapa de memoria originaldel procesador.

De este modo se puede decir quese ha comprobado un teorema com-putacional, el cual se enuncia dicien-do:

“el método de comandos porpuertos es un procedimiento ade-

cuado de compactación del mapade memoria de direcciones absolu-tas, y un eficiente mecanismo deexpansión del mapa de memoria dedirecciones mapeadas”

Con este Teorema se explica larazón de la compactación del direc-cionamiento de un procesador almomento del mapeo de grandes can-tidades de memoria mapeada. En laactualidad existen otros métodos decompactación más complejos, tal y

como lo es el método depaginación[3] similar alusado por el kernel[3]de los sistemas operati-vos multiusuarios: UNIX,WINDOWS NT, etc.

RESULTADOS

La investigación rea-lizada en este trabajoproporciona un princi-pio filosófico aplicado apartir de muchos, quepermite entender la basecon que se construyenlos circuitos de hardwareque proporcionan los di-versos modos de direc-cionamiento en los blo-ques de memoria vir-tual[3] de los sistemasoperativos.

CONCLUSIONES

Cuando se localiza elelemento básico de unhecho real, como lo esuna dirección de un di-reccionamiento, en esamedida se debería poderasociar ese hecho comouno de los significadosdel Teorema de Cantor.De hacerlo así se tendría

MAPEADOR1

<Value>

VCC

HOLD

AA0

AA5

DA15

AA2

AA6

PSR/-W

DA6

R/-W

AA4

IOSPS

READY

READY

DA6

AA6

BIO

DA14

DS

DA1

BPCLK

RESET

AA3

AA7

AA11

C50RD

DA8

AA8

DA13

DA8

AA4

DA11

DA0

AA1

XF

DA0

RESET

DA14AA13

DA2

HOLD#

AA9

DA1

AA14

IOS

HOLDA

DA9

DA11

DA12

SYSRST#

SELECT#

DA3

C50RD

AA10

DA10

DA5

AA12

DA15

AA11

INT1

HOLDA

DA4

AA13AA14

DS

AA12

DA5

XF

AA8DA7

AA10

DA2

DA13

DA7

AA5

AA0

AA2

DA12

DA4

INT1

DA9

AA9

DA3

AA1

AA7

DA10

AA3

AA15

AA15

C50WE

C50WE

OE#WE#

WE1

CE#

CE3CE4

WE1OE1CE1

CE4OE4WE4CE3OE3WE3CE2OE2WE2CE1OE1

WE4OE4

WE3OE3

WE2OE2CE2

OE5

WE5

WE5

OE5

CE5

CE5

A12

D1

D14

D14

D8

D 8

A13A13

A13

D9

D 9

D4

D15

D12

D13

D 3

D15

A4

D0D1

A8

A0

A12

D8

D10

D3

D2

D 1

D8

D12

D3

A11

D0

D11

A4

D14

A3

A8

D 0

D7

D14

A12

D1

D14

D6 D6

D13

A7

D 3

A3

D0

D10

A7

CE6

D2

D 2

D8

D3

D4

A11

D 7

D 5

A0

D4

D2

D12

D13

D9

A3

D15

D11

OE6

D13A13D12

A10

WE6

D3

A8

D10

D6

D2

D15

D2D1 D1

D14

D 6

A14D13

D15

A11

D7

D 7

A0

D 2

D 1

D14

D 8

D6

A13

D4

D5

D11

D11

A0

D8

D12

A14

D9

D 4

D0

D10D11

D9

CE6

A3

D 9

A4

A11

D7

A14

A11

D12

D13

D13

A7

A3

D 4

A4

D7

D5

D10

A0

D5

D0

A12

D 6D6

D9

D15

D15

D7

D11

A7

D4

A8

D 0

D5 D5

D11D10

A12

D12

A14 A14

A7

D3A4

OE6

D 5

D10

WE6

A15 A15 A15 A15

A5A6A6

A5 A5 A5

A6A5

A6A6

A2

A2

A1A1A2 A2

A1A1A2

A1

A15

A15

A0A1A2A3A4A5A6A7A8

A11A12A13A14

A0A1A2A3A4A5A6A7A8

A11A12A13A14

A15

A10

A10

A9

A9A10

A10

A10A9

A9A10

A9

A9A8A9

U2

CY7C1020

1

4443

185432

4227262524212019

4039

6

28

2322

7

30313235363738

89101314151629

4117

R?

R

U?

OSC

3

1

OS

C

NC

R?

R

U?

55565758596061626364727374757677

302928272625242313121110

9876

82838990919293

128

129108

941

130

112

3839404142127

5

110

4344

45

46

123124

125

126

104105

106107

118119

3467

10031

2

95

9697

122

71103

109

A0A1A2A3A4A5A6A7A8A9

A10A11A12A13A14A15

D0D1D2D3D4D5D6D7D8D9D10D11D12D13D14D15

RDWEDSISPSR/-WSTRBREADY

HOLDHOLDABRIAQBIO

IACK

INT1INT2INT3INT4NMI

RS

MP/-MC

CLKOUT1

DRTDR

FSR

CLKR

TCLKXCLKX

TFSR/TADD

TCLKR

FSXTFSX/TFRM

DXTDX

EMU0EMU1/OFF

TCKTDITDOTMSTRST

CLKIN2

X2/CLKIN1X1

TOUT

CLKMD1CLKMD2

XF

U?

TMS320C50

55565758596061626364727374757677

302928272625242313121110

9876

82838990919293

128

129108

941

130

112

3839404142127

5

110

4344

45

46

123124

125

126

104105

106107

118119

3467

10031

2

95

9697

122

71103

109

A0A1A2A3A4A5A6A7A8A9

A10A11A12A13A14A15

D0D1D2D3D4D5D6D7D8D9D10D11D12D13D14D15

RDWEDSISPSR/-WSTRBREADY

HOLDHOLDABRIAQBIO

IACK

INT1INT2INT3INT4NMI

RS

MP/-MC

CLKOUT1

DRTDR

FSR

CLKR

TCLKXCLKX

TFSR/TADD

TCLKR

FSXTFSX/TFRM

DXTDX

EMU0EMU1/OFF

TCKTDITDOTMSTRST

CLKIN2

X2/CLKIN1X1

TOUT

CLKMD1CLKMD2

XF

U6

CY7C1020

1

4443

185432

4227262524212019

4039

6

28

2322

7

30313235363738

89101314151629

4117

U5

CY7C1020

1

4443

185432

4227262524212019

4039

6

28

2322

7

30313235363738

89101314151629

4117

U4

CY7C1020

1

4443

185432

4227262524212019

4039

6

28

2322

7

30313235363738

89101314151629

4117

U3

CY7C1020

1

4443

185432

4227262524212019

4039

6

28

2322

7

30313235363738

89101314151629

4117

U1

CY7C1020

1

4443

185432

4227262524212019

4039

6

28

2322

7

30313235363738

89101314151629

4117

Figura 6. Esquemático del nodo de procesamiento con 6 dispositivos de memoria.

Page 14: Polibits vol. 24, 2001 · 2 polibits 2001 Editorial las actividades desarrolladas en el Instituto Politécnico Nacional, sino de otras fuentes de investigación y estudio. Esta es

XII 1 24 polibits 13

Implementación del Teorema de Cantor en la Solución del Direccionamiento de ...

—Progama en VHDL para el plantear el comportamiento delMapeador.—En la figura 6, se muestra el esquemático para el direccionamien-to—del Mapeo.library ieee;use ieee.std_logic_1164.all;use work.numeric_std.all;entity mapeador isport(

—buses del procesador.AA:in std_logic_vector(15 downto 0);DA:inout std_logic_vector(15 downto 0);—control del procesador.C50RD: in std_logic;C50WE: in std_logic;—selección de área de datos(ds)— o de puertos(is) del procesador.DS: in std_logic;IOS: in std_logic;—señales activas en bajo.—señales de control del mapeador.—Chip Select.CE: out std_logic_vector(5 downto 0);—Output Enable.OE: out std_logic_vector(5 downto 0);—Write Enable.WE: out std_logic_vector(5 downto 0);—buses del mapeador.A:out std_logic_vector(15 downto 0);D:inout std_logic_vector(15 downto 0));

end mapeador;architecture comportamiento of mapeador issignal pto: integer range 0 to 6;beginp1:process(IOS)begin

case DA(2 downto 0) is—comandos para identificar la activación—de cada una de las memorias mapeadas.when «000» => pto <= 0;

when «001» => pto <= 1;when «010» => pto <= 2;when «011» => pto <= 3;when «100» => pto <= 4;when «101» => pto <= 5;when others => pto <= 6;

end case;end process p1;p2:process(DS)begincase pto is

when 0 => CE(0)<=’0';OE(0)<=’0';WE(0)<=’0';A(15 downto 0)<=AA(15 downto 0);if (C50WE=’0') then

D(15 downto 0)<=DA(15 downto 0);else

DA(15 downto 0)<=D(15 downto 0);end if;

when 1 => CE(1)<=’0';OE(1)<=’0';WE(1)<=’0';A(15 downto 0)<=AA(15 downto 0);

if (C50WE=’0') thenD(15 downto 0)<=DA(15 downto 0);

elseDA(15 downto 0)<=D(15 downto 0);

end if;when 2 => CE(2)<=’0';

OE(2)<=’0';WE(2)<=’0';A(15 downto 0)<=AA(15 downto 0);if (C50WE=’0') then

D(15 downto 0)<=DA(15 downto 0);else

DA(15 downto 0)<=D(15 downto 0);end if;

when 3 => CE(3)<=’0';OE(3)<=’0';WE(3)<=’0';A(15 downto 0)<=AA(15 downto 0);if (C50WE=’0') then

D(15 downto 0)<=DA(15 downto 0);else

DA(15 downto 0)<=D(15 downto 0);end if;

when 4 => CE(4)<=’0';OE(4)<=’0';WE(4)<=’0';A(15 downto 0)<=AA(15 downto 0);if (C50WE=’0') then

D(15 downto 0)<=DA(15 downto 0);else

DA(15 downto 0)<=D(15 downto 0);end if;

when 5 => CE(5)<=’0';OE(5)<=’0';WE(5)<=’0';A(15 downto 0)<= AA(15 downto 0);if (C50WE=’0') then

D(15 downto 0)<=DA(15 downto 0);else

DA(15 downto 0)<=D(15 downto 0);end if;

when others =>A(15 downto 0)<=»ZZZZZZZZZZZZZZZZ»;D(15 downto 0)<=»ZZZZZZZZZZZZZZZZ»;CE(5 downto 0)<=»111111";OE(5 downto 0)<=»111111";WE(5 downto 0)<=»111111";

end case;end process p2;end comportamiento;

Listado 1. Programa en VHDL para el CPLD, quecompacta el direccionamiento del procesador.

Page 15: Polibits vol. 24, 2001 · 2 polibits 2001 Editorial las actividades desarrolladas en el Instituto Politécnico Nacional, sino de otras fuentes de investigación y estudio. Esta es

14 polibits 2001

Implementación del Teorema de Cantor en la Solución del Direccionamiento de ...

un pensamiento en términos de con-ceptos simbolizados, un pensamientoaltamente especializado y funcional,tal y como se presentó en este traba-jo. El único punto débil, si lo hay, esque esto se construye con la intuicióny no basándose en razonamientoslógicos. Aquí los razonamientos lógi-cos se emplearon en una fase poste-rior, para intentar un cierto grado deacuerdo con el lector.

Además, parece que la intuiciónes el mecanismo de captación de unconcepto, que junto con la familiari-zación y el know how de un campopermiten conocer ciertos significadosespecializados (los conceptos simboli-zados), y al alinearlos a los problemasque se intentan solucionar, los solu-cionan, o por lo menos permitenobtener descripciones que funcional-mente aclaran el problema.

Ahora, de acuerdo con la investi-gación de este trabajo se podría con-cebir que el analfabetismo funcionalse podría extrapolar patológicamen-te en las actividades teóricas de unpragmático, y así uno podría com-prender el porqué ciertas personasaunque son diestros en manipular elálgebra, el cálculo y la geometríaanalítica sean incapaces de dar solu-ciones matemáticas a ciertos proble-mas de la ingeniería y de las ciencias,y en esa medida presentarían la inha-bilidad para generar trabajos origina-les. Otro aspecto patente es que, antela carencia de un significado especia-lizado, se entra en una situación deinacción, y sólo se accesa a un granpotencial de acción cuando se logradicho significado. Quizás este párrafopresente una de las razones de laproductividad inconstante al realizaresta investigación.

BIBLIOGRAFÍA

[1] Aleksandrov A. D., Kolmogo-rov A. N., y Laurentiev, M. A.,“La matemática: su conteni-do, métodos y significado”,Alianza Universidad, AlianzaEditorial, Vol. 1, México,1994, Cap. 1.

[2] Erro Luis Enrique, “El Pensa-miento Matemático Contem-poráneo”, Instituto Politécni-co Nacional, México, 1986,Cap. 1.

[3] Freedman Alan, “Diccionariode Computación Bilingüe”,McGraw-Hill Interamericana,S.A., Colombia, 1996.

Page 16: Polibits vol. 24, 2001 · 2 polibits 2001 Editorial las actividades desarrolladas en el Instituto Politécnico Nacional, sino de otras fuentes de investigación y estudio. Esta es

XII 1 24 polibits 15

Diseño de Sistemas Digitales Utilizando FPGA

Diseño de Sistemas DigitalesUtilizando FPGA

Diseño de Sistemas DigitalesUtilizando FPGA

E

M. en C. Amadeo José Argüelles CruzProfesor del CIC-IPNIng. José Angel Ascencio Roman,Ing. José Felipe Villalobos BaigorríaCIC-IPN

n la década de los ochenta seintrodujo en el mercado unanueva tecnología para la im-

plantación de sistemas digitales: losarreglos de compuertas programa-bles en campo (FPGA, "Field Progra-mmable Gate Array"). Estos disposi-tivos ofrecen varias ventajas con res-pecto a los componentes discretos demediana y alta escala de integración(MSI/LSI) y de aplicación específica.Los FPGA son capaces de operar conlógica multinivel, mientras que dispo-sitivos tales como los PLD se constru-yen específicamente para trabajar conlógica de dos niveles. Además, noprecisan de fabricarse “a medida”, loque da como resultado una reduccióntanto en los costos, cuando se generaun bajo volumen de partes, como enel tiempo de fabricación.

En este documento se exponenalgunas de las características conteni-das en la tecnología de esta clase dedispositivos y el proceso de diseñoutilizado, así como algunas de lasaplicaciones en las que actualmentese encuentran presentes.

TECNOLOGÍA DE FPGA

Esta es una clase de dispositivosprefabricados pero a diferencia de losPLD, que contienen lógica de dosniveles, presenta un diseño optimiza-do que permite el manejo de lógicamultinivel. Esta característica permitediseñar circuitos más complejos quepueden contenerse en un solo dispo-sitivo, aunque se tiene la desventajade los retardos involucrados en eldiseño, lo cual no se presenta en losPLD. Los FPGA proporcionan espe-cificaciones especiales para su ajustea determinado tipo de necesidades;tomando como base estas especifica-ciones y la manera en como puedenprogramarse, la figura 1 muestrauna clasificación de estos dispositi-vos.

Con base en suforma de configu-ración, existen cua-tro tipos de FPGA.En los dispositivosconfigurables, unavez que se progra-ma el sistema digi-tal que contendrán,no pueden realizar-se cambios en lamanera en que fue-ron dispuestas tan-to la distribución dela lógica como delas conexiones in-ternas.

Esta es la razón por la que a estetipo de FPGA se le da el nombre deprogramables una sola vez (OTP: "OneTime Programming"). Los dispositi-vos reconfigurables pueden progra-marse varias veces, y se dividen enestáticos y dinámicos; en los prime-ros, una vez que se carga la configu-ración en uno o varios de los disposi-tivos que conforman al sistema, seejecuta la tarea en cuestión, sin reali-zarse mas cambios en el funciona-miento. Con los circuitos dinámicosel hardware subyacente puede cam-biar en cualquier momento durante laejecución de la operación u operacio-nes que se llevan a cabo. A su vez, loscircuitos dinámicos se dividen en dis-positivos completamente configura-bles, en los cuales el dispositivo sereconfigura completamente; y los cir-cuitos parcialmente reconfigurables,en los que solo se cambia una partedel circuito.

FPGAs

Configurables (OTP)

Reconfigurables

Estáticos

Dinámicos

completamente configurables

parcialmente reconfigurables

Figura 1. Clasificación de dispositivos FPGA.

Page 17: Polibits vol. 24, 2001 · 2 polibits 2001 Editorial las actividades desarrolladas en el Instituto Politécnico Nacional, sino de otras fuentes de investigación y estudio. Esta es

16 polibits 2001

Diseño de Sistemas Digitales Utilizando FPGA

Otra manera de identificar a unFPGA es con base en la complejidadde sus celdas elementales. Los circui-tos con “granularidad fina” presentanceldas básicas cuyo contenido son lascompuertas lógicas AND, OR y NOT.Otro tipo de circuitos presentan“granularidad gruesa”, es decir, susceldas básicas son más complejas, yaque pueden contener tablas de ver-dad, multiplexores y/o unidades arit-mético-lógicas.

VENTAJAS

Algunas de las ventajas de trabajarcon estos dispositivos se mencionan acontinuación:

• Bajo costo, ya que la configu-ración y programación del dispositivose soporta por el software de diseño.Como resultado, los cambios en eldiseño y mejoras en los productosobtenidos pueden realizarse sin incu-rrir en gastos adicionales.

• Reducción en los tiempos deproducción. Como ejemplo, el tiem-po de manufactura aproximado de undispositivo MPGA es del orden de 6meses; con los FPGA, las partes pue-den producirse después de solo unascuantas horas de diseño. Esto pro-porciona un amplio grado de flexibi-

lidad, permitiendo al ingeniero explo-rar a fondo el diseño, con el objeto deincorporar cambios de ultimo minutoy sin incurrir en costos adicionales.

• Alta integración (alrededor de2 millones de compuertas), lo cualreduce drásticamente el número decomponentes en un diseño en com-paración a su implantación con lógicaMSI/LSI. Además, disminuye el con-sumo de energía, se obtienen costosde manufactura bajos, inventarios pe-queños y un número reducido dedefectos de manufactura y errores dediseño.

CICLO DE DISEÑO

El ciclo de diseño (ver figura 2)para el desarrollo de sistemas digita-les con FPGA requiere de los siguien-tes pasos:

1. La introducción o descripción deldiseño.

2. La simulación del diseño para ve-rificar su funcionamiento.

DESCRIPCIÓN

SIMULACIÓN

MAPEO

COLOCACIÓN E INTERCONEXIÓN

EXTRACCIÓN DE PARÁMETROS

RESIMULACIÓN

GENERACIÓN DE LACONFIGURACIÓN

PROGRAMACIÓN DE DISPOSITIVOS

CUMPLE

ENTRADA

SI

NO

Figura 2. Primeros pasos de la generación de sistemas digitalesutilizando dispositivos FPGA.

Figura 3. Simulación del diseño en entornos gráficos.

DESCRIPCIÓN

SIMULACIÓN

MAPEO

COLOCACIÓN E INTERCONEXIÓN

EXTRACCIÓN DE PARÁMETROS

RESIMULACIÓN

GENERACIÓN DE LACONFIGURACIÓN

PROGRAMACIÓN DE DISPOSITIVOS

CUMPLE

ENTRADA

SI

NO

Page 18: Polibits vol. 24, 2001 · 2 polibits 2001 Editorial las actividades desarrolladas en el Instituto Politécnico Nacional, sino de otras fuentes de investigación y estudio. Esta es

XII 1 24 polibits 17

Diseño de Sistemas Digitales Utilizando FPGA

3. El mapeo del diseño en la arqui-tectura del FPGA a utilizar.

4. La colocación e interconexión deldiseño en el FPGA.

5. La extracción de parámetros, unavez que el diseño ha sido conecta-do.

6. Una nueva simulación para verifi-car los tiempos de propagación delas señales involucradas en el dise-ño.

7. La generación del formato de con-figuración del dispositivo FPGA.

8. La configuración o programacióndel dispositivo.

9. La prueba del producto para ob-servar la existencia de algún fun-cionamiento no deseado.

En el paso número 1 se contem-pla la descripción e inserción del dise-ño con alguna de las herramientas deimplantación del diseño (programasde software llamados EDA: "Electro-nic Design Automation", Automati-

zación del Diseño Electrónico) que losfabricantes de FPGA distribuyen jun-to con sus productos (figura 2 ). Conla utilización de estos programas, eldiseñador puede describir de diferen-tes formas a los circuitos que intervie-nen en el sistema digital: utilizandoesquemas, expresiones booleanas ológicas, lista de conexiones y/o len-

guajes de descripción de hardware,etc.

Cuando el diseño ha sido inserta-do en la herramienta de automatiza-ción, el siguiente paso consiste en lasimulación del mismo (figura 3 ). Sepuede observar si el diseño cumplecon la funcionalidad deseada cuandose alimentan los vectores de prueba,mismos que servirán para modelar elcomportamiento del sistema. Estepaso puede omitirse para acelerar elproceso de obtención del productofinal, pero esto puede ocasionar queel mismo no presente la calidad que serequiere, lo que redunda en un mayorcosto si se involucra al diseño condispositivos que se programan solouna vez, OTP.

En el paso 3, se realiza la reduc-ción lógica y el mapeo del diseño conrespecto a una tecnología determina-da (figura 4). Esto implica que ladescripción del diseño, que antes deesta etapa todavía se presenta demanera independiente a la tecnolo-gía, sea transferida a las entidades(celdas) básicas de la tecnología quecontendrá al diseño.

Figura 4. Mapeo del sistema digital en el conjunto de elementospresentes en el FPGA.

ab

sel[0]

cd

sel[0]

z

F

G

H

CLB

sel[1]

DESCRIPCIÓN

SIMULACIÓN

MAPEO

COLOCACIÓN E INTERCONEXIÓN

EXTRACCIÓN DE PARÁMETROS

RESIMULACIÓN

GENERACIÓN DE LACONFIGURACIÓN

PROGRAMACIÓN DE DISPOSITIVOS

CUMPLE

ENTRADA

S I

NO

Figura 5. Colocación y conexión de los elementosinvolucrados en el diseño.

DESCRIPCIÓN

SIMULACIÓN

MAPEO

COLOCACIÓN E INTERCONEXIÓN

EXTRACCIÓN DE PARÁMETROS

RESIMULACIÓN

GENERACIÓN DE LACONFIGURACIÓN

PROGRAMACIÓN DE DISPOSITIVOS

CUMPLE

ENTRADA

S I

NO

ab

sel[0]

cd

sel[1]

z

F

G

H

CLB

sel[1]

ab

sel[0]

cd

sel[0]

z

A

C

B

CLB

sel[1]

Page 19: Polibits vol. 24, 2001 · 2 polibits 2001 Editorial las actividades desarrolladas en el Instituto Politécnico Nacional, sino de otras fuentes de investigación y estudio. Esta es

18 polibits 2001

Diseño de Sistemas Digitales Utilizando FPGA

En el paso 4 se posicionan lasentidades, elementos o celdas, utiliza-das en el mapeo, sobre un bloquefísico específico presente en el dispo-sitivo (figura 5). A continuación serealiza la conexión de los diferentesbloques, la cual se lleva a cabo en dosetapas: global y detallada.

A continuación se lleva a cabo laadquisición de los parámetros de re-traso de las señales involucradas en eldiseño (figura 6 ). Esto es, ya que sehan colocado y conectado todos loselementos que forman parte del dise-ño, la herramienta para el mismotoma de la base de datos correspon-diente al dispositivo utilizado, las ca-racterísticas que el fabricante declaraen sus hojas de especificaciones.

En la etapa 6 se procede a unanueva simulación del diseño (figura7), utilizando los mismos vectores deprueba que sirvieron para llevar acabo el paso 2. Esto permite la verifi-cación de los tiempos de propagaciónde las señales involucradas en el dise-ño, pero en esta ocasión, a diferenciade la simulación realizada en el paso

2, se toman en consideración losretardos producidos por las rutas deconexión existentes.

Si el resultado de la etapa anteriorcumple con las especificaciones dediseño, entonces se procede a ejecu-tar el paso 7 (figura 8), que es la

Figura 6. Consideración de los parámetros de retrasopresentes en el diseño.

DESCRIPCIÓN

SIMULACIÓN

MAPEO

COLOCACIÓN E INTERCONEXIÓN

EXTRACCIÓN DE PARÁMETROS

RESIMULACIÓN

GENERACIÓN DE LACONFIGURACIÓN

PROGRAMACIÓN DE DISPOSITIVOS

CUMPLE

ENTRADA

SI

NO

generación de los formatos de confi-guración del dispositivo o dispositivosindicados.

Concluido lo anterior, se procedea programar al dispositivo (figura 9 ),utilizando los archivos de configura-ción correspondientes.

Por último, se prueba el diseñopara verificar su funcionamiento co-rrecto.

APLICACIONES

El campo de aplicación de losdispositivos FPGA es muy amplio.Inicialmente se utilizaban en los siste-mas digitales como lógica adicional(glue logic), pero a medida que losfabricantes fueron desarrollando nue-vas características (mayor integración,menor costo, menor consumo deenergía, etc.), su utilización fue cam-biando a tal grado que en la actualidadhan cobrado gran importancia ensectores tales como computación, pe-riféricos, telecomunicaciones, redes,

Figura 7. Resimulación del diseño, tomando en consideración losretrasos presentes en el diseño depositado en la

arquitectura correspondiente.

DESCRIPCIÓN

SIMULACIÓN

MAPEO

COLOCACIÓN E INTERCONEXIÓN

EXTRACCIÓN DE PARÁMETROS

RESIMULACIÓN

GENERACIÓN DE LACONFIGURACIÓN

PROGRAMACIÓN DE DISPOSITIVOS

CUMPLE

ENTRADA

SI

NO

Page 20: Polibits vol. 24, 2001 · 2 polibits 2001 Editorial las actividades desarrolladas en el Instituto Politécnico Nacional, sino de otras fuentes de investigación y estudio. Esta es

XII 1 24 polibits 19

Diseño de Sistemas Digitales Utilizando FPGA

control industrial, instrumentación,militar y electrónica de consumo, uti-lizando tan solo un dispositivo quecontiene a todo el sistema digital (SOC:"System On a Chip").

En nuestro país, actualmente sedesarrollan prototipos encaminadosa la generación no solo de elementosde apoyo académico; en el Centro deInvestigación en Computación (CIC)se generan proyectos de investiga-ción que tienen que ver con el desa-rrollo de sistemas digitales, utilizandológica basada en FPGA reconfigura-bles estáticos (figura 10).

CONCLUSIONES

Como se puede observar en elmaterial presentado, los FPGA seutilizan en una amplia variedad deaplicaciones, involucrando todo tipode sistemas de cómputo. La forma encomo se desarrolla el diseño es bas-tante flexible y no se requiere de unainversión cuantiosa para poder reali-zar proyectos de baja y mediana esca-

Figura 8. Generación de los archivos de configuración.

Figura 9. Programación.

la. Gracias al incremento en el núme-ro de compuertas y a la mejora en elrendimiento en los FPGA, existe uninterés creciente en dirigir el diseñode sistemas digitales hacia una inte-gración total.

RECONOCIMIENTOS

El autor agradece el apoyo deAnna Acevedo (Xilinx Corp). y deActel, por proporcionar informaciónreferente a la línea de dispositivosFPGA que fabrican; al Centro deInvestigación en Computación (CIC),por el respaldo en las investigacionesrealizadas en referencia a este tema yal Centro de Innovación y DesarrolloTecnológico (CIDETEC) por conti-nuar con su esfuerzo por diseminarlos conocimientos científicos y técni-cos a través de la revista Polibits.Estos dos últimos Centros formanparte del Instituto Politécnico Nacio-nal.

DESCRIPCIÓN

SIMULACIÓN

MAPEO

COLOCACIÓN E INTERCONEXIÓN

EXTRACCIÓN DE PARÁMETROS

RESIMULACIÓN

GENERACIÓN DE LACONFIGURACIÓN

PROGRAMACIÓN DE DISPOSITIVOS

CUMPLE

ENTRADA

SI

NO

DESCRIPCIÓN

SIMULACIÓN

MAPEO

COLOCACIÓN E INTERCONEXIÓN

EXTRACCIÓN DE PARÁMETROS

RESIMULACIÓN

GENERACIÓN DE LACONFIGURACIÓN

PROGRAMACIÓN DE DISPOSITIVOS

CUMPLE

ENTRADA

SI

NO

Page 21: Polibits vol. 24, 2001 · 2 polibits 2001 Editorial las actividades desarrolladas en el Instituto Politécnico Nacional, sino de otras fuentes de investigación y estudio. Esta es

20 polibits 2001

Diseño de Sistemas Digitales Utilizando FPGA

Figura 10. Prototipo para la generación de sistemas digitales em-pleando dispositivos FPGA XC4000 y Spartan del fabricante Xilinx.

BIBLIOGRAFÍA

[1] Smith, M. J. S., Application-Especific Integrated Circuits.Adisson-Wesley Longman,1998.

[2] Pierre Marchal, Field-Progra-mmable Gate Arrays. Com-munications of the ACM Vol.42, No. 4 April,1999.

[3] Xilinx, The programmable Lo-gic Data Book, Xilinx, Inc.1999.

[4] Actel, FPGA Databook andDesign Guide, Actel Corpora-tion 1996.

[5] Xilinx, Xilinx University Pro-gram Workshop Labs, Xilinx,Inc. 1998.

Page 22: Polibits vol. 24, 2001 · 2 polibits 2001 Editorial las actividades desarrolladas en el Instituto Politécnico Nacional, sino de otras fuentes de investigación y estudio. Esta es

XII 1 24 polibits 21

Uso de Multimedios en la Educación Básica de Ingeniería por Internet

Uso de Multimedios en laEducación Básica de Ingeniería

por Internet

Uso de Multimedios en laEducación Básica de Ingeniería

por Internet

E

Rodolfo Romero HerreraESCOM-IPNE-mail: [email protected]

ste documento presenta elestudio de diferentes sistemasde enseñanza basados en com-

putadora, y los pasos a seguir paraestablecer un sistema de enseñanzasemipresencial, soportado en meto-dologías y tecnologías diversas queemplean multimedia y, de maneraespecífica, a través de Internet. So-bre esta base se cuestionó cuál sería elmétodo más adecuado y con mejoresresultados para la enseñanza de laingeniería, usando esquemas en líneaapoyados en computadora; así comolas estrategias didácticas más apro-piadas. Se da a conocer el sistemahipermedia empleado, el cual estábasado en el mindware, hardware ysoftware disponible en la escuela.

INTRODUCCIÓN

Cuando apareció el papel comosoporte de la información, cambioentonces una serie de patrones cultu-rales que afectaron la forma de vivir.De la misma forma, continuamenteaparecen nuevas tecnologías que cam-bian los soportes de la información,pasando desde la pluma y el papelhasta los sistemas multimedia.

Hoy, la computadora deja de seruna sofisticada máquina de calcular, yse convierte en una máquina para

comunicarse, encontrándose en elámbito multimedia, donde el sonido,la voz, el texto y la capacidad detrabajar conjuntamente a distanciason una realidad, tanto para la educa-ción como para el desarrollo de lospueblos.

La escuela tradicional cumplíaperfectamente con la función de dis-tribución de la información necesariaen tiempo y forma, para que la genteque se formaba pudiera participar enla sociedad. En la actualidad, sin em-bargo, comparte esta función conmuchos medios.

El conductismo ha resultado seruna de las corrientes que más haninfluido en la psicología contemporá-nea; surge como una corriente quevino a revolucionar la visión mentalis-ta que imperaba en la época de suaparición. Sin embargo, actualmenteel constructivismo goza de mayorpopularidad en los sistemas educati-vos.

La necesidad de emplear los mul-timedios en la educación radica en elhecho de que no todos los individuosaprenden de la misma forma; el apren-dizaje no siempre se da por el mismocanal de percepción, y las personasnormalmente no tienen los mismosintereses o antecedentes. Es por estoque en el presente trabajo se justificael uso del constructivismo combinadocon el cómputo educativo, donde suprincipal aplicación será en la educa-ción semipresencial.

SISTEMAS DE ENSEÑANZA BASADOS

EN COMPUTADORA

Hay muchos sistemas de ense-ñanza basados en computadora; sinembargo, cada uno de ellos terminaya sea en el conductismo o en elconstructivismo. Es por eso que serealiza un análisis como primer pasopara construir un sistema educativobasado en multimedia.

CONDUCTISMO

Conceptos tales como motivacióne impulso, así como sensación y per-cepción, entre otros, comenzaron autilizarse para hacer referencia a laspropiedades dinámicas e intrínsecasde la conducta humana. Sin embar-go, el replanteamiento de sus teoríasmotivó que el conductismo presenta-ra divergencias.

La relación estímulo-respuesta esel fiel reflejo de una concepción teó-rica que otorga primacía al objetosobre el sujeto, en donde el estímuloprovoca, activa y hace reaccionar alsujeto, pero no considera que el hom-bre interactúa con el medio social ybiológico que lo rodea; debido a esteproceso dinámico, el hombre tiene laposibilidad de desarrollarse y evolu-cionar.

El conductismo se concreta a con-cebir al hombre como un organismodependiente de los cambios ambien-

Page 23: Polibits vol. 24, 2001 · 2 polibits 2001 Editorial las actividades desarrolladas en el Instituto Politécnico Nacional, sino de otras fuentes de investigación y estudio. Esta es

22 polibits 2001

Uso de Multimedios en la Educación Básica de Ingeniería por Internet

tales, y que en forma automáticaresponde a ellos. En el caso de losmultimedios es prioritario que la com-putadora no sea la que tome el man-do de las acciones; sin embargo, algu-nos conceptos del conductismo pue-den ser de utilidad para ciertas activi-dades educativas.

CONSTRUCTIVISMO

La base en este enfoque es elindividuo, en el que una construcciónpropia se va produciendo como resul-tado de la interacción de su disposi-ción interna y su interacción con elmedio ambiente; así, el conocimientoes una construcción de la personamisma. Esta construcción resulta dela representación inicial de la infor-mación y de la actividad externa ointerna al individuo; por esto resultaimportante una concordancia altaentre la realidad y la construcción. Deesta forma, es posible sugerir que enel constructivismo lo fundamental re-side en el proceso de adquisición.

A través de los procesos de apren-dizaje, el alumno construye estructu-ras, es decir, maneras de organizar lainformación, las cuales facilitaránmucho las adquisiciones futuras. Estoprovoca la interactividad si se imple-menta en un sistema de cómputoeducativo.

Las estructuras de conocimientoson las representaciones organizadasde experiencias previas; son relativa-mente permanentes y sirven comoesquemas que funcionan activamen-te para filtrar, codificar, categorizar yevaluar la información que uno recibecon alguna experiencia relevante.Todo ello permite establecer un retoal estudiante, muy similar al que exis-te en los juegos por computadora.

La idea principal es que mientrasaprendemos información estamosconstantemente organizándola en

unidades. Tales unidades tienen al-gún tipo de organización, que llama-mos estructura. La nueva informa-ción generalmente se asocia con laexistente en estructuras anteriores, ala vez que es posible reorganizar oreestructurar la información original.

Otro punto que se enfatiza en elconstructivismo es que el conocimien-to es un producto de la interacciónsocial y de la cultura. Por tal motivo,no se debe permitir que el softwareaísle al individuo del mundo que lerodea, sino mas bien que sea unaherramienta que le permita desenvol-verse mas fácilmente dentro de él.

Piaget planteó que, para apren-der, el alumno requiere de un estadode desequilibrio, una especie de an-siedad que sirve de motivación paraaprender. Si nosotros provocamosese deseo por aprender a través delempleo de multimedios, lograremosmejores resultados, ya que el estu-diante siempre tendrá la necesidad deconocer más.

A pesar de la certidumbre de losconceptos en el constructivismo, re-cordemos que todos somos diferen-tes; por tal motivo es importanteestablecer una diferencia entre lo queel alumno es capaz de aprender soloy lo que puede aprender con el con-curso de otras personas. Por ello, laeducación escolar debe partir del ni-vel de desarrollo efectivo del alumno,pero no para acomodarse a él, sinopara hacerlo progresar a través de lazona de desarrollo próximo, paraampliarla y generar eventualmentenuevas zonas de desarrollo.

Así, el punto más importante en elcómputo educativo es asegurar la rea-lización de aprendizajes significati-vos, a través de los cuales el alumnoconstruye la realidad atribuyéndolesignificados. Para tales fines, el con-tenido debe ser potencialmente im-portante y el alumno debe tener una

actitud favorable para aprender signi-ficativamente; cuanto mayor sea elgrado de significatividad del aprendi-zaje realizado, mayor será también sufuncionalidad.

En consecuencia, el aprendizaje(según el conductismo) es concebidocomo un cambio en la conducta pormedio del condicionamiento, mien-tras que para el constructivismo elaprendizaje es una construcción pro-pia que se va produciendo mediantela interacción de las estructuras inter-nas con el medio ambiente. Enton-ces, si consideramos los puntos masadaptables a los multimedios obten-dremos un sistema educativo de ense-ñanza que considere tanto aquellosalumnos cuyo condicionamiento esmas adaptable al conductivismo comolos alumnos que lo son más hacia elconstructivismo, teniendo entoncesun híbrido de diferentes estrategias deenseñanza.

ESTRATEGIAS DE APRENDIZAJE

* ESTRATEGIAS DE PROCESAMIENTO

Las estrategias de procesamientoson aquellas que utiliza el aprendizpara asegurar un proceso de capta-ción e ingreso de nueva información,destrezas, etcétera. Estas estrategiasincluyen :

1. Estrategias de atención.2. Estrategias físicas.3. Estrategias de elaboración verbal.4. Elaboración por vía de imágenes.5. La comparación.6. La inferencia y7. La aplicación o ensayos futuros.

* ESTRATEGIAS DE PRODUCCIÓN

Las estrategias de producción re-cuperan información almacenadapara hacer uso de ella y para que sea

Page 24: Polibits vol. 24, 2001 · 2 polibits 2001 Editorial las actividades desarrolladas en el Instituto Politécnico Nacional, sino de otras fuentes de investigación y estudio. Esta es

XII 1 24 polibits 23

Uso de Multimedios en la Educación Básica de Ingeniería por Internet

capaz de transferir o generalizar loque ha aprendido a problemas queencontrará en su vida fuera de laescuela. Estas estrategias pueden serdesarrolladas y aplicadas a cuatro for-mas principales de producción:

a) Recuperación y uso de informa-ción específica.

b) Generalización o transferencia deinformación, o aplicación de habi-lidades a nuevas situaciones.

c) Identificación, representación yresolución de problemas (aplican-do lo aprendido).

d) Desarrollo y aplicación de la crea-tividad en la generación de res-puestas.

* ESTRATEGIAS AFECTIVAS

El alumno debe poseer el estadoafectivo positivo hacia las estrategiaspara usarlas, por ejemplo: Interés,motivación extrínseca, imagen de símismo, atribución de control, ansie-dad, conciencia afectiva, etc.

* METACOGNICIÓN

El alumno debe tener concienciade lo que uno está haciendo; estoincluye:

- La planificación.- La supervigilancia del proceso (mo-

nitoreo).- La evaluación y constatación de

resultados.

MODELO DE ENSEÑANZA

ESTRATÉGICA

Una concepción de inteligencia«desarrollable» como la antes plantea-da conduce, obligadamente, a unmayor compromiso por parte de losprofesores para el diseño de las con-diciones del aprendizaje.

En esta nueva concepción, la por-ción fluida de la inteligencia, la rela-cionada con las estrategias y los esti-los de aprendizaje, es susceptible deser moldeada.

El estudiante necesita reconocer-se a sí mismo como estudiante; sabercuál es su estilo de comprensión yaprendizaje, qué tareas, materiales ymaterias le son difíciles, etc. En estemodelo se requiere un entrenamien-to para que el estudiante esté cons-ciente del tipo de actividades que serealizarán. Para ello se debe planearuna serie de actividades que le ayudena mejorar en su aprendizaje, talescomo estrategias para la organiza-ción y estructuración, etc.

COMPONENTES DE UN SISTEMA

EDUCATIVO MULTIMEDIA

En un sistema educativo con mul-timedia se deben contar con tres par-tes básicas: Hardware. Mindware, ySoftware.

HARDWARE

Una parte fundamental para elsistema es la computadora, la cualdebe estar equipada con unidad deCD-ROM, suficiente memoria princi-pal, disco duro con espacio de alma-cenamiento adecuado, micrófono,tarjeta de sonido y acceso a internet.Si se trata de educación a distancia, senecesitara también un servidor, videocámara, etc.

Existen otros componentes queforman parte del hardware necesariopara crear multimedios, como son:Digitalizador, cámaras fotográficasdigitales, cámaras de video, tabla digi-talizadora, videograbadora, etc.

MINDWARE

Mindware es el componente hu-mano y educativo, que ayuda a orga-nizar la parte técnica (hardware) y la

paquetería (software), para confor-mar un sistema multimedios. Si estefactor no esta bien capacitado, denada servirá que se tenga el equipomás sofisticado.

ALCANCES DEL CÓMPUTO EDUCATIVO

Las perspectivas del uso de multi-medios en la educación son cada díamás prometedoras, además de que elcosto de estos sistemas tiende a dis-minuir en forma dramática; esto ponea disposición de los educadores me-dios que en otros tiempos eran inal-canzables. Todo ello, junto con elinternet, nos permite una educacióna distancia o semipresencial más efec-tiva.

El uso adecuado de múltiples me-dios asociados para la instrucción esun factor complementario y en algu-nas ocasiones necesario para lograrun aprendizaje significativo. Las posi-bles aplicaciones de los multimediosofrecen la opción de tener una formade acceso a información diferentecon representaciones y situacionesmás reales, lo que a su vez nos permi-te explorar en la práctica diversasestrategias de enseñanza.

SISTEMAS BASADOS EN MULTIMEDIA

En este caso la computadora desa-rrolla una función eminentementeeducativa, sobre todo si considera-mos que los espacios requeridos parala educación presencial son cada díamas escasos y congestionados, y quela enseñanza de la educación básicade ingeniería juega un papel muyimportante en el avance de la tecno-logía. Así, aunque el medio es diferen-te los contenidos serán los mismos,pero con una mayor interactividad; esdecir, que no se pretende únicamente

Page 25: Polibits vol. 24, 2001 · 2 polibits 2001 Editorial las actividades desarrolladas en el Instituto Politécnico Nacional, sino de otras fuentes de investigación y estudio. Esta es

24 polibits 2001

Uso de Multimedios en la Educación Básica de Ingeniería por Internet

emplear la computadora como me-dio de enseñanza de un lenguaje deprogramación o algún paquete enespecial, sino para cualquier conteni-do a transmitir, en particular las ma-terias básicas en la tecnología.

El papel de la computadora comoinstrumento de ayuda para la adquisi-ción de determinados conocimientosimplica la utilización de un softwarepreviamente elaborado y que se ofre-ce al alumno para alcanzar un objeti-vo determinado. El éxito dependerá,en gran medida, de la calidad delsoftware.

Para lograr esto se requiere que seformen grupos con especialidadesdiferentes. Por ejemplo, un grupopedagógico, un grupo de diseño grá-fico, un grupo para desarrollo decontenidos, y un grupo de programa-dores. Es evidente entonces que elequipo debe ser multidisciplinario.Considerando lo anterior, es factiblerealizar un sistema de este tipo en unlapso de 6 meses, si se dispone de losmedios suficientes.

Como resultado de la aplicaciónde un sistema de este tipo a un grupode 15 alumnos, se obtuvo un 100%de resultados efectivos. Para conse-guir estos resultados es indispensablecontar previamente con los polili-bros; un polilibro no es un pasa pági-na, ni tampoco un libro de texto porinternet. Es una clase planeada, con-siderando que el receptor debe inte-ractuar con la computadora y queesta debe captar la atención del estu-diante, sin llegar a tener distractoresal concepto que se desea aprender.

A pesar de lo atractivo de la idea,un polilibro considera en un principiola corriente conductista, pues la ma-yoría de nuestros alumnos han traba-jado de esta manera, lo que les dificul-ta entender que ellos son los quedeben construir el conocimiento; sinembargo, al final de un polilibro debe-

mos tener un material totalmenteconstructivista.

En un polilibro se requiere utilizarlos multimedios adecuadamente, estoes, sin llegar al abuso. Por ejemplo, siqueremos que el alumno escuche unamelodía para que recuerde al autor dela misma, no es necesario entoncesun micrófono, mas bien necesitare-mos una bocinas, y tal vez un video.

Por otra parte, si queremos que elreceptor del conocimiento aprenda amanejar una bicicleta , lo mejor es queuse una. Por este motivo se consideraque la mejor manera de aprender espracticando, con lo que el conoci-miento adquiere un verdadero signifi-cado para el alumno. El polilibro debeser interactivo y valerse del medioapropiado (bocinas, micrófono, vi-deo, mundos virtuales, simulación,etc); además, no debemos olvidar queeste material no es un sustituto delprofesor, sino más bien un apoyobásico para su trabajo. El alumno nodebe perder el ambiente del salón declase, por esto recomendamos unaeducación semipresencial, es decir, laasistencia a una sesión de trabajo porlo menos una vez a la semana. Estomejora el aprovechamiento de lasinstalaciones, sobre todo consideran-do que cada vez es más difícil atenderla demanda educativa.

CONCLUSIONES

El uso de multimedios en la educa-ción básica a nivel ingeniería no secontempla como un hecho aislado,tal y como ocurre en cualquier aulatradicional, sino como un procesocontinuo, permanente y personal.

La formación multimedia permiteal usuario planificar su horario y pro-grama formativo según sus necesida-des concretas y su disponibilidad detiempo, y puede hacerlo con solotener los medios al alcance.

A diferencia de la pasividad quecaracteriza al alumno asistente a lamayor parte de las clases que seimparten bajo el método tradicional,la formación multimedia está dotadade un alto grado de interactividad ycontinuo «ejercicio» de pasos prácti-cos, proporcionando incluso el atrac-tivo de los video juegos.

Se amplía la capacidad de reten-ción en el usuario, al tratarse de unmétodo extraordinariamente visual einteractivo, donde el alumno es elúnico protagonista. Esto aumenta lamotivación y centra el aprendizaje enobjetivos concretos, reduciendo elmiedo al fracaso.

La capacidad de respuesta delalumno aumenta ya que el usuariorecibe atención personalizada segúnsus necesidades.

Los multimedios permiten queel aprendizaje se dé en un canal depercepción relevante, apoyado porotros canales, además de que el apren-dizaje se desarrolla de acuerdo con lasnecesidades y características de cadausuario. Los multimedios también per-miten un aprendizaje más significati-vo, ya que se aprende haciendo, gra-cias a la interactividad; para esto esnecesaria la aplicación de diversasestrategias basadas no solo en el cons-tructivismo, sino también en el con-ductivismo, ya que no debemos olvi-dar que somos personas diferentes ypor tal motivo con diversas capacida-des para aprender.

Un polilibro debe ser una claseinteractiva que considere el mediomás adecuado para un aprendizajesignificativo, de tal manera que seconstruya un ambiente virtual deaprendizaje, con las características deun salón de clase, y el atractivo de unvideo juego, sin llegar al abuso en laaplicación de los multimedios.

Page 26: Polibits vol. 24, 2001 · 2 polibits 2001 Editorial las actividades desarrolladas en el Instituto Politécnico Nacional, sino de otras fuentes de investigación y estudio. Esta es

XII 1 24 polibits 25

Uso de Multimedios en la Educación Básica de Ingeniería por Internet

BIBLIOGRAFÍA

Ausbel D. (1983) "Psicología Educa-tiva. Un punto de vista", Tri-llas, México.

Carretero, M. (1993) "Constructivis-mo y Educación". EDELVI-VES. España.

Manuel Gandara, (1999) "Introduc-ción al uso de los multime-dios en educación". Direcciónde Educación Continua y aDistancia.

Page 27: Polibits vol. 24, 2001 · 2 polibits 2001 Editorial las actividades desarrolladas en el Instituto Politécnico Nacional, sino de otras fuentes de investigación y estudio. Esta es

26 polibits 2001

Desarrollo de un Manejador de Dispositivo Utilizando el Modelo Windows Driver...

Desarrollo de un Manejador deDispositivo Utilizando el Modelo

Windows Driver Model (wdm) paraWindows 98 y 2000

Desarrollo de un Manejador deDispositivo Utilizando el Modelo

Windows Driver Model (wdm) paraWindows 98 y 2000

E

M. en C. Rubén Peredo Valderrama,Rubén [email protected]

l objetivo de éste trabajo es eldesarrollo de un manejadorde dispositivo que se encargue

del control del puerto paralelo de unacomputadora personal (PC) bajo elesquema de Windows Driver Model(WDM) usado en Windows 98 y Win-dows 2000. Un manejador de dispo-sitivo (Device Driver, DD) proporcio-na una interfase de software para elhardware conectado a una computa-dora. Los programas de usuario tie-nen acceso al hardware de una formaestablecida, sin tener que preocupar-se de los detalles de control del hard-ware; esto es, el manejador del dispo-sitivo oculta las particularidades delacceso al mismo.

Un manejador es un programaque normalmente se vuelve parte delkernel del sistema operativo al mo-mento de la carga, y hace disponiblesuno o más dispositivos a los progra-mas de usuario, representando unapieza de hardware, lógica o física.

En Windows, un manejador siem-pre hace que el dispositivo aparezcacomo un archivo para los programasque quieren utilizarlo. Así, para teneracceso al dispositivo solo se requiereabrir el manejador del mismo, e inte-ractuar con él mediante peticiones delectura y/o escritura.

El modelo compartido de WDMtiene beneficios significativos, ya quesoporta ambas plataformas (w98 yw2000), reduciendo el tiempo de de-sarrollo para los programadores. Tresson los requerimientos para el desa-rrollo de DD con WDM: multiproce-sador, independiente del procesadory Plug and Play(PnP).

Un driver WDM escrito correcta-mente requiere únicamente de unarecompilación para funcionar en unambiente Windows NT (New Tecno-logy), manteniendo compatibilidadhacia atrás.

1. INTRODUCCIÓN

El WDM ha tenido diversasmodificaciones siguiendo el desarro-llo del sistema operativo Windows.Windows 3.1 intentaba dar soporte auna gran canti-dad de contro-ladores SCSI di-ferentes, mien-tras que NT ma-nejaba minipor-ts; Windows 3.1fue lanzado sinsoporte paraminiports SCSI.Se buscaba unmodelo com-partido para losdrivers que co-menzó a funcio-nar con Windo-

ws 95, ya que los miniports SCSI yNDIS son compatibles a nivel binariocon NT. Uno de los beneficios de unmodelo compartido (WDM) es que losprogramadores de DD pueden redu-cir el tiempo de desarrollo en un 50%,además de que está diseñado para sercompatible hacia atrás.

El WDM proporciona un marcode device drivers para Windows 98 y2000. Estos sistemas en aparienciason similares, pero trabajan de mane-ra muy diferente: Windows 98 estabasado en DOS, evolucionando des-de Windows 1.0 y hasta Windows 95,con un enfoque hacia el área decomputadoras de escritorio. Windo-ws 2000 parte de NT y se destinaprincipalmente a equipos servidores.

La figura 1 muestra la arquitectu-ra de Windows 2000. El software sepuede ejecutar en cualquiera de losdos modos; en el modo usuario es

APLICACIONES

WIN32SUBSISTEMA

MODO USUARIO

MODO KERNEL

DEVICEDRIVERS

MANEJADOR I/O

INTERFACEDE SERVICIODEL SISTEMA

LLAMADAS AL WIN32 API

IRQ PASADO A LARUTINA DE DESPACHO

DEL DRIVER

LAYER DE ABSTRACCIÓN DE HARDWARE

HARDWARE

LLAMADAS HAL

OPERACIONES ESPECÍFICAS-PLATAFORMA

Figura 1. Arquitectura de Windows 2000.

Page 28: Polibits vol. 24, 2001 · 2 polibits 2001 Editorial las actividades desarrolladas en el Instituto Politécnico Nacional, sino de otras fuentes de investigación y estudio. Esta es

XII 1 24 polibits

Desarrollo de un Manejador de Dispositivo Utilizando el Modelo Windows Driver...

27

inseguro y restringido a cier-tas actividades, mientras queen modo kernel es totalmen-te confiable y capaz de reali-zar cualquier tarea.

La figura 2 muestra laarquitectura de Windows 98.El kernel se denomina Vir-tual Machine Manager,VMM, porque su trabajo prin-cipal es crear una o másmáquinas virtuales que com-parten el mismo hardwarede la máquina física. El pro-pósito original de un mane-jador virtual de dispositivo(virtual device driver, VxD)en Microsoft Windows 3.0

era tratar en for-ma virtual a undispositivo espe-cífico para ayu-dar a la VMM acrear una simula-ción, de tal for-ma que cada unade las máquinasvirtuales tenga uncomplemento to-tal del hardware.La misma arqui-tectura VMM deWindows 3.0 seutiliza en w98,

pero con unaagrupación paramanejar nuevohardware y apli-caciones de 32-bits.

La figura 3muestra comouna aplicacióntanto WIN32como WIN16 yDOS realiza soli-citudes de I/O enWindows 98. Enla columna de laizquierda se indi-ca como una apli-

cación WIN32 accesa a las solicitudesde I/O por medio de un sistema DLLcomo KERNEL32.DLL. Pero las apli-caciones pueden únicamente usarReadFile para leer archivos de disco,puertos de comunicación, y dispositi-vos que tengan drivers WDM. Paracualquier otra clase de dispositivo,una aplicación debe usar un mecanis-mo basado en Device IoControl.La columna central corresponde auna aplicación WIN16 ejecutando unasolicitud de I/O y en la parte derechase muestra una aplicación DOS eje-cutando una solicitud de I/O.

La figura 4 muestra losdiferentes tipos de driversque maneja Windows2000, los cuales son:

• Virtual Device Driver(VDD), es un componenteen modo-usuario que per-mite a las aplicaciones tipoDOS tener acceso al hard-ware sobre plataformasx86.

• Drivers Modo-Kernel,los cuales incluyen muchassubcategorías. Un driverPlug and Play (PnP) es undriver en modo-kernel que

maneja PnP.

• Driver WDM, es un driver PnPcompatible con Windows 98 yWindows 2000. Dentro de la ca-tegoría de los drivers WDM, tam-bién se distingue entre los driverstipo class y los minidrivers, loscuales proveen ayuda a un driverclass.

• Video drivers: son drivers en modo-kernel para dispositivos de des-pliegue e impresoras; su funciónprincipal es visualizar datos.

• Drivers del sistema de archivos:implementan el modelo de siste-

Figura 2. Arquitectura de Windows 98.

SISTEMA DE MÁQUINAVIRTUAL

APLICACIÓNWINDOWS

MAQUINA VIRTUAL DOS

APLICACIÓN MS-DOS

MANEJADOR DE MAQUINAVIRTUAL

HARDWARE

VIRTUAL DEVICE DRIVERS

MODO USUARIO

MODO KERNEL

APLICACIÓNWIN32

APLICACIÓNWIN16

SISTEMADLL

SISTEMADLL

DRIVER.DRV

APLICACIÓNMS-DOS

DRIVER.SYS

"VIRTUALIZACIÓN" DEVICE DRIVER

MODO USUARIO

MODO KERNEL

RING-0-DRIVER

HARDWARE

SISTEMA DE MÁQUINAVIRTUAL MÁQUINA VIRTUAL DOS

Figura 3. Solicitud de I/O en Windows 98.

VIRTUAL DEVICE DRIVERS(VxD) DRIVERS MODO-KERNEL

DRIVERSFILE SISTEM

DRIVERSLEGACY DRIVERS PnP

DRIVERSVIDEO

DRIVERSWDM

MINIDRIVERSDRIVERSCLASS

Figura 4. Drivers Windows 2000

Page 29: Polibits vol. 24, 2001 · 2 polibits 2001 Editorial las actividades desarrolladas en el Instituto Politécnico Nacional, sino de otras fuentes de investigación y estudio. Esta es

28 polibits 2001

Desarrollo de un Manejador de Dispositivo Utilizando el Modelo Windows Driver...

ma de archivos estándar para laPC en discos duros o sobre co-nexiones de red.

• Legacy device drivers: son mane-jadores en modo-kernel, que di-rectamente controlan un disposi-tivo del hardware sin ayuda deotros drivers. Esta categoría inclu-ye esencialmente drivers para lasprimeras versiones de WindowsNT, que están ejecutándose sincambio en Windows 2000.

2. DESARROLLO DEL TRABAJO Y

TECNOLOGÍA UTILIZADA

2.1 MANEJADOR DE DISPOSITIVO

WDM

Microsoft proporciona varios ma-nejadores genéricos que realizan ta-reas comunes. Los manejadores dedispositivos pueden usar las caracte-rísticas de estos elementos estándar.

La labor de escribir un manejador,por lo tanto, inicia regularmente conla identificación de qué manejadorgenérico se puede usar. Un maneja-dor de bus de bajo nivel puede usarsepara todas las comunicaciones bási-cas con el hardware. Un manejadorde clase intermedia podría proporcio-nar las características que son comu-nes a una categoría completa de dis-positivos.

2.2 EL MODELO DE MANEJADOR

DE WINDOWS (WDM)

El WDM tiene dos aspectos sepa-rados pero igualmente importantes.Primero, este modelo describe la es-tructura estándar para manejadoresde dispositivos; segundo, Microsoftproporciona una serie de manejado-res de bus y clase para dispositivoscomunes.

El modelo WDM describe cómo seinstalan y configuran inicialmente losdispositivos y cómo deben servir a laspeticiones de usuario e interactuarcon el hardware. Un manejador WDMdebe encajar en el sistema Plug andPlay (PnP) que permite a los usuariosconectar dispositivos que pueden con-figurarse por software.

2.2 COMPATIBILIDAD DE CÓDIGO Y

BINARIA

Originalmente, Microsoft estable-ció que los manejadores WDM seríancompatibles a nivel binario entre Win-dows 98 y Windows 2000 x86, ycompatibles en código para Windows2000 en plataformas Alfa. Sin em-bargo, la compatibilidad de binariosno está garantizada.

Es probable que se tengan proble-mas cuando no se usan las herra-mientas para el mismo sistema ope-rativo; esto es, es mejor usar el DDKpara Windows 98 para manejadoresen Windows 98 y el DDK W2000para W2000.

2.3 MANEJADORES ESTILO WDMVS. NT

La principal diferencia en el códi-go del dispositivo de estos dos estilosradica en la forma en que se recono-cen los dispositivos.

En un driver WDM, el Administra-dor Plug and Play avisa cuando seagrega o quita un dispositivo del siste-ma. El administrador Plug and Playusa archivos de instalación INF paraencontrar el manejador correcto parael nuevo dispositivo. En contraste, unmanejador estilo NT tiene que encon-trar sus propios dispositivos, regular-mente en su rutina de inicialización.Este tipo de manejadores usualmentese instalan usando un programa espe-cial.

Los nuevos manejadores de bus yclase sólo están disponibles para losmanejadores WDM. Los manejado-res WDM nuevos y los de NT debensoportar las características de admi-nistración de energía y Administra-ción de Windows.

2.4 COMPONENTES DE UN

MANEJADOR DE DISPOSITIVO

Estas son algunas de las tareas quepuede hacer un manejador de dispo-sitivo:

• Configurarse inicialmente• Crear y borrar dispositivos• Procesar solicitudes Win32 para

abrir y cerrar un manejador dearchivo.

• Procesar solicitudes Win32 deEntrada/Salida

• Serializar el acceso al hardware• Comunicarse con el hardware• Invocar a otros manejadores• Cancelar solicitudes de E/S• Limitar (time-out) peticiones de

E/S• Responder si un dispositivo se

agrega o remueve durante ejecu-ción

• Manejar las solicitudes de admi-nistración de energía.

2.5 ENTRADA/SALIDA BÁSICA

En Win32, el acceso a un disposi-tivo es similar al de un archivo, por loque se usan las mismas funciones,tales como CreateFile, ReadFile, Wri-teFile, etc.

2.6 AMBIENTE

Cualquier número de hebras(Thread) Win32 podrían tener acce-so a un dispositivo en forma simultá-nea, así que el dispositivo debe con-templar este aspecto y ser capaz demanejarlo. Esto involucra tambiénbloquear el acceso al dispositivo para

Page 30: Polibits vol. 24, 2001 · 2 polibits 2001 Editorial las actividades desarrolladas en el Instituto Politécnico Nacional, sino de otras fuentes de investigación y estudio. Esta es

XII 1 24 polibits

Desarrollo de un Manejador de Dispositivo Utilizando el Modelo Windows Driver...

29

que sólo una de estas hebras puedaoperar en forma exclusiva el disposi-tivo en un tiempo determinado. Eneste sentido, ayuda el administradorde I/O del kernel.

PUNTOS DE ENTRADA DEL DISPOSITIVO Y

CALLBACKS

El kernel ejecuta regularmente elcódigo del manejador de dispositivo,enviando IRP (I/O Request Packets).La estructura IRP es fundamental paralos manejadores.

Un manejador tiene un punto deentrada principal, una rutina que debellamarse DriverEntry, la cual tiene unprototipo de función estándar. Cuan-do se carga el driver, el kernel llama ala rutina DriverEntry, y después pue-de invocar a otras rutinas, denomina-das callbacks. Los nuevos manejado-res también pueden proporcionar unainterfase Modelo de Objeto Común(Common Object Model, COM) parael kernel, mediante una serie de ruti-nas que implementa el manejador.

2.7 RUTINAS DE DESPACHO

(D ISPATCH)

La rutina DriverEntry de un mane-jador debe establecer o configuraruna serie de callbacks para procesarIRP. Además, debe establecer las ru-tinas Unload, AddDevice y StartIo, sise necesitan.

En la tabla 1 se muestran lasfunciones de dispositivo de I/O co-munes en Win32 y sus IRP correpon-dientes.

Los manejadores (handlers) paralas IRP de la tabla 1 se llamancomúnmente rutinas de despacho (dis-patch routines), porque con frecuen-cia solo realizan algún proceso inicialdel IRP, como por ejemplo, validarlos parámetros.

2.8 MANEJADORES

Los manejadores pueden gene-rarse en versiones "free" (release ) o"checked" (debug). La versión freedebe ser la versión final, es decir, laque ya no tiene símbolos de depura-ción. La versión checked es la versiónde depuración y que no está optimiza-da, e incluye símbolos de depuración.

El Driver Development Kit (DDK)de Microsoft genera ambos ambien-tes para la compilación y el enlace,como se muestra en la figura 5.

2.9 LENGUAJE Y BIBLIOTECAS

Un manejador es una Bibliotecade Enlace Dinámico (Dynamic LinkLibrary, DLL) con la extensión .sys.Comúnmente está escrito en C oC++ y puede incluir recursos talescomo un bloque de versión, mensajesde eventos y definiciones de clase de

Instrumentación de Administraciónde Windows. En Windows 98, el bi-nario de un manejador debe tener unnombre de 8.3, es decir de 8 caracte-res como máximo y la extensión .sys.

No debe usarse la palabra clavenew de C++, ya que ésta puede estarimplementada usando malloc, queno está disponible para los dispositi-vos en modo kernel.

2.10 DRIVER DEVELOPMENT KIT

Microsoft recomienda usar el Dri-ver Development Kit (DDK) [3] parael desarrollo de manejadores de dis-positivos. Esta es una herramientaque contiene documentación acercade la elaboración de éste tipo deprogramas, así como algunas herra-mientas muy útiles para la compila-ción y el enlace de los programas; esútil también porque maneja algunascaracterísticas que facilitan la genera-ción del manejador. El DDK trabajaconjuntamente con Visual C++ y espor ello que para su instalación serequiere que dicho programa estépreviamente instalado.

En general, existen versiones deDDK para cada una de las versionesde Windows que Microsoft ha libera-do. Es recomendable usar el DDK quecorresponda a la versión de Windowsque se esté utilizando; la razón es quealgunas características del kernel hansufrido cambios importantes de ver-

Tabla 1. Función Win32 IRP

CreateFileCreate

CloseHandleClose IRP

ReadFile, etc.Read IRP

WriteFile, etc.Write IRP

DeviceIoControl IOCTLIRP

IOCTL IRP interna Figura 5. DDK Instalado.

Page 31: Polibits vol. 24, 2001 · 2 polibits 2001 Editorial las actividades desarrolladas en el Instituto Politécnico Nacional, sino de otras fuentes de investigación y estudio. Esta es

30 polibits 2001

Desarrollo de un Manejador de Dispositivo Utilizando el Modelo Windows Driver...

Dispatch.cpp \Pnp.cpp \DeviceIo.cpp \DebugPrint.c \pparalel.rc

NTTARGETFILES=PostBuildSteps

Esto le indica a la utilería build quedebe construirse un manejador WDMde nombre pparalel, que se pondráen el directorio OBJ. Se incluye la rutadel directorio inc del DDK para quebusque también archivos de cabeceraque puedan requerirse. Luego se lis-tan los archivos que deberán compi-larse. NTTARGETFILES especifica al-gunos pasos posteriores a la cons-trucción del manejador.

2.15 LOS DIRECTORIOS

En Windows 98 y en WindowsNT, la herramienta build siempre ponelos archivos objeto en el directorioOBJ\i386 para arquitecturas x86

La macro TARGETPATH del ar-chivo SOURCES especifica dónde sealojará el archivo ejecutable final. Sise especifica OBJ, entonces el ejecu-table estará en los directoriosOBJ\i386\free y OBJ\i386\checked, se-gún sea el caso.

comandos ejecutar para actualizar unproyecto. Por ejemplo, la tabla 2muestra que si e l programaprueba.cpp se actualiza, entonces secompila en el archivo prueba.obj usan-do el compilador cc. prueba.obj seenlaza para crear prueba.exe usandoel programa link.

2.14 ARCHIVO SOURCES (FUENTES)

La utilería build busca un archivode macroinstrucciones llamado SOUR-CES en el directorio actual, en el quese especifica qué es lo que se va aconstruir.

Por ejemplo, para el caso de nues-tro manejador, el archivo SOURCEScontiene lo siguiente:

TARGETNAME=pparalel TARGETTYPE=DRIVERDRIVERTYPE=WDMTARGETPATH=OBJ INCLUDES=$(BASEDIR)\inc;SOURCES= Init.cpp \

sión a versión y, en un momentodado, es posible encontrarse con al-gunos problemas.

2.11 ALGUNAS RECOMENDACIONES

PARA EL CÓDIGO

Es recomendable hacer el códigotan sencillo como se pueda y docu-mentarlo bien. Se deben tratar todaslas advertencias como si fueran erro-res a corregir. También hay que ase-gurarse el cálculo de los valores deretorno para todas las funciones delkernel en uso; se debe tener cuidadoen la manera de usar los recursos delkernel.

2.12 LA UTILERÍA BUILD

La utilería build de línea de co-mandos del DDK es la herramientapara construir manejadores. Esta lla-ma a la utilería nmake para construirel manejador usando las configura-ciones adecuadas del compilador ydel enlazador.

Para esto, debe crearse un archivoSOURCES, un archivo makefile, laestructura de directorio y, opcional-mente, los archivos makefile.inc ydirs.

La utilería build despliega los deta-lles del proceso y los errores en lasalida estándar. Además, genera unalista de los errores en un archivollamado build.err, las advertencias enbuild.wrn y una bitácora en build.log.

En la figura 6 se muestra elambiente que genera el DDK para laconstrucción de los manejadores.

2.13 ARCHIVOS MAKEFILE

La utilería nmake usa el archivomakefile, en el que se encuentran lasinstrucciones que determinan qué

Figura 6. Ambiente del DDK.

Tabla 2. Archivo makefile

prueba.exe:prueba.objlink -o prueba.exeprueba.obj

prueba.obj:prueba.cppcc prueba.cpp

Page 32: Polibits vol. 24, 2001 · 2 polibits 2001 Editorial las actividades desarrolladas en el Instituto Politécnico Nacional, sino de otras fuentes de investigación y estudio. Esta es

XII 1 24 polibits

Desarrollo de un Manejador de Dispositivo Utilizando el Modelo Windows Driver...

31

sis cuadrados, y luego el conte-nido de la sección. Cada líneatiene una entrada simple o asig-na un valor. Las secciones pue-den estar en cualquier orden; aveces puede ser importante elorden de las líneas dentro deuna misma sección. Los co-mentarios se escriben despuésdel punto y coma.

SECCIONES ESTÁNDAR

VERSIÓN

Regularmente se encuentra al ini-cio del archivo INF y contiene

En Windows 2000, build mantie-ne separados los archivos objeto freey checked. Si la variable TARGETPA-TH es OBJ, los archivos objeto de laversión free x86 y el manejador finalestarán en el directorio OBJ-FREE\i386y en OBJCHK\i386 para el caso de laversión checked.

En la figura 7 se muestra elproceso de compilación de nuestromanejador pparalel, usando la herra-mienta build.

2.16 ARCHIVOS INF

Un archivo INF contiene toda lainformación necesaria para instalarun manejador de dispositivo WDM.Esto incluye la lista de los archivos acopiar, las entradas que deben apare-cer en el registro de Windows, etc.

Windows proporciona un instala-dor estándar para la mayoría de lasclases de dispositivos y un instaladorpor omisión, el cual procesa archivosINF.

Un archivo INF es un archivo detexto que se parece a los archivos INI.Tiene secciones, cada una de las cua-les inicia con una línea que contienesu nombre encerrado entre parénte-

información sobre la versión delmanejador.

STRINGS

Esta sección define cadenas quese sustituyen en alguna otra partedel archivo.

2.17 INSTALACIÓN DEL MANEJADOR

Para instalar el manejador crea-do, es recomendable copiar el perfilde hardware que se está usando paratener un respaldo y poder realizarmodificaciones (ver figuras 8 y 9).

Para modificar la copia del perfilde hardware, al que hemos llamadoPTO-Paralelo, es necesario reiniciarla máquina e iniciar con éste perfil de

hardware. Al reiniciar, Windows en-contrará dos perfiles de hardware ysolicitará que se elija con cual debeiniciar, en este caso PTO-Paralelo.Después, en el Panel de Control,debe eliminarse el manejador que yaestá controlando dicho puerto, comose muestra en las figuras 10 y 11.

En este momento ya puede insta-larse el manejador elaborado;para elloes necesario usar la opción Agregarnuevo hardware del Panel de Control(figura 12).

Ahí debe indicársele a Windowsque el dispositivo y el controladorserán indicados por el usuario, paraevitar que Windows los busque. Win-dows indicará que falta un controla-dor para el puerto paralelo y mostra-rá dicho dispositivo. Debe indicárseleque no instale al dispositivo, pues delo contrario, utilizará su manejador

Figura 7. Proceso de compilación del manejador pparalel con build.

Figura 9. Copiado del perfil de hardware.

Figura 8. Perfiles de hardware delsistema.

Page 33: Polibits vol. 24, 2001 · 2 polibits 2001 Editorial las actividades desarrolladas en el Instituto Politécnico Nacional, sino de otras fuentes de investigación y estudio. Esta es

32 polibits 2001

Desarrollo de un Manejador de Dispositivo Utilizando el Modelo Windows Driver...

Podemos observar al reiniciar, queen el Panel de Control, en la parte deSistema y en la de Administrador deDispositivos, se encuentra ya instala-do el nuevo manejador (figura19).

2.18 PRUEBA DEL MANEJADOR

PARA PUERTO PARALELO BAJO

AMBIENTE DOS EN WINDOWS 98

En este caso, se elaboró un pro-grama sencillo que sólo envía datos alpuerto paralelo y puede observarse lasalida en una serie de LED conecta-dos a él (figura 20). El código delprograma se muestra en la tabla 3 .

por omisión, como se muestra en lasfiguras 13 y 14.

Al seleccionar el dispositivo, debeindicarse que se trata de Otros Dispo-sitivos, como se muestra en la figura15.

En el siguiente cuadro de diálogo,figura 16, hay que elegir que se useun disco y entonces se elige el direc-torio en el que se encuentre el archivo*.inf correspondiente. Este archivo esel que contiene información impor-tante para que Windows sepa de quétipo de manejador se trata, el nom-bre, la ubicación, etc.

Aparecerá entonces, un cuadrode diálogo con los manejadores paralos cuales se encontraron archivos.inf. Se elige entonces la versión chec-ked del manejador CIC-IPN (figura17), mostrándose los recursos que elmanejador usará (figura 18).

Una vez hecho esto, el manejadorya está instalado y es necesario arran-car nuevamente el sistema para quelos cambios tomen efecto.

Figura 10. Administrador dedispositivos del sistema.

Figura 11. Eliminación delmanejador actual del puerto

paralelo del sistema.

Figura 12. Panel de control,agregar nuevo hardware.

Figura 13. Asistente: Agregarnuevo hardware.

Figura 14. Asistente: Agregarnuevo hardware-seleccionar.

Figura 15. Asistente: Agregarnuevo hardware-otros dispositivos.

Figura 16. Asistente: Agregarnuevo hardware-usar disco.

Figura 17. Selección del manejadorCIC-IPN para puerto paralelo.

Page 34: Polibits vol. 24, 2001 · 2 polibits 2001 Editorial las actividades desarrolladas en el Instituto Politécnico Nacional, sino de otras fuentes de investigación y estudio. Esta es

XII 1 24 polibits

Desarrollo de un Manejador de Dispositivo Utilizando el Modelo Windows Driver...

33

2.19 PRUEBA DEL MANEJADOR

PARA PUERTO PARALELO BAJO

AMBIENTE WINDOWS

Este programa es similar al ante-rior, ya que envía datos al puertoparalelo y se observa la salida en unaserie de LED. Es importante mencio-nar que se elaboro el programa utili-zando C++Builder de Borland. Laejecución del programa se muestraen la figura 21 y el listado del mismose incluye en la tabla 4.

3. SUMARIO

Este trabajo desarrolló un maneja-dor de dispositivo que se encarga delcontrol del puerto paralelo de una PCbajo el nuevo esquema de WindowsDriver Model(WDM) usado en Win-dows 98 y Windows 2000.

El modelo compartido de WDMtiene beneficios significativos, ya quesoporta ambas plataformas reducien-do el tiempo de desarrollo para losdesarrolladores de Device Driver(DD).Tres son los requerimientos para eldesarrollo de un DD WDM: multipro-

cesador, debe ser independiente delprocesador y PnP; pero un driverWDM escrito correctamente requiereúnicamente una recompilación parafuncionar en un ambiente NT 64-bits,ya que WDM mantiene la compatibi-lidad hacia atrás.

Se utilizo DDK de Microsoftpara el desarrollo de este manejador,además de que fué necesario instalarVisual C++. Así mismo, se utilizaronvarias herramientas adicionales delDDK, como son:

• Build• Makefile• Inf• Sources

Una vez terminado el manejadorfue necesario darlo de alta en el SO,y posteriormente se realizaron dosprogramas sencillos para pruebas delmanejador, uno en DOS y otro bajoambiente Windows.

El proceso de elaboración de unmanejador WDM es más complicadoque utilizar los puertos en un progra-

Figura 18. Recursos asignados porel SO para el manejador CIC-IPN.

Figura 19. Administrador dedispositivos: manejador para el

puerto paralelo CIC-IPN.

Tabla 3. Código de comunicación con elmanejador

do{ printf("Dato a transmitir ( 1 <= dato <=255 ) (0 = terminar): "); scanf("%d",&dato); while((dato<0 || dato>255) && dato!=-1) { printf("Dato no válido. Introduzcanuevamente el número: "); scanf("%d",&dato); } EnviarByte[2]=dato; if(DeviceIoControl(hWdmIo,IOCTL_PHDIO_RUN_ CMDS,EnviarByte,length(EnviarByte),&num,1, &BytesReturned, NULL)) { printf("Comandos en EscribeBytealmacenados. OK."); } else{printf("XXX falló el almacenamiento decomandos EscribeByte %d\n",GetLastError());}

Figura 20. Prueba del nuevomanejador del puerto paralelo

(ventana DOS).

Figura 21. Prueba del nuevomanejador del puerto paralelo

(Windows).

Tabla 4. Código de comunicación con elmanejador

// ABRE EL PUERTOhComm = CreateFile("LPT1",GENERIC_READ | GENERIC_WRITE,0,0,OPEN_EXISTING,0,0);

Page 35: Polibits vol. 24, 2001 · 2 polibits 2001 Editorial las actividades desarrolladas en el Instituto Politécnico Nacional, sino de otras fuentes de investigación y estudio. Esta es

34 polibits 2001

Desarrollo de un Manejador de Dispositivo Utilizando el Modelo Windows Driver...

ma en lenguaje C. Pero los beneficiosson que un pequeño programa en Cen los diferentes Windows utilizandoel puerto paralelo no funciona, mien-tras que el utilizar DDK y el nuevomodelo WDM funciona adecuada-mente en Windows y manteniendoun control de la tarjeta vía el puertoparalelo.

Actualmente, el desarrollo de es-tos manejadores en el área de inge-niería de hardware es de gran impor-tancia, ya que los diseñadores detarjetas requieren una interfaz ya nocon DOS sino con Windows. Final-mente, el presente trabajo muestra eldesarrollo de un manejador para elpuerto paralelo, mostrando todos lospasos y herramientas necesarias paraun buen desarrollo y pruebas necesa-rias para su buen funcionamiento.

4. BIBLIOGRAFÍA

[1] “Writing Windows WDM De-vice Drivers”, Chris Cant, R&DBooks.

[2] “Programming the MicrosoftWindows Driver Model”, Wal-ter Oney, Microsoft Press.

5. REFERENCIAS

[1] http://msdn.microsoft.com

[2] http://msdn.microsoft.com/msdnmag

[3] http:/www.microsoft.com/ddk

Page 36: Polibits vol. 24, 2001 · 2 polibits 2001 Editorial las actividades desarrolladas en el Instituto Politécnico Nacional, sino de otras fuentes de investigación y estudio. Esta es

OBSERVACIONES

Si te interesa contribuir con algún comentario o sugerencia, el ConsejoEditorial de la Revista Polibits agradecerá utilices este espacio, y lo remitas a:

Centro de Innovación y Desarrollo Tecnológico en CómputoConsejo Editorial Revista POLIBITSAv. Té No. 950, Edificio de Graduados 2o. piso.Colonia Granjas México. C.P. 08400México D. F.� 5624-2019, 5624-2018, 5624-2000 ext. 70261

5624-2019 e-mail [email protected]

Si tu contribución es un artículo, favor de enviarlo por e-mail y anexar lossiguientes datos: Nombre del autor, Grado Académico e Institución o Empresade procedencia.

FAX