Architektura komputerów
Transkrypt
Architektura komputerów
Katedra Mikroelektroniki i Technik Informatycznych Politechnika Łódzka Architektura komputerów dr inż. Bartosz Pękosławski Łódź, dn. 3.10.2015 Dane kontaktowe Adres e-mail: [email protected] Bieżące informacje: www.dmcs.pl/web/bartoszp/strona-pracownika Materiały dla studentów: fiona.dmcs.pl/~bartoszp lux.dmcs.pl/ak Godz. przyjęć: poniedziałki 9:00-10:00, lab. 304 (budynek B19) środy 14:00-15:00, lab. ZK (budynek B18) soboty 10:00-11:00 (tygodnie zjazdowe), lab. ZK (budynek B18) 2 Plan wykładów 1. Wstęp. Systemy zapisu Języki programowania. liczb. Historia maszyn liczących i komputerów. 2. Kodowanie liczb (NKB, U2, BCD, ZM, U1, IEEE 754) 3. Architektura typu single-cycle 4. Architektura typu multi-cycle 5. Mikroprogram 6. Architektura potokowa RISC. Konflikty zasobów i danych. 7. Rozwiązywanie konfliktów danych i sterowania w architekturze Optymalizacja kodu. Forwarding. Wczesne wykrywanie skoków. potokowej. 8. Pamięci cache 9. Przykład architektury RISC – mikrokontroler AVR ATmega 10. Programowanie mikrokontrolera AVR w języku C 3 Literatura Literatura podstawowa: 1. J. L. Hennessy, D. A. Patterson, Computer organization & Design, 2nd Ed., Morgan-Kaufmann Publishers, 1998 2. A. S. Tanenbaum, Strukturalna organizacja systemów komputerowych. Wydanie V, Helion, 2006 Literatura uzupełniająca: 3. R. Baranowski, Mikrokontrolery AVR ATmega w praktyce. BTC 2005 4. W. Stallings, Organizacja i architektura systemu komputerowego, WNT, 2000 5. J. Biernat, Arytmetyka Komputerów, Wydawnictwo Naukowe PWN, 1996 6. J. L. Hennessy, D. A. Patterson, Computer Architecture - A Quantitative Approach, 2nd Ed., Morgan-Kaufmann Publishers, 1996 4 Ocena końcowa 60% ocena z egzaminu, 20% ocena z ćwiczeń, 20% ocena z laboratorium (konieczna ocena pozytywna z każdej części) Zaliczenie ćwiczeń i laboratorium jest warunkiem koniecznym do dopuszczenia do egzaminu. 5 Laboratorium, ćwiczenia Prowadzący ćwiczenia: mgr inż. Artur Andrzejczak, mgr inż. Bartosz Balcerzak Prowadzący laboratorium: mgr inż. Artur Andrzejczak Laboratorium – symulator Escape Architektura mikroprogramowa Architektura potokowa 6 Cele przedmiotu Omówienie kodowania liczb i układów arytmetycznych w systemach komputerowych Przedstawienie zasady działania architektur CISC i RISC: rejestrów, przepływu danych, jednostki sterującej oraz instrukcji maszynowych Zapoznanie z zaawansowanymi cechami współczesnych komputerowych: pamięć cache, pamięć wirtualna systemów Zapoznanie z procesem wykonywania instrukcji maszynowych i programów w języku asemblera 7 Efekty kształcenia Efekt 1: Student potrafi obliczać wartość liczby binarnej w różnych systemach kodowania. Efekt 2: Student potrafi wyjaśnić ograniczenia arytmetyki komputerowej i metody sygnalizacji błędów. Efekt 3: Student potrafi wyjaśnić funkcje elementów składowych architektury procesora. Efekt 4: Student potrafi analizować kod maszynowy i programy w języku asemblera. Efekt 5: Student potrafi rozpoznawać i analizować konflikty podczas przetwarzania potokowego. Efekt 6: Student potrafi wyjaśnić strukturę hierarchicznego systemu pamięci komputera. Efekt 7: Student potrafi tworzyć i oceniać działanie programów w języku asemblera. Egzamin pisemny: efekty 1 ÷ 6 8 Podstawy Podstawy: Podstawy informatyki Wstęp do elektroniki Wstęp do techniki cyfrowej i mikroelektroniki 9 Wykład 1 - plan Slajdy autorstwa dr-a Witolda Marańdy 1. Bardzo krótka historia systemów liczących i maszyn liczących 2. Zastosowania komputerów 3. Języki programowania 4. Przyszłość – interfejsy, konwergencja technologii 10