[calcolatori elettronici] esercizio sulla memoria

Messaggioda userme » 01/08/2015, 19:16

Si consideri una macchina con parole di 32bit che segue lo schema little-endian.
Si suppoonga di immettere da tastiera dei caratteri che vengono memorizzzati a partire dalla posizione $\alpha$ ad un indirizzo di parola. Si richiede il contenuto delle posizioni di memoria dalla $\alpha$ alla posizione $\alpha+11$ dopo che è stata introdotta la stringa "La vispa teresa".

Qualcuno può spiegarmi come risolverlo?
Grazie.
userme
Starting Member
Starting Member
 
Messaggio: 1 di 6
Iscritto il: 01/08/2015, 14:35

Re: [calcolatori elettronici] esercizio sulla memoria

Messaggioda maseeeeeee » 01/08/2015, 20:47

Allora la maggior parte dei calcolatori moderni in particolare intel e amd gestiscono la memoria con una tipologia littleendian in particolare si tratta di mettere il byte meno significativo sulla sinistra tutto qui
Es 0xABCD > Big endian
0xCDAB > Little endian
Quindi adesso .... continua te
maseeeeeee
Starting Member
Starting Member
 
Messaggio: 3 di 14
Iscritto il: 01/08/2015, 17:42

Re: [calcolatori elettronici] esercizio sulla memoria

Messaggioda userme » 02/08/2015, 19:24

Fino li va bene...
il dubbio che ho è come convertire la stringa in binario.
Dopo la conversione basta mettere a 0 dal bit 0 al bit 11??? Perchè parli di Byte?
userme
Starting Member
Starting Member
 
Messaggio: 2 di 6
Iscritto il: 01/08/2015, 14:35

Re: [calcolatori elettronici] esercizio sulla memoria

Messaggioda apatriarca » 03/08/2015, 09:50

La descrizione dell'esercizio lascia molto a desiderare. Non viene chiarito quale sia la codifica usata per la stringa (suppongo ASCII), non viene chiarito quale sia la minima unità indirizzabile (suppongo il byte).. Si parla inoltre della dimensione delle parole e del fatto che sia little-endian ma questo è del tutto ininfluente sull'esercizio. Forse l'esercizio chiede di visualizzare la memoria come sequenza di interi a 32 bit?

@userme: La stringa è normalmente scritta come una sequenza di byte, ad ogni byte devi scrivere la codifica ASCII del carattere corrispondente.
apatriarca
Moderatore
Moderatore
 
Messaggio: 3917 di 10436
Iscritto il: 08/12/2008, 20:37
Località: Madrid

Re: [calcolatori elettronici] esercizio sulla memoria

Messaggioda maseeeeeee » 03/08/2015, 14:34

la minima unità indirizzabile è composta da un byte anche se normalmente per via dei puntatori gli indirizzi sono a 32 bit(4 byte), secondo me questo esercizio vuole vedere se hai capito la rappresentazione little-endian il problema sorge qui e che mi ero scordato la rappresentazioni endian valgono solo per i multi-byte e non per i byte!!!(quindi penso che tu usi unicode per i caratteri altrimenti non avrebbe senso)!!!!e la soluzione te lo detta!!se $ alpha $ fosse =0 e dovessi fare fino a $ alpha +3 $
pos->0=a
pos->1=s
pos->2=e
pos->3=r
adesso se li devi fare in bit(ma non capisco il perche visto che i vari endian gestiscono l'ordine dei byte) vedi nel codice ASCII quanto vale e hai risolto!!scusami ma se hai dubbi non ho capito l'esercizio
se conosci il C puoi scrivere una variabile intera e poi scorrerla con un *char facendo un for che va da 4 a 0 e stampando ogni volta ti accorgi proprio che la macchina lavora così:
guarda qui ->http://pil.phys.uniroma1.it/~labcalc/C-primer/endian.pdf
guarda qui ->www.dis.uniroma1.it/~sc

p.s il secondo link è dove ho studiato penso lì troverai altre cose che possano esserti utile (guarda 1 semestre) :smt023
fammi sapere
maseeeeeee
Starting Member
Starting Member
 
Messaggio: 6 di 14
Iscritto il: 01/08/2015, 17:42

Re: [calcolatori elettronici] esercizio sulla memoria

Messaggioda userme » 05/08/2015, 17:52

Insomma è così stupido che mi sono perso in un bicchier d'acqua...io ho pensato subito a dover convertire in bit e chissà cosa.
Invece era semplicemente per far vedere la differenza tra little e big endian...
Grazie mille per l'aiuto :)
userme
Starting Member
Starting Member
 
Messaggio: 3 di 6
Iscritto il: 01/08/2015, 14:35


Torna a Informatica

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite