MIPS - Действительно ли это важно?

26
задан Ilya 9 January 2012 в 01:11
поделиться

7 ответов

Полезно понять очень низкие уровни компьютера. Например, существуют разработчики, которые скажут, что ЦП выполняет своего рода "новую объектную" инструкцию. Нет, конечно, никакой такой инструкции, управление объектами происходит несколько слоев абстракции выше. Хорошо понять различие, таким образом, можно понять, почему создание объекта могло бы быть дорогим (или не) или почему защищенные пробелы адресов могут сделать систему более устойчивой.

, Когда я был в школе, курс блока велся на универсальном компьютере типа IBM с помощью Системной/360 системы команд. Я никогда не имею ни в какой точке в моей карьере, приезжайте, в какой-либо степени работая над такой машиной, но знанием того, на что похож ЦП, было ценно.

В наше время я работаю над встроенными системами с помощью процессоров MIPS. Я на самом деле провожу разумное количество времени, детально изучающее протоколы ассемблирования MIPS, и пишу некоторый блок MIPS для векторов начальной загрузки и примитивов синхронизации. Все же, даже если Вы никогда на самом деле пишете что-нибудь в блоке, понимая, что операция ЦП все еще ценна.

9
ответ дан DGentry 28 November 2019 в 06:31
поделиться

Однажды (в 90-х) полученные из MIPS процессоры были наиболее продаваемыми процессорами в мире, затмевая продажи процессоров Intel x86. Это было из-за их огромного присутствия на встроенном рынке. Я думаю теперь, что основанные на ARM процессоры, возможно, приняли тот заголовок, но существуют все еще тонны встроенных систем там с помощью MIPS.

, Даже если Вы никогда не программируете MIPS, вносят ассемблер в Вашей карьере, ассемблер может быть полезным для изучения. Это может помочь Вам записать более эффективный код высокого уровня, если у Вас есть некоторая идея того, что компилятор собирается испустить. Другие области, где это все еще используется, включают компиляторы (пишущий Ваше собственное), драйверы устройств и программирование мультимедиа (где код, требующий MMX или SSE, обычно все еще пишется вручную в ассемблере).

Каждый тип ЦП имеет различную систему команд, но существует достаточно общности, которую, как только Вы учите один диалект блока (MIPS в Вашем случае) другие должны быть легки взять.

34
ответ дан sk. 28 November 2019 в 06:31
поделиться

"Языком программирования миллиона операций в секунду" я предполагаю, что Вы имеете в виду Ассемблер MIPS.

Изучение ассемблера выгодно для знания, оно помогает Вам отобразить код, который Вы пишете в то, как оно будет работать на аппаратных средствах. Это может помочь подвергнуть Вас большему количеству низкоуровневых проблем как неудачные обращения в кэш, ветвление, выполнение с изменением последовательности и другие вещи, Вы не думали бы о записи кода высокого уровня.

Погода, изучающая блок MIPS, полезна для Вас, зависит, на какой карьере Вы планируете следовать. Лично я думаю x86/x64 (популярный в ПК, непосредственно применимых, если Вы пишете C++ или C# на ПК), PPC (завоевывание популярность, используемое в игровых приставках, и также представляет Вас RISC), или ARM (используемый в большом количестве встроенных устройств, таких как мобильные телефоны) мог бы быть лучшим выбором учиться.

4
ответ дан redwyre 28 November 2019 в 06:31
поделиться

Я взял миллион операций в секунду выполнения класса блока приблизительно два года назад. Я писал игры Усовершенствования GameBoy на подобном миллиону операций в секунду asm языке. Не может сказать, что я наслаждался им.

, Хотя я думаю, что хорошо иметь понимание о внутренних работах собранного кода (от высокого уровня до низкого уровня). Я чувствую, что это заставило меня понять больше о том, как компьютер на самом деле работает. Кроме того, я не мог сопротивляться созданию нескольких виртуальных машин вскоре после, разрабатывая мой собственный ассемблер:)

8
ответ дан Statement 28 November 2019 в 06:31
поделиться

Ассемблер всегда стоит изучить. Вам, вероятно, не преподают или видящей, как компилятор поворачивает код высокоуровневого языка к ассемблерному коду, но я сказал бы, что знание является самым важным преимуществом знания ассемблера. Это успокаивается, насколько неэффективный много компиляторов находятся даже на самом высоком уровне оптимизации. (Большинство компиляторов выведет ассемблерный код для Вас по запросу, вместо того, чтобы перейти к машинному коду и соединению.)

Однако MIPS asm, вероятно, бесполезен, потому что почти никто не использует MIPS теперь. (SGI привыкла для, но теперь их машины - все на x86/IA-64 микросхемах.), Если Вы находите обращение ассемблера и хотите работать в блоке далее, изучить систему команд ARM. ARM только немного более сложен, чем MIPS, и фактически все мобильные телефоны, смартфоны, и PDAs теперь используют микросхемы ARM (сделанный десятками производителей). IPod использует ARM, как делает (я думаю), Zune.

3
ответ дан Michael Ratanapintha 28 November 2019 в 06:31
поделиться

Миллион операций в секунду, кажется, возвращается во встроенных системах. [sk] дал лучшую сводку, чем я, но у меня есть недавний пример:

Broadcom, кажется, делает карты Wi-Fi в эти дни или с MIPS или с микросхемами ARM на них (я не уверен, какой tho, документация говорит один, встроенное микропрограммное обеспечение говорит другой). Однако на их более новых микросхемах мы все еще ждем на рабочей поддержке Linux со всеми активированными опциями, так по этой причине, я рад, что Вы учитесь. (Теперь получите и запишите мне некоторые драйверы: P)

2
ответ дан Kent Fredric 28 November 2019 в 06:31
поделиться

MIPS is a great language to learn assembly with. You have plenty of general purpose registers to make writing your programs less tedious and it is a RISC architecture so there are less instructions you need to memorize.

Some of the mainstream usage that not a lot of people mention is that the N64, Playstation 1, Playstation 2 and PSP all used MIPS processors.

4
ответ дан 28 November 2019 в 06:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: