From: nmm1 on
In article <8v2dneGMDK_yJ3nXnZ2dnUVZ8oOdnZ2d(a)lyse.net>,
Terje Mathisen <Terje.Mathisen(a)tmsw.no> wrote:
>
>An in-order cpu requires the asm programmer and/or compiler writer to
>figure out statically how long each of those chains will be, and then
>unroll the code sufficiently to handle it. This btw. requires a _lot_
>more architectural registers, and is quite brittle when faced with a new
>cpu generation with slightly different latency numbers.

Well, yes, but it needs saying that that's not a REAL in-order CPU!
One of those finishes each instruction before starting the next.
Those are absolutely trivial to implement and program, and pretty
trivial to tune. They just tend to be a bit slow :-)

However, if one were to take the highly-threaded approach, as the
Tera MTA did, that's probably the right way to do it. At least to
start with.


Regards,
Nick Maclaren.
From: Bernd Paysan on
Andy "Krazy" Glew wrote:
> Och! Wounded I am, ad-hominem'ed. What did I ever do to you, Bernd?
> Have you been taking lessons from Nick?

Seems to. Sorry for that.

> However, what I am talking about - what I have picked up from
> researchers in this field - is to still have power and ground rails at
> (1.5V,0) - but to have signal rails that are at (+1.3,+0.7). Then
> signal rails periodically reverse, to (+0.7,+1.3).
> This is why, in my original post, I was careful to say `The
> devices
> will have to work within a range of changing voltages, say when "high"
> is between k=1/3 and k=1 Vmax=(Vmean+k*Vswing), and "low" is between
> k=1/3 and k=1 Vmin=(Vmean-k*Vswing).'
> Where signal rails at (+0.7,+1.3) range, with power rails at
> (+1.5,0), Vmean=1V, VSwing = 0.3V, Vmax=1.3V, Vmin=0.7V.
>
> Can this be made to work? I'm sure that Bernd will tell me an answer;
> and, if I am lucky, we may get an answer frm somebody with more
> knowledge than either I or Bernd have. I think you can keep the
> devices properly biased under such a scheme.
> But then again, this is not my specialty.

Hm, separate bulk biasing changes the Vt (threshold voltage), so people
have been using it either to speed up the logic at cost of leakage, or
to reduce leakage at the cost of speed. By changing the bias voltage
depending on operating conditions, you can have speed up and power
saving when you need them. Reversing the "signal supply" however would
also require to negate the Vt (see bottom of posting), but then, you
could always pair up transistors (P+N, one of them will conduct). So
yes, maybe it can be made work.

> Even if it can be made to work, is there any advantage to doing it?

The papers I know seem to be more on the theory side. The theoretical
advantage is obvious, it remains questionable if the current technology
allows practical advantage.

> (It's interesting to think about why AC ultimately beat the DC systems
> that Edison initially deployed. I don't think power efficiency in the
> device was a big part; mainly it was the ability to transmit AC longer
> distances, with the ease of transformers to change voltage level.
> Dissipation in transmission was part of it. I don;t know if this has
> any relevance to electronics.)

It has a bit - the problem space changed, and DC-DC converters are now
more efficient than AC-AC converters.

> Over the years I have learned that, if at a dead end, one must ask
> stupid questions and come up with blue sky ideas, questioning the
> implicit assumptions of the field, and/or starting from first
> principles. Apparently we are approaching such a dead end wrt
> circuits. I'm not *that* afraid to embarrass myself. My definition
> of a computer architect is the guy who is able to go in and call
> "Bullshit" on any specialist in the team who is sandbagging and/or
> reporting obstacles.

The solution to overcome these obstacles however is usually much more
difficult than simply calling "Bullshit" ;-).

> I can't help but wonder if this is part of the problem: the search for
> the perfect, the lowest possible power, as opposed to what can be done
> now.

In the lab, we are already close, as you point out below:

> Anyway, this may be a moot point. IEEE Spectrum October 2000, p.40
> has an article by Pushkar Apte & George Scalise at the SIA, mentioning
> graphene base BiSFET (Bilayer pseudo-Spin Field Effect Transistors)
> (not
> to be confused with BISFET, the BI-Stable FET). They say the BiSFET
> "needs only one-hundredth to one-thousandth the power of a standard
> MOSFET".

BiSFETs also allow what I wanted above: change a "PMOS" (negative Vt) to
an "NMOS" (positive Vt) simply by changing a bias voltage. And with the
more ballistic movement of electrons in graphene or cabon nano-tube, the
fundamental requirements to make resonant, adiabatic reversible logic
are there - it remains to be seen if they can be implemented in large
scale, as well. The process steps are similar to what we do with
silicon: etch out parts, add insulation layers, make vias, and so on.
Just in the 1nm scale, not in the 45/32nm scale.

Sidenote about reversible computing: Often, people use a "history" to
make storing values in memory reversible. However, creating information
is just as costly as destroying it, so creating a history has no energy
benefit over replacing old information in a memory cell. The only
energy efficient reversible memory operation is to swap memory and
register values.

--
Bernd Paysan
"If you want it done right, you have to do it yourself"
http://www.jwdt.com/~paysan/
From: Robert Myers on
On Oct 25, 1:59 pm, "Andy \"Krazy\" Glew" <ag-n...(a)patten-glew.net>
wrote:

>
> Over the years I have learned that, if at a dead end, one must ask
> stupid questions and come up with blue sky ideas, questioning the
> implicit assumptions of the field, and/or starting from first
> principles.   Apparently we are approaching such a dead end wrt
> circuits.  I'm not *that* afraid to embarrass myself.  My definition of
> a computer architect is the guy who is able to go in and call "Bullshit"
> on any specialist in the team who is sandbagging and/or reporting
> obstacles.  I've simplified logic by 100x.  Dave Papworth, my former
> boss on P6, once showed that the process technology guys were
> sandbagging by more than 30% - he asked me for my CRC Handbook of
> Chemistry and Physics, looked up the physical properties of aluminum,
> and went and banged heads together.

I've seen the most amazing things go by because no one would ask a
"stupid" question.

<snip>

> I can't help but wonder if this is part of the problem: the search for
> the perfect, the lowest possible power, as opposed to what can be done now.

Progress can't be made to order. Physics went through and has in many
ways recovered from a similar crisis of confidence. When I was
getting my BS, people were saying similar things: no more laboratory
scale experiments because we already knew too much (wrong), no more
data in important areas, like particle theory and astrophysics
(wrong). People do snicker about string theory, and they may have a
point, but that's just one aspect of a field that is flourishing in
areas that were once considered to be intellectual backwaters, like
the physics of the solid state.

The mispredictions were a matter of physics catching its breath. Too
much had happened too fast. I think that learning how to build and to
use computers effectively has been so successful that some period of
frustration was inevitable.

One prediction in physics was accurate: funding became quite scarce.

Robert.
From: Bernd Paysan on
Robert Myers wrote:
> Coherence theory is a *huge* improvement over talking about things
> like "the collapse of the wavefunction," but I don't find the idea of
> drawing a box and saying things are quantum mechanical within it and
> "classical" outside it to be particularly helpful.

It obviously is a very simplified view. Yes, there is no obvious and
"hard" boundary e.g. between coherent and incoherent light. It's just
to illustrate: the "classical physics" which we are used to, as it
describes human-scale effects, deals with incoherent light and matter.
QM deals with coherent light and matter. It's not so easy to say "just
put incoherent light into QM equations, and off you go with your
classical physics". QM tends to turn incoherent parts into coherent,
even when applied to larger scales (from Bose-Einstein condensate to
lasers), classical physic does the reverse. Coherence theory somehow
helps to understand how this works. There are still a lot of open
questions left.

--
Bernd Paysan
"If you want it done right, you have to do it yourself"
http://www.jwdt.com/~paysan/
From: Robert Myers on
On Oct 25, 3:12 pm, an...(a)mips.complang.tuwien.ac.at (Anton Ertl)
wrote:

>
> Your theories of how binary translation works is interesting, because
> Gforth 0.7.0 works like such a naive binary tranlator for
> straight-line Forth code: It just concatenates the code fragments for
> the VM instructions in the Forth code sequence together.  However, for
> VM control flow, Gforth uses indirect branches, and even naive binary
> translators are more sophisticated.  I also doubt that the
> PA-RISC->IA64 binary translator is as naive as Gforth for
> straight-line code.

I wasn't aware that I had offered a theory of binary translators, only
an observation about why Itanium seems an unattractive target
architecture for them.

There is one relatively modest idea that drives much of my interest in
this particular area. We all know that one of the easiest ways to
find out what a code does is to run it (with appropriate safeguards,
of course). Even the smallest clue from the output can serve as an
anchor to understanding even the most obscurely-written code.

Binary translators can simply translate, or they can try to be smart,
with varying degrees of success, by paying attention to what happens
when you actually run the code. It seems as promising an idea as OoO
hardware. The most promising place to optimize is close to the
action.

I don't know actually know of any circumstances, though, where any run-
time software approach yields significant benefits, other than for
languages like Java that *can't* run without run-time support. If I
knew of such an instance, that would be a good place to start thinking
about a theory of binary translators, but I don't know of any such
instances.

Robert.