Source codes of homework and projects for ECE-251 Computer Architecture at Cooper Union
Basic structure of computers based on the von Neumann model. Generic one-bus, two-bus and three-bus architectures. Stack based design. Tri-state logic and interfacing to a bus. Aspects of bus timing and maximum running speeds. Instruction sets: 1, 11/2, 2, 3 and more operand instructions. Operand addressing modes including case studies. Computer subsystems: (a) memory: dynamic and static RAM, refresh cycles, asynchronous data transfers; (b) I/O: interrupts vs. polling, ISRs and program controlled I/O. The control unit: microprogramming vs. hardwired controllers. Horizontal vs. vertical microinstructions. The execution of a program; instruction fetch and execution sequences; PC, IR and other special registers. Computer peripherals and secondary storage. Course work involves the building of advanced digital circuits using VLSI programmable chips provided in a kit of parts. Introduction to parallel and pipelined architectures.
All the assembly codes are written under LEGv8 instuction set (a subset of the ARMv8 instruction set); therefore, it is not typically capatible with a x86 computer.