I have introduced a Forth program that implements a sieve where a lot of numbers are not even considered. Each row fits comfortably in a byte. This means that in a table of 1 Mbyte we can sieve all numbers up till 30,000,000. On the transputer we would never do that. Because there is an assembler intruction for counting bits.
Lets have another look at the table, with twinprimes in mind.
3 Other observations that may help. The column under 23 and 37 can never be part of a twin prime. So we need not store these numbers in the table. Leaving them out would make the program too complicated. So we must be very aware that a single step can take us out of the table to the other side of the addressing range.