PREV INDEX NEXT

Author: Stan Eisenstat
Subject: Reading for the coming weeks
Date: Sunday, 06 Sep 2020, 11:28:25


Reading Assignments for CPSC 323a
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Note:  The on-line version of Matthew and Stones is not paginated.  For those
using it, I have annotated each reading with the chapter and section(s) (and
in some cases subsection(s)) in which those pages are contained.

Thus to reach the reading, click on the title of the chapter in the list of
links, which inserts a list of sections immediately under the title.  If no
subsection is specified below, read the entire page.  Otherwise just scroll
down to the subsection and read to the end of it.


Date   Reading (Topic)
~~~~   ~~~~~~~~~~~~~~~
08/31  HP6 Appendix J, pp.   2-  3 Ripple-carry adders
       HP6 Appendix J, pp.   7-  8 Signed numbers
       HP6 Appendix J: pp.  37- 41 Carry-lookahead adders
       MS, pp. 377-392 make
	   [Chapter 9, Problems of Multiple Source Files]
	   [Chapter 9, The make Command and Makefiles]

09/02  MS, pp.  94- 96 Linux file structure
	   [Chapter 3, Linux File Structure]
       MS, pp. 106-108 stat() & lstat()
	   [Chapter 3, Low-Level File Access: Other System Calls ...]
       MS, pp. 109-120 Standard I/O Library
	   [Chapter 3, The Standard I/O Library]
	   [Chapter 3, Formatted Input and Output]
       MS, pp. 120-122 File & directory maintenance
	   [Chapter 3, File and Directory Maintenance]
       MS, pp. 122-126 Scanning directories
	   [Chapter 3, Scanning Directories]
       MS, pp. 127-128 Errors
	   [Chapter 3, Errors]
       MS, pp. 392-406 Revision control systems [optional]
	   [Chapter 9, Source Code Control]
       MS, pp. 430-445 Debugging and gdb [optional]
	   [Chapter 10, General Debugging Techniques]
	   [Chapter 10, Debugging with gdb]

09/07  HP6 Appendix J: pp.  13- 16 Floats
       HP6 Appendix J: pp.  62- 65 Pitfalls & history

09/16  Welch's paper (links below and on the class web site)
	 In color from IEEE (only within the yale.edu domain):
	   http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=1659158
	 In black and white from Duke:
	   http://www.cs.duke.edu/courses/spring03/cps296.5/papers/welch_1984_technique_for.pdf

09/21  LZW handout (handout & available on class web site)

09/30  Decimal Version of Faux CRC
	 http://zoo.cs.yale.edu/classes/cs323/doc/decimal-crc.txt
       HP6 Chapter  1: pp.   1- 10 Overview
       HP6 Appendix B: pp.   1- 15 Memory hierarchy
       HP6 Chapter  2: pp.  77- 84 Memory hierarchy (optional)
       HP6 Appendix B: pp.  22- 23 Compulsory/capacity/conflict misses

10/05  HP6 Appendix D: pp.   1-  5 Introduction to disks (optional)
       HP6 Appendix D: pp.   6- 10 RAID
       HP6 Chapter  2: pp.  92- 94 Flash memory
       HP6 Chapter  1: pp.  18- 23 Trends in technology (optional)
       HP6 Chapter  1: pp.  29- 36 Trends in cost (optional)
       HP6 Chapter  2: pp.  84- 89 SRAM & DRAM technology (optional)

10/07  HP6 Appendix C: pp.   2-  3 Pipelining
       HP6 Chapter  1: pp.  10- 11 Parallel architectures
       HP6 Chapter  1: pp.  49- 51 Amdahl's Law
       HP6 Chapter  4: pp. 283-293 Vector machines
       HP6 Chapter  4: pp. 293-304 Vector machines (optional)
       HP6 Chapter  4: pp. 304-307 SIMD

10/14  HP6 Chapter  4: pp. 310-313 GPUs
       HP6 Chapter  5: pp. 367-377 MIMD
       HP6 Appendix F: pp.  29- 44 Networks (optional)

10/21  MS, pp. 109-120 Standard I/O Library
	   [Chapter 3, The Standard I/O Library]
	   [Chapter 3, Formatted Input and Output]
       MS, pp.  96-108 Systems-level I/O
	   [Chapter 3, System Calls and Device Drivers]
	   [Chapter 3, Library Functions]
	   [Chapter 3, Low-Level File Access]

10/23  MS, pp. 461-464 Processes
	   [Chapter 11, What Is a Process]
	   [Chapter 11, Process Structure: Introduction]
	   [Chapter 11, Process Structure: The Process Table]
	   [Chapter 11, Process Structure: Viewing Processes]
       MS, pp. 468-480 exec() and fork()
	   [Chapter 11, Starting New Processes]
       MS, pp. 481-484 signals
	   [Chapter 11, Signals: Introduction]
       MS, pp. 531-540 pipes and dup()
	   [Chapter 13, The Pipe Call]
	   [Chapter 13, Parent and Child Processes]

10/28  Example of pipes (handout & available on class web site)

10/30  MS, pp.  23- 30 bash (variables and quoting)
	   [Chapter 2, The Shell as a Programming Language]
	   [Chapter 2, Shell Syntax: Variables]
       MS, pp.  43- 45 bash (&& and ||)
	   [Chapter 2, Shell Syntax: The AND List]
	   [Chapter 2, Shell Syntax: The OR List]
       MS, pp.  73- 74 bash (here documents)
	   [Chapter 2, Shell Syntax: Here Documents]
       MS, pp. 144-148 Environment variables in C
	   [Chapter 4, Environment Variables]
       MS, pp. 156-157 Temporary files
	   [Chapter 4, Temporary Files]

11/06  HP6 Chapter  5: pp. 412-417 Hardware instructions for synchronization

11/11  HP6 Appendix B: pp.  40- 49 Virtual memory

11/13  HP6 Chapter  1: pp.  11- 17 Overview of ISA
       HP6 Appendix A: pp.   1- 20 Instruction Set Architecture
       HP6 Appendix C: pp.   2- 30 Pipelining instructions & hazards

11/18  HP6 Chapter  3: pp. 168-176 Pipelining instructions & hazards
       HP6 Chapter  3: pp. 182-188 Branch prediction


Texts
~~~~~
HP6: John L. Hennessy and David A. Patterson, "Computer Architecture: A
       Quantitative Approach", 6th edition, Morgan Kaufman, 2017

MS:  Neil Matthew and Richard Stones, "Beginning Linux Programming",
      4th edition, Wrox, 2007

Last modified 08/31/20
PREV INDEX NEXT