Sei sulla pagina 1di 30

Lenguaje de Intefaz

1.1 Importancia de la Programacin en Lenguaje Ensamblador

Introduccin

Hardware Software Firmware


r

Hardware

Se refiere a todas las partes tangibles de un sistema informtico. Sus componentes son

El!ctricos Electrnicos Electromecnicos "ecnicos

Hardware

#ual$uier elemento f%sico in&olucrado contrario al soporte lgico $ue es intangible ' mejor conocido como Software.

Software

Es el e$uipamiento lgico o soporte lgico de un sistema informtico. #omprende el conjunto de componentes lgicos necesarios $ue (acen posible la reali)acin de tareas espec%ficas en contraposicin a los componentes f%sicos conocidos como Hardware. Inclu'en aplicaciones informticas *+ffice, ' software de sistema *Sistema +perati&o,.

Firmware

Es un blo$ue de instrucciones de m$uina para propsitos espec%ficos- grabado en una memoria- normalmente de escritura.lectura */+"- EEP/+"- flas(etc.,. Establece la lgica de ms bajo ni&el $ue controla los circuitos electrnicos de un dispositi&o de cual$uier tipo. Est fuertemente ligado con la electrnica del dispositi&o siendo el software $ue tiene directa interaccin con el Hardware.

Firmware

Es el encargado de controlar el (ardware para ejecutar correctamente instrucciones e0ternas. Es el software $ue maneja el (ardware.

Firmware

Ejemplos

1I+S de una computadora. #ontrolador del funcionamiento de un (orno de microondas. Instrucciones dentro de un control remoto "ecanismos controladores del funcionamiento de un Lector de #2s.

Breve resea histrica

3l desarrollarse las primeras computadoras electrnicas- se &io la necesidad de programarlasi.e.- de almacenar en memoria la informacin sobre la tarea $ue iban a ejecutar. 4o(n 5on 6eumann *1789:17;<, desarroll el modelo $ue lle&a su nombre para describir el concepto de programa almacenado.

Programa Almacenado

En este modelo- se tiene una abstraccin de la memoria como un conjunto de celdas- $ue almacenan simplemente n=meros. Estos n=meros pueden representar dos cosas

Los datos- sobre los cuales trabajar el programa. + bien- el programa mismo.

!mo re"resentar un "rograma con n#meros$

Se ten%a el problema de representar las acciones $ue iba a reali)ar la computadora- ' $ue la memoria- al estar compuesta por switc(es correspondientes al concepto de bit- solamente nos permit%a almacenar n=meros ceros ' unos *binarios,.

!mo re"resentar un "rograma con n#meros$

La solucin $ue se tom fue $ue a cada accin $ue sea capa) de reali)ar nuestra computadora se le asocia un n=mero $ue ser su cdigo de operacin (opcode).

!mo re"resentar un "rograma con n#meros$

Ejemplo de #alculadora *;>9?@,


SA"3B1 /ESC3B@ "ALCIPLI#3B9 2I5I2EBD


Localidad Instruccin Significado D 9 @ 1 8 @ 1 9 9 ; @ ? 9 > ;

!mo re"resentar un "rograma con n#meros$

Podemos &er- con el ejemplo anterior- $ue con esta representacin- es simple e0presar las operaciones de las $ue es capa) el (ardware *en este caso- nuestra calculadora, en la memoria. La descripcin ' uso de opcodes es lo $ue llamamos lenguaje mquina.

Lenguaje %&'uina

Es la lista de cdigos $ue la m$uina &a a interpretar como instrucciones 2escribe las capacidades de programacin $ue tenemos de la m$uina. Es el lenguaje ms primiti&o- depende directamente del (ardware ' re$uiere $ue el programador cono)ca el funcionamiento al ms bajo ni&el. #uando abstraemos los opcodes ' los sustituimos por una palabra $ue sea una cla&e de sus significado *mnemnico, tenemos el concepto de Lenguaje (nsam)lador.

Lenguaje (nsam)lador

Es la primera abstraccin del Lenguaje "$uina. #onsiste en asociar a los cdigos de operacin *opcode, palabras cla&e $ue faciliten su uso por parte del programador. Es directamente traducible al Lenguaje "$uina ' &ice&ersa. Es una abstraccin $ue facilita su uso para los seres (umanos.

Lenguaje (nsam)lador

La m$uina no es capa) de entender directamente el Lenguaje Ensamblador por lo $ue es necesario traducirle a Lenguaje "$uina. El proceso de traduccin sol%a (acerse a mano utili)ando tablas similares al ejemplo de la calculadora. 3l ser tan directa la traduccin pronto aparecieron programas Ensambladores $ue con&ierten el cdigo fuente *Lenguaje Ensamblador, a cdigo objeto *Lenguaje "$uina,.

Lenguaje (nsam)lador

#abe resaltar $ue e0isten distintos lenguajes m$uina dependiendo del tipo de (ardware *'por consiguiente- un distinto Lenguaje Ensamblador, ' para cada tipo de #PA.

!aracter*sticas del Lenguaje (nsam)lador

+elocidad El proceso de traduccin $ue reali)an los int!rpretes- implica un proceso de cmputo adicional al $ue el programador $uiere reali)ar. 3l generarse un cdigo objeto se puede ejecutar una rutina de nue&o mu' rpidamente.

!aracter*sticas del Lenguaje (nsam)lador

,amao Por ra)ones similares al concepto de &elocidad- los compiladores generan ms cdigo m$uina del necesarioE por ello- el programa ejecutable crece. 3s%- cuando es importante reducir el tamaFo de un ejecutable- mejorando el uso de la memoria ' teniendo tambi!n beneficios en &elocidad- puede con&enir usar el lenguaje ensamblador. Entre otros programas $ue es cr%tico el uso m%nimo de memoriatenemos a los controladores de dispositi&os *dri&ers,- en su ma'or%a escritos en Lenguaje Ensamblador.

!aracter*sticas del Lenguaje (nsam)lador

Fle-i)ilidad #uando re$uerimos (acer ciertas instrucciones en otro lenguaje para (acer las tareas ms eficientes- normalmente los lenguajes de alto ni&el tienen limitantes en el controlE al (acer abstracciones- limitan su propia capacidad- es decir- e0isten tareas $ue la m$uina puede (acer- pero $ue un lenguaje de alto ni&el no permite. Ejemplo #ambio de resolucin de pantalla en 5isual 1asic con respecto a Ensamblador.

!aracter*sticas del Lenguaje (nsam)lador

,iem"o de Programacin 3l ser de bajo ni&elel Lenguaje Ensamblador re$uiere ms instrucciones para reali)ar el mismo proceso- en comparacin con un lenguaje de alto ni&el. Por otro lado- re$uiere de ms cuidado por parte del programador- pues es propenso a $ue los errores de lgica se reflejen ms fuertemente en la ejecucin. 2ebido a esto- es ms lento el desarrollo de programas comparables en Lenguaje Ensamblador $ue en un Lenguaje de 3lto ni&el- pues el programador go)a de menor abstraccin.

!aracter*sticas del Lenguaje (nsam)lador

,amao del cdigo fuente Por las mismas ra)ones $ue aumenta el tiempo- crece el cdigo fuenteE simplemente- re$uerimos ms instrucciones primiti&as para describir procesos e$ui&alentes. Esto es una des&entaja debido a $ue dificulta el mantenimiento de los programas ' reduce la producti&idad de los programadores.

!aracter*sticas del Lenguaje (nsam)lador

Afectacin de .ecursos Incluso- con la &entaja de poder reali)ar todo mediante Lenguaje Ensamblador- e0iste el problema de llegar a afectar los recursos de la m$uina debido a un mal manejo de memoria pro&ocando blo$ueos o in(ibiciones de la m$uina en cuestin ' $ue re$uiera reiniciarse. El problema est en la reali)acin de secuencias in&lidas $ue normalmente no aparecen en un lenguaje de alto ni&el.

!aracter*sticas del Lenguaje (nsam)lador

Porta)ilidad 2ebido a $ue e0iste un Lenguaje ensamblador para cada tipo de m$uina- se &uel&e una eleccin inapropiada si se trata de ejecutar los programas en distintos sistemas operati&os o ar$uitecturas de procesador. El contraste con lenguajes de 3lto ni&el como 36SI #- es $ue slo se re$uiere modificar alrededor del 18G del cdigo al cambiar de plataformacontrario al Lenguaje Ensamblador donde es necesario normalmente reescribir el cdigo en su totalidad.

Im"ortancia del Lenguaje (nsam)lador

3=n muc(os aparatos ' mecanismos re$uieren del lenguaje ensamblador debido a la sencille) de su funcionamiento. Es necesario para dispositi&os $ue dispongan de una cantidad relati&amente baja de memoria-tanto /+" como /3". 3paratos de la &ida cotidiana re$uieren ser programados en lenguaje ensamblador *puertas el!ctricas- controles remotos- sistema Fuel Injection de un auto promedio- tel!fonos inalmbricosidentificadores de llamadas- tarjetas de e0pansin de una P#- perif!ricos de entrada.salida- entre una gran &ariedad,.

Im"ortancia del Lenguaje (nsam)lador

2ispositi&os $ue no cuentan con una capa de Software o sistema operati&ore$uieren de este lenguaje para manipular directamente el funcionamiento del (ardware. Los tel!fonos celulares se programaban directamente en lenguaje ensamblador con respecto a la ar$uitectura del dispositi&o- (aci!ndolo eficiente en funcionamiento seg=n las especificaciones del aparato.

+entajas del Lenguaje (nsam)lador


Su ejecucin es mu' eficiente. Permite administrar la memoria en dispositi&os ' microcontroladores con recursos limitados. El cdigo no re$uiere ser interpretado o traducido como en los lenguajes de alto ni&el. Es el principal lenguaje utili)ado en Electrnica ' materias afines.

/esventajas del Lenguaje (nsam)lador

Su mantenimiento es tedioso ' laborioso por ser un lenguaje de bajo ni&el. 6o siempre el cdigo puede ser debidamente documentado a causa de la cantidad de memoria disponible en el dispositi&o. El set de instrucciones es distinto dependiendo de cada dispositi&o. 6o es multiplataforma. Se genera gran cantidad de cdigo debido a su simple)a. 6o siempre e0iste la portabilidad de funcionamiento '.o rendimiento.

,A.(A0

HIui!n fue 4o(n &on 6eumannJ H#ules fueron sus aportes a la computacin modernaJ HIu! es lo $ue est en la imagen de la portada de esta presentacinJ H#rees $ue utili)ar Lenguaje Ensamblador es importanteJ HS%JH6oJ HPor $u!J

Potrebbero piacerti anche