• Artykuły
  • Forum
  • Ciekawostki
  • Encyklopedia
  • Jednostka arytmetyczno-logiczna

    Przeczytaj także...
    Procesor graficzny, inaczej GPU (ang. Graphics Processing Unit) – jest główną jednostką obliczeniową znajdującą się w nowych kartach graficznych.Kod uzupełnień do dwóch (w skrócie U2 lub ZU2) – system reprezentacji liczb całkowitych w dwójkowym systemie pozycyjnym. Jest obecnie najpopularniejszym sposobem zapisu liczb całkowitych w systemach cyfrowych. Jego popularność wynika z faktu, że operacje dodawania i odejmowania są w nim wykonywane tak samo jak dla liczb binarnych bez znaku. Z tego też powodu oszczędza się na kodach rozkazów procesora.
    Koprocesor, jednostka zmiennoprzecinkowa (FPU, ang. Floating Point Unit) to układ scalony wspomagający procesor w obliczeniach zmiennoprzecinkowych. W większości współczesnych konstrukcji, koprocesor arytmetyczny, a także jednostki obsługujące bardziej skomplikowane obliczenia (np. instrukcje wektorowe) są zintegrowane z procesorem w jednym układzie.
    Typowy symbol ALU: A i B - operandy; R - wyjście; F - wejście z jednostki kontrolnej; D - status wyjścia

    Jednostka arytmetyczno-logiczna (z ang. Arithmetic and Logical Unit lub Arithmetic Logic Unit, ALU) – układ cyfrowy, wykonujący operacje arytmetyczne (takich jak dodawanie, odejmowanie itp.), operacje logiczne na dwóch liczbach oraz operacje jednoargumentowe, takich jak przesunięcie bitów, negacja. ALU jest podstawowym blokiem centralnej jednostki obliczeniowej komputera.

    Architektura komputera – sposób organizacji elementów tworzących komputer. Pojęcie to używane jest dosyć luźno. Może ono dzielić systemy komputerowe ze względu na wiele czynników, zazwyczaj jednak pod pojęciem architektury komputera rozumie się organizację połączeń pomiędzy pamięcią, procesorem i urządzeniami wejścia-wyjścia.W informatyce, adres pamięci to unikatowy identyfikator dla części jednostkowej pamięci, w której CPU lub inne urządzenie może zachować pewną ilość danych do późniejszego wykorzystania. W nowoczesnych komputerach każdy adres identyfikuje pojedynczy bajt pamięci; dane za duże do przechowania w jednym bajcie mogą być zachowane w kilku bajtach o następujących po sobie adresach. Niektóre mikroprocesory zostały zaprojektowane aby być adresowalne dwubajtowo, czyli typowa jednostka przechowywania jest większa od bajta. Wśród przykładów znajdują się Texas Instruments TMS9900 i National Semiconductor IMP-16, wykorzystujące ten typ adresowania.

    Typowe ALU ma dwa wejścia odpowiadające parze argumentów i jedno wyjście na wynik. Operacje jakie prowadzi to:

  • operacje logiczne AND, OR, NOT, XOR,
  • dodawanie,
  • przesunięcia bitowe o jeden bit, stałą liczbę bitów, czasem też o zmienną liczbę,
  • często też, odejmowanie, negacja liczby, dodawanie z przeniesieniem, zwiększanie/zmniejszanie o 1
  • dość często mnożenie i czasem dzielenie/modulo
  • Przyczyną dla której operacje te grupuje się w ALU jest to, że bramek logicznych potrzebnych do zaimplementowania wszystkich operacji z zestawu: dodawanie (z przeniesieniem i bez), odejmowanie (z przeniesieniem i bez), negacja liczby, zwiększanie i zmniejszanie o 1, AND, OR, NOT, XOR jest niewiele więcej od zaimplementowania samego dodawania. Szybkie mnożenie wymaga znacznie więcej, a dzielenie jeszcze więcej bramek w porównaniu do tych operacji.

    NVIDIA Corporation NASDAQ: NVDA – amerykańska firma komputerowa; jeden z największych na świecie producentów procesorów graficznych i innych układów scalonych przeznaczonych na rynek komputerowy. NVIDIA jest także głównym dostawcą (pod względem udziału w rynku) producentów kart graficznych dla komputerów osobistych ze swoją standardową serią GeForce.Komputer (z ang. computer od łac. computare – liczyć, sumować; dawne nazwy używane w Polsce: mózg elektronowy, elektroniczna maszyna cyfrowa, maszyna matematyczna) – maszyna elektroniczna przeznaczona do przetwarzania informacji, które da się zapisać w formie ciągu cyfr albo sygnału ciągłego.

    Klasyczne procesory zawierały jedno ALU. Procesory o architekturze superskalarnej zawierają kilka ALU i mogą ich używać jednocześnie wykonując jednocześnie kolejne instrukcje.

    Często ALU te są nieidentyczne ─ np. z trzech ALU wszystkie potrafią wykonywać podstawowe operacje (dodawanie, odejmowanie i logiczne), a jedynie jedno potrafi mnożyć i dzielić. Taki procesor w jednym cyklu może wykonać np. 1 mnożenie i 2 dodawania, nie może natomiast wykonać 2 mnożeń. Jest to uzasadnione, ponieważ typowy program wykonuje o wiele więcej dodawań niż mnożeń, przy czym operacje dodawania są często niejawne dla programisty, bo są np. wykonywane przy wyliczaniu adresu pola obiektu na podstawie adresu obiektu czy zmiennej, której położenie jest określone względem rejestru adresowania.

    Mikroprocesor – układ cyfrowy wykonany jako pojedynczy układ scalony o wielkim stopniu integracji (LSI) zdolny do wykonywania operacji cyfrowych według dostarczonego ciągu instrukcji.John von Neumann (ur. 28 grudnia 1903 w Budapeszcie, zm. 8 lutego 1957 w Waszyngtonie) – węgierski matematyk, inżynier chemik, fizyk i informatyk, pracujący głównie w Stanach Zjednoczonych. Wniósł znaczący wkład do wielu dziedzin matematyki – w szczególności był głównym twórcą teorii gier, teorii automatów komórkowych (w które pewien początkowy wkład miał także Stanisław Ulam) i stworzył formalizm matematyczny mechaniki kwantowej. Uczestniczył w projekcie Manhattan. Przyczynił się do rozwoju numerycznych prognoz pogody.

    Funkcje ALU[ | edytuj kod]

    Dotychczas najbardziej złożonymi obwodami elektronicznymi są obwody wbudowane wewnątrz układów współczesnych mikroprocesorów. Dlatego też takie procesory zawierają w sobie potężne i bardzo złożone ALU. W rzeczywistości nowoczesny mikroprocesor (bądź komputer główny) może mieć kilka rdzeni, każdy rdzeń z kilkoma jednostkami wykonawczymi, każda jednostka wykonawcza z kilkoma ALU.

    Koprocesor, jednostka zmiennoprzecinkowa (FPU, ang. Floating Point Unit) to układ scalony wspomagający procesor w obliczeniach zmiennoprzecinkowych. W większości współczesnych konstrukcji, koprocesor arytmetyczny, a także jednostki obsługujące bardziej skomplikowane obliczenia (np. instrukcje wektorowe) są zintegrowane z procesorem w jednym układzie.Modulo – operacja wyznaczania reszty z dzielenia jednego typu liczbowego przez drugi. W dalszym ciągu napis a   mod   d = r {displaystyle a {mod { }}d=r} będzie oznaczał, iż r {displaystyle r} jest resztą z dzielenia a {displaystyle a} przez d {displaystyle d} .

    Wiele innych układów może mieścić w sobie ALU: GPU (jednostka przetwarzania graficznego) jak ta w kartach graficznych Nvidia czy AMD, FPU (jednostka obliczeń zmiennoprzecinkowych) w znanym koprocesorze 80387 oraz procesor przetwarzania sygnałów cyfrowych w karcie dźwiękowej Sound Blaster, odtwarzacze CD i odbiorniki telewizyjne HD. Wszystkie z nich posiadają kilka potężnych i złożonych jednostek arytmetyczno-logicznych.

    Dodawanie z przeniesieniem (ang. addition with carry, mnemonik asemblera x86 ADC) to operacja arytmetyczna polegająca na dodaniu 2 liczb n-bitowych i jednej 1-bitowej która daje (n+1)-bitowy wynik:Koniunkcja – zdanie złożone mające postać p i q , gdzie p, q są zdaniami. W rachunku zdań koniunkcję zapisuje się symbolicznie jako: p ∧ q {displaystyle p,land ,q,!} . Przez koniunkcję rozumie się też zdanie mające postać p(1) i ... i p(n). Koniunkcję można zdefiniować precyzyjniej jako dwuargumentowe działanie określone w zbiorze zdań, które zdaniom p, q przyporządkowuje zdanie p i q

    Historia: Architektura von Neumanna[ | edytuj kod]

     Osobny artykuł: Architektura von Neumanna.

    Matematyk John von Neumann zaproponował model ALU w 1945 roku, kiedy to sporządził spis założeń dla nowego komputera EDVAC (z ang. Electronic Discrete Variable Automatic Computer, czyli elektroniczny komputer maszynowy o zmiennych nieciągłych). Później w 1946 r. pracował ze swoimi kolegami nad stworzeniem komputera dla Princeton Institute of Advanced Studies (IAS). Komputer IAS stał się prototypem dla wielu późniejszych komputerów. W swoim projekcie von Neumann nakreślił, co według niego będzie niezbędne w komputerze uwzględniając ALU.

    Odejmowanie – jedno z czterech podstawowych działań arytmetycznych, działanie odwrotne do dodawania. Odejmowane obiekty to odpowiednio odjemna i odjemnik, wynik zaś nazywany jest różnicą.Procesor (ang. processor), także CPU (ang. Central Processing Unit) – urządzenie cyfrowe sekwencyjne, które pobiera dane z pamięci, interpretuje je i wykonuje jako rozkazy. Wykonuje on ciąg prostych operacji (rozkazów) wybranych ze zbioru operacji podstawowych określonych zazwyczaj przez producenta procesora jako lista rozkazów procesora.

    Von Neumann stwierdził, iż ALU jest niezbędna dla komputera, ponieważ pewnym jest, że komputer będzie musiał wykonywać podstawowe operacje matematyczne obejmujące dodawanie, odejmowanie, mnożenie oraz dzielenie. Dlatego też twierdził, że „rozsądnym jest, aby komputer mieścił w sobie wyspecjalizowane organy dla tych operacji”.

    EDVAC - Electronic Discrete Variable Automatic Computer. Maszyna zbudowana według pomysłu von Neumanna w kwietniu 1952 w Moore School of Engineering przy Uniwersytecie Pensylwanii na potrzeby armii USA. Stworzyli ją John Mauchly i J. Presper Eckert. Zainstalowana w Ballistic Research Laboratories w Aberdeen (stan Maryland) w roku 1949 kosztem ok. 500 000 dolarów (przy budżecie pięciokrotnie mniejszym).BCD (ang. Binary-Coded Decimal czyli dziesiętny zakodowany dwójkowo) – sposób zapisu liczb polegający na zakodowaniu kolejnych cyfr dziesiętnych liczby dwójkowo przy użyciu czterech bitów stosowany w elektronice i informatyce. Taki zapis pozwala na łatwą konwersję liczby do i z systemu dziesiętnego, jest jednak nadmiarowy (wykorzystuje tylko 10 czterobitowych układów z 16 możliwych).

    ALU vs. FPU[ | edytuj kod]

    Jednostka zmiennoprzecinkowa (z ang. Floating Point Unit) również wykonuje operacje arytmetyczne na dwóch wartościach, jednak są to liczby w reprezentacji zmiennoprzecinkowej, co jest znacznie bardziej skomplikowane niż wykonywanie operacji na liczbach w kodzie uzupełnienia do dwóch ZU2 używanej w typowej ALU. W celu wykonania takich kalkulacji, FPU posiada kilka wbudowanych, złożonych układów, takich jak wewnętrzne ALU. Zazwyczaj projektanci nazywają jednostkę ALU układem, który wykonuje operacje arytmetyczne w różnych formatach liczb całkowitych (np. ZU2 i BCD), podczas gdy układy dokonujące obliczeń na bardziej złożonych formatach np. zmiennoprzecinkowych, liczbach zespolonych itp. zwykle otrzymują bardziej szczegółowe nazwy.

    Mnożenie – działanie dwuargumentowe będące jednym z czterech podstawowych działań arytmetycznych. Mnożone elementy to czynniki (określane również jako mnożna i mnożnik), a jego wynik to iloczyn. Może być ono traktowane jako zapis wielokrotnego dodawania elementu do siebie.Bramka logiczna – element konstrukcyjny maszyn i mechanizmów (dziś zazwyczaj: układ scalony, choć podobne funkcje można zrealizować również za pomocą innych rozwiązań technicznych, np. hydrauliki czy pneumatyki), realizujący fizycznie pewną prostą funkcję logiczną, której argumenty (zmienne logiczne) oraz sama funkcja mogą przybierać jedną z dwóch wartości, np. 0 lub 1 (zob. algebra Boole’a).

    Zobacz też[ | edytuj kod]

  • FPU
  • procesor
  • komputer



  • w oparciu o Wikipedię (licencja GFDL, CC-BY-SA 3.0, autorzy, historia, edycja)

    Warto wiedzieć że... beta

    Architektura von Neumanna – pierwszy rodzaj architektury komputera, opracowanej przez Johna von Neumanna, Johna W. Mauchly’ego oraz Johna Presper Eckerta w 1945 roku. Cechą charakterystyczną tej architektury jest to, że dane przechowywane są wspólnie z instrukcjami, co sprawia, że są kodowane w ten sam sposób.
    Karta dźwiękowa (ang. sound card, audio card) – komputerowa karta rozszerzeń, umożliwiająca rejestrację, przetwarzanie i odtwarzanie dźwięku. Poprawnym jest też równie często stosowany termin karta muzyczna.
    Oprogramowanie (ang. software) – całość informacji w postaci zestawu instrukcji, zaimplementowanych interfejsów i zintegrowanych danych przeznaczonych dla komputera do realizacji wyznaczonych celów. Celem oprogramowania jest przetwarzanie danych w określonym przez twórcę zakresie. Oprogramowanie to dział informatyki. Oprogramowanie jest synonimem terminów program komputerowy oraz aplikacja, przy czym stosuje się go zazwyczaj do określania większych programów oraz ich zbiorów.
    Implementacja (wdrożenie, przystosowanie, realizacja, łac.ang. implementation) – w informatyce – proces przekształcania abstrakcyjnego opisu systemu lub programu na obiekt fizyczny: komputer lub działający program zapisany w konkretnym języku programowania; także obiekt fizyczny będący efektem takiego przekształcenia, np. implementacja systemu operacyjnego (wdrożenie systemu) lub kompilatora dla konkretnego typu komputera.

    Reklama

    Czas generowania strony: 0.013 sek.