Różnica między MIPS a ARM

MIPS vs ARM
 

Można zidentyfikować szereg różnic między MIPS i ARM, chociaż oba należą do tej samej rodziny zestawów instrukcji. W tym przypadku MIPS i ARM to dwie architektury zestawów instrukcji (ISA), które są dostępne w świecie mikroprocesorów. Zarówno ARM, jak i MIPS są oparte na technologii RISC (Reduced Instruction Set Computing) i są typu rejestr-rejestr. Oba zestawy instrukcji mają 32-bitowy / 64-bitowy stały rozmiar instrukcji (przestrzeń adresowa) i oba zestawy instrukcji mogą być skonfigurowane tak, aby były duże i małe. Obie architektury obsługują kompatybilność wsteczną. Architektury zarówno ARM, jak i MIPS są używane w procesorach smartfonów i tabletów, takich jak iPhone'y, tablety z Androidem i Windows RT, ale nie w komputerach z głównym strumieniem, takich jak laptopy i serwery.

Co to jest ARM?

Głównym projektantem ARM ISA jest ARM Holdings. Architektura ARM została wprowadzona w 1985 roku i zaprojektowana w oparciu o RISC. Ten ISA używa kodów warunkowych w rozgałęzieniu. Istnieje kilka architektur ARM, takich jak architektury 64/32 bitowe, architektury 32-bitowe (kora) i architektury 32-bitowe (starsze). ARM to najczęściej stosowana architektura zestawu instrukcji na świecie. Zestaw instrukcji uzbrojenia można podzielić na sześć ogólnych klas instrukcji, takich jak instrukcje rozgałęzienia, instrukcje przetwarzania danych, instrukcje ładowania i przechowywania, instrukcje koprocesora i instrukcje generowania wyjątków. Różne typy instrukcji ARM można zidentyfikować za pomocą kodu operacji i flag warunkowych. W ARM ISA istnieje 16 rejestrów ogólnego przeznaczenia o nazwach od R0 do R15 i każdy ma rozmiar 32 bitów. Rejestr R13 jest nazywany wskaźnikiem stosu (SP), R14 nazywany jest rejestrem linków (LR), a R15 nazywany jest licznikiem programów (PC). ARM ISA obsługuje wiele operacji arytmetycznych, takich jak dodawanie, odejmowanie i mnożenie. Rdzenie ARM mają 32-bitową szynę adresową, która zapewnia płaską liniową przestrzeń adresową 4 GB. Pamięć jest adresowana w bajtach i może być dostępna jako podwójne słowa (8 bajtów), słowa (4 bajty) lub pół słowa (2 bajty).

Architektury ARM są stosowane w smartfonach, tabletach PDA i innych urządzeniach mobilnych. Układy ARM są również używane w Raspberry Pi, BeagleBoard, PandaBoard i innych komputerach jednopłytkowych ze względu na ich małe zużycie energii, taniość i mniejszy kształt.

Co to jest MIPS?

MIPS został zaprojektowany i wprowadzony przez MIPS Technologies w 1981 roku. Ten ISA jest również oparty na architekturze zestawu instrukcji RISC i ma stały system kodowania. Rejestry warunkowe służą do rozgałęziania, a rozszerzenia MDMX, MIPS-3D. Istnieją trzy typy instrukcji MIPS, a są to R, I i J. Każda instrukcja zaczyna się od 6-bitowego kodu operacyjnego. W instrukcjach typu R są trzy rejestry, pole montażu z przesunięciem i pole funkcyjne. W instrukcjach typu I są dwa rejestry i 16-bitowa wartość natychmiastowa, natomiast instrukcje typu J podążają za kodem operacji z 26-bitowym celem skoku. MIPS ma 32 rejestry liczb całkowitych w celu wykonywania operacji arytmetycznych. Rejestr 0 $ zawiera 0, a rejestr 1 $ jest zwykle zarezerwowany dla asemblera.

Architektura MIPs jest wykorzystywana do tworzenia smartfonów, kolacji, systemów wbudowanych, takich jak routery, bramy domowe i konsole wideo, takie jak Sony PlayStations.

Jaka jest różnica między MIPS a ARM?

• MIPS i ARM to dwie różne architektury zestawów instrukcji w rodzinie zestawów instrukcji RISC.

• Chociaż oba zestawy instrukcji mają stały i taki sam rozmiar instrukcji, ARM ma tylko 16 rejestrów, podczas gdy MIPS ma 32 rejestry.

• ARM ma wysoką przepustowość i doskonałą wydajność niż MIPS, ponieważ procesory ARM obsługują 64-bitowe szyny danych między rdzeniem a pamięciami podręcznymi.

• Aby umożliwić efektywne przełączanie kontekstów, architektura MIPS obsługuje implementację wielu banków rejestrów. ARM zapewnia tylko rejestry ogólnego przeznaczenia dla operacji arytmetycznych i wszystkich innych funkcji, ale MIPS zapewnia dwa osobne rejestry do przechowywania wyników operacji mnożenia.

• MIPS nie ma instrukcji równoważnej instrukcji ARM MOV.

• Instrukcja MIPS ADD zwykle generuje wyjątek dotyczący przepełnienia, dlatego jest rzadko używany niż w ARM.

• Wszystkie instrukcje przetwarzania danych ARM domyślnie ustawiają kody warunków ALU, ale MIPS zapewnia SLT do porównania.

Streszczenie:

MIPS vs ARM

W świecie mikroprocesorów MIPS i ARM wykonują wspaniałą usługę w imieniu swoich architektur. MIPS jest implementowany głównie w systemach wbudowanych. Ale obecnie ARM stał się znacznie bardziej popularny w branży niż MIPS.

Obrazy dzięki uprzejmości: 

  1. Procesor ARM w drukarce Hewlett-Packard PSC-1315 firmy Socram8888 (CC BY 2.0)
  2. Widok od dołu opakowania R4700 firmy Dyl (CC BY-SA 3.0)