
A Beginner-Friendly Guide to Logic Gates, Assembly Programming, and the Hardware Software Interface
by Tomasz Zielinski
Start at a single logic gate and finish able to explain how a pipelined processor executes your C code.
This book never skips a layer. You build combinational blocks into an arithmetic logic unit, add flip-flops and timing constraints, design finite state machines, and model all of it in a hardware description language with testbenches. Then you meet the instruction set: register formats, encodings, assembly control flow, procedures and the stack, and the exact path from C source through compiler and linker to memory.
From there you construct a single-cycle datapath, pipeline it, resolve data and control hazards with forwarding and stalls, and measure the result. Caches, virtual memory, multicore parallelism and device input and output close the book. Every chapter connects the abstract model to the concrete hardware, so you always know which layer you are standing on and why the next one matters.
What you will learn:
For computer engineering students and self-taught systems programmers who want a complete, hands-on path from digital logic to a working pipelined RISC-V processor. If you have basic programming experience and are ready to understand the hardware-software interface from the ground up, this book is for you.