Descargar

Lenguaje ensamblador III

Enviado por Pablo Turmero


    edu.red ENSAMBLADOR Es un lenguaje de programación de bajo nivel para los computadores, microprocesadores, microcontroladores y otros circuitos integrados programables. Implementa una representación simbólica de los códigos de máquina binarios y otras constantes necesarias para programar una arquitectura dada de CPU y constituye la representación más directa del código máquina específico para cada arquitectura legible por un programador

    edu.red

    edu.red Alto nivel Mediano nivel Bajo nivel Maquina Cobol Pascal Basic Java C BCPL Ensamblador 001110011010100

    edu.red Los lenguajes de bajo nivel son mas fáciles de utilizar que los lenguajes máquina, pero, al igual que ellos, dependen de la máquina en particular. El lenguaje de bajo nivel por excelencia es el ensamblador.

    edu.red Las instrucciones en lenguaje ensamblador son instrucciones conocidas como nemotécnicos.

    edu.red Por ejemplo, nemotécnicos típicos de operaciones aritméticas son: en inglés, ADD, SUB, DIV, etc.; en español, SUM, RES, DIV,etc. Una instrucción típica de suma sería: ADD M, N, P Esta instrucción podría significar “sumar el número contenido en la posición de memoria M al número almacenado en la posición de memoria N y situar el resultado en la posición de memoria P”. Evidentemente es mucho más sencillo recordar la instrucción anterior con un nemotécnico que su equivalente en código máquina”. 0110 1001 1010 1011

    edu.red Un programa escrito en lenguaje ensamblador no puede ser ejecutado directamente por la computadora en esto se diferencia esencialmente del lenguaje máquina, sino que requiere una fase de traducción al lenguaje máquina.

    edu.red El programa original escrito en lenguaje ensamblador se denomina programa fuente y el programa traducido en lenguaje máquina se conoce como programa objeto, ya directamente entendible por la computadora.

    edu.red El traductor de programas fuente a objeto es un programa llamado ensamblador, existente en casi todos los computadores.

    edu.red Ventajas del lenguaje ensamblador. Los lenguajes ensambladores presentan la ventaja frente a los lenguajes máquina de su mayor facilidad de codificación y, en general, su velocidad de cálculo. La segunda razón es el control total de la PC que se tiene con el uso del mismo. El ensamblador permite una optimización ideal en los programas tanto en su tamaño como en su ejecución.

    edu.red Desventajas del lenguaje ensamblador. Dependencia total de la máquina lo que impide la transportabilidad de los programas. El lenguaje ensamblador del PC es distinto del lenguaje ensamblador del Apple Macintosh. La formación de los programadores es más compleja que la correspondiente a los programadores de alto nivel, ya que no sólo las técnicas de programación, sino también el conocimiento del interior de la máquina.

    edu.red ESCALABILIDAD Es la propiedad deseable de un sistema, una red o un proceso, que indica su habilidad para extender el margen de operaciones sin perder calidad, o bien manejar el crecimiento continuo de trabajo de manera fluida.

    edu.red MICROPROCESADOR El microprocesador o simplemente procesador, es el circuito integrado central y más complejo de una computadora El procesador es un circuito integrado constituido por millones de componentes electrónicos integrados.

    edu.red Su arquitectura interna consta de las siguientes partes Unidad de control Unidad Aritmética lógica Registros Internos Buses internos Interrupciones

    edu.red Arquitectura Interna del microprocesador

    edu.red Secuencia de acciones Se inicia en una posición de memoria definida Se lee el dato de esa posición y se manda al control La unidad de control decodifica la instrucción y la ejecuta en señales adecuadas Se incrementa el contador del programa (registro que indica a que posición se debe dirigir) Se repite proceso desde el punto 2, hasta recibir unas señal del exterior

    edu.red Arquitectura del microprocesador

    edu.red ALU Circutito digital que realiza operaciones artimeticas y logicas

    edu.red Unidad de control Cerebro del microprocesador, genera señales de control interno y externo. Recibe códigos los cuales decodifica y ejecuta. Los códigos pueden ser: Operaciones aritmético lógicas Cargar o leer datos Saltos o interrupciones

    edu.red Regsitros internos Posiciones de memoria con utilidad general o especifica. Tipos: Registros de datos: operaciones aritméticas lógicas y manipulación de datos Registros de Direcciones : para acceder a posiciones de memoria – Contador de programa: leer o escribir datos de programa – Puntero de pila: Recuperar y guardar datos de uso interno – índices: para acceder a posiciones de memoria en forma relativa 3. Registro de estado: para información especifica

    edu.red Interrupciones Utilizadas para interrumpir la secuencia del programa.

    edu.red Buses Internos Caminos de comunicación que conectan dos o mas dispositivos o acceder a diferentes partes del circuito 1. Bus de dirección: para seleccionar posición de memoria para leer o escribir datos 2. Bus de datos: transmitir datos El microprocesador se dividen por el numero de bits que conforman el dato 4, 8 , 16, 32, 46 bits

    edu.red 3. Bus de control: para sincronizar actividades y transacciones con los periféricos del sistema

    edu.red CLASIFICACION DEL MICROPROCESADOR Una forma es en función de las instrucciones que son capaces de ejecutar. Microprocesadores con tecnología CISC y RISC CISC (Complex Instructions Set Computer): Interpreta y ejecuta un gran numero de instrucciones, lo cual los hace lentos RISC ( Reduced Instructios Set Computer): Interpreta y ejecuta solo instrucciones reducidas, son mas rápidos que los CISC

    edu.red Von Neumann Es una de las arquitecturas mas primitivas, cuando se invento los programas eran muy pequeños y los costos de memoria eran muy altos. En esta estructura, tanto datos como programa son guardados en la misma memoria y accesados en el mismo bus. Cada instrucción es leída de memoria, decodificada y ejecutada. Durante el estado de decodificación algunos operadores son leídos de la misma memoria. Las computadoras Von Neumann son llamadas también computadoras de almacenamiento de programas, porque los programas son guardados en ROM, la cual no se cambia durante el tiempo de ejecución.

    edu.red

    edu.red Arquitectura Harvard Esta es una modificación de la arquitectura Von Neumann, en esta arquitectura se separa la salida (direcciones y bus de datos) de datos para accesar al código (programa) y datos (operadores). Esto hace posible leer datos e instrucciones al mismo tiempo (en diferentes buses) Desde que las instrucciones tienen un bus de datos separados, la siguiente instrucción puede ser leída mientras se decodifica y ejecutan las instrucciones actuales

    edu.red

    edu.red Derivados de la arquitectura Harvard Existen algunos derivados de la arquitectura Harvard, las cuales tienen múltiples buses de datos para accesar datos, tales arquitecturas son mas aplicadas para aplicaciones intensivas de datos (como procesos de señales digitales) las cuales requieren múltiples operadores de datos para la ejecución de cada instrucción. Desde que estos operadores son leídos en paralelo se logro una gran mejora en ejecución.

    edu.red Complex Instruction Set Computer (CISC) En los inicios de la computación, se codificaba en código ensamblador o maquina. Para hacer rápida y fácil la programación las computadoras soportaban un gran numero de instrucciones. Estas instrucciones podían hacer operaciones complejas, una sola instrucción podía leer uno o mas operadores y hacer una o mas operaciones con esos operadores. Esto hacia la programación fácil y con menos código. Otro factor favorable fue el costo de memoria, las memorias eran costosas, por lo que los diseñadores hacían juegos de instrucciones densos

    edu.red Reduced Instruction Set (RISC) Es un tipo de microprocesador con las siguientes características fundamentales: Instrucciones de tamaño fijo y presentadas en un reducido número de formatos. Sólo las instrucciones de carga y almacenamiento acceden a la memoria de datos. Además estos procesadores suelen disponer de muchos registros de propósito general. El objetivo de diseñar máquinas con esta arquitectura es posibilitar la segmentación y el paralelismo en la ejecución de instrucciones y reducir los accesos a memoria. Esta surge con los lenguejes de alto nivel

    edu.red

    edu.red Procesador digital de señal Es un sistema basado en un procesador que posee un juego de instrucciones, un hardware y un software optimizados para aplicaciones que requieran operaciones numéricas a muy alta velocidad. Debido a esto es especialmente útil para el procesado y representación de señales analógicas en tiempo real: en un sistema que trabaje de esta forma (tiempo real) se reciben muestras normalmente provenientes de un conversor analógico/digital (ADC).

    edu.red Caracteristicas: Necesita una memoria donde almacenar los datos con los que trabajará y el programa que ejecuta Puede trabajar con varios datos en paralelo y un diseño e instrucciones específicas para el procesado digital.

    edu.red

    edu.red VLIW PROCESADOR Very Long Instruction Word. Esta arquitectura de CPU implementa una forma de paralelismo a nivel de instrucción. Es similar a las arquitecturas superescalares, ambas usan varias unidades funcionales (por ejemplo varias ALUs, varios multiplicadores, etc) para lograr ese paralelismo.

    edu.red Los procesadores con arquitecturas VLIW se caracterizan, como su nombre indica, por tener juegos de instrucciones muy simples en cuanto a número de instrucciones diferentes, pero muy grandes en cuanto al tamaño de cada instrucción.

    edu.red Ventajas Simplificación de la arquitectura hardware al no tener que planificar el código. Menor potencia y consumo. Inconvenientes Requiere compiladores mucho más complejos. Cualquier mejora en la arquitectura hardware implica un cambio en el juego de instrucciones (compatibilidad hacia atrás nula).

    edu.red

    edu.red SMID Single Instruction, Multiple Data es una técnica empleada para conseguir paralelismo a nivel de datos. SIMD consisten en instrucciones que aplican una misma operación sobre un conjunto más o menos grande de datos. Es una organización que influye muchas unidades de procesamiento bajo la supervisión de una unidad de control común. Todos los procesadores reciben la misma instrucción de la unidad de control, pero operan sobre diferentes conjuntos de datos. Es decir la misma instrucción es ejecutada de manera síncrona por todas las unidades de procesamiento.

    edu.red ESTA PRESENTACIÓN CONTIENE MAS DIAPOSITIVAS DISPONIBLES EN LA VERSIÓN DE DESCARGA