A look at The Machine
A look at The Machine
Posted Aug 27, 2015 17:30 UTC (Thu) by smoogen (subscriber, #97)In reply to: A look at The Machine by keithp
Parent article: A look at The Machine
Posted Aug 27, 2015 17:48 UTC (Thu)
by gioele (subscriber, #61675)
[Link] (8 responses)
In addition I wonder in how many places one can already find the trick "I will use these extra 16 bits for my own business" based on the justification that "all architectures discard the top 16 bits anyway".
Posted Aug 27, 2015 18:01 UTC (Thu)
by Cyberax (✭ supporter ✭, #52523)
[Link]
Posted Aug 27, 2015 18:13 UTC (Thu)
by keithp (subscriber, #5140)
[Link]
Posted Aug 30, 2015 1:21 UTC (Sun)
by mathstuf (subscriber, #69389)
[Link] (4 responses)
Posted Aug 30, 2015 22:54 UTC (Sun)
by keithp (subscriber, #5140)
[Link] (1 responses)
Just give us enough bits to address every particle in the universe and we'll be happy, right?
Posted Aug 30, 2015 23:15 UTC (Sun)
by mathstuf (subscriber, #69389)
[Link]
Looking back at the slides[1], it appears that there is virtual memory addressing, but there is only one address space. This allows them to put the TLB behind the cache (slide 52). Not sure if that would change things for The Machine.
Posted Sep 4, 2015 18:39 UTC (Fri)
by adler187 (guest, #80400)
[Link] (1 responses)
The MI architecture has special instructions for manipulating pointers, which prevent casting back and forth between int and if you try it, the tag bit will become unset by the hardware and attempting to dereference the pointer will cause a segmentation fault. This is similar to the CHERI CPU: https://lwn.net/Articles/604298/, though CHERI differs in that it has pointers and "capabilities" and you have to opt-in to capabilities, so applications that assume pointer == long continue to work, but you can get better protection by using capabilities - on IBM i there is no such luck, you have to update your application.
Posted Sep 11, 2015 12:12 UTC (Fri)
by mathstuf (subscriber, #69389)
[Link]
Posted Sep 3, 2015 7:04 UTC (Thu)
by oldtomas (guest, #72579)
[Link]
Since a while, tagging implementations tend to (mis-) use some lower bits out of the realisation that a pointer "to something useful" is divisible by four (gives you tow bits) or even by eight (gives you three).
Guile Scheme is an example, but surely not the only one.
Perhaps time has come to address memory in bigger chunks than 8 bit bytes?
Posted Aug 28, 2015 11:15 UTC (Fri)
by justincormack (subscriber, #70439)
[Link]
A look at The Machine
A look at The Machine
A look at The Machine
A look at The Machine
A look at The Machine
A look at The Machine
A look at The Machine
A look at The Machine
A look at The Machine
A look at The Machine