Как я могу начать разработку для mips32 r2000 в Ubuntu? - PullRequest
1 голос
/ 10 ноября 2010

У меня есть срочный проект, в котором я должен реализовать bignum. У меня есть только опыт работы в IA-32, любой базовый совет будет полезен.

Ответы [ 3 ]

1 голос
/ 10 ноября 2010

Если у вас нет аппаратного обеспечения для изучения архитектуры, возможно, SPIM может помочь.

0 голосов
/ 11 ноября 2010

Во-первых, не делай этого. Вместо этого используйте существующую библиотеку, такую ​​как GMP . Википедия ссылается на полный список таких библиотек с различными лицензиями. Некоторые даже выпущены в открытом доступе.

Теперь давайте предположим, что по какой-то причине вы не можете терпеть использование существующей библиотеки. Тогда мой совет: сделайте это на C. MIPS32 - это RISC-подобная архитектура, разработанная для обеспечения эффективности компиляции. Поскольку компиляторы C не идеальны, некоторый прирост производительности может быть достигнут с помощью ручной сборки, но не большой прирост (как правило, ожидайте + 30% скорости для оптимизированной сборки по сравнению с оптимизированной C - и значительно большую разработку стоимость тоже).

При этом вы, возможно, захотите узнать, что может делать MIPS32, чтобы вы могли лучше оптимизировать исходный код на C и проверить, что создает компилятор, чтобы решить, правильно ли вы это делаете или нет. Хорошим источником является «Архитектура MIPS32® для программистов», которую можно загрузить с на этой странице . Вы захотите взглянуть на тома I и II.

0 голосов
/ 10 ноября 2010

Я бы написал это в C или C++ и использовал бы компилятор для генерации кода сборки. Вы можете искать вещи, которые нужно исправить (если это не звездный компилятор), и попутно узнаете, как работает язык ассемблера, особенности процессора и т. Д.

...