IA-32 -Wikipedia


Versione a 32 bit dell’architettura x86

IA-32 (Corto per “Architettura Intel, 32 bit“, comunemente chiamato i386(1)(2))(3) è il 32 bit versione del x86 architettura del set di istruzioniprogettato da Intel e implementato per la prima volta in 80386 microprocessore nel 1985. IA-32 è la prima incarnazione di x86 che supporta l’elaborazione a 32 bit;(4) di conseguenza, il termine “IA-32” può essere utilizzato come a metonimia per fare riferimento a tutte le versioni x86 che supportano l’elaborazione a 32 bit.(5)(6)

All’interno di vari linguaggio di programmazione direttive, IA-32 viene ancora talvolta chiamata architettura “i386”. In alcuni altri contesti, alcune iterazioni dell’ISA IA-32 sono talvolta etichettate i486, i586 E i686facendo riferimento alle istruzioni superset offerto dal 80486IL P5 e il Microarchitetture P6 rispettivamente. Questi aggiornamenti hanno offerto numerose aggiunte insieme al set base IA-32 incluso capacità in virgola mobile e il Estensioni MMX.

Intel è stata storicamente il più grande produttore di processori IA-32, essendo stato il secondo fornitore più grande AMD. Durante gli anni ’90, ATTRAVERSO, Transmeta e altri produttori di chip hanno prodotto anche processori compatibili con IA-32 (ad es WinChip). Nell’era moderna, Intel produceva ancora processori IA-32 con il marchio Intel Quark microcontrollore piattaforma fino al 2019; tuttavia, a partire dagli anni 2000, la maggior parte dei produttori (inclusa Intel) è passata quasi esclusivamente all’implementazione di CPU basate sulla variante a 64 bit di x86, x86-64. x86-64, per specifica, offre modalità operative legacy che operano sull’ISA IA-32 per compatibilità con le versioni precedenti. Anche data la prevalenza contemporanea di x86-64, a partire dal 2023vengono ancora mantenute le versioni in modalità protetta IA-32 di molti sistemi operativi moderni, ad es Microsoft Windows (Fino a Windows 10; finestre11 richiede x86-64-processore compatibile per le versioni x86),(7) Windows Server (Fino a WindowsServer2008; WindowsServer2008R2 richiede x86-64-processore compatibile per le versioni x86)(8) e il Debian Linux distribuzione.(9) Nonostante il nome IA-32 (e causando potenziale confusione), l’evoluzione a 64 bit di x86 originata da AMD non sarebbe conosciuta come “IA-64”, quel nome invece appartiene a Architettura Itanium di Intel.

Caratteristiche architettoniche(modificare)

La principale caratteristica distintiva di IA-32 è la disponibilità di 32 bit per uso generale registri del processore (ad esempio, EAX ed EBX), 32 bit numero intero operazioni aritmetiche e logiche, offset a 32 bit all’interno di un segmento in modalità protettae la traduzione di indirizzi segmentati in indirizzi lineari a 32 bit. I progettisti hanno colto l’occasione per apportare anche altri miglioramenti. Alcuni dei cambiamenti più significativi (rispetto al formato 16-bit 286 set di istruzioni) sono:

Capacità di numeri interi a 32 bit
Tutto registri di uso generale (GPR) sono stati ampliati da 16 bit a 32 bit, e tutte le operazioni aritmetiche e logiche, le operazioni da memoria a registro e da registro a memoria, ecc., possono operare direttamente su numeri interi a 32 bit. Spinge e scoppia sul pila per impostazione predefinita, passi da 4 byte e non segmentati puntatori sono larghi 4 byte.
Modalità di indirizzamento più generali
Qualsiasi GPR può essere utilizzato come registro di base e qualsiasi GPR diverso da ESP può essere utilizzato come registro indice, in un riferimento di memoria. Il valore del registro indice può essere moltiplicato per 1, 2, 4 o 8 prima di essere aggiunto al valore del registro base e allo spostamento.
Registri di segmento aggiuntivi
Vengono forniti due registri di segmento aggiuntivi, FS e GS.
Spazio di indirizzi virtuali più ampio
L’architettura IA-32 definisce un formato di indirizzo segmentato a 48 bit, con un numero di segmento di 16 bit e un offset di 32 bit all’interno del segmento. Gli indirizzi segmentati vengono mappati su indirizzi lineari a 32 bit.
Cercapersone su richiesta
Gli indirizzi lineari a 32 bit sono indirizzi virtuali anziché fisici; vengono tradotti in indirizzi fisici tramite a tabella delle pagine. Nell’80386, 80486e il Pentium originale processori, l’indirizzo fisico era di 32 bit; nel Pentium Pro e processori successivi, il Estensione dell’indirizzo fisico consentiva indirizzi fisici a 36 bit, sebbene la dimensione dell’indirizzo lineare fosse ancora di 32 bit.

Modalità operative(modificare)

Modalità operativa Sistema operativo necessario Tipo di codice in esecuzione Dimensione indirizzo predefinita Dimensione predefinita dell’operando Tipico GPR larghezza
Modalità protetta Sistema operativo a 32 bit o boot loader Codice in modalità protetta a 32 bit 32 bit 32 bit 32 bit
Sistema operativo o boot loader in modalità protetta a 16 bit oppure boot loader a 32 bit Codice in modalità protetta a 16 bit 16 bit 16 bit 16 o 32 bit
Modalità 8086 virtuale Sistema operativo in modalità protetta a 16 o 32 bit Codice in modalità reale a 16 bit 16 bit 16 bit 16 o 32 bit
Modalità reale Sistema operativo o boot loader in modalità reale a 16 bit oppure boot loader a 32 bit Codice in modalità reale a 16 bit 16 bit 16 bit 16 o 32 bit
Modalità irreale Sistema operativo o boot loader in modalità reale a 16 bit oppure boot loader a 32 bit Codice in modalità reale a 16 bit 32 bit 16 bit 16 o 32 bit

Guarda anche(modificare)

Riferimenti(modificare)

  1. ^ “idem(1) Pagina del manuale di Mac OS X”. Manuale dei comandi generali BSD. Mela. 19 dicembre 2008 Archiviato da l’originale il 2 giugno 2012. Estratto 3 agosto 2013. I file binari universali sottili per l’architettura specificata (…) devono essere specificati come “i386”, “x86_64”, ecc.
  2. ^ “Macro predefinite aggiuntive”. software.intel.com. Intel. Archiviato dall’originale il 15 febbraio 2021. Estratto 25 novembre 2020.
  3. ^ Kemp, Steve. “Esecuzione di applicazioni a 32 bit su Debian GNU/Linux a 64 bit”. Amministrazione Debian. Archiviato da l’originale il 16 settembre 2013. Estratto 31 agosto 2013.
  4. ^ “Manuale per gli sviluppatori di software delle architetture Intel 64 e IA-32”. Intel Corporation. Settembre 2014. pag. 31. Archiviato dall’originale il 26 gennaio 2012. Estratto 19 dicembre 2014. Il processore Intel386 è stato il primo processore a 32 bit della famiglia di architettura IA-32. Ha introdotto registri a 32 bit da utilizzare sia per contenere operandi che per indirizzamento.
  5. ^ Verde, Ronald W. (5 maggio 2009). “Cosa significano le architetture IA-32, Intel 64 e IA-64?”. software.intel.com. Intel. Archiviato dall’originale il 19 dicembre 2014. Estratto 19 dicembre 2014.
  6. ^ “Hardware supportato”. Aiuto Ubuntu. Canonico. Archiviato da l’originale il 19 dicembre 2014. Estratto 31 agosto 2013.
  7. ^ “Requisiti di sistema e specifiche di Windows 10 | Microsoft”. www.microsoft.com. Archiviato dall’originale il 1 maggio 2018. Estratto 20 agosto 2018.
  8. ^ Scott M. Fulton, III (16 maggio 2007). “Windows Server 2008 ‘L’ultimo sistema operativo a 32 bit’. BetaNews.
  9. ^ “Debian GNU/Linux su macchine x86”. Archiviato dall’originale il 28 aprile 2019. Estratto 20 agosto 2020.




Source link

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Torna in alto