last day (18 days later) » 

18:44
3
Q: Why did Steve Jobs choose the Motorola 68030@25 MHz for the first NeXT Computer in 1988 and not an Intel 80386DX@25 MHz processor?

CoderWas the reason because he knew the 68K from the Macintosh, or were there other reasons that spoke in favor of the 68030 and the additional 68882 floating-point coprocessor? The i386, along with a 387 co-processor, would have had all the functions that were necessary for a then-modern operating sy...

Because the x86 architecture is objectively horrible, maybe?
Ditto what @another-dave said. Steve Jobs was all about style. The 68030 instruction set architecture was far more stylish than the 386.
The 68xxxxxxx arcitectures have always been a nicer one for developers IMNSHO. That's true even back to the 6809.
My university had a few next machines. Many students loved them. The printer was insanely fast.
@another-dave In 32 Bit protected mode with linear memory addressing? What make you think so?
18:44
@Coder: It's also about the register structure, not just the memory layout.
you'll have to ask him I guess...
@Coder: Even in protected mode, the x86 architecture is very, very ugly; especially when compared to the much cleaner 68k architecture. Once you've written a few 68k assembly routines you'll notice lots of restrictions and oddities in x86 that you might have considered to be "normal". Lots of x86 operations can only operate on a select few registers, for example; you need to arrange your use of registers accordingly.
NeXT would not have considered running MS-DOS programs. The reason is in the company name: if you're the "next kind of computer," as a matter of style, paying Microsoft for MS-DOS and having your machines commonly used for running old software is not the thing to do.
@Coder - lack of orthogonality; historical baggage; insufficient registers.
On the other hand, if Motorola and NeXT and for that matter, Digital Equipment Corporation had won the wars, then we all still would be writing assembly code for beautiful ISAs instead of writing astonishingly clever compilers for ugly ISAs.
18:44
@GregHewgill Okay, that's a good point, there is only EAX, EBX, ECX and EDX as general purpose registers in 32 Bit x86.
@DarkDust As far as i know this limit of operations on specific registers only applies to the 16 bit registers of the 8086 and 286. But the extended registers of the 386 are all general purpose registers. There are just too few of them.
@JohnDallman That's a good point. However, you could also have paid Digital Research for DR-DOS. On the other hand, the support of Windows in OS/2 did cost IBM its future. Nobody wanted to develop OS/2 applications because one version for Windows could cover both Windows and OS/2.
@Coder: Case in point: DIV and MUL.
The 80386 is neater than the 68030 in some ways, e.g. x86 always throws exceptions before doing any processing, keeping things clean and simple. 68k throws exceptions whenever they naturally arise, often part way through an instruction, dumping substantially more context onto the stack to allow for a partway-through resumption. So hands are more tightly bound in terms of how you can respond, and current state is less trustworthy.
@another-dave Could you specify the historical baggage? You don't need an IBM-compatible BIOS and running directly in protected mode means you don't have any legacy issues from real mode. The Next Computer could have switched directly and very early to protected mode when it was started and have its own ROM firmware.
@DarkDust Thank you. However, you could also use IMUL and IDIV, which do not have a hardcoded destination.
@Coder I dare imagine he's thinking about things like STOS too.
@Tommy Good point!
18:44
@Coder - segments, tasks, operand prefixes, ...
The comp.sys.next newsgroup was quite active between 1988-90. Browsing the archives gives a pretty good idea of people's expectations and thinking at the time, and there are few posts comparing benchmarks between NeXT, Sun, and the "cheap" 386 PCs. Back then few people could correctly predict the future for the x86 architecture. NeXT probably would have gone with a RISC architecture if it had been feasible at that time.
@Coder: There's also EDI and ESI, which work fine as general-purpose registers and are typically used that way. Also, while the 386 did add general two-operand IMUL, the same was not true for IDIV, and to this day it's limited to operating on AX, DX:AX, EDX:EAX, or RDX:RAX.
Real-mode x86 is really not bad, if one understands how to best use segments. On the 68000, incrementing a 32-bit pointer requires performing two 16-bit writes. On 16-bit real-mode x86, it only requires updating the bottom 16 bits. If one wants to work with 16-bit offsets into an object, real-mode x86 can handle objects up to ~65,520 bytes while the 68000 would be limited to 32767 bytes (Classic MacOS had a lot of 32K limits for this reason).
@supercat 68030 is a 32 bit processor so incrementing a 32 bit pointer is one write. Also, 16 bit offsets are signed, so you can address 64kB with a 16 bit offset relative to an address register. Not to mention you can do this off all eight address registers and the PC instead of just four segment registers.
Of course none of it really matters, because, even at the time of Next, most programming was done in high level languages, so 99% or programmers didn't care about the processor architecture.
@JeremyP: Agree that the 68030 has a 32-bit bus, but a lot of the hatred of real-mode 8086 stems from days of systems with 8-bit and 16-bit buses, and I think x86 works pretty well for a 16-bit-bus system. If the x86 had a mode where non-prefixed accesses would use SS, but DS was selectable via prefix, having two "free" segment registers (DS and ES) instead of just one, would have improved the efficiency of many tasks whose combined static-data and stack requirements totaled 64K or less.
18:46
@Coder: The NeXT was intended to be radically superior, and was always expensive. Paying DR for DR-DOS would be even worse. It still costs money, creates extra FUD for support, and is embracing the past on the cheap. At the time, DOS software had no retro charm at all: it was the everyday stuff that NeXT was trying to get away from. — John Dallman 46 secs ago
 
2 hours later…
20:41
It is hard to understand today how much nicer these machines were than everything else. It is like comparing c64 to a modern Mac.

  last day (18 days later) »