## Want to keep learning?

This content is taken from the Keio University's online course, Understanding Quantum Computers. Join the course to learn more.
2.18

# Quantum Computer Architecture

The architecture of a computer is the arrangement of its parts: how many subsystems does it have, what does each of the subsystems do, how do the various parts talk to each other?

This is similar to the architecture of a building: what type of rooms does it have, how big is each room, where are they located, how are they connected together? To a certain extent, the architecture of a computer depends on the technology you’re going to use to build it, just as in with a building, the architecture varies depending on whether it is brick, wood, concrete or steel. And just like the architecture of a building, the architecture of a computer is judged by how useful it is for your purpose.

A quantum computer has both classical and quantum parts. The program is (at least for the moment) entirely classical, stored in a classical controller. A quantum algorithm uses both classical and quantum data.

One way to look at the overall system is to treat the quantum part as a coprocessor to a classical system. Like the GPU (graphics processing unit) in your desktop or laptop computer, a quantum computer is used to perform specific tasks in the context of a larger program.

Fig.1. The basic model of quantum computer architecture

## Memory

Earlier this week, we saw that a quantum computer’s memory is called the quantum register. It holds our quantum data for the algorithm. For most types of quantum hardware, this register sits still, and the quantum operations are executed on the quantum data where it sits. Some types of quantum computers move individual atoms around, but not far, so we can still think in terms of a register being in a specific place; the important exception to this is computers that use photons for qubits, since the photons naturally fly at the speed of light.

Of course, all interesting quantum algorithms require more than one variable. The quantum register can be made to hold several data values by subdividing it into several registers or sub-registers.

Classical computers generally have several types of memory, such as registers for holding small amounts of data that is being actively used, and main memory (RAM) for larger amounts of data being kept around for later use. Most proposed quantum computer architectures do not make a distinction between the register(s) and a more passive memory equivalent to a classical computer’s RAM.

## The Program

Although we talk in terms of “quantum gates”, like classical logic gates like AND and OR, it is better to think of quantum gates as instructions in a classical computer.

The classical controller holds the program, and instructs the devices controlling each qubit what to do at every step. Depending on the type of hardware, the individual devices may adjust a voltage, generate a burst of microwave radiation, or aim a laser. These very low-level details will be hidden by the system so that programmers can develop applications using the CNOT, Hadamard and other gates we discussed previously.

Generally, the sequence of gates is nearly fixed; sometimes in programs we have to apply a gate based on the outcome of some measurement. This happens when we are executing error correction, and also because some gates effectively execute different operations, depending on the result of a measurement.

## Input/Output

You may recall that we said that quantum computers are not good at problems involving big data, in part because input/output of data is difficult. The same controllers that execute gates execute measurement operations for us; depending on the technology, sometimes those operations may be either fast or slow compared to gate operations. Input can involve initializing a qubit (which is slow in many technologies) then applying a gate to create the proper value.

## Performance

Even with the advantages in complexity that we have emphasized, the performance of the quantum computer still matters: the “clock” speed (how fast we can execute each operation) and how efficient it is to move quantum data around inside the quantum computer combine with the structure of the quantum algorithm to determine how quickly we can solve an individual problem.

It is common to read in popular media articles, and even in the technical literature, that quantum computers will be amazingly fast. For example, one recent article said that a problem that would take three years on a classical computer would take one second on a quantum computer. There are specific cases where that is likely to be true, but it is not the case that all problems will be solvable a hundred million times faster on a quantum computer!

# 量子コンピュータアーキテクチャ

コンピュータのアーキテクチャは個々のパーツ構成からなっています。構成要素は幾つあり、其々がどのような役割を持ち、どのような方法で情報の共有を行なうか、といった設計です。

この考え方は建物のアーキテクチャに類似しています。 部屋の種類、部屋の大きさ、部屋の場所、そして其々の部屋がどのように繋がっているか等？ コンピューターのアーキテクチャーは、建物と同じように、ある程度は使用する技術に左右されます。 建物のアーキテクチャーは、レンガ、木材、コンクリートまたはスチールのどれを基礎に使うかによって設計方法に違いが出てきます。 そして、建物同様、コンピュータのアーキテクチャの良し悪しは、使い手にとってどのくらい役立つものになっているのか、という視点で判断されます。

Fig.1. The basic model of quantum computer architecture

## メモリ

もちろん、注目を集める多くの量子アルゴリズムは複数の変数を必要としていますので、量子レジスタは、それに対応するため、レジスタをいくつかのサブレジスタに細分することによって、複数のデータ値を保持することができるようにしている例もあります。

## プログラム

「量子ゲート」をANDやORのような古典的な論理ゲートと同格なゲート群として説明してきましたが、量子ゲートは、むしろ従来型コンピュータにおける命令（インストラクション）のようなもととして捉える方が実態に近いです。

## 性能

これについては、第3週のShorのアルゴリズムのセクションで詳しく説明していきます。