Technika cyfrowa Układy arytmetyczne

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

Układy kombinacyjne. cz.2

Podział sumatorów. Równoległe: Szeregowe (układy sekwencyjne) Z przeniesieniem szeregowym Z przeniesieniem równoległym. Zwykłe Akumulujące

Podstawy Informatyki

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

Naturalny kod binarny (NKB)

Kombinacyjne bloki funkcjonalne

Ć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

Technologie Informacyjne

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

Zapis liczb binarnych ze znakiem

Arytmetyka binarna - wykład 6

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

ARCHITEKRURA KOMPUTERÓW Kodowanie liczb ze znakiem

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

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

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych

Krótkie przypomnienie

Ćwiczenie Digital Works 003 Układy sekwencyjne i kombinacyjne

Architektura komputerów, Informatyka, sem.iii. Sumatory

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

f we DZIELNIKI I PODZIELNIKI CZĘSTOTLIWOŚCI Dzielnik częstotliwości: układ dający impuls na wyjściu co P impulsów na wejściu

Funkcja Boolowska a kombinacyjny blok funkcjonalny

Cyfrowy zapis informacji

ćwiczenie 202 Temat: Układy kombinacyjne 1. Cel ćwiczenia

Kod U2 Opracował: Andrzej Nowak

PODSTAWY TEORII UKŁADÓW CYFROWYCH

Zestaw 3. - Zapis liczb binarnych ze znakiem 1

INSTYTUT CYBERNETYKI TECHNICZNEJ POLITECHNIKI WROCŁAWSKIEJ ZAKŁAD SZTUCZNEJ INTELIGENCJI I AUTOMATÓW

Kodowanie liczb całkowitych w systemach komputerowych

Arytmetyka stałopozycyjna

Automatyka. Treść wykładów: Multiplekser. Układ kombinacyjny. Demultiplekser. Koder

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

Układy kombinacyjne 1

Architektura komputerów

Stan wysoki (H) i stan niski (L)

Arytmetyka stało i zmiennoprzecinkowa

WSTĘP DO ELEKTRONIKI

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

Podstawy techniki cyfrowej cz.2 zima Rafał Walkowiak

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

Podstawy techniki cyfrowej cz.2 wykład 3 i 5

ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH

Język HDL - VERILOG. (Syntetyzowalna warstwa języka) Hardware Description Language Krzysztof Jasiński PRUS PRUS

Sławomir Kulesza. Projektowanie automatów synchronicznych

Wprowadzenie do informatyki - ć wiczenia

1.1. Pozycyjne systemy liczbowe

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

1. Operacje logiczne A B A OR B

Wielkość analogowa w danym przedziale swojej zmienności przyjmuje nieskończoną liczbę wartości.

Ćwiczenie 28. Przy odejmowaniu z uzupełnieniem do 2 jest wytwarzane przeniesienie w postaci liczby 1 Połówkowy układ

Szybkie układy mnożące

Kombinacyjne bloki funkcjonalne - wykład 3

Elektronika (konspekt)

Pracownia Komputerowa wykład V

Arytmetyka liczb binarnych

Pracownia Komputerowa wykład IV

Szybkie układy mnożące

Adam Korzeniewski p Katedra Systemów Multimedialnych

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

organizacja procesora 8086

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

LICZBY ZMIENNOPRZECINKOWE

Sposoby projektowania systemów w cyfrowych

Wprowadzenie do informatyki ćwiczenia

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

Wstęp do Techniki Cyfrowej... Układy kombinacyjne

Adam Korzeniewski p Katedra Systemów Multimedialnych

Sumatory H D L. dr inŝ. Paweł Tomaszewicz Instytut Telekomunikacji Politechnika Warszawska

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

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

Struktura i działanie jednostki centralnej

Technologie Informacyjne Wykład 4

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

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

Dodawanie liczb dwójkowych. Sumator.

Uniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2010/2011

Technika Cyfrowa i Mikroprocesorowa

UTK Można stwierdzić, że wszystkie działania i operacje zachodzące w systemie są sterowane bądź inicjowane przez mikroprocesor.

Pracownia Komputerowa wyk ad IV

Operacje arytmetyczne

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

Architektura systemów komputerowych. Arytmetyka maszyn cyfrowych

Architektura komputerów Wykład 2

Arytmetyka komputerów

przeniesienie pożyczka

LICZBY ZMIENNOPRZECINKOWE

Systemy zapisu liczb.

LABORATORIUM ELEKTRONIKI UKŁADY KOMBINACYJNE

DZIESIĘTNY SYSTEM LICZBOWY

Architektura Systemów Komputerowych

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

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

Dodawanie liczb binarnych

Technika Cyfrowa 1 wykład 1: kody. Dr inż. Jacek Mazurkiewicz Katedra Informatyki Technicznej

AKADEMIA MORSKA KATEDRA NAWIGACJI TECHNICZEJ

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

Ćwiczenie 31 Temat: Analogowe układy multiplekserów i demultiplekserów. Układ jednostki arytmetyczno-logicznej (ALU).

Układy logiczne układy cyfrowe

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

Transkrypt:

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 JEDNOSTKA ARYTMETYCZNOLOGICZNA (ALU) UKŁADY PORÓWNUJĄCE

Dodawanie liczb binarnych (bez znaku)

Półsumator 1-bitowy Półsumator jest układem sumującym nie uwzględniającym bitu przeniesienia wstępnego (z pozycji niższej).

Pełny sumator 1-bitowy Pełny sumator jest układem uwzględniającym bit przeniesienia wstępnego ci (z pozycji niższej) i bit przeniesienia na pozycję wyższą ci+1.

Pełny sumator 1-bitowy Pełny sumator powstaje z połączenia dwóch półsumatorów.

Pełny sumator wielobitowy

Pełny sumator 4-bitowy

Zapis liczb ze znakiem Znak liczby koduje się na bicie MSB: 0 (+), 1 ( ). (1) kod znak-moduł (ZM), (2) kod uzupełnienie do 1 (U1), (3) kod uzupełnienie do 2 (U2).

Kod znak-moduł ZM

Dodawanie/odejmowanie w kodzie ZM Różne sposoby realizacji dodawania i odejmowania, połączone ponadto z koniecznością porównywania wartości bezwzględnych liczb.

Zapis liczb ze znakiem Znak liczby koduje się na bicie MSB: 0 (+), 1 ( ). (1) kod znak-moduł (ZM), (2) kod uzupełnienie do 1 (U1), (3) kod uzupełnienie do 2 (U2).

Uzupełnienia liczb binarnych U1 Uzupełnienie do 1 powstaje przez zanegowanie wszystkich bitów liczby wyjściowej: Ex.: P = 1011100ZM = 0100011U1

Dodawanie/odejmowanie w kodzie U1 Konieczność obsługi bitu przeniesienia zwrotnego, ale za to dodawanie i odejmowanie realizowane identycznie.

Uzupełnienia liczb binarnych U2 Uzupełnienie do 2 powstaje przez dodanie 1 do liczby U1(P). Reguła mnemotechniczna: Przepisz wszystkie mniej znaczące zera i pierwszą najmniej znaczącą jedynkę słowa P, a następnie zaneguj wszystkie pozostałe bity: P = 1011100ZM = 0100100U2

Dodawanie/odejmowanie w kodzie U2 Prostota algorytmu dodawania/odejmowania czyni kod U2 najczęściej wykorzystywanym do operacji arytmetycznych na liczbach binarnych.

Błąd przepełnienia (overflow) Błąd przepełnienia powstaje, gdy znak wyniku różni się od znaków operandów (bit przeniesienia na pozycję znaku różni się od bitu nadmiaru).

Błąd przepełnienia (overflow)

Błąd przepełnienia (overflow)

Dodawanie/odejmowanie liczb w kodzie U2 (A) Dodawanie liczb o tych samych znakach w kodzie U2 wymaga wcześniejszego zwiększenia długości słowa modułu każdej liczby o 1 bit. (B) Długość słowa argumentów operacji w kodzie U2 jest większa o 2 bity: bit znaku oraz bit nadmiaru.

Sumator z przeniesieniami szeregowymi (sumator kaskadowy, ripple carry adder RCA)

Opóźnienia w sumatorze 1-bitowym

Opóźnienia w sumatorze kaskadowym 4-bitowym

Sumator-subtraktor kaskadowy 4-bitowy Dodawanie: S = 0, C0 = 0: S3S2S1S0 = A3A2A1A0 + B3B2B1B0 + C0 = A + B Odejmowanie: S = 1, C0 = 1: S3S2S1S0 = A3A2A1A0 + B3B2B1B0 + 1 = A + U2(B) = A - B

Sumator z przeniesieniami równoległymi (carry-lookahead adder CLA)

Generacja przeniesień równoległych Zauważmy, że w przypadku FA: S = A B Cin Cout = A B + (A+B)Cin = A B + (A B)Cin Wprowadźmy oznaczenia: (A) Generacja przeniesienia: G = A B (B) Propagacja przeniesienia: P = A B Wówczas: S = P Cin Cout = G + P Cin

Generacja przeniesień równoległych Aby wygenerować jednocześnie wszystkie bity przeniesień należy zbudować funkcję niezależną od przeniesień wstępnych ci (i 1). Korzystając z bitów generacji Gi i propagacji Pi przeniesień sumatora: C1 = G0 + P0 C0 C2 = G1 + P1 C1 = G1 + P1 G0 + P1 P0 C0 Ci+1 = Gi + Pi Ci = Gi + f (A, B, C0) Przeniesienie na pozycję (i+1) realizowane jest więc rekurencyjnie. Sumatory CLA są o ok. 40 % szybsze niż RCA, aczkolwiek nie buduje się układów większych niż 4-bitowe (komplikacja układu).

Generacja przeniesień równoległych

4-bitowy sumator CLA

16-bitowy sumator CLA

Generator przeniesień równoległych (Look Ahead Carry Generator) układ 74182 (Texas Instruments)

4-bitowy sumator binarny z przeniesieniem równoległym (CLA) układ 7483 (CEMI)

Dodawanie liczb w kodzie BCD Aby operować na liczbach binarnych w kodzie BCD należy korygować wynik generując bity przeniesienia w przypadku, gdy liczba jest większa niż 910 = 1001NB (przeniesienie dekadowe d). Uzyskuje się je poprzez dodanie do korygowanego wyniku liczby 610 = 0110NB.

Sumator BCD

Sumator BCD układ 74F583 (Philips)

Mnożenie liczb binarnych 4-bitowych

Akumulacja iloczynów częściowych

Multiplikator matrycowy 4x4

Kombinacyjny multiplikator 4x4 (układy SN74284 + SN74285 Texas Instruments)

Spłaszczanie bloków funkcjonalnych Wygodną techniką projektowania bloków funkcjonalnych jest ich spłaszczanie (kontrakcja), polegająca na usuwaniu nadmiarowości poprzez wprowadzanie określonych stałych wejściowych. Można w ten sposób zrealizować następujące funkcje: - inkrementację/dekrementację, - mnożenie/dzielenie przez stałą, - dopełnianie/uzupełnianie zerami i in. Nowa funkcja musi być jednak realizowalna przez dany blok funkcjonalny po doprowadzeniu określonych sygnałów wejściowych tu: stanów logicznych 0 lub 1, nie zaś X lub X.

Inkrementer/dekrementer Spłaszczenie sumatora z przeniesieniem szeregowym i wprowadzenie słowa B = 001 daje inkrementer 3-bitowy. Wprowadzenie jako B liczby ujemnej daje dekrementer 3-bitowy. Powielenie środkowej komórki pozwala wydłużyć słowo inkrementowane/dekrementowane.

Mnożenie/dzielenie przez 2n

Mnożenie przez stałą Każde mnożenie/dzielenie binarne można zrealizować jako złożenie przesunięcia i sumowania, tu: B 101 = (B + 2-2 B) 22

Jednostka arytmetyczno-logiczna (ALU)

Jednostka arytmetyczno-logiczna (ALU)

Rozszerzanie linii danych ALU

Jednostka arytmetyczno-logiczna (ALU)