[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Why still using Apple II?



We did get a bit off topic, but we do like to argue, right?

To mention Apple 2 at least once, I had built my own clone back in the 80s
because the real one
was way too expensive for me. And recently I made another clone in a single
FPGA including the
6502 CPU.  So I know a thing or two about the 6502 clock cycles :)

Below.

"Paul Schlyter" <pausch@NOSPAMsaaf.se> wrote in message
MPG.1d10b46e1ab2250498969b@news.individual.net">news:MPG.1d10b46e1ab2250498969b@news.individual.net...

> 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.

Sure. And the very first 8080 ran at 2 MHz. So the speed was about the same.
The one major drawback of 8080 was that it required 3 voltages to run.
8080 had more instructions, but 6502 had more addressing modes.
8080 had more registers, but 6502 had zero page.
8080 had 16 bit addition, but ....

So there was no clear winner.

BTW Z80 started at 2.5 MHz and had a lot of improvements over 8080. No
wonder it is STLL used
after 30 years or so.

>
> >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.

Well, AFAIK 8088 didn't do any better in this respect, did it?

>
> >4GB address space
>
> That came later.  The first versions of the 68K CPU had only a 24-bit

I'm talking about LOGICAL memory space, not the number of physical address
pins.
x86 still suffers from this problem. The  LOGICAL memory space is limited to
1MB in real mode.
Not to mention all the "extended" and "expanded" memory kluges of the late
80s.
Once more memory was needed it was a simple matter of adding to the address
bus on the 68K.

> (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.

Sure.

>
> >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.

Yes, I've heared that.

>
> >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.

I mean a lot more than that. Yes, you can do preemptive multitasking on a
PIC chip,
but things like separate stacks and user vs. supervisor mode helps a lot
when
writing a "real" OS.


>
> 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.

Thanks, I've learned something I didn't know.

>
> 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.

Not to mention the addition of return to real mode, hardware debugging
registers and a lot more.

>
> 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.

Absolutely. Which contributed to the limitations of the 86 architecture that
had deep
roots in the 8 bit world.

>
> 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.

Yes. I think there was also V30(?) - same but 16 bit external bus.
>
> 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/