Ciao a tutti.
In università sto seguendo il corso di ''Fondamenti di Architettura dei calcolatori".
Il problema è che però non è un gran bel corso, fatto abbastanza male secondo me.
Per fortuna c'è il libro di testo in cui riuscire ad andare a prendere le cose non chiare.
Oltre a questo però, c'è anche un interesse personale che mi spinge a capirci un po' meglio , anche andando oltre le lezioni universitarie.
Nonostante questo però ci sono delle cose estremamente DI BASE che non mi sono chiarissime e che sia sul libro sia durante il corso vengono un po' tralasciate.
In particolare:
1) Cosa cambia effettivamente tra un sistema ad esempio a 16 bit ed uno a 32 bit ?
Voglio dire, ok, ci hanno solo detto che lo spazio di indirizzamento è maggiore in quanto 2^32 è più grande di 2^16 quindi possibilità di utilizzare una memoria più grande ecc...ok.. ma non credo sia solo questo.
Cos'altro c'è?
Architettura dei calcolatori
Moderatore:
Paolino
15 messaggi
• Pagina 1 di 2 • 1, 2
0
voti
La differenza tra architettura a 8, 16, 32 e 64 bit sta nell'ampiezza dei registri della cpu e quindi nel modo in cui viene allocata la RAM, dire che la differenza sia nello spazio di indirizzamento è improprio, quella è una conseguenza ed un limite che ad esempio in Windows Server a 32bit è stato superato grazie ad in espediente (PAE) ed indirizza 64Gb di RAM
0
voti
E come può la dimensione dei registri, portare ad un cosi grande incremento delle prestazioni?
Visita il mio sito : http://www.raffotech.altervista.org
0
voti
Non mi risulta questo grande salto prestazionale, teoricamente, applicazioni che fanno uso intensivo di grossi blocchi di memoria o calcolo in virgola mobile, potrebbero avvantaggiarsi dell'architettura a 64bit ma all'atto pratico molti test ad es. su windows 7 32/64 bit hanno dimostrato addirittura che il 32 bit nella maggior parte delle applicazioni supera in velocità il 64bit. In questo caso la differenza di capacità della RAM è l'unica cosa che può portare incrementi prestazionali in applicazioni che possono avvantaggiarsi di una quantità maggiore di 4Gb come grossi database o computer grafica, perché oltretutto possono far uso di calcoli in virgola mobile a 64 bit.
Nella stragrande maggioranza delle applicazioni però un'architettura a 64 bit potrebbe essere, per alcuni motivi, anche controproducente.
Nella stragrande maggioranza delle applicazioni però un'architettura a 64 bit potrebbe essere, per alcuni motivi, anche controproducente.
0
voti
pierinter ha scritto:1) Cosa cambia effettivamente tra un sistema ad esempio a 16 bit ed uno a 32 bit ?
Per esempio se devi sommare due numeri interi lunghi 32 bit, sulla macchina a 16 bit devi farlo in due istruzioni (prima sommi la parte bassa, poi con il riporto risultante sommi la parte alta). Se devi anche spostare tutti i dati dalla memoria ai registri della CPU e viceversa, devi aggiungere altri 6 trasferimenti da e per la memoria (magari impliciti nelle istruzioni usate).
Se hai una macchina da 32 bit, per la somma basta una sola istruzione, più 3 eventuali spostamenti degli operandi da memoria a registri e del risultato da registro a memoria.
Quindi una macchina a 32 bit è sensibilmente più veloce se opera principalmente su dati a 32 bit. Se invece opera su dati a 16 o 8 bit, non c'è questo grande vantaggio (vengono sfruttati poco).
Nelle macchime con meno bit di solito i programmi compilati sono più corti, cioè il codice è più "denso", tra l'altro perché gli indirizzi da specificare sono più corti... ma ovviamente c'è meno memoria indirizzabile. Nei 32 bit si tenta di rendere il codice più denso "condensando" più istruzioni in una (almeno le sequenze più usate).

Big fan of ⋮ƎlectroYou! Ausili per disabili e anziani su ⋮ƎlectroYou
Caratteri utili: À È É Ì Ò Ó Ù α β γ δ ε η θ λ μ π ρ σ τ φ ω Ω º ª ² ³ √ ∛ ∜ ₀ ₁ ₂ ₃ ₄ ₅ ₆ ∃ ∄ ∆ ∈ ∉ ± ∓ ∾ ≃ ≈ ≠ ≤ ≥
Caratteri utili: À È É Ì Ò Ó Ù α β γ δ ε η θ λ μ π ρ σ τ φ ω Ω º ª ² ³ √ ∛ ∜ ₀ ₁ ₂ ₃ ₄ ₅ ₆ ∃ ∄ ∆ ∈ ∉ ± ∓ ∾ ≃ ≈ ≠ ≤ ≥
0
voti
Uno dei grandi vantaggi che un' architettura a 32 bit offre rispetto ad una a 8 o 16 bit, oltre che a quelli esposti in precedenza, è la possibilità di indirizzare direttamente una locazione di memoria dentro un range di 4GB.
In pratica il puntatore (o indirizzo) viene memorizzato o caricato in una sola istruzione invece che in due (nel caso di un 16 bit) o di 4 (nel caso di un 8 bit) ed occupa un unica locazione in RAM. A livello di velocità di esecuzione è un vantaggio enorme, sopratutto se consideriamo che i tagli di memoria di programma disponibili oggi e le applicazioni dei micro, molte volte superano i fatidici 64KB indirizzabili direttamente da un micro a 16 bit.
Alcuni processori come il Cortex-M3 ad esempio, hanno anche un' ottima gestione dei dati ad 8 e 16 bit che possono essere memorizzati non allineati nelle locazioni a 32 bit.
In pratica il puntatore (o indirizzo) viene memorizzato o caricato in una sola istruzione invece che in due (nel caso di un 16 bit) o di 4 (nel caso di un 8 bit) ed occupa un unica locazione in RAM. A livello di velocità di esecuzione è un vantaggio enorme, sopratutto se consideriamo che i tagli di memoria di programma disponibili oggi e le applicazioni dei micro, molte volte superano i fatidici 64KB indirizzabili direttamente da un micro a 16 bit.
Alcuni processori come il Cortex-M3 ad esempio, hanno anche un' ottima gestione dei dati ad 8 e 16 bit che possono essere memorizzati non allineati nelle locazioni a 32 bit.
"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
-

TardoFreak
73,9k 8 12 13 - -EY Legend-

- Messaggi: 15754
- Iscritto il: 16 dic 2009, 11:10
- Località: Torino - 3° pianeta del Sistema Solare
0
voti
Capito, quindi in sostanza la differenza la fanno la maggior capacità di indirizzamento e quindi maggior possibilità di espansione della memoria e poi l'incremento della velocità dovuto alla minore necessità di numero di istruzioni per fare una determinata cosa.
Visita il mio sito : http://www.raffotech.altervista.org
0
voti
Esatto! Big fan of ⋮ƎlectroYou! Ausili per disabili e anziani su ⋮ƎlectroYou
Caratteri utili: À È É Ì Ò Ó Ù α β γ δ ε η θ λ μ π ρ σ τ φ ω Ω º ª ² ³ √ ∛ ∜ ₀ ₁ ₂ ₃ ₄ ₅ ₆ ∃ ∄ ∆ ∈ ∉ ± ∓ ∾ ≃ ≈ ≠ ≤ ≥
Caratteri utili: À È É Ì Ò Ó Ù α β γ δ ε η θ λ μ π ρ σ τ φ ω Ω º ª ² ³ √ ∛ ∜ ₀ ₁ ₂ ₃ ₄ ₅ ₆ ∃ ∄ ∆ ∈ ∉ ± ∓ ∾ ≃ ≈ ≠ ≤ ≥
0
voti
Perfettamente chiaro ! Grazie.
Una cosa non mi è molto chiara :
Il 68000 è a 16 bit giusto ?
Il che significa, credevo, che una parola è fatta da 16 bit cioè 2 byte.
Allora perché ad esempio nello stack, mi sposto di 4 in 4 ?
Una cosa non mi è molto chiara :
Il 68000 è a 16 bit giusto ?
Il che significa, credevo, che una parola è fatta da 16 bit cioè 2 byte.
Allora perché ad esempio nello stack, mi sposto di 4 in 4 ?
Visita il mio sito : http://www.raffotech.altervista.org
15 messaggi
• Pagina 1 di 2 • 1, 2
Torna a Realizzazioni, interfacciamento e nozioni generali.
Chi c’è in linea
Visitano il forum: Nessuno e 7 ospiti

Elettrotecnica e non solo (admin)
Un gatto tra gli elettroni (IsidoroKZ)
Esperienza e simulazioni (g.schgor)
Moleskine di un idraulico (RenzoDF)
Il Blog di ElectroYou (webmaster)
Idee microcontrollate (TardoFreak)
PICcoli grandi PICMicro (Paolino)
Il blog elettrico di carloc (carloc)
DirtEYblooog (dirtydeeds)
Di tutto... un po' (jordan20)
AK47 (lillo)
Esperienze elettroniche (marco438)
Telecomunicazioni musicali (clavicordo)
Automazione ed Elettronica (gustavo)
Direttive per la sicurezza (ErnestoCappelletti)
EYnfo dall'Alaska (mir)
Apriamo il quadro! (attilio)
H7-25 (asdf)
Passione Elettrica (massimob)
Elettroni a spasso (guidob)
Bloguerra (guerra)




