Architektura Systemów Komputerowych

Slides:



Advertisements
Podobne prezentacje
Programowanie Komputerów Studia I stopnia Rok I semestr 1
Advertisements

Wstęp do Informatyki, część 1
WYŻSZA SZKOŁA INFORMATYKI I ZARZĄDZANIA z siedzibą w Rzeszowie 1 czwartek, 7 listopada 2013czwartek, 7 listopada 2013czwartek, 7 listopada 2013czwartek,
Wstęp do Informatyki, WSZ, część 1
A.Skorupski „Podstawy budowy i działania komputerów” (Warszawa 2000)
PODSTAWY MARKETINGU Ćwiczenia nr 1.
Podstawy Logiki i Teorii Mnogości
Imperatywne modele obliczeń Copyright, 2000 © Jerzy R. Nawrocki Wprowadzenie do.
Autor pakietu Alicja Kwaśny Szkoła Podstawowa w Okonku 2006 rok
ALG - wykład 1. LICZBY ZESPOLONE.
Technologie Sieciowe 1.
Inżynieria Oprogramowania 2. Wymagania. Kryteria SMART
Inżynieria Oprogramowania 0. Informacje o zajęciach
WYŻSZA SZKOŁA INFORMATYKI I ZARZĄDZANIA z siedzibą w Rzeszowie 1 sobota, 4 stycznia 2014sobota, 4 stycznia 2014sobota, 4 stycznia 2014sobota, 4 stycznia.
WYŻSZA SZKOŁA INFORMATYKI I ZARZĄDZANIA z siedzibą w Rzeszowie 1 sobota, 4 stycznia 2014sobota, 4 stycznia 2014sobota, 4 stycznia 2014sobota, 4 stycznia.
Modelowanie symulacyjne
Ocena Ryzyka w Analizie Finansowej
Rekurencja Copyright, 2000 © Jerzy R. Nawrocki Wprowadzenie do informatyki Wykład.
Budowa komputera Wstęp do informatyki Wykład 15
Rekurencja Copyright, 2001 © Jerzy R. Nawrocki Wprowadzenie do informatyki Wykład.
Metody numeryczne Copyright, 2004 © Jerzy R. Nawrocki Wprowadzenie do informatyki.
Programowanie imperatywne i język C
Budowa komputera Wstęp do informatyki Wykład 6 IBM PC XT (1983)
Procesy współbieżne Copyright, 2005 © Jerzy R. Nawrocki Wstęp do informatyki.
Od algebry Boole’a do komputera
Komunikacja poprzez Internet
Laboratorium z Probabilistyki IV sem. Wydział Transportu
Wykład nr 1: Wprowadzenie. Pojęcia podstawowe
E-learning w kształceniu technicznym
Podstawy projektowania w Autodesk Inventor
Kodowanie i Szyfrowanie Danych
Podstawy Informatyki zajęcia dla Studentów I-go roku studiów na Wydziale Fizyki i Informatyki Stosowanej AGH Dr inż. Piotr Gronek Zakład Informatyki Stosowanej.
PODSTAWY PROGRAMOWANIA
Użytkowanie komputerów
Programowanie w Środowisku Windows
Technika Mikroprocesorowa 1
MATEMATYCZNE MODELOWANIE SYSTEMÓW
Organizacja seminarium dyplomowego inżynierskiego
TECHNIKA CIEPLNA (Z WYMIANĄ CIEPŁA) laboratoria
Modele obliczeń i granice obliczalności Copyright, 1999 © Jerzy R. Nawrocki Wprowadzenie.
WYMAGANIA Przedmiot: psychologia poznawcza
Informatyka jako dziedzina wiedzy
Sygnały cyfrowe i bramki logiczne
Laboratorium z Probabilistyki sem. IV Wydział Transportu
Podstawy Techniki Cyfrowej
Analiza matematyczna i algebra liniowa
Programowanie Matlaba Przedmiot wykładów na Studia doktoranckie Instytut Geofizyki PAN Warszawa 2013/2014.
Informacje organizacyjne MiASI2, TWO2,
TECHNIKA CIEPLNA (Z WYMIANĄ CIEPŁA) laboratoria Łukasz AMANOWICZ Karol BANDURSKI.
Podstawy Techniki Cyfrowej
Wykład 1: Wprowadzenie – znaczenie systemów mobilnych
Pracownia fotografii cyfrowej Jakub Ochnio Wyższa Szkoła Informatyki i Zarządzania.
Programowanie Niskopoziomowe
Wykład 7: Systemy łączności bezprzewodowej
XML i nowoczesne technologie zarządzania treścią Wykład monograficzny Semestr zimowy 2008/09 Szymon ZiołoPatryk Czarnik
Podstawy Techniki Cyfrowej
Budowa komputera Wstęp do informatyki Wykład 6 IBM PC XT (1983)
WYŻSZA SZKOŁA INFORMATYKI I ZARZĄDZANIA z siedzibą w Rzeszowie 1 niedziela, 19 kwietnia 2015niedziela, 19 kwietnia 2015niedziela, 19 kwietnia 2015niedziela,
Od algebry Boole’a do komputera Copyright, 2007 © Jerzy R. Nawrocki Wprowadzenie.
ETYKA ZAWODOWA FUNKCJONARIUSZY SŁUŻB PAŃSTWOWYCH
Technologia kształcenia zawodowego
Rodzaj zajęć: wykład + seminarium + laboratorium Grupa: IM II r. Termin: wykład - wtorek sala C109 lab ; ;
Podstawy Techniki Cyfrowej Dr inż. Marek Mika Państwowa Wyższa Szkoła Zawodowa im. Jana Amosa Komeńskiego W Lesznie Wykład 5: Minimalizacja form boolowskich.
Wykład I Relacyjna baza danych i system zarządzania bazą danych opr. Lech Banachowski, Krzysztof Matejewski1.
MARKETING MIĘDZYNARODOWY
Algorytmy i Struktury Danych Algorithms and Data Structures dr inż. Lech Jamroż Wydział Fizyki, Matematyki I Informatyki.
Osoby prowadzące zajęcia z Informatyki (II część): Prof. Mirosław Czarnecki (W+L) Konsultacje:piątek (p. 302a)
Zarządzanie Procesami mgr Natalia Płominska
Informacje ogólne.
Kurs języka C++ – organizacja zajęć ( )
Zapis prezentacji:

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

Plan Informacje o przedmiocie Definicja komputera Taksonomie architektur komputerowych Hierarchia pamięci komputerowej Maszyna von Neumanna Architektury Harvard, Princeton, Harvard-Princeton

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ń

Prowadzący Wykład: Laboratorium: dr inż. Marek Mika e-mail: Marek.Mika@cs.put.poznan.pl tel. 61 665 3024 (wtorki 11:30-13:30) Laboratorium: dr inż. Łukasz Józefowski dr inż. Jakub Bauman

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

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.

Materiały http://www.cs.put.poznan.pl/mmika/PWSZ/ http://wazniak.mimuw.edu.pl/index.php?title=Architektura_system%C3%B3w_komputerowych http://www.cs.put.poznan.pl/mmika/PWSZ/

Definicja komputera

Rysunek przedstawia oryginalną tabelę taksonomii Flynna Rysunek przedstawia oryginalną tabelę taksonomii Flynna. Są w niej umieszczone cztery klasy architektur komputerowych.

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.

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.

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.

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ć.

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.

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.

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.

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.

Spośród około 30 możliwych topologicznie modeli tylko 7 reprezentuje realizowalne architektury komputerów.

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.

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.

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.

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.

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.

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ę.

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.

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.

Architektura Harvard-Princeton łączy zalety architektury Harvard (wydajność) i Princeton (programowalność). Programowalność nie jest tu jednak dokładnie taka sama, jak w architekturze Princeton.

Wszystkie produkowane współcześnie procesory do komputerów uniwersalnych mają architekturę Harvard-Princeton, z rozdzielonymi kieszeniami kodu i danych.