2010-04-14 13 views
22

Programowałem dla x86 & x86-64 w języku asemblerowym przez kilka miesięcy. Teraz chcę przejść do innego rodzaju procesorów.Procesory MIPS: czy są nadal używane? Jakiej innej architektury powinienem się uczyć?

MIPS, SPARC, PowerPC, Itanium, ARM z tych znalazłem ARM jest szeroko użytkowania. Ale książki, które widzę, to tutoriale, które uczą o MIPS bardziej niż o wszystkich innych architekturach.

Dlaczego MIPS jest tak popularny? Czy procesory MIPS są nadal używane? Którą architekturę powinienem wybrać?

Moje podłoże:

Jestem studentem w dziale elektroniki. Jestem też programistą wysokiego poziomu.

+0

Wciąż istnieje wiele tabletów z Androidem MIPS w dzisiejszych czasach –

+0

@ LưuVĩnhPhúc Przykład proszę? Googling dookoła Widzę, że jest on obsługiwany od 2009 roku, ale pierwszym rezultatem był komunikat prasowy o rozczarowującej sprzedaży. Z pewnością nigdy nie widziałem tego na wolności i jako programista Android założyłem, że natywny kod ARM nikogo nie zablokuje. – Potatoswatter

+0

@Potatoswatter: Przynajmniej kilka [nowość] (http://linuxgizmos.com/new-mips-warrior-processors-may-target-android/) kilka miesięcy temu http://liliputing.com/2013/ 01/ingenic-jz4780-to-a-dual-core-mips-cpu-dla-android-tablets.html, może być w innym wyniku Google z powodu regionu. Większość urządzeń MIPS to obecnie tanie tablety dla Chin i Indii, więc będziesz miał mniejszą szansę na obejrzenie jednego http://www.androidcentral.com/mips-announces-125-jelly-bean-tablet http://techcrunch.com/ 2011/12/05/99-chiński-tablet-is-mips-działa-uruchamia-android-4-0/ –

Odpowiedz

26

Cavium Networks i Raza MicroelectronicsBroadcom są dwa duże producentów chipów MIPS. Aby uzyskać więcej informacji, patrz MIPS Imagination Technologies' website.

Jedna rzecz, którą robi MIPS, a ARM nie jest 64-bitowa.

Aktualizacja z 2013 r .: Firma Broadcom nie wydaje się wprowadzać nowych produktów MIPS od 2006 r., A wydaje się, że Cavium przechodzi na wersję 64-bitową ARM v8. Imagination Technologies zakupiło MIPS pod koniec 2012 roku. (Jak na ironię, Apple, ich pierwszy klient, jako pierwszy wprowadził na rynek ARM v8.)

Pismo jest na ścianie dla MIPS.


MIPS jest najczystszym udanym RISC. PowerPC i (32-bit) ARM mają tak wiele dodatkowych instrukcji (nawet kilka trybów operacyjnych, w szczególności 32-bitowy ARM), które można nazwać prawie CISC. SPARC ma kilka dziwnych funkcji, a Itanium składa się wyłącznie z dziwnych funkcji. Te dwa ostatnie są bardziej martwe niż MIPS.

Tak więc, jeśli nauczysz się MIPS, będziesz w stanie przekazać 100% tej wiedzy innym RISC (przyznać lub odebrać automaty czasowe), ale wciąż musisz nauczyć się wielu dziwnych instrukcji na temat PPC, całej tonacji. o-junk na 32-bitowym ARM i zarejestruj okna na SPARC. Itanium nie jest RISC, więc trudno powiedzieć cokolwiek, poza tym nie uczy się Itanium.

Nie badałem jeszcze 64-bitowej architektury ARM, ale prawdopodobnie większość pozytywnych cech MIPS będzie miała charakter czysto projektowy.

+0

Istnieją inne archiwa z opcjami opóźnień (np. ARC, SuperH, SPARC itp.), Choć w wielu można kontrolować, jeśli chcesz, aby gniazdo lub nie.Ponadto, ponieważ edytujesz, powinieneś również naprawić część 64-bitową :) –

+1

Wyjaśnij downvote? Z radością dodam informacje, które są sprzeczne z aktualnie przedstawionym punktem, jeśli je posiadam. – Potatoswatter

+0

Świetna odpowiedź. Oznacza to również, że moja organizacja komputerowa i klasa projektu mogą być przydatne. BTW, mips robił 64bit przed ARM. MIPS chciało być na tyle aktualnym, aby można go było wykorzystać w praktyce, dlatego zainwestował w technologię, zanim ARM w ogóle nie była używana. – jaked122

3

To tylko spekulacja. Informacje są pobierane z Wikipedia article on MIPS.

  • MIPS powstało w środowisku akademickim (Stanford), a nie komercyjnym. Ludzie w takim środowisku znacznie częściej piszą podręczniki niż ludzie pracujący w firmie.
  • W latach 90. XX wieku MIPS uzyskał licencję. W połączeniu z przyzwoitą/dobrą wydajnością na jednego dolara w tym czasie, doprowadziło to do stosunkowo szerokiego zastosowania na rynku wbudowanym (ARM ma tę samą historię).

Udało mi się znaleźć graph udziału w rynku procesorów wbudowanych, ale to tylko procesory RISC w latach 90. Zwróć uwagę na dużą porcję, jaką jest MIPS. Podejrzewam, że ARM wypuściło MIPS z wody pod względem udziału w rynku, ale nie mam numerów.

+0

Naprawiałem to. Rzeczy z Auto Javascript są zepsute. –

1

Playstation 2 miał procesor MIPS. PS3 używa komórki, która wygląda jak wariant POWER, a XBox 360 również używa PowerPC.

ARM wydaje się być szczególnie popularny w urządzeniach mobilnych, a PowerPC jest wciąż ogromny w systemach wbudowanych, zwłaszcza w motoryzacji. Możesz nawet znaleźć sporadyczne M68k, jeśli spojrzysz na odpowiednie urządzenie.

MIPS jest prawdopodobnie popularny, ponieważ jest prawdziwą architekturą, ale nadal jest stosunkowo prosty. Jest to prawdopodobnie (jedna z?) Pierwsza nowoczesna architektura RISC. (Nawet I może to rozgryźć!)

To naprawdę zależy od tego, czego chcesz się nauczyć i dlaczego. Dla żartu? Aby zbudować urządzenie wbudowane? Aby napisać kompilator? Aby napisać swój własny kod zespołu? Aby rozciągnąć swój umysł?

8

Powodem że MIPS jest nauczany w szkołach, ponieważ jest to „klasyczny” Architektura RISC i DLX-like, który jest rodzajem architektury stosowany w biblii przez Hennessy & Patterson (Bóg-ojców nowoczesny RISC). Jest bardzo prosty do zrozumienia w swojej prostocie, a gdy już to zrobisz, przeniesienie się na inne architektury jest dość proste.

Jeśli chciałbyś się nauczyć konkretnych architektur, powiedziałbym, że jeśli nie chciałbyś zostać specjalistą od sprzętu, może to niewiele pomijać czynnik wiedzy. Większość kompilatorów usuwa wiele problemów ze sprzętem, chyba że trzeba napisać kod bardzo niskiego poziomu. Tak więc, PPC/SPARC/ARM/MIPS/cokolwiek nie będzie miało większego znaczenia dla 90% programistów.

+4

Nie zgadzam się trochę (za mało dla -1). Jest to, moim zdaniem, ** zawsze ** przydatne dla programistów, którzy mają wyczucie tego, co dzieje się pod maską, podczas gdy pracują nad szczegółami ich metaforycznych samochodów. ** Dowolny ** programista, którego spotykam, który nie może włączyć wyjścia assemblera swojego kompilatora (lub odpowiednika w przypadku rzeczy takich jak JVM lub Erlang VM itp.) I półprawnie przeczytać, co się dzieje, nie jest programista, z którym chcę pracować lub pracować pod moją kontrolą. (Lub nade mną, o to chodzi.) –

+3

Mówimy o podobnym, ale nie tym samym - wiedząc, że język asemblerowy nie jest równy znajomości architektury sprzętowej (potoki, architektury pamięci podręcznej, specjalne jednostki funkcyjne ...). Zgadzam się z tobą, że dobry programista musi mieć praktyczną wiedzę na temat tego, co jest pod maską, po prostu nie sądzę, że muszą znać wszystkie nakrętki i śruby w silniku. – sybreon

7

Jeśli masz doświadczenie w świecie x86 (-64), to tak, przejście do procesora RISC to dobry ruch na boki, aby utrzymać umysł w spokoju. Twoje pytania są dobre.

Odbieranie drugiego pytania: tak, procesory MIPS są nadal używane. Często są to procesory używane w takich routerach i innych małych urządzeniach komputerowych. Coraz częściej pojawiają się również w małych domowych urządzeniach komputerowych na azjatyckich rynkach (na przykład Lemote). To, co przynoszą na stół dzięki ARM, to konkurencyjny stosunek ceny do wydajności oraz możliwości 64-bitowe. To, co ARM wprowadza w MIPS, to znacznie lepszy stosunek mocy do wydajności, jeśli pamięć jest obsługiwana, i bardziej elastyczny zestaw opcji w budowie rdzeni. SPARC jest bardzo drogi, ale uczciwie, bardzo szybko. Nie wiem wystarczająco dużo o innych wspomnianych architekturach, aby przedstawić użyteczny komentarz. (No, z wyjątkiem Itanium, który jest w zasadzie martwym technikiem, który nie jest RISC ani CISC.)

Odpowiadając teraz na twoje pierwsze pytanie: powód, dla którego MIPS tak wyraźnie prezentuje się w książkach, jest niemal perfekcyjnym przykładem systemu RISC. Jest to niewielka, stosunkowo czysta implementacja RISC, którą można łatwo zrozumieć i która dobrze ilustruje koncepcje RISC. Dla celów pedagogicznych jest to prawdopodobnie najlepsza architektura realistyczna, która pokazuje naturę RISC wraz z jej brodawkami. Inne procesory uważane za RISC (ARM, SPARC, Alpha, itp.) Są bardziej pragmatyczne i skomplikowane, zaciemniając koncepcje RISC z kilkoma dodatkami podobnymi do CISC w celu zwiększenia wydajności lub innych korzyści.

Na koniec, aby odpowiedzieć na twoje ostatnie pytanie: Polecam naukę MIPS z tego samego powodu, dla którego polecam ludzi uczących się OOP odbierającego Eiffla, ludzie uczący się funkcjonalnie podnoszą Haskella i tak dalej. MIPS jest najczystszą implementacją pojęć RISC, która jest używana w rzeczywistym świecie, a ty będziesz zmuszony walczyć ze sposobem myślenia RISC i tylko sposobem myślenia RISC (w przeważającej części) podczas rozwiązywania swoich problemów z nim.To przygotuje twój umysł do podejścia RISC i ułatwi ci szybkie pobranie ARM (mojej zalecanej drugiej) lub SPARC lub jakiejkolwiek innej architektury RISC tam, nawet jeśli nigdy nie używałeś MIPS bezpośrednio. (Chociaż, jak już zauważyłem, może i tak skończyć konkurowanie z MIPS.)

1

Procesor MIPS jest nauczany jako "podstawowy" procesor architektury RISC, ponieważ był jednym z pierwszych bardzo udanych procesorów RISC. SGI miało kilka systemów komputerowych zbudowanych na tej rodzinie procesorów, takich jak Onyx i kilka innych. Był również wykorzystywany w kilku komputerach MPP (Massively Parallel Processor) w połowie/później 1980 r. Do późnych lat dziewięćdziesiątych.

Jak już wcześniej wspomniano, kod był łatwy do nauczenia, a po jego nauce łatwo było przejść do bardziej złożonych procesorów opartych na instrukcjach RISC, takich jak Alpha, SPARC, ARM, IBM Power PC. kilka. Warto wspomnieć, że HP wyprodukował także procesor RISC w latach 80-tych, który zasilił niektóre z ich komercyjnych systemów komputerowych.

Procesor MIPS jest nadal obecny, klasa MIPS64 I, oparta na procesorze MIPS-V, jest najnowszą wersją procesora, o której wiem; wyprodukowany przez Imagination Technologies. Z mojego rozumowania, to i nowe procesory MIPS, takie jak R14K i R16K, bazują na architekturze R10K.

W młodości miałem fortunę do pracy na 16 procesorze SGI Onyx Reality Engine II z ulepszonymi procesorami MIPS R10k. Pracując głównie w 32-bitowych systemach CISC UNIX SVR4, byłem zszokowany, że większość poleceń była dokładnie taka sama. Zajęło mi kilka dni, aby nauczyć się różnic w kodowaniu, przechodząc od CISC do RISC, ale potem było bardzo łatwo !!!

0

Chciałbym dodać, że dziś zobaczycie chińskie firmy używające MIPS, w tym w szczególności Ingenic Semiconductor, które skierowane są na rynki konsumenckie, oraz Loongson Technology, które zajmuje się produktami konsumenckimi i superkomputerami.

Powiązane problemy