mjl@ritcv.UUCP (05/05/84)
The quintessential machine for arbitrary alignment of data was the Burroughs B1700 (followed by the B1800 and, I believe, the B1900). At the lowest level, the B1700 was a vertical microprogrammable processor with NO alignment constraints. Every main memory reference was (in essence) of the form (<starting-bit-address>, <bit-count>) where bit-count was in the range 1 - 24. There was no advantage to having memory items placed on any particular boundary, so innovative and downright weird instruction and data formats were routinely emulated. All in all, I found it to be a fun machine to write microcode for, and it was a boon to our research into special purpose architectures. As it also happens, it was a boon to our image reconstruction researchers as well. Since the B1700 supported virtual memory (on a 2.5 Mbyte removable cartridge!), some of the large reconstruction programs were run on this system because the University CDC6400 did not have enough memory to hold the code and data. The B1700 might take 1.5 days to produce results, but at least they were produced! Mike Lutz -- Mike Lutz Rochester Institute of Technology, Rochester NY UUCP: {allegra,seismo}!rochester!ritcv!mjl ARPA: ritcv!mjl@Rochester.ARPA
wayne@bambi.UUCP (Wayne Wilner) (05/15/84)
Thanks to Mike Lutz for reminding all contributors to the byte-alignment debate that bit-addressability is much nicer. Just to save people effort when they reinvent that wheel, the B1700's memory requests were of the form <starting bit-address> <direction> <length> where the direction parameter indicated whether the address referred to the left-most or right-most position. This was a great help in dealing with both little-Endian and big-Endian data at the same time. Wayne T. Wilner (...exodus!thumper!wayne) Bell Communications Research