Programación en ensamblador y en alto nivel (C)

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Programación en ensamblador y en alto nivel (C)"

Transcripción

1 Programación en ensamblador y en alto nivel (C) Taller de Microcontroladores año 2012 Optativa de grado y Curso de Posgrado

2 El ISAdel AVR Preliminares 32 registros de 8 bits: R0 a R31 Los registros pueden ser usados por su nombre genérico (Rx) o renombrados mediante una directiva.def.def registrotemporal = r16 Las instrucciones son en general- de 16 bits, con cero, uno o dos operandos para instrucciones diádicas, el resultado es el primer operando Add r5, r4 ; r5 = r5 + r4 en las instrucciones con operandos inmediatos el destino sólo puede ser un registro del segundo grupo (r16..r31) Addi r5, 4 Addi r20, 4 ; INVALIDO!!! ; VALIDO!!!

3 El ISAdel AVR Los pares de registros r26:r27, r28:r29 y r30:r31 actúan como los registros de 16 bits X, Y y Z respectivamente. X, Y y Z se usan para acceder a la SRAM y Z para acceso a la memoria de programa Las partes alta y baja de los registros indice (X, Y y Z) se acceden como XH, XL; YH, YL y ZH, ZL respectivamente. Los puertos (A, B, C y D) tienen siempre una dirección fija independientemente del modelo de procesador. La SRAM no se accede directamente por al ALU de la CPU. El acceso a la SRAM se realiza a través de dos instrucciones específicas: STS y LDS. STS 0x0060, r1 LDS r1, 0x0060 ; M[0x0060] = r1 ; r1 = M[0x0060] El AVR soporta pila de hardware apuntada por un registro de 16 bits SPH:SPL.

4 El ISAdel AVR La pila crece hacia zonas bajas de memoria. La variable (de ensamblador) RAMEND aporta el valor de la dirección mas alta de la memoria SRAM (la cual debe ser cargada en el SP) Ldi r16, HIGH(RAMEND) Out SPH, r16 Ldi r16, LOW(RAMEND) Out SPL, r16 Las instrucciones PUSH y POP escriben y leen directamente de la pila

5 El ISAdel AVR Diseño optimizado para ejecución eficiente de código C. Las estructuras mas frecuentes de C se ensamblan en pocas (1, 2 ó 3) instrucciones del procesador. Aritméticas y lógicas Salto Grupos de instrucciones Transferencia de datos Bit y bit-test Control de CPU

6 Instrucciones aritmético-lógicas Add rd, rs ; rd = rd + rs Adiw rdl, W ; rdh:rdl = rdh:rdl + W Inc rd ; rd = rd + 1 Mul rd, rs ; R1:R0 = rd * rs Fmul rd, rs ; R1:R0 = (rd * rs) << 1 Mulsu rd, rs ; R1:R0 = rd * rs Tst rd ; rd = rd rd..

7 Instrucciones de salto Rjmp k ; PC = PC + k + 1 Ijmp Jmp k ; PC = PC + Z ; PC = k Cpse rd, rs ; if (rd==rs) PC = PC + (2 else 3) Sbrc rs, b ; if (rs(b)==0) PC = PC + (2 else 3) Sbrs rs, b ; if (rs(b)==1) PC = PC + (2 else 3) Breq k ; if (Z==1) PC = PC + k + 1 Call k ; push PC, PC = k Ret ; pop PC

8 Instrucciones de transferencia de datos Mov rd, rs ; rd = rs Movw rd, rs ; rd+1:rd = rs+1:rs Ldi rd, k ; rd = k Ld rd, X ; rd = (X) ; St X, rs Ld rd, X+ ; rd = (X), X = X + 1 ; St X+, rs Ld rd, -X ; X = X 1, rd = (X) ; St -X, rs Ldd rd, Y+q; rd = (Y+q) ; Std Y+q, rs Lds rd, k ; rd = (k) ; Sts k, rs Lpm ; R0 = (Z) Lpm rd, Z ; rd = (Z) Spm ; (Z) = R1:R0 Spm k, rs ; (Z) = rs+1:rs In rd, P ; rd = P ; Out P, rs

9 Tratamiento de bits Sbi P, b ; IO(P,b) = 1 ; Cbi P, b Bset s ; SREG(s) = 1 ; Bclr s Bst rd, b ; T = rd(b) ; Bld rd, s Sec ; C = 1 ; Clc Sei ; I = 1 ; Cli Lsl rd ; rd(n+1) = rd(n), rd(0) = 0 Clt ; T = 0 ; Set.

10 Control del procesador Nop Sleep Wdr ; no operation ; sleep processor ; watch dog reset

11 Estructura de un programa en ensamblador Posee los siguientes elementos: Archivos a incluir (.include).include "8515def.inc.include Uart.asm ; Incluye el archivo completo en este punto del archivo actual Reserva de espacio de memoria (.DB).DB 123,56,34,1.DB Esto es un texto.dw ; lista de 4 bytes ; lista de bytes, cadena de caracteres. ; una palabra Definición de símbolos (.def).def registrotemporal=r16 ldi registrotemporal, 150

12 Estructura de un programa en ensamblador Definición de constantes (.EQU).EQU bitcambiado = 5 sbi PortB, bitcambiado cbi PortB, bitcambiado Modificación de dirección por defecto (.org).org 0x0000 rjmp reset.org 0x0016 ldi r1, 54.org 0x0010.DB 1,2,3,4,5,6

13 Estructura de un programa en ensamblador Inicio de código ejecutable (.CODE) Asignación a memoria SRAM (.DSEG) Definición de sección de eeprom (.ESEG) Definición de macros (.MACRO).MACRO Delay nop nop nop.endmacro

14 Programando en C Hints importantes en un código C: Archivos include importantes: #include <avr/io.h> ; Definiciones de IO específicas para el dispositivo en uso El archivo incluye: avr\common.h ; descripción de registros comunes a todos los AVR avr\sfr_defs.h ; definición de registros especiales avr\portpins.h avr\version.h

15 Programando en C Hints importantes en un código C: La rutina principal //Función principal int main(void) { //Declaración e inicializaciones } //Ciclo infinito while(1){ //Código del programa prinicpal } Acá inicializo y activo interrupciones En el ciclo infinito se realiza el programa y/o se hace pooling a los dispositivos NOTAR QUE: Un programa C siempre arranca ejecutando la rutina main Un programa en assembler siempre arranca ejecutando la interrupción 0 [Reset]

16 Programando en C La rutina principal #include <avr\io.h> #include <util\delay.h> int main(void) { //Puerto D como salida DDRD = 0xFF; } while (1){ _delay_ms(150); } portd(0xe4); portd(0xe8); portd(0xd8); portd(0xd4);.include "m8def.inc".org.def.def.def.def 0x0000 rjmp RESET ;Reset Handle Temp1 = r16 Temp2 = r17 Temp3 = r18 Step = r20 ; genera un delay de 256*256 unidades de tiempo Delay: Loop1: ldi Temp2,0 Loop2: inc Temp2 breq Loop1End rjmp Loop2 Loop1End: inc Temp1 breq Loop1End rjmp Loop1 Loop1End: ret RESET: ldi Temp1, low(ramend) out SPL, Temp1 ldi Temp1, high(ramend) out SPH, Temp1 ldi Temp1, 0xff out DDRD, Temp1 ldi Temp1, 0 Loop0: ldi Temp3, 55

17 Programando en C Las interrupciones #include <avr/io.h> #include <avr/interrupt.h> unsigned int incomingbyte = 0x00; #define CALC_BAUDRATE(baudrate) F_CPU/16/((baudrate)-1) #define USART_BAUDRATE 51 void USART_Init(){ //Set baud rate UBRRL=(unsigned char)usart_baudrate; //low byte UBRRH=(unsigned char)(usart_baudrate>>8); //high byte //Data format: asynchronous,no parity, 1 stop bit, 8 bit size UCSRC=(1<<URSEL) (0<<UMSEL) (0<<UPM1) (0<<UPM0) (0<<USBS) (0<<UCSZ2) (1<<UCSZ1) (1<<UCSZ0); //Enable Receiver and Interrupt on receive complete UCSRB=(1<<RXEN) (1<<RXCIE); }

18 Programando en C Las interrupciones void USART_Tx( unsigned int data ){ /* Wait for empty transmit buffer */ while (!( UCSRA & (1<<UDRE)) ){} /* Put data into buffer, sends the data */ UDR = data; } ISR(USART_RXC_vect) { incomingbyte = UDR; } int main(void){ USART_Init(); ENABLE_IRQ; USART_Tx('O'); USART_Tx('K'); USART_Tx(':'); } for(;;){}

Guía de práctica. Dispositivo

Guía de práctica. Dispositivo Guía de práctica Que queremos hacer? Vamos a hacer el Hello World del mundo de la electrónica que no es más que prender y apagar un LED a intervalos regulares. PROYECTO LAPEGÜE 1 = Prende Dispositivo 0

Más detalles

Grado Ingeniería Informática. Tecnologías Informáticas. Estructura de Computadores. Examen final. 1ª Convocatoria. Junio 2011.

Grado Ingeniería Informática. Tecnologías Informáticas. Estructura de Computadores. Examen final. 1ª Convocatoria. Junio 2011. Grado Ingeniería Informática. Tecnologías Informáticas. Estructura de Computadores. Examen final. ª Convocatoria. Junio 0.. Se propone la arquitectura modificada que se muestra en la figura para el CS00.

Más detalles

Grado en Ingeniería Informática - Ingeniería del Software Estructura de Computadores - Prueba 2 - Junio de 2011

Grado en Ingeniería Informática - Ingeniería del Software Estructura de Computadores - Prueba 2 - Junio de 2011 Apellidos, Nombre: Grado en Ingeniería Informática - Ingeniería del Software Estructura de Computadores - Prueba 2 - Junio de 2011 Problema 1. Realice un programa que calcule la cantidad de números negativos

Más detalles

Tema 4: Microcontrolador AT90S2313

Tema 4: Microcontrolador AT90S2313 Tema 4: - Descripción externa - Arquitectura interna - Organización de memoria - Registros de propósito general - Registros de entrada/salida (SREG,SPL) - Modos de direccionamiento - Juego de instrucciones

Más detalles

3. PROGRAMACIÓN Microcontroladores

3. PROGRAMACIÓN Microcontroladores 3. PROGRAMACIÓN Microcontroladores M. C. Felipe Santiago Espinosa Octubre de 2016 2 Lenguaje ensamblador Un programa en Ensamblador puede incluir: Instrucciones: Elementos del lenguaje que se traducen

Más detalles

Valores iniciales para datos en memoria y en registros internos de CS2010 y AVR

Valores iniciales para datos en memoria y en registros internos de CS2010 y AVR I ndice Valores iniciales de datos... 1 Operadores Verilog... 2 Calculadora... 3 Computador simple 2... 4 Computador simple 2010 (Pasmao)... 5 AVR... 8 Valores iniciales para datos en memoria y en registros

Más detalles

Microcontroladores de Atmel

Microcontroladores de Atmel Microcontroladores de Atmel Familia AVR Ing. Marone José Introducción: Historia Los AVR son una familia de microcontroladores RISC de Atmel. La arquitectura de los AVR fue concebida por dos estudiantes

Más detalles

OPERACIONES BÁSICAS Y DIRECCIONAMIENTO

OPERACIONES BÁSICAS Y DIRECCIONAMIENTO Todos los derechos de propiedad intelectual de esta obra pertenecen en exclusiva a la Universidad Europea de Madrid, S.L.U. Queda terminantemente prohibida la reproducción, puesta a disposición del público

Más detalles

Arquitectura intel 8086. Preámbulo de OSO para alumnos formados en el procesador MIPS. Asignatura Sistemas Operativos Murcia abril de 2005

Arquitectura intel 8086. Preámbulo de OSO para alumnos formados en el procesador MIPS. Asignatura Sistemas Operativos Murcia abril de 2005 Arquitectura intel 8086 Preámbulo de OSO para alumnos formados en el procesador MIPS Asignatura Sistemas Operativos Murcia abril de 2005 página 1. Introducción 2 2.- Direccionamiento y Registros de Segmento

Más detalles

Aprendiendo a programar Microcontroladores PIC en Lenguaje C con CCS

Aprendiendo a programar Microcontroladores PIC en Lenguaje C con CCS Aprendiendo a programar Microcontroladores PIC en Lenguaje C con CCS Por Andrés Raúl Bruno Saravia Entrega Nº 5. Cómo declaramos una variable en Lenguaje C? En C siempre se deben declarar las variables.

Más detalles

6-REGISTROS DEL 8086 Y DEL 80286

6-REGISTROS DEL 8086 Y DEL 80286 ESTRUCTURA DE COMPUTADORES I (Capítulo 6: Los registros del microprocesador 8086) 1/7 6-REGISTROS DEL 8086 Y DEL 80286 6.1 INTRODUCCIÓN: Dentro del procesador existen unos contenedores especiales de 16

Más detalles

Lector de códigos de barras con microcontrolador Motorola HC11

Lector de códigos de barras con microcontrolador Motorola HC11 Lector de códigos de barras con microcontrolador Motorola HC11 Alumno: Pinat Gastón José Legajo: 10.813 Introducción: Los códigos de barras son ampliamente utilizados por los fabricantes para identificar

Más detalles

ISA (Instruction Set Architecture) Arquitectura del conjunto de instrucciones

ISA (Instruction Set Architecture) Arquitectura del conjunto de instrucciones ISA (Instruction Set Architecture) Arquitectura del conjunto de instrucciones Instruction Set Architecture (ISA) Arquitectura del conjunto de instrucciones software Conjunto de instrucciones hardware Universidad

Más detalles

Circuitos Digitales II y Laboratorio Electrónica Digital II y Laboratorio

Circuitos Digitales II y Laboratorio Electrónica Digital II y Laboratorio Circuitos Digitales II y Laboratorio Electrónica Digital II y Laboratorio Fundamentos de Arquitectura de Computadores Modelo de von Neumann Profesor: Felipe Cabarcas Correo:cabarcas@udea.edu.co Oficina:

Más detalles

Entrada/Salida. Polling e Interrupciones. Verano de 2011. Mariano Moscato. Organización del Computador 1

Entrada/Salida. Polling e Interrupciones. Verano de 2011. Mariano Moscato. Organización del Computador 1 Entrada/Salida Polling e Interrupciones Mariano Moscato Organización del Computador 1 Verano de 2011 El GuidoBot Robot docente Basado en tecnología ORGA1 tiene un procesador y una memoria ORGA1 Sus dispositivos

Más detalles

Apellidos Nombre DNI

Apellidos Nombre DNI A continuación se muestra el listado de un programa cuyo objetivo es encontrar una palabra dentro de una cadena de caracteres de la sección de datos y copiar dicha palabra en otra zona de la sección de

Más detalles

Práctica 8 - DMA y Almacenamiento Masivo

Práctica 8 - DMA y Almacenamiento Masivo Práctica 8 - DMA y Almacenamiento Masivo Organización del Computador 1 Segundo Cuatrimestre 2011 Ejercicio 1 El siguiente protocolo de handshaking permite a un amo (por ejemplo: CPU) ordenar la realización

Más detalles

Análisis general de un Microprocesador

Análisis general de un Microprocesador Análisis general de un Microprocesador Arquitectura del chip Repertorio de instrucciones Sistema mínimo Señales de control Función de cada pin del µp Herramientas de desarrollo Performance. ARQUITECTURA

Más detalles

Arquitectura de Computadores

Arquitectura de Computadores Arquitectura de Computadores Ricardo.Sanz@upm.es Curso 2004-2005 Arquitectura de Computadores Arquitectura de computadores es la disciplina que estudia la organización y funcionamiento de los computadores

Más detalles

Práctica 4 - Arquitectura CPU

Práctica 4 - Arquitectura CPU Práctica 4 - Arquitectura CPU Organización del Computador 1 1er. Cuatrimestre 2006 Programación en Assembler Ejercicio 1 Dados los siguientes valores de la memoria y del registro R0 de la arquitectura

Más detalles

Tema 2: Arquitectura del repertorio de instrucciones. Visión del computador que tiene el programador en bajo nivel.

Tema 2: Arquitectura del repertorio de instrucciones. Visión del computador que tiene el programador en bajo nivel. Tema 2: Arquitectura del repertorio de instrucciones Visión del computador que tiene el programador en bajo nivel. Lo que el programador en lenguaje ensamblador debe conocer para escribir programas: (1)

Más detalles

Los Microprocesadores MIA José Rafael Rojano Cáceres Arquitectura de Computadoras I Evolución Histórica de los Microprocesadores Intel Evolución de los microprocesadores Intel de la década de los 70 4004

Más detalles

EXAMEN ORDINARIO DE ORGANIZACIÓN DE COMPUTADORES

EXAMEN ORDINARIO DE ORGANIZACIÓN DE COMPUTADORES 6 de febrero de 2008. 16 h. Escuela Técnica Superior de Ingeniería Informática Camino del Cementerio s/n. 47011 Valladolid EXAMEN ORDINARIO DE ORGANIZACIÓN DE COMPUTADORES NOTA: Los alumnos con las prácticas

Más detalles

Entorno de Ejecución del Procesador Intel Pentium

Entorno de Ejecución del Procesador Intel Pentium Arquitectura de Ordenadores Arquitectura del Procesador Intel Pentium Abelardo Pardo abel@it.uc3m.es Universidad Carlos III de Madrid Departamento de Ingeniería Telemática Entorno de Ejecución del Procesador

Más detalles

Programación de Microcontroladores

Programación de Microcontroladores Programación de Microcontroladores Simulación en Crocodile Technology Práctica Nº 1 Encender un led cuando arranque el microcontrolador. Práctica Nº 2 Encender un led tres veces consecutivas. 1 Práctica

Más detalles

Ejemplo del uso de las subrutinas

Ejemplo del uso de las subrutinas Ejemplo del uso de las subrutinas Enunciado del problema: Diseñar un contador BCD que cuente de 0 a 59 para simular un timer de 60 segundos y que el conteo de dos dígitos BCD, sea desplegado en los displays

Más detalles

Control Digital en PC con MS-DOS

Control Digital en PC con MS-DOS Control Digital en PC con MS-DOS Abel Alberto Cuadrado Vega 19 de abril de 2006 1. Introducción Un PC puede ser utilizado para realizar un sistema de control digital. Para ello necesita lo siguiente: tarjeta

Más detalles

ESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES

ESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES Universidad Rey Juan Carlos ESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES Repertorio de instrucciones y modos de direccionamiento: conceptos básicos Luis Rincón Córcoles Licesio J. Rodríguez-Aragón Programa

Más detalles

Guía de programación ATMega328pa

Guía de programación ATMega328pa Guía de programación ATMega328pa Autor: Alberto J. Molina Última modificación: 6/05/13 Usted es libre de copiar, distribuir y comunicar públicamente la obra y de hacer obras derivadas siempre que se cite

Más detalles

Fundamentos de Computadores I

Fundamentos de Computadores I Universidad Rey Juan Carlos Fundamentos de Computadores I Luis Rincón Córcoles Programa 1. La familia de microprocesadores M68000 2. Características principales del MC68000 3. Modelo de programación del

Más detalles

Examen de Arquitectura de Computadores 2 22 de febrero del 2011

Examen de Arquitectura de Computadores 2 22 de febrero del 2011 Examen de Arquitectura de Computadores 2 22 de febrero del 2011 Indique su nombre completo y número de cédula en cada hoja. Numere todas las hojas e indique el total de hojas en la primera. Escriba las

Más detalles

PRACTICA #1. Aprender a programar una interrupción software empleando C y/o Ensamblador.

PRACTICA #1. Aprender a programar una interrupción software empleando C y/o Ensamblador. PRACTICA #1 Aprender a programar una interrupción software empleando C y/o Ensamblador. Aprender a manipular dispositivos externos (8253, 8255) desde C y/o ensamblador. PROCEDIMIENTO: Vamos a programar

Más detalles

La arquitectura del 8086/8088

La arquitectura del 8086/8088 Repasamos aquí la arquitectura de un PC. Para más información sobre lo aquí expuesto se puede consultar [PA01] y los capítulos iniciales de [Tej01], [Rod00] y [Nor01]. Anatomía del PC A grandes rasgos,

Más detalles

Ensamblador. Interrupciones. Dentro de una computadora existen dos clases de interrupciones:

Ensamblador. Interrupciones. Dentro de una computadora existen dos clases de interrupciones: Ensamblador Interrupciones Definición: Una interrupción es el rompimiento en la secuencia de un programa para ejecutar un programa especial llamando una rutina de servicio cuya característica principal

Más detalles

"Programación en Ensamblador del microprocesador Pentium (I)"

Programación en Ensamblador del microprocesador Pentium (I) PRÁCTICA 3 "Programación en Ensamblador del microprocesador Pentium (I)" ÍNDICE 3.1.- El microprocesador Pentium. 3.2.- Inserción de ensamblador en Visual Studio. 3.3.- Facilidades para la depuración de

Más detalles

Programación de dispositivos Arduino Asignatura Sistemas Digitales!

Programación de dispositivos Arduino Asignatura Sistemas Digitales! Programación de dispositivos Arduino Asignatura Sistemas Digitales! Gabriel Astudillo Muñoz Escuela de Ingeniería Civil en Informática Universidad de Valparaíso, Chile http://informatica.uv.cl Descripción

Más detalles

ESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES

ESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES Universidad Rey Juan Carlos ESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES Luis Rincón Córcoles Licesio J. Rodríguez-Aragón Programa 1. La familia de microprocesadores M68000 2. Características principales

Más detalles

INTERRUPCIONES. Existen 256 interrupciones En el modo real cada una tiene un vector asociado Vectores de 4 bytes: segmento + offset 32 F0 50 8A

INTERRUPCIONES. Existen 256 interrupciones En el modo real cada una tiene un vector asociado Vectores de 4 bytes: segmento + offset 32 F0 50 8A Tres tipos de interrupciones: Internas (TRAPS) Externas (HARDWARE) Software Existen 256 interrupciones En el modo real cada una tiene un vector asociado Vectores de 4 bytes: segmento + offset... 0000:0008

Más detalles

BUS I2C. IES Los Viveros Sevilla Dpto. Electrónica. 1

BUS I2C. IES Los Viveros Sevilla Dpto. Electrónica. 1 BUS I2C Se trata de un protocolo serie desarrollado por Philips Semiconductors usado por muchos integrados para comunicarse entre ellos, para su funcionamiento requiere sólo dos líneas, una de reloj (SCL)

Más detalles

Tema 1 Introducción. Arquitectura básica y Sistemas Operativos. Fundamentos de Informática

Tema 1 Introducción. Arquitectura básica y Sistemas Operativos. Fundamentos de Informática Tema 1 Introducción. Arquitectura básica y Sistemas Operativos Fundamentos de Informática Índice Descripción de un ordenador Concepto básico de Sistema Operativo Codificación de la información 2 1 Descripción

Más detalles

Funciones. Diseño de funciones. Uso de instrucción jal y retorno de subrutina.

Funciones. Diseño de funciones. Uso de instrucción jal y retorno de subrutina. MIPS Funciones 1 Funciones Diseño de funciones. Uso de instrucción jal y retorno de subrutina. Se suelen denominar funciones, procedimientos, subrutinas, subprogramas a las estructuras que emplean los

Más detalles

Tema 14. Interrupciones. Las. C. F. G.S. D.P.E. Módulo de Proyectos 1

Tema 14. Interrupciones. Las. C. F. G.S. D.P.E. Módulo de Proyectos 1 Tema 14 Las Interrupciones C. F. G.S. D.P.E. Módulo de Proyectos 1 Los PIC de la familia 16F8X poseen 4 fuentes de interrupción: Interrupción externa a través del pin RB0/INT Interrupción por overflow

Más detalles

INSTRUCCIONES CONDICIONALES

INSTRUCCIONES CONDICIONALES INSTRUCCIONES CONDICIONALES Objetivos Los objetivos que se pretenden alcanzar en este recurso son los siguientes: Aprender cuáles son los mecanismos de ejecución de código no secuencial. Definir las instrucciones

Más detalles

Guía resumida para utilizar el microcontrolador CY7C68013

Guía resumida para utilizar el microcontrolador CY7C68013 Guía resumida para utilizar el microcontrolador CY7C68013 Camilo Quintáns Graña Miguel Ángel Domínguez Gómez Vigo, 2011 Índice 1. DESCRIPCIÓN DEL HARDWARE... 3 1.1. Introducción... 3 1.2. Recursos de memoria...

Más detalles

Estructura de Computadores

Estructura de Computadores Estructura de Computadores 4.- Programación en Ensamblador Parte IV Contenido Subrutinas. Llamadas al sistema. Página 2 Subrutinas Módulos de programa que pueden reutilizarse en distintos puntos del programa.

Más detalles

Arquitectura de Computadores

Arquitectura de Computadores Arquitectura de Computadores 2. La CPU 1. Estructura de la CPU 2. Ciclo de instrucción 3. Interfaz hardware de una CPU 4. Ciclo de reloj, memoria e instrucción Arquitectura de Computadores La CPU - 1 Vamos

Más detalles

MODOS DE DIRECCIONAMIENTO DEL µc51

MODOS DE DIRECCIONAMIENTO DEL µc51 Los modos de direccionamiento son la manera que tienen los µc para accesar a los distintos recursos con los que cuenta. Para manipular los datos y códigos de operación en cada programa se tienen las siguientes

Más detalles

PRÁCTICA N 5 LABORATORIO DE SISTEMAS MICROPROCESADOS

PRÁCTICA N 5 LABORATORIO DE SISTEMAS MICROPROCESADOS 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

Más detalles

Conmutación de Tareas

Conmutación de Tareas Conmutación de Tareas Conmutación de tareas Expira el tiempo de ejecución asignado por el procesador a la tarea N El procesador almacena en memoria el estado de máquina (contexto) de la tarea N. El procesador

Más detalles

ACTIVIDADES TEMA 1. EL LENGUAJE DE LOS ORDENADORES. 4º E.S.O- SOLUCIONES.

ACTIVIDADES TEMA 1. EL LENGUAJE DE LOS ORDENADORES. 4º E.S.O- SOLUCIONES. 1.- a) Explica qué es un bit de información. Qué es el lenguaje binario? Bit es la abreviatura de Binary digit. (Dígito binario). Un bit es un dígito del lenguaje binario que es el lenguaje universal usado

Más detalles

Tema 4: Ejemplo de un computador real: ATmegaX8pa. 8-bit Microcontroller

Tema 4: Ejemplo de un computador real: ATmegaX8pa. 8-bit Microcontroller Tema 4: Ejemplo de un computador real: ATmegaX8pa 8-bit Microcontroller Índice.Introducción 2.Descripción general 3.Arquitectura interna 4.Organización de memoria 5.Modos de direccionamiento 6.Juego de

Más detalles

Estructura y Tecnología de Computadores (ITIG) Luis Rincón Córcoles Ángel Serrano Sánchez de León

Estructura y Tecnología de Computadores (ITIG) Luis Rincón Córcoles Ángel Serrano Sánchez de León Estructura y Tecnología de Computadores (ITIG) Luis Rincón Córcoles Ángel Serrano Sánchez de León Programa. Introducción. 2. Elementos de almacenamiento. 3. Elementos de proceso. 4. Elementos de interconexión.

Más detalles

Estructura de Computadores

Estructura de Computadores Estructura de Computadores Tema 4. El procesador Departamento de Informática Grupo de Arquitectura de Computadores, Comunicaciones y Sistemas UNIVERSIDAD CARLOS III DE MADRID Contenido Elementos de un

Más detalles

INSTITUTO TECNOLÓGICO SUPERIOR DE PÁNUCO APUNTES DE LA MATERIA DE: MICROPROCESADORES Y MICROCONTROLADORES I

INSTITUTO TECNOLÓGICO SUPERIOR DE PÁNUCO APUNTES DE LA MATERIA DE: MICROPROCESADORES Y MICROCONTROLADORES I INSTITUTO TECNOLÓGICO SUPERIOR DE PÁNUCO APUNTES DE LA MATERIA DE: MICROPROCESADORES Y MICROCONTROLADORES I DEPARTAMENTO DE INGENIERÍA ELECTRÓNICA ING. FORTINO VÁZQUEZ ELORZA Documento traducido de la

Más detalles

Boletín 3 - Estructura de computadores Microcontrolador AVR 1. Dirección Contenido Registro Contenido $200 $08 R0 $00 $201 $03 R1 $FF $202 $01 YH $02

Boletín 3 - Estructura de computadores Microcontrolador AVR 1. Dirección Contenido Registro Contenido $200 $08 R0 $00 $201 $03 R1 $FF $202 $01 YH $02 Boletín 3 - Estructura de computadores Microcontrolador AVR 1 Problema 1.- Considere la siguiente situación inicial, donde se indica en hexadecimal el contenido de ciertos registros y direcciones de memoria

Más detalles

Se guardan en archivos con extencion c y los cabezales con extension h

Se guardan en archivos con extencion c y los cabezales con extension h Se guardan en archivos con extencion c y los cabezales con extension h Tipos de Variables: Tipo Tamaño(bytes) Limite inferior Limite superior char 1 -- -- unsigned char 1 0 255 short int 2-32768 +32767

Más detalles

CONJUNTO DE INSTRUCCIONES µp8086

CONJUNTO DE INSTRUCCIONES µp8086 CONJUNTO DE INSTRUCCIONES µp8086 Se llama INSTRUCCIÓN a las palabras reservadas ó MNEMÓNICOS en ensamblador, los cuales se traducen a lenguaje máquina para su posterior ejecución por parte de la CPU. Existen

Más detalles

Práctica 4. Introducción a la programación en lenguaje ensamblador

Práctica 4. Introducción a la programación en lenguaje ensamblador Enunciados de prácticas Práctica 4. Introducción a la programación en lenguaje ensamblador Laboratorio de Estructura de Computadores I. T. Informática de Gestión / Sistemas Curso 2008-2009 Práctica 4:

Más detalles

2.4. Modos de direccionamiento Distintas formas que tiene la arquitectura para especificar la ubicación de los operandos.

2.4. Modos de direccionamiento Distintas formas que tiene la arquitectura para especificar la ubicación de los operandos. 2.4. Modos de direccionamiento Distintas formas que tiene la arquitectura para especificar la ubicación de los operandos. Objetivos: - Reducir el número de bits para especificar un operando en memoria.

Más detalles

PRÁCTICA N 5 LABORATORIO DE SISTEMAS MICROPROCESADOS

PRÁCTICA N 5 LABORATORIO DE SISTEMAS MICROPROCESADOS 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

Más detalles

TUTORIAL PARA PROGRAMAR UN ATMEGA8

TUTORIAL PARA PROGRAMAR UN ATMEGA8 TUTORIAL PARA PROGRAMAR UN ATMEGA8 Este tutorial está diseñado para las personas que nunca han utilizado un microcontrolador de Atmel, y quieren empezar a desarrollar sus proyectos con esta tecnología.

Más detalles

2 Sea una unidad de disco duro de brazo móvil con las siguientes características:

2 Sea una unidad de disco duro de brazo móvil con las siguientes características: 1 Sea una unidad de disco duro de brazo móvil con las siguientes características: 18 superficies, 20.331 cilindros y 400 sectores por pista. Sectores de 1.024 bytes de información neta. Velocidad de rotación:

Más detalles

Usando los Codificadores Cuadráticos

Usando los Codificadores Cuadráticos Usando los Codificadores Cuadráticos Autor: Ing. Carlos Narváez Universidad de Oriente email: cnarvaez@udo.edu.ve Introducción El presente trabajo es una introducción a los denominados codificadores cuadráticos,

Más detalles

Concurrencia: deberes. Concurrencia: Exclusión Mutua y Sincronización. Concurrencia. Dificultades con la Concurrencia

Concurrencia: deberes. Concurrencia: Exclusión Mutua y Sincronización. Concurrencia. Dificultades con la Concurrencia Concurrencia: deberes Concurrencia: Exclusión Mutua y Sincronización Capítulo 5 Comunicación entre procesos Compartir recursos Sincronización de múltiples procesos Asignación del tiempo de procesador Concurrencia

Más detalles

Boletín 3 - Estructura de computadores Microcontrolador AVR 1. Dirección Contenido Registro Contenido $200 $08 R0 $00 $201 $03 R1 $FF $202 $01 YH $02

Boletín 3 - Estructura de computadores Microcontrolador AVR 1. Dirección Contenido Registro Contenido $200 $08 R0 $00 $201 $03 R1 $FF $202 $01 YH $02 Boletín 3 - Estructura de computadores Microcontrolador AVR 1 Problema 1.- Considere la siguiente situación inicial, donde se indica en hexadecimal el contenido de ciertos registros y direcciones de memoria

Más detalles

SISTEMAS BASADOS EN MICROPROCESADOR 2º Grado Ingeniería Informática (EPS UAM) EXAMEN FINAL EXTRAORDINARIO JULIO 2013 ENUNCIADO DEL PROBLEMA

SISTEMAS BASADOS EN MICROPROCESADOR 2º Grado Ingeniería Informática (EPS UAM) EXAMEN FINAL EXTRAORDINARIO JULIO 2013 ENUNCIADO DEL PROBLEMA SISTEMAS BASADOS EN MICROPROCESADOR 2º Grado Ingeniería Informática (EPS UAM) EXAMEN FINAL EXTRAORDINARIO JULIO 2013 ENUNCIADO DEL PROBLEMA IMPLEMENTACIÓN DE UN DRIVER DOS INTERFAZ CON UN SISTEMA DE RADIO

Más detalles

Estructura de Computadores: Tema 1. Introducción. Índice. Arquitectura del i8086

Estructura de Computadores: Tema 1. Introducción. Índice. Arquitectura del i8086 Estructura de Computadores: Tema 1 El procesador Introducción Estudiaremos la arquitectura del procesador i8086 (CPU, registros,...), su gestion de la memoria y su conjunto de instrucciones. Programaremos

Más detalles

Lo que definimos como CPU (Central Process Unit) o Unidad Central de Proceso, está estructurado por tres unidades operativamente diferentes:

Lo que definimos como CPU (Central Process Unit) o Unidad Central de Proceso, está estructurado por tres unidades operativamente diferentes: Facultad de Ciencias Exactas y Naturales y Agrimensura Departamento de Ingeniería Cátedra : Proyecto Final Apuntes : Microprocesadores Tema 6-1 : Esquema de un µp. La CPU Lo que definimos como CPU (Central

Más detalles

Introducción al NASM. Convenciones de colores

Introducción al NASM. Convenciones de colores Introducción al NASM The Netwide Assembler MIA J. Rafael Rojano C. 1 Convenciones de colores Rojo= Directivas propias del nasm sin traducción directa a ensamblador Morado= Directivas del ensamblador En

Más detalles

La Unidad Procesadora.

La Unidad Procesadora. La Unidad Procesadora. En un sistema digital complejo, la capa de hardware de la máquina es el nivel más bajo del modelo de capas de un sistema microcomputarizado. La unidad procesadora es una parte del

Más detalles

Concurrencia: Exclusión mutua y Sincronización

Concurrencia: Exclusión mutua y Sincronización Concurrencia: Exclusión mutua y Sincronización Prof. Carlos Figueira Basado en materiales de Yudith Cardinale (USB) Williams Stallings, Eugene Styer Concurrencia Múltiples aplicaciones Aplicaciones estructuradas

Más detalles

MICROCONTROLADORES PIC EEPROM. Memoria de programa Características

MICROCONTROLADORES PIC EEPROM. Memoria de programa Características EEPROM. Memoria de programa Características Algunos dispositivos pueden leer la memoria de programa. Leer checksums, calibración de datos, tablas. 14-bits de datos comparados con los 8 de retlw 0xnn Accesibles

Más detalles

La memoria principal. Los subsistemas de E/S. Los buses del sistema

La memoria principal. Los subsistemas de E/S. Los buses del sistema GUIA 23: MEMORIA E/S La estructura básica de la mayoría de los ordenadores actuales se representa mediante los siguientes elementos básicos: La Unidad Central de Procesamiento, CPU La memoria principal

Más detalles

Contenidos. Archivos en C++ Archivos en C++ Introducción

Contenidos. Archivos en C++ Archivos en C++ Introducción Contenidos 1. Introducción. 2. Manipulación de ficheros. 3. Organización de archivos. 4. Tipo de almacenamiento. 5. Biblioteca de flujos. 6. Operaciones asociadas a archivos: Abrir fichero, Cerrar fichero,

Más detalles

Práctica 3: Programación con subrutinas

Práctica 3: Programación con subrutinas Práctica 3: Programación con subrutinas 3.1 Objetivos El objetivo de esta práctica es estudiar el soporte del ensamblador del ARM para la gestión de subrutinas, para lo que resulta necesario familiarizarse

Más detalles

GUIA GENERAL PARA LA PROGRAMACIÓN DEL SISTEMA EB88 BOOTLOADER: TINY INDICE

GUIA GENERAL PARA LA PROGRAMACIÓN DEL SISTEMA EB88 BOOTLOADER: TINY INDICE 1 GUIA GENERAL PARA LA PROGRAMACIÓN DEL SISTEMA EB88 BOOTLOADER: TINY INDICE 1. Información general sobre el programa Bootloader para el sistema EB88. Auto-programador (Self programming) a través del puerto

Más detalles

Instrucciones de Comunicaciones

Instrucciones de Comunicaciones Guía Rápida Instrucciones de Comunicaciones Introducción Guía Rápida Puertos lógicos (Asignación automática). Instrucciones de red. Instrucción para macros. Instrucciones para comunicaciones serie. OMRON

Más detalles

Tema 4: Ejemplo de un computador real: ATmegaX8pa. 8-bit Microcontroller

Tema 4: Ejemplo de un computador real: ATmegaX8pa. 8-bit Microcontroller Tema 4: Ejemplo de un computador real: ATmegaX8pa 8-bit Microcontroller 1 Índice Introducción Descripción general Arquitectura interna Organización de memoria Modos de direccionamiento Juego de instrucciones

Más detalles

SOLUCION Examen final IC parte B

SOLUCION Examen final IC parte B SOLUCION Examen final IC parte B Duración de esta parte del examen: 2 horas. Presentarse a este examen significa renunciar a la nota de evaluación continua de los objetivos de nivel B. Cada ejercicio se

Más detalles

Qué es un Microcontrolador?

Qué es un Microcontrolador? Curso de Microcontroladores Qué es un Microcontrolador? Al igual que la mayoría de las computadoras, los microcontroladores son simples ejecutores de instrucciones de propósito general. La verdadera estrella

Más detalles

La arquitectura CISCA

La arquitectura CISCA La arquitectura CISCA Miquel Albert Orenga Gerard Enrique Manonellas PID_00181526 CC-BY-SA PID_00181526 La arquitectura CISCA Los textos e imágenes publicados en esta obra están sujetos excepto que se

Más detalles

Tema 2: Programación de PLCs

Tema 2: Programación de PLCs Tema 2: Programación de PLCs 1. STEP 7 2. PROGRAMACIÓN BÁSICA AWL Introducción Operaciones lógicas a nivel de bit Marcas Simbólicos Flancos Temporizadores Diagnosis e información del sistema Contadores

Más detalles

2º CURSO INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN TEMA 5 ENTRADA/SALIDA. JOSÉ GARCÍA RODRÍGUEZ JOSÉ ANTONIO SERRA PÉREZ Tema 5.

2º CURSO INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN TEMA 5 ENTRADA/SALIDA. JOSÉ GARCÍA RODRÍGUEZ JOSÉ ANTONIO SERRA PÉREZ Tema 5. ARQUITECTURAS DE COMPUTADORES 2º CURSO INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN TEMA 5 ENTRADA/SALIDA JOSÉ GARCÍA RODRÍGUEZ JOSÉ ANTONIO SERRA PÉREZ Tema 5. Unidad de E/S 1 Unidad de E/S Indice Introducción.

Más detalles

Sensor de Temperatura utilizando el Starter Kit Javelin Stamp. Realizado por: Bertha Palomeque A. Rodrigo Barzola J.

Sensor de Temperatura utilizando el Starter Kit Javelin Stamp. Realizado por: Bertha Palomeque A. Rodrigo Barzola J. Sensor de Temperatura utilizando el Starter Kit Javelin Stamp Realizado por: Bertha Palomeque A. Rodrigo Barzola J. INTRODUCCION DIFERENCIAS EJEMPLOS JAVA Orientado a Objetos Multiplataforma Programar

Más detalles

Contenido. Sistemas de Entrada/Salida. Categorias de los Dispositivos de Entrada/Salida. Categorias de los Dispositivos de Entrada/Salida

Contenido. Sistemas de Entrada/Salida. Categorias de los Dispositivos de Entrada/Salida. Categorias de los Dispositivos de Entrada/Salida Contenido Sistemas de Categorias de los Dispositivos de En qué se diferencian los dispositivos de? Técnicas para realizar la E/S Interrupciones Interfaces involucradas en E/S Buffering Categorias de los

Más detalles

Lógica Binaria. Arquitectura de Ordenadores. Codificación de la Información. Abelardo Pardo abel@it.uc3m.es. Universidad Carlos III de Madrid

Lógica Binaria. Arquitectura de Ordenadores. Codificación de la Información. Abelardo Pardo abel@it.uc3m.es. Universidad Carlos III de Madrid Arquitectura de Ordenadores Codificación de la Información Abelardo Pardo abel@it.uc3m.es Universidad Carlos III de Madrid Departamento de Ingeniería Telemática Lógica Binaria COD-1 Internamente el ordenador

Más detalles

Conceptos de Arquitectura de Computadoras Curso 2015

Conceptos de Arquitectura de Computadoras Curso 2015 PRACTICA 1 Assembly, Instrucciones, Programas, Subrutinas y Simulador MSX88 Objetivos: que el alumno Domine las instrucciones básicas del lenguaje assembly del MSX88. Utilice los diferentes modos de direccionamiento.

Más detalles

Laboratorio de Sistemas Embebidos Conceptos generales (2009)

Laboratorio de Sistemas Embebidos Conceptos generales (2009) Laboratorio de Sistemas Embebidos Conceptos generales (2009) Índice Introducción a los PIC Conceptos generales sobre el dspic30f Reloj del sistema Entrada/salida con puertos paralelos Timers Interrupciones

Más detalles

Pregunta correcta= 0,3 Pregunta no contestada= 0 Pregunta incorrecta (tipo test)= -0,15

Pregunta correcta= 0,3 Pregunta no contestada= 0 Pregunta incorrecta (tipo test)= -0,15 Pregunta correcta= 0,3 Pregunta no contestada= 0 Pregunta incorrecta (tipo test)= -0,15 Sistemas operativos, arquitectura von Neumann, configuración del PC (3 puntos) 1) Señale la opción correcta: [_]

Más detalles

Clase 20: Arquitectura Von Neuman

Clase 20: Arquitectura Von Neuman http://computacion.cs.cinvestav.mx/~efranco @efranco_escom efranco.docencia@gmail.com Estructuras de datos (Prof. Edgardo A. Franco) 1 Contenido Arquitectura de una computadora Elementos básicos de una

Más detalles

Arquitectura basica de un computador

Arquitectura basica de un computador Arquitectura basica de un computador Componentes o División básica de un computador Perifericos: Son todos los dispositivos de entrada (Input) y salida (Output): Monitor, Teclado, Ratón, Unidades de almacenamiento

Más detalles

Introduccion al Lenguaje C. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia

Introduccion al Lenguaje C. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia Introduccion al Lenguaje C Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia Introducción C es un lenguaje de programación creado en 1972 por

Más detalles

Winide y Kit EVALQTY CDM 2011

Winide y Kit EVALQTY CDM 2011 Winide y Kit EVALQTY CDM 2011 Seteo de jumpers jumpers JUMPER : JP1 Selección de la Tensión de Alimentación al MCU. JP1 en posición 1-2 VDD = 5Vdc JP1 en posición 2-3 VDD = 3Vdc (MCU alimentado con 3Vdc)

Más detalles

Una máquina automática de cómputos de propósito general debe contener los siguientes componentes básicos:

Una máquina automática de cómputos de propósito general debe contener los siguientes componentes básicos: CAPITULO 3 3.1 SISTEMAS DIGITALES DE PROGRAMA ALMACENADO 3.1.1 Estructura de Von-Newmann Una máquina automática de cómputos de propósito general debe contener los siguientes componentes básicos: 1) Unidad

Más detalles

Guía Laboratorio Número 1

Guía Laboratorio Número 1 Guía Laboratorio Número 1 Página 1 de 5 Arquitectura de Computadoras 06/04/2014 Repaso lenguaje ensamblador Escribir códigos en lenguaje ensamblador es bastante sencillo, por lo que no es necesario el

Más detalles

GUIA GENERAL PARA LA PROGRAMACIÓN DEL SISTEMA PICCITO 16F88 INDICE

GUIA GENERAL PARA LA PROGRAMACIÓN DEL SISTEMA PICCITO 16F88 INDICE 1 GUIA GENERAL PARA LA PROGRAMACIÓN DEL SISTEMA PICCITO 16F88 INDICE 1. Información general sobre el programa Bootloader para el sistema PICCITO 16F88. Auto-programador (Self programming) a través del

Más detalles

SISTEMAS DE ENTRADA/SALIDA

SISTEMAS DE ENTRADA/SALIDA 1. Introducción. 2. Módulos de Entrada/Salida: comunicación CPU - Periféricos. 3. Mapa de Entrada/Salida: común y separada. 4. Introducción a los métodos de programación de E/S. SISTEMAS DE ENTRADA/SALIDA

Más detalles

Organización Básica de un Computador y Lenguaje de Máquina

Organización Básica de un Computador y Lenguaje de Máquina Organización Básica de un Computador y Prof. Rodrigo Araya E. raraya@inf.utfsm.cl Universidad Técnica Federico Santa María Departamento de Informática Valparaíso, 1 er Semestre 2006 Organización Básica

Más detalles

Problemario: Memoria / Entrada Salida / Buses / Interrupciones

Problemario: Memoria / Entrada Salida / Buses / Interrupciones Universidad simón Bolívar Departamento de Electrónica y Circuitos / Sección de Sistemas Digitales EC2721 Arquitectura del Computador I Problemario: Memoria / Entrada Salida / Buses / Interrupciones PARTE

Más detalles

ESPACIO DE DIRECCIONES

ESPACIO DE DIRECCIONES ESPACIO DE DIRECCIONES INTRODUCCIÓN Existen dos espacios de dirección disponibles para el microcontrolador Z8 PLUS : El archivo de registros de la RAM contiene direcciones para todos los registros de control

Más detalles