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 |
|
|||||||||||||||||||||||||||||||
|
|
|
||||||||||||||||||||||||||||||
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:
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: |
|
||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||
|
|
|
||||||||||||||||||||||||||||||
|
Final
grades will be assigned based on the following cutoff percentages:
|
|||||||||||||||||||||||||||||||
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.