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
Alto nivel Mediano nivel Bajo nivel Maquina Cobol Pascal Basic
Java C BCPL Ensamblador 001110011010100
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.
Las instrucciones en lenguaje ensamblador son instrucciones
conocidas como nemotécnicos.
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
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.
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.
El traductor de programas fuente a objeto es un programa llamado
ensamblador, existente en casi todos los computadores.
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.
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.
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.
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.
Su arquitectura interna consta de las siguientes partes Unidad de
control Unidad Aritmética lógica Registros Internos
Buses internos Interrupciones
Arquitectura Interna del microprocesador
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
Arquitectura del microprocesador
ALU Circutito digital que realiza operaciones artimeticas y
logicas
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
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
Interrupciones Utilizadas para interrumpir la secuencia del
programa.
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
3. Bus de control: para sincronizar actividades y transacciones
con los periféricos del sistema
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
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.
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
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.
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
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
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).
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.
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.
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.
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).
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.
ESTA PRESENTACIÓN CONTIENE MAS DIAPOSITIVAS DISPONIBLES EN
LA VERSIÓN DE DESCARGA