Search found 44 matches

by qwertyface
10 Jun 2022, 16:31
Forum: Escape Meta Alt Control Shift
Topic: PyCon UK Talk Proposal
Replies: 0
Views: 63

PyCon UK Talk Proposal

Hi all, I'm going to be proposing a talk on the things I've done with the Gigatron in Python at PyCon UK 2022 in September. I'd be really keen to get your feedback on the proposal. The conference have some guidance on what makes a good proposal here . Title: Alternative History Retrocomputing Abstra...
by qwertyface
20 Feb 2022, 00:19
Forum: Hardware and software hacking
Topic: Implementing a faster multiplication routine
Replies: 25
Views: 7782

Re: Implementing a faster multiplication routine

I think all the points you've made are exactly spot on. What should that instruction be? A 8x8 multiplication? Yes - I think so. Anything else would seem overly specific to an intended application. vCPU has a sixteen bit accumulator, so that seems like the result size it can best handle, and it's ea...
by qwertyface
18 Feb 2022, 22:39
Forum: Hardware and software hacking
Topic: Implementing a faster multiplication routine
Replies: 25
Views: 7782

Re: Implementing a faster multiplication routine

Hi everyone, sorry for going cold on this. I hadn't even gotten to writing up the interesting part of my experimentation! I'm massively impressed by the speedup you achieved with pure vcpu code. My first impression was that rather than vindicating my approach, it made it look pointless! But... [*] W...
by qwertyface
10 Nov 2021, 13:19
Forum: Hardware and software hacking
Topic: Implementing a faster multiplication routine
Replies: 25
Views: 7782

Re: Implementing a faster multiplication routine

The invisible bug would make a difference. There is code in CalcSet that bails out when one is inside the first lobe (the buggy one) or the cardioid. If that code fails, you're good for 64 iterations of the Mandelbrot function on each pixel... It certainly did! Fixing the constant (I'd just forgott...
by qwertyface
08 Nov 2021, 16:44
Forum: Hardware and software hacking
Topic: Implementing a faster multiplication routine
Replies: 25
Views: 7782

Re: Implementing a faster multiplication routine

Part 4: An invisible bug For practical reasons it seemed like investigating whether I was uniformly faster was the first thing to investigate. It seemed easier than trying to measure the impact of stall, and depending on what I found it could have a big impact on what I did next. My plan was this -...
by qwertyface
06 Nov 2021, 18:04
Forum: Hardware and software hacking
Topic: Implementing a faster multiplication routine
Replies: 25
Views: 7782

Re: Implementing a faster multiplication routine

Part 3: A benchmark Thanks everyone for your interesting responses above. As I'm writing these retrospectively, some of the steps I'm going to describe taking in future will seem odd in light of the excellent points you've already made - and that's just because I didn't have the benefit of your wis...
by qwertyface
04 Nov 2021, 18:43
Forum: Hardware and software hacking
Topic: Implementing a faster multiplication routine
Replies: 25
Views: 7782

Re: Implementing a faster multiplication routine

This sounds like Amdhal's Law paying a practical visit, optimising only one part of an algorithm can often have surprising results such as this. But when you sit down and think about what is going on, it starts to make sense. I think it's very generous of you all to assume that my code didn't just ...
by qwertyface
04 Nov 2021, 15:24
Forum: Hardware and software hacking
Topic: Implementing a faster multiplication routine
Replies: 25
Views: 7782

Re: Implementing a faster multiplication routine

Speaking of the "weird instruction," [if (A != 0) PC = hi(PC)|A], that is $hEE. I found that on this site: https://www.iwriteiam.nl/PGigatron.html That's actually the site that I refer to all the time when writing native code, but for obvious reasons I tend to look at the smaller list of ...
by qwertyface
04 Nov 2021, 09:02
Forum: Hardware and software hacking
Topic: Implementing a faster multiplication routine
Replies: 25
Views: 7782

Re: Implementing a faster multiplication routine

Thinking more about it, your multiplication is 120 cycles long, therefore it runs once per usable scanline. The loop above runs 9 time and needs at least one scanline per iteration. Even if it were written in native code, one would not do more than two iterations per scanline. So your multplication...
by qwertyface
03 Nov 2021, 16:17
Forum: Hardware and software hacking
Topic: Implementing a faster multiplication routine
Replies: 25
Views: 7782

Re: Implementing a faster multiplication routine

Part 2: 7-bit to 8-bit and a Slow Fast Mandelbrot I had written a multiplication routine that could multiply two 7-bit numbers, giving a 14-bit result, but it seemed to me like really what I should expose to vCPU is a routine that multiplies two bytes, and returns a 16-bit result. This would be a m...