Architektury systemów komputerowych lato 2015/16

Język wykładowy Polski
Opiekun Krystian Bacławski
Liczba godzin 30 (wyk.) 30 (ćw-prac.)
Rodzaj Informatyczny 1
ECTS 6
Polecany dla I roku Nie
Egzamin Tak
Grupy efektów kształcenia Architektury systemów komputerowych

Opis przedmiotu:

Wykład jest elementarnym wprowadzeniem do budowy i zasad działania komputerow z punktu widzenia programisty. Po zaliczeniu przedmiotu studenci powinni rozumieć jaki wpływ ma architektura komputera na wydajność aplikacji, ktore przyjdzie im implementować w praktyce zawodowej. #### **Program:** **Architektura programowa [16h]** * Organizacja komputera (składowe systemu, ewolucja, RISC vs. CISC, ograniczenia). * Reprezentacja danych w pamięci komputera (integer, float, string, audio, image). * Reprezentacja programow w pamięci komputera (MIPS ISA, debugowanie, deasemblacja). * Programowanie strukturalne (warunki, pętle, stos, procedury, wskaźniki, tablice, struktury, unie). * Proces kompilacji i konsolidacji (symbole, sekcje, relokacja, ABI, pliki ELF, układ pamięci). * Tryby pracy procesora (model użytkownika i systemowy, zasoby i instrukcje uprzywilejowane). * Przerwania i wyjątki (obsługa, wektor przerwań, priorytety, NMI, tryb krokowy). * Dostęp do urządzeń wejścia-wyjścia (MMIO, odpytywanie, przerwania, DMA). **Pamięć [6h]** * Organizacja pamięci operacyjnej (czasu dostępu, protokoł DDR). * Dyski magnetyczne i połprzewodnikowe (multi-zone recording, buforowanie, odśmiecanie blokow). * Pamięć podręczna (organizacja, polityka wymiany i zapisu). * Tłumaczenie adresow (stronicowanie, wielopoziomowe tablice stron, TLB). **Architektura procesora [4h]** * Elementarz mikroarchitektury (układy kombinacyjne i sekwencyjne, przerzutnik, multiplekser, ALU). * Procesor jednocyklowy. * Przetwarzanie potokowe (etapy przetwarzania instrukcji MIPS, hazardy danych i kontroli). **Przetwarzanie r ownoległe [4h]** * Superskalarność (architektura Out-of-Order, spekulacja, przemianowywanie rejestrow, SMT). * Przewidywanie skokow (BHT, BTAC, przewidywanie lokalne i globalne). * Systemy SMP (instrukcje atomowe, komunikacja międzyprocesorowa, cache snooping). * Przetwarzanie wektorowe (SIMD, procesory wektorowe, GPGPU). **Literatura:** * [Computer Organization and Design: The Hardware/Software Interface](http://store.elsevier.com/Computer-Organization-and-Design/David-Patterson/isbn-9780124077263/ "Computer Organization and Design: The Hardware/Software Interface"); piąte wydanie; Hennesy, Patterson * [Computer Systems: A Programmer's Perspective](http://csapp.cs.cmu.edu/); trzecie wydanie; Randal E. Bryant, David R. O'Hallaron #### Zajęcia: Większość zajęć do przedmiotu będzie prowadzona w postaci ćwiczeń z deklaracjami. Pozostałe to pracownie programistyczne (programowanie w asemblerze MIPS) i projekty programistyczne (prosty asembler lub symulator procesora MIPS, symulator pamięci podręcznej i predyktora skokow).

Wykłady

Lista
Prowadzący Termin zajęć Limit Zapisani Kolejka
Krystian Bacławski
cz 16:00-18:00 (s. 25) 300 58 0

UWAGA! Wyższa liczba oznacza wyższy priorytet, po zapisaniu do grupy zostajemy usunięci z kolejek o niższym priorytecie.

Ćwiczenia

Lista
Prowadzący Termin zajęć Limit Zapisani Kolejka
Piotr Polesiuk
wt 12:00-14:00 (s. 141) 20 22 0
Krystian Bacławski
cz 14:00-16:00 (s. 103) 20 14 0
Emanuel Kieroński
śr 12:00-14:00 (s. 104) 20 8 0
Tomasz Wierzbicki
pn 16:00-18:00 (s. 103) 20 13 0

UWAGA! Wyższa liczba oznacza wyższy priorytet, po zapisaniu do grupy zostajemy usunięci z kolejek o niższym priorytecie.


Konsultacje prowadzących:


Imię i nazwisko Pokój Konsultacje
Krystian Bacławski 324 Przy użyciu MS Teams, wyłącznie po uprzednim umówieniu się drogą elektroniczną. Dostępny termin na konsultacje to poniedziałek 16-18.
Tomasz Wierzbicki 303 Po wcześniejszym umówieniu pocztą elektroniczną. Nie w trakcie lub bezpośrednio przed moimi zajęciami (plan zajęć jest dostępny w systemie Zapisy).
Piotr Polesiuk 338 wtorek 14-16
Emanuel Kieroński 304 wtorki 10-11 środy 10-11