|
|
|
| CSC 242 - Digital Logic and Computer
Organization and Assembly Language |
Download the book's software (for both Windows and Unix)
|
w |
Date |
Lecture Topic and Reading |
Assignments |
|
|
Reading |
Labs |
|||
|
1 |
24 Aug 29 Aug |
Getting started:
The abstraction / implementation paradigm and
its role in systems design; Overview of the Hardware Description Language (HDL)
used in the course; Designing a set of elementary logic gates from primitive
Nand gates, and implementing them in HDL. |
vii-xiv | |
| 31 Aug | First Lecture | 1-28 |
Getting Started Project00 |
|
|
2 |
||||
| 5 Sep |
Boolean arithmetic: Using the previously built logic gates to design and implement a family of binary adders, culminating in the construction of an ALU (Arithmetic-Logic Unit). Digital Components |
29-40 | ||
| 7 Sep |
HDL: A formalism for defining and testing chips: objects whose interfaces consist of input and output pins that carry Boolean signals, and whose bodies are composed of interconnected collections of other, lower-level chips. Review the technical reference for the supplied hardware simulator. Adders |
281-288 |
Logic Gates Project01 Quiz 1 |
|
|
3 |
||||
| 12 Sep |
Sequential logic:
Design and implementation of a memory hierarchy, from elementary flip-flop
gates to single-bit cells to registers to RAM units of arbitrary sizes. |
41-54 | ||
| 14 Sep | Sequential Logic | 289-296 | Practice Quiz 2 | |
|
4 |
||||
| 19 Sep | Circuits | |||
| 21 Sep |
Machine language:
Introducing an instruction set; Discussing some trade-offs related to its
design; Writing some low-level programs in its assembly language. |
56-74 |
Combinational Chips Project02 Quiz 2 |
|
|
5 |
||||
| 26 Sep | Machine Language | 75-77 | ||
| 28 Sep |
Assembler
Tutorial CPU Emulator Tutorial |
Sequential Chips Project03 PC hint: use 1 Register, 1 INC, 3Mux |
||
|
6 |
||||
| 3 Oct | Quiz 3 | |||
| 5 Oct |
Computer Architecture Computer architecture: Integrating all the chips built in weeks 1-3 into a computer platform capable of running programs written in the instruction set introduced in week 4. |
79-101 | ||
|
7 |
||||
|
10 Oct :) |
Fall Break | |||
| 12 Oct |
Assembler:
Basic language translation techniques (parsing, symbol table); Building an
assembler for the assembly language presented in week 4. |
102-120 | Machine Language Project04 |
|
|
8 |
||||
| 17 Oct | Assembler | |||
| 19 Oct |
Computer Architecture Project05 |
|||
|
9 |
||||
| 24 Oct |
Virtual machine I:
Pushdown automata, stack machines, the role of virtual machines in software
architectures like Java and .NET; Introduction of a typical VM language,
focusing on its arithmetic commands. Building a program that translates from
this VM language into the assembly language. |
121-151 | ||
| 26 Oct | VM Emulator Tutorial / Virtual Machine I | |||
|
10 |
||||
| 31 Oct |
Virtual machine II:
Completing the design of the stack machine and its associated VM language,
focusing on flow-of-control and subroutine call-and-return commands;
Completing the implementation of the VM translator. |
153-172 | ||
| 2 Nov | VMtranslator - project / Notes | Assembler Project06 |
||
|
11 |
||||
| 7 Nov | Virtual Machine II | |||
| 9 Nov | ||||
|
12 |
||||
| 14 Nov |
Virtual Machine I: Stack Arithmetic Project07 / notes |
|||
| 16 Nov | ||||
|
13 |
||||
| 21 Nov | Quiz Project 7 | |||
| 23 Nov | Thanksgiving | |||
|
14 |
||||
| 28 Nov | Virtual Machine II: Program Control Project08 |
|||
| 30 Nov | Review 1 | |||
|
15 |
||||
| 5 Dec | ||||
|
|
||||
| Final Exam: Tuesday, Dec 12, 3:00 - 6:00 pm, BR 160 | ||||