1 / 113

LENGUAJE ENSAMBLADOR

LENGUAJE ENSAMBLADOR. UNIDAD 1. ENSAMBLADOR.

afram
Download Presentation

LENGUAJE ENSAMBLADOR

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. LENGUAJE ENSAMBLADOR UNIDAD 1

  2. 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

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

  4. 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.

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

  6. 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

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

  8. 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.

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

  10. 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.

  11. 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.

  12. 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.

  13. 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.

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

  15. Arquitectura Interna del microprocesador

  16. 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

  17. Arquitectura del microprocesador

  18. ALU • Circutito digital que realiza operaciones artimeticas y logicas

  19. 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

  20. 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

  21. Interrupciones • Utilizadas para interrumpir la secuencia del programa.

  22. 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

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

  24. 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

  25. 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.

  26. 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

  27. 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.

  28. 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

  29. 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

  30. 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).

  31. 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.

  32. 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.

  33. 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.

  34. 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).

  35. 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.

  36. MULTICORE-PROCESADOR • A multi-core processor Es un componente de computadora con dos o mas procesadoresindependientes (called "cores"), los cuales son unidades que leen y ejecutan isntrucciones de programas. Los datos en la instruccion le dicen al procesador que hacer. Las instrucciones hacen cosas muy basicas como leer datos de meoria o mandar datos a un display, pero son procesados rapidamente.

  37. PROCESADOR STREAM • El procesador STREAM, acrónimo de Sistema de Tiempo Real para la Extracción y Análisis de Movimiento, es una arquitectura de procesamiento de imágenes implementada • en una tarjeta PCI

  38. Desde el punto de vista funcional es, básicamente, el encargado de realizar toda operación aritmético-lógica, de control y de comunicación con el resto de los componentes integrados que conforman un PC, siguiendo el modelo base de Von Neumann. • También es el principal encargado de ejecutar los programas, sean de usuario o de sistema; sólo ejecuta instrucciones programadas a muy bajo nivel, realizando operaciones elementales, básicamente, las aritméticas y lógicas, tales como sumar, restar, multiplicar, dividir, las lógicas binaris y accesos a memoria.

  39. Esta unidad central de procesamiento está constituida, esencialmente: • por registros, • una unidad de control • y una unidad aritmético lógica (ALU) • .

  40. TIPOS DE ENSAMBLADORES Aunque todos los ensambladores realizan básicamente las mismas tareas, podemos clasificarlos de acuerdo a características. Así podemos clasificarlos en: -Ensambladores Cruzados (Cross-Assembler). - Ensambladores Residentes. - Macroensambladores. - Micro ensambladores. - Ensambladores de una fase. - Ensambladores de dos fases.

More Related