Difference between revisions of "CSC231 Schedule Spring 2017"

From dftwiki3
Jump to: navigation, search
( )
(Links_and_Resources)
Line 507: Line 507:
 
<br />
 
<br />
  
=Links_and_Resources=
+
=Links and Resources=
 
<br />
 
<br />
 
==Pipelines, Branch Prediction, Hyper-Threading==
 
==Pipelines, Branch Prediction, Hyper-Threading==

Revision as of 09:44, 1 May 2017

--D. Thiebaut (talk) 10:37, 2 December 2016 (EST)



Home | Syllabus | Schedule | Links & Resources



 


Week 1 Jan 26, 27    


Topics: Introduction Lab/Hw Reading
  • Friday
  • Syllabus
  • Class accounts
  • The main players for this semester:
  • PC
  • Processor
  • Memory
  • Disk
  • Structure
  • Presentation
  • Documentation
  • Reading
    • Chapter 1 in the Art of Assembly.
    • Also Chapter 3, Sections 0 to 3.1.2.
    • Sections 1.3.1, 1.3.2, 1.3.3, 1.3.4, and 1.3.5 in Carter's PC Assembly Language. Note, Carter uses 1A92h to represent a hexadecimal number. I prefer 0x1A92.


 


Week 2 Jan 30, Feb 1, 3    


Topics: Emacs, assembly, hexdump Lab/Hw Reading
  • Mon/Wed
  • A few words about "When Computers were Human," a video by David Alan Grier, editor of IEEE Annals of History of Computing. (In reference to the movie "Hidden Figures.")



  • Friday:


 


Week 3 Feb 6, 8, 10    


Topics: Registers (eax, ax, al). The ADD Instruction Lab/Hw Reading
  • Mon/Wed
  • Back to hexdump and listings
  • The mov instruction
  • General purpose registers: al, ah, ax, eax...
  • moving information in an out of registers and memory
  • the add instruction
  • slides (pdf)
  • Friday:
  • Linux Lab: More about files and directories. pushd, popd, history, less, cat, file, grep
  • Moodle quiz on lab
  • Homework #1 will be released on Monday 2/6 at 11:00 a.m. You will find it on Moodle and you will have until 2/13/17 11:55 p.m. to submit it. Solution program


 


Week 4 Feb 13, 15, 17    


Topics: SUB, DW, DD, DB, Binary, Hex, Decimal conversion. Lab/Hw Reading
  • Mon/Wed
  • A few words about the programming part of Homework #2
  • The SUB instruction (subtracts source from dest)
  • Review db, dw, dd, and how variables fit in memory
  • Step-by-step execution of a program
  • Getting a sense of speed of computation
  • Comparing to Arduino
  • Comparing to Raspberry Pi 3
  • Number systems. Understanding decimal, binary, and hexadecimal
  • Friday:
  • Linux Lab: Manual Pages, and pipes.
  • Moodle quiz on lab
  • Homework #2 is released on Monday 2/13 at 11:00 a.m. It contains a programming assignment, and a quiz to be answered on Moodle. The due date is Monday 2/20/17 11:55 p.m.
  • Solution program(s)
  • Read Chapter 1 in the Art of Assembly reference by Randy Hyde, Sections 1.0 to 1.4.


 


Week 5 Feb 20    


Topics: Conversion binary, hex, decimal. Lab/Hw Reading
  • Mon/Wed"
  • Friday:
  • Linux Lab: Vi text editor, Redirection of stdin, and stdout
  • Homework #3 is released on Monday 2/20 at 11:00 a.m. It contains several quizzes to be answered on Moodle.. The due date is Monday 2/27/17 11:55 p.m.
  • Solution program
  • Section 6.5.1.2 in Hall's Art of Assembly
  • Sections 1.5 an 1.6 in Hall's Art of Assembly
  • Section 6.5.6 and 6.5.7 on MUL and DIV in Hall's text. Skip the parts about IMUL, and IDIV which require knowledge of signed numbers. Also skip the part about the decimal adjust and other instructions in these sections.
  • For next week, prepare by reading Section 1.7


 


Week 6 Feb 28, Mar 2    


Topics: Logical instructions, Logic Design, Signed Numbers Lab/Hw Reading
  • Mon/Wed
  • Logical instructions
  • Logic design: A 2-bit adder (this won't be on the midterm exam)
  • Signed numbers
  • Signed magnitude
  • 1's Complement
  • 2's Complement
  • Friday:
  • Linux Lab: Nasm as a tool, more advanced redirections, for-loops


 


Week 7 Mar 7, 9    


Topics: 2's Complement, Midterm Lab/Hw Reading
  • Mon
  • Wed: MIDTERM EXAM: on paper, in class, closed books, closed notes, closed computers. - (solutions)
  • Friday:
  • No class
  • No homework assignment given out this week


SPRING BREAK


 


Week 8 Mar 20, 22, 24    


Topics: Loops and Addressing Modes Lab/Hw Reading
  • Mon/Wed
  • The Loop instruction
  • Indirect Addressing Modes
  • Working with arrays
  • slides (pdf)
  • Miderm exams will be returned. The grading was done as follows: 11 problems worth 10 points each were graded and generated a number between 0 and 110, which was translated into a letter grade. This letter grade was then transformed into another number using Moodle's number-letter translation table. This number is the one entered in Moodle. (Solutions to Midterm Problems)
  • Friday:
  • No homework this week


 


Week 9 Mar 27, 29, 31    


Topics: Loops, arrays, game of life, conditional jumps Lab/Hw Reading
  • Mon/Wed
  • Friday:


 


Week 10 Apr 3, 5, 7    


Topics: Conditional Jumps Lab/Hw Reading
  • Mon/Wed
  • Friday:


 


Week 11 Apr 10, 12, 14    


Topics: Function, Stack, Push, Pop Lab/Hw Reading
  • Mon/Wed
  • Friday:
  • Functions. Functions are also called procedures when dealing with assembly. You'll find this term used in Randy Hyde's documentation. Also, Hydes uses the proc and endp directives to define functions, which is fine. We won't in this class. Functions work just as well without!


 


Week 12 Apr 17, 19, 21    


Topics: Recursion, fact Lab/Hw Reading
  • Mon/Wed
  • Friday:
  • Recursion chapter in Randy Hall's Art of Assembly. Hall uses 16-bit registers (ax, bx, bp, etc...) but the reasoning is the same as for 32-bit registers.


 


Week 13 Apr 24, 26, 28    


Topics: Lab/Hw Reading
  • Mon/Wed
  • Friday:


 


Week 14 May 1, 3    


Topics: Floating-Point Numbers Lab/Hw Reading
  • Mon
  • Wednesday:
  • Final exam is released. Take home, open books, open Web, open computers. Due last day of exams.


Links and Resources


Pipelines, Branch Prediction, Hyper-Threading



Bash Shell & Linux Resources