Computing">
Investigacion 4.3 4.4 4.5
Investigacion 4.3 4.4 4.5
Investigacion 4.3 4.4 4.5
Justificación. ............................................................................................................ 3
Características ..................................................................................................... 8
Macroensambladores. .................................................................................... 10
Microensambladores. ..................................................................................... 10
Ventajas. ............................................................................................................ 10
Desventajas ....................................................................................................... 10
Codificación de Hamming...................................................................................... 11
Conclusión............................................................................................................. 12
Referencias ........................................................................................................... 13
Objetivo.
Tener conocimiento de que es un microcontrolador, su característica en que
lenguajes se utilizaran, como es que se utilizan, las instrucciones que se deben de
hacer, así como sus tipos de arquitecturas con las que cuenta, a pesar del uso de
lenguajes ensamblador, también se tiene que saber los tipos de lenguajes de
ensamblador que se utilizan, como sus ventajas y desventajas.
Justificación.
La investigación da apoyo a la presentación, respecto a obtener la información
necesaria para extraer la información más indispensable, del cual se obtendrá como
concepto, características, aplicaciones y su uso de lenguaje, todo esto es lo que la
investigación aporta al lector y saber de qué se tratará el tema, ya que se deberá
dar una explicación de una manera clara y concisa sin tener que hablar de tanta
información, todo esto para la mayor comprensión del lector.
4.4 Conjunto de instrucciones.
Un conjunto de instrucciones o repertorio de instrucciones, juego de instrucciones o
ISA (del inglés Instruction Set Architecture, Arquitectura del Conjunto de
Instrucciones) es una especificación que detalla las instrucciones que una CPU de
un ordenador puede entender y ejecutar, o el conjunto de todos los comandos
implementados por un diseño particular de una CPU. El término describe los
aspectos del procesador generalmente visibles a un programador, incluyendo los
tipos de datos nativos, las instrucciones, los registros, la arquitectura de memoria y
las interrupciones, entre otros aspectos.
• ADDWF: Suma W y f
• ANDWF: Realiza la operación lógica AND entre el registro W y el registro "f".
Si "d" es 0 el resultado se almacena en el registro W. Si "d" es 1, el resultado
se almacena en el registro "f".
• CLRF: Borra un registro ¨f¨
• CLRW: Borra el registro de trabajo W
• COMF: Complementa el registro f
• DECF: Decrementa f en 1
• DECFSZ: Decrementa en 1 y salta si el resultado es 0
• INCF: Incrementa el registro f
• INCFSZ: Incrementa en 1 y salta si el resultado es 0
• IORWF: W OR f
• Flags afectados: Z
• MOVF: Mover el registro f
• RLF: Rota el registro f a la izquierda
• RRF: Rota el registro f a la derecha
• SUBWF: Resta f - W
• SWAPF: Intercambio de f
• XORWF:Realiza la función lógica OR exclusiva entre el contenido del registro
Wy
• NOP: No operación. No realiza ninguna operacion, solo consume un ciclo de
reloj
• BCF: Borra el bit 'b'del registro 'f'
• BSF: Activa el bit 'b' del registro 'f'
• BTFSC: Checa un bit y salta si es 0
• BTFSS: Checa un bit y salta si es 1
Tipos de arquitecturas
Arquitectura CISC.
CISC, del inglés Complex instruction set computing, Computadora de Conjunto de
Instrucciones Complejo. Los microprocesadores CISC tienen un conjunto de
instrucciones que se caracteriza por ser muy amplio y que permiten realizar
operaciones complejas entre operandos situados en la memoria o en los registros
internos.
Este tipo de repertorio dificulta el paralelismo entre instrucciones, por lo que en la
actualidad, la mayoría de los sistemas CISC de alto rendimiento convierten las
instrucciones complejas en varias instrucciones simples del tipo RISC, llamadas
generalmente microinstrucciones.
Arquitectura RISC.
RISC, del inglés Reduced Instruction Set Computer, Computadora con Conjunto de
Instrucciones Reducido. Se centra en la obtención de procesadores con las
siguientes características fundamentales:
Arquitectura SISC.
(Simple Instruction Set Computing) es un tipo de arquitectura de microprocesadores
orientada al procesamiento de tareas en paralelo. Esto se implementa mediante el
uso de la tecnología VLSI, que permite a múltiples dispositivos de bajo costo que se
utilicen conjuntamente para resolver un problema particular dividido en partes
disjuntas. La arquitectura RISC es un subconjunto del SISC, centrada en la
velocidad de procesamiento debido a un conjunto de instrucciones reducido.
Características
• El lenguaje ensamblador es difícilmente portable, es decir, un código escrito
para un Microprocesador, suele necesitar ser modificado, muchas veces en
su totalidad para poder ser usado en otra máquina distinta, aun con el mismo
Microprocesador, solo pueden ser reutilizados secciones especiales del
código programado.
• Los programas hechos en lenguaje ensamblador, al ser programado
directamente sobre Hardware, son generalmente más rápidos y consumen
menos recursos del sistema (memoria RAM y ROM). 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 de programar en un lenguaje 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.
• El lenguaje ensamblador es un código estructurado y gravitatorio
desarrollado sobre un archivo de programación (.ASM), en el cual pueden
existir varios programas, macros o rutinas que pueden ser llamados entre sí.
Ensambladores Cruzados.
Se denominan así los ensambladores que se utilizan en una computadora que
posee un procesador diferente al que tendrán las computadoras donde va a
ejecutarse el programa objeto producido. El empleo de este tipo de traductores
permite aprovechar. El soporte de medios físicos (discos, impresoras, pantallas,
etc.), y de programación que ofrecen las máquinas potentes para desarrollar
programas que luego los van a ejecutar sistemas muy especializados en
determinados tipos de tareas.
Ensambladores Residentes.
Son aquellos que permanecen en la memoria principal de la computadora y cargan,
para su ejecución al programa objeto producido. Este tipo de ensamblador tiene la
ventaja de que se puede comprobar inmediatamente el programa sin necesidad de
transportarlo un lugar a otro, como se hacía en cross assembler, y sin necesidad de
programas simuladores.
Macroensambladores.
Son ensambladores que permiten el uso de microinstrucciones (macros). Debido a
que su potencia, normalmente son programas robustos que no permanecen en
memoria una vez generado el programa objeto. Puede variar la complejidad de los
mismos dependiendo de las posibilidades de definición y manipulación de las
macroinstrucciones, pero normalmente son programas bastantes complejos, por lo
que suelen ser ensambladores residentes.
Microensambladores.
Generalmente, los procesadores utilizados en las computadoras tienen un
repertorio fijo de instrucciones, es decir, que el intérprete de las mismas interpretaba
de igual forma un determinado codigo de operación. El programa que indica al
intérprete de instrucciones de la UCP como debe actuar se denomina
microprograma. El programa que ayuda a realizar esta microprograma se llama
micro ensamblador. Existen procesadores que permiten la modificación de sus
microprogramas, para lo cual se utilizan micro ensambladores.
Ventajas.
• Rápido en ejecución. (Velocidad de ejecución)
• Ahorra memoria.
• Pocas instrucciones.
• Gratis.
Desventajas
• Difícil programar. (difícil de comprender la metodología de la programación)
• Susceptible a errores. (difícil de encontrar un error)
4.6 Codificación.
El codificador asigna un código binario a cada nivel de salida del cuantificador. Así
si el cuantificador tiene L niveles habrá 2n=L códigos distintos, donde cada palabra
de código se corresponde con uno y solo un nivel.
Codificación NRZI
El NRZI mantiene constante el nivel de tensión la duración del bit. Los datos se
codifican mediante la presencia o ausencia de transmisión de la señal. Un 1 se
codifica mediante la transición (bajo a alto o alto a bajo) al principio del intervalo de
señalización, mientras que un cero se representa por la ausencia de transmisión.
Codificación de Hamming
Este código fue propuesto por R. W. Hamming en 1950 y permite a través de un
subconjunto de códigos de control de paridad localizar la presencia de errores
dentro del mensaje. Estos códigos tienen como muy poca distancia mínima 3.
El código Hamming es clasificado como un código de bloque por que tiene como
entrada un grupo (bloque) de m bits de datos a los cuales se le agregan un grupo
de r bits de parida de acuerdo a reglas preestablecidas, dando como salida un grupo
de n bits comúnmente llamado palabra-código. Así mismo se dice que es lineal
porque satisface la condición de que cualquier par de palabras-código al ser
sumadas en modulo 2 producen otra palabra existente dentro del conjunto
empleado para codificar los posibles mensajes.
Un código de Hamming se puede denotar mediante un par (n,m). Sin 2embargo, los
valores de n y m deberán verificar una serie de condiciones:
Por lo tanto, a cada palabra original se le añade unos bits de paridad para obtener
la palabra de código, de forma que estos bits de paridad sirvan posteriormente para
encontrar y corregir errores que se produzcan en la transmisión.
Conclusión
Con respecto a cada uno de nuestros temas podemos concluir lo siguiente cualquier
conjunto de instrucciones se puede implementar de varias maneras. Todas las
maneras de implementar un conjunto de instrucciones dan el mismo modelo
programado, y todas pueden hacer funcionar los mismos ejecutables binarios. Las
varias maneras de implementar un conjunto de instrucciones dan diversas
compensaciones entre el coste, el funcionamiento, el consumo de energía, el
tamaño, etc. En el caso del lenguaje ensamblador a pesar de ser más rápido de
cualquier otro lenguaje es también el más complejo por eso es utilizado para
complementar los limitantes de los lenguajes de programación de alto nivel. Por
ultimo las técnicas de codificación de gran importancia, sin ellas no serían posible
lo que es el envío y recepción de datos, ya que son parte importante para lograr la
comunicación entre equipos de cómputo. Dependiendo de la situación se deberá
usar una u otra codificación lo cual traerá ventajas y desventajas, para ello debemos
analizar cuál es el tipo de codificación adecuado según lo que vayamos a realizar,
para así obtener el resultado deseado y de la manera más eficiente posible.
Referencias
(29 de novienbre de 2010). Obtenido de 4.2.4 LENGUAJE ENSAMBLADOR:
https://silvamondragon.wordpress.com/2010/11/29/4-2-4-lenguaje-
ensamblador/