|
|
|
|
|
by dbcurtis
808 days ago
|
|
I'm pretty sure the 6600 could issue multiple instructions per clock. A 60 bit word could hold 4 15 bit instructions, or for instructions that required an 18 bit immediate address, those took two 15 bit parcels. If there were no conflicts, I think you could issue multiple instructions in a clock. For instance, if Ax is the base address, and Bx is the stride, you could do
A4 = A4 + B4 ; loading X4 by side-effect
A3 = A3 + B3 ; loading X3 by side-effect
X1 = X5 + X6 ; do an add of data loaded in the previous unroll of the loop
A2 = A2 + B2 ; store X2 by side-effect, presumably computed in previous unroll All 4 of those fit in one 60 bit word. And if you are clever with loop unrolling and instruction timing, you can get a lot of overlap. The 6600 had dirt-simple opcodes that took about a week to memorize, but.... that was a long time ago, so sorry I can no longer assemble machine code in my head. Memory fading..... |
|