1 00:00:00,025 --> 00:00:03,726 Welcome to the encore offering of Computer Architecture. 2 00:00:03,726 --> 00:00:06,260 I'm David Wentzlaff, I'm a professor 3 00:00:06,260 --> 00:00:08,850 at the Princeton Department of Electrical Engineering. 4 00:00:08,850 --> 00:00:11,620 And my background is building mini core and 5 00:00:11,620 --> 00:00:16,210 multi core microprocessors both in academia and in industry. 6 00:00:16,210 --> 00:00:17,920 And for example, this is one of the 7 00:00:17,920 --> 00:00:21,100 microprocessors that I built while I was in industry. 8 00:00:21,100 --> 00:00:25,100 And this is actually a 64 core multi-core microprocessor. 9 00:00:25,100 --> 00:00:28,980 And that's actually put onto something like this board here. 10 00:00:28,980 --> 00:00:33,890 And you can see actually that that chip is under this heat sink on this board here. 11 00:00:35,220 --> 00:00:37,210 And in this course, you're going to be learning how to 12 00:00:37,210 --> 00:00:41,660 build processors with, sort of complexity on the order of this. 13 00:00:41,660 --> 00:00:46,360 We're not, in this course, trying to teach you how to build basic processors. 14 00:00:46,360 --> 00:00:50,750 We will overview basic processors and basic in order pipeline processors, 15 00:00:50,750 --> 00:00:54,070 but instead, in this course, we'll go into much more detail about how to build 16 00:00:54,070 --> 00:00:57,010 out of order sequential processors, how do 17 00:00:57,010 --> 00:00:59,890 you build more advanced things, like advanced caches? 18 00:00:59,890 --> 00:01:02,620 How do you go about building vector processors? 19 00:01:02,620 --> 00:01:03,610 How do you exploit different 20 00:01:03,610 --> 00:01:06,469 types of parallelism, like instructional parallelism? 21 00:01:06,469 --> 00:01:08,090 Thread level parallelism? 22 00:01:08,090 --> 00:01:11,429 Process level parallelism? Vector parallelism, etc.? 23 00:01:11,429 --> 00:01:16,000 We'll also be going into detail about how to build cache coherent systems. 24 00:01:16,000 --> 00:01:17,500 And at the end of the course, we'll be 25 00:01:17,500 --> 00:01:20,750 talking about how to build multi-core and many-core microprocessors. 26 00:01:20,750 --> 00:01:24,090 And I wanted to point out that this course is an advanced computer architecture 27 00:01:24,090 --> 00:01:26,990 course, so we'll be going into much more detail, and we're going to be learning 28 00:01:26,990 --> 00:01:29,660 how to build the inner working components, 29 00:01:29,660 --> 00:01:31,610 for instance all the different structures and 30 00:01:31,610 --> 00:01:32,810 all the different algorithms you need in 31 00:01:32,810 --> 00:01:36,020 order to build these advanced modern-day microprocessors. 32 00:01:36,020 --> 00:01:37,650 And we won't be spending as much time looking at 33 00:01:37,650 --> 00:01:41,430 how to build processors let's say from 20 or 30 34 00:01:41,430 --> 00:01:42,430 years ago. 35 00:01:42,430 --> 00:01:44,570 So in this on core offering, we're going to 36 00:01:44,570 --> 00:01:47,010 be extending where we were for our first offering. 37 00:01:47,010 --> 00:01:50,530 And in our first offering we had over 100,000 students registered. 38 00:01:50,530 --> 00:01:51,960 And this was really successful. 39 00:01:51,960 --> 00:01:53,555 We were very encouraged by this. 40 00:01:53,555 --> 00:01:56,480 And we want this offering to be just as successful. 41 00:01:56,480 --> 00:01:58,830 So please, tell your friends. 42 00:01:58,830 --> 00:02:01,719 If you're sitting here at the beginning of this class, watching this video, and 43 00:02:01,719 --> 00:02:06,510 saying I know of a friend who might actually be helped by this course. 44 00:02:06,510 --> 00:02:07,070 Let them know. 45 00:02:07,070 --> 00:02:08,900 If they're interested in the field, let them know. 46 00:02:08,900 --> 00:02:11,290 Also if you're taking a computer architecture 47 00:02:11,290 --> 00:02:13,850 course at another university, and you want to 48 00:02:13,850 --> 00:02:17,520 use a supplemental materials, please sign up and tell your friends to sign up. 49 00:02:17,520 --> 00:02:20,190 We try to make this course also useful for 50 00:02:20,190 --> 00:02:23,130 people who are currently taking a course at other Universities. 51 00:02:24,410 --> 00:02:27,840 So let's stop and take a look at the philosophy of this course. 52 00:02:27,840 --> 00:02:32,010 So in this course we're trying to have a high quality course 53 00:02:32,010 --> 00:02:34,540 similar to what we have at Princeton. 54 00:02:34,540 --> 00:02:37,310 And this course is going to be rigorous, so we're going to use good 55 00:02:37,310 --> 00:02:41,678 text books, have hard problems, have a hard mid-term and a hard final. 56 00:02:41,678 --> 00:02:44,710 Now the trade-off here is that because this course is going to be 57 00:02:44,710 --> 00:02:47,790 so rigorous you're going to learn a lot and it's going to be very rewarding. 58 00:02:47,790 --> 00:02:51,350 But unlike, you know, other courses where it 59 00:02:51,350 --> 00:02:53,670 might just be a survey level course, this 60 00:02:53,670 --> 00:02:55,472 is going to go into the details, and the 61 00:02:55,472 --> 00:02:57,180 trade off there is you're going to learn and 62 00:02:57,180 --> 00:03:00,880 be able to apply this information in the future of your life. 63 00:03:00,880 --> 00:03:04,700 I wanted to, while we were talking about rigor and sort of what goes about 64 00:03:04,700 --> 00:03:09,090 into a course, I want to talk about the two recommended textbooks for this course. 65 00:03:09,090 --> 00:03:12,160 So the first recommended textbook is this one here. 66 00:03:12,160 --> 00:03:14,225 It's called Patterson and Hennessy. 67 00:03:14,225 --> 00:03:16,820 you see that the two authors are Patterson and Hennessey and 68 00:03:16,820 --> 00:03:22,360 the title of the book is Computer Architecture A Quantitative Approach. 69 00:03:22,360 --> 00:03:25,920 We're going to be using the fifth edition of this book, but 70 00:03:25,920 --> 00:03:28,360 for those of you who, and I highly recommend the fifth edition. 71 00:03:28,360 --> 00:03:31,140 But for those of you who are not able to acquire the 72 00:03:31,140 --> 00:03:34,420 fifth edition or it's too expensive you're going, you can also go 73 00:03:34,420 --> 00:03:37,070 about and try to get the fourth edition of the book, which 74 00:03:37,070 --> 00:03:41,930 has we'll, we'll be posting equivalent pages out of the fourth edition. 75 00:03:41,930 --> 00:03:43,280 If they are valuable. 76 00:03:43,280 --> 00:03:44,990 So there's some topics which are covered only in 77 00:03:44,990 --> 00:03:49,140 the fifth edition, but not in the fourth edition. 78 00:03:49,140 --> 00:03:51,720 also I wanted to say we will also be posting 79 00:03:51,720 --> 00:03:55,250 if there's a particular question that we assign from a textbook. 80 00:03:55,250 --> 00:03:58,680 We'll be paraphrasing or, or copying the entire question on there. 81 00:03:58,680 --> 00:04:01,680 We've had permission from the publisher to do that. 82 00:04:01,680 --> 00:04:03,180 The second book for this course we're going to be 83 00:04:03,180 --> 00:04:09,000 using is called Modern Processor Design Fundamentals of Super-scalar Processors. 84 00:04:09,000 --> 00:04:11,190 And we'll be talking about this as or 85 00:04:11,190 --> 00:04:14,620 we'll be mentioning this and we coined this Shennon-Leposty 86 00:04:14,620 --> 00:04:17,650 book because these are the two authors of this textbook. 87 00:04:17,650 --> 00:04:19,770 I did want to point out that this version here 88 00:04:19,770 --> 00:04:23,920 which has a blue cover and is hardcover has recently fallen 89 00:04:23,920 --> 00:04:27,150 out of print as McGraw-Hill, who is the publisher, but it 90 00:04:27,150 --> 00:04:31,470 is being reissued by Wyvern Press in a cheaper, paperback edition. 91 00:04:31,470 --> 00:04:34,550 the paperback edition is going to have the white cover and will be released very 92 00:04:34,550 --> 00:04:36,730 soon and we'll post more details about that 93 00:04:36,730 --> 00:04:39,260 on the course website when it becomes available. 94 00:04:42,390 --> 00:04:44,610 For those of you who are joining in the middle of 95 00:04:44,610 --> 00:04:47,690 this course, we want to encourage you to, to jump right in. 96 00:04:48,840 --> 00:04:51,230 the mid term and the final we will have open for 97 00:04:51,230 --> 00:04:54,110 long periods to take the exams and also to grade the exams. 98 00:04:55,370 --> 00:04:57,290 But if you are just coming in the middle and 99 00:04:57,290 --> 00:04:59,470 you're like say joining like a week before the midterm or 100 00:04:59,470 --> 00:05:02,720 after the midterm we'll be posting the answers to those 101 00:05:02,720 --> 00:05:08,160 but we unfortunately can't have like infinite numbers of midterms and 102 00:05:08,160 --> 00:05:10,400 finals with full grading turned on. 103 00:05:10,400 --> 00:05:12,360 So you're more than welcome to come join the course. 104 00:05:12,360 --> 00:05:13,310 Use it as a self study. 105 00:05:13,310 --> 00:05:18,830 And we'll also be including after the course 106 00:05:18,830 --> 00:05:20,580 completes, we'll be leaving it open for self study. 107 00:05:20,580 --> 00:05:23,720 And for instance if you missed the midterm but you make it 108 00:05:23,720 --> 00:05:28,090 to this course for the final feel free to take the final. 109 00:05:28,090 --> 00:05:30,540 so, while this is the encore offering of the course, I 110 00:05:30,540 --> 00:05:33,650 wanted to talk a little bit about how we've improved this course 111 00:05:33,650 --> 00:05:35,280 since the first offering. 112 00:05:35,280 --> 00:05:38,790 So, we'll actually we've re-taped several of the lectures, 113 00:05:38,790 --> 00:05:42,660 and we've fixed many different errata in the slides. 114 00:05:42,660 --> 00:05:46,030 And while I was speaking about errata, I wanted to encourage you if you find 115 00:05:46,030 --> 00:05:48,230 an error, somewhere in the course material, 116 00:05:48,230 --> 00:05:51,340 please log in and use the course forums. 117 00:05:51,340 --> 00:05:54,730 Go to the course material errors forum, and look through and 118 00:05:54,730 --> 00:05:57,510 see, make sure that the error has not already been posted. 119 00:05:57,510 --> 00:05:58,780 But if it hasn't, please let 120 00:05:58,780 --> 00:05:59,050 us know. 121 00:05:59,050 --> 00:06:03,000 We really want to try to make this as best as possible, this course. 122 00:06:03,000 --> 00:06:05,640 So please go in there and post the problems, and 123 00:06:05,640 --> 00:06:07,360 we'll try to get 'em fixed as soon as possible. 124 00:06:08,890 --> 00:06:11,120 while I'm on the topic of forums, I also wanted to 125 00:06:11,120 --> 00:06:16,730 talk about, language and region specific meet up groups, or study groups. 126 00:06:16,730 --> 00:06:19,950 We have a location on our forums where people can meet up and try 127 00:06:19,950 --> 00:06:23,530 to post in there if they are from a specific region or specific language. 128 00:06:23,530 --> 00:06:24,240 I unfortunately 129 00:06:24,240 --> 00:06:25,020 only speak English. 130 00:06:25,020 --> 00:06:27,545 So I'm not going to be able to answer your questions in another language. 131 00:06:27,545 --> 00:06:30,510 But, your fellow students might be able to help. 132 00:06:30,510 --> 00:06:33,710 And it might actually help if you will, you know, are able 133 00:06:33,710 --> 00:06:38,130 to discuss the different problems in the course, in a different, language. 134 00:06:38,130 --> 00:06:40,230 So, look onto that website. 135 00:06:40,230 --> 00:06:43,140 and look under the forum in that specific, sub portion of 136 00:06:43,140 --> 00:06:46,110 the forum to post and try to form meet up groups. 137 00:06:46,110 --> 00:06:49,040 In our first offering, we actually had. Several, actually, 138 00:06:49,040 --> 00:06:51,050 physical meet up groups in different countries. 139 00:06:51,050 --> 00:06:53,880 And we had language specific discussions that were 140 00:06:53,880 --> 00:06:56,440 quite in depth about problems, of this course. 141 00:06:56,440 --> 00:06:57,990 And it, from what we've heard, it 142 00:06:57,990 --> 00:07:00,930 really help different, students from around the world. 143 00:07:02,410 --> 00:07:06,220 Also, one of the things I wanted to talk about is surveys. 144 00:07:06,220 --> 00:07:09,020 And this is a difference from our first time, offering this course. 145 00:07:09,020 --> 00:07:12,590 This time around, we're actually going to be sending you surveys. 146 00:07:12,590 --> 00:07:13,930 and at a regular basis. 147 00:07:13,930 --> 00:07:16,920 So we want to be in the course we want to probably work for 148 00:07:16,920 --> 00:07:19,585 the mid term one right after the mid term and a couple at the end. 149 00:07:19,585 --> 00:07:24,260 And these of course are optional you don't have to go and fill these out. 150 00:07:24,260 --> 00:07:26,410 But what we're trying to do is we're trying to understand 151 00:07:26,410 --> 00:07:29,410 where the students who are taking our course are coming from. 152 00:07:29,410 --> 00:07:33,000 Both in location but also background and preparation. 153 00:07:33,000 --> 00:07:36,550 And one of the reasons we're doing this is to better tune the course for the future. 154 00:07:36,550 --> 00:07:38,335 And make the course much better in the future. 155 00:07:38,335 --> 00:07:39,320 But also, 156 00:07:39,320 --> 00:07:41,560 we're trying to research, and actively figure out 157 00:07:41,560 --> 00:07:44,670 how to better teach computer architecture in the future. 158 00:07:44,670 --> 00:07:46,540 And also just about how to teach in a 159 00:07:46,540 --> 00:07:49,150 massively open online course environment better in the future. 160 00:07:50,620 --> 00:07:52,710 Finally, I wanted to talk about. 161 00:07:52,710 --> 00:07:54,470 Princeton Electrical Engineering Department. 162 00:07:54,470 --> 00:07:57,620 And all the very strong computer engineering and 163 00:07:57,620 --> 00:08:00,890 computer architecture faculty members at Princeton electrical engineering. 164 00:08:00,890 --> 00:08:04,180 So if you're going and taking this course, and you're really enjoying the course. 165 00:08:04,180 --> 00:08:05,190 And you're learning. 166 00:08:05,190 --> 00:08:08,090 And you're, you say, I want to continue doing this in the future. 167 00:08:08,090 --> 00:08:12,320 And if you're, for instance, a senior in undergraduate. 168 00:08:12,320 --> 00:08:14,600 Please apply to Princeton Electrical Engineering. 169 00:08:14,600 --> 00:08:16,330 Come and, learn. 170 00:08:16,330 --> 00:08:20,140 And figure out how to build better and better microprocessors in the future. 171 00:08:20,140 --> 00:08:22,740 We currently have, five faculty member. 172 00:08:22,740 --> 00:08:24,660 Both in the electrical engineering 173 00:08:24,660 --> 00:08:25,486 department, and the computer science department. 174 00:08:25,486 --> 00:08:28,260 Who focus on, computer architecture. 175 00:08:28,260 --> 00:08:30,770 So we have. Tens of graduate students and 176 00:08:30,770 --> 00:08:34,343 also, as I said, five computer architecture 177 00:08:34,343 --> 00:08:37,120 faculties and computer engineering is located in 178 00:08:37,120 --> 00:08:39,710 the electrical engineering department, so please come 179 00:08:39,710 --> 00:08:43,570 and apply to the electrical engineering department. 180 00:08:43,570 --> 00:08:47,450 We also have circuits professors and a bunch of software professors over 181 00:08:47,450 --> 00:08:51,390 in the computer science department, and we are a top ranked school. 182 00:08:51,390 --> 00:08:55,890 Our submission deadline for application process is December 15th. 183 00:08:55,890 --> 00:08:58,710 Thank you, and I look forward to having a very successful course with you.