[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Why still using Apple II?
In article <JbadnZfWodZ2zDvfRVn-iw@comcast.com>, alexf@mirrow.com says...
>While is is debatable if 6502 was any faster/better/cooler than an 8080,
The 6502 was definitely faster than the 8080. A lot of 6502 instructions
took only 2 clock cycles, while any instruction on the 8080 took a minimum
of 4 clock cycles. So a 1 MHz 6502 ran about as fast as a 2-3 MHz 8080.
>there is absolutely no question that 68000 was light-years ahead of 8088.
>Just consider 32 bit registers,
...which were somewhat limited on the 68000. The multiply and divide
operations on the 68000 were 16-bit, not 32-bit, for instance.
>4GB address space
That came later. The first versions of the 68K CPU had only a 24-bit
(i.e. 16 MBytes) address space. But 16 MBytes was a lot at that time.
>and a much better instruction set.
The instruction set of the 8086/8088 was a clear improvement over the
instruction set of the 8080 though.
>I have been joking for years that had IBM used 68000, the programmers
>wouldn't get paid as much.
IBM actually wanted to use the 68K for the PC. But IBM also wanted an 8-bit
data bus on the motherboard, for cost reasons. The 68008 had then not been
released yet, but Intel offered the 8088 -- and that's why IBM chose the
8088 instead of the (then non-existent) 68008.
>Now 386 was the first "real" CPU from Intel that allowed true multitasking.
:-) ...actually almust any CPU can do "true multitasking" (I suppose you
mean preemptive multitasking by that) -- it's just a matter of hooking up
an interrupt from a timer chip to a task scheduler.
The now forgotten Intel iAPX-432 was the first Intel CPU which allowed
"real" (preemptive) multitasking in a protected memory environment. It was
also a 32-bit CPU, and it was intended to be the Ada equivalent of Western
Digital's "Pascal Microengine". But the iAPX-432 failed because it was so
slow -- all these checks on every machine instruction slowed down the CPU
a lot.
The Intel 80286 was the first CPU from Intel allowing preemptive
multitasking combined with a protected memory environment. But it was still
a 16-bit processor (albeit with a 24-bit i.e. 16 MByte address space),
forcing those protected memory segments to be max 64 kBytes large. And that
forced extensive use of segmented addressing, since the alternative (running
everything in the same segment, i.e. the same 64 kBytes RAM) would be too
limiting.
The 386 was the 32-bit version of the 286, which also added paging as an
alternative memory protection mechanism. The segments are still there in
the 386, but now each segment can be up to 4 GBytes large. Which makes it
practical to run in "flat address space", i.e. all segments overlapping one
another - memory protection is then provided by the paging mechanism.
When the 386 appeared, Linus Torvalds found it worthwhile to build an OS on
it, and started to develop Linux.
>Intel had an embeded CPU i960 that
>had an architecture much closer to 68000 than to other Intel's processors.
>The ONLY reason for the x86 line to exist was backwards compatibiliy due to
>the installed base of the PCs.
When the x86 first was released there was no "installed base of PC's" so
that wasn't a factor at all at first. However, backwards compatibility was
still an issue - not towards PC's but towards the older base of CP/M-80
computers. And so the 8086/8088 was given a register and instruction set
which was backwards compatible to the 8080. There was no binary backwards
compatibility though, but 8080 assembly language programs could fairly
easily be machine translated to 8086/88 assembly language programs. And
some of the MS-DOS system calls closely mimiced the corresponding CP/M
system calls.
For some years NEC manufactured the V20 chip which was an 8088 clone, with
one added feature: by setting a CPU flag, it miniced an 8080 instead, and
was then able to execure 8080 machine code directly. There was at least one
CP/M-80 emulator for MS-DOS which utlized this feature of the V20, and thus
ran CP/M software efficiently.
To be backwards compatible is both good and bad: it's bad because the CPU
and the OS become a "code museums" with layers of legacy code deep inside.
But it's also good that whenever you buy a new computer, you can still use
your old software for some period of time, you don't have to get everything
brand new at once.
>Now of course it is the volume of PC clone sales that makes the price of x86
>reasonable.
Yep --- as well as the prices of harddisks, memory chips, VDU's, etc, very
reasonable (read that as: dirt cheap!)
--
Paul Schlyter, Grev Turegatan 40, SE-114 38 Stockholm, SWEDEN
e-mail: pausch at saaf dot se
WWW: http://stjarnhimlen.se/