Monday, August 28, 2017
|
|
- August Matthews
- 5 years ago
- Views:
Transcription
1 Monday, August 28, 2017 Topics for today Course in context. Course outline, requirements, grading. Administrivia: Tutoring: Department, PLTL, LRC Knowledge Survey The concept of a multi-level machine Motivations for knowing how to program at assembly level COMP 162 in context You can see the position of COMP 162 in both the Computer Science and the Information Technology degree programs in the on-line charts In each degree program it is the first hardware-oriented course. In the BSCS it leads into COMP262 and COMP 362. In the BSIT, it provides some foundation for COMP 221 though it is not a prerequisite for that course. Comp 162 is also a required course in the minor in Computer Science and the minor in Robotics Engineering. Comp 162 is an introduction to computer systems, low-level programming, and a brief introduction to topics covered in more depth in later courses. The official pre-requisite is Comp 150 or IT 151 or COMP 121 or IT 152 In practice, the pre-requisite is some knowledge of programming in a high-level language so that when we discuss loops and if statements, you know what we are talking about. Textbook Computer Systems (5th Edition), J. Stanley Warford, Jones and Bartlett (2016) An online copy of the book is accessible through the CS Safari Books page. Course outline The first third of the course is a general introduction to computer architecture, data representation, the von Neumann model The second third looks specifically at the Pep/8 system, low-level programming techniques and how high-level language features map onto assembly language. The final third is some language theory (relevant to compilers) and introductions to systems topics covered in later courses. Comp 162 Notes Page 1 of 9 August 28, 2017
2 Lab The lab sessions (3 hours each week) will introduce the C language and then the Pep/9 programming environment and give you supervised time to work on the programming assignments (first two in C, remaining 4 in Pep/9). Administrivia The course uses both CI Learn (Blackboard/Canvas) and the web. CI is transitioning to Canvas; this is the last semester for Blackboard. Key information such as grades will be posted to both systems this semester. Most information will be posted on the course web page to avoid duplication. My home page is: A link to the Comp 162 course page is about halfway down the page. Contact information (phone, , office, office hours etc) is at the top of the page. Course requirements (probable) Three homeworks, six programs (C/Pep), three mid-term exams and one final exam. Note that all the exams are open book, open notes. Grading In figuring the final course grade this semester, components are weighted approximately as follows Final 16% Homeworks 8% each Mid-terms 8% each Programs 6% each Plus-minus grading will be used in the course grade. Tutoring In SIE 1119, in El Dorado Hall and in the Learning Resource Center (Broome Library) PLTL Peer-led team learning - available for Comp 162 in Fall Recommended, but space is limited. Knowledge Survey An anonymous before-and-after survey of course-related knowledge Comp 162 Notes Page 2 of 9 August 28, 2017
3 Overview: The concept of a multi-level machine The course textbook is organized round the idea of a computer system being a multi-level machine. This way of approaching a system (think of an onion) does not originate with Warford but it is a good way to break up the course topics. In Warford s view, a system has 7 levels with the application layer (the outermost) being level 7 and the logic circuit layer (the innermost) being level 1. Somewhat simplified, we have: Level 7: Level 6: Applications, e.g., Word, Safari, computer games written in high-level language. High-level language, e.g., C, Java which a compiler translates to assembly language Typical statement: vector[j]=45; Level 5: Level 4: Level 3: Level 2: Level 1: Assembly language (symbolic) translated by assembler into numeric form Typical statements: ldwa 45,i ldwx J,d stwa vector,x Operating system. Some instructions in the output from the assembler are processed directly by level 3, others (e.g. input/output) require action by the operating system. The Operating System itself is held in the form of machine code instructions. Machine Code binary instructions. A program of very simple microinstructions interprets the machine code program. Circuits are activated according to the current microinstruction. This is where, finally, computation actually happens. Different courses in the degree programs cover different parts of this model. In Comp 162 the topics we look at include Level 6 programming in C How an assembler works (the mapping of level 5 onto levels 4 and 3) The relationship between elements of High-Level language programs (level 6) and their counterparts at level 5. Some aspects of Operating Systems (Level 4) The operations possible in Level 3. Comp 162 Notes Page 3 of 9 August 28, 2017
4 1: Circuit level 2: Microinstruction level 7: Application layer 6 High-level language level 5: Assembly language level 4: Operating System Level 3: Instruction Set Architecture level Comp 162 Notes Page 4 of 9 August 28, 2017
5 Implementing a multi-level machine How can we implement one level on the one below it? To see some possibilities, think about the problem of implementing a very high-level language on a system that can run a high-level language (for example C). Here are two examples of very highlevel languages. Example 1: APL. (a real language) The following APL program computes the mean of the numbers in an array {(+/ω) ρω} The following APL program (from Wikipedia) sorts a list of word in array X by word length Example 2: VECMAT (a made-up language) VECMAT is a high-level language for vector and matrix manipulation. vector A,B; matrix C,D; input A, C; B = C * A; output B; Two options for implementing a level (level N) on the level beneath (level N-1) are: translation and interpretation. Consider the problem of implementing VECMAT on a machine that can run C. (a) translation. Write a translator in C that translates a VECMAT program into an equivalent C program. We can run this translator on any system that has C then subsequently run the C program that the translator outputs. (b) interpretation. Write a program in C that interprets the VECMAT program. The interpreter does much the same actions that you would do when tracing a program keep track of contents of variables, remember which instruction you are tracing, take appropriate action for each instruction. These implementation methods (translation, interpretation) are found at various points in the multilevel machine when we implement level N on level N-1. Comp 162 Notes Page 5 of 9 August 28, 2017
6 Motivation for studying low-level programming Most users of computer systems are at the application level, they don t care how the system actually works as long as it runs their applications (Safari, PeopleSoft, Microsoft Office, etc.) correctly. So why study computer architecture and low-level (assembly language programming)? 1. Knowing how computers work lets you compare different systems. For example, what is RISC architecture and why might it be superior to non-risc? How are Intel and AMD processors similar and how are they different? 2. Assembly languages are very similar and once you have studied one, another is relatively easy to pick up. 3. If you are involved in writing compilers or operating systems or other types of system software or you are programming embedded systems there may be circumstances where a high-level language gets in the way of what you want to do. For example, it might not be possible to access some of the hardware from within a high-level language program. Then you may need to resort to embedding assembly code in your program. 4. The output from a compiler may be too big or run too slowly for your particular circumstance, e.g., writing code for a system with limited memory. Being able to tweak the assembly code output from a compiler is a valuable skill as is being able to tweak the highlevel language so that the compiler produces the program with the characteristics you want. Here are four example scenarios. Example 1 You are developing a control program in C for an embedded system, for example an MP6 player (it s only a matter of time). The output from the compiler currently occupies 4130 bytes. By knowing how the compiler translates various data and control structures, you make appropriate changes to the C source code, recompile and the new object program is only 4020 bytes. Now the code fits in a 4K memory (4096 bytes) rather than requiring an 8K memory (assuming memories are multiples of 4K bytes). You have reduced the cost by perhaps $1 per unit significant if you are producing millions of units. Example 2 Here is an example of how knowledge of assembly language lets us improve on compiler output. The source code in this example initializes, to zero, the first 100 elements of an array. for (i=0; i<100; i++) A[i] = 0; Comp 162 Notes Page 6 of 9 August 28, 2017
7 (a) Compiler output. Without any kind of optimizations, a compiler might produce the following code (somewhat generic assembly language) MOVL #0,I MOVL #0,R3 LAB: MOVL #0,A[R3] ADDL #1,R3 ADDL #1,I COMPL R3,#100 BLSS LAB (b) If we were to translate the loop by hand, we might come up with the following that uses more sophisticated programming techniques MOVL #A+100,R3 LAB: CLRL (R3)- COMPL R3,#A BGTR LAB (c) An expert assembly language programmer, with knowledge of the complete instruction set available, might be able to use instructions in a truly innovative way, leading to the following program CLRL A MOVC3 #396,A,A+4 We can compare these three assembly code programs (very approximately) under two headings: space and time: How many bytes of memory does each occupy? How long does each take to run? For the former, we approximate space requirements by simply counting the number of symbols in the program; for the latter we count the number of instruction executions as the program runs. This leads to the following table. Program Space Time A (Compiler) B (Hand-compile) C (Hand-compile: expert) 6 2 The time comparison is a little unfair because the MOVC3 instruction in the last program will take a lot longer to run than the average instruction. Nevertheless, we can see that substantial improvements are possible over the code output by the compiler. (We will look at optimization techniques later.) Comp 162 Notes Page 7 of 9 August 28, 2017
8 Example 3 In a certain program, 1% of the code accounts for 50% of the execution time. This is not unrealistic, a 600-line program might have a 6-line inner loop where the program spends most of its time. Assuming: It takes 100 person-months (pm) to write the entire program in C Assembly code takes 10 times longer to write than C Assembly code runs 4 times faster than C. Compare the following strategies with respect to programming time and execution time. (1) Write the entire program in C (2) Write the entire program in assembler (3) Write the entire program in C then rewrite the critical 1% in assembly code Strategy Programming Time Execution Time pm X pm 0.25X = 110pm 0.5X X = 0.625X So for a small (one-time?) extra investment in programming time, we have reduced execution time by 37%. Example 4 In most cases, one high-level language instruction is translated into a sequence of many assembly language instructions. However, consider the following fragment of a high-level language program F = 0 For ( I = N; I > = 0; I --) F = F * X + C[ I ] Did you recognize this as the evaluation of a polynomial user Horner s Method 1? If you did not recognize it, what are the chances of a compiler recognizing it and being able to translate it into the following single assembly code instruction (DEC VAX)? POLYD X,N,C A programmer on the other hand, knowing the problem to be solved (polynomial evaluation) and the tools available (POLYD) can put the two together. 1 See, for example, Comp 162 Notes Page 8 of 9 August 28, 2017
9 Why Pep/9? We use the Pep/9 virtual machine developed at Pepperdine University. It is an integrated environment that lets you create, edit, assemble and run assembly code or machine code programs. Pep/9 is the latest version of a long-running project that you can find at Click on the Fifth Edition link in the Editions tab. We use Pep/9 rather than a real system (e.g., Intel, AMD) because (a) versions are readily available for Mac and Windows and (coming soon?) Linux (b) It is just the right size (about 40 instructions) for a one-semester course. Unfortunately, there is only one textbook that describes the system but it is relatively straightforward Reading. Read the Preface and Chapter 1 (only 1.2 is really needed). Chapter 2 is relevant to the first few labs. We will begin covering Chapter 3 material in the next lecture. Comp 162 Notes Page 9 of 9 August 28, 2017
Wednesday, September 27, 2017
Wednesday, September 27, 2017 Topics for today Chapter 6: Mapping High-level to assembly-level The Pep/9 run-time stack (6.1) Stack-relative addressing (,s) SP manipulation Stack as scratch space Global
More informationWednesday, September 20, 2017
Wednesday, September 20, 2017 Topics for today More high-level to Pep/9 translations Compilers and Assemblers How assemblers work Symbol tables ILC Pass 1 algorithm, Error checking Pass 2 Immediate mode
More informationCOMP Data Structures
COMP 2140 - Data Structures Shahin Kamali Topic 1 - Introductions University of Manitoba Based on notes by S. Durocher. COMP 2140 - Data Structures 1 / 35 Introduction COMP 2140 - Data Structures 1 / 35
More informationCS 3030 Scripting Languages Syllabus
General Information CS 3030 Scripting Languages Semester: Fall 2017 Textbook: Location: Instructor Info: None. We will use freely available resources from the Internet. Online Ted Cowan tedcowan@weber.edu
More informationIn this course, you need to use Pearson etext. Go to "Pearson etext and Video Notes".
**Disclaimer** This syllabus is to be used as a guideline only. The information provided is a summary of topics to be covered in the class. Information contained in this document such as assignments, grading
More informationSan José State University Computer Science Department CS49J, Section 3, Programming in Java, Fall 2015
Course and Contact Information San José State University Computer Science Department CS49J, Section 3, Programming in Java, Fall 2015 Instructor: Aikaterini Potika Office Location: MacQuarrie Hall 215
More informationCOMP Data Structures
Shahin Kamali Topic 1 - Introductions University of Manitoba Based on notes by S. Durocher. 1 / 35 Introduction Introduction 1 / 35 Introduction In a Glance... Data structures are building blocks for designing
More informationCS 240 Fall Mike Lam, Professor. Just-for-fun survey:
CS 240 Fall 2014 Mike Lam, Professor Just-for-fun survey: http://strawpoll.me/2421207 Today Course overview Course policies Python Motivation Computers are digital Data is stored in binary format (1's
More informationCS120 Computer Science I. Instructor: Jia Song
CS120 Computer Science I Instructor: Jia Song Instructor Contact Information Instructor: Dr. Jia Song Email: jsong@uidaho.edu (Preferred) Phone: (208) 885-1710 Office: JEB 240 (CSDS Security Lab) JEB 340
More informationIntroduction to Data Structures
15-121 Introduction to Data Structures Lecture #1 Introduction 28 August 2019 Margaret Reid-Miller Today Course Administration Overview of Course A (very basic) Java introduction Course website: www.cs.cmu.edu/~mrmiller/15-121
More informationIntroduction to Computer Systems
Introduction to Computer Systems Web Page http://pdinda.org/ics Syllabus See the web page for more information. Class discussions are on Piazza We will make only minimal use of Canvas (grade reports, perhaps
More informationMonday, February 16, 2015
Monday, February 16, 2015 Topics for today How assemblers work Symbol tables ILC Pass 1 algorithm, Error checking Pass 2 Immediate mode and equate Assembler variants: Disassembler, Cross assembler Macros
More informationCOMP3221: Microprocessors and. Embedded Systems
Embedded Systems Lecture 1: Introduction http://www.cse.unsw.edu.au/~cs3221 Lecturer: Hui Wu Session 1, 2005 1 COMP 3221 Administration (1/2) Lecturer: Hui Wu: huiw@cse.unsw.edu.au Office: K17-501D Consultation:
More informationCOMP 250. Lecture 36 MISC. - beyond COMP final exam comments
COMP 250 Lecture 36 MISC - beyond COMP 250 - final exam comments Dec 5, 2016 1 202 Intro Program MATH (prereqs for many upper level COMP courses) 206 Software Systems 273 Computer Systems 250 Intro Comp
More informationWednesday, March 14, 2018
Wednesday, March 14, 2018 Topics for today Arrays and Indexed Addressing Arrays as parameters of functions Multi-dimensional arrays Option A: Space-minimal solution Option B: Iliffe vectors Array bound
More informationPreface A Brief History Pilot Test Results
Preface A Brief History In Fall, 2005, Wanda Dann and Steve Cooper, originators of the Alice approach for introductory programming (in collaboration with Randy Pausch), met with Barb Ericson and Mark Guzdial,
More informationCSC 111 Introduction to Computer Science (Section C)
CSC 111 Introduction to Computer Science (Section C) Course Description: (4h) Lecture and laboratory. Rigorous introduction to the process of algorithmic problem solving and programming in a modern programming
More informationCSC 015: FUNDAMENTALS OF COMPUTER SCIENCE I
CSC 015: FUNDAMENTALS OF COMPUTER SCIENCE I Lecture 1: Class Introduction DR. BO TANG ASSISTANT PROFESSOR HOFSTRA UNIVERSITY 1 9/7/16 CSC15 - Python OUTLINE What is Computer Science? What is this Class
More informationComputer Science 210: Data Structures
Computer Science 210: Data Structures Welcome to Data Structures! Data structures are fundamental building blocks of algorithms and programs Csci 210 is a study of data structures design efficiency implementation
More informationadministrivia final hour exam next Wednesday covers assembly language like hw and worksheets
administrivia final hour exam next Wednesday covers assembly language like hw and worksheets today last worksheet start looking at more details on hardware not covered on ANY exam probably won t finish
More informationCS 3270 Mobile Development for Android Syllabus
General Information Semester: Fall 2016 Textbook: Required: Android 6 for Programmers An App-Driven Approach, 3e, Deitel, Deitel and Wald, Prentice Hall, 978-0-13-428936-6. This book is also available
More informationIn this course, you need to use Pearson etext. Go to "Pearson etext and Video Notes".
**Disclaimer** This syllabus is to be used as a guideline only. The information provided is a summary of topics to be covered in the class. Information contained in this document such as assignments, grading
More information61A LECTURE 1 FUNCTIONS, VALUES. Steven Tang and Eric Tzeng June 24, 2013
61A LECTURE 1 FUNCTIONS, VALUES Steven Tang and Eric Tzeng June 24, 2013 Welcome to CS61A! The Course Staff - Lecturers Steven Tang Graduated L&S CS from Cal Back for a PhD in Education Eric Tzeng Graduated
More informationINF 315E Introduction to Databases School of Information Fall 2015
INF 315E Introduction to Databases School of Information Fall 2015 Class Hours: Tuesday & Thursday10:30 am-12:00 pm Instructor: Eunyoung Moon Email: eymoon@utexas.edu Course Description Almost every website
More informationCS 240 Fall 2015 Section 004. Alvin Chao, Professor
CS 240 Fall 2015 Section 004 Alvin Chao, Professor Today Course overview Data Structures / Algorithms Course policies The C language Motivation Computers are digital Data is stored in binary format (1's
More informationComputer Organization & Assembly Language Programming (CSE 2312)
Computer Organization & Assembly Language Programming (CSE 2312) Lecture 1 Taylor Johnson Outline Administration Course Objectives Computer Organization Overview August 21, 2014 CSE2312, Fall 2014 2 Administration
More informationCollege of San Mateo Course Outline
College of San Mateo Course Outline New Course Update/No change Course Revision (Minor) Course Revision (Major) Date: 1/26/12 Department: CIS Number: 420 Course Title: Project Management Professional Certificate
More informationCISC 124: Introduction To Computing Science II
CISC 124: Introduction To Computing Science II instructor: Margaret Lamb instructor's home page: www.cs.queensu.ca/home/malamb office: Goodwin 527 current office hours are always on my home page 1 Moodle
More informationKris Gaj Research and teaching interests: ECE 646 Cryptography and Computer Network Security. Course web page: Contact: ECE 646
646 and Computer Network Security Course web page: web page Courses 646 Kris Gaj Research and teaching interests: cryptography network security computer arithmetic FPGA & ASIC design and testing Contact:
More informationCS 241 Data Organization using C
CS 241 Data Organization using C Fall 2018 Instructor Name: Dr. Marie Vasek Contact: Private message me on the course Piazza page. Office: Farris 2120 Office Hours: Tuesday 2-4pm and Thursday 9:30-11am
More informationMonday, March 27, 2017
Monday, March 27, 2017 Topics for today Indexed branching Implementation of switch statement Reusable subroutines Indexed branching It turns out that arrays are useful in translating other language constructs,
More informationCS232: Computer Architecture II
CS232: Computer Architecture II Spring 23 January 22, 23 21-23 Howard Huang 1 What is computer architecture about? Computer architecture is the study of building entire computer systems. Processor Memory
More informationMonday, January 27, 2014
Monday, January 27, 2014 Topics for today History of Computing (brief) Encoding data in binary Unsigned integers Signed integers Arithmetic operations and status bits Number conversion: binary to/from
More informationCSE 240 Introduction to Computer Architecture
What s All About?! Introduction to Computer Architecture The new CSE240: Not at 9am!!! New approach (bottom up) New textbook New instructor Well integrated into curriculum Cooler assignments (demo coming
More information(0) introduction to the course. how to learn a programming language. (0) course structure
topics: (0) introduction to the course (1) what is a computer? instructor: cis1.5 introduction to computing using c++ (robotics applications) spring 2008 lecture # I.1 introduction Prof Azhar, mqazhar@sci.brooklyn.cuny.edu
More informationDr. Chuck Cartledge. 7 Nov. 2017
5.2 5.3 5.4 Chap. 5 review Conclusion References CSC-205 Computer Organization Lecture #012 Sections 5.2 through 5.4, Machine instructions and assemblers Dr. Chuck Cartledge 7 Nov. 2017 1/17 Table of contents
More informationGrande Prairie Regional College
Grande Prairie Regional College Department of Office Administration COURSE OUTLINE OA 2280 M2, Microsoft Word 2007 Expert Level (3) (0-0-4) 60 hours Monday Friday 10 11:30 am. A313 Instructor Sharron Barr
More informationCS150 Introduction to Computer Science 1. What is CS150? Who Are We? CS150 is a programming course You will learn
CS 150 Introduction to Computer Science 1 Professor: Shereen Khoja shereen@pacificu.edu 1 What is CS150? CS150 is a programming course You will learn o The mechanics of writing programs in C++ o How to
More informationSchool of Computer Science
School of Computer Science Computer Science (CS) modules CS1002 Object-Oriented Programming Computer Science - 1000 & 2000 Level - 2016/7 - December 2016 SCOTCAT Credits: 20 SCQF Level 7 Semester: 1 3.00
More informationSyllabus of ENPM 691: Secure Programming in C
Syllabus of ENPM 691: Secure Programming in C Spring Semester 2018 Instructor: Dharmalingam Ganesan, PhD Contact: dganesan@umd.edu Class hours: Thursday 7:00 PM to 9:40 PM Class location: TBA Course Description:
More informationCampus Networking Workshop CIS 399. Dale Smith University of Oregon & NSRC
Campus Networking Workshop CIS 399 Dale Smith University of Oregon & NSRC dsmith@uoregon.edu Course Participants: Course Notes US Computer Science Students Undergraduate students from China Network and
More informationCS1 Lecture 2 Jan. 16, 2019
CS1 Lecture 2 Jan. 16, 2019 Contacting me/tas by email You may send questions/comments to me/tas by email. For discussion section issues, sent to TA and me For homework or other issues send to me (your
More informationCS 200: Computer Organization
CS 200: Computer Organization Spring 2017 Course Syllabus Northern Arizona University College of Engineering, Forestry, and Natural Sciences School of Informatics, Computing, and Cyber Systems Course Information
More informationPhD Candidacy Exam Overview
EDIC - Doctoral Program in Computer & Communication Sciences PhD Candidacy Exam Overview https://phd.epfl.ch/edic/candidacyexams Candidacy exam background The philosophy After your 1 st year of PhD you
More informationCOURSE SYLLABUS AND INSTRUCTOR PLAN
WACO, TEXAS COURSE SYLLABUS AND INSTRUCTOR PLAN INTRODUCTION TO COMPUTING LAB COSCL 1301.11 Jaylene Pipkin SPRING 2012 Course Description: Provides a survey of microcomputer usages and applications. Includes
More informationWilliam Paterson University of New Jersey Department of Computer Science College of Science and Health Course Outline
William Paterson University of New Jersey Department of Computer Science College of Science and Health Course Outline I. Course Title: CS 280 Computer and Assembler Language 3 credits II. III. IV. Course
More informationCourse Syllabus. Course Information
Course Syllabus Course Information Course: MIS 6V99 Special Topics Programming for Data Science Section: 5U1 Term: Summer 2017 Meets: Friday, 6:00 pm to 10:00 pm, JSOM 2.106 Note: Beginning Fall 2017,
More informationComputer Organization & Assembly Language Programming (CSE 2312)
Computer Organization & Assembly Language Programming (CSE 2312) Lecture 2 Taylor Johnson Summary from Last Time This course aims to answer the question: how do computers compute? Complex and fundamental
More informationCS 241 Data Organization. August 21, 2018
CS 241 Data Organization August 21, 2018 Contact Info Instructor: Dr. Marie Vasek Contact: Private message me on the course Piazza page. Office: Room 2120 of Farris Web site: www.cs.unm.edu/~vasek/cs241/
More informationBOSTON UNIVERSITY Metropolitan College MET CS342 Data Structures with Java Dr. V.Shtern (Fall 2011) Course Syllabus
BOSTON UNIVERSITY Metropolitan College MET CS342 Data Structures with Java Dr. V.Shtern (Fall 2011) Course Syllabus 1. Course Objectives Welcome to MET CS342 Data Structures with Java. The intent of this
More informationECE 646 Cryptography and Computer Network Security. Course web page: Kris Gaj Research and teaching interests: Contact: ECE web page Courses ECE 646
646 Cryptography and Computer Network Security Course web page: web page Courses 646 Kris Gaj Research and teaching interests: cryptography network security computer arithmetic FPGA & ASIC design and testing
More informationCS61C Machine Structures. Lecture 1 Introduction. 8/27/2006 John Wawrzynek (Warzneck)
CS61C Machine Structures Lecture 1 Introduction 8/27/2006 John Wawrzynek (Warzneck) (http://www.cs.berkeley.edu/~johnw/) http://www-inst.eecs.berkeley.edu/~cs61c/ CS 61C L01 Introduction (1) What are Machine
More informationReview: Performance Latency vs. Throughput. Time (seconds/program) is performance measure Instructions Clock cycles Seconds.
Performance 980 98 982 983 984 985 986 987 988 989 990 99 992 993 994 995 996 997 998 999 2000 7/4/20 CS 6C: Great Ideas in Computer Architecture (Machine Structures) Caches Instructor: Michael Greenbaum
More informationWednesday, September 21, 2016
Wednesday, September 21, 2016 Topics for today More high-level to translations Compilers and Assemblers How assemblers work Symbol tables ILC Pass 1 algorithm, Error checking Pass 2 Immediate mode and
More informationE40M. An Introduction to Making: What is EE?
E40M An Introduction to Making: What is EE? Jim Plummer Stanford University plummer@stanford.edu Chuan-Zheng Lee Stanford University czlee@stanford.edu Roger Howe Stanford University rthowe@stanford.edu
More informationSpring 2003 Instructor: Dr. Shahadat Hossain. Administrative Matters Course Information Introduction to Programming Techniques
1 CPSC2620 Advanced Programming Spring 2003 Instructor: Dr. Shahadat Hossain 2 Today s Agenda Administrative Matters Course Information Introduction to Programming Techniques 3 Course Assessment Lectures:
More informationSan José State University Department of Computer Science CS049J, Programming in Java, Section 2, Fall, 2016
Course and Contact Information San José State University Department of Computer Science CS049J, Programming in Java, Section 2, Fall, 2016 Instructor: Office Location: Fabio Di Troia DH282 Telephone: Email:
More informationMenu. Class 1: Introduction. Staff. Course Structure and Expectations. Contacting Us. Contacting You
Fall 2006 Class 1: Introduction CS333: Computer University of Virginia Computer Science Michele Co Menu Course Structure Course Goals First Assignment Course Admin (add class/change section) 2 Course Structure
More informationWednesday, September 13, Chapter 4
Wednesday, September 13, 2017 Topics for today Introduction to Computer Systems Static overview Operation Cycle Introduction to Pep/9 Features of the system Operational cycle Program trace Categories of
More informationIT 252 Computer Organization and Architecture. Introduction. Chia-Chi Teng
IT 252 Computer Organization and Architecture Introduction Chia-Chi Teng What is computer architecture about? Computer architecture is the study of building computer systems. IT 252 is roughly split into
More informationCompulsory course in Computer Science
Compulsory course in Computer Science University of Macau Faculty of Science and Technology Department of Computer and Information Science SFTW241 Programming Languages Architecture I Syllabus 2 nd Semester
More information378: Machine Organization and Assembly Language
378: Machine Organization and Assembly Language Spring 2010 Luis Ceze Slides adapted from: UIUC, Luis Ceze, Larry Snyder, Hal Perkins 1 What is computer architecture about? Computer architecture is the
More informationSan Jose State University College of Science Department of Computer Science CS151, Object-Oriented Design, Sections 1, 2, and 3, Spring 2018
San Jose State University College of Science Department of Computer Science CS151, Object-Oriented Design, Sections 1, 2, and 3, Spring 2018 Course and Contact Information Instructor: Suneuy Kim Office
More informationB. Subject-specific skills B1. Problem solving skills: Supply the student with the ability to solve different problems related to the topics
Zarqa University Faculty: Information Technology Department: Computer Science Course title: Programming LAB 1 (1501111) Instructor: Lecture s time: Semester: Office Hours: Course description: This introductory
More informationComputing and compilers
Computing and compilers Comp Sci 1570 to Outline 1 2 3 4 5 Evaluate the difference between hardware and software Find out about the various types of software Get a high level understanding of how program
More informationCOMP Analysis of Algorithms & Data Structures
COMP 3170 - Analysis of Algorithms & Data Structures Shahin Kamali Topic 1 - Introductions University of Manitoba Picture is from the cover of the textbook CLRS. COMP 3170 - Analysis of Algorithms & Data
More informationCOMP 117: Internet-scale Distributed Systems Lessons from the World Wide Web
COMP 117: Internet Scale Distributed Systems (Spring 2018) COMP 117: Internet-scale Distributed Systems Lessons from the World Wide Web Noah Mendelsohn Tufts University Email: noah@cs.tufts.edu Web: http://www.cs.tufts.edu/~noah
More informationCIS 3308 Web Application Programming Syllabus
CIS 3308 Web Application Programming Syllabus (Upper Level CS Elective) Course Description This course explores techniques that are used to design and implement web applications both server side and client
More informationCSE 114, Computer Science 1 Course Information. Spring 2017 Stony Brook University Instructor: Dr. Paul Fodor
CSE 114, Computer Science 1 Course Information Spring 2017 Stony Brook University Instructor: Dr. Paul Fodor http://www.cs.stonybrook.edu/~cse114 Course Description Procedural and object-oriented programming
More informationITE 115 Introduction to Computer Applications
Revised: Fall 2014 ITE 115 Introduction to Computer Applications COURSE OUTLINE Prerequisites: These are basic computer skills that are necessary to facilitate your successful completion in this course.
More informationESET 369 Embedded Systems Software, Fall 2017
ESET 369 Embedded Systems Software, Fall 2017 Syllabus Contact Information: Professor: Dr. Byul Hur Office: Fermier 008A Telephone: (979) 845-5195 FAX: E-mail: byulmail@tamu.edu Web: rftestgroup.tamu.edu
More informationTeam 1. Common Questions to all Teams. Team 2. Team 3. CO200-Computer Organization and Architecture - Assignment One
CO200-Computer Organization and Architecture - Assignment One Note: A team may contain not more than 2 members. Format the assignment solutions in a L A TEX document. E-mail the assignment solutions PDF
More informationCS4621/5621 Fall Computer Graphics Practicum Final Projects. Professor: Kavita Bala Instructor: Nicolas Savva
CS4621/5621 Fall 2015 Computer Graphics Practicum Final Projects Professor: Kavita Bala Instructor: Nicolas Savva Final Project Groups of 2 students Duration 1.5 months (~7 weeks) TA mentoring sessions
More informationMonday, April 9, 2018
Monday, April 9, 208 Topics for today Grammars and Languages (Chapter 7) Finite State Machines Semantic actions Code generation Overview Finite State Machines (see 7.2) If a language is regular (Type 3)
More informationCS 61C: Great Ideas in Computer Architecture RISC-V Instruction Formats
CS 61C: Great Ideas in Computer Architecture RISC-V Instruction Formats Instructors: Krste Asanović and Randy H. Katz http://inst.eecs.berkeley.edu/~cs61c/fa17 9/14/17 Fall 2017 - Lecture #7 1 Levels of
More information9/14/17. Levels of Representation/Interpretation. Big Idea: Stored-Program Computer
CS 61C: Great Ideas in Computer Architecture RISC-V Instruction Formats Instructors: Krste Asanović and Randy H. Katz http://inst.eecs.berkeley.edu/~cs61c/fa17 Fall 2017 - Lecture #7 1 Levels of Representation/Interpretation
More informationCS535: Interactive Computer Graphics
CS535: Interactive Computer Graphics Instructor: Daniel G. Aliaga (aliaga@cs.purdue.edu, www.cs.purdue.edu/homes/aliaga) Classroom: LWSN B134 Time: MWF @ 1:30-2:20pm Office hours: by appointment (LWSN
More informationCS 152 Computer Architecture and Engineering Lecture 1 Single Cycle Design
CS 152 Computer Architecture and Engineering Lecture 1 Single Cycle Design 2014-1-21 John Lazzaro (not a prof - John is always OK) TA: Eric Love www-inst.eecs.berkeley.edu/~cs152/ Play: 1 Today s lecture
More informationInf2C - Computer Systems Lecture 1 Course overview & the big picture
Inf2C - Computer Systems Lecture 1 Course overview & the big picture Boris Grot School of Informatics University of Edinburgh Practicalities Lectures: Tue 15:10 16:00 @ Appleton Tower, LT 2 Fri 15:10 16:00
More informationCS 3030 Scripting Languages Syllabus
General Information CS 3030 Scripting Languages Semester: Summer 2013 Textbook: Location: Instructor Info: Website: None. We will use freely available resources from the Internet. Online Ted Cowan tedcowan@weber.edu
More informationCSE 167: Introduction to Computer Graphics. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2016
CSE 167: Introduction to Computer Graphics Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2016 Today Course organization Course overview 2 Course Staff Instructor Jürgen Schulze,
More informationEECE 321: Computer Organization
EECE 321: Computer Organization Mohammad M. Mansour Dept. of Electrical and Compute Engineering American University of Beirut Lecture 1: Introduction Administrative Instructor Dr. Mohammad M. Mansour,
More informationMany ways to build logic out of MOSFETs
Many ways to build logic out of MOSFETs pass transistor logic (most similar to the first switch logic we saw) static CMOS logic (what we saw last time) dynamic CMOS logic Clock=0 precharges X through the
More informationSADDLEBACK COLLEGE BUSINESS SCIENCE DIVISION
Instructor: Carolyn Z. Gillay email: cgillay@saddleback.edu. SADDLEBACK COLLEGE BUSINESS SCIENCE DIVISION COURSE SYLLABUS CIMW 100B WEB DEVELOPMENT: HTML - ADVANCED Semester: Summer 2017 7/17/2017 to 8/12/2017
More informationCourse Outline. TERM EFFECTIVE: Spring 2016 CURRICULUM APPROVAL DATE: 10/12/2015
5055 Santa Teresa Blvd Gilroy, CA 95023 Course Outline COURSE: CSIS 28 DIVISION: 50 ALSO LISTED AS: TERM EFFECTIVE: Spring 2016 CURRICULUM APPROVAL DATE: 10/12/2015 SHORT TITLE: COMPUTER ARCHITECTURE LONG
More informationECE2049 E17 Lecture 4 MSP430 Architecture & Intro to Digital I/O
ECE2049-E17 Lecture 4 1 ECE2049 E17 Lecture 4 MSP430 Architecture & Intro to Digital I/O Administrivia Homework 1: Due today by 7pm o Either place in box in ECE office or give to me o Office hours tonight!
More informationSADDLEBACK COLLEGE BUSINESS SCIENCE DIVISION
Instructor: Carolyn Z. Gillay email: cgillay@saddleback.edu. SADDLEBACK COLLEGE BUSINESS SCIENCE DIVISION COURSE SYLLABUS CIMW 100B WEB DEVELOPMENT: HTML - ADVANCED Semester: Fall 2016 10/17/2016 to 12/18/2016
More informationMonday, March 6, We have seen how to translate void functions. What about functions that return a value such as
Monday, March 6, 2017 Topics for today C functions and Pep/9 subroutines Translating functions (c) Non-void functions (d) Recursive functions Reverse Engineering: Pep/9 to C C Functions and Pep/9 Subroutines
More informationComp 104: Operating Systems Concepts
Comp 104: Operating Systems Concepts Prof. Paul E. Dunne. Department of Computer Science, University of Liverpool. Comp 104: Operating Systems Concepts Introduction 1 2 Today Admin and module info Introduction
More informationComputers and programming languages introduction
Computers and programming languages introduction Eugeniy E. Mikhailov The College of William & Mary Lecture 01 Eugeniy Mikhailov (W&M) Practical Computing Lecture 01 1 / 19 Class goals and structure Primary
More informationSoftware Reliability and Reusability CS614
Software Reliability and Reusability CS614 Assiut University Faculty of Computers & Information Quality Assurance Unit Software Reliability and Reusability Course Specifications2011-2012 Relevant program
More informationCHEM 31A (90285): General Chemistry Fall 2013
CHEM 31A (90285): General Chemistry Fall 2013 I. Lecture Lecturer: Office: A237 Cook Email: Erik.Ruggles@uvm.edu Office Hours: M W F: 10:30 11:30 am W F: 1:00 3:30 pm T Th: 9:30 11:30 am or by appointment
More informationCS 378 (Spring 2003) Linux Kernel Programming. Yongguang Zhang. Copyright 2003, Yongguang Zhang
Department of Computer Sciences THE UNIVERSITY OF TEXAS AT AUSTIN CS 378 (Spring 2003) Linux Kernel Programming Yongguang Zhang (ygz@cs.utexas.edu) Copyright 2003, Yongguang Zhang Read Me First Everything
More informationECE 156A - Syllabus. Description
ECE 156A - Syllabus Lecture 0 ECE 156A 1 Description Introduction to HDL (Hardware Description Language) basic elements, HDL simulation concepts, HDL concurrent statements with examples and applications,
More informationComputer Science 210 Data Structures Siena College Fall Topic Notes: Complexity and Asymptotic Analysis
Computer Science 210 Data Structures Siena College Fall 2017 Topic Notes: Complexity and Asymptotic Analysis Consider the abstract data type, the Vector or ArrayList. This structure affords us the opportunity
More informationCSE 417 Practical Algorithms. (a.k.a. Algorithms & Computational Complexity)
CSE 417 Practical Algorithms (a.k.a. Algorithms & Computational Complexity) Outline for Today > Course Goals & Overview > Administrivia > Greedy Algorithms Why study algorithms? > Learn the history of
More informationChris Riesbeck, Fall Introduction to Computer Systems
Chris Riesbeck, Fall 2011 Introduction to Computer Systems Welcome to Intro. to Computer Systems Everything you need to know http://www.cs.northwestern.edu/academics/courses/213/ Instructor: Chris Riesbeck
More informationIntroduction to Programming System Design CSCI 455x (4 Units)
Introduction to Programming System Design CSCI 455x (4 Units) Description This course covers programming in Java and C++. Topics include review of basic programming concepts such as control structures,
More informationProcessor. Lecture #2 Number Rep & Intro to C classic components of all computers Control Datapath Memory Input Output
CS61C L2 Number Representation & Introduction to C (1) insteecsberkeleyedu/~cs61c CS61C : Machine Structures Lecture #2 Number Rep & Intro to C Scott Beamer Instructor 2007-06-26 Review Continued rapid
More informationCSE 504: Compiler Design
http://xkcd.com/303/ Compiler Design Course Organization CSE 504 1 / 20 CSE 504: Compiler Design http://www.cs.stonybrook.edu/~cse504/ Mon., Wed. 2:30pm 3:50pm Harriman Hall 116 C. R. Ramakrishnan e-mail:
More information