Welcome, Guest. Please login or register.

Author Topic: Million Instructions per Second  (Read 5514 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline commodorejohn

  • Hero Member
  • *****
  • Join Date: Mar 2010
  • Posts: 3165
    • Show all replies
    • http://www.commodorejohn.com
Re: Million Instructions per Second
« on: June 11, 2013, 02:16:58 AM »
Quote from: Oldsmobile_Mike;737460
A 6502 is capable of .500 MIPS?  Get outa here!  ;)  Just seems odd in comparison to the 68000 .7 MIPS (which we all know as to be true according to SysInfo, LOL)
Considering that there are a number of instructions on the 6502 with two-cycle execution times (though there are plenty more in the 3-5 range) this isn't actually an unreasonable figure (though you'd be hard-pressed to write code with only the two-cycle instructions and thereby manage a full .5 MIPS on a 1MHz 6502.)

It's also a great example of why MIPS is completely bogus for cross-architecture comparison. The 68000 ran at higher clock speeds than the 6502 (though later CMOS 6502 derivatives eventually caught up,) and is much more powerful on a per-instruction basis - but since the average execution time for 68000 instructions is closer to 8-10 cycles and it's hard to go below 4, the disparity when viewed in terms of instructions-per-second looks a lot smaller than it actually is. Don't get me wrong, the 6502 is a great CPU for an 8-bitter, but while the 68000 doesn't execute as many instructions clock-per-clock, it gets a whole lot more done with them.
« Last Edit: June 11, 2013, 02:19:54 AM by commodorejohn »
Computers: Amiga 1200, DEC VAXStation 4000/60, DEC MicroPDP-11/73
Synthesizers: Roland JX-10/MT-32/D-10, Oberheim Matrix-6, Yamaha DX7/FB-01, Korg MS-20 Mini, Ensoniq Mirage/SQ-80, Sequential Circuits Prophet-600, Hohner String Performer

"\'Legacy code\' often differs from its suggested alternative by actually working and scaling." - Bjarne Stroustrup
 

Offline commodorejohn

  • Hero Member
  • *****
  • Join Date: Mar 2010
  • Posts: 3165
    • Show all replies
    • http://www.commodorejohn.com
Re: Million Instructions per Second
« Reply #1 on: June 11, 2013, 02:36:25 AM »
Quote from: jackflash;737464
I seem to recall that the 6502 used 3 to 5 clock cycles to carry out 1 instruction, wouldn't that give it an average of 0.25 MIPS?
A lot of important instructions are in the 3-5 range, yes. But basically any instruction that operates entirely on registers/internal CPU state is a two-cycle instruction, since the CPU doesn't have to fetch any extra bytes to complete it. (Some instructions using immediate constants don't, either, since the 6502 can fetch the value right out of the instruction stream at the start of the second instruction cycle.) But as I said, you'd be hard-pressed to write an entire program out of those instructions. That's another problem with MIPS, it's highly dependent on the instruction mix used for determination, and manufacturers had no qualms about "cooking" the results by using lots of short instructions.
« Last Edit: June 11, 2013, 02:38:40 AM by commodorejohn »
Computers: Amiga 1200, DEC VAXStation 4000/60, DEC MicroPDP-11/73
Synthesizers: Roland JX-10/MT-32/D-10, Oberheim Matrix-6, Yamaha DX7/FB-01, Korg MS-20 Mini, Ensoniq Mirage/SQ-80, Sequential Circuits Prophet-600, Hohner String Performer

"\'Legacy code\' often differs from its suggested alternative by actually working and scaling." - Bjarne Stroustrup
 

Offline commodorejohn

  • Hero Member
  • *****
  • Join Date: Mar 2010
  • Posts: 3165
    • Show all replies
    • http://www.commodorejohn.com
Re: Million Instructions per Second
« Reply #2 on: June 11, 2013, 02:40:49 AM »
Quote from: royalcrown;737466
All I know is my c64 crushed an 8088 at gaming fluidity. the 8088 was running CGA. It made the intel look like poop !
Yeah, the 8088 was a pretty badly-hobbled design - like the original 68000 it had a data bus half the width of its registers, and on top of that it didn't have nearly as many registers and they all had special-purpose functions, so a lot of time had to be wasted juggling them in any halfway complex code. And that's not even getting into a lot of the performance-inhibiting cost-saving measures like memory wait states that many PC manufacturers employed...
Computers: Amiga 1200, DEC VAXStation 4000/60, DEC MicroPDP-11/73
Synthesizers: Roland JX-10/MT-32/D-10, Oberheim Matrix-6, Yamaha DX7/FB-01, Korg MS-20 Mini, Ensoniq Mirage/SQ-80, Sequential Circuits Prophet-600, Hohner String Performer

"\'Legacy code\' often differs from its suggested alternative by actually working and scaling." - Bjarne Stroustrup
 

Offline commodorejohn

  • Hero Member
  • *****
  • Join Date: Mar 2010
  • Posts: 3165
    • Show all replies
    • http://www.commodorejohn.com
Re: Million Instructions per Second
« Reply #3 on: June 11, 2013, 05:29:53 PM »
Quote from: psxphill;737511
Comparing an 8088 to a 68000 is a little unfair. It was just the cost reduced version of the 8086, like the 68008 was a cost reduced version of 68000. Yes the 8086 wasn't a great design, but they didn't expect it to define the industry. It was just a logical progression from the 8008 chip that they produced in 1972 & they started making CPU's to give people a reason to buy the RAM chips they made to put them in calculators etc.
Fair point. I wasn't really intending to lambast the 8088 for not being the 68000, I just wanted to draw some points of comparison in explaining why the 8088 suffered from performance issues.
 
Quote
However the 8088 does compare well to a 6502. The c64 beat CGA PC's in terms of games because of the vic & sid chips.
Yes and no. The 8088 is definitely more powerful from an architectural standpoint, and faster, fundamentally, at 16-bit operations. On the other hand, the bottleneck imposed by the 8-bit bus is seriously crippling for it, and it's not as cycle-efficient to begin with (though not as badly as the 68000.) And again, that's not getting into the additional issues imposed by PC-manufacturer cheap-outs like memory wait states (which only exacerbate the already-problematic memory bottleneck.)

The 6502, on the other hand, doesn't do much, but it does it very well. But yes, a lot of the C64's success had to do with the excellent peripheral chips.
Computers: Amiga 1200, DEC VAXStation 4000/60, DEC MicroPDP-11/73
Synthesizers: Roland JX-10/MT-32/D-10, Oberheim Matrix-6, Yamaha DX7/FB-01, Korg MS-20 Mini, Ensoniq Mirage/SQ-80, Sequential Circuits Prophet-600, Hohner String Performer

"\'Legacy code\' often differs from its suggested alternative by actually working and scaling." - Bjarne Stroustrup