Zachodniopomorski Uniwersytet Technologiczny w Szczecinie

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

Forma dydaktycznaKODSemestrGodzinyECTSWagaZaliczenie
laboratoriaL3 30 3,00,60zaliczenie
wykładyW3 30 3,00,40zaliczenie

Wymagania wstępne

KODWymaganie wstępne
W-1Programowanie 1
W-2Technika cyfrowa
W-3Wiedza o podstawach budowy i działania pamięci komputerowych.

Cele przedmiotu

KODCel modułu/przedmiotu
C-1Wiedza o fundamentalnych architekturach komputerów oraz zarysie historii prac nad tymi architekturami.
C-2Umiejętność wykorzystywania podstawoych metodach zwiększania efektywności obliczeń.
C-3Umiejętność czytania schematów blokowych architektur komputerów.
C-4Umiejętność pisania programów wykorzystujacych wybrane elementy systemów komputerowych.

Treści programowe z podziałem na formy zajęć

KODTreść programowaGodziny
laboratoria
T-L-1Płyta główna i umiejętności montażu komputerów.4
T-L-2Budowa, symulowanie i modyfikowanie architekur procesorów na podstawie schematów blokowych, kod maszynowy.2
T-L-3Assembler dla rodziny x86 i natywne programowanie procesora.6
T-L-4Assembler dla rodziny ARM.2
T-L-5Programowania urządzeń wejścia-wyjścia w systemach operacyjnych.10
T-L-6Akceleracja obliczeń, optymalizacja i profilowanie programów.6
30
wykłady
T-W-1Język asembler dla procesorów x86.4
T-W-2Zaawansowane zagadnienia z języka asemler, asembler dla procesorów ARM.2
T-W-3Architektura von Neumanna.2
T-W-4Komputery CISC, mikroprogram, komputer System\360 i pierwsze architektury koputerów.2
T-W-5Procesory 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-6Architektura x86, tryb chroniony procesora oraz jednostka zmiennopozycyjna.2
T-W-7Hierarchia pamięci i pamięć cache.2
T-W-8Architektury o równoległości poziomu instrukcji (ILP), architktura superskalarna i VLIW.2
T-W-9Rodzina procesorów Pentium, jednostka MMX oraz jednostka SSE.2
T-W-10Architektura ARM, procesory DSP i elementy systemów wbudowanych.2
T-W-11Superkomputery, serwery i dyże systemy komputerowe.2
T-W-12Komputery "multi-core", architektura Nahalem i mikroarchitekury dekady 2010.2
T-W-13Archtektury ARM v5-v8, jednostka Neon.2
T-W-14Katry graficzne, CUDA, akceleratory obliczeń, układy FPGA.2
30

Obciążenie pracą studenta - formy aktywności

KODForma aktywnościGodziny
laboratoria
A-L-1Uczestnictwo w zajęciach.30
A-L-2Przygotowanie projektów i udział w konsultacjach.8
A-L-3Przygotowanie do zajęć laboratoryjnych.15
A-L-4Samodzielne przygotowanie projektów.22
75
wykłady
A-W-1Uczestnictwo w zajęciach30
A-W-2Udział w konsultacjach, konkursach i testach/zaliczeniu.10
A-W-3Samodzielne studiowanie literatury i przygotowanie do egzaminu.35
75

Metody nauczania / narzędzia dydaktyczne

KODMetoda nauczania / narzędzie dydaktyczne
M-1Wykład informacyjny.
M-2Ćwiczenia laboratoryjne.

Sposoby oceny

KODSposób oceny
S-1Ocena podsumowująca: Test zaliczający z wykładów.
S-2Ocena formująca: Test z asemlera.
S-3Ocena formująca: Projekt (oraz konkurs) dotyczący programowania urządzeń wejścia-wyjścia.
S-4Ocena formująca: Test z metod przyspieszania obliczeń.
S-5Ocena 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ówOdniesienie do efektów zdefiniowanych dla obszaru kształceniaOdniesienie do efektów uczenia się prowadzących do uzyskania tytułu zawodowego inżynieraCel przedmiotuTreści programoweMetody nauczaniaSposób oceny
I_1A_C08_W01
Student zna fundamentalne architektury komputerów oraz zarys historii prac nad tymi architekturami.
I_1A_W10C-1, C-3T-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-2M-1, M-2S-1, S-5

Zamierzone efekty uczenia się - umiejętności

Zamierzone efekty uczenia sięOdniesienie do efektów kształcenia dla kierunku studiówOdniesienie do efektów zdefiniowanych dla obszaru kształceniaOdniesienie do efektów uczenia się prowadzących do uzyskania tytułu zawodowego inżynieraCel przedmiotuTreści programoweMetody nauczaniaSposób oceny
I_1A_C08_U01
Student umie czytać schematy blokowe architektur komputerów.
I_1A_U08C-3T-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-2M-1, M-2S-1, S-5
I_1A_C08_U02
Umiejętność pisania programów wykorzystujacych wybrane elementy systemów komputerowych.
I_1A_U02, I_1A_U08C-4T-W-2, T-W-6, T-L-5M-1, M-2S-3
I_1A_C08_U03
Umiejętność wykorzystywania podstawoych metod zwiększania efektywności obliczeń.
I_1A_U02C-2T-W-1, T-W-2, T-W-9, T-W-12, T-W-13, T-W-14, T-L-6M-1, M-2S-2, S-4

Kryterium oceny - wiedza

Efekt uczenia sięOcenaKryterium oceny
I_1A_C08_W01
Student zna fundamentalne architektury komputerów oraz zarys historii prac nad tymi architekturami.
2,0
3,0Student 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,5Jak na ocenę 3.0 oraz student umie oceniać wady i zalety różnych konstrukcji architektury komputerowej.
4,0Jak na ocenę 3.0 oraz student umie zaproponować modyfikację dla istniejących/istniejącej architektury oraz obronić jej przydatność.
4,5Jak na ocenę 4.0 oraz student umie przedstawić implementację/aplikację wykorzystującą własną modyfikację.
5,0Jak na ocenę 4.5 oraz student zają odpowiednio wysokie miejsce w głosowaniu na najlepszą implementację.

Kryterium oceny - umiejętności

Efekt uczenia sięOcenaKryterium oceny
I_1A_C08_U01
Student umie czytać schematy blokowe architektur komputerów.
2,0
3,0Studen umie przedstawić działanie podstawowej struktury procesora oraz dokonać w nim zmian rozumiejąc konsekwencje.
3,5Student umie zaprezentować swoje zmiany i wyjaśnić skutki zaproponowanych zmian.
4,0Jak na ocenę 3,5 oraz student umie przedstawić program dla którego zaproponowane zmiany dają zysk. Umie ocenić zysk liczbowo.
4,5Tak jak na ocenę 4,0 oraz student zają odpowiednio wysokie miejsce w głosowaniu.
5,0Tak 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,0Student umie samodzielnie napisać aplikację wykorzystującą urządzenie wejścia-wyjścia.
3,5Student umie przedstawić swoją aplikację wszystkim i opowiedzieć o swoich rozwiązaniach.
4,0jak na ocenę 3,5 oraz student umie wykorzystywać konstrucje, które nie były bezpośrednio omawiane na zajęciach.
4,5jak na ocenę 4,0 oraz student zają odpowiednio wysokie miejsce w głosowaniu.
5,0jak 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,0Student umie optymalizować wykonanie podstawowych kodów, możliwe są drobne błędy.
3,5Student umie samodzielnie optymalizować wykonanie podstawowych kodów. Błędy potrafi naprawić bez pomocy prowadzącego.
4,0jak na ocenę 3.5 oraz student umie samodzielnie znajdować "wąskie gardła".
4,5Student umie wykorzystywać zaawansowane technologie przy optymalizacji, jak na pryzkład jednostkę wektorową.
5,0Jak na ocenę 4.5 oraz student zają odpowiednio wysokie miejsce w głosowaniu.

Literatura podstawowa

  1. Stallings W., Computer Organization and Architecture, Pearson, 2015
  2. Pełka R., Mikrokontrolery, architektura, programowanie, zastosowania, WKŁ, 2000
  3. Stokes J., Inside the Machine, No Starch Press, 2007
  4. Petterson D, Hennesy J., Computer Organization and Design, Morgan Kaufmann, 2013
  5. Hill M, Marty M, Amdahl’s Law in the Multicore Era, IEEE Computer Society, 2008

Literatura dodatkowa

  1. Lyons R., Wprowadzenie do cyfrowego przetwarzania sygnałów, WKŁ, 2000
  2. Ceruzzi P.E., A History of Modern Computing, MIT Press, 2003
  3. Silc j, Robic B, Ungerer T, Processor Architecture From Dataflow to Superscalar and Beyond, Springer Verlag, 2011
  4. Lapsley P, Bier J, Shoham A., DSP Processor Funcamentals, Architectures and Features, IEEE Press, 1997

Treści programowe - laboratoria

KODTreść programowaGodziny
T-L-1Płyta główna i umiejętności montażu komputerów.4
T-L-2Budowa, symulowanie i modyfikowanie architekur procesorów na podstawie schematów blokowych, kod maszynowy.2
T-L-3Assembler dla rodziny x86 i natywne programowanie procesora.6
T-L-4Assembler dla rodziny ARM.2
T-L-5Programowania urządzeń wejścia-wyjścia w systemach operacyjnych.10
T-L-6Akceleracja obliczeń, optymalizacja i profilowanie programów.6
30

Treści programowe - wykłady

KODTreść programowaGodziny
T-W-1Język asembler dla procesorów x86.4
T-W-2Zaawansowane zagadnienia z języka asemler, asembler dla procesorów ARM.2
T-W-3Architektura von Neumanna.2
T-W-4Komputery CISC, mikroprogram, komputer System\360 i pierwsze architektury koputerów.2
T-W-5Procesory 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-6Architektura x86, tryb chroniony procesora oraz jednostka zmiennopozycyjna.2
T-W-7Hierarchia pamięci i pamięć cache.2
T-W-8Architektury o równoległości poziomu instrukcji (ILP), architktura superskalarna i VLIW.2
T-W-9Rodzina procesorów Pentium, jednostka MMX oraz jednostka SSE.2
T-W-10Architektura ARM, procesory DSP i elementy systemów wbudowanych.2
T-W-11Superkomputery, serwery i dyże systemy komputerowe.2
T-W-12Komputery "multi-core", architektura Nahalem i mikroarchitekury dekady 2010.2
T-W-13Archtektury ARM v5-v8, jednostka Neon.2
T-W-14Katry graficzne, CUDA, akceleratory obliczeń, układy FPGA.2
30

Formy aktywności - laboratoria

KODForma aktywnościGodziny
A-L-1Uczestnictwo w zajęciach.30
A-L-2Przygotowanie projektów i udział w konsultacjach.8
A-L-3Przygotowanie do zajęć laboratoryjnych.15
A-L-4Samodzielne przygotowanie projektów.22
75
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta

Formy aktywności - wykłady

KODForma aktywnościGodziny
A-W-1Uczestnictwo w zajęciach30
A-W-2Udział w konsultacjach, konkursach i testach/zaliczeniu.10
A-W-3Samodzielne studiowanie literatury i przygotowanie do egzaminu.35
75
(*) 1 punkt ECTS, odpowiada około 30 godzinom aktywności studenta
PoleKODZnaczenie kodu
Zamierzone efekty uczenia sięI_1A_C08_W01Student zna fundamentalne architektury komputerów oraz zarys historii prac nad tymi architekturami.
Odniesienie do efektów kształcenia dla kierunku studiówI_1A_W10Posiada uporządkowaną i pogłębioną wiedzę z zakresu architektury systemów komputerowych, uwzględniającą współczesne kierunki rozwoju sprzętu komputerowego.
Cel przedmiotuC-1Wiedza o fundamentalnych architekturach komputerów oraz zarysie historii prac nad tymi architekturami.
C-3Umiejętność czytania schematów blokowych architektur komputerów.
Treści programoweT-W-3Architektura von Neumanna.
T-W-4Komputery CISC, mikroprogram, komputer System\360 i pierwsze architektury koputerów.
T-W-5Procesory RISC, potok w układzie sterującym procesora, ścieżka krytyczna i jej wpływ na częstotliwość taktowania oraz metody przewidywania skoków.
T-W-6Architektura x86, tryb chroniony procesora oraz jednostka zmiennopozycyjna.
T-W-7Hierarchia pamięci i pamięć cache.
T-W-8Architektury o równoległości poziomu instrukcji (ILP), architktura superskalarna i VLIW.
T-W-9Rodzina procesorów Pentium, jednostka MMX oraz jednostka SSE.
T-W-10Architektura ARM, procesory DSP i elementy systemów wbudowanych.
T-W-11Superkomputery, serwery i dyże systemy komputerowe.
T-W-12Komputery "multi-core", architektura Nahalem i mikroarchitekury dekady 2010.
T-W-13Archtektury ARM v5-v8, jednostka Neon.
T-W-14Katry graficzne, CUDA, akceleratory obliczeń, układy FPGA.
T-L-2Budowa, symulowanie i modyfikowanie architekur procesorów na podstawie schematów blokowych, kod maszynowy.
Metody nauczaniaM-1Wykład informacyjny.
M-2Ćwiczenia laboratoryjne.
Sposób ocenyS-1Ocena podsumowująca: Test zaliczający z wykładów.
S-5Ocena formująca: Prezentacja lub raport z wykonania ćwiczeń.
Kryteria ocenyOcenaKryterium oceny
2,0
3,0Student 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,5Jak na ocenę 3.0 oraz student umie oceniać wady i zalety różnych konstrukcji architektury komputerowej.
4,0Jak na ocenę 3.0 oraz student umie zaproponować modyfikację dla istniejących/istniejącej architektury oraz obronić jej przydatność.
4,5Jak na ocenę 4.0 oraz student umie przedstawić implementację/aplikację wykorzystującą własną modyfikację.
5,0Jak na ocenę 4.5 oraz student zają odpowiednio wysokie miejsce w głosowaniu na najlepszą implementację.
PoleKODZnaczenie kodu
Zamierzone efekty uczenia sięI_1A_C08_U01Student umie czytać schematy blokowe architektur komputerów.
Odniesienie do efektów kształcenia dla kierunku studiówI_1A_U08Potrafi dobrać i krytycznie ocenić elementy składowe systemów komputerowych.
Cel przedmiotuC-3Umiejętność czytania schematów blokowych architektur komputerów.
Treści programoweT-W-3Architektura von Neumanna.
T-W-4Komputery CISC, mikroprogram, komputer System\360 i pierwsze architektury koputerów.
T-W-5Procesory RISC, potok w układzie sterującym procesora, ścieżka krytyczna i jej wpływ na częstotliwość taktowania oraz metody przewidywania skoków.
T-W-6Architektura x86, tryb chroniony procesora oraz jednostka zmiennopozycyjna.
T-W-8Architektury o równoległości poziomu instrukcji (ILP), architktura superskalarna i VLIW.
T-W-9Rodzina procesorów Pentium, jednostka MMX oraz jednostka SSE.
T-W-12Komputery "multi-core", architektura Nahalem i mikroarchitekury dekady 2010.
T-W-13Archtektury ARM v5-v8, jednostka Neon.
T-L-1Płyta główna i umiejętności montażu komputerów.
T-L-2Budowa, symulowanie i modyfikowanie architekur procesorów na podstawie schematów blokowych, kod maszynowy.
Metody nauczaniaM-1Wykład informacyjny.
M-2Ćwiczenia laboratoryjne.
Sposób ocenyS-1Ocena podsumowująca: Test zaliczający z wykładów.
S-5Ocena formująca: Prezentacja lub raport z wykonania ćwiczeń.
Kryteria ocenyOcenaKryterium oceny
2,0
3,0Studen umie przedstawić działanie podstawowej struktury procesora oraz dokonać w nim zmian rozumiejąc konsekwencje.
3,5Student umie zaprezentować swoje zmiany i wyjaśnić skutki zaproponowanych zmian.
4,0Jak na ocenę 3,5 oraz student umie przedstawić program dla którego zaproponowane zmiany dają zysk. Umie ocenić zysk liczbowo.
4,5Tak jak na ocenę 4,0 oraz student zają odpowiednio wysokie miejsce w głosowaniu.
5,0Tak jak na ocenę 4,0 oraz student zają odpowiednio wysokie miejsce w głosowaniu.
PoleKODZnaczenie kodu
Zamierzone efekty uczenia sięI_1A_C08_U02Umiejętność pisania programów wykorzystujacych wybrane elementy systemów komputerowych.
Odniesienie do efektów kształcenia dla kierunku studiówI_1A_U02Potrafi zaplanować i zrealizować eksperymenty w zakresie oceny wydajności, złożoności, efektywności systemów informatycznych i ich składowych.
I_1A_U08Potrafi dobrać i krytycznie ocenić elementy składowe systemów komputerowych.
Cel przedmiotuC-4Umiejętność pisania programów wykorzystujacych wybrane elementy systemów komputerowych.
Treści programoweT-W-2Zaawansowane zagadnienia z języka asemler, asembler dla procesorów ARM.
T-W-6Architektura x86, tryb chroniony procesora oraz jednostka zmiennopozycyjna.
T-L-5Programowania urządzeń wejścia-wyjścia w systemach operacyjnych.
Metody nauczaniaM-1Wykład informacyjny.
M-2Ćwiczenia laboratoryjne.
Sposób ocenyS-3Ocena formująca: Projekt (oraz konkurs) dotyczący programowania urządzeń wejścia-wyjścia.
Kryteria ocenyOcenaKryterium oceny
2,0
3,0Student umie samodzielnie napisać aplikację wykorzystującą urządzenie wejścia-wyjścia.
3,5Student umie przedstawić swoją aplikację wszystkim i opowiedzieć o swoich rozwiązaniach.
4,0jak na ocenę 3,5 oraz student umie wykorzystywać konstrucje, które nie były bezpośrednio omawiane na zajęciach.
4,5jak na ocenę 4,0 oraz student zają odpowiednio wysokie miejsce w głosowaniu.
5,0jak na ocenę 4,0 oraz student zają odpowiednio wysokie miejsce w głosowaniu.
PoleKODZnaczenie kodu
Zamierzone efekty uczenia sięI_1A_C08_U03Umiejętność wykorzystywania podstawoych metod zwiększania efektywności obliczeń.
Odniesienie do efektów kształcenia dla kierunku studiówI_1A_U02Potrafi zaplanować i zrealizować eksperymenty w zakresie oceny wydajności, złożoności, efektywności systemów informatycznych i ich składowych.
Cel przedmiotuC-2Umiejętność wykorzystywania podstawoych metodach zwiększania efektywności obliczeń.
Treści programoweT-W-1Język asembler dla procesorów x86.
T-W-2Zaawansowane zagadnienia z języka asemler, asembler dla procesorów ARM.
T-W-9Rodzina procesorów Pentium, jednostka MMX oraz jednostka SSE.
T-W-12Komputery "multi-core", architektura Nahalem i mikroarchitekury dekady 2010.
T-W-13Archtektury ARM v5-v8, jednostka Neon.
T-W-14Katry graficzne, CUDA, akceleratory obliczeń, układy FPGA.
T-L-6Akceleracja obliczeń, optymalizacja i profilowanie programów.
Metody nauczaniaM-1Wykład informacyjny.
M-2Ćwiczenia laboratoryjne.
Sposób ocenyS-2Ocena formująca: Test z asemlera.
S-4Ocena formująca: Test z metod przyspieszania obliczeń.
Kryteria ocenyOcenaKryterium oceny
2,0
3,0Student umie optymalizować wykonanie podstawowych kodów, możliwe są drobne błędy.
3,5Student umie samodzielnie optymalizować wykonanie podstawowych kodów. Błędy potrafi naprawić bez pomocy prowadzącego.
4,0jak na ocenę 3.5 oraz student umie samodzielnie znajdować "wąskie gardła".
4,5Student umie wykorzystywać zaawansowane technologie przy optymalizacji, jak na pryzkład jednostkę wektorową.
5,0Jak na ocenę 4.5 oraz student zają odpowiednio wysokie miejsce w głosowaniu.