16 bites architektúra

A Wikipédiából, a szabad enciklopédiából

Ez a szócikk a számítógép-architektúráról szól. Lásd még: high color színmélység.

Bit
1 4 8 12 16 18 24 31 32 36 48 60 64 128 256 512
Alkalmazás
16 32 64
Lebegőpontos számítás pontossága
x1 x2 x4
Lebegőpontos számítás decimális pontossága
32 64 128

A számítógép-architektúrák területén 16 bites egészek, memóriacímek és más adategységek azok, melyek legfeljebb 16 biten (2 oktett) kifejezhetők, illetve ilyen szélesek. 16 bites mikroprocesszor-, illetve ALU-architektúrák továbbá azok, melyek ilyen méretű regisztereket, címsíneket és adatsíneket használnak. 16 bites érának nevezték a mikroszámítógépek (és videojátékok) azon generációját, melyekben a 16 bites mikroprocesszorok voltak a legelterjedtebbek.

Napjainkban a legtöbb ilyen rendszer és megoldás elavultnak számít, felváltották őket a 32 és 64 bites megoldások.

16 bites architektúra[szerkesztés | forrásszöveg szerkesztése]

16 bites processzor

A korai (c. 1966-1972) 16 bites számítógépek közé tartozott a HP 2100,[1] a Data General Nova,[2] a DEC PDP-11,[3] az IBM System/7,[4] és a HP 3000.[5] A korai (c. 1973-1975), még többcsipes, 16 bites mikroprocesszorok között található meg a National Semiconductor IMP-16 és a Western Digital MCP-1600. A korai (c. 1975-1976) egycsipes, 16 bites mikroprocesszorok közé soroljuk a National Semiconductor PACE-t, a HP BPC-t és a TI TMS9900-at. Az ismertebb 16 bites processzorok közé tartozott még az Intel 8086, az Intel 80286, a WDC 65C816 és a Zilog Z8000. Az Intel 8088 binárisan kompatibilis volt az Intel 8086-tal, regiszterei és műveletvégző képességei alapján is 16 bites volt, csak a külső buszszélessége korlátozódott 8 bitesre.

Egy 16 bites egész 216 (azaz 65 536) különböző értéket vehet föl. Előjel nélküli ábrázolás esetén ezek a számok a 0 és 65 535 közötti egészek; kettes komplemenst alkalmazva a lehetséges értékek −32 768 és 32 767 között vannak. Ebből következően a 16 bites memóriacímzésű processzor 64 KiB bájtcímzésű memóriát képes megcímezni.

A 16 bites processzorok gyakorlatilag teljesen kivesztek a személyi számítógépek területén, de beágyazott alkalmazásokban továbbra is használják őket. Például a 16 bites XAP processor sok ASIC alkotóeleme.

A 16/32 bites Motorola 68000 és Intel 386SX[szerkesztés | forrásszöveg szerkesztése]

A Motorola 68000-et néha „16 bitesnek” nevezik, mivel belső és külső adatbuszai 16 bit szélesek, más részről 32 bites processzornak tekinthető, hiszen általános célú regiszterei 32 bitesek és legtöbb aritmetikai utasítása is 32 bites volt. Az MC68000 mikrokód-alapú processzor volt, három belső 16 bites ALU egységgel. Az eredeti DIP-tokban csak 24 bit volt hozzáférhető a programszámlálóból, amivel legfeljebb 16 megabájt RAM címezhető. Ettől eltekintve az MC68000 szoftveresen 32 bites volt, és előre kompatibilis volt más 32 bites processzorokkal.[6] Az MC68008 a 68000-es 8 bit széles külső adatbusszal és 1 MB-os címezhető memóriával rendelkező változata volt. Számos Apple Macintosh-modell – köztük az LC-sorozat – használt 16 bites adatsínt a 32 bites MC68020 és MC68030 CPU-k mellé a költségek leszorítása érdekében.

Hasonló logika vonatkozik az Intel 80286 processzorát lecserélni hivatott 386SX-re, ami 32 bites ALU-val és belső adatsínekkel rendelkezett, de a 286-oshoz hasonlóan csak 16 bites külső adatsíne, valamint csak 24 címbitje volt.

A Sega Mega Drive-ban lévő 68000-es processzor a videojáték-platform kiemelten reklámozott funkciója volt. A mindent elárasztó reklámok miatt is tekintik a videojátékok 1988-1995 közötti időszakát a „16 bites korszaknak”.

16 bites memóriamodellek[szerkesztés | forrásszöveg szerkesztése]

Ahogy különböző adatmodellek léteznek a 64 bites architektúrákon, úgy a 16 bites Intel architektúra is több memóriamodellt – egy memóriacím elérésének módját – enged meg. Egy-egy memóriamodell használatának oka lehet az assembly utasítások mérete vagy a mutatók tárolásához szükséges terület. A 16 bites korszak fordítóprogramjai általában a következő típus-szélesség karakterisztikákat ismerték:

16 bites adatmodell
Adatmodell short int long Mutatók
IP16L32 (közeli) 16 16 32 16
I16LP32 (távoli) 16 16 32 32
Tiny (apró)
A kód és az adat ugyanabban a memóriaszegmensben található (különösen a CS,DS,ES,SS regiszterek ugyanarra a szegmensre mutatnak); kizárólag közeli (near) pointereket használnak. A programkód, a heap és a verem együttes mérete nem haladhatja meg a 64 K-t.
Small (kicsi)
A kód és az adat különböző szegmensbe kerül, de kizárólag közeli pointereket használnak. 64K tárterület jut külön a kódra és az adatokra+veremre.
Medium (közepes)
A kódszegmensen belül távoli (far) mutatókat alkalmaznak, ami 1 MB elérését teszi lehetővé. Az adatmutatók továbbra is közeliek.
Compact (kompakt)
Az adatszegmens távoli, a kódszegment közeli mutatókat használ.
Large/huge (nagy/hatalmas)
A kód- és az adatmutatók is távoliak.[7]

16 bites alkalmazás[szerkesztés | forrásszöveg szerkesztése]

Az IBM-kompatibilis PC és a Wintel platformok kontextusában 16 bites alkalmazás az a szoftver, ami eredetileg a 16 bites Intel 8088 és Intel 80286 processzorokon az MS-DOS, az OS/2 1.x vagy a Microsoft Windows operációs rendszer korai változatain futott. Az ilyen alkalmazások 20 vagy 24 bites szegmens- vagy szelektor-offset címkezeléssel terjesztették ki a 16 bites címteret. A 2^{16} bájtot (64 kilobájt) meghaladó utasítást és adatot tartalmazó programoknak így különleges utasításokkal kellett a 64 kilobájtos memóriaszegmensek között váltaniuk, ezzel növelve a 16 bites programok fejlesztésének bonyolultságát.

16 bites CPU-k listája[szerkesztés | forrásszöveg szerkesztése]

Kapcsolódó szócikkek[szerkesztés | forrásszöveg szerkesztése]

Jegyzetek[szerkesztés | forrásszöveg szerkesztése]