Różnice między ARM i Intel x86-64
Ponieważ chipy ARM są teraz wszechobecne w wydajnych laptopach i serwerach brzegowych, zasadne jest pytanie, czy te nowe urządzenia są warte Twojego kolejnego zakupu. Czas zrozumieć różnice techniczne między procesorami ARM a bardziej muskularnymi poprzednikami x86-64, które wcześniej bez przeszkód rządziły rynkiem chipów.
Co właściwie oznacza x86-64?
Procesory Intel stosowane w komputerach stacjonarnych i laptopach są czasami określane jako procesory „x86”. 64-bitowa architektura, z której korzystają wszystkie współczesne komputery, opiera się na modelu x86, który jest obecnie określany jako „x86-64”.
Brzmi to trochę zagmatwanie, ale pomaga zrozumieć, dlaczego w systemie Windows istnieją dwa różne foldery Program Files .
Aby uprościć sprawę, wszystkie aplikacje 32-bitowe trafiają do folderu x86, a 64-bitowe do innego folderu. Jest to konwencja, odkąd Microsoft wydał 64-bitową wersję Windows XP w 2001 roku.
Żeby nieco uprościć sprawę, będziemy odnosić się do „x86-64” jako do „x86”, ponieważ istnieje wystarczająco dużo podobieństw między układami 32-bitowymi i 64-bitowymi, aby można je było razem zgrupować.
Etykieta „x86” pochodzi od praojca współczesnego przetwarzania, mikroprocesora stworzonego przez firmę Intel o nazwie 8086. Ten 16-bitowy układ działał zgodnie z zestawem instrukcji, który w dużej mierze jest nadal używany przez współczesne procesory do wykonywania zaawansowanych zadań obliczeniowych.
Wszystko, od edytora tekstu po zaawansowane oprogramowanie do renderowania wideo, nadal może działać w oparciu o architekturę, która narodziła się w 1978 roku!
Od czasu wydania mikroprocesora 8086 firma Intel kontynuowała stosowanie konwencji nazewnictwa dla przyszłych modeli, takich jak 80286 i 80386, aż do zerwania z tradycją poprzez wypuszczenie serii Pentium. Niemniej jednak nadal oddajemy hołd tym starym układom, kategoryzując wszystkie kolejne procesory, które używają jego zestawu instrukcji, jako „x86”.
Nawet nowocześniejsze procesory 64-bitowe, które firma AMD po raz pierwszy wypuściła w latach 2000. w serii Opteron, noszą to samo oznaczenie, ponieważ zdecydowana większość procesorów 64-bitowych w komputerach stacjonarnych i serwerach nadal opiera się na filarze skromnego obecnie układu 8086.
Zestawy instrukcji
Cała funkcjonalność procesora opiera się na tym, co nazywa się zestawem instrukcji. Jest to sztywny zestaw podstawowych operacji, które chip może wykonać. Każda instrukcja mówi chipowi, aby wykonywał takie czynności, jak podstawowe obliczenia matematyczne i przesuwał dane. Na dole każdego bitu kodu w każdym programie, który uruchamiasz na swoim komputerze, znajduje się warstwa, która komunikuje się z procesorem. Ta warstwa używa również własnego kodu znanego jako język asemblera, który tłumaczy jeden krok dalej w dół na podstawowe instrukcje, które są często nazywane kodem maszynowym lub językiem maszynowym.
Tutaj dochodzimy do sedna różnicy pomiędzy procesorami ARM i x86.
Chipy x86 wykorzystują złożone obliczenia zestawu instrukcji (CISC) , podczas gdy chipy ARM wykorzystują zredukowane obliczenia zestawu instrukcji (RISC) . Podczas gdy chipy CISC próbują włożyć więcej „pracy” w jedną instrukcję, poświęcając cykle zegara na wykonanie tego zadania, chipy RISC mają (jak sama nazwa wskazuje) znacznie mniejszy zestaw instrukcji, który rozbija wszystko na prostsze kroki, które można wykonać w jednym cyklu zegara.
CISC vs. RYZYKO
Jeśli układ CISC musi pomnożyć dwie liczby, może uruchomić jedno polecenie: MULT 2, 3
. To jedno polecenie obejmie załadowanie liczb z pamięci, pomnożenie ich razem i zapisanie wyniku w odpowiedniej lokalizacji pamięci. Układ RISC wykonujący tę samą operację wymagałby znacznie więcej kroków. Najpierw instrukcja LOAD
przeniesienia liczb z rejestratorów do jednostki wykonawczej. Następnie PROD
instrukcja pomnożenia liczb. Na koniec STOR
instrukcja umieszczenia wyniku w odpowiednim rejestrze.
Mimo że układ CISC może wydawać się bardziej wydajny ze względu na prostsze polecenia, należy pamiętać o kilku ważnych różnicach:
- Po pierwsze, układy CISC wykonują polecenia w wielu cyklach zegara, podczas gdy każda instrukcja w układzie RISC jest wykonywana w jednym cyklu zegara. Z tego powodu nasze hipotetyczne
MULT
polecenie mogłoby zostać wykonane w takiej samej liczbie cykli, jak zestaw instrukcji RISC wykonujących to samo zadanie. - Po drugie, wszystkie instrukcje i logika CISC muszą być przechowywane w tranzystorach. Chipy RISC mogą używać mniej tranzystorów, ponieważ muszą przechowywać mniej instrukcji.
- Po trzecie, mniejsza liczba tranzystorów wymagana w architekturze RISC pozwala na mniejsze zużycie energii.
CISC ma pewne zalety. Po pierwsze, komputer nie musi wykonywać wiele pracy, aby przekonwertować język programowania na poziomie ludzkim, taki jak C, na język asemblera na poziomie procesora. W rzeczywistości polecenie MULT
wymienione powyżej jest bardzo podobne do polecenia foo = foo * bar
C.
Chipy RISC wymagają od kompilatora wykonania znacznie większej ilości pracy, aby kod został przeniesiony do języka asemblera. Chipy CISC mogą również wykonywać swoje operacje bezpośrednio w pamięci systemowej, podczas gdy chipy RISC muszą pobierać dane z pamięci do rejestrów procesora przed rozpoczęciem pracy z nimi.
W bezpośrednim konkursie wydajności między tymi dwoma, jeśli chodzi o konsumentów, nie ma wyraźnego zwycięzcy. Jednak RISC ma jeszcze jednego asa w rękawie, aby naprawdę uzyskać przewagę nad CISC.
Pobór energii
Między CISC a RISC nie ma absolutnie żadnej konkurencji, jeśli chodzi o zużycie energii. RISC zdecydowanie wygrywa w tej kwestii. Zmniejszony zestaw instrukcji zapewnia mniejszy rozmiar płytki, dzięki czemu chip jest mniejszy, a zatem mniej energochłonny.
Mniejsze układy scalone z mniejszą liczbą mikroskopijnych komponentów mają również mniejszy opór elektryczny i nie wymagają tak dużej mocy do działania. Najlepszym przykładem jest sprawdzona technologia smartfona, urządzenia „komputerowego-lekkiego”, które ma ogromną wydajność jak na swoje stosunkowo niewielkie rozmiary, a mimo to w wielu przypadkach udaje mu się przetrwać ponad 24 godziny na stosunkowo małej baterii.
To powiedziawszy, nie oznacza to, że wszystkie komputery zaczną używać układów ARM w celu zmniejszenia zużycia energii. Na rynku komputerów stacjonarnych, gdzie system zazwyczaj polega na bezpośrednim połączeniu z gniazdem ściennym, a nie na baterii, wydajność energetyczna nie jest aż tak ogromnym priorytetem. Układy CISC nadal działają niesamowicie w takich sytuacjach i nie ma żadnych oznak, że to się zmieni w najbliższym czasie, naprawdę.
Czy powinienem kupić system ARM czy x86?
Jednak wszystko sprowadza się do jednego bardzo prostego pytania: Czy próbujesz wycisnąć każdą cząstkę wydajności na watogodzinę mocy dostarczanej przez baterię? Czy też jesteś bardziej skłonny do wypychania jak największej wydajności surowej przez urządzenie kosztem żywotności baterii?
W przypadku większości przypadków użycia, dla których ktoś kupiłby system, decyzja jest prosta. Na koniec po prostu upewnij się, że nie zapomnisz zabrać ze sobą kabla do ładowania!
Źródło zdjęcia: Inżynier w sterylnym kombinezonie trzyma mikrochip autorstwa DepositPhotos
Dodaj komentarz