You are on page 1of 39

May 19

Proyecto - Arduino: Sensor de Temperatura


Proyecto de Arduino Colaboradora: Vanessa Salazar (ir a su Blog: http://cintegrado.blogspot.mx/ ) Este es nuestro ltimo proyecto para la clase de Computo integrado, decidimos hacer un Detector de temperatura con arduino, el cual nos mostrar la temperatura ambiente que podemos encontrar a nuestro alrededor.

Lo principal en este proyecto ser el sensor de temperatura LM35, ya que es el motor para el funcionamiento de este proyecto con Arduino. A continuacin dar una pequea explicacin de este sensor, para que sea un poco mas entendible y sepan cuales son sus funciones. Caractersticas del sensor: El sensor LM35 el cual nos mide una temperatura de -55C a 150C y una precisin de 0.5C a 25C; este sensor es suficientemente completo, se puede utilizar para realizar pequeos inventos o proyectos y que pueden ser realizados en casa. Esquema del sensor:

Materiales Sensor LM35 Placa Arduino Uno Protoboard Cables de conexin Pantalla LCD Potenciometro Herramientas utilizadas Arduino IDE Arduino Uno El siguiente cdigo que ser mostrado, fue usado para el proyecto; lo primero que se hizo fue documentar el cdigo, explicando las partes importantes, despus se subio a la placa de Arduino para realizar las funciones del sensor. Cdigo En el circuito se visualizan las conexiones que van del Arduino hacia el sensor lm35 y la pantalla LCD junto con el Potenciometro. Circuito (Echo con el programa Fritzing).

Conexin del Sensor en el Circuito: El sensor tiene 3 pines, el pin de corriente va hacia 5V de arduino, el pin de tierra va hacia GND de arduino y la seal hacia la entrada analogica 0 de arduino (Puede basarse del esquema del sensor). En las imgenes se muestra como esta el circuito ya terminado, se visualiza el sensor conectado, la pantalla mostrando la temperatura (en ese momento era de 22C) y las dems conexiones. Imgenes del Sensor de Temperatura Mostrando temperatura:

Conexin con Arduino:

Conexin con el Potenciometro y con el sensor de temperatura:

Finalmente, aqu una muestra del funcionamiento del proyecto en el siguiente video, se visualiza como se detecta la temperatura ambiente, en ese momento era de 22C y conforme se acercaba algo que desprendiera calor, aumentaba la temperatura; pasaba lo contrario si se acercaba algo frio. Vdeo

Publicado 19th May 2012 por Rene Camacho Etiquetas: Clase Computo Integrado

Computo Integrado
1. May 19

Proyecto - Arduino: Sensor de Temperatura


Proyecto de Arduino Colaboradora:
o

Vanessa Salazar (ir a su Blog: http://cintegrado.blogspot.mx/ )

Este es nuestro ltimo proyecto para la clase de Computo integrado, decidimos hacer un Detector de temperatura con arduino, el cual nos mostrar la temperatura ambiente que podemos encontrar a nuestro alrededor.

Lo principal en este proyecto ser el sensor de temperatura LM35, ya que es el motor para el funcionamiento de este proyecto con Arduino. A continuacin dar una pequea explicacin de este sensor, para que sea un poco mas entendible y sepan cuales son sus funciones. Caractersticas del sensor: El sensor LM35 el cual nos mide una temperatura de -55C a 150C y una precisin de 0.5C a 25C; este sensor es suficientemente completo, se puede utilizar para realizar pequeos inventos o proyectos y que pueden ser realizados en casa. Esquema del sensor:

Materiales
o o o o o o

Sensor LM35 Placa Arduino Uno Protoboard Cables de conexin Pantalla LCD Potenciometro

Herramientas utilizadas
o o

Arduino IDE Arduino Uno

El siguiente cdigo que ser mostrado, fue usado para el proyecto; lo primero que se hizo fue documentar el cdigo, explicando las partes importantes, despus se subio a la placa de Arduino para realizar las funciones del sensor. Cdigo

En el circuito se visualizan las conexiones que van del Arduino hacia el sensor lm35 y la pantalla LCD junto con el Potenciometro. Circuito (Echo con el programa Fritzing).

Conexin del Sensor en el Circuito:


o

El sensor tiene 3 pines, el pin de corriente va hacia 5V de arduino, el pin de tierra va hacia GND de arduino y la seal hacia la entrada analogica 0 de arduino (Puede basarse del esquema del sensor).

En las imgenes se muestra como esta el circuito ya terminado, se visualiza el sensor conectado, la pantalla mostrando la temperatura (en ese momento era de 22C) y las dems conexiones. Imgenes del Sensor de Temperatura

Mostrando temperatura:

Conexin con Arduino:

Conexin con el Potenciometro y con el sensor de temperatura:

Finalmente, aqu una muestra del funcionamiento del proyecto en el siguiente video, se visualiza como se detecta la temperatura ambiente, en ese momento era

de 22C y conforme se acercaba algo que desprendiera calor, aumentaba la temperatura; pasaba lo contrario si se acercaba algo frio. Vdeo

Publicado 19th May 2012 por Rene Camacho Etiquetas: Clase Computo Integrado 2. May 15

Arduino - practicando con un Display 7 segmentos


En esta ocasin mostrare y explicare lo que realice con Arduino y un Display de 7 segmentos; la practica consiste en controlar el Display y mostrar una secuencia del 0 al 9 de manera ascendente. Material
o

Arduino UNO

o o o o

Protoboard Cables Resistencia de 220 ohms un Display de 7 segmentos, ctodo comn

Lo primero que hay que mencionar es, cuales sern las conexiones del Display hacia el Arduino, a continuacin las conexiones:

Esquema

Conexiones:
o o o o o o o

Pin "a" - Digital 7 Pin "b" - Digital 8 Pin "c" - Digital 9 Pin "d" - Digital 10 Pin "e" - Digital 11 Pin "f" - Digital 12 Pin "g" - Digital 13

Despus de hacer las conexiones, si no es muy fcil de entender el esquema, enseguida se muestra el montaje del circuito.

Montaje de Circuito:

Enseguida mostrare el codigo del programa que sera subido al Arduino, en donde esta documentado para entender la sintaxis.

Cdigo:

El cdigo fue documentado, para visualizar bien las partes del cdigo. A continuacin se muestra el vdeo donde se visualiza la secuencia de nmeros del 0 al 9. Vdeo

En el vdeo se ve claramente la secuencia que va de manera ascendente del 0 al 9 . Despues seran mostrados mas tutoriales donde sera utilizado el Arduino. Publicado 15th May 2012 por Rene Camacho 3. May 6

Arduino - Led RGB


Como antes ya lo habia echo, publicando diferentes practicas que he realizado con arduino, aqui tengo una practica mas. En esta practica lo que se realizo fue controlar un LED RGB y donde se muestran 3 colores: verde, rojo y azul Material:
o o o o o

Protoboard Cables Resistencias 220 LED RGB Arduino

Montaje de circuito

Enseguida mostrare el codigo del programa que sera subido al Arduino, en donde esta documentado para entender la sintaxis.

El codigo esta documentado como se muestra, y se menciona cuales colores fueron declarados y que seran mostrados en el LED RGB. A continuacion se muestra varias imagenes donde se muestran como quedo este pequeo ejemplo en Arduino.

Imagenes

Aqui se muestra como fue montado el circuito, se muestra el arduino y sus respectivas conexiones hacia el protoboard donde esta el LED RGB.

En las siguientes imagenes se muestran los diferentes colores que se generan con el LED RGB.

Rojo

Verde

Azul

Despues seran mostrados mas tutoriales donde sera utilizado el Arduino. Publicado 6th May 2012 por Rene Camacho 4. May 6

Arduino - Control de intensidad de un LED

Ahora en esta entrada mostrare la practica de "Control de intensidad de un LED", donde es usado una Mini fotocelda, el cual es usado para detectar luz. Esta practica consistira en controlar la intensidad de un LED y se usara la luz para demostrarlo. Material
o o o o o o

Arduino UNO Una Mini fotocelda LED Cables Resistencias 220 y 10K Protoboard

Montaje de circuito

Enseguida mostrare el codigo del programa que sera subido al Arduino, en donde esta documentado para entender la sintaxis.

Se muestran los ciclos usados en el codigo para recibir los valores de la lectura analoga de la minifotocelda, luego se realiza una conversion y se muestran los datos obtenidos A continuacion se muestra un video donde se muestra como quedo este pequeo ejemplo en Arduino.

Video

En el video se distingue como funciona la mini fotocelda combinada con un LED; se muestra cuando hay luz y el LED baja su intensidad, pasa lo contrario cuando no hay luz, ya que sube la intensidad del LED. Despues seran mostrados mas tutoriales donde sera utilizado el Arduino. Publicado 6th May 2012 por Rene Camacho 5. Apr 29

Arduino - Generando Sonido


Anteriormente realice una practica con arduino, la cual era prender y apagar un LED, aqui una nueva entrada, donde explicare como realice otra practica con arduino, el cual consiste en generar sonido con un Buzzer de 12mm y un Potenciomentro rotacional Lineal.

Material
o o

Arduino Uno Un Buzzer 12 mm 2.048kHz

o o o

Potenciometro Cables Protoboard

Nuevamente, fue necesario hacer uso de un protobard para abarcar mas espacio para mas conexiones.

Montaje de Circuito:

Enseguida mostrare el codigo del programa que sera subido al Arduino, en donde esta documentado para entender la sintaxis.

En el codigo anterior se documento, donde se muestra donde estan declarados los puertos de entrada y salida, el ciclo que es usado para el potenciometro, la frecuencia y la duracion; al ultimo se indica donde termina el programa. A continuacion se muestra un video donde se muestra como quedo este pequeo ejemplo en Arduino. Video:

En el video se distingue cuando se usa el potenciometro y se genera el sonido en el buzzer, el cual puede ser fuerte o bajo el sonido. Despues seran mostrados mas tutoriales donde sera utilizado el Arduino. Publicado 29th April 2012 por Rene Camacho 6. Apr 25

Memoria Extra en Arduino


La mayora de los microcontroladores tienen una capacidad de memoria interna limitada. Por ejemplo, el corazn de la placa Arduino Mega posee una memoria EEPROM interna de 4Kbytes, lo que es algo limitado si se quiere trabajar con algo muy avanzado. A continuacion se mostrara las diferentes formas de agregar memoria externa al arduino:

Arduino - SD Card Si tenes un proyecto que necesite trabajar con audio, vdeo, grficos, almacenamiento de datos, etc., la mejor opcin es utilizar algn tipo de medio de almacenamiento removible. Cualquier aplicacin de las nombradas anteriormente necesitan como mnimo manejar 1Mbyte, para conseguir esto utilizaremos las tarjetas flash (SD, microSD),populares hoy en da y que se pueden encontrar en reproductores de msica y cmaras fotogrficas. Ests tarjetas permiten almacenar varios GBytes de datos en un espacio muy reducido, muchas veces ms pequeo que una moneda. Hay algunas cosas tiles que puedes hacer con SD:
o o o

o o

o o o o o

Si lo que desea es comprobar si existe un archivo, utilice SD.exists ("archivo.txt") , que devolver verdadero o falso. Puede eliminar un archivo llamado SD.remove ("unwanted.txt") - ten cuidado! Esto realmente va a borrar, y no hay 'basura' para salir de la. Usted puede crear un subdirectorio llamando SD.mkdir ("/ mynewdir") til cuando se quiere meter archivos en una ubicacin. No pasa nada si ya existe, pero usted siempre puede llamar SD.exists () encima de la primera Adems, hay algunas cosas tiles que puedes hacer con el archivo de los objetos: Usted puede buscar () en un archivo. Esto mover la lectura / escritura de puntero a una nueva ubicacin. Por ejemplo, busca (0 ) le llevar al principio del archivo, que puede ser muy til! Del mismo modo se puede llamar a la posicin () que le dir dnde se encuentra en el archivo. Si desea saber el tamao de un archivo, llame a size () para obtener el nmero de bytes en el archivo. Directorios o carpetas de archivos especiales, se puede determinar si un archivo es un directorio llamando isDirectory () Una vez que tenga un directorio, puede empezar a ir a travs de todos los archivos en el directorio llamando openNextFile () Usted puede terminar con la necesidad de conocer el nombre de un archivo, por ejemplo si se llama a openNextFile () en un directorio. En este caso, llame a nombre de () que devolver un puntero a la matriz de caracteres en formato 8.3 puede directamente Serial.print () si lo desea.

Como quedara la conexin:

Aqui un Tutorial para montar el Arduino con un SD Card: http://www.ladyada.net/products/microsd/ Arduino - EEPROM

Arduino tiene una memoria no voltil de tan slo 512 bytes, que puede ser insuficiente en algunos casos. Pero podemos usar una EEPROM externa, serie 24LC256 que tiene una capacidad de 256 Kbit (32K x 8 bytes). La comunicacin entre Arduino y la EEPROM se realiza mediante el bus I2C , que se trata de un bus de comunicaciones serie formado por dos lineas: una para los datos y otra para el reloj. La librera Wire permite manejar un bus I2C desde nuestro Arduino, y en este artculo del wiki encontramos 4 funciones que usando la librera anterior implementan la lectura/escritura en la EEPROM. El parmetro deviceaddress al que hacen referencia estas funciones en el caso de esta memoria se trata del 050.

Conexiones: En cuanto a las conexiones de los pines: el pin 5 de la EEPROM (SDA) lo conectamos a la entrada analgica 4 de nuestro Arduino, el pin 6 (SCL) a la entrada analgica 5 (observar en la foto que los cables de color naranja se cruzan), el pin 8 a 5V y todos los dems a tierra. Los pines analgicos 4 y 5 de Arduino son los que usa la librera Wire.

Como quedaria la conexion:

Arduino - Spi RAM Si necesitas ms espacio de almacenamiento y slo tendrs que conservar los datos, mientras que el Arduino se alimenta, solo faltaria aadir memoria RAM. El 23K256 es un chip de SRAM de 32K, que utiliza una interfaz SPI. Hay dos versiones de la SpiRAM biblioteca: Spi RAM 2: Esta es la nueva versin. Spi RAM: Esta es la versin original. Ambas versiones de la biblioteca de implementar una clase llamada SpiRAM , que ofrece un montn de lectura / escritura de los mtodos. El 23k256 tiene tres modos de funcionamiento: el modo Byte (r / w de un byte a la vez), el modo de pgina (R / W en las pginas de 32 bytes) y el modo de corriente (R / W abitrary nmero de bytes).

Codigo de Ejemplo void setup() { Serial.begin(9600); } void loop() { char data_to_chip[17] = "Testing 90123456"; char data_from_chip[17] = " "; int i = 0; // Write some data to RAM SpiRam.write_stream(0, data_to_chip, 16); delay(100); // Read it back to a different buffer SpiRam.read_stream(0, data_from_chip, 16); // Write it to the serial port for (i = 0; i < 16; i++) { Serial.print(data_from_chip[i]); }

Serial.print("\n"); delay(1000); }

// wait for a second

Hay diferentes formas de agregar memoria, pero estas fueron las mas claras, y tal vez las mas usadas en cuestin cuando es necesario agregar mas espacio a un Arduino. Referencias:
o o o

http://www.ladyada.net/products/microsd/ http://arduino.cc/playground/Main/SpiRAM http://kans01.wordpress.com/2008/03/13/usando-una-memoria-eepromdesde-arduino/

Publicado 25th April 2012 por Rene Camacho 7. Apr 18

Arduino - Prender un LED


Anteriormente hice algunas publicaciones sobre Arduino y sus componentes, y algo de teora; a continuacin mostrare la primera practica que realice con Arduino, la cual fue la siguiente: Material:
o o o o o

Arduino Uno Un LED Cables Resistencia 1K Protoboard

Fue necesario hacer uso de un protobard para abarcar mas espacio. El montaje del circuito fue el siguiente:

Enseguida se muestra el codigo del programa que sera subido al Arduino, en donde esta documentado para entender la sintaxis. Cdigo:

En el codigo anterior se documento, donde se muestra donde estan declarados los puertos de entrada y salida, la funcion principal, el ciclo que es usado para el push button y al ultimo se indica donde termina el programa. A continuacion se muestra un video donde se muestra como quedo este pequeo ejemplo en Arduino. Video:

En el video se distingue cuando es oprimido el boton y donde se prende y apaga el LED. Despues seran mostrados mas tutoriales donde sera utilizado el Arduino. Publicado 18th April 2012 por Rene Camacho 8. Apr 9

Arquitectura von Neumann y arquitectura Harvard


Hay dos arquitecturas distintas relacionadas con el uso y distribucin de la memoria: Arquitectura de von Neumman y Arquitectura Harvard. Arquitectura de von Neumann: Tradicionalmente los sistemas con microprocesadores se basan en esta arquitectura, en la cual la unidad central de proceso (CPU), est conectada a una memoria principal nica (casi siempre slo RAM) donde se guardan las instrucciones del programa y los datos. A dicha memoria se accede a travs de un sistema de buses nico (control, direcciones y datos).

En un sistema con arquitectura Von Neumann el tamao de la unidad de datos o instrucciones est fijado por el ancho del bus que comunica la memoria con la CPU. As un microprocesador de 8 bits con un bus de 8 bits, tendr que manejar datos e instrucciones de una o ms unidades de 8 bits (bytes) de longitud. Si tiene que acceder a una instruccin o dato de ms de un byte de longitud, tendr que realizar ms de un acceso a la memoria. El tener un nico bus hace que el microprocesador sea ms lento en su respuesta,

ya que no puede buscar en memoria una nueva instruccin mientras no finalicen las transferencias de datos de la instruccin anterior. Las principales limitaciones que nos encontramos con la arquitectura Von Neumann son:
o

La limitacin de la longitud de las instrucciones por el bus de datos, que hace que el microprocesador tenga que realizar varios accesos a memoria para buscar instrucciones complejas. La limitacin de la velocidad de operacin a causa del bus nico para datos e instrucciones que no deja acceder simultneamente a unos y otras, lo cual impide superponer ambos tiempos de acceso

Los ordenadores con arquitectura Von Neumann constan de las siguientes partes:

La arquitectura Von Neumann realiza o emula los siguientes pasos secuencialmente: 1) Obtiene la siguiente instruccin desde la memoria en la direccin indicada por el contador de programa y la guarda en el registro de instruccin. 2) Aumenta el contador de programa en la longitud de la instruccin para apuntar a la siguiente. 3) Descodifica la instruccin mediante la unidad de control. sta se encarga de coordinar el resto de componentes del ordenador para realizar una funcin determinada. 4) Se ejecuta la instruccin. sta puede cambiar el valor del contador del programa, permitiendo as operaciones repetitivas. 5) Regresa al paso N 1. Conclusin:

* La mayora de las computadoras todava utilizan la arquitectura Von Neumann, propuesta a principios de los aos 40 por John Von Neumann. * La arquitectura Von Neumann describe a la computadora con 4 secciones principales: la unidad lgica y aritmtica (ALU), la unidad de control, la memoria, y los dispositivos de entrada y salida (E/S). * En este sistema, la memoria es una secuencia de celdas de almacenamiento numeradas, donde cada una es un bit, o unidad de informacin. La instruccin es la informacin necesaria para realizar, lo que se desea, con la computadora. Las celdas contienen datos que se necesitan para llevar a cabo las instrucciones, con la computadora. * El tamao de cada celda y el nmero de celdas vara mucho de computadora a computadora, y las tecnologas empleadas para la memoria han cambiado bastante; van desde los rels electromecnicos, tubos llenos de mercurio en los que se formaban los pulsos acsticos, matrices de imanes permanentes, transistores individuales a circuitos integrados con millones de celdas en un solo chip.

Arquitectura Harvard: Este modelo, que utilizan los Microcontroladores PIC, tiene la unidad central de proceso (CPU) conectada a dos memorias (una con las instrucciones y otra con los datos) por medio de dos buses diferentes.

Una de las memorias contiene solamente las instrucciones del programa (Memoria de Programa), y la otra slo almacena datos (Memoria de Datos). Ambos buses son totalmente independientes lo que permite que la CPU pueda acceder de forma independiente y simultnea a la memoria de datos y a la de instrucciones. Como los buses son independientes estos pueden tener distintos contenidos en la misma direccin y tambin distinta longitud. Tambien la longitud de los datos y las instrucciones puede ser distinta, lo que optimiza el uso de la memoria en general. Para un procesador de Set de Instrucciones Reducido, o RISC (Reduced Instruccin Set Computer), el set de instrucciones y el bus de memoria de

programa pueden disearse de tal manera que todas las instrucciones tengan una sola posicin de memoria de programa de longitud. Adems, al ser los buses independientes, la CPU puede acceder a los datos para completar la ejecucin de una instruccin, y al mismo tiempo leer la siguiente instruccin a ejecutar. Ventajas de esta arquitectura: * El tamao de las instrucciones no esta relacionado con el de los datos, y por lo tanto puede ser optimizado para que cualquier instruccin ocupe una sola posicin de memoria de programa, logrando as mayor velocidad y menor longitud de programa. * El tiempo de acceso a las instrucciones puede superponerse con el de los datos, logrando una mayor velocidad en cada operacin. Referencias:
o o

monografias.com/trabajos28/arquitectura-von-neumann/arquitecturavon-neumann www.fing.edu.uy/tecnoinf/cursos/arqcomp/material/teorico/arqteorico05.pdf

Publicado 9th April 2012 por Rene Camacho 9. Mar 25

Proyecto Integrador 1: "Comparacin de Nmeros"


Objetivo:
o

Generar 2 nmeros aleatorios e imprimirlos en 2 Displays y comparar cual es el numero mayor y cual es el numero menor mediante 2 LEDs .

Materiales: Los componentes que se utilizaron para el proyecto fueron:


o o o o o o

Microcontrolador PIC16F628A 2 Decodificadores bcd 7448 2 Displays de 7 segmentos, Ctodo Comn 10 resistencias de carbn de 1/2 Watts 2 LEDs Un Protoboard (Placa de Pruebas)

Procedimiento para Armado de Circuito:

Lo Primero que se hizo fue armar el circuito, pero primero, se realizo el siguiente diagrama para iniciar: Diagrama del circuito:

Despus de hacer el esquema, se empez a realizar el circuito en el Protoboard, pero antes, tenemos que saber como va conectado el decodificador en conjunto con el Display y el PIC.

Trabajando en el armado del decodificador con el Display:


o

Primero, se debe investigar cual es el diagrama del Decodificador, en este caso se utilizo el 4778, ya que es usado para Displays Ctodo Comn, que fueron usados en este proyecto.

Primero fueron conectados las entradas A1, A2, A3 y A0 hacia el PIC, que son los que reciben los nmeros binarios. La entrada A1 fue conectado al pin 7 del PIC, A2 fue conectado al pin 8, A3 fue conectado al pin 9 y el A0 fue conectado al pin 6.

Aqu la muestra de como quedaron conectados el PIC y el Decodificador:

Lo que hace el decodificador es: recibe los nmeros binarios, se encarga en decodificarlos y los enva por los pines de salida, para despus mostrarlos en el Display. Los pines de salida del 4778 son F, G, A, B, C y D, y fueron conectados a los pines del display, los cuales 7 corresponden a cada segmento, que son A, B, C, D, E, F, y G.

El pin F se conecto al segmento F del display, y asi sucesivamente (pin A con segmento A, pin B con segmento B, etc.)

Aqu la muestra de como quedaron conectados el decodificador y el Display:

Aqu el ejemplo de como quedara la "Tabla de la verdad" donde se muestran como serian decodificadores los nmeros binarios a decimal:

Despus de tener los decodificadores conectados hacia los Displays, se realiza el paso de programar el PIC.

Programacin del PIC:

Primero fue crear el cdigo, se realizo en el lenguaje Basic y para compilarlo se utilizo Mikrobasic.

El cdigo es el siguiente:

Primero se compila, luego se genera un el archivo .hex del cdigo; esto se puede lograr con el IDE donde se realizara el cdigo, que en este caso fue Mikrobasic PRO for PIC. Despus de esto, el PIC se programara con el "PIC-600" US - Burn, que es el siguiente:

Aqu un diagrama de lo que pasa al momento de compilar y pasar al cdigo al PIC:

Alguna duda, aqu en el blog pregunten o por medio del correo de Gmail.

Aqu el Resultado del proyecto:


o

Se demuestra cual es numero mayor, cuando se enciende el LED

4 es mayor que 2

8 es mayor que 0

6 es mayor que 3

Publicado 25th March 2012 por Rene Camacho Etiquetas: Clase Computo Integrado 10. Mar 17

Arquitectura RISC y CISC


A que nos referimos a las Arquitecturas RISC y CISC ... Una de las primeras decisiones a la hora de disear un microprocesador es decidir cual ser su juego de instrucciones. La decisin por dos razones; primero, el juego de instrucciones decide el diseo fsico del conjunto; segundo, cualquier operacin que deba ejecutarse en el microprocesador deber poder ser descrita en trminos de un lenguaje de estas instrucciones. Frente a esta cuestin caben dos filosofas de diseo; mquinas denominadas CISC y mquinas denominadas RISC.

Cuando hablamos de microprocesadores CISC, computadoras con un conjunto de instrucciones complejo, (del ingls complex instruction set computer), y procesadores RISC, computadoras con un conjunto de instrucciones reducido, (del ingls reduced instruction set computer), se piensa que los atributos complejo y reducido describen las diferencias entre los dos modelos de arquitectura para microprocesadores. Esto es cierto solo de forma superficial, pues se requiere de muchas otras caractersticas esenciales para definir los RISC y los CISC. Hasta hace solo algunos aos, la divisin era tajante: RISC se utilizaba para entornos de red, mientras que CISC se aplicaba en ordenadores domsticos. Pero en la actualidad se alzan voces que afirman que CISC est agotando sus posibilidades, mientras otras defienden fervientemente que CISC ya ha alcanzado a RISC, adoptando algunas de sus principales caractersticas.

Arquitectura RISC En la arquitectura computacional, RISC (del ingls reduced instruction set computer) es un tipo de microprocesador con las siguientes caractersticas fundamentales:
o o

Instrucciones de tamao fijo y presentadas en un reducido nmero de formatos. Slo las instrucciones de carga y almacenamiento acceden a la memoria de datos.

El objetivo de disear mquinas con esta arquitectura es posibilitar la segmentacin y el paralelismo en la ejecucin de instrucciones y reducir los accesos a memoria.

Las mquinas RISC protagonizan la tendencia actual de construccin de microprocesadores. PowerPC, DEC Alpha, MIPS, ARM, SPARC... son ejemplos de algunos de ellos. RISC es una filosofa de diseo de CPU para computadora que est a favor de conjuntos de instrucciones pequeas y simples que toman menor tiempo para ejecutarse. El tipo de procesador ms comnmente utilizado en equipos de escritorio, el x86, est basado en CISC en lugar de RISC, aunque las versiones ms nuevas traducen instrucciones basadas en CISC x86 a instrucciones ms simples basadas en RISC para uso interno antes de su ejecucin. La idea fue inspirada por el hecho de que muchas de las caractersticas que eran incluidas en los diseos tradicionales de CPU para aumentar la velocidad estaban siendo ignoradas por los programas que eran ejecutados en ellas. Adems, la velocidad del procesador en relacin con la memoria de la computadora que acceda era cada vez ms alta. Esto con llev la aparicin de numerosas tcnicas para reducir el procesamiento dentro del CPU, as como de reducir el nmero total de accesos a memoria. Caracteristicas: En pocas palabras esto significa que para cualquier nivel de desempeo dado, un chip RISC tpicamente tendr menos transistores dedicados a la lgica principal. Esto permite a los diseadores una flexibilidad considerable; as pueden, por ejemplo:
o

Incrementar el tamao del conjunto de registros.

o o o o o o

Mayor velocidad en la ejecucin de instrucciones. Implementar medidas para aumentar el paralelismo interno. Aadir cachs enormes. Aadir otras funcionalidades, como E/S y relojes para minicontroladores. Construir los chips en lneas de produccin antiguas que de otra manera no seran utilizables. No ampliar las funcionalidades, y por lo tanto ofrecer el chip para aplicaciones de bajo consumo de energa o de tamao limitado.

Las caractersticas que generalmente son encontradas en los diseos RISC son:
o o

o o o

Codificacin uniforme de instrucciones, lo que permite una de codificacin ms rpida. Un conjunto de registros homogneo, permitiendo que cualquier registro sea utilizado en cualquier contexto y as simplificar el diseo del compilador. Modos de direccionamiento simple con modos ms complejos reemplazados por secuencias de instrucciones aritmticas simples. Los tipos de datos soportados en el hardware no se encuentran en una mquina RISC. Los diseos RISC tambin prefieren utilizar como caracterstica un modelo de memoria Harvard, donde los conjuntos de instrucciones y los conjuntos de datos estn conceptualmente separados.

RISC Moderno: Los diseos RISC han llevado a un gran nmero de plataformas y arquitecturas al xito, algunas de las ms grandes:
o

o o

La lnea MIPS Technologies Inc., que se encontraba en la mayora de las computadoras de Silicon Graphics hasta 2006, y estuvo en las consolas ya descatalogadas Nintendo 64, PlayStation y PlayStation 2. Actualmente se utiliza en la PlayStation Portable y algunos routers. La serie IBM POWER, utilizado principalmente por IBM en Servidores y superordenadores. La versin PowerPC de Motorola e IBM (una versin de la serie IBM POWER) utilizada en los ordenadores AmigaOne, Apple Macintosh como el iMac, eMac, Power Mac y posteriores (hasta 2006). Actualmente se utiliza en muchos sistemas empotrados en automviles, routers, etc, as como en muchas consolas de videojuegos, como la Playstation 3, Xbox 360 y Wii. El procesador SPARC y UltraSPARC de Sun Microsystems y Fujitsu, que se encuentra en sus ltimos modelos de servidores (y hasta 2008 tambin en estaciones de trabajo). El PA-RISC y el HP/PA de Hewlett-Packard, ya descatalogados.

o o

o o

El DEC Alpha en servidores HP AlphaServer y estaciones de trabajo AlphaStation, ya descatalogados. El ARM El paso de hardware de instrucciones x86 en operaciones RISC llega a ser significativo en el rea y la energa para dispositivos mviles e integrados. Por lo tanto, los procesadores ARM dominan en PALM, Nintendo DS, Game Boy Advance y en mltiples PDAs, Apple iPods, Apple iPhone, iPod Touch (Samsung ARM1176JZF, ARM Cortex-A8, Apple A4), Apple iPad (Apple A4 ARM -based SoC), videoconsolas como Nintendo DS (ARM7TDMI, ARM946E-S), Nintendo Game Boy Advance (ARM7TDMI). El Atmel AVR usado en gran variedad de productos, desde mandos de la Xbox a los coches de la empresa BMW. La plataforma SuperH de Hitachi, originalmente usada para las consolas Sega Super 32X, Saturn y Dreamcast, ahora forman parte de el corazon de muchos equipos electrnicos para el consumo.SuperH es la plataforma base de el grupo Mitsubishi - Hitachi. Estos dos grupos, unidos en 2002, dejaron aparte la propia arquitectura RISC de Mitsubishi, el M32R. Los procesadores XAP usados en muchos chips wireless de poco consumo (Bluetooth, wifi) de CSR.

Entre las ventajas de RISC tenemos las siguientes:


o o

La CPU trabaja mas rpido al utilizar menos ciclos de reloj para ejecutar instrucciones. Utiliza un sistema de direcciones no destructivas en RAM. Eso significa que a diferencia de CISC, RISC conserva despus de realizar sus operaciones en memoria los dos operandos y su resultado, reduciendo la ejecucin de nuevas operaciones. Cada instruccin puede ser ejecutada en un solo ciclo del CPU

Arquitectura CISC En la arquitectura computacional, CISC (complex instruction set computer) es un modelo de arquitectura de computadora. Los microprocesadores CISC tienen un conjunto de instrucciones que se caracteriza por ser muy amplio y permitir operaciones complejas entre operandos situados en la memoria o en los registros internos, en contraposicin a la arquitectura RISC.

Este tipo de arquitectura dificulta el paralelismo entre instrucciones, por lo que, en la actualidad, la mayora de los sistemas CISC de alto rendimiento implementan un sistema que convierte dichas instrucciones complejas en varias instrucciones simples del tipo RISC, llamadas generalmente microinstrucciones. Los CISC pertenecen a la primera corriente de construccin de procesadores, antes del desarrollo de los RISC. Ejemplos de ellos son: Motorola 68000, Zilog Z80 y toda la familia Intel x86 usada en la mayora de las computadoras personales actuales. Para realizar una sola instruccin un chip CISC requiere de cuatro a diez ciclos de reloj.

Entre las ventajas de CISC destacan las siguientes:


o o o o o

Reduce la dificultad de crear compiladores. Permite reducir el costo total del sistema. Reduce los costos de creacin de sftware. Mejora la compactacin de cdigo. Facilita la depuracin de errores.

Ejemplo de microprocesadores basados en la tecnologa CISC:


o o

Intel 8086, 8088, 80286, 80386, 80486. Motorola 68000, 68010, 68020, 68030, 6840.

Ejemplo de microprocesadores basados en la tecnologa CISC:


o o o o

MIPS, Millions Instruction Per Second. PA-RISC, Hewlett Packard. SPARC, Scalable Processor Architecture, Sun Microsystems. POWER PC, Apple, Motorola e IBM.

Conclusin: Hoy en da, los programas cada vez ms grandes y complejos demandan mayor velocidad en el procesamiento de informacin, lo que implica la bsqueda de microprocesadores ms rpidos y eficientes.

Referencias:
o o o

http://www.azc.uam.mx/publicaciones/enlinea2/num1/1-2.htm http://es.wikipedia.org/wiki/RISC http://www.monografias.com/trabajos55/microprocesadores-ciscrisc/microprocesadores-cisc-risc.shtml

Publicado 17th March 2012 por Rene Camacho Cargando Danos tu opinin

You might also like