Space-grade CPUs: How do you send more computing power into

J

Jan Panteltje

Guest
Nice. long article: where it goes

Space-grade CPUs: How do you send more computing power into space?
https://arstechnica.com/science/2019/11/space-grade-cpus-how-do-you-send-more-computing-power-into-space/
 
On Monday, November 11, 2019 at 10:52:26 AM UTC-5, Jan Panteltje wrote:
Nice. long article: where it goes

Space-grade CPUs: How do you send more computing power into space?
https://arstechnica.com/science/2019/11/space-grade-cpus-how-do-you-send-more-computing-power-into-space/

Shouldn't we be concerned about sending computing intelligence into space lest it be merged with by alien intelligence to form an evil force to attack us?

Inquiring minds want to know!

--

Rick C.

- Get 1,000 miles of free Supercharging
- Tesla referral code - https://ts.la/richard11209
 
Jan Panteltje wrote:
Nice. long article: where it goes

Space-grade CPUs: How do you send more computing power into space?
https://arstechnica.com/science/2019/11/space-grade-cpus-how-do-you-send-more-computing-power-into-space/
Insane.."The downside to TMR, though, is that this approach leads to
a lot of overhead. A processor has to go through every operation thrice,
which means it can only reach one-third of its performance."
Use THREE processors running in parallel; three decisions at the same
time (ie: parallel NOT serial).
 
On Mon, 11 Nov 2019 15:52:11 GMT, Jan Panteltje
<pNaOnStPeAlMtje@yahoo.com> wrote:

Nice. long article: where it goes

Space-grade CPUs: How do you send more computing power into space?
https://arstechnica.com/science/2019/11/space-grade-cpus-how-do-you-send-more-computing-power-into-space/

There has been a lot of development since the 1802 CMOS processor that
was once popular in space applications :).
 
On 12/11/19 05:55, Robert Baer wrote:
Jan Panteltje wrote:

Nice. long article: where it goes

Space-grade CPUs: How do you send more computing power into space?

https://arstechnica.com/science/2019/11/space-grade-cpus-how-do-you-send-more-computing-power-into-space/


  Insane.."The downside to TMR, though, is that this approach leads to a lot of
overhead. A processor has to go through every operation thrice, which means it
can only reach one-third of its performance."
 Use THREE processors running in parallel;  three decisions at the same time
(ie: parallel NOT serial).

More components means more things to fail, and more power.

Trying to remember a university course from mumble years ago...
A simple[1] (simplistic?) calculation indicates that, where
faults cannot be repaired, TMR is more likely to be error-free
in the short term, and less likely in the long term.

Assess the crossover point carefully :)

[1] probably based on an exponential failure rate
 
Jan Panteltje wrote:

Nice. long article: where it goes

Space-grade CPUs: How do you send more computing power into space?
https://arstechnica.com/science/2019/11/space-grade-cpus-how-do-you-send-more-computing-power-into-space/

Insane.."The downside to TMR, though, is that this approach leads to
a lot of overhead. A processor has to go through every operation thrice,
which means it can only reach one-third of its performance."
Use THREE processors running in parallel; three decisions at the same
time (ie: parallel NOT serial).

More weight and 3x more power.
 
On Monday, November 11, 2019 at 10:52:26 AM UTC-5, Jan Panteltje wrote:
Nice. long article: where it goes

Space-grade CPUs: How do you send more computing power into space?
https://arstechnica.com/science/2019/11/space-grade-cpus-how-do-you-send-more-computing-power-into-space/

Shouldn't we be concerned about sending computing intelligence into space lest it be merged with by alien intelligence to form
an evil force to attack us?

Inquiring minds want to know!

Yes
IIRC 'Voyager' was captured by some aliens and looking for it's 'creator'
in one of those startrek series.

I am more worried about that alien in the white house though..
 
On 12/11/19 6:41 pm, upsidedown@downunder.com wrote:
On Mon, 11 Nov 2019 15:52:11 GMT, Jan Panteltje
pNaOnStPeAlMtje@yahoo.com> wrote:


Nice. long article: where it goes

Space-grade CPUs: How do you send more computing power into space?
https://arstechnica.com/science/2019/11/space-grade-cpus-how-do-you-send-more-computing-power-into-space/

There has been a lot of development since the 1802 CMOS processor that
was once popular in space applications :).

I have yet to see another with 8 possible program counter registers.
 
On Wednesday, November 13, 2019 at 1:21:59 AM UTC-5, marty wrote:
On 12/11/19 6:41 pm, upsidedown@downunder.com wrote:
On Mon, 11 Nov 2019 15:52:11 GMT, Jan Panteltje
pNaOnStPeAlMtje@yahoo.com> wrote:


Nice. long article: where it goes

Space-grade CPUs: How do you send more computing power into space?
https://arstechnica.com/science/2019/11/space-grade-cpus-how-do-you-send-more-computing-power-into-space/

There has been a lot of development since the 1802 CMOS processor that
was once popular in space applications :).

I have yet to see another with 8 possible program counter registers.

Yes, there is a reason for that...

--

Rick C.

+ Get 1,000 miles of free Supercharging
+ Tesla referral code - https://ts.la/richard11209
 
On Tuesday, November 12, 2019 at 10:52:39 PM UTC-8, Rick C wrote:
On Wednesday, November 13, 2019 at 1:21:59 AM UTC-5, marty wrote:
On 12/11/19 6:41 pm, upsidedown@downunder.com wrote:

There has been a lot of development since the 1802 CMOS processor that
was once popular in space applications :).

I have yet to see another with 8 possible program counter registers.

Yes, there is a reason for that...

But, maybe not a good reason. For real-time controller applications, a rapid
context switch does benefit from that kind of support. In a multiuser/multitasking
environment, not so much.

The programming style that benefits from this architecture involves a kind of
'coroutine' instead of subroutines. It's a precursor to the many-core grid
computer chips in current production. Like this:

<https://www.parallax.com/microcontrollers/propeller>

which also has eight possible program counter registers...
 
On Wed, 13 Nov 2019 11:52:51 -0800 (PST), whit3rd <whit3rd@gmail.com>
wrote:

On Tuesday, November 12, 2019 at 10:52:39 PM UTC-8, Rick C wrote:
On Wednesday, November 13, 2019 at 1:21:59 AM UTC-5, marty wrote:
On 12/11/19 6:41 pm, upsidedown@downunder.com wrote:

There has been a lot of development since the 1802 CMOS processor that
was once popular in space applications :).

I have yet to see another with 8 possible program counter registers.

Any of the sixteen registers could be used as program counter or index
register. The R1 was used as the interrupt program counter, otherwise
the register usage was quite liberal.

Yes, there is a reason for that...

But, maybe not a good reason. For real-time controller applications, a rapid
context switch does benefit from that kind of support. In a multiuser/multitasking
environment, not so much.

In a small applications, each coroutine (subroutine) could be assigned
an own program counter. Calling a coroutine was just a single byte SEP
(Set Program counter) instruction and the return from coroutine was
just SEP back to the caller.

The programming style that benefits from this architecture involves a kind of
'coroutine' instead of subroutines. It's a precursor to the many-core grid
computer chips in current production. Like this:

https://www.parallax.com/microcontrollers/propeller

which also has eight possible program counter registers...
 
On Wednesday, November 13, 2019 at 2:52:56 PM UTC-5, whit3rd wrote:
On Tuesday, November 12, 2019 at 10:52:39 PM UTC-8, Rick C wrote:
On Wednesday, November 13, 2019 at 1:21:59 AM UTC-5, marty wrote:
On 12/11/19 6:41 pm, upsidedown@downunder.com wrote:

There has been a lot of development since the 1802 CMOS processor that
was once popular in space applications :).

I have yet to see another with 8 possible program counter registers.

Yes, there is a reason for that...

But, maybe not a good reason. For real-time controller applications, a rapid
context switch does benefit from that kind of support. In a multiuser/multitasking
environment, not so much.

The programming style that benefits from this architecture involves a kind of
'coroutine' instead of subroutines. It's a precursor to the many-core grid
computer chips in current production. Like this:

https://www.parallax.com/microcontrollers/propeller

which also has eight possible program counter registers...

There was nothing rapid about the 1802. People seem to do quite well with the fast interrupt on the ARMs and other, similar function on other devices..

Likewise, for most users, the propeller is a tool looking for a useful purpose. It has some advantages, but mostly it's just an expensive MCU with niche applications.

Now that there are FPGAs in smaller and smaller packages running with less and less power, they can take the place of MCUs in many apps and the propeller is a poor substitute for an FPGA. I'm trying to figure out what has happened to Gowind. They had some very nice parts in QFN packages.

--

Rick C.

-- Get 1,000 miles of free Supercharging
-- Tesla referral code - https://ts.la/richard11209
 
On 14/11/19 05:29, upsidedown@downunder.com wrote:
On Wed, 13 Nov 2019 11:52:51 -0800 (PST), whit3rd <whit3rd@gmail.com
wrote:

On Tuesday, November 12, 2019 at 10:52:39 PM UTC-8, Rick C wrote:
On Wednesday, November 13, 2019 at 1:21:59 AM UTC-5, marty wrote:
On 12/11/19 6:41 pm, upsidedown@downunder.com wrote:

There has been a lot of development since the 1802 CMOS processor that
was once popular in space applications :).

I have yet to see another with 8 possible program counter registers.

Any of the sixteen registers could be used as program counter or index
register. The R1 was used as the interrupt program counter, otherwise
the register usage was quite liberal.


Yes, there is a reason for that...

But, maybe not a good reason. For real-time controller applications, a rapid
context switch does benefit from that kind of support. In a multiuser/multitasking
environment, not so much.

In a small applications, each coroutine (subroutine) could be assigned
an own program counter. Calling a coroutine was just a single byte SEP
(Set Program counter) instruction and the return from coroutine was
just SEP back to the caller.

Coroutine yes, subroutine no.

IIRC getting data between external memory and the 16 bit
registers was a pain: everything had to go via the
accumulator, one byte at a time

Made general purpose "unlimited" depth subroutine calls
a real pain.


The programming style that benefits from this architecture involves a kind of
'coroutine' instead of subroutines. It's a precursor to the many-core grid
computer chips in current production. Like this:

https://www.parallax.com/microcontrollers/propeller

which also has eight possible program counter registers...
 
On Thu, 14 Nov 2019 07:59:49 +0000, Tom Gardner
<spamjunk@blueyonder.co.uk> wrote:

On 14/11/19 05:29, upsidedown@downunder.com wrote:
On Wed, 13 Nov 2019 11:52:51 -0800 (PST), whit3rd <whit3rd@gmail.com
wrote:

On Tuesday, November 12, 2019 at 10:52:39 PM UTC-8, Rick C wrote:
On Wednesday, November 13, 2019 at 1:21:59 AM UTC-5, marty wrote:
On 12/11/19 6:41 pm, upsidedown@downunder.com wrote:

There has been a lot of development since the 1802 CMOS processor that
was once popular in space applications :).

I have yet to see another with 8 possible program counter registers.

Any of the sixteen registers could be used as program counter or index
register. The R1 was used as the interrupt program counter, otherwise
the register usage was quite liberal.


Yes, there is a reason for that...

But, maybe not a good reason. For real-time controller applications, a rapid
context switch does benefit from that kind of support. In a multiuser/multitasking
environment, not so much.

In a small applications, each coroutine (subroutine) could be assigned
an own program counter. Calling a coroutine was just a single byte SEP
(Set Program counter) instruction and the return from coroutine was
just SEP back to the caller.

Coroutine yes, subroutine no.

IIRC getting data between external memory and the 16 bit
registers was a pain: everything had to go via the
accumulator, one byte at a time

Not any worse than 8008/8080.

Made general purpose "unlimited" depth subroutine calls
a real pain.

Many early computers did not have stacks.

On the 1802 you could have multiple stacks with separate stack
pointers and then use SEX (Set X) instruction to select from which
stack you want load or store.
 
On Thursday, 14 November 2019 20:49:36 UTC, upsid...@downunder.com wrote:
On Thu, 14 Nov 2019 07:59:49 +0000, Tom Gardner
spamjunk@blueyonder.co.uk> wrote:

On 14/11/19 05:29, upsidedown@downunder.com wrote:
On Wed, 13 Nov 2019 11:52:51 -0800 (PST), whit3rd <whit3rd@gmail.com
wrote:

On Tuesday, November 12, 2019 at 10:52:39 PM UTC-8, Rick C wrote:
On Wednesday, November 13, 2019 at 1:21:59 AM UTC-5, marty wrote:
On 12/11/19 6:41 pm, upsidedown@downunder.com wrote:

There has been a lot of development since the 1802 CMOS processor that
was once popular in space applications :).

I have yet to see another with 8 possible program counter registers.

Any of the sixteen registers could be used as program counter or index
register. The R1 was used as the interrupt program counter, otherwise
the register usage was quite liberal.


Yes, there is a reason for that...

But, maybe not a good reason. For real-time controller applications, a rapid
context switch does benefit from that kind of support. In a multiuser/multitasking
environment, not so much.

In a small applications, each coroutine (subroutine) could be assigned
an own program counter. Calling a coroutine was just a single byte SEP
(Set Program counter) instruction and the return from coroutine was
just SEP back to the caller.

Coroutine yes, subroutine no.

IIRC getting data between external memory and the 16 bit
registers was a pain: everything had to go via the
accumulator, one byte at a time

Not any worse than 8008/8080.

Made general purpose "unlimited" depth subroutine calls
a real pain.

Many early computers did not have stacks.

On the 1802 you could have multiple stacks with separate stack
pointers and then use SEX (Set X) instruction to select from which
stack you want load or store.

The thing that was really special about the 1802 was that is was
not only CMOS but silicon on sapphire which made it particularly
suitable for high radiation environments. There was nothing else
comparable at the time.
John
 
On Thursday, November 14, 2019 at 5:04:19 PM UTC-5, jrwal...@gmail.com wrote:
On Thursday, 14 November 2019 20:49:36 UTC, upsid...@downunder.com wrote:
On Thu, 14 Nov 2019 07:59:49 +0000, Tom Gardner
spamjunk@blueyonder.co.uk> wrote:

On 14/11/19 05:29, upsidedown@downunder.com wrote:
On Wed, 13 Nov 2019 11:52:51 -0800 (PST), whit3rd <whit3rd@gmail.com
wrote:

On Tuesday, November 12, 2019 at 10:52:39 PM UTC-8, Rick C wrote:
On Wednesday, November 13, 2019 at 1:21:59 AM UTC-5, marty wrote:
On 12/11/19 6:41 pm, upsidedown@downunder.com wrote:

There has been a lot of development since the 1802 CMOS processor that
was once popular in space applications :).

I have yet to see another with 8 possible program counter registers.

Any of the sixteen registers could be used as program counter or index
register. The R1 was used as the interrupt program counter, otherwise
the register usage was quite liberal.


Yes, there is a reason for that...

But, maybe not a good reason. For real-time controller applications, a rapid
context switch does benefit from that kind of support. In a multiuser/multitasking
environment, not so much.

In a small applications, each coroutine (subroutine) could be assigned
an own program counter. Calling a coroutine was just a single byte SEP
(Set Program counter) instruction and the return from coroutine was
just SEP back to the caller.

Coroutine yes, subroutine no.

IIRC getting data between external memory and the 16 bit
registers was a pain: everything had to go via the
accumulator, one byte at a time

Not any worse than 8008/8080.

Made general purpose "unlimited" depth subroutine calls
a real pain.

Many early computers did not have stacks.

On the 1802 you could have multiple stacks with separate stack
pointers and then use SEX (Set X) instruction to select from which
stack you want load or store.

The thing that was really special about the 1802 was that is was
not only CMOS but silicon on sapphire which made it particularly
suitable for high radiation environments. There was nothing else
comparable at the time.
John

And now you know the rest of the story...

I don't think anyone used the 1802 because they liked the architecture.

--

Rick C.

-+ Get 1,000 miles of free Supercharging
-+ Tesla referral code - https://ts.la/richard11209
 
On 14/11/19 20:49, upsidedown@downunder.com wrote:
On Thu, 14 Nov 2019 07:59:49 +0000, Tom Gardner
spamjunk@blueyonder.co.uk> wrote:

On 14/11/19 05:29, upsidedown@downunder.com wrote:
On Wed, 13 Nov 2019 11:52:51 -0800 (PST), whit3rd <whit3rd@gmail.com
wrote:

On Tuesday, November 12, 2019 at 10:52:39 PM UTC-8, Rick C wrote:
On Wednesday, November 13, 2019 at 1:21:59 AM UTC-5, marty wrote:
On 12/11/19 6:41 pm, upsidedown@downunder.com wrote:

There has been a lot of development since the 1802 CMOS processor that
was once popular in space applications :).

I have yet to see another with 8 possible program counter registers.

Any of the sixteen registers could be used as program counter or index
register. The R1 was used as the interrupt program counter, otherwise
the register usage was quite liberal.


Yes, there is a reason for that...

But, maybe not a good reason. For real-time controller applications, a rapid
context switch does benefit from that kind of support. In a multiuser/multitasking
environment, not so much.

In a small applications, each coroutine (subroutine) could be assigned
an own program counter. Calling a coroutine was just a single byte SEP
(Set Program counter) instruction and the return from coroutine was
just SEP back to the caller.

Coroutine yes, subroutine no.

IIRC getting data between external memory and the 16 bit
registers was a pain: everything had to go via the
accumulator, one byte at a time

Not any worse than 8008/8080.

The 8080 had the CALL instruction which included the arbitrary
16-bit address as the argument. Total 3 bytes.

The 8080 had the LDHL instruction which loads the HL register
with the 16-bit argument. Ditto SHLD stores. Total 3 bytes.


Made general purpose "unlimited" depth subroutine calls
a real pain.

Many early computers did not have stacks.

On the 1802 you could have multiple stacks with separate stack
pointers and then use SEX (Set X) instruction to select from which
stack you want load or store.

Yes, but IIRC there was no equivalent of the 8080 subroutine
CALL instruction or the 6800 JSR instruction.

Hence "coroutine yes, subroutine no".
 

Welcome to EDABoard.com

Sponsor

Back
Top