View Full Version : puntatori e cpu
salve..
due domande :D
cosa sono i puntatori di memoria?
differenza tra una cpu vettoriale e una scalare? (si dice cosi? )
:D:D:D
ti posso parlare di C/C++(linguaggi che amo e che conosco) dicendoti che un puntatore è un indirizzo di memoria.
se tu scrivi il codice di un programma,il puntatore è uno strumento che permette di allocare memoria ove ospitare dati senza doverti preoccupare troppo di allocare direttamente lo spazio.
permette di fare anche tante altre cose,ma a livello molto basilare credo che basti sapere ciò.
Ciao, premetto che è da un pò che non tocco questa roba quindi fin d'ora mi scuso per l'imprecisione, cmq da quello che ricordo, un puntatore dovrebbe essere un indirizzo di memoria (mentre ad es. posso avere varibili di tipo intero, float, char ecc ecc ecc volendo posso usare anche il typedef se non ricordo male, un puntatore può essere visto come una variabile che contiene un indirizzo di memoria e quindi punterà ad una locazione di memoria), sempre se non ricordo male esistono anche vari tipi di indirizzamento quali diretto, indiretto, immediato ecc ecc (ognuno ovviamente ha una sua utilità). Credo che chiedendo nella sezione programmazione potresti ottenere molte info a riguardo (o anche sfogliando un qualsiasi libro di programmazione).
Per quanto riguarda i processori vettoriali, il loro studio va inquadrato (sempre se non ricordo male) nell'ambito delle architetture di computer paralleli, ovviamente il parallelismo nasce per soddisfare certe esigenze ecc ecc ecc..... può essere introdotto a diversi livelli, a livello istruzione, ad es., si possono usare pipelining e\o architetture superscalari ecc ecc ecc...... probabilmente saprai che si è cercato di catalogare i computer paralleli, finora non si è ancora riusciti ad avere una precisione assoluta per via di alcuni fattori, ma finora la distinzione più significativa tra i vari computer paralleli è stata proposta da Flynn (o qualcosa di simile :p ) la quale si basa su sequenze di istruzioni e sequenze di dati (ognuna andrebbe definita a dovere); cmq secondo questa classificazione esistono 4 grandi classi di processori paralleli quella che dovrebbe contenere i supercomputer vettoriali dovrebbe essere nota con il nome di SIMD (single instruction stream multiple data stream), poi qui il discorso si infittisce parecchio :p ed è meglio non andare oltre anche perchè avrei almeno bisogno di rileggere qualche pagina di qualche libro :p , cmq la cosa importante (sempre se non vado errato) è che un processore vettoriale è basato su una architettura di tipo parallelo. Spero di essere stato abbastanza chiaro e di non aver detto troppe castronerie :p , questo più o meno è quello che ricordo, bye :)
^TiGeRShArK^
12-05-2005, 13:48
i puntatori sono delle variabili in cui è memorizzato un indirizzo di memoria.
Prima dell'A64 avevano dimensioni pari a 32 bit, ora hanno dimensioni maggiori x permettere di indirizzare quantitativi di memoria superiori ai 4 GB.
Non ricordo se la loro dimensione è sempre fissa a 64 bit e c'è una limitazione nel processore intorno ai 48 bit oppure se la loro dimensione è fissata a 48 (o giù di lì) bit.
X quanto riguarda i processori vettoriali la loro peculiarità è di riuscire a processare più dati con una singola istruzione (SIMD) o di eseguire più istruzioni in una volta ke processino + dati (MIMD).
Queste arkitetture sn ovviamente utilizzate nei supercomputer x l'elevata parallelizzabilità di molti algoritmi di calcolo scientifici(calcolo matriciale, risoluzione di sistemi, metodo dei momenti)
ti posso parlare di C/C++(linguaggi che amo e che conosco) dicendoti che un puntatore è un indirizzo di memoria.
se tu scrivi il codice di un programma,il puntatore è uno strumento che permette di allocare memoria ove ospitare dati senza doverti preoccupare troppo di allocare direttamente lo spazio.
permette di fare anche tante altre cose,ma a livello molto basilare credo che basti sapere ciò.
azz invece di fare "quote" ho fatto "segnala"
mi scuso con i moderatori :D
dicevo grazie a tutti per aver risposto...
mi piacerebbe capire bene sta storia dei puntatori e la differenza tra una cpu vettoriale e una scalare
inoltre mi piacerebbe imparare il C (visto che li conosci) mi sapresti dare qualche dritta su come cominciare? premesso che sono a zero cioe non conosco nulla riguardo la programmazione :D
il puntatore è esattamente ciò che è stat odetto,praticamente è un'indirizzo di memoria sia nei linguaggi di programmazione che a livello hardware.
diciamo che se mi dai la mail ti mando una scheda riassuntiva nmolto semplcie di quelle che ho reperito in facoltà all'uni e con le spiegazioni sopra date capirai benissimo.
sostanzialmente un processore contiene un "puntatore"fisico,nel senso che vi è "parte del circuito" che seleziona un indirizzo di memoria,o meglio che lo "indica".il processore a livello molto basilare-semplificato,lo possiamo vedere come oggetto che esegue fetching(cioè lettura istruzioni)ed esecuzione.al termine di una esecuzione indirizza in memoria dove trovare l'istruzione successiva.
in realtà è molto + compelsso,sopratutto con cpu moderne,ma già questo da un'idea di base.
per il fatto di vettoriale o scalare,se non erro,è la capacità di indirizzare per parole(stringhe di bit)o per un certo valore.
sostanzialmente è l'indirizzare un numero o una serie di numeri.
ripeto che non ricordo benissimo,qindi se ho sbagliato spero che i ragazzi mi correggeranno.
per il C/C++ l'ho studiato all'uni,le consocenze in seguito al corso erano estremamente basilari ,cmq abbastanza per approfondire in seguito.
se ti interessa studiare anche da solo è fattibilissimo,anzi si impara ne + ne meno,perchè poi è l'esperienza ad insegnare realmente a programmare.
prima di tutto procurati un manuale,per iniziare no nti consiglio di comprarne,ma vai in biblioteca e qualcosa lo trovi,di solito i libri hanno parte teorica + esercizi con soluzioni,inizialmente sono molto basilari,giusto per capire la logica del linguaggio.
per gradi si va avanti,se poi conosci qualcuno che può darti qualche dritta imparerai sempre +.
il puntatore è esattamente ciò che è stat odetto,praticamente è un'indirizzo di memoria sia nei linguaggi di programmazione che a livello hardware.
diciamo che se mi dai la mail ti mando una scheda riassuntiva nmolto semplcie di quelle che ho reperito in facoltà all'uni e con le spiegazioni sopra date capirai benissimo.
sostanzialmente un processore contiene un "puntatore"fisico,nel senso che vi è "parte del circuito" che seleziona un indirizzo di memoria,o meglio che lo "indica".il processore a livello molto basilare-semplificato,lo possiamo vedere come oggetto che esegue fetching(cioè lettura istruzioni)ed esecuzione.al termine di una esecuzione indirizza in memoria dove trovare l'istruzione successiva.
in realtà è molto + compelsso,sopratutto con cpu moderne,ma già questo da un'idea di base.
per il fatto di vettoriale o scalare,se non erro,è la capacità di indirizzare per parole(stringhe di bit)o per un certo valore.
sostanzialmente è l'indirizzare un numero o una serie di numeri.
ripeto che non ricordo benissimo,qindi se ho sbagliato spero che i ragazzi mi correggeranno.
per il C/C++ l'ho studiato all'uni,le consocenze in seguito al corso erano estremamente basilari ,cmq abbastanza per approfondire in seguito.
se ti interessa studiare anche da solo è fattibilissimo,anzi si impara ne + ne meno,perchè poi è l'esperienza ad insegnare realmente a programmare.
prima di tutto procurati un manuale,per iniziare no nti consiglio di comprarne,ma vai in biblioteca e qualcosa lo trovi,di solito i libri hanno parte teorica + esercizi con soluzioni,inizialmente sono molto basilari,giusto per capire la logica del linguaggio.
per gradi si va avanti,se poi conosci qualcuno che può darti qualche dritta imparerai sempre +.
ok ti mando un privato con la mail ti ringrazio di tutto :D
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.