Forums

What is TI PRU-ICSS processor core?

Started by Dave Nadler August 26, 2019
TI's web page is here, but doesn't explain origin of instruction set?
http://processors.wiki.ti.com/index.php/PRU-ICSS
Anybody here have experience with these parts, or know where they're used?
Thanks,
Best Regards, Dave
Dave Nadler <drn@nadler.com> writes:
> TI's web page is here, but doesn't explain origin of instruction set? > http://processors.wiki.ti.com/index.php/PRU-ICSS > Anybody here have experience with these parts, or know where they're used?
They are in the Beaglebone SOC among other places. The instruction set presumably originated in some weird legacy part. It is ... idiosyncratic. But there are C and C++ compilers for it now. Web search on "beaglebone pru" finds good info. Maybe start here: https://beagleboard.org/pru
On Monday, August 26, 2019 at 4:25:05 PM UTC-4, Paul Rubin wrote:
> Dave Nadler <drn@nadler.com> writes: > > TI's web page is here, but doesn't explain origin of instruction set? > > http://processors.wiki.ti.com/index.php/PRU-ICSS > > Anybody here have experience with these parts, or know where they're used? > > They are in the Beaglebone SOC among other places. The instruction set > presumably originated in some weird legacy part. It is ... idiosyncratic. > But there are C and C++ compilers for it now. > > Web search on "beaglebone pru" finds good info. Maybe start here: > > https://beagleboard.org/pru
By "legacy" part you mean the first TI ARM that used it? Or did it come from an unrelated design? -- Rick C. - Get 1,000 miles of free Supercharging - Tesla referral code - https://ts.la/richard11209
Rick C <gnuarm.deletethisbit@gmail.com> writes:
> By "legacy" part you mean the first TI ARM that used it? Or did it > come from an unrelated design?
I don't know its origins but just looking at its instruction set, it seems to come from an earlier era of cpu design than what we usually deal with today. Its heritage may have been in industrial automation rather than computing. It's not my area but I think PLC's originally didn't have the features of normal microprocessors, but gradually acquired them, and now they have normal microprocessors inside.
On Tuesday, August 27, 2019 at 3:26:04 AM UTC-4, Paul Rubin wrote:
> Rick C <gnuarm.deletethisbit@gmail.com> writes: > > By "legacy" part you mean the first TI ARM that used it? Or did it > > come from an unrelated design? > > I don't know its origins but just looking at its instruction set, it > seems to come from an earlier era of cpu design than what we usually > deal with today. Its heritage may have been in industrial automation > rather than computing. It's not my area but I think PLC's originally > didn't have the features of normal microprocessors, but gradually > acquired them, and now they have normal microprocessors inside.
Maybe the instruction set is optimized for it's application and construction. I haven't looked at it in detail, but I've been told it isn't intended to be general purpose. I'm pretty sure they aren't from PLCs. -- Rick C. + Get 1,000 miles of free Supercharging + Tesla referral code - https://ts.la/richard11209
On 27/08/2019 09:39, Rick C wrote:
> On Tuesday, August 27, 2019 at 3:26:04 AM UTC-4, Paul Rubin wrote: >> Rick C <gnuarm.deletethisbit@gmail.com> writes: >>> By "legacy" part you mean the first TI ARM that used it? Or did it >>> come from an unrelated design? >> >> I don't know its origins but just looking at its instruction set, it >> seems to come from an earlier era of cpu design than what we usually >> deal with today. Its heritage may have been in industrial automation >> rather than computing. It's not my area but I think PLC's originally >> didn't have the features of normal microprocessors, but gradually >> acquired them, and now they have normal microprocessors inside. > > Maybe the instruction set is optimized for it's application and construction. I haven't looked at it in detail, but I've been told it isn't intended to be general purpose. > > I'm pretty sure they aren't from PLCs. >
I've only had a very quick look at the PRU information on the web, but it doesn't look like a PLC-optimised cpu to me. For PLC work, you expect lots of bit handling instructions to suit the chains of and/or "relays" in typical PLC programming. A targeted cpu is also likely to support things like timers in the instruction set. You'd see BCD as a strong alternative to binary (not just BCD arithmetic instructions, but things like indexed addressing using BCD offsets), and you'd expect a heavy bias towards 16-bit and bit types.
On Monday, August 26, 2019 at 4:25:05 PM UTC-4, Paul Rubin wrote:
> They are in the Beaglebone SOC among other places. The instruction set > presumably originated in some weird legacy part. It is ... idiosyncratic. > But there are C and C++ compilers for it now. > > Web search on "beaglebone pru" finds good info. Maybe start here: > > https://beagleboard.org/pru
Thanks Paul, interesting stuff.