Mikrooperacje. Mikrooperacje arytmetyczne

Podobne dokumenty
Algorytm mnożenia sekwencyjnego (wariant 1)

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

Języki i paradygmaty programowania

Plan wykładu. Architektura systemów komputerowych. MnoŜenie realizacja sprzętowa (wersja 1) Układy mnoŝące liczby całkowite.

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych

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

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

1. Operacje logiczne A B A OR B

Architektura komputerów. Asembler procesorów rodziny x86

Pracownia elektryczna i elektroniczna. Elektronika cyfrowa. Ćwiczenie nr 5.

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

Operatory AND, OR, NOT, XOR Opracował: Andrzej Nowak Bibliografia:

Podstawy programowania w języku C i C++

Podstawy programowania. 1. Operacje arytmetyczne Operacja arytmetyczna jest opisywana za pomocą znaku operacji i jednego lub dwóch wyrażeń.

Arytmetyka liczb binarnych

WSTĘP. Budowa bramki NAND TTL, ch-ka przełączania, schemat wewnętrzny, działanie 2

Podstawy Informatyki Elementarne podzespoły komputera

Operatory. Operatory bitowe i uzupełnienie informacji o pozostałych operatorach. Programowanie Proceduralne 1

Przykładowe pytania DSP 1

Struktura i działanie jednostki centralnej

Podstawy Informatyki

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

Projekt z przedmiotu Systemy akwizycji i przesyłania informacji. Temat pracy: Licznik binarny zliczający do 10.

Krótkie przypomnienie

Operacje wykonywane są na operandach (argumentach operatorów). Przy operacji dodawania: argumentami operatora dodawania + są dwa operandy 2 i 5.

Systemy zapisu liczb.

Układy arytmetyczne. Joanna Ledzińska III rok EiT AGH 2011

Kod U2 Opracował: Andrzej Nowak

AKADEMIA MORSKA KATEDRA NAWIGACJI TECHNICZEJ

Logika binarna. Prawo łączności mówimy, że operator binarny * na zbiorze S jest łączny gdy (x * y) * z = x * (y * z) dla każdego x, y, z S.

Pracownia Komputerowa wykład V

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

Wstęp do informatyki- wykład 2

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

Technika mikroprocesorowa I Wykład 2

Języki programowania C i C++ Wykład: Typy zmiennych c.d. Operatory Funkcje. dr Artur Bartoszewski - Języki C i C++, sem.

Tranzystor JFET i MOSFET zas. działania

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

Operacje arytmetyczne

Arytmetyka stałopozycyjna

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

Technika mikroprocesorowa I Studia niestacjonarne rok II Wykład 2

DZIESIĘTNY SYSTEM LICZBOWY

Lista rozkazów mikrokontrolera 8051

Bramki logiczne Podstawowe składniki wszystkich układów logicznych

MOŻLIWOŚCI PROGRAMOWE MIKROPROCESORÓW

Pracownia Komputerowa wyk ad V

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Energoelektroniki i Maszyn Elektrycznych REJESTRY

Mikrokontroler ATmega32. Język symboliczny

Elementy oprogramowania sterowników. Instrukcje podstawowe, funkcje logiczne, układy czasowe i liczenia, znaczniki

Lista Rozkazów: Język komputera

Układy kombinacyjne 1

Pracownia Komputerowa wykład IV

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

SYSTEMY LICZBOWE. Zapis w systemie dziesiętnym

Architektura systemów komputerowych. Arytmetyka maszyn cyfrowych

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

dwójkę liczącą Licznikiem Podział liczników:

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

SYSTEMY LICZBOWE 275,538 =

Operatory w C++ Operatory arytmetyczne. Operatory relacyjne (porównania) Operatory logiczne. + dodawanie - odejmowanie * mnożenie / dzielenie % modulo

Zapis liczb binarnych ze znakiem

Architektura Systemów Komputerowych, Wydział Informatyki, ZUT

while(wyrażenie) instrukcja

Pracownia Komputerowa wyk ad IV

Podstawy Automatyki. Wykład 12 - synteza i minimalizacja funkcji logicznych. dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

Podstawy Informatyki Maszyna Turinga

CPU ROM, RAM. Rejestry procesora. We/Wy. Cezary Bolek Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki

AHDL - Język opisu projektu. Podstawowe struktury języka. Komentarz rozpoczyna znak i kończy znak %. SUBDESIGN

ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH

Architektura komputerów Wykład 2

ZADANIE 1. Rozwiązanie:

Architektura komputera. Dane i rozkazy przechowywane są w tej samej pamięci umożliwiającej zapis i odczyt

Architektura komputerów

Podstawy i języki programowania

O systemach liczbowych

Wykład 2. Informatyka Stosowana. 8 października 2018, M. A-B. Informatyka Stosowana Wykład 2 8 października 2018, M. A-B 1 / 41

Zestaw 3. - Zapis liczb binarnych ze znakiem 1

Kodowanie informacji. Kody liczbowe

Stan wysoki (H) i stan niski (L)

1.1. Pozycyjne systemy liczbowe

Odczyt danych z klawiatury Operatory w Javie

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

Ćwiczenie 27 Temat: Układy komparatorów oraz układy sumujące i odejmujące i układy sumatorów połówkowych i pełnych. Cel ćwiczenia

LABORATORIUM TECHNIKA CYFROWA LICZNIKI I REJESTRY. Rev.1.1

Układy mikroprogramowane

WSTĘP DO ELEKTRONIKI

UKŁADY SEKWENCYJNE Opracował: Andrzej Nowak

1. Poznanie właściwości i zasady działania rejestrów przesuwnych. 2. Poznanie właściwości i zasady działania liczników pierścieniowych.

Architektura systemów komputerowych Laboratorium 14 Symulator SMS32 Implementacja algorytmów

Przerzutnik ma pewną liczbę wejść i z reguły dwa wyjścia.

Automatyzacja i robotyzacja procesów produkcyjnych

dr inż. Jarosław Forenc

ARCHITEKRURA KOMPUTERÓW Kodowanie liczb ze znakiem

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

PODSTAWY TEORII UKŁADÓW CYFROWYCH

Operacje arytmetyczne w systemie dwójkowym

Lista tematów na kolokwium z wykładu z Techniki Cyfrowej w roku ak. 2013/2014

Arytmetyka binarna - wykład 6

Transkrypt:

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 w jednym lub większej liczbie rejestrów. Wynik operacji może zastąpić poprzednią informację w danym rejestrze lub może zostać przesłany do innego rejestru. Mikrooperacje arytmetyczne Mikrooperacja arytmetyczna jest to operacje przesłań miedzy rejestrami zmieniająca zawartość informacji podczas przesłania modyfikowaną przez układy logiczne wykonujące zadaną funkcję arytmetyczną. Mikrooperacje arytmetyczne. Oznaczenie symboliczne Opis A + B Dodawanie A B Odejmowanie A + 1 Zwiększenie o jeden (inkrementacja) A 1 Zmniejszenie o jeden (dekrementacja) A Dopełnienie (uzupełnienie do 1) A + 1 Utworzenie uzupełnienia do 2 A + B Zawartość A plus uzupełnienie do 1 zawartości B A + B +1 Zawartość A plus uzupełnienie do 2 zawartości B (równoważne odejmowaniu) Symbolem mikrooperacji dopełnienia jest kreska nad literą symbolizującą rejestr (symbol ten jest używany do określenia dopełnienia jednej zmiennej dwójkowej).

Mikrooperacje logiczne Mikrooperacje logiczne są to operacje dwójkowe wykonywane na łańcuchach bitów przechowywanych w rejestrach. W tych operacjach każdy bit jest rozważany oddzielnie i traktowany jako zmienna dwójkowa. Tablice funkcji dla 16 funkcji dwóch zmiennych. x Y F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 F15 AND XOR OR NOR NXOR NAND 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 1 0 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 Mikrooperacje logiczne Funkcja Mikrooperacja Nazwa F o = 0 F 0 Zerowanie F1 = xy F A B AND F2 = xy F A B F3 = x F A Przesłanie A F4 = xy F A B F5 = y F B Przesłanie B F6 = x y F A B XOR F7 = x+ y F A B OR F8 = x+ y F A B NOR F9 = x y F x y NXOR F10 = y F B Dopełnienie B F11 = x+ y F A B F12 = x F A Dopełnienie A F13 = x+ y F A B F14 = xy F A B NAND F 15 = 1 F same jedynki Ustawienie jedynek Mikrooperacje logiczne są bardzo użyteczne przy przetwarzaniu poszczególnych bitów lub części słowa przechowywanego w rejestrze. Można je stosować do zmiany wartości bitów, usunięcia grupy bitów lub wstawiania do rejestru nowych wartości bitów. Operacja ustawiania selektywnego (operacja OR A A B ) 1 : 1110 A po wykonaniu operacji Do rejestru A wstawiane są jedynki w tych miejscach, w których w rejestrze B znajdują się jedynki. 1 Operację ustawiania selektywnego stosujemy w przypadku, gdy chcemy dokonać ustawienia odpowiednich bitów na wartość 1.

Operacja dopełnienia selektywnego (operacja XOR F A B): 0110 A po wykonaniu operacji Do rejestru A wstawiane są dopełnienia rejestru A w tych miejscach, w których w rejestrze B znajdują się jedynki. Nie zmienia się wartość bitów rejestru A, którym odpowiadają jedynki w rejestrze B. Operacja zerowania selektywnego(operacja AND A z dopełnieniem B F A B ): 0010 A po wykonaniu operacji Do rejestru A wstawiane są zera w tych miejscach, w których w rejestrze B znajdują się jedynki. Operacja maskowania (operacja AND F A B ): 1000 A po wykonaniu operacji Do rejestru A wstawiane są zera w tych miejscach, w których w rejestrze B znajdują się zera. Operacja wstawiania: Operacja ta powoduje wstawianie nowej wartości do danej grupy bitów. Dokonuje się tego przez uprzednie maskowanie (AND) danych bitów, a następnie logiczne zsumowanie (OR) ich z żądaną wartością. By zastąpić cztery znajdujące się po lewej stronie bity wartością 1001, poddajemy niepotrzebne bity najpierw operacji maskowania (AND), 0110 0000 1111 B (maskowanie) 0000 1010 A po wykonaniu operacji a następnie wstawiamy (OR) nową wartość: 0000 1001 1111 B (wstawianie) 1001 1010 A po wykonaniu operacji

Operacja porównania: Operacja polega na porównaniu słów przechowywanych w rejestrach A i B. W przypadku, gdy dwa odpowiadające sobie bity są jednakowe to generowane jest zero. W przeciwnym wypadku otrzymujemy jedynkę. Osiąga się to przez wykorzystanie operacji XOR. 1010 B 0000 A po wykonaniu operacji Następnie sprawdza się, czy otrzymano w wyniku same zera, co jest dowodem, że słowa A i B są sobie równe. Mikrooperacje przesuwania Operacja przesuwania bitów wykorzystywana jest do przesyłania informacji między rejestrami, także do wykonywania arytmetycznych, logicznych i innych operacji przetwarzania danych. Rys. 0-1.Przykład operacji przesuwania w lewo (SL) na rejestrze 8-bitowym (układ przerzutników). Istnieją cztery rodzaje przesuwania: szeregowe przesuwanie przesyłające(proste) (SL, SR); przesuwanie logiczne (SLL, SRL); przesuwanie arytmetyczne (SLA, SRA); przesuwanie cykliczne (SLC, SRC). Przy przesuwaniu szeregowym wejście szeregowe rejestru otrzymuje bit z innego rejestru (źródłowego). W przypadku przesuwania logicznego bit ten nie jest pobierany z innego rejestru, zamiast tego jest wstawienie 0 do skrajnej pozycji rejestru. Dla przesuwania cyklicznego następuje przesuwanie bitów rejestru między dwoma jego końcami. uzyskuje się to przez połączenie wyjścia szeregowego rejestru przesuwającego z jego wejściem szeregowym. Ze względu na możliwość realizacji przesuwania cyklicznego przy pomocy przesuwania szeregowego (prostego) nie zaimplementowano w programie tego typy mikrooperacji 2. 2 Aby realizować przesuniecie cykliczne należy użyć dyrektywy LINK łącząc wyjście CL z wejściem CR. W takim przypadku mamy możliwość wykonywania przesunięcia cyklicznego w lewo. Dla przesunięcia w prawo należy dodatkowo wykonać połączenie LINK łącząc wyjście CR z wejściem CL.

Przesuwanie arytmetyczne jest mikrooperacją przesuwającą liczbę wraz z jej znakiem. Arytmetyczne przesuwanie w lewo liczby dwójkowej powoduje mnożenie jej przez dwa, a arytmetyczne przesuwanie w prawo odpowiada zaś podzieleniu jej przez dwa. Przy takim przesyłaniu najstarszy bit rejestru (skrajny lewy przerzutnik) przechowuje bit znaku. Przy przesuwaniu bit znaku powinien pozostać niezmieniony ponieważ, gdy mnożymy lub czy dzielimy, znak liczby nie ulega zmianie.