Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
1
Architektura Systemów Komputerowych
Wykład 1: Wstęp Dr inż. Marek Mika Państwowa Wyższa Szkoła Zawodowa im. Jana Amosa Komeńskiego W Lesznie
2
Plan Informacje o przedmiocie Definicja komputera
Taksonomie architektur komputerowych Hierarchia pamięci komputerowej Maszyna von Neumanna Architektury Harvard, Princeton, Harvard-Princeton
3
Informacje o przedmiocie
Przedmiot kierunkowy (minimum programowe) Wymiar: wykład: 30 godzin laboratorium: 30 godzin Liczba punktów ECTS: 5 Forma zaliczenia: wykład: egzamin laboratorium: wykonanie ćwiczeń i sprawozdań
4
Prowadzący Wykład: Laboratorium: dr inż. Marek Mika
tel (wtorki 11:30-13:30) Laboratorium: dr inż. Łukasz Józefowski dr inż. Jakub Bauman
5
Cel nauczania przedmiotu
Zapoznanie studentów z: logiczną i fizyczną budową komputera podstawowymi elementami składowymi komputera reprezentacją liczb całkowitych i rzeczywistych oraz sposobem wykonywania operacji na tych reprezentacjach różnymi architekturami systemów komputerowych
6
Literatura Piotr Metzger „Anatomia PC.” wyd. XI, Helion, 2007.
Andrew S. Tanenbaum, „Strukturalna organizacja systemów komputerowych.” wyd. V, Helion, 2006 Janusz Biernat „Arytmetyka Komputerów.” PWN, 1996. Sławomir Gryś „Arytmetyka komputerów” PWN/Mikom, 2007. Piotr Gałka i Paweł Gałka „Podstawy programowania mikrokontrolera 8051”, PWN, 2007.
7
Materiały http://www.cs.put.poznan.pl/mmika/PWSZ/
8
Definicja komputera
11
Rysunek przedstawia oryginalną tabelę taksonomii Flynna
Rysunek przedstawia oryginalną tabelę taksonomii Flynna. Są w niej umieszczone cztery klasy architektur komputerowych.
12
Przykładem architektury klasy SISD jest najbardziej rozpowszechniona architektura – uniprocesor von Neumanna, opisany w dalszym ciągu wykładu. Klasa MISD jest dość problematyczna – trudno wskazać wzorcowego reprezentanta tego typu. Można przyjąć, że założenia MISD w pewnym sensie realizują maszyny potokowe, np. procesory graficzne. Do klasy MIMD należą tzw. wieloprocesory lub wielokomputery von Neumanna, czyli maszyny złożone z wielu połączonych uniprocesorów von Neumanna.
13
Tabelę Flynna można rozszerzyć o dodatkowy wiersz i kolumnę, odpowiadające zerowej liczbie strumieni instrukcji i danych. Urządzenie bez strumieni danych nie jest komputerem – w tej części tabeli można by umieścić niektóre automaty. Znacznie bardziej interesujący jest wiersz odpowiadający architekturom bez strumieni instrukcji. Są to tzw. komputery sterowane przepływem danych.
15
Komputer sterowany przepływem danych nie ma jawnych instrukcji
Komputer sterowany przepływem danych nie ma jawnych instrukcji. Operuje on na tzw. „tokenach”, czyli obiektach złożonych z danych i opisujących je znaczników – metek. Metka zastępuje instrukcję. Na podstawie metki procesor sterowany przepływem danych przekształca cały token- zarówno dane jak i metkę, tworząc nowy token. O ile maszyny dataflow nie są współcześnie konstruowane, to samo podejście dtaflow jest używane do opisu procesów informacyjnych.
17
Taksonomia Skillicorna jest zbudowany całkowicie odmiennie od taksonomii Flynna. Zakłada ona, że każda architektura stanowi połączenie pewnej liczby składników. W ten sposób taksonomia syntetyzuje architekturę, zamiast ją klasyfikować.
18
Taksonomia Skillicorna posługuje się abstrakcyjnymi składnikami architektury. Procesory instrukcji pobierają instrukcje z hierarchii pamięci instrukcji i przekazują je procesorom danych do wykonania. Procesory danych wykonują operacje na danych pobieranych z hierarchii pamięci danych i zapisują wyniki tych operacji z powrotem do hierarchii pamięci. Same procesory danych nie zawierają żadnych elementów pamiętających. W modelach architektur przyjmuje się, że liczba hierarchii pamięci jest równa liczbie procesorów danego typu. Oznacza to, że model architektury ze wspólną hierarchią pamięci dla kilku procesorów jest przedstawiany jako model z kilkoma hierarchiami pamięci i możliwością dostępu każdego procesora do każdej hierarchii pamięci.
19
Tworząc modele w taksonomii Skillicorna przyjmuje się kilak założeń
Tworząc modele w taksonomii Skillicorna przyjmuje się kilak założeń. Liczba hierarchii pamięci jest równa liczbie procesorów. Komputer musi zawierać przynajmniej jeden procesor danych. Dozwolone są połączenia pomiędzy procesorami i hierarchiami pamięci tego samego rodzaju (kodu albo danych) oraz połączenia pomiędzy procesorami.
20
Rysunek przedstawia prosty model w taksonomii Skillicorna (jest to model uniprocesora von Neumanna). Procesory są oznaczone symbolicznie kołami, a hierarchie pamięci – trójkątami. Strzałki reprezentują połączenia i kierunki przesyłania informacji. Strzałki pionowe z prawej strony procesorów i hierarchii pamięci reprezentują żądania dostępów, a strzałki po prawej stronie – przepływ instrukcji i danych. Na kolejnych rysunkach podwójne strzałki zostaną zastąpione pojedynczymi, reprezentującymi kierunki przepływu danych i instrukcji, z pominięciem żądań dostępu.
21
Procesor instrukcji przesyła do hierarchii pamięci instrukcji żądanie pobrania instrukcji. W odpowiedzi otrzymuje instrukcje. instrukcje przesyłane są po zdekodowaniu do procesora danych, który wykonuje operacje na danych. Procesor danych przesyła do hierarchii pamięci żądania operacji odczytu i zapisu. Dane pomiędzy procesorem danych i hierarchią pamięci danych przesyłane są w dwóch kierunkach (strzałka po prawej stronie). Procesor danych przesyła do procesora instrukcji informacje o stanie przetwarzania, umożliwiające procesorowi instrukcji decydowanie o dalszym przebiegu wykonania programu w zależności od wyników przetwarzania danych.
22
Spośród około 30 możliwych topologicznie modeli tylko 7 reprezentuje realizowalne architektury komputerów.
26
Taksonomia Skillicorna posługuje się pojęciem hierarchii pamięci w miejsce dużo bardziej popularnego pojęcia pamięci. Słowo „hierarchia” dobrze oddaje budowę pamięci współczesnego komputera, w którym znajduje się kilka bloków funkcjonalnych służących do przechowywania programów i danych. Idealny komputer powinien mieć jak największą i jak najszybszą pamięć. Pojemność pamięci wpływa na jej fizyczne rozmiary, a te – na czas dostępu. Nie można więc zbudować dowolnie dużej i jednocześnie szybkiej pamięci. Problem ten rozwiązuje się przez wyodrębnienie wielu warstw o zróżnicowanej pojemności i szybkości, tworzących razem hierarchię pamięci. Kolejne warstwa w miarę oddalania się od procesora mają coraz większe pojemności i coraz dłuższe czasy dostępu.
27
Hierarchia pamięci współczesnego komputera, z punktu widzenia konstrukcji komputera, składa się z czterech warstw. Rejestry fizycznie znajdują się wewnątrz procesora, dzięki czemu dostęp do nich jest bardzo szybki. Kieszenie, wprowadzone po raz pierwszy około 1968 roku, zapewniają buforowania danych pomiędzy procesorem i pamięcią operacyjną w celu przyspieszenie dostępu do pamięci. Warstwa pamięci wirtualnej, powstała również około 1968 roku, zapewnia rozszerzenie pamięci operacyjnej. Z punktu widzenia użytkownika do hierarchii pamięci należy zaliczyć wszelkie zasoby służące przechowywaniu danych. Logiczne staje się więc uzupełnienie rysunku o lokalny system plików komputera oraz o zasoby zdalne, w postaci nośników wymiennych i serwerów sieciowych.
28
O ile zasada działania hierarchii pamięci dotyczy wszystkich warstw, to mechanizmy sterujące przemieszczaniem danych pomiędzy poszczególnymi warstwami są różne. O umieszczeniu danych w rejestrach decyduje programista piszący program w języku asemblerowym lub kompilator języka wysokiego poziomu. Styk warstwy kieszeni i pamięci operacyjnej jest sterowany na poziomie sprzętu. Stykiem pamięci operacyjnej i wirtualnej steruje system operacyjny przy użyciu jednostki zarządzania pamięcią. O umieszczeniu danych w pamięci wirtualnej decyduje użytkownik – otwierając plik danych lub uruchamiając program. Przemieszczaniem danych pomiędzy lokalnym systemem plików i nośnikami wymiennymi lub zasobami sieciowymi steruje użytkownik.
29
Tabela przedstawia orientacyjne parametry poszczególnych warstw hierarchii pamięci. Należy zwrócić uwagę na dużą różnicę czasów dostępu kieszeni i pamięci – czas podany dla pamięci dotyczy pojedynczego, losowego dostępu do pamięci dynamicznej typu DDR.
30
Architektura von Neumanna jest określona przez zestaw cech
Architektura von Neumanna jest określona przez zestaw cech. Model maszyny von Neumanna wprowadza specyficzny mechanizm dostępu do pamięci – poprzez adres. Z takiej organizacji pamięci i z faktu przechowywania w niej programu wynika z kolei obecność rejestru licznika instrukcji.
31
Dwa warianty architektury von Neumanna różnią się sposobem przechowywania instrukcji i danych. Architektura Harvard jest niekiedy uważana za architekturę nie spełniającą postulatów von Neumanna wobec faktu oddzielnego przechowywania instrukcji i danych. Kolejne rysunki posługują się symbolami zapożyczonymi z taksonomii Skillicorna w sposób sprzeczny z zasadami budowy modeli wprowadzonymi przez tę taksonomię.
32
Hierarchia pamięci w architekturze Harvard-Princeton charakteryzuje się częściowym rozdzieleniem hierarchii pamięci. Co najmniej jeden poziom kieszeni jest oddzielny dla hierarchii pamięci instrukcji i danych.
36
Hierarchia pamięci w architekturze Harvard-Princeton charakteryzuje się częściowym rozdzieleniem hierarchii pamięci. Co najmniej jeden poziom kieszeni jest oddzielny dla hierarchii pamięci instrukcji i danych.
37
Architektura Harvard-Princeton łączy zalety architektury Harvard (wydajność) i Princeton (programowalność). Programowalność nie jest tu jednak dokładnie taka sama, jak w architekturze Princeton.
38
Wszystkie produkowane współcześnie procesory do komputerów uniwersalnych mają architekturę Harvard-Princeton, z rozdzielonymi kieszeniami kodu i danych.
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.