Assembly Language and Computer Organization

Schedule

"Assembly language experience is [important] for the maturity and understanding of how computers work that it provides." – D. Gries

  1. FETCH, DECODE, EXECUTE Last day to Add/Drop is Friday 2024-01-26
    • <2024-01-22 Mon>
      • Binary, Digital, General-Purpose Computer
        • What is a Computer?
        • von Neumann's architecture
      • Homework:- h001 - CPU Simulator Lab
    • <2024-01-23 Tue>
    • <2024-01-24 Wed>
      • Watch: How Version Contol Works (sort of)
      • Version Control
      • Using git
      • Unsigned Integers
      • Bases
        • Binary, Hex, Decimal
        • Conversion
        • Arithmetic
        • Integers in Non-decimal Bases
    • <2024-01-26 Fri> Last day of Add-Drop
      • Reading: COD Section 1.1, 1.3-1.4
      • Hardware Loop
while (true) {
  fetch();   // next instruction into IDR
  decode();  // IDR contents to electrical signals
  execute(); // update state including PC
}
  • COD's View of the von Neumann Computer
    • Processor (CPU)
      • Control
      • Datapath
    • Memory
    • Input
    • Output
  • Due: h001 - CPU Simulator Lab
  • Assignment: p001 - Number Bases (Java)
  • Digital, Binary, General-purpose Computers
    • <2024-04-08 Mon>
      • Thinking about prologues and epilogues
      • Other Data Structures
      • CS1 in Assembly
      • Multiplication w/o mult
    • <2024-04-09 Tue>
      • Group Work: [[][gSortAnArray]]
    • <2024-04-10 Wed>
      • Array Search in Assembly
    • <2024-04-12 Fri> Last day to Withdraw, Elect S/U
      • Dynamic Memory Allocation
  • Linked Lists; Array Lists
    • <2024-04-15 Mon>
    • <2024-04-16 Tue>
      • Group Work: [[][gatoi]]
    • <2024-04-17 Wed>
      • Linked List
        • push
        • pushback
        • delete
        • copy
    • <2024-04-19 Fri>
      • ArrayList?
  • Classes, structs, dynamic memory
    • <2024-04-22 Mon>
      • Binary tree
      • All the traversals
    • <2024-04-23 Tue>
      • Group Work: [[][gMethods]]
    • <2024-04-24 Wed>
      • Class member functions
      • What is this in a method
    • <2024-04-26 Fri>
      • Constructors?
  • CPU: Datapath, ALU, Control
    • <2024-04-29 Mon>
      • Circuit review/finish up
    • <2024-04-30 Tue>
      • Group Work: [[][gRegisterFile]]
    • <2024-05-01 Wed>
      • Comparison
      • Branching
    • <2024-05-03 Fri>
      • Considering the whole computer
  • The Whole Execution Stack
    • <2024-05-06 Mon>
      • Operating System syscall
      • Machine language
      • IDR
    • <2024-05-07 Tue>
      • Group Work: [[][gReview]]
    • <2024-05-08 Wed>
      • IDR
      • CPU Control
      • CPU Registers
      • Immediate instructions
    • <2024-05-10 Fri>
  • Final Exam
    • <2024-05-13 Mon 12:30>–<2024-05-13 Mon 14:30>

References

Dr. Ladd's Weekly Schedule

  Monday Tuesday Wednesday Thursday Friday  
0800 CIS 300 Foundations CIS 300 Foundations CIS 300 Foundations   CIS 300 Foundations 0800
0900 Office Office Office   Office 0900
1000 CIS 205 CS III Office CIS 205 CS III   CIS 205 CS III 1000
1100 CIS 356 Computer Org CIS 356 Computer Org CIS 356 Computer Org   CIS 356 Computer Org 1100
1200 Office       Office 1200
1300 Office       Department Meeting 1300
1400           1400
1500           1500

Dr. Ladd's Exam Schedule

  Monday Tuesday Wednesday Thursday Friday  
  20240513 20240514 20240515 20240516 20240517  
0800     CIS 300 Foundations     0800
1015 CIS 205 CS III         1015
1230 CIS 356 Computer Org         1230
1445           1445

Date: Spring 2024

Author: Brian C. Ladd

Created: 2024-02-19 Mon 10:05

Validate