Processors and such
|
Submitted by poit on October 16, 2005 - 01:54.
| |
New CPU idea: So here I am once again. It's the middle of the night and there's not anyone online that I know...that would have even the slightest hint of an idea of what it is I'm talking about. For a while I've had this idea about using smaller, simpler sub-instructions in batches. The main point being that a logical AND of two registers you already have loaded isn't going to be a time consuming task...nor is a simple add, subtract, compare, etc. So, instead of bothering to even run those thru the command decoder independently, you shove 'em all thru at once...within one clock cycle and without having to fetch each of them (even out of cache memory) before they're executed.
...but the idea seemed to be lacking something. The potential was there for so much more, but I just couldn't see exactly how to get to that "more". Now, I think I've figured it out...something I thought about long ago but never actually thought about how to implement. Processor functions. Basically you setup simple (but not TOO simple) functions. Each function can simultaneously operate on multiple registers where there's no interference. So, if you were going to compare two strings (not a terribly uncommon thing in a program) you'd setup a function using the two registers you wanted to use as pointers, tell it to autoincrement them...then load up intermediate registers to compare with each other, and break out of the function on a given condition. Aaaaaaaaanyway, one of the main points here is that while it SOUNDS complex, it's really just a small hand full of configurable pipelines consisting of VERY simple logic. In a standard processor the pipeline is forced to work in step with the system clock, in this case the simpler logic would execute MUCH faster and the "instructions" in smaller loops (or that could be broken down into a series of nested functions) would only be decoded one time...freeing up valuable bandwidth to the system memory/cache. Oh well, I think I'm done for tonight. The idea's MOSTLY hashed out, I'm tired...and the world cares not one bit. *yawn* Hopefully I'll think to check this post over for spelling problems...when I wake up.
|
|