Sign in

username:

password:



Not a member?

Search Comp.Arch.Embedded



Search tips

embedded by Keywords

68HC11 | 68HC12 | 8051 | 8052 | ARM | ARM7 | Asic | AT91 | AT91RM9200 | Atmel | AVR | AVRStudio | Bootloader | CFP | CompactFlash | Cygnal | Cypress | Dataflash | DSP | eCos | EEPROM | Embedded Linux | Emulator | Endian | Ethernet | Firewire | FPGA | Freescale | GCC | GNUARM | GSM | H8 | HDLC | I2C | Infineon | Interrupts | Java | JTAG | LCD | LED | LPC2000 | MCU | Microchip | MMC | MPLAB | MSP430 | PC104 | PCB | PCI | PCMCIA | PowerPC | Rabbit | RS232 | RS485 | RTOS | SBC | SDRAM | Sensor | SPI | STK500 | UART | UML | USART | USB | Verilog | VHDL | VxWorks | Xilinx

Ads

Discussion Groups

Discussion Groups | Comp.Arch.Embedded | Big-Endian vs. Little-Endian

There are 70 messages in this thread.

You are currently looking at messages 40 to 50.

Re: Big-Endian vs. Little-Endian - Dave Hansen - 09:59 24-08-04

On Mon, 23 Aug 2004 09:12:00 +0200, "David Brown"
<d...@no.westcontrol.spam.com> wrote:

[...]
>It depends on what you are used to.  I use both big-endian (68k, ppc) and
>little-endian (msp430, avr (little-endian by compiler convention more than
>architectural necessity, since it is 8-bit), Nios) processors.  I find

More than a compiler convention.  Consider adiw, sbiw, [f]mul[s[u]],
and spm. The X, Y, and Z registers are also defined with the
higher-numbered register as the MSB.  

However, the [r]call instruction pushes the lsb of the pc onto the
stack first, resulting in a big-endian layout in memory.  The 8051 is
similarly of two minds here: the call instruction contains a
little-endian destination address, but pushes the return address in
big-endian order (or vice-versa -- it's been a while...)

>little-endian to be easier to work with, easier to view in hex dumps, and
>easier to work out which bit is in which place - even though I know that
>big-endian is more consistent and should be easier.  It's just a matter of
>habit and familiarity.

Indeed.

It's like clasping your hands together in a double fist.  Do you
interlock your fingers so your left thumb is over the right, or the
right is over the left?  When you switch, it feels like you're holding
someone else's hand.

There are two ways to do it.  Neither is "better" than the other.  One
way feels comfortable, the other doesn't.  But some do it one way, and
some the other.  And you're reluctant to switch just because someone
else says it's the "right" way.

Regards,

                               -=Dave
-- 
Change is inevitable, progress is not.



Re: Big-Endian vs. Little-Endian - Dave Hansen - 10:04 24-08-04

On Tue, 24 Aug 2004 05:10:25 GMT, Bryan Hackney
<b...@bhconsult.com> wrote:

>Rene Tschaggelar wrote:
>> Bryan Hackney wrote:
>> 
[...]
>>> I say natural order - maybe that should be anthropic order. We read
>>> numbers LtoR, MSD to LSD.
>>>
>> 
>> Do you have troubles reading a UART stream from a scope then ?
>> A minimum of flexibility is expectable from people working
>> embedded...
>> 
>> Rene
>
>Can you say "non sequitur"?

Latin for "it does not follow."

Except it does.  If you look at the serial stream from a UART on a
scope, the bits appear left to right, LSb to MSb.  And depending on
where you hook into the circuit, ones may be low and zeros high.  Does
take some getting used to.

OTOH, if the serial stream is an ASCII text string, it DOES tend to be
transmitted leftmost character first...

Regards,

                               -=Dave
-- 
Change is inevitable, progress is not.

Re: Big-Endian vs. Little-Endian - Grant Edwards - 10:39 24-08-04

On 2004-08-24, Stephen Pelc <s...@INVALID.mpeltd.demon.co.uk> wrote:

>>I say natural order - maybe that should be anthropic order. We
>>read numbers LtoR, MSD to LSD.

> These numbers are from Arabic which is a right to left language. :-)

And the latin-alphabet-using people who orignally borrowed
arabic numerical notation for some reason neglected to flip
them around to match the direction of the rest of the language.

-- 
Grant Edwards                   grante             Yow!  I'm not an
                                  at               Iranian!! I voted for
                               visi.com            Dianne Feinstein!!

Re: Big-Endian vs. Little-Endian - Jim McGinnis - 10:56 24-08-04

On Mon, 23 Aug 2004 15:18:03 GMT, Bryan Hackney
<b...@bhconsult.com> wrote:

>I say natural order - maybe that should be anthropic order. We read
>numbers LtoR, MSD to LSD.

Be careful about arguments based on "naturalness". When Arabic
numerals made their way into Western left-to-right writing, the
original LSD to MSD ordering was reversed.
In Arabic, which reads right-to-left, the ones digit is on the right.
Apparently the Indian system from which the Arabic numerals came also
had the LSD first, or little-endian.
-- 
Jim McGinnis

Re: Big-Endian vs. Little-Endian - Grant Edwards - 11:01 24-08-04

On 2004-08-24, Jim McGinnis <remove_this.mcginnis@and_this.ieee.org> wrote:
> On Mon, 23 Aug 2004 15:18:03 GMT, Bryan Hackney
><b...@bhconsult.com> wrote:
>
>>I say natural order - maybe that should be anthropic order. We read
>>numbers LtoR, MSD to LSD.
>
> Be careful about arguments based on "naturalness". When Arabic
> numerals made their way into Western left-to-right writing,
> the original LSD to MSD ordering was reversed. In Arabic,
> which reads right-to-left, the ones digit is on the right.
> Apparently the Indian system from which the Arabic numerals
> came also had the LSD first, or little-endian.

And in western languages (English as well) numbers were read
little-endian (from "right to left" -- LSD first) until
recently.

"Four and twenty blackbirds..."

-- 
Grant Edwards                   grante             Yow!  I am having a
                                  at               pleasant time!!
                               visi.com            

Re: Big-Endian vs. Little-Endian - Rick Merrill - 11:21 24-08-04

Grant Edwards wrote:
...
> And in western languages (English as well) numbers were read
> little-endian (from "right to left" -- LSD first) until
> recently.
> 
> "Four and twenty blackbirds..."
> 

That's a British rhyme. American is different:

"Four score and seven years ago, our fathers brought forth ..."

Re: Big-Endian vs. Little-Endian - Hans-Bernhard Broeker - 12:02 24-08-04

This is drifting wildly OT, of course, but what the heck.

Grant Edwards <g...@visi.com> wrote:

> And in western languages (English as well) numbers were read
> little-endian (from "right to left" -- LSD first) until
> recently.

What do you mean, "until recently"?  English still does it that way
from 13 to 19.  In German (and most related languages, AFAIK) that's
how it is done all the way up to 99, and is quite unlikely to change,
ever.  And just to make it more confusing, it's done that way only for
tens and ones, i.e. 524 is "fuenfhundertvierundzwanzig", i.e. "five
hundred four and twenty".  And let's not even get started about
French, where what they say when they mean 97 translates, literally,
as "four twenty ten seven".  Now you try and install some sense in
terms of endianness into *that* ;-)

Back to the topic: yes, endianness is, and always was, an almost
entirely arbitrary choice.  Which makes the term so well-chosen. [The
literary reference from Gulliver's Travels is about endless war being
waged between two groups of people, over which end of an egg you
should start at opening it: the big or the little end.  With both the
eggs and the bits, there are essentially no rational arguments towards
either side, but you still have to make a choice, and the world might
be a better place if everybody could agree on making that choice the
same way, once and for all.]

That sait, there was one real argument in favour of one side.  It
favoured little-endian, and has long since been obliterated by CPU
engineering.  It applied in situations where three conditions held:

1) memory is narrower than arithmetic registers
2) key ALU building blocks (adders, shifters, the likes) are
   narrower than CPU registers, so operations take several cycles
   through them, passing around carry bits.
3) memory can be read "forward" faster than "backward"

In this situation, doing little-endian allows to intermix ALU cycles
and memory fetches, and can thus be noticeably faster than big-endian.
The difference will be governed by the speed penalty for stepping
through address space in the "wrong" direction.

-- 
Hans-Bernhard Broeker (b...@physik.rwth-aachen.de)
Even if all the snow were burnt, ashes would remain.

Re: Big-Endian vs. Little-Endian - Grant Edwards - 12:11 24-08-04

On 2004-08-24, Rick Merrill <R...@comTHROW.net> wrote:
> Grant Edwards wrote:
> ...
>> And in western languages (English as well) numbers were read
>> little-endian (from "right to left" -- LSD first) until
>> recently.
>> 
>> "Four and twenty blackbirds..."
>> 
>
> That's a British rhyme. American is different:

That's why I said "until recently."  200 years is pretty recent
in the development of languages.

> "Four score and seven years ago, our fathers brought forth ..."

-- 
Grant Edwards                   grante             Yow!  Hello... IRON
                                  at               CURTAIN? Send over a
                               visi.com            SAUSAGE PIZZA! World War
                                                   III? No thanks!

Re: Big-Endian vs. Little-Endian - Rene Tschaggelar - 12:14 24-08-04

Grant Edwards wrote:

> On 2004-08-24, Jim McGinnis <remove_this.mcginnis@and_this.ieee.org> wrote:
> 
>>On Mon, 23 Aug 2004 15:18:03 GMT, Bryan Hackney
>><b...@bhconsult.com> wrote:
>>
>>
>>>I say natural order - maybe that should be anthropic order. We read
>>>numbers LtoR, MSD to LSD.
>>
>>Be careful about arguments based on "naturalness". When Arabic
>>numerals made their way into Western left-to-right writing,
>>the original LSD to MSD ordering was reversed. In Arabic,
>>which reads right-to-left, the ones digit is on the right.
>>Apparently the Indian system from which the Arabic numerals
>>came also had the LSD first, or little-endian.
> 
> 
> And in western languages (English as well) numbers were read
> little-endian (from "right to left" -- LSD first) until
> recently.
> 
> "Four and twenty blackbirds..."

This is interesting. Our language (not english) still has
it this way. Any hints on when and on what occasion that
was changed.

Rene

Re: Big-Endian vs. Little-Endian - Grant Edwards - 12:16 24-08-04

On 2004-08-24, Hans-Bernhard Broeker <b...@physik.rwth-aachen.de> wrote:

>> And in western languages (English as well) numbers were read
>> little-endian (from "right to left" -- LSD first) until
>> recently.
>
> What do you mean, "until recently"?

Sometime between 0 and 200 years ago? :)

[More recent for some languages than others.]

> That sait, there was one real argument in favour of one side.  It
> favoured little-endian, and has long since been obliterated by CPU
> engineering.  It applied in situations where three conditions held:
>
> 1) memory is narrower than arithmetic registers
> 2) key ALU building blocks (adders, shifters, the likes) are
>    narrower than CPU registers, so operations take several cycles
>    through them, passing around carry bits.
> 3) memory can be read "forward" faster than "backward"

Point 3) is definitely true for drums, tapes and cards!

-- 
Grant Edwards                   grante             Yow!  Where's SANDY DUNCAN?
                                  at               
                               visi.com            

previous | 1 | 2 | 3 | 4 | 5 | 6 | 7 | next