There are two ways to address memory: one register like in CPU and many registers like in GPU. The first way covers sequential algorithms, the second way covers parallel algorithms.
The second way allows to reduce the size of registers in all parallel cores, of which there are a lot. The size of the posit will be limited by the size of these small registers. There is no problem here.
But what about the first way? There are several cores, each with large registers. Software and operating system distributions have buried 32-bits, so large registers have 64-bit minimum. Should 64-bit processors support posit32 and other trifles, or should they limit themselves to posit64 only?
Posits have a wonderful property: converting a smaller posit to a larger posit is free (like uint32 to uint64, but posits are always in the upper part of the register). This allows you to store in memory, for example, the range [1; 4) of 12-bit posit inside an 8-bit word. You only need two operations (integer addition and left shift) to convert this range to a register-sized posit.
I suggest making it part of the posit standard by making the posit size equal to the register size. As a result, the 64-bit processor will not be overloaded with small posits and their quire. The processor can use the freed space more wisely. Programmers, on the other hand, need to understand the posit environment in which they work. And it just so happens that consumer devices and servers are only 64-bit. And these 64-bits will be with us for a long time.
Shredding posits is convenient. A register-sized posit is the basis of this.
P.S. To convert a truncated posit to a posit of register size, load the word in the lower part of the register as an unsigned integer. Then, add the unsigned integer number of the beginning of the range of the untruncated posit (first column in the
Posit Lookup Table) to it. Then shift to the left by a constant equal to the difference between the register size and the size of the untruncated posit.
Phil