48
votes
How fast were BASIC interpreters in the 80s? (Is this optimization for speed really necessary?)
They were awfully slow.
And not just because the CPUs they ran on were slow; the interpreters themselves tended to use some terribly inefficient implementation techniques that certainly wouldn’t pass ...
48
votes
Accepted
Fastest 8-bit microprocessor for multiply-accumulate?
And sorry to nerd-snipe this, but of course the ideal candidate for a fast multiply-add is a Digital Signal Processor CPU, and nothing in your requirements says that DSPs are excluded. It will be also ...
47
votes
Accepted
How fast were BASIC interpreters in the 80s? (Is this optimization for speed really necessary?)
The speed of BASIC interpreters has been discussed elsewhere on this site, see How can you measure time using BASIC on Atari XL computers? for example. They were slow, in many cases very slow; bear in ...
46
votes
Accepted
How slow was the 6502 BASIC compared to Assembly
Yes, BASIC is much slower than assembly for many operations. For an
easy example, try out this program on a Commodore 64 or emulator:
for i = 1024 to 1984 : poke i,peek(i) or 128 : next
You will see ...
43
votes
Accepted
Comparing raw performance of the Z80 and the 6502
Both processors are cacheless. So the process is fetch instruction, decode instruction, execute instruction, forget what you saw. That provides a first line of comparison.
The Z80's fastest memory ...
35
votes
Accepted
How much slower was the 286 in protected mode?
Basically, anything that involves changing segments is slower, sometimes significantly so; this is unsurprising since descriptors have to be checked, privilege levels potentially changed etc. Other ...
33
votes
What made some 8-bit BASIC interpreters especially slow?
"Atari BASIC: The Good, the Bad, and the Ugly" is an excellent summary Atari BASIC's advantages and weaknesses. To answer the Atari half of your question:
How did it get so slow? Basically ...
29
votes
68000 and memory access speed
If you look at the datasheet of a typical DRAM chip of this era, say the Mostek 4116, it indeed has a cycle time of 375ns, so you can't access it at more than 2.6 MHz.
But don't confuse the clock ...
29
votes
Accepted
Did any RISC CPU ever take more than one clock cycle per instruction?
Classic RISC CPUs like ARM ... instructions execute in one cycle ...
This assumption is not correct.
The ARM-2 CPU (VL86C010, one of the first ARM CPUs) took:
Only one cycle for most operations (as ...
29
votes
Why might Quake run slowly on a modern PC in DOS, but not in a virtual machine?
The original Quake used software rendering directly to video memory, at that time in 320x200, and you are using a resolution with around twenty times as many pixels. In other words twenty times the ...
28
votes
How fast were BASIC interpreters in the 80s? (Is this optimization for speed really necessary?)
You can actually try out these programs on a real-speed computer of that vintage using jsBeeb or, for a more convenient program editing environment, bbcmic.ro.
To make the above programs compatible ...
27
votes
Accepted
How fast is memcpy on the Z80?
There's no real optimisation — LDIR (or indeed LDDR, which goes downward instead of upwards) is the complete inner loop. It will always load from HL, store to DE, increment both and decrement BC. Then ...
27
votes
Why was manual branch suggestion abandoned?
I can speak from experience of having tried using the manual hinting. I work on a large mathematical modeller and when the Intel IA-32 hinting system described in the reference appeared, my management ...
27
votes
What made some 8-bit BASIC interpreters especially slow?
Commodore BASIC suffered from four major performance issues:
It stored numbers as text in the source, and had to parse numbers every time they were used.
Program lines are stored as singly-linked ...
25
votes
Accepted
80s DRAM chips: one per bit of data bus width?
No.
In your hypothetical 16 bit machine with 64kiB of RAM, you could simply implement two 32kiB banks with using sixteen 16kib chips each. This obviously doubles the required number of chips and ...
22
votes
Accepted
Was any DRAM ever slower than 2 MHz?
From the 1975 Intel Data Catalog entry for the 1103:
one sees that a write or read/write cycle is specified as a minimum of 580 nsec. This corresponds to a speed of 1.724 MHz.
21
votes
Fastest 8-bit microprocessor for multiply-accumulate?
There’s probably another CPU meeting your criteria which beats this, but as a data-point, a number of x86 CPUs fit the bill. One is the 80C188 (introduced in 1987) which was available at frequencies ...
21
votes
Was the ZX Spectrum used for serious number crunching?
An application I remember because I found the idea very appealing, though I never owned a Specci and so never used the program: A layout program for printed circuit boards with an automatic router.
It ...
18
votes
Accepted
Why was the 1541 so slow?
the drive could end up only being able to transfer one bit per horizontal blank = 63 microseconds. 1/(63e-6) = 15873 bits/s = 1984 bytes/s.
That would be the bitrate during transmission within a byte,...
18
votes
Was the ZX Spectrum used for serious number crunching?
Number crunching? Beyond spreadsheets and some small custom simulation programs, I doubt anyone used the Spectrum for that. In the 80s if you wanted to do heavy number crunching you at least bought ...
17
votes
Accepted
Z80 and video chip contending for random access
I think you've let your understanding of the situation as it was in the late 70s/early 80s become somewhat more simplified than it actually was. For example:
RAM chips of the late seventies and ...
17
votes
Z8410 DMA chip as GPU?
It has been already done for ZX spectrum.
see Velesoft: DATA-GEAR
It has DIL40 socket compatible pins at the bottom and it replaces Z80 (so the bus is as short as possible). According to that site ...
17
votes
Accepted
Z8410 DMA chip as GPU?
I've been thinking about something like this myself, recently. I wasn't planning on using a Z8410, though, but an Intel 8257-5. This has a number of advantages:
It has 4 controller channels rather ...
17
votes
Accepted
Does fast page mode apply to ROM?
Does fast page mode apply to ROM?
No. Why should they?
You're missing one step to start with in your chain of thoughts. (Fast) Page Mode is an improvement to the address multiplex protocol dynamic ...
16
votes
Accepted
When specifying Intel 80x86 instruction execution time, what is included in the cycle count?
The documented execution times count the cycles required to execute the instruction itself, including any memory accesses caused by the instruction, and ignoring everything else. The Intel manuals ...
16
votes
Accepted
For fast scrolling DOS games, when was Mode13h preferred over Mode X?
[I]s there ever a circumstance where Mode 13h is a better choice for fast scrolling DOS games over Mode X?
Sure, to start with,
any single pixel operation on in Mode X is slower than for Mode 13, as ...
16
votes
How slow was the 6502 BASIC compared to Assembly
Most implementations of BASIC for 8-bit home computers were interpreters, and in that sense they're similar to the standard versions of Python. You could typically expect simple programs to run 100 ...
16
votes
Accepted
What did it cost the 8086 to support unaligned access?
The Missing Angle
It feels a bit like the question misses the most important point about the whole 8086 project over discussing implementation details:
8080/85 compatibility
The 8086 was intended as a ...
15
votes
Floating point performance of classic minicomputers
There are nearly endless benchmarks (see a short list of relevance at Benchmark Programs and Reports on the Top500 site) and it may need a bit of work to understand each benchmark's implications (see ...
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
performance × 54history × 13
memory × 13
z80 × 7
hardware × 6
chip × 5
floating-point × 5
graphics × 4
basic × 4
ram × 4
dram × 4
ms-dos × 3
6502 × 3
gaming × 3
benchmarking × 3
ibm-pc × 2
zx-spectrum × 2
cpu × 2
rom × 2
8-bit-microcomputers × 2
nintendo-64 × 2
sinclair × 2
minicomputers × 2
arm × 2
z8410 × 2