fbpx

Expresate

Si además quieres enviarnos un Artículo para el Blog y redes sociales, pulsa el siguiente botón:

Avisos
Vaciar todo

El fin de la guerra PIC-AVR.

130 Respuestas
13 Usuarios
0 Reactions
52.8 K Visitas
beamspot
Respuestas: 1132
Topic starter
(@beamspot)
Noble Member
Registrado: hace 17 años

Hola:

Hoy he leído lo que para mí es una de las noticias más tristes: Microchip pretende comprar Atmel, junto con ON semiconductor. De momento son sólo negociaciones, pero parece que tarde o temprano acabará siendo una OPA hostil. 😥

Desde hoy en adelante empezaré a pensar en ARMarme en el tema de micros... 👿

O mejor, pasarme al VHDL 😈

Claro, a no ser que Microchip mantenga la línea AVR, y de paso empieze a poner las cosas en castellano 😀

¿Que opináis del tema?

Responder
129 respuestas
ranganok
Respuestas: 3875
(@ranganok)
Ardero
Registrado: hace 19 años

Teniendo en cuenta que todos los PIC de 18F para arriba llevan un PLL interno (4x) es un ciclo de reloj, y para un sólo pin no hace falta instrucción MOVWL sino sólo la instrucción de conmutación (BTG creo).

Por cierto, te recuerdo que que la estructura de los PICs es Harvard y no Von Newman (los Atmel ¿que usan?) lo cual se multiplexa el fetch y la ejecución.

Sobre la conmutación todo depende de la frecuencia, me gustaría verlo con un interruptor y los dedos hacerlo a 1MHz 😈

S2

Ranganok Schahzaman

Responder
beamspot
Respuestas: 1132
Topic starter
(@beamspot)
Noble Member
Registrado: hace 17 años

AVR's y Cortex M3 llevan Harvard. ARM7 TDMI lleva von Newmann. Frescales lleva formato propio, el más sencillo: sólo espacio de direccionamiento de memoria, no I/O ni direccionamiento de flash por separado. Los DSP's llevan doble o triple bus, extendieno la arquitectura Harvard para poder leer a la vez de la Flash, de la RAM y/o de I/O, todo a la vez, mientras multiplican (RAM/IO con Flash) y acumulan.

Si los AVR accedes a un puerto, que es direccionable bit a bit, sólo es una instrucción, que también es un ciclo de reloj y un ciclo de instrucción, pues en los AVR y ARM, un ciclo de reloj es también un ciclo de instrucción. Si accedes a un registro de memoria no direccionable bit a bit, primero hay que leerlo y luego guardarlo con la modificación (si mal no recuerdo, ya que en C es más sencillo/transparente).

Nota 1: los Cortex M3 permiten redireccionar la RAM a espacio de Flash. En realidad el sistema de direccionamiento y gestión de la memoria es un Harvard ampliado con ciertas mejoras, sobre todo si tienen EBI. Eso permite, al igual que en los ARM7TDMI, ejecutar código desde RAM, cosa que ni los PIC ni los AVR permiten. Ah, y como la RAM es más rápida, encima el código puede ejecutarse a toda velocidad sin usar cachés ni nada por el estilo.

Nota 2: Llevos unos días falto de sueño y muy estresado, así que pido disculpas si tengo algún exabrupto o alguna salida de tono. Es lo que tiene ser papá...

Responder
ranganok
Respuestas: 3875
(@ranganok)
Ardero
Registrado: hace 19 años

Nada, tranquilo, si sabes que me encanta picarte con este tema 😛

No hay ninguna salida de tono, (al menos que yo haya visto).

S2

Ranganok Schahzaman

Responder
beamspot
Respuestas: 1132
Topic starter
(@beamspot)
Noble Member
Registrado: hace 17 años

Como si a mí no me gustase entrar al trapo. 😉 :mrgreen:

Responder
meta
Respuestas: 142
 Meta
(@meta)
Estimable Member
Registrado: hace 17 años

Por haber, hay placas con Cortex M3 (un NXP, creo recordar), que corren C# con .NET (picoframework o parecido), pensados para 'contrarrestar' el Arduino/Pinguino/Inventillo de turno.

Por supuesto, si el Arduino necesita 50 ciclos de AVR para conmutar un bit, frente a los 2 que necesita el AVRStudio/GCC gratuito, el C# necesita 500, pero el compilador también es gratuito, y de Microsoft, nada menos. 😈

Si hacen cosas de estas con C# .NET, mucho mejor que mejor ya que es mi lenguaje preferido. Eso si, este año me queda aprender VB .net a fondo en clase. Bastante el curso pasado di Python que no me gusta y Java que se parece muchísimo a C#.

C# también se programa en Linux gracias a Mono Develop.

Otra cosa, todos los PIC no incluyte PLL como los 18F. Para los 16F un ciclo máquina es cuatro ciclos de reloj.

Te lo explica en su oja de datos.

Responder
Página 26 / 26
Compartir: