Struktura stanowiska laboratoryjnego

Podobne dokumenty
Architektura komputerów

Technika mikroprocesorowa I Studia niestacjonarne rok II Wykład 2

Technika mikroprocesorowa I Wykład 2

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

Wstęp. Stanowisko z mikroprocesorem Intel 8088

MOŻLIWOŚCI PROGRAMOWE MIKROPROCESORÓW

Organizacja typowego mikroprocesora

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

PAMIĘĆ RAM. Rysunek 1. Blokowy schemat pamięci

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

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

Struktura i działanie jednostki centralnej

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

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

Zestaw 3. - Zapis liczb binarnych ze znakiem 1

Ćwiczenie nr 3. Wyświetlanie i wczytywanie danych

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

Wstęp: Interfejs portu równoległego 6821 i portu szeregowego 6850 firmy Motorola

Organizacja pamięci VRAM monitora znakowego. 1. Tryb pracy automatycznej

LEKCJA TEMAT: Współczesne procesory.

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

ARCHITEKTURA PROCESORA,

Przykładowe pytania DSP 1

Technika Mikroprocesorowa Laboratorium 5 Obsługa klawiatury

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

Procesor ma architekturę rejestrową L/S. Wskaż rozkazy spoza listy tego procesora. bgt Rx, Ry, offset nand Rx, Ry, A add Rx, #1, Rz store Rx, [Rz]

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

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

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

Znaki w tym systemie odpowiadają następującym liczbom: I=1, V=5, X=10, L=50, C=100, D=500, M=1000

Floating Point Unit Koprocesor umożliwia działania na liczbach ułamkowych (zmiennoprzecinkowych) 8 rejestrów 80-bitowych: st0,,st7 Typy danych

Teoretyczne Podstawy Informatyki

Techniki multimedialne

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

Podstawy Informatyki

Kodowanie informacji. Kody liczbowe

Ćwiczenie 3. Konwersja liczb binarnych

1. Operacje logiczne A B A OR B

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

Układ sterowania, magistrale i organizacja pamięci. Dariusz Chaberski

Rozszerzalne kody operacji (przykład)

3.2. Zegar/kalendarz z pamięcią statyczną RAM 256 x 8

Pracownia Komputerowa wykład IV

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

Mikroprocesory z architekturą RISC

Architektura komputerów. Asembler procesorów rodziny x86

ZADANIE 1. Rozwiązanie:

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

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

Algorytmy i struktury danych. Wykład 4

1.1. Pozycyjne systemy liczbowe

MIKROKONTROLERY I MIKROPROCESORY

PAMIĘCI. Część 1. Przygotował: Ryszard Kijanka

12. Wprowadzenie Sygnały techniki cyfrowej Systemy liczbowe. Matematyka: Elektronika:

Mikroinformatyka. Koprocesory arytmetyczne 8087, 80187, 80287, i387

Systemy zapisu liczb.

Architektura komputerów

SYSTEMY LICZBOWE. Zapis w systemie dziesiętnym

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

Architektura komputera. Cezary Bolek. Uniwersytet Łódzki. Wydział Zarządzania. Katedra Informatyki. System komputerowy

Magistrala systemowa (System Bus)

SYSTEMY LICZBOWE 275,538 =

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

LEKCJA TEMAT: Zasada działania komputera.

Mikroprocesor Operacje wejścia / wyjścia

dr inż. Jarosław Forenc

1. Cel ćwiczenia. 2. Podłączenia urządzeń zewnętrznych w sterowniku VersaMax Micro

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

Wstęp do informatyki. System komputerowy. Magistrala systemowa. Architektura komputera. Cezary Bolek

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

Pracownia Komputerowa wyk ad IV

UTK ARCHITEKTURA PROCESORÓW 80386/ Budowa procesora Struktura wewnętrzna logiczna procesora 80386

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

Technika Mikroprocesorowa II Wykład 1

Zasady wykonywania programu drabinkowego w sterowniku

PRZEDWSTĘPNY PROJEKT MASZYNY UMC-100

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

ARCHITEKTURA KOMPUTERÓW Liczby zmiennoprzecinkowe

Rys. 1. Podłączenie cache do procesora.

Technologie Informacyjne Wykład 3

ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH

1.2 Schemat blokowy oraz opis sygnałów wejściowych i wyjściowych

wersja dokumentacji 1.00 Opis programu TeleTokenEdit

Architektura komputerów

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

Reprezentacja stałoprzecinkowa. Reprezentacja zmiennoprzecinkowa zapis zmiennoprzecinkowy liczby rzeczywistej

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

1 Moduł Modbus ASCII/RTU

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

Architektura komputerów

Stan wysoki (H) i stan niski (L)

organizacja procesora 8086

ARCHITEKRURA KOMPUTERÓW Kodowanie liczb ze znakiem

DYDAKTYKA ZAGADNIENIA CYFROWE ZAGADNIENIA CYFROWE

architektura komputerów w 1 1

Architektura mikroprocesorów z rdzeniem ColdFire

Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780

Rozdział ten zawiera informacje na temat zarządzania Modułem Modbus TCP oraz jego konfiguracji.

Operacje arytmetyczne

Architektura systemów komputerowych. Poziom układów logicznych. Układy mnoŝące i dzielące

Transkrypt:

Struktura stanowiska laboratoryjnego Na rysunku 1.1. pokazano strukturę stanowiska pomiarowego, na rysunku 1.2. najwaŝniejsze przyciski manipulacyjne na konsoli obserwacyjno- sterującej. Rys.1.1. Struktura stanowiska z mikroprocesorem 80486 Rys.1.2. Konsola obserwacyjno- sterująca 2

I Koprocesor Intela 1. Zapoznaj się z zapisem zmiennoprzecinkowym liczb, 2. W celu sprawdzenia zasad zapisu załaduj na wierzchołek stosu rejestrów koprocesora liczbę π a potem prześlij ją do pamięci w formacie 32- bitowym. a) µp startuje od lokacji FFFFFFF0 gdzie w nastawianej pamięci (16 bajtów) są umieszczone rozkazy: MOV SP, #1000 JMP (0000) : (0400) (k. oper BC) (k. oper EA) przesun. segment. Wartości odczytywane na wyświetlaczach to: adres dane 31 0 31 0 FF FF FF F0 FF FF FF F4 FF FF FF F8 FF FF FF FC EA 10 00 BC 04 00 00 00 dalsze wartości są bez znaczenia ZauwaŜ odwrotną kolejność bajtów!!! b) Począwszy od 4000h wpisz program: FLD, PI (D9, EB) FST, (5000h) (D9, 16, 00 50) JMP (EB FE)- skok do samego siebie Zapisujemy bajty kodu oczywiście w odwrotnej kolejności. W tym celu naleŝy przejąć magistralę przyciskiem BR3 na konsoli (rys1.2.), przy pomocy przycisku ADRES-DANA (rys.1.2.) ustawić adres 00004000h. Ponownie przyciskiem ADRES-DANA zmienić tryb edycji na- dane. Wpisać kolejne bajty programu zapisując je do pamięci przyciskiem WRITE (rys.1.2.). adres Dane 31 0 31 0 00 00 40 00 00 00 40 04 16 D9 EB D9 FE EB 50 00 3

W rozkazie FST występuje adres bezpośredni 5000h. Zapisywany w kolejności: młodszy bajt, starszy bajt za kodem operacyjnym. Stosując dalej tą adresację pamiętaj Ŝe: - mod = 00 - r/m = 110 - bajt s-i-b nie występuje (tryb rzeczywisty) Po wprowadzeniu kodu wyzeruj µp i przekrokuj. ZauwaŜ, Ŝe po odczycie kodu spod adresu 4004 µp mógłby juŝ wyprowadzić π pod lokacją 5000. JednakŜe ze względu na długą kolejkę µp wpierw odczyta sekwencyjnie 32 bajty (tj. 8 cykli magistrali). Liczbę naleŝy odczytywać w naturalnej kolejności 1. bit domyślny Znak S Wykładnik (exp) mantysa (fraction) Mantysa przyjmuje wartości od 1.0 do prawie 2 (1.1... 1) Posługując się powyŝszym schematem zamień liczbę wyniku na liczbę dziesiętną. Aby otrzymać wykładnik E naleŝy od pola exp odjąć tzw. Bazę B = 01111111 E = EXP B Wartość E moŝe być więc dodatnia lub ujemna. JeŜeli E=0 to mantysa jest wprost liczbą zmiennoprzecinkową E>0 to przesuwamy przecinek mantysy w prawo E<0 to w lewo. Po przesunięciu wagi kolejnych bitów za przecinkiem to: 1 1 1,,, itd. 2 4 8 Obliczenia π wykonaj z niedomiarem ograniczając się do kilku pierwszych liczb po przecinku. Wynik programu- stan linii danych przy zapisie do komórki 00000500h Postać binarna liczby zmiennoprzecinkowej 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 4

Postać binarna po zamianie 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Liczba dziesiętna Zapis zmiennoprzecinkowy liczby E 1. Wartości zmiennoprzecinkowe liczb 1 i 2 (dokładność 32-bitowa). To odpowiednio: 2 (zmp) = 40000000 1 (zmp) = 3F800000 Otrzymane wartości wpisz odpowiednio do lokacji 5100h i 5200h. 2. Wyznacz zmiennoprzecinkową wartość liczby e Wśród instrukcji koprocesora nie ma ładowania takiej stałej do rejestru wierzchołka stosu. Wykorzystaj więc ładowanie stałej log 2 e (instrukcja FLD2E) a następnie wykorzystaj toŝsamość log e 2 2 = e Nie moŝna z niej skorzystać od razu, gdyŝ odnośna instrukcja (F2XH1) wymaga wykładnika w: w 1. NaleŜy więc wartość na wierzchołku stosu podzielić wpierw przez 2 (przez zawartość lokacji 5200h). PoniewaŜ rozkaz F2XH1 odejmuje jeszcze od wyniku 1, tj. 1 log2 e 2 2 1 trzeba do rezultatu na wierzchołku dodać zawartość lokacji 5100h. Otrzymana wartość 1 2 log 2 2 e = e wymaga ostatecznie podniesienia do kwadratu. Realizujemy je przez mnoŝenie rejestru wierzchołka przez siebie, wynik na tym samym miejscu (pamiętaj Ŝe pola tego rozkazu przyjmują wartości: d = 0, ST(i) = 000). Tak więc cała procedura to ciąg instrukcji: FINIT (inicjalizacja cp) 5

FLD2E FDIV (ST(0) by real, 32 argument) mod = 00, r/m = 110, s-i-b nieobecny, adres 5200h F2XM1 FADD - j.w., adres 5100h FMUL (ST(d) ST(0) x ST(i)) FST zapisz pod lokację 5300h JMP (EB, FE) Zapisz program w postaci heksadecymalnej w tabeli: Adres 00004000 00004004 00004008 0000400C 00004010 00004014 00004018 0000401C 00004020 Kod Zakoduj, wpisz od adresu 4000h, wpisz do pamięci przy pomocy konsoli obserwacyjno- sterującej. Przekrokuj obserwując czynności µp (kolejka), otrzymany wynik przelicz udowadniając poprawność podanej liczby e = 2,708281828... Zapisz w protokole zaliczeniowym: Wynik programu- stan linii danych przy zapisie do komórki 00000500h Postać binarna liczby zmiennoprzecinkowej 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Postać binarna po zamianie 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 6

Liczba dziesiętna II 80486 pamięć podręczna (pp) 1. Organizacja 4-blokowa po 2kB razem 8kB. Tak wiec dół adresu wybiera miejsce w bloku. Miejsce to jest 4-krotnie powielone. Po aktywacji pp µp pobierając kod programu równocześnie kopiuje go w pp. Wybór linii odbywa się wg 11-tu linii najmłodszych bitów adresu (2kB). Do linii zostaje dopisane: góra adresu (21 bitów) oraz odczytywane bajty, ustawiony zostaje bit waŝności v. Widać więc, Ŝe gdy pojawi się kontakt o takich samych dolnych bitach adresowych dane i góra adresu zostają przyporządkowane do tej samej linii. Aby nie pojawił się efekt nadpisywania (zamazywania) tworzy się struktury wieloblokowe (tu 4 bloki). Tak więc bez obawy wypychania pp moŝe pomieścić w jednej linii 4 porcje informacji o takich samych dolnych adresach. Aby usprawnić przesyłanie danych przyjęto, ze najmniejszą porcją danych, na której operuje pp to 16 bajtów (ta porcjom operuje µp przy transferze blokowym magistrali). Organizacja linii w pp (jest ich 128) LRU V 0 Górny adres 0 V 16 bajtów Górny V 16B Górny V 16B Górny V adres 1 adres 2 adres 3 #0 #1 #2 #3 16B #0,#1,#2,#3 alternatywne linie w polu górny adres jest tez bit waŝności linii v Na blokach LRU zapisano informację o numerze linii najdawniej zapisanej przy konieczności zapisu pod ta lokację pp linia ta zostanie zamazana. 2. Wpisz program, który wprowadzi do pamięci zewnętrznej stan początkowy rej. CR sterującego m.in. pp (bity CD i NW). Następnie µp, pośrednio przez akumulator, wyzeruje te bity inicjując pp. Kolejną czynnością będzie skok do samego siebie. Zostanie on odczytany dalej z pp i µp wstrzyma wykonywanie cykli zewnętrznych (skok JMP będzie pobierany z pp). pref 66 MOV EAX,CR 66,0F,20,C0 pref 66 MOV (#7000),EAX 66,A3,00,70 pref 66 MOV EAX,#00000010 66,C7,C0,10,00,00,00 pref 66 MOV CR,EAX 66,0F,22,C0 NOP 90 JMP EB,FE /przedrostek 66 wymusza rozmiar 32 bitowy rejestrów gdyŝ w trybie rzeczywistym, w którym znajduje się µp jest dostęp tylko do 16 bitów rejestrów (AX a nie EAX) Program ten wpisz począwszy od lokacji #4000 pamiętając o odwrotnym początku bajtów. 7

Przekrokuj i zauwaŝ, Ŝe: - zapis pod 7000 jest dopiero po odczytaniu 32 bajtów kodu (kolejka) - sprawdź stan początkowy bitów CD i NW - zauwaŝ, Ŝe µp po ponownym pobraniu bajtów spod lokacji 4010,14,18,1C ( kolejność zaburzona ze względu na skok ) i odczytanie sąsiedniej* linii ( lokacje 4020,24,28,2C ) zaprzestaje współpracy z magistralą. Przekrokuj przy wyciśniętym KEN ( LED na czołówce CPU zgaszony ) co zauwaŝyłeś? 3. Aby sprawdzić, czy pp ma moŝność zapisania 4 instrukcji o takim samym dolnym adresie ( kwant 2kB )zmodyfikuj podany program umieszczając 4 skoki bezwarunkowe. 6kB JMP - adres 4014 JMP 2kB 4814 JMP 2kB 5014 JMP 2kB 5814 KO skoku bezwarunkowego to E9 zaś przesunięcie jest zawsze o 3 mniejsze poniewaŝ długość tego rozkazu wynosi 3 bajty. Adres 4014 XX,07,FD,E9 4814 07,FD,E9 5014 07,FD,E9 Przesunięcie względne o 6kB to E800. Po odjęciu 3 uzyskujemy E7FD. Tak więc pod lokacjom 5814 wpiszemy: 5814 XX,E7,FD,E9 5815 Przekrokuj i zaobserwuj, Ŝe µp po odczytaniu linii 4014, 10, 1C, 18 itd. dla kolejnych skoków uzupełni jeszcze linie sąsiednie tj. 4020, 24, 28, 2C itd. i rozpocznie pobieranie kodu wyłącznie z pp przestając sterować magistralą. 4. JeŜeli teraz dodamy jeden skok: 8kB JMP 0 JMP 1 JMP 2 JMP 3 JMP 4 2kB...to mimo, iŝ program wykonywany składa się tylko z 15 bajtów a obszar pp to 8kB, µp nie będzie mógł korzystać z pp. Uzupełnij i zmodyfikuj program: 5814 XX,07,FD,E9 (taki sam skok o 2kB) 6014 XX,DF,FD,E9 ( bo ostateczne przesunięcie o 2kB F800 8

4kB F000 6kB E800 8kB E000 a po odjęciu 3: DFFD ) *µp stara się umieścić w kolejce takŝe linię sąsiednią ( adres dolny kolejki ) ze względu na niemoŝliwość wystąpienia instrukcji na przełomie 16-bitowych porcji Intel nie posiada wyrównania binarnego adresów a rozkazy są o dowolnej długości: 1,2,3,4,5...-bajtowe ). Teraz µp czytając JMP 4 umieszcza go w pp na miejscu JMP 0 (najdawniej zapisanego). Wykonując JMP 4 czyta JMP 0. rozkaz ten dopiero co został usunięty z pp - µp umieszcza go ponownie zamazując najdawniej zapisany JMP 1. Rozkaz ten będzie musiał być odczytany z pamięci zewnętrznej po odczycie µp wpisze do pp zamazując tym razem JMP 2 itd. ZauwaŜ, ze µp teraz nie uzupełnia sąsiednich lokacji w pp (tj. Lokacji 4020, 24, 28, 2C itd.). Lista instrukcji mikroprocesora 80486 uŝywanych w ćwiczeniu 9

10

11

12