33
CIS360 1 CSE 360: Introduction to Computer Systems Course Notes Wayne Heym ([email protected]) http://www.cse.ohio-state.edu/~heym Copyright © 1998-2005 by Rick Parent, Todd Whittaker, Bettina Bair, Pete Ware, Wayne Heym

CIS3601 CSE 360: Introduction to Computer Systems Course Notes Wayne Heym ([email protected]) heym Copyright © 1998-2005 by

Embed Size (px)

Citation preview

Page 1: CIS3601 CSE 360: Introduction to Computer Systems Course Notes Wayne Heym (w.heym@ieee.org) heym Copyright © 1998-2005 by

CIS360 1

CSE 360: Introduction to Computer Systems

Course Notes

Wayne Heym ([email protected]) http://www.cse.ohio-state.edu/~heym

Copyright © 1998-2005 by Rick Parent, Todd Whittaker, Bettina Bair, Pete Ware, Wayne Heym

Page 2: CIS3601 CSE 360: Introduction to Computer Systems Course Notes Wayne Heym (w.heym@ieee.org) heym Copyright © 1998-2005 by

CIS360 2

Section Details

MTWF 9:30 BE 0198 Rick Parent ([email protected]) Homepage:

– http://www.cse.ohio-state.edu/~parent

Office: Dreese Labs 787 Hours: MWF 1:30 (tentative)

– or by appointment

Phone: 292-0055

 

Page 3: CIS3601 CSE 360: Introduction to Computer Systems Course Notes Wayne Heym (w.heym@ieee.org) heym Copyright © 1998-2005 by

CIS360 5

Topics of DiscussionTopics of Discussion Course description Required texts Policies Syllabus Expectations

Page 4: CIS3601 CSE 360: Introduction to Computer Systems Course Notes Wayne Heym (w.heym@ieee.org) heym Copyright © 1998-2005 by

CIS360 4

Description:

Introduction to computer architecture at the machine language and assembler language level; assembler language programming and lab.

Prerequisites: CSE 214 or 222.01 or 222.02

Page 5: CIS3601 CSE 360: Introduction to Computer Systems Course Notes Wayne Heym (w.heym@ieee.org) heym Copyright © 1998-2005 by

CIS360 5

Text:

1. Computer Systems: Architecture, Organization, and Programming, Arthur B. Maccabe, Irwin, 1993.

2. CSE 360 Course Packet -- You will need the Packet to do course assignments.

Page 6: CIS3601 CSE 360: Introduction to Computer Systems Course Notes Wayne Heym (w.heym@ieee.org) heym Copyright © 1998-2005 by

CIS360 6

Grading Policy: An assigned grader will grade all homeworks

and labs – your lecturer will grade the midterm and final.

Missed assignments or tests without prior approval will receive a grade of zero.

Reasonable excuses must be given in writing to me one week prior to the due date or test date, at which time the circumstances will be evaluated, and approval granted or rejected.

No late homeworks or labs will be accepted. Exams are closed book, closed notes, and cover

all of the material up to that point.

Page 7: CIS3601 CSE 360: Introduction to Computer Systems Course Notes Wayne Heym (w.heym@ieee.org) heym Copyright © 1998-2005 by

CIS360 7

Grading Weights:

Homeworks (6) 25% as assigned

Labs (3) 25% as assigned

Midterm 20% around the 7th week

Final 30%as indicated in master schedule

Grading Scale - to be determined

Page 8: CIS3601 CSE 360: Introduction to Computer Systems Course Notes Wayne Heym (w.heym@ieee.org) heym Copyright © 1998-2005 by

CIS360 8

Students with Disabilities

If you need an accommodation based on the impact of a disability, please contact me to arrange an appointment as soon as possible.

Office for Disability Services – verifies the need for accommodations– Helps develop accommodation strategies.

If you have not previously contacted the Office for Disability Services, I encourage you to do so.

Page 9: CIS3601 CSE 360: Introduction to Computer Systems Course Notes Wayne Heym (w.heym@ieee.org) heym Copyright © 1998-2005 by

CIS360 9

Academic Misconduct

Academic misconduct is defined as any activity which tends to compromise the academic integrity of the institution, or subvert the educational process.

University policy requires that all cases of suspected academic misconduct be submitted to the Committee for Academic Misconduct for a hearing and evaluation. – Any academic misconduct will be dealt with

via the appropriate University authorities.

Page 10: CIS3601 CSE 360: Introduction to Computer Systems Course Notes Wayne Heym (w.heym@ieee.org) heym Copyright © 1998-2005 by

CIS360 10

Academic Misconduct

Homework, lab assignments, and exams are to be your own work.

High-level discussion of assignments is encouraged, but the more specific your discussion, the closer you come to cheating. – The policy on collaboration with others is

fairly liberal -- but please don't be tempted to test its limits.

Page 11: CIS3601 CSE 360: Introduction to Computer Systems Course Notes Wayne Heym (w.heym@ieee.org) heym Copyright © 1998-2005 by

CIS360 11

Academic Misconduct

You may not write or otherwise record any part of your solution to an assignment while someone is helping you.

You may not take a physical or electronic copy of any part of a solution to an assignment from anyone.

You may not give a physical or electronic copy of any part of a solution to an assignment to anyone.

Page 12: CIS3601 CSE 360: Introduction to Computer Systems Course Notes Wayne Heym (w.heym@ieee.org) heym Copyright © 1998-2005 by

CIS360 12

Academic Misconduct You are encouraged to talk with others

(especially others in the class) about the design, logic, and implementation of a program. – do not give anyone or take from anyone

written or recorded material– write up your own solution without assistance.

Professional ethics: – You may not turn in an assignment solution

from a previous quarter's offering of the course

Page 13: CIS3601 CSE 360: Introduction to Computer Systems Course Notes Wayne Heym (w.heym@ieee.org) heym Copyright © 1998-2005 by

CIS360 13

Expectations

Read your e-mail Read, reply to the class Newsgroup Attend class Complete homeworks and labs on time Read the assigned pages from the text

Page 14: CIS3601 CSE 360: Introduction to Computer Systems Course Notes Wayne Heym (w.heym@ieee.org) heym Copyright © 1998-2005 by

CIS360 14

Can I change my section?

Not until Brutus updates – at the end of the first week– only if there are seats available.

Priority will be given– CSE Majors that are Graduating Seniors– CSE Majors– People who attend class the first week

Page 15: CIS3601 CSE 360: Introduction to Computer Systems Course Notes Wayne Heym (w.heym@ieee.org) heym Copyright © 1998-2005 by

CIS360 15

Can I work on labs from home?

Yes, perhaps you can, but on your own initiative, without special assistance from your instructor or grader.

Theoretically, the assembler used in this class is one that can be downloaded for free from the Internet.

Don’t ask me how to find or use these programs.

You will still have to use the stdsun.cse.ohio-state.edu submit program to turn in your assignments.

Page 16: CIS3601 CSE 360: Introduction to Computer Systems Course Notes Wayne Heym (w.heym@ieee.org) heym Copyright © 1998-2005 by

CIS360 16

Working from home

Programs supporting the secure shell (ssh) and file transfer (ftp) protocols can be especially useful in this regard.

Your computer account for this class is on stdsun.cse.ohio-state.edu.

Information about remote usage of the cse network may be found at – www.cse.ohio-state.edu/help/uguide/

node159.html#sec:remote_usage

Page 17: CIS3601 CSE 360: Introduction to Computer Systems Course Notes Wayne Heym (w.heym@ieee.org) heym Copyright © 1998-2005 by

CIS360 17

Who do I approach if I have a problem with grading?

For labs and homework, email your grader.

For exams, email (or see) me– Wayne Heym, [email protected]

Page 18: CIS3601 CSE 360: Introduction to Computer Systems Course Notes Wayne Heym (w.heym@ieee.org) heym Copyright © 1998-2005 by

CIS360 18

The Class Newsgroup

Server: news.cse.ohio-state.edu   Group: cse.course.cse360 It’s a place for students to discuss

issues related to course work. Post any questions you might have. Use discretion when making a posting. Look out for important announcements. Instructors/Graders answer questions

whenever they can.

Page 19: CIS3601 CSE 360: Introduction to Computer Systems Course Notes Wayne Heym (w.heym@ieee.org) heym Copyright © 1998-2005 by

CIS360 19

Course Objectives Principles of Computer Organization and

Architecture– Basic Machine Representation of Signed

Integers, Character Strings, Arrays, Stacks, Records, Linked Lists;

Assembly Language Programming. – Fundamentals of Computer Instruction Set

Architectures; – Low Level Algorithms for Data Manipulation and

Conversion and Parameter Passing

Page 20: CIS3601 CSE 360: Introduction to Computer Systems Course Notes Wayne Heym (w.heym@ieee.org) heym Copyright © 1998-2005 by

CIS360 20

Course Objectives Understanding the architecture (how the

computer executes assembly language instructions) is the more important aspect of a course at this level.

The fundamental concept to understand is that everything in the computer is represented by ones and zeros (by electric current flowing or not flowing at a specific place, or by something being magnetized one direction or the other, etc.).

Page 21: CIS3601 CSE 360: Introduction to Computer Systems Course Notes Wayne Heym (w.heym@ieee.org) heym Copyright © 1998-2005 by

CIS360 21

Course Objectives At the lowest level, this course will

cover various binary formats of assembly language instructions and various ways in which data can be represented using ones and zeros and how these can be organized into a program.

At high levels, assembly language programming techniques will be studied and a specific assembly language will be used to illustrate these techniques.

Page 22: CIS3601 CSE 360: Introduction to Computer Systems Course Notes Wayne Heym (w.heym@ieee.org) heym Copyright © 1998-2005 by

CIS360 22

Homework #0-0

This homework is designed to help you to get acquainted with this course, and to get started. 

Surf to my webpage and find the following: – Office Location– Office Hours– Email Address– Course Overview– Course Schedule– Date/Time of the midterm and final

examination

Page 23: CIS3601 CSE 360: Introduction to Computer Systems Course Notes Wayne Heym (w.heym@ieee.org) heym Copyright © 1998-2005 by

CIS360 23

Homework #0-1

Purchase the textbook written by Maccabe.

Find the reading assignment for the second class-meeting in the CSE 360 Course Schedule, and read the assigned material. 

Pledge to do the reading assignment before each class meeting.

Page 24: CIS3601 CSE 360: Introduction to Computer Systems Course Notes Wayne Heym (w.heym@ieee.org) heym Copyright © 1998-2005 by

CIS360 24

Homework #0-10

Login to your CS unix account using the user name provided by your instructor. 

The domain name of the machine you login to is stdsun.cse.ohio-state.edu. 

Your initial password is the last four digits of your social security number followed by your first and last initials.  – For example, Luke Skywalker, whose social

security number is 123-45-6789, has a password of 6789ls.

Page 25: CIS3601 CSE 360: Introduction to Computer Systems Course Notes Wayne Heym (w.heym@ieee.org) heym Copyright © 1998-2005 by

CIS360 25

Homework #0-11

Find the class newsgroup– news://news.cse.ohio-state.edu/

cse.course.cse360 Find and read the story of Mel, A Real

Programmer, and Real Programmers Don’t Write Specs– Are you a real programmer? Do you want

to be? Pledge to read the class newsgroup

each day.

Page 26: CIS3601 CSE 360: Introduction to Computer Systems Course Notes Wayne Heym (w.heym@ieee.org) heym Copyright © 1998-2005 by

CIS360 26

Homework #0-100

Look over the Course Packet – It contains a wealth of information crucial

to pursuing this course of study, including in-class exercises, and the overhead transparency slides.

Plan to bring the Course Packet to each class meeting after today.

Page 27: CIS3601 CSE 360: Introduction to Computer Systems Course Notes Wayne Heym (w.heym@ieee.org) heym Copyright © 1998-2005 by

CIS360 27

Homework #0-101 Find answers to the following questions.

– If you fail to electronically submit a homework or laboratory assignment by the due date/time Will you later be able to receive any credit for that

assignment?

– Suppose you have electronically submitted on time, but, later, you electronically submit again, but after the due date/time. Will you receive any credit for that assignment?

– Assignments are acceptable only as plain text files; be sure you know what a plain text file is.

– Where can you find Homework #1 and later assignments, as they become available?

Page 28: CIS3601 CSE 360: Introduction to Computer Systems Course Notes Wayne Heym (w.heym@ieee.org) heym Copyright © 1998-2005 by

CIS360 28

Homework #110

In the Course Packet, read the section of the Syllabus on “Academic Misconduct.”

Page 29: CIS3601 CSE 360: Introduction to Computer Systems Course Notes Wayne Heym (w.heym@ieee.org) heym Copyright © 1998-2005 by

CIS360 29

Make a Table on an Index Card

Show Different Representations of Numeric Values.  – Column Headings Should be:

Decimal Octal Hexadecimal Binary

Page 30: CIS3601 CSE 360: Introduction to Computer Systems Course Notes Wayne Heym (w.heym@ieee.org) heym Copyright © 1998-2005 by

CIS360 30

One Row for Each Numeric Value. 

Show, in Increasing Order, – Representations for 0, 1, 2, 3, 4, … 20– Then, 25, 26, … 216

– Finally 220, 230, 231, 232

Page 31: CIS3601 CSE 360: Introduction to Computer Systems Course Notes Wayne Heym (w.heym@ieee.org) heym Copyright © 1998-2005 by

CIS360 31

For Example,Decimal Octal Hex Binary Note Roman Nat’l

Lang0 0 0 0     zero

1 1 1 1 2 0 I one

2 2 2 10 2 1 II two

And so on.

           

20 24 14 10100   XXIV Twenty

32 40 20 100000 2 5 XXXII ..

And so on.

      ..    

        2 16    

        2 20    

        2 30    

        2 31    

        2 32    

Page 32: CIS3601 CSE 360: Introduction to Computer Systems Course Notes Wayne Heym (w.heym@ieee.org) heym Copyright © 1998-2005 by

CIS360 32

Information Representation 1 Positional Number Systems: position of

character in string indicates a power of the base (radix). Common bases: 2, 8, 10, 16. (What base are we using to express the names of these bases?)– Base ten (decimal): digits 0, 1, 2, 3, 4, 5, 6, 7, 8,

9 form the alphabet of the decimal system. E.g., 31610 =

– Base eight (octal): digits 0, 1, 2, 3, 4, 5, 6, 7 form the alphabet.

E.g., 4748 =

Page 33: CIS3601 CSE 360: Introduction to Computer Systems Course Notes Wayne Heym (w.heym@ieee.org) heym Copyright © 1998-2005 by

CIS360 33

Information Representation 2

– Base 16 (hexadecimal): digits 0-9 and A-F. E.g., 13C16 =

– Base 2 (binary): digits (called “bits”) 0, 1 form the alphabet.

E.g., 100110 =

– In general, radix r representations use the first r chars in {0…9, A...Z} and have the form dn-1dn-2…d1d0. Summing dn-1rn-1 + dn-

2rn-2 + … + d0r0 will convert to base 10. Why to base 10?