DOC PREVIEW
Harvey Mudd CS 105 - Computer Systems Overview

This preview shows page 1-2-3-25-26-27 out of 27 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 27 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 27 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 27 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 27 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 27 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 27 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 27 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

Computer Systems OverviewTextbooksSyllabusCourse ComponentsNotes:CheatingFacilitiesLab RationaleCourse ThemeGreat Reality #1Computer ArithmeticGreat Reality #2Assembly Code ExampleCode to Read CounterSlide 15Measuring TimeGreat Reality #3Memory-Referencing Bug ExampleMemory-Referencing ErrorsMemory Performance ExampleMatmult Performance (Alpha 21164)Blocked matmult perf (Alpha 21164)Great Reality #4Great Reality #5Role within CurriculumCourse PerspectiveCourse Perspective (Cont.)Computer SystemsOverview Computer SystemsOverviewTopics:Topics:Staff, text, and policiesLecture topics and assignmentsLab rationaleCS 105CS 105“Tour of the Black Holes of Computing!”Geoff KuenningFall 2008– 2 –CS 105TextbooksTextbooksRandal E. Bryant and David R. O’Hallaron, Randal E. Bryant and David R. O’Hallaron, “Computer Systems: A Programmer’s Perspective”, Prentice Hall, 2003.Brian Kernighan and Dennis Ritchie, Brian Kernighan and Dennis Ritchie, “The C Programming Language, Second Edition”, Prentice Hall, 1988Larry Miller and Alex QuiliciLarry Miller and Alex QuiliciThe Joy of C, Wiley, 1997– 3 –CS 105SyllabusSyllabusSyllabus on Web: http://www.cs.hmc.edu/~geoff/cs105Calendar defines due datesLabs: cs105submit for some, others have specific directions– 4 –CS 105Course ComponentsCourse ComponentsLecturesLecturesHigher-level conceptsProblems and QuizzesProblems and QuizzesApplied concepts, important tools and skills for labs, clarification of lectures, exam coverageLabsLabsThe heart of the course1 or 2 weeksProvide in-depth understanding of an aspect of systemsProgramming and measurementTime to learn, avoid trying to optimizeTeams of two– 5 –CS 105Notes:Notes:Work groupsWork groupsYou must work in pairs on all labsHonor-code violation to work without your partner! HandinsHandinsCheck calendar.Electronic submissions only.Grading CharacteristicsGrading CharacteristicsLab scores tend to be highSerious handicap if you don’t hand a lab inTests & quizzes typically have a wider range of scoresI.e., they’re primary determinant of your gradeDo your share of lab work and reading, or bomb tests– 6 –CS 105CheatingCheatingWhat is cheating?What is cheating?Sharing code: either by copying (web search, etc), retyping, looking at, or supplying a copy of a file.What is NOT cheating?What is NOT cheating?Helping others use systems or tools.Helping others with high-level design issues.Helping others debug their code.– 7 –CS 105FacilitiesFacilitiesAssignments will use Intel computer systemsAssignments will use Intel computer systemsNot all machines are created alikeSome Macs are PowerPCsEven Intel Macs aren’t necessarily compatibleKnuth is a 64-bit serverWilkes - x86/Linux specifically set up for this classLog in on a Mac, then ssh to WilkesIf you want fancy programs, start X11 firstDirectories are cross-mounted, so you can edit on Knuth or your Mac, and Wilkes will see your files…or ssh into Wilkes from your dormAll programs must run on Wilkes: that’s where we grade– 8 –CS 105Lab Rationale Lab Rationale Each lab has a well-defined goal such as solving a puzzle or Each lab has a well-defined goal such as solving a puzzle or winning a contest. winning a contest. Defusing a binary bombWinning a performance contestDoing a lab should result in new skills and conceptsDoing a lab should result in new skills and conceptsData Lab: computer arithmetic, digital logicBomb Labs: assembly language, using a debugger, understanding the stack Threads Lab: ConcurrencyWe try to use competition in a fun and healthy way.We try to use competition in a fun and healthy way.Set a threshold for full creditPost intermediate results (anonymized) on Web page for glory!– 9 –CS 105Course ThemeCourse ThemeAbstraction is good, but don’t forget reality!Many CS Courses emphasize abstractionMany CS Courses emphasize abstractionAbstract data typesAsymptotic analysisThese abstractions have limitsThese abstractions have limitsEspecially in the presence of bugsNeed to understand underlying implementationsUseful outcomesUseful outcomesBecome more effective programmersAble to find and eliminate bugs efficientlyAble to tune program performancePrepare for later “systems” classes in CSCompilers, Operating Systems, Networks, Computer Architecture, Robotics, etc.– 10 –CS 105Great Reality #1Great Reality #1Ints are not integers, Floats are not reals !!Ints are not integers, Floats are not reals !!ExamplesExamplesIs x2 ≥ 0?Floats: Yes!Ints:» 40000 * 40000 --> 1600000000» 50000 * 50000 --> ??Is (x + y) + z = x + (y + z)?Unsigned & Signed Ints: Yes!Floats:» (1e20 + -1e20) + 3.14 --> 3.14» 1e20 + (-1e20 + 3.14) --> ??– 11 –CS 105Computer ArithmeticComputer ArithmeticDoes not generate random valuesDoes not generate random valuesArithmetic operations have important mathematical properties…BUTCannot assume “usual” propertiesCannot assume “usual” propertiesDue to finiteness of representationsInteger operations satisfy “ring” propertiesCommutativity, associativity, distributivityFloating-point operations satisfy “ordering” propertiesMonotonicity, values of signsObservationObservationNeed to understand which abstractions apply in which contextsImportant issues for compiler writers and serious application programmers– 12 –CS 105Great Reality #2Great Reality #2You’ve got to know assemblyYou’ve got to know assemblyChances are, you’ll never program in assembly…Chances are, you’ll never program in assembly…Compilers are much better & more patient than you areBUTBUT understanding assembly key to machine-level understanding assembly key to machine-level execution modelexecution modelBehavior of programs in presence of bugsHigh-level language model breaks downTuning program performanceUnderstanding sources of program inefficiencyImplementing system softwareCompiler has machine code as targetOperating systems must manage process state– 13 –CS 105Assembly Code ExampleAssembly Code ExampleTime Stamp CounterTime Stamp CounterSpecial 64-bit register in Intel-compatible machinesIncremented every clock cycleRead with rdtsc instructionApplicationApplicationMeasure time required by procedureIn units of clock


View Full Document

Harvey Mudd CS 105 - Computer Systems Overview

Documents in this Course
Processes

Processes

25 pages

Processes

Processes

27 pages

Load more
Download Computer Systems Overview
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Computer Systems Overview and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Computer Systems Overview 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?