QL vs BBC vs Amstrad 464

Tell us about your other hobbies & none QL related items here :)
User avatar
Andrew
Gold Card
Posts: 316
Joined: Tue Jul 17, 2018 9:10 pm

QL vs BBC vs Amstrad 464

Postby Andrew » Mon Nov 04, 2019 3:36 pm

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
Aurora
Posts: 945
Joined: Sat Jan 22, 2011 8:47 am

Re: QL vs BBC vs Amstrad 464

Postby Peter » Wed Nov 06, 2019 9:31 pm

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: 557
Joined: Sun Dec 11, 2011 1:16 am
Location: Looking forward to summer in Somerset, UK...

Re: QL vs BBC vs Amstrad 464

Postby 1024MAK » Thu Nov 07, 2019 12:12 am

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.


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
QL Wafer Drive
Posts: 1780
Joined: Sun Feb 13, 2011 10:53 pm
Location: SW Germany

Re: QL vs BBC vs Amstrad 464

Postby tofro » Thu Nov 07, 2019 7:54 am

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
Gold Card
Posts: 354
Joined: Wed Jan 21, 2015 4:54 pm
Location: Hilversum, The Netherlands

Re: QL vs BBC vs Amstrad 464

Postby janbredenbeek » Thu Nov 07, 2019 11:28 pm

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: 585
Joined: Fri Jan 18, 2013 5:27 pm
Location: Prague, Czech Republic

Re: QL vs BBC vs Amstrad 464

Postby tcat » Mon Jan 27, 2020 9:45 am

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
Gold Card
Posts: 458
Joined: Thu Oct 12, 2017 9:54 am

Re: QL vs BBC vs Amstrad 464

Postby Pr0f » Mon Jan 27, 2020 9:53 am

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
Trump Card
Posts: 219
Joined: Thu Dec 23, 2010 1:40 pm

Re: QL vs BBC vs Amstrad 464

Postby dex » Mon Jan 27, 2020 9:59 am

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


User avatar
Pr0f
Gold Card
Posts: 458
Joined: Thu Oct 12, 2017 9:54 am

Re: QL vs BBC vs Amstrad 464

Postby Pr0f » Mon Jan 27, 2020 10:38 am

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: 557
Joined: Sun Dec 11, 2011 1:16 am
Location: Looking forward to summer in Somerset, UK...

Re: QL vs BBC vs Amstrad 464

Postby 1024MAK » Mon Jan 27, 2020 2:03 pm

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


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)

Who is online

Users browsing this forum: No registered users and 2 guests