Politechnika Warszawska - Centralny System Uwierzytelniania
Nie jesteś zalogowany | zaloguj się
katalog przedmiotów - pomoc

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
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 2021/2022 - sem. zimowy" (w trakcie)

Okres: 2021-10-01 - 2022-02-22
Wybrany podział planu:


powiększ
zobacz plan zajęć
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.