Programowanie w asemblerze Środowiska 64-bitowe

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

Download "Programowanie w asemblerze Środowiska 64-bitowe"

Transkrypt

1 Programowanie w asemblerze Środowiska 64-bitowe 24 listopada 2015

2 Nieco historii najnowszej Intel wraz z HP rozpoczynaja pracę nad procesorem 64-bitowym z wykorzystaniem technologii VLIW. Powstaje procesor Itanium o architekturze oznaczanej IA-64. AMD rozwija własny procesor 64-bitowy, będacy minimalnym (przynajmniej zewnętrznie) rozszerzeniem wersji 32-bitowej. Powstaje procesor Opteron (Athlon 64) o architekturze oznaczanej x Jakkolwiek Itanium jest bardziej ciekawe technologicznie, to sprzedaje się słabo (być może dlatego, że jest za drogie ;-) i występuje głównie w serwerach zastapiło tam HP. Intel klonuje architekturę AMD (od Pentium 4 Xeon): różne dziwne nazwy, np. EM64T, IA-32e.

3 Architektura x trybów pracy, z czego 3 to stare tryby 32-bitowe. Compatibility Mode do uruchamiania programów skompilowanych 32-bitowo w środowisku 64-bitowego systemu operacyjnego 64-bit Mode: pełny 64-bitowy. Application Binary Interface (ABI) dla Linuxa definiowany przez amd64.org.

4 Rejestry w x86-64 Ogólnego przeznaczenia 64-bitowe: RAX, RCX, RDX, RBX, RSP, RBP, RSI, RDI, R8, R9, R10, R11, R12, R13, R14, R15 32-bitowe: EAX ESP oraz R8D, R9D, R10D, R11D, R12D, R13D, R14D, R15D 16-bitowe: AX SP oraz R8W, R9W, R10W, R11W, R12W, R13W, R14W, R15W 8-bitowe: AL DL, AH DH, SPL, BPL, SIL, DIL, R8B, R9B, R10B, R11B, R12B, R13B, R14B, R15B bitowych rejestrów XMM (używane w SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, SSE5 i Advanced Vector Extensions) W trybie 64-bitowym 16 rejestrów 128-bitowych XMM0 XMM15

5 Operacje w x86-64 Wskaźniki (w rejestrach) zawsze 64-bitowe, ale tylko 48 bitów używane do adresów wirtualnych (co daje 256 TB), fizyczne adresy maks. 52-bitowe. Nowy tryb adresowy: względny do licznika rozkazów (RIP relative), używany już dla skoków itp. w IA bitowe przesunięcie (ze znakiem). Ułatwia generowanie Position Independent Code (PIC). Operacje 8- i 16-bitowe nie modyfikuja starszej części rejestru. Operacje 32-bitowe zeruja starsza część rejestru (pewnie żeby mieć wskaźniki 32- i 64-bitowe w trybach mieszanych), na przykład mov rax,100 oraz mov eax,100 to to samo. Prefiks REX żeby obsługiwać argumenty 64-bitowo.

6 Segmentacja w x86-64 CS jest używany tylko dla określenia poziomu ochrony kodu, adres bazowy zawsze 0, brak kontroli rozmiaru (limit). DS, ES, SS: ich zawartość jest ignorowana, wszystkie trzy utożsamiane z CS FS, GS używane tylko dla określenia adresu bazowego segmentu (potrzebne dla MS Windows)

7 Konwencje użycia rejestrów (ABI) Działa zarówno SYSCALL jaki i INT 0x80, ale inaczej. Dla instrukcji SYSCALL numer usługi w EAX, kolejne parametry w RDI, RSI, RDX, R10, R8, R9. Numery usług podane w /usr/src/linux/include/asm-x86_64/unistd.h. Wynik w RAX i RDX.

8 Konwencje użycia rejestrów (ABI) Wywołania funkcji (CALL): Argumenty w RDI, RSI, RDX, RCX, R8, R9 (liczby całkowite i wskaźniki). Można używać rejestrów czastkowych, jeśli argument o mniejszym rozmiarze. Argumenty zmiennopozycyjne w XMM0, XMM1, XMM2,..., XMM7. Na stosie (gdy więcej niż 6 pierwszego rodzaju lub 8 drugiego) zawsze pełny rozmiar (64 bity), ale można korzystać z dolnego kawałka (bo little-endian). Wartość funkcji zwracana w RAX (liczby całkowite i wskaźniki) albo w XMM0 (liczby zmiennopozycyjne).

9 Konwencje użycia rejestrów (ABI) Wywołania funkcji (CALL): W treści funkcji RSP zwykle ustalone, nie korzysta się z RBP do ramek. W GCC wyrównywanie stosu do 128 bitów przy wywołaniu funkcji ułatwia wrzucanie rejestrów FPU i SSE na stos. Można to robić samodzielnie w asemblerze and rsp, 15 Należy zachować RBX, RBP, ESP, R12, R13, R14, R15. Powyżej bieżacego wierzchołka stosu czerwona strefa (red zone) 128 bajtów dostępnych dla programów.

10 Problemy W x86-64 w trybie 64-bitowym segmenty nie działaja, jedynie stronicowanie. Ale stronicowanie nie rozróżnia poziomów 0 2 (Po co? Sa segmenty...). System operacyjny maszyn wirtualnych musi więc być na poziomie 3, a wtedy nie jest chroniony przed aplikacjami, albo na poziomie 0.

11 Intel/HP IA-64 (Itanium) 128 rejestrów integer (64-bitowe) 128 rejestrów floating-point (82-bitowe: 17/64) f0=0.0 f1= rejestry predykatów (1-bitowe), p0=1 8 branch registers (64-bitowe)??? 128 application registers???

12 Intel/HP IA-64 (Itanium) Część rejestrów każdego rodzaju rotating (np. r32 r127). Rodzaj stosu. Instruction Bundle: 3 41-bitowe sloty na instrukcje + 5 bitów na template.

Programowanie w asemblerze Środowiska 64-bitowe

Programowanie w asemblerze Środowiska 64-bitowe Programowanie w asemblerze Środowiska 64-bitowe 17 października 2017 Nieco historii najnowszej Intel wraz z HP rozpoczynaja pracę nad procesorem 64-bitowym z wykorzystaniem technologii VLIW. Powstaje procesor

Bardziej szczegółowo

CPU. Architektura FLAGS Bit: dr Paweł Kowalczyk; DPTNS, KFCS UŁ. SI 16 bit. 16 bit. 16 bit.

CPU. 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ół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

Procesory rodziny x86. Dariusz Chaberski

Procesory 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ół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 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

Architektura komputerów

Architektura komputerów Architektura komputerów Wykład 6 Jan Kazimirski 1 Architektura x86 2 Środowisko wykonawcze x86 (32-bit) Przestrzeń adresowa Liniowa przestrzeń adresowa do 4 GB Fizyczna przestrzeń adresowa do 64 GB Rejestry

Bardziej szczegółowo

Architektura komputerów

Architektura 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ół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

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

MMX i SSE. Zbigniew Koza. Wydział Fizyki i Astronomii Uniwersytet Wrocławski. Wrocław, 10 marca 2011. Zbigniew Koza (WFiA UWr) MMX i SSE 1 / 16

MMX i SSE. Zbigniew Koza. Wydział Fizyki i Astronomii Uniwersytet Wrocławski. Wrocław, 10 marca 2011. Zbigniew Koza (WFiA UWr) MMX i SSE 1 / 16 MMX i SSE Zbigniew Koza Wydział Fizyki i Astronomii Uniwersytet Wrocławski Wrocław, 10 marca 2011 Zbigniew Koza (WFiA UWr) MMX i SSE 1 / 16 Spis treści Spis treści 1 Wstęp Zbigniew Koza (WFiA UWr) MMX

Bardziej szczegółowo

002 Opcode Strony projektu:

002 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ół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

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 Niskopoziomowe

Programowanie Niskopoziomowe Programowanie Niskopoziomowe Wykład 11: Procedury zaawansowane Dr inż. Marek Mika Państwowa Wyższa Szkoła Zawodowa im. Jana Amosa Komeńskiego W Lesznie Plan Wstęp Ramki stosu Rekurencja INVOKE, ADDR, PROC,

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

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

Budowa wnętrza procesora x86

Budowa wnętrza procesora x86 Budowa wnętrza procesora x86 Marika Kuczyńska, Joanna Tokarz Akademia Górnicz- Hutnicza im. Stanisława Staszica w Krakowie Wydział Fizyki i Informatyki Stosowanej Fizyka Techniczna Kraków, 20.03.2013 Plan

Bardziej szczegółowo

Architektura komputerów. Komputer Procesor Mikroprocesor koncepcja Johna von Neumanna

Architektura 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ółowo

Programowanie niskopoziomowe

Programowanie 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ółowo

architektura komputerów w 1 1

architektura komputerów w 1 1 8051 Port P2 Port P3 Transm. szeregowa Timery T0, T1 Układ przerwań Rejestr DPTR Licznik rozkazów Pamięć programu Port P0 Port P1 PSW ALU Rejestr B SFR akumulator 8051 STRUKTURA architektura komputerów

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

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

Sprzęt i architektura komputerów

Sprzę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ół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

Programowanie w asemblerze Wprowadzenie

Programowanie w asemblerze Wprowadzenie Programowanie w asemblerze Wprowadzenie 17 stycznia 2017 Motto: R7 is used by the processor as its program counter (PC). It is recommended that R7 not be used as a stack pointer. Źródło: PDP-11 04/34/45/55

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

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

Układ wykonawczy, instrukcje i adresowanie. Dariusz Chaberski

Ukł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ółowo

Architektura systemów komputerowych. Konstrukcja i zasada działania mikroprocesora

Architektura systemów komputerowych. Konstrukcja i zasada działania mikroprocesora Architektura systemów komputerowych Konstrukcja i zasada działania mikroprocesora Plan wykładu 1. Mikroprocesor. 2. Rodziny procesorów. 3. Modułowa budowa procesora. 4. Wykonanie programu przez procesor.

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

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

Ćwiczenie nr 4. Zasady kodowania podprogramów

Ć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ółowo

Adresowanie. W trybie natychmiastowym pole adresowe zawiera bezpośrednio operand czyli daną dla rozkazu.

Adresowanie. W trybie natychmiastowym pole adresowe zawiera bezpośrednio operand czyli daną dla rozkazu. W trybie natychmiastowym pole adresowe zawiera bezpośrednio operand czyli daną dla rozkazu. Wada: rozmiar argumentu ograniczony do rozmiaru pola adresowego Adresowanie bezpośrednie jest najbardziej podstawowym

Bardziej szczegółowo

Wprowadzenie do Architektury komputerów. Asembler procesorów rodziny x86

Wprowadzenie do Architektury komputerów. Asembler procesorów rodziny x86 Wprowadzenie do Architektury komputerów Asembler procesorów rodziny x86 Budowa procesora rodziny x86 Rejestry procesora 8086 ogólnego przeznaczenia Dla procesorów 32-bitowych: EAX, EBX, ECX, EDX Dla procesorów

Bardziej szczegółowo

Ćwiczenie nr 6. Programowanie mieszane

Ćwiczenie nr 6. Programowanie mieszane Ćwiczenie nr 6 Programowanie mieszane 6.1 Wstęp Współczesne języki programowania posiadają bardzo rozbudowane elementy językowe, co pozwala w większości przypadków na zdefiniowanie całego kodu programu

Bardziej szczegółowo

Programowanie w asemblerze Architektury równoległe

Programowanie w asemblerze Architektury równoległe Programowanie w asemblerze Architektury równoległe 24 listopada 2015 1 1 Ilustracje: Song Ho Anh Klasyfikacja Flynna Duża różnorodność architektur równoległych, stad różne kryteria podziału. Najstarsza

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

end start ; ustawienie punktu startu programu i koniec instrukcji w assemblerze.

end start ; ustawienie punktu startu programu i koniec instrukcji w assemblerze. Struktura programu typu program.com ; program według modelu tiny name "mycode" ; nazwa pliku wyjściowego (maksymalnie 8 znaków) org 100h ; początek programu od adresu IP = 100h ; kod programu ret ; koniec

Bardziej szczegółowo

Zadanie Zaobserwuj zachowanie procesora i stosu podczas wykonywania następujących programów

Zadanie Zaobserwuj zachowanie procesora i stosu podczas wykonywania następujących programów Operacje na stosie Stos jest obszarem pamięci o dostępie LIFO (Last Input First Output). Adresowany jest niejawnie przez rejestr segmentowy SS oraz wskaźnik wierzchołka stosu SP. Używany jest do przechowywania

Bardziej szczegółowo

Ćwiczenie 3. Konwersja liczb binarnych

Ć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ółowo

organizacja procesora 8086

organizacja procesora 8086 Systemy komputerowe Procesor 8086 - tendencji w organizacji procesora organizacja procesora 8086 " # $ " % strali " & ' ' ' ( )" % *"towego + ", -" danych. Magistrala adresowa jest 20.bitowa, co pozwala

Bardziej szczegółowo

Architektura procesora Intel Itanium (IA64) Paweł Pisarczyk Instytut Informatyki, Politechnika Warszawska Pawel.Pisarczyk@ii.pw.edu.

Architektura procesora Intel Itanium (IA64) Paweł Pisarczyk Instytut Informatyki, Politechnika Warszawska Pawel.Pisarczyk@ii.pw.edu. Architektura procesora Intel Itanium (IA64) Paweł Pisarczyk Pawel.Pisarczyk@ii.pw.edu.pl Plan prezentacji Wprowadzenie Model programowy EPIC Mikroarchitektura procesora Itanium W ybrane mechanizmy procesora

Bardziej szczegółowo

Sprzęt i architektura komputerów

Sprzę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ółowo

Architektura komputerów. Asembler procesorów rodziny x86

Architektura 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ół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

Programowanie Niskopoziomowe

Programowanie Niskopoziomowe Programowanie Niskopoziomowe Wykład 10: Arytmetyka całkowitoliczbowa Dr inż. Marek Mika Państwowa Wyższa Szkoła Zawodowa im. Jana Amosa Komeńskiego W Lesznie Plan Wprowadzenie Instrukcje przesunięcia bitowego

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

Architektura komputerów egzamin końcowy

Architektura komputerów egzamin końcowy Architektura komputerów egzamin końcowy Warszawa, dn. 25.02.11 r. I. Zaznacz prawidłową odpowiedź (tylko jedna jest prawidłowa): 1. Czteroetapowe przetwarzanie potoku architektury superskalarnej drugiego

Bardziej szczegółowo

Praktycznie całe zamieszanie dotyczące konwencji wywoływania funkcji kręci się w okół wskaźnika stosu.

Praktycznie całe zamieszanie dotyczące konwencji wywoływania funkcji kręci się w okół wskaźnika stosu. Krótki artykuł opisujący trzy podstawowe konwencje wywoływania funkcji C++ (a jest ich więcej). Konwencje wywoływania funkcji nie są tematem, na który można się szeroko rozpisać, jednak należy znać i odróżniać

Bardziej szczegółowo

Wydajność obliczeń a architektura procesorów. Krzysztof Banaś Obliczenia Wysokiej Wydajności 1

Wydajność obliczeń a architektura procesorów. Krzysztof Banaś Obliczenia Wysokiej Wydajności 1 Wydajność obliczeń a architektura procesorów Krzysztof Banaś Obliczenia Wysokiej Wydajności 1 Wydajność komputerów Modele wydajności-> szacowanie czasu wykonania zadania Wydajność szybkość realizacji wyznaczonych

Bardziej szczegółowo

Architektura Systemów Komputerowych, Wydział Informatyki, ZUT

Architektura Systemów Komputerowych, Wydział Informatyki, ZUT Laboratorium: Wprowadzenie Pojęcia. Wprowadzone zostaną podstawowe pojęcia i mechanizmy związane z programowaniem w asemblerze. Dowiemy się co to są rejestry i jak z nich korzystać. Rejestry to są wewnętrzne

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

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

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

Asembler. Æwiczenia praktyczne

Asembler. Æwiczenia praktyczne IDZ DO PRZYK ADOWY ROZDZIA SPIS TRE CI KATALOG KSI EK KATALOG ONLINE ZAMÓW DRUKOWANY KATALOG Asembler. Æwiczenia praktyczne Autor: Eugeniusz Wróbel ISBN: 83-7197-836-7 Format: B5, stron: 166 TWÓJ KOSZYK

Bardziej szczegółowo

2 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK MP.02 Rok akad. 2011/ / 24

2 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK MP.02 Rok akad. 2011/ / 24 ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH modele programowe komputerów ASK MP.02 c Dr inż. Ignacy Pardyka 1 UNIWERSYTET JANA KOCHANOWSKIEGO w Kielcach 2 Literatura Rok akad. 2011/2012 c Dr inż. Ignacy Pardyka

Bardziej szczegółowo

Materiały do wykładu. 4. Mikroprocesor. Marcin Peczarski. Instytut Informatyki Uniwersytet Warszawski

Materiały do wykładu. 4. Mikroprocesor. Marcin Peczarski. Instytut Informatyki Uniwersytet Warszawski Materiały do wykładu 4. Mikroprocesor Marcin Peczarski Instytut Informatyki Uniwersytet Warszawski 19 marca 2007 Małe przypomnienie 4.1 Rejestry Układ współpracy z szynami Jednostka sterująca połączenia

Bardziej szczegółowo

Programowanie Niskopoziomowe

Programowanie 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ółowo

Przedmiot : Programowanie w języku wewnętrznym. Ćwiczenie nr 4

Przedmiot : Programowanie w języku wewnętrznym. Ćwiczenie nr 4 Przedmiot : Programowanie w języku wewnętrznym Ćwiczenie nr 4 str. 1. 1. Użycie Asemblera. Polecenie JMP. Polecenie nakazuje procesorowi wykonywanie kodu programu od nowego innego miejsca. Miejsce to jest

Bardziej szczegółowo

Architektura systemów komputerowych. Lista instrukcji procesora

Architektura systemów komputerowych. Lista instrukcji procesora Architektura systemów komputerowych Plan wykładu 1. Rozkaz, lista rozkazów procesora. 2. Mikroprogramowanie. 3. Język maszynowy. 4. Projekt P: koncepcja, model rozkazu. Cele Architektura procesorów: von

Bardziej szczegółowo

PROGRAMOWANIE NISKOPOZIOMOWE. Systemy liczbowe. Pamięć PN.01. c Dr inż. Ignacy Pardyka. Rok akad. 2011/2012

PROGRAMOWANIE 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ół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

4 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK MP.01 Rok akad. 2011/2012 2 / 24

4 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK MP.01 Rok akad. 2011/2012 2 / 24 Wymagania proceduralnych języków wysokiego poziomu ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH modele programowe procesorów ASK MP.01 c Dr inż. Ignacy Pardyka UNIWERSYTET JANA KOCHANOWSKIEGO w Kielcach Rok akad.

Bardziej szczegółowo

Język asembler dla każdego

Język asembler dla każdego 27.05.2010 Język asembler dla każdego Bogdan Drozdowski Kodu źródłowego umieszczonego w tym kursie można używać na zasadach licencji GNU LGPL w wersji trzeciej. Wyjątkiem jest program l_mag, którego licencją

Bardziej szczegółowo

Budowa komputera. Magistrala. Procesor Pamięć Układy I/O

Budowa komputera. Magistrala. Procesor Pamięć Układy I/O Budowa komputera Magistrala Procesor Pamięć Układy I/O 1 Procesor to CPU (Central Processing Unit) centralny układ elektroniczny realizujący przetwarzanie informacji Zmiana stanu tranzystorów wewnątrz

Bardziej szczegółowo

1. Asembler i wstawki asemblerowe w C

1. Asembler i wstawki asemblerowe w C Opublikowano w: WEREWKA J..: Programowanie sprzętu komputerowego dla automatyków. Skrypt AGH Nr 1514, Kraków 1998 1. Asembler i wstawki asemblerowe w C Asembler jest językiem programowania na poziomie

Bardziej szczegółowo

Metody Realizacji Języków Programowania

Metody Realizacji Języków Programowania 1/25 Metody Realizacji Języków Programowania Bardzo krótki kurs asemblera x86 Marcin Benke MIM UW 23 października 2013 /25 Uwagi wstępne Ten, z konieczności bardzo krótki kurs, nie jest w żadnym wypadku

Bardziej szczegółowo

Podstawy obsługi komputerów. Budowa komputera. Podstawowe pojęcia

Podstawy obsługi komputerów. Budowa komputera. Podstawowe pojęcia Budowa komputera Schemat funkcjonalny i podstawowe parametry Podstawowe pojęcia Pojęcia podstawowe PC personal computer (komputer osobisty) Kompatybilność to cecha systemów komputerowych, która umoŝliwia

Bardziej szczegółowo

Budowa komputera. Magistrala. Procesor Pamięć Układy I/O

Budowa komputera. Magistrala. Procesor Pamięć Układy I/O Budowa komputera Magistrala Procesor Pamięć Układy I/O 1 Procesor to CPU (Central Processing Unit) centralny układ elektroniczny realizujący przetwarzanie informacji Zmiana stanu tranzystorów wewnątrz

Bardziej szczegółowo

Bibliografia: pl.wikipedia.org Historia i rodzaje procesorów w firmy Intel

Bibliografia: 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ół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

Metody Realizacji Języków Programowania

Metody Realizacji Języków Programowania Metody Realizacji Języków Programowania Bardzo krótki kurs asemblera x86 Marcin Benke MIM UW 10 stycznia 2011 Marcin Benke (MIM UW) Metody Realizacji Języków Programowania 10 stycznia 2011 1 / 22 Uwagi

Bardziej szczegółowo

Bibliografia: pl.wikipedia.org www.intel.com. Historia i rodzaje procesorów w firmy Intel

Bibliografia: pl.wikipedia.org www.intel.com. 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 x86 IA-64 8008 8080

Bardziej szczegółowo

Architektura Systemów Komputerowych

Architektura Systemów Komputerowych Architektura Systemów Komputerowych Wykład 4: Struktura użytkowego modelu programowego komputera Dr inż. Marek Mika Państwowa Wyższa Szkoła Zawodowa im. Jana Amosa Komeńskiego W Lesznie Plan Pojęcie użytkowego

Bardziej szczegółowo

J. Duntemann Zrozumieć Assembler Leo J. Scanlon Assembler 8086/8088/80286 S. Kruk Programowanie w Języku Assembler

J. 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ół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

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

Procesor Intel 8086 model programisty. Arkadiusz Chrobot

Procesor 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ół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

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

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

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

J. Ułasiewicz Komputerowe systemy sterowania 1. 1 Architektura PC Ogólna struktura systemu jednoprocesorowego

J. 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ółowo

Wprowadzenie do architektury komputerów. Model programowy procesora i jego struktura Procesory CISC i RISC

Wprowadzenie do architektury komputerów. Model programowy procesora i jego struktura Procesory CISC i RISC Wprowadzenie do architektury komputerów Model programowy procesora i jego struktura Procesory CISC i RISC Użytkowy model programowy Użytkowym modelem programowym nazywamy zestaw zasobów logicznych komputera

Bardziej szczegółowo

Rozszerzalne kody operacji (przykład)

Rozszerzalne kody operacji (przykład) Tryby adresowania natychmiastowy (ang. immediate) bezpośredni (ang. direct) pośredni (ang. indirect) rejestrowy (ang. register) rejestrowy pośredni (ang. register indirect) z przesunieciem (indeksowanie)

Bardziej szczegółowo

Wydajność obliczeń a architektura procesorów

Wydajność obliczeń a architektura procesorów Wydajność obliczeń a architektura procesorów 1 Wydajność komputerów Modele wydajności-> szacowanie czasu wykonania zadania Wydajność szybkość realizacji wyznaczonych zadań, np.: liczba rozkazów na sekundę

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

Adam Kotynia, Łukasz Kowalczyk

Adam 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ółowo

Hardware mikrokontrolera X51

Hardware mikrokontrolera X51 Hardware mikrokontrolera X51 Ryszard J. Barczyński, 2016 Politechnika Gdańska, Wydział FTiMS, Katedra Fizyki Ciała Stałego Materiały dydaktyczne do użytku wewnętrznego Hardware mikrokontrolera X51 (zegar)

Bardziej szczegółowo

PROGRAMOWANIE NISKOPOZIOMOWE. Adresowanie pośrednie rejestrowe. Stos PN.04. c Dr inż. Ignacy Pardyka. Rok akad. 2011/2012

PROGRAMOWANIE NISKOPOZIOMOWE. Adresowanie pośrednie rejestrowe. Stos PN.04. c Dr inż. Ignacy Pardyka. Rok akad. 2011/2012 PROGRAMOWANIE NISKOPOZIOMOWE PN.04 c Dr inż. Ignacy Pardyka UNIWERSYTET JANA KOCHANOWSKIEGO w Kielcach Rok akad. 2011/2012 1 2 3 Ćwiczenia laboratoryjne c Dr inż. Ignacy Pardyka (Inf.UJK) PN.04 Rok akad.

Bardziej szczegółowo

Ćwiczenie nr 3. Wyświetlanie i wczytywanie danych

Ćwiczenie nr 3. Wyświetlanie i wczytywanie danych Ćwiczenie nr 3 Wyświetlanie i wczytywanie danych 3.1 Wstęp Współczesne komputery przetwarzają dane zakodowane za pomocą ciągów zerojedynkowych. W szczególności przetwarzane liczby kodowane są w systemie

Bardziej szczegółowo

Inżynieria wsteczna oraz znajdowanie i wykorzystywanie luk w aplikacjach natywnych na architekturach x86 i x86-64

Inżynieria wsteczna oraz znajdowanie i wykorzystywanie luk w aplikacjach natywnych na architekturach x86 i x86-64 Wydział Fizyki i Informatyki Stosowanej Praca magisterska Dominik Czarnota kierunek studiów: Informatyka Stosowana Inżynieria wsteczna oraz znajdowanie i wykorzystywanie luk w aplikacjach natywnych na

Bardziej szczegółowo

Spis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne

Spis 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

Programowanie niskopoziomowe

Programowanie 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ółowo

Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780

Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780 Dane techniczne : Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780 a) wielkość bufora znaków (DD RAM): 80 znaków (80 bajtów) b) możliwość sterowania (czyli podawania kodów znaków) za pomocą

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

Programowanie w asemblerze Uruchamianie programów

Programowanie w asemblerze Uruchamianie programów Programowanie w asemblerze Uruchamianie programów 17 stycznia 2017 Uruchamianie programów Przy uruchamianiu i badaniu zachowania programów systemowych używa się wielu narzędzi. Prostsze z ich, takie jak

Bardziej szczegółowo

WOJSKOWA AKADEMIA TECHNICZNA

WOJSKOWA 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ółowo