Wydział Informatyki - Informatyka (S1)
specjalność: Inżynieria oprogramowania
Sylabus przedmiotu Architektura systemów komputerowych:
Informacje podstawowe
Kierunek studiów | Informatyka | ||
---|---|---|---|
Forma studiów | studia stacjonarne | Poziom | pierwszego stopnia |
Tytuł zawodowy absolwenta | inżynier | ||
Obszary studiów | charakterystyki PRK, kompetencje inżynierskie PRK | ||
Profil | ogólnoakademicki | ||
Moduł | — | ||
Przedmiot | Architektura systemów komputerowych | ||
Specjalność | przedmiot wspólny | ||
Jednostka prowadząca | Katedra Architektury Komputerów i Telekomunikacji | ||
Nauczyciel odpowiedzialny | Mariusz Kapruziak <Mariusz.Kapruziak@zut.edu.pl> | ||
Inni nauczyciele | Krzysztof Makles <Krzysztof.Makles@zut.edu.pl>, Mirosław Łazoryszczak <Miroslaw.Lazoryszczak@zut.edu.pl> | ||
ECTS (planowane) | 6,0 | ECTS (formy) | 6,0 |
Forma zaliczenia | zaliczenie | Język | polski |
Blok obieralny | — | Grupa obieralna | — |
Formy dydaktyczne
Wymagania wstępne
KOD | Wymaganie wstępne |
---|---|
W-1 | Programowanie 1 |
W-2 | Technika cyfrowa |
W-3 | Wiedza o podstawach budowy i działania pamięci komputerowych. |
Cele przedmiotu
KOD | Cel modułu/przedmiotu |
---|---|
C-1 | Wiedza o fundamentalnych architekturach komputerów oraz zarysie historii prac nad tymi architekturami. |
C-2 | Umiejętność wykorzystywania podstawoych metodach zwiększania efektywności obliczeń. |
C-3 | Umiejętność czytania schematów blokowych architektur komputerów. |
C-4 | Umiejętność pisania programów wykorzystujacych wybrane elementy systemów komputerowych. |
Treści programowe z podziałem na formy zajęć
KOD | Treść programowa | Godziny |
---|---|---|
laboratoria | ||
T-L-1 | Płyta główna i umiejętności montażu komputerów. | 4 |
T-L-2 | Budowa, symulowanie i modyfikowanie architekur procesorów na podstawie schematów blokowych, kod maszynowy. | 2 |
T-L-3 | Assembler dla rodziny x86 i natywne programowanie procesora. | 6 |
T-L-4 | Assembler dla rodziny ARM. | 2 |
T-L-5 | Programowania urządzeń wejścia-wyjścia w systemach operacyjnych. | 10 |
T-L-6 | Akceleracja obliczeń, optymalizacja i profilowanie programów. | 6 |
30 | ||
wykłady | ||
T-W-1 | Język asembler dla procesorów x86. | 4 |
T-W-2 | Zaawansowane zagadnienia z języka asemler, asembler dla procesorów ARM. | 2 |
T-W-3 | Architektura von Neumanna. | 2 |
T-W-4 | Komputery CISC, mikroprogram, komputer System\360 i pierwsze architektury koputerów. | 2 |
T-W-5 | Procesory RISC, potok w układzie sterującym procesora, ścieżka krytyczna i jej wpływ na częstotliwość taktowania oraz metody przewidywania skoków. | 2 |
T-W-6 | Architektura x86, tryb chroniony procesora oraz jednostka zmiennopozycyjna. | 2 |
T-W-7 | Hierarchia pamięci i pamięć cache. | 2 |
T-W-8 | Architektury o równoległości poziomu instrukcji (ILP), architktura superskalarna i VLIW. | 2 |
T-W-9 | Rodzina procesorów Pentium, jednostka MMX oraz jednostka SSE. | 2 |
T-W-10 | Architektura ARM, procesory DSP i elementy systemów wbudowanych. | 2 |
T-W-11 | Superkomputery, serwery i dyże systemy komputerowe. | 2 |
T-W-12 | Komputery "multi-core", architektura Nahalem i mikroarchitekury dekady 2010. | 2 |
T-W-13 | Archtektury ARM v5-v8, jednostka Neon. | 2 |
T-W-14 | Katry graficzne, CUDA, akceleratory obliczeń, układy FPGA. | 2 |
30 |
Obciążenie pracą studenta - formy aktywności
KOD | Forma aktywności | Godziny |
---|---|---|
laboratoria | ||
A-L-1 | Uczestnictwo w zajęciach. | 30 |
A-L-2 | Przygotowanie projektów i udział w konsultacjach. | 8 |
A-L-3 | Przygotowanie do zajęć laboratoryjnych. | 15 |
A-L-4 | Samodzielne przygotowanie projektów. | 22 |
75 | ||
wykłady | ||
A-W-1 | Uczestnictwo w zajęciach | 30 |
A-W-2 | Udział w konsultacjach, konkursach i testach/zaliczeniu. | 10 |
A-W-3 | Samodzielne studiowanie literatury i przygotowanie do egzaminu. | 35 |
75 |
Metody nauczania / narzędzia dydaktyczne
KOD | Metoda nauczania / narzędzie dydaktyczne |
---|---|
M-1 | Wykład informacyjny. |
M-2 | Ćwiczenia laboratoryjne. |
Sposoby oceny
KOD | Sposób oceny |
---|---|
S-1 | Ocena podsumowująca: Test zaliczający z wykładów. |
S-2 | Ocena formująca: Test z asemlera. |
S-3 | Ocena formująca: Projekt (oraz konkurs) dotyczący programowania urządzeń wejścia-wyjścia. |
S-4 | Ocena formująca: Test z metod przyspieszania obliczeń. |
S-5 | Ocena formująca: Prezentacja lub raport z wykonania ćwiczeń. |
Zamierzone efekty uczenia się - wiedza
Zamierzone efekty uczenia się | Odniesienie do efektów kształcenia dla kierunku studiów | Odniesienie do efektów zdefiniowanych dla obszaru kształcenia | Odniesienie do efektów uczenia się prowadzących do uzyskania tytułu zawodowego inżyniera | Cel przedmiotu | Treści programowe | Metody nauczania | Sposób oceny |
---|---|---|---|---|---|---|---|
I_1A_C08_W01 Student zna fundamentalne architektury komputerów oraz zarys historii prac nad tymi architekturami. | I_1A_W10 | — | — | C-1, C-3 | T-W-3, T-W-4, T-W-5, T-W-6, T-W-7, T-W-8, T-W-9, T-W-10, T-W-11, T-W-12, T-W-13, T-W-14, T-L-2 | M-1, M-2 | S-1, S-5 |
Zamierzone efekty uczenia się - umiejętności
Zamierzone efekty uczenia się | Odniesienie do efektów kształcenia dla kierunku studiów | Odniesienie do efektów zdefiniowanych dla obszaru kształcenia | Odniesienie do efektów uczenia się prowadzących do uzyskania tytułu zawodowego inżyniera | Cel przedmiotu | Treści programowe | Metody nauczania | Sposób oceny |
---|---|---|---|---|---|---|---|
I_1A_C08_U01 Student umie czytać schematy blokowe architektur komputerów. | I_1A_U08 | — | — | C-3 | T-W-3, T-W-4, T-W-5, T-W-6, T-W-8, T-W-9, T-W-12, T-W-13, T-L-1, T-L-2 | M-1, M-2 | S-1, S-5 |
I_1A_C08_U02 Umiejętność pisania programów wykorzystujacych wybrane elementy systemów komputerowych. | I_1A_U02, I_1A_U08 | — | — | C-4 | T-W-2, T-W-6, T-L-5 | M-1, M-2 | S-3 |
I_1A_C08_U03 Umiejętność wykorzystywania podstawoych metod zwiększania efektywności obliczeń. | I_1A_U02 | — | — | C-2 | T-W-1, T-W-2, T-W-9, T-W-12, T-W-13, T-W-14, T-L-6 | M-1, M-2 | S-2, S-4 |
Kryterium oceny - wiedza
Efekt uczenia się | Ocena | Kryterium oceny |
---|---|---|
I_1A_C08_W01 Student zna fundamentalne architektury komputerów oraz zarys historii prac nad tymi architekturami. | 2,0 | |
3,0 | Student umie narysować i omówić podstaową architekturę komputera. Zna przeznaczenie i funkcjonowanie podstawowych elementów jak dekoder, stos, ALU itp. Umie omówić zarys rozwoju architektur. W szczególności architektury rodziny x86, rodziny ARM, archtiektury RISC, ILP oraz archtiektury "multi-core" oraz zarys dyżych systemów komputerowych. Student zna również sposób działania pamięci cache, jednostki wektorowej czy technologii CUDA. | |
3,5 | Jak na ocenę 3.0 oraz student umie oceniać wady i zalety różnych konstrukcji architektury komputerowej. | |
4,0 | Jak na ocenę 3.0 oraz student umie zaproponować modyfikację dla istniejących/istniejącej architektury oraz obronić jej przydatność. | |
4,5 | Jak na ocenę 4.0 oraz student umie przedstawić implementację/aplikację wykorzystującą własną modyfikację. | |
5,0 | Jak na ocenę 4.5 oraz student zają odpowiednio wysokie miejsce w głosowaniu na najlepszą implementację. |
Kryterium oceny - umiejętności
Efekt uczenia się | Ocena | Kryterium oceny |
---|---|---|
I_1A_C08_U01 Student umie czytać schematy blokowe architektur komputerów. | 2,0 | |
3,0 | Studen umie przedstawić działanie podstawowej struktury procesora oraz dokonać w nim zmian rozumiejąc konsekwencje. | |
3,5 | Student umie zaprezentować swoje zmiany i wyjaśnić skutki zaproponowanych zmian. | |
4,0 | Jak na ocenę 3,5 oraz student umie przedstawić program dla którego zaproponowane zmiany dają zysk. Umie ocenić zysk liczbowo. | |
4,5 | Tak jak na ocenę 4,0 oraz student zają odpowiednio wysokie miejsce w głosowaniu. | |
5,0 | Tak jak na ocenę 4,0 oraz student zają odpowiednio wysokie miejsce w głosowaniu. | |
I_1A_C08_U02 Umiejętność pisania programów wykorzystujacych wybrane elementy systemów komputerowych. | 2,0 | |
3,0 | Student umie samodzielnie napisać aplikację wykorzystującą urządzenie wejścia-wyjścia. | |
3,5 | Student umie przedstawić swoją aplikację wszystkim i opowiedzieć o swoich rozwiązaniach. | |
4,0 | jak na ocenę 3,5 oraz student umie wykorzystywać konstrucje, które nie były bezpośrednio omawiane na zajęciach. | |
4,5 | jak na ocenę 4,0 oraz student zają odpowiednio wysokie miejsce w głosowaniu. | |
5,0 | jak na ocenę 4,0 oraz student zają odpowiednio wysokie miejsce w głosowaniu. | |
I_1A_C08_U03 Umiejętność wykorzystywania podstawoych metod zwiększania efektywności obliczeń. | 2,0 | |
3,0 | Student umie optymalizować wykonanie podstawowych kodów, możliwe są drobne błędy. | |
3,5 | Student umie samodzielnie optymalizować wykonanie podstawowych kodów. Błędy potrafi naprawić bez pomocy prowadzącego. | |
4,0 | jak na ocenę 3.5 oraz student umie samodzielnie znajdować "wąskie gardła". | |
4,5 | Student umie wykorzystywać zaawansowane technologie przy optymalizacji, jak na pryzkład jednostkę wektorową. | |
5,0 | Jak na ocenę 4.5 oraz student zają odpowiednio wysokie miejsce w głosowaniu. |
Literatura podstawowa
- Stallings W., Computer Organization and Architecture, Pearson, 2015
- Pełka R., Mikrokontrolery, architektura, programowanie, zastosowania, WKŁ, 2000
- Stokes J., Inside the Machine, No Starch Press, 2007
- Petterson D, Hennesy J., Computer Organization and Design, Morgan Kaufmann, 2013
- Hill M, Marty M, Amdahl’s Law in the Multicore Era, IEEE Computer Society, 2008
Literatura dodatkowa
- Lyons R., Wprowadzenie do cyfrowego przetwarzania sygnałów, WKŁ, 2000
- Ceruzzi P.E., A History of Modern Computing, MIT Press, 2003
- Silc j, Robic B, Ungerer T, Processor Architecture From Dataflow to Superscalar and Beyond, Springer Verlag, 2011
- Lapsley P, Bier J, Shoham A., DSP Processor Funcamentals, Architectures and Features, IEEE Press, 1997