Alpha is not only the planet of cruel elves from the film Kin-Dza-Dza, but also computer architecture

In 1993, my friend Lev Belov, a Microsoft software engineer, met with crazy eyes and said, “Do you understand that This All! Window NT was sported to Alpha! That's it, the x86 architecture with Intel is over!”

And now the DEC Alpha architecture reappeared in my discussion in the dialogues on Linkdin a couple of days ago. An engineer named Alexander Kushnerov stated that it was impossible or fundamentally impossible to achieve low power consumption on Alpha.

The thesis about “fundamentally impossible” seems dubious to me. Therefore, I made the following thoughts:

Why is it supposedly impossible to achieve low power consumption with DEC Alpha? The Alpha architecture does not directly prohibit this. Low power consumption is the result of several factors, including:

1. Static power consumption is directly proportional to the area, which is proportional to the amount of logic and design complexity. x86 eats so much in part because of the size/features accumulated since the 1970s.

2. Dynamic power consumption – proportional to frequency and square of voltage. Alpha ate so much in particular because of the high frequency for its time (mid-1990s), but not only:

3. Dynamic power consumption varies with the number of switchings of both D-flip-flops and combinational logic transistors of the design.

The number of switchings can be controlled by various tricks at the design level, primarily by temporarily disabling the local clock signal – fine clock gating and mid-level clock gating (I won’t decipher it).

During Alpha's time (mid-1990s), these tricks weren't considered important, designers didn't use them, and this is probably the main reason why Alpha ate up more than it could for its frequency and process technology.

4. Static energy consumption is usually less than dynamic, but not by an order of magnitude. The proportion between the first and second depends on the technical process and design.

5. In addition to the above-described methods of energy saving at the design level (various forms of clock gating), there are also all sorts of more physical ones (temporarily turning off the power of subunits, dynamically adjusting frequency and voltage) and special tricks (inverting the bus, for example). They weren't developed at the time of DEC Alpha, which is another reason why she ate more than she could.

To this, Alexander quoted Wiki – StrongARM:

According to Allen Baum, the StrongARM traces its history to attempts to make a low-power version of the DEC Alpha, which DEC's engineers quickly concluded was not possible.

I don't know why they concluded this way. Possibly among the factors:

1. Alpha had a much larger register file size (64 registers (32 integer and 32 FP) of 64 bits than ARM (16 of 32 bits).

2. At some point, ARM had a special set of commands of non-fixed length (16/32) with a low memory footprint (and therefore smaller caches, etc.) – ARM Thumb – although this seemed to be later than Alpha. ARM also had instructions for conditionally executing instructions without branches, which may also have played a role.

3. But I’m more inclined to think that they looked at the design that had already been made and said “it’s difficult to install clock gating everywhere, it’s too much work to tinker with.”

What do you think?

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *