computer organization
c m s c 311  
f a l l   2 0 0 2  

  Meesh 311 Page
  Project 0
Project 1
Project 2
Project 3
  Exam Dates
Exam Topics
Exam Solutions
  Lecture Topics

Exam 2 Information
Exam 2 is Monday, December 9, in CSIC 3117 (classroom) from 5:00-6:15. Closed book, closed notes, closed neighbor exam.
Final Exam Information

Final is Tuesday, December 17, in CSIC 3117 (classroom) from 4:00-6:00. Closed book, closed notes, closed neighbor exam.

  • Feb 2 Project grades are now included in your overall grade. The updated scores (if any) will appear on MARS in a day or two. Basically, I computed your project grade average, counted it 25% to your overall grade (75% was your exams), and recomputed cutoffs. 25% isn't a very large amount, so many grades stayed fairly similar. Recall that doing the projects doesn't guarantee your grade improves. For many, grades will stay the same. Also, recall that the higher your grade was, the better you had to do on projects to make that grade leap (so it was a little easier to get to a B- than to an A-).
  • Jan 15 It looks like I'm a little more backlogged than I thought (had some CMSC 214 things from last semester to fix up, so that took a little time). Anyway, grades should be ready soonish (for now, let's say by Sunday or Monday). For the purposes of the dean's office, I'm going to enter the D's and F's now (based on exam grades only), and fix that up once project grades are complete.
  • Jan 9 I'm basically back from vacation, and will be working on projects the next few days. I'll post something up once they're done, but I'm looking at sometime early next week to get done.
  • Dec 23 Grades should be ready in the next 8 hours, but unfortunately, project grades won't be ready before I have to head out of town tomorrow. I will submit your grades based on exams first.

    If you have a D/F (based on exams), I will submit them after your project grades are computed. However, if you receive an F, project grades may only help you to a D (I think I wrote that in the syllabus somewhere).

    I will try to get some work done through a bad Internet connection, but will be back in early January to finish the project grades.

    Note: accounts will disappear by December 30. If you need to save stuff, you should do so before then.

  • Dec 22 At this point, I'm hoping to have final grades ready by Monday evening. I should have some idea of cutoffs based on exams ONLY, but then, I'm also trying to get project grades completed as well. Once that's done, I should post something on the webpage, so keep an eye on that.

  • Dec 18 You should be able to pick up exam 2 around 1:30 on Wednesday. I will leave them with Kinga somewhere near the TA office (we'll put a note in the TA office, if she's elsewhere)

  • Dec 16 Stuart will hold office hours Monday at 1 PM, as usual. Kinga will hold last minute office hours on Tuesday at 1:30 PM.

  • Dec 14 Note: sllv and slrv are NOT on P2. They were added last minute, but for use NEXT semester, not this semester. So don't implement them.

  • Dec 14 Final exam is expected to be a combination of Exam 1 and Exam 2 material. Only new topic is interleaved memory. Should be asking a question on timing diagrams too. I will be in office hours at 1 PM Sunday. You should be able to pick up exam 2 then, as well.

    BTW, I haven't been reading email lately.

  • Dec 14 Sorry, got a little backlogged. Most solutions to Exam 2 now posted. Click on Exam Solutions on the left.
  • Dec 14 I will meet students at 1 PM on Sunday for review. You can pick up exams then. I will be posting solutions to parts 5, 6, and Challenge by about 4 PM. I should have some solutions to 4 up as well.
  • Dec 14 Primary output for "ori" corrected.

    For a variety of reasons, the current project is now OPTIONAL. In particular, I had to correct the primary output for the last line (I had digits transposed on the "ori" instruction).

    To compute your final grades, I will total the score from the first 3 projects (0, 1, and 2) and give a grade to the entire class (i.e., A, B, C). This will count 20% to your final grade. Note: doing P2 then helps because it adds more points to your project total (I will accepts P2 up to Friday of exam week).

    I will also compute your final grades due to exams only. I will take the higher of the grades computed by exams only and by exams plus projects.

    As long as you submitted P0 and P1, then I take the better of the two grades. However, if you do abysmal on exams only (i.e, get an F average), I reserve the right not to pass. I primarily want students who are just under the C cutoff to move up.

    If you really need the final exam grade, I would suggest studying for your finals, and trying the projects after the fact.

  • Dec 11 You should be able to submit now. I will be checking student emails off and on to see if there are "bugs" (mostly the output being incorrect). I have updated the printBin so it doesn't print out that extra line. There is a sample Makefile which you can use to help out.

    I should be in AVW 1151 around 1 PM on Saturday and Sunday. On Saturday, I will answer questions about the projects. On Sunday, I will answer questions about the final exam.

  • Dec 10 A NEW sample input is ready in the posting account. Drivers should be posted soon (it will basically read the input file from "sample.file" and then print out the "English" version of the MIPS instructions").. I will be re-reading some of the posted MIPS instructions in the project to make sure they look good (a student emailed me that a few instructions seem off). Read README.more in the posting account.
  • Dec 9 A sample input is ready in the posting account, which has an add and addi instruction. The actual primary should be ready by morning, but I may have it sooner. Check here for further notices. Read README.more.
  • Dec 8 The solution to the problem about equivalent flip flops (each flip flop can be implemented by another) is basically to draw a 2-state finite state machine representing the flip flop's behavior. For example, with a D flip flop, the D value is the inputs, and the "z" valus are the outputs of the flip flop.
  • Dec 7 More solutions posted. Click on link below. I will provide the MIPS instructions similar to that on the inside back cover of the book (at least, I think they're in the back of the book).
  • Dec 7 Some answers ready for practice exam. Some answers here. It's in Postscript. More solutions later.

  • Dec 6 Cache Tutorial and Tutorial from Spring 2002. Read "Finite State Machines". Skip Karnaugh maps. There may be some minor errors, so be careful while reading.

    I should be in AVW 1152 Sunday at 2 PM, if you have questions

  • Dec 6 Chapters to read: Chapter 3 (most of it), Chapter 7.1-7.3 (mostly 7.1 and 7.2) on "cache". The tutorial on finite state machines from Summer 2002 CMSC 311 webpage (I will have a link added soon, but I trust you can find it).
  • Dec 6 I will be working on a "Cache" tutorial this evening, which should answer questions in the middle part of the sample exam. I will post up the sample exam too. Finally, I should be able to get some answers to questions on the first part. The MIPS section, I will post sometime Saturday.

    I hope to have primaries up Saturday too. Check announcements later this evening for more info.

  • Dec 5 The description to "Load" now has the description of reading from and writing to a binary file.

  • Dec 3 P2 posted. There are some corrections to the assembly instructions. In particular, the $rs, $rt, $rd are currently being corrected.
  • Dec 3 Makeups for quizzes are at 2 PM on Tuesday, Thursday. On Wednesday/Friday, they are at 2:15. We will meet in room 1152 on all days except Wednesday, where we will meet in 1112.
  • Nov 28 Power outage all day Friday (29th) due to repairs in AVW.

  • Nov 4 Posted solutions to Exam 1. Click on "Exam solutions" on left. This is in Postscript. This is also in the posting account under the Exam directory.

  • Oct 30 Signed numbers in Register should use 2C. If you used other representations (such as signed magnitude), you can turn in the project a few days late (say Sunday), provided that you ALSO turn in the Register version with signed magnitude (give that version a different name, like RegisterSM).

    Also, you should have bit 0 be the least significant bit, and bit 31 (or whatever the size) be the most significant bit. Bits in registers are numbered right to left, not left to right.

  • Oct 26 The moment you've been waiting for! You can turn in Project 1. The primary only checks the Convert class, so if you have questions about Register, ask in class or email:

    As announced in class, this means the project has 4 more days to be submitted, so you can turn it in by Thursday midnight for regular credit. Yes, I know that there is a 330 project due at the same time. However, this project has been out for at least a month. The ability to do projects without primary inputs and outputs is something you will need for 400-level courses (you can ask questions such as "if this is the input, is this the corresponding output?).

  • Oct 19 I just posted solutions to P1. I will hold office hours between 1-2 PM on Sunday, if you have questions for the exam. Stuart will have office hours between 1-3 PM on Monday as usual.
  • Oct 19 P1 is extended to October 23, 2002. Drivers should be up this evening (perhaps late-ish). Postscript solutions to exam should be up in ~chf11001/Exam.
  • Oct 13 P1 is extended to October 19, 2002. Drivers should be up Monday-ish.
  • Oct 5 Register specs up. However, they were written in a rush, which means small errors may appear. The files are currently not in the posting account, however, feel free to write them based on the specs. The files should be up this evening or Sunday.

    I plan to add one additional function to Convert. which will read in a series of 32 bit values from a binary file, with a given endian-ness. That should be up fairly soon.

    At this point, barring any inspirations, that should be it for P1.

  • Sept 30 OK, more functions in Convert. That should be it for that class.

    I will work on a Register class (for C++/Java) and try to have that ready tomorrow. Send email if you see anything that seems odd.

  • Sept 27 Some students are eager to start P1, so I've posted a few things to keep you busy for now. I will add a few more functions tonight and tomorrow.

    However, expect that there may be a few tiny problems, so read FAQ, etc. regularly. You have two weekends to work on this. It's not all that bad though.

  • Sept 21 To submit:
    ~chf11001/submit p0.tar 0
    Include a README file. Read HOW_TO_SUBMIT from the posting account: ~chf11001/Proj/P0/

  • Sept 21 You can put anything in the README including nothing. It's there in case you have some comments about how your project runs to the TA.

  • Sept 19 A student noticed the primary output doesn't match the description. According to the description, getLeftToken() should be left trimmed (though not right trimmed).

    As an additional extra credit, I would like getRightToken() to behave differently. It should look for the first real delimiter from the right, but NOT trim the spaces. Thus, if the string were "***cat***,***dog**", then the rightmost token would be "***dog**", and the rest of the string would be "***cat***".

    See FAQ.

  • Sept 19 g++-3.2 still appears to be broken, actually. YOU MAY SUBMIT now. Early due date is now moved to 11 PM on Saturday, Sept. 21. The bonus is 10% of the project worth. Ontime is 11 PM on Sunday, Sept. 22. Read the HOW_TO_SUBMIT. There's a driver and a main, that you need to copy over.

    NOTE: Only the latest submission counts. If you turn in an early and an ontime, then only the ontime will be graded.

    NOTE: The late policy is pretty generous. Up to 7 days late, at 2 points off a day.

  • Sept 19 g++-3.2 is back again. However, if you can get it to work with cxx -w0 -std strict_ansi, that will be fine too. Still getting primary ready.

    Read about extra credit in project FAQ.

  • Sept 18 Project due Sunday at 11 PM. Early due date Saturday at noon. Primary should be up by this evening or Thursday morning. Read announcements here for information on that.
  • Sept 18 Both versions of g++ appear to be broken. In particular, some library for g++-3.2 is missing. So, use cxx -w0 -std strict_ansi for now.
  • Sept 17 I'm creating a "definitions" page. Alas, it's not in alphabetical order. Click on "Definitions" under OTHER to the left.
  • Sept 15 Some students have asked more clarification questions, so those are now in a P0 FAQ (see P0 webpage).
  • Sept 15 If the delimiter has more than two characters, then the backslash only appears before the first character. Thus, if you have :: as a delimiter, the escaped version is \::
  • Sept 13 Note: g++ and g++-3.2 are different compilers. g++ is version 2.95 (which doesn't support namespaces) and g++-3.2 is the one that does support it.
  • Sept 12 Clarifications to project 0 are located at the top of project 0 webpage.
  • Sept 6 Project 0 is basically ready. You should be able to code now. However, there may be clarifications and corrections, so read the announcements for more info. Click Project 0 link.

  • Sept 6 Webpage just put up. Project 0 should be ready pretty soon. There will be a note when that happens.