This class covers the basic design methodologies for software components (instruction-set, assembly language) and hardware components (memory, register, arithmetic circuits, bus) of computer systems.
Obtain basic understanding of computer architecture on software/hardware components.
Obtain skills for assembly language programming.
Obtain skills for modeling hardware behaviors with register transfer descriptions.
Obtain skills for designing computer logic circuits.
Computer, logic circuit, software, hardware, assembly language, register transfer description, instruction execution control
✔ Specialist skills | Intercultural skills | Communication skills | ✔ Critical thinking skills | ✔ Practical and/or problem-solving skills |
Software components (instruction set, assembly language) and hardware components (logic circuit, register transfer description) will be described in each lecture.
Course schedule | Required learning | |
---|---|---|
Class 1 | Introduction to computer architecture : software (instruction set, assembly language) and hardware components (memory, register, arithmetic logic, bus) | Understand the overall computer architecture |
Class 2 | Data formats and arithmetic logic : binary data, 2's complement, add/subtract logic circuits | Understand computation mechanisms on logic circuit |
Class 3 | Instruction set : instruction format, memory addressing, assembly language, machine language | Understand instruction set structure |
Class 4 | Assembly language programming 1 : add/subtract, arithmetic/logic shifts, multiplications | Understand assembly programming |
Class 5 | Assembly language programming 2 : loop control, indirect addressing, subroutine | |
Class 6 | Instruction execution control : instruction fetch, instruction execution cycles | Understand instruction execution flow |
Class 7 | IO devices and interrupts, interrupt cycles | Understand interrupt mechanism for handling IO devices |
Class 8 | Register design | Understand register design and control logic design |
Class 9 | Bus design | Understand data transfer between memory and registers via shared bus |
Class 10 | Arithmetic logic unit design | Understand arithmetic logic circuit design |
Class 11 | Basics of hardware description language | Understand hardware description language, logic circuit design and logic simulation |
Class 12 | Combinational logic | Understand descriptions of combinational logic |
Class 13 | Sequential logic | Understand descriptions of sequential logic |
Class 14 | Sequential and Combinational logic | Understand descriptions of sequential and combinational logic |
To enhance effective learning, students are encouraged to spend approximately 100 minutes preparing for class and another 100 minutes reviewing class content afterwards (including assignments) for each class.
They should do so by referring to textbooks and other course material.
Will be distributed via T2SCHOLA
Computer Architecture, M.Morris Mano, Kagakugijutsu Shuppan, 1999
Computer Architecture, D.A. Patterson, J.L. Hennesy, Nikkei BP, 2014
Grades based on final examination and in-class exercises on computer architecture, assembly programming, register transfer description, arithmetic logic design and hardware description language.
Basic knowledge on logic circuit design is required.