LABORATORIO DE SISTEMAS MICROPROCESADOS PRÁCTICA N 2 ALGORITMOS ADICIONALES. Revisar algunos algoritmos que se emplearan en prácticas futuras.

Documentos relacionados
ESCUELA POLITÉCNICA NACIONAL

ESCUELA POLITÉCNICA NACIONAL

Guía práctica de estudio 06: Lenguaje binario

Guía práctica de estudio 06: Lenguaje binario

CONVERSIONES CONVERSIÓN DE BINARIO A: Binario a Octal: se agrupan de a 3 bits y luego se lee el número , B 635,15 O 6 3 5, 1 5 O

Tipos de Datos y Representaciones. Circuitos Digitales, 2º de Ingeniero de Telecomunicación. EITE ULPGC.

Unidades Aritméticas. Full Adder de un Bit. Sumador/Restador. Full Adder de 32 Bits. Carry Lookahead de 4 Bits. Suma Rápida con Carry Lookahead.

b 1 +a 0 < b ; b=base Forma abreviada: a p-2 ) b Un número se representa por un conjunto de cifras (a i a a 1

Organización del Computador 1. Sistemas de numeración y representación de la información

Ingeniería en Computación

SUMA DESPLAZAMIENTO. Comprobación: = =216. Multiplicar 12 x 18 (resultado 216)

Titulación: Grado en Ingeniería Informática Asignatura: Fundamentos de Computadores

ING. PEDRO ALBERTO ARIAS QUINTERO

Arquitectura de Computadoras

Conversiones de sistemas de numeración

SISTEMAS NUMÉRICOS. Conocer los diferentes sistemas numéricos y su importancia en la informática y la computación

Sistemas Numéricos. Introducción n a los Sistemas Lógicos y Digitales 2009

LOGICA DIGITAL ARITMETICA DE COMPUTADORAS ASPECTOS FUNDAMENTALES 1. FORMA DE REPRESENTAR LOS NUMEROS ( FORMATO BINARIO)

Representación de Números

Lógica Computacional. Aritmética binaria

Guía número 1. Métodos numéricos. Universidad de san buenaventura de Cali

Representación de datos y aritmética básica en sistemas digitales

Sistemas Numéricos y Códigos Binarios

EJERCICIOS RESUELTOS DEL TEMA 5


APUNTES DOCENTES ASIGNATURA: ANALISIS NUMERICO ASIGNATURA: ANALISIS NUMERICO UNIDADES TECNOLÓGICAS DE SANTANDER

1.1 Sistemas de numeración. Ejemplos de sistemas de numeración posicionales. Base numérica. Circuitos Digitales

Sistemas Numéricos Transversal de Programación Básica Proyecto Curricular de Ingeniería de Sistemas

OPEN KNOWLEDGE CURSO DE METODOS NUMERICOS

GENERALIDADES SOBRE SISTEMAS NUMÉRICOS. Transversal Programación Básica

Computación 1. Representación Interna de Números

MATEMÁTICAS PARA LA COMPUTACIÓN CAPÍTULO 1. SISTEMAS NUMÉRICOS

Introducción a la Programación 11 O. Humberto Cervantes Maceda

Decimal Binario Hexadecimal Octal

SISTEMAS DIGITALES. Margarita Pérez Castellanos

OPERACIONES CON NÚMEROS BINARIOS

5 centenas + 2 decenas + 8 unidades, es decir: = 528

Práctica 1 - Representación de la información

SISTEMAS DE NUMERACIÓN CON REPRESENTACIÓN POSICIONAL DE LOS NÚMEROS

Realizar la siguiente suma y expresar el resultado en hexadecimal: Teniendo los 3 valores expresados en la misma base, podemos realizar la suma:

Numeración Maya. Numeración indo-arábiga. Sistemas de Numeración Posicional. Conversión de una base cualquiera a base 10 = 4! !

Representación de datos y aritmética básica en sistemas digitales

Representación de la Información en un computador. Ingeniería de Sistema y Automática Universidad de Valladolid

Algoritmos Multiplicación División

Computación I Representación Interna Curso 2017

SISTEMAS DE NUMERACION

TEMA 2. CODIFICACIÓN DE LA INFORMACIÓN

Agenda. 0 Operaciones aritméticas 0 ASCII 0 UTF-8 0 Código Gray. 0 Números de punto flotante

Representación de la Información

Fundamentos de TIC s. Departamento: Ingeniería e Investigaciones Tecnológicas UNIDAD NRO. 2 TRABAJO PRÁCTICO. Dr. Daniel A. Giulianelli.

Informática Básica: Representación de la información

5.2. Sistemas de codificación en binario

Universidad de San Buenaventura - Facultad de Ingeniería

Sistemas numéricos. Sistemas numéricos. Notación posicional o ponderada. Números en base 10. Notación posicional regular. Notación posicional regular

a octal A B C D E F

LÓGICA SECUENCIAL Y COMBINATORIA

Diseño de Sistemas Digitales. Evaluación. Forma de Trabajo. Diseño de Sistemas Digitales. DSD. Introducción 30/07/2012

TEMA III: OPERACIONES CON LOS DATOS

INSTITUCIÓN EDUCATIVA TÉCNICA SAGRADO CORAZÓN Aprobada según Resolución No NIT DANE SOLEDAD ATLÁNTICO.

CAPÍTULO II SISTEMAS NUMÉRICOS. Este método de representar los números se llama sistema de numeración decimal, donde 10 es la base del sistema.

Aritmética del Computador

Práctica 3 - Aritmética del Computador

Aritmética de Enteros y

Computación I Representación Interna Curso 2011

UNIDAD DIDÁCTICA #1 CONTENIDO

Operaciones Aritméticas en Números con Signo

LECCIÓN 1. CIRCUITOS ARITMÉTICOS DE SUMA Y RESTA DE ENTEROS

ANEXO 2: REPRESENTACION DE LA INFORMACION EN LOS COMPUTADORES

HOJA DE PROBLEMAS 2. SISTEMA BINARIO DE REPRESENTACIÓN NUMÉRICA. 1. Convertir los siguientes números binarios a sus equivalentes decimales: a.

Computación I Representación Interna Curso 2011

Organización del Computador. Prof. Angela Di Serio

Sistemas de Numeración. I semestre 2011

Organización de Computadoras. Clase 3

Sistemas de Numeración Operaciones - Códigos

MatemáticaDiscreta&Lógica 1

Tipos de datos y Operadores Básicos

TEMA II SISTEMAS DE NUMERACIÓN USUALES EN INFORMÁTICA.

Práctica 1. Sistemas de Numeración y Representación de la Información

SISTEMAS Y CÓDIGOS DE NUMERACIÓN

Introducción al análisis numérico

Aritmética del Computador

PLAN DE REFUERZO NOMBRE ESTUDIANTE: Nº

Lectura Obligatoria (LO-II-003) Guía de Conversiones entre sistemas de numeración

MATEMÁTICAS PARA LA COMPUTACIÓN CAPÍTULO 1. SISTEMAS NUMÉRICOS

TEMA V SISTEMAS DE NUMERACIÓN

APUNTES DE CATEDRA: SISTEMAS DE NUMERACION - REPRESENTACION INTERNA DE NUMEROS Y CARACTERES


Contenido. Introducción a los Computadores Conceptos básicos. Sistema de numeración CNM-130

Bases Numéricas. Por ejemplo: El valor en combinación de los símbolos 234 es determinado por la suma de los valores correspondientes a cada posición:

4. Aritmética y operadores

I. INTRODUCCIÓN. A cada valor de una señal digital se le llama bit y es la unidad mínima de información.

Sistemas de Numeración

REPRESENTACION DE LA INFORMACION

Sistemas numéricos -aritmética- Taller de programación

OCW-V.Muto Sistemas de numeración Cap. III CAPITULO III. SISTEMAS DE NUMERACION 1. REPRESENTACION DE LA INFORMACION

Representación de números binarios en punto fijo y punto flotante.

NÚMEROS UTILIZADOS EN ELECTRÓNICA DIGITAL

Tema 3. La Unidad Aritmético- Lógica

LABORATORIO DE COMPUTADORAS

Aritmetica del Computador

Transcripción:

FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA Carrera de Ingeniería Electrónica y Control Carrera de Ingeniería Electrónica y Telecomunicaciones Carrera de Ingeniería Electrónica y Redes de Información Carrera de Ingeniería Eléctrica LABORATORIO DE SISTEMAS MICROPROCESADOS 1. TEMA 2. OBJETIVOS PRÁCTICA N 2 ALGORITMOS ADICIONALES Revisar algunos algoritmos que se emplearan en prácticas futuras. 3. MARCO TEÓRICO 3.1. OPERACIONES DE 16 BITS Dado que el microprocesador es de 8 bits, las operaciones como suma y resta de 16 o más bits deben realizarse de 8 bits en 8 bits tomando en consideración el carry que puede generarse (o el Borrow). Revisar la nota de aplicación AVR202. 3.2. ALGORITMO DE MULTIPLICACIÓN EN 16 BITS Se puede usar el algoritmo de multiplicación aprendido en la práctica No. 1, sin embargo el microcontrolador a usar dispone de un multiplicador de hardware que puede multiplicar dos números de 8 bits cada uno con o sin signo. Es posible usar este multiplicador para realizar multiplicaciones de 16x16 según el siguiente esquema (Revisar la nota de aplicación AVR201): Fig. 1 Algoritmo de multiplicación

3.3. ALGORITMO DE DIVISIÓN EN 16 BITS El microcontrolador a usar no dispone de instrucciones de división, por lo que se debe usar el algoritmo de desplazamientos y restas aprendido en la Práctica 1. 3.4. ALGORITMO DE DIVISIÓN DE UN NÚMERO MENOR PARA UN NÚMERO MAYOR Al realizar esta operación, el cociente resulta fraccionario, pero el algoritmo aprendido en la Práctica 1 puede ser utilizado para realizar esta operación con modificaciones menores. El algoritmo de la división explicado en la Práctica 1 iniciaba con 8 ceros en la parte izquierda y a continuación los 8 bits del dividendo en la parte derecha, luego se realizaba el proceso de 8 desplazamientos a la izquierda con sus respectivas restas, finalmente los 8 bits más significativos (los de la izquierda) del resultado corresponden al residuo y los 8 bits menos significativos (los de la derecha) corresponden al cociente. Este algoritmo es válido para dividir un número menor entre uno mayor con las siguientes modificaciones: Iniciar con los 8 bits del dividendo en la parte izquierda y colocar los 8 ceros en la parte derecha, a continuación realizar exactamente el mismo proceso de 8 desplazamientos y restas; finalmente los 8 bits más significativas del resultado corresponden al residuo y los 8 bits menos significativos corresponden al cociente. Pero el cociente debe ser interpretado de diferente manera: Asuma que el punto decimal está antes del bit más significativo, es decir el bit más significativo tiene un valor de 2-1, el siguiente 2-2, y así sucesivamente. Ejemplo con 4 bits. 2/7 DIVIDENDO 2: 0 0 1 0 DIVIDENDO DIVISOR 7: 0 1 1 0 0 0 0 0 COMPLEMENTO A 2 7*: 0 1 0 0 0 0 0 0 1 CARRY 0 1 1 0 1 1 0 0 0 0 0 0 0 2 CARRY 1 0 0 0 1 0 0 0 1 CARRY 0 1 0 1 1 0 0 1 0 0 0 1 0 3 0 1 0 0 0 1 0 0 4

CARRY 0 1 1 0 1 RESIDUO COCIENTE 0 1 0 0 0 1 0 0 2-1 2-2 2-3 2-4 2-1 2-2 2-3 2-4 0.25 0.25 3.5. REPRESENTACIÓN DE NÚMEROS FRACCIONARIOS La representación de números fraccionarios en el microcontrolador a usar, no está estandarizada, pues su Unidad Aritmética y Lógica trabaja con enteros. Hay algunas maneras usuales de hacerlo, como por ejemplo: Llevar por separado (en registros independientes) la parte entera y la parte fraccionaria, que sería útil si se usa el algoritmo de la división explicado en el último párrafo. La forma estandarizada que usan muchos de los lenguajes (Basic, C, etc.) y con la que trabajan las unidades de punto flotante (FPU) de muchos microprocesadores de uso general (Standard IEEE 754). Se asignan espacios para el signo, el exponente y la mantisa (cada uno por separado) en una secuencia de bits. Para realizar operaciones usando esta representación se requiere de un conjunto bastante complejo de algoritmos. 3.6. REPRESENTACIÓN DE NÚMEROS EN BCD Las personas están familiarizadas con el sistema de numeración en base 10, al contrario del microcontrolador que trabaja en binario. Para mostrar números en base 10 en displays de 7 segmentos es necesaria una rutina en el microprocesador que convierta de binario a BCD y luego de BCD a 7 segmentos. Para transformar números enteros binarios a BCD se puede usar el algoritmo de divisiones sucesivas para 10, y para los números fraccionarios binarios a BCD por el método de multiplicaciones sucesivas por 10. Este método se puede aplicar si el microprocesador dispone de la división entre sus instrucciones( que no es el caso del micrcontrolador que usaremos). Otro método consiste en restas sucesivas de múltiplos de 10, por ejemplo se resta sucesivamente 1000 del número en binario y se lleva la cuenta de cuántas veces se lo puede hacer antes de que me dé un valor negativo, luego se procede a restar 100 sucesivamente, luego 10, etc. Sin embargo este método tiene el problema que su tiempo de ejecución es variable y depende del número a convertir. Este método es simple y puede ser usado si no importa el tiempo variable de ejecución. Hay una variación del algoritmo de dividir para 10, y s encuentra en la nota de aplicación AVR204, basado en sumas y desplazamientos.

4. TRABAJO PREPARATORIO Si bien esta es una sesión de trabajo tutorial, el estudiante debe traer preparados por escrito (A MANO) lo que se pide en el párrafo siguiente según el día de la práctica. 4.1. Realizar dos ejemplos de multiplicación con números de 16 bits, usando el algoritmo de la Fig. 1 empleando notación hexadecimal. Comprobar sus resultados. 4.2. Realizar la siguiente división (8 bits), usando el algoritmo de la Práctica 1 con los ajustes mencionados en esta hoja guía. Comprobar sus resultados. 4.2.1. Lunes: 24/85 4.2.2. Miércoles: 40/103 4.2.3. Jueves: 52/61 4.2.4. Viernes: 80/ 95 4.3. Consultar el formato de representación en punto flotante (Standard IEEE 754) para 32, 64 y 80 bits. Representar en formato IEEE752 de 32 bits los siguientes números, mostrando sus cálculos: 4.3.1. Lunes 422,75 4.3.2. Miércoles 311,125 4.3.3. Jueves 276,625 4.3.4. Viernes 31,875 4.4. Convertir los siguientes números que están en formato IEEE752 de 32 bits a un número en base 10, mostrando sus cálculos (los números se han dividido en grupos de 4 bits solamente para que sea más fácil su lectura): 4.4.1. Lunes 0100_0010_1111_1101_0100_0000_0000_0000 4.4.2. Miércoles 1011_1111_0010_1000_0000_0000_0000_0000 4.4.3. Jueves 0011_1111_1111_1100_0000_0000_0000_0000 4.4.4. Viernes 1100_0011_1111_1010_1111_0000_0000_0000 4.5. Aplicar el método de conversión de binario a BCD, mediante el algoritmo basado en desplazamientos de aplicación AVR204, para los siguientes números en binario (mostrar todo el proceso) 4.5.1. Lunes 10111111 4.5.2. Miércoles 10011101 4.5.3. Jueves 10101011 4.5.4. Viernes 11010101 5. EQUIPO Y MATERIALES Material de escritorio.

6. PROCEDIMIENTO Esta práctica es una sesión tutorial el instructor desarrollará los temas y el estudiante realizará los ejercicios que se le planteen en el laboratorio. 7. INFORME 7.1. Presentar lo que el instructor solicite. 7.2. Conclusiones y Recomendaciones. 7.3. Bibliografía. 8. REFERENCIAS 8.1. Notas de aplicación de ATMEL AVR200, AVR201, AVR202, AVR204 8.2. http://www.atmel.com/products/microcontrollers/avr/default.aspx?tab=document s Elaborado por: Patricio Chico Revisado por: Patricio Chico.- Responsable de la asignatura