Log in

View Full Version : Architecture/design shoot outs



Dirk Broer
04-23-2015, 10:27 PM
In this brand-new series I will compare different CPUs at the same operating speed, thereby showing -I hope- that design is sometimes more important than mere MHz.

Let's start at the beginning then.
Nowadays John Public seems to think that computers ought to have a x86 (https://en.wikipedia.org/wiki/X86) CPU, especially after Apple changed from the Power archtecture to x86. x86, for all its present market dominance, had a bit of a shaky start though. The Intel 8086 (http://www.cpu-world.com/CPUs/8086/index.html), the first Intel 16-bit CPU, was the first true x86 CPU. It was designed beween 1976 and 1978, when it was brought out to the consumer market. By sheer coincidence this was when I left highschool. In its best version made by Intel it reached a whopping 10 MHz.

To enchance its performance a co-processor (https://en.wikipedia.org/wiki/Coprocessor) could be sticked in the motherboard, the Intel 8087 (http://www.cpu-world.com/CPUs/8087/index.html). This FPU had to run at the same speed as the CPU and could perform at around 30,000 (http://answers.google.com/answers/threadview/id/542435.html) to 50,000 FLOPS (https://books.google.nl/books?id=eQjx5HaqeLkC&pg=SA6-PA26&lpg=SA6-PA26&dq=8087+performance+flops&source=bl&ots=NHUtdhRUUD&sig=RZa-4unIVTqoz_Pr5ujJIPjqswQ&hl=en&sa=X&ei=aSpBVZPRCorxaqWQgPgD&ved=0CC4Q6AEwAg#v=onepage&q=8087%20performance%20flops&f=false) (Floating Point Operations per Second).

There was also a cheaper and less complicated version with a only 8 Mhz external data bus, the Intel 8088 (http://www.cpu-world.com/CPUs/8088/index.html), that also could be supported by the 8087, but needed less supporting -and cheaper- ICs. It was this CPU that paved the way for the -then- future x86 archticture, as IBM decided to use it -the 8088- in their first, now classic, IBM-PCs: http://www.columbia.edu/cu/computinghistory/ibmpc01.jpg
Socket-wise, DIP-40 (http://en.wikipedia.org/wiki/Dual_in-line_package) ruled these days.

Motherboards in these days were huge, the Intel 8086 was to be supported by these:

Intel 8237: direct memory access (DMA) controller
Intel 8251: USART
Intel 8253: programmable interval timer
Intel 8255: programmable peripheral interface
Intel 8259: programmable interrupt controller
Intel 8279: keyboard/display controller
Intel 8282/8283: 8-bit latch
Intel 8284: clock generator
Intel 8286/8287: bidirectional 8-bit driver
Intel 8288: bus controller
Intel 8289: bus arbiter

The 8086, 8088 and 8087 chips were made by Intel, AMD (AMD 8086 on CPU-World (http://www.cpu-world.com/CPUs/8086/MANUF-AMD.html); AMD 8088 on CPU-World (http://www.cpu-world.com/CPUs/8088/MANUF-AMD.html); AMD 8087 on CPU-World (http://www.cpu-world.com/CPUs/8087/MANUF-AMD.html)), NEC, Fujitsu, Harris (Intersil), OKI, Siemens, Texas Instruments, Mitsubishi and Panasonic (Matsushita), to name but a few.
They had to compete with CPUs like the Motorola 6800 (http://www.cpu-world.com/CPUs/6800/index.html), the Motorola 6809 (http://www.cpu-world.com/CPUs/6809/index.html), the MOS Technology 6502 (http://www.cpu-world.com/CPUs/650x/index.html) and the Zilog Z80 (http://www.cpu-world.com/CPUs/Z80/index.html).

I found these MIPS values -as used in BOINC- for them:



CPU
Design
Market
Internal
Databus
External
Databus
Operating speed
in MHz
DMIPS/
MHz
Dhrystone
MIPS
NPU/FPU


MOS Technology 6502

1974

1975

8-bit

8-bit

1-4

0.43

0.43-1.72

none


Zilog Z-80

1974

1976

8-bit

8-bit

2.5-20

0.145

0.36-2.90

AMD9511


Kawasaki KL5C8400C

197?

197?

8-bit

8-bit

33

0.165

5.7

AMD9511


Motorola 6809

1974

1978

8-bit

8-bit

1-2

0.42

0.42-0.84

none


Intel 8086

1976

1978

16-bit

16-bit

5-10

0.066

0.33-0.66

8087


Intel 8088

1976

1979

16-bit

8-bit

5-10

0.075

0.37-0.75

8087


NEC V20 (http://www.cpu-world.com/CPUs/V20/index.html)

198?

1982

16-bit

8-bit

8-16

0.5

4-8

8087


NEC V30 (http://www.cpu-world.com/CPUs/V30/index.html)

198?

1983

16-bit

16-bit

8-16

0.5

4-8

8087


Intel was/is not always the best choice it seems! That honour goes to NEC for this class of CPU, though that 33 MHz Kawasaki version of the Zilog Z-80 won the 8-bit crown.
And interesting, as I would always choose the fully 16-bit 8086 above the hybrid 8/16-bit 8088. By watching the internal databus we can also observe a distinct 'watershed' between the last of the 8-bit CPUs and the first of the 16-bit CPUs. But... these are the true dinosaurs of computing, and BOINC-wise of no use.

The winner (cpu-class): http://upload.wikimedia.org/wikipedia/commons/thumb/c/ca/KL_NEC_V30.jpg/320px-KL_NEC_V30.jpg The NEC V30. The winner (fpu-class): http://cdn.cpu-world.com/CPUs/8087/S_Intel-D8087-1.jpg The 10 MHz Intel D8087-1.

OS-wise there is the interesting fact that IBM PC-DOS 1.0 (that came with the IBM PC) and MS-DOS 1.0 (that you had to buy when you bought or built a clone) never ran on less than a 16-bit 8088, while the original CP/M (which had inspired the early DOS developers) already ran on a 8-bit Z-80. Later CP/M versions included a CP/M-86 for the 8086, the original CP/M by that time having been renamed to CP/M-80.

To be continued.

NeoGen
04-27-2015, 02:01 AM
Ahh... the good old days!

When I was a kid I had a Sinclair ZX Spectrum (http://en.wikipedia.org/wiki/ZX_Spectrum) +2A minicomputer that was powered by a Zilog Z-80 and a whopping 128Kb of RAM. That machine ran like a dream to me back then (except for the cassette tape loading times) and I easily played hundreds of games on it :)

Dirk Broer
04-27-2015, 04:14 PM
My next stop is at the 80286, as the 80186 (http://www.cpu-world.com/CPUs/80186/index.html)/80188 (http://www.cpu-world.com/CPUs/80188/index.html) was mainly used in embedded systems. The 6 MHz, 10 MHz and 12 MHz models of the Intel 80286 were reportedly measured to operate at 0.9 MIPS, 1.5 MIPS and 2.66 MIPS respectively, so the NEC V20 and V30 were still at a competitive edge with the 80286. But there were more manufacturers, such as AMD and Harris, who managed to push the speed to 20 MHz (AMD) and even 25 MHz (Harris).

The 80287 FPU doesn't need to be at the same speed as a 80286 -usually the 80287 ran at 2/3 speed of the 802886-, which is perhaps why you can't seem to find any 25 MHz 80287 chips. I myself have a 80286 mobo with a Harris 286-20, and the best 80287 for it would be either an ITT 80287-20, a Cyrix 82S87 or an Intel C80287XL-12 (these later design 80287s were all three based upon 80387 logic, the Cyrix reportedly being the fastest -at 730 kWhets/sec for a 12.5 MHz system- and most accurate).
The noticable jump in performance that the 80286 gave over the 8086 wasn't there when you compared the 80287 with the 8087, as the 80287 managed some 65,000 FLOPS as cmpared to the 50,000 FLOPS of the 8087.

The Harris CS80C286-25 must have reached a MIPS score of about 5.25 (0.21 MIPS per MHz), the highest for this platform.http://cdn.cpu-world.com/CPUs/80286/S_Harris-CS80C286-25.jpg
This 1992 Cyrix 287+ FPU -using 80387 logic- might very well be the best 287 FPU that money could buy those days http://cdn.cpu-world.com/Images/uploaded/0000/27/S_00002753.jpg


CPU
Design
Market
Internal
Data Bus
External
Data Bus
Operating speed
in MHz
DMIPS/
MHz
Dhrystone
MIPS
NPU/FPU


Intel 80286

1980

1982

16-bit

16-bit

4-12.5

0.21

0.84-2.66

80287


Fujitsu MBL80286

1985

1986

16-bit

16-bit

6-8

0.21

1.26-1.68

80287


Siemens SAB 80286

1982

1987

16-bit

16-bit

6-12

0.21

1.26-2.52

80287


AMD N80L286 (http://www.cpu-world.com/CPUs/80286/MANUF-AMD.html)

1982

1985

16-bit

16-bit

6-20

0.21

1.26-4.20

80287


Harris CS80C286

1982

1989

16-bit

16-bit

10-25

0.21

2.10-5.25

80287


BOINC-wise, these CPUs still won't work. You can't run Win95, OS/2 or Linux on them -not good anyway, being 16 bit CPUs.

Dirk Broer
04-28-2015, 12:51 AM
The 80386 was the first x86 CPU that was 32-bit and offered much more capabilities than the CPUs that went before it. Like the 80286, the 80386 could do all that its predecessors could -which had proven the way to succes for Intel. And as with the 80286, Intel left the design before the rest of the field. In 8088/86, 80188/186 and 80286 days they had given their design in license, but in 80386 days there was more reverse engineering. NEC had already found Intel before them in court over their improved 8088 (V20) and 8086 (V30), but from now on Intels lawyers had their hands full at the different cases against their competitors.



CPU
Internal
clock
External
clock
Data
bus (ext)
Address
bus
L1
cache
iComp
1.0 index
Norton
SI
Dhrystone
MIPS


80386SX-16

16

16

16-bit

24-bit

-

22

11

2.5


Intel 80386DX-16

16

16

32-bit

32-bit

-

29

15

4.0


80386SX-20

20

20

16-bit

24-bit

-

32

15

3.2


Intel 80386DX-20

20

20

32-bit

32-bit

-

38

20

5.0


80386SX-25

25

25

16-bit

24-bit

-

39

20

3.9


IBM 386SLC

20

20

16-bit

24-bit

8 KB








Intel 80386DX-25

25

25

32-bit

32-bit

-

49

25

6.0


80386SX-33

33

33

16-bit

24-bit

-

56

27

5.1


80386DX-33

33

33

32-bit

32-bit

-

68

35

8.0


AMD 80386SX-40

40

40

16-bit

24-bit

-








AMD 80386DX-40

40

40

32-bit

32-bit

-

85

43.2

9.6


Cyrix 486SLC-33*

33

33

16-bit

24-bit

1 KB








IBM 486SLC-33*

33

33

16-bit

24-bit

16 KB








Cyrix 486DLC-33*

33

33

32-bit

32-bit

1 KB



54.7




IBM 486SLC/2-50*

50

25

16-bit

24-bit

16 KB








IBM 486SLC/2-66*

66

33

16-bit

24-bit

16 KB








Cyrix 486DLC-40*

40

40

32-bit

32-bit

1 KB



65.6




IBM 486DLC*

33

33

32-bit

32-bit

16 KB








IBM 486 DLC2-50 aka BL/2-50*

50

25

32-bit

32-bit

16 KB








IBM 486 DLC2-66 aka BL/2-66*

66

33

32-bit

32-bit

16 KB








IBM 486 DLC3-75 aka BL/3-75*

75

25

32-bit

32-bit

16 KB



111.7




IBM 486 DLC3-100 aka BL/3-100*

100

33

32-bit

32-bit

16 KB



148.1




*=486 in name only

To be updated as soon as I can find decent 80386 benchmarks! Our winner looked like this:

http://www.os2museum.com/wp/wp-content/uploads/2014/08/P4131730-300x225.jpg

BTW: Even though the original Linux was developed on a 80386, from the 3.8 kernel on the 80386 is not suported anymore in Linux.... (http://www.engadget.com/2012/12/15/linux-to-drop-i386-support-in-the-3-8-kernel/)

Would you care/dare to run BOINC on a 80386-compatible CPU, then you should also look for a 80387 FPU co-processor, as BOINC projects can be very dependent on floating point performance, which is what the 80387 is meant to take care of. As with the 80287, Cyrix seems to have provided the fastest and most accurate model, the Cyrix 387DX+ (http://www.cpu-collection.de/?tn=0&l0=cl&l1=FPU&l2=Cyrix#FPUfor486DLCCPU).

http://cdn.cpu-world.com/CPUs/80387/S_Cyrix-387DX-40%20(387DX+).jpg
These 80387 copro's delivered five times the FLOPS of their 80287 counterparts.

NeoGen
04-29-2015, 04:19 AM
I played with another computer of this generation... If I remember correctly my dad's first PC was based off an Intel 486 (maybe DX2?) CPU... now, were these the ones that had the famous "Turbo" button? I think I remember it being 66MHz and pushing the button would jump it to 100. :)

Dirk Broer
04-29-2015, 06:39 AM
That would have been more likely an Intel or AMD 486DX4-100. These were triple (despite the '4') clocked machines with an external bus of 33 MHz.