CSCI 232 Computer Architecture

Spring 2020

Updates 3/23/2020

 

Meeting Time/Place:           MF 3-3:50PM, Fitzelle 246

                                                W 3-4:40PM, Fitzelle 254

Prerequisites:                       CSCI 116

Office:                                    Fitzelle Hall 231

Phone:                                    436-3439

Email:                                     allisodl(at)oneonta.edu

Office Hours:                        MF 4pm, MWF 5pm

                                                Others by appointment (or just drop by)

 

 

Course Description (from the online catalog): 

Logic design of combinational and sequential digital circuits, the components of a digital computer system and the interconnection thereof, the coding and transfer of information in a digital computer system, and a laboratory on logic design and the use of a microcomputer trainer.

 

Course Description (the inside scoop):

This course will examine the design of computers, starting with simple transistors and gates, and working up to high level system design issues.

 

Course Goals: 

Most computer science courses assume that the hardware is a given and of interest only as a means for actually executing the algorithms studied theoretically in the courses.  This course actually investigates the hardware substrate that all algorithms run on, and examines the various possible designs for it and their resulting impact on programs and their execution.

 

Text and Software: 

The textbook is Digital Design and Computer Architecture: ARM Edition by Harris & Harris, 1st edition, published by Morgan Kaufmann, ISBN-13 978-0128000564.  We will be using the software package LogicWorks (available in the Math/CS/Stat lab) to do circuit design and simulation, and will be wiring circuits using chips and hardware also available in the Math/CS/Stat lab.  If you want to do your circuit simulations at home, LogicWorks is available from Addison-Wesley at a reasonable price.  We will be using Verilog to design and specify circuits and their behaviors, and then an Altera FPGA to implement those designs.  Our text also makes use of PCSPIM, a MIPS simulator, Xilinx WebPACK, and Synplify Pro, which we will try to have in the Math/CS/Stat lab.

 

Tentative Schedule:

 

 

 

 

 

Monday

Tuesday

Wednesday

Thursday

Friday

Jan 13-17

National Rubber Duckie Day

Last day to register

Dress Up Your Pet Day

 Classes begin

Add/drop begins

National Hat Day

Lab #1

National Nothing Day

Ditch New Year’s Resolutions Day

From Zero to One: read chapter 1

Jan 20-24

Penguin Awareness Day

Add/drop ends

Squirrel Appreciation Day

National Blonde Brownie Day

Lab #2

National Pie Day

Beer Can Appreciation Day

Combinational Logic: read chapter 2

Jan 27-31

Bubble Wrap Appreciation Day

Last day to add

National Kazoo Day

Data Privacy Day

National Puzzle Day

Lab #3

National Inane Answering Message Day

Backward Day

Feb 3-7

The Day the Music Died

Create a Vacuum Day

National Weatherman’s Day

Lab #4

Lame Duck Day

Wave All Your Fingers at Your Neighbor Day

Sequential  Logic: read chapter 3

Feb 10-14

Clean Out Your Computer Day

National Inventor Day

Make a Friend Day

TAP certification begins

National Lost Penny Day

Get a Different Name Day

Valentine’s Day

National Organ Donor Day

Digital Building Blocks: read chapter 5

Feb 17-21

Random Acts of Kindness Day

National Battery Day

National Chocolate Mint Day

Lab #5

Love Your Pet Day

Hoodie Hoo Day

Cherry Pie Day

Card Reading Day

Hardware Description Languages: read chapter 4

 Feb 24-28

Diploma application due

National Tortilla Chip Day

Mardi Gras

Ash Wednesday

Lab #6

No Brainer Day

Public Sleeping Day

EXAM 1

Mar 2-6

Summer registration begins

Old Stuff Day

If Pets Had Thumbs Day

Hug a GI Day

Lab #7

Interim progress reports due from faculty

Multiple Personality Day

College closes after last class

National Frozen Food Day

World Day of Prayer

Mar 9-13

BREAK

Panic Day

Daylight Saving Time Started Yesterday…Did you set Your Clock Forward?

BREAK

Middle Name Pride Day

Purim

BREAK

Johnny Appleseed Day

Worship of Tools Day

BREAK

Popcorn Lovers Day

BREAK

Blame Someone Else Day

Mar 16-20

Classes resume

Everything You Do Is Right Day

Corned Beef & Cabbage Day

St Patrick’s Day

Supreme Sacrifice Day

Lab #8

Poultry Day

Last day to drop

ET Abductions Day

Spring Equinox Architecture: read chapter 6

Mar 23-27

National Puppy Day

National Melba Toast Day

National Chocolate Covered Raisin Day

Feast of Annunciation Day

Waffle Day

Lab #9

Make Up Your Own Holiday Day

National “Joe” Day

Microarchitecture: read chapter 7

Mar 30-Apr  3

Fall registration begins

Take a Walk in the Park Day

Bunsen Burner Day

National Crayon Day

April Fool’s Day

International Fun at Work Day

Lab #10

National PeanutButter & Jelly Day

Don’t Go to Work Unless It’s Fun Day

Memory Systems: read chapter 8

Apr 6-10

Last day to make up an incomplete

New Beer’s Eve

No Housework Day

World Health Day

Passover begins at Sundown

Z

Lab #11

Name Yourself Day

Good Friday

National Siblings Day

EXAM 2

Apr 13-17

Dyngus DayNational Peach Cobbler Day

International Moment of Laughter Day

Income Taxes Due

That Sucks Day

oo Lover’s Day

Lab #12

Last day to withdraw

Passover ends

National Bean Counter Day

Bat Appreciation Day

National Cheeseball Day

I/O Systems: read chapter 9

Apr 20-24

Last day for faculty to turn in incomplete updates

Volunteer Recognition Day

Kindergarten Day

Administrative Professionals’ Day

Lab #13

Ramadan

National Zucchini Bread Day

Take Your Daughter to Work Day

Arbor Day

Apr 27-May 1

National Prime Rib Day

Morse Code Day

Last day of class

International Astronomy Day

STUDY DAY

National Shrimp Scampi Day

National Zipper Day

Exams start

(8:30 TR)

8-10:30am

(11:30TR)

11am-1:30pm

(2:30TR)

2-4:30pm

National Honesty Day

(8 MWF)

8-10:30am

(11 MWF)

11am-1:30pm

(2MWF)

2-4:30pm

CSCI 272

International Tuba Day

May 4-8

(9 MWF)

8-10:30am

(12 MWF)

11am – 1:30pm

CSCI 100

 

(3 MWF)

2-4:30pm

CSCI 232

National Candied Orange Peel Day

(10 TR)

8-10:30am

(1 TR) 11am-1:30pm

(4 TR)

2-4:30pm

Cinco de Mayo

National Teacher’s Day

(10 MWF)

8-10:30am

(1 MWF)

11am-1:30pm

CSCI 310

(4MW)

2-4:30pm

Exams End

No Diet Day

Beverage Day

National Tourism Day

No Socks Day

V-E Day

World Red Cross Day

https://suny.oneonta.edu/academics/college-calendar/spring-key-dates-deadlines

http://www.holidayinsights.com/moreholidays/

 

 

 

Attendance Policy: 

Attendance is STRONGLY encouraged.  Attendance will be taken at random class meetings.  All college policies regarding attendance will be followed.  You will be responsible for material covered in the lectures in addition to the material in the text.  In addition, we will be discussing the assignments in class as well as answering questions about the assigned material, so it is in your best interest to attend class as much as possible.

 

Collaboration Policy: 

Cheating or other academic dishonesty hurts others as well as yourself and will not be tolerated!  Since we have a limited number of Cadet trainers and Altera boards, labs will be done in teams of 2.  All work submitted on the exams should be yours and yours alone.  It IS acceptable to discuss the labs, homework, etc, among yourselves, AS LONG AS any homework or code you turn in you have written yourself!  You should also be able to answer any questions I have about your work—in other words, you should be able to explain the hardware designs you are using if I ask.  Plagiarism can get you in trouble in the “real world”, and it will get you in trouble in this class.  You should credit any code or designs that you did not create yourself, and you should provide references to algorithms and data structures you use.

 

Programming Style Guidelines: 

Since this is an upper division course, it is expected that any programs you write will follow good programming style conventions.  You should indent any code to reflect its internal structure.  You should use block comments to explain what your code is doing at a high level.  Each function should have a header that gives the function name, the inputs, the output(s), and lists any side effects, as well as providing a two or three sentence summary of what the function does.  In addition, your main file should have a block header similar to the following:

 

// CSCI 232 Computer Architecture Spring 2019

// Routines to simulate the COSMAC 1802 processor

// Author: Joe Student

// Date: 15 April 2019

//

// These routines handle the basic instructions of the

// COSMAC 1802 processor

 

Your header should include the course name and number, your name, the date, and a two or three sentence description of the purpose and function of the code.  You should also put header information in your LogicWorks schematics, and your Verilog code.  In LogicWorks and Verilog, you should have a block that lists the project number, name, and the names of everyone in your group. 

 

Lab Report Guidelines: 

For each of your Cadet labs you should first develop your circuit using LogicWorks.  After verifying functionality, you should then build your circuit on the Cadet trainer.  DOUBLE CHECK your wiring BEFORE applying any power!!!  IC’s quit working once you let the smoke out….  You should demonstrate to me that your circuit works as specified, and should turn in your drawings in LogicWorks.  For each schematic, you should add a box including your name, the date, the lab number, and the course.  For your Verilog projects, you should print out and turn in your code, and demonstrate it to me on an Altera board.  Be sure to include your name(s) in the comments of your code listings.

 

Assignment Turn-in Procedure:

Labs are due by next week’s lab.  You should turn in your LogicWorks drawings and simulations and your Verilog code, and should demonstrate to me that your design does what was assigned, all by the start of the next lab.

 

Email:

Any time you need to communicate with me about the course via email, you MUST put “CSCI 232” in the subject line.  Otherwise it will get lost and I won’t see it.

 

 

Grading and Other Administrivia:

Exams: There will be a two midterms and a final experience.  Each exam will contribute 25% while the final experience will contribute 5% towards the final grade.

Labs: There will be some number of labs up to 14, plus some number of homework assignments.  These will constitute 50% of your grade.

 

Grade Computation:

 

Weight

Tentative Date

Midterm Exam 1

25%

28 February

Midterm Exam 2

25%

10 April

Final Exam

5%

4 May, 2-4:30 pm

Labs, Homework, etc

50%

As shown

Total

105%/100%

 

 

 

Make-up Test and Late Assignment Policy: 

Late assignments will be assessed a 50% penalty for the first week they are late, and will not be accepted after that.  Assignments are considered due by 11:59PM on their due date.  All assignments must be turned in by the last day of classes even if that cuts short the second week for them to count toward the course grade.  You should plan to be present for all the tests and the final exam.  Any makeups will be allowed only for legitimate, school-approved excuses, and should be arranged with the instructor as soon as possible after you discover you can’t attend the exam (before the exam is given whenever possible).  In any case, all work must be completed by the last class, including any makeup exams.  Exams missed for unexcused absences, or exams not made up by the last day of classes will be recorded as a zero grade.

Labs are due by the next lab period.  For labs in which you are to demonstrate your circuits to me, you should do that by the day of the next lab to avoid a late penalty.

 

Additional resources:

For students wishing to explore further or to find answers to questions not covered in the text, there are several resources available.  The following books are worth investigating, among others:

Computer Architecture: A Quantitative Approach, Hennessy & Patterson

Computer Organization and Design: The Hardware/Software Interface, Patterson & Hennessy

 

Additional unique aspects of the course:

This course actually lets you get your hands on computer hardware and to build simple circuits that are used in actual computers.  This hands on experience helps solidify the theoretical material discussed in the lectures.

 

Emergency Evacuation:

The Evacuation Assembly Area for this course is 50 feet from the building.  In case a prolonged building evacuation is required, you will be directed to the building Evacuation Site.  The Evacuation Site for this class is the IRC Lobby.  In any case, if a building evacuation occurs, stay together as a class so that we can determine that everyone has made it safely from the building.  Evacuation is to occur any time the fire alarm sounds, an evacuation announcement is made, or a university official orders you to evacuate the building.  After the building has been evacuated, it is not to be re-entered until University Police gives permission.  For more information, consult http://www.oneonta.edu/security/documents/EmergencyEvacuationProcedures.pdf.

 

Required ADA Statement:

Students Diagnosed with a Disability—All individuals who are diagnosed with a disability are protected under the Americans with Disabilities Act, and Section 504 of the Rehabilitation Act of 1973. As such, you may be entitled to certain accommodations within this class. If you are diagnosed with a disability, please make an appointment to meet with Accessibility Resources, 133 Milne Library, ext. 2137. All students with the necessary supporting documentation will be provided appropriate accommodations as determined by the Accessibility Resources Office. It is your responsibility to contact Accessibility Resources and concurrently supply me with your accommodation plan, which will inform me exactly what accommodations you are entitled to. You will only receive accommodations once you provide me with an Accessibility Resources accommodation plan. Any previously recorded grades will not be changed.

(Note: I have had cases where SDS told me they were no longer going to provide services that a student was entitled to, so be proactive and get all the paperwork done ASAP so that we can fight for your accommodations if we need to.)