OS / Hardware Design

Operating Systems and CPUs that demonstrate deep technical knowledge of computers. These projects showcase my ability to iterate through designs collaboratively before coding big pojects following set timelines. They also involve thorough reporting, documentation, and statistic gathering.

NOS

A 32-bit x86 operating system kernel built from scratch in C and x86 assembly, implementing many OS features such as virtual memory, process scheduling, a file system, paging, device drivers, system calls, and three concurrent virtual terminals. Made in a group of four, all members contributed in big or small ways to many different components.

Out-Of-Order CPU

An out-of-order CPU supporting the RISC-V ISA with the M extension made by a group of four in SystemVerilog Hardware Description Language. I created the caches, the cache-line adapter, the age-ordered reservation stations, the cdb arbiter, the commit stage, the split load-store queue, and the cache arbiter. Our IPC for the Coremark benchmark was 0.521.