I was bored at work
9 years ago
Some stuff I've been thinking about.
I've been looking at various modern and old ways of using AMD's old AM2901. It's not a CPU it's a chunk of a CPU. You can use this to make cpu's out of linked below is an example of how to make a opcode compatible 8080 cpu using it and its support chips. It even runs faster than an actual 8080 cpu. If you combined enough of these you could make a 1024 bit cpu.
https://en.wikipedia.org/wiki/AMD_Am2900
www.jrok.com/datasheet/am2901bc.pdf
http://www.donnamaie.com/AMD_Vintag.....80_reduced.pdf
I was tossing the idea of using an array of these for a kind of parallel processing. It's not hard feeding data into the chip or extracting it as it has a shift-in and shift-out commands. So load up sets of these with data and working with it is not hard. The snag is when you have to run a test on the data in the chips. An example of a test is "A > B". Some of the chips this will be true others it will be false. I can selectively enable or disable chips but things start to snowball if I have to do a second test. I can't see away around it.
The other thing that I was thinking about started off with noticing that: 5*7 +1 = 6*6. It doesn't seem like much at first glance but it does work out to something that might be useful. So the real equation works out to be: X*(X+2)+1 = (X+1)*(X+1) . The (X+1)*(X+1) is the interesting part. It works out to be X*X +2X +1 or in computer code X^2+2X+1. What this means is if you know the square of X you can find the square of X+1 without any hard math.
This could be useful. Not all CPUs and Microcontrollers can do real multiplication they either use a table to look up results or other tricks. Sometimes you don't have room for full tables. You could use a table of odd squares and just calculate the even ones when needed quickly using simple instructions
For example to find the 4^2:
1. Subtract 1 from 4 giving you 3 Store that as A
2. Look up the square of 3 in the table, store it as B
3. Do a shift left on A, (This is the same as multiplying by 2) Store that back in A
4. Add A to B put that in A
5. Add 1 To A and store it
This can be done very quickly and with few clock cycles on the cpu.
You can even find squares further out with a slight modification: X^2 +2(X*Y) + Y^2
If you have a multiplication table or a fast multiply algorithm and a table of squares you can find the Yth square passed X using that equation.
I've been looking at various modern and old ways of using AMD's old AM2901. It's not a CPU it's a chunk of a CPU. You can use this to make cpu's out of linked below is an example of how to make a opcode compatible 8080 cpu using it and its support chips. It even runs faster than an actual 8080 cpu. If you combined enough of these you could make a 1024 bit cpu.
https://en.wikipedia.org/wiki/AMD_Am2900
www.jrok.com/datasheet/am2901bc.pdf
http://www.donnamaie.com/AMD_Vintag.....80_reduced.pdf
I was tossing the idea of using an array of these for a kind of parallel processing. It's not hard feeding data into the chip or extracting it as it has a shift-in and shift-out commands. So load up sets of these with data and working with it is not hard. The snag is when you have to run a test on the data in the chips. An example of a test is "A > B". Some of the chips this will be true others it will be false. I can selectively enable or disable chips but things start to snowball if I have to do a second test. I can't see away around it.
The other thing that I was thinking about started off with noticing that: 5*7 +1 = 6*6. It doesn't seem like much at first glance but it does work out to something that might be useful. So the real equation works out to be: X*(X+2)+1 = (X+1)*(X+1) . The (X+1)*(X+1) is the interesting part. It works out to be X*X +2X +1 or in computer code X^2+2X+1. What this means is if you know the square of X you can find the square of X+1 without any hard math.
This could be useful. Not all CPUs and Microcontrollers can do real multiplication they either use a table to look up results or other tricks. Sometimes you don't have room for full tables. You could use a table of odd squares and just calculate the even ones when needed quickly using simple instructions
For example to find the 4^2:
1. Subtract 1 from 4 giving you 3 Store that as A
2. Look up the square of 3 in the table, store it as B
3. Do a shift left on A, (This is the same as multiplying by 2) Store that back in A
4. Add A to B put that in A
5. Add 1 To A and store it
This can be done very quickly and with few clock cycles on the cpu.
You can even find squares further out with a slight modification: X^2 +2(X*Y) + Y^2
If you have a multiplication table or a fast multiply algorithm and a table of squares you can find the Yth square passed X using that equation.

alekz
~alekz
why aren't you teaching college?

caji_kitty
~cajikitty
OP
I never got my Masters Degree.

alekz
~alekz
Aww