Notes
CISC 3310
CISC 7440
CS 8400 & Psych 87100

  

CISC 3310 - Principles of Computer Architecture

M 06:30-10:00 PM
Room 130F (Field Building)
Fall   2018

INSTRUCTOR OFFICE AND COMMUNICATION INFORMATION:

Office: 541 NE
Office Hours: TBD

1. E-mail related to this course should be sent only to:
mailto:raphan-3310@sci.brooklyn.cuny.edu
2. E-mail sent to any other address will be lost and you will
not receive a response.


IMPORTANT ADMINISTRATIVE INFORMATION

1. Before classes begin, please go to the Front Desk of the Web Building
and obtain the Login Account Information for the Linux Machines that
you will be using

2. All students who have had or have been given credit for CISC 3305 [27] or
CISC 3315 [28] are not eligible to take this course as specified in the course
description. A communication from the Chairman of the CIS Department states that:


"Students who have been given credit for CISC 3305 by virtue of transfer credit must be told to drop the course."

3. Establish a DropBox Account and Link it to my address.

    This way, when you place assignments in your Dropbox  folder , I will be able     to see them.

4. Lecture notes have been placed  in the Notes section of the web site. The access information for these Notes will be sent to you by email.

5. You are required to do the laboratory work in class after lecture.
 

NOTEWORTHY DATES:

Monday, September 3, 2018 - College Closed for Labor Day Holiday
Wed, September 5, 2018 - Following a Monday Schedule, Class will be held
Monday, September 10, 2018 - College Closed
Monday, September 24, 2018 - Class will NOT meet
Monday, October 1, 2018 - Class will NOT meet

Midterm Exam- Monday, October 29, 2018, 6:30-8:30 P.M.
Final Exam -  Monday, December 17, 2018, 6:00-8:00 P.M.


COURSE DESCRIPTION

Introduction to digital logic, number Representations, Boolean algebra and combinational logic, data representation and transfer, digital arithmetic. The design of basic digital circuits such as encoders, decoders, multiplexers, and demultiplexers will be discussed. There will be an introduction to logic design software as a laboratory tool for design and implementation of logic circuits. There will also be an introduction to computer design and the fundamental components of a computer. This will included ALU and memory reference instructions, flow control, subroutine linkage, arrays and structures, memory and I/O systems. There will be a discussion of the relationship between software and architecture. There  will be an introduction to assembly language and how assembly code can be developed to interact with higher level languages within an integrated development environment (IDE). Not open to students who are enrolled in or have completed Computer and Information Science 3305 [27] or 3315 [28].)

 Prerequisite: Computer and Information Science 1110 [1.5] or 1180 [2.80]; and 2210 [11].

REQUIRED TEXTBOOK

 
Logic and Computer Design Fundamentals, 4th Edition

M. Morris Mano, Charles R. Kime
ISBN: 0-13-198926-X
© 2008


GRADING

There will be a Midterm and Final.
They will be weighted as 60% and 40%, whichever is in the students favor.


SYLLABUS
Week
Book Sections Topic
Laboratory Exercises
1
1-1 to 1-7
2.1
Digital Systems
Logic Gates
Install Logisim on your computer
Familiarize yourself with Logisim
Simulate AND, OR, NOT gates
Create Logisim Projects
Do (pp 20-28) 1-3, 1-6, 1-7, 1-8,1-9

(HW) Do problems (pp 31-34)
1-3, 1-4, 1-6, 1-7, 1-12, 1-13, 1-22, 1-23

2
2-2 to 2-5
2-8 to 2-9

Boolean Algebra
Sum of products
Karnaugh Maps
Simulate with Logisim Examples in text
(pp 48-69) 2-3, 2-4, 2-5, 2-6, 2-7, 2-8, 2-9, 2-13, and gates in Figs. 2-22, 2-23, 2-24

(HW) Do problems (pp 91-96) 2-1, 2-2, 2-3, 2-5, 2-8, 2-11, 2-13, 2-23
3
3-1 tthru 3-6
Combinationa Logic Design, Rudimentary Logic Functions, Value Fixing, Transferring
Using Logisim, simulate examples in text (pp97-118) 3-1, 3-2, 3-3, 3-4, 3-7, 3-8.

(HW) Do problems (pp. 140-148) 3-1, 3-8, 3-20, 3-21
4
3.-7 thru 3-9 Enabling  Decoding, Encoding,
Multiplexing,Selecting
Simulate Examples in Text (pp 119-139) 3-9, 3-10, 3-13, 3-14,3-15 with Logisim

(HW)
Do problems (pp 140-148) 3-28, 3-29, 3-37, 3-39 (Error in book- should read multiplexer, not decoder), 3-43, 3-44
5
4-1 thru 4-5,
5-1 thru 5-3
Adding, Subtracting , Complements, Incrementing, Decrementing, Sequential Circuits.Latches, Flip-Flops
With Logisim, simulate examples in text  Fig. 4-3, Fig. 4-5, Ex. 4., Implement R-S, J-K ,
D  Flip Flop, and T Flip Flop.
6
8-1 thru 8-
Notes on memory organization
memory Basics, RAM and ROM organization
Use Logisim to simulate Fig. 5-11, Fig 5-12
Build a 3-bit
4 word Memory
Change the 
design to have a 3 bit 16    word memory, Change the design to build a 8-bit 4 word memory
Design and Simulate a 3-bit counter with J-K Flip Flops
7
Midterm
Covering Labs and Homeworks for Lectures 1-6

8
Lecture 7 on line Basic organization of Stored Program  Computer Inter-Register Transfers, MUX, DeMUX and selects for   Instruction Formats, Addressing Modes, Big & Little Endian Formats
Use Logisim to implement for 4 inter register transfers

for Data shown in slide 8 of  Lecture 7 on line

9
Lecture 8 on Line
CPU organization of 80x86 computers   Registers, Memory Models, Real Flat memory Model, Protected Mode Flat Memory Model,  Assembly Language Dev Environment, Command Line Macros for YASM Setting up Code::Blocks, YASM,  
Assembling a Hello World program
Debugger (dbg) for writing and       debugging YASM assembly code
using g++ to assemble YASM code 
                         
10
Lecture 9 on Line
YASM Assembly Language organization for IA32 Architecture, .data, .bss, .text sections, Linux System Calls, Writing Assembly Code Using Code::Blocks,          Writing YASM Assembly code to
Dispaly "Hello World,"  Using dbg and
watch windows to debug Assembly Code
Use Code::Blocks to write Hello World Display program  using Linux system I/O calls
11
Lectures 10 and 11 on Line
Input/ Output Programming, Writing to Files,   Control structures for Assembly Code, Calling assembly language functions from C/C++ , Calling C library functions  from Assembly Code.  

Implementing and Debugging
assigned programs that call assembly language functions   from C/C++ and Assembly language programs
that call  C Library functions
12
Lecture 12 on Line
Passing Arguments to Assembly language programs, organization of Stack for argument passing
Using the Debugger (dbg) to examine memory and registers during program execution
13
Lecture 13 on Line
Memory Organization of programs, Cache memory, Direct memory Access (DMA)

14
Review


15
Final


Homework Exercises:

   

See Above


 
 Answer questions assigned in Review Notes.

COURSE POLICIES Student Conduct

Any acts of disruption that go beyond the normal rights of students to question and discuss with instructors the educational process relative to subject content will not be tolerated, in accordance with the Academic Code of Conduct described in the Student Handbook

Electronic Devices in Class Policy

Cellular telephones, pagers, CD players, radios, and similar devices are prohibited in the classroom. Calculators and computers are prohibited during examinations, unless specified.


Examination Policy

A midterm and final examination will be given in class. Please schedule your other activities in advance. No make-up exams will be allowed without prior arrangements being made.

To prepare for examinations, read the chapters, go over the notes you take in class, and do the assignments. 100 % of the questions are taken directly from the reading material and what is covered in class.

Incomplete Policy

Students will not be given an incomplete grade in the course without sound reason and documented evidence. In any case, for a student to receive an incomplete, he or she must be passing and must have completed a significant portion of the course.


Academic Integrity Policy

Students are expected to uphold the school’s standard of conduct relating to academic honesty. Students assume full responsibility for the content and integrity of the academic work they submit. The guiding principle of academic integrity shall be that a student's submitted work, examinations, reports, and projects must be that of the student's own work. Students shall be guilty of violating the college’s policy if they:

  • Represent the work of others as their own.
  • Use or obtain unauthorized assistance in any academic work.
  • Give unauthorized assistance to other students.
  • Modify, without instructor approval, an examination, paper, record, or report for the purpose of obtaining additional credit.
  • Misrepresent the content of submitted work.

Any student violating the colleges academic integrity policy is subject to receive a failing grade for the course and will be reported to the Office of Student Affairs. If a student is unclear about whether a particular situation may constitute violation, the student should meet with the instructor to discuss the situation.

For this class, it is permissible to assist classmates in general discussions of computing techniques. General advice and interaction are encouraged. Each person, however, must develop his or her own solutions to the assigned projects, assignments, and tasks. In other words, students may not "work together" on graded assignments. Such collaboration constitutes cheating. A student may not use or copy (by any means) another's work (or portions of it) and represent it as his/her own. If you need help on an assignment, contact your instructor, not other classmates

Disabilities Policy

In compliance with the Americans with Disabilities Act (ADA), all qualified students enrolled in this course are entitled to “reasonable accommodations.” Please notify the instructor during the first week of class of any accommodations needed for the course

General Advice

  1. COME TO CLASS
  2. Take good notes.
  3. Ask questions.
  4. Do the assignments on time.
General Information

Students should prepare to spend at least 3 hours weekly on this material. If you do not have enough time, do not take the course!

  1. Contact me if you are confused or fall behind, for whatever reason. Come to my office hours or email me.
  2. I get MANY email messages every day, so please keep your message short and to the point. If your message is too long , I probably will not read it.
  3. Note that email messages where the sender's name seems fake (e.g., "Mickey Mouse") or the subject is blank or undecipherable, may be automatically filtered out in attempt to eliminate spam and other offensive messages.
  4. If I haven't replied to you, please be patient. Sending me multiple copies of the same message (or multiple messages that say the same thing) only clogs my inbox, which takes me longer to get to your message.
  5. PLEASE SIGN YOUR EMAIL and mail it to:
    mailto:raphan-3310@sci.brooklyn.cuny.edu
    This will insure that you are in the class and should be responded to. If you mail to any other address, it will probably not be answered as the system will assume it is SPAM.