CISC 3310 - Principles of Computer Architecture
Room 130F (Field Building)
Fall 2018
Office: 541 NE
Office Hours: TBD
1. E-mail related to this course should be sent only to:
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].

Logic and Computer Design Fundamentals, 4th Edition
M. Morris Mano, Charles R. Kime
ISBN: 0-13-198926-X
© 2008
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 |
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
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.
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
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
- COME TO CLASS
- Take good notes.
- Ask questions.
- Do the assignments on time.
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!
- Contact me if you are confused or fall behind, for whatever reason. Come to my office hours or email me.
- 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.
- 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.
- 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.
- 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.