Harokopio University
School: School of Digital Technology
Department: Informatics and Telematics
Program: Information Technology

Platform Technologies

Semester: 2 ECTS: 6.0 Compulsory Erasmus

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