Moduł oferowany także w ramach programów studiów:
Informacje ogólne:
Nazwa:
Architektura komputerów
Tok studiów:
2019/2020
Kod:
IINF-1-502-n
Wydział:
Informatyki, Elektroniki i Telekomunikacji
Poziom studiów:
Studia I stopnia
Specjalność:
-
Kierunek:
Informatyka
Semestr:
5
Profil:
Ogólnoakademicki (A)
Język wykładowy:
Polski
Forma studiów:
Niestacjonarne
Strona www:
 
Prowadzący moduł:
dr inż. Zaborowski Wojciech (zab@agh.edu.pl)
Treści programowe zapewniające uzyskanie efektów uczenia się dla modułu zajęć

Celem przedmiotu jest zapoznanie studentów ze strukturą i budową i tendencjami rozwojowymi współczesnych procesorów, komputerów i systemów komputerowych.

Opis efektów uczenia się dla modułu zajęć
Kod MEU Student, który zaliczył moduł zajęć zna i rozumie/potrafi/jest gotów do Powiązania z KEU Sposób weryfikacji i oceny efektów uczenia się osiągniętych przez studenta w ramach poszczególnych form zajęć i dla całego modułu zajęć
Wiedza: zna i rozumie
M_W001 Zna i rozumie cykl życia systemów komputerowych INF1A_W08 Egzamin
M_W002 Zna i rozumie architekturę komputerów i systemów komputerowych INF1A_W09 Egzamin
Umiejętności: potrafi
M_U001 Posługując się językiem angielskim potrafi pozyskiwać informacje z literatury, baz danych i innych źródeł; potrafi integrować uzyskane informacje, dokonywać ich interpretacji, a także wyciągać wnioski oraz formułować i uzasadniać opinie. INF1A_U04, INF1A_U01 Kolokwium
Kompetencje społeczne: jest gotów do
M_K001 Rozumie potrzebę i zna możliwości ciągłego dokształcania się — podnoszenia kompetencji zawodowych, osobistych i społecznych. INF1A_K01 Aktywność na zajęciach
Liczba godzin zajęć w ramach poszczególnych form zajęć:
SUMA (godz.)
Wykład
Ćwicz. aud
Ćwicz. lab
Ćw. proj.
Konw.
Zaj. sem.
Zaj. prakt
Zaj. terenowe
Zaj. warsztatowe
Prace kontr. przejść.
Lektorat
16 16 0 0 0 0 0 0 0 0 0 0
Matryca kierunkowych efektów uczenia się w odniesieniu do form zajęć i sposobu zaliczenia, które pozwalają na ich uzyskanie
Kod MEU Student, który zaliczył moduł zajęć zna i rozumie/potrafi/jest gotów do Forma zajęć dydaktycznych
Wykład
Ćwicz. aud
Ćwicz. lab
Ćw. proj.
Konw.
Zaj. sem.
Zaj. prakt
Zaj. terenowe
Zaj. warsztatowe
Prace kontr. przejść.
Lektorat
Wiedza
M_W001 Zna i rozumie cykl życia systemów komputerowych + - - - - - - - - - -
M_W002 Zna i rozumie architekturę komputerów i systemów komputerowych + - - - - - - - - - -
Umiejętności
M_U001 Posługując się językiem angielskim potrafi pozyskiwać informacje z literatury, baz danych i innych źródeł; potrafi integrować uzyskane informacje, dokonywać ich interpretacji, a także wyciągać wnioski oraz formułować i uzasadniać opinie. + - - - - - - - - - -
Kompetencje społeczne
M_K001 Rozumie potrzebę i zna możliwości ciągłego dokształcania się — podnoszenia kompetencji zawodowych, osobistych i społecznych. + - - - - - - - - - -
Nakład pracy studenta (bilans punktów ECTS)
Forma aktywności studenta Obciążenie studenta
Sumaryczne obciążenie pracą studenta 103 godz
Punkty ECTS za moduł 4 ECTS
Udział w zajęciach dydaktycznych/praktyka 16 godz
Przygotowanie do zajęć 16 godz
Samodzielne studiowanie tematyki zajęć 64 godz
Egzamin lub kolokwium zaliczeniowe 2 godz
Dodatkowe godziny kontaktowe 5 godz
Szczegółowe treści kształcenia w ramach poszczególnych form zajęć (szczegółowy program wykładów i pozostałych zajęć)
Wykład (16h):
Tematyka Wykładów

  1. Zagadnienia wstępne. Podstawowe pojęcia (2godz.)
    Geneza zapotrzebowania na dużą moc komputerową. Zagadnienie synergii w rozwiązywaniu problemu obliczeniowego – struktur danych, środków i narzędzi informatyki oraz architektury komputera. Grupy zastosowań: naukowo-techniczne, przemysłowe, komercyjne. Obliczenia równoległe i rozproszone. Program jako algorytm i dane. Architektura jako sprzęt i oprogramowanie. Przetwarzanie typu HPC i HTC. Zasada Moore’a. Jednostki wydajności i pojemności. Znaczenie lokalności danych.
  2. Typowe zastosowania w nauce i technice (2 godz.)
    Grupy zastosowań. Przykładowe problemy obliczeniowe z wykorzystaniem metody cząstek i metody elementów skończonych. Cztery paradygmaty badań naukowych, Nauka w komputerze. Wielkie wyzwania nauki i techniki. Wymagania w odniesieniu do mocy obliczeniowej, systemów udostępniania danych i infrastruktury sieciowej. Środowisko metakomputerowe.
  3. Metody oceny wydajności systemów komputerowych (2 godz.)
    Cechy miar wydajności i ich taksonomia. Linpack i lista TOP500. Miary konsorcjum SPEC, SAP R3, TPC, składniki SPEC CPU. Reguła Amdahla. Przyspieszenie superliniowe, liniowe i nasycające się. Powody i wpływ części sekwencyjnej. Reguła Gustafsona. Analiza listy TOP500 i wnioski z niej wypływające.
  4. Cechy procesorów w odniesieniu do obliczeń naukowo-technicznych (1 godz.).
    Hierarchia pamięci. Podstawowe różnice między procesorami CISC, RISC i EPIC. Odpowiedniość typu RISC i EPIC w złożonych obliczeniach, optymalizacja obliczeń w procesorze RISC: zmiana kolejności wykonania instrukcji, potokowość, superskalarność, wielowątkowość, wielordzeniowość – poziomy równoległości we współczesnych procesorach i wpływ systemów kompilacji na efektywność programu obliczeniowego. Problematyka pamięci podręcznych procesorów i wymagania algorytmiczne. Metody zwiększania wydajności obliczeniowej. Warunki Bernsteina.
  5. Tendencje rozwojowe procesorów (2 godz.).
    Architektura POWER, Cell, SPARC64 VIII, T1-T3, ARM SoC, GP GPU, FPGA. Przykład realizacji technicznej. Architektura x86 (Core i Opteron). Cechy RAS w odniesieniu do Xeon 7500. Wpływ specjalizowanych systemów kompilacji i bibliotek na wykorzystanie elementów współczesnej architektury (np. AVX). Projekty MIC i SCC. Procesory o heterogenicznych rdzeniach.
  6. Komputer o wielu procesorach (1 godz.).
    Współbieżność a przetwarzanie równoległe. Modele programowania równoległego (z wymianą komunikatów, pamięci współdzielonej, z równoległością danych). Zagadnienia obsługi pamięci podręcznej.
  7. Mechanizm sterowania (1 godz.).
    Taksonomia Flynna (SISD, SIMD, MISD, MIMD). Komputery macierzowe i wektorowe. Zakres zastosowań i odpowiedniość algorytmu obliczeniowego. Ograniczenia rozwojowe.
  8. Organizacja pamięci operacyjnej (2 godz.).
    Pamięć współdzielona, zdalny bezpośredni dostęp do pamięci, pamięć współdzielona, pamięć wirtualnie współdzielona. Modele (protokoły) spójności pamięci podręcznej i zwartości pamięci operacyjnej i ich przykładowe realizacje. Model PRAM.
    #Granulacja procesów i statyczny model warstwy komunikacyjnej (1 godz.).
    Drobna, średnia i gruba ziarnistość obliczeń równoległych. Odpowiedniość ziarnistości do architektury. Statyczny model warstwy komunikacyjnej w komputerze o wielu procesorach. Topologie połączeń, parametry określające ich własności, algorytmy routingu, strategie przełączania i sterowania przepływem danych.
  9. Dynamiczny model warstwy komunikacyjnej (1 godz.).
    Dynamiczny model warstwy komunikacyjnej i jego realizacje (magistrala, przełącznica krzyżowa, sieć przełączająca) wraz z cechami szczególnymi. Złożoność, niezawodność i możliwości rozbudowy. Przykłady realizacji.
  10. Architektura klastrowa (1 godz.).
    Model architektury i specjalizowane protokoły realizacji warstwy komunikacyjnej (m.in. Myrinet, Infiniband). Przedstawienie parametrów protokołów i ich wpływu na wybór modelu obliczeń równoległych oraz projektu algorytmu. Model wirtualizacji rozproszonej pamięci operacyjnej. Zagadnienia technicznej realizacji architektury klastrowej.
    Nowe paradygmaty architektur rozproszonych (2 godz.).
    Architektura serwisowa. Modele architektury gridowej i cloudowej. Zakresy zastosowań. Przykłady aktualnie realizowanych środowisk.
  11. Przykłady rozwiązań technicznych i perspektywy (1 godz.).
    Przedstawienie klasycznych przykładów komputerów o wielu procesorach pochodzących od znanych producentów. Wirtualizacja. Znaczenie obliczeń typu przepływ pracy. Nowe wyzwania stojące przed architekturami komputerowymi związane z czwartym paradygmatem badan naukowych.

Pozostałe informacje
Metody i techniki kształcenia:
  • Wykład: Treści prezentowane na wykładzie są przekazywane w formie prezentacji multimedialnej w połączeniu z klasycznym wykładem tablicowym wzbogaconymi o pokazy odnoszące się do prezentowanych zagadnień.
Warunki i sposób zaliczenia poszczególnych form zajęć, w tym zasady zaliczeń poprawkowych, a także warunki dopuszczenia do egzaminu:

Zasady udziału w zajęciach:
  • Wykład:
    – Obecność obowiązkowa: Nie
    – Zasady udziału w zajęciach: Studenci uczestniczą w zajęciach poznając kolejne treści nauczania zgodnie z syllabusem przedmiotu. Studenci winni na bieżąco zadawać pytania i wyjaśniać wątpliwości. Rejestracja audiowizualna wykładu wymaga zgody prowadzącego.
Sposób obliczania oceny końcowej:

Oceną końcową jest pozytywna ocena uzyskana na egzaminie.
Jeśli w terminie podstawowym egzaminu student uzyskał ocenę negatywną, ocena końcowa jest obliczana jako średnia arytmetyczna ocen uzyskanych w terminie podstawowym i terminie lub terminach poprawkowych.

Sposób i tryb wyrównywania zaległości powstałych wskutek nieobecności studenta na zajęciach:

Wymagania wstępne i dodatkowe, z uwzględnieniem sekwencyjności modułów :

Podstawowa znajomość programowania w C/C++, podstawowa znajomość techniki mikroprocesorowej oraz zagadnień współbieżności

Zalecana literatura i pomoce naukowe:

Literatura podstawowa:

  1. Patterson D.A. , Hennessy J.L. ,: “Computer Organization and Design – The hardware/software interface”. Wyd 5., Morgan Kaufmann, Elsevier, 2014. ISBN: 978-0-12-407726-3
  2. Stallings W.: „Computer organization and architecture. Designing for performance 10th ed”, Pearson Education Inc. 2015. ISBN: 978-0134101613
  3. Hennessy J.L., Patterson D.A.: “Computer architecture. A quantitative approach”, Wyd. 5. Morgan Kaufmann, Elsevier, 2012. ISBN-13: 978-0123838728

Literatura dodatkowa:

  1. Null L., Lobur J.: “Struktura organizacyjna i architektura systemów komputerowych”, Helion, 2004.ISBN: 83-7361-430-3
  2. Stallings W.:“Organizacja i architektura systemu komputerowego. Projektowanie systemu a jego wydajność”, WNT, 2004
  3. Patterson D.A. , Hennessy J.L. ,: “Computer Organization and Design – The hardware/software interface. ARM edition”. Wyd 1., Morgan Kaufmann, Elsevier, 2017. ISBN: 978-0-12-801733-3
Publikacje naukowe osób prowadzących zajęcia związane z tematyką modułu:

M. Bubak, D. Król, R. Słota, M. Orzechowski, J. Kitowski, D. Hoppe, Molecular Dynamics with HyperFlow and Scalarm on the PaaSage Platform, in Proc. of Advances in Service-Oriented and Cloud Computing: Workshops of ESOCC 2016, Vienna, Austria, September 5–7, 2016, Revised Selected Papers vol. 707, Springer 2018, pp. 299-300
D. Hoppe, Y. Sandoval, A. Sulistio, M. Malawski, B. Baliś, M. Pawlik, K. Figiela, D. Król, M. Orzechowski, J. Kitowski, M. Bubak, Bridging the Gap Between HPC and Cloud Using HyperFlow and PaaSage, in: R. Wyrzykowski et al. (Eds.): Proc. of 12th Inter.Conf. on Parallel Processing and Applied Mathematics, PPAM 2017, September 10-13, 2017, LNCS 10777, Springer, 2018, pp. 432–442 (Proceedings indexed by WoS)
M. Wrzeszcz, R. G. Słota, J. Kitowski, Towards Transparent Data Access with Context Awareness, Computer Science Journal, 19 (2) (2018), pp. 201-221 (ESCI WoS journal)
Ł. Opioła, Ł. Dutka, M. Wrzeszcz, R. Słota, J, Kitowski, Two-Layer Load Balancing for Onedata System, Computing and Informatics, 37 (1), 2018, pp. 1-22 (WoS journal)

Informacje dodatkowe:

Brak