2023-10-04 |
Tydzień 1
Wykład: Ewolucja urządzeń automatyzujących proces liczenia.
- Zagadnienia i materiały
- Zadania
- Co po tych zajęciach powinno się znać / wiedzieć / umieć
- Przedstawić omawiane urządzenia jakie pojawiły się w toku rozwoju automatycznch urządzeń przetwarzających dane (komputerów).
- Wyjaśnić o czym mówi prawo Moore'a.
Ćwiczenia:
- Zagadnienia i materiały
- Bardzo prosty model komputera (VSC), jego język maszynowy i assembler (zobacz)
- VSC
- Zadania
- Co po tych zajęciach powinno się znać / wiedzieć / umieć
- Wyjasnić różnicę pomiędzy językiem maszynowym a assemblerem.
- Opisać bardzo prosty model komputera (VSC), jego język maszynowy i assembler.
- Zapisywać proste programy przeznaczone do wykonania na VSC w ramach poznanego języka maszynowego i assemblera.
|
2024-10-11 |
Tydzień 2
Wykład: Podstawowe informacje o architekturach procesorów i pamięci.
- Zagadnienia i materiały
- Processor and memory architectures
- The von Neumann architecture
- The Harvard architecture
- The modified Harvard architecture
- Physical and virtual memory
- Paged virtual memory
- The memory management unit
- Zadania
- Co po tych zajęciach powinno się znać / wiedzieć / umieć
- Omówić podstawowe założenia architektury von Neumanna i Harvardzkiej.
- Wyjaśnić pojęcie pamięci wirtualnej oraz stronicowania pamięci.
Ćwiczenia:
- Zagadnienia i materiały
- Programowanie VSC w zakresie dotychczas poznanych instrukcji.
- Zadania
- Co po tych zajęciach powinno się znać / wiedzieć / umieć
- Zapisywać proste programy przeznaczone do wykonania na VSC w ramach poznanego języka maszynowego i assemblera.
|
2024-10-18 |
Tydzień 3
Wykład: Dokończenie wykładów 1 i 2
- Zagadnienia i materiały
- Moore's law
- Moore's law is dying
- Physical and virtual memory
- Paged virtual memory
- The memory management unit
Ćwiczenia:
- Zagadnienia i materiały
- Programowanie VSC - różne rodzaje adresowania (zobacz)
- Zadania
- Co po tych zajęciach powinno się znać / wiedzieć / umieć
- Wyjasnić przyczynę istnienia różnych trybów adresowania.
- Wyjasnić zasadę działania podstawowych rodzajów adresowania.
|
2024-10-25 |
Tydzień 4
Wykład: Podstawy pracy z VSC
- Zagadnienia i materiały
- Co po tych zajęciach powinno się znać / wiedzieć / umieć
- Umieć posługiwać się VSC.
Ćwiczenia:
- Zagadnienia i materiały
- Programowanie VSC - retykiety i rejestr flagowy (zobacz)
- Zadania
- Co po tych zajęciach powinno się znać / wiedzieć / umieć
- Wyjaśnić zasadność (przyczynę i korzyści) używania etykiet.
- Wyjaśnić czym jest i jaką pełni rolę rejestr flagowy.
|
2024-11-08 |
Tydzień 5
Wykład: Procesor -- podstawowe bloki funkcjonalne i działanie.
- Zagadnienia i materiały
- Co po tych zajęciach powinno się znać / wiedzieć / umieć
- Przedstawić (wymienić i okreslić ich rolę) najważniejsze bloki funkcjonalne procesora.
Ćwiczenia:
- Zagadnienia i materiały
- Programowanie VSC - stos + wywoływanie funkcji za pomocą stosu (uproszczony przypadek) (zobacz)
- Zadania
- Co po tych zajęciach powinno się znać / wiedzieć / umieć
- Wyjaśnić zasadę funkcjonowania stosu.
- Umieć napisać fragment kodu wykorzystujący stos (np. do przekazania argumentów do wywoływanej funkcji lub do zapisania adresu powrotu z wywoływanej funkcji).
|
2024-11-15 |
Tydzień 6
Wykład: Procesor -- rejestry, ich podział i zadania.
- Zagadnienia i materiały
- Co po tych zajęciach powinno się znać / wiedzieć / umieć
- Dokonać podziału / charakterystyki rejestrów.
- Opisać zagadnienia projektowe dotyczące wyboru ilości i rodzaju rejestrów.
Ćwiczenia:
- Zagadnienia i materiały
- Programowanie VSC - stos + i ramka wywołania funkcji (zobacz)
- Zadania
- Co po tych zajęciach powinno się znać / wiedzieć / umieć
- Wyjaśnić zasadę konstruowania i posługwania się ramką wywołania funkcji.
|
2024-11-22 |
Tydzień 7
Wykład: Procesor -- cykl wykonania instrukcji, przerwania.
- Zagadnienia i materiały
- Co po tych zajęciach powinno się znać / wiedzieć / umieć
- Omówć cykl pracy procesora.
- Scharakteryzować zbiór instrukcji procesora (w tym pojęcia RISC oraz CISC).
- Wyjaśnić czym są i jaką pełnią rolę przerwania.
Ćwiczenia:
- Zagadnienia i materiały
- Programowanie VSC - piszemy różne programy
- Zadania
- Co po tych zajęciach powinno się znać / wiedzieć / umieć
- Umieć tworzyć różnorodne, proste, programy w assemblerze.
|
2024-11-29 |
Tydzień 8
Wykład: Procesor -- tryby pracy, współpraca z koprocesorem matematycznym, jednostka sterująca i jej mikrokod.
- Zagadnienia i materiały
- Control unit and mocrocde
- Rysowanie odcinków, sekcja Jak bardzo kosztowne są obliczenia zmiennoprzecinkowe?
- Specialized processor extensions
- Privileged processor modes
- Doing floating-point calculations
- Processor structure and function
- Controlling control unit with micro-operations
- Materiały dodatkowe dla chętnych (teraz mogą być za trudne, ale może kiedyś się przydadzą)
- Co po tych zajęciach powinno się znać / wiedzieć / umieć
- Opisać tryby pracy procesora i uzasadnić potrzebę ich istnienia w systemie komputerowym.
- Opisać sposób współpracy koprocesora matematycznego z głównym procesorem.
- Wyjaśnić czym są mikroinstrukcje i jaki jest ich udział w sterowaniu jednostą sterujacą.
Ćwiczenia:
- Zagadnienia i materiały
- Programowanie VSC - piszemy różne programy
- Zadania
- Co po tych zajęciach powinno się znać / wiedzieć / umieć
- Umieć tworzyć różnorodne, proste, programy w assemblerze.
|
2024-12-06 |
Tydzień 9
Wykład: Techniki zwiększania wydajności procesora. Część I: pamięć podręczna.
- Zagadnienia i materiały
- Co po tych zajęciach powinno się znać / wiedzieć / umieć
- Wyjaśnij zasadniczą różnicę pomiędzy pamięciami typu DRAM a pamięciami typu SRAM.
- Wyjaśnij zasadę działania pamięci podręcznej (cache memory).
Ćwiczenia:
- Zagadnienia i materiały
- Algebra Boole’a - podstawowe definicje, własności.
- Zadania
- Co po tych zajęciach powinno się znać / wiedzieć / umieć
- Definicje algebry Boole'a.
- Podstawowe własności i prawa (wraz z dowodami).
- Funkcjonalnie pełne zestawy operatorów.
|
2024-12-13 |
Tydzień 10
Wykład: Techniki zwiększania wydajności procesora. Część II: przetwarzanie potokowe.
- Zagadnienia i materiały
- Co po tych zajęciach powinno się znać / wiedzieć / umieć
- Wyjasnij ideę przetwarzania potokowego (instruction pipelining).
- Wyjaśnij różnicę pomiędzy procesoram skalarnym a superskalarnym (superscalar processing).
- Wyjaśnij na czym polega zjawisko pipeline hazard.
- Wyjaśnij na czym polega i kiedy jest możliwe wykonanie instrukcji poza kolejnością (out of order execution).
- Wyjaśnij jak działa przemianowanie rejsetrów (register renaming).
- Co oznacza pojęcie simultaneous multithreading.
- Wyjaśnij na czym polega przetwarzanie typu SIMD (single instruction, multiple data processing).
Ćwiczenia:
- Zagadnienia i materiały
- Kolokwium sprawdzające wiadomości z zakresu ćwiczeń 1-8.
- Zadania
- Co po tych zajęciach powinno się znać / wiedzieć / umieć
|
2024-12-20 |
Tydzień 11
Wykład: Współczesna architektury procesorów i zestawy instrukcji. Część I.
- Zagadnienia i materiały
- Co po tych zajęciach powinno się znać / wiedzieć / umieć
- Omów różne tryby adresowania, wyjaśnij zasadność ich obecności.
Ćwiczenia:
- Zagadnienia i materiały
- Algebra Boole’a a bramki logiczne.
- Zadania
- Co po tych zajęciach powinno się znać / wiedzieć / umieć
- Umieć dla zadanego wyrażenie Boolowskiego skonstruować odpowiadający jemu układ logiczny.
- Umieć dla zadanego układu logicznego skonstruować odpowiadające jemu wyrażenie Boolowskie.
|
2025-01-03 |
Tydzień 12
Wykład: Współczesna architektury procesorów i zestawy instrukcji. Część II.
- Zagadnienia i materiały
- Co po tych zajęciach powinno się znać / wiedzieć / umieć
- Omów wpływ liczby adresów zawartych w każdej instrukcji na język maszynowy.
- Omów problemy i kompromisy związane z projektowaniem formatu instrukcji.
Ćwiczenia:
- Zagadnienia i materiały
- Podstawy projektowania układów cyfrowych.
- Zadania
- Co po tych zajęciach powinno się znać / wiedzieć / umieć
- Zdefiniować dla zadanego problemu zależność pomiędzy sygnałami wejściowymi a wyjściowymi.
- Zbudować wyrażenie opisujące zależność sygnału wyjściowego od wejściowego.
|
2025-01-10 |
Tydzień 13
Wykład: Współczesna architektury procesorów i zestawy instrukcji. Procesory typu CISC na przykładzie rodziny x86 oraz x64
- Zagadnienia i materiały
- Co po tych zajęciach powinno się znać / wiedzieć / umieć
- Scharakteryzować architekturę CISC na przykładzie architektury x86 i jej zestawu rozkazów.
Ćwiczenia:
- Zagadnienia i materiały
- Podstawy projektowania układów cyfrowych.
- Zadania
- Co po tych zajęciach powinno się znać / wiedzieć / umieć
- Zdefiniować dla zadanego problemu zależność pomiędzy sygnałami wejściowymi a wyjściowymi.
- Zbudować wyrażenie w postaci sumy iloczynów lub iloczynu sum opisujące zależność pomiędzy sygnałami wejściowymi a wyjściowymi.
- Umieć w praktyce stosować mapy Karnaugh'a.
|
2025-01-17 |
Tydzień 14
Wykład: Współczesna architektury procesorów i zestawy instrukcji. Procesory typu RISC.
- Zagadnienia i materiały
- Co po tych zajęciach powinno się znać / wiedzieć / umieć
- Scharakteryzować architekturę CISC na przykładzie architektury x86 i jej zestawu rozkazów.
Ćwiczenia:
- Zagadnienia i materiały
- Kolokwium II - podstawy projektowania układów cyfrowych.
- Zadania
- Co po tych zajęciach powinno się znać / wiedzieć / umieć
|
2025-01-24 |
Tydzień 15
Wykład: Wirtualizacja.
- Zagadnienia i materiały
- Co po tych zajęciach powinno się znać / wiedzieć / umieć
- Co oznacza wirtualizacja.
- Scharakteryzuj wirtualizację na poziomie systemu operacyjnego (nadzorca, hypervisor, typu 1 oraz typu 2).
- Omów rodzaje wirtualizacji procesora.
- Czym różni się wirtualizacja od konteneryzacji.
Ćwiczenia:
- Zagadnienia i materiały
- Podstawy projektowania układów cyfrowych (proste układy kombinacyjne m.in. komparator, dekoder, (de)multiplexer, sumator).
- Hazard.
- Układy sekwencyjne: przerzutnik RS.
- Zadania
- Co po tych zajęciach powinno się znać / wiedzieć / umieć
- Umieć zaprojektować prosty układ kombinacyjny.
- Omówić zagadnienie hazardu w układach logicznych.
- Omówić zasadę działania przerzutnika.
|