CSCE 230: Computer Organization

 

Spring 2014

MWF 2:30pm – 3:20pm, AVH 106

Recitation: Wed/Th 3:30pm – 4:20pm, AVH 19

 

Course Description

(ACE 8) [ES] [IS] 230. Computer Organization (3 cr) Lec 3, rct 1. Introduction to the organization and structure of computer systems. Topics include: Boolean Logic, Digital Arithmetic, Processor Organization, Machine Language Programming, Input/Output, Memory Organization, System Support Software, Communication, and Ethics.

 

 

Instructor

Dr. Charles Riedesel, 259 Avery

Tel: (402) 472-3486,

E-mail chuckr@unl.edu

Office Hours: see http://cse.unl.edu/~riedesel (follow link to appointments)

 

 

TAs

Yaoxin Liang (230L Lab, and project grading help)

Email: lastingliang@gmail.com

Office: 114AB, Schorr Center

Avery Hall 13A (SRC)
Office Hours: Mo 1:00 – 2:00pm, We 11:00 – 12:00 noon

 

Anish Timsina (230 Reci and grading help)

Email: timsina.anish@gmail.com

Avery Hall 13A (SRC)
Office Hours: TBT

 

Zachary Sims (230L Lab and reci help, Grader)

Email: simzay@hotmail.com


Avery Hall 13A (SRC)


Office Hours: MoWeFr 9:20 – 10:20am

 

Jacob Armstrong (230L Lab and reci help, Grader)


Email: splizes@gmail.com


Avery Hall 13A (SRC)


Office Hours: Th 2:30 – 3:30pm

                       Fr 1:30 – 2:30pm

 

 

 

Website

http://cse.unl.edu/~riedesel/pub/cse230

 

 

http://piazza.com

 

 

Prerequisites

Grade of ÒPÓ or ÒCÓ or better in any ÒflavorÓ of CSCE 155, or detailed knowledge of a high-level programming language; parallel CSCE 230L.

ACE SLO 8 is met only if CSCE 230 and, either CSCE 486 or CSCE 487 are completed.

 

 

Prerequisites by topic

Mastery of: mathematical problem solving skills, mathematical maturity and competence to the level of introductory calculus.

Familiarity with: programming, logarithms, integer and floating point numbers.

Exposure to: recursion, operating systems services.

 

 

Required Textbook

Computer Organization and Embedded Systems, 6th edition, by C. Hamacher, Z. Vranesic, S. Zaky, and N. Manjikian, McGraw Hill, 2011. ISBN: 978- 0073380650.


Important: The earlier editions exclude a lot of the material that will be used in the class hence be sure to get the 6th edition. Publisher's information page for the textbook, includes only basic information.

 

 

Course Objectives

 

Mastery of: Boolean algebra, logic equations, binary numbers (including negatives), fixed-point binary arithmetic, hexadecimal notation, logarithms, exponential numbers.

Mastery of: I/O devices, processor organization, instruction set architecture (with hands-on experience in micro-processor design and implementation).

Familiarity with: logic gates and diagrams, floating point arithmetic, memory devices and hierarchies, micro-operations & micro-architectures.

Familiarity with: assembler language principles, flow of control, stacks, subroutines, assemblers, linkers, loaders, the syntax & semantics of short assembler programs.

 

 

Course Goals

How does a modern digital computer interpret programs written in a high-level programming language into the streams of electronic signals that actually do the thinking, the arithmetic, the keeping track of data, the sequencing of actions, the input/output? What is the hardware-software interface? What system design considerations go into defining and designing it? In this course you will gain an understanding of the interface by first writing programs in a low-level assembly language that is close to the machine language, then develop the logic design of a workable processor and all its components. In the process you will gain practical experience with computer aided design tools.

 

As a core course for both computer science and computer engineering majors, this course also fulfills one of the three required credit hours for ACE Student Learning Outcome (SLO) #8 on ethics, civics, stewardship, and their importance on society. The course goals related to ACE compliance appear at the end of this syllabus. Students may complete the remaining two credit hours required for ACE SLO #8 by completing CSCE486 Computer Science Professional Development or CSCE488 Computer Engineering Professional Development, or may fulfill the requirement by completing any course providing three credit hours applicable to ACE SLO #8.

 

 

Topics Covered

 

 

 

1.     Arithmetic and Logic Level:

    1. Boolean algebra, truth tables, logic equations, logic gates, combinational logic, sequential logic & memory devices, clocks, waveform diagrams,
    2. Signed and unsigned binary numbers, floating point numbers, BCD, Hexadecimal, ASCII,
    3. Signed and unsigned fixed-point arithmetic, floating-point arithmetic, ALU structures.

2.     System Level Organization: CPU, memory systems (main memory, cache, virtual memory), storage technologies, I/O devices & processes (programmed, DMA, channel), busses.

3.     Micro-Architecture Level: data paths and components, micro-operations, memory interfacing, the fetch/execute cycle, processor control & sequencing, interrupts, rudimentary pipelining.

4.     Instruction Set Architecture Level: instruction types and formats, opcodes, operands, immediate values, addressing modes, flow of control, branching and procedure calls.

5.     Assembler Language Level: syntax, directives vs. instructions, assemblers, linkers, loaders, semantics of simple programs, stack management, procedure calls, interrupt handling.

 

 

Policies

Late Work: All work must be completed when due and all tests/quizzes must be taken when given. Exceptions must be arranged in advance.

Attendance: Attendance will be taken each class period and is factored into the grade.  Excused absences may be possible for legitimate reasons.

Academic Integrity: Cheating is a very serious offense and the CSE Department has laid down strict guidelines for dealing with this problem. The penalty for cheating may include an automatic F grade for the course and expulsion from the program. The Department requires me to report every offense to the Chair for further consideration.

 

 

Grading

You will receive separate grades for the lecture (230) and the lab (230L) courses. The grading policies for 230L will be announced in the lab. The grade for the lecture course is apportioned as follows:

 

(20%) Homework: Recognizing that peer study is an effective learning tool, you are encouraged to work in groups to discuss the homework but be sure to write your own solutions and indicate whom you worked with. The ability to solve homework problems will pay off in other components of the course grade. Some assignments given in the Recitation may also count as homework. On average you can expect homework to be assigned every other week and they will be due at the beginning of class in one week. One of these homework assignments will be extensively on analysis of real-life ethical dilemmas, in compliance with ACE outcome #8. Another homework assignment involves an individual oral presentation on a topic dealing with broad historical and societal issues related to the computer technology. This is also in compliance with ACE outcome #8.

 

(20%) Group Project: Completed in groups, the project will involve the design, implementation, and testing of a processor implementing a subset of the instructions found in modern processors. You will be asked to complete several component parts before integrating them into your final design. The project provides an excellent opportunity to put into practice what you will learn in this course and the associated 230L lab. Each group will be asked to make a written and oral report of the work done for the project. The technical report must address societal impact of the design, and the process of writing the technical report and project design must adhere to professional ethical codes (e.g., IEEE standards) in terms of correct credit acknowledgements, proper citations of previous designs and algorithms, and responsible team management and evaluation. These components are in compliance with ACE outcome #8.

 

(20%) Tests: These will be generally aligned with chapters of the textbook and announced at least a week in advance. Tests for some chapters may be combined or included in the final examination to save class time.

 

(5%) Quizzes: These very short pop quizzes are intended to provide feedback to me (and you!) about how well you are understanding the material being discussed in the class. If you consistently perform poorly in these, I expect you to seek extra help from me or the TAs.

 

(25%) Final exam: This will be a cumulative exam in two parts. The first part (5%) consists of Progress Assessment Tests (PATs) that will consist of about 30 multiple choice questions. The PAT can be taken unproctored online at the end of the semester. The second part (20%) will be given during the scheduled time for this course. The scope will be announced during the last week of classes.

 

(10%) Attendance and Participation:  You may earn credit for Effort (seeking help, attending recitations, completing all homework, doing well in pop quizzes), Participation (attending lectures, asking good questions in class), and Altruism (helping others in recitation or by posting responses to questions through Piazza; bringing to my attention good websites, animations, etc. that would enhance the classroom experience for this course).

 

Below is the grade distribution for those who like tables:

 

 

No.

 

Description

Percentage

1

Individual

Homework

20%

2

Team

Group Project

20%

3

Individual

Tests

20%

4

Individual

Attendance and Participation

10%

5

Individual

Quizzes

5%

6

Individual

Final (PAT + Regular)

25%

 

 

 

 

 

Final grades will be assigned based on the following cutoff percentages:

Grade

A+

A

A-

B+

B

B-

C+

C

C-

D

F

Score

97

93

90

87

83

80

77

73

67

60

<60

 

Academic Integrity

 

All students are expected to adhere to the policies stated in http://cse.unl.edu/ugrad/academic_integrity.php

 

 

Students with Disabilities

Students with disabilities are encouraged to contact the instructor for a confidential discussion of their individual needs for academic accommodation. It is the policy of the University of Nebraska-Lincoln to provide flexible and individualized accommodation to students with documented disabilities that may affect their ability to fully participate in course activities or to meet course requirements. To receive accommodation services, students must be registered with the Services for Students with Disabilities (SSD) office, 132 Canfield Administration, 472-3787 voice or TTY

 

 

ACE Compliance

This course includes material to help satisfy ACE Student Learning Outcome (SLO) #8 on ethics, civics, stewardship, and their importance on society. Aspects of these topics are woven into (a) a homework assignment requiring analysis of real-life ethical dilemmas (b) the technical report of the group course project on the design and implementation of a central processing unit, and practice of the code of conducts (civics) in teamwork and research-and-development of project solution, and (c) an individual oral presentation on a topic dealing with broad historical and societal issues related to the computer technology, providing stewardship training regarding responsibilities as an engineer. These topics are as important as the technical material you learn in the course. As a practicing computer scientist or computer engineer you will need to master both technical approaches and an understanding of your responsibilities to society in using those approaches (stewardship). As part of the overall course grade, you will be assessed on your participation in discussions, your project report demonstrating best practices in communication and professional ethics, your code of conduct (civics) in designing solutions and in working with your peers and superiors, and stewardship.

 

 

 

 

 

This syllabus may be updated and expanded as the semester progresses.