EE3D11 Computer Architecture and Organisation
This course provides an overview of the architecture and organization of a computer hardware system and the important principles of computer organization. In addition, the course addresses also object-oriented programming techniques. The course demonstrates the interrelation between hardware and software, and illustrates how the computers operates and how they can be programmed, with the emphasis on processor design and implementation.
Topics discussed are Computer system overview, Measuring and comparing performance, ISA: instruction set architecture (MIPS, x86, 8051, JVM), Computer arithmetic, processor implementation, fast processor implementation, Memory hierarchy and caching, Interfacing, Modern architectures and organizations (superscalar, VLIW/IA64/Itanium), etc.
Study Goals
The main aims of the course are:
- Understand the basics of computer abstraction and performance: what are the different computers? How to evaluate performance? What is the impact of technology scaling? Etc.
- Understand and use the computer language: What is an ISA and how to write and extend it? How does it support procedures in hardware? Impact of language selection of hardware design? Etc.
- Understand and perform computer arithmetic: how to perform addition, subtraction, multiplication and division for integers and floating point? What is the impact of the algorithm on hardware implementation? Etc.
- Understand and use the principle and techniques used to design a processor: how does hardware execute instructions? What are the performance characteristics and limitations? How to accelerate the performance? Etc.
- Understand the memory hierarchy and its impact on performance: What is the memory hierarchy? What are the characteristics and limitations of each hierarchy level? What are the different alternatives to improve the performance? Etc.
- I/O systems and their interaction with the processor: what are the different I/O? How does the communication take place? How are the dependability, reliability and availability requirements for each I/O? etc.
- Understand and describes the trends and the challenges in the field of computer architecture.
- Use object-oriented programming techniques in C++ such as: classes and objects (definition and implementation) and inheritance (types, multiple inheritance, redefinition).
Teachers
S. Hamdioui
M. Taouil
ing. Ton Slats
Logic designs, VHDL, FPGA, and Robots
Last modified: 2022-09-02
Details
Credits: | 5 EC |
---|---|
Period: | 0/0/4/0 hc |