Christian Corti wrote:
> On Wed, 30 Sep 2026, Mark Kahrs wrote:
> >   Minor point: The Burroughs B6500/6700 has 51 bits
> > because it had 3 bits of
> >  tag on each word.  But the underlying CPU was 48 bits. 
> It would be interesting to know if the memory layout with 48 bits plus
> tag/parity bits was inspired from the TR 4.
> Christian

Almost certainly not. The B6500/6700 was the successor to the Burroughs B5500, 
which had a word consisting of 48 bits plus parity. 48 bits was not an uncommon 
word size in the early '60s, e.g., Atlas, CDC 1604, Datamatic 1000, KDF9, 
Honeywell 800, as it allowed 8 six-bit characters per word.

The B5500 distinguished data words from control words by means of the 
high-order bit in the word, known as the "flag bit." Alas, embedding the flag 
bit within the 48 bits turned out to be a lousy idea for character 
manipulation, and the machine ended up with an entirely separate mode of 
operation to handle character strings, which ignored the flag bit.

In designing the B6500, a big priority was to do something about the flag bit, 
and the obvious thing was to move it outside the 48-bit data word. But there 
were other bits in the B5500 control words that indicated the type of control 
word, so those bits were combined with the flag bit in a three-bit external tag 
field. Modern successors to the B6500/6700 have four tag bits.

The idea of using an external tag field was probably also influenced by two 
predecessors to the B5000/5500, the ElectroData/Burroughs 205 (1954) and 
Burroughs 220 (1957). Those were decimal machines with an 11 BCD-digit word. 
The arithmetic sign was in the low-order bit of the high-order digit, but other 
bits were used during I/O for control functions. You could actually embed 
instructions as they were read from the I/O data stream and do things like 
address relocation on the words that a followed. Thus, that high-order digit 
acted somewhat like a tag.

Reply via email to