Although it is impossible to understand without examples in mind, try to get familiar with the manuals as soon as possible.
Intel describes paging in the Intel Manual Volume 3 System Programming Guide - 325384-056US September 2015 Chapter 4 "Paging".
Specially interesting is Figure 4-4 "Formats of CR3 and Paging-Structure Entries with 32-Bit Paging", which gives the key data structures.
This job announcement from 2022 gives a good idea about their tech stack: web.archive.org/web/20220920114810/https://oxfordionics.bamboohr.com/jobs/view.php?id=32&source=aWQ9MTA%3D. Notably, they use ARTIQ.
Merger between Cambridge Quantum Computing, which does quantum software, and Honeywell Quantum Solutions, which does the hardware.
When an exception happens, the CPU jumps to an address that the OS had previously registered as the fault handler. This is usually done at boot time by the OS.
This could happen for example due to a programming error:but there are cases where it is not a bug, for example in Linux when:
int *is = malloc(1);
is[2] = 1;- the program wants to increase its stack.
- the page was swapped to disk.The OS will need to do some work behind the processes back to get the page back into RAM.
These people are cool.
They use optical tweezers to place individual atoms floating in midair, and then do stuff to entangle their nuclear spins.
The key experiment/phenomena that sets the basis for photonic quantum computing is the two photon interference experiment.
The physical representation of the information encoding is very easy to understand:
- input: we choose to put or not photons into certain wires or no
- interaction: two wires pass very nearby at some point, and photons travelling on either of them can jump to the other one and interact with the other photons
- output: the probabilities that photos photons will go out through one wire or another
Jeremy O'Brien: "Quantum Technologies" by GoogleTechTalks (2014)
Source. This is a good introduction to a photonic quantum computer. Highly recommended.- youtube.com/watch?v=7wCBkAQYBZA&t=1285 shows an experimental curve for a two photon interference experiment by Hong, Ou, Mandel (1987)
- youtube.com/watch?v=7wCBkAQYBZA&t=1440 shows a KLM CNOT gate
- youtube.com/watch?v=7wCBkAQYBZA&t=2831 discusses the quantum error correction scheme for photonic QC based on the idea of the "Raussendorf unit cell"
The algorithmically minded will have noticed that paging requires associative array (like Java
Map of Python dict()) abstract data structure where:The single level paging scheme uses a simple array implementation of the associative array:and in C pseudo-code it looks like this:
- the keys are the array index
- this implementation is very fast in time
- but it is too inefficient in memory
linear_address[0] = physical_address_0
linear_address[1] = physical_address_1
linear_address[2] = physical_address_2
...
linear_address[2^20-1] = physical_address_NBut there another simple associative array implementation that overcomes the memory problem: an (unbalanced) k-ary tree.
Using a K-ary tree instead of an array implementation has the following trade-offs:
In C-pseudo code, a 2-level K-ary tree with and we have the following arrays:
K = 2^10 looks like this:level0[0] = &level1_0[0]
level1_0[0] = physical_address_0_0
level1_0[1] = physical_address_0_1
...
level1_0[2^10-1] = physical_address_0_N
level0[1] = &level1_1[0]
level1_1[0] = physical_address_1_0
level1_1[1] = physical_address_1_1
...
level1_1[2^10-1] = physical_address_1_N
...
level0[N] = &level1_N[0]
level1_N[0] = physical_address_N_0
level1_N[1] = physical_address_N_1
...
level1_N[2^10-1] = physical_address_N_Nand it still contains
2^10 * 2^10 = 2^20 possible keys.K-ary trees can save up a lot of space, because if we only have one key, then we only need the following arrays:
- 2022: $15 million www.orcacomputing.com/blog/orca-computing-completes-15-million-series-a-funding-round
- 2021: $14.5 million for an Innovate UK project
CEO: Jeremy O'Brien
Raised 215M in 2020: www.bloomberg.com/news/articles/2020-04-06/quantum-computing-startup-raises-215-million-for-faster-device
Good talk by CEO before starting the company which gives insight on what they are very likely doing: Video "Jeremy O'Brien: "Quantum Technologies" by GoogleTechTalks (2014)"
PsiQuantum appears to be particularly secretive, even more than other startups in the field.
They want to reuse classical semiconductor fabrication technologies, notably they have close ties to GlobalFoundries.
Rounds:
www.youtube.com/watch?v=v7iAqcFCTQQ shows their base technology:
- laser beam comes in
- input set via of optical ring resonators that form a squeezed state of light. Does not seem to rely on single photon production and detection experiments?
Funding:
Other good lists:
- quantumcomputingreport.com/resources/tools/ is hard to beat as usual.
- www.quantiki.org/wiki/list-qc-simulators
- JavaScript
- algassert.com/quirk demo: github.com/Strilanc/Quirk drag-and-drop, by a 2019-quantum-computing-Googler, impressive. You can create gates. State store in URL.
- github.com/stewdio/q.js/ demo: quantumjavascript.app/
Bibliography:
- www.epcc.ed.ac.uk/whats-happening/articles/energy-efficient-quantum-computing-simulations mentions two types of quantum computer simulation:
The most common approach to quantum simulations is to store the whole state in memory and to modify it with gates in a given order
However, there is a completely different approach that can sometimes eliminate this issue - tensor networks
Pinned article: Introduction to the OurBigBook Project
Welcome to the OurBigBook Project! Our goal is to create the perfect publishing platform for STEM subjects, and get university-level students to write the best free STEM tutorials ever.
Everyone is welcome to create an account and play with the site: ourbigbook.com/go/register. We belive that students themselves can write amazing tutorials, but teachers are welcome too. You can write about anything you want, it doesn't have to be STEM or even educational. Silly test content is very welcome and you won't be penalized in any way. Just keep it legal!
Intro to OurBigBook
. Source. We have two killer features:
- topics: topics group articles by different users with the same title, e.g. here is the topic for the "Fundamental Theorem of Calculus" ourbigbook.com/go/topic/fundamental-theorem-of-calculusArticles of different users are sorted by upvote within each article page. This feature is a bit like:
- a Wikipedia where each user can have their own version of each article
- a Q&A website like Stack Overflow, where multiple people can give their views on a given topic, and the best ones are sorted by upvote. Except you don't need to wait for someone to ask first, and any topic goes, no matter how narrow or broad
This feature makes it possible for readers to find better explanations of any topic created by other writers. And it allows writers to create an explanation in a place that readers might actually find it.Figure 1. Screenshot of the "Derivative" topic page. View it live at: ourbigbook.com/go/topic/derivativeVideo 2. OurBigBook Web topics demo. Source. - local editing: you can store all your personal knowledge base content locally in a plaintext markup format that can be edited locally and published either:This way you can be sure that even if OurBigBook.com were to go down one day (which we have no plans to do as it is quite cheap to host!), your content will still be perfectly readable as a static site.
- to OurBigBook.com to get awesome multi-user features like topics and likes
- as HTML files to a static website, which you can host yourself for free on many external providers like GitHub Pages, and remain in full control
Figure 3. Visual Studio Code extension installation.Figure 4. Visual Studio Code extension tree navigation.Figure 5. Web editor. You can also edit articles on the Web editor without installing anything locally.Video 3. Edit locally and publish demo. Source. This shows editing OurBigBook Markup and publishing it using the Visual Studio Code extension.Video 4. OurBigBook Visual Studio Code extension editing and navigation demo. Source. - Infinitely deep tables of contents:
All our software is open source and hosted at: github.com/ourbigbook/ourbigbook
Further documentation can be found at: docs.ourbigbook.com
Feel free to reach our to us for any help or suggestions: docs.ourbigbook.com/#contact





