You are on page 1of 2

Computer Architecture

In the first course shared below, build a computer, you will learn how to build a modern
computer from scratch. This is highly recommended as you will learn to do things on your own.
The focus of the course is self-learning. You will write your own software that will run on the
hardware which is also designed by you. Here is a great Ted talk about the course. Listen to the
ted talk before you go forward.
You can also take different computer architecture courses available online. In these lectures,
similar topics are covered by different instructors. You can start with the lectures in Urdu and if
you are comfortable with English then Onur Mutlu lectures are great. Each year lectures are
shared on his YouTube channel. Quizzes and assignments are also shared on the Safari
research group website. It is highly recommended to do the assignments available with the
course as this will help you better understand the lecture.
The MIT course and CS61c also cover some similar topics. You can choose between any of
these. Georgia Tech videos are also a great resource, they are short videos but cover all the
advance topics of computer architecture. There are quizzes after each topic.
● Build a computer by Coursera
● Computer architecture lecture in Urdu
● Onur Mutlu youtube channel & safari research group (Not working right now)
● MIT-Digital logic design
● Video lectures UC Berkeley CS61c
Labs and assignments for cs61c
● High-performance computer architecture - Georgia Tech 5 part series
Part-1 What is computer architecture?
Part-2 Instruction level parallelism
Part-3 Out of order execution
Part-4 Virtual memory
Part-5 Multiprocessor and cache coherency

RISC V resources
To understand RISC V you can explore the following links and books
● You can learn about RISC-V on riscv.org
● Inventor lecture on RISC v Instruction Set Wants to be Free
● Computer Organization and Design RISC-V Edition: The Hardware Software Interface
● RISC V reader
● RISC V green card

Learning C/C++ and python


One can learn a programming language by solving problems. Hacker Rank is a great website
where you can practice your programming skills.
Learning RISC V assembly is also very important you can start with this lecture and go through
this tutorial

Verilog and System Verilog


Verilog is a hardware description language. You should know how it is different from other
computer languages. You should know how Verilog works. And It is very important that you are
able to use the reference manuals.
● Verilog quick reference guide
● System Verilog language reference manual
● S. Palnitkar. Verilog HDL: A Guide to Digital Design and Synthesis
● C. Spear and G. Tumbush. SystemVerilog for Verification: A Guide to Learning the
Testbench Language Features, 3rd edition. Spring, 2012
You can get these books from here

Open source tools and software


As you go through different courses you can use the following software and tools to do
assignments
● Eda playground Very useful to run Verilog/system Verilog code
● Logisim for logic design
● ModelSim Verilog simulator
● Venus RISC V simulator
● GTKWave
● Verilator
● Git

You might also like