Cyhist Apr. 1 1998 b
========================================================================= Date: Wed, 1 Apr 1998 09:29:27 -0800
Reply-To: prp@hf.intel.com
Sender: "CYHIST Community Memory: Discussion list on the History of
Cyberspace" <CYHIST@MAELSTROM.STJOHNS.EDU> From: Paul Pierce <prp@HF.INTEL.COM>
Subject: Re: endianness
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit
______________________________________________________________________
Community Memory: Discussion List on the History of Cyberspace ______________________________________________________________________
Clearly from Stan's comments the major little-endian architecture today (x86) derives from his attempt to accommodate Datapoint with their serial (by bit) processor. The PDP-11 was just another previous anomaly.
Assuming everything else was big-endian because IBM was (and this is worth checking into - is it true? Given the popularity of the PDP-11, why was the 68000 big-endian?) but why did IBM choose big-endian?
I expect it began with their early character machines. The 1401 in particular stores numbers with the high-order digit in the lowest memory address. Its interesting that this is also a serial (by character) machine. To add it steps down from the higher address (least significant character.) The designers apparently thought that it was more important to have a card image lay out in memory in the same order as it is punched, left to right, than to have the digits in a number in ascending order for the arithmetic. Or maybe nobody actually thought about it at all. In any case, I find endian issues very visible when programming the 1401. Word marks are in the high order (leftmost, lowest address) position in a field, for arithmetic you specify the low order (rightmost, highest address) character in each number, but instructions start with an opcode in the leftmost (lowest address) character and that is what you specify in branches. Core dumps (which can be initiated from the front panel switches) are easy to read.
Paul Pierce
BTW, the "processor of the future" posting is clearly a fabrication, it makes the common mistake of confusing the design of the 8088 with the design of the PC. The 8086 (which the 8088 was derived from) was designed long before the PC; 8086 literature extolls the virtues of its 1 megabyte address space. The 640K limit is of course an artifact of the IBM PC design. And yes, even the original PC could accommodate 640K with an add-in card.
______________________________________________________________________
Reply-To: prp@hf.intel.com
Sender: "CYHIST Community Memory: Discussion list on the History of
Cyberspace" <CYHIST@MAELSTROM.STJOHNS.EDU> From: Paul Pierce <prp@HF.INTEL.COM>
Subject: Re: endianness
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit
______________________________________________________________________
Community Memory: Discussion List on the History of Cyberspace ______________________________________________________________________
Clearly from Stan's comments the major little-endian architecture today (x86) derives from his attempt to accommodate Datapoint with their serial (by bit) processor. The PDP-11 was just another previous anomaly.
Assuming everything else was big-endian because IBM was (and this is worth checking into - is it true? Given the popularity of the PDP-11, why was the 68000 big-endian?) but why did IBM choose big-endian?
I expect it began with their early character machines. The 1401 in particular stores numbers with the high-order digit in the lowest memory address. Its interesting that this is also a serial (by character) machine. To add it steps down from the higher address (least significant character.) The designers apparently thought that it was more important to have a card image lay out in memory in the same order as it is punched, left to right, than to have the digits in a number in ascending order for the arithmetic. Or maybe nobody actually thought about it at all. In any case, I find endian issues very visible when programming the 1401. Word marks are in the high order (leftmost, lowest address) position in a field, for arithmetic you specify the low order (rightmost, highest address) character in each number, but instructions start with an opcode in the leftmost (lowest address) character and that is what you specify in branches. Core dumps (which can be initiated from the front panel switches) are easy to read.
Paul Pierce
BTW, the "processor of the future" posting is clearly a fabrication, it makes the common mistake of confusing the design of the 8088 with the design of the PC. The 8086 (which the 8088 was derived from) was designed long before the PC; 8086 literature extolls the virtues of its 1 megabyte address space. The 640K limit is of course an artifact of the IBM PC design. And yes, even the original PC could accommodate 640K with an add-in card.
______________________________________________________________________