martedì 12 febbraio 2008

AIUTO, MI STA SCAPPANDO IL COMPUTER DA SOTTO IL MONITOR (2)

Riprendendo il discorso del post precedente, abbiamo visto come, alla fine, ogni linguaggio di programmazione diverso: BASIC, C, JAVA, PASCAL.... traduca le istruzioni che gli diamo in istruzioni direttamente eseguibili dal processore, cosiddette istruzioni in linguaggio macchina. Alla fine sono queste che vengono eseguite direttamente dal processore e noi concentreremo la nostra attenzione su queste. Le istruzioni in Linguaggio Macchina (LM) sono contenute nella memoria del computer. La memoria del computer è formata da tanti bytes (per esempio una memoria di un gigabyte significa che ha un circa miliardo di bytes! Giga vuol dire moltiplicare per un miliardo). Ogni byte di memoria può contenere un numero da 0 a 255. Ed ogni byte di memoria è identificabile (o indirizzabile) con un numero dal processore. Quindi abbiamo tanti numeri da 0 a 255, che sono i bytes, contenuti in tante locazioni di memoria le quali sono numerate da 0 a ..... non lo so nemmeno io. Il processore conserva in un registro detto IP (puntatore di istruzione) l'indirizzo di memoria della prossima istruzione da eseguire. Il processore legge questo byte in questo indirizzo di memoria e conseguentemente sa che istruzione eseguire e sa anche quanti bytes successivi in memoria deve leggere per avere tutti i dati necessari all'istruzione (ogni istruzione è lunga qualche bytes, poche unità). Poi viene incrementato il registro IP di quelle poche unità in modo che esso punti all'istruzione immediatamente successiva. Particolarmente importanti sono le istruzioni di salto, le quali forniscono al registro IP un indirizzo totalmente nuovo e quindi il processore incomincia ad eseguire delle istruzioni anche totalmente distanti dalla zona di memoria allora in uso, ma molto utilmente potrebbe essere rimandato indietro per eseguire delle istruzioni in modo ciclico. E poi, ancora più importanti, fondamentali, sono le istruzioni di salto condizionato. Cioè l'esecuzione delle istruzioni salta a un certo indirizzo però solo se sono verificate certe condizioni, per esempio: salta all'indirizzo X se il registro A è uguale a zero (altrimenti prosegui normalmente a eseguire le istruzioni in sequenza). Come le istruzioni LM anche i dati sono conservati nella memoria. Per esempio una immagine occuperà una certa porzione di memoria a seconda della grandezza dell'immagine (siamo sulle centinaia di migliaia di bytes). Il processore può operare sull'immagine e fare le operazioni che vuole sull'immagine, basta specificare gli indirizzi di memoria opportuni dell'immagine negli operandi delle istruzioni LM, ossia nei bytes che seguono immediatamente il primo byte di ogni istruzione (o i primi due).

Nessun commento:

Post più popolari