Unidad 1 - Lenguajes de Interfaz

32
LENGUAJES DE INTERFAZ ING. LIBERIO AGUILAR MENDOZA INTEGRANTES DEL EQUIPO: ENOC LEONIDEZ DIAZ CARBAJAL ALFREDO LOPEZ LOPEZ J. OSVALDO LOPEZ ORTIZ JUAN ALBERTO GONZALES TORREZ

description

UNIDAD 1 - SOBRE LA MATERIA

Transcript of Unidad 1 - Lenguajes de Interfaz

Page 1: Unidad 1 - Lenguajes de Interfaz

LENGUAJES DE INTERFAZING. LIBERIO AGUILAR MENDOZA

INTEGRANTES DEL EQUIPO:

ENOC LEONIDEZ DIAZ CARBAJAL

ALFREDO LOPEZ LOPEZ

J. OSVALDO LOPEZ ORTIZ

JUAN ALBERTO GONZALES TORREZ

Page 2: Unidad 1 - Lenguajes de Interfaz

Introducción al lenguaje ensamblador

El lenguaje ensamblador en unos de los lenguajes mas bajos de La

programación, este tipo de programación nos proporciona las herramientas

para interactuar con el hardware sus ventajas radican

en la eficiencia de tamaño y flexibilidad de los programas sus

desventajas son el tiempo de programación y peligro de afectar

recursos inesperadamente.

Page 3: Unidad 1 - Lenguajes de Interfaz

1.1 Importancia de la programación en lenguaje ensamblador

Radica principalmente que se trabaja directamente con el  microprocesador; por lo cual se debe de conocer el funcionamiento interno de este, tiene la ventaja de que en él se puede realizar cualquier tipo de programas que en los lenguajes de alto nivel no lo pueden realizar. Este lenguaje proporciona las herramientas para tomar control sobre todo lo que la computadora realiza físicamente.

Page 4: Unidad 1 - Lenguajes de Interfaz

Ventajas y desventajas del Lenguaje Ensamblador

Ventajas

1.- Como trabaja directamente con el microprocesador al ejecutar un programa, pues como este lenguaje es el más cercano a la máquina la computadora lo procesa más rápido

Page 5: Unidad 1 - Lenguajes de Interfaz

2.- Eficiencia de tamaño:

Un programa en ensamblador no ocupa mucho espacio en memoria porque no tiene que cargan librerías y demás como son los lenguajes de alto nivel.

Page 6: Unidad 1 - Lenguajes de Interfaz

3. Flexibilidad:

Es flexible porque todo lo que puede hacerse con una máquina, puede hacerse en el lenguaje ensamblador de esta máquina; los lenguajes de alto nivel tienen en una u otra forma limitantes para explotar al máximo los recursos de la máquina. O sea que en lenguaje ensamblador se pueden hacer tareas específicas que en un lenguaje de alto nivel no se pueden llevar acabo porque tienen ciertas limitantes que no se lo permite

Page 7: Unidad 1 - Lenguajes de Interfaz

Desventajas

1.- Tiempo de programación: Como es un lenguaje de bajo nivel requiere más instrucciones para realizar el mismo proceso, en comparación con un lenguaje de alto nivel. Por otro lado, requiere de más cuidado por parte del programador, pues es propenso a que los errores de lógica se reflejen más fuertemente en la ejecución.

Page 8: Unidad 1 - Lenguajes de Interfaz

2.- Programas fuente grandes:

Por las mismas razones que aumenta el tiempo, crecen los programas fuentes; simplemente requerimos más instrucciones primitivas para describir procesos equivalentes. Esto es una desventaja porque dificulta el mantenimiento de los programas, y nuevamente reduce la productividad de los programadores.

Page 9: Unidad 1 - Lenguajes de Interfaz

3.- Peligro de afectar recursos inesperadamente:

Que todo error que podamos cometer, o todo riesgo que podamos tener, podemos afectar los recursos de la máquina, programar en este lenguaje lo más común que pueda pasar es que la máquina se bloquee o se reinicialice. Porque con este lenguaje es perfectamente posible (y sencillo) realizar secuencias de instrucciones inválidas, que normalmente no aparecen al usar un lenguaje de alto nivel.

Page 10: Unidad 1 - Lenguajes de Interfaz

4.- Falta de portabilidad:

Porque para cada máquina existe un lenguaje ensamblador; por ello, evidentemente no es una selección apropiada de lenguaje cuando deseamos codificar en una máquina y luego llevar los programas a otros sistemas operativos o modelos de computadoras

Page 11: Unidad 1 - Lenguajes de Interfaz

1.2 El procesador y sus registros internos

Definición de registros:

un registro es una memoria de alta velocidad y poca capacidad, integrada en el microprocesador, que permite guardar transitoriamente y acceder a valores muy usados, generalmente en operaciones matemáticas

Page 12: Unidad 1 - Lenguajes de Interfaz

Función de los registros:

• Los registros están en la cumbre de la jerarquía de memoria, y son la manera más rápida que tiene el sistema de almacenar datos. Los registros se miden generalmente por el número de bits que almacenan; por ejemplo, un "registro de 8 bits" o un "registro de 32 bits“.

• La CPU contiene un conjunto de localidades de almacenamiento temporal de datos de alta velocidad llamada registro. Algunos de los registros están dedicados al control, y solo la unidad de control tiene acceso a ellos. Los registros restantes son los registros de uso general y el programador es el usuario que tiene acceso a ellos.

Page 13: Unidad 1 - Lenguajes de Interfaz

Los registros del procesador se emplean para controlar instrucciones en ejecución, manejar direccionamiento de memoria y proporcionar capacidad aritmética.

Los registros son direccionales por medio de un nombre. Los bits por convención, se numeran de derecha a izquierda

Page 14: Unidad 1 - Lenguajes de Interfaz

Algunos registros básicos:

Los registros internos del procesador se puede clasificar en 6 tipos diferentes

Registros de segmento Registros de propósito general Registros de apuntadores Registros de banderas Registros de Puntero de instrucción Registros de Pila

Page 15: Unidad 1 - Lenguajes de Interfaz
Page 16: Unidad 1 - Lenguajes de Interfaz

1.3 La memoria principal (RAM)

La memoria principal está formada por un conjunto de unidades llamadas palabras. Dentro de cada una de estas palabras se guarda la información que constituye una instrucción o parte de ella o un dato o parte de un dato.

Page 17: Unidad 1 - Lenguajes de Interfaz

Organización de la Memoria RAM

A la cantidad de palabras que forman la MP se le denomina capacidad de memoria. Una palabra esta formada a su vez de unidades más elementales llamadas bits, del mismo modo que en el lenguaje natural “Una palabra esta formada por letras”.

Page 18: Unidad 1 - Lenguajes de Interfaz

IMAGEN

Hansz López Ortiz
En la RAM se copian programas que coordinan el funcionamiento de la PC: La primera parte de la RAMestá reservada para guardar las instrucciones de los dispositivos electrónicos.
Page 19: Unidad 1 - Lenguajes de Interfaz

Operaciones Posibles:

RAM estática: flips-flops internos que almacenan información binaria. La información almacenada es válida mientras la unidad está encendida.

RAM dinámica: conjunto de pequeños condensadores que pueden estar cargados o descargados. Debe refrescarse cada pocos milisegundos para impedir la pérdida de información.

Page 20: Unidad 1 - Lenguajes de Interfaz

1.4 EL CONCEPTO DE INTERRUPCIONES

HARDWARE

Son provocadas por dispositivos

externos. No son programadas y

ocurre en cualquier momento.

SOFTWARE

Son programadas por el usuario.

Generalmente E/S.

Es un evento que permite cambiar el flujo de

ejecución de la CPU sin que intervenga la ejecución de las

instrucciones

Page 21: Unidad 1 - Lenguajes de Interfaz

Interrupciones por Hardware:

Enmascarables:

El procesador “puede no atenderla” o “Ignorarla”. Se usan para la atención de periféricos en general.

No Enmascarables:

El procesador “No puede evitar atenderla”. Tiene mayor prioridad que otro tipo de interrupciones.

Page 22: Unidad 1 - Lenguajes de Interfaz

¡Ejemplo rutina de interrupción!

Page 23: Unidad 1 - Lenguajes de Interfaz

PASOS PARA EL PROCESAMIENTO

1. Terminar la ejecución de la instrucción máquina en curso.

2. Salva el valor de contador de programa, IP, en la pila, de manera que en la CPU, al terminar el proceso, pueda seguir ejecutando el programa a partir de la última instrucción.

 3. La CPU salta a la dirección donde está almacenada la rutina de servicio de interrupción (ISR, Interrupt Service Routine) y ejecuta esa rutina que tiene como objetivo atender al dispositivo que generó la interrupción.

4. Una vez que la rutina de la interrupción termina, el procesador restaura el estado que había guardado en la pila en el paso 2 y retorna al programa que se estaba usando anteriormente.

Page 24: Unidad 1 - Lenguajes de Interfaz

EJEMPLOS DE INTERRUPCIONES

int 01h-->un solo pasoint 02h-->interrupcion no enmascarableint 03h--> punto de interrupcionint 04h-->desbordamientoint 05h-->impresion de pantallaint 08h-->Cronometroint 15h-->Servicios del sistemaint 16h-->Funciones de entrada del tecladoint 18h-->Entrada con el Basic de Romint 19h-->Cargador ed arranqueint 1Ah-->Leer y establecer la horaint 1Bh-->Obtener el control con una interrupcion de teclado.int 2oh-->Terminar un programa

int 33h->Funciones del Raton

Page 25: Unidad 1 - Lenguajes de Interfaz

1.5 Llamadas a servicios del sistema

Una llamada al sistema es un método o función que puede invocar un proceso para solicitar un cierto servicio al sistema operativo.

En otras palabras, el sistema operativo actúa como intermediario, ofreciendo una interfaz de programación (API) que el programa puede usar en cualquier momento para solicitar recursos gestionados por el sistema operativo.

Page 26: Unidad 1 - Lenguajes de Interfaz

Algunos ejemplos de llamadas al sistema son las siguientes:

Time: que permite obtener la fecha y hora del sistema.

Write: que se emplea para escribir un dato en un cierto dispositivo de salida, tales como una pantalla o un disco magnético.

Read: que es usada para leer de un dispositivo de entrada, tales como un teclado o un disco magnético.

Open: que es usada para obtener un descriptor de un fichero del sistema, ese fichero suele pasarse a write

Page 27: Unidad 1 - Lenguajes de Interfaz

1.6 Modos de direccionamiento

Los llamados modos de direccionamiento son las diferentes maneras de especificar en informática un operando dentro de una instrucción en lenguaje ensamblador.

Un modo de direccionamiento especifica la forma de calcular la dirección de memoria efectiva de un operando mediante el uso de la información contenida en registros y / o constantes, contenida dentro de una instrucción de la máquina o en otra parte.

Page 28: Unidad 1 - Lenguajes de Interfaz
Page 29: Unidad 1 - Lenguajes de Interfaz

1.7 Proceso de ensamblado y ligado

1. El programa utiliza un editor de texto para crear un archivo de texto ASCII, conocido como archivo de código fuente.

2. El ensamblador lee el archivo de código fuete y produce un archivo de código objeto, una traducción del programa a lenguaje máquina. De manera opcional, produce un archivo de listado. Si ocurre un error, el programador debe regresar al paso 1 y corregir el programa. 

Page 30: Unidad 1 - Lenguajes de Interfaz

3. El enlazador lee el archivo de código objeto y verifica si el programa contiene alguna llamada a los procedimientos en una biblioteca de enlace. El enlazador copia cualquier procedimiento requerido de la biblioteca de enlace, lo combina con el archivo de código objeto y produce el archivo ejecutable. De manera opcional, el enlazador puede producir un archivo de mapa.

4. La herramienta cargador (loader) del sistema operativo lee el archivo ejecutable y lo carga en memoria, y bifurca la CPU hacia la dirección inicial del programa, para que éste empiece a ejecutarse.

Page 31: Unidad 1 - Lenguajes de Interfaz

1.8 Desplegado de mensajes en el monitor

Todos los gráficos y el texto que se muestran en el monitor se escriben en la RAM de visualización de video, para después enviarlos al monitor mediante el controlador de video. El controlador de video es en sí un microprocesador de propósito especial, que libera a la CPU principal del trabajo de controlar el hardware de video.

 

Page 32: Unidad 1 - Lenguajes de Interfaz

•Un monitor de pantalla de cristal líquido (LCD) digital directo recibe un flujo de bits digitales directamente desde el controlador de video, y no requiere del barrido de trama.