Architektura 32-bitowa to w skrócie architektura systemu przetwarzania danych komputera oparta na jednostkach informacji wielkości 32 bitów. Oznacza to, że procesor przetwarza dane w dokładnie takich porcjach. Jednak w transferach zewnętrznych (np. do pamięci operacyjnej) często wykorzystuje się szersze lub węższe zakresy, np. procesory klasy Pentium Pro lub wyższej mają zewnętrzną szynę danych szeroką na 64 bity, natomiast procesory i386SX miały zewnętrzną szynę danych tylko 16-bitową.
W odniesieniu do możliwości adresowania pamięci, 32 bity określają ilość możliwych do zaadresowania komórek. Istnieje 232 wariacji 32-bitowego adresu, czyli bezpośrednio można adresować 4 294 967 296 (4 GB) komórek
Jest to ogromny postęp w stosunku do architektury 16-bitowej (w architekturze 16 bitowej było to 1 048 576 komórek czyli 1MB). Nie oznacza to jednak absolutnego ograniczenia możliwości adresowych procesora 32-bitowego - możliwe jest zwiększenie przestrzeni adresowej np. przez zastosowanie segmentacji lub wirtualizacji pamięci. Następcą architektury 32-bitowej jest architektura 64-bitowa, gdzie możemy jednocześnie adresować ogromną liczbe komórek (18 446 744 073 709 551 616 co odpowiada 16 Egsabajtom).
ARCHITEKTURA 32-BITOWA W PROCESORACH
Pierwszym procesorem 32-bitowym był BELLMAC-32A zaprojektowany przez AT&T Bell Labs w roku 1980.
W komputerach produkowanych przez firmę Apple procesory 32-bitowe pojawiły sie wraz z komputerami Lisa iMacintosh na początku lat '80.
W komputerach biurowych klasy PC natomiast, architektura 32-bitowa jest używana od czasów procesora i386 - bazują na niej niemal wszystkie stosowane obecnie w tych komputerach procesory. Do najnowszej generacji procesorów 32-bitowych używanych w komputerach PC, zaliczyć można AMD Athlon XP oraz Intel Pentium 4. Coraz szersze pole w komputerach PC zajmują jednak procesory 64-bitowe takie jak AMD Athlon 64 lub AMD Opteron.
Procesory wykonane w architekturze 32-bitowej:
• Intel : seria x86-32 (od 80386 aż do Pentium 4), i960,
• AMD : procesory zgodne z x86 (w tym m. in. 5x86, K5, K6, aż do Athlona znanego także jako AMD K7) oraz rodzina 29k,
• ARM - różni producenci, w tym Intel StrongARM, Samsung S3C, Atmel AT91, Phillips LPC21xx,
• TI (Sun Microsystems) : SuperSPARC,
• HP : rodzina PA-RISC do PA7000 włącznie,
• Fujitsu : SPARC32,
• Motorola : rodzina 68k.
SYSTEMY WYKONANE W ARCHITEKTURZE 32-BITOWEJ
Linia systemów operacyjnych z rodziny Windows wykonanych w architekturze 32-bitowej była opracowywana i sprzedawana pod kątem klientów korporacyjnych, żądających zwiększonej stabilności systemu i dzięki swemu pochodzeniu (odseparowaniu od linii MS-DOS) nie była obarczona ograniczeniami tekstowego systemu operacyjnego. Pierwszym systemem tej linii był Windows NT 3.1, który zadebiutował w roku 1993 – numer wersji 3.1 pozostawiono, by zrównać numerację z wcześniej oferowanymi środowiskami operacyjnymi i by "przebić" numerację systemu OS/2 – głównego konkurenta systemu Windows NT (wówczas istniejącego w wersji 2.1), flagowego produktu firmy IBM, w którego powstaniu uczestniczył również Microsoft. Kolejne wersje systemu NT to 3.5 (rok 1994), 3.51 (1995) i 4.0 (1996). Ostatnia z wymienionych wersji wyglądem przypominała Windows 95, przejmując jego interfejs użytkownika. Późniejsze działanieMicrosoftu podążały w kierunku połączenia linii systemów operacyjnych dla klientów indywidualnych i korporacyjnych. Pierwsza próba, którą był Windows 2000, nie spełniła oczekiwań obydwu grup, została więc przeznaczona dla zastosowań firmowych.
Prace nad domowym odpowiednikiem Windows 2000, roboczo ochrzczonym "Windows Neptune" zostały wstrzymane, a w jego miejscu pojawił się Windows Me. Osiągnięcia "Neptune" zostały włączone do nowego projektu o nazwie "Whistler", który po zakończeniu stał się systemem operacyjnym Windows XP. Rozszerzeniem linii wysokiej klasy 32-bitowych systemów operacyjnych dla biznesu był Windows Server 2003. Przedostatnim systemem z linii 32-bitowej jest Windows Vista. Ostatnim na liście systemem 32-bitowym jest Windows CE, zaprojektowany dla rozwiązań przenośnych i aplikacji zagnieżdżonych i oferujący szereg usług dla działających w jego środowisku stanowisk roboczych.
RÓŻNICE MIĘDZY SYSTEMAMI 32-BITOWYMI I 64-BITOWYMI
Terminy 32-bitowa i 64-bitowa odnoszą się do sposobu przetwarzania informacji przez procesor komputera (nazywany także CPU). 32-bitowe i 64-bitowe wersje systemuWindows są przeznaczone do użytku na komputerach odpowiednio z procesorami 32-bitowymi i 64-bitowymi.
64-bitowe wersje systemu Windows mogą korzystać z większej ilości pamięci niż 32-bitowe wersje tego systemu. Pomaga to skrócić czas poświęcany na wymianę procesów w pamięci, ponieważ ich część jest przechowywana w pamięci RAM, a nie na dysku twardym. To natomiast pozwala na zwiększenie ogólnej wydajności programów.
Inne różnice na przykładzie Visty
Architektura | Windows Vista, wersje 32-bitowe | Windows Vista, wersje 64-bitowe |
---|---|---|
Wymagania systemowe | Procesor 1 gigaherc (GHz) 32-bitowy (x86) lub 64-bitowy (x64), 512 MB pamięci RAM | Procesor 1 gigaherc (GHz) 64-bitowy, 1 GB pamięci RAM (zalecane 4 GB) |
Dostęp do pamięci | 32-bitowa wersja systemu może uzyskać dostęp do maksymalnie 4 GB pamięci RAM. | 64-bitowa wersja systemu może uzyskać dostęp do od 1 GB do ponad 128 GB pamięci RAM. |
Dostęp do pamięci ze względu na wersję | Wszystkie 32-bitowe wersje systemu Windows Vista mogą uzyskać dostęp do maksymalnie 4 GB pamięci RAM | Windows Vista Home Basic — 8 GB pamięci RAM Windows Vista Home Premium – 16 GB pamięci RAM Windows Vista Business – 128 GB pamięci RAM lub więcej Windows Vista Enterprise – 128 GB pamięci RAM lub więcej Windows Vista Ultimate – 128 GB pamięci RAM lub więcej |
Podpisywanie sterowników | W wersjach 32-bitowych systemu Windows Vista można używać niepodpisanych sterowników. | 64-bitowe wersje systemu Windows Vista wymagają, aby wszystkie sterowniki urządzeń były cyfrowo podpisane przez dewelopera. |
Obsługa sterowników 32-bitowych | 32-bitowe wersje systemu Windows Vista obsługują 32-bitowe sterowniki zaprojektowane dla systemu Windows Vista. | 64-bitowe wersje systemu Windows Vista nie obsługują 32-bitowych sterowników urządzeń. |
Obsługa programów 16-bitowych | 32-bitowe wersje systemu Windows Vista obsługują programy 16-bitowe częściowo. | 64-bitowe wersje systemu Windows Vista nie obsługują programów 16-bitowych. |
Czy można uruchamiać programy 32-bitowe na komputerze 64-bitowym? |
---|
Wiele programów przeznaczonych dla komputera z 32-bitową wersją systemuWindows będzie działać na komputerze z 64-bitowymi wersjami systemu Windows bez wprowadzania żadnych zmian. W niektórych przypadkach mogą jednak wystąpić różnice w wydajności. Jeśli program 32-bitowy korzysta ze sterowników osadzonych, mogą one nie działać w środowisku 64-bitowym. W przypadku korzystania z komputera 64-bitowego najlepiej uruchamiać programy przeznaczone do działania na komputerze 64-bitowym.
Problem roku 2038 – wada oprogramowania uniksowego, wymagającego informacji o bieżącym czasie, która może się ujawnić 19 stycznia 2038.
Źródło problemu leży w sposobie zliczania czasu przez Unix – służy do tego 32-bitowa zmienna typu całkowitego zawierająca liczbę sekund, które upłynęły od rozpoczęcia tzw. ery uniksa, czyli od 1 stycznia 1970, godz. 0:00. Maksymalna wartość wspomnianej zmiennej wynosi 2 147 483 647, co odpowiada godzinie 03:14:07 UTC, 19 stycznia 2038. W następnej sekundzie stan licznika sekund stanie się ujemny – nastąpi przeskok do najmniejszej wartości ujemnej (-2 147 483 648). Wyświetli się wtedy data 13 grudnia 1901 godz. 20:45:52. Może to spowodować poważne błędy w obliczaniu upływu czasu.
Problem 2038 wydaje się o wiele groźniejszy od pluskwy milenijnej z 2000, a także trudniejszy do uniknięcia. Zapobiec mu może przejście na 64-bitową reprezentację czasu (typ time_t), dla której analogiczny problem pojawi się dopiero w roku 292 277 026 596, czyli za około 292 miliardy lat – dla porównania wiek Ziemi szacuje się na 4,5 miliarda lat. Zmiana taka jest już powoli dokonywana[1] i należy się spodziewać, że zostanie zakończona przed rokiem 2038.
Największym problemem wydaje się nie tyle zmiana samych systemów uniksowych, lecz zmiany potrzebne w oprogramowaniu, które z różnych względów polegało na 32-bitowym rozmiarze zmiennej zawierającej czas. Oprogramowanie takie spotykane jest na przykład w systemach bankowych i ubezpieczeniowych