Tryb rzeczywisty to tryb pracy mikroprocesorów z rodziny procesorów x86, w którym procesor pracuje tak jak procesor Intel 8086.
|
|
- Paulina Zielińska
- 8 lat temu
- Przeglądów:
Transkrypt
1 T: Tryb rzeczywisty i chroniony procesora. Tryb rzeczywisty to tryb pracy mikroprocesorów z rodziny procesorów x86, w którym procesor pracuje tak jak procesor Intel W trybie tym brak ochrony pamięci przed użyciem przez inny proces i brak obsługi wielozadaniowości. W trybie rzeczywistym pracowały programy w systemie operacyjnym DOS, na przełomie lat 80 i 90 dwudziestego wieku prowadzono działania nad pracą programów w systemie DOS w trybie chronionym, pozostawiając sam system w trybie rzeczywistym, zbudowano kilka systemów umożliwiających taką pracę systemu. W trybie rzeczywistym dostępna jest 1-megabajtowa przestrzeń adresowa. Adres logiczny (programowy) składa się z dwóch liczb 16-bitowych: segmentu (numeru segmentu) oraz przemieszczenia względem początku segmentu (ang. offset). Adres fizyczny jest liczony jako segment * 16 + przemieszczenie. Ponieważ segmenty nie są rozłączne, wiele różnych adresów logicznych może odwoływać się do tej samej komórki pamięci (dokładnie - jeden adres fizyczny jest opisywany przez 4096 różnych adresów logicznych); na przykład: segment:offset = 0x1000:0xA000 adres fizyczny = 0x1000*16 + 0xA000 = 0x1A000 segment:offset = 0x1900:0x1000 adres fizyczny = 0x1900*16 + 0x1000 = 0x1A000 Ponieważ segment i przemieszczenie mają 16 bitów, dlatego w trybie rzeczywistym można maksymalnie zaadresować 1088 kb pamięci, ale procesory Intel 8086, 8088, oraz posiadają 20-bitową szynę adresową i z tego powodu mogą zaadresować tylko 1024 kb pamięci przy próbie sięgnięcia do adresu powyżej 1024 kb w rzeczywistości odwołają się do adresu o 1 MB niższego. Procesory nowsze, tzn. i286, i386 itd., mają szersze szyny adresowe (24-, 32- lub 36-bitowe) toteż pracując w trybie rzeczywistym mogą adresować całe 1088 kb pamięci. System DOS począwszy od wersji 4.0 potrafił wykorzystać te dodatkowe B pamięci, która została nazwana pamięcią wysoką (HMA High Memory Area). Jednak powoduje to niepełną zgodność z procesorami Intel 8086 i dlatego w komputerach zgodnych z IBM/PC została wprowadzona możliwość blokowania 21. linii adresowej nowszych procesorów, co sprawia, że programy pracujące w trybie rzeczywistym mają dostęp do 20 linii. Blokowanie i odblokowywanie linii 21 jest udostępniane przez ustawienie w biosie komputera bramkę A20 (ang. A20 gate; A20 to numer linii adresowej, liczony od 0). Tryb chroniony (ang. protected mode) to tryb pracy mikroprocesorów serii x86 wprowadzony w mikroprocesorze Intel Tryb chroniony umożliwia adresowanie pamięci w większym zakresie niż 1MB (tryb rzeczywisty), wprowadza wiele nowych udogodnień wspierających wielozadaniowość, takich jak: sprzętowa ochrona pamięci (układ MMU), wsparcie przełączania kontekstu procesora i wiele innych. Większość nowoczesnych systemów operacyjnych wykorzystuje procesory serii x86 właśnie w trybie chronionym. Zaliczają się do nich m.in.: Linux, Windows w wersji 3.0 i wyższych, systemy z rodziny BSD. Tryb chroniony został wprowadzony do mikroprocesora Intel wraz z trybem rzeczywistym (ang. real mode) dla zachowania zgodności z poprzednimi mikroprocesorami rodziny x86. W mikroprocesorze Intel w trybie chronionym 16-bitowe rejestry segmentowe CS, SS, DS, ES zawierają selektory, które jednoznacznie określają deskryptor (8-bajtowa struktura w pamięci) opisujący segment. Deskryptor dysponuje następującymi informacjami o segmencie: fizyczna lokalizacja segmentu w pamięci (24-bitowy adres bazowy, 16-bitowa długość segmentu w bajtach), prawa dostępu do segmentu i numer uprawnienia segmentu. W odróżnieniu od trybu chronionego w trybie rzeczywistym rejestry segmentowe CS, SS, DS, ES zawierają adresy bazowe (początków) segmentów. Procesor zaczyna pracę trybie chronionym po ustawieniu bitu PE (ang.
2 Protection Enable) na jeden, wyzerowanie tego bitu powoduje powrót do trybu rzeczywistego (bit PE to najmłodszy bit rejestru CR0 (ang. Control Register)). Tryb wirtualny (zwany także V86 lub Virtual 8086) specjalny tryb pracy procesorów o architekturze IA- 32, dostępny w trybie chronionym, który umożliwia uruchamianie programów przeznaczonych dla trybu rzeczywistego. W trybie wirtualnym symulowane jest działanie analogiczne dla procesora Intel 8086 (faktycznie można uruchamiać kod także dla 8088, i 80188), tzn. otrzymuje dostęp do 1 MB pamięci i rejestrów procesora i może wykonywać te rozkazy, które mają sens w takim otoczeniu. Natomiast w odróżnieniu od "prawdziwego" trybu rzeczywistego, wszelki dostęp do portów procesora jest sankcjonowany przez system operacyjny pracujący w tybie chronionym. Podobnie przerwania są obsługiwane przez system operacyjny. To umożliwia bezkonfliktową pracę zwykłych zadań systemu i zadań V86. Możliwe jest ponadto jednoczesne uruchmienie wielu zadań V86. Ponieważ to na system operacyjny spada obsługa dostępu do portów oraz przerwań, system musi emulować sprzęt, jak i udostępniać określoną funkcjonalność 16-bitowego systemu operacyjnego. Innymi słowy system musi tłumaczyć żądania zadania V86, np. zapis do określonego portu na akcję sterownika sprzętu. Tryb V86 jest wykorzystywany do uruchamiania programów DOS-owych. System Windows posiada wbudowane mechanizmy umożliwiające uruchomienie takich programów (w Windows NT jest to NTVDM), natomiast dla systemu Linux istnieje specjalny program dosemu. Wyróżniamy dwa tryby procesora: tryb rzeczywisty (16 bitowy) i tryb chroniony (32 bitowy). Gdy włączamy kompa, to procesor uruchamia się w trybie rzeczywistym następnie uruchamia biosa (który właśnie jest 16Bitowy), a Bios następnie uruchamia boot loadera, a dopiero on uruchamia jądro systemu. A od systemu zależy czy pozostanie w trybie rzeczywistym czy przejdzie do trybu chronionego. Tryb rzeczywisty Jest od początku istnienia PC-ta, jak już wcześniej wspomniałem jest to tryb 16 bitowy. Przykładowy system to DOS. Pisanie systemu w tym trybie nie jest nawet takie trudne, dlatego że bios udostępnia bardzo wiele procedur, z których możemy korzystać, mniej więcej do obsługi karty graficznej, klawiatury, dysków itd. kto programował w asemblerze pod Dos-a to bardzo dobrze o tym wie. Przerwania w trybie rzeczywistym. Przerwania mogą być programowe lub sprzętowe. Programowe są wywoływane przez użytkownika, a sprzętowe przez sprzęt (zresztą jak sama nazwa wskazuje). A jak to działa? W bardzo prosty sposób, na samym początku pamięci (adres 0x0000:0x0000) znajduje się tablica wektorów przerwań, która została załadowana przez Bios. Tablica wektorów przerwań to po prostu tablica par offset:segment. Przerwań może być maksymalnie 256. A teraz jakiś konkretny przykład: Użytkownik wciska klawisz klawiatury wywołuje przerwanie sprzętowe o numerze 09h, procesor przerywa swoją dotychczasowa prace (stąd właśnie ta nazwa "przerwanie") Patrzy do tablicy wektorów przerwań gdzie znajduje się procedura obsługi przerwania i skacze do niej. W tym przypadku taka procedura ma za zadanie zapamiętać jaki klawisz został naciśnięty, po zakończeniu tej procedury, procesor wraca do zadania, które robił przed wywołaniem przerwania. I to jest cała filozofia. Na koniec jeszcze kilka wzorów na obliczenie gdzie w tablicy znajduje się zapisany Segment i Offset konkretnego przerwania: Segment = wartość przy 0x0000:numer_przerwania*4 Offset = wartość przy 0x0000:(numer_przerwania*4)+2
3 Znając to możemy przechwytywać przerwania i pisać własne procedury obsługi. Wykorzystywane jest to w bardzo w wielu celach np. do pisania wirusów czy do obsługi klawiatury w grach pod Dosa bo jak pewnie wielu zauważyło funkcja readkey nie jest do tego zbyt dobra. My przerwania będziemy wykorzystywać do komunikacji programu z systemem. Adresy Programując będziemy korzystać z adresów logicznych, a procesor automatycznie będzie go zmieniał na adres fizyczny. Czym się rożni adres logiczny od fizycznego opisuje poniżej: adres fizyczny - (physical address) jest adresem najniższego poziomu. Podczas komunikacji procesora z układem obsługującym pamięć, na jego liniach adresowych wystawiany jest właśnie adres fizyczny. Wykorzystujemy go podczas komunikowania się z dowolnymi urządzeniami. W trybie rzeczywistym adres fizyczny jest 20 bitowy. adres logiczny - (logical address) jest adresem złożonym z dwóch członów: identyfikatora segmentu i przemieszczenia w tym segmencie. Adres taki zapisujemy w postaci segment:offset. Adres logiczny powinien być wykorzystywany do zapisywania lub odczytywania danych, procesor automatycznie zamienia go na adres adres fizyczny. adres segmentowy - (segment) jest pierwszą częścią adresu logicznego. Jeżeli został podany bez offset'u oznacza to, że wskazuje nie konkretną komórkę pamięci a cały blok. adres relatywny - (offset) jest odległością od początku segmentu, lub jakiegoś bloku danych. Adres takiego segmentu musi być znany. Pamięć Niestety tryb rzeczywisty jest też bardzo ograniczony, mamy dostęp tylko do 1MB pamięci, która właściwie jest w części zajęta mniej więcej przez bios, więc nam zostaje tylko 640KB. Pamięć też jest podzielona na sektory po 64KB. A tak mniej więcej wygląda pamięć w trybie rzeczywistym: 0x0000:0x tablica wektorów przerwań 0x0000:0x7C00 - tu zostaje załadowany boot-sector przez BIOS 0x1000:0x0000-0x9000:0xFFFF - pamięć użytkownika (najlepiej używać z tego przedziału) 0xA000:0x pamięć video karty VGA (tylko dla trybu graficznego) 0xB000:0x pamięć video karty Hercules Monochrome 0xB800:0x pamięć trybu tekstowego karty VGA 0xC000:0x0000-0xF000:0xFFFF - pamięć BIOSu i inne Podstawowym ograniczeniem trybu rzeczywistego jest to, że procesor może wykorzystać jedynie niższe 20 bitów swojej magistrali adresowej, stąd właśnie to ograniczenie pamięci, o którym pisałem wcześniej. Niepraktyczne było tworzenie rejestrów 20 bitowych na przechowywanie adresów, więc projektanci INTELA podzielili przestrzeń adresowa na segmenty (po 64KB). Wiec do odwoływania się do pamięci używamy dwóch liczb 16 bitowych, pierwsza to adres segmentu druga to offset przesunięcia od początku segmentu. Adres fizyczny mając parę 16bitowych rejestrów(segment i offset) możemy obliczyć następująco: adres fizyczny = segment * 16 + offset Pamięć PC podzielona jest na 4 logiczne obszary: I. Conventional Memory - jest to pierwsze 640kb pamięci systemowej. Jest to obszar dostępny dla programisty. Adres : 0000h - 9FFFFh.
4 II. Upper Memory Area (UMA) - jest to wyższe 384 bajty pierwszego megabajta pamięci, bezpośrednio ponad pamięcią konwencjonalną. Jest ona zarezerwowana do użytku przez urządzenia systemowe oraz ROM razem ze sterownikami. Adres : A0000h - FFFFFh. III. High Memory Area (HMA) - pierwsze 64kb drugiego megabajta pamięci, czyli pierwsze 64kb pamięci rozszerzonej, która może być dostępna w trybie rzeczywistym. Adres: h - 10FFEFh. IV. Extended Memory (pamięć rozszerzona) - jest to cała pamięć powyżej pierwszego megabajta. Dostęp do niej mamy jedynie w trybie chronionym. Adres 10FFF0h do końca pamięci operacyjnej. Ze względu na błąd zrobiony przez firmę Intel możemy skorzystać jeszcze z 64KB, które znajdują się ponad tym 1MB jest to tak zwana pamięć HMA (high memory area). HMA to pierwsze 65,520 bajtów (64kb odjąć 16 bajtów) pamięci rozszerzonej (tej powyżej granicy 1mb). Technicznie rzecz biorąc jest to adres od h do 10FFEFh. Jest to szczególny obszar pamięci, gdyż jest to jedyny obszar pamięci rozszerzonej, z którego możemy korzystać w trybie rzeczywistym. To wszystko, co tu opisałem ma bardzo duży wpływ na dzisiejsze procesory, ponieważ każdy nowy procek musi być kompatybilny z trybem rzeczywistym. Tryby pracy procesorów Tryb rzeczywisty Jest to tryb bardzo "okrojony". Pamięć jest podzielona na segmenty. Każdy segment ma wielkość 64kB. W trybie rzeczywistym mamy dostępny tylko 1MB pamięci, ale i tak jest mniej, bo pamięć od 0xA0000-0xFFFFF jest zarezerwowana dla pamięci video i BIOSu. Mamy więc tylko ok. 640kB wolnych. Tryb ten pozostał nawet w najnowszych procesorach Athlon XP ze względu na kompatybilność ze starymi programami pisanymi dla procesora Do pisania prawdziwego, dobrego OSa tryb rzeczywisty nas w ogóle nie obchodzi. Tryb chroniony Tryb ten został wprowadzony dopiero w procesorze 286. Jest to specjalny tryb pracy procesora. Pamięć jest podzielona na segmenty, ale to ty decydujesz gdzie się segment zaczyna i jaką ma wielkość. Dla procesora 286 wynosiła ona max. 16MB, a dla procesorów od 386 wzwyż do 4GB (!). W opisach będziemy się opierać tylko na architekturze procesorów od 386 w górę. Nie ma sensu opisywać 286, bo nikt już go dziś nie używa. Opis trybu rzeczywistego Chcąc, nie chcąc, trzeba wiedzieć jak programować w trybie rzeczywistym. Potrzebne nam to będzie m.in. do napisania bootloadera oraz kodu inicjalizującego nasz OS. Inicjalizacja komputera Po włączeniu komputera procesor "budzi się" w trybie rzeczywistym. Jest to potrzebne, aby załadować BIOS, który jest przecież kodem 16-bitowym i używa specyficznych właściwości trybu rzeczywistego. Procesor skacze do specjalnego adresu w pamięci, gdzie znajduje się procedura skoku do właściwego punktu wejścia BIOSu. Pamięć w trybie rzeczywistym Jak już wspomniałem pamięć w RMODE (skrót od real mode - tryb rzeczywisty) jest podzielona na segmenty. Każdy segment ma limit 64kB. W trybie rzeczywistym jest tylko szesnaście segmentów: 0x0000,0x1000,0x2000,0x3000,...,0xF000. Segment 0x0000 jest zarezerwowany dla tablicy przerwań oraz niektórych danych komputera. Aby obliczyć fizyczne położenie takiego segmentu w pamięci, wystarczy wymnożyć numer segmentu przez 16, czyli w zapisie szesnastkowym dodać jedno 0 na koniec. Np. segment 0x4000 ma adres fizyczny 0x Aby obliczyć adres fizyczny pary segment:offset wystarczy wykonać działanie:
5 adres_liniowy = (segment*16) offset Czasami widzisz numer segmentu, np. 0x5188. W rzeczywistości jest to segment 0x5000, tylko po przeliczeniu adresu segmentu segment:offset z powyższego równania wychodzi, że np. adres 0x5100:0x0010 to to samo, co 0x5000:0x1010. Poniżej przedstawiam skróconą mapę pamięci w RMODE. 0x0000:0x tablica wektorów przerwań 0x0000:0x7C00 - tu zostaje załadowany boot-sector przez BIOS 0x1000:0x0000-0x9000:0xFFFF - pamięć użytkownika (najlepiej używać z tego przedziału) 0xA000:0x pamięć video karty VGA (tylko dla trybu graficznego) 0xB000:0x pamięć video karty Hercules Monochrome 0xB800:0x pamięć trybu tekstowego karty VGA 0xC000:0x0000-0xF000:0xFFFF - pamięć BIOSu i inne Przerwania w trybie rzeczywistym Na samym początku pamięci RAM (adres 0x0000:0x0000) znajduje się tablica wektorów przerwań. Zostaje zainicjalizowana przez BIOS. Zawiera ona punkty wejścia do różnych procedur systemowych. Np. przerwanie 0x10 służy do obsługi karty graficznej, przerwanie 0x13 do obsługi dysków. Tablica wektorów przerwań to po prostu tablica par offset:segment. Przerwań może być tylko 256. Przerwania dzielą się na programowe i sprzętowe. Programowe są wywoływanie jedynie przez użytkownika, a sprzętowe może wywołać procesor. W dokumentacji Intela do procesora 386 jest jak byk napisane, że przerwania od 0x00 do 0x2F są zarezerwowane na wyjątki procesora oraz przerwania sprzętowe to i tak jakiś matoł projektujący BIOS umieścił tam przerwania użytkownika, przekierowując przerwania sprzętowe pod inne numery. I teraz jeśli w trybie chronionym chcesz obsługiwać przerwania sprzętowe i wyjątki procesora to musisz wysłać do PICa (Programmable Interrupt Controller) żądanie, aby przekierował przerwania na właściwe miejsce (ok. 15 linijek w C używając outportb). Kiedy procesor wykonuje przerwanie (sprzętowe, lub przy użyciu intrukcji int) na stos kładzione są następujące rejestry (w kolejności): ss, sp, flags, cs, ip. Znaczenie rejestrów: SS - segment stosu SP - aktualna pozycja stosu FLAGS - tu zawarte są flagi procesora CS - segment kodu IP - licznik programu (pozycja aktualnie wykonywanej instrukcji) Gdy procesor otrzyma żądanie przerwania, liczy sobie (w RMODE) adres przerwania w następujący sposób: Segment = wartość przy 0x0000:numer_przerwania*4 Offset = wartość przy 0x0000:(numer_przerwania*4)+2 Potem zapisuje stan ww. rejestrów i skacze do procedury obsługi przerwania. Opis trybu chronionego O trybie rzeczywistym już wystarczy. Teraz zajmijmy się trybem chronionym, ponieważ jego opis będzie trochę dłuższy. Na początek trochę nudnych rzeczy. UWAGA: Opisywane tutaj rzeczy są w większości przypadków prawdziwe tylko dla procesorów 386 i lepszych. Rejestry W trybie chronionym wszystkie rejestry procesora są rejestrami 32-bitowymi. Mamy więc rejestry: eax, ebx, ecx, edx, esi, edi, ebp, esp oraz cs, ds, es, fs, gs. W trybie rzeczywistym raczej nie używa się rejestrów fs i gs. Mimo, że rejestry segmentowe są 32-bitowe, to i tak procesor używa tylko ich "dolną" połowę. Stos Tutaj stos jest 32-bitowy. Jest to rozmiar domyślny elementu kładzionego na stos. Jeśli chcesz położyć element 16-bitowy, to musisz użyć rejestru 16-bitowego, lub wartości 16-bitowej (np. push word 1 lub push word [wartosc]), jednak prawie nigdy nie używa się argumentów 16-bitowych. Rejestry dodatkowe W trybie chronionym dostępne są także rejestry do kontroli procesora (są 32-bitowe). Są to rejestry:
6 CR0 - podstawowy rejestr kontroli procesora. Można go używać także w RMODE, ale to on właśnie służy do przełączania CPU w tryb chroniony i do kilku innych rzeczy CR1 - rejestr zarezerwowany CR2 - tutaj jest zapisany fizyczny adres, w którym wystąpił ostatni błąd strony (ang. Page Fault), ale o tym będzie później CR3 - tutaj zapisany jest fizyczny adres katalogu stron (o tym też później) CR4 - rejestr sterowania dostępny tylko dla nowych procesorów (o ile się nie mylę, jest on dostępny dla procesorów o architekturze i lepszych). Na razie nie będziemy o nim mówić, gdyż nie jest on nam potrzebny. Pominąłem tutaj m.in. rejestry debugowania, ale na razie to się nam i tak nie przyda. Poziomy uprzywilejowania W trybie chronionym istnieją tzw. poziomy uprzywilejowania (DPL). Dla architektury x86 są 4 poziomy uprzywilejowania od 0 do 3. Poziom 0 jest przewidziany dla jądra systemu, na tym poziomie można robić wszystko. Poziom 3 jest dla aplikacji użytkownika, ponieważ ma duże ograniczenia, np. nie można dokonywać operacji na portach czy na rejestrach sterowania procesora. Pamięć w trybie chronionym Tutaj jest znacznie lepiej niż w trybie rzeczywistym, gdzie wszystko było ustalone na "sztywno" (jednak są sposoby, aby to ominąć). Najważniejsze jest to, że TY decydujesz, jakie segment ma położenie (mówimy: bazę) i rozmiar (mówimy: limit). W trybie chronionym bazę i limit segmentu definiujemy w Globalnej Tablicy Deskryptorów (GDT - Global Descriptor Table). Jest to tablica o 64-bitowych wpisach. Wpisów tych może być max. 8192, jednak zazwyczaj używa się tylko kilku. GDT składa się z 2 części: nagłówka tablica właściwa Odblokowywanie linii A20 Linia A20 służy do odblokowywania dostępu do całej pamięci. Jeśli byśmy tego nie zrobili, pamięć byłaby dostępna tylko, co 1MB. To rozwiązanie istnieje jeszcze, ze względu na zaszłości historyczne. Swoją drogą, myślę, że w nowych płytach głównym mogliby wykurzyć to rozwiązanie. Ktoś może powiedzieć, że jest to potrzebne, aby się uruchamiały stare programy. Ciekawe jakie? No, ale nic. Trzeba wklepać kod, aby wejść w tryb chroniony. Podaję kod w assemblerze: setup_a20: call empty_8042 mov al,0xd1 out 0x64,al call empty_8042 mov al,0xdf out 0x60,al call empty_8042 empty_8042: dw 0xEB,0xEB in al,0x64 test al,2 jnz empty_8042
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ółowoProgramowanie 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ółowoUkł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ółowoProgramowanie 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ółowoMikroinformatyka. 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ółowoARCHITEKTURA 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ółowoProcesory rodziny x86. Dariusz Chaberski
Procesory rodziny x86 Dariusz Chaberski 8086 produkowany od 1978 magistrala adresowa - 20 bitów (1 MB) magistrala danych - 16 bitów wielkość instrukcji - od 1 do 6 bajtów częstotliwośc pracy od 5 MHz (IBM
Bardziej szczegółowoArchitektura komputerów
Architektura komputerów Tydzień 5 Jednostka Centralna Zadania realizowane przez procesor Pobieranie rozkazów Interpretowanie rozkazów Pobieranie danych Przetwarzanie danych Zapisanie danych Główne zespoły
Bardziej szczegółowoCPU. Architektura FLAGS Bit: dr Paweł Kowalczyk; DPTNS, KFCS UŁ. SI 16 bit. 16 bit. 16 bit.
Architektura 8086 8086 posiada 4 rejestry ogólnego użytku AX, BX, CX, DX, 2 rejestry indeksowe SI, DI, 3 rejestry wskaźnikowe SP, BP, IP, 4 rejestry segmentowe CS, DS, SS i ES oraz rejestr flag FLAG AH
Bardziej szczegółowoRejestry 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ółowoMikroinformatyka. 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ółowoProgramowanie 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ółowoWybrane 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ółowoOrganizacja 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ółowoSprzę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ółowoJ. Ułasiewicz Komputerowe systemy sterowania 1. 1 Architektura PC Ogólna struktura systemu jednoprocesorowego
J. Ułasiewicz Komputerowe systemy sterowania 1 1 Architektura PC 1.1. Ogólna struktura systemu jednoprocesorowego Już systemy jednoprocesorowe mogą być środowiskiem, w którym wykonywane jest wiele programów
Bardziej szczegółowoMikroinformatyka. 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ółowo3 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ółowoSystem operacyjny MS-DOS
System operacyjny MS-DOS MS-DOS MS-DOS jest systemem jednozadaniowym, jego mechanizmy nie zapewniały ochrony i sprawnego zarządzania zasobami maszyny. DOS zajmuje się obsługą systemu plików, zawiera wsparcie
Bardziej szczegółowoZarzą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ółowoKsię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ółowoArchitektura 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ółowoWOJSKOWA AKADEMIA TECHNICZNA
WOJSKOWA AKADEMIA TECHNICZNA SYSTEMY WBUDOWANE Prowadzący: Paweł Janicki Autor sprawozdania: Pol Grzegorz Grupa szkoleniowa: I7X3S1 Numer ćwiczenia: Data oddania: 14.06.2009r. 1. Treść zadania Dokonać
Bardziej szczegółowoAdam Kotynia, Łukasz Kowalczyk
Adam Kotynia, Łukasz Kowalczyk Dynamiczna alokacja pamięci Alokacja pamięci oraz dezalokacja pamięci jest to odpowiednio przydział i zwolnienie ciągłego obszaru pamięci. Po uruchomieniu, proces (program)
Bardziej szczegółowoZarzą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ółowoRDZEŃ 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ółowoPrezentacja 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ółowoArchitektura 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ółowoProcesor budowa, schemat, tryby pracy
1 Procesor budowa, schemat, tryby pracy Procesor (ang. processor), także CPU (ang. Central Processing Unit) to główny element komputera, urządzenie cyfrowe sekwencyjne, którego zadaniem jest wykonywanie
Bardziej szczegółowoProgramowanie niskopoziomowe
Programowanie niskopoziomowe ASSEMBLER Teodora Dimitrova-Grekow http://aragorn.pb.bialystok.pl/~teodora/ Program ogólny Rok akademicki 2011/12 Systemy liczbowe, budowa komputera, procesory X86, organizacja
Bardziej szczegółowoSchematy 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ółowoDział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ółowoJak 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ółowoProgramowanie 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ółowoDział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ółowoMOŻ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ółowoProcesor Intel 8086 model programisty. Arkadiusz Chrobot
Procesor Intel 8086 model programisty Arkadiusz Chrobot 5 października 2008 Spis treści 1 Wstęp 2 2 Rejestry procesora 8086 2 3 Adresowanie pamięci 4 4 Ważne elementy języka Pascal 6 1 1 Wstęp Głównym
Bardziej szczegółowoarchitektura 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ółowoKomputery klasy PC. Dariusz Chaberski
Komputery klasy PC Dariusz Chaberski Start systemu adres 0xFFFF:0x0000 POST (ang. Power On Self Test) sprawdzenie zmiennej BIOSu 0x0040:0x0072-0x1234 - zimny start (RESET, włączenie zasilania), gorący
Bardziej szczegółowoSpis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne
Spis treści 5 Spis treœci Co to jest mikrokontroler? Wprowadzenie... 11 Budowa systemu komputerowego... 12 Wejścia systemu komputerowego... 12 Wyjścia systemu komputerowego... 13 Jednostka centralna (CPU)...
Bardziej szczegółowoĆwiczenie nr 4. Zasady kodowania podprogramów
Ćwiczenie nr 4 Zasady kodowania podprogramów 4.1 Wstęp W praktyce programowania spotykamy się często z sytuacjami, gdy identyczne czynności wykonywane są w wielu miejscach programu. W takich przypadkach
Bardziej szczegółowoPoś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ółowoDodatek 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ółowoProcesor Intel 8086 model programisty. Arkadiusz Chrobot
Procesor Intel 8086 model programisty Arkadiusz Chrobot 26 września 2011 Spis treści 1 Wstęp 2 2 Rejestry procesora 8086 2 3 Adresowanie pamięci 4 4 Ważne elementy języka Pascal 8 1 1 Wstęp Głównym celem
Bardziej szczegółowoSYSTEMY OPERACYJNE WYKLAD 4 - zarządzanie pamięcią
Wrocław 2007 SYSTEMY OPERACYJNE WYKLAD 4 - zarządzanie pamięcią Paweł Skrobanek C-3, pok. 323 e-mail: pawel.skrobanek@pwr.wroc.pl www.equus.wroc.pl/studia.html 1 PLAN: 2. Pamięć rzeczywista 3. Pamięć wirtualna
Bardziej szczegółowoPROGRAMY REZYDENTNE Terminate and State Resident, TSR
PROGRAMY REZYDENTNE Terminate and State Resident, TSR O co tu chodzi Podstawowe reguły Jak może program zostać rezydentnym Przechwytywanie przerwań Jak się samoznaleźć w pamięci Aktywacja TSR-u. Problemy
Bardziej szczegółowoĆwiczenie 3. Konwersja liczb binarnych
1 Laboratorium Architektury Komputerów Ćwiczenie 3 Konwersja liczb binarnych Komputery wykonują operacje przetwarzania danych na wartościach binarnych, podczas gdy współczesna cywilizacja posługuje się
Bardziej szczegółowoSygnały DRQ i DACK jednego kanału zostały użyte do połączenia kaskadowego obydwu sterowników.
Płyty główne Opracował: Andrzej Nowak Bibliografia: Urządzenia techniki komputerowej, K. Wojtuszkiewicz Układ DMA Układ DMA zawiera dwa sterowniki przerwań 8237A połączone kaskadowo. Każdy sterownik 8237A
Bardziej szczegółowoWykł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ółowoMateriał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ółowoDział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ółowoPRZERWANIA. P1 - Procedura obslugi przerwania. Obsługa zdarzenia Z1 poprzez procedurę obsługi przerwania P1
PRZERWANIA 1. Obsługa zdarzeń poprzez Obsługa polega na przerwaniu aktualnie wykonywanego procesu i wykonaniu procedury przypisanej danemu zdarzeniu gdy takie zdarzenie zajdzie. Procedura nazywa się procedurą
Bardziej szczegółowoBudowa 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ółowoZarzą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ółowoArchitektura 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ółowoPamięć 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ółowoUTK 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ółowoTechnika mikroprocesorowa I Studia niestacjonarne rok II Wykład 2
Technika mikroprocesorowa I Studia niestacjonarne rok II Wykład 2 Literatura: www.zilog.com Z80 Family, CPU User Manual Cykle magistrali w mikroprocesorze Z80 -odczyt kodu rozkazu, -odczyt-zapis pamięci,
Bardziej szczegółowoDział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ółowoProgramowanie Niskopoziomowe
Programowanie Niskopoziomowe Wykład 8: Procedury Dr inż. Marek Mika Państwowa Wyższa Szkoła Zawodowa im. Jana Amosa Komeńskiego W Lesznie Plan Wstęp Linkowanie z bibliotekami zewnętrznymi Operacje na stosie
Bardziej szczegółowoMikroprocesor 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ółowoMetody 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ółowoArchitektura komputerów. Komputer Procesor Mikroprocesor koncepcja Johna von Neumanna
Architektura komputerów. Literatura: 1. Piotr Metzger, Anatomia PC, wyd. IX, Helion 2004 2. Scott Mueller, Rozbudowa i naprawa PC, wyd. XVIII, Helion 2009 3. Tomasz Kowalski, Urządzenia techniki komputerowej,
Bardziej szczegółowoURZĄDZENIA WEJŚCIA-WYJŚCIA
Wykład czwarty URZĄDZENIA WEJŚCIA-WYJŚCIA PLAN WYKŁADU Budowa ogólna komputerów PC Urządzenia zewnętrzne w PC Podział urządzeń zewnętrznych Obsługa przerwań Bezpośredni dostęp do pamięci Literatura 1/24
Bardziej szczegółowodr 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ółowoTechnologia 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ółowoLEKCJA 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ółowoJ. Duntemann Zrozumieć Assembler Leo J. Scanlon Assembler 8086/8088/80286 S. Kruk Programowanie w Języku Assembler
ASSEMBLER J. Duntemann Zrozumieć Assembler Leo J. Scanlon Assembler 8086/8088/80286 S. Kruk Programowanie w Języku Assembler Geneza (8086, 8088). Rejestry Adresowanie pamięci Stos Instrukcje Przerwania
Bardziej szczegółowoPRZERWANIA. 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ółowoArchitektura komputera typu PC z procesorem IA-32
Jędrzej Ułasiewicz Komputerowe systemy sterowania 1 Architektura komputera typu PC z procesorem IA-32 1. Ogólna struktura systemu jednoprocesorowego...2 2. Ochrona pamięci...6 2.1. Segmentacja...7 2.2.
Bardziej szczegółowoUkład wykonawczy, instrukcje i adresowanie. Dariusz Chaberski
Układ wykonawczy, instrukcje i adresowanie Dariusz Chaberski System mikroprocesorowy mikroprocesor C A D A D pamięć programu C BIOS dekoder adresów A C 1 C 2 C 3 A D pamięć danych C pamięć operacyjna karta
Bardziej szczegółowoWprowadzenie do informatyki i użytkowania komputerów. Kodowanie informacji System komputerowy
1 Wprowadzenie do informatyki i użytkowania komputerów Kodowanie informacji System komputerowy Kodowanie informacji 2 Co to jest? bit, bajt, kod ASCII. Jak działa system komputerowy? Co to jest? pamięć
Bardziej szczegółowoBibliografia: pl.wikipedia.org Historia i rodzaje procesorów w firmy Intel
Bibliografia: pl.wikipedia.org www.intel.com Historia i rodzaje procesorów w firmy Intel Specyfikacja Lista mikroprocesorów produkowanych przez firmę Intel 4-bitowe 4004 4040 8-bitowe 8008 8080 8085 x86
Bardziej szczegółowoArchitektura 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ółowoProgramowanie niskopoziomowe
Programowanie niskopoziomowe Programowanie niskopoziomowe w systemie operacyjnym oraz poza nim Tworzenie programu zawierającego procedury asemblerowe 1 Programowanie niskopoziomowe w systemie operacyjnym
Bardziej szczegółowoArchitektura komputerów. Asembler procesorów rodziny x86
Architektura komputerów Asembler procesorów rodziny x86 Architektura komputerów Asembler procesorów rodziny x86 Rozkazy mikroprocesora Rozkazy mikroprocesora 8086 można podzielić na siedem funkcjonalnych
Bardziej szczegółowoZaawansowane 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ółowoSprzęt i architektura komputerów
Radosław Maciaszczyk Mirosław Łazoryszczak Sprzęt i architektura komputerów Laboratorium Temat: Mikroprocesory i elementy asemblera Katedra Architektury Komputerów i Telekomunikacji 1. MIKROPROCESORY I
Bardziej szczegółowoJą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ółowoPROGRAMOWANIE NISKOPOZIOMOWE
PROGRAMOWANIE NISKOPOZIOMOWE PN.01 c Dr inż. Ignacy Pardyka UNIWERSYTET JANA KOCHANOWSKIEGO w Kielcach Rok akad. 2011/2012 c Dr inż. Ignacy Pardyka (Inf.UJK) PN.01 Rok akad. 2011/2012 1 / 27 Wprowadzenie
Bardziej szczegółowodr inż. Jarosław Forenc
Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia stacjonarne I stopnia Rok akademicki 2016/2017 Wykład nr 7 (11.01.2017) Rok akademicki 2016/2017, Wykład
Bardziej szczegółowo1. Podstawy...P Polecenia podstawowe...p... 18
Spis treści Wstęp...P... 5 1. Podstawy...P... 7 Wersje systemu MS-DOS 8 Windows NT: konsola czy DOS? 9 Jak uruchomić system MS-DOS 10 Szybkie uruchamianie 13 Okno a pełny ekran 14 Windows 2000/XP a pełnoekranowe
Bardziej szczegółowoZarzą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ółowoZarzą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(Rysunek z książki T.Starecki. Mikokontrolery jednoukładowe rodziny 51. NOZOMI W-wa 1996)
Przerwanie o wyższym priorytecie przerywa obsługę przerwania o niższym priorytecie, po czym następuje powrót do przerwanej obsługi przerwania o niższym priorytecie. (Rysunek z książki T.Starecki. Mikokontrolery
Bardziej szczegółowoArchitektura 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ółowo002 Opcode Strony projektu:
ReverseCraft assem bler by gynvael.coldwind//vx Opcode Strony projektu: http://re.coldwind.pl/ http://www.uw-team.org/ Zasoby! czyli co możemy użyć... Instrukcje procesora Pamięć Wirtualna Rejestry CPU
Bardziej szczegółowoTechnika 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ółowoMikroprocesory 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ółowoArchitektura systemów komputerowych. dr Artur Bartoszewski
Architektura systemów komputerowych dr Artur Bartoszewski Układy we/wy jak je widzi procesor? Układy wejścia/wyjścia Układy we/wy (I/O) są kładami pośredniczącymi w wymianie informacji pomiędzy procesorem
Bardziej szczegółowoQ 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ółowoPRZYDZIAŁ 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ółowoArchitektura 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ółowoPROGRAMOWANIE NISKOPOZIOMOWE. Systemy liczbowe. Pamięć PN.01. c Dr inż. Ignacy Pardyka. Rok akad. 2011/2012
PROGRAMOWANIE NISKOPOZIOMOWE PN.01 c Dr inż. Ignacy Pardyka UNIWERSYTET JANA KOCHANOWSKIEGO w Kielcach Rok akad. 2011/2012 1 2 4 c Dr inż. Ignacy Pardyka (Inf.UJK) PN.01 Rok akad. 2011/2012 1 / 27 c Dr
Bardziej szczegółowoSYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX)
(opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX) W informatyce występują ściśle obok siebie dwa pojęcia: sprzęt (ang. hardware) i oprogramowanie
Bardziej szczegółowoArchitektura 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ółowoEmulacja maszyny. Program udaje zupełnie inną architekturę. Musi przetłumaczyć instrukcje emulowane na instrukcje platformy, na której działa
Emulacja maszyny Program udaje zupełnie inną architekturę Musi przetłumaczyć instrukcje emulowane na instrukcje platformy, na której działa Udaje to znaczy co? To znaczy, że program tworzy wirtualnie:
Bardziej szczegółowoCzęść I - Sterownik przerwań 8259A i zegar/licznik 8253
Programowanie na poziome sprzętu opracowanie pytań Część I - Sterownik przerwań 8259A i zegar/licznik 8253 Autor opracowania: Marcin Skiba cines91@gmail.com 1. Jakie są dwie podstawowe metody obsługi urządzeń
Bardziej szczegółowoPAMIĘCI. Część 1. Przygotował: Ryszard Kijanka
PAMIĘCI Część 1 Przygotował: Ryszard Kijanka WSTĘP Pamięci półprzewodnikowe są jednym z kluczowych elementów systemów cyfrowych. Służą do przechowywania informacji w postaci cyfrowej. Liczba informacji,
Bardziej szczegółowoOd 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