DOC PREVIEW
Penn CIS 240 - CIS 240 LECTURE NOTES

This preview shows page 1-2 out of 7 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 7 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 7 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 7 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

CSE 240Introduction toComputer Architecturehttp://www.seas.upenn.edu/~cse240/Autumn 20060-2CSE 240What’s CSE 240 All About?!The “new” CSE240:• Not at 9am!!!• New approach (bottom up)• New textbook• New instructor• Well integrated into curriculum• Cooler assignments (demo coming later)• No assumption that you know C programming• Third time around0-3CSE 240What’s CSE 240 All About?!Any sufficiently advanced technologyis indistinguishable from magic.Arthur C. Clarke, "Profiles of The Future” (Clarke's 3rd law)CSE240• No magic• Computers should not be magic to computer scientists!• Bottom up approach• Computing systems from transistors on up• Not about “design”0-4CSE 240Big PictureIntroduction to computer architecture• How is data represented?• What are the pieces of a computer?• How do computers work?Programming• How do I "talk" directly to the machine?• How do I program in “C”?Computer systems and computation• How do simple HW/SW elements come together to realizecomplex computations?0-5CSE 240Course ComponentsPart 1: Hardware• Representing data, transistors, gates, digital logic structures,von Neumann machine modelPart 2: Assembly language• Instructions, (structured) programming, input/output,relationship to hardwarePart 3: C programming• Syntax, operators, control structures, functions, pointers,recursion, data structures, relationship to assembly language• Assume already familiar with programming (but not C)0-6CSE 240Assembly Language ProgrammingWhat is an instruction?• Basic unit of (SW) computation• Very primitive• E.g., in LC-3:! add, branch-on-condition, load-from-memory, store-to-memoryFocus: Where hardware meets software• We will examine the hardware that executes instructions• We will compose instructions to create softwareReally little example, initially R1 is 10, R2 is 0LOOP ADD R2,R1,R2 ADD R1,R1,#-1BRp LOOP0-7CSE 240TodayObjectivesSummarize course implementation• Background/Prerequisites• Lectures/Reading/Quizzes• Homework• Exams• GradesDemo• Sample homework/project!0-8CSE 240Why Take CSE240?Foundational• Intersects all aspects of computingPreparatory/Complementary• CSE 371: Digital Systems Organization and Design• CSE 380: Operating Systems• CSE 341: Compilers and Interpreters• CSE 260: Mathematical Foundations of CSFun!!!• Who wouldn’t want to understand the magic?0-9CSE 240ObjectivesUnderstand role & relationship of hardware and softwareExposure to. . .• Machine organization (CSE 371 prep)• Assembly language programming (CSE 341 prep)• C programming (CSE 380 prep)Understand how to build entire (slow) computing system• Hardware and software• You’ll get a chance in CSE 371/2 and CSE 380Be distinguished from mere programmers0-10CSE 240Why Study Hardware?Important• Floaters can’t build effective systems!• Still drives industryTimely• Multicore, hyper-threading, SSE, security, . .Opens doors• Yet another option!0-11CSE 240Why Learn Assembly Programming?Helps understand capabilities of machineCan be used to exploit processor-specific extensions• E.g., Intel’s MMX and SSE (special media instructions)Many system components written in assembly• E.g., microcontrollers, device drivers, media kernels,digital signal processing (DSP) codeIt’s in the news!• E.g., stack smashing vulnerabilities0-12CSE 240Why Learn C Programming?What is C?• High-level language (than assembly anyway)• Invented in 1970s to write the Unix operating system• “Portable assembly language”• In between assembly and Java/C#Very common• Operating systems and even general applications!Still the right tool for many tasks• Foundation for C++/C#/Java• Assembly-to-C migration for embedded applications0-13CSE 240CSE 240 ImplementationStaffBackground/PrerequisitesLectures/Reading/QuizzesExamsHomeworkAcademic IntegrityGrades0-14CSE 240StaffInstructor• Prof. Milo Martin ([email protected])TAs• Nick Monfort (grad TA)• Netta Doron• Geoffrey Hayes• Andrew Lagatta• Amanda Leicht0-15CSE 240CommunicationWeb site• http://www.seas.upenn.edu/~cse240/• Assignments, lecture notes, etc.Office hours• Fact to face help• See web page for timesDiscussion groups (via blackboard)• Read by me, TAs, fellow studentsE-mail• Announcements via class e-mail list• To reach us: [email protected] 240Background/PrerequisitesRequirement: Strong background in programming• CSE 120• CSE 121 (strongly recommended)Why?• Fast pace• Assume you can program/debug0-17CSE 240LectureExpectation• Read appropriate sections in textbook before lecture• See class schedule for reading assignmentsQuizzes• Complete easy online quiz before each class• Can work ahead (do a week at once)• Experimental (appears to be effective)Lectures• Will not simply “cover” the material• Will focus on the “hard stuff”• Will not stand alone, instead build on reading• Will be interactive0-18CSE 240ExamsMidterm• Covers digital logic and some assembly• Tentatively scheduled: Wednesday, October 18th (in class)• Open bookFinal• Comprehensive: covers assembly and C and digital logic• Scheduled: Wednesday, December 20th (9am)• Open bookGood news: both exams are open book…• Bad news: it won’t actually help you0-19CSE 240HomeworkPaper and pencil assignments• Problem solving• Great exam preparationProgramming projects• Simple exercises• Challenging projects (Snake game!)Discussion• Encouraged! (TAs, discussion group, etc.)• Work must be completed alone• Okay: discuss meaning of problem, discuss approaches• Not okay: comparing answers, solving questions together0-20CSE 240Academic IntegrityThe rule is simple• Claiming another’s work as your own will ruin your life• See syllabus for details and examplesWho will know?• We will (inspection, similarity detectors, exams)• Your friends will… your parents will…• You willAnalogies• Cheating is like going 150 MPH over speed limit while drunk• Analogous consequences (legal -> educational)Remember• If you need to cheat now, you’ve got much bigger problems0-21CSE 240GradesMidterm: 25%Final: 30%Homework: 35%• Three extensions allowed (see syllabus)Quizzes: 5%Participation, attendance, etc.: 5%0-22CSE 240AssignmentsPart I: Hardware (Digital Logic)• Paper and pencil assignmentsPart II: Assembly Programming• Substantial programming project in assemblyPart III: C


View Full Document

Penn CIS 240 - CIS 240 LECTURE NOTES

Download CIS 240 LECTURE NOTES
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 CIS 240 LECTURE NOTES 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 CIS 240 LECTURE NOTES 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?