CUESTIONARIO UNIDAD 02

jueves, 29 de octubre de 2009

CUESTIONARIO UNIDAD 02

HOLA CUACHAS AQUI ESTA LA CALAVERA

En el blogg de arquitectura
La huesuda esta rondando
Nos vigila con su laptop
Y tambien anda pisteando

En la tumba con Bañuelos
La calaca esta bailando
Pues de Ares multimedia
Sus canciones esta bajando

Hay muerte que jalaste
Con los chichos del instituto
Pisteando te los llevaste
Y hoy el blogg esta de luto

Hay nos veremos luego calaca
por los creadores de esta fregadera
esperaras la vida entera con resaca
por que si terminaremos nuestra carrera


ACCESO DIRECTO DE MEMORIA

lunes, 26 de octubre de 2009

DMA
(Direct Memory Access)

La E/S con interrupciones, aunque más eficiente que la E/S programada, también requiere la intervención del CPU para transferir datos entre la memoria y el módulo de E/S.Consideren el siguiente ejemplo. Cuando se va a leer una línea desde un terminal, el primer carácter escrito es enviado al computador. Cuando el carácter es recibido por el controlador, éste interrumpe al CPU. El CPU le da servicio a la interrupción y luego continua con el proceso que estaba ejecutando. Esto es posible cuando el dispositivo es muy lento comparado con el CPU. Entre un carácter y otro el CPU lleva a cabo gran cantidad de procesamiento. Pero qué sucede cuando estamos trabajando con dispositivos de E/S más veloces? Tendríamos interrupciones muy seguidas y se estaría desperdiciando mucho tiempo.Para evitar esto, se utiliza DMA para dispositivos de E/S de alta velocidad. E1 controlador del dispositivo transfiere un bloque de datos desde o para sus buffers de almacenamiento a memoria directamente sin intervención del CPU. Solo se produce una interrupción por bloque en lugar de tener una interrupción por cada byte (o palabra).Por ejemplo, un programa solicita una transferencia de datos. El Sistema de Operación busca un buffer disponible. El controlador de DMA tiene sus registros actualizados con las direcciones del fuente y del destino y la longitud de la transferencia . Por lo general esta actualización es realizada por el manejador de dispositivo (rutina). Se indica al controlador de DMA a través de bits de control en un registro de control pare que inicie la operación de E/S. Mientras tanto el CPU puede llevar a cabo otras operaciones. El controlador de DMA interrumpe el CPU cuando la transferencia ha sido terminada . El CPU interviene solo al comienzo y al final de la transferencia.Transferencias vía DMA.Algunos dispositivos de entrada/salida envían datos a la memoria más rápido de lo que el microprocesador puede manejar. El controlador de DMA (Direct Memory Access) es un circuito integrado dedicado que puede enviar y recibir datos más rápido que el microprocesador. Luego, dispositivos como discos ópticos y magnéticos utilizan este integrado para acceder a la memoria del sistema.El controlador de DMA (Direct Memory Access) toma prestado los buses de datos, de direcciones y de control del sistema y envia un número programado de bytes desde un dispositivo de entrada/salida hasta la memoria. El "8237 DMA controller" es el nombre del circuito integrado que utilizan los PCs para esta función.Cuando un dispositivo tiene un bloque de datos preparado para enviar a la memoria, envia una petición al DMA poniendo una señal DRQn a "1". Si el canal de DMA se halla disponible, el DMA enviará una señal HRQ (hold request) al microprocesador. El microprocesador responderá dejando los buses libres y enviando una señal HLDA (hold acknowledge) al DMA. Luego el DMA obtiene el control de los buses poniendo la señal AEN a nivel alto y envia la dirección de memoria a ser escrita. Despues el DMA envia la señal de DACKn (DMA acknowledge) al dispositivo. Finalmente el controlador de DMA se ocupa de manejar las señales de MEMW y IOR del bus de control. Cuando la transferencia de datos se ha completado vuelve a poner la señal HRQ a nivel bajo y el procesador recupera el control de los buses de nuevo.Si un dispositivo necesita datos de la memoria, el proceso es similar. La única diferencia consiste en que el controlador de DMA usa las señales MEMR y IOW en el bus control.

HABLANDO DE INTERRUPCIONES

jueves, 22 de octubre de 2009

HOLA CUACHITOS AQUI ESTAMOS DE NUEVO:
INTERRUPCION ENMASCARABLE
Interrupción enmascarable significa que, bajo control del software, el procesador puede aceptar o ignorar (enmascarar) la señal de interrupción. Para ello se envía una señal a la patilla INTR , y el procesador la atiende o la ignora en función del contenido de un bit (IF) en un registro (FLAGS) que puede estar habilitado o deshabilitado ( H3.2). En el primer caso, cuando se recibe la señal, el procesador concluye la instrucción que estuviese en proceso y a continuación responde con una combinación de señales en algunas de sus patillas componiendo una sucesión de dos señales INTA ("Interrupt Acknowledge" H3.2.1).

INTERRUPCION NO ENMASCARABLE


Una interrupción no enmascarable (o NMI) es un tipo especial de
interrupción usada en la mayoría de los microordenadores como el IBM PC y el Apple II.
Una interrupción no emascarable causa que la
CPU deje lo que está haciendo, cambie el puntero de instrucción para que apunte a una dirección particular y continúe ejecutando el código de esa dirección. Se diferencia de los otros tipos de interrupción en que los programadores no pueden hacer que la CPU las ignore, aunque algunos ordenadores pueden por medios externos bloquear esa señal, dando un efecto similar al resto de las interrupciones.
INT 21H
La mayoría de servicios ó funciones del sistema operativo MS-DOS se obtienen a través de la interrupción software 21H. Es por esto que se le denomina DOS-API: DOS-APPLICATION-PROGRAM-INTERFACE La INT 21H está compuesta por un grupo de funciones.
DESCRIPCION
La llamada a la INT 21H se realizará como sigue:- Introducimos en (AH) el número de función a la que deseamos acceder.- En caso de que deseemos acceder a una sub-función dentro de una función, debemos indicarlo introduciendo en (AL) el número de esa sub-función.- Llamar a la INT 21H.
PRINCIPALES FUNCIONES
Fin de programa
INT 21H AX = 4C00HDescripción: Esta rutina finalizará el programa y devolverá el control al DOS. Debe llamar a esta rutina para finalizar los programas. Uso: Entrada: AX = 4C00H Salida: Ninguna Registros afectados: Ninguno

Status del teclado
INT 21H AH = 0BH
Descripción: La función de esta rutina es detectar si se ha pulsado una tecla.
Uso: Entrada: AH = 0BH Salida: AL = FF si caracter disponible AL = 0 si caracter no disponible Registros afectados: AL

Entrada de un carácter desde teclado
INT 21H AH = 8H
Descripción: La función de esta rutina es esperar un carácter del teclado sin escribirlo por pantalla y almacenarlo en el registro AL en forma de código ASCII.
Uso: Entrada: AH = 8H Salida: AL = car cter ASCII de la tecla pulsada Registros afectados: AL

Leer una línea de programa
INT 21H AH = 0AH
Descripción: La función de esta rutina es la de obtener una línea de datos del teclado (que finaliza al pulsar el retorno de carro) y almacenarlos en un rea de memoria. Los caracteres son mostrados en la pantalla al ser tecleados.
Uso: Entrada: AH = 0AH DS contiene la dirección del segmento de memoria en el cual se almacenan los datos introducidos. DX contiene la dirección del offset de la zona de memoria del segmento anterior en la que se almacenan los datos. En el primer byte del área debe indicarse el máximo número de caracteres a introducir sin superar 255. Salida: Ninguna en registro En el segundo byte del área se almacena el número de caracteres tecleados sin contar el retorno de carro. Registros afectados: Ninguno

Salida de un carácter por pantalla
INT 21H AH = 2H
Descripción: La función de esta rutina es visualizar un carácter.
Uso: Entrada: AH = 2H DL contiene el código ASCII del carácter a visualizar. Salida: Ninguna Registros afectados: Ninguno
EJEMPLO DE CODIGO
Desplegar un mensaje en pantalla

Uno de los programas más sencillos, pero en cierta forma práctico, es uno que despliegue una cadena de caracteres en la pantalla. Eso es lo que hace el siguiente programa:

Programa :

; Primero definimos el modelo de memoria, en este caso small
.MODEL SMALL.CODE ; Declaramos el área que contendrá el códigoInicio: ; Etiqueta de inicio del programa:MOV AX,@DATA ; Vamos a colocar la dirección del segmento de datos
MOV DS,AX ; en DS, usando como intermediario a AX
MOV DX,OFFSET Cadena ; Colocamos en DX la dirección, dentro del
; segmento, de la cadena a desplegar
MOV AH,09 ; Utilizaremos la función 09 de la interrupción
INT 21H ; 21H para desplegar la cadena.
MOV AH,4CH ; Por medio de la función 4CH de la interrupción
INT 21H ; 21H terminaremos nuestro programa
.DATA ; Declaramos el semento de datos
Cadena DB 'Mensaje del programa.$' ; Cadena a desplegar
.STACK ; Declaramos la pila
END Inicio ; Final de nuestro programa


REFERENCIAS:
De Wikipedia, la enciclopedia libre

HOLA CUACHAS AHORA HABLAREMOS DE LA IMPORTANCIA DE LOS BUSES

miércoles, 7 de octubre de 2009



QUE ES UN BUS?


ES UN CAMINO DE COMUNICACION ENTRE DOS O MAS DISPOSITIVOS.





TRES RAZONES DE LA IMPORTANCIA DE UN BUS:





  1. SIN UN BUS NO AHI COMUNICACION ENTRE LOS DISPOCITIVOS

  2. SON EL CANAL DONDE LOS DATOS SE TRANSPORTAN

  3. ES UN CAMINO POR EL CUAL NO SOLO SE TRANSMITEN DATOS SINO TAMBIEN INSTRUCCIONES

BIENVENIDOS CUACHAS




LE DAMOS LA BIENVENIDA A TODOS AQUELLOS MUCHACHOS CUACHAS DEL INSTITUTO TECNOLOGICO DE PARRAL