Programming Project: 15%
Final Exam: 45%
Back
Class Schedule and Suggested Reading
Full schedule of lectures, discussion sections and lab sections, and suggested reading can be found here.
Back
Updates & Announcements
- 06/12/15: The grades of the final (out of 100) can be found here. Junjie will have office hours tomorrow, Saturday 6/13, 9am-noon, in case you'd like to take a look at your final. Regrade requests must be submitted by Saturday, June 13th, 2015, 2pm PT.
- 06/06/15: Quiz 4 solutions are online.
- 06/06/15: Lab solutions have been posted.
- 06/03/15: The quiz 3 solutions had a few errors. The errors have been corrected and updated solutions for quiz 3 (and the corresponding lab) have been posted. The errata are also summarized here. We have re-graded all quizzes and updated quiz 3 grades.
- 06/03/15: The quiz 4 grades have been posted here. Great job, once again!!
- 06/02/15: The list of students who are required to attend today's lab sections can be found here. Full grades and lists will be posted soon, when all quizzes have been graded. As usual, everyone is welcome to attend lab this week, for questions, extra practice, or to try some virtual memory problems (part of this week's lab as well).
- 06/01/15: Example problem solutions have been added.
- 06/01/15: Study and example problems have been added.
- 05/30/15: If you forgot the difference between write through and write back cache, this may help (thanks to Black Eyed Peas, and Daniel, who took ECE30 in 2012).
- 05/30/15: The solutions of quiz 3 are online.
- 05/30/15: Lab solutions have been posted. Make sure you understand lab problems 4, 5 and 6 very well, to prepare for the quiz!
- 05/28/15: Daniel is adding office hours on Monday 6/1/15, 9am-12pm to make up for the inconvenience of the emergency rescheduling of previous office hours. Please understand that Daniel will not be able to do any last minute heroic efforts. These office hours are for ``light and quick'' last minute help, assuming your code is 99% of the way there. If many attend the office hours, Daniel will implement a strict schedule of no more than 3-4 minutes of help per project.
- 05/28/15: The final exam for A00 (6/9, 11:30am-2:29pm) will be held in CSB 002. The final exam for B00 (6/9, 3:00-5:59pm) will be held in Center 101.
- 05/27/15: Sibo needs to move his project office hours this week from Thursday 9am-12pm to Friday 3pm-6pm. He apologizes for the inconvenience.
- 05/27/15: The quiz 3 grades have been posted here. GREAT job!!! Check the sheet to see whether you are required to attend the lab this week. If you are not required to attend, you may of course participate voluntarily.
I acknowledge that I put the bar for required attendance *very* high this week. I want to make sure that you understand all your mistakes on the quiz, so you will ace any similar questions on the final! :)
- 05/26/15: Although we tried to get all quizzes graded, a few remain to be graded. So, for now, the list of students who are required to attend today's lab sections can be found here. Full grades and lists will be posted tomorrow, when all quizzes have been graded. Please note that being required to attend the lab doesn't necessarily mean ''very bad news''. It just means that we think you could benefit from attending the lab section. Even if you are not required to attend, you are still very welcome to attend.
- 05/26/15: Study and example problems have been added.
- 05/26/15: Example problem solutions have been added.
- 05/25/15: Daniel apologizes for not being able to make it to his office hours on 5/25. He will hold office hours 9am-noon on Tuesday 5/26/15.
- 05/25/15: Lab solutions have been posted.
- 05/25/15: The solutions of quiz 2 are online.
- 05/25/15: Chapter 5 of the course notes has been added.
- 05/20/15: Daniel can no longer make the additional office hours he was planning for tomorrow, Thursday, 5/21/15. Instead, he will have additional office hours today, Wednesday 5/20/15, 2-5pm.
- 05/18/15: Daniel will have additional office hours 9am-noon on Thursday 5/21/15.
- 05/16/15: Study and example problems have been added.
- 05/15/15: The quiz 2 grades have been posted here. Nice job, ECE30!! As always, students who are not required to attend the lab next week are welcome to participate.
- 05/12/15: Study and example problems have been added.
- 05/12/15: Example problem solutions have been added.
- 05/10/15: Lab solutions have been posted.
- 05/06/15: Chapter 4 of the course notes has been added.
- 05/02/15: Study and example problems for next week's material have been added.
- 05/02/15: Final exam times and dates are now confirmed. For Section A: Tuesday 06/09/2015, 11:30am-2:29pm. For Section B: Tuesday 06/09/2015, 3:00p-5:59p. If you are in Section A and taking ECE109 with Ken Zeger (with a final on 6/9/15 at 11:30am), then you may request to do your final exam with Section B, at 3pm. You must request the change by emailing ecethirty@gmail.com, and stating that you are taking ECE109 with Ken Zeger.
- 05/01/15: Errata for the project description have been posted.
- 04/27/15: Study and example problems have been added.
- 04/26/15: The project is online now.
- 04/25/15: The solutions of quiz 1 are online.
- 04/25/15: Lab solutions have been posted.
- 04/24/15: Chapter 3 of the course notes has been posted.
- 04/23/15: The quiz grades have been posted here. The students with SID in green are required to attend the lab this week and in week 6. The students with SID in black can participate voluntarily (and are very welcome to attend).
- 04/21/15: The enrollments for the discussion section (quiz) in week 9, on 05/26/15, have been posted here. Please check which section you have been assigned to, so you know whether to show up for the 7am or 8am quiz.
- 04/21/15 The list of Tuesday and Wednesday lab students who are required to attend their lab section can be found here. All grades will be posted tomorrow.
- 04/21/15: The list of students who are required to attend today's lab sections can be found here. Full grades and lists will be posted later this week, when all quizzes have been graded. Please note that being required to attend the lab doesn't necessarily mean ''very bad news''. It just means that we think you could benefit from attending the lab section. Even if you are not required to attend, you are still very welcome to attend.
- 04/20/15: Example problems have been added.
- 04/20/15: Study problems have been added.
- 04/20/15: Example problem solutions have been added.
- 04/18/15: Lab solutions have been posted.
- 04/16/15: Example problems have been added.
- 04/16/15: Study problems have been added.
- 04/12/15: Lab solutions have been posted.
- 04/11/15: Example problems have been added.
- 04/11/15: Study problems have been added.
- 04/05/15: Example problems have been added.
- 04/05/15: Study problems have been added.
- 04/05/15: Chapter 2 of the course notes has been posted.
- 04/02/15: Labs and office hours have been moved to room WLH 2217C.
- 03/31/15: The slides of the first class and Chapter 1 of the course notes have been posted.
- 03/31/15: The discussion section of week 9 (i.e., Quiz 3) has been rescheduled to 05/26/2015. Two sessions will be organized: 7-8am and 8-9am, in CENTR 105. Email ecethirty@gmail.com which session you prefer to attend. First come first served.
- 03/31/15: Welcome!
Back
Course Materials
Topics
- Performance measures
- MIPS R2000 instruction set & assembly language
- Logic design
- Arithmetic for computers
- CPU design
- Memory hierarchy
Textbook
The textbook for this course is ``Computer Organization and Design, Patterson and Hennessy'' (3rd, 4th or 5th edition).
Podcast
Podcasts for the lectures of this course are available at http://podcast.ucsd.edu/
Lecture Notes / Slides
SPIM Simulator
You can download a PC version or a Unix version from here. Ubuntu users can type "sudo apt-get install spim". In addition, UC Berkeley maintains a Web page for a MAC OSX version.
You can find a nice tutorial for the SPIM simulator here.
Note to Windows 7 users: If SPIM complains about a missing "exceptions.s", you can fix it by going to Simulator->Settings, and changing the path from "C:\Program Files\PCSpim\exceptions.s" to "C:\Program Files (x86)\PCSpim\exceptions.s".
Study Problems
Study problems with solutions will be posted weekly. It is strongly recommended that these problems be worked out and thoroughly understood (quiz problems will be based on material covered in class, lab problems and study problems).
Week 1 - Performance Measures: study problems.
Week 2 - Assembly: Basics: study problems.
Week 3 - Assembly: Procedures: study problems.
Week 4 - Assembly: Procedures: study problems.
Week 5 - Arithmetic for Computers: Logic, Negative Numbers, Adders: study problems.
Week 6 - Arithmetic for Computers: Negative Numbers, Real Numbers, Adders, Multiplication: study problems.
Week 7 - CPU Design: study problems.
Week 8 - CPU Design: study problems.
Week 9 - Memory Hierarchy: study problems.
Week 10 - Memory Hierarchy: study problems.
Back
Labs
Lab week 2 (mandatory): assignment 1 (solutions), assignment 2 (solutions), sample.s.
Lab week 3 (mandatory): assignment (solutions).
Lab week 4: assignment (solutions).
Lab week 5 & 7 (mandatory): programming project and errata (more information under Programming Project).
Lab week 6: assignment (solutions).
Lab week 8: assignment (solutions).
Lab week 9: assignment (solutions).
Lab week 10: assignment (solutions).
Back
Quizzes & Final Exam
Some example problems will be posted to give you an idea of possible quiz problems.
Week 1 - Performance Measures: example problems (solutions).
Week 2 - Assembly: Basics: example problems (solutions).
Week 3 - Assembly: Procedures: example problems (solutions).
Week 4 - Assembly: Procedures: example problems (solutions).
Week 5 - Arithmetic for Computers: Logic, Negative Numbers, Adders: example problems (solutions).
Week 6 - Arithmetic for Computers: Negative Numbers, Real Numbers, Adders, Multiplication: example problems (solutions).
Week 7 - CPU Design: example problems (solutions).
Week 8 - CPU Design: example problems (solutions).
Week 9 - Memory Hierarchy: example problems (solutions).
Week 10 - Memory Hierarchy: example problems (solutions).
Quizzes are based on material covered in class, lab problems and study problems. They will be held during Monday discussion sections as indicated on the schedule. Every Sunday before a quiz, there will be a special "quiz office hour", 2:00-3:30pm in WLH, room 2217C.
Final: The final exam for A00 (6/9, 11:30am-2:29pm) will be held in CSB 002. The final exam for B00 (6/9, 3:00-5:59pm) will be held in Center 101. No calculator, no cheat sheet.
There will be a review session the day before the final (Monday June 8th), 5:30-7:30pm, in WLH, room 2217C, with overflow rooms 2214 and 2217A.
Back
Programming Project
The project: Minimax Tic-Tac-Toe - assignment, project submission.s, errata.
Due: Thursday, June 4, 2015
The programming project must be done in groups of two. You may select your own partner, from the same lab section as yours.
The programming project is in MIPS R2000 assembly language. You will need to download a simulator called QTSPIM on your own computer, which can be used to verify the correctness of your assembly language program. You can use either the PC (Windows) version, the MAC OSX version, or the Unix/Linux version.
You must turn in a commented source code electronically by the due date.
Please follow the instructions in the assignment carefully.
If the TA can't easily run your program, you will lose points.
The program is due by 5:00PM on Thursday, June 4, 2015. Any program received after that will lose points for being late.
Turn in the program by emailing it to Daniel and Sibo at ecethirty@gmail.com with subject line ECE30 PROGRAM. In the email body include the email addresses and full names of both partners. Be sure to attach the program!
The project code MUST be written by the team members themselves. Copying code (or acquiring code from any source external to the team) will not be tolerated. It will be penalized with an "F" grade for the class and a formal report to the UCSD ethics office, for both group members, both for teams providing code as well as for teams receiving code.
Back