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 | Computer logic design methodology : register transfer descriptions of instruction execution flow, control logic design, arithmetic logic design | Understand computer design flow |
Class 7 | Instruction execution flow 1 : instruction fetch, instruction execution cycles | Understand instruction execution flow |
Class 8 | Instruction execution flow 2 : IO devices and interrupts, interrupt cycles | |
Class 9 | Instruction execution control logic 1: state description format with timing information and instruction type information | Understand instruction execution control logic structure |
Class 10 | Instruction execution control logic 2 : bus control, memory control, register control | |
Class 11 | Processor logic design 1 : synchronous circuit design, register, counter, shifter | Understand register circuit design |
Class 12 | Processor logic design 2 : arithmetic logic circuit, state register | Understand arithmetic logic design |
Class 13 | Processor logic design 2 : memory circuit, overall processor circuit | Understand memory circuits and overall computer design methodology |
Class 14 | Hardware description language 1 : module, port, signal, design hierachy | Understand logic structures of hardware description language |
Class 15 | Hardware description language 2 : combination logic description, sequential logic description |
TBD
TBD
Grades based on final examination
Basic knowledge on logic circuit design is required.