Krótka wycieczka do wnętrza komputera -ra i -nki w akcji, czyli jak działa komputer Roman Simiński roman.siminski@us.edu.pl www.siminskionline.pl
Kraina do której trafiła Alicja była zupełnie inna...... a co by zobaczyła w krainie komputerów??? Walt Disney Pictures 2
Alicja w krainie komputerów Walt Disney Pictures Czyli krótka wycieczka do wnętrza komputera 3
Co jest tam, dalej? Co jest tam, dalej? Walt Disney Pictures 4
To nie wygląda zbyt ciekawie... 5
Komputer w książce... Komórki, adresy, zera, jedynki..., po co to wszystko? 6
Komputer na co dzień... Przecież informatyka to Internet, MySpace, FaceBook, gry, grafika... 7
Czym zajmuje się informatyka? Informatyka to nauka o: pozyskiwaniu, przetwarzaniu, magazynowaniu, Przesyłaniu informacji, przy użyciu technicznych środków informatyki. 8
Co to jest informacja? Informacja to..., hmmm, umówmy się, że pozostaniemy przy intuicyjnym rozumieniu tego pojęcia. Dlaczego? Jeśli ktoś jest ciekawy, niech poszuka choćby w Wikipedii: http://pl.wikipedia.org/wiki/informacja 9
Komputer w drugiej dekadzie XXI wieku
Komputer w drugiej dekadzie XXI wieku
Komputer w drugiej dekadzie XXI wieku 2
Komputer za chwilę?
Jakim cudem ta elektronika pozwala na wymianę informacji? Zastanówmy się, na czym polega wymiana informacji? Musi być nadawca, odbiorca, informacja, kanał wymiany informacji. Kanał wymiany informacji??? Nadawca? Informacja Odbiorca 4
Prehistoryczna wymiana informacji ;) Zastanówmy się, na czym polega wymiana informacji? Musi być nadawca, odbiorca, informacja, kanał wymiany informacji. Kanał wymiany informacji I love you! Nadawca Informacja Odbiorca 5
Trochę bardziej współczesna wymiana informacji... Kanał wymiany informacji... I love you! Nadawca Informacja Odbiorca 6
Trochę bardziej współczesna wymiana informacji... Kanał wymiany informacji I znowu te zera i jedynki, po co to wszystko!?... I love you! Nadawca Informacja Odbiorca 7
Informacja musi zostać dostosowana do specyfiki kanału transmisyjnego Informacja musi zostać w pewien sposób zakodowana, tak aby można ją przesłać danym kanałem wymiany informacji. Podstawowym ale nie jedynym sposobem wymiany informacji jest przekazywanie tekstów. Tekst składa się ze znaków najważniejsze są litery i cyfry. Zatem trzeba ustalić sposób kodowania znaków za pośrednictwem sygnałów właściwych dla danego kanału transmisyjnego. 8
www.tawakonidistrict.org http://www.math.edu.pl/alfabet-morsa http://www.sluchowisko.net/nowosci/9/daktylografia---mowa-palcowa---polski-alfabet-migowy/ Różne sposoby kodowania znaków dla wymiany informacji 9
Taki układ może służyć do transmisji informacji alfabetem Morse'a I love you! Da radę przekazać komunikat? + - 2
Kodowanie znaków dla przekazu telegraficznego ASCII ASCII American Standard Code for Information Interchange 2
Załóżmy własny system kodowania znaków A N 4 B 2 O 5 C 3 P. 27 28 6 D 4 Q 7 E 5 R 8 F 6 S 9 G 7 T 2 H 8 U 2 I 9 V J W 23 K X 24 L 2 Y 25 M 3 Z 26 I LOVE YOU 22 I L O V E Y O U 9 28 2 5 22 5 28 24 5 2 22
Jak przesłać zakodowany liczbowo komunikat? I L O V E Y O U 9 28 2 5 22 5 28 24 5 2? + 23
Skąd wiemy jaka jest wartość liczby? Na co dzień posługujemy się dziesiętnym, pozycyjnym systemem liczenia. Wykorzystujemy dziesięć cyfr: 2 3 4 5 6 7 8 9 Z nich budujemy liczby. Każda pozycja liczby ma wagę, będącą potęgą wartości. 2 2 5 5 2 = 5 = 2 = + 25 24
A może zamiast liczyć do -ciu będziemy liczyc do 2-ch? Niech podstawą liczenia będzie 2 Taki system liczenia nazywamy binarnym Ile będzie cyfr: 2 Jakie to będą cyfry: Z nich budujemy liczby binarne Załóżmy, że używamy liczb mających osiem cyfr Nr bitu: 7 6 5 4 3 2 Potęga 2: 7 6 5 4 3 2 2 2 2 4 2 Waga: 2 28 2 2 2 2 64 32 6 8 25
Jak liczymy w systemie binarnym? Nr bitu: 7 6 5 4 3 2 Potęga 2: 7 6 5 4 2 3 2 2 2 2 2 Waga: 2 2 2 28 64 32 6 8 4 2 = 2 = 4 = 4 8 = 8 6 = 32 = 64 = 28 = + 3 26
Komunikat w systemie binarnym I L O V E Y O U 9 28 2 5 22 5 28 24 5 2 27
Dlaczego system binarny? Nie Płynie płynie prąd prąd Nie Płynie płynie prąd prąd Nie Świeci świeci światło światło Nie Świeci świeci światło światło Sygnał Brak dźwięku Sygnał Brakdźwiękowy dźwiękowy dźwięku Płynie Płynie prąd prąd Świeci Świeci światło światło Sygnał Sygnał dźwiękowy dźwiękowy 28
Przesłanie litery I I L O V E Y O U 9 28 2 5 22 5 28 24 5 2 Napięcie [ V ].5 Czas [ s ] Napięcie [ V ].5 + - Czas [ s ] 29
Aby to wszystko działało, potrzebna jest synchronizacja I L O V E Y O U 9 28 2 5 22 5 28 24 5 2 Napięcie [ V ].5 Czas [ s ] Napięcie [ V ].5 + - Czas [ s ] 3
Liczby binarne łatwo przesyłać Aby przesyłać liczby binarne, wystarczy kanał komunikacyjny, w którym niosący informację sygnał przyjmuje dwie rozróżnialne wartości. Czasem wartości odpowiada brak sygnału, a wartości jego obecność. 3
Liczby binarne łatwo przesyłać Czasem -u przypisuje się pewna ustaloną wartość sygnału, a -ce inną, wyraźnie różną wartość. Napięcie [ V ].5 Czas [ s ] - 32
Transmisja szeregowa Transmisja szeregowa polega na kolejnym przesyłaniu i, odbywać się to może asynchronicznie oraz synchronicznie. Nadawca Nadawca Nadawca Nadawca Synchronizacja Sterowanie Odbiorca Odbiorca Odbiorca Odbiorca 33
Transmisja równoległa Transmisja równoległa polega na jednoczesnym przesyle i, każdy bit informacji posiada swój własny podkanał transmisyjny. Nadawca Nadawca Odbiorca Odbiorca 34
Rejestr czyli liczba binarna w potrzasku Rejestr to układ, który służy do przechowywania informacji w postaci liczb binarnych. Do rejestru można zapisywać informacje, z rejestru można je również odczytywać. Każdy bit liczby jest pamiętany i może być przekazywany dalej. Zapis Zapis Odczyt Odczyt 35
Pamięć hurtownia rejestrów Pamięć to ciąg kolejno ułożonych rejestrów, każdy rejestr zwany jest komórka pamięci. Każda komórka ma swój numer, zwany adresem. Układ pamięci pozwala na zapisywanie i odczytywanie informacji do/z komórki o określonym adresie. 2 3... Zapis Zapis N Odczyt Odczyt 36
A nieco poważniej... Jak działa komputer? 37
Komputer co to jest? Są dziesiątki definicji głupich, mądrych, prostych i złożonych. Na potrzeby dzisiejszego spotkania przyjmijmy, że: Komputer to system wzajemnie powiązanych elementów elektronicznych o dedykowanym przeznaczeniu, stanowiący platformę sprzętową pozwalającą na wykonywanie programów. Wśród owych dedykowany elementów elektronicznych najważniejsze są: procesory, pamięci, układy sprzęgające, układy wejścia/wyjścia, pamięci masowe (zewnętrzne). 38
Komputer dlaczego takie elementy składowe? Dwie podstawowe architektury organizacji systemów komputerowych: architektura van Neumana architektura Harwardzka. W roku 945 John von Neumann, J. Prespera Eckert i John Mauchly, podczas realizacji projektu komputera ENIAC, tworzą koncepcję programu zintegrowanego, składowanego w pamięci oraz maszyny wykonującej ten program. Koncepcja jest rozpowszechniana w formie notatki służbowej a kierownik projektu H. Goldstine sygnuje ją tylko nazwiskiem von Neumanna pomijając dwóch pozostałych autorów. Prawdopodobnie w związku z takim przebiegiem zdarzeń dziś używamy terminu architektura von Neumana. 39
Architektura von Neumanna, elementy Pamięć operacyjna Procesor Urządzenia zewnętrzne Magistrala danych Magistrala adresowa Magistrala sterująca 4
Pamięć operacyjna Pamięć operacyjna Adres 2 3... N Informacja przechowywana jest w komórkach o jednakowym rozmiarze, każda komórka zawiera jednostkę informacji zwaną słowem, zazwyczaj ma ono rozmiar jednego bajta. Komórki tworzą zbiór uporządkowany, a każdej komórce można przypisać unikatowy identyfikator, tzw. adres. Zawartość komórki pamięci może być zmieniona tylko przez procesor jako przesłanie słowa do pamięci w wyniku wykonania rozkazu (współcześnie niekoniecznie tak jest, np. DMA). Sposób przechowywania danych i instrukcji jest taki sam są kodowane binarnie we wspólnej pamięci. 4
Procesor ogólny schemat i istota działania Istotą procesora jest wykonywanie rozkazów maszynowych zapisanych w pamięci operacyjnej. Inne specyficzne działania procesora wykonywane są po to, aby powyższy proces odbywała się maksymalnie sprawnie. Kod maszynowy to ciąg rozkazów zrozumiałych dla procesora. Procesor pobiera, identyfikuje i wykonuje te rozkazy. Rozkazy pobierane są z komórek pamięci operacyjnej, gdzie są zapisane w postaci binarnej. Rozkazy te operują na informacjach zapisanych w pamięci operacyjnej w postaci danych. Kody rozkazów oraz dane są przekazywane pomiędzy procesorem a pamięcią poprzez magistrale. 42
Urządzenia zewnętrzne Zadaniem urządzeń zewnętrznych jest dostarczanie, wizualizacja, wymiana i magazynowanie informacji dla procesora. Dostarczanie informacji urządzenia wejściowe: klawiatura, myszka, tablety, panele dotykowe, ekrany dotykowe. Wizualizacja informacji urządzenia wyjściowe: monitory, wyświetlacze, drukarki, projektory. Wymiana informacji karty sieciowe (przewodowe i bezprzewodowe), łączność w paśmie podczerwieni, komunikacja typu bluetooth. Magazynowanie informacji dyski, dyskietki, karty pamięci, płyty CD, DVD, systemy archiwizacyjne. 43
Pamięć operacyjna a pamięci zewnętrzne Pamięć operacyjna jest zazwyczaj realizowana jako pamięć RAM pamięć o dostępie swobodnym, można z niej dane odczytywać i zapisywać. Czasem część pamięci operacyjnej realizowana jest jako pamięć ROM pamięć tylko do odczytu (PROM, EPROM, aktualnie Flash). Tylko pamięć ROM przechowuje swoją zawartość bez zasilania, dane przechowywane w trakcie pracy komputera w pamięci RAM giną konieczne jest składowanie ich w pamięciach zewnętrznych. Najpopularniejszym rodzajem pamięci zewnętrznych o dostępie swobodnym (szybki zpis i odczyt) są dyski mechaniczne oraz pamięci Flash. 44
Bez procesora ani rusz, ale co to są te rozkazy maszynowe? Wszystko można ponumerować rozkazy wydawane komuś też. Wszystko co można ponumerować, da się zapisać binarnie. Wszystko co można zapisać binarnie, można zapamiętywać i przesyłać z wykorzystaniem techniki cyfrowej. 45
Rozkazy też można ponumerować Wszystko można ponumerować rozkazy wydawane komuś też. Wszystko co można ponumerować, da się zapisać binarnie. Wszystko co można zapisać binarnie, można zapamiętywać i przesyłać z wykorzystaniem techniki cyfrowej. Zatem rozkazy również można przechowywać i przesyłać cyfrowo. Padnij, Padnij, powstań, powstań, padnij padnij powstań powstań 46
Od architektury von Neumanna do typowego komputera Cykl rozkazowy procesora: Pobranie rozkazu zapisanego pod określonym adresem. Zdekodowanie rozkazu. Procesor Wykonanie rozkazu. Licznik rozkazów Ustalenie adresu następnego rozkazu. Układ sterujący Pamięć operacyjna Adres 2 3... N Dekoder rozkazów Rejestr rozkazów Klawiatura Mysz Monitor Rejestry R R2... Jednostka arytmetyczno logiczna Pamięci zewnętrzne Urządzenia zewnętrzne Krótko: Pobierz, dekoduj, wykonaj 47
Ustalenie adresu rozkazu licznik rozkazów Procesor Licznik Licznik rozkazów rozkazów zawiera zawiera adres adres rozkazu rozkazu do do pobrania. pobrania. 3 Licznik rozkazów Układ sterujący Pamięć operacyjna Adres 2 3... N Dekoder rozkazów Rejestr rozkazów Klawiatura Mysz Monitor Rejestry R R2... Jednostka arytmetyczno logiczna Pamięci zewnętrzne Urządzenia zewnętrzne Krótko: Pobierz, dekoduj, wykonaj 48
Pobranie rozkazu z pamięci operacyjnej rejestr rozkazów Rozkaz Rozkaz pobrany pobrany zz pamięci pamięci ładowany ładowany jest jest do do rejestru rejestru rozkazów rozkazów procesora. procesora. Procesor Licznik rozkazów Układ sterujący Pamięć operacyjna Adres 2 3... N Dekoder rozkazów Rejestr rozkazów Klawiatura Mysz Monitor Rejestry R R2... Jednostka arytmetyczno logiczna Pamięci zewnętrzne Urządzenia zewnętrzne Krótko: Pobierz, dekoduj, wykonaj 49
Dekodowanie rozkazu z pamięci operacyjnej Dekoder Dekoder rozkazów rozkazów zna zna każdy każdy rozkaz rozkaz ii potrafi potrafi go go rozpoznać. rozpoznać. Procesor Licznik rozkazów Układ sterujący Pamięć operacyjna Adres 2 3... N Dekoder rozkazów Rejestr rozkazów Klawiatura Mysz Monitor Rejestry R R2... Jednostka arytmetyczno logiczna Pamięci zewnętrzne Urządzenia zewnętrzne Krótko: Pobierz, dekoduj, wykonaj 5
Wykonanie rozkazu wg wskazówek układu sterującego procesora Procesor Układ Układ sterujący sterujący wie wie jak jak wykonać wykonać każdy każdy rozkaz. rozkaz. Licznik rozkazów Układ sterujący Pamięć operacyjna Adres 2 3... N Dekoder rozkazów Rejestr rozkazów Klawiatura Mysz Monitor Rejestry R R2... Jednostka arytmetyczno logiczna Pamięci zewnętrzne Urządzenia zewnętrzne Krótko: Pobierz, dekoduj, wykonaj 5
Rozkaz maszynowy jako ciąg mikrooperacji Każdy rozkaz składa się z szeregu drobnych akcji zwanych mikrooperacjami. Realizacja każdego rozkazu polega na wykonaniu szeregu mikrooperacji w określonej kolejności. Mikrooperacje są elementarnymi operacjami wykonywanymi przez procesor. Wykonanie rozkazu procesor dzieli na cykle, zwykle każdy cykl składa się z kilku taktów. Zwykle w każdym takcie wykonywana jest jedna mikrooperacja lub kilka mikrooperacji niezależnych od siebie. 52
Wykonaniem mikrooperacji kierują sygnały sterujące Sygnały Sygnały sterujące sterujące są są zwykle zwykle doprowadzane doprowadzane bezpośrednio bezpośrednio do do odpowiednich odpowiednich układów układów scalonych scalonych Procesor Licznik rozkazów Układ sterujący Dekoder rozkazów Pamięć operacyjna Rejestr rozkazów Rejestry R R2... Jednostka arytmetyczno logiczna Urządzenia zewnętrzne Magistrala danych Magistrala adresowa Magistrala sterująca 53
Wykresy czasowe sygnałów mikrosterujących Z8 54
Wykresy czasowe sygnałów mikrosterujących Z8, kontakt z PaO 55
Ustalenie adresu następnego rozkazu do wykonania Zrobione, Zrobione, trzeba trzeba ustalić ustalić skąd skąd pobrać pobrać następny następny rozkaz. rozkaz. Procesor Licznik rozkazów Układ sterujący Pamięć operacyjna Adres 2 3... N Dekoder rozkazów Rejestr rozkazów Klawiatura Mysz Monitor Rejestry R R2... Jednostka arytmetyczno logiczna Pamięci zewnętrzne Urządzenia zewnętrzne Krótko: Pobierz, dekoduj, wykonaj 56
Co się dzieje po włączeniu komputera? Tuż po włączeniu komputera pamięć operacyjna zrealizowana w technologi RAM jest pusta. Procesor potrzebuje rozkazów maszynowych do swojego działania, może je odczytywać tylko z pamięci operacyjnej, a ta jest pusta.... Co teraz? 57
Co się dzieje po włączeniu komputera? Tuż po włączeniu komputera pamięć operacyjna zrealizowana w technologi RAM jest pusta. Procesor potrzebuje rozkazów maszynowych do swojego działania, może je odczytywać tylko z pamięci operacyjnej, a ta jest pusta.... Co teraz? Pamięć operacyjna Adres 2 3... N RAM ROM 58
Co się dzieje po włączeniu komputera? Procesor po włączeniu zasilania rozpoczyna wykonywanie programu począwszy od pewnej, ściśle określonej komórki pamięci (ściśle określony adres). Komórka ta powinna być pobrana z pamięci stałej, o zawartości ustalonej np. przez producenta komputera. 59
Co się dzieje po włączeniu komputera? Po zakończeniu programu z pamięci stałej, procesor rozpoczyna przeszukiwanie pamięci zewnętrznych. Poszukiwany jest główny program ładujący, którego zadaniem będzie wybór i załadowanie odpowiedniego systemu operacyjnego z pamięci zewnętrznej. 6
Procesor a programowanie
Procesor a programowanie
Procesor a programowanie
Procesor a programowanie
Procesor a programowanie Język symboliczny (język asemblera) umożliwia pisanie programów z wykorzystaniem symboli (mnemoników) przypisanych poszczególnym rozkazom procesora. Program w języku symbolicznym jest zrozumiały dla programisty, lecz nie jest zrozumiały dla procesora. Mnemoniki to symboliczne oznaczenia rozkazów i innych elementów, np. rejestrów Znaczenie rozkazu Kod binarny Mnemoniki Przesłanie bajtu pamięc rejestr MOV Wyprowadzenie bajtu do układu wyjściowego OUT Mnożenie logiczne AND......... Asembler to program dokonujący tłumaczenia kodu źródłowego programu w języku symbolicznym na kod wynikowy (kod maszynowy). Asembler Tablica symboli MOV OUT AND
Procesor a programowanie Język wysokiego poziomu niezależny od platformy sprzętowej i systemowej język programowania, pozwalający programiście skoncentrować się na logice rozwiązywanego problem. Notacja typowych języków wysokiego poziomu to połączenie elementów języka angielskiego z notacją wywodzącą się z matematyki. Program w języku symbolicznym Program w języku wysokiego poziomu
Dziękuję za uwagę Roman Simiński roman.siminski@edu.edu.pl