QL vs BBC vs Amstrad 464

Tell us about your other hobbies & none QL related items here :)
Post Reply
User avatar
Andrew
Aurora
Posts: 786
Joined: Tue Jul 17, 2018 9:10 pm

QL vs BBC vs Amstrad 464

Post by Andrew »

Sinclair QL vs BBC model B vs Amstrad CPC 464

i do not understand how in the benchmark test QL was slower than Amstrad

https://youtu.be/Gj-DdSD6C3k


User avatar
Peter
QL Wafer Drive
Posts: 1953
Joined: Sat Jan 22, 2011 8:47 am

Re: QL vs BBC vs Amstrad 464

Post by Peter »

My first guess: Maybe integer calculations, not using integer variables on the QL, but on the Amstrad.
Their rating looked arbitrary, e.g. for graphics they assigned just one point difference, although the QL was much faster.
And they didn't value the microdrives over cassette at all.

By the way, this is not off-topic. You might get more feedback under "General QL Chat".


User avatar
1024MAK
Super Gold Card
Posts: 592
Joined: Sun Dec 11, 2011 1:16 am
Location: Looking forward to summer in Somerset, UK...

Re: QL vs BBC vs Amstrad 464

Post by 1024MAK »

The trouble is, we don’t know the exact set of benchmarks that were used.

I’m guessing that this was all the standard benchmarks rolled into one program. The whole point was to run the same program on each machine. So they were all likely using floating point variables. As that is the most common type in most versions of BASIC.

The Beeb is known for having one of the fastest BASICs of the 8 bit micros. And it’s also quite speedy when writing to the screen if in MODE 7 (the teletext mode). It’s not bad in the graphical modes either. The Beeb normally starts up in mode 7.

The 6502 runs at 2MHz when accessing ROM or RAM, including no slowdown when accessing screen RAM.

The Amstrad CPC uses a 4MHz Z80 and was developed after the Beeb. The designers put a lot of effort into getting the most out of it. So it’s fairly fast at printing to the screen. And it’s BASIC is fast as well.

Although the QL has a 68008 running at a little under 8MHz, multiple accesses are needed to get the data from RAM. As the bus width is only eight bits. And the 68008 has to wait if the ULA is drawing the screen.

Mark
Last edited by 1024MAK on Thu Nov 07, 2019 8:54 am, edited 1 time in total.


:!: Standby alert :!:
“There are four lights!”
Step up to red alert. Sir, are you absolutely sure? It does mean changing the bulb :!:
Looking forward to summer in Somerset later in the year :)

QL, Falcon, Atari 520STFM, Atari 1040STE, more PC's than I care to count and an assortment of 8 bit micros (Sinclair and Acorn)(nearly forgot the Psion's)
User avatar
tofro
Font of All Knowledge
Posts: 2685
Joined: Sun Feb 13, 2011 10:53 pm
Location: SW Germany

Re: QL vs BBC vs Amstrad 464

Post by tofro »

From a pure hardware spec perspective, the QL should have been marginally faster than the Beeb or the Amstrad. Early QL Basic, however, has always been known to be bug-ridden and slow. This improved over time - Probably the QL would win today. S*Basic on SMSQ/e, on the same hardware, is way faster than old QL Basic.


ʎɐqǝ ɯoɹɟ ǝq oʇ ƃuᴉoƃ ʇou sᴉ pɹɐoqʎǝʞ ʇxǝu ʎɯ 'ɹɐǝp ɥO
User avatar
janbredenbeek
Super Gold Card
Posts: 629
Joined: Wed Jan 21, 2015 4:54 pm
Location: Hilversum, The Netherlands

Re: QL vs BBC vs Amstrad 464

Post by janbredenbeek »

Peter wrote:My first guess: Maybe integer calculations, not using integer variables on the QL, but on the Amstrad.
Their rating looked arbitrary, e.g. for graphics they assigned just one point difference, although the QL was much faster.
Remember that using integer variables on the original QL had no speed advantage, it was often even slower. When calculating i%=i%+1 the '1' was stored as floating point, so i% had to be converted to float first and after the addition back to integer. This was the reason why Laurence introduced 'integer tokenisation' in Minerva so that constants were stored in integer format where possible so the maths could be integer too. SuperBASIC even had two reserved token codes ($89 and $8A) for this but they didn't make it to the Sinclair ROMs.

Overall I had the impression that the QL's math package was quite fast compared to 8-bit machines even for floating point, partly thanks to the 68000's MULx instruction (you needed 4 of them for a FP multiplication as these have a 32-bit mantissa, but this is probably still faster than having to do it bit-by-bit on the 6502 or Z80).

Jan


tcat
Super Gold Card
Posts: 633
Joined: Fri Jan 18, 2013 5:27 pm
Location: Prague, Czech Republic

Re: QL vs BBC vs Amstrad 464

Post by tcat »

The 6502 runs at 2MHz when accessing ROM or RAM, including no slowdown when accessing screen RAM.

The Amstrad CPC uses a 4MHz Z80 and was developed after the Beeb. The designers put a lot of effort into getting the most out of it. So it’s fairly fast at printing to the screen. And it’s BASIC is fast as well.
I wonder, what the circuitry trick is in these machines, that CPU is not stalled while screen is refreshed (any visual side effects perceptible to the user?). There are other micros of that time, 8-bit Commodore, and ATARI. I never had these, so I cannot tell where they stand in the bench.

Tom


User avatar
Pr0f
QL Wafer Drive
Posts: 1298
Joined: Thu Oct 12, 2017 9:54 am

Re: QL vs BBC vs Amstrad 464

Post by Pr0f »

Access to screen memory is interleaved with the CPU on the beeb, so the RAM's have to be fast enough to do double work duty, but the processor never has to wait for memory access.

It's more than possible to do this with the 68000 as well.

I think the Amstrad used seperate memory area for the screen - a lot of the later Z80 based home machines did, and of course the MSX machines used the 99x8 series of video chips, where screen memory was accessed over an I/O port


User avatar
dex
Gold Card
Posts: 286
Joined: Thu Dec 23, 2010 1:40 pm

Re: QL vs BBC vs Amstrad 464

Post by dex »

Amstrad CPC is significantly slowed down by its video and memory circuits to approx. 3.3 MHz.


User avatar
Pr0f
QL Wafer Drive
Posts: 1298
Joined: Thu Oct 12, 2017 9:54 am

Re: QL vs BBC vs Amstrad 464

Post by Pr0f »

dex wrote:Amstrad CPC is significantly slowed down by its video and memory circuits to approx. 3.3 MHz.
But is that a 4MHz Z80 being clocked at 3,3MHz to get video timing correct - in which case it is a 3.3MHz Z80 - the speed on the CPU itself is just the maximum rating it can be run at reliably - you can run it on a lower frequency (there are limits depending on the processor type and model, as some had fully static cores - like the CMOS version used in the Z88, which can litereally be stopped dead or run with a very very slow clock to save power.


User avatar
1024MAK
Super Gold Card
Posts: 592
Joined: Sun Dec 11, 2011 1:16 am
Location: Looking forward to summer in Somerset, UK...

Re: QL vs BBC vs Amstrad 464

Post by 1024MAK »

The 6502 CPU used in the BBC Micro only uses the data-bus when the CPU clock is high. Hence if you isolate the address and data lines, the video system can use the time when the CPU clock is low to get screen data from the main RAM. Hence no slowdown. Note that this does not apply if you want your 65C02 to run at faster clock rates, as then the system needs the address data during the low part of the clock ready to enable memory when the clock goes high.

The Amstrad CPC machines do run the Z80 at 4MHz. But the Amstrad custom gate array chip pauses the Z80 so that the display system can get access to the RAM. This reduces the effective average clock rate.
”The system centres round the Z80A with a 4.00MHz clock". "Accesses to memory are synchronised with the video logic, constrained to occur on microsecond boundaries”. “This has the effect of stretching each Z80 machine cycle to be a multiple of 4 time states (clock cycles)”. “In practice, this alters the instruction timing so that the effective clock rate is approximately 3.3MHz".
From here. More here and here.

This is similar (but not the same) as that used on the ZX Spectrum.

Machines that use a video display processor (note that it’s NOT a MPU/CPU) have completely separate screen RAM where there is no direct access by the MPU/CPU. The Memotech MTX has this arrangement, hence it’s Z80 always runs at 4MHz. The MSX machines are similar. The disadvantage is that writing lots of data to the screen RAM takes longer. And random access takes more time again, as you have to send the required address first before the data. All via I/O instructions.

Mark


:!: Standby alert :!:
“There are four lights!”
Step up to red alert. Sir, are you absolutely sure? It does mean changing the bulb :!:
Looking forward to summer in Somerset later in the year :)

QL, Falcon, Atari 520STFM, Atari 1040STE, more PC's than I care to count and an assortment of 8 bit micros (Sinclair and Acorn)(nearly forgot the Psion's)
Post Reply