Computer-Systems-Organization-Course-Description ..., Lecture notes of Computer Architecture and Organization

Topics include the logical design of computers, computer architecture, the internal representation of data, instruction sets, and addressing logic, as well as ...

Typology: Lecture notes

2022/2023

Uploaded on 05/11/2023

avni
avni 🇺🇸

4.7

(3)

229 documents

1 / 4

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
1 | P a g e
NEW YORK UNIVERSITY
COMPUTER SCIENCE DEPARTMENT
COURANT INSTITUTE OF MATHEMATICAL SCIENCES
COMPUTER SYSTEMS ORGANIZATION
Spring 2022 Pr. Jean-Claude FRANCHITTI
(CSCI-UA.0201-007 Mon & Wed 3:30 - 4:45 pm)
COURSE DESCRIPTION:
This course covers the internal structure of computers, machine (assembly) language
programming, and the use of pointers in high-level languages. Topics include the logical
design of computers, computer architecture, the internal representation of data,
instruction sets, and addressing logic, as well as pointers, structures, and other features
of high-level languages that relate to assembly language. Programming assignments will
be both in assembly language and other languages. After this course, you should be able
to understand what happens under the hood when your computer executes programs. You
will be able to visualize the big picture that shows how software and hardware interact.
REQUIRED TEXTBOOK
Computer Systems: A Programmer's Perspective
By Randal Bryant and David O'Hallaron
Pearson; ISBN-10: 013409266X; ISBN-13: 978-0134092669
3rd Edition (03/15)
RECOMMENDED TEXTBOOKS
The following book is not required but recommended to learn C programming:
The C programming language
By Brian W Kernighan and Dennis Ritchie
Prentice Hall; ISBN-10: 0131103628; ISBN-13: 978-01311103627
2nd Edition (04/88)
PREREQUISITES
Students enrolling in this course are expected to have taken CSCI-UA.102 (i.e., Data
Structures) and passed the course with a grade of C or better. You are expected to know and
remember the material from CSCI.UA.0101 and CSCI.UA.0102 courses.
COURSE TOPICS
The following topics are covered in this course:
1. C PROGRAMMING LANGUAGE
pf3
pf4

Partial preview of the text

Download Computer-Systems-Organization-Course-Description ... and more Lecture notes Computer Architecture and Organization in PDF only on Docsity!

NEW YORK UNIVERSITY

COMPUTER SCIENCE DEPARTMENT

COURANT INSTITUTE OF MATHEMATICAL SCIENCES

COMPUTER SYSTEMS ORGANIZATION

Spring 2022 – Pr. Jean-Claude FRANCHITTI (CSCI-UA. 0201 - 007 – Mon & Wed 3 : 30 - 4 : 45 pm) COURSE DESCRIPTION :

This course covers the internal structure of computers, machine (assembly) language

programming, and the use of pointers in high-level languages. Topics include the logical

design of computers, computer architecture, the internal representation of data,

instruction sets, and addressing logic, as well as pointers, structures, and other features

of high-level languages that relate to assembly language. Programming assignments will

be both in assembly language and other languages. After this course, you should be able

to understand what happens under the hood when your computer executes programs. You

will be able to visualize the big picture that shows how software and hardware interact.

REQUIRED TEXTBOOK

Computer Systems: A Programmer's Perspective

By Randal Bryant and David O'Hallaron

Pearson; ISBN-10: 013409266X; ISBN-13: 978- 0134092669

3 rd^ Edition (03/15)

RECOMMENDED TEXTBOOKS

The following book is not required but recommended to learn C programming:

The C programming language

By Brian W Kernighan and Dennis Ritchie

Prentice Hall; ISBN-10: 0131103628; ISBN-13: 978- 01311103627

2 nd^ Edition (04/88)

PREREQUISITES

Students enrolling in this course are expected to have taken CSCI-UA.102 (i.e., Data

Structures) and passed the course with a grade of C or better. You are expected to know and

remember the material from CSCI.UA.0101 and CSCI.UA.0102 courses. COURSE TOPICS

The following topics are covered in this course:

1. C PROGRAMMING LANGUAGE

  • Procedural way of thinking
  • Data structure and control
  • Bitwise operations
  • Pointers
  • Data Presentation
  • Signed and unsigned numbers
  • Two’s complement
  • Addition/subtraction of signed and unsigned numbers
  • IEEE 754 floating point presentation READINGS: Selected readings assigned in class Handouts posted on the course Web site 2. x86_64 ASSEMBLY LANGUAGE
  • Do you really need to learn assembly?
  • CISC vs, RISC philosophy
  • Evolution of processors from 8-bit to 64-bit
  • Data movement
  • Arithmetic/logic instructions
  • Control instructions
  • From C to assembly READINGS: Selected readings assigned in class Handouts posted on the course Web site 3. LINKING
  • The big picture from compilation to execution READINGS: Selected readings assigned in class Handouts posted on the course Web site 4. ARCHITECTURE
  • How do microprocessors work? READINGS: Selected readings assigned in class Handouts posted on the course Web site 5. MEMORY SYSTEM
  • A quick glimpse on Virtual Memory
  • SRAM vs DRAM technologies
  • The concept of caching
  • Cache hierarchy
  • How to write cache friendly programs?

miss an exam due to a religious observance, please familiarize yourself with University Calendar Policy on Religious Holidays and let the instructor know well in advance to come up with alternative arrangements. The grading schema for the course is as follows: A 95 - 100 A- 90 - 95 B+ 87 - 90 B 83 - 87 B- 80 - 83 C+ 76 - 80 C 72 - 76 D 65 - 72 F less than 65 Please note that the grade of Incomplete (“I”) is reserved for students who, for legitimate and documented reason, miss the final exam. The grade of Incomplete will not be given to students who fell behind in class. Those students should withdraw from the class or switch to Pass/Fail option.