Turbo Bytecode Blowout - Interpret hub bytes in 8+ clocks!

1235»

Comments

  • jmgjmg Posts: 9,645
    Heater. wrote: »
    Cluso99,
    ...on P1 there are no assemblers, only compilers...
    There is one. propasm by Cliff Biffle:
    https://github.com/cbiffle/propasm

    It's the tool I first used to program the Propeller. Back in the dark ages when there was no BST or other cross-platform tools for the Propeller.
    Yes, and I have fasmg (smart macro assembler) framework checked out for PASM too...

  • Cluso99 wrote: »
    jmg wrote: »
    Cluso99 wrote: »
    jmg,
    We don't need the compiler to be that intelligent. There will not be that many to use this kind of code, and those that do should be smart enough to work it out. There are far more important things to add to the compiler first!!!
    Did you mean to say 'the assembler' ?
    Technically while pnut is currently only an assembler, on P1 there are no assemblers, only compilers, even tho we are assembling. Who cares ;)
    It's not really 'intelligence' to read down a column vertically, if that is what you meant ?.
    The user provides all the intelligence there, the Assembler just spins what they wrote 90', to create the masks.
    It is still resources to put that into the compiler/assembler. Those resources (probably Roy) would be better spent adding other much more deserving features that will be much more useful.
    gas of course is an assembler so there is at least one. I also wrote a trivial PASM assembler a while back while I was adding inline assembly language to my basic interpreter.
  • Technically, Chips "compiler" code (and thus OpenSpin as well) is an assembler and a bytecode generator (not a compiler). Compiling is usually reserved to mean compiling a higher level language to a native machine code (asm).

    They generate byte code for the interpreter in ROM, and they assemble dat sections into pasm.

    propgcc is a compiler, catalina is a compiler.

    Of course, lots of people toss the word compiler around meaning anything that processes a high level language into something else... so yeah.
  • Chip's compiler, as in the PropTool, and OpenSpin are very definitely compilers. They take a high level language, Spin, and compile to a byte code as output.

    Just happens that Spin includes the PASM syntax, so these tools also assemble that it native instructions.

    As far as I know neither of them can take only PASM source as input. There always has to be a bit of Spin wrapped around it. Biffle's propasm had no need for any Spin in the source code.

    Yeah, "compiler" is bandied around loosely. There are those who don't seem to be able to tell the difference between a "language", a "compiler", an "IDE", etc.
  • ... back to Cluso's primary point: there are more important features that need to be addressed before spending time on smarts for generating SKIPF blocks.
  • cgraceycgracey Posts: 7,426
    edited April 15 Vote Up0Vote Down
    It kind of congealed in my head yesterday that with XBYTE, an interpreter can be built that pushes the absolute limits of the instruction set.

    I mean, because of the SKIPF patterning of PASM code via XBYTE, it is practical to have the interpreter execute ONLY needed PASM instructions. No cycles/instructions need to get wasted sub-decoding bytecodes. It can be pure taking-care-of-business. And XBYTE reads and dispatches bytecodes with a mere 6-clock overhead.

    In Spin on the Prop1, tons of instructions were needed in the interpreter just to get to the PASM instructions of interest, all along the way. Now, all that interstitial monkey motion is gone, and we even have _RET_ in the last instruction of a bytecode snippet to immediately retrigger XBYTE.
  • David BetzDavid Betz Posts: 11,194
    edited April 15 Vote Up0Vote Down
    cgracey wrote: »
    It kind of congealed in my head yesterday that with XBYTE, an interpreter can be built that pushes the absolute limits of the instruction set.

    I mean, because of the SKIPF patterning of PASM code via XBYTE, it is practical to have the interpreter execute ONLY needed PASM instructions. No cycles/instructions need to get wasted sub-decoding bytecodes. It can be pure taking-care-of-business. And XBYTE reads and dispatches bytecodes with a mere 6-clock overhead.

    In Spin on the Prop1, tons of instructions were needed in the interpreter just to get to the PASM instructions of interest, all along the way. Now, all that interstitial monkey motion is gone, and we even have _RET_ in the last instruction of a bytecode snippet to immediately retrigger XBYTE.
    Sounds like it should result in a really speedy VM!

  • Chip,

    "..interstitial monkey motion.."

    That phrase is going to be stuck in my head forever!

    It kind of makes me wonder why not just compile the Spin down to the "PASM instruction of interest" and skip all that byte code thing?

  • potatoheadpotatohead Posts: 8,663
    edited April 15 Vote Up0Vote Down
    Because byte codes are dense. It's a great option when coupled with in line PASM. Fast and compact.

    One should be able to cram a lot into the RAM.
    Do not taunt Happy Fun Ball! @opengeekorg ---> Be Excellent To One Another SKYPE = acuity_doug
    Parallax colors simplified: http://forums.parallax.com/showthread.php?123709-Commented-Graphics_Demo.spin<br>
  • Yeah, I know.

    I don't mean to be negative or antagonistic here but I wonder what is going on.

    Parallax and the P1 have been pushing towards C for sometime in their educational enterprise. And as far as I can tell doing very well.

    Surely the P2 effort should follow that profitable path.

    And here we antagonizing over the Spin language and it's interpreter for the P2.





  • potatoheadpotatohead Posts: 8,663
    edited April 16 Vote Up0Vote Down
    Chip has an audience, Parallax has an audience. Both are related to education.

    Self vs structured. Amateur vs Pro. Projects vs products.

    Parallax will benefit from all of it. Formal Parallax education efforts will really begin when the real silicon is known. Until then, it's a risk.

    This group will produce core tools. Simple, lean, mean, close to the metal. More can and will come.

    Real chips gate a lot of things.

    Does that help?



    Do not taunt Happy Fun Ball! @opengeekorg ---> Be Excellent To One Another SKYPE = acuity_doug
    Parallax colors simplified: http://forums.parallax.com/showthread.php?123709-Commented-Graphics_Demo.spin<br>
  • potatohead,
    Does that help?
    Yes.

    I'd also like to see real P2 chips before one of us dies.

  • Heater. wrote: »
    potatohead,
    Does that help?
    Yes.

    I'd also like to see real P2 chips before one of us dies.

    I suspect Sapieha has died.
  • PublisonPublison Posts: 9,358
    edited April 16 Vote Up0Vote Down
    cgracey wrote: »
    Heater. wrote: »
    potatohead,
    Does that help?
    Yes.

    I'd also like to see real P2 chips before one of us dies.

    I suspect Sapieha has died.

    That would be sad. We have missed him for quite a while.

    Last active October 2015.
    Infernal Machine
  • Sorry guys, I made this far more intense than I intended.

    God bless Sapieha. Wherever he is.

    Is this the future of the net? We just drop off line and nobody knows what happened ?


  • It's OK. Yeah, unless people make provisions for their own end, that is what happens.

    Do not taunt Happy Fun Ball! @opengeekorg ---> Be Excellent To One Another SKYPE = acuity_doug
    Parallax colors simplified: http://forums.parallax.com/showthread.php?123709-Commented-Graphics_Demo.spin<br>
  • potatohead,
    ..unless people make provisions for their own end, that is what happens.
    So what should one do?

    Should I sit down with my lawyer and draft a last will and testament such that he can announce by demise on all forums on which I have a presence?
    That would mean including my user name an password to every place in my will.

    Has anybody ever done that?

    And what if I want to leave all my electronics test gear and components, humble as they are, to interested members of the Parallax forum?

    How does one draft that?

    As it stands, when I breath my last everything will go in the trash because nobody knows what it is.
  • Heater

    From the crowd apart, wandering,
    almost unnoticed shadow,
    by the wind, forgotten cloud, blown
    thou resembled.
    Time has passed, your's has come,
    thou remains, a lone legacy will be,
    from whispering and gentle waves,
    left behind.

    Henrique (inspired by John Donne's poem)

    No man is an island,
    Entire of itself,
    Every man is a piece of the continent,
    A part of the main.
    If a clod be washed away by the sea,
    Europe is the less.
    As well as if a promontory were.
    As well as if a manor of thy friend's
    Or of thine own were:
    Any man's death diminishes me,
    Because I am involved in mankind,
    And therefore never send to know for whom the bell tolls;
    It tolls for thee.
  • This is already being handled on Facebook. They have a process to "memorialize" an account if the owner dies.
    San Mateo, CA
  • This is fairly standard estate planning Heater.

    Of course, one may have to fund doing some of it, but how and why are well established things.

    Online just needs to be part of the planning now, for those who bother.

    I may make a dead man switch. When I can no longer service it, out goes a bunch of data.
    Do not taunt Happy Fun Ball! @opengeekorg ---> Be Excellent To One Another SKYPE = acuity_doug
    Parallax colors simplified: http://forums.parallax.com/showthread.php?123709-Commented-Graphics_Demo.spin<br>
  • Heater.Heater. Posts: 18,981
    edited April 16 Vote Up0Vote Down
    Yanomani,

    Oh boy, too somber.

    Remember Man as you go by
    As you are now so once was I
    As I am now so shall you be,
    Prepare yourself to follow me


    No, no, wait, I'm not dead yet.

    Sorry, we seem to have interrupted this topic a wee bit.
  • Sadly, I suspect you are correct.

    He will be missed if he has passed on - he is/was a great guy.
    cgracey wrote: »
    I suspect Sapieha has died.

    www.mikronauts.com / E-mail: mikronauts _at_ gmail _dot_ com / @Mikronauts on Twitter
    RoboPi: The most advanced Robot controller for the Raspberry Pi (Propeller based)
  • I know Saphieha (Christopher) has/had bad lungs and needed oxygen during the winter months. He said to me numerous times "that's just life".
    If he has passed on, he will be missed. Perhaps he will be programming P2 from above.
    My Prop boards: P8XBlade2, RamBlade, CpuBlade, TriBlade
    Prop OS (also see Sphinx, PropDos, PropCmd, Spinix)
    Website: www.clusos.com
    Prop Tools (Index) , Emulators (Index) , ZiCog (Z80)
Sign In or Register to comment.