4 ms·
The MIT Lisp Machine and its commercial versions from Symbolics, LMI and TI did this. The memory was not bits and bytes, though. For example a Symbolics 3600 u
by lispm 11y ago
The MIT Lisp Machine and its commercial versions from Symbolics, LMI and TI did this.
The memory was not bits and bytes, though. For example a Symbolics 3600 used 36bit words with all data being tagged. various number types, characters, strings, vectors, bitmaps, arrays, hash tables, lists made of cons cells, OOP objects, ...
That was used and checked on the processor level. That way software would not manipulate raw memory in some region, but actual data objects, knowing which space they use and what structure they have.
TI used 32bit Lisp processors in their later machines, while Symbolics went to 40bits to support larger address spaces.
- justincormack 11y agoRisc-V is going to support tagged memory.
- hga 11y agoAs far as I know, that's only the plan of the lowRISC project that's using RISC-V: http://www.lowrisc.org/ http://www.lowrisc.org/
- nickpsecurity 11y agoThat's actually meaningless without context. Reason is tags are used to fo all kinds of things in tagged CPU's. Some have almost no safety while some support arbitrary security policies. So, we have to wait and see for each individual implementation. Far as safe/secure, look at crash-safe.org for best in class of those. SAFE architecture isn't just tagged: it's holistic in addressing security & SW dev issues at each layer. Actually, they might be trying to do too much haha. Told people they should've just ported Oberon or Java to the CPU to give us interim solution.