Come posso iniziare a sviluppare per MIPS32 R2000 in Ubuntu?
Domanda
Ho un progetto urgente in cui dovrei implementare bignum. Ho solo esperienza di lavoro in IA-32, tutto il consiglio di base sarebbe utile.
Soluzione
Se non si dispone di hardware per imparare l'architettura su, forse SPIM può aiutare.
Altri suggerimenti
mi piacerebbe scrivere in C
o C++
e utilizzare il compilatore di generare codice assembly. È possibile cercare le cose per risolvere (se non è un compilatore stellare), e lungo la strada, si apprenderà come le opere in linguaggio assembly, le caratteristiche della CPU, ecc.
In primo luogo, non farlo. Invece, utilizzare una libreria esistente, come ad esempio GMP . riferimenti Wikipedia un intero elenco di tali librerie, con le varie licenze. Alcuni sono anche rilasciato sotto dominio pubblico.
Ora, supponiamo che non è possibile tollerare utilizzando una libreria esistente per qualche motivo. Quindi il mio consiglio è: farlo in C. MIPS32 è un RISC come l'architettura progettato per rendere la compilazione efficiente. Dal momento che i compilatori C non sono perfetti, alcuni guadagno di performance può essere raggiunto facendo assemblaggio manuale, ma non è un grande guadagno (come regola generale, si aspettano una velocità + 30% per il montaggio ottimizzato rispetto al ottimizzato C - e uno sviluppo terribilmente più grande costo, anche).
Detto questo, si potrebbe voler sapere che cosa un MIPS32 può fare, in modo da poter meglio ottimizzare il codice sorgente C, e controllare quello che il compilatore produce, per decidere se si sta facendo bene o no. Una fonte bene è la "MIPS32® Architecture per i programmatori" che può essere scaricato da questa pagina . Hai voglia di avere uno sguardo a volumi I e II.