EmbeddedRelated.com
Forums
Memfault Beyond the Launch

microprocessor that improves as they progress

Started by v4vijayakumar June 5, 2006
Just wanted to know. Is it possible for a microprocessor (so the
software) to improve their performance over period of time? Can
microprocessor improve its performance as they progress/continue to
work? If not, what we need to do to achieve this? could this be
implemented in silicon? Is it worth doing? Is there any research in
progress?

v4vijayakumar wrote:
> Just wanted to know. Is it possible for a microprocessor (so the > software) to improve their performance over period of time? Can > microprocessor improve its performance as they progress/continue to > work? If not, what we need to do to achieve this?
Write a better compiler. About 10 years ago, several of the SPEC benchmarks were boosted by a quite significant amount by clever compiler tricks. So my Pentium became 20% faster over night - at least if you looked at the SPEC results. You also can make application programs faster over time, running on the same processor.
> could this be implemented in silicon?
No, the "aging" of silicon will make your processor slower over time, not faster. You can do that only in software.
> Is it worth doing? Is there any research in progress?
-- Bernd Paysan "If you want it done right, you have to do it yourself" http://www.jwdt.com/~paysan/
v4vijayakumar wrote:
> Just wanted to know. Is it possible for a microprocessor (so the > software) to improve their performance over period of time? Can > microprocessor improve its performance as they progress/continue to > work? If not, what we need to do to achieve this? could this be > implemented in silicon? Is it worth doing? Is there any research in > progress?
What you are refering to is known as either AI or heuristics - software that learns over time by interacting with its environment. Luhan
v4vijayakumar wrote:
> Just wanted to know. Is it possible for a microprocessor (so the > software) to improve their performance over period of time?
Sure, by adding a cache. Jon
v4vijayakumar wrote:
> Just wanted to know. Is it possible for a microprocessor (so the > software) to improve their performance over period of time? Can > microprocessor improve its performance as they progress/continue to > work? If not, what we need to do to achieve this? could this be > implemented in silicon? Is it worth doing? Is there any research in > progress?
Google "machine learning" -- Joe Legris
v4vijayakumar wrote:
> Just wanted to know. Is it possible for a microprocessor (so the > software) to improve their performance over period of time? Can > microprocessor improve its performance as they progress/continue to > work? If not, what we need to do to achieve this? could this be > implemented in silicon? Is it worth doing? Is there any research in > progress?
Luhan wrote:
> What you are refering to is known as either AI or heuristics - software > that learns over time by interacting with its environment. > > Luhan
no. It is not about AI/heuristics/machine learning. jon@beniston.com wrote:
> Sure, by adding a cache. > > Jon
neither cache memory. Anyhow, it will take microprocessor one machine cycle to execute "move r1 r2". My question is, is it possible for a microprocessor to make more than one moves in a machine cycle or to make one move in less than one machine cycle.
"v4vijayakumar" <v4vijayakumar@yahoo.com> wrote in message 
news:1149513477.339660.280190@u72g2000cwu.googlegroups.com...
> Just wanted to know. Is it possible for a microprocessor (so the > software) to improve their performance over period of time? Can > microprocessor improve its performance as they progress/continue to > work? If not, what we need to do to achieve this? could this be > implemented in silicon? Is it worth doing? Is there any research in > progress? >
Perhaps a more relevent question is "Why has my code suddenly developed timing problems?"
Op Mon, 05 Jun 2006 16:04:33 +0200 schreef v4vijayakumar  
<v4vijayakumar@yahoo.com>:
> v4vijayakumar wrote: >> Just wanted to know. Is it possible for a microprocessor (so the >> software) to improve their performance over period of time? Can >> microprocessor improve its performance as they progress/continue to >> work? If not, what we need to do to achieve this? could this be >> implemented in silicon? Is it worth doing? Is there any research in >> progress?
Some virtual machines already improve program execution over time. I don't see why a programmable microprocessor can't do the same.
> Anyhow, it will take microprocessor one machine cycle to execute "move > r1 r2". My question is, is it possible for a microprocessor to make > more than one moves in a machine cycle
Yes. Many architectures provide a 'swap' instruction that does just that.
> or to make one move in less than > one machine cycle.
Generally speaking, simple instructions can complete long before the cycle ends, but then have to wait for the next clock transition. Unless you have a clockless architecture, of course. -- Gemaakt met Opera's revolutionaire e-mailprogramma: http://www.opera.com/mail/
Vijay,

It seems you've asked two questions between your two posts. This more
recent question is really just a matter of architecture and
parallelism.

However, I do think that AI, or possibly reconfigurable computing is an
appropriate answer to your original post. Aside from caching and
inherent parallelism in the architectures themselves, effective
improvement of hardware can be accomplished via the enhancement of
algorithms and data sets (AI), or literally reconfiguring the hardware
to accomplish the most relevant instruction-execution architectures for
the current data (RC).

The line between hardware and software optimization is inherently
blurry here, as it well should be.

Julian Kain
www.juliankain.com


v4vijayakumar wrote:
> v4vijayakumar wrote: > > Just wanted to know. Is it possible for a microprocessor (so the > > software) to improve their performance over period of time? Can > > microprocessor improve its performance as they progress/continue to > > work? If not, what we need to do to achieve this? could this be > > implemented in silicon? Is it worth doing? Is there any research in > > progress? > > Luhan wrote: > > What you are refering to is known as either AI or heuristics - software > > that learns over time by interacting with its environment. > > > > Luhan > > no. It is not about AI/heuristics/machine learning. > > jon@beniston.com wrote: > > Sure, by adding a cache. > > > > Jon > > neither cache memory. > > Anyhow, it will take microprocessor one machine cycle to execute "move > r1 r2". My question is, is it possible for a microprocessor to make > more than one moves in a machine cycle or to make one move in less than > one machine cycle.
In article <1149516273.444288.4600@h76g2000cwa.googlegroups.com>, 
v4vijayakumar@yahoo.com says...
> > v4vijayakumar wrote: > > Just wanted to know. Is it possible for a microprocessor (so the > > software) to improve their performance over period of time? Can > > microprocessor improve its performance as they progress/continue to > > work? If not, what we need to do to achieve this? could this be > > implemented in silicon? Is it worth doing? Is there any research in > > progress? > > Luhan wrote: > > What you are refering to is known as either AI or heuristics - software > > that learns over time by interacting with its environment. > > > > Luhan > > no. It is not about AI/heuristics/machine learning. > > jon@beniston.com wrote: > > Sure, by adding a cache. > > > > Jon > > neither cache memory. > > Anyhow, it will take microprocessor one machine cycle to execute "move > r1 r2".
Sure. Many use zero cycles to do a swap. All it is is a pointer change. The data goes nowhere.
> My question is, is it possible for a microprocessor to make > more than one moves in a machine cycle
Certainly. The one I work on can complete five instructions per clock cycle.
> or to make one move in less than one machine cycle.
Some processors take zero cycles for some ops (like your swap). -- Keith

Memfault Beyond the Launch