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



Podobne dokumenty
Architektura komputerów

Architektura komputerów Wprowadzenie do algorytmów

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

Architektura komputerów

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

Podstawy Informatyki

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

Architektura komputerów Historia systemów liczących

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

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

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

ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH

Pracownia Komputerowa wykład VI

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

dr inż. Małgorzata Langer Architektura komputerów

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

Zaawansowane programowanie w języku C++ Wyjątki

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

Teoretyczne Podstawy Informatyki

Zaawansowane programowanie w języku C++ Zarządzanie pamięcią w C++

Pozycyjny system liczbowy

Medical electronics part 9a Electroencephalography (EEG)

Pracownia Komputerowa wyk ad VI

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

L6.1 Systemy liczenia stosowane w informatyce

Systemy operacyjne na platformach mobilnych 2 Platforma Maemo

Zwykle liczby rzeczywiste przedstawia się w notacji naukowej :

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

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

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

Techniki multimedialne

1.1. Pozycyjne systemy liczbowe

INFORMATYKA. Zajęcia organizacyjne. Arytmetyka komputerowa.

Technologie Informacyjne

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

Systemy operacyjne na platformach mobilnych 2 Programowanie aplikacji z graficznym interfejsem użytkownika w GTK+

Studia podyplomowe realizowane w ramach zadania 5 Systemy mobilne i techniki multimedialne

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

LICZBY ZMIENNOPRZECINKOWE

Metody numeryczne I. Janusz Szwabiński. Metody numeryczne I (C) 2004 Janusz Szwabiński p.1/61

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

Zaawansowane programowanie w języku C++ Przeciążanie operatorów

Adam Korzeniewski p Katedra Systemów Multimedialnych

Adam Korzeniewski p Katedra Systemów Multimedialnych

Met Me ody numer yczne Wykład ykład Dr inż. Mic hał ha Łan Łan zon Instyt Ins ut Elektr Elektr echn iki echn i Elektrot Elektr echn olo echn

Pracownia Komputerowa wykład IV

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

Systemy zapisu liczb.

Architektura komputerów

ARCHITEKTURA KOMPUTERÓW Liczby zmiennoprzecinkowe

Zaawansowane programowanie w języku C++ Funkcje uogólnione - wzorce

Pracownia komputerowa. Dariusz Wardecki, wyk. VI

Podstawy Informatyki

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

SYSTEMY LICZBOWE. Zapis w systemie dziesiętnym

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

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

Metody numeryczne. Janusz Szwabiński. nm_slides.tex Metody numeryczne Janusz Szwabiński 2/10/ :02 p.

LICZBY ZMIENNOPRZECINKOWE

2 Arytmetyka. d r 2 r + d r 1 2 r 1...d d 0 2 0,

Kodowanie informacji. Kody liczbowe

Systemy operacyjne na platformach mobilnych 2 Podstawy obsługi powłoki Bash

Arytmetyka stało- i zmiennoprzecinkowa. 1. Informacje wstępne

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

Arytmetyka binarna - wykład 6

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

Naturalny kod binarny (NKB)

Micha Strzelecki Metody przetwarzania i analizy obrazów biomedycznych (2)

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

Cyfrowy zapis informacji. 5 grudnia 2013 Wojciech Kucewicz 2

ARCHITEKTURA SYSTEMÓW MIKROPROCESOROWYCH. dr inż. Małgorzata Langer B9, pok. 310 Instytut Elektroniki

Układy reprogramowalne i SoC Język VHDL (część 4)

ARCHITEKTURA KOMPUTERÓW. Reprezentacja danych w komputerach

Obliczenia Naukowe. O arytmetyce komputerów, Czyli jak nie dać się zaskoczyć. Bartek Wilczyński 29.

Technologie Informacyjne Wykład 4

Materiały laboratoryjne. Kodowanie i liczby. dr inż. Zbigniew Zakrzewski. Z.Z. Podstawy informatyki

Reprezentacja stałoprzecinkowa. Reprezentacja zmiennoprzecinkowa zapis zmiennoprzecinkowy liczby rzeczywistej

Architektura komputerów

SYSTEMY LICZBOWE 275,538 =

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

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

Zaawansowane programowanie w języku C++ Programowanie obiektowe

Stan wysoki (H) i stan niski (L)

Dla człowieka naturalnym sposobem liczenia jest korzystanie z systemu dziesiętnego, dla komputera natomiast korzystanie z zapisu dwójkowego

Pracownia Komputerowa wyk ad IV

EGZAMIN MATURALNY Z INFORMATYKI

Dodatek do Wykładu 01: Kodowanie liczb w komputerze

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych

Arytmetyka stało i zmiennoprzecinkowa

DYDAKTYKA ZAGADNIENIA CYFROWE ZAGADNIENIA CYFROWE

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

Zaawansowane programowanie w języku C++ Klasy w C++

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

Algorytmy i struktury danych

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

Wprowadzenie do informatyki i użytkowania komputerów. Kodowanie informacji System komputerowy

Systemy operacyjne na platformach mobilnych 3 Wstęp do systemu Android

Wstęp do informatyki- wykład 1

Architektura systemów komputerowych

Zestaw 3. - Zapis liczb binarnych ze znakiem 1

Transkrypt:

Architektura komputerów Reprezentacja liczb. Kodowanie rozkazów. Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka bez ograniczeń - zintegrowany rozwój Politechniki Łódzkiej - zarządzanie Uczelnią, nowoczesna oferta edukacyjna i wzmacniania zdolności do zatrudniania osób niepełnosprawnych Prezentacja dystrybuowana jest bezpłatnie Politechnika Łódzka, ul. Żeromskiego 116, 90-924 Łódź, tel. (042) 631 28 83 w ramach Europejskiego www.kapitalludzki.p.lodz.pl Funduszu Społecznego

2 Liczby zmiennoprzecinkowe Liczby zmiennoprzecinkowe są używane do reprezentacji liczb rzeczywistych 1.23233, 0.0003002, 3323443898.3325358903 Liczby zmiennoprzecinkowe to podzbiór zbioru liczb rzeczywistych Zakres przechowywanych liczb jest ograniczony Zależy od zastosowanej liczby bitów Ograniczona precyzja 12345678901234567890 --> 12345678900000000000 Liczby zmiennoprzecinkowe to przybliżenie liczb rzeczywistych, podczas gdy liczby całkowite są reprezentowane dokładnie

3 Notacja wykładnicza + 34.383 x 10 2 = 3438.3 Znak Mantysa Wykładnik + 3.4383 x 10 3 = 3438.3 Forma znormalizowana: jedna cyfra przed przecinkiem dziesiętnym +3.4383000E+03 = 3438.3 Notacja zmiennoprzecinkowa 8-cyfrowa mantysa może reprezentować jedynie 8 cyfr znaczących

4 Binarne liczby zmiennoprzecinkowe + 101.1101 = 1 x 2 2 + 0 x 2 1 + 1 x 2 0 + 1 x 2-1 + 1 x 2-2 + 0 x 2-3 + 1 x 2-4 = 4 + 0 + 1 + 1/2 + 1/4 + 0 + 1/16 = 5.8125 +1.011101 E+2 Notacja znormalizowana, czyli taka, w której przecinek dwójkowy występuje zaraz za pierwszą cyfrą Uwaga: pierwsza cyfra jest zawsze niezerowa --> pierwsza cyfra jest zawsze jedynką

5 Format zmiennoprzecinkowy IEEE The Institute of Electrical and Electronics Engineers 31 30 23 22 0 8 bits 23 bits Znak Wykładnik Mantysa 0: Dodatni 1: Ujemny Przesunięty o 127. Wiodące 1 występuje niejawnie, nie jest reprezentowane w pamięci Liczba = -1 S * (1 + M) x 2 E-127 Pozwala na reprezentację liczb w zakresie 2-127 do 2 +128 (10 ±38 ) Ponieważ mantysa zawsze zaczyna się od 1, nie trzeba tego jawnie zapisywać Mantysa ma efektywnie 24 bity

6 Format IEEE o podwójnej precyzji Znak 63 62 52 51 32 11 bits 20 bits Wykładnik Przesunięcie:1023 Mantysa 31 0 32 bits Liczba = -1 S * (1 + M) x 2 E-1023 Pozwala na reprezentację liczb w zakresie od 2-1023 do 2 +1024 (10 ± 308 ) Większa mantysa pozwala na większą precyzję

7 Algorytm liczenia średniej START SUMA 0 LICZNIK 0 SUMA SUMA + [OCENY + LICZNIK] LICZNIK LICZNIK + 1 N LICZNIK = LICZBA? T SREDNIA SUMA / LICZBA LICZBA: 3 OCENY: 3.5 4 4.5 WYPISZ SREDNIA STOP

Program po przetłumaczeniu na język procesora Architektura komputerów 8 1. WSTAW WARTOŚĆ 0 2. PRZENIEŚ DO LICZNIK 3. WSTAW WARTOŚĆ 0 4. PRZENIEŚ DO SUMA 5. L1: WSTAW WARTOŚĆ OCENY 6. DODAJ LICZNIK 7. UMIEŚĆ* 8. DODAJ SUMA 9. PRZENIEŚ DO SUMA 10. WSTAW WARTOŚĆ 1 11. DODAJ LICZNIK 12. PRZENIEŚ DO LICZNIK 13. JEŚLI = LICZBA SKOCZ DO L2 14. SKOCZ DO L1 15. L2: UMIEŚĆ SUMA 16. PODZIEL PRZEZ LICZNIK 17. PRZENIEŚ DO ŚREDNIA 18. WYPISZ 19. STOP 20. ŚREDNIA: 21. SUMA: 22. LICZNIK: 23. LICZBA: 3 24. OCENY: 3.5 25. 4 26. 4.5

9 Kodowanie rozkazów Aby rozkazy były zrozumiałe dla procesora, trzeba je zakodować w postaci liczb Zakładamy, że komórki pamięci mają po 8 bitów (1 bajt) Rozkazy bez parametrów będą zajmować jeden bajt, rozkazy zawierające daną lub adres dwa bajty, rozkazy zawierające dwa adresy trzy bajty Kody rozkazów i adresy zwykle zapisywane są szesnastkowo Postać taką nazywa się kodem maszynowym Rozkaz Kod NIC NIE RÓB 00 WSTAW WARTOŚĆ 01 WARTOŚĆ PRZENIEŚ DO 02 ADRES UMIEŚĆ 03 ADRES UMIEŚĆ* 04 DODAJ 05 ADRES ODEJMIJ 06 ADRES POMNÓŻ PRZEZ 07 ADRES PODZIEL PRZEZ 08 ADRES SKOCZ DO 09 ADRES WYPISZ 0A JEŚLI = SKOCZ DO 0B ADRES ADRES JEŚLI SKOCZ DO 0C ADRES ADRES JEŚLI > SKOCZ DO 0D ADRES ADRES JEŚLI < SKOCZ DO 0E ADRES ADRES JEŚLI SKOCZ DO 0F ADRES ADRES JEŚLI SKOCZ DO 10 ADRES ADRES STOP 11

10 Przykład 1. WSTAW WARTOŚĆ 0 2. PRZENIEŚ DO LICZNIK 3. WSTAW WARTOŚĆ 0 4. PRZENIEŚ DO SUMA 5. L1: WSTAW WARTOŚĆ OCENY 6. DODAJ LICZNIK 7. UMIEŚĆ* 8. DODAJ SUMA 9. PRZENIEŚ DO SUMA 10. WSTAW WARTOŚĆ 1 11. DODAJ LICZNIK 12. PRZENIEŚ DO LICZNIK 13. JEŚLI = LICZBA SKOCZ DO L2 14. SKOCZ DO L1 15. L2: UMIEŚĆ SUMA 16. PODZIEL PRZEZ LICZNIK 17. PRZENIEŚ DO ŚREDNIA 18. WYPISZ 19. STOP 20. ŚREDNIA: 21. SUMA: 22. LICZNIK: 23. LICZBA: 3 24. OCENY: 3.5 25. 4 26. 4.5 Rozkaz Kod NIC NIE RÓB 00 WSTAW WARTOŚĆ 01 WARTOŚĆ PRZENIEŚ DO 02 ADRES UMIEŚĆ 03 ADRES UMIEŚĆ* 04 DODAJ 05 ADRES ODEJMIJ 06 ADRES POMNÓŻ PRZEZ 07 ADRES PODZIEL PRZEZ 08 ADRES SKOCZ DO 09 ADRES WYPISZ 0A JEŚLI = SKOCZ DO 0B ADRES ADRES JEŚLI SKOCZ DO 0C ADRES ADRES JEŚLI > SKOCZ DO 0D ADRES ADRES JEŚLI < SKOCZ DO 0E ADRES ADRES JEŚLI SKOCZ DO 0F ADRES ADRES JEŚLI SKOCZ DO 10 ADRES ADRES STOP 11

Program po przetłumaczeniu na kod maszynowy (faza 1) Architektura komputerów 11 01 00 02 LICZNIK 01 00 02 SUMA L1: 01 OCENY 05 LICZNIK 04 05 SUMA 02 SUMA 01 01 05 LICZNIK 02 LICZNIK 0B LICZBA L2 09 L1 L2: 03 SUMA 08 LICZNIK 02 ŚREDNIA 0A 11 ŚREDNIA: 00 SUMA: 00 LICZNIK: 00 LICZBA: 03 OCENY: 07 08 09

Program po przetłumaczeniu na kod maszynowy (faza 2) Architektura komputerów 12 00 01 00 02 02 LICZNIK 04 01 00 06 02 SUMA 08 L1: 01 OCENY 0A 05 LICZNIK 0C 04 0D 05 SUMA 0F 02 SUMA 11 01 01 13 05 LICZNIK 15 02 LICZNIK 17 0B LICZBA L2 1A 09 L1 1C L2: 03 SUMA 1E 08 LICZNIK 20 02 ŚREDNIA 22 0A 23 11 24 ŚREDNIA: 00 25 SUMA: 00 26 LICZNIK: 00 27 LICZBA: 03 28 OCENY: 07 08 09

Program po przetłumaczeniu na kod maszynowy (faza 3) Architektura komputerów 13 00 01 00 02 02 26 04 01 00 06 02 25 08 L1: 01 28 0A 05 26 0C 04 0D 05 25 0F 02 25 11 01 01 13 05 26 15 02 26 17 0B 27 1C 1A 09 08 1C L2: 03 25 1E 08 26 20 02 23 22 0A 23 11 24 ŚREDNIA: 00 25 SUMA: 00 26 LICZNIK: 00 27 LICZBA: 03 28 OCENY: 07 08 09

Program po przetłumaczeniu na kod maszynowy (faza 4) Architektura komputerów 14 00: 01 00 02 26 01 00 02 25 08: 01 28 05 26 04 05 25 02 10: 25 01 01 05 26 02 26 0B 18: 27 1C 09 08 03 25 08 26 20: 02 23 0A 11 00 00 00 03 28: 07 08 09

15 Co robi poniższy program? 00: 01 00 02 24 01 01 02 21 08: 02 23 01 04 02 22 03 21 10: 05 21 02 21 03 22 06 23 18: 02 22 0c 24 0E 03 21 0a 20: 11 03 02 11 0d Rozkaz Kod NIC NIE RÓB 00 WSTAW WARTOŚĆ 01 WARTOŚĆ PRZENIEŚ DO 02 ADRES UMIEŚĆ 03 ADRES UMIEŚĆ* 04 DODAJ 05 ADRES ODEJMIJ 06 ADRES POMNÓŻ PRZEZ 07 ADRES PODZIEL PRZEZ 08 ADRES SKOCZ DO 09 ADRES WYPISZ 0A JEŚLI = SKOCZ DO 0B ADRES ADRES JEŚLI SKOCZ DO 0C ADRES ADRES JEŚLI > SKOCZ DO 0D ADRES ADRES JEŚLI < SKOCZ DO 0E ADRES ADRES JEŚLI SKOCZ DO 0F ADRES ADRES JEŚLI SKOCZ DO 10 ADRES ADRES STOP 11

16 Model programowy procesora Z80

Architektura komputerów Reprezentacja liczb. Kodowanie rozkazów. Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka bez ograniczeń - zintegrowany rozwój Politechniki Łódzkiej - zarządzanie Uczelnią, nowoczesna oferta edukacyjna i wzmacniania zdolności do zatrudniania osób niepełnosprawnych Prezentacja dystrybuowana jest bezpłatnie Politechnika Łódzka, ul. Żeromskiego 116, 90-924 Łódź, tel. (042) 631 28 83 w ramach Europejskiego www.kapitalludzki.p.lodz.pl Funduszu Społecznego