Politechnika Warszawska - Centralny System Uwierzytelniania
Strona główna

Computer Architecture

Informacje ogólne

Kod przedmiotu: 103A-CTxxx-ISA-ECOAR
Kod Erasmus / ISCED: (brak danych) / (brak danych)
Nazwa przedmiotu: Computer Architecture
Jednostka: Wydział Elektroniki i Technik Informacyjnych
Grupy: ( Computer Systems )-Computer Science, Telecommunications-B.Sc.-EITI
( Computer Systems and Networks - Foundation )-Computer Systems and Networks-M.Sc.-EITI
( Courses in English )--eng.-EITI
( Podstawy informatyki )-Informatyka-inż.-EITI
( Przedmioty techniczne )---EITI
( Technical Courses )--eng.-EITI
Punkty ECTS i inne: 6.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: angielski
Jednostka decyzyjna:

103000 - Wydział Elektroniki i Technik Informacyjnych

Kod wydziałowy:

ECOAR

Numer wersji:

1

Skrócony opis:

Wykład przedstawia budowę i działanie współczesnego procesora i komputera widziane z poziomu programu użytkowego i systemu operacyjnego. Omawiane są podstawy teoretyczne architektury komputerów, reprezentacje danych w komputerze, konstrukcja użytkowego i systemowego modelu programowego oraz mechanizmy sprzętowe umożliwiające implementację logiki komputera,

Pełny opis:

Zapoznanie studentów z architekturą i zasadami działania współczesnych procesorów i komputerów na poziomie oprogramowania użytkowego i systemu operacyjnego. Nabycie umiejętności programowania niskopoziomowego i hybrydowego.

Wykład

  1. Pojęcia podstawowe. Taksonomie architektur komputerów, hierarchia pamięci.
  2. Dane w pamięci komputera – binarne reprezentacje danych. Dane w pamięci, wyrównanie danych. Dane wektorowe.
  3. Wymagania języków wysokiego poziomu. Sekcje pamięci. Stos. Przekazywanie sterowania pomiędzy procedurami. Mapa przestrzeni adresowej programu. Model procesora.
  4. Model programowy procesora – zestawy rejestrów, tryby adresowania, model operacji warunkowych. Konstrukcja listy instrukcji - podejście RISC i CISC. Współczsne architektury post-RISC.
  5. Wprowadzenie do zajęć laboratoryjnych. Program w komputerze – proces tworzenia – kompilacja, asemblacja, konsolidacja, ładowanie do pamięci. Programowanie asemblerowe. Programowanie hybrydowe. Techniki programowania asemblerowego – realizacja wybranych struktur sterowania i algorytmów.
  6. Procesor jednocyklowy – wykonanie instrukcji, ograniczenia. Procesor wielocyklowy z jednostką sterującą, mechanizmy przyspieszające. Potok – synchronizacja, hazardy i opóźnienia. Superpotok.
  7. Architektury superskalarne. Synchronizacja wielopotokowej jednostki wykonawczej. Prezentacja współczesnych architektur wielopotokowych.
  8. Kieszenie jako warstwa hierarchii pamięci — zasada działania, warianty organizacji. Ilościowy model wydajności hierarchii pamięci. Kieszenie wielowarstwowe, spójność.
  9. Problemy wydajnościowe w architekturach superskalarnych i superpotokowych – opóźnienie skoków, opóźnienie danych. Przewidywanie skoków. Sterowanie działaniem kieszeni. Mechanizmy przyspieszające odwołania do danych. Procesory wielowątkowe. Fuzja instrukcji.
  10. Wymagania systemu operacyjnego - zasady ochrony zasobów. Systemowy model programowy procesora. Poziomy zaufania. Maszyny wirtualne.
  11. Zarządzanie pamięcią. Funkcje systemu zarządzania pamięcią. Metody zarządzania pamięcią — prosta relokacja, segmentacja, stronicowanie.
  12. Wyjątki – definicja, klasyfikacja, zastosowanie. Zasady obsługi poszczególnych klas wyjątków. Implementacja systemu pamięci wirtualnej. Przechwycenia w maszynie wirtualnej.
  13. Wejście-wyjście – model logiczny i programowy sterownika. Obsługa urządzeń z aktywnym oczekiwaniem, z przerwaniami i przy użyciu bezpośredniego dostępu do pamięci. Urządzenia pamięci masowej – działanie, charakterystyka użytkowa pamięci dyskowych i półprzewodnikowych.
  14. Struktury komputerów – przegląd. Architektury: pamięciocentryczna, jedno-, i wieloszynowe, architektury z połączeniami punkt-punkt. Ewolucja struktur komputerów.

Ćwiczenia

Binarne reprezentacje danych. Dane w pamięci komputera. Wywołanie procedury – konwencje wołania, ramka stosu. Optymalizacje operacji arytmetycznych. Symulacja działania komputera w Logisim. Monitorowanie pracy rzeczywistego komputera – SDC.

Laboratorium

Programowanie asemblerowe RISC-V w środowisku systemu operacyjnego – symulator RARS. Programowanie hybrydowe x86 i x86-64 – Linux, GCC, NASM.

Literatura: (tylko po angielsku)

  • D. Patterson, J. Hennessy, Computer Organization and Design, The Hardware/Software Interface: RISC-V Edition, 2nd edition, Elsevier 2021
  • The RISC-V Instruction Set Manual Volume I: Unprivileged ISA, riscv.org, 2019
  • Intel® 64 and IA-32 Architectures Software Developer's Manual, Intel Corp.
  • AMD64 Architecture Programmer's Manual, AMD Inc.
  • System V Application Binary Interface, Intel386 Architecture Processor Supplement, 2015
  • System V Application Binary Interface, AMD64 Architecture Processor Supplement, 2018
  • RARS RISC-V Architecture Simulator
  • NASM Netwide Assembler
  • Logisim-evolution
Efekty uczenia się: (tylko po angielsku)

Knowledge

  • Understands the principles of computer's operation and execution of programs by hardware.
  • Knows data representations used by computers and is able to use data types efficiently.
  • Is able to identify performance limitations resulting from computer's hardware structure.
  • Understands the rules of computer's resource management and hardware mechanisms related to resource management and protection.
  • Understands the rules of cooperation between computer and its peripheral devices. Knows the common structures of computers.

Skills

  • Is able to read and write assembly language and hybrid programs.
  • Is able to identify performance limitations caused by software and determine the possibilities of software optimization.
  • Understands the need to self-study. Uses technical literature.

Social competence

  • Is creative as an engineer

Zajęcia w cyklu "rok akademicki 2023/2024 - sem. letni" (w trakcie)

Okres: 2024-02-19 - 2024-09-30
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Ćwiczenia, 15 godzin, 60 miejsc więcej informacji
Laboratorium, 15 godzin, 60 miejsc więcej informacji
Wykład, 30 godzin, 60 miejsc więcej informacji
Koordynatorzy: Grzegorz Mazur
Prowadzący grup: Grzegorz Mazur, Zbigniew Szymański
Lista studentów: (nie masz dostępu)
Zaliczenie: Egzamin
Jednostka realizująca:

103200 - Instytut Informatyki

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ęć:
Ćwiczenia, 15 godzin, 64 miejsc więcej informacji
Laboratorium, 15 godzin, 64 miejsc więcej informacji
Wykład, 30 godzin, 64 miejsc więcej informacji
Koordynatorzy: Grzegorz Mazur
Prowadzący grup: Rajmund Kożuszek, Grzegorz Mazur, Zbigniew Szymański
Lista studentów: (nie masz dostępu)
Zaliczenie: Egzamin
Jednostka realizująca:

103200 - Instytut Informatyki

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

Okres: 2023-02-20 - 2023-09-30
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Ćwiczenia, 15 godzin, 60 miejsc więcej informacji
Laboratorium, 15 godzin, 60 miejsc więcej informacji
Wykład, 30 godzin, 60 miejsc więcej informacji
Koordynatorzy: Grzegorz Mazur
Prowadzący grup: Grzegorz Mazur, Zbigniew Szymański
Lista studentów: (nie masz dostępu)
Zaliczenie: Egzamin
Jednostka realizująca:

103200 - Instytut Informatyki

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ęć:
Ćwiczenia, 15 godzin, 60 miejsc więcej informacji
Laboratorium, 15 godzin, 60 miejsc więcej informacji
Wykład, 30 godzin, 60 miejsc więcej informacji
Koordynatorzy: Grzegorz Mazur
Prowadzący grup: Krystian Chachuła, Grzegorz Mazur, Michał Rudowski, Zbigniew Szymański
Lista studentów: (nie masz dostępu)
Zaliczenie: Egzamin
Jednostka realizująca:

103200 - Instytut Informatyki

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ęć:
Ćwiczenia, 15 godzin, 60 miejsc więcej informacji
Laboratorium, 15 godzin, 60 miejsc więcej informacji
Wykład, 30 godzin, 60 miejsc więcej informacji
Koordynatorzy: Grzegorz Mazur
Prowadzący grup: Grzegorz Mazur, Zbigniew Szymański
Lista studentów: (nie masz dostępu)
Zaliczenie: Egzamin
Jednostka realizująca:

103200 - Instytut Informatyki

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ęć:
Ćwiczenia, 15 godzin, 72 miejsc więcej informacji
Laboratorium, 15 godzin, 72 miejsc więcej informacji
Wykład, 30 godzin, 72 miejsc więcej informacji
Koordynatorzy: Grzegorz Mazur
Prowadzący grup: Rajmund Kożuszek, Grzegorz Mazur, Zbigniew Szymański
Lista studentów: (nie masz dostępu)
Zaliczenie: Egzamin
Jednostka realizująca:

103200 - Instytut Informatyki

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

Okres: 2021-02-20 - 2021-09-30
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Ćwiczenia, 15 godzin, 60 miejsc więcej informacji
Laboratorium, 15 godzin, 60 miejsc więcej informacji
Wykład, 30 godzin, 60 miejsc więcej informacji
Koordynatorzy: Grzegorz Mazur
Prowadzący grup: Rajmund Kożuszek, Grzegorz Mazur, Zbigniew Szymański
Lista studentów: (nie masz dostępu)
Zaliczenie: Egzamin
Jednostka realizująca:

103200 - Instytut Informatyki

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

Okres: 2020-10-01 - 2021-02-19
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Ćwiczenia, 15 godzin, 48 miejsc więcej informacji
Laboratorium, 15 godzin, 48 miejsc więcej informacji
Wykład, 30 godzin, 48 miejsc więcej informacji
Koordynatorzy: Grzegorz Mazur
Prowadzący grup: Rajmund Kożuszek, Grzegorz Mazur, Zbigniew Szymański
Lista studentów: (nie masz dostępu)
Zaliczenie: Egzamin
Jednostka realizująca:

103200 - Instytut Informatyki

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

Okres: 2020-02-22 - 2020-09-30
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Ćwiczenia, 15 godzin, 48 miejsc więcej informacji
Laboratorium, 15 godzin, 48 miejsc więcej informacji
Wykład, 30 godzin, 48 miejsc więcej informacji
Koordynatorzy: Grzegorz Mazur
Prowadzący grup: Rajmund Kożuszek, Grzegorz Mazur, Zbigniew Szymański
Lista studentów: (nie masz dostępu)
Zaliczenie: Egzamin
Jednostka realizująca:

103200 - Instytut Informatyki

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

Okres: 2019-10-01 - 2020-02-21
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Ćwiczenia, 15 godzin, 48 miejsc więcej informacji
Laboratorium, 15 godzin, 48 miejsc więcej informacji
Wykład, 30 godzin, 48 miejsc więcej informacji
Koordynatorzy: Grzegorz Mazur
Prowadzący grup: Rajmund Kożuszek, Grzegorz Mazur, Zbigniew Szymański
Lista studentów: (nie masz dostępu)
Zaliczenie: Egzamin
Jednostka realizująca:

103200 - Instytut Informatyki

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

Okres: 2019-02-18 - 2019-09-30
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Ćwiczenia, 15 godzin, 36 miejsc więcej informacji
Laboratorium, 15 godzin, 36 miejsc więcej informacji
Wykład, 30 godzin, 36 miejsc więcej informacji
Koordynatorzy: Grzegorz Mazur
Prowadzący grup: Rajmund Kożuszek, Grzegorz Mazur, Zbigniew Szymański
Lista studentów: (nie masz dostępu)
Zaliczenie: Egzamin
Jednostka realizująca:

103200 - Instytut Informatyki

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

Okres: 2018-10-01 - 2019-02-17
Wybrany podział planu:
Przejdź do planu
Typ zajęć:
Ćwiczenia, 15 godzin, 48 miejsc więcej informacji
Laboratorium, 15 godzin, 48 miejsc więcej informacji
Wykład, 30 godzin, 48 miejsc więcej informacji
Koordynatorzy: Grzegorz Mazur
Prowadzący grup: Rajmund Kożuszek, Grzegorz Mazur, Zbigniew Szymański
Lista studentów: (nie masz dostępu)
Zaliczenie: Egzamin
Jednostka realizująca:

103200 - Instytut Informatyki

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)