Platform Technologies
General
Code: BSC_IT10
Language: English
Delivery: In person
Prerequisites: None
Workload
- Lectures: 39.0 hours
- Lab: 13.0 hours
- Study: 70.0 hours
- Project: 23.0 hours
Course Content
Introduction to basic principles of computer organization and technology; challenges of contemporary computer architecture; instructions and levels of representation; representation of arithmetic and non-arithmetic data; organization of a typical computer and the Instruction Set Architecture (ISA); microarchitecture, RISC and CISC computers.
The RISC-V ISA: registers, instruction formats (R, I, S, B, U, J) and encoding; addressing modes; arithmetic, logical, and data transfer operations; control flow operations; supporting procedures in computer hardware and the use of the stack; basic principles of compilers.
Performance evaluation: measuring and understanding performance factors and Amdahl’s Law. Processor design: building a datapath, single-cycle implementation, and designing the control unit. Pipelining: basic principles, RISC-V pipeline implementation, hazards (data, control, structural), forwarding, stalls, and branch prediction (static and dynamic). Memory hierarchy: caches, measuring and improving cache performance, and virtual memory.
Platform Technologies: Introduction to Virtualization (Hypervisors and hardware-assisted virtualization); Containerization (Linux namespaces and cgroups); Cloud Computing infrastructure (IaaS, PaaS, SaaS); and an introduction to Warehouse-Scale Computing and distributed resource management.
Laboratory: Exercises on the RISC-V ISA; Assembly language programming; Use of the RARS/Venus simulator for system-level calls and performance analysis; Practical introduction to Virtualization and Cloud environments.
Learning Outcomes
The objective of this course is to teach undergraduate students the necessary background in computer organization, architecture, and platform infrastructure. In this course, the student is taught the organization and design of a computer using the RISC-V architecture and the interface between hardware and software.
Furthermore, the course expands into the abstraction of physical resources through virtualization and containerization, providing a foundation for understanding the concepts that are the basis of current cloud computing platforms (IaaS, PaaS, SaaS).
The course is intended for students interested in hardware design, software development, and system orchestration. It also provides the necessary background for those interested in attending courses related to advanced computer architecture, distributed systems, and warehouse-scale computing.
Skills
Retrieve, analyze and synthesize data and information, with the use of necessary technologies
Adapt to new situations
Make decisions
Work autonomously
Work in teams
Advance free, creative and causative thinking
