5
LENGUAJE DE INTERFAZ 1.1 Importancia del lenguaje ensamblador La importancia del 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. Otro punto sería que los programas en ensamblador ocupan menos espacio en memoria. Características El lenguaje ensamblador es difícilmente portable, es decir, un código escrito para un microprocesador, puede necesitar ser modificado, para poder ser usado en otra máquina distinta. Al cambiar a una máquina con arquitectura diferente, generalmente es necesario reescribirlo completamente. Los programas hechos por un programador experto en lenguaje ensamblador son generalmente mucho más rápidos y consumen menos recursos del sistema (memoria RAM y ROM) que el programa equivalente compilado desde un lenguaje de alto nivel. Al programar cuidadosamente en lenguaje ensamblador se pueden crear programas que se ejecutan más rápidamente y ocupan menos espacio que con lenguajes de alto nivel. Con el lenguaje ensamblador se tiene un control muy preciso de las tareas realizadas por un microprocesador por lo que se pueden crear segmentos de código difíciles y/o muy ineficientes de programar en un lenguaje de alto nivel, ya que, entre otras cosas, en el lenguaje ensamblador se dispone de instrucciones del CPU que generalmente no están disponibles en los lenguajes de alto nivel. También se puede controlar el tiempo en que tarda una rutina en ejecutarse, e impedir que se interrumpa durante su ejecución. 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 mas rápido. 2. Eficiencia de tamaño .- Un programa en ensamblador no ocupa mucho espacio en

Lenguaje de Interfaz

Embed Size (px)

DESCRIPTION

LENGUAJE

Citation preview

Page 1: Lenguaje de Interfaz

LENGUAJE DE INTERFAZ

1.1 Importancia del lenguaje ensamblador

La importancia del 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. Otro punto sería que los programas

en ensamblador ocupan menos espacio en memoria.

Características

El lenguaje ensamblador es difícilmente portable, es decir, un código escrito para un

microprocesador, puede necesitar ser modificado, para poder ser usado en otra máquina

distinta. Al cambiar a una máquina con arquitectura diferente, generalmente es necesario

reescribirlo completamente.

Los programas hechos por un programador experto en lenguaje ensamblador son

generalmente mucho más rápidos y consumen menos recursos del sistema (memoria RAM

y ROM) que el programa equivalente compilado desde un lenguaje de alto nivel. Al

programar cuidadosamente en lenguaje ensamblador se pueden crear programas que se

ejecutan más rápidamente y ocupan menos espacio que con lenguajes de alto nivel.

Con el lenguaje ensamblador se tiene un control muy preciso de las tareas realizadas por

un microprocesador por lo que se pueden crear segmentos de código difíciles y/o muy

ineficientes de programar en un lenguaje de alto nivel, ya que, entre otras cosas, en el

lenguaje ensamblador se dispone de instrucciones del CPU que generalmente no están

disponibles en los lenguajes de alto nivel.

También se puede controlar el tiempo en que tarda una rutina en ejecutarse, e impedir

que se interrumpa durante su ejecución.

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

mas rápido.

2. Eficiencia de tamaño .- Un programa en ensamblador no ocupa mucho espacio en

Page 2: Lenguaje de Interfaz

memoria porque no tiene que cargan librerías y demás como son los lenguajes de alto

nivel

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 limitante 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

Desventajas

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.

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.

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.

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.

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.

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 3: Lenguaje de Interfaz

Algunos registros básicos:

Dentro del conjunto básico de registros de control se deben incluir a los siguientes:

a. · Contador de programa (PC).

b. · Registro de direcciones de la memoria (MAR).

c. · Registro de datos (RD).

d. · Registro de instrucciones (IR).

e. · Palabra de estado de programa (PSW).

6. Función del PC: La función del PC consiste en seguir la pista de la instrucción por buscar

(capturar) en el siguiente ciclo de maquina, por lo tanto contiene la dirección de la siguiente

instrucción por ejecutar. El PC es modificado dentro del ciclo de búsqueda de la instrucción actual

mediante la suma de una constante. El numero que se agrega al PC es la longitud de una

instrucción en palab

al PC, si una instrucción tiene dos palabras de largo se agrega 2, y así sucesivamente.

7. Función de MAR: Registro de direcciones de la memoria (MAR): funciona como registro de

enlace entre la CPU y el canal de direcciones. Cuando se logra el acceso a la memoria la dirección

es colocada en el MAR por la unidad de control y ahí permanece hasta que se completa la

transacción. El numero de bit que hay en el MAR es igual al del ca

que existe entre el PC y el MAR es que durante el ciclo de ejecución de una instrucción, el PC y el

MAR sirven al mismo fin. Sin embargo, muchas de las instrucciones de la maquina hacen

referencia a la memoria y operan con los datos que están en ella. Como la dirección de los datos

suele ser diferente de la instrucción siguiente se necesita el MAR.

8. Función de RD: Registro de datos: la función del RD consiste en proporcionar un área de

almacenamiento temporal (memoria intermedia, acumulada o buffer) de datos que se

intercambian entre la PCU y la memoria. Los datos pueden ser instrucciones (obtenidos en el ciclo

de ejecución) o datos del operando (obtenidos en el ciclo de ejecución). Debido a su conexión

directa con el canal de datos el RD contiene el mismo numero de bit que dicho canal.

9. Función de IR: Registro de instrucciones (IR): es un registro que conserva el código de operación

de la instrucción en todo el ciclo de la maquina. El código es empleado por la unidad de control de

la CPU para generar las señales apropiadas que controla le ejecución de la instrucción. La longitud

del ER es la longitud en bit del código de operación.

10. Función de PSW: Palabra de estado de programa (PSW): la palabra de estado o condición de

programa almacena información pertinente sobre el programa que este ejecutándose. Por

ejemplo al completarse una función de la unidad aritmética lógica se modifica un conjunto de bit

llamados códigos (o señales de condición). Estos bit especifican si el resultado de una operación

Page 4: Lenguaje de Interfaz

posible que la computadora responda a solicitudes de servicio asincrónicas generadas por

dispositivos de Entrada-Salida, o condiciones de error interno. Estas señales se denominan

interrupciones.

1.3 LA MEMORIA PRINCIPAL:

• Unidad de memoria que se comunica directamente con la CPU.

• Almacena solo los programas y datos que necesita en ese momento el procesador.

• Es relativamente rápida.

• Se comunica directamente con los dispositivos de memoria auxiliar, mediante un

procesador de E/S.

• Se comunica directamente con la memoria caché.

• Tecnología fundamental: circuitos integrados semiconductores (RAM). Una parte más

pequeña de la memoria principal es ROM.

• La RAM tiene dos modos de operación 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. Tienen mayor capacidad que las estáticas.

1.4 EL CONCEPTO DE INTERRUPCIONES:

• Una interrupción es una situación especial que suspende la ejecución de un

programa de modo que el sistema pueda realizar una acción para tratarla. Tal

situación se da, por ejemplo, cuando un periférico requiere la atención del

procesador para realizar una operación de E/S.

• Las interrupciones constituyen quizá el mecanismo más importante para la

conexión del microcontrolador con el mundo exterior, sincronizando la ejecución

de programas con acontecimientos externos.

Page 5: Lenguaje de Interfaz

1.5 LLAMADAS O 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. Dado que el acceso a ciertos recursos del

sistema requieren la ejecución de código en modo privilegiado, el sistema operativo

ofrece un conjunto de métodos o funciones que el programa puede emplear para acceder

a dichos recursos. 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.

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.

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.

1.7 PROCESO DE ENSAMBLADO Y LIGADO:

1.8 DESPLEGADO DE MENSAJES EN EL MONITOR