Wprowadzenie do architektury komputerów systemy liczbowe, operacje arytmetyczne i logiczne

Podobne dokumenty
Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 5 Liczby w komputerze

Przedmiot: Urządzenia techniki komputerowej Nauczyciel: Mirosław Ruciński

ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH

Pracownia Komputerowa wykład VI

Podstawy Informatyki

Teoretyczne Podstawy Informatyki

Liczby rzeczywiste są reprezentowane w komputerze przez liczby zmiennopozycyjne. Liczbę k można przedstawid w postaci:

Języki i metodyka programowania. Reprezentacja danych w systemach komputerowych

Naturalny kod binarny (NKB)

Systemy zapisu liczb.

Stan wysoki (H) i stan niski (L)

SYSTEMY LICZBOWE. SYSTEMY POZYCYJNE: dziesiętny (arabski): 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 rzymski: I, II, III, V, C, M

Arytmetyka binarna - wykład 6

Zestaw 3. - Zapis liczb binarnych ze znakiem 1

Pracownia Komputerowa wykład V

LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ. Zasady arytmetyki stałoprzecinkowej oraz operacji arytmetycznych w formatach Q

Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015

Kod znak-moduł. Wartość liczby wynosi. Reprezentacja liczb w kodzie ZM w 8-bitowym formacie:

Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 WYKŁAD 2 WSTĘP DO INFORMATYKI

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych

Reprezentacja stałoprzecinkowa. Reprezentacja zmiennoprzecinkowa zapis zmiennoprzecinkowy liczby rzeczywistej

Arytmetyka komputera. Na podstawie podręcznika Urządzenia techniki komputerowej Tomasza Marciniuka. Opracował: Kamil Kowalski klasa III TI

Operacje arytmetyczne

Kod U2 Opracował: Andrzej Nowak

Techniki multimedialne

Wielkości liczbowe. Wykład z Podstaw Informatyki dla I roku BO. Piotr Mika

System liczbowy jest zbiorem reguł określających jednolity sposób zapisu i nazewnictwa liczb.

INFORMATYKA. Zajęcia organizacyjne. Arytmetyka komputerowa.

Podstawy Informatyki. Metalurgia, I rok. Wykład 3 Liczby w komputerze

Wstęp do programowania. Reprezentacje liczb. Liczby naturalne, całkowite i rzeczywiste w układzie binarnym

Systemy liczbowe. 1. Przedstawić w postaci sumy wag poszczególnych cyfr liczbę rzeczywistą R = (10).

Pracownia Komputerowa wyk ad VI

Metoda znak-moduł (ZM)

ARYTMETYKA BINARNA. Dziesiątkowy system pozycyjny nie jest jedynym sposobem kodowania liczb z jakim mamy na co dzień do czynienia.

Dane, informacja, programy. Kodowanie danych, kompresja stratna i bezstratna

Zapis liczb binarnych ze znakiem

Kod uzupełnień do dwóch jest najczęściej stosowanym systemem zapisu liczb ujemnych wśród systemów binarnych.

Wielkości liczbowe. Wykład z Podstaw Informatyki. Piotr Mika

1. Operacje logiczne A B A OR B

Podstawy Informatyki. Wykład 2. Reprezentacja liczb w komputerze

Arytmetyka liczb binarnych

Podstawy Informatyki

Prefiksy binarne. kibibit (Kibit) mebibit (Mibit) gibibit (Gibit) tebibit (Tibit) pebibit (Pibit) exbibit (Eibit) zebibit (Zibit) yobibit (Yibit)

Architektura komputerów

ARCHITEKTURA KOMPUTERÓW Liczby zmiennoprzecinkowe

Technologie Informacyjne

Pracownia Komputerowa wykład IV

Architektura komputerów Reprezentacja liczb. Kodowanie rozkazów.

Cyfrowy zapis informacji. 5 grudnia 2013 Wojciech Kucewicz 2

DYDAKTYKA ZAGADNIENIA CYFROWE ZAGADNIENIA CYFROWE

Kodowanie informacji. Kody liczbowe

Wstęp do informatyki. Pojęcie liczebności. Zapis liczb. Liczenie bez liczebników. Podstawy arytmetyki komputerowej. Cezary Bolek

Kodowanie liczb całkowitych w systemach komputerowych

Architektura komputerów

ARCHITEKRURA KOMPUTERÓW Kodowanie liczb ze znakiem

Technologie Informacyjne Wykład 4

Wstęp do informatyki. Pojęcie liczebności. Liczenie bez liczebników. Podstawy arytmetyki komputerowej. Cezary Bolek

System Liczbowe. Szesnastkowy ( heksadecymalny)

Adam Korzeniewski p Katedra Systemów Multimedialnych

Programowanie Niskopoziomowe

RODZAJE INFORMACJI. Informacje analogowe. Informacje cyfrowe. U(t) U(t) Umax. Umax. R=(0,Umax) nieskończony zbiór możliwych wartości. Umax.

Samodzielnie wykonaj następujące operacje: 13 / 2 = 30 / 5 = 73 / 15 = 15 / 23 = 13 % 2 = 30 % 5 = 73 % 15 = 15 % 23 =

LICZBY ZMIENNOPRZECINKOWE

Dane, informacja, programy. Kodowanie danych, kompresja stratna i bezstratna

Pracownia Komputerowa wyk ad IV

Pracownia Komputerowa wyk ad V

Adam Korzeniewski p Katedra Systemów Multimedialnych

Arytmetyka stało i zmiennoprzecinkowa

4 Standardy reprezentacji znaków. 5 Przechowywanie danych w pamięci. 6 Literatura

1.1. Pozycyjne systemy liczbowe

Arytmetyka stałopozycyjna

Informatyka kodowanie liczb. dr hab. inż. Mikołaj Morzy

SYSTEMY LICZBOWE. Zapis w systemie dziesiętnym

Architektura systemów komputerowych. Arytmetyka maszyn cyfrowych

L6.1 Systemy liczenia stosowane w informatyce

SYSTEMY LICZBOWE 275,538 =

Pozycyjny system liczbowy

Kod IEEE754. IEEE754 (1985) - norma dotycząca zapisu binarnego liczb zmiennopozycyjnych (pojedynczej precyzji) Liczbę binarną o postaci

Podstawy Informatyki dla Nauczyciela

Informatyka 1. Wykład nr 5 ( ) Politechnika Białostocka. - Wydział Elektryczny. dr inŝ. Jarosław Forenc

Wstęp do informatyki- wykład 1 Systemy liczbowe

1259 (10) = 1 * * * * 100 = 1 * * * *1

Systemy liczenia. 333= 3*100+3*10+3*1

Metody numeryczne II. Reprezentacja liczb

Architektura komputerów

Wprowadzenie do informatyki - ć wiczenia

Technika Cyfrowa i Mikroprocesorowa

Jednostki informacji. Bajt moŝna podzielić na dwie połówki 4-bitowe nazywane tetradami (ang. nibbles).

Dodatek do Wykładu 01: Kodowanie liczb w komputerze

Wstęp do Informatyki. Reprezentacja liczb w komputerze Arytmetyka stało- i zmiennoprzecinkowa Przechowywanie danych pliki i foldery

ARYTMETYKA KOMPUTERA

Jednostki miar stosowane w sieciach komputerowych. mgr inż. Krzysztof Szałajko

B.B. 2. Sumowanie rozpoczynamy od ostatniej kolumny. Sumujemy cyfry w kolumnie zgodnie z podaną tabelką zapisując wynik pod kreską:

Plan wyk ladu. Kodowanie informacji. Systemy addytywne. Definicja i klasyfikacja. Systemy liczbowe. prof. dr hab. inż.

Procesor i jego architektura (CISC, RISC, 32/64 bity). Systemy wieloprocesorowe. wer Wojciech Myszka 16 pa«zdziernika 2008

Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory

Arytmetyka komputerów

Architektura systemów komputerowych Laboratorium 13 Symulator SMS32 Operacje na bitach

Wstęp do informatyki- wykład 1 Systemy liczbowe

Cyfrowy zapis informacji

Transkrypt:

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) dwójkowym. Może przyjmować dwa stany 0 lub 1. 3. Bajt Ciąg ośmiu bitów, stanowiący najmniejszą adresowalną porcję informacji, przechowującą jeden znak alfanumeryczny lub liczbę z zakresu 0-255. 2.Słowo Ciąg bitów, stanowiących porcję danych. Ustalona dla danego komputera (procesora) pojemność komórki pamięci (rejestru). Najczęściej słowo jest wielokrotnością bajtu. Konwersja systemów liczbowych dzielenie przez podstawę dodawanie i odejmowanie potęg 2 Operacje przesunięcia i obracania związek z mnożeniem i dzieleniem przez 2 Zapis liczb w NKB Dodawanie przeniesienie Odejmowanie - pożyczka Mnożenie 5x6=30 0000 0101 0110 dodaj 6 0110 i przesuń w prawo 0110 0101 0011 0010 dodaj 0 0000 i przesuń w prawo 0011 0010 0001 1001 dodaj 6 0110

i przesuń w prawo 0111 1001 0011 1100 dodaj 0 0000 i przesuń w prawo 0011 1100 0001 1110 Liczby ułamkowe stałopozycyjne 0011,0101 = 3 i 5/16 Kod uzupełnień do 2 (U2) W dwójkowym systemie liczbowym najstarszy bit liczby n-cyfrowej ma wagę 2 n 1. Jedyną różnicą, jaką wprowadza tu kod U2, jest zmiana wagi tego bitu na przeciwną ( 2 n 1 ). Wartość dziesiętną liczby U2 wyraża wzór: Najstarszy bit koduje wartość liczby, ale jest też nazywany bitem znaku, ponieważ świadczy o znaku liczby: jeśli jest ustawiony (=1), to liczba jest ujemna, jeśli jest skasowany (=0), to liczba jest dodatnia lub równa 0. Zwiększając obszar zajmowany przez liczbę w kodzie U2 (np. z jednego bajta na dwa), dodawany obszar wypełnia się bitem znaku. Kod U2 jest może być również użyty do przechowywania liczb ułamkowych o stałej pozycji przecinka. Zapisywany jest wówczas licznik ułamka o mianowniku będącym potęgą liczby dwa (2 n, np. 2, 4, 8,...), mianownik nie jest zapisywany. Przy mnożeniu i dzieleniu takich liczb wymagane są korekty, jeśli wynik ma mieć przecinek w tym samym miejscu. Tworzenie liczby ujemnej U2: negacja dodanie 1 Dodawanie w U2 normalnie Odejmowanie w U2 dodawanie liczby przeciwnej Dodawanie i odejmowanie liczb U2 Dodawanie i odejmowanie w U2 odbywa się standardową metodą traktujemy liczby jako zwykłe liczby binarne (dodatnie), dodajemy je i odejmujemy, a wynik otrzymamy w kodzie U2. Dodawanie i odejmowanie odbywa się łącznie z bitem znaku. Jeśli przeniesienie (lub pożyczka dla odejmowania) wystąpi tylko na bit znaku albo poza niego (nie jednocześnie lub wcale), wówczas mamy do czynienia z przepełnieniem. Oznacza to że wynik nie mieści się w kodowanym zakresie.

Przykład W precyzji do części czwartych, w ośmiobitowej reprezentacji, liczby są kodowane: Dodawanie +11100010 -------- 110110011 Dziewiąty bit wyniku jest odrzucany przy określaniu liczby (jest on używany tylko do określenia czy nastąpiło przepełnienie). Tu wystąpiło przeniesienie na bit znaku i z niego, dlatego przepełnienie nie wystąpiło wynik nie przekroczył zakresu i jest poprawny. Odejmowanie Odejmowanie jest realizowane, jak odejmowanie w naturalnym kodzie dwójkowym. Przykład z reprezentacją do części czwartych: 11100010 -------- 111101111 Odejmowanie może być zamienione na dodanie liczby przeciwnej, Powyższe działanie realizowane jako wzięcie liczby przeciwnej i dodawanie przeciwna do 11100010 = 00011110 +00011110 ------------ 11101111

Liczby zmiennoprzecinkowe Wartość liczby zmiennoprzecinkowej jest obliczana według wzoru: gdzie:s (ang. sign) znak liczby, 1 lub -1 M (ang. mantissa) znormalizowana mantysa, liczba ułamkowa B (ang. base) podstawa systemu liczbowego (2 dla systemów komputerowych) E (ang. exponent) wykładnik, liczba całkowita Mantysa jest znormalizowana, tj. należy do przedziału 1. Mantysa należy do przedziału [1,2), jest więc postaci 1.xxxxx... (x bit o dowolnej wartości). Ponieważ część całkowita jest znana, i równa zawsze 1, przeto nie jest zapamiętywana, co daje dodatkowy bit na część ułamkową. 2. Ponieważ znak liczby jest zapamiętywany na jednym bicie, przeto otrzymanie modułu i wartości przeciwnej wymaga, odpowiednio, wyzerowania tego bitu (logiczna operacja AND), lub zmiany na wartość przeciwną (logiczna operacja XOR). Przykład 1 0 0100 0100 111 1100 1010 0010 0111 1100 = 1,111110010100 01001111100*2 59 = 1 *1,8168060 *2 59 znak s (1 bit) = 0 (liczba dodatnia) wykładnik E (8 bit) = 0100 0100 = 68-127= -59 (odejmujemy 127, bo kod z przesunięciem 2 k-1-1) M = 1,111 1100 1010 0010 0111 1100 2 = 1,8168060 10 Dodajemy 1 z przecinkiem bo ją pominięto w zapisie mantysy 1 0100 0100 111 1100 1010 0010 0111 1100 = 1,11111001010 001001111100*2 59 = 1 *1,8168060 *2 59 s (1 bit) = 1 (liczba ujemna) E (8 bit) = 0100 0100 = 68-127= -59 M = 1,111 1100 1010 0010 0111 1100 2 = 1,8168060 10 0 0111 1111 000 0000 0000 0000 0000 0000 = 1 * 1,0 * 2 0 = 1 s (1 bit) = 0 (liczba dodatnia) E (8 bit) = 0111 1111 = 127-127 = 0

M = 1,000 0000 0000 0000 0000 0000 2 = 1,0 10 Dodawanie i odejmowanie Załóżmy że chcemy dodać lub odjąć dwie dodatnie liczby zmiennoprzecinkowe: oraz, przy czym. Mnożenie i dzielenie Mając dane liczby zmiennoprzecinkowe i : Zadania i problemy: 1. Przedstaw w naturalnym kodzie binarnym następujące liczby dziesiętne: 25, 55, 125, 625 2. Przedstaw w systemie szesnastkowym następujące liczby dziesiętne: 25, 55, 125, 625 3. Wykonaj następujące operacje logiczne na liczbach 8 bitowych: NOT 25, 55 AND 25, 34 OR 71, 187 XOR 21, 32 NAND 23, 76 NOR 136, 4. Przedstaw w systemie stałoprzecinkowym (8 bitów, po 4 na część całkowitą i ułamkową) następujące liczby: 21/16, 18/4, 3/8, 15/2 5. Przedstaw w kodzie U2 (8bit) następujące liczby całkowite: - 100, 59, -25, -89 6. Przedstaw w kodzie U2 stałoprzecinkowym (8 bitów, po 4 bity na część ułamkową) następujące liczby: -1/16, -10/4, 3/8, -5/2 7. Wykonaj dodawanie następujących liczb w kodzie U2: 50+60, -21+35, 8. Wykonaj odejmowanie następujących liczb w kodzie U2: 20-31, 17-8 9. Wykonaj mnożenie i dzielenie liczb binarnych za pomocą przesuwania: 17*4, 11*8, 54/2, 67/16 10. Wykonaj mnożenie następujących liczb binarnych: 7*5, 11*8 11. Wykonaj dzielenie następujących liczb binarnych: 45/9, 23/4 12. Dane są liczby w formacie zmiennoprzecinkowym pojedynczej precyzji (32bit), przedstaw je w postaci dziesiętnej: a. 01000010110010000000000000000000, b. 11000011111010000000000000000000