🌟 Oh wow, yet another deep dive into the riveting world of #RISC-V instructions! Who knew translating conditions to booleans could be so thrilling? 🎉 If you're still awake, congrats—you've truly reached the pinnacle of engineering enlightenment. 😴
https://www.corsix.org/content/riscv-conditional-moves #DeepDive #EngineeringThrills #TechEnlightenment #BooleanLogic #InstructionSet #HackerNews #ngated
RISC-V Conditional Moves

Pydrofoil: accelerating Sail-based instruction set simulators

We present Pydrofoil, a multi-stage compiler that generates instruction set simulators (ISSs) from processor instruction set architectures (ISAs) expressed in the high-level, verification-oriented ISA specification language Sail. Pydrofoil shows a > 230x speedup over the C-based ISS generated by Sail on our benchmarks, and is based on the following insights. (i) An ISS is effectively an interpreter loop, and tracing just-in-time (JIT) compilers have proven effective at accelerating those, albeit mostly for dynamically typed languages. (ii) ISS workloads are highly atypical, dominated by intensive bit manipulation operations. Conventional compiler optimisations for general-purpose programming languages have limited impact for speeding up such workloads. We develop suitable domain-specific optimisations. (iii) Neither tracing JIT compilers, nor ahead-of-time (AOT) compilation alone, even with domain-specific optimisations, suffice for the generation of performant ISSs. Pydrofoil therefore implements a hybrid approach, pairing an AOT compiler with a tracing JIT built on the meta-tracing PyPy framework. AOT and JIT use domain-specific optimisations. Our benchmarks demonstrate that combining AOT and JIT compilers provides significantly greater performance gains than using either compiler alone.

arXiv.org
ARM or x86? ISA Doesn’t Matter

For the past decade, ARM CPU makers have made repeated attempts to break into the high performance CPU market so it’s no surprise that we’ve seen plenty of articles, videos and discussi…

Chips and Cheese
How to Design an ISA - ACM Queue

DWMC-16: The Instruction Set V0.7 & Register Modification – Warringers Worlds

#DWMC16 #InstructionSet #Revision

And another revision of the DWMC-16 instruction set, getting me to version 0.6.

And this time, I've set the document in LaTeX for a proper look and feel.

And to ability to make a printed hard copy...

http://warringersworlds.net/2023/09/16/dwmc-16-the-instruction-set-version-0-6/

DWMC-16: The Instruction Set Version 0.6 – Warringers Worlds

#DWMC16 #Revision #InstructionSet #DIWhy

Another day, another revision of the Instruction Set. Or rather a revision of the OpCode Encoding to add more Addressing modes...

http://warringersworlds.net/2023/09/11/dwmc-16-instruction-set-v0-5-1/

DWMC-16: Instruction Set v0.5.1 – Warringers Worlds

#DWMC16 #InstructionSet #Revision

And here I thought that I had some good ideas with the V0.4 Instruction set. But nooooo...

My mind insisted that I add Addressing Modes to the Instruction set with V0.5.

And I just made V0.4 yesterday...

Stupid Brain...

http://warringersworlds.net/2023/09/10/dwmc-16-instruction-set-v0-5/

DWMC-16: Instruction Set V0.5 – Warringers Worlds

#DWMC16 #InstructionSet #Revision

With me writing the Control Logic of The Emulator coming close, I decided to do another revision of the instruction set.

http://warringersworlds.net/2023/09/09/dwmc-16-instruction-set-v0-4/

DWMC-16: Instruction Set V0.4 – Warringers Worlds