Quali sono assemblatori, compilatori e simulatori?

August 25

Quali sono assemblatori, compilatori e simulatori?


Ci sono un paio di livelli di software tra utenti di computer e il computer stesso, e questo è vero anche - in misura minore - per il programmatore di computer. Il codice del computer che la maggior parte dei programmatori scrivere è collegato solo in modalità remota alle istruzioni che vengono elaborati dal computer. Questi livelli rendono il computer più facile da utilizzare.

macchina Lingua

Ogni computer è costruito per eseguire una sola lingua. Questo linguaggio è chiamato il linguaggio macchina per il computer. Il linguaggio è costituito da codici binari che raccontano il computer esattamente cosa fare. Tutti i programmi che vengono eseguiti sul computer costituiti da una sequenza di istruzioni in linguaggio macchina. Eseguendo questa sequenza di istruzioni crea il comportamento del computer. Le istruzioni sono costituiti da istruzioni hardware specifici, come lo spostamento dei dati dalla posizione di memoria X alla posizione di memoria Y, lo spostamento dei dati all'interno o all'esterno di uno specifico registro, aggiungendo i numeri che sono ora nei registri di ingresso vipera o sfogliare tutti i bit nel registro R1. L'esecuzione di istruzioni scritte in linguaggio macchina è l'unica cosa qualsiasi computer può fare.

assemblatori

La scrittura di codice in linguaggio macchina è estremamente noiosa, soggetta ad errori e difficile da debug. Tutto è stringhe di zero e uno. E 'impossibile dire a colpo d'occhio se 1111000100110101 è dati, un'istruzione o l'indirizzo di una locazione di memoria. Il primo livello di raffinatezza nella programmazione dei computer è stata l'invenzione del linguaggio assembly e assemblatori di software. programmi di linguaggio assembly hanno le stesse istruzioni del programma in linguaggio macchina, ma le istruzioni sono cose come e "MOVE", "ADD", che sono molto più facile per gli esseri umani da affrontare. Inoltre, gli indirizzi sono numeri decimali e registri sono indicati con nomi come R1, invece di 10001111. un programma chiamato un assemblatore traduce programmi scritti in linguaggio assembly nel programma equivalente in linguaggio macchina in modo che possa essere eseguito.

I compilatori

linguaggio Assembly è stato un enorme miglioramento rispetto a scrivere in linguaggio macchina. Il tempo supplementare ha preso il assemblatore per tradurre ciò che il programmatore ha scritto in linguaggio macchina è stata più che compensata dalle enormi risparmi nel tempo impiegato per scrivere il programma in un linguaggio più human-friendly. La soluzione non è perfetta. La gente - soprattutto quelli che non sono esperti di informatica - hanno voluto descrivere il problema da risolvere, invece di scomponendola in piccoli passi su come spostare le informazioni intorno a un computer. Il livello successivo nella gerarchia lingua era la lingua compilatore. Questi linguaggi permettono l'umano per descrivere quello che doveva essere fatto in termini noncomputer. Un programma chiamato compilatore traduce questi programmi di alto livello in linguaggio macchina. I compilatori sono molto più complicato di assemblatori.

Simulatori

Invece di costruire nuove macchine per eseguire i programmi scritti in nuovi linguaggi, simulatori software permettono una macchina da "simulato". Queste macchine virtuali sono accuratamente testati per l'esecuzione di programmi di benchmarking prima che vengano mai costruiti. I simulatori sono utilizzati anche per testare nuovi compilatori e linguaggi prima che siano mai stati scritti.