Welcome to the encore offering of Computer Architecture. I'm David Wentzlaff, I'm a professor at the Princeton Department of Electrical Engineering. And my background is building mini core and multi core microprocessors both in academia and in industry. And for example, this is one of the microprocessors that I built while I was in industry. And this is actually a 64 core multi-core microprocessor. And that's actually put onto something like this board here. And you can see actually that that chip is under this heat sink on this board here. And in this course, you're going to be learning how to build processors with, sort of complexity on the order of this. We're not, in this course, trying to teach you how to build basic processors. We will overview basic processors and basic in order pipeline processors, but instead, in this course, we'll go into much more detail about how to build out of order sequential processors, how do you build more advanced things, like advanced caches? How do you go about building vector processors? How do you exploit different types of parallelism, like instructional parallelism? Thread level parallelism? Process level parallelism? Vector parallelism, etc.? We'll also be going into detail about how to build cache coherent systems. And at the end of the course, we'll be talking about how to build multi-core and many-core microprocessors. And I wanted to point out that this course is an advanced computer architecture course, so we'll be going into much more detail, and we're going to be learning how to build the inner working components, for instance all the different structures and all the different algorithms you need in order to build these advanced modern-day microprocessors. And we won't be spending as much time looking at how to build processors let's say from 20 or 30 years ago. So in this on core offering, we're going to be extending where we were for our first offering. And in our first offering we had over 100,000 students registered. And this was really successful. We were very encouraged by this. And we want this offering to be just as successful. So please, tell your friends. If you're sitting here at the beginning of this class, watching this video, and saying I know of a friend who might actually be helped by this course. Let them know. If they're interested in the field, let them know. Also if you're taking a computer architecture course at another university, and you want to use a supplemental materials, please sign up and tell your friends to sign up. We try to make this course also useful for people who are currently taking a course at other Universities. So let's stop and take a look at the philosophy of this course. So in this course we're trying to have a high quality course similar to what we have at Princeton. And this course is going to be rigorous, so we're going to use good text books, have hard problems, have a hard mid-term and a hard final. Now the trade-off here is that because this course is going to be so rigorous you're going to learn a lot and it's going to be very rewarding. But unlike, you know, other courses where it might just be a survey level course, this is going to go into the details, and the trade off there is you're going to learn and be able to apply this information in the future of your life. I wanted to, while we were talking about rigor and sort of what goes about into a course, I want to talk about the two recommended textbooks for this course. So the first recommended textbook is this one here. It's called Patterson and Hennessy. you see that the two authors are Patterson and Hennessey and the title of the book is Computer Architecture A Quantitative Approach. We're going to be using the fifth edition of this book, but for those of you who, and I highly recommend the fifth edition. But for those of you who are not able to acquire the fifth edition or it's too expensive you're going, you can also go about and try to get the fourth edition of the book, which has we'll, we'll be posting equivalent pages out of the fourth edition. If they are valuable. So there's some topics which are covered only in the fifth edition, but not in the fourth edition. also I wanted to say we will also be posting if there's a particular question that we assign from a textbook. We'll be paraphrasing or, or copying the entire question on there. We've had permission from the publisher to do that. The second book for this course we're going to be using is called Modern Processor Design Fundamentals of Super-scalar Processors. And we'll be talking about this as or we'll be mentioning this and we coined this Shennon-Leposty book because these are the two authors of this textbook. I did want to point out that this version here which has a blue cover and is hardcover has recently fallen out of print as McGraw-Hill, who is the publisher, but it is being reissued by Wyvern Press in a cheaper, paperback edition. the paperback edition is going to have the white cover and will be released very soon and we'll post more details about that on the course website when it becomes available. For those of you who are joining in the middle of this course, we want to encourage you to, to jump right in. the mid term and the final we will have open for long periods to take the exams and also to grade the exams. But if you are just coming in the middle and you're like say joining like a week before the midterm or after the midterm we'll be posting the answers to those but we unfortunately can't have like infinite numbers of midterms and finals with full grading turned on. So you're more than welcome to come join the course. Use it as a self study. And we'll also be including after the course completes, we'll be leaving it open for self study. And for instance if you missed the midterm but you make it to this course for the final feel free to take the final. so, while this is the encore offering of the course, I wanted to talk a little bit about how we've improved this course since the first offering. So, we'll actually we've re-taped several of the lectures, and we've fixed many different errata in the slides. And while I was speaking about errata, I wanted to encourage you if you find an error, somewhere in the course material, please log in and use the course forums. Go to the course material errors forum, and look through and see, make sure that the error has not already been posted. But if it hasn't, please let us know. We really want to try to make this as best as possible, this course. So please go in there and post the problems, and we'll try to get 'em fixed as soon as possible. while I'm on the topic of forums, I also wanted to talk about, language and region specific meet up groups, or study groups. We have a location on our forums where people can meet up and try to post in there if they are from a specific region or specific language. I unfortunately only speak English. So I'm not going to be able to answer your questions in another language. But, your fellow students might be able to help. And it might actually help if you will, you know, are able to discuss the different problems in the course, in a different, language. So, look onto that website. and look under the forum in that specific, sub portion of the forum to post and try to form meet up groups. In our first offering, we actually had. Several, actually, physical meet up groups in different countries. And we had language specific discussions that were quite in depth about problems, of this course. And it, from what we've heard, it really help different, students from around the world. Also, one of the things I wanted to talk about is surveys. And this is a difference from our first time, offering this course. This time around, we're actually going to be sending you surveys. and at a regular basis. So we want to be in the course we want to probably work for the mid term one right after the mid term and a couple at the end. And these of course are optional you don't have to go and fill these out. But what we're trying to do is we're trying to understand where the students who are taking our course are coming from. Both in location but also background and preparation. And one of the reasons we're doing this is to better tune the course for the future. And make the course much better in the future. But also, we're trying to research, and actively figure out how to better teach computer architecture in the future. And also just about how to teach in a massively open online course environment better in the future. Finally, I wanted to talk about. Princeton Electrical Engineering Department. And all the very strong computer engineering and computer architecture faculty members at Princeton electrical engineering. So if you're going and taking this course, and you're really enjoying the course. And you're learning. And you're, you say, I want to continue doing this in the future. And if you're, for instance, a senior in undergraduate. Please apply to Princeton Electrical Engineering. Come and, learn. And figure out how to build better and better microprocessors in the future. We currently have, five faculty member. Both in the electrical engineering department, and the computer science department. Who focus on, computer architecture. So we have. Tens of graduate students and also, as I said, five computer architecture faculties and computer engineering is located in the electrical engineering department, so please come and apply to the electrical engineering department. We also have circuits professors and a bunch of software professors over in the computer science department, and we are a top ranked school. Our submission deadline for application process is December 15th. Thank you, and I look forward to having a very successful course with you.