Hacker News new | past | comments | ask | show | jobs | submit login

It's fascinating how many great stories there are from this wild west period of the computer industry, thanks for a great writeup.

I have to pick a nit with footnote 10 though, "There's no need for a processor accessing bits in parallel to be little endian" – there is when your data bus is narrower than the address bus, such as an 8-bit CPU performing indexed or relative 16-bit addressing. The simple pipelining of the little endian 6502 allows it to calculate the lower half of the target address while it fetches the upper half from memory, saving a cycle compared to the big endian 6800.




Also, wouldn't little-endianness generally benefit 16 bit arithmetic operations performed on 8 bit ALUs? Because (correct me if I'm wrong) a carry flag always carries over from LSB to MSB, processing the LSB before the MSB allows you to implement the carry mechanism more efficiently.


Yes, though few 8-bit CPUs supported 16-bit arithmetic. Most required two 8-bit operations with carry instead, an din that case there's no difference between little and big endianness - in both cases the LSB has to be calculated first.

The big endian 6809 supports 16-bit arithmetic, and is indeed punished for it: 16-bit ADD and SUB costs an extra cycle compared to a little endian design.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: