1 00:00:04,461 --> 00:00:09,310 Welcome, so in this course, we're going to be learning about computer architecture. 2 00:00:09,310 --> 00:00:12,873 This course is an adaptation of a course which I teach at 3 00:00:12,873 --> 00:00:18,530 Princeton University called ELE or for Electrical Engineering 475. 4 00:00:18,530 --> 00:00:23,440 I'm David Wentzlaff, I'm a professor here at Princeton and my background is 5 00:00:23,440 --> 00:00:28,320 mostly looking at how to build many core and multicore microprocessors. 6 00:00:28,320 --> 00:00:32,850 In the past, I've actually built two of the world's fastest mini microprocessors 7 00:00:32,850 --> 00:00:33,940 in industry and 8 00:00:33,940 --> 00:00:38,960 before that I've worked in academia building many core microprocessors. 9 00:00:38,960 --> 00:00:43,150 So about 15 years of processor design experience. 10 00:00:43,150 --> 00:00:47,770 In today's lecture, we're going to be talking about an introduction of some 11 00:00:47,770 --> 00:00:51,080 opening to what is computer architecture? 12 00:00:51,080 --> 00:00:52,602 Why do you want to learn computer architecture? 13 00:00:52,602 --> 00:00:56,190 How it's different than previous courses that you might have taken, 14 00:00:56,190 --> 00:01:00,760 something like a computer organization class, or a logic design course. 15 00:01:00,760 --> 00:01:05,260 And then we'll talk about some content today, which is looking at 16 00:01:05,260 --> 00:01:09,795 Instruction Set Architectures and how a Instruction Set Architecture or 17 00:01:09,795 --> 00:01:14,590 Big-A Architecture is different than implementation, or microarchitecture, and 18 00:01:14,590 --> 00:01:17,399 why it's a good idea to split out these two ideas. 19 00:01:18,430 --> 00:01:22,350 Let's take a step back and look at the course administration of this class and 20 00:01:22,350 --> 00:01:23,950 how this class is going to be organized. 21 00:01:25,600 --> 00:01:27,560 As I said, I'm David Wentzlaff. 22 00:01:29,050 --> 00:01:32,670 This class is roughly going to be the equivalent of two 80-minute lectures 23 00:01:33,770 --> 00:01:34,530 a week, so 24 00:01:34,530 --> 00:01:39,489 this is the same format that's used at Princeton University for this course. 25 00:01:40,670 --> 00:01:45,240 We're going to try to segment into shorter segments to give you bite-sized nuggets 26 00:01:45,240 --> 00:01:46,210 with questions and 27 00:01:46,210 --> 00:01:50,540 answers intermixed to check your understanding as the video goes on. 28 00:01:51,910 --> 00:01:55,580 Two books that I wanted to talk about. 29 00:01:57,020 --> 00:02:02,470 This is the Computer Architecture, a quantitative approach 30 00:02:02,470 --> 00:02:07,780 by John Hennesy and David Patterson, this is a very, very good book. 31 00:02:07,780 --> 00:02:13,110 If you are going to be doing computer architecture, I highly recommend it and 32 00:02:13,110 --> 00:02:17,100 it's a heavily, heavily, heavily suggested book for this course. 33 00:02:17,100 --> 00:02:19,630 I do want to point out that there's a lot of different versions of this book 34 00:02:19,630 --> 00:02:21,910 floating around, we're going to be using the fifth edition, and 35 00:02:21,910 --> 00:02:23,630 you should go get the fifth edition. 36 00:02:23,630 --> 00:02:27,840 The fifth edition is very different than the fourth edition, 37 00:02:27,840 --> 00:02:32,010 it's updated as of 2012, so it's very fresh. 38 00:02:34,590 --> 00:02:40,620 And then a auxiliary text, which is useful for a proportion of this class, 39 00:02:40,620 --> 00:02:44,829 I'll mention it as the Shen-Lipasti book because the two authors, 40 00:02:46,510 --> 00:02:50,330 Modern Processor Design and Fundamentals of Superscalar Processors. 41 00:02:50,330 --> 00:02:55,790 The reason we're going to use this book or the reason that 42 00:02:55,790 --> 00:03:01,490 I'll recommend some readings out of this book is that it has a lot deeper coverage 43 00:03:01,490 --> 00:03:08,050 of superscalar processors than the Computer Architecture book. 44 00:03:08,050 --> 00:03:10,950 This is a great book to begin with but 45 00:03:10,950 --> 00:03:14,560 it doesn't cover how to build superscalar processors in great depth. 46 00:03:14,560 --> 00:03:16,300 This book goes on to do that and 47 00:03:16,300 --> 00:03:19,300 that's something we're going to be talking a lot about in this course. 48 00:03:20,300 --> 00:03:25,670 A lot of the content of a traditional computer organization class, 49 00:03:25,670 --> 00:03:31,370 I'm going to repeat in the first three and a half lectures of this course. 50 00:03:31,370 --> 00:03:34,402 The reason for this is because I teach everything from first principles and 51 00:03:34,402 --> 00:03:38,360 want to get everyone on the same page but we're going to go very, 52 00:03:38,360 --> 00:03:39,660 very fast through that material. 53 00:03:39,660 --> 00:03:42,070 If you've not had a computer organization class, 54 00:03:42,070 --> 00:03:43,800 it may be possible to take this class but 55 00:03:43,800 --> 00:03:48,290 I highly recommend taking a computer organization class before this class. 56 00:03:48,290 --> 00:03:52,720 Because this is the second class into the computer architecture series 57 00:03:52,720 --> 00:03:55,970 where you'd have computer organization and computer architecture and 58 00:03:55,970 --> 00:03:59,049 we really do rely on the pre-recs. 59 00:03:59,049 --> 00:04:01,730 But if you are watching the first three lectures and 60 00:04:01,730 --> 00:04:05,370 you say I know all this, yes, that is correct you should know all this. 61 00:04:05,370 --> 00:04:08,670 If you don't know all this, then you should probably go back and 62 00:04:08,670 --> 00:04:12,980 retake Computer Organization or take a computer organization class. 63 00:04:12,980 --> 00:04:16,706 But don't drop the class if you take the first three lectures and 64 00:04:16,706 --> 00:04:21,536 say I know all this and just leave at that point because we're just going to breeze 65 00:04:21,536 --> 00:04:25,475 through that content very fast as building from first principles.