Architektura Systemów Komputerowych
|
|
- Grażyna Czajka
- 9 lat temu
- Przeglądów:
Transkrypt
1 Jarosław Kuchta Architektura Systemów Komputerowych ćwiczenie 3 Arytmetyka całkowita instrukcja laboratoryjna Wprowadzenie Celem ćwiczenia jest zapoznanie się z budową i sposobem działania jednostki arytmetyczno-logicznej (ALU) w architekturze IA32. Jednostka arytmetyczno-logiczna Podstawowym elementem budowy kaŝdego procesora jest jednostka arytmetycznologiczna (ALU Arithmetical and Logical Unit). Jednostka ta wykonuje rozkazy arytmetyczne, rozkazy logiczne, rozkazy porównań na liczbach całkowitych. Schemat pracy ALU ilustruje następujący rysunek: DST SRC FLAGS TMP Jednostka arytmetyczno-logiczna ma dwa wejścia wielobitowe (w architekturze IA32 32-bitowe). Na wejścia te są podawane wartości dwóch operandów rozkazu. Pierwszym z tych operandów (DST) jest zawsze rejestr ogólnego przeznaczenia, rejestr indeksowy lub rejestr wskaźnikowy. Drugim z operandów (SRC) jest rejestr ogólnego przeznaczenia, rejestr indeksowy, rejestr wskaźnikowy, komórka pamięci (podwójne słowo). MoŜe być on teŝ ustawiany na wartość stałą zapisaną w rozkazie. Wynik operacji arytmetycznej lub logicznej jest zapisywany w rejestrze tymczasowym (TMP) o tej samej długości, co operandy wejściowe. Po ustaleniu wyniku operacji jest on przepisywany z rejestru tymczasowego (TMP) do rejestru określonego jako pierwszy operand (DST) 1. W czasie wykonania rozkazu jednostka arytmetycznologiczna ustawia dodatkowo rejestr flag zgodnie z wartością wyniku i warunkami występującymi w czasie wykonania rozkazu. Rozkazy sterujące procesora mogą 1 W pierwszych procesorach Intela operandem DST mógł być tylko wybrany rejestr procesora, tzw. akumulator. Nazwa ta jest w architekturze IA32 przypisywana zgodnie z tradycją rejestrowi EAX (AX, AL), chociaŝ rejestr ten utracił juŝ swoją tradycyjną, wyróŝnioną rolę. 1
2 wykorzystywać znaczniki zapisane w rejestrze flag do sterowania dalszym wykonaniem programu. Rozkazy arytmetyczne operacje dodawania i odejmowania Procesor architektury IA32 realizuje cztery podstawowe operacje arytmetyczne: dodawania (rozkazy ADD, ADC), odejmowania (rozkazy SUB, SBB) mnoŝenia (rozkazy MUL, IMUL) dzielenia (rozkazy DIV, IDIV) Rozkazy dodawania i odejmowania operują na całkowitych liczbach 32-bitowych. Liczby te mogą być traktowane jako liczby bez znaku lub liczby ze znakiem (w kodowaniu U2). Sposób wykonywania operacji w obu przypadkach jest taki sam. Schemat wykonania operacji dodawania bazuje na sekwencji operacji dodawania dwóch bitów z ewentualnym dodaniem przeniesienia z poprzedniej pozycji i ewentualnym wygenerowaniem przeniesienia na następną pozycję: DST[i] SRC[i] C i+1 + C i TMP[i] Stany wejść i wyjść podstawowej komórki dodającej mogą być następujące: C i+1 TMP[i] DST[i] SRC[i] C i Dwa rozkazy dodawania ADD i ADC róŝnią się tym, Ŝe w rozkazie ADD przeniesienie początkowe (C 0 ) jest ustawiane na 0, a w ADC przeniesienie początkowe jest ustawiane na wartość znacznika CF z rejestru flag. Przeniesienia z pozycji ostatniej (C 32 ) oraz przedostatniej (C 31 ) są wpisywane odpowiednio do znaczników CF (Carry Flag) i OF (Overflow Flag). Znacznik CF moŝe być wykorzystany dla dodawania liczb większych niŝ 32-bitowe w kilku krokach. Wówczas pierwszy rozkaz dodawania powinien być ADD, a drugi (i ew. kolejne ADC. Przykład: 2
3 Qword1 DQ? Qword2 DQ? MOV EAX, DWORD PTR Qword1 MOV EBX, DWORD PTR Qword2 ADD EAX, EBX MOV DWORD PTR Qword1, EAX MOV EAX, DWORD PTR Qword1+4 MOV EBX, DWORD PTR Qword2+4 ADC EAX, EBX MOV DWORD PTR Qword1+4, EAX Znacznik OF moŝe być wykorzystany do sprawdzenia, czy w czasie operacji na liczbach całkowitych ze znakiem (!) nie wystąpił nadmiar. Operacja odejmowania jest wykonywana analogicznie do operacji dodawania, z tą róŝnicą, Ŝe bit przeniesienia z pojedynczej komórki odejmującej jest traktowany jako poŝyczka z następnej pozycji. Stany komórki odejmującej mogą być następujące: C i+1 TMP[i] DST[i] SRC[i] C i Rozkazy odejmowania SUB i SBB róŝnią się tym, Ŝe w rozkazie SUB poŝyczka początkowa (C 0 ) jest ustawiana na 0, a w SBB poŝyczka początkowa jest ustawiana na wartość znacznika CF z rejestru flag, co umoŝliwia kaskadowe odejmowanie liczb większych niŝ 32-bitowe. W rozkazach dodawania i odejmowania oprócz flag CF i OF ustawiane są teŝ pozostałe flagi rejestru FLAGS w sposób następujący: PF (Parity Flag) ustawiana na 1 jeśli 8 najmłodszych bitów wyniku ma parzystą liczbę jedynek, w przeciwnym wypadku ustawiana na 0. AF (Auxiliary carry Flag) ustawiana na przeniesienie z pozycji trzeciej (C 4 ) wykorzystywana przy rozkazach arytmetyki BCD. ZF (Zero Flag) ustawiana na 1 jeśli wynik jest równy 0, w przeciwnym wypadku ustawiana na 0. SF (Sign Flag) ustawiana na 1 jeśli bit znaku wyniku jest równy 1, w przeciwnym wypadku ustawiana na 0. Operacje mno enia W operacji mnoŝenia liczb całkowitych wynik mnoŝenia jest dwa razy dłuŝszy niŝ długość operandów. W architekturze IA32 istnieją trzy wersje rozkazu mnoŝenia MUL: mnoŝenie AL przez drugi operand (rejestr 8-bitowy lub bajt pamięci), wynik w AX (AH część starsza, AL część młodsza wyniku) 3
4 mnoŝenie AX przez drugi operand (rejestr 16-bitowy lub słowo pamięci), wynik w DX:AX (DX część starsza, AX część młodsza wyniku) mnoŝenie EAX przez drugi operand (rejestr 32-bitowy lub podwójne słowo pamięci), wynik w EDX:EAX (EDX część starsza, EAX część młodsza wyniku) Jeśli starsza część wyniku jest róŝna od zera, to do znaczników OF i CF wpisywane są jedynki, jeśli jest równy zero, to wpisywane są zera. Stan pozostałych znaczników jest nieokreślony. Istnieje rozkaz MUL dla mnoŝenia bez znaku oraz IMUL dla mnoŝenia ze znakiem. Rozkaz IMUL potrafi wymnoŝyć dowolny rejestr 8-, 16- lub 32-bitowy przez inny rejestr tej samej długości, tej samej długości komórkę pamięci lub wartość stałą. Wynik jest tej samej długości, co pierwszy operand. Rozkazy dzielenia Dzielenie jest operacją odwrotną do mnoŝenia. Operand pierwszy (dzielna) jest podwójnej długości. Oprócz wyniku dzielenia (który jest całkowity), podawana jest teŝ reszta z dzielenia. W architekturze IA32 istnieją trzy wersje rozkazu dzielenia: dzielenie AX przez drugi operand (rejestr 8-bitowy lub bajt pamięci), wynik w AL, reszta z dzielenia w AH dzielenie DX:AX przez drugi operand (rejestr 16-bitowy lub słowo pamięci), wynik w AX, reszta z dzielenia w DX dzielenie EDX:EAX przez drugi operand (rejestr 32-bitowy lub podwójne słowo pamięci), wynik w EAX, reszta z dzielenia w EDX Po dzieleniu stan wszystkich ww. znaczników jest nieokreślony. Jeśli dzielnik jest równy zero lub wynik dzielenia nie mieści się w odpowiednim rejestrze (AL, AX albo EAX), to generowany jest wyjątek. Istnieje rozkaz DIV dla dzielenia bez znaku i IDIV dla dzielenia ze znakiem Operacje logiczne Jednostka arytmetyczno-logiczna wykonuje trzy operacje logiczne na bitach operandów (w IA32 operandów 32-bitowych): operację AND operację OR operację XOR Operacje te są wykonywane na wszystkich bitach jednocześnie przeniesienie nie występuje. Stany pojedynczej komórki mogą być następujące: TMP[i] TMP[i] TMP[i] DST[i] SRC[i] (XOR) (OR) (AND)
5 PoniewaŜ nie występuje przeniesienie, więc: znaczniki OF i CF są ustawiane na 0, stan znacznika AF jest nieokreślony. Pozostałe znaczniki są ustawiane tak, jak dla operacji dodawania i odejmowania. Operacje negacji logicznej i arytmetycznej Są to operacje działające tylko na jednym operandzie. Rozkaz negacji logicznej (NOT) zamienia wszystkie bity operandu DST na przeciwne. Rozkaz negacji arytmetycznej (NEG) wpisuje do operandu DST wartość przeciwną. Rozkaz NOT moŝe być zrealizowany przez ALU jak rozkaz XOR z drugim operandem (SRC) ustawionym wewnętrznie na same jedynki. Rozkaz NEG moŝe być zrealizowany jako odejmowanie operandu DST od zera, albo przez zanegowanie wszystkich bitów i dodanie jedynki z przeniesienia C 0. Operacje porówna W architekturze IA32 występują dwa rodzaje porównań: porównanie arytmetyczne (CMP) i porównanie logiczne (TEST). Porównanie arytmetyczne (CMP) jest wykonywane tak samo jak operacja odejmowania (SUB), z tym jednym wyjątkiem, Ŝe wynik z rejestru tymczasowego TMP nie jest przepisywany do rejestru DST. Porównywanie logiczne (TEST) jest wykonywane samo jak operacja AND, z tym samym wyjątkiem. Operacje przesuni Operacje przesunięcia w lewo przypisują do kaŝdego bitu i rejestru TMP bit i-1 rejestru DST, a następnie przepisują cały rejestr TMP do rejestru DST. Analogicznie operacje przesunięcia w prawo przypisują do kaŝdego bitu i rejestru TMP bit i+1 rejestru DST. WyróŜnia się cztery rodzaje rozkazów przesunięcia w lewo/ w prawo: przesunięcie zwykłe (rozkazy SHL i SHR) na pierwszą pozycję (dla rozkazu SHL najmłodszą, dla rozkazu SHR najstarszą) wprowadzane jest zero, wartość ostatniego bitu jest wpisywana do znacznika CF; rotację (rozkazy ROL i ROR) na pierwszą pozycję wprowadzana jest wartość ostatniego bitu, wartość ta teŝ jest wpisywana do znacznika CF. rotację przez przeniesienie (rozkazy RCL i RCR) na pierwszą pozycję wprowadzana jest wartość znacznika CF, wartość ostatniego bitu jest wpisywana do znacznika CF; przesunięcie arytmetyczne (rozkazy SAL i SAR) uwzględnia bit znaku; dla przesunięcia w lewo na pierwszą pozycję (do najmłodszego bitu) wprowadzane jest zero, wartość przedostatniego bitu jest wpisywana do znacznika CF, bit znaku pozostaje bez zmian; dla przesunięcia w prawo wartość bitu znaku jest wpisywana na przedostatnią pozycję, wartość najmłodszego bitu jest wpisywana do znacznika CF. Istnieją wersje przesunięcia o 1 i o większą liczbę pozycji (zapisaną w rejestrze CL, albo podaną jako stała). Przy przesunięciu o 1 znacznik OF określa, czy nastąpiła zmiana znaku. Pozostałe flagi: 5
6 dla rozkazów rotacji: SF, ZF, AF, PF są nie zmieniane dla rozkazów przesunięć: SF, ZF, PF są ustawiane tak, jak dla rozkazów dodawania i odejmowania, AF jest nie zmieniany. Inne operacje ustawiania i testowania bitów Lista rozkazów procesora IA32 zawiera rozkazy ustawiające znacznik CF na 0, na 1 albo na logiczną wartość przeciwną (odpowiednio CLC, STC i CMC). Zawiera równieŝ rozkazy ustawiające wybrany bit rejestru lub komórki pamięci na 0, na 1 albo na logiczną wartość przeciwną (odpowiednio BTR, BTS i BTC). Rozkaz testujący wybrany bit rejestru lub komórki pamięci (BT) wpisuje wartość tego bitu do znacznika CF. Zadania dla studentów Zad.1. Dodawanie i odejmowanie liczb 32-bitowych 1. Wprowadź poniŝszy program:.686 extern _ExitProcess@4: near public _main _DATA SEGMENT dword public 'DATA' use32 Dword1 DD 1 Dword2 DD 2 Result DD 0 _DATA ENDS _TEXT SEGMENT dword public 'CODE' use32 ASSUME cs:_text, ds:_data _main: MOV EAX, Dword1 MOV EBX, Dword2 ADD EAX, EBX MOV Result, EAX ; zakończenie wykonywania programu push 0 call _ExitProcess@4 _TEXT END ENDS 2. Wykonaj program krok po kroku. W oknie rejestrów obserwuj zmianę wartości rejestrów i znaczników. 3. Wykonaj to samo zadanie modyfikując deklarację zmiennej Dword1. UŜyj po kolei wartości: a. 1000, b , c , d , e , f , 6
7 g Podaj wartości dziesiętne i szesnastkowe wyniku oraz znaczniki CF i OF. 4. Zmień deklarację zmiennej Dword2 na 2. Wykonaj działania dla zmiennej Dword1 po kolei równej: a. 3, b. 2, c. 1, Podaj wartości dziesiętne i szesnastkowe wyniku oraz znaczniki CF i OF. 5. Zmień deklarację zmiennej Dword2 na 2 i rozkaz ADD na SUB. Wykonaj działania dla zmiennej Dword1 po kolei równej: a. 3, b. 2, c. 1, Podaj wartości dziesiętne i szesnastkowe wyniku oraz znaczniki CF i OF. Zaznacz róŝnice względem zadania z p.4. Zad.2. Dodawanie i odejmowanie liczb 64-bitowych 1. Wprowadź poniŝszy program:.686 extern _ExitProcess@4: near public _main _DATA SEGMENT dword public 'DATA' use32 Qword1 DQ 1 Qword2 DQ 2 Result DQ 0 _DATA ENDS _TEXT SEGMENT dword public 'CODE' use32 ASSUME cs:_text, ds:_data _main: MOV EAX, DWORD PTR Qword1 MOV EBX, DWORD PTR Qword2 ADD EAX, EBX MOV DWORD PTR Qword1, EAX MOV EAX, DWORD PTR Result+4 MOV EBX, DWORD PTR Qword2+4 ADC EAX, EBX MOV DWORD PTR Result+4, EAX ; zakończenie wykonywania programu push 0 call _ExitProcess@4 _TEXT END ENDS 2. Wykonaj program krok po kroku. W oknie rejestrów obserwuj zmianę wartości rejestrów i znaczników. Obserwuj zmianę zawartości pamięci. 7
8 3. Wykonaj to samo zadanie modyfikując deklarację zmiennej Qword1. UŜyj po kolei wartości: a , b , c , d , e Podaj wartości dziesiętne i szesnastkowe wyniku z okna pamięci. 4. Zmień teraz rozkaz ADC na ADD. Wykonaj zadanie dla takich samych danych jak w poprzednim punkcie. Porównaj wyniki z uzyskanymi w poprzednim punkcie: a , b , c , d , e W powyŝszym programie zmień rozkaz ADD na SUB i ADC na SBB. Wartości Qword1 i Qword2 ustaw tak, jak w programie z p.1. Podaj wynik z pamięci w postaci dziesiętnej i szesnastkowej. 6. Zmień teraz rozkaz SBB na SUB. Wykonaj zadanie dla takich samych danych jak w poprzednim punkcie. Porównaj wynik z uzyskanym w poprzednim punkcie. Zad. 3. Mno enie liczb 1. Wprowadź program mnoŝący dwie umieszczone w pamięci liczby 32-bitowe i umieszczający wynik 64-bitowy w pamięci:.686 extern _ExitProcess@4: near public _main _DATA SEGMENT dword public 'DATA' use32 Factor1 DD 2 Factor2 DD 20 Result DQ 0 _DATA ENDS _TEXT SEGMENT dword public 'CODE' use32 ASSUME cs:_text, ds:_data _main: MOV EAX, Factor1 MOV EBX, Factor2 MUL EBX MOV DWORD PTR Result, EAX MOV DWORD PTR Result+4, EDX ; zakończenie wykonywania programu push 0 call _ExitProcess@4 8
9 _TEXT END ENDS 2. Wykonaj ten sam program dla liczb 2000 i Podaj dziesiętną i szesnastkową wartość wyniku oraz wartości wskaźników CF i OF. Czy wynik mieści się na 32-bitach? 3. Wykonaj ten sam program dla liczb i Podaj dziesiętną i szesnastkową wartość wyniku oraz wartości wskaźników CF i OF. Czy wynik mieści się na 32-bitach? 4. Wykonaj ten sam program dla liczb 2000 i , 2000 i oraz 2000 i UŜyj mnoŝenia bez znaku (MUL) i ze znakiem (IMUL). Podaj dziesiętną i szesnastkową wartość wyniku oraz zawartość znaczników CF i OF. 5. Wykonaj ten sam program dla liczb i , i oraz i UŜyj mnoŝenia bez znaku (MUL) i ze znakiem (IMUL). Za kaŝdym razem podaj dziesiętną i szesnastkową wartość wyniku oraz zawartość znaczników CF i OF. Zad.4. Dzielenie liczb 1. Wprowadź program dzielący dwie umieszczone w pamięci liczby 32-bitowe i umieszczający wynik (32-bitowy) oraz resztę z dzielenia w pamięci:.686 extern _ExitProcess@4: near public _main _DATA SEGMENT dword public 'DATA' use32 Divisor1 DD 21 Divisor2 DD 2 Result DD 0 Remainder DD 0 _DATA ENDS _TEXT SEGMENT dword public 'CODE' use32 ASSUME cs:_text, ds:_data _main: MOV EAX, Divisor1 MOV EDX, 0 MOV EBX, Divisor2 DIV EBX MOV Result, EAX MOV Remainder, EDX ; zakończenie wykonywania programu push 0 call _ExitProcess@4 _TEXT END ENDS 2. Wykonaj ten sam program dla liczb i Podaj dziesiętną i szesnastkową wartość wyniku i reszty z dzielenia. Wyjaśnij, do czego konieczny jest rozkaz MOV EDX, 0 w powyŝszym programie. 9
10 3. Zmodyfikuj podany program tak, aby moŝliwe było wykonanie dzielenia dla liczb i Podaj dziesiętną i szesnastkową wartość wyniku i reszty z dzielenia. 4. Wykonaj ten program dla liczb i 20. Jakie wyniki otrzymujesz? 5. Wykonaj ten sam program dla liczb i 2000, i 2000 oraz i UŜyj dzielenia bez znaku (DIV) i ze znakiem (IDIV). Za kaŝdym razem podaj dziesiętną i szesnastkową wartość wyniku i reszty z dzielenia Zad. 5. Operacje logiczne i porównania 1. Napisz samodzielnie program zerujący rejestr EAX bez wykorzystywania rozkazu MOV. Wskazówka: uŝyj rozkazu XOR. Podaj główny rozkaz tego programu. 2. Napisz samodzielnie program porównujący, czy liczba 32-bitowa w rejestrze EAX ma wartość zero. UŜyj rozkazu: a. OR b. CMP c. TEST. Podaj operandy tych rozkazów 3. Napisz samodzielnie program wpisujący do rejestru EBX wartość przeciwną do EAX bez uŝycia rozkazów NEG i SUB. Zad. 6. Operacje przesuni 1. Napisz samodzielnie program przesuwający o 5 pozycji w prawo, a następnie o 5 pozycji w lewo liczbę 48 umieszczoną w rejestrze EAX. Czy otrzymałeś na koniec programu liczbę 48? 2. Zmodyfikuj program tak, aby uzyskać na koniec wyjściową liczbę 32-bitową niezaleŝnie od jej wartości. Wskazówka uŝyj dodatkowego rejestru i rozkazu rotacji. 3. Uprość program z poprzedniego punktu wykorzystując rozkaz SHLD i SHRD. 4. Porównaj działanie rozkazów SHL i SAL oraz SHR i SAR na liczbach 1 i 2 przy przesunięciu o 1 pozycję. Podaj wyniki w postaci szesnastkowej i dziesiętnej. Zad. 7. Operacje na bitach (dodatkowe) 1. Jakie trzy rozkazy moŝna alternatywnie wykorzystać do sprawdzenia, czy wartość 32 bitowa w rejestrze EAX jest ujemna (ma bit znaku równy 1)? Jakie są róŝnice między wykonaniem tych rozkazów w zakresie znaczników. 10
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
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
INSTRUKCJE Instrukcje przeniesienia: Instrukcje konwersji: Arytmetyczne instrukcje:
INSTRUKCJE Instrukcje przeniesienia: mov, lea, les, push, pop, pushf, popf Instrukcje konwersji: cbw, cwd, xlat Arytmetyczne instrukcje: add, inc sub, dec, cmp, neg, mul, imul, div, idiv Logiczne instrukcje:
Architektura systemów komputerowych. Poziom układów logicznych. Układy mnoŝące i dzielące
Architektura systemów komputerowych Poziom układów logicznych. Układy mnoŝące i dzielące Cezary Bolek Katedra Informatyki Plan wykładu Układy mnoŝące liczby całkowite MnoŜenie liczb bez znaku MnoŜarka
CPU ROM, RAM. Rejestry procesora. We/Wy. Cezary Bolek Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki
Cezary Bolek Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki Komputer jest urządzeniem, którego działanie opiera się na wykonywaniu przez procesor instrukcji pobieranych z pamięci operacyjnej
Ć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
Kod znak-moduł. Wartość liczby wynosi. Reprezentacja liczb w kodzie ZM w 8-bitowym formacie:
Wykład 3 3-1 Reprezentacja liczb całkowitych ze znakiem Do przedstawienia liczb całkowitych ze znakiem stosowane są następujące kody: - ZM (znak-moduł) - U1 (uzupełnienie do 1) - U2 (uzupełnienie do 2)
Plan wykładu. Architektura systemów komputerowych. MnoŜenie realizacja sprzętowa (wersja 1) Układy mnoŝące liczby całkowite.
Plan wykładu rchitektura systemów komputerowych Poziom układów logicznych. Układy mnoŝące i dzielące Cezary Bolek Katedra Informatyki Układy mnoŝące liczby całkowite MnoŜenie liczb bez znaku MnoŜarka sekwencyjna
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
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
Architektura komputerów
Architektura komputerów Wykład 8 Jan Kazimirski 1 Assembler x86 2 Podstawowe instrukcje x86 Instrukcje transferu danych Arytmetyka binarna i dziesiętna Instrukcje logiczne Instrukcje sterujące wykonaniem
1. Operacje logiczne A B A OR B
1. Operacje logiczne OR Operacje logiczne są operacjami działającymi na poszczególnych bitach, dzięki czemu można je całkowicie opisać przedstawiając jak oddziałują ze sobą dwa bity. Takie operacje logiczne
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.
organizacja procesora 8086
Systemy komputerowe Procesor 8086 - tendencji w organizacji procesora organizacja procesora 8086 " # $ " % strali " & ' ' ' ( )" % *"towego + ", -" danych. Magistrala adresowa jest 20.bitowa, co pozwala
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
UTK Można stwierdzić, że wszystkie działania i operacje zachodzące w systemie są sterowane bądź inicjowane przez mikroprocesor.
Zadaniem centralnej jednostki przetwarzającej CPU (ang. Central Processing Unit), oprócz przetwarzania informacji jest sterowanie pracą pozostałych układów systemu. W skład CPU wchodzą mikroprocesor oraz
Ć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ę
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
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
Programowanie komputera
Programowanie komputera Program jest algorytmem przetwarzania danych zapisanym w sposób zrozumiały dla komputera. Procesor rozumie wyłącznie rozkazy zapisane w kodzie maszynowym (ciąg 0 i 1). Ponieważ
Struktura i działanie jednostki centralnej
Struktura i działanie jednostki centralnej ALU Jednostka sterująca Rejestry Zadania procesora: Pobieranie rozkazów; Interpretowanie rozkazów; Pobieranie danych Przetwarzanie danych Zapisywanie danych magistrala
Architektura systemów komputerowych Laboratorium 13 Symulator SMS32 Operacje na bitach
Marcin Stępniak Architektura systemów komputerowych Laboratorium 13 Symulator SMS32 Operacje na bitach 1. Informacje Matematyk o nazwisku Bool wymyślił gałąź matematyki do przetwarzania wartości prawda
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
1. Pobrać plik masm.zip (Macro Assembler 6.15 & Segmented Executable Linker 5.60) (http://www.cs.put.poznan.pl/mantczak/teaching/itc/masm.zip).
J.Nawrocki, M. Antczak, G. Palik, A. Widelska Plik źródłowy: 07cw4-asm.doc; Data: 2007-09-26 6:00 Ćwiczenie nr 4 Język asemblera Środowisko uruchomieniowe 1. Pobrać plik masm.zip (Macro Assembler 6.15
ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH
ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH reprezentacja danych ASK.RD.01 c Dr inż. Ignacy Pardyka UNIWERSYTET JANA KOCHANOWSKIEGO w Kielcach Rok akad. 2011/2012 c Dr inż. Ignacy Pardyka (Inf.UJK) ASK.RD.01 Rok
Wprowadzenie do Architektury komputerów. Asembler procesorów rodziny x86
Wprowadzenie do Architektury komputerów Asembler procesorów rodziny x86 Rozkazy mikroprocesora Rozkazy mikroprocesora 8086 można podzielić na siedem funkcjonalnych grup: 1. Rozkazy przesłania danych w
Wprowadzenie do architektury komputerów systemy liczbowe, operacje arytmetyczne i logiczne
Wprowadzenie do architektury komputerów systemy liczbowe, operacje arytmetyczne i logiczne 1. Bit Pozycja rejestru lub komórki pamięci służąca do przedstawiania (pamiętania) cyfry w systemie (liczbowym)
Architektura systemów komputerowych Laboratorium 14 Symulator SMS32 Implementacja algorytmów
Marcin Stępniak Architektura systemów komputerowych Laboratorium 14 Symulator SMS32 Implementacja algorytmów 1. Informacje Poniższe laboratoria zawierają podsumowanie najważniejszych informacji na temat
Architektura komputera. Cezary Bolek. Uniwersytet Łódzki. Wydział Zarządzania. Katedra Informatyki. System komputerowy
Wstęp do informatyki Architektura komputera Cezary Bolek cbolek@ki.uni.lodz.pl Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki System komputerowy systemowa (System Bus) Pamięć operacyjna ROM,
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
Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych
1 Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych 1. Podstawowe operacje logiczne dla cyfr binarnych Jeśli cyfry 0 i 1 potraktujemy tak, jak wartości logiczne fałsz i prawda, to działanie
Wstęp do informatyki. System komputerowy. Magistrala systemowa. Architektura komputera. Cezary Bolek
Wstęp do informatyki Architektura komputera Cezary Bolek cbolek@ki.uni.lodz.pl Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki System komputerowy systemowa (System Bus) Pamięć operacyjna ROM,
Magistrala systemowa (System Bus)
Cezary Bolek cbolek@ki.uni.lodz.pl Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki systemowa (System Bus) Pamięć operacyjna ROM, RAM Jednostka centralna Układy we/wy In/Out Wstęp do Informatyki
Pracownia elektryczna i elektroniczna. Elektronika cyfrowa. Ćwiczenie nr 5.
Pracownia elektryczna i elektroniczna. Elektronika cyfrowa. Ćwiczenie nr 5. Klasa III Opracuj projekt realizacji prac związanych z badaniem działania cyfrowych bloków arytmetycznych realizujących operacje
Lista rozkazów mikrokontrolera 8051 część pierwsza: instrukcje przesyłania danych, arytmetyczne i logiczne
Lista rozkazów mikrokontrolera 8051 część pierwsza: instrukcje przesyłania danych, arytmetyczne i logiczne Ryszard J. Barczyński, 2016 Politechnika Gdańska, Wydział FTiMS, Katedra Fizyki Ciała Stałego
Arytmetyka stałopozycyjna
Wprowadzenie do inżynierii przetwarzania informacji. Ćwiczenie 3. Arytmetyka stałopozycyjna Cel dydaktyczny: Nabycie umiejętności wykonywania podstawowych operacji arytmetycznych na liczbach stałopozycyjnych.
Technika cyfrowa Układy arytmetyczne
Sławomir Kulesza Technika cyfrowa Układy arytmetyczne Wykład dla studentów III roku Informatyki Wersja 1.0, 05/10/2010 Układy arytmetyczne UKŁADY ARYTMETYCZNE UKŁADY SUMUJĄCE i ODEJMUJĄCE UKŁADY MNOŻĄCE
Załącznik do ćwiczenia w środowisku MASM32 wersji 10 Sterowanie przebiegiem wykonania programu
Załącznik do ćwiczenia w środowisku MASM32 wersji 10 Sterowanie przebiegiem wykonania programu Rozkaz cmp jest opisany w grupie rozkazów arytmetycznych (załącznik do ćwiczenia 3). Rozpatrzmy rozkazy procesorów
Lista instrukcji mikroprocesora 8086. Programowanie w assemblerze
Lista instrukcji mikroprocesora 8086 Programowanie w assemblerze Lista instrukcji mikroprocesora 8086 Lista instrukcji mikroprocesora 8086 Lista instrukcji mikroprocesora 8086 Lista instrukcji mikroprocesora
Sterowanie pracą programu
Sterowanie pracą programu Umożliwia podejmowanie decyzji w oparciu o określone warunki. Skoki bezwarunkowe Podstawową instrukcją umożliwiającą przeniesienie sterowania do innego punktu programu oznaczonego
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
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
Operacje arytmetyczne
PODSTAWY TEORII UKŁADÓW CYFROWYCH Operacje arytmetyczne Bibliografia: Urządzenia techniki komputerowej, K. Wojtuszkiewicz http://pl.wikipedia.org/ Dodawanie dwójkowe Opracował: Andrzej Nowak Ostatni wynik
PAMIĘĆ RAM. Rysunek 1. Blokowy schemat pamięci
PAMIĘĆ RAM Pamięć służy do przechowania bitów. Do pamięci musi istnieć możliwość wpisania i odczytania danych. Bity, które są przechowywane pamięci pogrupowane są na komórki, z których każda przechowuje
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
PODSTAWOWE ELEMENTY ASEMBLERA TRYBY ADRESOWANIA. OPERATORY ASEMBLERA
PODSTAWOWE ELEMENTY ASEMBLERA TRYBY ADRESOWANIA. OPERATORY ASEMBLERA PODSTAWOWE ELEMENTY ASEMBLERA Składnia języka Postać wiersza programu Dyrektywy i pseudoinstrukcje Deklaracja zmiennych Zmienne łańcuchowe
Technika 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,
Zestaw 3. - Zapis liczb binarnych ze znakiem 1
Zestaw 3. - Zapis liczb binarnych ze znakiem 1 Zapis znak - moduł (ZM) Zapis liczb w systemie Znak - moduł Znak liczby o n bitach zależy od najstarszego bitu b n 1 (tzn. cyfry o najwyższej pozycji): b
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
Elementy oprogramowania sterowników. Instrukcje podstawowe, funkcje logiczne, układy czasowe i liczenia, znaczniki
Elementy oprogramowania sterowników. Instrukcje podstawowe, funkcje logiczne, układy czasowe i liczenia, znaczniki Norma IEC-61131-3 definiuje typy języków: graficzne: schematów drabinkowych LD, schematów
ROZDZIAŁ DZIEWIĄTY: OPERACJE ARYTMETYCZNE I LOGICZNE
ROZDZIAŁ DZIEWIĄTY: OPERACJE ARYTMETYCZNE I LOGICZNE Dużo więcej jest potrzebne do posługiwania się asemblerem niż znajomość mnogich operacji. Musimy nauczyć się jak je stosować i co one robią, Wiele instrukcji
Układy arytmetyczne. Joanna Ledzińska III rok EiT AGH 2011
Układy arytmetyczne Joanna Ledzińska III rok EiT AGH 2011 Plan prezentacji Metody zapisu liczb ze znakiem Układy arytmetyczne: Układy dodające Półsumator Pełny sumator Półsubtraktor Pełny subtraktor Układy
Technika mikroprocesorowa I Wykład 2
Technika mikroprocesorowa I Wykład 2 Literatura: www.zilog.com Z80 Family, CPU User Manual Cykle magistrali w mikroprocesorze Z80 -odczyt kodu rozkazu, -odczyt-zapis pamięci, -odczyt-zapis urządzenia we-wy,
Przedmiot: Urządzenia techniki komputerowej Nauczyciel: Mirosław Ruciński
Przedmiot: Urządzenia techniki komputerowej Nauczyciel: Mirosław Ruciński Temat: Systemy zapisu liczb. Cele kształcenia: Zapoznanie z systemami zapisu liczb: dziesiętny, dwójkowy, ósemkowy, szesnastkowy.
Architektura komputerów
Architektura komputerów Wykład 4 Jan Kazimirski 1 Reprezentacja danych 2 Plan wykładu Systemy liczbowe Zapis dwójkowy liczb całkowitych Działania arytmetyczne Liczby rzeczywiste Znaki i łańcuchy znaków
Podstawy techniki cyfrowej Mikroprocesory. Mgr inż. Bogdan Pietrzak ZSR CKP Świdwin
Podstawy techniki cyfrowej Mikroprocesory Mgr inż. Bogdan Pietrzak ZSR CKP Świdwin 1 Mikroprocesor to układ cyfrowy wykonany jako pojedynczy układ scalony o wielkim stopniu integracji zdolny do wykonywania
Kod uzupełnień do dwóch jest najczęściej stosowanym systemem zapisu liczb ujemnych wśród systemów binarnych.
Kod uzupełnień do dwóch jest najczęściej stosowanym systemem zapisu liczb ujemnych wśród systemów binarnych. Jeśli bit znaku przyjmie wartość 0 to liczba jest dodatnia lub posiada wartość 0. Jeśli bit
Arytmetyka liczb binarnych
Wartość dwójkowej liczby stałoprzecinkowej Wartość dziesiętna stałoprzecinkowej liczby binarnej Arytmetyka liczb binarnych b n-1...b 1 b 0,b -1 b -2...b -m = b n-1 2 n-1 +... + b 1 2 1 + b 0 2 0 + b -1
SYSTEMY LICZBOWE. Zapis w systemie dziesiętnym
SYSTEMY LICZBOWE 1. Systemy liczbowe Najpopularniejszym systemem liczenia jest system dziesiętny, który doskonale sprawdza się w życiu codziennym. Jednak jego praktyczna realizacja w elektronice cyfrowej
Programowanie w asemblerze Architektura procesora
Programowanie w asemblerze Architektura procesora 17 stycznia 2017 Zwana też ISA (Instruction Set Architecture). Klasyfikacja stos; akumulator; jeśli dodatkowe rejestry specjalizowane (np. adresowy), to
Systemy zapisu liczb.
Systemy zapisu liczb. Cele kształcenia: Zapoznanie z systemami zapisu liczb: dziesiętny, dwójkowy, ósemkowy, szesnastkowy. Zdobycie umiejętności wykonywania działań na liczbach w różnych systemach. Zagadnienia:
SYSTEMY LICZBOWE 275,538 =
SYSTEMY LICZBOWE 1. Systemy liczbowe Najpopularniejszym systemem liczenia jest system dziesiętny, który doskonale sprawdza się w życiu codziennym. Jednak jego praktyczna realizacja w elektronice cyfrowej
Kod hex Instrukcja Opis 37 AAA Koryguj AL po dodawaniu BCD
AAA ASCII adjust after addition 37 AAA Koryguj AL po dodawaniu BCD AAA powoduje korekcję znajdującego się w AL wyniku dodawania dwóch liczb, o ile dodawane są liczby BCD. Dopiero po korekcji wynik będzie
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
Architektura typu Single-Cycle
Architektura typu Single-Cycle...czyli budujemy pierwszą maszynę parową Przepływ danych W układach sekwencyjnych przepływ danych synchronizowany jest sygnałem zegara Elementy procesora - założenia Pamięć
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
Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory
Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory Poniżej pozwoliłem sobie za cytować za wikipedią definicję zmiennej w informatyce.
Układy kombinacyjne. cz.2
Układy kombinacyjne cz.2 Układy kombinacyjne 2/26 Kombinacyjne bloki funkcjonalne Kombinacyjne bloki funkcjonalne - dekodery 3/26 Dekodery Są to układy zamieniające wybrany kod binarny (najczęściej NB)
Kod U2 Opracował: Andrzej Nowak
PODSTAWY TEORII UKŁADÓW CYFROWYCH Kod U2 Opracował: Andrzej Nowak Bibliografia: Urządzenia techniki komputerowej, K. Wojtuszkiewicz http://pl.wikipedia.org/ System zapisu liczb ze znakiem opisany w poprzednim
Mikrokontroler ATmega32. Język symboliczny
Mikrokontroler ATmega32 Język symboliczny 1 Język symboliczny (asembler) jest językiem niskiego poziomu - pozwala pisać programy złożone z instrukcji procesora. Kody instrukcji są reprezentowane nazwami
Wprowadzenie do informatyki ćwiczenia
Podstawowe działania na liczbach binarnych dr inż. Izabela Szczęch WSNHiD 2010/2011 Ćwiczenia z wprowadzenia do informatyki Dodawanie Odejmowanie Mnoż enie Dzielenie Plan zajęć 2 Izabela Szczęch 1 Dodawanie
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,
Teoretyczne Podstawy Informatyki
Teoretyczne Podstawy Informatyki cel zajęć Celem kształcenia jest uzyskanie umiejętności i kompetencji w zakresie budowy schematów blokowych algor ytmów oraz ocenę ich złożoności obliczeniowej w celu optymizacji
Architektura systemów komputerowych. Arytmetyka maszyn cyfrowych
Architektura systemów komputerowych Plan wykładu. Typy danych w komputerach. 2. Układ arytmetyczno-logiczny. 3. Instrukcje zależne od ALU. 4. Superskalarność. Cele Wiedza na temat arytmetyki maszyn cyfrowych.
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
Samodzielnie wykonaj następujące operacje: 13 / 2 = 30 / 5 = 73 / 15 = 15 / 23 = 13 % 2 = 30 % 5 = 73 % 15 = 15 % 23 =
Systemy liczbowe Dla każdej liczby naturalnej x Î N oraz liczby naturalnej p >= 2 istnieją jednoznacznie wyznaczone: liczba n Î N oraz ciąg cyfr c 0, c 1,..., c n-1 (gdzie ck Î {0, 1,..., p - 1}) taki,
Lista rozkazów mikrokontrolera 8051
Lista rozkazów mikrokontrolera 8051 Spis treści: Architektura mikrokontrolera Rozkazy Architektura mikrokontrolera Mikrokontroler 8051 posiada trzy typy pamięci: układ zawiera pamięć wewnętrzną (On-Chip
1.1. Pozycyjne systemy liczbowe
1.1. Pozycyjne systemy liczbowe Systemami liczenia nazywa się sposób tworzenia liczb ze znaków cyfrowych oraz zbiór reguł umożliwiających wykonywanie operacji arytmetycznych na liczbach. Dla dowolnego
PROGRAMOWANIE 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
Wstęp do informatyki. Pojęcie liczebności. Zapis liczb. Liczenie bez liczebników. Podstawy arytmetyki komputerowej. Cezary Bolek
Pojęcie liczebności Wstęp do informatyki Podstawy arytmetyki komputerowej Cezary Bolek cbolek@ki.uni.lodz.pl Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki Naturalna zdolność człowieka do postrzegania
LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ. Zasady arytmetyki stałoprzecinkowej oraz operacji arytmetycznych w formatach Q
LABORAORIUM PROCESORY SYGAŁOWE W AUOMAYCE PRZEMYSŁOWEJ Zasady arytmetyki stałoprzecinkowej oraz operacji arytmetycznych w formatach Q 1. Zasady arytmetyki stałoprzecinkowej. Kody stałopozycyjne mają ustalone
Jerzy Nawrocki, Wprowadzenie do informatyki
Magistrala systemowa Jerzy Nawrocki, Jerzy Nawrocki Wydział Informatyki Politechnika Poznańska jerzy.nawrocki@put.poznan.pl Cel wykładu Asembler i koncepcja von Neumanna Wprowadzenie do programowania na
Ć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
Mikrokontroler 80C51
DSM-51 * STRONA 1 * Temat : Wiadomości podstawowe Układy cyfrowe to rodzaj układów elektronicznych, w których sygnały napięciowe przyjmują tylko określoną liczbę poziomów, którym przypisywane są wartości
Architektura systemów komputerowych Laboratorium 8 Symulator SMS32 Instrukcje skoku i pętle
Marcin Stępniak Architektura systemów komputerowych Laboratorium 8 Symulator SMS32 Instrukcje skoku i pętle 1. Informacje 1.1. Instrukcje skoku Instrukcje skoku zmieniają wskaźnik instrukcji w rejestrze
Mikrooperacje. Mikrooperacje arytmetyczne
Przygotowanie: Przemysław Sołtan e-mail: kerk@moskit.ie.tu.koszalin.pl Mikrooperacje Mikrooperacja to elementarna operacja wykonywana podczas jednego taktu zegara mikroprocesora na informacji przechowywanej
Programowalne układy logiczne
Programowalne układy logiczne Mikroprocesor Szymon Acedański Marcin Peczarski Instytut Informatyki Uniwersytetu Warszawskiego 6 grudnia 2014 Zbudujmy własny mikroprocesor Bardzo prosty: 16-bitowy, 16 rejestrów
UKŁADY MIKROPROCESOROWE
UKŁADY MIKROPROCESOROWE Kodowanie informacji i systemy liczbowe OPRACOWANIE KŁ MALBORK WPROWADZENIE 1. Pojęcia podstawowe: Czym zajmuje się elektronika? Informacja Sygnał Uproszczona klasyfikacja układów
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
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
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
Podstawy Informatyki
Podstawy Informatyki Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 3 Bożena Woźna-Szcześniak (AJD) Podstawy Informatyki Wykład 3 1 / 42 Reprezentacja liczb całkowitych
ARYTMETYKA BINARNA. Dziesiątkowy system pozycyjny nie jest jedynym sposobem kodowania liczb z jakim mamy na co dzień do czynienia.
ARYTMETYKA BINARNA ROZWINIĘCIE DWÓJKOWE Jednym z najlepiej znanych sposobów kodowania informacji zawartej w liczbach jest kodowanie w dziesiątkowym systemie pozycyjnym, w którym dla przedstawienia liczb
Podstawy działania układów cyfrowych...2 Systemy liczbowe...2 Kodowanie informacji...3 Informacja cyfrowa...4 Bramki logiczne...
Podstawy działania układów cyfrowych...2 Systemy liczbowe...2 Kodowanie informacji...3 Informacja cyfrowa...4 Bramki logiczne...4 Podział układów logicznych...6 Cyfrowe układy funkcjonalne...8 Rejestry...8
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
Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 5 Liczby w komputerze
Podstawy Informatyki Inżynieria Ciepła, I rok Wykład 5 Liczby w komputerze Jednostki informacji Bit (ang. bit) (Shannon, 948) Najmniejsza ilość informacji potrzebna do określenia, który z dwóch równie
Technologie Informacyjne Wykład 3
Technologie Informacyjne Wykład 3 Procesor i jego architektura (CISC, RISC, 32/64 bity) Systemy wieloprocesorowe Wojciech Myszka Jakub Słowiński Katedra Mechaniki i Inżynierii Materiałowej Wydział Mechaniczny
ARYTMETYKA KOMPUTERA
006 URZĄDZENIA TECHNIKI KOMPUTEROWEJ ARYTMETYKA KOMPUTERA Systemy liczbowe o róŝnych podstawach 1 UTK System dziesiętny Cyfry: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 Liczba 764.5 oznacza 7 * 10 2 + 6 * 10 1 + 4
Ćwiczenie 01 - Strona nr 1 ĆWICZENIE 01
ĆWICZENIE 01 Ćwiczenie 01 - Strona nr 1 Polecenie: Bez użycia narzędzi elektronicznych oraz informatycznych, wykonaj konwersje liczb z jednego systemu liczbowego (BIN, OCT, DEC, HEX) do drugiego systemu
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