Politechnika Warszawska - Centralny System Uwierzytelniania
Strona główna

Systemy cyfrowe i komputerowe

Informacje ogólne

Kod przedmiotu: 103A-ELxxx-ISP-SCK
Kod Erasmus / ISCED: (brak danych) / (brak danych)
Nazwa przedmiotu: Systemy cyfrowe i komputerowe
Jednostka: Wydział Elektroniki i Technik Informacyjnych
Grupy: ( Przedmioty podstawowe obieralne )-Systemy zintegrowanej elektroniki i fotoniki-mgr.-EITI
( Przedmioty techniczne )---EITI
( Technika cyfrowa )-Elektronika-inż.-EITI
Punkty ECTS i inne: 3.00 Podstawowe informacje o zasadach przyporządkowania punktów ECTS:
  • roczny wymiar godzinowy nakładu pracy studenta konieczny do osiągnięcia zakładanych efektów uczenia się dla danego etapu studiów wynosi 1500-1800 h, co odpowiada 60 ECTS;
  • tygodniowy wymiar godzinowy nakładu pracy studenta wynosi 45 h;
  • 1 punkt ECTS odpowiada 25-30 godzinom pracy studenta potrzebnej do osiągnięcia zakładanych efektów uczenia się;
  • tygodniowy nakład pracy studenta konieczny do osiągnięcia zakładanych efektów uczenia się pozwala uzyskać 1,5 ECTS;
  • nakład pracy potrzebny do zaliczenia przedmiotu, któremu przypisano 3 ECTS, stanowi 10% semestralnego obciążenia studenta.
Język prowadzenia: polski
Jednostka decyzyjna:

103000 - Wydział Elektroniki i Technik Informacyjnych

Kod wydziałowy:

SCK

Numer wersji:

1

Skrócony opis:

Celem przedmiotu jest zaznajomienie studenta z zasadami działania, architekturami, metodami opisu i technikami realizacji systemów cyfrowych Szczególna uwaga poświęcona będzie przykładowi systemu cyfrowego jaki stanowi system komputerowy. Omówione zostaną bloki typowe dla systemów komputerowych, z postawieniem nacisku na model działania a nie szczegóły specyfikacyjne. Przedstawione zostaną podstawy działania procesora oraz podstawowe architektury procesorów. Po zaliczeniu przedmiotu student powinien wiedzieć jak działa system komputerowy i umieć zaprojektować bloki cyfrowe realizowane jako FPGA lub SoC z wykorzystaniem dostępnych środowisk projektowych.

Pełny opis:

Opis wykładu:

  1. Układ a system cyfrowy. Reprezentacje układów cyfrowych: funkcjonalna, strukturalna, fizyczna. Poziomy abstrakcji reprezentacji systemów. Podejście top-down i bottom-up w projektowaniu. Podstawowe cechy i komponenty systemów cyfrowych. System komputerowy jako przykład systemu cyfrowego: podstawowe bloki, opis abstrakcyjny, architektury von Neumann'a i Harvard.
  2. Model programowy (architektura) i mikroarchitektura procesora. Wprowadzenie. Architektury: CISC, RISC, VLIW. Mikroarchitektury skalarne, superskalarne i wielordzeniowe; hierarchia i dostęp do pamięci; przetwarzanie równoległe, potokowe i rozproszone; przetwarzanie jedno i wielowątkowe.
  3. Architektura NISC jako przykład podstawowej techniki sprzętowej realizacji algorytmu. Automaty sterujące i bloki wykonawcze. Rejestry, układy przełączające. Metody projektowania bloków cyfrowych, wprowadzenie do opisu z wykorzystaniem języków opisu sprzętu.
  4. Model układu cyfrowego. Zachowanie asynchroniczne i synchroniczne. Metody specyfikacji układów cyfrowych. Języki opisu sprzętu i ich wykorzystanie w projektowaniu. Model sprzętu HDL. Poziom bramkowy i poziom RTL. Cykl projektowy, pojęcie symulacji, syntezy logicznej i syntezy topografii. Odwzorowania technologiczne: FPGA, ASIC.
  5. Model działania i czasu HDL (Verilog). Procesy i ich współbieżność. Proces asynchroniczny i synchroniczny. Instrukcje blokujące i ciągłe oraz ich znaczenie w modelowaniu sprzętu, zmienne i sygnały (nets). Typy obiektów i ich znaczenie sprzętowe. Tablice i pamięci. Przykłady modeli Verilog prostych układów kombinacyjnych i rejestrów.
  6. Model struktury HDL. Tworzenie hierarchii i komunikacja pomiędzy modułami układu. Interfejs jednostki (wejścia i wyjścia). Konfiguracja. Parametryzowanie. Mechanizm symulacji. Testbench – przykłady w Verilog. Metody weryfikacji inne niż symulacja.
  7. Projektowanie podstawowych bloków systemu komputerowego. Rejestry równoległe i przesuwające: model i wykorzystanie. Komunikacja szeregowa i równoległa. Liczniki: budowa, model, wykorzystanie. Pojęcie i model automatu regularnego (rejestr, licznik) i automatu o nieregularnej funkcji przejść.
  8. Układ sterownia i bloki wykonawcze. Realizacja układu sterowania; miejsce układu sterowania w mikroarchitekturach procesora; bloki wykonawcze jako układy sekwencyjno-kombinacyjne i ich miejsce w mikroarchitekturach.
  9. Realizacja programu przez procesor. Budowa prostego mikroprocesora (licznik rozkazów, akumulator, alu, ..), na przykładzie modelu MCPU (Minimal CPU). Dekodowanie instrukcji. Elementy asemblera jako ilustracja zasad realizacji programu w systemie komputerowym.
  10. Pamięci. Rodzaje pamięci, zasady adresowania i zapełniania danymi, modele, zastosowania. Pamięci statyczne i dynamiczne. Kolokwium.
  11. Sprzętowa realizacji operacji arytmetycznych i funkcji matematycznych: dodawanie, mnożenie, dzielenie, MAC, filtrowanie, inne funkcje. Parametry układów cyfrowych. Pojęcie szybkości, przepustowości, latencji. Kompromis moc – powierzchnia. Architektura iteracyjna i potokowa. Sterowanie latencją i przepustowością.
  12. Komunikacja. Interfejs komunikacyjny synchroniczny i asynchroniczny. Zasada działania oraz model nadajnika i odbiornika UART w najprostszej postaci. Zasada komunikacji przez magistralę, podstawowy protokół magistrali (rozkazy read i write). Sterowniki magistrali.
  13. Architektury ogólnego przeznaczenia i architektury specjalizowane. CISC, RISC: podstawowe bloki, tryby pracy, sposoby przetwarzania. Procesory sygnałowe, komunikacyjne, graficzne. Pojęcie systemów czasu rzeczywistego.
  14. Weryfikacja i testowanie. Podstawowe informacje o metodach weryfikacji i testowania układów. Dlaczego konieczne jest testowanie. Standardowe cyfrowe bloki testujące. Ścieżka brzegowa. Pojęcie układu wiarygodnego oraz projektowania zorientowanego na testowanie DFT (Design For Testability).
  15. Tendencje rozwojowe. Przegląd języków i narzędzi stosowanych w projektowaniu systemów cyfrowych. Nowe architektury procesorów. Kolokwium.



Projekt:

W ramach projektu studenci rozbudowują lub modyfikują bloki modelu procesora w języku Verilog, udostępnionego w formie tzw. soft IP. Po zweryfikowaniu zaprojektowanego CPU symulują wykonanie na nim zadanego programu. Dzięki temu zmuszeni są zrozumieć zasadę działania procesora, zdobywają umiejętność projektowania z wykorzystaniem HDL oraz rozumieją zasadę realizacji algorytmu (programu) w procesorze. Możliwe są projekty o różnym poziomie złożoności (np. rozbudowywanie systemu o proste interfejsy, współpracę z peryferiami, itp.) wykonywane w zespołach o różnej liczności. Zespół zmuszony byłby do podziału ról i prac w trakcie realizacji projektu oraz ścisłej współpracy w fazie integracji projektu.

Literatura:

  1. Podstawy budowy i działania komputerów. A. Skorupski. WKŁ. 2000.
  2. Organizacja i architektura systemu komputerowego. W. Stallings. WNT. 2000.
  3. Wprowadzenie do języka Verilog, Z.Hajduk, BTC 2015.
  4. IEEE Standard for Verilog® Hardware Description Language, IEEE Computer Society, 2005.

Zajęcia w cyklu "rok akademicki 2023/2024 - sem. zimowy" (zakończony)

Okres: 2023-10-01 - 2024-02-18
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Projekt, 15 godzin, 100 miejsc więcej informacji
Wykład, 30 godzin, 100 miejsc więcej informacji
Koordynatorzy: Arkadiusz Łuczyk
Prowadzący grup: Bartosz Dec, Zbigniew Jaworski, Arkadiusz Łuczyk, Andrzej Wielgus
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103500 - Instytut Mikroelektroniki i Optoelektroniki

Zajęcia w cyklu "rok akademicki 2022/2023 - sem. zimowy" (zakończony)

Okres: 2022-10-01 - 2023-02-19
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Projekt, 15 godzin, 100 miejsc więcej informacji
Wykład, 30 godzin, 100 miejsc więcej informacji
Koordynatorzy: Arkadiusz Łuczyk
Prowadzący grup: Bartosz Dec, Zbigniew Jaworski, Arkadiusz Łuczyk, Andrzej Wielgus
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103500 - Instytut Mikroelektroniki i Optoelektroniki

Zajęcia w cyklu "rok akademicki 2021/2022 - sem. letni" (zakończony)

Okres: 2022-02-23 - 2022-09-30
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Projekt, 15 godzin, 15 miejsc więcej informacji
Wykład, 30 godzin, 15 miejsc więcej informacji
Koordynatorzy: Arkadiusz Łuczyk
Prowadzący grup: Bartosz Dec, Zbigniew Jaworski, Arkadiusz Łuczyk, Andrzej Wielgus
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103500 - Instytut Mikroelektroniki i Optoelektroniki

Zajęcia w cyklu "rok akademicki 2021/2022 - sem. zimowy" (zakończony)

Okres: 2021-10-01 - 2022-02-22
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Projekt, 15 godzin, 120 miejsc więcej informacji
Wykład, 30 godzin, 120 miejsc więcej informacji
Koordynatorzy: Arkadiusz Łuczyk
Prowadzący grup: Bartosz Dec, Zbigniew Jaworski, Arkadiusz Łuczyk, Andrzej Wielgus
Lista studentów: (nie masz dostępu)
Zaliczenie: Ocena łączna
Jednostka realizująca:

103500 - Instytut Mikroelektroniki i Optoelektroniki

Opisy przedmiotów w USOS i USOSweb są chronione prawem autorskim.
Właścicielem praw autorskich jest Politechnika Warszawska.
pl. Politechniki 1, 00-661 Warszawa tel: (22) 234 7211 https://pw.edu.pl kontakt deklaracja dostępności USOSweb 7.0.0.0-7 (2024-03-18)