6/14/08

Back to Science: The Dynamically Reassignable Instruction Execution Register (DRIER)

Ok, well i have strayed from scientific posts for quite a while now, so i decided to start back up with this!! Now the subject matter of this post may go waaaay over your heads, but i will try to make it understandable. Also understand that im beginning writing this at 1:10AM so...bear with me lol.

Ok, so a while back i had this idea about computer processor architecture. See, the way they are currently built, The internal execution registers are set at a fixed size...say 32 or 64 bit, meaning that they are designed to execue eiher 32 or 64 bit instructions.
Now the problem comes in the fact that as far as i understand, when you have a 64 bit instruction register, if you have a 32 bit instruction going into that 64 bit register, the register must wait for a second 32 bit instruction to come along and fill that register the rest of the way up. This can be thought of like a 16 oz cup. if you try to fill that cup using an 8oz measuring cup, it will take twice as long to fill up. This delay in filling the register causes it to be virtually usless for several clock cycles. (a clock cycle is the time measurement in a computer processor. a 3ghz processor runs at 3 billion cycles per second.) While this may not seem like a long time to us as humans..think of it in the long term. If that 64 bit register had to be filled with two 32 bit instructions, it would take a minimum of four clock cycles to execute. This is because it would require two to fill the register, and then two to execute both instructions. Now compare this to one 64 bit instruction, which only takes a minimum of two clock cycles; one for loading, and one for execution. Thus, using purely 64 bit instructions THEORETICALLY would result in %100 more yeild, meaning, say, that you could encode an mp3 in half the time using purley 64 bit instructions. Now i say theoretically, because this is a HIGHLT idealized situation used to illustrate my point. But i think you get what i am saying. Having a fixed register size causes problems in the fact that it wastes perfectly good clock cycles if (and when) your instruction set size is mixed. Now comes my idea. DRIER. WHAT if one could make a processor in which there were multiple paralell execution registers that were all linked together? Meaning that you could have 16 32 bit registers, arrayed in a way so that they formed two lines each 256 bits long. This would allow for multiple possibilities. a) each register could execute a single 256 bit instruction, b) each could execute 8 32 bit instructions simultaniously, or c) each could execute a mixed combonation of differant instruction lengths. The differance between DRIER and standard execution is the way the register is loaded. In a standard system, the execution register is loaded from the "bottom up" meaning that you have to take two clock cycles to fill a 64 bit register with 32 bit instructions. With DRIER, the pipelines are composed not of one massive 256 bit pipeline, but of 8 32 bit pipelines, each able to load itself in one clock cycle. These regieters can also stach though, meaning that two 32 bit registers can merge to execute one 64 bit instruction. Make sense? i know this is getting VERY technical, but im almost done...and if you have any questions, please ask in the comments!! Anyway, this would allow for massive increases in productivity if such a processing architecture was adopted, because there would be very little waste in processing time. All right, well its now 1:30 and i have successfully exhausted myself...so i hope you at least somewhat enjoyed this..and please ask questions if you understood enough to ask!! lol

DrEw

12 comments:

Sola Gratia said...

That was incredibly complicated, and at 11:50 PM, I don't think I took it all in. In effect, it did go above my head. However, I really appreciated your efforts to make it comprehensive, and I think I got the gist. DRIER seems to make sense. So much sense, that I wonder why they haven't done it before. Are there things that can only run on 32 bit?

madscientist said...

Yes there are. Only the latset computers support 64 bit instructions. For example, your computer is strictly 32 bit, because you have a 32 bit processor and a 32 bit operating system. My computer, on the other hand, is running on 64 bit technology. I have a 64 bit processor and a 64 bit operating system. i can still run 32 bit applications though, and that requires the processor to compensate for the differance in instruction size. Like i said in the post, im not exactly sure how the processor handles these 32 bit instructions, because i certainly dont see a 50 percent performance drop when using 32 bit applications..so its not somehting i entirely undertand, but what i said in the post is a general idea.

Peacefinger said...

That was over my head, but considering it's about computers, it was surprisingly understanderable.

pianochick_92 said...

I got lost in the first sentence.Oh well. :( I'll never be a mechanic or electrician or anything like that because I would prbly flunk every class and be stuck in the program until I'm 50.

Anonymous said...

something deep inside tells me my future's not in technology. oh well, sorry Andrew. i tried.

madscientist said...

lol sorrrryyy people...i kinda overdid that one....i was just writing out my thoughts lol. ill have to do a new post thats way more readable soon lol

Anonymous said...

no, just keep making your posts. not your fault some of us aren't too smart about computers, lol! seriously, i'm like half retarded. i don't even know what bits and registers are!

madscientist said...

oh suzy must u dis yourself CONSTANTLY?!?! (rolls eyes) ur NOT stupid!!!

lizz said...

I am with Susie, I got lost when you mentioned bits. But Susie, you are not retarted you are just talented in other areas. In those areas you make the rest of us lowely earth worms feel incapable of even coming close to your sheer talent.

madscientist said...

i DEFINITLY agree with liz! lol i feel like melting whenever i hear u play violin! so yeah quit it ok?! lol

lizz said...

started new blog

Anonymous said...

started new blog