I recently took an undergrad computer architecture course and had a question about using multiple cores after seeing how dense the field of research is. I am thinking about a general idea of how many cores can be used adaptively to accomplish both very parallelizable and not-really parallelizable tasks without relying on the OS too much.
So my question is: Given they can share the same data and I/O buses and the same registers, could there be an architectural design where multiple processing units go through one set of instructions by switching between units?
For example, assume you had two processing units being fed two different clock signals 180 degrees out of phase. Could one unit process an instruction during its clock high and then the second unit process the next instruction during its clock high (the first unit's clock low)? So unit 1 would do every odd instruction and unit 2 every even.
Is this doable, or am I missing something? I couldn't really find much about this on the web or SE since I'm not really sure what keywords to use for this question.
I'm basing all of this on my understanding of the LC-3 architecture, though it's a little outdated and may not reflect modern-day architectures.