przetwarzanie 32-bitowe - 32-bit computing

architekturze komputera , 32-bitowymi liczbami całkowitymi , adresy pamięci , lub innych danych jednostki są te, które są 32 bity (4 octets ) szerokości. Ponadto 32-bitowe architektury procesorów i jednostek ALU to te, które są oparte na rejestrach , magistralach adresowych lub magistralach danych tej wielkości. Mikrokomputery 32-bitowe to komputery, w których mikroprocesory 32-bitowe są normą.

Zakres do przechowywania liczb całkowitych

Rejestr 32-bitowy może przechowywać 2 32 różne wartości. Zakres od całkowitych wartości, które mogą być przechowywane w 32 bitów w zależności od reprezentacji całkowitej używany. W przypadku dwóch najczęstszych reprezentacji zakres wynosi od 0 do 4 294 967 295 (2 32 - 1) dla reprezentacji jako liczby binarnej ( bez znaku ) oraz od -2 147 483 648 (-2 31 ) do 2 147 483 647 (2 31 - 1) dla reprezentacji jako uzupełnienie do dwójki .

Jednym ważnym wynikiem jest to, że procesor 32-bitowe adresy pamięci, bezpośredniego dostępu do co najwyżej 4  GiB z bajtów adresowalnych pamięci (choć w praktyce granica może być niższa).

Historia techniczna

Pierwszy na świecie elektroniczny komputer z pamięcią programu, Manchester Baby , używał w 1948 roku architektury 32-bitowej, chociaż był to tylko dowód koncepcji i miał niewielką praktyczną pojemność. Zawierała tylko 32 32-bitowe słowa pamięci RAM na lampie Williamsa i nie miała operacji dodawania, a jedynie odejmowania.

Pamięć, podobnie jak inne obwody i okablowanie cyfrowe , była droga w pierwszych dekadach architektur 32-bitowych (lata 60. do 80. XX wieku). Starsze rodziny procesorów 32-bitowych (lub ich prostsze, tańsze warianty) mogą zatem mieć wiele kompromisów i ograniczeń w celu obniżenia kosztów. Może to być na przykład 16-bitowa jednostka ALU lub zewnętrzne (lub wewnętrzne) magistrale węższe niż 32 bity, ograniczające rozmiar pamięci lub wymagające większej liczby cykli pobierania, wykonywania lub odpisywania instrukcji.

Mimo to takie procesory mogą być oznaczone jako 32-bitowe , ponieważ nadal mają 32-bitowe rejestry i instrukcje zdolne do manipulowania 32-bitowymi wielkościami. Na przykład IBM System/360 Model 30 miał 8-bitową ALU, 8-bitową wewnętrzną ścieżkę danych i 8-bitową ścieżkę do pamięci, a oryginalna Motorola 68000 miała 16-bitową ALU danych i 16-bitową zewnętrzna magistrala danych, ale miała 32-bitowe rejestry i 32-bitowy zestaw instrukcji. Projekt 68000 był czasami określany jako 16/32-bit .

Jednak w przypadku nowszych projektów 32-bitowych często jest odwrotnie. Na przykład procesor Pentium Pro jest maszyną 32-bitową, z 32-bitowymi rejestrami i instrukcjami, które manipulują wielkościami 32-bitowymi, ale zewnętrzna magistrala adresowa ma szerokość 36 bitów, co daje większą przestrzeń adresową niż 4 GB, a zewnętrzna magistrala danych ma szerokość 64 bitów, głównie w celu umożliwienia bardziej wydajnego wstępnego pobierania instrukcji i danych.

Architektury

Wybitne 32-bitowe architektury zestawów instrukcji używane w obliczeniach ogólnego przeznaczenia obejmują IBM System/360 i IBM System/370 (które miały adresowanie 24-bitowe ) oraz System/370-XA , ESA/370 i ESA/390 (które miał adresowanie 31-bitowe ), DEC VAX , NS320xx , rodzinę Motorola 68000 (pierwsze dwa modele miały adresowanie 24-bitowe), 32-bitową wersję architektury x86 Intel IA-32 i 32-bitową. bitowe wersje architektur ARM , SPARC , MIPS , PowerPC i PA-RISC . 32-bitowe architektury zestawu instrukcji używane do obliczeń wbudowanych obejmują rodzinę 68000 oraz architektury ColdFire , x86, ARM, MIPS, PowerPC i Infineon TriCore .

Aplikacje

W architekturze x86 aplikacja 32-bitowa zwykle oznacza oprogramowanie, które zazwyczaj (niekoniecznie) wykorzystuje 32-bitową liniową przestrzeń adresową (lub płaski model pamięci ) możliwą w układach 80386 i nowszych. W tym kontekście termin powstał, ponieważ DOS , Microsoft Windows i OS/2 zostały pierwotnie napisane dla 16-bitowych mikroprocesorów 8088/8086 lub 80286 , z podzieloną na segmenty przestrzenią adresową, w której programy musiały przełączać się między segmentami, aby osiągnąć więcej niż 64 kilobajty. z kodu lub danych. Ponieważ jest to dość czasochłonne w porównaniu z innymi operacjami maszyny, może ucierpieć wydajność. Ponadto programowanie z segmentami staje się skomplikowane; specjalne słowa kluczowe dalekiego i bliskiego lub modele pamięci musiały być używane (ostrożnie), nie tylko w asemblerze, ale także w językach wysokiego poziomu, takich jak Pascal , skompilowany BASIC , Fortran , C , itp.

80386 i jego następcy w pełni obsługują 16-bitowe segmenty 80286, ale także segmenty dla 32-bitowych przesunięć adresu (przy użyciu nowej 32-bitowej szerokości rejestrów głównych). Jeśli adres bazowy wszystkich 32-bitowych segmentów jest ustawiony na 0, a rejestry segmentowe nie są używane jawnie, segmentacja może zostać zapomniana i procesor wydaje się mieć prostą liniową 32-bitową przestrzeń adresową. Systemy operacyjne takie jak Windows czy OS/2 dają możliwość uruchamiania programów 16-bitowych (segmentowanych) jak i 32-bitowych. Pierwsza możliwość istnieje dla kompatybilności wstecznej, a druga jest zwykle przeznaczona do tworzenia nowego oprogramowania .

Obrazy

W cyfrowych obrazach/obrazach 32-bitowy zwykle odnosi się do przestrzeni kolorów RGBA ; czyli 24-bitowe obrazy truecolor z dodatkowym 8-bitowym kanałem alfa . Inne formaty obrazu również określają 32 bity na piksel, takie jak RGBE .

W obrazach cyfrowych 32-bitowy czasami odnosi się do formatów obrazowania o wysokim zakresie dynamiki (HDR), które wykorzystują 32 bity na kanał, łącznie 96 bitów na piksel. Obrazy 32-bitowe na kanał są używane do reprezentowania wartości jaśniejszych niż pozwala na to przestrzeń kolorów sRGB (jaśniejsze niż biel); wartości te można następnie wykorzystać do dokładniejszego zachowania jasnych świateł, gdy obniżana jest ekspozycja obrazu lub gdy jest widziany przez ciemny filtr lub przytłumione odbicie.

Na przykład odbicie w plamie oleju to tylko ułamek tego, co widać na powierzchni lustra. Zdjęcia HDR pozwalają na odzwierciedlenie świateł, które nadal mogą być postrzegane jako jasne białe obszary zamiast matowych szarych kształtów.

Formaty plików

32-bitowy format pliku to binarny format pliku , dla którego każda elementarna informacja jest zdefiniowana na 32 bitach (lub 4 bajtach ). Przykładem takiego formatu jest Enhanced Metafile Format .

Zobacz też

Bibliografia

Zewnętrzne linki