Zajęcia
Informacje o przebiegu zajęć
Data Opis
2023-10-04 Tydzień 1
Wykład: Ewolucja urządzeń automatyzujących proces liczenia. Pobierz PDF
  • Zagadnienia i materiały
  • Zadania
  • Co po tych zajęciach powinno się znać / wiedzieć / umieć
    • Przedstawić wybrane 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 (BPMK), jego język maszynowy i assembler. Pobierz PDF
    • 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, jego język maszynowy i assembler.
    • Zapisywać proste programy przeznaczone do wykonania na BPMK w ramach poznanego języka maszynowego i assemblera.
2023-10-11 Tydzień 2
Wykład: Podstawowe informacje o architekturach procesorów i pamięci. Pobierz PDF
  • Zagadnienia i materiały
    • 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ć
    • Przedstawić wybrane 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
    • Programowanie BPMK - różne rodzaje adresowania. Pobierz PDF
  • 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.
2023-10-18 Tydzień 3
Wykład: Procesor -- podstawowe bloki funkcjonalne i działanie. Pobierz PDF
  • Zagadnienia i materiały
    • A simplified view on processor structure and function.
    • Instruction execution cycle.
    • Processor instruction set (RISC and CISC).
    • Interrupt processing.
  • Zadania
  • Co po tych zajęciach powinno się znać / wiedzieć / umieć
    • Przedstawić (wymienić i okreslić ich rolę) najważniejsze bloki funkcjonalne procesora.
    • Omówć cykl pracy procesora.
    • Scharakteryzować zbiór instruckji procesora (w tym pojęcia RISC oraz CISC).
    • Wyjaśnić czym są i jaką pełnią rolę przerwania.
Ćwiczenia:
  • Zagadnienia i materiały
    • Programowanie BPMK - etykiety i rejestr flagowy. Pobierz PDF
  • 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.
2023-10-25 Tydzień 4
Wykład: Procesor -- tryby pracy, współpraca z koprocesorem matematycznym, jednostka sterująca i jej mikrokod. Pobierz PDF
Ćwiczenia:
  • Zagadnienia i materiały
    • Programowanie BPMK - stos + wywoływanie funkcji za pomocą stosu (uproszczony przypadek). Pobierz PDF
  • 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).
2023-11-08 Tydzień 5
Wykład: Techniki zwiększania wydajności procesora. Część I: pamięć podręczna. Pobierz PDF
  • Zagadnienia i materiały
  • Zadania
  • 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.
    • Wyjasnij zasadę działania pamięci podręcznej (cache memory).
Ćwiczenia:
  • Zagadnienia i materiały
    • Programowanie BPMK - implementacje wybranych algorytmów. Pobierz PDF
  • Zadania
  • Co po tych zajęciach powinno się znać / wiedzieć / umieć
    • Implementować wybrane algorytmy posługując się kodem maszynowym i assemblerem (mnemoniki).
2023-11-15 Tydzień 6
Wykład: Techniki zwiększania wydajności procesora. Część II: przetwarzanie potokowe. Pobierz PDF
  • Zagadnienia i materiały
  • Zadania
  • 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
    • Programowanie BPMK - implementacje wybranych algorytmów. Pobierz PDF
  • Zadania
  • Co po tych zajęciach powinno się znać / wiedzieć / umieć
    • Implementować wybrane algorytmy posługując się kodem maszynowym i assemblerem (mnemoniki).
2023-11-22 Tydzień 7
Wykład: Współczesna architektury procesorów i zestawy instrukcji. Część I. Pobierz PDF
  • Zagadnienia i materiały
  • Zadania
  • 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
    • Kolokwium sprawdzające wiadomości z zakresu ćwiczeń 1-6.
  • Zadania
  • Co po tych zajęciach powinno się znać / wiedzieć / umieć
2023-11-29 Tydzień 8
Wykład: Współczesna architektury procesorów i zestawy instrukcji. Część II. Pobierz PDF
  • Zagadnienia i materiały
  • Zadania
  • 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
  • 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.