IA-32 — разлика између измена
Направљено превођењем странице „IA-32“ |
|||
Ред 60: | Ред 60: | ||
|} |
|} |
||
== |
== Види још == |
||
* [[:en:IA-64|IA-64]] |
* [[:en:IA-64|IA-64]] |
||
* Листа ранијих произвођача IA-32 компатибилних процесора |
* Листа ранијих произвођача IA-32 компатибилних процесора |
Верзија на датум 15. јун 2016. у 16:41
IA-32 (скраћено од "Интел Архитектура, 32-bit", такође познато и као i386[1][2] метонимијом)[3] је 32-bit верзија x86 архитектуре инструкцијског сета (ISA), која је први пут имплементирана 1985. године у Intel 80386 микропроцесорима. IA-32 је прва инкарнација x86 која подржава 32-bit рачунање,[4] што је резултирало тиме да се "IA-32" појам може користити као метонимија за све x86 верзије које подржавају 32-bit рачунање.[5][6]
IA-32 инструкцијски сет је уведен у Intel 80386 микропроцесоре 1985. године и до 2015. године је и даље подржаван од стране савремених PC микропроцесора. Иако је инструкцијски сет остао нетакнут, наредне генерације микропроцесора које га користе су постале много брже. У разним директивама програмских језика, IA-32 се и даље назива "i386" архитектура.
Интел је изумитељ и највећи добављач IA-32 процесора, а други по величини добављач је AMD. На неко време VIA, Трансмета и неки други произвођачи су такође правили IA-32 процесоре, али од 2000. године сви произвођачи су прешли на 64-bit варијанту x86, x86-64.
Карактеристике архитекруре
Дефинишуће карактеристике IA-32 су доступност 32-bit процесорских регистара за општу употребу (нпр. EAX и EBX), 32-bit integer аритметичке и логичке операције, 32-bit offset-ови у сегменту за време заштитног мода, и превођење сегментираних адреса у 32-bit линеарну адресу. Дизајнери су такође направили и још нека друга побољшања. Неке од важнијих промена су описане у тексту испод.
- 32-bit integer способност
- Сви регистри опште употребе (GPRs) су проширени са 16 бита на 32 бита, и све аритметичке и логичке операције, операције меморије ка регистру и регистра ка меморији итд, могу да раде директно на 32-bit integer-има. Операције Push и pop на стеку раде у 4-byte корацима, а несегментирани показивачи су широки 4 byte.
- Више општих модова адресирања
- Било који GPR може да се користи као основни регистар и било који GPR, осим ESP-а, може да се користи као индексни регистар у меморијској референци. Вредност индексног регистра се може помножити са 1, 2, 4, или 8 пре него што се дода на вредност основног регистра и на премештање.
- Додатни сегментни регистри
- Додата су још два сегментна регистра, FS и GS.
- Већи простор виртуелне адресе
- IA-32 архитектура дефинише 48-bit формат сегментиране адресе са 16-bit сегментним бројем и 32-bit offset-ом унутар сегмента. Сегментиране адресе су мапиране на 32-bit линеарну адресу.
- Paging на захтев
- 32-bit линеарне адресе су виртуелне адресе, а не физичке адресе. Оне се преводе у физичке адресе преко page табеле. У 80386, 80486 и оригиналним Pentium процесорима, физичка адреса је била 32 бита. У Pentium Pro и каснијим процесорима, Екстензија физичке адресе је дозвољавала 36-bit физичку адресу иако је линеарна адреса и даље била 32 бита.
Модови оперисања
Мод оперисања | Неопходан оперативни систем | Врста кода која се користи |
Уобичајена величина адресе |
Уобичајена величина операнда |
Типична ширина регистра |
---|---|---|---|---|---|
Заштитни мод | 32-bit оперативни систем или boot учитавач | 32-bit код са заштитним модом | 32 bits | 32 bits | 32 bits |
16-bit оперативни систем са заштитним модом или boot учитавач, или 32-bit boot учитавач | 16-bit код са заштитним модом | 16 bits | 16 bits | 16 или 32 bits | |
Виртуелни 8086 мод | 16- или 32-bit оперативни систем са заштитним модом | 16-bit код са стварним модом | 16 bits | 16 bits | 16 или 32 bits |
Стварни мод | 16-bit оперативни систем са стварним модом или boot учитавач, или 32-bit boot учитавач | 16-bit код са стварним модом | 16 bits | 16 bits | 16 или 32 bits |
Види још
- IA-64
- Листа ранијих произвођача IA-32 компатибилних процесора
Референце
- ^ "DITTO". Грешка код цитирања: Неисправна ознака
<ref>
; назив „Ditto” је дефинисано више пута с различитим садржајем - ^ "Additional Predefined Macros". intel.com. Грешка код цитирања: Неисправна ознака
<ref>
; назив „Intelli” је дефинисано више пута с различитим садржајем - ^ Kemp, Steve. Грешка код цитирања: Неисправна ознака
<ref>
; назив „Adm” је дефинисано више пута с различитим садржајем - ^ „Intel 64 and IA-32 Architectures Software Developer's Manual”. Intel Corporation. септембар 2014. стр. 31. „The Intel386 processor was the first 32-bit processor in the IA-32 architecture family. It introduced 32-bit registers for use both to hold operands and for addressing.”
- ^ Green, Ronald W. (5 May 2009). Грешка код цитирања: Неисправна ознака
<ref>
; назив „Generally so” је дефинисано више пута с различитим садржајем - ^ "Supported Hardware". Грешка код цитирања: Неисправна ознака
<ref>
; назив „Generally So - Ubuntu” је дефинисано више пута с различитим садржајем