TODOPIC

Otros Microcontroladores / Dispositivos programables => Microcontroladores ARM => Mensaje iniciado por: cdrpo en 26 de Agosto de 2009, 11:56:02

Título: CISC(FREESCALE) VERSUS RISC(PIC)
Publicado 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

Código: C
  1. #ifdef PIC
  2. ...
  3.   Codigo extenso
  4. ...
  5. #endif
  6.  
  7. #ifdef FREESCALE
  8.   Codigo mas corto
  9. #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


Título: Re: CISC(FREESCALE) VERSUS RISC(PIC)
Publicado por: RICHI777 en 26 de Agosto de 2009, 12:46:28
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 !
Título: Re: CISC(FREESCALE) VERSUS RISC(PIC)
Publicado por: polosoft en 28 de Agosto de 2009, 22:59:06
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
Título: Re: CISC(FREESCALE) VERSUS RISC(PIC)
Publicado por: RICHI777 en 28 de Agosto de 2009, 23:33:43
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 !
Título: Re: CISC(FREESCALE) VERSUS RISC(PIC)
Publicado por: fabianjsm en 28 de Agosto de 2009, 23:45:10
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!
Título: Re: CISC(FREESCALE) VERSUS RISC(PIC)
Publicado por: marvicdigital en 29 de Agosto de 2009, 00:27:04
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
Título: Re: CISC(FREESCALE) VERSUS RISC(PIC)
Publicado por: RICHI777 en 29 de Agosto de 2009, 11:09:46
 :D :D :D Tan viejo no !, tengo 42 años y empeze con un 6800 de Motorola.

Saludos !
Título: Re: CISC(FREESCALE) VERSUS RISC(PIC)
Publicado por: scientist en 29 de Agosto de 2009, 13:16:23
Richard eres un capo!!! jejeje saludos amigo  :) :) :) :) :)
Título: Re: CISC(FREESCALE) VERSUS RISC(PIC)
Publicado por: RICHI777 en 29 de Agosto de 2009, 13:22:45
Gracias Braulio tu tambien !

Saludos !
Título: Re: CISC(FREESCALE) VERSUS RISC(PIC)
Publicado por: scientist en 29 de Agosto de 2009, 13:44:23
No exageremos, ya voy avanzando, pero todavia estoy verde, jejeje  :) :) :) :)
te alcanzo esperemos dentro unos años
Título: Re: CISC(FREESCALE) VERSUS RISC(PIC)
Publicado por: polosoft en 01 de Septiembre de 2009, 19:50:39
: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)
Título: Re: CISC(FREESCALE) VERSUS RISC(PIC)
Publicado por: RICHI777 en 01 de Septiembre de 2009, 21:10:10
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
Título: Re: CISC(FREESCALE) VERSUS RISC(PIC)
Publicado por: cdrpo en 10 de Septiembre de 2009, 20:35:17
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