In termini di set di istruzioni e semplicità di emulazione. Vorrei implementare una CPU virtuale e ho capito perché non emulare uno esistente, in modo da essere in grado di compilare il codice C ad esso.Qual è la CPU più piccola e più semplice che GCC può compilare?
risposta
Moxie è un grande obiettivo perché è stato progettato specificamente per essere un obiettivo ideale per GCC. Sono l'autore e sarei felice di rispondere a qualsiasi domanda. green at moxielogic dot com
Esiste documentazione di riferimento sull'architettura e sul set di istruzioni? –
Cosa c'è a http://moxielogic.org/wiki ... anche se mi ci vorrà un po 'per annullare il danno dai vandali della wiki. Torna presto. –
Grazie, sembra esattamente qualcosa che avevo in mente. –
Forse l'AVR ATTiny45 o un chip AVR simile.
Forse qualcosa della serie Ti MSP430.
ZPU (un processore a 32 bit con destinazione FPGA) è molto piccolo.
Questa probabilmente non è una domanda insolita; Mi auguro che la maggior parte dei toolkit di simulazione di CPU/macchina includa una semplice implementazione di esempio, ma alcuni non lo fanno.
Non ho lavorato con esso, ma Knuth's MMIX architecture (wikipedia) sembra interessante. Come Moxie, è stato creato per "illustrare aspetti a livello macchina della programmazione" ed è più semplice delle macchine reali. È supportato da GCC e sembrano esserci più simulatori esistenti che potrebbero essere utilizzati come riferimento nei vostri sforzi.
- 1. può compilare gcc cross per diverse CPU?
- 2. Qual è la più semplice implementazione RTTI per C++?
- 3. La più piccola differenza tra 2 angoli
- 4. Come compilare più file .c e .h in gcc linux?
- 5. Qual è la più piccola richiesta di dati http e https
- 6. Partizione FAT32 più piccola
- 7. Piccola perdita CPU Haskell
- 8. Qual è la più piccola dimensione del file jpeg valida (in byte)
- 9. Visualizzazione modale iPhone Più piccola è la schermata
- 10. Come compilare javadoc dalle fonti nel modo più semplice?
- 11. Qual è il modo più semplice per spiegare Che cos'è Hadoop e Mappa/Riduci?
- 12. R da C - Helloworld più semplice
- 13. Qual è il datepicker più pulito e più semplice da utilizzare in Django?
- 14. Qual è il cloud più semplice per contenuto Web statico
- 15. Qual è la differenza tra make e gcc?
- 16. Qual è l'applicazione di ricerca di siti più semplice da implementare, che supporta la ricerca fuzzy?
- 17. Qual è il "modo più semplice" che depreca la necessità di zip Data.Conduit.Util?
- 18. Trova la più piccola serie di lavori sovrapposti
- 19. C#: qual è il modo più semplice per sottrarre tempo?
- 20. WinForms: qual è l'approccio più semplice per mantenere alcuni dati?
- 21. Qual è la lingua più semplice per sviluppare linea di comando/GUI semplice per Linux?
- 22. Qual è il modo più semplice per mantenere oggetti java?
- 23. ruby 1.9 - qual è l'inverso più semplice di `string.codepoints.to_a`?
- 24. Scatola rettangolare più piccola che circonda un poliedro
- 25. eseguire test in modo più semplice senza compilare/creare
- 26. Qual è il framework WSGI più semplice/leggero?
- 27. Qual è il numero più grande che la classe decimale può gestire?
- 28. Qual è la più semplice espressione regolare per convalidare le e-mail per non accettarle ciecamente?
- 29. Qual è lo strumento migliore e più semplice per testare le app Android?
- 30. Qual è il modo più semplice per combinare più raccolte in uno stream in Java?
Un altro percorso è la ricerca di backend per architetture di set di istruzioni singole: https://stackoverflow.com/questions/3711443/minimal-instruction-set-to-solve-any-problem-with-a-computer-program Persone sembra aver fatto un backend clang per subleq: https://stackoverflow.com/questions/3711443/minimal-instruction-set-to-solve-any-problem-with-a-computer-program/38523869#38523869 –