IEEE Transactions on Quantum Engineering (Jan 2022)

A Software Development Kit and Translation Layer for Executing Intel 8080 Assembler on a Quantum Computer (August 2022)

  • James Fitzjohn,
  • Adrian Winckles,
  • George Wilson,
  • Domenico Vicinanza

DOI
https://doi.org/10.1109/TQE.2022.3204653
Journal volume & issue
Vol. 3
pp. 1 – 12

Abstract

Read online

One of the major obstacles to the adoption of quantum computing is the requirement to define quantum circuits at the quantum gate level. Many programmers are familiar with high-level or low-level programming languages but not quantum gates nor the low-level quantum logic required to derive useful results from quantum computers. The steep learning curve involved when progressing from quantum gates to complex simulations such as Shor's algorithm has proven too much for many developers. The purpose of this article and the software presented within addresses this challenge by providing a Software Development Kit (SDK), translation layer, emulator, and a framework of techniques for executing Intel 8080/Z80 assembler on a quantum computer, i.e., all salient points of CPU execution, logic, arithmetic, and bitwise manipulation will be executed on the quantum computer using quantum circuits. This provides a novel means of displaying the equivalency and interoperability of quantum and classical computers. Developers and researchers can use the SDK to write code in Intel 8080/Z80 assembler which is executed locally via traditional emulation and remotely on a quantum computer in parallel. The emulator features side-by-side code execution with visibility of the running quantum circuit and reusable/overridable methods. This enables programmers to learn, reuse, and contrast techniques for performing any traditional CPU-based technique/instruction on a quantum computer, e.g., a programmer may know how to multiply and perform checks on a classical CPU but is not able to perform the same tasks in a quantum implementation, and this SDK allows the programmer to pick and choose the methods they would like to use to fulfil their requirements. The SDK makes use of open-source software, specifically Python and Qiskit for the emulation, translation, API calls, and execution of user-supplied code or binaries.

Keywords