Moduł oferowany także w ramach programów studiów:
Informacje ogólne:
Nazwa:
Architektura komputerów
Tok studiów:
2014/2015
Kod:
IIN-1-502-s
Wydział:
Informatyki, Elektroniki i Telekomunikacji
Poziom studiów:
Studia I stopnia
Specjalność:
-
Kierunek:
Informatyka
Semestr:
5
Profil kształcenia:
Ogólnoakademicki (A)
Język wykładowy:
Polski
Forma i tryb studiów:
Stacjonarne
Osoba odpowiedzialna:
prof. dr hab. inż. Kitowski Jacek (kito@agh.edu.pl)
Osoby prowadzące:
Krótka charakterystyka modułu

Opis efektów kształcenia dla modułu zajęć
Kod EKM Student, który zaliczył moduł zajęć wie/umie/potrafi Powiązania z EKK Sposób weryfikacji efektów kształcenia (forma zaliczeń)
Wiedza
M_W001 Zna i rozumie cykl życia systemów komputerowych IN1A_W12 Egzamin
M_W002 Zna i rozumie architekturę komputerów i systemów komputerowych IN1A_W13 Egzamin
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. IN1A_U01, IN1A_U05 Kolokwium
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. IN1A_K01 Aktywność na zajęciach
Matryca efektów kształcenia w odniesieniu do form zajęć
Kod EKM Student, który zaliczył moduł zajęć wie/umie/potrafi Forma zajęć
Wykład
Ćwicz. aud
Ćwicz. lab
Ćw. proj.
Konw.
Zaj. sem.
Zaj. prakt
Zaj. terenowe
Zaj. warsztatowe
Inne
E-learning
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. + - - - - - - - - - -
Treść modułu zajęć (program wykładów i pozostałych zajęć)
Wykład:
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 (4 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 (2 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 (4 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 (2 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 (2 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.
9. Granulacja procesów i statyczny model warstwy komunikacyjnej (2 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.
10. Dynamiczny model warstwy komunikacyjnej (2 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.
11. Architektura klastrowa (2 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.
12. Nowe paradygmaty architektur rozproszonych (2 godz.).
Architektura serwisowa. Modele architektury gridowej i cloudowej. Zakresy zastosowań. Przykłady aktualnie realizowanych środowisk.
13. Przykłady rozwiązań technicznych i perspektywy (2 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.

Nakład pracy studenta (bilans punktów ECTS)
Forma aktywności studenta Obciążenie studenta
Sumaryczne obciążenie pracą studenta 60 godz
Punkty ECTS za moduł 2 ECTS
Udział w wykładach 28 godz
Samodzielne studiowanie tematyki zajęć 32 godz
Pozostałe informacje
Sposób obliczania oceny końcowej:

1. Aby uzyskać pozytywną ocenę końcową niezbędne jest uzyskanie pozytywnej oceny z egzaminu oraz kolokwium zaliczeniowego z wykładu.
2. Obliczamy średnią ważoną z ocen z egzaminu (75%) i wykładów (25%) uzyskanych we wszystkich terminach.
3. Wyznaczmy ocenę końcową na podstawie zależności:
if sr>4.75 then OK:=5.0 else
if sr>4.25 then OK:=4.5 else
if sr>3.75 then OK:=4.0 else
if sr>3.25 then OK:=3.5 else OK:=3
4. Jeżeli pozytywną ocenę z zaliczenia wykładu uzyskano w pierwszym terminie oraz ocena końcowa jest mniejsza niż 5.0 to ocena końcowa jest podnoszona o 0.5

Wymagania wstępne i dodatkowe:

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

Zalecana literatura i pomoce naukowe:

1. D. E. Culler, J. Pal Singh „Parallel Computer Architecture”, Morgan Kaufmann, 1999
2. S. Kozielski, Z. Szczerbiński „Komputery równoległe, architektura i elementy oprogramowania”, WNT 1993
3. D.A. Patterson, J.L. Hennessy, “Computer Organization and Design – The hardware/software interface”, Morgan Kaufmann, Elsevier, 2009
4. W. Stallings,“Organizacja i architektura systemu komputerowego. Projektowanie systemu a jego wydajność”, WNT, 2004
5. R. Wyrzykowski, „Klastry komputerów PC i architektury wielordzeniowe: Budowa i wykorzystanie”, EXIT 2009
6. A. Karbowski (Ed.), „Obliczenia Równolegle i Rozproszone”, Oficyna Wydawnicza Politechniki Warszawskiej, 2001.
7. Z. Czech „Wprowadzenie do obliczeń równoległych”, PWN, 2010
8. L. Null, J. Lobur, “Struktura organizacyjna i architektura systemów komputerowych”, Helion, 2004
9. L. Ridgway Scott, T. Clark, and B. Bagheri, „Scientific Parallel Computing”, Princeton University Press, 2005
10. D. B. Kirk, Wen-mei W. Hwu, „Programming Massively Parallel Processors”, Morgan Kaufmann, Elsevier, 2010.

Publikacje naukowe osób prowadzących zajęcia związane z tematyką modułu:

Nie podano dodatkowych publikacji

Informacje dodatkowe:

Brak