Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

32-bitine arvutiarhitektuur

Redaktsioon seisuga 29. jaanuar 2016, kell 22:32 kasutajalt Markhpedoson (arutelu | kaastöö) (32-bitise kasutus)

Arvuti arhitektuuris on 32-bitised täisarvud, mäluaadress või teised andmeüksused kuni 32 bitti laiad (4 oktetti). Samuti baseeruvad 32-bitised protsessorid ja ALU (Arithmetic logic unit) arhitektuurid sama suurtel registritel, aadressisiinidel ja andmesiinidel. Väljendit 32-bitine kasutatakse mikroarvutite generatsiooni kirjeldamiseks, milles kasutatakse 32-bitiseid mikroprotsessoreid.[1]

Täisarvude salvestamise piirangud

32-bitine register suudab endas hoida 232 erinevat väärtust. Täisarvuliste väärtuste jaotumine 32 biti sisse sõltub täisarvude esitusviisist. Kaks kõige levinumat esitusviisi on (märgita) kahendsüsteem, kus piirangud on 0 kuni 4,294,967,295(232-1) ja kahe täiend ehk -2,147,483,648(-231) kuni 2,147,483,648(231).

Tähtis tähelepanek 32-bitise mäluaadressi puhul on see, et see suudab otse ligi pääseda maksimaalselt 4 GiB adresseeritavale mälule (praktikas on see piir madalam). [2]

Ajalooline ja tehniline perspektiiv

Mälu, digitaalse elektroonika vooluringid ja juhtmestik olid kallid 32-bitiste arhitektuuride esimestel aastakümnenditel (1960ndad - 1980ndad). Vanematel 32-bitistel protsessorite perekondadel (lihtsamatel ja seetõttu ka odavamatel) võis olla palju kompromisse ja piiranguid, et kulusid vähendada. Selleks võis olla näiteks 16-bitine ALU või välised (ka sisemised) siinid, mis on kitsamad kui 32-bitti, piirates mälu suurust või nõudes rohkem tsüklikorduseid käsu kättesaamiseks, täitmiseks ja/või tagasi kirjutamiseks.

Sellest hoolimata nimetati neid protsessoreid "32-bitisteks", kuna neil olid endiselt 32-bitised registrid ja käsud, mis olid võimelised käsitsema 32-bitiseid suurusi. Näitena võib tuua 1970ndate Motorola 68000, mis oli 16-bitise baasdisainiga, aga selles olid 32-bitised registrid ja 32-bitine käskude komplekt. Selliselt disainitud süsteeme nimetati ka "16/32-bitisteks".[3][4]

Uuemate 32-bitiste disain ei ole enam niivõrd orienteeritud kulude vähendamisele. Näiteks Pentium Pro protsessor, mis on 32-bitine masin, kus väline aadressisiin on 36 bitti lai, andes suurema aadressiruumi kui 4 GB ning väline andmesiin on 64 bitti lai, peamiselt selleks, et tagada tõhusama käskude ja andmete eelhanke.[5]

Arhitektuur

Silmapaistvamad 32-bitised käsukomplekti arhitektuurid, mis on kasutusel üldise otstarve arvutustehnikates, hõlmavad IBM System/360 ja selle 32-bitiseid järeltulijaid, näiteks DEC VAX, NS320XX, Motorola 68000 perekond, Intel IA-32 32-bitine version x86 arhitektuurist ja 32-bitised versioonid ARM, SPARC, MIPS, POWERPC ja PA-RISC arhitektuuridest. 32-bitised käsukomplektide arhitektuurid, mis on kasutusel manusandmetöötlustes, hõlmavad 68000 perekonda ning ColdFire, x86, ARM, MIPS, PowerPC ja Infineon TriCore arhitektuure.[6] [7]

32-bitise kasutus

x86 arhitektuuris tähendab 32-bitine rakendus tarkvara, mis üldjuhul (kuid mitte alati) kasutab 32-bitist lineaarset aadressiruumi (või lamedat mälumudelit), mis on võimalik 80386 ja hilisemate kiipidega. Antud kontekstis tekkis termin, kuna DOS-i, Microsofti Windowsi ja OS/2[8] olid algselt kirjutatud 8088/8086 ja/või 80286 jaoks, 16-bitised mikroprotsessorid, millel olid segmentides aadressiruumid, kus programmid pidid üle minema ühelt segmendilt teisele, et saavutada üle 64 kilobaidi koodi ja/või andmeid. Kuna see on väga aeganõudev võrreldes teiste operatsioonidega, võib sellest kannatada jõudlus. Enamgi veel, programmeerimine segmentidega kipub muutuma vägagi keeruliseks; spetsiaalseid far ja near võtmesõnu ning mälumudeleid tuli kasutada ettevaatlikult, mitte ainult assemblerkeeles, vaid ka kõrg-taseme keeltes nagu Pascal, kompileeritud BASIC, Fortran, C jne.

80386 ja selle järeltulijad toetavad täielikult 16-bitiste segmentidega 80286-t, aga ka 32-bitiseid aadressinihkeid (kasutades uusi 32-bitise laiusega põhi registreid). Kui põhiaadress kõikidel 32-bitistel segmentidel muuta 0-ks ja segmentide registreid ei kasutata otse, siis segmentatsioon võib ununeda ja protsessor hakkab näima olevat tavalise lineaarse 32-bitilise aadressiruumiga. Operatsioonisüsteemid nagu Windows või OS/2 hoolitsevad selle eest, et oleks võimaliks kasutada nii 16-bitiseid (segmenteeritud) programme kui ka 32-bitiseid programme. Eelnev võimalus eksisteerib vaid tagasiühilduvuseks ning seda kasutatakse uue tarkvara arendamiseks.[4]

Pildid

Digitaalsete piltide ja fotode korral tähistab 32-bitti RGBA värviruumi - 24-bitiste värvidega pildid, millel on 8-bitised alfa-kanalid. 8 bitti eraldi igale värvile: punane, roheline, sinine ja läbipaistev; kokku 32 bitti piksleid. Mõned harva kasutatavad pildiformaadid vajavad 32 bitti iga piksli jaoks, näiteks RGBE pildiformaat.[7]

Digitaalsete piltide korral võivad 32 bitti viidata ülisuure ulatusega pildiformaatidele, mis kasutavad 32 bitti iga kanali jaoks- kokku 96 bitti piksli jaoks. Pildid, kus kanal kasutab 32 bitti, on mõeldud esindama väärtusi, mis on heledamad kui valge; neid väärtusi saab sel juhul kasutada, et täpsemini säilitada heledaid piirkondi siis, kui vähendada pildil olevat valgust või kui seda on näha läbi tumeda filtri või tuhmi peegelduse.

Näide selle kohta oleks peegeldus õliloigust; kuigi on näha vaid osake peegeldusest võrreldes peegli pinnaga, on heledate valguste peegeldused nähtavad säravate valgete aladena ja mitte tuhmide hallide kujudena.

Viited

  1. "32-bit". computerhope.com. Vaadatud 29. jaanuar 2015.
  2. "What Is The Difference Between 32-bit & 64-bit Windows?, Karl L. Gechlik, makeuseof.com, 23. veebruar 2010". Vaadatud 29. jaanuar 2015.
  3. A History of Modern 64-bit Computing, Matthew Kerner, Neil Padgett, veebruar 2007
  4. 4,0 4,1 Benj Edwards (29. jaanuar 2016). "Birth of a Standard: The Intel 8086 Microprocessor".
  5. Gwennap, Linley (16. veebruar 1995). "Intel's P6 Uses Decoupled Superscalar Design" (PDF). https://en.wikipedia.org/wiki/Microprocessor_Report. Vaadatud 3. detsember 2012. {{cite journal}}: viitemall journal nõuab parameetrit |journal= (juhend); välislink kohas |publisher= (juhend)
  6. "What do IA-32, Intel® 64 and IA-64 Architecture mean?". Intel. Vaadatud 29. jaanuar 2015.
  7. 7,0 7,1 "Intel IA-32 Architecture" (PDF). 29. jaanuar 2016.
  8. 80286 jaoks oli ka UNIX variante.

Antud artikli materjal on pärit https://en.wikipedia.org/wiki/Free_On-line_Dictionary_of_Computing enne 1. Novembrit 2008 https://en.wikipedia.org/wiki/GNU_Free_Documentation_License tingimustel.

Välislingid