Skip to content

October Monthly Meeting

Photo of Eric Floehr
Hosted By
Eric F.
October Monthly Meeting

Details

This month, Zak Kohler will be presenting "Computer hardware from opcodes to IO: Build a Virtual Machine in Python".

Programming languages are designed for a specific level of abstraction or distance from the hardware. The main trade off is "developer productivity" vs "control over hardware". C and assembly are low level and therefore map closely to CPU instructions. Python on the other hand goes through many layers, libraries, and a virtual machine before the CPU is reached. This allows powerful programs to be written concisely and cross-platform—but it also leaves an immense "Magic Valley" of faith. Eliminating the magic can lead to interesting insights and a greater appreciation for the subtleties of performance, quirks of legacy compatibility, and the purpose of operating systems.

We will build up a virtual machine in Python, and I will connect these concepts to concrete hardware details as they naturally emerge.

Guaranteed material: opcodes, CPU, data/address bus, ROM/RAM, and IO.

Bonus material: assemblers, interrupts, tty output.

Afterwards we'll be heading to Brazenhead on 5th in Grandview.

Photo of The Central Ohio Python Users Group group
The Central Ohio Python Users Group
See more events
The Forge by Pillar
580 North 4th Street (Smith Brothers building) · Columbus, OH