TODOPIC
Otros Microcontroladores / Dispositivos programables => Microcontroladores ARM => Mensaje iniciado por: cdrpo en 26 de Agosto de 2009, 11:56:02
-
Hola
En el libro de programación de sistemas embebidos en C dice que la arquitectura CISC O VON NEWMAN de los microcontroladores FREESCALE "Esta arquitectura permite tener instrucciones mas elaboradas que realizan operaciones mas complejas que la arquitectura RISC"
existe algún microcontrolador moderno de PIC que trabaje con arquitectura CISC O VON NEWMAN :?:
Otra preguntas los procesadores Intel, AMD con que tipo de tecnología trabajan :?:
He notado también que en los ejemplos el código de un programa para PIC es mas extenso que el de Freescale, por ejemplo
#ifdef PIC
...
Codigo extenso
...
#endif
#ifdef FREESCALE
Codigo mas corto
#endif
Aunque el resultado es el mismo, el código en pic es mas complejo, ademas el compilador de Freescale soporta el tipo de dato Double (punto flotante de doble precisión 8 Bytes (64 bits) para cálculos cientificos
-
Este tipo de post siempre despierta polemicas, cada arquitectura presenta sus ventajas y desventajas, es decir no se puede decir cual es mejor de las dos en el 100 % de los casos. Cuando trabajas con un compilador C el mismo oculta detalles de la implementación y un código realizado con una arquitectura deberia correr en la otra sin ningun o menores cambios. El tema de los flotantes es pura exclusividad del compilador y la forma de resolverlo el micro no tiene nada que ver, eso si hay arquitecturas que son mas "C" friendlys ejemplo los viejos Mortorola-FreeScale HC05 realmente no te quedaba otra que programarlos en assembler porque el manejo del stack no existia y por ende imposible construir un compilador C, el único que conoci era una porquería, por eso la migración a los HC05. Aunque no conozco a los PIC en detalle lo único que no me gusta es el tema de paginas la memoria RAM, eso trae limitaciones o formas poco elegantes de manejarla. Por lo demas con un PIC podes hacer todo lo mismo que con un AVR o un FreeScale, despues entran otras cosas en juego, como consumo, perfomance, perifericos, precios, herramientas, camiseta, etc, etc.
Saludos !
-
Es así, el compilador C se encarga de que no tengas que lidiar con las complejidades propias de cada modelo. Lo que si, cuando usaba PICs y empecé con Freescale (programando a pelo con el Winide :P ) el código en assembler efectivamente queda más compacto y entendible en los Cisc, incluso ocupaba algo menos de flash. Pero si estás programando algún programa que necesita timmings complejos, laburar con los PICs (RISC) es más simple, más fácil calcular los tiempos, ya que sabés que casi todas las instrucciones tienen el mismo tiempo de ejecución, por ejemplo activar un pin en un Freescale usando BSET te toma unos 5 ciclos, en un PIC lo podés hacer en 1 8) .
Lo que si veo que tienen muy lindo los uc de Freescale son las instrucciones que laburan con el stack. 8)
Saludos
-
Dichoso de vos ! Empezaste con el WinIde, yo empeze programar con los kits metiendo códigos en hexa y calculando branches a mano. Buenas epocas !
Saludos !
-
Esto no es simple, el compilador juega un papel clave al momento obtar por una arquitectura o por otra.
RISC te permite lograr altas velocidades de procesamiento, pero es dificil optimizar por tamaño o pretender que un compilador de alto nivel genere lindo binario cuando no existen una pila por ejemplo.
Finalmete terminaras inclinandote por una plataforma que se adapta no solo a tus necesidades sino a tus conocimientos.
yo empeze programar con los kits metiendo códigos en hexa y calculando branches a mano
Hace unos dias que vengo leyendo tus post y todavia no logre calcular tu edad RICHI777.
Con que micro empesaste? No me digas que fue el Intel 4004!
-
Esto no es simple, el compilador juega un papel clave al momento obtar por una arquitectura o por otra.
RISC te permite lograr altas velocidades de procesamiento, pero es dificil optimizar por tamaño o pretender que un compilador de alto nivel genere lindo binario cuando no existen una pila por ejemplo.
Finalmete terminaras inclinandote por una plataforma que se adapta no solo a tus necesidades sino a tus conocimientos.
yo empeze programar con los kits metiendo códigos en hexa y calculando branches a mano
Hace unos dias que vengo leyendo tus post y todavia no logre calcular tu edad RICHI777.
Con que micro empesaste? No me digas que fue el Intel 4004!
Quien quita que no sea el 4004 si no con tubos al vacío :D...con cariño hombre...mis respetos a todos los genios que llevan años en este mundo microcontrolado.
Saludos
-
:D :D :D Tan viejo no !, tengo 42 años y empeze con un 6800 de Motorola.
Saludos !
-
Richard eres un capo!!! jejeje saludos amigo :) :) :) :) :)
-
Gracias Braulio tu tambien !
Saludos !
-
No exageremos, ya voy avanzando, pero todavia estoy verde, jejeje :) :) :) :)
te alcanzo esperemos dentro unos años
-
:D :D :D Tan viejo no !, tengo 42 años y empeze con un 6800 de Motorola.
Saludos !
Naaaa, no puede ser jaja, ahora me doy cuenta lo pobre que éramos en nuestra IPEM, nosotros empezamos con un micro Motorola 14500 (1 bit!!!!!!), todo con teclitas, si hasta me hice un emulador en TurboPascal porque no había forma de grabar los programas :D. Después si pasamos a algo un poco más groso, como el 6809, recuerdo que eran unos kits que habían donado creo que .. Sevel??!! :shock: Y de eso apenas hace 15 años snif snif como pasa el tiempo :( :P
PD: Alto bicho el 14500 :P , eso si era risc puro y duro :D , me acuerdo que para guardar estados había que conectar entradas con salidas así quedaba el bit :shock: 8)
-
Ese lo conoci por data-sheet nada mas, pero el 6809 el mejor micro de 8 bits que jamas se invento, el 68HC11 esta basado en el, para mi tiene conceptos revolucionarios para la epoca, ( doble registro indice, doble stack ) modo de direccionamiento post e pre incremento una animalada, despues muchos se copiaron. Te dejo un link que salio publicado en la byte alla por el 79 donde hablan los arquitectos no tiene nada de desperdicio. Tambien hay un loco ( somos unos cuantos ) que sintetizo en un FPGA el core y modifico el GCC para generar código.
http://tlindner.macmess.org/wp-content/uploads/2006/09/byte_6809_articles.pdf
Saludos !
D. Estaría bueno escribir un post sobre las mejores caracteristicas de cada micro de 8 bits o de los que marcaron tendencia, me refiero a nivel core no a nivel perifericos, hablo del 8080, Z80, 6502, 6800, 6809, 8085, 8051 ( el venerable ), TMS9900, COP8, etc, etc
-
Dudas :?
La Arquitectura de von Neumann implica siempre conjunto de instrucciones complejo (CISC)
y la Arquitectura Harvard implica siempre conjunto de instrucciones reducido (RISC)
o puede haber una Arquitectura Mixta