Shop OBEX P1 Docs P2 Docs Learn Events
Modify the Propeller — Parallax Forums

Modify the Propeller

HumanoidoHumanoido Posts: 5,770
edited 2011-07-09 21:38 in Propeller 1
Is it possible to use one Propeller Cog and stop the round robin pipeline, then do one instructions/cycle cheat by having a PLL to multiply the clock or another method like counter use or some kind of interleave summation? Maybe it's not possible or is, to do one cycle for speed increase. This is for thought academics and empirical experimenting.

Comments

  • Mike GreenMike Green Posts: 23,101
    edited 2011-07-09 12:17
    Remember that the cogs function independently unless they do an operation that explicitly accesses the hub. The pipeline is fixed into the structure of the cog, so each instruction (with some exceptions) takes exactly four clock cycles of 12.5ns (with an 80MHz system clock). The other cogs do the same thing at the same time unless there's an explicit hub reference, so all 8 cogs are executing simultaneously. The four clocks of each cog don't have to be the same. Cogs can be started on any system clock cycle, usually by using WAITCNT. Some cogs can be fetching instructions while others are fetching operands and others are performing the instruction operations. Programs like PropScope work at high sample rates by running the same or similar program in each of 4 cogs, offset by one clock cycle. That way, cog A reads the I/O pins on one clock cycle. Cog B reads the I/O pins on the 2nd clock cycle, etc. After sampling for a while, the 4 cogs dump their samples into a hub buffer where the rest of the program combines the samples in order for transmission to the attached PC for display.
  • HumanoidoHumanoido Posts: 5,770
    edited 2011-07-09 21:38
    Thanks Mike. This is exactly what I need to know to get started.
Sign In or Register to comment.