Skip to content

Implementations of the 8086 emulator, and modern CPU profiler from scratch in C based on Casey Muratori's "Computer, Enhance!".

License

Notifications You must be signed in to change notification settings

variousauthors/computer_enhance

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

Computer, Enhance!

I worked through the first 3 parts of this course online in 2025. We implemented an 8086 emulator, a modern CPU profiler, and a repetition tester and used these to explore modern CPU architecture.

Part 1 - 8086

Implemented a bare-bones 8086 emulator in C. Implemented all required data-sturctures from scratch.

Source: https://github.com/variousauthors/computer_enhance/tree/main/perfaware/part1/src

Part 2 - Basic Profiling

Implemented a profiler to measure execution time in nested and recursive function calls.

Source: https://github.com/variousauthors/computer_enhance/tree/main/perfaware/part2/src

Part 3 - Measuring Data Throughput (in progress)

Used and extended the profiler from part 2 to investigate performance penalties from cache misses, page faults, etc... Delved into instruction-level parallelism, scheduling and the "RAT".

Source: https://github.com/variousauthors/computer_enhance/tree/main/perfaware/part3/src

About

Implementations of the 8086 emulator, and modern CPU profiler from scratch in C based on Casey Muratori's "Computer, Enhance!".

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 73.4%
  • C 12.2%
  • Assembly 5.4%
  • JavaScript 1.6%
  • Zig 1.2%
  • C# 1.1%
  • Other 5.1%