Article View: comp.arch
Article #12490Re: A theory for Big & Little Endian's origin
From: David Willmore
Date: Fri, 08 Jan 1993 16:41
Date: Fri, 08 Jan 1993 16:41
35 lines
2389 bytes
2389 bytes
From the understanding that I have, (nice open statment) here is how I see the two alignments having come about. To store a byte, there are no choices, 8 bits arranged any way at one location is a byte. With 16 bits there are two choices. You can store the most signifigant byte first or the least. The intuitive way would be to put the biggest byte at the labeled address, for example, 0 and the least signifigant byte at address 1. This would be read from address 0 as high byte low byte--just as it should sound. The other way fixes the load problem. Say you want to read an 8 bit value starting at address 0. The first byte read goes in the low order part of the register, the rest is cleared. To load a 16 bit value, address 0 is placed in the low byte of the register and the next byte at address 1 is placed in the next higher byte of the register. That way, a 32 bit or more number can be at a fixed location and you can optionally load 8 bits, 16 bits, or the full 32 bits without having to adjust your address register. The only reason to have used one over the other, as I see it, is by how far you were looking ahead. The x86 family came about bit by bit (sorry about that pun) and get backed into a corner because they didn't think ahead. The 68k family was designed from scratch and these load issues were solved before they committed themselves to a particular format. This is a very common theme in computer archetecture. If you don't look ahead and plan for it, you can get backed into some nasty corners. --------------------------------------------------------------------------- willmore@iastate.edu | "Death before dishonor" | "Better dead than greek" | David Willmore | "Ever noticed how much they look like orchids? Lovely!" | ---------------------------------------------------------------------------
Technical Details
Message-ID:
<willmore.726511292@help.cc.iastate.edu>Path:
arc1-ca.pugleaf.net!sparky!uunet!usc!sdd.hp.com!ux1.cso.uiuc.edu!news.iastate.edu!help.cc.iastate.edu!willmoreReferences:
<1iig7aINNtc@spim.mti.sgi.com> <1993Jan8.120225.8330@infodev.cam.ac.uk>Show Full Headers
Complete Article Headers
Newsgroups: comp.arch Path: arc1-ca.pugleaf.net!sparky!uunet!usc!sdd.hp.com!ux1.cso.uiuc.edu!news.iastate.edu!help.cc.iastate.edu!willmore From: willmore@iastate.edu (David Willmore) Subject: Re: A theory for Big & Little Endian's origin Message-ID: <willmore.726511292@help.cc.iastate.edu> Sender: news@news.iastate.edu (USENET News System) Organization: Iowa State University, Ames IA References: <1iig7aINNtc@spim.mti.sgi.com> <1993Jan8.120225.8330@infodev.cam.ac.uk> Date: Fri, 8 Jan 1993 16:41:32 GMT Lines: 35