NASSAU COMMUNITY COLLEGE
DEPARTMENT OF MATHEMATICS/STATISTICS/COMPUTER PROCESSING
Course Outline for
Curriculum / Interdisciplinary
Lab hours / 30
Semesters offered / Indicated in Catalog
Length of semester / 15 Weeks
Class hours / 3
Credits / 3
Text / Structured Computer Organization by Andrew Tanenbaum, 5th Edition, Published by Prentice Hall
PREREQUSITE
At least a C in CSC 130 (CMP211)
CATALOG DESCRIPTION
The fundamentals of Computer systems are examined. Computer architecture and the many levels of software systems are studied. Topics include microarchitecture, microprogramming, conventional machine language, operating system software, assemblers, linkers and loaders, compilers and interpreters, codes and networks. A term project is directed in one of these areas. Intended for Computer Science Majors.
COMPUTER CENTER REQUIREMENT
As part of this course, students should avail themselves of further study and/or educational assistance available in the Computer Centers: B-115, B-116, B-119, B221, B223 and B-225. Use of the resources in the Computer Centers is deemed an integral part of the course, and will help the student master necessary knowledge and skills.
OBJECTIVES
General
To provide an introduction to the fundamentals of computer systems with an emphasis on existing systems. To develop a systematic understanding of computer systems and associated hardware design and software systems.
Specific
To study the details of and the interrelationships between the various levels of a modern computer: digital logic, microprogramming, conventional machine language, operating system, and assembler/linker. Also to study the criteria used in designing these levels.
EXAMINATIONS
There should be a bi-weekly evaluation of the student. To attain this goal, three (3) full period exams and four (4) quizzes should be given during the semester.
TOPIC OUTLINE
TOPIC NUMBER OF LECTURES
1. Historical evolution of and contemporary multi-
level machines, virtual machines, relationship
of hardware and software to multilevel machine,
state vectors and processes 1-1/2
2. Instruction execution & machine cycle: instruction
and execution phases, hardware involved (MAR, MBR, IR,
PC, buses, IAR) and sequence of events; methods of
parallel instruction execution 1-1/2
3. Memory organization and properties; bits, metabits,
addresses, secondary memory, ROM, RAM, EPROM, dynamic
vs. static, volatility 1
4. I/O devices and processors/channels; modes of
transmissions 1
5. Codes: Various types including error correcting &
frequency dependent 1
6. Long haul and local networks, telecommunications,
distributed systems 1
7. Digital logic: gates (NOT,NAND,NOR, etc.) integrated
circuits, combinational circuits (Multiplerer,
demultiplerer, decoder, encoder, comparator, PLA)
arithmetic circuits (shifter; half, full, and ripple
adder), ALU, clocks, latches, component packaging 2-1/2
8. An example microarchitecture: data path; design,
timing and sequencing of microinstructions 2
9. Some issues in macroprogramming: horizontal vs.
vertical, nanoprogramming, master clock 1/2
10. Conventional machine instruction formats; design
criteria, expanding opcodes 1/2
11. Conventional addressing methods; mostly a review of
CMP 207) immediate, direct, register, indirect,
indexing base-register, stack, ortnogonality 1/2
12. Conventional machines instruction types: (mostly a
review of CMP 207) data movement, monadic, dyadic,
comparisons, conditional jumps, procedure cell, loop
control, I/O 1/2
13. Flow of control in conventional machine: (some review
from CMP 207) sequential, jump, procedures; recursion
and stacks, coroutines, traps and interrupts, PSW swap 1
14. Operating system, General overview: interface between
user and conventional machine resident and nonresident
components; as component of total computing system;
measuring performance of computing system 1/2
15. Operating system, I/O management: sequential and
random access files, virtual I/O, IOCS, LIOCS,
deadlock 1-1/2
16. Operating system, processor management: dispatcher,
interrupt handler, interrogator, process creation,
TCB, TCBL, race conditions and semaphores 1-1/2
17. Operating system, memory management: paging segmentation,
fragmentation, virtual memory, cache memory,
theories of program behavior 1-1/2
18. Operating system, job scheduling: batch queue,
spooling, polling, priority schemes, JCL processor,
scheduler 1
19. Assemblers: creation of symbol table in pass one and
its use in pass two, handling of unresolved external
references; table handling 1
20. Macros: implementing a macro facility in an assembler 1/2
20. Linking and loading: object modules, linking, resolving
external references, binding, dynamic relocation and
linking 2
TOTAL # OF LECTURES 24
KEYING TOPIC OUTLINE TO TANENBAUM TEXT
TOPIC SECTIONS
1 Chapter 1
2* 2.1
3 2.2, 3.3, 3, 3.34
4 2.3.1, 2.3.2, 5.1.1
5 2.3.3, 2.3.4, 2.3.5
6 2.4
7 3.1.1, 3.2, 3.3, 4.1.7
8 4.2
9 4.5
10 5.2.1, 5.2.2
11 5.3
12 5.4
13* 5.5
14* 6.1
15* 6.2
16* 6.3
17* 6.4
18* -
19* 7.2
20 7.3
21* 7.4
NOTES to the instructor: 1. No one book contains all the material for
CSC 260. The Tanenbaum text comes
closest among recent texts at the
sophomore level. Additional material
can be found in these places:
Davis: Operating Systems, 2nd ed. Addison Wesley, 1983
Deitel: An Introduction to Operating Systems: Addison Wesley, 1983
Donovan: Systems Programming: McGraw-Hill, 1972
Struble: Assembler Language Programming, 2nd ed. Addisson Wesley, 1975
2. The semester contains 30 meetings of
CSC 260. The topic outline shows 24
lectures, leaving room for tests,
quizzes, and discussion of term
project.
* Denotes topic not covered in Tanenbaum text to depth desired as
per course outline.
Revised Fall 2006