# Quantum Hardware 101

As part of the peer learning series, Quantum Computing India had a session on Quantum Hardware 101 hosted by Nilay Awasthi, Kedhar Guhan and Parth Bir — Batch 01 of Apprentis. Here’s a quick log of the session

**Contents**

- Quantum Hardware Architecture and working
- Irreversible vs Reversible circuits
- An Example of a Reversible computation
- Why the power of quantum computation has not been explored yet
- Quantum microprocessor architecture
- Executable QASM

**Quantum Hardware Architecture and working:**

The session started off with Parth giving us an insight on the architecture of Quantum Hardware.

Quantum Computers work on the basis of probability, unlike Classical computers, which are deterministic in nature. In classical computers, we have two bits, 0 and 1. These are two definitive states and are fixed. But in Quantum Computers, there are qubits. These qubits are both 0 and 1 to various degrees. This phenomenon where the states of both 0 and 1 coexist is called superposition. Quantum Computers are thus capable of performing higher and more complex computations in lesser time and are superior to classical computers.

IBM Q System One is the world’s first-ever circuit-based commercial quantum computer, introduced by IBM in January 2019. It’s platform runs in the ‘key arithmetic runtime and compiler’ layer. This is where you’re actually designing all your designs that run on the quantum computer. The instruction set is basically the abstraction of the general operations. The system abstracts the data algorithms that needs to be run, and dumbs it down to a sum of some basic operations like addition and subtraction.

Another important part of the computer is the quantum chip. There is still research going on to see how to design the quantum chip, these are the part of the system that generate qubits. In quantum computers, we not only measure the 0s and 1s but we take into consideration the amplitude angle and phase. Quantum computers also deal with entanglement, which is a phenomena observed when one qubit affects the state of the other qubits in its vicinity.

Quantum computers need not worry about memory, as the systems are super fast and can generate and compute the results instantly instead of storing and retrieving data like a classical computer; which takes a lot of time and memory space.

**Irreversible vs Reversible circuits:**

There is also a heat factor which we have to consider: classical computers dissipate heat because of the irreversible computations. Irreversible computations are those where we cannot determine the inputs by looking at the output. Let us elaborate on this.

For a NOT gate, if we give an input 1, the output will be 0. This is reversible. Given the output 0, we can deduce that the input given must be 1. But if we take an AND gate which requires two inputs, say A and B and we get an output 0. Now to get the output as 0 either A or B must be 1, we can never know the input values by only looking at the output therefore this becomes an irreversible computation.

**An Example of a Reversible computation:**

The next question is how we can make an irreversible computation reversible. We do this by changing the MODE of operation: add something to the output to make it a one-one function. Thus, the operation becomes fundamentally different.

Eg : ADDER **→** ADDER — SUBTRACTOR

It’s now like n equations in n variables, which is deterministic!

Still confused? Let’s elaborate on the ADDER example in Classical computers. In order to add two numbers, we type an instruction which says- add A,B

Notice that this instruction is irreversible; that is, suppose the output of the add operation is 10 The value of A and B can have n number of combinations like,A=5 B=5 or A=7 B=3 or A=12 B=-3 the possibilities are endless.

So we can make this reversible by adding a SUBTRACTOR whose main job is to store the difference of the two inputs.Now if we have an output for addition operation as 10 and the difference as 4 we can deduce that the inputs were 7 and 3 as 7+3=10 and 7–3=4.

In Quantum we use what is known as a CNOT gate which is a universal gate.(A universal gate is a gate which can implement any Boolean function without using any other gate type). CNOT works by using electron spins as qubits.

All these features make the quantum computer a very powerful system. This might make you wonder why your computer at home isn't a quantum based one, right ?

**Why the power of quantum computation has not been explored yet :**

The only reason the power of quantum computation has not yet been explored completely is because of the lack of the quantum hardware. There are two mains reasons for this:

1.Many algorithms can be designed that need quantum software in order to be implemented, but the accessibility of such software is very low

2. There are two flows in quantum computing: data flow and the control flow. We can develop an algorithm to give a well-versed environment for the data flow within the quantum computer, so data flow happens easily. The control flow however, which is basically the feedback mechanism, controls each operation and is very restricted because the level of technology available currently is not up to the mark.

To easily apply the designed algorithms, Hadamard initialization is done. This occurs when a hadamard gate is applied to all the qubits. This makes all the probabilities of the qubits have the same level of probability.

**Quantum Microprocessor architecture:**

In a classical pipeline, an instruction performs the machine operation which is decoded by the quantum instruction decoder. Then they are put in target registers, which are nothing but memory locations where you actually store the memory. The values stored are not physical or linear, they are the states of the qubits. The qubits in a particular order represent the memory.

There is also a micro code unit which has a control store. A quantum micro instruction buffer also exists, which combines the entire system. Different address logic also exists and then it’s basically like how we have the controls in the microprocessor.

**Executable QASM**:

Executable QASM are control instructions which aid in the data transfer. These might seem very familiar to the instruction which we have for the general microprocessor 8085 or the arm processor . Down below, we have an overview of eQASM instructions

The algorithm is written in a program and then it is compiled on a simulator. It basically converts your high level assembly language into something which our hardware system is able to understand.

This is a recap of what we saw in the previous session. If you’re someone interested in watching rather than reading, you can check out the full recording of our Hardware team’s presentation.

**Quantum Hardware Team:**

- Nilay Awasthi
- Parth Bir
- Kedhar Guhan

**Content Team:**

- Ananya Shivkumar
- Ananya Das

Join us in the #peerlearning series every Sunday 4–6 PM IST.

Book your slots here

-Team QCI