Krótka wycieczka do wnętrza komputera Podstawy Technik Informatycznych Wykład drugi Roman Simiński romansiminski@usedupl wwwsiminskionlinepl
Komputer w drugiej dekadzie XXI wieku Podstawy Technik Informatycznych 2
Komputer w drugiej dekadzie XXI wieku Podstawy Technik Informatycznych 3
Komputer w drugiej dekadzie XXI wieku Podstawy Technik Informatycznych 4
Komputer za chwilę?
Różne wizje komputerów ;)
A nieco poważniej Jak działa komputer? Podstawy Technik Informatycznych 7
Komputer co to jest? Są dziesiątki definicji głupich, mądrych, prostych i złożonych Na potrzeby tych zajęć 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) Podstawy Technik Informatycznych 8
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 Podstawy Technik Informatycznych 9
Architektura von Neumann Architektura van Neumanna są aktualnie podstawowymi sposobami organizacji systemów komputerowych Zrozumienie ogólnej istoty działania tych architektur pozwala na zrozumienie działania każdego współczesnego komputera Podstawy Technik Informatycznych
John von Neumann John von Neumann (urodzony w 93 w Budapeszcie), był wybitnie zdolnym uczniem i błyszczał swymi matematycznymi osiągnięciami, swój pierwszy artykuł matematyczny opublikował w wieku 7 lat Studiował na kilku europejskich uniwersytetach (ETH Zürich, Uniwersytety: Budapeszt, Getynga, Hamburg, Berlin) Od 929 w Uniwersytecie Princeton Od 933 profesor matematyki Institute for Advanced Study Od 943 uczestniczył w projekcie Manhattan (reaktor atomowy i bomba atomowa) Zajmuje się rozwojem architektury komputerowej przypisywana mu propozycja zwana architekturą Von Neumanna, jest podstawą organizacji komputerów do dziś Została opisana w 945 w książce "First Draft of a Report on the EDVAC" Podstawy Technik Informatycznych
Architektura von Neumanna, elementy Pamięć operacyjna Procesor Urządzenia zewnętrzne Magistrala danych Magistrala adresowa Magistrala sterująca Podstawy Technik Informatycznych 2
Przypomnienie: pamięć = hurtownia rejestrów Pamięć to ciąg kolejno ułożonych rejestrów, każdy rejestr zwany jest komórką 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 Podstawy Technik Informatycznych 3
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 Podstawy Technik Informatycznych 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 Podstawy Technik Informatycznych 5
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 Podstawy Technik Informatycznych 6
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 dostepie swobodnym (szybki zpis i odczyt) są dyski mechaniczne oraz pamięci Flash Podstawy Technik Informatycznych 7
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 Podstawy Technik Informatycznych 8
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ń Podstawy Technik Informatycznych 9
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 Podstawy Technik Informatycznych 2
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 Podstawy Technik Informatycznych 2
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 Podstawy Technik Informatycznych 22
Dekodowanie rozkazu z pamięci operacyjnej Dekoder Dekoder rozkazów rozkazów zna zna każdy każdy rozkaz rozkaz i potrafi i 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 Podstawy Technik Informatycznych 23
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 Podstawy Technik Informatycznych 24
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 Podstawy Technik Informatycznych 25
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 Podstawy Technik Informatycznych 26
Wykresy czasowe sygnałów mikrosterujących Z8 Podstawy Technik Informatycznych 27
Wykresy czasowe sygnałów mikrosterujących Z8, kontakt z PaO Podstawy Technik Informatycznych 28
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 Podstawy Technik Informatycznych 29
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? Podstawy Technik Informatycznych 3
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 Podstawy Technik Informatycznych 3
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 Podstawy Technik Informatycznych 32
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 Podstawy Technik Informatycznych 33
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 romansiminski@eduedupl