32位元應用程式
维基百科,自由的百科全书
| 微處理器 | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 4位元 | 8位元 | 12位元 | 16位元 | 18位元 | 24位元 | 31位元 | 32位元 | 36位元 | 48位元 | 64位元 | 128位元 | ||||
| 應用程式 | |||||||||||||||
| 16位元 | 32位元 | 64位元 | |||||||||||||
| 資料大小 | |||||||||||||||
| 4-bit | 8-bit | 16-bit | 32-bit | 64-bit | 128-bit | ||||||||||
| nibble | octet / byte | word | dword | qword | DQWord | ||||||||||
32位元應用程式是指那些在 32位元平面位址空間(平面記憶體模式)的軟體。
32位元應用程式這個名詞的出現,是由於原先為 Intel 8088 和 Intel 80286 微處理器所撰寫的 DOS 和微軟Windows。這些是16位元的區段位址空間定址的微處理器。擁有大於 64KB 的程式和資料因此必須要經常地在不同區段間切換。相對於其他的機器運作,這些操作是相當的耗時,因此應用程式的效能可能變得較差。再者,使用到區段的程式設計比起平面記憶體空間的方式,會導致某些程式語言上的複雜性,像是C語言和C++語言的“記憶體模式”。
在 IBM 相容系統上,從16位元軟體轉移到32位元軟體,隨著 Intel 80386 微處理器的推出而變成可能。這個微處理器和他的後代支援16位元和32位元節區的區段記憶體空間(更精確地說,是有16或32位元位址偏移量的區段)。如果全部的32位元區段的基底位址都設定為0,那麼區段暫存器就不用明確地使用,這些區段可以被遺忘掉,處理器就像是擁有一個簡單的線性32位元位址空間。然而為了相容性的因素,大多數軟體仍以16位元模式撰寫。
像是 Windows 或是 OS/2作業系統提供了也讓16位元(區段的)程式可以像32位元程式執行的可能性。前者16位元的相容性之所以存在是因為要提供向前相容性,而後者32位元是用來作為新的軟體發者使用。