Lenguaje de Interfaz Unidad IV

INSTITUTO TECNOLÓGICO DE DELICIAS INGENIERIA EN SISTEMAS COMPUTACIONALES LENGUAJES DE INTERFAZ. Unidad 4 PROGRAMACION D

Views 74 Downloads 0 File size 871KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

INSTITUTO TECNOLÓGICO DE DELICIAS INGENIERIA EN SISTEMAS COMPUTACIONALES LENGUAJES DE INTERFAZ.

Unidad 4 PROGRAMACION DE DISPOSITIVOS. CATEDRATICO. Lic. Raúl Vázquez Tiscareño.

a 19 de Mayo del 2013, Cd Delicias Chihuahua.

INDICE. Introducción

3

Programación de dispositivos 4.1 El buffer de video en modo texto. 4.2 Acceso a discos en lenguaje ensamblador. 4.3 Programación del puerto serial. 4.4 Programación del puerto paralelo. 4.5 Programación híbrida. 4.6 Programación de puerto USB. Conclusión Bibliografías.

4 4 7 25 29 38 39 44 45

2

INTRODUCCION. En este documento se van a tratar temas de interés para el ámbito de lenguajes de interfaz que se enfocan a la programación de dispositivos las herramientas de modo de texto en este caso se utilizan para el despliegue de mensajes en lenguaje ASCII y así como este ejemplo se muestran los diferentes comandos para despliegues y las interrupciones necesarias que se usan en un ensamblador. A través de diversas tablas se hace un desglose de cada una de las referencias de las interrupciones y se muestran parámetros.

3

PROGRAMACIÓN DE DISPOSITIVOS. 4.1. El buffer de video en modo texto. Modo texto. El modo de texto se utiliza para el despliegue normal en la pantalla de caracteres ASCII. El procesamiento es semejante tanto para el monocromático como a color, salvo que a color no permite el atributo de subrayado. El modo texto proporciona acceso a todo el conjunto de 256 caracteres ASCII extendido. La figura 10-1 muestra los modos de texto comunes, con el número de modo ala izquierda. Modo de texto 00(mono) 01 (color).estos modos permiten usar un formato de 40 columnas. Aunque fueron diseñados originalmente para el CGA, son compatibles los siguientes y también operan con funciones en sistemas EGA y VGA. Modo de texto 02(mono) 03 (color). Estos modos proporcionan el formato convencional de 80 columnas. Aunque fueron diseñados originalmente para el CGA, son compatibles los siguientes y también operan con funciones en sistemas EGA y VGA. Modo de texto 07(mono).Este modo estándar monocromático para MDA, EGA y VGA, ofrece respetables soluciones en pantalla.

4

Despliegue monocromático Para un monitor monocromático, el bit 0 establece el atributo subrayado. Para especificar atributos, puede establecer combinaciones de bits como se muestra a continuación:

5

Despliegue a color En muchos monitores a color, el fondo puede mostrar uno de 8 colores y los caracteres pueden mostrar 1 de 16 colores. La intermitencia e intensidad soplo se aplica al primer plano. También puede seleccionar 1 de 16 colores para el borde (marco).Los monitores de color no permiten subrayado; en lugar de esto, al establecer un bit en cero seleccione el color azul como primer plano. El byte de atributo e sutilizado de la misma manera como se mostro con un monitor monocromático. Los tres colores básicos son verde rojo y azul. Puede combinarlos en el byte de atributo para formar un total de 8 colores (incluyendo blanco y negro) y puede establecer alta intensidad para un total de 16 colores.

6

4.2. ACCESO A DISCOS EN LENGUAJE ENSAMBLADOR . En modo real de sistemas operativos, como MS-DOS , llamada INT 13h saltaban en código ROM-BIOS de la computadora para los servicios de disco de bajo nivel , lo que llevará a cabo las operaciones de lectura de disco basado en el sector físico o escribir para el programa. En MS-DOS, que sirve como interfaz de bajo nivel para los controladores de dispositivos de bloque internas para discos duros y disquetes . Esto permite a 26h y de 25h INT INT para proporcionar absoluta disco de lectura / escritura de funciones lógicas a los sectores de la FAT sistema de archivos del controlador en el kernel de DOS, que atiende las solicitudes relacionadas con los archivos a través de MS-DOS API ( INT 21h funciones). En modo protegido sistemas operativos, como Microsoft Windows NT derivados (por ejemplo, NT4, 2000, XP y Server 2003) y Linux con dosemu , las intersecciones utilizar la llamada y pasa al disco nativo del sistema operativo mecanismo de entrada / salida. Windows 9x y Windows para Trabajo en Grupo 3.11 también omitir las rutinas del BIOS cuando se utiliza acceso a archivos de 32 bits . El modo real interfaz original BIOS INT 13h admite unidades de tamaños de hasta aproximadamente 504 MB, mediante lo que se conoce comúnmente como CHS direccionamiento físico. Este límite se origina a partir de la interfaz de hardware de la PC / IBM XT hardware del disco. El BIOS usa el -sector-culata (CHS) dirección indicada en la llamada INT 13h, y se transfieren directamente a la interfaz de hardware. Esta interfaz más tarde se amplió para admitir el direccionamiento de hasta exactamente 8064 MB utilizando lo que se conoce comúnmente como CHS direccionamiento lógico. Este límite se origina de una combinación del valor de registro basado convención de llamada utilizado en la interfaz INT 13h, y el objetivo de mantener la compatibilidad con versiones anteriores. Había originalmente una serie de BIOS que ofrecían versiones incompatibles de esta interfaz, pero con el tiempo la industria informática estandarizada en la interfaz desarrollada en la investigación Microid ("MR BIOS") en 1989. Este límite se utiliza 1024 cilindros, 256 cabezales, 63 sectores y bloques de 512 bytes, lo que más o menos 7.875 GB de direccionamiento (1024 * 256 * 63 * 512). Para apoyar los modos de direccionamiento aún más grandes, una interfaz conocida como extensiones INT 13h se introdujo por Western Digital y Phoenix Technologies como parte de BIOS Enhanced Disk Drive

7

Servicios. Se utiliza 64 bits direccionamiento lógico de bloques (LBA), que permite hacer frente a 8 ZiB (la unidad también puede soportar LBA de 28 bits o de 48 bits que permite que hasta 128 GiB o 128 PiB respectivamente, suponiendo un sector de 512 bytes / tamaño de bloque). Esta es una interfaz de paquetes, ya que utiliza un puntero a un paquete de información en lugar del registro basado convención de llamada de la interfaz INT 13h originales. Este paquete es una estructura de datos que contiene una versión de la interfaz, tamaño de los datos, y LBA. Todas las versiones de MS-DOS , como MS-DOS 7 y de Windows 95 contienen un error que impide que se inicie discos duros con 256 cabezas (registrarse valor 0xFF), [ 2 ] tantas mapas modernos del BIOS que las unidades tienen en la mayoría de las 255 cabezas . También algunos controladores de caché se lave sus reservas cuando se detecta que MS-DOS se pasa por alto por las aplicaciones que las cuestiones directamente peticiones INT 13h. BIOS AMI de alrededor de 1990-1991 basura palabra buffers no alineados. Algunos MS-DOS y TSR programas clobber interrumpir la activación y registros para PC-DOS y MSDOS instalan sus propios filtros para evitar esto.

CARTA DE SERVICIOS INT 13h Tabla Drive.

DL = 00h

Primero disquete ("la unidad A:")

DL = 01h

Segundo disco ("unidad B:")

DL = 80h

Primero el disco duro

DL = 81h

Disco duro segundo

TABLA DE FUNCIONES.

8

AH = 00h

Cambiar las unidades de disco

AH = 01h

Ver estado de la última operación Drive

AH = 02h

Leer Sectores de la unidad

AH = 03h

Escribe Sectores para conducir

AH = 04h

Verifique Sectores

AH = 05h

Formato de pista

AH = 06h

Formato de pista Set Flags Bad Sector

AH = 07h

Formato de la unidad a partir de la canción

AH = 08h

Leer parámetros del variador

AH = 09h

HD

Inicializar controlador de disco

AH = 0Ah

HD

Leer Sectores largo de la unidad

AH = 0Bh

HD

Escribe Sectores largo para conducir

AH = 0Ch

HD

Mueva Head Drive al cilindro

AH = 0Dh

HD

Cambiar las unidades de disco

AH = 0Eh

PS / 2

Controller Leer Ensayo

AH = 0Fh

PS / 2

Controlador Escribir prueba

9

AH = 10h

HD

Probar si la unidad está lista

AH = 11h

HD

Vuelva a calibrar Drive

AH = 12h

PS / 2

Controlador de memoria RAM de prueba

AH = 13h

PS / 2

Test Drive

AH = 14h

HD

Controlador de Diagnóstico

AH = 15h

Leer Tipo de unidad

AH = 16h

FD

Detectar Medios Change

AH = 17h

FD

Configurar el tipo de Formato (utilizado por las versiones de DOS = 3.2)

AH = 19h

Parque Heads

AH = 41h

EXT

Comprobar si las extensiones están disponibles

AH = 42h

EXT

Leer Sectores de la unidad

AH = 43h

EXT

Escribe Sectores para conducir

AH = 44h

EXT

Verifique Sectores

AH = 45h

EXT

Bloquear / Desbloquear unidad

AH = 46h

EXT

Expulsión de la unidad

10

AH = 47h

EXT

Mueva Head Drive To Sector

AH = 48h

EXT

Leer parámetros del variador

AH = 49h

EXT

Detectar Medios Change

Si la segunda columna está vacía, entonces la función puede ser utilizado tanto para disquete y duro. FD: para disquete solamente.  HD: de disco duro solamente.  PS / 2: para el disco duro en el sistema PS / 2 solamente.  EXT: parte de las extensiones INTERNAS 13H que estaban escritas en la década de 1990 para apoyar a los discos duros con más de 8 GB . INT 13h AH = 00h: Restaurar la unidad de disco 

Parámetros: AH

00h

DL

Conducir

Resultados: CF

Ubicado en error

INT 13h AH = 01h: obtener el estado de la última operación Drive

11

Parámetros: AH

01h

DL

Conduzca $

$ Bit 7 = 0 para la unidad de disquete, bit 7 = 1 para la unidad fija Resultados: Alabama

Vuelva Código 00h Éxito 01h Comando no válido 02h No puedo encontrar la dirección Marcos 03h Escribir intentado en tu disco protegido 04h Sector no encontrado 05h Restablecer Error 06h Línea de cambio de disco "activa" 07h Actividad parámetro Error de la unidad 08h DMA rebasamiento 09h Intento de DMA sobre 64kb límite 0Ah Sector defectuoso detectado 0Bh Mala cilindro (pista) detecta 0Ch Tipo de medio no se encuentra 0Dh No válido número de sectores 0Eh Control de marca de dirección de datos detecta 0Fh DMA fuera de rango 10h Error de datos CRC / ECC 11h ECC corrige error de datos 20h Fallo del controlador 40h Busque el fracaso 80h Conduce el tiempo de espera, que se supone no está listo AAh Drive not ready BBH Error indefinido CCh Escribe fallo E0h Error de estado FFh Operación Sense no

CF

Set On Error, Borrar Si No Error

INT 13h AH = 02h: leer sectores desde la unidad Parámetros:

12

AH

02h

Alabama

Sectores Para Leer Conde

CH

Rastrear

CL

Sector

DH

Cabeza

DL

Conducir

ES: BX

Tampón de dirección del puntero

Resultados: CF

Set On Error, Borrar Si No Error

AH

Vuelva Código

Alabama

Sectores reales Leer Conde

Observaciones: Registro CX contiene tanto el número de cilindro (10 los bits , los valores posibles son 0 a 1023) y el número de sector (6 bits, los valores posibles son 1 a 63). Pedacitos del cilindro y del Sector se numeran a continuación: CX = CH --- --- --- CL --cilindro: 76543210 98 sector: 543210

Ejemplos de traducción:

13

CX: = ((cilindro y 255) SHL 8) o ((cilindro y 768) SHR 2) o sector; cilindro: = ((CX y 0xFF00) shr 8) o ((CX y 0xC0) SHL 2) sector: = CX y 63;

Direccionamiento de amortiguamiento debe garantizar que el buffer completo se encuentra dentro del segmento dado, es decir, (BX + size_of_buffer) Inicio > Computadoras e Internet Un puerto USB es una entrada o acceso para que el usuario pueda compartir información almacenada en diferentes dispositivos como una

38

cámara de fotos, un pendrive, entre otros, con un computador. Las siglas USB quieren decir Bus de Serie Universal en inglés. En 1996, IBM, Intel, Northern Telecom, Compaq, Microsoft, Digital Equipment Corporation y NEC, siete empresas relacionadas al mundo de la tecnología y las comunicaciones crearon esta nueva forma de conectar diversos dispositivos a un solo servidor. De esta manera se fue dejando atrás los antiguos puertos en paralelo y serial y se aumentó la velocidad de trabajo de los dispositivos a 12 mbps en promedio. Los equipos de Windows se adaptaron rápidamente a esta nueva tecnología, a lo que más tarde se sumaron los aparatos Macintosh. Los aparatos conectados a un puerto USB estándar no necesitan estar enchufados a la corriente o disponer de baterías para funcionar. El propio puerto está diseñado para transmitir energía eléctrica al dispositivo conectado. Incluso puede haber varios aparatos conectados simultáneamente, sin necesidad de recurrir a una fuente de alimentación externa. Una de sus principales características es su capacidad plug & play. Este concepto se refiere a la cualidad de que con sólo conectar el dispositivo al servidor central, éste sea capaz de interpretar la información almacenada y reproducirla inmediatamente. Es decir, que el computador y el aparato hablen el mismo idioma y se entiendan entre sí. Además, este sistema permite conectar y desconectar los diferentes dispositivos sin necesidad de reiniciar el equipo. Esta forma de conexión también ha ido evolucionando en el tiempo. Desde 1996 ha mejorado su velocidad de transferencia de los datos de 12 mbps a 480 mbps. Lo último en esta tecnología es una extensión llamada ‘USB on the go’ que consiste en un puerto que puede actuar tanto de servidor como de dispositivo. Esto dependerá de la manera en que se conecta el cable. La masificación de los puertos USB es cada día mayor. Además de la mejora en la velocidad de transferencia y su cualidad plug & play, su capacidad de conectar los aparatos es muy simple y no requiere de instalaciones complejas ni de intervenir en el hardware de los computadores. Hoy en día, es común que los discos duros traigan incorporados varios puertos USB para facilitar la conectividad de los aparatos.

39

¿CUÁLES SON LAS DIFERENCIAS ENTRE USB 1.0, 1.1, 2.0, 3.0 Y THUNDERBOLT?

Algunas tecnologías cambian nuestra forma de trabajar con el PC. Esto es lo que ha ocurrido con el estándar USB. Gracias a él, podemos tener un cable que puede ser usado tanto para copiar películas o documentos a un disco duro externo como para conectar cámaras, escáneres o impresoras. El estándar USB ha experimentado una gran evolución en sus características. Lo cual ha llevado a que surjan varios estándares a lo largo de los años: USB 1.0. El primero en aparecer. Pensado para funcionar con teclados, ratones y dispositivos que en principio necesitan de un ancho de banda pequeño. Permite trabajar a una velocidad aproximada de 1.5 Megabits por segundo. Tardaría aproximadamente 6 horas en copiar una película en MKV de 4 Gigas. Aparece en el año 1996.

40

USB 1.1. Como no podría ser de otra forma no tarda mucho en diseñarse otro estándar que supera al anterior. En este caso su velocidad se multiplica por 8 hasta los 12 Megabits por segundo. Tardarias 45 minutos en conseguir copiar esa misma película. Estamos ya en 1998. USB 2.0. Es en este en el que tenemos el mayor salto cuantitativo. Vamos a mejorar la velocidad en 40 veces y llegar a los 480 Megabits por segundo. La misma película del ejemplo anterior tardaría poco más de 1 minuto en copiarse. Estamos ya en el año 2000. Es muy común encontrarte PCs que incorporan ambos puertos USB 1.x y 2.0 luego es muy importante conocer a cual estas conectando tus dispositivos sobre todo si vas a realizar copias de archivos muy grandes. USB 3.0. Aparece en 2008. Multiplica la velocidad hasta 4.8 Gigabits, es decir multiplicamos ahora por 10. La misma película tardaría apenas unos 10 o 15 segundos en copiarse. Ahora el problema, por primera vez, no es el cable si no que el disco duro o dispositivo que conectes sea tan rápido para poder funcionar a esa velocidad. Además, como el cable USB cada vez es usado con más asiduidad para la carga de dispositivos se aumenta la cantidad de energía que este es capaz de proporcionar. Al USB 3.0 y en el ámbito de los discos duros externos le aparece un competidor, el estándarSATA 3.0. En este caso lo que se hace es poner un conector en el gabinete o caja de tu PC que conecta directamente a la placa base. La diferencia en velocidad entre un disco duro externo e interno se diluye. La interfaz SATA 3.0 es capaz de funcionar a 6 Gigabits por segundo. Thunderbolt. El estándar USB ha conseguido lo que su propio nombre indica convertirse en universal para casi cualquier tipo de dispositivo que se conecte al PC. Pero hay uno que definitivamente se resiste a esto y es el monitor. Thunderbolt es la creación de Intel y Apple para dar respuesta a esto. Entre sus características esta la posibilidad de conectar varios monitores al mismo cable. Otro de sus avances es su capacidad de llevar internamente una línea PCI Express. Esto te permite, entre otras cosas, que tengas una tarjeta gráfica externa a tu equipo que funcione como si estuviera conectada internamente, muy útil si quieres tener un laptop que utilices para jugar en tu casa y quieres la mayor autonomía posible cuando viajas con él.

41

En este caso estaríamos hablando de velocidades aproximadas de 20 Gigabits por segundo.

CONCLUSION. La programación de dispositivos es de gran importancia hoy en día para las diversas tecnologías que existen dentro de los últimos años los dispositivos móviles se han establecido como una parte importante del acceso a la información y aplicaciones estos dispositivos han dejado de ser simples agendas electrónicas o teléfonos celulares para convertirse en pequeñas computadoras. Se deben de tomar en cuenta las diversas interrupciones que hay con sus parámetros correspondientes. Es indispensable usar las herramientas de desarrollo y emuladores.

BIBLIOGRAFÍAS. http://en.wikipedia.org/wiki/INT_13H http://hgr.tripod.com/puertos_ensamblador.html http://arantxa.ii.uam.es/~gdrivera/varios/notas_lpt.htm http://es.scribd.com/doc/44098211/programacion-hibrida http://www.slideshare.net/gabohp12/equipo-6-programacion-hibrida http://www.cavsi.com/preguntasrespuestas/que-es-un-puerto-usb-ypara-que-sirven/ http://www.misrespuestas.com/que-es-un-puerto-usb.html http://www.itescam.edu.mx/principal/webalumnos/sylabus/asignatura.p hp?clave_asig=SCC-1014&carrera=ISIC-2010-224&id_d=170

42