Questions tagged [alpha-cpu-architecture]

DEC Alpha, aka Alpha AXP. The 64-bit RISC CPU architecture with famously weak memory-ordering semantics, and (in early versions) no byte or 16-bit load/store instructions.

DEC's Alpha architecture, originally known as Alpha AXP.

It's a 64-bit RISC ISA with famously weak memory-ordering semantics. It's the only well-known architecture that requires a read memory-barrier instruction to guarantee even dependency ordering (C++11's std::memory_order_consume).

Only some hardware microarchitectures could do this reordering in practice, and even then it was extremely rare, making use of the slow barrier instruction even more annoying.


Alpha was also (in)famous for not providing byte or 16-bit loads/stores in early versions of the architecture, instead providing instructions to shift-and-mask.

These architectural simplifications allowed Alpha to run at high clock speeds while still getting a lot done per clock. It was for some years the fastest hardware available.


4 questions
2
votes
1 answer

How can I optimize LLVM assembly cross-compiled with gcc?

I am using LLVM to generate Alpha assembly. Their Alpha ISA support is experimental and I cannot find a way to work around a bug. If I use -O0 during LLVM bytecode-to-Alpha assembly creation, the assembly generated is fine. I want optimized…
1
vote
0 answers

How does The Alpha 21264 Microprocessor checkpoint the register map?

In the paper describing The Alpha 21264 Microprocessor here, The register map is backed up to the state before the last squashed instruction using the saved map state. The map state for each in-flight instruction is maintained, so it is easily…
0
votes
1 answer

Implementing "fetch_and_inc" operation for a shared multi-threaded program in C++

I am trying to cross-compile an x86 multi-threaded code for Alpha architecture. The only problem that I am facing is with implementation of the fetch_and_inc operation, since it is implemented as inline assembly function for x86. So, it has some…
Moonwild
  • 171
  • 1
  • 2
  • 9
-1
votes
1 answer

Alpha equivalent for x86's RDTSC?

I have following code which runs perfectly in x86/linux. I want to convert this code into ALPHA using gcc cross compiler. It is generating errors like the following: unknown register name 'eax' in 'asm' I couldnt find proper sources to do on my…