Zaawansowane Architektury Procesorów Część 2

Wielkość: px
Rozpocząć pokaz od strony:

Download "Zaawansowane Architektury Procesorów Część 2"

Transkrypt

1 Zaawansowane Architektury Procesorów Część 2 1.Opis architektury 64-bitowej ( IA-32e ) - Tryb IA-32e może pracować w dwóch trybach pełnym 64 bitowym, oferującym 64 bitowe liniowe adresowanie pamięci lub w trybie zgodności, w którym to aplikacje 32 bitowe działają praktycznie w ten sam sposób. Zrezygnowano z trybu v86 - Zostawiono bramy pułapki i wołania, nie ma bram zadania, bramy przerwania wykorzystywane są do wołania aplikacji 32 bitowych - W architekturze 64 bitowej pamięć została podzielona na tylko dwa obszary: użytkownika, znajdujący się pod adresami od 0 do 2^47 oraz systemowy, który został ulokowany w obszarze od 2^64-2^47 do 2^64. Wymusiło to zastąpienie adresowanie absolutnego adresowaniem postaci [RIP+d32], gdzie d32 jest liczbą ze znakiem. Adres składa się z maksymalnie 48 bitów, pozostałe bitów nie jest wykorzystywanych i musi zawsze musi mieć tę samą wartość. - Zmiana dotknęła też strukturę TSS, która w przeciwieństwie do x86 jest wspólna dla całego systemu i nie jest przełączana podczas przełączania procesów, służy tylko do przełączania wskaźników stosu. Zawiera 8 rejestrów IST0..7 zawierających wskaźniki stosu dla obsługi wyjątków 2. Wołanie systemu operacyjnego w trybie 64 bitowym W trybie 64 bitowym wołanie systemu operacyjnego nie jest obsługą wyjątku i następuje bez odwołań do pamięci i bez użycia bram, wszystkie potrzebne informacje znajdują się w rejestrach, co diametralnie przyśpiesza pracę systemu. System woła się za pomocą SYSCALL, a z wołania wychodzi za pomocą instrukcji SYSRET. Dodano rejestry MSR, specyficzne dla danego modelu procesora. W architekturze 64 bitowej założono, że ilość rejestrów procesora będzie rosła. Odczyt i zapis do tych rejestrów następuje za pomocą instrukcji RDMSR i WRMSR SYSCALL i SYSRET - skoki między poz. zaufania 0 i 3 (bardzo szybkie) - nie używają pamięci, więc: w tablicy GDT muszą być umieszczone obok siebie selektory segmentów kodu i stosu (SS o 8 bajtów dalej niż CS).Wskaźnik stosu nie jest przeładowywany przez SYSCALL, następuje to dopiero w procedurze systemowej. Adresy funkcji systemowych są w rejestrach (MSR). Instrukcja ładuje licznik instrukcji z MSR. Ślad zostaje w rejestrze ECX 3. Stronicowanie i segmentacja w trybie 64 bitowym Jednostka stronicowania praktycznie zastąpiła jednostkę segmentacji w trybie 64 bitowym. Może dzielić pamięć na strony 4kB, 2MB lub 1 GB ( potrzebne np do sterownika graficznego ). W rejestrze CR3 znajduje się wskaźnik na pierwszą tablicę stron. Deskryptory stron zostały rozszerzone do 64 bitów ( składają się z dwóch deskryptorów 32b ) i zwierają informacje o poziomie zaufania, oraz czy wskazują na kod 32 czy 64 bitowy. Deskryptory są wpierw szukane w buforze translacji i dopiero w przypadku nie znalezienia tam szukanego jest wykonywany dostęp do pamięci Jednostka stronicowania może działać w jednym z trzech trybów: a) 32 bitowym: strony 4kB lub 4MB b) PAE: 64 bitowy deskryptory stron, dodatkowa 4 elementowa tablica 3 poziomu, dzieląca obszary w pamięci na dane i kod użytkownika i systemu c) IA-32e: musi być przełączona na ten tryb w trybie 64 bitowym, przyjmowany jest najbardziej restrykcyjny atrybut odczytu i zapisu z deskryptorów różnych poziomów Uproszono jednostkę segmentacji. O ile w trybie zgodności segmentacja działa tak samo jak w przypadku 32 bitowej architektury, o tyle w trybie pełnych 64 bitów, jednostka segmentacji jest

2 praktycznie wyłączona tworzy jeden, liniowy segment na cały obszar pamięci ( adres bazowy = 0 ), bez sprawdzania limitu. Wyjątkiem są jedynie rejestry FS i GS, które mogą zawierać inny adres bazowy. Używane są przez system operacyjny do trzymania wskaźnika na TSS oraz tablic łączenia dla dynamicznych bibliotek 4. Zarządzanie pamięcią w trybie 64 bitowym Problem z zarządzaniem pamięcią objawia się w systemach wieloprocesorowych i specyficznych sterowników urządzeń ( np takich, które są wrażliwe na odczyt ). Instrukcje proces wykonuje spekulatywnie, więc nie jesteśmy pewni, czy rzeczywiście odczyt z pamięci na pewno się wykona ( a taka sytuacja byłaby tragiczna dla wcześniej wymienionych sterowników urządzeń ). Dlatego też wprowadzono sześć różnych kategorii możliwości buforowania danych w kieszeni: Typ Wykorzystanie kieszeni Writeback Spekulatywny odczyt Uncacheable Nie Nie Nie Write Combining Nie Nie Tak Write Through Tak Nie Tak Write Back Tak Tak Tak Write Protected Tak dla odczytu Nie dla zapisu Nie Write combining: wykorzystanie bufora zapisu w celu opóźnienia operacji zapisu. Diametralnie szybciej jest wykonać jeden większy zapis raz, niż parę mniejszych oddzielnie. Tak więc dane do zapisu są przechowywane w buforze i dopiero w przypadku jego zapełnienia inicjowany jest zapis, a bufor czyszczony Write Through: zapis przezroczysty, następuje zapis w każdym poziomie kieszeni oraz pamięci Write Back: opóźniony zapis, który następuje dopiero wtedy, gdy usuwamy te dane z kieszni Każde urządzenia posiada swój rejestr MTRR, tworzony i wypełniany na starcie przez system operacyjny, który określa do której z powyższych klas należy jakie urządzenie. 5. Jednostka wektorowa Pierwsza jednostka wektorowa MMX współdzieliła zasoby ( wykorzystywała pierwsze 64 bity rejestrów FPU ) z jednostką zmiennoprzecinkową, co skutkowało brakiem potrzebny zmiany samej architektury x86. Aktualnie rejestry te są fizycznie oddzielone. Skutkiem współdzielenia rejestrów jest niemożliwość wykorzystywania jednocześnie jednostki wektorowej i koprocesora. MMX umożliwiał tylko proste operacje x?y:z i nie wykorzystywał rejestru znaczników. Aktualnie MMX nie jest już wykorzystywany, zastąpiony został przez instrukcje SSE operujące na dedykowanych rejestrach 128 bitowych. Przejście do trybu SSE odbywa się po wykonaniu dowolnej instrukcji należacej do zestawu SEE, a ponowne przełączenie na koprocesor odbywa się przez jawne wywołanie instrukcji EMMS. Ważnymi instrukcjami jednostki wektorowej są instrukcje pakowania i rozpakowania AMD wprowadziło swoją własną wersję MMX pod nazwą 3dNow! Domyślnie SSE ma całkowicie zastąpić 3dNow! oraz jednostkę zmiennopozycyjną 6. Przerwania w systemach Programy w komputerze tak naprawdę są napędzane przerwaniami rzadko który program jest całkowicie obliczeniowy. W domorosłych systemach operacyjnych nie występuje już sytuacja w której program po przyjściu i obsłużeniu przerwania jest natychmiast wznawiany. Zazwyczaj sama obsługa wyjątku może zostać przerwana, jak też po zakończeniu obsługi wyjątku zazwyczaj wznawiany jest inny proces. Jedynym sposobem powrotu z przerwania jest system powrotu z obsługi wyjątku. W ogólnym przypadku mamy system priorytetyzacji przerwań przerwania mniej ważne mogą być Tak

3 przerywane przez te ważniejsze ( eleganckie zagnieżdżanie wyjątków ). W wielopoziomowej obsłudze przerwań występują sekcje krytyczne niektóre procesory posiadają oddzielne bity do ustawiania poziomu priorytetu aktualnie przetwarzanego przerwania jak i do całkowitego zablokowania przerwań. Wymogiem do konstrukcji systemu rzeczywistego jest to, aby wszystko było zgłaszane jako przerwanie. W przypadku braku oczekującego na obsłużenie przerwania procesor powinien być usypiany ( posiadać budowę: loop1: halt; jmp loop1; ) Najnowocześniejsze urządzenia działają tylko na przerwaniach często nie posiadają nawet interfejsu umożliwiającego aktywne zapytanie ich o stan. Często wymogiem do budowy systemu czasu rzeczywistego jest nie tylko to, aby spełniał wymóg maksymalnego czasu odpowiedzi, ale też czas odpowiedzi zawierał się w określonym przedziale ( był nie mniejszy niż ) ( z tych powodów x86 nie nadaje się do systemów czasu rzeczywistego ) Procesor ARM Cortex: Architektura głównie RISC-owa, a więc nie ma rejestrów specyficznego przeznaczenia. Na poziomie instrukcji zachowuje się jak zwykły proces ARM, jednak ma diametralnie przebudowaną obsługę wyjątków: procedura obsługi wyjątku dla kompilatora ma wyglądać jak obsługa zwykłej procedury. Realizuje to poprzez zrzucenie rejestrów SCRATCH oraz PC, LR, SP i IP i wpisuje do rejestru LR nielegalną wartość 0xFFFFFF i po tym właśnie poznaje, że powrót będzie z obsługi wyjątku Procedura powrotu z obsługi wyjątku różni się od powrotu ze zwykłej procedury: - powrót realizowany za pomocą instrukcji IRET a nie RET - poza rejestrami grupy save, również te z grupy temporary są zapamiętywane Założono, że proces pracuje w dwóch trybach: aplikacji i obsługi wyjątku. Inaczej niż w x86 wpierw składujemy kontekst, a dopiero potem patrzymy jakie przerwanie przyszło. W ten sposób zabezpieczamy się przed tym, że w czasie składowania kontekstu nie przyszło ważniejsze przerwanie. Skutkuje to też tym, że nie musimy zapamiętywać kontekstu przerwania mniej ważnego, od razu przechodzimy do obsługi przerwania ważniejszego ( Interrupt Chaining ): app app (w tabeli: składowanie kontekstu, przywracanie kontekstu, nad tabelą: przerwanie ) 7. Wirtualizacja Maszyna wirtualna może to być symulator napisany w języku wysokiego poziomu albo symulatory takie jak C# lub Java ( maszyny całkowicie wirtualne ). W naszym rozumieniu jest to wirtualizowanie za pomocą sprzętu, dzięki czemu zyskujemy wydajność z powodu korzystania główne z własnych zasobów sprzętowych. Parawirtualizm stworzenie maszyny wirtualnej dla konkretnego komputera przy dużym wsparciu sprzętowym. Część akcji nie jest wykonywana na sprzęcie ale przy odwołaniu do Hypervisora. Pisząc programy dla maszyny wirtualnej wiemy, że pracujemy na maszynie wirtualnej, dzięki czemu możemy ogromnie zyskać na wydajności. Pod kontrolną Hypervisora działa parę systemów operacyjnych. Z systemu operacyjnego kontrolę na zasobami przeniesiono wyżej, wywłaszczono systemy operacyjne z całkowitej kontroli nad sprzętem. Do parawirtualizacji potrzebujemy: - możliwości uruchomienia maszyny wirtualnej przez Hypervisora - jakiś mechanizm przechwycenia ( Intercept ) - bogate mechanizmy kontroli maszyny przez Hypervisora np Wstrzykiwanie Wyjątków

4 AMD: komputer budzi się w trybie Hypervisora Intel: komputer budzi się w trybie systemowym i musimy jawnie uruchomić tryb Hypervisora W komputerze mamy najczęściej tylko parę typów urządzeń: karty sieciowe, urządzenia pamięci masowej i konsolę te urządzenia należy zwirtualizować ( przeważnie nie jest to skomplikowane ). Jednak w typowym PC posiadamy urządzenia o wiele bardziej złożone. W minimalistycznej wersji wirtualizacji, dzielimy sprzęt po równo dla każdego systemu operacyjnego ( np po jednym dysku ). Instrukcje można podzielić na takie, które nie zależą i nie wpływają na kontekst ( np. Dodawanie ), takie które wpływają na kontekst oraz na takie, których wynik zależy od aktualnego kontekstu i te instrukcje należy zakazać użytkownikowi. Spychamy więc system do poziomu użytkownika ( np. Jeżeli użytkownik chce odczytać rejestr stanu procesora, zgłaszany jest błąd do Hypervisora ) Obsługa wyjątków musi zachodzić pod kontrolą Hypervisora część z nich powinien obsługiwać on, a część odbijać do systemu operacyjnego. W celu zapewnienia optymalnej wydajności należało stworzyć mechanizm do efektywnej komunikacji między systemem a Hypervisorem. Tak powstal mechanizm Przechwycenia (Intercept), czyli zdarzenia, które powoduje zatrzymanie maszyny wirtualnej i przekierowanie sterowania do Hypervisora. Pułapki nie generują przechwyceń, błędy w zależności od potrzeb. Przechwycenia generowane są też przez niektóre akcje, instrukcje procesora, I/O. Zazwyczaj Hypervisor sam obsługuje przechwycenie, czasami jednak musi odbić je z powrotem do systemu operacyjnego i do tego służy dodatkowy mechanizm nazwany Wstrzykiwaniem Wyjątków: Hypervisor udaje przed systemem jakieś urządzenie, które zgłasza przerwania Dochodzi drugi poziom zarządzania pamięcią. To Hypervisor ma wiedzę na temat, gdzie znajdują się prawdziwe tablice stron i przy próbie odwołania się do pamięci przez system odwzorowuje on adres wskazany przez system na fizyczny sprzętowy: Wirtualny_Gościa -> Fizyczny_Gościa / Wirtualny_Hypervisora -> Fizyczny_Hypervisora Jeżeli w buforze translacji nie znajduje się poprawny deskryptor to Hypervisor musi przetłumaczyć adres fizyczny gościa na swój fizyczny, a jest to operacja nietrywialna w x86: zamiast 3 dostępów do pamięci, należy wykonać 3 ( VG -> FG ) * 3 ( VH -> FH ) = 9 odwołań. Dodatkowo dochodzi problem, że czyszczenie bufora translacji dla jednego systemu operacyjnego czyści też translacje innym systemom. Rozwiązaniem powyższym problemów jest parawirtualizacja: Hypervisor na początku ustawia wszystkie strony jako nieważne i wypełnia je przy obsłudze błędów. Aby ograniczyć straty wydajności spowodowane czyszczeniem bufora translacji powstały dwa mechanizmy: a) Dodanie identyfikatora maszyny wirtualnej do adresu wirtualnego b) Mechanizm Nested Paging: dołożenie sprzętu odpowiedzialnego za równoległą translację adresów gościa oraz Hypervisora ( sklejony adres fizyczny gościa, fizyczny HV ) Ostatecznie mikrokod jednostki stronicowania stworzy deskryptor strony, w którego skład wchodzi: - ID gościa - adres wirtualny gościa - adres fizyczny Hypervisora Następnie załaduje ten deskryptor natychmiast do TLB bufora translacji Plusem stosowania powyższych mechanizmów jest też to, że translacją nie zajmuje się oprogramowanie, ale mikrokod co diametralnie przyśpiesza czas wykonania translacji. Dodatkowo możemy przyśpieszyć translacje poprzez usunięcie dodatkowych poziomów tablic dla Hypervisora. Nie potrzebuje on granularności 4kb, a nawet 2Mb, może on wskazywać od razu na strony 1Gb przydzielone dla każdego systemu.

5 Pytania kontrolne i odpowiedzi 1. W jaki sposób normalny OS przełącza procesy? OS przygotowuje stos procesu, wrzuca na niego przynajmniej PC i SR, na stos systemowy tworzonego procesu wrzuca to co proces spodziewa się tam zastać. Następnie blokuje przerwania, przeładowuje SP i robi powrót z obsługi wyjątku. Tak więc proces przełączamy w procedurze obsługi wyjątku. 2. Wymień sposoby realizacji priorytetów przerwań a) procedura obsługi przerwania rozpoczyna wykonanie na poziomie 3 z zablokowanymi przerwaniami. Po zakończeniu sekcji krytycznej odblokowujemy przerwania i procedura może być przerwana przez inne przerwanie. b) pole poziomu + osobne pole zezwolenia na przerwanie - tak jest w niektórych CPU 3. Wymień podstawowe różnice między procedurą obsługi przerwania, a zwykłą procedurą. - musi zachować rejestry typu scratch - kończy się instrukcją RETI 4. Do czego w procesorze ARM służy rejestr IP? Jest to Intra-procedure call scratch register. Służy on do wykonywania dalekich skoków w następujący sposób: - kompilator / konsolidator wstawia tablice stałych między procedury - są to stałe wykorzystywane przez procedurę, m.in. adres skoku. - konsolidator wstawia do kodu wstawkę: "załaduj adres z pamięci do IP, skacz pod adres z IP" 5. Opisz jak zrealizowany został powrót z obsługi wyjątku w procesorach ARM Cortex Skoki w ARM są wykonywane ze śladem w rejestrze LR - jest on zrzucany na stos, gdy trzeba znowu skoczyć. Możliwe jest wykonanie instrukcji POP PC (wczytanie LR ze stosu do PC). Procedura obsługi wyjątku zapamiętuje a1,a2,a3,a4 (scratch),pc,lr,sp,ip na stosie, następnie wpisuje 0xFFFFFFFx do LR (jest to nielegalny adres powrotu, tam znajdują się rejestry sterujące). Powrót z procedury (JR/POP) w momencie, gdy w LR znajduje się nielegalny adres spowoduje włączenie się mikrokodu wykonującego powrót z obsługi wyjątku -> mikrokod zdejmie ze stosu zachowane rejestry. Procedura poziomu użytkownika próbując zrobić coś takiego wyleci na błędzie. Dzięki temu piszemy procedurę obsługi przerwań jak normalną procedurę, np. w C. The Definitive Guide to the ARM Cortex-M3 6. Na czym polega specyfika mikrokodu ARM? Procesor nie wykonuje klasycznie rozumianego mikrokodu. Generuje sobie sam instrukcje i wykonuje je jak normalne instrukcje - zmniejszony czas reakcji procesora dzięki eliminacji czasu wykonania mikrokodu. 7. Opisz sposób realizacji priorytetów procedur obsługi wyjątków w ARM - Cortex - przyjście przerwania w trakcie wykonywania aplikacji powoduje składowanie kontekstu - przyjście przerwania o wyższym priorytecie podczas wykonywania innego przerwania, powoduje składowanie kontekstu - po zeskładowaniu kontekstu (aplikacji bądź przerwania) wybierane jest do obsługi przerwanie o najwyższym priorytecie (może to być inne przerwanie niż te, które uruchomiło składowanie kontekstu) - jeśli w trakcie odtwarzania kontekstu przyjdzie przerwanie o wyższym priorytecie, niż odtwarzane, zapominamy o tym że odtworzyliśmy fragment kontekstu i natychmiast przechodzimy do obsługi przerwania o wyższym priorytecie.

6 1. Wymień kategorie VM a) maszyny czysto wirtualne - np. Java,.NET - zrealizowane czysto programowo, nie odzwierciedlają żadnego rzeczywistego komputera b) parawirtualizacja - gość wie, że działa na maszynie wirtualnej, nie na rzeczywistym sprzęcie. Część zadań realizujemy przez jawne odwołania do hypervisora. Dzięki temu VM działa wydajnie, a jej napisanie jest prostsze, bo musi mniej zachowań symulować dla gościa. VM realizujemy z mocnym wsparciem sprzętowym. c) maszyna realizująca komputer identyczny programowo z istniejącym w rzeczywistości. Mocne wsparcie sprzętowe. 2. Opisz problem stronicowania w VM (Realizacja przekształcenia VG -> PG/VH -> PH). W momencie gdy Gość wylatuje na błędzie jednostki stronicowania, hypervisor musi przejrzeć jego tablice stron (ma do nich dostęp, bo gość podał mu swoją wartość cr3 - próbując ją wpisać do CR3 wyleciał na błędzie). Jeśli nie znajdzie deskryptora w tablicach stron gościa, a na błędzie wyleciała aplikacja, niech gość ją ukarze. Jeśli było to legalne odwołanie, to hypervisor wpisuje do rzeczywistej tabeli stron deskryptor który dla adresu VG wskazuje na PH. Operacja ta wymaga przejścia po całym drzewie rzeczywistej jednostki stronicowania dla odczytania każdego poziomu tablicy stron gościa - jest bardzo kosztowna czasowo. (Rozwiązaniem może być np. parawirtualizacja) Dodatkowym problemem jest czyszczenie całego bufora translacji stron przy przełączaniu gości. 3. Na czym polega mechanizm intercept? Jest to mechanizm przechwycenia w hypervisorze, analogiczny do mechanizmu wyjątków w OS. Przechwycenie polega na przerwaniu wykonywania się kodu gościa i przekazaniu sterowania hypervisorowi. Przechwycenie powinny powodować: - przerwania sprzętowe - błędy - operacje I/O - niektóre akcje i operacje procesora, które nabierają nowego znaczenia w kontekście VM Przechwyceniem nie powinny kończyć się pułapki, które są wewnętrznym mechanizmem OS. Część przechwyceń będzie się kończyć odbiciem przerwania do gościa. Ponadto potrzebujemy mechanizmu wstrzykiwania dowolnych wyjątków do gościa. Można skonfigurować na poziomie sprzętu, jakie akcje będą powodować przechwycenie (dostęp do rejestrów, wybrane wyjątki systemowe, odczyt CPUID, instrukcje: NOP, PAUSE, HLT, odczyt rejestru TSC mierzącego czas itd) 4. Opisz usprawnienie w obsłudze stronicowania VM i TLB zastosowane u Intela. a) Wydłużanie adresu wirtualnego - na jego początku dopisywana jest wartość rejestru identyfikatora VM - dla hypervisora jest to 0, dla gości wartości niezerowe. Dopiero takie adresy są wpisywane do bufora translacji adresów, dzięki czemu nie musimy go czyścić przy przełączaniu gości. b) Jednostka stronicowania dokonuje dwóch translacji jednocześnie - działa ona jednocześnie na dwóch strukturach : gościa i hypervisora (nested paging). Za tablewalk w momencie chybienia TLB, zarówno po strukturach gościa jak i hypervisora odpowiada mikrokod. Mikrokod wpisuje deskryptor ["id_gościa" + VG -> PH] bezpośrednio do TLB, taki deskryptor nie jest składowany nigdzie w pamięci. Wciąż potrzebne jest 20 dostępów do pamięci w pesymistycznym przypadku (4 poziomy tablic stron hypervisora x 4 poziomy tablic stron gościa dla translacji VG -> PG + 4 poziomy tablic stron hypervisora dla translacji PG/VH -> PH), ale dzięki temu że wykonuje je mikrokod, zyskujemy 3-10% przyspieszenia.

Mikroinformatyka. Wielozadaniowość

Mikroinformatyka. Wielozadaniowość Mikroinformatyka Wielozadaniowość Zadanie Tryb chroniony przynajmniej jedno zadanie (task). Segment stanu zadania TSS (Task State Segment). Przestrzeń zadania (Execution Space). - segment kodu, - segment

Bardziej szczegółowo

Programowanie na poziomie sprzętu. Tryb chroniony cz. 1

Programowanie na poziomie sprzętu. Tryb chroniony cz. 1 Tryb chroniony cz. 1 Moduł zarządzania pamięcią w trybie chronionym (z ang. PM - Protected Mode) procesorów IA-32 udostępnia: - segmentację, - stronicowanie. Segmentacja mechanizm umożliwiający odizolowanie

Bardziej szczegółowo

dr inż. Jarosław Forenc

dr inż. Jarosław Forenc Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia stacjonarne I stopnia Rok akademicki 2010/2011 Wykład nr 7 (24.01.2011) dr inż. Jarosław Forenc Rok akademicki

Bardziej szczegółowo

Mikroinformatyka. Tryb wirtualny

Mikroinformatyka. Tryb wirtualny Mikroinformatyka Tryb wirtualny Tryb wirtualny z ochroną Wprowadzony w 80286. Rozbudowany w 80386. - 4 GB pamięci fizycznej, - 64 TB przestrzeni wirtualnej, - pamięć podzielona na segmenty o rozmiarze

Bardziej szczegółowo

3 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK SP.06 Rok akad. 2011/2012 2 / 22

3 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK SP.06 Rok akad. 2011/2012 2 / 22 ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH struktury procesorów ASK SP.06 c Dr inż. Ignacy Pardyka UNIWERSYTET JANA KOCHANOWSKIEGO w Kielcach Rok akad. 2011/2012 1 Maszyny wirtualne 2 3 Literatura c Dr inż. Ignacy

Bardziej szczegółowo

Zaawansowane Architektury Procesorów Część 1

Zaawansowane Architektury Procesorów Część 1 1. Rozwój architektury x86 Zaawansowane Architektury Procesorów Część 1 Intel 8086: Procesor w architekturze CISC. Posiadał tylko jeden tryb pracy tj. rzeczywisty, a więc wszystkie programy działały na

Bardziej szczegółowo

Zarządzanie zasobami pamięci

Zarządzanie zasobami pamięci Zarządzanie zasobami pamięci System operacyjny wykonuje programy umieszczone w pamięci operacyjnej. W pamięci operacyjnej przechowywany jest obecnie wykonywany program (proces) oraz niezbędne dane. Jeżeli

Bardziej szczegółowo

Mikroinformatyka. Mechanizmy ochrony pamięci

Mikroinformatyka. Mechanizmy ochrony pamięci Mikroinformatyka Mechanizmy ochrony pamięci Mechanizmy ochrony pamięci Ochrona na poziomie segmentów: - limit - typ segmentu - selektor zerowy - poziom uprzywilejowania Ochrona na poziomie stronicowania:

Bardziej szczegółowo

Architektura komputerów

Architektura komputerów Architektura komputerów Tydzień 12 Wspomaganie systemu operacyjnego: pamięć wirtualna Partycjonowanie Pamięć jest dzielona, aby mogło korzystać z niej wiele procesów. Dla jednego procesu przydzielana jest

Bardziej szczegółowo

Monitor maszyn wirtualnych

Monitor maszyn wirtualnych Monitor maszyn wirtualnych Jest to oprogramowanie nadzorujące działanie systemów gości Może być to oddzielny software lub zintegrowany z systemem operacyjnym System gospodarza Oznaczany zazwyczaj jako

Bardziej szczegółowo

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE WINDOWS 1 SO i SK/WIN 007 Tryb rzeczywisty i chroniony procesora 2 SO i SK/WIN Wszystkie 32-bitowe procesory (386 i nowsze) mogą pracować w kilku trybach. Tryby pracy

Bardziej szczegółowo

RDZEŃ x86 x86 rodzina architektur (modeli programowych) procesorów firmy Intel, należących do kategorii CISC, stosowana w komputerach PC,

RDZEŃ x86 x86 rodzina architektur (modeli programowych) procesorów firmy Intel, należących do kategorii CISC, stosowana w komputerach PC, RDZEŃ x86 x86 rodzina architektur (modeli programowych) procesorów firmy Intel, należących do kategorii CISC, stosowana w komputerach PC, zapoczątkowana przez i wstecznie zgodna z 16-bitowym procesorem

Bardziej szczegółowo

Zarządzanie pamięcią w systemie operacyjnym

Zarządzanie pamięcią w systemie operacyjnym Zarządzanie pamięcią w systemie operacyjnym Cele: przydział zasobów pamięciowych wykonywanym programom, zapewnienie bezpieczeństwa wykonywanych procesów (ochrona pamięci), efektywne wykorzystanie dostępnej

Bardziej szczegółowo

Architektura Systemów Komputerowych

Architektura Systemów Komputerowych Architektura Systemów Komputerowych Wykład 12: Zarządzanie zasobami komputera. Sytuacje wyjątkowe. Dr inż. Marek Mika Państwowa Wyższa Szkoła Zawodowa im. Jana Amosa Komeńskiego W Lesznie Plan Zarządzanie

Bardziej szczegółowo

Schematy zarzadzania pamięcia

Schematy zarzadzania pamięcia Schematy zarzadzania pamięcia Segmentacja podział obszaru pamięci procesu na logiczne jednostki segmenty o dowolnej długości. Postać adresu logicznego: [nr segmentu, przesunięcie]. Zwykle przechowywana

Bardziej szczegółowo

Wybrane zagadnienia elektroniki współczesnej

Wybrane zagadnienia elektroniki współczesnej Wybrane zagadnienia elektroniki współczesnej y pracy, Marika Kuczyńska Fizyka Techniczna IV rok 20-03-2013, AGH prezentacji y pracy 1 2 y pracy 3 4 5 6 Jednostka wykonawcza, instrukcje (Marika) Rodzina

Bardziej szczegółowo

UTK ARCHITEKTURA PROCESORÓW 80386/ Budowa procesora Struktura wewnętrzna logiczna procesora 80386

UTK ARCHITEKTURA PROCESORÓW 80386/ Budowa procesora Struktura wewnętrzna logiczna procesora 80386 Budowa procesora 80386 Struktura wewnętrzna logiczna procesora 80386 Pierwszy prawdziwy procesor 32-bitowy. Zawiera wewnętrzne 32-bitowe rejestry (omówione zostaną w modułach następnych), pozwalające przetwarzać

Bardziej szczegółowo

architektura komputerów w. 8 Zarządzanie pamięcią

architektura komputerów w. 8 Zarządzanie pamięcią architektura komputerów w. 8 Zarządzanie pamięcią Zarządzanie pamięcią Jednostka centralna dysponuje zwykle duża mocą obliczeniową. Sprawne wykorzystanie możliwości jednostki przetwarzającej wymaga obecności

Bardziej szczegółowo

Księgarnia PWN: Włodzimierz Stanisławski, Damian Raczyński - Programowanie systemowe mikroprocesorów rodziny x86

Księgarnia PWN: Włodzimierz Stanisławski, Damian Raczyński - Programowanie systemowe mikroprocesorów rodziny x86 Księgarnia PWN: Włodzimierz Stanisławski, Damian Raczyński - Programowanie systemowe mikroprocesorów rodziny x86 Spis treści Wprowadzenie... 11 1. Architektura procesorów rodziny x86... 17 1.1. Model procesorów

Bardziej szczegółowo

Architektura komputerów

Architektura komputerów Architektura komputerów Wykład 3 Jan Kazimirski 1 Podstawowe elementy komputera. Procesor (CPU) 2 Plan wykładu Podstawowe komponenty komputera Procesor CPU Cykl rozkazowy Typy instrukcji Stos Tryby adresowania

Bardziej szczegółowo

Architektura systemu komputerowego. Działanie systemu komputerowego. Przerwania. Obsługa przerwań (Interrupt Handling)

Architektura systemu komputerowego. Działanie systemu komputerowego. Przerwania. Obsługa przerwań (Interrupt Handling) Struktury systemów komputerowych Architektura systemu komputerowego Działanie systemu komputerowego Struktura we/wy Struktura pamięci Hierarchia pamięci Ochrona sprzętowa Architektura 2.1 2.2 Działanie

Bardziej szczegółowo

Programowanie Niskopoziomowe

Programowanie Niskopoziomowe Programowanie Niskopoziomowe Wykład 4: Architektura i zarządzanie pamięcią IA-32 Dr inż. Marek Mika Państwowa Wyższa Szkoła Zawodowa im. Jana Amosa Komeńskiego W Lesznie Plan Wstęp Tryby pracy Rejestry

Bardziej szczegółowo

Programowanie współbieżne Wykład 2. Iwona Kochańska

Programowanie współbieżne Wykład 2. Iwona Kochańska Programowanie współbieżne Wykład 2 Iwona Kochańska Miary skalowalności algorytmu równoległego Przyspieszenie Stały rozmiar danych N T(1) - czas obliczeń dla najlepszego algorytmu sekwencyjnego T(p) - czas

Bardziej szczegółowo

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera Dariusz Wawrzyniak Plan wykładu Definicja, miejsce, rola i zadania systemu operacyjnego Klasyfikacja systemów operacyjnych Zasada działania systemu operacyjnego (2) Definicja systemu operacyjnego (1) Miejsce,

Bardziej szczegółowo

Programowanie w asemblerze Środowiska 64-bitowe

Programowanie w asemblerze Środowiska 64-bitowe Programowanie w asemblerze Środowiska 64-bitowe 24 listopada 2015 Nieco historii najnowszej Intel wraz z HP rozpoczynaja pracę nad procesorem 64-bitowym z wykorzystaniem technologii VLIW. Powstaje procesor

Bardziej szczegółowo

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera Dariusz Wawrzyniak Plan wykładu Definicja, miejsce, rola i zadania systemu operacyjnego Klasyfikacja systemów operacyjnych Zasada działania systemu operacyjnego (2) Miejsce, rola i zadania systemu operacyjnego

Bardziej szczegółowo

Architektura i administracja systemów operacyjnych

Architektura i administracja systemów operacyjnych Architektura i administracja systemów operacyjnych Wykład 1 Jan Tuziemski Część slajdów to zmodyfiowane slajdy ze strony os-booi.com copyright Silberschatz, Galvin and Gagne, 2013 Informacje wstępne Prowadzący

Bardziej szczegółowo

Działanie systemu operacyjnego

Działanie systemu operacyjnego Budowa systemu komputerowego Działanie systemu operacyjnego Jednostka centralna dysku Szyna systemowa (magistrala danych) drukarki pamięci operacyjnej I NIC sieci Pamięć operacyjna Przerwania Przerwania

Bardziej szczegółowo

Organizacja typowego mikroprocesora

Organizacja typowego mikroprocesora Organizacja typowego mikroprocesora 1 Architektura procesora 8086 2 Architektura współczesnego procesora 3 Schemat blokowy procesora AVR Mega o architekturze harwardzkiej Wszystkie mikroprocesory zawierają

Bardziej szczegółowo

Systemy operacyjne. Wprowadzenie. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

Systemy operacyjne. Wprowadzenie. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Wprowadzenie Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Plan wykładu Definicja, miejsce, rola i zadania systemu operacyjnego Klasyfikacja systemów operacyjnych Zasada działania systemu operacyjnego

Bardziej szczegółowo

Prezentacja systemu RTLinux

Prezentacja systemu RTLinux Prezentacja systemu RTLinux Podstawowe założenia RTLinux jest system o twardych ograniczeniach czasowych (hard real-time). Inspiracją dla twórców RTLinux a była architektura systemu MERT. W zamierzeniach

Bardziej szczegółowo

Przerwania, polling, timery - wykład 9

Przerwania, polling, timery - wykład 9 SWB - Przerwania, polling, timery - wykład 9 asz 1 Przerwania, polling, timery - wykład 9 Adam Szmigielski aszmigie@pjwstk.edu.pl SWB - Przerwania, polling, timery - wykład 9 asz 2 Metody obsługi zdarzeń

Bardziej szczegółowo

ARCHITEKTURA PROCESORA,

ARCHITEKTURA PROCESORA, ARCHITEKTURA PROCESORA, poza blokami funkcjonalnymi, to przede wszystkim: a. formaty rozkazów, b. lista rozkazów, c. rejestry dostępne programowo, d. sposoby adresowania pamięci, e. sposoby współpracy

Bardziej szczegółowo

Sprzętowe wspomaganie pamięci wirtualnej

Sprzętowe wspomaganie pamięci wirtualnej Sprzętowe wspomaganie pamięci wirtualnej Stanisław Skonieczny 6 grudnia 2002 Spis treści 1 Intel 2 1.1 Tryby pracy procesora............................... 2 1.2 Adresowanie liniowe................................

Bardziej szczegółowo

Mikroprocesor Operacje wejścia / wyjścia

Mikroprocesor Operacje wejścia / wyjścia Definicja Mikroprocesor Operacje wejścia / wyjścia Opracował: Andrzej Nowak Bibliografia: Urządzenia techniki komputerowej, K. Wojtuszkiewicz Operacjami wejścia/wyjścia nazywamy całokształt działań potrzebnych

Bardziej szczegółowo

Systemy operacyjne III

Systemy operacyjne III Systemy operacyjne III WYKŁAD Jan Kazimirski Pamięć wirtualna Stronicowanie Pamięć podzielona na niewielki bloki Bloki procesu to strony a bloki fizyczne to ramki System operacyjny przechowuje dla każdego

Bardziej szczegółowo

Działanie systemu operacyjnego

Działanie systemu operacyjnego Działanie systemu operacyjnego Budowa systemu komputerowego Jednostka centralna Sterownik dysku Sterownik drukarki Sterownik sieci Szyna systemowa (magistrala danych) Sterownik pamięci operacyjnej Pamięć

Bardziej szczegółowo

Procesor ma architekturę rejestrową L/S. Wskaż rozkazy spoza listy tego procesora. bgt Rx, Ry, offset nand Rx, Ry, A add Rx, #1, Rz store Rx, [Rz]

Procesor ma architekturę rejestrową L/S. Wskaż rozkazy spoza listy tego procesora. bgt Rx, Ry, offset nand Rx, Ry, A add Rx, #1, Rz store Rx, [Rz] Procesor ma architekturę akumulatorową. Wskaż rozkazy spoza listy tego procesora. bgt Rx, Ry, offset or Rx, Ry, A add Rx load A, [Rz] push Rx sub Rx, #3, A load Rx, [A] Procesor ma architekturę rejestrową

Bardziej szczegółowo

Zarządzanie pamięcią. Od programu źródłowego do procesu. Dołączanie dynamiczne. Powiązanie programu z adresami w pamięci

Zarządzanie pamięcią. Od programu źródłowego do procesu. Dołączanie dynamiczne. Powiązanie programu z adresami w pamięci Zarządzanie pamięcią Przed wykonaniem program musi być pobrany z dysku i załadowany do pamięci. Tam działa jako proces. Podczas wykonywania, proces pobiera rozkazy i dane z pamięci. Większość systemów

Bardziej szczegółowo

Od programu źródłowego do procesu

Od programu źródłowego do procesu Zarządzanie pamięcią Przed wykonaniem program musi być pobrany z dysku i załadowany do pamięci. Tam działa jako proces. Podczas wykonywania, proces pobiera rozkazy i dane z pamięci. Większość systemów

Bardziej szczegółowo

Zarządzanie pamięcią operacyjną

Zarządzanie pamięcią operacyjną Dariusz Wawrzyniak Plan wykładu Pamięć jako zasób systemu komputerowego hierarchia pamięci przestrzeń owa Wsparcie dla zarządzania pamięcią na poziomie architektury komputera Podział i przydział pamięci

Bardziej szczegółowo

Układ sterowania, magistrale i organizacja pamięci. Dariusz Chaberski

Układ sterowania, magistrale i organizacja pamięci. Dariusz Chaberski Układ sterowania, magistrale i organizacja pamięci Dariusz Chaberski Jednostka centralna szyna sygnałow sterowania sygnały sterujące układ sterowania sygnały stanu wewnętrzna szyna danych układ wykonawczy

Bardziej szczegółowo

Zarządzanie pamięcią operacyjną

Zarządzanie pamięcią operacyjną SOE Systemy Operacyjne Wykład 7 Zarządzanie pamięcią operacyjną dr inż. Andrzej Wielgus Instytut Mikroelektroniki i Optoelektroniki WEiTI PW Hierarchia pamięci czas dostępu Rejestry Pamięć podręczna koszt

Bardziej szczegółowo

dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1

dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1 dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1 Cel wykładu Definicja, miejsce, rola i zadania systemu operacyjnego Klasyfikacja systemów operacyjnych Zasada działanie systemu operacyjnego

Bardziej szczegółowo

Działanie systemu operacyjnego

Działanie systemu operacyjnego Działanie systemu operacyjnego Budowa systemu komputerowego I NIC Jednostka centralna Sterownik dysku Sterownik drukarki Sterownik sieci Szyna systemowa (magistrala danych) Sterownik pamięci operacyjnej

Bardziej szczegółowo

Jądro systemu operacyjnego

Jądro systemu operacyjnego Jądro systemu operacyjnego Jądro (ang. kernel) jest to podstawowa część systemu operacyjnego, która jest odpowiedzialna za wszystkie jego zadania. Zapewnia ono usługi systemowe takie jak: komunikacja między

Bardziej szczegółowo

Pamięć wirtualna. Przygotował: Ryszard Kijaka. Wykład 4

Pamięć wirtualna. Przygotował: Ryszard Kijaka. Wykład 4 Pamięć wirtualna Przygotował: Ryszard Kijaka Wykład 4 Wstęp główny podział to: PM- do pamięci masowych należą wszelkiego rodzaju pamięci na nośnikach magnetycznych, takie jak dyski twarde i elastyczne,

Bardziej szczegółowo

Wydajność systemów a organizacja pamięci, czyli dlaczego jednak nie jest aż tak źle. Krzysztof Banaś, Obliczenia wysokiej wydajności.

Wydajność systemów a organizacja pamięci, czyli dlaczego jednak nie jest aż tak źle. Krzysztof Banaś, Obliczenia wysokiej wydajności. Wydajność systemów a organizacja pamięci, czyli dlaczego jednak nie jest aż tak źle Krzysztof Banaś, Obliczenia wysokiej wydajności. 1 Organizacja pamięci Organizacja pamięci współczesnych systemów komputerowych

Bardziej szczegółowo

Metody obsługi zdarzeń

Metody obsługi zdarzeń SWB - Przerwania, polling, timery - wykład 10 asz 1 Metody obsługi zdarzeń Przerwanie (ang. Interrupt) - zmiana sterowania, niezależnie od aktualnie wykonywanego programu, spowodowana pojawieniem się sygnału

Bardziej szczegółowo

Hosting WWW Bezpieczeństwo hostingu WWW. Dr Michał Tanaś (http://www.amu.edu.pl/~mtanas)

Hosting WWW Bezpieczeństwo hostingu WWW. Dr Michał Tanaś (http://www.amu.edu.pl/~mtanas) Hosting WWW Bezpieczeństwo hostingu WWW Dr Michał Tanaś (http://www.amu.edu.pl/~mtanas) System IT ogólna budowa Historia wirtualizacji Pierwsze komputery lata 40 i 50 Komputer bezpośrednio wykonuje program

Bardziej szczegółowo

4. Procesy pojęcia podstawowe

4. Procesy pojęcia podstawowe 4. Procesy pojęcia podstawowe 4.1 Czym jest proces? Proces jest czymś innym niż program. Program jest zapisem algorytmu wraz ze strukturami danych na których algorytm ten operuje. Algorytm zapisany bywa

Bardziej szczegółowo

Działanie systemu operacyjnego

Działanie systemu operacyjnego Budowa systemu komputerowego Działanie systemu operacyjnego Jednostka centralna dysku Szyna systemowa (magistrala danych) drukarki pamięci operacyjnej sieci Pamięć operacyjna Przerwania Przerwania Przerwanie

Bardziej szczegółowo

Budowa systemów komputerowych

Budowa systemów komputerowych Budowa systemów komputerowych Krzysztof Patan Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski k.patan@issi.uz.zgora.pl Współczesny system komputerowy System komputerowy składa

Bardziej szczegółowo

Systemy operacyjne. wykład dr Marcin Czarnota laboratorium mgr Radosław Maj

Systemy operacyjne. wykład dr Marcin Czarnota laboratorium mgr Radosław Maj Systemy operacyjne wykład dr Marcin Czarnota laboratorium mgr Radosław Maj Plan wykładów 1. Wprowadzenie, 2. Procesy, wątki i zasoby, 3. Planowanie przydziału procesora, 4. Zarządzanie pamięcią operacyjną,

Bardziej szczegółowo

dr inż. Jarosław Forenc

dr inż. Jarosław Forenc Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia stacjonarne I stopnia Rok akademicki 2009/2010 Wykład nr 8 (29.01.2009) dr inż. Jarosław Forenc Rok akademicki

Bardziej szczegółowo

dr inŝ. Jarosław Forenc

dr inŝ. Jarosław Forenc Rok akademicki 2009/2010, Wykład nr 8 2/19 Plan wykładu nr 8 Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia stacjonarne I stopnia Rok akademicki 2009/2010

Bardziej szczegółowo

Dodatek B. Zasady komunikacji z otoczeniem w typowych systemach komputerowych

Dodatek B. Zasady komunikacji z otoczeniem w typowych systemach komputerowych Dodatek B. Zasady komunikacji z otoczeniem w typowych systemach komputerowych B.1. Dostęp do urządzeń komunikacyjnych Sterowniki urządzeń zewnętrznych widziane są przez procesor jako zestawy rejestrów

Bardziej szczegółowo

Wykład 7. Zarządzanie pamięcią

Wykład 7. Zarządzanie pamięcią Wykład 7 Zarządzanie pamięcią -1- Świat idealny a świat rzeczywisty W idealnym świecie pamięć powinna Mieć bardzo dużą pojemność Mieć bardzo krótki czas dostępu Być nieulotna (zawartość nie jest tracona

Bardziej szczegółowo

Systemy Operacyjne Wirtualizacja

Systemy Operacyjne Wirtualizacja Katedra Informatyki, Politechnika Świętokrzyska w Kielcach Kielce, 23 stycznia 2015 Plan 1 2 Symulacja Emulacja 3 4 5 6 jest techniką zarządzania zasobami, która umożliwia ich współdzielenie przez procesy

Bardziej szczegółowo

Architektura komputerów

Architektura komputerów Architektura komputerów Wykład 7 Jan Kazimirski 1 Pamięć podręczna 2 Pamięć komputera - charakterystyka Położenie Procesor rejestry, pamięć podręczna Pamięć wewnętrzna pamięć podręczna, główna Pamięć zewnętrzna

Bardziej szczegółowo

Jak wiemy, wszystkich danych nie zmieścimy w pamięci. A nawet jeśli zmieścimy, to pozostaną tam tylko do najbliższego wyłączenia zasilania.

Jak wiemy, wszystkich danych nie zmieścimy w pamięci. A nawet jeśli zmieścimy, to pozostaną tam tylko do najbliższego wyłączenia zasilania. Jak wiemy, wszystkich danych nie zmieścimy w pamięci. A nawet jeśli zmieścimy, to pozostaną tam tylko do najbliższego wyłączenia zasilania. Dlatego trzeba je zapisywać do pliku, a potem umieć je z tego

Bardziej szczegółowo

5. Model komunikujących się procesów, komunikaty

5. Model komunikujących się procesów, komunikaty Jędrzej Ułasiewicz str. 1 5. Model komunikujących się procesów, komunikaty Obecnie stosuje się następujące modele przetwarzania: Model procesów i komunikatów Model procesów komunikujących się poprzez pamięć

Bardziej szczegółowo

Zarządzanie pamięcią operacyjną zagadnienia podstawowe

Zarządzanie pamięcią operacyjną zagadnienia podstawowe Zarządzanie pamięcią operacyjną zagadnienia podstawowe Pamięć jako zasób systemu komputerowego Pamięć jest zasobem służący do przechowywania danych. Z punktu widzenia systemu pamięć jest zasobem o strukturze

Bardziej szczegółowo

Architektura komputerów

Architektura komputerów Architektura komputerów Tydzień 11 Wejście - wyjście Urządzenia zewnętrzne Wyjściowe monitor drukarka Wejściowe klawiatura, mysz dyski, skanery Komunikacyjne karta sieciowa, modem Urządzenie zewnętrzne

Bardziej szczegółowo

Architektura komputerów

Architektura komputerów Architektura komputerów Wykład 12 Jan Kazimirski 1 Magistrale systemowe 2 Magistrale Magistrala medium łączące dwa lub więcej urządzeń Sygnał przesyłany magistralą może być odbierany przez wiele urządzeń

Bardziej szczegółowo

Pamięć. Jan Tuziemski Źródło części materiałów: os-book.com

Pamięć. Jan Tuziemski Źródło części materiałów: os-book.com Pamięć Jan Tuziemski Źródło części materiałów: os-book.com Cele wykładu Przedstawienie sposobów organizacji pamięci komputera Przedstawienie technik zarządzania pamięcią Podstawy Przed uruchomieniem program

Bardziej szczegółowo

Architektura komputerów

Architektura komputerów Architektura komputerów Tydzień 4 Tryby adresowania i formaty Tryby adresowania Natychmiastowy Bezpośredni Pośredni Rejestrowy Rejestrowy pośredni Z przesunięciem stosowy Argument natychmiastowy Op Rozkaz

Bardziej szczegółowo

4. Procesy pojęcia podstawowe

4. Procesy pojęcia podstawowe 4. Procesy pojęcia podstawowe 4.1 Czym jest proces? Proces jest czymś innym niż program. Program jest zapisem algorytmu wraz ze strukturami danych na których algorytm ten operuje. Algorytm zapisany bywa

Bardziej szczegółowo

PRZYDZIAŁ PAMIĘCI OPERACYJNEJ

PRZYDZIAŁ PAMIĘCI OPERACYJNEJ PRZYDZIAŁ PAMIĘCI OPERACYJNEJ dr inż. Krzysztof Patan Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski k.patan@issi.uz.zgora.pl Wstęp Pamięć komputera wielka tablica słów (bajtów)

Bardziej szczegółowo

PRZERWANIA. 1. Obsługa zdarzeń, odpytywanie i przerwania Obsługa zdarzeń jest jedną z kluczowych funkcji w prawie każdym systemie czasu rzeczywistego.

PRZERWANIA. 1. Obsługa zdarzeń, odpytywanie i przerwania Obsługa zdarzeń jest jedną z kluczowych funkcji w prawie każdym systemie czasu rzeczywistego. PRZERWANIA 1. Obsługa zdarzeń, odpytywanie i Obsługa zdarzeń jest jedną z kluczowych funkcji w prawie każdym systemie czasu rzeczywistego. Istnieją dwie metody pozyskania informacji o zdarzeniach: 1. Cykliczne

Bardziej szczegółowo

Architektura Systemów Komputerowych. Rozwój architektury komputerów klasy PC

Architektura Systemów Komputerowych. Rozwój architektury komputerów klasy PC Architektura Systemów Komputerowych Rozwój architektury komputerów klasy PC 1 1978: Intel 8086 29tys. tranzystorów, 16-bitowy, współpracował z koprocesorem 8087, posiadał 16-bitową szynę danych (lub ośmiobitową

Bardziej szczegółowo

Materiały pomocnicze 1

Materiały pomocnicze 1 JĄDRO SYSEMU Jądro systemu stanowi główny interfejs między sprzętem (surową maszyną), a systemem operacyjnym. JĄDRO SYSEMU inne elementy systemu jądro systemu surowa maszyna 2 PODSAWOWE UDOGODIEIA SPRZĘOWE

Bardziej szczegółowo

Mikroprocesory rodziny INTEL 80x86

Mikroprocesory rodziny INTEL 80x86 Mikroprocesory rodziny INTEL 80x86 Podstawowe wła ciwo ci procesora PENTIUM Rodzina procesorów INTEL 80x86 obejmuje mikroprocesory Intel 8086, 8088, 80286, 80386, 80486 oraz mikroprocesory PENTIUM. Wprowadzając

Bardziej szczegółowo

Pośredniczy we współpracy pomiędzy procesorem a urządzeniem we/wy. W szczególności do jego zadań należy:

Pośredniczy we współpracy pomiędzy procesorem a urządzeniem we/wy. W szczególności do jego zadań należy: Współpraca mikroprocesora z urządzeniami zewnętrznymi Urządzenia wejścia-wyjścia, urządzenia których zadaniem jest komunikacja komputera z otoczeniem (zwykle bezpośrednio z użytkownikiem). Do najczęściej

Bardziej szczegółowo

System pamięci. Pamięć wirtualna

System pamięci. Pamięć wirtualna System pamięci Pamięć wirtualna Pamięć wirtualna Model pamięci cache+ram nie jest jeszcze realistyczny W rzeczywistych systemach działa wiele programów jednocześnie Każdy może używać tej samej przestrzeni

Bardziej szczegółowo

Architektura systemów informatycznych

Architektura systemów informatycznych Architektura systemów informatycznych Architektura i organizacja pamięci Literatura: Hyde R. 2005, Zrozumieć komputer, Profesjonalne programowanie Część 1, Helion, Gliwice Podstawowe elementy systemu komputerowego

Bardziej szczegółowo

Projektowanie oprogramowania systemów PROCESY I ZARZĄDZANIE PROCESAMI

Projektowanie oprogramowania systemów PROCESY I ZARZĄDZANIE PROCESAMI Projektowanie oprogramowania systemów PROCESY I ZARZĄDZANIE PROCESAMI plan Cechy, właściwości procesów Multitasking Scheduling Fork czym jest proces? Działającą instancją programu Program jest kolekcją

Bardziej szczegółowo

Rejestry procesora. Nazwa ilość bitów. AX 16 (accumulator) rejestr akumulatora. BX 16 (base) rejestr bazowy. CX 16 (count) rejestr licznika

Rejestry procesora. Nazwa ilość bitów. AX 16 (accumulator) rejestr akumulatora. BX 16 (base) rejestr bazowy. CX 16 (count) rejestr licznika Rejestry procesora Procesor podczas wykonywania instrukcji posługuje się w dużej części pamięcią RAM. Pobiera z niej kolejne instrukcje do wykonania i dane, jeżeli instrukcja operuje na jakiś zmiennych.

Bardziej szczegółowo

Programowanie mikrokontrolerów. 8 listopada 2007

Programowanie mikrokontrolerów. 8 listopada 2007 Programowanie mikrokontrolerów Marcin Engel Marcin Peczarski 8 listopada 2007 Alfanumeryczny wyświetlacz LCD umożliwia wyświetlanie znaków ze zbioru będącego rozszerzeniem ASCII posiada zintegrowany sterownik

Bardziej szczegółowo

Technika Mikroprocesorowa Laboratorium 5 Obsługa klawiatury

Technika Mikroprocesorowa Laboratorium 5 Obsługa klawiatury Technika Mikroprocesorowa Laboratorium 5 Obsługa klawiatury Cel ćwiczenia: Głównym celem ćwiczenia jest nauczenie się obsługi klawiatury. Klawiatura jest jednym z urządzeń wejściowych i prawie zawsze występuje

Bardziej szczegółowo

Materiały do wykładu. 7.Architekturax86. Marcin Peczarski. Instytut Informatyki Uniwersytet Warszawski

Materiały do wykładu. 7.Architekturax86. Marcin Peczarski. Instytut Informatyki Uniwersytet Warszawski Materiały do wykładu 7.Architekturax86 Marcin Peczarski Instytut Informatyki Uniwersytet Warszawski 25maja2009 Narodziny 7.1 1978 Intel8086 architektura 16-bitowa 5 MHz, obudowa DIP40, 29000 tranzystorów

Bardziej szczegółowo

ad a) Konfiguracja licznika T1 Niech nasz program składa się z dwóch fragmentów kodu: inicjacja licznika T1 pętla główna

ad a) Konfiguracja licznika T1 Niech nasz program składa się z dwóch fragmentów kodu: inicjacja licznika T1 pętla główna Technika Mikroprocesorowa Laboratorium 4 Obsługa liczników i przerwań Cel ćwiczenia: Celem ćwiczenia jest nabycie umiejętności obsługi układów czasowo-licznikowych oraz obsługi przerwań. Nabyte umiejętności

Bardziej szczegółowo

LEKCJA TEMAT: Zasada działania komputera.

LEKCJA TEMAT: Zasada działania komputera. LEKCJA TEMAT: Zasada działania komputera. 1. Ogólna budowa komputera Rys. Ogólna budowa komputera. 2. Komputer składa się z czterech głównych składników: procesor (jednostka centralna, CPU) steruje działaniem

Bardziej szczegółowo

Architektura systemu komputerowego

Architektura systemu komputerowego Architektura systemu komputerowego Klawiatura 1 2 Drukarka Mysz Monitor CPU Sterownik dysku Sterownik USB Sterownik PS/2 lub USB Sterownik portu szeregowego Sterownik wideo Pamięć operacyjna Działanie

Bardziej szczegółowo

Przerwania w architekturze mikrokontrolera X51

Przerwania w architekturze mikrokontrolera X51 Przerwania w architekturze mikrokontrolera X51 (przykład przerwanie zegarowe) Ryszard J. Barczyński, 2009 Politechnika Gdańska, Wydział FTiMS, Katedra Fizyki Ciała Stałego Materiały dydaktyczne do użytku

Bardziej szczegółowo

Programowanie niskopoziomowe. dr inż. Paweł Pełczyński ppelczynski@swspiz.pl

Programowanie niskopoziomowe. dr inż. Paweł Pełczyński ppelczynski@swspiz.pl Programowanie niskopoziomowe dr inż. Paweł Pełczyński ppelczynski@swspiz.pl 1 Literatura Randall Hyde: Asembler. Sztuka programowania, Helion, 2004. Eugeniusz Wróbel: Praktyczny kurs asemblera, Helion,

Bardziej szczegółowo

Architektura Systemów Komputerowych. Jednostka ALU Przestrzeń adresowa Tryby adresowania

Architektura Systemów Komputerowych. Jednostka ALU Przestrzeń adresowa Tryby adresowania Architektura Systemów Komputerowych Jednostka ALU Przestrzeń adresowa Tryby adresowania 1 Jednostka arytmetyczno- logiczna ALU ALU ang: Arythmetic Logic Unit Argument A Argument B A B Ci Bit przeniesienia

Bardziej szczegółowo

Q E M U. http://www.qemu.com/

Q E M U. http://www.qemu.com/ http://www.qemu.com/ Emulator procesora Autor: Fabrice Bellard Obsługiwane platformy: Windows, Solaris, Linux, FreeBSD, Mac OS X Aktualna wersja: 0.9.0 Większość programu oparta na licencji LGPL, a sama

Bardziej szczegółowo

Logiczny model komputera i działanie procesora. Część 1.

Logiczny model komputera i działanie procesora. Część 1. Logiczny model komputera i działanie procesora. Część 1. Klasyczny komputer o architekturze podanej przez von Neumana składa się z trzech podstawowych bloków: procesora pamięci operacyjnej urządzeń wejścia/wyjścia.

Bardziej szczegółowo

MOŻLIWOŚCI PROGRAMOWE MIKROPROCESORÓW

MOŻLIWOŚCI PROGRAMOWE MIKROPROCESORÓW MOŻLIWOŚCI PROGRAMOWE MIKROPROCESORÓW Projektowanie urządzeń cyfrowych przy użyciu układów TTL polegało na opracowaniu algorytmu i odpowiednim doborze i zestawieniu układów realizujących różnorodne funkcje

Bardziej szczegółowo

Technologia informacyjna. Urządzenia techniki komputerowej

Technologia informacyjna. Urządzenia techniki komputerowej Technologia informacyjna Urządzenia techniki komputerowej System komputerowy = hardware (sprzęt) + software (oprogramowanie) Sprzęt komputerowy (ang. hardware) zasoby o specyficznej strukturze i organizacji

Bardziej szczegółowo

SOE Systemy Operacyjne Wykład 8 Pamięć wirtualna dr inż. Andrzej Wielgus

SOE Systemy Operacyjne Wykład 8 Pamięć wirtualna dr inż. Andrzej Wielgus SOE Systemy Operacyjne Wykład 8 Pamięć wirtualna dr inż. Andrzej Wielgus Instytut Mikroelektroniki i Optoelektroniki WEiTI PW Pamięć wirtualna Stronicowanie na żądanie większość współczesnych systemów

Bardziej szczegółowo

Kurs Zaawansowany S7. Spis treści. Dzień 1

Kurs Zaawansowany S7. Spis treści. Dzień 1 Spis treści Dzień 1 I Konfiguracja sprzętowa i parametryzacja stacji SIMATIC S7 (wersja 1211) I-3 Dlaczego powinna zostać stworzona konfiguracja sprzętowa? I-4 Zadanie Konfiguracja sprzętowa I-5 Konfiguracja

Bardziej szczegółowo

Adresowanie obiektów. Adresowanie bitów. Adresowanie bajtów i słów. Adresowanie bajtów i słów. Adresowanie timerów i liczników. Adresowanie timerów

Adresowanie obiektów. Adresowanie bitów. Adresowanie bajtów i słów. Adresowanie bajtów i słów. Adresowanie timerów i liczników. Adresowanie timerów Adresowanie obiektów Bit - stan pojedynczego sygnału - wejście lub wyjście dyskretne, bit pamięci Bajt - 8 bitów - wartość od -128 do +127 Słowo - 16 bitów - wartość od -32768 do 32767 -wejście lub wyjście

Bardziej szczegółowo

Podstawy Informatyki Układ przerwań

Podstawy Informatyki Układ przerwań maszyny W Podstawy Informatyki alina.momot@polsl.pl http://zti.polsl.pl/amomot/pi Plan wykładu maszyny W 1 Wprowadzenie Przerwania we współczesnych procesorach Rodzaje systemów przerwań Cykl rozkazowy

Bardziej szczegółowo

Urządzenia wejścia-wyjścia

Urządzenia wejścia-wyjścia Urządzenia wejścia-wyjścia Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Plan wykładu Klasyfikacja urządzeń wejścia-wyjścia Struktura mechanizmu wejścia-wyjścia (sprzętu i oprogramowania) Interakcja

Bardziej szczegółowo

Systemy Operacyjne. wykład 1. Adam Kolany. Październik, Instytut Techniczny Państwowa Wyższa Szkoła Zawodowa w Nowym Sączu

Systemy Operacyjne. wykład 1. Adam Kolany. Październik, Instytut Techniczny Państwowa Wyższa Szkoła Zawodowa w Nowym Sączu Systemy Operacyjne wykład 1. Adam Kolany Instytut Techniczny Państwowa Wyższa Szkoła Zawodowa w Nowym Sączu dr.a.kolany@wp.pl Październik, 2007 Literatura DrAK (PWSZ) Systemy Operacyjne 11 Październik,

Bardziej szczegółowo

Wykład 2. Mikrokontrolery z rdzeniami ARM

Wykład 2. Mikrokontrolery z rdzeniami ARM Źródło problemu 2 Wstęp Architektura ARM (Advanced RISC Machine, pierwotnie Acorn RISC Machine) jest 32-bitową architekturą (modelem programowym) procesorów typu RISC. Różne wersje procesorów ARM są szeroko

Bardziej szczegółowo

1. Pamięć wirtualna. 2. Optymalizacja pliku pamięci wirtualnej

1. Pamięć wirtualna. 2. Optymalizacja pliku pamięci wirtualnej 1. Pamięć wirtualna Jeśli na komputerze brakuje pamięci RAM wymaganej do uruchomienia programu lub wykonania operacji, system Windows korzysta z pamięci wirtualnej, aby zrekompensować ten brak. Aby sprawdzić,

Bardziej szczegółowo