Computer architecture course?

Questions on how we spend our money and our time - consumer goods and services, home and vehicle, leisure and recreational activities
Post Reply
Topic Author
huzaing
Posts: 4
Joined: Mon May 03, 2021 2:59 pm

Computer architecture course?

Post by huzaing »

Hi Bogleheads,

Can someone recommend a free online computer architecture course that would include topics like:

Memory interleaving
BIOS Prefetchers
C-states

I'm looking for an intro level 101 type course.
Last edited by huzaing on Mon May 03, 2021 8:38 pm, edited 1 time in total.
123
Posts: 7187
Joined: Fri Oct 12, 2012 3:55 pm

Re: Computer architecture course?

Post by 123 »

Here's one to check out that starts today from Princeton:https://www.coursera.org/learn/comparch
The closest helping hand is at the end of your own arm.
Tom0026
Posts: 11
Joined: Tue Feb 07, 2017 12:00 am

Re: Computer architecture course?

Post by Tom0026 »

What do you want to do after going through the course?
Memory Interleaving will be a small part of most Computer Architecture courses, like the one mentioned above. You could also search for "memory interleaving tutorial"

BIOS prefetch and C-States are topics that are usually of interest to folks involved in hardware development, BIOS development, and low level OS development for a specific architecture. That's not a large enough audience to attract course developers. You could search for things like "BIOS C-State Tutorial" to get some info.
b12
Posts: 4
Joined: Fri Apr 09, 2021 9:48 am

Re: Computer architecture course?

Post by b12 »

Computer architecture professors seem to like this resource: https://pages.cs.wisc.edu/~remzi/OSTEP/

It is focused on operating systems, but most computer architecture courses have overlapping concepts with OS, especially toward the end of the course when computer memory is discussed.
toast0
Posts: 195
Joined: Fri Dec 12, 2014 1:41 am
Location: Puget Sound

Re: Computer architecture course?

Post by toast0 »

b12 wrote: Mon May 03, 2021 8:26 pm Computer architecture professors seem to like this resource: https://pages.cs.wisc.edu/~remzi/OSTEP/

It is focused on operating systems, but most computer architecture courses have overlapping concepts with OS, especially toward the end of the course when computer memory is discussed.
That's a nice book (I recently got it and read the two easy steps that were relevant to me), but it's an OS book, not really a computer architecture book (there's some architecture discussion in virtualization, but not much) and it really won't have much that covers the three very specific topics the OP was asking for. Honestly, if you want detailed information on those things, you're going to find them in the Intel (or AMD, perhaps) processor manuals; but it's going to be dry and lack a lot of explanation.

I've got an ancient version of The Intel Microprocessors by Barry B. Brey; the version I've got is pre-Pentium, so I'd imagine the most recent version, from 2008, has more and different content, but I think it may have some of what you're looking for. I'd suggest trying to find a library copy, at least until you figure out if it's got the information you want, and if you want to keep it.
MarkRoulo
Posts: 399
Joined: Mon Jun 22, 2015 10:25 am

Re: Computer architecture course?

Post by MarkRoulo »

huzaing wrote: Mon May 03, 2021 3:07 pm Hi Bogleheads,

Can someone recommend a free online computer architecture course that would include topics like:

Memory interleaving
BIOS Prefetchers
C-states

I'm looking for an intro level 101 type course.
I don't know if memory interleaving, BIOS prefetchers or C-states are covered, but the classic "101 - intro to computer architecture" book on the subject is Computer Architecture - A Quantitative Approach

I read one of the earlier editions and it was quite good.

Not an on-line course though ...
random_walker_77
Posts: 1521
Joined: Tue May 21, 2013 8:49 pm

Re: Computer architecture course?

Post by random_walker_77 »

Tom0026 wrote: Mon May 03, 2021 7:54 pm What do you want to do after going through the course?
Memory Interleaving will be a small part of most Computer Architecture courses, like the one mentioned above. You could also search for "memory interleaving tutorial"

BIOS prefetch and C-States are topics that are usually of interest to folks involved in hardware development, BIOS development, and low level OS development for a specific architecture. That's not a large enough audience to attract course developers. You could search for things like "BIOS C-State Tutorial" to get some info.
I'd echo Tom0026. The specific items you inquire about are narrow and if you had a baseline understanding, you'd just find an article or paper on it. To get a "101" level understanding, I'd recommend reading the course notes from any reputable intro course on computer architecture. Especially at the 101 level, most of the basic concepts were developed in the 1960s, w/ additional embellishment in the 80's and 90's.

This one ought to be decent. They use the Patterson & Hennessy book, "Computer Organization and Design."
https://web.stanford.edu/class/archive/ ... 108b.1072/
You could get a used copy of that textbook for under $10
https://www.amazon.com/gp/product/0123747503

If you like that, the graduate-level follow-on textbook is "Computer Architecture, a Quantitative Approach" by the same two authors
Topic Author
huzaing
Posts: 4
Joined: Mon May 03, 2021 2:59 pm

Re: Computer architecture course?

Post by huzaing »

123 wrote: Mon May 03, 2021 3:53 pm Here's one to check out that starts today from Princeton:https://www.coursera.org/learn/comparch
Thank you, I will review it.
Topic Author
huzaing
Posts: 4
Joined: Mon May 03, 2021 2:59 pm

Re: Computer architecture course?

Post by huzaing »

random_walker_77 wrote: Mon May 03, 2021 11:19 pm
Tom0026 wrote: Mon May 03, 2021 7:54 pm What do you want to do after going through the course?
Memory Interleaving will be a small part of most Computer Architecture courses, like the one mentioned above. You could also search for "memory interleaving tutorial"

BIOS prefetch and C-States are topics that are usually of interest to folks involved in hardware development, BIOS development, and low level OS development for a specific architecture. That's not a large enough audience to attract course developers. You could search for things like "BIOS C-State Tutorial" to get some info.
I'd echo Tom0026. The specific items you inquire about are narrow and if you had a baseline understanding, you'd just find an article or paper on it. To get a "101" level understanding, I'd recommend reading the course notes from any reputable intro course on computer architecture. Especially at the 101 level, most of the basic concepts were developed in the 1960s, w/ additional embellishment in the 80's and 90's.

This one ought to be decent. They use the Patterson & Hennessy book, "Computer Organization and Design."
https://web.stanford.edu/class/archive/ ... 108b.1072/
You could get a used copy of that textbook for under $10
https://www.amazon.com/gp/product/0123747503

If you like that, the graduate-level follow-on textbook is "Computer Architecture, a Quantitative Approach" by the same two authors
Hello, thank you. The course that you link, it does not look that it can be taken online. Is that correct?
https://web.stanford.edu/class/archive/ ... e108b.1072
Topic Author
huzaing
Posts: 4
Joined: Mon May 03, 2021 2:59 pm

Re: Computer architecture course?

Post by huzaing »

Hi Bogleheads,

This course (by David Wentzlaff) was recommended:
https://www.coursera.org/learn/comparch

In my own search I also found this (by Onur Mutlu):
https://safari.ethz.ch/digitaltechnik/s ... d=schedule

Can someone please help comment on these two?
Which would be more beginner-friendly?
random_walker_77
Posts: 1521
Joined: Tue May 21, 2013 8:49 pm

Re: Computer architecture course?

Post by random_walker_77 »

huzaing wrote: Tue May 04, 2021 11:17 am
random_walker_77 wrote: Mon May 03, 2021 11:19 pm
Tom0026 wrote: Mon May 03, 2021 7:54 pm What do you want to do after going through the course?
Memory Interleaving will be a small part of most Computer Architecture courses, like the one mentioned above. You could also search for "memory interleaving tutorial"

BIOS prefetch and C-States are topics that are usually of interest to folks involved in hardware development, BIOS development, and low level OS development for a specific architecture. That's not a large enough audience to attract course developers. You could search for things like "BIOS C-State Tutorial" to get some info.
I'd echo Tom0026. The specific items you inquire about are narrow and if you had a baseline understanding, you'd just find an article or paper on it. To get a "101" level understanding, I'd recommend reading the course notes from any reputable intro course on computer architecture. Especially at the 101 level, most of the basic concepts were developed in the 1960s, w/ additional embellishment in the 80's and 90's.

This one ought to be decent. They use the Patterson & Hennessy book, "Computer Organization and Design."
https://web.stanford.edu/class/archive/ ... 108b.1072/
You could get a used copy of that textbook for under $10
https://www.amazon.com/gp/product/0123747503

If you like that, the graduate-level follow-on textbook is "Computer Architecture, a Quantitative Approach" by the same two authors

Hello, thank you. The course that you link, it does not look that it can be taken online. Is that correct?
https://web.stanford.edu/class/archive/ ... e108b.1072
Not without paying a lot of money (!) to access. It lacks the video lectures, but between the handouts, the textbook, and the assignments, you'd be able to learn from it.

Another option is MIT's computer architecture courses. Looks like some include video, and are available online through their open courseware site. See class 6.004 (https://ocw.mit.edu/courses/electrical- ... ring-2017/)
which appears to be followed by 6.033 and 6.823

I guess it depends on how much you need/want the video lecture. Generally, if you're truly interested and committed, I'd recommend reading the handouts, (optionally) watching the video, and then reading the book. Then again, I learn well from the book.

That coursera class looks decent, but only if you've already had a prior class. If you're a beginner, then taking a first class that goes over pipelining in depth, and/or reading that intro book by Patterson would be more appropriate. Like many coursera classes, the class "starts today" b/c it's prerecorded and it will have the same starting date of "today" whenever you want to start it, be that tomorrow, next week, or next month.
Tom0026
Posts: 11
Joined: Tue Feb 07, 2017 12:00 am

Re: Computer architecture course?

Post by Tom0026 »

huzaing wrote: Tue May 04, 2021 11:42 am Hi Bogleheads,

This course (by David Wentzlaff) was recommended:
https://www.coursera.org/learn/comparch

In my own search I also found this (by Onur Mutlu):
https://safari.ethz.ch/digitaltechnik/s ... d=schedule

Can someone please help comment on these two?
Which would be more beginner-friendly?
It's difficult to comment on them without knowing more about what you are trying to accomplish. The second one does cover interleaving in a few slides. The first one appears to cover processor architecture in some detail, but I didn't see any mention of memory architecture (other than cache architecture). Neither one is particularly beginner-friendly. Both will consist mostly of interesting things that are unrelated to the 3 topics you mentioned.

If you could explain more about what you want to be able to do when you're finished with the course we could point you in a better direction. It sounds like you are interested in details of a BIOS. There is some open source BIOS code that you could study.
adestefan
Posts: 213
Joined: Fri Jan 06, 2017 8:22 pm

Re: Computer architecture course?

Post by adestefan »

Unless you want a high level overview those topics are so architecture dependent that I’d just dig into the manuals for the specific architecture you want to learn about. Both Intel and ARM have thousands of pages covering things in detail. The ACPI documents will also give you more details about c-states and power handling than any sane person would want to know about.
Post Reply