|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Jul 2002
Messaggi: 2183
|
domande su architettura ia-32(e)
ciao
in questi giorni mi sto cimentando nella lettura dei manuali intel complice anche il mio inglese non certo perfetto non ho chiare molte cose fondamentali, ho provato a rileggere più volte ma non ne vengo a capo se riuscite a rispondermi mi chiarite molto la situazione e ve ne sono grato 1) physical address space e linear address space io innanzitutto vorrei capire cosa sono le due cose, se si riferiscono alla ram, alla ram + memoria virtuale o a che altro e perchè nell'ia32 è 2^36 la prima e 2^32 l'altra e nell'ia32e è a 2^64 e nel caso si riferisse alla ram (a che altro si dovrebbe riferire???) a che serve questo enorme aumento di memoria con i 64 bit se non esiste tanta ram in un'unica configurazione? 2) mi potete chiarire meglio cosa sono fisicamente i registri? delle memorie per memorizzare i dati in processo? 3) protected mode vs smm (ia32) la descrizione del protected mode mi fa pensare che gli os principali usino questa modalità però poi la descrizione dell'smm (che cmq dal nome stesso, system management mode, non sembrerebbe una cosa da usare normalmente ma solo in rari casi) che dice che implementa funzioni di power management e system security mi fa riflettere un os come windows o linux quale delle due usano? applicativi che girano sotto questi os possono cambiare questi due stati? 4) cap 2.2.2.2 che cavolo sono sti ùops??? ![]() 5) nell'hyper threading in pratica in ogni processore c'è una sola unità di esecuzione (quindi alu ed fpu, o no?) ma ci sono due set di registri per ogni tipo e si tratta solo di fare arrivare in modo più veloce i dati da elaborare alla execution engine, però alla fine la velocità di esecuzione è sempre quella perchè sempre uno è l'execution engine se mi ricordo qualche altra domanda che mi ero posto la aggiungo in seguito non ho mai studiato niente di architetture in modo serio (e si vede) quindi se ritenete le mie domande troppo stupide, beh fate come volete ![]() |
![]() |
![]() |
![]() |
#2 | |||||||
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
Il physical address space è la Ram massima fisicamente accessibile tramite le linee di indirizzo che escono dalla CPU (per le CPU non compatibili con i 64 bit si utilizzava una modalità molto complessa chiamata PAE per superare il limite dei 4Gb imposto dalle istruzioni a 32bit)... Quote:
Addirittura gli AMD mi sembra che abbiano un physical address space di 2^40 byte, cioè 1 TByte... Chiaramente in un PC desktop rarametne si va oltre 2 Gb...ma in futuro probabilmente avremo necessità di superare i 4 Gb ed a quel punto saremmo obbligati ad usare CPU a 64 bit... Chiaramente quando progettano una CPU sovradimensionano la capacità di indirizzamento, per questo hanno puntato a cifre così alte... Poi se ci pensi non sono affatto alte quelle Intel....pensa ad un sistema server: 4 CPU Xeon...16 slot dimm con 4 Gb ciascuno sono 64 Gb... Con AMD si può anche andare oltre: 8 CPU Opteron, 4 slot di memoria a processore, 32 slot dimm con 4 Gb ciascuno sono 128 Gb... Quote:
Ogni unità della CPU ha una serie di registri: ALU, FPU, SSE Poi fisicamente sono flip-flop...ed i flip-fop sono transistor MOS... Quote:
Quote:
Quote:
Ogni istruzione assembly è composta da micro-ops o micro-operazioni che identificano le varie operazioni che devono essere svolte delle unità della CPU per ottenere quella istruzione assembly... Quote:
Comunque ci sono TOT unità di calcolo... Per ottmizzare lutilizzo delle unità di calcolo (ad esempio solitamente un programma che fa uso di floating point raramente usa la ALU che risulterebbe inutilizzata) si vanno mescolare istruzioni di thread diversi (ogni thread ha uno stato interno della CPU indipendente dall'altro)... |
|||||||
![]() |
![]() |
![]() |
#3 | |||||||||
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
premettendo che non conosco l'architettura a 64 bit:
Quote:
un indirizzo fisico è un numero (da 32 bit) che identifica un byte nella RAM fisica; poi secondo me un indirizzo virtuale è un indirizzo che diventerà fisico dopo essere stato processato dai meccanismi di segmentazione e paging, mentre un indirizzo lineare dovrà subire solo il paging. Quote:
poi dell'architettura a 64 bit non ne so nulla... Quote:
Quote:
Quote:
Quote:
![]() a meno che essa non sia in grado di gestire l'eccezione ovviamente. Quote:
un microopcode è un numero binario in cui ciascun bit rappresenta lo stato di una linea di controllo della CPU; eseguire un microopcode per la CPU significa abilitare determinate vie di gating dall'unità di controllo in maniera tale da far passare le informazioni in determinato modo (ad es. da un certo registro ad un altro). in molte architetture i microopcodes contengono anche dei bit aggiuntivi che codificano i flag da controllare per effettuare un eventuale salto condizionato ad un altro microopcode. Quote:
![]() ![]() Quote:
ciao |
|||||||||
![]() |
![]() |
![]() |
#4 |
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
ma perché ultimamente vengo sempre preceduto?
![]() |
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Jul 2002
Messaggi: 2183
|
tnx per le risposte
![]() |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 12:42.