What course in CS deals with the study of RAM, CPU, Storage?

I watched the Crash Course playlist of Computer Science. It was teaching about RAM, CPU, Storage etc but I felt it was way too fast and only people who have studied the course first hand understood it better.

So I wanted to ask what CS couse actually teaches the details of CPU, RAM and how it is build from the scratch with the help of Logic Gates.

• the Crash Course playlist of Computer Science please give a reference (hyperlink welcome). Sep 14 '20 at 6:43

The subject you're describing often goes under the names computer architecture, computer systems, computer organization and design, and the like. One example is Elements of computing systems, based on a course From Nand to Tetris originating in the Hebrew University. The Amazon page on the book links to other popular textbooks on the topic.

Generally speaking, this area is at the intersection of computer science and electrical engineering. Some aspects are much closer in spirit to electrical engineering, for example the physics behind memory and storage architectures. Other aspects, such as cache coherence algorithms and error-correcting codes, are more likely to be considered an integral part of both disciplines.

• I'm a student of Electrical & Electronic Engineering. Haven't quite came across this course. I'm in sophomore though. Sep 12 '20 at 13:32
• @Rifat : If your school has a "computer engineering" degree, look there. You may also see some of this in a course named something like "digital logic design". Sep 12 '20 at 22:25
• My school called this particular class "computer architecture" and it's one of the few classes that EEs, CPEs, and CS majors had to take together.
– CL40
Sep 13 '20 at 2:29
• Adding to that: This area also has some intersection with Algebra (twos complement comes to mind), language theory, and, when it comes to "designing", software engineering best practises. Depending on where you are, sometimes security engineering might have a critical too; it really brings many disciplines together.
– ljrk
Sep 13 '20 at 9:20
• ... to be honest, I only fully understood how computers really work around 2 years after graduation while in a foreign country on a work assignment feeling bored in my hotel room and downloading a copy of Logisim and deciding to design my own CPU. I started with a simple design that copied data from one address in RAM into another address based on the content of another part of RAM. I evolved my original design from there. In some colleges such as Tu Delft and UC Berkeley if you happen to be there at the right time you can be involved in designing CPUs (TTA at Tu Delft, RISC at Berkeley) Sep 13 '20 at 9:31

The basic concepts without gates goes under Operating Systems course, and with gates, clocks etc. goes under Digital Logic Design or (mostly) Microprocessors as I experienced.

• The part complementing logic design and implementation would be computer architecture rather than OS. Sep 14 '20 at 6:45