3 ms·
AFAIK there's a 'bit-addressable' extension for ARM, but I lack the google-fu to search for it (I guess this only applies to loading and storing data, not 'arbi
by flohofwoe 4y ago
AFAIK there's a 'bit-addressable' extension for ARM, but I lack the google-fu to search for it (I guess this only applies to loading and storing data, not 'arbitrary width instructions')
For the data load/store case, if you go with the (high-level) idea that bytes are nothing special anymore (because cache line width is the new word width), and instead you have arbitrary width integers (like Zig for instance), it would also make sense to have 'bit granularity pointers'.
All you'd need is to move a regular pointer 3 bits to the left (which should be ok because the upper bits are wasted anyway).
IMHO this would make a lot of sense from a system programming language PoV, but I guess the hardware guys can think of a couple of reasons to object :)
- rep_lodsb 4y agoBit-addressable data has been done in at least one other architecture: https://en.wikipedia.org/wiki/TMS34010 https://en.wikipedia.org/wiki/TMS34010 This is different from the 432 having opcodes that weren't a multiple of 8 bits, making decoding even more complicated than on x86.
- kjs3 4y agoThe Intel 8051 can do limited bit level addressing. It's restricted to a specific 16-byte region in low memory, which it makes it different than either the 432 or 34010.