Laboratory of Computer Systems Architecture

Department of Electrical and Computer Engineering | Auth

Contact   More 

HISTORY of CSAL

The Laboratory of Computer Systems Architecture was established with the Presidential decree No 80 published in the journal of the Greek Government, issue 66/6-4-101. It is one of the laboratories of the Department of Electrical and Computer Engineering of AUTh. It supports the teaching of a number of courses of the program of the Department in the fields of computer hardware and system software and develops research activities in the same fields.

Teaching
Support

The Laboratory of Computer Systems Architecture of the Department of Electrical and Computer Engineering of the Aristotle University of Thessaloniki supports the teaching of courses both of the undergraduate and the postgraduate programs of the Department and conducts research in the fields of Computer Architecture, Operating Systems, Microprocessor Systems, Parallel and Distributed Computer Systems, Embedded Systems and Industrial Informatics.

Research

Current and past research projects

Publications

Selected list of publications made by Laboratory members

Arm University Program

CSAL has become part of Arm University Program

Lab Equipment

Lab Equipment

Topics

The topics covered by the Lab are those of Computer Architecture,. Operating Systems, Microelectronic Systems Applications( microprocessors, microcontrollers, FPGAs, ASICs) and Industrial Informatics.

Latest publications

Courses

UnderGraduate

This course covers the hardware architecture of a digital computer. First the abstraction levels of a computer function are presented: digital logic level, microarchitecture, istruction set architecture and assembly. In the digital logic level, the logical gates and Boolean algebra, fundamental digital logic circuits, memories and microprocessor chips are presented. In the microarchitecture level, the Central Processing Unit (CPU), the data path and micro-operation control are examined. In the instruction set level, the memory models, data types, instruction opcodes and addressing of instructions and data in the memory are presented along with instructions types and control flow of the execution of instructions. In the assembly language level, the concept of assembly languare is explained along with the assembly instruction form and macros. Also, the functions of compilers, linkers and loader are presented. The MIPS 3000 microprocessor is used as a demonstration of a real application of the concepts mentioned above, with programming a MIPS 3000 simulator utilized for assembly programming teaching.
The course presents an information system model for industrial organizations and describes the architecture of computational resources that support or automate the functions of an industrial organization in various organizational levels. The computational resources of an industrial organization, dedicated to the automation and administration of the manufacturing process are thoroughly examined and commercially available hardware appropriate for building modular control systems is presented in conjunction with specialized programming languages for such systems . (Contact Plan Language, functional diagrams, structured text, instruction list and sequential flow charts) .Finally, software tools for design, simulation and debbuging of industrial information systems are presented.
The course covers: Introduction in system design based on analogue and digital methods. Generalized description of various computational models. Design of computer systems. Data types. Acceleration mechanisms. Main properties of microprocessors and applications. Microprocessor architecture. Hardwired and microprogrammable control unit. Pipelinings. Superscalar engines. RISC engines. Virtual and cache memory subsystems. Memory access patterns. Programming models. Description of control signals. Instruction sets. Compilers. Tools for development of microcontroller systems. Focus on the specific architecture, memory access and instruction sets of the AVR microcontroller. Assembly programs for simple numerical problems, array and list processing. Programming principles, structured programming, subroutine design and parameter passing.
The course covers: Introduction to the micro controller and I/O devices interconnection. General description of the I/O interface. Parallel and serial I/O. Serial communication: asynchronous (RS232) and synchronous. Methods of microprocessor-peripherals communication (flags, switches), Interrupt priority, vector interrupts. Real time operating systems. Data bus management. Direct memory access. Connection of personal computer I/O with a microcontroller system. Introduction to the I/O system of AVR micro controllers. I/O registers and corresponding instructions. AVR interrupt systems. I/O ports (interconnection, circuit planning, LED and switches interconnection). Alternative I/O ports usage: timers, PWM, SPI – USART – TWI, analog comparator – ADC. Digital systems for data acquisition and conversion. Sampling and reconstruction. Quantizers and quantization errors. Quantization noise transmission through the system. Multiplication induced errors. Coefficient quantization induced errors. Choice of sampling frequency. Choice of word length. Digital to analog converters. Analog multiplexers. Analog to digital converters. Programming of the AVR I/O system examples.
The course presents the basic principles of design and function of operating systems. The definition and chronology of modern operating systems are first quoted to continue with the basic concepts and subsystems: Process management (processes, threads, scheduling, synchronization and deadlocks), memory management (segmentation, paging) and virtual memory. Filesystems and IO.
The course covers: Introduction to parallel and high end distributed systems architectures and algorithms. General survey of parallel computer architectures and basic principles from network theory with emphasis on distributed memory architectures, and shared memory systems: multicore and graphics processing units. Basic parallel algorithms for matrix numerical computations, dense and sparse linear systems solving, eigenvalues and eigenvectors computations, sorting and selection, Fourier, wavelet and multipole transforms. Programming interfaces of pthreads, MPI, CUDA and OpenMP.
The course covers: Introduction to algorithms, architectures and development tools for designing, synthesizing and programming real time and embeded systems. (RTES). RTES include sensor monitoring systems, make complex decisions, and drive relays in real time or systems that execute the same program throughout their lifespan, such as mobile telephony systems, positioning systems (GPS), recreation systems (mp3s), digital cameras. RTES are examined from many perspectives such as algorithm and hardware selection and implementations in combination with resource management, such as time and energy. Computer architecture knowledge and programming experience are prerequisites.

PostGraduate

The course covers: Introduction to algorithms, architectures and development tools for designing, synthesizing and programming real time and embedded systems. (RTES). RTES include sensor monitoring systems, make complex decisions, and drive relays in real time or systems that execute the same program throughout their lifespan, such as mobile telephony systems, positioning systems (GPS), recreation systems (mp3s), digital cameras. RTES are examined from many perspectives such as algorithm and hardware selection and implementations in combination with resource management, such as time and energy. Computer architecture knowledge and programming experience are prerequisites.
Copyright © CSAL